diff --git a/.gitattributes b/.gitattributes
index a6344aac8c09253b3b630fb776ae94478aa0275b..d7e23687df4ace544c9390d221cac33394edbab0 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -33,3 +33,8 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text
*tfevents* filter=lfs diff=lfs merge=lfs -text
+AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/all_in_one.png filter=lfs diff=lfs merge=lfs -text
+AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/aria2/lin/aria2 filter=lfs diff=lfs merge=lfs -text
+AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/aria2/win/aria2.exe filter=lfs diff=lfs merge=lfs -text
+AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/weighting-colours.png filter=lfs diff=lfs merge=lfs -text
+AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/weighting-us-population.png filter=lfs diff=lfs merge=lfs -text
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/.github/ISSUE_TEMPLATE/simple-issue-template.md b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/.github/ISSUE_TEMPLATE/simple-issue-template.md
new file mode 100644
index 0000000000000000000000000000000000000000..82fb14ed9f2ef9ebc6f6bba8cb8217d07a7454d7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/.github/ISSUE_TEMPLATE/simple-issue-template.md
@@ -0,0 +1,20 @@
+---
+name: Simple Issue template
+about: Describe this issue template's purpose here.
+title: ''
+labels: ''
+assignees: ''
+
+---
+
+## Have you read document?
+
+## Have you checked console log window's msg?
+
+## Describe Issue
+
+
+## Screenshot for UI issue
+
+
+## Console log's msg or screenshot for function issue
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/.gitignore b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..88e0fd7f7075b7d7e5d567a497db384b9ce49a3d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/.gitignore
@@ -0,0 +1,4 @@
+scripts/__pycache__/
+scripts/ch_lib/__pycache__/
+setting.json
+**/*.kate-swp
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/CHANGELOG.md b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/CHANGELOG.md
new file mode 100644
index 0000000000000000000000000000000000000000..d27eeb238b159eadece7356c25bc2c558e2f256f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/CHANGELOG.md
@@ -0,0 +1,148 @@
+# Change Log
+## 1.7.7
+* Implemented authentication via API Key.
+ * This allows the user to download models that require authentication.
+
+## 1.7.6
+* Downloader rewrite:
+ * Downloading models will now show download progress in webui.
+ * Download errors will now be displayed in webui, with more detailed information still in console output.
+* The current model filename will now be included when renaming models.
+* Extension should now at least run in [Vladmandic's stable diffusion webui](https://github.com/vladmandic/automatic) thanks to [#32](https://github.com/zixaphir/Stable-Diffusion-Webui-Civitai-Helper/pull/32).
+ * I do not run Vladmandic and have not personally tested functionality. Users who would like to address issues with Vladmandic compatibility may send a [Pull Request](https://github.com/zixaphir/Stable-Diffusion-Webui-Civitai-Helper/pulls).
+
+## 1.7.5
+* Missing image generation info in civitai.info files can now be retrieved from civitai by downloading the image and parsing its EXIF data. Most people should not need this, but it can be helpful if you're trying to recreate an image or more like it from the model's preview page. This will only work if the model author left metadata in the image.
+* Added some compatibility code for the Lobe theme extension
+* Reduce timeout errors, retry failed downloads.
+* Added an option to use sd webui's SHA256 hashing function instead of our own.
+
+## 1.7.4
+* Added "Remove Model" button. From butaixianran's repo.
+* Added "Rename Model" button.
+* New `.json` files will now have their descriptions surrounded by HTML comments as to not break model cards when card descriptions are enabled. If you want to display these descriptions on cards, you can remove the leading ``, but you will be responsible for any issues that arise.
+* Card buttons can now be hidden individually. By default, the "insert trigger words" button is hidden on newer versions of sdwebui, where this functionality happens automatically if the metadata `JSON` exists, which is created when models are scanned with default settings.
+* Model names on cards now have a maximum height when not hovered, which should prevent the model name from occupying the whole card.
+* Fix downloading size check issue. From butaixianran's repo.
+* NSFW previews can now be blocked by severity, from Soft, Mature, X, and Allow All. From sdy623's repo. These don't seem to be documented on Civitai's end, but here's what I've been able to gather by pinging the API and seeing what images were returned.
+ * Soft images do not appear to contain explicit nudity, but may have implicitly suggestive elements or clothing that outline the underlying body closely enough that details underneath poke out or have their silhoutte visible.
+ * Mature images may contain nudity, but could just as easily show a little too much cleavage or are otherwise actively sexually suggestive.
+ * X are explicitly pornographic.
+
+## v1.7.3
+* Downloading webui model information (`[model_name].json`) is now optional and can be configured in the webui settings.
+* When a model is not found on Civitai, this extension will attempt to read the model header for activation keywords. This only works with safetensors files with kohya_ss metadata and may be inaccurate depending on how the model was trained. This method assumes the model was trained with each trained concept having its own training folder. This is not always the case.
+ * This information can also be found in webui without any extensions by clicking the :information_source: button and reading the `"ss_tag_frequency":` section. This section may prove more helpful on models that are trained on multiple concepts but with all the training data under one directory. For instance, if it was trained for certain characters, search the list for that character's name. Often model authors will use a name plus a unique identifier as to not cause the character to "bleed into" other characters with the same name. For instance, we can the [All The Mothers](https://civitai.com/models/48200) lora has all of its trained characters as tagged images under one dataset:
+
+
+
+## v1.7.2
+* Better HTML sanitization/removal from Descrition/Note fields.
+* CivitAI Anti-DDOS false-positive delay lowered. This may be reverted if it causes issues, tho <5 API hits a second shouldn't be too bad.
+* CivitAI Anti-DDOS false-positive delay added to all models, not just embeddings, when performing model scans.
+ * However, delay has been removed when a scanned model does not need to perform an API hit to CivitAI.
+* Enabled functionality to re-download model data if the current data is from an older version of SD-Webui-Civitai-Helper.
+ * For many people, this will not be necessary. For those migrating from the original extension, missing data for WebUI is handled separately and will be downloaded on scan anyways.
+ * For more details, see the [wiki](https://github.com/zixaphir/Stable-Diffusion-Webui-Civitai-Helper/wiki/Metadata-Format-Changes).
+* **HOTFIX**: if a model has been deleted from Civitai, the `Replace Old Metadata Formats` option will no longer overwrite working data with dummy data.
+
+## v1.7.1
+* Settings are now in the settings menu.
+* Model previews following the name format `[model name].preview.[format]` in JPEG, GIF, and WEBP formats are now checked before downloading model previews from civitai.
+* HTML in the model description and version information should be removed and replaced more eloquently.
+* Improved layout of Model Update interface.
+* Added options for behaviors when downloading a model with the same filename as one already existing.
+ * The new default is to skip downloading, replacing the old default of renaming the new model.
+* **Post-release Hotfix**: fixed skeleton JSON generation for models not found on CivitAI.
+
+## v1.7.0
+* Added compatibility with Stable Diffusion WebUI v1.5.0-v1.6.0.
+* Downloading metadata from Civitai should now include more exhaustive data, including correct description and tags.
+* NSFW preview detection should be accurate.
+* Native and Extension LyCoris support should function.
+* Buttons added by this extension no longer require a separate button to add to UI.
+* Extension populates Stable Diffusion WebUI's new metadata editor with description, Checkpoint model version, version information, and activation prompt(s).
+ * This should allow simply clicking a card to add model activation prompts.
+* Model Download UI requires fewer clicks to download a model.
+
+## v1.6.4
+* Add "Download All files" checkbox for downloading model section. Uncheck means only download 1 file.
+
+## v1.6.3
+* Support downloading multiple files, not avaiable when checking new version.
+
+## v1.6.2.1
+* when parsing civitai url, remove query string by PR
+
+## v1.6.2
+* When downloading, re-name file if file already exists
+
+## v1.6.1.1
+* Support bilingual localization extension by PR
+
+## v1.6.1
+* Fix Localization issue for 4 addtional buttons on cards. (Forgot that again...)
+
+## v1.6.0
+* Fix some UI issues to work with gradio 3.23.0
+* Support Proxy when connecting to civitai. Check document for detail.
+* check realpath when opening file, to fix error when using junction
+* Fix multiple addtional buttons issue after switching tabs.
+
+## v1.5.7
+* Fix Localization issue for 4 addtional buttons on cards
+
+## v1.5.6
+* update error msg when can not connect to civitai API service
+* update thumb mode for SD webui new version's metadata button
+
+## v1.5.5
+* update SHA256 function, now it just use the code from pip
+
+## v1.5.4
+* set sys.stdout to utf-8
+* Add default header for requests to prevent from being blocked by civitai.
+* merge other v1.5.x change log to v1.5.4
+* When downloading a model by url, check if target model version is already existed in user selected sub-folder.
+* Support scanning only selected model types.
+* Force TI scanning delay 1 second to prevent from civitai treating this extension's requests as attacking.
+
+## v1.5.0
+* Download a model by Civitai model page's url
+* Resume downloading from break-point
+* Download new version into SD Webui's model folder
+* Addtional button now works on thumbnail mode
+* Option to always show addtion button, for touch screen.
+
+## v1.4.2
+* ignore .vae file in model folder when scanning
+
+## v1.4.1
+* When checking new versions, also searching and ignore already existed ones.
+* Add version number to the bottom of this extension's tab
+
+## v1.4
+* Support checking model's new version, display the result in UI and offer download url
+* Remove addintional sub tabs on extension tab. make ui simpler.
+
+## v1.3
+* Open url at client side
+* Link selected model to civitai by url or model id
+* Save and load extension setting to file
+* Show button action's output to UI
+* Code refactoring
+
+## v1.2.1
+* Add more error checking to work with different versions of SD webui.
+
+## v1.2
+* Support customer model folder
+* Support readable model info file
+* Support download preview image with max size
+* Remove card buttons when extra network is in thumbnail mode
+
+## v1.1
+* Support subfolders
+* Check if refresh is needed when clicking "Refresh Civitai Helper"
+* Add space when adding trigger words
+* Add memory Optimized sha256 as an option
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/README.cn.md b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/README.cn.md
new file mode 100644
index 0000000000000000000000000000000000000000..3e95f43d7d11009cb64ab1392ff8ece0fd5568eb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/README.cn.md
@@ -0,0 +1,251 @@
+# 这份文件已由ChatGPT从英语翻译而来。
+
+**[贡献者](https://github.com/zixaphir/Stable-Diffusion-Webui-Civitai-Helper/graphs/contributors)**
+
+##关于Civitai助手
+这个扩展提供了从Civitai下载模型和模型元数据的能力。您可以轻松获得托管在Civitai上的模型的激活关键词、模型描述、版本信息以及模型预览等数据,而无需离开稳定的扩散WebUI。
+
+##关于Civitai助手的这个版本
+这是我个人版本的Stable-Diffusion-Webui-Civitai-Helper。我完全是因为我使用的版本在SD-webui v1.5发布时崩溃了,我需要它能够正常工作,所以开始了这个项目。从那时起,我添加了我想要的功能,并尽力维护与较旧版本的sd-webui的兼容性,但我不使用较旧版本,因此不会在较旧版本上进行测试。
+
+我打算尽我所能使其保持正常运行,但这只是一个业余项目,我远没有其他更有经验的扩展开发者那么娴熟。我可能会长时间离开,如果失去兴趣甚至可能永远离开。我容易犯错,也可能会出现错误和漏洞。
+
+如果有更有兴趣的人决定接手开发,我将乐意放弃对这个项目的控制,并尝试将我的更改推送到他们的项目中,如果有需要的话。
+
+
+# Civitai Helper
+Stable Diffusion Webui 扩展Civitai助手,用于更轻松的管理和使用Civitai模型。
+
+[Civitai Url](https://civitai.com/models/16768/civitai-helper-sd-webui-civitai-extension)
+
+# 注意
+**本插件现在非常稳定,很多人用得很好,如果碰到问题,先看[常见问题](#常见问题),并检查命令行窗口的详情。**
+开issue前,请先看文档。找茬行为的用户将会被拉黑,参考:[找茬行为会被拉黑](https://github.com/butaixianran/Stable-Diffusion-Webui-Civitai-Helper/issues/96#issuecomment-1500310981)
+
+
+# 功能
+[中文介绍视频(非官方)](https://youtu.be/x4tPWPmeAgM?t=373)
+
+* 扫描所有模型,从Civitai下载模型信息和预览图
+* 通过civitai模型页面url,连接本地模型和civitai模型信息
+* 通过Civitai模型页面url,下载模型(含信息和预览图)到SD目录或子目录。
+* 下载支持断点续传
+* 批量检查本地模型,在civitai上的新版本
+* 直接下载新版本模型到SD模型目录内(含信息和预览图)
+* 修改了内置的"Extra Network"模型卡片,每个卡片增加了如下功能按钮:
+ - 🖼: 修改文字"replace preview"为这个图标
+ - 🌐: 在新标签页打开这个模型的Civitai页面
+ - 💡: 一键添加这个模型的触发词到关键词输入框
+ - 🏷: 一键使用这个模型预览图所使用的关键词
+* 以上额外功能按钮支持thumbnail模式
+* 增加一直显示按钮的选项,以供触屏用户使用
+
+
+# 安装
+下载本项目为zip文件,解压到`你的SD webui目录/extensions`下即可。
+
+不管是安装还是升级本插件,都要整个关闭SD Webui,重新启动它。只是Reload UI不起作用。
+
+(如果用SD webui的插件界面安装,请先给git配置代理。它不是通过浏览器下载,是通过git下载。)
+
+
+# 使用方法
+
+## 更新你的SD webui
+本扩展需要取到 Extra Network的卡片列表id。**这个是2023-02-06,才添加到SD webui里面的。**
+
+所以,如果你用的版本比这个早,你就需要先更新你的SD Webui!
+
+
+## 扫描模型
+前往扩展页面"Civitai Helper",有个按钮叫:"Scan Model"
+
+
+
+点击,就会扫描所有模型,生成SHA256码,用于从civitai获取模型信息和预览图。**扫描需要很久,耐心等待**。
+
+每个模型,本扩展都会创建一个json文件,用来保存从civitai得到的模型信息。这个文件会保存在模型同目录下,名称为:"模型名字.civitai.info"。
+
+
+
+如果模型信息文件已经存在,扫描时就会跳过这个模型。如果模型不是civitai的,就会创建个空信息文件,以避免以后重复扫描。
+
+### 添加新模型
+当你下载了新模型之后,只要再次点击扫描按钮即可。已经扫描过的文件不会重复扫描,会自动得到新模型的信息和预览图。无须重启SD webui。
+
+## 模型卡片
+**(先完成扫描,再使用卡片功能)**
+打开SD webui's 内置的 "Extra Network" 页面,显示模型卡片
+
+
+
+
+移动鼠标到模型卡片底部,就会显示4个按钮:
+ - 🖼: 修改文字"replace preview"为这个图标
+ - 🌐: 在新标签页打开这个模型的Civitai页面
+ - 💡: 一键添加这个模型的触发词到关键词输入框
+ - 🏷: 一键使用这个模型预览图所使用的关键词
+
+
+
+如果你没有看到这些额外的按钮,只要点击`Refresh Civitai Helper`,他们就会被重新添加到卡片上。
+
+
+
+每次当Extra Network刷新,他都会删除掉额外的修改,我们的按钮就会消失。这时你就需要点击`Refresh Civitai Helper`把这些功能添加回去。
+
+
+### 小图模式
+以上功能按钮支持小图模式,但受制于SD Webui的CSS问题,目前,只能要么一直显示,要么一直不显示,不能鼠标滑过才显示。
+
+
+## 下载
+**(单任务,下载完一个再下另一个)**
+通过Civitai模型页面Url下载模型,要3个步骤:
+* 填入url,点击按钮获取模型信息
+* 扩展会自动填入模型名称和类型,你需要选择下载的子目录和模型版本。
+* 点击下载
+
+
+下载过程会显示在命令行界面带个进度条。
+支持断点续传,无畏大文件。
+
+
+## 批量检查模型新版本
+你可以按照模型类型,批量检查你的本地模型,在civitai上的新版本。你可以选择多个模型类型。
+
+
+检查新版本的时候,每检查完一个模型,都会有一个1秒的延迟,所以速度有点慢。
+
+这是为了保护Civitai避免因为本插件而短暂陷入类似DDos的局面。有些云服务商,有类似“免费用户每秒API请求不能超过1次”的保护机制。Civitai还没有这种设置。但我们还是得自觉保护它。因为如果它挂了,对大家都没有好处。
+
+**检查完毕之后**,就会如下图,在UI上显示所有找到的新版本的信息。
+
+每个模型新版本,都有3个链接。
+* 第一个是这个模型的网页。
+* 第二个是这个新版本的下载地址。
+* 第三个是个按钮,在python端,直接下载新版本到模型目录内。
+这种方式下载,下载详情显示在"Download Model"的区域和命令行窗口中。一次一个任务,不支持多任务。
+
+
+
+
+## 根据URL获取模型信息
+如果无法在civitai上找到你的模型的SHA256,但你还是希望能把你的模型连接到一个civitai模型,你可以在本扩展页面,从列表中选择你的模型,并提供一个civitai模型页面的url。
+
+点击按钮之后,扩展就会下载那个civitai模型的信息,作为你这个本地模型的信息使用。
+
+
+
+## 代理
+**如果你是刚更新新版本,你需要重启SD webui再来使用**
+
+代理输入框在插件页面最下方。
+
+**每次填入或清除代理后,都要保存,并用SDwebui设置页面的Reload UI按钮刷新UI**
+
+然后所有发到civitai的请求就会用代理。
+
+有些sock5代理, 需要使用socks5h开头的形式"socks5h://xxxxx"才能生效。
+
+
+
+## 其他设置
+**保存设置按钮, 会保存扫描模型区域,以及其他设置 这两个区域的选项**
+
+* "一直显示按钮" 是为了方便触屏。
+* "小图模式显示功能按钮" 会开关功能按钮在小图模式的显示
+
+
+## 预览图
+Extra Network支持两种预览图命名:`model_name.png` 和 `model_name.preview.png`。其中,`model_name.png`优先级较高。
+
+当优先级较高的预览图不存在,他就会自动使用`model_name.preview.png`。
+
+这样,你自己创建的预览图 和 网络下载的预览图,能够同时存在,并优先使用你自己创建的。
+
+## 关键词
+卡片上,添加关键词按钮,是添加从civitai预览图中得到的关键词,而不是你自己创建的图片的关键词。
+
+civitai不是每个图片都有关键词,一个模型中,也不是所有预览图关键词都一样。所以这里是遍历所有civitai预览图信息,加载第一个有关键词的。
+
+
+## SHA256
+为了创建文件的SHA256,插件需要读取整个文件。对于大尺寸文件,就会很慢。
+
+有两种情况,这个SHA256无法从civitai找到对应模型:
+* 太老的模型,civitai没有存储SHA256.
+* 模型作者,静静的换掉了模型文件,但没有修改描述和版本。所以,虽然网页上看不出来,但实际上civitai上的 和你本地的模型文件,已经不是同一个文件了。
+
+这些情况下,你可以在插件上,通过提供模型页面的url,来获取模型信息文件。
+
+
+
+## 新特性
+从v1.5开始,v1.x不再接受任何新特性。所有新特性进入2.x。
+
+2.x专注于自定义模型信息,并可能改名为"Model Info Helper"。因为不再是专注Civitai了。
+
+从v1.5开始。v1.x进入维护阶段。
+
+
+Enjoy!
+
+
+## 常见问题
+### 4个卡片按钮不显示
+#### 汉化原因
+下载新版,最新版已经处理汉化导致的问题。**双语汉化插件需要v1.6.1.1之后的版本才开始支持。**
+
+#### 使用了云端汉化功能
+如果是秋叶启动器,就关闭启动器“云端汉化”功能。如果是专门的云端汉化插件,就换用普通汉化插件。
+
+#### 其他情况
+首先,确保你点过了"Refresh Civitai Helper"刷新按钮。
+
+然后,如果还有这个问题,那么唯一原因,是你没有使用最新版SD webui。
+
+如果你修改过SD webui的文件, 你的更新操作可能会失败。你需要检查git命令行的输出信息,来确定你更新成功了。
+
+git在很多时候,会拒绝升级,并告诉你有些冲突需要你手动先解决。如果你不看命令行输出,你就会以为你已经更新成功了,但其实并没有。
+
+
+### Request model info from civitai
+意思就是正在连接civitai,如果没有后面的信息,就是连不上,请挂代理。
+
+
+### 扫描或获取模型信息失败
+这个插件现在很稳定,所以,这个问题的原因,基本是是因为Civitai拒绝了你的连接请求。
+
+Civitai不像那些大网站那么稳定。他网站会挂,会拒绝API连接,还会把API请求转到真人验证页面,来挡住。
+
+Civitai还有连接池的设定。基本上,就是同时能允许的最大连接数。一旦达到这个数字,接下来的API连接请求,都会被拒绝。
+
+所以,这种时候你只能等一下再试。
+
+另外,对于国内用户,还有代理问题。现在国内都要用代理才能连上。
+
+
+### 扫描之后得到了错误的预览图和模型信息
+坏消息是,有些模型在civitai数据库中,保存的sha256完全是错的。查看下面的issue了解详情:
+[https://github.com/civitai/civitai/issues/426](https://github.com/civitai/civitai/issues/426)
+
+对于这种模型,那这个插件自然就无法获得正确的模型信息和预览图。
+
+这种情况下,请删除扫描得到的模型信息和预览图,在插件界面提供正确的模型url来获取。
+
+另外,civitai官方有个页面,专门用于回报带有错误sha256的模型:
+[https://discord.com/channels/1037799583784370196/1096271712959615100/1096271712959615100](https://discord.com/channels/1037799583784370196/1096271712959615100/1096271712959615100)
+
+请把这类模型反馈给civitai,好让他们进行修复。
+
+
+
+
+### 使用colab时扫描失败
+首先,在google中搜索你看到的错误信息。更有可能是,你碰到的是个colab的问题。
+
+然后,如果colab连接了google drive,会有一次性访问文件数量的限制,而导致扫描失败。这是google drive的限制,请自行google搜索了解详情。
+
+
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/README.jp.md b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/README.jp.md
new file mode 100644
index 0000000000000000000000000000000000000000..0029c1dad4ccdc3bdba5e582420f8cbecfa9e31e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/README.jp.md
@@ -0,0 +1,236 @@
+# この文書はChatGPTによって英語から翻訳されました。
+
+**[寄稿者](https://github.com/zixaphir/Stable-Diffusion-Webui-Civitai-Helper/graphs/contributors)**
+
+### Language
+[中文(ChatGPT)](README.cn.md)
+[English](README.md)
+[한국어(ChatGPT)](README.kr.md)
+
+## Civitai Helperについて
+
+この拡張機能は、Civitaiからモデルとモデルのメタデータをダウンロードできる機能を提供します。Civitaiにホストされているモデルのアクティベーションキーワード、モデルの説明、バージョン情報、モデルのプレビューなどのデータが、安定した拡散WebUIから離れることなく手に入ります。
+
+## このバージョンのCivitai Helperについて
+
+これは私の個人的なバージョンのStable-Diffusion-Webui-Civitai-Helperです。SD-webui v1.5がリリースされたとき、私が使用していたバージョンが壊れたため、完全に新たに始めました。それ以来、自分が必要とする機能を追加し、古いバージョンのsd-webuiとの互換性を維持するために最善の努力をしましたが、古いバージョンは使用しないため、古いバージョンでのテストは行いません。
+
+私はできる限りこれを動作させるつもりですが、これは単なる趣味のプロジェクトであり、他のより経験豊富な拡張機能開発者と比べてスキルが圧倒的に不足しています。私は長い間姿を消すことがあり、興味を失った場合は恐らく永遠になるかもしれません。私はエラーを起こしやすく、バグが予想されます。
+
+もしもっと興味を持った誰かが開発を引き継ぐことを決定した場合、喜んでこのプロジェクトの制御権を譲渡し、彼らのプロジェクトへの変更を希望される場合にはそれをサポートします。
+
+# お知らせ
+**この拡張機能は現在、非常に安定しています。もし問題があれば、コンソールログの詳細を確認し、[よくある質問](#よくある質問)を確認してください。**
+
+# Civitai Helper
+この拡張機能は、Civitaiのモデルをより簡単に扱えるようにするためのものです。
+
+Civitai: [Civitai Url](https://civitai.com/models/16768/civitai-helper-sd-webui-civitai-extension)
+
+# 機能
+* 全てのモデルをスキャンし、Civitaiからモデル情報とプレビューをダウンロード
+* CivitaiモデルページのURLを使って、ローカルモデルとCivitaiモデル情報を取得
+* CivitaiモデルページのURLから、モデル(情報とプレビューを含む)をSDディレクトリまたはサブディレクトリにダウンロードする。
+* ダウンロードは途中から再開可能
+* ローカルのモデルとCivitai上の新しいバージョンを一括でチェック
+* 新しいバージョンのモデルを直接モデルのディレクトリにダウンロード(情報とプレビュー画像を含む)
+* 内蔵の**Extra Network**モデルカードを変更し、各カードに以下の機能ボタンを追加しました。
+ - 🖼: `replace preview`のテキストをこのアイコンに変更
+ - 🌐: このモデルのCivitaiページを新しいタブで開く
+ - 💡: このモデルのトリガーワードをキーワード入力欄に一括で追加する
+ - 🏷: このモデルのプレビュー画像で使用されているキーワードを一括で使用する
+* 上記の追加機能ボタンは、サムネイルモードにも対応しています。
+* タッチスクリーンデバイス向けに、常に表示されるボタンのオプションを追加しました。
+
+
+# インストール
+SD webui's extensionタブから、`Install from url`のタブに移動。
+このリポジトリのURLをコピーペーストし、インストールする。
+
+または、このリポジトリをzipでダウンロードし、`./webui/extensions`へ展開してください。
+
+この拡張機能をインストール、またはアップデートするたびに、SD Webui再起動する必要があります。
+この拡張機能は、**UIを再読み込みする**だけでは動作しません。
+
+# 使い方
+
+## WebUIをアップデート
+この拡張機能は`network cards id`を取得する必要があります。この機能は**2023-02-06**に追加されました。
+**SD webuiがこれより前のバージョンである場合は、アップデートする必要があります!**
+
+## モデルのスキャン
+拡張機能タブからCivitai Helper へ。
+Scan model というボタンがあります。
+
+
+
+これをクリックすると、拡張機能がすべてのモデルをスキャンしてSHA256ハッシュを生成し、それを使ってCivitaiからモデル情報とプレビュー画像を取得します。
+**スキャンには時間がかかります。 終了までお待ちください。**
+
+各モデルに対して、Civitaiからすべてのモデル情報を保存するためのjsonファイルを作成します。このモデル情報ファイルは、modelsディレクトリ内の`Your_model_name.civitai.info`となります。
+
+
+
+モデル情報ファイルがすでに存在する場合は、スキップされます。Civitaiでモデルが見つからない場合、空のモデル情報ファイルを作成するので、モデルが2回スキャンされることはありません。
+
+### 新しいモデルを追加
+新規のモデルがある場合、もう一度スキャンボタンをクリックするだけで、新しいモデルの情報とプレビューを取得できます。同じモデルを2回スキャンすることはありません。
+
+## モデルカード
+**(スキャン終了後に使用)**
+SD webuiの`Extra Network`タブを開き、モデルカードを表示します。
+
+
+
+
+マウスをモデルカードの下部に移動すると、4つのボタンが表示されます。
+ - 🖼: プレビューを置き換えるためのテキストを`replace preview`からこのアイコンに変更します
+ - 🌐: このモデルのCivitaiページを新しいタブで開きます
+ - 💡: このモデルのトリガーワードをキーワード入力欄に一括追加します
+ - 🏷: このモデルのプレビュー画像に使用されているキーワードを一括で使用します
+
+
+
+これらのボタンが表示されない場合は、Refresh Civitai Helper をクリックすると、ボタンがカードに再追加されます。
+
+
+
+`Extra Network`が更新されるたびに、余分な変更が削除され、ボタンが消えてしまいます。その場合は、「Refresh Civitai Helper」をクリックして、これらの機能を再度追加する必要があります。
+
+
+### サムネイル
+これらのボタンは、サムネイルをサポートしていますが、SD WebuiのCSSの問題により、現在は常に表示か非表示かのどちらかに制限されています。マウスをスライドして表示することはできません。
+
+
+
+## ダウンロード
+**(タスクが一つ完了してから、次のタスクをダウンロードしてください)**
+CivitaiモデルページのURLを使用してモデルをダウンロードするには、3つのステップが必要です。
+1. URLを入力し、モデル情報を取得するためにボタンをクリック
+2. 拡張機能が自動的にモデル名とタイプを入力します。ダウンロードするサブディレクトリとモデルバージョンを選択
+3. ダウンロードをクリックします
+
+
+ダウンロード状況は、CLIに進行状況バーを表示します。
+断片的に再開することができ、大きなファイルをダウンロードする際にも心配する必要はありません。
+
+
+## 新しいモデルのバージョンを確認する
+モデルの種類に従って、ローカルのモデルを一括でCivitaiの新バージョンがないかをチェックすることができます。複数のモデルの種類を選択できます。
+
+
+これを押すと、各モデルをチェックするたびに1秒の遅延が発生するため、速度がやや遅くなります。
+
+これは、本拡張機能のユーザーの過失によるDDoSを回避し、Civitaiを保護するために行われます。
+一部のクラウドサービスプロバイダーには、「無料ユーザーのAPIリクエストは1秒あたり1回を超えてはいけない」というような保護があります。Civitaiにはまだこのような設定がありませんが、我々はそれを自衛しなければなりません。
+なぜなら、もしCivitaiがダウンした場合、誰にとっても良いことではないからです。
+
+チェックが完了すると、すべての新しいバージョンがUIに表示されます。
+
+各モデルの新しいバージョンには、3つのリンクがあります。
+* 最初のものは、このモデルのWebページです。
+* 2つ目は、この新しいバージョンのダウンロードアドレスです。
+* 3つ目は、Python(拡張機能)側で新しいバージョンをモデルディレクトリに直接ダウンロードするボタンです。
+この方法でダウンロードすると、ダウンロードの詳細が「Download Model」の領域とコマンドラインに表示されます。一度に1つのタスクしかサポートされていません。
+
+
+
+
+## URLからモデル情報を取得する
+Civitai上で自分のモデルのSHA256が見つからない場合でも、自分のモデルをCivitaiモデルに接続したい場合は、この拡張機能のページから、モデルをリストから選択し、CivitaiモデルページのURLを提供することができます。
+
+ボタンをクリックすると、拡張機能はCivitaiモデルの情報をダウンロードし、それをローカルモデルの情報として使用します。
+
+
+
+
+
+## その他の設定
+**設定保存ボタンを押すと、Scan Model の設定とその他の設定の両方が保存されます。**
+
+* Always Display Button は、タッチデバイスでの操作を容易にするためです。
+* Show Buttons on Thumb Mode は、小さな画像モードでの機能ボタンの表示を切り替えます。
+
+
+## プレビュー
+Extra Networkは、2つのプレビュー画像の命名をサポートしています:`model_name.png`と`model_name.preview.png`。
+デフォルトでは自動で`model_name.png`が優先的に使われます。
+
+優先度が高いプレビュー画像が存在しない場合は、自動的に`model_name.preview.png`が使用されます。
+
+これにより、自分で作成したプレビュー画像とネットからダウンロードしたプレビュー画像を同時に使用し、自分で作成したプレビュー画像を優先的に使用できます。
+
+## プロンプト
+カード上のUse prompt from preview image ボタンは、Civitaiプレビュー画像から取得したキーワードであり、自分で作成した画像のキーワードではありません。
+
+Civitaiにはすべての画像にキーワードがあるわけではなく、1つのモデルに含まれるすべてのプレビュー画像のキーワードが同じであるわけでもありません。したがって、ここではすべてのCivitaiプレビュー画像情報を走査し、最初にキーワードがあるものを読み込みます。
+
+
+## SHA256
+ファイルのSHA256を作成するために、はファイル全体を読み取る必要があります。大きなファイルの場合、処理が遅くなります。
+
+Civitaiで対応するモデルのSHA256が見つからない場合は、次の2つの場合が考えられます:
+* 古すぎるモデルには、SHA256が保存されていません。
+* モデルの作成者が静かにモデルファイルを変更しましたが、説明やバージョンを変更していないため、サイト上ではわかりませんが、実際にはCivitaiに保存されているモデルファイルとローカルのモデルファイルは異なるものとなっています。
+
+これらの場合は、拡張機能にモデルページのURLを提供することで、モデルの情報ファイルを取得できます。
+
+## Feature Request
+v1.5以降のv1.xには新機能はありません。すべての新機能は2.xに移行されます。
+2.xでは、カスタムモデル情報にフォーカスし、Civitaiだけではなく、`Model Info Helper`という名称に変更する可能性があります。
+v1.5からv1.xはメンテナンスのフェーズに入ります。
+
+お楽しみに!
+
+
+## よくある質問
+### 4つのカードボタンが表示されない
+#### ローカライズの問題
+新しいバージョンをダウンロードしてください。
+最新バージョンでは、ローカライズによる問題が解決されています。
+[バイリンガル拡張機能](https://github.com/journey-ad/sd-webui-bilingual-localization)は、v1.6.1.1以降のバージョンでサポートされるようになりました。
+
+#### クラウドサービスベースの翻訳機能を使用した
+クラウドサービスベースの翻訳機能を使用している場合は、通常のローカライズに変更してください。
+
+#### その他の場合
+まず、Refresh Civitai Helper をクリックして更新しましたか?
+
+それでもこの問題が発生する場合は、おそらく最新バージョンのSD webuiを使用していないためです。
+
+SD webuiのファイルを変更した場合、更新操作が失敗する可能性があります。更新が成功したかどうかを確認するには、gitコマンドラインの出力情報を確認する必要があります。
+
+gitは、多くの場合、アップグレードを拒否し、手動で解決する必要があるいくつかの競合状態を示します。コマンドライン出力を見ない場合、更新が成功したと思うかもしれませんが、実際には成功していません。
+
+
+### Request model info from civitai
+これはcivitaiに接続しています。情報がない場合は接続できないため、プロキシを使用してください。
+
+
+### スキャンまたはモデル情報の取得に失敗しました
+この拡張機能は現在非常に安定しているため、この問題の原因は基本的にはCivitaiが接続要求を拒否したためです。
+
+Civitaiは大きなウェブサイトとは異なり、安定していません。彼らのウェブサイトはダウンしたり、API接続を拒否したり、APIリクエストをCpatchaページに転送してブロックしたりすることがあります。
+
+Civitaiには接続プールの上限もあります。基本的に、同時に許可される最大接続数です。この数字に達すると、以降のAPI接続要求はすべて拒否されます。
+
+そのため、このような場合はしばらく待ってから再試行するしかありません。
+
+### civitaiから誤ったモデル情報とプレビュー画像を取得する(Translated by ChatGPT)
+悪いニュースですが、civitaiのデータベースには誤ったsha256で保存されたモデルがいくつかあります。詳細についてはこちらをご覧ください:
+[https://github.com/civitai/civitai/issues/426](https://github.com/civitai/civitai/issues/426)
+
+したがって、これらのモデルについては、この拡張機能では正しいモデル情報やプレビュー画像を取得できません。
+
+この場合、モデル情報ファイルを削除し、この拡張機能のタブページでcivitaiのURLから正しいモデル情報を取得する必要があります。
+
+また、誤ったsha256を持つこれらのモデルをcivitaiに報告することもできます。
+[https://discord.com/channels/1037799583784370196/1096271712959615100/1096271712959615100](https://discord.com/channels/1037799583784370196/1096271712959615100/1096271712959615100)
+
+civitaiにそのモデルを報告して修正してもらうようにしてください。
+
+
+### colabを使用した際にスキャンに失敗する
+まず、表示されたエラーメッセージをGoogleで検索してください。おそらくcolabの問題が発生している可能性があります。表示されたエラーメッセージを検索して、原因を特定してください。
+
+Google Driveに接続する際には、ファイルへのアクセス数に制限があるため、スキャンが失敗することがよくあります。これはGoogle Drive側の制限です。詳細についてはインターネットで[検索](https://google.com)してください。
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/README.kr.md b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/README.kr.md
new file mode 100644
index 0000000000000000000000000000000000000000..499bdf0c1adf79c723199d727e4a06a6e0e8e9ce
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/README.kr.md
@@ -0,0 +1,215 @@
+# 이 문서는 ChatGPT에 의해 영어로 번역되었습니다.
+
+**[기여자](https://github.com/zixaphir/Stable-Diffusion-Webui-Civitai-Helper/graphs/contributors)**
+
+## Civitai Helper 소개
+
+이 확장 프로그램은 Civitai에서 모델 및 모델 메타데이터를 다운로드하는 기능을 제공합니다. Civitai에서 호스팅되는 모델에 대한 활성화 키워드, 모델 설명, 버전 정보 및 모델 미리보기와 같은 데이터를 안정적인 확산 웹 사용자 인터페이스에서 벗어나지 않고도 손쉽게 얻을 수 있습니다.
+
+## 이 버전의 Civitai Helper에 대해
+
+이것은 Stable-Diffusion-Webui-Civitai-Helper의 개인 버전입니다. SD-webui v1.5가 출시될 때 사용하던 버전이 고장나서 필요한 경우에 완전히 시작했습니다. 그 이후로 원하는 기능을 추가했으며, 이전 버전의 sd-webui와의 호환성을 유지하기 위해 최선의 노력을 기울였지만, 이전 버전을 사용하지 않고 테스트하지 않기 때문에 이전 버전에서의 테스트는 하지 않습니다.
+
+가능한 한 오랫동안 이 작업을 계속할 계획이지만, 이것은 단순히 취미 프로젝트일 뿐이며, 다른 확장 프로그램 개발자들보다 경험이 풍부하지 않습니다. 때때로 오랜 기간 동안 사라질 가능성이 있으며, 흥미를 잃으면 아마 영원히 그렇게 될 것입니다. 오류를 범하기 쉽고 버그가 예상됩니다.
+
+더 관심 있는 사람이 개발을 진행하기로 결정하면, 이 프로젝트의 제어권을 기꺼이 양도하고 원하는 경우 그들의 프로젝트로 변경 사항을 밀어넣을 것을 시도할 것입니다.
+
+# 주의사항
+ **이 플러그인은 지금 매우 안정적이며 많은 사용자들이 잘 사용하고 있습니다. 문제가 발생하면, [자주 묻는 질문](#자주-묻는-질문)을 먼저 확인하고 명령 프롬프트 창의 세부 정보를 확인하세요.**
+
+
+# 기능
+* 모든 모델을 스캔하여 Civitai에서 모델 정보 및 미리보기 이미지 다운로드
+* Civitai 모델 페이지 URL을 통해 로컬 모델 및 Civitai 모델 정보 연결
+* Civitai 모델 페이지 URL을 통해 모델(정보 및 미리보기 이미지 포함) 다운로드하여 SD 디렉토리 또는 하위 디렉토리에 저장
+* 이어받기 지원 다운로드
+* 로컬 모델에서 Civitai에 새 버전이 있는지 일괄 확인
+* 새 버전 모델을 SD 모델 디렉토리에 직접 다운로드(정보 및 미리보기 이미지 포함)
+* "Extra Network" 모델 카드 내부를 수정하여 다음과 같은 기능 버튼을 추가:
+ - 🖼: "replace preview" 텍스트를 이 아이콘으로 변경
+ - 🌐: 해당 모델의 Civitai 페이지를 새 탭에서 열기
+ - 💡: 이 모델의 트리거 단어를 키워드 입력란에 일괄 추가
+ - 🏷: 이 모델 미리보기 이미지에 사용된 키워드 사용
+* 위의 추가 기능 버튼은 썸네일 모드를 지원합니다.
+* 터치 스크린 사용자를 위해 항상 표시되는 버튼 옵션 추가
+
+
+# 설치
+이 프로젝트를 zip 파일로 다운로드하고 SD webui 디렉토리/extensions에 압축 해제하면 됩니다.
+
+이 플러그인을 설치하거나 업그레이드하려면 SD Webui를 완전히 종료하고 다시 시작해야 합니다. UI 다시로드는 작동하지 않습니다.
+
+# 사용 방법
+
+## SD Webui 업데이트
+이 확장 기능은 Extra Network 카드 목록 ID를 가져와야 합니다. 이것은 2023-02-06에 SD Webui에 추가된 것입니다.
+
+따라서, 만약 사용 중인 버전이 이보다 이전 버전이라면, 먼저 SD Webui를 업데이트해야 합니다!
+
+
+## 모델 스캔
+확장 페이지 "Civitai Helper"로 이동하고 "Scan Model"이라는 버튼을 클릭합니다.
+
+
+
+클릭하면 모든 모델을 스캔하고 SHA256 코드를 생성하여 Civitai에서 모델 정보 및 미리보기 이미지를 가져옵니다. 스캔에는 시간이 걸리므로 인내심을 가지고 기다려주세요.
+
+이 확장 기능은 각 모델마다 Civitai에서 얻은 모델 정보를 저장하는 JSON 파일을 생성합니다. 이 파일은 모델이 있는 디렉토리에 "모델 이름.civitai.info"라는 이름으로 저장됩니다.
+
+
+
+모델 정보 파일이 이미 존재하는 경우 해당 모델은 스캔하지 않습니다. 모델이 Civitai가 아닌 경우 빈 정보 파일이 생성되어 나중에 중복 스캔을 피합니다.
+
+### 새 모델 추가
+새 모델을 다운로드한 후 스캔 버튼을 다시 클릭하면 됩니다. 이미 스캔된 파일은 다시 스캔하지 않으며 새 모델의 정보와 미리보기 이미지를 자동으로 얻을 수 있습니다. SD Webui를 다시 시작할 필요가 없습니다.
+
+## 모델 카드
+**(스캔을 완료한 후에 카드 기능을 사용하세요)**
+SD Webui의 내장 "Extra Network" 페이지를 열어 모델 카드를 표시합니다.
+
+
+
+
+마우스를 모델 카드 아래쪽으로 이동하면 4개의 버튼이 표시됩니다:
+ - 🖼: "replace preview" 텍스트를이 아이콘으로 변경
+ - 🌐:이 모델의 Civitai 페이지를 새 탭에서 엽니다.
+ - 💡:이 모델의 트리거 단어를 키워드 입력 상자에 추가합니다.
+ - 🏷:이 모델 미리보기에 사용되는 키워드를 사용합니다.
+
+
+
+이러한 추가 버튼이 표시되지 않으면 Refresh Civitai Helper를 클릭하여 다시 추가하십시오.
+
+
+
+Extra Network가 새로 고침될 때마다이 추가 수정이 제거되므로 버튼이 사라지면 Refresh Civitai Helper를 클릭하여 기능을 다시 추가해야합니다.
+
+
+### 작은 미리보기 모드
+이러한 기능 버튼은 작은 미리보기 모드를 지원하지만 SD Webui의 CSS 문제로 인해 현재 항상 표시하거나 항상 표시하지 않아야합니다.
+
+
+## 다운로드
+**(한 번에 하나씩, 하나를 다운로드하고 다른 것을 다운로드하세요)**
+Civitai 모델 페이지 URL을 통해 모델을 다운로드하려면 3 단계가 필요합니다:
+* URL을 입력하고 모델 정보를 가져 오는 버튼을 클릭합니다.
+* 확장 프로그램이 모델 이름과 유형을 자동으로 입력합니다. 다운로드 할 하위 디렉토리와 모델 버전을 선택해야합니다.
+* 다운로드를 클릭하십시오.
+
+
+다운로드 과정은 진행률 표시 줄이있는 명령 줄 인터페이스에서 표시됩니다.
+일시 중지 및 다시 시작을 지원하며 대용량 파일도 문제없이 처리합니다.
+
+
+## 일괄적으로 모델 새 버전 확인
+Civitai에서 새 버전을 확인하기 위해 로컬 모델을 모델 유형 별로 일괄적으로 확인할 수 있습니다. 여러 모델 유형을 선택할 수 있습니다.
+
+
+새 버전을 확인 할 때마다 모델이 모두 확인 될 때까지 1 초의 지연이 있으므로 속도가 다소 느립니다.
+
+이것은 Civitai가 이 플러그인으로 인해 일시적으로 DDos와 유사한 상황에 빠지지 않도록 보호하기 위한 것입니다. 일부 클라우드 서비스 제공 업체는 "무료 사용자의 초당 API 요청 수는 1 회를 초과 할 수 없다"는 보호 메커니즘이 있습니다. Civitai는 이러한 설정이 없습니다. 그러나 우리는 여전히 그것을 보호해야합니다. 왜냐하면 그것이 다운되면 모두에게 좋지 않기 때문입니다.
+
+확인이 완료되면 다음과 같이 UI에 모든 새 버전을 찾은 정보가 표시됩니다.
+
+각 모델 새 버전에는 3 개의 링크가 있습니다.
+* 첫 번째는 이 모델의 웹 페이지입니다.
+* 두 번째는이 새 버전의 다운로드 주소입니다.
+* 세 번째는 버튼입니다. Python 측에서 새 버전을 모델 디렉토리로 직접 다운로드합니다.
+이 방식으로 다운로드하면 "모델 다운로드" 영역과 명령 줄 창에 다운로드 세부 정보가 표시됩니다. 한 번에 하나의 작업만 지원됩니다.
+
+
+
+
+## URL을 기반으로 모델 정보 가져오기
+Civitai에서 모델의 SHA256을 찾을 수 없지만 여전히 Civitai 모델에 모델을 연결하고 싶다면 해당 확장 프로그램 페이지에서 모델을 선택하고 Civitai 모델 페이지의 URL을 제공할 수 있습니다.
+
+버튼을 클릭하면 확장 프로그램이 해당 Civitai 모델의 정보를 다운로드하여 로컬 모델의 정보로 사용합니다.
+
+
+
+
+
+## 기타 설정
+**설정 저장 버튼은 스캔 모델 영역 및 기타 설정 두 영역의 옵션을 저장합니다.**
+
+* "항상 표시 버튼"은 터치 스크린에서 편리하게 사용하기 위한 것입니다.
+* "작은 그림 모드에서 기능 버튼 표시"는 작은 그림 모드에서 기능 버튼을 표시할지 여부를 전환합니다.
+
+
+## 미리보기 이미지
+Extra Network는 model_name.png 및 model_name.preview.png 두 가지 미리보기 이미지 이름을 지원합니다. 여기서 model_name.png이 우선순위가 높습니다.
+
+우선순위가 높은 미리보기 이미지가 없으면 자동으로 model_name.preview.png를 사용합니다.
+
+이렇게 하면 직접 만든 미리보기 이미지와 인터넷에서 다운로드한 미리보기 이미지를 함께 사용할 수 있으며, 우선순위는 직접 만든 이미지가 높습니다.
+
+## 키워드
+카드에 키워드 추가 버튼은 civitai 미리보기 이미지에서 얻은 키워드를 추가하는 것이며, 사용자가 직접 만든 이미지의 키워드가 아닙니다.
+
+모든 이미지에 키워드가 있는 것은 아니며, 모델에 따라 미리보기 이미지의 키워드가 모두 같지 않을 수 있습니다. 따라서 여기서는 civitai 모든 미리보기 이미지 정보를 탐색하여 첫 번째 키워드가 있는 이미지를 로드합니다.
+
+
+## SHA256
+파일의 SHA256을 생성하려면 플러그인에서 전체 파일을 읽어야 합니다. 대형 파일의 경우 시스템이 느려질 수 있습니다.
+
+SHA256은 civitai에서 해당 모델을 찾을 수 없는 두 가지 경우가 있습니다.
+* 너무 오래된 모델이므로 civitai에 SHA256이 저장되어 있지 않습니다.
+* 모델 작성자가 모델 파일을 조용히 교체했지만 설명 및 버전을 수정하지 않았습니다. 따라서 웹 페이지에서는 확인할 수 없지만 civitai 및 로컬 모델 파일은 이미 다른 파일입니다.
+
+이러한 경우에는 플러그인에서 모델 페이지 URL을 제공하여 모델 정보 파일을 얻을 수 있습니다
+
+
+## 자주 묻는 질문
+### 4개의 카드 버튼이 표시되지 않습니다.
+#### 한국어 플러그인을 사용했습니다
+새 버전을 다운로드하면, 최신 버전에서 한국어 번역으로 인한 문제가 해결되었습니다. 양방향 다국어 플러그인은 v1.6.1.1 이후 버전부터 지원됩니다.
+
+#### 클라우드 기반 한국어 플러그인을 사용했습니다
+클라우드 기반 한국어 플러그인을 사용한 경우 일반적인 한국어 플러그인으로 변경하십시오.
+
+
+#### 다른 경우
+먼저 "Refresh Civitai Helper" 버튼을 클릭하여 Civitai Helper를 새로고침했는지 확인하세요.
+
+그런 다음 이 문제가 계속되는 경우, 유일한 이유는 최신 버전의 SD webui를 사용하지 않았기 때문입니다.
+
+만약 SD webui의 파일을 수정했다면, 업데이트 작업이 실패할 수 있습니다. 업데이트가 제대로 이루어졌는지 확인하려면 git 명령 줄의 출력 정보를 확인해야 합니다.
+
+git은 종종 업그레이드를 거부하고, 일부 충돌을 수동으로 해결해야 한다는 메시지를 보여줍니다. 명령 줄 출력을 확인하지 않으면 업그레이드가 성공했다고 잘못 생각할 수 있습니다.
+
+
+### Request model info from civitai
+이것은 Civitai에 연결하고 있음을 나타내며, 정보가 없으면 연결할 수 없으므로 프록시를 사용해야 합니다.
+
+
+### 모델 정보 스캔 또는 가져오기 실패
+이 플러그인은 이제 매우 안정적이므로, 이 문제의 원인은 대부분 Civitai가 연결 요청을 거부했기 때문입니다.
+
+Civitai는 대형 웹사이트와 같이 안정적이지 않습니다. 웹사이트가 다운되거나 API 연결을 거부할 수 있고, API 요청을 실제 검증 페이지로 전환하여 차단할 수도 있습니다.
+
+Civitai에는 연결 풀 설정이 있습니다. 이는 동시에 허용되는 최대 연결 수입니다. 이 수치에 도달하면 다음 API 연결 요청은 모두 거부됩니다. 이 때는 잠시 기다렸다가 다시 시도해야 합니다.
+
+또한 국내 사용자들에게는 프록시 문제가 있습니다. 대개는 프록시를 사용해야만 연결할 수 있습니다.
+
+
+### civitai에서 잘못된 모델 정보 및 미리보기 이미지 가져오기
+안타깝게도, civitai의 데이터베이스에 일부 모델이 잘못된 sha256으로 저장되어 있습니다. 자세한 내용은 여기를 확인하십시오:
+[https://github.com/civitai/civitai/issues/426](https://github.com/civitai/civitai/issues/426)
+
+따라서 이 확장 프로그램은 해당 모델의 올바른 모델 정보나 미리보기 이미지를 가져올 수 없습니다.
+
+이 경우 모델 정보 파일을 제거하고 이 확장 프로그램의 탭 페이지에서 civitai url로 올바른 모델 정보를 가져와야 합니다.
+
+또한, 잘못된 sha256을 가진 해당 모델을 civitai에 신고할 수 있습니다.
+[https://discord.com/channels/1037799583784370196/1096271712959615100/1096271712959615100](https://discord.com/channels/1037799583784370196/1096271712959615100/1096271712959615100)
+
+civitai에 그 모델을 신고하여 수정할 수 있도록 해주시기 바랍니다.
+
+
+### Colab 사용시 스캔 실패
+먼저 보이는 오류 메시지를 Google에서 검색해보세요. 대개 Colab의 문제일 가능성이 높습니다.
+
+그리고 Colab이 Google 드라이브에 연결되어 있다면, 파일에 대한 일회성 액세스 제한으로 인해 스캔이 실패할 수 있습니다. 이는 Google 드라이브의 제한 사항으로, 자세한 내용은 Google 검색을 통해 알아보세요.
+
+
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/README.md b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..8de3c66b00cd41811c065727daa5d7b7b6a953de
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/README.md
@@ -0,0 +1,252 @@
+**[Contributors](https://github.com/zixaphir/Stable-Diffusion-Webui-Civitai-Helper/graphs/contributors)**
+
+### Language
+[中文(ChatGPT)](README.cn.md)
+[日本語(ChatGPT)](README.jp.md)
+[한국어(ChatGPT)](README.kr.md)
+
+## About Civitai Helper
+This extension provides the ability to download models and model metadata from Civitai. Data such as activation keywords, model description, version information, and model previews for models hosted on Civitai can be at your fingertips without having to navigate away from stable diffusion webui.
+
+## About This Version of Civitai Helper
+This is my personal version of Stable-Diffusion-Webui-Civitai-Helper. I started it entirely because the version I was using broke when SD-webui v1.5 came out and I needed it to work. Since then, I have added functionality that I wanted and have made best-effort attempts to maintain compatibility with older versions of sd-webui, but I do not use older versions and therefore do not test on older versions.
+
+I intend to keep this working for as long as I am able, but this is simply a hobby project and I am nowhere near as skilled as other extension developers with more experience. I am likely to dip out for long periods at a time, possibly forever if I lose interest. I am prone to errors and bugs are to be expected.
+
+If a more interested part decides to pick up development, I will happily cede control of this project and attempt to push my changes to their projects if they are wanted.
+
+# Civitai Helper
+Stable Diffusion Webui Extension for Civitai, to handle your models much more easily.
+
+Civitai: 
+
+# Features
+* Scans all models to download model information and preview images from Civitai.
+* Link local model to a civitai model by civitai model's url
+* Download a model(with info+preview) by Civitai Url into SD's model folder or subfolder.
+* Downloading can resume at break-point, which is good for large file.
+* Checking all your local model's new version from Civitai
+* Download a new version directly into SD model folder (with info+preview)
+* Modified Built-in "Extra Network" cards, to add the following buttons on each card:
+ - 🖼️: Modified "replace preview" text into this icon
+ - 🌐: Open this model's Civitai url in a new tab
+ - 💡: Add this model's trigger words to prompt
+ - 🏷️: Use this model's preview image's prompt
+ - ✏️: Rename model
+ - ❌: Remove/Delete model
+* Above buttons support thumbnail mode of Extra Network in versions of webui prior to 1.5.0.
+ * Thumbnail mode was removed in v1.5.0 of webui and replaced customizable model card sizes.
+* Option to always show additional buttons, to work with touchscreen.
+* To the best of my knowledge, this extension should still work in versions of webui prior to v1.5.0, but it is not tested. I make best-effort attempts to write code that *should* maintain compatibility with older versions, but if you have run into problems, please file an issue and I'll attempt to resolve it.
+
+# Install
+Go to SD webui's extension tab, go to `Install from url` sub-tab.
+Copy this project's url into it, click install.
+
+Alternatively, download this project as a zip file, and unzip it to `Your SD webui folder/extensions`.
+
+Everytime you install or update this extension, you need to shutdown SD Webui and Relaunch it. Just "Reload UI" won't work for this extension.
+
+Done.
+
+## Branches
+Development of this extension happens in three development branches:
+* **`master`**: The current version of the extension intended for end users. Out-of-version changes to this branch only exist to hotfix critical issues found after the release of a new version.
+* **`dev`**: The active development version of this extension. This will always have the most up-to-date changes but is also the most likely to contain bugs
+* **`v1.6ONLY`**: Not supported and not really intended for anybody except for me. Slowest to update and less tested than other branches, this branch only runs on the latest version of webui. Compatibility code for older versions is actively removed, and whether I'm running it on webui stable or webui dev is in flux. In theory, this is the most optimized version of the extension, but it's often just me chasing waterfalls. Do not submit issues if you use this branch. They will be marked as invalid, closed, and otherwise ignored.
+
+## Update Your SD Webui
+This extension need to get extra network's cards id. Which is added since **2023-02-06**.
+**If your SD webui is an earlier version, you need to update it!**
+
+### Some of the following information may not up-to-date. Most functionality should be the same or similar, but many changes post-v1.6 have not been documented as of yet. Images may not match 1:1 with the current state of the extension.
+
+## Scanning Models
+Go to extension tab "Civitai Helper". There is a button called "Scan model".
+
+
+
+Click it and the extension will scan all your models to generate SHA256 hashes, using them to retreive model information and preview images from Civitai.
+
+**Scanning takes time, just wait it finish**
+
+For each model, it will create two files to save all model info from Civitai. These model info files will be `[model_name].civitai.info` and `[model_name].json` in your model folder.
+
+
+
+If a model info file already exists, by default it will be skipped. If a model cannot be found in Civitai, a minimal model info file will be created with any information that can be extracted from the model. By default, a model with model pre-existing model info files will not be scanned.
+
+### Adding New Models
+When you have some new models, just click scan button again to get new model's information and preview images. Only new models will be scanned with default options.
+
+## Model Card
+
+### The following section is outdated!
+The following text block and image only applies to Stable Diffution Webui versions before v1.5.0. While the added buttons are still up-to-date, the "Extra Networks" tab button has been removed and is now always active by default.
+
+---
+
+**(Use this only after scanning finished)**
+Open SD webui's build-in "Extra Network" tab, to show model cards.
+
+
+
+
+Move your mouse on to the bottom of a model card. It will show 4 icon buttons:
+ - 🖼: Replace preview (a build-in button, modified from text to icon)
+ - 🌐: Open this model's Civitai url in a new tab
+ - 💡: Add this model's trigger words to prompt
+ - 🏷: Use this model's preview image's prompt
+ - ✏️: Rename model
+ - ❌: Remove/Delete model
+
+
+
+## Webui Metadata Editor
+As of v1.7.0, this extension also downloads data for Webui's Metadata Editor by default. This data includes information you'd previously have to read unruly JSON files or navigate to Civitai to read.
+
+
+
+This data can be accessed by clicking the metadata button on the model card.
+
+
+
+## Download
+To download a model by Civitai Model Page's Url, you need 3 steps:
+* Fill the Civitai URL or Model ID
+* Click "1. Get Model Information by Civitai Url.
+* It will fill model name, type, sub-folder, and model version automatically, but you can change the sub-folder and model version if you need to.
+ * If you need to add more sub-folders, you must do this by navigating to the model directory on the system running your webui version.
+* Click download.
+
+
+
+Detail will be displayed on console log, with a progress bar.
+Downloading can resume from break-point, so no fear for large file.
+
+## Checking Model's New Version
+You can checking your local model's new version from civitai by model types. You can select multiple model types.
+
+
+
+The checking process has a small delay after each model's new version checking request. So it is a little slow.
+
+This is to protect Civitai from issue like DDos from this extension. There is no good for us if it is down.
+
+**After checking process done**, it will display all new version's information on UI.
+
+There are 3 urls for each new version.
+* First one is model's civitai page.
+* Second one is new version's download url.
+* Third one is a button to download it into your SD's model folder with python.
+With this one, output information is on "Download Model" section's log and console log. **One task at a time**.
+
+
+
+## Get Model Info By Url
+This is used to force a local model links to a Civitai model. For example, you converted a model's format or pruned it. Then it can not be found on civitai when scanning.
+
+In that case, if you still want to link it to a civitai model. You can use this funcion.
+
+Choose this model from list, then offer a civitai model page's url.
+
+After clicking button, extension will download that civitai model's info and preview image for the local file you picked.
+
+
+
+## Proxy
+**If you are updating to new version, you need to re-lanuch SD webui before using it.**
+
+Proxy textbox is at the bottom of extension tab.
+
+**Each time you fill or clear a proxy value, you need to save setting, and Re-load UI with setting tab's reload button.**
+
+Then all requests to civitai will use the proxy.
+
+For some sock5 proxy, need to be used as "socks5h://xxxxx".
+
+## Other Setting
+**The Save Setting button, will save both "Scan Model"'s setting and other setting.**
+
+* "Always Display Button" is good for touch screen.
+* "Show Buttons on Thumb Mode" will turn on/off additional Buttons on thumbnail.
+ * Thumbnail Mode was removed in v1.5.0 of webui.
+
+
+
+## Preview Image
+Extra network uses both `model_file.png` and `model_file.preview.png` as preview image. But `model_file.png` has higher priority, because it is created by yourself.
+
+When you don't have the higher priority one, it will use the other automatically.
+
+## Prompt
+When you click the button "Use prompt from preview image", it does not use the prompt from your own preview image. It uses the one from civitai's preview image.
+
+On civitai, a model's preview images may not has prompt. This extension will check this model's all civitai preview images' information and use the first one has prompt in it.
+
+## SHA256
+To create a file SHA256, it need to read the whole file to generate a hash code. It gonna be slow for large files.
+
+Also, extension uses Memory Optimized SHA256, which won't stuck your system and works with colab.
+
+There are 2 cases this hash code can not find the model on civitai:
+* Some old models, which do not have SHA256 code on civitai.
+* The model's owner changed file on civitai, but does not change version name and description. So, the file on civitai is actually not the one on your manchine.
+
+In these cases, you can always link a model to civitai by filling its URL in this extension.
+
+## Feature Request
+Feel free to submit feature requests, but pull requests are preferred.
+
+Enjoy!
+
+## Pull Requests
+All pull requests should target the dev branch. For those who take a stab at the code, I apologize for the lack of consistency in coding style, naming, and other syntactical oddities. At some point, I intend to clean up the code and have everything pass linting, but we're not there yet.
+
+## Common Issue
+### 4 Buttons on card didn't show
+#### Localization
+There was a Localization issue if you are not using English version of SD webui. This is fixed in the latest version of this extension. **Bilingual localization extension is supported by PR since v1.6.1.1.**
+
+##### Using cloud based localization extension
+Turn off cloud based localization extension, use normal localization extension.
+
+#### Other case
+First of all, make sure you clicked "Refresh Civitai Helper" button.
+
+If issue is still there, then only reason is you are not using the latest SD webui. So, Make sure you updated it.
+
+Your update could be failed if you have modified SD webui's file. You need to check git command's console log to make sure it is updated.
+
+In many cases, git will just refuse to update and tell you there are some conflicts need you to handle manually. If you don't check the consloe log, you will think your SD webui is updated, but it is not.
+
+### Request, Scan or Get model info failed
+Usually the reason for this most likely is the connection to Civitai API service failed. This can be for a number of reasons.
+
+Sometimes Civitai can be down or refuse your API connection. Civitai has a connection pool setting. Basicly, it's a max connection number that civitai can have at the same time. So if there are already too manny connections on civitai, it will refuse your API connection.
+
+In those cases, the only thing you can do is just wait a while then try again. I suggest making a cup of tea!
+
+### Get Wrong model info and preview images from civitai
+A bad news is, some models are saved with a wrong sha256 in civitai's database. Check here for more detail:
+[https://github.com/civitai/civitai/issues/426](https://github.com/civitai/civitai/issues/426)
+
+So, for those models, this extension can not get the right model info or preview images.
+
+In this case, you have to remove the model info file and get the right model info by a civitai url on this extension's tab page.
+
+Also, you can report those models with wrong sha256 to civitai at following page:
+[https://discord.com/channels/1037799583784370196/1096271712959615100/1096271712959615100](https://discord.com/channels/1037799583784370196/1096271712959615100/1096271712959615100)
+
+Please report that model to civitai, so they can fix it.
+
+### Scanning fail when using colab
+First of, search your error message with google. Most likely, it will be a colab issue.
+
+If you are sure it is a out of memory issue when scanning models, and you are using this extension's latest version, then there is nothing we can do.
+
+Since v1.5.5, we've already optimized the SHA256 function to the top. So the only 2 choices for you are:
+* try again
+* or use a pro account of colab.
+
+### [Changes](https://github.com/zixaphir/Stable-Diffusion-Webui-Civitai-Helper/blob/master/README.md)
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/icon/.keep b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/icon/.keep
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/all_in_one.png b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/all_in_one.png
new file mode 100644
index 0000000000000000000000000000000000000000..7db1d22b4c770224d6619813cdf975fce52eb21e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/all_in_one.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:bedc58968db1a83c84e57d94327c4e27f5cd6fbd93c45a59627a5257b06c8a47
+size 1104345
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/all_the_mothers.png b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/all_the_mothers.png
new file mode 100644
index 0000000000000000000000000000000000000000..077e808d4bffa77c927f60f4e26b025f51290553
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/all_the_mothers.png differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/check_model_new_version.jpg b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/check_model_new_version.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..1d05e4490b2ff7a3a82edee277a7130aee149d55
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/check_model_new_version.jpg differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/check_model_new_version_output.png b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/check_model_new_version_output.png
new file mode 100644
index 0000000000000000000000000000000000000000..11fa31d7ecba1679beba9d6cde5a2bb8c02269c4
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/check_model_new_version_output.png differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/download_model.jpg b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/download_model.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..f6c052ccfca850008f7a87e7dfd8b45d2ec17209
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/download_model.jpg differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/extension_tab.jpg b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/extension_tab.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..a9e0dbe1d1164117cd11064ebbf220377a495c2e
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/extension_tab.jpg differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/extra_network.jpg b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/extra_network.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..25b2acbdb4afefb348f058a9d45fd8a090eda8ca
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/extra_network.jpg differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/get_one_model_info.jpg b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/get_one_model_info.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..9de82e031c5320d45fef054026ada12f3026e776
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/get_one_model_info.jpg differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/model_card.jpg b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/model_card.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..6ceb33f68f91f3bf3eef625bc18ee427e1002456
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/model_card.jpg differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/model_info_file.jpg b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/model_info_file.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..d9e36c8e69a3feb90034a2c205a4d4c27aa43bd7
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/model_info_file.jpg differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/other_setting.jpg b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/other_setting.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..9b9a342410e65bcf616978530c79a636ab173f4e
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/other_setting.jpg differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/refresh_ch.jpg b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/refresh_ch.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..93b4ab70f94ff1718cebc3880f34c4dce45ddfc8
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/refresh_ch.jpg differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/thumb_mode.jpg b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/thumb_mode.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..1044e68cf89c9f0faa1e1f74a8a7cbb5d97809d6
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/thumb_mode.jpg differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/user_claim_wall/blame_sdweui_update_to_this_ext.jpg b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/user_claim_wall/blame_sdweui_update_to_this_ext.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..59ccb37188850686ef48248d2f565098403a0d99
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/user_claim_wall/blame_sdweui_update_to_this_ext.jpg differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/user_claim_wall/changed_model_folder_name_then_forget_part1.jpg b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/user_claim_wall/changed_model_folder_name_then_forget_part1.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..76acd20220c8f3c22619e5d5f4541ce2aeefbeb4
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/user_claim_wall/changed_model_folder_name_then_forget_part1.jpg differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/user_claim_wall/changed_model_folder_name_then_forget_part2.jpg b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/user_claim_wall/changed_model_folder_name_then_forget_part2.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..0f231f6f8b9fb981fd9b52ff04aa44f26abf4ddb
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/user_claim_wall/changed_model_folder_name_then_forget_part2.jpg differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/user_claim_wall/changed_model_folder_name_then_forget_part3.jpg b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/user_claim_wall/changed_model_folder_name_then_forget_part3.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..fc032c496932463b958444048200dd43068984ca
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/user_claim_wall/changed_model_folder_name_then_forget_part3.jpg differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/user_claim_wall/changed_model_folder_name_then_forget_part4.jpg b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/user_claim_wall/changed_model_folder_name_then_forget_part4.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..6ffd6197fe4889e946dd2c24d2192b8940c1bddc
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/user_claim_wall/changed_model_folder_name_then_forget_part4.jpg differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/user_claim_wall/css_issue_part1.jpg b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/user_claim_wall/css_issue_part1.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..26567730c1a3253244d9a8230b90456add779b69
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/user_claim_wall/css_issue_part1.jpg differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/user_claim_wall/css_issue_part2.jpg b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/user_claim_wall/css_issue_part2.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..54b9a2cd28a2f57e43a3f2f0b92c68dbd1c52123
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/user_claim_wall/css_issue_part2.jpg differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/user_claim_wall/css_issue_part3.jpg b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/user_claim_wall/css_issue_part3.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..8c0d4ce269af46779bdf4981a7bebf40a4768559
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/user_claim_wall/css_issue_part3.jpg differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/user_claim_wall/css_issue_part4.jpg b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/user_claim_wall/css_issue_part4.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..9ddad8e72b21e5148b14a1e4170a6a774a8d2c4c
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/user_claim_wall/css_issue_part4.jpg differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/user_claim_wall/did_not_relaunch_sdwebui.jpg b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/user_claim_wall/did_not_relaunch_sdwebui.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..984228d4cffa6367e5191bb756350f7611b42091
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/user_claim_wall/did_not_relaunch_sdwebui.jpg differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/user_claim_wall/do_not_even_use_this_ext.jpg b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/user_claim_wall/do_not_even_use_this_ext.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..e4be133af1c95e21fce1e6b9b4a26f312722ccb5
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/user_claim_wall/do_not_even_use_this_ext.jpg differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/user_claim_wall/have_not_scan_model.jpg b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/user_claim_wall/have_not_scan_model.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..fc20a79fd6c096d1a2df8d612d06f89a323cdbbd
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/user_claim_wall/have_not_scan_model.jpg differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/user_claim_wall/have_not_update_sdwebui.jpg b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/user_claim_wall/have_not_update_sdwebui.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..3fb704c1f4ce3ef9ea423d2bab3eeff9eab7fe4f
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/user_claim_wall/have_not_update_sdwebui.jpg differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/user_claim_wall/request_a_feature_it_already_has.jpg b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/user_claim_wall/request_a_feature_it_already_has.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..2e1eab1df869661eab9475344d28eed4c59129e0
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/user_claim_wall/request_a_feature_it_already_has.jpg differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/webui_metadata_button.png b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/webui_metadata_button.png
new file mode 100644
index 0000000000000000000000000000000000000000..2133e87ef4dfa93b5b41a4eb756bd83d3bd8adb6
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/webui_metadata_button.png differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/webui_metadata_editor.png b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/webui_metadata_editor.png
new file mode 100644
index 0000000000000000000000000000000000000000..fce4b27f23aaea4315abb2932de68043db070f8b
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/img/webui_metadata_editor.png differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/javascript/civitai_helper.js b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/javascript/civitai_helper.js
new file mode 100644
index 0000000000000000000000000000000000000000..cea679c53bb3160c08de4a0ee9704521e50782d0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/javascript/civitai_helper.js
@@ -0,0 +1,1012 @@
+"use strict";
+
+
+function ch_convert_file_path_to_url(path) {
+ let prefix = "file=";
+ let path_to_url = path.replaceAll('\\', '/');
+ return prefix+path_to_url;
+}
+
+function ch_img_node_str(path) {
+ return ` `;
+}
+
+function ch_gradio_version() {
+ let foot = gradioApp().getElementById("footer");
+ if (!foot) { return null; }
+
+ let versions = foot.querySelector(".versions");
+ if (!versions) { return null; }
+
+ if (versions.textContent.indexOf("gradio: 3.16.2")>0) {
+ return "3.16.2";
+ } else {
+ return "3.23.0";
+ }
+}
+
+
+// send msg to python side by filling a hidden text box
+// then will click a button to trigger an action
+// msg is an object, not a string, will be stringify in this function
+function send_ch_py_msg(msg) {
+ console.log("run send_ch_py_msg");
+ let js_msg_txtbox = gradioApp().querySelector("#ch_js_msg_txtbox textarea");
+ if (js_msg_txtbox && msg) {
+ // fill to msg box
+ js_msg_txtbox.value = JSON.stringify(msg);
+ js_msg_txtbox.dispatchEvent(new Event("input"));
+ }
+
+}
+
+// get msg from python side from a hidden textbox
+// normally this is an old msg, need to wait for a new msg
+function get_ch_py_msg() {
+ console.log("run get_ch_py_msg");
+ const py_msg_txtbox = gradioApp().querySelector("#ch_py_msg_txtbox textarea");
+ if (py_msg_txtbox && py_msg_txtbox.value) {
+ console.log("find py_msg_txtbox");
+ console.log("py_msg_txtbox value: ");
+ console.log(py_msg_txtbox.value);
+ return py_msg_txtbox.value;
+ } else {
+ return "";
+ }
+}
+
+
+// get msg from python side from a hidden textbox
+// it will try once in every sencond, until it reach the max try times
+const get_new_ch_py_msg = (max_count=5) => new Promise((resolve, reject) => {
+ console.log("run get_new_ch_py_msg");
+
+ let count = 0;
+ let new_msg = "";
+ let find_msg = false;
+ const interval = setInterval(() => {
+ const py_msg_txtbox = gradioApp().querySelector("#ch_py_msg_txtbox textarea");
+ count++;
+
+ if (py_msg_txtbox && py_msg_txtbox.value) {
+ console.log("find py_msg_txtbox");
+ console.log("py_msg_txtbox value: ");
+ console.log(py_msg_txtbox.value);
+
+ new_msg = py_msg_txtbox.value;
+ if (new_msg != "") {
+ find_msg = true;
+ }
+ }
+
+ if (find_msg) {
+ //clear msg in both sides
+ py_msg_txtbox.value = "";
+ py_msg_txtbox.dispatchEvent(new Event("input"));
+
+ resolve(new_msg);
+ clearInterval(interval);
+ } else if (count > max_count) {
+ //clear msg in both sides
+ py_msg_txtbox.value = "";
+ py_msg_txtbox.dispatchEvent(new Event("input"));
+
+ reject('');
+ clearInterval(interval);
+ }
+
+ }, 1000);
+});
+
+
+function getActiveTabType() {
+ const currentTab = get_uiCurrentTabContent();
+ switch (currentTab.id) {
+ case "tab_txt2img":
+ return "txt2img";
+ case "tab_img2img":
+ return "img2img";
+ }
+ return null;
+}
+
+function getExtraTabs(prefix) {
+ return gradioApp().getElementById(prefix + "_extra_tabs");
+}
+
+function getActivePrompt() {
+ const currentTab = get_uiCurrentTabContent();
+ switch (currentTab.id) {
+ case "tab_txt2img":
+ return currentTab.querySelector("#txt2img_prompt textarea");
+ case "tab_img2img":
+ return currentTab.querySelector("#img2img_prompt textarea");
+ }
+ return null;
+}
+
+function getActiveNegativePrompt() {
+ const currentTab = get_uiCurrentTabContent();
+ switch (currentTab.id) {
+ case "tab_txt2img":
+ return currentTab.querySelector("#txt2img_neg_prompt textarea");
+ case "tab_img2img":
+ return currentTab.querySelector("#img2img_neg_prompt textarea");
+ }
+ return null;
+}
+
+
+//button's click function
+async function open_model_url(event, model_type, search_term) {
+ console.log("start open_model_url");
+
+ //get hidden components of extension
+ let js_open_url_btn = gradioApp().getElementById("ch_js_open_url_btn");
+ if (!js_open_url_btn) {
+ console.log("Failed to find js_open_url_btn");
+ return;
+ }
+
+ //msg to python side
+ let msg = {
+ "action": "",
+ "model_type": "",
+ "search_term": "",
+ "prompt": "",
+ "neg_prompt": "",
+ };
+
+ msg["action"] = "open_url";
+ msg["model_type"] = model_type;
+ msg["search_term"] = search_term;
+ msg["prompt"] = "";
+ msg["neg_prompt"] = "";
+
+ // fill to msg box
+ send_ch_py_msg(msg);
+
+ //click hidden button
+ js_open_url_btn.click();
+
+ // stop parent event
+ event.stopPropagation();
+ event.preventDefault();
+
+ //check response msg from python
+ let new_py_msg = null;
+ try {
+ new_py_msg = await get_new_ch_py_msg();
+ } catch (error) {
+ console.log(error);
+ }
+
+ console.log("new_py_msg:");
+ console.log(new_py_msg);
+
+ //check msg
+ if (new_py_msg) {
+ let py_msg_json = JSON.parse(new_py_msg);
+ //check for url
+ if (py_msg_json && py_msg_json.content) {
+ if (py_msg_json.content.url) {
+ window.open(py_msg_json.content.url, "_blank");
+ }
+ }
+ }
+
+ console.log("end open_model_url");
+
+}
+
+function add_trigger_words(event, model_type, search_term) {
+ console.log("start add_trigger_words");
+
+ //get hidden components of extension
+ let js_add_trigger_words_btn = gradioApp().getElementById("ch_js_add_trigger_words_btn");
+ if (!js_add_trigger_words_btn) {
+ return;
+ }
+
+
+ //msg to python side
+ let msg = {
+ "action": "",
+ "model_type": "",
+ "search_term": "",
+ "prompt": "",
+ "neg_prompt": "",
+ };
+
+ msg["action"] = "add_trigger_words";
+ msg["model_type"] = model_type;
+ msg["search_term"] = search_term;
+ msg["neg_prompt"] = "";
+
+ // get active prompt
+ let act_prompt = getActivePrompt();
+ msg["prompt"] = act_prompt.value;
+
+ // fill to msg box
+ send_ch_py_msg(msg);
+
+ //click hidden button
+ js_add_trigger_words_btn.click();
+
+ console.log("end add_trigger_words");
+
+ event.stopPropagation();
+ event.preventDefault();
+
+
+}
+
+function use_preview_prompt(event, model_type, search_term) {
+ console.log("start use_preview_prompt");
+
+ //get hidden components of extension
+ let js_use_preview_prompt_btn = gradioApp().getElementById("ch_js_use_preview_prompt_btn");
+ if (!js_use_preview_prompt_btn) {
+ return;
+ }
+
+ //msg to python side
+ let msg = {
+ "action": "",
+ "model_type": "",
+ "search_term": "",
+ "prompt": "",
+ "neg_prompt": "",
+ };
+
+ msg["action"] = "use_preview_prompt";
+ msg["model_type"] = model_type;
+ msg["search_term"] = search_term;
+
+ // get active prompt
+ let act_prompt = getActivePrompt();
+ msg["prompt"] = act_prompt.value;
+
+ // get active neg prompt
+ let neg_prompt = getActiveNegativePrompt();
+ msg["neg_prompt"] = neg_prompt.value;
+
+ // fill to msg box
+ send_ch_py_msg(msg);
+
+ //click hidden button
+ js_use_preview_prompt_btn.click();
+
+ console.log("end use_preview_prompt");
+
+ event.stopPropagation();
+ event.preventDefault();
+
+}
+
+
+async function remove_card(event, model_type, search_term) {
+ console.log("start remove_card");
+
+ //get hidden components of extension
+ let js_remove_card_btn = gradioApp().getElementById("ch_js_remove_card_btn");
+ if (!js_remove_card_btn) {
+ return;
+ }
+
+ // must confirm before removing
+ let rm_confirm = "\nConfirm to remove this model and all related files. This process is irreversible.";
+ if (!confirm(rm_confirm)) {
+ return;
+ }
+
+ //msg to python side
+ let msg = {
+ "action": "",
+ "model_type": "",
+ "search_term": "",
+ }
+
+ msg["action"] = "remove_card";
+ msg["model_type"] = model_type;
+ msg["search_term"] = search_term;
+
+ // fill to msg box
+ send_ch_py_msg(msg)
+
+ //click hidden button
+ js_remove_card_btn.click();
+
+ // stop parent event
+ event.stopPropagation()
+ event.preventDefault()
+
+ //check response msg from python
+ let new_py_msg = "";
+ try {
+ new_py_msg = await get_new_ch_py_msg();
+ } catch (error) {
+ console.log(error);
+ new_py_msg = error;
+ }
+
+ console.log("new_py_msg:");
+ console.log(new_py_msg);
+
+ //check msg
+ let result = "Done";
+ //check msg
+ if (new_py_msg) {
+ result = new_py_msg;
+ }
+
+ if (result == "Done") {
+ refresh_cards_list();
+ }
+
+ console.log("end remove_card");
+
+}
+
+
+async function rename_card(event, model_type, search_term, model_name) {
+ console.log("start rename_card");
+
+ //get hidden components of extension
+ let js_rename_card_btn = gradioApp().getElementById("ch_js_rename_card_btn");
+ if (!js_rename_card_btn) {
+ return;
+ }
+
+ // must confirm before removing
+ let rename_prompt = "\nRename this model to:";
+ let new_name = prompt(rename_prompt, model_name);
+ if (!new_name) {
+ return;
+ }
+
+ //msg to python side
+ let msg = {
+ "action": "",
+ "model_type": "",
+ "search_term": "",
+ "new_name": "",
+ }
+
+ msg["action"] = "rename_card";
+ msg["model_type"] = model_type;
+ msg["search_term"] = search_term;
+ msg["new_name"] = new_name;
+
+ // fill to msg box
+ send_ch_py_msg(msg)
+
+ //click hidden button
+ js_rename_card_btn.click();
+
+ // stop parent event
+ event.stopPropagation()
+ event.preventDefault()
+
+ //check response msg from python
+ let new_py_msg = "";
+ try {
+ new_py_msg = await get_new_ch_py_msg();
+ } catch (error) {
+ console.log(error);
+ new_py_msg = error;
+ }
+
+ console.log("new_py_msg:");
+ console.log(new_py_msg);
+
+ //check msg
+ let result = "Done";
+ //check msg
+ if (new_py_msg) {
+ result = new_py_msg;
+ }
+
+ if (result == "Done") {
+ refresh_cards_list();
+ }
+
+ console.log("end rename_card");
+
+}
+
+
+function replace_preview(e, page, type, name) {
+ // we have to create a whole hidden editor window to access preview replace functionality
+ extraNetworksEditUserMetadata(e, page, type, name);
+
+ // the editor window takes quite some time to populate
+ waitForEditor(page, type, name).then(editor => {
+ // Gather the buttons we need to both replace the preview and close the editor
+ let cancel_button = editor.querySelector('.edit-user-metadata-buttons button:first-of-type');
+ let replace_preview_button = editor.querySelector('.edit-user-metadata-buttons button:nth-of-type(2)');
+
+ replace_preview_button.click();
+ cancel_button.click();
+ });
+}
+
+
+// download model's new version into SD at python side
+function ch_dl_model_new_version(event, model_path, version_id, download_url, model_type) {
+ console.log("start ch_dl_model_new_version");
+
+ // must confirm before downloading
+ let dl_confirm = "\nConfirm to download.\n\nCheck Download Model Section's log and console log for detail.";
+ if (!confirm(dl_confirm)) {
+ return;
+ }
+
+ //get hidden components of extension
+ let js_dl_model_new_version_btn = gradioApp().getElementById("ch_js_dl_model_new_version_btn");
+ if (!js_dl_model_new_version_btn) {
+ return;
+ }
+
+ //msg to python side
+ let msg = {
+ "action": "",
+ "model_path": "",
+ "version_id": "",
+ "download_url": "",
+ };
+
+ msg["action"] = "dl_model_new_version";
+ msg["model_path"] = model_path;
+ msg["version_id"] = version_id;
+ msg["download_url"] = download_url;
+ msg["model_type"] = model_type;
+
+ // fill to msg box
+ send_ch_py_msg(msg);
+
+ //click hidden button
+ js_dl_model_new_version_btn.click();
+
+ console.log("end dl_model_new_version");
+
+ event.stopPropagation();
+ event.preventDefault();
+
+
+}
+
+
+function refresh_cards_list() {
+ console.log("refresh card list");
+ //refresh card list
+ let active_tab = getActiveTabType();
+ console.log(`get active tab id: ${active_tab}`);
+ if (active_tab) {
+ let refresh_btn_id = `${active_tab}_extra_refresh`;
+ let refresh_btn = gradioApp().getElementById(refresh_btn_id);
+ if (refresh_btn) {
+ console.log(`click button: ${refresh_btn_id}`);
+ refresh_btn.click();
+ }
+ }
+}
+
+function processCards(tab, extra_tab_els) {
+ if (!(opts && "ch_always_display" in opts)) {
+ // Lobe theme can cause a race condition.
+ console.log("Waiting for webui settings to become available");
+ console.log(opts);
+ const try_again = function () {
+ processCards(tab, extra_tab_els);
+ }
+ return setTimeout(try_again, 500);
+ }
+
+ const prefix_length = tab.length + 1;
+ for (const el of extra_tab_els) {
+ const model_type = el.id.slice(prefix_length, -6);
+ const cards = el.querySelectorAll('.card');
+ for (const card of cards) {
+ processSingleCard(tab, getShortModelTypeFromFull(model_type), card);
+ }
+ }
+}
+
+
+function getModelCardsEl(prefix, model_type) {
+ const id = prefix + "_" + model_type + "_cards";
+ return gradioApp().getElementById(id);
+}
+
+
+function waitForExtraTabs(tab, extra_tabs) {
+ function findTabs() {
+ const tab_elements = [];
+ for (const extra_tab of extra_tabs) {
+ const extra_tab_el = getModelCardsEl(tab, extra_tab);
+
+ if (extra_tab_el == null) {
+
+ // XXX lycoris models do not have their own tab in sdwebui 1.5
+ // most of the time. In the case that there is a LyCoris tab,
+ // it would have been added at the same time as the others,
+ // making it almost impossible to be null by the time we're at
+ // this point in the code if the other tabs are loaded.
+ if (extra_tab == 'lycoris') { continue; }
+
+ return null;
+ }
+
+ tab_elements.push(extra_tab_el);
+ }
+ return tab_elements;
+ }
+
+ const tab_elements = findTabs(tab, extra_tabs);
+ if (tab_elements) {
+ processCards(tab, tab_elements);
+ }
+
+ const observer = new MutationObserver(records => {
+ let tab_elements;
+ for (const record of records) {
+ if (record.type != "childList") {
+ continue;
+ }
+
+ tab_elements = findTabs(tab, extra_tabs);
+ if (!tab_elements) {
+ return;
+ }
+
+ processCards(tab, tab_elements);
+ return;
+ }
+ });
+
+ const extra_networks = getExtraTabs(tab);
+
+ const options = {
+ subtree: true,
+ childList: true,
+ };
+
+ observer.observe(extra_networks, options);
+
+}
+
+
+function waitForEditor(page, type, name) {
+ const id = page + '_' + type + '_edit_user_metadata';
+
+ return new Promise(resolve => {
+ let name_field;
+ const gradio = gradioApp();
+
+ const editor = gradio.getElementById(id);
+ const popup = gradio.querySelector(".global-popup");
+
+ if (popup != null) {
+ // hide the editor window so it doesn't get in the user's
+ // way while we wait for the replace preview functionality
+ // to become available.
+ popup.style.display = "none";
+ }
+
+ // not only do we need to wait for the editor,
+ // but also for it to populate with the model metadata.
+ if (editor != null) {
+ name_field = editor.querySelector('.extra-network-name');
+ if (name_field.textContent.trim() == name) {
+ return resolve(editor);
+ }
+ }
+
+ const observer = new MutationObserver(() => {
+ const editor = gradioApp().getElementById(id);
+ let name_field;
+ if (editor != null) {
+ name_field = editor.querySelector('.extra-network-name');
+ if (name_field.textContent.trim() == name) {
+ resolve(editor);
+ observer.disconnect();
+ }
+ }
+ });
+
+ observer.observe(document.body, {
+ subtree: true,
+ childList: true,
+ });
+ });
+}
+
+
+function getShortModelTypeFromFull(model_type_full) {
+ switch (model_type_full) {
+ case "textual_inversion":
+ return "ti";
+ case "hypernetworks":
+ return "hyper";
+ case "checkpoints":
+ return "ckp";
+ case "lora":
+ case "lycoris":
+ return model_type_full;
+ }
+}
+
+
+function getLongModelTypeFromShort(model_type_short) {
+ switch (model_type_short) {
+ case "ti":
+ return "textual_inversion";
+ case "hyper":
+ return "hypernetworks";
+ case "ckp":
+ return "checkpoints";
+ case "lora":
+ case "lycoris":
+ return model_type_short;
+ }
+}
+
+
+function isThumbMode(extra_network_node) {
+ if (extra_network_node?.className == "extra-network-thumbs") {
+ return true;
+ }
+ return false;
+}
+
+
+function processSingleCard(active_tab_type, active_extra_tab_type, card) {
+ let metadata_button = null;
+ let additional_node = null;
+ let replace_preview_btn = null;
+ let ul_node = null;
+ let search_term_node = null;
+ let model_name = "";
+ let search_term = "";
+ let model_type = active_extra_tab_type;
+ let js_model_type = getLongModelTypeFromShort(model_type);
+ let addedNodes = [];
+
+ let is_thumb_mode = isThumbMode(getModelCardsEl(active_tab_type, js_model_type));
+
+ //metadata_buttoncard
+ metadata_button = card.querySelector(".metadata-button");
+ //additional node
+ additional_node = card.querySelector(".actions .additional");
+ //get ul node, which is the parent of all buttons
+ ul_node = card.querySelector(".actions .additional ul");
+
+ // check thumb mode
+ if (is_thumb_mode) {
+ additional_node.style.display = null;
+
+ if (!ul_node) {
+ // nothing to do.
+ return;
+ }
+
+ if (opts["ch_show_btn_on_thumb"]) {
+ ul_node.style.background = btn_thumb_background;
+ } else {
+ let ch_btn_txts = ["💡", "🌐", "🏷️", "✏️", "❌"];
+
+ // remove existed buttons
+ //reset
+ ul_node.style.background = null;
+ // find all .a child nodes
+ let atags = ul_node.querySelectorAll("a");
+
+ for (let atag of atags) {
+ //reset display
+ atag.style.display = null;
+ //remove extension's button
+ if (ch_btn_txts.indexOf(atag.textContent)>=0) {
+ //need to remove
+ ul_node.removeChild(atag);
+ } else {
+ //do not remove, just reset
+ atag.textContent = replace_preview_text;
+ atag.style.display = null;
+ atag.style.fontSize = null;
+ atag.style.position = null;
+ atag.style.backgroundImage = null;
+ }
+ }
+
+ //also remove br tag in ul
+ let brtag = ul_node.querySelector("br");
+ if (brtag) {
+ ul_node.removeChild(brtag);
+ }
+
+ //just reset and remove nodes, do nothing else
+ return;
+
+ }
+
+ } else {
+ // full preview mode
+
+ if (opts["ch_always_display"]) {
+ additional_node.style.display = "block";
+ } else {
+ additional_node.style.display = null;
+ }
+
+ if (!ul_node) {
+ ul_node = document.createElement("ul");
+ } else {
+ // remove br tag
+ let brtag = ul_node.querySelector("br");
+ if (brtag) {
+ ul_node.removeChild(brtag);
+ }
+ }
+
+ }
+
+ if (ul_node.dataset.ch_helper) {
+ return;
+ }
+
+ ul_node.dataset.ch_helper = true;
+
+ model_name = card.dataset.name;
+
+ // replace preview text button
+ replace_preview_btn = card.querySelector(".actions .additional a");
+
+ if ((replace_preview_btn == null) && !("replace_preview_button" in opts["ch_hide_buttons"])) {
+ /*
+ * in sdwebui 1.5, the replace preview button has been
+ * moved to a hard to reach location, so we have to do
+ * quite a lot to get to its functionality.
+ */
+
+ // waste memory by keeping all of this in scope, per card.
+ let page = active_tab_type;
+ let type = js_model_type;
+ let name = card.dataset.name;
+
+ // create the replace_preview_btn, as it no longer exists
+ replace_preview_btn = document.createElement("a");
+
+ // create an event handler to redirect a click to the real replace_preview_button
+ replace_preview_btn.setAttribute("onclick", `replace_preview(event, '${page}', '${type}', '${model_name}')`);
+ }
+
+ // change replace preview text button into icon
+ if (!opts["ch_hide_buttons"].includes("replace_preview_button")) {
+ if (replace_preview_btn.textContent !== "🖼️") {
+ replace_preview_btn.textContent = "🖼️";
+ addedNodes.push(replace_preview_btn);
+ }
+
+ replace_preview_btn.classList.add("card-button", "removecard");
+
+ } else if (replace_preview_btn.parentElement) {
+ replace_preview_btn.parentElement.removeChild(replace_preview_btn);
+ }
+
+ // search_term node
+ // search_term = subfolder path + model name + ext
+ search_term_node = card.querySelector(".actions .additional .search_term");
+ if (!search_term_node) {
+ console.log("can not find search_term node for cards in " + active_tab_type + "_" + active_extra_tab_type + "_cards");
+ return;
+ }
+
+ // get search_term
+ search_term = search_term_node.textContent;
+ if (!search_term) {
+ console.log("search_term is empty for cards in " + active_tab_type + "_" + active_extra_tab_type + "_cards");
+ return;
+ }
+
+ // then we need to add buttons to each ul node:
+ if (!opts["ch_hide_buttons"].includes("open_url_button")) {
+ let open_url_node = document.createElement("a");
+ open_url_node.href = "#";
+ open_url_node.textContent = "🌐";
+ open_url_node.classList.add("card-button", "openurl");
+ open_url_node.title = "Open this model's civitai url";
+ open_url_node.setAttribute("onclick", `open_model_url(event, '${model_type}', '${search_term}')`);
+ addedNodes.push(open_url_node);
+ }
+
+ // add br if metadata_button exists
+ if (is_thumb_mode && metadata_button) {
+ addedNodes.push(document.createElement("br"));
+ }
+
+ if (!opts["ch_hide_buttons"].includes("add_trigger_words_button")) {
+ let add_trigger_words_node = document.createElement("a");
+ add_trigger_words_node.href = "#";
+ add_trigger_words_node.textContent = "💡";
+ add_trigger_words_node.classList.add("card-button", "addtriggerwords");
+ add_trigger_words_node.title = "Add trigger words to prompt";
+ add_trigger_words_node.setAttribute("onclick", `add_trigger_words(event, '${model_type}', '${search_term}')`);
+ addedNodes.push(add_trigger_words_node);
+ }
+
+ if (!opts["ch_hide_buttons"].includes("add_preview_prompt_button")) {
+ let use_preview_prompt_node = document.createElement("a");
+ use_preview_prompt_node.href = "#";
+ use_preview_prompt_node.textContent = "🏷️";
+ use_preview_prompt_node.classList.add("card-button", "usepreviewprompt");
+ use_preview_prompt_node.title = "Use prompt from preview image";
+ use_preview_prompt_node.setAttribute("onclick", `use_preview_prompt(event, '${model_type}', '${search_term}')`);
+ addedNodes.push(use_preview_prompt_node);
+ }
+
+ if (!opts["ch_hide_buttons"].includes("rename_model_button")) {
+ let rename_card_node = document.createElement("a");
+ rename_card_node.href = "#";
+ rename_card_node.innerHTML = "✏️";
+ rename_card_node.classList.add("card-button", "renamecard");
+ rename_card_node.title = "Rename this model";
+ rename_card_node.setAttribute("onclick", `rename_card(event, '${model_type}', '${search_term}', '${model_name}')`);
+ addedNodes.push(rename_card_node);
+ }
+
+ if (!opts["ch_hide_buttons"].includes("remove_model_button")) {
+ let remove_card_node = document.createElement("a");
+ remove_card_node.href = "#";
+ remove_card_node.innerHTML = "❌";
+ remove_card_node.classList.add("card-button", "removecard");
+ remove_card_node.title = "Remove this model";
+ remove_card_node.setAttribute("onclick", `remove_card(event, '${model_type}', '${search_term}')`);
+ addedNodes.push(remove_card_node);
+ }
+
+ // add to buttons row
+ for (const node of addedNodes) {
+ ul_node.appendChild(node);
+ }
+
+ // add buttons to card
+ if (!ul_node.parentElement && ul_node.children) {
+ additional_node.appendChild(ul_node);
+ }
+}
+
+onUiLoaded(() => {
+
+ //get gradio version
+ const gradio_ver = ch_gradio_version();
+ console.log("Running Stable-Diffusion-Webui-Civitai-Helper on Gradio Version: " + gradio_ver);
+
+ // get all extra network tabs
+ const tab_prefix_list = ["txt2img", "img2img"];
+ const model_type_list = ["textual_inversion", "hypernetworks", "checkpoints", "lora", "lycoris"];
+
+ // update extra network tab pages' cards
+ // * replace "replace preview" text button into an icon
+ // * add 3 button to each card:
+ // - open model url 🌐
+ // - add trigger words 💡
+ // - use preview image's prompt 🏷️
+ // notice: javascript can not get response from python side
+ // so, these buttons just sent request to python
+ // then, python side gonna open url and update prompt text box, without telling js side.
+ function update_card_for_civitai() {
+ if (!(opts && "ch_always_display" in opts)) {
+ // Lobe theme can cause a race condition.
+ return setTimeout(update_card_for_civitai, 500);
+ }
+
+ let replace_preview_text = getTranslation("replace preview");
+ if (!replace_preview_text) {
+ replace_preview_text = "replace preview";
+ }
+
+ let extra_network_node = null;
+ let model_type = "";
+ let cards = null;
+
+ //get current tab
+ let active_tab_type = getActiveTabType();
+ if (!active_tab_type) {active_tab_type = "txt2img";}
+
+ for (const tab_prefix of tab_prefix_list) {
+ if (tab_prefix != active_tab_type) {continue;}
+
+ //get active extratab
+ const re = new RegExp(tab_prefix + "_(.+)_cards");
+ const active_extra_tab = Array.from(get_uiCurrentTabContent().querySelectorAll('.extra-network-cards,.extra-network-thumbs'))
+ .find(el => el.closest('.tabitem').style.display === 'block')
+ ?.id.match(re)[1];
+
+ const active_extra_tab_type = getShortModelTypeFromFull(active_extra_tab);
+
+ for (const js_model_type of model_type_list) {
+ //get model_type for python side
+ model_type = getShortModelTypeFromFull(js_model_type);
+
+ if (!model_type) {
+ console.log("can not get model_type from: " + js_model_type);
+ continue;
+ }
+
+
+ //only handle current sub-tab
+ if (model_type != active_extra_tab_type) {
+ continue;
+ }
+
+ //console.log("handle active extra tab");
+ extra_network_id = tab_prefix + "_" + js_model_type + "_cards";
+
+ // console.log("searching extra_network_node: " + extra_network_id);
+ extra_network_node = getModelCardsEl(tab_prefix, js_model_type);
+
+ // get all card nodes
+ cards = extra_network_node.querySelectorAll(".card");
+ for (const card of cards) {
+ processSingleCard(active_tab_type, active_extra_tab_type, card);
+ }
+
+ }
+
+ }
+
+ }
+
+ /*
+ let extra_network_refresh_btn = null;
+ */
+ let extra_networks_btn = null;
+
+ //add refresh button to extra network's toolbar
+ for (const prefix of tab_prefix_list) {
+ // load extra networks button
+ extra_networks_btn = gradioApp().getElementById(prefix + "_extra_networks");
+
+
+ // pre-1.6
+ if (extra_networks_btn) {
+ function extraNetworksClick() {
+ waitForExtraTabs(prefix, model_type_list);
+ extra_networks_btn.removeEventListener("click", extraNetworksClick);
+ }
+
+ // add listener to extra_networks_btn
+ extra_networks_btn.addEventListener("click", extraNetworksClick);
+ continue;
+
+ }
+
+ // 1.6 and higher
+ const extra_tab = getExtraTabs(prefix);
+ const headers = extra_tab.firstChild.children;
+
+ for (const header of headers) {
+ const model_type = header.textContent.trim().replace(" ", "_").toLowerCase();
+
+ function extraNetworksClick() {
+ waitForExtraTabs(prefix, [model_type]);
+ header.removeEventListener("click", extraNetworksClick);
+ }
+
+ header.addEventListener("click", extraNetworksClick);
+ }
+
+ //get toolbar
+ extra_networks_btn = gradioApp().getElementById(prefix + "_extra_networks");
+
+ }
+
+ //run it once
+ // update_card_for_civitai();
+
+
+});
+
+
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/__pycache__/civitai_helper.cpython-310.pyc b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/__pycache__/civitai_helper.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..244090007d8e064a13f3acbc109bcdc77b5e3465
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/__pycache__/civitai_helper.cpython-310.pyc differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/__init__.py b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/__pycache__/__init__.cpython-310.pyc b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/__pycache__/__init__.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..79cdcd1548020c7de7cf0858eb0beef631591462
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/__pycache__/__init__.cpython-310.pyc differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/__pycache__/civitai.cpython-310.pyc b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/__pycache__/civitai.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..6000279d97fd65df7336675956516307bcd4e7a5
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/__pycache__/civitai.cpython-310.pyc differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/__pycache__/downloader.cpython-310.pyc b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/__pycache__/downloader.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..4a9b1c8a15b08b5e42bf80c6e70e55010b3188d6
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/__pycache__/downloader.cpython-310.pyc differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/__pycache__/js_action_civitai.cpython-310.pyc b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/__pycache__/js_action_civitai.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..9608876353db4d533876a73530a235007d755950
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/__pycache__/js_action_civitai.cpython-310.pyc differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/__pycache__/model.cpython-310.pyc b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/__pycache__/model.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..e8372e93c0cac007a0eff482584b96d4a09e0dee
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/__pycache__/model.cpython-310.pyc differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/__pycache__/model_action_civitai.cpython-310.pyc b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/__pycache__/model_action_civitai.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..fdac75f018f300f17c6ea33d8ce4227af7d9da33
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/__pycache__/model_action_civitai.cpython-310.pyc differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/__pycache__/msg_handler.cpython-310.pyc b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/__pycache__/msg_handler.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..b7fd30322deccbe828195decdac4b71928d54892
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/__pycache__/msg_handler.cpython-310.pyc differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/__pycache__/templates.cpython-310.pyc b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/__pycache__/templates.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..fc6daff772ca317117512a54c494eef3f505b823
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/__pycache__/templates.cpython-310.pyc differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/__pycache__/util.cpython-310.pyc b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/__pycache__/util.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..aafd044a8201eeb2f8fad3f9a0a895d60bd7a658
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/__pycache__/util.cpython-310.pyc differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/civitai.py b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/civitai.py
new file mode 100644
index 0000000000000000000000000000000000000000..f515676aa05c0fe33675b42b4a2b24856c035dff
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/civitai.py
@@ -0,0 +1,670 @@
+""" -*- coding: UTF-8 -*-
+handle msg between js and python side
+"""
+
+import os
+import re
+from . import util
+from . import model
+from . import downloader
+
+SUFFIX = ".civitai"
+
+URLS = {
+ "modelPage":"https://civitai.com/models/",
+ "modelId": "https://civitai.com/api/v1/models/",
+ "modelVersionId": "https://civitai.com/api/v1/model-versions/",
+ "hash": "https://civitai.com/api/v1/model-versions/by-hash/"
+}
+
+MODEL_TYPES = {
+ "Checkpoint": "ckp",
+ "TextualInversion": "ti",
+ "Hypernetwork": "hyper",
+ "LORA": "lora",
+ "LoCon": "lycoris",
+}
+
+NSFW_LEVELS = ["None", "Soft", "Mature", "X", "Allow All"]
+
+def civitai_get(civitai_url:str):
+ """
+ Gets JSON from Civitai.
+ return: dict:json or None
+ """
+
+ success, response = downloader.request_get(
+ civitai_url
+ )
+
+ if not success:
+ return None
+
+ # try to get content
+ content = None
+ try:
+ content = response.json()
+ except ValueError as e:
+ util.printD(util.indented_msg(
+ f"""
+ Parse response json failed
+ Error: {str(e)}
+ Response: {response.text}
+ """
+ ))
+ return None
+
+ return content
+
+def get_full_size_image_url(image_url, width):
+ """
+ Get image with full size
+ Width is in number, not string
+
+ return: url str
+ """
+ return re.sub(r'/width=\d+/', '/width=' + str(width) + '/', image_url)
+
+
+def append_parent_model_metadata(content):
+ """
+ Some model metadata is stored in a "parent" context.
+ When we're fething a model by its hash, we're getting
+ the metadata for that model *file*, not the model entry
+ on Civitai, which may contain multiple versions.
+
+ This method gets the parent metadata and appends it to
+ our model file metadata.
+
+ return: model metadata with parent description, creator,
+ and permissions appended.
+ """
+ util.printD("Fetching Parent Model Information")
+ parent_model = get_model_info_by_id(content["modelId"])
+
+ metadatas = [
+ "description", "tags", "allowNoCredit",
+ "allowCommercialUse", "allowDerivatives",
+ "allowDifferentLicense"
+ ]
+
+ content["creator"] = parent_model.get("creator", "{}")
+
+ model_metadata = content["model"]
+ for metadata in metadatas:
+ model_metadata[metadata] = parent_model.get(metadata, "")
+
+ return content
+
+
+# use this sha256 to get model info from civitai
+# return: model info dict
+def get_model_info_by_hash(model_hash:str):
+ """
+ use this sha256 to get model info from civitai's api
+
+ return:
+ model info dict if a model is found
+ {} if civitai does not have the model
+ None if an error occurs.
+ """
+ util.printD("Request model info from civitai")
+
+ if not model_hash:
+ util.printD("hash is empty")
+ return None
+
+ content = civitai_get(f'{URLS["hash"]}{model_hash}')
+
+ if content:
+ content = append_parent_model_metadata(content)
+
+ return content
+
+
+def get_model_info_by_id(model_id:str) -> dict:
+ """
+ Fetches model info by its model id.
+ returns: dict:model_info
+ """
+
+ util.printD(f"Request model info from civitai: {model_id}")
+
+ if not model_id:
+ util.printD("model_id is empty")
+ return False
+
+ content = civitai_get(f'{URLS["modelId"]}{model_id}')
+
+ return content
+
+
+def get_version_info_by_version_id(version_id:str) -> dict:
+ """
+ Gets model version info from Civitai by version id
+ return: dict:model_info
+ """
+ util.printD("Request version info from civitai")
+
+ if not version_id:
+ util.printD("version_id is empty")
+ return None
+
+ content = civitai_get(f'{URLS["modelVersionId"]}{version_id}')
+
+ if content:
+ content = append_parent_model_metadata(content)
+
+ return content
+
+
+def get_version_info_by_model_id(model_id:str) -> dict:
+ """
+ Fetches version info by model id.
+ returns: dict:version_info
+ """
+
+ model_info = get_model_info_by_id(model_id)
+ if not model_info:
+ util.printD(f"Failed to get model info by id: {model_id}")
+ return None
+
+ # check content to get version id
+ versions = model_info.get("modelVersions", [])
+ if len(versions) == 0:
+ util.printD("Found no model versions")
+ return None
+
+ def_version = versions[0]
+ if not def_version:
+ util.printD("default version is None")
+ return None
+
+ version_id = def_version.get("id", "")
+
+ if not version_id:
+ util.printD("Could not get valid version id")
+ return None
+
+ # get version info
+ version_info = get_version_info_by_version_id(f"{version_id}")
+ if not version_info:
+ util.printD(f"Failed to get version info by version_id: {version_id}")
+ return None
+
+ return version_info
+
+
+def load_model_info_by_search_term(model_type, search_term):
+ """
+ get model info file's content by model type and search_term
+ parameter: model_type, search_term
+ return: model_info
+ """
+ util.printD(f"Load model info of {search_term} in {model_type}")
+ if model.folders.get(model_type, None) is None:
+ util.printD(f"unknown model type: {model_type}")
+ return None
+
+ # search_term = f"{subfolderpath}{model name}{ext}"
+ # And it always start with a / even when there is no sub folder
+ base, _ = os.path.splitext(search_term)
+ model_info_base = base
+ if base[:1] == "/":
+ model_info_base = base[1:]
+
+ if model_type == "lora" and model.folders['lycoris']:
+ model_folders = [model.folders[model_type], model.folders['lycoris']]
+ else:
+ model_folders = [model.folders[model_type]]
+
+ for model_folder in model_folders:
+ model_info_filename = f"{model_info_base}{SUFFIX}{model.CIVITAI_EXT}"
+ model_info_filepath = os.path.join(model_folder, model_info_filename)
+
+ found = os.path.isfile(model_info_filepath)
+
+ if found:
+ break
+
+ if not found:
+ util.printD(f"Can not find model info file: {model_info_filepath}")
+ return None
+
+ return model.load_model_info(model_info_filepath)
+
+
+def get_model_names_by_type_and_filter(model_type:str, metadata_filter:dict) -> list:
+ """
+ get model file names by model type
+ parameter: model_type - string
+ parameter: filter - dict, which kind of model you need
+ return: model name list
+ """
+
+ if model_type == "lora" and model.folders['lycoris']:
+ model_folders = [model.folders[model_type], model.folders['lycoris']]
+ else:
+ model_folders = [model.folders[model_type]]
+
+ # set metadata_filter
+ # only get models don't have a civitai info file
+ no_info_only = False
+ empty_info_only = False
+
+ if metadata_filter:
+ no_info_only = metadata_filter.get("no_info_only", False)
+ empty_info_only = metadata_filter.get("empty_info_only", False)
+
+ # get information from filter
+ # only get those model names don't have a civitai model info file
+ model_names = []
+ for model_folder in model_folders:
+ for root, _, files in os.walk(model_folder, followlinks=True):
+ for filename in files:
+ if is_valid_file(root, filename, no_info_only, empty_info_only):
+ model_names.append(filename)
+
+ return model_names
+
+
+def is_valid_file(root, filename, no_info_only, empty_info_only):
+ """
+ Filters through model files to determine if they are
+ valid targets for downloading new metadata.
+
+ return: bool
+ """
+ item = os.path.join(root, filename)
+ # check extension
+ base, ext = os.path.splitext(item)
+ if ext not in model.EXTS:
+ return False
+
+ # find a model
+ info_file = f"{base}{SUFFIX}{model.CIVITAI_EXT}"
+
+ # check filter
+ if os.path.isfile(info_file):
+ if no_info_only:
+ return False
+
+ if empty_info_only:
+ # load model info
+ model_info = model.load_model_info(info_file)
+ # check content
+ if model_info and "id" in model_info.keys():
+ # find a non-empty model info file
+ return False
+
+ return True
+
+
+def get_model_names_by_input(model_type, empty_info_only):
+ """ return: list of model filenames with empty civitai info files """
+ return get_model_names_by_type_and_filter(model_type, {"empty_info_only":empty_info_only})
+
+
+# get id from url
+def get_model_id_from_url(url:str) -> str:
+ """ return: model_id from civitai url """
+ util.printD("Run get_model_id_from_url")
+ model_id = ""
+
+ if not url:
+ util.printD("url or model id can not be empty")
+ return ""
+
+ if url.isnumeric():
+ # is already an model_id
+ model_id = f"{url}"
+ return model_id
+
+ split_url = re.sub("\\?.+$", "", url).split("/")
+ if len(split_url) < 2:
+ util.printD("url is not valid")
+ return ""
+
+ if split_url[-2].isnumeric():
+ model_id = split_url[-2]
+ elif split_url[-1].isnumeric():
+ model_id = split_url[-1]
+ else:
+ util.printD("There is no model id in this url")
+ return ""
+
+ return model_id
+
+
+def preview_exists(model_path):
+ """ Search for existing preview image. return True if it exists, else false """
+
+ previews = model.get_potential_model_preview_files(model_path)
+
+ for prev in previews:
+ if os.path.isfile(prev):
+ return True
+
+ return False
+
+
+def should_skip(user_rating, image_rating):
+ """ return: True if preview_nsfw level higher than user threshold """
+ order = NSFW_LEVELS
+ return order.index(image_rating) >= order.index(user_rating)
+
+
+def verify_preview(path, img_dict, max_size_preview, nsfw_preview_threshold):
+ """
+ Downloads a preview image if it meets the user's requirements.
+ """
+
+ img_url = img_dict.get("url", None)
+ if img_url is None:
+ yield (False, None)
+
+ image_rating = img_dict.get("nsfw", "None")
+ if image_rating != "None":
+ util.printD(f"This image is NSFW: {image_rating}")
+ if should_skip(nsfw_preview_threshold, image_rating):
+ util.printD("Skip NSFW image")
+ yield (False, None)
+
+ if max_size_preview:
+ # use max width
+ if "width" in img_dict.keys():
+ if img_dict["width"]:
+ img_url = get_full_size_image_url(img_url, img_dict["width"])
+
+ success = False
+ preview_path = ""
+ for result in downloader.dl_file(img_url, file_path=path):
+ if not isinstance(result, str):
+ success, preview_path = result
+ break
+
+ yield result
+
+
+ if not success:
+ yield (False, None)
+
+ # we only need 1 preview image
+ yield (True, preview_path)
+
+
+# get preview image by model path
+# image will be saved to file, so no return
+def get_preview_image_by_model_path(model_path:str, max_size_preview, nsfw_preview_threshold):
+ """
+ Downloads a preview image for a model if one doesn't already exist.
+ Skips images that are more NSFW than the user's NSFW threshold
+ """
+ util.printD("Downloading model image.")
+
+ if not model_path:
+ util.printD("model_path is empty")
+ return
+
+ if not os.path.isfile(model_path):
+ util.printD(f"model_path is not a file: {model_path}")
+ return
+
+ base, _ = os.path.splitext(model_path)
+ preview_path = f"{base}.preview.png" # TODO png not strictly required
+ info_file = f"{base}{SUFFIX}{model.CIVITAI_EXT}"
+
+ # need to download preview image
+ util.printD(f"Checking preview image for model: {model_path}")
+
+ if preview_exists(model_path):
+ util.printD("Existing model image found. Skipping.")
+ return
+
+ # load model_info file
+ if not os.path.isfile(info_file):
+ return
+
+ try:
+ images = model.load_model_info(info_file)["images"]
+
+ except (KeyError, TypeError):
+ return
+
+ success = False
+ for img_dict in images:
+ for result in verify_preview(
+ preview_path, img_dict, max_size_preview, nsfw_preview_threshold
+ ):
+ if not isinstance(result, str):
+ success, _ = result
+ # Only download one image
+ if success:
+ return
+
+ break
+
+ yield result
+
+ util.printD(f"Could not find any valid preview images for model: {model_path}")
+ yield
+
+
+# search local model by version id in 1 folder, no subfolder
+# return - model_info
+def search_local_model_info_by_version_id(folder:str, version_id:int) -> dict:
+ """ Searches a folder for model_info files,
+ returns the model_info from a file if its id matches the model id.
+ """
+ util.printD("Searching local model by version id")
+ util.printD(f"folder: {folder}")
+ util.printD(f"version_id: {version_id}")
+
+ if not folder:
+ util.printD("folder is none")
+ return None
+
+ if not os.path.isdir(folder):
+ util.printD("folder is not a dir")
+ return None
+
+ if not version_id:
+ util.printD("version_id is none")
+ return None
+
+ # search civitai model info file
+ for filename in os.listdir(folder):
+ # check ext
+ base, ext = os.path.splitext(filename)
+ if ext == model.CIVITAI_EXT:
+ # find info file
+ if not (len(base) > 8 and base[-8:] == SUFFIX):
+ # not a civitai info file
+ continue
+
+ # find a civitai info file
+ path = os.path.join(folder, filename)
+ model_info = model.load_model_info(path)
+ if not model_info:
+ continue
+
+ model_id = model_info.get("id", None)
+ if not model_id:
+ continue
+
+ # util.printD(f"Compare version id, src: {model_id}, target:{version_id}")
+ if f"{model_id}" == f"{version_id}":
+ # find the one
+ return model_info
+
+ return None
+
+
+def get_model_id_from_model_path(model_path:str):
+ """ return model_id using model_path """
+ # get model info file name
+ base, _ = os.path.splitext(model_path)
+ info_file = f"{base}{SUFFIX}{model.CIVITAI_EXT}"
+
+ if not os.path.isfile(info_file):
+ return None
+
+ # get model info
+ model_info_file = model.load_model_info(info_file)
+ local_version_id = model_info_file.get("id", None)
+ model_id = model_info_file.get("modelId", None)
+
+ if None in [model_id, local_version_id]:
+ return None
+
+ return (model_id, local_version_id)
+
+
+def check_model_new_version_by_path(model_path:str, delay:float=0.2) -> tuple:
+ """
+ check new version for a model by model path
+ return (
+ model_path, model_id, model_name, new_verion_id,
+ new_version_name, description, download_url, img_url
+ )
+ """
+
+ if not (model_path and os.path.isfile(model_path)):
+ util.printD(f"model_path is not a file: {model_path}")
+ return None
+
+ result = get_model_id_from_model_path(model_path)
+ if not result:
+ return None
+
+ model_id, local_version_id = result
+
+ # get model info by id from civitai
+ model_info = get_model_info_by_id(model_id)
+
+ util.delay(delay)
+
+ if not model_info:
+ return None
+
+ model_versions = model_info.get("modelVersions", [])
+
+ if len(model_versions) == 0:
+ return None
+
+ current_version = model_versions[0]
+ if not current_version:
+ return None
+
+ current_version_id = current_version.get("id", False)
+
+ util.printD(f"Compare version id, local: {local_version_id}, remote: {current_version_id}")
+
+ if not (current_version_id and current_version_id != local_version_id):
+ return None
+
+ model_name = model_info.get("name", "")
+ new_version_name = current_version.get("name", "")
+ description = current_version.get("description", "")
+ download_url = current_version.get("downloadUrl", "")
+
+ # get 1 preview image
+ try:
+ img_url = current_version["images"][0]["url"]
+ except (IndexError, KeyError):
+ img_url = ""
+
+ return (
+ model_path, model_id, model_name, current_version_id,
+ new_version_name, description, download_url, img_url
+ )
+
+
+def check_single_model_new_version(root, filename, model_type, delay):
+ """
+ return: True if a valid model has a new version.
+ """
+ # check ext
+ item = os.path.join(root, filename)
+ _, ext = os.path.splitext(item)
+
+ if ext not in model.EXTS:
+ return False
+
+ # find a model
+ request = check_model_new_version_by_path(item, delay)
+
+ if not request:
+ return False
+
+ request = request + (model_type,)
+
+ # model_path, model_id, model_name, version_id, new_version_name, description, downloadUrl, img_url = request
+ version_id = request[3]
+
+ # check exist
+ if not version_id:
+ return False
+
+ # search this new version id to check if this model is already downloaded
+ target_model_info = search_local_model_info_by_version_id(root, version_id)
+ if target_model_info:
+ util.printD("New version is already exists")
+ return False
+
+ return request
+
+
+def check_models_new_version_by_model_types(model_types:list, delay:float=0.2) -> list:
+ """
+ check all models of model_types for new version
+ parameter: delay - float, how many seconds to delay between each request to civitai
+ return: new_versions
+ a list for all new versions, each one is
+ (model_path, model_id, model_name, new_verion_id,
+ new_version_name, description, download_url, img_url)
+ """
+ util.printD("Checking models' new version")
+
+ if not model_types:
+ return []
+
+ # check model types, which could be a string as 1 type
+ mts = []
+ if isinstance(model_types, str):
+ mts.append(model_types)
+ elif isinstance(model_types, list):
+ mts = model_types
+ else:
+ util.printD("Unknown model types:")
+ util.printD(model_types)
+ return []
+
+ # new version list
+ new_versions = []
+ new_version_ids = []
+
+ # walk all models
+ for model_type, model_folder in model.folders.items():
+ if model_type not in mts:
+ continue
+
+ util.printD(f"Scanning path: {model_folder}")
+ for root, _, files in os.walk(model_folder, followlinks=True):
+ for filename in files:
+ version = check_single_model_new_version(root, filename, model_type, delay)
+
+ if not version:
+ continue
+
+ # model_path, model_id, model_name, version_id, new_version_name, description, downloadUrl, img_url = version
+ version_id = version[3]
+
+ if version_id in new_version_ids:
+ continue
+
+ # add to list
+ new_versions.append(version)
+ new_version_ids.append(version_id)
+
+ return new_versions
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/downloader.py b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/downloader.py
new file mode 100644
index 0000000000000000000000000000000000000000..1fbc78723da8774afaec9ebbec347ba6fd45d15b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/downloader.py
@@ -0,0 +1,313 @@
+""" -*- coding: UTF-8 -*-
+Used for downloading files
+"""
+from __future__ import annotations
+import os
+import platform
+import time
+from tqdm import tqdm
+import requests
+import urllib3
+from . import util
+
+
+DL_EXT = ".downloading"
+MAX_RETRIES = 3
+
+# disable ssl warning info
+urllib3.disable_warnings()
+
+
+def request_get(url:str, headers=None, retries=0) -> tuple[bool, requests.Response]:
+ """
+ Performs a GET request
+ return: request
+ """
+
+ headers = util.append_default_headers(headers or {})
+
+ try:
+ response = requests.get(
+ url,
+ stream=True,
+ verify=False,
+ headers=headers,
+ proxies=util.PROXIES,
+ timeout=util.REQUEST_TIMEOUT
+ )
+
+ except TimeoutError:
+ output = f"GET Request timed out for {url}"
+ print(output)
+ return (False, output)
+
+ if not response.ok:
+ code = response.status_code
+ reason = response.reason
+ util.printD(util.indented_msg(
+ f"""
+ GET Request failed with error code:
+ {code}: {reason}
+ """
+ ))
+
+ if response.status_code == 401:
+ return (
+ False,
+ "This download requires Authentication. Please add an API Key to Civitai Helper's settings to continue this download. See [Wiki](https://github.com/zixaphir/Stable-Diffusion-Webui-Civitai-Helper/wiki/Civitai-API-Key) for details on how to create an API Key."
+ )
+
+ if response.status_code != 404 and retries < MAX_RETRIES:
+ util.printD("Retrying")
+ return request_get(url, headers, retries + 1)
+
+ return (False, response)
+
+ return (True, response)
+
+
+def visualize_progress(percent:int, downloaded, total, speed, show_bar=True) -> str:
+ """ Used to display progress in webui """
+
+ percent_as_int = percent
+ total = f"{total}"
+ downloaded = f"{downloaded:>{len(total)}}"
+ percent = f"{percent:>3}"
+
+ snippet = f"`{percent}%: {downloaded} / {total} @ {speed}`"
+
+ if not show_bar:
+ # Unfortunately showing a progress bar in webui
+ # is very weird on mobile with limited horizontal
+ # space
+ return snippet.replace(" ", "\u00a0")
+
+ progress = "\u2588" * percent_as_int
+
+ return f"`[{progress:<100}] {snippet}`".replace(" ", "\u00a0")
+
+
+def download_progress(url:str, file_path:str, total_size:int, headers={}) -> bool | float:
+ """
+ Performs a file download.
+ returns: True or an error message.
+ """
+ # use a temp file for downloading
+
+ dl_path = f"{file_path}{DL_EXT}"
+
+ util.printD(f"Downloading to temp file: {dl_path}")
+
+ # check if downloading file exists
+ downloaded_size = 0
+ if os.path.exists(dl_path):
+ downloaded_size = os.path.getsize(dl_path)
+ util.printD(f"Resuming partially downloaded file from progress: {downloaded_size}")
+
+ # create header range
+ headers["Range"] = f"bytes={downloaded_size:d}-"
+ headers = util.append_default_headers(headers)
+
+ # download with header
+ success, response = request_get(
+ url,
+ headers=headers,
+ )
+
+ if not success:
+ yield (False, response)
+
+ last_tick = 0
+ start = time.time()
+
+ downloaded_this_session = 0
+
+ # write to file
+ with open(dl_path, 'wb') as target, tqdm(
+ total=total_size,
+ unit='iB',
+ unit_scale=True,
+ unit_divisor=1024
+ ) as progress_bar:
+ for chunk in response.iter_content(chunk_size=256*1024):
+ if chunk:
+ downloaded_this_session += len(chunk)
+ downloaded_size += len(chunk)
+ written = target.write(chunk)
+
+ # write to disk
+ target.flush()
+
+ progress_bar.update(written)
+
+ percent = int(100 * (downloaded_size / total_size))
+ timer = time.time()
+
+ # Gradio output is a *slooowwwwwwww* asynchronous FIFO queue
+ if timer - last_tick > 0.2 or percent == 100:
+
+ last_tick = timer
+ elapsed = timer - start
+ speed = downloaded_this_session // elapsed if elapsed >= 1 \
+ else downloaded_this_session
+
+ # Mac reports filesizes in multiples of 1000
+ # We should respect platform differences
+ unit = 1000 if platform.system() == "Darwin" else 1024
+
+ i = 0
+ while speed > unit:
+ i += 1
+ speed = speed / unit
+ if i >= 3:
+ break
+
+ speed = f'{round(speed, 2)}{["", "K", "M", "G"][i]}Bps'
+
+ text_progress = visualize_progress(
+ percent,
+ downloaded_size,
+ total_size,
+ speed,
+ False
+ )
+
+ yield text_progress
+
+ # check file size
+ downloaded_size = os.path.getsize(dl_path)
+ if downloaded_size != total_size:
+ warning = util.indented_msg(
+ f"""
+ File is not the correct size: {file_path}.
+ Expected {total_size:d}, got {downloaded_size:d}.
+ The file may be corrupt. If you encounter issues,
+ you can try again later or download the file manually: {url}
+ """
+ )
+ util.warning(warning)
+ util.printD(warning)
+
+ # rename file
+ os.rename(dl_path, file_path)
+ output = f"File Downloaded to: {file_path}"
+ util.printD(output)
+
+ yield (True, file_path)
+
+
+def get_file_path_from_service_headers(response:requests.Response, folder:str) -> str:
+ """
+ Parses a response header to get a filename
+ then builds a file_path.
+
+ return: file_path:str
+ """
+
+ content_disposition = response.headers.get("Content-Disposition", None)
+
+ if content_disposition is None:
+ util.printD("Can not get file name from download url's header")
+ return None
+
+ # Extract the filename from the header
+ # content of a CD: "attachment;filename=FileName.txt"
+ # in case "" is in CD filename's start and end, need to strip them out
+ filename = content_disposition.split("=")[1].strip('"')
+ filename = filename.encode('iso8859-1').decode('utf-8')
+ if not filename:
+ util.printD(f"Fail to get file name from Content-Disposition: {content_disposition}")
+ return None
+
+ # with folder and filename, now we have the full file path
+ return os.path.join(folder, filename)
+
+
+# output is downloaded file path
+def dl_file(
+ url:str,
+ folder=None,
+ filename=None,
+ file_path=None,
+ headers={},
+ duplicate=None
+) -> tuple[bool, str]:
+ """
+ Perform a download.
+
+ returns: tuple(success:bool, filepath or failure message:str)
+ """
+
+ success, response = request_get(url, headers=headers)
+
+ if not success:
+ yield (False, response)
+
+ util.printD(f"Start downloading from: {url}")
+
+ # get file_path
+ if not file_path:
+ if not (folder or os.path.isdir(folder)):
+ yield (
+ False,
+ "No directory to save model to."
+ )
+
+ if filename:
+ file_path = os.path.join(folder, filename)
+ else:
+ file_path = get_file_path_from_service_headers(response, folder)
+
+ if not file_path:
+ yield (
+ False,
+ f"Could not get a file_path to place saved file:"
+ )
+
+ util.printD(f"Target file path: {file_path}")
+ base, ext = os.path.splitext(file_path)
+
+ # duplicate handling
+ if os.path.isfile(file_path):
+ if duplicate == "Rename New":
+ # check if file is already exist
+ count = 2
+ new_base = base
+ while os.path.isfile(file_path):
+ util.printD("Target file already exist.")
+ # rename duplicate
+ new_base = f"{base}_{count}"
+ file_path = f"{new_base}{ext}"
+ count += 1
+
+ elif duplicate != "Overwrite":
+ yield (
+ False,
+ f"File {file_path} already exists! Download will not proceed."
+ )
+
+ # get file size
+ total_size = int(response.headers['Content-Length'])
+ util.printD(f"File size: {total_size}")
+
+ for result in download_progress(url, file_path, total_size, headers):
+ if not isinstance(result, str):
+ success, output = result
+ break
+
+ yield result
+
+ yield (success, output)
+
+
+def error(download_url:str, msg:str) -> str:
+ """ Display a download error """
+ output = util.indented_msg(
+ f"""
+ Download failed.
+ {msg}
+ Download url: {download_url}
+ """
+ )
+ util.printD(output)
+ return output
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/js_action_civitai.py b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/js_action_civitai.py
new file mode 100644
index 0000000000000000000000000000000000000000..c8b54f1b0ebf4e7e8618be7aac7ed0fce9bd885e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/js_action_civitai.py
@@ -0,0 +1,379 @@
+""" -*- coding: UTF-8 -*-
+handle msg between js and python side
+"""
+import os
+from pathlib import Path
+import webbrowser
+from . import util
+from . import model
+from . import civitai
+from . import msg_handler
+from . import downloader
+
+
+def open_model_url(msg):
+ """
+ get civitai's model url and open it in browser
+ parameter: model_type, search_term
+ output: python msg
+ - will be sent to hidden textbox then picked by js side
+ """
+ util.printD("Start open_model_url")
+
+ output = ""
+ result = msg_handler.parse_js_msg(msg)
+ if not result:
+ util.printD("Parsing js ms failed")
+ return None
+
+ model_type = result["model_type"]
+ search_term = result["search_term"]
+
+ model_info = civitai.load_model_info_by_search_term(model_type, search_term)
+ if not model_info:
+ util.printD(f"Failed to get model info for {model_type} {search_term}")
+ return ""
+
+ if "modelId" not in model_info.keys():
+ util.printD(f"Failed to get model id from info file for {model_type} {search_term}")
+ return ""
+
+ model_id = model_info["modelId"]
+ if not model_id:
+ util.printD(f"model id from info file of {model_type} {search_term} is None")
+ return ""
+
+ url = f'{civitai.URLS["modelPage"]}{model_id}'
+
+ # msg content for js
+ content = {
+ "url": ""
+ }
+
+ if not util.get_opts("ch_open_url_with_js"):
+ util.printD(f"Open Url: {url}")
+ # open url
+ webbrowser.open_new_tab(url)
+ else:
+ util.printD("Send Url to js")
+ content["url"] = url
+ output = msg_handler.build_py_msg("open_url", content)
+
+ util.printD("End open_model_url")
+ return output
+
+
+def add_trigger_words(msg):
+ """
+ add trigger words to prompt
+ parameter: model_type, search_term, prompt
+ return: [new_prompt, new_prompt]
+ - new prompt with trigger words, return twice for txt2img and img2img
+ """
+ util.printD("Start add_trigger_words")
+
+ result = msg_handler.parse_js_msg(msg)
+ if not result:
+ util.printD("Parsing js ms failed")
+ return None
+
+ model_type = result["model_type"]
+ search_term = result["search_term"]
+ prompt = result["prompt"]
+
+ model_info = civitai.load_model_info_by_search_term(model_type, search_term)
+ if not model_info:
+ util.printD(f"Failed to get model info for {model_type} {search_term}")
+ return [prompt, prompt]
+
+ if "trainedWords" not in model_info.keys():
+ util.printD(f"Failed to get trainedWords from info file for {model_type} {search_term}")
+ return [prompt, prompt]
+
+ trained_words = model_info.get("trainedWords", [])
+ if len(trained_words) == 0:
+ util.printD(f"trainedWords from info file for {model_type} {search_term} is empty")
+ return [prompt, prompt]
+
+ # guess if trained words are a list of words or list of prompts
+ prompt_list = ',' in trained_words[0]
+
+ # if a list of prompts, join with a newline, else a comma and a space
+ separator = "\n" if prompt_list else ", "
+ trigger_words = separator.join(trained_words)
+
+ new_prompt = f"{prompt} {trigger_words}"
+
+ util.printD(f"trigger_words: {trigger_words}")
+ util.printD(f"prompt: {prompt}")
+ util.printD(f"new_prompt: {new_prompt}")
+
+ util.printD("End add_trigger_words")
+
+ # add to prompt
+ return [new_prompt, new_prompt]
+
+
+def use_preview_image_prompt(msg):
+ """
+ use preview image's prompt as prompt
+ parameter: model_type, model_name, prompt, neg_prompt
+ return: [new_prompt, new_neg_prompt, new_prompt, new_neg_prompt,]
+ - return twice for txt2img and img2img
+ """
+ util.printD("Start use_preview_image_prompt")
+
+ result = msg_handler.parse_js_msg(msg)
+ if not result:
+ util.printD("Parsing js ms failed")
+ return None
+
+ model_type = result["model_type"]
+ search_term = result["search_term"]
+ prompt = result["prompt"]
+ neg_prompt = result["neg_prompt"]
+
+
+ model_info = civitai.load_model_info_by_search_term(model_type, search_term)
+ if not model_info:
+ util.printD(f"Failed to get model info for {model_type} {search_term}")
+ return [prompt, neg_prompt, prompt, neg_prompt]
+
+ images = model_info.get("images", [])
+ if len(images) == 0:
+ util.printD(f"No images from info file for {model_type} {search_term}")
+ return [prompt, neg_prompt, prompt, neg_prompt]
+
+ # get prompt from preview images' meta data
+ preview_prompt = ""
+ preview_neg_prompt = ""
+ for img in images:
+ meta = img.get("meta", {})
+ preview_prompt = meta.get("prompt", "")
+ preview_neg_prompt = meta.get("negativePrompt", "")
+
+ # we only need 1 prompt
+ if preview_prompt:
+ break
+
+ if not preview_prompt:
+ util.printD(f"There is no prompt of {model_type} {search_term} in its preview image")
+ return [prompt, neg_prompt, prompt, neg_prompt]
+
+ util.printD("End use_preview_image_prompt")
+
+ return [preview_prompt, preview_neg_prompt, preview_prompt, preview_neg_prompt]
+
+
+def dl_model_new_version(msg, max_size_preview, nsfw_preview_threshold):
+ """
+ download model's new verson by model path, version id and download url
+ output is a md log
+
+ This method is triggered by a click event on the client/js
+ side that sends a signal to download a single new model
+ version. The actual check for new models is in
+ `model_action_civitai.check_models_new_version_to_md`.
+ return: output:str
+ """
+ util.printD("Start dl_model_new_version")
+
+ output = ""
+
+ result = msg_handler.parse_js_msg(msg)
+ if not result:
+ output = "Parsing js msg failed"
+ util.printD(output)
+ yield output
+ return
+
+ model_path = result["model_path"]
+ version_id = result["version_id"]
+ download_url = result["download_url"]
+ model_type = result["model_type"]
+
+ # check data
+ if not (model_path and version_id and download_url):
+ output = util.indented_msg(f"""
+ Missing parameter:
+ {model_path=}
+ {version_id=}
+ {download_url=}
+ """)
+ util.printD(output)
+ yield output
+ return
+
+ util.printD(f"model_path: {model_path}")
+ util.printD(f"version_id: {version_id}")
+ util.printD(f"download_url: {download_url}")
+
+ if not os.path.isfile(model_path):
+ output = f"model_path is not a file: {model_path}"
+ util.printD(output)
+ yield output
+ return
+
+ # get model folder from model path
+ model_folder = os.path.dirname(model_path)
+
+ success = False
+ # download file + webui visible progress bar
+ for result in downloader.dl_file(download_url, folder=model_folder):
+ if not isinstance(result, str):
+ success, output = result
+ break
+
+ yield result
+
+ if not success:
+ util.printD(output)
+ yield "Model download failed. See console for more details."
+ return
+
+ # get version info
+ version_info = civitai.get_version_info_by_version_id(version_id)
+
+ # now write version info to files
+ model.process_model_info(output, version_info, model_type)
+
+ # then, get preview image
+ for result in civitai.get_preview_image_by_model_path(
+ output,
+ max_size_preview,
+ nsfw_preview_threshold
+ ):
+ yield result
+
+ output = f"Done. Model downloaded to: {output}"
+ util.printD(output)
+ yield output
+
+
+def get_model_path_from_js_msg(result):
+ """
+ Gets a model path based on the webui js_msg.
+
+ return: model_path
+ """
+ if not result:
+ output = "Parsing js ms failed"
+ util.error(output)
+ util.printD(output)
+ return None
+
+ model_type = result["model_type"]
+ search_term = result["search_term"]
+
+ model_path = model.get_model_path_by_search_term(model_type, search_term)
+ if not model_path:
+ output = f"Fail to get model for {model_type} {search_term}"
+ util.error(output)
+ util.printD(output)
+ return None
+
+ if not os.path.isfile(model_path):
+ output = f"Model {model_type} {search_term} does not exist, no need to remove"
+ util.error(output)
+ util.printD(output)
+ return None
+
+ return model_path
+
+
+def make_new_filename(candidate_file, model_name, new_name):
+ """
+ Substitutes and old model name for a new model name.
+ return: new_path:str or None
+ """
+ path, filename = os.path.split(candidate_file)
+
+ if filename.index(model_name) != 0:
+ output = util.indented_msg(f"""
+ Could not find model_name in candidate file
+ {model_name=}
+ {candidate_file=}
+ {new_name=}
+ """)
+ util.error(output)
+ util.printD(output)
+ return None
+
+ # handles [model_name].civitai.info and [model_name].preview.[ext]
+ new_filename = filename.replace(model_name, new_name, 1)
+
+ new_path = os.path.join(path, new_filename)
+
+ return new_path
+
+
+def rename_model_by_path(msg):
+ """
+ Rename a model file and all related ch_helper/
+ preview image files.
+ """
+ util.printD("Start rename_model_by_path")
+
+ output = ""
+ result = msg_handler.parse_js_msg(msg)
+
+ model_path = get_model_path_from_js_msg(result)
+
+ if model_path is None:
+ output = "Could not rename model."
+ return output
+
+ # all files need to be renamed
+ model_files = model.get_model_files_from_model_path(model_path)
+ model_name = Path(model_path).stem
+ new_name = util.bash_filename(result["new_name"])
+
+ renamed = []
+ for candidate_file in model_files:
+ new_path = make_new_filename(candidate_file, model_name, new_name)
+ if new_path is None:
+ continue
+
+ renamed.append(f"* {candidate_file} to {new_path}")
+ util.printD(f"Renaming file {candidate_file} to {new_path}")
+ os.rename(candidate_file, new_path)
+
+ renamed = "\n".join(renamed)
+ status = f"The following files were renamed: \n{renamed}"
+ util.info(status)
+
+ util.printD("End rename_model_by_path")
+ return output
+
+
+def remove_model_by_path(msg):
+ """
+ Remove a model file and all related ch_helper/
+ preview image files.
+ """
+ output = ""
+ util.printD("Start remove_model_by_path")
+
+ result = msg_handler.parse_js_msg(msg)
+
+ model_path = get_model_path_from_js_msg(result)
+
+ if model_path is None:
+ output = "Could not remove model."
+ return output
+
+ # all files need to be renamed
+ model_files = model.get_model_files_from_model_path(model_path)
+
+ removed = []
+ for candidate_file in model_files:
+ util.printD(f"* Removing file {candidate_file}")
+ removed.append(candidate_file)
+ os.remove(candidate_file)
+
+ removed = "\n".join(removed)
+ status = f"The following files were removed: \n{removed}"
+ util.info(status)
+
+ util.printD("End remove_model_by_path")
+ return output
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/model.py b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/model.py
new file mode 100644
index 0000000000000000000000000000000000000000..f738bf97283638e6bf26f03c1f321f4f435b3b88
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/model.py
@@ -0,0 +1,663 @@
+""" -*- coding: UTF-8 -*-
+Handle model operations
+"""
+import os
+import json
+import re
+from PIL import Image
+import piexif
+import piexif.helper
+from modules import shared
+from modules import paths_internal
+from . import civitai
+from . import downloader
+from . import util
+
+
+# this is the default root path
+ROOT_PATH = paths_internal.data_path
+
+EXTS = (".bin", ".pt", ".safetensors", ".ckpt")
+CIVITAI_EXT = ".info"
+SDWEBUI_EXT = ".json"
+
+"""
+If command line arguement is used to change model folder,
+then model folder is in absolute path, not based on this root path anymore.
+so to make extension work with those absolute model folder paths, model
+folder also need to be in absolute path
+"""
+folders = {
+ "ti": os.path.join(ROOT_PATH, "embeddings"),
+ "hyper": os.path.join(ROOT_PATH, "models", "hypernetworks"),
+ "ckp": os.path.join(ROOT_PATH, "models", "Stable-diffusion"),
+ "lora": os.path.join(ROOT_PATH, "models", "Lora"),
+ "lycoris": os.path.join(ROOT_PATH, "models", "LyCORIS"),
+}
+
+
+class VersionMismatchException(Exception):
+ """ Used for version comarison failures """
+
+ def __init__(self, value):
+ self.value = value
+
+ def __str__(self):
+ return repr(self.value)
+
+
+def get_model_info_paths(model_path):
+ """
+ Retrieve model info paths
+ return: (info_file:str, sd15_file:str)
+ """
+ base, _ = os.path.splitext(model_path)
+ info_file = f"{base}{civitai.SUFFIX}{CIVITAI_EXT}"
+ sd15_file = f"{base}{SDWEBUI_EXT}"
+ return (info_file, sd15_file)
+
+
+# get custom model path
+def get_custom_model_folder():
+ """
+ Update extra network directories with user-specified values.
+ """
+ util.printD("Get Custom Model Folder")
+
+ if shared.cmd_opts.embeddings_dir and os.path.isdir(shared.cmd_opts.embeddings_dir):
+ folders["ti"] = shared.cmd_opts.embeddings_dir
+
+ if shared.cmd_opts.hypernetwork_dir and os.path.isdir(shared.cmd_opts.hypernetwork_dir):
+ folders["hyper"] = shared.cmd_opts.hypernetwork_dir
+
+ if shared.cmd_opts.ckpt_dir and os.path.isdir(shared.cmd_opts.ckpt_dir):
+ folders["ckp"] = shared.cmd_opts.ckpt_dir
+
+ if shared.cmd_opts.lora_dir and os.path.isdir(shared.cmd_opts.lora_dir):
+ folders["lora"] = shared.cmd_opts.lora_dir
+
+ try:
+ # pre-1.5.0
+ if os.path.isdir(shared.cmd_opts.lyco_dir):
+ folders["lycoris"] = shared.cmd_opts.lyco_dir
+
+ except AttributeError:
+ try:
+ # sd-webui v1.5.1 added a backcompat option for lyco.
+ if os.path.isdir(shared.cmd_opts.lyco_dir_backcompat):
+ folders["lycoris"] = shared.cmd_opts.lyco_dir_backcompat
+
+ except AttributeError:
+ # v1.5.0 has no options for the Lyco dir:
+ # it is hardcoded as 'os.path.join(paths.models_path, "LyCORIS")'
+ return
+
+
+def metadata_needed(info_file, sd15_file, refetch_old):
+ """ return True if metadata is needed
+ """
+
+ need_civitai = metadata_needed_for_type(info_file, "civitai", refetch_old)
+ need_sdwebui = metadata_needed_for_type(sd15_file, "sdwebui", refetch_old)
+
+ return need_civitai or need_sdwebui
+
+
+def metadata_needed_for_type(path, meta_type, refetch_old):
+ """ return True if metadata is needed for path
+ """
+
+ if meta_type == "sdwebui" and not util.get_opts("ch_dl_webui_metadata"):
+ return False
+
+ if not os.path.isfile(path):
+ return True
+
+ if refetch_old:
+ metadata = None
+ with open(path) as file:
+ metadata = json.load(file)
+
+ metadata_version = util.metadata_version(metadata)
+
+ if not metadata_version:
+ return True
+
+ if meta_type == "civitai":
+ compat_version = util.COMPAT_VERSION_CIVITAI
+ else:
+ compat_version = util.COMPAT_VERSION_SDWEBUI
+
+ util.printD(f"{path}: {metadata_version}, {compat_version}")
+
+ return util.newer_version(compat_version, metadata_version)
+
+ return False
+
+
+def verify_overwrite_eligibility(path, new_data):
+ """
+ Verifies a file is valid to be overwritten
+ Throws an error if the model ID does not match the new version's model ID
+ return: True if valid, False if not.
+ """
+ if not os.path.isfile(path):
+ return True
+
+ with open(path, "r") as file:
+ old_data = json.load(file)
+
+ if "civitai" in path:
+ new_id = new_data.get("id", "")
+ old_id = old_data.get("id", "")
+ if new_id != old_id:
+ if old_id != "":
+ raise VersionMismatchException(
+ f"New metadata id ({new_id}) does not match old metadata id ({old_id})"
+ )
+
+ new_description = new_data.get("description", "")
+ old_description = old_data.get("description", "")
+ if new_description == "" and old_description != "":
+ util.printD(
+ f"New description is blank while old description contains data. Skipping {path}"
+ )
+ return False
+
+ return True
+
+
+def write_info(data, path, info_type):
+ """ Writes model info to a file """
+ util.printD(f"Write model {info_type} info to file: {path}")
+ with open(os.path.realpath(path), 'w') as info_file:
+ info_file.write(json.dumps(data, indent=4))
+
+
+def process_model_info(model_path, model_info, model_type="ckp", refetch_old=False):
+ """
+ Write model info to file
+
+ SD1.5 Webui added saving model information to JSON files.
+ Much of this extension's metadata management is replicated
+ by this new functionality, including automatically adding
+ activator keywords to the prompt. It also provides a much
+ cleaner UI than civitai (not a high bar to clear) to
+ simply read a model's description.
+
+ So why not populate it with useful information?
+
+ Returns True if successful, otherwise an error message.
+ """
+
+ if model_info is None:
+ util.printD("Failed to get model info.")
+ return
+
+ info_file, sd15_file = get_model_info_paths(model_path)
+
+ parent = model_info["model"]
+
+ description = parent.get("description", "")
+ if description:
+ description = util.trim_html(description)
+ parent["description"] = description
+
+ version_description = model_info.get("description", "")
+ if version_description:
+ version_description = util.trim_html(version_description)
+ model_info["description"] = version_description
+
+ tags = parent.get("tags", [])
+ parent["tags"] = tags
+
+ # Create extension versioning information so that users
+ # can replace stale info files without newer entries.
+ model_info["extensions"] = util.create_extension_block(model_info.get("extensions", {}))
+
+ # civitai model info file
+ if metadata_needed_for_type(info_file, "civitai", refetch_old):
+ if refetch_old:
+ try:
+ if verify_overwrite_eligibility(info_file, model_info):
+ write_info(model_info, info_file, "civitai")
+ except VersionMismatchException as e:
+ util.printD(f"{e}, aborting")
+ return
+ else:
+ write_info(model_info, info_file, "civitai")
+
+ if not util.get_opts("ch_dl_webui_metadata"):
+ return
+
+ # Do not overwrite user-created files!
+ # TODO: maybe populate empty fields in existing files?
+ if not metadata_needed_for_type(sd15_file, "sdwebui", refetch_old):
+ util.printD(f"Metadata not needed for: {sd15_file}.")
+ return
+
+ process_sd15_info(sd15_file, model_info, parent, model_type, refetch_old)
+
+
+def process_sd15_info(sd15_file, model_info, parent, model_type, refetch_old):
+ """ Creates/Processes [model_name].json """
+
+ # sd v1.5 model info file
+ sd_data = {}
+
+ util.printD(f"Write model SD webui info to file: {sd15_file}")
+
+ sd_data["description"] = parent.get("description", "")
+
+ # I suppose notes are more for user notes, but populating it
+ # with potentially useful information about this particular
+ # version of the model is fine too, right? The user can
+ # always replace these if they're unneeded or add to them
+ version_info = model_info.get("description", None)
+ if version_info is not None:
+ sd_data["notes"] = version_info
+
+ # AFAIK civitai model versions are currently:
+ # SD 1.4, SD 1.5, SD 2.0, SD 2.0 786, SD 2.1, SD 2.1 786
+ # SD 2.1 Unclip, SDXL 0.9, SDXL 1.0, and Other.
+ # Conveniently, the 4th character is all we need for webui.
+ #
+ # INFO: On Civitai, all models list base model/"sd version".
+ # The SD WebUI interface only displays them for Lora/Lycoris.
+ # I'm populating the field anyways in hopes it eventually gets
+ # added.
+ base_model = model_info.get("baseModel", None)
+ sd_version = 'Unknown'
+ if base_model:
+ version = base_model[3]
+
+ sd_version = {
+ "1": 'SD1',
+ "2": 'SD2',
+ "L": 'SDXL',
+ }.get(version, 'Unknown')
+
+ sd_data["sd version"] = sd_version
+
+ # INFO: On Civitai, all non-checkpoint models can have trained words.
+ # The SD WebUI interface only displays them for Lora/Lycoris.
+ # I'm populating the field anyways in hopes it eventually gets
+ # added.
+ #
+ # "trained words" usage is inconsistent among model authors.
+ # Some use each entry as an individual activator, while others
+ # use them as entire prompts
+ activator = model_info.get("trainedWords", [])
+ if (activator and activator[0]):
+ if "," in activator[0]:
+ # assume trainedWords is a prompt list
+
+ # webui does not support newlines in activator text
+ # so this is the best hinting I can give the user at the
+ # moment that these are mutually-exclusive prompts.
+ sd_data["activation text"] = " || ".join(activator)
+ else:
+ # assume trainedWords are single keywords
+ sd_data["activation text"] = ", ".join(activator)
+
+ # Sadly, Civitai does not provide default weight information,
+ # So 0 disables this functionality on webui's end and uses
+ # the user's global setting
+ if model_type in ["lora", "lycoris"]:
+ sd_data["preferred weight"] = 0
+
+ sd_data["extensions"] = util.create_extension_block(sd_data.get("extensions", None))
+
+ if refetch_old:
+ if verify_overwrite_eligibility(sd15_file, sd_data):
+ write_info(sd_data, sd15_file, "webui")
+ else:
+ write_info(sd_data, sd15_file, "webui")
+
+
+def load_model_info(path):
+ """ Opens a JSON file and loads its JSON """
+ model_info = None
+ with open(os.path.realpath(path), 'r') as json_file:
+ try:
+ model_info = json.load(json_file)
+ except ValueError:
+ util.printD(f"Selected file is not json: {path}")
+ return None
+
+ return model_info
+
+
+def get_potential_model_preview_files(model_path):
+ """
+ Find existing preview images, if any.
+
+ Extensions from `find_preview` method in webui `modules/ui_extra_networks.py`
+ gif added in webui commit c602471b85d270e8c36707817d9bad92b0ff991e
+
+ return: preview_files
+ """
+ preview_exts = ["png", "jpg", "jpeg", "webp", "gif"]
+ preview_files = []
+
+ base, _ = os.path.splitext(model_path)
+
+ for ext in preview_exts:
+ preview_files.append(f"{base}.preview.{ext}")
+
+ return preview_files
+
+
+def get_model_files_from_model_path(model_path):
+ """ return: list of paths """
+
+ base, _ = os.path.splitext(model_path)
+
+ info_file, sd15_file = get_model_info_paths(model_path)
+ user_preview_path = f"{base}.png"
+
+ paths = [model_path, info_file, sd15_file, user_preview_path]
+ preview_paths = get_potential_model_preview_files(model_path)
+
+ paths = paths + preview_paths
+
+ return [path for path in paths if os.path.isfile(path)]
+
+
+def get_model_names_by_type(model_type:str) -> list:
+ """
+ get model file names by model type
+ parameter: model_type - string
+ return: model name list
+ """
+
+ if model_type == "lora" and folders['lycoris']:
+ model_folders = [folders[model_type], folders['lycoris']]
+ else:
+ model_folders = [folders[model_type]]
+
+ # get information from filter
+ # only get those model names don't have a civitai model info file
+ model_names = []
+ for model_folder in model_folders:
+ for root, _, files in os.walk(model_folder, followlinks=True):
+ for filename in files:
+ item = os.path.join(root, filename)
+ # check extension
+ _, ext = os.path.splitext(item)
+ if ext in EXTS:
+ # find a model
+ model_names.append(filename)
+
+ return model_names
+
+
+# return 2 values: (model_root, model_path)
+def get_model_path_by_type_and_name(model_type:str, model_name:str) -> str:
+ """ return: model_path:str matching model_name and model_type """
+ util.printD("Run get_model_path_by_type_and_name")
+ if not model_name:
+ util.printD("model name can not be empty")
+ return None
+
+ model_folders = [folders.get(model_type, None)]
+
+ if model_folders[0] is None:
+ util.printD(f"unknown model_type: {model_type}")
+ return None
+
+ if model_type == "lora" and folders['lycoris']:
+ model_folders.append(folders['lycoris'])
+
+ # model could be in subfolder, need to walk.
+ model_path = util.find_file_in_folders(model_folders, model_name)
+
+ msg = util.indented_msg(f"""
+ Got following info:
+ {model_path=}
+ """)
+ util.printD(msg)
+
+ # May return `None`
+ return model_path
+
+
+# get model path by model type and search_term
+# parameter: model_type, search_term
+# return: model_path
+def get_model_path_by_search_term(model_type, search_term):
+ """
+ Gets a model path based on the webui search term.
+
+ return: model_path
+ """
+ util.printD(f"Search model of {search_term} in {model_type}")
+ if folders.get(model_type, None) is None:
+ util.printD("unknow model type: " + model_type)
+ return None
+
+ # for lora: search_term = subfolderpath + model name + ext + " " + hash.
+ # And it always start with a / even there is no sub folder
+ # for ckp: search_term = subfolderpath + model name + ext + " " + hash
+ # for ti: search_term = subfolderpath + model name + ext + " " + hash
+ # for hyper: search_term = subfolderpath + model name
+
+ # this used to be
+ # `model_sub_path = search_term.split()[0]`
+ # but it was failing on models containing spaces.
+ model_hash = search_term.split()[-1]
+ model_sub_path = search_term.replace(f" {model_hash}", "")
+
+ if model_type == "hyper":
+ model_sub_path = f"{search_term}.pt"
+
+ if model_sub_path[:1] == "/":
+ model_sub_path = model_sub_path[1:]
+
+ if model_type == "lora" and folders['lycoris']:
+ model_folders = [folders[model_type], folders['lycoris']]
+ else:
+ model_folders = [folders[model_type]]
+
+ for folder in model_folders:
+ model_folder = folder
+ model_path = os.path.join(model_folder, model_sub_path)
+
+ if os.path.isfile(model_path):
+ break
+
+ msg = util.indented_msg(f"""
+ Got following info:
+ {model_folder=}
+ {model_sub_path=}
+ {model_path=}
+ """)
+ util.printD(msg)
+
+ if not os.path.isfile(model_path):
+ util.printD(f"Can not find model file: {model_path}")
+ return None
+
+ return model_path
+
+
+pattern = re.compile(r"\s*([^:,]+):\s*([^,]+)")
+
+def sd_format(data):
+ """
+ Parse image exif data for image creation parameters.
+
+ return parameters:dict or None
+ """
+
+ if not data:
+ return None
+
+ prompt = ""
+ negative = ""
+ setting = ""
+
+ steps_index = data.find("\nSteps:")
+
+ if steps_index != -1:
+ prompt = data[:steps_index].strip()
+ setting = data[steps_index:].strip()
+
+ if "Negative prompt:" in data:
+ prompt_index = data.find("\nNegative prompt:")
+
+ if steps_index != -1:
+ negative = data[
+ prompt_index + len("Negative prompt:") + 1 : steps_index
+ ].strip()
+
+ else:
+ negative = data[
+ prompt_index + len("Negative prompt:") + 1 :
+ ].strip()
+
+ prompt = data[:prompt_index].strip()
+
+ elif steps_index == -1:
+ prompt = data
+
+ setting_dict = dict(re.findall(pattern, setting))
+
+ data = {
+ "prompt": prompt,
+ "negative": negative,
+ "Steps": setting_dict.get("Steps", ""),
+ "Sampler": setting_dict.get("Sampler", ""),
+ "CFG_scale": setting_dict.get("CFG scale", ""),
+ "Seed": setting_dict.get("Seed", ""),
+ "Size": setting_dict.get("Size", ""),
+ }
+
+ return data
+
+
+def parse_image(image_file):
+ """
+ Read image exif for userComment entry.
+ return: userComment:str
+ """
+ data = None
+ with Image.open(image_file) as image:
+ if image.format == "PNG":
+ # However, unlike other image formats, EXIF data is not
+ # guaranteed to be present in info until load() has been called.
+ # https://pillow.readthedocs.io/en/stable/handbook/image-file-formats.html#png
+ image.load()
+ data = image.info.get("parameters")
+
+ elif image.format in ["JPEG", "WEBP"]:
+ try:
+ usercomment = piexif.ExifIFD.UserComment
+ exif = image.info.get("exif")
+ if not exif:
+ return None
+ jpegexif = piexif.load(exif) or {}
+ data = piexif.helper.UserComment.load(
+ jpegexif.get("Exif", {}).get(usercomment, None)
+ )
+
+ except (ValueError, TypeError):
+ util.printD("Failed to parse image exif.")
+ return None
+
+ return data
+
+
+def get_remote_image_info(img_src):
+ """
+ Download a remote image and parse out its creation parameters
+
+ return parameters:dict or None
+ """
+ # anti-DDOS protection
+ util.delay(0.2)
+
+ success, response = downloader.request_get(img_src)
+
+ if not success:
+ return None
+
+ image_file = response.raw
+ try:
+ data = parse_image(image_file)
+
+ except OSError: #, UnidentifiedImageError
+ util.printD("Failed to open image.")
+ return None
+
+ if not data:
+ return None
+
+ sd_data = sd_format(data)
+ return sd_data
+
+
+def update_civitai_info_image_meta(filename):
+ """
+ Read model metadata and update missing image creation parameters,
+ if available.
+ """
+ need_update = False
+ data = {}
+
+ if not os.path.isfile(filename):
+ return
+
+ with open(filename, 'r') as model_json:
+ data = json.load(model_json)
+
+ for image in data.get('images', []):
+ metadata = image.get('meta', None)
+ if not metadata and metadata != {}:
+ url = image.get("url", "")
+ if not url:
+ continue
+
+ util.printD(f"{filename} missing generation info for {url}. Processing {url}.")
+
+ image_data = get_remote_image_info(url)
+ if not image_data:
+ util.printD(f"Failed to find generation info on remote image at {url}.")
+
+ # "mark" image so additional runs will skip it.
+ image["meta"] = {}
+ need_update = True
+ continue
+
+ util.printD(
+ "The following information will be added to "
+ f"{filename} for {url}:\n{image_data}"
+ )
+ metadata = image_data
+ image["meta"] = metadata
+
+ need_update = True
+
+ if need_update:
+ with open(filename, 'w') as info_file:
+ json.dump(data, info_file, indent=4)
+
+
+def scan_civitai_info_image_meta():
+ """ Search for *.civitai.info files """
+ util.printD("Start Scan_civitai_info_image_meta")
+ output = ""
+ count = 0
+
+ directories = [y for x, y in folders.items() if os.path.isdir(y)]
+ util.printD(f"{directories=}")
+ for directory in directories:
+ for root, _, files in os.walk(directory):
+ for filename in files:
+ if filename.endswith('.civitai.info'):
+ update_civitai_info_image_meta(os.path.join(root, filename))
+ count = count + 1
+
+ output = f"Done. Scanned {count} files."
+ util.printD(output)
+ return output
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/model_action_civitai.py b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/model_action_civitai.py
new file mode 100644
index 0000000000000000000000000000000000000000..4d68342febba9b984ffbaecdf22fe1965ba9849f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/model_action_civitai.py
@@ -0,0 +1,711 @@
+""" -*- coding: UTF-8 -*-
+handle msg between js and python side
+"""
+import os
+import time
+import re
+from modules import sd_models
+from . import util
+from . import model
+from . import civitai
+from . import downloader
+from . import templates
+
+
+def get_metadata_skeleton():
+ """
+ Used to generate at least something when model is not on civitai.
+ """
+ return {
+ "id": "",
+ "modelId": "",
+ "name": "",
+ "trainedWords": [],
+ "baseModel": "Unknown",
+ "description": "",
+ "model": {
+ "name": "",
+ "type": "",
+ "nsfw": "",
+ "poi": ""
+ },
+ "files": [
+ {
+ "name": "",
+ "sizeKB": 0,
+ "type": "Model",
+ "hashes": {
+ "AutoV2": "",
+ "SHA256": ""
+ }
+ }
+ ],
+ "downloadUrl": ""
+ }
+
+
+def scan_single_model(filename, root, model_type, refetch_old, delay):
+ """
+ Gets model info for a model by feeding its sha256 hash into civitai's api
+
+ return: success:bool
+ """
+
+ # check ext
+ item = os.path.join(root, filename)
+ _, ext = os.path.splitext(item)
+ if ext not in model.EXTS:
+ return False
+
+ # find a model, get info file
+ info_file, sd15_file = model.get_model_info_paths(item)
+
+ # check info file
+ if model.metadata_needed(info_file, sd15_file, refetch_old):
+ util.printD(f"Creating model info for: {filename}")
+ # get model's sha256
+ sha256_hash = util.gen_file_sha256(item)
+
+ if not sha256_hash:
+ output = f"failed generating SHA256 for model: {filename}"
+ util.printD(output)
+ return False
+
+ # use this sha256 to get model info from civitai
+ model_info = civitai.get_model_info_by_hash(sha256_hash)
+
+ if (model_info == {}) and not model_info.get("id", None):
+ model_info = dummy_model_info(item, sha256_hash, model_type)
+
+ model.process_model_info(item, model_info, model_type, refetch_old=refetch_old)
+
+ # delay before next request, to prevent being treated as a DDoS attack
+ util.printD(f"delay: {delay} second")
+ time.sleep(delay)
+
+ else:
+ util.printD(f"Model metadata not needed for {filename}")
+
+ return True
+
+
+def scan_model(scan_model_types, max_size_preview, nsfw_preview_threshold, refetch_old):
+ """ Scan model to generate SHA256, then use this SHA256 to get model info from civitai
+ return output msg
+ """
+
+ delay = 0.2
+
+ util.printD("Start scan_model")
+ output = ""
+
+ # check model types
+ if not scan_model_types:
+ output = "Model Types is None, can not scan."
+ util.printD(output)
+ yield output
+ return
+
+ model_types = []
+
+ # check type if it is a string
+ if isinstance(scan_model_types, str):
+ model_types.append(scan_model_types)
+ else:
+ model_types = scan_model_types
+
+ count = 0
+
+ for model_type, model_folder in model.folders.items():
+ if model_type not in model_types:
+ continue
+
+ util.printD(f"Scanning path: {model_folder}")
+ for root, _, files in os.walk(model_folder, followlinks=True):
+ for filename in files:
+ success = scan_single_model(filename, root, model_type, refetch_old, delay)
+
+ if not success:
+ continue
+
+ # set model_count
+ count = count + 1
+
+ # check preview image
+ filepath = os.path.join(root, filename)
+
+ # webui-visible progress bar
+ for result in civitai.get_preview_image_by_model_path(
+ filepath,
+ max_size_preview,
+ nsfw_preview_threshold
+ ):
+ yield result
+
+ # this previously had an image count, but it always matched the model count.
+ output = f"Done. Scanned {count} models."
+
+ util.printD(output)
+
+ yield output
+
+
+def dummy_model_info(path, sha256_hash, model_type):
+ """
+ Fills model metadata with information we can get locally.
+ """
+ if not sha256_hash:
+ return {}
+
+ model_info = get_metadata_skeleton()
+
+ autov2 = sha256_hash[:10]
+ filename = os.path.basename(path)
+ filesize = os.path.getsize(path) // 1024
+
+ model_metadata = model_info["model"]
+ file_metadata = model_info["files"][0]
+
+ model_metadata["name"] = filename
+ model_metadata["type"] = model_type
+
+ file_metadata["name"] = filename
+ file_metadata["sizeKB"] = filesize
+ file_metadata["hashes"]["SHA256"] = sha256_hash
+ file_metadata["hashes"]["AutoV2"] = autov2
+
+ # We can't get data on the model from civitai, but some models
+ # do store their training data.
+ trained_words = model_info["trainedWords"]
+
+ try:
+ file_metadata = sd_models.read_metadata_from_safetensors(path)
+ except AssertionError:
+ # model is not a safetensors file. This is fine,
+ # it just doesn't have metadata we can read
+ pass
+
+ tag_frequency = file_metadata.get("ss_tag_frequency", {})
+
+ for tag in tag_frequency.keys():
+ word = re.sub(r"^\d+_", "", tag)
+ trained_words.append(word)
+
+ return model_info
+
+
+def get_model_info_by_input(
+ model_type, model_name, model_url_or_id, max_size_preview, nsfw_preview_threshold
+):
+ """
+ Get model info by model type, name and url
+ output is log info to display on markdown component
+ """
+ output = ""
+
+ # parse model id
+ model_id = civitai.get_model_id_from_url(model_url_or_id)
+ if not model_id:
+ output = f"failed to parse model id from url: {model_url_or_id}"
+ util.printD(output)
+ return output
+
+ # get model file path
+ # model could be in subfolder
+ model_path = model.get_model_path_by_type_and_name(model_type, model_name)
+
+ if model_path is None:
+ output = "Could not get Model Path"
+ util.printD(output)
+ return output
+
+ # get model info
+ #we call it model_info, but in civitai, it is actually version info
+ model_info = civitai.get_version_info_by_model_id(model_id)
+
+ model.process_model_info(model_path, model_info, model_type)
+
+ # check preview image + webui-visible progress bar
+ for result in civitai.get_preview_image_by_model_path(
+ model_path,
+ max_size_preview,
+ nsfw_preview_threshold
+ ):
+ yield result
+
+ yield output
+
+
+def build_article_from_version(version):
+ """
+ Builds the HTML for displaying new model versions to the user.
+
+ return: html:str
+ """
+ (
+ model_path, model_id, model_name, new_version_id,
+ new_version_name, description, download_url,
+ img_url, model_type
+ ) = version
+
+ thumbnail = ""
+ if img_url:
+ thumbnail = templates.thumbnail.substitute(
+ img_url=img_url,
+ )
+
+ if download_url:
+ # replace "\" to "/" in model_path for windows
+ download_model_path = model_path.replace('\\', '\\\\')
+
+ download_section = templates.download.substitute(
+ new_version_id=new_version_id,
+ new_version_name=new_version_name,
+ model_path=download_model_path,
+ model_type=model_type,
+ download_url=download_url
+ )
+
+ else:
+ download_section = templates.no_download.substitute(
+ new_version_name=new_version_name,
+ )
+
+ description_section = ""
+ if description:
+ description_section = templates.description.substitute(
+ description=util.safe_html(download_section),
+ )
+
+ article = templates.article.substitute(
+ url=f'{civitai.URLS["modelPage"]}{model_id}',
+ thumbnail=thumbnail,
+ download=download_section,
+ description=description_section,
+ model_name=model_name,
+ model_path=model_path
+ )
+
+ return article
+
+
+def check_models_new_version_to_md(model_types:list) -> str:
+ """
+ check models' new version and output to UI as html doc
+ return: html:str
+ """
+ new_versions = civitai.check_models_new_version_by_model_types(model_types, 0.2)
+
+ if not new_versions:
+ util.printD("Done: no new versions found.")
+ return "No models have new versions"
+
+ articles = []
+ count = 0
+ for count, new_version in enumerate(new_versions):
+ article = build_article_from_version(new_version)
+ articles.append(article)
+
+ output = f"Found new versions for following models: "
+
+ if count != 1:
+ util.printD(f"Done. Found {count} models that have new versions. Check UI for detail")
+ else:
+ util.printD(f"Done. Found {count} model that has a new version. Check UI for detail.")
+
+ return output
+
+
+def get_model_info_by_url(model_url_or_id:str) -> tuple:
+ """
+ Retrieves model information necessary to populate HTML
+ with Model Name, Model Type, valid saving directories,
+ and available model versions.
+
+ return: tuple or None
+ """
+ util.printD(f"Getting model info by: {model_url_or_id}")
+
+ # parse model id
+ model_id = civitai.get_model_id_from_url(model_url_or_id)
+ if not model_id:
+ util.printD("Could not parse model id from url or id")
+ return None
+
+ model_info = civitai.get_model_info_by_id(model_id)
+ if model_info is None:
+ util.printD("Connection to Civitai API service failed. Wait a while and try again")
+ return None
+
+ if not model_info:
+ util.printD("Failed to get model info from url or id")
+ return None
+
+ # parse model type, model name, subfolder, version from this model info
+ # get model type
+ civitai_model_type = model_info.get("type", None)
+ if civitai_model_type not in civitai.MODEL_TYPES:
+ util.printD(f"This model type is not supported: {civitai_model_type}")
+ return None
+
+ model_type = civitai.MODEL_TYPES[civitai_model_type]
+
+ # get model type
+ model_name = model_info.get("name", None)
+ if model_name is None:
+ util.printD("model name is Empty")
+ model_name = ""
+
+ # get version lists
+ model_versions = model_info.get("modelVersions", None)
+ if model_versions is None:
+ util.printD("modelVersions is Empty")
+ return None
+
+ version_strs = []
+ for version in model_versions:
+ # version name can not be used as id
+ # version id is not readable
+ # so , we use name_id as version string
+ version_str = f'{version["name"]}_{version["id"]}'
+ version_strs.append(version_str)
+
+ # get folder by model type
+ folder = model.folders[model_type]
+
+ # get subfolders
+ subfolders = ["/"] + util.get_subfolders(folder)
+
+ msg = util.indented_msg(f"""
+ Got following info for downloading:
+ {model_name=}
+ {model_type=}
+ {version_strs=}
+ {subfolders=}
+ """)
+ util.printD(msg)
+
+ return (model_info, model_name, model_type, subfolders, version_strs)
+
+
+def get_ver_info_by_ver_str(version_str:str, model_info:dict) -> dict:
+ """
+ get version info by version string
+
+ return: version_info:dict
+ """
+
+ if not (version_str and model_info):
+ output = util.indented_msg(
+ f"""
+ Missing Parameter:
+ {model_info=}
+ {version_str=}
+ """
+ )
+ util.printD(output)
+ return None
+
+ # get version list
+ model_versions = model_info.get("modelVersions", None)
+ if model_versions is None:
+ util.printD("modelVersions is Empty")
+ return None
+
+ # find version by version_str
+ version = None
+ for ver in model_versions:
+ # version name can not be used as id
+ # version id is not readable
+ # so , we use name_id as version string
+ ver_str = f'{ver["name"]}_{ver["id"]}'
+ if ver_str == version_str:
+ # find version
+ version = ver
+ break
+
+ if not (version and ("id" in version)):
+ util.printD(f"can not find version or id by version string: {version_str}")
+ return None
+
+ return version
+
+
+def get_id_and_dl_url_by_version_str(version_str:str, model_info:dict) -> tuple:
+ """
+ get download url from model info by version string
+ return - (version_id, download_url)
+ """
+ if not (version_str and model_info):
+ output = util.indented_msg(f"""
+ Missing Parameter:
+ {model_info=}
+ {version_str=}
+ """)
+ util.printD(output)
+ return (False, output)
+
+ # get version list
+ model_versions = model_info.get("modelVersions", None)
+ if model_versions is None:
+ util.printD("modelVersions is Empty")
+ return (False, output)
+
+ # find version by version_str
+ version = None
+ for ver in model_versions:
+ # version name can not be used as id
+ # version id is not readable
+ # so , we use name_id as version string
+ ver_str = f'{ver["name"]}_{ver["id"]}'
+ if ver_str == version_str:
+ # find version
+ version = ver
+ break
+
+ version_id = None
+ download_url = None
+ if version:
+ download_url = version.get("downloadUrl", None)
+ version_id = version.get("id", None)
+
+ if None in [version, version_id, download_url]:
+ output = util.indented_msg(f"""
+ Invalid Version Information:
+ {version=}
+ {version_id=}
+ {download_url=}
+ """)
+ util.printD(output)
+ return (False, output)
+
+ util.printD(f"Get Download Url: {download_url}")
+
+ return (version_id, download_url)
+
+
+def download_all(model_folder, ver_info, headers, duplicate):
+ """
+ get all download url from files info
+ some model versions have multiple files
+ """
+
+ version_id = ver_info["id"]
+
+ download_urls = []
+
+ for file_info in ver_info.get("files", {}):
+ download_url = file_info.get("downloadUrl", None)
+ if download_url is not None:
+ download_urls.append(download_url)
+
+ if len(download_urls) == 0:
+ download_url = ver_info.get("downloadUrl", None)
+ if download_url is not None:
+ download_urls.append(download_url)
+
+ # check if this model already exists
+ result = civitai.search_local_model_info_by_version_id(model_folder, version_id)
+ if result:
+ output = "This model version already exists"
+ util.printD(output)
+ yield (False, output)
+
+ # download
+ success = False
+ output = ""
+ filepath = ""
+ file_candidate = ""
+ total = len(download_urls)
+ errors = []
+ errors_count = 0
+
+ for count, url in enumerate(download_urls):
+
+ snippet = ""
+ if errors_count > 0:
+ snippet = f"| {errors_count}/{total} models failed"
+
+ # webui visible progress bar
+ for result in downloader.dl_file(
+ url, folder=model_folder, duplicate=duplicate,
+ headers=headers
+ ):
+ if not isinstance(result, str):
+ success, output = result
+ break
+
+ yield f"{result} | {count}/{total} models {snippet}"
+
+ if not success:
+ errors.append(downloader.error(url, output))
+ errors_count += 1
+ continue
+
+ file_candidate = output
+
+ if url == ver_info["downloadUrl"]:
+ filepath = file_candidate
+
+ if not filepath:
+ filepath = file_candidate
+
+ additional = None
+ if errors_count > 0:
+ additional = "\n\n".join(errors)
+
+ if errors_count == total:
+ yield (False, additional)
+ return
+
+ yield (True, filepath, additional)
+
+
+def download_one(model_folder, ver_info, headers, duplicate):
+ """
+ only download one file
+ get download url
+ """
+
+ download_url = ver_info["downloadUrl"]
+
+ output = ""
+ if not download_url:
+ output = "Failed to find a download url"
+ util.printD(output)
+ yield (False, output)
+
+ # download
+ success = False
+ for result in downloader.dl_file(
+ download_url, folder=model_folder, duplicate=duplicate,
+ headers=headers
+ ):
+ if not isinstance(result, str):
+ success, output = result
+ break
+
+ yield result
+
+ if not success:
+ downloader.error(download_url, output)
+ yield (False, output)
+
+ yield (True, output)
+
+
+def dl_model_by_input(
+ model_info:dict,
+ model_type:str,
+ subfolder_str:str,
+ version_str:str,
+ dl_all_bool:bool,
+ max_size_preview:bool,
+ nsfw_preview_threshold:bool,
+ duplicate:str
+) -> str:
+ """ download model from civitai by input
+ output to markdown log
+ """
+ if not (model_info and model_type and subfolder_str and version_str):
+ output = util.indented_msg(f"""
+ Missing Required Parameter in dl_model_by_input. Parameters given:
+ {model_type=}*
+ {subfolder_str=}*
+ {version_str=}*
+ {dl_all_bool=}
+ {max_size_preview=}
+ {nsfw_preview_threshold=}
+ {duplicate=}
+ """)
+
+ # Keep model info away from util.indented_msg
+ # which can screw with complex strings
+ output = f"{output}\n {model_info=}*\n * Required"
+ util.printD(output)
+ yield output
+ return
+
+ # get model root folder
+ if model_type not in model.folders:
+ output = f"Unsupported model type: {model_type}"
+ util.printD(output)
+ yield output
+ return
+
+ folder = ""
+ subfolder = ""
+ output = ""
+ version_info = None
+
+ model_root_folder = model.folders[model_type]
+
+ # get subfolder
+ if subfolder_str in ["/", "\\"]:
+ subfolder = ""
+ elif subfolder_str[:1] in ["/", "\\"]:
+ subfolder = subfolder_str[1:]
+ else:
+ subfolder = subfolder_str
+
+ # get model folder for downloading
+ folder = os.path.join(model_root_folder, subfolder)
+ if not os.path.isdir(folder):
+ output = f"Model folder is not a dir: {folder}"
+ util.printD(output)
+ yield output
+ return
+
+ # get version info
+ ver_info = get_ver_info_by_ver_str(version_str, model_info)
+ if not ver_info:
+ output = "Failed to get version info, check console log for detail"
+ util.printD(output)
+ yield output
+ return
+
+ success = False
+ downloader_fn = download_one
+ if dl_all_bool:
+ downloader_fn = download_all
+
+ headers = {
+ "content-type": "application/json"
+ }
+ api_key = util.get_opts("ch_civiai_api_key")
+ if api_key:
+ headers["Authorization"] = f"Bearer {api_key}"
+
+ additional = None
+ for result in downloader_fn(folder, ver_info, headers, duplicate):
+ if not isinstance(result, str):
+ if len(result) > 2:
+ success, output, additional = result
+ else:
+ success, output = result
+
+ break
+
+ yield result
+
+ if not success:
+ yield output
+ return
+
+ # get version info
+ version_info = civitai.get_version_info_by_version_id(ver_info["id"])
+ model.process_model_info(output, version_info, model_type)
+
+ # then, get preview image + webui-visible progress
+ for result in civitai.get_preview_image_by_model_path(
+ output,
+ max_size_preview,
+ nsfw_preview_threshold
+ ):
+ yield f"Downloading model preview:\n{result}"
+
+ output = f"Done. Model downloaded to: {output}"
+ if additional:
+ output = f"{output}. Additionally, the following failures occurred: \n{additional}"
+ util.printD(output)
+ yield output
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/msg_handler.py b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/msg_handler.py
new file mode 100644
index 0000000000000000000000000000000000000000..f07c76751218805aa06ec65bd64a838c26be6ca3
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/msg_handler.py
@@ -0,0 +1,74 @@
+""" -*- coding: UTF-8 -*-
+handle msg between js and python side
+"""
+import json
+from . import util
+
+# action list
+JS_ACTIONS = (
+ "open_url",
+ "add_trigger_words",
+ "use_preview_prompt",
+ "dl_model_new_version",
+ "rename_card",
+ "remove_card"
+)
+
+PY_ACTIONS = (
+ "open_url",
+ "rename_card",
+ "remove_card"
+)
+
+
+def parse_js_msg(msg):
+ """
+ handle request from javascript
+ parameter: msg - msg from js as string in a hidden textbox
+ return: dict for result
+ """
+ util.printD("Start parse js msg")
+ msg_dict = json.loads(msg)
+
+ # in case client side run JSON.stringify twice
+ if isinstance(msg_dict, str):
+ msg_dict = json.loads(msg_dict)
+
+ action = msg_dict.get("action", "")
+ if not action:
+ util.printD("No action from js request")
+ return None
+
+ if action not in JS_ACTIONS:
+ util.printD(f"Unknown action: {action}")
+ return None
+
+ util.printD("End parse js msg")
+
+ return msg_dict
+
+
+def build_py_msg(action:str, content:dict):
+ """
+ build python side msg for sending to js
+ parameter: content dict
+ return: msg as string, to fill into a hidden textbox
+ """
+ util.printD("Start build_msg")
+ if not (content and action and action in PY_ACTIONS):
+ util.indented_msg(
+ f"""
+ Could not run action on content:
+ {action=}
+ {content=}
+ """
+ )
+ return None
+
+ msg = {
+ "action" : action,
+ "content": content
+ }
+
+ util.printD("End build_msg")
+ return json.dumps(msg)
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/templates.py b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/templates.py
new file mode 100644
index 0000000000000000000000000000000000000000..b63fb589ff4bd018bc4fdc7dbccbf97259e06189
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/templates.py
@@ -0,0 +1,46 @@
+"""
+HTML templates
+"""
+
+from string import Template
+from . import util
+
+article = Template(util.dedent("""
+
+ $thumbnail
+
+ File: $model_path
+
+ $download
+
+
+""").strip())
+
+thumbnail = Template(util.dedent("""
+
+""").strip())
+
+description = Template(util.dedent("""
+
+ $description
+
+
+""").strip())
+
+# add js function to download new version into SD webui by python
+# in embed HTML, onclick= will also follow a ", never a ',
+# so have to write it as following
+download = Template(util.dedent("""
+
+""").strip())
+
+no_download = Template(util.dedent("""
+
+ New Version: $new_version_name
+
+""").strip())
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/util.py b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/util.py
new file mode 100644
index 0000000000000000000000000000000000000000..6b090ae5e1a1cb413e59c51003d659f4cd3d60c8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/ch_lib/util.py
@@ -0,0 +1,445 @@
+""" -*- coding: UTF-8 -*-
+Utility functions for Stable Diffusion Civitai Helper
+"""
+from __future__ import annotations
+import os
+import io
+import re
+import hashlib
+import textwrap
+import time
+import subprocess
+import gradio as gr
+from modules.shared import opts
+from modules import hashes
+import launch
+from packaging.version import parse as parse_version
+
+# used to append extension information to JSON/INFO files
+SHORT_NAME = "sd_civitai_helper"
+
+# current version of the exension
+VERSION = "1.7.7"
+
+# Civitai INFO files below this version will regenerated
+COMPAT_VERSION_CIVITAI = "1.7.2"
+
+# SD webui model info JSON below this version will be regenerated
+COMPAT_VERSION_SDWEBUI = "1.7.4"
+
+DEFAULT_HEADERS = {
+ "User-Agent": (
+ "Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) "
+ "AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148"
+ )
+}
+
+PROXIES = {
+ "http": None,
+ "https": None,
+}
+
+REQUEST_TIMEOUT = 300 # 5 minutes
+REQUEST_RETRIES = 5
+
+_MINUTE = 60
+_HOUR = _MINUTE * 60
+_DAY = _HOUR * 24
+
+
+# print for debugging
+def printD(msg:any) -> str:
+ """ Print a message to stderr """
+ print(f"Civitai Helper: {msg}")
+
+
+def append_default_headers(headers:dict) -> dict:
+ """ Append extension default values to customized headers where missing """
+
+ for key, val in DEFAULT_HEADERS.items():
+ if key not in headers:
+ headers[key] = val
+ return headers
+
+
+def indented_msg(msg:str) -> str:
+ """
+ Clean up an indented message in the format of
+ [header]
+ var1=var1
+ var2=var2
+ var3=var3
+
+ and print the results in the format of:
+
+ Civitai Helper: [header]
+ var1: var1
+ var2: var2
+ var3: var3
+
+ return: msg:str
+ """
+
+ msg_parts = textwrap.dedent(
+ msg
+ ).strip().split('\n')
+ msg = [msg_parts.pop(0)]
+ for part in msg_parts:
+ part = ": ".join(part.split("="))
+ msg.append(f" {part}")
+ msg = "\n".join(msg)
+
+ return msg
+
+
+def delay(seconds:float) -> None:
+ """ delay before next request, mostly to prevent to be treated as DDoS """
+ printD(f"delay: {seconds} second")
+ time.sleep(seconds)
+
+
+def is_stale(timestamp:float) -> bool:
+ """ Returns if a timestamp was more than a day ago. """
+ cur_time = ch_time()
+ elapsed = cur_time - timestamp
+
+ if elapsed > _DAY:
+ return True
+
+ return False
+
+
+def info(msg:str) -> None:
+ """ Display an info smessage on the client DOM """
+ gr.Info(msg)
+
+
+def warning(msg:str) -> None:
+ """ Display a warning message on the client DOM """
+ gr.Warning(msg)
+
+
+def error(msg:str) -> None:
+ """ Display an error message on the client DOM """
+ gr.Error(msg)
+
+
+def ch_time() -> int:
+ """ Unix timestamp """
+ return int(time.time())
+
+
+def dedent(text:str) -> str:
+ """ alias for textwrap.dedent """
+ return textwrap.dedent(text)
+
+
+def read_chunks(file, size=io.DEFAULT_BUFFER_SIZE) -> bytes:
+ """ Yield pieces of data from a file-like object until EOF. """
+ while True:
+ chunk = file.read(size)
+ if not chunk:
+ break
+ yield chunk
+
+
+def get_name(model_path:str) -> str:
+ """ return: lora/{model_name}:str """
+
+ _, filename = os.path.split(model_path)
+ model_name, _ = os.path.splitext(filename)
+ return f"lora/{model_name}"
+
+
+def get_opts(key):
+ """ return: option value """
+ return opts.data.get(key, None)
+
+
+def gen_file_sha256(filename:str) -> str:
+ """ return a sha256 hash for a file """
+
+ if get_opts("ch_use_sdwebui_sha256"):
+ printD("Using SD Webui SHA256")
+ name = get_name(filename)
+ return hashes.sha256(filename, name, use_addnet_hash=False)
+
+ # pip-style sha256 hash generation
+ printD("Use Memory Optimized SHA256")
+ blocksize=1 << 20
+ sha256_hash = hashlib.sha256()
+ length = 0
+ with open(os.path.realpath(filename), 'rb') as read_file:
+ for block in read_chunks(read_file, size=blocksize):
+ length += len(block)
+ sha256_hash.update(block)
+
+ hash_value = sha256_hash.hexdigest()
+ printD(f"sha256: {hash_value}")
+ printD(f"length: {length}")
+ return hash_value
+
+
+def get_subfolders(folder:str) -> list[str]:
+ """ return: list of subfolders """
+ printD(f"Get subfolder for: {folder}")
+ if not folder:
+ printD("folder can not be None")
+ return []
+
+ if not os.path.isdir(folder):
+ printD("path is not a folder")
+ return []
+
+ prefix_len = len(folder)
+ full_dirs_searched = []
+ subfolders = []
+ for root, dirs, _ in os.walk(folder, followlinks=True):
+ if root == folder:
+ continue
+
+ # Prevent following recursive symlinks
+ follow = []
+ for directory in dirs:
+ full_dir_path = os.path.join(root, directory)
+ try:
+ canonical_dir = os.path.realpath(full_dir_path, strict=True)
+ if canonical_dir not in full_dirs_searched:
+ full_dirs_searched.append(canonical_dir)
+ follow.append(directory)
+
+ except OSError:
+ printD(f"Symlink loop: {directory}")
+ continue
+
+ # Get subfolder path
+ subfolder = root[prefix_len:]
+ subfolders.append(subfolder)
+
+ # Update dirs parameter to prevent following recursive symlinks
+ dirs[:] = follow
+
+ return subfolders
+
+
+def find_file_in_folders(folders:list, filename:str) -> str:
+ """
+ Searches a directory for a filename,
+
+ return: filename:str or None
+ """
+ for folder in folders:
+ for root, _, files in os.walk(folder, followlinks=True):
+ if filename in files:
+ # found file
+ return os.path.join(root, filename)
+
+ return None
+
+
+# get relative path
+def get_relative_path(item_path:str, parent_path:str) -> str:
+ """
+ Gets a relative path from an absolute path and its parent_path
+ item path must start with parent_path
+ return: relative_path:str
+ """
+
+ if not (item_path and parent_path):
+ return ""
+
+ if not item_path.startswith(parent_path):
+ # return absolute path
+ return item_path
+
+ relative = item_path[len(parent_path):]
+ if relative[:1] == "/" or relative[:1] == "\\":
+ relative = relative[1:]
+
+ # printD(f"relative: {relative}")
+ return relative
+
+
+# Allowed HTML tags
+whitelist = re.compile(r"?(a|img|br|p|b|strong|i|h[0-9]|code)[^>]*>")
+
+# Allowed HTML attributes
+attrs = re.compile(r"""(?:href|src|target)=['"]?[^\s'"]*['"]?""")
+
+def safe_html_replace(match:match) -> str:
+ """ Given a block of text, returns that block with most HTML removed
+ and unneeded attributes pruned.
+ """
+ tag = None
+ attr = None
+ close = False
+
+ match = whitelist.match(match.group(0))
+ if match is not None:
+ html_elem = match.group(0)
+ tag = match.group(1)
+ close = html_elem[1] == "/"
+ if (tag in ["a", "img"]) and not close:
+ sub_match = attrs.findall(html_elem)
+ if sub_match is not None:
+ attr = " ".join(sub_match)
+
+ if close:
+ return f"{tag}>"
+
+ return f"<{tag} {attr}>" if attr else f"<{tag}>"
+
+ return ""
+
+def safe_html(html:str) -> str:
+ """ whitelist only HTML I"m comfortable displaying in webui """
+
+ return re.sub("<[^<]+?>", safe_html_replace, html)
+
+
+def trim_html(html:str) -> str:
+ """ Remove any HTML for a given string and, if needed, replace it with
+ a comparable plain-text alternative.
+ """
+
+ def sub_tag(match):
+ tag = match.group(1)
+ if tag == "/p":
+ return "\n\n"
+ if tag == "br":
+ return "\n"
+ if tag == "li":
+ return "* "
+ if tag in ["code", "/code"]:
+ return "`"
+ return ''
+
+ def sub_escaped(match):
+ escaped = match.group(1)
+ unescaped = {
+ "gt": ">",
+ "lt": "<",
+ "quot": '"',
+ "amp": "&"
+ }
+ return unescaped.get(escaped, "")
+
+ # non-breaking space. Useless unstyled content
+ html = html.replace("\u00a0", "")
+
+ # remove non-whitelisted HTML tags,
+ # replace whitelisted tags with text-equivalents
+ html = re.sub(r"<(/?[a-zA-Z]+)(?:[^>]+)?>", sub_tag, html)
+
+ # Replace HTML-escaped characters with displayables.
+ html = re.sub(r"\&(gt|lt|quot|amp)\;", sub_escaped, html)
+
+ # Because we encapsulate the description in HTML comment,
+ # We have to prevent those comments from being cancelled.
+ html.replace("-->", "→")
+
+ # https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/13241
+ return f""
+
+
+def newer_version(ver1:str, ver2:str, allow_equal=False) -> bool:
+ """ Returns ver1 > ver2
+ if allow_equal, returns ver1 >= ver2
+ """
+ if allow_equal:
+ return parse_version(ver1) >= parse_version(ver2)
+
+ return parse_version(ver1) > parse_version(ver2)
+
+
+def metadata_version(metadata:dict) -> str | bool:
+ """ Attempts retrieve the extension version used to create
+ to create the object block
+ """
+ try:
+ return metadata["extensions"][SHORT_NAME]["version"]
+ except KeyError:
+ return False
+
+
+def create_extension_block(data=None) -> dict:
+ """ Creates or edits an extensions block for usage in JSON files
+ created or edited by this extension.
+
+ Adds the current version of this extension to the extensions block
+ """
+
+ cur_time = ch_time()
+
+ block = {
+ SHORT_NAME: {
+ "version": VERSION,
+ "last_update": cur_time
+ }
+ }
+
+ if not data:
+ return block
+
+ if not data.get(SHORT_NAME, False):
+ data[SHORT_NAME] = block[SHORT_NAME]
+ return data
+
+ data[SHORT_NAME]["version"] = VERSION
+ data[SHORT_NAME]["last_update"] = cur_time
+
+ return data
+
+
+def webui_version() -> str:
+ ''' Gets the current webui version using webui's launch tools
+
+ The version is expected to be in the format `v1.6.0-128-g792589fd`,
+ tho all that is explicitly required is `vX`.
+
+ returns the version in the form 'X.Y.Z'
+ '''
+ version = None
+ try:
+ tag = launch.git_tag()
+ match = re.match(r"v([\d.]+)", tag)
+ if match:
+ version = match.group(1)
+ else:
+ # XXX assume a modern SD Webui version if one cannot be found.
+ version = "1.6.0"
+
+ except AttributeError:
+ try:
+ return subprocess.check_output(
+ ["git", "describe", "--tags"],
+ shell=False,
+ encoding='utf8'
+ ).strip()
+
+ except subprocess.SubprocessError:
+ try:
+ changelog_md = os.path.join(
+ os.path.dirname(os.path.dirname(__file__)),
+ "CHANGELOG.md"
+ )
+ with open(changelog_md, "r", encoding="utf-8") as file:
+ line = next((line.strip() for line in file if line.strip()), "")
+ line = line.replace("## ", "")
+ version = line
+
+ except OSError:
+ version = "1.6.0"
+
+ return version
+
+
+filename_re = re.compile(r"[^A-Za-z\d\s\^\-\+_.\(\)\[\]]")
+def bash_filename(filename:str) -> str:
+ """
+ Bashes a filename with a large fish until I'm comfortable using it.
+
+ Keeps a limited set of valid characters, but does not account for
+ reserved names like COM.
+ """
+ return re.sub(filename_re, "", filename)
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/civitai_helper.py b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/civitai_helper.py
new file mode 100644
index 0000000000000000000000000000000000000000..81fa8904b6e6e01a35e9281564fd7deb8703d74b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/scripts/civitai_helper.py
@@ -0,0 +1,575 @@
+""" -*- coding: UTF-8 -*-
+This extension can help you manage your models from civitai.
+ It can download preview, add trigger words, open model page and use the prompt from preview image
+repo: https://github.com/butaixianran/
+"""
+
+import os
+import gradio as gr
+import modules
+from modules import scripts
+from modules import shared
+from modules import script_callbacks
+from scripts.ch_lib import model
+from scripts.ch_lib import js_action_civitai
+from scripts.ch_lib import model_action_civitai
+from scripts.ch_lib import civitai
+from scripts.ch_lib import util
+
+# init
+# root path
+ROOT_PATH = os.getcwd()
+
+# extension path
+EXTENSION_PATH = scripts.basedir()
+
+# default hidden values for civitai helper buttons
+BUTTONS = {
+ "replace_preview_button": False,
+ "open_url_button": False,
+ "add_trigger_words_button": util.newer_version(util.webui_version(), '1.5.0', allow_equal=True),
+ "add_preview_prompt_button": False,
+ "rename_model_button": False,
+ "remove_model_button": False,
+}
+
+model.get_custom_model_folder()
+
+def on_ui_tabs():
+ # init
+ # init_py_msg = {
+ # # relative extension path
+ # "EXTENSION_PATH": util.get_relative_path(EXTENSION_PATH, ROOT_PATH),
+ # }
+ # init_py_msg_str = json.dumps(init_py_msg)
+
+ # set proxy
+ proxy = util.get_opts("ch_proxy")
+ if proxy:
+ util.printD(f"Set Proxy: {proxy}")
+ util.PROXIES["http"] = proxy
+ util.PROXIES["https"] = proxy
+
+ # get prompt textarea
+ # check modules/ui.py, search for txt2img_paste_fields
+ # Negative prompt is the second element
+ txt2img_prompt = modules.ui.txt2img_paste_fields[0][0]
+ txt2img_neg_prompt = modules.ui.txt2img_paste_fields[1][0]
+ img2img_prompt = modules.ui.img2img_paste_fields[0][0]
+ img2img_neg_prompt = modules.ui.img2img_paste_fields[1][0]
+
+ # ====Event's function====
+ def get_model_names_by_input(model_type, empty_info_only):
+ names = civitai.get_model_names_by_input(model_type, empty_info_only)
+ return model_name_drop.update(choices=names)
+
+ def get_model_info_by_url(url, subfolder):
+ request = model_action_civitai.get_model_info_by_url(url)
+
+ model_info = {}
+ model_name = ""
+ model_type = ""
+ subfolders = []
+ version_strs = []
+ if request:
+ model_info, model_name, model_type, subfolders, version_strs = request
+
+ if subfolder == "" or subfolder not in subfolders:
+ subfolder = "/"
+
+ return [
+ model_info, model_name, model_type,
+ dl_subfolder_drop.update(
+ choices=subfolders,
+ value=subfolder
+ ),
+ dl_version_drop.update(
+ choices=version_strs,
+ value=version_strs[0]
+ )
+ ]
+
+ # ====UI====
+ with gr.Blocks(analytics_enabled=False) as civitai_helper:
+ # with gr.Blocks(css=".block.padded {padding: 10px !important}") as civitai_helper:
+
+ # init
+ max_size_preview = util.get_opts("ch_max_size_preview")
+ nsfw_preview_threshold = util.get_opts("ch_nsfw_preview_threshold")
+ proxy = util.get_opts("ch_proxy")
+
+ model_types = list(model.folders.keys())
+ no_info_model_names = civitai.get_model_names_by_input("ckp", False)
+
+ # session data
+ dl_model_info = gr.State({})
+
+ with gr.Box(elem_classes="ch_box"):
+ with gr.Column():
+ gr.Markdown("### Scan Models for Civitai")
+ with gr.Row():
+ with gr.Column():
+ max_size_preview_ckb = gr.Checkbox(
+ label="Download Max Size Preview",
+ value=max_size_preview,
+ elem_id="ch_max_size_preview_ckb"
+ )
+ with gr.Column():
+ nsfw_preview_threshold_drop = gr.Dropdown(
+ label="Block NSFW Level Above",
+ choices=civitai.NSFW_LEVELS[1:],
+ value=nsfw_preview_threshold,
+ elem_id="ch_nsfw_preview_threshold_drop"
+ )
+ with gr.Column():
+ refetch_old_ckb = gr.Checkbox(
+ label="Replace Old Metadata Formats*",
+ value=False,
+ elem_id="ch_refetch_old_ckb"
+ )
+ gr.HTML("""
+ Do not use this option if you have made changes with the metadata editor without backing up your data!!
+ """)
+ with gr.Column():
+ scan_model_types_drop = gr.CheckboxGroup(
+ choices=model_types,
+ label="Model Types",
+ value=model_types
+ )
+
+ # with gr.Row():
+ scan_model_civitai_btn = gr.Button(
+ value="Scan",
+ variant="primary",
+ elem_id="ch_scan_model_civitai_btn"
+ )
+
+ scan_civitai_info_image_meta_btn = gr.Button(
+ value="Update image generation information (Experimental)",
+ variant="primary",
+ elem_id="ch_Scan_civitai_info_image_meta_btn"
+ )
+
+ # with gr.Row():
+ scan_model_log_md = gr.Markdown(
+ value="Scanning takes time, just wait. Check console log for detail",
+ elem_id="ch_scan_model_log_md"
+ )
+
+
+ with gr.Box(elem_classes="ch_box"):
+ with gr.Column():
+ gr.Markdown("### Get Model Info from Civitai by URL")
+ gr.Markdown("Use this when scanning can not find a local model on civitai")
+ with gr.Row():
+ model_type_drop = gr.Dropdown(
+ choices=model_types,
+ label="Model Type",
+ value="ckp",
+ multiselect=False
+ )
+ empty_info_only_ckb = gr.Checkbox(
+ label="Only Show Models have no Info",
+ value=False,
+ elem_id="ch_empty_info_only_ckb",
+ elem_classes="ch_vpadding"
+ )
+ model_name_drop = gr.Dropdown(
+ choices=no_info_model_names,
+ label="Model",
+ value="ckp",
+ multiselect=False
+ )
+
+ model_url_or_id_txtbox = gr.Textbox(
+ label="Civitai URL",
+ lines=1,
+ value=""
+ )
+ get_civitai_model_info_by_id_btn = gr.Button(
+ value="Get Model Info from Civitai",
+ variant="primary"
+ )
+ get_model_by_id_log_md = gr.Markdown("")
+
+ with gr.Box(elem_classes="ch_box"):
+ with gr.Column():
+ gr.Markdown("### Download Model")
+ with gr.Row():
+ dl_model_url_or_id_txtbox = gr.Textbox(
+ label="Civitai URL",
+ lines=1,
+ value=""
+ )
+ dl_model_info_btn = gr.Button(
+ value="1. Get Model Info by Civitai Url",
+ variant="primary"
+ )
+
+ gr.Markdown(value="2. Pick Subfolder and Model Version")
+ with gr.Row():
+ dl_model_name_txtbox = gr.Textbox(
+ label="Model Name",
+ interactive=False,
+ lines=1,
+ value=""
+ )
+ dl_model_type_txtbox = gr.Textbox(
+ label="Model Type",
+ interactive=False,
+ lines=1,
+ value=""
+ )
+ dl_subfolder_drop = gr.Dropdown(
+ choices=[],
+ label="Sub-folder",
+ value="",
+ interactive=True,
+ multiselect=False
+ )
+ dl_version_drop = gr.Dropdown(
+ choices=[],
+ label="Model Version",
+ value="",
+ interactive=True,
+ multiselect=False
+ )
+ dl_duplicate_drop = gr.Dropdown(
+ choices=["Skip", "Overwrite", "Rename New"],
+ label="Duplicate File Behavior",
+ value="Skip",
+ interactive=True,
+ multiselect=False
+ )
+ dl_all_ckb = gr.Checkbox(
+ label="Download All files",
+ value=False,
+ elem_id="ch_dl_all_ckb",
+ elem_classes="ch_vpadding"
+ )
+
+ dl_civitai_model_by_id_btn = gr.Button(
+ value="3. Download Model",
+ variant="primary"
+ )
+ dl_log_md = gr.Markdown(
+ value="Check Console log for Downloading Status"
+ )
+
+ with gr.Box(elem_classes="ch_box"):
+ with gr.Column():
+ gr.Markdown("### Check models' new version")
+ with gr.Row():
+ model_types_ckbg = gr.CheckboxGroup(
+ choices=model_types,
+ label="Model Types",
+ value=[
+ "ti", "hyper", "ckp", "lora", "lycoris"
+ ]
+ )
+ check_models_new_version_btn = gr.Button(
+ value="Check New Version from Civitai",
+ variant="primary"
+ )
+
+ check_models_new_version_log_md = gr.HTML(
+ "It takes time, just wait. Check console log for detail"
+ )
+
+ # ====Footer====
+ gr.HTML(f"{util.SHORT_NAME} version: {util.VERSION} ")
+
+ # ====hidden component for js, not in any tab====
+ js_msg_txtbox = gr.Textbox(
+ label="Request Msg From Js",
+ visible=False,
+ lines=1,
+ value="",
+ elem_id="ch_js_msg_txtbox"
+ )
+ py_msg_txtbox = gr.Textbox(
+ label="Response Msg From Python",
+ visible=False,
+ lines=1,
+ value="",
+ elem_id="ch_py_msg_txtbox"
+ )
+
+ js_open_url_btn = gr.Button(
+ value="Open Model Url",
+ visible=False,
+ elem_id="ch_js_open_url_btn"
+ )
+ js_add_trigger_words_btn = gr.Button(
+ value="Add Trigger Words",
+ visible=False,
+ elem_id="ch_js_add_trigger_words_btn"
+ )
+ js_use_preview_prompt_btn = gr.Button(
+ value="Use Prompt from Preview Image",
+ visible=False,
+ elem_id="ch_js_use_preview_prompt_btn"
+ )
+ js_dl_model_new_version_btn = gr.Button(
+ value="Download Model's new version",
+ visible=False,
+ elem_id="ch_js_dl_model_new_version_btn"
+ )
+ js_rename_card_btn = gr.Button(
+ value="Rename Card",
+ visible=False,
+ elem_id="ch_js_rename_card_btn"
+ )
+ js_remove_card_btn = gr.Button(
+ value="Remove Card",
+ visible=False,
+ elem_id="ch_js_remove_card_btn"
+ )
+
+ # ====events====
+ # Scan Models for Civitai
+ scan_model_civitai_btn.click(
+ model_action_civitai.scan_model,
+ inputs=[
+ scan_model_types_drop, max_size_preview_ckb,
+ nsfw_preview_threshold_drop, refetch_old_ckb
+ ],
+ outputs=scan_model_log_md
+ )
+
+ scan_civitai_info_image_meta_btn.click(
+ model.scan_civitai_info_image_meta,
+ outputs=scan_model_log_md
+ )
+
+ # Get Civitai Model Info by Model Page URL
+ model_type_drop.change(
+ get_model_names_by_input,
+ inputs=[
+ model_type_drop, empty_info_only_ckb
+ ],
+ outputs=model_name_drop
+ )
+ empty_info_only_ckb.change(
+ get_model_names_by_input,
+ inputs=[
+ model_type_drop, empty_info_only_ckb
+ ],
+ outputs=model_name_drop
+ )
+
+ get_civitai_model_info_by_id_btn.click(
+ model_action_civitai.get_model_info_by_input,
+ inputs=[
+ model_type_drop, model_name_drop,
+ model_url_or_id_txtbox, max_size_preview_ckb,
+ nsfw_preview_threshold_drop
+ ],
+ outputs=get_model_by_id_log_md
+ )
+
+ # Download Model
+ dl_model_info_btn.click(
+ get_model_info_by_url,
+ inputs=[
+ dl_model_url_or_id_txtbox, dl_subfolder_drop
+ ],
+ outputs=[
+ dl_model_info, dl_model_name_txtbox,
+ dl_model_type_txtbox, dl_subfolder_drop,
+ dl_version_drop
+ ]
+ )
+ dl_civitai_model_by_id_btn.click(
+ model_action_civitai.dl_model_by_input,
+ inputs=[
+ dl_model_info, dl_model_type_txtbox,
+ dl_subfolder_drop, dl_version_drop,
+ dl_all_ckb, max_size_preview_ckb,
+ nsfw_preview_threshold_drop, dl_duplicate_drop
+ ],
+ outputs=dl_log_md
+ )
+
+ # Check models' new version
+ check_models_new_version_btn.click(
+ model_action_civitai.check_models_new_version_to_md,
+ inputs=model_types_ckbg,
+ outputs=check_models_new_version_log_md
+ )
+
+ # js action
+ js_open_url_btn.click(
+ js_action_civitai.open_model_url,
+ inputs=[js_msg_txtbox],
+ outputs=py_msg_txtbox
+ )
+ js_add_trigger_words_btn.click(
+ js_action_civitai.add_trigger_words,
+ inputs=[js_msg_txtbox],
+ outputs=[
+ txt2img_prompt, img2img_prompt
+ ]
+ )
+ js_use_preview_prompt_btn.click(
+ js_action_civitai.use_preview_image_prompt,
+ inputs=[js_msg_txtbox],
+ outputs=[
+ txt2img_prompt, txt2img_neg_prompt,
+ img2img_prompt, img2img_neg_prompt
+ ]
+ )
+ js_dl_model_new_version_btn.click(
+ js_action_civitai.dl_model_new_version,
+ inputs=[
+ js_msg_txtbox, max_size_preview_ckb,
+ nsfw_preview_threshold_drop
+ ],
+ outputs=dl_log_md
+ )
+ js_rename_card_btn.click(
+ js_action_civitai.rename_model_by_path,
+ inputs=[js_msg_txtbox],
+ outputs=py_msg_txtbox
+ )
+ js_remove_card_btn.click(
+ js_action_civitai.remove_model_by_path,
+ inputs=[js_msg_txtbox],
+ outputs=py_msg_txtbox
+ )
+
+ # the third parameter is the element id on html, with a "tab_" as prefix
+ return ((civitai_helper, "Civitai Helper", "civitai_helper"),)
+
+
+def on_ui_settings():
+ section = ('civitai_helper', "Civitai Helper")
+ shared.opts.add_option(
+ "ch_civiai_api_key",
+ shared.OptionInfo(
+ "",
+ (
+ "API key for authenticating with Civitai. "
+ "This is required to download some models. "
+ "See Wiki for more details."
+ ),
+ gr.Textbox,
+ {"interactive": True},
+ section=section
+ ).link(
+ "Wiki",
+ "https://github.com/zixaphir/Stable-Diffusion-Webui-Civitai-Helper/wiki/Civitai-API-Key"
+ )
+ )
+ shared.opts.add_option(
+ "ch_open_url_with_js",
+ shared.OptionInfo(
+ True,
+ (
+ "Open model Url on the user's client side, rather than server side. "
+ "If you are running WebUI locally, disabling this may open URLs in your "
+ "default internet browser if it is different than the one you are running "
+ "WebUI in"
+ ),
+ gr.Checkbox,
+ {"interactive": True},
+ section=section
+ )
+ )
+ shared.opts.add_option(
+ "ch_hide_buttons",
+ shared.OptionInfo(
+ [x for x, y in BUTTONS.items() if y],
+ "Hide checked Civitai Helper buttons on model cards",
+ gr.CheckboxGroup,
+ {"choices": list(BUTTONS)},
+ section=section
+ )
+ )
+ shared.opts.add_option(
+ "ch_always_display",
+ shared.OptionInfo(
+ False,
+ "Always Display Buttons on model cards",
+ gr.Checkbox,
+ {"interactive": True},
+ section=section
+ )
+ )
+ shared.opts.add_option(
+ "ch_show_btn_on_thumb",
+ shared.OptionInfo(
+ True,
+ "Show Button On Thumb Mode in SD webui versions before 1.5.0",
+ gr.Checkbox,
+ {"interactive": True},
+ section=section
+ )
+ )
+ shared.opts.add_option(
+ "ch_max_size_preview",
+ shared.OptionInfo(
+ True,
+ "Download Max Size Preview",
+ gr.Checkbox,
+ {"interactive": True},
+ section=section
+ )
+ )
+ shared.opts.add_option(
+ "ch_nsfw_preview_threshold",
+ shared.OptionInfo(
+ civitai.NSFW_LEVELS[-1], # Allow all
+ util.dedent(
+ """
+ Block NSFW images of a certain threshold and higher.
+ Civitai marks all images for NSFW models as also being NSFW.
+ These ratings do not seem to be explicitly defined on Civitai's
+ end, but "Soft" seems to be suggestive, with NSFW elements but
+ not explicit nudity, "Mature" seems to include nudity but not
+ always, and "X" seems to be explicitly adult content.
+ """
+ ).strip().replace("\n", " "),
+ gr.Dropdown,
+ {
+ "choices": civitai.NSFW_LEVELS[1:],
+ "interactive": True
+ },
+ section=section
+ )
+ )
+ shared.opts.add_option(
+ "ch_dl_webui_metadata",
+ shared.OptionInfo(
+ True,
+ "Also add data for WebUI metadata editor",
+ gr.Checkbox,
+ {"interactive": True},
+ section=section)
+ )
+ shared.opts.add_option(
+ "ch_proxy",
+ shared.OptionInfo(
+ "",
+ "Proxy to use for fetching models and model data. Format: http://127.0.0.1:port",
+ gr.Textbox,
+ {"interactive": True},
+ section=section)
+ )
+ shared.opts.add_option(
+ "ch_use_sdwebui_sha256",
+ shared.OptionInfo(
+ False,
+ (
+ "Use SD webui's built-in hashing functions for model hashes. "
+ "If SD webui was launced with `--no-hashing`, hashing will fail, "
+ "but this provides a hash cache, which should make repeat model "
+ "scanning faster."
+ ),
+ gr.Checkbox,
+ {"interactive": True},
+ section=section)
+ )
+
+script_callbacks.on_ui_settings(on_ui_settings)
+script_callbacks.on_ui_tabs(on_ui_tabs)
diff --git a/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/style.css b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/style.css
new file mode 100644
index 0000000000000000000000000000000000000000..6a0e62687c8ccfd8b74c1514cf1c9ab50db7bbcd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/Stable-Diffusion-Webui-Civitai-Helper/style.css
@@ -0,0 +1,73 @@
+blockquote ul {
+ list-style:disc;
+ margin:4px 40px;
+}
+
+blockquote ol {
+ list-style:decimal;
+ margin:4px 40px;
+}
+
+.block.padded.ch_box {
+ padding: 10px !important;
+}
+
+.block.padded.ch_vpadding {
+ padding: 10px 0 !important;
+}
+
+.card-button {
+ margin: 0px 2px;
+ padding: 2px;
+ font-size: 150%;
+}
+
+/* SD WebUI has not line height limit for model names.
+ * This can result in the model name filling the entire card,
+ * hiding our buttons. This is honestly a WebUI issue more
+ * than an issue on this end, but we can fix it anyways, so
+ * why not?
+ */
+.extra-network-cards .card .name:not(:hover) {
+ display: block;
+ overflow: hidden;
+ max-height: 3em;
+}
+
+.extra-network-thumbs .card-button {
+ font-size: 100%;
+ display: inline;
+ position: static;
+ background-image: none;
+ background: rgba(0, 0, 0, 0.8);
+}
+
+/* Lobe theme */
+.actions .additional > a {
+ display: none;
+}
+
+/*
+ * Gross, ugly, and I hate it, but the only way to override an
+ * !important is with a more granular !important.
+ */
+.acss-culdhq .extra-networks .actions .additional > ul a.card-button {
+ margin: 0px 2px !important;
+ padding: 2px !important;
+ font-size: 150% !important;
+
+}
+
+/* Work around a display bug in Lobe that causes lowers opacity to 0.2 */
+#txt2img_extra_tabs [style*="_cards_html"] .pending,
+#img2img_extra_tabs [style*="_cards_html"] .pending {
+ opacity: 1;
+}
+
+/* Work around a display bug in Lobe that causes an infinite counter */
+#txt2img_extra_tabs [id*="_cards_html"] .progress-text ,
+#img2img_extra_tabs [id*="_cards_html"] .progress-text {
+ display: none;
+}
+
+/* end of Lobe theme */
diff --git a/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/.gitignore b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..e9e3707f8a1eaacfbd6b478874868b91f3f97587
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/.gitignore
@@ -0,0 +1,2 @@
+tags/temp/
+__pycache__/
diff --git a/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/LICENSE b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/LICENSE
new file mode 100644
index 0000000000000000000000000000000000000000..72a5479833a0bc73e8b2e4b39467e7ccfc8bdc0c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2022 Dominik Reh
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/README.md b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..1deb335014d1ef1f94e3f5d7f48d14dd41c14430
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/README.md
@@ -0,0 +1,598 @@
+
+
+
+
+# SD WebUI Tag Autocomplete
+## English • [简体中文](./README_ZH.md) • [日本語](./README_JA.md)
+
+Booru style tag autocompletion for the AUTOMATIC1111 Stable Diffusion WebUI
+
+[![Github Release][release-shield]][release-url]
+[![stargazers][stargazers-shield]][stargazers-url]
+[![contributors][contributors-shield]][contributors-url]
+[![forks][forks-shield]][forks-url]
+[![issues][issues-shield]][issues-url]
+
+[Changelog][release-url] •
+[Known Issues](#%EF%B8%8F-common-problems--known-issues) •
+[Report Bug][issues-url] •
+[Request Feature][issues-url]
+
+
+
+# 📄 Description
+
+Tag Autocomplete is an extension for the popular [AUTOMATIC1111 web UI](https://github.com/AUTOMATIC1111/stable-diffusion-webui) for Stable Diffusion.
+
+It displays autocompletion hints for recognized tags from "image booru" boards such as Danbooru, which are primarily used for browsing Anime-style illustrations.
+Since some Stable Diffusion models were trained using this information, for example [Waifu Diffusion](https://github.com/harubaru/waifu-diffusion) and many of the NAI-descendant models or merges, using exact tags in prompts can often improve composition and consistency.
+
+You can install it using the inbuilt available extensions list, clone the files manually as described [below](#-installation), or use a pre-packaged version from [Releases](https://github.com/DominikDoom/a1111-sd-webui-tagcomplete/releases).
+
+
+
+# ✨ Features
+- 🚀 Instant completion hints while typing (under normal circumstances)
+- ⌨️ Keyboard navigation
+- 🌒 Dark & Light mode support
+- 🛠️ Many [settings](#%EF%B8%8F-settings) and customizability
+- 🌍 [Translation support](#translations) for tags, with optional live preview for the full prompt
+ - **Note:** Translation files are provided by the community, see [here](#list-of-translations) for a list of translations I know of.
+
+Tag autocomplete supports built-in completion for:
+- 🏷️ **Danbooru & e621 tags** (Top 100k by post count, as of November 2022)
+- ✳️ [**Wildcards**](#wildcards)
+- ➕ [**Extra network**](#extra-networks-embeddings-hypernets-lora-) filenames, including
+ - Textual Inversion embeddings [(jump to readme section)]
+ - Hypernetworks
+ - LoRA
+ - LyCORIS / LoHA
+- 🪄 [**Chants**](#chants) (custom format for longer prompt presets)
+- 🏷️ "[**Extra file**](#extra-file)", one set of customizable extra tags
+
+
+Additionally, some support for other third party extensions exists:
+
+Click to expand
+
+- [Image Browser][image-browser-url] - Filename & EXIF keyword search
+- [Multidiffusion Upscaler][multidiffusion-url] - Regional Prompts
+- [Dataset Tag Editor][tag-editor-url] - Caption, Interrogate Result, Edit Tags & Edit Caption
+- [WD 1.4 Tagger][wd-tagger-url] - Additional & Excluded tags
+- [Umi AI][umi-url] - Completion for YAML wildcards
+
+
+
+# 🖼️ Screenshots & Demo videos
+
+Click to expand
+Basic usage (with keyboard navigation):
+
+https://user-images.githubusercontent.com/34448969/200128020-10d9a8b2-cea6-4e3f-bcd2-8c40c8c73233.mp4
+
+Wildcard script support:
+
+https://user-images.githubusercontent.com/34448969/200128031-22dd7c33-71d1-464f-ae36-5f6c8fd49df0.mp4
+
+Extra Network preview support:
+
+https://github.com/DominikDoom/a1111-sd-webui-tagcomplete/assets/34448969/3c0cad84-fb5f-436d-b05a-28db35860d13
+
+Dark and Light mode supported, including tag colors:
+
+
+
+
+
+
+# 📦 Installation
+## Using the built-in extension list
+1. Open the `Extensions` tab
+2. Open the `Available` sub-tab
+3. Click **Load from**
+4. Find **Booru tag autocompletion** in the list
+ - The extension was one of the first available, so selecting "oldest first" will show it high up in the list.
+ - Alternatively, use CRTL + F to search for the text on the page
+5. Click **Install** on the right side
+
+
+
+
+
+
+## Manual clone
+```bash
+git clone "https://github.com/DominikDoom/a1111-sd-webui-tagcomplete.git" extensions/tag-autocomplete
+```
+(The second argument specifies the name of the folder, you can choose whatever you like).
+
+
+
+# ❇️ Additional completion support
+## Wildcards
+Autocompletion also works with wildcard files used by https://github.com/AUTOMATIC1111/stable-diffusion-webui-wildcards or other similar scripts/extensions.
+Completion is triggered by typing `__` (double underscore). It will first show a list of your wildcard files, and upon choosing one, the replacement options inside that file.
+This enables you to either insert categories to be replaced by the script, or directly choose one and use wildcards as a sort of categorized custom tag system.
+
+
+
+
+
+Wildcards are searched for in every extension folder, as well as the `scripts/wildcards` folder to support legacy versions. This means that you can combine wildcards from multiple extensions. Nested folders are also supported if you have grouped your wildcards in that way.
+
+## Extra networks (Embeddings, Hypernets, LoRA, ...)
+Completion for these types is triggered by typing `<`. By default it will show them all mixed together, but further filtering can be done in the following way:
+- `
+ Image example
+
+ 
+ 
+
+2. Through the model-keyword UI:
+ - One issue with this method is that it has no official support for the Lycoris extension and doesn't scan its folder for files, so to add them through the UI you will have to temporarily move them into the Lora model folder to be able to select them in model-keywords dropdown. Some are already included in the default list though, so trying it out first is advisable.
+ - After having added your custom keywords, you will need to either restart the UI or use the "Refresh TAC temp files" setting button.
+ -
+ Image example
+
+ 
+
+
+Sometimes the inserted keywords can be wrong due to a hash collision, however model-keyword and tag autocomplete take the name of the file into account too if the collision is known.
+
+If it still inserts something wrong or you simply don't want the keywords added that time, you can undo / redo it directly after as often as you want, until you type something else
+(It uses the default undo/redo action of the browser, so CTRL + Z , context menu and mouse macros should all work).
+
+### Embedding type filtering
+Embeddings trained for Stable Diffusion 1.x or 2.x models respectively are incompatible with the other type. To make it easier to find valid embeds, they are categorized by "v1 Embedding" and "v2 Embedding", including a slight color difference. You can also filter your search to include only v1 or v2 embeddings by typing `
+Chant format (click to expand)
+
+```json
+[
+ {
+ "name": "Basic-NegativePrompt",
+ "terms": "Negative,Low,Quality",
+ "content": "(worst quality, low quality, normal quality)",
+ "color": 3
+ },
+ {
+ "name": "Basic-HighQuality",
+ "terms": "Best,High,Quality",
+ "content": "(masterpiece, best quality, high quality, highres, ultra-detailed)",
+ "color": 1
+ },
+ {
+ "name": "Basic-Start",
+ "terms": "Basic, Start, Simple, Demo",
+ "content": "(masterpiece, best quality, high quality, highres), 1girl, extremely beautiful detailed face, ...",
+ "color": 5
+ }
+]
+```
+
+
+
+The file can then be selected using the "Chant file" settings dropdown if it is located inside the extension's `tags` folder.
+
+A chant object has four fields:
+- `name` - Display name
+- `terms` - Search terms
+- `content` - The actual prompt content
+- `color` - Color, using the same category color system as normal tags
+
+## Umi AI tags
+https://github.com/Klokinator/Umi-AI is a feature-rich wildcard extension similar to Unprompted or Dynamic Wildcards.
+In recent releases, it uses YAML-based wildcard tags to enable a complex chaining system,for example `<[preset][--female][sfw][species]>` will choose the preset category, exclude female related tags, further narrow it down with the following categories, and then choose one random fill-in matching all these criteria at runtime. Completion is triggered by `<[` and then each following new unclosed bracket, e.g. `<[xyz][`, until closed by `>`.
+
+Tag Autocomplete can recommend these options in a smart way, meaning while you continue to add category tags, it will only show results still matching what comes before.
+It also shows how many fill-in tags are available to choose from for that combo in place of the tag post count, enabling a quick overview and filtering of the large initial set.
+
+Most of the credit goes to [@ctwrs](https://github.com/ctwrs) here, they contributed a lot as one of the Umi developers.
+
+# 🛠️ Settings
+
+The extension has a large amount of configuration & customizability built in. Most should be self-explanatory, but for a detailed description click on a section below.
+
+
+
+Tag filename
+
+The main tag file the script uses. Included by default are `danbooru.csv` and `e621.csv`. While you can add custom tags here, the vast majority of models are not trained on anything other than these two (mostly danbooru), so it will not have much benefit.
+
+You can also set it to `None` if you want to use other functionality of the extension (e.g. Wildcard or LoRA completion), but aren't interested in the normal tags.
+
+
+
+
+
+"Active in" settings
+
+Specifies where tag autocomplete should attach itself to and listen for changes.
+Negative prompts follow the settings for txt2img & img2img, so they will only be active if their "parent" is active.
+
+
+
+
+
+Black / Whitelist
+
+While the above options can turn off tag autocomplete globally, sometimes you might want to enable or disable it only for specific models. For example, if most of your models are Anime ones, you could add your photorealistic models, that weren't trained on booru tags and don't benefit from it, to the blacklist, which will automatically disable it after you switch to these models. You can use both the model name (including file extension) and their webui hashes (both short and long form).
+
+`Blacklist` will exclude all specified models, while `Whitelist` will only activate it for these and stay off by default. One exception is an empty whitelist, which will be ignored (making it the same as an empty blacklist).
+
+
+
+
+
+Move completion popup with cursor
+
+This option enables or disables the floating popup to follow the position of your cursor, like it would do in an IDE. The script tries to reserve enough room for the popup to prevent squishing on the right side, but that doesn't always work for longer tags. If disabled, the popup will stay on the left.
+
+
+
+
+
+
+
+
+Result count
+
+Settings for the amount of results to show at once.
+If `Show all results` is active, it will show a scrollable list instead of cutting it off after the number specified in `Maximum results`. For performance reasons, in that case not all are loaded at once, but instead in blocks. The block size is dictated by `How many results to load at once`. Once you reach the bottom, the next block will load (but that should rarely happen).
+
+Notably, `Maximum results` will still have an influence if `Show all results` is used, since it dictates the height of the popup before scrolling begins.
+
+
+
+
+
+Completion delay
+
+Depending on the configuration, real time tag completion can get computationally expensive.
+This option sets a "debounce" delay in milliseconds (1000ms = 1s), during which no second completion will get queried. This might especially be useful if you type very fast.
+
+
+
+
+
+"Search for" settings
+
+Pretty self explanatory, enables or disables certain completion types.
+
+Umi AI wildcards are included in the normal wildcard option here, although they use a different format, since their usage intention is similar.
+
+
+
+
+
+"?" Wiki links
+
+If this option is turned on, it will show a `?` link next to the tag. Clicking this will try to open the wiki page for that tag on danbooru or e621, depending on which tag file you use.
+
+> ⚠️ Warning:
+>
+> Danbooru and e621 are external sites and include a lot of NSFW content, which might show in the list of examples for a tag on its wiki page. Because of this, the option is disabled by default.
+
+
+
+
+
+Extra network live previews
+
+This option enables a small preview window alongside the normal completion popup that will show the card preview also usd in the extra networks tab for that file.
+
+
+
+
+
+Completion settings
+
+These settings specify how the text will be inserted.
+
+Booru sites mostly use underscores in tags instead of spaces, but during preprocessing most models replaced this back with spaces since the CLIP encoder used in Stable diffusion was trained on natural language. Thus, by default tag autocomplete will as well.
+
+Parentheses are used as control characters in the webui to give more attention / weight to a specific part of the prompt, so tags including parentheses are escaped (`\( \)`) by default to not influence that.
+
+Depending on the last setting, tag autocomplete will append a comma and space after inserting a tag, which may help for rapid completion of multiple tags in a row.
+
+
+
+
+
+Lora / Lyco trigger word insertion
+
+See [the detailed readme section](#lora--lyco-trigger-word-completion) for more info.
+
+Selects the mode to use for Lora / Lyco trigger word insertion.
+Needs the [model-keyword](https://github.com/mix1009/model-keyword/) extension to be installed, else it will do nothing.
+
+- Never
+ - Will not complete trigger words, even if the model-keyword extension is installed
+- Only user list
+ - Will only load the custom keywords specified in the lora-keyword-user.txt file and ignore the default list
+- Always
+ - Will load and use both lists
+
+Switching from "Never" to what you had before or back will not require a restart, but changing between the full and user only list will.
+
+
+
+
+
+Wildcard path completion
+
+Some collections of wildcards are organized in nested subfolders.
+They are listed with the full path to the file, like "hair/colors/light/..." or "clothing/male/casual/..." etc.
+
+In these cases it is often hard to type the full path manually, but you still want to narrow the selection before further scrolling in the list.
+For this, a partial completion of the path can be triggered with Tab (or the custom hotkey for `ChooseSelectedOrFirst`) if the results to choose from are all paths.
+
+This setting determines the mode it should use for completion:
+- To next folder level:
+ - Completes until the next `/` in the path, preferring your selection as the way forward
+ - If you want to directly choose an option, Enter / the `ChooseSelected` hotkey will skip it and fully complete.
+- To first difference:
+ - Completes until the first difference in the results and waits for additional info
+ - E.g. if you have "/sub/folder_a/..." and "/sub/folder_b/...", completing after typing "su" will insert everything up to "/sub/folder_" and stop there until you type a or b to clarify.
+ - If you selected something with the arrow keys (regardless of pressing Enter or Tab), it will skip it and fully complete.
+- Always fully:
+ - As the name suggests, disables the partial completion behavior and inserts the full path under all circumstances like with normal tags.
+
+
+
+
+
+Alias settings
+
+Tags often are referred to with multiple aliases. If `Search by alias` is turned on, those will be included in the search results, which might help if you are unsure of the correct tag. They will still get replaced by the actual tag they are linked to on insertion, since that is what the models were trained on.
+
+`Only show alias` sets if you want to see only the alias or also the tag it maps to
+(shown as ` ➝ `)
+
+
+
+
+
+Translation settings
+
+Tag Autocomplete has support for tag translations specified in a separate file (`Translation filename`). You can search for tags using those translations, meaning that if you don't know the English tagword and have a translation file in your native language, you can use that instead.
+
+It also has a legacy format option for some old files used in the community, as well as an experimental live translation preview for the whole prompt so you can easily find and edit tags afterwards.
+
+For more details, see the [section on translations](#translations) below.
+
+
+
+
+
+Extra file settings
+
+Specifies a set of extra tags that get appended either before or after the regular results, as specified here. Mostly useful for small custom tag sets such as the commonly used quality tags (masterpiece, best quality, etc.)
+
+If you want completion for longer presets or even whole prompts, have a look at [Chants](#chants) instead.
+
+
+
+
+
+Chant filename
+
+Chants are longer presets or even whole prompts that can be selected & inserted at once, similar to the built in styles dropdown of the webui. They do offer some additional features though, and are faster to use.
+
+For more info, see the section on [Chants](#chants) above.
+
+
+
+
+
+Hotkeys
+
+You can specify the hotkeys for most keyboard navigation features here.
+Should be one of the key names specified in https://www.w3.org/TR/uievents-key/#named-key-attribute-value.
+
+Function explanation:
+- Move Up / Down: Select the next tag
+- Jump Up / Down: Move by five places at once
+- Jump to Start / End: Jump to the top or bottom of the list
+- ChooseSelected: Select the highlighted tag, or close popup if nothing was selected
+- ChooseSelectedOrFirst: Same as above, but default to the first result if nothing was selected
+- Close: Closes the popup
+
+
+
+
+
+Colors
+
+Here, you can change the default colors used for different tag categories. They were chosen to be similar to the category colors of their source site.
+
+The format is standard JSON
+- The object names correspond to the tag filename they should be used for.
+- The numbers are specifying the tag type, which is dependent on the tag source. For more info, see [CSV tag data](#csv-tag-data).
+- The first value in the square brackets is for dark, the second for light mode. HTML color names and hex codes should both work.
+
+This can also be used to add new color sets for custom tag files.
+
+
+
+
+
+Refresh TAC temp files
+
+This is a "fake" setting, meaning it doesn't actually configure anything. Rather, it is a small hack to abuse the refresh button developers can add to webui options. Clicking on the refresh button next to this setting will force tag autocomplete to recreate and reload some temporary internal files, which normally only happens on restarting the UI.
+
+Tag autocomplete depends on these files for various functionality, especially related to extra networks and wildcard completion. This setting can be used to rebuild the lists if you have, for example, added a few new LoRAs into the folder and don't want to restart the UI to get tag autocomplete to list them.
+
+You can also add this to your quicksettings bar to have the refresh button available at all times.
+
+
+
+
+
+# Translations
+An additional file can be added in the translation section, which will be used to translate both tags and aliases and also enables searching by translation.
+This file needs to be a CSV in the format `,`. Some older files use a three column format, which requires a compatibility setting to be activated.
+You can find it under `Settings > Tag autocomplete > Translation filename > Translation file uses old 3-column translation format instead of the new 2-column one`.
+With it on, the second column will be unused and skipped during parsing.
+
+Example with Chinese translation:
+
+
+
+
+## List of translations
+- [🇨🇳 Chinese tags](https://github.com/DominikDoom/a1111-sd-webui-tagcomplete/discussions/23) by @HalfMAI, using machine translation and manual correction for the most common tags (uses legacy format)
+- [🇨🇳 Chinese tags](https://github.com/sgmklp/tag-for-autocompletion-with-translation) by @sgmklp, smaller set of manual translations based on https://github.com/zcyzcy88/TagTable
+
+> ### 🫵 I need your help!
+> Translations are a community effort. If you have translated a tag file or want to create one, please open a Pull Request or Issue so your link can be added here.
+> Please make sure the quality is alright though, machine translation gets a lot of stuff wrong even for the most common tags.
+
+## Live preview
+> ⚠️ Warning:
+>
+> This feature is still experimental, you might encounter some bugs when using it.
+
+This will show a live preview of all detected tags in the prompt, both correctly separated by commas as well as in a longer sentence. It can detect up to three-word pairs in natural sentences, preferring perfect multi-word matches over single tags.
+
+Above the detected tags will be their translation from the translation file, so if you aren't sure what the English tag means, you can easily find it there even after they have been inserted into the prompt (instead of just in the popup during completion).
+
+The option defaults to off, but you can activate it by choosing a translation file and checking "Show live tag translation below prompt".
+It will not affect the normal functionality if it is off.
+
+Example with Chinese translation:
+
+
+
+Clicking on a detected tag will also select it in the prompt for quick editing.
+
+
+
+#### ⚠️ Known issues with live translation:
+The translation updates when the user types or pastes text, but not if the action happens programmatically (e.g. applying a style or loading from PNG Info / Image Browser). This can be worked around by typing something manually after the programmatic edit.
+
+# Extra file
+An extra file can be used to add new / custom tags not included in the main set.
+The format is identical to the normal tag format shown in [CSV tag data](#csv-tag-data) below, with one exception:
+Since custom tags likely have no count, column three (or two if counting from zero) is instead used for the gray meta text displayed next to the tag.
+If left empty, it will instead show "Custom tag".
+
+An example with the included (very basic) extra-quality-tags.csv file:
+
+
+
+Whether the custom tags should be added before or after the normal tags can be chosen in the settings.
+
+# CSV tag data
+The script expects a CSV file with tags saved in the following way:
+```csv
+,,,""
+```
+Example:
+```csv
+1girl,0,4114588,"1girls,sole_female"
+solo,0,3426446,"female_solo,solo_female"
+highres,5,3008413,"high_res,high_resolution,hires"
+long_hair,0,2898315,longhair
+commentary_request,5,2610959,
+```
+Notably, it does not expect column names in the first row and both count and aliases are technically optional,
+although count is always included in the default data. Multiple aliases need to be comma separated as well, but encased in string quotes to not break the CSV parsing.
+
+The numbering system follows the [tag API docs](https://danbooru.donmai.us/wiki_pages/api%3Atags) of Danbooru:
+| Value | Description |
+|-------|-------------|
+|0 | General |
+|1 | Artist |
+|3 | Copyright |
+|4 | Character |
+|5 | Meta |
+
+or similarly for e621:
+| Value | Description |
+|-------|-------------|
+|-1 | Invalid |
+|0 | General |
+|1 | Artist |
+|3 | Copyright |
+|4 | Character |
+|5 | Species |
+|6 | Invalid |
+|7 | Meta |
+|8 | Lore |
+
+The tag type is used for coloring entries in the result list.
+
+
+## ⚠️ Common Problems & Known Issues:
+- Depending on your browser settings, sometimes an old version of the script can get cached. Try
+CTRL + F5
+to force-reload the site without cache if e.g. a new feature doesn't appear for you after an update.
+- If the prompt popup has broken styling for you or doesn't appear at all (like [this](https://github.com/DominikDoom/a1111-sd-webui-tagcomplete/assets/34448969/7bbfdd54-fc23-4bfc-85af-24704b139b3a)), make sure to update your **openpose-editor** extension if you have it installed. It is known to cause issues with other extensions in older versions.
+
+
+
+[release-shield]: https://img.shields.io/github/v/release/DominikDoom/a1111-sd-webui-tagcomplete?logo=github&style=
+[release-url]: https://github.com/DominikDoom/a1111-sd-webui-tagcomplete/releases
+
+[contributors-shield]: https://img.shields.io/github/contributors/DominikDoom/a1111-sd-webui-tagcomplete
+[contributors-url]: https://github.com/DominikDoom/a1111-sd-webui-tagcomplete/graphs/contributors
+
+[forks-shield]: https://img.shields.io/github/forks/DominikDoom/a1111-sd-webui-tagcomplete
+[forks-url]: https://github.com/DominikDoom/a1111-sd-webui-tagcomplete/network/members
+
+[stargazers-shield]: https://img.shields.io/github/stars/DominikDoom/a1111-sd-webui-tagcomplete
+[stargazers-url]: https://github.com/DominikDoom/a1111-sd-webui-tagcomplete/stargazers
+
+[issues-shield]: https://img.shields.io/github/issues/DominikDoom/a1111-sd-webui-tagcomplete
+[issues-url]: https://github.com/DominikDoom/a1111-sd-webui-tagcomplete/issues/new/choose
+
+
+[image-browser-url]: https://github.com/AlUlkesh/stable-diffusion-webui-images-browser
+[multidiffusion-url]: https://github.com/pkuliyi2015/multidiffusion-upscaler-for-automatic1111
+[tag-editor-url]: https://github.com/toshiaki1729/stable-diffusion-webui-dataset-tag-editor
+[wd-tagger-url]: https://github.com/toriato/stable-diffusion-webui-wd14-tagger
+[umi-url]: https://github.com/Klokinator/Umi-AI
diff --git a/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/README_JA.md b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/README_JA.md
new file mode 100644
index 0000000000000000000000000000000000000000..a7a090174436212f0eba16f65a7d3388f9c0e306
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/README_JA.md
@@ -0,0 +1,522 @@
+
+
+
+
+# SD WebUI Tag Autocomplete
+## [English Document](./README.md), [中文文档](./README_ZH.md), 日本語
+
+Booruスタイルタグを自動補完するためのAUTOMATIC1111 Stable Diffusion WebUI用拡張機能
+
+[![Github Release][release-shield]][release-url]
+[![stargazers][stargazers-shield]][stargazers-url]
+[![contributors][contributors-shield]][contributors-url]
+[![forks][forks-shield]][forks-url]
+[![issues][issues-shield]][issues-url]
+
+[変更内容][release-url] •
+[確認されている問題](#%EF%B8%8F-よくある問題また現在確認されている問題) •
+[バグを報告する][issues-url] •
+[機能追加に関する要望][issues-url]
+
+
+
+# 📄 説明
+
+Tag AutocompleteはStable Diffusion向けの人気のweb UIである、[AUTOMATIC1111 web UI](https://github.com/AUTOMATIC1111/stable-diffusion-webui)の拡張機能として利用できます。
+
+主にアニメ系イラストを閲覧するための掲示板「Danbooru」などで利用されているタグの自動補完ヒントを表示するための拡張機能となります。
+例えば[Waifu Diffusion](https://github.com/harubaru/waifu-diffusion)やNAIから派生した多くのモデルやマージなど、Stable Diffusionモデルの中にはこの情報を使って学習されたものもあるため、プロンプトに正確なタグを使用することで、多くのケースで構図を改善した思い通りの画像が生成できるようになります。
+
+組み込みの利用可能な拡張機能リストを使ってインストールしたり、[下記](#-インストール)の説明に従って手動でファイルをcloneしたり、[Releases](https://github.com/DominikDoom/a1111-sd-webui-tagcomplete/releases)にあるパッケージ済みのバージョンを使うことができます。
+
+
+
+# ✨ Features
+- 🚀 タイピング中に補完のためのヒントを表示 (通常時)
+- ⌨️ キーボードナビゲーション
+- 🌒 ダーク&ライトモードのサポート
+- 🛠️ 多くの[設定](#%EF%B8%8F-設定)とカスタマイズ性を提供
+- 🌍 [翻訳サポート](#翻訳)タグ、オプションでプロンプトのライブ プレビュー付き
+ - 私が知っている翻訳のリストは[こちら](#翻訳リスト)を参照してください。
+
+タグの自動補完は組み込まれている補完内容をサポートしています:
+- 🏷️ **Danbooru & e621 tags** (投稿数上位100k、2022年11月現在)
+- ✳️ [**ワイルドカード**](#ワイルドカード)
+- ➕ [**Extra networks**](#extra-networks-embeddings-hypernets-lora-) filenames, including
+ - Textual Inversion embeddings
+ - Hypernetworks
+ - LoRA
+ - LyCORIS / LoHA
+- 🪄 [**Chants(詠唱)**](#chants詠唱) (長いプロンプトプリセット用のカスタムフォーマット)
+- 🏷️ "[**Extra file**](#extra-file)", カスタマイズ可能なextra tagsセット
+
+
+さらに、サードパーティの拡張機能にも対応しています:
+
+クリックして開く
+
+- [Image Browser][image-browser-url] - ファイル名とEXIFキーワードによる検索
+- [Multidiffusion Upscaler][multidiffusion-url] - 地域別のプロンプト
+- [Dataset Tag Editor][tag-editor-url] - キャプション, 結果の確認, タグの編集 & キャプションの編集
+- [WD 1.4 Tagger][wd-tagger-url] - 追加と除外タグ
+- [Umi AI][umi-url] - YAMLワイルドカードの補完
+
+
+
+## スクリーンショット & デモ動画
+
+クリックすると開きます
+基本的な使い方 (キーボード操作を用いたもの):
+
+https://user-images.githubusercontent.com/34448969/200128020-10d9a8b2-cea6-4e3f-bcd2-8c40c8c73233.mp4
+
+ワイルドカードをサポート:
+
+https://user-images.githubusercontent.com/34448969/200128031-22dd7c33-71d1-464f-ae36-5f6c8fd49df0.mp4
+
+タグカラーを含むDarkモードとLightモードに対応:
+
+
+
+
+
+# 📦 インストール
+## 内蔵されている拡張機能リストを用いた方法
+1. Extensions タブを開く
+2. Available タブを開く
+3. "Load from:" をクリック
+4. リストの中から "Booru tag autocompletion" を探す
+ - この拡張機能は最初から利用可能だったものなので、 "oldest first" を選択すると、リストの上位に表示されます。
+5. 右側にある "Install" をクリック
+
+
+
+
+
+
+## 手動でcloneする方法
+```bash
+git clone "https://github.com/DominikDoom/a1111-sd-webui-tagcomplete.git" extensions/tag-autocomplete
+```
+(第2引数でフォルダ名を指定可能なので、好きな名前を指定しても良いでしょう)
+
+# ❇️ 追加で有効化できる補完機能
+## ワイルドカード
+
+自動補完は、https://github.com/AUTOMATIC1111/stable-diffusion-webui-wildcards 、または他の類似のスクリプト/拡張機能で使用されるワイルドカードファイルでも利用可能です。補完は `__` (ダブルアンダースコア) と入力することで開始されます。最初にワイルドカードファイルのリストが表示され、1つを選択すると、そのファイル内の置換オプションが表示されます。
+これにより、スクリプトによって置換されるカテゴリを挿入するか、または直接1つを選択して、ワイルドカードをカテゴリ化されたカスタムタグシステムのようなものとして使用することができます。
+
+
+
+
+
+ワイルドカードはすべての拡張機能フォルダと、古いバージョンをサポートするための `scripts/wildcards` フォルダで検索されます。これは複数の拡張機能からワイルドカードを組み合わせることができることを意味しています。ワイルドカードをグループ化した場合、ネストされたフォルダもサポートされます。
+
+## Extra networks (Embeddings, Hypernets, LoRA, ...)
+これら3つのタイプの補完は、`<`と入力することで行われます。デフォルトでは3つとも混在して表示されますが、以下の方法でさらにフィルタリングを行うことができます:
+- `
+Chant format (click to expand)
+
+```json
+[
+ {
+ "name": "Basic-NegativePrompt",
+ "terms": "Negative,Low,Quality",
+ "content": "(worst quality, low quality, normal quality)",
+ "color": 3
+ },
+ {
+ "name": "Basic-HighQuality",
+ "terms": "Best,High,Quality",
+ "content": "(masterpiece, best quality, high quality, highres, ultra-detailed)",
+ "color": 1
+ },
+ {
+ "name": "Basic-Start",
+ "terms": "Basic, Start, Simple, Demo",
+ "content": "(masterpiece, best quality, high quality, highres), 1girl, extremely beautiful detailed face, ...",
+ "color": 5
+ }
+]
+```
+
+
+
+
+このファイルが拡張機能の `tags` フォルダ内にある場合、settings内の"Chant file"ドロップダウンから選択することができます。
+
+chantオブジェクトは4つのフィールドを持ちます:
+- `name` - 表示される名称
+- `terms` - 検索キーワード
+- `content` - 実際に挿入されるプロンプト
+- `color` - 表示される色。通常のタグと同じカテゴリーカラーシステムを使用しています。
+
+## Umi AI tags
+https://github.com/Klokinator/Umi-AI は、Unprompted や Dynamic Wildcards に似た、機能豊富なワイルドカード拡張です。
+例えば `<[preset][--female][sfw][species]>` はプリセットカテゴリーを選び、女性関連のタグを除外し、さらに次のカテゴリーで絞り込み、実行時にこれらすべての条件に一致するランダムなフィルインを1つ選び出します。補完は `<[`] とそれに続く新しい開く括弧、例えば `<[xyz][`] で始まり、 `>` で閉じるまで続きます。
+
+タグの自動補完は、これらのオプションをスマートに提案していきます。つまり、カテゴリータグの追加を続けても、その前に来たものと一致する結果だけが表示されるのです。
+また、タグの投稿数の代わりに、そのコンボから選択可能なフィルインタグの数を表示し、大規模になる初期内容に対して迅速な概要とフィルタリングを可能にします。
+
+ほとんどの功績は[@ctwrs](https://github.com/ctwrs)によるものです。この方はUmiの開発者の一人として多くの貢献をしています。
+
+# 🛠️ 設定
+
+この拡張機能には多くの設定とカスタマイズ機能が組み込まれています。ほとんどのことははっきりしていますが、詳細な説明は以下のセクションをクリックしてください。
+
+
+
+Tag filename
+
+スクリプトが使用するメインのタグファイルとなります。デフォルトでは `danbooru.csv` と `e621.csv` が含まれており、ここにカスタムタグを追加することもできますが、大半のモデルはこの2つ以外(主にdanbooru)では学習していないため、あまり意味はありません。
+
+拡張機能の他の機能(ワイルドカードやLoRA補完など)を使いたいが、通常のタグには興味がない場合は、`None`に設定することも可能です。
+
+
+
+
+
+
+"Active in" の設定
+
+タグのオートコンプリートがどこにアタッチされ、変更を受け付けるかを指定します。
+ネガティブプロンプトはtxt2imgとimg2imgの設定に従うので、"親 "がアクティブな場合にのみアクティブとなります。
+
+
+
+
+
+
+Black / Whitelist
+
+このオプションは、タグのオートコンプリートをグローバルにオフにすることができますが、特定のモデルに対してのみ有効または無効にしたい場合もあります。
+例えば、あなたのモデルのほとんどがアニメモデルである場合、boorタグでトレーニングされておらず、その恩恵を受けないフォトリアリスティックモデルをブラックリストに追加し、これらのモデルに切り替えた後に自動的に無効にすることができます。モデル名(拡張子を含む)とwebuiハッシュ(短い形式と長い形式の両方)の両方を使用できます。
+
+`Blacklist`は指定したすべてのモデルを除外しますが、`Whitelist`はこれらのモデルに対してのみ有効で、デフォルトではオフのままです。例外として、空のホワイトリストは無視されます(空のブラックリストと同じです)。
+
+
+
+
+
+カーソルで補完ポップアップを移動
+
+このオプションは、IDEで行われるような、カーソルの位置に追従するフローティングポップアップを有効または無効にします。スクリプトはポップアップが右側でつぶれないように十分なスペースを確保しようとしますが、長いタグでは必ずしもうまくいきません。無効にした場合、ポップアップは左側に表示されます。
+
+
+
+
+
+
+
+
+結果の数
+
+一度に表示する結果の量を設定できます。
+`Show all results`が有効な場合、`Maximum results`で指定された数で切り捨てられるのではなく、スクロール可能なリストが表示されます。パフォーマンス上の理由から、この場合はすべてを一度に読み込むのではなく、ブロック単位で読み込みます。ブロックの大きさは`How many results to load at once`によって決まります。一番下に到達すると、次のブロックがロードされます(しかし、そんなことはめったには起こらないと思います)。
+
+特筆すべきこととして、`Show all results` が使用される場合でも、`Maximum results` は影響を及ぼします。これは、スクロールが開始される前のポップアップの高さを制限するからです。
+
+
+
+
+
+補完の遅れについて
+
+設定によっては、リアルタイムのタグ補完は計算量が多くなることがあります。
+このオプションは debounce による遅延をミリ秒単位で設定します(1000ミリ秒 = 1秒)。このオプションは、入力が非常に速い場合に特に有効です。
+
+
+
+
+
+"Search for" に関する設定
+
+特定の補完タイプを有効または無効にします。
+
+Umi AIワイルドカードは、使用目的が似ているため、異なるフォーマットを使用しますが、ここでは通常のワイルドカードオプションに含まれます。
+
+
+
+
+
+"?" Wiki links
+
+このオプションがオンになっている場合、タグの横に `?` リンクが表示されます。これをクリックすると、danbooruまたはe621のそのタグのWikiページを開こうとします。
+
+> ⚠️ 警告:
+>
+> Danbooruとe621は外部サイトであり、多くのNSFWコンテンツを含んでいます。このため、このオプションはデフォルトで無効になっています。
+
+
+
+
+
+補完設定
+
+これらの設定で、テキストの挿入方法を指定できます。
+
+Booruのサイトでは、タグにスペースの代わりにアンダースコアを使用することがほとんどですが、Stable diffusionで使用されているCLIPエンコーダーは自然言語でトレーニングされているため、前処理中にほとんどのモデルがこのアンダースコアをスペースに置き換えました。したがって、デフォルトではタグのオートコンプリートも同じようになります。
+
+括弧は、プロンプトの特定の部分をより注目/重視するために、Webuiの制御文字として使用されるため、デフォルトでは括弧を含むタグはエスケープされます (`\( \)`) 。
+
+最後の設定によりますが、タグのオートコンプリートはタグを挿入した後にカンマとスペースを追加します。
+
+
+
+
+
+ワイルドカードのパス補完
+
+ワイルドカードのいくつかのコレクションは、ネストしたサブフォルダに整理されています。
+それらは、"hair/colors/light/... " や "clothing/male/casual/... " などのように、ファイルへのフルパスとともにリストアップされています。
+
+このような場合、手動でフルパスを入力するのは難しいことが多いのですが、それでもリストをさらにスクロールする前に選択範囲を狭めたいものです。
+この場合、選択する結果がすべてのパスであれば、Tab (または`ChooseSelectedOrFirst`のカスタムホットキー)でパスの部分補完をトリガーすることが可能です。
+
+この設定は、補完に使用するモードを決定します:
+- 次のフォルダレベルまで:
+ - パス内の次の/まで補完し、選択したものを進む方向として優先します
+ - オプションを直接選択したい場合は、Enter キーまたは `ChooseSelected` ホットキーを使用してスキップし、完全に補完します。
+- 最初の差分まで:
+ - 結果内の最初の違いまで補完し、追加の情報を待ちます
+ - 例:"/sub/folder_a/..." と "/sub/folder_b/..." がある場合、"su" と入力した後に補完すると、"/sub/folder_" まですべてを挿入し、a または b を入力して明確にするまでそこで停止します。
+ - 矢印キーで何かを選択した場合(EnterキーやTabキーを押すかどうかに関係なく)、それをスキップして完全に補完します。
+- 常に全て:
+ - 名前が示すように、部分的な補完動作を無効にし、通常のタグのようにすべての状況下で完全なパスを挿入します。
+
+
+
+
+
+Alias 設定
+
+タグはしばしば複数の別名(Alias)で参照されます。`Search by alias`がオンになっている場合、それらは検索結果に含まれ、正しいタグがわからない場合に役立ちます。この場合でも、挿入時にリンクされている実際のタグに置き換えられます。
+
+`Only show alias` セットは、エイリアスのみを表示したい場合、またはそのエイリアスがマップするタグも表示したい場合に使用します。
+(` ➝ `として表示されます)
+
+
+
+
+
+翻訳設定
+
+Tag Autocompleteは、別のファイル(`Translation filename`)で指定されたタグの翻訳をサポートしています。つまり、英語のタグ名が分からなくても、自身の言語の翻訳ファイルがあれば、それを代わりに使うことができます。
+
+また、コミュニティで使用されている古いファイルのためのレガシーフォーマットオプションや、プロンプト全体のライブ翻訳プレビューなど実験的な機能もあります。
+
+詳細については、以下の [翻訳に関するセクション](#翻訳) を参照してください。
+
+
+
+
+
+Extra ファイル設定
+
+ここで指定したように、通常の結果の前後に追加される追加タグのセットを指定します。一般的に使用される品質タグ (`masterpiece, best quality,` など) のような小さなカスタムタグセットに便利です。
+
+長いプリセットやプロンプト全体を補完したい場合は、代わりに [Chants(詠唱)](#chants詠唱) を参照してください。
+
+
+
+
+
+Chant ファイル名
+
+Chantとは、長いプリセット、あるいはプロンプト全体を一度に選択して挿入できるもので、Webuiに内蔵されているスタイルのドロップダウンに似ています。Chantにはいくつかの追加機能があり、より速く使用することができます。
+
+詳しくは上記の[Chants(詠唱)](#chants詠唱)のセクションを参照してください。
+
+
+
+
+
+Hotkeys
+
+ほとんどのキーボードナビゲーション機能のホットキーをここで指定できます。
+https://www.w3.org/TR/uievents-key/#named-key-attribute-value
+
+機能の説明
+- Move Up / Down:次のタグを選択
+- Jump Up / Down:一度に5箇所移動する。
+- Jump to Start / End: リストの先頭または末尾にジャンプ
+- ChooseSelected ハイライトされたタグを選択するか、何も選択されていない場合はポップアップを閉じます。
+- ChooseSelectedOrFirst:上記と同じですが、何も選択されていない場合、デフォルトで最初の結果が選択されます。
+- Close ポップアップを閉じる
+
+
+
+
+
+Colors
+
+ここでは、異なるタグカテゴリーに使用されるデフォルトの色を変更することができます。これらは、ソースサイトのカテゴリの色に似ているように選択されています。
+
+フォーマットは標準的なJSON
+- オブジェクト名は、タグのファイル名に対応しています。
+- 数字はタグの種類を表し、タグのソースに依存します。詳細については、[CSV tag data](#csv-tag-data)を参照してください。
+- 角括弧内の最初の値はダークモード、2番目の値はライトモードです。HTMLの色名と16進数コードのどちらでも使えます。
+
+これは、カスタムタグ・ファイルに新しいカラーセットを追加するためにも使用できます。
+
+
+
+
+
+TACの一時作成ファイルのリフレッシュ
+
+これは "フェイク"設定で、実際には何も設定しません。むしろ、開発者がwebuiのオプションに追加できる更新ボタンを悪用するための小さなハックです。この設定の隣にある更新ボタンをクリックすると、タグオートコンプリートにいくつかの一時的な内部ファイルを再作成・再読み込みさせます。
+
+タグオートコンプリートは様々な機能、特に余分なネットワークとワイルドカード補完に関連するこれらのファイルに依存しています。この設定は、例えば新しいLoRAをいくつかフォルダに追加し、タグ・オートコンプリートにリストを表示させるためにUIを再起動したくない場合に、リストを再構築するために使用できます。
+
+また、この設定をクイック設定バーに追加することで、いつでも更新ボタンを利用できるようになります。
+
+
+
+
+
+# 翻訳
+タグとエイリアスの両方を翻訳するために使用することができ、また翻訳による検索を可能にするための、追加のファイルを翻訳セクションに追加することができます。
+このファイルは、`,`という形式のCSVである必要がありますが、3列のフォーマットを使用する古いファイルとの後方互換性のために、`oldFormat`をオンにすると、代わりに新しい2列の翻訳形式ではなく、古い3列の翻訳形式を使用するようになります。
+その場合、2番目のカラムは使用されず、パース時にスキップされます。
+
+中国語の翻訳例:
+
+
+
+
+## 翻訳リスト
+- [🇨🇳 Chinese tags](https://github.com/DominikDoom/a1111-sd-webui-tagcomplete/discussions/23) by @HalfMAI, 最も一般的なタグを機械翻訳と手作業で修正(レガシーフォーマットを使用)
+- [🇨🇳 Chinese tags](https://github.com/sgmklp/tag-for-autocompletion-with-translation) by @sgmklp, [こちら](https://github.com/zcyzcy88/TagTable)をベースにして、より小さくした手動での翻訳セット。
+
+> ### 🫵 あなたの助けが必要です!
+> 翻訳はコミュニティの努力により支えられています。もしあなたがタグファイルを翻訳したことがある場合、または作成したい場合は、あなたの成果をここに追加できるように、Pull RequestまたはIssueを開いてください。
+> 機械翻訳は、最も一般的なタグであっても、多くのことを間違えてしまいます。
+
+## ライブ・プレビュー
+> ⚠️ 警告:
+>
+> この機能はまだ実験的なもので、使用中にバグに遭遇するかもしれません。
+
+この機能はプロンプト内のすべての検出されたタグのライブプレビューを表示します。検出されたタグは、カンマで正しく区切られたものと長い文章の中にあるものの両方が表示されます。自然な文章では3単語まで検出することができ、1つのタグよりも複数単語の完全な一致を優先します。
+
+検出されたタグの上には翻訳ファイルからの訳文が表示されるので、英語のタグの意味がよく分からない場合でも、プロンプトにタグが挿入された後でも(完了時のポップアップではなく)簡単に見つけることができます。
+
+このオプションはデフォルトではオフになっていますが、翻訳ファイルを選択し、「Show live tag translation below prompt」をチェックすることで有効にすることができます。
+オフでも通常の機能には影響しません。
+
+中国語翻訳時の例:
+
+
+
+検出されたタグをクリックすると、そのタグがプロンプトで選択され、素早く編集できます。
+
+
+
+#### ⚠️ ライブ翻訳に関する確認されている問題:
+ユーザーがテキストを入力または貼り付けると翻訳が更新されますが、プログラムによる操作(スタイルの適用やPNG Info / Image Browserからの読み込みなど)では更新されません。これは、プログラムによる編集の後に手動で何かを入力することで回避できます。
+
+# Extra file
+エクストラファイルは、メインセットに含まれない新しいタグやカスタムタグを追加するために使用されます。
+[CSV tag data](#csv-tag-data)にある通常のタグのフォーマットと同じですが、ひとつだけ例外があります:
+カスタムタグにはカウントがないため、3列目(0から数える場合は2列目)はタグの横に表示される灰色のメタテキストに使用されます。
+空欄のままだと、「カスタムタグ」と表示されます。
+
+これは同梱されるextra-quality-tags.csvファイルを使用した例で、非常に基本的な内容となります:
+
+
+
+カスタムタグを通常のタグの前に追加するか、後に追加するかは、設定で選択することができます。
+
+# CSV tag data
+このスクリプトは、以下の方法で保存されたタグ付きCSVファイルを想定しています:
+```csv
+,,,""
+```
+Example:
+```csv
+1girl,0,4114588,"1girls,sole_female"
+solo,0,3426446,"female_solo,solo_female"
+highres,5,3008413,"high_res,high_resolution,hires"
+long_hair,0,2898315,longhair
+commentary_request,5,2610959,
+```
+注目すべきは、最初の行にカラム名を記載していないことと、count と aliases の両方が技術的にはオプションであることです、
+ただし、countは常にデフォルトデータに含まれています。複数のエイリアスは同様にカンマで区切る必要がありますが、CSVの解析に支障がないようにダブルクオーテーションで囲みます。
+
+番号の付け方についてはDanbooruの[tag API docs](https://danbooru.donmai.us/wiki_pages/api%3Atags)を参照してください:
+| Value | Description |
+|-------|-------------|
+|0 | General |
+|1 | Artist |
+|3 | Copyright |
+|4 | Character |
+|5 | Meta |
+
+また、e621についても同様です:
+| Value | Description |
+|-------|-------------|
+|-1 | Invalid |
+|0 | General |
+|1 | Artist |
+|3 | Copyright |
+|4 | Character |
+|5 | Species |
+|6 | Invalid |
+|7 | Meta |
+|8 | Lore |
+
+タグの種類は、結果の一覧のエントリーの色付けに使用されます。
+
+## ⚠️ よくある問題、また現在確認されている問題:
+- お使いのブラウザの設定によっては、古いバージョンのスクリプトがキャッシュされることがあります。例えば、アップデート後に新機能が表示されない場合は、キャッシュを使わずにサイトを強制的にリロードするために、
+CTRL + F5
+を試してください。
+- プロンプトのポップアップが壊れたスタイルで表示されるか、全く表示されない場合([このような場合](https://github.com/DominikDoom/a1111-sd-webui-tagcomplete/assets/34448969/7bbfdd54-fc23-4bfc-85af-24704b139b3a))、openpose-editor 拡張機能がインストールされている場合は更新してください。古いバージョンでは他の拡張機能との間で問題が生じることが知られています。
+
+
+[release-shield]: https://img.shields.io/github/v/release/DominikDoom/a1111-sd-webui-tagcomplete?logo=github&style=
+[release-url]: https://github.com/DominikDoom/a1111-sd-webui-tagcomplete/releases
+
+[contributors-shield]: https://img.shields.io/github/contributors/DominikDoom/a1111-sd-webui-tagcomplete
+[contributors-url]: https://github.com/DominikDoom/a1111-sd-webui-tagcomplete/graphs/contributors
+
+[forks-shield]: https://img.shields.io/github/forks/DominikDoom/a1111-sd-webui-tagcomplete
+[forks-url]: https://github.com/DominikDoom/a1111-sd-webui-tagcomplete/network/members
+
+[stargazers-shield]: https://img.shields.io/github/stars/DominikDoom/a1111-sd-webui-tagcomplete
+[stargazers-url]: https://github.com/DominikDoom/a1111-sd-webui-tagcomplete/stargazers
+
+[issues-shield]: https://img.shields.io/github/issues/DominikDoom/a1111-sd-webui-tagcomplete
+[issues-url]: https://github.com/DominikDoom/a1111-sd-webui-tagcomplete/issues/new/choose
+
+
+[image-browser-url]: https://github.com/AlUlkesh/stable-diffusion-webui-images-browser
+[multidiffusion-url]: https://github.com/pkuliyi2015/multidiffusion-upscaler-for-automatic1111
+[tag-editor-url]: https://github.com/toshiaki1729/stable-diffusion-webui-dataset-tag-editor
+[wd-tagger-url]: https://github.com/toriato/stable-diffusion-webui-wd14-tagger
+[umi-url]: https://github.com/Klokinator/Umi-AI
diff --git a/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/README_ZH.md b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/README_ZH.md
new file mode 100644
index 0000000000000000000000000000000000000000..d01de2623d1a22eb44d0a00ce2540a72a07b06e0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/README_ZH.md
@@ -0,0 +1,173 @@
+
+
+# Booru tag autocompletion for A1111
+
+[](https://github.com/DominikDoom/a1111-sd-webui-tagcomplete/releases)
+## [English Document](./README.md), [日本語ドキュメント](./README_JA.md)
+
+## 功能概述
+
+本脚本为 [AUTOMATIC1111 web UI](https://github.com/AUTOMATIC1111/stable-diffusion-webui)的自定义脚本,能在输入Tag时提供booru风格(如Danbooru)的TAG自动补全。因为有一些模型是基于这种TAG风格训练的(例如[Waifu Diffusion](https://github.com/harubaru/waifu-diffusion)),因此使用这些Tag能获得较为精确的效果。
+
+这个脚本的创建是为了减少因复制Tag在Web UI和 booru网站的反复切换。
+你可以按照[以下方法](#installation)下载或拷贝文件,也可以使用[Releases](https://github.com/DominikDoom/a1111-sd-webui-tagcomplete/releases)中打包好的文件。
+
+## 常见问题 & 已知缺陷:
+- 当`replaceUnderscores`选项开启时, 脚本只会替换Tag的一部分如果Tag包含多个单词,比如将`atago (azur lane)`修改`atago`为`taihou`并使用自动补全时.会得到 `taihou (azur lane), lane)`的结果, 因为脚本没有把后面的部分认为成同一个Tag。
+
+## 演示与截图
+演示视频(使用了键盘导航):
+
+https://user-images.githubusercontent.com/34448969/200128020-10d9a8b2-cea6-4e3f-bcd2-8c40c8c73233.mp4
+
+Wildcard支持演示:
+
+https://user-images.githubusercontent.com/34448969/200128031-22dd7c33-71d1-464f-ae36-5f6c8fd49df0.mp4
+
+深浅色主题支持,包括Tag的颜色:
+
+
+
+
+## 安装
+### 作为一种扩展(推荐)
+要么把它克隆到你的扩展文件夹里
+```bash
+git clone "https://github.com/DominikDoom/a1111-sd-webui-tagcomplete.git" extensions/tag-autocomplete
+```
+(第二个参数指定文件夹的名称,你可以选择任何你喜欢的东西)。
+
+或者手动创建一个文件夹,将 `javascript`、`scripts`和`tags`文件夹放在其中。
+
+### 在根目录下(过时的方法)
+这种安装方法适用于添加扩展系统之前的旧版webui,在目前的版本上是行不通的。
+
+---
+在这两种配置中,标签文件夹包含`colors.json`和脚本用于自动完成的标签数据。
+默认情况下,Tag数据包括`Danbooru.csv`和`e621.csv`。
+
+在扫描过`/embeddings`和wildcards后,会将列表存放在`tags/temp`文件夹下。删除该文件夹不会有任何影响,下次启动时它会重新创建。
+
+### 注意:
+本脚本的允许需要**全部的三个文件夹**。
+
+## [Wildcard](https://github.com/jtkelm2/stable-diffusion-webui-1/blob/master/scripts/wildcards.py) & Embedding 支持
+自动补全同样适用于 [Wildcard](https://github.com/jtkelm2/stable-diffusion-webui-1/blob/master/scripts/wildcards.py)中所述的通配符文件(后面有演示视频)。这将使你能够插入Wildcard脚本需要的通配符,更进一步的,你还可以插入通配符文件内的某个具体Tag。
+
+当输入`__`字符时,`/scripts/wildcards`文件夹下的通配符文件会列出到自动补全,当你选择某个具体通配符文件时,会列出其中的所有的具体Tag,但如果你仅需要选择某个通配符,请按下空格。
+
+当输入`<`字符时,`embeddings`文件夹下的`.pt`和`.bin`文件会列出到自动完成。需要注意的是,一些颜文字也会包含`<`(比如`>_<`),所以它们也会出现在结果中。
+
+现在这项功能默认是启用的,并会自动扫描`/embeddings`和`/scripts/wildcards`文件夹,不再需要使用`tags/wildcardNames.txt`文件了,早期版本的用户可以将它删除。
+
+## 配置文件
+该扩展有大量的配置和可定制性的内建:
+
+
+
+| 设置 | 描述 |
+|---------|-------------|
+| tagFile | 指定要使用的标记文件。您可以提供您喜欢的自定义标签数据库,但由于该脚本是在考虑 Danbooru 标签的情况下开发的,因此它可能无法与其他配置一起正常工作。|
+| activeIn | 允许有选择地(取消)激活 txt2img、img2img 和两者的否定提示的脚本。|
+| maxResults | 最多显示多少个结果。对于默认标记集,结果按出现次数排序。对于嵌入和通配符,它将在可滚动列表中显示所有结果。 |
+| showAllResults | 如果为真,将忽略 maxResults 并在可滚动列表中显示所有结果。 **警告:** 对于长列表,您的浏览器可能会滞后。 |
+| resultStepLength | 允许以指定大小的小批次加载结果,以便在长列表中获得更好的性能,或者在showAllResults为真时。 |
+| delayTime | 指定在触发自动完成之前要等待多少毫秒。有助于防止打字时过于频繁的更新。 |
+| replaceUnderscores | 如果为 true,则在单击标签时将取消划线替换为空格。对于某些型号可能会更好。|
+| escapeParentheses | 如果为 true,则转义包含 () 的标签,因此它们不会对 Web UI 的提示权重功能做出贡献。 |
+| useWildcards | 用于切换通配符完成功能。 |
+| useEmbeddings | 用于切换嵌入完成功能。 |
+| alias | 标签别名的选项。更多信息在下面的部分。 |
+| translation | 用于翻译标签的选项。更多信息在下面的部分。 |
+| extras | 附加标签文件/翻译的选项。更多信息在下面的部分。|
+
+### 标签颜色
+标签类型的颜色可以通过改变标签自动完成设置中的JSON代码来指定。格式是标准的JSON,对象名称对应于它们应该使用的标签文件名(没有.csv)
+
+方括号中的第一个值是指深色,第二个是指浅色模式。颜色名称和十六进制代码都应该有效。
+```json
+{
+ "danbooru": {
+ "-1": ["red", "maroon"],
+ "0": ["lightblue", "dodgerblue"],
+ "1": ["indianred", "firebrick"],
+ "3": ["violet", "darkorchid"],
+ "4": ["lightgreen", "darkgreen"],
+ "5": ["orange", "darkorange"]
+ },
+ "e621": {
+ "-1": ["red", "maroon"],
+ "0": ["lightblue", "dodgerblue"],
+ "1": ["gold", "goldenrod"],
+ "3": ["violet", "darkorchid"],
+ "4": ["lightgreen", "darkgreen"],
+ "5": ["tomato", "darksalmon"],
+ "6": ["red", "maroon"],
+ "7": ["whitesmoke", "black"],
+ "8": ["seagreen", "darkseagreen"]
+ }
+}
+```
+这也可以用来为自定义标签文件添加新的颜色集。数字是指定标签的类型,这取决于标签来源。关于例子,见[CSV tag data](#csv-tag-data)。
+
+### 别名,翻译&新增Tag
+#### 别名
+像Booru网站一样,标签可以有一个或多个别名,完成后重定向到实际值。这些将根据`config.json`中的设置进行搜索/显示。
+- `searchByAlias` - 是否也要搜索别名,或只搜索实际的标签。
+- `onlyShowAlias` - 只显示别名,不显示 `别名->实际`。仅用于显示,最后的文本仍然是实际的标签。
+
+#### 翻译
+可以在翻译部分添加一个额外的文件,它将被用来翻译标签和别名,同时也可以通过翻译进行搜索。
+这个文件需要是CSV格式的`<英语标签/别名>,<翻译>`,但为了向后兼容使用三栏格式的旧的额外文件,你可以打开`oldFormat`来代替它。
+
+完整和部分中文标签集的示例:
+
+
+
+
+#### Extra文件
+额外文件可以用来添加未包含在主集中的新的/自定义标签。
+其格式与下面 [CSV tag data](#csv-tag-data) 中的正常标签格式相同,但有一个例外。
+由于自定义标签没有帖子计数,第三列(如果从零开始计算,则为第二列)用于显示标签旁边的灰色元文本。
+如果留空,它将显示 "Custom tag"。
+
+以默认的(非常基本的)extra-quality-tags.csv为例:
+
+
+
+你可以在设置中选择自定义标签是否应该加在常规标签之前或之后。
+
+### CSV tag data
+本脚本的Tag文件格式如下,你可以安装这个格式制作自己的Tag文件:
+```csv
+1girl,0,4114588,"1girls,sole_female"
+solo,0,3426446,"female_solo,solo_female"
+highres,5,3008413,"high_res,high_resolution,hires"
+long_hair,0,2898315,longhair
+commentary_request,5,2610959,
+```
+值得注意的是,不希望在第一行有列名,而且count和aliases在技术上都是可选的。
+尽管count总是包含在默认数据中。多个别名也需要用逗号分隔,但要用字符串引号包裹,以免破坏CSV解析。
+编号系统遵循 Danbooru 的 [tag API docs](https://danbooru.donmai.us/wiki_pages/api%3Atags):
+| Value | Description |
+|-------|-------------|
+|0 | General |
+|1 | Artist |
+|3 | Copyright |
+|4 | Character |
+|5 | Meta |
+
+类似的还有e621:
+| Value | Description |
+|-------|-------------|
+|-1 | Invalid |
+|0 | General |
+|1 | Artist |
+|3 | Copyright |
+|4 | Character |
+|5 | Species |
+|6 | Invalid |
+|7 | Meta |
+|8 | Lore |
+
+标记类型用于为结果列表中的条目着色.
diff --git a/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/javascript/__globals.js b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/javascript/__globals.js
new file mode 100644
index 0000000000000000000000000000000000000000..cf75e816022e0de9d147e0085d4d956b090ef791
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/javascript/__globals.js
@@ -0,0 +1,64 @@
+// Core components
+var TAC_CFG = null;
+var tagBasePath = "";
+var modelKeywordPath = "";
+var tacSelfTrigger = false;
+
+// Tag completion data loaded from files
+var allTags = [];
+var translations = new Map();
+var extras = [];
+// Same for tag-likes
+var wildcardFiles = [];
+var wildcardExtFiles = [];
+var yamlWildcards = [];
+var umiWildcards = [];
+var embeddings = [];
+var hypernetworks = [];
+var loras = [];
+var lycos = [];
+var modelKeywordDict = new Map();
+var chants = [];
+
+// Selected model info for black/whitelisting
+var currentModelHash = "";
+var currentModelName = "";
+
+// Current results
+var results = [];
+var resultCount = 0;
+
+// Relevant for parsing
+var previousTags = [];
+var tagword = "";
+var originalTagword = "";
+let hideBlocked = false;
+
+// Tag selection for keyboard navigation
+var selectedTag = null;
+var oldSelectedTag = null;
+var resultCountBeforeNormalTags = 0;
+
+// Lora keyword undo/redo history
+var textBeforeKeywordInsertion = "";
+var textAfterKeywordInsertion = "";
+var lastEditWasKeywordInsertion = false;
+var keywordInsertionUndone = false;
+
+// UMI
+var umiPreviousTags = [];
+
+/// Extendability system:
+/// Provides "queues" for other files of the script (or really any js)
+/// to add functions to be called at certain points in the script.
+/// Similar to a callback system, but primitive.
+
+// Queues
+const QUEUE_AFTER_INSERT = [];
+const QUEUE_AFTER_SETUP = [];
+const QUEUE_FILE_LOAD = [];
+const QUEUE_AFTER_CONFIG_CHANGE = [];
+const QUEUE_SANITIZE = [];
+
+// List of parsers to try
+const PARSERS = [];
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/javascript/_baseParser.js b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/javascript/_baseParser.js
new file mode 100644
index 0000000000000000000000000000000000000000..c88b8efa7a5ab01ef0ad6631f2fa1e9d1f0e8e24
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/javascript/_baseParser.js
@@ -0,0 +1,21 @@
+class FunctionNotOverriddenError extends Error {
+ constructor(message = "", ...args) {
+ super(message, ...args);
+ this.message = message + " is an abstract base function and must be overwritten.";
+ }
+}
+
+class BaseTagParser {
+ triggerCondition = null;
+
+ constructor (triggerCondition) {
+ if (new.target === BaseTagParser) {
+ throw new TypeError("Cannot construct abstract BaseCompletionParser directly");
+ }
+ this.triggerCondition = triggerCondition;
+ }
+
+ parse() {
+ throw new FunctionNotOverriddenError("parse()");
+ }
+}
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/javascript/_caretPosition.js b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/javascript/_caretPosition.js
new file mode 100644
index 0000000000000000000000000000000000000000..43a05d91d6253801a545d590880a4472772f6d93
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/javascript/_caretPosition.js
@@ -0,0 +1,145 @@
+// From https://github.com/component/textarea-caret-position
+
+// We'll copy the properties below into the mirror div.
+// Note that some browsers, such as Firefox, do not concatenate properties
+// into their shorthand (e.g. padding-top, padding-bottom etc. -> padding),
+// so we have to list every single property explicitly.
+var properties = [
+ 'direction', // RTL support
+ 'boxSizing',
+ 'width', // on Chrome and IE, exclude the scrollbar, so the mirror div wraps exactly as the textarea does
+ 'height',
+ 'overflowX',
+ 'overflowY', // copy the scrollbar for IE
+
+ 'borderTopWidth',
+ 'borderRightWidth',
+ 'borderBottomWidth',
+ 'borderLeftWidth',
+ 'borderStyle',
+
+ 'paddingTop',
+ 'paddingRight',
+ 'paddingBottom',
+ 'paddingLeft',
+
+ // https://developer.mozilla.org/en-US/docs/Web/CSS/font
+ 'fontStyle',
+ 'fontVariant',
+ 'fontWeight',
+ 'fontStretch',
+ 'fontSize',
+ 'fontSizeAdjust',
+ 'lineHeight',
+ 'fontFamily',
+
+ 'textAlign',
+ 'textTransform',
+ 'textIndent',
+ 'textDecoration', // might not make a difference, but better be safe
+
+ 'letterSpacing',
+ 'wordSpacing',
+
+ 'tabSize',
+ 'MozTabSize'
+
+];
+
+var isBrowser = (typeof window !== 'undefined');
+var isFirefox = (isBrowser && window.mozInnerScreenX != null);
+
+function getCaretCoordinates(element, position, options) {
+ if (!isBrowser) {
+ throw new Error('textarea-caret-position#getCaretCoordinates should only be called in a browser');
+ }
+
+ var debug = options && options.debug || false;
+ if (debug) {
+ var el = document.querySelector('#input-textarea-caret-position-mirror-div');
+ if (el) el.parentNode.removeChild(el);
+ }
+
+ // The mirror div will replicate the textarea's style
+ var div = document.createElement('div');
+ div.id = 'input-textarea-caret-position-mirror-div';
+ document.body.appendChild(div);
+
+ var style = div.style;
+ var computed = window.getComputedStyle ? window.getComputedStyle(element) : element.currentStyle; // currentStyle for IE < 9
+ var isInput = element.nodeName === 'INPUT';
+
+ // Default textarea styles
+ style.whiteSpace = 'pre-wrap';
+ if (!isInput)
+ style.wordWrap = 'break-word'; // only for textarea-s
+
+ // Position off-screen
+ style.position = 'absolute'; // required to return coordinates properly
+ if (!debug)
+ style.visibility = 'hidden'; // not 'display: none' because we want rendering
+
+ // Transfer the element's properties to the div
+ properties.forEach(function (prop) {
+ if (isInput && prop === 'lineHeight') {
+ // Special case for s because text is rendered centered and line height may be != height
+ if (computed.boxSizing === "border-box") {
+ var height = parseInt(computed.height);
+ var outerHeight =
+ parseInt(computed.paddingTop) +
+ parseInt(computed.paddingBottom) +
+ parseInt(computed.borderTopWidth) +
+ parseInt(computed.borderBottomWidth);
+ var targetHeight = outerHeight + parseInt(computed.lineHeight);
+ if (height > targetHeight) {
+ style.lineHeight = height - outerHeight + "px";
+ } else if (height === targetHeight) {
+ style.lineHeight = computed.lineHeight;
+ } else {
+ style.lineHeight = 0;
+ }
+ } else {
+ style.lineHeight = computed.height;
+ }
+ } else {
+ style[prop] = computed[prop];
+ }
+ });
+
+ if (isFirefox) {
+ // Firefox lies about the overflow property for textareas: https://bugzilla.mozilla.org/show_bug.cgi?id=984275
+ if (element.scrollHeight > parseInt(computed.height))
+ style.overflowY = 'scroll';
+ } else {
+ style.overflow = 'hidden'; // for Chrome to not render a scrollbar; IE keeps overflowY = 'scroll'
+ }
+
+ div.textContent = element.value.substring(0, position);
+ // The second special handling for input type="text" vs textarea:
+ // spaces need to be replaced with non-breaking spaces - http://stackoverflow.com/a/13402035/1269037
+ if (isInput)
+ div.textContent = div.textContent.replace(/\s/g, '\u00a0');
+
+ var span = document.createElement('span');
+ // Wrapping must be replicated *exactly*, including when a long word gets
+ // onto the next line, with whitespace at the end of the line before (#7).
+ // The *only* reliable way to do that is to copy the *entire* rest of the
+ // textarea's content into the created at the caret position.
+ // For inputs, just '.' would be enough, but no need to bother.
+ span.textContent = element.value.substring(position) || '.'; // || because a completely empty faux span doesn't render at all
+ div.appendChild(span);
+
+ var coordinates = {
+ top: span.offsetTop + parseInt(computed['borderTopWidth']),
+ left: span.offsetLeft + parseInt(computed['borderLeftWidth']),
+ height: parseInt(computed['lineHeight'])
+ };
+
+ if (debug) {
+ span.style.backgroundColor = '#aaa';
+ } else {
+ document.body.removeChild(div);
+ }
+
+ return coordinates;
+}
diff --git a/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/javascript/_result.js b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/javascript/_result.js
new file mode 100644
index 0000000000000000000000000000000000000000..823f26d5cd08e1c3b57b22340dce09b8577ded08
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/javascript/_result.js
@@ -0,0 +1,37 @@
+// Result data type for cleaner use of optional completion result properties
+
+// Type enum
+const ResultType = Object.freeze({
+ "tag": 1,
+ "extra": 2,
+ "embedding": 3,
+ "wildcardTag": 4,
+ "wildcardFile": 5,
+ "yamlWildcard": 6,
+ "umiWildcard": 7,
+ "hypernetwork": 8,
+ "lora": 9,
+ "lyco": 10,
+ "chant": 11
+});
+
+// Class to hold result data and annotations to make it clearer to use
+class AutocompleteResult {
+ // Main properties
+ text = "";
+ type = ResultType.tag;
+
+ // Additional info, only used in some cases
+ category = null;
+ count = null;
+ aliases = null;
+ meta = null;
+ hash = null;
+ sortKey = null;
+
+ // Constructor
+ constructor(text, type) {
+ this.text = text;
+ this.type = type;
+ }
+}
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/javascript/_textAreas.js b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/javascript/_textAreas.js
new file mode 100644
index 0000000000000000000000000000000000000000..3e8af585342ebf5a77b7dfae26ecfe4a74ab2724
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/javascript/_textAreas.js
@@ -0,0 +1,190 @@
+// Utility functions to select text areas the script should work on,
+// including third party options.
+// Supported third party options so far:
+// - Dataset Tag Editor
+
+// Core text area selectors
+const core = [
+ "#txt2img_prompt > label > textarea",
+ "#img2img_prompt > label > textarea",
+ "#txt2img_neg_prompt > label > textarea",
+ "#img2img_neg_prompt > label > textarea",
+ ".prompt > label > textarea",
+ "#txt2img_edit_style_prompt > label > textarea",
+ "#txt2img_edit_style_neg_prompt > label > textarea",
+ "#img2img_edit_style_prompt > label > textarea",
+ "#img2img_edit_style_neg_prompt > label > textarea"
+];
+
+// Third party text area selectors
+const thirdParty = {
+ "dataset-tag-editor": {
+ "base": "#tab_dataset_tag_editor_interface",
+ "hasIds": false,
+ "selectors": [
+ "Caption of Selected Image",
+ "Interrogate Result",
+ "Edit Caption",
+ "Edit Tags"
+ ]
+ },
+ "image browser": {
+ "base": "#tab_image_browser",
+ "hasIds": false,
+ "selectors": [
+ "Filename keyword search",
+ "EXIF keyword search"
+ ]
+ },
+ "tab_tagger": {
+ "base": "#tab_tagger",
+ "hasIds": false,
+ "selectors": [
+ "Additional tags (split by comma)",
+ "Exclude tags (split by comma)"
+ ]
+ },
+ "tiled-diffusion-t2i": {
+ "base": "#txt2img_script_container",
+ "hasIds": true,
+ "onDemand": true,
+ "selectors": [
+ "[id^=MD-t2i][id$=prompt] textarea",
+ "[id^=MD-t2i][id$=prompt] input[type='text']"
+ ]
+ },
+ "tiled-diffusion-i2i": {
+ "base": "#img2img_script_container",
+ "hasIds": true,
+ "onDemand": true,
+ "selectors": [
+ "[id^=MD-i2i][id$=prompt] textarea",
+ "[id^=MD-i2i][id$=prompt] input[type='text']"
+ ]
+ },
+ "adetailer-t2i": {
+ "base": "#txt2img_script_container",
+ "hasIds": true,
+ "onDemand": true,
+ "selectors": [
+ "[id^=script_txt2img_adetailer_ad_prompt] textarea",
+ "[id^=script_txt2img_adetailer_ad_negative_prompt] textarea"
+ ]
+ },
+ "adetailer-i2i": {
+ "base": "#img2img_script_container",
+ "hasIds": true,
+ "onDemand": true,
+ "selectors": [
+ "[id^=script_img2img_adetailer_ad_prompt] textarea",
+ "[id^=script_img2img_adetailer_ad_negative_prompt] textarea"
+ ]
+ }
+}
+
+function getTextAreas() {
+ // First get all core text areas
+ let textAreas = [...gradioApp().querySelectorAll(core.join(", "))];
+
+ for (const [key, entry] of Object.entries(thirdParty)) {
+ if (entry.hasIds) { // If the entry has proper ids, we can just select them
+ textAreas = textAreas.concat([...gradioApp().querySelectorAll(entry.selectors.join(", "))]);
+ } else { // Otherwise, we have to find the text areas by their adjacent labels
+ let base = gradioApp().querySelector(entry.base);
+
+ // Safety check
+ if (!base) continue;
+
+ let allTextAreas = [...base.querySelectorAll("textarea, input[type='text']")];
+
+ // Filter the text areas where the adjacent label matches one of the selectors
+ let matchingTextAreas = allTextAreas.filter(ta => [...ta.parentElement.childNodes].some(x => entry.selectors.includes(x.innerText)));
+ textAreas = textAreas.concat(matchingTextAreas);
+ }
+ };
+
+ return textAreas;
+}
+
+function addOnDemandObservers(setupFunction) {
+ for (const [key, entry] of Object.entries(thirdParty)) {
+ if (!entry.onDemand) continue;
+
+ let base = gradioApp().querySelector(entry.base);
+ if (!base) continue;
+
+ let accordions = [...base?.querySelectorAll(".gradio-accordion")];
+ if (!accordions) continue;
+
+ accordions.forEach(acc => {
+ let accObserver = new MutationObserver((mutationList, observer) => {
+ for (const mutation of mutationList) {
+ if (mutation.type === "childList") {
+ let newChildren = mutation.addedNodes;
+ if (!newChildren) {
+ accObserver.disconnect();
+ continue;
+ }
+
+ newChildren.forEach(child => {
+ if (child.classList.contains("gradio-accordion") || child.querySelector(".gradio-accordion")) {
+ let newAccordions = [...child.querySelectorAll(".gradio-accordion")];
+ newAccordions.forEach(nAcc => accObserver.observe(nAcc, { childList: true }));
+ }
+ });
+
+ if (entry.hasIds) { // If the entry has proper ids, we can just select them
+ [...gradioApp().querySelectorAll(entry.selectors.join(", "))].forEach(x => setupFunction(x));
+ } else { // Otherwise, we have to find the text areas by their adjacent labels
+ let base = gradioApp().querySelector(entry.base);
+
+ // Safety check
+ if (!base) continue;
+
+ let allTextAreas = [...base.querySelectorAll("textarea, input[type='text']")];
+
+ // Filter the text areas where the adjacent label matches one of the selectors
+ let matchingTextAreas = allTextAreas.filter(ta => [...ta.parentElement.childNodes].some(x => entry.selectors.includes(x.innerText)));
+ matchingTextAreas.forEach(x => setupFunction(x));
+ }
+ }
+ }
+ });
+ accObserver.observe(acc, { childList: true });
+ });
+ };
+}
+
+const thirdPartyIdSet = new Set();
+// Get the identifier for the text area to differentiate between positive and negative
+function getTextAreaIdentifier(textArea) {
+ let txt2img_p = gradioApp().querySelector('#txt2img_prompt > label > textarea');
+ let txt2img_n = gradioApp().querySelector('#txt2img_neg_prompt > label > textarea');
+ let img2img_p = gradioApp().querySelector('#img2img_prompt > label > textarea');
+ let img2img_n = gradioApp().querySelector('#img2img_neg_prompt > label > textarea');
+
+ let modifier = "";
+ switch (textArea) {
+ case txt2img_p:
+ modifier = ".txt2img.p";
+ break;
+ case txt2img_n:
+ modifier = ".txt2img.n";
+ break;
+ case img2img_p:
+ modifier = ".img2img.p";
+ break;
+ case img2img_n:
+ modifier = ".img2img.n";
+ break;
+ default:
+ // If the text area is not a core text area, it must be a third party text area
+ // Add it to the set of third party text areas and get its index as a unique identifier
+ if (!thirdPartyIdSet.has(textArea))
+ thirdPartyIdSet.add(textArea);
+
+ modifier = `.thirdParty.ta${[...thirdPartyIdSet].indexOf(textArea)}`;
+ break;
+ }
+ return modifier;
+}
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/javascript/_utils.js b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/javascript/_utils.js
new file mode 100644
index 0000000000000000000000000000000000000000..9a9310455c173d4ec2c728599ae7d6811e429de9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/javascript/_utils.js
@@ -0,0 +1,278 @@
+// Utility functions for tag autocomplete
+
+// Parse the CSV file into a 2D array. Doesn't use regex, so it is very lightweight.
+// We are ignoring newlines in quote fields since we expect one-line entries and parsing would break for unclosed quotes otherwise
+function parseCSV(str) {
+ const arr = [];
+ let quote = false; // 'true' means we're inside a quoted field
+
+ // Iterate over each character, keep track of current row and column (of the returned array)
+ for (let row = 0, col = 0, c = 0; c < str.length; c++) {
+ let cc = str[c], nc = str[c+1]; // Current character, next character
+ arr[row] = arr[row] || []; // Create a new row if necessary
+ arr[row][col] = arr[row][col] || ''; // Create a new column (start with empty string) if necessary
+
+ // If the current character is a quotation mark, and we're inside a
+ // quoted field, and the next character is also a quotation mark,
+ // add a quotation mark to the current column and skip the next character
+ if (cc == '"' && quote && nc == '"') { arr[row][col] += cc; ++c; continue; }
+
+ // If it's just one quotation mark, begin/end quoted field
+ if (cc == '"') { quote = !quote; continue; }
+
+ // If it's a comma and we're not in a quoted field, move on to the next column
+ if (cc == ',' && !quote) { ++col; continue; }
+
+ // If it's a newline (CRLF), skip the next character and move on to the next row and move to column 0 of that new row
+ if (cc == '\r' && nc == '\n') { ++row; col = 0; ++c; quote = false; continue; }
+
+ // If it's a newline (LF or CR) move on to the next row and move to column 0 of that new row
+ if (cc == '\n') { ++row; col = 0; quote = false; continue; }
+ if (cc == '\r') { ++row; col = 0; quote = false; continue; }
+
+ // Otherwise, append the current character to the current column
+ arr[row][col] += cc;
+ }
+ return arr;
+}
+
+// Load file
+async function readFile(filePath, json = false, cache = false) {
+ if (!cache)
+ filePath += `?${new Date().getTime()}`;
+
+ let response = await fetch(`file=${filePath}`);
+
+ if (response.status != 200) {
+ console.error(`Error loading file "${filePath}": ` + response.status, response.statusText);
+ return null;
+ }
+
+ if (json)
+ return await response.json();
+ else
+ return await response.text();
+}
+
+// Load CSV
+async function loadCSV(path) {
+ let text = await readFile(path);
+ return parseCSV(text);
+}
+
+// Fetch API
+async function fetchAPI(url, json = true, cache = false) {
+ if (!cache) {
+ const appendChar = url.includes("?") ? "&" : "?";
+ url += `${appendChar}${new Date().getTime()}`
+ }
+
+ let response = await fetch(url);
+
+ if (response.status != 200) {
+ console.error(`Error fetching API endpoint "${url}": ` + response.status, response.statusText);
+ return null;
+ }
+
+ if (json)
+ return await response.json();
+ else
+ return await response.text();
+}
+
+async function postAPI(url, body) {
+ let response = await fetch(url, { method: "POST", body: body });
+
+ if (response.status != 200) {
+ console.error(`Error posting to API endpoint "${url}": ` + response.status, response.statusText);
+ return null;
+ }
+
+ return await response.json();
+}
+
+// Extra network preview thumbnails
+async function getExtraNetworkPreviewURL(filename, type) {
+ const previewJSON = await fetchAPI(`tacapi/v1/thumb-preview/${filename}?type=${type}`, true, true);
+ if (previewJSON?.url) {
+ const properURL = `sd_extra_networks/thumb?filename=${previewJSON.url}`;
+ if ((await fetch(properURL)).status == 200) {
+ return properURL;
+ } else {
+ // create blob url
+ const blob = await (await fetch(`tacapi/v1/thumb-preview-blob/${filename}?type=${type}`)).blob();
+ return URL.createObjectURL(blob);
+ }
+ } else {
+ return null;
+ }
+}
+
+// Debounce function to prevent spamming the autocomplete function
+var dbTimeOut;
+const debounce = (func, wait = 300) => {
+ return function (...args) {
+ if (dbTimeOut) {
+ clearTimeout(dbTimeOut);
+ }
+
+ dbTimeOut = setTimeout(() => {
+ func.apply(this, args);
+ }, wait);
+ }
+}
+
+// Difference function to fix duplicates not being seen as changes in normal filter
+function difference(a, b) {
+ if (a.length == 0) {
+ return b;
+ }
+ if (b.length == 0) {
+ return a;
+ }
+
+ return [...b.reduce((acc, v) => acc.set(v, (acc.get(v) || 0) - 1),
+ a.reduce((acc, v) => acc.set(v, (acc.get(v) || 0) + 1), new Map())
+ )].reduce((acc, [v, count]) => acc.concat(Array(Math.abs(count)).fill(v)), []);
+}
+
+// Object flatten function adapted from https://stackoverflow.com/a/61602592
+// $roots keeps previous parent properties as they will be added as a prefix for each prop.
+// $sep is just a preference if you want to seperate nested paths other than dot.
+function flatten(obj, roots = [], sep = ".") {
+ return Object.keys(obj).reduce(
+ (memo, prop) =>
+ Object.assign(
+ // create a new object
+ {},
+ // include previously returned object
+ memo,
+ Object.prototype.toString.call(obj[prop]) === "[object Object]"
+ ? // keep working if value is an object
+ flatten(obj[prop], roots.concat([prop]), sep)
+ : // include current prop and value and prefix prop with the roots
+ { [roots.concat([prop]).join(sep)]: obj[prop] }
+ ),
+ {}
+ );
+}
+
+
+// Sliding window function to get possible combination groups of an array
+function toNgrams(inputArray, size) {
+ return Array.from(
+ { length: inputArray.length - (size - 1) }, //get the appropriate length
+ (_, index) => inputArray.slice(index, index + size) //create the windows
+ );
+}
+
+function escapeRegExp(string) {
+ return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string
+}
+function escapeHTML(unsafeText) {
+ let div = document.createElement('div');
+ div.textContent = unsafeText;
+ return div.innerHTML;
+}
+
+// For black/whitelisting
+function updateModelName() {
+ let sdm = gradioApp().querySelector("#setting_sd_model_checkpoint");
+ let modelDropdown = sdm?.querySelector("input") || sdm?.querySelector("select");
+ if (modelDropdown) {
+ currentModelName = modelDropdown.value;
+ } else {
+ // Fallback for intermediate versions
+ modelDropdown = sdm?.querySelector("span.single-select");
+ currentModelName = modelDropdown?.textContent || "";
+ }
+}
+
+// From https://stackoverflow.com/a/61975440, how to detect JS value changes
+function observeElement(element, property, callback, delay = 0) {
+ let elementPrototype = Object.getPrototypeOf(element);
+ if (elementPrototype.hasOwnProperty(property)) {
+ let descriptor = Object.getOwnPropertyDescriptor(elementPrototype, property);
+ Object.defineProperty(element, property, {
+ get: function() {
+ return descriptor.get.apply(this, arguments);
+ },
+ set: function () {
+ let oldValue = this[property];
+ descriptor.set.apply(this, arguments);
+ let newValue = this[property];
+ if (typeof callback == "function") {
+ setTimeout(callback.bind(this, oldValue, newValue), delay);
+ }
+ return newValue;
+ }
+ });
+ }
+}
+
+// Sort functions
+function getSortFunction() {
+ let criterion = TAC_CFG.modelSortOrder || "Name";
+
+ const textSort = (a, b, reverse = false) => {
+ const textHolderA = a.type === ResultType.chant ? a.aliases : a.text;
+ const textHolderB = b.type === ResultType.chant ? b.aliases : b.text;
+
+ const aKey = a.sortKey || textHolderA;
+ const bKey = b.sortKey || textHolderB;
+ return reverse ? bKey.localeCompare(aKey) : aKey.localeCompare(bKey);
+ }
+ const numericSort = (a, b, reverse = false) => {
+ const noKey = reverse ? "-1" : Number.MAX_SAFE_INTEGER;
+ let aParsed = parseFloat(a.sortKey || noKey);
+ let bParsed = parseFloat(b.sortKey || noKey);
+
+ if (aParsed === bParsed) {
+ return textSort(a, b, false);
+ }
+
+ return reverse ? bParsed - aParsed : aParsed - bParsed;
+ }
+
+ return (a, b) => {
+ switch (criterion) {
+ case "Date Modified (newest first)":
+ return numericSort(a, b, true);
+ case "Date Modified (oldest first)":
+ return numericSort(a, b, false);
+ default:
+ return textSort(a, b);
+ }
+ }
+}
+
+// Queue calling function to process global queues
+async function processQueue(queue, context, ...args) {
+ for (let i = 0; i < queue.length; i++) {
+ await queue[i].call(context, ...args);
+ }
+}
+// The same but with return values
+async function processQueueReturn(queue, context, ...args)
+{
+ let qeueueReturns = [];
+ for (let i = 0; i < queue.length; i++) {
+ let returnValue = await queue[i].call(context, ...args);
+ if (returnValue)
+ qeueueReturns.push(returnValue);
+ }
+ return qeueueReturns;
+}
+// Specific to tag completion parsers
+async function processParsers(textArea, prompt) {
+ // Get all parsers that have a successful trigger condition
+ let matchingParsers = PARSERS.filter(parser => parser.triggerCondition());
+ // Guard condition
+ if (matchingParsers.length === 0) {
+ return null;
+ }
+
+ let parseFunctions = matchingParsers.map(parser => parser.parse);
+ // Process them and return the results
+ return await processQueueReturn(parseFunctions, null, textArea, prompt);
+}
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/javascript/ext_chants.js b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/javascript/ext_chants.js
new file mode 100644
index 0000000000000000000000000000000000000000..28ba2c44f9532a16c8de82604c31f18920358eef
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/javascript/ext_chants.js
@@ -0,0 +1,54 @@
+const CHANT_REGEX = /<(?!e:|h:|l:)[^,> ]*>?/g;
+const CHANT_TRIGGER = () => TAC_CFG.chantFile && TAC_CFG.chantFile !== "None" && tagword.match(CHANT_REGEX);
+
+class ChantParser extends BaseTagParser {
+ parse() {
+ // Show Chant
+ let tempResults = [];
+ if (tagword !== "<" && tagword !== " x.terms.toLowerCase().includes(searchTerm) || x.name.toLowerCase().includes(searchTerm);
+ tempResults = chants.filter(x => filterCondition(x)); // Filter by tagword
+ } else {
+ tempResults = chants;
+ }
+
+ // Add final results
+ let finalResults = [];
+ tempResults.forEach(t => {
+ let result = new AutocompleteResult(t.content.trim(), ResultType.chant)
+ result.meta = "Chant";
+ result.aliases = t.name;
+ result.category = t.color;
+ finalResults.push(result);
+ });
+
+ return finalResults;
+ }
+}
+
+async function load() {
+ if (TAC_CFG.chantFile && TAC_CFG.chantFile !== "None") {
+ try {
+ chants = await readFile(`${tagBasePath}/${TAC_CFG.chantFile}?`, true);
+ } catch (e) {
+ console.error("Error loading chants.json: " + e);
+ }
+ } else {
+ chants = [];
+ }
+}
+
+function sanitize(tagType, text) {
+ if (tagType === ResultType.chant) {
+ return text.replace(/^.*?: /g, "");
+ }
+ return null;
+}
+
+PARSERS.push(new ChantParser(CHANT_TRIGGER));
+
+// Add our utility functions to their respective queues
+QUEUE_FILE_LOAD.push(load);
+QUEUE_SANITIZE.push(sanitize);
+QUEUE_AFTER_CONFIG_CHANGE.push(load);
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/javascript/ext_embeddings.js b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/javascript/ext_embeddings.js
new file mode 100644
index 0000000000000000000000000000000000000000..820aae43b80f884c0269795dc9cb518e187692e2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/javascript/ext_embeddings.js
@@ -0,0 +1,65 @@
+const EMB_REGEX = /<(?!l:|h:|c:)[^,> ]*>?/g;
+const EMB_TRIGGER = () => TAC_CFG.useEmbeddings && (tagword.match(EMB_REGEX) || TAC_CFG.includeEmbeddingsInNormalResults);
+
+class EmbeddingParser extends BaseTagParser {
+ parse() {
+ // Show embeddings
+ let tempResults = [];
+ if (tagword !== "<" && tagword !== " x[0].toLowerCase().includes(searchTerm) || x[0].toLowerCase().replaceAll(" ", "_").includes(searchTerm);
+
+ if (versionString)
+ tempResults = embeddings.filter(x => filterCondition(x) && x[2] && x[2].toLowerCase() === versionString.toLowerCase()); // Filter by tagword
+ else
+ tempResults = embeddings.filter(x => filterCondition(x)); // Filter by tagword
+ } else {
+ tempResults = embeddings;
+ }
+
+ // Add final results
+ let finalResults = [];
+ tempResults.forEach(t => {
+ let result = new AutocompleteResult(t[0].trim(), ResultType.embedding)
+ result.sortKey = t[1];
+ result.meta = t[2] + " Embedding";
+ finalResults.push(result);
+ });
+
+ return finalResults;
+ }
+}
+
+async function load() {
+ if (embeddings.length === 0) {
+ try {
+ embeddings = (await loadCSV(`${tagBasePath}/temp/emb.txt`))
+ .filter(x => x[0]?.trim().length > 0) // Remove empty lines
+ .map(x => [x[0].trim(), x[1], x[2]]); // Return name, sortKey, hash tuples
+ } catch (e) {
+ console.error("Error loading embeddings.txt: " + e);
+ }
+ }
+}
+
+function sanitize(tagType, text) {
+ if (tagType === ResultType.embedding) {
+ return text.replace(/^.*?: /g, "");
+ }
+ return null;
+}
+
+PARSERS.push(new EmbeddingParser(EMB_TRIGGER));
+
+// Add our utility functions to their respective queues
+QUEUE_FILE_LOAD.push(load);
+QUEUE_SANITIZE.push(sanitize);
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/javascript/ext_hypernets.js b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/javascript/ext_hypernets.js
new file mode 100644
index 0000000000000000000000000000000000000000..3613b2a74a905a890356462fef1872316bd692c3
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/javascript/ext_hypernets.js
@@ -0,0 +1,52 @@
+const HYP_REGEX = /<(?!e:|l:|c:)[^,> ]*>?/g;
+const HYP_TRIGGER = () => TAC_CFG.useHypernetworks && tagword.match(HYP_REGEX);
+
+class HypernetParser extends BaseTagParser {
+ parse() {
+ // Show hypernetworks
+ let tempResults = [];
+ if (tagword !== "<" && tagword !== " x.toLowerCase().includes(searchTerm) || x.toLowerCase().replaceAll(" ", "_").includes(searchTerm);
+ tempResults = hypernetworks.filter(x => filterCondition(x[0])); // Filter by tagword
+ } else {
+ tempResults = hypernetworks;
+ }
+
+ // Add final results
+ let finalResults = [];
+ tempResults.forEach(t => {
+ let result = new AutocompleteResult(t[0].trim(), ResultType.hypernetwork)
+ result.meta = "Hypernetwork";
+ result.sortKey = t[1];
+ finalResults.push(result);
+ });
+
+ return finalResults;
+ }
+}
+
+async function load() {
+ if (hypernetworks.length === 0) {
+ try {
+ hypernetworks = (await loadCSV(`${tagBasePath}/temp/hyp.txt`))
+ .filter(x => x[0]?.trim().length > 0) //Remove empty lines
+ .map(x => [x[0]?.trim(), x[1]]); // Remove carriage returns and padding if it exists
+ } catch (e) {
+ console.error("Error loading hypernetworks.txt: " + e);
+ }
+ }
+}
+
+function sanitize(tagType, text) {
+ if (tagType === ResultType.hypernetwork) {
+ return ``;
+ }
+ return null;
+}
+
+PARSERS.push(new HypernetParser(HYP_TRIGGER));
+
+// Add our utility functions to their respective queues
+QUEUE_FILE_LOAD.push(load);
+QUEUE_SANITIZE.push(sanitize);
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/javascript/ext_loras.js b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/javascript/ext_loras.js
new file mode 100644
index 0000000000000000000000000000000000000000..22c879c8db300daf03f57ab9a97b8fffa54c272d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/javascript/ext_loras.js
@@ -0,0 +1,64 @@
+const LORA_REGEX = /<(?!e:|h:|c:)[^,> ]*>?/g;
+const LORA_TRIGGER = () => TAC_CFG.useLoras && tagword.match(LORA_REGEX);
+
+class LoraParser extends BaseTagParser {
+ parse() {
+ // Show lora
+ let tempResults = [];
+ if (tagword !== "<" && tagword !== " x.toLowerCase().includes(searchTerm) || x.toLowerCase().replaceAll(" ", "_").includes(searchTerm);
+ tempResults = loras.filter(x => filterCondition(x[0])); // Filter by tagword
+ } else {
+ tempResults = loras;
+ }
+
+ // Add final results
+ let finalResults = [];
+ tempResults.forEach(t => {
+ const text = t[0].trim();
+ let lastDot = text.lastIndexOf(".") > -1 ? text.lastIndexOf(".") : text.length;
+ let lastSlash = text.lastIndexOf("/") > -1 ? text.lastIndexOf("/") : -1;
+ let name = text.substring(lastSlash + 1, lastDot);
+
+ let result = new AutocompleteResult(name, ResultType.lora)
+ result.meta = "Lora";
+ result.sortKey = t[1];
+ result.hash = t[2];
+ finalResults.push(result);
+ });
+
+ return finalResults;
+ }
+}
+
+async function load() {
+ if (loras.length === 0) {
+ try {
+ loras = (await loadCSV(`${tagBasePath}/temp/lora.txt`))
+ .filter(x => x[0]?.trim().length > 0) // Remove empty lines
+ .map(x => [x[0]?.trim(), x[1], x[2]]); // Trim filenames and return the name, sortKey, hash pairs
+ } catch (e) {
+ console.error("Error loading lora.txt: " + e);
+ }
+ }
+}
+
+async function sanitize(tagType, text) {
+ if (tagType === ResultType.lora) {
+ let multiplier = TAC_CFG.extraNetworksDefaultMultiplier;
+ let info = await fetchAPI(`tacapi/v1/lora-info/${text}`)
+ if (info && info["preferred weight"]) {
+ multiplier = info["preferred weight"];
+ }
+
+ return ``;
+ }
+ return null;
+}
+
+PARSERS.push(new LoraParser(LORA_TRIGGER));
+
+// Add our utility functions to their respective queues
+QUEUE_FILE_LOAD.push(load);
+QUEUE_SANITIZE.push(sanitize);
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/javascript/ext_lycos.js b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/javascript/ext_lycos.js
new file mode 100644
index 0000000000000000000000000000000000000000..ad6271e93453bcbff4862113a860d640b8951483
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/javascript/ext_lycos.js
@@ -0,0 +1,64 @@
+const LYCO_REGEX = /<(?!e:|h:|c:)[^,> ]*>?/g;
+const LYCO_TRIGGER = () => TAC_CFG.useLycos && tagword.match(LYCO_REGEX);
+
+class LycoParser extends BaseTagParser {
+ parse() {
+ // Show lyco
+ let tempResults = [];
+ if (tagword !== "<" && tagword !== " x.toLowerCase().includes(searchTerm) || x.toLowerCase().replaceAll(" ", "_").includes(searchTerm);
+ tempResults = lycos.filter(x => filterCondition(x[0])); // Filter by tagword
+ } else {
+ tempResults = lycos;
+ }
+
+ // Add final results
+ let finalResults = [];
+ tempResults.forEach(t => {
+ const text = t[0].trim();
+ let lastDot = text.lastIndexOf(".") > -1 ? text.lastIndexOf(".") : text.length;
+ let lastSlash = text.lastIndexOf("/") > -1 ? text.lastIndexOf("/") : -1;
+ let name = text.substring(lastSlash + 1, lastDot);
+
+ let result = new AutocompleteResult(name, ResultType.lyco)
+ result.meta = "Lyco";
+ result.sortKey = t[1];
+ result.hash = t[2];
+ finalResults.push(result);
+ });
+
+ return finalResults;
+ }
+}
+
+async function load() {
+ if (lycos.length === 0) {
+ try {
+ lycos = (await loadCSV(`${tagBasePath}/temp/lyco.txt`))
+ .filter(x => x[0]?.trim().length > 0) // Remove empty lines
+ .map(x => [x[0]?.trim(), x[1], x[2]]); // Trim filenames and return the name, sortKey, hash pairs
+ } catch (e) {
+ console.error("Error loading lyco.txt: " + e);
+ }
+ }
+}
+
+async function sanitize(tagType, text) {
+ if (tagType === ResultType.lyco) {
+ let multiplier = TAC_CFG.extraNetworksDefaultMultiplier;
+ let info = await fetchAPI(`tacapi/v1/lyco-info/${text}`)
+ if (info && info["preferred weight"]) {
+ multiplier = info["preferred weight"];
+ }
+
+ return ``;
+ }
+ return null;
+}
+
+PARSERS.push(new LycoParser(LYCO_TRIGGER));
+
+// Add our utility functions to their respective queues
+QUEUE_FILE_LOAD.push(load);
+QUEUE_SANITIZE.push(sanitize);
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/javascript/ext_modelKeyword.js b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/javascript/ext_modelKeyword.js
new file mode 100644
index 0000000000000000000000000000000000000000..ac88747212f48e6be710182a1dd28badc8d12245
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/javascript/ext_modelKeyword.js
@@ -0,0 +1,42 @@
+async function load() {
+ let modelKeywordParts = (await readFile(`tmp/modelKeywordPath.txt`)).split(",")
+ modelKeywordPath = modelKeywordParts[0];
+ let customFileExists = modelKeywordParts[1] === "True";
+
+ if (modelKeywordPath.length > 0 && modelKeywordDict.size === 0) {
+ try {
+ let csv_lines = [];
+ // Only add default keywords if wanted by the user
+ if (TAC_CFG.modelKeywordCompletion !== "Only user list")
+ csv_lines = (await loadCSV(`${modelKeywordPath}/lora-keyword.txt`));
+ // Add custom user keywords if the file exists
+ if (customFileExists)
+ csv_lines = csv_lines.concat((await loadCSV(`${modelKeywordPath}/lora-keyword-user.txt`)));
+
+ if (csv_lines.length === 0) return;
+
+ csv_lines = csv_lines.filter(x => x[0].trim().length > 0 && x[0].trim()[0] !== "#") // Remove empty lines and comments
+
+ // Add to the dict
+ csv_lines.forEach(parts => {
+ const hash = parts[0];
+ const keywords = parts[1]?.replaceAll("| ", ", ")?.replaceAll("|", ", ")?.trim();
+ const lastSepIndex = parts[2]?.lastIndexOf("/") + 1 || parts[2]?.lastIndexOf("\\") + 1 || 0;
+ const name = parts[2]?.substring(lastSepIndex).trim() || "none"
+
+ if (modelKeywordDict.has(hash) && name !== "none") {
+ // Add a new name key if the hash already exists
+ modelKeywordDict.get(hash).set(name, keywords);
+ } else {
+ // Create new hash entry
+ let map = new Map().set(name, keywords);
+ modelKeywordDict.set(hash, map);
+ }
+ });
+ } catch (e) {
+ console.error("Error loading model-keywords list: " + e);
+ }
+ }
+}
+
+QUEUE_FILE_LOAD.push(load);
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/javascript/ext_umi.js b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/javascript/ext_umi.js
new file mode 100644
index 0000000000000000000000000000000000000000..ea5067ad45cfaf06395690f79b7861e9f8de6dc6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/javascript/ext_umi.js
@@ -0,0 +1,245 @@
+const UMI_PROMPT_REGEX = /<[^\s]*?\[[^,<>]*[\]|]?>?/gi;
+const UMI_TAG_REGEX = /(?:\[|\||--)([^<>\[\]\-|]+)/gi;
+
+const UMI_TRIGGER = () => TAC_CFG.useWildcards && [...tagword.matchAll(UMI_PROMPT_REGEX)].length > 0;
+
+class UmiParser extends BaseTagParser {
+ parse(textArea, prompt) {
+ // We are in a UMI yaml tag definition, parse further
+ let umiSubPrompts = [...prompt.matchAll(UMI_PROMPT_REGEX)];
+
+ let umiTags = [];
+ let umiTagsWithOperators = []
+
+ const insertAt = (str,char,pos) => str.slice(0,pos) + char + str.slice(pos);
+
+ umiSubPrompts.forEach(umiSubPrompt => {
+ umiTags = umiTags.concat([...umiSubPrompt[0].matchAll(UMI_TAG_REGEX)].map(x => x[1].toLowerCase()));
+
+ const start = umiSubPrompt.index;
+ const end = umiSubPrompt.index + umiSubPrompt[0].length;
+ if (textArea.selectionStart >= start && textArea.selectionStart <= end) {
+ umiTagsWithOperators = insertAt(umiSubPrompt[0], '###', textArea.selectionStart - start);
+ }
+ });
+
+ // Safety check since UMI parsing sometimes seems to trigger outside of an UMI subprompt and thus fails
+ if (umiTagsWithOperators.length === 0) {
+ return null;
+ }
+
+ const promptSplitToTags = umiTagsWithOperators.replace(']###[', '][').split("][");
+
+ const clean = (str) => str
+ .replaceAll('>', '')
+ .replaceAll('<', '')
+ .replaceAll('[', '')
+ .replaceAll(']', '')
+ .trim();
+
+ const matches = promptSplitToTags.reduce((acc, curr) => {
+ let isOptional = curr.includes("|");
+ let isNegative = curr.startsWith("--");
+ let out;
+ if (isOptional) {
+ out = {
+ hasCursor: curr.includes("###"),
+ tags: clean(curr).split('|').map(x => ({
+ hasCursor: x.includes("###"),
+ isNegative: x.startsWith("--"),
+ tag: clean(x).replaceAll("###", '').replaceAll("--", '')
+ }))
+ };
+ acc.optional.push(out);
+ acc.all.push(...out.tags.map(x => x.tag));
+ } else if (isNegative) {
+ out = {
+ hasCursor: curr.includes("###"),
+ tags: clean(curr).replaceAll("###", '').split('|'),
+ };
+ out.tags = out.tags.map(x => x.startsWith("--") ? x.substring(2) : x);
+ acc.negative.push(out);
+ acc.all.push(...out.tags);
+ } else {
+ out = {
+ hasCursor: curr.includes("###"),
+ tags: clean(curr).replaceAll("###", '').split('|'),
+ };
+ acc.positive.push(out);
+ acc.all.push(...out.tags);
+ }
+ return acc;
+ }, { positive: [], negative: [], optional: [], all: [] });
+
+ //console.log({ matches })
+
+ const filteredWildcards = (tagword) => {
+ const wildcards = umiWildcards.filter(x => {
+ let tags = x[1];
+ const matchesNeg =
+ matches.negative.length === 0
+ || matches.negative.every(x =>
+ x.hasCursor
+ || x.tags.every(t => !tags[t])
+ );
+ if (!matchesNeg) return false;
+ const matchesPos =
+ matches.positive.length === 0
+ || matches.positive.every(x =>
+ x.hasCursor
+ || x.tags.every(t => tags[t])
+ );
+ if (!matchesPos) return false;
+ const matchesOpt =
+ matches.optional.length === 0
+ || matches.optional.some(x =>
+ x.tags.some(t =>
+ t.hasCursor
+ || t.isNegative
+ ? !tags[t.tag]
+ : tags[t.tag]
+ ));
+ if (!matchesOpt) return false;
+ return true;
+ }).reduce((acc, val) => {
+ Object.keys(val[1]).forEach(tag => acc[tag] = acc[tag] + 1 || 1);
+ return acc;
+ }, {});
+
+ return Object.entries(wildcards)
+ .sort((a, b) => b[1] - a[1])
+ .filter(x =>
+ x[0] === tagword
+ || !matches.all.includes(x[0])
+ );
+ }
+
+ if (umiTags.length > 0) {
+ // Get difference for subprompt
+ let tagCountChange = umiTags.length - umiPreviousTags.length;
+ let diff = difference(umiTags, umiPreviousTags);
+ umiPreviousTags = umiTags;
+
+ // Show all condition
+ let showAll = tagword.endsWith("[") || tagword.endsWith("[--") || tagword.endsWith("|");
+
+ // Exit early if the user closed the bracket manually
+ if ((!diff || diff.length === 0 || (diff.length === 1 && tagCountChange < 0)) && !showAll) {
+ if (!hideBlocked) hideResults(textArea);
+ return;
+ }
+
+ let umiTagword = tagCountChange < 0 ? '' : diff[0] || '';
+ let tempResults = [];
+ if (umiTagword && umiTagword.length > 0) {
+ umiTagword = umiTagword.toLowerCase().replace(/[\n\r]/g, "");
+ originalTagword = tagword;
+ tagword = umiTagword;
+ let filteredWildcardsSorted = filteredWildcards(umiTagword);
+ let searchRegex = new RegExp(`(^|[^a-zA-Z])${escapeRegExp(umiTagword)}`, 'i')
+ let baseFilter = x => x[0].toLowerCase().search(searchRegex) > -1;
+ let spaceIncludeFilter = x => x[0].toLowerCase().replaceAll(" ", "_").search(searchRegex) > -1;
+ tempResults = filteredWildcardsSorted.filter(x => baseFilter(x) || spaceIncludeFilter(x)) // Filter by tagword
+
+ // Add final results
+ let finalResults = [];
+ tempResults.forEach(t => {
+ let result = new AutocompleteResult(t[0].trim(), ResultType.umiWildcard)
+ result.count = t[1];
+ finalResults.push(result);
+ });
+
+ finalResults = finalResults.sort((a, b) => b.count - a.count);
+ return finalResults;
+ } else if (showAll) {
+ let filteredWildcardsSorted = filteredWildcards("");
+
+ // Add final results
+ let finalResults = [];
+ filteredWildcardsSorted.forEach(t => {
+ let result = new AutocompleteResult(t[0].trim(), ResultType.umiWildcard)
+ result.count = t[1];
+ finalResults.push(result);
+ });
+
+ originalTagword = tagword;
+ tagword = "";
+
+ finalResults = finalResults.sort((a, b) => b.count - a.count);
+ return finalResults;
+ }
+ } else {
+ let filteredWildcardsSorted = filteredWildcards("");
+
+ // Add final results
+ let finalResults = [];
+ filteredWildcardsSorted.forEach(t => {
+ let result = new AutocompleteResult(t[0].trim(), ResultType.umiWildcard)
+ result.count = t[1];
+ finalResults.push(result);
+ });
+
+ originalTagword = tagword;
+ tagword = "";
+
+ finalResults = finalResults.sort((a, b) => b.count - a.count);
+ return finalResults;
+ }
+ }
+}
+
+function updateUmiTags(tagType, sanitizedText, newPrompt, textArea) {
+ // If it was a umi wildcard, also update the umiPreviousTags
+ if (tagType === ResultType.umiWildcard && originalTagword.length > 0) {
+ let umiSubPrompts = [...newPrompt.matchAll(UMI_PROMPT_REGEX)];
+
+ let umiTags = [];
+ umiSubPrompts.forEach(umiSubPrompt => {
+ umiTags = umiTags.concat([...umiSubPrompt[0].matchAll(UMI_TAG_REGEX)].map(x => x[1].toLowerCase()));
+ });
+
+ umiPreviousTags = umiTags;
+
+ hideResults(textArea);
+
+ return true;
+ }
+ return false;
+}
+
+async function load() {
+ if (umiWildcards.length === 0) {
+ try {
+ let umiTags = (await readFile(`${tagBasePath}/temp/umi_tags.txt`)).split("\n");
+ // Split into tag, count pairs
+ umiWildcards = umiTags.map(x => x
+ .trim()
+ .split(","))
+ .map(([i, ...rest]) => [
+ i,
+ rest.reduce((a, b) => {
+ a[b.toLowerCase()] = true;
+ return a;
+ }, {}),
+ ]);
+ } catch (e) {
+ console.error("Error loading umi wildcards: " + e);
+ }
+ }
+}
+
+function sanitize(tagType, text) {
+ // Replace underscores only if the umi tag is not using them
+ if (tagType === ResultType.umiWildcard && !umiWildcards.includes(text)) {
+ return text.replaceAll("_", " ");
+ }
+ return null;
+}
+
+// Add UMI parser
+PARSERS.push(new UmiParser(UMI_TRIGGER));
+
+// Add our utility functions to their respective queues
+QUEUE_FILE_LOAD.push(load);
+QUEUE_SANITIZE.push(sanitize);
+QUEUE_AFTER_INSERT.push(updateUmiTags);
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/javascript/ext_wildcards.js b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/javascript/ext_wildcards.js
new file mode 100644
index 0000000000000000000000000000000000000000..5762e8de081defd45a24569bfae3a513faa12719
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/javascript/ext_wildcards.js
@@ -0,0 +1,178 @@
+// Regex
+const WC_REGEX = /\b__([^,]+)__([^, ]*)\b/g;
+
+// Trigger conditions
+const WC_TRIGGER = () => TAC_CFG.useWildcards && [...tagword.matchAll(WC_REGEX)].length > 0;
+const WC_FILE_TRIGGER = () => TAC_CFG.useWildcards && (tagword.startsWith("__") && !tagword.endsWith("__") || tagword === "__");
+
+class WildcardParser extends BaseTagParser {
+ async parse() {
+ // Show wildcards from a file with that name
+ let wcMatch = [...tagword.matchAll(WC_REGEX)]
+ let wcFile = wcMatch[0][1];
+ let wcWord = wcMatch[0][2];
+
+ // Look in normal wildcard files
+ let wcFound = wildcardFiles.filter(x => x[1].toLowerCase() === wcFile);
+ if (wcFound.length === 0) wcFound = null;
+ // Use found wildcard file or look in external wildcard files
+ let wcPairs = wcFound || wildcardExtFiles.filter(x => x[1].toLowerCase() === wcFile);
+
+ if (!wcPairs) return [];
+
+ let wildcards = [];
+ for (let i = 0; i < wcPairs.length; i++) {
+ const basePath = wcPairs[i][0];
+ const fileName = wcPairs[i][1];
+ if (!basePath || !fileName) return;
+
+ // YAML wildcards are already loaded as json, so we can get the values directly.
+ // basePath is the name of the file in this case, and fileName the key
+ if (basePath.endsWith(".yaml")) {
+ const getDescendantProp = (obj, desc) => {
+ const arr = desc.split("/");
+ while (arr.length) {
+ obj = obj[arr.shift()];
+ }
+ return obj;
+ }
+ wildcards = wildcards.concat(getDescendantProp(yamlWildcards[basePath], fileName));
+ } else {
+ const fileContent = (await fetchAPI(`tacapi/v1/wildcard-contents?basepath=${basePath}&filename=${fileName}.txt`, false))
+ .split("\n")
+ .filter(x => x.trim().length > 0 && !x.startsWith('#')); // Remove empty lines and comments
+ wildcards = wildcards.concat(fileContent);
+ }
+ }
+
+ if (TAC_CFG.sortWildcardResults)
+ wildcards.sort((a, b) => a.localeCompare(b));
+
+ let finalResults = [];
+ let tempResults = wildcards.filter(x => (wcWord !== null && wcWord.length > 0) ? x.toLowerCase().includes(wcWord) : x) // Filter by tagword
+ tempResults.forEach(t => {
+ let result = new AutocompleteResult(t.trim(), ResultType.wildcardTag);
+ result.meta = wcFile;
+ finalResults.push(result);
+ });
+
+ return finalResults;
+ }
+}
+
+class WildcardFileParser extends BaseTagParser {
+ parse() {
+ // Show available wildcard files
+ let tempResults = [];
+ if (tagword !== "__") {
+ let lmb = (x) => x[1].toLowerCase().includes(tagword.replace("__", ""))
+ tempResults = wildcardFiles.filter(lmb).concat(wildcardExtFiles.filter(lmb)) // Filter by tagword
+ } else {
+ tempResults = wildcardFiles.concat(wildcardExtFiles);
+ }
+
+ let finalResults = [];
+ const alreadyAdded = new Map();
+ // Get final results
+ tempResults.forEach(wcFile => {
+ // Skip duplicate entries incase multiple files have the same name or yaml category
+ if (alreadyAdded.has(wcFile[1])) return;
+
+ let result = null;
+ if (wcFile[0].endsWith(".yaml")) {
+ result = new AutocompleteResult(wcFile[1].trim(), ResultType.yamlWildcard);
+ result.meta = "YAML wildcard collection";
+ } else {
+ result = new AutocompleteResult(wcFile[1].trim(), ResultType.wildcardFile);
+ result.meta = "Wildcard file";
+ result.sortKey = wcFile[2].trim();
+ }
+
+ finalResults.push(result);
+ alreadyAdded.set(wcFile[1], true);
+ });
+
+ finalResults.sort(getSortFunction());
+
+ return finalResults;
+ }
+}
+
+async function load() {
+ if (wildcardFiles.length === 0 && wildcardExtFiles.length === 0) {
+ try {
+ let wcFileArr = await loadCSV(`${tagBasePath}/temp/wc.txt`);
+ if (wcFileArr && wcFileArr.length > 0) {
+ let wcBasePath = wcFileArr[0][0].trim(); // First line should be the base path
+ wildcardFiles = wcFileArr.slice(1)
+ .filter(x => x[0]?.trim().length > 0) //Remove empty lines
+ .map(x => [wcBasePath, x[0]?.trim().replace(".txt", ""), x[1]]); // Remove file extension & newlines
+ }
+
+ // To support multiple sources, we need to separate them using the provided "-----" strings
+ let wcExtFileArr = await loadCSV(`${tagBasePath}/temp/wce.txt`);
+ let splitIndices = [];
+ for (let index = 0; index < wcExtFileArr.length; index++) {
+ if (wcExtFileArr[index][0].trim() === "-----") {
+ splitIndices.push(index);
+ }
+ }
+ // For each group, add them to the wildcardFiles array with the base path as the first element
+ for (let i = 0; i < splitIndices.length; i++) {
+ let start = splitIndices[i - 1] || 0;
+ if (i > 0) start++; // Skip the "-----" line
+ let end = splitIndices[i];
+
+ let wcExtFile = wcExtFileArr.slice(start, end);
+ if (wcExtFile && wcExtFile.length > 0) {
+ let base = wcExtFile[0][0].trim() + "/";
+ wcExtFile = wcExtFile.slice(1)
+ .filter(x => x[0]?.trim().length > 0) //Remove empty lines
+ .map(x => [base, x[0]?.trim().replace(base, "").replace(".txt", ""), x[1]]);
+ wildcardExtFiles.push(...wcExtFile);
+ }
+ }
+
+ // Load the yaml wildcard json file and append it as a wildcard file, appending each key as a path component until we reach the end
+ yamlWildcards = await readFile(`${tagBasePath}/temp/wc_yaml.json`, true);
+
+ // Append each key as a path component until we reach a leaf
+ Object.keys(yamlWildcards).forEach(file => {
+ const flattened = flatten(yamlWildcards[file], [], "/");
+ Object.keys(flattened).forEach(key => {
+ wildcardExtFiles.push([file, key]);
+ });
+ });
+ } catch (e) {
+ console.error("Error loading wildcards: " + e);
+ }
+ }
+}
+
+function sanitize(tagType, text) {
+ if (tagType === ResultType.wildcardFile || tagType === ResultType.yamlWildcard) {
+ return `__${text}__`;
+ } else if (tagType === ResultType.wildcardTag) {
+ return text.replace(/^.*?: /g, "");
+ }
+ return null;
+}
+
+function keepOpenIfWildcard(tagType, sanitizedText, newPrompt, textArea) {
+ // If it's a wildcard, we want to keep the results open so the user can select another wildcard
+ if (tagType === ResultType.wildcardFile || tagType === ResultType.yamlWildcard) {
+ hideBlocked = true;
+ setTimeout(() => { hideBlocked = false; }, 450);
+ return true;
+ }
+ return false;
+}
+
+// Register the parsers
+PARSERS.push(new WildcardParser(WC_TRIGGER));
+PARSERS.push(new WildcardFileParser(WC_FILE_TRIGGER));
+
+// Add our utility functions to their respective queues
+QUEUE_FILE_LOAD.push(load);
+QUEUE_SANITIZE.push(sanitize);
+QUEUE_AFTER_INSERT.push(keepOpenIfWildcard);
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/javascript/tagAutocomplete.js b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/javascript/tagAutocomplete.js
new file mode 100644
index 0000000000000000000000000000000000000000..dcee22e5cf2d2490661c395ee531b5fd4a2aba4f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/javascript/tagAutocomplete.js
@@ -0,0 +1,1431 @@
+const styleColors = {
+ "--results-bg": ["#0b0f19", "#ffffff"],
+ "--results-border-color": ["#4b5563", "#e5e7eb"],
+ "--results-border-width": ["1px", "1.5px"],
+ "--results-bg-odd": ["#111827", "#f9fafb"],
+ "--results-hover": ["#1f2937", "#f5f6f8"],
+ "--results-selected": ["#374151", "#e5e7eb"],
+ "--meta-text-color": ["#6b6f7b", "#a2a9b4"],
+ "--embedding-v1-color": ["lightsteelblue", "#2b5797"],
+ "--embedding-v2-color": ["skyblue", "#2d89ef"],
+ "--live-translation-rt": ["whitesmoke", "#222"],
+ "--live-translation-color-1": ["lightskyblue", "#2d89ef"],
+ "--live-translation-color-2": ["palegoldenrod", "#eb5700"],
+ "--live-translation-color-3": ["darkseagreen", "darkgreen"],
+}
+const browserVars = {
+ "--results-overflow-y": {
+ "firefox": "scroll",
+ "other": "auto"
+ }
+}
+// Style for new elements. Gets appended to the Gradio root.
+const autocompleteCSS = `
+ #quicksettings [id^=setting_tac] {
+ background-color: transparent;
+ min-width: fit-content;
+ }
+ .autocompleteParent {
+ display: flex;
+ position: absolute;
+ z-index: 999;
+ max-width: calc(100% - 1.5rem);
+ margin: 5px 0 0 0;
+ }
+ .autocompleteResults {
+ background-color: var(--results-bg) !important;
+ border: var(--results-border-width) solid var(--results-border-color) !important;
+ border-radius: 12px !important;
+ height: fit-content;
+ flex-basis: fit-content;
+ flex-shrink: 0;
+ overflow-y: var(--results-overflow-y);
+ overflow-x: hidden;
+ word-break: break-word;
+ }
+ .sideInfo {
+ display: none;
+ position: relative;
+ margin-left: 10px;
+ height: 18rem;
+ max-width: 16rem;
+ }
+ .sideInfo > img {
+ object-fit: cover;
+ height: 100%;
+ width: 100%;
+ }
+ .autocompleteResultsList > li:nth-child(odd) {
+ background-color: var(--results-bg-odd);
+ }
+ .autocompleteResultsList > li {
+ list-style-type: none;
+ padding: 10px;
+ cursor: pointer;
+ }
+ .autocompleteResultsList > li:hover {
+ background-color: var(--results-hover);
+ }
+ .autocompleteResultsList > li.selected {
+ background-color: var(--results-selected);
+ }
+ .resultsFlexContainer {
+ display: flex;
+ }
+ .acListItem {
+ white-space: break-spaces;
+ min-width: 100px;
+ }
+ .acMetaText {
+ position: relative;
+ flex-grow: 1;
+ text-align: end;
+ padding: 0 0 0 15px;
+ white-space: nowrap;
+ color: var(--meta-text-color);
+ }
+ .acWikiLink {
+ padding: 0.5rem;
+ margin: -0.5rem 0 -0.5rem -0.5rem;
+ }
+ .acWikiLink:hover {
+ text-decoration: underline;
+ }
+ .acListItem.acEmbeddingV1 {
+ color: var(--embedding-v1-color);
+ }
+ .acListItem.acEmbeddingV2 {
+ color: var(--embedding-v2-color);
+ }
+ .acRuby {
+ padding: var(--input-padding);
+ color: #888;
+ font-size: 0.8rem;
+ user-select: none;
+ }
+ .acRuby > ruby {
+ display: inline-flex;
+ flex-direction: column-reverse;
+ margin-top: 0.5rem;
+ vertical-align: bottom;
+ cursor: pointer;
+ }
+ .acRuby > ruby::hover {
+ text-decoration: underline;
+ text-shadow: 0 0 10px var(--live-translation-color-1);
+ }
+ .acRuby > :nth-child(3n+1) {
+ color: var(--live-translation-color-1);
+ }
+ .acRuby > :nth-child(3n+2) {
+ color: var(--live-translation-color-2);
+ }
+ .acRuby > :nth-child(3n+3) {
+ color: var(--live-translation-color-3);
+ }
+ .acRuby > ruby > rt {
+ line-height: 1rem;
+ padding: 0px 5px 0px 0px;
+ text-align: left;
+ font-size: 1rem;
+ color: var(--live-translation-rt);
+ }
+ .acListItem .acPathPart:nth-child(3n+1) {
+ color: var(--live-translation-color-1);
+ }
+ .acListItem .acPathPart:nth-child(3n+2) {
+ color: var(--live-translation-color-2);
+ }
+ .acListItem .acPathPart:nth-child(3n+3) {
+ color: var(--live-translation-color-3);
+ }
+`;
+
+async function loadTags(c) {
+ // Load main tags and aliases
+ if (allTags.length === 0 && c.tagFile && c.tagFile !== "None") {
+ try {
+ allTags = await loadCSV(`${tagBasePath}/${c.tagFile}`);
+ } catch (e) {
+ console.error("Error loading tags file: " + e);
+ return;
+ }
+ }
+ await loadExtraTags(c);
+}
+
+async function loadExtraTags(c) {
+ if (c.extra.extraFile && c.extra.extraFile !== "None") {
+ try {
+ extras = await loadCSV(`${tagBasePath}/${c.extra.extraFile}`);
+ // Add translations to the main translation map for extra tags that have them
+ extras.forEach(e => {
+ if (e[4]) translations.set(e[0], e[4]);
+ });
+ } catch (e) {
+ console.error("Error loading extra file: " + e);
+ return;
+ }
+ }
+}
+
+async function loadTranslations(c) {
+ if (c.translation.translationFile && c.translation.translationFile !== "None") {
+ try {
+ let tArray = await loadCSV(`${tagBasePath}/${c.translation.translationFile}`);
+ tArray.forEach(t => {
+ if (c.translation.oldFormat && t[2]) // if 2 doesn't exist, it's probably a new format file and the setting is on by mistake
+ translations.set(t[0], t[2]);
+ else if (t[1])
+ translations.set(t[0], t[1]);
+ else
+ translations.set(t[0], "Not found");
+ });
+ } catch (e) {
+ console.error("Error loading translations file: " + e);
+ return;
+ }
+ }
+}
+
+async function syncOptions() {
+ let newCFG = {
+ // Main tag file
+ tagFile: opts["tac_tagFile"],
+ // Active in settings
+ activeIn: {
+ global: opts["tac_active"],
+ txt2img: opts["tac_activeIn.txt2img"],
+ img2img: opts["tac_activeIn.img2img"],
+ negativePrompts: opts["tac_activeIn.negativePrompts"],
+ thirdParty: opts["tac_activeIn.thirdParty"],
+ modelList: opts["tac_activeIn.modelList"],
+ modelListMode: opts["tac_activeIn.modelListMode"]
+ },
+ // Results related settings
+ slidingPopup: opts["tac_slidingPopup"],
+ maxResults: opts["tac_maxResults"],
+ showAllResults: opts["tac_showAllResults"],
+ resultStepLength: opts["tac_resultStepLength"],
+ delayTime: opts["tac_delayTime"],
+ useWildcards: opts["tac_useWildcards"],
+ sortWildcardResults: opts["tac_sortWildcardResults"],
+ useEmbeddings: opts["tac_useEmbeddings"],
+ includeEmbeddingsInNormalResults: opts["tac_includeEmbeddingsInNormalResults"],
+ useHypernetworks: opts["tac_useHypernetworks"],
+ useLoras: opts["tac_useLoras"],
+ useLycos: opts["tac_useLycos"],
+ showWikiLinks: opts["tac_showWikiLinks"],
+ showExtraNetworkPreviews: opts["tac_showExtraNetworkPreviews"],
+ modelSortOrder: opts["tac_modelSortOrder"],
+ // Insertion related settings
+ replaceUnderscores: opts["tac_replaceUnderscores"],
+ escapeParentheses: opts["tac_escapeParentheses"],
+ appendComma: opts["tac_appendComma"],
+ appendSpace: opts["tac_appendSpace"],
+ alwaysSpaceAtEnd: opts["tac_alwaysSpaceAtEnd"],
+ wildcardCompletionMode: opts["tac_wildcardCompletionMode"],
+ modelKeywordCompletion: opts["tac_modelKeywordCompletion"],
+ modelKeywordLocation: opts["tac_modelKeywordLocation"],
+ // Alias settings
+ alias: {
+ searchByAlias: opts["tac_alias.searchByAlias"],
+ onlyShowAlias: opts["tac_alias.onlyShowAlias"]
+ },
+ // Translation settings
+ translation: {
+ translationFile: opts["tac_translation.translationFile"],
+ oldFormat: opts["tac_translation.oldFormat"],
+ searchByTranslation: opts["tac_translation.searchByTranslation"],
+ liveTranslation: opts["tac_translation.liveTranslation"],
+ },
+ // Extra file settings
+ extra: {
+ extraFile: opts["tac_extra.extraFile"],
+ addMode: opts["tac_extra.addMode"]
+ },
+ // Chant file settings
+ chantFile: opts["tac_chantFile"],
+ // Settings not from tac but still used by the script
+ extraNetworksDefaultMultiplier: opts["extra_networks_default_multiplier"],
+ extraNetworksSeparator: opts["extra_networks_add_text_separator"],
+ // Custom mapping settings
+ keymap: JSON.parse(opts["tac_keymap"]),
+ colorMap: JSON.parse(opts["tac_colormap"])
+ }
+
+ if (newCFG.alias.onlyShowAlias) {
+ newCFG.alias.searchByAlias = true; // if only show translation, enable search by translation is necessary
+ }
+
+ // Reload translations if the translation file changed
+ if (!TAC_CFG || newCFG.translation.translationFile !== TAC_CFG.translation.translationFile) {
+ translations.clear();
+ await loadTranslations(newCFG);
+ await loadExtraTags(newCFG);
+ }
+ // Reload tags if the tag file changed (after translations so extra tag translations get re-added)
+ if (!TAC_CFG || newCFG.tagFile !== TAC_CFG.tagFile || newCFG.extra.extraFile !== TAC_CFG.extra.extraFile) {
+ allTags = [];
+ await loadTags(newCFG);
+ }
+
+ // Refresh temp files if model sort order changed
+ // Contrary to the other loads, this one shouldn't happen on a first time load
+ if (TAC_CFG && newCFG.modelSortOrder !== TAC_CFG.modelSortOrder) {
+ const dropdown = gradioApp().querySelector("#setting_tac_modelSortOrder");
+ dropdown.style.opacity = 0.5;
+ dropdown.style.pointerEvents = "none";
+ await refreshTacTempFiles(true);
+ dropdown.style.opacity = null;
+ dropdown.style.pointerEvents = null;
+ }
+
+ // Update CSS if maxResults changed
+ if (TAC_CFG && newCFG.maxResults !== TAC_CFG.maxResults) {
+ gradioApp().querySelectorAll(".autocompleteResults").forEach(r => {
+ r.style.maxHeight = `${newCFG.maxResults * 50}px`;
+ });
+ }
+
+ // Remove ruby div if live preview was disabled
+ if (newCFG.translation.liveTranslation === false) {
+ [...gradioApp().querySelectorAll('.acRuby')].forEach(r => {
+ r.remove();
+ });
+ }
+
+ // Apply changes
+ TAC_CFG = newCFG;
+
+ // Callback
+ await processQueue(QUEUE_AFTER_CONFIG_CHANGE, null);
+}
+
+// Create the result list div and necessary styling
+function createResultsDiv(textArea) {
+ let parentDiv = document.createElement("div");
+ let resultsDiv = document.createElement("div");
+ let resultsList = document.createElement("ul");
+ let sideDiv = document.createElement("div");
+ let sideDivImg = document.createElement("img");
+
+ let textAreaId = getTextAreaIdentifier(textArea);
+ let typeClass = textAreaId.replaceAll(".", " ");
+
+ parentDiv.setAttribute("class", `autocompleteParent${typeClass}`);
+
+ resultsDiv.style.maxHeight = `${TAC_CFG.maxResults * 50}px`;
+ resultsDiv.setAttribute("class", `autocompleteResults${typeClass} notranslate`);
+ resultsDiv.setAttribute("translate", "no");
+ resultsList.setAttribute("class", "autocompleteResultsList");
+ resultsDiv.appendChild(resultsList);
+
+ sideDiv.setAttribute("class", `autocompleteResults${typeClass} sideInfo`);
+ sideDiv.appendChild(sideDivImg);
+
+ parentDiv.appendChild(resultsDiv);
+ parentDiv.appendChild(sideDiv);
+
+ return parentDiv;
+}
+
+// Show or hide the results div
+function isVisible(textArea) {
+ let textAreaId = getTextAreaIdentifier(textArea);
+ let parentDiv = gradioApp().querySelector('.autocompleteParent' + textAreaId);
+ return parentDiv.style.display === "flex";
+}
+function showResults(textArea) {
+ let textAreaId = getTextAreaIdentifier(textArea);
+ let parentDiv = gradioApp().querySelector('.autocompleteParent' + textAreaId);
+ parentDiv.style.display = "flex";
+
+ if (TAC_CFG.slidingPopup) {
+ let caretPosition = getCaretCoordinates(textArea, textArea.selectionEnd).left;
+ let offset = Math.min(textArea.offsetLeft - textArea.scrollLeft + caretPosition, textArea.offsetWidth - parentDiv.offsetWidth);
+
+ parentDiv.style.left = `${offset}px`;
+ } else {
+ if (parentDiv.style.left)
+ parentDiv.style.removeProperty("left");
+ }
+ // Reset here too to make absolutely sure the browser registers it
+ parentDiv.scrollTop = 0;
+
+ // Ensure preview is hidden
+ let previewDiv = gradioApp().querySelector(`.autocompleteParent${textAreaId} .sideInfo`);
+ previewDiv.style.display = "none";
+}
+function hideResults(textArea) {
+ let textAreaId = getTextAreaIdentifier(textArea);
+ let resultsDiv = gradioApp().querySelector('.autocompleteParent' + textAreaId);
+
+ if (!resultsDiv) return;
+
+ resultsDiv.style.display = "none";
+ selectedTag = null;
+}
+
+// Function to check activation criteria
+function isEnabled() {
+ if (TAC_CFG.activeIn.global) {
+ // Skip check if the current model was not correctly detected, since it could wrongly disable the script otherwise
+ if (!currentModelName || !currentModelHash) return true;
+
+ let modelList = TAC_CFG.activeIn.modelList
+ .split(",")
+ .map(x => x.trim())
+ .filter(x => x.length > 0);
+
+ let shortHash = currentModelHash.substring(0, 10);
+ let modelNameWithoutHash = currentModelName.replace(/\[.*\]$/g, "").trim();
+ if (TAC_CFG.activeIn.modelListMode.toLowerCase() === "blacklist") {
+ // If the current model is in the blacklist, disable
+ return modelList.filter(x => x === currentModelName || x === modelNameWithoutHash || x === currentModelHash || x === shortHash).length === 0;
+ } else {
+ // If the current model is in the whitelist, enable.
+ // An empty whitelist is ignored.
+ return modelList.length === 0 || modelList.filter(x => x === currentModelName || x === modelNameWithoutHash || x === currentModelHash || x === shortHash).length > 0;
+ }
+ } else {
+ return false;
+ }
+}
+
+const WEIGHT_REGEX = /[([]([^()[\]:|]+)(?::(?:\d+(?:\.\d+)?|\.\d+))?[)\]]/g;
+const POINTY_REGEX = /<[^\s,<](?:[^\t\n\r,<>]*>|[^\t\n\r,> ]*)/g;
+const COMPLETED_WILDCARD_REGEX = /__[^\s,_][^\t\n\r,_]*[^\s,_]__[^\s,_]*/g;
+const NORMAL_TAG_REGEX = /[^\s,|<>\]:]+_\([^\s,|<>\]:]*\)?|[^\s,|<>():\]]+|?/g;
+const TAG_REGEX = new RegExp(`${POINTY_REGEX.source}|${COMPLETED_WILDCARD_REGEX.source}|${NORMAL_TAG_REGEX.source}`, "g");
+
+// On click, insert the tag into the prompt textbox with respect to the cursor position
+async function insertTextAtCursor(textArea, result, tagword, tabCompletedWithoutChoice = false) {
+ let text = result.text;
+ let tagType = result.type;
+
+ let cursorPos = textArea.selectionStart;
+ var sanitizedText = text
+
+ // Run sanitize queue and use first result as sanitized text
+ sanitizeResults = await processQueueReturn(QUEUE_SANITIZE, null, tagType, text);
+
+ if (sanitizeResults && sanitizeResults.length > 0) {
+ sanitizedText = sanitizeResults[0];
+ } else {
+ sanitizedText = TAC_CFG.replaceUnderscores ? text.replaceAll("_", " ") : text;
+
+ if (TAC_CFG.escapeParentheses && tagType === ResultType.tag) {
+ sanitizedText = sanitizedText
+ .replaceAll("(", "\\(")
+ .replaceAll(")", "\\)")
+ .replaceAll("[", "\\[")
+ .replaceAll("]", "\\]");
+ }
+ }
+
+ if ((tagType === ResultType.wildcardFile || tagType === ResultType.yamlWildcard)
+ && tabCompletedWithoutChoice
+ && TAC_CFG.wildcardCompletionMode !== "Always fully"
+ && sanitizedText.includes("/")) {
+ if (TAC_CFG.wildcardCompletionMode === "To next folder level") {
+ let regexMatch = sanitizedText.match(new RegExp(`${escapeRegExp(tagword)}([^/]*\\/?)`, "i"));
+ if (regexMatch) {
+ let pathPart = regexMatch[0];
+ // In case the completion would have just added a slash, try again one level deeper
+ if (pathPart === `${tagword}/`) {
+ pathPart = sanitizedText.match(new RegExp(`${escapeRegExp(tagword)}\\/([^/]*\\/?)`, "i"))[0];
+ }
+ sanitizedText = pathPart;
+ }
+ } else if (TAC_CFG.wildcardCompletionMode === "To first difference") {
+ let firstDifference = 0;
+ let longestResult = results.map(x => x.text.length).reduce((a, b) => Math.max(a, b));
+ // Compare the results to each other to find the first point where they differ
+ for (let i = 0; i < longestResult; i++) {
+ let char = results[0].text[i];
+ if (results.every(x => x.text[i] === char)) {
+ firstDifference++;
+ } else {
+ break;
+ }
+ }
+ // Don't cut off the __ at the end if it is already the full path
+ if (firstDifference > 0 && firstDifference < longestResult) {
+ // +2 because the sanitized text already has the __ at the start but the matched text doesn't
+ sanitizedText = sanitizedText.substring(0, firstDifference + 2);
+ } else if (firstDifference === 0) {
+ sanitizedText = tagword;
+ }
+ }
+ }
+
+ var prompt = textArea.value;
+
+ // Edit prompt text
+ let editStart = Math.max(cursorPos - tagword.length, 0);
+ let editEnd = Math.min(cursorPos + tagword.length, prompt.length);
+ let surrounding = prompt.substring(editStart, editEnd);
+ let match = surrounding.match(new RegExp(escapeRegExp(`${tagword}`), "i"));
+ let afterInsertCursorPos = editStart + match.index + sanitizedText.length;
+
+ var optionalSeparator = "";
+ let extraNetworkTypes = [ResultType.hypernetwork, ResultType.lora];
+ let noCommaTypes = [ResultType.wildcardFile, ResultType.yamlWildcard, ResultType.umiWildcard].concat(extraNetworkTypes);
+ if (!noCommaTypes.includes(tagType)) {
+ // Append comma if enabled and not already present
+ let beforeComma = surrounding.match(new RegExp(`${escapeRegExp(tagword)}[,:]`, "i")) !== null;
+ if (TAC_CFG.appendComma)
+ optionalSeparator = beforeComma ? "" : ",";
+ // Add space if enabled
+ if (TAC_CFG.appendSpace && !beforeComma)
+ optionalSeparator += " ";
+ // If at end of prompt and enabled, override the normal setting if not already added
+ if (!TAC_CFG.appendSpace && TAC_CFG.alwaysSpaceAtEnd)
+ optionalSeparator += surrounding.match(new RegExp(`${escapeRegExp(tagword)}$`, "im")) !== null ? " " : "";
+ } else if (extraNetworkTypes.includes(tagType)) {
+ // Use the dedicated separator for extra networks if it's defined, otherwise fall back to space
+ optionalSeparator = TAC_CFG.extraNetworksSeparator || " ";
+ }
+
+ // Escape $ signs since they are special chars for the replace function
+ // We need four since we're also escaping them in replaceAll in the first place
+ sanitizedText = sanitizedText.replaceAll("$", "$$$$");
+
+ // Replace partial tag word with new text, add comma if needed
+ let insert = surrounding.replace(match, sanitizedText + optionalSeparator);
+
+ // Add back start
+ var newPrompt = prompt.substring(0, editStart) + insert + prompt.substring(editEnd);
+
+ // Add lora/lyco keywords if enabled and found
+ let keywordsLength = 0;
+
+ if (TAC_CFG.modelKeywordCompletion !== "Never" && (tagType === ResultType.lora || tagType === ResultType.lyco)) {
+ let keywords = null;
+ // Check built-in activation words first
+ if (tagType === ResultType.lora || tagType === ResultType.lyco) {
+ let info = await fetchAPI(`tacapi/v1/lora-info/${result.text}`)
+ if (info && info["activation text"]) {
+ keywords = info["activation text"];
+ }
+ }
+
+ if (!keywords && modelKeywordPath.length > 0 && result.hash && result.hash !== "NOFILE" && result.hash.length > 0) {
+ let nameDict = modelKeywordDict.get(result.hash);
+ let names = [result.text + ".safetensors", result.text + ".pt", result.text + ".ckpt"];
+
+ // No match, try to find a sha256 match from the cache file
+ if (!nameDict) {
+ const sha256 = await fetchAPI(`/tacapi/v1/lora-cached-hash/${result.text}`)
+ if (sha256) {
+ nameDict = modelKeywordDict.get(sha256);
+ }
+ }
+
+ if (nameDict) {
+ let found = false;
+ names.forEach(name => {
+ if (!found && nameDict.has(name)) {
+ found = true;
+ keywords = nameDict.get(name);
+ }
+ });
+
+ if (!found)
+ keywords = nameDict.get("none");
+ }
+ }
+
+ if (keywords && keywords.length > 0) {
+ textBeforeKeywordInsertion = newPrompt;
+
+ if (TAC_CFG.modelKeywordLocation === "Start of prompt")
+ newPrompt = `${keywords}, ${newPrompt}`; // Insert keywords
+ else if (TAC_CFG.modelKeywordLocation === "End of prompt")
+ newPrompt = `${newPrompt}, ${keywords}`; // Insert keywords
+ else {
+ let keywordStart = prompt[editStart - 1] === " " ? editStart - 1 : editStart;
+ newPrompt = prompt.substring(0, keywordStart) + `, ${keywords} ${insert}` + prompt.substring(editEnd);
+ }
+
+
+ textAfterKeywordInsertion = newPrompt;
+ keywordInsertionUndone = false;
+ setTimeout(() => lastEditWasKeywordInsertion = true, 200)
+
+ keywordsLength = keywords.length + 2; // +2 for the comma and space
+ }
+ }
+
+ // Insert into prompt textbox and reposition cursor
+ textArea.value = newPrompt;
+ textArea.selectionStart = afterInsertCursorPos + optionalSeparator.length + keywordsLength;
+ textArea.selectionEnd = textArea.selectionStart
+
+ // Since we've modified a Gradio Textbox component manually, we need to simulate an `input` DOM event to ensure it's propagated back to python.
+ // Uses a built-in method from the webui's ui.js which also already accounts for event target
+ tacSelfTrigger = true;
+ updateInput(textArea);
+
+ // Update previous tags with the edited prompt to prevent re-searching the same term
+ let weightedTags = [...newPrompt.matchAll(WEIGHT_REGEX)]
+ .map(match => match[1]);
+ let tags = newPrompt.match(TAG_REGEX)
+ if (weightedTags !== null) {
+ tags = tags.filter(tag => !weightedTags.some(weighted => tag.includes(weighted)))
+ .concat(weightedTags);
+ }
+ previousTags = tags;
+
+ // Callback
+ let returns = await processQueueReturn(QUEUE_AFTER_INSERT, null, tagType, sanitizedText, newPrompt, textArea);
+ // Return if any queue function returned true (has handled hide/show already)
+ if (returns.some(x => x === true))
+ return;
+
+ // Hide results after inserting, if it hasn't been hidden already by a queue function
+ if (!hideBlocked && isVisible(textArea)) {
+ hideResults(textArea);
+ }
+}
+
+function addResultsToList(textArea, results, tagword, resetList) {
+ let textAreaId = getTextAreaIdentifier(textArea);
+ let resultDiv = gradioApp().querySelector('.autocompleteResults' + textAreaId);
+ let resultsList = resultDiv.querySelector('ul');
+
+ // Reset list, selection and scrollTop since the list changed
+ if (resetList) {
+ resultsList.innerHTML = "";
+ selectedTag = null;
+ oldSelectedTag = null;
+ resultDiv.scrollTop = 0;
+ resultCount = 0;
+ }
+
+ // Find right colors from config
+ let tagFileName = TAC_CFG.tagFile.split(".")[0];
+ let tagColors = TAC_CFG.colorMap;
+ let mode = (document.querySelector(".dark") || gradioApp().querySelector(".dark")) ? 0 : 1;
+ let nextLength = Math.min(results.length, resultCount + TAC_CFG.resultStepLength);
+
+ for (let i = resultCount; i < nextLength; i++) {
+ let result = results[i];
+
+ // Skip if the result is null or undefined
+ if (!result)
+ continue;
+
+ let li = document.createElement("li");
+
+ let flexDiv = document.createElement("div");
+ flexDiv.classList.add("resultsFlexContainer");
+ li.appendChild(flexDiv);
+
+ let itemText = document.createElement("div");
+ itemText.classList.add("acListItem");
+
+ let displayText = "";
+ // If the tag matches the tagword, we don't need to display the alias
+ if(result.type === ResultType.chant) {
+ displayText = escapeHTML(result.aliases);
+ } else if (result.aliases && !result.text.includes(tagword)) { // Alias
+ let splitAliases = result.aliases.split(",");
+ let bestAlias = splitAliases.find(a => a.toLowerCase().includes(tagword));
+
+ // search in translations if no alias matches
+ if (!bestAlias) {
+ let tagOrAlias = pair => pair[0] === result.text || splitAliases.includes(pair[0]);
+ var tArray = [...translations];
+ if (tArray) {
+ var translationKey = [...translations].find(pair => tagOrAlias(pair) && pair[1].includes(tagword));
+ if (translationKey)
+ bestAlias = translationKey[0];
+ }
+ }
+
+ displayText = escapeHTML(bestAlias);
+
+ // Append translation for alias if it exists and is not what the user typed
+ if (translations.has(bestAlias) && translations.get(bestAlias) !== bestAlias && bestAlias !== result.text)
+ displayText += `[${translations.get(bestAlias)}]`;
+
+ if (!TAC_CFG.alias.onlyShowAlias && result.text !== bestAlias)
+ displayText += " ➝ " + result.text;
+ } else { // No alias
+ displayText = escapeHTML(result.text);
+ }
+
+ // Append translation for result if it exists
+ if (translations.has(result.text))
+ displayText += `[${translations.get(result.text)}]`;
+
+ // Print search term bolded in result
+ itemText.innerHTML = displayText.replace(tagword, `${tagword} `);
+
+ const splitTypes = [ResultType.wildcardFile, ResultType.yamlWildcard]
+ if (splitTypes.includes(result.type) && itemText.innerHTML.includes("/")) {
+ let parts = itemText.innerHTML.split("/");
+ let lastPart = parts[parts.length - 1];
+ parts = parts.slice(0, parts.length - 1);
+
+ itemText.innerHTML = "" + parts.join(" /") + " " + "/" + lastPart;
+ }
+
+ // Add wiki link if the setting is enabled and a supported tag set loaded
+ if (TAC_CFG.showWikiLinks
+ && (result.type === ResultType.tag)
+ && (tagFileName.toLowerCase().startsWith("danbooru") || tagFileName.toLowerCase().startsWith("e621"))) {
+ let wikiLink = document.createElement("a");
+ wikiLink.classList.add("acWikiLink");
+ wikiLink.innerText = "?";
+
+ let linkPart = displayText;
+ // Only use alias result if it is one
+ if (displayText.includes("➝"))
+ linkPart = displayText.split(" ➝ ")[1];
+
+ // Remove any trailing translations
+ if (linkPart.includes("[")) {
+ linkPart = linkPart.split("[")[0]
+ }
+
+ linkPart = encodeURIComponent(linkPart);
+
+ // Set link based on selected file
+ let tagFileNameLower = tagFileName.toLowerCase();
+ if (tagFileNameLower.startsWith("danbooru")) {
+ wikiLink.href = `https://danbooru.donmai.us/wiki_pages/${linkPart}`;
+ } else if (tagFileNameLower.startsWith("e621")) {
+ wikiLink.href = `https://e621.net/wiki_pages/${linkPart}`;
+ }
+
+ wikiLink.target = "_blank";
+ flexDiv.appendChild(wikiLink);
+ }
+
+ flexDiv.appendChild(itemText);
+
+ // Add post count & color if it's a tag
+ // Wildcards & Embeds have no tag category
+ if (result.category) {
+ // Set the color of the tag
+ let cat = result.category;
+ let colorGroup = tagColors[tagFileName];
+ // Default to danbooru scheme if no matching one is found
+ if (!colorGroup)
+ colorGroup = tagColors["danbooru"];
+
+ // Set tag type to invalid if not found
+ if (!colorGroup[cat])
+ cat = "-1";
+
+ flexDiv.style = `color: ${colorGroup[cat][mode]};`;
+ }
+
+ // Post count
+ if (result.count && !isNaN(result.count)) {
+ let postCount = result.count;
+ let formatter;
+
+ // Danbooru formats numbers with a padded fraction for 1M or 1k, but not for 10/100k
+ if (postCount >= 1000000 || (postCount >= 1000 && postCount < 10000))
+ formatter = Intl.NumberFormat("en", { notation: "compact", minimumFractionDigits: 1, maximumFractionDigits: 1 });
+ else
+ formatter = Intl.NumberFormat("en", {notation: "compact"});
+
+ let formattedCount = formatter.format(postCount);
+
+ let countDiv = document.createElement("div");
+ countDiv.textContent = formattedCount;
+ countDiv.classList.add("acMetaText");
+ flexDiv.appendChild(countDiv);
+ } else if (result.meta) { // Check if there is meta info to display
+ let metaDiv = document.createElement("div");
+ metaDiv.textContent = result.meta;
+ metaDiv.classList.add("acMetaText");
+
+ // Add version info classes if it is an embedding
+ if (result.type === ResultType.embedding) {
+ if (result.meta.startsWith("v1"))
+ itemText.classList.add("acEmbeddingV1");
+ else if (result.meta.startsWith("v2"))
+ itemText.classList.add("acEmbeddingV2");
+ }
+
+ flexDiv.appendChild(metaDiv);
+ }
+
+ // Add listener
+ li.addEventListener("click", function () { insertTextAtCursor(textArea, result, tagword); });
+ // Add element to list
+ resultsList.appendChild(li);
+ }
+ resultCount = nextLength;
+
+ if (resetList) {
+ selectedTag = null;
+ oldSelectedTag = null;
+ resultDiv.scrollTop = 0;
+ }
+}
+
+async function updateSelectionStyle(textArea, newIndex, oldIndex) {
+ let textAreaId = getTextAreaIdentifier(textArea);
+ let resultDiv = gradioApp().querySelector('.autocompleteResults' + textAreaId);
+ let resultsList = resultDiv.querySelector('ul');
+ let items = resultsList.getElementsByTagName('li');
+
+ if (oldIndex != null) {
+ items[oldIndex].classList.remove('selected');
+ }
+
+ // make it safer
+ if (newIndex !== null) {
+ let selected = items[newIndex];
+ selected.classList.add('selected');
+
+ // Set scrolltop to selected item
+ resultDiv.scrollTop = selected.offsetTop - resultDiv.offsetTop;
+ }
+
+ // Show preview if enabled and the selected type supports it
+ if (newIndex !== null) {
+ let selected = items[newIndex];
+ let previewTypes = ["v1 Embedding", "v2 Embedding", "Hypernetwork", "Lora", "Lyco"];
+ let selectedType = selected.querySelector(".acMetaText").innerText;
+ let selectedFilename = selected.querySelector(".acListItem").innerText;
+
+ let previewDiv = gradioApp().querySelector(`.autocompleteParent${textAreaId} .sideInfo`);
+
+ if (TAC_CFG.showExtraNetworkPreviews && previewTypes.includes(selectedType)) {
+ let shorthandType = "";
+ switch (selectedType) {
+ case "v1 Embedding":
+ case "v2 Embedding":
+ shorthandType = "embed";
+ break;
+ case "Hypernetwork":
+ shorthandType = "hyper";
+ break;
+ case "Lora":
+ shorthandType = "lora";
+ break;
+ case "Lyco":
+ shorthandType = "lyco";
+ break;
+ }
+
+ let img = previewDiv.querySelector("img");
+
+ let url = await getExtraNetworkPreviewURL(selectedFilename, shorthandType);
+ if (url) {
+ img.src = url;
+ previewDiv.style.display = "block";
+ } else {
+ previewDiv.style.display = "none";
+ }
+ } else {
+ previewDiv.style.display = "none";
+ }
+ }
+}
+
+function updateRuby(textArea, prompt) {
+ if (!TAC_CFG.translation.liveTranslation) return;
+ if (!TAC_CFG.translation.translationFile || TAC_CFG.translation.translationFile === "None") return;
+
+ let ruby = gradioApp().querySelector('.acRuby' + getTextAreaIdentifier(textArea));
+ if (!ruby) {
+ let textAreaId = getTextAreaIdentifier(textArea);
+ let typeClass = textAreaId.replaceAll(".", " ");
+ ruby = document.createElement("div");
+ ruby.setAttribute("class", `acRuby${typeClass} notranslate`);
+ textArea.parentNode.appendChild(ruby);
+ }
+
+ ruby.innerText = prompt;
+
+ let bracketEscapedPrompt = prompt.replaceAll("\\(", "$").replaceAll("\\)", "%");
+
+ let rubyTags = bracketEscapedPrompt.match(RUBY_TAG_REGEX);
+ if (!rubyTags) return;
+
+ rubyTags.sort((a, b) => b.length - a.length);
+ rubyTags = new Set(rubyTags);
+
+ const prepareTag = (tag) => {
+ tag = tag.replaceAll("$", "\\(").replaceAll("%", "\\)");
+
+ let unsanitizedTag = tag
+ .replaceAll(" ", "_")
+ .replaceAll("\\(", "(")
+ .replaceAll("\\)", ")");
+
+ const translation = translations?.get(tag) || translations?.get(unsanitizedTag);
+
+ let escapedTag = escapeRegExp(tag);
+ return { tag, escapedTag, translation };
+ }
+
+ const replaceOccurences = (text, tuple) => {
+ let { tag, escapedTag, translation } = tuple;
+ let searchRegex = new RegExp(`(?)(?:\\b)${escapedTag}(?:\\b|$|(?=[,|: \\t\\n\\r]))(?!)`, "g");
+ return text.replaceAll(searchRegex, `${escapeHTML(tag)}${translation} `);
+ }
+
+ let html = escapeHTML(prompt);
+
+ // First try to find direct matches
+ [...rubyTags].forEach(tag => {
+ let tuple = prepareTag(tag);
+
+ if (tuple.translation) {
+ html = replaceOccurences(html, tuple);
+ } else {
+ let subTags = tuple.tag.split(" ").filter(x => x.trim().length > 0);
+ // Return if there is only one word
+ if (subTags.length === 1) return;
+
+ let subHtml = tag.replaceAll("$", "\\(").replaceAll("%", "\\)");
+
+ let translateNgram = (windows) => {
+ windows.forEach(window => {
+ let combinedTag = window.join(" ");
+ let subTuple = prepareTag(combinedTag);
+
+ if (subTuple.tag.length <= 2) return;
+
+ if (subTuple.translation) {
+ subHtml = replaceOccurences(subHtml, subTuple);
+ }
+ });
+ }
+
+ // Perform n-gram sliding window search
+ translateNgram(toNgrams(subTags, 3));
+ translateNgram(toNgrams(subTags, 2));
+ translateNgram(toNgrams(subTags, 1));
+
+ let escapedTag = escapeRegExp(tuple.tag);
+
+ let searchRegex = new RegExp(`(?)(?:\\b)${escapedTag}(?:\\b|$|(?=[,|: \\t\\n\\r]))(?!)`, "g");
+ html = html.replaceAll(searchRegex, subHtml);
+ }
+ });
+
+ ruby.innerHTML = html;
+
+ // Add listeners for auto selection
+ const childNodes = [...ruby.childNodes];
+ [...ruby.children].forEach(child => {
+ const textBefore = childNodes.slice(0, childNodes.indexOf(child)).map(x => x.childNodes[0]?.textContent || x.textContent).join("")
+ child.onclick = () => rubyTagClicked(child, textBefore, prompt, textArea);
+ });
+}
+
+function rubyTagClicked(node, textBefore, prompt, textArea) {
+ let selectionText = node.childNodes[0].textContent;
+
+ // Find start and end position of the tag in the prompt
+ let startPos = prompt.indexOf(textBefore) + textBefore.length;
+ let endPos = startPos + selectionText.length;
+
+ // Select in text area
+ textArea.focus();
+ textArea.setSelectionRange(startPos, endPos);
+}
+
+// Check if the last edit was the keyword insertion, and catch undo/redo in that case
+function checkKeywordInsertionUndo(textArea, event) {
+ if (TAC_CFG.modelKeywordCompletion === "Never") return;
+
+ switch (event.inputType) {
+ case "historyUndo":
+ if (lastEditWasKeywordInsertion && !keywordInsertionUndone) {
+ keywordInsertionUndone = true;
+ textArea.value = textBeforeKeywordInsertion;
+ tacSelfTrigger = true;
+ updateInput(textArea);
+ }
+ break;
+ case "historyRedo":
+ if (lastEditWasKeywordInsertion && keywordInsertionUndone) {
+ keywordInsertionUndone = false;
+ textArea.value = textAfterKeywordInsertion;
+ tacSelfTrigger = true;
+ updateInput(textArea);
+ }
+ case undefined:
+ // undefined is caused by the updateInput event firing, so we just ignore it
+ break;
+ default:
+ // Everything else deactivates the keyword undo and returns to normal undo behavior
+ lastEditWasKeywordInsertion = false;
+ keywordInsertionUndone = false;
+ textBeforeKeywordInsertion = "";
+ textAfterKeywordInsertion = "";
+ break;
+ }
+}
+
+async function autocomplete(textArea, prompt, fixedTag = null) {
+ // Return if the function is deactivated in the UI
+ if (!isEnabled()) return;
+
+ // Guard for empty prompt
+ if (prompt.length === 0) {
+ hideResults(textArea);
+ previousTags = [];
+ tagword = "";
+ return;
+ }
+
+ if (fixedTag === null) {
+ // Match tags with RegEx to get the last edited one
+ // We also match for the weighting format (e.g. "tag:1.0") here, and combine the two to get the full tag word set
+ let weightedTags = [...prompt.matchAll(WEIGHT_REGEX)]
+ .map(match => match[1]);
+ let tags = prompt.match(TAG_REGEX)
+ if (weightedTags !== null && tags !== null) {
+ tags = tags.filter(tag => !weightedTags.some(weighted => tag.includes(weighted) && !tag.startsWith("<[")))
+ .concat(weightedTags);
+ }
+
+ // Guard for no tags
+ if (!tags || tags.length === 0) {
+ previousTags = [];
+ tagword = "";
+ hideResults(textArea);
+ return;
+ }
+
+ let tagCountChange = tags.length - previousTags.length;
+ let diff = difference(tags, previousTags);
+ previousTags = tags;
+
+ // Guard for no difference / only whitespace remaining / last edited tag was fully removed
+ if (diff === null || diff.length === 0 || (diff.length === 1 && tagCountChange < 0)) {
+ if (!hideBlocked) hideResults(textArea);
+ return;
+ }
+
+ tagword = diff[0]
+
+ // Guard for empty tagword
+ if (tagword === null || tagword.length === 0) {
+ hideResults(textArea);
+ return;
+ }
+ } else {
+ tagword = fixedTag;
+ }
+
+ results = [];
+ resultCountBeforeNormalTags = 0;
+ tagword = tagword.toLowerCase().replace(/[\n\r]/g, "");
+
+ // Process all parsers
+ let resultCandidates = (await processParsers(textArea, prompt))?.filter(x => x.length > 0);
+ // If one ore more result candidates match, use their results
+ if (resultCandidates && resultCandidates.length > 0) {
+ // Flatten our candidate(s)
+ results = resultCandidates.flat();
+ // Sort results, but not if it's umi tags since they are sorted by count
+ if (!(resultCandidates.length === 1 && results[0].type === ResultType.umiWildcard))
+ results = results.sort(getSortFunction());
+
+ // Since some tags are kaomoji, we have to add the normal results in some cases
+ if (tagword.startsWith("<") || tagword.startsWith("*<")) {
+ // Create escaped search regex with support for * as a start placeholder
+ let searchRegex;
+ if (tagword.startsWith("*")) {
+ tagword = tagword.slice(1);
+ searchRegex = new RegExp(`${escapeRegExp(tagword)}`, 'i');
+ } else {
+ searchRegex = new RegExp(`(^|[^a-zA-Z])${escapeRegExp(tagword)}`, 'i');
+ }
+ let genericResults = allTags.filter(x => x[0].toLowerCase().search(searchRegex) > -1).slice(0, TAC_CFG.maxResults);
+
+ genericResults.forEach(g => {
+ let result = new AutocompleteResult(g[0].trim(), ResultType.tag)
+ result.category = g[1];
+ result.count = g[2];
+ result.aliases = g[3];
+ results.push(result);
+ });
+ }
+ }
+ // Else search the normal tag list
+ if (!resultCandidates || resultCandidates.length === 0
+ || (TAC_CFG.includeEmbeddingsInNormalResults && !(tagword.startsWith("<") || tagword.startsWith("*<")))
+ ) {
+ resultCountBeforeNormalTags = results.length;
+
+ // Create escaped search regex with support for * as a start placeholder
+ let searchRegex;
+ if (tagword.startsWith("*")) {
+ tagword = tagword.slice(1);
+ searchRegex = new RegExp(`${escapeRegExp(tagword)}`, 'i');
+ } else {
+ searchRegex = new RegExp(`(^|[^a-zA-Z])${escapeRegExp(tagword)}`, 'i');
+ }
+
+ // Both normal tags and aliases/translations are included depending on the config
+ let baseFilter = (x) => x[0].toLowerCase().search(searchRegex) > -1;
+ let aliasFilter = (x) => x[3] && x[3].toLowerCase().search(searchRegex) > -1;
+ let translationFilter = (x) => (translations.has(x[0]) && translations.get(x[0]).toLowerCase().search(searchRegex) > -1)
+ || x[3] && x[3].split(",").some(y => translations.has(y) && translations.get(y).toLowerCase().search(searchRegex) > -1);
+
+ let fil;
+ if (TAC_CFG.alias.searchByAlias && TAC_CFG.translation.searchByTranslation)
+ fil = (x) => baseFilter(x) || aliasFilter(x) || translationFilter(x);
+ else if (TAC_CFG.alias.searchByAlias && !TAC_CFG.translation.searchByTranslation)
+ fil = (x) => baseFilter(x) || aliasFilter(x);
+ else if (TAC_CFG.translation.searchByTranslation && !TAC_CFG.alias.searchByAlias)
+ fil = (x) => baseFilter(x) || translationFilter(x);
+ else
+ fil = (x) => baseFilter(x);
+
+ // Add final results
+ allTags.filter(fil).forEach(t => {
+ let result = new AutocompleteResult(t[0].trim(), ResultType.tag)
+ result.category = t[1];
+ result.count = t[2];
+ result.aliases = t[3];
+ results.push(result);
+ });
+
+ // Add extras
+ if (TAC_CFG.extra.extraFile) {
+ let extraResults = [];
+
+ extras.filter(fil).forEach(e => {
+ let result = new AutocompleteResult(e[0].trim(), ResultType.extra)
+ result.category = e[1] || 0; // If no category is given, use 0 as the default
+ result.meta = e[2] || "Custom tag";
+ result.aliases = e[3] || "";
+ extraResults.push(result);
+ });
+
+ if (TAC_CFG.extra.addMode === "Insert before") {
+ results = extraResults.concat(results);
+ } else {
+ results = results.concat(extraResults);
+ }
+ }
+
+ // Slice if the user has set a max result count
+ if (!TAC_CFG.showAllResults) {
+ results = results.slice(0, TAC_CFG.maxResults + resultCountBeforeNormalTags);
+ }
+ }
+
+ // Guard for empty results
+ if (!results || results.length === 0) {
+ //console.log('No results found for "' + tagword + '"');
+ hideResults(textArea);
+ return;
+ }
+
+ addResultsToList(textArea, results, tagword, true);
+ showResults(textArea);
+}
+
+function navigateInList(textArea, event) {
+ // Return if the function is deactivated in the UI or the current model is excluded due to white/blacklist settings
+ if (!isEnabled()) return;
+
+ let keys = TAC_CFG.keymap;
+
+ // Close window if Home or End is pressed while not a keybinding, since it would break completion on leaving the original tag
+ if ((event.key === "Home" || event.key === "End") && !Object.values(keys).includes(event.key)) {
+ hideResults(textArea);
+ return;
+ }
+
+ // All set keys that are not None or empty are valid
+ // Default keys are: ArrowUp, ArrowDown, PageUp, PageDown, Home, End, Enter, Tab, Escape
+ validKeys = Object.values(keys).filter(x => x !== "None" && x !== "");
+
+ if (!validKeys.includes(event.key)) return;
+ if (!isVisible(textArea)) return
+ // Return if ctrl key is pressed to not interfere with weight editing shortcut
+ if (event.ctrlKey || event.altKey || event.shiftKey || event.metaKey) return;
+
+ oldSelectedTag = selectedTag;
+
+ switch (event.key) {
+ case keys["MoveUp"]:
+ if (selectedTag === null) {
+ selectedTag = resultCount - 1;
+ } else {
+ selectedTag = (selectedTag - 1 + resultCount) % resultCount;
+ }
+ break;
+ case keys["MoveDown"]:
+ if (selectedTag === null) {
+ selectedTag = 0;
+ } else {
+ selectedTag = (selectedTag + 1) % resultCount;
+ }
+ break;
+ case keys["JumpUp"]:
+ if (selectedTag === null || selectedTag === 0) {
+ selectedTag = resultCount - 1;
+ } else {
+ selectedTag = (Math.max(selectedTag - 5, 0) + resultCount) % resultCount;
+ }
+ break;
+ case keys["JumpDown"]:
+ if (selectedTag === null || selectedTag === resultCount - 1) {
+ selectedTag = 0;
+ } else {
+ selectedTag = Math.min(selectedTag + 5, resultCount - 1) % resultCount;
+ }
+ break;
+ case keys["JumpToStart"]:
+ if (TAC_CFG.includeEmbeddingsInNormalResults &&
+ selectedTag > resultCountBeforeNormalTags &&
+ resultCountBeforeNormalTags > 0
+ ) {
+ selectedTag = resultCountBeforeNormalTags;
+ } else {
+ selectedTag = 0;
+ }
+ break;
+ case keys["JumpToEnd"]:
+ // Jump to the end of the list, or the end of embeddings if they are included in the normal results
+ if (TAC_CFG.includeEmbeddingsInNormalResults &&
+ selectedTag < resultCountBeforeNormalTags &&
+ resultCountBeforeNormalTags > 0
+ ) {
+ selectedTag = Math.min(resultCountBeforeNormalTags, resultCount - 1);
+ } else {
+ selectedTag = resultCount - 1;
+ }
+ break;
+ case keys["ChooseSelected"]:
+ if (selectedTag !== null) {
+ insertTextAtCursor(textArea, results[selectedTag], tagword);
+ } else {
+ hideResults(textArea);
+ return;
+ }
+ break;
+ case keys["ChooseFirstOrSelected"]:
+ let withoutChoice = false;
+ if (selectedTag === null) {
+ selectedTag = 0;
+ withoutChoice = true;
+ } else if (TAC_CFG.wildcardCompletionMode === "To next folder level") {
+ withoutChoice = true;
+ }
+ insertTextAtCursor(textArea, results[selectedTag], tagword, withoutChoice);
+ break;
+ case keys["Close"]:
+ hideResults(textArea);
+ break;
+ }
+ let moveKeys = [keys["MoveUp"], keys["MoveDown"], keys["JumpUp"], keys["JumpDown"], keys["JumpToStart"], keys["JumpToEnd"]];
+ if (selectedTag === resultCount - 1 && moveKeys.includes(event.key)) {
+ addResultsToList(textArea, results, tagword, false);
+ }
+ // Update highlighting
+ if (selectedTag !== null)
+ updateSelectionStyle(textArea, selectedTag, oldSelectedTag);
+
+ // Prevent default behavior
+ event.preventDefault();
+ event.stopPropagation();
+}
+
+async function refreshTacTempFiles(api = false) {
+ const reload = async () => {
+ wildcardFiles = [];
+ wildcardExtFiles = [];
+ umiWildcards = [];
+ embeddings = [];
+ hypernetworks = [];
+ loras = [];
+ lycos = [];
+ modelKeywordDict.clear();
+ await processQueue(QUEUE_FILE_LOAD, null);
+
+ console.log("TAC: Refreshed temp files");
+ }
+
+ if (api) {
+ await postAPI("tacapi/v1/refresh-temp-files", null);
+ await reload();
+ } else {
+ setTimeout(async () => {
+ await reload();
+ }, 2000);
+ }
+}
+
+function addAutocompleteToArea(area) {
+ // Return if autocomplete is disabled for the current area type in config
+ let textAreaId = getTextAreaIdentifier(area);
+ if ((!TAC_CFG.activeIn.img2img && textAreaId.includes("img2img"))
+ || (!TAC_CFG.activeIn.txt2img && textAreaId.includes("txt2img"))
+ || (!TAC_CFG.activeIn.negativePrompts && textAreaId.includes("n"))
+ || (!TAC_CFG.activeIn.thirdParty && textAreaId.includes("thirdParty"))) {
+ return;
+ }
+
+ // Only add listeners once
+ if (!area.classList.contains('autocomplete')) {
+ // Add our new element
+ var resultsDiv = createResultsDiv(area);
+ area.parentNode.insertBefore(resultsDiv, area.nextSibling);
+ // Hide by default so it doesn't show up on page load
+ hideResults(area);
+
+ // Add autocomplete event listener
+ area.addEventListener('input', (e) => {
+ updateRuby(area, area.value);
+
+ // Cancel autocomplete itself if the event has no inputType (e.g. because it was triggered by the updateInput() function)
+ if (!e.inputType && !tacSelfTrigger) return;
+ tacSelfTrigger = false;
+
+ debounce(autocomplete(area, area.value), TAC_CFG.delayTime);
+ checkKeywordInsertionUndo(area, e);
+ });
+ // Add focusout event listener
+ area.addEventListener('focusout', debounce(() => {
+ if (!hideBlocked)
+ hideResults(area);
+ }, 400));
+ // Add up and down arrow event listener
+ area.addEventListener('keydown', (e) => navigateInList(area, e));
+ // CompositionEnd fires after the user has finished IME composing
+ // We need to block hide here to prevent the enter key from insta-closing the results
+ area.addEventListener('compositionend', () => {
+ hideBlocked = true;
+ setTimeout(() => { hideBlocked = false; }, 100);
+ });
+
+ // Add class so we know we've already added the listeners
+ area.classList.add('autocomplete');
+ }
+}
+
+// One-time setup, triggered from onUiUpdate
+async function setup() {
+ // Load external files needed by completion extensions
+ await processQueue(QUEUE_FILE_LOAD, null);
+
+ // Find all textareas
+ let textAreas = getTextAreas();
+
+ // Add mutation observer to accordions inside a base that has onDemand set to true
+ addOnDemandObservers(addAutocompleteToArea);
+
+ // Add event listener to apply settings button so we can mirror the changes to our internal config
+ let applySettingsButton = gradioApp().querySelector("#tab_settings #settings_submit") || gradioApp().querySelector("#tab_settings > div > .gr-button-primary");
+ applySettingsButton?.addEventListener("click", () => {
+ // Wait 500ms to make sure the settings have been applied to the webui opts object
+ setTimeout(async () => {
+ await syncOptions();
+ }, 500);
+ });
+ // Add change listener to our quicksettings to change our internal config without the apply button for them
+ let quicksettings = gradioApp().querySelector('#quicksettings');
+ let commonQueryPart = "[id^=setting_tac] > label";
+ quicksettings?.querySelectorAll(`${commonQueryPart} input, ${commonQueryPart} textarea, ${commonQueryPart} select`).forEach(e => {
+ e.addEventListener("change", () => {
+ setTimeout(async () => {
+ await syncOptions();
+ }, 500);
+ });
+ });
+ quicksettings?.querySelectorAll(`[id^=setting_tac].gradio-dropdown input`).forEach(e => {
+ observeElement(e, "value", () => {
+ setTimeout(async () => {
+ await syncOptions();
+ }, 500);
+ })
+ });
+ // Listener for internal temp files refresh button
+ gradioApp().querySelector("#refresh_tac_refreshTempFiles")?.addEventListener("click", refreshTacTempFiles);
+
+ // Also add listener for external network refresh button (plus triggering python code)
+ ["#img2img_extra_refresh", "#txt2img_extra_refresh"].forEach(e => {
+ gradioApp().querySelector(e)?.addEventListener("click", ()=>{
+ refreshTacTempFiles(true);
+ });
+ })
+
+ // Add mutation observer for the model hash text to also allow hash-based blacklist again
+ let modelHashText = gradioApp().querySelector("#sd_checkpoint_hash");
+ updateModelName();
+ if (modelHashText) {
+ currentModelHash = modelHashText.title
+ let modelHashObserver = new MutationObserver((mutationList, observer) => {
+ for (const mutation of mutationList) {
+ if (mutation.type === "attributes" && mutation.attributeName === "title") {
+ currentModelHash = mutation.target.title;
+ updateModelName();
+ }
+ }
+ });
+ modelHashObserver.observe(modelHashText, { attributes: true });
+ }
+
+ // Not found, we're on a page without prompt textareas
+ if (textAreas.every(v => v === null || v === undefined)) return;
+ // Already added or unnecessary to add
+ if (gradioApp().querySelector('.autocompleteParent.p')) {
+ if (gradioApp().querySelector('.autocompleteParent.n') || !TAC_CFG.activeIn.negativePrompts) {
+ return;
+ }
+ } else if (!TAC_CFG.activeIn.txt2img && !TAC_CFG.activeIn.img2img) {
+ return;
+ }
+
+ textAreas.forEach(area => addAutocompleteToArea(area));
+
+ // Add style to dom
+ let acStyle = document.createElement('style');
+ let mode = (document.querySelector(".dark") || gradioApp().querySelector(".dark")) ? 0 : 1;
+ // Check if we are on webkit
+ let browser = navigator.userAgent.toLowerCase().indexOf('firefox') > -1 ? "firefox" : "other";
+
+ let css = autocompleteCSS;
+ // Replace vars with actual values (can't use actual css vars because of the way we inject the css)
+ Object.keys(styleColors).forEach((key) => {
+ css = css.replaceAll(`var(${key})`, styleColors[key][mode]);
+ })
+ Object.keys(browserVars).forEach((key) => {
+ css = css.replaceAll(`var(${key})`, browserVars[key][browser]);
+ })
+
+ if (acStyle.styleSheet) {
+ acStyle.styleSheet.cssText = css;
+ } else {
+ acStyle.appendChild(document.createTextNode(css));
+ }
+ gradioApp().appendChild(acStyle);
+
+ // Callback
+ await processQueue(QUEUE_AFTER_SETUP, null);
+}
+var tacLoading = false;
+onUiUpdate(async () => {
+ if (tacLoading) return;
+ if (Object.keys(opts).length === 0) return;
+ if (TAC_CFG) return;
+ tacLoading = true;
+ // Get our tag base path from the temp file
+ tagBasePath = await readFile(`tmp/tagAutocompletePath.txt`);
+ // Load config from webui opts
+ await syncOptions();
+ // Rest of setup
+ setup();
+ tacLoading = false;
+});
diff --git a/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/scripts/__pycache__/model_keyword_support.cpython-310.pyc b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/scripts/__pycache__/model_keyword_support.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..495aaefe00f7b016c78f85e305c35b3cee8d5e68
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/scripts/__pycache__/model_keyword_support.cpython-310.pyc differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/scripts/__pycache__/shared_paths.cpython-310.pyc b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/scripts/__pycache__/shared_paths.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..86fe07f2d2bef3ca778cef44c05274ab87ce53b8
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/scripts/__pycache__/shared_paths.cpython-310.pyc differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/scripts/__pycache__/tag_autocomplete_helper.cpython-310.pyc b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/scripts/__pycache__/tag_autocomplete_helper.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..23d599c2bd6167ca37882840e1049ac4df4f6b39
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/scripts/__pycache__/tag_autocomplete_helper.cpython-310.pyc differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/scripts/model_keyword_support.py b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/scripts/model_keyword_support.py
new file mode 100644
index 0000000000000000000000000000000000000000..43c8f38a80cb7b4d16cba08c24aff30ec892bef1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/scripts/model_keyword_support.py
@@ -0,0 +1,81 @@
+# This file provides support for the model-keyword extension to add known lora keywords on completion
+
+import csv
+import hashlib
+from pathlib import Path
+
+from scripts.shared_paths import EXT_PATH, STATIC_TEMP_PATH, TEMP_PATH
+
+# Set up our hash cache
+known_hashes_file = TEMP_PATH.joinpath("known_lora_hashes.txt")
+known_hashes_file.touch()
+file_needs_update = False
+
+# Load the hashes from the file
+hash_dict = {}
+
+
+def load_hash_cache():
+ with open(known_hashes_file, "r", encoding="utf-8") as file:
+ reader = csv.reader(
+ file.readlines(), delimiter=",", quotechar='"', skipinitialspace=True
+ )
+ for line in reader:
+ name, hash, mtime = line
+ hash_dict[name] = (hash, mtime)
+
+
+def update_hash_cache():
+ global file_needs_update
+ if file_needs_update:
+ with open(known_hashes_file, "w", encoding="utf-8", newline='') as file:
+ writer = csv.writer(file)
+ for name, (hash, mtime) in hash_dict.items():
+ writer.writerow([name, hash, mtime])
+
+
+# Copy of the fast inaccurate hash function from the extension
+# with some modifications to load from and write to the cache
+def get_lora_simple_hash(path):
+ global file_needs_update
+ mtime = str(Path(path).stat().st_mtime)
+ filename = Path(path).name
+
+ if filename in hash_dict:
+ (hash, old_mtime) = hash_dict[filename]
+ if mtime == old_mtime:
+ return hash
+ try:
+ with open(path, "rb") as file:
+ m = hashlib.sha256()
+
+ file.seek(0x100000)
+ m.update(file.read(0x10000))
+ hash = m.hexdigest()[0:8]
+
+ hash_dict[filename] = (hash, mtime)
+ file_needs_update = True
+
+ return hash
+ except FileNotFoundError:
+ return "NOFILE"
+
+
+# Find the path of the original model-keyword extension
+def write_model_keyword_path():
+ # Ensure the file exists even if the extension is not installed
+ mk_path = STATIC_TEMP_PATH.joinpath("modelKeywordPath.txt")
+ mk_path.write_text("")
+
+ base_keywords = list(EXT_PATH.glob("*/lora-keyword.txt"))
+ custom_keywords = list(EXT_PATH.glob("*/lora-keyword-user.txt"))
+ custom_found = custom_keywords is not None and len(custom_keywords) > 0
+ if base_keywords is not None and len(base_keywords) > 0:
+ with open(mk_path, "w", encoding="utf-8") as f:
+ f.write(f"{base_keywords[0].parent.as_posix()},{custom_found}")
+ return True
+ else:
+ print(
+ "Tag Autocomplete: Could not locate model-keyword extension, Lora trigger word completion will be limited to those added through the extra networks menu."
+ )
+ return False
diff --git a/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/scripts/shared_paths.py b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/scripts/shared_paths.py
new file mode 100644
index 0000000000000000000000000000000000000000..971fbc947263f6dcfd203805ad77ca6cb993b0bc
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/scripts/shared_paths.py
@@ -0,0 +1,71 @@
+from pathlib import Path
+
+from modules import scripts, shared
+
+try:
+ from modules.paths import extensions_dir, script_path
+
+ # Webui root path
+ FILE_DIR = Path(script_path)
+
+ # The extension base path
+ EXT_PATH = Path(extensions_dir)
+except ImportError:
+ # Webui root path
+ FILE_DIR = Path().absolute()
+ # The extension base path
+ EXT_PATH = FILE_DIR.joinpath("extensions")
+
+# Tags base path
+TAGS_PATH = Path(scripts.basedir()).joinpath("tags")
+
+# The path to the folder containing the wildcards and embeddings
+WILDCARD_PATH = FILE_DIR.joinpath("scripts/wildcards")
+EMB_PATH = Path(shared.cmd_opts.embeddings_dir)
+HYP_PATH = Path(shared.cmd_opts.hypernetwork_dir)
+
+try:
+ LORA_PATH = Path(shared.cmd_opts.lora_dir)
+except AttributeError:
+ LORA_PATH = None
+
+try:
+ LYCO_PATH = Path(shared.cmd_opts.lyco_dir_backcompat)
+except AttributeError:
+ LYCO_PATH = None
+
+
+def find_ext_wildcard_paths():
+ """Returns the path to the extension wildcards folder"""
+ found = list(EXT_PATH.glob("*/wildcards/"))
+ # Try to find the wildcard path from the shared opts
+ try:
+ from modules.shared import opts
+ except ImportError: # likely not in an a1111 context
+ opts = None
+
+ # Append custom wildcard paths
+ custom_paths = [
+ getattr(shared.cmd_opts, "wildcards_dir", None), # Cmd arg from the wildcard extension
+ getattr(opts, "wildcard_dir", None), # Custom path from sd-dynamic-prompts
+ ]
+ for path in [Path(p) for p in custom_paths if p is not None]:
+ if path.exists():
+ found.append(path)
+
+ return found
+
+
+# The path to the extension wildcards folder
+WILDCARD_EXT_PATHS = find_ext_wildcard_paths()
+
+# The path to the temporary files
+# In the webui root, on windows it exists by default, on linux it doesn't
+STATIC_TEMP_PATH = FILE_DIR.joinpath("tmp")
+TEMP_PATH = TAGS_PATH.joinpath("temp") # Extension specific temp files
+
+# Make sure these folders exist
+if not TEMP_PATH.exists():
+ TEMP_PATH.mkdir()
+if not STATIC_TEMP_PATH.exists():
+ STATIC_TEMP_PATH.mkdir()
diff --git a/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/scripts/tag_autocomplete_helper.py b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/scripts/tag_autocomplete_helper.py
new file mode 100644
index 0000000000000000000000000000000000000000..9641d5a879dbbf65907ce0dfb108dd75583503b2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/scripts/tag_autocomplete_helper.py
@@ -0,0 +1,568 @@
+# This helper script scans folders for wildcards and embeddings and writes them
+# to a temporary file to expose it to the javascript side
+
+import glob
+import json
+import urllib.parse
+from pathlib import Path
+
+import gradio as gr
+import yaml
+from fastapi import FastAPI
+from fastapi.responses import FileResponse, JSONResponse
+from modules import script_callbacks, sd_hijack, shared, hashes
+
+from scripts.model_keyword_support import (get_lora_simple_hash,
+ load_hash_cache, update_hash_cache,
+ write_model_keyword_path)
+from scripts.shared_paths import *
+
+# Attempt to get embedding load function, using the same call as api.
+try:
+ load_textual_inversion_embeddings = sd_hijack.model_hijack.embedding_db.load_textual_inversion_embeddings
+except Exception as e: # Not supported.
+ load_textual_inversion_embeddings = lambda *args, **kwargs: None
+ print("Tag Autocomplete: Cannot reload embeddings instantly:", e)
+
+# Sorting functions for extra networks / embeddings stuff
+sort_criteria = {
+ "Name": lambda path, name, subpath: name.lower() if subpath else path.stem.lower(),
+ "Date Modified (newest first)": lambda path, name, subpath: path.stat().st_mtime,
+ "Date Modified (oldest first)": lambda path, name, subpath: path.stat().st_mtime
+}
+
+def sort_models(model_list, sort_method = None, name_has_subpath = False):
+ """Sorts models according to the setting.
+
+ Input: list of (full_path, display_name, {hash}) models.
+ Returns models in the format of name, sort key, meta.
+ Meta is optional and can be a hash, version string or other required info.
+ """
+ if len(model_list) == 0:
+ return model_list
+
+ if sort_method is None:
+ sort_method = getattr(shared.opts, "tac_modelSortOrder", "Name")
+
+ # Get sorting method from dictionary
+ sorter = sort_criteria.get(sort_method, sort_criteria["Name"])
+
+ # During merging on the JS side we need to re-sort anyway, so here only the sort criteria are calculated.
+ # The list itself doesn't need to get sorted at this point.
+ if len(model_list[0]) > 2:
+ results = [f'{name},"{sorter(path, name, name_has_subpath)}",{meta}' for path, name, meta in model_list]
+ else:
+ results = [f'{name},"{sorter(path, name, name_has_subpath)}"' for path, name in model_list]
+ return results
+
+
+def get_wildcards():
+ """Returns a list of all wildcards. Works on nested folders."""
+ wildcard_files = list(WILDCARD_PATH.rglob("*.txt"))
+ resolved = [(w, w.relative_to(WILDCARD_PATH).as_posix())
+ for w in wildcard_files
+ if w.name != "put wildcards here.txt"]
+ return sort_models(resolved, name_has_subpath=True)
+
+
+def get_ext_wildcards():
+ """Returns a list of all extension wildcards. Works on nested folders."""
+ wildcard_files = []
+
+ for path in WILDCARD_EXT_PATHS:
+ wildcard_files.append(path.as_posix())
+ resolved = [(w, w.relative_to(path).as_posix())
+ for w in path.rglob("*.txt")
+ if w.name != "put wildcards here.txt"]
+ wildcard_files.extend(sort_models(resolved, name_has_subpath=True))
+ wildcard_files.append("-----")
+
+ return wildcard_files
+
+def is_umi_format(data):
+ """Returns True if the YAML file is in UMI format."""
+ issue_found = False
+ for item in data:
+ if not (data[item] and 'Tags' in data[item] and isinstance(data[item]['Tags'], list)):
+ issue_found = True
+ break
+ return not issue_found
+
+count = 0
+def parse_umi_format(umi_tags, data):
+ global count
+ for item in data:
+ umi_tags[count] = ','.join(data[item]['Tags'])
+ count += 1
+
+
+def parse_dynamic_prompt_format(yaml_wildcards, data, path):
+ # Recurse subkeys, delete those without string lists as values
+ def recurse_dict(d: dict):
+ for key, value in d.copy().items():
+ if isinstance(value, dict):
+ recurse_dict(value)
+ elif not (isinstance(value, list) and all(isinstance(v, str) for v in value)):
+ del d[key]
+
+ recurse_dict(data)
+ # Add to yaml_wildcards
+ yaml_wildcards[path.name] = data
+
+
+def get_yaml_wildcards():
+ """Returns a list of all tags found in extension YAML files found under a Tags: key."""
+ yaml_files = []
+ for path in WILDCARD_EXT_PATHS:
+ yaml_files.extend(p for p in path.rglob("*.yml"))
+ yaml_files.extend(p for p in path.rglob("*.yaml"))
+
+ yaml_wildcards = {}
+
+ umi_tags = {} # { tag: count }
+
+ for path in yaml_files:
+ try:
+ with open(path, encoding="utf8") as file:
+ data = yaml.safe_load(file)
+ if (data):
+ if (is_umi_format(data)):
+ parse_umi_format(umi_tags, data)
+ else:
+ parse_dynamic_prompt_format(yaml_wildcards, data, path)
+ else:
+ print('No data found in ' + path.name)
+ except (yaml.YAMLError, UnicodeDecodeError) as e:
+ print(f'Issue in parsing YAML file {path.name}: {e}')
+ continue
+
+ # Sort by count
+ umi_sorted = sorted(umi_tags.items(), key=lambda item: item[1], reverse=True)
+ umi_output = []
+ for tag, count in umi_sorted:
+ umi_output.append(f"{tag},{count}")
+
+ if (len(umi_output) > 0):
+ write_to_temp_file('umi_tags.txt', umi_output)
+
+ with open(TEMP_PATH.joinpath("wc_yaml.json"), "w", encoding="utf-8") as file:
+ json.dump(yaml_wildcards, file, ensure_ascii=False)
+
+
+def get_embeddings(sd_model):
+ """Write a list of all embeddings with their version"""
+
+ # Version constants
+ V1_SHAPE = 768
+ V2_SHAPE = 1024
+ VXL_SHAPE = 2048
+ emb_v1 = []
+ emb_v2 = []
+ emb_vXL = []
+ results = []
+
+ try:
+ # Get embedding dict from sd_hijack to separate v1/v2 embeddings
+ loaded = sd_hijack.model_hijack.embedding_db.word_embeddings
+ skipped = sd_hijack.model_hijack.embedding_db.skipped_embeddings
+
+ # Add embeddings to the correct list
+ for key, emb in (loaded | skipped).items():
+ if emb.filename is None or emb.shape is None:
+ continue
+
+ if emb.shape == V1_SHAPE:
+ emb_v1.append((Path(emb.filename), key, "v1"))
+ elif emb.shape == V2_SHAPE:
+ emb_v2.append((Path(emb.filename), key, "v2"))
+ elif emb.shape == VXL_SHAPE:
+ emb_vXL.append((Path(emb.filename), key, "vXL"))
+
+ results = sort_models(emb_v1) + sort_models(emb_v2) + sort_models(emb_vXL)
+ except AttributeError:
+ print("tag_autocomplete_helper: Old webui version or unrecognized model shape, using fallback for embedding completion.")
+ # Get a list of all embeddings in the folder
+ all_embeds = [str(e.relative_to(EMB_PATH)) for e in EMB_PATH.rglob("*") if e.suffix in {".bin", ".pt", ".png",'.webp', '.jxl', '.avif'}]
+ # Remove files with a size of 0
+ all_embeds = [e for e in all_embeds if EMB_PATH.joinpath(e).stat().st_size > 0]
+ # Remove file extensions
+ all_embeds = [e[:e.rfind('.')] for e in all_embeds]
+ results = [e + "," for e in all_embeds]
+
+ write_to_temp_file('emb.txt', results)
+
+def get_hypernetworks():
+ """Write a list of all hypernetworks"""
+
+ # Get a list of all hypernetworks in the folder
+ hyp_paths = [Path(h) for h in glob.glob(HYP_PATH.joinpath("**/*").as_posix(), recursive=True)]
+ all_hypernetworks = [(h, h.stem) for h in hyp_paths if h.suffix in {".pt"}]
+ return sort_models(all_hypernetworks)
+
+model_keyword_installed = write_model_keyword_path()
+def get_lora():
+ """Write a list of all lora"""
+ global model_keyword_installed
+
+ # Get a list of all lora in the folder
+ lora_paths = [Path(l) for l in glob.glob(LORA_PATH.joinpath("**/*").as_posix(), recursive=True)]
+ # Get hashes
+ valid_loras = [lf for lf in lora_paths if lf.suffix in {".safetensors", ".ckpt", ".pt"}]
+ loras_with_hash = []
+ for l in valid_loras:
+ name = l.relative_to(LORA_PATH).as_posix()
+ if model_keyword_installed:
+ hash = get_lora_simple_hash(l)
+ else:
+ hash = ""
+ loras_with_hash.append((l, name, hash))
+ # Sort
+ return sort_models(loras_with_hash)
+
+
+def get_lyco():
+ """Write a list of all LyCORIS/LOHA from https://github.com/KohakuBlueleaf/a1111-sd-webui-lycoris"""
+
+ # Get a list of all LyCORIS in the folder
+ lyco_paths = [Path(ly) for ly in glob.glob(LYCO_PATH.joinpath("**/*").as_posix(), recursive=True)]
+
+ # Get hashes
+ valid_lycos = [lyf for lyf in lyco_paths if lyf.suffix in {".safetensors", ".ckpt", ".pt"}]
+ lycos_with_hash = []
+ for ly in valid_lycos:
+ name = ly.relative_to(LYCO_PATH).as_posix()
+ if model_keyword_installed:
+ hash = get_lora_simple_hash(ly)
+ else:
+ hash = ""
+ lycos_with_hash.append((ly, name, hash))
+ # Sort
+ return sort_models(lycos_with_hash)
+
+def write_tag_base_path():
+ """Writes the tag base path to a fixed location temporary file"""
+ with open(STATIC_TEMP_PATH.joinpath('tagAutocompletePath.txt'), 'w', encoding="utf-8") as f:
+ f.write(TAGS_PATH.as_posix())
+
+
+def write_to_temp_file(name, data):
+ """Writes the given data to a temporary file"""
+ with open(TEMP_PATH.joinpath(name), 'w', encoding="utf-8") as f:
+ f.write(('\n'.join(data)))
+
+
+csv_files = []
+csv_files_withnone = []
+def update_tag_files():
+ """Returns a list of all potential tag files"""
+ global csv_files, csv_files_withnone
+ files = [str(t.relative_to(TAGS_PATH)) for t in TAGS_PATH.glob("*.csv")]
+ csv_files = files
+ csv_files_withnone = ["None"] + files
+
+json_files = []
+json_files_withnone = []
+def update_json_files():
+ """Returns a list of all potential json files"""
+ global json_files, json_files_withnone
+ files = [str(j.relative_to(TAGS_PATH)) for j in TAGS_PATH.glob("*.json")]
+ json_files = files
+ json_files_withnone = ["None"] + files
+
+
+# Write the tag base path to a fixed location temporary file
+# to enable the javascript side to find our files regardless of extension folder name
+if not STATIC_TEMP_PATH.exists():
+ STATIC_TEMP_PATH.mkdir(exist_ok=True)
+
+write_tag_base_path()
+update_tag_files()
+update_json_files()
+
+# Check if the temp path exists and create it if not
+if not TEMP_PATH.exists():
+ TEMP_PATH.mkdir(parents=True, exist_ok=True)
+
+# Set up files to ensure the script doesn't fail to load them
+# even if no wildcards or embeddings are found
+write_to_temp_file('wc.txt', [])
+write_to_temp_file('wce.txt', [])
+write_to_temp_file('wc_yaml.json', [])
+write_to_temp_file('umi_tags.txt', [])
+write_to_temp_file('hyp.txt', [])
+write_to_temp_file('lora.txt', [])
+write_to_temp_file('lyco.txt', [])
+# Only reload embeddings if the file doesn't exist, since they are already re-written on model load
+if not TEMP_PATH.joinpath("emb.txt").exists():
+ write_to_temp_file('emb.txt', [])
+
+# Write embeddings to emb.txt if found
+if EMB_PATH.exists():
+ # Get embeddings after the model loaded callback
+ script_callbacks.on_model_loaded(get_embeddings)
+
+def refresh_temp_files():
+ global WILDCARD_EXT_PATHS
+ WILDCARD_EXT_PATHS = find_ext_wildcard_paths()
+ load_textual_inversion_embeddings(force_reload = True) # Instant embedding reload.
+ write_temp_files()
+ get_embeddings(shared.sd_model)
+
+def write_temp_files():
+ # Write wildcards to wc.txt if found
+ if WILDCARD_PATH.exists():
+ wildcards = [WILDCARD_PATH.relative_to(FILE_DIR).as_posix()] + get_wildcards()
+ if wildcards:
+ write_to_temp_file('wc.txt', wildcards)
+
+ # Write extension wildcards to wce.txt if found
+ if WILDCARD_EXT_PATHS is not None:
+ wildcards_ext = get_ext_wildcards()
+ if wildcards_ext:
+ write_to_temp_file('wce.txt', wildcards_ext)
+ # Write yaml extension wildcards to umi_tags.txt and wc_yaml.json if found
+ get_yaml_wildcards()
+
+ if HYP_PATH.exists():
+ hypernets = get_hypernetworks()
+ if hypernets:
+ write_to_temp_file('hyp.txt', hypernets)
+
+ if model_keyword_installed:
+ load_hash_cache()
+
+ lora_exists = LORA_PATH is not None and LORA_PATH.exists()
+ if lora_exists:
+ lora = get_lora()
+ if lora:
+ write_to_temp_file('lora.txt', lora)
+
+ lyco_exists = LYCO_PATH is not None and LYCO_PATH.exists()
+ if lyco_exists and not (lora_exists and LYCO_PATH.samefile(LORA_PATH)):
+ lyco = get_lyco()
+ if lyco:
+ write_to_temp_file('lyco.txt', lyco)
+ elif lyco_exists and lora_exists and LYCO_PATH.samefile(LORA_PATH):
+ print("tag_autocomplete_helper: LyCORIS path is the same as LORA path, skipping")
+
+ if model_keyword_installed:
+ update_hash_cache()
+
+
+write_temp_files()
+
+# Register autocomplete options
+def on_ui_settings():
+ TAC_SECTION = ("tac", "Tag Autocomplete")
+
+ # Backwards compatibility for pre 1.3.0 webui versions
+ if not (hasattr(shared.OptionInfo, "info") and callable(getattr(shared.OptionInfo, "info"))):
+ def info(self, info):
+ self.label += f" ({info})"
+ return self
+ shared.OptionInfo.info = info
+ if not (hasattr(shared.OptionInfo, "needs_restart") and callable(getattr(shared.OptionInfo, "needs_restart"))):
+ def needs_restart(self):
+ self.label += " (Requires restart)"
+ return self
+ shared.OptionInfo.needs_restart = needs_restart
+
+ tac_options = {
+ # Main tag file
+ "tac_tagFile": shared.OptionInfo("danbooru.csv", "Tag filename", gr.Dropdown, lambda: {"choices": csv_files_withnone}, refresh=update_tag_files),
+ # Active in settings
+ "tac_active": shared.OptionInfo(True, "Enable Tag Autocompletion"),
+ "tac_activeIn.txt2img": shared.OptionInfo(True, "Active in txt2img").needs_restart(),
+ "tac_activeIn.img2img": shared.OptionInfo(True, "Active in img2img").needs_restart(),
+ "tac_activeIn.negativePrompts": shared.OptionInfo(True, "Active in negative prompts").needs_restart(),
+ "tac_activeIn.thirdParty": shared.OptionInfo(True, "Active in third party textboxes").info("See README for supported extensions").needs_restart(),
+ "tac_activeIn.modelList": shared.OptionInfo("", "Black/Whitelist models").info("Model names [with file extension] or their hashes, separated by commas"),
+ "tac_activeIn.modelListMode": shared.OptionInfo("Blacklist", "Mode to use for model list", gr.Dropdown, lambda: {"choices": ["Blacklist","Whitelist"]}),
+ # Results related settings
+ "tac_slidingPopup": shared.OptionInfo(True, "Move completion popup together with text cursor"),
+ "tac_maxResults": shared.OptionInfo(5, "Maximum results"),
+ "tac_showAllResults": shared.OptionInfo(False, "Show all results"),
+ "tac_resultStepLength": shared.OptionInfo(100, "How many results to load at once"),
+ "tac_delayTime": shared.OptionInfo(100, "Time in ms to wait before triggering completion again").needs_restart(),
+ "tac_useWildcards": shared.OptionInfo(True, "Search for wildcards"),
+ "tac_sortWildcardResults": shared.OptionInfo(True, "Sort wildcard file contents alphabetically").info("If your wildcard files have a specific custom order, disable this to keep it"),
+ "tac_useEmbeddings": shared.OptionInfo(True, "Search for embeddings"),
+ "tac_includeEmbeddingsInNormalResults": shared.OptionInfo(False, "Include embeddings in normal tag results").info("The 'JumpTo...' keybinds (End & Home key by default) will select the first non-embedding result of their direction on the first press for quick navigation in longer lists."),
+ "tac_useHypernetworks": shared.OptionInfo(True, "Search for hypernetworks"),
+ "tac_useLoras": shared.OptionInfo(True, "Search for Loras"),
+ "tac_useLycos": shared.OptionInfo(True, "Search for LyCORIS/LoHa"),
+ "tac_showWikiLinks": shared.OptionInfo(False, "Show '?' next to tags, linking to its Danbooru or e621 wiki page").info("Warning: This is an external site and very likely contains NSFW examples!"),
+ "tac_showExtraNetworkPreviews": shared.OptionInfo(True, "Show preview thumbnails for extra networks if available"),
+ "tac_modelSortOrder": shared.OptionInfo("Name", "Model sort order", gr.Dropdown, lambda: {"choices": list(sort_criteria.keys())}).info("Order for extra network models and wildcards in dropdown"),
+ # Insertion related settings
+ "tac_replaceUnderscores": shared.OptionInfo(True, "Replace underscores with spaces on insertion"),
+ "tac_escapeParentheses": shared.OptionInfo(True, "Escape parentheses on insertion"),
+ "tac_appendComma": shared.OptionInfo(True, "Append comma on tag autocompletion"),
+ "tac_appendSpace": shared.OptionInfo(True, "Append space on tag autocompletion").info("will append after comma if the above is enabled"),
+ "tac_alwaysSpaceAtEnd": shared.OptionInfo(True, "Always append space if inserting at the end of the textbox").info("takes precedence over the regular space setting for that position"),
+ "tac_modelKeywordCompletion": shared.OptionInfo("Never", "Try to add known trigger words for LORA/LyCO models", gr.Dropdown, lambda: {"choices": ["Never","Only user list","Always"]}).info("Will use & prefer the native activation keywords settable in the extra networks UI. Other functionality requires the model-keyword extension to be installed, but will work with it disabled.").needs_restart(),
+ "tac_modelKeywordLocation": shared.OptionInfo("Start of prompt", "Where to insert the trigger keyword", gr.Dropdown, lambda: {"choices": ["Start of prompt","End of prompt","Before LORA/LyCO"]}).info("Only relevant if the above option is enabled"),
+ "tac_wildcardCompletionMode": shared.OptionInfo("To next folder level", "How to complete nested wildcard paths", gr.Dropdown, lambda: {"choices": ["To next folder level","To first difference","Always fully"]}).info("e.g. \"hair/colours/light/...\""),
+ # Alias settings
+ "tac_alias.searchByAlias": shared.OptionInfo(True, "Search by alias"),
+ "tac_alias.onlyShowAlias": shared.OptionInfo(False, "Only show alias"),
+ # Translation settings
+ "tac_translation.translationFile": shared.OptionInfo("None", "Translation filename", gr.Dropdown, lambda: {"choices": csv_files_withnone}, refresh=update_tag_files),
+ "tac_translation.oldFormat": shared.OptionInfo(False, "Translation file uses old 3-column translation format instead of the new 2-column one"),
+ "tac_translation.searchByTranslation": shared.OptionInfo(True, "Search by translation"),
+ "tac_translation.liveTranslation": shared.OptionInfo(False, "Show live tag translation below prompt ").info("WIP, expect some bugs"),
+ # Extra file settings
+ "tac_extra.extraFile": shared.OptionInfo("extra-quality-tags.csv", "Extra filename", gr.Dropdown, lambda: {"choices": csv_files_withnone}, refresh=update_tag_files).info("for small sets of custom tags"),
+ "tac_extra.addMode": shared.OptionInfo("Insert before", "Mode to add the extra tags to the main tag list", gr.Dropdown, lambda: {"choices": ["Insert before","Insert after"]}),
+ # Chant settings
+ "tac_chantFile": shared.OptionInfo("demo-chants.json", "Chant filename", gr.Dropdown, lambda: {"choices": json_files_withnone}, refresh=update_json_files).info("Chants are longer prompt presets"),
+ }
+
+ # Add normal settings
+ for key, opt in tac_options.items():
+ opt.section = TAC_SECTION
+ shared.opts.add_option(key, opt)
+
+ # Settings that need special treatment
+ # Custom mappings
+ keymapDefault = """\
+{
+ "MoveUp": "ArrowUp",
+ "MoveDown": "ArrowDown",
+ "JumpUp": "PageUp",
+ "JumpDown": "PageDown",
+ "JumpToStart": "Home",
+ "JumpToEnd": "End",
+ "ChooseSelected": "Enter",
+ "ChooseFirstOrSelected": "Tab",
+ "Close": "Escape"
+}\
+"""
+ colorDefault = """\
+{
+ "danbooru": {
+ "-1": ["red", "maroon"],
+ "0": ["lightblue", "dodgerblue"],
+ "1": ["indianred", "firebrick"],
+ "3": ["violet", "darkorchid"],
+ "4": ["lightgreen", "darkgreen"],
+ "5": ["orange", "darkorange"]
+ },
+ "e621": {
+ "-1": ["red", "maroon"],
+ "0": ["lightblue", "dodgerblue"],
+ "1": ["gold", "goldenrod"],
+ "3": ["violet", "darkorchid"],
+ "4": ["lightgreen", "darkgreen"],
+ "5": ["tomato", "darksalmon"],
+ "6": ["red", "maroon"],
+ "7": ["whitesmoke", "black"],
+ "8": ["seagreen", "darkseagreen"]
+ }
+}\
+"""
+ keymapLabel = "Configure Hotkeys. For possible values, see https://www.w3.org/TR/uievents-key, or leave empty / set to 'None' to disable. Must be valid JSON."
+ colorLabel = "Configure colors. See the Settings section in the README for more info. Must be valid JSON."
+
+ try:
+ shared.opts.add_option("tac_keymap", shared.OptionInfo(keymapDefault, keymapLabel, gr.Code, lambda: {"language": "json", "interactive": True}, section=TAC_SECTION))
+ shared.opts.add_option("tac_colormap", shared.OptionInfo(colorDefault, colorLabel, gr.Code, lambda: {"language": "json", "interactive": True}, section=TAC_SECTION))
+ except AttributeError:
+ shared.opts.add_option("tac_keymap", shared.OptionInfo(keymapDefault, keymapLabel, gr.Textbox, section=TAC_SECTION))
+ shared.opts.add_option("tac_colormap", shared.OptionInfo(colorDefault, colorLabel, gr.Textbox, section=TAC_SECTION))
+
+ shared.opts.add_option("tac_refreshTempFiles", shared.OptionInfo("Refresh TAC temp files", "Refresh internal temp files", gr.HTML, {}, refresh=refresh_temp_files, section=TAC_SECTION))
+
+script_callbacks.on_ui_settings(on_ui_settings)
+
+def api_tac(_: gr.Blocks, app: FastAPI):
+ async def get_json_info(base_path: Path, filename: str = None):
+ if base_path is None or (not base_path.exists()):
+ return JSONResponse({}, status_code=404)
+
+ try:
+ json_candidates = glob.glob(base_path.as_posix() + f"/**/{filename}.json", recursive=True)
+ if json_candidates is not None and len(json_candidates) > 0:
+ return FileResponse(json_candidates[0])
+ except Exception as e:
+ return JSONResponse({"error": e}, status_code=500)
+
+ async def get_preview_thumbnail(base_path: Path, filename: str = None, blob: bool = False):
+ if base_path is None or (not base_path.exists()):
+ return JSONResponse({}, status_code=404)
+
+ try:
+ img_glob = glob.glob(base_path.as_posix() + f"/**/{filename}.*", recursive=True)
+ img_candidates = [img for img in img_glob if Path(img).suffix in [".png", ".jpg", ".jpeg", ".webp", ".gif"]]
+ if img_candidates is not None and len(img_candidates) > 0:
+ if blob:
+ return FileResponse(img_candidates[0])
+ else:
+ return JSONResponse({"url": urllib.parse.quote(img_candidates[0])})
+ except Exception as e:
+ return JSONResponse({"error": e}, status_code=500)
+
+ @app.post("/tacapi/v1/refresh-temp-files")
+ async def api_refresh_temp_files():
+ refresh_temp_files()
+
+ @app.get("/tacapi/v1/lora-info/{lora_name}")
+ async def get_lora_info(lora_name):
+ return await get_json_info(LORA_PATH, lora_name)
+
+ @app.get("/tacapi/v1/lyco-info/{lyco_name}")
+ async def get_lyco_info(lyco_name):
+ return await get_json_info(LYCO_PATH, lyco_name)
+
+ @app.get("/tacapi/v1/lora-cached-hash/{lora_name}")
+ async def get_lora_cached_hash(lora_name: str):
+ path_glob = glob.glob(LORA_PATH.as_posix() + f"/**/{lora_name}.*", recursive=True)
+ paths = [lora for lora in path_glob if Path(lora).suffix in [".safetensors", ".ckpt", ".pt"]]
+ if paths is not None and len(paths) > 0:
+ path = paths[0]
+ hash = hashes.sha256_from_cache(path, f"lora/{lora_name}", path.endswith(".safetensors"))
+ if hash is not None:
+ return hash
+
+ return None
+
+ def get_path_for_type(type):
+ if type == "lora":
+ return LORA_PATH
+ elif type == "lyco":
+ return LYCO_PATH
+ elif type == "hyper":
+ return HYP_PATH
+ elif type == "embed":
+ return EMB_PATH
+ else:
+ return None
+
+ @app.get("/tacapi/v1/thumb-preview/{filename}")
+ async def get_thumb_preview(filename, type):
+ return await get_preview_thumbnail(get_path_for_type(type), filename, False)
+
+ @app.get("/tacapi/v1/thumb-preview-blob/{filename}")
+ async def get_thumb_preview_blob(filename, type):
+ return await get_preview_thumbnail(get_path_for_type(type), filename, True)
+
+ @app.get("/tacapi/v1/wildcard-contents")
+ async def get_wildcard_contents(basepath: str, filename: str):
+ if basepath is None or basepath == "":
+ return JSONResponse({}, status_code=404)
+
+ base = Path(basepath)
+ if base is None or (not base.exists()):
+ return JSONResponse({}, status_code=404)
+
+ try:
+ wildcard_path = base.joinpath(filename)
+ if wildcard_path.exists():
+ return FileResponse(wildcard_path)
+ else:
+ return JSONResponse({}, status_code=404)
+ except Exception as e:
+ return JSONResponse({"error": e}, status_code=500)
+
+
+script_callbacks.on_app_started(api_tac)
diff --git a/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/tags/danbooru.csv b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/tags/danbooru.csv
new file mode 100644
index 0000000000000000000000000000000000000000..5ef4cd0f56f5b67ac35607baacc3103835ce8995
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/tags/danbooru.csv
@@ -0,0 +1,100000 @@
+1girl,0,4114588,"1girls,sole_female"
+solo,0,3426446,"female_solo,solo_female"
+highres,5,3008413,"high_res,high_resolution,hires"
+long_hair,0,2898315,longhair
+commentary_request,5,2610959,
+breasts,0,2252741,"boobs,breast,breats,oppai,tits"
+looking_at_viewer,0,2017032,pov_eye_contact
+blush,0,1987494,"blushing,flush,flushed"
+smile,0,1847264,":),:},smiling"
+short_hair,0,1530601,"short-hair,shorthair"
+open_mouth,0,1521316,mouth_open
+bangs,0,1446592,
+blue_eyes,0,1192965,"blueeyes,light_blue_eyes"
+multiple_girls,0,1097189,
+skirt,0,1072680,
+blonde_hair,0,1070839,"blond,blond_hair,blonde,blondehair,gold_hair,yellow_hair"
+large_breasts,0,1051375,"big_breasts,large_boobs,large_breast,large_tits"
+brown_hair,0,1046479,"brown-hair,brownhair,brunette,chocolate_hair"
+simple_background,0,1033328,
+shirt,0,956884,"shirt_only,shirts"
+black_hair,0,951555,"black-hair,blackhair,dark_hair"
+hair_ornament,0,909358,"hair_accessories,hair_accessory,hair_decs,hair_ornaments"
+absurdres,5,889451,"insaneres,very_high_resolution"
+red_eyes,0,874986,"red_eye,redeyes"
+thighhighs,0,871535,"naked_thighhighs,nude_thighhighs,stocking,stockings,thigh_highs,thighhgihs,thighhigh,thighhighs_only,thighhigs,thighighs"
+hat,0,860554,
+gloves,0,859727,glove
+1boy,0,852461,"1boys,sole_male"
+bad_id,5,850533,bad_skeb_id
+long_sleeves,0,847925,long_sleeve
+white_background,0,842744,
+dress,0,813386,
+original,3,800843,original_character
+ribbon,0,776028,ribbons
+bow,0,773755,bows
+touhou,3,769563,toho
+navel,0,762061,"belly_button,bellybutton"
+bad_pixiv_id,5,714106,
+2girls,0,713683,"2_girls,2girl"
+photoshop_(medium),5,702997,
+holding,0,696989,"hold,holding_object"
+animal_ears,0,695502,kemonomimi
+cleavage,0,672733,"clevage,overboob"
+hair_between_eyes,0,661745,bangs_between_eyes
+bare_shoulders,0,637748,"bare_shoulder,bareshoulders"
+commentary,5,635624,commentaries
+brown_eyes,0,632789,"browneyes,light_brown_eyes"
+twintails,0,632535,"twin_tails,twintaiks,twintail"
+medium_breasts,0,624978,
+jewelry,0,622350,"jewelery,jewellery"
+sitting,0,612015,"sit,sitting_down"
+very_long_hair,0,601723,hair_past_waist
+underwear,0,596262,"shitagi,undergarments"
+closed_mouth,0,589051,
+nipples,0,575314,nipple
+school_uniform,0,569565,"school_girl,school_uniforms,schoolgirl,seifuku"
+green_eyes,0,568502,"green-eyes,greeneyes"
+blue_hair,0,547897,bluehair
+standing,0,532306,
+purple_eyes,0,520583,"light_purple_eyes,purpleeyes,violet_eyes"
+collarbone,0,504733,"clavicle,clavicles,collarbones"
+panties,0,495559,"pantie,pantsu,panty"
+monochrome,0,470985,"monochome,monochorme,monochromatic"
+tail,0,470651,"animal_tail,animal_tails,shippo,tails"
+jacket,0,469260,
+translated,5,459108,"translatied,translation"
+swimsuit,0,457313,"bathing_suit,mizugi,swim_suit,swimsuits"
+full_body,0,446282,
+closed_eyes,0,442906,eyes_closed
+hair_ribbon,0,440003,"hair_ribbons,ribbon_in_hair,ribbons_in_hair"
+kantai_collection,3,436085,"kancolle,kankore"
+yellow_eyes,0,433326,"amber_eyes,gold_eyes,golden_eyes,hazel_eyes,hazeleyes,yelloweyes"
+weapon,0,420275,weapons
+ponytail,0,419615,"long_ponytail,pony_tail"
+upper_body,0,417829,bust
+purple_hair,0,415161,"lavender_hair,purple-hair,purplehair,violet_hair"
+white_shirt,0,413176,white_blouse
+pink_hair,0,412002,"magenta_hair,pinkhair"
+ass,0,411747,"butt,butt_cheeks,buttocks,oshiri,rearend"
+comic,0,405140,"comics,manga"
+braid,0,404122,"braided_hair,braids,hair_braid"
+flower,0,400183,flowers
+ahoge,0,395736,
+:d,0,376147,
+short_sleeves,0,375920,
+hair_bow,0,372662,"hair_bows,hairbow"
+greyscale,0,371431,"b&w,black_and_white,grayscale"
+hetero,0,369606,
+white_hair,0,361604,whitehair
+male_focus,0,359240,"male,male_only,man,men"
+heart,0,350239,"<3,hearts"
+pantyhose,0,345097,"panty_hose,tights"
+bikini,0,340940,
+sidelocks,0,336241,"forelocks,payot"
+thighs,0,332714,thigh
+nude,0,330496,naked
+red_hair,0,327685,"red_head,redhair,redhead"
+cowboy_shot,0,324472,
+pleated_skirt,0,322440,
+sweat,0,322381,sweating
+hairband,0,320155,hair_band
+multicolored_hair,0,318977,multicolor_hair
+translation_request,5,318605,"translate_request,translation_requested,translationrequest"
+earrings,0,316173,"aqua_earrings,black_earrings,blue_earrings,brown_earrings,ear_ring,ear_rings,earring,green_earrings,grey_earrings,pink_earrings,purple_earrings,red_earrings,white_earrings,yellow_earrings"
+small_breasts,0,315987,
+grey_hair,0,314794,gray_hair
+boots,0,313016,"boot,naked_boots"
+lying,0,303118,"laying,laying_down,lying_down"
+censored,0,300048,"censor,censoring"
+outdoors,0,296370,"outdoor,outside"
+frills,0,295934,"frill,frilled,frilly,ruffles"
+parted_lips,0,292170,
+detached_sleeves,0,289409,"armsleeves,detached_sleeve,naked_sleeves"
+one_eye_closed,0,287946,wink
+food,0,286933,
+japanese_clothes,0,282381,"japanese_clothing,traditional_japanese_clothes,wafuku"
+multiple_boys,0,278355,
+green_hair,0,278290,greenhair
+wings,0,277342,wing
+open_clothes,0,275169,open_clothing
+sky,0,271218,
+necktie,0,271120,"neck_tie,tie"
+horns,0,268888,
+penis,0,266519,"cock,cocks,dick,dicks"
+shoes,0,265277,shoe
+fate_(series),3,260162,
+glasses,0,258562,"megane,meganekko,meganeko"
+shorts,0,253401,short_pants
+barefoot,0,252703,"bare_feet,bare_foot,barefeet"
+serafuku,0,246424,sailor_fuku
+pussy,0,245806,"manko,vagina,vulva"
+teeth,0,245489,bared_teeth
+solo_focus,0,238837,
+sleeveless,0,238082,no_sleeves
+day,0,238001,
+alternate_costume,0,236618,"alternate_outfit,alternate_outfit,alternative_costume"
+choker,0,236347,
+tongue,0,235358,tongues
+pointy_ears,0,228958,"elf_ears,elven_ears,long_ears,pointed_ears,pointy-ears,pointy_ear"
+socks,0,227884,"leghighs,naked_socks,sock"
+black_gloves,0,225896,black_glove
+elbow_gloves,0,218936,"long_gloves,opera_gloves"
+hairclip,0,218010,"barrette,hair_clip,hair_clips,hairclips"
+fang,0,215043,
+midriff,0,211220,
+striped,0,211065,stripes
+puffy_sleeves,0,207646,puffy_shoulders
+shiny,0,204926,
+looking_back,0,203075,"looking_over_shoulder,turning"
+belt,0,202376,belts
+sword,0,198728,swords
+collared_shirt,0,197795,collared_blouse
+pants,0,195599,"long_pants,trousers"
+official_art,5,194421,
+artist_name,0,192428,
+cloud,0,192323,clouds
+black_thighhighs,0,191915,
+indoors,0,186361,
+tears,0,184656,tear
+cat_ears,0,184506,"catears,nekomimi"
+fate/grand_order,3,183978,fgo
+white_gloves,0,181876,white_glove
+virtual_youtuber,0,179776,vtuber
+3girls,0,178540,3girl
+hair_flower,0,177530,"flower_hair_ornament,flower_in_hair,hair_flowers,hairflower"
+signature,0,177272,"artist_signature,autograph,signed"
+dark_skin,0,176102,"brown_skin,dark_skin_female,dark_skinned_female,darkskin"
+hand_up,0,175705,"hand_raised,one_hand_raised,raised_hand"
+spread_legs,0,173323,"legs_spread,open_legs,spread_leg"
+silver_hair,0,172873,
+cum,0,172618,"cumshot,semen,sperm"
+2boys,0,170921,2boy
+hood,0,170424,
+sex,0,169737,"fuck,fucking"
+idolmaster,3,168860,"idol_master,idolm@ster,the_idolmaster"
+miniskirt,0,168572,"mini_skirt,short_skirt"
+tongue_out,0,167571,
+wide_sleeves,0,167392,
+on_back,0,166746,"lying_on_back,supine"
+fingerless_gloves,0,166594,fingerless_glove
+blunt_bangs,0,166178,
+bowtie,0,164885,"bow_tie,neck_bow"
+black_skirt,0,164625,
+armpits,0,163586,"armpit,showing_armpits"
+pink_eyes,0,163024,
+english_commentary,5,163005,
+sailor_collar,0,160457,
+medium_hair,0,158791,shoulder-length_hair
+kimono,0,158659,
+pokemon,3,157511,"pocket_monsters,pokemons,pok├®mon"
+water,0,154351,
+grey_background,0,153495,gray_background
+necklace,0,151304,
+black_legwear,0,151031,"black_kneehighs,black_leggings,black_pantyhose,black_socks,black_thighhighs"
+off_shoulder,0,147990,"off-shoulder,off_shoulders"
+chibi,0,147648,super_deformed
+bag,0,146939,bags
+hair_bun,0,146389,
+clothes_lift,0,146105,
+cape,0,145528,
+from_behind,0,145487,viewed_from_behind
+star_(symbol),0,145380,
+stomach,0,145363,
+scarf,0,145354,muffler
+twitter_username,0,144376,artist_twitter
+bra,0,143316,
+nail_polish,0,142958,"colored_nails,nail_varnish,nailpolish,painted_nails"
+orange_hair,0,142662,
+yuri,0,142648,"girl's_love,girl_love,girls_love,lesbian,shoujo-ai"
+white_dress,0,141629,
+sweatdrop,0,141422,"sweat_drop,sweat_drops,sweatdrops"
+holding_weapon,0,141258,
+black_footwear,0,141200,"black_boots,black_shoes"
+armor,0,140506,armour
+rabbit_ears,0,139273,"bunny_ear,bunny_ears,rabbit_ear"
+white_panties,0,139230,
+mole,0,136877,beauty_mark
+hair_over_one_eye,0,135697,hair_over_eye
+grin,0,135287,
+uniform,0,134600,uniforms
+:o,0,133841,:0
+huge_breasts,0,133500,"huge_boobs,huge_breast,huge_tits"
+blurry,0,132946,blurred
+black_eyes,0,132362,dark_eyes
+character_name,0,132310,
+apron,0,132263,
+looking_at_another,0,130747,
+vest,0,128632,
+black_dress,0,126840,
+arm_up,0,125800,"arm_raised,one_arm_up,raised_arm"
+mosaic_censoring,0,125723,"mosaic_censor,pixel_censor,rough_censoring"
+high_heels,0,125612,"heels,highheels"
+vaginal,0,125586,"vaginal_penetration,vaginal_sex"
+red_bow,0,125049,
+twin_braids,0,125048,"twin_braid,twinbraid,twinbraids"
+flat_chest,0,123020,"flat_chested,flatchest,pettanko,titty_buds,tsurupeta"
+arms_up,0,122759,"arms_above,arms_above_head,arms_raised,hands_above_head,raised_arms"
+shiny_hair,0,122714,
+side_ponytail,0,121984,"side_tail,sidetail"
+bracelet,0,121896,bracelets
+collar,0,121712,
+covered_nipples,0,121585,"covered_erect_nipples,erect_nipple,erect_nipplees,erect_nipples,erect_nipples_under_clothes,errect_nipples,perky_nipples"
+feet,0,118991,foot
+dated,0,118815,
+from_side,0,118032,"side,side_view,viewed_from_side"
+aqua_eyes,0,117472,"cyan_eyes,teal_eyes,turquoise_eyes"
+vocaloid,3,116231,"vocaloid_2,vocaloid_3"
+sweater,0,115033,
+white_thighhighs,0,114692,
+two-tone_hair,0,114591,"two-tone-hair,two_tone_hair"
+speech_bubble,0,114527,"speech_balloon,text_bubble,word_bubble"
+leotard,0,114043,
+red_ribbon,0,112196,
+two_side_up,0,111533,two_sides_up
+english_text,0,111457,english
+dark-skinned_female,0,111075,dark_skinned_female
+open_jacket,0,110983,"open_blazer,open_track_jacket"
+tree,0,110120,trees
+sketch,0,109877,"rough,rough_sketch"
+cup,0,109805,"cups,drinking_cup"
+blue_sky,0,109339,
+puffy_short_sleeves,0,108813,short_puffy_sleeves
+lips,0,108716,
+zettai_ryouiki,0,107347,"absolute_territory,zettai_ryouki"
+blue_skirt,0,106323,
+hololive,3,106179,
+official_alternate_costume,0,104403,"alternate_costume_(official),official_alternate_outfit"
+groin,0,104033,"adonis_belt,hip_lines,mound_of_venus"
+coat,0,103266,
+fingernails,0,103161,"finger_nails,fingernail"
+wet,0,102577,soaked
+genshin_impact,3,102416,genshin
+cat_tail,0,102123,cat_tails
+v-shaped_eyebrows,0,101398,
+bad_twitter_id,5,101357,
+streaked_hair,0,101072,highlights
+black_jacket,0,101020,black_blazer
+neckerchief,0,100738,
+head_tilt,0,100424,
+crop_top,0,99832,
+white_legwear,0,99720,"white_kneehighs,white_leggings,white_pantyhose,white_socks,white_thighhighs"
+see-through,0,99593,"see_through,seethrough,sheer_clothes,sheer_clothing,transparent_clothing"
+orange_eyes,0,98788,
+gradient,0,98281,
+hand_on_hip,0,98165,hand_on_waist
+azur_lane,3,98104,bilan_hangxian
+gun,0,97949,"firearm,guns"
+shiny_skin,0,97431,glistening_skin
+animal_ear_fluff,0,97071,
+idolmaster_cinderella_girls,3,96349,cinderella_girls
+wrist_cuffs,0,96175,"detached_cuffs,wrist_cuff,wristcuff,wristcuffs"
+pillow,0,96077,"black_pillow,blue_pillow,green_pillow,grey_pillow,orange_pillow,pillows,pink_pillow,purple_pillow,red_pillow,white_pillow,yellow_pillow"
+book,0,95815,books
+sleeves_past_wrists,0,95421,sleeves_past_wrist
+plaid,0,95011,tartan
+looking_to_the_side,0,95005,"looking_aside,looking_to_side"
+torn_clothes,0,94967,"ripped_clothes,ripped_clothing,torn_clothing,tornclothes"
+artist_request,5,94937,tagme_(artist)
+maid,0,94840,"maid_costume,maid_dress,maid_outfit,maid_uniform,maids"
+legs,0,94507,leg
+grey_eyes,0,94164,"gray_eyes,silver_eyes"
+parted_bangs,0,93999,
+pokemon_(game),3,93498,
+kneehighs,0,93476,"knee_highs,knee_socks,kneehigh_socks,kneesocks"
+sash,0,93173,
+military,0,93012,
+maid_headdress,0,92606,"maid_cachusha,maid_headband"
+black_pantyhose,0,92414,
+cosplay,0,92051,
+petals,0,91785,"flower_petals,petal"
+black_panties,0,91619,
+hands_up,0,90878,hands_raised
+bare_arms,0,90755,
+fur_trim,0,90513,fur_lining
+pubic_hair,0,90201,"hairy_pussy,pubes,pubichair"
+gradient_background,0,89409,
+symbol-shaped_pupils,0,89395,symbol_shaped_pupils
+fox_ears,0,89386,kitsunemimi
+one-piece_swimsuit,0,89360,"one-piece,one_piece_swimsuit"
+loli,0,89189,"lolicon,rori"
+short_shorts,0,88997,"booty_shorts,hot_pants,hotpants"
+ascot,0,88550,cravat
+dutch_angle,0,87871,
+black_shirt,0,87107,black_blouse
+clothing_cutout,0,87061,
+eyelashes,0,85352,eye_lashes
+open_shirt,0,85035,"open_blouse,openshirt,shirt_open"
+no_humans,0,84788,no_human
+bare_legs,0,84736,
+bar_censor,0,84656,"censor_bar,censor_bars"
+dress_shirt,0,84293,
+sparkle,0,84241,"sparkles,sparkling"
+mole_under_eye,0,84024,
+window,0,83889,
+kneeling,0,83779,on_knees
+lowres,5,83651,
+pokemon_(creature),0,83524,
+4girls,0,82439,4girl
+single_braid,0,82234,
+bodysuit,0,82016,body_suit
+sleeveless_shirt,0,81849,sleeveless_blouse
+hug,0,81795,"embrace,hugging"
+v,0,81652,"peace_sign,v_sign"
+no_bra,0,81328,
+strapless,0,81041,
+bell,0,80835,bells
+saliva,0,80784,"drool,spit"
+double_bun,0,80626,"buns,double_buns,hair_buns,odango,twin_bun,twin_buns"
+aqua_hair,0,80439,"cyan_hair,teal_hair,turquoise_hair"
+uncensored,0,80159,"descensored,uncensoring"
+black_headwear,0,80049,black_hat
+black_ribbon,0,79781,
+military_uniform,0,79091,
+bed,0,78857,
+blood,0,78550,
+completely_nude,0,78500,completely_naked
+md5_mismatch,5,78359,
+hoodie,0,77706,
+hatsune_miku,4,77659,
+sideboob,0,77602,"side_boob,side_boobs,sideboobs"
+scan,5,77541,
+4koma,0,77129,"4coma,yonkoma"
+pussy_juice,0,76721,"pussy_juice_drip,pussyjuice,vaginal_juices"
+profile,0,76676,in_profile
+black_bow,0,76644,
+covered_navel,0,76607,clothed_navel
+tattoo,0,76518,"tatoo,tattoos"
+skindentation,0,76414,
+gradient_hair,0,76251,
+makeup,0,76191,"make-up,make_up"
+neck_ribbon,0,75973,
+leaning_forward,0,75874,
+thigh_strap,0,75182,"legband,thigh_band,thigh_belt,thigh_straps,thighband"
+mask,0,74898,masks
+muscular,0,74818,"muscle,muscles,muscular_male"
+no_panties,0,74617,nopan
+multiple_views,0,74566,
+capelet,0,74472,"mantle,shoulder_cape"
+witch_hat,0,74456,"witches_hat,witchhat"
+banned_artist,1,74331,
+arknights,3,73750,mingri_fangzhou
+anus,0,73515,"ass_hole,asshole,butt_hole,butthole"
+copyright_name,0,73482,"copyright_abbreviation,copyright_title,title_drop,title_name"
+:3,0,73360,
+alternate_hairstyle,0,72994,"alternate_hair_style,alternative_hair_style,alternative_hairstyle"
+fruit,0,72810,fruits
+underboob,0,72760,"under_boob,underbreast"
+detached_collar,0,72705,
+night,0,71711,
+depth_of_field,0,71646,focus_blur
+sleeveless_dress,0,71607,
+floating_hair,0,71535,"hair_blowing,space_hair"
+headband,0,71524,head_band
+buttons,0,71479,button
+commission,5,71189,
+^_^,0,71068,^^
+cameltoe,0,70817,camel_toe
+blue_dress,0,70407,
+copyright_request,5,70143,series_request
+cum_in_pussy,0,70131,"cum_inside,nakadashi"
+fox_tail,0,70111,
+toes,0,70067,
+side-tie_bikini_bottom,0,69831,"side-tie_bikini,side_tie_bikini"
+bottomless,0,69405,bottom_less
+black_bikini,0,69362,"black_bikini_bottom,black_bikini_top"
+shadow,0,69346,shadows
+blurry_background,0,69181,
+glowing,0,69161,glow
+nose_blush,0,69041,
+feet_out_of_frame,0,68989,
+red_skirt,0,68553,
+rose,0,68202,roses
+fake_animal_ears,0,67687,
+swept_bangs,0,67401,
+bed_sheet,0,67177,"bed_sheets,bedsheet,bedsheets,sheet,sheets"
+hakurei_reimu,4,67154,reimu_hakurei
+holding_hands,0,66981,"hand_holding,handholding,holding_another's_hand"
+chain,0,66832,chains
+headgear,0,66794,
+facial_hair,0,66568,
+turtleneck,0,66393,turtle_neck
+bird,0,66278,birds
+6+girls,0,66274,"6+girl,6girl,6girls,7girls,8girls,9girls"
+siblings,0,66220,
+headphones,0,66160,headphone
+colored_skin,0,66044,
+ocean,0,66029,sea
+arm_support,0,64840,
+heterochromia,0,64687,odd_eye
+low_twintails,0,64568,
+animal,0,64448,animals
+halterneck,0,64444,"halter,halter_top,haltertop"
+umbrella,0,64428,
+frown,0,64110,":(,:{,frowning"
+beret,0,63886,
+leaf,0,63502,leaves
+thigh_boots,0,63404,"thighboots,thighhigh_boots"
+pov,0,63396,male_pov
+embarrassed,0,63012,"embarassed,embarrased,embarrassing,embarrassment"
+on_bed,0,62508,
+one_side_up,0,62483,
+white_headwear,0,62443,white_hat
+back,0,62309,
+from_above,0,62263,"aerial_view,view_from_above,viewed_from_above"
+fangs,0,62161,
+watermark,0,62108,"copyright_notice,watermarked"
+garter_straps,0,62076,garter_strap
+ass_visible_through_thighs,0,61978,"ass_fangs,butt_fangs,gluteal_fold"
+kirisame_marisa,4,61859,marisa_kirisame
+blue_background,0,61519,
+non-web_source,5,61251,
+highleg,0,61030,
+scar,0,60550,scars
+white_bikini,0,60509,"white_bikini_bottom,white_bikini_top"
+on_side,0,60439,lying_on_side
+transparent_background,0,60400,"transparent_gif,transparent_png"
+plaid_skirt,0,60393,tartan_skirt
+mahou_shoujo_madoka_magica,3,60061,"madoka_magica,puella_magi_madoka_magica"
+upper_teeth,0,59984,
+wariza,0,59972,"w-legs,w-sitting,w_legs,w_sitting"
+blue_bow,0,59909,
+mouth_hold,0,59852,
+traditional_media,0,59832,handdrawn
+beach,0,59766,
+chair,0,59725,chairs
+parody,0,59713,
+wavy_hair,0,59694,
+facial_mark,0,59372,"facial_marking,facial_markings,facial_marks"
+bandages,0,59350,bandage
+looking_away,0,59190,"averted_eyes,averting_eyes"
+female_pubic_hair,0,59087,pubic_hair_(female)
+black_choker,0,58999,
+hair_tubes,0,58971,hair_tube
+blush_stickers,0,58896,blush_sticker
+shirt_lift,0,58495,"lift_shirt,shirt_up,shirtlift,tank_top_lift,top_lift"
+expressionless,0,58455,"emotionless,neutral_expression,unexpressive"
+drill_hair,0,58376,"doriru,drillhair"
+chinese_clothes,0,58184,
+brown_footwear,0,57952,"brown_boots,brown_shoes"
+grabbing,0,57712,grab
+obi,0,57499,
+arms_behind_back,0,57461,"arms_behind,hands_behind_back"
+eating,0,57289,
+holding_sword,0,57204,holding_katana
+thick_thighs,0,57195,"big_thighs,fat_thighs,thighthick,thunder_thighs"
+no_shoes,0,56933,
+clothes_pull,0,56785,
+heart-shaped_pupils,0,56777,heart_shaped_pupils
+pantyshot,0,56545,"panchira,panty_flash,panty_shot"
+topless,0,56515,"top_less,topless_(female)"
+thigh_gap,0,56394,
+soles,0,56234,sole
+short_dress,0,56103,"mini_dress,minidress"
+looking_down,0,56025,
+phone,0,55900,telephone
+symbol-only_commentary,5,55769,"emoji_commentary,symbol_commentary"
+fire_emblem,3,55684,fireemblem
+skirt_lift,0,55609,"lift_skirt,lifted_skirt,lifting_skirt,skirt_up,skirt_up,skirtlift"
+eyepatch,0,55472,eye_patch
+magical_girl,0,55341,"magic_girl,magical_girls,mahou_shoujo"
+stuffed_toy,0,55100,"plush,plush_toy,stuffed_doll"
+floral_print,0,55065,"floral_pattern,flower_print"
+bound,0,55064,
+black_shorts,0,54852,
+flying_sweatdrops,0,54783,flying_sweatdrop
+wavy_mouth,0,54739,
+crossed_arms,0,54738,"arms_crossed,arms_folded,folded_arms"
+hair_intakes,0,54519,hair_vents
+playboy_bunny,0,54374,"bunny_suit,bunnygirl,bunnysuit,playboy_bunny_leotard"
+girls_und_panzer,3,54361,
+piercing,0,54341,"pierced,piercings"
+border,0,54335,"bordered,windowbox,windowboxed"
+formal,0,54153,
+moon,0,54017,
+love_live!,3,54003,
+abs,0,53468,six_pack
+leg_up,0,53348,one_leg_raised
+black_pants,0,53296,
+half-closed_eyes,0,53060,eyes_half_closed
+sandals,0,53019,sandal
+from_below,0,52997,"low_angle,view_from_below,viewed_from_below"
+erection,0,52994,erect_penis
+cover,0,52966,front_cover
+cleavage_cutout,0,52916,"boob_window,cleavage_window,heart_cleavage_cutout,tit_window"
+sunlight,0,52668,sunshine
+table,0,52641,
+single_hair_bun,0,52348,"bun,hair_bun,hairbun"
+happy,0,52216,
+oral,0,52161,
+red_dress,0,52030,
+cat,0,51593,"cats,neko"
+squatting,0,51398,"crouch,crouched,crouching,squat"
+pink_background,0,51164,
+underwear_only,0,51062,
+scrunchie,0,51015,scrunchy
+sunglasses,0,50834,shades
+chinese_commentary,5,50625,
+testicles,0,50503,balls
+school_swimsuit,0,50489,"school_swimsuits,sukimizu,sukumizu"
+halo,0,50174,
+cum_on_body,0,50156,"cum_in_armpit,cum_on_arm,cum_on_armpit,cum_on_armpits,cum_on_arms,cum_on_back,cum_on_belly,cum_on_chest,cum_on_ear,cum_on_feet,cum_on_foot,cum_on_hand,cum_on_hands,cum_on_hips,cum_on_leg,cum_on_legs,cum_on_lower_body,cum_on_thigh,cum_on_thighs,cum_on_upper_body,semen_on_body,semen_on_lower_body,semen_on_upper_body"
+bdsm,0,50025,
+dark-skinned_male,0,49985,dark_skinned_male
+white_footwear,0,49945,"white_boots,white_shoes"
+trembling,0,49688,"shiver,shivering,tremble"
+mob_cap,0,49616,
+blazer,0,49474,
+ring,0,49342,rings
+wolf_ears,0,49081,"coyote_ears,ookamimimi"
+sleeping,0,49004,"asleep,sleep"
+game_cg,5,48639,"cg_game,game_asset,gamecg"
+final_fantasy,3,48401,finalfantasy
+standing_on_one_leg,0,48365,"on_one_foot,on_one_leg,standing_on_one_foot"
+backpack,0,48307,"back_pack,ranset"
+light_brown_hair,0,48178,lightbrown_hair
+eyes_visible_through_hair,0,48041,eye_through_hair
+knee_boots,0,47982,"kneeboots,kneehigh_boots"
+bob_cut,0,47943,"bobbed_hair,okappa"
+lingerie,0,47880,
+breast_grab,0,47836,"boob_grab,breast_grap,breasts_grab,grabbing_breasts"
+hat_ribbon,0,47823,"hat_ribbons,hatband"
+thick_eyebrows,0,47814,
+partial_commentary,5,47802,
+katana,0,47622,katanas
+demon_girl,0,47534,"demon_girls,demongirl,succubus"
+stuffed_animal,0,47470,"nuigurumi,plushie,plushies,plushy,stuffed_animals"
+bat_wings,0,47403,batwing
+cardigan,0,47357,
+white_skirt,0,47352,
+girls'_frontline,3,47253,girls_frontline
+frilled_dress,0,47245,"frilly_dress,ruffled_dress"
+;d,0,47230,
+korean_commentary,5,47220,
+crossed_legs,0,47212,"crossed_legs_(lying),crossed_legs_(sitting),crossed_legs_(standing),legs_crossed"
+white_jacket,0,47149,
+suspenders,0,47108,suspender
+3boys,0,46808,3boy
+helmet,0,46660,
+remilia_scarlet,4,46507,
+hood_down,0,46434,
+cloudy_sky,0,46289,
+antenna_hair,0,46277,"antennae_hair,double_ahoge"
+outstretched_arms,0,46024,arms_outstretched
+cellphone,0,45981,"cell_phone,keitai,mobile_phone"
+crying,0,45824,cry
+tank_top,0,45779,tanktop
+cross,0,45683,
+polka_dot,0,45581,"polka-dot,polka_dots"
+bottle,0,45552,bottles
+grass,0,45395,
+aged_down,0,45353,"de-aged,younger"
+bug,0,45344,"bugs,insect,insects"
+fire,0,45168,flames
+undressing,0,45146,"strip,stripping,undress"
+5girls,0,45141,5girl
+crossover,0,45133,
+suit,0,45094,
+crown,0,44967,
+tiara,0,44951,
+feathers,0,44917,feather
+bent_over,0,44874,"bend_over,bending_over,bent-over"
+frilled_skirt,0,44768,"frilly_skirt,ruffled_skirt"
+breasts_out,0,44629,"breasts_out_of_clothes,breasts_outside"
+light_smile,0,44594,faint_smile
+high_ponytail,0,44590,
+holding_food,0,44458,
+knife,0,44420,knives
+pectorals,0,44318,pecs
+animated,5,44307,animation
+looking_up,0,44282,
+couple,0,44275,romance
+own_hands_together,0,44229,hands_together
+straddling,0,44128,straddle
+denim,0,44013,
+white_bow,0,43897,
+black_hairband,0,43861,
+x_hair_ornament,0,43849,
+horse_ears,0,43703,
+eyebrows,0,43694,
+>_<,0,43669,><
+hair_bobbles,0,43638,"ball_braids,hair_bobble"
+wing_collar,0,43595,
+on_stomach,0,43546,"lying_on_stomach,on_belly,on_front,prone"
+blue_shirt,0,43462,blue_blouse
+plant,0,43377,plants
+areolae,0,43051,"areola,areolas"
+flandre_scarlet,4,42909,
+tan,0,42823,"suntan,tanned,tanned_skin"
+lipstick,0,42805,
+outstretched_arm,0,42794,arm_outstretched
+short_twintails,0,42636,pigtails
+fellatio,0,42576,"blow_job,blowjob,felatio"
+letterboxed,0,42511,"letter_boxed,letterbox"
+bondage,0,42481,tied_up_(sexual)
+izayoi_sakuya,4,42221,
+robot,0,42197,
+blue_ribbon,0,42082,
+girl_on_top,0,41971,
+white_flower,0,41860,
+umamusume,3,41812,uma_musume
+curtains,0,41691,"curtain,drapes"
+lifted_by_self,0,41638,
+precure,3,41585,
+animal_print,0,41438,animalprint
+pointing,0,41370,
+muscular_male,0,41194,
+monster_girl,0,41181,monstergirl
+cat_girl,0,41138,catgirl
+polearm,0,41085,
+pink_bow,0,40937,
+revision,5,40905,revised
+juliet_sleeves,0,40829,"puffy_shoulder_long_sleeves,puffy_shoulders_long_sleeves"
+slit_pupils,0,40815,"cat_eyes,snake_eyes"
+^^^,0,40758,
+sex_from_behind,0,40715,"from_behind_position,taken_from_behind"
+all_fours,0,40712,"all-fours,hands_and_knees,on_all_fours"
+spiked_hair,0,40593,"spikey_hair,spiky_hair"
+sisters,0,40474,
+sharp_teeth,0,40407,"pointed_teeth,pointy_teeth,spiked_teeth"
+crescent,0,40234,crescent_moon_symbol
+staff,0,40001,
+granblue_fantasy,3,39964,
+hand_on_own_chest,0,39894,"hand_on_chest,hand_to_chest,hand_to_own_chest"
+blue_sailor_collar,0,39729,
+panty_pull,0,39645,"panties_down,panties_pull,pantsu_pull,pantsupull,panty_down,pantypull"
+white_socks,0,39620,white_kneehighs
+frilled_sleeves,0,39612,ruffled_sleeves
+cherry_blossoms,0,39487,"cherry_blossom,cherry_tree,cherry_trees,sakura_blossoms"
+?,0,39399,question_mark
+red_necktie,0,39396,
+blue_jacket,0,39315,blue_blazer
+blouse,0,39159,
+clenched_teeth,0,38917,"gritted_teeth,gritting_teeth"
+jojo_no_kimyou_na_bouken,3,38901,jojo's_bizarre_adventure
+black_background,0,38739,
+towel,0,38689,towels
+goggles,0,38666,
+cover_page,0,38572,book_cover
+shaded_face,0,38546,"shaded_eyes,shadow_over_eyes"
+brooch,0,38462,broach
+wind,0,38440,windy
+bike_shorts,0,38398,"biker_shorts,spandex_shorts,spats"
+head_wings,0,38365,headwings
+green_skirt,0,38314,
+otoko_no_ko,0,38307,"femboy,otokonoko,trap"
+casual,0,38305,
+ground_vehicle,0,38250,
+loafers,0,38014,
+gauntlets,0,37942,gauntlet
+elf,0,37925,"elf_ears,elven_ears"
+pink_panties,0,37674,
+no_pants,0,37660,"no_skirt,pantless,pantsless,skirtless"
+t-shirt,0,37635,"t_shirt,tshirt"
+black_bra,0,37603,
+red_flower,0,37584,
+demon_horns,0,37512,devil_horns
+fate/stay_night,3,37270,fate_stay_night
+fox_girl,0,37220,
+multiple_tails,0,37183,"animal_tails,multi_tail,multi_tails,multiple_tail,multitail,multitails,tails"
+building,0,37145,buildings
+shoulder_armor,0,37060,shoulder_armour
+striped_panties,0,36949,"shimapan,stripped_panties"
+wristband,0,36873,"wrist_band,wrist_bands,wristbands"
+motion_lines,0,36787,
+kiss,0,36774,kissing
+black_socks,0,36701,black_kneehighs
+single_thighhigh,0,36666,"one_thighhigh,thighhigh"
+messy_hair,0,36664,"bed_head,morning_hair"
+between_breasts,0,36603,
+breast_press,0,36557,
+surprised,0,36500,"shock,shocked,startled,surprise"
+hat_bow,0,36274,
+horse_girl,0,36064,pony_girl
+butterfly,0,36053,butterflies
+sheath,0,36047,
+kemono_friends,3,35930,
+child,0,35743,"children,kids"
+group_sex,0,35715,"fivesome,foursome,groupsex"
+skirt_set,0,35596,
+ribbon_trim,0,35463,
+character_request,5,35404,tagme_(character)
+rabbit_tail,0,35388,bunny_tail
+third_eye,0,35361,3rd_eye
+drooling,0,35292,
+sneakers,0,35275,tennis_shoes
+instrument,0,35253,instruments
+clenched_hand,0,35216,"clenched_fist,closed_fist,fist"
+gem,0,35178,"gems,gemstone,gemstones,jewel,jewels,precious_stone,precious_stones"
+red_shirt,0,35118,red_blouse
+hakama,0,35114,
+red_footwear,0,35093,"red_boots,red_shoes"
+sex_toy,0,35043,sex_toys
+fishnets,0,34988,fishnet
+box,0,34914,boxes
+pale_skin,0,34900,"pale,paleskin"
+tassel,0,34815,"tassels,tassle"
+musical_note,0,34787,"music_note,music_notes,musical_notes"
+red_bowtie,0,34624,
+admiral_(kancolle),4,34565,"admiral_(kantai_collection),teitoku_(kantai_collection)"
+rope,0,34553,ropes
+revealing_clothes,0,34527,
+wet_clothes,0,34510,"wet_clothing,wetclothes"
+genderswap,0,34387,"crossgender,genderbend,rule_63,sex_change"
+candy,0,34365,candies
+blue_archive,3,34329,
+ear_piercing,0,34294,"pierced_ear,pierced_ears"
+side-tie_panties,0,34277,"himopan,side_tie_panties"
+facial,0,34202,cum_on_face
+covering,0,34193,
+foreshortening,0,34125,
+steam,0,34069,
+nature,0,34021,
+dog_ears,0,33972,"african_wild_dog_ears,dog_ear,inumimi"
+adapted_costume,0,33970,adapted_outfit
+anal,0,33953,"anal_penetration,anal_sex"
+pink_dress,0,33885,
+star_(sky),0,33841,stars_(sky)
+demon_tail,0,33782,devil_tail
+idolmaster_(classic),3,33758,
+portrait,0,33688,
+peaked_cap,0,33414,
+holding_gun,0,33259,
+scenery,0,33196,scenic
+armband,0,33179,"arm_band,armbands"
+duplicate,5,33144,"dupe,repost"
+waist_apron,0,33107,half_apron
+convenient_censoring,0,33082,convenient_censorship
+night_sky,0,32890,
+breath,0,32879,
+ejaculation,0,32863,ejaculation_between_breasts
+lace_trim,0,32786,
+artoria_pendragon_(fate),4,32683,artoria_pendragon_(all)
+veil,0,32627,
+china_dress,0,32585,"cheongsam,chinadress,chinese_dress,qipao"
+black_nails,0,32538,black_fingernails
+gundam,3,32500,
+alice_margatroid,4,32361,
+arms_behind_head,0,32284,hands_behind_head
+tokin_hat,0,32268,tokin
+couch,0,32265,"settee,sofa"
+kochiya_sanae,4,32161,kotiya_sanae
+interlocked_fingers,0,32054,"interlaced_fingers,intertwined_fingers"
+bandaid,0,31988,"band-aid,band_aids,bandaids"
+patchouli_knowledge,4,31880,
+love_live!_school_idol_project,3,31866,
+lace,0,31864,
+microphone,0,31853,mic
+white_apron,0,31834,
+bara,0,31814,
+male_pubic_hair,0,31808,pubic_hair_(male)
+front-tie_top,0,31744,front_tie_top
+nijisanji,3,31616,
+hand_fan,0,31602,"fan,fan_(handheld),fans"
+hakama_skirt,0,31594,hakama
+mole_under_mouth,0,31592,
+bow_panties,0,31582,panty_bow
+strapless_dress,0,31483,shoulderless_dress
+bridal_gauntlets,0,31482,bridal_gauntlet
+holding_cup,0,31435,"holding_drinking_glass,holding_glass,holding_mug,holding_sakazuki,holding_teacup"
+yaoi,0,31359,"boy's_love,boy_love,boys_love,gay,shonen-ai,shounen-ai"
+mecha,0,31357,mech
+glowing_eyes,0,31344,
+black_leotard,0,31321,
+no_headwear,0,31248,"hat-less,hatless,no_bandana,no_hat,no_helmet"
+anger_vein,0,31201,anger_mark
+clothes_writing,0,31010,"clothing_writing,text_on_clothes"
+...,0,30973,ellipsis
+white_ribbon,0,30947,
+christmas,0,30909,"crhistmas,xmas"
+konpaku_youmu,4,30875,
+breasts_apart,0,30806,
+bikini_top_only,0,30801,bikini_top
+jingle_bell,0,30800,"cat_bell,jingle_bells,jinglebell,jinglebells"
+straight_hair,0,30760,
+baseball_cap,0,30749,
+cirno,4,30568,
+string_bikini,0,30499,
+cum_on_breasts,0,30492,"cum_between_breasts,cum_on_tits,semen_on_breasts"
+hair_over_shoulder,0,30475,
+hair_flaps,0,30433,
+yellow_background,0,30363,
+twin_drills,0,30363,twindrills
+skin_tight,0,30287,"skintight,skintightsuit"
+torn_legwear,0,30238,"ripped_pantyhose,torn_pantyhose,torn_thighhighs"
+:<,0,30130,
+feathered_wings,0,30068,feather_wings
+semi-rimless_eyewear,0,30065,"half-rim_glasses,half_rim_glasses,semi-rimless_glasses,semi_rimless_glasses"
+web_address,0,30064,url
+hooded_jacket,0,30061,
+angry,0,29877,"anger,mad"
+facing_viewer,0,29718,
+check_translation,5,29708,translation_check
+light_purple_hair,0,29602,
+motor_vehicle,0,29565,
+cloak,0,29555,
+yakumo_yukari,4,29449,
+wolf_tail,0,29391,coyote_tail
+eyewear_on_head,0,29306,"glasses_on_head,sunglasses_on_head"
+red_nails,0,29296,red_fingernails
+claws,0,29221,claw
+carrying,0,29183,carry
+light_particles,0,29145,dust_particles
+side_braid,0,29144,
+corset,0,29104,
+micro_bikini,0,29023,microbikini
+red_background,0,28919,
+multiple_penises,0,28902,
+pelvic_curtain,0,28877,"crotch_veil,pussy_veil,waist_veil"
+mary_janes,0,28806,
+knees_up,0,28793,
+red_headwear,0,28775,red_hat
+tentacles,0,28751,tentacle
+index_finger_raised,0,28574,"finger_raised,raised_finger"
+bad_link,5,28568,
+danganronpa_(series),3,28517,"dangan-ronpa,dangan_ronpa,danganronpa"
+rifle,0,28514,rifles
+purple_dress,0,28510,
+clothing_aside,0,28494,clothes_aside
+grey_shirt,0,28474,"gray_shirt,grey_blouse"
+smartphone,0,28466,smart_phone
+bright_pupils,0,28447,
+tareme,0,28419,
+multicolored_clothes,0,28388,multicolored_clothing
+:p,0,28336,:b
+beard,0,28254,
+vertical_stripes,0,28250,"vertical_striped,vertically_striped"
+paizuri,0,28182,"tit_fuck,titfuck,titjob"
+red_neckerchief,0,27971,
+single_horn,0,27939,horn
+black_necktie,0,27938,
+extra_ears,0,27907,double_ears
+strap_slip,0,27821,
+licking,0,27773,"lick,licks"
+finger_to_mouth,0,27753,"finger_on_lips,finger_on_mouth,finger_to_lips"
+short_hair_with_long_locks,0,27649,
+striped_thighhighs,0,27538,
+close-up,0,27532,"close_up,closeup"
+puffy_nipples,0,27512,puffy_nipple
+white_border,0,27492,
+red_jacket,0,27412,red_blazer
+scar_on_face,0,27395,facial_scar
+french_braid,0,27351,
+androgynous,0,27341,androgyny
+snow,0,27295,
+tsurime,0,27266,
+buckle,0,27227,buckles
+full_moon,0,27179,fullmoon
+neck_bell,0,27141,"bell_choker,bell_collar,bellcollar,collar_bell,neckbell"
+pom_pom_(clothes),0,27021,pom_pom_(clothing)
+eye_contact,0,27001,
+forehead,0,26988,
+two-tone_background,0,26942,
+upskirt,0,26901,
+striped_legwear,0,26881,"striped_kneehighs,striped_leggings,striped_pantyhose,striped_socks,striped_thighhighs"
+areola_slip,0,26870,areolae_slip
+komeiji_koishi,4,26856,
+furry,0,26814,"anthro,kemono"
+seiza,0,26683,sitting_on_knees
+face,0,26664,
+yellow_bow,0,26605,
+blue_bikini,0,26512,"blue_bikini_bottom,blue_bikini_top"
+pink_flower,0,26508,
+genderswap_(mtf),0,26485,
+spoilers,5,26453,spoiler
+lens_flare,0,26401,lensflare
+hololive_english,3,26341,
+1other,0,26331,sole_other
+armlet,0,26089,"arm_bracelets,armlets"
+gift,0,26038,"gifts,present,presents"
+pink_nails,0,25973,pink_fingernails
+spikes,0,25954,
+hand_on_own_face,0,25906,"hand_on_face,hand_to_face"
+wading,0,25848,"standing_in_liquid,walking_in_liquid"
+between_legs,0,25847,
+pendant,0,25825,
+side_slit,0,25804,leg_slit
+shameimaru_aya,4,25795,
+handgun,0,25777,"hand_gun,pistol"
+dual_persona,0,25729,
+desk,0,25687,desks
+camisole,0,25666,
+abyssal_ship,0,25640,shinkaisei-kan
+masturbation,0,25475,"masturbate,masturbating,onani"
+brown_gloves,0,25420,
+skin_fang,0,25364,flesh_fang
+faceless,0,25353,no_face
+restrained,0,25331,
+plate,0,25316,"dish,plates"
+horse_tail,0,25316,
+alcohol,0,25311,
+green_bow,0,25155,
+after_sex,0,25132,aftersex
+curvy,0,25098,"curvaceous,voluptuous"
+handjob,0,25080,"hand_job,tekoki"
+spoken_heart,0,25034,
+broom,0,25027,broomstick
+cross-laced_footwear,0,24988,cross_laced_footwear
+ribbed_sweater,0,24980,
+o-ring,0,24978,o_ring
+sleeves_rolled_up,0,24977,"folded_sleeves,rolled-up_sleeves,rolled_sleeves,rolled_up_sleeves,sleeves_folded_up,sleeves_rolled"
+k-on!,3,24924,"k-on,k-on!!,keion,keion!,kon!"
+maid_apron,0,24909,
+heavy_breathing,0,24889,panting
+ball,0,24763,
+hair_scrunchie,0,24745,
+low_ponytail,0,24734,
+drinking_glass,0,24709,
+eyeshadow,0,24691,eye_shadow
+santa_hat,0,24644,"christmas_hat,stocking_cap"
+grey_skirt,0,24582,gray_skirt
+cowgirl_position,0,24564,cowgirl_(position)
+breast_hold,0,24517,holding_breasts
+highleg_leotard,0,24386,
+personification,0,24381,"anthropomorphism,gijinka"
+fujiwara_no_mokou,4,24374,"fujiwara_mokou,huziwara_no_mokou"
+headwear_removed,0,24296,headwear_off
+red_gloves,0,24272,
+clenched_hands,0,24262,"clenched_fists,closed_fists,fists"
+forest,0,24259,woods
+dress_lift,0,24243,
+persona,3,24231,
+tray,0,24174,"platter,serving_tray"
+reisen_udongein_inaba,4,24152,
+doujin_cover,0,24103,
+headset,0,24083,
+machinery,0,24061,
+cropped_legs,0,24049,
+partially_submerged,0,24018,
+high_heel_boots,0,23988,heel_boots
+floating,0,23983,
+zipper,0,23962,zippers
+blue_headwear,0,23914,blue_hat
+wide_hips,0,23905,large_hips
+smoke,0,23887,
+tanlines,0,23866,"tan_line,tan_lines,tanline"
+low-tied_long_hair,0,23754,long_hair_tied_low
+hair_rings,0,23751,"hair_loop,hair_loops,hair_ring"
+legs_up,0,23744,
+jpeg_artifacts,5,23734,"jpeg_artefacts,jpegartifacts,jpg_artifacts"
+halloween,0,23682,
+backlighting,0,23682,"backlit,bright_background"
+pencil_skirt,0,23665,
+single_glove,0,23625,one_glove
+fish,0,23610,
+hood_up,0,23603,
+sweater_vest,0,23523,
+large_pectorals,0,23481,
+pink_skirt,0,23480,
+reflection,0,23471,
+clothed_sex,0,23395,
+flying,0,23358,
+lyrical_nanoha,3,23350,
+hong_meiling,4,23337,ex-meiling
+half_updo,0,23331,
+neon_genesis_evangelion,3,23309,evangelion
+sleeves_past_fingers,0,23302,
+spot_color,0,23297,spot_colors
+panties_under_pantyhose,0,23256,"panties_behind_pantyhose,panties_below_pantyhose,panties_under_pantiehose,panties_underneath_pantyhose"
+arm_behind_back,0,23254,hand_behind_back
+freckles,0,23242,
+starry_sky,0,23223,
+colored_sclera,0,23187,
+kemonomimi_mode,0,23177,
+white_bra,0,23176,
+nontraditional_miko,0,23158,
+asymmetrical_legwear,0,23139,
+strapless_leotard,0,23111,
+sailor_dress,0,23108,
+holding_book,0,23081,
+puffy_long_sleeves,0,23064,long_puffy_sleeves
+tearing_up,0,23045,
+brown_background,0,23006,
+arm_at_side,0,23006,
+akemi_homura,4,22991,
+happy_birthday,0,22956,
+long_fingernails,0,22893,
+blue_nails,0,22871,blue_fingernails
+red_bikini,0,22870,"red_bikini_bottom,red_bikini_top"
+!,0,22798,exclamation_mark
+garter_belt,0,22643,garterbelt
+dual_wielding,0,22618,"double_wield,dual_wield"
+6+boys,0,22607,"6+boy,6boy,6boys"
+rain,0,22602,raining
+cuffs,0,22587,cuff
+red-framed_eyewear,0,22586,"red-framed_glasses,red-rimmed_glasses,red_framed_glasses"
+santa_costume,0,22545,"santa,santa_outfit,santa_suit"
+fingering,0,22544,
+walking,0,22523,
+bubble,0,22498,bubbles
+cropped_jacket,0,22477,bolero
+komeiji_satori,4,22476,
+epaulettes,0,22442,
+idolmaster_shiny_colors,3,22395,shiny_colors
+frilled_bikini,0,22378,frilled_bikini_bottom
+crossdressing,0,22372,"crossdress,crossplay,transvestite"
+hands,0,22364,hand
+innertube,0,22356,"inner_tube,swim_ring"
+ribbon-trimmed_sleeves,0,22260,
+dragon_horns,0,22250,
+teacup,0,22215,"tea_cup,teacups"
+suzumiya_haruhi_no_yuuutsu,3,22207,"suzumiya_haruhi_no_yuutsu,the_melancholy_of_haruhi_suzumiya"
+legs_apart,0,22194,
+naughty_face,0,22170,naughty_smile
+out_of_frame,0,22166,
+clothed_female_nude_male,0,22153,"cfnm,clothed_female_naked_male,nmcf,nude_male_clothed_female"
+contrapposto,0,22148,
+pixel-perfect_duplicate,5,22143,
+fate/extra,3,22107,
+thong,0,22074,thong_panties
+cake,0,21989,
+kaname_madoka,4,21959,
+black_wings,0,21916,"black_wing,dark_wings"
+pink_ribbon,0,21910,
+demon_wings,0,21896,devil_wings
+condom,0,21888,condoms
+arm_behind_head,0,21879,hand_behind_head
+oni_horns,0,21850,
+veins,0,21792,"vein,veiny"
+white_pantyhose,0,21766,
+short_ponytail,0,21739,
+rape,0,21666,
+bowl,0,21655,bowls
+world_witches_series,3,21632,
+hat_ornament,0,21622,
+beads,0,21608,
+denim_shorts,0,21571,"daisy_dukes,daisydukes,jean_shorts"
+saigyouji_yuyuko,4,21570,
+curly_hair,0,21567,curls
+purple_background,0,21559,
+green_background,0,21559,
+black-framed_eyewear,0,21535,black-framed_glasses
+pokemon_swsh,3,21472,"pokemon_shield,pokemon_sword"
+one-hour_drawing_challenge,0,21439,"1draw,wandoro"
+holding_phone,0,21428,holding_cellphone
+gym_uniform,0,21397,gym_clothes
+knee_up,0,21382,
+cumdrip,0,21331,cum_drip
+spread_pussy,0,21318,"open_pussy,pussy_spread,spread_vagina,spreadpussy"
+fur_collar,0,21299,
+school_bag,0,21279,schoolbag
+resolution_mismatch,5,21273,
+blue_shorts,0,21260,
+:q,0,21228,:9
+doggystyle,0,21218,doggy_style
+lolita_fashion,0,21152,lolita
+sun_hat,0,21101,sunhat
+pauldrons,0,21077,"pauldron,spaulders"
+black_sailor_collar,0,21066,
+skeb_commission,5,21062,
+empty_eyes,0,21017,dead_eyes
+goggles_on_head,0,21006,goggle_on_head
+outside_border,0,21005,"cropped_background,out_of_border,outside_of_border"
+spoken_ellipsis,0,21004,
+4boys,0,20974,4boy
+blue_flower,0,20947,
+pink_shirt,0,20922,pink_blouse
+pocket,0,20913,pockets
+under-rim_eyewear,0,20890,"under-rim_glasses,under_rim_glasses"
+toned,0,20886,
+cum_in_mouth,0,20875,"cumshot_in_mouth,oral_cumshot,semen_in_mouth"
+shiny_clothes,0,20826,
+bulge,0,20802,
+long_legs,0,20790,
+topless_male,0,20775,shirtless
+science_fiction,0,20765,"futuristic,sci-fi,sci_fi,scifi"
+alternate_breast_size,0,20763,
+hand_on_another's_head,0,20754,
+crying_with_eyes_open,0,20749,
+purple_skirt,0,20734,
+third-party_edit,5,20730,"edited,photoshopped"
+skull,0,20719,skulls
+jitome,0,20710,flat_gaze
+green_dress,0,20660,
+hand_in_own_hair,0,20616,"hand_in_hair,hand_on_hair"
+meme,0,20570,
+monster,0,20563,monsters
+outline,0,20557,"outlined,outlines"
+new_year,0,20550,"new_years,newyear"
+sunset,0,20521,
+toenails,0,20508,toenail
+futanari,0,20473,"dickgirl,futa"
+buruma,0,20439,"bum_huggers,bun_huggers,running_briefs"
+thighband_pantyhose,0,20412,
+kaga_(kancolle),4,20409,kaga_(kantai_collection)
+light_blush,0,20406,
+shield,0,20367,shields
+inubashiri_momiji,4,20360,inubashiri_momizi
+spear,0,20344,spears
+hands_on_hips,0,20299,"akimbo,hands_on_waist"
+emphasis_lines,0,20280,
+aged_up,0,20218,older
+v_arms,0,20157,v-arms
+frilled_shirt_collar,0,20143,
+frilled_apron,0,20142,
+female_masturbation,0,20075,masturbation_(female)
+white_sleeves,0,20053,
+asymmetrical_hair,0,20041,
+animal_hands,0,19971,"animal_paws,paw,paws"
+high-waist_skirt,0,19914,
+running,0,19896,run
+o_o,0,19839,o.o
+breast_squeeze,0,19831,"breasts_squeeze,breastsqueeze"
+dog,0,19799,dogs
+=_=,0,19775,
+track_jacket,0,19752,
+competition_swimsuit,0,19744,
+long_skirt,0,19707,
+tied_hair,0,19687,hair_tied
+princess_connect!,3,19639,"priconne,princess_connect!_re:dive"
+striped_bikini,0,19632,
+ice,0,19624,
+angel_wings,0,19602,
+mole_on_breast,0,19583,
+watch,0,19574,
+minigirl,0,19533,mini_girl
+dog_tail,0,19533,african_wild_dog_tail
+teddy_bear,0,19523,"stuffed_bear,teddybear"
+legs_together,0,19520,"knees_together,knees_together_feet_together"
+black_serafuku,0,19458,
++_+,0,19447,"cross-shaped_pupils,star_eyes,starry_eyes"
+impossible_clothes,0,19440,impossible_clothing
+gold_trim,0,19390,
+head_rest,0,19373,chin_rest
+ass_grab,0,19331,"grabbing_ass,squeezing_ass"
+faceless_male,0,19281,mister_x
+blue_footwear,0,19265,"blue_boots,blue_shoes"
+white_skin,0,19215,
+white_pupils,0,19207,
+single_earring,0,19183,one_earring
+hat_removed,0,19155,hat_off
+blue_theme,0,19146,
+bespectacled,0,19137,
+folded_ponytail,0,19114,
+ghost,0,19106,ghosts
+tress_ribbon,0,19093,
+turret,0,19076,turrets
+toaru_majutsu_no_index,3,19075,"a_certain_magical_index,to_aru_majutsu_no_index"
+purple_bow,0,19074,
+paw_pose,0,19074,"cat_pose,dog_pose"
+pouch,0,19029,pouches
+red_scarf,0,18995,
+plump,0,18956,"chubby,muchi"
+popsicle,0,18942,icelolly
+shawl,0,18917,
+blue_one-piece_swimsuit,0,18912,blue_swimsuit
+rabbit,0,18900,"bunny,rabbits"
+poke_ball,0,18895,"monster_ball,poke_balls,pokeball,pokeballs"
+source_request,5,18880,"cg_request,need_source,no_source"
+sarashi,0,18853,"bandage_bra,bandagebra"
+brown_skirt,0,18801,
+cigarette,0,18756,"cigarete,cigarettes,cigarrete,cigarrette"
+knees_together_feet_apart,0,18710,knees_touching
+hand_in_pocket,0,18695,
+white_sailor_collar,0,18661,
+yukata,0,18599,
+age_difference,0,18593,older_on_younger
+hand_between_legs,0,18511,hands_between_legs
+hair_down,0,18507,hairdown
+brown_pantyhose,0,18501,
+sheathed,0,18484,
+bow_(weapon),0,18463,bow_and_arrow
+dragon_girl,0,18445,
+black_belt,0,18417,
+open_coat,0,18401,
+drinking_straw,0,18388,straw_(drinking)
+twins,0,18381,
+league_of_legends,3,18379,
+high_collar,0,18261,
+upside-down,0,18217,"upside_down,upsidedown"
+oni,0,18212,
+page_number,0,18162,
+serious,0,18132,stern
+jeans,0,18107,blue_jeans
+black_coat,0,18090,
+smirk,0,18072,
+black_vest,0,18049,
+object_insertion,0,18042,insertion
+brown_jacket,0,18020,brown_blazer
+light_rays,0,18002,
+robe,0,17999,robes
+thought_bubble,0,17995,thought_balloon
+military_hat,0,17990,military_cap
+injury,0,17972,"injured,injuries,wounded,wounds"
+yellow_shirt,0,17962,yellow_blouse
+yakumo_ran,4,17920,
+pose,0,17917,posing
+;),0,17913,
+mini_hat,0,17901,"minihat,tiny_hat"
+lollipop,0,17851,"lolipop,lollipops"
+blue_panties,0,17824,
+fate/apocrypha,3,17818,
+yellow_ribbon,0,17801,
+dakimakura_(medium),0,17770,dakimakura
+hoop_earrings,0,17740,hoop_earring
+striped_shirt,0,17705,striped_blouse
+braided_ponytail,0,17702,
+street_fighter,3,17701,streetfighter
+tabard,0,17689,
+sideburns,0,17658,
+patreon_username,0,17637,
+boku_no_hero_academia,3,17635,my_hero_academia
+bouncing_breasts,0,17628,
+circlet,0,17617,
+butt_crack,0,17600,"ass_crack,buttcrack,posterior_cleavage"
+pajamas,0,17588,"pajama,pyjama,pyjamas"
+eyebrows_hidden_by_hair,0,17578,eyebrows_behind_hair
+missionary,0,17567,missionary_position
+crystal,0,17505,crystals
+lantern,0,17491,lanterns
+@_@,0,17466,"al_bhed_eyes,spiral_eyes,swirly_eyes"
+red_rose,0,17462,
+striped_bow,0,17429,
+wide-eyed,0,17420,"eyes_wide,shocked_eyes,wide_eyed,wide_eyes"
+ofuda,0,17387,
+|_|,0,17362,||_||
+contemporary,0,17338,modern_clothing
+water_drop,0,17323,"droplet,droplets,rain_drop,rain_drops,raindrop,raindrops,water_droplets,water_drops"
+top_hat,0,17261,"magician_hat,tophat"
+tentacle_hair,0,17235,
+kagamine_rin,4,17226,
+:t,0,17218,
+breastplate,0,17216,"breast_plate,chest_plate,chestplate"
+chocolate,0,17188,
+threesome,0,17136,3p
+jumping,0,17110,jump
+blurry_foreground,0,17110,
+white_shorts,0,17099,
+rock,0,17092,rocks
+hairpin,0,17056,"hair_pin,hairpins"
+partially_fingerless_gloves,0,17000,partly_fingerless_gloves
+hug_from_behind,0,17000,back_hug
+sports_bra,0,16995,
+handbag,0,16957,"hand_bag,purse"
+white_hairband,0,16956,
+blue_necktie,0,16954,
+outstretched_hand,0,16939,"hand_outstretched,hands_outstretched,outstretched_hands"
+oekaki,0,16927,
+moriya_suwako,4,16923,
+height_difference,0,16908,
+konpaku_youmu_(ghost),4,16896,myon
+mirror,0,16875,mirrors
+chopsticks,0,16874,chopstick
+object_hug,0,16851,hugging_object
+belt_buckle,0,16830,
+wooden_floor,0,16787,
+bouquet,0,16782,bouquets
+pink_lips,0,16773,pink_lipstick
+black_bowtie,0,16771,
+blood_on_face,0,16763,bloody_face
+colored_eyelashes,0,16747,"aqua_eyelashes,blonde_eyelashes,blue_eyelashes,coloured_eyelashes,green_eyelashes,grey_eyelashes,multicolored_eyelashes,orange_eyelashes,pink_eyelashes,purple_eyelashes,red_eyelashes,silver_eyelashes,white_eyelashes"
+full-face_blush,0,16743,full_face_blush
+rumia,4,16720,
+stairs,0,16678,"stair,staircase,stairway,steps"
+paper,0,16670,
+mug,0,16655,
+miki_sayaka,4,16633,
+valentine,0,16630,"valentien,valentine's_day,valentines,valentines_day"
+shoulder_bag,0,16609,
+sportswear,0,16601,sports_uniform
+white_kimono,0,16572,white_yukata
+snowing,0,16554,falling_snow
+mountain,0,16498,mountains
+kazami_yuuka,4,16466,kazami_yuka
+covering_breasts,0,16463,"breast_cover,breast_covering,breasts_covering,handbra"
+animal_hood,0,16458,
+star_hair_ornament,0,16448,
+underwater,0,16437,under_water
+kaenbyou_rin,4,16412,orin
+holding_umbrella,0,16407,
+wedding_dress,0,16404,weddingdress
+miko,0,16365,shrine_maiden
+city,0,16310,
+mature_male,0,16303,dilf
+cropped_torso,0,16278,
+green_jacket,0,16221,
+glint,0,16214,
+animated_gif,5,16197,gif
+vibrator,0,16181,vibrators
+the_legend_of_zelda,3,16167,"legend_of_zelda,zelda_no_densetsu"
+shimakaze_(kancolle),4,16163,"shimakaze_(kantai_collection),zekamashi"
+snake,0,16157,snakes
+adjusting_clothes,0,16152,
+meme_attire,0,16138,
+reiuji_utsuho,4,16106,okuu
+doll,0,16102,dolls
+enmaided,0,16090,
+open_book,0,16077,
+video,5,16064,"mp4,videos,webm"
+panties_aside,0,16026,panty_aside
+bloomers,0,16026,
+backless_outfit,0,15986,"backless,open_back"
+fighting_stance,0,15978,battle_stance
+hair_bell,0,15975,"bell_hair_ornament,hair_bells,hairbell,hairbells"
+cum_on_hair,0,15956,"cum_in_hair,semen_on_hair"
+sign,0,15942,signs
+pout,0,15942,
+borrowed_character,0,15903,
+saber,4,15901,
+bandaged_arm,0,15871,bandaged_arms
+waving,0,15862,wave
+hibiki_(kancolle),4,15846,hibiki_(kantai_collection)
+multicolored_eyes,0,15831,
+chen,4,15801,
+motion_blur,0,15791,
+ice_cream,0,15787,"ice-cream,ice-creams,ice_creams,icecream,icecreams"
+skirt_hold,0,15762,dress_hold
+forehead_mark,0,15756,
+crossed_bangs,0,15740,
+mature_female,0,15739,"mature,mature_woman,milf"
+colored_inner_hair,0,15721,
+realistic,0,15720,
+aircraft,0,15710,
+strawberry,0,15701,strawberries
+mouse_ears,0,15693,"nezumimi,rat_ears"
+one_eye_covered,0,15692,covered_eye
+raised_eyebrows,0,15690,
+headpiece,0,15649,
+orange_bow,0,15631,
+spoon,0,15582,spoons
+nose,0,15576,
+love_live!_sunshine!!,3,15546,
+text_focus,0,15538,text
+partially_translated,5,15521,"partial_translation,partly_translated"
+panties_around_one_leg,0,15517,panties_around_leg
+card,0,15500,cards
+!?,0,15469,"!!?,!?!,?!,?!!,interrobang"
+turtleneck_sweater,0,15464,
+pink_bra,0,15459,
+round_teeth,0,15448,
+brother_and_sister,0,15426,
+fire_emblem_heroes,3,15359,
+hands_in_pockets,0,15357,
+nurse_cap,0,15348,nurse_hat
+kamishirasawa_keine,4,15332,
+fate/zero,3,15311,fate_zero
+remodel_(kantai_collection),0,15309,
+front-tie_bikini_top,0,15302,front-tie_bikini
+visor_cap,0,15259,
+yellow_flower,0,15220,
+fence,0,15207,
+strike_witches,3,15201,
+bandana,0,15183,bandanna
+clitoris,0,15179,clit
+center_opening,0,15176,absolute_cleavage
+eighth_note,0,15150,quaver
+hair_tie,0,15147,"hair_ties,hairtie"
+touken_ranbu,3,15137,torabu
+white_pants,0,15101,
+leash,0,15080,
+mustache,0,15063,moustache
+grey_jacket,0,15004,"gray_jacket,silver_jacket"
+anklet,0,14998,"ankle_bracelet,ankle_bracelets,anklets,leg_bracelet"
+white_one-piece_swimsuit,0,14995,white_swimsuit
+short_eyebrows,0,14960,
+holding_staff,0,14952,
+white_leotard,0,14951,
+hime_cut,0,14950,"himecut,princess_cut"
+green_headwear,0,14949,green_hat
+palm_tree,0,14943,palm_trees
+geta,0,14943,
+sand,0,14930,
+card_(medium),0,14925,
+dragon,0,14907,
+tatara_kogasa,4,14899,
+fire_emblem:_three_houses,3,14893,fire_emblem:_fuukasetsugetsu
+covering_mouth,0,14842,"hands_over_mouth,hiding_mouth"
+kawashiro_nitori,4,14839,
+drink,0,14826,"beverage,drinks"
+sailor_hat,0,14821,sailor_cap
+stubble,0,14817,
+anchor_symbol,0,14817,
+pokemon_sm,3,14808,"pokemon_moon,pokemon_sun,pokemon_sun_and_moon"
+blue_skin,0,14806,
+idolmaster_million_live!,3,14804,"idolmaster_million_live,million_live"
+dildo,0,14802,
+mash_kyrielight,4,14763,shielder_(fate/grand_order)
+green_shirt,0,14753,green_blouse
+top-down_bottom-up,0,14749,"ass-up_head-down,face-down_ass-up,face_down_ass_up,top-down-bottom-up,top_down_bottom_up"
+antennae,0,14747,antenna
+door,0,14740,doors
+can,0,14739,cans
+arrow_(projectile),0,14735,arrows
+fantasy,0,14723,
+orange_background,0,14699,
+overflow,0,14692,
+sitting_on_person,0,14680,sitting_on
+on_floor,0,14671,sitting_on_floor
+scar_across_eye,0,14642,eye_scar
+fork,0,14624,
+alternate_color,0,14576,"alternate_colors,alternative_color"
+hip_focus,0,14575,hips
+round_eyewear,0,14572,round_glasses
+hinanawi_tenshi,4,14557,"hinanai_tenshi,tenshi_hinanai"
+xenoblade_chronicles_(series),3,14553,xenoblade_(series)
+dragon_tail,0,14520,
+mouth_mask,0,14503,face_mask
+blindfold,0,14496,blindfolded
+frog_hair_ornament,0,14489,
+asymmetrical_bangs,0,14481,asymmetric_bangs
+mario_(series),3,14473,
+adjusting_hair,0,14462,
+indie_virtual_youtuber,3,14440,
+spread_arms,0,14434,arms_spread
+purple_flower,0,14419,
+honkai_(series),3,14415,
+yu-gi-oh!,3,14393,"yu-gi-oh,yu-gi-ou,yu-gi-ou!,yugioh,yugioh!,yuu-gi-ou,yuugioh"
+camera,0,14391,
+arrow_(symbol),0,14380,"directional_arrow,directional_arrows,directional_arrows"
+furrowed_brow,0,14359,furrowed_eyebrows
+interracial,0,14357,
+licking_lips,0,14335,lip_licking
+fake_tail,0,14302,fake_animal_tail
+sakura_kyouko,4,14289,
+tall_image,5,14288,
+wand,0,14282,magic_wand
+arched_back,0,14252,
+zoom_layer,0,14247,zoomlayer
+off-shoulder_dress,0,14236,
+sharp_fingernails,0,14227,
+folding_fan,0,14212,
+black_one-piece_swimsuit,0,14210,black_swimsuit
+straw_hat,0,14209,
+arms_at_sides,0,14208,
+green_ribbon,0,14203,
+double_v,0,14200,double_peace
+long_dress,0,14191,
+tomoe_mami,4,14189,
+music,0,14184,
+apple,0,14173,apples
+sword_art_online,3,14151,
+overwatch,3,14148,
+jacket_on_shoulders,0,14147,"coat_on_shoulders,coat_over_shoulders,jacket_over_shoulders"
+emblem,0,14133,
+head_out_of_frame,0,14110,"cropped_head,eyes_out_of_frame"
+mixed-language_commentary,5,14109,"bilingual_commentary,multilingual_commentary"
+sun,0,14095,
+lowleg,0,14092,
+blanket,0,14056,
+hanging_breasts,0,14053,"hanging_boob,hangingboob"
+sunflower,0,14052,sunflowers
+anime_screencap,5,14040,screencap
+final_fantasy_xiv,3,14039,"ff14,ffxiv"
+arm_warmers,0,14013,armwarmers
+rabbit_girl,0,14010,
+honkai_impact_3rd,3,14001,
+white_wings,0,13996,
+labcoat,0,13993,lab_coat
+gag,0,13985,
+groping,0,13984,"fondle,fondling,grope"
+railing,0,13970,
+yokozuwari,0,13969,
+paid_reward_available,5,13961,reward_available
+cannon,0,13956,cannons
+dragon_ball,3,13943,dragonball
+shigure_(kancolle),4,13917,shigure_(kantai_collection)
+alternate_hair_length,0,13908,alternative_hair_length
+pink_footwear,0,13905,"pink_boots,pink_shoes"
+paid_reward,5,13905,
+veiny_penis,0,13884,
+heart_hair_ornament,0,13882,
+wince,0,13874,cringe
+black_bodysuit,0,13869,
+bandeau,0,13856,
+gothic_lolita,0,13847,"gosurori,gothloli"
+final_fantasy_vii,3,13847,"ff7,ffvii,final_fantasy_7"
+horizon,0,13838,
+overwatch_1,3,13837,
+brown_headwear,0,13823,brown_hat
+purple_ribbon,0,13799,
+holding_clothes,0,13746,
+houraisan_kaguya,4,13743,
+name_tag,0,13741,nametag
+furry_female,0,13727,female_furry
+leg_lift,0,13723,"leg_raise,leg_raised,raised_leg"
+bun_cover,0,13710,bun_covers
+muscular_female,0,13695,
+shota,0,13694,
+goatee,0,13686,
+unbuttoned,0,13681,
+pink_bikini,0,13673,"pink_bikini_bottom,pink_bikini_top"
+highleg_panties,0,13662,
+pasties,0,13658,
+dog_girl,0,13657,
+chinese_text,0,13631,chinese
+branch,0,13622,"branches,tree_branch"
+angel,0,13613,"angels,archangel,tenshi"
+floral_background,0,13605,flower_background
+re:zero_kara_hajimeru_isekai_seikatsu,3,13561,"re:zero,re:zero_-_starting_life_in_another_world,re:zero__starting_life_in_another_world,re_zero"
+beanie,0,13556,tuque
+blue_kimono,0,13553,blue_yukata
+hand_on_own_cheek,0,13546,"hand_on_cheek,hand_to_cheek"
+partially_visible_vulva,0,13544,
+clock,0,13537,clocks
+jack-o'-lantern,0,13531,"jack-o-lantern,jack_o'_lantern,jack_o_lantern"
+hitodama,0,13529,"fox_fire,soul_flame,spirit_flame"
+black_sclera,0,13529,
+smoking,0,13527,
+koakuma,4,13523,
+red_hairband,0,13493,
+imageboard_desourced,5,13452,
+android,0,13447,gynoid
+hand_on_headwear,0,13434,hand_on_hat
+off-shoulder_shirt,0,13409,
+lactation,0,13407,"lactating,milk_breasts,milking"
+swimsuit_under_clothes,0,13405,
+underbust,0,13389,
+protected_link,5,13387,
+brown_legwear,0,13377,"brown_kneehighs,brown_leggings,brown_pantyhose,brown_socks,brown_thighhighs"
+kill_la_kill,3,13352,
+hat_flower,0,13343,
+eyeball,0,13325,eyeballs
+untied,0,13307,
+microskirt,0,13292,
+back-to-back,0,13287,back_to_back
+red_cape,0,13281,
+petticoat,0,13277,
+tales_of_(series),3,13272,
+purple_shirt,0,13265,purple_blouse
+dot_nose,0,13246,
+tabi,0,13215,
+food_on_face,0,13187,food_on_cheek
+ahegao,0,13174,
+basket,0,13173,
+nipple_slip,0,13170,"nip_slip,nippleslip,nipslip"
+vambraces,0,13154,vambrace
+ass_focus,0,13135,pov_ass
+bookshelf,0,13130,"bookcase,bookshelves"
+gakuran,0,13118,
+logo,0,13083,
+criss-cross_halter,0,13078,criss_cross_halter
+splatoon_(series),3,13074,splatoon
+black_sleeves,0,13067,
+large_areolae,0,13059,"big_areola,big_areolae,large_areola"
+drawstring,0,13038,drawstrings
+kongou_(kancolle),4,13037,kongou_(kantai_collection)
+wolf_girl,0,13030,
+pointless_censoring,0,13029,pointless_censorship
+argyle,0,13015,argyle_print
+armored_dress,0,13013,armoured_dress
+fairy_wings,0,13011,
+collared_dress,0,13005,
+character_doll,0,12997,
+suspender_skirt,0,12964,
+cabbie_hat,0,12961,
+grabbing_from_behind,0,12952,
+tail_ornament,0,12950,
+lace-up_boots,0,12947,lace_up_boots
+purple_nails,0,12923,"lavender_nails,purple_fingernails"
+saliva_trail,0,12884,saliva_string
+silhouette,0,12870,
+bandaid_on_face,0,12849,
+pocky,0,12847,pepero
+pokemon_(anime),3,12840,
+unzipped,0,12820,
+blue_pants,0,12814,
+size_difference,0,12809,
+hand_on_another's_shoulder,0,12806,
+large_penis,0,12800,big_penis
+mystia_lorelei,4,12778,
+monogatari_(series),3,12763,
+white_scarf,0,12762,
+headdress,0,12755,
+white_coat,0,12747,
+covered_mouth,0,12744,"hidden_mouth,mouth_covered"
+kneepits,0,12743,"knee_pit,kneepit"
+silent_comic,0,12740,
+taut_clothes,0,12738,taut_clothing
+gangbang,0,12731,"gang_bang,gang_rape,gang_sex,gangrape,gangsex"
+blue_gloves,0,12720,
+crotch_seam,0,12697,
+onsen,0,12668,"hot_spring,hot_springs,hotspring"
+gift_box,0,12665,
+gohei,0,12653,
+red_vest,0,12631,
+painttool_sai_(medium),5,12622,
+yellow_ascot,0,12616,
+butterfly_hair_ornament,0,12583,
+anchor,0,12562,
+leaning_back,0,12554,
+drinking,0,12535,sipping
+everyone,0,12507,"everybody,group"
+gochuumon_wa_usagi_desu_ka?,3,12494,"gochiusa,gochuumon_wa_usagi_desuka?,is_the_order_a_rabbit?"
+blue_bowtie,0,12493,
+inazuma_(kancolle),4,12492,inazuma_(kantai_collection)
+retro_artstyle,0,12485,oldschool
+ibuki_suika,4,12472,
+inaba_tewi,4,12458,inaba_tei
+on_head,0,12457,
+cow_print,0,12451,cowprint
+military_vehicle,0,12428,
+cow_ears,0,12426,ushimimi
+no_nose,0,12421,
+winter_clothes,0,12407,
+holding_flower,0,12405,
+naruto_(series),3,12398,
+sundress,0,12392,"summer_dress,summerdress,sun_dress"
+shrug_(clothing),0,12383,naked_shrug
+witch,0,12379,"sorceress,witch_costume"
+guitar,0,12353,
+naval_uniform,0,12351,
+highleg_swimsuit,0,12351,
+center_frills,0,12342,
+bridal_garter,0,12325,leg_garter
+pen,0,12307,
+2koma,0,12304,
+pool,0,12267,swimming_pool
+electricity,0,12266,
+arm_grab,0,12263,"arm_hold,grabbing_arm"
+wind_lift,0,12255,"ecchi_no_kaze,skirt_blow,windlift"
+tiles,0,12230,tile
+heart_censor,0,12220,censor_heart
+bishoujo_senshi_sailor_moon,3,12190,
+toenail_polish,0,12173,
+guilty_gear,3,12172,guiltygear
+black_cape,0,12171,
+frog,0,12165,frogs
+akagi_(kancolle),4,12165,akagi_(kantai_collection)
+glass,0,12163,
+photo_(medium),0,12162,
+souryuu_asuka_langley,4,12157,"asuka_langley_souryuu,shikinami_asuka_langely,shikinami_asuka_langley,shikinami_asuka_langly,sohryu_asuka_langley,soryu_asuka_langley,soryuu_asuka_langly,souryuu_asuka_langly"
+spaghetti_strap,0,12151,spaghetti_straps
+checkered_clothes,0,12150,checkered_clothing
+hijiri_byakuren,4,12148,
+red_lips,0,12145,red_lipstick
+adjusting_eyewear,0,12084,"adjusting_glasses,adjusting_sunglasses"
+brown_thighhighs,0,12070,
+flag,0,12028,flags
+ganyu_(genshin_impact),4,12009,"ganyu,kan'u_(genshin_impact)"
+mittens,0,11985,mitts
+headpat,0,11952,"head_pat,patting_head,petting"
+code_geass,3,11931,code_geass_hangyaku_no_lelouch_r2
+muneate,0,11928,
+salute,0,11910,
+wedding_ring,0,11908,wedding_band
+bound_wrists,0,11907,"bound_hands,hands_bound,hands_tied,tied_hands,tied_wrists,wrists_bound"
+reading,0,11899,
+bangle,0,11895,bangles
+selfie,0,11825,self_shot
+chestnut_mouth,0,11792,
+ankle_boots,0,11787,
+scythe,0,11786,
+facing_away,0,11780,
+korean_text,0,11779,korean
+double-breasted,0,11770,
+blue_thighhighs,0,11769,
+flipped_hair,0,11763,soto-hane
+purple_bikini,0,11757,"purple_bikini_bottom,purple_bikini_top"
+waitress,0,11747,
+classroom,0,11726,class_room
+female_child,0,11715,
+nazrin,4,11693,
+absurdly_long_hair,0,11693,"extremely_long_hair,hair_past_feet"
+xenoblade_chronicles_2,3,11692,xenoblade_2
+poke_ball_(basic),0,11680,poke_ball_(generic)
+hair_stick,0,11666,hair_sticks
+chromatic_aberration,0,11658,
+talking,0,11638,
+strap_gap,0,11635,
+airplane,0,11595,"aeroplane,airplanes,plane,planes"
+vision_(genshin_impact),0,11591,
+uneven_legwear,0,11564,asymmetrical_legwear
+cheerleader,0,11562,cheergirl
+magic,0,11546,
+car,0,11540,cars
+beachball,0,11528,beach_ball
+smug,0,11509,
+pinafore_dress,0,11500,jumper
+food-themed_hair_ornament,0,11500,"food_hair_ornament,food_themed_hair_ornament"
+toaru_kagaku_no_railgun,3,11497,"a_certain_scientific_railgun,to_aru_kagaku_no_railgun"
+wristwatch,0,11481,wrist_watch
+one_piece,3,11470,
+flat_cap,0,11468,
+mahou_shoujo_lyrical_nanoha,3,11465,"mahou_shoujo_lyirical_nanoha,mahoushoujolyricalnanoha"
+fur-trimmed_jacket,0,11444,fur-lined_jacket
+lucky_star,3,11438,
+cleft_of_venus,0,11424,
+nun,0,11410,
+inverted_nipples,0,11385,sunken_nipples
+pulled_by_self,0,11373,
+kita_high_school_uniform,0,11362,
+notice_lines,0,11349,
+earmuffs,0,11342,"ear_muffs,earmuff"
+ugoira,5,11336,
+kagamine_len,4,11303,kagamine_ren
+light,0,11299,
+shirt_tucked_in,0,11294,tucked_in_shirt
+hand_to_own_mouth,0,11292,"hand_on_lips,hand_to_lip,hand_to_mouth,hands_to_mouth,hands_to_own_mouth"
+gagged,0,11279,
+pom_pom_(cheerleading),0,11264,"pom-pom,pom-poms,pom-pon,pom-pons,pom_poms,pompom,pompoms,pompon,pompons"
+bikini_under_clothes,0,11264,
+nurse,0,11250,"nurse_outfit,nurse_uniform"
+houjuu_nue,4,11233,
+potted_plant,0,11225,potted_plants
+horn_ornament,0,11221,
+bucket,0,11209,pail
+bukkake,0,11201,"bukake,bukakke,cum_covered,cum_everywhere"
+rigging,0,11199,
+road,0,11191,
+tenryuu_(kancolle),4,11181,tenryuu_(kantai_collection)
+hands_on_own_chest,0,11181,"hands_on_chest,hands_to_chest"
+stud_earrings,0,11177,"ear_stud,ear_studs"
+battle,0,11160,
+spoken_question_mark,0,11149,
+danganronpa_2:_goodbye_despair,3,11132,"dangan-ronpa_2,dangan_ronpa_2,super_dangan-ronpa_2,super_dangan_ronpa_2,super_danganronpa_2"
+armored_boots,0,11128,
+bare_back,0,11114,
+nipple_tweak,0,11108,nipple_pinch
+animal_costume,0,11106,
+tatami,0,11056,
+eyeliner,0,11025,
+ninja,0,11023,kunoichi
+mecha_musume,0,11011,"mechamusume,weapongirl"
+sideways_glance,0,11007,side_glance
+triangular_headpiece,0,11003,
+foot_focus,0,10995,"feet_focus,pov_feet"
+hakama_short_skirt,0,10991,hakama_skirt
+tamamo_(fate),4,10988,tamamo_(fate)_(all)
+sexually_suggestive,0,10985,innuendo
+light_blue_hair,0,10982,
+cow_horns,0,10974,
+style_parody,0,10965,
+kono_subarashii_sekai_ni_shukufuku_wo!,3,10959,"kono_subarashii_sekai_ni_shukufuku_o!,konosuba"
+assault_rifle,0,10949,
+neptune_(series),3,10944,
+lamp,0,10942,lamps
+holding_poke_ball,0,10934,holding_pokeball
+snake_hair_ornament,0,10922,
+fire_emblem_fates,3,10921,fire_emblem_if
+femdom,0,10893,
+bench,0,10877,
+blazblue,3,10852,
+>:),0,10844,
+yasaka_kanako,4,10840,
+candle,0,10837,candles
+yuudachi_(kancolle),4,10824,yuudachi_(kantai_collection)
+yagokoro_eirin,4,10824,
+controller,0,10824,
+bush,0,10823,"bushes,shrubbery"
+mahou_shoujo_lyrical_nanoha_strikers,3,10820,mahou_shoujo_lyirical_nanoha_strikers
+:>,0,10817,
+overalls,0,10801,
+happy_sex,0,10798,
+scales,0,10787,
+hair_over_eyes,0,10778,hair_covering_eyes
+tube_top,0,10773,tubetop
+naked_shirt,0,10772,nude_shirt
+back_bow,0,10769,
+bow_bra,0,10764,
+cityscape,0,10762,
+the_king_of_fighters,3,10756,"king_of_fighters,kingoffighters,kof"
+mask_on_head,0,10740,
+bags_under_eyes,0,10738,"dark_circles,eye_circles,eyebags"
+bad_anatomy,0,10733,
+riding,0,10725,
+biting,0,10724,bite
+ragnarok_online,3,10698,ragnarokonline
+dragon_quest,3,10687,
+megurine_luka,4,10682,
+crown_braid,0,10672,
+brown_belt,0,10669,
+bridal_veil,0,10666,wedding_veil
+sailor_shirt,0,10661,
+pokemon_bw,3,10652,"pokemon_b&w,pokemon_black,pokemon_black_and_white,pokemon_white"
+white_sweater,0,10645,
+mini_crown,0,10624,tiny_crown
+brown_dress,0,10601,
+open_fly,0,10597,unbuttoned_pants
+fairy,0,10593,"faerie,fairies,pixie"
+stuffed_bunny,0,10590,stuffed_rabbit
+pink_headwear,0,10568,pink_hat
+ikazuchi_(kancolle),4,10558,ikazuchi_(kantai_collection)
+hair_behind_ear,0,10549,
+sarong,0,10542,pareo
+joints,0,10538,
++++,0,10519,
+japanese_armor,0,10512,"japanese_armour,samurai_armor"
+source_smaller,5,10491,
+pov_hands,0,10489,hand_pov
+ice_wings,0,10488,
+covering_crotch,0,10487,covering_pussy
+shade,0,10482,
+purple_panties,0,10472,
+toeless_legwear,0,10463,toeless_socks
+orgasm,0,10460,
+triangle_mouth,0,10422,
+dark,0,10404,
+cable,0,10398,"cables,cord,cords,electric_cable"
+red_kimono,0,10395,red_yukata
+wet_shirt,0,10393,"wet_blouse,wet_t-shirt,wetshirt"
+peach,0,10378,peaches
+jeanne_d'arc_alter_(fate),4,10372,jeanne_d'arc_(alter)_(fate)
+creature,0,10372,creatures
+hugging_own_legs,0,10357,"hugging_knees,hugging_legs,knee_hug,leg_hug"
+reaching_out,0,10351,
+key,0,10347,keys
+bird_wings,0,10342,
+fishnet_pantyhose,0,10335,
+inazuma_eleven_(series),3,10331,
+red_hakama,0,10318,
+pleated_dress,0,10312,
+bad_tumblr_id,5,10310,
+space,0,10301,outer_space
+mizuhashi_parsee,4,10296,
+halloween_costume,0,10290,
+blue_leotard,0,10290,
+doujinshi,5,10264,doujin
+air_bubble,0,10259,
+steaming_body,0,10257,
+randoseru,0,10253,naked_randoseru
+5boys,0,10239,5boy
+print_legwear,0,10238,"print_kneehighs,print_leggings,print_pantyhose,print_thighhighs"
+bathing,0,10224,
+lolita_hairband,0,10207,lolita_headband
+claw_pose,0,10200,
+fate/extra_ccc,3,10177,
+persona_4,3,10175,
+oil-paper_umbrella,0,10174,"japanese_umbrella,oriental_umbrella,paper_umbrella,wagasa"
+pilot_suit,0,10167,"flight_suit,flightsuit"
+holster,0,10166,
+food_in_mouth,0,10131,
+indian_style,0,10130,agura
+heart_of_string,0,10118,
+school_desk,0,10088,
+alternate_eye_color,0,10088,alternative_eye_color
+breast_pocket,0,10084,shirt_pocket
+own_hands_clasped,0,10067,"clasped_hands,hands_clasped,hands_clasped,locked_fingers"
+painting_(medium),0,10057,paint_(medium)
+single_side_bun,0,10044,side_bun
+paw_print,0,10043,"paw_prints,pawprint,pawprints"
+print_kimono,0,10039,print_yukata
+red_panties,0,10034,
+dagger,0,10032,daggers
+against_wall,0,10028,
+hands_on_own_face,0,10021,"hands_on_face,hands_to_face"
+laughing,0,10019,laugh
+hibiscus,0,10016,
+touhou_(pc-98),3,10010,
+red_choker,0,10009,
+yellow_bikini,0,9999,"yellow_bikini_bottom,yellow_bikini_top"
+abigail_williams_(fate),4,9984,abigail_williams_(fate/grand_order)
+hair_up,0,9976,
+wet_hair,0,9947,
+fubuki_(kancolle),4,9944,fubuki_(kantai_collection)
+confetti,0,9935,
+heart_hands,0,9933,
+petite,0,9929,
+one_breast_out,0,9929,breast_outside
+akiyama_mio,4,9929,
+star-shaped_pupils,0,9927,
+lace-trimmed_legwear,0,9927,"lace-trimmed_kneehighs,lace-trimmed_socks,lace-trimmed_thighhighs,lace_trimmed_thighhighs"
+blue_rose,0,9912,
+3d,0,9889,"3dcg,polygon"
+polka_dot_background,0,9885,polka-dot_background
+akatsuki_(kancolle),4,9884,akatsuki_(kantai_collection)
+alternate_hair_color,0,9882,"alternate_haircolor,alternative_hair_color"
+cross-laced_clothes,0,9880,cross-laced_clothing
+snowflakes,0,9878,snowflake
+plugsuit,0,9877,"plug_suit,plugsuits"
+carrot,0,9863,carrots
+black_collar,0,9861,
+string,0,9855,strings
+frilled_shirt,0,9848,frilled_blouse
+bath,0,9829,ofuro
+paw_gloves,0,9820,
+drunk,0,9815,
+zuikaku_(kancolle),4,9782,zuikaku_(kantai_collection)
+white_outline,0,9778,
+autumn_leaves,0,9767,fall_leaves
+tate_eboshi,0,9766,
+marker_(medium),0,9747,copics
+incest,0,9747,
+bracer,0,9732,bracers
+whisker_markings,0,9730,
+holding_bag,0,9724,"holding_backpack,holding_purse"
+bodystocking,0,9724,
+scabbard,0,9704,
+pumpkin,0,9698,pumpkins
+crescent_hair_ornament,0,9693,
+stretching,0,9688,stretch
+anal_object_insertion,0,9669,"anal_insertion,anal_object_push"
+sack,0,9665,
+tengen_toppa_gurren_lagann,3,9659,"gurren_lagann,tengen_toppa_gurren-lagann"
+parasol,0,9653,
+cum_in_ass,0,9653,"anal_nakadashi,semen_in_anus"
+raccoon_ears,0,9643,"tanuki_ears,tanukimimi"
+office_lady,0,9635,"officelady,ol"
+bat_(animal),0,9635,"bat,bats"
+source_larger,5,9630,
+star_print,0,9619,
+low_wings,0,9610,"hip_wings,lower_back_wings,waist_wings"
+ribbon_choker,0,9607,
+cone_hair_bun,0,9604,hair_cones
+red_legwear,0,9596,"red_kneehighs,red_leggings,red_pantyhose,red_socks,red_thighhighs"
+fujimaru_ritsuka_(female),4,9592,"female_protagonist_(fate/grand_order),gudako"
+umineko_no_naku_koro_ni,3,9585,"umineko,when_the_seagulls_cry"
+tasuki,0,9574,kimono_sleeve_ties
+asymmetrical_wings,0,9574,
+hand_on_another's_face,0,9560,
+facepaint,0,9552,face_paint
+wine_glass,0,9535,wineglass
+voiceroid,3,9527,
+wrist_scrunchie,0,9514,scrunchie_on_wrist
+computer,0,9510,
+torii,0,9508,"shrine_gate,torii_(gate),torii_gate"
+feather_hair_ornament,0,9508,"feather_in_hair,hair_feather,hair_feathers"
+holding_bottle,0,9505,
+nier_(series),3,9502,
+sakuragaoka_high_school_uniform,0,9496,
+teapot,0,9492,tea_pot
+holding_fan,0,9485,
+fake_horns,0,9482,
+zipper_pull_tab,0,9480,
+navel_cutout,0,9472,heart_navel_cutout
+higurashi_no_naku_koro_ni,3,9457,"higurashi,when_the_cicadas_cry"
+antlers,0,9454,
+check_commentary,5,9453,
+watercraft,0,9445,
+axe,0,9444,ax
+self_upload,5,9443,
+habit,0,9399,
+shingeki_no_kyojin,3,9380,attack_on_titan
+purple_gloves,0,9378,
+tiger_ears,0,9366,
+arm_tattoo,0,9353,
+magatama,0,9348,
+string_panties,0,9334,
+danganronpa_v3:_killing_harmony,3,9333,"danganronpa_v3,new_danganronpa_v3"
+haori,0,9324,
+rozen_maiden,3,9310,"rosen_maiden,rozenmaiden"
+fire_emblem_awakening,3,9300,"fire_emblem:_awakening,fire_emblem:_kakusei,fire_emblem_kakusei"
+belly,0,9296,
+black_sweater,0,9293,
+cum_on_clothes,0,9289,"cum_inside_clothes,cum_inside_thighhigh,cum_on_buruma,cum_on_clothing,cum_on_hat,cum_on_panties,cum_on_pantyhose,cum_on_shoes,cum_on_socks,cum_on_stockings,cum_on_swimsuit,cum_on_thighhighs,cum_under_clothes"
+mismatched_legwear,0,9274,
+red_thighhighs,0,9271,
+lace-trimmed_panties,0,9271,lace_trimmed_panties
+pixel_art,0,9259,sprite
+slippers,0,9256,slipper
+black_border,0,9256,
+brown_shirt,0,9248,brown_blouse
+nipple_piercing,0,9247,"nipple_piercings,pierced_nipples"
+rebuild_of_evangelion,3,9244,
+happy_new_year,0,9238,
+transparent,0,9225,transparency
+chinese_zodiac,0,9209,
+shibari,0,9202,"rope_bondage,ropebondage"
+fujimaru_ritsuka_(male),4,9199,"gudao,male_protagonist_(fate/grand_order)"
+holding_tray,0,9195,
+furry_male,0,9194,male_furry
+tight,0,9176,tight_clothes
+wagashi,0,9173,japanese_sweets
+blood_on_clothes,0,9163,"blood-stained_clothes,bloody_clothes"
+rwby,3,9158,
+artist_logo,0,9153,
+purple_jacket,0,9149,
+nagato_(kancolle),4,9145,nagato_(kantai_collection)
+toyosatomimi_no_miko,4,9141,
+vampire,0,9130,vampyr
+one-piece_tan,0,9119,
+grey_dress,0,9113,gray_dress
+pink_kimono,0,9104,pink_yukata
+derivative_work,5,9092,"derivative,plagiarism"
+idolmaster_cinderella_girls_starlight_stage,3,9091,
+morichika_rinnosuke,4,9076,"kourin,rinnosuke_morichika"
+hip_vent,0,9076,hip_cutout
+haruna_(kancolle),4,9072,haruna_(kantai_collection)
+hamakaze_(kancolle),4,9065,hamakaze_(kantai_collection)
+garrison_cap,0,9055,
+bikini_skirt,0,9046,
+tied_shirt,0,9041,
+pixiv_request,5,9038,
+fang_out,0,9038,
+precum,0,9029,
+yellow_neckerchief,0,9019,
+bald,0,9000,
+crescent_hat_ornament,0,8996,
+highleg_bikini,0,8992,
+image_sample,5,8988,
+mouse_tail,0,8974,rat_tail
+tachi-e,0,8970,
+thighlet,0,8969,
+hand_on_own_head,0,8968,
+nosebleed,0,8967,"blood_from_nose,bloody_nose,nose_bleed"
+knee_pads,0,8964,"knee_pad,kneepad,kneepads"
+magic_circle,0,8939,"magic_circles,magical_circle,magical_circles,mahoujin"
+curled_horns,0,8929,curled_horn
+fate_testarossa,4,8922,"fate_t_harlaown,fate_testarossa_harlaown"
+giant,0,8920,
+macross,3,8916,
+suzumiya_haruhi,4,8915,haruhi_suzumiya
+open_cardigan,0,8911,open_sweater
+grabbing_own_breast,0,8911,self_fondle
+evil_smile,0,8908,
+arm_strap,0,8903,
+black_kimono,0,8888,black_yukata
+tiger_print,0,8874,tigerprint
+purple_headwear,0,8872,purple_hat
+red_shorts,0,8866,
+raglan_sleeves,0,8860,
+fishnet_legwear,0,8853,"fishnet_pantyhose,fishnet_stockings,fishnet_thighhighs"
+leg_ribbon,0,8848,
+condom_wrapper,0,8824,
+asymmetrical_clothes,0,8812,asymmetrical_clothing
+pantyhose_pull,0,8809,"pantyhose_down,pantyhosepull"
+sample_watermark,0,8805,sample
+layered_dress,0,8805,
+draph,0,8805,doraf
+very_short_hair,0,8796,
+holding_knife,0,8795,
+hoshiguma_yuugi,4,8794,hoshiguma_yugi
+princess_carry,0,8789,bridal_carry
+hand_on_own_chin,0,8788,"hand_on_chin,hand_to_chin"
+striped_background,0,8786,
+midriff_peek,0,8770,belly_peek
+hair_censor,0,8765,censor_hair
+legwear_under_shorts,0,8759,"leggings_under_shorts,pantyhose_under_shorts,shorts_over_leggings,shorts_over_legwear,shorts_over_pantyhose"
+deep_skin,0,8751,
+short_kimono,0,8748,
+after_vaginal,0,8748,
+aura,0,8740,ki
+dancing,0,8727,dance
+shoulder_blades,0,8725,
+graphite_(medium),0,8721,"graphite,pencil_(medium),pencil_sketch"
+green_bikini,0,8717,"green_bikini_bottom,green_bikini_top"
+blue_bra,0,8717,
+nero_claudius_(fate),4,8715,"nero_claudius_(fate)_(all),saber_extra"
+looking_afar,0,8697,
+kicking,0,8675,kick
+scared,0,8670,"afraid,fear"
+smile_precure!,3,8665,"glitter_force,smile_precure"
+presenting,0,8661,sex_invitation
+half_gloves,0,8648,short_gloves
+link,4,8642,
+layered_sleeves,0,8629,
+pokemon_dppt,3,8620,"pokemon_d&p,pokemon_diamond,pokemon_diamond_and_pearl,pokemon_dp,pokemon_dpp,pokemon_pearl"
+head_wreath,0,8619,flower_crown
+layered_skirt,0,8617,
+pink_jacket,0,8613,
+pikachu,4,8605,
+wall,0,8602,
+manly,0,8592,gar
+tea,0,8580,
+male_child,0,8570,
+torpedo,0,8569,
+purple_thighhighs,0,8567,
+balloon,0,8565,balloons
+kashima_(kancolle),4,8564,kashima_(kantai_collection)
+tail_raised,0,8551,"raised_tail,tail_up"
+over_shoulder,0,8547,
+yellow_jacket,0,8546,
+crop_top_overhang,0,8526,
+nier_automata,3,8525,
+nakano_azusa,4,8523,
+one_knee,0,8508,kneeling_on_one_leg
+o-ring_top,0,8508,"o-ring_bikini_top,o_ring_top"
+male_underwear,0,8504,underwear_(male)
+open_kimono,0,8500,open_yukata
+mechanical_arms,0,8499,"robot_arms,robotic_arms"
+pigeon-toed,0,8495,"intoed,pigeon_toed,pigeon_toes"
+mother_and_daughter,0,8494,
+w,0,8476,
+used_condom,0,8475,
+disposable_cup,0,8472,"paper_cup,plastic_cup,soda_cup"
+hat_feather,0,8471,"feather_hat_ornament,feather_in_hat"
+paintbrush,0,8468,paint_brush
+yellow_dress,0,8456,
+tohsaka_rin,4,8442,toosaka_rin
+kagiyama_hina,4,8437,
+open_hand,0,8435,
+mermaid,0,8435,
+shanghai_doll,4,8432,
+nagato_yuki,4,8431,yuki.n
+shoulder_cutout,0,8429,
+green_skin,0,8429,
+backless_dress,0,8422,"open-back_dress,open_back_dress"
+o-ring_bikini,0,8421,"o_ring_bikini,ring_bikini"
+kimetsu_no_yaiba,3,8420,demon_slayer_(series)
+leather,0,8407,
+gap_(touhou),0,8404,
+reference_sheet,0,8392,character_sheet
+blue_vest,0,8384,
+greaves,0,8379,
+lace-trimmed_bra,0,8349,lace_trimmed_bra
+public_indecency,0,8342,"public,public_sex"
+in_container,0,8321,person_in_a_container
+animal_on_head,0,8319,
+shimenawa,0,8298,braided_rice_rope
+red_ascot,0,8289,
+company_name,0,8270,
+sound_effects,0,8254,onomatopoeia
+ooarai_school_uniform,0,8254,
+naked_towel,0,8254,"nude_towel,towel_wrap"
+bare_pectorals,0,8252,bare_pecs
+futa_with_female,0,8251,"female_on_futa,futa_on_female"
+naruto,3,8242,
+photo_(object),0,8239,"photograph_(object),picture,pictures"
+yellow_skirt,0,8226,
+lineart,0,8226,line_art
+sunbeam,0,8222,"crepuscular_rays,god_rays,light_shaft"
+colorized,5,8207,
+squiggle,0,8206,
+glowing_eye,0,8203,
+field,0,8201,
+limited_palette,0,8197,restricted_palette
+bandaged_leg,0,8193,
+symmetrical_docking,0,8192,breast_to_breast
+out-of-frame_censoring,0,8189,out_of_frame_censoring
+watercolor_(medium),0,8179,"watercolor,watercolour"
+maple_leaf,0,8176,maple_leaves
+star_earrings,0,8173,star_earring
+nishizumi_miho,4,8173,
+gawr_gura,4,8170,
+bamboo,0,8162,
+mmf_threesome,0,8159,fmm_threesome
+holding_microphone,0,8159,
+wriggle_nightbug,4,8158,
+rem_(re:zero),4,8152,
+tokyo_afterschool_summoners,3,8148,"housamo,tokyo_houkago_summoners"
+blue_neckerchief,0,8136,
+architecture,0,8134,
+multiple_persona,0,8128,"quadruple_persona,quintuple_persona,triple_persona"
+leg_grab,0,8127,grabbing_leg
+holding_polearm,0,8120,"holding_lance,holding_naginata,holding_spear"
+gameplay_mechanics,0,8111,
+imminent_kiss,0,8105,"almost_kiss,incipient_kiss"
+houshou_marine,4,8079,
+mononobe_no_futo,4,8075,
+daiyousei,4,8071,
+bedroom,0,8071,
+tsukihime,3,8061,shingetsutan_tsukihime
+breast_sucking,0,8060,"breast_suck,nipple_suck,nipple_sucking,sucking_breasts,sucking_nipples"
+tracen_school_uniform,0,8051,
+hirasawa_yui,4,8042,
+polka_dot_bow,0,8039,
+huge_ass,0,8038,"big_ass,big_butt"
+thumbs_up,0,8030,
+ryuujou_(kancolle),4,8030,ryuujou_(kantai_collection)
+red_leotard,0,8017,
+clothes_around_waist,0,8014,
+sleeveless_turtleneck,0,7998,
+on_couch,0,7980,on_sofa
+raiden_shogun,4,7970,"baal_(genshin_impact),raiden_(genshin_impact),raiden_shogun_(genshin_impact)"
+arm_cannon,0,7962,
+halftone,0,7942,
+grey_pants,0,7940,gray_pants
+naked_apron,0,7937,"hadaka_apron,nakedapron,nude_apron"
+bound_arms,0,7922,"arms_bound,arms_tied,tied_arms"
+kyubey,4,7919,"kyuubee,kyuubey"
+senki_zesshou_symphogear,3,7910,
+imminent_penetration,0,7910,imminent_sex
+body_fur,0,7899,
+peeing,0,7892,"oshikko,watersports"
+shiki_eiki,4,7886,"shikieiki_yamaxanadu,sikieiki_yamaxanadu"
+animification,0,7884,
+pee,0,7862,urine
+singing,0,7860,sing
+green_nails,0,7859,green_fingernails
+shoulder_tattoo,0,7855,
+explosion,0,7853,
+checkered_floor,0,7849,
+shackles,0,7844,"manacles,shackle"
+onozuka_komachi,4,7843,
+undercut,0,7821,
+double_penetration,0,7808,"doublepenetration,dp"
+pencil,0,7800,
+under_covers,0,7798,in_bed
+tile_floor,0,7794,
+hair_over_breasts,0,7790,hair_on_breasts
+bra_lift,0,7783,bralift
+suzuya_(kancolle),4,7770,suzuya_(kantai_collection)
+slingshot_swimsuit,0,7770,"sling_bikini,sling_swimsuit,slingbikini"
+brown_pants,0,7769,
+idol,0,7764,
+ruins,0,7761,ruin
+fate/kaleid_liner_prisma_illya,3,7760,
+summer,0,7758,
+cross_necklace,0,7749,
+bang_dream!,3,7748,
+falling,0,7743,
+cowbell,0,7737,cow_bell
+strap,0,7731,straps
+striped_dress,0,7721,
+plaid_vest,0,7720,
+raccoon_tail,0,7710,tanuki_tail
+iron_cross,0,7698,
+print_shirt,0,7693,"graphic_shirt,print_blouse"
+vines,0,7692,vine
+head_fins,0,7676,"fish_ears,headfins"
+erune,0,7674,erun_(granblue_fantasy)
+blue_hairband,0,7674,
+leggings,0,7665,
+mushroom,0,7654,mushrooms
+purple_legwear,0,7651,"purple_kneehighs,purple_leggings,purple_pantyhose,purple_socks,purple_thighhighs"
+tank,0,7649,tanks
+^o^,0,7644,
+scathach_(fate),4,7643,"scathach_(fate)_(all),scathach_(fate/grand_order)"
+dark_persona,0,7640,
+artist_self-insert,0,7639,artist_self_insert
+skirt_pull,0,7627,
+house,0,7626,houses
+avatar_(ff14),4,7625,avatar_(ffxiv)
+white_cape,0,7622,
+pubic_tattoo,0,7617,"crotch_tattoo,womb_tattoo,womb_tattoo"
+stitches,0,7615,
+vampire_(game),3,7610,"dark_stalkers,darkstalkers,vampire_savior,vampire_savior_(game),vampire_saviour"
+mega_man_(series),3,7606,rockman
+purple_footwear,0,7600,"purple_boots,purple_shoes"
+sleeve_cuffs,0,7594,"cuff_sleeve,cuff_sleeves,sleeve_cuff"
+black_cat,0,7585,black_cat_(animal)
+name_connection,0,7576,namesake
+fox_mask,0,7565,kitsune_mask
+super_smash_bros.,3,7561,"smash_bros,super_smash_bros,super_smash_bros._brawl,super_smash_bros._melee,super_smash_bros._ultimate,super_smash_bros_brawl,super_smash_bros_melee,super_smash_brothers,super_smash_brothers_brawl,super_smash_brothers_melee"
+eyewear_removed,0,7558,"glasses_off,glasses_removed,sunglasses_removed"
+annoyed,0,7556,irritated
+spoken_exclamation_mark,0,7553,
+misaka_mikoto,4,7544,
+ranguage,0,7543,"faux_finnish,faux_greek,flench,gelman,nihawngo,ratin"
+spiked_bracelet,0,7541,spiked_bracelets
+genderswap_(ftm),0,7538,
+second-party_source,5,7528,
+holding_hair,0,7528,
+vaginal_object_insertion,0,7521,"vaginal_insertion,vaginal_object_push"
+face-to-face,0,7513,face_to_face
+long_sideburns,0,7505,
+black_scarf,0,7499,
+black_hoodie,0,7498,
+chainsaw_man,3,7489,
+3koma,0,7482,
+usami_renko,4,7481,
+platform_footwear,0,7478,"platform_shoes,platforms"
+huge_weapon,0,7470,"bfg,huge_gun,huge_sword,oversized_weapon"
+television,0,7469,"television_screen,tv"
+patreon_reward,5,7465,
+arm_under_breasts,0,7464,
+yukkuri_shiteitte_ne,0,7447,"take_it_easy,yukkuri"
+one-eyed,0,7443,"one_eye,one_eyed,single_eye"
+bathroom,0,7442,
+sad,0,7437,sadness
+bikini_armor,0,7437,
+hachimaki,0,7436,
+tilted_headwear,0,7433,
+trigger_discipline,0,7431,
+takamachi_nanoha,4,7431,
+bikini_pull,0,7431,bikini_down
+shoulder_pads,0,7429,"shoulder_pad,shoulderpads"
+asymmetrical_docking,0,7423,
+beige_background,0,7421,
+sakazuki,0,7416,sake_dish
+doughnut,0,7407,"donut,donuts,doughnuts"
+toramaru_shou,4,7387,
+babydoll,0,7383,
+ringed_eyes,0,7380,
+french_kiss,0,7370,tongue_kiss
+head_scarf,0,7362,headscarf
+pants_pull,0,7359,pants_down
+sandwiched,0,7343,
+inactive_account,5,7337,
+illyasviel_von_einzbern,4,7332,ilya
+cutoffs,0,7319,
+duel_monster,0,7315,
+hand_on_own_knee,0,7303,hand_on_knee
+yorha_no._2_type_b,4,7294,"2b,2b_(nier)"
+invisible_chair,0,7290,
+pokemon_bw2,3,7277,"pokemon_b&w2,pokemon_b2&w2,pokemon_b2w2,pokemon_black_2,pokemon_black_2_and_white_2,pokemon_white_2"
+headphones_around_neck,0,7276,
+tifa_lockhart,4,7272,tifa_lockheart
+0_0,0,7271,
+saki,3,7267,
+fundoshi,0,7264,
+hand_on_own_thigh,0,7256,
+scar_on_cheek,0,7248,cheek_scar
+narrow_waist,0,7243,"slender_waist,slim_waist,thin_waist"
+inkling,4,7238,
+tiptoes,0,7233,"tip-toe,tip-toes,tip_toe,tip_toes,tiptoe"
+camouflage,0,7233,"camo,camouflage_print"
+black_neckerchief,0,7231,
+houshou_(kancolle),4,7222,houshou_(kantai_collection)
+old,0,7214,
+white_capelet,0,7210,
+sweater_dress,0,7207,sweaterdress
+persona_5,3,7205,
+bread,0,7205,
+imaizumi_kagerou,4,7203,
+id_card,0,7199,
+monster_hunter_(series),3,7191,monster_hunter
+white_rose,0,7179,
+necktie_between_breasts,0,7170,
+cunnilingus,0,7168,"cunilingus,cunillingus,cunnillingus,pussy_lick"
+ayanami_rei,4,7163,
+maribel_hearn,4,7153,maribel_han
+m_legs,0,7153,
+jeanne_d'arc_(fate),4,7153,"jeanne_d'arc_(fate)_(all),ruler_(fate/apocrypha)"
+holding_animal,0,7148,holding_bat_(animal)
+starry_background,0,7147,star_background
+orange_skirt,0,7144,
+shorts_under_skirt,0,7140,"bike_shorts_under_skirt,skirt_over_shorts"
+tinted_eyewear,0,7139,colored_lenses
+joseph_joestar,4,7127,
+dragon_ball_z,3,7126,dragonball_z
+crescent_moon,0,7119,
+go-toubun_no_hanayome,3,7112,the_quintessential_quintuplets
+partially_unbuttoned,0,7108,
+kamen_rider,3,7108,
+striped_necktie,0,7102,striped_tie
+futon,0,7095,
+earphones,0,7095,
+x-ray,0,7092,"x_ray,xray"
+white_eyes,0,7092,
+two-tone_dress,0,7092,
+splashing,0,7092,splash
+tiger_&_bunny,3,7083,"tiger&bunny,tiger_and_bunny"
+checkered_background,0,7079,
+white_choker,0,7075,
+dripping,0,7073,
+star_hat_ornament,0,7069,
+grey_footwear,0,7069,"gray_footwear,grey_boots,grey_shoes"
+ore_no_imouto_ga_konna_ni_kawaii_wake_ga_nai,3,7054,"my_little_sister_can't_be_this_cute,ore_no_imouto_ga_konnani_kawaii_wake_ga_nai,oreimo"
+wide_shot,0,7050,
+big_hair,0,7046,
+sliding_doors,0,7042,sliding_door
+wardrobe_malfunction,0,7035,
+covered_eyes,0,7021,eyes_covered
+casual_one-piece_swimsuit,0,7020,casual_one_piece_swimsuit
+voice_actor_connection,0,7019,"seiyuu_connection,seiyuu_joke"
+anchor_hair_ornament,0,7019,
+bobby_socks,0,7015,
+foot_out_of_frame,0,7014,
+leaf_on_head,0,7012,
+arm_garter,0,7012,
+holding_another's_wrist,0,7011,"grabbing_another's_wrist,wrist_grab"
+cow_girl,0,7006,cowgirl
+two_tails,0,6992,
+tainaka_ritsu,4,6990,
+smoking_pipe,0,6990,"pipe,pipe_(smoking)"
+;o,0,6988,
+bad_source,5,6985,
+animal_focus,0,6984,
+yuudachi_kai_ni_(kancolle),4,6983,
+split,0,6983,splits
+grey_skin,0,6981,gray_skin
+danganronpa:_trigger_happy_havoc,3,6981,danganronpa_1
+body_writing,0,6981,writing_on_body
+brick_wall,0,6978,
+broom_riding,0,6974,"broomriding,riding_broom,sitting_on_broom"
+matoi_ryuuko,4,6950,
+untied_bikini,0,6948,
+constricted_pupils,0,6948,"contracted_pupils,shrunk_eyes,shrunk_pupils"
+shigure_kai_ni_(kancolle),4,6940,
+no_pupils,0,6939,
+handcuffs,0,6937,handcuff
+on_ground,0,6925,sitting_on_ground
+navel_piercing,0,6924,"bellybutton_piercing,navel_ring"
+aqua_nails,0,6918,aqua_fingernails
+fur-trimmed_sleeves,0,6909,
+leaf_hair_ornament,0,6903,hair_leaf
+soaking_feet,0,6894,
+purple_kimono,0,6892,purple_yukata
+frilled_panties,0,6888,
+breast_rest,0,6884,
+winter,0,6880,
+facial_tattoo,0,6880,"face_tattoo,facial_tattoos"
+foreskin,0,6879,uncircumcised
+frilled_bow,0,6873,
+cross-section,0,6872,"cross_section,crossection,crosssection"
+bonnet,0,6871,
+yin_yang,0,6868,"yin-yang,ying-yang,ying_yang,yinyang"
+disembodied_limb,0,6862,"detached_hand,disembodied_hand,disembodied_hands,floating_hand"
+holding_gift,0,6861,holding_present
+lumine_(genshin_impact),4,6856,"female_traveler_(genshin_impact),hotaru_(genshin_impact),ying_(genshin_impact)"
+holding_fruit,0,6856,"holding_apple,holding_peach,holding_strawberry"
+object_on_head,0,6855,
+pink_theme,0,6848,
+arm_ribbon,0,6848,
+pink_rose,0,6835,
+cookie,0,6834,cookies
+shoes_removed,0,6821,shoes_off
+tiger_tail,0,6819,
+orange_shirt,0,6810,orange_blouse
+handheld_game_console,0,6807,handheld
+white_fur,0,6803,
+blue_neckwear,0,6799,"blue_ascot,blue_bowtie,blue_neckerchief,blue_necktie"
+spiked_collar,0,6798,spike_collar
+rolling_eyes,0,6782,"eye_roll,rolled_eyes,rolleyes"
+standing_sex,0,6781,
+persona_3,3,6766,
+serval_(kemono_friends),4,6760,
+ffm_threesome,0,6752,mff_threesome
+murakumo_(kancolle),4,6734,murakumo_(kantai_collection)
+nishikino_maki,4,6731,
+forehead_jewel,0,6728,forehead_gem
+watermelon,0,6723,watermelons
+1990s_(style),0,6719,"90's,90s"
+producer_(idolmaster),4,6717,
+arm_guards,0,6716,arm_guard
+single_shoe,0,6713,one_shoe
+fireworks,0,6710,firework
+jeanne_d'arc_alter_(avenger)_(fate),4,6693,jeanne_d'arc_(alter)_(fate)
+sonoda_umi,4,6690,
+purple_theme,0,6685,
+multiple_others,0,6682,
+folded,0,6681,
+bridge,0,6679,
+rimless_eyewear,0,6678,rimless_glasses
+sheet_grab,0,6664,grabbing_sheet
+partially_colored,0,6664,partially_monochrome
+rice,0,6650,gohan
+sailor_senshi_uniform,0,6649,
+blue_scarf,0,6649,
+chalkboard,0,6648,blackboard
+yellow_necktie,0,6647,
+syringe,0,6641,
+afterimage,0,6632,
+gyaru,0,6626,
+badge,0,6624,badges
+northern_ocean_princess,4,6619,northern_ocean_hime
+engrish_text,0,6616,
+interspecies,0,6613,
+heart_brooch,0,6611,
+green_panties,0,6606,
+armpit_crease,0,6605,
+bakemonogatari,3,6604,
+sitting_on_lap,0,6603,"lap_sitting,sitting_in_lap"
+neck_ring,0,6594,
+symbol_in_eye,0,6592,
+amatsukaze_(kancolle),4,6589,amatsukaze_(kantai_collection)
+himekaidou_hatate,4,6584,
+asymmetrical_gloves,0,6580,
+high_school_dxd,3,6576,highschool_dxd
+anniversary,0,6576,
+print_bikini,0,6573,
+ushio_(kancolle),4,6562,ushio_(kantai_collection)
+bleach,3,6559,
+water_bottle,0,6558,
+toned_male,0,6555,
+purple_skin,0,6554,
+!!,0,6553,"!!!,!!!!"
+shibuya_rin,4,6546,
+implied_sex,0,6546,
+stool,0,6541,
+monitor,0,6535,"computer_monitor,computer_screen"
+fat,0,6532,overweight
+east_asian_architecture,0,6522,"chinese_architecture,japanese_architecture"
+short_over_long_sleeves,0,6514,"long_sleeves_under_short_sleeves,long_under_short_sleeves,short_sleeves_over_long_sleeves"
+content_rating,0,6504,"age_rating,rating"
+shoe_soles,0,6496,
+sake,0,6496,
+ripples,0,6492,ripple
+submachine_gun,0,6491,
+inazuma_eleven_go,3,6484,
+oversized_clothes,0,6482,"floppy_sleeves,oversized_clothing"
+lion_ears,0,6475,
+toujou_nozomi,4,6471,
+beer,0,6469,
+green_vest,0,6456,
+:/,0,6453,:\
+red_theme,0,6452,
+rainbow,0,6451,rainbows
+hammer,0,6447,
+hooded_cloak,0,6446,
+brothers,0,6442,
+atago_(kancolle),4,6440,atago_(kantai_collection)
+bishounen,0,6436,"bishi,bishonen,bishounens"
+heart_earrings,0,6435,heart_earring
+egg,0,6429,eggs
+skirt_removed,0,6428,skirt_off
+red_horns,0,6428,
+dappled_sunlight,0,6426,"komorebi,sunlight_through_trees"
+scroll,0,6425,
+okita_souji_(fate),4,6425,"okita_souji_(fate)_(all),sakura_saber"
+red_skin,0,6424,
+chibi_inset,0,6422,
+torn_shirt,0,6415,torn_blouse
+giantess,0,6411,
+d:,0,6405,
+karakasa_obake,0,6402,"karakasa,karakasa-obake,kasa-obake,kasa_obake"
+pointing_at_viewer,0,6392,pov_pointing
+official_style,0,6388,
+fucked_silly,0,6381,
+yukikaze_(kancolle),4,6380,yukikaze_(kantai_collection)
+jaggy_lines,0,6374,jaggy_line
+yuru_yuri,3,6360,yuruyuri
+kaku_seiga,4,6356,
+red_pants,0,6354,
+pixiv_fantasia,3,6349,
+sniper_rifle,0,6348,
+mini_top_hat,0,6348,"mini_tophat,tiny_top_hat"
+lowleg_panties,0,6343,"low-leg_panties,low_leg_panties"
+tying_hair,0,6339,
+feeding,0,6338,
+shoukaku_(kancolle),4,6337,shoukaku_(kantai_collection)
+brown_sweater,0,6320,
+multicolored_background,0,6315,colorful_background
+fringe_trim,0,6315,fringe
+rabbit_hair_ornament,0,6310,bunny_hair_ornament
+hu_tao_(genshin_impact),4,6308,hu_tao
+skin-covered_horns,0,6307,
+planet,0,6303,planets
+frilled_bra,0,6303,
+murasa_minamitsu,4,6295,
+pink_thighhighs,0,6293,
+yazawa_nico,4,6287,
+hard_translated,5,6282,"hard_translation,hardsub"
+sepia,0,6277,
+print_panties,0,6263,
+spy_x_family,3,6262,
+princess_zelda,4,6257,zelda
+licking_penis,0,6257,penis_licking
+erection_under_clothes,0,6256,
+error,0,6254,
+chess_piece,0,6253,
+bathtub,0,6252,bath_tub
+blue_choker,0,6250,
+white_bodysuit,0,6241,
+goat_horns,0,6237,
+downblouse,0,6237,down_blouse
+fur-trimmed_coat,0,6218,
+ayase_eli,4,6214,ayase_eri
+cherry,0,6211,cherries
+motorcycle,0,6209,motorbike
+brown_coat,0,6209,
+third-party_source,5,6208,
+kafuu_chino,4,6202,
+bikini_bottom_only,0,6201,bikini_bottom
+undershirt,0,6192,
+off-shoulder_sweater,0,6190,
+micro_shorts,0,6189,
+torogao,0,6187,
+grey_shorts,0,6187,gray_shorts
+jiangshi,0,6186,"chinese_vampire,geung_si,kyonshii"
+to_heart_2,3,6182,toheart2
+fur-trimmed_gloves,0,6173,
+inkling_girl,4,6170,
+3:,0,6168,
+straight-on,0,6165,
+body_blush,0,6159,
+white_tank_top,0,6158,
+front_ponytail,0,6158,
+playing_instrument,0,6153,
+police,0,6150,"cop,police_officer"
+christmas_tree,0,6139,
+cushion,0,6137,
+chaldea_uniform,0,6137,
+yellow_bowtie,0,6134,
+senran_kagura,3,6130,senran_kagura_(series)
+belt_pouch,0,6129,
+zhongli_(genshin_impact),4,6128,shouri_(genshin_impact)
+grey_legwear,0,6127,"gray_kneehighs,gray_leggings,gray_legwear,gray_pantyhose,gray_socks,gray_thighhighs,grey_kneehighs,grey_leggings,grey_pantyhose,grey_socks,grey_thighhighs"
+tamamo_no_mae_(fate/extra),4,6122,"caster_(fate/extra),tamamo_no_mae_(fate)"
+ears_through_headwear,0,6121,
+power_lines,0,6102,power_line
+ribs,0,6098,ribcage
+miqo'te,0,6096,
+holding_stuffed_toy,0,6095,holding_stuffed_animal
+otonokizaka_school_uniform,0,6085,
+cyborg,0,6079,cyborgs
+cardcaptor_sakura,3,6076,"card_captor_sakura,ccs"
+panties_removed,0,6071,panties_off
+\m/,0,6071,
+pinky_out,0,6067,"extended_pinky,raised_pinky"
+zzz,0,6059,z
+perspective,0,6054,
+faulds,0,6052,
+race_queen,0,6051,racequeen
+coin,0,6048,coins
+nagae_iku,4,6043,
+yamato_(kancolle),4,6033,yamato_(kantai_collection)
+holding_plate,0,6032,
+lamppost,0,6028,"lamp-post,lamp_post,street_lamp,street_light,street_lights,streetlamp,streetlight,streetlights"
+joseph_joestar_(young),4,6024,
+game_controller,0,6024,
+girl_sandwich,0,6019,
+sleepy,0,6008,
+long_coat,0,5995,longcoat
+scissors,0,5991,scissor
+uwabaki,0,5987,indoor_shoes_(japanese)
+horse,0,5987,horses
+sound,5,5980,"flash_with_sound,video_with_sound"
+bride,0,5975,
+seductive_smile,0,5968,
+reverse_cowgirl_position,0,5964,reverse_cowgirl
+bear_ears,0,5956,
+nijisanji_en,3,5949,
+chest_hair,0,5948,
+birthday,0,5947,
+reclining,0,5945,recline
+pun,0,5944,
+taut_shirt,0,5943,taut_blouse
+punching,0,5939,punch
+dirty,0,5936,
+bead_bracelet,0,5936,
+shell,0,5933,
+akebono_(kancolle),4,5933,akebono_(kantai_collection)
+tail_wagging,0,5931,"tail_wag,wagging,wagging_tail"
+latex,0,5927,
+clothed_male_nude_female,0,5920,"clothed_male_naked_female,cmnf,nfcm,nude_female_clothed_male"
+dawn_(pokemon),4,5915,"hikari_(pokemon),platina_(pokemon),platina_berlitz,platinum_(pokemon),platinum_berlitz"
+fishnet_thighhighs,0,5914,
+sheep_horns,0,5913,ram_horns
+shouting,0,5911,"shout,yelling"
+platinum_blonde_hair,0,5911,
+broken,0,5909,
+the_legend_of_zelda:_breath_of_the_wild,3,5908,breath_of_the_wild
+pokemon_xy,3,5907,"pokemon_x,pokemon_x&y,pokemon_x_and_y,pokemon_y"
+kariginu,0,5907,
+on_chair,0,5896,
+shirt_pull,0,5894,
+heads_together,0,5894,"head-to-head,head_to_head"
+green_theme,0,5893,
+track_suit,0,5889,tracksuit
+black_capelet,0,5885,
+white_belt,0,5875,
+kujo_jotaro,4,5874,kuujou_joutarou
+kitakami_(kancolle),4,5873,kitakami_(kantai_collection)
+pink_legwear,0,5871,"pink_kneehighs,pink_leggings,pink_pantyhose,pink_socks,pink_thighhighs"
+nervous,0,5862,
+plaid_shirt,0,5859,plaid_blouse
+multi-strapped_bikini,0,5859,
+hata_no_kokoro,4,5855,
+frilled_hairband,0,5847,
+bead_necklace,0,5843,
+white_bowtie,0,5842,
+beamed_eighth_notes,0,5840,beamed_quavers
+huge_ahoge,0,5837,
+manjuu_(azur_lane),4,5833,
+holding_bouquet,0,5833,
+pillow_hug,0,5828,
+leaning_to_the_side,0,5825,
+light_frown,0,5824,
+loose_socks,0,5823,
+animalization,0,5823,animalisation
+looping_animation,5,5821,
+male_swimwear,0,5818,swimwear_(male)
+brown_shorts,0,5816,
+pervert,0,5810,
+take_your_pick,0,5808,
+green_necktie,0,5807,
+gilgamesh_(fate),4,5802,gilgamesh
+saucer,0,5797,
+blank_eyes,0,5793,
+holding_instrument,0,5791,"holding_guitar,holding_violin"
+cum_string,0,5791,"cum_trail,cumstring"
+blue_sweater,0,5790,
+summer_uniform,0,5788,
+bruise,0,5787,"bruised,bruises"
+pointy_hair,0,5782,
+nekomata,0,5782,
+marvel,3,5773,
+warship_girls_r,3,5771,"warship_girls,zhan_jian_shao_nyu"
+playing_card,0,5771,playing_cards
+trait_connection,0,5769,
+coffee,0,5764,
+usada_pekora,4,5757,
+harness,0,5755,
+hair_slicked_back,0,5755,slicked_back_hair
+unfinished,0,5753,"wip,work_in_progress"
+torso_grab,0,5751,"hip_grab,waist_grab"
+jester_cap,0,5750,jester_hat
+kaito_(vocaloid),4,5747,kaito
+fat_mons,0,5747,mons_pubis
+aikatsu!_(series),3,5743,
+blue_cape,0,5742,
+fish_tail,0,5737,
+ibaraki_kasen,4,5729,ibara_kasen
+oversized_object,0,5714,
+ball_gag,0,5712,ballgag
+blue_legwear,0,5707,"blue_kneehighs,blue_leggings,blue_pantyhose,blue_socks,blue_thighhighs"
+white_hoodie,0,5706,
+mahou_shoujo_lyrical_nanoha_a's,3,5706,"mahou_shoujo_lyirical_nanoha_a's,mahoushoujolyricalnanohaas"
+shirakami_fubuki,4,5705,
+rensouhou-chan,4,5696,
+skeleton,0,5692,
+striped_bowtie,0,5690,
+old_man,0,5683,
+red_capelet,0,5680,
+jujutsu_kaisen,3,5680,
+black_neckwear,0,5679,"black_bowtie,black_neckerchief,black_necktie"
+planted,0,5675,planted_weapon
+xd,0,5662,
+matou_sakura,4,5660,
+grey_sweater,0,5658,gray_sweater
+hair_pulled_back,0,5650,
+assertive_female,0,5645,assertive
+cooking,0,5639,
+horn_ribbon,0,5637,horn_ribbons
+lap_pillow,0,5636,"head_in_lap,head_on_lap,hizamakura,lappillow"
+beach_umbrella,0,5634,
+bad_deviantart_id,5,5634,
+grey_gloves,0,5621,gray_gloves
+tentacle_sex,0,5620,
+spoken_musical_note,0,5613,spoken_note
+lillie_(pokemon),4,5609,
+kumoi_ichirin,4,5609,
+doll_joints,0,5609,dolljoints
+megumin,4,5608,
+poolside,0,5607,
+splatoon_1,3,5604,
+suggestive_fluid,0,5602,
+merry_christmas,0,5600,merry_xmas
+bubble_skirt,0,5598,puffy_skirt
+last_origin,3,5596,
+aqua_background,0,5594,cyan_background
+green_shorts,0,5593,
+red_coat,0,5589,
+kurodani_yamame,4,5587,
+nightgown,0,5584,"night_dress,night_gown,nightdress,nightie,nighty"
+multicolored_dress,0,5584,
+burger,0,5581,"cheeseburger,hamburger"
+pregnant,0,5579,
+waist_cape,0,5576,
+bandaid_on_leg,0,5576,
+brown_cardigan,0,5572,
+shuten_douji_(fate),4,5570,shuten_douji_(fate/grand_order)
+over-kneehighs,0,5570,
+bra_pull,0,5569,bra_down
+mouse,0,5568,"mice,rat"
+animal_hat,0,5563,
+kasodani_kyouko,4,5562,
+no_eyes,0,5561,
+green_kimono,0,5559,green_yukata
+green_footwear,0,5547,"green_boots,green_shoes"
+fur,0,5546,
+purple_bowtie,0,5532,
+speed_lines,0,5530,
+soga_no_tojiko,4,5530,
+tokiwadai_school_uniform,0,5529,
+white_collar,0,5528,
+kotatsu,0,5526,
+macross_frontier,3,5524,macross_f
+to_love-ru,3,5522,"to-love-ru,to_love_ru,toloveru"
+yawning,0,5520,yawn
+novel_illustration,5,5511,
+twisted_torso,0,5508,
+clipboard,0,5503,
+holding_bow_(weapon),0,5502,
+prinz_eugen_(kancolle),4,5497,prinz_eugen_(kantai_collection)
+pink_bowtie,0,5496,
+whip,0,5495,whips
+purple_bra,0,5492,
+mechanical_halo,0,5492,
+expressions,0,5488,facial_expressions
+pectoral_cleavage,0,5483,"cleavage_(male),male_cleavage"
+black_tank_top,0,5479,
+wine,0,5476,
+atelier_(series),3,5474,
+holding_chopsticks,0,5469,
+skull_hair_ornament,0,5463,
+cum_on_ass,0,5461,semen_on_ass
+miyako_yoshika,4,5459,
+loincloth,0,5459,loin_cloth
+hoshii_miki,4,5443,
+plaid_scarf,0,5440,
+pillar,0,5440,pillars
+cow_tail,0,5438,
+damaged,0,5437,damage
+weapon_over_shoulder,0,5434,
+paper_fan,0,5433,
+female_orgasm,0,5426,
+love_live!_nijigasaki_high_school_idol_club,3,5425,perfect_dream_project
+playing_games,0,5424,"gaming,girls_playing_games,playing_game"
+kotobuki_tsumugi,4,5422,
+shelf,0,5417,shelves
+polka_dot_panties,0,5416,polka-dot_panties
+real_life,3,5415,
+ooyodo_(kancolle),4,5407,"ninmu_musume,ooyodo_(kantai_collection)"
+standing_split,0,5406,
+stand_(jojo),0,5402,
+helltaker,3,5402,
+braided_bun,0,5399,
+queen's_blade,3,5393,queens_blade
+female_admiral_(kancolle),4,5389,female_admiral_(kantai_collection)
+superhero,0,5380,superheroes
+gundam_00,3,5378,gundam00
+astolfo_(fate),4,5377,"astolfo,rider_of_black"
+river,0,5376,
+cardboard_box,0,5368,danbooru
+time_paradox,0,5360,
+mona_(genshin_impact),4,5354,mona_megistus
+ear_blush,0,5351,
+biceps,0,5346,
+grapes,0,5344,grape
+dead_or_alive,3,5344,"doa,doax"
+axis_powers_hetalia,3,5344,"hetalia,hetalia_axis_powers,hetaria"
+sweating_profusely,0,5343,
+castle,0,5343,
+street,0,5337,
+kobayashi-san_chi_no_maidragon,3,5331,"maidragon,miss_kobayashi's_dragon_maid"
+pink_gloves,0,5327,
+elsword,3,5326,
+darling_in_the_franxx,3,5324,
+hiiragi_kagami,4,5317,
+baseball_bat,0,5317,bat_(baseball)
+female_pervert,0,5309,
+between_fingers,0,5309,
+flat_color,0,5308,flat_colors
+darjeeling_(girls_und_panzer),4,5308,darjeeling
+gigantic_breasts,0,5305,gigantic_breast
+red_collar,0,5303,
+:|,0,5302,
+footjob,0,5299,ashikoki
+tatsuta_(kancolle),4,5297,tatsuta_(kantai_collection)
+flag_print,0,5295,
+grey_headwear,0,5290,"gray_hat,gray_headwear,gray_headwear,grey_hat"
+aqua_necktie,0,5290,
+wet_panties,0,5288,drenched_panties
+new_super_mario_bros._u_deluxe,3,5288,
+chun-li,4,5288,"chun_li,chunli"
+black_horns,0,5288,
+dokidoki!_precure,3,5282,"doki_doki!_precure,doki_doki_precure,dokidoki_precure"
+argyle_legwear,0,5281,argyle_socks
+police_uniform,0,5280,
+pokemon_hgss,3,5280,"pokemon_heartgold,pokemon_heartgold_and_soulsilver,pokemon_hg,pokemon_hg&ss,pokemon_soulsilver,pokemon_ss"
+mutsu_(kancolle),4,5277,mutsu_(kantai_collection)
+holding_spoon,0,5275,
+tape,0,5274,
+orb,0,5271,"orbs,sphere"
+=3,0,5271,
+single_mechanical_arm,0,5268,"mechanical_arm,robot_arm,robot_arms,robotic_arms"
+see-through_sleeves,0,5265,transparent_sleeves
+grey_thighhighs,0,5259,
+huge_penis,0,5258,
+onee-shota,0,5256,oneshota
+female_ejaculation,0,5254,squirting_(sex)
+dark_background,0,5254,
+vento_aureo,3,5253,
+breast_envy,0,5253,
+super_crown,0,5250,
+bare_tree,0,5250,dead_tree
+cu_chulainn_(fate),4,5247,cu_chulainn_(fate)_(all)
+little_busters!,3,5245,little_busters
+split_mouth,0,5243,disconnected_mouth
+laptop,0,5243,
+shark_tail,0,5242,
+unmoving_pattern,0,5220,unmoving_plaid
+animal_collar,0,5218,"dog_collar,pet_collar"
+waistcoat,0,5216,
+forehead_protector,0,5215,
+bestiality,0,5204,beastiality
+sparkling_eyes,0,5203,sparkle_eyes
+dressing,0,5203,
+thighhighs_under_boots,0,5197,
+diamond_(shape),0,5196,
+checkered,0,5196,checkerboard
+asashio_(kancolle),4,5195,asashio_(kantai_collection)
+red_sweater,0,5189,
+cookie_(touhou),3,5185,
+single_sock,0,5183,one_sock
+black_blindfold,0,5183,
+diagonal_stripes,0,5180,
+pink_choker,0,5178,
+red_bra,0,5176,
+clannad,3,5174,
+long_braid,0,5172,
+tengu-geta,0,5171,
+gridman_universe,3,5165,
+penguin,0,5163,penguins
+;p,0,5157,
+sweater_lift,0,5147,
+may_(pokemon),4,5143,"haruka_(pokemon),odamaki_sapphire,sapphire_(pokemon),sapphire_birch"
+lily_(flower),0,5139,lillies
+kijin_seija,4,5137,
+extra_arms,0,5130,"multiple_arms,polymelia"
+book_stack,0,5130,stacked_books
+danmaku,0,5124,
+hand_on_own_stomach,0,5117,"hand_on_belly,hand_on_own_belly,hand_on_stomach"
+competition_school_swimsuit,0,5113,
+tassel_earrings,0,5111,
+black_rock_shooter,3,5110,"blackrock_shooter,blackÔÿàrock_shooter"
+extra_eyes,0,5109,multiple_eyes
+metroid,3,5104,
+breast_suppress,0,5103,
+patreon_logo,0,5101,
+serval_print,0,5099,
+hand_on_own_ass,0,5099,hand_on_ass
+company_connection,0,5096,studio_connection
+v-neck,0,5094,v_neck
+shopping_bag,0,5085,shopping_bags
+minami_kotori,4,5084,
+frilled_thighhighs,0,5083,
+dog_tags,0,5081,"dog_tag,dogtag,dogtags"
+covering_face,0,5076,hiding_face
+blue_coat,0,5076,
+bursting_breasts,0,5075,
+yellow_footwear,0,5071,"yellow_boots,yellow_shoes"
+kaban_(kemono_friends),4,5070,kaban
+chain-link_fence,0,5068,"chain_link_fence,chainlink_fence"
+nishizumi_maho,4,5067,
+albino,0,5066,
+costume_switch,0,5064,"costume_swap,exchanging_clothes,outfit_switch"
+animal_nose,0,5064,
+dango,0,5062,
+adjusting_headwear,0,5061,adjusting_hat
+multicolored_skin,0,5060,
+uterus,0,5059,womb
+trading_card,0,5052,trading_cards
+tail_ribbon,0,5052,
+meat,0,5046,
+topknot,0,5044,top_knot
+holding_hat,0,5044,
+clownpiece,4,5044,
+zombie,0,5042,zombies
+monocle,0,5038,
+kinomoto_sakura,4,5038,
+facing_another,0,5036,
+byleth_(fire_emblem),4,5033,byleth
+charm_(object),0,5032,
+heart_cutout,0,5027,
+hammer_(sunset_beach),1,5027,aenobas
+yandere,0,5023,
+twilight,0,5023,
+no_socks,0,5023,
+keqing_(genshin_impact),4,5016,"keqing,kokusei_(genshin_impact)"
+purple_lips,0,5008,"lavender_lipstick,purple_lipstick"
+pot,0,5007,cooking_pot
+exhibitionism,0,5004,
+emiya_shirou,4,5001,
+final_fantasy_vii_remake,3,4996,
+water_gun,0,4994,"squirt_gun,water_pistol,watergun"
+fur-trimmed_cape,0,4994,
+hands_on_own_cheeks,0,4989,"hands_on_cheek,hands_on_cheeks,hands_to_cheek,hands_to_cheeks"
+clothes_removed,0,4987,"clothes_off,undressed"
+bokeh,0,4987,
+rosa_(pokemon),4,4980,"female_protagonist_(pokemon_bw2),female_protagonist_(pokemon_bw2),mei_(pokemon),whi-two_(pokemon),whitley_(pokemon)"
+falling_petals,0,4979,"flying_petals,petals_in_wind"
+internal_cumshot,0,4978,"cum_in_uterus,internal,semen_in_uterus"
+quiver,0,4973,
+flame,0,4973,
+wolf,0,4971,
+sanpaku,0,4964,
+mori_calliope,4,4957,calliope_mori
+angel_beats!,3,4955,angel_beats
+bad_nicoseiga_id,5,4951,
+holding_eyewear,0,4948,"holding_glasses,holding_sunglasses"
+fur-trimmed_capelet,0,4944,
+meiko_(vocaloid),4,4941,meiko
+ebifurya,1,4940,
+panty_&_stocking_with_garterbelt,3,4939,panty_and_stocking_with_garterbelt
+teardrop,0,4938,
+armpit_peek,0,4930,
+archer_(fate),4,4928,archer
+heartcatch_precure!,3,4926,"heartcatch_precure,heartcatch_pretty_cure,heartcatch_pretty_cure!"
+shorts_pull,0,4924,shorts_down
+itsumi_erika,4,4923,
+c.c.,4,4923,cc
+dougi,0,4922,gi
+pyra_(xenoblade),4,4915,"homura_(xenoblade_2),pyra_(xenoblade_chronicles_2)"
+ship,0,4914,ships
+bismarck_(kancolle),4,4914,bismarck_(kantai_collection)
+tail_bow,0,4913,
+thong_bikini,0,4909,
+closed_umbrella,0,4909,
+reaching,0,4907,reach
+megami_magazine,3,4905,megami
+braided_bangs,0,4905,
+traditional_bowtie,0,4904,
+koha-ace,3,4903,
+yae_miko,4,4897,yae_(genshin_impact)
+blood_splatter,0,4897,blood_spatter
+autumn,0,4891,fall_(season)
+samus_aran,4,4889,samus
+knight,0,4887,
+aki_minoriko,4,4887,
+sendai_(kancolle),4,4886,sendai_(kantai_collection)
+moaning,0,4885,moan
+onigiri,0,4880,"rice_ball,riceball"
+infection_monitor_(arknights),0,4880,oripathy_monitor_(arknights)
+mordred_(fate),4,4877,"mordred_(fate)_(all),saber_of_red"
+gym_shirt,0,4874,
+ooi_(kancolle),4,4872,ooi_(kantai_collection)
+military_jacket,0,4871,
+hydrangea,0,4866,"hortensia_(flower),hydrangeas"
+minamoto_no_raikou_(fate),4,4856,minamoto_no_raikou_(fate/grand_order)
+microphone_stand,0,4856,
+fox_shadow_puppet,0,4854,fox_hand_sign
+holding_card,0,4849,"holding_cards,holding_playing_card"
+hilda_(pokemon),4,4842,"female_protagonist_(pokemon_b&w),female_protagonist_(pokemon_b&w),touko_(pokemon),white_(pokemon)"
+anal_beads,0,4842,analbeads
+heart_print,0,4834,
+open_vest,0,4833,
+izumi_konata,4,4828,konata
+firing,0,4821,"gunfire,shooting"
+dimples_of_venus,0,4818,
+cum_on_tongue,0,4815,
+hieda_no_akyuu,4,4809,hieda_no_akyu
+ninomae_ina'nis,4,4808,
+marnie_(pokemon),4,4805,mary_(pokemon)
+thigh_holster,0,4803,
+prosthesis,0,4803,prosthetic_limb
+stomach_bulge,0,4802,
+fake_screenshot,0,4802,fakeshot
+single_bare_shoulder,0,4793,
+caesar_anthonio_zeppeli,4,4792,
+cowboy_hat,0,4783,
+leg_warmers,0,4781,legwarmers
+rose_petals,0,4780,
+lance,0,4779,
+pokemon_legends:_arceus,3,4778,
+holding_fork,0,4774,
+breast_lift,0,4773,
+akashi_(kancolle),4,4773,"akashi_(kantai_collection),item_shop_musume_(kantai_collection)"
+flower_knight_girl,3,4772,
+convenient_leg,0,4770,
+noodles,0,4769,noodle
+paper_lantern,0,4767,
+family,0,4767,
+phantasy_star,3,4765,
+floating_object,0,4765,
+father_and_daughter,0,4765,
+turn_pale,0,4763,pale_face
+yuzuki_yukari,4,4761,
+solid_circle_eyes,0,4760,ÔÇó_ÔÇó
+roswaal_mansion_maid_uniform,0,4760,
+puzzle_&_dragons,3,4759,
+jumpsuit,0,4758,coveralls
+flower_field,0,4756,
+bicycle,0,4753,bike
+pillow_hat,0,4746,pillowhat
+cross_earrings,0,4743,
+unsheathing,0,4735,
+colored_tips,0,4731,dip-dyed_hair
+robot_joints,0,4727,
+amami_haruka,4,4720,
+colored_pencil_(medium),0,4719,"coloured_pencil_(medium),pencil_crayon_(medium)"
+train_interior,0,4718,inside_train
+mind_control,0,4718,brainwashing
+amputee,0,4717,
+fox,0,4712,foxes
+anchovy_(girls_und_panzer),4,4706,anchovy
+takao_(kancolle),4,4704,takao_(kantai_collection)
+sekibanki,4,4700,
+skyscraper,0,4698,
+multiple_4koma,0,4689,
+yellow_hairband,0,4687,
+pink_sweater,0,4685,
+minato_aqua,4,4685,
+electric_guitar,0,4684,
+peeking_out,0,4681,"a_master_is_out,peeking_around_corner"
+musashi_(kancolle),4,4681,musashi_(kantai_collection)
+glaring,0,4677,glare
+vase,0,4666,
+green_gloves,0,4656,
+large_bow,0,4655,
+yoko_littner,4,4654,yoko_ritona
+condom_in_mouth,0,4654,
+watashi_ga_motenai_no_wa_dou_kangaetemo_omaera_ga_warui!,3,4653,"no_matter_how_you_look_at_it,_it's_your_fault_that_i'm_not_popular.,no_matter_how_you_look_at_it_it's_your_fault_that_i'm_not_popular!,watamote"
+full_armor,0,4653,
+visor,0,4650,
+striped_ribbon,0,4645,
+junko_(touhou),4,4640,
+leotard_under_clothes,0,4639,
+old_school_swimsuit,0,4638,
+chick,0,4638,"baby_bird,chicks"
+knees_to_chest,0,4636,"knees-on-chest,knees_on_chest"
+bone,0,4632,bones
+pokemon_oras,3,4631,"pokemon_alpha_sapphire,pokemon_as,pokemon_omega_ruby,pokemon_omega_ruby_and_alpha_sapphire,pokemon_or,pokemon_or&as"
+oripathy_lesion_(arknights),0,4631,ore_lesion_(arknights)
+disembodied_penis,0,4624,magic_penis
+side-by-side,0,4622,side_by_side
+holding_wand,0,4622,
+gold,0,4617,
+yor_briar,4,4616,yor_forger
+split-color_hair,0,4616,split_hair_colors
+sleeveless_jacket,0,4613,
+heart_ahoge,0,4613,
+pink_hairband,0,4612,
+looking_ahead,0,4610,
+double_handjob,0,4608,
+open_hoodie,0,4603,
+chest_tattoo,0,4599,
+purple_leotard,0,4598,
+heart-shaped_box,0,4598,heart_box
+single_wing,0,4596,one_wing
+navel_hair,0,4596,
+waves,0,4595,
+nero_claudius_(fate/extra),4,4590,saber_extra
+okita_souji_(koha-ace),4,4582,"okita_souji_(koha/ace),sakura_saber"
+knees,0,4577,knee
+brown_bow,0,4577,
+shiranui_(kancolle),4,4576,shiranui_(kantai_collection)
+strap_pull,0,4574,
+yellow_nails,0,4573,yellow_fingernails
+spring_onion,0,4569,"leek,leek,negi,scallion"
+textless_version,5,4562,textless
+solid_oval_eyes,0,4562,
+elbow_pads,0,4562,elbow_pad
+wo-class_aircraft_carrier,4,4549,wo-class_(kantai_collection)
+chest_jewel,0,4548,chest_gem
+plaid_bow,0,4547,
+ladle,0,4547,
+kitsune,0,4546,
+frilled_choker,0,4546,
+beer_mug,0,4544,
+kirby_(series),3,4542,hoshi_no_kirby
+pixiv_sample,5,4541,"pixiv_manga_sample,pixiv_thumbnail"
+resized,5,4540,
+hibike!_euphonium,3,4540,sound!_euphonium
+swimsuit_pull,0,4538,swimsuit_down
+kousaka_honoka,4,4537,
+trident,0,4536,
+pussy_peek,0,4534,partially_visible_vulva
+weapon_on_back,0,4533,sword_on_back
+picture_frame,0,4526,
+red_wings,0,4525,
+nanami_chiaki,4,4523,
+apex_legends,3,4520,
+halter_dress,0,4516,
+revolver,0,4510,
+d.va_(overwatch),4,4509,"diva_(overwatch),hana_song,song_hana"
+blinking,0,4507,blink
+haruyama_kazunori,1,4502,haruyama
+futatsuiwa_mamizou,4,4501,
+sazanami_(kancolle),4,4500,sazanami_(kantai_collection)
+yellow_sclera,0,4498,
+side_braids,0,4497,
+disgaea,3,4496,
+gourd,0,4495,
+naked_ribbon,0,4486,"nakedribbon,nude_ribbon"
+flight_deck,0,4483,
+super_robot_wars,3,4482,superrobotwars
+medusa_(fate),4,4481,
+aether_(genshin_impact),4,4480,"kong_(genshin_impact),male_traveler_(genshin_impact),sora_(genshin_impact)"
+asuna_(sao),4,4479,
+red_bodysuit,0,4478,
+vehicle_focus,0,4474,
+ssss.gridman,3,4471,
+souryuu_(kancolle),4,4471,souryuu_(kantai_collection)
+sukuna_shinmyoumaru,4,4465,
+heart-shaped_chocolate,0,4465,chocolate_heart
+impossible_shirt,0,4463,
+tsukino_usagi,4,4462,
+notebook,0,4461,
+blue_hoodie,0,4460,
+short_necktie,0,4459,mini_necktie
+bra_strap,0,4458,
+shushing,0,4452,"shh,shush"
+utility_pole,0,4451,"power_pole,telephone_pole"
+mixed_bathing,0,4451,coed_bathing
+hooded_coat,0,4451,
+shijou_takane,4,4450,
+lowleg_bikini,0,4446,
+whistle,0,4441,
+ringlets,0,4441,
+hiei_(kancolle),4,4441,hiei_(kantai_collection)
+arthropod_girl,0,4441,"bug_girl,buggirl,insect_girl"
+grabbing_another's_hair,0,4440,"hair_pull,pulling_another's_hair"
+panty_peek,0,4439,
+holding_ball,0,4439,
+aiguillette,0,4438,aiguillettes
+striped_skirt,0,4436,
+>:(,0,4434,
+akiyama_yukari,4,4429,
+suigintou,4,4424,
+samidare_(kancolle),4,4423,samidare_(kantai_collection)
+no_mouth,0,4420,
+popped_collar,0,4418,
+aki_shizuha,4,4418,
+mahou_shoujo_madoka_magica:_hangyaku_no_monogatari,3,4412,rebellion_story
+stardust_crusaders,3,4411,
+fedora,0,4410,
+ro-500_(kancolle),4,4405,ro-500_(kantai_collection)
+crazy_eyes,0,4399,
+mythra_(xenoblade),4,4398,"hikari_(xenoblade_2),mythra_(xenoblade_chronicles_2)"
+ear_covers,0,4397,
+senketsu,4,4395,
+striped_scarf,0,4394,
+lock,0,4393,
+holding_can,0,4393,
+detached_wings,0,4393,floating_wings
+amiya_(arknights),4,4391,
+yamashiro_(kancolle),4,4388,yamashiro_(kantai_collection)
+holding_strap,0,4387,
+nitroplus,3,4384,
+reverse_trap,0,4380,
+gears,0,4380,"cog,cogs,gear"
+money,0,4375,
+grabbing_own_ass,0,4369,
+sailor,0,4368,"sailor_suit,sailor_uniform"
+diamond_wa_kudakenai,3,4366,diamond_is_unbreakable
+monster_girl_encyclopedia,3,4362,
+faceless_female,0,4359,
+pinstripe_pattern,0,4355,"pinstripe,pinstripes"
+hands_on_own_knees,0,4351,hands_on_knees
+dark_blue_hair,0,4350,
+pov_crotch,0,4348,
+maebari,0,4345,
+brown_vest,0,4344,
+garreg_mach_monastery_uniform,0,4341,
+single_elbow_glove,0,4338,one_elbow_glove
+hk416_(girls'_frontline),4,4336,hk416_(girls_frontline)
+waking_up,0,4335,
+kisaragi_chihaya,4,4335,
+fur-trimmed_dress,0,4334,
+dungeon_ni_deai_wo_motomeru_no_wa_machigatteiru_darou_ka,3,4331,"danmachi,is_it_wrong_to_try_to_pick_up_girls_in_a_dungeon?"
+reverse_grip,0,4326,
+gumi,4,4323,
+projectile_cum,0,4322,
+kirishima_(kancolle),4,4322,kirishima_(kantai_collection)
+verniy_(kancolle),4,4320,verniy_(kantai_collection)
+fullmetal_alchemist,3,4320,"fma,full_metal_alchemist"
+heart_pasties,0,4318,
+cane,0,4316,walking_stick
+winter_coat,0,4313,winter_jacket
+slime_(substance),0,4313,"goo,slime"
+showgirl_skirt,0,4312,
+white_necktie,0,4310,
+orange_bikini,0,4307,"orange_bikini_bottom,orange_bikini_top"
+gloria_(pokemon),4,4301,"casey_shield,female_protagonist_(pokemon_swsh),female_protagonist_(pokemon_swsh),yuuri_(pokemon)"
+watson_amelia,4,4300,amelia_watson
+dio_brando,4,4294,
+evening,0,4293,
+throne,0,4290,
+ice_cream_cone,0,4288,"ice-cream_cone,ice-cream_cones,ice_cream_cones,icecream_cone,icecream_cones"
+letty_whiterock,4,4287,
+tower,0,4286,
+skinny,0,4278,"slender,thin"
+business_suit,0,4272,
+orange_(fruit),0,4270,"orange,orange_(food),oranges"
+kaguya-sama_wa_kokurasetai_~tensai-tachi_no_renai_zunousen~,3,4270,kaguya-sama:_love_is_war
+amagami,3,4270,amagami_ss
+kiryuuin_satsuki,4,4260,
+waterfall,0,4259,
+lightning,0,4257,
+polka_dot_bikini,0,4256,polka-dot_bikini
+battle_tendency,3,4255,
+bandaid_on_nose,0,4254,
+poking,0,4253,poke
+wedgie,0,4252,
+squatting_cowgirl_position,0,4250,
+asymmetrical_sleeves,0,4247,
+bow_hairband,0,4244,hairband_bow
+unbuttoned_shirt,0,4243,
+minase_iori,4,4243,
+digimon,3,4242,
+print_skirt,0,4241,
+naruto_shippuuden,3,4238,naruto_shippuden
+mizuki_hitoshi,1,4238,mizukihitoshi
+blue_fire,0,4230,blue_flame
+poster_(object),0,4229,
+inazuma_eleven,3,4229,
+has_bad_revision,5,4229,bad_revision
+statue,0,4226,
+mordred_(fate/apocrypha),4,4222,saber_of_red
+butterfly_wings,0,4221,
+aikatsu!,3,4214,aikatsu
+baby,0,4213,
+monster_boy,0,4208,
+dark_elf,0,4203,drow
+crack,0,4203,"cracked,cracks"
+hoshizora_rin,4,4202,
+wrist_ribbon,0,4200,
+white_bloomers,0,4198,
+kikuchi_makoto,4,4198,
+crotchless,0,4194,"crotchless_clothes,crotchless_clothing"
+thigh_grab,0,4190,
+bustier,0,4190,
+crowd,0,4189,
+medium_skirt,0,4185,
+magia_record:_mahou_shoujo_madoka_magica_gaiden,3,4177,magia_record
+machine_gun,0,4177,machinegun
+towel_on_head,0,4173,
+pearl_necklace,0,4173,
+streaming_tears,0,4172,
+bullet,0,4171,bullets
+collaboration,5,4166,multiple_artists
+cropped,5,4161,
+pocket_watch,0,4158,pocketwatch
+blood_on_hands,0,4155,"blood_on_fingers,bloody_fingers,bloody_hands"
+surgical_mask,0,4153,medical_mask
+red_scrunchie,0,4152,
+boy_on_top,0,4151,"guy_on_top,male_on_top"
+boat,0,4150,
+torn_dress,0,4147,
+takanashi_kiara,4,4145,
+bb_(fate),4,4145,"bb_(fate)_(all),bb_(fate/extra_ccc)"
+white_neckerchief,0,4144,
+pink_necktie,0,4142,
+trench_coat,0,4139,trenchcoat
+fate/prototype,3,4131,
+iowa_(kancolle),4,4129,iowa_(kantai_collection)
+no_pussy,0,4128,"missing_pussy,missing_vagina,no_vagina,novagina"
+bear,0,4126,
+yellow_shorts,0,4124,
+klee_(genshin_impact),4,4124,
+whiskers,0,4122,whisker
+red_buruma,0,4120,
+kasumi_(kancolle),4,4119,kasumi_(kantai_collection)
+blue_bodysuit,0,4118,
+tomboy,0,4115,
+letter,0,4115,
+ex-keine,4,4112,"ex_keine,exkeine"
+crab,0,4108,crabs
+bound_legs,0,4104,
+venti_(genshin_impact),4,4101,
+open_hands,0,4097,
+spread_anus,0,4090,"anus_spread,anus_spreading"
+green_pants,0,4088,
+vertical-striped_shirt,0,4084,vertical-striped_blouse
+oppai_loli,0,4079,
+ribbon-trimmed_legwear,0,4078,
+fatal_fury,3,4077,"garou,garou_densetsu"
+animal_on_shoulder,0,4077,
+jeanne_d'arc_(ruler)_(fate),4,4075,"jeanne_d'arc_(fate/apocrypha),ruler_(fate/apocrypha)"
+bra_visible_through_clothes,0,4073,bra_through_clothes
+locked_arms,0,4069,"arm_in_arm,arm_lock,arms_linked,interlocked_arms,linked_arms"
+toilet,0,4067,
+crotch,0,4064,
+bodypaint,0,4063,body_paint
+snowman,0,4061,
+skullgirls,3,4059,
+dress_pull,0,4059,
+drawing,0,4059,
+kouji_(campus_life),1,4058,
+nekomata_okayu,4,4056,
+kitchen,0,4049,
+yellow_theme,0,4043,
+defeat,0,4043,
+vertical-striped_thighhighs,0,4042,
+toeless_footwear,0,4037,"open_toe_shoes,toeless_boots,toeless_shoes"
+imagining,0,4034,"day_dreaming,daydreaming,imagination"
+ganaha_hibiki,4,4034,
+saber_alter,4,4032,"black_saber,dark_saber"
+locker,0,4032,lockers
+hot,0,4032,
+one-punch_man,3,4030,"one_punch_man,onepunch-man,onepunch_man"
+landscape,0,4030,
+tile_wall,0,4029,
+hecatia_lapislazuli,4,4026,
+tsundere,0,4024,
+energy,0,4024,
+flower_knot,0,4023,
+yuubari_(kancolle),4,4022,yuubari_(kantai_collection)
+atago_(azur_lane),4,4022,
+leg_tattoo,0,4021,thigh_tattoo
+gintama,3,4021,
+ryouou_school_uniform,0,4020,
+cat_cutout,0,4020,
+oshino_shinobu,4,4018,
+hand_on_another's_cheek,0,4017,
+orange_bowtie,0,4016,
+no_legwear,0,4012,
+guilty_gear_xrd,3,4012,
+wine_bottle,0,4010,
+fusion,0,4010,
+splatoon_2,3,4008,
+milk,0,4008,
+imminent_rape,0,4008,about_to_be_raped
+towel_around_neck,0,4006,towel_on_shoulders
+argyle_background,0,4003,diamond_background
+idolmaster_1,3,4000,
+frilled_collar,0,3999,
+fire_emblem:_the_blazing_blade,3,3999,"fe7,fire_emblem:_rekka_no_ken,fire_emblem_blazing_sword,fire_emblem_rekka_no_ken"
+fat_man,0,3999,
+jacket_removed,0,3995,jacket_off
+evil_grin,0,3994,
+crescent_pin,0,3991,crescent_moon_pin
+soccer_uniform,0,3990,
+kiso_(kancolle),4,3990,kiso_(kantai_collection)
+shimamura_uzuki,4,3989,
+assisted_exposure,0,3986,
+pirate_hat,0,3985,
+byleth_(fire_emblem)_(female),4,3980,byleth_(female)
+steins;gate,3,3975,steins_gate
+frilled_pillow,0,3975,
+gardevoir,4,3972,
+uruha_rushia,4,3969,
+yellow_gloves,0,3962,
+tiger,0,3956,
+orange_dress,0,3956,
+bird_tail,0,3955,
+yellow_headwear,0,3951,yellow_hat
+two-sided_fabric,0,3951,
+checkered_skirt,0,3949,
+unsheathed,0,3948,
+long_tongue,0,3947,
+cat_lingerie,0,3946,cat_keyhole_bra
+watanabe_you,4,3944,
+taihou_(azur_lane),4,3944,
+monster_musume_no_iru_nichijou,3,3944,my_life_with_monstergirl
+road_sign,0,3939,"roadsign,street_sign,traffic_sign"
+death,0,3935,dead
+zero_two_(darling_in_the_franxx),4,3934,code:002
+crow,0,3931,raven_(animal)
+sagging_breasts,0,3930,
+bat_print,0,3930,
+anal_tail,0,3930,butt_plug_tail
+asahina_mikuru,4,3925,
+hatching_(texture),0,3920,
+phantasy_star_online_2,3,3919,
+kiseru,0,3919,
+cat_hair_ornament,0,3912,
+bikini_aside,0,3909,
+library,0,3907,
+hand_on_another's_chin,0,3905,finger_to_another's_chin
+red_(pokemon),4,3904,
+torn_skirt,0,3902,
+resident_evil,3,3900,biohazard
+very_dark_skin,0,3899,ebony
+muted_color,0,3899,muted_colors
+back_cutout,0,3899,"back_opening,heart_back_cutout"
+starfish,0,3895,
+ash_ketchum,4,3891,"ash_(pokemon),ash_(pokemon),satoshi_(pokemon)"
+alien,0,3886,
+print_bow,0,3882,
+yellow_panties,0,3881,
+virgin_killer_sweater,0,3880,
+you_gonna_get_raped,0,3877,rape_eyes
+suite_precure,3,3873,
+1koma,0,3871,1panel
+green_bowtie,0,3870,
+sleeves_pushed_up,0,3866,
+morrigan_aensland,4,3865,
+blunt_ends,0,3865,
+on_desk,0,3864,
+fingers_together,0,3862,
+teacher,0,3860,sensei
+sideways_mouth,0,3859,"cheek_mouth,side_mouth"
+long_bangs,0,3858,
+nintendo_switch,0,3853,
+mask_removed,0,3852,"mask_off,unmasked"
+heart_background,0,3851,
+osomatsu-san,3,3850,
+defloration,0,3848,virgin
+bikini_tan,0,3847,
+torn_pants,0,3844,
+gundam_build_fighters,3,3844,
+1980s_(style),0,3844,"80's,80s"
+princess_peach,4,3841,
+cloud_strife,4,3841,
+costume,0,3834,
+cropped_shirt,0,3828,
+soap_bubbles,0,3827,suds
+soul_gem,0,3825,
+raised_eyebrow,0,3825,
+game_console,0,3825,video_game_console
+hiryuu_(kancolle),4,3824,hiryuu_(kantai_collection)
+itomugi-kun,1,3814,ringetsumon
+uchiwa,0,3813,
+halftone_background,0,3811,
+formidable_(azur_lane),4,3810,
+planted_sword,0,3809,sword_in_ground
+meltryllis_(fate),4,3809,"meltlilith,meltryllis"
+takagaki_kaede,4,3808,
+track_pants,0,3806,jogging_pants
+mechanical_wings,0,3806,
+prinz_eugen_(azur_lane),4,3802,
+doctor_(arknights),4,3800,
+school,0,3797,
+purple_necktie,0,3797,
+stick,0,3796,
+karyl_(princess_connect!),4,3795,"kyaru_(princess_connect!),kyaru_(princess_connect)"
+shy,0,3794,
+djeeta_(granblue_fantasy),4,3794,gita_(granblue_fantasy)
+texas_(arknights),4,3789,
+suitcase,0,3788,
+shirasaka_koume,4,3782,
+romaji_text,0,3782,"romaji,romanji"
+os-tan,3,3782,os
+bubble_blowing,0,3775,blowing_bubbles
+album_cover,0,3775,"album,cd_cover,disc_cover"
+spoken_blush,0,3769,
+cum_pool,0,3762,cumpool
+colorful,0,3762,
+unaligned_breasts,0,3761,
+pink_skin,0,3761,
+tartaglia_(genshin_impact),4,3758,childe_(genshin_impact)
+command_spell,0,3758,
+taking_picture,0,3757,
+gradient_eyes,0,3756,
+graf_zeppelin_(kancolle),4,3753,graf_zeppelin_(kantai_collection)
+ultimate_madoka,4,3748,"goddess_madoka,madokami"
+employee_uniform,0,3746,
+sagisawa_fumika,4,3745,
+musical_note_hair_ornament,0,3745,"bass_clef_hair_ornament,fortissimo_hair_ornament,treble_clef_hair_ornament"
+blue_wings,0,3745,
+skadi_(arknights),4,3744,
+holding_shield,0,3741,
+mandarin_orange,0,3740,"clementine,mandarin,mikan,tangerine"
+armchair,0,3739,
+multicolored_jacket,0,3738,
+holding_candy,0,3736,
+clover,0,3736,
+red_eyeshadow,0,3734,
+dragon_wings,0,3734,
+shirogane_noel,4,3733,
+lifebuoy,0,3732,lifesaver
+pouring,0,3729,
+eromanga_sensei,3,3726,ero_manga_sensei
+school_chair,0,3725,
+obijime,0,3725,
+winter_uniform,0,3724,
+gundam_seed,3,3719,
+holding_paper,0,3717,
+striped_pantyhose,0,3711,
+male_masturbation,0,3708,masturbation_(male)
+pointing_up,0,3707,"pointing_skyward,pointing_to_the_sky"
+dc_comics,3,3706,
+mountainous_horizon,0,3705,
+carrot_hair_ornament,0,3704,
+v_over_eye,0,3702,
+silk,0,3699,
+blue_butterfly,0,3694,
+feet_up,0,3693,
+demon,0,3692,"demons,devil"
+floppy_ears,0,3691,
+husband_and_wife,0,3690,
+kagerou_project,3,3686,
+coffee_mug,0,3686,
+wakasagihime,4,3685,
+tissue_box,0,3682,tissuebox
+backboob,0,3682,back_boob
+blood_on_weapon,0,3681,"bloody_sword,bloody_weapon"
+clone,0,3677,clones
+power_armor,0,3674,"power_armour,powered_armor,powered_armour"
+yurucamp,3,3669,"laid-back_camp,yuru_camp"
+shingeki_no_bahamut,3,3669,
+barcode,0,3669,bar_code
+heart_necklace,0,3668,
+multicolored_skirt,0,3667,
+2021,0,3667,
+half-closed_eye,0,3665,
+against_glass,0,3662,
+blood_from_mouth,0,3658,"bloody_mouth,mouthbleed"
+:>=,0,3651,"blowjob_face,vacuum_fellatio"
+black_suit,0,3649,
+little_witch_academia,3,3648,
+leather_jacket,0,3648,
+blue_sleeves,0,3647,
+shark_girl,0,3646,
+off-topic,5,3646,non-anime_related
+infinite_stratos,3,3646,
+houseki_no_kuni,3,3645,land_of_the_lustrous
+ear_bow,0,3644,
+food_focus,0,3643,
+black_cloak,0,3643,
+lamia,0,3639,"naga,naga-ette,snake_girl"
+thong_leotard,0,3638,
+orange_jacket,0,3638,
+holding_pen,0,3638,
+snout,0,3637,
+koizumi_hanayo,4,3632,
+white_camisole,0,3630,
+lake,0,3629,
+the_pose,0,3627,
+red_rope,0,3627,
+swimming,0,3626,
+multicolored_nails,0,3626,"mismatched_nail_polish,multicolored_fingernails,multicolored_nail_polish"
+smokestack,0,3625,
+fisheye,0,3623,
+fur-trimmed_boots,0,3621,fur-lined_boots
+see-through_silhouette,0,3620,
+black_skin,0,3619,
+jar,0,3618,
+bandaid_on_knee,0,3616,
+medusa_(rider)_(fate),4,3615,rider
+komaeda_nagito,4,3609,
+kishin_sagume,4,3607,
+paizuri_under_clothes,0,3604,
+flexible,0,3603,
+red_moon,0,3601,blood_moon
+two-tone_skin,0,3598,
+blue_buruma,0,3598,
+recording,0,3594,
+puddle,0,3594,
+button_gap,0,3592,
+sode,0,3590,
+hoshimachi_suisei,4,3590,"hoshimati_suisei,suisei_channel"
+pointing_at_self,0,3584,
+bremerton_(azur_lane),4,3582,
+inugami_korone,4,3579,
+cat_hood,0,3579,cathood
+american_flag_legwear,0,3578,
+waist_bow,0,3577,
+dark_nipples,0,3577,
+orange_headwear,0,3575,orange_hat
+mitakihara_school_uniform,0,3574,
+kyon,4,3572,
+holding_own_arm,0,3571,holding_arm
+aiming,0,3570,
+purple_hairband,0,3569,
+underboob_cutout,0,3568,
+frilled_hat,0,3568,
+backwards_hat,0,3568,"cap_backwards,hat_backwards"
+toradora!,3,3567,toradora
+thorns,0,3567,
+naka_(kancolle),4,3566,naka_(kantai_collection)
+hestia_(danmachi),4,3564,hestia_(dungeon)
+kirby,4,3563,
+takatsuki_yayoi,4,3560,
+ambiguous_gender,0,3556,
+sono_bisque_doll_wa_koi_wo_suru,3,3555,my_dress_up_darling
+osomatsu-kun,3,3555,
+white_ascot,0,3554,
+no_nipples,0,3552,nippleless
+nanamori_school_uniform,0,3550,
+earth_(planet),0,3548,earth
+cheek-to-cheek,0,3547,cheek_to_cheek
+novelty_censor,0,3543,
+blue_socks,0,3542,blue_kneehighs
+lanyard,0,3541,
+demon_slayer_uniform,0,3541,
+arm_hug,0,3539,hugging_arm
+miyamoto_musashi_(fate),4,3535,miyamoto_musashi_(fate/grand_order)
+flaccid,0,3535,limp_penis
+sakura_miko,4,3534,
+shrine,0,3533,jinja
+pince-nez,0,3532,pince_nez
+grey_cardigan,0,3532,
+leaning,0,3530,
+dolphin_shorts,0,3529,
+robot_ears,0,3528,
+belt_collar,0,3527,neck_belt
+hose,0,3522,water_hose
+aerith_gainsborough,4,3520,aeris_gainsborough
+shop,0,3519,"shops,store"
+holding_cigarette,0,3519,
+rice_shower_(umamusume),4,3518,
+metal_collar,0,3516,
+brown_scarf,0,3515,
+rei_no_himo,0,3514,
+dated_commentary,5,3512,
+black_rock_shooter_(character),4,3511,
+fate/hollow_ataraxia,3,3510,
+baggy_pants,0,3508,
+nude_cover,0,3506,
+grey_pantyhose,0,3505,
+green_legwear,0,3505,"green_kneehighs,green_leggings,green_pantyhose,green_socks,green_thighhighs"
+falling_leaves,0,3504,"blowing_leaves,flying_leaves,leaves_in_wind"
+digital_media_player,0,3503,mp3_player
+paradis_military_uniform,0,3500,
+bowsette,4,3499,
+banana,0,3499,bananas
+sleeveless_kimono,0,3495,
+purple_bodysuit,0,3494,
+skirt_suit,0,3491,skirtsuit
+showering,0,3491,
+spider_lily,0,3488,higanbana
+spread_ass,0,3486,
+yumemi_riamu,4,3484,
+shide,0,3483,
+kanzaki_ranko,4,3482,
+selene_(pokemon),4,3481,"mizuki_(pokemon),moon_(pokemon)"
+paimon_(genshin_impact),4,3478,
+film_grain,0,3475,"grainy,noise_(visual)"
+what,0,3474,wtf
+belfast_(azur_lane),4,3474,
+magazine_scan,5,3473,
+spider_web,0,3472,"cobweb,cobwebs,spider_webs,spiderweb,spiderwebs,web"
+neon_trim,0,3465,
+bikini_lift,0,3465,
+mini_wings,0,3463,"small_wings,tiny_wings"
+sirius_(azur_lane),4,3462,
+pole,0,3460,
+octopus,0,3460,
+mother_and_son,0,3460,
+super_sonico,4,3458,"sonico,soniko,super_soniko"
+rooftop,0,3457,roof
+cat_paws,0,3456,cat_gloves
+aqua_bow,0,3456,
+aran_sweater,0,3455,aran_jumper
+eula_(genshin_impact),4,3453,"eula,eula_lawrence"
+promotional_art,5,3450,
+horror_(theme),0,3446,"creepy,scary"
+framed,0,3438,frame
+kunai,0,3434,
+arm_around_shoulder,0,3431,
+kisume,4,3428,
+improvised_gag,0,3428,
+ishtar_(fate),4,3427,"ishtar_(fate)_(all),ishtar_(fate/grand_order)"
+cu_chulainn_(fate/stay_night),4,3427,lancer
+mejiro_mcqueen_(umamusume),4,3424,mejiro_mcqueen
+jougasaki_mika,4,3424,
+fishing_rod,0,3423,fishing_pole
+seaport_princess,4,3422,seaport_hime
+black_flower,0,3422,
+yu-gi-oh!_duel_monsters,3,3420,"yugioh_duel_monsters,yuu-gi-ou_duel_monsters"
+fog,0,3420,mist
+wizard_hat,0,3418,
+multiple_wings,0,3418,extra_wings
+imminent_vaginal,0,3416,
+rapier,0,3415,
+2others,0,3415,
+chicken,0,3412,chickens
+tani_takeshi,1,3410,
+strapless_bikini,0,3410,
+chuunibyou_demo_koi_ga_shitai!,3,3410,"chuu2koi,chuunibyou_demo_koi_ga_shitai,love,_chunibyo_&_other_delusions,love_chunibyo_&_other_delusions"
+narukami_yuu,4,3409,"protagonist_(persona4),protagonist_(persona_4),seta_souji"
+mahou_sensei_negima!,3,3407,"mahou_sensei_negima,negima"
+glowing_weapon,0,3405,
+print_gloves,0,3404,
+pentagram,0,3404,
+lily_white,4,3403,
+brand_name_imitation,0,3400,brand_name_parody
+painting_(object),0,3398,
+kissing_cheek,0,3397,"cheek_kiss,kiss_on_cheek"
+pompadour,0,3396,
+red_sailor_collar,0,3394,
+photo_background,0,3394,anime_in_real_life
+holding_broom,0,3392,
+zero_no_tsukaima,3,3390,the_familiar_of_zero
+;q,0,3387,
+yellow_sweater,0,3386,
+zouri,0,3384,
+cage,0,3384,
+netorare,0,3383,ntr
+pokemon_frlg,3,3381,"pokemon_firered,pokemon_firered_and_leafgreen,pokemon_fr,pokemon_fr&lg,pokemon_leafgreen,pokemon_lg"
+ikari_shinji,4,3381,
+macaron,0,3380,
+kiryu_coco,4,3380,kiryuu_coco
+asuna_(blue_archive),4,3373,
+interface_headset,0,3372,
+brown_fur,0,3371,
+trefoil,0,3370,
+purple_rose,0,3370,
+laevatein_(touhou),0,3369,laevatein
+fur_hat,0,3369,
+fire_emblem:_mystery_of_the_emblem,3,3369,"fe3,fire_emblem:_monshou_no_nazo,fire_emblem_monshou_no_nazo,fire_emblem_mystery_of_the_emblem"
+furude_rika,4,3368,
+naked_sweater,0,3367,
+pink_scarf,0,3366,
+steel_ball_run,3,3365,
+wrench,0,3364,spanner
+amane_kanata,4,3364,
+i-19_(kancolle),4,3362,"i-19_(kantai_collection),iku_(kantai_collection)"
+hair_tucking,0,3359,
+adjusting_swimsuit,0,3359,
+food_print,0,3357,
+toe_scrunch,0,3356,"clenched_toes,curled_toes,toe-scrunch,toe_curl"
+cat_boy,0,3355,catboy
+needle,0,3354,needles
+folded_fan,0,3353,closed_fan
+remote_control,0,3351,"remote,remote_controller"
+fairy_(kancolle),4,3351,fairy_(kantai_collection)
+slave,0,3350,
+v-fin,0,3348,
+tokoyami_towa,4,3345,
+energy_sword,0,3345,light_sword
+date_a_live,3,3345,
+takebe_saori,4,3344,
+leaning_on_person,0,3341,leaning_on_another
+violin,0,3340,
+hands_in_hair,0,3338,
+demon_boy,0,3338,incubus
+open_door,0,3334,
+green_sailor_collar,0,3334,
+american_flag,0,3333,
+steepled_fingers,0,3332,
+hypnosis,0,3331,hypnotism
+tekken,3,3330,
+tsushima_yoshiko,4,3329,
+paint.net_(medium),5,3324,
+butt_plug,0,3322,"anal_plug,buttplug"
+too_many,0,3321,
+swimsuit_aside,0,3320,
+perky_breasts,0,3320,
+opaque_glasses,0,3320,
+afloat,0,3318,floating_in_water
+snk,3,3317,
+collared_jacket,0,3315,
+blue_hakama,0,3315,
+gokou_ruri,4,3311,
+lower_teeth,0,3310,
+idolmaster_million_live!_theater_days,3,3310,
+sheep,0,3309,
+zuihou_(kancolle),4,3308,zuihou_(kantai_collection)
+single_sleeve,0,3308,
+lightning_bolt_symbol,0,3308,"denpa,lightning_bolt,lightning_bolts"
+hololive_indonesia,3,3308,
+excalibur_(fate/stay_night),0,3307,excalibur
+cake_slice,0,3307,slice_of_cake
+pantylines,0,3306,
+mascara,0,3306,
+barnaby_brooks_jr.,4,3306,barnaby_brooks_jr
+keyboard_(computer),0,3304,computer_keyboard
+print_dress,0,3303,
+boku_wa_tomodachi_ga_sukunai,3,3303,"haganai,i_don't_have_many_friends"
+holding_bowl,0,3298,
+sushi,0,3297,
+2022,0,3294,
+cream,0,3292,
+policewoman,0,3289,"police-woman,police_woman"
+official_wallpaper,5,3287,
+elbow_rest,0,3287,
+armpit_hair,0,3287,
+sailor_moon,4,3284,sailormoon
+framed_breasts,0,3284,
+aqua_(konosuba),4,3284,
+drum,0,3283,drums
+o-ring_bottom,0,3282,o_ring_bottom
+sanya_v._litvyak,4,3281,sanya_v_litvyak
+real_life_insert,0,3281,
+ereshkigal_(fate),4,3281,ereshkigal_(fate/grand_order)
+copyright,0,3281,
+lower_body,0,3279,
+kuroki_tomoko,4,3276,
+maria-sama_ga_miteru,3,3275,"maria_watches_over_us,marimite"
+calligraphy_brush,0,3274,"ink_brush,writing_brush"
+contrail,0,3273,"condensation_trail,contrails,vapor_trail,vapor_trails"
+print_bowtie,0,3269,
+explosive,0,3267,explosives
+floor,0,3265,
+left-handed,0,3263,left_handed
+american_flag_dress,0,3262,
+two-tone_shirt,0,3257,
+grey_hoodie,0,3257,gray_hoodie
+oozora_subaru,4,3253,
+nitta_minami,4,3253,
+kakyoin_noriaki,4,3253,kakyouin_noriaki
+eiyuu_densetsu,3,3253,"legend_of_heroes,the_legend_of_heroes"
+cynthia_(pokemon),4,3253,shirona_(pokemon)
+vertical-striped_legwear,0,3250,"vertical-striped_kneehighs,vertical-striped_leggings,vertical-striped_pantyhose,vertical-striped_socks,vertical-striped_thighhighs,vertical_striped_legwear"
+egg_vibrator,0,3250,egg_vibrators
+figure,0,3249,figurine
+dungeon_and_fighter,3,3249,"arad_senki,dungeon_fighter_online"
+duel,0,3249,
+zombie_land_saga,3,3247,zombieland_saga
+transformers,3,3246,
+scope,0,3245,
+sleeves_past_elbows,0,3244,
+orange_ribbon,0,3242,
+food_on_body,0,3241,
+cammy_white,4,3241,
+kanon_(kurogane_knights),1,3232,
+train,0,3231,
+heart_choker,0,3231,
+transformation,0,3229,
+office_chair,0,3228,computer_chair
+orange_flower,0,3227,
+fins,0,3225,fin
+eila_ilmatar_juutilainen,4,3221,
+stylus,0,3211,tablet_pen
+loose_necktie,0,3211,loose_tie
+unicorn_(azur_lane),4,3209,
+medical_eyepatch,0,3209,
+suction_cups,0,3208,
+frilled_gloves,0,3205,
+map,0,3201,
+circle,0,3201,circles
+character_profile,0,3201,
+commissioner_upload,5,3200,
+shiny_pokemon,0,3199,
+egyptian,0,3197,
+staring,0,3196,stare
+hand_under_clothes,0,3196,hands_under_clothes
+love_live!_school_idol_festival,3,3192,
+fanbox_reward,5,3191,
+elden_ring,3,3189,
+concept_art,0,3189,
+test_tube,0,3187,
+paper_bag,0,3184,
+string_of_fate,0,3181,"red_string,red_string_of_fate,red_thread"
+frilled_legwear,0,3181,"frilled_kneehighs,frilled_socks,frilled_thighhighs"
+animal_crossing,3,3181,doubutsu_no_mori
+kaburagi_t._kotetsu,4,3178,"kaburagi_t_kotetsu,kotetsu_t_kaburagi"
+ahri_(league_of_legends),4,3176,ahri
+spacecraft,0,3173,"space_craft,space_ship,spaceship"
+lion_tail,0,3172,
+dancer,0,3172,
+mouse_girl,0,3170,
+uneven_eyes,0,3168,
+grey_vest,0,3168,gray_vest
+bra_removed,0,3166,bra_off
+capri_pants,0,3162,"capris,cropped_pants"
+flower-shaped_pupils,0,3161,flower_shaped_pupils
+ichinose_shiki,4,3158,
+green_leotard,0,3154,
+striped_tail,0,3152,
+furisode,0,3152,
+binoculars,0,3152,
+bandaids_on_nipples,0,3151,"bandaid_on_nipple,bandaid_on_nipples,bandaids_on_nipple"
+final_fantasy_xi,3,3149,"ff11,ffxi,final_fantasy_11"
+rudder_footwear,0,3147,
+i-58_(kancolle),4,3147,"gouya_(kantai_collection),i-58_(kantai_collection)"
+sonic_(series),3,3146,sonic_the_hedgehog
+lemon,0,3146,lemons
+horn_bow,0,3146,
+envelope,0,3146,
+stocking_(psg),4,3145,anarchy_stocking
+yahari_ore_no_seishun_lovecome_wa_machigatteiru.,3,3141,"hamachi,my_teen_romantic_comedy_snafu,my_youth_romantic_comedy_is_wrong,_as_i_expected,my_youth_romantic_comedy_is_wrong_as_i_expected,oregairu,yahari_ore_no_seishun_love_come_wa_machigatteiru,yahari_ore_no_seishun_love_come_wa_machigatteiru.,yahari_ore_no_seishun_lovecome_ha_machigatteiru.,yahari_ore_no_seishun_lovecome_wa_machigatteiru,yahari_ore_no_seishun_rabukome_wa_machigatteiru"
+striped_bra,0,3141,
+reverse_outfit,0,3141,
+maid_bikini,0,3141,
+after_anal,0,3141,
+holding_towel,0,3138,
+lucina_(fire_emblem),4,3136,lucina
+two-tone_fur,0,3131,
+medicine_melancholy,4,3126,
+corrin_(fire_emblem),4,3125,"avatar_(fire_emblem_if),corrin_(fire_emblem_if),kamui_(fire_emblem_if),my_unit_(fire_emblem_if)"
+evangelion:_3.0_you_can_(not)_redo,3,3124,
+ookami_mio,4,3123,
+basketball,0,3122,
+rod_of_remorse,0,3121,
+milestone_celebration,0,3120,"followers,hit,hits,kiriban"
+lunasa_prismriver,4,3119,
+hand_on_own_arm,0,3119,
+tight_pants,0,3116,
+sennen_sensou_aigis,3,3116,aigis_the_thousand_year_war
+daiwa_scarlet_(umamusume),4,3115,daiwa_scarlet
+kotomine_kirei,4,3114,
+baozi,0,3110,"manjuu,meat_bun,meatbun,nikuman,pork_bun,porkbun"
+bad_feet,0,3110,
+serena_(pokemon),4,3108,"female_protagonist_(pokemon_xy),y_(pokemon),y_na_gaabena,yvonne_(pokemon),yvonne_gabena"
+partially_undressed,0,3108,
+open_dress,0,3108,
+middle_finger,0,3107,"flipping_off,the_finger"
+yagami_hayate,4,3106,hayate_yagami
+sake_bottle,0,3106,
+candy_apple,0,3106,"candied_apple,toffee_apple"
+multiple_crossover,0,3104,
+blue_scrunchie,0,3102,
+bkub,1,3102,
+pizza,0,3101,
+hinata_hajime,4,3101,
+footwear_bow,0,3101,"boot_bow,bow_footwear,shoe_bow"
+alice_in_wonderland,3,3100,
+maya_(kancolle),4,3099,maya_(kantai_collection)
+rubber_duck,0,3098,"rubber_duckie,rubber_ducky"
+machikado_mazoku,3,3098,the_demon_girl_next_door
+hooded_capelet,0,3098,
+hair_beads,0,3097,
+scan_artifacts,5,3095,"bad_scan,badscan,scan_artefact,scan_artefacts,scan_artifact,scanner_artifacts,scanning_artifacts,scanning_artifacts,scanningartifacts"
+meiji_schoolgirl_uniform,0,3095,
+kamisato_ayaka,4,3093,"ayaka_(genshin_impact),ayaka_(genshin_impact),kamisato_ayaka_(genshin_impact)"
+uranohoshi_school_uniform,0,3091,
+pussy_juice_stain,0,3090,
+commander_(azur_lane),4,3090,"admiral_(azur_lane),shikikan_(azur_lane)"
+pink_leotard,0,3089,
+breast_slip,0,3088,boob_slip
+chewing_gum,0,3087,"bubble_gum,bubblegum,gum"
+arm_belt,0,3087,
+naganami_(kancolle),4,3086,naganami_(kantai_collection)
+father_and_son,0,3086,
+taur,0,3084,
+banner,0,3084,
+pussy_juice_trail,0,3083,pussy_juice_string
+haruno_sakura,4,3083,
+blue_capelet,0,3083,
+mismatched_gloves,0,3080,
+kokkoro_(princess_connect!),4,3080,
+swim_trunks,0,3079,"swimming_trunks,swimtrunks"
+pumps,0,3078,
+hair_strand,0,3078,
+covered_collarbone,0,3076,
+the_legend_of_zelda:_twilight_princess,3,3074,twilight_princess
+fur-trimmed_headwear,0,3074,fur-trimmed_hat
+yuri!!!_on_ice,3,3073,yuri_on_ice
+stage,0,3073,
+happy_halloween,0,3073,
+nightcap,0,3072,
+no_shirt,0,3071,no_blouse
+pink_shorts,0,3070,
+pokemon_masters_ex,3,3069,pokemon_masters
+finger_gun,0,3069,
+yamakaze_(kancolle),4,3066,yamakaze_(kantai_collection)
+pokemon_rse,3,3065,"pokemon_r&s,pokemon_rs,pokemon_ruby,pokemon_ruby_and_sapphire,pokemon_sapphire"
+pink_cardigan,0,3064,
+squirrel_ears,0,3061,
+holding_pokemon,0,3061,
+digimon_(creature),0,3061,
+bandage_over_one_eye,0,3060,"bandaged_eye,bandages_over_one_eye"
+blue_pantyhose,0,3057,
+official_alternate_hairstyle,0,3056,alternate_hairstyle_(official)
+parfait,0,3055,
+holding_mask,0,3055,
+submerged,0,3054,
+ouma_kokichi,4,3054,
+anastasia_(idolmaster),4,3051,
+shore,0,3049,"coast,shoreline"
+holding_camera,0,3049,
+son_goku,4,3048,"goku,son_gokuu"
+kindergarten_uniform,0,3048,
+partially_unzipped,0,3045,
+hiiragi_tsukasa,4,3045,
+background_text,0,3043,
+gradient_sky,0,3038,
+penis_on_face,0,3037,
+drop_shadow,0,3037,
+flashing,0,3036,
+shotgun,0,3035,
+grabbing_another's_ass,0,3032,
+murasame_(kancolle),4,3029,murasame_(kantai_collection)
+lineup,0,3025,"line-up,line_up"
+heart-shaped_eyewear,0,3025,"heart-shaped_glasses,heart-shaped_sunglasses"
+gothic,0,3025,goth
+kitagawa_marin,4,3023,
+project_sekai,3,3022,
+goggles_around_neck,0,3022,
+ejaculating_while_penetrated,0,3022,cum_while_penetrated
+arm_rest,0,3020,
+multiple_hair_bows,0,3018,
+duck,0,3017,
+gym_shorts,0,3016,
+deep_penetration,0,3014,balls_deep
+obliques,0,3013,
+gae_bolg_(fate),0,3013,gae_bolg
+riding_crop,0,3012,
+multiple_rings,0,3007,
+kirito,4,3006,
+hairpods,0,3005,
+lip_biting,0,3002,"biting_lip,lip_bite"
+tony_taka,1,3001,"taka_tony,tanaka_takayuki"
+dress_bow,0,3001,bow_dress
+colored_pubic_hair,0,3001,
+reverse_suspended_congress,0,2998,
+ear_ornament,0,2998,
+polos_crown,0,2996,
+shirogane_naoto,4,2992,
+stirrup_legwear,0,2991,
+energy_gun,0,2990,
+red_headband,0,2989,
+cuts,0,2989,cut
+yukihana_lamy,4,2988,
+stomach_tattoo,0,2987,
+mercy_(overwatch),4,2986,"angela_ziegler,dr._angela_ziegler"
+forked_eyebrows,0,2984,
+tomoe_(symbol),0,2983,
+tales_of_vesperia,3,2983,
+piggyback,0,2979,carrying_on_back
+kingdom_hearts,3,2979,kingdom_hearts_mobile
+green_bra,0,2979,
+pokemon_adventures,3,2978,"pocket_monsters_special,pocket_monsters_special,pokemon_special"
+lying_on_person,0,2977,
+doremy_sweet,4,2977,
+throwing,0,2975,throw
+kuromorimine_military_uniform,0,2975,
+white_vest,0,2967,
+leotard_aside,0,2967,
+hair_twirling,0,2966,"hair_twirl,twirling_hair"
+harpy,0,2963,
+florence_nightingale_(fate),4,2963,florence_nightingale_(fate/grand_order)
+sakurauchi_riko,4,2962,
+paint_splatter,0,2962,
+upright_straddle,0,2961,
+japari_symbol,0,2960,
+nia_teppelin,4,2959,
+edelgard_von_hresvelg,4,2959,
+holding_another's_arm,0,2957,arm_holding
+hiding,0,2954,
+leg_hair,0,2952,
+higuchi_madoka,4,2952,
+black_armor,0,2952,
+obiage,0,2951,
+single_kneehigh,0,2948,one_kneehigh
+misty_(pokemon),4,2948,"kasumi_(pokemon),misty,misty"
+artbook,5,2948,
+scar_on_chest,0,2947,chest_scar
+pink_neckerchief,0,2947,
+frilled_swimsuit,0,2947,
+sailor_bikini,0,2946,
+clothes_grab,0,2946,
+toy,0,2944,toys
+tablet_pc,0,2944,
+body_markings,0,2944,
+kujo_jolyne,4,2943,"cujoh_jolyne,kuujou_jolyne"
+bat_hair_ornament,0,2943,
+metal_gear_(series),3,2942,metal_gear
+reverse_bunnysuit,0,2941,
+jack_the_ripper_(fate/apocrypha),4,2939,assassin_of_black
+suit_jacket,0,2937,
+squirrel_tail,0,2935,
+shimada_arisu,4,2935,
+katyusha_(girls_und_panzer),4,2934,katyusha
+giorno_giovanna,4,2933,
+plaid_dress,0,2928,
+kay_(girls_und_panzer),4,2928,
+trainer_(umamusume),4,2927,
+irrumatio,0,2927,"face_fucking,facefuck,forced_blowjob,forced_fellatio"
+w_arms,0,2926,
+prosthetic_arm,0,2926,artificial_arm
+hands_in_opposite_sleeves,0,2926,hands_in_sleeves
+asymmetrical_footwear,0,2925,
+holding_underwear,0,2924,
+chips_(food),0,2923,"chips,crisps"
+darkness,0,2922,
+ump45_(girls'_frontline),4,2921,ump45_(girls_frontline)
+shovel,0,2921,
+bandaged_hand,0,2921,bandaged_hands
+earbuds,0,2917,
+hyouka,3,2916,
+seagull,0,2915,seagulls
+anus_peek,0,2915,partially_visible_anus
+makima_(chainsaw_man),4,2914,
+hands_on_another's_shoulders,0,2914,
+galaga,3,2914,
+z1_leberecht_maass_(kancolle),4,2910,z1_leberecht_maass_(kantai_collection)
+yellow_scarf,0,2909,
+holding_lollipop,0,2909,
+gold_ship_(umamusume),4,2906,gold_ship
+sheryl_nome,4,2905,sheryl_noam
+bone_hair_ornament,0,2905,
+audible_speech,5,2904,
+purple_vest,0,2900,
+hands_on_another's_face,0,2897,
+grey_sailor_collar,0,2897,
+egasumi,0,2896,
+audible_music,5,2896,song
+midoriya_izuku,4,2893,deku_(boku_no_hero_academia)
+fresh_precure!,3,2891,"fresh_precure,fresh_pretty_cure,fresh_pretty_cure!"
+blue-framed_eyewear,0,2890,blue-framed_glasses
+penis_awe,0,2887,cock_shock
+purple_umbrella,0,2886,
+uzumaki_naruto,4,2885,
+sandwich,0,2884,sandwiches
+slime_girl,0,2883,"goo_girl,googirl,slimegirl"
+spitroast,0,2877,
+tomato,0,2876,tomatoes
+holding_box,0,2874,
+magazine_(weapon),0,2873,"ammunition_magazine,gun_magazine,magazine_(gun)"
+arm_around_waist,0,2872,
+ayanami_(azur_lane),4,2870,
+viewfinder,0,2869,camera_frame
+futaba_anzu,4,2868,
+orange_bodysuit,0,2866,
+layered_bikini,0,2864,
+speaker,0,2863,"loudspeaker,speakers"
+street_fighter_v,3,2862,
+megaphone,0,2861,"bull_horn,bullhorn"
+shikishi,0,2860,
+bleeding,0,2860,
+taihou_(kancolle),4,2859,taihou_(kantai_collection)
+shenhe_(genshin_impact),4,2858,
+ouro_kronii,4,2858,kronii_ouro
+pecorine_(princess_connect!),4,2857,pecorine
+z3_max_schultz_(kancolle),4,2856,z3_max_schultz_(kantai_collection)
+alternate_legwear,0,2854,
+miniboy,0,2853,
+loose_belt,0,2850,
+feather_boa,0,2845,boa
+treble_clef,0,2844,
+xiao_(genshin_impact),4,2841,shou_(genshin_impact)
+takarada_rikka,4,2840,
+miura_azusa,4,2837,
+fire_emblem:_the_binding_blade,3,2837,"fe6,fire_emblem:_fuuin_no_tsurugi,fire_emblem_fuuin_no_tsurugi,fire_emblem_sword_of_seals"
+lion_girl,0,2836,
+iskandar_(fate),4,2836,rider_(fate/zero)
+bamboo_forest,0,2836,
+waver_velvet,4,2835,
+kuma_(kancolle),4,2834,kuma_(kantai_collection)
+ruu_(tksymkw),1,2830,"rakugakiyarou,tksymkw,tsurukou_(tksymkw)"
+evangelion:_2.0_you_can_(not)_advance,3,2829,
+grenade,0,2828,grenades
+chest_harness,0,2828,
+humanization,0,2827,
+licking_finger,0,2826,"finger_licking,licking_fingers"
+pancake,0,2824,pancakes
+surreal,0,2821,
+grinding,0,2821,
+gas_mask,0,2821,gas-mask
+spoken_squiggle,0,2820,
+letterman_jacket,0,2820,varsity_jacket
+pubic_hair_peek,0,2819,
+jacket_around_waist,0,2819,
+soda_can,0,2816,pop_can
+fighting,0,2816,fight
+plantar_flexion,0,2815,toe-point
+goggles_on_headwear,0,2812,"goggles_on_hat,goggles_on_helmet"
+bubble_tea,0,2812,boba_tea
+single_leg_pantyhose,0,2810,"single_legging,single_pantyhose_leg"
+murasaki_shion,4,2808,
+finger_on_trigger,0,2808,
+shirt_tug,0,2807,
+newspaper,0,2806,
+shishiro_botan,4,2804,
+nami_(one_piece),4,2804,
+hyuuga_hinata,4,2804,
+horned_headwear,0,2804,
+spice_and_wolf,3,2801,"ookami_to_koushinryou,wolf_and_spice"
+scowl,0,2800,
+saihara_shuuichi,4,2800,
+lifting_person,0,2800,lifting_another
+akigumo_(kancolle),4,2800,akigumo_(kantai_collection)
+fire_emblem:_path_of_radiance,3,2799,"fe9,fire_emblem:_souen_no_kiseki,fire_emblem_path_of_radiance,fire_emblem_souen_no_kiseki"
+skates,0,2798,
+lily_pad,0,2798,"lilypad,lilypads,water_lily"
+magazine_cover,0,2797,
+vegetable,0,2796,vegetables
+ghost_tail,0,2796,
+bird_ears,0,2796,
+arms_around_neck,0,2796,neck_hug
+multi-tied_hair,0,2795,
+bunny_print,0,2794,
+shooting_star,0,2793,shooting_stars
+green_neckwear,0,2793,"green_bowtie,green_neckerchief,green_necktie"
+orange_hairband,0,2792,
+beer_can,0,2791,
+traditional_youkai,0,2790,youkai
+bag_charm,0,2790,
+a1,1,2790,"initial-g,initial_g,initialg"
+warspite_(kancolle),4,2789,warspite_(kantai_collection)
+jonathan_joestar,4,2789,
+pokephilia,0,2787,
+hagiwara_yukiho,4,2787,
+midair,0,2785,
+samurai_spirits,3,2784,"samurai_shodown,samuraispirits"
+guro,0,2784,gore
+5koma,0,2784,
+mario,4,2782,
+i-401_(kancolle),4,2782,"i-401_(kantai_collection),shioi_(kantai_collection)"
+tokai_teio_(umamusume),4,2781,tokai_teio
+narmaya_(granblue_fantasy),4,2781,narumeia_(granblue_fantasy)
+guilty_gear_strive,3,2781,
+shirai_kuroko,4,2780,
+deepthroat,0,2780,
+2020,0,2779,
+mikasa_ackerman,4,2777,
+hair_tie_in_mouth,0,2777,scrunchie_in_mouth
+in_tree,0,2774,
+spoken_interrobang,0,2773,
+snowflake_hair_ornament,0,2773,
+piano,0,2773,"acoustic_piano,analog_piano,electric_piano,manual_piano"
+blade_(galaxist),1,2772,"blade_(artist),blade_(lovewn)"
+jougasaki_rika,4,2770,
+izumi_sagiri,4,2770,
+in_box,0,2770,"boy_in_a_box,girl_in_a_box"
+extra,0,2770,
+leaf_print,0,2769,
+eevee,4,2768,
+chloe_von_einzbern,4,2768,kuro_(fate/kaleid_liner)
+fusou_(kancolle),4,2766,fusou_(kantai_collection)
+ceiling,0,2764,
+tiger_girl,0,2762,
+ryuuguu_rena,4,2762,ryuugu_rena
+food_on_head,0,2762,
+pith_helmet,0,2761,
+yellow_rose,0,2760,
+uraraka_ochako,4,2760,uravity_(boku_no_hero_academia)
+mochi,0,2760,
+left-to-right_manga,0,2759,"left-to-right,left_to_right_manga"
+dark_souls_(series),3,2759,"dark_souls,souls_(from_software),souls_(series)"
+open-chest_sweater,0,2758,keyhole_sweater
+crotch_rope,0,2758,crotchrope
+pyonta,4,2756,
+coat_on_shoulders,0,2755,
+watson_cross,0,2754,
+thumb_ring,0,2754,
+elizabeth_bathory_(fate),4,2754,"elizabeth_bathory_(fate)_(all),lancer_(fate/extra_ccc)"
+aisaka_taiga,4,2753,
+idolmaster_side-m,3,2752,"idolmaster_side_m,idolmaster_sidem,side-m"
+frying_pan,0,2752,cooking_pan
+after_fellatio,0,2752,after_blowjob
+heart_in_eye,0,2751,
+uneven_gloves,0,2750,asymmetrical_gloves
+reizei_mako,4,2750,
+kanzashi,0,2750,
+thinking,0,2749,
+yuki_miku,4,2748,snow_miku
+ribbed_dress,0,2748,
+non-human_admiral_(kancolle),4,2745,non-human_admiral_(kantai_collection)
+boo_tao_(genshin_impact),4,2745,
+blue_gemstone,0,2745,sapphire_(gemstone)
+motoori_kosuzu,4,2743,
+undertale,3,2742,
+stained_glass,0,2742,
+fire_emblem:_radiant_dawn,3,2742,"fe10,fire_emblem:_akatsuki_no_megami,fire_emblem_akatsuki_no_megami,fire_emblem_radiant_dawn"
+ranma_1/2,3,2741,"ranma1/2,ranma_›,ranma›"
+humanoid_robot,0,2740,
+matsunaga_kouyou,1,2739,
+common_raccoon_(kemono_friends),4,2739,raccoon_(kemono_friends)
+bodysuit_under_clothes,0,2738,
+bike_shorts_under_skirt,0,2738,
+hand_over_own_mouth,0,2736,
+working!!,3,2735,wagnaria!!
+winged_arms,0,2735,
+midorikawa_nao,4,2734,
+vertical-striped_dress,0,2732,
+hand_on_head,0,2732,
+hagoromo,0,2732,
+gloom_(expression),0,2732,gloomy
+panda,0,2731,
+stitched,5,2729,"stiched,stitch"
+yugake,0,2727,
+neck_ruff,0,2726,
+heart_in_mouth,0,2724,
+ankle_ribbon,0,2724,
+orange_sky,0,2721,
+raccoon_girl,0,2720,
+flip-flops,0,2720,"flip_flops,flipflops"
+hunter_x_hunter,3,2718,hxh
+usami_sumireko,4,2717,
+making-of_available,5,2715,
+breastless_clothes,0,2715,breastless_clothing
+object_namesake,0,2714,
+city_lights,0,2713,
+leon_(pokemon),4,2712,"dande_(pokemon),leon_(pokemon_swsh)"
+caterpillar_tracks,0,2711,
+sparkle_background,0,2708,
+sheep_ears,0,2708,
+kumano_(kancolle),4,2705,kumano_(kantai_collection)
+lelouch_lamperouge,4,2702,"lelouch,lelouch_vi_britannia"
+hoto_cocoa,4,2702,
+sekaiju_no_meikyuu,3,2701,"etrian_odyssey,sekaiju_no_meikyu"
+chemise,0,2701,
+taimanin_(series),3,2700,
+christmas_ornaments,0,2700,
+writing,0,2699,
+peeing_self,0,2699,"peeing_panties,peeing_pants"
+satonaka_chie,4,2698,
+american_flag_bikini,0,2698,
+barbara_(genshin_impact),4,2697,barbara_pegg
+torn_bodysuit,0,2696,
+lotus,0,2696,
+button_badge,0,2696,"button_badges,can_badge,pin-back_button,pin_button,pinback_button"
+red_belt,0,2694,
+numbered,0,2694,
+flats,0,2692,
+sayonara_zetsubou_sensei,3,2691,
+puppet,0,2690,puppets
+debris,0,2690,
+ruby_rose,4,2687,ruby_(rwby)
+holding_axe,0,2687,
+kise_yayoi,4,2685,
+holo,4,2682,horo
+spill,0,2680,spilled
+public_nudity,0,2680,
+four-leaf_clover,0,2680,four_leaf_clover
+beatrice_(umineko),4,2680,
+mankanshoku_mako,4,2679,
+remote_control_vibrator,0,2678,
+chained,0,2677,
+bird_on_head,0,2677,
+leopard_print,0,2676,leopardprint
+kote,0,2675,
+bar_(place),0,2675,bar
+purple_pantyhose,0,2674,
+rubber_boots,0,2673,"galoshes,rain_boots,wellingtons"
+monster_hunter_(character),4,2673,
+cat_ear_panties,0,2673,
+shoe_dangle,0,2671,"flats_dangling,heels_dangling"
+shared_clothes,0,2671,
+pretty_(series),3,2671,
+shakugan_no_shana,3,2670,shakugannoshana
+orange_necktie,0,2670,
+higashikata_josuke,4,2670,higashikata_jousuke
+collage,0,2670,
+wide_ponytail,0,2669,
+pink_scrunchie,0,2669,
+gekkoukan_high_school_uniform,0,2668,
+covering_eyes,0,2667,hands_over_eyes
+diffraction_spikes,0,2665,
+nanashi_mumei,4,2664,mumei_nanashi
+cupcake,0,2663,cupcakes
+white_scrunchie,0,2662,
+paint,0,2662,
+grey_panties,0,2662,gray_panties
+hyuuga_(kancolle),4,2661,hyuuga_(kantai_collection)
+lotion,0,2660,
+maekawa_miku,4,2658,
+aoba_(kancolle),4,2656,aoba_(kantai_collection)
+kama_(fate),4,2654,kama_(fate/grand_order)
+dragon_ball_super,3,2653,
+striker_unit,0,2651,striker_units
+raihan_(pokemon),4,2651,kibana_(pokemon)
+pokemon_sm_(anime),3,2651,
+naga_u,1,2651,
+lycoris_recoil,3,2651,
+shiranui_mai,4,2650,
+orange_nails,0,2649,orange_fingernails
+holding_scythe,0,2649,
+long_eyelashes,0,2644,
+charlotte_(madoka_magica),4,2644,
+shell_casing,0,2643,"bullet_casings,shell_casings"
+bento,0,2642,"bento-box,bento_box,bentou,obento,obentou"
+red_sleeves,0,2641,
+happinesscharge_precure!,3,2641,"happiness_charge_precure,happiness_charge_precure!,happinesscharge_precure"
+emilia_(re:zero),4,2641,
+tokitsukaze_(kancolle),4,2639,tokitsukaze_(kantai_collection)
+akizuki_ritsuko,4,2639,
+shoulder_carry,0,2637,shoulder_ride
+ear_ribbon,0,2635,"animal_ear_bow,ear_bow"
+cheese,0,2633,
+paw_shoes,0,2632,paw_boots
+gaping,0,2630,gape
+yellow_kimono,0,2629,yellow_yukata
+kiyohime_(fate),4,2629,kiyohime_(fate/grand_order)
+thank_you,0,2628,"arigatou,thanks"
+arm_hair,0,2627,hairy_arms
+tunic,0,2624,
+gender_request,5,2624,
+layered_clothes,0,2622,layered_clothing
+breast_curtains,0,2622,
+yunomi,0,2621,
+stuffed_cat,0,2618,
+pinching,0,2618,pinch
+moonlight,0,2617,
+keyhole,0,2617,
+rabbit_hood,0,2614,bunny_hood
+medal,0,2614,medals
+lace_panties,0,2614,
+ch'en_(arknights),4,2613,
+ace_attorney,3,2613,gyakuten_saiban
+gem_uniform_(houseki_no_kuni),0,2612,
+earclip,0,2610,ear_clip
+arms_under_breasts,0,2610,
+world_war_ii,0,2606,wwii
+hip_bones,0,2606,"pelvic_bone,pelvic_bones"
+hallway,0,2606,"corridor,school_hall"
+green_scarf,0,2606,
+urethra,0,2605,
+luna_child,4,2605,moonlight_lunarchild
+sword_of_hisou,0,2604,
+au_ra,0,2604,
+pokemon_rgby,3,2603,"pokemon_blue,pokemon_green,pokemon_r&b,pokemon_r&g,pokemon_rb,pokemon_rby,pokemon_red,pokemon_red_and_blue,pokemon_red_and_green,pokemon_rg,pokemon_rgb,pokemon_yellow"
+exercise,0,2603,working_out
+candy_cane,0,2602,
+robin_(fire_emblem),4,2600,"avatar_(fire_emblem:_kakusei),my_unit_(fire_emblem:_kakusei),reflet_(fire_emblem)"
+mobile_suit,0,2600,
+domino_mask,0,2600,
+quad_tails,0,2598,
+flat_ass,0,2598,no_ass
+fetal_position,0,2598,
+fennec_(kemono_friends),4,2598,
+pirate,0,2597,pirates
+goldfish,0,2597,
+fate/prototype:_fragments_of_blue_and_silver,3,2597,
+corruption,0,2596,
+reindeer_antlers,0,2590,
+on_shoulder,0,2590,
+star_sapphire,4,2588,starlight_starsapphire
+star_in_eye,0,2588,stars_in_eye
+jean_(genshin_impact),4,2588,"jean_gunnhildr,jean_gunnhildr_(genshin_impact)"
+wedding,0,2583,marriage
+multiple_bows,0,2583,
+furry_with_non-furry,0,2583,
+hayate_no_gotoku!,3,2582,"hayate_no_gotoku,hayate_no_gotoku!!,hayate_the_combat_butler"
+stethoscope,0,2581,
+jealous,0,2581,jealousy
+oboro_(kancolle),4,2580,oboro_(kantai_collection)
+black_ascot,0,2579,
+abstract,0,2579,
+kousaka_kirino,4,2578,
+hand_in_panties,0,2578,finger_in_panties
+tomoe_gozen_(fate),4,2576,tomoe_gozen_(fate/grand_order)
+quarter_note,0,2576,crotchet
+cross_hair_ornament,0,2576,
+unzan,4,2575,
+holding_dagger,0,2573,
+padlock,0,2572,
+pudding,0,2571,flan
+light_green_hair,0,2571,
+huge_nipples,0,2570,large_nipples
+boko_(girls_und_panzer),4,2566,
+helmet_removed,0,2565,helmet_off
+fashion,0,2565,
+year_of_the_tiger,0,2564,
+ashigara_(kancolle),4,2564,ashigara_(kantai_collection)
+volleyball,0,2563,
+single_sidelock,0,2561,
+satsuki_(kancolle),4,2561,satsuki_(kantai_collection)
+leg_lock,0,2561,legs_lock
+illustrious_(azur_lane),4,2559,
+bangs_pinned_back,0,2559,
+orange_footwear,0,2557,"orange_boots,orange_shoes"
+kyuubi,0,2557,
+single_detached_sleeve,0,2553,
+dice,0,2553,
+snot,0,2551,
+kogal,0,2551,
+made_in_abyss,3,2550,
+pant_suit,0,2549,"pants_suit,pantsuit"
+ladder,0,2549,
+latin_cross,0,2548,
+electric_fan,0,2548,fan_(electric)
+bea_(pokemon),4,2548,saitou_(pokemon)
+yohane,1,2547,
+aiming_at_viewer,0,2546,pov_aiming
+hand_on_another's_chest,0,2545,
+seamed_legwear,0,2542,
+jintsuu_(kancolle),4,2542,jintsuu_(kantai_collection)
+horseshoe_ornament,0,2541,
+ears_down,0,2541,
+brush,0,2540,
+mole_on_thigh,0,2539,
+mogami_(kancolle),4,2539,mogami_(kantai_collection)
+kanon,3,2539,
+uzuki_(kancolle),4,2538,uzuki_(kantai_collection)
+zombie_pose,0,2537,
+weiss_schnee,4,2537,
+fischl_(genshin_impact),4,2536,
+over-rim_eyewear,0,2535,"over-rim_glasses,over_rim_glasses"
+year_of_the_ox,0,2534,
+torn_sleeves,0,2534,
+kara_no_kyoukai,3,2534,the_garden_of_sinners
+skirt_tug,0,2533,
+kiyoshimo_(kancolle),4,2533,kiyoshimo_(kantai_collection)
+pink_apron,0,2530,
+crescent_earrings,0,2530,crescent_earring
+purple_wings,0,2529,
+urakaze_(kancolle),4,2526,urakaze_(kantai_collection)
+qing_guanmao,0,2526,
+mega_man_(classic),3,2526,"rockman_(classic),rockman_(original)"
+green_thighhighs,0,2526,
+makise_kurisu,4,2525,
+hidamari_sketch,3,2525,sunshine_sketch
+2018,0,2525,
+kagerou_(kancolle),4,2524,kagerou_(kantai_collection)
+incredibly_absurdres,5,2524,
+flaming_eye,0,2523,"burning_eye,fiery_eye"
+coattails,0,2523,
+ramen,0,2522,
+pillarboxed,0,2522,pillarbox
+happy_valentine,0,2522,happy_valentine's_day
+burn_scar,0,2522,
+stone_ocean,3,2521,
+go!_princess_precure,3,2519,go_princess_precure
+subtitled,0,2518,subtitles
+profanity,0,2518,
+trash_can,0,2516,"dustbin,garbage_can,trashcan,wastebasket"
+bullpup,0,2516,bullpup_rifle
+2016,0,2516,
+duffel_bag,0,2515,
+paddle,0,2514,
+nakiri_ayame,4,2514,
+soldier,0,2513,soldiers
+shower_head,0,2513,
+purple_choker,0,2513,
+feather_trim,0,2513,
+two-tone_skirt,0,2512,
+lappland_(arknights),4,2511,
+looking_at_penis,0,2509,
+turtle_shell,0,2508,
+wet_swimsuit,0,2507,
+vibrator_under_clothes,0,2507,
+futa_(nabezoko),1,2507,futa4192
+sunburst,0,2506,
+st._gloriana's_school_uniform,0,2506,
+wide_spread_legs,0,2505,
+natsuiro_matsuri,4,2505,
+bra_peek,0,2505,
+mitsudomoe_(shape),0,2504,
+yellow_fur,0,2503,
+nitocris_(fate),4,2503,nitocris_(fate/grand_order)
+green_hairband,0,2503,
+takami_chika,4,2498,
+finger_to_cheek,0,2498,
+isokaze_(kancolle),4,2497,isokaze_(kantai_collection)
+fur-trimmed_hood,0,2497,
+sunny_milk,4,2496,sunlight_sunnymilk
+owl,0,2496,
+orange_scrunchie,0,2496,
+2019,0,2496,
+fairy_tail,3,2495,
+emiya_kiritsugu,4,2494,
+tachibana_arisu,4,2491,
+negligee,0,2491,
+asuna_(bunny)_(blue_archive),4,2491,asuna_(bunny_girl)_(blue_archive)
+doorway,0,2490,
+soccer_ball,0,2489,football_(object)
+ainu_clothes,0,2489,
+soulcalibur,3,2484,soul_calibur
+kallen_stadtfeld,4,2484,"kallen,kouzuki_kallen,kouzuki_karen"
+yorigami_shion,4,2483,
+melty_blood,3,2483,
+spade_(shape),0,2482,
+miyafuji_yoshika,4,2482,
+alternate_universe,0,2482,what_if
+seashell,0,2481,seashells
+artoria_pendragon_(lancer)_(fate),4,2481,artoria_pendragon_(lancer)
+erica_hartmann,4,2480,
+come_hither,0,2480,
+shiranui_flare,4,2479,
+crossed_ankles,0,2479,
+clitoral_stimulation,0,2479,clitoris_stimulation
+heart_pillow,0,2478,
+shark,0,2477,
+strap_between_breasts,0,2476,"paisura,strap_cleavage"
+eyepatch_bikini,0,2476,
+breast_tattoo,0,2476,tattooed_breast
+rose_print,0,2475,
+mismatched_bikini,0,2475,
+coffee_cup,0,2474,
+chest_sarashi,0,2474,sarashi_(chest)
+m.u.g.e.n,3,2472,mugen_(game)
+utau,3,2471,
+mobile_suit_gundam,3,2471,
+anime_coloring,0,2471,
+sleepwear,0,2470,"nightwear,sleep_wear"
+pig,0,2470,"piglet,pigs"
+bass_guitar,0,2470,bass
+star_ocean,3,2469,
+alternate_headwear,0,2469,"alternate_hat,alternative_hat,alternative_headwear"
+pastry,0,2468,
+exusiai_(arknights),4,2465,
+hand_on_another's_hip,0,2464,
+unryuu_(kancolle),4,2463,unryuu_(kantai_collection)
+brown_bag,0,2462,"brown_backpack,brown_handbag"
+red_sclera,0,2459,
+wrestling_outfit,0,2458,
+shibari_over_clothes,0,2458,
+fire_emblem:_genealogy_of_the_holy_war,3,2458,"fe4,fire_emblem:_seisen_no_keifu,fire_emblem_genealogy_of_the_holy_war,fire_emblem_seisen_no_keifu"
+nipple_rings,0,2454,nipple_ring
+cross-shaped_pupils,0,2453,
+red_gemstone,0,2452,ruby_(gemstone)
+locker_room,0,2452,
+diagonal_bangs,0,2452,
+brown_theme,0,2452,
+untied_panties,0,2451,
+snowflake_print,0,2451,
+lifted_by_another,0,2450,
+carnelian,1,2450,
+assault_lily,3,2450,
+suspension,0,2449,suspended
+nessa_(pokemon),4,2449,rurina_(pokemon)
+spandex,0,2447,
+koshimizu_sachiko,4,2447,
+photo-referenced,5,2446,photo_reference
+corrin_(fire_emblem)_(female),4,2446,female_my_unit_(fire_emblem_if)
+bandaid_on_pussy,0,2446,
+weibo_username,0,2445,
+sigh,0,2445,sighing
+blue_belt,0,2445,
+raincoat,0,2442,
+g-string,0,2442,g_string
+diarmuid_ua_duibhne_(lancer)_(fate),4,2442,lancer_(fate/zero)
+blade,0,2441,blades
+multiple_horns,0,2440,
+rebecca_(keinelove),1,2439,rebecca_(naononakukoroni)
+hatsuyuki_(kancolle),4,2439,hatsuyuki_(kantai_collection)
+embers,0,2439,ember
+skirt_around_one_leg,0,2438,
+clothes_in_mouth,0,2437,
+orange_gloves,0,2436,
+orange_choker,0,2436,
+futari_wa_precure,3,2436,"futari_wa_precure_(1st),futari_wa_pretty_cure"
+final_fantasy_vi,3,2435,"ff6,ffvi"
+two-footed_footjob,0,2433,
+mismatched_footwear,0,2433,
+2015,0,2432,
+see-through_shirt,0,2431,transparent_shirt
+sheep_girl,0,2430,
+hishikawa_rikka,4,2429,
+talons,0,2425,
+shirt_removed,0,2425,shirt_off
+lights,0,2424,
+flame-tipped_tail,0,2424,"fire-tipped_tail,flame_tipped_tail,flaming_tip_tail,tail-tip_fire"
+anya_(spy_x_family),4,2423,
+chef_hat,0,2421,
+warugaki_(sk-ii),1,2420,sk-ii
+arm_held_back,0,2420,
+shaved_ice,0,2419,"kakigoori,kakigori,shavedice"
+ido_(teketeke),1,2418,
+yellow_scrunchie,0,2417,
+sweets,0,2417,
+hayami_kanade,4,2417,
+naoetsu_high_school_uniform,0,2416,
+head-mounted_display,0,2416,"head_mounted_display,vr_goggles,vr_headset,vr_visor"
+doll_hug,0,2415,plush_hug
+orgy,0,2414,
+holding_panties,0,2414,
+black_cardigan,0,2414,
+giving,0,2413,
+walk-in,0,2412,walk_in
+cold,0,2412,
+dizzy_(guilty_gear),4,2411,
+sun_symbol,0,2410,sun_(symbol)
+mallet,0,2409,
+zero_suit,0,2407,
+nakano_nino,4,2407,
+magazine_(object),0,2407,"magazine,magazines"
+frilled_kimono,0,2407,frilled_yukata
+wa_maid,0,2406,japanese_maid
+shiratsuyu_(kancolle),4,2406,shiratsuyu_(kantai_collection)
+hisahiko,1,2405,
+cigar,0,2405,
+akitsu_maru_(kancolle),4,2405,akitsu_maru_(kantai_collection)
+striped_jacket,0,2404,
+green_coat,0,2404,
+mika_(girls_und_panzer),4,2402,
+asakura_ryouko,4,2402,asakura_ryoko
+simon_(ttgl),4,2400,
+kitauji_high_school_uniform,0,2399,
+horizontal_pupils,0,2399,"frog_eyes,goat_eyes"
+calendar_(medium),0,2399,
+grey_coat,0,2397,
+white_robe,0,2396,
+spacesuit,0,2394,
+sitting_on_face,0,2394,"face_sitting,facesitting,sit_on_face"
+skull_and_crossbones,0,2392,
+mouth_drool,0,2392,
+ooarai_military_uniform,0,2391,
+scar_on_nose,0,2390,nose_scar
+ixy,1,2390,
+white_theme,0,2389,
+oshiro_project,3,2389,oshiro_collection
+houjou_satoko,4,2389,
+taigei_(kancolle),4,2388,taigei_(kantai_collection)
+tokyo_ghoul,3,2387,
+scar_on_arm,0,2386,arm_scar
+frilled_hair_tubes,0,2386,
+arm_around_neck,0,2386,
+typo,0,2385,
+project_diva_(series),3,2384,
+2017,0,2384,
+ram_(re:zero),4,2383,
+checkered_scarf,0,2383,
+holding_person,0,2382,holding_another
+tuxedo,0,2381,
+cum_on_boy,0,2380,
+bow_(bhp),1,2380,
+holding_flag,0,2378,
+hand_grab,0,2377,holding_hand
+undersized_clothes,0,2375,"too_small,undersized_clothing"
+ribbed_shirt,0,2375,
+clip_studio_paint_(medium),5,2375,
+wa2000_(girls'_frontline),4,2374,wa2000_(girls_frontline)
+bloom,0,2374,
+pink_bodysuit,0,2373,
+gertrud_barkhorn,4,2373,
+nervous_smile,0,2372,
+oda_nobunaga_(fate),4,2370,oda_nobunaga_(fate)_(all)
+green_sweater,0,2370,
+aoki_reika,4,2369,
+prone_bone,0,2367,
+swirl_lollipop,0,2363,
+look-alike,0,2363,"appearance_connection,look_alike,lookalike"
+alice_(alice_in_wonderland),4,2362,alice_(wonderland)
+updo,0,2361,
+uneven_sleeves,0,2361,asymmetrical_sleeves
+text-only_page,0,2361,text_only_page
+cum_on_stomach,0,2361,
+rice_bowl,0,2360,"rice_bowls,ricebowl"
+puckered_lips,0,2358,
+suspender_shorts,0,2357,
+kirisawa_juuzou,1,2357,
+sword_girls,3,2355,
+hairy,0,2355,
+muvluv,3,2354,"muv-luv,muv_luv"
+red_pupils,0,2353,
+o3o,0,2351,.3.
+callie_(splatoon),4,2349,aori_(splatoon)
+sakamata_chloe,4,2348,
+dragon_quest_iii,3,2348,dragon_quest_3
+don-chan_(usada_pekora),4,2348,
+toothbrush,0,2347,
+dog_boy,0,2347,dogboy
+princess,0,2346,
+futami_mami,4,2346,
+hand_on_another's_back,0,2345,
+red_one-piece_swimsuit,0,2344,red_swimsuit
+atelier_ryza,3,2342,
+tombstone,0,2341,"grave_stone,gravestone,headstone"
+bit_gag,0,2341,bitgag
+rubbing_eyes,0,2339,"eye_rub,rubbing_eye,wiping_eyes"
+open_shorts,0,2339,
+kirima_syaro,4,2339,kirima_sharo
+plastic_bag,0,2338,
+super_saiyan,0,2337,
+dd_(ijigendd),1,2337,dd_(artist)
+yoshida_yuuko_(machikado_mazoku),4,2333,shamiko
+screaming,0,2332,scream
+nakano_miku,4,2331,
+white_feathers,0,2330,
+louise_francoise_le_blanc_de_la_valliere,4,2330,louise_francoise
+gundam_seed_destiny,3,2330,
+thigh_sex,0,2328,"intercrural,intercrural_sex,straddle_penis,sumata,thigh_job"
+d-pad,0,2328,
+millipen_(medium),0,2327,millipen
+multiple_belts,0,2326,
+mohawk,0,2326,
+spotlight,0,2325,
+orc,0,2325,ork
+convenient_arm,0,2325,
+bird_girl,0,2325,
+jackal_ears,0,2323,
+club_(weapon),0,2323,club
+nape,0,2322,kubisuji
+bomber_jacket,0,2322,flight_jacket
+hand_on_another's_arm,0,2321,
+shouji,0,2320,"japanese_sliding_door,screen_door"
+flower_pot,0,2320,"flowerpot,plant_pot,pot_(plant)"
+dark_magician_girl,4,2320,black_magician_girl
+orange_theme,0,2319,
+animal_penis,0,2319,
+accelerator_(toaru_majutsu_no_index),4,2318,accelerator
+patterned_background,0,2316,
+nichijou,3,2316,my_ordinary_life
+room,0,2314,
+on_lap,0,2314,
+beach_towel,0,2314,
+hair_spread_out,0,2313,
+female_pov,0,2313,
+tam_o'_shanter,0,2312,
+still_life,0,2312,
+santa_bikini,0,2311,
+power_symbol,0,2310,
+carpet,0,2309,
+harusame_(kancolle),4,2308,harusame_(kantai_collection)
+carrot_necklace,0,2307,
+creator_connection,0,2306,
+dusk,0,2305,
+nagisa_kaworu,4,2304,
+tied_up_(nonsexual),0,2303,"tied,tied_up"
+small_penis,0,2303,little_penis
+black_headband,0,2303,
+saratoga_(kancolle),4,2302,saratoga_(kantai_collection)
+flask,0,2302,
+asphyxiation,0,2302,
+yellow_legwear,0,2301,"yellow_kneehighs,yellow_leggings,yellow_pantyhose,yellow_socks,yellow_thighhighs"
+egyptian_clothes,0,2301,
+tally,0,2300,"tallies,tally_marks"
+heart_tattoo,0,2300,
+hatsuzuki_(kancolle),4,2299,hatsuzuki_(kantai_collection)
+brown_ribbon,0,2299,
+red_sash,0,2296,
+cameo,0,2295,
+bakugou_katsuki,4,2295,
+phimosis,0,2293,
+iesupa,1,2291,"helpyourselfish,mojojoj27827860"
+hadanugi_dousa,0,2290,
+path,0,2289,
+golden_kamuy,3,2289,
+talisman,0,2288,
+evening_gown,0,2288,evening_dress
+holding_smoking_pipe,0,2287,holding_pipe
+makinami_mari_illustrious,4,2286,mari_(evangelion)
+linea_alba,0,2286,
+hexagram,0,2286,
+disembodied_head,0,2286,detached_head
+pokemon_(classic_anime),3,2285,
+hamu_koutarou,1,2283,
+:i,0,2283,
+tachibana_kanade,4,2281,"angel_(angel_beats!),tenshi_(angel_beats!),tenshi_(angel_beats)"
+smiley_face,0,2281,
+number_tattoo,0,2281,
+kamijou_touma,4,2280,kamijo_touma
+saenai_heroine_no_sodatekata,3,2279,"how_to_raise_a_boring_girlfriend,saekano"
+holding_pom_poms,0,2277,
+side_cutout,0,2276,
+brave_witches,3,2276,
+bow_bikini,0,2276,
+red_pantyhose,0,2274,
+multiple_earrings,0,2274,
+diagonal-striped_bow,0,2274,
+sunrise,0,2272,
+chihuri,1,2271,4sakana5
+arcueid_brunestud,4,2271,arcueid
+kou_hiyoyo,1,2270,kouu_hiyoyo
+kani_biimu,1,2270,"peko,pepepe"
+triangle,0,2269,
+merlin_prismriver,4,2268,
+smell,0,2266,body_odor
+takao_(azur_lane),4,2265,
+shana,4,2265,
+faux_traditional_media,0,2265,
+roman_numeral,0,2264,"roman_number,roman_numbers,roman_numerals"
+futa_with_male,0,2264,"futa_on_male,male_on_futa"
+steam_censor,0,2263,"censor_steam,convenient_bath_steam"
+shimakaze_(kancolle)_(cosplay),0,2261,
+police_hat,0,2260,
+hill,0,2260,hills
+condom_on_penis,0,2260,
+re-class_battleship,4,2259,
+broken_glass,0,2259,
+curry,0,2257,
+michishio_(kancolle),4,2256,michishio_(kantai_collection)
+katsushika_hokusai_(fate),4,2256,katsushika_hokusai_(fate/grand_order)
+monkey_tail,0,2255,
+cover_image,0,2255,
+mouse_(computer),0,2254,computer_mouse
+russian_text,0,2253,russian
+drumsticks,0,2253,drumstick
+diadem,0,2253,
+ufo,0,2251,
+ichimi,1,2251,
+hamster,0,2251,
+diving_mask,0,2251,
+shinrabanshou,3,2247,shinrabansho
+cyclops,0,2246,
+ushiromiya_battler,4,2245,
+purple_sleeves,0,2245,
+multicolored_legwear,0,2244,"multicolored_kneehighs,multicolored_leggings,multicolored_pantyhose,multicolored_socks,multicolored_thighhighs"
+tree_shade,0,2243,
+retrofit_(azur_lane),0,2242,remodel_(azur_lane)
+covered_abs,0,2241,
+yura_(kancolle),4,2240,yura_(kantai_collection)
+shinryaku!_ikamusume,3,2240,"shinryaku!_ika_musume,squid_girl_(series)"
+sink,0,2238,
+pink-framed_eyewear,0,2238,pink-framed_glasses
+ranka_lee,4,2237,
+marie_(splatoon),4,2237,hotaru_(splatoon)
+the_legend_of_zelda:_ocarina_of_time,3,2235,ocarina_of_time
+fourth_wall,0,2235,4th_wall
+u-511_(kancolle),4,2234,u-511_(kantai_collection)
+bandaid_on_cheek,0,2234,
+desert,0,2233,
+tri_tails,0,2230,triple-tails
+surtr_(arknights),4,2230,
+blue_lips,0,2230,"blue_lipstick,light_blue_lipstick"
+hino_akane_(smile_precure!),4,2229,hino_akane_(precure)
+shuuchiin_academy_school_uniform,0,2228,shuuchiin_academy_uniform
+short_sword,0,2226,
+new_game!,3,2226,
+green_choker,0,2226,
+chainsaw,0,2226,
+lyrica_prismriver,4,2224,
+karin_(blue_archive),4,2224,
+big_belly,0,2223,
+trick_or_treat,0,2222,
+kiana_kaslana,4,2221,
+bad_hands,0,2221,
+quill,0,2219,feather_pen
+ice_cube,0,2219,ice_cubes
+shared_scarf,0,2218,scarf_sharing
+aqua_bikini,0,2217,
+cyberpunk,0,2215,
+striped_socks,0,2214,striped_kneehighs
+houtengeki,1,2213,
+fur_coat,0,2213,
+breast_bondage,0,2213,
+kashiwazaki_sena,4,2212,
+eraser,0,2212,
+cinderella_girls_gekijou,3,2211,
+kanna_kamui,4,2210,
+anal_fingering,0,2210,"fingering_ass,fingering_asshole"
+string_of_flags,0,2209,
+black_scrunchie,0,2209,
+tennis_uniform,0,2208,
+octarian,0,2207,
+agnes_tachyon_(umamusume),4,2207,
+scratches,0,2205,scratch
+torch,0,2204,
+strangling,0,2204,"choking_another,strangle"
+microdress,0,2203,
+kamado_nezuko,4,2203,
+kantoku,1,2201,afterschool_of_the_5th_year
+downscaled,5,2200,
+spider_web_print,0,2199,
+cervix,0,2199,
+beak,0,2199,
+street_fighter_iv_(series),3,2198,"street_fighter_iv,super_street_fighter_iv,ultra_street_fighter_iv"
+melting,0,2198,
+kaenbyou_rin_(cat),4,2198,
+grey_sky,0,2198,
+spatula,0,2197,
+mutsuki_(kancolle),4,2196,mutsuki_(kantai_collection)
+isuzu_hana,4,2196,
+large_tail,0,2195,big_tail
+kyonko,4,2193,
+yes!_precure_5,3,2192,"pretty_cure_5,yes!_pretty_cure_5"
+driving,0,2192,
+satchel,0,2191,
+ankle_cuffs,0,2191,
+miyu_edelfelt,4,2190,
+jellyfish,0,2190,
+finger_in_another's_mouth,0,2190,
+phone_screen,0,2189,lock_screen
+chitanda_eru,4,2186,
+tail_through_clothes,0,2185,"tail_cutout,tail_slit_clothes"
+lana_(pokemon),4,2185,suiren_(pokemon)
+yahagi_(kancolle),4,2181,yahagi_(kantai_collection)
+ethan_(pokemon),4,2181,"gold_(pokemon),hibiki_(pokemon),hibiki_(pokemon)"
+holding_arrow,0,2179,
+hikarizaka_private_high_school_uniform,0,2179,
+studded_belt,0,2178,"stud_belt,studbelt"
+cliff,0,2178,
+yua_(checkmate),1,2177,
+tribadism,0,2177,scissoring
+praying,0,2176,pray
+green_cape,0,2176,
+d-pad_hair_ornament,0,2176,
+torn_cape,0,2175,tattered_cape
+shoulder_spikes,0,2175,spiked_shoulders
+rectangular_eyewear,0,2175,rectangular_glasses
+holding_sheath,0,2175,
+ribbed_legwear,0,2174,
+feather-trimmed_sleeves,0,2174,
+yukine_chris,4,2172,
+black_fur,0,2171,
+sideless_outfit,0,2170,
+ojipon,1,2170,
+hand_on_hilt,0,2169,
+samurai,0,2168,
+ritual_baton,0,2168,
+purple_pants,0,2168,
+laffey_(azur_lane),4,2168,
+yuuki_makoto,4,2166,"arisato_minato,protagonist_(persona3),protagonist_(persona_3)"
+oni_mask,0,2166,
+gimp_(medium),5,2166,
+toshinou_kyouko,4,2165,tashinou_kyouko
+prayer_beads,0,2165,
+enterprise_(azur_lane),4,2165,
+tippy_(gochiusa),4,2164,
+restaurant,0,2164,
+red_umbrella,0,2161,
+feather_hair,0,2161,head_feathers
+shading_eyes,0,2160,
+keyboard_(instrument),0,2160,electric_keyboard
+t-head_admiral,4,2159,
+calendar_(object),0,2159,
+insignia,0,2158,
+haguro_(kancolle),4,2158,haguro_(kantai_collection)
+crossed_bandaids,0,2158,x_bandaids
+matching_outfit,0,2157,
+dirty_face,0,2156,
+yelan_(genshin_impact),4,2155,
+sitting_on_desk,0,2155,
+magical_musket,0,2153,
+bb_(baalbuddy),1,2153,baalbuddy
+open_collar,0,2152,
+kirigiri_kyouko,4,2152,
+fine_art_parody,0,2151,
+final_fantasy_iv,3,2151,"ff4,ffiv,finalfantasyiv"
+creature_and_personification,0,2151,
+masao,1,2150,
+amamiya_ren,4,2150,"joker_(persona_5),kurusu_akira,protagonist_(persona_5)"
+milk_bottle,0,2149,
+sleeping_upright,0,2148,
+clothed_pokemon,0,2148,
+yaegashi_nan,1,2147,charinko_fox
+oshiro_project_re,3,2147,
+open_skirt,0,2147,
+dynamax_band,0,2146,
+cave,0,2144,caves
+caught,0,2144,
+plum_blossoms,0,2143,plum_blossom
+mechanical_parts,0,2142,"cybernetic_parts,mechabare,parts_exposed,robotic_parts"
+i-8_(kancolle),4,2142,"hachi_(kantai_collection),i-8_(kantai_collection)"
+horseback_riding,0,2142,
+shiseki_hirame,1,2141,
+kabedon,0,2140,wall_slam
+dessert,0,2140,
+crotchless_panties,0,2140,
+puyopuyo,3,2139,puyo_puyo
+napoleon_bonaparte_(fate),4,2139,napoleon_bonaparte_(fate/grand_order)
+drawing_tablet,0,2139,
+tamamo_cat_(fate),4,2138,tamamo_cat_(fate/grand_order)
+starter_pokemon_trio,0,2138,
+akai_haato,4,2135,haachama
+final_fantasy_tactics,3,2133,"fft,fftactics"
+ear_tag,0,2133,
+curtain_grab,0,2133,
+strapless_bra,0,2132,
+cooperative_fellatio,0,2131,multiple_fellatio
+hands_on_own_head,0,2130,
+clitoral_hood,0,2130,
+racket,0,2129,
+no_eyewear,0,2129,no_glasses
+final_fantasy_ix,3,2129,"ff9,ffix"
+doki_doki_literature_club,3,2129,ddlc
+black_bag,0,2125,black_backpack
+fur-trimmed_legwear,0,2124,
+abukuma_(kancolle),4,2124,abukuma_(kantai_collection)
+broken_horn,0,2123,
+shinku,4,2122,
+nisemonogatari,3,2122,
+liquid,0,2122,
+hanekawa_tsubasa,4,2121,
+sweater_around_waist,0,2120,
+hungry_clicker,1,2120,"click_burgundy,hankuri,hncl"
+spoken_anger_vein,0,2117,
+houjou_hibiki,4,2117,
+kousaka_tamaki,4,2115,
+flower_(symbol),0,2115,
+akizuki_(kancolle),4,2115,akizuki_(kantai_collection)
+tone_(kancolle),4,2114,tone_(kantai_collection)
+anzio_school_uniform,0,2114,
+??,0,2114,???
+durarara!!,3,2112,"drrr,drrr!!,durarara"
+black_camisole,0,2112,
+when_you_see_it,0,2111,
+smelling,0,2110,sniffing
+butterfly_print,0,2110,
+;3,0,2110,
+seiken_densetsu,3,2108,mana_(series)
+amber_(genshin_impact),4,2108,
+meitantei_conan,3,2107,"case_closed,detective_conan"
+black_tail,0,2106,
+town,0,2103,
+shark_hair_ornament,0,2102,
+futami_ami,4,2102,
+blue_ascot,0,2102,
+wire,0,2101,wires
+white_nails,0,2101,white_fingernails
+st._gloriana's_military_uniform,0,2100,
+tailcoat,0,2099,
+kemono_friends_3,3,2099,
+colored_tongue,0,2099,
+abubu,1,2098,nounanka
+dreadlocks,0,2097,"hair_loc,hair_locs,hairlocs"
+festival,0,2096,
+enpera,0,2096,hair_in_scarf
+bare_hips,0,2096,
+abstract_background,0,2096,
+white_cloak,0,2095,
+light_bulb,0,2094,lightbulb
+lace-trimmed_dress,0,2094,
+uchiha_sasuke,4,2093,
+carrying_over_shoulder,0,2093,
+arabian_clothes,0,2093,
+reisalin_stout,4,2092,ryza
+attack,0,2092,
+tankini,0,2091,
+naked_coat,0,2091,"naked_jacket,nude_coat"
+cat_ear_headphones,0,2090,
+gundam_build_fighters_try,3,2089,
+constellation,0,2087,constellations
+chain_necklace,0,2082,
+hooded_cape,0,2081,
+graffiti,0,2081,
+hair_horns,0,2080,
+single_vertical_stripe,0,2079,
+atlanta_(kancolle),4,2079,atlanta_(kantai_collection)
+akagi_(azur_lane),4,2079,
+white_headband,0,2077,
+whistle_around_neck,0,2077,
+pulled_by_another,0,2077,
+pulling,0,2076,
+impossible_leotard,0,2076,
+white_cat,0,2075,
+aida_mana,4,2075,
+mega_pokemon,0,2074,
+strappy_heels,0,2073,
+jeanne_d'arc_alter_(swimsuit_berserker)_(fate),4,2073,"jeanne_d'arc_(alter_swimsuit_berserker),jeanne_d'arc_(alter_swimsuit_berserker)_(fate)"
+blue_oak,4,2073,"green_(pokemon),green_oak,green_oak,ookido_green"
+blue_cardigan,0,2073,
+mini-hakkero,0,2072,mini_hakkero
+video_camera,0,2071,
+surfboard,0,2071,
+neck_tattoo,0,2071,
+rocket_launcher,0,2070,missile_launcher
+purple_cape,0,2070,
+enoshima_junko,4,2070,
+black_rose,0,2069,black_rose_(flower)
+two-tone_bikini,0,2068,
+striped_pants,0,2068,
+plaid_bikini,0,2068,
+hews,1,2068,hews_hack
+church,0,2068,
+budget_sarashi,0,2068,
+tie_clip,0,2067,"necktie_pin,tie_pin,tie_tack"
+patterned_clothing,0,2067,
+takanashi_rikka,4,2066,
+spread_wings,0,2066,
+jet,0,2066,
+chinese_knot,0,2066,
+two-tone_jacket,0,2065,
+ano_hi_mita_hana_no_namae_wo_bokutachi_wa_mada_shiranai.,3,2065,"ano_hi_mita_hana_no_namae_wo_bokutachi_wa_mada_shiranai,anohana,the_flower_we_saw_that_day"
+junketsu,4,2064,
+yoga_pants,0,2063,
+spilling,0,2063,
+black_apron,0,2063,
+arch,0,2062,
+minecraft,3,2061,
+sweatband,0,2060,"sweat_band,sweat_bands,sweatbands"
+gran_(granblue_fantasy),4,2059,
+bolt_action,0,2059,bolt-action
+hammer_and_sickle,0,2058,
+omelet,0,2057,omelette
+green_lips,0,2057,green_lipstick
+>_o,0,2057,o_<
+trumpet,0,2056,
+kisaragi_(kancolle),4,2056,kisaragi_(kantai_collection)
+product_placement,0,2055,brand_name
+standing_on_liquid,0,2054,standing_on_water
+shokuhou_misaki,4,2054,
+yorigami_jo'on,4,2052,
+french_fries,0,2052,
+vial,0,2051,vials
+matsuura_kanan,4,2051,matsuura_kana
+screencap_redraw,5,2050,
+evolutionary_line,0,2050,
+youkai_watch,3,2048,"yo-kai_watch,yokai_watch"
+twitching_penis,0,2048,trembling_penis
+holding_condom,0,2048,
+holding_sign,0,2046,
+moss,0,2045,
+egg_(food),0,2045,
+briefs,0,2045,
+kurosawa_dia,4,2043,
+amagi_yukiko,4,2042,
+single_hair_intake,0,2041,single_hair_vent
+turban,0,2039,
+god_eater,3,2039,gods_eater
+glowstick,0,2039,"glow_stick,light_stick"
+fleeing,0,2038,"run_away,running_away"
+overlord_(maruyama),3,2037,
+belly_chain,0,2037,waist_chain
+instant_loss,0,2036,instant_loss_2koma
+gold_chain,0,2035,
+yang_xiao_long,4,2034,
+qiqi_(genshin_impact),4,2034,"nana_(genshin_impact),qiqi"
+denim_skirt,0,2033,jean_skirt
+wild_arms,3,2032,
+nishikigi_chisato,4,2032,
+mudrock_(arknights),4,2032,
+street_fighter_zero_(series),3,2031,"street_fighter_alpha_1,street_fighter_alpha_2,street_fighter_alpha_3,street_fighter_zero,street_fighter_zero_2,street_fighter_zero_3,street_fighter_zero_i,street_fighter_zero_ii,street_fighter_zero_iii"
+manga_(object),0,2030,"doujin_(object),doujinshi_(object)"
+akari_(pokemon),4,2030,"akari_(pokemon_legends:_arceus),female_protagonist_(pokemon_legends:_arceus),shou_(pokemon)"
+guilty_crown,3,2029,
+veranda,0,2028,"engawa,verandah"
+kagari_atsuko,4,2028,akko_kagari
+covering_nipples,0,2028,
+thigh_ribbon,0,2026,thigh_lace-up
+tegaki,0,2026,
+darker_than_black,3,2025,
+mayuzumi_fuyuko,4,2024,
+bb_(fate/extra),4,2024,
+pokemon_gsc,3,2023,"pokemon_crystal,pokemon_g&s,pokemon_gold,pokemon_gold_and_silver,pokemon_gs,pokemon_silver"
+nero_claudius_(swimsuit_caster)_(fate),4,2023,
+monocle_hair_ornament,0,2023,
+stage_lights,0,2022,
+ia_(vocaloid),4,2022,
+hilbert_(pokemon),4,2021,"black_(pokemon),male_protagonist_(pokemon_b&w),male_protagonist_(pokemon_b&w),touya_(pokemon)"
+eren_yeager,4,2021,eren_jaeger
+azumanga_daioh,3,2021,"azumanga,azumanga_daiou"
+gown,0,2020,
+action,0,2020,
+clothes_hanger,0,2019,coat_hanger
+white_cardigan,0,2018,
+nail,0,2018,nails
+cat_hat,0,2018,cathat
+tail_bell,0,2017,"tail_bells,tailbell,tailbells"
+spiked_armlet,0,2017,
+clothes_down,0,2017,clothing_down
+cat_print,0,2017,
+battleship_princess,4,2016,"battleship-symbiotic_hime,battleship_hime"
+spread_fingers,0,2015,
+nib_pen_(medium),0,2015,"fountain_pen_(medium),nib_pen,tsukepen"
+naked_sheet,0,2014,nude_sheet
+ikamusume,4,2013,ika_musume
+idolmaster_dearly_stars,3,2013,idolmaster_ds
+black_lips,0,2010,black_lipstick
+kurumi_erika,4,2009,
+energy_wings,0,2009,
+slugbox,1,2008,
+nonna_(girls_und_panzer),4,2008,nonna
+ankle_socks,0,2008,
+akuma_homura,4,2008,
+scissor_blade,0,2007,
+rowlet,4,2007,
+kal'tsit_(arknights),4,2007,
+grey_bow,0,2007,
+finger_in_own_mouth,0,2007,"finger_in_mouth,finger_inside_mouth,fingers_in_mouth,fingers_inside_mouth"
+winged_hat,0,2006,
+mop,0,2006,
+mechanical_legs,0,2006,robotic_legs
+shako_cap,0,2004,
+pool_ladder,0,2004,
+perrine_h._clostermann,4,2004,perrine_h_clostermann
+kappougi,0,2004,
+holding_doll,0,2004,
+ueyama_michirou,1,2003,
+bowl_hat,0,2003,
+aqua_skirt,0,2003,
+ump9_(girls'_frontline),4,2002,ump9_(girls_frontline)
+purple_shorts,0,2002,
+kunikida_hanamaru,4,2002,
+hands_on_headwear,0,1999,hands_on_hat
+potato_chips,0,1998,potato_chip
+multicolored_wings,0,1998,
+dreaming,0,1998,dream
+whale,0,1997,
+penis_grab,0,1997,
+oversized_animal,0,1996,giant_animal
+minaba_hideo,1,1996,
+vertical-striped_skirt,0,1995,
+purple_scarf,0,1995,
+dust,0,1995,
+reverse_upright_straddle,0,1994,
+star_wars,3,1993,
+spanked,0,1993,red_butt
+head_grab,0,1993,
+charlotte_e._yeager,4,1993,charlotte_e_yeager
+vector_trace,5,1991,"trace,vector,vectortrace"
+shikinami_(kancolle),4,1990,shikinami_(kantai_collection)
+laurel_crown,0,1990,
+see-through_legwear,0,1989,sheer_legwear
+tusks,0,1988,tusk
+pill,0,1988,pills
+matara_okina,4,1986,
+boris_(noborhys),1,1986,"shoushin_(shoushin04),shoushin_(shoushin04)"
+setsubun,0,1984,
+kamikaze_(kancolle),4,1984,kamikaze_(kantai_collection)
+hand_on_another's_thigh,0,1983,
+fire_emblem_echoes:_shadows_of_valentia,3,1983,fire_emblem_echoes:_mou_hitori_no_eiyuuou
+false_smile,0,1982,fake_smile
+tongue_piercing,0,1980,
+bloodborne,3,1980,
+vocaloid_append,0,1979,
+sleep_molestation,0,1979,
+akaza_akari,4,1978,
+ise_(kancolle),4,1977,ise_(kantai_collection)
+korean_clothes,0,1976,
+dyed_bangs,0,1976,
+ishiyumi,1,1975,
+impossible_bodysuit,0,1975,
+sketchbook,0,1974,sketchpad
+shuriken,0,1974,throwing_stars
+shiroko_(blue_archive),4,1974,
+three-dimensional_maneuver_gear,0,1973,3dmg
+raising_heart,4,1973,raging_heart
+long_pointy_ears,0,1973,
+gusset,0,1973,
+crotch_rub,0,1973,
+tamamo_no_mae_(swimsuit_lancer)_(fate),4,1972,
+hoshizora_miyuki,4,1972,
+team_rocket,0,1971,
+tales_of_xillia,3,1971,
+bandaged_head,0,1971,
+senjougahara_hitagi,4,1970,
+ribbon-trimmed_skirt,0,1970,
+fur_scarf,0,1970,
+zounose,1,1969,manimanima
+sweet_potato,0,1969,"yam,yams"
+kid_icarus,3,1969,
+yu-gi-oh!_gx,3,1967,"yugioh_gx,yuu-gi-ou_gx"
+fire_emblem:_the_sacred_stones,3,1967,"fe8,fire_emblem:_seima_no_kouseki,fire_emblem_sacred_stones,fire_emblem_seima_no_kouseki"
+boxing_gloves,0,1966,boxing_glove
+blur_censor,0,1965,
+jun'you_(kancolle),4,1963,jun'you_(kantai_collection)
+two-tone_swimsuit,0,1962,
+gambier_bay_(kancolle),4,1962,gambier_bay_(kantai_collection)
+wind_chime,0,1961,windchime
+turtle,0,1961,
+han_juri,4,1961,juri_han
+nakano_yotsuba,4,1960,
+nose_bubble,0,1959,snot_bubble
+car_interior,0,1959,inside_car
+bronya_zaychik,4,1958,
+bad_proportions,0,1958,
+nengajou,0,1957,
+hands_on_lap,0,1957,hands_in_lap
+teenage,0,1954,teen
+plunging_neckline,0,1953,
+miyuki_(kancolle),4,1953,miyuki_(kantai_collection)
+feather_earrings,0,1953,feather_earring
+prehensile_hair,0,1952,
+child_on_child,0,1951,
+kujikawa_rise,4,1950,
+inflatable_toy,0,1949,
+diluc_(genshin_impact),4,1949,diluc_ragnvindr
+mechanical_horns,0,1947,
+beamed_sixteenth_notes,0,1947,beamed_semiquavers
+tsukudani_(coke-buta),1,1946,
+gangut_(kancolle),4,1946,gangut_(kantai_collection)
+devil_may_cry_(series),3,1946,devil_may_cry
+ankle_lace-up,0,1946,ankle_lace_up
+afro,0,1946,
+promare,3,1945,
+flower_earrings,0,1944,"flower_earring,rose_earrings"
+anastasia_(fate),4,1943,
+clothed_animal,0,1942,
+glowing_sword,0,1941,
+baseball,0,1941,
+wife_and_wife,0,1940,
+taiyaki,0,1939,
+rariatto_(ganguri),1,1939,ganguri
+poptepipic,3,1939,pop_team_epic
+wooden_bucket,0,1938,
+two-tone_gloves,0,1938,
+pink_sleeves,0,1938,
+grimace,0,1937,
+in_bucket,0,1935,girl_in_bucket
+fou_(fate),4,1935,fou_(fate/grand_order)
+wreath,0,1934,
+looking_at_object,0,1934,
+honda_mio,4,1934,
+scepter,0,1933,sceptre
+symmetry,0,1932,symmetrical
+dragon's_crown,3,1932,
+clothed_masturbation,0,1930,
+black_feathers,0,1930,
+median_furrow,0,1929,
+have_to_pee,0,1929,need_to_pee
+final_fantasy_v,3,1929,"ff5,ffv"
+shinki_(touhou),4,1928,shinki
+crepe,0,1928,
+warship,0,1927,
+shared_umbrella,0,1927,
+fire_emblem_cipher,3,1927,
+school_hat,0,1925,kindergarten_hat
+comb,0,1925,hair_comb
+wrestling,0,1923,
+lynette_bishop,4,1923,
+kizuna_akari,4,1923,
+kaga_(azur_lane),4,1923,
+aria,3,1923,aria_(manga)
+panty_(psg),4,1922,anarchy_panty
+high_contrast,0,1922,
+hassan_of_serenity_(fate),4,1922,
+cube,0,1922,cubes
+birthday_cake,0,1922,
+saten_ruiko,4,1921,
+picture_(object),0,1921,
+clothing_request,5,1920,
+wide_image,5,1918,
+suiseiseki,4,1918,
+skewer,0,1918,
+on_table,0,1918,
+tsuda_nanafushi,1,1917,"fukitamari,rozenweapon"
+raiden_mei,4,1917,
+tanuki,0,1916,
+mod3_(girls'_frontline),0,1916,"digi-mind_update_(girls_frontline),mod3_(girls_frontline)"
+boxers,0,1915,boxer_shorts
+transparent_umbrella,0,1914,
+swim_briefs,0,1914,"speedo,swimming_briefs"
+ohtsuki_yui,4,1914,ootsuki_yui
+pola_(kancolle),4,1913,pola_(kantai_collection)
+shark_hood,0,1911,
+ryougi_shiki,4,1910,
+octoling,4,1909,
+annotated,5,1907,
+tripping,0,1906,trip
+purple_coat,0,1906,
+drawer,0,1906,drawers
+ryuuou_no_oshigoto!,3,1905,the_ryuo's_work_is_never_done!
+spinning,0,1904,"spin,twirling"
+lawson,3,1903,
+failure,0,1903,fail
+cheek_pinching,0,1903,"cheek_pinch,pinching_cheek,pinching_cheeks"
+shino_(ponjiyuusu),1,1902,
+gegege_no_kitarou,3,1902,kitarou_of_the_graveyard
+piplup,4,1901,
+borrowed_garments,0,1901,
+blue_serafuku,0,1901,
+bb_(swimsuit_mooncancer)_(fate),4,1901,
+ribbon-trimmed_clothes,0,1900,
+hair_through_headwear,0,1899,
+between_thighs,0,1898,
+flute,0,1897,
+drawfag,1,1896,"drawfriend,drawfriend"
+union_jack,0,1893,british_flag
+barrel,0,1893,
+sangonomiya_kokomi,4,1892,kokomi_(genshin_impact)
+yu_mei-ren_(fate),4,1890,"consort_yu_(fate),yu_miaoyi_(fate)"
+stray_pubic_hair,0,1890,
+pillow_grab,0,1890,
+corpse,0,1890,
+bunny_pose,0,1890,
+squid,0,1889,
+tsunako,1,1888,
+sports_bikini,0,1887,
+red_sky,0,1887,
+orange_kimono,0,1887,orange_yukata
+counter,0,1886,countertop
+clover_hair_ornament,0,1886,
+turnaround,0,1885,
+galaxy_angel,3,1884,galaxyangel
+back_tattoo,0,1884,
+sayori_(neko_works),1,1883,"amanita,sayori"
+la+_darknesss,4,1883,laplus_darknesss
+tokkuri,0,1882,sake_pottery_bottle
+slime_(creature),0,1882,
+avatar_(ff11),4,1882,
+i-168_(kancolle),4,1881,"i-168_(kantai_collection),imuya_(kantai_collection)"
+covered_face,0,1881,face_covered
+lyra_(pokemon),4,1880,kotone_(pokemon)
+katsuki_yuuri,4,1880,
+hex_maniac_(pokemon),4,1880,occult_maniac_(pokemon)
+sonozaki_mion,4,1879,
+aoki_hagane_no_arpeggio,3,1879,arpeggio_of_blue_steel
+lion,0,1878,
+irisviel_von_einzbern,4,1877,
+mating_press,0,1875,
+utawarerumono,3,1874,utawareru_mono
+spider_girl,0,1874,
+harvin,0,1874,harbin
+toast,0,1873,
+juice_box,0,1873,juicebox
+ikkitousen,3,1873,
+cheek_poking,0,1873,"cheek_poke,poking_cheek,poking_cheeks"
+white_male_underwear,0,1872,white_underwear_(male)
+soap,0,1870,
+avogado6,1,1869,
+playing_with_own_hair,0,1867,
+holding_cat,0,1867,
+two-tone_bowtie,0,1866,
+face_to_breasts,0,1865,
+caustics,0,1864,caustic_lighting
+hanfu,0,1863,
+cocktail_glass,0,1859,martini_glass
+chaps,0,1859,
+nude_filter,5,1858,nudefilter
+hands_on_another's_head,0,1858,
+black_hakama,0,1858,
+kurosawa_ruby,4,1857,
+bite_mark,0,1857,bitemark
+yuugumo_(kancolle),4,1856,yuugumo_(kantai_collection)
+shoebill_(kemono_friends),4,1856,
+kanikama,1,1856,
+head_bump,0,1855,"bump,headbump"
+gate,0,1855,
+viktor_nikiforov,4,1854,
+spear_the_gungnir,0,1853,
+fu_hua,4,1853,
+spider-man_(series),3,1851,
+safety_pin,0,1851,
+low_twin_braids,0,1851,
+stone,0,1850,stones
+porkpie_hat,0,1850,
+heart_hands_duo,0,1848,
+vending_machine,0,1847,
+touhou_tag_dream,3,1847,
+mallow_(pokemon),4,1847,mao_(pokemon)
+balcony,0,1847,
+holding_basket,0,1846,
+column_lineup,0,1846,
+mushoku_tensei,3,1844,
+black_sports_bra,0,1844,
+inkling_boy,4,1843,
+polka_dot_bra,0,1842,polka-dot_bra
+holding_controller,0,1840,
+watashi_ni_tenshi_ga_maiorita!,3,1839,wataten
+hand_in_another's_hair,0,1839,
+christa_renz,4,1839,
+warcraft,3,1838,
+tatsumaki,4,1838,terrible_tornado
+springfield_(girls'_frontline),4,1838,"m1903_springfield_(girls'_frontline),m1903_springfield_(girls_frontline)"
+light_trail,0,1838,
+akeome,0,1838,
+shadowverse,3,1837,
+nose_piercing,0,1837,
+licking_nipple,0,1837,"licking_nipples,nipple_lick,nipple_licking"
+alarm_clock,0,1837,
+volleyball_uniform,0,1834,
+vita,4,1834,
+pocky_day,0,1834,pepero_day
+energy_ball,0,1834,
+jakuzure_nonon,4,1833,
+chart,0,1833,
+daisy,0,1832,"aster_(flower),daisies,daisy_(flower)"
+69,0,1832,
+torn_shorts,0,1831,
+grey-framed_eyewear,0,1831,silver-framed_eyewear
+yellow_choker,0,1829,
+makigumo_(kancolle),4,1829,makigumo_(kantai_collection)
+burning,0,1829,on_fire
+sleeveless_sweater,0,1828,
+blood_stain,0,1828,"blood_stains,bloodstains"
+naked_cape,0,1827,nude_cape
+bisexual_female,0,1827,bisexual_(female)
+fried_egg,0,1826,sunny_side_up_egg
+brown_cape,0,1826,
+neptune_(neptune_series),4,1825,
+nachi_(kancolle),4,1825,nachi_(kantai_collection)
+lolita_channel,1,1825,
+final_fantasy_x,3,1825,"ff10,ffx,final_fantasy_10,finalfantasy10"
+charizard,4,1825,
+under_table,0,1824,"under_desk,under_the_table"
+hyur,0,1824,
+squirrel,0,1823,
+macross_delta,3,1823,
+head_back,0,1823,
+w_(arknights),4,1822,
+tissue,0,1822,tissues
+dominatrix,0,1822,
+shoujo_kageki_revue_starlight,3,1821,
+cosmetics,0,1821,
+koyama_shigeru,1,1820,
+meltryllis_(swimsuit_lancer)_(fate),4,1819,
+breath_of_fire,3,1819,bof
+p-head_producer,4,1818,
+diamond-shaped_pupils,0,1818,
+orange_shorts,0,1817,
+ibaraki_douji_(fate),4,1817,ibaraki_douji_(fate/grand_order)
+ok_sign,0,1816,ok
+multicolored_gloves,0,1816,
+vivio,4,1815,takamachi_vivio
+industrial_pipe,0,1815,"pipe_(industrial),pipe_(plumbing),pipes"
+tsukino_mito,4,1814,
+strawberry_shortcake,0,1814,
+rainbow_order,0,1814,
+mash_kyrielight_(dangerous_beast),4,1814,dangerous_beast
+prostitution,0,1813,prostitute
+kochou_shinobu,4,1813,
+hakos_baelz,4,1813,
+bow-shaped_hair,0,1813,"bow_by_hair,bow_hair"
+koihime_musou,3,1812,
+keychain,0,1811,
+if_they_mated,0,1811,
+noumi_kudryavka,4,1810,
+large_hat,0,1810,big_hat
+holding_paintbrush,0,1810,
+aqua_dress,0,1810,
+pointer,0,1809,
+miyamoto_frederica,4,1809,
+impregnation,0,1809,impregnate
+idolmaster_2,3,1808,
+suzuran_(arknights),4,1807,
+pangya,3,1807,
+jack-o'_challenge,0,1807,
+checkered_necktie,0,1807,
+censored_nipples,0,1807,nipple_censor
+mochi_au_lait,1,1806,
+elizabeth_bathory_(fate/extra_ccc),4,1806,lancer_(fate/extra_ccc)
+orange_pekoe_(girls_und_panzer),4,1805,orange_pekoe
+train_station,0,1804,
+striped_sleeves,0,1804,
+snake_tail,0,1804,
+circle_cut,0,1804,
+lace_bra,0,1803,
+bound_ankles,0,1803,
+watering_can,0,1801,"watering_pail,watering_pot"
+purple_sweater,0,1801,
+silence_suzuka_(umamusume),4,1800,silence_suzuka
+nintendo,3,1800,
+lemon_slice,0,1800,
+ujimatsu_chiya,4,1798,
+shrimp,0,1798,prawn
+nico_robin,4,1798,
+homurahara_academy_school_uniform,0,1798,homurahara_academy_uniform
+checkered_kimono,0,1798,checkered_yukata
+pokemon_journeys,3,1797,pokemon_swsh_(anime)
+traffic_light,0,1795,"stoplight,traffic_lights"
+sofra,1,1795,
+whisk,0,1794,eggbeater
+tsukishiro_saika,1,1794,s-syogo
+rabbit_house_uniform,0,1793,
+sakura_miku,4,1792,
+pearl_(gemstone),0,1792,
+earpiece,0,1792,
+choukai_(kancolle),4,1792,choukai_(kantai_collection)
+cyberpunk_(series),3,1791,
+kitsunerider,1,1790,
+against_tree,0,1790,
+aldnoah.zero,3,1789,
+senran_kagura_shoujo-tachi_no_shin'ei,3,1788,senran_kagura_shoujo-tachi_no_shinei
+shared_food,0,1787,"mouth-to-mouth_feeding,mouth_to_mouth_feeding"
+looking_over_eyewear,0,1787,"looking_over_glasses,looking_over_sunglasses"
+to_love-ru_darkness,3,1786,toloveru_darkness
+hairdressing,0,1786,hair_dressing
+rug,0,1785,
+tedeza_rize,4,1784,
+magatama_necklace,0,1783,
+scar_on_forehead,0,1782,forehead_scar
+mirko,4,1782,"miruko_(boku_no_hero_academia),usagiyama_rumi"
+finger_to_own_chin,0,1782,finger_to_chin
+fluffy,0,1781,
+flower_wreath,0,1781,
+drill,0,1781,
+clover_print,0,1781,
+mysterious_heroine_xx_(fate),4,1780,mysterious_heroine_xx_(foreigner)
+akagi_miria,4,1780,
+skull_earrings,0,1779,skull_earring
+nice_nature_(umamusume),4,1779,
+harem_outfit,0,1779,harem_clothes
+amagi_brilliant_park,3,1779,
+two-tone_ribbon,0,1777,
+lyn_(fire_emblem),4,1777,lyndis_(fire_emblem)
+jeanne_d'arc_alter_santa_lily_(fate),4,1777,jeanne_d'arc_alter_santa_lily
+yellow_bra,0,1776,
+orange_scarf,0,1776,
+harem,0,1776,
+:x,0,1776,
+tape_gag,0,1774,"tape_gagged,tapegag"
+parted_hair,0,1774,center_part
+hara_(harayutaka),1,1774,hera_(hara0742)
+johnny_joestar,4,1773,
+blake_belladonna,4,1773,
+multicolored_bodysuit,0,1772,
+happy_tears,0,1771,
+brendan_(pokemon),4,1771,"ruby_(pokemon),yuuki_(pokemon)"
+board_game,0,1771,
+sleeping_on_person,0,1770,sleeping_on_another
+sesshouin_kiara,4,1770,
+in_food,0,1770,girl_in_food
+dixie_cup_hat,0,1769,
+chasing,0,1769,chase
+mostima_(arknights),4,1768,
+footprints,0,1768,footprint
+star_choker,0,1767,
+sidesaddle,0,1767,
+phantom_blood,3,1767,
+you're_doing_it_wrong,0,1766,
+m4_carbine,0,1765,m4a1
+saki_achiga-hen,3,1764,saki_achiga_hen
+refrigerator,0,1764,fridge
+maru-yu_(kancolle),4,1764,"maru-yu_(kantai_collection),maruyu_(kantai_collection)"
+lysithea_von_ordelia,4,1764,lysithea_von_cordelia
+ceiling_light,0,1764,
+capcom,3,1762,
+multicolored_swimsuit,0,1761,
+pale_color,0,1760,pale_colors
+nagatsuki_(kancolle),4,1760,nagatsuki_(kantai_collection)
+eye_mask,0,1760,
+bandaid_on_arm,0,1760,bandaid_on_elbow
+plaid_necktie,0,1758,
+yuzuriha_inori,4,1757,
+love_plus,3,1757,
+nero_claudius_(bride)_(fate),4,1754,saber_bride
+monkey,0,1754,
+akamatsu_kaede,4,1754,
+melonbooks,3,1753,
+identity_censor,0,1753,eye_censor
+color_guide,0,1753,"color_palette,palette_(guide)"
+soul_eater,3,1752,
+fewer_digits,0,1752,
+muvluv_alternative,3,1751,
+gatling_gun,0,1751,gatling
+android_18,4,1751,
+strawberry_print,0,1749,
+railroad_tracks,0,1749,"railroad,railway_tracks,train_tracks"
+green_gemstone,0,1749,emerald_(gemstone)
+bomb,0,1749,
+tennis_racket,0,1748,
+katsuragi_(kancolle),4,1747,katsuragi_(kantai_collection)
+destruction,0,1747,
+on_grass,0,1746,
+faucet,0,1746,
+mizuki_makoto,1,1745,"jekyll_and_hyde,miduki_makoto"
+cloud_print,0,1745,
+stripper_pole,0,1744,
+crossbow,0,1744,
+beltbra,0,1744,belt_bra
+shinjou_akane,4,1743,
+poncho,0,1742,
+hitachi_magic_wand,0,1742,wand_vibrator
+loose_clothes,0,1740,
+sinoalice,3,1739,
+kenzaki_makoto,4,1739,
+cafe,0,1739,coffee_shop
+condom_packet_strip,0,1738,
+air,3,1738,
+atelier_ryza_1,3,1736,
+spoken_sweatdrop,0,1735,
+minami_(colorful_palette),1,1735,minami_(artist)
+pond,0,1734,
+lilith_aensland,4,1734,
+cockpit,0,1734,
+takara_miyuki,4,1733,
+cracked_skin,0,1733,
+persona_3_portable,3,1732,
+dirty_clothes,0,1732,
+kin-iro_mosaic,3,1731,"kin'iro_mosaic,kiniro_mosaic,kinmoza!"
+nia_(xenoblade),4,1730,niyah
+gloved_handjob,0,1730,
+dragon_quest_iv,3,1728,dragon_quest_4
+butler,0,1728,
+aqua_bowtie,0,1727,
+haikyuu!!,3,1726,
+grey_socks,0,1725,grey_kneehighs
+bardiche,4,1725,
+anti-materiel_rifle,0,1725,"anti-material_rifle,anti_material_rifle,anti_materiel_rifle"
+urusei_yatsura,3,1723,uruseiyatsura
+tomose_shunsaku,1,1723,mugenkidou
+ginhaha,1,1723,
+hina_(blue_archive),4,1722,
+doyagao,0,1722,doya-gao
+alternate_form,0,1722,alternative_form
+mima_(touhou),4,1721,mima
+holding_syringe,0,1721,
+body_hair,0,1721,
+akatsuki_kirika,4,1721,
+taisa_(kari),1,1720,teitoku1980
+index_(toaru_majutsu_no_index),4,1720,index
+senpai_ga_uzai_kouhai_no_hanashi,3,1719,my_senpai_is_annoying
+sakamoto_mio,4,1719,
+hiro_(darling_in_the_franxx),4,1719,
+spitting,0,1718,
+dove,0,1718,doves
+looking_at_phone,0,1717,
+birdcage,0,1717,bird_cage
+cheating_(relationship),0,1716,cheating
+yowane_haku,4,1715,
+gojou_satoru,4,1714,
+fishing,0,1714,
+bandage_on_face,0,1714,
+drone,0,1713,
+mabinogi,3,1711,
+full_nelson,0,1711,
+tsunomaki_watame,4,1710,
+sinon,4,1710,shinon_(sao)
+love_live!_superstar!!,3,1710,"hello!!!_love_live!,love_live!_superstar"
+koizumi_itsuki,4,1710,
+champagne_flute,0,1710,
+rosalina,4,1708,"princess_rosalina,rosalina_(mario),rosetta_(mario)"
+deviantart_username,0,1708,
+shima_rin,4,1707,
+after_kiss,0,1707,
+tama_(kancolle),4,1706,tama_(kantai_collection)
+aqua_ribbon,0,1706,
+aegis_(persona),4,1706,aigis_(persona)
+multicolored_bikini,0,1705,
+straitjacket,0,1704,"straight_jacket,straightjacket"
+shinomiya_kaguya,4,1704,
+saiguchi_otoufu,1,1704,"fuufu_(dha),otoufu"
+no_wings,0,1704,
+alley,0,1704,
+thick_arms,0,1702,
+phosphophyllite,4,1702,
+nanashi_(nlo),1,1702,"nanashi_(nlo74593630),nanashi_(user_hagu2878)"
+pepperoni_(girls_und_panzer),4,1701,
+javelin_(azur_lane),4,1701,
+mace,0,1700,
+lucky_beast_(kemono_friends),4,1700,
+futanari_masturbation,0,1700,newhalf_masturbation
+winged_helmet,0,1699,wing_helmet
+selfcest,0,1699,
+ink,0,1699,
+morpeko,4,1698,
+purple_sky,0,1697,
+last_order_(toaru_majutsu_no_index),4,1697,last_order
+holding_hammer,0,1697,
+noshiro_(kancolle),4,1696,noshiro_(kantai_collection)
+brown_sailor_collar,0,1695,
+mixed_media,0,1692,
+kyoukaisenjou_no_horizon,3,1692,"horizon_in_the_middle_of_nowhere,horizon_on_the_borderline,horizon_on_the_middle_of_nowhere,horizon_over_the_middle_of_nowhere,kyoukai_sen-jou_no_horizon,kyoukai_senjou_no_horizon,kyoukaisen-jou_no_horizon"
+yellow_vest,0,1691,
+tachibana_hibiki_(symphogear),4,1691,
+impossible_dress,0,1691,
+mask_pull,0,1690,
+teruzuki_(kancolle),4,1689,teruzuki_(kantai_collection)
+spider,0,1689,
+belko,1,1689,"lolicept,lolicept"
+sparks,0,1688,
+holding_drink,0,1688,
+surprise_kiss,0,1687,
+sonia_(pokemon),4,1687,
+hilda_valentine_goneril,4,1687,
+yayoi_(kancolle),4,1684,yayoi_(kantai_collection)
+enkyo_yuuichirou,1,1684,nagisa_kurousagi
+purple_sailor_collar,0,1683,
+frilled_capelet,0,1683,
+tickling,0,1682,tickle
+morikubo_nono,4,1681,
+freediving,0,1681,
+briefcase,0,1681,
+mimikaki,0,1680,ear_cleaner
+cowboy_western,0,1680,western
+suzukaze_(kancolle),4,1679,suzukaze_(kantai_collection)
+leg_belt,0,1679,
+dolphin,0,1679,dolphins
+artificial_vagina,0,1679,"fleshlight,onahole,pocket_pussy"
+variations,0,1678,
+pussy_juice_puddle,0,1678,
+sticker,0,1677,stickers
+roller_skates,0,1677,
+pain,0,1677,ouch
+hands_on_own_thighs,0,1677,
+white_horns,0,1676,
+plectrum,0,1676,guitar_pick
+on_person,0,1675,on_another
+open_bra,0,1673,"unfastened_bra,unhooked_bra,untied_bra"
+mizuno_ami,4,1673,
+fellatio_gesture,0,1673,
+pole_dancing,0,1672,
+circle_name,0,1672,
+alice_gear_aegis,3,1672,
+tube,0,1671,tubes
+gorget,0,1671,
+brushing_hair,0,1671,"combing,combing_hair,hair_brushing,hairbrushing"
+missile,0,1670,
+milkpanda,1,1670,
+hooves,0,1670,hoof
+voyakiloid,0,1669,
+shin_megami_tensei,3,1668,
+rotom,4,1667,
+eye_focus,0,1667,eyes_focus
+eastern_dragon,0,1667,chinese_dragon
+crescent_facial_mark,0,1667,
+character_print,0,1667,
+blue_apron,0,1667,
+yume_nikki,3,1666,"dream_diary,yumenikki"
+black_lagoon,3,1666,
+torpedo_tubes,0,1665,
+rubble,0,1665,
+breast_curtain,0,1665,breast_veil
+barcode_tattoo,0,1665,
+tanabata,0,1664,
+sitting_in_tree,0,1664,"sitting_on_tree,tree_sitting"
+agawa_ryou,1,1664,
+kaedehara_kazuha,4,1663,kazuha_(genshin_impact)
+frilled_ribbon,0,1663,
+overskirt,0,1662,
+bird_on_hand,0,1662,"bird_in_hand,bird_on_finger"
+kannagi,3,1661,
+deer_ears,0,1661,reindeer_ears
+yellow-framed_eyewear,0,1660,"gold-framed_eyewear,yellow-framed_glasses"
+the_legend_of_luo_xiaohei,3,1660,
+sen_no_kiseki,3,1660,trails_of_cold_steel
+light_areolae,0,1660,
+skull_print,0,1659,
+pocky_kiss,0,1658,pocky_game
+hanamura_yousuke,4,1658,hanamura_yosuke
+fine_fabric_emphasis,0,1658,
+buck_teeth,0,1658,
+shinsengumi,0,1657,
+gotland_(kancolle),4,1657,gotland_(kantai_collection)
+pripara,3,1655,puri_para
+kuromorimine_school_uniform,0,1655,
+kirino_ranmaru,4,1655,
+signum,4,1654,
+miyo_(ranthath),1,1654,
+patch,0,1653,patches
+makoto_nanaya,4,1653,nanaya_makoto
+implied_futanari,0,1653,
+holly,0,1653,
+kuroshio_(kancolle),4,1652,kuroshio_(kantai_collection)
+confession,0,1652,
+hisona_(suaritesumi),1,1651,hato_satobeni
+breasts_on_head,0,1651,headboob
+beam_rifle,0,1651,
+avatar_(series),3,1651,
+yuuji_(and),1,1650,
+shirayuki_(kancolle),4,1650,shirayuki_(kantai_collection)
+andou_(girls_und_panzer),4,1650,
+dark_souls_i,3,1649,dark_souls
+asashio_kai_ni_(kancolle),4,1648,
+adjusting_gloves,0,1648,
+x_x,0,1647,
+song_name,0,1647,song_title
+pokemon_go,3,1647,
+breast_smother,0,1647,
+pokemon_xy_(anime),3,1646,
+mattaku_mousuke,1,1646,mattaku_moosuke
+high-waist_pants,0,1646,
+wooden_sword,0,1645,
+hanasaki_tsubomi,4,1645,
+fanny_pack,0,1645,
+cabinet,0,1645,
+pink_hoodie,0,1644,
+yuureidoushi_(yuurei6214),1,1643,
+yasogami_school_uniform,0,1643,
+thighhighs_pull,0,1643,thighhigh_pull
+my_little_pony,3,1643,
+legwear_garter,0,1643,"sock_garters,thighhigh_garter"
+noel_vermillion,4,1642,
+helm,0,1642,
+chiyoda_momo,4,1641,
+asui_tsuyu,4,1641,froppy_(boku_no_hero_academia)
+brown_capelet,0,1640,
+super_robot,0,1639,
+see-through_leotard,0,1639,sheer_leotard
+puffy_shorts,0,1639,
+free!,3,1639,
+swing,0,1638,swings
+nail_art,0,1638,
+through_clothes,0,1637,
+red_socks,0,1637,red_kneehighs
+coral,0,1637,corals
+yellow_thighhighs,0,1636,
+tales_of_graces,3,1635,
+dragon_ball_(classic),3,1633,
+cousins,0,1633,
+inuyasha,3,1632,
+wa_(genryusui),1,1631,
+red_armor,0,1631,
+dress_tug,0,1631,
+scarlet_devil_mansion,0,1630,
+reflective_floor,0,1629,
+holostars,3,1629,
+matou_kariya,4,1628,
+kizuna_ai_inc.,3,1628,a.i._channel
+holding_pencil,0,1628,
+confused,0,1628,
+tangzhuang,0,1627,
+shiomi_syuko,4,1627,shiomi_shuuko
+seiken_densetsu_3,3,1627,"sd3,seikendensetsu3,trials_of_mana"
+m-da_s-tarou,1,1627,
+producer_(idolmaster_cinderella_girls_anime),4,1626,"producer_(idolmaster_cinderella_girls),takeuchi-p"
+kill_me_baby,3,1625,
+aerial_fireworks,0,1625,
+worried,0,1624,
+toga_himiko,4,1624,
+star_halo,0,1624,
+gundam_tekketsu_no_orphans,3,1624,gundam_iron-blooded_orphans
+very_long_fingernails,0,1622,
+oda_nobunaga_(koha-ace),4,1622,oda_nobunaga_(koha/ace)
+leopard_ears,0,1622,
+world_of_warcraft,3,1621,
+zeta_gundam,3,1620,
+tracer_(overwatch),4,1620,lena_oxton
+spring_(season),0,1620,
+see-through_dress,0,1620,
+naked_jacket,0,1620,"naked_gakuran,naked_track_jacket"
+baseball_uniform,0,1619,
+ak-12_(girls'_frontline),4,1619,ak-12_(girls_frontline)
+st._louis_(azur_lane),4,1618,
+saber_lily,4,1618,
+matsuno_karamatsu,4,1618,karamatsu
+\||/,0,1618,open_\m/
+pokemon_on_head,0,1617,
+biker_clothes,0,1617,
+seigaiha,0,1616,
+polka_dot_dress,0,1615,polka-dot_dress
+radio_antenna,0,1614,
+upscaled,5,1613,upscale
+menu,0,1613,
+cross_scar,0,1613,x_scar
+kasumi_(doa),4,1612,
+insect_wings,0,1612,
+flexing,0,1612,flex
+white_suit,0,1611,
+starry_sky_print,0,1611,
+luigi's_mansion,3,1611,
+tokyo_7th_sisters,3,1610,
+pink_one-piece_swimsuit,0,1610,pink_swimsuit
+after_paizuri,0,1610,
+n_(pokemon),4,1609,
+puchimasu!,3,1608,
+tarot,0,1607,"tarot_card,tarot_cards"
+shiomi_kotone,4,1607,female_protagonist_(persona_3)
+hair_in_mouth,0,1607,
+german_clothes,0,1607,
+palms,0,1606,
+grabbing_another's_chin,0,1606,"chin_grab,chin_hold,chin_lift"
+asashimo_(kancolle),4,1606,asashimo_(kantai_collection)
+aino_minako,4,1606,
+kalashnikov_rifle,0,1605,kalashinkov_rifle
+incoming_gift,0,1605,
+strapless_shirt,0,1604,
+patchwork_skin,0,1604,
+lucario,4,1604,
+sugar_lyric,3,1603,
+plaid_background,0,1603,
+beni_shake,1,1603,crimson_shake
+otonashi_kotori,4,1602,
+in_the_face,0,1602,
+hair_brush,0,1602,hairbrush
+breasts_on_glass,0,1602,breasts_against_glass
+sumiyao_(amam),1,1601,
+ofuda_on_clothes,0,1601,
+lio_fotia,4,1601,
+fortissimo,0,1601,
+fate/extella,3,1601,
+darkness_(konosuba),4,1601,
+ribbon_bondage,0,1600,
+leaning_on_object,0,1600,
+seiran_(touhou),4,1599,
+naginata,0,1599,
+lip_piercing,0,1599,
+cyberpunk_edgerunners,3,1599,
+black_robe,0,1599,
+autobot,0,1599,
+monsterification,0,1598,
+kizuna_ai,4,1598,
+lord_el-melloi_ii_case_files,3,1597,
+xenoblade_chronicles_3,3,1596,
+ningguang_(genshin_impact),4,1596,"gyoukou_(genshin_impact),ningguang"
+komi-san_wa_komyushou_desu,3,1596,komi_can't_communicate
+cucumber,0,1596,cucumbers
+2014,0,1596,
+shimazaki_mujirushi,1,1595,shimazaki_kazumi
+minamino_kanade,4,1595,
+matsuno_jyushimatsu,4,1595,"jyushimatsu,matsuno_juushimatsu"
+marker,0,1595,
+dowsing_rod,0,1595,dowsing_rods
+o-ring_choker,0,1594,
+beckoning,0,1593,beckon
+my-hime,3,1592,"mai-hime,mai_hime,maihime,my_hime"
+magatama_earrings,0,1592,magatama_earring
+yae_sakura,4,1591,
+horikawa_raiko,4,1591,
+hataraku_saibou,3,1591,cells_at_work
+green-framed_eyewear,0,1591,green-framed_glasses
+sword_art_online:_code_register,3,1590,
+pencil_dress,0,1590,
+moroboshi_kirari,4,1590,
+messy,0,1590,
+untucked_shirt,0,1589,
+stuck,0,1588,
+skin_fangs,0,1588,
+star_twinkle_precure,3,1587,
+moon_(ornament),0,1587,
+matsuno_ichimatsu,4,1587,ichimatsu
+dodoco_(genshin_impact),4,1587,
+matsuno_osomatsu,4,1586,osomatsu_(osomatsu-kun)
+high-waist_shorts,0,1586,
+cherry_blossom_print,0,1586,
+tokusatsu,0,1585,
+drill_locks,0,1585,
+inoue_takina,4,1584,
+barbell_piercing,0,1584,
+red_hoodie,0,1583,
+milk_carton,0,1583,
+greatsword,0,1583,
+leaf_(pokemon),4,1582,
+poke_ball_symbol,0,1581,
+tales_of_the_abyss,3,1580,
+kamiya_nao,4,1580,
+chocolate_bar,0,1580,
+chain_leash,0,1580,
+pink_vest,0,1579,
+torn,0,1578,
+suzumiya_haruhi_no_shoushitsu,3,1578,"nagato_yuki_(shoushitsu),suzumiya_haruhi_(shoushitsu),the_disappearance_of_suzumiya_haruhi"
+hanyuu,4,1578,
+horned_helmet,0,1577,
+role_reversal,0,1576,
+teasing,0,1575,tease
+other_focus,0,1575,
+mimura_kanako,4,1575,
+crotch_plate,0,1575,
+claw_(weapon),0,1575,
+star_necklace,0,1574,
+bondage_outfit,0,1574,
+unconscious,0,1573,
+oumae_kumiko,4,1573,
+dragon_quest_v,3,1573,dragon_quest_5
+projected_inset,0,1572,
+lum,4,1572,
+hachimiya_meguru,4,1571,
+tactical_clothes,0,1570,tactical_clothing
+blinds,0,1570,
+arashio_(kancolle),4,1570,arashio_(kantai_collection)
+lounge_chair,0,1569,sun_lounger
+hugtto!_precure,3,1569,"hug_it!_precure,hug_it_precure,hugtto_precure"
+gabriel_dropout,3,1569,
+fish_girl,0,1569,
+embellished_costume,0,1569,
+white_sash,0,1568,
+mechanical_pencil,0,1568,
+sendai_kai_ni_(kancolle),4,1567,
+wheel,0,1566,wheels
+heckler_&_koch,0,1566,
+hand_on_thigh,0,1566,
+faux_figurine,0,1566,
+rensouhou-kun,4,1565,
+jinx_(league_of_legends),4,1565,
+chandelier,0,1565,
+red_cloak,0,1564,
+frozen_(disney),3,1564,
+holstered_weapon,0,1563,
+senjou_no_valkyria_(series),3,1562,"senjou_no_valkyria,valkyria_chronicles_(series)"
+ayanami_(kancolle),4,1562,ayanami_(kantai_collection)
+wooden_wall,0,1561,
+tamako_market,3,1561,
+leotard_pull,0,1560,
+hakurei_reimu_(cosplay),0,1560,
+color_connection,0,1560,
+artoria_pendragon_(lancer_alter)_(fate),4,1560,artoria_pendragon_(lancer_alter)
+sorcerer's_sutra_scroll,0,1559,
+ha_akabouzu,1,1559,
+felicia_(vampire),4,1559,
+yorha_no._9_type_s,4,1558,9s_(nier)
+suzutsuki_(kancolle),4,1558,suzutsuki_(kantai_collection)
+single_pauldron,0,1558,single_spaulder
+peeking,0,1558,peek
+sendai_hakurei_no_miko,4,1557,hakurei_miko
+polo_shirt,0,1557,
+gem_(symbol),0,1557,"diamond_(emoji),diamond_(symbol)"
+danganronpa_3_(anime),3,1556,"danganronpa_3,danganronpa_3"
+crease,5,1556,
+health_bar,0,1555,"hp_bar,lifebar"
+bikini_top_removed,0,1555,
+bad_drawr_id,5,1555,
+neocoill,1,1554,
+hand_on_own_leg,0,1554,
+creayus,1,1554,
+two-handed,0,1553,two_handed
+souseiseki,4,1553,
+sakata_gintoki,4,1553,
+latex_bodysuit,0,1553,
+isuzu_(kancolle),4,1553,isuzu_(kantai_collection)
+shikigami,0,1552,paper_ghost
+park_bench,0,1552,
+hikimayu,0,1552,
+ensemble_stars!,3,1552,
+yu-gi-oh!_5d's,3,1551,"yugioh_5d's,yuu-gi-ou_5d's"
+yoimiya_(genshin_impact),4,1551,
+toosaka_asagi,1,1551,
+stiletto_heels,0,1551,
+magi_the_labyrinth_of_magic,3,1551,
+elite_ii_(arknights),0,1551,
+bamboo_broom,0,1551,bamboo-shafted_broom
+robin_(fire_emblem)_(female),4,1550,female_my_unit_(fire_emblem:_kakusei)
+misumi_nagisa,4,1550,
+lusamine_(pokemon),4,1548,
+leg_hold,0,1548,
+watatsuki_no_yorihime,4,1547,
+sakurai_momoka,4,1547,
+old_woman,0,1547,
+kinugasa_(kancolle),4,1547,kinugasa_(kantai_collection)
+nishizumi_shiho,4,1546,
+german_text,0,1546,german
+agano_(kancolle),4,1545,agano_(kantai_collection)
+yamamoto_souichirou,1,1544,kijouyu_udon
+ushiwakamaru_(fate),4,1544,ushiwakamaru_(fate/grand_order)
+sunburst_background,0,1544,macedonian_flag
+plaid_bowtie,0,1544,
+dagashi_kashi,3,1543,
+bishamonten's_pagoda,0,1543,jeweled_pagoda
+japanese_crested_ibis_(kemono_friends),4,1542,crested_ibis_(kemono_friends)
+i-class_destroyer,4,1542,
+vshojo,3,1541,
+holding_leash,0,1541,
+groin_tendon,0,1541,
+cupless_bra,0,1541,"breastless_bra,nippleless_bra"
+striped_gloves,0,1540,
+princess_king_boo,4,1540,"booette,boosette,queen_boo"
+fireflies,0,1539,
+large_insertion,0,1538,"extreme_insertion,huge_insertion"
+icho_private_high_school_uniform,0,1538,
+holding_whip,0,1538,
+video_game,0,1537,"video_games,videogame,videogames"
+green_hoodie,0,1537,
+cuddling,0,1537,"cuddle,snuggle"
+hagoita,0,1536,
+suppressor,0,1535,"silencer,sound_suppressor"
+rappa_(rappaya),1,1535,"rapattu,rappa_(pixiv130037)"
+viera,0,1534,
+red_cross,0,1534,
+gold_earrings,0,1534,
+bowing,0,1534,
+yellow_cardigan,0,1533,
+spiked_tail,0,1533,
+leafa,4,1533,lyfa
+futa_with_futa,0,1532,futa_on_futa
+ushanka,0,1531,
+spine,0,1531,
+gold_hairband,0,1531,
+checkerboard_cookie,0,1530,
+graveyard,0,1529,cemetery
+taut_dress,0,1528,
+staff_(music),0,1528,musical_staff
+mars_symbol,0,1528,"iron_sign,iron_symbol,male_sign,male_symbol,mars_sign"
+etna_(disgaea),4,1528,etna
+manhattan_cafe_(umamusume),4,1527,
+konoshige_(ryuun),1,1527,"ryuun_(stiil),ryuun_the_return"
+has_censored_revision,5,1527,
+different_reflection,0,1527,
+circled_9,0,1527,"(9),Ôæ¿"
+orange_legwear,0,1525,"orange_kneehighs,orange_leggings,orange_pantyhose,orange_socks,orange_thighhighs"
+special_week_(umamusume),4,1524,special_week
+rosehip_(girls_und_panzer),4,1524,rosehip
+northern_white-faced_owl_(kemono_friends),4,1524,
+lipstick_tube,0,1524,
+choko_(cup),0,1524,sake_cup
+shallow_water,0,1522,
+fingers,0,1522,finger
+little_red_riding_hood,3,1521,
+instrument_case,0,1521,
+pentacle,0,1520,
+handsfree_ejaculation,0,1520,untouched_ejaculation
+bear_hair_ornament,0,1520,
+holding_sack,0,1519,
+hojo_karen,4,1518,"houjou_karen,houjou_karen"
+holding_stick,0,1517,
+cowlick,0,1517,
+reach-around,0,1515,"handjob_from_behind,reach_around,reacharound"
+visible_air,0,1514,
+mei_(overwatch),4,1514,"mei-ling_zhou,zhou_mei-ling"
+hexagon,0,1514,
+fff_threesome,0,1514,
+eagle,0,1514,
+twitter,3,1513,
+single_gauntlet,0,1513,
+ohara_mari,4,1513,
+naked_hoodie,0,1513,nude_hoodie
+cosplay_photo,0,1513,
+head_between_breasts,0,1512,head_in_breasts
+yuuhagi_(amaretto-no-natsu),1,1511,amaretto-no-natsu
+strap-on,0,1511,"strap_on,strapon"
+fox_boy,0,1511,
+ribbon-trimmed_collar,0,1510,
+gensou_suikoden,3,1510,suikoden
+ramune,0,1509,
+notepad,0,1509,
+neon_lights,0,1509,
+libeccio_(kancolle),4,1509,libeccio_(kantai_collection)
+crazy_smile,0,1509,
+ushiromiya_ange,4,1508,
+monokuma,4,1508,
+mahjong,0,1508,mahjongg
+kusazuri,0,1508,
+hirasawa_ui,4,1508,
+power_suit,0,1507,powersuit
+wisteria,0,1506,
+harukawa_maki,4,1506,
+aqua_theme,0,1506,
+wing_hair_ornament,0,1505,
+whipped_cream,0,1505,
+puffy_detached_sleeves,0,1505,
+nontraditional_playboy_bunny,0,1505,
+tulip_hat,0,1504,
+pageratta,1,1503,
+ghost_in_the_shell,3,1503,gits
+office,0,1502,
+itadori_yuuji,4,1502,
+gamagoori_ira,4,1502,gamagouri_ira
+chanta_(ayatakaoisii),1,1501,
+wolf_boy,0,1500,
+funami_yui,4,1500,
+saren_(princess_connect!),4,1499,sasaki_saren
+pacifier,0,1499,binky
+perineum,0,1498,taint
+painting_(action),0,1498,painting
+musashi_kai_ni_(kancolle),4,1498,
+mikazuki_munechika,4,1498,
+angelina_(arknights),4,1498,
+xenosaga,3,1497,
+sakugawa_school_uniform,0,1495,
+eternity_larva,4,1495,
+edward_elric,4,1495,
+ayu_(mog),1,1495,
+kirigaya_suguha,4,1494,
+japanese_flag,0,1494,
+hatsune_miku_(append),4,1494,miku_append
+collared_cape,0,1494,
+beach_chair,0,1494,
+bayonetta_(series),3,1494,bayonetta
+matsuryuu,1,1493,matsuryu
+tokisaki_kurumi,4,1492,
+sword_over_shoulder,0,1492,
+love_letter,0,1492,loveletter
+fallen_down,0,1492,fell_down
+pussy_piercing,0,1490,
+morpeko_(full),4,1490,morpeko_(full_belly)
+medium_dress,0,1490,
+levi_(shingeki_no_kyojin),4,1489,rivaille
+kissing_forehead,0,1489,"forehead_kiss,kiss_on_forehead"
+green_neckerchief,0,1489,
+simplified_chinese_text,0,1488,simplified_chinese
+oshida_(girls_und_panzer),4,1488,
+mega_man_x_(series),3,1488,"mega_man_x,megaman_x,rockman_x"
+kawakaze_(kancolle),4,1488,kawakaze_(kantai_collection)
+ceres_fauna,4,1487,
+pawpads,0,1485,
+kagura_(gintama),4,1485,
+artoria_pendragon_(alter_swimsuit_rider)_(fate),4,1485,artoria_pendragon_(swimsuit_rider_alter)
+monkey_d._luffy,4,1484,monkey_d_luffy
+gundam_unicorn,3,1484,
+power_(chainsaw_man),4,1483,
+earth_(ornament),0,1483,
+dinosaur,0,1483,
+animal_feet,0,1483,
+fate/unlimited_codes,3,1482,
+blueberry,0,1482,"blue_berry,blueberries"
+skyla_(pokemon),4,1481,fuuro_(pokemon)
+rotational_symmetry,0,1481,
+kujou_sara,4,1481,kujou_sara_(genshin_impact)
+stationary_restraints,0,1480,
+satou_kazuma,4,1480,
+bremerton_(scorching-hot_training)_(azur_lane),4,1480,
+sincos,1,1479,trg-_(sain)
+nilou_(genshin_impact),4,1479,
+gengar,4,1479,
+arm_between_breasts,0,1478,hand_between_breasts
+air_conditioner,0,1478,
+honolulu_(azur_lane),4,1477,
+tonda,1,1476,
+truth,0,1475,
+pani_poni_dash!,3,1475,"pani_poni,pani_poni_dash,paniponidash"
+raimon,0,1474,
+morgan_le_fay_(fate),4,1474,
+mismatched_pupils,0,1474,asymmetrical_pupils
+mascot,0,1474,
+ribbon_in_mouth,0,1473,
+kibito_high_school_uniform,0,1473,
+tall_female,0,1472,
+sweatshirt,0,1472,
+spiked_shell,0,1472,
+mother_(game),3,1472,
+kirakira_precure_a_la_mode,3,1472,"kira_kira_precure,kira_kira_precure_a_la_mode,kirakira_precure,precure_a_la_mode"
+hooded_sweater,0,1472,
+widowmaker_(overwatch),4,1471,amelie_lacroix
+nyantype,3,1471,
+centaur,0,1471,
+tail_censor,0,1469,"censor_tail,convenient_tail"
+sakura_taisen,3,1468,"sakura_wars,sakurataisen"
+has_downscaled_revision,5,1468,
+candlestand,0,1468,
+ramlethal_valentine,4,1467,ramletherl_valentine
+frilled_cuffs,0,1467,
+caution_tape,0,1467,
+holding_needle,0,1466,
+green_apron,0,1466,
+caressing_testicles,0,1466,"ball_caress,fondling_testicles"
+uzaki-chan_wa_asobitai!,3,1465,uzaki-chan_wants_to_hang_out!
+thigh_cutout,0,1465,
+kamui_gakupo,4,1465,
+clothed_female_nude_female,0,1465,"cfnf,clothed_female_naked_female,nude_female_clothed_female"
+age_progression,0,1465,
+a_certain_high_school_uniform,0,1465,
+tera_online,3,1464,
+playstation_portable,0,1464,psp
+tiger_boy,0,1463,
+petting,0,1463,
+white-framed_eyewear,0,1462,white-framed_glasses
+tsumiki_mikan,4,1462,
+tohru_(maidragon),4,1462,tooru_(maidragon)
+francesca_lucchini,4,1462,
+boned_meat,0,1461,manga_meat
+title,0,1460,
+tan_background,0,1460,
+stuffed_shark,0,1460,
+purple_heart,4,1460,
+dengeki_moeou,3,1460,dengeki_moeoh
+cotton_candy,0,1460,"candy_floss,fairy_floss"
+camilla_(fire_emblem),4,1460,camilla_(fire_emblem_if)
+yd_(orange_maru),1,1459,"liquify,yang-do,ydh2101"
+truck,0,1459,lorry
+reindeer_costume,0,1459,
+onmyoji,3,1459,
+presenting_armpit,0,1458,
+kasugano_sakura,4,1458,
+sanshoku_dango,0,1457,hanami_dango
+kiyosumi_school_uniform,0,1457,
+isonami_(kancolle),4,1457,isonami_(kantai_collection)
+ebi_193,1,1457,
+cure_peace,4,1457,
+bendy_straw,0,1457,
+leonardo_da_vinci_(fate),4,1456,leonardo_da_vinci_(fate/grand_order)
+heart_tail,0,1456,"heart_tails,tail_heart"
+blood_from_eyes,0,1456,"blood_tears,bloody_tears,crying_blood"
+overgrown,0,1455,
+yang_guifei_(fate),4,1454,yang_guifei_(fate/grand_order)
+kishibe_rohan,4,1454,
+garden,0,1454,
+dog_days,3,1454,
+holding_lantern,0,1453,
+2013,0,1453,
+kashuu_kiyomitsu,4,1452,
+fish_hair_ornament,0,1452,
+kemono_friends_v_project,3,1451,
+karin_(bunny)_(blue_archive),4,1451,karin_(bunny_girl)_(blue_archive)
+hand_on_another's_ass,0,1451,
+aqua_shirt,0,1451,aqua_blouse
+yellow_skin,0,1450,
+shirase_sakuya,4,1450,
+chibi_usa,4,1450,
+hand_puppet,0,1449,"hand_puppets,handpuppet"
+grey_necktie,0,1449,
+ashiya_douman_(fate),4,1449,
+yagasuri,0,1448,
+matsuno_choromatsu,4,1448,choromatsu
+diamond_button,0,1448,diamond_shaped_buttons
+fushiguro_megumi,4,1447,
+berserk,3,1447,
+palette_(object),0,1446,palette
+vegeta,4,1445,
+plant_girl,0,1445,plantgirl
+flame_print,0,1445,fire_print
+toranoana,3,1444,comic_toranoana
+scene_reference,0,1444,
+santa_dress,0,1443,
+arm_wrap,0,1443,arm_wraps
+ymir_(shingeki_no_kyojin),4,1442,
+sports_car,0,1442,supercar
+spiked_club,0,1442,
+null_(nyanpyoun),1,1442,
+halberd,0,1442,"pole_axe,poleaxe,pollaxe"
+buzz_cut,0,1442,
+head_chain,0,1441,
+viewer_holding_leash,0,1440,pov_leash
+palutena,4,1440,
+okamisty,0,1440,
+magnifying_glass,0,1440,magnifying_glasses
+katahira_masashi,1,1440,
+eureka_seven_(series),3,1440,
+drying,0,1440,toweling_off
+camcorder,0,1440,
+pink_blood,0,1439,
+tukiwani,1,1438,tsuki_wani
+puffy_pants,0,1437,
+martha_(fate),4,1437,saint_martha
+helicopter,0,1437,
+chocolate_on_body,0,1437,
+reference_inset,0,1436,
+hanging,0,1436,
+katori_(kancolle),4,1435,katori_(kantai_collection)
+ilya_kuvshinov,1,1435,kr0npr1nz
+black_sash,0,1434,
+agahari,1,1434,
+xenoblade_chronicles_1,3,1433,"xenoblade_1,xenoblade_chronicles"
+untying,0,1433,
+poke_ball_print,0,1433,
+nijigasaki_academy_school_uniform,0,1433,nijigasaki_academy_uniform
+mouth_veil,0,1433,
+fiery_hair,0,1433,"fire_hair,flaming_hair"
+the_moon_studio,3,1432,"kaguya_luna_(character),pinky_pop_hepburn_official"
+buttjob,0,1431,"hotdogging,shirikoki"
+artoria_pendragon_(swimsuit_ruler)_(fate),4,1431,
+used_tissue,0,1430,"tissue_wad,tissue_wads"
+uiharu_kazari,4,1430,
+tina_branford,4,1430,terra_branford
+penis_outside,0,1430,
+omaru_polka,4,1430,
+holding_shoes,0,1430,
+2010,0,1430,
+wiping_tears,0,1429,
+morning,0,1429,
+asakura_toru,4,1429,asakura_tooru
+2012,0,1429,
+invisible_penis,0,1428,invisicock
+sitting_on_object,0,1427,
+fujibayashi_kyou,4,1427,
+my_little_pony:_friendship_is_magic,3,1426,my_little_pony_friendship_is_magic
+horns_through_headwear,0,1426,
+vibrator_under_panties,0,1425,
+tight_shirt,0,1425,
+striped_kimono,0,1425,striped_yukata
+silver_fox_(kemono_friends),4,1424,
+oral_invitation,0,1424,
+holding_innertube,0,1424,
+spanking,0,1423,
+santa_boots,0,1423,
+ringo_(touhou),4,1423,
+mechanization,0,1423,
+enemy_aircraft_(kancolle),4,1423,enemy_aircraft_(kantai_collection)
+donation_box,0,1423,
+spirit,0,1422,
+purple_one-piece_swimsuit,0,1422,purple_swimsuit
+makizushi,0,1422,
+fangs_out,0,1422,
+back-seamed_legwear,0,1422,back_seamed_legwear
+myoukou_(kancolle),4,1421,myoukou_(kantai_collection)
+multiple_condoms,0,1420,
+weibo_logo,0,1419,
+ovum,0,1418,
+handkerchief,0,1418,
+butcha-u,1,1418,"butcha_u,eroquis"
+shirt_in_mouth,0,1417,
+mikage_takashi,1,1417,"ashita_wa_docchi_da!,mikage_kishi"
+kaeya_(genshin_impact),4,1417,kaeya_alberich
+final_fantasy_xv,3,1417,"ff15,ffxv,final_fantasy_versus_xiii"
+timestamp,0,1416,time_stamp
+bowl_cut,0,1416,
+ass_cutout,0,1416,heart_ass_cutout
+alternate_skin_color,0,1416,
+nyantcha,1,1415,"sly-8,thiccwithaq,thiccwithaq"
+holding_clipboard,0,1415,
+column,0,1415,columns
+batman_(series),3,1415,
+ar_tonelico,3,1415,
+tree_stump,0,1414,
+skadi_the_corrupting_heart_(arknights),4,1414,
+side-tie_leotard,0,1413,
+grey_scarf,0,1413,
+dirndl,0,1412,
+cropped_vest,0,1412,
+open_window,0,1411,
+crane_(machine),0,1411,
+pixiv_id,0,1410,
+as109,1,1410,"fallen_a,g_scream"
+ruffling_hair,0,1409,"hair_tousle,hair_tussle"
+final_fantasy_viii,3,1409,"ff8,ffviii"
+inazuma_eleven_go_chrono_stone,3,1408,
+expressive_hair,0,1407,
+bear_girl,0,1407,
+jeanne_d'arc_(swimsuit_archer)_(fate),4,1406,jeanne_d'arc_(swimsuit_archer)
+tashkent_(kancolle),4,1405,tashkent_(kantai_collection)
+non-humanoid_robot,0,1405,
+narrowed_eyes,0,1405,
+mole_on_neck,0,1405,
+lipstick_mark,0,1405,
+konjiki_no_yami,4,1405,golden_darkness
+inflation,0,1405,
+thigh_pouch,0,1404,
+elsa_(frozen),4,1404,
+cle_masahiro,1,1403,"clesta,kure_masahiro"
+shiba_inu,0,1402,
+neck,0,1402,
+molestation,0,1402,"molester,molesting"
+helena_blavatsky_(fate),4,1402,helena_blavatsky_(fate/grand_order)
+spread_toes,0,1401,toe-spread
+party_hat,0,1401,party_hats
+jersey,0,1401,"official_jersey,sports_jersey"
+hino_rei,4,1401,
+show_by_rock!!,3,1400,
+jessie_(pokemon),4,1400,musashi_(pokemon)
+pectoral_grab,0,1399,
+noire_(neptune_series),4,1399,noire
+yotsubato!,3,1398,"yotsuba&!,yotsubato"
+window_shade,0,1398,
+ragna_the_bloodedge,4,1398,
+plaid_headwear,0,1398,plaid_hat
+midna,4,1398,
+jirai_kei,0,1398,
+sonozaki_shion,4,1397,
+raised_fist,0,1397,air_punch
+ib,3,1397,
+curtsey,0,1397,"curtsie,curtsy"
+yuri_lowell,4,1396,
+twilight_(spy_x_family),4,1396,loid_forger
+onmyouji,0,1396,
+harem_pants,0,1396,
+marie_antoinette_(fate),4,1395,marie_antoinette_(fate/grand_order)
+hand_on_another's_stomach,0,1395,
+pavement,0,1394,
+panda_ears,0,1394,
+gym_storeroom,0,1394,"gym_equipment_shed,gym_storage_room"
+gamepad,0,1394,
+black_mask,0,1394,
+tsukikage_yuri,4,1393,
+popuko,4,1393,
+le_malin_(azur_lane),4,1393,
+anti_(untea9),1,1393,
+after_ejaculation,0,1393,
+utility_belt,0,1392,
+skyline,0,1392,city_skyline
+pet_play,0,1392,petboy
+goblin_slayer!,3,1392,
+yu-gi-oh!_arc-v,3,1391,"yugioh_arc-v,yuu-gi-ou_arc-v"
+kamio_misuzu,4,1391,
+fujima_takuya,1,1391,takuya_fujima
+osakabe-hime_(fate),4,1390,osakabe-hime_(fate/grand_order)
+kemomimi-chan_(naga_u),4,1390,
+grey_wolf_(kemono_friends),4,1390,
+grey_fur,0,1390,
+doughnut_hair_bun,0,1390,donut_hair_bun
+bloop_(gawr_gura),4,1390,
+ribbed_bodysuit,0,1389,
+leather_belt,0,1389,
+bayonetta,4,1389,bayonetta_(character)
+takeuchi_takashi,1,1388,
+takafumi,1,1388,
+fukumaru_koito,4,1388,
+excessive_pubic_hair,0,1388,
+higashi_setsuna,4,1387,
+satono_diamond_(umamusume),4,1386,satono_diamond
+ito_noizi,1,1386,"itou_noiji,noizi_ito"
+mysterious_heroine_x_alter_(fate),4,1385,"heroine_x_(alter),mysterious_heroine_x_(alter),mysterious_heroine_x_(alter)_(fate)"
+expressive_clothes,0,1385,
+triforce,0,1384,
+tk8d32,1,1384,
+nian_(arknights),4,1384,
+mizumoto_tadashi,1,1384,mizutataki
+baguette,0,1384,french_bread
+suzuhira_hiro,1,1383,hiro_suzuhira
+omurice,0,1383,rice_omelet
+niwatazumi,1,1383,
+monkey_ears,0,1383,
+symboli_rudolf_(umamusume),4,1382,
+h&k_hk416,0,1382,hk416
+\o/,0,1382,
+spell_card,0,1381,spellcard
+haruhisky,1,1381,
+yuffie_kisaragi,4,1380,
+scathach_skadi_(fate),4,1380,scathach_skadi_(fate/grand_order)
+index_fingers_together,0,1380,
+ezo_red_fox_(kemono_friends),4,1380,
+brown_kimono,0,1380,brown_yukata
+sitting_on_stairs,0,1379,
+matsuno_todomatsu,4,1379,todomatsu
+jervis_(kancolle),4,1379,jervis_(kantai_collection)
+endeavor_(boku_no_hero_academia),4,1379,todoroki_enji
+charlotte_dunois,4,1379,
+beige_sweater,0,1379,
+alternate_weapon,0,1378,alternative_weapon
+treasure_chest,0,1377,
+stone_lantern,0,1377,
+radio,0,1376,
+mcdonald's,3,1376,mcdonalds
+madotsuki,4,1376,
+furukawa_nagisa,4,1376,okazaki_nagisa
+failure_penguin,4,1376,
+claw_ring,0,1376,finger_armor_ring
+summon_night,3,1375,
+polka_dot_swimsuit,0,1375,polka-dot_swimsuit
+pointless_condom,0,1375,
+brushing_teeth,0,1375,
+sangvis_ferri,0,1374,
+furutaka_(kancolle),4,1374,furutaka_(kantai_collection)
+jeanne_d'arc_alter_(ver._shinjuku_1999)_(fate),4,1373,wicked_dragon_witch_ver._shinjuku_1999
+39,0,1373,
+orange_thighhighs,0,1372,
+oguri_cap_(umamusume),4,1372,
+micro_panties,0,1371,
+jean_pierre_polnareff,4,1371,
+elesa_(pokemon),4,1371,kamitsure_(pokemon)
+konno_junko,4,1370,
+fake_facial_hair,0,1370,
+hidden_eyes,0,1369,
+hayashimo_(kancolle),4,1369,hayashimo_(kantai_collection)
+eyewear_on_headwear,0,1369,
+takodachi_(ninomae_ina'nis),4,1368,tako_(ninomae_ina'nis)
+ishikei,1,1368,"nise,nise_midi_doro_no_kai,nise_midi_doronokai,nisemidi,nisemididoronokai"
+redesign,0,1367,
+people,0,1367,background_people
+mega_man_legends,3,1367,"megaman_legends,rockman_dash"
+coca-cola,0,1367,coca_cola
+yamato-no-kami_yasusada,4,1366,
+nanairogaoka_middle_school_uniform,0,1365,
+nagi_no_asukara,3,1365,"a_lull_in_the_sea,nagiasu"
+excessive_cum,0,1365,
+tatsumi_kanji,4,1364,
+takoyaki,0,1362,
+pink_sailor_collar,0,1362,
+natsume_rin,4,1362,
+open_pants,0,1361,
+nishi_kinuyo,4,1361,
+mahou_girls_precure!,3,1361,"maho_girls_precure,maho_girls_precure!,mahou_girls_precure,mahou_tsukai_precure,mahou_tsukai_precure!,mahoutsukai_precure,mahoutsukai_precure!"
+dakimakura_(object),0,1361,
+orange_sailor_collar,0,1360,
+holding_helmet,0,1360,
+eromame,1,1360,saya26
+carrying_under_arm,0,1359,
+tapir_tail,0,1358,
+propeller,0,1358,
+looking_at_animal,0,1358,
+cardfight!!_vanguard,3,1358,
+yellow_wings,0,1357,
+mamiya_(kancolle),4,1357,mamiya_(kantai_collection)
+lisa_(genshin_impact),4,1357,lisa_minci
+kanji,0,1357,
+kamina_(ttgl),4,1357,
+hoshi_syoko,4,1357,hoshi_shouko
+holding_brush,0,1357,
+di_gi_charat,3,1357,"digi_charat,digicharat"
+alpha_transparency,5,1357,
+red-tinted_eyewear,0,1356,
+palm_leaf,0,1356,
+fujiwara_chika,4,1355,
+countdown,0,1355,
+black_buruma,0,1355,
+ajirogasa,0,1355,
+tiki_(fire_emblem),4,1354,chiki
+bear_print,0,1354,
+turtleneck_dress,0,1353,
+nanasaki_ai,4,1353,
+male_playboy_bunny,0,1353,"bunny_suit_(male),bunnysuit_(male),playboy_bunny_(male)"
+imu_sanjo,1,1353,
+yaoyorozu_momo,4,1352,creati_(boku_no_hero_academia)
+oversized_shirt,0,1352,
+cow_boy,0,1352,
+bulma,4,1352,
+2011,0,1352,
+tribal,0,1351,
+short_jumpsuit,0,1351,
+sakura_futaba,4,1351,
+arcana_heart,3,1351,
+yuusha_de_aru,3,1350,
+goat_ears,0,1350,
+eureka_seven,3,1350,"eureka_7,koukyoushihen_eureka_7,koukyoushihen_eureka_seven"
+baseball_mitt,0,1350,baseball_glove
+kami_nomi_zo_shiru_sekai,3,1349,"kaminomi,the_world_god_only_knows"
+glomp,0,1349,
+finger_to_face,0,1349,
+yoshikawa_chinatsu,4,1348,
+globe,0,1348,
+talking_on_phone,0,1347,on_phone
+cupping_hands,0,1347,cupped_hands
+niiko_(gonnzou),1,1346,gonnzou
+mihono_bourbon_(umamusume),4,1346,
+happi,0,1346,
+halloween_bucket,0,1346,"halloween_basket,pumpkin_basket,pumpkin_bucket"
+foot_up,0,1346,
+saria_(arknights),4,1345,
+gundam_zz,3,1345,
+takamaki_anne,4,1344,"takamaki_ann,takamaki_anzu"
+sidepec,0,1344,
+priest,0,1344,
+fighter_jet,0,1344,jet_fighter
+byleth_(fire_emblem)_(male),4,1344,byleth_(male)
+forehead-to-forehead,0,1343,forehead_to_forehead
+yuno_(hidamari_sketch),4,1342,yuno
+shiromanta,1,1342,
+momosuzu_nene,4,1342,
+kris_(pokemon),4,1342,crystal_(pokemon)
+kawashina_(momen_silicon),1,1342,kahasina
+murakumo_kai_ni_(kancolle),4,1341,
+impaled,0,1341,
+elin,4,1341,elin_(tera)
+shantae_(series),3,1340,
+albedo_(genshin_impact),4,1340,
+cat_teaser,0,1339,cat_toy
+shin_guards,0,1338,leg_guards
+masturbation_through_clothes,0,1338,masturbation_through_clothing
+venus_symbol,0,1337,"copper_sign,copper_symbol,female_sign,female_symbol,venus_sign"
+stomach_cutout,0,1337,midriff_cutout
+little_red_riding_hood_(grimm),4,1337,
+leg_between_thighs,0,1337,
+kamoi_(kancolle),4,1336,kamoi_(kantai_collection)
+ark_royal_(kancolle),4,1336,ark_royal_(kantai_collection)
+tate_no_yuusha_no_nariagari,3,1335,the_rising_of_the_shield_hero
+spread_pussy_under_clothes,0,1335,
+no_testicles,0,1335,
+mahou_shoujo_lyrical_nanoha_vivid,3,1335,
+glitch,0,1335,
+blue_headband,0,1335,
+to_heart,3,1334,toheart
+lotion_bottle,0,1334,
+hauchiwa,0,1334,
+blonde_pubic_hair,0,1334,
+aaaa_(quad-a),1,1334,
+ultra_series,3,1333,
+pink_pants,0,1333,
+mizuhara_aki,1,1333,
+idol_clothes,0,1333,
+quiz_magic_academy,3,1332,
+overcoat,0,1332,
+oshawott,4,1332,
+hand_on_eyewear,0,1332,hand_on_glasses
+brown_necktie,0,1332,
+sakuma_mayu,4,1331,
+italian_flag,0,1330,
+hand_on_breast,0,1330,
+alice_margatroid_(pc-98),4,1330,alice_margatroid_(young)
+aldehyde,1,1330,arudehido
+saga,3,1328,
+naked_kimono,0,1328,
+mixing_bowl,0,1328,
+debt,0,1328,
+screen,0,1327,
+cutesexyrobutts,1,1327,robutts
+vividred_operation,3,1326,
+novel_cover,0,1326,
+lucifer_(helltaker),4,1324,
+holding_handheld_game_console,0,1324,
+diving_mask_on_head,0,1324,
+tsukioka_kogane,4,1323,
+tales_of_symphonia,3,1323,
+specter_(arknights),4,1323,
+sheet_music,0,1323,"music_sheet,music_sheets,musical_sheet,musical_sheets"
+roll_(mega_man),4,1323,roll_(rockman)
+twincest,0,1322,
+ichikawa_feesu,1,1322,feesu_(rinc7600)
+snorkel,0,1321,
+reiuji_utsuho_(bird),4,1320,
+pillbox_hat,0,1320,
+m4a1_(girls'_frontline),4,1320,m4a1_(girls_frontline)
+yes-no_pillow,0,1319,
+komi_shouko,4,1319,
+death_note,3,1319,deathnote
+kimono_skirt,0,1318,
+incoming_food,0,1318,feeding_viewer
+gyee,3,1318,
+u.a._school_uniform,0,1317,
+stadium,0,1317,
+prosthetic_leg,0,1317,artificial_leg
+holding_leaf,0,1317,
+stone_floor,0,1316,
+pantyhose_under_shorts,0,1316,
+clock_tower,0,1316,
+katekyo_hitman_reborn!,3,1315,"katekyo_hitman_reborn,reborn!"
+red_hood,0,1314,
+production_art,5,1314,
+nike,0,1314,
+kicchou_yachie,4,1314,
+black_theme,0,1314,
+twitching,0,1313,
+squirrel_girl,0,1313,
+incoming_attack,0,1313,attacking_viewer
+april_fools,0,1313,
+yukishiro_honoka,4,1312,
+tsukumo_benben,4,1312,
+tropical_drink,0,1312,
+ribbed_sleeves,0,1312,
+pokemon_dppt_(anime),3,1312,pokemon_dp_(anime)
+jako_(jakoo21),1,1312,jakoo21
+cloth_gag,0,1312,
+._.,0,1312,
+haiyore!_nyaruko-san,3,1311,nyaruko:_crawling_with_love
+nekotoufu,1,1310,
+mayano_top_gun_(umamusume),4,1310,
+flip_phone,0,1310,
+asanagi,1,1310,"fatalpulse,fatalpulse"
+silver_(pokemon),4,1309,"heart_(pokemon),soul_(pokemon)"
+fertilization,0,1309,
+ryu_(street_fighter),4,1308,
+rainbow_gradient,0,1308,
+pokemon_platinum,3,1308,
+mishima_kurone,1,1308,
+jaguar_ears,0,1308,
+flower_request,5,1308,
+abigail_williams_(swimsuit_foreigner)_(fate),4,1308,
+saku_usako_(rabbit),1,1307,ususa70
+onikobe_rin,1,1307,"nurearare,onigashira_rin"
+kettle,0,1307,
+stab,0,1306,"stabbed,stabbing"
+potion,0,1306,
+imizu_(nitro_unknown),1,1306,fumei
+dei_shirou,1,1306,orenji_zerii
+school_briefcase,0,1305,
+dido_(azur_lane),4,1305,
+umikaze_(kancolle),4,1304,umikaze_(kantai_collection)
+pokemoa,1,1304,soara
+crosswalk,0,1304,"pedestrian_crossing,zebra_crossing"
+bodice,0,1304,
+shirosato,1,1303,
+okita_souji_alter_(fate),4,1303,okita_souji_(alter)_(fate)
+myoudouin_itsuki,4,1303,
+lube,0,1303,
+drawing_bow,0,1303,
+humiliation,0,1302,
+slapping,0,1301,slap
+kaguya_luna,4,1301,
+sailor_moon_redraw_challenge_(meme),0,1300,sailor_moon_redraw_challenge
+hoshiguma_(arknights),4,1300,
+dragon_ball_fighterz,3,1300,
+under_night_in-birth,3,1299,
+shining_(series),3,1299,shining_force
+plaid_panties,0,1299,
+grey_bra,0,1299,gray_bra
+thrusters,0,1298,
+intravenous_drip,0,1298,"iv,iv_drip"
+cato_(monocatienus),1,1298,
+orange_slice,0,1297,
+hagikaze_(kancolle),4,1297,hagikaze_(kantai_collection)
+frapowa,1,1297,
+nekomusume,4,1296,
+morino_rinze,4,1296,
+sonic_the_hedgehog,4,1295,sonic
+grey_border,0,1295,gray_border
+food-themed_clothes,0,1295,food_themed_clothes
+cheering,0,1295,"cheer,cheered"
+log,0,1294,
+lize_helesta,4,1294,
+joseph_joestar_(old),4,1294,joseph_joestar
+princess_principal,3,1293,
+orange_ascot,0,1293,
+jojo_pose,0,1293,
+elio_(pokemon),4,1293,"sun_(pokemon),you_(pokemon)"
+multicolored_bow,0,1292,
+godzilla_(series),3,1292,
+full-body_tattoo,0,1292,full_body_tattoo
+cagliostro_(granblue_fantasy),4,1292,
+bruno_bucciarati,4,1292,bruno_buccellati
+blowing_kiss,0,1292,"air_kiss,blown_kiss,flying_kiss,thrown_kiss"
+nori_tamago,1,1291,
+broken_chain,0,1291,broken_chains
+artoria_caster_(fate),4,1291,"artoria_pendragon_(caster),artoria_pendragon_(caster)_(fate)"
+sekina,1,1290,
+print_bra,0,1290,
+plaid_pants,0,1290,
+homare_(fool's_art),1,1290,homare_(artist)
+stone_wall,0,1289,
+kuwayama_chiyuki,4,1289,
+fumio_(rsqkr),1,1289,humio
+breathing_fire,0,1289,"fire_spit,spitting_fire"
+an-94_(girls'_frontline),4,1289,an-94_(girls_frontline)
+karaagetarou,1,1288,
+chest_belt,0,1288,
+brown-framed_eyewear,0,1288,brown-framed_glasses
+7th_dragon_(series),3,1288,
+origami,0,1287,
+oouso,1,1287,
+komano_aunn,4,1287,komano_aun
+k-suwabe,1,1287,kei-suwabe
+little_boy_admiral_(kancolle),4,1286,"little_boy_admiral_(kantai_collection),shota_admiral_(kantai_collection)"
+lily_of_the_valley,0,1286,suzuran
+leather_gloves,0,1286,
+murakami_suigun,1,1285,
+haramura_nodoka,4,1285,
+frottage,0,1285,frotting
+nippleless_clothes,0,1284,nippleless_clothing
+negom,1,1284,panmi
+wooden_table,0,1283,
+oomuro_sakurako,4,1283,
+nishi_koutarou,1,1283,
+gilles_de_rais_(caster)_(fate),4,1283,caster_(fate/zero)
+soccer,0,1282,football
+cleaning,0,1282,
+alchemy_stars,3,1282,
+tamura_yuri,4,1281,
+strike_witches:_suomus_misfits_squadron,3,1281,
+scooter,0,1281,
+poker_chip,0,1281,"chip_(poker),poker_chips"
+kino_makoto,4,1281,
+yuuka_(blue_archive),4,1280,
+tsurumaru_kuninaga,4,1280,
+totoki_airi,4,1280,
+tail_grab,0,1280,
+ranma-chan,4,1280,
+marina_(splatoon),4,1280,iida_(splatoon)
+blanc_(neptune_series),4,1280,blanc
+sengoku_nadeko,4,1279,
+cow,0,1279,
+yes,0,1277,
+sweatpants,0,1277,sweat_pants
+blue_eyeshadow,0,1277,
+tail_between_legs,0,1276,
+stream,0,1276,creek
+platform_heels,0,1276,
+horosuke,1,1276,horosuke_(toot08)
+unitard,0,1275,
+theresa_apocalypse,4,1275,
+my-otome,3,1275,"mai-otome,mai_otome,maiotome,my-zhime,my_otome,my_zhime"
+makuwauri,1,1275,
+g11_(girls'_frontline),4,1275,g11_(girls_frontline)
+full-package_futanari,0,1275,full_package_futanari
+yuyushiki,3,1274,
+goblin,0,1274,
+steampunk,0,1273,steam_punk
+fumihiko_(fu_mihi_ko),1,1273,fumihiko_(pixiv2658856)
+wrist_guards,0,1272,
+wakabayashi_toshiya,1,1272,
+ike_(fire_emblem),4,1272,ike
+bianca_(pokemon),4,1272,"bel_(pokemon),bell_(pokemon),bell_(pokemon)"
+onee-loli,0,1271,
+harry_potter_(series),3,1271,"harry_potter,harrypotter"
+.live,3,1271,
+shouhou_(kancolle),4,1270,shouhou_(kantai_collection)
+riesz,4,1270,
+hiroki_(yyqw7151),1,1270,
+gekkan_shoujo_nozaki-kun,3,1270,monthly_girls'_nozaki-kun
+hatsune_miku_(cosplay),0,1269,
+bird_on_shoulder,0,1269,
+natsuki_subaru,4,1268,
+twisted_wonderland,3,1267,
+tohno_akiha,4,1267,toono_akiha
+sleeveless_hoodie,0,1267,
+dr_rex,1,1266,
+blue_fur,0,1266,
+striped_shorts,0,1265,
+reflective_water,0,1265,
+panty_straps,0,1265,
+ninomiya_asuka,4,1265,
+multiple_sources,5,1265,
+mechanical_tail,0,1265,
+gloves_removed,0,1265,glove_removed
+cup_ramen,0,1265,cup_noodles
+world_flipper,3,1264,
+torn_panties,0,1264,
+shoelaces,0,1264,
+ootsuki_wataru,1,1264,
+dragon_quest_xi,3,1264,
+torn_pantyhose,0,1263,
+prisma_illya,4,1263,
+pokedex_number,0,1263,pokemon_number
+hand_net,0,1263,
+etorofu_(kancolle),4,1263,etorofu_(kantai_collection)
+clitoris_piercing,0,1263,clit_piercing
+camellia,0,1262,camellia_(flower)
+altera_(fate),4,1262,attila_(fate/grand_order)
+deer,0,1261,
+android_21,4,1261,
+stove,0,1260,
+single_strap,0,1260,
+respirator,0,1260,
+ornate_ring,0,1260,
+bad_perspective,0,1260,
+u_u,0,1259,
+tokiko_(touhou),4,1259,
+pom_pom_hair_ornament,0,1259,hair_pom_pom
+m4_sopmod_ii_(girls'_frontline),4,1259,m4_sopmod_ii_(girls_frontline)
+kilye_kairi,1,1259,"kilye_4421,kirie_kairi"
+chest_strap,0,1259,
+partially_underwater_shot,0,1258,
+higuchi_kaede,4,1258,
+hands_on_feet,0,1258,
+hamaya,0,1258,
+su-san,4,1257,
+purple_tail,0,1257,
+mimikyu,4,1257,
+wooden_fence,0,1256,
+mithra_(ff11),0,1256,mithra
+maturiuta_sorato,1,1255,matsuri_uta
+cat_on_head,0,1255,
+bridget_(guilty_gear),4,1255,
+kurokoma_saki,4,1254,
+hakama_pants,0,1254,hakama_shorts
+balancing,0,1254,balance
+alphes_(style),0,1254,
+happoubi_jin,1,1253,happo
+e.o.,1,1253,eo_(pixiv3261838)
+doraemon,3,1253,
+yokochou,1,1252,
+street_fighter_iii_(series),3,1252,"3rd_strike,street_fighter_3,street_fighter_iii,street_fighter_iii:_2nd_impact,street_fighter_iii:_3rd_strike"
+oreki_houtarou,4,1252,
+yano_toshinori,1,1251,
+green_flower,0,1251,
+gaoo_(frpjx283),1,1251,
+new_school_swimsuit,0,1250,
+kasumi_kai_ni_(kancolle),4,1250,
+tail_wrap,0,1249,
+shinkai_no_valkyrie,3,1249,valkyrie_crusade
+scorbunny,4,1249,
+akizuki_ryo,4,1249,akizuki_ryou
+sponge,0,1248,
+nishida_satono,4,1248,
+aru_(blue_archive),4,1248,
+arashi_(kancolle),4,1248,arashi_(kantai_collection)
+ankle_strap,0,1248,
+veiny_breasts,0,1247,
+shinda_sekai_sensen_uniform,0,1247,
+noelle_(genshin_impact),4,1247,
+kaamin_(mariarose753),1,1247,
+eggplant,0,1247,aubergine
+yordle,0,1246,
+polka_dot_legwear,0,1246,polka-dot_legwear
+werewolf,0,1245,
+pink_collar,0,1245,
+bad_end,0,1244,
+sobu_high_school_uniform,0,1243,
+phonograph,0,1243,"gramophone,record_machine,record_player,victrola"
+cooperative_paizuri,0,1243,multiple_paizuri
+black_pubic_hair,0,1243,
+traditional_clothes,0,1242,
+hana_kazari,1,1242,
+atalanta_(fate),4,1242,
+the_legend_of_zelda:_skyward_sword,3,1241,skyward_sword
+roronoa_zoro,4,1241,
+lossy-lossless,5,1241,
+fletcher_(kancolle),4,1241,fletcher_(kantai_collection)
+beatmania,3,1241,
+st_ar-15_(girls'_frontline),4,1240,st_ar-15_(girls_frontline)
+pink_bag,0,1240,"pink_backpack,pink_handbag"
+lace-trimmed_sleeves,0,1240,
+koyanskaya_(fate),4,1240,"koyanskaya,tamamo_(assassin)_(fate)"
+blue_sash,0,1240,
+black_male_underwear,0,1240,black_underwear_(male)
+tales_of_zestiria,3,1239,
+latex_gloves,0,1239,
+imminent_fellatio,0,1239,
+desk_lamp,0,1239,
+arch_bishop_(ragnarok_online),4,1239,archbishop_(ragnarok_online)
+miyamoto_musashi_(swimsuit_berserker)_(fate),4,1238,
+honma_meiko,4,1238,
+electrokinesis,0,1238,
+brown_hairband,0,1238,
+wattson_(apex_legends),4,1237,
+kimi_no_na_wa.,3,1237,"kimi_no_na_wa,your_name."
+bookmark,0,1237,
+bolo_tie,0,1237,
+red_bandana,0,1236,
+diana_cavendish,4,1236,
+diagonal-striped_necktie,0,1236,
+animal_ear_legwear,0,1236,animal_band_legwear
+shower_(place),0,1235,
+severed_head,0,1235,
+head_on_another's_shoulder,0,1235,head_on_shoulder
+fur-trimmed_skirt,0,1235,
+alisa_ilinichina_amiella,4,1235,arisa_iriinchina_amieera
+super_mario_galaxy,3,1234,
+panties_on_head,0,1234,
+kujou_karasuma,1,1234,
+sana_channel,3,1233,
+nanase_nao,1,1233,
+lord_camelot_(fate),0,1233,
+himemori_luna,4,1233,
+kirin_(armor),4,1232,
+hourai_doll,4,1232,
+jojolion,3,1231,
+cure_marine,4,1231,
+kadotani_anzu,4,1230,
+skateboard,0,1229,
+single_pantsleg,0,1229,one_pantsleg
+mole_on_ass,0,1229,
+dangle_earrings,0,1229,
+yellow_hoodie,0,1228,
+saint_seiya,3,1228,
+kuma_(persona_4),4,1228,"kuma_(persona4),teddie_(persona_4)"
+kourindou_tengu_costume,0,1228,
+nepgear,4,1227,
+natori_sana,4,1227,
+murasaki_shikibu_(fate),4,1227,
+gold_armor,0,1227,
+german_flag,0,1227,
+breast_conscious,0,1227,
+namazuo_toushirou,4,1226,
+boots_removed,0,1226,
+araragi_koyomi,4,1226,
+maikaze_(kancolle),4,1225,maikaze_(kantai_collection)
+blue_horns,0,1225,
+bandaid_on_hand,0,1225,bandaid_on_finger
+pokemon_on_shoulder,0,1224,
+kasane_teto,4,1224,
+minna-dietlinde_wilcke,4,1223,
+gyro_zeppeli,4,1223,
+enemy_lifebuoy_(kancolle),4,1223,enemy_lifebuoy_(kantai_collection)
+undone_necktie,0,1222,untied_necktie
+sunazuka_akira,4,1222,
+multicolored_shirt,0,1222,multicolored_blouse
+high_kick,0,1222,
+furry_with_furry,0,1222,
+frilled_socks,0,1221,
+todoroki_shouto,4,1220,shouto_(boku_no_hero_academia)
+schwarz_(arknights),4,1220,
+picnic_basket,0,1220,
+marianne_von_edmund,4,1220,
+usashiro_mani,1,1219,mani
+paper_airplane,0,1219,paper_plane
+hachikuji_mayoi,4,1219,
+katawa_shoujo,3,1218,
+eyebrow_piercing,0,1218,
+tablecloth,0,1217,
+jacket_partially_removed,0,1217,
+blue_poison_(arknights),4,1217,
+pote_(ptkan),1,1216,ptkan
+hand_on_own_shoulder,0,1216,
+frederica_bernkastel,4,1216,
+clearite,1,1216,
+z23_(azur_lane),4,1215,
+keroro_gunsou,3,1215,"kerorogunsou,sergeant_frog,sgt._frog"
+ivan_karelin,4,1215,
+siege_(arknights),4,1214,
+piers_(pokemon),4,1214,nezu_(pokemon)
+lapels,0,1214,lapel
+grey_kimono,0,1214,
+ohisashiburi,1,1213,"nuae5elll,wntame"
+koharu_(blue_archive),4,1213,
+chainmail,0,1213,mail_armor
+age_regression,0,1213,de-aging
+shinai,0,1212,bamboo_sword
+shin_jigen_game_neptune_vii,3,1212,megadimension_neptunia_vii
+hat_tip,0,1212,
+2009,0,1212,
+whispering,0,1211,whisper
+runes,0,1211,
+high_school_fleet,3,1211,"hai-furi,haifuri"
+engiyoshi,1,1211,t_tuzuri
+animal_bag,0,1211,animal_backpack
+perpendicular_paizuri,0,1210,
+ijiranaide_nagatoro-san,3,1210,"don't_toy_with_me,_miss_nagatoro,don't_toy_with_me_miss_nagatoro,please_don't_bully_me,_nagatoro,please_don't_bully_me_nagatoro"
+gundam_build_divers,3,1210,
+friends,0,1210,
+sunscreen,0,1209,"sunblock,suncream,suntan_lotion"
+doctor,0,1209,
+club_(shape),0,1209,
+tokitarou_(fate),4,1208,tokitarou_(fate/grand_order)
+ooshio_(kancolle),4,1208,ooshio_(kantai_collection)
+kigurumi,0,1208,masker
+cocktail_dress,0,1208,
+yellow_pupils,0,1207,
+soup,0,1207,
+sasaki_chie,4,1207,
+no_gloves,0,1207,
+nearly_naked_apron,0,1207,nearly_nude_apron
+nanakusa_suzuna,1,1207,nanakusa_nazuna
+kimono_pull,0,1207,
+beidou_(genshin_impact),4,1207,hokuto_(genshin_impact)
+teamwork,0,1206,
+shokugeki_no_souma,3,1206,"food_wars!,shokugeki_no_soma"
+skull_mask,0,1205,
+shortstack,0,1205,short_stack
+sex_machine,0,1205,dildo_machine
+sailor_mercury,4,1205,
+orange_neckerchief,0,1205,
+curry_rice,0,1205,
+aqua_panties,0,1205,
+playstation_controller,0,1204,
+mitsumoto_jouji,1,1204,mitsumoto
+kagamihara_nadeshiko,4,1204,
+honebami_toushirou,4,1204,
+sheya,1,1203,
+lace-trimmed_skirt,0,1203,
+koruri,1,1203,
+kimi_kiss,3,1203,kimikiss
+kasumi_(skchkko),1,1203,
+hoshino_fumina,4,1203,
+flashback,0,1203,
+flash,5,1203,
+colorado_(kancolle),4,1203,colorado_(kantai_collection)
+slap_mark,0,1202,spank_mark
+ryona,0,1202,
+pants_rolled_up,0,1201,"rolled-up_pants,rolled_pants_legs"
+misaki_kurehito,1,1201,
+kirijou_mitsuru,4,1201,"mitsuru_kirijou,mitsuru_kirijyo"
+gofu,1,1201,
+odd_one_out,0,1200,
+metal_gear_solid,3,1200,
+hop_(pokemon),4,1200,
+duffel_coat,0,1200,
+dark_penis,0,1200,black_cock
+no_game_no_life,3,1199,
+gweda,1,1199,gwegwe
+stroking_own_chin,0,1198,"chin_stroking,stroking_chin"
+pravda_school_uniform,0,1198,
+mery_(yangmalgage),1,1198,"apfl0515,mery_(apfl0515)"
+stepped_on,0,1197,stepping_on_person
+sonya_(kill_me_baby),4,1197,
+richelieu_(kancolle),4,1197,richelieu_(kantai_collection)
+impossible_swimsuit,0,1197,
+silica,4,1196,
+kousaka_reina,4,1196,
+green_bodysuit,0,1196,
+unya,1,1195,
+teruterubouzu,0,1195,rain_doll
+athletic_leotard,0,1195,"ballet_leotard,gymnast_leotard"
+teireida_mai,4,1194,
+shiny_legwear,0,1194,
+pokemon_sv,3,1194,"pokemon_scarlet,pokemon_violet"
+goma_(gomasamune),1,1194,gomasamune
+dust_cloud,0,1194,
+decensored,5,1194,descensored
+tohsaka_tokiomi,4,1193,toosaka_tokiomi
+turtleneck_leotard,0,1192,
+robin_(fire_emblem)_(male),4,1192,male_my_unit_(fire_emblem:_kakusei)
+real_world_location,0,1192,
+pie,0,1192,
+peeping,0,1192,spying
+caren_hortensia,4,1192,"caren_ortensia,karen_ortensia"
+warhammer_40k,3,1191,
+sausage,0,1191,
+grey_bikini,0,1191,"gray_bikini,grey_bikini_bottom,grey_bikini_top"
+bulbasaur,4,1191,
+sona_(league_of_legends),4,1190,sona_buvelle
+plaid_neckwear,0,1190,"plaid_bowtie,plaid_necktie"
+papakha,0,1190,
+molten_rock,0,1190,"lava,magma"
+maebara_keiichi,4,1190,
+koto_inari,1,1190,inari_(flandoll-scarlet-devil)
+nagi_(kannagi),4,1189,nagi
+girlfriend_(kari),3,1189,
+burnt_clothes,0,1189,burned_clothes
+brown_bikini,0,1189,
+bad_nijie_id,5,1189,
+utano,1,1188,
+sobble,4,1188,
+ranni_the_witch,4,1188,
+kero,4,1188,
+tomoeda_elementary_school_uniform,0,1187,
+gathers,0,1187,
+furutani_himawari,4,1187,furuya_himawari
+bartender,0,1187,
+midare_toushirou,4,1186,
+daidouji_tomoyo,4,1186,
+alpaca_suri_(kemono_friends),4,1186,alpaca_suri
+wiping_face,0,1185,
+sick,0,1185,
+shirobako,3,1185,white_box
+purple_capelet,0,1185,
+mawaru_penguindrum,3,1185,
+harp,0,1185,
+fingering_through_clothes,0,1185,
+wading_pool,0,1184,"inflatable_pool,kiddie_pool,wadingpool"
+kudamaki_tsukasa,4,1184,
+deerstalker,0,1184,
+christmas_lights,0,1184,
+short_sidetail,0,1183,
+dead_or_alive_5,3,1183,
+busou_shinki,3,1183,
+snivy,4,1182,
+slime_(genshin_impact),4,1182,
+meito_(maze),1,1182,mayooooon
+flustered,0,1182,
+cellphone_picture,0,1182,
+bath_yukata,0,1182,
+watermelon_bar,0,1181,suika_bar
+sunflower_hair_ornament,0,1181,
+amanogawa_kirara,4,1181,
+tent,0,1180,
+mismatched_pubic_hair,0,1180,
+kanabou,0,1180,kanabo
+eurasian_eagle_owl_(kemono_friends),4,1179,
+carrying_person,0,1179,person_carrying
+acrylic_paint_(medium),0,1179,acrylic_paint
+sensei_(blue_archive),4,1178,
+hand_on_lap,0,1178,
+excalibur_morgan_(fate),0,1178,"dark_excalibur,excalibur_morgan"
+angel_and_devil,0,1178,
+yomu_(sgt_epper),1,1177,tani_(sgt_epper)
+two-tone_legwear,0,1177,
+ikuchan_kaoru,1,1177,"iku_(ikuchan_kaoru),shiroinuchikusyo"
+futaba_channel,3,1177,"2chan,futaba"
+fake_mustache,0,1177,"fake_moustache,mustached_girl"
+yopparai_oni,1,1176,
+striped_sweater,0,1176,
+ladybug,0,1176,
+naegi_makoto,4,1175,
+ta-class_battleship,4,1174,ta-class_(kantai_collection)
+split_screen,0,1174,
+twitter_logo,0,1173,
+zen_(kamuro),1,1172,"suezen,zen"
+wheelchair,0,1171,
+suspended_congress,0,1171,
+holographic_interface,0,1171,
+dot_mouth,0,1171,
+da_capo,3,1171,
+asymmetrical_horns,0,1171,
+wig,0,1170,
+naked_bandage,0,1170,nude_bandage
+milking_machine,0,1169,
+dissidia_final_fantasy,3,1169,dissidia
+sandals_removed,0,1168,
+medea_(fate),4,1168,caster
+himura_kiseki,1,1168,
+hawaiian_shirt,0,1168,aloha_shirt
+year_of_the_rat,0,1167,
+yabuki_kentarou,1,1167,
+super_robot_wars_original_generation,3,1167,
+oyashio_(kancolle),4,1167,oyashio_(kantai_collection)
+oikawa_shizuku,4,1167,
+magical_mirai_(vocaloid),3,1167,
+inset,0,1167,
+fireplace,0,1167,
+ciel_(tsukihime),4,1167,
+butterfly_on_hand,0,1167,butterfly_on_finger
+blue_collar,0,1167,
+winged_footwear,0,1166,"winged_boots,winged_shoes"
+two-sided_cape,0,1166,
+shimada_fumikane,1,1166,shimada_humikane
+masukuza_j,1,1166,
+cheek_bulge,0,1166,bulging_cheeks
+ribbed_leotard,0,1165,
+pyrokinesis,0,1165,fire_magic
+karukan_(monjya),1,1163,
+blender_(medium),5,1163,
+tiered_tray,0,1162,
+pink_pupils,0,1162,
+living_clothes,0,1162,
+leg_armor,0,1162,
+emoji,0,1162,
+ema,0,1162,
+turning_head,0,1161,
+tulip,0,1161,tulips
+spoken_character,0,1161,spoken_person
+sparkler,0,1161,sparklers
+rook_(chess),0,1161,
+pipimi,4,1161,
+on_bench,0,1161,
+nekopara,3,1161,
+nahida_(genshin_impact),4,1161,kusanali_(genshin_impact)
+machine,0,1161,machines
+fake_wings,0,1161,faux_wings
+animal_hug,0,1161,
+on_vehicle,0,1160,on_car
+native_american,0,1160,
+tempura,0,1159,
+ru-class_battleship,4,1159,
+open_robe,0,1159,
+digimon_adventure,3,1159,digimon_adventures
+chitose_(kancolle),4,1159,chitose_(kantai_collection)
+cheek_squash,0,1159,
+ankh,0,1159,
+sidelighting,0,1158,
+seishun_buta_yarou,3,1158,"aobuta,rascal_does_not_dream_of_bunny_girl_senpai"
+pasta,0,1158,
+giving_up_the_ghost,0,1158,
+final_fantasy_xii,3,1158,"ff12,ffxii"
+yunamaro,1,1157,
+yellow_bodysuit,0,1156,
+va-11_hall-a,3,1156,
+sekai_seifuku:_bouryaku_no_zvezda,3,1156,world_conquest_zvezda_plot
+kamiyama_high_school_uniform_(hyouka),0,1156,kamiyama_high_school_uniform
+hands_on_another's_cheeks,0,1156,
+uvula,0,1155,
+crate,0,1155,crates
+tengu,0,1154,
+igarashi_futaba_(shiromanta),4,1154,
+bruise_on_face,0,1154,
+monika_(doki_doki_literature_club),4,1153,
+ferris_wheel,0,1153,
+denji_(chainsaw_man),4,1153,
+asamura_hiori,1,1153,asamura_hio
+single_fingerless_glove,0,1152,
+jjune,1,1152,
+irys_(hololive),4,1152,
+anila_(granblue_fantasy),4,1152,anira_(granblue_fantasy)
+torn_scarf,0,1151,
+sento_isuzu,4,1151,
+large_testicles,0,1151,
+cum_on_self,0,1151,
+baltimore_(azur_lane),4,1151,
+fake_antlers,0,1150,
+potato,0,1149,potatoes
+opening_door,0,1149,
+kanroji_mitsuri,4,1149,kanroji_matsuri
+dairi,1,1149,
+belt_boots,0,1149,buckled_boots
+kururugi_suzaku,4,1148,
+hooded_track_jacket,0,1148,
+constellation_print,0,1148,
+black_leggings,0,1148,
+kesa,0,1147,
+iphone,0,1147,
+cum_on_hands,0,1147,cum_in_hands
+pink_coat,0,1146,
+full-length_zipper,0,1146,full_length_zipper
+fountain,0,1146,
+sword_art_online:_alicization,3,1145,sword_art_online_alicization
+open_belt,0,1145,"unbuckled_belt,undone_belt"
+laser,0,1145,laser_beam
+champion_uniform,0,1145,
+assam_(girls_und_panzer),4,1145,assam
+art_brush,0,1145,
+two-tone_hairband,0,1144,
+snail,0,1144,
+ramchi,1,1144,
+penis_size_difference,0,1144,
+leather_boots,0,1144,
+black_wristband,0,1144,
+aqua_headwear,0,1144,aqua_hat
+abe_nana,4,1144,
+through_wall,0,1143,"stuck_in_wall,wall_stuck"
+see-through_skirt,0,1143,transparent_skirt
+nanatsu_no_taizai,3,1143,the_seven_deadly_sins_(series)
+large_wings,0,1143,
+chest_of_drawers,0,1143,dresser
+stitched_face,0,1142,
+hitting,0,1142,
+arm_blade,0,1142,
+alpaca_ears,0,1142,
+nisekoi,3,1141,
+load_bearing_vest,0,1141,
+kagami_hirotaka,1,1141,"kagami,utility_pole_spirit"
+saniwa_(touken_ranbu),4,1140,
+crystal_hair,0,1140,
+zeta_(granblue_fantasy),4,1139,
+tensei_shitara_slime_datta_ken,3,1139,that_time_i_got_reincarnated_as_a_slime
+shantae,4,1139,shantae_(character)
+asutora,1,1139,
+wraith_(apex_legends),4,1138,
+shidare_hotaru,4,1138,
+seele_vollerei,4,1138,
+candy_hair_ornament,0,1138,
+bubukka,1,1138,
+neckwear_grab,0,1137,
+m16a1_(girls'_frontline),4,1137,m16a1_(girls_frontline)
+ipod,0,1137,
+honeycomb_(pattern),0,1137,
+holding_pillow,0,1137,
+tropical-rouge!_precure,3,1136,
+swd3e2,1,1136,
+ryuuko_no_ken,3,1136,art_of_fighting
+modeus_(helltaker),4,1136,
+behind_another,0,1136,
+kusanagi_motoko,4,1135,
+bus_stop,0,1135,busstop
+brown_panties,0,1135,
+breast_expansion,0,1135,
+white_mage,4,1134,
+gladion_(pokemon),4,1134,gladio_(pokemon)
+ballerina,0,1134,
+voyeurism,0,1133,voyeur
+tanaka_kusao,1,1133,
+hooded_cardigan,0,1133,
+cum_on_penis,0,1133,
+bow_earrings,0,1133,
+bishop_(chess),0,1133,
+aa_megami-sama,3,1133,"ah_my_goddess,oh_my_goddess"
+tima,1,1132,
+nagatoro_hayase,4,1132,nagatoro
+headwear_request,5,1132,headwear
+boruto:_naruto_next_generations,3,1132,
+they_had_lots_of_sex_afterwards_(meme),0,1131,they_had_lots_of_sex_afterwards
+hand_on_shoulder,0,1131,
+green_(pokemon),4,1131,blue_(pokemon_special)
+plate_armor,0,1130,
+park,0,1130,
+leopard_tail,0,1130,
+kid_icarus_uprising,3,1130,
+james_(pokemon),4,1130,kojirou_(pokemon)
+fairy_knight_tristan_(fate),4,1130,"baobhan_sith_(fate),tristan_(fairy_knight)_(fate)"
+theft,0,1129,stealing
+nikorashi-ka,1,1129,
+chalk,0,1129,
+anilingus,0,1129,"analingus,annilingus,rimjob"
+world_trigger,3,1128,
+rydia_(ff4),4,1128,rydia
+kamille_(vcx68),1,1128,
+artoria_pendragon_(alter_swimsuit_rider)_(second_ascension)_(fate),4,1128,
+wrestling_ring,0,1127,
+urushihara_satoshi,1,1127,
+super_sentai,3,1127,
+optionaltypo,1,1127,"optional_typo,typo_(requiemdusk)"
+mikuma_(kancolle),4,1127,mikuma_(kantai_collection)
+marie_(girls_und_panzer),4,1127,
+check_copyright,5,1127,
+utensil_in_mouth,0,1126,"fork_in_mouth,spoon_in_mouth"
+hands_on_ass,0,1126,
+gym,0,1126,gymnasium
+dream_c_club_(series),3,1126,
+lizard_tail,0,1125,salamander_tail
+i-26_(kancolle),4,1125,"i-26_(kantai_collection),nimu_(kantai_collection)"
+battle_axe,0,1125,
+waero,1,1124,
+ready_to_draw,0,1124,
+newhalf,0,1124,shemale
+grey_ribbon,0,1124,
+fur-trimmed_cloak,0,1124,
+bikesuit,0,1124,"bike_suit,biker_suit"
+yukinoshita_yukino,4,1123,
+vibrator_in_thighhighs,0,1123,
+silver_trim,0,1123,
+meow_(nekodenki),1,1123,
+kuromiya,1,1123,
+kohaku_(tsukihime),4,1123,
+flashlight,0,1123,
+emperor_penguin_(kemono_friends),4,1123,
+yuigahama_yui,4,1122,
+orange_panties,0,1122,
+monster_hunter_rise,3,1122,
+laundry,0,1122,
+island,0,1122,
+heartbeat,0,1122,
+chikuma_(kancolle),4,1122,chikuma_(kantai_collection)
+suzuki_toto,1,1121,
+dandon_fuga,1,1121,
+bow_(music),0,1121,"bow_(instrument),bow_(musical),violin_bow"
+lettuce,0,1120,
+kamado_tanjirou,4,1120,
+hair_ears,0,1120,
+victor_(pokemon),4,1119,"henry_sword,male_protagonist_(pokemon_swsh),male_protagonist_(pokemon_swsh),masaru_(pokemon)"
+touhoku_kiritan,4,1119,
+minami-ke,3,1119,minamike
+kitasan_black_(umamusume),4,1119,
+ketchup,0,1119,
+furrification,0,1119,
+dark_aura,0,1119,
+ammunition_belt,0,1119,ammo_belt
+zara_(azur_lane),4,1118,
+unicorn,0,1118,
+uchikake,0,1118,wedding_kimono
+makai_senki_disgaea,3,1118,disgaea_1
+hoshino_(blue_archive),4,1118,
+archery,0,1118,
+tsuruya,4,1117,
+fumizuki_(kancolle),4,1117,fumizuki_(kantai_collection)
+asagumo_(kancolle),4,1117,asagumo_(kantai_collection)
+aoshima,1,1117,
+yui_(angel_beats!),4,1116,
+isshiki_(ffmania7),1,1116,ffmania7
+hatsukaze_(kancolle),4,1116,hatsukaze_(kantai_collection)
+final_fantasy_xiii,3,1116,"ff13,ffxiii"
+petals_on_liquid,0,1115,"petals_on_water,rose_petal_bath"
+jaguar_(kemono_friends),4,1115,
+dorohedoro,3,1115,
+disgust,0,1115,disgusted
+beatmania_iidx,3,1115,
+sideways,0,1114,
+minamoto_sakura,4,1114,
+hatsushimo_(kancolle),4,1114,hatsushimo_(kantai_collection)
+haniyasushin_keiki,4,1114,
+fuuin_no_tsue,0,1114,
+bai_lao_shu,1,1114,
+mismatched_sleeves,0,1113,
+ikeuchi_tanuma,1,1113,
+.hack//,3,1113,.hack
+huang_baoling,4,1112,paolin_huan
+frankenstein's_monster_(fate),4,1112,
+digitigrade,0,1112,
+bat_ears,0,1112,
+weapon_request,5,1111,
+selen_tatsuki,4,1111,
+red_oni,0,1111,
+motherly,0,1111,
+satin,0,1110,
+sakuramon,0,1110,
+triangle_print,0,1109,
+shuffle!,3,1109,shuffle
+ruler,0,1109,
+cropped_shoulders,0,1109,
+konohagakure_symbol,0,1108,
+slayers,3,1107,
+nu-13,4,1107,"nu_(blazblue),v-13"
+marvel_cinematic_universe,3,1107,
+grimoire,0,1107,
+greyscale_with_colored_background,0,1107,
+boo_(mario),4,1107,boo
+shards,0,1106,
+overcast,0,1106,
+orange_fur,0,1106,
+lace-trimmed_gloves,0,1106,
+hidefu_kitayan,1,1106,hidehukitayan
+hickey,0,1106,
+orange_pantyhose,0,1105,
+namori,1,1105,
+momozono_love,4,1105,
+kazenokaze,1,1105,
+akitsuki_karasu,1,1105,"karasu_(karasu1919),shuugetsu_karasu"
+soda_bottle,0,1104,coke_bottle
+riding_pokemon,0,1104,
+pod_(nier_automata),4,1104,
+gift_bag,0,1104,
+fiery_horns,0,1104,fire_horns
+commander_(girls'_frontline),4,1104,"commander_(girls_frontline),shikikan_(girls_frontline)"
+queen_(chess),0,1103,
+noai_nioshi,1,1103,
+mizuno_ai,4,1102,
+hakui_koyori,4,1102,
+boudica_(fate),4,1102,boudica_(fate/grand_order)
+yin_(darker_than_black),4,1101,
+sailor_venus,4,1101,
+ootachi,0,1101,"nodachi,oodachi"
+french_text,0,1101,french
+yukito_(dreamrider),1,1100,
+off-shoulder_bikini,0,1100,
+green_sleeves,0,1100,
+evangelion:_3.0+1.0_thrice_upon_a_time,3,1100,
+drum_(container),0,1100,"metal_drum,oil_barrel,oil_drum"
+cactus,0,1100,
+spacezin,1,1099,space_jin
+oven_mitts,0,1099,"oven_mitt,oven_mittens"
+oryo_(oryo04),1,1099,oryou
+implied_yuri,0,1099,
+iizuki_tasuku,1,1099,tasuku_iizuki
+gradient_legwear,0,1099,"gradient_kneehighs,gradient_leggings,gradient_pantyhose,gradient_socks,gradient_thighhighs"
+gakkou_gurashi!,3,1099,school-live!
+futa_on_male,0,1098,
+lalafell,0,1097,
+izumi-no-kami_kanesada,4,1097,
+grey_sleeves,0,1097,
+eyewear_strap,0,1097,"eyewear_chain,glasses_chain"
+torpedo_launcher,0,1096,
+satou_kibi,1,1096,satoukibi
+kawashima_momo,4,1096,
+closers,3,1096,
+blue_armor,0,1096,
+round_window,0,1095,
+legs_over_head,0,1095,
+shirt_grab,0,1094,
+ribbon-trimmed_dress,0,1094,
+guiding_hand,0,1094,
+cat_day,0,1094,
+blend_s,3,1094,
+ballet_slippers,0,1093,"ballet_shoes,pointe_shoes"
+bad_food,0,1093,food_of_doom
+littorio_(kancolle),4,1092,littorio_(kantai_collection)
+archived_source,5,1092,
+vodka_(umamusume),4,1091,
+vaulting_horse,0,1091,tobibako
+luggage,0,1091,
+battle_rifle,0,1091,
+back_focus,0,1091,
+torn_jeans,0,1090,
+rising_sun,0,1090,
+pink_pantyhose,0,1090,
+mechanical_ears,0,1090,
+ichigo_mashimaro,3,1090,"ichigomashimaro,strawberry_marshmallow"
+eyebrow_cut,0,1090,scar_through_eyebrow
+adjusting_legwear,0,1090,"adjusting_pantyhose,adjusting_thighhigh,adjusting_thighhighs"
+yanfei_(genshin_impact),4,1089,
+test_plugsuit,0,1089,
+striped_one-piece_swimsuit,0,1089,striped_swimsuit
+niijima_makoto,4,1089,
+moisture_(chichi),1,1089,
+holding_water_gun,0,1089,
+enkidu_(fate),4,1089,enkidu_(fate/strange_fake)
+comparison,0,1089,
+yoshi_tama,1,1088,
+stuffed_winged_unicorn,0,1088,stuffed_alicorn
+rance_(series),3,1088,
+low_neckline,0,1088,
+high_priest_(ragnarok_online),4,1088,
+akairiot,1,1088,
+abuse,0,1088,
+yamashita_shun'ya,1,1087,"shunya_yamashita,yamashita_shunya"
+sundae,0,1087,
+shared_bathing,0,1087,"2girls1tub,shared_bathtub"
+rias_gremory,4,1087,
+g_gundam,3,1087,g-gundam
+coffin,0,1087,
+upshorts,0,1086,
+toilet_use,0,1086,using_toilet
+nemoto_hina,4,1086,
+multiple_monochrome,0,1086,
+dream_c_club,3,1086,dream_club
+consensual_tentacles,0,1086,consentacles
+compass_rose_halo,0,1086,
+squirtle,4,1085,
+soap_censor,0,1085,censor_soap
+minamoto_no_raikou_(swimsuit_lancer)_(fate),4,1085,
+flock,0,1085,
+weight_conscious,0,1084,
+tsukuyomi_shirabe,4,1084,
+title_parody,0,1084,
+chat_log,0,1084,
+berserker_(fate/zero),4,1084,
+tharja_(fire_emblem),4,1083,"sarja,tharja"
+knees_apart_feet_together,0,1083,
+honey,0,1083,
+boar,0,1083,boars
+bird_mask,0,1083,
+strap_lift,0,1082,
+karakai_jouzu_no_takagi-san,3,1082,teasing_master_takagi-san
+armin_arlert,4,1082,armin_arelet
+shiina_yuika,4,1081,
+salaryman,0,1081,"businessman,office_man,salary_man"
+patterned,0,1081,pattern
+fubuki_(one-punch_man),4,1081,"fubuki_(onepunch_man),hellish_blizzard"
+climbing,0,1081,
+yamashiro_(azur_lane),4,1080,
+slaine_troyard,4,1080,
+shell_bikini,0,1080,"seashell_bikini,seashell_bra,shell_bra"
+passionlip_(fate),4,1080,"passion_lip,passionlip"
+non_non_biyori,3,1080,
+kako_(kancolle),4,1080,kako_(kantai_collection)
+dumbbell,0,1080,
+buruma_pull,0,1080,burumapull
+liquid_hair,0,1079,water_hair
+holding_balloon,0,1079,
+guido_mista,4,1079,
+chimney,0,1079,
+6_(yuchae),1,1079,"nagato123,six_(fnrptal1010)"
+tanzaku,0,1078,
+shihouin_yoruichi,4,1078,
+leona_heidern,4,1078,
+heart-shaped_lock,0,1078,
+covering_ass,0,1078,
+sailor_mars,4,1077,
+hawks_(boku_no_hero_academia),4,1077,takami_keigo
+fubuki_kai_ni_(kancolle),4,1077,
+collared_coat,0,1077,
+ammunition,0,1077,ammo
+tokimeki_memorial,3,1076,
+tamaki_iroha,4,1076,
+split_ponytail,0,1076,
+pixiv,3,1076,
+pennant,0,1076,
+haru_urara_(umamusume),4,1076,
+doitsuken,1,1076,
+clog_sandals,0,1076,
+watatsuki_no_toyohime,4,1075,
+user_interface,0,1075,
+red_neckwear,0,1075,"red_ascot,red_bowtie,red_neckerchief,red_necktie"
+nowaki_(kancolle),4,1075,nowaki_(kantai_collection)
+mask_around_neck,0,1075,
+lucas_(pokemon),4,1075,"diamond_(pokemon),kouki_(pokemon)"
+keizoku_military_uniform,0,1075,
+butterfly_net,0,1075,bug_net
+aestus_estus,0,1075,
+wall_of_text,0,1074,
+low_tied_hair,0,1074,
+hayasui_(kancolle),4,1074,hayasui_(kantai_collection)
+chocolate_on_breasts,0,1074,
+yuuki_yuuna_wa_yuusha_de_aru,3,1073,"yuki_yuna_is_a_hero,yuyuyu"
+weighing_scale,0,1073,"weighing_scales,weight_scale"
+rita_rossweisse,4,1073,
+odin_sphere,3,1073,
+mouth_pull,0,1073,
+lycoris_uniform,0,1073,
+drawing_sword,0,1073,
+steering_wheel,0,1072,
+gradient_clothes,0,1072,
+anchor_print,0,1072,
+kitchen_knife,0,1071,
+swim_cap,0,1070,"swimcap,swimming_cap"
+saunders_military_uniform,0,1070,
+mechanical_hands,0,1070,
+luigi,4,1070,
+looking_at_breasts,0,1070,staring_at_breasts
+glowing_wings,0,1070,
+cure_sunshine,4,1070,
+b-ginga,1,1070,"bodimahattayaougaki,body_mahattaya_ginga"
+zara_(kancolle),4,1069,zara_(kantai_collection)
+spoken_object,0,1069,
+pharah_(overwatch),4,1069,fareeha_amari
+hoshizuki_(seigetsu),1,1069,"hoshizuki_(seigetu),seigetu"
+birthmark,0,1069,
+xuangzang_sanzang_(fate),4,1068,xuanzang_(fate/grand_order)
+torn_swimsuit,0,1068,
+lpip,1,1068,lp_(hamasa00)
+ginkgo_leaf,0,1068,
+dark_green_hair,0,1068,
+cooler,0,1068,"cool_box,ice_box"
+champagne,0,1068,
+c:,0,1068,
+back-print_panties,0,1068,
+ass_support,0,1068,
+ashford_academy_uniform,0,1068,
+washing,0,1067,
+uncommon_stimulation,0,1067,
+screwdriver,0,1067,screw_driver
+hoshimiya_ichigo,4,1067,
+castlevania,3,1067,akumajou_dracula
+cait_aron,1,1067,cait
+spreader_bar,0,1066,spread_bar
+onbashira,0,1066,
+karna_(fate),4,1066,"karna_(fate/extra_ccc),lancer_of_red,launcher_(fate/extra_ccc)"
+dice_hair_ornament,0,1066,
+iris_(pokemon),4,1065,
+cum_on_pussy,0,1065,
+reindeer,0,1064,
+pinching_sleeves,0,1064,sleeve_hold
+legs_folded,0,1064,
+light_censor,0,1063,
+hanetsuki,0,1063,
+striped_horns,0,1062,
+decepticon,0,1062,
+bow_choker,0,1062,
+pouty_lips,0,1061,
+no_lineart,0,1061,"lineless,no_line-art"
+jimiko,0,1061,
+irida_(pokemon),4,1061,
+button_eyes,0,1061,
+anal_hair,0,1061,
+princess_daisy,4,1060,
+violet_evergarden_(series),3,1059,violet_evergarden
+master_sword,0,1059,
+horse_penis,0,1059,"horse_cock,horsecock"
+fukuzawa_yumi,4,1059,
+fish_print,0,1059,
+uryuu_ryuunosuke,4,1058,
+nakamura_yuri,4,1058,yuri_(angel_beats!)
+mahou_shoujo_ikusei_keikaku,3,1058,"magical_girl_raising_project,mahoiku"
+torn_leotard,0,1056,
+nata_(tool),0,1056,"hatchet_(oriental),oriental_hatchet"
+haro,4,1056,
+cure_beauty,4,1056,
+carpaccio_(girls_und_panzer),4,1056,carpaccio
+candy_wrapper,0,1056,
+tearing_clothes,0,1055,
+phallic_symbol,0,1055,phallic_object
+oribe_yasuna,4,1055,
+k/da_(league_of_legends),0,1055,kda
+drum_set,0,1055,drum_kit
+bow_legwear,0,1055,bow_thighhighs
+borrowed_design,0,1055,borrowed_costume
+pink_wings,0,1054,
+mikeou,1,1054,
+alternate_language,5,1054,
+morning_glory,0,1053,
+kyouka_(princess_connect!),4,1053,hikawa_kyouka
+joutouguu_mayumi,4,1053,
+tennis_ball,0,1052,
+holding_game_controller,0,1052,
+ashido_mina,4,1052,pinky_(boku_no_hero_academia)
+angel_(kof),4,1052,angel_(king_of_fighters)
+yukie_(kusaka_shi),1,1051,
+picnic,0,1051,
+orange-tinted_eyewear,0,1051,
+lighter,0,1051,
+beans,0,1051,bean
+arrow_through_heart,0,1051,
+sabrina_(pokemon),4,1050,natsume_(pokemon)
+eu03,1,1050,ouendan_(artist)
+dropping,0,1050,
+caenis_(fate),4,1049,lancer_(lostbelt)
+sky-freedom,1,1048,sky_(freedom)
+oyari_ashito,1,1048,ooyari_ashito
+medb_(fate),4,1048,"medb_(fate)_(all),medb_(fate/grand_order)"
+katou_asuka,4,1048,
+hizaka,1,1048,
+fume,0,1048,
+blue_tongue,0,1048,
+blade_&_soul,3,1048,blade_and_soul
+arisu_(blue_archive),4,1048,
+aria_company_uniform,0,1048,
+3others,0,1048,
+purple_fire,0,1047,purple_flame
+"don't_say_""lazy""",0,1047,don't_say_lazy
+clothes,0,1047,
+bede_(pokemon),4,1047,beet_(pokemon)
+wrinkled_skin,0,1046,wrinkles
+sword_behind_back,0,1046,
+reines_el-melloi_archisorte,4,1046,
+puppet_strings,0,1046,puppet_string
+america_(hetalia),4,1046,
+sanji_(one_piece),4,1045,sanji
+kuavera,1,1045,
+johnston_(kancolle),4,1045,johnston_(kantai_collection)
+fake_cover,0,1045,
+cum_in_clothes,0,1045,"cum_inside_clothes,cum_inside_thighhigh,cum_under_clothes"
+breastfeeding,0,1045,"breast_feed,breast_feeding,suckle"
+ange_katrina,4,1045,
+wakizashi,0,1044,
+uchuu_senkan_yamato,3,1044,"space_battleship_yamato,star_blazers"
+squidbeak_splatoon,0,1044,agent_3
+medjed_(fate),4,1044,medjed
+galaxy_expedition_team_survey_corps_uniform,0,1044,
+eve_(elsword),4,1044,
+cum_on_feet,0,1044,
+chi-chi_(dragon_ball),4,1044,chichi
+brown_bodysuit,0,1044,
+azura_(fire_emblem),4,1044,"aqua_(fire_emblem_if),azura_(fire_emblem_fates)"
+kashino_(azur_lane),4,1043,
+gurande_(g-size),1,1043,
+doily,0,1043,
+artificial_eye,0,1043,
+umbreon,4,1042,
+cutting_board,0,1042,chopping_board
+bicorne,0,1042,bicorne_hat
+ama_mitsuki,1,1042,
+cyndaquil,4,1041,
+yuuki_mikan,4,1040,
+magical_mirai_miku,4,1040,magimirai_miku
+guitar_case,0,1040,
+angora_rabbit,0,1040,
+yuzuki_choco,4,1039,
+tricorne,0,1039,tricorne_hat
+tomoe_hotaru,4,1039,
+rachel_alucard,4,1039,
+holding_legs,0,1039,
+brown_bowtie,0,1039,
+reze_(chainsaw_man),4,1038,
+loungewear,0,1038,
+heart_button,0,1038,heart-shaped_buttons
+fishnet_top,0,1038,
+dusk_(arknights),4,1038,
+bus,0,1038,
+suzuhara_lulu,4,1037,
+strawberry_hair_ornament,0,1037,
+pill_earrings,0,1037,
+mole_above_mouth,0,1037,
+hooded_robe,0,1037,
+hairjob,0,1037,
+comforting,0,1037,consoling
+pearl_bracelet,0,1036,
+fishnet_gloves,0,1036,
+duster,0,1036,
+detexted,5,1036,
+brown_socks,0,1036,brown_kneehighs
+very_long_sleeves,0,1035,
+rex_(xenoblade),4,1035,
+hisakawa_hayate,4,1035,
+cure_blossom,4,1035,
+colonel_aki,1,1035,
+thai_text,0,1034,thai
+sylveon,4,1034,
+newtype,3,1034,
+mochizuki_(kancolle),4,1034,mochizuki_(kantai_collection)
+hand_on_forehead,0,1034,
+yoshio_(55level),1,1033,55level
+party_popper,0,1033,confetti_popper
+key_visual,5,1033,
+combat_boots,0,1033,
+awa,1,1033,
+yellow_apron,0,1032,
+training_bra,0,1032,
+shironeko_project,3,1032,
+grocery_bag,0,1032,
+aquarion_(series),3,1032,
+survey_corps_(emblem),0,1031,
+puckered_anus,0,1031,
+pink_hakama,0,1031,
+forked_tongue,0,1031,snake_tongue
+cheek_press,0,1031,cheek_rub
+plaid_jacket,0,1030,
+millia_rage,4,1030,
+holding_baseball_bat,0,1030,holding_bat_(baseball)
+hand_to_head,0,1030,
+elira_pendora,4,1030,
+telescope,0,1029,
+subaru_nakajima,4,1029,nakajima_subaru
+sleeveless_turtleneck_leotard,0,1029,
+scaramouche_(genshin_impact),4,1029,
+licking_another's_face,0,1029,"face_lick,face_licking,licking_face"
+ban!_(bansankan),1,1029,ban
+after_rape,0,1029,
+tsunade_(naruto),4,1028,tsunade
+smokestack_hair_ornament,0,1028,
+katou_megumi,4,1028,
+imminent_anal,0,1028,
+shichimenchou,1,1027,"shitimentyou,sitimenchou"
+jumpy_dumpty,4,1027,
+summer_festival,0,1026,
+headless,0,1026,
+detective,0,1026,
+miyamizu_mitsuha,4,1025,
+inuyama_aoi,4,1025,
+healin'_good_precure,3,1025,"healin_good_precure,healing_good_precure"
+bored,0,1025,
+asteroid_ill,1,1025,asuteroid
+grey_neckerchief,0,1024,
+eroe,1,1024,
+soda,0,1023,"soft_drink,soft_drink"
+round_image,0,1023,tondo
+chongyun_(genshin_impact),4,1023,chouun_(genshin_impact)
+sharp_toenails,0,1022,
+spit_take,0,1021,
+scathach_(swimsuit_assassin)_(fate),4,1021,
+hisakawa_nagi,4,1021,
+head_down,0,1021,
+erect_clitoris,0,1021,erect_clit
+blue_sclera,0,1021,
+arjuna_(fate),4,1021,arjuna_(fate/grand_order)
+shoulder_strap,0,1020,
+pilot,0,1020,
+kureiji_ollie,4,1020,
+kazanari_tsubasa,4,1020,
+glaceon,4,1020,
+denim_jacket,0,1020,
+camouflage_jacket,0,1020,
+vore,0,1019,
+seo_tatsuya,1,1019,teddy-plaza
+sanageyama_uzu,4,1019,
+messenger_bag,0,1019,
+tonee,1,1018,
+poke_ball_theme,0,1018,
+oohashi_high_school_uniform,0,1018,
+holding_jacket,0,1018,
+eiri_(eirri),1,1018,haipa_okara
+cross_print,0,1018,
+winry_rockbell,4,1017,
+tooth_necklace,0,1017,"fang_necklace,teeth_necklace"
+kazama_iroha,4,1017,
+fkey,1,1017,
+estellise_sidos_heurassein,4,1017,
+brown_cloak,0,1017,
+yarn,0,1016,
+xingqiu_(genshin_impact),4,1016,yukuaki_(genshin_impact)
+tepig,4,1016,
+stealth_sex,0,1016,hidden_sex
+lute_(instrument),0,1016,
+katsuragi_misato,4,1016,
+inui_toko,4,1016,
+hospital_bed,0,1016,
+snack,0,1015,snacks
+kars_(jojo),4,1015,cars_(jojo)
+guided_breast_grab,0,1015,
+grey_nails,0,1015,grey_fingernails
+fate/strange_fake,3,1015,
+egg_hair_ornament,0,1015,
+blue_cloak,0,1015,
+tsurumaki_maki,4,1014,
+necktie_grab,0,1014,"necktie_pull,tie_grab,tiegrab"
+loose_bowtie,0,1014,
+horikawa_kunihiro,4,1014,
+6+others,0,1014,6others
+upshirt,0,1013,
+radiation_symbol,0,1013,"nuclear,nuclear_symbol"
+prehensile_tail,0,1013,
+kos-mos,4,1013,
+hokuto_no_ken,3,1013,fist_of_the_north_star
+grey_belt,0,1013,gray_belt
+campfire,0,1013,
+yin_yang_orb,0,1012,
+tada_riina,4,1012,
+pink_socks,0,1012,pink_kneehighs
+outstretched_leg,0,1012,leg_outstretched
+assassin's_creed_(series),3,1012,
+kongou_kai_ni_(kancolle),4,1011,
+wetsuit,0,1010,
+vertical-striped_pantyhose,0,1010,
+tokino_sora,4,1010,
+liz_to_aoi_tori,3,1010,
+basketball_uniform,0,1010,
+mirai_nikki,3,1009,future_diary
+final_fantasy_vii_advent_children,3,1009,
+bunny-shaped_pupils,0,1009,
+paw_print_background,0,1008,paw_background
+motorcycle_helmet,0,1008,
+kaneki_ken,4,1008,
+extra_mouth,0,1008,
+shuujin_academy_uniform,0,1007,
+nintendo_ds,0,1007,"ds,nds"
+clapping,0,1007,clap
+torn_gloves,0,1006,
+tonfa,0,1006,
+thermometer,0,1006,
+pointy_footwear,0,1006,"curled-toe_shoes,curled_toe_shoes,pointy_boots,pointy_shoes"
+otokuyou,1,1006,"haegiwa,toku_0012,tsunekichi"
+kamikita_komari,4,1006,
+jokanhiyou,1,1006,shangguan_feiying
+mauve,1,1005,
+komaki_manaka,4,1005,
+cis_(carcharias),1,1005,"carcharias!,cercis,makura-ko_(nacoll)"
+the_legend_of_zelda:_a_link_between_worlds,3,1004,a_link_between_worlds
+tantou,0,1004,
+sorceress_(dragon's_crown),4,1004,
+roma_(kancolle),4,1004,roma_(kantai_collection)
+rocket,0,1004,rockets
+popplio,4,1004,
+panzerkampfwagen_iv,0,1004,
+noh_mask,0,1004,
+kishinami_hakuno_(female),4,1004,"female_protagonist_(fate/extra),hakunon_(fate/extra)"
+rabbit_yukine,4,1003,yukine_(vocaloid)
+poster_(medium),0,1003,
+love_live!_school_idol_festival_all_stars,3,1003,
+ice_skates,0,1003,
+diaper,0,1003,
+single_horizontal_stripe,0,1002,
+sakiyamama,1,1002,
+kaijuu,0,1002,kaiju
+hair_flip,0,1002,
+dragalia_lost,3,1002,
+accidental_exposure,0,1002,
+player_2,0,1001,
+nursery_rhyme_(fate),4,1001,nursery_rhyme_(fate/extra)
+mutsuki_(blue_archive),4,1001,
+multiple_braids,0,1001,
+majo_no_tabitabi,3,1001,
+getsuyoubi_no_tawawa,3,1001,
+choufu_shimin,1,1001,
+walkie-talkie,0,1000,walkie_talkie
+st._gloriana's_(emblem),0,1000,
+niconico,3,1000,"nico_nico_douga,nicovideo"
+nanachi_(made_in_abyss),4,1000,
+kotonoha_akane,4,1000,
+charmander,4,1000,
+body_freckles,0,1000,
+red_apron,0,999,
+prinz_eugen_(unfading_smile)_(azur_lane),4,998,
+niichi_(komorebi-palette),1,998,mikkii
+holding_stylus,0,998,
+canvas_(object),0,998,
+belly_grab,0,998,tummy_grab
+asa_no_ha_(pattern),0,998,
+maruki_(punchiki),1,997,punchiki
+hot_dog,0,997,hotdog
+cure_black,4,996,
+crocodilian_tail,0,996,"alligator_tail,crocodile_tail"
+clarisse_(granblue_fantasy),4,996,
+brown_leotard,0,996,
+white_tail,0,995,
+ushiromiya_maria,4,995,
+soul_worker,3,995,
+frisk_(undertale),4,995,
+elezen,0,995,
+bombergirl,3,995,
+under_kotatsu,0,994,
+taimanin_asagi,3,994,
+kitashirakawa_tamako,4,994,
+fantia_reward,5,994,
+rosaria_(genshin_impact),4,993,
+pearl_(splatoon),4,993,hime_(splatoon)
+abigail_williams_(traveling_outfit)_(fate),4,993,
+yellow_leotard,0,992,
+star_of_david,0,992,
+cocktail,0,992,
+albedo_(overlord),4,992,albedo
+akali,4,992,
+sand_sculpture,0,991,
+king_hassan_(fate),4,991,king_hassan_(fate/grand_order)
+kashiwamochi_yomogi,1,991,yomogi
+cowboy_boots,0,991,
+mizunashi_akari,4,990,
+tokyo_ghoul:re,3,989,
+multiple_straps,0,989,
+frog_print,0,989,
+covering_one_eye,0,989,covering_eye
+akkijin,1,989,
+catstudioinc_(punepuni),1,988,catstudio_(artist)
+takagi-san,4,987,
+snake_hair,0,987,"gorgon,medusa"
+sakimichan,1,987,
+marth_(fire_emblem),4,987,marth
+holding_scissors,0,987,
+chan_co,1,987,
+breast_focus,0,987,
+tamamo_cross_(umamusume),4,986,
+rectangular_mouth,0,986,:[]
+in_cup,0,986,girl_in_a_cup
+ib_(ib),4,986,eve_(ib)
+glowing_horns,0,986,
+bulletproof_vest,0,986,kevlar_vest
+broken_weapon,0,986,
+applying_makeup,0,986,putting_on_makeup
+asaya_minoru,1,985,
+ugly_man,0,984,
+tsukumo_sana,4,984,
+ryoji_(nomura_ryouji),1,984,nomura_ryouji
+pentagon_(railgun_ky1206),1,984,
+naked_overalls,0,984,nude_overalls
+looking_at_mirror,0,984,
+kugisaki_nobara,4,984,
+goma_(yoku_yatta_hou_jane),1,984,
+ferry_(granblue_fantasy),4,984,ferri_(granblue_fantasy)
+asian,0,984,
+voice_actor,0,983,"seiyuu,voice_actress"
+serizawa_asahi,4,983,
+rokuwata_tomoe,1,983,
+kazagumo_(kancolle),4,983,kazagumo_(kantai_collection)
+good_end,0,983,
+eyjafjalla_(arknights),4,983,
+embodiment_of_scarlet_devil,3,983,the_embodiment_of_scarlet_devil
+crayon,0,983,crayons
+violet_evergarden,4,982,violet_evergarden_(character)
+suzukaze_aoba,4,982,
+sora_(kingdom_hearts),4,982,
+kooh,4,982,
+goat_girl,0,982,
+fushigi_no_umi_no_nadia,3,982,nadia:_the_secret_of_blue_water
+disney,3,982,
+choujigen_game_neptune,3,982,hyperdimension_neptunia
+mitake_ran,4,981,
+furigana,0,981,
+colored_shadow,0,981,
+arisugawa_natsuha,4,981,
+7010,1,981,
+vampire_costume,0,980,
+maoyuu_maou_yuusha,3,980,"archenemy_and_hero,maoyuu"
+heart_balloon,0,980,
+corn,0,980,maize
+berry,0,980,berries
+troll_face,0,979,trollface
+cure_march,4,979,
+blue_overalls,0,979,
+yuri_plisetsky,4,978,
+red_bag,0,978,red_backpack
+lasterk,1,978,
+king_(chess),0,978,
+trash_bag,0,977,"garbage_bag,garbage_bags,rubbish_bag,rubbish_bags,trash_bags,waste_bag,waste_bags"
+tools,0,977,tool
+off-shoulder_jacket,0,977,
+moogle,4,977,
+hibiki_(blue_archive),4,977,
+gundam_suisei_no_majo,3,977,gundam_the_witch_from_mercury
+bc_freedom_military_uniform,0,977,
+tsukumo_yatsuhashi,4,975,
+taneshima_popura,4,975,taneshima_poplar
+shorts_under_dress,0,975,
+piromizu,1,975,piro_sui
+mahou_tsukai_no_yoru,3,975,
+saiyan_armor,0,974,
+makaino_ririmu,4,974,
+kuchiki_rukia,4,974,
+dildo_riding,0,974,
+bowser,4,974,
+yanyo_(ogino_atsuki),1,973,"ogino_atsuki,yonyo_(yanyanyo)"
+tsushima_(kancolle),4,973,tsushima_(kantai_collection)
+torn_jacket,0,973,
+reins,0,973,
+osaki_amana,4,973,oosaki_amana
+ninja_mask,0,973,
+annin_musou,1,973,
+reiner_braun,4,972,
+momota_kaito,4,972,
+aikatsu_stars!,3,972,
+rotom_phone,4,971,
+lactation_through_clothes,0,971,
+kitazawa_shiho,4,971,
+espeon,4,971,
+eishin_flash_(umamusume),4,971,
+yoroizuka_mizore,4,970,
+uzaki_hana,4,970,
+thighhighs_over_pantyhose,0,970,
+takeba_yukari,4,970,yukari_takeba
+scarf_over_mouth,0,970,
+kuroko_no_basuke,3,970,"kuroko's_basketball,kuroko_no_basket"
+gundam_wing,3,970,
+cure_happy,4,970,
+war,0,969,
+vanishing_point,0,969,
+thread,0,969,threads
+sailor_senshi,0,969,
+odawara_hakone,1,969,
+intrepid_(kancolle),4,969,intrepid_(kantai_collection)
+human_scabbard,0,969,sword_out_of_chest
+easel,0,969,
+akitsushima_(kancolle),4,969,akitsushima_(kantai_collection)
+uchi_no_hime-sama_ga_ichiban_kawaii,3,968,
+telstar,0,968,
+haruna_kai_ni_(kancolle),4,968,
+dudou,0,968,du_dou
+facepalm,0,967,
+hoshikawa_sara,4,966,
+cd,0,966,
+bibi_(tokoyami_towa),4,966,
+bandaged_neck,0,966,
+uccow,1,965,
+nishieda,1,965,
+frogtie,0,965,
+anzio_military_uniform,0,965,
+toast_in_mouth,0,964,
+square_4koma,0,964,
+ink_tank_(splatoon),0,964,
+hoop,0,964,
+duel_academy_uniform_(yu-gi-oh!_gx),0,964,
+calico,0,964,
+zabuton,0,963,seiza_pillow
+vikala_(granblue_fantasy),4,963,
+raphtalia,4,963,
+penises_touching,0,963,penis_touching
+hina_ichigo,4,963,hinaichigo
+green_hakama,0,963,
+wood,0,962,
+traditional_chinese_text,0,961,traditional_chinese
+tateyama_ayano,4,961,
+takanami_(kancolle),4,961,takanami_(kantai_collection)
+manabe_nodoka,4,961,
+heart_o-ring,0,961,heart_ring
+hat_over_one_eye,0,961,
+ear_biting,0,961,ear_bite
+corded_phone,0,961,
+saotome_alto,4,960,
+jill_valentine,4,960,
+drying_hair,0,960,
+bosshi,1,960,askray
+ark_order,3,960,
+alt_text,5,960,source_image_text
+yellow_sash,0,959,
+red_eyeliner,0,959,
+pursed_lips,0,959,
+print_headwear,0,959,print_hat
+million_arthur_(series),3,959,
+lucoa_(maidragon),4,959,quetzalcoatl_(maidragon)
+doukyuusei_another_world,3,959,
+frilled_shorts,0,958,
+eye_of_horus,0,958,"eye_of_wadjet,eye_of_wdjat,eye_of_wedjat"
+blank_stare,0,958,
+yotsuba_alice,4,957,
+ririko_(zhuoyandesailaer),1,957,zhuoyandesailaer
+pet_bowl,0,957,"dog_bowl,food_bowl"
+overall_shorts,0,957,
+onii-chan_wa_oshimai,3,957,
+momo_velia_deviluke,4,957,
+mo_(kireinamo),1,957,
+gomennasai,1,957,
+counter:side,3,957,counter_side
+white_tiger,0,956,
+toilet_paper,0,956,
+socks_removed,0,956,socks_off
+sakazaki_freddy,1,956,
+pornography,0,956,
+multicolored_cape,0,956,
+misumi_(macaroni),1,956,sinsihukunokonaka
+live2d,5,956,
+kino_no_tabi,3,956,kino's_journey
+karina_lyle,4,956,
+griffin_&_kryuger_military_uniform,0,956,
+cum_on_pectorals,0,956,semen_on_pecs
+cevio,3,956,
+x-men,3,955,
+team_rocket_uniform,0,955,
+snowball,0,955,
+screw,0,955,
+kujou_karen,4,955,
+cure_melody,4,955,
+sakuraba_yuuki,1,954,"personal_color,personal_color"
+red_apple,0,954,
+backless_leotard,0,954,
+among_us,3,954,
+under_tree,0,953,
+tentacles_under_clothes,0,953,
+shirayuki_hime,4,953,
+jin_(mugenjin),1,953,jin_(artist)
+araragi_karen,4,953,
+the_legend_of_zelda:_the_wind_waker,3,952,"the_wind_waker,wind_waker"
+raimon_soccer_uniform,0,952,
+pier,0,952,
+kemachiku,1,952,
+huge_bow,0,952,
+folding_chair,0,952,
+benghuai_xueyuan,3,952,"guns_girl_school_dayz,guns_girlz,houkai_gakuen"
+white_snake,0,951,
+rice_on_face,0,951,rice_on_cheek
+nate_(pokemon),4,951,"blake_(pokemon),kyouhei_(pokemon),lack-two_(pokemon),male_protagonist_(pokemon_bw2),male_protagonist_(pokemon_bw2)"
+miss_cloud,4,951,
+meltryllis_(swimsuit_lancer)_(first_ascension)_(fate),4,951,
+mechanical_eye,0,951,cybernetic_eye
+double_vertical_stripe,0,951,
+dark_areolae,0,951,
+bubble_tea_challenge,0,951,tapioca_challenge
+blind,0,951,
+sakurazawa_izumi,1,950,chronolog
+hand_on_another's_leg,0,950,
+from_outside,0,950,
+eto_(ikumika),1,950,eto
+chef_uniform,0,950,
+wiping_sweat,0,949,
+key_necklace,0,949,
+afrobull,1,949,
+sucy_manbavaran,4,948,sucy_manbabalan
+shirow_masamune,1,948,shirou_masamune
+purple_eyeshadow,0,948,
+no_tail,0,948,
+daruma_doll,0,948,
+alice_(alice_in_wonderland)_(cosplay),0,948,
+meowth,4,947,nyarth
+bandolier,0,947,
+transparent_wings,0,946,
+toudou_shimako,4,946,
+purple_belt,0,946,
+obiwan,1,946,
+kayneth_el-melloi_archibald,4,946,kayneth_archibald_el-melloi
+xenogears,3,945,
+tsuruse,1,945,
+footwear_ribbon,0,945,"boot_ribbon,shoe_ribbon"
+tanaka_mamimi,4,944,
+sonoda_chiyoko,4,944,
+setz,1,944,
+keystone,0,944,
+cat_ear_legwear,0,943,cat_band_legwear
+airfield_princess,4,943,airfield_hime
+white_serafuku,0,942,
+tiger_stripes,0,942,
+niwatari_kutaka,4,942,
+japan_(hetalia),4,942,
+ichigo_(darling_in_the_franxx),4,942,
+danua,4,942,
+slashing,0,941,slash
+shopping,0,941,
+sailor_jupiter,4,941,
+non_(z-art),1,941,
+kozakura_marry,4,941,kozakura_mary
+fleur_de_lapin_uniform,0,941,
+voile,0,940,
+shirabi,1,940,
+rtil,1,940,
+purple_scrunchie,0,940,
+pink_pajamas,0,940,
+chrono_trigger,3,940,
+alphonse_elric,4,940,
+samneco,1,939,
+popcorn,0,939,
+pokemon_lgpe,3,939,
+pixiv_fantasia_5,3,939,
+nanodesu_(phrase),0,939,
+musou_isshin_(genshin_impact),0,939,
+katsura_hinagiku,4,939,
+hanten_(clothes),0,939,
+glaive_(polearm),0,939,glaive
+eyewear_hang,0,939,
+multiple_riders,0,938,
+mega_man_zero,3,938,"megaman_zero,rockman_zero"
+hand_on_another's_waist,0,938,
+telekinesis,0,937,
+single_boot,0,937,
+kepi,0,937,
+chewing,0,937,
+aono3,1,937,
+triangle_earrings,0,936,
+skirt_basket,0,936,"dress_basket,dress_carry,skirt_carry"
+shark_costume,0,936,
+saitama_(one-punch_man),4,936,saitama_(onepunch_man)
+kfr,1,936,
+grookey,4,936,
+>o<,0,936,
+wet_dress,0,935,
+satou_yuuki,1,935,
+nanao_naru,1,935,
+hands_on_own_ass,0,935,
+yuuki_setsuna_(love_live!),4,934,
+okazaki_yumemi,4,934,
+holding_fishing_rod,0,934,
+head_on_pillow,0,934,
+floating_island,0,934,
+bbb_(friskuser),1,934,
+akinbo_(hyouka_fuyou),1,934,akinbo_(kyouka_fuyou)
+yellow_pants,0,933,
+tail_piercing,0,933,
+rebecca_(cyberpunk),4,933,rebecca_(cyberpunk_edgerunners)
+koutetsujou_no_kabaneri,3,933,"kabaneri,kabaneri_of_the_iron_fortress"
+divine_gate,3,933,
+aztodio,1,933,azto_dio
+animal_on_lap,0,933,
+saber_(weapon),0,932,
+purple-framed_eyewear,0,932,purple-framed_glasses
+pas_(paxiti),1,932,pas1990
+instagram_username,0,932,
+flying_kick,0,932,jump_kick
+yagisaka_seto,1,931,
+sister_princess,3,931,"sispri,sisterprincess"
+naked_scarf,0,931,nude_scarf
+himouto!_umaru-chan,3,931,
+geewhy,1,931,ghettoyouth
+dotted_line,0,931,"dashed_outline,dotted_outline"
+coin_hair_ornament,0,931,
+tentacle_pit,0,930,
+tales_of_berseria,3,930,
+kissing_hand,0,930,hand_kiss
+elaina_(majo_no_tabitabi),4,930,
+anjou_naruko,4,930,
+otter_ears,0,929,
+kula_diamond,4,929,
+gonzarez,1,929,
+wrist_wrap,0,928,wrist_wraps
+takato_kurosuke,1,928,takatoo_kurosuke
+swimsuit_cover-up,0,928,cover-up
+star_brooch,0,928,
+shoujo_kakumei_utena,3,928,revolutionary_girl_utena
+pencil_case,0,928,
+mandarin_collar,0,928,
+cleaver,0,928,
+boxer_briefs,0,928,
+vertical-striped_bikini,0,927,
+team_9,0,927,baquartet
+cheshire_(azur_lane),4,927,
+pink_capelet,0,926,
+omori,3,926,
+ogami_kazuki,1,926,
+kara_(color),1,926,color_(artist)
+bokken,0,926,wooden_katana
+beige_jacket,0,926,
+barbed_wire,0,926,razor_wire
+baiken,4,926,
+amagi_(kancolle),4,926,amagi_(kantai_collection)
+rainbow_hair,0,925,
+pixiv_fantasia_last_saga,3,925,
+otohime_(youngest_princess),1,925,
+okabe_rintarou,4,925,
+may_(guilty_gear),4,925,
+lowleg_pants,0,925,
+komiya_kaho,4,925,
+kino_(kino_no_tabi),4,925,
+kine,0,925,mochi_mallet
+cu_chulainn_alter_(fate),4,925,cu_chulainn_alter_(fate/grand_order)
+character_censor,0,925,
+texture,0,924,
+nagian,1,924,
+kaisen_chuui,1,924,kaisenn
+fur-trimmed_kimono,0,924,
+black_corset,0,924,
+ballet,0,924,
+red_border,0,923,
+palms_together,0,923,
+dandelion,0,923,dandelions
+united_kingdom_(hetalia),4,922,england_(hetalia)
+looking_outside,0,922,looking_out_window
+japari_bun,0,922,
+hisui_(tsukihime),4,922,
+dvd_cover,0,922,
+dark_souls_iii,3,922,dark_souls_3
+astolfo_(sailor_paladin)_(fate),4,922,
+yorha_type_a_no._2,4,921,a2_(nier)
+the_legend_of_korra,3,921,legend_of_korra
+sousouman,1,921,ken2325
+orange_pants,0,921,
+mota,1,921,
+jmg,1,921,
+ibuki_fuuko,4,921,
+foam,0,921,
+arthur_pendragon_(fate),4,921,saber_(fate/prototype)
+adapted_turret,0,921,
+school_rumble,3,920,"schoolrumble,sukuran"
+pushing,0,920,push
+nakano_itsuki,4,920,
+falchion_(fire_emblem),0,920,
+brick,0,920,bricks
+assassin_(fate/zero),4,920,
+amulet,0,920,
+tokisadame_school_uniform,0,919,
+phoenix_crown,0,919,
+oyama_mahiro,4,919,
+mash_kyrielight_(dangerous_beast)_(cosplay),0,919,
+bee_(deadflow),1,919,noconol
+barefoot_sandals,0,919,
+sleeve_garter,0,918,
+single_stripe,0,918,
+porch,0,918,
+multicolored_horns,0,918,
+aragaki_ayase,4,918,
+streamers,0,917,
+stain,0,917,
+scar_on_stomach,0,917,
+aquarion_evol,3,917,
+sieg_(fate),4,916,sieg_(fate/apocrypha)
+sakino_shingetsu,1,916,
+oktavia_von_seckendorff,4,916,oktavia_von_seckendorff_(madoka_magica)
+triple_penetration,0,915,
+sig_sauer,0,915,
+iizunamaru_megumu,4,915,
+hand_on_leg,0,915,
+blank_censor,0,915,full_censor
+youkan,1,914,
+print_jacket,0,914,
+multiple_swords,0,914,
+lord_of_the_mysteries,3,914,
+henshin,0,914,"transformation_sequence,transformationsequence"
+analog_clock,0,914,
+son_gohan,4,913,gohan_(dragon_ball)
+sidewalk,0,913,
+shindou_takuto,4,913,
+sawa_azusa,4,913,
+hanbok,0,913,
+diamond_(gemstone),0,913,
+pointy_breasts,0,912,"torpedo_breasts,very_perky_breasts"
+keith_goodman,4,912,
+industrial_piercing,0,912,
+aquarium,0,912,
+the_legend_of_zelda:_tears_of_the_kingdom,3,911,the_legend_of_zelda:_breath_of_the_wild_2
+studio_ghibli,3,911,ghibli
+shibasaki_shouji,1,911,shiba_murashouji
+jigglypuff,4,911,
+florence_nightingale_(trick_or_treatment)_(fate),4,911,trick_or_treatment
+commandant_teste_(kancolle),4,911,commandant_teste_(kantai_collection)
+between_pectorals,0,911,between_pecs
+nijisanji_kr,3,910,
+isabelle_(animal_crossing),4,910,shizue_(doubutsu_no_mori)
+brown_wings,0,910,
+yuuki_(sao),4,909,
+unzipping,0,909,
+kinu_(kancolle),4,909,kinu_(kantai_collection)
+hellsing,3,909,
+zoids,3,908,
+len_(tsukihime),4,908,
+fujisaki_chihiro,4,908,
+untue,1,907,untsue
+peace_symbol,0,907,
+no_eyebrows,0,907,
+houndstooth,0,907,
+hifumi_(blue_archive),4,907,
+bilingual,0,907,
+studded_bracelet,0,906,
+searchlight,0,906,searchlights
+portrait_(object),0,906,
+ichihara_nina,4,906,
+frilled_ascot,0,906,
+boobplate,0,906,
+yuna_(ff10),4,905,yuna_(final_fantasy)
+papers,0,905,
+noose,0,905,
+lupin_iii,3,905,
+flower_ornament,0,905,
+elf_(stroll_in_the_woods),1,905,
+child_drawing,0,905,
+backpack_removed,0,905,
+ar-15,0,905,
+suomi_(girls'_frontline),4,904,"suomi_kp31_(girls'_frontline),suomi_kp31_(girls_frontline)"
+polka_dot_headwear,0,904,polka_dot_hat
+hourglass,0,904,
+haniwa_(statue),0,904,
+fur-trimmed_shorts,0,904,
+crystal_ball,0,904,
+bird_legs,0,904,
+bamboo_steamer,0,904,
+yu_yu_hakusho,3,903,yuu_yuu_hakusho
+white_umbrella,0,903,
+third-party_watermark,5,903,
+seaweed,0,903,
+ragho_no_erika,1,903,
+misaka_imouto,4,903,
+kiriya_aoi,4,903,
+hydrokinesis,0,903,water_magic
+tohno_shiki,4,902,toono_shiki
+manga_cover,0,902,
+icing,0,902,frosting
+holding_vegetable,0,902,
+witches_of_africa,3,901,
+strawberry_panties,0,901,ichigo_pantsu
+sono_hanabira_ni_kuchizuke_wo,3,901,"a_kiss_for_the_petals,a_kiss_for_the_petals,sono_hanabira_ni_kuchiduke_o,sonohana"
+merlin_(fate),4,901,
+akanbe,0,901,eyelid_pull
+yarn_ball,0,900,yarnball
+striped_hoodie,0,900,
+puffy_cheeks,0,900,puffing_cheek
+miia_(monster_musume),4,900,meer_(monster_musume)
+anglerfish,0,900,
+sparse_pubic_hair,0,899,
+okina_ika,1,899,
+hase_yu,1,899,
+elvaan,0,899,
+drugs,0,899,
+cute_&_girly_(idolmaster),0,899,"cute_&_girly(idolmaster),cute_and_girly_(idolmaster)"
+purple_hakama,0,898,
+nekomonogatari,3,898,
+komatsu_eiji,1,898,co2a
+highschool_of_the_dead,3,898,
+ears_visible_through_hair,0,898,
+rabbit_boy,0,897,
+pendant_choker,0,897,
+jaguar_print,0,897,
+drinking_straw_in_mouth,0,897,straw_in_mouth_(drinking)
+torchic,4,896,
+ass_shake,0,896,"shaking_ass,twerk,twerking"
+ankle_wrap,0,896,ankle_wraps
+tenkyuu_chimata,4,895,
+spooning,0,895,
+santa_gloves,0,895,
+sano_toshihide,1,895,toshihide_sano
+print_shorts,0,895,
+crystal_earrings,0,895,
+bandaid_on_forehead,0,895,
+zidane_tribal,4,894,
+yume_shokunin,1,894,
+uehara_ayumu,4,894,
+oda_uri,0,894,
+monster_hunter:_world,3,894,
+kurokawa_eren,4,894,kurokawa_ellen
+hotarumaru,4,894,
+brown_collar,0,894,
+bayonet,0,894,
+antique_firearm,0,894,
+sei_(kaien_kien),1,893,sei63
+mashuu_(neko_no_oyashiro),1,893,mashu_003
+lion_(kemono_friends),4,893,
+lala_satalin_deviluke,4,893,
+kousaka_kyousuke,4,893,
+flaming_weapon,0,893,"burning_weapon,fiery_weapon,fire_weapon,flame_weapon"
+aquila_(kancolle),4,893,aquila_(kantai_collection)
+yellow_butterfly,0,892,
+tieria_erde,4,892,
+penguin_hood,0,892,
+len'en,3,892,
+kidou_senkan_nadesico,3,892,martian_successor_nadesico
+fur_boots,0,892,
+doujima_nanako,4,892,dojima_nanako
+cheren_(pokemon),4,892,
+catholic,0,892,
+scar_on_neck,0,891,neck_scar
+nier,3,891,"nier_gestalt,nier_replicant"
+musaigen_no_phantom_world,3,891,myriad_colors_phantom_world
+holding_pizza,0,891,
+twin_turbo_(umamusume),4,890,twin_turbo
+micaiah_(fire_emblem),4,890,
+lace-trimmed_hairband,0,890,
+guided_penetration,0,890,
+end_card,5,890,endcard
+aisha_landar,4,890,aisha_(elsword)
+vaporeon,4,889,
+valkyrie,0,889,
+smoking_gun,0,889,
+slime_(dragon_quest),4,889,
+owl_ears,0,889,
+notched_ear,0,889,"broken_ear,chipped_ear,torn_ear"
+chado,1,889,tohonifun
+ayamy,1,889,
+sound_horizon,3,888,
+saddle,0,888,
+mitsumi_misato,1,888,
+mioda_ibuki,4,888,
+lulu_(league_of_legends),4,888,
+fur_cape,0,888,
+fuantei,1,887,
+blowing,0,887,
+azasuke,1,887,azasuke_wind
+aviator_sunglasses,0,887,aviator_glasses
+arms_(game),3,887,
+yuuki_hagure,1,886,
+narancia_ghirga,4,886,
+jinguu_(4839ms),1,886,
+personal_ami,1,885,
+hikawa_hina,4,885,
+green_wings,0,885,
+audience,0,885,
+tantei_opera_milky_holmes,3,884,milky_holmes
+kami_jigen_game_neptune_v,3,884,hyperdimension_neptunia_victory
+hammann_(azur_lane),4,884,
+credits,0,884,
+brown_hoodie,0,884,
+beige_shirt,0,884,
+waiter,0,883,
+godzilla,4,883,gojira
+coconut,0,883,coconuts
+star_platinum,4,882,
+scottie_(phantom2),1,882,sukocchi
+riyo_(lyomsnpmp),1,882,
+mordred_(memories_at_trifas)_(fate),4,882,
+lion_boy,0,882,
+euryale_(fate),4,882,euryale
+cable_knit,0,882,
+side_drill,0,881,
+qqqrinkappp,1,881,
+majo_no_takkyuubin,3,881,kiki's_delivery_service
+fusu_(a95101221),1,881,
+convenience_store,0,881,
+cleveland_(azur_lane),4,881,
+america,0,881,
+yellow_bag,0,880,yellow_backpack
+tassel_hair_ornament,0,880,hair_tassel
+seiren_(suite_precure),4,880,"seiren_(precure),siren_(suite_precure)"
+metal_slug,3,880,
+concert,0,880,
+white_bag,0,879,white_backpack
+tenchi_muyou!,3,879,"tenchi_muyo,tenchi_muyou"
+sugiura_ayano,4,879,
+recorder,0,879,
+public_use,0,879,
+lyria_(granblue_fantasy),4,879,
+little_nuns_(diva),3,879,little_nun_(diva)
+hikawa_shou,1,879,
+cum_on_legs,0,879,"cum_on_leg,cum_on_thighs"
+linear_hatching,0,878,line_shading
+kamogawa_tanuki,1,878,kamogawaya
+check_character,5,878,
+brown_apron,0,878,
+polka_dot_skirt,0,877,
+mother_2,3,877,earthbound
+dress_removed,0,877,
+type_95_(girls'_frontline),4,876,"qbz-95_(girls'_frontline),qbz-95_(girls_frontline)"
+tail_feathers,0,876,
+pinwheel,0,876,
+mukai_takumi,4,876,
+miyamoto_musashi_(swimsuit_berserker)_(second_ascension)_(fate),4,876,
+hishaku,0,876,
+grey_theme,0,876,gray_theme
+final_fight,3,876,
+destiny_child,3,876,
+dennou_coil,3,876,
+vira_(granblue_fantasy),4,875,vira_lilie
+urin,1,875,
+serebi_ryousangata,1,875,"celebi_ryousangata,serebii_ryousangata_(pixiv25994)"
+nursing_handjob,0,875,
+nibutani_shinka,4,875,
+nia_(blade)_(xenoblade),4,875,niyah_(blade)
+kouhaku_nawa,0,875,
+ino_(magloid),1,875,ino
+camouflage_pants,0,875,
+bernadetta_von_varley,4,875,
+xiangling_(genshin_impact),4,874,shanrin_(genshin_impact)
+torinone,1,874,
+orange_sweater,0,874,
+kusaka_souji,1,874,
+inoue_orihime,4,874,orihime_inoue
+graf_zeppelin_(azur_lane),4,874,
+yamagumo_(kancolle),4,873,yamagumo_(kantai_collection)
+yama_no_susume,3,873,encouragement_of_climb
+tenken_(gotannda),1,873,
+nakano_ichika,4,873,
+goh_(pokemon),4,873,gou_(pokemon)
+coke-bottle_glasses,0,873,"spiral_glasses,swirly_glasses"
+yellow_coat,0,872,
+umigarasu_(kitsune1963),1,872,
+space_helmet,0,872,astronaut_helmet
+oimanji,1,872,manji_(tenketsu)
+multicolored_fur,0,872,
+komaku_juushoku,1,872,
+kenkou_cross,1,872,kenkou_kurosu
+hologram,0,872,
+goodsmile_racing,3,872,
+baggy_clothes,0,872,
+side_slit_shorts,0,871,
+sengoku_basara,3,871,
+nyarlathotep_(nyaruko-san),4,871,nyaruko_(nyaruko-san)
+loose_shirt,0,871,loose_blouse
+claude_von_riegan,4,871,
+celestia_ludenberg,4,871,"celestia_ludenberck,celestia_rudenberk"
+traffic_cone,0,870,"pylon_(traffic),road_cone,traffic_cones"
+themed_object,0,870,
+striped_headwear,0,870,striped_hat
+polka_dot_scrunchie,0,870,
+plaid_bra,0,870,
+objectification,0,870,
+miyu_(blue_archive),4,870,
+meyoco,1,870,
+marie_rose,4,870,
+ikari_manatsu,1,870,
+blood_on_knife,0,870,"blood-stained_knife,bloody_knife"
+vibrator_cord,0,869,
+line_(naver),3,869,
+konbu_wakame,1,869,
+kasaki_nozomi,4,869,
+diva_(hyxpk),1,869,
+airship,0,869,"airships,flying_ship"
+shiroko_(swimsuit)_(blue_archive),4,868,
+playing,0,868,
+mitsudomoe,3,868,"mitsu_domoe,mitsudo_moe"
+lei_lei,4,868,"hsien-ko,leilei"
+heads-up_display,0,868,"heads-up-display,heads_up_display,hud"
+hataraku_maou-sama!,3,868,the_devil_is_a_part-timer!
+food_stand,0,868,
+fairy_knight_gawain_(fate),4,868,"barghest_(fate),gawain_(fairy_knight)_(fate)"
+checkered_sash,0,868,checkered_obi
+washing_machine,0,867,
+ro635_(girls'_frontline),4,867,ro635_(girls_frontline)
+nenohi_(kancolle),4,867,nenohi_(kantai_collection)
+hibiki_(cheerleader)_(blue_archive),4,867,
+double_w,0,867,
+crotch_cutout,0,867,heart_crotch_cutout
+bass_clef,0,867,
+araki_hirohiko_(style),0,867,
+_,0,867,
+pastel_colors,0,866,
+okumura_haru,4,866,
+kohinata_miho,4,866,
+jetto_komusou,1,866,
+checkered_flag,0,866,
+bullet_hole,0,866,bullet_holes
+yellow_belt,0,865,
+tenjouin_asuka,4,865,"alexis_rhodes,alexis_rhodes"
+sakurajima_mai,4,865,
+pink_camisole,0,865,
+multiple_piercings,0,865,
+strapless_swimsuit,0,864,
+st._chronica_academy_uniform,0,864,
+puff_and_slash_sleeves,0,864,
+prison_clothes,0,864,
+kamelie,1,864,
+green_capelet,0,864,
+ultra_ball,0,863,"hyper_ball,ultraball"
+napkin,0,863,
+undressing_another,0,862,
+sakura_chiyo,4,862,
+lenna_charlotte_tycoon,4,862,reina_charlotte_tycoon
+jeweled_branch_of_hourai,0,862,
+hole,0,862,
+hatsuharu_(kancolle),4,862,hatsuharu_(kantai_collection)
+dress_flower,0,862,
+sleeveless_coat,0,861,
+melon_bread,0,861,"melonpan,meronpan"
+inverted_cross,0,861,cross_of_saint_peter
+double_\m/,0,861,
+clothes_between_breasts,0,861,clothing_between_breasts
+chiyoda_(kancolle),4,861,chiyoda_(kantai_collection)
+pouring_onto_self,0,860,
+kase_daiki,1,860,"dksha19,kase_dai_teru"
+annie_leonhardt,4,860,
+adventure_time,3,860,
+two-tone_headwear,0,859,
+maplestory,3,859,maple_story
+aino_megumi,4,859,
+adidas,0,859,
+visor_(armor),0,858,
+ushiromiya_jessica,4,858,
+nadia_la_arwall,4,858,nadia
+hand_on_another's_neck,0,858,
+double_dildo,0,858,
+cropped_hoodie,0,858,
+chibi_miku,4,858,mini_miku
+x3,0,857,
+steven_stone,4,857,"daigo_(pokemon),daigo_(pokemon),steven_(pokemon),steven_(pokemon),tsuwabuki_daigo"
+pickaxe,0,857,"pick-ax,pick-axe,pick_axe,pickax"
+nonomi_(blue_archive),4,857,
+hands_on_own_stomach,0,857,
+hand_on_own_neck,0,857,
+cross_choker,0,857,
+bear_costume,0,857,
+tsugu_(vtuber),3,856,
+round-bottom_flask,0,856,
+minato_hitori,1,856,
+hatoba_tsugu,4,856,
+anna_(frozen),4,856,
+shinama,1,855,bouaki
+moona_hoshinova,4,855,
+garnet_til_alexandros_xvii,4,855,"dagger_(ff9),garnet_(ff9)"
+force_of_will,3,855,
+dante_(devil_may_cry),4,855,
+black_umbrella,0,855,
+adapted_uniform,0,855,
+undead,0,854,
+sasaki_saku,4,854,
+monster_musume_no_iru_nichijou_online,3,854,
+mahjong_tile,0,854,mahjong_tiles
+ifrit_(arknights),4,854,
+donguri_suzume,1,854,donguri_neko0
+cure_sunny,4,854,
+wringing_clothes,0,853,
+psychic,0,853,esper
+painterly,0,853,
+net,0,853,
+momoe_nagisa,4,853,
+aozaki_aoko,4,853,
+yuuki_(princess_connect!),4,852,
+hikawa_sayo,4,852,
+furudo_erika,4,852,
+easter_egg,0,852,
+yagen_toushirou,4,851,
+virgin_killer_outfit,0,851,
+tsukihime_(remake),3,851,
+miyanaga_saki,4,851,
+maizono_sayaka,4,851,
+kimono_lift,0,851,
+cursive,0,851,
+cetacean_tail,0,851,"dolphin_tail,narwhal_tail,orca_tail,whale_tail_(animal_tail)"
+arachne,0,851,drider
+queen's_blade_rebellion,3,850,queens_blade_rebellion
+momio,1,850,
+lace_gloves,0,850,
+hilichurl_(genshin_impact),4,850,hilichurl
+hayasaka_ai,4,850,
+facing_to_the_side,0,850,
+cutting_hair,0,850,haircut
+brown_sweater_vest,0,850,
+aika_(series),3,850,
+redrawn,5,849,
+racing_miku,4,849,
+ogata_chieri,4,849,
+alisa_(girls_und_panzer),4,849,
+silent_hill_(series),3,848,silent_hill
+shizuka_rin,4,848,
+murata_range,1,848,"murata_renji,range_murata"
+laura_bodewig,4,848,
+jeno,1,848,
+fate/requiem,3,848,
+dirty_feet,0,848,
+cu_chulainn_(caster)_(fate),4,848,cu_chulainn_(fate/grand_order)
+sperm_cell,0,847,
+rider_belt,0,847,
+lighthouse,0,847,
+jingei_(kancolle),4,847,jingei_(kantai_collection)
+green_bag,0,847,"green_backpack,green_handbag"
+crazy,0,847,"insane,yangire"
+unusually_open_eyes,0,846,
+splatoon_3,3,846,
+mummy_costume,0,846,
+monster_energy,0,846,
+grave,0,846,
+broken_heart,0,846,
+wa_lolita,0,845,
+sakuragi_mano,4,845,
+mega_man_(character),4,845,"megaman_(character),rockman_(character)"
+magical_ruby,4,845,
+genshiken,3,845,
+ayane_(doa),4,845,
+vspo!,3,844,
+kasumigaoka_utaha,4,844,
+kanojo_okarishimasu,3,844,"kanokari,rent-a-girlfriend"
+hiyou_(kancolle),4,844,hiyou_(kantai_collection)
+heel_up,0,844,heel_raised
+faris_scherwiz,4,844,
+cardigan_vest,0,844,
+allister_(pokemon),4,844,onion_(pokemon)
+tsab_ground_military_uniform,0,843,
+sparrow,0,843,
+sleep_mask,0,843,sleeping_mask
+romaji_commentary,5,843,
+lux_(league_of_legends),4,843,luxanna_crownguard
+hat_with_ears,0,843,hat_ears
+cure_white,4,843,
+cropped_arms,0,843,
+cecilia_alcott,4,843,
+aki_(girls_und_panzer),4,843,
+ten'ou_haruka,4,842,"tennou_haruka,tenoh_haruka,tenou_haruka"
+snap-fit_buckle,0,842,
+screentones,0,842,
+project_moon,3,842,
+maou_(maoyuu),4,842,
+lucy_heartfilia,4,842,lucy_heartphilia
+hinghoi,1,842,"freedomthai,kurohime_(princess_fresh_meat)"
+hair_cubes,0,842,
+deadnooodles,1,842,
+art_nouveau,0,842,"alphonse_mucha_(style),mucha_style"
+alastor_(shakugan_no_shana),4,842,
+accel_world,3,842,
+\n/,0,842,
+sugimura_tomokazu,1,841,"over_drive,wave_ride"
+platinum_(arknights),4,841,
+p90,0,841,
+multicolored_kimono,0,841,multicolored_yukata
+kanbaru_suruga,4,841,
+yt_(wai-tei),1,840,
+roy_(fire_emblem),4,840,
+mole_on_stomach,0,840,
+futasub,0,840,
+blue_bag,0,840,blue_backpack
+satin_panties,0,839,
+panty_lift,0,839,
+owari_no_seraph,3,839,
+lamb-oic029,1,839,
+golf_club,0,839,
+yume_no_owari,1,838,
+pine_tree,0,838,
+nagato_(azur_lane),4,838,
+maka_albarn,4,838,"maka_alban,maka_arubaan"
+kazano_hiori,4,838,
+hizuki_yayoi,1,838,hiduki_yayoi
+hacka_doll,3,838,
+ceobe_(arknights),4,838,
+blew_andwhite,1,838,
+wheelbarrow,0,837,
+satou_daiji,1,837,"armadillo_daiji,sato_daiji"
+looking_through_legs,0,837,
+bradamante_(fate),4,837,bradamante_(fate/grand_order)
+apron_lift,0,837,
+acoustic_guitar,0,837,
+lambda_(kusowarota),1,836,
+kishida_mel,1,836,kishida_meru
+exhausted,0,836,
+brown_nails,0,836,brown_fingernails
+arare_(kancolle),4,836,arare_(kantai_collection)
+yumehara_nozomi,4,835,
+tanikaze_(kancolle),4,835,tanikaze_(kantai_collection)
+star_pasties,0,835,
+seiun_sky_(umamusume),4,835,
+oversized_food,0,835,giant_food
+komusou_(jinrikisha),1,835,"maru_(maruttona),maruttona"
+green_one-piece_swimsuit,0,835,green_swimsuit
+denpa_onna_to_seishun_otoko,3,835,ground_control_to_psychoelectric_girl
+cracked_wall,0,835,
+chalice,0,835,goblet
+breast_poke,0,835,
+ano_natsu_de_matteru,3,835,"natsumachi,waiting_in_the_summer"
+alice_zuberg,4,835,alice_schuberg
+wataboushi,0,834,
+osaki_tenka,4,834,oosaki_tenka
+nudist,0,834,
+murata_himeko,4,834,
+kotoyoro,0,834,
+holding_saucer,0,834,
+holding_breath,0,834,
+baton_(conducting),0,834,baton_(instrument)
+zabaniyya_(housamo),4,833,"zabaniya_(housamo),zabaniya_(tokyo_houkago_summoners)"
+tube_dress,0,833,
+trunks_(dragon_ball),4,833,trunks_(dragonball)
+training_corps_(emblem),0,833,
+photo_inset,0,833,
+matsumoto_rangiku,4,833,
+madou_monogatari,3,833,
+komeshiro_kasu,1,833,"eikokudaisuki,kasu_(return)"
+fate/grand_order_arcade,3,833,
+enty_reward,5,833,
+chikorita,4,833,
+bralines,0,833,
+romper,0,832,
+heart_lock_(kantai_collection),0,832,
+cerberus_(helltaker),4,832,
+tsurezure_children,3,831,
+tentacles_on_male,0,831,tentacles_with_male
+jack_dempa,1,831,"jaku_denpa,mujakuma"
+ishii_hisao,1,831,
+grill,0,831,
+gaou_(umaiyo_puyoman),1,831,matsui_hiroaki
+agnes_digital_(umamusume),4,831,
+yuzuhara_konomi,4,830,
+nt00,1,830,
+nekomusume_(gegege_no_kitarou_6),4,830,
+mikazuki_(kancolle),4,830,mikazuki_(kantai_collection)
+lack,1,830,
+jirou_kyouka,4,830,earphone_jack_(boku_no_hero_academia)
+bianca_(dq5),4,830,
+storefront,0,829,
+naked_tabard,0,829,nude_tabard
+lyrics,0,829,song_lyrics
+jin_kisaragi,4,829,
+blaze_(arknights),4,829,
+alternate_wings,0,829,alternative_wings
+yukataro,1,828,
+yokoyama_nao,4,828,
+yamato_nadeshiko,1,828,
+tsurumaki_kokoro,4,828,
+tire,0,828,tires
+pravda_military_uniform,0,828,
+kusanagi_tonbo,1,828,
+glowing_butterfly,0,828,
+eden_academy_uniform,0,828,
+black_garter_belt,0,828,
+yellow_sleeves,0,827,
+pramanix_(arknights),4,827,
+lillian_girls'_academy_uniform,0,827,
+ibuki_notsu,1,827,
+green_pantyhose,0,827,
+dragon_quest_viii,3,827,"dq8,dragon_quest_8"
+struggling,0,826,struggle
+reinforce_zwei,4,826,reinforce_ii
+red_fur,0,826,
+rakuen_tsuihou,3,826,expelled_from_paradise
+orange_hoodie,0,826,
+konnyaku_(kk-monmon),1,826,
+gymnastics,0,826,gymnast
+aki99,1,826,
+akashi_(azur_lane),4,826,
+xp-tan,4,825,xp
+witch_(madoka_magica),0,825,
+skirt_flip,0,825,
+matsuwa_(kancolle),4,825,matsuwa_(kantai_collection)
+chi-hatan_military_uniform,0,825,
+breast_padding,0,825,"bra_padding,bra_stuffing,breast_pad,breast_pads,breast_stuffing,fake_breasts"
+urethral_insertion,0,824,urethral_object_push
+ucmm,1,824,
+shoulder_holster,0,824,armpit_holster
+shimazu_yoshino,4,824,
+purple_gemstone,0,824,amethyst_(gemstone)
+kondou_taeko,4,824,
+inumuta_houka,4,824,
+how_to,0,824,"howto,tutorial"
+dragging,0,824,drag
+takoluka,4,823,
+monomi_(danganronpa),4,823,monomi_(dangan_ronpa)
+jouga_maya,4,823,joukawa_maya
+hidden_face,0,823,
+gills,0,823,
+crime_prevention_buzzer,0,823,personal_alarm
+unamused,0,822,
+teen_titans,3,822,
+squinting,0,822,"squint,squinted_eyes"
+spaghetti,0,822,
+shirabe_ako,4,822,
+polar_bear,0,822,
+penis_peek,0,822,
+niwarhythm,1,822,niwarizumu
+nanao_yuriko,4,822,
+mtu_(orewamuzituda),1,822,mtu
+monety,1,822,moneti_(daifuku)
+kou_mashiro,1,822,
+himejima_akeno,4,822,
+glowing_hair,0,822,
+aqua_gloves,0,822,
+suou_momoko,4,821,
+magukappu,1,821,umakatsuhai
+kichihachi,1,821,kichi8
+fairy_knight_lancelot_(fate),4,821,"lancelot_(fairy_knight)_(fate),melusine_(fate)"
+eva_02,4,821,
+dressing_another,0,821,
+windowsill,0,820,window_sill
+pink_ascot,0,820,
+mogudan,1,820,
+miyako_(hidamari_sketch),4,820,miyako
+masochism,0,820,
+mahou_shoujo_madoka_magica_movie_1_&_2,3,820,mahou_shoujo_madoka_magica_movie
+kirishima_touka,4,820,
+anchor_necklace,0,820,
+taihou_(enraptured_companion)_(azur_lane),4,819,
+sirius_(azure_horizons)_(azur_lane),4,819,
+penis_in_panties,0,819,
+ke-ta,1,819,
+group_picture,0,819,group_shot
+amplifier,0,819,"amp,amplifier_(instrument)"
+senran_kagura_shinovi_versus,3,818,
+rosario+vampire,3,818,rosario_to_vampire
+priest_(ragnarok_online),4,818,
+pokemon_rse_(anime),3,818,pokemon_ag
+kloah,1,818,
+kisaragi_shintarou,4,818,
+inu_x_boku_ss,3,818,
+dimitri_alexandre_blaiddyd,4,818,dimitri_alexandre_bladud
+color_trace,0,818,
+circle_skirt,0,818,"circle_dress,spread_dress,spread_skirt"
+brown_bra,0,818,
+samuel_b._roberts_(kancolle),4,817,samuel_b._roberts_(kantai_collection)
+m1911,0,817,colt_m1911
+hand_under_shirt,0,817,"hand_in_shirt,hand_up_shirt"
+garchomp,4,817,
+vibrator_on_nipple,0,816,nipple_vibrator
+strike_witches:_kurenai_no_majo-tachi,3,816,
+riyo_(lyomsnpmp)_(style),0,816,
+parka,0,816,
+moomin,3,816,
+lambdadelta,4,816,
+iroha_(samurai_spirits),4,816,
+ichiba_youichi,1,816,
+fire_emblem_warriors:_three_hopes,3,816,fire_emblem:_three_hopes
+catchphrase,0,816,
+armpit_cutout,0,816,
+angela_balzac,4,816,
+zero_(mega_man),4,815,zero_(rockman)
+tail_ring,0,815,
+scar_on_leg,0,815,leg_scar
+revy_(black_lagoon),4,815,
+mashiro_miru,1,815,marshmallow_mille
+maria_cadenzavna_eve,4,815,maria_cadenzavuna_eve
+guts_(berserk),4,815,
+grass_wonder_(umamusume),4,815,
+diego_brando,4,815,
+tetsu_(kimuchi),1,814,
+rimuru_tempest,4,814,
+yellow_(pokemon),4,813,
+hayashiya_zankurou,1,813,
+grey_hairband,0,813,
+cygames,3,813,
+arms_around_waist,0,813,
+animal_skull,0,813,
+92m,1,813,
+robaato,1,812,robert_porter
+jaguar_tail,0,812,
+ghost_costume,0,812,
+uta_no_prince-sama,3,811,
+tutu,0,811,
+thermos,0,811,
+sutahiro_(donta),1,811,
+pink_belt,0,811,
+pectoral_press,0,811,
+multicolored_scarf,0,811,
+canopy_bed,0,811,four-poster_bed
+rolling_suitcase,0,810,
+lm_(legoman),1,810,"legoman,lmsketch"
+yellow_raincoat,0,809,
+the_ring,3,809,ringu
+sling,0,809,
+shoulder_cannon,0,809,
+rainbow_mika,4,809,nanakawa_mika
+pendant_watch,0,809,
+kiss-shot_acerola-orion_heart-under-blade,4,809,kissshot_acerolaorion_heartunderblade
+fake_nails,0,809,fake_fingernails
+cosmic_break,3,809,
+corrin_(fire_emblem)_(male),4,809,male_my_unit_(fire_emblem_if)
+zara_(poolside_coincidence)_(azur_lane),4,808,
+yamada_elf,4,808,
+warioware,3,808,"made_in_wario,wario_ware"
+season_connection,0,808,
+multiple_legs,0,808,
+mataro_(matarou),1,808,"mataro,matarou_(genkai_toppa)"
+imperial_japanese_army,0,808,
+anchor_choker,0,808,
+suigetsu,3,807,
+stained_panties,0,807,
+mamuru,1,807,
+gold_bikini,0,807,
+dungeon_meshi,3,807,delicious_in_dungeon
+watanabe_akio,1,806,"akio_watanabe,poyoyon_rock,poyoyonrock"
+surcoat,0,806,
+sagiri_(kancolle),4,806,sagiri_(kantai_collection)
+pokemon_tcg,3,806,pokemon_trading_card_game
+octoling_girl,4,806,
+lord_el-melloi_ii,4,806,
+lattice,0,806,
+anegasaki_nene,4,806,
+y.ssanoha,1,805,
+sciamano240,1,805,
+neo_politan,4,805,neo_(rwby)
+nardack,1,805,
+multi-strapped_panties,0,805,
+dota_(series),3,805,dota
+asahina_mirai,4,805,
+akagashi_hagane,1,805,
+pit_(kid_icarus),4,804,
+morino_hon,1,804,
+mikagami_hiyori,1,804,"strange_chameleon,strangechameleon"
+grey_cape,0,804,
+ganguro,0,804,
+diona_(genshin_impact),4,804,
+umekichi,1,803,
+pigeon,0,803,
+ojou-sama_pose,0,803,noblewoman's_laugh
+no_blindfold,0,803,
+mumei_(kabaneri),4,803,
+mizumizuni,1,803,thing_(athing)
+miuku_(marine_sapphire),1,803,hazumi_miruku
+leafeon,4,803,
+karaoke,0,803,
+eyepatch_removed,0,803,eyepatch_off
+ao_no_exorcist,3,803,blue_exorcist
+string_bra,0,802,
+silence_(arknights),4,802,silent_(arknights)
+purple_hoodie,0,802,
+mohammed_avdol,4,802,
+leash_pull,0,802,
+german_flag_bikini,0,802,
+furukawa_(yomawari),1,802,
+elphelt_valentine,4,802,
+echo_(circa),1,802,"cis05,ekoo"
+cosmog,4,802,
+bath_stool,0,802,
+3d_background,0,802,
+wall_clock,0,801,
+shin_sangoku_musou,3,801,dynasty_warriors
+ookami_(game),3,801,okami
+harada_takehito,1,801,
+hands_on_hilt,0,801,
+star_ocean_till_the_end_of_time,3,800,star_ocean_3
+prinny,4,800,
+parsley-f,1,800,paseri
+kazama_asuka,4,800,
+caffein,1,800,
+brown_bear_(kemono_friends),4,800,
+yuuji_(yukimimi),1,799,
+unowen,1,799,"kyon_(fuuran),yukimi_dango"
+teana_lanster,4,799,tiana_lanster
+sado_(kancolle),4,799,sado_(kantai_collection)
+rounded_corners,0,799,
+merunyaa,1,799,
+leg_wrap,0,799,leg_wraps
+hatted_pokemon,0,799,
+group_name,0,799,band_name
+ehoumaki,0,799,ehomaki
+zanntetu,1,798,
+yamagishi_fuuka,4,798,
+starbucks,3,798,
+st._theresa's_girls_academy_school_uniform,0,798,
+kanpa_(campagne_9),1,798,
+justice_(helltaker),4,798,
+jeanne_d'arc_alter_(avenger)_(third_ascension)_(fate),4,798,
+coat_removed,0,798,
+club3,1,798,nanaya_(daaijianglin)
+choujikuu_yousai_macross,3,798,the_super_dimension_fortress_macross
+araragi_tsukihi,4,798,
+sakawa_(kancolle),4,797,sakawa_(kantai_collection)
+onion,0,797,
+inline_skates,0,797,"roller_blades,rollerblades"
+criis-chan,1,797,
+cat_costume,0,797,cat_suit
+baka_to_test_to_shoukanjuu,3,797,"baka_and_test_summon_the_beasts,baka_to_tesuto_to_shoukanjuu,baka_to_tesuto_to_syokanju,bakatest"
+sucrose_(genshin_impact),4,796,
+kotonoha_aoi,4,796,
+sitting_on_rock,0,795,
+no_eyepatch,0,795,
+mamaloni,1,795,chino_machiko
+izayoi_aki,4,795,akiza_izinski
+gotou_(nekocat),1,795,gotoh510
+d.gray-man,3,795,dgray-man
+cure_moonlight,4,795,
+character_signature,0,795,
+blank_speech_bubble,0,795,"blank_word_balloon,blank_word_bubble,empty_speech_bubble,empty_word_bubble"
+tape_measure,0,794,measuring_tape
+super_soaker,0,794,
+stole,0,794,
+snowflake_background,0,794,
+ribbon_braid,0,794,
+nipple_clamps,0,794,
+minakami_(flyingman555),1,794,agliecosystem
+kukie-nyan,1,794,
+kira_yoshikage,4,794,
+hand_gesture,0,794,hand_sign
+green_tea,0,794,
+dumpling,0,794,dumplings
+danganronpa_another_episode:_ultra_despair_girls,3,794,zettai_zetsubou_shoujo
+cowboy_bebop,3,794,
+brown_choker,0,794,
+avatar_(wow),4,794,
+aqua_footwear,0,794,aqua_shoes
+andira_(granblue_fantasy),4,794,anchira_(granblue_fantasy)
+yui_(princess_connect!),4,793,kusano_yui
+wheat,0,793,
+porurin,1,793,
+persona_5_the_royal,3,793,
+mysterious_heroine_x_(fate),4,793,"heroine_x,mysterious_heroine_x"
+murasame_kai_ni_(kancolle),4,793,
+mattari_yufi,1,793,miraisen
+makoto_(street_fighter),4,793,
+kazuma_muramasa,1,793,
+high_school_dxd_born,3,793,
+dishwasher1910,1,793,bach_do
+collared_vest,0,793,
+boa_hancock,4,793,
+asakaze_(kancolle),4,793,asakaze_(kantai_collection)
+aozora_market,1,793,
+akina_tsukako,1,793,kurimomo
+7th_dragon,3,793,seventh_dragon
+yumi_(senran_kagura),4,792,
+ulrich_(tagaragakuin),1,792,
+takamori_aiko,4,792,
+taimanin_suit,0,792,
+ryouka_(suzuya),1,792,ryohka
+maneki-neko,0,792,"beckoning_cat,maneki_neko"
+izumi_mei,4,792,
+hiro_(hirohiro31),1,792,
+arcane:_league_of_legends,3,792,league_of_legends_arcane
+toon_link,4,791,
+super_mario_bros._1,3,791,"mario_brothers,super_mario_bros,super_mario_bros.,super_mario_brothers"
+pichu,4,791,
+luoxiaohei,4,791,
+kaiou_michiru,4,791,kaioh_michiru
+hetza_(hellshock),1,791,
+hemogurobin_a1c,1,791,
+female_protagonist_(pokemon_go),4,791,
+curtained_hair,0,791,
+bib,0,791,
+no_mole,0,790,
+kisaragi_(azur_lane),4,790,
+hornet_(kancolle),4,790,hornet_(kantai_collection)
+female_saniwa_(touken_ranbu),4,790,
+cum_in_nose,0,790,
+chrono_cross,3,790,
+brick_floor,0,790,
+boy_sandwich,0,790,sandwich_(male)
+black_undershirt,0,790,
+2008,0,790,
+yuuki_juudai,4,789,"jaden_yuki,yuki_judai"
+white_sports_bra,0,789,
+white_butterfly,0,789,
+vertical-striped_panties,0,789,
+street_fighter_ii_(series),3,789,"street_fighter_ii,street_fighter_ii'_turbo:_hyper_fighting,super_street_fighter_ii:_the_new_challengers,super_street_fighter_ii_turbo_hd_remix,super_street_fighter_ii_x"
+nironiro,1,789,niro_(pixiv194231)
+lightsaber,0,789,
+inflatable_raft,0,789,
+energy_drink,0,789,
+arm_cuffs,0,789,
+tall,0,788,
+splatoon_2:_octo_expansion,3,788,
+kousaka_kirino's_school_uniform,0,788,
+flareon,4,788,
+flag_background,0,788,
+beltskirt,0,788,belt_skirt
+astronaut,0,788,
+usada_hikaru,4,787,rabi_en_rose
+scathach_(piercing_bunny)_(fate),4,787,piercing_bunny
+kankan33333,1,787,kan_(aaaaari35)
+jeanne_d'arc_(third_ascension)_(fate),4,787,
+hau_(pokemon),4,787,
+harukaze_(kancolle),4,787,harukaze_(kantai_collection)
+frozen,0,787,
+flaming_sword,0,787,"burning_sword,fiery_sword,fire_sword,flame_sword"
+bunching_hair,0,787,
+purple_neckerchief,0,786,
+pokemon_move,0,786,
+paper_crane,0,786,origami_crane
+multicolored_headwear,0,786,multicolored_hat
+litten,4,786,
+kamukura_izuru,4,786,
+jellytits-7,1,786,rak_(kuraga)
+holding_tail,0,786,
+girls_und_panzer_senshadou_daisakusen!,3,786,
+excited,0,786,
+shorts_around_one_leg,0,785,
+hanasakigawa_school_uniform,0,785,
+chinese_new_year,0,785,
+chicken_(food),0,785,
+wallet,0,784,
+spray_can,0,784,
+sand_castle,0,784,sandcastle
+orange_goggles,0,784,
+nib_pen_(object),0,784,"dip_pen,fountain_pen"
+handstand,0,784,standing_on_hands
+bagged_fish,0,784,
+arm_above_head,0,784,
+takeda_harumi_(shiromanta),4,783,
+sawamura_spencer_eriri,4,783,sawamura_eriri_spencer
+riichu,1,783,
+kobayakawa_sae,4,783,
+garry_(ib),4,783,gary_(ib)
+card_parody,0,783,
+alpha_(yukai_na_nakamatachi),1,783,alpha_(artist)
+snow_bunny,0,782,snow_rabbit
+mundane_utility,0,782,
+lopunny,4,782,
+kappa,0,782,
+jizeru_(giselebon),1,782,giselebon
+evillious_nendaiki,3,782,
+cutout_above_navel,0,782,
+stats,0,781,
+shinano_(azur_lane),4,781,
+natsu_megumi,4,781,
+mutsuki_(moonknives),1,781,moonknives
+moyazou_(kitaguni_moyashi_seizoujo),1,781,moyashi_seizoujo
+grenade_launcher,0,781,
+gradient_dress,0,781,
+dissolving,0,781,
+condom_belt,0,781,
+coffee-kizoku,1,781,
+yamanaka_ino,4,780,
+trigram,0,780,
+sideways_hat,0,780,
+mudkip,4,780,
+hammock,0,780,
+ball_and_chain_restraint,0,780,
+admiral_graf_spee_(azur_lane),4,780,
+melon,0,779,
+honeycomb_background,0,779,hexagonal_background
+foliage,0,779,
+chita_(ketchup),1,779,
+char's_counterattack,3,779,
+bean_bag_chair,0,779,beanbag_chair
+beam_saber,0,779,
+arinu,1,779,
+yunyun_(konosuba),4,778,
+vert_(neptune_series),4,778,vert
+stakes_of_purgatory,0,778,
+print_necktie,0,778,
+ominaeshi_(takenoko),1,778,
+official_alternate_hair_length,0,778,alternate_hair_length_(official)
+matikane_tannhauser_(umamusume),4,778,
+star_guardian_(league_of_legends),0,777,
+sanzen'in_nagi,4,777,sanzenin_nagi
+mikazuki_akira!,1,777,"mikaduki_akira,mikazuki_akira"
+koyorin,1,777,clockwork-cadaver
+fur_cloak,0,777,
+finger_biting,0,777,"biting_finger,finger_bite"
+dota_2,3,777,defense_of_the_ancients_2
+bicycle_basket,0,777,
+super_real_mahjong,3,776,
+senjou_no_valkyria_1,3,776,
+rx-78-2,4,776,
+lightning_farron,4,776,"lightning_(ff13),lightning_(ffxiii)"
+kuro_kosyou,1,776,
+koyama_yuzu,4,776,
+cartoon_bone,0,776,
+teacher_and_student,0,775,
+takei_hisa,4,775,
+takasaki_yuu,4,775,anata-chan_(love_live!)
+inaba_shiki,1,775,
+hands_on_shoulders,0,775,
+edmond_dantes_(fate),4,775,edmond_dantes_(fate/grand_order)
+watarui,1,774,
+twitter_sample,5,774,
+orange_leotard,0,774,
+multiple_heads,0,774,
+kohinata_miku,4,774,
+kinchaku,0,774,
+hino_akane_(idolmaster),4,774,
+electrical_outlet,0,774,"electric_socket,electrical_socket,power_outlet,power_socket"
+tasaka_shinnosuke,1,773,"chocho_police,takara_shinnosuke"
+shigino_sohuzi,1,773,souji
+saru,1,773,
+nipple_bar,0,773,
+nejiri_hachimaki,0,773,
+eureka,4,773,
+credits_page,0,773,
+colored_nipples,0,773,
+bar_stool,0,773,
+type-moon,3,772,"type_moon,typemoon"
+multicolored_footwear,0,772,
+elephant,0,772,
+clothes_between_thighs,0,772,
+yo-yo,0,771,yoyo
+tail_hug,0,771,
+orange_sleeves,0,771,
+cartridge,0,771,
+brynhildr_(fate),4,771,
+windmill,0,770,windmills
+unasaka_ryou,1,770,
+tsuchinoko_(kemono_friends),4,770,
+onija_tarou,1,770,onija_taro
+mummy,0,770,
+luna_nova_school_uniform,0,770,
+kerchief,0,770,
+jack-o'_valentine,4,770,
+hair_flowing_over,0,770,
+dokomon,1,770,
+ass-to-ass,0,770,ass_to_ass
+aoki_(fumomo),1,770,
+uchuu_senkan_yamato_2199,3,769,
+pannacotta_fugo,4,769,
+licking_armpit,0,769,armpit_licking
+kamisato_ayato,4,769,
+ichigo_hitofuri,4,769,
+cure_peach,4,769,
+bullying,0,769,
+aqua_jacket,0,769,
+yamabuki_inori,4,768,
+takakura_himari,4,768,
+herada_mitsuru,1,768,hole_of_yago
+swinging,0,767,
+sukusuku_hakutaku,0,767,
+sephiroth,4,767,
+linked_piercing,0,767,linked_piercings
+kikumon,0,767,
+kiki_(majo_no_takkyuubin),4,767,kiki
+hololive_idol_uniform,0,767,
+holding_ribbon,0,767,
+hinatsuru_ai,4,767,
+eldritch_abomination,0,767,
+yuni_(princess_connect!),4,766,shingyouji_yuni
+sextuplets,0,766,
+oshiete!_galko-chan,3,766,"oshiete!_gyaru-ko-chan,please_tell_me!_galko-chan"
+in_water,0,766,
+cursor,0,766,
+curren_chan_(umamusume),4,766,
+amagi_(azur_lane),4,766,
+umanosuke,1,765,
+two-handed_handjob,0,765,two_handed_handjob
+tanned_cirno,4,765,
+rosmontis_(arknights),4,765,
+leaf_umbrella,0,765,
+kapatarou,1,765,
+kamitsubaki_studio,3,765,virtual_kaf
+joy-con,0,765,
+hands_on_another's_hips,0,765,
+guzma_(pokemon),4,765,guzuma_(pokemon)
+toon_(style),0,764,"cartoon,toon"
+tengu_mask,0,764,
+nonco,1,764,
+moose_(kemono_friends),4,764,
+kabuto_(helmet),0,764,"kabuto,samurai_helmet"
+cephalopod_eyes,0,764,octopus_eyes
+avatar:_the_last_airbender,3,764,
+saunders_school_uniform,0,763,
+gotyou,1,763,"gochou_(atemonai_heya),gochou_(comedia80)"
+gogiga_gagagigo,1,763,
+family_crest,0,763,
+eva_01,4,763,
+elbows_on_table,0,763,
+amazuyu_tatsuki,1,763,amaduyu_tatsuki
+amazon_(taitaitaira),1,763,
+zora,0,762,
+speaking_tube_headset,0,762,
+print_sarong,0,762,
+post-apocalypse,0,762,post-apocalyptic
+harigane_shinshi,1,762,
+hairu,1,762,
+grey_capelet,0,762,
+fantasy_earth_zero,3,762,
+elizabeth_bathory_(brave)_(fate),4,762,
+boxcutter,0,762,box_cutter
+akame_ga_kill!,3,762,
+z-ring,0,761,
+yuuki_haru,4,761,
+tented_shirt,0,761,
+pointy_nose,0,761,
+matoi_(pso2),4,761,
+dorothea_arnault,4,761,
+amasora_taichi,1,761,setsuna_samidare
+zooey_(granblue_fantasy),4,760,the_order_grande
+sneezing,0,760,sneeze
+ri-class_heavy_cruiser,4,760,
+pink_cape,0,760,
+pet,0,760,
+misunderstanding,0,760,
+ini_(inunabe00),1,760,
+humboldt_penguin_(kemono_friends),4,760,
+hakurei_shrine,0,760,
+haimura_kiyotaka,1,760,kiyotaka_haimura
+clothes_tug,0,760,
+tongs,0,759,
+mon-musu_quest!,3,759,monster_girl_quest
+meka_(overwatch),0,759,
+konpaku_youki,4,759,
+bookbag,0,759,
+band_uniform,0,759,
+2007,0,759,
+weightlifting,0,758,lifting_weights
+sugar_cube,0,758,"sugar_cube_(object),sugar_cubes"
+senji_muramasa_(fate),4,758,"limited/zero_over,sengo_muramasa_(fate)"
+petenshi_(dr._vermilion),1,758,"dr._vermilion,dr.vermilion,dr_vermilion,petenshi"
+momoko_(momopoco),1,758,momoco_(momoco_haru)
+milla_maxwell,4,758,
+kouno_hikaru,1,758,hikarino_hikaru
+jacket_pull,0,758,
+atago_(stunning_speedster)_(azur_lane),4,758,
+abigail_williams_(third_ascension)_(fate),4,758,
+tumblr_username,0,757,
+saber_alter_(ver._shinjuku_1999)_(fate),4,757,jet_black_king_of_knights_ver._shinjuku_1999
+massage,0,757,
+maruyama_aya,4,757,
+blood_in_hair,0,757,"blood_on_hair,bloody_hair"
+super_saiyan_1,0,756,
+seat,0,756,
+sakimori_dan,1,756,"danbo_(rock_clime),homeless_mk_ii"
+sakagami_tomoyo,4,756,
+oomori_yuuko,4,756,
+ibuki_(street_fighter),4,756,
+group_hug,0,756,
+ear_wiggle,0,756,
+ara_haan,4,756,"ara_(elsword),ara_han"
+yellow_cape,0,755,
+wata_do_chinkuru,1,755,
+ryoumen_sukuna_(jujutsu_kaisen),4,755,
+pumpkin_hair_ornament,0,755,
+personality_switch,0,755,"body_swap,body_switch,personality_swap"
+note,0,755,
+aki_rosenthal,4,755,akirose
+tea_set,0,754,
+pink_border,0,754,
+oekakizuki,1,754,
+long_neck,0,754,
+kiritto,1,754,
+holding_bucket,0,754,
+hinata_hideki,4,754,hinata_(angel_beats!)
+harime_nui,4,754,
+clothes_theft,0,754,"clothes_thief,clothing_thief"
+774_(nanashi),1,754,
+wisespeak,1,753,"hikomaro610,rubbishfox"
+pizza_slice,0,753,slice_of_pizza
+natalia_(idolmaster),4,753,
+double_fox_shadow_puppet,0,753,double_fox_hand_sign
+chrom_(fire_emblem),4,753,"chrom_(fire_emblem:_awakening),krom"
+capcom_fighting_jam,3,753,capcom_fighting_evolution
+butter,0,753,
+beatrix_(granblue_fantasy),4,753,
+apple_inc.,3,753,
+shampoo_(ranma_1/2),4,752,shampoo_(ranma›)
+ornament,0,752,ornaments
+mole_on_body,0,752,
+mk_(mod0),1,752,kazu
+meer_campbell,4,752,meer
+kobuichi,1,752,
+kiku_hitomoji,1,752,
+hayabusa,1,752,
+clumsy_nun_(diva),4,752,protagonist_nun_(diva)
+clown,0,752,
+bishamonten's_spear,0,752,
+toaru_majutsu_no_index:_new_testament,3,751,to_aru_majutsu_no_index:_new_testament
+senran_kagura_new_wave,3,751,
+sakura_oriko,1,751,
+redrop,1,751,otsumami
+nagara_(kancolle),4,751,nagara_(kantai_collection)
+mikakunin_de_shinkoukei,3,751,engaged_to_the_unidentified
+lipgloss,0,751,
+legband,0,751,leg_band
+hand_on_headphones,0,751,
+aqua_bra,0,751,
+aoba_moca,4,751,
+animal_on_arm,0,751,
+wardrobe_error,0,750,
+variable_fighter,0,750,
+udon_(shiratama),1,750,
+the_king_of_fighters_xv,3,750,
+spiked_choker,0,750,
+shaking,0,750,
+panties_under_buruma,0,750,
+kagami_mochi,0,750,
+journey_to_the_west,3,750,
+heart_collar,0,750,
+gawain_(fate),4,750,"gawain_(fate/extra),gawain_(fate/grand_order),gawain_(fate/stay_night)"
+g36_(girls'_frontline),4,750,g36_(girls_frontline)
+cart,0,750,
+caitlyn_(league_of_legends),4,750,
+y'shtola_rhul,4,749,
+upturned_eyes,0,749,
+oni-noboru,1,749,
+omikuji,0,749,
+m200_(girls'_frontline),4,749,m200_(girls_frontline)
+keep_out,0,749,
+hair_dryer,0,749,"blow_dryer,blowdryer,hairdryer"
+galo_thymos,4,749,
+year_of_the_dog,0,748,
+trish_una,4,748,
+tandohark,1,748,
+takayaki,1,748,
+n.g.,1,748,
+minamura_haruki,1,748,
+holding_envelope,0,748,
+fishing_line,0,748,fishing_lines
+ene_(kagerou_project),4,748,
+blue_feathers,0,748,
+adjusting_panties,0,748,
+zeon,0,747,
+yumeko_(touhou),4,747,yumeko
+toe_ring,0,747,
+senkawa_chihiro,4,747,
+roon_(azur_lane),4,747,
+mismatched_eyebrows,0,747,
+iori_rinko,4,747,
+gokkun,0,747,cum_drinking
+full_metal_panic!,3,747,"full_metal_panic,fullmetalpanic"
+feater_(arknights),4,747,
+argyle_sweater,0,747,
+tight_dress,0,746,
+tears_of_themis,3,746,
+sora_ginko,4,746,
+sayagata,0,746,
+saibou_shinkyoku,3,746,
+orange_skin,0,746,
+em_(totsuzen_no_hakike),1,746,em
+dithering,0,746,
+chin_strap,0,746,
+butterfly_brooch,0,746,
+buster_sword,0,746,
+american_flag_print,0,746,
+shoujo_kitou-chuu,0,745,girls_are_praying
+rakugaki-biyori,1,745,hachimakirin
+pyra_(pro_swimmer)_(xenoblade),4,745,
+pokemon_emerald,3,745,
+pinstripe_shirt,0,745,
+lap_pillow_invitation,0,745,
+kurokoshou_(emuburemu123),1,745,
+dragon_quest_ii,3,745,dragon_quest_2
+cheek_pull,0,745,cheek_tug
+braixen,4,745,
+air_groove_(umamusume),4,745,
+pegasus_knight_uniform_(fire_emblem),0,744,"pegasus_knight,pegasus_knight_(fire_emblem)"
+pegasus,0,744,
+lizard,0,744,
+lisbeth,4,744,
+latex_legwear,0,744,
+inu_(aerodog),1,744,"aerodog,inu_(pixiv32426),takahata_keiichi"
+grand_piano,0,744,
+crescent_print,0,744,
+calem_(pokemon),4,744,"callum_(pokemon),calme_(pokemon),male_protagonist_(pokemon_xy),x_(pokemon)"
+thick_lips,0,743,
+strike_the_blood,3,743,
+star_tattoo,0,743,
+sol_badguy,4,743,
+polka_dot_shirt,0,743,polka_dot_blouse
+kopaka_(karda_nui),1,743,
+holding_ladle,0,743,
+blue_border,0,743,
+bb_(swimsuit_mooncancer)_(second_ascension)_(fate),4,743,
+abigail_williams_(swimsuit_foreigner)_(third_ascension)_(fate),4,743,
+mossacannibalis,1,742,
+mika_pikazo,1,742,
+juice,0,742,
+halcon,1,742,harukon_(halcon)
+floating_cape,0,742,cape_billowing
+fatal_frame,3,742,
+dog_penis,0,742,
+dialogue_box,0,742,
+breast_cutout,0,742,
+purple_horns,0,741,
+pagoda,0,741,
+oversized_limbs,0,741,
+nelson_(kancolle),4,741,nelson_(kantai_collection)
+naoe_riki,4,741,
+live_a_hero,3,741,
+holomyth,0,741,
+hand_mirror,0,741,
+god_eater_burst,3,741,gods_eater_burst
+beetle,0,741,
+zheng,1,740,
+splattershot_(splatoon),0,740,
+shashaki,1,740,tdnd-96
+ryusei_hashida,1,740,kawaikochan
+rita_mordio,4,740,
+prostration,0,740,orz
+nanaroku_(fortress76),1,740,kuroneko1911a1
+log_horizon,3,740,
+frilled_leotard,0,740,
+fish_boy,0,740,fishman
+plume,0,739,
+platelet_(hataraku_saibou),4,739,
+kurou_(quadruple_zero),1,739,tamaran
+jigoku_shoujo,3,739,jigokushoujo
+white_day,0,738,
+takane_lui,4,738,
+niliu_chahui,1,738,
+momiji_mao,1,738,
+messy_room,0,738,
+kuki_shinobu,4,738,
+korra,4,738,
+kanabun,1,738,
+flower_over_eye,0,738,
+floating_scarf,0,738,flowing_scarf
+yuudachi_(azur_lane),4,737,
+taokaka,4,737,
+okobo,0,737,
+kasuga_yukihito,1,737,
+japan,0,737,
+futari_wa_precure_splash_star,3,737,futari_wa_pretty_cure_splash_star
+tomimi_(arknights),4,736,
+photorealistic,0,736,
+nintendo_3ds,0,736,
+logo_parody,0,736,
+kotoba_noriaki,1,736,
+kawakami_rokkaku,1,736,rokkaku_(ajisaidenden)
+kairi_(kingdom_hearts),4,736,
+gokotai,4,736,
+dead_master,4,736,
+yuigaoka_school_uniform,0,735,
+yamu_(reverse_noise),1,735,reverse_noise
+wooden_chair,0,735,
+tofuubear,1,735,
+ssss.dynazenon,3,735,
+sorimachi-doufu,1,735,merry_(168cm)
+sonia_nevermind,4,735,
+popped_button,0,735,"button_pop,popped_buttons"
+neck_tassel,0,735,
+manya_(dq4),4,735,manya
+height_chart,0,735,
+flower_bracelet,0,735,
+sitting_backwards,0,734,backwards_sitting
+sajo_yukimi,4,734,"sajou_yukimi,sajou_yukimi"
+rena_erindel,4,734,rena_(elsword)
+mifune_miyu,4,734,
+kido_tsubomi,4,734,
+kawata_hisashi,1,734,
+forced_orgasm,0,734,
+acerola_(pokemon),4,734,
+king_halo_(umamusume),4,733,
+implied_fellatio,0,733,
+ichikawa_hinana,4,733,
+gerudo,0,733,
+ferret,0,733,
+erubo,1,733,
+bazett_fraga_mcremitz,4,733,bazette_fraga_mcremitz
+winding_key,0,732,
+shoukaku_(azur_lane),4,732,
+shokudaikiri_mitsutada,4,732,
+saki_chisuzu,1,732,sakichi_suzu
+pink_fur,0,732,
+mount_fuji,0,732,
+iori_(blue_archive),4,732,
+head_on_chest,0,732,
+dock,0,732,
+behind_back,0,732,
+x-shaped_pupils,0,731,
+world_cup,3,731,
+wizard,0,731,sorcerer
+whoosaku,1,731,"angelo_(gomahangetsu),hoosaku"
+super_creek_(umamusume),4,731,
+subterranean_animism,3,731,
+soviet,0,731,soviet_union
+sauna,0,731,
+onsoku_inu,1,731,onsoku_maru
+narita_brian_(umamusume),4,731,
+levitation,0,731,
+jeanne_d'arc_(swimsuit_archer)_(first_ascension)_(fate),4,731,
+hungry,0,731,
+game_boy,0,731,gameboy
+crowbar,0,731,
+seki_(red_shine),1,730,aka_(red_shine)
+rune_factory,3,730,
+regina_(dokidoki!_precure),4,730,regina_(precure)
+minotaur,0,730,
+michael_f91,1,730,michael
+mami_mogu_mogu,0,730,
+drag-on_dragoon,3,730,drakengard
+ameyama_denshin,1,730,ameyamadenshin
+ako_(blue_archive),4,730,
+youjo_senki,3,729,saga_of_tanya_the_evil
+x,0,729,
+sailor_saturn,4,729,
+miyase_mahiro,1,729,
+ivy,0,729,
+clock_eyes,0,729,clock_eyed
+cardigan_around_waist,0,729,
+torture,0,728,
+swire_(arknights),4,728,
+ring_gag,0,728,
+pneuma_(xenoblade),4,728,
+kimmy77,1,728,alfred_cullado
+jetpack,0,728,
+eirika_(fire_emblem),4,728,
+cloth,0,728,
+beam,0,728,
+yamamura_sadako,4,727,
+steak,0,727,
+sousou_(sousouworks),1,727,sawasawa
+sakimori_(hououbds),1,727,bou_nin
+radish,0,727,
+okazaki_tomoya,4,727,
+master_3_(housamo),4,727,master_3_(tokyo_houkago_summoners)
+infinity,0,727,
+huyumitsu,1,727,
+ear_protection,0,727,
+dragon_ball_super_broly,3,727,
+print_mug,0,726,
+pixiv_fantasia_t,3,726,
+okita_sougo,4,726,
+momo_no_sukebe,1,726,ebekus_omom
+ingrid_brandl_galatea,4,726,ingrid_brandol_galatea
+hirose_koichi,4,726,hirose_kouichi
+head_on_hand,0,726,
+diesel-turbo,1,726,
+cluseller,1,726,
+agent_aika,3,726,
+white_armor,0,725,
+pov_across_table,0,725,
+nigou,1,725,"justice_fist,triple_break"
+knotted_penis,0,725,
+kaine_(nier),4,725,
+hasumi_(blue_archive),4,725,
+dress_swimsuit,0,725,
+book_hug,0,725,
+berry_(pokemon),0,725,
+agrias_oaks,4,725,
+shinapuu,1,724,
+shimmer,1,724,
+puppy,0,724,
+pectoral_focus,0,724,
+mitya,1,724,miicha
+mikan_(chipstar182),1,724,nekomanma_(chipstar182)
+gunblade,0,724,
+green_sclera,0,724,
+tennouji_rina,4,723,
+st._louis_(luxurious_wheels)_(azur_lane),4,723,
+sparkle_print,0,723,
+sekaiju_no_meikyuu_1,3,723,etrian_odyssey_i
+natori_(kancolle),4,723,natori_(kantai_collection)
+mary_(ib),4,723,
+extra_faces,0,723,
+carmilla_(fate),4,723,carmilla_(fate/grand_order)
+body_armor,0,723,
+ad,0,723,"advertisement,advertising"
+sleeve_grab,0,722,"sleeve_tug,sleeves_grab"
+skull_necklace,0,722,
+pussy_juice_drip_through_clothes,0,722,
+nearl_(arknights),4,722,
+minato_ojitan,1,722,minato_(ojitan_gozaru)
+mikko_(girls_und_panzer),4,722,
+matoba_risa,4,722,
+kogitsunemaru,4,722,
+bear_tail,0,722,
+ammunition_pouch,0,722,ammo_pouch
+wakan_tanka,4,721,
+tsuji_santa,1,721,
+small-clawed_otter_(kemono_friends),4,721,otter_(kemono_friends)
+moyoron,1,721,nosuke_(pixiv)
+mast,0,721,
+dragon_boy,0,721,
+diving,0,721,
+animal_ear_headwear,0,721,
+tokyo_revengers,3,720,
+taihou_(forbidden_feast)_(azur_lane),4,720,
+solid_eyes,0,720,
+numbers_(nanoha),0,720,
+nitocris_(swimsuit_assassin)_(fate),4,720,
+meltryllis_(swimsuit_lancer)_(second_ascension)_(fate),4,720,
+joy_ride,1,720,
+strapless_bottom,0,719,
+pokoten_(pokoten718),1,719,yamaarashi
+lina_inverse,4,719,
+kuzuryuu_kennosuke,1,719,
+en'en_no_shouboutai,3,719,"enen_no_shoubotai,fire_force"
+douluo_dalu,3,719,
+white_sarong,0,718,
+tsukumo_(soar99),1,718,tsukumo
+shin_(new),1,718,"cheeeeta,newhonpo"
+osiimi,1,718,
+oonusa,0,718,
+lavinia_whateley_(fate),4,718,lavinia_whateley_(fate/grand_order)
+kiwi_(fruit),0,718,kiwifruit
+hitodama_print,0,718,
+french_flag,0,718,
+cream_on_face,0,718,
+akaboshi_koume,4,718,
+wrong_feet,0,717,
+white_rabbit_(alice_in_wonderland),4,717,"white_rabbit,white_rabbit_(wonderland)"
+vsinger,3,717,"vocaloid_china,vocanese"
+vane_(granblue_fantasy),4,717,
+sickle,0,717,
+seijun,1,717,
+pixiv_fantasia_fallen_kings,3,717,
+ingo_(pokemon),4,717,nobori_(pokemon)
+hori_(hori_no_su),1,717,
+yurigaoka_girls_academy_school_uniform,0,716,
+two-tone_bow,0,716,
+satanichia_kurumizawa_mcdowell,4,716,"kurumizawa_satanichia_mcdowell,satania_(gabriel_dropout)"
+nogi_takayoshi,1,716,
+model_kit,0,716,plamo
+helltaker_(character),4,716,
+gate_-_jieitai_ka_no_chi_nite_kaku_tatakaeri,3,716,
+eunectes_(arknights),4,716,
+cure_heart,4,716,
+condom_box,0,716,
+setsuna_f._seiei,4,715,setsuna_f_seiei
+pekeko_(pepekekeko),1,715,pepekekeko
+noble_witches,3,715,
+mitre,0,715,
+hanami,0,715,"cherry_blossom_viewing,flower_viewing,ohanami"
+fujisaki_hikari,1,715,
+bouncing_ass,0,715,
+blue_sarong,0,715,
+battleship,0,715,
+yamato_(one_piece),4,714,
+marumikan,1,714,marumikamo
+kuro_suto_sukii,1,714,
+keizoku_school_uniform,0,714,
+isobe_noriko,4,714,
+inami_mahiru,4,714,
+enemy_naval_mine_(kancolle),4,714,enemy_naval_mine_(kantai_collection)
+charlotte_(anime),3,714,
+celes_chere,4,714,
+track_uniform,0,713,
+silver_dress,0,713,
+pink_eyeshadow,0,713,
+kishida_shiki,1,713,
+9law,1,713,
+serial_experiments_lain,3,712,
+ryuu_ga_gotoku_(series),3,712,"like_a_dragon_(series),ryuu_ga_gotoku,yakuza_(series)"
+oshino_ougi,4,712,
+narita_taishin_(umamusume),4,712,
+meta_knight,4,712,
+merlin_(fate/prototype),4,712,
+jill_stingray,4,712,julianne_stingray
+finana_ryugu,4,712,
+evil,0,712,
+cure_rhythm,4,712,
+40hara,1,712,
+solid_circle_pupils,0,711,(o)_(o)
+shell_necklace,0,711,seashell_necklace
+polka_dot_ribbon,0,711,
+paul_bunyan_(fate),4,711,paul_bunyan_(fate/grand_order)
+mudou_eichi,1,711,
+kinkymation,1,711,
+green_socks,0,711,green_kneehighs
+ganbare_douki-chan,3,711,
+food-themed_earrings,0,711,food_themed_earrings
+flower_necklace,0,711,
+filia_(skullgirls),4,711,
+epic_seven,3,711,epic7
+yellow_sky,0,710,
+sitting_on_bench,0,710,
+shared_object_insertion,0,710,shared_insertion
+maid_day,0,710,
+kazami_yuuka_(pc-98),4,710,kazami_yuuka_(classic)
+jockstrap,0,710,
+hospital_gown,0,710,
+holding_cane,0,710,holding_walking_stick
+himajin_noizu,1,710,himajin_no_izu
+guard_rail,0,710,
+goldenglow_(arknights),4,710,
+curiosities_of_lotus_asia,3,710,
+testicle_grab,0,709,
+rou-kyuu-bu!,3,709,ro-kyu-bu!
+nikka_edvardine_katajainen,4,709,
+naomi_(girls_und_panzer),4,709,
+kojima_saya,1,709,
+flower_tattoo,0,709,
+clothesline,0,709,
+arona_(blue_archive),4,709,
+yamper,4,708,
+t2r,1,708,
+sirius_(scorching-hot_seirios)_(azur_lane),4,708,sirius_(midsummer_seirios)_(azur_lane)
+onegai_my_melody,3,708,onegaimymelody
+mmm_threesome,0,708,
+kikuzuki_(kancolle),4,708,kikuzuki_(kantai_collection)
+haruno_haruka,4,708,
+green_scrunchie,0,708,
+elizabeth_bathory_(first_ascension)_(fate),4,708,
+elesis_(elsword),4,708,
+butterfly_sitting,0,708,butterfly_pose
+brown_tail,0,708,
+box_of_chocolates,0,708,chocolate_box
+bikini_shorts,0,708,
+ankle_grab,0,708,
+projekt_red_(arknights),4,707,
+pomu_rainpuff,4,707,
+me-tan,4,707,me
+inazuma_eleven_go_galaxy,3,707,
+fujimaru_ritsuka_(male)_(polar_chaldea_uniform),4,707,
+toudou_yurika,4,706,
+throwing_knife,0,706,throwing_knives
+spanish_commentary,5,706,
+sd_gundam,3,706,
+rei_(rei's_room),1,706,
+muririn,1,706,
+hair_between_breasts,0,706,
+cross-laced_legwear,0,706,
+crewmate_(among_us),4,706,
+cleave_gag,0,706,"cleave_gagged,cleavegag"
+boushi-ya,1,706,
+rei_no_pool,0,705,that_pool
+nora_higuma,1,705,
+mother_3,3,705,
+mash_kyrielight_(swimsuit_of_perpetual_summer),4,705,swimsuit_of_perpetual_summer
+hunter_(bloodborne),4,705,
+hagoromo_lala,4,705,
+chocobo,4,705,
+belldandy,4,705,
+swastika,0,704,
+sf-a2_miki,4,704,"miki,miki_(vocaloid)"
+sewing,0,704,
+seal_(animal),0,704,seal
+reisen_(touhou_bougetsushou),4,704,reisen
+nikaidou_saki,4,704,
+mat,0,704,
+kariya_masaki,4,704,
+hoshino_ruri,4,704,
+galaxy,0,704,galaxies
+eye_black,0,704,
+culter,1,704,
+army,0,704,
+team_fortress_2,3,703,
+shiratama_(shiratamaco),1,703,sarico
+multicolored_stripes,0,703,
+lowleg_skirt,0,703,
+kotobuki_(tiny_life),1,703,
+ancesra,1,703,
+alolan_vulpix,4,703,
+swordsouls,1,702,
+possessed,0,702,
+licking_foot,0,702,"foot_lick,foot_licking"
+isolated_island_oni,4,702,
+hook,0,702,
+gundam_build_divers_re:rise,3,702,
+g_(genesis1556),1,702,g_(desukingu)
+uneven_twintails,0,701,
+sock_pull,0,701,
+sion_eltnam_atlasia,4,701,
+sainan_high_school_uniform,0,701,
+pumpkin_hat,0,701,
+muuran,1,701,
+mokufuu,1,701,
+leather_pants,0,701,
+eretto,1,701,utsura_uraraka
+dragonfly,0,701,
+dinergate_(girls'_frontline),4,701,dinergate_(girls_frontline)
+dark_sakura,4,701,black_sakura
+caliburn_(fate),0,701,caliburn
+aoi_(annbi),1,701,
+acorn,0,701,acorns
+yellow_tank_top,0,700,
+torriet,1,700,torieto
+reinforce,4,700,
+orange_vest,0,700,
+on_motorcycle,0,700,
+mosho,1,700,
+mae_(maesanpicture),1,700,
+heaven's_feel,3,700,
+hands_on_ground,0,700,
+fat_rolls,0,700,fat_folds
+expression_chart,0,700,
+character_hair_ornament,0,700,
+box_art,0,700,boxart
+abe_kanari,1,700,
+salad,0,699,
+roboco-san,4,699,
+pink_sky,0,699,
+norasuko,1,699,
+error_musume,4,699,
+year_of_the_pig,0,698,
+touwa_erio,4,698,
+touching,0,698,
+totokichi,1,698,fujimiya_yuu
+sazaki_ichiri,1,698,
+platinum_the_trinity,4,698,
+perth_(kancolle),4,698,perth_(kantai_collection)
+osashin_(osada),1,698,shin_osada
+no-kan,1,698,._(mdm_pk)
+miracle_mallet,0,698,
+kuzuha_(nijisanji),4,698,
+iwashi_dorobou_-r-,1,698,iwasi-r
+ichinose_kotomi,4,698,
+holding_own_foot,0,698,
+heracles_(fate),4,698,berserker
+harusame_(unmei_no_ikasumi),1,698,
+cool-kyou_shinja,1,698,kuuru_kyou_shinja
+between_toes,0,698,
+aqua_neckerchief,0,698,
+above_clouds,0,698,
+zuikaku_(azur_lane),4,697,
+triplets,0,697,
+takumi_(fire_emblem),4,697,takumi_(fire_emblem_if)
+shiina_mayuri,4,697,
+mashiro_yukiya,1,697,0yukiya0
+kabocha_torute,1,697,
+jun_(seojh1029),1,697,
+breath_of_fire_ii,3,697,bof2
+absolutely_everyone,0,697,
+whiskey,0,696,
+vacuum_cleaner,0,696,vacuum
+time_bokan_(series),3,696,
+soukou_akki_muramasa,3,696,
+rabbit_costume,0,696,bunny_costume
+mosha,1,696,
+leonardo_da_vinci_(rider)_(fate),4,696,
+greek_clothes,0,696,
+crawling,0,696,
+buruma_aside,0,696,
+at_classics,1,696,
+tomioka_giyuu,4,695,
+sussurro_(arknights),4,695,
+suicide,0,695,
+prototype,0,695,
+okinami_(kancolle),4,695,okinami_(kantai_collection)
+i-13_(kancolle),4,695,i-13_(kantai_collection)
+hong_(white_spider),1,695,"shirospider,white_spider_(hong)"
+holding_letter,0,695,
+grey_bodysuit,0,695,gray_bodysuit
+genyaky,1,695,kyouya_(mukuro238)
+zucchini,1,694,
+utsumi_erice,4,694,utsumi_erise
+sadism,0,694,
+martial_arts_belt,0,694,
+lace_choker,0,694,
+knight_(chess),0,694,
+kirisawa_juuzou_(character),4,694,
+cherry_hair_ornament,0,694,
+akita_neru,4,694,
+affectionate,0,694,
+yusa_kozue,4,693,
+turn_a_gundam,3,693,
+titan_(shingeki_no_kyojin),4,693,
+pool_of_blood,0,693,blood_pool
+pixiv_username,0,693,
+ooarai_(emblem),0,693,
+nakasu_kasumi,4,693,
+kyuudou,0,693,kyuudo
+kawashima_ami,4,693,
+inkwell,0,693,
+igarashi_kyou_(eroe),4,693,
+hoshino_(girls_und_panzer),4,693,
+homu,0,693,
+satou_shouji,1,692,"digital_accel_works,inazuma,inazuma_(digital_accel_works)"
+makai_senki_disgaea_2,3,692,disgaea_2
+long_earlobes,0,692,"earlobes,stretched_earlobes"
+kagematsuri,1,692,
+tanya_degurechaff,4,691,
+shared_speech_bubble,0,691,
+long_tail,0,691,
+kurosaki_ichigo,4,691,
+dream_soul,0,691,
+detached_hair,0,691,
+2k-tan,4,691,2k
+zankuro,1,690,
+yamada_aoi,4,690,
+waifu2x,5,690,
+shinonome_nano,4,690,
+nyan,0,690,
+kirlia,4,690,
+iwakura_lain,4,690,
+holding_head,0,690,
+green_eyeshadow,0,690,
+foot_hold,0,690,
+fidgeting,0,690,fidget
+shishio_chris,4,689,shishiou_chris
+sakimiya_(inschool),1,689,
+rhodes_island_logo,0,689,
+kusugawa_sasara,4,689,
+italian_text,0,689,italian
+irako_(kancolle),4,689,irako_(kantai_collection)
+gashi-gashi,1,689,
+fukuda_haru,4,689,fukuda_(girls_und_panzer)
+folded_hair,0,689,
+bunny_hat,0,689,
+aurora,0,689,"aurora_borealis,northern_lights"
+raichu,4,688,
+kissing_penis,0,688,penis_kiss
+feldt_grace,4,688,felt_grace
+deco_(geigeki_honey),1,688,
+squall_leonhart,4,687,
+long_toenails,0,687,
+kurikara,1,687,
+naked_cloak,0,686,
+melon22,1,686,temmasa22
+enma_ai,4,686,
+takimoto_hifumi,4,685,
+stheno_(fate),4,685,stheno
+splatter,0,685,
+severed_limb,0,685,severed_limbs
+parrot,0,685,
+pants_tucked_in,0,685,pants_in_boots
+modare,1,685,mossi
+kisetsu,1,685,
+in_palm,0,685,
+i.u.y,1,685,
+grimoire_of_alice,0,685,
+erika_(pokemon),4,685,
+crescent_rose,0,685,
+contrast,0,685,
+yu-gi-oh!_zexal,3,684,"yugioh_zexal,yuu-gi-ou_zexal"
+vi_(league_of_legends),4,684,
+sumeragi_kohaku,1,684,
+stone_stairs,0,684,
+socha,1,684,
+sen_to_chihiro_no_kamikakushi,3,684,spirited_away
+sei_shounagon_(fate),4,684,
+mononoke_hime,3,684,princess_mononoke
+k_hiro,1,684,shuuji_rou
+isshi_pyuma,1,684,puma_(hyuma1219)
+glove_biting,0,684,glove_bite
+fishnet_bodysuit,0,684,
+cola,0,684,
+alternate_pectoral_size,0,684,
+orange_cape,0,683,
+multicolored_hairband,0,683,
+mimonel,1,683,
+mewtwo,4,683,
+implied_yaoi,0,683,
+fuya_(tempupupu),1,683,
+yuri_sakazaki,4,682,sakazaki_yuri
+shoujo_shuumatsu_ryokou,3,682,girls'_last_tour
+shindan_maker,0,682,
+sengoku_musou,3,682,samurai_warriors
+semiramis_(fate),4,682,
+seiru_(prairie),1,682,hijiri_ruka
+satake_minako,4,682,
+roxie_(pokemon),4,682,homika_(pokemon)
+mamerakkkkko,1,682,mame_rakko
+kodomo_no_jikan,3,682,kojika
+hoshi_san_3,1,682,
+hair_on_horn,0,682,
+checkered_shirt,0,682,checkered_blouse
+black_hanekawa,4,682,
+1970s_(style),0,682,"70's,70s"
+zun_(style),0,681,oota_jun'ya_(style)
+sora_no_otoshimono,3,681,heaven's_lost_property
+pochi_(pochi-goya),1,681,pochi-goya
+yosuga_no_sora,3,680,
+star_fox,3,680,starfox
+roke_(taikodon),1,680,
+puru-see_(hoshizuki_(seigetsu)),4,680,puru-see
+oberon_(fate),4,680,
+kneesocks_(psg),4,680,
+ibuki_tsubasa,4,680,
+holding_another's_hair,0,680,
+do_m_kaeru,1,680,
+blue_tank_top,0,680,
+tsukimiya_ayu,4,679,
+sweaty_clothes,0,679,
+otokura_yuuki,4,679,
+kickboard,0,679,wakeboard
+jabara_tornado,1,679,jabara921
+holding_jewelry,0,679,
+fuzichoco,1,679,fuji_choko
+fujimaru_ritsuka_(female)_(polar_chaldea_uniform),4,679,
+bulletin_board,0,679,"corkboard,corkboard"
+sophie_(tales),4,678,sophie_(tales_of_graces)
+self_hug,0,678,
+oil,0,678,
+multiple_moles,0,678,
+masu,0,678,
+lyre,0,678,
+heart-shaped_eyes,0,678,"heart_eye,heart_eyes,ÔÖÑ_ÔÖÑ"
+grandia,3,678,
+facebook_username,0,678,
+black_heart,4,678,
+arataki_itto,4,678,itto_(genshin_impact)
+watching_television,0,677,watching_tv
+umishima_senbon,1,677,
+ryugasaki_rene,4,677,ryuugasaki_rene
+raptor7,1,677,
+neko_majin,1,677,
+musical_note_print,0,677,
+mole_on_cheek,0,677,
+kuradoberi_jam,4,677,
+konpeto,1,677,lala-kun
+gasai_yuno,4,677,
+g41_(girls'_frontline),4,677,g41_(girls_frontline)
+aragaki_shinjirou,4,677,shinjirou_aragaki
+yumeno_himiko,4,676,
+yappen,1,676,
+kaga3chi,1,676,
+hair_lift,0,676,
+fingersmile,0,676,finger_smile
+asbel_lhant,4,676,
+tenjou_utena,4,675,
+single_epaulette,0,675,
+sand_cat_(kemono_friends),4,675,
+princess_of_moonbrook,4,675,
+mysterious_heroine_x_alter_(first_ascension)_(fate),4,675,
+konno_tohiro,1,675,
+kawakami_mai,4,675,
+hibiki_(zerocodo),1,675,hibiki_zerocodo
+broken_window,0,675,
+afterglow,0,675,
+tying,0,674,
+the_king_of_fighters_xiv,3,674,
+sage_(dq3),4,674,
+no_mask,0,674,
+morgana_(persona_5),4,674,
+mochizuki_anna,4,674,
+fumitan_(humitan),1,674,"yanagida_fumita,yanagida_shita"
+falling_feathers,0,674,
+bokura_wa_ima_no_naka_de,0,674,
+symbolism,0,673,symbolic
+shun_(blue_archive),4,673,
+procreate_(medium),5,673,
+meta,0,673,
+kanaria,4,673,
+joystick,0,673,
+izayoi_liko,4,673,izayoi_riko
+implied_fingering,0,673,
+hirano_katsuyuki,1,673,tairano_katsuyuki
+hentai_ouji_to_warawanai_neko.,3,673,"henneko,hentai_ouji_to_warawanai_neko,the_""hentai""_prince_and_the_stony_cat."
+h&k_ump,0,673,"hk_ump,ump"
+gomtang,1,673,
+cum_in_container,0,673,
+yasuyuki,1,672,
+two-sided_dress,0,672,
+trafalgar_law,4,672,
+tendou_akane,4,672,tendo_akane
+solid_snake,4,672,
+roll_caskett_(mega_man),4,672,roll_caskett
+multiple_drawing_challenge,0,672,
+koumajou_densetsu,3,672,"koumajo_densetsu,touhouvania"
+kamen_rider_w,3,672,
+heart_on_chest,0,672,
+donkey_kong_(series),3,672,
+adjusting_necktie,0,672,
+yuri_(doki_doki_literature_club),4,671,
+watercolor_pencil_(medium),0,671,"watercolor_pencil,watercolour_pencil"
+the_iron_of_yin_and_yang,3,671,iron_of_ying&yang
+pink-tinted_eyewear,0,671,
+perfume_bottle,0,671,
+green_tail,0,671,
+grecale_(kancolle),4,671,grecale_(kantai_collection)
+elysia_(honkai_impact),4,671,
+daiaru,1,671,
+covering_one_breast,0,671,covering_breast
+syrup,0,670,
+silence_girl,1,670,whgkdud_dd
+punishing:_gray_raven,3,670,
+pendulum,0,670,
+nijimura_okuyasu,4,670,
+nakagawa_natsuki,4,670,
+guardian_tales,3,670,
+cheria_barnes,4,670,
+candlelight,0,670,
+bb_(swimsuit_mooncancer)_(third_ascension)_(fate),4,670,
+bag_of_chips,0,670,
+yuusha_to_maou,3,669,
+track_and_field,0,669,
+soap_bottle,0,669,
+shrimp_tempura,0,669,
+ribbon-trimmed_headwear,0,669,
+purple_ascot,0,669,
+perfect_cherry_blossom,3,669,
+no_jacket,0,669,
+natsuki_teru,1,669,
+makuran,1,669,
+lance_(pokemon),4,669,
+himekawa_yuki,4,669,
+hand_over_eye,0,669,
+duel_disk,0,669,
+double_horizontal_stripe,0,669,
+digital_dissolve,0,669,
+cast,0,669,
+black_clothes,0,669,
+behind-the-head_headphones,0,669,
+zen33n,1,668,"sea_(lordofk),zen_o"
+wixoss,3,668,
+toutetsu_yuuma,4,668,
+sister_cleaire,4,668,
+propeller_hair_ornament,0,668,
+mutual_masturbation,0,668,
+moose_ears,0,668,
+mogami_shizuka,4,668,
+lapras,4,668,
+kuroboshi_kouhaku,1,668,
+curled_fingers,0,668,
+corrupted_metadata,5,668,corrupted_exif_data
+calligraphy_brush_(medium),0,668,
+bikini_bottom_removed,0,668,
+arthropod_limbs,0,668,"arthropod_legs,insect_arms,insect_legs,spider_arms,spider_legs"
+yuzuna99,1,667,
+sky_print,0,667,
+seishou_elementary_school_uniform,0,667,
+hanasaku_iroha,3,667,
+chamaji,1,667,
+atdan,1,667,
+alena_(dq4),4,667,
+world_is_mine_(vocaloid),3,666,world_is_mine
+vietnamese_dress,0,666,ao_dai
+shamoji,0,666,"rice_paddle,rice_spoon"
+sekaiju_no_meikyuu_3,3,666,etrian_odyssey_iii
+pointing_at_another,0,666,
+panicking,0,666,panic
+moke_ro,1,666,mokerou
+itou_yuuji,1,666,bananang
+fujimura_taiga,4,666,
+froggy_nun_(diva),4,666,hook-bang_nun_(diva)
+blue-tinted_eyewear,0,666,
+black_keys_(type-moon),0,666,"black_key,black_keys,black_keys_(fate)"
+baby_bottle,0,666,
+shinshuu_maru_(kancolle),4,665,shinshuu_maru_(kantai_collection)
+ryuzaki_kaoru,4,665,ryuuzaki_kaoru
+le_malin_(listless_lapin)_(azur_lane),4,665,
+holding_skull,0,665,
+hardhat,0,665,
+gun_to_head,0,665,
+futatsuki_hisame,1,665,"darkhisame,soutsuki_hisame"
+focused,0,665,
+23_(real_xxiii),1,665,real_xxiii
+warrior,0,664,
+tokyo-3_middle_school_uniform,0,664,tokyo-3_middle_school_uniform_(evangelion)
+takana_shinno,1,664,gp-kids
+shotgun_shell,0,664,shotgun_shells
+sakata_kintoki_(fate),4,664,sakata_kintoki_(fate/grand_order)
+rhea_(fire_emblem),4,664,
+nose_ring,0,664,septum_piercing
+noripachi,1,664,
+mordred_(swimsuit_rider)_(fate),4,664,
+military_helmet,0,664,
+michairu,1,664,
+joestar_birthmark,0,664,
+bike_shorts_under_shorts,0,664,
+abmayo,1,664,
+tooth,0,663,
+team_skull,0,663,
+sling_bikini_top,0,663,
+scylla,0,663,octopus_girl
+satou_kuuki,1,663,
+nanashiro_gorou,1,663,
+matsuda_(matsukichi),1,663,matsukichiii
+kasuga_ayumu,4,663,"osaka,osaka_(azumanga_daioh)"
+jirachi,4,663,
+jason_(kaiten_kussaku_kikou),1,663,jiei_son
+hoshimiya_kate,4,663,
+hinata_channel,3,663,
+hasegawa_kobato,4,663,
+golden_snub-nosed_monkey_(kemono_friends),4,663,
+cure_sword,4,663,
+baffu,1,663,
+yanagi_(nurikoboshi),1,662,yanagi_(artist)
+studded_collar,0,662,
+shikushiku_(amamori_weekly),1,662,sisikuku
+rikatan,1,662,
+qr_code,0,662,
+qp:flapper,1,662,
+new_jersey_(azur_lane),4,662,
+milky_way,0,662,
+kishinami_(kancolle),4,662,kishinami_(kantai_collection)
+juurouta,1,662,
+fukuji_mihoko,4,662,
+thoma_(genshin_impact),4,661,
+kumiko_shiba,1,661,"aleron,kumiko_(aleron)"
+kasuga_maru_(kancolle),4,661,kasuga_maru_(kantai_collection)
+kaiga,1,661,
+igote,0,661,
+first_aid_kit,0,661,"medical_kit,medikit,medkit"
+electric_plug,0,661,
+crumbs,0,661,
+breaking,0,661,shattering
+walking_on_liquid,0,660,walking_on_water
+very_wide_shot,0,660,
+suisei_no_gargantia,3,660,gargantia_on_the_verdurous_planet
+selvaria_bles,4,660,
+otonashi_yuzuru,4,660,otonashi_(angel_beats!)
+nekomiya_hinata,4,660,
+nahaki,1,660,
+muzzle_flash,0,660,
+kobayashi_chisato,1,660,
+hospital,0,660,
+groom,0,660,
+getou_suguru,4,660,
+dopey_(dopq),1,660,jang_ju_hyeon
+breast_milk,0,660,
+boota_(ttgl),4,660,
+arc_the_lad,3,660,
+hitotsuki_nebura,1,659,
+goto_p,1,659,"goto-p,gotop"
+floating_book,0,659,
+cat_bag,0,659,cat_backpack
+animare,3,659,
+shinshin,1,658,tigene
+riza_hawkeye,4,658,
+natsu_(anta_tte_hitoha),1,658,
+mega_man_battle_network,3,658,"megaman_battle_network,rockman.exe,rockman_exe"
+male_hand,0,658,
+koi,0,658,koi_(fish)
+ilulu_(maidragon),4,658,"ilulu,iruru"
+hashitsuki_nata,0,658,nose_hatchet
+fist_bump,0,658,"brofist,fistbump"
+dekomori_sanae,4,658,
+armpit_sex,0,658,
+school_days,3,657,schooldays
+pink_umbrella,0,657,
+ness_(mother_2),4,657,
+kotegawa_yui,4,657,
+kaze_no_tani_no_nausicaa,3,657,nausicaa_of_the_valley_of_the_wind
+jacket_over_swimsuit,0,657,
+incoming_kiss,0,657,
+flapping,0,657,
+easter,0,657,
+yukoku_kiriko,4,656,yuukoku_kiriko
+yuki_arare,1,656,
+yuel_(granblue_fantasy),4,656,
+single_ear_cover,0,656,
+sako_(bosscoffee),1,656,bbsacon
+pokemon_usum,3,656,"pokemon_ultra_moon,pokemon_ultra_sm,pokemon_ultra_sun"
+makicha_(sasurainopink),1,656,pink_x
+grey_wings,0,656,gray_wings
+blob,0,656,
+akuma_no_riddle,3,656,riddle_story_of_devil
+whip_marks,0,655,whipmarks
+sunnysideup,1,655,sunyup
+ruffle_compatible,5,655,
+poronegi,1,655,asatsuki
+pineapple,0,655,
+goat,0,655,
+cyrillic,0,655,
+crane_(animal),0,655,crane_(bird)
+bust_cup,0,655,"alcohol_between_breasts,breast_cup,breasts_cup"
+bison_cangshu,1,655,bisonbison
+age_comparison,0,655,
+spade_hair_ornament,0,654,
+skeleton_print,0,654,
+new_horizon,3,654,
+kyoukai_no_kanata,3,654,
+gesugao,0,654,
+crazy_straw,0,654,
+claymore,3,654,
+blood_bag,0,654,
+aono_miki,4,654,
+ak-47,0,654,
+wu_zetian_(fate),4,653,wu_zetian_(fate/grand_order)
+testicle_sucking,0,653,"ball_sucking,sucking_testicles"
+teeth_hold,0,653,
+taimanin_yukikaze,3,653,
+ryuusei_(mark_ii),1,653,
+neki_(wakiko),1,653,
+marshmallow,0,653,
+just_the_tip,0,653,
+chikan,0,653,
+camouflage_headwear,0,653,camouflage_hat
+barbariank,1,653,
+amestris_military_uniform,0,653,
+unconventional_media,0,652,
+suletta_mercury,4,652,protagonist_(gundam_suisei_no_majo)
+slim_legs,0,652,
+shope,1,652,
+scheherazade_(fate),4,652,scheherazade_(fate/grand_order)
+orihara_izaya,4,652,
+medallion,0,652,
+kashu_(hizake),1,652,
+jungle,0,652,
+holding_money,0,652,
+groceries,0,652,
+golden_arms,0,652,
+fennekin,4,652,
+doraemon_(character),4,652,
+diavolo,4,652,
+yamakasa,0,651,
+mew,4,651,
+kobayashi_(maidragon),4,651,
+ishikkoro,1,651,
+implied_masturbation,0,651,
+guin_guin,1,651,
+erza_scarlet,4,651,
+copy_ability,0,651,
+bound_together,0,651,
+blue_shawl,0,651,
+bathrobe,0,651,
+white_bird,0,650,
+shinoasa,1,650,
+shimokirin,1,650,
+sheffield_(azur_lane),4,650,
+nakajima_yuka,1,650,digital_lover
+manatsu_no_yo_no_inmu,3,650,manatsu_no_yoru_no_inmu
+kano_shuuya,4,650,
+ingrid_(capcom),4,650,ingrid
+finger_sucking,0,650,"finger_suck,sucking_finger"
+craft_essence_(fate),0,650,craft_essence
+chikuwa.,1,650,
+bowler_hat,0,650,
+blood_on_arm,0,650,bloody_arm
+uehara_himari,4,649,
+saren_(summer)_(princess_connect!),4,649,
+sans,4,649,
+ryuuichi_(f_dragon),1,649,falconet_dragon
+pokemon_bw_(anime),3,649,
+pelt,0,649,animal_pelt
+jude_mathis,4,649,
+higashikata_josuke_(jojolion),4,649,higashikata_jousuke_(jojolion)
+ganondorf,4,649,
+fuuzasa,1,649,
+food_art,0,649,
+fiery_wings,0,649,fire_wings
+afuro_terumi,4,649,aphrodite_(inazuma_eleven)
+yes!_precure_5_gogo!,3,648,
+popqn,1,648,"pop_kyun,poppuqn,snika"
+pop-up_story,3,648,
+persona_4:_the_ultimate_in_mayonaka_arena,3,648,persona_4_arena
+neru_(blue_archive),4,648,
+misumi_(niku-kyu),1,648,
+kiyama_satoshi,1,648,ore_p_1-gou
+ink_(medium),0,648,
+igarashi_kyoko,4,648,"igarashi_kyouko,igarashi_kyouko"
+happiness!,3,648,happiness
+gold_choker,0,648,
+cat_mask,0,648,
+blue_poison_(shoal_beat)_(arknights),4,648,blue_poison_(rhythm_on_the_beach)_(arknights)
+artoria_caster_(second_ascension)_(fate),4,648,artoria_pendragon_(caster)_(second_ascension)_(fate)
+9a-91_(girls'_frontline),4,648,9a-91_(girls_frontline)
+lili_(tekken),4,647,emilie_de_rochefort
+gorou_(genshin_impact),4,647,
+god_eater_2:_rage_burst,3,647,"god_eater_2,gods_eater_2"
+exposed_pocket,0,647,pockets_visible
+dissolving_clothes,0,647,dissolving_clothing
+amami_rantarou,4,647,
+wakamezake,0,646,"lap_cup,lapcup,liquid_between_thighs,thigh_cup"
+two-sided_skirt,0,646,
+sugimoto_saichi,4,646,
+queen_elizabeth_(azur_lane),4,646,
+mizuryu_kei,1,646,"mizuryuu_kei,tolkemada"
+maya_kai_ni_(kancolle),4,646,
+katagiri_sanae,4,646,
+jean_bart_(azur_lane),4,646,
+iruma_miu,4,646,
+chen_(cat),4,646,
+checkered_dress,0,646,
+ar_tonelico_ii,3,646,ar_tonelico_2
+yatadera_narumi,4,645,
+yamashichi_(mtseven),1,645,yamashiki_(orca_buteo)
+volcano,0,645,
+veiny_arms,0,645,
+uchi_emiri,4,645,
+tamagoyaki,0,645,egg_roll
+ma_rukan,1,645,
+jessica_albert,4,645,
+honey_strap,3,645,
+chocola_(nekopara),4,645,"chocola_(sayori),chocolat_(sayori)"
+biwa_lute,0,645,
+ballpoint_pen_(medium),0,645,ballpoint_pen
+arle_nadja,4,645,
+weasel_ears,0,644,stoat_ears
+tomoe_gozen_(swimsuit_saber)_(fate),4,644,
+through_screen,0,644,
+suzuki_jun,4,644,
+star_ocean_anamnesis,3,644,
+spider-man,4,644,"spider_man,spiderman"
+sitting_on_shoulder,0,644,
+sheik,4,644,
+rifyu,1,644,
+no_legs,0,644,
+nakoruru,4,644,
+mefomefo,1,644,
+ejami,1,644,
+duckling,0,644,
+youtube,3,643,
+unfastened,0,643,unhooked
+tumblr_sample,5,643,
+potara_earrings,0,643,
+nunnally_lamperouge,4,643,nunnally_vi_britannia
+mermaid_melody_pichi_pichi_pitch,3,643,"mmppp,pichi_pichi_pitch"
+love_hina,3,643,lovehina
+jeanne_d'arc_(granblue_fantasy),4,643,
+hakurei_reimu_(pc-98),4,643,"classic_hakurei_reimu,hakurei_reimu_(classic)"
+blazblue:_chronophantasma,3,643,blazblue:_chrono_phantasma
+at2.,1,643,
+animal_slippers,0,643,
+wrist_bow,0,642,
+suminagashi,1,642,"bei_mochi,kasuka_(kusuki),suminaga_(altil777)"
+sanada_akihiko,4,642,
+print_sleeves,0,642,
+power_connection,0,642,
+platform_boots,0,642,
+ogata_hyakunosuke,4,642,
+mei_(maysroom),1,642,
+kuro_chairo_no_neko,1,642,
+ghost_pose,0,642,
+galko,4,642,gyaru-ko
+fukawa_touko,4,642,
+blue_bandana,0,642,
+webbed_hands,0,641,
+vampy,4,641,vania
+usekh_collar,0,641,
+simoun,3,641,
+necktie_removed,0,641,necktie_off
+lielos,1,641,
+klan_klein,4,641,klein_klan
+kamizono_(spookyhouse),1,641,
+gwen_stacy,4,641,
+zyugoya,1,640,"juugoya_(zyugoya),thukimidanngo"
+utage_(arknights),4,640,
+torisan,1,640,
+toe-point,0,640,toe_point
+takiki,1,640,
+sonohara_anri,4,640,
+soldier_(dq3),4,640,
+shrugging,0,640,
+ousaka_shizuku,4,640,
+hogwarts_school_uniform,0,640,
+brown_flower,0,640,
+bococho,1,640,
+bad_yandere_id,5,640,
+underbutt,0,639,
+stile_uniform,0,639,
+single_hair_ring,0,639,
+ray_gun,0,639,raygun
+protecting,0,639,protect
+patchwork_clothes,0,639,
+kuga_natsuki,4,639,
+kame_(kamepan44231),1,639,
+hand_wraps,0,639,handwraps
+chef,0,639,
+cellphone_charm,0,639,phone_charm
+bc_freedom_school_uniform,0,639,
+wing_ears,0,638,
+uni_(neptune_series),4,638,
+shell_hair_ornament,0,638,seashell_hair_ornament
+rewrite,3,638,
+pubic_stubble,0,638,shaved
+poison_(final_fight),4,638,
+pixelated,0,638,
+phoenix,0,638,
+otaku,0,638,
+luma_(mario),4,638,"chiko_(mario),luma"
+koutaro,1,638,"koutaro_(pixiv160924),nijiiro_zakura"
+kiyohime_(swimsuit_lancer)_(fate),4,638,
+exploding_clothes,0,638,
+euphemia_li_britannia,4,638,
+azusa_(blue_archive),4,638,
+wild_arms_2,3,637,
+tama_(tamago),1,637,tama_(seiga46239239)
+re:creators,3,637,
+licking_ear,0,637,"ear_lick,ear_licking"
+kamen_rider_revice,3,637,
+hei_(darker_than_black),4,637,
+exercise_ball,0,637,"balance_ball,gym_ball,yoga_ball"
+dirt,0,637,
+cutlass_(girls_und_panzer),4,637,
+clownfish,0,637,
+checkered_legwear,0,637,
+arano_oki,1,637,
+yuzu_momo,1,636,
+yozora_mel,4,636,
+yamabukiiro,1,636,
+varia_suit,0,636,
+uni8,1,636,
+roundel,0,636,
+optimus_prime,4,636,
+nanoless,1,636,
+holding_beachball,0,636,
+head,0,636,
+gentsuki,1,636,
+flying_teardrops,0,636,
+floating_weapon,0,636,
+eldridge_(azur_lane),4,636,
+character_age,0,636,age
+avengers_(series),3,636,avengers
+amazon_(dragon's_crown),4,636,
+siro_(dennou_shoujo_youtuber_siro),4,635,shiro_(dennou_shoujo_youtuber_shiro)
+senomoto_hisashi,1,635,
+out_of_character,0,635,
+one-piece_thong,0,635,
+nihonga,0,635,
+morgiana,4,635,
+midway_princess,4,635,midway_hime
+mibu_natsuki,1,635,
+isshiki_iroha,4,635,
+frilled_sailor_collar,0,635,
+formation_girls,3,635,
+flat_chest_grab,0,635,flat_grab
+dennou_shoujo_youtuber_siro,3,635,dennou_shoujo_youtuber_shiro
+stitched_mouth,0,634,
+soft_serve,0,634,
+nail_bat,0,634,nailbat
+mel_(melty_pot),1,634,
+lucy_(cyberpunk),4,634,"lucy_(cyberpunk_edgerunners),lucyna_kushinada"
+givuchoko,1,634,gibuchoko
+eel,0,634,eels
+darkmaya,1,634,
+capriccio,1,634,
+aikawa_ryou,1,634,
+roy_mustang,4,633,
+rape_face,0,633,rapeface
+otter_tail,0,633,
+necro_(nekurodayo),1,633,ne_kuro
+namaniku_atk,1,633,
+kamio_reiji_(yua),4,633,
+kairunoburogu,1,633,"kairuhentai,kyle_(kairunoburogu)"
+greenteaneko,1,633,ricky_ka_pang
+gravity_daze,3,633,gravity_rush
+caryo,1,633,
+t-head_trainer,4,632,
+shimaidon_(sex),0,632,
+nakatani_nio,1,632,
+multiple_torii,0,632,
+meisho_doto_(umamusume),4,632,
+kirisame_marisa_(cosplay),0,632,
+izuna_(blue_archive),4,632,
+dikko,1,632,dai55593
+converse,0,632,
+uranaishi_(miraura),1,631,minagi_(miraura)
+two-finger_salute,0,631,
+takasu_ryuuji,4,631,
+shogi,0,631,shougi
+saijo_juri,4,631,saijou_juri
+rpk-16_(girls'_frontline),4,631,rpk-16_(girls_frontline)
+red_tail,0,631,
+object_on_breast,0,631,
+negev_(girls'_frontline),4,631,negev_(girls_frontline)
+mizuumi_(bb),1,631,evuoaniramu
+minazuki_karen,4,631,
+maki_(seventh_heaven_maxion),1,631,
+kaizuka_inaho,4,631,
+hair_color_connection,0,631,
+eris_greyrat,4,631,
+cracked_floor,0,631,
+xiujia_yihuizi,1,630,
+starlight_academy_uniform,0,630,
+sitting_on_table,0,630,
+single_wrist_cuff,0,630,single_wristcuff
+shnva,1,630,shinoba
+queen's_gate,3,630,queens_gate
+negative_space,0,630,
+little_red_riding_hood_(grimm)_(cosplay),0,630,
+hyakumantenbara_salome,4,630,
+gekota,4,630,
+blue_pupils,0,630,
+bee,0,630,
+barry_(pokemon),4,630,"jun_(pokemon),pearl_(pokemon)"
+riven_(league_of_legends),4,629,
+restroom,0,629,
+licking_breast,0,629,"breast_lick,breast_licking"
+kanshou_&_bakuya_(fate),0,629,kanshou_&_bakuya
+hatake_kakashi,4,629,
+gmkj,1,629,
+cattail,0,629,"bulrush,cattail_(plant)"
+welt_(kinsei_koutenkyoku),1,628,u-eruto
+sonson_(eleven),1,628,
+seatbelt,0,628,
+nagase_haruhito,1,628,
+missile_pod,0,628,rocket_pod
+mishaguji,4,628,
+harano,1,628,cheat-nu
+erere,1,628,
+chi-class_torpedo_cruiser,4,628,
+chara_(undertale),4,628,
+braiding_hair,0,628,
+yellow-tinted_eyewear,0,627,
+year_of_the_rooster,0,627,
+wakaba_(kancolle),4,627,wakaba_(kantai_collection)
+used_condom_on_penis,0,627,condom_filling
+tambourine,0,627,
+tail_around_leg,0,627,
+rengoku_kyoujurou,4,627,
+originium_arts_(arknights),0,627,
+okita_j._souji_(fate),4,627,okita_souji_(swimsuit_assassin)_(fate)
+medusa_(lancer)_(fate),4,627,
+measuring,0,627,
+komone_ushio,1,627,
+gensoukoumuten,1,627,gensokoumuten
+flail,0,627,
+cura,1,627,
+beretta_92,0,627,
+before_and_after,0,627,
+tonari_no_totoro,3,626,my_neighbor_totoro
+stuffed_penguin,0,626,
+single_head_wing,0,626,
+pizza_box,0,626,
+nottytiffy,1,626,"fast-runner-2024,fastrunner2024"
+nipple_pull,0,626,
+matsukaze_tenma,4,626,
+lunamaria_hawke,4,626,lunamaria
+hizuki_akira,1,626,"akira_(natsumemo),tino0618"
+yuuno_scrya,4,625,
+whislash_(arknights),4,625,
+waving_arms,0,625,
+sailor_chibi_moon,4,625,
+renkin_san-kyuu_magical_pokaan,3,625,"magipoka,majipoka"
+person_on_head,0,625,
+oboro_muramasa,3,625,"muramasa_the_demon_blade,oboro_muramasa_youtouden"
+mayo_riyo,1,625,
+kyouda_suzuka,1,625,suzuka_sario
+ken_masters,4,625,
+horseshoe,0,625,
+hayashi_custom,1,625,hayashi_kasutamu
+bunny_day,0,625,
+alternate_hair_ornament,0,625,
+sixteenth_note,0,624,semiquaver
+purple-tinted_eyewear,0,624,
+nameo_(judgemasterkou),1,624,judgemasterkou
+midriff_sarashi,0,624,sarashi_(midriff)
+leone_abbacchio,4,624,leone_abbachio
+lance_of_longinus,0,624,
+kaname_madoka_(cosplay),0,624,
+flcl,3,624,"fooly_cooly,furi_kuri"
+akashio_(loli_ace),1,624,
+ui_(blue_archive),4,623,
+tama_(tamatamo),1,623,kuro_(kuronell)
+purple_socks,0,623,purple_kneehighs
+ohta_yuichi,1,623,oota_yuuichi
+nijiura_maids,3,623,
+misu_kasumi,1,623,kasumi_(pluvieux_tigre)
+mikoyan,1,623,
+mega_man_zx,3,623,"megaman_zx,rockman_zx"
+masayo_(gin_no_ame),1,623,masakazu_(coccinellee)
+male_underwear_pull,0,623,"boxers_pull,briefs_pull,underwear_pull_(male)"
+front_zipper_swimsuit,0,623,
+bolt,0,623,bolts
+blue_umbrella,0,623,
+bacius,1,623,samerupa
+uni_mate,1,622,lob-ster
+toyokawa_fuka,4,622,toyokawa_fuuka
+silva_(granblue_fantasy),4,622,
+nekobungi_sumire,1,622,
+mushi024,1,622,
+magallan_(arknights),4,622,
+lolibaba,0,622,
+liang_xing,1,622,liangxing
+jeanne_d'arc_(swimsuit_archer)_(second_ascension)_(fate),4,622,
+fu-ta,1,622,
+dragon_ball_gt,3,622,dragonball_gt
+vahn_yourdoom,1,621,
+tsuyuri_kanao,4,621,
+table_sex,0,621,tablesex
+super_pochaco,4,621,
+soraka_(league_of_legends),4,621,soraka
+rough_sex,0,621,
+military_operator,0,621,operator
+keebo,4,621,
+hoodie_lift,0,621,
+decapitation,0,621,
+crotch_grab,0,621,bulge_grab
+compass,0,621,compasses
+ushizaki_urumi,4,620,
+tekken_7,3,620,
+spider-man:_into_the_spider-verse,3,620,
+side-tie_peek,0,620,
+scoop_neck,0,620,
+rioshi,1,620,
+raven_(dc),4,620,
+pig_ears,0,620,
+nagare,1,620,
+mikozin,1,620,mikojin
+mejiro_dober_(umamusume),4,620,
+knives_between_fingers,0,620,
+john_doe,1,620,
+fine_motion_(umamusume),4,620,
+aegir_(azur_lane),4,620,agir_(azur_lane)
+utsugi_yuuki,4,619,
+udagawa_tomoe,4,619,
+kurokote,0,619,
+invisible_man,0,619,
+greninja,4,619,
+germany,0,619,
+fanning_self,0,619,
+drugged,0,619,
+chandelure,4,619,
+yukichi_(eikichi),1,618,
+visual_novel,0,618,dating_sim
+split_theme,0,618,
+shugo_chara!,3,618,"shugo_chara,shugo_kyara,shugo_kyara!"
+roxy_migurdia,4,618,
+plaid_ribbon,0,618,
+pinstripe_suit,0,618,
+nishimata_aoi,1,618,
+nagami_yuu,1,618,"gogatsu_unagi,pinata_party"
+multitasking,0,618,
+micro_bra,0,618,
+kobayakawa_rinko,4,618,
+gao,0,618,rawr
+erwin_(girls_und_panzer),4,618,
+black_clover,3,618,
+bat_girl,0,618,
+bamboo_blade,3,618,
+weapon_bag,0,617,"shinai_bag,sword_bag,weapon_cover_bag"
+warning_sign,0,617,caution_sign
+small_nipples,0,617,
+sewayaki_kitsune_no_senko-san,3,617,the_helpful_fox_senko-san
+rabbit_on_head,0,617,bunny_on_head
+paw_print_pattern,0,617,
+otter,0,617,
+miwa_shirow,1,617,"epo_kishi,miwa_shirou"
+loaded_interior,0,617,
+hyrule_warriors,3,617,zelda_musou
+frog_girl,0,617,
+camonome,1,617,
+bridal_legwear,0,617,
+zuwai_kani,1,616,
+vanilla_(nekopara),4,616,vanilla_(sayori)
+tracen_swimsuit,0,616,
+sen_(astronomy),1,616,
+michii_yuuki,1,616,
+identity_v,3,616,
+grey_leotard,0,616,gray_leotard
+cuboon,1,616,mismi
+bigrbear,1,616,
+arms_between_legs,0,616,
+apartment,0,616,
+against_railing,0,616,
+wokada,1,615,
+samson_(skullgirls),4,615,
+midori_(blue_archive),4,615,
+meimaru_inuchiyo,1,615,meitei
+macross_7,3,615,
+karyl_(summer)_(princess_connect!),4,615,
+infinote,1,615,
+homura_subaru,1,615,
+flonne,4,615,
+centauroid,0,615,
+butz_klauser,4,615,bartz_klauser
+alice_cartelet,4,615,"alice_cartalet,alice_carteret"
+ysys,1,614,(ysy)s
+shamal,4,614,
+saigusa_haruka,4,614,
+neck_garter,0,614,
+karory,1,614,
+i-no,4,614,
+hyuuga_azuri,1,614,
+energy_beam,0,614,
+carapace,0,614,
+stuffed_dog,0,613,
+orange_jumpsuit,0,613,
+nakamura_regura,1,613,
+momoi_(blue_archive),4,613,
+magical_boy,0,613,
+listening_to_music,0,613,
+lifebuoy_ornament,0,613,
+kumadano,1,613,
+kotatsu_(g-rough),1,613,
+hand_tattoo,0,613,
+half-skirt,0,613,
+gold_necklace,0,613,
+front-print_panties,0,613,
+emoticon,0,613,
+destroyer_princess,4,613,destroyer_hime
+colored_stripes,0,613,
+brown_corset,0,613,
+breasts_on_table,0,613,
+bismarck_(azur_lane),4,613,
+atelier_totori,3,613,
+white_mask,0,612,
+mizutani_eri,4,612,
+food_on_breasts,0,612,
+felyne,4,612,palico
+dilation_tape,0,612,
+brand_new_animal,3,612,
+youkoso_jitsuryoku_shijou_shugi_no_kyoushitsu_e,3,611,classroom_of_the_elite
+wide_face,0,611,wideface
+vyrn_(granblue_fantasy),4,611,"bii_(granblue_fantasy),vee_(granblue_fantasy)"
+tsurui,1,611,
+sora_no_kiseki,3,611,trails_in_the_sky
+shirasagi_chisato,4,611,
+runny_makeup,0,611,ruined_makeup
+piyokichi,1,611,
+minase_nayuki,4,611,
+melia_antiqua,4,611,
+kingdom_hearts_ii,3,611,kingdom_hearts_2
+ishuzoku_reviewers,3,611,interspecies_reviewers
+hollow_eyes,0,611,
+fingering_through_panties,0,611,
+cum_on_glasses,0,611,
+casing_ejection,0,611,
+can't_be_this_cute,0,611,
+bathhouse,0,611,"public_bath,sento"
+u_u_zan,1,610,uu_uu_zan
+tribal_tattoo,0,610,
+shibuya_kanon,4,610,
+saint_quartz_(fate),0,610,saint_quartz
+hayasaka_mirei,4,610,
+haoni,1,610,
+ditto,4,610,
+crocodilian,0,610,
+censored_text,0,610,
+caro_ru_lushe,4,610,kyaro_lo_loussier
+aster_crowley,1,610,
+african_wild_dog_(kemono_friends),4,610,
+valkyrie_profile,3,609,valkyrieprofile
+toddlercon,0,609,toddlersex
+takaharu,1,609,
+sukja,1,609,sorolp
+sayo_samonji,4,609,
+penis_to_breast,0,609,penis_to_nipple
+nii_manabu,1,609,
+magic_knight_rayearth,3,609,
+imperishable_night,3,609,
+elise_(fire_emblem),4,609,elise_(fire_emblem_if)
+aile_(crossroads),1,609,
+sato_shin,4,608,satou_shin
+pancake_stack,0,608,stack_of_pancakes
+mikazuki_yozora,4,608,
+gray_(fate),4,608,gray_(lord_el-melloi_ii)
+emotionless_sex,0,608,expressionless_sex
+cian_yo,1,608,"cianyo,qaz2365643"
+uzuki_sayaka,4,607,
+paizuri_invitation,0,607,
+natsuki_(doki_doki_literature_club),4,607,
+matsubara_kanon,4,607,
+kawayabug,1,607,
+broken_armor,0,607,torn_armor
+temple,0,606,
+spider-gwen,4,606,
+razor_(genshin_impact),4,606,
+pastry_bag,0,606,frosting_bag
+kittysuit,0,606,
+jashin-chan_dropkick,3,606,dropkick_on_my_devil!
+irene_(arknights),4,606,
+hekiga_(freelot),1,606,
+green_belt,0,606,
+floating_clothes,0,606,
+chloe_(princess_connect!),4,606,hanako_kuroe
+black_survival,3,606,
+asuna_(sao-alo),4,606,
+astolfo_(saber)_(fate),4,606,
+asahina_aoi,4,606,asahina_aoi_(dangan-ronpa)
+announcement_celebration,0,606,
+animal_on_hand,0,606,
+amane_hasuhito,1,606,hasu_(hk_works)
+paper_stack,0,605,
+milotic,4,605,
+mikumo_guynemer,4,605,
+honoka_(doa),4,605,
+hisasi,1,605,hisashi_(nekoman)
+hima,1,605,"himapo,toto_(ajisio9)"
+high_tops,0,605,
+hanzou,1,605,
+hacka_doll_3,4,605,
+graf_eisen,4,605,
+gilgamesh_(caster)_(fate),4,605,
+gae_dearg_(fate),0,605,gae_dearg
+fanbox_username,0,605,
+arrancar,0,605,
+wet_towel,0,604,
+soldier:_76_(overwatch),4,604,"jack_morrison,john_morrison_(overwatch)"
+pearl_earrings,0,604,
+musket,0,604,
+majin_android_21,4,604,
+kurona,1,604,
+kashino_(hot_springs_relaxation)_(azur_lane),4,604,kashino_(after-bath_pleasure)_(azur_lane)
+isometric,0,604,
+crane_game,0,604,"claw_crane,claw_machine,ufo_catcher"
+clothes_pin,0,604,"clothes_pins,clothespin,clothespins,clothing_pin"
+sankuma,1,603,
+rinne_no_lagrange,3,603,
+powerpuff_girls_z,3,603,"demashita!_powerpuff_girls_z,demashita_powerpuff_girls_z,ppgz"
+pov_doorway,0,603,
+paint_splatter_on_face,0,603,paint_on_face
+mazinger_(series),3,603,
+implied_kiss,0,603,
+goutokuji_mike,4,603,
+dr.p,1,603,p&p
+determined,0,603,
+cinderace,4,603,
+chomusuke,4,603,
+cauldron,0,603,
+yellow_one-piece_swimsuit,0,602,yellow_swimsuit
+wiz_(konosuba),4,602,
+takamiya_rion,4,602,
+sakura_(fire_emblem),4,602,sakura_(fire_emblem_if)
+okusawa_misaki,4,602,
+matilda_fiship,1,602,matilda_vin
+ittokyu,1,602,
+hanna-justina_marseille,4,602,
+genzoman,1,602,
+embroidery,0,602,
+chai_(drawingchisanne),1,602,chai
+yoshizawa_kasumi,4,601,
+rui_(sugar3),1,601,
+roots,0,601,root
+rin_yuu,1,601,nikkunemu
+prison,0,601,jail
+nishii_(nitroplus),1,601,"ni_theta,ni╬©"
+livestream,0,601,"streaming,twitch_stream"
+kotobuki_(momoko_factory),1,601,
+kamisimo_90,1,601,yuya
+infirmary,0,601,"nurse's_office,nurse_office"
+iggy_(jojo),4,601,
+chocolate_cake,0,601,
+brown_neckerchief,0,601,
+yuuri_(shoujo_shuumatsu_ryokou),4,600,
+wallpaper_(object),0,600,
+selection_university_military_uniform,0,600,
+saigado,1,600,saigadou
+roki_(hirokix),1,600,
+powerpuff_girls,3,600,the_powerpuff_girls
+metroid_(creature),4,600,
+kumada_masaru,4,600,
+kokudou_juunigou,1,600,route_12
+graduation,0,600,
+gladiator_sandals,0,600,gladiator_boots
+2006,0,600,
+yorha_no._2_type_b_(cosplay),0,599,
+walther,0,599,
+two-tone_leotard,0,599,
+syuri22,1,599,
+shirotsumekusa,1,599,crazy_clover_club
+saw,0,599,
+prosciutto,4,599,
+iwbitu,1,599,iwbitu-sa
+fuuma_nagi,1,599,
+engrish_commentary,5,599,
+crypto_(apex_legends),4,599,
+bear_panties,0,599,"kuma_pantsu,kumapantsu"
+yoshitomi_akihito,1,598,
+velvet_crowe,4,598,velvet_(tales)
+triangle_hair_ornament,0,598,
+travel_attendant,0,598,stewardess
+throat_microphone,0,598,
+rainbow_background,0,598,
+phosphophyllite_(ll),4,598,
+pavolia_reine,4,598,
+oda_ken'ichi,1,598,oda_kenichi
+nedia_(nedia_region),1,598,nedia_r
+mia_(fire_emblem),4,598,wayu_(fire_emblem)
+jolteon,4,598,
+grisaia_(series),3,598,
+greatmosu,1,598,5240mosu
+cthulhu_mythos,3,598,lovecraft
+yumizuka_satsuki,4,597,sacchin
+wrestle_angels,3,597,
+tsukiyo_(skymint),1,597,
+saya_no_uta,3,597,
+sairenji_haruna,4,597,
+rui_shi_(rayze_ray),1,597,ray83222
+nippon_professional_baseball,3,597,
+mozukuzu_(manukedori),1,597,manukedori
+la_pluma_(arknights),4,597,
+j7w,1,597,
+hooded_dress,0,597,
+freyja_wion,4,597,
+devil_survivor,3,597,megami_ibunroku_devil_survivor
+assassin_cross_(ragnarok_online),4,597,
+smart_falcon_(umamusume),4,596,
+simulated_fellatio,0,596,oral_object_insertion
+scalpel,0,596,
+naganami_kai_ni_(kancolle),4,596,
+magician,0,596,
+katarina_(league_of_legends),4,596,katarina_du_couteau
+half_mask,0,596,
+energy_cannon,0,596,
+caracal_(kemono_friends),4,596,
+atago_(summer_march)_(azur_lane),4,596,atago_(midsummer_march)_(azur_lane)
+stick_poster,0,595,
+shippou_(pattern),0,595,
+shannon_(umineko),4,595,
+omaru_gyuunyuu,1,595,omaru09
+noctis_lucis_caelum,4,595,
+jibril_(no_game_no_life),4,595,
+grimm's_fairy_tales,3,595,
+gastly,4,595,
+eas,4,595,
+clawed_gauntlets,0,595,
+chameleon_(ryokucha_combo),1,595,"kamere,kamereon"
+beijuu,1,595,juz
+admire_vega_(umamusume),4,595,
+yuto_(dialique),1,594,
+tron_bonne_(mega_man),4,594,tron_bonne
+tori_(minamopa),1,594,kanaria_(artist)
+spaceship_hair_ornament,0,594,
+silverash_(arknights),4,594,
+shimada_chiyo,4,594,
+raven_(tales),4,594,raven_(tov)
+quick_waipa,1,594,quick_makanaha
+panties_over_pantyhose,0,594,
+musouzuki,1,594,
+latias,4,594,
+kirishima_satoshi,1,594,
+holding_swimsuit,0,594,"holding_bikini,holding_bikini_bottom,holding_bikini_top"
+hiten_(hitenkei),1,594,
+fuukadia_(narcolepsy),1,594,govurin
+cropped_sweater,0,594,
+bottle_miku,4,594,
+blemishine_(arknights),4,594,
+arnest,1,594,
+alina_gray,4,594,
+yokosuka_girls_marine_high_school_uniform,0,593,
+trolling,0,593,
+tennis,0,593,
+temari_(naruto),4,593,temari
+suzuka_gozen_(fate),4,593,
+right-over-left_kimono,0,593,
+ricegnat,1,593,"eric_tang,kerasu"
+raccoon,0,593,
+polearm_behind_back,0,593,
+pacific_rim,3,593,
+nyuu_(manekin-eko),1,593,manekin-eko
+muppo,4,593,
+malenia_blade_of_miquella,4,593,
+long_labia,0,593,
+kotoyama,1,593,
+hounori,1,593,
+cure_lovely,4,593,
+ashiomi_masato,1,593,tokihara_masato
+tolkien's_legendarium,3,592,"legendarium,tolkiens_legendarium"
+sega,3,592,
+pochincoff,1,592,
+munakata_(sekimizu_kazuki),1,592,
+minegumo_(kancolle),4,592,minegumo_(kantai_collection)
+makabe_mizuki,4,592,
+kalina_(girls'_frontline),4,592,kalina_(girls_frontline)
+implied_anal,0,592,
+congratulations,0,592,
+yadokari_genpachirou,1,591,
+surfing,0,591,
+sanrio,3,591,
+rukuriri_(girls_und_panzer),4,591,rukuriri
+proposal,0,591,
+morinaka_kazaki,4,591,
+leaf_background,0,591,
+kitashirakawa_chiyuri,4,591,
+keqing_(opulent_splendor)_(genshin_impact),4,591,
+judith_(tales),4,591,judith
+i-14_(kancolle),4,591,i-14_(kantai_collection)
+high_school_dxd_infinity,3,591,
+hair_over_one_breast,0,591,
+gundam_age,3,591,
+gold_footwear,0,591,
+four-leaf_clover_hair_ornament,0,591,
+fading,0,591,
+cookie_run,3,591,
+chacharan,1,591,
+xenovia_quarta,4,590,"xenovia_(high_school_dxd),zenovia_(high_school_dxd)"
+sekiro:_shadows_die_twice,3,590,
+nuu_(nu-nyu),1,590,nu-nyu
+narumi_arata,1,590,
+nagioka,1,590,"sblack,sblack"
+legwear_removed,0,590,
+himesaka_noa,4,590,
+gundam_g_no_reconguista,3,590,gundam_reconguista_in_g
+chocolate_making,0,590,
+tokyo_(city),0,589,
+spicy_nun_(diva),4,589,half-bang_nun_(diva)
+sasha_braus,4,589,sasha_browse
+perseus_(azur_lane),4,589,
+nyong_nyong,1,589,pigeoncrow
+masakichi_(crossroad),1,589,
+ainu,0,589,
+...?,0,589,
+super_masara,1,588,masara
+shigure_ui_(vtuber),4,588,
+resident_evil_village,3,588,resident_evil_8
+penguin_costume,0,588,penguin_suit
+lisa_lisa,4,588,
+killua_zoldyck,4,588,"killua,killua_zaoldyeck"
+kazemaru_ichirouta,4,588,
+hiradaira_chisaki,4,588,
+f-ism,3,588,fism
+cupboard,0,588,
+ayatsuji_tsukasa,4,588,
+akchu,1,588,
+vrchat,3,587,
+volleyball_net,0,587,
+toggles,0,587,
+spas-12_(girls'_frontline),4,587,spas-12_(girls_frontline)
+self_exposure,0,587,
+red_tank_top,0,587,
+pyrrha_nikos,4,587,
+nagishiro_mito,1,587,
+m.m,1,587,
+keyblade,0,587,
+huge_dildo,0,587,large_dildo
+holding_chocolate,0,587,
+fast_food,0,587,
+ett,1,587,ett01024
+catsuit,0,587,
+bekkankou,1,587,
+argyle_cutout,0,587,
+wooloo,4,586,
+symbol,0,586,
+side-tie_skirt,0,586,
+poi,0,586,
+metal_boots,0,586,
+matikanefukukitaru_(umamusume),4,586,
+marugoshi_(54burger),1,586,maru54
+laundry_basket,0,586,
+kariyushi_shirt,0,586,
+gradient_skin,0,586,
+flailing,0,586,
+e20,1,586,
+tsubaki_yayoi,4,585,
+tony_tony_chopper,4,585,
+tashkent_(azur_lane),4,585,
+square_enix,3,585,square-enix
+sailor_collar_lift,0,585,
+sachito,1,585,
+morishima_haruka,4,585,
+frame_arms_girl,3,585,
+flippers,0,585,swimfins
+ellen_baker,4,585,
+drum_magazine,0,585,
+deutschland_(azur_lane),4,585,
+combat_knife,0,585,
+bravely_default_(series),3,585,
+ai_ai_gasa,0,585,love_umbrella
+yuusha_series,3,584,brave_series
+wii_fit,3,584,
+walzrj,1,584,
+triangular_eyewear,0,584,
+seeu,4,584,
+sam_browne_belt,0,584,
+rurouni_kenshin,3,584,
+o-ring_swimsuit,0,584,
+namamo_nanase,1,584,tomoeda
+mari_(blue_archive),4,584,
+lily_black,4,584,
+grey_tank_top,0,584,
+glowing_hand,0,584,
+glock,0,584,
+dashed_eyes,0,584,"dash_eyes,line_in_eye"
+broken_sword,0,584,
+boa_(brianoa),1,584,
+anmi,1,584,
+zero_no_kiseki,3,583,trails_from_zero
+wind_turbine,0,583,
+transparent_censoring,0,583,
+shuri_(84k),1,583,
+police_car,0,583,
+panda_hood,0,583,
+kama_(first_ascension)_(fate),4,583,
+fate/extra_ccc_fox_tail,3,583,
+dairoku_ryouhei,3,583,"dairoku_youhei,jaeger_six"
+aurahack,1,583,erica_june_lahaie
+;(,0,583,
+yuuki_yuuna,4,582,
+yatterman,3,582,
+tony_guisado,1,582,
+tebi_(tbd11),1,582,tbd11
+soccer_spirits,3,582,
+purple_tongue,0,582,
+nanami_yachiyo,4,582,
+mukyuu,0,582,
+jewelry_removed,0,582,
+honma_himawari,4,582,
+goggles_removed,0,582,goggles_off
+crow_(siranui),1,582,kuro_(shiranui)
+chito_(shoujo_shuumatsu_ryokou),4,582,
+brown_sleeves,0,582,
+black_coat_(kingdom_hearts),0,582,
+baba_(baba_seimaijo),1,582,
+asamiya_athena,4,582,
+artstation_sample,5,582,
+ange_(princess_principal),4,582,
+y2,1,581,
+teardrop_tattoo,0,581,
+tanashi_(mk2),1,581,"drpow,tom_(drpow)"
+sayu_(genshin_impact),4,581,
+ryo_(tg290),1,581,goekawa
+ping_hai_(azur_lane),4,581,
+otoi_rekomaru,1,581,"filtration,toire_komoru"
+neoartcore,1,581,"gotgituey,nudtawut_thongmai"
+kitten_(gravity_daze),4,581,kat_(gravity_rush)
+karutamo,1,581,
+kanzuki_karin,4,581,
+janus_(kancolle),4,581,janus_(kantai_collection)
+isaki_(gomi),1,581,gomi_(gomitin)
+holding_own_tail,0,581,
+ghost_in_the_shell_stand_alone_complex,3,581,gits:sac
+flying_paper,0,581,
+yaneko_uta,1,580,hayashi_naotaka
+village,0,580,
+unfairr,1,580,ecchi_pantsu
+tanamachi_kaoru,4,580,
+shirosaki_hana,4,580,
+sakaguchi_karina,4,580,
+saitou_masatsugu,1,580,"saitom,saitom"
+saga_(arknights),4,580,
+rope_belt,0,580,rope_sash
+pantyhose_under_swimsuit,0,580,
+multiple_weapons,0,580,
+kfc,3,580,"kentucky_fried_chicken,kfc_(company)"
+key_(company),3,580,
+hand_rest,0,580,
+folder,0,580,folders
+doyouwantto,1,580,
+douki-chan_(douki-chan),4,580,"douki-chan_(yomu_(sgt_epper)),office_lady_(yomu_(sgt_epper))"
+deer_antlers,0,580,
+cabbage,0,580,
+sexual_coaching,0,579,coaching_(sexual)
+scouter,0,579,
+print_swimsuit,0,579,
+natsuya_(kuttuki),1,579,
+megurigaoka_high_school_uniform,0,579,
+lifting,0,579,
+leo_(fire_emblem),4,579,"leo_(fire_emblem_fates),leon_(fire_emblem_if)"
+kuroyukihime,4,579,kuro_yuki_hime
+iahfy,1,579,k-y-h-u
+firelock,0,579,
+6u_(eternal_land),1,579,6uÔÿå
+yutakasan-love,1,578,
+twintails_day,0,578,
+totodile,4,578,
+ryosios,1,578,
+litwick,4,578,
+leaning_on_rail,0,578,
+lane_line,0,578,
+korie_riko,1,578,
+invisible,0,578,
+hina_(swimsuit)_(blue_archive),4,578,
+hands_on_another's_chest,0,578,
+gold_bracelet,0,578,
+game_boy_(original),0,578,
+cash_register,0,578,
+berusuke_(beru_no_su),1,578,berutasu
+bc_freedom_(emblem),0,578,
+zima_(arknights),4,577,
+zannen_onna-kanbu_black_general-san,3,577,zannen_jokanbu_black_general-san
+purple_cardigan,0,577,
+natsume_kyousuke,4,577,
+lord_knight_(ragnarok_online),4,577,
+kyogoku_shin,1,577,kyougoku_shin
+kedama_milk,1,577,kedama_(pixiv16731)
+kan'u_unchou,4,577,kanu_unchou
+jcm2,1,577,
+ginga_nakajima,4,577,nakajima_ginga
+fitting_room,0,577,
+clarent_(fate),0,577,clarent
+akasaai,1,577,
+undefined_fantastic_object,3,576,
+tajima_yuuki,1,576,
+shining_(arknights),4,576,
+saya_(saya_no_uta),4,576,
+royal_penguin_(kemono_friends),4,576,
+priest_(dq3),4,576,
+popsicle_stick,0,576,
+neta,0,576,
+minato_yukina,4,576,
+kurot,1,576,
+inuinui,1,576,
+entangled,0,576,tangled_up
+whip_sword,0,575,
+temari_ball,0,575,
+stomping,0,575,stomp
+roto,4,575,
+ribbon-trimmed_bra,0,575,
+pinned,0,575,
+m16,0,575,
+lansane,1,575,
+jintsuu_kai_ni_(kancolle),4,575,
+ice_cream_float,0,575,
+greem_bang,1,575,
+flower_on_head,0,575,
+cumulonimbus_cloud,0,575,
+apple_caramel,1,575,
+yellow_socks,0,574,yellow_kneehighs
+tro,1,574,
+orca,0,574,"killer_whale,orca_whale"
+ogasawara_sachiko,4,574,
+octopath_traveler,3,574,
+morikura_en,1,574,
+mizuho_(kancolle),4,574,mizuho_(kantai_collection)
+mercedes_von_martritz,4,574,mercedes_von_marltritz
+meadow,0,574,
+justice_gakuen,3,574,rival_schools
+azuma_aya,1,574,
+adsouto,1,574,
+senbei,0,573,"rice_cracker,senbei_(food)"
+railroad_crossing,0,573,"railway_crossing,train_crossing"
+ptilopsis_(arknights),4,573,
+nigo_(aozoragarou),1,573,nigou_(aozoragarou)
+narration,0,573,
+kitahara_tomoe_(kitahara_koubou),1,573,
+kama_(swimsuit_avenger)_(fate),4,573,
+hitsukuya,1,573,
+friend_(nanashi_mumei),4,573,
+ef,3,573,ef_-_a_tale_of_memories
+dodging,0,573,
+canteen,0,573,
+bucket_hat,0,573,
+aoi_kumiko,1,573,
+alp,1,573,
+yamanaka_sawako,4,572,
+taut_swimsuit,0,572,
+pastel_(medium),0,572,
+nostrils,0,572,nostril
+nijisanji_id,3,572,
+menu_board,0,572,
+male_on_futa,0,572,
+ge-b,1,572,gebyy-terar
+ganesagi,1,572,"shirogane_usagi,shiroganeusagi"
+cum_inflation,0,572,
+cowering,0,572,
+azuki_osamitsu,1,572,shouzu_choukou
+wafer_stick,0,571,cookie_straw
+van,0,571,
+toshishikisai,1,571,
+souryuu_asuka_langley_(cosplay),0,571,soryu_asuka_langley_(cosplay)
+sankakusui,1,571,
+rosa_(arknights),4,571,
+phoenix_wright,4,571,naruhodou_ryuuichi
+mvv,1,571,rancy01
+mamemaki,0,571,
+kamina_shades,0,571,kamina_glasses
+hanging_plant,0,571,
+beige_cardigan,0,571,
+aegis_sword_(xenoblade),0,571,
+60+fps,5,571,
+wool_(miwol),1,570,
+wii_fit_trainer,4,570,trainer_(wii_fit)
+weights,0,570,
+viper,3,570,
+tag,0,570,
+storm,0,570,
+komi_zumiko,1,570,
+koizumi_mahiru,4,570,
+kibina_high_school_uniform,0,570,
+captain_(kemono_friends),4,570,
+amasawa_yuuko,4,570,"isako,isako_(dennou_coil)"
+amano_kouki,1,570,amano_(els573)
+agatsuma_zenitsu,4,570,
+sazanami_mio,1,569,
+rossweisse,4,569,
+red_mittens,0,569,
+mocha_(cotton),1,569,
+liya,1,569,
+holding_branch,0,569,
+heles,4,569,
+han_(jackpot),1,569,han64
+glowing_tattoo,0,569,
+fukahire_(ruinon),1,569,fukahire_sanba
+female_service_cap,0,569,
+anya_alstreim,4,569,anya_earlstreim
+4chan,3,569,
+tokoro_megumi,4,568,
+sun_wukong,4,568,
+romani_archaman,4,568,
+nonomi_(swimsuit)_(blue_archive),4,568,
+massachusetts_(azur_lane),4,568,
+mannequin,0,568,
+light_blue_background,0,568,
+kisaragi_nana,1,568,
+inverted_bob,0,568,
+hamanami_(kancolle),4,568,hamanami_(kantai_collection)
+chrysanthemum,0,568,
+chaesu,1,568,
+alpha_signature,0,568,
+against_fourth_wall,0,568,
+tank_focus,0,567,
+stalk_in_mouth,0,567,"grass_in_mouth,straw_in_mouth,twig_in_mouth,wheat_in_mouth"
+ru_zhai,1,567,
+noi_(dorohedoro),4,567,
+miyagoe_yoshitsuki,1,567,
+kanzakietc,1,567,
+incoming_hug,0,567,
+himemushi_momoyo,4,567,
+fallout_(series),3,567,
+emily_(pure_dream),1,567,"emily_(sstomomi),pure_dream"
+diamond_(houseki_no_kuni),4,567,
+delinquent,0,567,
+tsukui_kachou,1,566,
+tenmaso,1,566,
+ruukii_drift,1,566,
+prank,0,566,
+pallad,1,566,
+mikazuki_neko,1,566,mikaduki_neko
+ikusaba_mukuro,4,566,
+grima_(fire_emblem),4,566,gimurei
+gingham,0,566,
+gekitotsu!_joshikousei_oiroke_sensha_gundan,3,566,
+fur-trimmed_footwear,0,566,
+flower_in_mouth,0,566,
+falken_(yutozin),1,566,rin_falcon
+chili_pepper,0,566,chili
+bubba_(watson_amelia),4,566,
+tamamo_cat_(third_ascension)_(fate),4,565,
+tajima_ryuushi,1,565,tajima_ryoushi
+sailor_uranus,4,565,
+removing_jacket,0,565,
+orange_rose,0,565,
+nekoya_(liu),1,565,dyolf
+milfeulle_sakuraba,4,565,
+kisaragi_momo,4,565,
+hibari_(senran_kagura),4,565,
+dollar_sign,0,565,$
+chakram,0,565,
+asseylum_vers_allusia,4,565,
+yoi_naosuke,1,564,debutya_aki
+tonarikeru,1,564,tonari_no_kai_keruberosu
+strawberry_panic!,3,564,strawberry_panic
+spoken_food,0,564,
+sequential,0,564,
+natsuiro_egao_de_1_2_jump!,0,564,
+kafuu_chino's_school_uniform,0,564,
+izawa_(bhive003),1,564,izawa_koushi
+homu_(honkai_impact),4,564,
+hakuryuu_(inazuma_eleven),4,564,
+fruit_on_head,0,564,
+frilled_camisole,0,564,
+drowning,0,564,
+chained_wrists,0,564,
+bull,0,564,"bulls,ox,oxen"
+azusa_(hws),1,564,
+white_blood_cell_(hataraku_saibou),4,563,
+vampire_(azur_lane),4,563,
+valorant,3,563,
+takase_muh,1,563,takase_muu
+sweater_pull,0,563,
+sky_lantern,0,563,
+russia_(hetalia),4,563,
+redcomet,1,563,
+rebe11,1,563,"re-bell,rebell"
+naganohara_mio,4,563,
+math,0,563,
+mai_natsume,4,563,
+hair_wings,0,563,
+guweiz,1,563,
+chihiro_(kemonomichi),1,563,kemonomichi
+wooden_horse,0,562,
+tamago_(yotsumi_works),1,562,
+striped_hairband,0,562,
+spanish_text,0,562,spanish
+scar_on_mouth,0,562,mouth_scar
+pretty_rhythm,3,562,
+onii-shota,0,562,
+nishihara_isao,1,562,
+minazuki_(kancolle),4,562,minazuki_(kantai_collection)
+microwave,0,562,
+kuroka_(high_school_dxd),4,562,
+kimi_ga_nozomu_eien,3,562,"kiminozo,rumbling_hearts,the_eternity_you_desire"
+kanon_(umineko),4,562,
+hypno,4,562,
+hi_you_(flying_bear),1,562,"hikuma,hiyuu_(flying_bear)"
+handshake,0,562,shaking_hands
+eye_trail,0,562,
+cow_costume,0,562,
+arm_across_waist,0,562,
+arcanine,4,562,
+afterword,0,562,
+yoshikawa_yuuko,4,561,
+two-tone_coat,0,561,
+torn_bike_shorts,0,561,
+seraziel,1,561,
+rokugou_daisuke,1,561,
+raspberry,0,561,raspberries
+ophelia_(fire_emblem),4,561,ophelia_(fire_emblem_if)
+nao_(mabinogi),4,561,
+missing_limb,0,561,
+mignon,1,561,
+kouda_suzu,1,561,
+ichihaya,1,561,
+haru_(nakajou-28),1,561,
+h_kasei,1,561,
+fukai_ryosuke,1,561,fukai_ryousuke
+cougar_(cougar1404),1,561,cougar1404
+302,1,561,
+taishi_(picchiridou),1,560,
+super_robot_wars_og_saga_mugen_no_frontier,3,560,endless_frontier
+skadi_(waverider)_(arknights),4,560,skadi_(riding_waves)_(arknights)
+shorts_removed,0,560,
+rooster,0,560,
+mutual_hug,0,560,
+minase_akiko,4,560,
+maji_de_watashi_ni_koi_shinasai!,3,560,majikoi
+kozue_akari,1,560,
+ica,1,560,
+gin'ichi_(akacia),1,560,
+frostnova_(arknights),4,560,
+covering_ears,0,560,hands_over_ears
+buront,4,560,
+beatrice_(re:zero),4,560,
+bald_eagle,0,560,
+arm_around_back,0,560,
+yamagou_ayumi,4,559,
+tarnished_(elden_ring),4,559,
+tales_of_xillia_2,3,559,
+star_ocean_the_second_story,3,559,star_ocean_2
+sora_(arknights),4,559,
+peony_(flower),0,559,
+muvluv_total_eclipse,3,559,
+moth,0,559,
+ky_kiske,4,559,
+comiket,0,559,
+bunbun,1,559,abec
+bayonetta_2,3,559,
+anchor_earrings,0,559,
+wuxian_(the_legend_of_luoxiaohei),4,558,
+shun_(small)_(blue_archive),4,558,shun_(kid)_(blue_archive)
+santa_claus,4,558,father_christmas
+red_mask,0,558,
+pigeon666,1,558,
+ojamajo_doremi,3,558,magical_doremi
+melony_(pokemon),4,558,melon_(pokemon)
+martha_(swimsuit_ruler)_(fate),4,558,saint_martha_(swimsuit_ruler)_(fate)
+kuena,1,558,
+kenshin187,1,558,"kentaro1087,lonerurouni187"
+kar98k_(girls'_frontline),4,558,kar98k_(girls_frontline)
+itoshiki_nozomu,4,558,
+fuuen_(akagaminanoka),1,558,akagaminanoka
+dora_ita,1,558,dora_e
+box_tie,0,558,
+ace_of_hearts,0,558,
+vertical-striped_kimono,0,557,vertical-striped_yukata
+seikan_hikou,0,557,
+ryuki_(ryukisukune),1,557,ryukz
+rhine_lab_logo,0,557,
+poke_ball_(legends),0,557,
+ouno_(nounai_disintegration),1,557,
+orizen,1,557,
+ore_twintail_ni_narimasu,3,557,
+lvl_(sentrythe2310),1,557,
+icomochi,1,557,ikomochi
+hand_on_wall,0,557,hands_on_wall
+getter_robo,3,557,
+casino_(casinoep),1,557,casino_(pixiv468133)
+body_switch,0,557,body_swap
+aviator_cap,0,557,
+v-mag,1,556,
+tsukiman,1,556,
+tomori_nao,4,556,
+tanabe_(fueisei),1,556,
+suke_(singekijyosei),1,556,
+sengoku_bushouki_muramasa,3,556,
+sawao,1,556,
+purple_fur,0,556,
+mountain_(arknights),4,556,
+mega_man_x_(character),4,556,x_(rockman)
+kutan,1,556,
+kadomatsu,0,556,
+gesture,0,556,gesturing
+ashtray,0,556,
+wii_fit_trainer_(female),4,555,"trainer_(wii_fit),wii_fit_trainer"
+sombra_(overwatch),4,555,
+short_bangs,0,555,
+qingxin_flower,0,555,
+projectile_lactation,0,555,
+pitcher,0,555,
+okada_izou_(fate),4,555,
+layered_kimono,0,555,multilayer_kimono
+imai_lisa,4,555,
+holding_megaphone,0,555,
+hirschgeweih_antennas,0,555,
+hinamatsuri,0,555,
+circle_formation,0,555,circular_formation
+anal_fluid,0,555,
+ai_takurou,1,555,
+totooria_helmold,4,554,
+stance,0,554,
+smelling_clothes,0,554,clothes_sniffing
+rice_paddy,0,554,rice_field
+reku,1,554,
+raiden_mei_(herrscher_of_thunder),4,554,
+psycho-pass,3,554,
+orange_bra,0,554,
+na-ga,1,554,
+mob_psycho_100,3,554,
+koku,1,554,errors
+hiiragi_yuzu,4,554,
+fun_bo,1,554,
+forehead_tattoo,0,554,
+flower_in_eye,0,554,
+dsr-50_(girls'_frontline),4,554,dsr-50_(girls_frontline)
+disguise,0,554,
+dhole_(kemono_friends),4,554,
+canned_coffee,0,554,
+azumanga_daioh's_school_uniform,0,554,
+yorumi_rena,4,553,
+yakob_labo,1,553,rabochicken
+turtwig,4,553,
+sothis_(fire_emblem),4,553,sothis
+reverse_translation,5,553,
+lavender_background,0,553,
+jtveemo,1,553,
+hoshino_hinata,4,553,
+holding_surfboard,0,553,
+fuura_kafuka,4,553,
+fujinami_(kancolle),4,553,fujinami_(kantai_collection)
+floating_rock,0,553,
+cure_princess,4,553,
+cumdump,0,553,
+blood_in_mouth,0,553,
+bindi,0,553,
+z46_(azur_lane),4,552,
+tsuji_renta,4,552,
+team_magma,0,552,
+sweep_tosho_(umamusume),4,552,
+surio,1,552,toy_box-r
+pants_under_skirt,0,552,
+nekoume,1,552,
+mutou_yuugi,4,552,"muto_yugi,mutou_yugi,yugi_moto,yugi_muto,yugi_mutou"
+minust,1,552,
+kurugaya_yuiko,4,552,
+kei_jiei,1,552,"keijiei,momoego,momokan"
+hidaka_ai,4,552,
+hard_translated_(non-english),5,552,
+hands_on_own_breasts,0,552,
+ginko_(silver_fox),1,552,
+dirigible,0,552,"blimp,zeppelin"
+damao_yu,1,552,
+daizu_(melon-lemon),1,552,
+clefairy,4,552,
+clara_(girls_und_panzer),4,552,
+asuka_(senran_kagura),4,552,
+aether_foundation_employee,4,552,
+yandere_trance,0,551,
+weee_(raemz),1,551,raemz
+superman_(series),3,551,
+side-tie_swimsuit,0,551,
+see-through_jacket,0,551,
+sasaki_chiho,4,551,
+rei_(pokemon),4,551,"male_protagonist_(pokemon_legends:_arceus),rei_(pokemon_legends:_arceus),teru_(pokemon)"
+josou_seme,0,551,
+iwamoto_eiri,1,551,"iwamoto_hidetoshi,pizaya,s_tanly"
+gj-bu,3,551,
+flattop,0,551,
+evelynn_(league_of_legends),4,551,
+dragonite,4,551,
+crotch_zipper,0,551,
+asticassia_school_uniform,0,551,
+ryuuhou_(kancolle),4,550,ryuuhou_(kantai_collection)
+mikisugi_aikurou,4,550,
+lightning_bolt_print,0,550,
+less,1,550,
+koizumi_itsuki_(female),4,550,koizumi_itsuko
+kayoko_(blue_archive),4,550,
+hm_(hmongt),1,550,phandit_thirathon
+fu_hua_(herrscher_of_sentience),4,550,
+bianka_durandal_ataegina,4,550,durandal_(honkai_impact)
+adjusting_buruma,0,550,
+yumiya,1,549,
+twrlare,1,549,
+tri_braids,0,549,
+taketora_suzume,1,549,taketora
+saotome_ranma,4,549,
+petra_gurin,4,549,
+pachirisu,4,549,
+ozymandias_(fate),4,549,
+luo_tianyi,4,549,yayin_gongyu
+lexington_(warship_girls_r),4,549,
+james_moriarty_(archer)_(fate),4,549,"archer_of_shinjuku,james_moriarty_(fate),james_moriarty_(fate/grand_order)"
+interior,0,549,
+hands_on_another's_thighs,0,549,
+ergot,1,549,
+blunt_tresses,0,549,
+tenshin_amaguri_(inobeeto),1,548,
+sin_sack,4,548,
+shinonono_houki,4,548,
+niina_ryou,1,548,
+materia,0,548,
+huang_lingyin,4,548,fang_lin_yin
+hooded_vest,0,548,hoodie_vest
+eva_beatrice,4,548,
+chibi_on_head,0,548,
+char_aznable,4,548,
+celebi,4,548,
+caesar_(girls_und_panzer),4,548,
+bruce_lee's_jumpsuit,0,548,
+tukino_neru,1,547,tsukino_neru
+toukaairab,1,547,
+segami_daisuke,1,547,
+pokemon_ears,0,547,
+okazaki_ushio,4,547,
+namauni,1,547,
+murder,0,547,
+munmu-san,1,547,
+lancelot_(fate/grand_order),4,547,
+karate_gi,0,547,
+hxxg,1,547,hong
+hori_yuko,4,547,hori_yuuko
+hiememiko,1,547,
+fist_pump,0,547,
+egg_laying,0,547,"egglaying,oviposition"
+cuff_links,0,547,"cuff-link,cuff-links,cuff_link"
+chess,0,547,
+bobblehat,0,547,
+bertolt_hoover,4,547,bertholt_fubar
+wyvern,0,546,
+sunhyun,1,546,
+race_vehicle,0,546,
+po-ju,1,546,poju
+makeup_brush,0,546,
+koi_wa_sensou_(vocaloid),3,546,"koi_wa_sensou,love_is_war,love_is_war_(vocaloid)"
+high_five,0,546,highfive
+hand_over_face,0,546,
+furoshiki,0,546,
+charlotta_(granblue_fantasy),4,546,"charlotta_fenia,charlotte_(granblue_fantasy)"
+casino,0,546,
+battle_spirits,3,546,
+arezu_(pokemon),4,546,"arezu,hinatsu_(pokemon)"
+aiba_yumi,4,546,
+admiral_hipper_(azur_lane),4,546,
+yakihebi,1,545,
+tear_grants,4,545,
+suou_pavlichenko,4,545,
+summon_night_3,3,545,summonnight3
+shinozuka_jouji,1,545,shinozuka_jyouji
+ouma_tokiichi,1,545,"ouma_toki-ichi,shimoyakedou"
+mini_witch_hat,0,545,
+holographic_monitor,0,545,"holographic_display,holographic_screen"
+green-tinted_eyewear,0,545,
+dragon_print,0,545,
+crutch,0,545,crutches
+cross_tie,0,545,x-shaped_choker
+coffee_pot,0,545,
+bagpipe_(arknights),4,545,
+uzaki_tsuki,4,544,
+terrajin,1,544,terajin
+taikyokuturugi,1,544,
+sobbing,0,544,
+seihekiog,1,544,
+sakata_nemuno,4,544,
+princess_serenity,4,544,
+phantom_of_the_kill,3,544,
+ooji_mochizou,4,544,
+kuroi_mimei,1,544,"kishi_yuutokuroi,reimei_nordlingen"
+gwendolyn_(odin_sphere),4,544,
+fruit_cup,0,544,
+frilled_umbrella,0,544,
+cure_pine,4,544,
+checkered_bow,0,544,
+asaka_karin,4,544,
+akagi_kurage,1,544,mizuki_eiru_(akagi_kurage)
+ahoge_wag,0,544,
+young_link,4,543,
+tsukudani_norio,1,543,norio_kkk
+timbougami,1,543,"hks_(timbougami),tim_loechner"
+penis_on_ass,0,543,
+ononoki_yotsugi,4,543,
+namie-kun,1,543,
+mitha,1,543,
+mio_(xenoblade),4,543,
+mikumikudance_(medium),5,543,
+lying_on_lap,0,543,
+long_nose,0,543,
+kushieda_minori,4,543,
+fusuma,0,543,
+free_style_(yohan1754),1,543,yohan1754
+fanning_face,0,543,
+colored_shoe_soles,0,543,
+villager_(animal_crossing),4,542,villager_(doubutsu_no_mori)
+special_feeling_(meme),0,542,
+shone,1,542,
+seto_kousuke,4,542,
+panties_under_shorts,0,542,
+mukaido_manaka,4,542,
+madoka_runes,0,542,
+kirito_(sao-ggo),4,542,
+kaidou_minami,4,542,
+jug,0,542,
+holding_shirt,0,542,
+high_wizard_(ragnarok_online),4,542,
+guoba_(genshin_impact),4,542,
+cigarette_pack,0,542,cigarette_box
+bokukawauso,4,542,
+banana_peel,0,542,
+accident,0,542,
+wet_skirt,0,541,
+standard_bearer,0,541,
+scratching_head,0,541,
+rust,0,541,
+ri-net,1,541,rinechun
+punk,0,541,
+pop'n_music,3,541,
+midorikawa_you,1,541,
+holding_hose,0,541,
+finger_to_another's_mouth,0,541,finger_on_another's_lips
+dungeon,0,541,
+annotation_request,5,541,
+altaria,4,541,
+ace_combat,3,541,
+zenon_(for_achieve),1,540,
+takanashi_kei_(hitsujikan),1,540,
+sinking,0,540,
+single_knee_pad,0,540,
+shirt_overhang,0,540,
+shared_earphones,0,540,
+nekobaka,1,540,
+mika_(blue_archive),4,540,
+konishi_(koconatu),1,540,
+heshikiri_hasebe,4,540,
+flygon,4,540,
+fire_emblem:_thracia_776,3,540,"fe5,fire_emblem_thracia_776"
+elly_(touhou),4,540,
+dualshock,0,540,
+creeper,4,540,
+camisole_lift,0,540,
+washing_hair,0,539,
+voms,3,539,
+sugimoto_reimi,4,539,
+sidecut,0,539,
+scratching_cheek,0,539,
+paint_can,0,539,paint_bucket
+onesie,0,539,
+mutsuki_kai_ni_(kancolle),4,539,
+megido72,3,539,
+lockheart,1,539,
+jump_rope,0,539,skipping_rope
+ittla,1,539,
+hasumi_souji_(eroe),4,539,
+gundam_hathaway's_flash,3,539,
+greek_toe,0,539,
+fish_bone,0,539,"fish_bones,fishbone,fishbones"
+edogawa_conan,4,539,
+atelier_ryza_2,3,539,
+amaterasu_(ookami),4,539,amaterasu
+utawarerumono:_itsuwari_no_kamen,3,538,utawareru_mono:_itsuwari_no_kamen
+two-tone_cape,0,538,
+taka_(takahirokun),1,538,takahirokun
+tachibana_taki,4,538,
+starfish_hair_ornament,0,538,
+shirt_around_waist,0,538,
+sazanami_konami,1,538,
+norman_maggot,1,538,
+nico_nico_nii,0,538,
+mythra_(massive_melee)_(xenoblade),4,538,
+koi_(koisan),1,538,
+inuyasha_(character),4,538,
+holding_toy,0,538,
+glitter,0,538,
+extraction,5,538,
+delicious_party_precure,3,538,
+too_many_cats,0,537,
+takanashi_ringo,1,537,ringo78
+saionji_hiyoko,4,537,
+pointing_forward,0,537,
+masami_chie,1,537,
+kokonoe_rin,4,537,
+kiso_kai_ni_(kancolle),4,537,
+kakegurui,3,537,
+ichigaya_arisa,4,537,
+hand_print,0,537,
+cutting,0,537,
+cross_pasties,0,537,x_pasties
+belarus_(hetalia),4,537,
+yamada_rei_(rou),1,536,
+valentine_(skullgirls),4,536,
+toujou_koneko,4,536,
+pixiv_fantasia_sword_regalia,3,536,
+nami_junior_high_school_uniform,0,536,
+mega_gardevoir,4,536,
+kagemori_michiru,4,536,
+heiwajima_shizuo,4,536,
+black_garter_straps,0,536,
+bipod,0,536,
+yonaga_angie,4,535,
+weasel_girl,0,535,
+tsubasa_(abchipika),1,535,chipika
+thumbs_down,0,535,
+mitsumomo_mamu,1,535,
+mitarashi_kousei,1,535,
+jacket_girl_(dipp),4,535,jacketko
+ichii_yui,4,535,
+fur-trimmed_collar,0,535,
+cure_diamond,4,535,
+cervical_penetration,0,535,
+beach_mat,0,535,
+yoshi,4,534,
+too_literal,0,534,
+tomobe_kinuko,1,534,
+tokarev_(girls'_frontline),4,534,tokarev_(girls_frontline)
+tang_keke,4,534,
+stripper,0,534,
+saury,0,534,
+sakaki_imasato,1,534,
+rosa_farrell,4,534,
+rei_(sanbonzakura),1,534,sanbonzakura
+neon-tetora,1,534,
+mismatched_sclera,0,534,
+kurashima_tomoyasu,1,534,kurashima_takeyasu
+holding_torpedo,0,534,
+holding_leg,0,534,
+gaijin_4koma_(meme),0,534,"gaijin4koma,gaijin_4koma"
+foot_worship,0,534,
+emolga,4,534,
+eiyuu_senki,3,534,
+detached_leggings,0,534,
+yellow_horns,0,533,
+trash,0,533,garbage
+silly_(marinkomoe),1,533,
+schwertkreuz,4,533,
+print_hoodie,0,533,
+plasma-chan_(kancolle),4,533,plasma-chan_(kantai_collection)
+piccolo,4,533,
+naso4,1,533,dummy04
+naked_capelet,0,533,
+momose_(oqo),1,533,
+miss_fortune_(league_of_legends),4,533,sarah_fortune
+mahjong_soul,3,533,
+lime_(fruit),0,533,
+jabot,0,533,
+finalcake,1,533,"jrainbow,ura_cake"
+feet_on_chair,0,533,
+covered_penis,0,533,
+yumesato_makura,1,532,
+walker,0,532,
+tenryuu_kai_ni_(kancolle),4,532,
+tape_bondage,0,532,
+stocks,0,532,
+shirakiin_ririchiyo,4,532,
+planet_hair_ornament,0,532,
+okiraku_nikku,1,532,okirakunikku
+kobayakawa_yutaka,4,532,
+hayakawa_aki,4,532,hayakawa_aki_(chainsaw_man)
+eye_reflection,0,532,
+cross-eyed,0,532,"cross_eyed,crossed_eyes"
+cellien_(kemono_friends),4,532,cerulean_(kemono_friends)
+bache_(azur_lane),4,532,
+annette_fantine_dominic,4,532,annette_fantine_dominique
+akimoto_komachi,4,532,
+akane_(blue_archive),4,532,
+zannen_na_hito,1,531,
+vergil_(devil_may_cry),4,531,vergil
+venera-sama,4,531,
+valkyrie_(fate),4,531,valkyrie_(fate/grand_order)
+shinmai_maou_no_testament,3,531,
+noya_makoto,1,531,noya
+night_sparrow_love,3,531,
+nannacy7,1,531,nanacy7
+konshin,1,531,
+ibara_mayaka,4,531,
+hatakaze_(kancolle),4,531,hatakaze_(kantai_collection)
+hades_(game),3,531,
+green_rose,0,531,
+fireball,0,531,"fire_ball,fireball_(fire),fireballs"
+eunie_(xenoblade),4,531,
+endou_mamoru,4,531,
+beer_bottle,0,531,
+battery_indicator,0,531,
+uranami_(kancolle),4,530,uranami_(kantai_collection)
+shulk_(xenoblade),4,530,
+samip,1,530,3leafs
+rento_(rukeai),1,530,
+poyo_(hellmayuge),1,530,
+portal_(object),0,530,
+lambda-11,4,530,
+kyo_(kuroichigo),1,530,
+holding_teapot,0,530,
+harimoji,1,530,
+glands_of_montgomery,0,530,
+felutiahime,1,530,
+crow_(la+_darknesss),4,530,
+chocolate_banana,0,530,"choco_banana,chocobanana"
+brain,0,530,
+abyssal_admiral_(kancolle),4,530,abyssal_admiral_(kantai_collection)
+yana_(chihuri),4,529,
+welrod_mkii_(girls'_frontline),4,529,"welrod_mk2_(girls'_frontline),welrod_mk2_(girls_frontline)"
+underpec,0,529,
+ring_fit_adventure,3,529,
+resident_evil_4,3,529,biohazard_4
+quadruple_amputee,0,529,
+nazi,0,529,
+kuriyama_mirai,4,529,
+kizumonogatari,3,529,
+kimura_takahiro,1,529,
+inoue_sora,1,529,
+hoshino_miyako_(wataten),4,529,
+heart_pendant,0,529,
+gabriel_tenma_white,4,529,tenma_gabriel_white
+dullahan,0,529,
+drag-on_dragoon_3,3,529,drakengard_3
+ajishio,1,529,
+yuano,1,528,
+toutenkou,1,528,
+psyduck,4,528,
+nousagi_(usada_pekora),4,528,
+ms._fortune_(skullgirls),4,528,nadia_fortune
+mahou_shoujo_ikusei_keikaku_unmarked,3,528,
+kusakabe_misao,4,528,
+koume_keito,1,528,
+hidden_star_in_four_seasons,3,528,
+genji_(overwatch),4,528,"genji_shimada,shimada_genji"
+covered_clitoris,0,528,
+yamanbagiri_kunihiro,4,527,
+war_hammer,0,527,warhammer
+venusaur,4,527,
+souryu,1,527,
+ndgd,1,527,vault69
+luke_(dydansgur),1,527,
+kaleidostick,0,527,
+kaetzchen,1,527,
+is_that_so,0,527,so-nanoka
+high-waist_pantyhose,0,527,
+head_only,0,527,
+haneoka_school_uniform,0,527,
+celica_(fire_emblem),4,527,
+bird_on_arm,0,527,
+utaite_(singer),0,526,
+single_thigh_boot,0,526,
+prussia_(hetalia),4,526,
+oversized_forearms,0,526,
+matsukaze_(kancolle),4,526,matsukaze_(kantai_collection)
+futari_wa_precure_max_heart,3,526,
+christmas_stocking,0,526,
+check_artist,5,526,
+arm_over_head,0,526,
+tusia,1,525,"ladymarta,nekonomlcon,nusumenaihxseki,orta_(artist)"
+suzunone_rena,1,525,suzune_rena
+surprised_arms,0,525,
+suikawari,0,525,watermelon_splitting_game
+senko_(sewayaki_kitsune_no_senko-san),4,525,
+rubber_gloves,0,525,
+robin_hood_(fate),4,525,
+randomboobguy,1,525,
+pyramid_(structure),0,525,pyramid
+ots-14_(girls'_frontline),4,525,ots-14_(girls_frontline)
+lugia,4,525,
+hand_on_another's_hand,0,525,
+fast_food_uniform,0,525,
+elfenlied22,1,525,
+claw_foot_bathtub,0,525,
+cheshire_cat_(alice_in_wonderland),4,525,"cheshire_cat,cheshire_cat_(wonderland)"
+blue_camisole,0,525,
+aircraft_carrier_oni,4,525,
+yae_(mono110),1,524,yae_(artist)
+tamamo_no_mae_(swimsuit_lancer)_(second_ascension)_(fate),4,524,
+rozaliya_olenyeva,4,524,
+rindou_mikoto,4,524,
+nero_claudius_(olympian_bloomers)_(fate),4,524,olympian_bloomers
+lonely,0,524,
+listen!!,0,524,
+king_dedede,4,524,
+gosick,3,524,
+foot_dangle,0,524,
+fold-over_boots,0,524,
+doorknob,0,524,
+blue_tunic,0,524,
+binary,0,524,
+two-tone_footwear,0,523,
+ticket,0,523,
+the_legend_of_zelda:_majora's_mask,3,523,"majora's_mask,majoras_mask"
+synecdoche,1,523,
+soranamae,1,523,
+sesshouin_kiara_(swimsuit_mooncancer),4,523,sesshouin_kiara_(swimsuit_mooncancer)_(fate)
+sayori_(doki_doki_literature_club),4,523,
+ribbon-trimmed_panties,0,523,
+parari_(parari000),1,523,
+overall_skirt,0,523,
+okitakung,1,523,okita_(pixiv1267809)
+kotatsu_(kotatsu358),1,523,
+kobeya_uniform,0,523,
+green_tank_top,0,523,
+dwarf,0,523,"dwarfs,dwarves"
+adult_neptune,4,523,
+yuuki_tatsuya,1,522,
+yapo_(croquis_side),1,522,
+yakushiji_saaya,4,522,
+virgilia_(umineko),4,522,
+torn_wings,0,522,
+russian_commentary,5,522,
+rasukaru,1,522,rasukaru_(pixiv74058)
+norizou_type-r,1,522,
+ninian_(fire_emblem),4,522,
+kozaki_yuusuke,1,522,kozaki_yusuke
+kagurazaka_asuna,4,522,
+iori_junpei,4,522,junpei_iori
+danna_ga_nani_wo_itte_iru_ka_wakaranai_ken,3,522,"i_can't_understand_what_my_husband_is_saying,i_can't_understand_what_my_husband_is_saying"
+dakku_(ogitsune),1,522,ogitsune_(ankakecya-han)
+baking,0,522,
+yan_qing_(fate),4,521,"assassin_of_shinjuku,yan_qing_(fate/grand_order)"
+teardrop_facial_mark,0,521,
+submarine,0,521,
+senri_gan,1,521,gan_(shanimuni)
+puyopuyo_fever,3,521,
+pants_around_one_leg,0,521,
+kamukamu_(ars),1,521,
+itou_(onsoku_tassha),1,521,itou_(onnsokutassya)
+ikaruga_(senran_kagura),4,521,
+hinata_kaho,4,521,
+hazama,4,521,
+fiammetta_(arknights),4,521,suffering_(arknights)
+drifloon,4,521,
+carousel,0,521,"merry-go-round,merry_go_round"
+yun_jin_(genshin_impact),4,520,yunjin_(genshin_impact)
+tottotonero,1,520,
+sword_on_back,0,520,
+super_heroine_boy,3,520,
+sukoya_kana,4,520,
+singlet,0,520,
+pekoyama_peko,4,520,
+natsume_eri,1,520,
+mouth,0,520,
+matanonki,1,520,"erokosei,kinnotama_(erokosei)"
+kurasuke,1,520,
+janong,1,520,
+isshiki_akane,4,520,
+heart_(organ),0,520,
+green_fire,0,520,
+glansjob,0,520,
+fi-san,1,520,
+broccoli,0,520,
+bkub_(style),0,520,
+ankleband,0,520,
+60mai,1,520,
+wingull,4,519,
+urinal,0,519,
+shitty_admiral_(phrase),0,519,shitty_admiral
+rag,0,519,
+princess_of_the_crystal,4,519,
+nakiri_erina,4,519,
+nadegata,1,519,
+kamiya_tomoe,1,519,
+hoshino_(swimsuit)_(blue_archive),4,519,
+horn_grab,0,519,
+holding_with_tail,0,519,tail_hold
+crumbles,1,519,
+chris_redfield,4,519,
+blending,0,519,
+batta_(ijigen_debris),1,519,
+backless_swimsuit,0,519,
+zoids_genesis,3,518,
+tatebayashi_sakurako,4,518,
+tanaka_gandamu,4,518,
+shuu_(inazuma_eleven),4,518,
+shuten_douji_(first_ascension)_(fate),4,518,
+shintarou,1,518,shintaro
+sailor_neptune,4,518,
+purple_sash,0,518,
+notched_lapels,0,518,
+no_feet,0,518,
+li_xiaolang,4,518,li_syaoran
+elevator,0,518,
+donburi_(donburikazoku),1,518,donburikazoku
+arlecchino_(genshin_impact),4,518,
+yumi_(bow),0,517,
+tamamo_cat_(first_ascension)_(fate),4,517,
+starshadowmagician,1,517,
+stacking,0,517,
+rural,0,517,
+qurare_magic_library,3,517,
+pocari_sweat,0,517,
+nowi_(fire_emblem),4,517,"nono_(fire_emblem),nowi"
+nana_asta_deviluke,4,517,
+lapel_pin,0,517,
+interview,0,517,
+funeral_dress,0,517,
+emmet_(pokemon),4,517,kudari_(pokemon)
+busujima_saeko,4,517,
+yano_mitsuki,1,516,
+whiteboard,0,516,
+tsubaki_(blue_archive),4,516,
+terry_bogard,4,516,
+suzi_q,4,516,suzi_quatro
+strength_(black_rock_shooter),4,516,strength_(brs)
+snorlax,4,516,
+side-tie_bottom,0,516,
+risotto_nero,4,516,
+kimoshi,1,516,deru06
+haunter,4,516,
+hair_ornament_removed,0,516,
+face_punch,0,516,"face_punching,punch_to_face"
+crushing,0,516,crush
+compound_eyes,0,516,insect_eyes
+amakusa_shirou_(fate),4,516,
+stuffed_unicorn,0,515,
+madoka_aguri,4,515,
+face_down,0,515,
+evangeline_a.k._mcdowell,4,515,evangeline_a_k_mcdowell
+cork,0,515,
+cat_on_shoulder,0,515,
+bear_hood,0,515,
+abigail_williams_(second_ascension)_(fate),4,515,
+yuyushiki's_school_uniform,0,514,
+yoake_mae_yori_ruri_iro_na,3,514,"crescent_love,yoakena"
+yagami_hikari,4,514,
+tucked_penis,0,514,"cock-tail,penis_tucking"
+toji_no_miko,3,514,
+mondi_hl,1,514,mondi
+meth_(emethmeth),1,514,
+malina_(helltaker),4,514,
+limiter_(tsukumo_sana),0,514,
+kuririn,4,514,krillin
+konoe_kanata,4,514,
+kasugano_urara_(yes!_precure_5),4,514,kasugano_urara_(precure)
+higashiyama_kobeni,4,514,
+giant_male,0,514,
+efe,1,514,
+dogeza,0,514,
+camera_phone,0,514,
+bamboo_shoot,0,514,bamboo_sprout
+aqua_(kingdom_hearts),4,514,
+zoya_petrovna_vecheslova,4,513,
+vajra_(granblue_fantasy),4,513,
+tsukumiya_amane,1,513,
+soy_sauce,0,513,
+oono_aya,4,513,
+lacus_clyne,4,513,lacus
+kongou_(aoki_hagane_no_arpeggio),4,513,
+kiira,1,513,
+kanno_takanori,1,513,
+hummy_(suite_precure),4,513,hummy_(precure)
+hirasaka_makoto,1,513,clash_house
+hestia_(danmachi)_(cosplay),0,513,hestia_(dungeon)_(cosplay)
+giratina,4,513,
+fumitsuki_(minaduki_6),1,513,
+cure_dream,4,513,
+crocs,0,513,
+bee_girl,0,513,
+vodka,0,512,
+vertical-striped_bra,0,512,
+thong_aside,0,512,
+tanaka_ryou,1,512,
+side-tie_shirt,0,512,
+shiroshi_(denpa_eshidan),1,512,shirofox
+ryuu.,1,512,
+red_feathers,0,512,
+manino_(mofuritaionaka),1,512,
+maboroshi_mochi,1,512,
+long_shirt,0,512,t-shirt_dress
+kousaki_rui,1,512,
+kemono_friends_2,3,512,
+ji_no,1,512,
+instagram_logo,0,512,
+frankenstein's_monster_(swimsuit_saber)_(fate),4,512,
+da_capo_ii,3,512,da_capo_2
+closet,0,512,
+at_computer,0,512,
+asia_argento,4,512,
+arima_senne,4,512,yomogis_red_eyed_megane
+aioi_yuuko,4,512,
+watanon_(gakushokutei),1,511,watanohara
+sweet_lolita,0,511,
+reverse_spitroast,0,511,
+qys3,1,511,bai_yemeng
+mafuyu_(chibi21),1,511,
+kurione_(zassou),1,511,
+kirishima_eijirou,4,511,red_riot_(boku_no_hero_academia)
+jam,0,511,
+gon_freecss,4,511,
+dorsal_fin,0,511,
+butter-t,1,511,
+brown_serafuku,0,511,
+blue_oath,3,511,
+aquaegg,1,511,
+846-gou,1,511,noir846
+zaxwu,1,510,
+south_park,3,510,
+record,0,510,"lp_record,records,vinyl_disc"
+otosama,1,510,
+mismatched_eyelashes,0,510,
+manaka_lala,4,510,
+lilina_(fire_emblem),4,510,lilina
+gallade,4,510,
+flipper,1,510,
+depressed,0,510,
+dantewontdie,1,510,yinan_cui
+cockroach,0,510,"cockroaches,roach,roaches"
+chessboard,0,510,
+akagi_(fmttps),1,510,chimaki_(u9works)
+wada_kazu,1,509,wadakazu
+sticky_note,0,509,post-it
+shouji_nigou,1,509,shouji_2
+shinkai_shoujo_(vocaloid),3,509,
+sakura_trick,3,509,
+national_shin_ooshima_school_uniform,0,509,
+mashima_hiro,1,509,
+market_stall,0,509,"stall,stall_(market)"
+kindergarten,0,509,preschool
+implied_pantyshot,0,509,
+holding_wrench,0,509,
+gigantamax,0,509,
+dotted_background,0,509,
+dmm,3,509,
+bird_print,0,509,
+azur_lane:_slow_ahead,3,509,
+amazon_(company),0,509,"amazon.com,amazon_(copyright)"
+yae_sakura_(gyakushinn_miko),4,508,
+uchiha_sarada,4,508,
+stuffed_panda,0,508,
+soukyuu_no_fafner,3,508,fafner_in_the_azure
+shirley_fenette,4,508,
+san_(mononoke_hime),4,508,san
+occultic;nine,3,508,
+no_sclera,0,508,
+komakoma_(magicaltale),1,508,lilywhite_lilyblack
+judgement_(helltaker),4,508,
+jjanda,1,508,kimjunho
+isabella_valentine,4,508,"ivy_(soul_calibur),ivy_valentine"
+harley_quinn,4,508,
+handjob_gesture,0,508,
+depth_charge,0,508,
+c-string,0,508,
+brass_knuckles,0,508,
+ame.,1,508,
+u.n._spacy,0,507,
+toujou_sakana,1,507,diabolism
+toraishi_666,1,507,ishii666
+tonpuu,1,507,tongpoo
+shiny_swimsuit,0,507,
+sakuya_tsuitachi,1,507,
+pushing_away,0,507,
+narue,1,507,naruwe
+nanashino,1,507,
+lindaroze,1,507,alina_pegova
+king's_raid,3,507,
+kataginu,0,507,
+ima-no-tsurugi,4,507,
+glass_bottle,0,507,
+gentoo_penguin_(kemono_friends),4,507,
+frilled_jacket,0,507,
+finger_frame,0,507,finger_camera
+devil_may_cry_5,3,507,
+coin_purse,0,507,
+yorita_yoshino,4,506,
+tomokichi,1,506,
+stained_clothes,0,506,
+squeezing,0,506,squeeze
+sauce,0,506,
+olga_marie_animusphere,4,506,olga_marie
+okuda_yasuhiro,1,506,
+mole_on_arm,0,506,
+mechanic,0,506,
+masara_(chuujou),1,506,masara_(masalucky2010)
+kirisame_marisa_(pc-98),4,506,kirisame_marisa_(classic)
+kawakami_sadayo,4,506,
+hoshi_no_tsue,0,506,
+headphones_removed,0,506,
+genderswap_(otf),0,506,
+futatsuiwa_mamizou_(human),4,506,
+doom_(series),3,506,
+carried_breast_rest,0,506,
+benikurage_(cookie),4,506,
+aqua_kimono,0,506,
+amagi_(amagi626),1,506,
+achiga_school_uniform,0,506,
+sheikah,0,505,
+sazaki_kaoruko,4,505,
+presenting_panties,0,505,
+oversized_breast_cup,0,505,
+miyashita_ai,4,505,
+makacoon,1,505,
+holding_heart,0,505,
+headlight,0,505,
+hawk,0,505,
+final_fantasy_x-2,3,505,
+duke_(inu_daimyou),1,505,deyuuku
+band,0,505,
+anko_(gochiusa),4,505,
+yukimura_aoi,4,504,
+xenosaga_episode_iii,3,504,xenosaga_iii
+white_hood,0,504,
+white_garter_straps,0,504,
+stanley_lau,1,504,artgerm
+softmode,1,504,"doomfest,saimon_ma"
+scorpion_tail,0,504,
+policeman,0,504,"police-man,police_man"
+persona_2,3,504,
+pelvic_curtain_lift,0,504,
+omachi_(slabco),1,504,
+matsuda_yuusuke,1,504,
+jolly_roger,0,504,
+jewelpet_(series),3,504,
+bloodshot_eyes,0,504,bloodshot_eye
+abandon_ranka,1,504,ranka224
+wavy_eyes,0,503,
+translucent,0,503,
+stomach_growling,0,503,stomach_growl
+siirakannu,1,503,
+satou_atsuki,1,503,"as-special,as_special"
+phantom_ix_row,1,503,
+luciela_r._sourcream,4,503,lu_(elsword)
+kamen_rider_ooo_(series),3,503,
+island_fox_(kemono_friends),4,503,
+hierophant_green,4,503,
+hieroglyphics,0,503,
+hakuo_school_uniform,0,503,
+grey_bowtie,0,503,
+foxyreine,1,503,foxyrain
+cum_through_clothes,0,503,
+zentradi,0,502,
+treecko,4,502,
+niiya,1,502,
+mg42,0,502,
+mawile,4,502,
+kawachi_koorogi,1,502,kawauchi_kirigirisu
+in_mouth,0,502,
+fern,0,502,
+cargo_pants,0,502,
+calligraphy,0,502,
+benienma_(fate),4,502,benienma_(fate/grand_order)
+xander_(fire_emblem),4,501,marks_(fire_emblem_if)
+tiger_costume,0,501,tiger_suit
+sakuramori_kaori,4,501,
+pipe_in_mouth,0,501,
+maya_fey,4,501,ayasato_mayoi
+marill,4,501,
+mahouka_koukou_no_rettousei,3,501,"irregular_at_magic_high_school,the_irregular_at_magic_high_school"
+magikarp,4,501,
+ishikei_(style),0,501,
+ideolo,1,501,
+hoshina_hikaru,4,501,
+horn_ring,0,501,
+hello_kitty,3,501,
+hand_on_floor,0,501,
+hanadera_nodoka,4,501,
+fighter_(granblue_fantasy),4,501,
+black_vs_white,0,501,white_vs_black
+aroused,0,501,
+vignetting,0,500,
+tsugumomo,3,500,
+sprinkles,0,500,
+shigatake,1,500,
+seraph,0,500,seraphim
+pixiv_fantasia_new_world,3,500,
+pink_diamond_765_(idolmaster),0,500,pink_diamond_765
+nerv,0,500,
+holding_footwear,0,500,
+cheekbones,0,500,
+chabashira_tenko,4,500,
+broken_eyewear,0,500,broken_glasses
+ao-chan_(ninomae_ina'nis),4,500,
+ai-chan_(tawawa),4,500,ai_(himura_kiseki)
+victorica_de_blois,4,499,"victorica_de_broix,victorique_de_blois,victorique_de_broix"
+tokyo_(great_akuta),1,499,
+tokiha_mai,4,499,
+takayama_toshinori,1,499,teriyaki
+seramikku,1,499,
+sekaiju_no_meikyuu_5,3,499,etrian_odyssey_v
+resident_evil_2,3,499,biohazard_2
+rainbow_six_siege,3,499,
+lily_(vocaloid),4,499,
+harada_(sansei_rain),1,499,"haradaiko_(arata_himeko),sansei_rain"
+gladiia_(arknights),4,499,
+gemu555,1,499,
+beach_volleyball,0,499,
+animal_head,0,499,
+shaking_head,0,498,
+puuzaki_puuna,1,498,"paparins,wada_masanori,zeroshiki_kouichi"
+nipple_cutout,0,498,
+moth_girl,0,498,
+kuroi_moyamoya,1,498,
+komori_kuzuyu,1,498,
+kirero,1,498,
+hands_in_pocket,0,498,
+female_assassin_(fate/zero),4,498,
+blame!,3,498,blame
+absol,4,498,
+yonu_(yonurime),1,497,
+tsab_air_military_uniform,0,497,
+tokyo_mew_mew,3,497,
+shaymin,4,497,
+rotary_phone,0,497,
+nu_carnival,3,497,
+narciso_anasui,4,497,
+myama,1,497,
+mansion,0,497,
+fumo_(doll),0,497,
+food_request,5,497,
+ejaculation_under_clothes,0,497,
+daikon,0,497,
+container,0,497,
+ayakura_juu,1,497,
+aoi_nagisa_(metalder),1,497,"akai_migiwa,aoi_nagisa_(artist)"
+after_masturbation,0,497,
+tsukareta_san,1,496,
+tatsumi_ray,1,496,tatsumi_rei
+tantrum,0,496,
+tachibana_makoto,4,496,
+siegfried_(fate),4,496,
+ryouma_(galley),1,496,amaneko
+reshiram,4,496,
+print_scarf,0,496,
+planted_umbrella,0,496,
+mizumoto_yukari,4,496,
+miyama-zero,1,496,
+lace_border,0,496,
+kurapika,4,496,
+kore_wa_zombie_desu_ka?,3,496,"is_this_a_zombie,is_this_a_zombie?,kore_wa_zombie_desu_ka,korezom"
+kantele,0,496,
+forced_smile,0,496,
+ebiblue,1,496,ao_ebi
+dango_daikazoku,3,496,
+chrome_dokuro,4,496,
+wild_tiger,4,495,
+vulpix,4,495,
+studded_choker,0,495,
+shuga_(soranote),1,495,
+short_yukata,0,495,
+sameha_ikuya,1,495,
+rucchiifu,1,495,31_pacers
+puru_two,4,495,ple_2
+nagasioo,1,495,
+muku_(muku-coffee),1,495,muku-coffee
+kadose_ara,1,495,
+infukun,1,495,
+horiguchi_yukiko,1,495,shiromizakana
+hand_on_glass,0,495,hands_on_glass
+grey_one-piece_swimsuit,0,495,grey_swimsuit
+fudou_yuusei,4,495,yusei_fudo
+face_in_pillow,0,495,
+eichi_yuu,1,495,
+cure_twinkle,4,495,
+cure_rosetta,4,495,
+boshi_(a-ieba),1,495,
+arm_between_legs,0,495,
+ao_banana,1,495,
+victorian,0,494,
+ushiromiya_lion,4,494,ushiromiya_leon
+senkou_hanabi,0,494,senko_hanabi
+saiste,1,494,
+pecorine_(summer)_(princess_connect!),4,494,
+kiran_(fire_emblem),4,494,summoner_(fire_emblem_heroes)
+iroyopon,1,494,
+idolmaster_live_for_you!,3,494,
+hanasaka_houcha,1,494,"fafas68,hanasaki_houcha"
+desert_eagle,0,494,
+cure_beat,4,494,
+carrying_bag,0,494,
+blastoise,4,494,
+barasuishou,4,494,
+arcade_cabinet,0,494,
+ao_usagi,1,494,
+alcremie,4,494,
+adam's_apple,0,494,
+yakiimo,0,493,
+white_heart,4,493,
+wada_arco,1,493,"rco_wada,wada_aruko,wada_rco"
+tsurugi_kyousuke,4,493,
+shepherd0821,1,493,
+senki_zesshou_symphogear_xd_unlimited,3,493,
+sadamoto_yoshiyuki,1,493,
+pawn,0,493,
+kiryu_manzoku,1,493,
+hoshikawa_lily,4,493,
+hijiri_rei,1,493,hidiri_rei
+hidari_(left_side),1,493,
+gumroad_reward,5,493,
+forked_tail,0,493,
+evoker,0,493,
+dumbbell_nan_kilo_moteru?,3,493,"danberu_nan_kiro_moteru?,how_heavy_are_the_dumbbells_you_lift?"
+anti-aircraft,0,493,antiaircraft_weapon
+amusement_park,0,493,
+akino_shuu,1,493,
+zettai_karen_children,3,492,
+yuran,1,492,
+wiping,0,492,
+the_elder_scrolls,3,492,
+takatsuki_ichi,1,492,
+signpost,0,492,
+shan,1,492,
+saraki,1,492,
+read_or_die,3,492,readordie
+piyodera_mucha,1,492,mucha
+pixiv_fantasia_3,3,492,
+nakabayashi_zun,1,492,
+mordred_(swimsuit_rider)_(first_ascension)_(fate),4,492,
+monk,0,492,
+minigun,0,492,
+min_min_(arms),4,492,
+kekemotsu,1,492,
+holding_microphone_stand,0,492,
+holding_chain,0,492,
+fleur_de_lis,0,492,
+enema,0,492,
+e-hentai_sample,5,492,ehentai_sample
+delmogeny_uniform,0,492,
+corsage,0,492,
+yoshioka_yoshiko,1,491,zuta
+trigger_(company),3,491,
+street_fighter_6,3,491,
+ran'ou_(tamago_no_kimi),1,491,ranou
+pan_(mimi),1,491,
+noses_touching,0,491,"eskimo_kiss,nose-to-nose,nose_to_nose,nose_touching"
+nipple-to-nipple,0,491,nipple_to_nipple
+monori_rogue,1,491,
+mint_blancmanche,4,491,
+koyubi_(littlefinger1988),1,491,littlefinger1988
+kawai_(purplrpouni),1,491,kawai
+kamonari_ahiru,1,491,kamo_nari
+jack_frost,4,491,
+holding_notebook,0,491,
+hangar,0,491,
+hakozaki_serika,4,491,
+grid_background,0,491,
+geshumaro,1,491,
+food_bite,0,491,
+crayon_shin-chan,3,491,
+blue_rose_(tiger_&_bunny),4,491,
+blazblue:_central_fiction,3,491,
+antonio_lopez,4,491,
+adachi_tooru,4,491,adachi_tohru
+zorua,4,490,
+undone_neck_ribbon,0,490,
+skating,0,490,
+priestess_(goblin_slayer!),4,490,
+pamiat_merkuria_(azur_lane),4,490,
+lifted_by_tail,0,490,tail_lift
+kousei_(public_planet),1,490,
+koiwai_yotsuba,4,490,
+hinoa,4,490,
+hinata_yukari,4,490,
+enna_alouette,4,490,
+demonbane,3,490,
+arashio_kai_ni_(kancolle),4,490,
+yui_(sao),4,489,
+ushiromiya_rosa,4,489,
+two-tone_hoodie,0,489,
+mechanical,0,489,
+make_up_in_halloween!_(umamusume),0,489,
+keenh,1,489,
+kallen_kaslana,4,489,
+huge_testicles,0,489,
+holding_cross,0,489,
+holding_another's_leg,0,489,
+hikage_eiji,1,489,
+hat_belt,0,489,
+hanafuda,0,489,
+grey_apron,0,489,
+glory_wall,0,489,
+coconut_tree,0,489,
+cobblestone,0,489,
+bridle,0,489,
+bayonetta_1,3,489,
+weno,1,488,
+ushiromiya_natsuhi,4,488,
+tofu,0,488,
+thighhighs_removed,0,488,
+suzushiro_kurumi,1,488,
+stopwatch,0,488,
+shizuki_hitomi,4,488,
+scanty_(psg),4,488,
+satsuki_kai_ni_(kancolle),4,488,
+playing_sports,0,488,"sport,sports"
+nakahira_guy,1,488,
+mountain_of_faith,3,488,
+mononobe_alice,4,488,
+magatama_hair_ornament,0,488,
+keuma,1,488,
+izumi_sai,1,488,
+imazon,1,488,
+fabulous,0,488,
+asirpa,4,488,
+alice_carroll,4,488,
+alex_ahad,1,488,
+zaku_ii,4,487,
+wang_liu_mei,4,487,wang_liu_mi
+tsukasawa_takamatsu,1,487,
+subaru_duck,4,487,
+south_dakota_(kancolle),4,487,south_dakota_(kantai_collection)
+sound_voltex,3,487,sdvx
+onigirikun,1,487,
+myrtenaster,0,487,
+lying_on_water,0,487,
+luicent,1,487,
+cure_muse_(yellow),4,487,
+cream_(nipakupa),1,487,cream_(artist)
+aikatsu_friends!,3,487,
+yajirushi_(chanoma),1,486,
+takitarou,1,486,
+son_goten,4,486,goten_(dragon_ball)
+shiratsuyu_kai_ni_(kancolle),4,486,
+sei_shoujo,1,486,
+resident_evil_5,3,486,biohazard_5
+playing_with_another's_hair,0,486,
+oda_non,1,486,
+nudist_beach_uniform,0,486,
+nobita_(makoto7060355),1,486,nobita
+nathan_seymour,4,486,nathan_seymore
+mochizuki_shiina,1,486,marimo_moka
+masked,0,486,
+lockon_stratos,4,486,
+kasugano_sora,4,486,
+elbow_sleeve,0,486,
+dsmile,1,486,
+beaker,0,486,beakers
+yamada_tae,4,485,
+xblaze,3,485,
+sw_(taco),1,485,
+ssalbulre,1,485,
+shokuyou_mogura,1,485,
+rubbing,0,485,
+raw_egg_lent,1,485,
+puppet_rings,0,485,
+portgas_d._ace,4,485,portgas_d_ace
+minarai,1,485,
+manhwa,0,485,
+kuromiya_raika,4,485,
+kissing_neck,0,485,neck_kiss
+intestines,0,485,
+indomitable_(azur_lane),4,485,
+faustsketcher,1,485,sketcher2007
+ear_grab,0,485,
+da_capo_i,3,485,
+crotchless_pants,0,485,
+amezawa_koma,1,485,toire_amesawa
+alphonse_(white_datura),1,485,
+zuikaku_kai_ni_(kancolle),4,484,
+yuuki_rika,1,484,
+suspenders_slip,0,484,
+stapler,0,484,
+smartphone_case,0,484,
+side-seamed_legwear,0,484,
+shermie_(kof),4,484,
+sheep_costume,0,484,
+sasaki_akebi,4,484,
+ruton-niki,1,484,"nachuraruton,naturalton"
+poring,4,484,
+oda_nobukatsu_(fate),4,484,oda_nobukatsu_(fate/grand_order)
+naizuri,0,484,
+maruzensky_(umamusume),4,484,
+male_doctor_(arknights),4,484,
+making-of,5,484,"making_of,wip,work_in_progress"
+laserflip,1,484,
+kirakishou,4,484,
+holding_bra,0,484,
+haneru,1,484,
+hand_on_own_forehead,0,484,
+gazing_eye,1,484,
+gae_buidhe_(fate),0,484,gae_buidhe
+four_goddesses_online:_cyber_dimension_neptune,3,484,
+falling_card,0,484,
+elizabeth_liones,4,484,
+dusk_ball,0,484,dark_ball
+diploma,0,484,
+covered_testicles,0,484,testicles_under_clothes
+bars,0,484,
+amisu,1,484,
+ak-15_(girls'_frontline),4,484,ak-15_(girls_frontline)
+yami_yuugi,4,483,"dark_yugi,yami_yugi"
+sugoi_dekai,0,483,
+shaman_king,3,483,shamanking
+rice_hat,0,483,
+pravda_(emblem),0,483,
+party,0,483,
+pairan,1,483,
+nonohara_yuzuko,4,483,
+naka_kai_ni_(kancolle),4,483,
+mtu_virus,0,483,
+merman,0,483,
+medieval,0,483,
+mdr_(girls'_frontline),4,483,mdr_(girls_frontline)
+maple_leaf_print,0,483,
+komori_kiri,4,483,
+hakusai_(tiahszld),1,483,tiahszld
+gradient_wings,0,483,
+efukei,1,483,
+buried,0,483,
+bedivere_(fate),4,483,bedivere
+watching,0,482,
+takao_(aoki_hagane_no_arpeggio),4,482,
+syhan,1,482,
+sophia_(fire_emblem),4,482,sofiya
+soejima_shigenori,1,482,shigenori_soejima
+rory_mercury,4,482,
+robert_e._o._speedwagon,4,482,robert_eo_speedwagon
+nina_(fire_emblem),4,482,
+kutsuki_kai,1,482,
+izumi_tsubasu,1,482,hisuitei
+iwasaki_minami,4,482,
+inktober,0,482,
+hiburi_(kancolle),4,482,hiburi_(kantai_collection)
+hedgehog,0,482,
+heart_maebari,0,482,
+deer_girl,0,482,
+daive,1,482,
+american_beaver_(kemono_friends),4,482,north_american_beaver_(kemono_friends)
+aliasing,5,482,"resampling_artifacts,resizing_artifacts"
+zekkyon,1,481,
+yakisobapan_tarou_&_negitoro-ko,1,481,mabo-udon
+winged_hair_ornament,0,481,
+shibuki_ran,4,481,
+purple_collar,0,481,
+neit_ni_sei,1,481,
+lucas_(mother_3),4,481,
+living_hair,0,481,
+kujou_ichiso,1,481,kisaichi_jin
+konoha_(kagerou_project),4,481,
+ken_(koala),1,481,
+kanno_naoe,4,481,
+fujibayashi_ryou,4,481,
+flying_button,0,481,
+elma_(maidragon),4,481,
+brock_(pokemon),4,481,"brock,brock,takeshi_(pokemon)"
+blocking,0,481,
+billboard,0,481,
+baccano!,3,481,baccano
+ayato,1,481,
+wedge_heels,0,480,
+trophy,0,480,
+torn_coat,0,480,
+tobi_(one),1,480,
+star_driver,3,480,
+seele_(alter_ego),4,480,veliona
+saipaco,1,480,
+runny_nose,0,480,"nose_drip,nosedrip"
+red_nose,0,480,
+project_diva_2nd,3,480,
+nipple_chain,0,480,
+markings,0,480,
+luke_fon_fabre,4,480,
+kirisaki_chitoge,4,480,
+kinugasa_kai_ni_(kancolle),4,480,
+kekkai_sensen,3,480,blood_blockcade_battlefront
+kawanishi_shinobu,4,480,
+kakure_eria,1,480,
+gustav_(telomere_na),1,480,gusutafu
+enlightened_byleth_(female),4,480,
+dark_clouds,0,480,
+clear_sky,0,480,
+bacon,0,480,
+american_flag_shirt,0,480,
+amane_suzuha,4,480,
+adaman_(pokemon),4,480,seki_(pokemon)
+achilles_(fate),4,480,
+windsock,0,479,
+wakura_(gcdan),1,479,
+takafuji_kako,4,479,
+shuzi,1,479,
+reptile_girl,0,479,lizard_girl
+metal_gear_solid_v,3,479,metal_gear_solid_v:_the_phantom_pain
+masuishi_kinoto,1,479,
+ikezawa_hanako,4,479,
+ikeda_jun_(mizutamari),1,479,
+hitsugi_no_chaika,3,479,chaika:_the_coffin_princess
+english_audio,0,479,
+disco_brando,1,479,
+ayanepuna,1,479,
+artsy-rc,1,479,
+armored_core,3,479,
+arm_on_head,0,479,
+alvin_(tales),4,479,alvin_(tales_of_xillia)
+yu_yu,1,478,
+usopp,4,478,
+uncle_and_niece,0,478,
+stiletto_(weapon),0,478,
+shibacha,1,478,
+sangokushi_taisen,3,478,
+rex_k,1,478,
+record_of_lodoss_war,3,478,
+orange_headband,0,478,
+nono_hana,4,478,
+nero_claudius_(bride)_(second_ascension)_(fate),4,478,
+matsudaira_touko,4,478,
+hope's_peak_academy_school_uniform,0,478,kibougamine_gakuen_school_uniform
+gunslinger_girl,3,478,gunslingergirl
+fever,0,478,
+echidna_(re:zero),4,478,
+bilibili,3,478,"bili_bili_douga,bilibili_douga"
+stitched_arm,0,477,
+playground,0,477,
+miyamori_aoi,4,477,
+misaka_worst,4,477,
+kitten,0,477,kittens
+jasmine_(pokemon),4,477,mikan_(pokemon)
+gunp,1,477,
+elizabeth_(persona),4,477,
+cross-body_stretch,0,477,
+carton,0,477,
+ashley_(warioware),4,477,ashley_(wario_ware)
+yu-ta,1,476,
+table_tennis_paddle,0,476,"ping-pong_paddle,ping-pong_racket,ping_pong_paddle,ping_pong_racket,table_tennis_racket"
+sasamori_tomoe,1,476,
+rosuuri,1,476,
+nucomas,1,476,nukomasu
+monikano,1,476,
+judo_fuu,1,476,"jyudo_fu,jyudofu"
+itou_chika,4,476,
+inconvenient_breasts,0,476,
+hanekoto,1,476,
+gensou_suikoden_v,3,476,suikoden_v
+f.s.,1,476,
+eho_(icbm),1,476,
+curled_up,0,476,
+cure_passion,4,476,
+circe_(fate),4,476,circe_(fate/grand_order)
+blue_oni,0,476,
+bad_leg,0,476,
+ayakashi_(monkeypanch),1,476,"ayakashi_(monkeypunch),ayakashi_(pixiv)"
+uu~,0,475,
+tsumami_kanzashi,0,475,
+sitting_on_water,0,475,
+shirayuki_chiyo,4,475,
+seneto,1,475,
+scp_foundation,3,475,
+oozora_akari,4,475,
+natsuki_rin,4,475,
+naruko_(naruto),4,475,naruko
+low-cut_armhole,0,475,
+hood_(azur_lane),4,475,
+grea_(shingeki_no_bahamut),4,475,
+garou:_mark_of_the_wolves,3,475,mark_of_the_wolves
+dan_(kumadan),1,475,
+croissant,0,475,
+choke_hold,0,475,
+barbara_(summertime_sparkle)_(genshin_impact),4,475,
+yoshizawa_tsubaki,1,474,haik
+valkyrie_drive,3,474,
+toilet_stall,0,474,"restroom_stall,stall_(toilet)"
+text_messaging,0,474,"messaging,texting"
+shopping_cart,0,474,"grocery_cart,shopping_trolley"
+pepper,0,474,
+kasuga_mirai,4,474,
+holding_another's_foot,0,474,
+hitec,1,474,
+happy_facial,0,474,
+hanauna,1,474,
+gundam_0083,3,474,
+fish_tank,0,474,fishtank
+fathom,1,474,
+courtney_(pokemon),4,474,kagari_(pokemon)
+cherry_print,0,474,
+caramelldansen,0,474,caramel_dansen
+astaroth_(shinrabanshou),4,474,astaroth
+anti-aircraft_gun,0,474,aa_gun
+anato_finnstark,1,474,anatofinnstark
+akino_sora,1,474,
+ace_of_spades,0,474,
+yellow_border,0,473,
+udon,0,473,
+tweyen_(granblue_fantasy),4,473,song_(granblue_fantasy)
+tsurukame,1,473,
+snake_print,0,473,snakeskin_print
+roxas,4,473,
+noshiro_(azur_lane),4,473,
+mud,0,473,
+miyasu_risa,1,473,
+killer_queen,4,473,
+kikuyoshi_(tracco),1,473,
+flip_flappers,3,473,
+black-tailed_prairie_dog_(kemono_friends),4,473,
+yukikaze_panettone,4,472,
+yamagishi_yukako,4,472,
+tripod,0,472,
+time_stop,0,472,
+shimushu_(kancolle),4,472,shimushu_(kantai_collection)
+shikitani_asuka,1,472,
+rockhopper_penguin_(kemono_friends),4,472,
+pdf_available,5,472,
+oar,0,472,
+northern_italy_(hetalia),4,472,
+makoto_(princess_connect!),4,472,aki_makoto
+kunreishiki,0,472,
+hoozuki_no_reitetsu,3,472,hozuki's_coolheadedness
+hange_zoe,4,472,hanji_zoe
+exoskeleton,0,472,
+dungeons_and_dragons,3,472,
+cozy,1,472,
+chocolat_(momoiro_piano),1,472,hina_hina
+yuugiri_(zombie_land_saga),4,471,
+wanaata,1,471,
+waddle_dee,4,471,
+ryo_(botugo),1,471,
+ookuma_nekosuke,1,471,"ookuma_(nitroplus),panda_(automata)"
+matsumae_ohana,4,471,
+l_hakase,1,471,
+kinta_(distortion),1,471,
+kiana_kaslana_(herrscher_of_the_void),4,471,
+impossible_sweater,0,471,
+hugh_(pokemon),4,471,"hue_(pokemon),rival_(pokemon_bw2),rival_(pokemon_bw2)"
+heart_panties,0,471,
+glitchedpuppet,1,471,purplekecleon
+gengetsu_(touhou),4,471,gengetsu
+eudetenis,1,471,
+choujigen_game_neptune_mk2,3,471,hyperdimension_neptunia_mk2
+arisa_bannings,4,471,
+airi_(queen's_blade),4,471,airi_(queens_blade)
+yellow_sailor_collar,0,470,
+tighnari_(genshin_impact),4,470,
+tanaka_kotoha,4,470,
+tanaka_asuka,4,470,
+striped_neckerchief,0,470,
+shellvi,1,470,
+rouge_the_bat,4,470,
+rolling,0,470,
+pregnancy_test,0,470,
+pokachu,1,470,
+mazaki_anzu,4,470,tea_gardner
+jessica_(arknights),4,470,
+fake_magazine_cover,0,470,
+elena_(street_fighter),4,470,
+chuunibyou,0,470,
+buriki,1,470,
+baron_bunny_(genshin_impact),4,470,baron_bunny
+a-chan_(hololive),4,470,"yuujin_a_(hololive),yuujin_a_(tokino_sora_channel)"
+yamasaki_wataru,1,469,
+usb,0,469,
+the_world,4,469,
+takozonesu,4,469,
+surrounded,0,469,
+shichigatsu,1,469,july_(shichigatsu)
+rinotuna,1,469,
+precum_drip,0,469,
+pixiv_fantasia_age_of_starlight,3,469,
+octane_(apex_legends),4,469,
+mdf_an,1,469,
+massakasama,1,469,ma_sakasama
+komori_kei,1,469,
+jacket_lift,0,469,
+hyuuga_saki,4,469,
+holding_remote_control,0,469,holding_remote
+ho-oh,4,469,
+flagpole,0,469,
+changing_room,0,469,
+blaziken,4,469,
+toothpick,0,468,
+tank_helmet,0,468,
+nabeshima_tetsuhiro,1,468,lunade_luna
+master_(vocaloid),4,468,
+mai_(touhou),4,468,
+kazuma_(kazumav),1,468,ichi_makoto
+hitomaru,1,468,
+henshako,1,468,byeontae_jagga
+el_condor_pasa_(umamusume),4,468,
+darjeeling_(reley),1,468,
+breath_of_fire_v,3,468,
+atelier_sophie,3,468,
+anbe_yoshirou,1,468,
+aircraft_carrier_princess,4,468,aircraft_carrier_hime
+weapon_case,0,467,
+unbuttoned_shorts,0,467,
+tomu_(tomubobu),1,467,
+padlocked_collar,0,467,
+oryou_(girls_und_panzer),4,467,
+lyn_(blade_&_soul),4,467,
+kanpani_girls,3,467,
+hisen_kaede,1,467,hisenkaede
+heidimarie_w._schnaufer,4,467,heidimarie_w_schnaufer
+girl_holding_a_cat_(kancolle),4,467,girl_holding_a_cat_(kantai_collection)
+flower_(vocaloid),4,467,v_flower
+cinnabar_(houseki_no_kuni),4,467,shinsha_(houseki_no_kuni)
+blue_pubic_hair,0,467,
+a_channel,3,467,
+two-sided_jacket,0,466,
+torichamaru,1,466,torinitea
+russian_flag,0,466,
+pola_(azur_lane),4,466,
+ousama_ranking,3,466,ranking_of_kings
+ookurikara,4,466,
+o-ring_belt,0,466,
+miura-n315,1,466,naoko_(naoko00)
+metal_gear_rising:_revengeance,3,466,
+medaka_box,3,466,
+measurements,0,466,
+lain_paterson,4,466,
+kaburagi_kaede,4,466,
+hands_on_headphones,0,466,
+commentary_typo,5,466,
+brown_horns,0,466,
+aurora_(arknights),4,466,
+amagai_tarou,1,466,orda
+zodiac,0,465,
+wanted,0,465,
+tsukemon,1,465,
+shadow_the_hedgehog,4,465,
+plaid_legwear,0,465,
+makai_senki_disgaea_3,3,465,disgaea_3
+kojo_anna,4,465,kojou_anna
+iron_saga,3,465,jidong_zhandui
+hiraga_matsuri,1,465,
+hijikata_toushirou,4,465,hijikata_toshiro
+hairstyle_switch,0,465,
+grimsley_(pokemon),4,465,giima_(pokemon)
+ginkgo,0,465,
+fio_germi,4,465,fiolina_germi
+ewa_(seraphhuiyu),1,465,seraphmiyou
+cure_berry,4,465,
+catura_(granblue_fantasy),4,465,shatola_(granblue_fantasy)
+bravely_default:_flying_fairy,3,465,"bravely_default,bravely_default_flying_fairy"
+arin,4,465,
+zakusi,1,464,
+warfarin_(arknights),4,464,
+thick_eyelashes,0,464,
+tateha_(marvelous_grace),1,464,tateha_(artist)
+saburou_(hgmg),1,464,
+regu_(made_in_abyss),4,464,
+queen_of_sheba_(fate),4,464,queen_of_sheba_(fate/grand_order)
+nilitsu,1,464,
+nero_claudius_(swimsuit_caster)_(third_ascension)_(fate),4,464,
+kishiyo,1,464,
+heart-shaped_boob_challenge,0,464,
+heanna_sumire,4,464,
+grizzly_mkv_(girls'_frontline),4,464,grizzly_mkv_(girls_frontline)
+fumio_(ura_fmo),1,464,fumio
+fakepucco,1,464,
+eugeo,4,464,
+emma_verde,4,464,
+chobits,3,464,
+aqua_hairband,0,464,
+anna_miller,0,464,
+ameno_(a_meno0),1,464,a_meno0
+tokiani,1,463,
+toe_cleavage,0,463,
+texas_(winter_messenger)_(arknights),4,463,
+talulah_(arknights),4,463,
+square,0,463,
+shirokami_project,3,463,
+sewing_needle,0,463,sewing_needles
+red_cardigan,0,463,
+peach_(momozen),1,463,
+oryou_(fate),4,463,
+omamori_himari,3,463,
+morag_ladair_(xenoblade),4,463,"meleph_(xenoblade),morag_(xenoblade)"
+makio_(makiomeigenbot),1,463,
+heart_facial_mark,0,463,
+head_on_head,0,463,chin_on_head
+fushigiboshi_no_futago_hime,3,463,futagohime
+front-tie_bra,0,463,
+damda,1,463,
+zack_fair,4,462,
+yetworldview_kaze,1,462,
+xion_(kingdom_hearts),4,462,
+widow's_peak,0,462,
+watarase_jun,4,462,
+ume_(plumblossom),1,462,ume_spla4
+sixten,1,462,adrian_ferrer
+shingyou_(alexander-13),1,462,shingyo
+reaper_(overwatch),4,462,gabriel_reyes
+piano_keys,0,462,
+ormille,1,462,dotentity
+nekomamire,1,462,
+kuronuko_neero,1,462,kuronekonero
+kuresento,1,462,
+hunched_over,0,462,
+gorilla,0,462,
+fur-trimmed_shirt,0,462,
+flintlock,0,462,
+evangelion_(mecha),0,462,
+errant,1,462,
+dragon_ball_(object),0,462,dragonball_(object)
+yone_kinji,1,461,
+weapon_focus,0,461,weapon_sheet
+uzumaki_boruto,4,461,
+sasayuki,1,461,
+rachnera_arachnera,4,461,
+pink_tank_top,0,461,
+ning_hai_(azur_lane),4,461,
+neco-arc,4,461,"neco_arc,necoarc,neko-arc,nekoarc"
+kl,1,461,
+haman_karn,4,461,haman
+hakika,1,461,
+gyarados,4,461,
+dog_hair_ornament,0,461,
+clamp_(circle),1,461,clamp
+bonkara_(sokuseki_maou),1,461,sokusekimaou
+ayasugi_tsubaki,1,461,
+aburaage,0,461,aburage
+47agdragon,1,461,
+404_(girls'_frontline),0,461,404_(girls_frontline)
+yasume_yukito,1,460,
+wacchi,1,460,
+usoneko,1,460,
+twig,0,460,
+too_many_frills,0,460,
+tinker_bell,1,460,"harukaze_setsuna,tinkle,tsukiyo_chakai"
+shin'ya_(nanp),1,460,shinya_(nanpp)
+saber_(cosplay),0,460,
+radish_p,1,460,
+poop,0,460,
+pink_tail,0,460,
+peroponesosu.,1,460,
+kedamono_kangoku-tou,1,460,rasenkiryuu
+kamen_rider_fourze_(series),3,460,
+jeanne_d'arc_(girl_from_orleans)_(fate),4,460,
+iino_miko,4,460,
+hiiragi_yuuichi,1,460,tetsuo_(tetuo1129)
+furyou_michi_~gang_road~,3,460,furyou_michi_~_gang_lord
+eiwa,1,460,
+einhart_stratos,4,460,
+e10,1,460,
+charisma_break,0,460,
+beifeng_han,1,460,
+asakuraf,1,460,
+ana_(overwatch),4,460,ana_amari
+yuugen,1,459,
+yatogami_tooka,4,459,
+witchblade,3,459,
+tracen_training_uniform,0,459,
+tiffy_(nottytiffy),4,459,tiffy_(fast-runner-2024)
+takaman_(gaffe),1,459,nikonikosiro
+pirate_costume,0,459,
+oven,0,459,
+okama,1,459,
+multicolored_neckwear,0,459,
+metal_skin,0,459,metallic_skin
+mega_man_star_force,3,459,ryuusei_no_rockman
+kingdom_hearts_birth_by_sleep,3,459,birth_by_sleep
+hu_dako,1,459,dako6995
+hinata_yuu,1,459,
+hikigaya_hachiman,4,459,
+higurashi_kagome,4,459,
+hazawa_tsugumi,4,459,
+gummy_(arknights),4,459,
+gabiran,1,459,
+food_insertion,0,459,food_in_pussy
+drop_earrings,0,459,
+deviantart_sample,5,459,
+cut-in,0,459,
+brown_lips,0,459,brown_lipstick
+akeyama_kitsune,1,459,
+whale_hair_ornament,0,458,
+sora_wo_kakeru_shoujo,3,458,"sora_kake_girl,sora_o_kakeru_shoujo,sorakake_girl,the_girl_who_leapt_through_space"
+shampoo_bottle,0,458,
+red_pubic_hair,0,458,
+mutsuki_(azur_lane),4,458,
+kneeless_mermaid,0,458,
+kaminagi_(kaminagi-tei),1,458,"kaminagi,kaminagi-tei,kaminagi-tei_(artist)"
+a_(phrase),0,458,a
+wsman,1,457,
+wreckage,0,457,
+white_pubic_hair,0,457,
+waterring,1,457,
+warspite_(azur_lane),4,457,
+swallowing,0,457,
+shorts_tan,0,457,
+shibafu_(glock23),1,457,
+shakujou,0,457,"khakkhara,priest_staff_(buddhist),shakujo,sounding_staff"
+refraction,0,457,
+komasan,4,457,koma-san
+kaname_buccaneer,4,457,
+goomy,4,457,
+baba_konomi,4,457,
+yoshizaki_mine,1,456,
+wamuu,4,456,"wammu,wham,wham_(jojo)"
+urban_legend_in_limbo,3,456,
+sumisu_(mondo),1,456,mondo
+space_print,0,456,
+serika_(blue_archive),4,456,
+otome_game_no_hametsu_flag_shika_nai_akuyaku_reijou_ni_tensei_shite_shimatta,3,456,"hamefura,my_next_life_as_a_villainess:_all_routes_lead_to_doom!"
+nekoguruma,1,456,
+movie_poster,0,456,
+love_laika_(idolmaster),0,456,love_laika
+innerboob,0,456,
+hikami_sumire,4,456,
+hijikata_toshizou_(fate),4,456,hijikata_toshizou_(fate/grand_order)
+gavial_(arknights),4,456,
+big_eyes,0,456,
+azumi_kazuki,1,456,
+anemone_(eureka_seven),4,456,
+air_shakur_(umamusume),4,456,
+wild_arms_1,3,455,wild_arms_alter_code_f
+viral_(ttgl),4,455,
+spiral,0,455,
+soulcalibur_iv,3,455,soul_calibur_iv
+shiraishi_tsumugi,4,455,
+school_girl_strikers,3,455,
+madjian,1,455,
+long_jacket,0,455,
+kiyama_hiroto,4,455,
+jema,1,455,
+girls'_frontline_neural_cloud,3,455,girls_frontline_neural_cloud
+gia,1,455,
+front-seamed_legwear,0,455,
+fried_rice,0,455,
+food_on_hand,0,455,food_on_finger
+erina_pendleton,4,455,
+eriko_(princess_connect!),4,455,kuraishi_eriko
+cyan_(show_by_rock!!),4,455,
+crest,0,455,
+case,0,455,
+capura_lin,1,455,capura.l
+akira,3,455,
+akemi_homura_(cosplay),0,455,
+akatsuki_akane,1,455,"akatsuki_(ownpace),akatsuki_matsumoto"
+vincent_valentine,4,454,
+videl,4,454,
+tsurusaki_takahiro,1,454,takadai
+touhoku_zunko,4,454,
+torn_bikini,0,454,
+tappa_(esperanza),1,454,
+sui-feng,4,454,soifon
+squigly_(skullgirls),4,454,sienna_contiello
+spread_navel,0,454,
+sleigh,0,454,
+silver_(chenwen),1,454,
+red_curtains,0,454,
+paragasu_(parags112),1,454,harakasu_(parags112)
+murata_tefu,1,454,
+mr._c.b._(umamusume),4,454,
+minakami_mai,4,454,
+maze_(gochama_ze_gohan),1,454,
+ling_(arknights),4,454,
+license_plate,0,454,
+kurata_rine,1,454,
+kawase_seiki,1,454,
+inteleon,4,454,
+feguimel,1,454,
+emori_miku_project,3,454,
+dirty_pair,3,454,
+digital_clock,0,454,
+covering_another's_eyes,0,454,
+c-button,1,454,
+bubble_background,0,454,
+breast_pillow,0,454,
+born-to-die,1,454,
+blue_robe,0,454,
+black_mage,4,454,
+beaver_ears,0,454,
+:c,0,454,
+yamada_(gotyui),1,453,
+yagami_taichi,4,453,
+tadano_kagekichi,1,453,kagekichirou
+source_filmmaker_(medium),5,453,
+shirogane_tsumugi,4,453,
+shirogane_(platinum),1,453,
+seiran_(mousouchiku),1,453,ao_arashi
+sankuro_(agoitei),1,453,rozen5
+rei_(cookie),4,453,
+mipha,4,453,
+mel/a,1,453,
+low-braided_long_hair,0,453,
+kalmahul,1,453,omer_tunc
+jacket_over_shoulder,0,453,
+ina_(gokihoihoi),1,453,ina_(pixiv6911)
+hiro_(hidamari_sketch),4,453,hiro
+himejoshi,0,453,
+grisaia_no_kajitsu,3,453,the_fruit_of_grisaia
+gantz,3,453,
+fran_(ff12),4,453,
+fortified_suit,0,453,
+doma_umaru,4,453,
+deer_tail,0,453,reindeer_tail
+byleth_(summer)_(fire_emblem)_(female),4,453,
+amuro_tooru,4,453,
+4others,0,453,
+water_yoyo,0,452,
+togepi,4,452,
+texas_(willpower)_(arknights),4,452,
+tenga,0,452,
+seto_no_hanayome,3,452,"my_bride_is_a_mermaid,my_bride_is_a_mermaid"
+price_tag,0,452,
+pikachu_(cosplay),0,452,
+okota_mikan,1,452,
+mousepad_(medium),0,452,
+morrigan_aensland_(cosplay),0,452,
+minoto,4,452,
+magic:_the_gathering,3,452,magic_the_gathering
+kanae_(nijisanji),4,452,
+kamishima_kanon,1,452,
+jibanyan,4,452,
+japan_self-defense_force,0,452,
+indian_clothes,0,452,
+holed_coin,0,452,"50_yen_coin,5_yen_coin,cash_(chinese)"
+cccpo,1,452,
+blue_tail,0,452,
+bident,0,452,
+azuma_yuki,1,452,
+ayagi_daifuku,1,452,"daifuku_(clan),daihuku_(pixiv106903)"
+yuzu_(blue_archive),4,451,
+utsurogi_angu,1,451,"hellfragrance,uturogiangu"
+soma_peries,4,451,soma_phelles
+rhythmic_gymnastics,0,451,
+piranha_plant,4,451,
+pet_food,0,451,"cat_food,dog_food"
+naruse_mai,1,451,naruse_mahi
+muchi_maro,1,451,
+missile228,1,451,apple228
+mishou_mai,4,451,
+loose_thighhigh,0,451,
+kugimiya_atsuki,1,451,alabaster_(artist)
+ekz_(robotekz),1,451,ekz_(drawfag)
+damian_desmond,4,451,
+chou-10cm-hou-chan,4,451,
+biwa_hayahide_(umamusume),4,451,
+banchou,0,451,
+august_von_parseval_(azur_lane),4,451,
+yaranaika,0,450,
+walpurgisnacht_(madoka_magica),4,450,"walpurgis_night_(madoka_magica),walpurgis_no_yoru_(madoka_magica)"
+starraisins,1,450,
+shoujo_kageki_revue_starlight_-re_live-,3,450,
+shingyouji_tatsuya,1,450,d-2girls
+saku_(osake_love),1,450,
+saku_(kudrove),1,450,kudrove
+rororina_fryxell,4,450,
+red_armband,0,450,
+oil_painting_(medium),0,450,oil_painting
+miko_(royal_milk),1,450,miko_92
+mikagami_sou,1,450,
+merchandise,0,450,
+laura_la_mer,4,450,laura_(precure)
+latios,4,450,
+kouyouen_academy_school_uniform,0,450,kouyouen_academy_uniform
+kazutake_hazano,1,450,
+jingasa,0,450,
+jiji_(aardvark),1,450,jiji
+hannya,0,450,
+gokotai's_tigers,4,450,
+galge.com,3,450,
+floating_skull,0,450,flying_skull
+elf_(dragon's_crown),4,450,
+duct_tape,0,450,
+drain_(object),0,450,
+cinnamiku,4,450,
+caidychen,1,450,
+brown_pubic_hair,0,450,
+blood_on_leg,0,450,bloody_leg
+atelier_meruru,3,450,
+another,3,450,another_(novel)
+;<,0,450,
+tokumi_yuiko,1,449,
+star_facial_mark,0,449,
+shin'ya_(shin'yanchi),1,449,"shinya_(artist),shinya_(shinyanchi)"
+ikusaba_daisuke,4,449,
+hadou_nejire,4,449,nejire_chan_(boku_no_hero_academia)
+green_headband,0,449,
+gorgeous_mushroom,1,449,
+gin'you_haru,1,449,
+double_amputee,0,449,
+confrontation,0,449,
+chikado,1,449,
+candy_(smile_precure!),4,449,candy_(precure)
+birii,1,449,
+arcade,0,449,
+yandere_sample,5,448,
+tokunou_shoutarou,1,448,
+tank_shell,0,448,
+takao_(beach_rhapsody)_(azur_lane),4,448,
+quetzalcoatl_(fate),4,448,quetzalcoatl_(fate/grand_order)
+myon_(phrase),0,448,
+minami_kana,4,448,
+metroid_dread,3,448,
+mechanical_buddy_universe,3,448,
+koinobori,0,448,"carp_streamer,koi_streamer"
+kitsu_chiri,4,448,
+jiji_(majo_no_takkyuubin),4,448,"jiji_(character),jiji_(kiki's_delivery_service)"
+honjou_raita,1,448,raita
+hayashi_kewi,1,448,
+half_note,0,448,minim
+child_carry,0,448,
+bronya_zaychik_(silverwing:_n-ex),4,448,bronya_zaychik_(silver_wing)
+ange_vierge,3,448,
+allelujah_haptism,4,448,
+aegir_(housamo),4,448,aegir_(tokyo_houkago_summoners)
+yutazou,1,447,
+yamabuki_high_school_uniform,0,447,yamabuki_school_uniform
+tone_kai_ni_(kancolle),4,447,
+takemori_shintarou,1,447,"abeshi_shoushou,combat_bizen_osafune"
+rfb_(girls'_frontline),4,447,rfb_(girls_frontline)
+papi_(monster_musume),4,447,
+package,0,447,
+onsen_tamago_(hs_egg),1,447,
+narusawa_ryouka,4,447,
+kafu,1,447,"simple@house,simple_house"
+high_elf_archer_(goblin_slayer!),4,447,
+francis_drake_(fate),4,447,
+edna_(tales),4,447,
+ebisuzawa_kurumi,4,447,
+blowhole,0,447,
+ar_tonelico_iii,3,447,ar_tonelico_3
+yagate_kimi_ni_naru,3,446,"bloom_into_you,yagakimi"
+ubanis,1,446,
+top_wo_nerae_2!,3,446,"diebuster,gunbuster2,gunbuster_2,top_o_nerae_2,top_wo_nerae!_2,top_wo_nerae_2"
+tachimi_(basue),1,446,
+tabigarasu,1,446,
+skeptycally,1,446,sketchy
+shamo_(koumakantv),1,446,
+sengoku_rance,3,446,
+scale_armor,0,446,
+sakamoto_(nichijou),4,446,
+purple_butterfly,0,446,
+matou_shinji,4,446,
+kelvin_hiu,1,446,
+iris_heart,4,446,
+illyasviel_von_einzbern_(beast_style),4,446,
+hachiko_(hati12),1,446,
+green_serafuku,0,446,
+eruruw,4,446,"eruru,eruruu"
+drifters,3,446,
+crt,0,446,
+chata_maru_(irori_sabou),1,446,"chatamaru_(irori_sabou),tyatamaru"
+blood_on_breasts,0,446,bloody_breasts
+biplane,0,446,
+yudepii,1,445,
+watermelon_slice,0,445,
+tsunashi_hajime,4,445,
+takane_manaka,4,445,
+synthesizer_v,3,445,
+star-shaped_eyewear,0,445,
+sakurazaki_setsuna,4,445,
+russia,0,445,
+ponytail_korosuke,1,445,gorua_(youce01)
+p90_(girls'_frontline),4,445,p90_(girls_frontline)
+ookami-san,3,445,ookami-san_to_shichinin_no_nakamatachi
+navi,4,445,
+muryotaro,1,445,muryou
+mizuki_yukikaze,4,445,
+miyaura_sanshio,4,445,
+looking_at_hand,0,445,
+kurukurumagical,1,445,
+kishinami_hakuno_(male),4,445,"kishinami_(fate/extra),male_protagonist_(fate/extra)"
+kazekoshi_school_uniform,0,445,
+heattech_leotard,0,445,turtleneck_leotard
+gwen_(league_of_legends),4,445,
+guilty_gear_xx,3,445,
+grandia_i,3,445,
+field_of_blades,0,445,
+female_commander_(girls'_frontline),4,445,female_commander_(girls_frontline)
+elize_lutus,4,445,elise_lutus
+doushimasho,1,445,apon
+centorea_shianus,4,445,centaurea_shianus
+bemani,3,445,
+amazuki_jou,1,445,amatsuki_jou
+white_flag,0,444,
+takaya_n,1,444,"kakki_(pixiv4742),kakkii"
+rkrk,1,444,orzrkrk
+pikmin_(series),3,444,
+orange_planet_uniform,0,444,
+onegai_teacher,3,444,"onegaiteacher,please_teacher!"
+nijou_noriko,4,444,
+nao_(ritsancrossover),1,444,
+mousetrap,0,444,mouse_trap
+lace_background,0,444,
+kuji-in,0,444,hand_seal
+kazenoko,1,444,
+kannazuki_no_miko,3,444,"destiny_of_the_shrine_maiden,kannazuki"
+implied_extra_ears,0,444,pointless_headphones
+hinamori_amu,4,444,
+gaming_chair,0,444,gamer_chair
+gachou,1,444,
+doudanuki_masakuni,4,444,doutanuki_masakuni
+cygnet_(azur_lane),4,444,
+cross-laced_sleeves,0,444,
+cinnamoroll,4,444,
+arm_on_shoulder,0,444,
+amy_rose,4,444,
+tsunashi_kaoru,4,443,
+tiger_i,0,443,
+taiki_shuttle_(umamusume),4,443,
+tachitsu_teto,1,443,tatetsu_teto
+sharing_food,0,443,
+rouka_(akatyann),1,443,
+orange_socks,0,443,orange_kneehighs
+nanase_haruka_(free!),4,443,
+mizuki_(flowerlanguage),1,443,
+megahiyo,1,443,hiyoko_(nikuyakidaijinn)
+mataichi_mataro,1,443,mataichi_matarou
+iroha_(blue_archive),4,443,
+index_fingers_raised,0,443,
+hans_christian_andersen_(fate),4,443,
+goyain,1,443,jewriel
+gendou_pose,0,443,
+fried_chicken,0,443,
+diagram,0,443,
+cure_miracle,4,443,
+bridal_lingerie,0,443,
+bandaged_fingers,0,443,
+baby_princess,3,443,
+astolfo_(memories_at_trifas)_(fate),4,443,
+wss_(nicoseiga19993411),1,442,
+wrist_straps,0,442,
+welsh_corgi,0,442,corgi
+vehicle_interior,0,442,
+tagme,5,442,tag_me
+sugiyuu,1,442,
+shin_godzilla,3,442,
+oddish,4,442,
+nena_trinity,4,442,
+naked_chocolate,0,442,nude_chocolate
+mickey_mouse,4,442,
+matsuoka_rin,4,442,
+hume,0,442,
+hotate-chan,1,442,fujitsubo_(hujitubo0731)
+halo_(series),3,442,halo_(game)
+formidable_(the_lady_of_the_beach)_(azur_lane),4,442,
+daitou_(kancolle),4,442,daitou_(kantai_collection)
+china_(hetalia),4,442,
+black-haired_demon_girl_(shimmer),4,442,
+aomushi_(mushamusha),1,442,
+ahenn,1,442,
+yoshida_hideyuki,1,441,chankodining_waka
+torn_hat,0,441,
+todoroki_yachiyo,4,441,
+suruga_(xsurugax),1,441,"makiya_1919,matsunoki_(unknown_751)"
+prince_of_lan_ling_(fate),4,441,"gao_changgong_(fate),lan_ling_wang_(fate),lanling_wang_(fate)"
+nipple_penetration,0,441,nipple_fuck
+misogi_(princess_connect!),4,441,hodaka_misogi
+matsuoka_miu,4,441,
+katsura_kotonoha,4,441,
+iono_(pokemon),4,441,
+holding_frying_pan,0,441,
+dodai_shouji,1,441,sho~taro
+armored_leotard,0,441,
+torn_cloak,0,440,
+tokkyu,1,440,tokkyu_(user_mwwe3558)
+sen_(sansui),1,440,anzu_(onelelee)
+ry_(yagoyago),1,440,ry
+rouman_academy_uniform,0,440,
+poppi_(xenoblade),4,440,hana_(xenoblade)
+pettan_p,1,440,
+neru_(bunny)_(blue_archive),4,440,neru_(bunny_girl)_(blue_archive)
+miyazaki_nodoka,4,440,
+korwa,4,440,
+kippu,1,440,
+kaiji,3,440,
+jagaimo_(kkamja),1,440,"jagaimo_sfw,kkamja,potato_(sksnabi)"
+ikemeru19,1,440,shijiu_(adamhutt)
+huke,1,440,
+doukutsu_monogatari,3,440,cave_story
+darumoon,1,440,
+annie_(league_of_legends),4,440,annie_hastur
+akagi_towa,4,440,towa_(go!_princess_precure)
+ainy,1,440,ainy77
+yukie_(peach_candy),1,439,hakuto_yuki
+yellow_pantyhose,0,439,
+worm,0,439,worms
+uchiha_itachi,4,439,
+tyrannosaurus_rex,0,439,t-rex
+tanigawa_kanna,4,439,
+takano_miyo,4,439,
+rebecca_miyamoto,4,439,
+professor_shinonome,4,439,"hakase_(nichijou),professor_(nichijou)"
+ogino_chihiro,4,439,
+noumen,1,439,
+niwatori_kokezou,1,439,
+musuko_ga_kawaikute_shikatanai_mazoku_no_hahaoya,3,439,
+morgan_(fire_emblem),4,439,mark_(fire_emblem)
+marota,1,439,
+kuso_miso_technique,3,439,
+inanaki_shiki,1,439,
+helena_(azur_lane),4,439,
+fur_jacket,0,439,
+fujishima_shinnosuke,1,439,
+flaming_eyes,0,439,"burning_eyes,fiery_eyes,fiery_eyes"
+cleavage_reach,0,439,
+chipa_(arutana),1,439,arutana
+cheese-kun,4,439,
+cat_on_lap,0,439,
+akatsuki_uniform,0,439,
+abazu-red,1,439,
+vest_lift,0,438,
+tea_(nakenashi),1,438,tea_(artist)
+sakuragi_ren,1,438,
+sakuraba_hikaru_(loveindog),1,438,sakuraba_hikaru_(artist)
+red_carpet,0,438,
+rattle,0,438,
+pizza_hut,3,438,
+nyama,1,438,
+negresco,1,438,
+naruko_hanaharu,1,438,
+mole_on_pussy,0,438,
+large_hands,0,438,
+kouda_tomohiro,1,438,
+knitting,0,438,
+karamoneeze,1,438,karamone-ze
+houshin_engi,3,438,
+gate_of_babylon_(fate),0,438,"gate_of_babylon,gates_of_babylon"
+elf-san_wa_yaserarenai.,3,438,plus-sized_elf
+beige_skirt,0,438,
+asada_hachi,1,438,sayshownen
+aqua_shorts,0,438,
+amashiro_natsuki,1,438,
+amamiya_hibiya,4,438,
+amae_koromo,4,438,
+yashajin_ai,4,437,
+wolf_costume,0,437,
+star_ornament,0,437,
+spray_bottle,0,437,
+shin_megami_tensei_v,3,437,
+shimakaze-kun,4,437,
+shiina_excel,1,437,excel_(shena)
+sakamoto_ryouma_(fate),4,437,
+red_male_underwear,0,437,red_underwear_(male)
+pochita_(chainsaw_man),4,437,
+penis_shadow,0,437,
+mirai_akari_project,3,437,
+meandros,0,437,
+kagura_suzu,0,437,
+flying_fish,0,437,
+elpeo_puru,4,437,elpeo_ple
+eclipse,0,437,
+chinomaron,1,437,kagayannu
+branch_(blackrabbits),1,437,branch_(artist)
+wactor_production,3,436,"miraizu,miu_channel"
+vf-1,4,436,
+type_97_(girls'_frontline),4,436,"qbz-97_(girls'_frontline),qbz-97_(girls_frontline)"
+suzunari_shizuku,4,436,
+piapro,3,436,
+mochizuki_kei,1,436,
+mahou_shoujo_lyrical_nanoha_the_movie_1st,3,436,
+european_clothes,0,436,
+endou_saya,4,436,
+eizouken_ni_wa_te_wo_dasu_na!,3,436,
+comet,0,436,
+clothed_male_nude_male,0,436,"clothed_male_naked_male,cmnm,nude_male_clothed_male"
+broly_(dragon_ball_super),4,436,
+broken_halo,0,436,
+sakura_yuki_(clochette),1,435,
+saga_frontier_2,3,435,
+resident_evil_3,3,435,biohazard_3
+police_badge,0,435,
+obese,0,435,
+nishizono_mio,4,435,
+mochiyuki,1,435,
+misteor,1,435,
+mirai_akari,4,435,
+miorine_rembran,4,435,
+massala,1,435,
+mahora_academy_middle_school_uniform,0,435,
+leopard_girl,0,435,
+kawagishi_keitarou,1,435,
+k_mugura,1,435,
+himiko_(fate),4,435,
+haganef,1,435,
+grass_root_youkai_network,0,435,
+death_(entity),4,435,
+concrete,0,435,
+cock_ring,0,435,penis_ring
+captain_america,4,435,
+batman,4,435,
+azuuru,1,435,
+yellow_camisole,0,434,
+wrapper,0,434,
+square_mouth,0,434,
+sports_festival,0,434,
+so_moe_i'm_gonna_die!,0,434,
+shimura_shinpachi,4,434,
+rosa_(tears_of_themis),4,434,
+panties_(pantsu-pirate),1,434,"pan!ies,pantsu-pirate"
+nichika_(nitikapo),1,434,tegakifuni
+moriya's_iron_rings,0,434,"moriya's_iron_ring,moriya's_ring,moriya's_rings,moriyas_iron_ring,moriyas_iron_rings"
+mizunashi_(second_run),1,434,
+mappaninatta,1,434,
+mahou_senki_lyrical_nanoha_force,3,434,mahou_shoujo_lyrical_nanoha_force
+lzh,1,434,
+kinoshita_ichi,1,434,
+hand_on_table,0,434,
+gogalking,1,434,
+gilgamesh_(immoral_biker_jacket)_(fate),4,434,
+enjaku_izuku,1,434,
+crustacean,0,434,
+chamaruku,1,434,sisenshyo
+burnt,0,434,burned
+azazel_(helltaker),4,434,
+atelier_rorona,3,434,
+aoki_shizumi,1,434,"shokushu_ura,yashu"
+amamiya_kokoro,4,434,
+yumekui_merry,3,433,
+weasel_tail,0,433,stoat_tail
+tiffania_westwood,4,433,
+tamamo_no_mae_(swimsuit_lancer)_(third_ascension)_(fate),4,433,
+sesshoumaru,4,433,
+seed,0,433,seeds
+roman_clothes,0,433,
+princess_(princess_principal),4,433,
+oowada_mondo,4,433,
+ogipote,1,433,black_buraku
+mole_on_armpit,0,433,mole_on_armpits
+minimap,0,433,
+magnet,0,433,magnets
+large_syringe,0,433,giant_syringe
+kumbhira_(granblue_fantasy),4,433,kuvira_(granblue_fantasy)
+kriss_vector,0,433,"kriss_super_v,tdi_vector"
+kojima_takeshi,1,433,
+koishi_day,0,433,
+kawashima_mizuki,4,433,
+hanging_scroll,0,433,wall_scroll
+fujino_shizuru,4,433,
+froslass,4,433,yukimenoko
+emotional_engine_-_full_drive,0,433,
+crystalfly_(genshin_impact),4,433,
+bubble_bath,0,433,
+3.1-tan,4,433,3.1
+siraha,1,432,
+sawayaka_samehada,1,432,
+rikku_(ff10),4,432,rikku
+paper_mario,3,432,
+naegi_(naegidokoro),1,432,nibi
+luna_(sailor_moon),4,432,
+kuuchuu_yousai,1,432,
+kanden_sky,1,432,"buriberu,kanden_suki"
+haramaki,0,432,
+fiery_tail,0,432,"fire_tail,flaming_tail"
+eyecatch,5,432,eye_catch
+dragonslayer_(sword),0,432,
+diamond_hairband,0,432,
+cure_honey,4,432,
+coat_dress,0,432,
+yuumei,1,431,wenqing_yan
+tokoroten_(hmmuk),1,431,shinta_(hmmuk)
+tokisaki_mio,4,431,
+school_swimsuit_flap,0,431,sukumizu_flap
+ryogo,1,431,
+oda_takayuki,1,431,jumping_giraffe
+newo_(shinra-p),1,431,popokuri
+namonashi,1,431,
+moe_moe_kyun!,0,431,moe_moe_kyun
+mimi_(princess_connect!),4,431,akane_mimi
+manta_ray,0,431,
+laboratory,0,431,
+kupaa,0,431,
+kimura_natsuki,4,431,
+ishimaru_kiyotaka,4,431,
+inner_senshi,0,431,
+in_bowl,0,431,
+huanxiang_heitu,1,431,gensou_kuro_usagi
+fishbowl,0,431,fish_bowl
+echj,1,431,
+deltarune,3,431,
+dandara_(karakure),1,431,karakure_(kamo-nanban)
+chimchar,4,431,
+camouflage_bikini,0,431,
+ama_usa_an_uniform,0,431,
+yuuka_nonoko,1,430,
+yana_(nekoarashi),1,430,
+whimsicott,4,430,
+virtuareal,3,430,
+utsusumi_kio,1,430,kio_(yumekuikio)
+the_golden_smurf,1,430,
+tachibana_roku,1,430,
+pov_across_bed,0,430,
+pina_(sao),4,430,
+on_roof,0,430,
+omone_hokoma_agm,1,430,
+nuezou,1,430,
+nausicaa,4,430,
+mitsumine_yuika,4,430,
+master_spark,0,430,
+marimo_danshaku,1,430,
+magnemite,4,430,
+learning_with_manga!_fgo,3,430,
+kobayashi_yuuji,1,430,"kobayashi_yuji,nagko"
+jonylaser,1,430,
+hachi_(chihagura),1,430,hachi_(tihagura)
+female_butler,0,430,
+d-m_(dii_emu),1,430,
+cerebella_(skullgirls),4,430,
+cecil_harvey,4,430,
+cable_tail,0,430,
+big_head,0,430,
+artoria_pendragon_(lancer_alter)_(royal_icing)_(fate),4,430,
+zange,4,429,
+toga,0,429,
+tamamura_gunzo,4,429,"gunzo_(housamo),gunzo_(tokyo_houkago_summoners)"
+sukemyon,1,429,suke
+shochuumimai,0,429,
+ryou-san,1,429,
+porforever,1,429,
+pants_removed,0,429,
+nanashii_(soregasisan),1,429,
+miwabe_sakura,1,429,sakura_m
+matsuda_chiyohiko,4,429,
+mario_kart,3,429,
+jiroo,1,429,
+honda,0,429,
+faceplant,0,429,
+blue_innertube,0,429,
+baton_(weapon),0,429,"nightstick,police_baton,truncheon"
+ameto_yuki,1,429,ametoyuki
+amasawa_natsuhisa,1,429,
+zessica_wong,4,428,
+wiping_mouth,0,428,
+torn_thighhighs,0,428,
+soredemo_ayumu_wa_yosetekuru,3,428,"shougi_no_yatsu,when_will_ayumu_make_his_move?"
+shin'yashiki,1,428,shinyashiki
+sharingan,0,428,
+screen_light,0,428,monitor_light
+saijou_claudine,4,428,
+morii_shizuki,1,428,"mori_shizuki,paint_madness"
+kayari_buta,0,428,katori_buta
+heater,0,428,
+futaki_kanata,4,428,
+floating_card,0,428,
+elbow_on_knee,0,428,
+ear_cleaning,0,428,
+coronavirus_pandemic,0,428,covid-19_pandemic
+blood_on_bandages,0,428,bloody_bandages
+bikini_removed,0,428,
+adjusting_scarf,0,428,
+woofycakes,1,427,eric_muentes
+villetta_nu,4,427,viletta_nu
+ugatsu_matsuki,1,427,asatsuki_dou
+tendou_maya,4,427,
+takeda_hiromitsu,1,427,
+swiss_roll,0,427,roll_cake
+spray_paint,0,427,
+plain_doll,4,427,
+persimmon,0,427,
+penis_over_one_eye,0,427,
+martial_arts,0,427,
+maou_alba,1,427,
+mahou_shoujo_lyrical_nanoha_a's_portable:_the_battle_of_aces,3,427,
+leon_(mikiri_hassha),1,427,leon_7
+konngara_(touhou),4,427,konngara
+kazetto,1,427,
+kadoc_zemlupus,4,427,
+idolish_7,3,427,
+hiiragi_hazime,1,427,hiiragi_hajime
+hanging_light,0,427,
+fly,0,427,flies
+centipede,0,427,
+bae.c,1,427,
+asyura_kumo,1,427,kumo_(atm)
+ankle_bow,0,427,
+zepher_(makegumi_club),1,426,
+tsuzuri_(tuzuri),1,426,
+tsutsukakushi_tsukiko,4,426,
+tonbokiri_(touken_ranbu),4,426,
+tales_of_symphonia_knight_of_ratatosk,3,426,
+symmetrical_hand_pose,0,426,
+ooiwa_wataru,4,426,
+okumura_rin,4,426,
+ninimo_nimo,1,426,
+nanaponi,1,426,segu
+"mogyutto_""love""_de_sekkin_chuu!",0,426,
+miyamoto_issa,1,426,
+miri_(ago550421),1,426,
+lm7_(op-center),1,426,op-center
+kyon_no_imouto,4,426,kyon's_sister
+komainu,0,426,
+kebab,0,426,
+kamezaemon,1,426,
+human_furniture,0,426,
+hat_over_eyes,0,426,
+fubuki_shirou,4,426,
+for_adoption,0,426,
+dying,0,426,
+dinosaur_tail,0,426,
+cheer_(cheerkitty14),1,426,
+yoko_juusuke,1,425,yoko_jyusuke
+waltrud_krupinski,4,425,
+sono_midoriko,4,425,
+shinonome_ena,4,425,
+sailor_moon_(cosplay),0,425,
+nagayori,1,425,chou_yoriyuki
+multicolored_leotard,0,425,
+muk_(monsieur),1,425,kagamine-ikka
+makai_senki_disgaea_4,3,425,disgaea_4
+lowleg_shorts,0,425,
+lana's_mother_(pokemon),4,425,suiren's_mother_(pokemon)
+iori_(swimsuit)_(blue_archive),4,425,
+ikeda_chitose,4,425,
+himegi,1,425,
+heart_straw,0,425,
+hakama_shorts,0,425,
+familiar,0,425,
+dakemakura-koubou,1,425,
+ana_coppola,4,425,ana_copolla
+xiaoxi0619,1,424,konishi_(565112307)
+winning_ticket_(umamusume),4,424,
+white_wrist_cuffs,0,424,
+toudori,1,424,
+the_witcher_(series),3,424,the_witcher
+skull_on_head,0,424,
+ramudia_(lamyun),1,424,
+pine_(bombergirl),4,424,
+oogaki_chiaki,4,424,
+necomi,1,424,
+movie_theater,0,424,cinema
+monika_weisswind,4,424,
+ikeshita_moyuko,1,424,
+holding_shovel,0,424,
+dorei_to_no_seikatsu_~teaching_feeling~,3,424,teaching_feeling
+bonsai,0,424,
+black_male_swimwear,0,424,
+alpaca_tail,0,424,
+akou_roushi,1,424,
+2005,0,424,
+zanshomimai,0,423,
+yujup,1,423,
+top_wo_nerae!,3,423,"gunbuster_(series),top_o_nerae,top_o_nerae!,top_wo_nerae"
+sakayama_shinta,1,423,chaka_yama
+pokemon_tail,0,423,
+ooarai_naval_school_uniform,0,423,
+naruto:_the_last,3,423,
+marui_mitsuba,4,423,
+maeda_toushirou,4,423,
+m&m_(mickey_and_mackey),1,423,m&m
+lilith_(machikado_mazoku),4,423,
+leonie_pinelli,4,423,
+kuro_yuzu,1,423,
+kanna_(plum),1,423,plum_(artist)
+kaiba_seto,4,423,seto_kaiba
+ikegami_akane,1,423,"akane_ikegami,akane_makes_revolution"
+hachune_miku,4,423,
+green_cardigan,0,423,
+buran_buta,1,423,blancpig_yryr
+boomerang,0,423,
+animal_ear_headphones,0,423,
+vinegar_doppio,4,422,
+trunks_(future)_(dragon_ball),4,422,future_trunks
+to_be_continued,0,422,
+super_sailor_moon,4,422,
+stained_sheets,0,422,
+single_mechanical_hand,0,422,mechanical_hand
+shiwasu_no_okina,1,422,
+shaft_look,0,422,
+saturday_night_fever,3,422,disco_pose
+royal_robe,0,422,
+red_track_suit,0,422,
+quanxi_(chainsaw_man),4,422,
+power-up,0,422,"power_up,powerup"
+ponponmaru,1,422,ponpo
+pan_(dragon_ball),4,422,
+neko_(minato_aqua),4,422,
+naked_suspenders,0,422,nude_suspenders
+nakamura_takeshi,1,422,
+mao_lian_(nekokao),1,422,nekoze_(s22834712)
+mana_(remana),1,422,remana
+machamp,4,422,
+kiratto_pri_chan,3,422,
+kamiyoshi_rika,1,422,
+ichijou_hotaru,4,422,
+haibane_renmei,3,422,
+gunbuster_pose,0,422,gainax_pose
+five-seven_(girls'_frontline),4,422,five-seven_(girls_frontline)
+edobox,1,422,
+danshi_koukousei_no_nichijou,3,422,"daily_lives_of_high_school_boys,nichibros"
+cbt,0,422,
+bed_frame,0,422,
+arm_on_knee,0,422,
+aircraft_carrier,0,422,
+accio,1,422,
+yuu_(higashi_no_penguin),1,421,
+witch's_labyrinth,0,421,
+white_len_(tsukihime),4,421,
+tupet,0,421,chuupetto
+sword_art_online_alternative:_gun_gale_online,3,421,
+pandora_hearts,3,421,
+lotte_jansson,4,421,lotte_yanson
+loliconder,1,421,chikuishi
+kousaka_umi,4,421,
+kokka_han,1,421,
+jingai_modoki,1,421,ningai_modoki
+hugging_own_tail,0,421,
+gyakushuu_no_fantasica,3,421,
+dedenne,4,421,
+curious,0,421,curiosity
+crosshatching,0,421,
+cinderella_girls_card_parody,0,421,
+cham_cham,4,421,chamcham
+butterfly_tattoo,0,421,
+artoria_pendragon_(swimsuit_archer)_(fate),4,421,artoria_pendragon_(swimsuit_archer)
+ars_almal,4,421,
+yuasan,1,420,
+sumeragi_lee_noriega,4,420,sumeragi_ri_noriega
+souda_kazuichi,4,420,
+ninja_slayer,3,420,
+nekomata_naomi,1,420,
+myrtle_(arknights),4,420,
+mutsu-no-kami_yoshiyuki,4,420,
+muffin,0,420,muffins
+mauser_98,0,420,
+luvdisc,4,420,
+klara_(pokemon),4,420,kurara_(pokemon)
+iron_man,4,420,
+immobilization,0,420,
+holding_test_tube,0,420,
+gerudo_set_(zelda),0,420,gerudo_link
+genos,4,420,
+finger_heart,0,420,
+craft_lawrence,4,420,lawrence_craft
+brown_border,0,420,
+white_mittens,0,419,
+whistling,0,419,
+sola-ui_nuada-re_sophia-ri,4,419,
+sekira_ame,1,419,sekiraame
+saigyouji_yuyuko's_fan_design,0,419,"charisma_fan,charismatic_fan,yuyuko's_fan_design,yuyuko's_fan_pattern"
+riolu,4,419,
+prison_school,3,419,kangoku_gakuen
+piledriver_(sex),0,419,
+otomachi_una,4,419,
+op_na_yarou,1,419,
+oda_nobunaga_(swimsuit_berserker)_(fate),4,419,
+naoi_ayato,4,419,
+mukka,1,419,
+mr._squeaks_(hakos_baelz),4,419,
+mihoyo,3,419,mihoyo_technology_(shanghai)_co._ltd.
+kotonomiya_yuki,4,419,
+incineroar,4,419,
+holding_tablet_pc,0,419,
+hexagon_hair_ornament,0,419,
+gift_art,5,419,
+fushigi_no_dungeon,3,419,mystery_dungeon
+ex-rumia,4,419,"ex_rumia,exrumia"
+chuunioniika,1,419,"oniika,spike_wible,spikewible"
+child_gilgamesh_(fate),4,419,child_gilgamesh
+boyshort_panties,0,419,
+atsushi_toushirou,4,419,atsu_toushirou
+arm_sling,0,419,sling_(medical)
+alcina_dimitrescu,4,419,"dimitrescu,lady_dimitrescu"
+yuuki_rito,4,418,
+yoban,1,418,
+stage_connection,0,418,
+primarina,4,418,
+ninoko,1,418,
+monochrome_background,0,418,
+miyanaga_teru,4,418,
+mazinger_z,3,418,
+mage_(dungeon_and_fighter),4,418,
+kusano_(torisukerabasu),1,418,torisukerabasu
+kannko_bokujou,1,418,"fou_zi,paintcan"
+gold_city_(umamusume),4,418,
+film_strip,0,418,filmstrip
+deetamu,1,418,
+choco_chip,1,418,
+atoki,1,418,
+zero_gravity,0,417,
+wrestling_mask,0,417,
+uppercut,0,417,
+touhou_lost_word,3,417,
+stuffed_frog,0,417,
+striped_vest,0,417,
+sony,3,417,
+silverxp,1,417,
+sasaki_kojirou_(fate),4,417,assassin_(fate/stay_night)
+sasahara_yuuki,1,417,s_hara
+neferpitou,4,417,
+namine,4,417,
+nail_polish_bottle,0,417,
+martina_(dq11),4,417,
+lilish,1,417,lili_(artist)
+leina,4,417,
+lei,0,417,
+kirigakure_(kirigakure_tantei_jimusho),1,417,kirigaku
+katsushika_hokusai_(swimsuit_saber)_(fate),4,417,
+kairakuen_umenoka,1,417,tougall
+harunatsu_akito,1,417,"happy_flame_time,haruka_akito"
+hakase_fuyuki,4,417,
+hairband_removed,0,417,
+frostleaf_(arknights),4,417,
+eggshell,0,417,
+d;,0,417,
+chicago-x,1,417,shikapu
+blue_pajamas,0,417,
+black_sky,0,417,
+bear_boy,0,417,
+andou_shuki,1,417,"andou_chikanori,andou_shuuki,andou_syuuki"
+wakamo_(blue_archive),4,416,
+tadano_magu,1,416,
+sinon_(sao-alo),4,416,
+shu-mai,1,416,
+shiba_itsuki,1,416,
+severed_hair,0,416,
+re_ghotion,1,416,
+pupps,1,416,
+musashi_kai_(kancolle),4,416,
+mugetsu_(touhou),4,416,mugetsu
+kinoshita_hideyoshi,4,416,
+kid_(chrono_cross),4,416,
+kanzaki_kaori,4,416,
+kantai_collection_(anime),3,416,
+italy,0,416,
+hikage_(senran_kagura),4,416,
+haniwa_(leaf_garden),1,416,
+hand_on_another's_knee,0,416,
+grid,0,416,
+gouta_(nagishiro6624),1,416,
+fuji_(pixiv24804665),1,416,
+cracking_knuckles,0,416,
+cloba,1,416,
+asa_no_ha_(awayuki),1,416,asa_no_ha
+aqua_thighhighs,0,416,
+aile_(mega_man_zx),4,416,aile_(rockman)
+abukuma_kai_ni_(kancolle),4,416,
+.flow,3,416,
+yoru_(chainsaw_man),4,415,
+umamusume_summer_story_(umamusume),0,415,
+traffic_baton,0,415,
+shunichi,1,415,
+shiori_(princess_connect!),4,415,kashiwazaki_shiori
+shinza_bansho_series,3,415,
+shikanoin_heizou,4,415,
+sakutarou_(umineko),4,415,
+sakura_bakushin_o_(umamusume),4,415,
+prince_of_wales_(azur_lane),4,415,
+no_arms,0,415,
+nikoo,1,415,
+mogu_(au1127),1,415,mog_(artist)
+mirei,1,415,
+mil_(xration),1,415,xration
+langbazi,1,415,
+kataoka_yuuki,4,415,
+howl_no_ugoku_shiro,3,415,howl's_moving_castle
+hoshizora_ikuyo,4,415,
+glove_bow,0,415,
+flayn_(fire_emblem),4,415,
+flaming_hand,0,415,"burning_hand,burning_hands,fiery_hand,fiery_hand,fire_fist,fire_fist"
+fingers_to_mouth,0,415,
+es_(xblaze),4,415,"embryo_storage,es_(xblaze_code:_embryo),es_mitsurugi"
+cure_flora,4,415,
+cowfee,1,415,kaafi
+covered_anus,0,415,
+cassandra_alexandra,4,415,
+bomber_grape,1,415,
+baretto_(karasi07),1,415,
+alicia_florence,4,415,
+agent_8_(splatoon),4,415,
+abo_(hechouchou),1,415,caesar_et_cleopatra
+7th_dragon_2020,3,415,
+zebra_print,0,414,
+yonomori_kobeni,4,414,
+xingzhi_lv,1,414,
+tsunderia,3,414,
+tougou_mimori,4,414,
+takunomi,1,414,
+studying,0,414,
+stahlhelm,0,414,
+shouji_ayumu,1,414,"sasa_(pixiv),syouji_ayumu"
+ree_(re-19),1,414,
+red_star,0,414,
+needy_girl_overdose,3,414,needy_streamer_overload
+mudrock_(silent_night)_(arknights),4,414,
+mikazuchi_zeus,1,414,
+klaius,1,414,
+katanagatari,3,414,
+kaname_aomame,1,414,
+holding_torch,0,414,
+hashibira_inosuke,4,414,
+hand_over_another's_mouth,0,414,
+forever_7th_capital,3,414,
+fire_emblem:_new_mystery_of_the_emblem,3,414,fire_emblem:_shin_monshou_no_nazo
+csyday,1,414,csyko
+bowtie_removed,0,414,
+black_babydoll,0,414,
+white_sky,0,413,
+white_bandeau,0,413,
+tristan_(fate),4,413,tristan_(fate/grand_order)
+tomoe_gozen_(swimsuit_saber)_(first_ascension)_(fate),4,413,
+tidus,4,413,
+tatami_to_hinoki,1,413,honjou_tatami
+taiwan_(hetalia),4,413,
+sukage,1,413,
+sore_wa_bokutachi_no_kiseki,0,413,
+shiraha_maru,1,413,
+sakiyo_cake,1,413,asada_tarou
+ronald_mcdonald,4,413,
+redlhzz,1,413,
+qin_liangyu_(fate),4,413,
+oogai_daiichi_middle_school_uniform,0,413,
+nagi_ryou,1,413,"nagi_(artist),s.e.c"
+mikage_sekizai,1,413,
+marvel_vs._capcom,3,413,"marvel_vs_capcom,mvc"
+kon-kit,1,413,konkitto
+kinona,1,413,
+kazaana,1,413,
+haguhagu_(rinjuu_circus),1,413,
+fukuyama_mai,4,413,
+friedrich_der_grosse_(azur_lane),4,413,
+flamethrower,0,413,
+energy_blade,0,413,
+cupping_glass,0,413,
+chaos_online,3,413,chaos_heroes_online
+carrying_overhead,0,413,
+bound_torso,0,413,
+battlefield,0,413,
+ao_no_kiseki,3,413,trails_to_azure
+119,1,413,
+ys,3,412,
+typhlosion,4,412,
+space_ishtar_(fate),4,412,
+shipii_(jigglypuff),1,412,shikei_(jigglypuff)
+poprication,1,412,
+pixiv-tan,4,412,
+mitsuba_choco,1,412,
+long_sword,0,412,
+liliya_olenyeva,4,412,
+katagiri_hinata,1,412,
+hamada_yoshikazu,1,412,hamada_yoshikadu
+gene_(pso2),4,412,
+fake_halo,0,412,
+distr,1,412,ninrabeachboy
+diamond_hair_ornament,0,412,
+chevalier_d'eon_(fate),4,412,chevalier_d'eon_(fate/grand_order)
+cafekun,1,412,
+aika_granzchesta,4,412,
+yin_yang_print,0,411,
+takemaru_(housamo),4,411,takemaru_(tokyo_houkago_summoners)
+sleeve_bow,0,411,
+shimejinameko,1,411,
+reloading,0,411,
+purple_pubic_hair,0,411,
+pandea_work,1,411,
+monorus,1,411,
+millhiore_f._biscotti,4,411,millhiore_f_biscotti
+marushin_(denwa0214),1,411,
+lydian_academy_uniform,0,411,
+lunchbox,0,411,
+long_eyebrows,0,411,
+lissa_(fire_emblem),4,411,liz_(fire_emblem)
+kyogre,4,411,
+kisaragi_kai_ni_(kancolle),4,411,
+jazz_jack,1,411,jazzjack
+hand_on_ear,0,411,
+h2so4,1,411,
+glass_slipper,0,411,
+fukube_satoshi,4,411,
+cream_puff,0,411,cream_puffs
+bennett_(genshin_impact),4,411,
+baileys_(tranquillity650),1,411,
+zangief,4,410,
+yuzuki_gao,1,410,
+vertical-striped_pants,0,410,
+tamamo_cat_(second_ascension)_(fate),4,410,
+rohitsuka,1,410,
+robaco,1,410,
+niy_(nenenoa),1,410,nenenoa
+licking_testicle,0,410,"ball_licking,lick_balls,licking_testicles,testicle_licking"
+kago_no_tori,1,410,kagonotori
+iona,4,410,
+hypnosis_mic,3,410,
+hinako_note,3,410,
+ha-class_destroyer,4,410,
+glove_pull,0,410,
+glass_table,0,410,
+comah,1,410,
+arena_(company),0,410,
+akita_toushirou,4,410,
+22/7,3,410,
+zawameki,1,409,
+yoshida_keiji,1,409,ribonzu
+whitney_(pokemon),4,409,akane_(pokemon)
+valtor,1,409,val_(escc4347)
+tsukumihara_academy_uniform_(fate/extra_ccc),0,409,
+torii_sumi,1,409,
+tokyo_big_sight,0,409,
+syroh,1,409,
+suterii,1,409,
+sorai_shin'ya,1,409,soraishinya
+shun_(rokudena-shi),1,409,rokudena-shi
+shikito,1,409,
+rayquaza,4,409,
+pononozo,1,409,
+perona,4,409,
+osananajimi_neko,1,409,"soil_chopsticks,soushou_nin"
+nui_sociere,4,409,
+nakatani_iku,4,409,
+moekibara_fumitake,1,409,
+leviathan_(skullgirls),4,409,
+kawasumi_mai,4,409,
+himeya_company_uniform,0,409,
+grey_suit,0,409,
+glasgow_smile,0,409,
+gintarou_(kurousagi108),1,409,kurousagi
+different_shadow,0,409,
+ball_and_chain_(weapon),0,409,"ball_and_chain,meteor_hammer"
+audio_jack,0,409,"headphone_jack,jack_plug"
+art_shift,0,409,
+ampharos,4,409,
+amania_orz,1,409,
+airi_(the_infernal_temptress),4,409,
+wrapped_candy,0,408,
+wataame27,1,408,
+vsk-94_(girls'_frontline),4,408,vsk-94_(girls_frontline)
+violence,0,408,
+vertical_foregrip,0,408,
+undersized_animal,0,408,
+toritora,1,408,
+tomohiro_kai,1,408,
+tekehiro,1,408,six_alchemy
+shiwasu_horio,1,408,
+shinozuka_atsuto,1,408,shinoduka_atsuto
+sae_(hidamari_sketch),4,408,sae
+radar,0,408,
+n:go,1,408,nigo
+maracas,0,408,maraca
+mano_aloe,4,408,
+makoto_daikichi,1,408,bee-j1
+mailbox_(incoming_mail),0,408,"letterbox_(object),mailbox"
+koshirae_tsurugi,4,408,
+kobamiso_(kobalt),1,408,
+kawacy,1,408,
+hatsune_mikuo,4,408,
+final_fantasy_iii,3,408,"ff3,ffiii"
+enami_katsumi,1,408,
+dragon_quest_vii,3,408,dragon_quest_7
+deep_wound,0,408,wound
+dark_room,0,408,
+coco's,0,408,
+celestial_being_uniform,0,408,
+aroma_sensei,1,408,
+angewomon,4,408,
+yuihico,1,407,yuihiko
+unlimited_blade_works_(fate),0,407,unlimited_blade_works
+suzuya_kai_ni_(kancolle),4,407,
+suzutsuki_kurara,1,407,ryougetsu_kurara
+sunaba_suzume,1,407,
+sora_72-iro,1,407,touwa_nikuman
+sketch_eyebrows,0,407,
+shiki_(psychedelic_g2),1,407,
+rubber_band,0,407,
+ray-k,1,407,
+purple_apron,0,407,
+pom_pom_earrings,0,407,
+pacific,3,407,
+nonono_(mino),1,407,"kariosuto21,nonono_(basasi21)"
+mizuki_(koko_lost),1,407,miz_01
+mahoromatic,3,407,
+liskarm_(arknights),4,407,
+jack-o'-lantern_hair_ornament,0,407,
+holding_lipstick_tube,0,407,
+greenmarine,1,407,g138
+brown_sash,0,407,
+tsuutenkaaku,1,406,enraku_(pixiv)
+tokonone,1,406,
+ten_desires,3,406,
+sword_writing,0,406,
+super_mario_odyssey,3,406,
+steven_universe,3,406,
+sleeveless_duster,0,406,
+shuten_douji_(halloween_caster)_(fate),4,406,
+shin'you_(kancolle),4,406,shin'you_(kantai_collection)
+sakura_chiyono_o_(umamusume),4,406,
+sak_(lemondisk),1,406,
+pickup_truck,0,406,
+pa-15_(girls'_frontline),4,406,pa-15_(girls_frontline)
+over_the_knee,0,406,
+nozo_(hitomiz),1,406,hitomiz
+mujinbensin,1,406,"kananote,mujinbi"
+maruyama_saki,4,406,
+lycanroc,4,406,
+laharl,4,406,
+kuboken,1,406,
+ichiyou_moka,1,406,
+happa_(cloverppd),1,406,
+hanako_(blue_archive),4,406,
+gunpla,0,406,
+germany_(hetalia),4,406,
+episode_number,0,406,
+cornelia_li_britannia,4,406,cornelia_li_brittania
+control_rod,0,406,
+comiket_100,3,406,
+camouflage_shirt,0,406,
+belfast_(shopping_with_the_head_maid)_(azur_lane),4,406,
+baseball_jersey,0,406,
+aria_pokoteng,4,406,president_aria
+ar_tonelico_i,3,406,ar_tonelico_1
+wool,0,405,
+urara_meirochou,3,405,
+trowel,0,405,
+tomoyohi,1,405,
+thumb_sucking,0,405,"sucking_thumb,thumbsucking"
+syndra,4,405,
+sakurai_touko,4,405,sakurai_(shiromanta)
+sakaki,4,405,
+puck_(re:zero),4,405,
+pear,0,405,
+painted_clothes,0,405,paint_clothes
+numbered_panels,0,405,
+mu-12,4,405,
+michishio_kai_ni_(kancolle),4,405,
+lunatic_gun,0,405,
+kakizaki_(chou_neji),1,405,
+jean_kirchstein,4,405,
+incense,0,405,
+himitsu_(hi_mi_tsu_2),1,405,tokinohimitsu
+haruyuki_(yukichasoba),1,405,
+gravel_(arknights),4,405,
+grani_(arknights),4,405,
+fujikawa,1,405,
+enokuma_uuta,1,405,enokuma_u-ta
+earphones_removed,0,405,
+breast_mousepad,0,405,
+bifidus,1,405,
+428,3,405,428:_shibuya_scramble
+35p_(sakura_miko),4,405,
+zero_(code_geass),4,404,
+z-epto_(chat-noir86),1,404,
+takara_akihito,1,404,sanzoku_no_uta
+shampoo,0,404,
+sebastian_piyodore,4,404,
+penis_ribbon,0,404,
+pearl_thong,0,404,beaded_panties
+papajay_(jennygin2),1,404,jennygin2
+onineko-chan,1,404,
+maestrale_(kancolle),4,404,maestrale_(kantai_collection)
+lucy_maria_misora,4,404,
+log_pose,0,404,
+igawa_asagi,4,404,
+holly_hair_ornament,0,404,
+himeyamato,1,404,cake_no_shaberu
+ga-rei,3,404,
+donkey_kong,4,404,
+digimon_tamers,3,404,
+conte_di_cavour_(kancolle),4,404,
+chun-li_(cosplay),0,404,
+cessa,1,404,uka_(cessa)
+cattleya,4,404,
+uzuki_(cookie),4,403,
+tonbi,1,403,
+tianzi,4,403,
+sugue_tettou,1,403,
+ryunnu,1,403,
+orange_belt,0,403,
+melone,4,403,
+masa_masa,1,403,
+maria_(hayate_no_gotoku!),4,403,
+kamijou_kyousuke,4,403,
+hybrid,0,403,
+hungary_(hetalia),4,403,
+himemiya_anthy,4,403,
+hikawa_iona,4,403,
+high_school_dxd_pi,3,403,
+hashtag,0,403,
+completion_time,5,403,
+cagalli_yula_athha,4,403,
+bloomers_pull,0,403,bloomer_pull
+banette,4,403,
+angra_mainyu_(fate),4,403,avenger
+aki_(akikaze_asparagus),1,403,
+akemiho_tabi_nikki,3,403,akemiho_travel_diary
+youta,1,402,
+wild_arms_3,3,402,
+vent_arbre,1,402,
+taut_leotard,0,402,
+suurin_(ksyaro),1,402,
+specter_the_unchained_(arknights),4,402,
+sitting_on_head,0,402,head_sitting
+shizuma_yoshinori,1,402,
+rei_kun,1,402,
+prostate_milking,0,402,"female_fingers_in_male_anus,prostate_massage"
+poco_(asahi_age),1,402,poko
+playing_piano,0,402,
+peso_(cheese_company),1,402,pesogiso
+pearl_hair_ornament,0,402,
+nagato_kai_ni_(kancolle),4,402,
+motomiya_mitsuki,1,402,
+mocchi_(mocchichani),1,402,mocchichani
+kiriyama_taichi,1,402,
+hooters,3,402,
+hater_(hatater),1,402,
+guchico,1,402,
+green_cloak,0,402,
+golden_apple,0,402,
+fairy_maid_(touhou),4,402,fairy_maid
+caitlin_(pokemon),4,402,cattleya_(pokemon)
+bb_(swimsuit_mooncancer)_(first_ascension)_(fate),4,402,
+bandaid_on_head,0,402,
+amazon_warrior,0,402,"amazon,amazons"
+akuma_(street_fighter),4,402,gouki
+akira_(coffee_curry),1,402,akira02
+after_bathing,0,402,"after_bath,after_shower"
+yaman,1,401,
+voltron_(series),3,401,
+tsuki_ni_kawatte_oshioki_yo,0,401,in_the_name_of_the_moon
+torino_aqua,1,401,"afraco,torino_akua"
+taiko_drum,0,401,
+sticker_on_face,0,401,
+sepia_background,0,401,
+sawatari_makoto,4,401,
+sakiryo_kanna,1,401,
+sailor_swimsuit_(idolmaster),0,401,
+saeki_hokuto,1,401,
+rinoa_heartilly,4,401,
+red_robe,0,401,
+pointing_weapon,0,401,
+nanao_(mahaya),1,401,"mahaya,nanao"
+mineva_lao_zabi,4,401,
+matsuoka_gou,4,401,
+marukyuu_ameya,1,401,m9kndi
+kawagoe_pochi,1,401,
+junkpuyo,1,401,
+hozuki_momiji,4,401,
+holding_pole,0,401,
+hijikawa_arashi,1,401,
+hashimoto_takashi,1,401,
+hair_over_face,0,401,
+fur_cuffs,0,401,
+eliwood_(fire_emblem),4,401,
+chrono_crusade,3,401,chrno_crusade
+christmas_present,0,401,christmas_gift
+chii,4,401,
+casting_spell,0,401,
+caburi,1,401,
+bursting_ass,0,401,
+arc_the_lad_ii,3,401,
+amino_(tn7135),1,401,
+against_window,0,401,
+.hack//g.u.,3,401,
+yura_kai_ni_(kancolle),4,400,
+wrestle_angels_survivor,3,400,
+very_long_tongue,0,400,
+togami_byakuya,4,400,
+tenkuu_no_shiro_laputa,3,400,"castle_in_the_sky,laputa,laputa:_castle_in_the_sky,laputa_castle_in_the_sky"
+takemura_sessyu,1,400,"shimoigusa,takemura_sesshuu"
+sylvie_(dorei_to_no_seikatsu),4,400,
+swimsuit_removed,0,400,
+rosetta_(granblue_fantasy),4,400,
+reu_(cookie),4,400,
+peeling,0,400,
+naoto_(tulip),1,400,kingyo_(pixiv246106)
+momoshiki_tsubaki,1,400,
+hosomi_shizuko,4,400,hosomi_(girls_und_panzer)
+ebizome,1,400,syslila
+dragon_quest_x,3,400,dragon_quest_10
+coffee_table,0,400,
+canaan,3,400,
+undyne,4,399,
+toyama_kasumi,4,399,
+t.m._opera_o_(umamusume),4,399,
+supply_depot_princess,4,399,supply_depot_hime
+scratching,0,399,
+sakuramochi_(sakura_frappe),1,399,yukito_(hoshizora)
+poison,0,399,
+nikaidou_kou,1,399,
+la_pucelle,3,399,"la_pucelle_tactics,lapucelle"
+koretsuki_azuma,1,399,
+ink_bottle,0,399,
+gazacy_(dai),1,399,
+dragon_quest_vi,3,399,dragon_quest_6
+clow_card,0,399,clow_cards
+clothes_in_front,0,399,
+chima_q,1,399,
+battleship_water_oni,4,399,
+ayanero_taicho,1,399,
+yoako,1,398,the_drying_off_yoako
+transmission_tower,0,398,electricity_pylon
+top_pull,0,398,
+tanihara_natsuki,1,398,
+swimsuit_skirt,0,398,
+suichuu_hanabi,1,398,
+sparrowl,1,398,
+shimadoriru,1,398,stripe_pattern_(circle)
+sen_(granblue_fantasy),4,398,
+ribbon_between_breasts,0,398,
+pgm_hecate_ii,0,398,
+oso_(toolate),1,398,oso
+nakano_yuka,4,398,
+muroku_(aimichiyo0526),1,398,aimichiyo0526
+legend_of_the_cryptids,3,398,
+kibisake,1,398,
+kakao_(noise-111),1,398,noise-111
+hoppege,1,398,
+holding_fish,0,398,
+hillly_(maiwetea),1,398,maiwetea
+hassan_of_the_cursed_arm_(fate),4,398,true_assassin
+enami_hakase,1,398,
+drawing_on_another's_face,0,398,"face_painting,writing_on_another's_face"
+chicken_leg,0,398,
+atte_nanakusa,1,398,atte7kusa
+aida_takanobu,1,398,
+achiki,1,398,
+wily_beast_and_weakest_creature,3,397,
+victorious_(azur_lane),4,397,
+v_over_mouth,0,397,
+teruui,1,397,
+takoyaki_(roast),1,397,"kogemashita,tako_(roast)"
+sweater_tug,0,397,
+rom_(neptune_series),4,397,
+oda_nobuna_no_yabou,3,397,the_ambition_of_oda_nobuna
+money_tuck,0,397,"money_hold,money_in_cleavage,money_in_clothes"
+mashiro_aa,1,397,oh_mashiro
+majoccoid,1,397,
+lotte_no_omocha!,3,397,"astarotte_no_omocha,astarotte_no_omocha!,lotte's_plaything,lotte_no_omocha,rotte_no_omocha,rotte_no_omocha!"
+kizaki_yuuri,1,397,
+kazuharu_kina,1,397,kina_(pixiv22419)
+isegawa_yasutaka,1,397,nanashina
+hero_(dq11),4,397,
+exlic,1,397,
+dragon@harry,1,397,
+devil_may_cry_3,3,397,
+deaver,1,397,
+daichi_(tokoya),1,397,tokoya_(ex-hetare)
+canopy_(aircraft),0,397,canopy
+akitsu_maru_kai_(kancolle),4,397,
+zaku,4,396,
+yan_(nicknikg),1,396,
+waist_hug,0,396,
+thomasz,1,396,hujiya_honten
+tachikoma_(mousou_teikoku),1,396,delusion_empire
+super_mushroom,0,396,
+suou_patra,4,396,
+shirokitsune,1,396,
+san-pon,1,396,dasuto
+roropull,1,396,
+robot_animal,0,396,"animal_robot,mechanical_animal"
+riku_(kingdom_hearts),4,396,riku
+recurring_image,0,396,"copy-paste,copy-pasted,copy-pasting"
+noihara_himari,4,396,
+noco_(adamas),1,396,takekono
+midnight_bliss,0,396,
+lee_(colt),1,396,lee_(pixiv16488)
+kumamiko,3,396,"kuma_miko,kuma_miko:_girl_meets_bear"
+kamen_rider_dcd,3,396,
+kakage,1,396,
+ike_eveland,4,396,
+hyudora,1,396,hyudra
+hyakkaou_academy_uniform,0,396,
+heinrike_prinzessin_zu_sayn-wittgenstein,4,396,
+endou_hiroto,1,396,
+dunkerque_(azur_lane),4,396,
+covering_with_blanket,0,396,
+boulder,0,396,
+awning,0,396,
+anya_melfissa,4,396,
+ankle_garter,0,396,
+yuki_(touhou),4,395,
+vignette_tsukinose_april,4,395,tsukinose_vignette_april
+v-shaped_eyes,0,395,
+ueda_ryou,1,395,
+tokugawa_matsuri,4,395,
+tarakanovich,1,395,why_(artist)
+takeda_yukimura,1,395,
+takahero,1,395,
+symmetrical_pose,0,395,
+starfighter,0,395,
+star_ocean_the_last_hope,3,395,star_ocean_4
+sakai_kyuuta,1,395,
+number_pun,0,395,
+nohito,1,395,
+nakajima_(girls_und_panzer),4,395,
+multiple_monitors,0,395,
+multicolored_ribbon,0,395,
+mousepad_(object),0,395,
+mizuga,1,395,
+mike_inel,1,395,manyakis
+magister,1,395,"magister_(bearibop),magister_(bigbakunyuu),magister_(medical_whiskey),mnll"
+mage_staff,0,395,
+kurosaki_chitose,4,395,
+kotozume_yukari,4,395,
+katayama_kei,1,395,
+k/da_akali,4,395,
+iwatooshi,4,395,
+inunoko.,1,395,
+inui_sajuna,4,395,
+hoto_cocoa's_school_uniform,0,395,
+holding_mirror,0,395,
+hijiri_(resetter),1,395,
+gryffindor,0,395,
+ghislaine_dedoldia,4,395,ghyslaine_dedorudia
+enjo_kouhai,3,395,enjou_kouhai_oshiego_wa_elf_ryuu_ningyo_jinrou
+devilman,3,395,
+covering_chest,0,395,
+backless_panties,0,395,assless_panties
+alternative_girls,3,395,
+all_might,4,395,
+a-ka,1,395,
+yuiga_naoha,1,394,yuiganaoha
+tiger_cub,0,394,
+tails_(sonic),4,394,miles_prower
+sigurd_(fate),4,394,sigurd_(fate/grand_order)
+shiraitodai_school_uniform,0,394,
+sasairebun,1,394,pinkish
+sasaame,1,394,sand-rain
+sansei_muramasa,4,394,sandaime_muramasa
+sakaki_yuuya,4,394,yuya_sakaki
+rozalin,4,394,
+peacock_feathers,0,394,
+oyama_mihari,4,394,
+no_bangs,0,394,
+nishizawa,1,394,
+misaki_nonaka,1,394,kumamoto_nomii-kun
+kiryuuin_ragyou,4,394,
+holding_racket,0,394,
+holding_cake,0,394,
+hamushima,1,394,jack_hamster
+gin_(shioyude),1,394,
+ga-rei_zero,3,394,
+fujitaka_nasu,1,394,takanasu05
+fujiko_f_fujio_(style),0,394,
+flannery_(pokemon),4,394,"asuna_(pokemon),flannery"
+energy_weapon,0,394,
+dragon_tattoo,0,394,
+double_scoop,0,394,
+carol_malus_dienheim,4,394,
+board,0,394,
+batsubyou,4,394,
+aunt_and_niece,0,394,
+amuro_ray,4,394,
+aircraft_carrier_water_oni,4,394,
+vomiting,0,393,
+tirpitz_(azur_lane),4,393,
+shibari_under_clothes,0,393,
+self_breast_sucking,0,393,
+nnyara,1,393,
+mutual_orgasm,0,393,
+murata_yuusuke,1,393,
+mobu,1,393,
+minami_chiaki,4,393,
+marina_ismail,4,393,marina_ishmael
+koumei_(twinameless),1,393,twinameless
+inkling_(language),0,393,
+if_(neptune_series),4,393,
+grey_ascot,0,393,
+giant_monster,0,393,
+foo_fighters,4,393,
+egyptian_mythology,3,393,
+dra,1,393,
+deel_(rkeg),1,393,
+yume_2kki,3,392,
+voltron:_legendary_defender,3,392,
+tennis_court,0,392,
+smoke_trail,0,392,
+sitting_sideways,0,392,
+reverse_fellatio,0,392,
+navy_(navy.blue),1,392,jiiwara
+nagant_revolver_(girls'_frontline),4,392,nagant_revolver_(girls_frontline)
+muzzle,0,392,
+m_bison,4,392,dictator_(street_fighter)
+kuroshitsuji,3,392,black_butler
+klein_moretti,4,392,
+kannatsuki_noboru,1,392,kannatuki_noboru
+kana_anaberal,4,392,
+holding_egg,0,392,
+galaxy_angel_rune,3,392,"galaxy_angel_ii,galaxy_angelune"
+female_ejaculation_through_clothes,0,392,female_ejaculation_through_clothing
+byakugan,0,392,
+binsen,1,392,
+bikini_tug,0,392,
+ansatsu_kyoushitsu,3,392,assassination_classroom
+zombie_fairy_(touhou),4,391,zombie_fairy
+xephyrks,1,391,ks_(xephyrks)
+takamichi,1,391,
+tactical_surface_fighter,0,391,
+subachi,1,391,
+stitched_torso,0,391,
+sleeping_bag,0,391,
+shiratama_(hockey),1,391,
+shark_print,0,391,
+saikawa_yusa,1,391,udk
+rubik's_cube,0,391,
+piripun,1,391,
+nian_(unfettered_freedom)_(arknights),4,391,
+naz,1,391,
+mp40_(girls'_frontline),4,391,mp40_(girls_frontline)
+monkey_girl,0,391,
+menacing_(jojo),0,391,gogogogo
+lace_legwear,0,391,
+l_(death_note),4,391,
+koi_dance,0,391,
+kanna_(cookie),4,391,
+isekai_maou_to_shoukan_shoujo_no_dorei_majutsu,3,391,how_not_to_summon_a_demon_lord
+holding_coin,0,391,
+grilling,0,391,
+frankenstein's_monster,4,391,
+france_(hetalia),4,391,
+forbidden_scrollery,3,391,
+cue_stick,0,391,pool_cue
+aty_(summon_night),4,391,
+aono_shimo,1,391,shimo_(s_kaminaka)
+american_mcgee's_alice,3,391,
+yukiwo,1,390,
+suzuho_hotaru,1,390,
+single_earphone_removed,0,390,
+shoulder_sash,0,390,
+shigure_ryuunosuke,1,390,shigure-p
+rosemi_lovelock,4,390,
+pokemon_mystery_dungeon,3,390,"pokemon_fushigi_no_dungeon,pokemon_md"
+muffin_top,0,390,
+miata_(miata8674),1,390,miata_(pixiv)
+maullarmaullar,1,390,
+magnet_(vocaloid),3,390,
+macross:_do_you_remember_love?,3,390,macross_dyrl
+lucifero,4,390,
+litchi_faye_ling,4,390,
+ligne_claire,0,390,
+kyuuba_melo,1,390,
+kingdom_hearts_iii,3,390,kingdom_hearts_3
+ken_(coffee_michikusa),1,390,
+haibara_ai,4,390,
+glass_shards,0,390,
+gengorou,1,390,
+erlenmeyer_flask,0,390,
+emofuri,5,390,
+elsword_(character),4,390,
+doronjo,4,390,
+animal_helmet,0,390,
+alakoala,1,390,alakoala_shoushou
+tsukimura_suzuka,4,389,
+serena_(yu-gi-oh!),4,389,
+rpg,0,389,
+risui_(suzu_rks),1,389,
+raiou,1,389,
+princess_principal_game_of_mission,3,389,
+pectoral_docking,0,389,pectoral_to_pectoral
+oden,0,389,
+neropaso,1,389,
+nakayama_miyuki,1,389,"nimame,tibimimi"
+mizushima_(p201112),1,389,
+minatsuki_randoseru,1,389,"minazuki_randoseru,oudanhodou"
+kokuchuutei,1,389,
+kiawe_(pokemon),4,389,kaki_(pokemon)
+kei_(keigarou),1,389,"kei_(artist),keigarou"
+iz_(asteroid_ill),4,389,iz_(asuteroid)
+harisen,0,389,
+demon's_souls,3,389,
+coppelion,3,389,
+clothes_on_floor,0,389,
+avatar_(mabinogi),4,389,
+zuizi,1,388,
+yuuma_(skirthike),1,388,
+yoru_nai,1,388,
+yaza,1,388,
+yagyuu_(senran_kagura),4,388,
+turkey_(food),0,388,
+tamada_tamaki,4,388,tamada_(girls_und_panzer)
+saitou_naoki,1,388,
+redjuice,1,388,
+poketch,0,388,
+paint_on_clothes,0,388,
+o-ring_panties,0,388,
+neko_neko_koneko,1,388,
+nassukun,1,388,
+matoi_ryuuko_(cosplay),0,388,
+majikina_mina,4,388,
+kokonoe_(blazblue),4,388,
+ko_yu,1,388,
+keita_(tundereyuina),1,388,kirito_(tundereyuina)
+humping,0,388,
+holding_key,0,388,
+hibiki_yuuta,4,388,
+fingers_to_cheeks,0,388,
+back_cover,0,388,
+ayase_yue,4,388,
+astesia_(arknights),4,388,
+akagi_ritsuko,4,388,
+snow_globe,0,387,
+shimo_(depthbomb),1,387,"depth_bomb,shimo_(pixiv14753)"
+rojiura_satsuki:_chapter_heroine_sanctuary,3,387,
+ooji,1,387,"noantica,o-ji"
+nokoppa,1,387,
+narutaki_shin,1,387,
+nanashin_naomi,1,387,"naomi@tsuitta,naomi_(sekai_no_hate_no_kissaten)"
+mythra_(radiant_beach)_(xenoblade),4,387,
+momoji_(lobolobo2010),1,387,lobolobo2010
+metamoran_vest,0,387,
+maria_holic,3,387,
+layla_(idolmaster),4,387,
+kuzuryuu_fuyuhiko,4,387,
+kerberos_blade,3,387,
+kamen_rider_555,3,387,
+kabu_(pokemon),4,387,
+green_armband,0,387,
+girls_und_panzer_saishuushou,3,387,
+dark_labia,0,387,
+crescent_necklace,0,387,
+character_mask,0,387,
+candelabra,0,387,
+bust_chart,0,387,"boob_chart,breast_chart,breast_comparison,chichikurabe"
+amano_don,1,387,
+admiral_(kancolle)_(cosplay),0,387,
+vlad_iii_(fate/apocrypha),4,386,
+tab_head,1,386,aru_tarou
+syunzou,1,386,shunzou
+sweater_around_neck,0,386,
+seta_kaoru,4,386,
+saori_(blue_archive),4,386,
+saemonza_(girls_und_panzer),4,386,saemonza
+pepsi,3,386,
+penguin_tail,0,386,
+panels,0,386,
+orange_juice,0,386,
+levantine,4,386,
+lead_pipe,0,386,
+knit_hat,0,386,
+kindergarten_bag,0,386,
+katalina_(granblue_fantasy),4,386,"catalina_(granblue_fantasy),katalina_aryze,katarina_(granblue_fantasy)"
+irisviel_von_einzbern_(angel's_song),4,386,
+implied_cunnilingus,0,386,
+imperial_japanese_navy,0,386,
+hand_on_own_elbow,0,386,
+goshiki_suzu,1,386,otogiri_mokutan
+gingerbread_man,0,386,
+exiled_warrior_leina,4,386,
+engo_(aquawatery),1,386,
+dramatical_murder,3,386,
+devil_summoner,3,386,
+cum_on_fingers,0,386,
+crucifixion,0,386,
+bluethebone,1,386,
+ayase_hazuki,1,386,cross_hearts
+arguing,0,386,
+akky_(akimi1127),1,386,
+yagami_iori,4,385,
+toolbox,0,385,
+tabitha_(zero_no_tsukaima),4,385,
+sylvain_jose_gautier,4,385,
+squchan,1,385,
+shirokane_rinko,4,385,
+sengoku_collection,3,385,
+penis_under_another's_clothes,0,385,penis_under_clothes
+nishida_asako,1,385,
+miyao_ryuu,1,385,
+miyako_hito,1,385,
+mimofu_(fullhighkick),1,385,
+metata,1,385,
+licking_neck,0,385,neck_licking
+kroos_(arknights),4,385,
+kidou_yuuto,4,385,
+himemiya_chikane,4,385,
+golem,0,385,
+gin00,1,385,
+gayarou,1,385,
+cowboy,0,385,cowboys
+colored_eyepatch,0,385,"aqua_eyepatch,blue_eyepatch,brown_eyepatch,green_eyepatch,orange_eyepatch,pink_eyepatch,purple_eyepatch,red_eyepatch,yellow_eyepatch"
+chocolate_cornet,0,385,
+cad_(caddo),1,385,kaddo
+bursting_pectorals,0,385,bursting_pecs
+aria_gakuen_school_uniform,0,385,
+zinnia_(pokemon),4,384,higana_(pokemon)
+wooper,4,384,
+white_headdress,0,384,
+vertical-striped_shorts,0,384,
+unleashed,3,384,
+tsujino_akari,4,384,
+suicune,4,384,
+snowball_(overwatch),4,384,
+shirokuma_a,1,384,merufena
+new_generations_(idolmaster),0,384,new_generations
+natuna_natu,1,384,"na!?_(naxtuyasai),yonjyuugo"
+nakaaki_masashi,1,384,mumyoudou
+kunoichi_tsubaki_no_mune_no_uchi,3,384,in_the_heart_of_kunoichi_tsubaki
+kasen_kanesada,4,384,
+karasusou_nano,1,384,
+jiru_(jirufun),1,384,
+iroiro_yaru_hito,1,384,
+imminent_hug,0,384,incipient_hug
+icicle,0,384,icicles
+holding_bell,0,384,
+headlock,0,384,
+fishing_hook,0,384,
+emyo,1,384,yumaomi
+boom_barrier,0,384,
+aslindsamure,1,384,
+amayadori_machi,4,384,
+akane_souichi,1,384,
+age_of_ishtaria,3,384,
+86_-eightysix-,3,384,
+yostxxx,1,383,
+urushibara_ruka,4,383,urushibara_luka
+tsab_executive_military_uniform,0,383,
+tokita_monta,1,383,
+toka_(marchlizard),1,383,
+tanaka_shoutarou,1,383,fomalhaut
+suplex,0,383,
+sophie_neuenmuller,4,383,
+smegma,0,383,
+shopping_basket,0,383,
+sho-n-d,1,383,sho_n.d.
+shennai_misha,1,383,
+pottsness,1,383,
+playstation,0,383,
+necklace_removed,0,383,
+midna_(true),4,383,
+maruto!,1,383,maruto
+kingdom_hearts_358/2_days,3,383,358/2_days
+kakumeiki_valvrave,3,383,valvrave_the_liberator
+f-zero,3,383,
+booth_seating,0,383,"booth,restaurant_booth"
+bikini_around_one_leg,0,383,
+bbc-chan,1,383,
+ario,1,383,
+ambiguous_red_liquid,0,383,
+yu_65026,1,382,
+single_sandal,0,382,
+roar_yell!_tracen_academy_cheerleading_squad_(umamusume),0,382,
+plumeria,0,382,
+mushishi,3,382,
+mugino_shizuri,4,382,
+male_underwear_peek,0,382,underwear_peek_(male)
+kohsaka_jun,1,382,kousaka_jun
+km_yama,1,382,"keemu_(occhoko-cho),km_(artist)"
+kanzaki_muyu,1,382,
+holding_photo,0,382,
+holding_necklace,0,382,
+grey_choker,0,382,
+giraffe_ears,0,382,
+fifiruu,1,382,
+excessive_pussy_juice,0,382,
+dog_(mixed_breed)_(kemono_friends),4,382,
+de_ruyter_(kancolle),4,382,de_ruyter_(kantai_collection)
+cu-no,3,382,
+condensation,0,382,
+buneary,4,382,
+bikini_in_mouth,0,382,
+ass_tattoo,0,382,
+ash_arms,3,382,
+androgyne_symbol,0,382,
+airani_iofifteen,4,382,
+yowai_totoko,4,381,totoko_(osomatsu-kun)
+white_uniform,0,381,
+tsukigi,1,381,
+tomoe_mami_(cosplay),0,381,
+staryu,4,381,
+st.germain-sal,1,381,
+shounen_(hogehoge),1,381,
+shark_fin,0,381,
+ryouko_(tenchi_muyou!),4,381,"hakubi_ryoko,hakubi_ryouko,ryoko_(tenchi_muyo),ryouko_(tenchi_muyou)"
+revolver_knuckle,4,381,
+powering_up,0,381,
+nunchaku,0,381,nunchuks
+nav_(itsnav),1,381,nav
+mars_(cookie),4,381,
+kenmochi_touya,4,381,
+katsuragi_(senran_kagura),4,381,
+kaorihero,1,381,
+ivysaur,4,381,
+itto_(mentaiko),1,381,
+holding_map,0,381,
+hane_yuki,1,381,
+full_mouth,0,381,mouth_full
+euphonium,0,381,
+bonyari_high_school_uniform,0,381,
+blue_suit,0,381,
+tomatto_(@ma!),1,380,@ma?
+tobiichi_origami,4,380,
+tamamo_no_mae_(spring_casual)_(fate),4,380,
+pleated_shirt,0,380,
+owarimonogatari,3,380,
+open_bodysuit,0,380,
+okitsugu,1,380,
+mofu_namako,1,380,
+miniskirt_pirates,3,380,"bodacious_space_pirates,miniskirt_uchuu_kaizoku,mouretsu_pirates,mouretsu_uchuu_kaizoku"
+ment,1,380,
+medusa_(shingeki_no_bahamut),4,380,
+itolife,1,380,itou_life
+hubert_von_vestra,4,380,
+hand_under_swimsuit,0,380,hand_in_swimsuit
+green_fur,0,380,
+grape_hair_ornament,0,380,
+glory_hole,0,380,gloryhole
+gladiolus_amicitia,4,380,
+gensou_suikoden_ii,3,380,suikoden_ii
+eurasian_tree_sparrow,0,380,
+eotech,0,380,
+dog_costume,0,380,
+bremerton_(kung_fu_cruiser)_(azur_lane),4,380,
+big_nose,0,380,
+bag_removed,0,380,
+asa_(coco),1,380,
+74,1,380,
+whale_tail_(clothing),0,379,whale_tail
+waving_arm,0,379,
+vei_(vtuber),4,379,veibae
+tsubasa_tsubasa,1,379,
+tksand,1,379,taki_sandstone
+thorns_(arknights),4,379,
+tamayan,1,379,
+starting_block,0,379,
+spiked_footwear,0,379,
+slide,0,379,
+silhouette_demon,0,379,
+shizuru_(princess_connect!),4,379,hoshino_shizuru
+sheep_tail,0,379,
+pako_(pousse-cafe),1,379,
+nino_(fire_emblem),4,379,
+nendoroid,0,379,
+nemo_(fate),4,379,nemo_series_(fate)
+mizuhara_chizuru,4,379,
+minah_(chaesu),4,379,
+marl_kingdom,3,379,
+kansou_samehada,1,379,kei_t_sr
+inugami_kira,1,379,
+ikazu401,1,379,agung_syaeful_anwar
+hinoka_(fire_emblem),4,379,hinoka_(fire_emblem_if)
+grey_flower,0,379,
+flint_(girls_und_panzer),4,379,
+faye_valentine,4,379,
+enpe,1,379,
+email_address,0,379,
+decidueye,4,379,
+creature_on_head,0,379,
+collar_grab,0,379,
+clinging,0,379,
+ch'en_(ageless_afterglow)_(arknights),4,379,
+catherine_(game),3,379,
+bishoujo_mangekyou,3,379,
+ama-tou,1,379,
+akane_(bunny)_(blue_archive),4,379,akane_(bunny_girl)_(blue_archive)
+vigna_(arknights),4,378,
+tunnel,0,378,
+toothpaste,0,378,
+techi_(techi35499),1,378,
+team_aqua,0,378,
+shinomiya_himawari,4,378,
+sherlock_shellingford,4,378,
+scolding,0,378,
+sama_samasa,1,378,
+red_blood_cell_(hataraku_saibou),4,378,
+pliers,0,378,
+nara_shikamaru,4,378,
+mint,0,378,
+maniacpaint,1,378,
+legacy_of_lunatic_kingdom,3,378,
+kuraue_hinata,4,378,
+kugelschreiber,1,378,
+iei,0,378,"funeral_photo,mourning_photo"
+holding_dildo,0,378,
+hagakure_tooru,4,378,invisible_girl_(boku_no_hero_academia)
+giraffe,0,378,
+gale_kawaii,1,378,"kotanu_(kotanukiya),kotanuki_(kotanukiya),kotanuki_329"
+fujishima-sei_ichi-gou,1,378,fujishima-01
+enomoto_takane,4,378,
+dyson_(edaokunnsaikouya),1,378,
+cocktail_shaker,0,378,
+chocolate_on_face,0,378,
+beige_fur,0,378,
+arika_yumemiya,4,378,
+yoru_no_yatterman,3,377,
+wasabi60,1,377,
+uenoryoma,1,377,
+tsune_(tune),1,377,fall_dommmmmer
+thigh_straddling,0,377,thigh_straddle
+testa,1,377,
+sunny_(omori),4,377,
+siesta_(zero_no_tsukaima),4,377,
+shoulder_guard,0,377,
+sekirei,3,377,
+sananana_(cookie),4,377,
+ringo-chan_(otokuyou),4,377,
+ram_(neptune_series),4,377,
+picking_up,0,377,
+piano_bench,0,377,
+nurarihyon_no_mago,3,377,nura:_rise_of_the_yokai_clan
+nekominase,1,377,
+multicolored_tail,0,377,
+morty_(pokemon),4,377,matsuba_(pokemon)
+menace,4,377,
+labia_piercing,0,377,pierced_labia
+kilesha,1,377,kirewisha
+kanzaki_hiro,1,377,oda_hiroyuki
+k10k,1,377,
+jirou_(chekoro),1,377,
+itsuka_kotori,4,377,
+istina_(arknights),4,377,
+frilled_armband,0,377,
+eyeshield_21,3,377,eyeshield21
+doukyuusei,3,377,
+btmr_game,1,377,
+ao_no_kanata_no_four_rhythm,3,377,aokana:_four_rhythm_across_the_blue
+abigail_williams_(emerald_float)_(fate),4,377,
+yamasan,1,376,
+wakamatsu372,1,376,otayama
+umakuchi_shouyu,1,376,
+ukagaka,3,376,
+torigoe_takumi,1,376,
+tart_(food),0,376,
+tachibana_miya,4,376,
+suou_mikoto_(school_rumble),4,376,suou_mikoto
+spurs,0,376,
+shorts_aside,0,376,
+reticulated_giraffe_(kemono_friends),4,376,
+resident_evil_6,3,376,
+racchi.,1,376,
+producer_(idolmaster_anime),4,376,
+osakana_(denpa_yun'yun),1,376,
+oro_(sumakaita),1,376,
+orange_apron,0,376,
+om_(nk2007),1,376,om_(artist)
+nina_kosaka,4,376,
+naidong_(artist),1,376,yin-ting_tian
+monoglove,0,376,
+mammon_(umineko),4,376,
+light_machine_gun,0,376,
+lace-trimmed_shirt,0,376,lace-trimmed_blouse
+kson,4,376,
+hoshiguma_yuugi_(promo),4,376,
+hitomi_(doa),4,376,
+headwear_switch,0,376,hat_switch
+feral_lemma,1,376,
+dead_or_alive_xtreme,3,376,
+cafe-chan_to_break_time,3,376,break_time_with_cafe-chan
+black_bullet,3,376,
+bisexual_male,0,376,bisexual_(male)
+baseball_helmet,0,376,batting_helmet
+2000s_(style),0,376,
+zipper_skirt,0,375,
+z_flag,0,375,z-flag
+xinyan_(genshin_impact),4,375,
+whisper_(youkai_watch),4,375,
+toujou_kirumi,4,375,
+tenobe,1,375,yosi135
+tansuke,1,375,
+summertime_render,3,375,
+sky_high,4,375,
+shimabara_elena,4,375,
+shift_(waage),1,375,shift_(0808)
+shamakho,1,375,
+satellite_dish,0,375,
+reno_(azur_lane),4,375,
+print_footwear,0,375,
+pia_carrot_(series),3,375,
+naked_paint,0,375,
+nakamura_yukitoshi,1,375,astroguy2
+morisobo,1,375,
+magisa_(granblue_fantasy),4,375,
+lying_card,0,375,
+kyoto_animation,3,375,
+kotatu_(akaki01aoki00),1,375,akaki_aoki
+k-on!_movie,3,375,eiga_k-on!
+heart_wand,0,375,
+haaton_(akai_haato),4,375,
+fisting,0,375,
+esidisi,4,375,acdc_(jojo)
+esdeath,4,375,
+ebifly,1,375,
+chespin,4,375,
+arsenixc,1,375,
+archie_(pokemon),4,375,aogiri_(pokemon)
+anise_tatlin,4,375,
+zen'in_maki,4,374,
+yamashita_takahiro,1,374,
+watarase_piro,1,374,"piro_(prwtrs),watarasera_piro"
+wake_up_girls!,3,374,
+tanigaki_genjirou,4,374,
+suspenders_pull,0,374,
+super_saiyan_2,0,374,
+skitty,4,374,
+sh_(562835932),1,374,
+scarf_removed,0,374,
+princess_tutu,3,374,
+portal_(series),3,374,
+petra_macneary,4,374,petra_mcnairy
+mylene_jenius,4,374,
+muoto,1,374,
+mp7_(girls'_frontline),4,374,mp7_(girls_frontline)
+morino_donguri,1,374,matuken1027
+masanaga_(tsukasa),1,374,
+kanniiepan,1,374,
+kamihama_university_affiliated_school_uniform,0,374,
+in-universe_location,0,374,
+himeragi_yukina,4,374,
+hanpenmaru,1,374,
+hamao,1,374,
+cthugha_(nyaruko-san),4,374,
+chigusa_minori,1,374,"minori_748,minori_chigusa"
+catching,0,374,
+bubuzuke,1,374,bubuduke
+bibi02,1,374,bibi
+basin,0,374,
+asakawa_(outeq),1,374,asakawanwan
+zenra,0,373,
+unacchi_(nyusankin),1,373,
+tales_of_phantasia,3,373,tales_of_phantasia_x
+tako-san_wiener,0,373,octopus_wiener
+shoulder_blush,0,373,
+shengtian,1,373,quiet
+serizawa_(serizawaroom),1,373,nozomi-y
+satou_sei,4,373,
+sakuranomiya_maika,4,373,
+s.a.t.8_(girls'_frontline),4,373,s.a.t.8_(girls_frontline)
+roshin_yuukai_(vocaloid),3,373,"meltdown_(vocaloid),roshin_yukai_(vocaloid)"
+racecar,0,373,
+pop_(electromagneticwave),1,373,pop_(artist)
+pleinair,4,373,plenair
+plaid_apron,0,373,
+pink_outline,0,373,
+paywall_censor,0,373,
+margay_(kemono_friends),4,373,
+load_bearing_equipment,0,373,
+leaf-pattern_stripe,0,373,
+katarina_claes,4,373,
+kajin_(kajinman),1,373,kajinman
+impa,4,373,
+holding_binoculars,0,373,
+hanzo_(overwatch),4,373,"hanzo_shimada,shimada_hanzo"
+folded_clothes,0,373,
+down_jacket,0,373,puffer_jacket
+done_(donezumi),1,373,nezumi_inu
+bigdead,1,373,bigdead93
+aruruw,4,373,aruru
+alice_liddell_(american_mcgee's_alice),4,373,
+abenattou,1,373,
+yayoi_maka,1,372,yayoimaka03
+tomoe,4,372,
+the_elder_scrolls_v:_skyrim,3,372,skyrim
+takatora,1,372,
+sweeping,0,372,
+sleeve_ribbon,0,372,
+shexyo,1,372,
+sasai_saji,1,372,
+rock_paper_scissors,0,372,jankenpon
+rice_shower_(make_up_vampire!)_(umamusume),4,372,
+red_suit,0,372,
+onono_imoko,1,372,shunin
+ntw-20_(girls'_frontline),4,372,ntw-20_(girls_frontline)
+nanahime,1,372,"code49,nanahime_(aoi)"
+meltrandi,0,372,
+kuroi_(liar-player),1,372,
+kotoribako,1,372,nigiri_usagi
+kokone_(coconeeeco),1,372,koko_ne_(user_fpm6842)
+kogami_akira,4,372,
+kemurikusa,3,372,
+holding_toothbrush,0,372,
+hatterene,4,372,
+hato_haru,1,372,
+hanada_yanochi,1,372,yanochi
+ghiaccio,4,372,
+deyui,1,372,
+bolverk,0,372,
+bad_artstation_id,5,372,
+atarashi_ako,4,372,
+alca_(wakatanka4),4,372,"alca,alcander_(gyee)"
+yamamoto_arifred,1,371,man_arihred
+wide_oval_eyes,0,371,
+uousa-ou,1,371,uousa
+sword_of_the_creator,0,371,
+smol_ame,4,371,
+ryomou_shimei,4,371,
+rantana_(lalalalackluster),1,371,
+qosic,1,371,
+popsicle_in_mouth,0,371,
+pokemon_on_lap,0,371,
+penis_over_eyes,0,371,
+parasoul_(skullgirls),4,371,
+parachute,0,371,
+okuri_banto,1,371,
+noto_kurumi,1,371,"d-slash,mitsurugi_aoi"
+mullet,0,371,
+mihama_chiyo,4,371,
+jigatei_(omijin),1,371,omijin
+ikayaki,0,371,
+dawn,0,371,
+crotchless_pantyhose,0,371,
+cassidy_(overwatch),4,371,"cole_cassidy,jesse_mccree,mccree_(overwatch)"
+caren_hortensia_(amor_caren),4,371,
+blvefo9,1,371,aoi_tsunami
+ayunda_risu,4,371,
+ayasaki_hayate,4,371,
+atelier_live,3,371,
+amada_ken,4,371,ken_amada
+agent_(girls'_frontline),4,371,agent_(girls_frontline)
+yakusoku_no_neverland,3,370,the_promised_neverland
+yagami_light,4,370,
+snowboard,0,370,
+saratoga_(azur_lane),4,370,
+saileach_(arknights),4,370,
+ruru_amour,4,370,lulu_(precure)
+riding_bicycle,0,370,
+ransusan,1,370,
+quad_drills,0,370,
+nikki_kyousuke,1,370,dandhun_puku
+nathaniel_pennel,1,370,
+mayonnaise,0,370,
+marcille,4,370,
+magowasabi,1,370,
+lum_(cosplay),0,370,
+lady_maria_of_the_astral_clocktower,4,370,
+kobushi_abiru,4,370,
+kedama_(touhou),4,370,kedama
+katou_danzou_(fate),4,370,katou_danzou_(fate/grand_order)
+igayan,1,370,igakusei
+height,0,370,
+frenda_seivelun,4,370,
+fjsmu,1,370,
+dome,0,370,
+crater,0,370,
+black_bandeau,0,370,
+arisaka_ako,1,370,
+amazon_position,0,370,
+aa-12_(girls'_frontline),4,370,aa-12_(girls_frontline)
+a.x.,1,370,lvax1
+yamabuki_(yusuraume),1,369,suu-mi
+white_babydoll,0,369,
+weapon_merchant_cattleya,4,369,
+wataboku,1,369,
+verone_gakuin_school_uniform,0,369,
+ume_(noraneko),1,369,
+tyone,1,369,
+tenako_(mugu77),1,369,"atorumu,nurikabu_(9wa)"
+shishi_juuroku,1,369,shishi_(321_0819)
+sasahara_wakaba,1,369,
+peanuts,3,369,
+panties_over_garter_belt,0,369,
+pajamas_pull,0,369,
+okame_nin,1,369,okametp
+nyamota,1,369,
+nice_nature_(run&win)_(umamusume),4,369,
+nababa,1,369,"arata_yokoyama,panama_(artist)"
+monster_hunter_portable_3rd,3,369,
+magical_sapphire,4,369,
+libre,1,369,
+j@ck,1,369,
+iwasama_masami,4,369,iwasawa
+idw_(girls'_frontline),4,369,idw_(girls_frontline)
+hiroya_juuren,1,369,
+hatsunatsu,1,369,
+hamaken._(novelize),1,369,kengorou_saemon_ii_sei
+frilled_straps,0,369,
+firefighter,0,369,fireman
+ebimomo,1,369,polo_(pixiv1844541)
+chapayev_(azur_lane),4,369,
+cape_removed,0,369,
+black_jumpsuit,0,369,
+aningay,1,369,
+video_game_cover,0,368,game_cover
+treasure,0,368,
+tokimeki_memorial_2,3,368,
+sugano_manami,1,368,
+sprite,0,368,"game_sprite,sprites"
+saxophone,0,368,
+richelieu_(azur_lane),4,368,
+print_ribbon,0,368,
+poaro,1,368,
+nebula,0,368,
+mahira_(granblue_fantasy),4,368,makira_(granblue_fantasy)
+lisia_(pokemon),4,368,lucia_(pokemon)
+jiangshi_costume,0,368,
+harris_hero,1,368,
+gomipomi,1,368,"gomigomipomi,wong_ying_chee"
+gake_no_ue_no_ponyo,3,368,ponyo_on_the_cliff_by_the_sea
+fur-trimmed_bikini,0,368,
+ekita_kuro,1,368,"ekira_nieto,ekita_xuan"
+collei_(genshin_impact),4,368,
+cheese_trail,0,368,
+bural_chingu,3,368,
+bowwow_(hamju94),1,368,
+akaga_hirotaka,1,368,
+:s,0,368,
+wave_hair_ornament,0,367,
+usagihime,1,367,
+to_heart_2_ad,3,367,
+tarutaru,0,367,
+speh,1,367,john_ly
+satou_jun,4,367,
+saru_getchu,3,367,ape_escape
+sakurai_rihoko,4,367,
+sakakiba_misogi,1,367,
+saga_frontier,3,367,
+racing,0,367,race
+pixie_cut,0,367,
+orca_hood,0,367,
+noripro,3,367,
+lava_(arknights),4,367,
+kurotofu,1,367,
+kurogarasu,1,367,
+kodamari,1,367,
+kamaboko,0,367,
+hatsumoude,0,367,
+hat_tug,0,367,
+hamuzou,4,367,
+gatchaman_crowds,3,367,
+garnet,1,367,
+energy_barrier,0,367,force_field
+cyphers,3,367,
+convertible,0,367,
+cheek_rest,0,367,
+cassock,0,367,
+bouncing_penis,0,367,
+autofacial,0,367,self_facial
+acolyte_(ragnarok_online),4,367,
+zdrada_(helltaker),4,366,
+v4x,0,366,
+tsukimori_usako,1,366,
+takeshima_eku,1,366,takeshima_(nia)
+skyfire_(arknights),4,366,
+scary_monsters_(stand),4,366,scary_monster_(stand)
+ring_box,0,366,
+rindou_(p41neko),1,366,
+rice_cooker,0,366,
+red_sports_bra,0,366,
+puyo_(puyopuyo),4,366,
+postbox_(outgoing_mail),0,366,"mail_collection_box,postbox"
+plaid_shorts,0,366,
+miles_edgeworth,4,366,mitsurugi_reiji
+merc_storia,3,366,
+matoyama,1,366,
+maromi_(am97),1,366,
+lenalee_lee,4,366,
+jun_(aousa0328),1,366,jun_(540000000000000)
+incoming_punch,0,366,punching_at_viewer
+hunter_(ragnarok_online),4,366,
+holding_scroll,0,366,
+h&k_ump45,0,366,
+gold_coin,0,366,
+dark_halo,0,366,
+comic_kairakuten,3,366,
+bow_skirt,0,366,
+zan_(harukahime),1,365,
+yukikaze_(azur_lane),4,365,
+wild_geese,4,365,
+tem10,1,365,
+suujiniku,1,365,suushiki
+snm_(sunimi),1,365,inaba_sunimi
+shimatani_azu,1,365,
+ringo_sui,1,365,
+refeia,1,365,
+red_wine,0,365,
+person_between_breasts,0,365,
+pascal_(tales),4,365,pascal
+murakami_yuichi,1,365,murakami_yuzu
+makihitsuji,1,365,roll_okashi
+love_cacao,1,365,
+leopard_(yatterman),4,365,
+krudears,1,365,
+kankitsunabe_(citrus),1,365,
+izayoi_sakuya_(cosplay),0,365,
+hxd,1,365,
+ha-ru,1,365,
+europa_(granblue_fantasy),4,365,
+deku_suke,1,365,
+dating,0,365,
+claire_redfield,4,365,
+chastity_belt,0,365,
+blue_outline,0,365,
+bang-you,1,365,
+architect_(girls'_frontline),4,365,architect_(girls_frontline)
+aqua_leotard,0,365,
+adachi_to_shimamura,3,365,adachi_and_shimamura
+yoekosukii,1,364,
+whitesmith_(ragnarok_online),4,364,mastersmith_(ragnarok_online)
+waffle,0,364,waffles
+takakamo_shizuno,4,364,
+snowball22,1,364,
+self-portrait,5,364,self_portrait
+sasasegawa_sasami,4,364,
+project_diva_f,3,364,
+playstation_vita,0,364,"ps_vita,psvita"
+piukute062,1,364,
+nopon,0,364,
+merryweather,1,364,
+kuja,4,364,
+ketchup_bottle,0,364,
+kenjou_akira,4,364,
+jahy-sama_wa_kujikenai!,3,364,"jahy_sama_wa_kujikenai,the_great_jahy_will_not_be_defeated!"
+irohara_mitabi,1,364,"rby,shikihara_mitabi"
+houndoom,4,364,
+hippopotamus_(kemono_friends),4,364,
+grim_(azur_lane),4,364,
+gardenia_(pokemon),4,364,natane_(pokemon)
+funnels_(gundam),0,364,funnels
+barding,0,364,horse_armor
+baku-p,1,364,baku_ph
+at_gunpoint,0,364,gunpoint
+ai-wa,1,364,
+yuusha_ou_gaogaigar,3,363,"brave_king_gaogaigar,king_of_braves_gaogaigar"
+windows,3,363,
+sophitia_alexandra,4,363,
+shinmai_(kyata),1,363,kyata
+sekiya_asami,1,363,
+ooba_minori,4,363,
+narmaya_(summer)_(granblue_fantasy),4,363,
+mizusawa_mao,4,363,
+lucca_ashtear,4,363,
+little_witch_nobeta,3,363,
+kidou_keisatsu_patlabor,3,363,"mobile_police_patlabor,patlabor"
+kaf_(kamitsubaki_studio),4,363,
+jilu,1,363,
+hitoto,1,363,
+hermit_purple,4,363,
+four_of_a_kind_(touhou),0,363,
+fate/extella_link,3,363,
+ez6,1,363,
+empty_pool,0,363,
+cornrows,0,363,
+comic_kairakuten_beast,3,363,
+baba_arumi,1,363,
+alisa_southerncross,4,363,
+aki_(neyuki41028),1,363,
+agent_3_(splatoon),4,363,
+zero_(drag-on_dragoon),4,362,
+yami_to_boushi_to_hon_no_tabibito,3,362,yamibou
+tasting,0,362,
+suneate,0,362,
+starting_future_(umamusume),0,362,common_race_outfit_(umamusume)
+shino_(eefy),1,362,
+sad_smile,0,362,
+ring-con,0,362,
+pepe_(jonasan),1,362,
+nekopuchi,1,362,
+loose_bikini,0,362,
+kiikii_(kitsukedokoro),1,362,
+kayabakoro,1,362,
+kagami_uekusa,1,362,do_(taka)
+jabami_yumeko,4,362,
+ipad,0,362,
+huqu,1,362,
+hockey_mask,0,362,
+hechi,1,362,
+headshop,5,362,
+giraffe_(ilconte),1,362,
+choukai_kai_ni_(kancolle),4,362,
+bandana_over_mouth,0,362,
+atalanta_alter_(fate),4,362,atalanta_(alter)_(fate)
+yue_(chinese_wife_diary),4,361,
+walkure_romanze,3,361,
+topu,1,361,tttanggvl
+tomo_(sjim),1,361,
+threo_(granblue_fantasy),4,361,"sarasa_(granblue_fantasy),thalatha_(granblue_fantasy)"
+sky:_children_of_the_light,3,361,
+satsuki_neko,1,361,
+samegami,1,361,nagomi_no_ame
+ryuuzaki_ichi,1,361,ryuuzaki_itsu
+prison_cell,0,361,jail_cell
+pinup_(style),0,361,
+okkotsu_yuuta,4,361,
+nyanko_daisensou,3,361,"battle_cats,the_battle_cats,the_battle_cats"
+nori_(hidamari_sketch),4,361,nori
+nac000,1,361,
+mejiro_ardan_(umamusume),4,361,
+komichi_aya,4,361,
+ikea_shark,0,361,blahaj
+hirano_toushirou,4,361,
+green_sweater_vest,0,361,
+green_heart,4,361,
+goodsmile_company,3,361,
+fukae_(kancolle),4,361,fukae_(kantai_collection)
+diisuke,1,361,
+deadpool,4,361,
+character_cutout,0,361,
+aqua_sailor_collar,0,361,
+virtua_fighter,3,360,
+uni_create,3,360,uni_channel
+uesugi_fuutarou,4,360,
+traffic,0,360,
+super_zombie,1,360,
+studiozombie,1,360,
+snow_white,3,360,
+shimakaze_(azur_lane),4,360,
+shakemi_(sake_mgmgmg),1,360,
+protagonist_(smtv),4,360,
+paint_roller,0,360,
+nagineko,1,360,
+mosako,1,360,
+miyasaka_ryou,4,360,
+milly_ashford,4,360,millay_ashford
+long_fingers,0,360,
+leotard_peek,0,360,
+lei_fang,4,360,leifang
+horikou,1,360,
+grief_seed,0,360,
+gggg,1,360,
+fujiwara_akina,1,360,
+fallen_angel,0,360,
+dies_irae,3,360,
+chisel,0,360,
+chiester_sisters,4,360,siesta_sisters
+catria_(fire_emblem),4,360,"catria,katua"
+breath_of_fire_iv,3,360,
+black_outline,0,360,
+bandaid_on_neck,0,360,
+ayuma_sayu,1,360,ayuma_sayori
+ayase_arisa,4,360,
+arutera,1,360,
+amano_chiharu,1,360,
+aku_no_musume_(vocaloid),3,360,aku_no_musume
+adjusting_bra,0,360,
+you_(noanoamoemoe),1,359,
+silver_background,0,359,
+re:act,3,359,
+pun2,1,359,ayase08
+penis_on_head,0,359,
+nyotengu,4,359,
+nebusoku,1,359,
+natsuumi_manatsu,4,359,
+mizushina_minato,1,359,
+mirai_hikari,1,359,miraihikariart
+manboobs,0,359,
+lilligant,4,359,
+landmark,0,359,
+koikatsu_(medium),5,359,koikatu
+kiyomin,1,359,
+kanta_(kanta_077),1,359,
+kaibutsu_oujo,3,359,"monster_princess,princess_resurrection"
+joltik,4,359,
+hijiri_tsukasa,1,359,
+hero's_daughter_(dq5),4,359,
+gumroad_username,0,359,
+fud,1,359,
+f7(eiki),1,359,
+colette_brunel,4,359,collet_brunel
+chagen_kokimu,1,359,sdmaiden
+celty_sturluson,4,359,sturluson_celty
+brushing_another's_hair,0,359,
+akinaie,1,359,hijiri
+2ch,3,359,
+yomi_(senran_kagura),4,358,
+torimaru,1,358,
+titanfall_(series),3,358,
+siu_(siu0207),1,358,aogi_(pixiv9459043)
+serperior,4,358,
+seikon_no_qwaser,3,358,the_qwaser_of_stigmata
+pussy_cutout,0,358,
+pink_sash,0,358,pink_obi
+penetration_gesture,0,358,
+nyoro~n,0,358,
+nyon_(cookie),4,358,
+nonoririn,1,358,
+nitocris_(swimsuit_assassin)_(second_ascension)_(fate),4,358,
+multiple_insertions,0,358,
+mother's_day,0,358,
+mifune_shioriko,4,358,
+meis_(terameisu),1,358,
+mathias_leth,1,358,mr_sweden
+lucifer_(umineko),4,358,
+kuguri_oimo,1,358,oimo
+kudelia_aina_bernstein,4,358,
+kitakami_reika,4,358,
+kim_eb,1,358,limobok
+ibuki_douji_(fate),4,358,
+holocouncil,0,358,
+hole_on_body,0,358,
+franka_(arknights),4,358,
+flat_screen_tv,0,358,
+evolution,0,358,
+erio_mondial,4,358,elio_mondial
+disneyland,3,358,
+deego_(omochi_bazooka),1,358,dgo
+collar_tug,0,358,
+chimera,0,358,
+bike_shorts_pull,0,358,
+baram,1,358,
+alpaca,0,358,
+71,1,358,
+yuizaki_kazuya,1,357,
+vomit,0,357,
+tiger_paws,0,357,
+suzumiya_haruhiko,4,357,
+sharena_(fire_emblem),4,357,sharena
+ruri_rarako,1,357,
+riko_(made_in_abyss),4,357,
+penis_tentacles,0,357,
+palla_(fire_emblem),4,357,paola
+obui,1,357,
+nyoro_(nyoronyoro000),1,357,nyoronyoro
+nier_(granblue_fantasy),4,357,
+misono_karin,4,357,
+meiou_setsuna,4,357,meioh_setsuna
+masuyama_ryou,1,357,
+little_bel_(azur_lane),4,357,belchan_(azur_lane)
+licking_another's_cheek,0,357,"cheek_lick,cheek_licking,licking_cheek"
+kurowa,1,357,
+kink_(tortoiseshell),1,357,kink
+kadeart,1,357,k@de
+ina_(1813576),1,357,
+hayakawa_harui,1,357,
+green_tunic,0,357,
+greatm8,1,357,
+cycling_uniform,0,357,
+clitoris_slip,0,357,"clit_slip,clitslip"
+butterfree,4,357,
+blazpu,1,357,
+big_hero_6,3,357,
+beige_vest,0,357,
+:<>,0,357,
+zaphn,1,356,
+yakumo_yukari_(young),4,356,lolikari
+wario,4,356,
+takehana_note,1,356,
+sliding,0,356,
+sakura_hiyori,1,356,
+ryu_(ryu's_form_site),1,356,ryu_(ryu's_former_site)
+naegi_komaru,4,356,
+mosin-nagant,0,356,
+monobe_yuri,1,356,monobe-moriya
+mobius_(honkai_impact),4,356,
+misaki_mei,4,356,
+millennium_puzzle,0,356,
+mikleo_(tales),4,356,
+miazi,1,356,
+meowfficer_(azur_lane),4,356,
+maiku,1,356,
+kuroonehalf,1,356,
+kuromorimine_(emblem),0,356,
+kamen_rider_kuuga_(series),3,356,
+jormungand,3,356,
+hayama_kazusa,1,356,ogin_bara
+haku_(p&d),4,356,
+gotou_hisashi,1,356,
+fin_e_ld_si_laffinty,4,356,"fin_ay_ludo_sui_lavinty,lan_(lagrange)"
+essex_(azur_lane),4,356,
+diyusi_(cookie),4,356,
+diving_suit,0,356,
+cuddling_handjob,0,356,
+chorimokki,1,356,
+cardiogram,0,356,"ekg,electrocardiogram,heart_monitor"
+brown_hakama,0,356,
+wolf_paws,0,355,
+unicorn_gundam,4,355,
+touyoko_momoko,4,355,
+tokiomi_tsubasa,1,355,
+tokido_saya,4,355,
+tamura_manami,4,355,
+taiyou_(kancolle),4,355,taiyou_(kantai_collection)
+see-through_sarong,0,355,translucent_sarong
+saigyouji_yuyuko_(living),4,355,
+saigyou_ayakashi,4,355,
+rindou_(radical_dream),1,355,rindou_aya
+plague_doctor_mask,0,355,
+panda_costume,0,355,
+observerz,1,355,babycat
+moon_phases,0,355,lunar_phases
+mizuki_kotora,1,355,akatsuki_mao
+megatron,4,355,
+matsushita_yuu,1,355,
+lancelot_(fate/zero),4,355,
+koh_(minagi_kou),1,355,terabyte_(rook777)
+himuro_shunsuke,1,355,himuro_(dobu_no_hotori)
+haruichi_(komikal),1,355,haruichi
+greenhouse,0,355,
+gomu_(chewinggom),1,355,go-m
+fujiwara_hajime,4,355,
+dosugon,1,355,
+dannex009,1,355,
+chousoku_henkei_gyrozetter,3,355,
+caeda_(fire_emblem),4,355,"caeda,sheeda"
+ayanami_rei_(cosplay),0,355,
+alexmaster,1,355,
+yuzuruka_(bougainvillea),1,354,
+yuki_onna,0,354,
+x_fingers,0,354,
+walking_away,0,354,
+valkyrie_(apex_legends),4,354,
+tan_(inka),1,354,tan3charge
+starmie,4,354,
+squat_toilet,0,354,
+sookmo,1,354,
+shigatsu_wa_kimi_no_uso,3,354,your_lie_in_april
+shaymin_(land),4,354,
+peeking_through_fingers,0,354,
+oosaka_kanagawa,1,354,osaka_kanagawa
+nisshin_(kancolle),4,354,nisshin_(kantai_collection)
+nippon_ichi,3,354,
+natsu_no_koucha,1,354,
+mono_(moiky),1,354,mono1192000
+momendoufu,1,354,"bullseye1203,paburisiyasu"
+m16a1,0,354,
+lampshade,0,354,
+label_girl_(dipp),4,354,labelko
+kurokuro,1,354,
+kazeno,1,354,
+kamo_kamen,1,354,
+japari_bus,0,354,
+ibaraki_natou,1,354,"ibaraki_natouu,ibarashiro_natou"
+haruki_(colorful_macaron),1,354,haruki_5050
+handsome_wataru,1,354,handsomen
+gyate_gyate,0,354,ohayou_(meme)
+frieza,4,354,freeza
+erica_(naze1940),1,354,
+dermar,1,354,
+daijoubu?_oppai_momu?,0,354,
+cum_on_floor,0,354,
+croissant_(arknights),4,354,
+common_dolphin_(kemono_friends),4,354,
+chieru_(princess_connect!),4,354,kazama_chieru
+charlotte_corday_(fate),4,354,charlotte_corday_(fate/grand_order)
+bus_interior,0,354,inside_bus
+bad_arm,0,354,
+ark_royal_(azur_lane),4,354,
+akiyama_mizuki,4,354,
+aina_(mao_lian),4,354,"tu_ya_(mao_lian),tu_ya_(nekoze)"
+yuri_petrov,4,353,
+wlop,1,353,wang_ling
+undone_sarashi,0,353,
+tetsurou_(fe+),1,353,
+teepo_(tales),4,353,tipo_(xillia)
+takino_tomo,4,353,
+suna_no_wakusei_(vocaloid),3,353,
+stuffed_octopus,0,353,
+sorani_(kaeru0768),1,353,
+silica_(sao-alo),4,353,
+selfie_stick,0,353,
+seiya_kou,4,353,
+ro-class_destroyer,4,353,
+ribbon_panties,0,353,
+oz_(genshin_impact),4,353,
+onodera_kosaki,4,353,
+olivia_(fire_emblem),4,353,
+nunucco,1,353,
+niko_(tama),1,353,
+mysta_rias,4,353,
+matatabi_(2ccp),1,353,
+marumoru,1,353,
+latifa_fleuranza,4,353,
+kyuuso_inukami,1,353,inuhasiru
+kuronyan,1,353,
+jan_(lightdragoon),1,353,jan_(artist)
+in_heat,0,353,
+homura_(senran_kagura),4,353,
+fujoshi,0,353,
+flx,1,353,
+female_goblin,0,353,goblin_female
+elysia_(miss_pink_elf)_(honkai_impact),4,353,elysia_(miss_pink_elf)
+dlanor_a._knox,4,353,dlanor_a_knox
+digital_thermometer,0,353,
+digimon_adventure_02,3,353,digimon_adventures_02
+crown_hair_ornament,0,353,
+asari_nanami,4,353,
+angela_(seiken_densetsu_3),4,353,
+alchemist_(ragnarok_online),4,353,
+aila_jyrkiainen,4,353,
+yen_sign,0,352,yen_symbol
+tsukahara_hibiki,4,352,
+tera_zip,1,352,
+shidou_irina,4,352,
+seaplane,0,352,
+rotom_dex,4,352,
+rom_(20),1,352,
+reinama,1,352,
+raiden_(metal_gear),4,352,raiden
+plaid_trim,0,352,
+pink_check_school_(idolmaster),0,352,pink_check_school
+pac-man_(game),3,352,pacman_(game)
+naruse_hirofumi,1,352,hirofumi_naruse
+mikura_(kancolle),4,352,mikura_(kantai_collection)
+living_room,0,352,
+kita_senri,1,352,kita_senri_(artist)
+kagerou_(kers),1,352,
+inoue_jun'ichi,4,352,
+hirose_yasuho,4,352,
+hakai_shin,1,352,
+gorgon_(fate),4,352,
+froakie,4,352,
+filming,0,352,
+felix_hugo_fraldarius,4,352,
+dars_(recolors),1,352,"lieass,ssaeil"
+cum_in_cup,0,352,cum_in_glass
+chm_(macharge),1,352,mirai_(macharge)
+checkered_bikini,0,352,
+camus_(dq11),4,352,
+bakugadou,1,352,
+asuzemu,1,352,
+aestheticc-meme,1,352,
+zumi_(zumidraws),1,351,
+zekrom,4,351,
+yuubari_kai_ni_(kancolle),4,351,
+victory_gundam,3,351,
+uneg,1,351,
+team_skull_grunt,4,351,
+soramuko,1,351,
+sanpachishiki_(gyokusai-jima),1,351,sanpatisiki
+relay_baton,0,351,
+prywinko,1,351,olga_narhova
+print_pajamas,0,351,
+piyodesu,1,351,
+pandemonica_(helltaker),4,351,
+nenobi_(nenorium),1,351,neno_(nenorium)
+ne-class_heavy_cruiser,4,351,
+mia_(gute-nacht-07),1,351,
+melina_(elden_ring),4,351,
+marui_koishi,1,351,
+marble_(toy),0,351,"marble,marbles"
+mana_(tsurubeji),1,351,
+koyashaka,1,351,koyashaka59
+konayama_kata,1,351,tozcwn
+kemomimi_oukoku_kokuei_housou,3,351,kemomimi_vr_channel
+kai'sa,4,351,
+kageyama_shigeo,4,351,
+ikuno_dictus_(umamusume),4,351,ikuno_dictus
+honey_come_chatka!!,3,351,
+holding_mop,0,351,
+holding_magnifying_glass,0,351,
+hidan_no_aria,3,351,aria_the_scarlet_ammo
+hayama_eishi,1,351,
+haruka_(senran_kagura),4,351,
+hamaguchi_ayame,4,351,
+death-sensei_(mori_calliope),4,351,
+celtic_knot,0,351,
+ayaya~,0,351,
+album_cover_redraw,5,351,
+white_garter_belt,0,350,
+twilight_sparkle,4,350,
+tsukuyomi_moonphase,3,350,tsukuyomi
+strike_witches_zero,3,350,
+south_dakota_(azur_lane),4,350,
+shez_(fire_emblem),4,350,
+sekai_saisoku_no_panda,1,350,
+sakurame,1,350,
+sableye,4,350,
+pija_(pianiishimo),1,350,
+okita_j._souji_(first_ascension)_(fate),4,350,
+nikichen,1,350,"nikita_varb,xxnikichenxx"
+nidy,1,350,2d
+nagayama_yuunon,1,350,sakuraboshi_sora
+mole_on_shoulder,0,350,
+meteor,0,350,
+koito_yuu,4,350,
+kazu_(muchuukai),1,350,
+kageshio_(276006),1,350,
+irohara,1,350,irohasu
+implied_pregnancy,0,350,
+horned_mask,0,350,
+heroman,3,350,
+hero_neisan,1,350,
+gokuu_(acoloredpencil),1,350,
+fluorescent_lamp,0,350,
+dos_(james30226),1,350,dos_(artist)
+daifuku_(yukihana_lamy),4,350,
+cello,0,350,violoncello
+blue_jumpsuit,0,350,
+ada_wong,4,350,
+95-tan,4,350,95
+xenoblade_chronicles_2:_torna_-_the_golden_country,3,349,"xenoblade_2:_ogon_no_kuri_ira,xenoblade_2:_ougon_no_kuni_iira,xenoblade_chronicles_2:_torna_the_golden_country"
+water_balloon,0,349,
+unhappy,0,349,
+takayama_haruka,4,349,
+takasugi_shinsuke,4,349,
+suu_(monster_musume),4,349,
+sturm_(granblue_fantasy),4,349,
+slowpoke,4,349,
+senran_kagura_new_link,3,349,
+senji_(tegone_spike),1,349,oyu_(nibasen)
+sakurai_makoto_(custom_size),1,349,"custom_size,s_makoto"
+riliane_lucifen_d'autriche,4,349,
+ogin_(girls_und_panzer),4,349,
+miya_(miyaruta),1,349,miya_(pixiv15283026)
+microsoft,3,349,
+liquor,0,349,
+kunashiri_(kancolle),4,349,kunashiri_(kantai_collection)
+kodachi_(kuroyuri_shoukougun),1,349,re_kodachi
+kamen_rider_01_(series),3,349,
+inuzumi_masaki,1,349,
+inoshira,1,349,
+hebitsukai-san,1,349,
+headbutt,0,349,
+grayfia_lucifuge,4,349,
+biyon,1,349,
+bikini_day,0,349,
+battle_girl_high_school,3,349,
+akabane_(zebrasmise),1,349,
+yukian,1,348,
+yasuda_akira,1,348,akiman
+vox_akuma,4,348,
+tier_harribel,4,348,"tia_halibel,tia_harribel"
+takayama_sayoko,4,348,
+super_blackjack,3,348,super_black_jack
+spiked_hairband,0,348,
+somechime_(sometime1209),1,348,
+shirogane_hina,1,348,
+sayakata_katsumi,1,348,
+ruined_for_marriage,0,348,
+orange_coat,0,348,
+ojisan_to_marshmallow,3,348,
+no_thank_you!,0,348,no_thank_you
+new_jersey_(exhilarating_steps!)_(azur_lane),4,348,
+nagu,1,348,
+mikoko_(kemomimi_oukoku_kokuei_housou),4,348,mikoko_(kemomimi_vr_channel)
+metal,0,348,
+medarot,3,348,"medabots,medarots"
+maett,1,348,
+mabing,1,348,mabingame
+lime_slice,0,348,
+kashima_yuu,4,348,
+jeanne_d'arc_alter_(avenger)_(first_ascension)_(fate),4,348,
+harumachi_nagaaki,1,348,
+gunpod,0,348,
+gar32,1,348,tegar32
+fire_extinguisher,0,348,
+cymbals,0,348,cymbal
+cosaten,1,348,
+cliffheart_(arknights),4,348,
+cd_case,0,348,jewel_case
+big_bad_wolf_(grimm),4,348,
+alexander_(fate),4,348,
+zagreus_(hades),4,347,
+you_work_you_lose,0,347,
+yoshida_masaki,4,347,
+yellow_umbrella,0,347,
+ump40_(girls'_frontline),4,347,ump40_(girls_frontline)
+tokiwa_midori_(kyokutou_funamushi),1,347,
+toad_(mario),4,347,toad
+tenten_(naruto),4,347,tenten
+target,0,347,
+swablu,4,347,
+songover,0,347,
+shennong_(housamo),4,347,shennong_(tokyo_houkago_summoners)
+shamare_(arknights),4,347,
+sakura_taisen_iii,3,347,
+remodel_(warship_girls_r),0,347,
+red_bull,3,347,
+pixiv_fantasia_4,3,347,
+nonowa,4,347,
+nihilego,4,347,
+naked_necktie,0,347,
+minccino,4,347,chillarmy
+miku_symphony_(vocaloid),3,347,
+mass_effect_(series),3,347,
+mashima_shima,1,347,
+lunacle,1,347,
+ko~cha,1,347,
+kippuru,1,347,
+hinahino,1,347,
+changpao,0,347,
+book_focus,0,347,
+blue_mary,4,347,
+black_general,4,347,
+basil_(omori),4,347,
+yoye_(pastel_white),1,346,masiroke
+yamauchi_noriyasu,1,346,
+tuteurfars_shin,1,346,chenqianhu
+steed_(steed_enterprise),1,346,steed_enterprise
+sneasel,4,346,
+single_garter_strap,0,346,
+simulacrum_(titanfall),0,346,
+sekaiju_no_meikyuu_2,3,346,etrian_odyssey_ii
+sabamen,1,346,
+re:shimashima,1,346,shimashima08123
+puuakachan,1,346,
+poppy_(league_of_legends),4,346,poppy
+miyauchi_renge,4,346,
+me!me!me!,3,346,
+mashayuki,1,346,
+maribel_(dq7),4,346,
+krekkov,1,346,krekk0v
+kisaragi_zwei,1,346,
+kem_kem,1,346,
+kamen_rider_build_(series),3,346,
+kagura_mea,4,346,
+jester,0,346,
+izuna_(swimsuit)_(blue_archive),4,346,
+ikari_gendou,4,346,"ikari_gendo,ikari_gendoh"
+gag_removed,0,346,
+forest_(4423),1,346,forestss
+ehrrr,1,346,
+druaga_no_tou,3,346,tower_of_druaga
+dean_(momodean),1,346,dean
+citron_82,1,346,sanmi_kigen
+cirno_day,0,346,
+checkered_neckwear,0,346,checkered_necktie
+bike_jersey,0,346,bicycle_jersey
+arsene_lupin_iii,4,346,
+arcane_jinx,4,346,
+ancient_princess_menace,4,346,
+akaza,1,346,
+wheat_field,0,345,
+tales_of_eternia,3,345,
+shuuko_(s_h_uuko),1,345,s_h_uuko
+shoe_removed,0,345,
+shikei,1,345,
+sela_(23),4,345,"23's_dark-skinned_girl,dark-skinned_girl_(23),real_xxiii's_dark_skinned_girl"
+sabitsuki,4,345,
+peke,4,345,
+ogros,1,345,
+nochita_shin,1,345,"hetaling,shin_(hetaling)"
+murakami_(girls_und_panzer),4,345,
+mishima_hiroji,1,345,
+mahou_shoujo_lyrical_nanoha_the_movie_2nd_a's,3,345,
+last_exile,3,345,
+kuroemon,1,345,
+kujou_danbo,1,345,
+kirara_fantasia,3,345,
+kaoling,1,345,caramell0501
+irua,1,345,
+ips_cells,0,345,science_babies
+horn_(instrument),0,345,
+harukigenia,1,345,
+futanari_pov,0,345,
+flynn_scifo,4,345,
+felix_argyle,4,345,ferris_(re:zero)
+core_(mayomayo),1,345,core_(artist)
+beeswax_(arknights),4,345,
+bakery,0,345,
+azki_(hololive),4,345,
+anceril_sacred,4,345,ancer_(mishima_kurone)
+amano_pikamee,4,345,
+akatsuki_kai_ni_(kancolle),4,345,
+aka_tawashi,1,345,
+yoshimoto_(dear_life),1,344,aguy
+unyu,0,344,
+trapped,0,344,
+tategami_aoi,4,344,
+taishi_(moriverine),1,344,
+super_saiyan_4,0,344,
+seren_(staphy),1,344,
+see-through_swimsuit,0,344,
+saturn_(planet),0,344,
+ryota_(ry_o_ta),1,344,hakura_kusa
+robin_(arknights),4,344,
+recursion,0,344,droste_effect
+pen_(medium),0,344,
+necro_(guilty_gear),4,344,
+monster_strike,3,344,
+momose_rio,4,344,
+miyao_miya,4,344,
+mayura2002,1,344,
+looking_at_food,0,344,
+lightsource,1,344,
+light_cruiser_oni,4,344,
+ikkyuu,1,344,
+hokuto_(scichil),1,344,
+hazuki_natsu,1,344,
+hay,0,344,
+griffith_(berserk),4,344,
+grey_eyeshadow,0,344,
+goalkeeper,0,344,
+gengoroumaru_(ambidextrous),1,344,g_otto
+front_slit,0,344,
+fighter_(7th_dragon),4,344,
+dj,0,344,
+daimaou_ruaeru,1,344,"renkarua,spinel_clanweiss_(artist)"
+coffee_beans,0,344,
+call_of_duty,3,344,
+broken_mirror,0,344,
+big_boss,4,344,
+azuma_(azur_lane),4,344,
+asahina_mafuyu,4,344,
+aoi_manabu,1,344,manabu_aoi
+xiao_wu_(douluo_dalu),4,343,
+tachikawa_mimi,4,343,
+striped_clothes,0,343,
+spike_spiegel,4,343,
+sorey_(tales),4,343,
+soba_(saz),1,343,
+shigure_asa,4,343,
+razor,0,343,
+rakurakutei_ramen,1,343,raku_pix
+raika9,1,343,
+peacock_(skullgirls),4,343,
+oyatsu_(mk2),1,343,
+orie_(under_night_in-birth),4,343,
+ningen_(ningen96),1,343,
+new_mask_of_hope,0,343,
+nanateru,1,343,"amagi_nanateru,tenjou_nanaki"
+music_video,5,343,
+matches,0,343,"match,matchstick"
+lobster,0,343,
+knifed,0,343,
+kisaragi_yuu_(fallen_sky),1,343,kisaragiyuu
+kaoruru_(sakuno2911),1,343,atobesakunolove
+ilsa_(granblue_fantasy),4,343,
+ichi_(ichikai),1,343,"ichi_(pixiv328685),ichikai"
+hitotose_rin,1,343,rensiusan
+hatsune_(princess_connect!),4,343,kashiwazaki_hatsune
+giraffe_horns,0,343,
+fuji_shinobu,1,343,studio_implant
+enrico_pucci,4,343,
+chidori_kaname,4,343,kaname_chidori
+captain_falcon,4,343,
+canal,0,343,
+boxing,0,343,
+bekotarou,1,343,
+atg_(wttoo0202),1,343,
+anzu_(o6v6o),1,343,
+zasshu,1,342,
+yepnean,1,342,
+yaotome_urushi,4,342,
+yagi_(ningen),1,342,
+tapir_ears,0,342,
+sorcerer_(ragnarok_online),4,342,
+silent_hill_2,3,342,
+short-sleeved_sweater,0,342,short_sleeve_sweater
+shauna_(pokemon),4,342,sana_(pokemon)
+servbot_(mega_man),4,342,"kobun,servbot"
+sandalphon_(granblue_fantasy),4,342,
+running_track,0,342,track
+riz,1,342,rizdraws
+rinpoo_chuan,4,342,katt_(breath_of_fire)
+rider-tan,0,342,
+razalor,1,342,
+presenting_foot,0,342,
+nozaki_umetarou,4,342,
+morizono_shiki,1,342,clock_(clockart)
+mizuhara_koyomi,4,342,
+mage_(ragnarok_online),4,342,
+lucknight,1,342,
+kuya_(hey36253625),1,342,
+kunihiro_hajime,4,342,
+koikawa_minoru,1,342,
+kino_(m6t2a),1,342,
+kimishima_ao,1,342,kimishima_junsei
+kawazoe_tamaki,4,342,
+jakuri_(ar_tonelico),4,342,"jacqli,jakuri,mir"
+hoozuki_(hoozuki_no_reitetsu),4,342,
+hanato_(seonoaiko),1,342,
+hanamiya_natsuka,1,342,
+eonsang,1,342,
+dolphin_hair_ornament,0,342,
+cyclone_(reizei),1,342,cyclone
+bad_bcy_id,5,342,
+yokoshima_(euphoria),1,341,
+yellow_tail,0,341,
+usatarou,1,341,
+urban,0,341,
+tomozero,1,341,
+tomoshibi_hidekazu,1,341,
+tetsujin_momoko,1,341,
+tennouboshi_uzume,4,341,
+shugao,1,341,
+shiina_noriko,4,341,
+senbon-zakura_(vocaloid),3,341,
+sasa_onigiri,1,341,
+riku_(rikkuru),1,341,riku_(pixiv)
+queen's_blade_grimoire,3,341,
+perseus_(unfamiliar_duties)_(azur_lane),4,341,perseus_(nursery_service_time)_(azur_lane)
+patterned_legwear,0,341,
+octoling_boy,4,341,
+night_elf_(warcraft),0,341,night_elf
+nemu_(nebusokugimi),1,341,
+monrooru,1,341,
+makkachin,4,341,
+lifeline_(apex_legends),4,341,
+krile_mayer_baldesion,4,341,
+holding_briefcase,0,341,
+growlithe,4,341,
+france,0,341,
+dorontabi,1,341,"mammos,mammoth9878"
+brighid_(xenoblade),4,341,kagutsuchi_(xenoblade)
+aya_shachou,1,341,"irodori_shachou,p/a"
+asahi_breweries,0,341,asahi_(beer)
+alice:_madness_returns,3,341,
+25-ji_night_code_de._(project_sekai),0,341,
+zafira,4,340,
+yu_mei-ren_(first_ascension)_(fate),4,340,
+white_corset,0,340,
+warlock_(ragnarok_online),4,340,
+wan'yan_aguda,1,340,wanyan_aguda
+volkner_(pokemon),4,340,"denji_(pokemon),denzi_(pokemon)"
+tuna,0,340,
+train_station_platform,0,340,
+takakura_shouma,4,340,
+slug,0,340,
+senmu_(0107),1,340,ninomae
+red_camisole,0,340,
+ranpha_franboise,4,340,
+persona_dancing,3,340,
+owari_akane,4,340,
+ocarina,0,340,
+noah_(tettsui-sole),1,340,noaharbre
+mochizuki_ryouji,4,340,mochizuki_ryoji
+minea_(dq4),4,340,minea
+midnight_(banyex),1,340,midnight_(artist)
+mashiro_(rikuya),1,340,
+leopard_boy,0,340,
+kane-neko,1,340,
+jinrui_wa_suitai_shimashita,3,340,"humanity_has_declined,jinrui_wa_suitaishimashita,jintai"
+irelia,4,340,
+inflatable_dolphin,0,340,inflatabledolphin
+ikeda_kazumi,1,340,
+hirabitai,0,340,
+hatsuzuki_527,1,340,
+grim_aloe,4,340,
+flower_choker,0,340,
+final_fantasy_ii,3,340,"ff2,ffii"
+doko_tetora,1,340,"koko_shiguma,koko_sigma"
+crisis_core_final_fantasy_vii,3,340,"crisis_core,final_fantasy_vii_crisis_core"
+blue_male_underwear,0,340,blue_underwear_(male)
+barbell,0,340,
+ariverkao,1,340,
+angel_girl_(shimmer),4,340,
+amane_ruri,1,340,
+yui_toshiki,1,339,toshiki_yui
+xter,1,339,xtermination
+weidashming,1,339,
+vertical_comic,0,339,
+ugoira_conversion,5,339,
+thompson_submachine_gun,0,339,tommy_gun
+takorice,1,339,
+symmetra_(overwatch),4,339,satya_vaswani
+societte_(granblue_fantasy),4,339,socie_(granblue_fantasy)
+short_braid,0,339,
+school_of_fish,0,339,
+prinz_heinrich_(azur_lane),4,339,
+ponsuke_(pon00000),1,339,
+poniko,4,339,
+pako_(pakosun),1,339,pako
+pac-man_eyes,0,339,pacman_eyes
+oberon_(third_ascension)_(fate),4,339,
+nishiuri,1,339,
+nekomusume_(gegege_no_kitarou_5),4,339,
+muffin_(sirumeria),1,339,sirumeria
+mizuki_(arknights),4,339,
+miyai_sen,1,339,miyai_max
+melona,4,339,
+mameshiba,1,339,
+luxray,4,339,
+kuro_no_kiseki,3,339,
+karin_(p&d),4,339,
+ishida_akira,1,339,
+i-47_(kancolle),4,339,i-47_(kantai_collection)
+hyakuhachi_(over3),1,339,
+hinase_(cookie),4,339,
+gununu,0,339,gumeme
+garland_(decoration),0,339,
+fjorm_(fire_emblem),4,339,fjorm_(fire_emblem_heroes)
+fengmo,1,339,
+ephraim_(fire_emblem),4,339,
+dreepy,4,339,
+darkrai,4,339,
+crotch_kick,0,339,groin_kick
+coyote_(kemono_friends),4,339,
+clueless,0,339,oblivious
+chocomiru,1,339,
+broly_(dragon_ball_z),4,339,broly
+body_pillow,0,339,
+barcode_scanner,0,339,
+arikawa_satoru,1,339,
+yukiu_con,1,338,"meltdown_comet,yukiame_kon,yukiu_kon"
+yuki_(popopo),1,338,
+yoon_cook,1,338,
+yamabuki_saaya,4,338,
+wattaro,1,338,
+volo_(pokemon),4,338,
+vice-versa_(skullgirls),4,338,
+underwear_theft,0,338,"panty_thief,underwear_thief"
+tome_of_the_night_sky,4,338,
+t-elos,4,338,
+super_saiyan_blue,0,338,super_saiyan_god_super_saiyan
+submission_hold,0,338,
+sou_(soutennkouchi),1,338,
+shirogane_miyuki,4,338,
+shake-o,1,338,
+sakura_empire_(emblem),0,338,
+pyukumuku,4,338,
+plackart,0,338,
+nontraditional_school_swimsuit,0,338,
+mine_fujiko,4,338,
+mikasa_(azur_lane),4,338,
+michelle_(bang_dream!),4,338,
+locomotive,0,338,
+lee-enfield_(girls'_frontline),4,338,lee-enfield_(girls_frontline)
+kurusugawa_ayaka,4,338,
+kanekiyo_miwa,1,338,
+kamille_bidan,4,338,camille_bidan
+kamata_yuuya,1,338,
+ikurauni,1,338,
+hinatsuki_mikan,4,338,
+harbor,0,338,harbour
+hand_on_another's_penis,0,338,
+fruit_tree,0,338,
+frilled_shawl,0,338,
+ebido,1,338,
+draenei,0,338,
+dorsiflexion,0,338,
+cum_bubble,0,338,
+cross_(crossryou),1,338,
+arceus,4,338,
+aqua_skin,0,338,
+apt,1,338,
+angel_mort,0,338,
+andou_mahoro,4,338,
+yuuyu_(777),1,337,
+wobbuffet,4,337,sonans
+ttomm,1,337,
+too_bad!_it_was_just_me!_(meme),0,337,too_bad!_it_was_just_me!
+tkgsize,1,337,
+tidsean,1,337,
+st._michael's_school_uniform,0,337,
+silence_glaive,0,337,
+severed_arm,0,337,
+ralts,4,337,
+polka_dot_pillow,0,337,
+piano_print,0,337,
+oyakodon_(sex),0,337,
+noren,0,337,
+myrrh_(fire_emblem),4,337,myrrh
+mitsudoue,1,337,
+mirror_image,0,337,
+minazuki_juuzou,1,337,
+merry_nightmare,4,337,
+kosshii_(masa2243),1,337,
+kos-mos_ver._4,4,337,
+knights_of_the_round_uniform,0,337,
+knife_holster,0,337,
+intertwined_tails,0,337,
+haga_yui,1,337,
+grumpy_nun_(diva),4,337,scowly_nun_(diva)
+franky_(one_piece),4,337,franky
+florence_nightingale_(trick_or_treatment)_(fate)_(cosplay),0,337,
+fbc,1,337,
+ech,1,337,
+diglett,4,337,
+diagonal-striped_neckwear,0,337,
+coin_rand,1,337,rand_(artist)
+clarevoir,1,337,flow_ech
+chocolate_chip_cookie,0,337,
+charin,1,337,
+butterfly_ornament,0,337,
+bonnie_(pokemon),4,337,eureka_(pokemon)
+bokutachi_wa_benkyou_ga_dekinai,3,337,we_never_learn
+akatsuki_hijiri,1,337,okatsukisei
+airisubaka,1,337,
+adjusting_leotard,0,337,
+zenkou,1,336,
+yuuki_(yuyuki000),1,336,youki_(yuyuki000)
+wing_brooch,0,336,
+unconnected_marketeers,3,336,
+tristana,4,336,
+suito,1,336,
+spongebob_squarepants,3,336,
+sato_ame,1,336,
+pidgey,4,336,
+ozen,4,336,
+nameless_dagger_(fate),0,336,nameless_dagger
+market,0,336,marketplace
+lord_of_vermilion,3,336,
+kurumi_(touhou),4,336,
+kamia_(not_found),1,336,not_found_(artist)
+incoming_drink,0,336,
+hololive_fantasy,0,336,
+grey_overalls,0,336,
+fruit_hat_ornament,0,336,
+force-feeding,0,336,"force_feeding,forcefeeding"
+foodgasm,0,336,
+crown_removed,0,336,
+core,0,336,slime_core
+breast_contest,0,336,
+bad_instagram_id,5,336,
+atoshi,1,336,"koti,yukimushi_(yukimushi_kaido)"
+arthropod_boy,0,336,insect_boy
+aoki_ume,1,336,
+adventurer_(ff14),4,336,
+zoroark,4,335,
+yakisoba,0,335,
+vector_(girls'_frontline),4,335,vector_(girls_frontline)
+ushiromiya_eva,4,335,
+take_it_home,0,335,
+swan,0,335,
+spiked_gauntlets,0,335,
+souza_samonji,4,335,
+shoshinsha_mark,0,335,beginner_driver_mark
+satoupote,1,335,potesara
+quiz_magic_academy_the_world_evolve,3,335,
+prolapse,0,335,
+pikmin_(creature),4,335,
+on_box,0,335,
+ogawa_shou,1,335,
+night_vision_device,0,335,night_vision_goggles
+nia_(nia4294),1,335,
+negahami,1,335,
+momo_(higanbana_and_girl),1,335,
+mayogii,1,335,
+masha,1,335,
+maken-ki!,3,335,maken-ki
+kurose_kousuke,1,335,"d=code,osusitan"
+kuro_(be_ok),1,335,minitesu
+kuragari,1,335,
+juuban_middle_school_uniform,0,335,
+hinagi_(fox_priest),1,335,"hinachii,u_nagidon"
+hands_on_thighs,0,335,
+foaming_at_the_mouth,0,335,
+ellen_(touhou),4,335,ellen
+demi-chan_wa_kataritai,3,335,interviews_with_monster_girls
+dark_precure,4,335,
+cleopatra_(fate),4,335,cleopatra_(fate/grand_order)
+blue_tabard,0,335,
+ashe_(league_of_legends),4,335,
+arizuka_(catacombe),1,335,arisawa_kuro
+anti_(0324),1,335,deneb_(noble324)
+agarest_senki_(series),3,335,
+abbystea,1,335,"aconitea,revolmxd"
+wakfu,3,334,
+uguisumaru,4,334,
+takanashi_souta,4,334,
+stop_sign,0,334,
+sorimura_youji,1,334,
+shoulder_grab,0,334,
+shoe_locker,0,334,shoe_lockers
+shirahane_nao,1,334,d_myo
+shinx,4,334,
+shared_blanket,0,334,
+red_mage,4,334,
+playing_card_theme,0,334,
+persona_4_the_golden,3,334,
+onigiri_print,0,334,
+neck_biting,0,334,"biting_neck,neck_bite"
+mirin_chikuwa,1,334,
+memories_off,3,334,
+leon_s._kennedy,4,334,leon_s_kennedy
+koshigaya_komari,4,334,
+kikumaru_bunta,1,334,
+holding_fireworks,0,334,holding_sparkler
+hirato_(kancolle),4,334,hirato_(kantai_collection)
+gogeta,4,334,
+ganari_ryuu,1,334,
+fujieda_uzuki,1,334,
+c.c._lemon,3,334,
+blueberry_(5959),1,334,
+akai_sashimi,1,334,
+ae-3803,4,334,
+abigail_williams_(swimsuit_foreigner)_(first_ascension)_(fate),4,334,
+yatai,0,333,
+yaomai,1,333,
+takagi_(tansuke),4,333,
+stone_mask_(jojo),0,333,
+scizor,4,333,
+multiple_hands,0,333,
+morgan_(fire_emblem)_(female),4,333,mark_(female)_(fire_emblem)
+meeko,1,333,
+material-s,4,333,
+leona_(league_of_legends),4,333,
+laura_matsuda,4,333,
+kamiya_maneki,1,333,maneki_kamiya
+jonsun,1,333,
+fuyutsuki_(kancolle),4,333,
+florence_nightingale_(fate)_(cosplay),0,333,
+dengeki_g's,3,333,
+canister,0,333,
+ask_(askzy),1,333,asukaziye
+animation_paper,0,333,
+amedamacon,1,333,
+alicia_(granblue_fantasy),4,333,
+against_fence,0,333,
+wakasa_yuuri,4,332,
+the_witcher_3,3,332,
+suspenders_gap,0,332,
+shirt_slip,0,332,
+shin'en_(gyokuro_company),1,332,
+shalon,4,332,
+rina-chan_board,0,332,
+paw_print_soles,0,332,
+oda_nobunaga_(maou_avenger)_(fate),4,332,
+m4_sherman,0,332,sherman_(tank)
+lumo_1121,1,332,"homo_1121,lumo_7777"
+long_arms,0,332,
+koyanskaya_(assassin)_(first_ascension)_(fate),4,332,
+koshika_rina,1,332,
+kaigen_1025,1,332,
+isedaichi_ken,1,332,
+ichininmae_no_lady,0,332,
+ham_(points),1,332,ham_(artist)
+green_border,0,332,
+gradient_skirt,0,332,
+fur_choker,0,332,
+folks_(nabokof),1,332,
+edward_teach_(fate),4,332,"blackbeard_(fate),edward_teach_(fate/grand_order)"
+deva_battle_suit,0,332,
+chest_guard,0,332,
+bort,4,332,
+ayase_fuuka,4,332,
+ali_baba_saluja,4,332,
+z/x,3,331,
+the_owl_house,3,331,
+terakoya,1,331,
+sukeban,0,331,
+suguri,3,331,suguri_(game)
+sonsaku_hakufu,4,331,
+simoyuki,1,331,
+shirosuzu,1,331,
+shiragiku_hotaru,4,331,
+shiokonbu,1,331,
+shinekalta,1,331,
+satomi_(black_scarecrow),1,331,satomi
+saint-louis_(azur_lane),4,331,
+ryne,4,331,
+puzzle,0,331,
+project_diva,3,331,
+photobomb,0,331,
+oshiki_hitoshi,1,331,
+okayado,1,331,inui_takemaru
+no,0,331,
+mad_hatter_(alice_in_wonderland),4,331,"mad_hatter,mad_hatter_(wonderland)"
+kuwashima_rein,1,331,kuwajima_reon
+kokona_(blue_archive),4,331,
+kim_hyung_tae,1,331,hyung_tae_kim
+kamen_rider_den-o_(series),3,331,
+ishimiso_(ishimura),1,331,"ishimura_(ishimura-ya),miso_(misosiruoisi)"
+holding_dog,0,331,
+hisae_(hisae_collect),1,331,kue
+g'raha_tia,4,331,
+forced,0,331,
+end_of_evangelion,3,331,
+beowulf_(fate),4,331,beowulf_(fate/grand_order)
+bandaged_wrist,0,331,
+aozaki_touko,4,331,
+a6m_zero,0,331,
+yoisaki_kanade,4,330,
+winn,1,330,
+white_wristband,0,330,
+watarai_keiji,1,330,
+tooo,1,330,
+tiv,1,330,
+tan_yang_(kancolle),4,330,"danyang_(kantai_collection),tan_yang_(kantai_collection)"
+taimanin_asagi_kessen_arena,3,330,
+suyasuyabi,1,330,
+suna_(s73d),1,330,
+sukajan,0,330,
+starscream,4,330,
+shpo,1,330,
+shihou_(g-o-s),1,330,
+sariel_(touhou),4,330,sariel
+san_diego_(azur_lane),4,330,
+sacred_heart,4,330,
+red_blindfold,0,330,
+queen,0,330,
+puzzle_piece,0,330,
+purple_cloak,0,330,
+print_sweater,0,330,
+penguin_logistics_logo,0,330,
+pan-pa-ka-paaan!,0,330,
+nakano_maru,1,330,imo_(evekelu-111)
+nakamura_hinato,1,330,
+mouri_ran,4,330,
+mimino_kurumi,4,330,
+kiri_futoshi,1,330,
+keyaki_chimaki,1,330,aki_chimaki
+jean_(sea_breeze_dandelion)_(genshin_impact),4,330,
+iws_2000_(girls'_frontline),4,330,"iws-2000_(girls'_frontline),iws-2000_(girls_frontline)"
+ilya_(princess_connect!),4,330,ilya_ornstein
+ichiren_namiro,1,330,
+harukara_(7th_dragon),4,330,
+h&k_mp5,0,330,mp5
+flower_(vocaloid4),4,330,v_flower_(vocaloid4)
+eiko_carol,4,330,
+egawa_satsuki,1,330,satsuki_(dorowa)
+diagonal-striped_bowtie,0,330,
+cuteg,1,330,
+cromachina,1,330,
+berabou,1,330,
+arched_soles,0,330,
+ace_trainer_(pokemon),4,330,
+totoro,4,329,
+suou-sensei,1,329,"clever_heel,eto_(nistavilo2)"
+suien,1,329,
+so-bin,1,329,
+sakuyu,1,329,
+rin-sin,1,329,
+plate_carrier,0,329,
+pitchfork,0,329,
+pastry_box,0,329,"cake_box,doughnut_box"
+panties_around_ankles,0,329,
+oosaki_shin'ya,1,329,oosaki_shinya
+ole_tower,3,329,ore_tower
+minami_koyogi,1,329,minamike1991
+majutsushi_orphen,3,329,
+lightning_bolt_hair_ornament,0,329,
+kvlen,1,329,
+kuppipi_ramutarou,1,329,hisaki
+kite,0,329,
+kentaurosu,1,329,
+jill_07km,1,329,
+inflatable_orca,0,329,
+holding_menu,0,329,
+hitoribocchi_no_marumaru_seikatsu,3,329,
+girls_und_panzer_ribbon_no_musha,3,329,girls_und_panzer_ribbon_warrior
+flora_(dq5),4,329,
+comic_aun,3,329,
+coffee_maker_(object),0,329,
+chups,1,329,
+basketball_hoop,0,329,
+arashi_chisato,4,329,
+youko-shima,1,328,
+yoruny,1,328,
+yomosaka,1,328,kdwr43
+wangchuan_de_quanyan,1,328,
+tsukikage_oyama,1,328,gacchahero
+throwing_needles,0,328,
+tabata_hisayuki,1,328,
+sydus,1,328,
+steve_rogers,4,328,
+star_of_life,0,328,
+splashbrush,1,328,
+satomura_kyou,1,328,"marionette_panzerjager,panzerjager_marionette"
+rejean_dubois,1,328,lejean
+ram_hachimin,1,328,
+puchiman,1,328,
+orange-framed_eyewear,0,328,
+musha_miko_tomoe,4,328,
+migihidari_(puwako),1,328,
+liduke,1,328,
+kito_(sorahate),1,328,
+kei_(soundcross),1,328,
+ishtar_(fire_emblem),4,328,
+hyakko,3,328,
+gouenji_shuuya,4,328,
+gii,4,328,
+fiora_(xenoblade),4,328,fiorung_(xenoblade)
+extra_penises,0,328,multi_cock
+chihaya_(clothing),0,328,
+champagne_bottle,0,328,
+arm_pillow,0,328,
+amagiri_(kancolle),4,328,amagiri_(kantai_collection)
+adachi_sakura,4,328,
+yen,0,327,
+x-ray_vision,0,327,
+wiggling_toes,0,327,
+watanore,1,327,
+wall_lamp,0,327,
+usami_ichika,4,327,
+tsubobot,1,327,
+toothbrush_in_mouth,0,327,
+tales_of_arise,3,327,
+standing_on_object,0,327,
+rustle,1,327,
+regular_mow,1,327,
+red_sarong,0,327,
+particle_cannon_case,0,327,
+ootomo_takuji,1,327,
+nitamako_(sakamalh),1,327,nitamago_(sakamalh)
+nishiide_kengorou,1,327,garakuta
+munakata_atsumi,4,327,
+misaka_12003-gou,1,327,misako12003
+miru_tights,3,327,
+marui_hitoha,4,327,
+maeshima_shigeki,1,327,shigeki_maeshima
+limgae,1,327,
+kyougoku_touya,1,327,
+kurusugawa_himeko,4,327,
+kokomine_cocona,4,327,
+kitaku_jikan_(ktk_jkn),1,327,
+kagemusha,1,327,
+island_(kossori),1,327,airando
+isayama_yomi,4,327,
+hiraga_saito,4,327,
+goshiki_agiri,4,327,
+futami_eriko,4,327,
+food_fantasy,3,327,"gourmet_kizuna,tasty_saga"
+fainting,0,327,
+creature_on_shoulder,0,327,
+catnnn,1,327,"cat_(yidsv),tming"
+carnival_phantasm,3,327,
+beige_dress,0,327,
+bakkanki,1,327,
+walther_wa_2000,0,326,"wa-2000,wa2000,walther_wa-2000"
+uyama_hajime,1,326,"hajime_(dinton),hajime_null"
+undine_(guilty_gear),4,326,
+ulrich_von_hutten_(azur_lane),4,326,
+training,0,326,
+taurine_8000mg,1,326,
+source_mismatch,5,326,
+samurai_jacket_(cyberpunk),0,326,
+pillory,0,326,
+north_carolina_(azur_lane),4,326,
+mysterious_heroine_x_alter_(second_ascension)_(fate),4,326,
+multicolored_coat,0,326,
+matsumi_kuro,4,326,
+kozou_(soumuden),1,326,
+kitakami_kai_ni_(kancolle),4,326,
+kaiza_(rider000),1,326,
+hyanna-natsu,1,326,
+guile,4,326,
+foreskin_pull,0,326,foreskin_retraction
+fae_(fire_emblem),4,326,fa
+eyjafjalla_(summer_flowers)_(arknights),4,326,
+doremi,1,326,
+cow_hat,0,326,
+bad_hentai-foundry_id,5,326,
+amaha_masane,4,326,
+ai-generated,5,326,
+yokota_mamoru,1,325,
+well,0,325,
+water_slide,0,325,
+venom_(marvel),4,325,
+ursula_hartmann,4,325,
+surtr_(colorful_wonderland)_(arknights),4,325,
+stone_walkway,0,325,
+sniper_scope,0,325,
+single_tear,0,325,
+sign_around_neck,0,325,
+shunsuke,1,325,
+shiro_(no_game_no_life),4,325,
+shinkyoku_soukai_polyphonica,3,325,polyphonica
+shima-shuu,1,325,
+pinta_(ayashii_bochi),1,325,p!nta
+miyazono_kawori,4,325,miyazono_kaori
+millie_parfait,4,325,
+mashiroiro_symphony,3,325,
+less_end,1,325,
+kodomo_no_hi,0,325,
+kinako_(shiratama_mochi),1,325,shiratama_akane
+kawai_makoto,1,325,kawai_(nrksrk)
+karochii,1,325,
+kamen_rider_ryuki_(series),3,325,
+jelly_bean,0,325,"jelly_beans,jellybean,jellybeans"
+inoue_takuya_(tactactak),1,325,hinot
+hermione_granger,4,325,
+hand_grip,0,325,
+hanazono_tae,4,325,
+gundam_08th_ms_team,3,325,
+flonne_(fallen_angel),4,325,
+feet_on_table,0,325,
+dyun,1,325,wehip
+cloud_hair_ornament,0,325,
+carnelian_(arknights),4,325,
+byulzzi,1,325,byulzzimon
+blood+,3,325,blood_plus
+arm_armor,0,325,
+an_yasuri,1,325,"an_yond,higandgk"
+aliza_(granblue_fantasy),4,325,aleeza_(granblue_fantasy)
+yumenosaki_school_uniform,0,324,
+yu_mei-ren_(swimsuit_lancer)_(fate),4,324,"consort_yu_(swimsuit_lancer),yu_mei-ren_(swimsuit_lancer),yu_miaoyi_(swimsuit_lancer)"
+translucent_bunnysuit,0,324,
+tongue_grab,0,324,
+take_(trude1945oneetyan),1,324,
+sword_art_online:_alicization_-_war_of_underworld,3,324,sword_art_online_alicization_-_war_of_underworld
+starry_moon,0,324,
+sitting_on_railing,0,324,
+sheikah_slate,0,324,
+rotated,5,324,
+rakudai_ninja_rantarou,3,324,"nintama,nintama_rantaro,nintama_rantarou"
+prism_project,3,324,
+prince_of_lorasia,4,324,
+pokemon_bdsp,3,324,
+pointing_down,0,324,
+plusle,4,324,
+pink_butterfly,0,324,
+on_water,0,324,
+my_melody,4,324,
+milk_(yes!_precure_5),4,324,milk_(precure)
+mikagami_mamizu,1,324,
+kanokon,3,324,
+jahy,4,324,
+holding_feather,0,324,
+head_hug,0,324,
+hao_(patinnko),1,324,
+geppewi,1,324,sinker_(pixiv)
+fujimaru_ritsuka_(female)_(brilliant_summer),4,324,
+flight_attendant,0,324,
+dearmybrothers,1,324,
+darry_adai,4,324,
+daito,1,324,
+cyno_(genshin_impact),4,324,
+crocodile,0,324,
+cierra_(ra-bit),1,324,
+chomoran,1,324,shockgyutantei
+checkered_haori,0,324,
+bauble,0,324,
+aoba_(smartbeat),1,324,
+air_mattress,0,324,
+abigail_williams_(festival_outfit)_(fate),4,324,
+yukimoto_shuuji_(gurigura),1,323,
+x-t3al,1,323,"x-teal,x-teal2"
+wireless,0,323,
+standing_cunnilingus,0,323,
+spicy_moo,1,323,
+spain_(hetalia),4,323,
+shohei_(piranha5hk),1,323,
+sasaki_akira_(ugc),1,323,
+sakuragi_matsuri,4,323,
+sabaku_chitai,1,323,
+phone_booth,0,323,"phonebooth,telephone_booth"
+pegging,0,323,
+pegasus_wings,0,323,
+pc-98_(style),0,323,"pc98,pc98_(style)"
+oukawa_yuu,1,323,
+orange_sclera,0,323,
+nns_(sobchan),1,323,
+nanami_touko,4,323,
+nakadori_(movgnsk),1,323,
+myoudou_gakuen_middle_school_uniform,0,323,
+mata_(matasoup),1,323,
+magion02,1,323,
+linked_collar,0,323,
+kuroda_bb,1,323,bb-san
+kureha_mitsushige,1,323,
+kujou_hikari,4,323,
+koissa,1,323,
+kamioka_shun'ya,1,323,
+kaminari_denki,4,323,chargebolt_(boku_no_hero_academia)
+jan_azure,1,323,
+houkago_play,3,323,
+hk416_(black_kitty's_gift)_(girls'_frontline),4,323,
+hita_(hitapita),1,323,
+grenade_pin,0,323,
+fox_mccloud,4,323,
+edytha_rossmann,4,323,
+daye_bie_qia_lian,1,323,
+d-rex,1,323,
+crosshair_pupils,0,323,
+christmas_wreath,0,323,
+caulifla,4,323,
+bouncing,0,323,
+black_tube_top,0,323,
+applekun,1,323,
+aerial_battle,0,323,
+utopia,1,322,
+tilt-shift_(azalanz),1,322,"azalan_(artist),azalanz,tilt-shift"
+taki_(soulcalibur),4,322,
+takeya_yuki,4,322,
+takahashi_tetsuya,1,322,
+star_censor,0,322,
+sora_to_umi,1,322,
+shiodome_miuna,4,322,
+sharp_sign,0,322,
+ruuto_(sorufu),1,322,sorufu
+rossiu_adai,4,322,
+oyaji-sou,1,322,oyaji_kusa
+ogiue_chika,4,322,
+nargacuga_(armor),4,322,
+nanase_miori,1,322,
+mori_yuki,4,322,nova_forrester
+misdreavus,4,322,
+mercury_(element),0,322,
+maru_(marg0613),1,322,
+library_of_ruina,3,322,
+last_period,3,322,
+larcei_(fire_emblem),4,322,lakche_(fire_emblem)
+kirisame_mia,1,322,
+kazama_souta,4,322,kazama_(shiromanta)
+kagamine_len_(append),4,322,len_append
+jizou,0,322,
+hat_pin,0,322,
+goe_(g-o-e),1,322,
+gingham_apron,0,322,
+fujiwara_no_mokou_(young),4,322,fujiwara_no_mokou_(mortal)
+expressive_tail,0,322,
+clam,0,322,clams
+cinderella_bust,0,322,
+boombox,0,322,
+amami_amayu,1,322,amayu
+al_azif,4,322,
+akechi_gorou,4,322,
+abbreviated_karakusa,0,322,
+thai_commentary,5,321,
+takeda_aranobu,1,321,arano_takeshi
+stitched_leg,0,321,
+sheita,1,321,
+shamir_nevrand,4,321,shamir_navrant
+sakamoto_ryuuji,4,321,sakamoto_ryuji
+reiwa,0,321,
+racing_suit,0,321,
+puyo_(puyotopia),1,321,"iilliill,puyo,rakuga_kitarou"
+prier,4,321,
+pon_de_ring,0,321,
+pinky_swear,0,321,
+pee_stain,0,321,
+nanaken_nana,1,321,
+miwano_rag,1,321,miwano_ragu
+mismagius,4,321,
+medicine,0,321,
+mamemochi,1,321,
+ling_xiaoyu,4,321,
+koromaru_(persona),4,321,
+kiyohime_(swimsuit_lancer)_(first_ascension)_(fate),4,321,
+hyakka_ryouran_samurai_girls,3,321,"hyakka-ryoran,hyakka-ryouran,hyakka_ryoran,hyakka_ryoran_samurai_girls,hyakka_ryouran"
+gun_on_back,0,321,rifle_on_back
+greek_mythology,3,321,
+fu_hua_(azure_empyrea),4,321,
+fengxi_(the_legend_of_luoxiaohei),4,321,
+dragonair,4,321,
+dagashi_(daga2626),1,321,dagasi
+breath_of_fire_iii,3,321,bof3
+anya's_heh_face_(meme),0,321,
+amagi-chan_(azur_lane),4,321,
+akiha_rumiho,4,321,"faris_nyannyan,faris_nyanyan"
+zaizen_tokiko,4,320,
+victorian_maid,0,320,
+u-non_(annon'an),1,320,suizennji
+takemi_tae,4,320,
+side-tie_dress,0,320,
+shisei_(kyuushoku_banchou),1,320,shi_sei
+sakaki_(noi-gren),1,320,
+saint_seiya_omega,3,320,
+rio_rollins,4,320,rio_rollins_tachibana
+red_riding_hood_(sinoalice),4,320,little_red_riding_hood_(sinoalice)
+oxygen_mask,0,320,
+on_crescent,0,320,
+nishida_megane,1,320,megane_man
+nekonyaa_(girls_und_panzer),4,320,nekonyaa
+mudra,0,320,
+meiji_ken,1,320,mawiko
+mauser_c96,0,320,
+lobotomy_corporation,3,320,
+kuroba_rapid,1,320,
+konpeitou,0,320,konpeito
+kidouko_(zakusi),4,320,
+kagamine_rin_(append),4,320,rin_append
+k2isu,1,320,
+iridescent,0,320,
+hydreigon,4,320,
+hanya_(hanya_yashiki),1,320,
+gotou_keiji,1,320,"keiji_gotoh,sahara_ako"
+cooperative_handjob,0,320,multiple_handjob
+chiba_toshirou,1,320,celluloid_acme
+carrot_print,0,320,
+buttercup_(ppg),4,320,
+bunbunmaru,0,320,
+boutonniere,0,320,lapel_flower
+anza_tomo,1,320,
+yuyu_(00365676),1,319,
+yusha_m,1,319,yusha_(m-gata)
+uneven_footwear,0,319,asymmetrical_footwear
+ukyo_rst,1,319,
+ukiyo-e,0,319,"ukiyo_e,ukiyoe"
+tengu_(tetuo_kun),1,319,tetuo_kun
+super_smashing_summer_vacation_(umamusume),0,319,
+shot_glass,0,319,
+shinigami,0,319,
+public_vibrator,0,319,
+prompto_argentum,4,319,
+ortlinde_(fate),4,319,ortlinde_(fate/grand_order)
+nina_(breath_of_fire_ii),4,319,nina_ii
+multiple_anal,0,319,
+mizin_kosutin,1,319,miiii
+minun,4,319,
+metagross,4,319,
+meme50,1,319,
+lynus,1,319,naoko_(9113419)
+long_beard,0,319,
+latin_text,0,319,latin
+late_for_school,0,319,
+konoe_konoka,4,319,
+kitsuneno_denpachi,1,319,
+kitiroku,1,319,kichiroku
+kimeemaru,4,319,
+kanoe_soushi,1,319,idahopotato
+instagram,3,319,
+hugging_another's_tail,0,319,
+howl_(howl_no_ugoku_shiro),4,319,
+holding_drumsticks,0,319,
+hiranko,1,319,
+gundam_0080,3,319,
+erkaz,1,319,
+dildo_under_clothes,0,319,
+costume_chart,0,319,
+cleaning_brush,0,319,
+between_labia,0,319,
+yoichi_(umagoya),1,318,moi1416
+wii,0,318,
+vertical-striped_jacket,0,318,
+umino_mokuzu_(shizumisou),1,318,
+ultraman_(1st_series),3,318,
+tsuki_tokage,1,318,
+tales_of_destiny_2,3,318,
+takano_yuki_(allegro_mistic),1,318,
+stuffed_sheep,0,318,
+sparkle_hair_ornament,0,318,
+pony,0,318,
+poker_table,0,318,
+ostrich,0,318,
+orushibu,1,318,
+ooshio_kai_ni_(kancolle),4,318,
+nihongami,0,318,
+neco,1,318,
+nagomi_(mokatitk),1,318,
+monobeno,3,318,
+missing_eye,0,318,
+long_hoodie,0,318,hoodie_dress
+laser_sight,0,318,
+knuckles_the_echidna,4,318,
+kinfuji,1,318,
+kinagase_tsumugu,4,318,tsumugu_kinagase
+keroro,4,318,
+kaguyuzu,1,318,
+kagura_(azumanga_daioh),4,318,kagura_(azumanga_daiou)
+iwasaki_takashi,1,318,
+incase,1,318,
+hijiki_(hijikini),1,318,
+h-new,1,318,
+galleon_(granblue_fantasy),4,318,
+furau,1,318,
+food_on_clothes,0,318,
+fingering_from_behind,0,318,
+dog_hood,0,318,
+deras,1,318,
+chikuwa,0,318,
+bruised_eye,0,318,black_eye
+boxing_ring,0,318,
+barret_wallace,4,318,
+ankha_(animal_crossing),4,318,"ankha,nile_(doubutsu_no_mori)"
+aladdin_(magi),4,318,
+547th_sy,1,318,
+zhu_xian,3,317,
+zerocat,1,317,painteen
+typing,0,317,
+tokiame,1,317,
+starry_sky_bright_(idolmaster),0,317,starry_sky_bright
+shamisen,0,317,shamisen_(instrument)
+saiyan,0,317,
+sage_joh,1,317,joe_sage
+mister_donut,3,317,
+metal_gear_solid_4,3,317,
+matsurika_youko,1,317,"matsurikay,ysk0515"
+leia_rolando,4,317,leia_roland
+lazyprocrastinator,1,317,
+kousetsu_samonji,4,317,
+kazusa_(blue_archive),4,317,
+kasai_shin,1,317,kokoro_(artist)
+kaedeko_(kaedelic),1,317,
+hai_ookami,1,317,
+falkyrie_no_monshou,3,317,
+dragunov_svd,0,317,
+dr_pepper,3,317,dr._pepper
+dolls_in_pseudo_paradise,3,317,
+dearonnus,1,317,
+cyicheng,1,317,
+chiester410,4,317,siesta410
+balance_scale,0,317,balance_scales
+azumi_(myameco),1,317,myameco
+arcie_albano,1,317,arciealbano
+aogisa,1,317,gsgisooo
+alternate_color_school_swimsuit,0,317,"brown_school_swimsuit,green_school_swimsuit,grey_school_swimsuit,orange_school_swimsuit,pink_school_swimsuit,red_school_swimsuit,yellow_school_swimsuit"
+uchuu_no_stellvia,3,316,stellvia
+try_(lsc),1,316,try
+the_little_mermaid,3,316,little_mermaid
+swav,1,316,
+ssrb,4,316,
+sniper_(ragnarok_online),4,316,
+skateboarding,0,316,
+sakura_ani,1,316,
+rudoni,1,316,kind_of_blue
+pinstripe_vest,0,316,
+originium_(arknights),0,316,
+monoko,4,316,
+mitsunara,1,316,
+minakata_sunao,1,316,sunyao_cat
+maitetsu,3,316,
+lass_(pokemon),4,316,unnamed_girl_(pokemon_swsh)
+langrisser,3,316,
+lace-trimmed_choker,0,316,
+kuroko_tetsuya,4,316,
+kurokami_fubuki,4,316,
+knot,0,316,
+kin'iro_ryotei_(umamusume),4,316,
+ka_(marukogedago),1,316,
+icehotmilktea,1,316,
+hoshinoumi_academy_uniform,0,316,
+hishi_amazon_(umamusume),4,316,
+hisau_maiya,4,316,
+hero_(dq5),4,316,
+godsworn_alexiel,4,316,"alexiel_(granblue_fantasy),godguard_brodia"
+gatau,1,316,
+fukurou_(owl222),1,316,
+fujimoto_rina,4,316,
+fluttershy,4,316,
+feena_(grandia),4,316,
+evil_eyes,0,316,
+dishes,0,316,
+chounorin,1,316,chonorin
+carnation,0,316,
+c_(control),3,316,"c:_the_money_of_soul_and_possibility,c_the_money_of_soul_and_possibility_control,control:_the_money_of_soul_and_possibility"
+ayakumo,1,316,
+alolan_raichu,4,316,
+ak-12,0,316,
+white_leggings,0,315,
+weavile,4,315,
+vivi_ornitier,4,315,
+twin_(tt_lsh),1,315,electriccross
+team_galactic,0,315,
+single_bridal_gauntlet,0,315,bridal_gauntlet
+pink_sarong,0,315,
+pidgeot,4,315,
+okonogi_yuuko,4,315,yasako
+moe_(hamhamham),1,315,
+indianapolis_(azur_lane),4,315,
+in_bottle,0,315,girl_in_a_bottle
+goomba,4,315,
+giovanni_(pokemon),4,315,sakaki_(pokemon)
+fujishiro_emyu,1,315,emyu
+food_as_clothes,0,315,
+flower_on_liquid,0,315,
+flamingo,0,315,
+finnish_text,0,315,finnish
+emily_stewart,4,315,
+eagle_union_(emblem),0,315,
+duoyuanjun,1,315,
+dise,1,315,
+bullet_(blazblue),4,315,
+bob_(biyonbiyon),1,315,bob_(pixiv91521)
+bear_paws,0,315,
+avalon_(fate/stay_night),0,315,
+anarogumaaa,1,315,
+yaruku,1,314,
+xia_(ryugo),1,314,
+white_devil,0,314,
+washington_(kancolle),4,314,washington_(kantai_collection)
+uni_(plastic_girl),1,314,uni
+trusty_bell,3,314,eternal_sonata
+torn_bra,0,314,
+tiamat_(fate),4,314,tiamat_(fate/grand_order)
+tanaka_mako,4,314,
+table_tennis,0,314,"ping-pong,ping_pong"
+snort,0,314,
+silvervale,4,314,
+shoulder_belt,0,314,
+sanshita,1,314,
+salt_shaker,0,314,
+ring_necklace,0,314,
+red_panda_ears,0,314,
+rasahan,1,314,
+peplos,0,314,
+off-shoulder_one-piece_swimsuit,0,314,off-shoulder_swimsuit
+nurse_witch_komugi-chan,3,314,nursewitchkomugichan
+lulu-chan92,1,314,
+kourindou,0,314,
+koruse,1,314,
+kamu_(geeenius),1,314,
+kama_(second_ascension)_(fate),4,314,
+interstellar,1,314,
+hector_(fire_emblem),4,314,
+haruhata_mutsuki,1,314,
+haruhara_haruko,4,314,
+gin_(ginshari),1,314,
+gensokyo,0,314,gensoukyou
+flood,0,314,
+crypton_future_media,3,314,
+chaika_trabant,4,314,
+camouflage_skirt,0,314,
+byte_(allbyte),1,314,
+brief_(psg),4,314,
+boyaking,1,314,
+blood_drip,0,314,
+ace_of_diamond,3,314,
+wishiwashi,4,313,
+valkyrie_drive_-mermaid-,3,313,
+tenchisouha,1,313,jenimaro
+sweater_tucked_in,0,313,
+suwa_yasai,1,313,
+sendrawz,1,313,
+sanshoku_amido,1,313,
+rough_time_school_(idolmaster),0,313,rough_time_school
+red_sun,0,313,
+potato_pot,1,313,
+peroro_(blue_archive),4,313,
+paladin_(final_fantasy),4,313,
+nono_(top_wo_nerae_2!),4,313,"nono_(gunbuster_2!),nono_(gunbuster_2),nono_(top_wo_nerae!),nono_(top_wo_nerae),nono_(top_wo_nerae_2)"
+nelson_(azur_lane),4,313,
+nekometaru,1,313,hoyashi_rebirth
+morinaga_miki,1,313,morinaga_(harumori)
+milo_(pokemon),4,313,yarrow_(pokemon)
+machete,0,313,
+lupinus_virtual_games,3,313,
+kihara_tsumugu,4,313,
+kao_no_nai_tsuki,3,313,"moonlight_lady,no_surface_moon"
+kamiyama_aya,1,313,
+iwamoto_zerogo,1,313,iwamoto_james
+hjl,1,313,hjl2010
+hella_p,1,313,drogod
+hands_on_own_knee,0,313,
+green_bandana,0,313,
+glove_in_mouth,0,313,
+flaming_skull,0,313,burning_skull
+ermes_costello,4,313,hermes_costello
+decora,0,313,
+dangomushi,1,313,
+daitai_konna_kanji,1,313,ryuhey
+contortion,0,313,
+backwards_virgin_killer_sweater,0,313,
+ataru_(cha2batake),1,313,
+ashelia_b'nargin_dalmasca,4,313,
+after_war_gundam_x,3,313,
+tropical,0,312,
+tomari_(veryberry00),1,312,veryberry00
+the_lord_of_the_rings,3,312,"lord_of_the_rings,lordoftherings"
+terupancake,1,312,teru_(renkyu)
+team_magma_uniform,0,312,
+takatsuki_nato,1,312,getsuyou_bi
+spirytus_tarou,1,312,
+sila_(carpen),1,312,interitio
+saria_(the_legend_of_zelda),4,312,saria
+revealing_layer,0,312,revealing_cutout
+resting,0,312,
+pataneet,1,312,"pata1999,pataniito,pataryouto"
+pantyhose_removed,0,312,
+nuzzle,0,312,
+nam_(valckiry),1,312,
+munna,4,312,
+mokke_(mokke99),1,312,
+male_swimwear_challenge,0,312,
+llenn_(sao),4,312,
+kabocha_(monkey4),1,312,
+jiaozi,0,312,"gyouza,gyoza"
+ignis_scientia,4,312,
+idaten93,1,312,
+ichigo_(cookie),4,312,
+hina_ningyou,0,312,hina_doll_set
+hiiringu,1,312,
+hajime_(hajime-ill-1st),1,312,
+ground_shatter,0,312,
+grandfather_and_grandson,0,312,
+dancer_(final_fantasy),4,312,
+cross-laced_cutout,0,312,
+criin,1,312,
+cordelia_(fire_emblem),4,312,tiamo
+chiri_(atlanta),1,312,
+black_tea,0,312,
+atelier_escha_&_logy,3,312,atelier_escha_and_logy
+alolan_exeggutor,4,312,
+akino_ell,1,312,noeru_(gt17854)
+akashiya_moka,4,312,
+zonda_(solid_air),1,311,solid_air
+wrapped_up,0,311,
+weedy_(arknights),4,311,
+urabi_(tomatohouse),1,311,
+trickster,3,311,
+taneda_yuuta,1,311,seed_teitoku
+suzume_inui,1,311,
+summon_night_2,3,311,summonnight2
+suetake_(kinrui),1,311,
+squeezable_(artist),1,311,
+sirius_symboli_(umamusume),4,311,
+satsuriku_no_tenshi,3,311,
+sakura-sou_no_pet_na_kanojo,3,311,the_pet_girl_of_sakurasou
+safi,1,311,
+rioka_(southern_blue_sky),1,311,
+ribbon-trimmed_bikini,0,311,
+raikoart,1,311,
+pyramid_head,4,311,
+pumpkinspicelatte,1,311,
+piglet,0,311,
+pig_tail,0,311,
+oshiruko_(uminekotei),1,311,
+onomeshin,1,311,freaks_(artist)
+nymph_(sora_no_otoshimono),4,311,
+mousou_(mousou_temporary),1,311,"moso,moso_(mousou_temporary)"
+monado,0,311,
+merlin_(fate/prototype)_(second_ascension),4,311,
+masaru.jp,1,311,"asuka_roze,chiyopoko"
+lillly,1,311,
+kyokucho,1,311,
+kohaku_(yua),4,311,
+kintsuba_(shiranui_flare),4,311,
+kawai_ritsu_(rits_meg),1,311,rits_(apud8788)
+kamen_rider_wizard_(series),3,311,
+in_bag,0,311,loli_in_a_bag
+igarashi_kyouhei,1,311,
+holding_spring_onion,0,311,
+holding_spatula,0,311,
+hogtie,0,311,
+gradient_horns,0,311,
+gold_saint,0,311,
+go_robots,1,311,
+ginga_eiyuu_densetsu,3,311,"legend_of_the_galactic_heroes,logh"
+fuchi_(nightmare),1,311,
+daiba_nana,4,311,
+crosier,0,311,priest_staff_(western)
+clemont_(pokemon),4,311,citron_(pokemon)
+canyon,0,311,
+buzz,1,311,
+balalaika_(black_lagoon),4,311,
+ant,0,311,ants
+akizora_momiji,1,311,kokutou_(kazuakifca)
+akazutsumi_momoko,4,311,akatsutsumi_momoko
+yu-gi-oh!_vrains,3,310,"yugioh_vrains,yuu-gi-ou_vrains"
+yellow_(among_us),4,310,
+vivi_(eve_no_hakoniwa),1,310,
+victory_pose,0,310,
+the_yuudachi-like_creature,4,310,
+teemo,4,310,
+task_(s_task80),1,310,
+sody,1,310,
+sinzan,1,310,
+shoujo_to_ura_roji,3,310,
+shimoneta_to_iu_gainen_ga_sonzai_shinai_taikutsu_na_sekai,3,310,shimoneta:_a_boring_world_where_the_concept_of_dirty_jokes_doesn't_exist
+shimamura_hougetsu,4,310,
+self_harm,0,310,
+saeki_tatsuya,1,310,"mtomita,mtomita"
+roxanne_(pokemon),4,310,tsutsuji_(pokemon)
+otonashi_haruna,4,310,
+nksk,1,310,
+mimoto_(aszxdfcv),1,310,
+makina_nakajima,4,310,
+kuurunaitsu,1,310,
+just_as_planned_(meme),0,310,"just_according_to_keikaku,just_as_planned"
+japanese_tankery_league_(emblem),0,310,
+hirai_yuzuki,1,310,yuzuki_(higurashi40)
+henshin_pose,0,310,
+hand_under_skirt,0,310,
+grate,0,310,
+gibson_les_paul,0,310,les_paul
+ekakibito,1,310,
+driver_(kamen_rider),0,310,
+dejiko,4,310,di_gi_charat_(character)
+cow_hood,0,310,
+comiching,1,310,
+cirilla_lin,1,310,cirilla
+chougei_(kancolle),4,310,
+chocolate_syrup,0,310,
+bandai,3,310,
+bag_over_head,0,310,
+arakune,4,310,
+aqua_pantyhose,0,310,
+alter_servant,0,310,
+yadapot,1,309,
+wrist_cutting,0,309,cut_wrists
+valkyrie_(p&d),4,309,
+u.a._gym_uniform,0,309,
+triad_primus_(idolmaster),0,309,triad_primus
+toque_blanche,0,309,
+take_(shokumu-taiman),1,309,
+symphogear_pendant,0,309,
+subway,0,309,
+stuffed_lion,0,309,
+sougetsu_(yosinoya35),1,309,yosinoya35
+slippers_removed,0,309,
+shiranagi,1,309,
+shiny_footwear,0,309,
+shinkon_santaku,0,309,"bath_dinner_or_me,dinner_bath_or_me,soretomo"
+shikino_yuki,1,309,sikinoyukinnko
+senju_(snz0),1,309,
+ryuugamine_mikado,4,309,ryugamine_mikado
+ranf,1,309,
+ramza_beoulve,4,309,
+protean_assassin_melona,4,309,
+papyrus_(undertale),4,309,
+miyamoto_musashi_(third_ascension)_(fate),0,309,
+meira_(touhou),4,309,meira
+marimo_(yousei_ranbu),1,309,
+marceline_abadeer,4,309,
+mamedenkyuu_(berun),1,309,
+lace-trimmed_garter_belt,0,309,
+kitami_yuzu,4,309,
+kida_masaomi,4,309,
+kaede_(sayappa),1,309,kaede_yukael
+jikatarou,1,309,
+isse,1,309,
+inuyama_nanami,1,309,
+hippo_(hirople),1,309,
+hashi,1,309,
+haori_io,1,309,haori_iori
+hand_focus,0,309,hands_focus
+funny_valentine,4,309,
+floating_head,0,309,
+fei_(maidoll),1,309,fei_(artist)
+deviantart_logo,0,309,
+cross-laced_slit,0,309,
+condom_left_inside,0,309,
+bomhat,1,309,
+bili_girl_33,4,309,
+asaga_aoi,1,309,
+an-94,0,309,
+akakage_red,1,309,red_(red-sight)
+yuuta_(monochrome),1,308,sy0610
+towel_around_waist,0,308,
+thunder_(girls'_frontline),4,308,thunder_(girls_frontline)
+shinguuji_sakura,4,308,
+scrape,0,308,
+sakura_mochi,0,308,sakuramochi
+sailboat,0,308,
+putting_on_jewelry,0,308,
+playstation_4,0,308,ps4
+nanatsuiro_drops,3,308,
+nakigitsune,4,308,
+mihama_junior_high_school_uniform,0,308,
+mashuu_masaki,1,308,masaki_(kogekorokke)
+luigi_torelli_(kancolle),4,308,luigi_torelli_(kantai_collection)
+little_girl_admiral_(kancolle),4,308,little_girl_admiral_(kantai_collection)
+kira_tsubasa,4,308,
+kion-kun,1,308,
+kanmiya_shinobu,1,308,
+kamen_rider_gaim_(series),3,308,
+kaiten_muten-maru,3,308,
+kagerou_kai_ni_(kancolle),4,308,
+hand_on_own_crotch,0,308,
+go_back!,0,308,
+girly_boy,0,308,
+fujii_masahiro,1,308,
+framed_image,0,308,
+flying_nimbus,0,308,kintoun
+fire_emblem:_shadow_dragon,3,308,"fire_emblem:_shin_ankoku_ryuu_to_hikari_no_tsurugi,fire_emblem_shadow_dragon"
+falcon,0,308,
+easy_chair,0,308,
+cutoff_jeans,0,308,
+cutiefly,4,308,
+colo_(nagrolaz),1,308,
+book_holster,0,308,
+autoarousal,0,308,
+ashley_graham,4,308,
+antarcticite,4,308,
+alucard_(hellsing),4,308,
+akamaru,1,308,suzuneko
+yatsuhashi_kyouto,1,307,
+waterkuma,1,307,
+vilde_loh_hocen,1,307,
+underground,0,307,
+unagi_(kobucha_blaster),1,307,
+toto_nemigi,1,307,
+tight_top,0,307,
+staff_of_homa_(genshin_impact),0,307,
+sohin,1,307,
+shingo_(missing_link),1,307,missing_link
+sesshouin_kiara_(swimsuit_mooncancer)_(second_ascension),4,307,
+senren_banka,3,307,
+sakurato_ototo_shizuku,1,307,
+rivalry,0,307,
+purple_robe,0,307,
+pole_(ppp1409),1,307,
+pikaole,1,307,
+nozomi_tsubame,1,307,kibou_tsubame
+ninja_(final_fantasy),4,307,
+miyamoto_musashi_(first_ascension)_(fate),4,307,
+leaning_on_table,0,307,
+knitting_needle,0,307,knitting_needles
+kindred_(league_of_legends),4,307,
+kagachi_saku,1,307,
+jiino,1,307,
+io_(granblue_fantasy),4,307,io_euclase
+houjou_satoshi,4,307,
+hot_vr,1,307,
+holding_creature,0,307,
+face_grab,0,307,
+ezreal,4,307,
+ben_10,3,307,
+arf,4,307,"alph,aruf"
+aponia_(honkai_impact),4,307,
+anyamal_tantei_kirumin_zoo,3,307,
+ankkoyom,1,307,
+tsurugi_hagane,1,306,"hagane_tsurugi,tataraba"
+tsukushi_akihito,1,306,
+tickle_torture,0,306,
+sword_art_online:_memory_defrag,3,306,
+sunna_(nilsunna),1,306,
+stirring,0,306,
+sprigatito,4,306,
+spiked_knuckles,0,306,
+snake_earrings,0,306,
+shinguuji_korekiyo,4,306,
+selphie_tilmitt,4,306,
+seitokai_yakuindomo,3,306,
+seal_impression,0,306,
+sanari_(quarter_iceshop),1,306,tomoe_himuro
+running_bond,0,306,
+rex_lapis_(genshin_impact),4,306,
+rella,1,306,
+quagsire,4,306,
+putcher,1,306,putchers
+pac-man,4,306,pacman
+ouhara_lolong,1,306,
+nigirizushi,0,306,
+nian_(zhanian),1,306,nian
+necktie_between_pectorals,0,306,necktie_between_pecs
+neck_flower,0,306,
+nanami_kento,4,306,
+mutsu_(layergreen),1,306,
+mini_flag,0,306,
+m950a_(girls'_frontline),4,306,m950a_(girls_frontline)
+kittan_bachika,4,306,
+kiman,1,306,keyman
+kagero_(fire_emblem),4,306,kagerou_(fire_emblem_if)
+iron_blood_(emblem),0,306,
+housewife,0,306,house_wife
+hinata_shouyou,4,306,
+diane_(nanatsu_no_taizai),4,306,
+dede_(qwea_00000),1,306,"dededsw_123,rnehrdyd1212"
+cyancapsule,1,306,
+comiket_94,3,306,
+chestnut,0,306,chestnuts
+captain_america_(series),3,306,
+blue_male_swimwear,0,306,
+banpai_akira,1,306,ban_akira
+yuuzii,1,305,
+yuri_(dirty_pair),4,305,
+yuni_(precure),4,305,
+yohane_bonaventura,4,305,
+xe_(execut3r),1,305,exe_(xe)
+wendy_marvell,4,305,
+underwear_writing,0,305,
+tentacle_grab,0,305,
+tenjou_ryuka,1,305,
+tang_sanzang,4,305,
+tales_of_legendia,3,305,
+tako_(plastic_protein),1,305,
+takecha,1,305,
+swimsuit_lift,0,305,
+suzuki_kyoutarou,1,305,s_kyoutarou
+sherlock_holmes_(fate),4,305,sherlock_holmes_(fate/grand_order)
+sekaiju_no_meikyuu_4,3,305,etrian_odyssey_iv
+sayaka_(saru_getchu),4,305,
+sanshuu_middle_school_uniform,0,305,
+sakizaki_saki-p,1,305,sakipsakip
+saitou_(lynx-shrike),1,305,
+ribbon-trimmed_gloves,0,305,
+ratatatat74,1,305,mr._skull
+princess_bonnibel_bubblegum,4,305,"bonnibel_bubblegum,princess_bubblegum"
+portland_(azur_lane),4,305,
+penelo,4,305,
+painwheel_(skullgirls),4,305,
+nyifu,1,305,
+narutomaki,0,305,naruto_(food)
+nanahara_fuyuki,1,305,
+minato_tomoka,4,305,
+mikeran_(mikelan),1,305,ichigotofu
+meitoro,1,305,
+machine_pistol,0,305,
+kurosaki_mea,4,305,
+kujira_naoto,1,305,
+kitashirakawa_anko,4,305,
+ikaros,4,305,
+hook_hand,0,305,
+historical_event,0,305,
+hirose_(mokiki),1,305,
+hand_on_ground,0,305,
+green_jumpsuit,0,305,
+fighting_game,0,305,
+dev_(dev0614),1,305,dev
+chibirisu,1,305,
+changing_clothes,0,305,
+carbuncle_(puyopuyo),4,305,
+aoi_ogata,1,305,
+akisora,1,305,
+.me,1,305,kure:kuroha
+yoshino_(date_a_live),4,304,
+viola_(seed),1,304,"seed1yet,sumire_(pixiv142558)"
+u35,1,304,
+turntable,0,304,
+toyota,0,304,
+tossing,0,304,toss
+testament_(guilty_gear),4,304,
+strelizia,4,304,
+spire,0,304,
+sino_(sionori),1,304,slaughter_z
+shining_wind,3,304,
+shameimaru_aya_(newsboy),4,304,
+seyren_windsor,4,304,
+sengoku_taisen,3,304,
+saikin_yatotta_maid_ga_ayashii,3,304,the_maid_i_hired_recently_is_mysterious
+racetrack,0,304,
+quad_braids,0,304,
+power_item_(touhou),0,304,
+ooi_kai_ni_(kancolle),4,304,
+mitsugu,1,304,
+lord_of_heroes,3,304,
+lolidom,0,304,
+kyouno_madoka,4,304,
+kofunami_nana,1,304,
+kezune_(i-_-i),1,304,
+horkeu_kamui,4,304,"horkeu_kamui_(tokyo_houkago_summoners),kamui_(housamo)"
+hemokinesis,0,304,blood_magic
+hanokage,1,304,
+haguro_kai_ni_(kancolle),4,304,
+fuumi_(radial_engine),1,304,
+fukuda_shuushi,1,304,
+coin_on_string,0,304,
+broken_mask,0,304,
+aurochs_(kemono_friends),4,304,
+aubrey_(omori),4,304,
+apios1,1,304,
+antonio_salieri_(fate),4,304,antonio_salieri_(fate/grand_order)
+animal_hair_ornament,0,304,
+yamashiro_takane,4,303,
+wooden_spoon,0,303,
+western_comics_(style),0,303,
+u-1146,4,303,
+tennis_no_ouji-sama,3,303,prince_of_tennis
+teddy_(khanshin),1,303,khanshin
+tan_(tangent),1,303,
+shoujo_donburi,1,303,
+sculpture,0,303,
+schwarzesmarken,3,303,
+sarashina_ruka,4,303,
+saku_anna,1,303,
+nuriko-kun,1,303,
+ninjatou,0,303,
+natsu_dragneel,4,303,
+mixed-language_text,0,303,
+michihasu,1,303,
+lunch_(lunch3),1,303,lunch_(artist)
+lamb_(league_of_legends),4,303,
+lady_(devil_may_cry),4,303,
+kusanagi_kyou,4,303,kusanagi_kyo
+krul_tepes,4,303,kururu_tepes
+komatsuzaki_rui_(style),0,303,
+kisw2010,1,303,
+kirito_(sao-alo),4,303,
+keyring,0,303,
+kazami_mizuho,4,303,
+kanda_mizuki,4,303,
+junsuina_fujunbutsu,1,303,
+jp06,1,303,
+hyena_ears,0,303,
+honzuki_no_gekokujou,3,303,ascendance_of_a_bookworm
+hololive_alternative,3,303,
+hippopotamus_ears,0,303,
+himiya_jouzu,1,303,himiya_ramune
+heian,0,303,
+hazuki_ruu,1,303,
+hand_on_railing,0,303,holding_railing
+hagino_kouta,1,303,
+famicom,0,303,
+devil_may_cry_4,3,303,
+cure_magical,4,303,
+caution,0,303,
+book_on_lap,0,303,
+blue_nipples,0,303,
+batsu,1,303,batuact3
+asahina_hikage,1,303,akpngn_ha
+arm_cutout,0,303,
+arbok,4,303,
+akino_hamo,1,303,"hamo_(an-arc),hamo_(anarc)"
+urushi,1,302,
+tsuujou_kougeki_ga_zentai_kougeki_de_ni-kai_kougeki_no_okaasan_wa_suki_desu_ka?,3,302,"do_you_love_your_mom_and_her_two-hit_multi-target_attacks?,okaa-san_online"
+toki_wo_kakeru_shoujo,3,302,"the_girl_who_leapt_through_time,toki_o_kakeru_shoujo,tokikake"
+take_shinobu,1,302,
+sgk,1,302,
+seikimatsu_occult_gakuin,3,302,occult_academy
+rose_(street_fighter),4,302,
+praying_mantis,0,302,
+plum_(arch),1,302,arch_(artist)
+ono_misao,1,302,
+ohishi_izumi,4,302,ooishi_izumi
+nobi_nobita,4,302,
+nejikyuu,1,302,
+nakano_sora,1,302,
+mimikaki_(men_bow),1,302,
+meteor_shower,0,302,
+mazume,1,302,
+maccha_(mochancc),1,302,
+kannazuki_hato,1,302,"kannaduki_hato,winter_scenery_(circle)"
+juusan_kihei_bouei_ken,3,302,13_sentinels:_aegis_rim
+ichigo_100_percent,3,302,"ichigo_100,ichigo_100%"
+hymen,0,302,
+handa_roco,4,302,handa_roko
+fyuo,1,302,
+forte_stollen,4,302,
+chihunhentai,1,302,
+blood_elf_(warcraft),0,302,blood_elf
+badcompzero,1,302,
+atsushi_(aaa-bbb),1,302,
+ataru_(ataru-littlebird),1,302,
+asagami_fujino,4,302,
+aohashi_ame,1,302,amefre
+alchera,1,302,
+wrists_extended,0,301,
+vanripper_(style),0,301,
+urara_(ckt),1,301,
+uguisu_mochi_(ykss35),1,301,
+tof,1,301,
+tail_fin,0,301,
+spirit_blossom_(league_of_legends),0,301,
+smelling_flower,0,301,
+shiden_(sashimi_no_wife),1,301,"shiden-raiden,shiden_(pixiv134033)"
+santa_alter,4,301,
+randou,1,301,
+penis_piercing,0,301,
+papercraft_(medium),0,301,
+nu_gundam,4,301,
+nokuhashi,1,301,
+nekozuki_yuki,1,301,
+nase,1,301,
+moonlight_flower,4,301,wolyafa
+misaki_akeno,4,301,
+minami_yume,4,301,
+metera_(granblue_fantasy),4,301,
+mask_over_one_eye,0,301,
+lunch_(dragon_ball),4,301,"launch_(dragon_ball),lunch_(dragonball)"
+kyouno,1,301,
+kiana_kaslana_(herrscher_of_flamescion),4,301,
+kazuno_sarah,4,301,
+kajiki_yumi,4,301,
+jaho,1,301,
+izmir,4,301,
+iroha_(shiki),1,301,
+holding_scepter,0,301,
+hiramitsu_hinata,4,301,
+henrietta_de_tristain,4,301,
+harusame_(rueken),1,301,rueken
+h&k_g11,0,301,g11
+gaston18,1,301,
+engine,0,301,
+earth_eleven,0,301,
+dialga,4,301,
+cutie_honey,3,301,cutey_honey
+comic_party,3,301,
+chouzetsusaikawa_tenshi-chan,4,301,"kangel_(needy_streamer_overdose),omgkawaiiangel-chan"
+cheelai,4,301,
+beehive_hairdo,0,301,
+azumi_(girls_und_panzer),4,301,
+animal_around_neck,0,301,
+yuihira_asu,1,300,
+yae_miko_(fox),4,300,
+taiho_shichauzo,3,300,you're_under_arrest
+spork,0,300,
+souchou,4,300,
+snow_on_head,0,300,
+shiraishi_yoshitake,4,300,
+shiosoda,1,300,
+sakura_hibiki,4,300,"sakura_hibiki_(danberu_nan_kiro_moteru?),sakura_hibiki_(dumbbell_nan_kilo_moteru?)"
+reuniclus,4,300,
+polarityplus,1,300,polaritypus
+penis_measuring,0,300,
+paint_musume,1,300,youqiniang
+oyu_udon,1,300,lain
+ougi_hina,1,300,
+onnaski,1,300,
+nonaka_ritsu,1,300,
+ninin_ga_shinobuden,3,300,"ninja_nonsense,shinobuden"
+ninetales,4,300,
+nagao_kagetora_(fate),4,300,
+motoori_shiro,4,300,"shiro_(housamo),shiro_(tokyo_houkago_summoners)"
+morpeko_(hangry),4,300,
+momohime,4,300,
+locket,0,300,
+lego,0,300,
+keytar,0,300,
+kagura_gumi,3,300,kagura_mea_channel
+hazuki_(tsukuyomi),4,300,
+grey_male_underwear,0,300,grey_underwear_(male)
+fukutarou_(enji127),1,300,enji127
+foot_on_head,0,300,
+ekao,1,300,
+dynamite,0,300,
+dress_shoes,0,300,
+cross-laced_bikini,0,300,
+clitoris_ring,0,300,
+casino_card_table,0,300,
+bulleta,4,300,
+breasts_on_tray,0,300,
+bondrewd,4,300,
+ayuayu_(shouyu_no_sato),1,300,
+ayasaka,1,300,
+asmodeus_(umineko),4,300,
+allenes,1,300,
+aleksandra_i._pokryshkin,4,300,aleksandra_i_pokryshkin
+akadako,1,300,
+touhou_gouyoku_ibun,3,299,
+togekiss,4,299,
+tatsunami_youtoku,1,299,youtoku_tatsunami
+suzume_miku,1,299,suzumemiku
+strike_witches:_katayoku_no_majo-tachi,3,299,
+sideroca_(arknights),4,299,
+shiro_(reptil),1,299,
+shell_earrings,0,299,"seashell_earring,seashell_earrings"
+roromiya_karuta,4,299,
+ookuma_satomi,4,299,
+ochinsama,1,299,
+nakasone_haiji,1,299,
+mitsurugi_meiya,4,299,
+metal_gear_solid_3,3,299,
+lemon_print,0,299,
+kitagawa_yuusuke,4,299,
+kise_ryouta,4,299,
+kirby_64,3,299,
+kei_(dirty_pair),4,299,
+kama_(third_ascension)_(fate),4,299,
+kagamine_rin_(cosplay),0,299,
+hoshino_souichirou,1,299,"kuhou_souin,souin_kuhou"
+honolulu_(umbrella_girl)_(azur_lane),4,299,honolulu_(parasol_girl)_(azur_lane)
+hiei_kai_ni_(kancolle),4,299,
+harihisa,1,299,
+hakaba_(dairiseki),1,299,dairiseki
+hajin,1,299,
+green_armor,0,299,
+fue_(rhomphair),1,299,
+faputa,4,299,
+ebisu_eika,4,299,
+dragon_kid,4,299,
+dragapult,4,299,
+chakabo,1,299,
+araki_hina,4,299,
+aketa_mikoto,4,299,
+yamiochi_umekichi,1,298,kadokura_umekichi
+yagokoro,4,298,
+welding_mask,0,298,
+tsuyadashi_shuuji,1,298,demour402
+tama_(songe),1,298,
+sleeveless_turtleneck_crop_top,0,298,
+shiitake_nabe_tsukami,1,298,
+shian_(my_lonly_life.),1,298,
+sasa_kichi,1,298,
+ryoma_(fire_emblem),4,298,ryouma_(fire_emblem_if)
+rimuu,1,298,
+purple_sarong,0,298,
+pullover,0,298,
+pokedex,0,298,
+one_(cevio),4,298,one_(vocaloid)
+ogami_tamaki,4,298,oogami_tamaki
+nijino_yume,4,298,
+nekki_basara,4,298,
+myusha,1,298,
+lowleg_pantyhose,0,298,
+koyama_hirokazu,1,298,
+ikeda_shouko,1,298,
+hou_(hachiyou),1,298,beesama
+hotel_room,0,298,
+holding_marker,0,298,
+green_ascot,0,298,
+gokuhara_gonta,4,298,
+glowing_mouth,0,298,
+glass_door,0,298,
+gainaxtop,0,298,
+estelle_bright,4,298,
+doyora,1,298,
+dk.senie,1,298,
+daitaku_helios_(umamusume),4,298,
+captain_nemo_(fate),4,298,captain_nemo_(fate/grand_order)
+black_veil,0,298,
+black_lady,4,298,
+beige_coat,0,298,
+aumann,1,298,
+ambience_synesthesia,3,298,
+akatsuki_uni,4,298,akatsuki_yuni
+a.i._voice,3,298,
+yuki_miku_(2014),4,297,
+yamakawa,1,297,
+washbowl,0,297,
+terraria,3,297,
+spool,0,297,
+southern_italy_(hetalia),4,297,
+skeletal_arm,0,297,skeletal_arms
+sentai,0,297,
+sekiro,4,297,
+sandstar,0,297,
+sameda_koban,1,297,
+roller_coaster,0,297,
+removing_eyewear,0,297,removing_glasses
+orange_horns,0,297,
+oil_lamp,0,297,magic_lamp
+nez-box,1,297,nez-kun
+nejikirio,1,297,angeltype
+nakai_(waitress),0,297,
+misekai_555,1,297,
+mikomachi_(35machi),1,297,uzuki_karasu
+mazjojo,1,297,
+luke_pearce_(tears_of_themis),4,297,
+kiana_kaslana_(white_comet),4,297,
+kawakaze_kai_ni_(kancolle),4,297,
+katatsuka_kouji,1,297,
+kasumi_(princess_connect!),4,297,kirihara_kasumi
+johan_(johan13),1,297,
+irony,0,297,
+iced_latte_with_breast_milk_(meme),0,297,
+hakui_ami,1,297,tarou
+guts_(kill_la_kill),4,297,
+furen_e_lustario,4,297,
+fishnet_sleeves,0,297,
+feraligatr,4,297,
+fart,0,297,
+faceoff,0,297,
+everlasting_summer,3,297,
+ebina_nana,4,297,
+destroyer,0,297,
+d4dj,3,297,
+coffret_(heartcatch_precure!),4,297,coffret_(precure)
+camping,0,297,
+bunny_slippers,0,297,
+bukkuri,1,297,
+board_eraser,0,297,"chalkboard_eraser,classroom_eraser"
+asobi_ni_iku_yo!,3,297,"asobi_ni_ikuyo,asobi_ni_ikuyo!,cat_planet_cuties"
+alleyne_(queen's_blade),4,297,
+advanced_nurturing_high_school_uniform,0,297,
+zetsumame,1,296,
+yukineko1018,1,296,
+willard_h._wright,4,296,willard_h_wright
+vibrator_in_thigh_strap,0,296,
+urbosa,4,296,
+terminator_(series),3,296,
+spoken_expression,0,296,
+rumi_(girls_und_panzer),4,296,
+rotix,1,296,
+reina_prowler,4,296,
+rachel_gardner,4,296,
+paopao,1,296,
+padded_coat,0,296,
+ouran_high_school_host_club,3,296,
+nelliel_tu_odelschwanck,4,296,"nel_tu,neliel_tu_oderschvank,nelliel"
+nejime,1,296,
+naoki_miki,4,296,
+moetan,3,296,
+miruto_netsuki,1,296,
+minosu,1,296,
+m4_sopmod_ii,0,296,
+kiddy_grade,3,296,kiddygrade
+itatatata,1,296,
+hyurasan,1,296,
+hinami_(hinatamizu),1,296,
+himeno_(chainsaw_man),4,296,
+greek_text,0,296,greek
+glasses_nun_(diva),4,296,
+giraffe_print,0,296,
+galaktika,4,296,
+franziska_von_karma,4,296,karuma_mei
+fal_(girls'_frontline),4,296,fal_(girls_frontline)
+facebook_logo,0,296,
+emori_miku,4,296,
+cube85,1,296,
+cocktail_umbrella,0,296,drink_umbrella
+cirenk,1,296,
+chiaki_rakutarou,1,296,
+bunk_bed,0,296,
+bluefield,1,296,
+beudelb,1,296,
+bell_(oppore_coppore),1,296,
+battery,0,296,batteries
+asterisk_kome,1,296,kome
+araido_kagiri,1,296,
+alternate_footwear,0,296,
+alison_(alison_airlines),1,296,alison_(alison_air_lines)
+zouni_soup,0,295,zoni_soup
+zinno,1,295,
+z.taiga,1,295,
+yoshito,1,295,
+white_bandana,0,295,
+wakamo_(swimsuit)_(blue_archive),4,295,
+veronica_(dq11),4,295,
+tsuyuri_kumin,4,295,
+tsunetsuki_matoi,4,295,
+tsareena,4,295,
+striped_pajamas,0,295,
+shundou_heishirou,1,295,
+seo_jaiil,1,295,seo_jae_il
+scientist,0,295,
+sakurai_energy,1,295,
+saitou_ena,4,295,
+provence_(arknights),4,295,
+penis_on_pussy,0,295,
+p19,1,295,
+nora_wanko,1,295,"norainu_(101),suwanko_nora"
+nishikitaitei-chan,4,295,
+nidalee,4,295,
+murabito_c,1,295,
+moribe_(rabumanyo),1,295,"hontani_kanae,rabumanyo"
+mochiya_marosuke,1,295,
+menat,4,295,
+meiya_neon,1,295,
+marie_antoinette_(swimsuit_caster)_(fate),4,295,
+m14_(girls'_frontline),4,295,m14_(girls_frontline)
+lizardman,0,295,
+kotona_elegance,4,295,
+koala,0,295,
+kitano_(kitanosnowwhite),1,295,
+kanamori_sayaka,4,295,
+izumi_mahiru,1,295,
+ishihara_masumi,1,295,
+holding_bone,0,295,
+hati105,1,295,"hachi105,rinnrinn"
+grappler_baki,3,295,baki_the_grappler
+gishu,1,295,
+gift_wrapping,0,295,
+fudou_akio,4,295,
+crocodile_(one_piece),4,295,sir_crocodile
+bisharp,4,295,
+bili_girl_22,4,295,
+bear_paw_hammer,0,295,
+yokune_ruko,4,294,
+wainscoting,0,294,
+usugumo_(kancolle),4,294,usugumo_(kantai_collection)
+tuxedo_de_cat,1,294,
+tsukamoto_minori,1,294,
+tsu_(lovesick1964),1,294,buttoniris
+torn_kimono,0,294,torn_yukata
+tonari_no_kyuuketsuki-san,3,294,ms._vampire_who_lives_in_my_neighborhood
+tonami_yuma,4,294,
+titanfall_2,3,294,
+takeashiro,1,294,
+takano_natsuki,1,294,
+spread_armpit,0,294,armpit_spreading
+souya_(kancolle),4,294,
+socks_over_pantyhose,0,294,
+scar_on_hand,0,294,
+right-to-left_comic,0,294,
+pinecone,0,294,
+ohitashi_netsurou,1,294,donabe0w0
+nimura_yuuji,1,294,
+nasuno_(nasuno42),1,294,
+miyuki_ruria,1,294,miyukiruria
+mieharu,1,294,
+metal_gloves,0,294,
+matsumi_yuu,4,294,
+master_4_(housamo),4,294,master_4_(tokyo_houkago_summoners)
+luviagelita_edelfelt,4,294,luvia_zeritta_edelfelt
+lotosu,1,294,
+lloule,1,294,
+kuromayu,1,294,
+kiyal_bachika,4,294,
+kinosuke_(sositeimanoga),1,294,
+kanola_u,1,294,
+k/da_ahri,4,294,
+hanomido,1,294,
+gocoli,1,294,
+gakuen_utopia_manabi_straight!,3,294,"gakuen_utopia_manabi_straight,manabi_straight,manabi_straight!"
+fire_keeper,4,294,
+final_fantasy_i,3,294,"ff1,ffi"
+crimson_viper,4,294,
+clothed_bath,0,294,"bathing_with_clothes_on,clothed_shower,showering_with_clothes_on"
+chloe_(pokemon),4,294,sakuragi_koharu
+cat_panties,0,294,
+asami_sato,4,294,
+acronym,0,294,
+zono_(inokura_syuzo029),1,293,
+yuyaiyaui,1,293,
+yune_(fire_emblem),4,293,
+veronica_(fire_emblem),4,293,
+usatsuka_eiji,1,293,
+tsukineko,1,293,
+totatokeke,1,293,
+tenco's_story,3,293,
+subarashiki_kono_sekai,3,293,the_world_ends_with_you
+sogaya,1,293,
+sock_dangle,0,293,
+snowball_fight,0,293,
+shirayuki_tomoe,4,293,
+seelie_(genshin_impact),4,293,
+satou_lilly,4,293,
+purin_jiisan,1,293,
+princess_lover,3,293,
+pretty_rhythm_rainbow_live,3,293,
+pizzasi,1,293,
+pincushion,0,293,
+palkia,4,293,
+noeyebrow_(mauve),1,293,
+niwamaru_(niwarhythm),4,293,
+nina_(breath_of_fire_v),4,293,nina_v
+naik,1,293,akihara_nakuru
+mist_(fire_emblem),4,293,
+miki_sayaka_(cosplay),0,293,
+luminyu,1,293,
+large_buttons,0,293,
+kukui_(pokemon),4,293,
+jigen_daisuke,4,293,
+hiroyuki,1,293,
+heavenly_boat_maanna,0,293,
+gravity_falls,3,293,
+fuyou_kaede,4,293,
+cure_aqua,4,293,
+cedar_(artist),1,293,
+butterfly-shaped_pupils,0,293,
+bicycle_helmet,0,293,
+athrun_zala,4,293,
+aijou_karen,4,293,
+wringing_skirt,0,292,
+wallace_(pokemon),4,292,mikuri_(pokemon)
+vintage_microphone,0,292,
+ushiromiya_george,4,292,
+titania_(sao),4,292,
+tenugui,0,292,
+tailjob,0,292,
+swing_set,0,292,
+super_sailor_chibi_moon,4,292,
+stamp_mark,0,292,
+sowel_(sk3),1,292,
+snow_halation,0,292,
+sledgehammer,0,292,
+shorts_under_shorts,0,292,
+shin_megami_tensei_iii:_nocturne,3,292,"shin_megami_tensei:_lucifer's_call,shin_megami_tensei:_nocturne,shin_megami_tensei_nocturne"
+selcky,1,292,
+sawachika_eri,4,292,
+russian_clothes,0,292,
+purple_sister,4,292,
+print_apron,0,292,
+organs,0,292,
+nero_(devil_may_cry),4,292,nero_(dmc)
+nerine,4,292,
+mirage_(apex_legends),4,292,
+masterwork_apocalypse,3,292,shuumatsu_no_akasha
+majima_gorou,4,292,
+m1903_springfield,0,292,
+lillithlauda,1,292,lilith_lauda
+kuonji_alice,4,292,
+kirishima_kai_ni_(kancolle),4,292,
+kazami_karasu,1,292,
+kai-ri-sei_million_arthur,3,292,
+kaguya_madoka,4,292,
+jiffic,1,292,
+imitating,0,292,mimicry
+ico,3,292,ico_(game)
+hyrule_warriors:_age_of_calamity,3,292,
+horokusa_(korai),1,292,
+hokuro_ryuuseigun,1,292,hokuroryuseigun
+hiyori_(rindou66),1,292,
+himura_moritaka,1,292,fire_maxs
+hands_on_floor,0,292,
+go-1,1,292,
+futaba_sana,4,292,
+futaba_aoi_(vividred_operation),4,292,
+fall_guys,3,292,
+detonator,0,292,
+cinderella,3,292,
+anzio_(emblem),0,292,
+anchor_ornament,0,292,
+alien_(movie),3,292,
+akishima_kei,1,292,
+akata_itsuki,1,292,agata_itsuki
+akanagi_youto,1,292,
+aikir_(jml5160),1,292,
+wall-eyed,0,291,
+vladilena_millize,4,291,
+touhoku_itako,4,291,
+torn_bodystocking,0,291,
+tied_to_chair,0,291,
+thigh_belt,0,291,
+sub-res,1,291,
+snapping_fingers,0,291,
+signora_(genshin_impact),4,291,
+shooting_glasses,0,291,
+sakuma_jirou,4,291,
+ryo_(liver_sashi_daisuki!),1,291,
+oogami_sakura,4,291,ookami_sakura
+okunoda_miyoi,4,291,
+nosuku,1,291,
+nakkar,1,291,
+monsieur,1,291,
+marionette,0,291,
+mane,0,291,
+kotori_(takanashi_kiara),4,291,colonel_kernel_(takanashi_kiara)
+koishi_komeiji's_heart-throbbing_adventure,3,291,"komeiji_koishi's_heart_throbbing_adventure,komeiji_koishi_no_dokidoki_daibouken"
+katsuobushi_(eba_games),1,291,
+katiko,1,291,
+karimei,1,291,
+kantaka,1,291,
+kamen_rider_blade_(series),3,291,
+kakao_(chocolate_land),1,291,kakao
+juexing_(moemoe3345),1,291,moemoe3345
+hoshina_tomoko,4,291,
+holding_skirt,0,291,
+green_sky,0,291,
+gorilla_(bun0615),1,291,
+fukuroumori,1,291,
+emil_chronicle_online,3,291,
+egg_yolk,0,291,yolk
+e_volution,1,291,ege_(597100016)
+deedlit,4,291,
+cicada,0,291,
+chiton,0,291,
+chimame-tai,0,291,
+chacha_(fate),4,291,chacha_(fate/grand_order)
+brll,1,291,
+aqua_lips,0,291,aqua_lipstick
+aoi_kujira,1,291,"aioi_aoi,yoshinaga_p"
+amonitto,1,291,
+american_football_uniform,0,291,
+yuku_(kiollion),1,290,kiollion
+wetland,0,290,"marsh,swamp"
+waiting,0,290,
+vermeil_(arknights),4,290,
+toi8,1,290,
+tile_roof,0,290,
+thrud_(fate),4,290,thrud_(fate/grand_order)
+suisogenshi,1,290,
+silent_hill_3,3,290,
+shrine_bell,0,290,
+science,0,290,
+sala_mander,1,290,ozaki_(ko-zaki)
+sail,0,290,
+retsumaru,1,290,
+ootori_emu,4,290,
+nishimura_eri,1,290,eri_(erimo)
+nest,0,290,
+nekoshoko,1,290,
+moyashimon,3,290,moyasimon:_tales_of_agriculture
+marida_cruz,4,290,marida_kruz
+maou_beluzel,4,290,
+mahou_shoujo_oriko_magica,3,290,"oriko_magica,puella_magi_oriko_magica"
+kuoh_academy_school_uniform,0,290,
+kogatarou,1,290,
+kochiya_(gothope),1,290,
+kazabuki_poni,1,290,po_ni
+jagabutter,1,290,
+jaco,1,290,
+hot_air_balloon,0,290,
+food_between_breasts,0,290,
+fatal_frame_2,3,290,"crimson_butterfly,fatal_frame_ii"
+emma_(yakusoku_no_neverland),4,290,
+eargasm,0,290,
+dynamic_pose,0,290,
+don_(29219),1,290,
+demizu_posuka,1,290,
+cnm,1,290,
+clash,0,290,
+chiyo_(pk19981234),1,290,
+chiester45,4,290,siesta45
+charging_forward,0,290,
+catfight,0,290,cat_fight
+caterpillar,0,290,
+candice_(pokemon),4,290,suzuna_(pokemon)
+axent_wear,0,290,
+ar_(rikuesuto),1,290,
+aegislash,4,290,
+2011_sendai_earthquake_and_tsunami,0,290,pray_for_japan
+yude,1,289,
+vanilla_h,4,289,
+undone_neckerchief,0,289,
+studded_garter_belt,0,289,
+sidonia_no_kishi,3,289,
+shirako_(kirupi),1,289,kirupi
+shinomu_(cinomoon),1,289,"murakami_ryouga,tatsu_shinomu"
+shadow_of_the_colossus,3,289,
+sesield,1,289,
+samsung,3,289,samsung_electronics
+rerrere,1,289,waterdog
+pui_pui_molcar,3,289,
+ppk_(girls'_frontline),4,289,ppk_(girls_frontline)
+popopoka,1,289,
+otegine,4,289,
+orion_(orionproject),1,289,
+nyori,1,289,
+nekoi_mie,1,289,
+nagumo_haruya,4,289,
+mx2j_(nsh6394),1,289,yonggi
+multicolored_capelet,0,289,
+marie_rose_(devilish_servant_against_the_splashing_waves),4,289,
+mahoujin_guruguru,3,289,
+lina_kontiola,4,289,
+liechtenstein_(hetalia),4,289,
+kokuriu,1,289,kokuryuugan
+kamizaki_risa,4,289,
+k2_(girls'_frontline),4,289,"k-2_(girls'_frontline),k-2_(girls_frontline)"
+ichikawa_masahiro,1,289,
+horizontal_bar,0,289,chin-up_bar
+holding_suitcase,0,289,
+hip_armor,0,289,
+hiiragi_shinoa,4,289,
+hatsune_miku_(nt),4,289,
+hajika,1,289,hajikaji
+grey_horns,0,289,
+florina_(fire_emblem),4,289,
+felicia_(fire_emblem),4,289,felicia_(fire_emblem_if)
+creamer_(vessel),0,289,
+crazy_diamond,4,289,
+costume_request,5,289,
+cilan_(pokemon),4,289,dent_(pokemon)
+chorefuji,1,289,
+brook_(one_piece),4,289,brook
+brain_freeze,0,289,brainfreeze
+block,0,289,
+bellhenge,1,289,
+bankoku_ayuya,1,289,
+anabuki_tomoko,4,289,
+xinzoruo,1,288,
+winking_(animated),0,288,winking
+ushiwakamaru_(swimsuit_assassin)_(fate),4,288,
+tokisaki_asaba,4,288,
+svd_(girls'_frontline),4,288,svd_(girls_frontline)
+soundwave_(transformers),4,288,soundwave
+shaved_head,0,288,
+sewing_pin,0,288,
+scamp_(kancolle),4,288,
+sailor_pluto,4,288,
+riesbyfe_stridberg,4,288,
+ranma_(kamenrideroz),1,288,
+push-ups,0,288,press-ups
+photokano,3,288,
+percival_(granblue_fantasy),4,288,
+oiran,0,288,
+norizc,1,288,zicai_tang
+moebell,1,288,moebell0
+mizuyan,1,288,
+mitsuki_yuuya,1,288,
+midori_foo,1,288,midori_fuu
+meto31,1,288,
+mc_axis,3,288,
+mayu_(vocaloid),4,288,
+maccha,1,288,
+lilith_(saikin_yatotta_maid_ga_ayashii),4,288,
+latex_boots,0,288,
+koohee,1,288,sibanoue
+knocking,0,288,
+holding_bird,0,288,
+gyaruo,0,288,male_gyaru
+great_ball,0,288,super_ball
+glaucus_(arknights),4,288,
+gibagiba,1,288,
+furniture,0,288,
+floating_fortress_(kancolle),4,288,floating_fortress_(kantai_collection)
+exaxuxer,1,288,kuma_x
+enosan,1,288,
+crash,0,288,
+brown_mittens,0,288,
+banana_boat,0,288,
+yuzuki_roa,4,287,
+yagami_(mukage),1,287,
+wet_pantyhose,0,287,
+usume_shirou,1,287,
+urotsuki,4,287,
+umiroku,1,287,yukiroku
+tsuchiya_(girls_und_panzer),4,287,
+tosa_(azur_lane),4,287,
+tenkubashi_tomoka,4,287,tenkuubashi_tomoka
+takeyuu,1,287,
+summer_wars,3,287,
+stormcow,1,287,
+sk8_the_infinity,3,287,
+sheffield_(kancolle),4,287,sheffield_(kantai_collection)
+ruteko_(ruko220),1,287,
+reimu_endou,4,287,
+pixiv_logo,0,287,
+perepere-kun,1,287,
+panties_on_penis,0,287,"panty_on_penis,pantyjob"
+panties_in_mouth,0,287,
+no_headgear,0,287,
+nishino_flower_(umamusume),4,287,
+nicoby,1,287,
+narynn,1,287,
+mighty_no._9,3,287,
+m14,0,287,
+listener_(inugami_korone),4,287,
+keiko_(mitakarawa),1,287,
+jadenkaiba,1,287,
+imai_kazunari,1,287,heart_gallery
+heavy_cruiser_princess,4,287,heavy_cruiser_hime
+hana_(pangya),4,287,
+grenade_hair_ornament,0,287,
+green322,1,287,
+gearous,1,287,
+gaiko_kujin,1,287,
+eyebrows_visible_through_hat,0,287,
+elysia_de_lute_ima,4,287,"elsea_de_lute_irma,elsee_de_ruth_ima"
+dorothy_(princess_principal),4,287,
+cutlass_(sword),0,287,
+corrupted_file,5,287,"corrupted_image,corrupted_video"
+cool_&_sexy_(idolmaster),0,287,cool_&_sexy(idolmaster)
+clair_(pokemon),4,287,ibuki_(pokemon)
+buster_shirt,0,287,
+brigitte_(overwatch),4,287,brigitte_lindholm
+bakuon!!,3,287,bakuon
+assassin_(ragnarok_online),4,287,assassin_(ro)
+arm_over_shoulder,0,287,
+10eki_(tenchou),1,287,
+zas_m21_(girls'_frontline),4,286,zas_m21_(girls_frontline)
+zarya_(overwatch),4,286,aleksandra_zaryanova
+xblaze_code:_embryo,3,286,
+wrist_flower,0,286,
+vivid_strike!,3,286,
+traffic_mirror,0,286,
+tokyo_tower,0,286,
+tenrai,1,286,
+sword_print,0,286,
+st._lucia_academy_school_uniform,0,286,
+spiked_penis,0,286,"barbed_penis,studded_penis"
+spidu,1,286,ragathol
+seliph_(fire_emblem),4,286,celice_(fire_emblem)
+rattata,4,286,
+puririn,1,286,aumcry
+puffy_chest,0,286,
+pu-en,1,286,ramble
+poco_(backboa),1,286,
+placard,0,286,
+osisio,1,286,oshishio
+ookami_ryouko,4,286,
+okumura_yukio,4,286,
+nyto_(girls'_frontline),4,286,
+ninai,1,286,ninainaidesss
+nero_claudius_(bride)_(third_ascension)_(fate),4,286,
+neck_grab,0,286,
+monarch_(azur_lane),4,286,
+mitake_eil,1,286,mitake_eiru
+menpoo,0,286,
+marugoshi_teppei,1,286,
+macross_frontier:_itsuwari_no_utahime,3,286,"macross__frontier:_itsuwari_no_utahime,macross_frontier:_the_false_diva,macross_frontier:_the_false_songstress"
+m16a1_(boss)_(girls'_frontline),4,286,"m16a1_(girls'_frontline)_(boss),m16a1_(girls_frontline)_(boss)"
+louise_(touhou),4,286,luize
+koflif,1,286,
+kitayama_miuki,1,286,
+kimono_removed,0,286,
+jadf,1,286,nurgle777
+iumi_urura,1,286,
+inu_sakuya_(nejikirio),4,286,inu_sakuya
+hoppip,4,286,
+holding_ice_cream,0,286,
+holding_another's_head,0,286,
+hikaru_no_go,3,286,hikago
+hey_taisyou,1,286,"bakabakasii,hey_taishou"
+hedge,0,286,hedge_(plant)
+head_steam,0,286,
+hataraku_saibou_black,3,286,cells_at_work!_code_black
+hakamada_hinata,4,286,
+green_collar,0,286,
+gomamiso_(gomamiso_sp),1,286,gomamiso_sti
+girl_cafe_gun,3,286,
+fu_hua_(phoenix),4,286,
+eyes_in_shadow,0,286,
+dungeon_travelers_2,3,286,
+despair,0,286,
+crobat,4,286,
+conch,0,286,
+ch'en_the_holungday_(arknights),4,286,
+bounsweet,4,286,
+blue-senpai,1,286,
+balaclava,0,286,
+ast,1,286,
+ability_card_(touhou),0,286,
+yae_sakura_(goushinnso_memento),4,285,
+wet_face,0,285,
+vest_over_shirt,0,285,
+underskirt,0,285,
+tiemu_(man190),1,285,
+thor_(marvel),4,285,
+takatsuki_ichika,4,285,
+takamine_nadare,1,285,nadare-san_(nadare3nwm)
+taisho_(gumiyuki),1,285,
+swirl,0,285,
+skj,1,285,
+shield_print,0,285,
+savannah,0,285,
+rejection,0,285,
+potg_(piotegu),1,285,
+pink_feathers,0,285,
+penthesilea_(fate),4,285,penthesilea_(fate/grand_order)
+origami_cyclone,4,285,
+nagayoshi_subaru,4,285,
+monkey_boy,0,285,
+mitsumine_mashiro,4,285,
+minami_saki,1,285,
+miku_day,0,285,mikupa
+kuroinu_~kedakaki_seijo_wa_hakudaku_ni_somaru~,3,285,
+ki_(kk-sk-ray),1,285,kk-sk-ray
+jas,1,285,
+inue_shinsuke,1,285,
+head_on_table,0,285,
+hands_on_legs,0,285,
+gomzi,1,285,
+gacha-m,1,285,
+friday_the_13th,3,285,
+elfen_lied,3,285,elfenlied
+dororo_(tezuka),3,285,
+denki_showgun,1,285,"denki_shougun,denkishowgun"
+curly_brace,4,285,
+cupping_hand,0,285,
+cunnilingus_through_clothes,0,285,
+cosmic_(crownclowncosmic),1,285,
+chaki_(teasets),1,285,
+bowalia,1,285,bowa
+ashita_(2010),1,285,
+yutamaro,1,284,
+wing_ornament,0,284,
+weather_report,4,284,
+warframe,3,284,
+utage_(summer_flowers)_(arknights),4,284,utage_(xia_hui)_(arknights)
+tsukigami_runa,1,284,runa_runa
+tomoyuki_kotani,1,284,styleos
+tied_sleeves,0,284,
+text_in_eyes,0,284,
+swordsman_(ragnarok_online),4,284,
+sheep_nun_(diva),4,284,
+saizu_nitou_gunsou,1,284,
+rumble_roses,3,284,
+putting_on_shoes,0,284,
+purple_headband,0,284,
+pumpkaboo,4,284,
+powerlesssong,1,284,
+portal_1,3,284,
+peni_parker,4,284,
+ouendan,0,284,
+mortarboard,0,284,"graduate_cap,graduation_cap"
+mizuta_kenji,1,284,suidengetsu
+miyako_(naotsugu),1,284,
+mejiro_palmer_(umamusume),4,284,
+masaki_sasami_jurai,4,284,sasami_masaki_jurai
+makai_tenshi_djibril,3,284,makai_tenshi_jibril
+kounosu_satori,1,284,
+kingprotea_(fate),4,284,kingprotea
+kienbiu,1,284,
+katagiri_hachigou,1,284,
+kampfer,3,284,kämpfer
+kamen_rider_kuuga,4,284,
+iwatani_naofumi,4,284,
+hinoue_itaru,1,284,
+hazuki_nagisa,4,284,
+hagiya_masakage,1,284,fountain's_square
+cu_chulainn_(fate/prototype),4,284,
+christian_louboutin_(brand),0,284,louboutin_(shoes)
+chigasaki_yukari,1,284,
+bola_(weapon),0,284,
+bad_end_precure,0,284,
+azure_striker_gunvolt,3,284,
+10mo,1,284,
+white_tube_top,0,283,
+white_jumpsuit,0,283,
+wasabi_(sekai),1,283,
+virtual_on,3,283,
+vertical-striped_gloves,0,283,
+vashperado,1,283,mike_nesbitt
+tj-type1,1,283,
+the_saga_of_darren_shan,3,283,
+the_emperor_(arknights),4,283,
+tawawa_challenge,0,283,
+stella_unibell,4,283,
+steampunk_(liarsoft),3,283,
+stealth_masturbation,0,283,hidden_masturbation
+ssambatea,1,283,idohj12
+smelling_penis,0,283,
+rune_factory_4,3,283,
+resort_boin,3,283,
+pokemon:_twilight_wings,3,283,
+paradeus,0,283,
+ohland,1,283,
+nora_valkyrie,4,283,
+murasaki_shikibu_(swimsuit_rider)_(fate),4,283,
+multiple_hat_bows,0,283,
+monocle_chain,0,283,
+mizuhara_yuu,1,283,"homurado,mizuhara_yu,rip@lip,rip@lip"
+melody_(projektmelody),4,283,
+megumiya,1,283,
+maruma_(maruma_gic),1,283,
+kiss_day,0,283,
+kieyza,1,283,
+jyt,1,283,
+julia_(fire_emblem),4,283,yuria_(fire_emblem)
+joy_(pokemon),4,283,nurse_joy
+ishikawa_luna,4,283,
+hori_masayuki,4,283,
+heart_hair_bun,0,283,
+heart_eyepatch,0,283,
+hatching,0,283,
+handrail,0,283,
+gurren-lagann,4,283,
+fuusuke_(fusuke208),1,283,
+elona,3,283,
+doxy,1,283,onta
+dildo_under_panties,0,283,
+deal_with_it_(meme),0,283,deal_with_it
+cure_mint,4,283,
+cthulhu,4,283,
+courreges_ace,1,283,k.y_ko
+copano_rickey_(umamusume),4,283,
+chung_seiker,4,283,chung_(elsword)
+captured,0,283,
+captive_bead_ring,0,283,
+cannibalism,0,283,
+calcio,1,283,karucho
+bonnie_(rsg),1,283,
+blue_gk,1,283,
+between_buttocks,0,283,
+baking_sheet,0,283,"baking_tray,cookie_sheet,sheet_pan"
+amai_nekuta,1,283,hatsumi_nekuta
+adiane,4,283,
+abe_yoshitoshi,1,283,yoshitoshi_abe
+zone_of_the_enders,3,282,
+yuuki_akira,1,282,youki_aki
+yagami_kou,4,282,
+yabuki_kana,4,282,
+xretakex,1,282,
+wooden_box,0,282,
+wolfrun,4,282,
+witch_mercy,4,282,
+watao,1,282,oyu_(sijimisizimi)
+vento,1,282,
+van_gogh_(fate),4,282,
+tsuruga_school_uniform,0,282,
+tenkuu_no_crystalia,3,282,
+suna_(sandworks),1,282,suna
+shoulder_cape,0,282,
+shattered,0,282,
+santa_matsuri,1,282,santa_maria
+repede_(tales),4,282,repede
+red_bandeau,0,282,
+pokemon_on_arm,0,282,
+negi_(ulog'be),1,282,ulogbe
+naufaldreamer,1,282,
+natsumi_akira,1,282,
+milim_nava,4,282,
+meliodas,4,282,
+longcat_(meme),0,282,longcat
+koban_(gold),0,282,
+kakine_teitoku,4,282,
+injection,0,282,
+hyper_blossom,4,282,
+houkago_teibou_nisshi,3,282,
+honekoneko_(psg),4,282,
+hirune_(konekonelkk),1,282,nel_(hana-melt)
+hatoyama_itsuru,1,282,catsizuru
+grey_cat,0,282,
+grandfather_clock,0,282,
+fujimoto_hideaki,1,282,
+floating_headgear,0,282,
+face_between_breasts,0,282,"face_in_breasts,motorboating"
+diary,0,282,
+cure_chocolat,4,282,
+censored_food,0,282,
+awakened_miki,4,282,hoshii_miki_(awakened)
+artwhirl_mahou_gakuen_no_otome-tachi,3,282,
+akaneya,1,282,
+zipper_dress,0,281,
+yuki_miku_(2017),4,281,
+vanripper,1,281,
+toriniku_senshi_chikinman,1,281,
+togata_mirio,4,281,"lemillion_(boku_no_hero_academia),toogata_mirio"
+text_censor,0,281,censor_text
+takabushi_kengo,4,281,"kengo_(housamo),kengo_(tokyo_houkago_summoners)"
+suenari_(peace),1,281,
+splat_roller_(splatoon),0,281,
+single-shoulder_dress,0,281,
+shiratsuki_shiori,1,281,shiny_shinx
+shin_strap,0,281,
+red_shawl,0,281,
+racing_miku_(2022),4,281,
+purple_border,0,281,
+oosuki_mamako,4,281,
+nome_(nnoommee),1,281,
+nanakusa_nichika,4,281,
+moyori,1,281,
+mortal_kombat,3,281,
+momomiya_ichigo,4,281,
+laces,0,281,
+kuroda_kazuya,1,281,kazuya_kuroda
+kuroda_akimi,1,281,
+kousaka_china,4,281,
+kaenuco,1,281,
+jewelpet_twinkle,3,281,"jewel_pet_tinkle,jewelpet_tinkle"
+hoshikuzu_witch_meruru,3,281,
+horibe_hiderou,1,281,horibe_hidero
+hirunagi,1,281,harzola
+hasumi_(gym_uniform)_(blue_archive),4,281,
+hashimoto_nyaa,4,281,hashimoto_nyan
+hanged,0,281,
+hagane_soushi,1,281,kagura_soushi
+goose,0,281,
+glass_writing,0,281,window_writing
+female_gunner_(dungeon_and_fighter),4,281,
+eye_print,0,281,
+doppelganger,0,281,
+diamond_clan_outfit,0,281,
+dead_by_daylight,3,281,
+dduck_kong,1,281,lee_seok_ho
+dark_orb_(madoka_magica),0,281,
+crumpled_paper,0,281,
+crimvael,4,281,
+collagen,1,281,
+citrus_(saburouta),3,281,
+chikuma_kai_ni_(kancolle),4,281,
+chamupei,1,281,
+c.c._lemon_(character),4,281,
+busou_renkin,3,281,
+bumblebee_(transformers),4,281,bumblebee
+bucket_on_head,0,281,
+brave_girl_ravens,3,281,
+aqua_one-piece_swimsuit,0,281,aqua_swimsuit
+amane_misa,4,281,
+african_penguin_(kemono_friends),4,281,
+abua,1,281,
+aardwolf_(kemono_friends),4,281,
+3four,1,281,"34_(hakunimu),truc_bui"
+zundarepon,1,280,
+yusa_emi,4,280,
+yellow_lips,0,280,yellow_lipstick
+vehicle_request,5,280,
+ukokkei,1,280,
+tsurumi_chiriko,4,280,
+tsukioka_tsukiho,1,280,
+tenki_no_ko,3,280,weathering_with_you
+tama_(tama-s),1,280,
+t_k_g,1,280,tkggagagasyu
+sumisaki_yuzuna,1,280,
+smash_invitation,0,280,
+saitou_hajime_(fate),4,280,
+s-now,1,280,
+prince_of_samantoria,4,280,
+prime,1,280,
+oka_mochi,1,280,
+naitou_kouse,1,280,
+nabe,0,280,
+mystia_lorelei_(bird),4,280,
+mogiki_hayami,1,280,
+mameeekueya,1,280,
+loading_screen,0,280,
+layered_gloves,0,280,
+large_ears,0,280,
+koffing,4,280,
+kitazinger,1,280,
+joker_(card),0,280,joker_card
+iwato_kasumi,4,280,
+huei_nazuki,1,280,huei_naduki
+houzouin_oniwaka,4,280,"oniwaka_(housamo),oniwaka_(tokyo_houkago_summoners)"
+holding_plant,0,280,
+hiroe_rei,1,280,tex-mex
+hellandheaven,1,280,
+hair_scarf,0,280,
+gaap_(umineko),4,280,
+fuji_kiseki_(umamusume),4,280,
+flower_bed,0,280,
+distortion,0,280,
+cub,0,280,
+chocoan,1,280,
+ceylon_(arknights),4,280,
+braces,0,280,
+bloodhound_(apex_legends),4,280,
+beelzebub_(umineko),4,280,
+allen_walker,4,280,
+98-tan,4,280,98
+yqgkg,1,279,
+wonder_festival,3,279,
+vanguard_princess,3,279,
+u_yuz_xx,1,279,
+twumi,1,279,
+the_evil_within,3,279,
+tamamon,1,279,
+shirayuki_mizore,4,279,
+shibori_kasu,1,279,
+shelf_bra,0,279,
+scolipede,4,279,
+safety_glasses,0,279,
+riv_(rivleaf),1,279,riv
+rikumaru,1,279,
+reisen_udongein_inaba_(cosplay),0,279,
+racer_(magnet),1,279,
+q_azieru,1,279,
+pururut,4,279,plutia
+prince,0,279,
+pinky_ring,0,279,
+penny_polendina,4,279,
+paya_(zelda),4,279,
+orenchi_no_meidosan,3,279,
+nanami_haruka,4,279,
+money_gesture,0,279,
+mizushima_saki,4,279,
+miramikaru_riran,4,279,
+miltank,4,279,
+long_scarf,0,279,
+kuromi,4,279,
+kshimu,1,279,antyobi0720
+kinnikuman,3,279,
+kamichu!,3,279,kamichu
+k_(anime),3,279,
+jason_voorhees,4,279,
+holding_crossbow,0,279,
+hisayuki_hirokazu,1,279,
+hayakawa_akari,1,279,
+goribote,1,279,haribote_(tarao)
+gisyo,1,279,
+garnish,0,279,
+fiery_background,0,279,burning_background
+factory,0,279,
+electro_emilia,4,279,
+dying_message,0,279,
+creator_(ragnarok_online),4,279,biochemist_(ragnarok_online)
+chawan_(yultutari),1,279,
+carriage,0,279,
+captain_(honkai_impact),4,279,
+buckler,0,279,
+bucket_of_water,0,279,
+bailingxiao_jiu,1,279,
+azuki_azusa,4,279,
+akita_hika,1,279,akitahika44
+aka_ringo,1,279,
+adjusting_goggles,0,279,
+yomiko_readman,4,278,
+watanabe_yoshihiro,1,278,"ginpachi,moo_do_dan,nabechi,tettechi"
+test,0,278,
+sushio,1,278,
+striped_pillow,0,278,
+ryuuzaki_umi,4,278,
+rokudenashi_majutsu_koushi_to_akashic_record,3,278,akashic_records_of_bastard_magic_instructor
+paula_(mother_2),4,278,paula_polestar
+pathfinder_(apex_legends),4,278,
+nekono_rin,1,278,
+nanase_meruchi,1,278,
+naked_belt,0,278,
+mortar,0,278,
+morimoto_kiyona,1,278,d_kurouri
+mizoguchi_keiji,1,278,ntype
+misaka_shiori,4,278,
+mega_man_x_dive,3,278,rockman_x_dive
+matsumotoke,1,278,qavi
+leblanc_(league_of_legends),4,278,emilia_leblanc
+kurono_yuu,1,278,
+kokutou_mikiya,4,278,
+kibanda_gohan,1,278,
+kesoshirou,1,278,
+itai_no_wa_iya_nano_de_bougyoryoku_ni_kyokufuri_shitai_to_omoimasu,3,278,bofuri
+igawa_sakura,4,278,
+i-400_(kancolle),4,278,i-400_(kantai_collection)
+hitowa,1,278,
+hasshaku-sama,4,278,
+hand_fan_writing,0,278,
+grand_theft_auto,3,278,
+g-spring_goddess_(ishiyumi),4,278,
+furious,0,278,"enraged,rage"
+destroyer_(girls'_frontline),4,278,destroyer_(girls_frontline)
+color_drain,0,278,
+bwell,1,278,
+bust_measuring,0,278,breast_measuring
+black_sarong,0,278,
+beige_pants,0,278,
+beelzebub_(helltaker),4,278,
+artoria_pendragon_(lancer_alter)_(royal_icing)_(fate)_(cosplay),0,278,
+amaryllis_gumi,3,278,"amaryllis,amaryllis_class"
+alternate_muscle_size,0,278,
+40010prototype,1,278,
+wicke_(pokemon),4,277,vicke_(pokemon)
+viy_(fate),4,277,viy
+tousen,1,277,
+toriel,4,277,
+too_many_sex_toys,0,277,
+takishima_asaka,1,277,+legacy
+taihou_(temptation_on_the_sea_breeze)_(azur_lane),4,277,
+starfire,4,277,
+smeared_lipstick,0,277,
+ski_goggles,0,277,
+shishiou,4,277,
+scarlet_ibis_(kemono_friends),4,277,
+sakamoto_mineji,1,277,
+saemon_(tonpura),1,277,
+print_eyepatch,0,277,
+pokemon_rgby_(prototype),3,277,
+pina_korata,4,277,
+phantasy_star_portable_2,3,277,
+nikuku_(kazedesune),1,277,kazedesune
+nightstand,0,277,
+nextoad,1,277,
+makimura_shunsuke,1,277,
+luger_p08,0,277,
+luca_kaneshiro,4,277,
+liru,4,277,
+lipps_(idolmaster),0,277,
+lefthand,1,277,
+kiryuu_moeka,4,277,
+kinako_(40hara),4,277,
+kaede_(yumesaki_kaede),1,277,kaede_(003591163)
+ka-class_submarine,4,277,
+ipuu_(el-ane_koubou),1,277,pestxsan
+inu_(marukome),1,277,marukome01
+houston_(kancolle),4,277,houston_(kantai_collection)
+hoshi_(snacherubi),1,277,
+hecatia_lapislazuli_(earth),4,277,
+groudon,4,277,
+grey_cloak,0,277,
+endou_okito,1,277,okito_endoh
+ear_down,0,277,
+doomguy,4,277,
+ddal,1,277,
+columbina_(genshin_impact),4,277,"damselette_(genshin_impact),damslette_(genshin_impact)"
+clown_nose,0,277,
+bluebird,0,277,
+blowing_smoke,0,277,
+ballistic_shield,0,277,
+aoyama_sumika,4,277,
+ao_jun,1,277,
+allen_avadonia,4,277,
+zeta_gundam_(mobile_suit),4,276,
+yoga,0,276,
+uzumaki_himawari,4,276,
+ushiyama_ame,1,276,
+tedeza_rize's_school_uniform,0,276,
+sweets_bird,0,276,
+stuffing,0,276,
+shiwa_(siwaa0419),1,276,
+seisenshi_dunbine,3,276,aura_battler_dunbine
+scooby-doo,3,276,
+sara_(granblue_fantasy),4,276,
+salpin,1,276,
+saishi,0,276,
+saikawa_riko,4,276,
+peach_maki,4,276,
+nipple_torture,0,276,nipple_pain
+neko_(ganecooo),1,276,nello_(luminous_darkness)
+mutou_kurihito,1,276,
+morgana_(league_of_legends),4,276,
+minaha_(playjoe2005),1,276,playjoe2005
+matsunaga_ryo,4,276,matsunaga_ryou
+maou-jou_de_oyasumi,3,276,
+makai_no_juumin,1,276,makaij
+linhardt_von_hevring,4,276,
+kenuu_(kenny),1,276,
+janna_(league_of_legends),4,276,janna_windforce
+holding_rope,0,276,
+hand_on_hand,0,276,
+gym_challenge_uniform,0,276,
+gunner_(sekaiju),4,276,gunner
+garlean,0,276,
+fanning_crotch,0,276,
+emon-yu,1,276,maho_(boku_no_kao_wo_otabeyo)
+ctrlz77,1,276,
+corsola,4,276,
+cinque_(nanoha),4,276,
+blue_sports_bra,0,276,
+araiguma-san,4,276,
+adeleine,4,276,
+2004,0,276,
+yuunamida_uyu,1,275,
+yamato_suzuran,4,275,
+yamamomo_(plank),1,275,
+warabeda_meijii,4,275,
+tomotsuka_haruomi,1,275,mr_pavlov
+tokyo_exe_girls,3,275,
+tateishi_kureha,1,275,hamayuu_(litore)
+tapir,0,275,
+tales_of_destiny,3,275,
+stick_figure,0,275,
+spraying,0,275,
+sora_(blue_archive),4,275,
+sonoda_yuu,4,275,
+shoumaru_(gadget_box),1,275,syow-maru
+shauntal_(pokemon),4,275,shikimi_(pokemon)
+sanada_clan_(emblem),0,275,
+rolling_girl_(vocaloid),3,275,
+ribeyrolles_(girls'_frontline),4,275,"ribeyrolles_1918_(girls'_frontline),ribeyrolles_1918_(girls_frontline)"
+ren_san,1,275,
+railgun,0,275,railgun_(weapon)
+qian_wu_atai,1,275,
+pipa_(instrument),0,275,
+palette_swap,0,275,
+ohara_hiroki,1,275,
+nightingale_(arknights),4,275,
+nibiiro_shizuka,1,275,
+negi_springfield,4,275,
+nazuna_(hidamari_sketch),4,275,nazuna
+my_dear_vampire_(idolmaster),0,275,my_dear_vampire
+mutsutake,1,275,nokonoko_(cookie)
+mofuaki,1,275,
+mitsu_(mitsu_art),1,275,
+loba_(apex_legends),4,275,
+lifeguard,0,275,
+li_shuwen_(fate),4,275,
+kyoeiki,1,275,
+kitajima_yuuki,1,275,
+kidmo,1,275,kimdonga
+kawakami_masaki,1,275,
+ka2,1,275,
+honolulu_(kancolle),4,275,
+holding_candle,0,275,
+hifumi_(swimsuit)_(blue_archive),4,275,
+haruka_natsuki,1,275,
+hamburger_steak,0,275,
+frankenstein's_monster_(cosplay),0,275,
+fortune_arterial,3,275,
+flirting,0,275,
+edea_lee,4,275,
+ea_(fate/stay_night),0,275,
+cai_geng,1,275,
+blue_hawaii,0,275,
+asakura_rikako,4,275,
+aqua_vest,0,275,
+amibazh,1,275,
+77gl,1,275,
+witch_craft_works,3,274,
+window1228,1,274,
+vampire_(vocaloid),3,274,
+soyosoyo,1,274,irodorisoyosoyo
+souta_(karasu_no_ouchi),1,274,
+shigunyan,1,274,
+scissorhold,0,274,headscissors
+salamence,4,274,
+opagi,1,274,
+noise,0,274,
+nirap,1,274,
+nikku_(ra),1,274,
+morio_(poke_orio),1,274,
+mayo_(becky2006),1,274,
+matsu-sensei,1,274,
+marchen,3,274,märchen
+macross_frontier:_sayonara_no_tsubasa,3,274,macross_frontier:_the_wings_of_farewell
+little_blue_whale_(kancolle),4,274,little_blue_whale_(kantai_collection)
+kiwi_slice,0,274,
+kiryuu_kazuma,4,274,
+kimidori_emiri,4,274,
+jairou,1,274,xil
+hollow_knight,3,274,
+hasebe_yuusaku,1,274,
+green_pajamas,0,274,
+goblin_slayer,4,274,
+gainax,3,274,
+futon_(kitsune_tsuki),1,274,
+freng,1,274,
+floating_breasts,0,274,
+fallenshadow,4,274,
+eunos,1,274,
+dragon's_dogma,3,274,
+dr._slump,3,274,dr_slump
+dabi_(boku_no_hero_academia),4,274,
+brown_shawl,0,274,
+bloody_marie_(skullgirls),4,274,"marie_(skullgirls),marie_korbel"
+blaze_the_cat,4,274,
+black_sweater_vest,0,274,
+belphegor_(umineko),4,274,
+baton,0,274,
+bastet_(p&d),4,274,
+bakuya,1,274,
+asama_tomo,4,274,
+akira_(kadokawa),1,274,
+akatsuki_(log_horizon),4,274,
+xin_yu_hua_yin,1,273,
+watsuki_ayamo,1,273,
+uno_ryoku,1,273,
+the_only_shoe,1,273,
+teoi_(good_chaos),1,273,
+spoken_zzz,0,273,
+sogawa,1,273,
+saiba_(henrietta),1,273,
+ronove_(umineko),4,273,
+p-chan,4,273,
+overman_king_gainer,3,273,overmankinggainer
+oomiya_shinobu,4,273,
+oohira_sunset,1,273,
+oekaki_musume,3,273,
+nyonn24,1,273,suppa
+nou_(nounknown),1,273,
+natalia_luzu_kimlasca_lanvaldear,4,273,
+nakigitsune's_fox,4,273,
+miya_(tsumazukanai),1,273,
+mario_(cosplay),0,273,
+maaryan_(to_heart),4,273,
+kochiya_sanae_(cosplay),0,273,
+kkopoli,1,273,
+kamotama,1,273,
+jack-o'-lantern_earrings,0,273,
+iv_stand,0,273,
+inuarashi,1,273,
+iijima_yun,4,273,
+hyde_(tabakko),1,273,mr.holmes
+hanarito,1,273,
+hachi_(8bit_canvas),1,273,ryoki_(8bit)
+green_buruma,0,273,
+goback,1,273,
+fn_scar,0,273,
+female_orc,0,273,orc_female
+fal_maro,1,273,
+defy_(girls'_frontline),0,273,defy_(girls_frontline)
+david_martinez,4,273,
+cure_macaron,4,273,
+carina_(xiaowoo),1,273,
+black_gold_saw,4,273,
+bazooka_(gundam),0,273,
+bald_girl,0,273,
+archetype_earth,4,273,
+zanamaoria,1,272,
+yusa_(angel_beats!),4,272,
+youtube_logo,0,272,
+whale_hat,0,272,
+wet_legwear,0,272,
+ursula_charistes,4,272,"ursula_(little_witch_academia),ursula_callistis"
+ultra_kaijuu_gijinka_keikaku,3,272,
+udagawa_ako,4,272,
+trente,1,272,mio_(mgr300)
+suzumura_sango,4,272,
+sugina_miki,1,272,miki_sugina
+spoken_x,0,272,
+soul_evans,4,272,soul_eater_(character)
+sled,0,272,
+shoulder_plates,0,272,
+shimure_(460),1,272,suzusiigasuki
+shigure_ui,1,272,
+ridy_(ri_sui),1,272,
+rainbow_dash,4,272,
+ppshex,1,272,
+open_bikini,0,272,
+oleana_(pokemon),4,272,olive_(pokemon)
+naked_skirt,0,272,
+miki_purasu,1,272,miki_plus
+mibry_(phrysm),1,272,
+maxie_(pokemon),4,272,matsubusa_(pokemon)
+kuzu_kow,1,272,
+kazawa_(tonzura-d),1,272,
+karen_(pokemon),4,272,karin_(pokemon)
+kani_club,1,272,
+ji_dao_ji,1,272,
+ichio,1,272,
+hood_(james_x),1,272,
+hoe,0,272,
+himura_kenshin,4,272,
+hands_on_another's_back,0,272,
+haku_(sen_to_chihiro_no_kamikakushi),4,272,
+german_suplex,0,272,
+futaba_miwa,1,272,cube_sugar
+fizintine,1,272,
+fighting_master_alleyne,4,272,
+farm,0,272,
+ex_idol,1,272,
+cleats,0,272,
+bound_thighs,0,272,
+bomber,0,272,
+banana_(girls'_frontline),4,272,"banana_(girls_frontline),ro635_(dinergate)"
+baku_taso,1,272,
+axsen,1,272,alexandra_mae
+angel_devil_(chainsaw_man),4,272,
+anastasia_(swimsuit_archer)_(fate),4,272,
+amakusa_juuza,4,272,
+adjusting_shoe,0,272,adjusting_shoes
+yukino_minato,1,271,
+white_veil,0,271,
+victini,4,271,
+velvet_(odin_sphere),4,271,
+tomari_mari,4,271,
+tied_ears,0,271,
+tenka_touitsu_chronicle,3,271,
+teletha_testarossa,4,271,"teresa_testarossa,tessa_testatossa"
+taichou_haori,0,271,
+tactile_paving,0,271,
+stuffed_bird,0,271,
+strong_zero,0,271,
+slow_start,3,271,
+sido_(slipknot),1,271,
+shidou_hikaru,4,271,
+salmon88,1,271,
+ringozaka_mariko,1,271,
+polka_dot_pajamas,0,271,
+pink_sclera,0,271,
+noctchill_(idolmaster),0,271,
+naga_the_serpent,4,271,
+monicanc,1,271,
+mind_reading,0,271,
+memory,0,271,
+l'ecole_des_cinq_lumieres_school_uniform,0,271,
+kamen_rider_double,4,271,
+idolmaster_xenoglossia,3,271,
+hayanami_(kancolle),4,271,hayanami_(kantai_collection)
+gochou_(kedama),1,271,
+ghost_print,0,271,
+frilled_sash,0,271,
+feena_fam_earthlight,4,271,
+facing_up,0,271,
+e16a_zuiun,0,271,
+drew_(drew213g),1,271,
+cure_lemonade,4,271,
+colis,1,271,
+bokujou_monogatari,3,271,"harvest_moon_1,story_of_seasons"
+black_gothic_dress_(idolmaster),0,271,
+bell_earrings,0,271,bell_earring
+awakening_(sennen_sensou_aigis),0,271,
+akishimo_(kancolle),4,271,akishimo_(kantai_collection)
+aki663,1,271,
+akamoku,1,271,"akmkmk3,curcumin,rokcha"
+ahiru_(princess_tutu),4,271,ahiru
+white_romper,0,270,
+wakino_keibun,1,270,wakino_yoshifumi
+virtuous_contract,0,270,
+velvet_scarlatina,4,270,
+ushiromiya_kyrie,4,270,
+tsuji_kazuho,1,270,
+tanaka_rikimaru,1,270,
+stu_dts,1,270,
+shiver_(splatoon),4,270,
+scanlines,0,270,
+saunders_(emblem),0,270,
+sat-c,1,270,
+ryuji_(ikeriu),1,270,"shoken_narai,syokennarai,syokennnarai"
+rito453,1,270,
+rinto_(rint_rnt),1,270,
+rib:y(uhki),1,270,"kasuka_abara,ribyuuki"
+pyz_(cath_x_tech),1,270,
+purple_sclera,0,270,
+power_girl,4,270,kara_zor-l
+ophelia_phamrsolone,4,270,
+nyanya,1,270,
+nanase_aoi,1,270,aoi_nanase
+musen-shiki_sanhankikan,1,270,"akai_hana,musen_shiki_sanhankikan,musenshiki_sanhankikan"
+mochitsuki,0,270,mochi_pounding
+mitsurugi_sugar,1,270,mithurugi-sugar
+maho_moco,1,270,
+mabinogi_heroes,3,270,vindictus
+kurebayashi_noe,1,270,
+kudou_fuyuka,4,270,
+kousaka_yukiho,4,270,
+kiriya_(552260),1,270,
+kawarajima_kou,1,270,"henreikai,kawarajima_koh,koh-kawarajima,koh_kawarajima,platin_(ailos)"
+kaoming,1,270,yasukura_(shibu11)
+iwado_anna,4,270,black_hood
+ishikirimaru,4,270,
+hisuian_zorua,4,270,
+helena_(kancolle),4,270,helena_(kantai_collection)
+hakuryou_high_school_uniform,0,270,
+green_umbrella,0,270,
+doujima_ryoutarou,4,270,"dojima_ryotaro,doujima_ryotaro"
+djmax,3,270,dj_max
+dew_drop,0,270,"dew,dew_drops,dewdrop,dewdrops"
+dera_mochimazzui,4,270,"dera_mochi'mazzui,tori_(tamako_market)"
+deemo,3,270,
+danball_senki,3,270,
+chikotam,1,270,
+bioshock_(series),3,270,bioshock
+armpit_focus,0,270,
+ana_(rznuscrf),1,270,
+amo_(shibu3),1,270,
+akiyama_rinko,4,270,
+airborne,0,270,
+yaso_shigeru,1,269,
+voyager_(fate),4,269,voyager_(fate/requiem)
+toriyama_akira_(style),0,269,
+takaramonozu,0,269,
+taa_(acid),1,269,tam_(cuq)
+super_sass_(girls'_frontline),4,269,super_sass_(girls_frontline)
+stalking,0,269,
+silver_footwear,0,269,
+shizuna_kaede,1,269,icesherbet
+seras_victoria,4,269,
+selection_university_(emblem),0,269,
+sawaizumi_chiyu,4,269,
+sasamori_karin,4,269,
+saihate_(vocaloid),3,269,saihate
+rhapsody,3,269,
+rakudai_kishi_no_cavalry,3,269,chivalry_of_a_failed_knight
+pointy_hat,0,269,
+pink_fire,0,269,pink_flame
+ogre,0,269,
+nuka_(nvkka),1,269,
+nt-d,0,269,
+nori_(seaweed),0,269,
+nanakusa_hazuki,4,269,
+mochi.f,1,269,
+mascot_costume,0,269,
+maihama_ayumu,4,269,
+lao_jiu,4,269,
+kuhotaka,1,269,
+kudou_shin'ichi,4,269,kudou_shinichi
+kore_ga_watashi_no_goshujin-sama,3,269,"he_is_my_master,himm"
+kimizuka_aoi,1,269,aoi_kimizuka
+kibushi,1,269,
+kei_(bekei),1,269,kei_(pixiv14657)
+kagayaki_homare,4,269,
+human_chair,0,269,
+helma_lennartz,4,269,
+heirou,1,269,
+haruka_(blue_archive),4,269,
+gyozanuko,1,269,
+green_sash,0,269,
+gatchan,1,269,
+funny_glasses,0,269,groucho_glasses
+fuji_fujino,1,269,fujino_(unajisaiko)
+food_theft,0,269,stealing_food
+eva_00,4,269,
+downtown_no_gaki_no_tsukai_ya_arahende!!,3,269,
+cygnus_(cygnus7),1,269,
+budew,4,269,
+bud,0,269,
+broken_wall,0,269,
+breast_awe,0,269,
+begging,0,269,
+asada_shino,4,269,
+artoria_pendragon_(swimsuit_archer)_(first_ascension)_(fate),4,269,
+arisaka,0,269,
+arimura_yuu,1,269,
+aoshidan_school_uniform,0,269,
+anemone_(flower),0,269,
+alraune,0,269,
+akizone,1,269,
+aizen_kunitoshi,4,269,
+?_block,0,269,
+zun,4,268,
+yoshimo,1,268,
+urotan,1,268,
+urashima_kotetsu,4,268,
+uchuu_patrol_luluco,3,268,space_patrol_luluco
+tmp_(girls'_frontline),4,268,tmp_(girls_frontline)
+tile_ceiling,0,268,
+thin_(suzuneya),1,268,tenya
+the_great_ace_attorney,3,268,dai_gyakuten_saiban
+string_phone,0,268,"cup_phone,tin_can_phone"
+spike_ball,0,268,
+sitting_on_animal,0,268,
+shining_hearts,3,268,
+shamu_meruruusa,4,268,
+shadow_hearts,3,268,
+screencap_inset,0,268,
+saya_(mychristian2),1,268,
+ruhika,1,268,
+romi_(346_ura),1,268,
+pokimari,1,268,
+otter_spirit_(touhou),4,268,
+oono_kanako,4,268,ohno_kanako
+nightmare77zx,1,268,
+neku_(neku_draw),1,268,
+nefertari_vivi,4,268,
+menou_kaname,4,268,
+lecia_(granblue_fantasy),4,268,liscia_(granblue_fantasy)
+kokonose_haruka,4,268,
+kakyuusei,3,268,
+julia_(idolmaster),4,268,
+ice_cream_cup,0,268,
+ibaraki_douji_(swimsuit_lancer)_(fate),4,268,
+honkai:_star_rail,3,268,
+head_on_ass,0,268,"ass_pillow,buttsnuggle,head_on_butt"
+hazuki_(sutasuta),1,268,
+growlanser,3,268,
+gojou_wakana,4,268,
+fuzukikai,1,268,
+fei_rune,4,268,
+extended_downblouse,0,268,
+creek_(moon-sky),1,268,
+coroha,1,268,
+cooking_pot,0,268,pot_(cooking)
+cocozasa,1,268,pocopocoing
+chiroshiron,1,268,shiron_(e1na1e2lu2ne3ru3)
+chimunge,1,268,
+bukimi_isan,1,268,
+billiard_ball,0,268,"cue_ball,pool_ball"
+anyannko,1,268,
+zenless_zone_zero,3,267,
+yoshinon,4,267,
+yadomi_jinta,4,267,
+urutsu_sahari,1,267,
+tsukinami_kousuke,1,267,
+tokyo_mirage_sessions_fe,3,267,"gen'ei_ibunroku_sharp_fe,genei_ibunroku_sharp_fe,tokyo_mirage_session_fe,tokyo_mirage_sessions_sharp_fe"
+tamura_hiyori,4,267,
+tama_(soon32281),1,267,
+suzushiro_(suzushiro333),1,267,
+standing_on_person,0,267,
+soulcalibur_vi,3,267,
+soukou_kihei_votoms,3,267,armored_trooper_votoms
+shiranui_mai_(cosplay),0,267,
+shirako_miso,1,267,
+shatter,0,267,
+samsung_sam,4,267,"sam_samsung,samanta_(samsung),samantha_samsung"
+ripping,0,267,
+omniscient_reader's_viewpoint,3,267,
+nyotaimori,0,267,serving_food_on_female
+mukiki,1,267,
+moruchi_(rinaka_moruchi),1,267,"rinaka_moruchi,takane_soprano"
+miyu_edelfelt_(beast_style),4,267,
+mazeran,1,267,
+matataku,1,267,
+man_(man-room),1,267,"man_(artist),man_(kisidayouiti)"
+mamo_williams,1,267,mamo
+lynn_minmay,4,267,
+life_fiber,0,267,
+lantern_festival,0,267,
+konomi_(kino_konomi),1,267,konomi_(noco)
+kikoka_(mizuumi),1,267,kakikukekikoka
+iguro_obanai,4,267,
+hylian_shield,0,267,
+holding_another's_tail,0,267,
+hatsutori_hajime,4,267,
+h&k_mp7,0,267,mp7
+giovanna_(guilty_gear),4,267,
+gaou_(babel),1,267,gaou
+fish.boy,1,267,a4typhoon
+dakusuta,1,267,
+cure_fortune,4,267,
+bsapricot,1,267,danielle_brindle
+benizuwai,1,267,
+bell_pepper,0,267,
+barista,0,267,
+alisa_reinford,4,267,alisa_leinfort
+akira_shiun,1,267,akira_teacher
+;>,0,267,
+wangphing,1,266,
+vertical-striped_socks,0,266,vertical-striped_kneehighs
+vanilla_(miotanntann),1,266,
+usagi_nagomu,1,266,
+twinpoo,1,266,naav
+togashi_yuuta,4,266,
+tarou_tachi,4,266,
+tape_on_nipples,0,266,
+static,0,266,noise_(crt)
+sovetskaya_rossiya_(azur_lane),4,266,
+skinny_dipping,0,266,
+shironeko_yuuki,1,266,
+senkou_no_ronde,3,266,senko_no_ronde
+sanbasou,1,266,
+reinhardt_(overwatch),4,266,reinhardt_wilhelm
+pesci,4,266,
+nyatokanyaru,1,266,
+nu_(plastic_eraser),1,266,plastic_eraser
+namidame,1,266,
+multicolored_panties,0,266,
+moth_wings,0,266,
+mejiro_bright_(umamusume),4,266,
+leviathan_(mega_man),4,266,leviathan_(rockman)
+lace-trimmed_headwear,0,266,
+kuro293939_(rasberry),1,266,
+komakusa_sannyo,4,266,
+kokoro_(darling_in_the_franxx),4,266,
+kikurage_(plastic_people),1,266,
+kamiki_mirai,4,266,
+kamen_rider_ooo,4,266,
+kamen_rider_decade,4,266,
+ichizen_(o_tori),1,266,
+hyouju_issei,1,266,
+higekiri_(touken_ranbu),4,266,
+hana_mori,1,266,
+goutokuji_miyako,4,266,gotokuji_miyako
+goat_tail,0,266,
+floating_sword,0,266,floating_swords
+fi_(zelda),4,266,fi
+dragonaut,3,266,
+chiyingzai,1,266,
+bulge_to_ass,0,266,bulge_on_ass
+aztec,0,266,
+asriel_dreemurr,4,266,
+amanda_o'neill,4,266,
+aisaki_emiru,4,266,
+zhong_lanzhu,4,265,
+yuuyuu_(yuuki1771),1,265,sha_(amfil100)
+world_war_i,0,265,wwi
+tyranitar,4,265,
+tina_armstrong,4,265,
+thief_(final_fantasy),4,265,
+the_transformers_(idw),3,265,
+template,0,265,exploitable
+tamamo_no_mae_(third_ascension)_(fate),4,265,
+takenoko_no_you,1,265,
+takayama_maria,4,265,
+surtr_(liberte_echec)_(arknights),4,265,
+sune_(mugendai),1,265,
+song_of_broken_pines_(genshin_impact),0,265,
+shiritsu_justice_gakuen,3,265,
+shez_(fire_emblem)_(female),4,265,
+shenbei_xiaoqiu,1,265,jiang-ge
+sen1986,1,265,
+scryed,3,265,
+saliva_drip,0,265,
+sakura_kyouko_(cosplay),0,265,
+romeo_to_cinderella_(vocaloid),3,265,"romeo_and_cinderella,romeo_and_cinderella_(vocaloid)"
+raimon_natsumi,4,265,endou_natsumi
+prushka,4,265,
+plume_(arknights),4,265,
+pisuke,1,265,
+mp40,0,265,
+mineta_minoru,4,265,grape_juice_(boku_no_hero_academia)
+maylene_(pokemon),4,265,sumomo_(pokemon)
+mawaru_(mawaru),1,265,
+matsubara_kaoru,4,265,
+lutherniel,1,265,
+lilith_aensland_(cosplay),0,265,
+kyousaru,1,265,
+kumashiro_maya,4,265,
+kitsune_spirit_(doitsuken),4,265,
+kirisato_itsuki,1,265,
+kiraki,1,265,
+kat_(bu-kunn),1,265,cut_(bu-kunn)
+kakyuusei_2,3,265,
+kaede_(mmkeyy),1,265,
+hungry_nun_(diva),4,265,gluttonous_nun_(diva)
+hiiragi_fuyuki,1,265,
+hige_habahiro,4,265,hige-san
+gaketsu,1,265,
+fukuro_daizi,1,265,fukuro_ko_(greentea)
+flower_over_mouth,0,265,
+fist_in_hand,0,265,
+fighter_(dungeon_and_fighter),4,265,
+fangdan_runiu,1,265,
+fami_(yellow_skies),1,265,
+eredhen,1,265,
+cuffs-to-collar,0,265,
+cross-laced_top,0,265,
+corn_dog,0,265,corndog
+chuck_(psg),4,265,
+chikuwa_(tks),1,265,tks_(chikuwa)
+bronya_zaychik_(herrscher_of_reason),4,265,
+axel_(kingdom_hearts),4,265,
+aunt_and_nephew,0,265,
+asuku_(69-1-31),1,265,
+asterios_(fate),4,265,asterios_(fate/grand_order)
+artillery,0,265,
+alcremie_(strawberry_sweet),4,265,
+akino_komichi,1,265,shacchi
+akagi-chan_(azur_lane),4,265,
+...!,0,265,
+zenobia_(fate),4,264,
+yuu_(kfc),1,264,
+yano_erika,4,264,
+yamamoto_kazue,1,264,studio_ego
+white_curtains,0,264,
+wax,0,264,
+visible_ears,0,264,
+ushiki_yoshitaka,1,264,one_night_stand
+tina_fate,1,264,
+tenneko_yuuri,1,264,
+tamagoroo,1,264,tamagoroo_(funifuni_labo)
+sword_maiden,4,264,
+swampert,4,264,
+starpiece_memories_(idolmaster),0,264,starpiece_memories
+spider_apple,1,264,
+souma_(ordures),1,264,
+shimizu_akina,1,264,akina_(akn_646)
+sharpedo,4,264,
+sengoku_otome,3,264,
+sempon_(doppio_note),1,264,
+satellite,0,264,
+qin_shi_ming_yue,3,264,
+projektmelody,3,264,
+pinstripe_dress,0,264,
+pensuke,1,264,
+partially_annotated,5,264,
+natsume_yuujinchou,3,264,natsume's_book_of_friends
+mosquito_coil,0,264,
+mina_cream,1,264,
+mile_(off8mile),1,264,
+mary_stuart,4,264,
+ludger_will_kresnik,4,264,
+leaf_bikini,0,264,leafbikini
+ladic,1,264,
+kuon_(utawarerumono),4,264,kuon_(utawareru_mono)
+kitasaya_ai,1,264,
+kinuhata_saiai,4,264,
+kinon_bachika,4,264,
+kiguchiko,1,264,
+kansaiben,0,264,
+k'_(kof),4,264,k'
+invisible_air_(fate),0,264,invisible_air
+ichii_tooru,4,264,
+hominamia,1,264,"honami_ami,konbu_(honeydots),yavalley"
+holding_scarf,0,264,
+hatsune_miku_(vocaloid4),4,264,
+hangaku,1,264,
+gomashi_(goma),1,264,
+ganto,1,264,
+fukuda_noriko,4,264,
+flanvia,1,264,
+fangxiang_cuoluan,1,264,
+cyril_brooklyn,4,264,
+cure_mermaid,4,264,
+cubone,4,264,
+coyucom,1,264,".com_(cu_105),koyukomu"
+cherry_tomato,0,264,
+bra_slip,0,264,
+asymmetrical_armor,0,264,
+arjuna_alter_(fate),4,264,arjuna_alter
+aqua_flower,0,264,
+aki_poi,1,264,
+abe_suke,1,264,
+z.o.b,1,263,rumirumi
+yuuki_kira,1,263,
+yukishiro_arte,1,263,yukishiro_arute
+yoshiki,1,263,
+yagami_makino,4,263,
+urd_(aa_megami-sama),4,263,
+theresa_apocalypse_(valkyrie_pledge),4,263,
+sunameri_oishii,1,263,
+suimya,1,263,
+step_and_repeat,0,263,
+shiraue_yuu,1,263,
+shino_(comic_penguin_club),1,263,
+shigure_(azur_lane),4,263,
+shiba_miyuki,4,263,
+rukitsura,1,263,
+pinkgermy,1,263,
+packge,1,263,pack_er_5
+otome_wa_boku_ni_koishiteru,3,263,otoboku
+orange_one-piece_swimsuit,0,263,orange_swimsuit
+oktoberfest,0,263,
+obidome,0,263,
+nissan,0,263,
+nakabayashi_reimei,1,263,nakaba_reimei
+muteppona_hito,1,263,svd_fun
+mr.romance,1,263,
+minase_(takaoka_nanase),1,263,takaoka_nanase
+mifuru,1,263,
+may_(gundam_build_divers_re:rise),4,263,
+lam_(ramdayo),1,263,ram_(ramlabo)
+kuroi_susumu,1,263,
+kotoyoshi_yumisuke,1,263,yumisuke_kotoyoshi
+koorimizu,1,263,koori_crab
+kirisaki_byakko,1,263,kitsunebi
+kionant,1,263,
+husband_and_husband,0,263,
+hiiragi_souren,1,263,
+higashi_shino,1,263,
+gao_(gaolukchup),1,263,"gao-lukchup,gao-x"
+esureki,1,263,
+easonx,1,263,
+camouflage_shorts,0,263,
+battle_angel_alita,3,263,gunnm
+anna_(fire_emblem),4,263,
+akagi:_yami_ni_oritatta_tensai,3,263,
+agetama,1,263,
+african_wild_dog_print,0,263,
+;t,0,263,
+yuuki_chihiro,4,262,
+wally_(pokemon),4,262,mitsuru_(pokemon)
+w_over_eye,0,262,
+vespa,0,262,
+uchuuneko,1,262,
+two-tone_bodysuit,0,262,
+tsuezu,1,262,tsuedzu
+totoki86,1,262,
+thor_(deep_rising),1,262,deep_rising
+takakura_kanba,4,262,
+shirt_tan,0,262,
+shiina_(angel_beats!),4,262,
+senju_muramasa,4,262,
+reel_(riru),1,262,reel37891
+prinz_eugen_(final_lap)_(azur_lane),4,262,
+pjrmhm_coa,1,262,
+papika_(flip_flappers),4,262,
+orange_wings,0,262,
+nago,4,262,
+model,0,262,
+missing_tooth,0,262,
+miso_soup,0,262,
+mattress,0,262,
+makai_senki_disgaea_5,3,262,disgaea_5
+magic_kaito,3,262,
+logan_cure,1,262,
+lcl,0,262,
+kuga_tsukasa,1,262,
+joshiraku,3,262,
+inuno_rakugaki,1,262,
+ikeda_(cpt),1,262,
+human_stacking,0,262,
+hugging_another's_leg,0,262,"hugging_another's_legs,leg_cling"
+holding_pocky,0,262,
+hands_on_own_legs,0,262,
+gin_moku,1,262,
+flower_basket,0,262,
+figure_skating,0,262,
+eraser_head_(boku_no_hero_academia),4,262,aizawa_shouta
+door_handle,0,262,
+damegane,1,262,
+clothed_robot,0,262,
+changye,1,262,
+benitama,1,262,
+ball_busting,0,262,"ballbusting,tamakeri"
+badminton_racket,0,262,
+arash_(fate),4,262,
+yurume_atsushi,1,261,
+yellow_sweater_vest,0,261,
+wakabayashi_iori,4,261,wakabayashi-san
+usami_(danganronpa),4,261,
+twister,0,261,
+tsukiriran,1,261,kanzaki_maguro
+tomoo_(tomo),1,261,
+swim_cap_removed,0,261,swimcap_removed
+suzu_(cookie),4,261,
+sunohara_youhei,4,261,
+starcraft,3,261,
+spiked_boots,0,261,
+sitting_on_car,0,261,
+sitonai_(fate),4,261,sitonai
+shimotsuki_potofu,4,261,"perooda_potofu,potofu-chan_(pepepe)"
+sen'yuu_yuuji,1,261,sennyuu_yuuji
+sakura_chiyo_(konachi000),1,261,
+purple_pupils,0,261,
+purple_armor,0,261,
+pollux_(fate),4,261,pollux_(fate/grand_order)
+omamori,0,261,
+night_wizard,3,261,
+nakatama_kyou,1,261,kurifuto
+mountain_han,1,261,yama_gan
+mokku,1,261,
+minamon_(vittel221),1,261,
+love_hotel,0,261,
+long_ribbon,0,261,
+kugui_kiyunemu,1,261,
+konkito,1,261,
+kawamura_tenmei,1,261,
+kamen_rider_kabuto_(series),3,261,
+jeneral,1,261,janggun
+hizamaru_(touken_ranbu),4,261,
+hatsushimo_kai_ni_(kancolle),4,261,
+hand_in_pants,0,261,
+goomrrat,1,261,
+endro!,3,261,
+ddari,1,261,
+dark_knight_(final_fantasy),4,261,
+cum_in_panties,0,261,
+cottontailtokki,1,261,
+c.r.,1,261,
+accidental_pervert,0,261,lucky_pervert
+yamaku_high_school_uniform,0,260,
+world_of_warships,3,260,
+watanuki_kaname,1,260,izayoi_kaname
+tetsubuta,1,260,
+tarachine,1,260,
+takami_masahiro,1,260,henohenomomiji
+suzuki_(girls_und_panzer),4,260,
+suou_tatsuya,4,260,
+snow_shelter,0,260,
+skirt_grab,0,260,
+shingoku_no_valhalla_gate,3,260,
+seolla_schweizer,4,260,
+sch,1,260,
+sazamiso_rx,1,260,
+satomi_yoshitaka,1,260,
+sakura_(medilore),1,260,tasuke_(pixiv_186067)
+rosette_(roze-ko),1,260,
+rockruff,4,260,
+riru,1,260,
+pantyhose_around_one_leg,0,260,
+osumoto1,1,260,
+oshiaki,1,260,
+omoomomo,1,260,
+oda_nobunaga_(swimsuit_berserker)_(first_ascension)_(fate),4,260,
+nun_bora,4,260,
+nicky_w,1,260,nikek96
+misaki_high_school_uniform,0,260,
+mine_(peak),1,260,
+mhk_(mechamania),1,260,
+komusun,1,260,
+kamishirasawa_keine_(hakutaku),4,260,
+iruma_kamiri,1,260,hellabunna
+inohara_masato,4,260,
+high_school_dxd_new,3,260,
+heather_mason,4,260,
+hane_(hanegoya),1,260,toobane
+griffin,0,260,gryphon
+glastonbury1966,1,260,
+fried_rice0614,1,260,
+folding_screen,0,260,
+downpants,0,260,down_pants
+double_anal,0,260,
+djheycha,1,260,o.m
+diives,1,260,
+devil_survivor_2,3,260,
+detached_hood,0,260,
+dehya_(genshin_impact),4,260,
+cocoloco,1,260,kokoroko
+cheesecake,0,260,
+backbeako,4,260,beako
+av_idol,0,260,
+apollo_justice:_ace_attorney,3,260,"ace_attorney_4,gyakuten_saiban_4"
+alternate_shiny_pokemon,0,260,
+ajitarou_(setsu),1,260,sakasakisetu
+aaru_(tenrake_chaya),1,260,luliao
+zakki,1,259,
+yuuji_overall,1,259,yuuji
+yuki_miku_(2019),4,259,
+xbox_360,0,259,
+watering,0,259,
+tsuaii,1,259,jonathan_hamilton
+toaru_kagaku_no_mental_out,3,259,
+tape_on_pussy,0,259,
+sucking_male_nipple,0,259,sucking_nipples_(male)
+spiked_armor,0,259,
+spacecraft_interior,0,259,"inside_spacecraft,space_craft_interior"
+ship's_wheel,0,259,
+shin_(dorohedoro),4,259,
+shimhaq,1,259,
+sexual_harassment,0,259,
+sakura_neko,1,259,
+re_mii,4,259,"le_mii,lemii"
+raphiel_shiraha_ainsworth,4,259,shiraha_raphiel_ainsworth
+qi_lolita,0,259,
+pokemon:_the_electric_tale_of_pikachu,3,259,"dengeki!_pikachu,dengeki_pikachu,dengeki_pikachu,electric_tale_of_pikachu,electric_tale_of_pikachu,pokemon_the_electric_tale_of_pikachu,pokemon_the_electric_tale_of_pikachu,the_electric_tale_of_pikachu,the_electric_tale_of_pikachu"
+overhead_line,0,259,
+okayparium,1,259,
+nikkari_aoe,4,259,
+nanana_(nanana_iz),1,259,
+mushi_gyouza,1,259,
+murosaki_miyo,4,259,
+misnon_the_great,1,259,misnon
+matryoshka_(vocaloid),3,259,
+luse_maonang,1,259,
+lala_tramont,4,259,
+lace-up,0,259,
+kooribata,0,259,
+kino_(kino_konomi),1,259,
+kingin,1,259,
+kakuzatou_(koruneriusu),1,259,
+k-pop,0,259,
+inoshishi_(ikatomo),1,259,ikatomo
+imi_uzi,0,259,uzi
+holding_reins,0,259,
+holding_notepad,0,259,
+hakumen,4,259,
+hachiouji_naoto,4,259,
+green_pubic_hair,0,259,
+gogatsu_fukuin,1,259,
+danganronpa_10th_anniversary_costume,0,259,
+connie_springer,4,259,conny_springer
+conductor,0,259,
+citemer,1,259,liuruoyu8888
+churchill_(tank),0,259,
+bardock,4,259,
+bandaged_foot,0,259,bandaged_feet
+baltimore_(after-school_ace)_(azur_lane),4,259,
+ashigara_kai_ni_(kancolle),4,259,
+akagi_shun,1,259,
+wishiwashi_(solo),4,258,
+white_mage_(fft),4,258,priest_(fft)
+turtleneck_crop_top,0,258,
+tridisart,1,258,
+teenage_mutant_ninja_turtles,3,258,
+tailred,4,258,tail_red
+tailmon,4,258,gatomon
+t-34,0,258,
+super_robot_wars_the_lord_of_elemental,3,258,
+sombrero,0,258,
+snom,4,258,
+sadahiro_(chicken_nugget_gyuuniku_aji),1,258,
+reiq,1,258,
+red_butterfly,0,258,
+power_fist,0,258,
+pomegranate,0,258,
+paint_tube,0,258,
+narusegawa_naru,4,258,
+mori_toshiaki,1,258,shinkiro
+matsutani,1,258,
+lit_fuse,0,258,
+kurobe_natsumi_(shiromanta),4,258,
+koseki_reina,4,258,
+koonago,0,258,
+konata_gazel,1,258,
+katou_haruaki,1,258,
+ishida_seito,1,258,shira-nyoro
+inaba_mob_(touhou),4,258,inaba
+high-visibility_vest,0,258,safety_vest
+hayakawa_tazuna,4,258,
+haryuu_(poetto),1,258,
+hand_to_forehead,0,258,
+fuuma_kotarou_(fate),4,258,fuuma_kotarou_(fate/grand_order)
+extra_legs,0,258,
+empoleon,4,258,
+elie_macdowell,4,258,
+duskull,4,258,
+date_(senpen),1,258,date_(artist)
+dainamitee,1,258,
+black_order_uniform,0,258,
+arai_nobu,1,258,arainobu
+amane_kurumi,1,258,amene_kurumi
+yuzuki_karu,1,257,
+yorda,4,257,
+yakuza,0,257,
+yakitomato,1,257,yakitomeito
+x_navel,0,257,
+wolfgang_amadeus_mozart_(fate),4,257,wolfgang_amadeus_mozart_(fate/grand_order)
+white_rhinoceros_(kemono_friends),4,257,
+uraharukon,1,257,
+udon_entertainment,1,257,
+turisasu,1,257,"testame,testame"
+stroking_another's_chin,0,257,chin_tickle
+shinazugawa_sanemi,4,257,
+scholar_(final_fantasy),4,257,
+sakieko,1,257,
+sakaki_maki,1,257,
+sagat,4,257,
+saeki_sora,1,257,
+round_table,0,257,
+ridley,4,257,
+red_panda,0,257,
+predicament_bondage,0,257,
+poppy_(flower),0,257,
+panties_under_bike_shorts,0,257,
+ox_horns,0,257,
+ohlia,1,257,ariuo
+noba,1,257,
+noa_(blue_archive),4,257,
+nagasone_kotetsu,4,257,
+mojarin_(kihara_mojarin),1,257,
+mikazuki_sara,1,257,
+matsui_yasutsugu,1,257,
+leona_west,4,257,
+lagann,4,257,
+kiya_machi,1,257,
+kira_yamato,4,257,
+kataku_musou,1,257,mole_(pixiv31755575)
+jon_(st05254),1,257,st05254
+io_(pso2),4,257,
+ikuyoan,1,257,
+helena_blavatsky_(swimsuit_archer)_(fate),4,257,
+heart-shaped_gem,0,257,
+heart-shaped_buckle,0,257,heart_buckle
+headgear_removed,0,257,
+hazuki_ren,4,257,
+escalator,0,257,
+chikuwa_savy,1,257,
+canaan_(character),4,257,
+atahuta,1,257,
+arm_scrunchie,0,257,
+amamiya_elena,4,257,amamiya_erena
+zootopia,3,256,
+yokoyama_chika,4,256,
+yggdrasil_(granblue_fantasy),4,256,
+warrior_of_light,4,256,
+venat_(ff14),4,256,
+unicorn_(long-awaited_date)_(azur_lane),4,256,unicorn_(amusement_park_date)_(azur_lane)
+umyonge_(lkakeu),1,256,
+translucent_hair,0,256,transparent_hair
+tootsuki_saryou_ryouri_gakuen_uniform,0,256,
+tinnies,1,256,lightingsaber
+the_legend_of_zelda:_a_link_to_the_past,3,256,"a_link_to_the_past,link_to_the_past"
+teranen,1,256,
+tachibana_momoka,4,256,
+tachibana_himeko,4,256,girl_who_sits_next_to_yui_(k-on!)
+shiro_kuma_shake,1,256,
+shiodome_oji,1,256,
+shimohara_sadako,4,256,
+seitokai_no_ichizon,3,256,student_council's_discretion
+samurai_(7th_dragon_series),4,256,samurai_(7th_dragon)
+raven_cronwell,4,256,raven_(elsword)
+rangu,1,256,ran9u
+rabi-ribi,3,256,
+persona_1,3,256,megami_ibunroku_persona
+onsen_tamago_(nurumayu_onsen),1,256,nurumayuonsen
+no_symbol,0,256,no_sign
+neck_fur,0,256,
+ndtwofives,1,256,
+meteion,4,256,
+mendou_kusai,1,256,
+megumi_(girls_und_panzer),4,256,
+march-bunny,1,256,
+lace-trimmed_bikini,0,256,
+kyuuri_(miyako),1,256,
+kusanagi_nene,4,256,
+kurokaji,1,256,
+kei_kei,1,256,
+implied_paizuri,0,256,
+hula_hoop,0,256,hulahoop
+headshot,0,256,
+hagiwara_rin,1,256,
+gelatin,0,256,jello
+fennec_fox,0,256,
+elizabeth_bathory_(second_ascension)_(fate),4,256,
+dragoon_(final_fantasy),4,256,
+dancho_(dancyo),1,256,
+croquette,0,256,
+caterpie,4,256,
+atago_(school_traumerei)_(azur_lane),4,256,atago_(school_daydream)_(azur_lane)
+asahina_hiyori,4,256,
+anzai_romi,4,256,anzai_chiyomi's_mother
+amano_jack,1,256,amanojaku
+akitokage,1,256,akitokage01
+adepta_sororitas,4,256,sister_of_battle
+usagi-san,4,255,
+unime_seaflower,1,255,
+toriatto_gununu,1,255,tori@gununu
+tanemura_koyori,4,255,
+tamaki_kotatsu,4,255,
+tadano_akira,1,255,
+supermarket,0,255,
+square_neckline,0,255,
+spiked_anklet,0,255,
+shirayuki_towa,1,255,
+senriyama_school_uniform,0,255,
+rokkotsu,1,255,kbtmsboy
+roegadyn,0,255,
+ripu_(lipi),1,255,flan_(harry_mackenzie)
+prosthetic_hand,0,255,
+pixiv_fate/grand_order_contest_2,3,255,
+opened_by_self,0,255,
+nollety,1,255,dainama
+noa_(nagareboshi),1,255,
+nezuko,1,255,
+minami_kotori_(bird),4,255,
+min-naraken,1,255,
+marshall_k,1,255,marshall2033
+lady_avalon_(fate),4,255,merlin_(fate/prototype)_(swimsuit_pretender)
+kyou_(fr39),1,255,kyou_(user_gpks5753)
+kris_(deltarune),4,255,
+konan_(naruto),4,255,
+kolshica,1,255,
+koizumi_amane,1,255,
+kiwame_(touken_ranbu),0,255,
+kirise_mitsuru,1,255,
+kama_(swimsuit_avenger)_(third_ascension)_(fate),4,255,
+junkrat_(overwatch),4,255,jamison_fawkes
+inokuma_youko,4,255,
+ice_skating,0,255,
+hitoshura,4,255,
+hibiki_ryouga,4,255,hibiki_ryoga
+galgrease,3,255,
+frozen_frog,0,255,
+fatkewell,1,255,
+fall_guy,4,255,
+eye_pop,0,255,
+draco_centauros,4,255,
+disco_ball,0,255,
+deoxys,4,255,
+curse_maker,4,255,"hexcaster_(sekaiju),hexer_(sekaiju)"
+bulging_eyes,0,255,
+ataruman,1,255,
+anchorage_water_oni,4,255,
+amemiya_ruki,1,255,
+after_battle,0,255,
+aburidashi_zakuro,1,255,is_savant
+yoshi_mi_yoshi,1,254,
+yamada_ako,1,254,
+yaia_(granblue_fantasy),4,254,
+white_rabbit_(alice_in_wonderland)_(cosplay),0,254,
+whisperain_(arknights),4,254,
+whip_(kof),4,254,whip_(snk)
+vs,0,254,versus
+uro,1,254,
+tsubaki_(tatajd),1,254,
+trapinch,4,254,
+towa_herschel,4,254,
+tactics_ogre,3,254,
+suzuno_fuusuke,4,254,
+sofy,1,254,
+snk_heroines:_tag_team_frenzy,3,254,
+shibainu_niki,1,254,
+seishou_music_academy_uniform,0,254,
+sashimi,0,254,
+sakura_ryuuken,1,254,
+rod_(rod4817),1,254,rod4817
+rarity,4,254,
+rakeemspoon,1,254,rakeem_garcia-cueto
+quintuplets,0,254,
+poro_(league_of_legends),4,254,
+ooji_cha,1,254,ojitcha
+noss_(rariatto),4,254,
+nanjo_hikaru,4,254,nanjou_hikaru
+naked_robe,0,254,
+naitou_ryuu,1,254,"nai-tech,naitou_ryu"
+munashi_mujou,1,254,
+mika_(1020mk),1,254,
+megao_3rd,1,254,
+matsuda_hikari,1,254,
+machiko_(beard),1,254,matyinging
+long_horns,0,254,
+kujiran,1,254,
+kon_kanaho,4,254,
+king_(vocaloid),3,254,
+king_(snk),4,254,king_(kof)
+ichi_(ichi.colors),1,254,ichi
+human_tower,0,254,
+hubert_ozwell,4,254,
+huanxiang_huifeng,1,254,takamiyadaira
+hopeless_masquerade,3,254,
+hakuda_tofu,1,254,
+gazer_(monster_girl_encyclopedia),4,254,
+gambeson,0,254,
+fishine,1,254,
+excellen_browning,4,254,
+compound_bow,0,254,
+coffeekite,1,254,
+catbell,1,254,
+billiards,0,254,
+bewear,4,254,
+be_(o-hoho),1,254,
+aloe_(quiz_magic_academy),4,254,
+akisome_hatsuka,1,254,
+airplane_interior,0,254,
+zooey_(summer)_(granblue_fantasy),4,253,
+white_album_2,3,253,
+weapon_behind_back,0,253,
+waka_(wk4444),1,253,enskkt
+vibrator_in_anus,0,253,
+uta_(kuroneko),1,253,
+toeto_(vocaloid),3,253,toeto
+tenko_(gintenko),1,253,
+takaishi_takeru,4,253,
+taira_tsukune,1,253,
+simao_(x_x36131422),1,253,
+shalltear_bloodfallen,4,253,
+sentimental_graffiti,3,253,
+scribble,0,253,
+raspberyl,4,253,
+primordial_jade_winged-spear_(genshin_impact),0,253,
+ouroboros_(girls'_frontline),4,253,ouroboros_(girls_frontline)
+non_(nuebako),1,253,nuebako
+namako_(takorin),1,253,"namako_daibakuhatsu,takorin"
+mvp,0,253,
+mckeee,1,253,
+leviathan_(umineko),4,253,
+koshiro_itsuki,1,253,
+kishibe,1,253,
+japanese_postal_mark,0,253,
+janne_cherry,1,253,
+jaeger_(pacific_rim),0,253,
+iriam,3,253,
+imaichi,1,253,
+illuso,4,253,
+huyase,1,253,
+hosizora_mikoto,1,253,
+holding_up,0,253,
+hito_komoru,1,253,
+himeno_kanon,4,253,
+giggling,0,253,giggle
+geetsu,1,253,
+fusou_(azur_lane),4,253,
+eko,1,253,
+die_(die0118),1,253,die_(artist)
+delivery,0,253,
+dark_souls_ii,3,253,dark_souls_2
+dark_elven_forest_ranger,4,253,
+crosshair,0,253,crosshairs
+cream_on_body,0,253,
+cracker,0,253,crackers
+convention_greeting,0,253,convention_greetings
+chi-hatan_school_uniform,0,253,
+chain_chronicle,3,253,
+candace_(genshin_impact),4,253,
+band-width,1,253,
+astel_leda,4,253,
+asami_asami,1,253,
+anonamos,1,253,
+angel_(evangelion),4,253,
+akiyoshi_(tama-pete),1,253,
+aardwolf_ears,0,253,
+<|>_<|>,0,253,
+5others,0,253,
+0930erina,1,253,
+yan-yam,1,252,
+thompson_(girls'_frontline),4,252,thompson_(girls_frontline)
+tatekawa_mako,1,252,
+takeya_yuuki,1,252,
+takaya_noriko,4,252,
+tadanoshi_kabane,1,252,ddak5843
+summer_pockets,3,252,
+sts,1,252,
+solar_(happymonk),1,252,
+sogabe_toshinori,1,252,
+slouching,0,252,
+shaw_(arknights),4,252,
+seragaki_aoba,4,252,
+sensen,1,252,
+senjou_no_valkyria_3,3,252,
+release_date,0,252,now_on_sale
+polaroid,0,252,
+nemu_mohu,1,252,
+naoko-san,4,252,
+muka_tsuku,1,252,mukatsukulsp
+moyu_marginal,1,252,
+miya9,1,252,shironegiya
+meltryllis_(third_ascension)_(fate),4,252,
+makino_(ukiuo),1,252,makino_(artist)
+maki_(natoriumu),1,252,
+lion_dance,0,252,
+komaki_ikuno,4,252,
+koma_midori,1,252,
+kikurage_(crayon_arts),1,252,
+kaneru,1,252,
+kanba_girls_high_school_uniform,0,252,
+k_(gear_labo),1,252,
+j.k.,1,252,
+ishimu,1,252,
+illustration.media,3,252,
+iida_tenya,4,252,
+hayase_mitsuki,4,252,
+hashida_itaru,4,252,
+guinea_pig,0,252,
+gradient_kimono,0,252,
+fake_censor,0,252,unnecessary_censorship
+ero_kaeru,1,252,e_keroron
+dirt_road,0,252,
+denhijou_niki,1,252,misakamitoko0903
+crystal_sword,0,252,ice_sword
+cracked_glass,0,252,cracked_lens
+cinder_fall,4,252,
+buruma_around_one_leg,0,252,
+blossom_(ppg),4,252,
+bebebe_(pepegakii),1,252,manabebebe
+araiguma,1,252,
+amatsuka_uto,4,252,
+alfonse_(fire_emblem),4,252,
+akaoni_(zumt3548),1,252,akakiryu2m
+zaki_(zaki_btw),1,251,biriyb
+yamaha,0,251,
+wooden_door,0,251,
+toshifumi,1,251,
+tkhs,1,251,
+tesun_(g_noh),1,251,
+tapioka_(oekakitapioka),1,251,
+takao_(full_throttle_charmer)_(azur_lane),4,251,
+sumeragi_aika,4,251,
+suerte,1,251,
+stuffed_dolphin,0,251,
+space_cat_(meme),0,251,
+sigama,1,251,
+satin_bra,0,251,
+sashizume_soutarou,1,251,"petaro,ueno_petarou"
+sara_(touhou),4,251,
+rika_(touhou),4,251,
+richard_(tales),4,251,
+putting_on_headwear,0,251,putting_on_hat
+plaid_sleeves,0,251,
+pinkie_pie,4,251,
+ouhashi,1,251,
+organization_xiii,0,251,
+onjouji_toki,4,251,
+omori_(omori),4,251,
+ohasi,1,251,army_14235
+normaland,1,251,
+nonohara_miki,1,251,
+noise_(lesion949),1,251,
+nobori_ranzu,1,251,
+mutou_mato,1,251,
+mother_and_child,0,251,
+merlusa,1,251,kitashira_chuusan
+marvel_vs._capcom_3,3,251,"marvel_vs_capcom_3,mvc3"
+lorenz_hellman_gloucester,4,251,
+lorelei_(pokemon),4,251,kanna_(pokemon)
+lily_(artist),1,251,
+lieza_(arc_the_lad),4,251,lieza
+kurororo_rororo,1,251,
+kou_(haijindeath),1,251,kou_(pixiv27343)
+karol_capel,4,251,
+kaptivate,1,251,
+kaneaki_mukku,1,251,
+kaga_(battleship)_(azur_lane),4,251,
+jigsaw_puzzle,0,251,
+ichinomiya_(blantte),1,251,
+ichiei,1,251,
+human_toilet,0,251,
+hoojiro,1,251,
+hideko_(l33l3b),1,251,
+hi-ho-,1,251,
+hanami_kotoha,4,251,
+gold_experience,4,251,
+glowing_flower,0,251,
+evandragon,1,251,
+ember_celica_(rwby),0,251,
+dragon_quest_dai_no_daibouken,3,251,
+darkkanan,1,251,
+dan_(orange_train),1,251,
+clam_shell,0,251,
+chiya_(urara_meirochou),4,251,
+bradamante_(first_ascension)_(fate),4,251,
+betock,1,251,
+balding,0,251,
+athenawyrm,1,251,
+anzu_ame,1,251,clown_222
+ame_to_kimi_to,3,251,
+alessandra_susu,4,251,
+ainz_ooal_gown,4,251,
+adjusting_footwear,0,251,
+abo_(kawatasyunnnosukesabu),1,251,
+2014_fifa_world_cup,3,251,
+zubat,4,250,
+yoshida_kazumi,4,250,
+uumaru,1,250,
+transformers_prime,3,250,
+tenka_hyakken,3,250,
+tanaka_io_(craftstudio),1,250,
+taihou_(phoenix's_spring_song)_(azur_lane),4,250,
+sigm@,1,250,
+satsuki_imonet,1,250,
+punching_bag,0,250,
+product_girl,0,250,
+pheromosa,4,250,
+pepper0,1,250,ce-_-3
+penguins_performance_project_(kemono_friends),0,250,
+oku_tamamushi,1,250,"oku_tamamusi,tamamusi"
+oginome_ringo,4,250,
+niyon_(granblue_fantasy),4,250,nio_(granblue_fantasy)
+night_battle_idiot,0,250,
+nami_(nyaa),1,250,natsumii_chan
+mizuki_seira,4,250,
+misha_(hoongju),1,250,
+mimura_kaoru,1,250,
+mickeysmith,1,250,yuu_(sunlight_canvas)
+lulu_(ff10),4,250,lulu_(final_fantasy)
+lora_(xenoblade),4,250,
+lineage,3,250,
+kuroshinki,1,250,
+kosame_daizu,1,250,
+knight_(dungeon_and_fighter),4,250,
+kinomoto_sakura_(cosplay),0,250,
+kikuta,1,250,
+kazari_tayu,1,250,
+kaname_nagi,1,250,
+kanachirou,1,250,
+kamen_rider_kiva_(series),3,250,
+hikari_(komitiookami),1,250,
+ginko,4,250,
+ga_geijutsuka_art_design_class,3,250,
+fletcher_mk_ii_(kancolle),4,250,
+female_tourist_c_(arknights),4,250,
+fate_testarossa_(impulse_form),4,250,
+elbows_on_knees,0,250,
+chitosezaka_suzu,1,250,
+bread_slice,0,250,slice_of_bread
+blood_on_wall,0,250,bloody_wall
+bakusou_kyoudai_let's_&_go!!,3,250,
+arcana_heart_2,3,250,
+altera_the_santa_(fate),4,250,altera_the_santa
+yuya_(night_lily),1,249,
+yuragisou_no_yuuna-san,3,249,yuuna_and_the_haunted_hot_springs
+yu-gi-oh!_sevens,3,249,yugioh_sevens
+yahako,1,249,
+xingchen,4,249,stardust_(vocaloid)
+wrestler,0,249,
+wacom,3,249,
+uzaki_(jiro),1,249,
+u-47_(azur_lane),4,249,
+transformer,0,249,
+toast_(gesture),0,249,
+tentaclejob,0,249,tentacle_job
+tangled,3,249,
+suzuya_juuzou,4,249,
+superb_bird-of-paradise_(kemono_friends),4,249,greater_lophorina_(kemono_friends)
+suka,1,249,
+subaru_(yachika),1,249,
+sooon,1,249,night199812
+skirt_caught_on_object,0,249,
+shu_yamino,4,249,
+shiina_kuro,1,249,
+seki_hiromi,4,249,
+sceptile,4,249,
+sakurada_jun,4,249,
+roomba,0,249,
+print_pants,0,249,
+outer_senshi,0,249,
+okada_akane,4,249,
+nina_(girls_und_panzer),4,249,
+murkrow,4,249,
+mmm_(ji1945),1,249,
+mitchi,1,249,
+minazuki_tsuyuha,1,249,
+mina_(pokemon),4,249,matsurika_(pokemon)
+milking_handjob,0,249,
+mikazuki_augus,4,249,
+maya_g,1,249,
+material-l,4,249,
+kyokutou_hentai_samurai,1,249,hentai_samurai_far_east
+kasuga_(kasuga39),1,249,kasuga39
+kameponde,1,249,saisarisu
+kamaboko_(ossann0125),1,249,
+jedi,0,249,
+inishie,1,249,
+implied_bisexual,0,249,
+hyouuma,1,249,majorf
+hota,1,249,
+hhh_(wave),1,249,h_(hhhhhh4649)
+harmonia,1,249,
+hands_on_another's_stomach,0,249,
+gemi,1,249,
+gabriel_evangel,1,249,gabriel_grayford
+fundoshi_aside,0,249,
+frustrated,0,249,
+electrocution,0,249,
+double-blade,0,249,two-bladed_sword
+dart,0,249,darts
+coin_(ornament),0,249,
+chowbie,1,249,
+char_(2v_26),1,249,char
+cell_(dragon_ball),4,249,cell_(dragonball)
+bunny_vibrator,0,249,rabbit_vibrator
+boruhis,1,249,
+artorias_the_abysswalker,4,249,
+amou_kanade,4,249,
+akg,0,249,
+action_pizazz,3,249,
+a9b_(louis814),1,249,
+wild_arms_5,3,248,
+wave_print,0,248,
+watashi_(jintai),4,248,
+u_(the_unko),1,248,
+tarmo,1,248,
+supon,1,248,
+summoning,0,248,
+stack,0,248,
+snow_white_and_the_seven_dwarfs,3,248,
+shining_resonance,3,248,
+sakeharasu,1,248,
+rihito_(usazukin),1,248,
+rhinoceros_beetle,0,248,
+pyon-kichi,1,248,
+phichit_chulanont,4,248,
+peril,0,248,
+ovaries,0,248,ovary
+oshimizu_nako,4,248,
+ooide_chousuke,1,248,oide_chosuke
+nyaru_(nyaru_4126),1,248,
+musashi_(azur_lane),4,248,
+morogami_ryou,1,248,"ishikiri,ryokamiryo"
+mochizuki_chiyome_(fate),4,248,mochizuki_chiyome_(fate/grand_order)
+meion,1,248,pupupu_(1053378452)
+mareep,4,248,
+manga_panel_redraw,5,248,
+makishima_saori,4,248,
+lysandre_(pokemon),4,248,fleur-de-lis_(pokemon)
+lloyd_irving,4,248,
+lewdamone,1,248,
+lapis_lazuli_(houseki_no_kuni),4,248,
+kuzumosu,1,248,
+koyanskaya_(chinese_lostbelt_outfit)_(fate),4,248,
+kanapy,1,248,onegingek
+indosou,1,248,indozou
+ia_(ias1010),1,248,
+holding_shower_head,0,248,
+hanazawa_suou,1,248,
+gensou_suikoden_i,3,248,suikoden_i
+flametail_(arknights),4,248,sona_(arknights)
+dr._stone,3,248,
+comic_exe,3,248,
+comic_anthurium,3,248,
+cobra_(animal),0,248,
+chansey,4,248,
+chain_chomp,4,248,
+carlo_montie,1,248,
+camieux,4,248,kumuyu
+assault_visor,0,248,
+arms_on_knees,0,248,
+anne_bonny_(fate),4,248,anne_bonny_(fate/grand_order)
+adjusting_another's_clothes,0,248,
+yozakura_(senran_kagura),4,247,
+watermelon_print,0,247,
+uzui_tengen,4,247,
+utensil,0,247,
+tohsaka_aoi,4,247,toosaka_aoi
+syatey,1,247,
+steelix,4,247,
+sami_(object_dump),1,247,
+pomu,1,247,
+pikomarie,1,247,
+ox_ears,0,247,
+ombok_diving_and_delivery_services,3,247,
+nyatasha_nyanners,4,247,nyanners_(character)
+nokishita,1,247,
+nicutoka,1,247,
+nada_haruka,1,247,
+myuu_(arisumeria),1,247,
+muu_(mumumer),1,247,muramasa-sushi
+mumu_(mumunyan),1,247,
+meganium,4,247,
+kyoto,0,247,
+kotohime_(touhou),4,247,kotohime
+kisaragi_tsurugi,1,247,kisaragi_(legobionicle23)
+itachou,1,247,
+ikeda_kana,4,247,
+hug_(yourhug),1,247,hug_(artist)
+hishimochi,0,247,
+hirowa_nagi,1,247,
+hinata_momo,1,247,
+henyaan_(oreizm),1,247,noukyou_gyuunyuu
+hattori_masaki,1,247,hattori_(junoct2000)
+haruri,1,247,mullpull
+hajime_kaname,1,247,
+eliza_(skullgirls),4,247,
+ecru,1,247,
+dross,1,247,
+drifblim,4,247,
+delphox,4,247,
+cosplay_request,5,247,
+corn_cob,0,247,
+comiket_99,3,247,
+arung_samudra_(cessa),4,247,
+artemis_(fate),4,247,artemis_(fate/grand_order)
+aoi_masami,1,247,"lemonmaiden,soukai_(lemonmaiden)"
+aoblue,1,247,
+akamatsu_ken,1,247,
+admiral_suwabe,4,247,
+yunekoko,1,246,
+wolf_hood,0,246,
+white_(among_us),4,246,
+uona_telepin,1,246,
+uboa,4,246,
+tsuyokiss,3,246,
+tsukiyo_no_ribbon,1,246,
+toten_(der_fuhrer),1,246,toten_(artist)
+takahata_yuki,1,246,ginko_(flipflops)
+stun_gun,0,246,
+stuffed_fish,0,246,
+sozan,1,246,
+sayla_mass,4,246,
+sasakura,1,246,
+renton_thurston,4,246,
+q_(ed69),1,246,
+pumpkinpan,1,246,
+pudding_(skymint_028),1,246,
+palmtop_tiger,4,246,
+oniku_(shimofuri-ke),1,246,
+nobeta,4,246,
+nat_the_lich,1,246,
+nanotsuki,1,246,
+nakayama_festa_(umamusume),4,246,
+muten_roushi,4,246,"kame_sennin,master_roshi,muten_roshi"
+melon_soda,0,246,
+mayoi_neko_overrun!,3,246,mayoi_neko_overrun
+mash_kyrielight_(senpai_killer_outfit),4,246,
+lunafreya_nox_fleuret,4,246,
+lenneth_valkyrie,4,246,
+kunkun,4,246,kun-kun
+kiritzugu,1,246,kiritzuguart
+kaname_tatsuya,4,246,
+kagune_(tokyo_ghoul),0,246,
+kagiana,1,246,
+itaco,1,246,itaco1987
+ishtar_(swimsuit_rider)_(fate),4,246,
+iris_(mega_man),4,246,iris_(rockman_x)
+iori_shirou,4,246,iori_shiro
+horned_hood,0,246,
+homestuck,3,246,
+himawari-san,3,246,
+higa_yukari,1,246,
+hiding_behind_another,0,246,
+hidebou,1,246,
+hagure_kedama,1,246,
+gunner_2_(sekaiju),4,246,
+grey_hakama,0,246,
+green_pupils,0,246,
+excessive_nosebleed,0,246,epic_nosebleed
+enderman,4,246,
+crono_(chrono_trigger),4,246,
+chise_(blue_archive),4,246,
+canking,1,246,danann
+bouncing_testicles,0,246,
+bond_(spy_x_family),4,246,
+backbeard,4,246,
+ashwatthama_(fate),4,246,ashwatthama_(fate/grand_order)
+antispiral_nia,4,246,
+aizawa_sakuya,4,246,
+afukuro,1,246,
+zhu_bajie,4,245,
+yukichi_(sukiyaki39),1,245,
+vocaloid_boxart_pose,0,245,
+ushiwakamaru_(swimsuit_assassin)_(first_ascension)_(fate),4,245,
+tsukumogami,0,245,
+thanatos_(hades),4,245,
+tezuka_rin,4,245,
+tatsuya_(guild_plus),1,245,
+taimanin_rpgx,3,245,
+sora_no_woto,3,245,"so-ra-no-wo-to,so_ra_no_wo_to,sora_no_oto"
+siren_(azur_lane),4,245,
+shouna_mitsuishi,1,245,
+shanyao_jiang_tororo,1,245,
+shadow_(persona),0,245,
+sarukaiwolf,1,245,
+same_anko,1,245,reimu9
+purinpurin,1,245,purinko
+pudgeruffian,1,245,
+precum_string,0,245,precum_trail
+pikl_(elira_pendora),4,245,
+ouroboros,0,245,
+ors_anime_renders,1,245,
+olimar,4,245,
+oka_asahi,4,245,
+neet,0,245,
+nadeara_bukichi,1,245,
+multicolored_polka_dots,0,245,
+molcar,4,245,
+minashirazu,1,245,
+luna_platz_(mega_man),4,245,shirogane_luna
+lr_hijikata,1,245,
+li_(lithium0522),1,245,
+kyuutou_(kyuutouryuu),1,245,
+kusagami_style,1,245,
+kurotsuchi_nemu,4,245,
+kurochiroko,1,245,
+kukka,1,245,
+kouzuki_kei,1,245,
+koshigaya_natsumi,4,245,
+kokkoro_(summer)_(princess_connect!),4,245,
+koe_no_katachi,3,245,
+khakis,0,245,
+kayako_(tdxxxk),1,245,
+kawashiro_mitori,4,245,
+kanju,1,245,
+isuka,1,245,
+irisu_fuyumi,4,245,
+ilfa_(to_heart),4,245,
+human_(warcraft),0,245,
+houchi_shoujo,3,245,
+horned_hat,0,245,
+holding_pickaxe,0,245,
+holding_own_wrist,0,245,grabbing_own_wrist
+hinata_sora,1,245,
+hinami047,1,245,
+himukai_kyousuke,1,245,hyuuga_kyousuke
+hachijou_(kancolle),4,245,hachijou_(kantai_collection)
+green_dew,1,245,
+gotou_toushirou,4,245,
+google,3,245,
+gigantic_penis,0,245,
+genie,0,245,djinn
+french_cruller,0,245,cruller
+flowey_(undertale),4,245,
+fanning,0,245,
+fake_video,0,245,
+facing_down,0,245,
+eye_beam,0,245,eyebeam
+eremes_guile,4,245,
+eno_yukimi,1,245,
+drawn_ears,0,245,
+dragon_ball_heroes,3,245,
+doukyuusei_2,3,245,
+coughing,0,245,cough
+clothed_after_sex,0,245,
+chocokin,1,245,
+celebration,0,245,
+blood_on_ground,0,245,"blood_on_floor,bloody_ground"
+beyblade,3,245,
+asymmetrical_pants,0,245,
+amy_(suisei_no_gargantia),4,245,
+amaa_(chou_dennou_jidai),1,245,ibaramimi
+alisaie_leveilleur,4,245,
+akitetsu,1,245,
+yamato_aki,4,244,
+wakamesan,1,244,
+vyragami,1,244,
+uno_makoto,1,244,
+turtleneck_jacket,0,244,
+tcb,1,244,
+tai_(nazutai),1,244,
+sugimori_ken_(style),0,244,
+sitting_on_food,0,244,
+shower_curtain,0,244,
+rose_bush,0,244,
+reien_girl's_academy_school_uniform,0,244,reien_girl's_academy_uniform
+pilot_helmet,0,244,
+piku,1,244,
+penetration_through_clothes,0,244,
+o-ring_legwear,0,244,
+nanashi_noiji,1,244,
+nana_kagura,1,244,nanakagura
+mutsumi_masato,1,244,
+musharna,4,244,
+mizuki_(mizuki_ame),1,244,mizuki_ame
+minamoto_shizuka,4,244,
+max_melon,1,244,max_melon_teitoku
+marisasu_(marisa0904),1,244,
+lucie,1,244,
+kuma_(crimsonvanilla),1,244,kuma_(kumako)
+kono_bijutsubu_niwa_mondai_ga_aru!,3,244,this_art_club_has_a_problem!
+kodama_fumika,4,244,"fumi-chan,katie_(youkai_watch),katie_forester"
+kitayuki_kajika,1,244,
+kingdom_hearts_i,3,244,
+kikugetsu,1,244,
+kawamura_reo,4,244,
+kamui_(gintama),4,244,
+jinbaori,0,244,
+in_(ain),1,244,
+ikebukuro_akiha,4,244,
+ice_cream_spoon,0,244,
+i-pan,1,244,
+holding_comb,0,244,
+hildr_(fate),4,244,hildr_(fate/grand_order)
+hello_kitty_(character),4,244,
+ezio_auditore_da_firenze,4,244,
+cum_on_figure,0,244,semen_on_figure
+bat_tattoo,0,244,
+azumi_inori,1,244,
+arulumaya,4,244,
+articuno,4,244,
+arm_wrestling,0,244,arm-wrestling
+ansel_(arknights),4,244,
+alakazam,4,244,
+akahito,1,244,
+ah-lyong_lee,1,244,"abbb,mazenta"
+advent_cirno,3,244,
+add_(elsword),4,244,
+zapdos,4,243,
+yonezawa_natsumi,4,243,
+yellow_gemstone,0,243,
+vice_(kuronekohadokoheiku),1,243,
+ttgl_eyecatch,0,243,
+trim_brush,0,243,
+tensugi_takashi,1,243,
+tanuki_(ame_to_kimi_to),4,243,tanuki_(nikaidou_kou)
+tana_(fire_emblem),4,243,
+suisai_(suisao),1,243,suisai
+sui_(camellia),1,243,
+store_clerk,0,243,
+shouu-kun,1,243,
+scathacha_(granblue_fantasy),4,243,skasaha_(granblue_fantasy)
+saratoga_(warship_girls_r),4,243,
+raboot,4,243,
+quiff,0,243,
+pretzel,0,243,
+peacock,0,243,
+oounabara_to_wadanohara,3,243,wadanohara_and_the_great_blue_sea
+onikokko,1,243,
+ogihara_mach,1,243,"hamahara_yoshio,hamasan"
+natu,4,243,
+nanohana_(november.),1,243,nanohana_linestamp
+mura_karuki,1,243,
+mug_writing,0,243,
+magical_mirai_miku_(2016),4,243,makuhari-chan
+luigi_di_savoia_duca_degli_abruzzi_(kancolle),4,243,"abruzzi_(kancolle),luigi_di_savoia_duca_degli_abruzzi_(kantai_collection)"
+long_island_(azur_lane),4,243,
+kusakabe_(kusakabeworks),1,243,
+kokuzou,1,243,kokuzoo
+keizoku_(emblem),0,243,
+kanan,1,243,
+kaitou_kid,4,243,kaito_kid
+juuni_kokuki,3,243,"juuni_kokki,twelve_kingdoms"
+jinki,3,243,"jinki_extend,jinkiextend"
+izanagi_(persona_4),4,243,
+ishigaki_takashi,1,243,ishikagi_takashi
+hover_bike,0,243,
+holding_ring,0,243,
+hitou_nami,4,243,hito_nami
+head_under_skirt,0,243,
+giant_brush,0,243,giant_paintbrush
+fixro2n,1,243,
+five_nights_at_freddy's,3,243,
+fc_(efushii),1,243,
+douya_(233),1,243,mamemena
+double_exposure,0,243,
+dengeki_hime,3,243,
+darth_vader,4,243,
+cloud_tattoo,0,243,
+chypre_(heartcatch_precure!),4,243,chypre_(precure)
+chiron_(fate),4,243,
+chikaretsu,1,243,
+camera_flash,0,243,
+burbur,1,243,
+breathing,0,243,
+bradamante_(third_ascension)_(fate),4,243,
+black_delmo,4,243,
+binder,0,243,
+bakumatsu_rouman,3,243,"last_blade,the_last_blade"
+augustine_sycamore,4,243,platane_(pokemon)
+arsalan_(housamo),4,243,arsalan_(tokyo_houkago_summoners)
+applejack,4,243,
+apple_pie,0,243,
+animated_png,5,243,
+alisha_diphda,4,243,alisha_(tales)
+akusema,1,243,
+aipom,4,243,
+weibo_id,0,242,
+wangxiii,1,242,
+vileplume,4,242,
+upset,0,242,
+teshima_nari,1,242,
+sweater_jacket,0,242,
+studio_microphone,0,242,
+southern_tamandua_(kemono_friends),4,242,
+sou_(tuhut),1,242,tuhut
+snow_white_(sinoalice),4,242,
+shisoneri,1,242,
+satan_(umineko),4,242,
+sakura_no_tomoru_hi_e,1,242,sakuranotomoruhie
+riverbank,0,242,
+ribucci,1,242,"big_wednesday,corbucci"
+remembering,0,242,
+qualidea_code,3,242,
+potpourri_(heartcatch_precure!),4,242,potpourri_(precure)
+poipoi_purin,1,242,sattsu
+pixiv_red,4,242,
+patting,0,242,
+nitako,1,242,
+nightmare,0,242,
+mujina,4,242,
+mizuno_youko,4,242,
+minion_2_(zannen_onna-kanbu_black_general-san),4,242,
+masamune-kun_no_revenge,3,242,masamune-kun's_revenge
+linne,4,242,
+kuren,1,242,
+kino_aki,4,242,
+katsushika_hokusai_(traveling_outfit)_(fate),4,242,
+katsuragi_keima,4,242,
+kaleido_star,3,242,kaleidostar
+izuna_(shinrabanshou),4,242,
+izumi_koushirou,4,242,
+iwatobi_hiro,1,242,iwatobihiro
+ironmouse,4,242,
+inuburo,1,242,
+ibarazaki_emi,4,242,
+houkago_no_pleiades,3,242,
+homulilly,4,242,
+hitsuki_rei,1,242,
+hinata_nonoka,1,242,
+green_tongue,0,242,
+golisopod,4,242,
+goldfish_scooping,0,242,
+fujiyoshi_harumi,4,242,
+fire_emblem_gaiden,3,242,fe2
+fellatio_under_mask,0,242,fellatio_under_veil
+executive_mishiro,4,242,
+dolphin_wave,3,242,
+circular_saw,0,242,
+boot_removed,0,242,
+bellezza_felutia,4,242,
+baocaizi,1,242,
+azumarill,4,242,
+avatar_(pso2),4,242,
+angelina_(distinguished_visitor)_(arknights),4,242,angelina_(quality_visitors)_(arknights)
+agumon,4,242,
+13_(spice!!),1,242,
+z-ton,1,241,ze_(sawakihein)
+yellow_moon,0,241,
+yamaguchi_yuu,1,241,
+tying_footwear,0,241,"tying_boots,tying_shoes"
+traffic_barrier,0,241,
+tosen_jordan_(umamusume),4,241,
+toddler,0,241,
+tobisawa,1,241,
+tari_tari,3,241,
+tackle,0,241,
+suzumiya_haruhi-chan_no_yuuutsu,3,241,
+st._feles_gakuen_uniform,0,241,
+springfield_(stirring_mermaid)_(girls'_frontline),4,241,
+slipper_bathtub,0,241,
+single_arm_warmer,0,241,
+shosei,0,241,
+ribombee,4,241,
+reverse_grip_handjob,0,241,
+renamon,4,241,
+purple_buruma,0,241,
+primula,4,241,
+pomodorosa,1,241,risa_hibiki
+orion_(bear)_(fate),4,241,orion_(fate/grand_order)
+nipi27,1,241,
+miyako_(rgrayt),1,241,miyako_(00727aomiyako)
+miyabi_akino,1,241,
+lindy_harlaown,4,241,"lindy_hallaoun,lindy_haraoun"
+lighting_cigarette,0,241,
+kuzunoha_raidou,4,241,
+konoe_ototsugu,1,241,ototsugu_konoe
+katou_marika,4,241,
+kamen_rider_ex-aid_(series),3,241,
+intravaginal_futanari,0,241,
+ikura_nagisa,1,241,
+ice_climber,3,241,ice_climbers
+huan_li,1,241,bo_bo_milk
+holding_newspaper,0,241,
+head_biting,0,241,head_bite
+hakkai,1,241,
+geass,0,241,
+gambler_club,1,241,
+donkey_kong_country,3,241,
+dog_walking,0,241,walking_the_dog
+cure_rouge,4,241,
+coral_reef,0,241,
+captain_yue,1,241,
+canada_(hetalia),4,241,
+belgium_(hetalia),4,241,
+beatrice_(princess_principal),4,241,
+ayla_(chrono_trigger),4,241,
+aomine_daiki,4,241,
+aoi_nagisa,4,241,
+akimoto_dai,1,241,
+yuzuriha_(active_homing),1,240,
+yuujo,0,240,
+yukizuki_chikuba,1,240,chikubaen
+yukijirushi,3,240,
+yellow_outline,0,240,
+yanagi_yuu,1,240,
+yagoo,4,240,tanigou_motoaki
+world_of_tanks,3,240,
+virginia_knights,4,240,
+unapoppo,1,240,
+tsuru_(clainman),1,240,chiba_tsuru
+the_loud_house,3,240,
+tao_(kadoya),1,240,
+tamahana,1,240,
+sumiya_nadateru,1,240,katsumi5o
+starly,4,240,
+soukou_makura,1,240,
+slipping,0,240,
+sleep_bubble,0,240,
+shitty_t-shirt_naval_base,0,240,
+shinomiya_karen,4,240,
+serafall_leviathan,4,240,
+seeker,1,240,
+sasha_(haguhagu),4,240,
+sai-go,1,240,
+roaring,0,240,roar
+professor_(ragnarok_online),4,240,scholar_(ragnarok_online)
+penguin_3-gou,4,240,
+paperclip,0,240,paper_clip
+oppai_mochi,0,240,
+olympics,3,240,olympic_games
+miyakure,1,240,
+meerkat_(kemono_friends),4,240,
+mayo_chiki!,3,240,mayo_chiki
+marle_(chrono_trigger),4,240,
+malon,4,240,
+lena_(zoal),1,240,
+legend_of_mana,3,240,
+landing,0,240,
+kobaji,1,240,
+kizuato,3,240,
+kisaragi_gunma,1,240,gumma
+kenron_toqueen,1,240,
+kel_(omori),4,240,
+indomitable_(ms._motivationless_maid)_(azur_lane),4,240,
+icon_(computing),0,240,"icon,icons"
+hotpot,0,240,
+holding_quill,0,240,
+holding_chainsaw,0,240,
+hakusai_ponzu,1,240,
+gtunver,1,240,
+green_sarong,0,240,
+game_model,5,240,
+fate/unlimited_blade_works,3,240,
+eyeball_hair_ornament,0,240,
+eiserne_jungfrau,0,240,
+dissidia_012_final_fantasy,3,240,"dissidia_012,dissidia_012[duodecim]_final_fantasy,dissidia_012_[duodecim]_final_fantasy,dissidia_duodecim_final_fantasy"
+crawling_dreams,3,240,
+cocq_taichou,1,240,
+chii_(tsumami_tsumamare),1,240,ti_owo
+cafe_(cafe-chan_to_break_time),4,240,cafe-chan_(porurin)
+blueprint,0,240,"blueprints,schematics"
+audrey_burne,4,240,audrey_burn
+amagase_touma,4,240,
+abandoned,0,240,
+zephid,1,239,
+yonaga_(masa07240),1,239,masa07240
+wireless_sex_toy_controller,0,239,wireless_sex_toy_control
+virginia_maxwell,4,239,
+viking,0,239,
+turewindwalker,1,239,kaze_no_gyouja
+tomb_raider,3,239,
+tatsumi_koutarou,4,239,
+tail_biting,0,239,"biting_tail,tail_bite"
+supershiruco,1,239,takashiru
+stargazing,0,239,
+southern_ocean_oni,4,239,
+shimizudani_ryuuka,4,239,
+shiina_mashiro,4,239,
+satou_toshiyuki,1,239,
+rizu-kyun,4,239,
+ribbon-trimmed_thighhighs,0,239,
+remilia_scarlet_(cosplay),0,239,
+rake,0,239,
+quiet_(metal_gear),4,239,
+pool_table,0,239,
+pony_play,0,239,ponyplay
+ogino_(oginogino),1,239,botaofnw
+numbers'_uniform,0,239,
+night_raven_college_uniform,0,239,
+nicetack,1,239,
+nemoto_yuuma,1,239,
+nakiri_alice,4,239,
+mutsu_kai_ni_(kancolle),4,239,
+mizunoe_kotaru,1,239,
+mitty_(made_in_abyss),4,239,
+mew_ichigo,4,239,
+mebae,1,239,
+manga_time_kirara,3,239,
+kurotama,1,239,
+kumiho,0,239,
+isamu-ki_(yuuki),1,239,
+ippers,1,239,
+illyasviel_von_einzbern_(swimsuit_archer),4,239,illyasviel_von_einzbern_(swimsuit_archer)_(fate)
+ikarin,1,239,
+hoxutixu,1,239,
+hisako_(angel_beats!),4,239,
+hirasawa_seiji,1,239,
+hiramedousa,1,239,
+heavy_object,3,239,
+hands_on_another's_shoulder,0,239,
+grey_sclera,0,239,
+gascogne_(azur_lane),4,239,
+fujiko_(emnprmn),1,239,
+flying_saucer,0,239,ufo
+face_in_ass,0,239,
+eye_socket,0,239,
+evertale,3,239,
+eve_(chihuri),4,239,
+emma_august,4,239,
+double_(skullgirls),4,239,
+darkside,1,239,
+cotton_swab,0,239,"cotton_bud,q-tip"
+compact_(cosmetics),0,239,
+ciel_(mega_man),4,239,"ciel_(megaman),ciel_(rockman)"
+churuya,4,239,
+ben-tou,3,239,"ben-to,ben-too,ben_to,ben_too"
+bandaid_on_shoulder,0,239,
+ass_smack,0,239,
+aruman,1,239,armad
+angelina_(summer_flowers)_(arknights),4,239,
+zellam,1,238,zeramu
+wooden_lantern,0,238,
+ugume,1,238,
+u-1196,4,238,
+tsukimi_dango,0,238,
+tressa_colzione,4,238,tressa_(octopath_traveler)
+tom_clancy's_the_division,3,238,
+teltelhousi,1,238,
+taxi,0,238,
+tassel_choker,0,238,
+takenouchi_sora,4,238,
+takei_junko,4,238,
+taguchi_takahiro,1,238,
+six_fanarts_challenge,0,238,
+sit-up,0,238,
+sinensian,1,238,
+sherry_birkin,4,238,
+ryota-h,1,238,
+rotom_(normal),4,238,
+rina_atherina,4,238,
+rikudou_inuhiko,1,238,
+pumpkin_pants,0,238,
+print_hairband,0,238,
+poker,0,238,
+okuba,1,238,
+north_abyssor,1,238,abyss_of_parliament
+nier_reincarnation,3,238,
+nanahamu,1,238,
+mons_pubis,0,238,
+minamoto_chizuru,4,238,
+meng_ziya,1,238,
+mejiro_ryan_(umamusume),4,238,
+mcgunngu,1,238,
+maeya_susumu,1,238,
+maekawa_suu,1,238,
+mac_star,1,238,
+kusuribe,1,238,
+kumatora,4,238,
+kosokosomaru_(higashi_taishi),1,238,
+kazepana,1,238,kazehana_(spica)
+kageyama_shien,4,238,
+juggling,0,238,
+jaune_arc,4,238,
+itou_nanami,1,238,
+itamochi,1,238,
+instant_ramen,0,238,
+horse_boy,0,238,
+hormone_koijirou,1,238,
+honchu,1,238,
+hebino_rai,1,238,ot-nm
+haxorus,4,238,
+hair_half_undone,0,238,hair_half_down
+hagure_keg,1,238,
+gothic_architecture,0,238,
+golden_delmo,4,238,
+fur_(clothing),0,238,
+fox_hat,0,238,
+flower_eyepatch,0,238,
+expulse,1,238,kurisustinah
+dobermann_(arknights),4,238,
+cum_on_armpits,0,238,
+bokusatsu_tenshi_dokuro-chan,3,238,"bludgeoning_angel_dokuro-chan,dokurochan"
+blindfold_lift,0,238,
+bakuzan,0,238,
+ao+beni,1,238,
+anteater_ears,0,238,
+animeflux,1,238,anime_flux
+ze_(phrase),0,237,
+yuzuriha_(under_night_in-birth),4,237,
+velzhe,1,237,
+tsukino_wagamo,1,237,
+tipii,1,237,
+taka-michi,1,237,
+suicide_squad,3,237,
+star_pillow,0,237,
+sora_no_amagumo,1,237,
+sid_story,3,237,
+shukusuri,1,237,
+shipwreck,0,237,
+sekomumasada_sensei,4,237,
+seele_vollerei_(stygian_nymph),4,237,
+sasaoka_gungu,1,237,
+rose_(pokemon),4,237,
+richter_belmont,4,237,
+ribbon_(kirby),4,237,
+rezi,1,237,
+retorillo,1,237,
+relationship_graph,0,237,relationship_chart
+rei_(tonbo0430),1,237,
+paintrfiend,1,237,
+outbreak_company,3,237,
+nyarla_(osiimi),4,237,
+nikaidou_chizuru,4,237,
+nattou,0,237,natto
+natsu_(blue_archive),4,237,
+namahamu_(hmhm_81),1,237,
+murakami_tomoe,4,237,
+mont_blanc_(food),0,237,
+momoirone,1,237,
+mole_on_collarbone,0,237,
+mo_ne,1,237,hijiwryyyyy
+messy_sleeper,0,237,
+meditation,0,237,
+light_switch,0,237,
+kurata_sayuri,4,237,
+kozakura_(dictionary),1,237,
+kirisawa_saki,1,237,s@ki_kilisawa
+kirin_kakeru,1,237,
+keita_naruzawa,1,237,
+katsura_kotarou,4,237,kotarou_katsura
+ichihisa,1,237,
+hot_chocolate,0,237,hot_cocoa
+hisoka_morow,4,237,hisoka_(hunter_x_hunter)
+grey_bag,0,237,
+gachimuchi,3,237,
+frog_costume,0,237,"frog_suit,frogsuit"
+freija_crescent,4,237,freya_crescent
+folait,1,237,
+fatal_frame_4,3,237,
+fake_beard,0,237,
+echidna_(queen's_blade),4,237,
+ddangbi,1,237,
+daifukumochi_(akaaokiiwo),1,237,
+cel_shading,0,237,
+aruma_jiki,1,237,
+arcana_heart_3,3,237,
+anno88888,1,237,
+a.a_(aa772),1,237,aa_(sin2324)
+yuzumiya_mono,1,236,
+yukico-tan,4,236,yukiko-tan
+yokai_(yokai0401),1,236,yokai
+wizard_(ragnarok_online),4,236,
+washing_back,0,236,
+vanilla_ice,4,236,
+unown,4,236,
+twitter-san,3,236,
+twin_angel,3,236,
+trigun,3,236,
+through_window,0,236,
+talkex,3,236,
+sumeragi_kaguya,4,236,
+solopipb,1,236,
+sikijou77o,1,236,
+shoejob,0,236,
+shishigami_(sunagimo),1,236,shishigami_(pixiv)
+shiromiya_asuka,4,236,
+shinonome_asu,1,236,shiki_(s1k1xxx)
+rikugou_(rikugou-dou),1,236,rikugo
+priestess,0,236,
+pola_(seaside_coincidence)_(azur_lane),4,236,
+pincers,0,236,
+pallas_(arknights),4,236,
+paizuri_on_lap,0,236,
+oruyanke_(shirakami_fubuki),4,236,
+nenchi,1,236,
+narumi_tsuyu,4,236,
+nano_(nanosize),1,236,nano
+mustard,0,236,
+munchlax,4,236,
+maine_(honzuki_no_gekokujou),4,236,
+maid_cafe,0,236,
+lost_universe,3,236,
+linda,1,236,
+lappland_(refined_horrormare)_(arknights),4,236,lappland_(elegant_omen)_(arknights)
+kurumi_(kantoku),4,236,
+kurozawa_yui,1,236,"kurosawa_(hjkl42332),kurosawa_rui_(hjkl42332)"
+kuroe_shizuku,4,236,
+kinjo_kuromomo,1,236,"kinjou_kuromomo,tsliuyixin,tsliuyixin"
+kendo,0,236,
+kamiya_midori,4,236,
+kabayaki_unagi,1,236,cytokine
+joy_division,1,236,
+inuyama_mana,4,236,
+i-19_(azur_lane),4,236,
+huwari_(dnwls3010),1,236,"chicking,huwali_(dnwls3010)"
+hubrael,1,236,misaki_takahiro
+heebee,1,236,
+hecatia_lapislazuli_(moon),4,236,
+hamaguri_(hamaguri1234),1,236,
+hama!_(3toshinhmkz),1,236,"3toshinhmkz,hamatsu!"
+hakata_toushirou,4,236,
+hagakure_yasuhiro,4,236,
+gurimjang,1,236,
+gunner-l,1,236,milk_tank
+gulp5959,1,236,
+golf,0,236,
+glowing_petals,0,236,
+ekko_(league_of_legends),4,236,
+ear_pull,0,236,
+ear_chain,0,236,
+diorama,0,236,
+cutie_mark,0,236,
+coreytaiyo,1,236,
+constance_von_nuvelle,4,236,
+cidney_aurum,4,236,"cidney_(ff15),cidney_(final_fantasy),cindy_(ff15)"
+christmas_tree_hair_ornament,0,236,
+chameleon_man_(three),1,236,
+cat's_cradle,0,236,
+canned_food,0,236,
+breasts_on_back,0,236,
+bishoujo_senshi_sailor_moon_crystal,3,236,
+avatar_icon,0,236,
+asahikawa_hiyori,1,236,
+arai-san_mansion,3,236,
+apple_slice,0,236,
+ammunition_box,0,236,ammo_box
+akizuki_shigure,1,236,51_(akiduki)
+4shi,1,236,
+yuuzuki_(re'ef),1,235,"noraneko,sakamoto-cat"
+yuuki_(irodo_rhythm),1,235,yuuki_(pixiv9686)
+yuuichi_(tareme_paradise),1,235,yuuichi_(artist)
+yume_no_tsue,0,235,
+yamanokami_eaka,1,235,
+x_arms,0,235,
+wonderful_rush,0,235,
+utakata_(kochou_no_yume),1,235,utakata_(0824)
+touya_(the-moon),1,235,yuukyuu_kikansya
+tibetan_fox_(kemono_friends),4,235,tibetan_sand_fox_(kemono_friends)
+tenpesuto,1,235,kyuchan
+sumo,0,235,
+strike_witches:_aurora_no_majo,3,235,
+strawberry_blossoms,0,235,strawberry_blossom
+sketchbook_full_colors,3,235,
+sekine_shiori,4,235,sekine
+sakurano_ru,1,235,"byruu,sakurano_tsuyu"
+rum_raisin_(chihiromakita19),1,235,
+rougetsu_(eclipse),1,235,
+roserade,4,235,
+rolo_lamperouge,4,235,
+rainbow_eyes,0,235,
+poverty,0,235,poor
+piyoko_(uruha_rushia),4,235,
+pink_babydoll,0,235,
+philosopher's_stone,0,235,
+owler,1,235,
+on_railing,0,235,
+no_male_underwear,0,235,"no_briefs,no_underwear,no_underwear_(male)"
+murakami_kou_(raye),1,235,murakami_rei
+melon-chan,4,235,
+meiko_(inuarashi),4,235,
+mata_hari_(fate),4,235,mata_hari_(fate/grand_order)
+master_2_(housamo),4,235,master_2_(tokyo_houkago_summoners)
+marius_von_hagen_(tears_of_themis),4,235,
+magaki_ryouta,1,235,
+m.o.m.o.,4,235,
+light_cruiser_princess,4,235,light_cruiser_hime
+koumajou_densetsu_2,3,235,koumajo_densetsu_2
+kazuno_leah,4,235,
+karura_(utawarerumono),4,235,karura_(utawareru_mono)
+jeremiah_gottwald,4,235,
+james_buchanan_barnes,4,235,bucky_barnes
+jacy,1,235,
+inkerton-kun,1,235,inkuusan
+hori_shin,1,235,
+honotai,1,235,
+holy_grail_(fate),0,235,
+hk416_(starry_cocoon)_(girls'_frontline),4,235,
+hie_(hiememiko),4,235,
+henet_hene,1,235,
+harumiya,1,235,
+haoro,1,235,
+hair_over_crotch,0,235,
+gundam_aerial,4,235,
+goriate,1,235,
+gambe,1,235,
+flat_sign,0,235,
+evan_yang,1,235,
+eliskalti,1,235,
+crotchless_swimsuit,0,235,
+babywearing,0,235,
+anzu_(ensemble_stars!),4,235,
+25-ji_miku,4,235,25_miku
+yuri_kuma_arashi,3,234,
+window_(computing),0,234,pop-up_window
+vs_seeker,0,234,vs._seeker
+valtava,4,234,
+unsomnus,1,234,
+tsukimirin,1,234,
+tsubasa_chronicle,3,234,
+thanatos_(persona),4,234,
+tamagogayu1998,1,234,
+swiftsure_(azur_lane),4,234,
+shimano_natsume,1,234,
+shamonabe,1,234,
+sewing_machine,0,234,
+sensha_otoko,3,234,
+saihate_(d3),1,234,
+sagamiso,1,234,
+renne_(eiyuu_densetsu),4,234,
+raimon_school_uniform,0,234,
+raikou,4,234,
+psychedelic,0,234,psychadelic
+playstation_2,0,234,ps2
+panda_girl,0,234,
+palanquin_ship,0,234,
+overexposure,0,234,
+oshiruko_(tsume),1,234,
+ootsuka_shin'ichirou,1,234,gashin
+nonohachi,1,234,
+nakajima_konta,1,234,
+mosin-nagant_(girls'_frontline),4,234,mosin-nagant_(girls_frontline)
+mizu_asato,1,234,
+matsuda_arisa,4,234,
+manaria_friends,3,234,
+makai,1,234,
+lace-trimmed_collar,0,234,
+kousaku,1,234,
+kirche_augusta_frederica_von_anhalt_zerbst,4,234,
+khyle.,1,234,"khyleri,scrooge_mckhyle"
+kerok_(joniko1110),1,234,joniko1110
+katsuwo_(cr66g),1,234,
+kaburamaru,4,234,
+itohana,1,234,
+inyucchi,1,234,
+hourou_musuko,3,234,wandering_son
+gon-san,0,234,
+furret,4,234,
+frankenstein's_monster_(swimsuit_saber)_(first_ascension)_(fate),4,234,
+fairy_knight_gawain_(second_ascension)_(fate),4,234,
+dytm,1,234,
+delia_ketchum,4,234,"delia_(pokemon),delia_(pokemon),hanako_(pokemon),mrs._ketchum,mrs._ketchum,mrs_ketchum,mrs_ketchum"
+brown_scrunchie,0,234,
+blue_stripes,0,234,
+black_santa_costume,0,234,
+bird_boy,0,234,
+bible_(object),0,234,bible
+beaver_tail,0,234,
+azuumori,1,234,
+aurora_sya_lis_kaymin,4,234,
+arcade_stick,0,234,
+arai_togami,1,234,
+aragami_oga,4,234,aragami_ouga
+anyan_(jooho),1,234,
+aihara_yuzu,4,234,aihara_yuzuko
+yuuki_eishi,1,233,tsukiyo_gensou
+yasuda_suzuhito,1,233,
+winged_heart,0,233,
+water_world,0,233,
+wanta_(futoshi),1,233,wantan-orz
+tokitou_muichirou,4,233,
+tocky,1,233,
+throat_bulge,0,233,
+tamamo_no_mae_(jk)_(fate),4,233,tamamo_jk_(fate)
+takatsuki_akira,1,233,herunin
+takamine_noa,4,233,
+tajima_yoshikazu,1,233,nicky_(pipin)
+taisa_(cookie),4,233,
+sky_girls,3,233,
+sills,1,233,"shiruzu_(sills_ud),shiruzu_(sk10102194)"
+sesshouin_kiara_(lily),4,233,
+scimitar,0,233,
+peaceful,0,233,
+orphen,4,233,
+oran_berry,0,233,
+okita_j._souji_(third_ascension)_(fate),4,233,
+nyum,1,233,
+noda_(angel_beats!),4,233,
+narumiya_(narumiya),1,233,narumiya
+nanami_lucia,4,233,
+miyamasuzaka_girls'_academy_uniform,0,233,
+miyako_(princess_connect!),4,233,izumo_miyako
+miv4t,1,233,mivit
+miroku_san-ju,1,233,
+mercedes_(odin_sphere),4,233,
+manhole_cover,0,233,
+machimura_komori,1,233,
+lisa_(ponyo),4,233,risa_(ponyo)
+light_stick,0,233,
+kurumi_momoka,4,233,
+kotobuki_tsukasa,1,233,
+koohiitei_shinbo,1,233,coffeelove68
+komaru_(himouto!_umaru-chan),4,233,komaru
+kibihimi,1,233,
+karuha,1,233,
+kagawa_ichigo,1,233,+15
+kabeu_mariko,1,233,
+iori_sei,4,233,
+ice_crystal,0,233,
+honda_naoki,1,233,
+hagioshi,1,233,
+gumiya,4,233,
+gretel_(sinoalice),4,233,
+goodra,4,233,
+giratina_(origin),4,233,
+garie_tuman,4,233,
+full-length_mirror,0,233,
+frioniel,4,233,firion
+foreskin_insertion,0,233,
+female_doctor_(arknights),4,233,
+elis_(touhou),4,233,
+ear_twitch,0,233,
+comic_penguin_club,3,233,
+birth,0,233,
+assisted_stretching,0,233,
+aphrodisiac,0,233,
+aleriia_v,1,233,lera_pi
+abe_takakazu,4,233,
+yuuki_keisuke,1,232,cubetype
+yurikawa,1,232,
+yukiusagi_(gaballscreen&blaze),1,232,yuki_usagi
+yui_(sao-alo),4,232,
+valley,0,232,
+ukraine_(hetalia),4,232,
+tsunbeji,1,232,
+tennis_net,0,232,
+tenma_tsukasa,4,232,
+table_tennis_ball,0,232,ping_pong_ball
+souma_hiroomi,4,232,
+skuld_(aa_megami-sama),4,232,
+shinkansen_henkei_robo_shinkalion,3,232,
+seungju_lee,1,232,
+scarecrow,0,232,
+sawada_yuusuke,1,232,
+sasorigatame,1,232,
+sarong_lift,0,232,
+rob_ishi,1,232,
+ress,1,232,
+re_(re_09),1,232,
+pila-pela,1,232,
+payphone,0,232,
+outie_navel,0,232,
+okada_(hoooojicha),1,232,joey_joey_joey
+nekomura_iroha,4,232,
+nanobana_kinako,4,232,
+nagato-chan,1,232,
+miyamori_school_uniform,0,232,
+manticore_(arknights),4,232,
+mad_(hazukiken),1,232,
+konka,1,232,
+kneepit_sex,0,232,knee_pit_sex
+kilart,1,232,
+izumi_yukiru,1,232,yukitokaze
+hot_pants_(sbr),4,232,
+hanenbo,1,232,mu_acrt
+hanada_hyou,1,232,
+hama_chon,1,232,
+hakamichi_shizune,4,232,
+gundou_mirei,4,232,
+green_camisole,0,232,
+grandfather_and_granddaughter,0,232,
+g36c_(girls'_frontline),4,232,g36c_(girls_frontline)
+g-tetsu,1,232,
+fumihiro,1,232,
+fuecoco,4,232,
+fagi_(kakikaki),1,232,atsuyah0310
+emanon123,1,232,
+drainpipe,0,232,
+douji,1,232,
+double_bass,0,232,contrabass
+decantering,0,232,
+cure_milky,4,232,
+country_connection,0,232,
+choukou_sennin_haruka,3,232,beat_blades_haruka
+breast_strap,0,232,
+breakfast,0,232,
+bodysuit_pull,0,232,
+biting_clothes,0,232,
+bandana_waddle_dee,4,232,
+aposine,1,232,
+antinomy_of_common_flowers,3,232,
+ankle_wings,0,232,
+amano_hina_(tenki_no_ko),4,232,
+alchemy,0,232,
+year_of_the_monkey,0,231,
+yak_(kemono_friends),4,231,
+xenoblade_chronicles_x,3,231,xenoblade_x
+weasel,0,231,stoat
+v_legs,0,231,
+unsinkable_sam,4,231,
+the_king_of_fighters_xiii,3,231,king_of_fighters_xiii
+tarbo_(exxxpiation),1,231,
+string_pull,0,231,
+stepping,0,231,
+soon_(c-u-soon),1,231,
+sin-go,1,231,
+sibyl,1,231,
+shaving,0,231,
+rokko,1,231,rokko_(pixiv310862)
+quilava,4,231,
+plan_(planhaplalan),1,231,
+ottosfoxhole,1,231,otto
+nazo_no_kanojo_x,3,231,mysterious_girlfriend_x
+nagato_yuuki,4,231,
+mizunashi_kenichi,1,231,
+minami_haruka,4,231,
+mikan_(5555),1,231,
+matterhorn_(arknights),4,231,
+masou_gakuen_hxh,3,231,
+madogawa,1,231,
+lasto,1,231,
+lala_(monster_musume),4,231,
+kyuri_tizu,1,231,kyuri_(405966795)
+kuro_oolong,1,231,kurou_(crow)
+kougi_hiroshi,1,231,
+kiyohime_(swimsuit_lancer)_(third_ascension)_(fate),4,231,
+kenken,1,231,
+kanzaki_kureha,1,231,
+kan'u,4,231,kanu
+kamiyama_high_school_uniform_(project_sekai),0,231,kamiyama_high_school_uniform_(sekai)
+judd_(splatoon),4,231,jajji-kun_(splatoon)
+idolmaster_movie,3,231,
+idea,0,231,
+hwansang,1,231,libert
+holding_cape,0,231,
+hirokiku,1,231,
+heroine_(dq4),4,231,female_hero_(dq4)
+grey_rose,0,231,gray_rose
+gilse,1,231,
+fur_capelet,0,231,
+fukuoka_katsumi,1,231,
+fishnet_armwear,0,231,
+eyepatch_lift,0,231,
+e_sky_rugo,1,231,okuzashiki
+decorations,0,231,
+cure_yell,4,231,
+cucouroux_(granblue_fantasy),4,231,kukuru_(granblue_fantasy)
+crimson_comics,1,231,
+clover_(flower),0,231,
+carro_veloce_cv-33,0,231,
+bald_eagle_(kemono_friends),4,231,
+azuki_yui,1,231,
+ayase_midori,1,231,
+aoba_tsugumi,4,231,
+yuki_miku_(2011),4,230,
+yorukun,1,230,
+waka_(shark_waka),1,230,
+wailord,4,230,
+wafer,0,230,
+volkor,1,230,
+viewer_on_leash,0,230,pov_leashed
+urec,1,230,
+traumatized,0,230,
+touhou_cannonball,3,230,
+toro_(konirio),1,230,
+tonguejob,0,230,
+the_terminator,3,230,terminator_1
+sleeping_beauty,3,230,
+silver_chariot,4,230,
+shimizu_kiyoko,4,230,
+saya_pr,1,230,yoruoujito-tsukinohime
+rune_(pixiv_25170019),1,230,
+plant_hair,0,230,leaf_hair
+plaid_sailor_collar,0,230,
+pink_ocean,1,230,
+phantom_kingdom,3,230,"makai_kingdom,phantomkingdom"
+nishikata,4,230,
+neko_(yanshoujie),1,230,
+morita_kazuaki,1,230,
+mononoke,3,230,
+mikoto_akemi,1,230,
+mickey_krog,4,230,
+lina_davis,4,230,lina_(heroman)
+lazy_lazy_(idolmaster),0,230,
+kuzumomo,1,230,
+kumagai_haito,1,230,
+kiryuu_makoto,1,230,
+kinosaki,1,230,
+kawakaze_(azur_lane),4,230,
+kaiboukan_no._4_(kancolle),4,230,kaiboukan_no._4_(kantai_collection)
+juugonichi_(wheeliex2),1,230,
+impossible_towel,0,230,
+holy_pumpkin,1,230,xelwyw1103
+hayyan,1,230,
+gris_swimsuit,0,230,
+gomano_rio,1,230,
+gesogeso,1,230,
+frilled_vest,0,230,
+etopen,4,230,
+emperor_penguin,0,230,
+emerada_(xenogears),4,230,emeralda_kasim
+curse_(023),1,230,
+cure_bloom,4,230,
+cosine,1,230,
+clockwork,0,230,
+chou-10cm-hou-chan_(teruzuki's),4,230,
+cerberus_(shingeki_no_bahamut),4,230,cerberus_(granblue_fantasy)
+bubble_pipe,0,230,
+billie_(meng_gong_fang),1,230,menggongfang
+belt_removed,0,230,
+bard,0,230,
+banagher_links,4,230,barnarge_lynx
+apollo_justice,4,230,odoroki_housuke
+ace_attorney_investigations,3,230,gyakuten_kenji
+aano_(10bit),1,230,
+zanzi,1,229,
+yamaori_(yamaorimon),1,229,
+wolf_link,4,229,link_(wolf)
+tower_of_fantasy,3,229,
+threat,0,229,
+the_big_o,3,229,big_o
+tetrodotoxin,1,229,
+taki_minashika,1,229,minashika_taki
+takamura_yui,4,229,
+suzumiya_haruhi_(cosplay),0,229,
+suoiresnu,1,229,
+star_wand,0,229,
+square_pupils,0,229,
+sora_yori_mo_tooi_basho,3,229,a_place_further_than_the_universe
+soba,0,229,
+sirfetch'd,4,229,
+sian,1,229,
+shu-z,1,229,funky-harem
+shogi_piece,0,229,shougi_piece
+scat,0,229,
+sawaguchi_mai,4,229,
+sakura_taisen_v,3,229,sakura_wars:_so_long_my_love
+roberta_(black_lagoon),4,229,
+risumi_(taka-fallcherryblossom),1,229,
+rin2008,1,229,
+rakka_(haibane),4,229,
+purple_serafuku,0,229,
+puni_(miku_plus),4,229,
+panties_day,0,229,pantsu_no_hi
+pachira,4,229,
+oxygen_tank,0,229,
+oroborus,1,229,"sauvagex,savagexthicc"
+oono_tsutomu,1,229,oono_tutomu
+ogata_tei,1,229,
+norza,1,229,
+nogami_aoi,4,229,
+nesoberi,0,229,
+nakata_sae,4,229,
+murakami_hisashi,1,229,
+multiple_vaginal,0,229,
+mu_mashu,1,229,
+momotsuki_gakuen_school_uniform,0,229,
+mistletoe,0,229,
+layered_shirt,0,229,layered_blouse
+lara_croft,4,229,
+kobeya,3,229,
+klaudia_valentz,4,229,
+kisamu_(ksmz),1,229,
+kim_yura_(goddess_mechanic),1,229,
+kawajiri_kosaku,4,229,kawajiri_kousaku
+kasuga_sunao,1,229,
+kannari,1,229,
+joker_(dc),4,229,the_joker
+j.moon,1,229,lilycious
+hanny_(uirusu_chan),1,229,"censored_capybara,hanny_(nhim)"
+h&k_g36,0,229,g36
+gundam_barbatos,4,229,
+goumudan,1,229,icarus_(632247131)
+ghostblade,3,229,
+focke_wulf,1,229,"focke,hokkeurufu,superflat_lolinitron"
+firefighter_jacket,0,229,fire_jacket
+feiqizi_(fkey),4,229,
+eggman_(pixiv28975023),1,229,
+crab_on_head,0,229,
+club_hair_ornament,0,229,
+chemical_structure,0,229,
+cat_pillow,0,229,
+cammy_white_(cosplay),0,229,
+breathing_on_hands,0,229,
+blue_blood,0,229,
+benio_(dontsugel),1,229,
+alternate_height,0,229,
+54hao,1,229,
+zeronis,1,228,"gozentomo3,paul_kwon,shiramune"
+yoo_tenchi,1,228,ykh1028
+woodland_camouflage,0,228,"m81_woodland_(camo),multicam_(camo),woodland_pattern"
+wolf_spirit_(touhou),4,228,
+vinhnyu,1,228,
+utahane,1,228,
+upotte!!,3,228,upotte
+tsuchii_(ramakifrau),1,228,
+tanaka_kaori,1,228,"soraya_saga,sorayasaga"
+swkl:d,1,228,
+sugi,1,228,
+splush_wave,1,228,
+skai_kun,1,228,
+single_mechanical_leg,0,228,mechanical_leg
+shaped_lollipop,0,228,
+seiken_densetsu_2,3,228,secret_of_mana
+samuel_oak,4,228,"oak_(pokemon),oak_(pokemon),ookido_yukinari,prof._oak,prof._oak,prof_oak,prof_oak,professor_oak,professor_oak,yukinari_(pokemon),yukinari_(pokemon)"
+salt,0,228,
+s-a-murai,1,228,
+rpg-7,0,228,
+removing_bra,0,228,unfastening_bra
+paizuri_over_clothes,0,228,
+newtype_flash,0,228,
+neuroi,4,228,
+multi-strapped_bikini_bottom,0,228,
+moon_print,0,228,
+meruru_(oreimo),4,228,meruru_(ore_no_imouto)
+mephist,1,228,mephist-pheles
+maru-yu-san,4,228,
+marta_lualdi,4,228,
+maritan_(pixelmaritan),1,228,maritan_(artist)
+manjoume_jun,4,228,chazz_princeton
+magatsuchi_shouta,4,228,
+kubocha,1,228,
+kisaragi_ryou_(sougetsu-tei),1,228,kisaragiya
+kirby:_star_allies,3,228,
+kinntarou,1,228,
+kakiman,1,228,
+junk_gaming_maiden,3,228,
+jakko,1,228,
+iwamoto_sora,1,228,
+idoly_pride,3,228,
+ibuo_(ibukht1015),1,228,densen_(itoguchi)
+hone_(honehone083),1,228,
+hentai_key,1,228,
+henreader,1,228,
+heavy,0,228,
+hair_over_mouth,0,228,
+gundula_rall,4,228,
+girl_(deemo),4,228,
+gif_artifacts,5,228,
+fujikawa_daichi,1,228,
+frisbee,0,228,
+french_horn,0,228,
+flying_whale,0,228,
+fighter_(dq3),4,228,
+dodome-iro_mayonnaise,1,228,dodome_(sharon)
+disgaea_d2,3,228,
+danimaru,1,228,iriehana
+crossbone_gundam,3,228,
+clumsy,0,228,
+chiyo_(rotsurechiriha),1,228,
+chihiro_(khorosho),1,228,
+chaos;head,3,228,
+beritabo,1,228,su-suke
+alien1452,1,228,
+adeptus_astartes,4,228,space_marines
+zero_(miraichizu),1,227,
+zebra_ears,0,227,
+yuno_(suke_yuno),1,227,
+yuisis_(granblue_fantasy),4,227,
+your_diary,3,227,
+ycco_(estrella),1,227,
+xu_fu_(fate),4,227,
+wilhelmina_braunschweig_ingenohl_friedeburg,4,227,
+whistle_frog,1,227,
+villyane,1,227,
+vertical-striped_headwear,0,227,vertical-striped_hat
+uemukai_dai,1,227,
+trouble_spirit!,3,227,
+torso,0,227,
+tokuno_yuika,1,227,
+steins;gate_0,3,227,
+spots,0,227,
+soulcalibur_v,3,227,soul_calibur_v
+sora_no_method,3,227,celestial_method
+siun,1,227,
+shirono,1,227,
+shinjitsu,1,227,
+shichirin,0,227,
+severed_hand,0,227,
+sendou_aichi,4,227,
+scirocco_(kancolle),4,227,scirocco_(kantai_collection)
+sbs,1,227,
+roh_nam_kyung,1,227,jeminl
+ren_kougyoku,4,227,
+reitou_mikan,1,227,
+queen's_blade_unlimited,3,227,
+powered_buttercup,4,227,
+persona_eyes,0,227,
+paint_on_body,0,227,
+oopartz_yang,1,227,"ggg_(ted08191),grooooovy"
+o-ring_collar,0,227,
+nonohara_akane,4,227,
+naruse_mio,4,227,
+nanaroba_hana,1,227,
+nakaichi_(ridil),1,227,
+mitsuki_meia,1,227,mitsuki_meiya
+mikoshiba_mikoto,4,227,
+makinaru,1,227,
+macaron_hair_ornament,0,227,
+louise_halevy,4,227,
+leonmandala,1,227,
+kurenai_karasu,1,227,
+kokutou_nikke,1,227,
+kinshi_no_ane,4,227,
+kimura_kaere,4,227,
+kemu_(guruguru_dan),1,227,kemu_(pixiv463430)
+kathryne_keyron,4,227,katheryne_keyron
+jirou_tachi,4,227,
+jeanex,1,227,
+izumo_neru,1,227,
+iya_na_kao_sare_nagara_opantsu_misete_moraitai,3,227,"iya_na_kao_sare_nagara_kozukuri_sasete_moraitai,iya_na_kao_sare_nagara_opantsu_misete_sasete_moraitai"
+inuzuka_bouru,1,227,inuduka_bouru
+horosho,0,227,
+holding_whistle,0,227,
+holding_watering_can,0,227,
+h,0,227,
+gypsy_(ragnarok_online),4,227,
+giuseppe_garibaldi_(kancolle),4,227,giuseppe_garibaldi_(kantai_collection)
+fushigi_ebi,1,227,
+fujiyama_ichiha,1,227,edel_(edelcat)
+fujieda_miyabi,1,227,
+food-themed_ornament,0,227,food_themed_ornament
+firo_(tate_no_yuusha_no_nariagari),4,227,
+feather_fan,0,227,
+emil_(nier),4,227,no._7_(nier)
+emia_renya,4,227,
+elysion,3,227,
+elina,4,227,
+doupo_cangqiong,3,227,
+double_dealing_character,3,227,
+digimon_xros_wars,3,227,
+charmeleon,4,227,
+bubbles_(ppg),4,227,
+bottle_to_cheek,0,227,
+book_on_head,0,227,
+black_hole,0,227,
+beize_(garbage),1,227,
+ao_no_roku-gou,3,227,blue_submarine_no_6
+alice_(sinoalice),4,227,
+air_gear,3,227,
+yeklsa,1,226,
+yankee,0,226,
+wraith's_kunai,0,226,
+wiping_forehead,0,226,
+utu_(ldnsft),1,226,
+uo_denim,1,226,
+tsuzuya_(knt31),1,226,knt31
+tsukishima_hajime,4,226,
+tokkihouse,1,226,tk2hes
+togedemaru,4,226,
+suna_(sunaipu),1,226,
+sumapan,1,226,
+sounding,0,226,
+soapland,0,226,
+sitting_on_box,0,226,
+silver_bikini,0,226,
+shiny_chariot,4,226,
+shachiku_succubus_no_hanashi,3,226,
+searching,0,226,
+ryara,1,226,ryara_vivi
+propaganda,0,226,
+ootsuki_momiji,1,226,
+no_more_heroes,3,226,
+nikaidou_(dorohedoro),4,226,
+ni-class_destroyer,4,226,
+nekokyun,1,226,falsche.shido
+kureha_(ironika),1,226,
+kuon_(kwonchanji),1,226,
+kouhai-chan_(douki-chan),4,226,"douki-chan's_rival_(yomu_(sgt_epper)),kouhai-chan_(yomu_(sgt_epper)),office_lady's_rival_(yomu_(sgt_epper))"
+kodama_yuu,1,226,
+kendama,0,226,
+kagamihara_sakura,4,226,
+jam_(nandade),1,226,
+itsuki_kousuke,1,226,
+iris_anemone,1,226,
+ichimi_renge,1,226,ichimirenge
+holding_mallet,0,226,
+higanbana_no_saku_yoru_ni,3,226,
+haruken,1,226,
+harry_potter,4,226,"harry_james_potter,harry_potter_(character)"
+halphelt,1,226,
+hainchu,1,226,
+hai_to_hickory,1,226,
+girlfriend_(houkago_play),4,226,
+fuyuno_haruaki,1,226,techno-fuyuno
+futami_yayoi,1,226,
+enkidu_(weapon)_(fate),0,226,enkidu_(weapon)
+elizabeth_f._beurling,4,226,elizabeth_f_beurling
+element_bending,0,226,
+egami,1,226,
+dr_graevling,1,226,
+dola_(nijisanji),4,226,
+dino_(dinoartforame),1,226,
+dan_evan,1,226,el-zheng
+daida,4,226,
+crown_of_thorns,0,226,
+chixiao,1,226,
+caress,0,226,
+bible_black,3,226,bible_black_only
+beniko_(ymdbnk),1,226,
+belly-to-belly,0,226,"belly_to_belly,stomach-to-stomach"
+alexander_dinh,1,226,
+yuura,1,225,
+yuta_agc,1,225,
+wing_print,0,225,
+white_stripes,0,225,
+white_lion_(kemono_friends),4,225,
+wancozow,1,225,
+voodoo_doll,0,225,
+volcarona,4,225,
+uzumaki_kushina,4,225,
+tsurusaki_yuu,1,225,hatori_niwatori
+tottoto_tomekichi,1,225,
+symphony_regalia,0,225,
+swimsuit_theft,0,225,swimsuit_thief
+super_famicom,0,225,
+spicy_bardo,1,225,bard-bot
+soren_(fire_emblem),4,225,
+single_garter,0,225,
+shin_getter_robo,3,225,
+satsuki_rin,4,225,
+ruchi,1,225,
+ribbon-trimmed_shirt,0,225,
+relm_arrowny,4,225,
+qblade,1,225,
+paper_hat,0,225,
+panty_tug,0,225,
+otonashi_saya,4,225,
+omar_dogan,1,225,
+ol-chan_(oouso),4,225,
+nyan_(reinyan_007),1,225,
+neps-l,1,225,
+native_american_headdress,0,225,
+nakaseko_kaori,4,225,
+moe2019,0,225,
+mixed-sex_combat,0,225,
+mitsukoshi_(department_store),0,225,
+mine_(weapon),0,225,land_mine
+minato_fumi,1,225,babynine
+metal_belt,0,225,
+mash_kyrielight_(cosplay),0,225,
+mamimi_(mamamimi),1,225,
+lilim_(monster_girl_encyclopedia),4,225,
+licking_weapon,0,225,
+korrina_(pokemon),4,225,"korinna_(pokemon),korinna_(pokemon),koruni_(pokemon)"
+kirusu,1,225,
+kidnapping,0,225,
+kazo,1,225,
+kavka,1,225,
+katou_(osoraku),1,225,
+k_pring,1,225,pring654
+judy_hopps,4,225,
+johnny_(from_scratch),1,225,johnny_(artist)
+jittsu,1,225,
+holoforce,0,225,
+holding_pot,0,225,
+hino_minato_(spec.c),1,225,
+heart_hair,0,225,
+head_on_arm,0,225,
+goliath_doll,4,225,
+goldeen,4,225,
+gobanme_no_mayoi_neko,1,225,maimai251
+garimpeiro,1,225,
+gaiters,0,225,
+gag_around_neck,0,225,
+fleet,0,225,
+fairy_tone,4,225,
+escha_malier,4,225,
+elaine_(pokemon),4,225,ayumi_(pokemon)
+easy_(aqk7bdqt),1,225,
+dry_humping,0,225,
+drawn_wings,0,225,
+doseisan,4,225,mr._saturn
+digimon_frontier,3,225,
+dfer,1,225,eropastel
+cathedral,0,225,
+byourou,1,225,
+bell-bottoms,0,225,"bellbottoms,flare_pants,flares_(pants)"
+battoujutsu_stance,0,225,
+barrett_m82,0,225,"barrett_m82a2,m-82a,m82,m82a1"
+attsun_(atsushi_jb),1,225,
+asutora-chan,4,225,
+ashiwara_yuu,1,225,
+artemis_(sailor_moon),4,225,
+arcee,4,225,
+yuuhi_alpha,1,224,yuuhi_aruha
+yukikaze_kai_ni_(kancolle),4,224,
+yamcha_pose_(meme),0,224,yamcha_pose
+wrestle_angels_survivor_2,3,224,
+void_princess_(elsword),4,224,
+view_between_legs,0,224,
+up_sleeve,0,224,
+united_states_medal_of_honor,0,224,
+tifa_lockhart_(cosplay),0,224,
+thumbprint_cookie,0,224,jam_cookie
+taro_(taro),1,224,
+tantan_men_(dragon),1,224,
+strawberry_parfait,0,224,
+starman_(mario),4,224,
+soredemo_machi_wa_mawatteiru,3,224,and_yet_the_town_moves
+sleepover,0,224,"pajama_party,slumber_party"
+sitting_in_window,0,224,
+shindouji_school_uniform,0,224,
+sakana_(ryuusui-tei),1,224,
+relaxed,0,224,
+real_drive,3,224,
+ragnarok_masters,3,224,
+priscilla_the_crossbreed,4,224,
+pokegear,0,224,
+phantasmagoria_of_flower_view,3,224,
+p_(tidoriashi),1,224,
+nagasawa_shin,1,224,
+murasaki_iro,1,224,
+misha_(ohds101),1,224,ohds101
+misaki_juri,1,224,
+masaki_(ekakiningen),1,224,masak_(masaki4545)
+maehara_shinobu,4,224,
+la_pluma_(summer_flowers)_(arknights),4,224,
+kuroba_dam,1,224,
+kuro_mushi,1,224,
+kurisu_sai,1,224,
+kuria_(clear_trip_second),1,224,
+kuraki_suzuna,4,224,
+kukumomo,1,224,
+konboi-eg,1,224,
+komame_(st_beans),1,224,st_beans_lal
+kobashi_daku,1,224,
+kitsune_(kazenouta),1,224,
+kanojo_x_kanojo_x_kanojo,3,224,
+kakone,1,224,
+ishida_yamato,4,224,
+hiiragi_tomoka,1,224,
+hanazome_dotera,1,224,dotera-otoko
+grandmother_and_granddaughter,0,224,
+ghetsis_(pokemon),4,224,"g-cis_harmonia_gropius,geechisu_(pokemon),ghetsis_harmonia"
+gazelle_ears,0,224,oryx_ears
+g-room_honten,1,224,
+fuse_tail,0,224,
+forte_(shingeki_no_bahamut),4,224,
+falcoon,1,224,
+exif_rotation,5,224,
+egyptian_loli_(surio),4,224,
+death_stranding,3,224,
+dangmill,1,224,
+cypress,1,224,
+curse_maker_2,4,224,
+cpu_(hexivision),1,224,cpu_(artist)
+cashier,0,224,
+bone_print,0,224,
+baby_carry,0,224,
+artoria_caster_(first_ascension)_(fate),4,224,artoria_pendragon_(caster)_(first_ascension)_(fate)
+alita,4,224,gally
+463_jun,1,224,lu_hao_liang
+yurikuta_tsukumi,1,223,
+yukoku_roberu,4,223,yuukoku_roberu
+wonder_woman,4,223,
+unison_(nanoha),0,223,unison
+unel,1,223,
+transparent_raincoat,0,223,
+tonchinkan,1,223,
+takamura_wamu,1,223,
+stomach_punch,0,223,"gut_punch,harapan,punch_to_stomach"
+stinger,0,223,
+spiked_pauldrons,0,223,
+shirt_cut_meme,0,223,shirt_cut_(meme)
+shiro_seijo_to_kuro_bokushi,3,223,
+shigekikkusu,1,223,
+shacho_(ko_no_ha),1,223,
+sayika,1,223,
+sakakura_juuzou,4,223,
+sakae_general_school_uniform,0,223,
+realmbw,1,223,
+purrloin,4,223,
+poppi_qtpi_(xenoblade),4,223,"hana_jd,poppi_qtpi"
+papi_(papiron100),1,223,
+papa_no_iu_koto_wo_kikinasai!,3,223,"listen_to_me_girls._i_am_your_father!,listen_to_me_girls_i_am_your_father!,listen_to_me_girls_iÔÇÖm_your_father!,papa_no_iu_koto_wo_kikinasai,papa_no_iukoto_o_kikinasai,papa_no_iukoto_o_kikinasai!,papa_no_iukoto_wo_kikinasai,papa_no_iukoto_wo_kikinasai!,papakiki"
+pages,0,223,
+nonono_(nononotea),1,223,nonono
+nearl_the_radiant_knight_(arknights),4,223,
+nanael,4,223,
+nagana_sayui,1,223,
+multicolored_sky,0,223,
+mokeo,1,223,
+mojo,0,223,mojyo
+mizutamako,1,223,
+mirai_(sugar),1,223,
+milka_(milk4ppl),1,223,
+mike156,1,223,mike's_room
+melopun,1,223,meropan
+melanbread,1,223,watermelan
+mapar,1,223,cumin94
+maki_keigo,1,223,chouonsoku-jiisan
+kyjsogom,1,223,
+kurogane_gin,1,223,kurogin3
+kujo_jotaro's_pose_(jojo),0,223,
+kotatsu_kaya,1,223,
+konoe_a._mercury,4,223,"konoe_a_mercury,nine_(blazblue)"
+kisaragi_miyu,1,223,
+kiri_(2htkz),1,223,
+kinokomushi,1,223,
+kereno,1,223,amber_kereno
+kamehameha,0,223,
+jumpluff,4,223,
+jet_set_radio,3,223,
+hornet_(azur_lane),4,223,
+hiki_niito,1,223,
+hasegawa_chisame,4,223,
+gagraphic,3,223,ga_graphic
+fukiyose_seiri,4,223,
+fish_skeleton,0,223,
+feather_duster,0,223,
+fajyobore,1,223,"fajyobore323,ser323"
+derauea,1,223,
+corticarte_apa_lagranges,4,223,
+cecilia_lynne_adelhyde,4,223,
+boke-chan,1,223,
+bodskih,1,223,
+blue_reflection,3,223,
+batacchi_(mashimashi_butter),1,223,batabata0015
+bakutendou,1,223,bakutendo
+bad_neck,0,223,
+ayya_sap,1,223,"ayya_saparniyazova,ayyasap"
+ars_goetia,0,223,
+arito_arayuru,1,223,
+apologizing,0,223,apology
+anila_(summer)_(granblue_fantasy),4,223,
+amelia_wil_tesla_seyruun,4,223,
+ame_(uten_cancel),1,223,ameyame
+7-eleven,0,223,
+3_small_spiders,1,223,
+zukky,1,222,
+yuzuki_kei,1,222,
+yuuka_(gym_uniform)_(blue_archive),4,222,
+yuugo_(atmosphere),1,222,
+yuccoshi,1,222,quot
+yasaka_minato,1,222,
+xxzero,1,222,
+wet_spot,0,222,
+vanillite,4,222,
+uchiu_kazuma,1,222,
+u2_(5798239),1,222,
+tsujimoto_natsumi,4,222,
+tsugumi_seishirou,4,222,
+trombone,0,222,
+toph_bei_fong,4,222,toph
+togame,4,222,
+tiger_hood,0,222,
+throtem,1,222,
+sunbathing,0,222,
+stereo,0,222,
+speculum,0,222,
+songjikyo,1,222,
+shuriken_hair_ornament,0,222,
+shukinuko,1,222,syui_ko
+shidou_mariya,4,222,
+seychelles_(hetalia),4,222,
+sanbou,0,222,
+sage_(granblue_fantasy),4,222,
+rokka_no_yuusha,3,222,rokka:_braves_of_the_six_flowers
+rapunzel_(disney),4,222,
+qkat_(arikawa-dou),1,222,arikawa
+putting_on_gloves,0,222,
+otogibara_era,4,222,
+on_pillow,0,222,
+nessie_(respawn),4,222,
+nagatsukiin,1,222,
+muuba,1,222,"gyoniku,hagubani"
+muffet,4,222,
+mosaic_background,0,222,
+moriyama_shiemi,4,222,
+mizuno_kurage,1,222,
+miraculous_ladybug,3,222,
+megurine_luka_(toeto),4,222,
+marching_band,0,222,
+lilka_eleniak,4,222,
+kikuchi_tsutomu,1,222,
+kannagi_kaname,1,222,
+implied_handjob,0,222,
+holding_earphones,0,222,holding_earphone
+hitomi_sensei_no_hokenshitsu,3,222,nurse_hitomi's_monster_infirmary
+hisanuma_sayu,4,222,
+hisame_genta,1,222,
+hiroki_ree,1,222,
+hibiscus_(arknights),4,222,
+hayase_ruriko_(yua),4,222,
+hat_around_neck,0,222,
+gedou_(ge_ge_gedou),1,222,
+fujisaki_yuu,1,222,
+dratini,4,222,
+dengeki_bunko,3,222,
+cross-species_cosplay,0,222,
+cracked_screen,0,222,
+chinchongcha,1,222,
+bushidou_(sekaiju),4,222,"ronin_(etrian),ronin_(sekaiju),samurai_(sekaiju)"
+brown_feathers,0,222,
+bonfire,0,222,
+betchan,1,222,
+belial_(granblue_fantasy),4,222,
+battlefield_(series),3,222,
+ayase_honoka,4,222,
+arcane_vi,4,222,
+akinashi_yuu,1,222,
+aibumi,1,222,
+zeco,1,221,
+youshuu,1,221,
+yomiyama_north_junior_high_school_uniform,0,221,
+yn_red,1,221,
+yasakani_an,1,221,
+wok,0,221,
+vegetto,4,221,vegito
+vardan,1,221,
+uterine_prolapse,0,221,
+two-tone_shorts,0,221,
+two-tone_panties,0,221,
+tsumura_tokiko,4,221,
+tsukimi,0,221,
+tsab_naval_military_uniform,0,221,
+tobimura,1,221,
+stone_free,4,221,
+snoring,0,221,
+snapchat,0,221,
+skull_belt,0,221,
+shirataki_kaiseki,1,221,
+seiken_no_blacksmith,3,221,the_sacred_blacksmith
+saw_cleaver,0,221,
+revenant_(apex_legends),4,221,
+reitaisai,3,221,
+rash_guard,0,221,swim_shirt
+purple_nipples,0,221,
+print_male_underwear,0,221,print_underwear_(male)
+planetarian,3,221,
+omake,0,221,
+monaim,1,221,
+mienshao,4,221,
+midori_niku,1,221,
+mashima_saki_(mashimasa),1,221,shinooji
+magatsumagic,1,221,
+magai_akashi,1,221,
+leonmitchelli_galette_des_rois,4,221,
+kyogoku-uru,1,221,
+krokobyaka,1,221,
+kojima_(blue_stardust),1,221,kojima_takuro
+kobone,1,221,
+kagura_hikari,4,221,
+jampen,1,221,
+irori,1,221,
+hoto_mocha,4,221,
+holding_goggles,0,221,
+grabbing_own_thigh,0,221,
+gero_zoukin,1,221,xialu_zajin
+fuck-me_shirt,0,221,
+fu_hua_(valkyrie_accipiter),4,221,fu_hua_(valkyrie_accipter)
+frye_(splatoon),4,221,
+front-hook_bra,0,221,
+flugel_(kaleido_scope-710),1,221,
+ferdinand_von_aegir,4,221,
+eiden_(nu_carnival),4,221,
+cum_in_navel,0,221,
+colored_text,0,221,
+chocho_(homelessfox),1,221,dandelion_(artist)
+cassette_player,0,221,
+carro_pino,4,221,
+bucchake_(asami),1,221,
+boruto:_naruto_the_movie,3,221,
+bondage_mittens,0,221,
+black_surge_night,3,221,
+black_souls,3,221,
+bikini_briefs,0,221,
+an2a,1,221,wind_mail
+aihara_mei,4,221,
+@@@,1,221,
+yururi_nano,1,220,
+yoko_littner_(cosplay),0,220,yoko_ritona_(cosplay)
+yakumo_ran_(fox),4,220,
+xichii,1,220,
+westxost_(68monkey),1,220,
+usagi_koushaku,1,220,
+uesugi_u._kyouko,4,220,uesugi_u_kyouko
+torn_boots,0,220,
+tio_plato,4,220,
+takumi_(scya),1,220,
+takamura_kazuhiro,1,220,
+strong,0,220,
+spiked_ball_and_chain,0,220,
+severa_(fire_emblem),4,220,selena_(fire_emblem)
+scar_on_back,0,220,
+rokudou_mukuro,4,220,
+roarke_(lavenderincubus),1,220,
+ricochet-gou,1,220,rikosyegou
+r-binon,1,220,
+pumpkin_costume,0,220,
+phamoz,1,220,
+paru_rari,1,220,
+paper_child,0,220,
+panty_mask,0,220,
+neonbeat,1,220,
+naruse_chisato,1,220,
+musujime_awaki,4,220,
+monsterverse,3,220,
+mofurun_(mahou_girls_precure!),4,220,mofulun_(mahou_girls_precure!)
+misonou_hirokichi,1,220,
+minarai_shachou,1,220,
+melt_(vocaloid),3,220,melt
+kusada_souta,1,220,
+kso,1,220,
+kotatsu_(kotatsu3),1,220,kotatsu_(artist)
+knightmare_frame,0,220,
+kiya_shii,1,220,
+kazana_(sakuto),1,220,sakuto_kazanami
+katou_keiko,4,220,
+kappa_mob_(touhou),4,220,kappa_mob
+kamen_rider_revi,4,220,
+kagawa_yuusaku,1,220,
+juna,1,220,
+jenevan,1,220,
+itou_nobue,4,220,
+inflatable_armbands,0,220,"floaties,water_wings_(swim_aid)"
+indirect_kiss,0,220,
+ikari_(aor3507),1,220,
+ikaasi,1,220,
+holding_gohei,0,220,
+holding_crown,0,220,
+hohehohe,1,220,
+hayate_immelmann,4,220,
+hastur_(nyaruko-san),4,220,
+haruta_(806060),1,220,
+hamadaichi,1,220,111132daiti
+haganemaru_kennosuke,1,220,
+gambol_shroud,0,220,
+galibo,1,220,
+gakky,1,220,
+fur_bikini,0,220,
+eternal_return:_black_survival,3,220,
+energy_drain,0,220,
+earasensha,1,220,
+cyberpunk_2077,3,220,
+cum_on_food,0,220,
+code_geass:_boukoku_no_akito,3,220,code_geass:_akito_the_exiled
+choco_(chocolate_shop),1,220,chocolate_shop
+chireiden,0,220,
+chastity_cage,0,220,
+butterfly_on_head,0,220,
+brodie_helmet,0,220,
+blushyspicy,1,220,blushy-pixy
+azuki_(azuki-taste),1,220,
+asteroid,0,220,
+asagi_yuna,1,220,"hijiri-ssh,shirako_sei"
+arisugawa_himari,4,220,
+arino_hiroshi,1,220,
+ar_(lover_boy),1,220,
+aonaga_heri,1,220,
+altina_orion,4,220,
+akarui_kioku_soushitsu,3,220,
+zpolice,1,219,
+zone-tan,4,219,
+zone-archive,3,219,
+yuki_miku_(2021),4,219,
+yuki_miku_(2013),4,219,
+yu-ri,1,219,
+xephonia,1,219,
+waai_fu_(arknights),4,219,
+twintelle_(arms),4,219,
+translucent_skin,0,219,transparent_skin
+therion_(octopath_traveler),4,219,
+testicle_peek,0,219,
+tenjin_hidetaka,1,219,
+tales_of_hearts,3,219,
+suzushina_yuriko,4,219,
+sui_(suizilla),1,219,fug_(4chan)
+strike_witches_1991,3,219,
+stairwell,0,219,
+st_(youx1119),1,219,
+sho_(runatic_moon),1,219,
+shibusun,1,219,
+schreibe_shura,1,219,
+sakusyo,1,219,
+saegusa_wakaba,4,219,
+roulette_table,0,219,
+rolling_bubbles,4,219,
+rein_(futagohime),4,219,"rein,rein_(fushigiboshi_no_futago_hime)"
+postcard,0,219,
+pinstripe_pants,0,219,
+pinakes,1,219,
+penguin_2-gou,4,219,
+osuman_toruko,1,219,
+ookiku_furikabutte,3,219,"big_windup,big_windup!"
+nozomi_(princess_connect!),4,219,
+no_entry_sign,0,219,
+no_detached_sleeves,0,219,
+nanaya_shiki,4,219,
+murai_shinobu,1,219,mi_(pixiv91989)
+mount_lady,4,219,takeyama_yu
+miyasaka_miyabi,1,219,"kagura_miyabi,kagurazaka_miyabi"
+mirrored_text,0,219,mirror_writing
+mary_read_(fate),4,219,mary_read_(fate/grand_order)
+mapo_tofu,0,219,"maabou_doufu,mapo_doufu,mapotofu"
+maku_ro,1,219,
+kyouka_(halloween)_(princess_connect!),4,219,
+kuuro_kuro,1,219,nijiiro_ink
+koito_otonoshin,4,219,
+kamen_rider_zi-o_(series),3,219,
+ippongui,1,219,
+inoue_takuya,1,219,
+howard_alt-eisen,4,219,
+hinasaki_you,1,219,hinasaki
+hephaestus_(housamo),4,219,hephaestus_(tokyo_houkago_summoners)
+gondola,0,219,
+fuuna,1,219,
+fukudahda,1,219,"fukudaada,kensou_ogawa"
+fukazaki,1,219,
+fire_emblem:_shadow_dragon_and_the_blade_of_light,3,219,"fe1,fire_emblem:_ankoku_ryuu_to_hikari_no_tsurugi"
+eve_santaclaus,4,219,
+dema_hmw,1,219,"daima_hmw,hmw_(pixiv7054584)"
+daiishori,1,219,
+cross_ange,3,219,
+caracol,1,219,
+butterfly_earrings,0,219,
+bunny_panties,0,219,
+border_break,3,219,
+awa_yume,1,219,
+arrow_in_body,0,219,
+arakawa_tarou,1,219,
+alternate_facial_hair,0,219,
+aegis_(nerocc),1,219,nerocc
+admiral_(warship_girls_r),4,219,
+zombification,0,218,
+yuriwhale,1,218,
+yamcha,4,218,
+yamasuta,1,218,
+witch_(puyopuyo),4,218,
+vins-mousseux,1,218,
+uut,1,218,
+underbarrel_grenade_launcher,0,218,
+umihotaru_harumare,1,218,
+two-sided_cloak,0,218,
+tenkuu_nozora,1,218,
+tamatsukuri_misumaru,4,218,
+sunrise_stance,0,218,
+sports_utility_vehicle,0,218,
+sophie_twilight,4,218,
+shigetake_(buroira),1,218,
+sett,0,218,
+scorpion,0,218,
+saratoga_mk_ii_(kancolle),4,218,
+sakuragi_hinako,4,218,
+sakura_megumi,4,218,
+rita_rossweisse_(umbral_rose),4,218,
+q-bee,4,218,
+poliwag,4,218,
+pokemon_on_back,0,218,
+pix_(league_of_legends),4,218,pix
+pin,0,218,pins
+piercing_through_clothes,0,218,
+petra_ral,4,218,
+pasutel,1,218,
+noto_(soranoto),1,218,yoshina_hijiki
+nipple_rub,0,218,
+nightcat,1,218,
+newhalf_with_male,0,218,male_with_newhalf
+nanakaku,1,218,
+munetani_mashiro,4,218,
+muguet,1,218,
+miyagawa_takane,4,218,
+minion_1_(zannen_onna-kanbu_black_general-san),4,218,
+mikoto_(oi_plus),1,218,
+mikimoto_haruhiko,1,218,
+mightyena,4,218,
+mahou_shoujo_lyrical_nanoha_innocent,3,218,
+magic_trick,0,218,
+low_braid,0,218,
+lee-enfield,0,218,
+kujo_holy,4,218,kuujou_holly
+kikkoumon,0,218,
+kayon_(touzoku),1,218,
+karbo,1,218,
+kakogawa_tarou,1,218,
+junwool,1,218,
+jaku_sono,1,218,
+izumi_akane,1,218,sensui_akane
+hou_(ppo),1,218,akira_hou
+holding_paddle,0,218,
+heero_yuy,4,218,"heero_yui,hiiro_yui"
+hanasaki_miyabi,4,218,
+fiora_(league_of_legends),4,218,fiora_laurent
+fender_stratocaster,0,218,stratocaster
+deluxe<<<,1,218,dio_uryyy
+curss,1,218,kixyuresu
+computer_tower,0,218,
+chisumi,1,218,
+chintora0201,1,218,
+canal_vorfeed,4,218,canal_vorpheed
+braveman,4,218,
+box_(hotpppink),1,218,
+blazblue_remix_heart,3,218,
+battle_bunny_riven,4,218,
+arms_around_back,0,218,
+arm_scarf,0,218,
+anabel_(pokemon),4,218,lila_(pokemon)
+amahara_subaru,1,218,
+akebi-chan_no_serafuku,3,218,akebi's_sailor_uniform
+akahi242,1,218,
+air_jordan,0,218,
+zako_(arvinry),1,217,
+yukizome_chisa,4,217,
+youkai_watch_2,3,217,
+yan_pai,1,217,tm3452
+wild_and_horned_hermit,3,217,
+white_nightgown,0,217,
+watabe_koharu,4,217,
+waist_cutout,0,217,heart_waist_cutout
+udin_(kureiji_ollie),4,217,
+tote_bag,0,217,
+topia,1,217,
+toku_(ke7416613),1,217,
+teruru,1,217,teruru_(pixiv211126)
+terence_t._d'arby,4,217,
+swiss_flag,0,217,
+swanna,4,217,
+stupa13a,1,217,saikyou_anaheim
+sniper,0,217,
+shinano_toushirou,4,217,
+shikibe_ayaka,4,217,
+setmen,1,217,tokenbox
+sesena_yau,1,217,kokikko
+sen_no_kiseki_iv,3,217,"sen_no_kiseki_4,trails_of_cold_steel_iv"
+salmon_run_(splatoon),0,217,salmon_run
+ruku_(alicecreation),1,217,omomuroni
+purple_suit,0,217,
+ponytail_holder,0,217,
+pandain,1,217,
+otonashi_meru,4,217,
+open_towel,0,217,
+oiled,0,217,
+ne_an_ito,1,217,
+nana_(ice_climber),4,217,
+muu_rian,1,217,
+morte_(arknights),4,217,
+monoe,4,217,
+miu_(miuuu_721),1,217,
+minoa_(lastswallow),1,217,lastswallow
+mikhail_buran,4,217,
+midori_(misuriru8),1,217,
+mattari_illust,1,217,
+luz_noceda,4,217,
+las91214,1,217,
+kurusu_kimihito,4,217,
+kiyoh_bachika,4,217,
+kawashima_sapphire,4,217,
+kannagi_itsuki,4,217,
+junpaku_karen,1,217,
+jaw_drop,0,217,
+jade_curtiss,4,217,
+indesign,1,217,
+hujikok,1,217,
+honolulu_(summer_accident?!)_(azur_lane),4,217,
+holding_whisk,0,217,
+helena_blavatsky_(third_ascension)_(fate),4,217,
+height_conscious,0,217,
+hecatia_lapislazuli_(cosplay),0,217,
+harusawa,1,217,
+gurageida,1,217,
+gundam_exia,4,217,
+gumi_(v3_megpoid),4,217,megpoid_(vocaloid3)
+gucchiann,1,217,
+glaze_lily,0,217,
+gijang,1,217,
+flandre_scarlet_(cosplay),0,217,
+elu_(nijisanji),4,217,
+elhaym_van_houten,4,217,
+cu_chulainn_alter_(third_ascension)_(fate),4,217,
+colored_pencil,0,217,coloured_pencil
+coat_of_arms,0,217,
+chou-10cm-hou-chan_(hatsuzuki's),4,217,
+booota,1,217,
+blanka,4,217,
+bell_cranel,4,217,
+ara_ara,0,217,
+amano_keita,4,217,"nate_(youkai_watch),nathan_adams"
+alm_(fire_emblem),4,217,
+11eyes,3,217,
+zhibuji_loom,1,216,
+yasojima_nejiro,1,216,
+yakitate!!_japan,3,216,yakitate_japan
+yagi_toshinori,4,216,
+wild_arms_4,3,216,
+vittorio_veneto_(azur_lane),4,216,
+under_skirt,0,216,under_dress
+u_jie,1,216,supertie
+tsukuyomi_komoe,4,216,
+tsukamoto_yakumo,4,216,
+tokimeki_memorial_1,3,216,
+tenjou_tenge,3,216,tenjoutenge
+team_rocket_grunt,4,216,rocket_grunt
+takomeshi,1,216,
+suspenders_hanging,0,216,
+super_robot_wars_30,3,216,
+sunken_cheeks,0,216,
+sumaki_shungo,1,216,
+strip_game,0,216,
+spoken_skull,0,216,
+sneer,0,216,
+shigureru,1,216,
+shadows_house,3,216,
+sengoku_musou_2,3,216,
+sam_yang,1,216,
+sakura_kotetsu,1,216,
+saito_katuo,1,216,
+saikai_academy_uniform,0,216,
+rum_(girls_und_panzer),4,216,
+romancing_saga,3,216,romancingsaga
+rizzl,1,216,
+repair_bucket,0,216,
+reoen,1,216,
+red_wristband,0,216,
+red_goggles,0,216,
+pyramid_(geometry),0,216,
+piro_(orip),1,216,
+photon_ray_(fate),0,216,photon_ray
+photo_album,0,216,
+persona_5:_dancing_star_night,3,216,
+paint_stains,0,216,
+no_choker,0,216,
+nel_zelpher,4,216,
+ne-on,1,216,
+nakatokung,1,216,
+moto_murabito,1,216,
+moon_stick,0,216,
+monster_farm,3,216,monster_rancher
+miwa_yoshikazu,1,216,"fa762k,yoshikazu_miwa"
+matokechi,1,216,
+licking_hand,0,216,hand_licking
+kuzuki_souichirou,4,216,
+kuroshio_kai_ni_(kancolle),4,216,
+ke-su,1,216,
+johnny_funamushi,1,216,
+jakelian,1,216,
+impostor_(among_us),4,216,
+imageboard_colors,0,216,
+hinata_natsumi,4,216,
+heart_belt,0,216,
+hazuki_haru,1,216,hadzuki_haru
+hands_on_own_chin,0,216,
+green_butterfly,0,216,
+grandia_lee,1,216,grandialee
+gorou_(darling_in_the_franxx),4,216,
+godees,1,216,
+gaia_(ff14),4,216,
+fumiko_(mesushi),1,216,mesushirindaa
+fuepo,1,216,fuupu
+food_wrapper,0,216,
+feet_only,0,216,
+doraeshi,1,216,
+doppel_(bonnypir),1,216,doppel_(pixiv)
+cumdrip_onto_panties,0,216,
+colonel_sanders,4,216,
+christina_(princess_connect!),4,216,christina_morgan
+choujuu_gigaku,0,216,
+canards,0,216,
+boku_to_koi_suru_ponkotsu_akuma.,3,216,
+barbara_(dq6),4,216,
+aoin,1,216,omegaboost
+akira_(been0328),1,216,
+airport,0,216,
+agrius_metamorphosis,0,216,
+218,1,216,
+yuuhi_homare,1,215,
+wehrmacht,0,215,
+vofan,1,215,
+toyosaki_shu,1,215,yutaka_saki_shu
+tien_(granblue_fantasy),4,215,esser
+tantaka,1,215,
+takitsubo_rikou,4,215,
+synthesizer,0,215,
+sword_of_dios,0,215,
+supergirl,4,215,kara_zor-el
+stuffed_tiger,0,215,
+stmast,1,215,stmaster
+stasis_tank,0,215,"cloning_tank,cloning_vat,lab_vat,stasis_tube"
+smother,0,215,
+slytherin,0,215,
+slow_loop,3,215,
+shina_shina,1,215,
+sharumon,1,215,
+saber_marionette_j,3,215,
+ribbed_swimsuit,0,215,
+retoree,4,215,
+rear-view_mirror,0,215,
+ramanda,1,215,
+raira_academy_uniform,0,215,
+r3dfive,1,215,
+qilin_(mythology),0,215,kirin_(mythology)
+poin,1,215,
+phoenix_wright:_ace_attorney_-_dual_destinies,3,215,"ace_attorney_5,gyakuten_saiban_5"
+patricia_martin,4,215,
+parasite_eve,3,215,
+orimura_ichika,4,215,
+open_arms,0,215,
+olive_laurentia,4,215,ol-chan_(norman_maggot)
+nyoibo,0,215,power_pole_(dragon_ball)
+neopure,1,215,
+mutton_chops,0,215,
+mmm,1,215,
+miyoshi_sana,4,215,
+meguru_(megurunn),1,215,
+mashiro_(blue_archive),4,215,
+mabuchoco_m,1,215,
+levy_mcgarden,4,215,
+lens_flare_abuse,0,215,
+ld_(luna_dial398),1,215,
+lady_avalon_(second_ascension)_(fate),4,215,merlin_(fate/prototype)_(swimsuit_pretender)_(second_ascension)
+konno_makoto,4,215,
+kizuki_aruchu,1,215,
+kekocha,1,215,
+kanbe_kotori,4,215,
+kagura_tohru,1,215,
+june,0,215,
+inumaki_toge,4,215,
+inari_one_(umamusume),4,215,
+hoshino_yumemi,4,215,reverie
+holding_necktie,0,215,
+holding_baby,0,215,
+hasekura_rei,4,215,
+hand_on_weapon,0,215,
+grim_reaper,4,215,
+great_pyrenees,0,215,
+giuniu,1,215,
+gipsy_danger,4,215,
+gardening,0,215,
+ganbare_goemon,3,215,
+emerane,1,215,
+dyed_ahoge,0,215,
+disintegration,0,215,
+condom_in_clothes,0,215,
+boater_hat,0,215,
+beatrix_(ff9),4,215,
+ayanami_kai_ni_(kancolle),4,215,
+asou_shin,1,215,
+arikanrobo,1,215,
+ariake_(kancolle),4,215,ariake_(kantai_collection)
+aoi_tobira,1,215,
+anzumame,1,215,dohyun0305
+animal_in_clothes,0,215,
+alchemaniac,1,215,andrian_gilang
+akali_(legacy),4,215,
+acchii_(akina),1,215,
+.sin,1,215,
+zaregoto_series,3,214,
+zangyaku-san,4,214,
+wooden_pencil,0,214,
+veteran_mercenary_echidna,4,214,
+ultraman,4,214,
+ultima_(fft),4,214,altima
+tsumugi_(princess_connect!),4,214,mayumiya_tsumugi
+toridamono,1,214,
+tilm,1,214,tirumu
+teu_(navy),1,214,ebi_shamo
+tamiya_akito,1,214,
+tales_of_innocence,3,214,
+suzuki_arisa,4,214,
+suzaku_(zaku6584),1,214,zoff_(daria)
+stew,0,214,
+stalker_(ragnarok_online),4,214,chaser_(ragnarok_online)
+sonken,4,214,
+sig_sauer_p226,0,214,
+shigaraki_(strobe_blue),1,214,
+serizawa_mutsuki,1,214,
+ryuinu,1,214,
+rosary,0,214,
+rokuichi,1,214,deep_dive_algorithm
+rensyu,1,214,
+pumpkinsinclair,1,214,
+pokemon_unite,3,214,
+otomedius,3,214,
+open_pajamas,0,214,
+ohitsu,0,214,meshibitsu
+ofuda_on_pussy,0,214,
+nose_art,0,214,
+ninomotonino,1,214,2nohito
+nigiri_(ngr24),1,214,ngr_(nnn204204)
+navel_focus,0,214,
+narushima_kanna,1,214,
+nana_(raiupika),1,214,
+namco,3,214,
+nakamura_sumikage,1,214,chan_inpashi
+nagareboshi,1,214,
+mkiiiiii,1,214,33_(mkiiiiii)
+mirage_farina_jenius,4,214,
+mijinko_(rioriorio),1,214,
+lemontea,1,214,
+lanxi_zhen,3,214,
+laco_soregashi,1,214,"lacosoregashi,rako_soregashi"
+kitarou,4,214,
+jyushimatsu's_girlfriend,4,214,juushimatsu's_girlfriend
+jakob_(fire_emblem),4,214,joker_(fire_emblem_if)
+jacket_tug,0,214,
+hiroshimaben,0,214,
+hijab,0,214,
+hattori_shizuka,4,214,
+hakuishi_aoi,1,214,
+goroo_(eneosu),1,214,gorooon0402
+gengetsu_chihiro,1,214,
+futakoi,3,214,
+fukumaaya,1,214,
+fairy_fencer_f,3,214,
+euryale_(third_ascension)_(fate),4,214,
+eiji_(eiji),1,214,
+edward_wong_hau_pepelu_tivrusky_iv,4,214,
+dowman_sayman,1,214,
+dark_pit,4,214,black_pit
+cure_gelato,4,214,
+chrono_harlaown,4,214,"chrono_hallaoun,chrono_haraoun"
+chinchou,4,214,
+cape_hold,0,214,
+calamity_queller_(genshin_impact),0,214,
+buta_tamako,1,214,
+brown_ascot,0,214,
+brick_road,0,214,
+brat_(brabrabrat00),1,214,
+blaccura,1,214,"burakku-ra,coyotegti"
+beta_(inazuma_eleven),4,214,
+barashiya,1,214,
+axew,4,214,
+anz32,1,214,
+angol_mois,4,214,moa
+akane-iro_ni_somaru_saka,3,214,"akaneiro_ni_somaru_saka,akaneiro_ni_somarusaka"
+yukiguni_yuu,1,213,
+waist_poke_ball,0,213,waist_pokeball
+viva!!,1,213,
+upanishi_mariko,1,213,upanishi
+ukulele,0,213,ukelele
+turn_a_gundam_(mobile_suit),4,213,
+tsunashima_shirou,1,213,tunasima_sirou
+tokiti,1,213,
+tetsuwan_atom,3,213,"astro_boy,astroboy"
+terimayo,1,213,
+taikogane_sadamune,4,213,
+sv-98_(girls'_frontline),4,213,sv-98_(girls_frontline)
+super-shorty_(girls'_frontline),4,213,"super_shorty_(girls'_frontline),super_shorty_(girls_frontline)"
+stiff_tail,0,213,
+stella_vermillion,4,213,
+sorano_aoi,4,213,
+sora_(efr),1,213,chuu
+sophocles_(pokemon),4,213,"maamane_(pokemon),mamane_(pokemon)"
+sidon,4,213,
+shigehiro_(hiroi_heya),1,213,shigehiro_(artist)
+sezok,1,213,sezoku
+sbel02,1,213,
+sawatari_(sado),1,213,sad_fuka
+rororo,1,213,memero_7272
+rena_lanford,4,213,
+reddizen,1,213,
+pozyomka_(arknights),4,213,
+poligon_(046),1,213,
+pkp_(girls'_frontline),4,213,pkp_(girls_frontline)
+pansy,0,213,
+orange_lips,0,213,orange_lipstick
+nyagakiya,1,213,
+no_hairband,0,213,
+moltres,4,213,
+mochirong,1,213,
+loran_cehack,4,213,
+lila_decyrus,4,213,
+lakshmibai_(fate),4,213,lakshmibai_(fate/grand_order)
+lainart,1,213,
+kusuriuri_(mononoke),4,213,
+kogane_(staygold),1,213,
+kita_(kitairoha),1,213,elise_(piclic)
+kindergarten_teacher,0,213,
+karei,1,213,
+kamijo_haruna,4,213,kamijou_haruna
+jimmy_madomagi,1,213,
+inside_creature,0,213,
+hyocorou,1,213,
+hyakkimaru_(dororo),4,213,
+hoop_skirt,0,213,
+hera_(p&d),4,213,
+green_male_underwear,0,213,green_underwear_(male)
+fujinoki_(horonabe-ken),1,213,
+formaggio,4,213,
+enelis,1,213,
+dolphin_girl,0,213,
+debidebi_debiru,4,213,
+cyrus_(pokemon),4,213,akagi_(pokemon)
+chariot_(black_rock_shooter),4,213,
+castlevania:_rondo_of_blood,3,213,castlevania:_dracula_x
+ashiroku_(miracle_hinacle),1,213,miracle_hinacle
+1up,0,213,extra_life
+zizi_(zz22),1,212,
+yukimitsuki,1,212,
+white_blindfold,0,212,
+wax_seal,0,212,
+waraningyou,0,212,
+wagon,0,212,
+vertical-striped_swimsuit,0,212,
+umarutsufuri,1,212,wumarutsufuri_(artist)
+tsurugi_minko,4,212,
+tsukasa_jun,1,212,
+tramp_stamp,0,212,
+tomiokasena,1,212,
+thumb_biting,0,212,thumb_bite
+team_plasma,0,212,
+tangela,4,212,
+slam_dunk_(series),3,212,
+sheepd,1,212,
+scuba,0,212,
+sakurai_yumeko,4,212,
+sabachiyo_land,1,212,
+romulus_(fate),4,212,romulus_(fate/grand_order)
+reimei_(r758120518),1,212,
+recycling_symbol,0,212,
+rapidash,4,212,
+puracotte,1,212,
+punch-out!!,3,212,
+puge,1,212,
+penis_milking,0,212,
+pekopokox,1,212,
+oppai_challenge,0,212,
+ootori_tatta,4,212,
+ningguang_(orchid's_evening_gown)_(genshin_impact),4,212,
+narwhal_(kemono_friends),4,212,
+narumiya_yume,4,212,
+nanika_(azumi_inori),4,212,
+namakuby,1,212,wiriam07
+mku,1,212,
+miyama_amehiko,1,212,"miyama_kannon,vowzmen"
+mind_break,0,212,
+mikan_box,0,212,
+mexico,0,212,mexican
+male_underwear_aside,0,212,"boxers_aside,briefs_aside,underwear_aside_(male)"
+lunatic_(tiger_&_bunny),4,212,
+kyururu_(kemono_friends),4,212,
+kunio-kun_series,3,212,
+kou1,1,212,
+kinhasu,1,212,handesu
+kikuchi_seiji,1,212,
+karasuma_chitose,4,212,
+kamen_rider_drive_(series),3,212,
+kageyama_tobio,4,212,
+infernape,4,212,
+hoshizaki_reita,1,212,
+holding_ears,0,212,
+holding_drinking_straw,0,212,
+hijikata-san_(m.m),4,212,
+hercule_barton,4,212,
+helianthus_(girls'_frontline),4,212,helianthus_(girls_frontline)
+hayakawa_pao,1,212,pao_(otomogohan)
+haruna_(aoki_hagane_no_arpeggio),4,212,
+guy_cecil,4,212,gaillardia_galan_gardios
+gundam_f91,3,212,
+grasslands,0,212,
+glowing_lines,0,212,
+gazebo,0,212,
+foxvulpine,1,212,
+final_fantasy_iv_the_after,3,212,final_fantasy_iv_the_after_years
+erwin_smith,4,212,irvin_smith
+dress_in_mouth,0,212,
+do_(4-rt),1,212,
+cure_ace,4,212,
+cryokinesis,0,212,ice_magic
+colored_condom,0,212,
+coconut_(nekopara),4,212,coconut_(sayori)
+clarinet,0,212,
+blizzard,0,212,
+asazuki_norito,1,212,
+arthur_ko,1,212,
+arakawa_under_the_bridge,3,212,
+ai_shite!_homun,3,212,
+1041_(toshikazu),1,212,1041_(pixiv)
+zerosu_(take_out),1,211,pzeros
+yaguo,1,211,
+water_lily_flower,0,211,
+usami_taiga,4,211,
+tokiwa_(mukoku),1,211,t0kiwa
+tnolize,1,211,
+the_shining,3,211,
+tar-21_(girls'_frontline),4,211,tar-21_(girls_frontline)
+taisa_(lovemokunae),1,211,
+tail_insertion,0,211,
+spines,0,211,
+source_quote_parody,0,211,
+silveroid,1,211,"silver15,silver_(yin)"
+shunsei_(muratou),1,211,"mo_(shu),okome"
+shikuta_maru,1,211,
+psychic_hearts,3,211,
+pinecone_(arknights),4,211,
+panther_chameleon_(kemono_friends),4,211,
+panda_hair_ornament,0,211,
+okuto,1,211,
+nidoking,4,211,
+moose_(moosemitchell2),1,211,
+modeling,0,211,
+mito_ikumi,4,211,
+miku_(darling_in_the_franxx),4,211,
+maria_traydor,4,211,
+mamiyama,1,211,quatre_aaaa
+long_nipples,0,211,
+lisianthus,4,211,
+lipstick_ring,0,211,
+libiadan,1,211,
+lemonade,0,211,
+ledjoker07,1,211,
+krystal,4,211,
+kouki_kuu,1,211,
+kiyohime_(third_ascension)_(fate),4,211,
+kaze-hime,1,211,
+kawano_takuji,1,211,
+kaisenpurin,1,211,
+kai_(akamekogeme),1,211,
+isaki_kaname,4,211,
+inamitsu_shinji,1,211,
+ichi-go,1,211,
+ibuki_(azur_lane),4,211,
+i_heart...,0,211,i_love...
+hyena_girl,0,211,
+hong_meiling_(panda),4,211,
+hole_in_wall,0,211,
+holding_grenade,0,211,
+hirose_sumire,4,211,
+higaragi,1,211,hiiragi_(jhug8877)
+harukaze_unipo,1,211,
+haqua_d'rot_herminium,4,211,"hakua_du_lot_herminium,haqua_du_lot_herminium"
+green_suit,0,211,
+granado_espada,3,211,
+feather_necklace,0,211,
+fay_(fay_axl),1,211,
+eyewear_in_mouth,0,211,glasses_in_mouth
+exposed_muscle,0,211,
+endou_(zettai_bluenoid),1,211,
+elbe_(azur_lane),4,211,
+dx,0,211,
+dogoo,4,211,
+clock_hands,0,211,
+cibo,4,211,
+charles_schulz_(style),0,211,
+chain_belt,0,211,
+cezaria,1,211,
+capera,1,211,
+cain_highwind,4,211,kain_highwind
+bulge_press,0,211,
+borderlands_(series),3,211,
+bomberman,3,211,
+bafarin,1,211,
+atra_mixta,4,211,
+asakusa_midori,4,211,
+arceonn,1,211,
+araizumi_rui,1,211,
+anthuria,4,211,
+american_football,0,211,football_(american)
+203wolves,1,211,
+yuezheng_ling,4,210,ling_caiyin
+yayaka,4,210,
+wooden_ceiling,0,210,
+ventus_(kingdom_hearts),4,210,
+tsukino_(nakajimaseiki),1,210,
+tomato_rice,1,210,
+tirotata,1,210,
+suzuran_(spring_praise)_(arknights),4,210,
+soukuu_kizuna,1,210,
+silver_pubic_hair,0,210,
+shiraki_meiko,4,210,
+shimakaze_(soundz_of_bell),1,210,shimakaze
+shijima_(sjmr02),1,210,
+sex_ed,0,210,
+seto_sun,4,210,seto_san
+servant_(danganronpa),4,210,
+sekiguchi_miiru,1,210,
+seele_vollerei_(swallowtail_phantasm),4,210,
+sanoba_witch,3,210,
+s_gentian,1,210,
+ryou_sakazaki,4,210,"ryo_sakazaki,sakazaki_ryo"
+rain_mikamura,4,210,
+raichiyo33,1,210,carlos_eduardo
+predator_(movie),3,210,predator_(film)
+oohara_kyuutarou,1,210,
+nanin,1,210,
+nakajou,1,210,
+multicolored_shorts,0,210,
+multi_(to_heart),4,210,
+mieruko-chan,3,210,
+melaton,1,210,meraton
+left_4_dead,3,210,left4dead
+lee_hyeseung,1,210,
+kuo_shenlin,4,210,
+konori_mii,4,210,
+koiso_usu,1,210,koi_sauce
+kisaragi_kiriha,1,210,
+kiryu_tsukasa_(idolmaster),4,210,kiryuu_tsukasa_(idolmaster)
+kero_sweet,1,210,
+katsudansou,1,210,arai_seiryuu
+kangetsu_(fhalei),1,210,fhalei
+kaitou_tenshi_twin_angel,3,210,
+izayoi_seishin,1,210,
+ibara_riato,1,210,
+i-203_(kancolle),4,210,
+himeji_mizuki,4,210,
+gotou_moyoko,4,210,
+gigamessy,1,210,
+giant_tree,0,210,
+garen_(league_of_legends),4,210,garen_crownguard
+galaxia_(sword),0,210,
+freezing_(series),3,210,
+franz_(217franz),1,210,
+flags_of_all_nations,0,210,
+facing_back,0,210,
+eiffel_tower,0,210,
+closure_(arknights),4,210,
+chimecho,4,210,
+cassandra_(seishun_katsu_sando),1,210,
+blazblue_variable_heart,3,210,
+birthday_party,0,210,
+baisi_shaonian,1,210,
+azuse_neko,1,210,azuse
+armored_vehicle,0,210,
+ariga_tou,1,210,
+amagasa_yun,1,210,
+all_the_way_through,0,210,
+akimaki_yuu,1,210,aki_maki_yuu
+akikaze_tsumuji,1,210,
+yuujin_(yuzinn333),1,209,
+yulong_(journey_to_the_west),4,209,
+yoshiheihe,1,209,
+x&x&x,1,209,
+wu_zetian_(first_ascension)_(fate),4,209,
+whale_print,0,209,
+wartortle,4,209,
+ushigome_rimi,4,209,
+ursula_(23),4,209,"23's_ahoge_girl,ahoge_girl_(23),real_xxiii's_ahoge_girl"
+tomioka_jirou,1,209,
+thomas_8000,1,209,
+teruyof,4,209,
+tanabe_kyou,1,209,
+symbiote,0,209,
+suou,1,209,
+sun_tattoo,0,209,sun_tattoos
+sola7764,1,209,
+skull_collar,0,209,
+shoukaki_(earthean),1,209,
+shougun_(chuckni1),1,209,
+shinzui_(fantasysky7),1,209,
+shiki_(catbox230123),1,209,
+seven_sisters_high_school_uniform,0,209,
+serika_(swimsuit)_(blue_archive),4,209,
+sereneandsilent,1,209,
+santa_(sunflower),1,209,
+rocking_chair,0,209,
+rhongomyniad_(fate),0,209,rhongomyniad
+reiga_(act000),1,209,
+raynare,4,209,amano_yuuma
+rariemonn,1,209,
+playstation_5,0,209,ps5
+perfumer_(arknights),4,209,
+pen_in_pocket,0,209,
+parvati_(fate),4,209,parvati_(fate/grand_order)
+ousaka_nozomi,1,209,non_(hey_you!)
+otabek_altin,4,209,
+oogure_ito,1,209,oh!_great
+on_wall,0,209,
+namine_ritsu,4,209,
+mozu_(peth),1,209,
+morry,1,209,na_in-sung
+momdroid_(mechanical_buddy_universe),4,209,
+mole_above_eye,0,209,
+moeki_yuuta,1,209,
+mirai_(kemono_friends),4,209,
+miraa_(chikurin),1,209,
+mimura_zaja,1,209,
+milky_rose,4,209,
+mendou_saya,1,209,saya_(sayamendo)
+meme_(me!me!me!),4,209,
+maria_balthasar,4,209,
+light_persona,0,209,
+lavolpe_(yagisaka_seto),4,209,
+kousetsu,1,209,
+kevbot,1,209,
+kenshiro,4,209,kenshirou
+july,0,209,
+jenet_behrn,4,209,bonne_jenet
+jason_(fate),4,209,jason_(fate/grand_order)
+ikune_juugo,1,209,namakon_juugo
+ijima_yuu,1,209,
+hoshimi_junna,4,209,
+hitotsuyanagi_riri,4,209,
+hikanyan,1,209,
+hidori_(hibi_toridori),1,209,nichi_doriimu
+heel_pop,0,209,
+heart-shaped_food,0,209,
+hamsterfragment,1,209,"smetana_(hamsterfragment),sumetana"
+gray_fullbuster,4,209,
+gen_(enji),1,209,
+galarian_ponyta,4,209,
+fly_(marguerite),1,209,
+duraludon,4,209,
+douki-kun_(douki-chan),4,209,"douki-kun_(yomu_(sgt_epper)),senpai_(yomu_(sgt_epper))"
+clyde_s,1,209,
+cervus,1,209,"178,cervus_(pixiv490295)"
+capybara,0,209,
+bon_(rump),1,209,
+blueorca,1,209,
+black_butterfly,0,209,
+birdy_cephon_altirra,4,209,
+bajima_shouhei,1,209,kiki_(uxoia)
+arrow_in_head,0,209,
+alphys,4,209,
+akira_(meltyhip),1,209,meltyhip
+3;,0,209,
+yukimasa_(nkk145),1,208,
+white_male_swimwear,0,208,
+wakabayashi_tomoka,4,208,
+vf-25,4,208,
+unadon,1,208,
+tsudero,1,208,tsuderou
+tavern,0,208,
+sumeragi_hamao,1,208,
+straylight_(idolmaster),0,208,
+step-siblings,0,208,
+speech_stab,0,208,
+smock,0,208,
+slingshot,0,208,
+shuumatsu_no_izetta,3,208,
+shroud_of_magdalene,0,208,
+shiramori_yuse,1,208,
+sako_(35s_00),1,208,sako_(user_ndpz5754)
+ragnell,0,208,
+raft,0,208,
+polka_dot_hairband,0,208,
+phoebe_(pokemon),4,208,fuyou_(pokemon)
+ousaka_nanami,4,208,
+onibi_(foxhound4185),1,208,
+okiyumi_kase,1,208,
+naha78,1,208,hidebuu
+miyamura_miyako,4,208,
+mirai_(senran_kagura),4,208,
+minazuki_haruka,1,208,
+mikurou_(nayuta),1,208,
+medea_(lily)_(fate),4,208,caster_lily
+manyako_(mohumohu),1,208,manya_(mohu_is-mine)
+luna-p,4,208,
+lucy_(elfen_lied),4,208,
+kongiku,4,208,
+kitada_mo,1,208,"misoni_comi,mo_(428clv)"
+kishi_nisen,1,208,
+karaage_bou,1,208,
+kamui_(kill_la_kill),0,208,
+kamen_rider_hibiki_(series),3,208,
+jurrig,1,208,un_s
+itou_kaiji,4,208,
+itoshiki_rin,4,208,
+irie_miyuki,4,208,irie_(angel_beats!)
+inuyama_tamaki,4,208,
+humming,0,208,
+hsin,1,208,
+honda_takaharu,1,208,
+hibiki_dan,4,208,
+hareno_chiame,1,208,pikopikopiko
+hamazura_shiage,4,208,
+grey_serafuku,0,208,
+greco_roman_(spiral_brain),1,208,gureko_rouman
+godzilla_(shin),4,208,
+giant_snake,0,208,
+gantz_suit,0,208,
+gagaga_girl,4,208,
+fate_testarossa_(true_sonic_form),4,208,
+evelysse_(star_ocean),4,208,
+ether_core,1,208,
+director_chimera_(spy_x_family),4,208,
+detached_arm,0,208,detached_arms
+date_pun,0,208,
+crimson_avenger_(elsword),4,208,
+cream_cod,1,208,
+colossal_titan,4,208,
+coco_(disney),3,208,
+chunpai,1,208,
+bulga,1,208,
+asacoco,0,208,
+aryuma772,1,208,
+arisu_kazumi,1,208,
+apron_hold,0,208,
+anatomy,0,208,
+adult_baby,0,208,adultbaby
+00047,1,208,
+zero_hime,1,207,
+yuki_usagi_(snowcanvas),1,207,snowcanvas
+yui_tsuruno,4,207,
+yamane_masahiro,1,207,
+yamanashi_taiki,1,207,
+yaezawa_natori,4,207,
+warp_pipe,0,207,
+wafu_(youzora_samo18),1,207,youzora_samo18
+wachiwo,1,207,
+ushiromiya_krauss,4,207,
+uryuu_minene,4,207,
+tsunemori_akane,4,207,
+thunder,0,207,
+terebi_(shimizu1996),1,207,
+superpig,1,207,
+sunoharasou_no_kanrinin-san,3,207,miss_caretaker_of_sunohara-sou
+sulking,0,207,
+suan_ringo,1,207,
+speckticuls,1,207,
+sitting_on_pillow,0,207,pillow_sitting
+shachoo.,1,207,
+sasachin_(k+w),1,207,1492egg
+salt_bae_(meme),0,207,
+rope_walking,0,207,
+r-king,1,207,
+odayan,1,207,
+nohara_shinnosuke,4,207,
+myouga_(plant),0,207,
+mobile_trace_suit,0,207,
+middle_w,0,207,
+mei_miya,1,207,
+legendary_super_saiyan,0,207,
+kusanagi_kaoru,1,207,
+kurokawa_otogi,1,207,
+kukuri,4,207,
+kubiwa_(kutan),4,207,
+kimijima_sara,4,207,
+key_frame,0,207,
+kawatsu_yuuki,1,207,
+karibuchi_hikari,4,207,
+kanna_asuke,1,207,
+kangoku_kou,1,207,
+isolated_island_princess,4,207,isolated_island_hime
+ironwork,0,207,
+inflatable_whale,0,207,
+horizon_ariadust,4,207,
+honzawa_yuuichirou,1,207,hushigi
+hizagawa_rau,1,207,
+himukai_yuuji,1,207,himukai_yuji
+himawari-san_(character),4,207,
+hikawa79,1,207,
+highway,0,207,
+hands_on_another's_waist,0,207,
+hachisuka_kotetsu,4,207,
+gyari_(imagesdawn)_(style),0,207,
+elfheim,3,207,
+don_(rg06268),1,207,
+digimon_adventure_tri.,3,207,digimon_adventure_tri
+death_note_(object),0,207,
+david_liu,1,207,
+convenient_head,0,207,
+chemistry,0,207,
+checkered_headwear,0,207,checkered_hat
+caren_hortensia_(amor_caren)_(second_ascension),4,207,
+baanin,1,207,miyabi_maou
+aya_brea,4,207,
+ankimo_(tokino_sora),4,207,ankimo_(tokino_sora_channel)
+altair_(re:creators),4,207,gunpuku_no_himegimi
+agnamore,1,207,
+2018_fifa_world_cup,3,207,
+zacian,4,206,
+yuuri_nayuta,1,206,
+yusano,1,206,
+yui_(ceremonial)_(princess_connect!),4,206,
+yoohi,1,206,
+yofukashi_no_uta,3,206,call_of_the_night
+yami_kawaii,0,206,
+washington_(azur_lane),4,206,
+wanimaru,1,206,wanima_8888
+velma_dace_dinkley,4,206,
+ueno-san_wa_bukiyou,3,206,"how_clumsy_you_are,_miss_ueno,how_clumsy_you_are_miss_ueno"
+tosura-ayato,1,206,
+tori_udon,1,206,toriudonda
+tomusooya,1,206,moemoedoll
+the-sinner,1,206,
+tetra,4,206,
+tegaki_draw_and_tweet,0,206,
+tabletorgy,1,206,"antiheld,puroburebu-dan"
+swedish_flag,0,206,
+sugimori_ken,1,206,
+spider_tattoo,0,206,
+snake_bondage,0,206,
+shiroe_(log_horizon),4,206,shiroe
+serio_(to_heart),4,206,
+saltydanshark,1,206,shioboi
+rybiok,1,206,rybiokaoru
+roger_(guilty_gear),4,206,
+risty,4,206,
+riho,1,206,
+quaxly,4,206,
+purple_camisole,0,206,
+princess_chain_chomp,4,206,
+primrose_azelhart,4,206,
+plus_sign,0,206,
+patting_lap,0,206,
+outo_eguchi,1,206,eguchi_saan
+orchid,0,206,
+orange_border,0,206,
+object_behind_back,0,206,
+norimaki_arale,4,206,"arale,norimaki_arare"
+neeko_(aldehyde),4,206,neeko
+nanamomo_rio,1,206,
+musyne_xsk,1,206,weiyinji_xsk
+minami_mirei,4,206,
+merurulince_rede_arls,4,206,
+meipoi,1,206,
+lakilolom,1,206,lkll
+kyou_039,1,206,
+kuroi_mato,4,206,kokui_mato
+kumao_mofumofu,1,206,hanao_(kuma-tan_flash!)
+kotobuki_(stealth_sendan),1,206,
+kagami_kuro,4,206,
+jade_leech,4,206,
+izumi_(stardustalone),1,206,
+igarasy,1,206,
+hyakuen_raitaa,1,206,
+holding_dress,0,206,
+hellhound_(monster_girl_encyclopedia),4,206,
+head_between_pecs,0,206,
+hand_on_own_penis,0,206,
+gunjou_row,1,206,
+grabbing_own_arm,0,206,
+goat_boy,0,206,
+gin_(oyoyo),1,206,
+gensou_suikoden_iii,3,206,suikoden_iii
+genkung,1,206,genjung
+galhound,3,206,
+fruit_punch,1,206,
+feh_(fire_emblem_heroes),4,206,
+falkner_(pokemon),4,206,hayato_(pokemon)
+erhu,0,206,
+elemental_(creature),0,206,
+delthea_(fire_emblem),4,206,dyute_(fire_emblem)
+celica_a._mercury,4,206,"caelica_a._mercury,caelica_a_mercury,celica_a_mercury"
+cairngorm_(houseki_no_kuni),4,206,
+boyano,1,206,pockettohouse
+blue_whale,0,206,
+blue_sweater_vest,0,206,
+benesse,3,206,
+ayumaru_(art_of_life),1,206,x1213hide
+axolotl,0,206,
+ariel_(disney),4,206,
+argyle_dress,0,206,
+aoyama_blue_mountain,4,206,
+yonekura_hisaki,1,205,beeko
+yomako,4,205,
+yamaori,1,205,
+yakumo_yukari_(cosplay),0,205,
+xenomorph,4,205,
+will_anthonio_zeppeli,4,205,
+vega_(street_fighter),4,205,"balrog_(street_fighter),claw_(street_fighter)"
+utsurogi_akira,1,205,
+unsfrau,1,205,
+unname,1,205,
+undone_bra,0,205,
+tsuchimikado_motoharu,4,205,
+tree_of_life,0,205,
+torinari_(dtvisu),1,205,dtvisu
+tokihama_jirou,1,205,
+tekken_tag_tournament_2,3,205,
+teaching,0,205,
+sushikuugo_(suisen),1,205,suisen
+suruga_kreuz,1,205,
+string_around_finger,0,205,
+straw_(stalk),0,205,
+steenee,4,205,
+shirt_under_shirt,0,205,
+shiroshisu,1,205,
+shirasu_youichi,1,205,
+serizawa_akane,4,205,
+salt_(salty),1,205,
+queen's_blade_white_triangle,3,205,
+pokemon_gsc_(prototype),3,205,
+pink_lady_mage,1,205,
+pile_bunker,0,205,
+orange_cardigan,0,205,
+ophilia_clement,4,205,ophilia_(octopath_traveler)
+one_-_kagayaku_kisetsu_e,3,205,
+omucchan_(omutyuan),1,205,
+nidai_nekomaru,4,205,
+ni_(221),1,205,djjj5322
+momoi_komomo,1,205,
+miyako_(xxxbibit),1,205,
+lee_(dragon_garou),1,205,
+kunifuto,1,205,
+kugimiya_rie,4,205,
+kozou_(rifa),1,205,refine
+kntrs_(knyrs),1,205,
+knights_of_blood_uniform_(sao),0,205,
+kawaii_boku_to_142's_(idolmaster),0,205,kawaii_boku_to_142's
+kasuga_ayumu_(haruhipo),1,205,
+kanemaki_thomas,1,205,thomas_(iron_tom)
+kaname_junko,4,205,
+k00s,1,205,
+izumi_masashi,1,205,
+inayama,1,205,
+ie_(raarami),1,205,ie_(_raarami_)
+hung_(arknights),4,205,
+holding_pointer,0,205,
+hinoshita_akame,1,205,
+hinomoto_madoka,1,205,
+hinata_ichi,1,205,ichihina
+hakama_lift,0,205,
+green_hood,0,205,
+gooey_(kirby),4,205,
+georgette_lemare,4,205,
+falin_thorden,4,205,
+enoshima_iki,1,205,
+dobunezumi,1,205,
+coffee_cat,1,205,
+chiharu_(9654784),1,205,
+breasts_day,0,205,
+bokutachi_wa_hitotsu_no_hikari,0,205,
+basa_rutan,1,205,
+baakurou,1,205,chihaya_72
+atelier_ayesha,3,205,
+artist_self-reference,0,205,
+araneesama,1,205,
+ape,0,205,
+anshinmama,1,205,
+aka_ume,1,205,ao_ume
+adapted_object,0,205,
+abekawa,1,205,
+2003,0,205,
+zombie_mogura,1,204,v_r_dragon01
+yoshioka_chie,4,204,yocchi
+womi,1,204,wm_mf
+wii_remote,0,204,wiimote
+white_hakama,0,204,
+wailmer,4,204,
+wabi_(wbsk),1,204,
+umigraphics,1,204,
+tsukana_(saba_mizore),1,204,
+tougetsu_gou,1,204,
+test_score_(paper),0,204,
+teranekosu,1,204,
+tehepero,0,204,
+tadano_hitohito,4,204,
+tachikawa_mushimaro,1,204,master_bimo
+suzuame_yatsumi,1,204,
+suomi_kp/-31,0,204,
+sun_print,0,204,
+space_station,0,204,
+sokura_(mochichitose),1,204,
+shiromuku,0,204,
+ryoutan,1,204,
+rie_petoriyacowa,4,204,petoriyacowa_rie
+red_panda_tail,0,204,
+raiden_(raiden_labo),1,204,raiden_(artist)
+public_masturbation,0,204,
+poinsettia,0,204,
+pixiv_fantasia_wizard_and_knight,3,204,
+pinstripe_legwear,0,204,
+pikacchi,1,204,
+phantasy_star_online,3,204,pso
+onegai_twins,3,204,"onegaitwins,please_twins!"
+omutatsu,1,204,
+nogizaka_haruka_no_himitsu,3,204,
+nishiuri_warito,1,204,
+nike_(0306),1,204,nike_(artist)
+natsuki_(ukiwakudasai),1,204,
+nanameda_kei,1,204,
+namiki_(remiter00),1,204,
+multicolored_hoodie,0,204,
+morihito,1,204,
+monaka_curl,1,204,karu_(qqqtyann)
+moe2021,0,204,
+mizuno_(okn66),1,204,
+misawa_hiroshi,1,204,
+medjed_(fate)_(cosplay),0,204,
+masaki_aeka_jurai,4,204,aeka_masaki_jurai
+madara_inosuke,1,204,yaminoagito
+labrys_(persona),4,204,
+kyuri,1,204,
+kuromame_(8gou),1,204,
+kurokan_(kokkyou_oudan),1,204,
+kosegawa_shiromi,4,204,
+kofune_ushio,4,204,
+koa_(phrase),0,204,
+kiyama_harumi,4,204,
+kiss_chart,0,204,kiss!kiss!kiss!
+kazune_(baumkuchen),1,204,
+katou_hazuki,4,204,
+katari,1,204,
+karlwolf,1,204,
+kaai_yuki,4,204,
+ikuta_takanon,1,204,
+holding_magazine,0,204,
+holding_gloves,0,204,
+history,0,204,
+hikichi_sakuya,1,204,
+hiei_(yu_yu_hakusho),4,204,
+hat_loss,0,204,
+gordie_(pokemon),4,204,makuwa_(pokemon)
+goban,1,204,
+gible,4,204,
+genocider_shou,4,204,
+fujii_jun,1,204,
+flipping_food,0,204,
+first_high_school_uniform,0,204,
+eight_tohyama,1,204,touyama_eight
+echo_saber,1,204,
+dreadtie,1,204,
+dorothy_west,4,204,
+delsaber,1,204,
+dasoku_sentarou,1,204,
+christmas_sweater,0,204,
+chiba_mamoru,4,204,
+cheytac_m200,0,204,cheytac_intervention
+caspar_von_bergliez,4,204,
+brave_sword_x_blaze_soul,3,204,
+bloom2425,1,204,
+black_bird,0,204,
+beige_shorts,0,204,
+beanstalk_(arknights),4,204,
+aruka_(alka_p1),1,204,arai3648
+arnval,4,204,
+apricot_sakuraba,4,204,sakuraba_apricot
+apple_hair_ornament,0,204,
+aoi_tiduru,1,204,aoi_chizuru
+anti-rain_(girls'_frontline),0,204,anti-rain_(girls_frontline)
+akagi_asahito,1,204,
+yamabushi_kunihiro,4,203,
+yakiniku,0,203,
+xi_gundam,4,203,
+wolf-chan_(wataame27),4,203,
+wamu_(chartreuse),1,203,
+wadani_hitonori,1,203,
+vitarka_mudra,0,203,
+vista-tan,4,203,"vis-tan,vista"
+urabe_mikoto,4,203,
+umikaze_kai_ni_(kancolle),4,203,
+trim_marks,0,203,crop_marks
+tionishia,4,203,
+tiny_evil,3,203,
+tetsuo,1,203,
+tayutama,3,203,kiss_on_my_deity
+taurus_mask,4,203,
+tamute_(2580rs),1,203,"2580rs,tamutamu-t"
+swimsuit_costume,0,203,
+sumeragi_seisuke,1,203,
+streetcar,0,203,tram
+spiked_mace,0,203,
+sofmap_background,0,203,
+shigemiya_kyouhei,1,203,
+shabana_may,1,203,jahana_mei
+rogue_titan,4,203,
+reigen_arataka,4,203,
+rama_(yu-light8),1,203,
+r.o.d_the_tv,3,203,
+quattro_vageena,4,203,quattro_bajeena
+pyotr_(madoka_magica),4,203,
+pine,1,203,
+pants_under_dress,0,203,
+orochi_itto,1,203,
+noccu,1,203,kusottk
+noah_(xenoblade),4,203,
+new_york,0,203,
+nev_(nevblindarts),1,203,nevblindarts
+nekota_susumu,1,203,niyang53
+nazu-na,1,203,
+natori_youkai,1,203,
+namikaze_minato,4,203,fourth_hokage
+mr.lime,1,203,
+mokomoko_yanakku,1,203,oikawasyu
+miyazawa_kengo,4,203,
+minarai_zouhyou,1,203,
+mickey_mouse_ears,0,203,
+mercy_rabbit,1,203,marcy_rabbit
+masurao_(sekaiju),4,203,
+majima_yuki,1,203,
+kurono_kurumu,4,203,kuruno_kurumu
+kurasawa_moko,1,203,yukinezumi
+ksk_(semicha_keisuke),1,203,
+koharu_rikka,4,203,
+kayama_kenji,1,203,
+jianmo_sl,1,203,
+isopod,0,203,
+ines_fujin_(umamusume),4,203,
+indivisible,3,203,
+horsea,4,203,
+hong_bai,1,203,red_and_white
+hole_in_chest,0,203,
+harukaze_doremi,4,203,
+hakua_ugetsu,1,203,ugetsu_hakua
+garderobe_uniform,0,203,
+game_cartridge,0,203,
+gainoob,1,203,
+fujioka_haruhi,4,203,
+fish_in_mouth,0,203,
+final_fantasy_tactics_advance,3,203,ffta
+domyoji_karin,4,203,doumyouji_karin
+dojikko_pose,0,203,
+digging,0,203,
+diddy_kong,4,203,
+cross_mirage,4,203,
+color_ink_(medium),0,203,
+ciel_phantomhive,4,203,
+cake_hair_ornament,0,203,
+buntaichou,1,203,
+ayul_(ayulneri_92),1,203,jjeono
+astolfo_(saber)_(third_ascension)_(fate),4,203,
+armor_removed,0,203,
+algerie_(azur_lane),4,203,
+akino_coto,1,203,
+aikura_(twilight_dusk),1,203,
+aiko_(kanl),1,203,aikolik
+abu,1,203,
+yuemanhuaikong,1,202,
+yamato_(muchuu_paradigm),1,202,
+yamamoto_keigo,4,202,
+windforcelan,1,202,
+watosu,1,202,
+wada_sachiko,1,202,
+tyrone,1,202,
+turnip,0,202,
+tsunamayo,1,202,
+tsukuyo_(gintama),4,202,
+tsuki_no_i-min,1,202,
+touon,1,202,
+touhou_danmaku_kagura,3,202,
+tony_stark,4,202,
+tasmanian_devil_ears,0,202,
+takaku_toshihiko,1,202,
+taesi,1,202,
+tachibana_marika,4,202,
+suzune_yuuji,1,202,
+sneaking,0,202,
+single_knee_boot,0,202,
+sha_wujing,4,202,
+sannomiya_shiho,4,202,
+sakura_nene,4,202,
+ryuugazaki_rei,4,202,ryuugasaki_rei
+ring_dream,3,202,
+reia,1,202,
+rama_(fate),4,202,rama_(fate/grand_order)
+quan_(kurisu_tina),1,202,kurisu_tina
+project_pochama,1,202,prj_pochama
+pokemon_rgby_(style),0,202,
+plug,0,202,
+petrification,0,202,
+penguin_girl,0,202,
+paripi_koumei,3,202,ya_boy_kongming!
+pagong,1,202,
+padparadscha_(houseki_no_kuni),4,202,
+oshio_(dayo),1,202,
+omuretsu,1,202,
+noise_(tsuzuki),1,202,noise_(pixiv22604)
+nano_(syoutamho),1,202,beeyan
+nanbu_kaguya,4,202,
+mokokiyo_(asaddr),1,202,"asaddr,mokokiyo"
+mogumo,1,202,
+miyamoto_musashi_(second_ascension)_(fate),4,202,
+mimi_houllier_von_schwarzlang,4,202,
+mikado_shiina,4,202,
+mg_mg,0,202,
+meteor_(arknights),4,202,
+mephistopheles_(fate),4,202,mephistopheles_(fate/grand_order)
+mega_man_2,3,202,rockman_2
+manako,4,202,
+majin_tantei_nougami_neuro,3,202,
+machoke,4,202,
+lace_sleeves,0,202,
+kurosususu,1,202,
+kuroki_rei,4,202,
+kuragare,1,202,
+kunabishi,1,202,
+kuma_(bloodycolor),1,202,
+kuen_(kuennn12),1,202,fifty1202
+kouzuki_hajime,1,202,
+kosuzume,1,202,
+knight_(ragnarok_online),4,202,
+knife_in_head,0,202,
+knee_to_chest,0,202,
+kissing_object,0,202,object_kiss
+katou_shinobu,1,202,
+katori_(kancolle)_(cosplay),0,202,
+junketsu_duelion,3,202,junketsu_duellion
+jewel_butt_plug,0,202,
+jessie_rasberry,4,202,jessie_(ff7)
+japan_maritime_self-defense_force,0,202,jmsdf
+inumori_sayaka,1,202,
+incoming_pocky_kiss,0,202,
+inazuma_japan,0,202,
+ichinose_minori,4,202,
+houhou_(black_lack),1,202,fuu_takara
+holding_pumpkin,0,202,holding_jack-o'-lantern
+hiyohiyo,1,202,
+hatena_yousei,4,202,question_fairy
+h&k_ump9,0,202,
+groping_motion,0,202,
+grand_archer_(elsword),4,202,
+golden_sun,3,202,
+fnc_(girls'_frontline),4,202,fnc_(girls_frontline)
+fischl_(ein_immernachtstraum)_(genshin_impact),4,202,
+female_priest_(dungeon_and_fighter),4,202,
+entei,4,202,
+edogawa_nao,1,202,
+dragon_quest_ix,3,202,dragon_quest_9
+dogs:_bullets_&_carnage,3,202,dogs_(manga)
+danganronpa_s:_ultimate_summer_camp,3,202,
+cogecha,1,202,kogecha_(coge_ch)
+chrollo_lucilfer,4,202,
+chris_(konosuba),4,202,
+chikage_(sister_princess),4,202,
+bowser_jr.,4,202,
+boku_no_kokoro_no_yabai_yatsu,3,202,the_dangers_in_my_heart
+boku_dake_ga_inai_machi,3,202,erased_(series)
+boar_mask,0,202,
+banchiku,1,202,
+aruya_(flosrota),1,202,
+arisa_(shadowverse),4,202,
+aoi_kimi,4,202,
+alicia_melchiott,4,202,
+akagi_shigeru,4,202,
+agekichi_(heart_shape),1,202,
+admiral_paru,1,202,
+zeta_(summer)_(granblue_fantasy),4,201,
+yunoha_thrul,4,201,
+yuki_miku_(2015),4,201,
+yuki_maccha_(yukimattya10),1,201,
+yozakura_quartet,3,201,yozakura_shijuusou
+yondemasu_yo_azazel-san.,3,201,yondemasuyo_azazel-san
+yakitori,0,201,
+wild_arms_xf,3,201,
+valkyrie_no_densetsu,3,201,
+umapyoi_densetsu,0,201,
+tugumi0w0,1,201,
+treehouse,0,201,
+they_(kiman),4,201,
+terumii,1,201,
+tentacle_clothes,0,201,
+tamanegiinyo,1,201,
+tam-u,1,201,"tam_u,u-ichi"
+sugimoto_isao,1,201,
+strapless_coat,0,201,
+steel_beam,0,201,girder
+stalactite,0,201,
+source_quote,0,201,
+shurelia_(ar_tonelico),4,201,shurelia
+shijou_saikyou_no_deshi_ken'ichi,3,201,shijou_saikyou_no_deshi_kenichi
+shanguier,1,201,gejigejier
+sengoku_saga,3,201,
+sekihan,1,201,
+sasaki_mutsumi,1,201,
+ryuuka_sane,1,201,
+robotics;notes,3,201,
+risutaru,1,201,
+postage_stamp,0,201,
+panzer,1,201,
+osterei,1,201,
+nyanmaru,1,201,
+nose_hook,0,201,
+nogisaka_kushio,1,201,nogizaka_kushio
+nikame,1,201,
+nekko_(momosuzu_nene),4,201,
+mm_(mm_chair),1,201,
+miyasaka_miyu,1,201,
+minimaru,1,201,
+million_dreams_(idolmaster),0,201,million_dreams
+mia_fey,4,201,ayasato_chihiro
+meowstic,4,201,
+masurao_2_(sekaiju),4,201,
+mashu_(control),4,201,msyu
+mash_kyrielight_(swimsuit_of_perpetual_summer_ver.02),4,201,swimsuit_of_perpetual_summer_ver.02
+male_lactation,0,201,lactation_(male)
+makabe_gorou,1,201,
+mahoraba,3,201,
+loremaster_(helltaker),4,201,
+lomocya,1,201,romocha_(hosachi3784)
+live_for_the_funk,1,201,
+leaning_over,0,201,
+kuromori_yako,1,201,burafu
+kung_fu,0,201,
+kopianget,1,201,
+konpaku_youmu_(cosplay),0,201,
+kokeshi,0,201,
+kentan_(kingtaiki),1,201,
+katsurai_yoshiaki,1,201,
+kamiya_yuu,1,201,
+japanese_wolf_(kemono_friends),4,201,
+industrial,0,201,
+howa_type_89,0,201,
+hoshi_ryouma,4,201,
+histoire,4,201,
+hebitsukai,1,201,
+haijin,1,201,
+haiba_09,1,201,
+gusu,1,201,
+gofelem,1,201,marfrey
+gangut_dva_(kancolle),4,201,
+fukusuke_hachi-gou,1,201,
+fujibayashi_sheena,4,201,"fujibayashi_shiina,sheena_fujibayashi"
+faubynet,1,201,
+es_(eisis),1,201,
+donald_duck,4,201,
+doll_(ib),4,201,
+dokuro-kun_(houshou_marine),4,201,
+detached_pants,0,201,
+dead_space,3,201,
+daffodil,0,201,daffodils
+croagunk,4,201,
+covering_head,0,201,
+cong1991,1,201,
+comic_cover,0,201,
+clare_(claymore),4,201,
+chocojax,1,201,
+choborau_nyopomi,1,201,
+ceiling_fan,0,201,
+cape_lift,0,201,
+caligula_(game),3,201,
+bras_d'honneur,0,201,
+banishment,1,201,
+audino,4,201,
+anubis_(monster_girl_encyclopedia),4,201,
+alzi_xiaomi,1,201,
+achan_(blue_semi),1,201,
+zuo_daoxing,1,200,
+zegapain,3,200,
+yijian_ma,1,200,
+yasai_(getsu),1,200,
+untied_footwear,0,200,"untied_boots,untied_shoes"
+united_states_navy,0,200,
+umibouzu_(niito),1,200,umibouz
+uehiro,1,200,
+typewriter,0,200,
+tsuchibayashi_makoto,1,200,
+true_tears,3,200,
+tora_(xenoblade_2),4,200,
+tamaoki_benkyou,1,200,tamaoki_benkyo
+swivel_chair,0,200,
+super_sailor_mercury,4,200,
+smoker_(one_piece),4,200,
+sleeveless_bodysuit,0,200,
+shumiko_(kamenokoueki),1,200,
+shiraishi_minoru,4,200,
+shinjiro,1,200,
+selector_wixoss,3,200,
+say_hana,1,200,
+ryuuta_(msxtr),1,200,
+rectangular_pupils,0,200,
+raizen_high_school_uniform,0,200,
+purple_rope,0,200,
+pon_yui,1,200,ponyui0728
+paparazzi,0,200,
+ootori_(kyoya-ohtori),1,200,
+nullma,1,200,
+nukoyarou,1,200,harusame_nuko
+nishi_yuuko,4,200,
+negija,1,200,
+miyabino_(miyabi1616),1,200,
+mieu_(tales),4,200,
+make_a_contract,0,200,
+lust_(fma),4,200,
+lowe_(slow),1,200,
+latte_art,0,200,
+latex_leotard,0,200,
+lampent,4,200,
+kz_oji,1,200,
+kurumi_(lycoris_recoil),4,200,
+kuramitsu_mihoshi,4,200,
+kurama_(yu_yu_hakusho),4,200,
+kuchiku_i-kyuu,4,200,
+koufuku_graffiti,3,200,gourmet_girl_graffiti
+kanke_(yonkuma),1,200,"yuriko_(kkk9),yuriko_(pixiv63067)"
+kaede_(shijie_heping),1,200,
+junk,0,200,
+judal,4,200,
+jigoku_sensei_nube,3,200,
+iris_black_games,3,200,
+houraku,1,200,
+holding_petal,0,200,
+hi_iro,1,200,
+hazuki_watora,4,200,watora_(pepepe)
+hata-tan_(rui_(hershe)),4,200,
+grimms_notes,3,200,
+ginta,1,200,
+gen_(black_factory),1,200,
+garuku,1,200,
+fukaiton,1,200,deep_takezaki
+fuente,1,200,
+fn_fal,0,200,
+flint_(pokemon),4,200,ooba_(pokemon)
+flash_game,5,200,game
+final_fantasy_type-0,3,200,"final_fantasy_agito_xiii,final_fantasy_reishiki,final_fantasy_type_0,final_fantasy_type_zero"
+fed_(giba),1,200,giba_(out-low)
+fading_border,0,200,fading_borders
+emiya_alter,4,200,
+emily_stock,4,200,
+domotolain,1,200,
+dinosaur_costume,0,200,
+cuffed,0,200,
+chize,1,200,
+chiyo_chichi,4,200,
+chikage_(kinokodou),1,200,
+chicken_costume,0,200,
+catherine,4,200,
+capsule,0,200,
+black_jaguar_(kemono_friends),4,200,
+bio_lab,0,200,
+beedrill,4,200,
+beast_wars,3,200,
+august,0,200,
+ashe_ubert,4,200,ashe_duran
+ancient_destroyer_oni,4,200,
+anachronism,0,200,
+501st_joint_fighter_wing,0,200,
+2equal8,1,200,
+yorktown_(azur_lane),4,199,
+yoplait,1,199,
+yamana_akane,4,199,
+wander_(shadow_of_the_colossus),4,199,
+walkure_(macross_delta),0,199,
+upright_restraints,0,199,
+toy_car,0,199,
+tokyo_yamane,1,199,
+taiki_(6240taiki),1,199,
+suzumeko,1,199,
+stuffed_carrot,0,199,
+steam_locomotive,0,199,
+sophia_esteed,4,199,
+snoopy,4,199,
+shirakawa_kotori,4,199,
+shimotsuki_shio,1,199,shimozuki_shio
+shiika_yuno,1,199,
+shefu,1,199,
+sen_no_kiseki_iii,3,199,"sen_no_kiseki_3,trails_of_cold_steel_iii"
+sei_shounagon_(swimsuit_berserker)_(fate),4,199,
+satou_mari,4,199,
+sabotender,4,199,cactuar
+rody_roughnight,4,199,
+rin_(inuyasha),4,199,
+renetan,1,199,
+rean_schwarzer,4,199,
+pull_out,0,199,
+predator,4,199,
+pon_de_lion,4,199,moe_lion
+pierre_bichelberger,4,199,
+paper_kabuto,0,199,
+osanai_(shashaki),4,199,
+oomuro_hanako,4,199,
+nineo,1,199,
+mondaiji-tachi_ga_isekai_kara_kuru_sou_desu_yo?,3,199,problem_children_are_coming_from_another_world_aren't_they?
+momoniku_(taretare-13),1,199,
+mogamiya_honu,1,199,
+mityubi,1,199,m2b
+messy_(efuya),1,199,"iinuma_toshinori,messhi"
+meatball,0,199,
+mash_kyrielight_(ortenaus),4,199,ortenaus
+lolimate,1,199,
+lisbeth_(sao-alo),4,199,
+kusuha_mizuha,4,199,
+kurowan,1,199,
+kuroi_nyan,1,199,
+kujira_lorant,1,199,kujira_rooran
+koge_donbo,1,199,
+kanya_pyi,1,199,
+jeffr,1,199,
+jackal_tail,0,199,
+iri_flina,4,199,
+image_macro_(meme),0,199,macro
+horaki_hikari,4,199,
+hoo_bamon,1,199,hoobamon
+holding_jar,0,199,
+hiro_(chumo),1,199,
+harada_(basashi),1,199,
+greaseberries,3,199,
+gold_ship_(run_revolt_launcher)_(umamusume),4,199,
+fine_(futagohime),4,199,"fine,fine_(fushigiboshi_no_futago_hime)"
+fakkuma,1,199,
+eating_hair,0,199,
+drawn_whiskers,0,199,
+deborah_(dq5),4,199,
+damian_doyle_(cyphers),4,199,
+cross-laced_dress,0,199,
+code_vein,3,199,
+circuit_board,0,199,circuitboard
+chiroru_(cheese-roll),1,199,
+capsule_servant,3,199,
+bokuman,1,199,
+bloodstained:_ritual_of_the_night,3,199,
+black_rock_shooter_(character)_(cosplay),0,199,
+belmond_banderas,4,199,
+asameshi,1,199,
+archetto_(arknights),4,199,
+ame-chan_(needy_girl_overdose),4,199,
+alpaca_girl,0,199,
+akitsuki_itsuki,1,199,
+airandou,1,199,
+108_gou,1,199,
+zui_zui_dance,0,198,
+yoshinari_you,1,198,yoshinari_yoh
+yasuhara_ema,4,198,
+xp_home-tan,4,198,xp_home
+xatu,4,198,
+whorled_clouds,0,198,
+white_pajamas,0,198,
+vinland_saga,3,198,
+ungagged,0,198,
+underwater_sex,0,198,
+tsuyuzaki_mahiru,4,198,
+tsuuhan,1,198,
+tsuno_no_hito,1,198,tunokiti
+trample,0,198,
+tobi_(nekomata_homara),1,198,
+tetuw,1,198,
+tetsuwan_birdy_decode,3,198,birdy_the_mighty_decode
+terada_tera,1,198,tera
+tensui_no_sakuna-hime,3,198,sakuna:_of_rice_and_ruin
+st._hermelin_school_uniform,0,198,
+sinkai,1,198,
+shiroko_(cycling)_(blue_archive),4,198,
+sena_(xenoblade),4,198,
+sea_slug,0,198,
+ryuki@maguro-ex,1,198,
+roselia_(pokemon),4,198,
+reverse_ryona,0,198,
+ratna_petit,4,198,
+ran_(bukeranwu),1,198,ran_(pixiv2957827)
+pukara,1,198,"chjz,puca-rasu"
+prisoner,0,198,
+polyle,1,198,
+planetary_ring,0,198,
+penguin_1-gou,4,198,
+painting_nails,0,198,painting_fingernails
+octagram,0,198,
+neneka_(princess_connect!),4,198,utsushimi_neneka
+nekomiya_ryuu,4,198,
+nekolina,1,198,
+nakahara_komugi,4,198,
+nagatekkou,0,198,
+murasaki_shikibu_(swimsuit_rider)_(first_ascension)_(fate),4,198,
+multiple_scars,0,198,
+monoyoshi_sadamune,4,198,
+miyuki_kazuya,4,198,
+miyamoto_ryuuichi,1,198,
+midnight_(boku_no_hero_academia),4,198,kayama_nemuri
+metal_gear_solid_2,3,198,
+mayer_(arknights),4,198,
+maydrawfag,1,198,
+mafuyu_(kanden_shoujyo),1,198,
+light_valkyrie_(p&d),4,198,
+latex_dress,0,198,
+laevatein_(tail),0,198,
+kukri,0,198,
+kokonoe_tsubaki,4,198,
+kohaku.,1,198,
+kiba_satoshi,1,198,
+jounouchi_katsuya,4,198,"joey_wheeler,joseph_wheeler"
+jack_daniel's,0,198,
+hunyan,1,198,hun_yan
+hundred,3,198,
+holding_blanket,0,198,
+hirota_fruit,1,198,
+himehina_channel,3,198,
+high_belt,0,198,
+gojarun,1,198,
+fur_shawl,0,198,
+flower_brooch,0,198,
+fig_sign,0,198,"dulya,fig_gesture,hand_fig,mano_fico"
+epilepsy_warning,5,198,"flashing_lights,seizure_warning,strobing_lights"
+enlightened_byleth_(male),4,198,
+emg_(christain),1,198,
+emet-selch,4,198,
+elf_k,1,198,
+dura,1,198,
+disappointed,0,198,
+creeparka,0,198,
+comic_hotmilk,3,198,
+color_switch,0,198,
+chin_piercing,0,198,
+charles-henri_sanson_(fate),4,198,charles_henri_sanson_(fate/grand_order)
+chameleon,0,198,
+cassette_tape,0,198,
+buresu,1,198,
+bunny_headphones,0,198,rabbit_headphones
+black_cat_d.va,4,198,
+ark_(morita_hitomi),1,198,
+any_(lucky_denver_mint),1,198,
+amity_blight,4,198,
+alkemanubis,1,198,
+aggron,4,198,
+aerodactyl,4,198,
+4suke,1,198,
+yuuhi_riri,4,197,
+yoshida_on,1,197,romantic_fool
+yamacchi,1,197,
+xenoblade_chronicles:_future_connected,3,197,xenoblade_1:_tsunagaru_mirai
+wireless_earphones,0,197,
+vivivoovoo,1,197,
+victorious_(kancolle),4,197,
+umitonakai,1,197,
+tokiwa_midori,4,197,
+the_seven_deadly_sins,3,197,
+the_legend_of_zelda:_link's_awakening,3,197,link's_awakening
+terada_ochiko,1,197,tenbura_ochiko
+tasora,1,197,
+soya_(torga),1,197,
+sith,0,197,
+shyvana,4,197,
+shinkon_gattai_godannar!!,3,197,"god_soul_combination_godannar,god_soul_combination_godannar!!,marriage_of_god_and_soul_godannar,marriage_of_god_and_soul_godannar!!,shinkon_gattai_godannar,shinkon_gattai_godannar!"
+seiou_gakuen_school_uniform,0,197,
+sakai_(motomei),1,197,
+saintshiro,1,197,
+rose_background,0,197,
+ravel_phenex,4,197,
+pink_pubic_hair,0,197,
+pikazo,1,197,
+patricia_(stylish_marunage),1,197,
+osakabe-hime_(swimsuit_archer)_(fate),4,197,
+na_insoo,1,197,
+mushiro_(nijie728995),1,197,
+mozuwaka,1,197,
+monster_hunter_3,3,197,
+manaphy,4,197,
+male_protagonist_(pokemon_go),4,197,
+lunala,4,197,
+love_triangle,0,197,
+li_shuwen_(young)_(fate),4,197,
+kupala,1,197,
+kuonji_ukyou,4,197,kuonji_ukyo
+kouji_(kari),1,197,
+komb,1,197,
+kazami_ruku,1,197,
+kataro,1,197,
+kashuu_(b-q),1,197,
+kanzarin,1,197,kanzarin_(hoochikiss)
+k/da_evelynn,4,197,
+janis_(hainegom),1,197,
+ifuji_shinsen,1,197,
+horrified,0,197,horror_(expression)
+hooded_shirt,0,197,hooded_blouse
+hiwatashi_nazuna,4,197,
+hatakenaka_(kamagabuchi),1,197,
+hakuouki_shinsengumi_kitan,3,197,
+furisuku,1,197,
+exhaust,0,197,
+eunectes_(forgemaster)_(arknights),4,197,
+earth_ekami,1,197,
+dress_flip,0,197,
+dive_ball,0,197,
+dire_wolf_(kemono_friends),4,197,
+chacha_(ss_5087),1,197,
+black_panther,0,197,
+black_cola,1,197,
+beancurd,1,197,
+bauxite,0,197,
+b3_wingman,0,197,
+arima_miyako,4,197,
+ano_ko_wa_toshi_densetsu,3,197,
+allen_(makaroll),1,197,
+aldra_(queen's_blade),4,197,aldora
+akihime_sumomo,4,197,
+ajax_(azur_lane),4,197,
+aida_kensuke,4,197,
+zaizen_aoi,4,196,
+you_shimizu,1,196,
+year_of_the_goat,0,196,
+yandere_simulator,3,196,
+yamaioni_(sasakama),1,196,
+wonder_woman_(series),3,196,
+white-stew,1,196,
+utamaro,1,196,
+tostantan,1,196,
+torahime_(roland00),1,196,
+tokunaga_(tales),4,196,
+tatsuta_kai_ni_(kancolle),4,196,
+takizawa_asuka,4,196,
+takagi_saya,4,196,
+super_sailor_venus,4,196,
+stationery,0,196,
+star_trek,3,196,
+star_ocean_integrity_and_faithlessness,3,196,star_ocean_5
+spade_earrings,0,196,spade_earring
+skis,0,196,ski
+shironeko_haru,1,196,
+shirogane_kei,4,196,
+shi_huang_di_(fate),4,196,"first_emperor_(fate),qin_shi_huang_(fate),qin_shi_huang_(fate/grand_order)"
+senjou_no_valkyria_2,3,196,
+seaport_summer_princess,4,196,seaport_summer_hime
+samoore,1,196,
+ryu_genshin77,1,196,
+royal_navy,0,196,
+rei_(rei_rr),1,196,
+redjet,1,196,giovanni_zaccaria
+pointing_sword,0,196,
+pitching,0,196,
+oohoshi_awai,4,196,shiraitodai_taishou
+onigirya_(nekomata_okayu),4,196,
+olivia_(pokemon),4,196,lychee_(pokemon)
+nuno_(pppompon),1,196,
+noe_noel,1,196,sen_kagura
+ninja_gaiden,3,196,
+nihongou_(touken_ranbu),4,196,
+nate_mitotsudaira,4,196,"mitotsudaira_nate,neit_mitotsudaira,neito_mitotsudaira"
+namiuchigiwa_no_muromi-san,3,196,
+nakatsu_shizuru,4,196,
+motoi_hiroumi,1,196,
+mistorene_callus,4,196,
+meyrin_hawke,4,196,meyrin
+melings_(aot2846),1,196,melynx_(user_aot2846)
+lovestruck,0,196,
+koisuru_asteroid,3,196,
+kirby_and_the_forgotten_land,3,196,
+kieta,1,196,
+kawanobe,1,196,
+karinto_yamada,1,196,
+kaqo,1,196,
+kanna_asumi,4,196,
+itoichi.,1,196,furumiya_haiji
+in_locker,0,196,
+homework,0,196,
+hk_(hk),1,196,
+ginji_(sakaki_summer),1,196,
+genjii_(touhou),4,196,genjii
+gauge,0,196,
+fruits_basket,3,196,
+flaming_halo,0,196,
+finger_to_eye,0,196,
+fergus_mac_roich_(fate),4,196,fergus_mac_roich_(fate/grand_order)
+emia_wang,1,196,
+elizabeth_tower,0,196,big_ben
+didloaded,1,196,
+davi_(dokidoki!_precure),4,196,"dabyi_(dokidoki!_precure),davi_(precure)"
+chikanoko,3,196,
+blind_girl_(popopoka),4,196,
+blacksaikou,1,196,
+binbougami_ga!,3,196,
+azusa_(cookie),4,196,
+asakura_sakura,1,196,
+aqua_choker,0,196,
+aqua-framed_eyewear,0,196,
+akashi_kaoru,4,196,
+abara_heiki,1,196,
+yumaru_(marumarumaru),1,195,
+yue_(show-ei),1,195,
+yu-ves,1,195,
+yellow_pajamas,0,195,
+yamaguchi_shinnosuke,1,195,itotin
+wolverine,4,195,
+wanderer_(ragnarok_online),4,195,
+vulcan_salute,0,195,
+vest_removed,0,195,
+varus,4,195,
+utsushimi_kemii,4,195,
+teddiursa,4,195,
+tea_party,0,195,
+tadokoro_nurikabe,1,195,nori_senbei_(norisenbei_1)
+surcouf_(azur_lane),4,195,
+striped_scrunchie,0,195,
+stirrups,0,195,
+spilled_milk,0,195,
+space_dandy,3,195,
+solokov_(okb-999),1,195,
+smoke_grenade,0,195,
+shungikuten,1,195,
+shizuku_(kantoku),4,195,
+shirt_on_shoulders,0,195,
+shikimi_(yurakuru),1,195,
+shibata_rai,1,195,
+serino_itsuki,1,195,
+savan,1,195,
+salmon,0,195,
+sakurada_shiro,4,195,
+saiga-12_(girls'_frontline),4,195,saiga-12_(girls_frontline)
+rukinya_(nyanko_mogumogu),1,195,
+reno_(ff7),4,195,
+ray_(pixiv9514208),1,195,
+rail_wars!,3,195,rail_wars
+power_pro_kun_pocket,3,195,
+poch4n,1,195,
+pen_(pen3),1,195,pen_(artist)
+oricorio,4,195,
+omizu_(omz),1,195,sushimaro
+odd_(hin_yari),1,195,
+oborotsuki_kakeru,1,195,
+nina_(breath_of_fire_iv),4,195,nina_iv
+natsumekinoko,1,195,
+na_tarapisu153,1,195,
+mukunoki_nanatsu,1,195,
+moe2018,0,195,
+minegishi_ayano,4,195,
+miko_fly,1,195,
+mikan_(bananoha),1,195,
+meerkat_ears,0,195,
+matsuo_(matuonoie),1,195,
+masayu,1,195,
+masamuuu,1,195,
+mamimu_(ko_cha_22),1,195,
+makishima_azusa,1,195,
+magilou_(tales),4,195,
+mafia,0,195,
+lutecia_alpine,4,195,
+kuwada_yuuki,1,195,
+kurihara_sakura,1,195,
+kikyou_(inuyasha),4,195,
+kana_(fire_emblem),4,195,"kanna_(fire_emblem),kanna_(fire_emblem_if)"
+kaga_ai,4,195,
+jeanne_d'arc_(summer)_(granblue_fantasy),4,195,
+iyami,4,195,
+hplay,1,195,
+homare_(suzu_no_oka),1,195,homare_(pixiv414926)
+hatsume_mei,4,195,
+happy_meek_(umamusume),4,195,
+gundam_sentinel,3,195,
+gneisenau_(azur_lane),4,195,
+fossil,0,195,
+fiodo,1,195,saidyiiii
+doritos,0,195,
+cure_whip,4,195,
+criss-cross_back-straps,0,195,
+chrisandita,1,195,
+chop,0,195,
+chocoblood,1,195,
+buuwa,1,195,
+belphegor_(reborn),4,195,
+basketball_court,0,195,
+awara_kayu,1,195,kenkoumineral13
+arurandeisu,4,195,
+aquaplus,3,195,
+aoi_yuuka_(ao_no_kokoro),1,195,yukaxcat
+ao_oni_(onioni-aoi),1,195,
+akazawa_red,1,195,
+yuza,1,194,
+yuuki_aoi,4,194,
+yukimiya_(parupunta),1,194,yukiusagi_(paretto)
+yoshida_ryouko,4,194,
+yashiro_seika,1,194,
+yamano_remon,4,194,
+wynn_(yu-gi-oh!),4,194,
+white_shawl,0,194,
+vanessa_(kof),4,194,
+tsuchikure,1,194,
+tororo_ten,1,194,
+tonami_kanji,1,194,
+tommy_(kingdukeee),1,194,the_kingduke
+tiger_ii,0,194,
+tesshii_(riza4828),1,194,
+suzumiya_haruka,4,194,
+spark,0,194,
+soto,1,194,
+sollyz,1,194,
+shuten_douji_(festival_outfit)_(fate),4,194,
+shigure_s,1,194,shiguru
+sengoku_aky,1,194,
+senbei_(senbe_i),1,194,
+seicoh,1,194,
+scarf_bow,0,194,
+salome_(one_piece),4,194,
+sabo_(one_piece),4,194,
+ryokucha_michi,1,194,
+polka_dot_trim,0,194,
+pokemon_egg,0,194,
+plap,0,194,
+perfume_(band),3,194,
+penguin_logistics_(arknights),0,194,
+open_jumpsuit,0,194,
+noel_(noel-gunso),1,194,
+nipple_bells,0,194,
+ninniku_(ninnniku105),1,194,
+nina_wang,4,194,
+neruzou,1,194,
+nekojira,1,194,
+nauribon,1,194,
+namu_(nurui_cha),1,194,nurutya
+nakagawa_nana,4,194,
+moketa,1,194,
+mishima_kazuya,4,194,
+matryoshka_doll,0,194,"babushka_doll,nesting_doll,russian_nesting_doll"
+master_ball,0,194,masterball
+little_mac,4,194,
+lina_(michihasu),4,194,
+lin_yuhsia_(arknights),4,194,
+limbus_company,3,194,
+lichtenberg_figure,0,194,
+kuune_rin,1,194,sorane_rin
+kuroki_tomoki,4,194,
+kurisu-kun,1,194,
+kotobuki_hajime,1,194,onagoya
+korekara_no_someday,0,194,
+konpaku_youki_(ghost),4,194,
+kono_lolicon_domome,0,194,
+kobayakawa_miyuki,4,194,
+kisaragi_yuri,1,194,
+kihou_no_gotoku_dmc,1,194,
+jaguar_girl,0,194,
+jack_(slaintheva),1,194,
+iromeki_overdrive,1,194,
+hakugyokurou,0,194,
+hagino_makoto,1,194,gumichoco
+ganassa,1,194,
+game_screenshot,5,194,
+flick,0,194,
+fire_emblem_warriors,3,194,fire_emblem_musou
+figure_four_sitting,0,194,
+emboar,4,194,
+dusknoir,4,194,
+dog_print,0,194,
+credit_card,0,194,
+corner,0,194,
+commander_(last_origin),4,194,
+comala_(komma_la),1,194,
+city_forest_online,1,194,
+ciloranko,1,194,yunkkker
+christina_sierra,4,194,
+chiester00,4,194,siesta00
+captain_earth,3,194,
+call_(mighty_no._9),4,194,
+cafe_maid,0,194,
+bokura_no_live_kimi_to_no_life,0,194,
+angel_of_light_nanael,4,194,
+aizawa_yuuichi,4,194,
+aikome_(haikome),1,194,aikometsu
+7gao,1,194,sunoril
+zeus_(inazuma_eleven),0,193,
+zebstrika,4,193,
+yowamushi_pedal,3,193,
+yonaga_san,1,193,alder
+yassy,1,193,
+x-ray_glasses,0,193,
+western_dragon,0,193,
+wakamiya_eve,4,193,
+viperxtr,1,193,
+type_100_(girls'_frontline),4,193,type_100_(girls_frontline)
+toxtricity,4,193,
+touran-sai,3,193,
+toro3,1,193,code-aa
+torn_sleeve,0,193,
+tokarev_tt-33,0,193,tt-33
+tetris,3,193,
+takana,1,193,
+tail_masturbation,0,193,
+suoni_(deeperocean),1,193,suoni_(pixiv)
+steve_(minecraft),4,193,
+spheal,4,193,
+sotoba,0,193,
+scarlet_(studioscr),1,193,
+saruanu,1,193,saru_ass
+sape_(saperon_black),1,193,
+sangoku_musou_1,3,193,sangoku_musou
+ruschuto,1,193,
+ruka_(piyopiyopu),1,193,
+rowan,0,193,
+rito,0,193,
+resident_evil_2_(remake),3,193,
+prishe,4,193,
+pointing_to_the_side,0,193,
+pink_wristband,0,193,
+pink_armor,0,193,
+penis_on_stomach,0,193,
+order_of_the_black_knights_uniform,0,193,
+ogre_(illustogre),1,193,"illustogre,ogre_craft"
+nukkoru,1,193,
+noragami,3,193,
+no.6,3,193,
+nin_(female),1,193,
+nicoseiga_sample,5,193,
+nemui333,1,193,
+nanostar,1,193,
+n_(dai_n_honpo),1,193,
+multicolored_pants,0,193,
+morino_bambi,1,193,
+monk_(final_fantasy),4,193,
+monk_(fft),4,193,
+moire,0,193,moir├®
+miyamoto_rei,4,193,
+mitchell_(dynxcb25),1,193,miccheru
+miniature,0,193,
+minami_koharu,4,193,
+materclaws,1,193,
+mariah_(jojo),4,193,
+mac-10,0,193,mac10
+mabanna,1,193,mabanna7787
+maachin,1,193,
+loen,1,193,loen-lapae
+light_brown_background,0,193,
+kupa_(jesterwii),1,193,creep41347922
+kumo_desu_ga_nani_ka?,3,193,so_i'm_a_spider_so_what?
+kotobukiya_bishoujo,3,193,
+kokutou_azaka,4,193,
+kito_koruta,1,193,
+ki_(adotadot),1,193,ki_(pixiv185504)
+keffiyeh,0,193,
+kdm_(ke_dama),1,193,
+kasukabe_akira,1,193,
+kacyu,1,193,pengnangehao
+iris_(flower),0,193,
+io_(sinking=carousel),1,193,io_(iooo666)
+inari_konkon_koi_iroha.,3,193,inakon
+ibuki_maya,4,193,
+hololive_china,3,193,
+hirai_yukio,1,193,
+helmet_over_eyes,0,193,
+hamaburicchi,1,193,anda_inmu
+guilty_gear_x,3,193,
+gerwalk,0,193,
+gashapon,0,193,
+emperpep,1,193,
+elle_mel_martha,4,193,
+dancer_(three_houses),0,193,
+cinnamon_(nekopara),4,193,cinnamon_(sayori)
+chiune_(yachi),1,193,
+chigusa_asuha,4,193,
+chaba_(hortensia),1,193,cha_(hortensia)
+cerestia_of_life,4,193,
+bunny_earrings,0,193,
+brushing_own_hair,0,193,
+brekkist,1,193,capstar
+big_bad_wolf,4,193,
+balkenkreuz,0,193,
+automail,0,193,
+astarotte_ygvar,4,193,
+anubis_(mythology),4,193,
+android_17,4,193,
+amamitsu_kousuke,1,193,
+akichin_(atelier_baguri),1,193,
+akabashi_yuusuke,1,193,akabashi
+air_defense_princess,4,193,"air_defense_hime,anti-air_hime"
+abigail_williams_(swimsuit_foreigner)_(second_ascension)_(fate),4,193,
+zasha,1,192,
+yuzu_(fruit),0,192,
+yuuki_nao,4,192,
+yunuki_uta,1,192,
+yukinojou_yakan,1,192,
+yellow_jumpsuit,0,192,
+yan_wan,1,192,
+winda_(yu-gi-oh!),4,192,
+wara_(warapro),1,192,
+wakaba_sprout,1,192,
+ushinawareta_mirai_wo_motomete,3,192,in_search_of_the_lost_future
+triela,4,192,
+trellis,0,192,
+touka_(utawarerumono),4,192,touka_(utawareru_mono)
+tank_turret,0,192,
+sunrise_(company),3,192,
+stitched_neck,0,192,neck_stitches
+stifled_laugh,0,192,
+stellar_loussier,4,192,
+sr-3mp_(girls'_frontline),4,192,sr-3mp_(girls_frontline)
+soyoong_jun,1,192,sushi_yoong
+skade,1,192,
+shampoo_hat,0,192,
+sekiyu_(spartan),1,192,
+sato_art,1,192,ichikawayan
+sao_satoru,1,192,
+sandogasa,0,192,
+samoyed_(dog),0,192,
+red_xiii,4,192,
+pyonsuke_(pyon2_mfg),1,192,pyonsuke0141
+poppy_(poppykakaka),1,192,transistor
+polka_dot_hair,0,192,
+playstation_3,0,192,ps3
+phantom_brave,3,192,phantombrave
+pelvic_curtain_aside,0,192,
+patty_fleur,4,192,
+ouri_(aya_pine),1,192,
+otoki_raku,1,192,
+osame,1,192,
+old_man_(guin_guin),4,192,
+olchas,1,192,olga_solovian
+okonomiyaki,0,192,
+nekobell,1,192,
+music_stand,0,192,
+muginami,4,192,
+mitarashi_dango,0,192,
+minazuki_noumu,1,192,
+mayachi_(amuriya),1,192,
+maruruk,4,192,
+maru_(sara_duke),1,192,maru_(pixiv13074)
+marking_on_cheek,0,192,
+majin_buu,4,192,
+machi_(7769),1,192,turkey_(weave7769)
+m37_(girls'_frontline),4,192,"ithaca_m37_(girls'_frontline),ithaca_m37_(girls_frontline)"
+lunalu_(granblue_fantasy),4,192,lunaru_(granblue_fantasy)
+lgbt_pride,0,192,
+kurosu_aroma,4,192,
+kuri_giepi,1,192,
+kiriha_(tsugumomo),4,192,
+karasuno_volleyball_uniform,0,192,
+kanau,1,192,
+kagami_taiga,4,192,
+kaeranu_kaeru,1,192,kerotsupii_deisuku
+jingo,1,192,
+jellyfish_(splatoon),4,192,
+iwatobi_high_school_uniform,0,192,
+issun,4,192,
+ion_(cation),1,192,
+inishie_kumo,1,192,
+hououji_fuu,4,192,
+holding_headphones,0,192,
+holding_cigar,0,192,
+hermit_crab,0,192,
+harpoon,0,192,
+haraya_manawari,1,192,
+hand_on_another's_crotch,0,192,
+griffin_&_kryuger,0,192,
+gesture_request,5,192,
+gakubuchi_aiko,1,192,gakubuti_ico
+fin_funnels,0,192,
+error_message,0,192,
+elysia_(herrscher_of_human:ego)_(honkai_impact),4,192,elysia_(herrscher_of_human:ego)
+dark_samus,4,192,
+dark_magician,4,192,black_magician
+cure_grace,4,192,
+cure_egret,4,192,
+crona_(soul_eater),4,192,makenshi_chrona
+cecilia_(shiro_seijo_to_kuro_bokushi),4,192,
+captain_amari,4,192,
+bokota_(bokobokota),1,192,
+bird/binary,3,192,
+binayu,1,192,
+bettle_(b_s_a_n),1,192,
+bellossom,4,192,
+behind_ear,0,192,
+bagua,0,192,"ba_gua,eight_trigrams,hakke"
+ayame_(gundam_build_divers),4,192,
+ayame_(0419),1,192,
+yellow_capelet,0,191,
+wonderlands_x_showtime_(project_sekai),0,191,
+werkbau,1,191,
+unbuttoning,0,191,
+ujikintoki_tamaryu,4,191,
+tsurugi_(blue_archive),4,191,
+toy_airplane,0,191,
+torterra,4,191,
+tekken_6,3,191,
+tatsumiya_kagari,1,191,
+takoneru,1,191,takocha
+t_t,0,191,
+sylvia_(huajiuhuajiu),1,191,slyvia
+sukonbu_(shirakami_fubuki),4,191,
+suicidal_girl_(hamsterfragment),4,191,
+story_of_eastern_wonderland,3,191,
+spiritomb,4,191,
+solru,1,191,
+shikabane_itsuka,4,191,
+serge_(chrono_cross),4,191,
+senano-yu,1,191,
+seasons,0,191,
+schezo_wegey,4,191,schezo
+satyr,0,191,
+saria_(the_law)_(arknights),4,191,saria_(iron_law)_(arknights)
+sapphire_(sapphire25252),1,191,
+richard_(ri39p),1,191,
+rainbow_text,0,191,
+r0g0b0,1,191,r0g0b0_(pixiv)
+quality,0,191,yashigani
+princess_ruto,4,191,
+polteageist,4,191,
+poke_kid_(pokemon),4,191,
+pixie_willow_(voice_actor),1,191,
+piston,0,191,
+parking_lot,0,191,
+parakeet,0,191,
+padoru_(meme),0,191,padoru
+orange_sarong,0,191,
+ogry_ching,1,191,
+nylon,1,191,
+novcel,1,191,
+norita,1,191,erinngi
+noel_(sora_no_method),4,191,
+nibosi,1,191,nibosisuzu
+naruse_yuu,4,191,
+najimi_shin,1,191,
+material-d,4,191,
+matemi,1,191,
+mashue,1,191,
+martha_(swimsuit_ruler)_(third_ascension)_(fate),4,191,
+mari_(omori),4,191,
+laby_(elsword),4,191,
+kouhai-chan_(tawawa),4,191,kouhai-chan_(himura_kiseki)
+kotoura-san,3,191,
+kokotetsu,1,191,
+kobo_kanaeru,4,191,
+kimi_ga_shine,3,191,
+kashimashi,3,191,
+kamura_(armor),4,191,
+itsumo_nokoru,1,191,"4224,namaeha_(pixiv77217),pomelocandy"
+holding_gem,0,191,holding_gemstone
+hikari_niji,1,191,
+gozz,1,191,
+golbat,4,191,
+gareth_(fate),4,191,gareth_(fate/grand_order)
+fukube_tamaki,4,191,
+first_aid,0,191,
+fakemon,0,191,
+doran_(doran7280),1,191,"doran7280,dorandoran"
+domon_kasshu,4,191,
+damage_numbers,0,191,
+dalc_rose,1,191,
+daiwa_scarlet_(trifle_vacation)_(umamusume),4,191,
+cordelia_glauca,4,191,
+concentrating,0,191,
+common_bottlenose_dolphin_(kemono_friends),4,191,
+collared_leotard,0,191,
+chachi_(azuzu),1,191,
+cardboard,0,191,
+belly_rub,0,191,
+bellows_(suisei_no_gargantia),4,191,
+ayuayu_(chisuke_ayu),1,191,
+athena_glory,4,191,
+assassin's_creed_ii,3,191,
+aquarian_age,3,191,
+akatsuki_no_goei,3,191,
+acryl,1,191,
+2002,0,191,
+yurichtofen,1,190,
+yoshiku_(oden-usagi),1,190,sakai_yoshikuni
+yamato_junji,1,190,
+watery_eyes,0,190,
+wasabi_(legemd),1,190,
+waktaverse,3,190,
+valkyrie_(vnd),4,190,
+uppi,1,190,
+umonebi,1,190,
+umaibou,0,190,
+tsuchimiya,1,190,
+tokuura,1,190,
+thompson/center_contender,0,190,thompson_contender
+tatapopo,1,190,
+tasogare_otome_x_amnesia,3,190,"dusk_maiden_of_amnesia,tasogare_otome_amnesia"
+tamu_(mad_works),1,190,
+suzunoki_rin,4,190,
+sports_bra_lift,0,190,
+snatti,1,190,
+shellder,4,190,
+shaped_pubic_hair,0,190,
+sdf-1,4,190,
+sazae-san,3,190,
+salamander,0,190,
+sakura_sora,1,190,
+sakura_quest,3,190,
+ruo_(tariki_hongan),1,190,
+red_ribbon_army,0,190,
+rags,0,190,
+pidove,4,190,mamepato
+partially_immersed,0,190,
+outlaw_star,3,190,
+orz_(kagewaka),1,190,
+ochikobore_fruit_tart,3,190,dropout_idol_fruit_tart
+nokishita_kumoemon,1,190,
+nier_(young),4,190,
+nagato_yuki-chan_no_shoushitsu,3,190,the_disappearance_of_nagato_yuki-chan
+nagasawa_tougo,1,190,
+muramatsu_sakura,4,190,
+morisova,1,190,
+mogskg,1,190,
+michiking,1,190,
+mechuragi,1,190,
+mass_production_eva,4,190,
+love_lab,3,190,"love_lab_(manga),ren'ai_lab,renai_lab"
+left-hand_drive,0,190,
+lantern_on_liquid,0,190,
+kusakabe_yuuki_(to_heart_2),4,190,
+kurousagi_yuu,1,190,black_rabbit
+kuriboh,4,190,
+krirk,1,190,
+kotomuke_fuurin,1,190,shijimi-sama
+kissing_hair,0,190,hair_kiss
+kinsenka_momi,1,190,
+kanchou,0,190,kancho
+kaida_michi,1,190,
+kagami_sumika,4,190,
+juvia_lockser,4,190,juvia_loxar
+jacques_de_molay_(foreigner)_(fate),4,190,
+ishikawa_goemon_xiii,4,190,
+hjz_(artemi),1,190,haimerejzero
+hide_(hideout),1,190,novelia
+henrietta_(gunslinger_girl),4,190,
+gundam_00_a_wakening_of_the_trailblazer,3,190,
+gobera,1,190,
+gekijouban_hibike!_euphonium,3,190,
+fuse,0,190,
+furukawa_sanae,4,190,
+fletchling,4,190,
+flat_chest_joke,0,190,
+face_to_pecs,0,190,
+evo_grim,0,190,
+emia_(castilla),1,190,
+elven_forest_maker,4,190,
+duke_of_york_(azur_lane),4,190,
+dha,1,190,
+dawn_(pokemon)_(cosplay),0,190,
+cyanide-whale,1,190,gei_daipf
+crybringer,1,190,jason_robinson
+communism,0,190,communist
+clipe,1,190,
+chiba_sadoru,1,190,"chiba_saddle,sencha_sadoru"
+chameleon_tail,0,190,
+capriccyo,1,190,
+boca,1,190,
+blue_hood,0,190,
+bakuman,3,190,
+asatsuki_(fgfff),1,190,
+archer_(fate)_(cosplay),0,190,
+arancia,4,190,
+animal_request,5,190,
+amekosame,1,190,
+akujiki59,1,190,
+aku_(dejigiga),1,190,gigameka
+akb48,3,190,
+akaiha_(akaihasugk),1,190,
+aida_rayhunton,4,190,"aida_reihanton,aida_surugan"
+zol,1,189,nobushito
+yuzu-aki,1,189,
+yuuma_(renkin_san-kyuu_magical_pokaan),4,189,
+yomogi_(black-elf),1,189,
+yellowroom,1,189,
+vortex_vanquisher_(genshin_impact),0,189,
+veiny_hands,0,189,
+urine_meter,0,189,
+underworld_(ornament),0,189,
+tool_belt,0,189,
+teto_(nausicaa),4,189,
+teffish,1,189,
+sweet_home,3,189,
+suzumi_(fallxalice),1,189,ryou_(fallxalice)
+spoiler_(automobile),0,189,
+spectral_(series),3,189,
+spas-12,0,189,
+space_yoko,4,189,
+snow_white_(mahoiku),4,189,
+signo_aaa,1,189,
+shuten_douji_(fate)_(cosplay),0,189,
+shio_(futatsumami),1,189,shiozaki16
+shinobu_(ninin_ga_shinobuden),4,189,
+shiina_kokomi,4,189,
+selkie_(fire_emblem),4,189,kinu_(fire_emblem_if)
+sasago_kaze,1,189,
+ryuushen,4,189,
+ryuji_(red-truth),1,189,
+ryokan,0,189,
+rune_knight_(ragnarok_online),4,189,
+rumie,1,189,
+rimuru_tempest_(slime),4,189,
+reri,1,189,
+rayvon,1,189,
+print_scrunchie,0,189,
+politician,0,189,politicians
+otaku_room,0,189,otakuroom
+onsoku_no_sonic,4,189,speed-o'-sound_sonic
+nipple_tassels,0,189,
+nicole_demara,4,189,
+nekoboshi_sakko,1,189,
+nanananana,1,189,
+morisawa_haruyuki,1,189,
+miyata_sou,1,189,miyata_ao
+miso_katsu,1,189,
+mino_tarou,1,189,mino_taro
+mii_(nintendo),4,189,
+mermaid_costume,0,189,mermaid_suit
+medic,0,189,
+matching_shanghai,0,189,
+matayoshi,1,189,
+matarou_(matarou072),1,189,
+married,0,189,
+mantis_girl,0,189,
+madyy,1,189,
+lotad,4,189,
+kuroneko_no_toorimichi,1,189,
+kuroki_(ma-na-tu),1,189,
+kourourin,1,189,
+kisairo_kaede,1,189,
+kirishima_(aoki_hagane_no_arpeggio),4,189,
+kinagi_yuu,1,189,
+kimi_to_boku_no_mirai,0,189,
+kashima_(kancolle)_(cosplay),0,189,
+kansuke,1,189,
+kagome_(traumatize),1,189,
+jashin-chan,4,189,
+itsuwa,4,189,
+insect_cage,0,189,
+ilog,3,189,
+illustrious_(morning_star_of_love_and_hope)_(azur_lane),4,189,
+ibuki_pon,1,189,akadashi
+honest_axe,3,189,
+holding_lighter,0,189,
+gothic_wa_mahou_otome,3,189,
+gift_card,0,189,
+fuwa_minato,4,189,
+funeral,0,189,
+five-seven_(gun),0,189,fn_five-seven
+fairy_knight_lancelot_(second_ascension)_(fate),4,189,
+dsr-50_(highest_bid)_(girls'_frontline),4,189,
+dragon_nest,3,189,
+cross_edge,3,189,
+constanze_amalie_von_braunschbank-albrechtsberger,4,189,
+cirno_(cosplay),0,189,
+cirno-nee,4,189,
+chiwino,1,189,
+casca_(berserk),4,189,
+buddha,4,189,
+botan_(yu_yu_hakusho),4,189,
+beyond_the_nobles_(idolmaster),0,189,beyond_the_nobles
+bastard!!,3,189,
+bad_aspect_ratio,5,189,
+awa_toka,1,189,
+asmr,0,189,
+armored_skirt,0,189,
+aqua_sweater,0,189,
+aoba_kokona,4,189,
+amamiya_minato,1,189,yumeutarium
+akizuki_akina,1,189,
+akisaka_yamoka,1,189,
+accordion,0,189,
+yunagi_amane,1,188,
+yoshida_iyo,1,188,
+yatagarasu_(tsukumo_sana),4,188,
+yamin_(cookie),4,188,
+yamaguchi_homupe,1,188,
+xo,0,188,
+webbed_feet,0,188,
+wakagi_repa,1,188,
+toy_gun,0,188,
+toriyama_akira,1,188,
+tokio_neo,1,188,"ai5108,toshimasa_(serialism)"
+tnt,0,188,
+tamamo_no_mae_(sable_mage)_(fate),4,188,
+taker_pov,0,188,
+takayama_toshiaki,1,188,
+taimanin_murasaki,3,188,makai_kishi_ingrid
+superman,4,188,
+suomi_(midsummer_pixie)_(girls'_frontline),4,188,
+star_guardian_lux,4,188,
+spark_(pokemon),4,188,
+sokrates_(touhou),4,188,
+snow_boots,0,188,
+shuz_(dodidu),1,188,
+shirakawako,1,188,
+shiokko_(murasaki_shion),4,188,
+shining_tears,3,188,
+shiguma_(signalmass),1,188,
+senmu_(senmudayo),1,188,
+sanaki_kirsch_altina,4,188,
+samurott,4,188,
+sakuya_(p&d),4,188,
+sainohikari,1,188,
+ryokushiki_(midori-ya),1,188,midori-shiki
+rowboat,0,188,
+ro_(aahnn),1,188,
+removing_legwear,0,188,
+purple_tank_top,0,188,
+potto,1,188,
+phone_with_ears,0,188,
+peanut,0,188,
+parororo,1,188,
+oruka_(kamituki0827),1,188,
+original_remodel_(kantai_collection),0,188,
+open_bag,0,188,open_backpack
+norakura_(nr_kura),1,188,
+nonon_(xenonbot),1,188,xenonstriker
+neve,1,188,
+neneneji,1,188,
+natsumiya_yuzu,1,188,
+naka_(cheeseyeast),1,188,
+nacchan_(ohisashiburi),4,188,
+mon3tr_(arknights),4,188,
+minerva_(fire_emblem),4,188,
+meruccubus_(merunyaa),4,188,
+mayusaki_yuu,1,188,mayuzaki_yuu
+matsukura_nemu,1,188,
+margaret_(persona),4,188,
+mairimashita!_iruma-kun,3,188,
+maboroshi_no_ginzuishou,0,188,
+lycanroc_(midnight),4,188,
+lucio_(overwatch),4,188,lucio_correia_dos_santos
+leonat,1,188,
+konno_takashi,1,188,
+kiriman_(souldeep),1,188,souldeep
+kintaro,1,188,
+kinmedai_pink,1,188,
+kapuchii,1,188,
+kamen_rider_agito_(series),3,188,
+innovators_(gundam_00),0,188,
+i.takashi,1,188,
+hrd,1,188,
+hikasa_tomoshika,4,188,
+held_down,0,188,
+heavy_machine_gun,0,188,
+hatsuyume,0,188,
+hamster_costume,0,188,
+gu_li,1,188,
+green_horns,0,188,
+gleision_adain,1,188,
+gleam,0,188,
+giratina_(altered),4,188,
+garden_of_the_sun,0,188,
+fushirun_rung,1,188,
+formidable_(timeless_classics)_(azur_lane),4,188,
+female_trainer_(umamusume),4,188,
+emil_castagnier,4,188,
+dragon_ball_super_super_hero,3,188,
+dp-12_(girls'_frontline),4,188,dp-12_(girls_frontline)
+dog_paws,0,188,
+desktop,0,188,
+d.koutya,1,188,daajirin.koucha
+circussion,1,188,cube_(circussion)
+buri_(retty9349),1,188,"ei_(tndusdldu),retty2706"
+brown_robe,0,188,
+bob_(you-u-kai),1,188,
+bencao_gangmu,1,188,
+beef,0,188,
+banjo-kazooie,3,188,
+autofellatio,0,188,
+arm_across_chest,0,188,
+araki495,1,188,
+aosora_kamiya,1,188,
+anteater_tail,0,188,
+anabone,1,188,
+akihiyo,1,188,
+absinthe_(arknights),4,188,
+aardwolf_tail,0,188,
+1960s_(style),0,188,"60's,60s"
+zi_se,1,187,
+zeke_von_genbu_(xenoblade),4,187,"sieg_b_goku_genbu,zeke_b_arutimetto_genbu,zeke_von_genbu"
+yoropa,1,187,
+xayah,4,187,
+xaxaxa,1,187,xavier_houssin
+vocaloid_(lat-type_ver),0,187,
+usano_mimi,4,187,
+urasekai_picnic,3,187,otherside_picnic
+united_kingdom,0,187,
+umi_monogatari,3,187,
+ukata,1,187,
+toriga_naku,1,187,chiyoshi_(sevendw)
+tomoeda_middle_school_uniform,0,187,
+takase_kanan,1,187,
+tahya,1,187,
+t-back,0,187,
+suzuki24,1,187,
+sunflower_seed,0,187,
+starry_sky_(game),3,187,
+star!!_(idolmaster),0,187,star!!
+spoken_star,0,187,
+skull_ornament,0,187,
+single_letter,0,187,
+shoto_(vtuber),4,187,
+shoe_loss,0,187,
+shizuko_(blue_archive),4,187,
+shiny_luminous,4,187,
+shiki_(senran_kagura),4,187,
+sasaki_makie,4,187,
+saruchitan,1,187,
+saijou_haruki,1,187,kinoseazusa
+saaya_(kirome),4,187,
+rexlent,1,187,
+red_star_(toranecomet),1,187,pr0vidence
+reammara,1,187,
+rain_lan,1,187,
+purple_bag,0,187,"purple_backpack,purple_handbag"
+pt_imp_group,4,187,
+pot_on_head,0,187,
+polka_dot_camisole,0,187,
+platinum_(shimmering_dew)_(arknights),4,187,platinum_(sunny_dew)_(arknights)
+pantsing,0,187,sharking
+pansage,4,187,yanappu
+otama_(atama_ohanabatake),1,187,
+organ_derwald,1,187,
+nueco,1,187,
+ngetyan,1,187,
+muse_(amaburi),4,187,
+motteke!_serafuku,0,187,motekke!_serafuku
+monkey_mask,0,187,
+mizukoshi_(marumi),1,187,
+mimyo,1,187,
+mikage_kirino,1,187,kamikage_kirino
+midoriiro_no_shinzou,1,187,
+metal_slug_attack,3,187,
+meroune_lorelei,4,187,
+melantha_(arknights),4,187,
+mega_man_zx_advent,3,187,rockman_zx_advent
+mazinger_z_(mecha),4,187,
+marinesnow,1,187,
+mahou_kyuuri,1,187,
+luna_lia,1,187,
+lordgenome,4,187,lord_genome
+kyan_reki,4,187,
+kuroba_kaito,4,187,kuroba_kaitou
+kumamoto_aichi,1,187,
+kud_wafter,3,187,
+knee_guards,0,187,
+kirschtaria_wodime,4,187,
+kintoki_(sakura_miko),4,187,
+katagiri_himeko,4,187,
+karasuma_kuraha,1,187,
+karabako,1,187,
+kale_(dragon_ball),4,187,
+jack-o'-lantern_print,0,187,
+iosys,3,187,
+imagawa_akira,1,187,
+hosokawa_kanako,4,187,
+hanging_lantern,0,187,
+haku_(sabosoda),1,187,
+haioku_colonel,1,187,"haiokumantan,haiokumantan_c"
+giant_robo,3,187,
+frilled_boots,0,187,
+foodification,0,187,
+falco_lombardi,4,187,
+elliemaplefox,1,187,
+earplugs,0,187,
+duel_masters,3,187,
+d-frag!,3,187,
+cyber_(cyber_knight),1,187,
+compa,4,187,
+clutching_chest,0,187,
+cinkai,1,187,suzki00
+chupa_chups,0,187,
+cenangam,1,187,
+c.cu,1,187,apnte
+c-ms_(girls'_frontline),4,187,c-ms_(girls_frontline)
+butcherboy,1,187,
+browning_m2,0,187,m2hb
+bobobo,1,187,
+blue_wristband,0,187,
+blue_bird,0,187,
+bitchcraft123,1,187,
+baymax,4,187,
+automatic_giraffe,1,187,
+ashiyama_yoshinori,1,187,
+ardbert_(ff14),4,187,
+arabian_oryx_(kemono_friends),4,187,
+aqua_scarf,0,187,
+april,0,187,
+alder_(pokemon),4,187,adeku_(pokemon)
+agenasu,1,187,
+yui_(niikyouzou),1,186,"tada_(pixiv230943),wei_(hoshieve)"
+yajuu,1,186,yaju485230
+wonder_egg_priority,3,186,
+vegetation,0,186,
+usa_mimi,4,186,
+tokyogenso,1,186,
+thunderbolt_fantasy,3,186,
+takashi_(huzakenna),1,186,
+t@ke-g,1,186,takeg05
+susie_(deltarune),4,186,
+sophie_(howl_no_ugoku_shiro),4,186,
+sonshoukou,4,186,
+sola,3,186,
+snowman_hair_ornament,0,186,
+shikano_sumiaki,1,186,
+setra,4,186,
+sawada_tsunayoshi,4,186,
+sarhce,1,186,
+sandbag,0,186,
+sakurea,1,186,
+rou_(rou22),1,186,
+rock_lee,4,186,
+red_stone_of_aja,0,186,
+plumeria_(pokemon),4,186,plumeri_(pokemon)
+planter,0,186,
+orangina,3,186,
+orange_tank_top,0,186,
+orange_pupils,0,186,
+optical_illusion,0,186,
+neone,1,186,
+nekoyashiki_pushio,1,186,nekoremon
+natasha_(sekai_seifuku),4,186,
+narumiya_(empty_cafe),1,186,
+naokomama,1,186,ginga_elyka
+nanabuluku,1,186,
+naked_snake,4,186,
+nakamura_kanko,1,186,otentomaru
+misakura_nankotsu,1,186,
+mega_man_x4,3,186,rockman_x4
+may_of_doom,4,186,
+matsuo_chizuru,4,186,
+matatabi_maru,1,186,
+mashimashi,1,186,
+mama_(mama_hiro),1,186,mama_(artist)
+mairo,1,186,ilo
+mail,0,186,
+kyutai_x,1,186,
+kou_(garakuta_teikoku),1,186,
+kobi_(piliheros2000),1,186,piliheros2000
+kira-kira_sensation!,0,186,
+kimi_ga_aruji_de_shitsuji_ga_ore_de,3,186,they_are_my_noble_masters
+kakumayu,1,186,
+junes,1,186,
+joseph_joestar_(tequila),4,186,
+jin_young-in,1,186,ei_(pakirapakira)
+ion_(tales),4,186,
+ikezawa_shin,1,186,bitibiti
+hong_meiling_(cosplay),0,186,
+homunculus_(artist),1,186,
+hitsugaya_toushirou,4,186,
+hisho_collection,3,186,
+hat_on_back,0,186,
+gyuudon,0,186,
+gyari_(imagesdawn),1,186,studiotetore
+group_incest,0,186,
+fuurin_(omaemona),1,186,omaemona_(pixiv)
+furukawa_itsuse,1,186,
+fatherly,0,186,
+elma_leivonen,4,186,
+eiku,1,186,
+drizzile,4,186,
+corset_piercing,0,186,
+cla_(finesoda),1,186,finesoda
+chocolate_covered,0,186,
+chaise_longue,0,186,
+baru_(val-val),1,186,
+azula,4,186,
+asura_(asurauser),1,186,
+arita_haruyuki,4,186,
+anne_(shingeki_no_bahamut),4,186,
+amakura_mio,4,186,
+alphard_(canaan),4,186,
+alicia_renato_(yashiro_sousaku),4,186,
+akebono_kai_ni_(kancolle),4,186,
+yuzutei,1,185,
+yuuki_aine,4,185,
+yushika,1,185,
+yukimi,1,185,enuma_elish
+yashin_(yasinz),1,185,
+yaoshi_jun,1,185,
+yangsion,1,185,sion_(pixiv20787)
+yang_guifei_(third_ascension)_(fate),4,185,
+wrinkled_fabric,0,185,
+wigglytuff,4,185,
+u_u_(mooooooou),1,185,
+tug,0,185,
+tsunemi_aosa,1,185,aosa_(momikin)
+trainer_(idolmaster),4,185,
+toucan,0,185,
+tejina_senpai_(series),3,185,magical_sempai
+team_skull_uniform,0,185,
+takaomi_(orenchi_no_maidosan),4,185,
+tadashi,1,185,
+switch01,1,185,suuitchi
+sunanuko_(ramuneko),1,185,sattenimukatte
+summon_night_5,3,185,
+striped_camisole,0,185,
+snow_white_(grimm),4,185,
+skylight,0,185,
+sita_vilosa,4,185,
+shoukaku_(sororal_wings)_(azur_lane),4,185,
+shionne_(tales),4,185,
+sanjiro_(tenshin_anman),1,185,hono1212
+saeki_touma,1,185,
+ribbon_hair,0,185,
+razia,4,185,rastina
+rasusurasu,1,185,
+protocol_omega,0,185,
+piyotan_(girls_und_panzer),4,185,piyotan
+pikapikapop_(idolmaster),0,185,pikapikapop
+parka_(summersketch),1,185,summersketch
+otabe_sakura,1,185,otabetaste
+ooyama_(angel_beats!),4,185,
+olivier_mira_armstrong,4,185,olivier_armstrong
+oliver_(vocaloid),4,185,
+oborofu,1,185,usotsuki_penta
+nozaki_tsubata,1,185,
+nonoyama,1,185,
+naru_(andante),1,185,
+narberal_gamma,4,185,
+nagy,1,185,
+mp5_(girls'_frontline),4,185,mp5_(girls_frontline)
+motokonut,1,185,
+moshimoshibe,1,185,
+meowy_(chainsaw_man),4,185,
+mask_lift,0,185,
+margay_print,0,185,
+mannack,1,185,mannaku
+maburaho,3,185,
+lovers_(game),3,185,
+kusarigama,0,185,chain_sickle
+kurinton,1,185,omchicken
+kuri_(kurigohan),1,185,
+kuga_huna,1,185,fuuna_(conclusion)
+koyanskaya_(foreigner)_(first_ascension)_(fate),4,185,
+kouya_no_kotobuki_hikoutai,3,185,
+komimiyako,1,185,
+kitamurashu,1,185,
+kiona_(giraffe_kiona),1,185,
+karasu_(naoshow357),1,185,
+kakizome,0,185,
+kahili_(pokemon),4,185,
+kagura_chitose,1,185,
+juliana_(pokemon),4,185,female_protagonist_(pokemon_sv)
+jovejun,1,185,
+jivke,1,185,
+imminent_gangbang,0,185,
+hyougintou,4,185,
+hooded_bodysuit,0,185,
+holostars_english,3,185,
+holding_sketchbook,0,185,holding_sketchpad
+hermione_(azur_lane),4,185,
+hand_on_window,0,185,hands_on_window
+hal_(goshujinomocha),1,185,
+gundam_narrative,3,185,
+graph,0,185,
+gouguru,1,185,
+girls'_frontline_2:_exilium,3,185,girls_frontline_2:_exilium
+fruit_background,0,185,
+firecrackers,0,185,firecracker
+fechirin,1,185,
+fatal_frame_3,3,185,
+eternity_(shadeh),1,185,
+endori,1,185,
+earth-chan,4,185,
+dou,0,185,
+daidai_ookami,1,185,
+corviknight,4,185,
+comic_lo,3,185,lo
+chest_armor,0,185,
+bongo_cat,4,185,
+atem,4,185,
+alex_(street_fighter),4,185,
+akira_ferrari,4,185,
+aeru,4,185,
+yume_no_tobira,0,184,
+yotsuya_miko,4,184,
+yoshitani_motoka,1,184,
+yazaki_(yazakc),1,184,yazakc
+wrong_hand,0,184,
+walkman,0,184,
+walfie_(style),0,184,
+wa-class_transport_ship,4,184,
+vestia_zeta,4,184,
+vertical-striped_scarf,0,184,
+usuzumi_hatsumi,4,184,
+uruu_gekka,1,184,jungetsu_hoko
+unxi,1,184,
+triple_scoop,0,184,
+tare_(tonikaku_magaru),1,184,
+tamagawa_yukimaru,1,184,
+taji_(crowview),1,184,
+tachibana_jun'ichi,4,184,tachibana_junichi
+suda_(yuunagi_enikki),1,184,
+starmilk,1,184,
+spoken_light_bulb,0,184,spoken_lightbulb
+speedo_(company),0,184,
+sitting_on_torii,0,184,
+shiwo,1,184,
+shinoda_hajime,4,184,
+sawatari_izumi,4,184,
+sasakura_(calicchio),1,184,
+sa-ya2,1,184,
+royal_navy_(emblem),0,184,
+rkp,1,184,
+rectangle,0,184,
+railroad_signal,0,184,railway_signal
+pp_tenshi_t-shirt,0,184,
+power_bottom,0,184,
+pink_gemstone,0,184,
+peach_hat_ornament,0,184,
+otsumami_(bu-bu-heaven),1,184,
+oka_(bananashoe),1,184,
+ogura_eisuke,1,184,"eisuke_ogura,ogura_eiichi"
+nullken,1,184,
+needle_sword,0,184,
+necktie_in_mouth,0,184,
+nanohana_kohina,1,184,"clear_moon,tougetsu_hajime"
+mugetsu2501,1,184,
+mu-pyon,1,184,
+mizuki_kotori_(yu-gi-oh!),4,184,
+mitarashi_anko,4,184,
+mitaka_asa,4,184,
+minatsuki_alumi,1,184,
+matching_hairstyle,0,184,
+macintosh,3,184,mac
+macaroni_hourensou,1,184,
+lvi,1,184,
+kusaba_(kusabashiki),1,184,
+konnosuke,4,184,
+koko_hekmatyar,4,184,
+kohinata_hoshimi,1,184,
+kissuisou_uniform,0,184,
+kanoe_yuuko,4,184,
+kamenozoki_momomo,1,184,kuroshirase
+kamen_rider_(1st_series),3,184,
+japan_ground_self-defense_force,0,184,jgsdf
+isu,1,184,
+ichinose_uruha,4,184,
+ice_cream_on_face,0,184,
+hondaranya,1,184,kiidautoisa
+himadera,1,184,himajinsan0401
+hikaru_(ofuton_at5),1,184,
+high-low_skirt,0,184,short_front_long_back_skirt
+hida_tatsuo,1,184,
+headboard,0,184,
+hakonnbo,1,184,
+hacka_doll_2,4,184,
+golden_shower,0,184,
+gogono_pan'ya,1,184,gogono_panya
+gendo0032,1,184,
+gary_oak,4,184,"gary_(pokemon),gary_(pokemon),ookido_shigeru,shigeru_(pokemon),shigeru_(pokemon)"
+garlic,0,184,
+futaba_akane,4,184,
+fushisha_o,1,184,
+furutaka_kai_ni_(kancolle),4,184,
+fox_child_(doitsuken),4,184,
+female_slayer_(dungeon_and_fighter),4,184,
+familymart,0,184,
+fainted,0,184,
+eimi_(blue_archive),4,184,
+ebanoniwa,1,184,
+doghouse,0,184,
+djmax_portable,3,184,dj_max_portable
+comic_girls,3,184,
+checkered_wall,0,184,
+bungou_stray_dogs,3,184,
+brown_one-piece_swimsuit,0,184,brown_swimsuit
+bridgeless_bra,0,184,
+bobobo-bo_bo-bobo,3,184,
+blank_page,0,184,
+bamboo_fence,0,184,
+bakugou_mitsuki,4,184,bakugou_katsuki's_mom
+arms_on_table,0,184,
+aos,1,184,
+ankea_(a-ramo-do),1,184,
+anal_fisting,0,184,
+amane_(dream_c_club),4,184,amane_(dream_club)
+alracoco,1,184,alraco
+akihiro_altland,4,184,
+3_3,0,184,
+yuran_(kuen-hien),1,183,
+yuki_miku_(2018),4,183,
+yoshika_(music480069),1,183,
+yewang19,1,183,
+yamada_anna,4,183,
+xxxholic,3,183,
+xiangzi_box,1,183,
+wet.elephant,1,183,
+vivillon,4,183,
+ugif,1,183,
+toudou_chise,4,183,
+torkoal,4,183,
+tearju_lunatique,4,183,
+teabag,0,183,tea_bag
+sylphy_(amaburi),4,183,
+suprii,1,183,
+star_wars:_the_force_awakens,3,183,"star_wars_episode_7,star_wars_episode_vii"
+spoken_flying_sweatdrops,0,183,
+sideroca_(light_breeze)_(arknights),4,183,
+shiguma_rika,4,183,
+sekihara_umina,1,183,unagi_no_kabayaki
+screw_in_head,0,183,"bolt_in_head,head_bolt,head_screw"
+scarlet_weather_rhapsody,3,183,
+sanotsuki,1,183,
+sakura_romu,1,183,nanoha-h
+sakine_meiko,4,183,
+saionji_sekai,4,183,
+saberiii,1,183,iiisaber
+romancing_saga_2,3,183,
+rolling_pin,0,183,
+ro-500_(kancolle)_(cosplay),0,183,
+raya_(uk_0128),1,183,
+rance,4,183,
+poa_mellhen,1,183,
+pactio,0,183,
+orihi_chihiro,1,183,
+onsen_musume,3,183,
+okyou,1,183,
+okita_sawa,4,183,
+nuko_(mikupantu),1,183,
+none_(kameko227),1,183,kmk
+nephlite,1,183,
+nemunemu_(candy_paddle),1,183,"nemunemu_(shuumatsu_shorijou),nemunemu_(syumatsusyorijou),syumatsusyorijou"
+nanakusa_nazuna_(yofukashi_no_uta),4,183,
+nakabayashi_yoshitaka's_maid_uniform,0,183,
+mudrock_(obsidian)_(arknights),4,183,
+moupii_(hitsuji_no_ki),1,183,mousoup
+meika_hime,4,183,
+mega_stone,0,183,
+matsuri_(teriyaki),4,183,
+manhole,0,183,
+laios_thorden,4,183,
+kuwata_leon,4,183,
+kurokaze_no_sora,1,183,
+kochou_kanae,4,183,
+knees_out_of_frame,0,183,
+kimagure_orange_road,3,183,
+kapuru_0410,1,183,
+kana616,1,183,
+kamen_rider_fourze,4,183,
+kaede_johan_nouvel,4,183,
+iro_ame_(amewaagada),1,183,zha_yu_bu_dong_hua
+internet_explorer,3,183,
+holding_palette,0,183,
+hol_horse,4,183,
+hisakawa_chin,1,183,
+hiei_(azur_lane),4,183,
+heixiu,4,183,
+hatenna,4,183,
+haruba_negi,1,183,
+group_profile,0,183,
+garoudo_(kadouhan'i),1,183,
+gajeel_redfox,4,183,
+frfr,1,183,ls-lrtha
+excalibur_(fate/prototype),0,183,
+enoo,1,183,
+endou_masatoshi,1,183,
+e-co,1,183,
+dryad,0,183,
+dollar_bill,0,183,
+dhalsim,4,183,
+dakkalot,1,183,
+cruiser,0,183,
+chro,1,183,
+charger,0,183,
+bowieknife,1,183,
+axe_r18,1,183,jubakurei
+aurea_juniper,4,183,"araragi_(pokemon),juniper_(pokemon),juniper_(pokemon),prof._juniper,prof._juniper,prof_juniper,prof_juniper,professor_juniper,professor_juniper"
+ashes,0,183,
+ash_(titanfall_2),4,183,ash_(apex_legends)
+^jj^,1,183,
+yuzurizaki_nero,4,182,
+washio_sumi_wa_yuusha_de_aru,3,182,washio_sumi_is_a_hero
+vi3r6ein,1,182,
+tyouseki,1,182,
+ttk_(kirinottk),1,182,"codec007,kirino_ttk,kirino_ttk"
+toyoman,1,182,nanako_(1475647493)
+tetsukuzu_tetsuko,1,182,
+tedain,1,182,
+tachibana_rei,4,182,
+sunga2usagi,1,182,
+stickam,0,182,
+spicy,0,182,
+soranagi,1,182,
+shirokuma_(nankyoku),1,182,shirukuma
+servant_x_service,3,182,
+saionji_kotoka,4,182,
+rope_marks,0,182,
+rope_(arknights),4,182,
+rikume,1,182,
+quarter_rest,0,182,crotchet_rest
+presea_combatir,4,182,
+precure_all_stars,3,182,
+popup,1,182,
+otokamu,1,182,
+orange_cat,0,182,
+ohagi1010,1,182,
+nura_(oaaaaaa),1,182,
+noyomidx,1,182,
+nobori,0,182,
+name_john,1,182,"zinger_(excess_m),zzinzinz"
+naked_labcoat,0,182,
+mutang,1,182,
+murata_himeko_(vermillion_knight),4,182,
+mool_yueguang,1,182,
+minamoto_(mutton),1,182,
+megaman.exe,4,182,"mega_man.exe,rockman_exe_(character)"
+mass_effect,3,182,
+mary_cochran,4,182,
+makumaxu,1,182,
+loooyd,1,182,
+litsvn,1,182,
+linmiee,1,182,
+kuranosuke,1,182,
+kujo_jotaro_(cosplay),0,182,
+kokura_masashi,1,182,
+koga_koharu,4,182,
+keishin,1,182,
+kazuki-mendou,1,182,
+karatakewari,1,182,
+kamigishi_akari,4,182,
+kamen_rider_faiz,4,182,
+joseph_oda,4,182,
+ichiyan,1,182,
+hoshiringo0902,1,182,
+hinaki_(hinaki_0102),1,182,
+haru_(hiyori-kohal),1,182,
+handjob_over_clothes,0,182,
+hanamura_teruteru,4,182,
+hanamasa_ono,1,182,solo07450075
+hai_to_gensou_no_grimgar,3,182,grimgar_of_fantasy_and_ash
+gulpin,4,182,
+green_innertube,0,182,
+greek_cross,0,182,
+floorplan,0,182,
+firefox,3,182,
+firefly,0,182,
+fa_no_hito,1,182,"favfavver2,favfavver2_(artist)"
+espurr,4,182,
+efuri_(riarea00),1,182,"@riarea00,ria_(riarea00)"
+domo1220,1,182,
+diantha_(pokemon),4,182,carnet_(pokemon)
+detective_pikachu,3,182,
+dazed,0,182,
+daidou_(demitasse),1,182,
+cslucaris,1,182,
+cross-laced_sandals,0,182,
+cockatiel,0,182,
+chouno_ami,4,182,
+cheating_(competitive),0,182,
+casul,1,182,casulcasulcasul
+black_bloomers,0,182,
+bellflower,0,182,
+awkward,0,182,
+ash_crimson,4,182,
+aotan_nishimoto,1,182,
+aokihoshi,1,182,
+amano_kozue,1,182,
+albacore_(azur_lane),4,182,
+aiz_wallenstein,4,182,
+against_door,0,182,
+adjusting_another's_hair,0,182,
+a_song_of_ice_and_fire,3,182,
+ziro_(zirorong),1,181,z_loader
+yuuki_anju,4,181,
+yu_3,1,181,
+yopan_danshaku,1,181,rinrin_(rinrin_monacoin)
+yana_mori,1,181,
+yamaishi_(mukoubuti),1,181,"jade_(1308mukoubuti),yamaishi108"
+yamada_naoko_(hideko1227),1,181,
+yahagi_kai_ni_(kancolle),4,181,
+wilhelmina_carmel,4,181,
+weezing,4,181,
+watarabe_keiichi,1,181,
+trucy_wright,4,181,naruhodou_minuki
+titan_(titanfall),0,181,
+tetsuwan_birdy,3,181,birdy_the_mighty
+tank_destroyer,0,181,
+tanaka_ahiru,1,181,
+super_sailor_mars,4,181,
+striped_tank_top,0,181,
+spiked_thighlet,0,181,
+shiwo_(siwosi),1,181,
+shiromoru_(yozakura_rety),1,181,yozakura_retei
+shinia,1,181,
+shigaraki_tomura,4,181,
+shida_kazuhiro,1,181,
+senjuushi_(series),3,181,
+sazanami_kai_(kancolle),4,181,
+sakura_hanpen,1,181,
+sakazakinchan,1,181,
+ryouna_(senran_kagura),4,181,
+rolua,1,181,
+rillaboom,4,181,
+rie_(reverie),1,181,
+ricotta_elmar,4,181,
+rebis,1,181,
+psyche3313,1,181,
+pokobee,4,181,
+pet_shaming,0,181,
+owl_girl,0,181,
+orihara_mairu,4,181,
+onion_knight,4,181,
+nyonyonba_tarou,1,181,
+non_(nobu),1,181,non_(pixiv19068)
+noise_tanker,1,181,
+nishiumi_yuuta,1,181,
+niijima_sae,4,181,
+neptune_(azur_lane),4,181,
+neet_co.,1,181,
+nanase_kureha,4,181,
+morishita_naochika,1,181,
+monoku,1,181,
+moe_(blue_archive),4,181,
+miyuki_(miyuki0529),1,181,
+mitsuyo_(mituyo324),1,181,
+miito_shido,1,181,unio5b
+meika_mikoto,4,181,
+marui_futaba,4,181,
+mahito,1,181,
+lucia_(punishing:_gray_raven),4,181,
+lovely_x_cation_2,3,181,
+looney_tunes,3,181,
+lasso,0,181,
+kurusu_kanako,4,181,
+kurono_yuzuko,1,181,
+kitajima_kaede,4,181,
+kirikirimai_(kkm),1,181,
+kerosene_heater,0,181,
+katari_(ropiropi),1,181,
+karakuri_chachamaru,4,181,chachamaru
+kamo_(kamonabe_44),1,181,
+kamen_rider_1,4,181,
+kagiyama_(clave),1,181,kagiyama_(gen'ei_no_hasha)
+jogging,0,181,
+jeanne_(bayonetta),4,181,
+jackal_boy,0,181,
+ishigaki_(kancolle),4,181,ishigaki_(kantai_collection)
+ihobus,1,181,
+ichirino_minagi,1,181,
+human_head,0,181,
+hozumi_kaoru,1,181,
+holding_star,0,181,
+holding_plectrum,0,181,holding_guitar_pick
+hip_attack,0,181,buttattack
+hidden_blade,0,181,
+haguruma_c,1,181,haguruma_(hagurumali)
+haevest,3,181,
+green_robe,0,181,
+globus_cruciger,0,181,
+gigi_andalusia,4,181,
+fujimaru_ritsuka_(female)_(cosplay),0,181,
+fate/tiger_colosseum,3,181,
+eevee_(cosplay),0,181,
+eel_hat,0,181,
+dobrynya_nikitich_(fate),4,181,
+dekosuke,1,181,
+december,0,181,
+daram_(shappydude),1,181,daram
+danna_(karatekikku),1,181,
+daimaou_k,1,181,daimaoh_k
+daidou_ayumu,4,181,
+count_zero,1,181,
+corrin_(summer)_(fire_emblem)_(female),4,181,
+corpse_party,3,181,
+breakdance,0,181,
+bouncing_pecs,0,181,
+bird_hair_ornament,0,181,
+billy_the_kid_(fate),4,181,billy_the_kid_(fate/grand_order)
+beige_footwear,0,181,
+battle_damage,0,181,
+atsumi_yoshioka,1,181,
+arisaka_mashiro,4,181,
+aoyama_motoko,4,181,
+alphinaud_leveilleur,4,181,
+alfort_(may0508),1,181,
+aku_no_meshitsukai_(vocaloid),3,181,servant_of_evil_(vocaloid)
+akakura,1,181,
+zirba,1,180,
+yoshino_norihito,1,180,
+yakui,4,180,
+xenosaga_episode_i,3,180,xenosaga_i
+weedle,4,180,
+waha,4,180,
+w_tails_cat,3,180,
+un-go,3,180,
+udukikosuke,1,180,uzuki_kosuke
+tsukuda0310,1,180,
+tsukiori,1,180,inazakura00
+too-ye,1,180,
+tisshu_(karutamo),4,180,
+tiger_(kemono_friends),4,180,
+the_simpsons,3,180,simpsons
+tank_interior,0,180,
+sy4,1,180,sy4may0
+star_vs_the_forces_of_evil,3,180,
+sorapoi,1,180,
+skirt_around_ankles,0,180,
+shindou_chihiro,4,180,
+shimashiro_itsuki,1,180,
+sheeta,4,180,
+see-through_bodysuit,0,180,sheer_bodysuit
+scraggy,4,180,
+sasaki_kanna_(kaedeko),4,180,
+sansha_san'you,3,180,three_leaves_three_colors
+sano_manjirou,4,180,
+saiki_kusuo_no_psi_nan,3,180,the_disastrous_life_of_saiki_k.
+sabana,1,180,kuraaken
+rusky,1,180,
+rampart1028,1,180,
+quote_(doukutsu_monogatari),4,180,
+pop_filter,0,180,
+pepatiku,1,180,
+pebble,0,180,
+omelet_tomato,1,180,
+nijihashi_sora,1,180,
+namazu_(yamasonson),1,180,yamasonson
+multicolored_bra,0,180,
+mugichoko_(mugi_no_choko),1,180,
+mozukun43,1,180,
+moon_rabbit,0,180,
+mega_man_volnutt,4,180,rock_volnutt
+marijuana,0,180,
+mahcdai,1,180,
+lunar_tear,0,180,
+linkle,4,180,
+lineage_2,3,180,lineage2
+liliruca_arde,4,180,liliruka_aede
+laegjarn_(fire_emblem),4,180,laegjarn_(fire_emblem_heroes)
+koyoi_mitsuki,1,180,
+konjiki_no_gash!!,3,180,"konjiki_no_gash,zatch_bell"
+kokujuuji,1,180,
+kita_hinako,4,180,
+kiroranke,4,180,
+kimura_shuuichi,1,180,kimura_chiruno
+kenoka,1,180,
+kazuboh,1,180,
+kazama_akira,4,180,
+kasa_list,1,180,
+kamen_rider_blade,4,180,
+kairaku_historie,3,180,
+kagiyama_shachou,1,180,kagiyama_pandra
+jurge,1,180,
+isemagu,1,180,
+initial_d,3,180,initiald
+hunie_(series),3,180,
+hinomaru_(futagun),1,180,
+hikashima_(shiofune),1,180,kusakasima
+higuchi_isami,1,180,
+high_school_dxd_hero,3,180,
+heran_hei_mao,1,180,blackcat_(pixiv)
+helena_douglas,4,180,
+hekomii,1,180,chaostein
+hector_(fate),4,180,hector_(fate/grand_order)
+harukawa_moe_(style),0,180,
+hama_(22ji_kara_24ji),1,180,"hama2224,hama_(pixiv45117)"
+graves_(league_of_legends),4,180,malcolm_graves
+goshoguruma,0,180,
+ghost_hair_ornament,0,180,
+galbany_(tsgororin),1,180,
+furuyama_itaru,1,180,tshangen131
+food-themed_background,0,180,food_themed_background
+fate/empire_of_dirt,3,180,
+eruru_(erl),1,180,
+elincia_ridell_crimea,4,180,
+edging_underwear,0,180,
+dodomori,1,180,
+dandelion_seed,0,180,
+daeho_cha,1,180,
+d-floe,1,180,
+colosseum,0,180,coliseum
+clover_theater,3,180,
+cheshire_cat_(alice_in_wonderland)_(cosplay),0,180,
+cheetah_ears,0,180,
+brown_suit,0,180,
+blair_(soul_eater),4,180,
+blaidd_the_half-wolf,4,180,
+bee_doushi,1,180,
+band_shirt,0,180,
+ayyk92,1,180,
+asics,0,180,
+antonio_salieri_(second_ascension)_(fate),4,180,
+angeldust,1,180,
+akashi_kuniyuki,4,180,
+aikei_ake,1,180,
+ai_arctic_warfare,0,180,"ai_aw,ai_awf,ai_awm,ai_awp,ai_aws"
+aardwolf_print,0,180,
+6koma,0,180,
+zelos_wilder,4,179,
+zelitto,1,179,jie_laite
+youngster_(pokemon),4,179,
+yorha_type_p_no._2,4,179,"2p_(nier),yorha_no._2_type_p"
+yoneyama_mai,1,179,
+yabai_gorilla,1,179,
+winter_schnee,4,179,
+waffle_cone,0,179,
+vyugen,3,179,
+viola_(pokemon),4,179,
+unicorn_girl,0,179,
+uni_(melm),1,179,
+twitter-san_(character),4,179,
+tsunashi_takuto,4,179,
+tsukumizu_yuu,1,179,gessuiyuu
+tsukamoto_tenma,4,179,
+tornado,0,179,
+too_many_books,0,179,
+thupoppo,1,179,
+tera_hiroshi,1,179,
+tankard,0,179,
+tanasuke,1,179,
+taihou_(sweet_time_after_school)_(azur_lane),4,179,
+suga_hideo,1,179,beauty_love
+stellated_octahedron,0,179,
+stank,1,179,
+southern_ocean_war_princess,4,179,southern_ocean_war_hime
+single-lens_reflex_camera,0,179,"single_lens_reflex_camera,slr,slr_camera"
+shinmai_fukei_kiruko-san,3,179,
+shingen_seiji,4,179,
+shichinose,1,179,sitinose
+sha2mo,1,179,
+seo_yuzuki,4,179,
+senmura,1,179,senmuts
+seaport_water_oni,4,179,
+sakurajima_saromako,1,179,
+sakuna-hime,4,179,
+sai_(naruto),4,179,
+ryou@ryou,1,179,
+royal,0,179,royalty
+river_city_girls,3,179,
+ririkuto,1,179,
+repairing,0,179,
+reika_(clovia_studio),1,179,siting_zeng
+red_male_swimwear,0,179,
+prydwen_(fate),0,179,prydwen
+professor_layton,3,179,
+print_innertube,0,179,
+pita_ten,3,179,
+piko_piko_hammer,0,179,
+phantasy_star_universe,3,179,psu
+petagon,1,179,
+paw_hair_ornament,0,179,
+otogi-juushi_akazukin,3,179,otogi-jushi_akazukin
+on_food,0,179,
+okuma_mai,1,179,tamarashi
+oda_nobunaga_(swimsuit_berserker)_(second_ascension)_(fate),4,179,
+obi-wan_kenobi,4,179,
+nhaliz,1,179,natsuyu
+nami_nami_(belphegor-5812),1,179,
+nah_(fire_emblem),4,179,nn_(fire_emblem)
+mutio,4,179,
+morgan_(fire_emblem)_(male),4,179,mark_(male)_(fire_emblem)
+mitsukai_dokuro,4,179,
+misato_(princess_connect!),4,179,aikawa_misato
+minneapolis_(azur_lane),4,179,
+marie_(persona_4),4,179,
+lying_on_another,0,179,
+leslyzerosix,1,179,
+lal'c_mellk_mal,4,179,lark
+kukuri_(mawaru),4,179,
+kiryuuin_satsuki_(cosplay),0,179,
+keishi_surota,1,179,surota
+kamen_rider_black_(series),3,179,
+kamameshi_gougoumaru,1,179,
+kai_yuuki,1,179,parakiss
+k0ng,1,179,kongthegrain
+jujutsu_tech_uniform,0,179,
+johan_andersen,4,179,jesse_anderson
+iris_yuma,4,179,
+inusaka,1,179,
+inou_shin,1,179,inoh_shin
+hyuuga_neji,4,179,
+hsuliherng,1,179,
+helvetica_std,1,179,helvetica_5tandard
+hassen_(8cm),1,179,
+hardboiled_egg,0,179,hard-boiled_egg
+gb_(doubleleaf),1,179,genmaipudding
+fujimaru_ritsuka_(female)_(royal_brand),4,179,
+fried_egg_on_toast,0,179,
+foregrip,0,179,
+flower_braid,0,179,
+fary5,1,179,farys_(afopahqfw)
+fairy_(jintai),4,179,
+f-15_eagle,0,179,
+eringi_(rmrafrn),1,179,esatongi
+ekra,1,179,
+drednaw,4,179,
+dorua_(dollar),1,179,
+daki_(kimetsu_no_yaiba),4,179,
+dain,1,179,
+constantine_xi_(fate),4,179,
+captain_america:_the_winter_soldier,3,179,
+bt-42,0,179,
+bra_(dragon_ball),4,179,bra_(dragonball)
+besmiled,1,179,
+ayaki,1,179,
+atelier_firis,3,179,
+assassin's_creed,3,179,
+asou_(asabu202),1,179,
+arisugawa_otome,4,179,
+anpanman,3,179,
+alto_seneka,1,179,
+alternate_element,0,179,alternative_element
+akaza_akane,4,179,
+zhen_lu,1,178,
+zangoose,4,178,
+yunioshi,1,178,ya-zy
+youmou_usagi,1,178,
+wakaouji_ichigo,4,178,ichigo_(k-on!)
+vania600,1,178,
+umekko,1,178,
+ueda_masashi_(style),0,178,
+towel_on_legs,0,178,
+tosa_(hometown_zest)_(azur_lane),4,178,
+torn_ribbon,0,178,
+tomato_(lsj44867),1,178,
+terra_(kingdom_hearts),4,178,
+tentacruel,4,178,
+tenkuu_sphere,1,178,
+tauros,4,178,
+takumi_(rozen_garten),1,178,takumi_(pixiv_41899)
+suishougensou,1,178,
+spell,0,178,
+soviet_flag,0,178,
+silver_bell,1,178,
+sigurd_hosenfeld,1,178,sigurdhosenfeld
+shiki_(shiki1230),1,178,kuroha1873
+sakuremi,1,178,sakuuremi
+rimo,1,178,
+reversed,5,178,
+rem_(re:zero)_(cosplay),0,178,
+ray-akila,1,178,
+quna_(pso2),4,178,
+ppsh-41,0,178,
+pleading_face_emoji,0,178,pien
+peach_hair_ornament,0,178,
+p-nekor,1,178,
+ozawa_akifumi,1,178,"orisawa_akifumi,orisawa_akihumi"
+otoshidama,0,178,
+oteruko_(wanabeee),1,178,wanabeee
+oono_tetsuya,1,178,ohno_tetsuya
+obaoba_(monkeyix),1,178,
+nove_(nanoha),4,178,
+normad,4,178,
+noeomi,1,178,
+no_navel,0,178,"no_belly_button,no_bellybutton"
+nita_(onakatohoppe),1,178,niita
+nemuri_nemu,1,178,konno_kengo
+nami_(league_of_legends),4,178,
+mr._game_&_watch,4,178,mr._game_and_watch
+mouse_on_head,0,178,
+mochii,1,178,
+milli_little,1,178,
+meiji_(meiji770),1,178,mj_(11220318)
+master_dojo_uniform,0,178,
+magenta_(atyana),1,178,akama_zenta
+lilith_(yamibou),4,178,
+kyouran_kazoku_nikki,3,178,
+kurochijo,4,178,
+kurobuta_gekkan,1,178,gekkan-kurobuta
+knights_of_the_round_table_(fate),0,178,
+kitajima_sara,4,178,
+kernel_killer,1,178,k.k_(pixiv)
+keiran_(ryo170),1,178,
+kandanchi,1,178,
+kamu_(kamuuei),1,178,
+kamikaze_kaitou_jeanne,3,178,phantom_thief_jeanne
+inari_(inariya),1,178,inari_(kimitama0902yahoocojp)
+imai_midori,4,178,
+hiyama_kiyoteru,4,178,
+hisaishi_kanade,4,178,
+himeyuri_sango,4,178,
+himeyuri_ruri,4,178,
+hatch,0,178,
+halkawa501,1,178,harukawa_(hal501)
+haiki_(tegusu),1,178,
+graf_zeppelin_(beachside_urd)_(azur_lane),4,178,
+geo_(yukishitadou),1,178,geogeo
+gamuo,1,178,
+fuwa_kokone,4,178,
+finger_to_tongue,0,178,
+fadingz,1,178,
+ember_(selen_tatsuki),4,178,
+ebi_frion_(natsuiro_matsuri),4,178,
+drinking_pee,0,178,pee_drink
+doberman,0,178,
+dishwashing,0,178,
+chunithm,3,178,
+chinese_lantern_(plant),0,178,
+chinatsu_(blue_archive),4,178,
+charamells,1,178,
+character_hood,0,178,
+bowling_ball,0,178,
+bokkun_(doyagaobyo),1,178,koukii
+bnw_(umamusume),0,178,
+bioshock_infinite,3,178,
+artoria_pendragon_(alter_swimsuit_rider)_(first_ascension)_(fate),4,178,
+alligator,0,178,
+akehi_yuki,1,178,
+5danny1206,1,178,
+3d_glasses,0,178,
+0-den,1,178,
+#compass,3,178,
+yukirin,1,177,
+yukin_(es),1,177,nuku
+yukiko_(tesseract),1,177,
+yuki_miku_(2012),4,177,
+usugiri_bacon,1,177,
+usaka_ray,1,177,
+umedama_nabu,1,177,tsurikichi_doumei
+tsukikage_nemu,1,177,
+trung_trac_(fate),4,177,
+transformers_animated,3,177,
+toujou_(toujou_ramen),1,177,tojo_(strit2p)
+tenshinhan,4,177,tien_shinhan
+spirit_blossom_ahri,4,177,
+spiked_helmet,0,177,
+spiked_gloves,0,177,
+solosis,4,177,
+sima_naoteng,1,177,
+shiota_nagisa,4,177,
+shiino_sera,1,177,
+segamark,1,177,
+ryu-akt,1,177,
+rindou_(awoshakushi),1,177,
+right-hand_drive,0,177,
+reiesu_(reis),1,177,
+popo_(ice_climber),4,177,
+ponkotsu,1,177,
+pinwheel_hair_ornament,0,177,
+pikachu_ears,0,177,
+owafu,1,177,
+ookami_maito,1,177,
+natsuki_marina,1,177,dadada72717
+nasa_logo,0,177,
+murota_yuuhei,1,177,
+montemasa,1,177,
+momoiro_lettuce,1,177,
+mole_(animal),0,177,
+minette_(skullgirls),4,177,
+mimic,0,177,
+mayo_(miyusa),1,177,
+matasabu,1,177,
+maple_(bofuri),4,177,
+madotsukumo,1,177,loli_ta1582
+lots_of_laugh_(vocaloid),3,177,
+lingshalan,1,177,lanelise
+kyurem,4,177,
+kurokoori,1,177,
+kougami_shin'ya,4,177,kougami_shinya
+koryuu_(gackter10),1,177,
+kogaku_kazuya,1,177,
+kishizuka_kenji,1,177,
+kishitani_shinra,4,177,
+kimura_(ykimu),1,177,
+kaoru_(gensou_yuugen-an),1,177,kaoru_(artist)
+kakitama,1,177,
+kakiko210,1,177,
+julius_caesar_(fate),4,177,julius_caesar_(fate/grand_order)
+joshua_(shisanli934),1,177,fuune
+jin_akhr,1,177,holiday-jin
+jessica_(granblue_fantasy),4,177,
+jane_mere,1,177,janemere
+jack-o'-lantern_ornament,0,177,
+ikkitousen_great_guardians,3,177,
+ichimegasa,0,177,
+ice_pack,0,177,
+i.f.s.f,1,177,
+holding_flask,0,177,
+go_(board_game),0,177,
+gm_(mobile_suit),4,177,
+ghost_sweeper_mikami,3,177,
+genya_(genya67),1,177,genya67
+gentoku,1,177,
+gaara_(naruto),4,177,
+fur-trimmed_mittens,0,177,
+floral_arch,0,177,
+ekko_(ejami),4,177,
+edoya_inuhachi,1,177,neko_cer
+dusk_(everything_is_a_miracle)_(arknights),4,177,
+double_vaginal,0,177,
+dokuro_deluxe,1,177,
+demitri_maximoff,4,177,
+dead_or_alive_6,3,177,
+darabuchi,1,177,
+dana_zane,4,177,
+cutie_honey_(character),4,177,
+cure_star,4,177,
+cisyo,1,177,
+chen_bin,1,177,
+carbuncle_(final_fantasy),4,177,
+broad_shoulders,0,177,
+azuma_kiyohiko,1,177,kiyohiko_azuma
+awai880,1,177,
+asymmetrical_breasts,0,177,lopsided_breasts
+asada_sadao,1,177,"sadao4a,sweetroad"
+aogiri_penta,1,177,aogiri_p
+anthony_(madoka_magica),4,177,
+altair_ibn_la-ahad,4,177,
+aki_(sangetusei),1,177,
+zbrush_(medium),5,176,
+z282g,1,176,
+yuruto,1,176,
+yunimaru,1,176,
+yoshida_seiji,1,176,
+yajuu_senpai,4,176,
+wingheart,1,176,
+udppagen,1,176,
+tsukumihara_academy_uniform_(fate/extra),0,176,
+tripdancer,1,176,
+toushi_ryoku,1,176,
+toruneko,1,176,
+tomozo_kaoru,1,176,
+tomo_(tmtm_mf_mf),1,176,tomo_(user_hes4085)
+toba_hiyoko,1,176,
+the_legend_of_zelda:_spirit_tracks,3,176,spirit_tracks
+tengxiang_lingnai,1,176,
+tejina_senpai,4,176,
+takimoto_yukari,1,176,takashi_(nekoro)
+tail_pull,0,176,
+sumi_keiichi,1,176,
+stuffed_orca,0,176,
+stenciled_rose,0,176,
+spoken_animal,0,176,
+size_comparison,0,176,
+silvally,4,176,
+shiramine_rika,4,176,
+shaymin_(sky),4,176,
+shaojiang,1,176,
+seviper,4,176,
+sawati,1,176,
+sakkan,1,176,
+roura,1,176,
+red_(among_us),4,176,
+raticate,4,176,
+rashinban_musume,4,176,
+rakeru_(dokidoki!_precure),4,176,"rakeru_(precure),raquel_(dokidoki!_precure)"
+putama,1,176,
+poison_ivy,4,176,pamela_lillian_isley
+pin.s,1,176,
+persona_4:_dancing_all_night,3,176,
+ox_girl,0,176,
+overwatch_2,3,176,
+orihara_kururi,4,176,
+orange_heart,4,176,
+orange_butterfly,0,176,
+onix,4,176,
+one_finger_selfie_challenge_(meme),0,176,one_finger_selfie_challenge
+on_flower,0,176,
+nyororiso_(muyaa),1,176,
+nozomi_fuuten,1,176,
+nipple_tag,0,176,
+netnavi,0,176,
+natsuki_kruger,4,176,
+nanaume_(shichimi_tougarashi),1,176,sorairo_porin
+nagato_(great_fox's_respite)_(azur_lane),4,176,nagato_(great_fox's_sleepwear)_(azur_lane)
+mystical_high_collar,0,176,
+morigami_(morigami_no_yashiro),1,176,d-style_wed
+mizuno_mumomo,1,176,
+mizuki_nana,4,176,
+miyoshino,1,176,
+miyamoto_musashi_(swimsuit_berserker)_(first_ascension)_(fate),4,176,
+miy@,1,176,
+mi_(pic52pic),1,176,
+mesousa,4,176,
+memento_vivi,1,176,
+maria_(umineko),4,176,
+maosame,1,176,
+makochin,1,176,
+madan_no_ou_to_vanadis,3,176,
+lurantis,4,176,
+lin_(breath_of_fire),4,176,
+lavender_(flower),0,176,
+kurorichin,1,176,
+kuroo_tetsurou,4,176,
+kure-nai,3,176,
+konakona,1,176,
+kobe_shinbun,3,176,
+kizaki_ren,4,176,
+kinokohime,1,176,
+kazamatsuri_fuuka,4,176,
+kayahara,1,176,
+kawanakajima,1,176,
+kaonashi,4,176,
+kanijiru,1,176,
+kani_aruki_(bucket_crawl),1,176,takanitsuki
+kaneko_(novram58),1,176,
+kanade_izuru,4,176,
+kamimiya,1,176,
+kagami_chihiro,1,176,
+jinno_megumi,4,176,
+izetta,4,176,
+isekai_joucho,4,176,
+inkbrush_(splatoon),0,176,
+imaichi_moenai_ko,4,176,
+ikuno_(darling_in_the_franxx),4,176,
+hua-j,1,176,choukoukou_no_diaosi
+hoshiguma_(patrolling_ronin)_(arknights),4,176,
+holding_butterfly_net,0,176,
+hmage,1,176,
+hitotsubashi_yurie,4,176,
+hirosato,1,176,
+hinemosu_notari,1,176,hinemosu
+hikobae,1,176,
+hibari_kyouya,4,176,
+hazmat_suit,0,176,
+haneramu,1,176,
+gundam_msv,3,176,
+grey_pubic_hair,0,176,
+grasshopper,0,176,grasshoppers
+gotcha!,3,176,
+giant_armadillo_(kemono_friends),4,176,
+gattai,0,176,
+fuyube_rion,1,176,
+fudou_akira,4,176,
+fruit_bowl,0,176,
+friday_night_funkin',3,176,friday_night_funkin
+fie_claussell,4,176,
+fantasista_doll,3,176,
+extra_pupils,0,176,"extra_irises,multiple_pupils"
+euphemism,0,176,sexual_euphemism
+erufuda-san,4,176,
+empty_picture_frame,0,176,
+doku_corne,1,176,
+comfey,4,176,
+colorful_palette,1,176,
+clitoris_tweak,0,176,clit_tweak
+catfish,0,176,
+burmecian,0,176,
+buran_(kure),1,176,
+bunny_and_fox_world,3,176,
+body_horror,0,176,
+black_bandana,0,176,
+bbbb_fex,1,176,
+bachera,1,176,bachiera
+australian_devil_(kemono_friends),4,176,
+asahi_kuroi,1,176,k.syo.e+
+artem_wing_(tears_of_themis),4,176,
+anus_cutout,0,176,
+ankle_bell,0,176,
+zone_of_the_enders_2,3,175,
+yuzu-soft,3,175,
+yuki_usagi_(mofurafu),1,175,
+yoshiwa_tomo,1,175,
+yellowpaint.,1,175,
+yamcha_(cocololi),1,175,
+wenny02,1,175,sanatorium_industries
+vanity_table,0,175,dressing_table
+ukami,1,175,
+tsuttsu,1,175,"tsuttsu_(tsux3),yukino_tsubu"
+toucailao,1,175,
+teleport,0,175,
+taiwan,0,175,
+star_ocean_first_departure,3,175,star_ocean_1
+snot_trail,0,175,
+sino42,1,175,
+silky_anteater_(kemono_friends),4,175,
+shirt_down,0,175,
+shirafuji_kyouko,4,175,
+senran_kagura_estival_versus,3,175,
+sea_turtle,0,175,
+sakuraba_rola,4,175,
+sakura_musubi,3,175,sakuramusubi
+sabet_(young_ouo),1,175,kurut
+ryouzou,1,175,mukuzou
+rodney_(azur_lane),4,175,
+remington_arms,0,175,
+raphael_kirsten,4,175,
+power_strip,0,175,surge_protector
+phoenix_wright:_ace_attorney_-_spirit_of_justice,3,175,"ace_attorney_6,gyakuten_saiban_6"
+penpen,4,175,
+pee_in_container,0,175,
+paras,4,175,
+paper_chain,0,175,
+panzerfaust,0,175,
+othinus,4,175,
+orca_girl,0,175,
+opening,0,175,
+onineko,1,175,
+ohako_(ohako1818),1,175,
+naomi_(fantasia),1,175,
+nanahyakuichi_middle_school_uniform,0,175,
+naked_raincoat,0,175,
+nakamura_rohane,1,175,liu_chi_tiantang_fr
+nakajima_atsuko,1,175,
+muunyan_(yumenekoya),1,175,mu-nyako
+mutyakai,1,175,
+moru_(monaka),1,175,
+morioka_itari,1,175,
+monster_hunter_x,3,175,
+monosenbei,1,175,winwinmater
+momoko_(palemon),1,175,
+miya_utsutsu,4,175,
+misooden,1,175,
+miaogujun,1,175,miaoguujuun_qvq
+mashio,1,175,"futomashio,toragara_(pixiv326502)"
+march,0,175,
+makaria,1,175,
+lucia_(scott_malin),4,175,
+latooni_subota,4,175,
+kuroba_u,1,175,
+kuriyuzu_kuryuu,1,175,
+kokutan_kitsunen,1,175,
+kohakope,1,175,
+kodama_(wa-ka-me),1,175,
+ko_kita,1,175,
+kiriko_(araragikoyomi),1,175,araragikoyomis
+kikimifukuri,1,175,
+kido_jou,4,175,kido_jyou
+kazuha's_friend_(genshin_impact),4,175,
+kanten,1,175,
+kanaria_hisagi,1,175,kanaria_(kanari_as)
+k_jie,1,175,
+k+,1,175,
+jewel_(the_black_canvas),1,175,
+jammers,0,175,
+ishikawa_hideki,1,175,
+husky,0,175,
+hurricane_glass,0,175,
+houmitsu,1,175,iwamoto_maguro
+hobble,0,175,
+hinazuki_ririna,4,175,lilith_(beatmania_iidx)
+hand_on_own_wrist,0,175,
+hamayumiba_sou,1,175,
+gya_(144),1,175,nani_(goodrich)
+guilty_dragon,3,175,
+grimlight,3,175,
+green_outline,0,175,
+grand_sphere,3,175,
+gourry_gabriev,4,175,
+fuwa_fuwa_dog,1,175,
+fuuka_reventon,4,175,
+flora_(fire_emblem),4,175,flora_(fire_emblem_if)
+fixed,5,175,
+en_pointe,0,175,
+crest_worm,0,175,
+cofffee,1,175,ffffcoffee
+cleo_everlastin,4,175,
+character_watermark,0,175,
+carrot_pillow,0,175,
+cargo_shorts,0,175,
+carbon12th,1,175,
+calyrex,4,175,
+beat_angel_escalayer,3,175,
+bai_(granblue_fantasy),4,175,
+ayakaze_ryuushou,1,175,
+armillary_sphere,0,175,
+amaguchi_chiyoko,1,175,tete_(amakuchichiyoko)
+aisutabetao,1,175,umiyakawa
+100_percent_orange_juice,3,175,
+013_(hamsasuke),1,175,
+yotarou_(aoki_hagane_no_arpeggio),4,174,
+yokoyama_naoki,1,174,
+yellow_innertube,0,174,
+yasumo_(kuusouorbital),1,174,
+white_chocolate,0,174,
+voicevox,3,174,
+vittorio_veneto_(warship_girls_r),4,174,
+uru_(uru0000),1,174,
+tying_apron,0,174,
+tsuta_no_ha,1,174,
+trung_nhi_(fate),4,174,
+tota_(sizukurubiks),1,174,
+tomidoron,1,174,
+the_lego_group,3,174,
+thanabis,1,174,
+taya_oco,1,174,taya_5323203
+tapisuke,1,174,
+tamura_hiro,1,174,
+takeya_masami,1,174,
+t-ray,1,174,
+swimsuit_tug,0,174,
+super_cub,3,174,
+starfox1015,1,174,
+stake,0,174,
+sphinx_(toaru_majutsu_no_index),4,174,
+soft_focus,0,174,
+sirills,1,174,
+shinonome_akito,4,174,
+semi-transparent,0,174,
+sango,4,174,
+salmonid,0,174,
+sakura_moyon,1,174,
+sakishima_hikari,4,174,
+rondo_bell,1,174,
+roadhog_(overwatch),4,174,mako_rutledge
+reality_arc_(sinoalice),0,174,
+ranger_(ragnarok_online),4,174,
+quimbaya_airplane,0,174,
+queen_of_spades_symbol,0,174,
+priapus_a._tarou,4,174,
+popoman,1,174,pao_mian+dan
+pinch_(nesume),1,174,
+pechika,1,174,
+ooyun,1,174,yugion
+on_rock,0,174,
+nyan_koi!,3,174,nyan_koi
+nu-class_light_aircraft_carrier,4,174,
+nose_picking,0,174,picking_nose
+ninamo,1,174,
+nima_(niru54),1,174,
+neko_to_chiyo,3,174,
+nakayama_yukiji,1,174,
+myoudou_gakuen_high_school_uniform,0,174,
+munakata_kyousuke,4,174,
+multiple_moons,0,174,
+moose_tail,0,174,
+mochizuki_mochi,1,174,hinakano_h
+mochinue,1,174,mochinu
+miyoshi_karin,4,174,
+mirukurim,1,174,shannon_(chiffonx)
+mimi-chan,4,174,
+mikoma_sanagi,1,174,
+medium_request,5,174,
+makoto_(summer)_(princess_connect!),4,174,
+maka_(morphine),1,174,
+majo_shuukai_de_aimashou,0,174,
+magic_school_uniform,0,174,
+mafia_kajita,4,174,
+lieqi_hun,1,174,ryouki_tamashii
+liepard,4,174,
+kusukusu,1,174,
+kushida_you,1,174,
+kunugigaoka_middle_school_uniform,0,174,
+kimetsu_gakuen,3,174,
+kimarin,1,174,
+kenny_mccormick,4,174,
+kelvin-trainerk,1,174,
+karunabaru,1,174,
+kannon_ouji,1,174,
+kanno_izuka,1,174,izuka_kanno
+kanikou,1,174,
+kai_(link2262),1,174,
+justin_(grandia),4,174,
+julia_chang,4,174,
+izuoku,1,174,
+iroha_(iroha_matsurika),1,174,
+ichinose777,1,174,
+hoshino_kagari,1,174,
+ho-class_light_cruiser,4,174,
+hanamaru_youchien,3,174,"hanamaru_kindergarten,hanamaru_yochien"
+halter_shirt,0,174,
+hakodate_omiko,4,174,
+green_brooch,0,174,
+ga320aaa,1,174,
+fujy,1,174,
+felt_(re:zero),4,174,
+faye_(fire_emblem),4,174,
+fallout_4,3,174,
+eternity_sword_series,3,174,
+esper_nyanko,4,174,
+eighth_rest,0,174,quaver_rest
+dr._eggman,4,174,
+display_case,0,174,
+display,0,174,
+comiket_95,3,174,
+comic_unreal,3,174,
+color_timer,0,174,
+cleffa,4,174,
+choyeon,1,174,chyo
+candy_bar,0,174,
+breaking_bad,3,174,
+borushichi,1,174,
+arpeggio_kaga,1,174,
+aqua_scrunchie,0,174,
+animedia,3,174,
+anagumasan,1,174,
+akatsuki_miho,4,174,
+advance_wars,3,174,famicom_wars
+zenno_rob_roy_(umamusume),4,173,
+yuuhi_(arcadia),1,173,
+yunsang,1,173,mr_cloud
+yuko_(uc_yuk),1,173,
+yukari_(yukari21653710),1,173,"enishi_(menkura-rin10),enishi_shumi"
+yoshimi_(blue_archive),4,173,
+yokoyoko_(nazonazo),1,173,nazonazo_(nazonazot)
+yellow_overalls,0,173,
+yamauchi_(conan-comy),1,173,
+yamato_(sword),0,173,
+yakin_byoutou,3,173,night_shift_nurses
+voltorb,4,173,
+uraichishi,1,173,
+tsuritama,3,173,
+tsubasa_ryuuji,4,173,
+tsana_(lansane),4,173,
+tonotyama,1,173,
+tomoya_kankurou,1,173,
+tenkawa_nayuta,4,173,
+takao_(school_romanza)_(azur_lane),4,173,takao_(academy_romantica)_(azur_lane)
+tadano_(toriaezu_na_page),1,173,hutoncom
+tabi_(tabisumika),1,173,tabisumika
+suzuki_masaru,4,173,
+sunflower_print,0,173,
+stepladder,0,173,
+standing_missionary,0,173,
+spaghe,1,173,
+skadi_the_corrupting_heart_(sublimation)_(arknights),4,173,
+shizuru_viola,4,173,
+shishinon,1,173,
+shisantian,1,173,
+shining_(silent_night)_(arknights),4,173,
+shi_chimi,1,173,"sdr_roll0808,takushiima"
+shenmue,3,173,
+senhappyaku,1,173,ichi_hachi_rei_rei
+scuba_gear,0,173,
+sankarea,3,173,sankarea:_undying_love
+samuimu,1,173,
+sakana_(flame_sakana),1,173,"frame_(tackle_box),sakana"
+sagemaru-br,1,173,
+sag_(karehabase),1,173,
+ryuushou,1,173,
+ryofu_housen,4,173,
+ribbon_earrings,0,173,
+ribbon_bra,0,173,
+reeds,0,173,
+ratsuku_kinoko,1,173,
+r1,1,173,
+print_pillow,0,173,
+print_leotard,0,173,
+polka_dot_scarf,0,173,
+polar_opposites,0,173,
+pants_under_shorts,0,173,
+pancham,4,173,
+outer_glow,0,173,
+ototsu_kei,1,173,
+on_moon,0,173,
+oharu-chan,1,173,rrrpct
+ocean_bottom,0,173,
+nyatabe,1,173,
+new_submarine_princess,4,173,submarine_new_hime
+nakagawa_kanon,4,173,
+nagomi_yui,4,173,
+mushroom_cloud,0,173,
+muse_(rainforest),1,173,
+metal_gear_solid_peace_walker,3,173,
+meola,1,173,
+marching_band_baton,0,173,
+manoji,1,173,
+mankanshoku_sukuyo,4,173,
+makinami_(kancolle),4,173,
+mahou_shoujo_madoka_magica_plus,3,173,
+lynchis,1,173,
+letdie1414,1,173,
+leila_malcal,4,173,
+lancelot_(granblue_fantasy),4,173,
+kusakanmuri,1,173,
+kurokawa_chiaki,4,173,
+konmori_(kinbou_sokai),1,173,kinbou_sokai
+kitazawa_hagumi,4,173,
+kinoshita_hinata,4,173,
+kanda_done,1,173,
+kamaboko_red,1,173,
+kakyouin_chieri,4,173,
+kaho_okashii,1,173,
+jaye_(arknights),4,173,
+hitsuji_bako,1,173,
+hiro_(pqtks113),1,173,
+hermes_(kino_no_tabi),4,173,
+hara_kenshi,1,173,kurai_munio
+hanzaki_jirou,1,173,hanzaki_jiro
+hand_around_neck,0,173,
+gujianshaonu,1,173,"elpx_(gu_jian_shaonu),uta_(pixiv),yong_mei-uta"
+grey_robe,0,173,
+gongba_laoge,1,173,gg-e
+gine,4,173,
+fujimaki_(angel_beats!),4,173,
+firolian,1,173,
+fender,0,173,
+enjoy_mix,1,173,
+elemental_master_(elsword),4,173,
+dvd_case,0,173,
+dolce_(dolsuke),1,173,
+dohna_dohna_issho_ni_warui_koto_o_shiyou,3,173,
+danganronpa/zero,3,173,dangan_ronpa/zero
+clarice_(idolmaster),4,173,
+choice,0,173,
+chipmunk,0,173,
+cheetah_print,0,173,
+bsapricot_(vtuber),4,173,"apricot_the_lich,froot_(vtuber)"
+blastbeat,1,173,
+betabeet,1,173,
+bandages_over_eyes,0,173,bandaged_eyes
+atsutoku,1,173,
+asimo953,1,173,
+ashe_(overwatch),4,173,
+artstation_username,0,173,
+aokura_shou,1,173,
+ankle_scrunchie,0,173,
+alternate_sleeve_length,0,173,
+akuma_(st.takuma),1,173,st.takuma
+akechi_kokoro,4,173,
+zeraora,4,172,
+yuuki_makoto_(radiant),1,172,chinchikoore
+yuu_(1007yu),1,172,saitoyu00
+yukiharu,1,172,
+yoshino_ryou,1,172,
+yayoi_sakura,4,172,
+wryyyyyyyyyyyyyyyyyyyy,0,172,
+won_(az_hybrid),1,172,
+whoisshe,1,172,
+weapon_connection,0,172,
+wazakita,1,172,
+wardrobe,0,172,
+velouria_(fire_emblem),4,172,velour_(fire_emblem_if)
+tsu-class_light_cruiser,4,172,
+tree_of_savior,3,172,
+tousaki_shiina,1,172,
+tortoise,0,172,
+suwaneko,1,172,
+suke_(momijigari),1,172,
+sugiyama_genshou,1,172,
+stuffed_whale,0,172,
+spoken_number,0,172,
+soleil_(fire_emblem),4,172,soleil_(fire_emblem_if)
+skarmory,4,172,
+simosi,1,172,
+silfa_(to_heart),4,172,
+shuuzo3,1,172,
+shuttlecock,0,172,
+segawa_onpu,4,172,
+sakino_asuka,4,172,
+sakikumo_(sakumo),1,172,
+sagamimok,1,172,
+sachiel,4,172,
+ryuk,4,172,
+ryoubi_(senran_kagura),4,172,
+rurudo_lion,4,172,
+rugby_uniform,0,172,
+romulus_quirinus_(fate),4,172,romulus_quirinus_(fate/grand_order)
+rikiddo_(tise_00),1,172,
+pump_action,0,172,pump_shotgun
+print_cape,0,172,
+prehensile_tongue,0,172,
+poppi_alpha_(xenoblade),4,172,"hana_js,poppi_a"
+ponpon,1,172,
+philomelalilium,1,172,
+phantump,4,172,
+petilil,4,172,
+paloma_piquet,1,172,
+palette_suit,0,172,
+outstretched_legs,0,172,
+orange_pubic_hair,0,172,
+onii-chan_dakedo_ai_sae_areba_kankeinai_yo_ne,3,172,oniai
+oimo_(imoyoukan),1,172,
+nyaa_(nnekoron),1,172,
+nishiyama_(whatsoy),1,172,
+nishi_iori,1,172,
+nightshirt,0,172,
+neneru,1,172,
+namiorii,1,172,namii_(namialus_m)
+namco_x_capcom,3,172,
+nakamura_eight,1,172,nkmr8
+nagase_kaede,4,172,
+mugi_(banban53),1,172,
+mugen_senshi_valis,3,172,
+mirisha,1,172,
+miriam_(bloodstained),4,172,
+massachusetts_(dressed_to_impress)_(azur_lane),4,172,
+maremay0513,1,172,
+maple_(nekopara),4,172,maple_(sayori)
+maguro_(mawaru_sushi),1,172,
+lute_(fire_emblem),4,172,
+loading_(verjuice),1,172,verjuice
+light_beam,0,172,
+kubyou_azami,1,172,"ichii_asa,kubyou_asami"
+kojima_emi,4,172,
+kishido_temma,4,172,
+kimura_shiki,1,172,
+kiana_kaslana_(void_drifter),4,172,
+katwo,1,172,katwo_1
+katori_(mocchidou),1,172,
+kama_(weapon),0,172,
+kabaji,1,172,
+jouzaburou_(joe3),1,172,jousanrou
+jima,1,172,iijima_masashi
+jiggly_girls,3,172,
+ifuji_sakura,1,172,
+huxiao_(mistlakefront),1,172,
+huang_(granblue_fantasy),4,172,
+holding_cloth,0,172,
+hmdark-9,1,172,
+hand_to_own_face,0,172,
+halfling,0,172,
+h2_(h20000000),1,172,
+gwendolyn_tennyson,4,172,
+futaba_rio,4,172,
+futaba_riho,4,172,
+fushiguro_touji,4,172,
+eris_(asobi_ni_iku_yo!),4,172,
+earth_federation,0,172,
+donedone,1,172,
+delibird,4,172,
+comic_rin,3,172,
+chloe_lemaire,4,172,
+cherry_earrings,0,172,cherry_earring
+cerberus,0,172,
+burp,0,172,
+bunji,1,172,
+bronya_zaychik_(haxxor_bunny),4,172,
+blu-ray_cover,0,172,
+blacksmith_(ragnarok_online),4,172,
+black_sun,0,172,
+bikkuriman,3,172,
+beeeeen,1,172,
+beautifly,4,172,
+bb_(bb_shot!)_(fate),4,172,bb_shot!
+artoria_caster_(third_ascension)_(fate),4,172,artoria_pendragon_(caster)_(third_ascension)_(fate)
+amagi_kai_(kancolle),4,172,
+alpha_(alpha91),1,172,
+akasode_(tyaramu),1,172,chyaramu
+akano_murasaki,1,172,asamurasaki
+afterburner,0,172,
+2l_(2lsize),1,172,
+21yc_(september_breeze),1,172,aaa_(september_breeze)
+zifu,1,171,zifuuuun
+wilderness_bandit_risty,4,171,
+watagashi_yui,1,171,suzukawa_yui
+wario_land,3,171,
+waraji,0,171,
+virtual_reality,0,171,
+viroa,1,171,
+vilor,1,171,
+vertical-striped_vest,0,171,
+unicorn_(the_gift_of_spring)_(azur_lane),4,171,unicorn_(spring's_present)_(azur_lane)
+tsuzumi,0,171,
+tsuina,1,171,
+tosyeo,1,171,
+tom-neko_(zamudo_akiyuki),1,171,
+ticcy,1,171,
+temachii,1,171,
+takom,1,171,takosuke0624
+tai0201,1,171,
+sushoyushi,1,171,
+sunakumo,1,171,
+soborou,1,171,
+sitrus_berry,0,171,
+silent_princess,0,171,
+sig_mcx_(girls'_frontline),4,171,sig_mcx_(girls_frontline)
+shuuji_(shumi),1,171,
+shironeko_sanbou,1,171,
+shirai_yuyu,4,171,
+shimotsuki_eight,1,171,
+shika_(s1ka),1,171,
+sheska_xue,1,171,
+serval_(kemono_friends)_(cosplay),0,171,
+sarasadou_dan,1,171,
+sangatsu_no_lion,3,171,march_comes_in_like_a_lion
+samus_aran_(cosplay),0,171,
+samurai_champloo,3,171,
+sakuya_(sister_princess),4,171,
+sailor_senshi_costume,0,171,
+ripe.c,1,171,
+ribbon_bangs,0,171,
+rabbit_(tukenitian),1,171,
+papa_(shimeguru),1,171,
+open_box,0,171,
+non_(wednesday-classic),1,171,
+nandemo_iu_koto_wo_kiite_kureru_akane-chan_(voiceroid),3,171,
+naked_cardigan,0,171,
+mystic_square,3,171,
+musubi,4,171,
+modeseven,1,171,
+mochizuki_hijiri,4,171,
+mk_18_carbine,0,171,
+mizuno_asami,1,171,
+mewkledreamy,3,171,
+merchant_(ragnarok_online),4,171,
+matsumoto_rise,4,171,
+march_ab,1,171,marchab_66
+manaka_hitomi,4,171,
+mana_kakkowarai,1,171,
+makura_(y_makura),1,171,
+magolor,4,171,
+mad_hatter_(alice_in_wonderland)_(cosplay),0,171,
+lamb,0,171,
+la_pucelle_(mahoiku),4,171,
+kusaka_kokage,1,171,
+kurokami_medaka,4,171,
+kon_manatsu,1,171,
+kinbakuman,1,171,
+kimidake,1,171,
+kazama_jin,4,171,
+kanzaki_h._aria,4,171,
+kabiinyo_(kab),1,171,bi-nyo
+jessie_(pokemon)_(cosplay),0,171,
+holding_pocket_watch,0,171,
+hinomoto_hikari,4,171,
+hinamatsuri_touko,1,171,
+hatchet_(axe),0,171,western_hatchet
+grandia_bing,1,171,grandia_(artist)
+graham_aker,4,171,
+googly_eyes,0,171,
+eucliwood_hellscythe,4,171,
+etou_(cherry7),1,171,
+emlan,1,171,
+emirio_(emirio110),1,171,emirio_(user_wmup5874)
+emilico_(shadows_house),4,171,emilyko
+elisia_valfelto,4,171,
+elina_(captain_of_the_royal_guard),4,171,
+dorothy_haze,4,171,
+dlsite.com,3,171,
+deformed,0,171,
+clockshow,0,171,
+chibita,4,171,
+catsmoon,1,171,youxuemingdie
+blindfold_removed,0,171,
+bed_invitation,0,171,
+bebe_(bebe_pp),1,171,bebe_pp
+b.a.b.e.l._uniform,0,171,
+azusawa_kohane,4,171,
+asyde,1,171,
+aqua_pants,0,171,
+aoba_(akibajun),1,171,
+amnesia_(idea_factory),3,171,
+amane_sora,1,171,anemone_noa
+amakura_mayu,4,171,
+aladdin_(disney),3,171,
+ace,0,171,
+8-gou_(mechanist08),1,171,mechanist08
+zuttokodomo,1,170,
+yuki_(yukin0128),1,170,
+yuchi_(salmon-1000),1,170,
+yanyan_(shinken_gomi),1,170,
+winnie_the_pooh,3,170,
+wengwengchim,1,170,
+vivy:_fluorite_eye's_song,3,170,
+usami_mizuki,4,170,
+uchino_kazuhisa,4,170,
+tsukimi_eiko,4,170,
+tobacco_(tabakokobata),1,170,"irohaniwoedotirinuruwo,tobacco_(artist)"
+tatsumiya_mana,4,170,
+suo_sango,4,170,suou_sango
+suihei_sen,1,170,
+sprout,0,170,
+splat_charger_(splatoon),0,170,
+sonoda_ken'ichi,1,170,sonoda_kenichi
+sirataki_umauma,1,170,
+simulated_footjob,0,170,
+sigui_(queen's_blade),4,170,siggy
+shimatori_(sanyyyy),1,170,
+she-ra_and_the_princesses_of_power,3,170,
+seihou,3,170,
+seaplane_tender_princess,4,170,seaplane_tender_hime
+scaffolding,0,170,
+satogo,1,170,
+sato-pon,1,170,
+sagiri_(kancolle)_(cosplay),0,170,
+sagara_sousuke,4,170,
+rurudo,1,170,
+rottytops,4,170,
+rhydon,4,170,
+renta_(deja-vu),1,170,
+ranyu,1,170,
+pote-mm,1,170,
+polka_dot_apron,0,170,
+pirotess,4,170,
+pierre_norano,1,170,
+otonashi_kiruko,4,170,
+otemoto_(baaaaloooo),1,170,
+orange_bag,0,170,orange_backpack
+oota_youjo,1,170,
+note-chan,4,170,
+nolia,1,170,
+nishiki_koi,1,170,
+nijimoto_hirok,1,170,
+nepolabo,0,170,
+natsuki_(natukituki),1,170,
+mullmull02,1,170,
+mochizuki_ado,1,170,mochitsuki_ado
+misuguu,1,170,retgra
+megumin_(cosplay),0,170,
+maruchi,1,170,
+manle,1,170,
+manaka_non,4,170,
+maiii_(smaii_i),1,170,khaw_(cloudstdontcare)
+magical_mirai_miku_(2017),4,170,magimirai_miku_(2017)
+m249,0,170,
+lu_xueqi_(zhu_xian),4,170,
+loki_(marvel),4,170,
+loki_(fire_emblem),4,170,loki_(fire_emblem_heroes)
+kurokawa_makoto,1,170,
+kurokawa_izumi,1,170,
+kuroganeruto,1,170,
+koutarou_(girl_power),1,170,
+kou_(granblue_fantasy),4,170,
+kisuke_(akutamu),1,170,hatasuke
+kishibe_taiga,4,170,
+kikuichi_monji,1,170,yurutintin
+keepout,1,170,
+kaya_rio,1,170,
+katsuoboshi,1,170,
+kamishiro_rui,4,170,
+kamen_rider_kiva,4,170,
+kafun,1,170,
+jungon_kim,1,170,
+jiyu2,1,170,
+jin_musou,4,170,jin_muso
+jack_atlas,4,170,
+iwamushi,1,170,
+illustrious_(maiden_lily's_radiance)_(azur_lane),4,170,
+ico_(character),4,170,
+hoshikawa_mafuyu,4,170,
+holding_sponge,0,170,
+hiruno,1,170,
+hirano_aya,4,170,
+hero_(omori),4,170,
+hat_basket,0,170,
+hasegawa_langa,4,170,langa_hasegawa
+harmonist11,1,170,
+green_feathers,0,170,
+gou_lianlian_dogface,1,170,
+gotou_junji,1,170,
+gotland_andra_(kancolle),4,170,
+g_yuusuke,1,170,gyuusuke
+fukada_ichika,4,170,shark_girl_(yukimoto_shuuji)
+five_star_stories,3,170,fss
+falling_star,0,170,
+eyewear_lift,0,170,
+eden's_zero,3,170,
+death_the_kid,4,170,
+darren_shan,4,170,
+da-cart,1,170,
+cunnilingus_gesture,0,170,
+chiba_kirino,4,170,
+calin,1,170,pen_chou
+buthikireta,1,170,
+bolze,1,170,
+battle_spirits:_shounen_toppa_bashin,3,170,
+ayuteisyoku,1,170,xayux
+asaki_takayuki,1,170,
+ariyoshi_gen,1,170,
+arche_klein,4,170,
+aono_(f_i_s),1,170,
+amos'_bow_(genshin_impact),0,170,
+akashi_(live_a_hero),4,170,
+aizawa_eiko,4,170,
+aihara_enju,4,170,
+agemono,1,170,
+agarest_senki,3,170,record_of_agarest_war
+aerisdies,3,170,
+zygarde,4,169,
+zukky000,1,169,
+yukiunag1,1,169,
+yor_briar_(cosplay),0,169,
+yoga_mat,0,169,
+xuhuai_(the_legend_of_luoxiaohei),4,169,
+wonder_festival_2007,3,169,
+wet_male_underwear,0,169,wet_underwear_(male)
+vice_(kof),4,169,
+ushiromiya_rudolf,4,169,
+twirl_baton,0,169,
+tussy,1,169,tsusshi
+troll_(homestuck),0,169,
+toono_minagi,4,169,tohno_minagi
+suntail,1,169,
+stielhandgranate,0,169,
+snow_is,1,169,
+snow_fox,3,169,
+slot_machine,0,169,
+slime_boy,0,169,"goo_guy,slime_guy"
+shiroko_(reku),4,169,
+shimomoto,1,169,
+shera_l._greenwood,4,169,
+shantae:_half-genie_hero,3,169,
+sexy_no_jutsu,0,169,
+seitei_(04seitei),1,169,
+sarena,1,169,
+s_zenith_lee,1,169,
+rikoma,1,169,
+richelieu_(fleuron_of_the_waves)_(azur_lane),4,169,richelieu_(flagship_in_the_sea_breeze)_(azur_lane)
+raburebo,1,169,
+purple_tabard,0,169,
+pompmaker1,1,169,
+penis_sheath,0,169,
+oni_costume,0,169,
+ok-ray,1,169,
+oerba_dia_vanille,4,169,
+october,0,169,
+noelle_silva,4,169,
+nidoran,4,169,
+narutaru,3,169,shadow_star
+nanaka_mai,1,169,nanaca_mai
+muloli,1,169,
+mosquito,0,169,
+micha_jawkan,4,169,
+meloetta,4,169,
+master_artoria,4,169,
+mankanshoku_matarou,4,169,
+makako_(yume_bouei_shoujo_tai),1,169,
+littorio_(azur_lane),4,169,
+lion_costume,0,169,
+leather_choker,0,169,
+le_temeraire_(azur_lane),4,169,
+kusana_(dudqja602),1,169,
+konparu_nozomi,4,169,
+kirahoshi_ciel,4,169,
+kanbayashi_makoto,1,169,shin_yandamushi
+kakao_rantan,1,169,
+jing_ke_(fate),4,169,jing_ke_(fate/grand_order)
+jibaku_shounen_hanako-kun,3,169,toilet-bound_hanako-kun
+itou_korosuke,1,169,
+ise_(0425),1,169,
+inubashiri_momiji_(wolf),4,169,
+ikuhana_niiro,1,169,
+houchou_toushirou,4,169,
+holding_cookie,0,169,
+hatsuse_izuna,4,169,
+haruno_shiobana,4,169,shiobana_haruno
+hakuoro,4,169,
+habetrot_(fate),4,169,
+gunnthra_(fire_emblem),4,169,
+ghostbusters,3,169,
+fukunaga_kazuhiro,1,169,
+foot_pussy,0,169,
+egk513,1,169,
+denaseey,1,169,
+culture_japan,3,169,danny_choo_(website)
+cream_lemon,3,169,
+collared_capelet,0,169,
+cigarette_butt,0,169,
+christie_(doa),4,169,
+chiro,1,169,
+chiri_(ch!),1,169,gomi_chiri
+chichibu_(watson),1,169,chichibu_(chichichibu)
+buratei_marii,4,169,
+buizel,4,169,
+broom_surfing,0,169,"broomsurfing,standing_on_broom"
+bluekomadori,1,169,
+black_jack_(series),3,169,black_jack_(copyright)
+big_bad_wolf_(cosplay),0,169,
+berserker_armor,0,169,
+azuma_yukihiko,1,169,
+ayane_(blue_archive),4,169,
+artpatient,1,169,
+arrest,0,169,
+a:n_(angrynum),1,169,angry_num
+zundamon,4,168,
+zakuro_(rariatto),4,168,
+yuugumo_kai_ni_(kancolle),4,168,
+yukia_(firstaid0),1,168,
+yellow_sarong,0,168,
+yamato_kai_ni_(kancolle),4,168,
+wataru_(nextlevel),1,168,
+venom_snake,4,168,punished_snake
+two-sided_headwear,0,168,
+tricycle,0,168,
+tororo,1,168,
+tokoyami_fumikage,4,168,tsukuyomi_(boku_no_hero_academia)
+taguchi_kenji_(omaep),1,168,omaep
+suzunosuke_(sagula),1,168,sagula
+sunsun69,1,168,
+sunahara_wataru,1,168,
+suiroh_(shideoukami),1,168,phano_(125042)
+stigma1101,1,168,
+stephanie_dora,4,168,
+star741,1,168,
+sig_sauer_556,0,168,sig_556
+siberian_tiger_(kemono_friends),4,168,
+shiromiya_mimi,4,168,
+sharuru_(dokidoki!_precure),4,168,sharuru_(precure)
+shameimaru_aya_(crow),4,168,
+seahorse,0,168,
+sawamura_daichi,4,168,
+saotome_haruna,4,168,
+sakura_koharu,1,168,omurice-san_(haruko)
+removing_glove,0,168,
+qbz-95,0,168,
+princess_(7th_dragon),4,168,
+plank,0,168,
+pf,1,168,
+panther_ears,0,168,
+panpa,1,168,
+oshioki_sweetie,3,168,
+osamu_(jagabata),1,168,
+onion_(lemlaml),1,168,
+onedoo,1,168,
+on_stool,0,168,
+omanyte,4,168,
+offbeat,1,168,s2offbeat
+object_head,0,168,
+nonbire,1,168,"arrichee,nobire"
+noi_mine,1,168,shianoichi
+nekonyan,1,168,
+needless,3,168,
+nasuna,1,168,
+musunde_hiraite_rasetsu_to_mukuro_(vocaloid),3,168,musunde_hiraite_rasetsu_to_mukuro
+moriya_shrine,0,168,
+momogaa_(girls_und_panzer),4,168,momogaa
+moe2017,0,168,
+mizutame_tori,1,168,
+missing_teeth,0,168,
+mins_(minevi),1,168,ciev
+milfa_(to_heart),4,168,
+matsumoto_sarina,4,168,
+masamune_(ff7),0,168,masamune_(ffvii)
+marion-ville,1,168,
+mandricardo_(fate),4,168,mandricardo_(fate/grand_order)
+maki_oze,4,168,
+link_(cosplay),0,168,
+lid,0,168,
+kurosuke_(nora),1,168,
+kirby_d_a,1,168,
+kimi_ni_todoke,3,168,
+kecleon,4,168,
+juuni_taisen,3,168,juni_taisen:_zodiac_war
+io_(princess_connect!),4,168,hasekura_io
+instant_ip,1,168,instant-ip
+imai_kana,4,168,
+ijimeka_(meme),0,168,ijimeka
+ichimedoo,1,168,
+hozuki_kaede,4,168,
+hisui_(cookie),4,168,
+hinata_(user_rjkt4745),1,168,
+haru_(nature_life),1,168,
+gypsy,0,168,
+game_&_watch,3,168,
+galarian_zigzagoon,4,168,
+fuyouchu,1,168,
+fishnet_fabric,0,168,
+etan14,1,168,
+encasement,0,168,
+dress_aside,0,168,
+dewgong,4,168,
+dark_sky,0,168,
+code:_nemesis_(elsword),4,168,
+chibikko_(morihito),4,168,
+bottle_cap,0,168,
+bearhug,0,168,
+axe_kick,0,168,
+athena_(series),3,168,
+arima_senka,4,168,
+andou_you,1,168,andouyu
+alice_margatroid_(cosplay),0,168,
+alber,1,168,
+akito_(sub707),1,168,
+akieda,1,168,
+98se-tan,4,168,98se
+yoshida_inuhito,1,167,yoshida_inubito
+yajiro_masaru,1,167,
+victreebel,4,167,
+umezawa_itte,1,167,buckethead
+tun,1,167,
+trust_me,0,167,
+trinity_seven,3,167,
+toufu_mentaru_zabuton,1,167,pur_can
+tono_(rt0no),1,167,rt0no
+tokki,1,167,
+tendo_teru,4,167,tendou_teru
+sword_art_online_the_movie:_ordinal_scale,3,167,
+swaying,0,167,
+suzushiro_yukari,1,167,
+sukebewe,1,167,
+star_trail,0,167,"star_trailing,star_trails"
+shitappa,1,167,
+shiroshouzoku,0,167,
+shiraishi_an,4,167,
+shinn_asuka,4,167,shinn
+shikinami_kai_ni_(kancolle),4,167,
+shigemitsu_jun,1,167,
+satou_rin_(gobugabuge),1,167,uchisukui
+salama_(amaburi),4,167,
+saegusa_kii,4,167,
+rubi-sama,1,167,
+roe,0,167,
+rimururu,4,167,
+rateratte,1,167,
+ramiya_ryou,1,167,ramiya_ryo
+quadruple_wielding,0,167,
+pringles,3,167,
+pointing_gun,0,167,
+pink_mittens,0,167,
+picpicgram,1,167,
+patchouli_knowledge_(cosplay),0,167,
+owa_(ishtail),1,167,
+outseal,0,167,
+nekosugi_(hoshi),1,167,
+nekomugiharu,1,167,
+neeko_(league_of_legends),4,167,
+natsuki_(silent_selena),1,167,silent_selena
+mutsuba_fumi,1,167,
+masaki_(machisora),1,167,
+mahou_shoujo_(raita),3,167,
+maa_(forsythia1729),1,167,
+liu_liaoliao,1,167,maruko_le
+lily_(gentsuki),4,167,
+kurowana,1,167,
+kuroi_nanako,4,167,
+komi_shuuko,4,167,
+kizuna_ai_(a.i._games),4,167,
+kitano_yuusuke,1,167,
+kisaragi_mizu,1,167,
+kiryuuin_aoi,4,167,kiryuin_aoi
+katsuragi_niya,1,167,
+kamyu,4,167,
+k.ty_(amejin),1,167,
+junior27016,1,167,
+jinako_carigiri,4,167,"carigiri_jinako,jinako_karigiri,karigiri_jinako"
+jean-jacques_leroy,4,167,
+is_ii,1,167,
+ingrid_(taimanin_murasaki),4,167,
+imigimuru,1,167,
+ikue_fuuji,1,167,
+human_village_(touhou),0,167,
+holding_riding_crop,0,167,
+healther,1,167,
+harukanaru_toki_no_naka_de,3,167,
+hamashima_shigeo,1,167,
+hakubi_washuu,4,167,
+gum_(gmng),1,167,
+gomi_ichigo,1,167,
+ginklaga,1,167,
+fujimiya_yahiro,1,167,
+freedom_nakai,1,167,
+fou_(ssqseeker),1,167,
+florence_nightingale_(third_ascension)_(fate),4,167,
+ezoshika,1,167,
+echizen_(hvcv),1,167,
+doom_eternal,3,167,
+dianna_soreil,4,167,
+deto,1,167,
+core_drill,0,167,
+chopsticks_in_mouth,0,167,
+chirashi_(so),1,167,
+car_seat,0,167,
+bulbonne,1,167,
+broken_arm,0,167,
+breloom,4,167,
+breast_fondle,0,167,
+blue-eyes_white_dragon,4,167,
+black_eyeshadow,0,167,
+binggong_asylum,1,167,zhixue
+beige_headwear,0,167,
+bakuretsu_hunters,3,167,sorcerer_hunters
+back_to_the_future,3,167,
+atlantic_puffin_(kemono_friends),4,167,
+ashitaka,4,167,
+annindoufu_(oicon),1,167,
+amemiya_nazuna,4,167,
+akiteru_(akiteru98),1,167,akiteru98
+afuro,1,167,
+zoe_(league_of_legends),4,166,
+ziling,1,166,
+zasshu_nigou,1,166,
+yuuhi_kurenai,4,166,
+yumesaki_nana,1,166,nana_yume87
+yuasa_makoto,1,166,
+yoshida_akihiko,1,166,
+yorktown_cv-5,1,166,
+yogisya,1,166,
+yellow_feathers,0,166,
+yawaraka_black,1,166,
+x-23,4,166,
+winter_soldier,4,166,
+tsumi_no_hahen_(debris),3,166,
+tsukko_(3ki2ne10),1,166,tukko
+tokyo_necro,3,166,toukyou_necro
+tokomichi,1,166,
+tokoi,1,166,
+terras,1,166,
+tariah_furlow,1,166,
+takano_itsuki,1,166,
+suta_furachina,1,166,
+sussurro_(summer_flowers)_(arknights),4,166,
+skorpion_(girls'_frontline),4,166,skorpion_(girls_frontline)
+sinakyo,1,166,
+shirayuri_sakura,4,166,
+shingyoku_(touhou),4,166,"shingyoku,shingyouku"
+she-hulk,4,166,
+rune_factory_3,3,166,
+rugal_bernstein,4,166,
+rome_romedo,1,166,
+roman_(sound_horizon),3,166,
+rita_rossweisse_(artemis),4,166,
+print_hakama,0,166,
+pink_horns,0,166,
+ozzingo,1,166,
+oreo,0,166,
+on_animal,0,166,
+object_insertion_from_behind,0,166,
+no_hair_ornament,0,166,
+nikomi_(nikomix),1,166,
+nada_namie,1,166,
+moneybag,0,166,
+moffle_(ayabi),1,166,
+minimalism,0,166,
+mikami_mika,1,166,
+mareanie,4,166,
+mamel_27,1,166,
+magicians_(zhkahogigzkh),1,166,
+m3_lee,0,166,
+lever_action,0,166,
+leeron_littner,4,166,
+layla_prismriver,4,166,
+kyuukon_(qkonsan),1,166,
+kv-2,0,166,
+kusano_shinta,1,166,
+kuroe_(sugarberry),1,166,kuroe_(221698)
+kogame,1,166,
+kitsune_maru,1,166,
+kinoebi,1,166,
+kefla_(dragon_ball),4,166,
+kayura_yuka,1,166,
+katara,4,166,
+kaniya_shiku,1,166,
+kameyan,1,166,
+juggling_club,0,166,
+isis_(p&d),4,166,
+imouto_sae_ireba_ii,3,166,a_sister's_all_you_need
+hoshimiya_mashiro,1,166,
+hong_doo,1,166,"hirundo_rustica,hongdujebi"
+hometa,1,166,
+hellagur_(arknights),4,166,
+hajimari_no_kiseki,3,166,trails_into_reverie
+guard_vent_jun,1,166,guard_bento_atsushi
+garnet_rod,0,166,time_staff
+game_over,0,166,
+gakusen_toshi_asterisk,3,166,
+fumi_(nijisanji),4,166,
+freeze-ex,1,166,freezesex
+flying_witch,3,166,
+empew,1,166,
+emerald_(pokemon),4,166,
+elizabeth_(bioshock_infinite),4,166,
+dodonpachi,3,166,
+disdain,0,166,
+deerling,4,166,
+daiteikoku,3,166,
+charisma_guard,0,166,
+ca_(maeda_koutarou),3,166,
+brown_rose,0,166,
+bremerton_(day-off_date)_(azur_lane),4,166,
+brandkojo,1,166,
+brand-new_friend_(umamusume),0,166,
+bokoboko_(pandagapanda1),1,166,
+bismarck_(warship_girls_r),4,166,
+bimmy,1,166,
+ayukawa_madoka,4,166,
+araki_(qbthgry),1,166,qbthgry
+aimee_(emi),1,166,
+after,3,166,
+7ife,1,166,
+yokohama_kaidashi_kikou,3,165,ykk
+yamazaki_sousuke,4,165,
+yamato_maya,4,165,
+yamakaze_ran,1,165,
+words_worth,3,165,
+weed_(astarone),1,165,
+wakatsuki_you,1,165,
+unlight,3,165,
+unagimaru,1,165,
+tuba,0,165,
+tsunami_jousuke,4,165,
+transformed_ditto,4,165,
+toe_seam,0,165,
+todding,1,165,
+tentacool,4,165,
+takanashi-a,1,165,
+tachimukai_yuuki,4,165,
+studded_jacket,0,165,
+straw_hat_pirates,0,165,
+star_nun_(diva),4,165,
+squeeze_bottle,0,165,
+spark621,1,165,
+sonic_the_hedgehog_(classic),3,165,
+solar_eclipse,0,165,
+snow_white_(disney),4,165,
+siva_(executor),1,165,shiva_(executor)
+sistine_fibel,4,165,sistine_fiber
+siino,1,165,
+shutou_mq,1,165,
+shiroi_karasu,1,165,
+shiro_(sewayaki_kitsune_no_senko-san),4,165,
+shira_(sirairo116),1,165,
+shimana_(cs-ts-az),1,165,
+scone,0,165,
+sawamura_eijun,4,165,
+savage_(arknights),4,165,
+rotte_(1109),1,165,
+ririmon,1,165,
+rimu_(kingyo_origin),1,165,rim_(kingyoorigin)
+ribi,1,165,
+pure_white_memories_(idolmaster),0,165,pure_white_memories
+proto_man,4,165,"blues_(rockman),protoman"
+poshi_(ginmokusei),1,165,
+porygon,4,165,
+popoin,1,165,
+poem,0,165,
+pearl_fey,4,165,ayasato_harumi
+paprika_shikiso,1,165,
+pandoria_(xenoblade),4,165,saika_(xenoblade)
+ouma_shuu,4,165,ouma_shu
+oobari_masami,1,165,
+nina_(pastime),1,165,
+natsupa,1,165,
+narumi_nanami,1,165,
+nakamura_kusata,1,165,
+nakai_hisao,4,165,
+momotarou_densetsu,3,165,
+momiji_(binbougami_ga!),4,165,
+miyata_(lhr),1,165,
+mitsuru_(darling_in_the_franxx),4,165,
+mireyu,4,165,
+minarai_tenna,1,165,
+mihifu,1,165,
+micchan_(ohisashiburi),4,165,
+mayonaka_taruho,1,165,
+masters_of_the_universe,3,165,
+maru_daizu_(aqua6233),1,165,t.m_(aqua6233)
+maou_sadao,4,165,
+mantine,4,165,
+mameojitan,1,165,"amanekuu,mame_oji-tan"
+lunarisaileron,1,165,
+leogust,1,165,
+lennon,4,165,
+laundry_pole,0,165,
+kuronami_(lvi),4,165,
+koruta_(nekoimo),1,165,
+koi_suru_kanojo_no_bukiyou_na_butai,3,165,
+knight_(hollow_knight),4,165,
+kimtoxic,1,165,
+kazuma_kaneko,1,165,
+kara_age,1,165,
+kantoku_(style),0,165,
+kaminari_doon,1,165,
+isao,1,165,
+io_naomichi,1,165,ionaomichi
+ima_(lm_ew),1,165,
+igarashi_(nogiheta),1,165,
+idol_heroes_(idolmaster),0,165,
+hz_(murder_license_),1,165,camui_kamui
+hyoin,1,165,doyoom
+hulk,4,165,
+hot_melon,1,165,
+hoshino_ouka,1,165,
+horse_racing_track,0,165,
+horizon_(apex_legends),4,165,
+horikita_suzune,4,165,
+hisamura_natsuki,4,165,
+hip_hop,0,165,
+higa-tsubasa,1,165,
+heart-shaped_pubic_hair,0,165,
+hamedoragon,1,165,
+gino_weinberg,4,165,
+getbackers,3,165,
+fu_hua_(night_squire),4,165,
+framed_insect,0,165,
+february,0,165,
+fan_speaking,0,165,
+extra_digits,0,165,"extra_digit,extra_fingers,polydactyly"
+extra_breasts,0,165,"multibreast,multiple_breasts,polymastia"
+enmanuelart20,1,165,
+dracu-riot!,3,165,
+crossed_swords,0,165,swords_crossed
+crooked_eyewear,0,165,
+cibo_(killy),1,165,
+chig,1,165,
+carrot_(one_piece),4,165,
+burusuta,1,165,evo_(pixiv13178077)
+bracelet_girls,4,165,
+bottoms1237,1,165,
+blue_babydoll,0,165,
+beni_kurage,1,165,
+bedwetting,0,165,
+bagpipe_(queen_no._1)_(arknights),4,165,
+azusa_(swimsuit)_(blue_archive),4,165,
+ateoyh,1,165,
+atage,1,165,gomibox
+aspara,1,165,
+asch_(tales),4,165,
+ane_naru_mono,3,165,the_elder_sister-like_one
+amatsuka_megumi_(gj-bu),4,165,
+amatsuka_mao,4,165,
+alma_armas,4,165,
+alexi_(tits!),1,165,arekishi
+aek-999_(girls'_frontline),4,165,aek-999_(girls_frontline)
+zigzagdb,1,164,
+zhuge_kongming_(honkai_impact),4,164,
+yusake_san,1,164,
+yukiyuki_441,1,164,
+you2,1,164,
+yostar,3,164,
+yanje,1,164,
+yamato_(uchuu_senkan_yamato),4,164,
+y_naf,1,164,
+wind_sneaker_(elsword),4,164,
+wendy's,3,164,
+warui_ga_watashi_wa_yuri_janai,3,164,
+uwu,0,164,
+type_89_i-gou,0,164,
+turbo_byakuren,4,164,
+tsuruta_himeko,4,164,
+toshizou_(0714),1,164,yggdra0714
+togutogu,1,164,
+theresa_apocalypse_(starlit_astrologos),4,164,
+tel-o,1,164,
+taruya,1,164,
+tamahiyo,1,164,
+synchroaki,1,164,
+sukabu,1,164,
+star_sticker,0,164,
+star_cutout,0,164,
+sinlaire,1,164,
+sikorsky,1,164,
+shimaji,1,164,
+shadaloo_dolls,0,164,
+senya_(dq11),4,164,
+sankomichi,1,164,
+saijaku_muhai_no_bahamut,3,164,
+s.m.s.,0,164,
+pure_pure,3,164,pyua_pyua
+pirate_ship,0,164,
+pecjob,0,164,
+osu!_tatakae!_ouendan,3,164,
+one_piece:_strong_world,3,164,
+olys,1,164,
+oikura_sodachi,4,164,
+nut_(food),0,164,nuts_(food)
+nr_noir,1,164,devildogs
+nose_shade,0,164,
+norman_(yakusoku_no_neverland),4,164,
+nina_(breath_of_fire_iii),4,164,nina_iii
+nhk_ni_youkoso!,3,164,"nhk_ni_yookoso,nhk_ni_yookoso!,nhk_ni_youkoso,welcome_to_nhk,welcome_to_the_n.h.k.,welcome_to_the_nhk"
+muji_(uimss),1,164,
+mokoke,1,164,
+mito_(go!go!king!),1,164,mitoko_(kuma)
+mismatched_wings,0,164,
+minimized,0,164,miniaturized
+mage_(dq3),4,164,
+kure_(kure_ng),1,164,
+kurau_kii,1,164,
+koto_(instrument),0,164,
+kemono_jihen,3,164,
+keigi,1,164,
+jupiter_symbol,0,164,jupiter_sign
+junko_(blue_archive),4,164,
+jikihatiman,1,164,
+irui_guneden,4,164,irui
+iced_tea,0,164,
+houden_eizou,1,164,
+hiryuu_(azur_lane),4,164,
+hirota_tsuu,1,164,
+hiragana_oufu,1,164,"hiragana_(gomasyabu),katakana_(ponzu_to_gomasyabu)"
+hichiko,1,164,
+hexagram_hair_ornament,0,164,
+haruna_(blue_archive),4,164,
+harada_miyuki,1,164,
+hanayamata,3,164,
+half-life,3,164,half_life
+hakou_(barasensou),1,164,russel_(yumeriku)
+glorious_(azur_lane),4,164,
+genetic_(ragnarok_online),4,164,
+fusion_dance,0,164,
+fugetsu_taku,1,164,exit_nothing
+franken_fran,3,164,frankenfran_(manga)
+foster's_home_for_imaginary_friends,3,164,
+fir_tree,0,164,
+famas,0,164,
+eyewear_switch,0,164,glasses_switch
+esukee,1,164,
+ende_(chihuri),4,164,
+electrode_(pokemon),4,164,
+ebinku,1,164,
+dresstrip,1,164,
+diepod,1,164,"drgnpnch,hii-volt-07"
+deoxys_(normal),4,164,
+deku_(dekunosu),1,164,deku_(pixiv26269)
+cyberbots,3,164,
+crossed_fingers,0,164,
+craytm,1,164,
+cowter,0,164,
+constriction,0,164,
+chouun_shiryuu,4,164,
+cham-p,4,164,
+calne_ca,4,164,"karune_ca,karune_cl"
+c-low,1,164,
+bobby_pin,0,164,
+barn,0,164,
+baltimore_(black_ace)_(azur_lane),4,164,
+bad_reflection,0,164,
+azuki_(nekopara),4,164,azuki_(sayori)
+ashishun,1,164,
+ao_madoushi,1,164,
+zebra,0,163,
+yutsumoe,1,163,
+yushe_quetzalli,1,163,yushi_ketsalkoatl
+yumeno_uta,4,163,
+yukikaze_(kancolle)_(cosplay),0,163,
+yukihira_souma,4,163,
+yellow_headband,0,163,
+yae_(ganbare_goemon),4,163,
+whipping,0,163,
+voodoothur,1,163,amano-g
+tsumitani_daisuke,1,163,
+tobi_(discharge_cycle),1,163,
+teramoto_kaoru,1,163,kana1104
+tdk,1,163,
+tanaka_hime,4,163,
+takuzui,1,163,
+suzuki_sayaka,4,163,rokugou
+stopwatch_around_neck,0,163,
+squid_hat,0,163,
+shuckle,4,163,
+shoe_flower,0,163,
+shirase_(shirose),1,163,
+senjuushi:_the_thousand_noble_musketeers,3,163,
+sarfata,1,163,
+sano_(hospital_0434),1,163,hospital_0434
+ryou-ouki,4,163,ryo-ohki
+relena_peacecraft,4,163,
+relationshipping,0,163,
+rabbit_(wlsdnjs950),1,163,
+pinb,1,163,
+phantom_(happinesscharge_precure!),4,163,phantom_(precure)
+ooshima_tomo,1,163,oshima_tomo
+okazaki_yasuha,4,163,
+nijitama_shiyushiyu,1,163,tamatama_(nekokalpis)
+nanno_koto,1,163,
+nana_g,1,163,
+namihaya,1,163,son_(skvnmn0)
+naka_akira,1,163,
+nagatsuki_sanae,4,163,
+murano,1,163,
+mou_tama_maru,1,163,
+monchan_rev3,1,163,
+moeanime,1,163,
+mirino,1,163,
+mexican_standoff,0,163,
+metapod,4,163,
+matra_milan,1,163,
+mathew_(srmmk_mce),1,163,
+marui_shiro,1,163,"akemaru,marui_shiro_(ghha33)"
+mari_audio,1,163,
+malenia_goddess_of_rot,4,163,
+maekakekamen,1,163,
+lunatone,4,163,
+love_wing_bell,0,163,
+lock_cole,4,163,locke_cole
+lask,1,163,
+kurono_nekomaru,1,163,
+komajirou,4,163,komajiro
+kokubunji_suou,4,163,
+kobinbin,1,163,
+kirishima_romin,4,163,
+kendy_(revolocities),1,163,glasses_enthusiast
+kawakami_princess_(umamusume),4,163,
+karaginu_mo,0,163,
+kanoko_(pattern),0,163,
+kanna_hisashi,1,163,
+jinroku,1,163,"jinrock,jinrok"
+jeep,0,163,
+iris_(asteroid_ill),4,163,iris_(asuteroid)
+inkey,1,163,
+inaba_rinne,4,163,
+ieiri_shoko,4,163,
+ichijou_hikaru,4,163,ichijo_hikaru
+horns_pose,0,163,horn_pose
+honyang,1,163,
+hitori_bocchi,4,163,
+hifumi_kei,1,163,kai187
+hajime_(caramel_toone),1,163,hadime
+gun_case,0,163,
+godzillapigeon1,1,163,
+gibun_(sozoshu),1,163,
+geike,1,163,
+fubuki_(azur_lane),4,163,
+fishing_net,0,163,
+eye_symbol,0,163,
+expedition_uniform,0,163,
+ettone,1,163,
+eternal_sailor_moon,4,163,
+elf_(houtengeki),4,163,
+echizen_(n_fns17),1,163,
+dier_(girls'_frontline),4,163,"deele_(girls'_frontline),deele_(girls_frontline)"
+deirdre_(fire_emblem),4,163,diadora_(fire_emblem)
+dedue_molinaro,4,163,
+dango_(uni_520),1,163,dango_404
+comic_sans,0,163,
+colorado_(azur_lane),4,163,
+cis_(tiger_&_bunny),4,163,
+chunyan,1,163,
+chobi_(akchu),4,163,
+cherubi,4,163,
+cellphone_strap,0,163,
+camisole_over_clothes,0,163,
+borderless_panels,0,163,
+blood_trail,0,163,
+black_fundoshi,0,163,
+biohazard_symbol,0,163,biological_hazard_symbol
+bf._(sogogiching),1,163,
+battle_athletes,3,163,
+ayamisiro,1,163,
+austria_(hetalia),4,163,
+asakura_otome,4,163,
+artist_progress,0,163,progress
+armbinder,0,163,
+ark_kan,1,163,
+another_eidos-r,3,163,
+ameyu_(rapon),1,163,ameyu
+ame_usako,1,163,
+alecto_0,1,163,
+aks-74u,0,163,
+akebi_komichi,4,163,
+akasata,1,163,
+ai_yori_aoshi,3,163,
+adagaki_aki,4,163,
+258n,1,163,
+zun_(artist),1,162,oota_jun'ya
+zip_available,5,162,
+zetton,4,162,
+zaregoto_tsukai_no_deshi,1,162,tawagoto_dukai_no_deshi
+yuuki_hb,1,162,yuki_no_iori
+yayoi_(egoistic_realism),1,162,yayoi_(pixiv182527)
+yamakaze_kai_ni_(kancolle),4,162,
+yamai,1,162,
+yae_sakura_(flame_sakitama),4,162,
+wei_xiao,1,162,smile_(dcvu7884)
+watanabe_yasuaki,1,162,
+waku_(ayamix),1,162,
+usamata,1,162,
+ura_tomomi,1,162,uratomomin
+tweezers,0,162,
+tunapon01,1,162,
+tsuyomaru,1,162,
+transformers_(live_action),3,162,
+torn_vest,0,162,
+tokira_nozumi,1,162,
+theresa_(arknights),4,162,
+theodore_(persona),4,162,teodor_(persona)
+tenzin_(arknights),4,162,
+tennohi,1,162,
+tenbou,0,162,tenbo
+telnyashka,0,162,
+teekyuu,3,162,
+tachikoma,4,162,
+tachibana_yuu,1,162,tacchi_(pixiv)
+suisen-21,1,162,
+sugaishi,1,162,
+standing_double_penetration,0,162,
+spitting_blood,0,162,blood_spit
+sorano_(12gou),1,162,pinkarage
+sinzen,1,162,
+singing!_(k-on!),0,162,
+sinaooo,1,162,
+shuppet,4,162,
+shishiou_no_mofumofu,4,162,
+shino_(syllable),1,162,
+shibi,1,162,
+shiba_nanasei,1,162,namago
+sesshouin_kiara_(swimsuit_mooncancer)_(first_ascension),4,162,
+seinen,1,162,
+samidare_(hoshi),1,162,
+sakura_ayane,4,162,
+sagging_testicles,0,162,
+robo_(chrono_trigger),4,162,
+ribbon-trimmed_underwear,0,162,
+reed_(arknights),4,162,
+raitho,1,162,raitho104
+puru_(ex-150),1,162,
+princess_athena,4,162,
+oweee,1,162,
+otome_gee_sekai_wa_mob_ni_kibishii_sekai_desu,3,162,"mobseka,the_world_of_otome_games_is_tough_for_mobs,trapped_in_a_dating_sim:_the_world_of_otome_games_is_tough_for_mobs"
+oozora_itsuki,1,162,
+oosawara_sadao,1,162,
+ogami_ren,1,162,
+nori_senbei,1,162,
+nishizono_shinsuke,4,162,
+nishimura_kinu,1,162,
+nekoguchi,1,162,
+natori_(natorism),1,162,natorism
+naruse_ibara,4,162,
+nagasarete_airantou,3,162,
+my_little_pony_equestria_girls,3,162,
+mutsu_(snail),4,162,
+mutant,0,162,
+montpelier_(azur_lane),4,162,
+molyb,1,162,telru
+mocchisake,1,162,
+miwa_mitsune,4,162,
+minion_3_(zannen_onna-kanbu_black_general-san),4,162,
+minami_rena,4,162,
+mikel_(4hands),1,162,don_michael
+mia_(fai1510),1,162,
+matsuyuki_atsumu,4,162,
+mailman,0,162,"letter_carrier,mail_carrier,postman"
+mage_(disgaea),4,162,
+m4_sopmod_ii_jr,4,162,
+ladies_versus_butlers!,3,162,"ladies_versus_butlers,ladies_x_butlers,ladies_x_butlers!"
+kyoyakyo,1,162,
+kuzuvine,1,162,
+kusunoki_midori,4,162,
+kuromari_(runia),1,162,
+kurihara_kenshirou,1,162,
+kinjyou_(shashaki),4,162,
+kido_(choushouya),1,162,kido5899
+kamishiro_seren,4,162,
+kahlua_(artist),1,162,
+jitomi_monoe,4,162,
+jimsdaydreams,1,162,
+irene_(kanniiepan),4,162,
+inverted_colors,0,162,
+inre_kemomimi,1,162,
+innertube_with_ears,0,162,
+ilyana_(fire_emblem),4,162,
+ienaga_mugi,4,162,
+hoshizora_e_kakaru_hashi,3,162,a_bridge_to_the_starry_skies
+horn_(arknights),4,162,trumpet_(arknights)
+hoothoot,4,162,
+honchkrow,4,162,
+hitomin_(ksws7544),1,162,
+hisuian_typhlosion,4,162,
+hinata_hajime_(awakened),4,162,
+hara_tetsuo_(style),0,162,
+happy_tree_friends,3,162,
+hanagata,1,162,"hanakeda_(hanada_shiwo),rakugakiii"
+greater_roadrunner_(kemono_friends),4,162,
+goho_mafia!_kajita-kun,3,162,
+ginga_tetsudou_999,3,162,galaxy_express_999
+gauze,0,162,
+fuuka_(blue_archive),4,162,
+futatsuki_eru,1,162,
+futaba_suetsuki,1,162,suetsuki_nagomu
+furorina,1,162,
+fernandia_malvezzi,4,162,
+feather_dress,0,162,
+fateline_alpha,1,162,
+eris_(konosuba),4,162,
+erect_sawaru,1,162,erect_touch
+dora_v_nu,1,162,
+coyote_ragtime_show,3,162,
+cooling_pad,0,162,
+conte_di_cavour_nuovo_(kancolle),4,162,
+chirigami-san,1,162,chirigami_san
+blackrabbitsoul,1,162,
+bellsprout,4,162,
+ass_press,0,162,
+asclepius_(fate),4,162,
+aratama_(a-tama),1,162,
+aona_(anagasaki),1,162,aona_(kuuga19yuu)
+aloe_(kenkou3733),1,162,aloe_(artist)
+ale_(ale_halexxx),1,162,halexxx
+aiuti,1,162,aiuchi
+age_switch,0,162,age_swap
+yuuichi_(reductionblack),1,161,
+yunodon_(sugar_maple),1,161,yunodon0315
+yu-gi-oh!_the_dark_side_of_dimensions,3,161,
+young_zelda,4,161,
+youhei_64d,1,161,
+yoshida_nobuyoshi,1,161,
+xiaoshou_xiansheng,1,161,kote-sensei
+webcam,0,161,
+wanaca,1,161,
+uta_macross_sumaho_deculture,3,161,
+urameshi_yusuke,4,161,urameshi_yuusuke
+tusk_(stand),4,161,
+tropius,4,161,
+tomo-graphy,1,161,
+theamazingspino,1,161,
+teoshiguruma,1,161,
+tani_takeshi_(character),4,161,
+tangaroa_(housamo),4,161,
+takenashi_eri,1,161,
+tabe_koji,1,161,
+suzumori_521,1,161,
+suzuka_utako,4,161,
+st._hilde_academy_of_magic_uniform,0,161,
+spinning_top,0,161,
+space_adventure_cobra,3,161,
+soso_(chlgksk110),1,161,chlgksk110
+sophia_(granblue_fantasy),4,161,
+smelling_hair,0,161,
+slacks,0,161,
+shoukaku_kai_ni_(kancolle),4,161,
+shiranui_(nakiri_ayame),4,161,
+shimohira_reika,4,161,
+senzzang,1,161,
+selesia_upitiria,4,161,
+sega_dreamcast,0,161,dreamcast
+see-through_panties,0,161,sheer_panties
+scyther,4,161,
+sasaki_tatsuya,1,161,
+sangoku_infinity,3,161,
+rixia_mao,4,161,
+riddle_rosehearts,4,161,
+reiha_(penetrate),1,161,
+rei_(tdn_ng),1,161,
+rangycrow,1,161,
+pyonpyonmaru,1,161,
+project_bunny,4,161,
+production_kawaii,3,161,
+pickelhaube,0,161,
+pectoral_squeeze,0,161,
+okbnkn,1,161,
+no_smoking,0,161,
+nerotarou,1,161,
+nenosame,1,161,
+mugicha_(mugicha0929),1,161,mugicha0929
+motohara_moka,1,161,
+mosta_(lo1777789),1,161,
+mofu,1,161,
+miyazen,4,161,
+mitsurugi_tsurugi,1,161,
+mirai_denki,1,161,
+mazenda_(3378),1,161,
+matou_zouken,4,161,
+maruse_nisanosuke,1,161,
+mallizmora,1,161,
+m1918_bar,0,161,
+lycanroc_(midday),4,161,
+lvlv,1,161,
+love_train,0,161,
+licking_blade,0,161,"blade_licking,licking_knife"
+leria_v,1,161,
+lace-trimmed_ribbon,0,161,
+kusunoki_yukimura,4,161,
+kuroduki_(pieat),1,161,
+kurachi_mizuki,1,161,
+kotori_photobomb,0,161,
+kokoro_(hakui_koyori),4,161,
+king_crimson_(stand),4,161,
+kihaiu,1,161,
+kidnapped,0,161,
+kawai_rie,4,161,
+kanora,1,161,kabe_(ryuryuta)
+kaneshiya_sitara,4,161,
+kamiki_uutarou,1,161,
+kamen_rider_wizard,4,161,
+jet_yowatari,1,161,jet_(artist)
+insult,0,161,
+ikezawa_kazuma,4,161,
+ignatz_victor,4,161,
+ichigai_(hayawossan),1,161,
+houmatu_awa,1,161,awa_(3anco00)
+hisou_tensoku,4,161,
+hinata_masaki,1,161,
+gymnastics_ribbon,0,161,
+grimgrim,1,161,
+funnyari,1,161,"hawawani,hawawaninus"
+fuka_(hk_nemo),1,161,hukahire0313
+frederic_chopin,4,161,fr├®d├®ric_chopin
+folinic_(arknights),4,161,
+flyer,0,161,
+facebook,3,161,
+expectations/reality,0,161,
+esuyuki,1,161,
+ensemble_girls!,3,161,ensemble_girls
+egyptian_art,0,161,
+drie,1,161,
+dav-19,1,161,
+danmaku_comments,0,161,"bilibili_danmu,niconico_comments"
+dabadhi,1,161,
+chiyo_(ane_naru_mono),4,161,
+china,0,161,
+charging_device,0,161,
+broken_ground,0,161,
+breast_zipper,0,161,
+bidoof,4,161,
+basketball_jersey,0,161,
+barry_nah,1,161,
+ayano_yuu_(sonma_1426),1,161,yuki_(sonma_1426)
+atsumi_jun,1,161,
+arima_(arima_bn),1,161,
+arashiki_mamizu,1,161,mamizu
+animage,3,161,
+amatsukaze_(kancolle)_(cosplay),0,161,
+amairo_islenauts,3,161,
+akitsuki_(oenothera),1,161,oenothera
+yuuri_(saikin_yatotta_maid_ga_ayashii),4,160,
+yoo_(tabi_no_shiori),1,160,
+yami_(m31),1,160,
+yachima_tana,1,160,
+yachi_hitoka,4,160,
+wewe,1,160,
+wakku_kan,1,160,
+toudou_itsumi,4,160,
+torii_eriko,4,160,
+takei_ooki,1,160,takeiooki
+swirlix,4,160,
+suzumiya_akane,4,160,
+suzuki_nene,1,160,
+super_saiyan_3,0,160,
+suihi,1,160,
+sob_(submar1089),1,160,sobmarine
+snozaki,1,160,
+snake_tattoo,0,160,
+shylily,4,160,
+shouma_keito,1,160,
+shiomizu_(swat),1,160,
+shiokazunoko,1,160,
+shadowsinking,1,160,
+scott_malin,1,160,
+saya_(twrlare),4,160,
+sakimori_toji,4,160,"toji_(housamo),toji_(tokyo_houkago_summoners)"
+saboten_teishoku,1,160,
+ryou_(shirotsumesou),1,160,
+ruru_(gi_xxy),1,160,gi_xxy
+roido_(taniko-t-1218),1,160,
+rasis,4,160,
+progression,0,160,
+prinz_eugen_(cordial_cornflower)_(azur_lane),4,160,
+print_umbrella,0,160,
+priapus,3,160,
+poyoyo_(nakiri_ayame),4,160,
+power_rangers,3,160,
+poi_(last_origin),4,160,
+peace@pieces,3,160,
+pachinko,0,160,
+osechi,0,160,
+orange_(touhou),4,160,
+onigunsou,1,160,
+one_piece_film:_red,3,160,
+oldlim,1,160,tsugumi_(artist)
+oku_(okumen),1,160,
+okiru,1,160,
+nikola_tesla_(fate),4,160,nikola_tesla_(fate/grand_order)
+nephenee_(fire_emblem),4,160,
+nea_(chihuri),4,160,
+moe2015,0,160,
+mizuki_sei,1,160,
+miyashiro_ryuutarou,1,160,
+miru_(mill_36),1,160,
+mini-ikamusume,4,160,
+minagiku,1,160,
+midorikawa_hana,4,160,
+mg5_(girls'_frontline),4,160,mg5_(girls_frontline)
+mepikari,1,160,kehukoete
+matsumiya_kiseri,1,160,kiseri_momo
+man_face,0,160,
+majokko_(kancolle),4,160,majokko_(kantai_collection)
+majestic_prince,3,160,ginga_kikoutai_majestic_prince
+luna_(shadowverse),4,160,
+loundraw,1,160,
+lor_(roasyerizyonirapi),1,160,
+ling_yao,4,160,
+kurukuru_(sekai_seifuku),4,160,
+kuroi_suna,1,160,
+komekko,4,160,
+kokubunji_koyori,4,160,
+kiznaiver,3,160,
+kittew,1,160,daria_leonova
+kirome_(kamipaper),1,160,
+katami_shinta,1,160,kaneno_akia
+kanitama_(putyourhead),1,160,
+kamen_rider_vice,4,160,
+kamen_rider_ryuki,4,160,
+jl_tan,1,160,salieri09
+jet_engine,0,160,
+itsuka_shidou,4,160,
+hyouta_(yoneya),1,160,
+huniepop,3,160,hunie_pop
+hong_kong_(hetalia),4,160,
+hololive_gamers,0,160,
+holding_skewer,0,160,
+holding_flashlight,0,160,
+hitoyo_(baffu),4,160,
+hisuian_zoroark,4,160,
+hisuian_growlithe,4,160,
+hisakata_souji,1,160,
+hinata_mutsuki,1,160,
+hetareeji,1,160,defeateduser
+headlamp,0,160,
+hawe_king,1,160,seraphwia
+hanazono_shizuma,4,160,
+habatakuhituji,1,160,
+gundam_wing_endless_waltz,3,160,
+gouda_nagi,1,160,
+goinkyo,4,160,
+ganbare_ganbare_(itou_life),0,160,
+finn_the_human,4,160,
+entrance,0,160,
+emiya_kiritsugu_(assassin),4,160,
+eluthel,1,160,
+dromarch_(xenoblade),4,160,byakko_(xenoblade)
+drang_(granblue_fantasy),4,160,
+double_grinding,0,160,
+donquixote_doflamingo,4,160,
+deca_purio,1,160,
+deathalice,1,160,
+criminal_girls,3,160,
+construction,0,160,
+clouble,1,160,
+cherrypin,1,160,
+chabo_(fuketsudan),1,160,
+bunny_mask,0,160,rabbit_mask
+brooke_(mathias_leth),4,160,
+boro,1,160,
+bikini_bridge,0,160,
+azure-maya,1,160,
+aotori,1,160,
+anna_(sennen_sensou_aigis),4,160,
+amatori_chika,4,160,
+alto-00,1,160,
+akino_shin,1,160,
+agent_4_(splatoon),4,160,
+after_rain,0,160,
+admiral_shiro_(shino),4,160,
+yuu_(arcadia),1,159,"radu,yuu_(pixiv75084)"
+yuigahama_yui's_mother,4,159,
+yue_(shemika98425261),1,159,shemika98425261
+yama_raja_(elsword),4,159,
+xelloss,4,159,
+warabino_matsuri,1,159,
+wancho,1,159,
+vivid_bad_squad_(project_sekai),0,159,
+vistamp,0,159,
+unimon_e,1,159,katuo1129
+triple_wielding,0,159,triple_wield
+touka_gettan,3,159,kao_no_nai_tsuki_ii
+touhou_hisoutensoku,3,159,unthinkable_natural_law
+totoharu_(kujirai_minato),1,159,kuroshiroduet
+tonchan,1,159,
+tokimeki_memorial_4,3,159,
+the_king_of_fighters_all-stars,3,159,
+taiga_(ryukyu-6102-8),1,159,
+suzuya_(azur_lane),4,159,
+suzuki_hina,4,159,
+strider_(video_game),3,159,
+stan_marsh,4,159,
+sphinx,0,159,
+sora_no_iro_mizu_no_iro,3,159,soramizu
+smeargle,4,159,
+shoulder_massage,0,159,
+shirane_koitsu,1,159,syouji-fascism
+shintani_tsushiya,1,159,
+shinkuukan_(tetsuo3),1,159,
+shin_no_tenpii,1,159,sinnop10
+shameimaru_aya_(cosplay),0,159,
+sawa_(snack_yoshie),1,159,
+sauvignon,1,159,nana_(nana17112018)
+sasaki_haise,4,159,
+saotome_ako,4,159,
+sabujiroko,1,159,
+revolverwing,1,159,
+red_corset,0,159,
+recycle_bin,0,159,
+ray_(yakusoku_no_neverland),4,159,
+psd_(psdgai),1,159,
+projekt_red_(light_breeze)_(arknights),4,159,
+popotan,3,159,
+polka_dot_necktie,0,159,
+pinki_(shounenkakuseiya),1,159,
+pilokey,1,159,
+phoenix_wright:_ace_attorney_-_trials_and_tribulations,3,159,"ace_attorney_3,gyakuten_saiban_3"
+phantom_(arknights),4,159,
+pelipper,4,159,
+papino,1,159,
+ouse_(otussger),1,159,
+ouka_(ra-raradan),1,159,
+otosaka_yuu,4,159,
+osamada_meika,1,159,
+opposing_sides,0,159,final_fantasy_pose
+oiun,1,159,
+ochikazuki_ni_naritai_miyazen-san,3,159,miss_miyazen_would_love_to_get_closer_to_you
+noeru,1,159,
+nipple_biting,0,159,nipple_bite
+neko_sensha,1,159,hiiragi_yashiro
+mokorei,1,159,
+mochi_trail,0,159,
+mochacot,1,159,
+miyasaka_naco,1,159,"miyasaka_naka,miyasaka_nako"
+mitsuboshi_colors,3,159,
+mitarai_shouta,4,159,
+mitama_mudimudi,1,159,mudix2
+minamoto_no_raikou_(swimsuit_lancer)_(second_ascension)_(fate),4,159,
+megami_tensei,3,159,megaten
+manio,1,159,
+machine-doll_wa_kizutsukanai,3,159,"kikou_shoujo_wa_kizutsukanai,unbreakable_machine-doll"
+lysander_z,1,159,raisandaa_z
+leopard,0,159,
+leather_armor,0,159,
+lamia_loveless,4,159,
+kyou_(ningiou),1,159,
+kurusu_shou,4,159,
+kuroya_shinobu,1,159,
+komiyama_kotomi,4,159,
+komasawa_(fmn-ppp),1,159,
+kokonoka,1,159,
+kishida-shiki,1,159,
+kesuida,1,159,
+kawashiro_nitori_(cosplay),0,159,
+karan,1,159,
+kanda_yuu,4,159,
+kamen_rider_kabuto,4,159,
+january,0,159,
+isna_(footprintsofisna),1,159,
+irma,4,159,
+inou-battle_wa_nichijou-kei_no_naka_de,3,159,"inobato,inou_battle_wa_nichijou-kei_no_naka_de"
+imminent_paizuri,0,159,
+ico_(green_bullet),1,159,
+ibara_azuki,1,159,azk_ibr2nd
+hougu_souji,1,159,souji_hougu
+hiyajou_maho,4,159,
+head_between_thighs,0,159,
+hatozuki_tsumiki,1,159,
+hashiko_nowoto,1,159,
+grimm_(rwby),4,159,
+grey_camisole,0,159,
+gravity_daze_2,3,159,
+gradient_gloves,0,159,
+goth_risuto,1,159,
+goredolf_musik,4,159,goldorf_musik
+ginzake_(mizuumi),1,159,
+german_army,0,159,
+full_moon_wo_sagashite,3,159,"fmos,full_moon_o_sagashite"
+fly_agaric,0,159,
+floppy_disk,0,159,
+flamebringer_(arknights),4,159,
+felarya,3,159,
+fei_lio_mao,1,159,hirakuneko
+erechan,1,159,
+elsa_granhilte,4,159,
+el_shaddai,3,159,
+eclair_martinozzi,4,159,
+double_spoiler,3,159,
+dizzy_(feeling),0,159,
+cyawa,1,159,
+cuphead_(game),3,159,
+ciel_alencon,4,159,
+cheshirrr,1,159,
+cecil_damon,4,159,
+castlevania:_portrait_of_ruin,3,159,
+black_underwear,0,159,
+bengus,1,159,
+bat_ornament,0,159,
+bababababan,1,159,
+avicebron_(fate),4,159,
+astraea_(sora_no_otoshimono),4,159,
+arcade_sona,4,159,
+aqua_socks,0,159,aqua_kneehighs
+aoi_suzu,1,159,
+animal_between_breasts,0,159,
+amemiya_taiyou,4,159,
+akatoro_(nightlord),1,159,toro_(nightlord)
+after_fingering,0,159,
+a.hebmuller,1,159,
+404_logo_(girls'_frontline),0,159,404_logo_(girls_frontline)
+2drr,1,159,
+yuki18r,1,158,
+yu_ni_t,1,158,
+yoshida_hajime,1,158,
+white_album,3,158,
+wanko_(takohati8),1,158,
+uzuki_aki,1,158,uduki-shi
+ump45_(agent_lop_rabbit)_(girls'_frontline),4,158,
+uganda_(ugandam_00),1,158,
+uchiha_obito,4,158,
+two-tone_sweater,0,158,
+tougarashi_hideyu,1,158,
+tohsaka_rin_(cosplay),0,158,
+tina_(closers),4,158,
+tibbers,4,158,
+tenkuu_no_craft_fleet,3,158,
+tanishi_(tani4),1,158,
+tanigawa_yuzu,4,158,
+takase_asagiri,1,158,nuko_(phylactery)
+sutora_binsuke,1,158,
+suki!_yuki!_maji_magic_(vocaloid),3,158,
+striped_bike_shorts,0,158,striped_spats
+strike_witches_1940,3,158,
+stage_curtains,0,158,
+squeezing_testicles,0,158,ball_squeeze
+sohn_woohyoung,1,158,
+sisters_~natsu_no_saigo_no_hi~,3,158,
+shirosaba,1,158,
+sheriff_badge,0,158,
+serval,0,158,
+sen_no_kiseki_ii,3,158,"sen_no_kiseki_2,trails_of_cold_steel_ii"
+sebastian_michaelis,4,158,
+sasanomesi,1,158,
+sakurai_unan,1,158,
+sakakidani,1,158,
+run_p_(aveton),1,158,av_(artist)
+relaxjon,1,158,
+rebecca_chambers,4,158,
+quuni,1,158,
+quasarcake,1,158,
+pringles_can,0,158,
+pouncing,0,158,
+poncho_s,1,158,
+pomeranian_(dog),0,158,
+painpa,1,158,
+oza_watto,1,158,
+oyasu_(kinakoyamamori),1,158,oyasu
+onsokumaru,4,158,
+okuragon,1,158,dgrpak
+northern_ocean_princess_(cosplay),0,158,
+noixen,1,158,
+nogi_yasuhito,1,158,akanagi
+nenbuta,1,158,"amano_jack_(paradise_jack),amano_jaku_(kyabosean)"
+navel_insertion,0,158,
+nasaniliu,1,158,
+nanashiki_fuuka,1,158,
+mori_nagayoshi_(fate),4,158,
+minami_juujisei,1,158,
+mimelond,1,158,
+meguru_(cookie),4,158,
+matsumoto_noriyuki,1,158,kirindo
+manatsuki_manata,1,158,
+malcorond,1,158,marukorondo
+kumatora_tatsumi,1,158,
+kongou_(kancolle)_(cosplay),0,158,
+kobuushi,1,158,
+knight's_&_magic,3,158,
+knee_blush,0,158,
+kingdom_key,0,158,
+kataru_(ubw-emiya),1,158,
+kasa,1,158,
+kanbara_satomi,4,158,
+kamen_rider_hibiki,4,158,
+kagamine_rin_(roshin_yuukai/hard_rkmix),4,158,"kagamine_rin_(meltdown/hard_rkmix),kagamine_rin_(roshin_yukai/hard_rkmix)"
+kaeruyama_yoshitaka,1,158,
+jasdavi,1,158,
+iogi_(iogi_k),1,158,
+ichiroku_(sakumogu-029),1,158,ueno_(sakumogu-029)
+i-26_(azur_lane),4,158,
+huangdanlan,1,158,
+hood_(warship_girls_r),4,158,
+homeko,4,158,
+hiroshi_(hunter-of-kct),1,158,
+hazekura_mikitaka,4,158,
+hand_over_heart,0,158,hands_over_heart
+hanasaki_komugi,1,158,komugikomix
+gyaheung,1,158,
+grune,1,158,
+grenville_(azur_lane),4,158,
+geodude,4,158,
+frog_(chrono_trigger),4,158,kaeru_(chrono_trigger)
+foreplay,0,158,
+fire_hydrant,0,158,
+final_fantasy_crystal_chronicles,3,158,ffcc
+esther_shen,1,158,estherfanworld
+emerald_sustrai,4,158,
+duca_degli_abruzzi_(azur_lane),4,158,
+driftkingtw,1,158,
+dlanon,1,158,
+deidara_(naruto),4,158,
+danua_(summer)_(granblue_fantasy),4,158,
+croupier,0,158,
+chutohampa,1,158,
+chaos_(warhammer),0,158,
+carmilla_(swimsuit_rider)_(fate),4,158,
+cardigan_(arknights),4,158,
+capsule_corp,0,158,
+bugsy_(pokemon),4,158,tsukushi_(pokemon)
+brionne,4,158,
+breast_pump,0,158,
+bou,1,158,
+bone_necklace,0,158,
+barasui,1,158,
+azul_ashengrotto,4,158,
+azomo,1,158,avamone
+azhdaha_(genshin_impact),4,158,
+athrun1120,1,158,
+asakura_yume,4,158,
+apron_tug,0,158,
+anbe_masahiro,1,158,
+amog,1,158,
+amagaeru_(hylathewet),1,158,
+alluka_zoldyck,4,158,
+akisa_(12023648),1,158,
+agata_(agatha),1,158,
+acog,0,158,
+yuki_onna_(nurarihyon_no_mago),4,157,
+yazuki_gennojou,1,157,
+yandr4hope,1,157,
+willow,0,157,
+wedge_(tyrl_stride),1,157,
+wang_yujia,4,157,
+wamudraws,1,157,
+waisshu_(sougyokyuu),1,157,
+vayne_(league_of_legends),4,157,shauna_vayne
+uon_taraku,1,157,
+ugeppa,1,157,
+tsuruki_shizuka,4,157,
+treadmill,0,157,
+touching_ears,0,157,
+takanashi_yomi,4,157,
+takamura,1,157,
+supreme_(brand),0,157,
+star_guardian_soraka,4,157,
+splattershot_jr_(splatoon),0,157,
+spartan_(halo),0,157,
+shirogane_(cufsser),1,157,
+shia_flatpaddy,4,157,shia_(syroh)
+shamisen_(suzumiya_haruhi),4,157,
+seofon_(granblue_fantasy),4,157,siete
+scopedog,4,157,
+scene_(arknights),4,157,
+saruno_(eyesonly712),1,157,
+sanwari_(aruji_yume),1,157,"aruji_yume,sanwari_(saikounoitinitiwo)"
+runway,0,157,
+romana,1,157,
+rimukoro,1,157,
+ribbon_baton,0,157,
+princess_leia_organa_solo,4,157,"leia_organa,princess_leia"
+primary_stage,1,157,
+over_the_nose_gag,0,157,over_the_nose_gagged
+osora_(judithandlilith),1,157,ragau01
+ore_no_kanojo_to_osananajimi_ga_shuraba_sugiru,3,157,oreshura
+november,0,157,
+nomura_tetsuya,1,157,
+noble_academy_school_uniform,0,157,
+no_hands,0,157,
+no_anus,0,157,
+nemunemu_semi,1,157,sssemiii
+neko_danshaku,1,157,
+naho_(pi988y),1,157,
+mushihime-sama,3,157,"mushihime,mushihimesama"
+murata,1,157,
+munyuu,1,157,munyu
+muhi11234,1,157,(^_^)_(pixiv198858)
+mole_on_crotch,0,157,
+mokyutan,1,157,
+minasenagi,1,157,
+minagi_mikoto,4,157,
+mimasi_osuwari,1,157,
+mikisai,1,157,
+menstruation,0,157,
+melusine_(ibuki_notsu),4,157,
+marikawa_shizuka,4,157,
+malino_(dream_maker),1,157,
+m1_garand_(girls'_frontline),4,157,m1_garand_(girls_frontline)
+longlong_(drasdr7513),1,157,
+kuroe_shizuku_(cosplay),0,157,
+komachi_pochi,1,157,
+kokoro_connect,3,157,kokoroconnect
+kitsune-neko,1,157,
+kisasage_kouta,1,157,muyue_mitsudou
+kinugasa_yuuichi,1,157,
+kingdra,4,157,
+katsuragi_yako,4,157,
+katori_(quietude),1,157,
+karma_(nakiri_ayame),4,157,
+kaleido_ruby,4,157,
+kageyama_torako,4,157,
+jun_(princess_connect!),4,157,shirogane_jun
+jin_(xenoblade),4,157,shin_(xenoblade)
+infi,1,157,
+implied_incest,0,157,
+hyottoko_mask,0,157,
+hoshino_yuumi,4,157,
+hoshino_ichika_(project_sekai),4,157,
+hookah,0,157,
+hongbao,0,157,"angpao,lai_see,red_envelope"
+hodaka_natsumi,4,157,
+hitomi_o,1,157,hotumoyi
+hirota_(masasiv3),1,157,
+headwear_writing,0,157,
+haiiro_teien,3,157,"the_gray_garden,the_grey_garden"
+garana,1,157,
+fumafu,1,157,
+flannel,0,157,
+fenrir_(fenlil0316),1,157,
+feather-trimmed_jacket,0,157,
+fan_la_norne,4,157,"haze_(xenoblade_2),kasumi_(xenoblade_2)"
+elleciel.eud,1,157,eud_(systemblue)
+dusty_(gravity_daze),4,157,dusty_(gravity_rush)
+doukyo's,0,157,
+dom,4,157,
+danaka,1,157,
+daitoshokan_no_hitsujikai,3,157,a_good_librarian_like_a_good_shepherd
+caveman,0,157,
+brown_cat,0,157,
+brown-tinted_eyewear,0,157,
+borrowed_hairstyle,0,157,
+blacksmith,0,157,
+belly_poke,0,157,
+bakuretsu_tenshi,3,157,burst_angel
+bait_and_switch,0,157,
+asteion,4,157,
+ass_ripple,0,157,
+arsh_(thestarwish),1,157,
+alzano_school_uniform,0,157,
+acea4,1,157,
+abarai_renji,4,157,
+zhainan_s-jun,1,156,
+yodare_(3yami8),1,156,
+yo-class_submarine,4,156,
+yagiri_namie,4,156,
+wulazula,1,156,
+wolflong,1,156,langlong
+wadanohara,4,156,
+vivy,4,156,
+utane_uta,4,156,defoko
+ursaring,4,156,
+type_95_(summer_cicada)_(girls'_frontline),4,156,
+thumb_to_mouth,0,156,
+tepen_(tptptpn),1,156,tptptpn
+tawashi1623,1,156,
+tasmanian_devil_(kemono_friends),4,156,
+suzuhara_touji,4,156,
+suuru,1,156,
+super_sailor_jupiter,4,156,
+suiheisen_made_nan_mile?,3,156,"deep_blue_sky_&_pure_white_wings,deep_blue_sky_and_pure_white_wings,suiheisen_made_nan_mile,suiheisen_made_nanmairu,suiheisen_made_nanmairu?"
+suguri_(character),4,156,
+stingray,0,156,
+sodapop_(iemaki),1,156,
+small_lady_serenity,4,156,
+slave_tattoo,0,156,
+shirt_under_dress,0,156,
+seikai_no_senki,3,156,"banner_of_the_stars,seikainosenki,sekainosenki"
+sebas_murasaki,1,156,
+roll.exe_(mega_man),4,156,roll_exe
+ribbon-trimmed_bow,0,156,
+pondel,1,156,
+pidgeotto,4,156,
+peterhl,1,156,
+perrault_(last_origin),4,156,cs_perrault
+obstagoon,4,156,
+nishizono_chigusa,4,156,
+nishizawa_ayumu,4,156,
+nishimiya_shouko,4,156,
+ng_(kimjae737),1,156,kimjae737
+nasii,1,156,
+nanu_(pokemon),4,156,kuchinashi_(pokemon)
+nandaba_naota,4,156,
+namaru_(summer_dandy),1,156,
+moomintroll,4,156,
+momiji_oroshi,1,156,
+miwasiba,1,156,
+mister_(black_and_white),1,156,
+mgk968,1,156,
+mesprit,4,156,
+meipu_hm,1,156,
+mayuzumi_kai,4,156,
+martha_(swimsuit_ruler)_(second_ascension)_(fate),4,156,
+marivel_armitage,4,156,
+maple_tree,0,156,
+majamari,1,156,
+magical_mirai_miku_(2019),4,156,magimirai_miku_(2019)
+lucidsky,1,156,yume_ou
+lobelia_(saclia),1,156,
+lifeguard_chair,0,156,
+layla_(genshin_impact),4,156,
+kunisaki_yukito,4,156,
+kotoura_haruka,4,156,
+korok,4,156,
+komomo_(ptkrx),1,156,
+kokomi_(aniesuakkaman),1,156,hamuko-san
+koin_(foxmark),1,156,"foxmark,koin"
+kiramarukou,1,156,
+kimagure_blue,1,156,
+kikuri_(touhou),4,156,
+kibadori_rue,1,156,
+katsushika_pachi,1,156,
+kasamoto_eri,4,156,
+karin_(naruto),4,156,
+kamiya_zuzu,1,156,zuzu
+kagura_yuuki,1,156,
+judge,0,156,
+jiyuuyuu,1,156,
+isshiki_momo,4,156,
+in_orbit,0,156,orbit
+ichimura_kanata,1,156,
+hushabye,1,156,petite-emi
+hotaru_iori,1,156,
+holding_handcuffs,0,156,
+hinoe_(right-hnxx03),1,156,
+higashigure,1,156,
+hibiki_(blue_archive)_(cosplay),0,156,
+hero_(dq4),4,156,male_hero_(dq4)
+heart-shaped_mouth,0,156,
+harukatron,1,156,haruka_(kokuteizyo)
+hariyama_(toubou_tengoku),1,156,
+hand_under_shorts,0,156,hand_in_shorts
+gunpla_boy_(ishiyumi),4,156,
+gudon_(iukhzl),1,156,
+growth,0,156,
+gridman_(ssss),4,156,
+grape-kun,4,156,
+granblue_fantasy_versus,3,156,
+gotou_kenji,1,156,"gotou_juan,juan_gotoh"
+gonoike_biwa,1,156,"biwa_(kt),biwa_(pixiv_267543)"
+gesugesu_ahoaho,1,156,
+genmu_senki_leda,3,156,leda_the_fantastic_adventure_of_yohko
+garage,0,156,
+frillish,4,156,
+flying_boat,0,156,
+fenrir_(shingeki_no_bahamut),4,156,fenrir_(granblue_fantasy)
+ebira,1,156,dancing_youkai
+ebihara_naho,4,156,
+dustpan,0,156,
+dior-zi,1,156,
+date_masamune_(sengoku_basara),4,156,
+cocked_eyebrow,0,156,
+chihayafuru,3,156,
+broken_plate,0,156,
+bakusai,1,156,
+azumaya_hironaru,1,156,
+archer_(ragnarok_online),4,156,
+aosaki_yukina,1,156,
+aori_sora,1,156,
+anatomical_nonsense,0,156,
+ame_816,1,156,
+abukobato,1,156,
+zaku_ii_s_char_custom,4,155,
+yuusha_no_kuse_ni_namaiki_da,3,155,
+yuuki_kei,4,155,
+yuki_to_hana,1,155,
+ysk!,1,155,yskysk
+yoosai,1,155,hasai_(mekkan)
+yasuri_shichika,4,155,
+yasohachi_ryou,1,155,
+watakarashi,1,155,
+volkswagen,0,155,
+vikala_(blooming_summer_wallflower)_(granblue_fantasy),4,155,
+unohana_retsu,4,155,
+tuxedo_kamen,4,155,
+thomas_edison_(fate),4,155,thomas_edison_(fate/grand_order)
+the_silmarillion,3,155,silmarillion
+tenshinranman,3,155,
+team_galactic_uniform,0,155,
+talonflame,4,155,
+tales_of_rebirth,3,155,
+taihou_(muse)_(azur_lane),4,155,
+susuki_grass,0,155,
+sushi_(sashimise),1,155,
+sumia_(fire_emblem),4,155,
+sugo6969,1,155,
+spoon_straw,0,155,
+soviet_army,0,155,
+skywalker0610,1,155,
+skylader,1,155,
+sivir,4,155,
+sitting_on_tree_stump,0,155,
+sin_kiske,4,155,
+shousan_(hno3syo),1,155,
+shounen_jump,3,155,
+shantae_and_the_pirate's_curse,3,155,
+septet_(zrca_janne),1,155,
+sekiutsu_maria_tarou,4,155,sekiutsu_maria_taro
+scathach_skadi_(third_ascension)_(fate),4,155,
+saiku_(zvlku),1,155,
+saeki_nao,1,155,napa
+sadakage,1,155,
+ryuu_(breath_of_fire_v),4,155,ryu_v
+ringeko-chan,1,155,
+renata_alekseevna_tsvetaeva,4,155,
+raoh_(hokuto_no_ken),4,155,raou_(hokuto_no_ken)
+ponkan_8,1,155,ponkan_eight
+polka_dot_innertube,0,155,
+pokemon_battle,0,155,
+pochimaru_(marumaru_wanwan),1,155,
+pile,0,155,
+phonecard,0,155,
+pedophile,0,155,
+oomuro-ke,3,155,oomuroke
+omc,3,155,
+newhalf_with_female,0,155,female_with_newhalf
+neme,1,155,
+natsume_takashi,4,155,
+naruse_mamoru,1,155,
+mutsuki_riichi,1,155,ichigatsu_toshikazu
+murasaki_(senran_kagura),4,155,
+mukunokino_isshiki,1,155,colorful314
+moshihimechan,1,155,
+moonywitcher,1,155,
+momoi_azuki,4,155,
+mizusaki_tsubame,4,155,
+miyuki_rei,1,155,
+miyahara_takuya,1,155,
+milcho,1,155,
+michiru_(amphibian),1,155,
+mexif,1,155,mexifime
+meowstic_(female),4,155,
+maxa',1,155,
+matsubayashi_souta,4,155,
+matsu_(kancolle),4,155,matsu_(kantai_collection)
+masaki_tenchi,4,155,
+marx_(kirby),4,155,
+majin_gappa,4,155,
+m590_(girls'_frontline),4,155,m590_(girls_frontline)
+luozhu_(the_legend_of_luoxiaohei),4,155,
+lifting_covers,0,155,
+laundromat,0,155,
+l85,0,155,
+kylin,1,155,
+kuga_zankurou,1,155,
+komikado_sachi,4,155,
+kolin,4,155,
+kinoshita_sakura,1,155,
+kendou_itsuka,4,155,battle_fist_(boku_no_hero_academia)
+kazukoto,1,155,kazu-koto
+kazami_chiu,1,155,
+kari_(kakko_k),1,155,t-ihn
+kaneki_ichika,4,155,
+kakuno,1,155,
+kagetsu_tooya,3,155,kagetsu_tohya
+jesus,4,155,
+iuui,1,155,westking
+isu_(is88),1,155,
+iseki_(kuroshura_no_tabiji),1,155,
+isaac_foster,4,155,
+inubouzaki_fuu,4,155,
+ikezaki_misa,1,155,hitokui
+ian_chase,1,155,"delicious_orange,deliciousorange,ian_c,snow_puma"
+houjou_sophie,4,155,
+hopping,0,155,
+hioyami,1,155,
+hentaki,1,155,
+hedgehog_ears,0,155,
+hazakura_satsuki,1,155,
+haruhina_purple,1,155,afk09494457
+hamster_ears,0,155,
+hacka_doll_1,4,155,
+gyoju_(only_arme_nim),1,155,
+greed_(fma),4,155,
+gourgeist,4,155,
+gibson,0,155,
+genek,1,155,destroyer98
+fumizuki_(azur_lane),4,155,
+fudou_yukimitsu,4,155,
+fox_hair_ornament,0,155,
+firewood,0,155,
+finnish_flag,0,155,
+exploration,0,155,
+ever_17,3,155,ever17
+enarane,1,155,narane
+elfnein,4,155,
+dorayaki,0,155,
+darius_(league_of_legends),4,155,
+dainsleif_(genshin_impact),4,155,
+cinderella_series,3,155,
+bousouzoku,0,155,bosozoku
+binato_lulu,1,155,
+barioth_(armor),4,155,
+barbecue,0,155,
+azurill,4,155,
+ayra_(fire_emblem),4,155,aira_(fire_emblem)
+asahigaoka_school_uniform,0,155,
+aozora_nan,1,155,
+aomoro,1,155,
+andava,1,155,lilandy
+altronage,1,155,
+alice_(megami_tensei),4,155,
+akiba_monaka,1,155,moneko1107
+accessories,0,155,
+a.b.a,4,155,aba
+zinogre_(armor),4,154,
+yatomi,1,154,
+xkirara39x,1,154,
+white_wolf,0,154,
+ushio_kai_ni_(kancolle),4,154,
+unclasped,0,154,
+ume-sensei,4,154,
+u.a._cheerleader_uniform,0,154,
+toy_block,0,154,
+tooyama_rin,4,154,
+thomas_hewitt,1,154,
+tequila_(arknights),4,154,
+tatsunokosso,1,154,
+takashi_shirogane,4,154,
+takahashi_mugi,1,154,mugi_t
+swadloon,4,154,
+suzuki_ayane,4,154,"cineria,cyneria"
+super_robot_wars_og_saga_mugen_no_frontier_exceed,3,154,endless_frontier_exceed
+sunohara_mei,4,154,
+suikakitsu_shiro,1,154,
+striped_footwear,0,154,
+steyr_aug,0,154,
+spykeee,1,154,spykeee1945
+somehira_katsu,1,154,
+shoori_(migiha),1,154,
+shiny_and_normal,0,154,
+shinsengumi_(gintama),0,154,
+shin_koihime_musou,3,154,
+shadow_puppet,0,154,
+sextuplet_(osomatsu-kun),4,154,
+serra_(fire_emblem),4,154,
+senou_natsuru,4,154,
+sen_(sen0910),1,154,
+sawatari_riko,4,154,
+satsumi,1,154,
+sarong_removed,0,154,
+sabaton,0,154,
+sa-dui,1,154,
+ryuumonbuchi_touka,4,154,
+rudeus_greyrat,4,154,
+robot_girls_z,3,154,
+rin_(royal),1,154,
+repi,1,154,
+reiga_mieru,4,154,
+plate_stack,0,154,
+plastic_memories,3,154,
+pizza_(pizzania_company),1,154,pizza_(artist)
+pepper_shaker,0,154,
+pegashi,1,154,
+paper_mario:_the_thousand_year_door,3,154,
+oversized_zipper,0,154,
+ouga_saki,4,154,
+otome_function,3,154,
+orca_hair_ornament,0,154,
+ookami_ryousuke,1,154,sakimi_tama
+oden_(th-inaba),1,154,
+oda_nanami,4,154,
+object_in_swimsuit,0,154,
+nuclear_weapon,0,154,"atomic_bomb,nuclear_bomb,nuke"
+norazura,1,154,
+noki_(affabile),1,154,
+nohhun,1,154,nohhun144
+nasu_no_yoichi,4,154,
+nakamura_tetsuya,1,154,
+naginami,1,154,
+moti_coi,1,154,
+mm!,3,154,
+miyukiyo,1,154,
+miho_(mi),1,154,
+maeha,1,154,
+m1918_(girls'_frontline),4,154,"m1918_bar_(girls'_frontline),m1918_bar_(girls_frontline)"
+m-rs,1,154,
+lunar,3,154,
+lrk,1,154,
+lilaccu,1,154,
+lanturn,4,154,
+kuromu_(underporno),1,154,
+kure~pu,1,154,
+koya_(koya_x_00),1,154,
+kiriu,1,154,
+king_cobra_(kemono_friends),4,154,
+king,0,154,
+kim_dokja,4,154,
+kidachi,1,154,
+ken_(haresaku),1,154,
+kazumi_yoshiyuki,1,154,"kazumi_yosiyuki,matsumoto_drill_lab"
+kaya8,1,154,
+jiu_(sdesd3205),1,154,
+inaba_haneru_(animare),4,154,
+ikeda_chizuru,4,154,
+ichinose_hajime,4,154,
+i-chu,3,154,
+hydrant_(kasozama),1,154,toumeikousokudouro
+hoso-inu,4,154,
+horz,1,154,
+hokori_sakuni,1,154,
+hirokawa_kouichirou,1,154,hirokawa_hiroshi
+hinamori_(18ar0),1,154,
+highleg_dress,0,154,
+herozu_(xxhrd),1,154,
+here's_johnny!_(meme),0,154,here's_johnny!
+heiwa_(murasiho),1,154,
+hashiro,1,154,
+hansel_(granblue_fantasy),4,154,
+hand_on_own_foot,0,154,
+han-0v0,1,154,
+halu-ca,1,154,
+gurasion_(gurasion),1,154,
+gretel_(granblue_fantasy),4,154,
+gekkou_(geccomajin),1,154,
+furukawa_herzer,1,154,hettsuaa
+flou_(flou_art),1,154,
+female_footjob,0,154,
+f6,0,154,
+el_(girls_und_panzer),4,154,
+dugtrio,4,154,
+double_cheek_kiss,0,154,
+cum_on_back,0,154,
+boryeon_(last_origin),4,154,boryeon
+blood_on_chest,0,154,bloody_chest
+black_sister,4,154,
+b-pang,1,154,
+azumi_akitake,1,154,
+azen_(mntimcczgrtn),1,154,mntimccz
+applin,4,154,
+anpan,0,154,
+anchorage_(azur_lane),4,154,
+amphibia,3,154,
+yunar,1,153,
+yukke,1,153,
+yukizen,1,153,
+yueko_(jiayue_wu),1,153,jiayue_wu
+yoyokkun,1,153,
+yoshiwo,1,153,
+yomoyama_yotabanashi,1,153,4o080_yotabnc
+yokaze_japan,1,153,
+ymir_(queen's_blade),4,153,
+x_anus,0,153,
+wynn_the_wind_charmer,4,153,
+wrist_extended,0,153,
+wooden_staff,0,153,
+wendy_(wendy's),4,153,
+warehouse,0,153,
+wanke,1,153,
+wagashi928,1,153,
+vash_the_stampede,4,153,
+vaseraga,4,153,
+umemaro_(siona0908),1,153,
+tyoko_tanuki16,1,153,
+tsumetai_(tsurunoka),1,153,tsurunoka
+tsube_aika,4,153,
+toono_mizuki,4,153,tohno_mizuki
+test_tube_rack,0,153,
+team_yell,0,153,
+taishou_yakyuu_musume,3,153,
+t-pose,0,153,
+suzuki_(company),0,153,
+suppository,0,153,
+suesan,1,153,
+stepping_stones,0,153,
+steamroller,0,153,road_roller
+stealth_fellatio,0,153,hidden_fellatio
+starkamisan,1,153,
+spiked_dildo,0,153,studded_dildo
+sora_(sky_s04),1,153,
+smallfry_(splatoon),4,153,
+sin_(sin52y),1,153,
+simon_belmont,4,153,
+shovelwell,1,153,
+shion_(tensei_shitara_slime_datta_ken),4,153,
+sewer_grate,0,153,
+sewaddle,4,153,
+sengo_muramasa_(touken_ranbu),4,153,
+seizon_honnou_valkyria_(idolmaster),0,153,seizon_honnou_valkyria
+scarf_on_head,0,153,
+saliva_swap,0,153,
+saaya_(suisei_no_gargantia),4,153,
+rururiaru,1,153,
+red_(girllove),1,153,
+red:_pride_of_eden,3,153,pride_of_eden
+push-button,0,153,"momentary_switch,pushbutton"
+poochyena,4,153,
+plug_(piercing),0,153,
+pig_girl,0,153,
+orange_hair_ornament,0,153,
+netoge_no_yome_wa_onna_no_ko_janai_to_omotta?,3,153,and_you_thought_there_is_never_a_girl_online?
+nekomu,1,153,
+neko_ni_chikyuu,1,153,
+neko-san_(dim.dream),1,153,
+namazu,4,153,
+my700,1,153,"diddms1999,mymya"
+mutsuki_face,0,153,
+mr._mime,4,153,"mister_mime,mr_mime"
+mishiro_(ixtlolton),1,153,mishiro0229
+matsuki_(mikipingpong),1,153,
+matsubara_yuuna,4,153,
+masaki_(msk064),1,153,
+masaharu,1,153,
+marona_(phantom_brave),4,153,
+magical_mirai_miku_(2018),4,153,magimirai_miku_(2018)
+luminous_arc,3,153,
+last_exile:_gin'yoku_no_fam,3,153,"last_exile:_fam,_the_silver_wing,last_exile:_fam_the_silver_wing,last_exile:_ginyoku_no_fam"
+kyubey_(cosplay),0,153,
+kuzumiya_yuyu,1,153,
+kuse_(0201),1,153,sog-igeobughae
+kurofood,1,153,
+kobeya_(tonari_no_kobeya),1,153,
+kizami_nori_to_yamaimo,1,153,
+kazekawa_nagi,1,153,
+kauto,1,153,
+katakana,0,153,
+kashimoto_riko,4,153,
+karate,0,153,
+kanagawa_okinami_ura,3,153,"kanagawa_oki_nami_ura,the_great_wave_off_kanagawa"
+jellcaps,1,153,dejaguar
+jamadhar,0,153,katar
+jagdpanzer_38(t),0,153,
+it_(stephen_king),3,153,
+isaki_tanaka,1,153,
+irisu_shoukougun!,3,153,irisu_syndrome
+invisible_floor,0,153,
+hyakuya_yuuichirou,4,153,
+hoshihuri,1,153,
+horn_flower,0,153,
+hiroyama_hiroshi,1,153,kalmia
+high-cut_armor,0,153,
+herio,1,153,heriwo_(haraheridou)
+haori_himo,0,153,
+hanasato_minori,4,153,
+hanako151,1,153,
+hakkasame,1,153,
+h'aanit_(octopath_traveler),4,153,
+golgi_hon,1,153,
+gmgt_(gggggg3),1,153,
+gino,1,153,
+funyariko,1,153,
+fumizuki_kai_ni_(kancolle),4,153,
+fouriasensei,1,153,foria_sensei
+fortnite,3,153,
+eria_(yu-gi-oh!),4,153,
+dress_grab,0,153,
+dragon_quest_i,3,153,dragon_quest_1
+double_breast_sucking,0,153,
+devilukez,1,153,nack_star
+dancing_stars_on_me!,0,153,
+cornet_espoir,4,153,
+common_vampire_bat_(kemono_friends),4,153,
+chou-10cm-hou-chan_(suzutsuki's),4,153,
+cherry_in_the_sun,1,153,cherryinthesun
+chariko,1,153,
+bison_(arknights),4,153,
+ayase-mio,1,153,
+asahina_mitsuru,4,153,
+arcane_caitlyn,4,153,
+anna_nishikinomiya,4,153,
+american_football_(object),0,153,football_(object)_(american)
+amakusa_(hidorozoa),1,153,
+amahane_madoka,4,153,
+alipheese_fateburn_xvi,4,153,"alice_(mon-musu_quest!),alisfieze_fateburn_xvi"
+akikawa_yayoi_(umamusume),4,153,akikawa_yayoi
+akari_(princess_connect!),4,153,kazemiya_akari
+akai_shuuichi,4,153,
+zefrableu,1,152,
+yuzu_modoki,1,152,
+yutsuka_(amyucca),1,152,
+yotsunoha,3,152,
+yashiro_(kancolle),4,152,yashiro_(kantai_collection)
+yamato_iori,4,152,
+xox_xxxxxx,1,152,kiyu_mashi
+wspread,1,152,
+woobat,4,152,
+wolf_o'donnell,4,152,
+winged_unicorn,0,152,alicorn
+vaan,4,152,
+unryuu_kai_(kancolle),4,152,
+tympole,4,152,
+tsuchiya_ako,4,152,
+touyama_nao,4,152,
+totenkopf,0,152,
+throwing_poke_ball,0,152,
+tayuya_(naruto),4,152,
+tanaka_yuuichi,1,152,
+tamakaga,1,152,
+taku1122,1,152,
+tachibana_omina,1,152,
+sumaga,3,152,
+sugimoto_gang,1,152,
+striped_leotard,0,152,
+splatter_background,0,152,
+sooru0720,1,152,
+snuffy_(vtuber),4,152,
+skyrick9413,1,152,
+shuri_yasuyuki,1,152,yasuyuki_syuri
+shouryuuken,0,152,shoryuken
+shikishima_mirei,4,152,
+sawa_jaaji,1,152,
+satou_samu,1,152,hebata
+samejima_mamimi,4,152,
+roux_louka,4,152,
+rafaelaaa,1,152,
+quistis_trepe,4,152,
+puchiko,4,152,petit_charat
+post_and_rail_fence,0,152,
+plaid_socks,0,152,
+pink_buruma,0,152,
+pimp,0,152,
+pieck_finger,4,152,
+p-chan_(p-90),0,152,
+orchis,4,152,
+oniyama831,1,152,
+okunin,1,152,
+ocha_(ochappie),1,152,
+nude_modeling,0,152,nude_model
+nogoodlife,1,152,
+ninoude_(ninoude44),1,152,
+morifumi,1,152,
+monster_hunter_4,3,152,
+mk23_(girls'_frontline),4,152,mk23_(girls_frontline)
+mini_santa_hat,0,152,tiny_santa_hat
+microphone_wand,0,152,
+michimaru_(michi),1,152,shihakuroro
+male_priest_(dungeon_and_fighter),4,152,
+male_harem,0,152,"harem_(male),reverse_harem"
+lungmen_dollar,0,152,
+little_princess,3,152,
+lace-up_top,0,152,
+kurono,1,152,
+kureaki_(exit),1,152,motyo1964
+krizalid,4,152,
+kiryu_coco_(dragon),4,152,kiryuu_coco_(dragon)
+kinsenka,1,152,
+kinom_(sculpturesky),1,152,sanka_tan
+kfp,0,152,
+kapura,1,152,
+kaito_(vocaloid3),4,152,
+kaidou_j1,1,152,kaikodou_kana
+kaela_kovalskia,4,152,
+jungle_gym,0,152,
+jq,1,152,
+iron_tager,4,152,
+inukai_isuke,4,152,
+inui_sanagi,1,152,
+illumi_zoldyck,4,152,
+ikemura_hiroichi,1,152,
+hope_estheim,4,152,
+hooreng,1,152,
+hime_(kaibutsu_oujo),4,152,lilianne
+herensuge_girls_academy_school_uniform,0,152,
+heigani,1,152,"benjomochi,makaiko"
+heco_(mama),1,152,
+hasegawa_kodaka,4,152,
+hare_hare_yukai,0,152,
+hane_(azelye),1,152,azelye
+hachiroku_(maitetsu),4,152,
+grey_sweater_vest,0,152,
+gold_bar,0,152,"gold_bars,gold_brick,gold_bullion,gold_ingot"
+gimmy,4,152,
+giant_otter_(kemono_friends)_(kuro_(kurojill)),4,152,
+gamecube,0,152,
+fortune_(last_origin),4,152,
+flour,0,152,
+firelight_ekko,4,152,arcane_ekko
+fire_flower,0,152,
+finland_(hetalia),4,152,
+ereraero,1,152,
+enuni,1,152,
+dream_hunter_rem,3,152,
+dragonmaterial,1,152,
+dougan_calpis_con,1,152,
+dokugamine_riruka,4,152,
+diving_helmet,0,152,
+demekyon,1,152,
+delutaya,4,152,
+cosmos_(flower),0,152,
+code:_empress_(elsword),4,152,
+clefable,4,152,
+cigarette_holder,0,152,
+choudenji_robo_combattler_v,3,152,combattler_v
+chikichi,1,152,tixiti_mayo
+cheshire_(summery_date!)_(azur_lane),4,152,
+buna_shimeji_(keymush),1,152,
+briar_rose_(sinoalice),4,152,sleeping_beauty_(sinoalice)
+bra_on_head,0,152,
+bouen,1,152,
+blackmail,0,152,
+bikko,4,152,
+bba1985,1,152,
+bad_drawcrowd_id,5,152,
+avatar_2.0_project,3,152,
+arashiya,1,152,
+angelic_angel,0,152,
+anew_returner,4,152,
+akagi_(warship_girls_r),4,152,
+aircraft_catapult,0,152,
+zuo_wei_er,1,151,
+z3_max_schultz_(kancolle)_(cosplay),0,151,
+yuuki_shuri,1,151,yu-kinouhasu
+yukkuri_abuse,0,151,
+yamadori_yoshitomo,1,151,
+yamada_hifumi,4,151,
+yaekaidou,1,151,yaosan233
+xero,1,151,
+whoopsatro,1,151,
+warainaku,1,151,
+warabi_mochi_(ehimedaisuki),1,151,
+wakiyama_tamami,4,151,
+vierzeck,1,151,
+uka-no-mitama-no-kami_(inakon),4,151,"uka-no-mitama-no-kami_(inari),uka_(inakon),uka_(inari)"
+towa_monaka,4,151,
+toushinden,3,151,"battle_arena_toshinden,toshinden"
+toudou_naoya,4,151,
+toudou_aoi_(jujutsu_kaisen),4,151,
+tohoho_(hoshinoyami),1,151,
+title_page,0,151,
+teaspoon,0,151,
+team_yell_grunt,4,151,
+tamandua_ears,0,151,
+suruga_dbh,1,151,
+sunagimo_(nagimo),1,151,
+string_of_light_bulbs,0,151,
+skull573,1,151,
+shinano_(dreams_of_the_hazy_moon)_(azur_lane),4,151,shinano_(light_of_the_hazy_moon)_(azur_lane)
+sheva_alomar,4,151,
+sherlock_holmes,4,151,
+sencha_(senchat),1,151,senchat
+seishou_middle_school_uniform,0,151,
+school_nurse,0,151,
+sara_(kurome1127),1,151,
+ruquia,4,151,
+rosenkreuzstilette,3,151,
+rokurou_rangetsu,4,151,
+rinarisa,1,151,
+registeel,4,151,
+raythalosm,1,151,
+rathalos,4,151,
+raditz,4,151,
+queen_of_hearts_(alice_in_wonderland),4,151,"queen_of_hearts,queen_of_hearts_(wonderland)"
+q-gaku,1,151,
+purple_outline,0,151,
+project_x_zone,3,151,
+pretty-purin720,1,151,
+pokemon_the_movie:_the_power_of_us,3,151,pokemon_m21
+playing_with_hair,0,151,
+platform,0,151,
+pink_headband,0,151,
+pile_of_skulls,0,151,skull_pile
+peg_leg,0,151,pegleg
+pardofelis_(honkai_impact),4,151,
+osaragi_hazumu,4,151,
+orange_peel,0,151,
+orange_eyeshadow,0,151,
+opal_(pokemon),4,151,poplar_(pokemon)
+onigiri_(ginseitou),1,151,
+okpriko,1,151,
+nyanko,4,151,
+nuda,1,151,
+noriuma,1,151,"kisw2010,rin2010"
+no_scar,0,151,
+nixeu,1,151,
+musume_(yuunama),4,151,musume
+mushroom_on_head,0,151,
+moritan,1,151,
+monokubo,1,151,arizuka_(13033303)
+mizuki_ryuu,1,151,
+miyako_(blue_archive),4,151,
+miiko_(drops7),1,151,
+miakis_(gensou_suikoden),4,151,
+mebaru,1,151,
+matsuri_(matsuike),1,151,
+master_chief,4,151,
+lufi_ays,1,151,gumihiko
+love_live!_sunshine!!_the_school_idol_movie_over_the_rainbow,3,151,
+kws,1,151,
+kurou_(bcrow),1,151,
+kurokin,1,151,
+kumonji_aruto,1,151,altria9
+kumasteam,1,151,
+kumano_(azur_lane),4,151,
+kudo_shinobu,4,151,kudou_shinobu
+kubo_tite_(style),0,151,kubo_taito_(style)
+koi_to_senkyo_to_chocolate,3,151,love_election_and_chocolate
+kirisaki_akihito,1,151,
+ken-1,1,151,
+kawaruhi,1,151,
+kangoku_senkan,3,151,
+kamen_rider_den-o,4,151,
+joseph_lee,1,151,
+jont,1,151,
+igrene_(fire_emblem),4,151,
+himetsuki_luna,1,151,
+hibimegane,1,151,
+helena_blavatsky_(swimsuit_archer)_(third_ascension)_(fate),4,151,
+haura_akitoshi,1,151,
+hane_(hanetsuki),0,151,
+hands_on_penis,0,151,
+hanabana_tsubomi,1,151,hanabana_(notenotenote)
+gwayo,1,151,
+glasses_day,0,151,
+getting_over_it,3,151,
+geomancer_(fft),4,151,
+genso,1,151,
+game_boy_advance,0,151,gameboy_advance
+gaki_kyonyuu,3,151,
+fuuka_academy_uniform,0,151,
+fushimi_gaku,4,151,
+fukase,4,151,
+fruit_tart,0,151,
+flyable_heart,3,151,
+finger_gun_to_head,0,151,
+fabric,0,151,
+ex_albio,4,151,
+erotibot,1,151,
+enpitsu01,1,151,
+emma_millstein,4,151,
+dismemberment,0,151,
+crosscounter,0,151,
+cradle_(artist),1,151,
+counting,0,151,
+coughing_blood,0,151,
+conveyor_belt,0,151,
+cofepig,1,151,
+christophe_giacometti,4,151,
+chopping,0,151,
+chloe_(school_festival)_(princess_connect!),4,151,
+chise_(swimsuit)_(blue_archive),4,151,
+charlotte_aulin,4,151,
+cefca_palazzo,4,151,kefka_palazzo
+candle_wax,0,151,
+campo_flicker_(kemono_friends),4,151,
+butakoma_300g,1,151,
+broken_condom,0,151,
+blonde_dog_girl_(ri-net),4,151,rinechun's_blonde_dog_girl
+berserkert,1,151,
+benjamin_kirby_tennyson,4,151,
+batter,0,151,
+batta_(kanzume_quality),1,151,
+ayanokouji_rem,4,151,
+ayano_naoto,1,151,
+ayano_(ayn398),1,151,@asn398
+aug_(girls'_frontline),4,151,aug_(girls_frontline)
+asuna_(stacia),4,151,
+astra_militarum,4,151,imperial_guard
+asicah,1,151,jakoujika
+asagiri_youko,4,151,
+ao_(flowerclasse),1,151,
+andreana_(arknights),4,151,
+amana_(pocketkey),1,151,
+alucard_(castlevania),4,151,
+albino_(a1b1n0623),1,151,
+adelbert_steiner,4,151,
+yuzuki_himuka,1,150,himuka_(523)
+yuzuki_(yuduame),1,150,yuzuki_(artist)
+yuki_maru_(yukimaru_1),1,150,
+yufukiri,1,150,
+yoshiki360,1,150,
+yoriteruru,1,150,
+yatsuka_(846),1,150,
+yashiro_kizuku,4,150,
+yanmarson,1,150,
+william_shakespeare_(fate),4,150,
+waver_velvet_(sensha_otoko),4,150,
+urara_(sumairuclover),1,150,
+totoro_bus_stop,0,150,
+totaku_(musha_prune),1,150,tozawa
+tohno_shiki_(2),4,150,toono_shiki_(2)
+thumb_in_pocket,0,150,
+the_caves_of_steel,3,150,
+tewarusa,1,150,
+team_flare,0,150,
+tamada_heijun,1,150,
+tamachi_kuwa,1,150,
+taker_(flamestorm),1,150,
+suzumori_uina,1,150,
+sutoroa,1,150,
+surge_concerto,3,150,
+suraimu_(suraimuraimu),1,150,nekoneko_jun2_123
+sun-d,4,150,
+stuffed_pig,0,150,
+splatoon_(manga),3,150,
+souzou_forest_(vocaloid),3,150,
+soubi,1,150,
+so-class_submarine,4,150,
+shinto,0,150,
+shika_miso,1,150,
+shears,0,150,
+shared_thought_bubble,0,150,
+shadow_chaser_(ragnarok_online),4,150,
+sasaki_(suzumiya_haruhi),4,150,
+sai_(weapon),0,150,
+saber_lion,4,150,
+ryota_tentei,1,150,
+rorobomb,1,150,
+rizu_(rizunm),1,150,
+riddle_joker,3,150,
+red_outline,0,150,
+raybar,1,150,
+qubeley,4,150,
+phase_connect,3,150,
+pestle,0,150,
+perfect_cell,4,150,
+panties_around_one_ankle,0,150,
+otoshiro_seira,4,150,
+orange_tail,0,150,
+open_cloak,0,150,
+ookamiuo,1,150,
+nina_williams,4,150,
+nightclub,0,150,
+naba_(take_tonbo),1,150,
+moura_(kenyuugetu),1,150,
+moroboshi_ataru,4,150,
+monk_(ragnarok_online),4,150,
+mof,1,150,
+miyano_ururu,1,150,
+milkshake,0,150,
+mikeco,1,150,
+mikami_komata,1,150,
+metal_owl_(aden12),1,150,
+medic_(sekaiju),4,150,
+mauko_(girls_und_panzer),4,150,
+masirosu,1,150,
+maku-raku,1,150,
+majo_no_ie,3,150,the_witch's_house
+maho_(yakimorokoshi),1,150,
+lyra-kotto,1,150,
+kuwabara_kazuma,4,150,
+kujibiki_unbalance,3,150,kujian
+kriegsmarine,0,150,
+komatsu_ibuki,4,150,
+kirisu_mafuyu,4,150,
+kirikan,1,150,
+kirasaka_sayaka,4,150,
+kashiwa_mochi_(food),0,150,
+k_jin,1,150,
+jumpsuit_around_waist,0,150,
+iuro,1,150,
+ijiro_suika,1,150,
+holding_legwear,0,150,
+holding_carrot,0,150,
+hirase_yuu,1,150,
+hiide,1,150,
+healthyman,1,150,kento0131
+hatachi,1,150,
+haru_(kyou),1,150,
+hanazono_yurine,4,150,
+hamachamu,1,150,
+half_slime-chan,4,150,
+hacko,1,150,
+gunsmith_cats,3,150,
+grovyle,4,150,
+grey_sports_bra,0,150,
+grey_lips,0,150,grey_lipstick
+geronimo_(fate),4,150,geronimo_(fate/grand_order)
+gensou_suikoden_iv,3,150,suikoden_iv
+fujiwara_warawara,1,150,
+fishbowl_helmet,0,150,
+female_abyssal_admiral_(kancolle),4,150,female_abyssal_admiral_(kantai_collection)
+est_(fire_emblem),4,150,
+ero_waifu,1,150,
+eeeeee,1,150,
+eavesdropping,0,150,
+dragon_claw,0,150,
+double_middle_finger,0,150,
+daidou_sayo,4,150,
+cum_in_throat,0,150,
+cross_(weapon),0,150,
+crescent_choker,0,150,
+clair_vaux_bernardus,4,150,claire_bernardus
+chosen_undead,4,150,
+chocolate_on_hand,0,150,chocolate_on_fingers
+chiyoko_(oman1229),1,150,
+cheken,1,150,
+championship_belt,0,150,
+chaigidhiell,1,150,doombringer
+c.honey,1,150,choney
+business_card,0,150,
+blue_screen_of_death,0,150,"bluescreen,bsod"
+blackbuck_(kemono_friends),4,150,
+bird_nest,0,150,
+beelzebub_(manga),3,150,
+becky_blackbell,4,150,
+bead_anklet,0,150,
+battle_effectiveness_award,0,150,
+batou,4,150,
+autumn-sacura,1,150,"autumnsacura,sasha_gladysh"
+aru_ra_une,1,150,
+antaria,1,150,
+alex_(alexandoria),1,150,
+akiha_(attract),1,150,
+ajifurai,1,150,
+2010_fifa_world_cup,3,150,
+zoza,1,149,
+zipang_(zip@ng_works),1,149,
+yukari_(rihenara_doll),1,149,
+yue_(tada_no_saboten),1,149,
+yotsuyu_goe_brutus,4,149,yotsuyu_(ff14)
+yosaku_(roach),1,149,
+xilmo,1,149,
+wooden_bridge,0,149,
+wood_carving_tool,0,149,
+white_tunic,0,149,
+whale_shark,0,149,whaleshark
+weather_vane,0,149,
+wakui_rumi,4,149,
+wagashi_(dagashiya),1,149,wakako_(wagasiorhugasi)
+venomrobo,1,149,
+ulquiorra_cifer,4,149,"ulquiorra,ulquiorra_schiffer"
+ub1mo,1,149,"c-potato,un_(satoshi0301)"
+u_rin,1,149,
+tsukasa_yuuki,1,149,
+tsuka,1,149,
+toru_nagase,1,149,
+to_heart_2_xrated,3,149,
+teresa_(claymore),4,149,
+temu,1,149,
+tasmanian_devil_tail,0,149,
+taro_(ultrataro),1,149,
+takanae_kyourin,1,149,takanae_keirei
+taishakuten_(onmyoji),4,149,
+suzuharu_toufu,1,149,
+sura_(ragnarok_online),4,149,shura_(ragnarok_online)
+substitute_(pokemon),0,149,
+souryuu_(azur_lane),4,149,
+shouni_(sato3),1,149,
+shiromanta_(character),4,149,
+shirihime,1,149,
+shelly_(pokemon),4,149,izumi_(pokemon)
+shedinja,4,149,
+shared_drink,0,149,
+setu_kurokawa,1,149,
+setsuna_(fire_emblem),4,149,setsuna_(fire_emblem_if)
+segment_display,0,149,
+sawkm,1,149,
+satomachi,1,149,
+salanchu,1,149,
+sakra_devanam_(elsword),4,149,
+ryekie_(live_a_hero),4,149,
+richelieu_(warship_girls_r),4,149,
+regice,4,149,
+reflect_(gawr_gura),0,149,
+red_cucumber,1,149,
+rangen,1,149,
+quinella,4,149,administrator_(sao)
+punishment,0,149,
+pon_(shind_997),1,149,
+pon_(ponidrop),1,149,
+polka_dot_umbrella,0,149,
+pink_robe,0,149,
+onodera_karen,4,149,
+ohara_tometa,1,149,
+occult_ball,0,149,
+note2000,1,149,
+nogizaka_haruka,4,149,
+nobile1031,1,149,
+niles_(fire_emblem),4,149,zero_(fire_emblem_if)
+niku-name,1,149,pixad
+neki-t,1,149,
+natsu_hotaru,1,149,
+nanami_sano,1,149,tiny_little_feather
+nagimiso,1,149,
+na!_(na'mr),1,149,nanashiwan
+muchourin,0,149,
+mizuki_gyokuran,1,149,
+minami_aomori,1,149,
+mayl_sakurai_(mega_man),4,149,sakurai_meiru
+matsukawa_(pale_scarlet),1,149,matsugawa
+mary_skelter,3,149,
+marth_(fire_emblem_awakening),4,149,marth_(fire_emblem:_kakusei)
+marinette_dupain-cheng,4,149,marinette_cheng
+margaretha_sorin,4,149,margaretha_solin
+malik_caesars,4,149,
+makiaato,1,149,
+maison_ikkoku,3,149,
+maiden_in_black,4,149,
+mahou_shoujo_lyrical_nanoha_a's_portable:_the_gears_of_destiny,3,149,
+maga-g,4,149,
+madarame_harunobu,4,149,
+macross_plus,3,149,
+m.tokotsu,1,149,mr.doukotsu
+lycanroc_(dusk),4,149,
+linde_(fire_emblem),4,149,linda_(fire_emblem)
+leather_skirt,0,149,
+landolt_tamaki,1,149,
+kurogane_no_linebarrel,3,149,"kurogane_no_linebarrels,linebarrels_of_iron"
+kriemhild_gretchen,4,149,
+konnyaku_(food),0,149,
+knifedragon,1,149,telsonkk
+klein_(sao),4,149,
+kawasemi27,1,149,
+karokuchitose,1,149,
+karigurashi_no_arrietty,3,149,the_secret_world_of_arrietty
+kani_fish,1,149,"ak4ci,aka--chi"
+jing_hu,1,149,
+j.h.,1,149,goridou
+izuka_daisuke,1,149,
+itasha,0,149,
+inflatable_shark,0,149,
+inaeda_kei,1,149,
+ikuchan_kaoru_(character),4,149,
+iihara_nao,4,149,
+ichibi,1,149,
+hut,0,149,
+hawawa-chan_(shiro_kuma_shake),4,149,
+hamster_girl,0,149,
+hamamoto_ryuusuke,1,149,
+half_moon,0,149,
+gujira,1,149,
+fuuki_(te_fuukin),1,149,
+fushitasu,1,149,
+fujiya_takao,1,149,nasubi_(w.c.s)
+eric_(tianqijiang),1,149,
+entry_plug,0,149,
+endsmall_min,1,149,
+edogawa_roman,1,149,
+diamond_earrings,0,149,
+des,1,149,
+dark_angel_olivia,4,149,
+ciri,4,149,
+chris_(mario),1,149,
+choukai_(azur_lane),4,149,
+chii-kun_(seedyoulater),1,149,
+chen_hai_(azur_lane),4,149,zhenhai_(azur_lane)
+cbgb,1,149,
+carte,1,149,
+caenis_(swimsuit_rider)_(fate),4,149,
+bread_bun,0,149,
+blue_bandeau,0,149,
+belfast_(iridescent_rosa)_(azur_lane),4,149,belfast_(iridescent_rose)_(azur_lane)
+beldum,4,149,
+bee_costume,0,149,honey_bee_girl_outfit
+august_von_parseval_(the_conquered_unhulde)_(azur_lane),4,149,
+arisen_(dragon's_dogma),4,149,
+argyle_scarf,0,149,
+arena,0,149,
+arai_harumaki,1,149,
+apple_on_head,0,149,
+ancotaku,1,149,
+ameth_(princess_connect!),4,149,ames
+alisa_boskonovich,4,149,
+aetherion,1,149,
+achievement_unlocked,0,149,
+zeroyon_(yukkuri_remirya),1,148,
+zenigata_kouichi,4,148,
+zcune,1,148,
+yuzu_bath,0,148,
+yuyanshu13,1,148,daibajoujisan
+yuu_(yuyukaikan),1,148,
+youkan_(food),0,148,
+yogurt,0,148,yoghurt
+yasuo_(league_of_legends),4,148,
+yasui_riosuke,1,148,goromenz
+wonderland_wars,3,148,
+waira,1,148,
+veigar,4,148,
+valkyrie_connect,3,148,
+ushiromiya_kinzou,4,148,ushiromiya_kinzo
+two-tone_kimono,0,148,
+tsukikusa,1,148,
+tomosuke,1,148,
+toma_(asagayatei),1,148,
+textbook,0,148,
+takashia_(akimototakashia),1,148,
+tafuto,1,148,
+tada_no_nasu,1,148,scmado24
+suzutarou_gunsou,1,148,"h3po4_chiba,suzutaro_gunsou"
+suzuri_(tennenseki),1,148,
+sugimeno,1,148,
+sue_(bg-bros),1,148,
+spirit_blossom_kindred,4,148,
+spasm,0,148,
+sousui_hani,1,148,
+skull_and_crossed_swords,0,148,
+siamese_cat,0,148,
+shourou_kanna,1,148,
+shirousagi_uyu,1,148,
+shigofumi,3,148,
+shigenobu,1,148,
+shachihoko,0,148,
+servant_card_(fate/grand_order),0,148,
+sdorica,3,148,sdorica_-sunset-
+scruffyturtles,1,148,
+satsuki_mayuri,1,148,
+satou_sakie,4,148,
+saru_(style),0,148,
+saejin_oh,1,148,
+rumo,1,148,
+rin_(kemurikusa),4,148,
+rikka_(holostars),4,148,
+rei_(guilty_gear),4,148,
+reco,4,148,
+rainbow_bikini,0,148,
+quilt_(game),3,148,
+pushing_face,0,148,
+pullcart,0,148,
+pocari_(sq551),1,148,seojinhui
+pico_(picollector79),1,148,
+pholia,4,148,
+pasdar,1,148,
+panzer_waltz,3,148,metal_waltz
+panda_hat,0,148,
+orange_capelet,0,148,
+ooyama_kina,1,148,
+okera,1,148,
+nori_(akusei_shinseibutsu),1,148,
+nogi_sonoko,4,148,
+nobuyoshi-zamurai,1,148,
+nishigori_atsushi,1,148,
+nikism,1,148,
+neck_bobbles,0,148,
+mushroom_print,0,148,
+moroyan,1,148,
+morokoshi_(tekku),1,148,tekku_(07201115)
+morino_ichigo,4,148,
+monster_hunter_frontier,3,148,
+mokyu,1,148,
+mochiki,1,148,
+mizuki_riko,1,148,
+mistrail,1,148,
+mikomiko_(mikomikosu),1,148,
+mercury_symbol,0,148,mercury_sign
+mejiro_mcqueen_(ripple_fairlady)_(umamusume),4,148,
+maruwa_tarou,1,148,maru_watarou
+mannosuke,4,148,
+maburu_(lojyq1eur3e8bit),1,148,
+ludvico_private_girls'_academy_school_uniform,0,148,
+lenora_(pokemon),4,148,aloe_(pokemon)
+l_(matador),1,148,
+kyokugen_dasshutsu,3,148,zero_escape
+kuronuma_sawako,4,148,
+kuroihato,1,148,
+kuchibashi_(9180),1,148,
+kokoa_ninniku,1,148,norakon
+kokihanada,1,148,kouki_hanada
+kodoku_no_gourmet,3,148,
+kneeing,0,148,
+kishuku_gakkou_no_juliet,3,148,boarding_school_juliet
+kirisaki_seeker,1,148,
+kikivi,1,148,
+kadoi_aya,1,148,aya_kadoi
+jum-p,4,148,
+jirusu,1,148,
+jiraiya_(naruto),4,148,
+jason_kim,1,148,
+irisu_kyouko,4,148,
+illyasviel_von_einzbern_(swimsuit_archer)_(second_ascension),4,148,
+ikaheigen,1,148,
+ibuki_munemasa,4,148,
+hyuuga_hanabi,4,148,
+human_dog,0,148,
+hk_(nt),1,148,
+hiwatari_rin,1,148,
+hisin,1,148,
+harukana_receive,3,148,
+hareta,1,148,
+hapi_(fire_emblem),4,148,
+hands_on_another's_neck,0,148,
+gomashio_(goma_feet),1,148,
+glowing_feather,0,148,
+girotin_ginza,1,148,
+girlish_number,3,148,gi(a)rlish_number
+getsuyou_yasumi,1,148,tukiyofree
+gerotan,1,148,
+gargoyle,0,148,
+gal_gamer_ni_homeraretai,3,148,
+fuugetsu_oreha_ikiru,1,148,
+fubuki_atsuya,4,148,
+frilled_garter,0,148,
+fir_(fire_emblem),4,148,
+federica_n._doglio,4,148,federica_n_doglio
+fairy_knight_tristan_(second_ascension)_(fate),4,148,
+erakin,1,148,robinsonk9999
+england,0,148,
+eizen_(tales),4,148,
+dick_gumshoe,4,148,itonokogiri_keisuke
+dantes_ward,1,148,
+dango_remi,1,148,
+cat_o'_nine_tails,0,148,cat_o_nine_tails
+card_game,0,148,
+broken_moon,0,148,
+breast_curtain_lift,0,148,
+bluez,1,148,
+bloomers_around_one_leg,0,148,
+bioluminescence,0,148,
+avatar_(lineage_2),4,148,
+asya,1,148,
+asahiro,1,148,
+amagamido,1,148,
+alia_(mega_man),4,148,alia_(rockman)
+alhaitham_(genshin_impact),4,148,al-haitham_(genshin_impact)
+agnes_oblige,4,148,
+ace_of_diamonds,0,148,
+yuzuki_kihiro,1,147,
+yuunagi_(0217),1,147,zuizhong
+yukiyanagi,1,147,
+yuimari,1,147,
+yagyuu_kyuubei,4,147,yagyu_kyubei
+xfate,1,147,"ekusufeito,xfateartworks"
+white_tiger_print,0,147,
+wake_up_girls!_stage_no_tenshi,3,147,stage_no_tenshi
+vyn_richter_(tears_of_themis),4,147,
+volumen_hydragyrum_(fate),0,147,volumen_hydragyrum
+vermillion_akiha,4,147,
+vane_(vane0),1,147,
+undone_bowtie,0,147,
+twinmyniad_(fate),0,147,twinmyniad
+tsukiumi,4,147,
+togami_byakuya_(danganronpa_2),4,147,
+tendou_nabiki,4,147,tendo_nabiki
+ten-chan_(eternal_s),1,147,
+tama_(hiroshige_36),1,147,hiroshige_36
+takara_joney,1,147,
+swinub,4,147,
+sukesan,1,147,
+spotted_hair,0,147,
+spiral-only_eyes,0,147,
+solaire_of_astora,4,147,
+smelling_underwear,0,147,"panty_sniffing,underwear_sniffing"
+skiing,0,147,
+sketching,0,147,
+silvertsuki,1,147,
+sig_(puyopuyo),4,147,
+shiranui_kai_ni_(kancolle),4,147,
+shibuya_(tokyo),0,147,
+seulbi_lee,4,147,
+seto_midori,4,147,
+sencha_(senta_10),1,147,
+scout_(tf2),4,147,
+saipin,1,147,
+removing_shoes,0,147,
+rakko_(r2),1,147,
+raiden_mei_(valkyrie_bladestrike),4,147,
+pn_(wnsl216),1,147,
+planeptune,1,147,
+pia_carrot_e_youkoso!!_3,3,147,pia_carrot_3
+peri_(fire_emblem),4,147,pieri_(fire_emblem_if)
+people's_republic_of_china_flag,0,147,"chinese_flag,prc_flag"
+oshage_(osyage921),1,147,oshage_(user_kpsn5534)
+osana_reimu,3,147,
+osafune_kairi,1,147,
+oro_(zetsubou_girl),1,147,
+orimoto_rika,4,147,
+oosaki_takahito,1,147,
+octillery,4,147,
+noukatu,1,147,
+nokoru_sora,1,147,
+nitori_aiichirou,4,147,nitori_aaichirou
+nikke_(cherish),1,147,nishimura_nike
+nick_wilde,4,147,
+nero_claudius_(modern_costume_of_crimson)_(fate),4,147,
+national_basketball_association,3,147,
+nao_(dream_c_club),4,147,nao_(dream_club)
+nanashinayuzu_mochi,1,147,negot0negot0
+nahu,1,147,
+mukkushi,1,147,
+mugen_no_fantasia,3,147,
+motojima_hakka,1,147,
+momozu_komamochi,1,147,koma_momozu
+mokona,4,147,
+mixplin,1,147,
+mikripkm,1,147,
+mazda,0,147,
+maruino,1,147,
+makita_maki,1,147,
+luminous,1,147,
+lucid_(maplestory),4,147,
+lococo:p,1,147,
+lightning_glare,0,147,electric_eye_contact
+leather_suit,0,147,
+l'avenir_academy_uniform,0,147,
+kusakami_akira,1,147,
+kurozako,1,147,
+kouyafu,1,147,
+komota_(kanyou_shoujo),1,147,michihisa!
+kiritani_(marginal),1,147,
+kawaii_dake_ja_nai_shikimori-san,3,147,shikimori's_not_just_a_cutie
+kaori_(princess_connect!),4,147,kyan_kaori
+kachayori,1,147,
+just_be_friends_(vocaloid),3,147,just_be_friends
+jianren,1,147,
+jaguar_boy,0,147,
+izumi_ako,4,147,
+itou_ayachi,1,147,itou_ikuri
+ishida_mia,1,147,
+inu3,1,147,
+hunya,1,147,
+hector_rivera,4,147,
+heart_ring_top,0,147,
+hazuki_kasane,1,147,
+hayashi_(l8poushou),1,147,l8poushou
+hashimoto_fumie,4,147,
+hamada_(super_tachioyogi_kyousou),1,147,ky_(kurokky709)
+hairstyle_connection,0,147,
+hair_vines,0,147,
+hair_extensions,0,147,
+gunxsword,3,147,"gun_sword,gunsword"
+ghost_quartz_(houseki_no_kuni),4,147,
+genshin_impact_sticker_redraw_(meme),0,147,
+gabayo,1,147,
+fuyuno_taka,1,147,
+fujie-yz,1,147,
+frikulu,1,147,
+foot_tickling,0,147,
+flask_(pandora),1,147,
+f-14_tomcat,0,147,
+energy_shield,0,147,
+el_cazador_de_la_bruja,3,147,el_cazador
+dunkerque_(summer_sucre)_(azur_lane),4,147,
+dopamine70,1,147,"hpb8642,kim_hyun-kyung"
+daibouken!_yukeyuke_osawari_island,3,147,
+d@i,1,147,
+color_halftone,5,147,screening
+ciel_(elsword),4,147,
+childhood_friend-chan_(ramchi),4,147,
+character_select,0,147,
+cat_(nyanko_daisensou),0,147,
+castor_(fate),4,147,castor_(fate/grand_order)
+caleb_thomas,1,147,
+bad_tinami_id,5,147,
+back_turned,0,147,
+azuki_akizuki,1,147,
+auer,1,147,
+arrow_(tamawo222),1,147,hamada_pochiwo
+armored_aircraft_carrier_princess,4,147,armored_aircraft_carrier_hime
+arcaea,3,147,
+arc_system_works,3,147,
+amii,1,147,
+amamiya_chiharu,1,147,chiharu_(nekomimibousi96)
+alchemist_(girls'_frontline),4,147,alchemist_(girls_frontline)
+against_rock,0,147,
+adrenaline!!!,0,147,
+zipper_footwear,0,146,
+yoshikawa_kazunori,1,146,
+yorha_commander,4,146,"commander_white,yorha_infantry_squad_commander"
+welrod_mk2,0,146,
+utsugi_noriyuki,4,146,
+used_artificial_vagina,0,146,
+uniform_vest,0,146,
+umibudou,1,146,
+umeboshitora,1,146,
+trombone_(sex_act),0,146,
+towel_rack,0,146,
+tohsaka_rin_(fate/extra),4,146,
+tobi_(kotetsu),1,146,"chikuwabu_(pixiv54366),kotetsu_(popeethe)"
+tengen_toppa_gurren_lagann:_parallel_works,3,146,
+takemura_kou,1,146,takemura-kou0606
+sutorora,1,146,
+super_robot_wars_x-omega,3,146,
+submarine_princess,4,146,submarine_hime
+statue_of_liberty,0,146,
+snowflake_earrings,0,146,snowflake_earring
+shizuku_(hunter_x_hunter),4,146,
+shichiten_shichitou,0,146,
+shakunetsu_no_takkyuu_musume,3,146,scorching_ping_pong_girls
+seraphine_(league_of_legends),4,146,
+senri_akane,4,146,
+scientific_name,0,146,
+scharfschutze,1,146,sharufushuttse
+sabakan_(iizuka48),1,146,
+ryuuta_(cure_ryuuta),1,146,
+ryuuga_shou,1,146,syo_ryuga
+roina_(effj7473),1,146,roina_(pixiv40428837)
+ribbon-trimmed_hairband,0,146,
+reindeer_girl,0,146,
+prism_magical,3,146,
+princess_tutu_(character),4,146,
+ponyta,4,146,
+ponkotsu_(ayarosu),1,146,
+pink_sweater_vest,0,146,
+pillow_fight,0,146,
+persocon93,1,146,
+originium_slug_(arknights),4,146,
+oboro_(fire_emblem),4,146,oboro_(fire_emblem_if)
+nogi_wakaba_wa_yuusha_de_aru,3,146,nogi_wakaba_is_a_hero
+no_brand_girls,0,146,
+nine_(liuyuhao1992),1,146,
+niimi_kaoru,4,146,
+nibo_(att_130),1,146,devanohundosi
+nekokun,1,146,
+navy_cross,0,146,
+nana_mikoto,1,146,
+nakajou_tatsuya,4,146,
+naitou_kirara,1,146,
+myht,1,146,
+murasakio,1,146,murasakigo
+muneshiro_(hitsuji_kikaku),1,146,hitsuji_(hitsuji_kikaku)
+mouse_girl_(yuuki_(yuyuki000)),4,146,
+momose_kurumi,4,146,
+moe_(phrase),0,146,
+misora_(princess_connect!),4,146,
+minillustration,1,146,
+mingke,1,146,
+mega_charizard_x,4,146,
+maze_yuri,1,146,
+mashiro_(nijisanji),4,146,
+maria_robotnik,4,146,
+map_(blue_catty),1,146,map_(artist)
+mahou_no_tenshi_creamy_mami,3,146,
+luka_(mon-musu_quest!),4,146,
+lozelia,1,146,
+lanzi_(415460661),1,146,
+kurokawa_(silve),1,146,
+kroos_the_keen_glint_(arknights),4,146,
+kokaki_mumose,1,146,
+kikuchi_mataha,1,146,
+kie_(wylee2212),1,146,
+kaze_makase,1,146,
+katase_shima,4,146,
+kashiwagi_kano,1,146,shiratama_azusa
+kasashi_(kasasi008),1,146,
+karasuma_yayoi,1,146,
+kakudai_(hujikolp),1,146,god@man
+kagesaki_yuna,1,146,
+kabayaki_(kabayaki_eel),1,146,
+jupiter_(planet),0,146,
+judau_ashta,4,146,
+joui,0,146,
+joshua_bright,4,146,joshua_astray
+jikan_sokougun,0,146,
+japanese_cylindrical_postbox,0,146,
+jako_(toyprn),1,146,
+inuga_anahoru,1,146,mochisuke_teru
+inasaki_shirau,1,146,"inazaki_shirau,shirau_inazaki,shubesuta"
+iga_tamaki,1,146,
+ibara_dance,1,146,
+humboldt_penguin,0,146,
+hotaryuso,1,146,
+himura_kiseki_(style),0,146,
+himemiya_touri,4,146,
+hero_(dq8),4,146,
+henohenomoheji,0,146,
+henken,1,146,
+heaven's_door,4,146,
+hara_yui,1,146,
+hanna_rudel,4,146,
+hage2013,1,146,sae_(revirth)
+hadouken,0,146,
+haagen-dazs,0,146,
+h&k_g3,0,146,g3
+gus_(clarkii),1,146,
+ginji74,1,146,
+gigokku,1,146,
+gas_can,0,146,
+fuyuno_yuuki,1,146,
+fullbokko_heroes,3,146,
+fuiba_fuyu,4,146,
+floyd_leech,4,146,
+farfetch'd,4,146,
+eyewear_view,0,146,
+esouko,1,146,
+elina_kuroe_no_daarin,1,146,
+ear_scrunchie,0,146,
+drying_clothes,0,146,
+dororo_(character),4,146,
+daidouji_kira,4,146,
+dagon_(housamo),4,146,dagon_(tokyo_houkago_summoners)
+da_capo_iii,3,146,
+compression_sleeve,0,146,
+company_of_heroes,3,146,
+cloud_focus,0,146,
+circus,0,146,
+cioccolata,4,146,
+chuby_mi,1,146,
+chariot,0,146,
+character_pillow,0,146,
+chakapi,4,146,
+caved,0,146,you_gonna_get_caved
+castell,1,146,
+cafe_(chuu_no_ouchi),1,146,rairai-no26-chu
+bukurote,1,146,
+bmw,0,146,
+black_widow,4,146,
+baretto_(firearms_1),1,146,
+barbara_parker,4,146,barbara_(little_witch_academia)
+azu_torako,1,146,
+ayuman,1,146,
+arato_asato,1,146,kanjitomiko
+aramachi,1,146,
+aoi_hiro,1,146,
+animal_ears_helmet,0,146,
+akagi_(paradise_amaryllis)_(azur_lane),4,146,
+aizawa_kazuha,4,146,
+agravain_(fate),4,146,
+agito_(nanoha),4,146,
+3_(sanyako1),1,146,
+3104_(3104milkshake),1,146,
+zorome_(darling_in_the_franxx),4,145,
+zac_(league_of_legends),4,145,
+yuru-chara,0,145,
+yellow_male_underwear,0,145,yellow_underwear_(male)
+wnb_mark,1,145,
+winston_(overwatch),4,145,
+watermelon_seeds,0,145,
+visor_lift,0,145,
+violet_(flower),0,145,
+uki_atsuya,1,145,
+turnip_kabura,1,145,
+touma_kazusa,4,145,
+tooi_aoiro,1,145,
+tir_mcdohl,4,145,
+tina_sprout,4,145,
+takasugi_kou,1,145,
+taka_(tsmix),1,145,
+tactics,3,145,
+taco,0,145,
+sweden_(hetalia),4,145,
+suzuno_(bookshelf),1,145,
+super_robot_wars_z,3,145,
+suicide_boy,3,145,
+staraptor,4,145,
+spacecolonie,1,145,
+socks_over_thighhighs,0,145,
+snorunt,4,145,
+shishigami_bang,4,145,
+shen_(league_of_legends),4,145,
+seero,1,145,
+scuba_tank,0,145,
+sayo_tanku,1,145,
+sanagi_torajirou,1,145,
+sakura_(usashiro_mani),4,145,
+rem_sora410,1,145,
+reiji_(gundam_bf),4,145,
+rajang,4,145,
+raijuu_(bakanara),1,145,
+quro_(black_river),1,145,
+psylocke,4,145,
+portable_stove,0,145,
+playerunknown's_battlegrounds,3,145,pubg
+pika_(kai9464),1,145,
+painttool_sai,0,145,
+ozkh,1,145,
+ooshima_ryou,1,145,
+onaya_masakazu,1,145,
+ogiso_setsuna,4,145,
+o-nashi_neko,1,145,mizuiroregent
+norway_(hetalia),4,145,
+noeru_(noellemonade),1,145,
+nishiki_areku,1,145,aureolin31
+nipple_press,0,145,
+nezumi_(no.6),4,145,
+nel-c,1,145,
+neco_spirit,0,145,
+naegino_sora,4,145,sora_naegino
+mutsuki_(new_year)_(blue_archive),4,145,
+morisawa_chiaki,4,145,
+mogi_yasunobu,1,145,slept_(re_mix)
+mizuya_nao,1,145,mizya
+miyo_(miyomiyo01),1,145,
+mirakichi,1,145,
+micro_uzi_(girls'_frontline),4,145,micro_uzi_(girls_frontline)
+metis_(persona),4,145,
+merry_program,1,145,
+mega_lopunny,4,145,
+makuro,1,145,
+magneton,4,145,
+machita_chima,4,145,
+luluco,4,145,
+leonidas_(fate),4,145,leonidas_(fate/grand_order)
+kusakabe_wakaba,4,145,
+kuo_(kuo114514),1,145,yukizawa_xueze
+kon5283,1,145,
+koishi_chikasa,1,145,rai-rai
+knotting,0,145,
+kmnz,3,145,
+kitahama_(siroimakeinu831),1,145,
+kazuneko_(wktk1024),1,145,
+kamen_rider_ghost_(series),3,145,
+kakuchoshi,1,145,"kaku_chosi,kaku_choushi"
+kaitou_saint_tail,3,145,
+joosi,1,145,
+jochuu-san,4,145,
+ichiki_1,1,145,
+ibuki_douji_(swimsuit_berserker)_(fate),4,145,
+hippopotamus,0,145,
+hatsuseno_alpha,4,145,
+harlequin,0,145,
+haou_taikei_ryuu_knight,3,145,"haou_daikei_ryuu_knight,lord_of_lords_ryu_knight"
+hanging_food,0,145,
+hand_on_another's_mouth,0,145,
+gomeifuku,1,145,
+glance,0,145,
+g-taste,3,145,g_taste
+eva_16-gouki,1,145,
+erstin_ho,4,145,
+eri_(boku_no_hero_academia),4,145,
+eijima_moko,1,145,harusaki_iwai
+edmond_honda,4,145,
+duan_henglong,1,145,
+donson,1,145,
+dobato,1,145,
+deemo_(character),4,145,
+dancer's_costume_(dq),0,145,
+comic_bavel,3,145,
+clift,4,145,
+chou_shittou_caduceus,3,145,"trauma_center,trauma_center"
+charlotte_hazellink,4,145,
+capitan_(tsyoujo),1,145,
+candela_(pokemon),4,145,
+buchi_maru,1,145,
+brown_sky,0,145,
+botan_(clannad),4,145,
+berryverrine,1,145,
+beauty_and_the_beast,3,145,
+babu,1,145,
+ashen_one_(dark_souls_3),4,145,
+american_football_helmet,0,145,
+amatari_sukuzakki,1,145,
+ajino_(sakanahen),1,145,
+30-06,1,145,
+.hack//tasogare_no_udewa_densetsu,3,145,".hack//dusk,.hack//legend_of_the_twilight,.hack//legend_of_the_twilight_bracelet"
+zelgadiss_graywords,4,144,
+yukimin_(yukihana_lamy),4,144,
+yuki_shuuka,1,144,luxia_continent
+you_ni_ge_shaobing,1,144,5555_96
+yoshino_chidori,4,144,
+yen-mi,1,144,
+yamai_kaguya,4,144,
+yakimi_27,1,144,
+yakan_(kusogaki_teikoku),1,144,kettle21
+yagami_hiroki,1,144,
+white_lips,0,144,white_lipstick
+waku_waku_7,3,144,
+ushimittsu,1,144,
+unpale,1,144,
+under_clothes,0,144,
+ultimecia,4,144,
+two-sided_coat,0,144,
+touya_(konpekitou),1,144,retota
+tokumaro,1,144,
+tm_(hanamakisan),1,144,
+tiptoe_kiss,0,144,
+the_road_to_el_dorado,3,144,
+tell_your_world_(vocaloid),3,144,
+tayo,4,144,
+takeshisu,1,144,
+t-asama,1,144,
+switch,0,144,
+swimwear_(module),0,144,
+susanna_hopkins,4,144,
+super_mario_3d_world,3,144,
+sunny_day_song,0,144,
+sudachi_(calendar),1,144,
+strider_hiryuu,4,144,strider_hiryu
+stg44,0,144,"mp_44,stg_44"
+st.kuma,1,144,
+sneaking_suit,0,144,
+smash_ball,0,144,
+silverlight,3,144,
+silver_rain,3,144,
+shukufuku_no_campanella,3,144,"blessing_of_the_campanella,la_campanella_della_benedizione"
+shishimaru_ken'ya,1,144,"leo_circle,shishimaru_kenya"
+shiroi_suna_no_aquatope,3,144,
+school_emblem,0,144,
+scarf_pull,0,144,
+sazabi,4,144,
+satsuki_yukimi,1,144,
+saruei,1,144,
+sandwich_cookie,0,144,
+sachi_(sao),4,144,
+qm,1,144,
+print_towel,0,144,
+ponyo,4,144,
+poi_(goldfish_scoop),0,144,
+pidge_gunderson,4,144,
+panbai,1,144,
+oyama_yoihaya,1,144,
+opanchu_(hakusen),1,144,
+okumari,1,144,
+oarfish,0,144,
+noritama_(gozen),1,144,
+noill,1,144,
+nisoku_hokou_(vocaloid),3,144,
+narita_top_road_(umamusume),4,144,
+muneneko,1,144,
+multiple_cats,0,144,
+motion_slit,0,144,
+mori_(unknown.),1,144,mknown
+mono_lith,1,144,
+monizumi_ishikawa,1,144,
+momo_no_kanzume,1,144,
+moeta_kaoruko,4,144,
+miyazaki_byou,1,144,
+mitsuzuri_ayako,4,144,
+mirai_akari's_new_virtual_youtuber_illustration_contest,3,144,
+military_rank_insignia,0,144,
+matrix16,1,144,
+maru_ccy,1,144,
+makino_ruki,4,144,
+majo_to_hyakkihei,3,144,"the_witch_and_the_hundred_knight,witch_and_the_hundred_knight"
+link_(aa30),1,144,
+lava_the_purgatory_(arknights),4,144,
+kushizaki_(vtuber),4,144,
+kurosawa_rin_(aikatsu!),4,144,
+kuroeda-san,4,144,
+kouta.,1,144,
+kona_ming,1,144,
+kirikuchi_riku,1,144,
+king_saw,0,144,
+key_kun,1,144,
+keke_(kokorokeke),1,144,
+kayle_(league_of_legends),4,144,
+kawachi_rin,1,144,rin_(teiuka-forever)
+kantori,1,144,
+kamiko_kana,4,144,
+kakesu,1,144,
+kakaobataa,1,144,
+kaginoni,1,144,
+jj_(ssspulse),1,144,
+jett_(valorant),4,144,
+j_yak47,1,144,j.roswel
+izumi_reina,4,144,
+ixima,1,144,ikushima
+iwai_ryou,1,144,iwai_ryo
+impossible_hair,0,144,
+ichikawa_noa,1,144,
+humagear_headphones,0,144,
+hoshibuchi,1,144,
+horikoshi_kouhei,1,144,
+hoojiro_(found1093),1,144,
+hollomaru,1,144,
+hitotsuki_nanoka,1,144,hitotukinanoka
+hira_(nanika_no_heya),1,144,
+hinata_nao,1,144,
+higuchi_konomi,1,144,
+hi_ye,1,144,
+hemo_(hemoroda),1,144,silver_yes_yes
+heiwari_kanade,1,144,jugatsu_junichi
+healing_animal,0,144,
+hanazuki_(azur_lane),4,144,
+hajime_(ak-r),1,144,
+hachigatsu_no_cinderella_nine,3,144,
+h&k_psg1,0,144,psg-1
+foongus,4,144,
+floating_city,0,144,
+fire_helmet,0,144,
+fatal_fury_cap,0,144,
+face_filter,0,144,
+exit_sign,0,144,
+executor_(arknights),4,144,
+eventh7,1,144,
+escavalier,4,144,
+engineer_(tf2),4,144,
+eevee_ears,0,144,
+dreamer_(girls'_frontline),4,144,dreamer_(girls_frontline)
+dragoon,0,144,
+doduo,4,144,
+daydream_(zhdkffk21),1,144,
+cuora_(arknights),4,144,
+chucolala,3,144,
+choumi_wuti_(xueye_fanmang_zhong),1,144,
+chloe_von_einzbern_(beast_style),4,144,
+cheshire_cat_(monster_girl_encyclopedia),4,144,
+chaos;child,3,144,
+celia_kumani_entory,4,144,
+cain_(gunnermul),1,144,
+bra-ban!,3,144,
+bisected,0,144,
+barbariccia,4,144,valvalis
+bandaid_on_stomach,0,144,
+asymmetrical_bodysuit,0,144,
+asymmetrical_arms,0,144,
+asou_yuuko,4,144,
+ashiya_douman_(second_ascension)_(fate),4,144,
+ascii_art,0,144,ascii
+asagiri_asagi,4,144,"asagi_(makai_kingdom),asagi_(nippon_ichi)"
+armadillo_ears,0,144,
+akino_subaru,1,144,
+aizawa_hikaru,4,144,
+yumi_yumi,1,143,
+yuki_miku_(2022),4,143,
+youkai_watch_(object),0,143,
+yoshinoya_(hidamari_sketch),4,143,yoshinoya
+yayoichi_(yoruyoru108),1,143,
+yatsuha_kanan,1,143,
+yatosaki_haru,1,143,
+yaosera,1,143,
+yagyuu_munenori_(fate),4,143,yagyuu_munenori_(fate/grand_order)
+yadokugaeru,1,143,
+wu_ganlan_cai,1,143,
+watanuki_banri,4,143,
+wagaya_no_oinari-sama,3,143,our_home's_fox_deity
+wadapen,1,143,
+wadante,1,143,
+viviana_(arknights),4,143,vivienne_(arknights)
+uta_(one_piece),4,143,
+ura_(05131),1,143,
+unagiman,1,143,
+tsuyuka_(sunny_spot),1,143,sunny_spot
+transforming_clothes,0,143,
+tomimi_(silent_night)_(arknights),4,143,
+togo_ai,4,143,tougou_ai
+titiduki_(manman-ya),1,143,chichizuki_(manman-ya)
+tifa_lockhart's_refined_dress,0,143,
+the_king_of_fighters_2001,3,143,king_of_fighters_2001
+ten'i_(ikkitousen),4,143,
+taut_skirt,0,143,
+tamatoys,3,143,
+tajima_yukie,1,143,
+t-okada,1,143,
+sunday_silence_(racehorse),4,143,
+sunday31,1,143,
+striped_suit,0,143,
+sseopik,1,143,
+so_dakki,4,143,
+sinko,1,143,
+shuumatsu_nani_shitemasu_ka?,3,143,
+shiwasu_takashi,1,143,
+sex_pistols_(stand),4,143,
+senran_kagura_peach_beach_splash,3,143,
+sayoyonsayoyo,1,143,
+sawara65,1,143,
+satsuki_mei_(sakuramochi),1,143,
+sanom,1,143,
+sahuyaiya,1,143,
+rokugatsu_t,1,143,
+rino_(princess_connect!),4,143,inosaki_rino
+renka_(sutegoma25),1,143,
+priite_hari_(torriet),4,143,
+popman3580,1,143,
+pink_sports_bra,0,143,
+pile_of_books,0,143,
+palace_of_dragon_(idolmaster),0,143,
+oyuwari,1,143,yuwari_ume
+osa_(osaosa),1,143,
+ohnuma_kurumi,4,143,oonuma_kurumi
+odds_&_ends_(vocaloid),3,143,
+not_present,0,143,
+nodding,0,143,
+nina_einstein,4,143,
+niii_(memstapak),1,143,
+natsuhiko,1,143,
+nanashi_(ganesagi),4,143,
+myoukou_kai_ni_(kancolle),4,143,
+murio,1,143,
+multiple_fusions,0,143,
+mosuko,1,143,
+momoda_yasuhito,1,143,
+mizunomoto,1,143,
+mizuki_(kutan),4,143,
+minikon,1,143,
+minakamirin,1,143,
+mg_renders,1,143,
+mephisto_(arknights),4,143,
+mega_lucario,4,143,
+master_asia,4,143,
+magus_(chrono_trigger),4,143,
+magical_mirai_miku_(2021),4,143,magimirai_miku_(2021)
+little_blue_(guin_guin),4,143,
+lithuania_(hetalia),4,143,
+lily_(granblue_fantasy),4,143,
+len_(hand_linke),1,143,yuu-kun_(linke_hand)
+lamborghini,0,143,
+kutata,1,143,
+kururu_(little_princess),4,143,
+kuro_(kuroneko_no_kanzume),1,143,
+konkichi_(flowercabbage),1,143,
+kobayashi_hiyoko,1,143,
+king_(nanatsu_no_taizai),4,143,
+kido_saori,4,143,
+khiara_(personal_ami),4,143,
+kazooie_(banjo-kazooie),4,143,
+kashiwa_kiseri,1,143,
+kanzaki_hideri,4,143,
+kamishiro_ryuu,1,143,
+kamihime_project,3,143,
+kamen_rider_build,4,143,
+kaburagi_yuki,1,143,echonao199x
+jon_(pixiv31559095),1,143,
+izumiyuhina,1,143,
+itou_eito,1,143,
+italia_(kancolle),4,143,italia_(kantai_collection)
+inuzuka_kiba,4,143,
+indonesian_text,0,143,indonesian
+in-hyuk_lee,1,143,
+ikura_(food),0,143,salmon_roe
+hoshino_madoka,1,143,"aya_(pixiv441971),aya_ojo"
+hinadan,0,143,
+hazuki_(nyorosuke),1,143,
+hat_bobbles,0,143,
+harmonica,0,143,
+greatodoggo,1,143,
+gmot,1,143,minami628
+gangut_(azur_lane),4,143,
+gahaku,1,143,
+furahata_gen,1,143,
+fukase_ayaka,1,143,
+frilled_necktie,0,143,
+frenulum_piercing,0,143,
+flashbang,0,143,
+flamie_speeddraw,4,143,fremy_speeddraw
+fender_telecaster,0,143,telecaster
+eruthika,1,143,
+dx_(dekusu),1,143,
+duo_maxwell,4,143,
+drag-on_dragoon_1,3,143,drakengard_1
+douma_(kimetsu_no_yaiba),4,143,
+doria_(p_f_dolia),1,143,doria_(5073726)
+dog_(shiba_inu)_(kemono_friends),4,143,
+dido_(anxious_bisque_doll)_(azur_lane),4,143,
+crash_bandicoot_(series),3,143,
+clip,0,143,
+chroche_latel_pastalie,4,143,cloche_leythal_pastalia
+chitozen_(pri_zen),1,143,
+cheetah_tail,0,143,
+camel000,1,143,
+camel,0,143,
+caligula_(fate),4,143,caligula_(fate/grand_order)
+buttercup_redraw_challenge_(meme),0,143,buttercup_redraw_challenge
+bread_eating_race,0,143,bread_eating_contest
+bokuto_koutarou,4,143,
+bandaid_hair_ornament,0,143,
+bandaged_chest,0,143,
+bald_spot,0,143,
+baketsuya,1,143,m92fs
+backflip,0,143,
+azuma_seiji,1,143,
+atelier_lydie_&_suelle,3,143,atelier_lydie_and_suelle
+alolan_meowth,4,143,
+allenby_beardsley,4,143,
+akiyasu,1,143,
+akito_(d30n26),1,143,
+akino_takehiko,1,143,
+akahige,1,143,
+ahsoka_tano,4,143,
+23_(candy_chapus),1,143,
+zuizou,1,142,
+yuunagi_middle_school_uniform,0,142,
+youhei_(testament),1,142,
+yoshii_akihisa,4,142,
+yonekura_kengo,1,142,
+yilx,1,142,
+yatagarasu_(game),3,142,
+versailles_no_bara,3,142,"lady_oscar,rose_of_versailles,the_rose_of_versailles"
+uso_(ameuzaki),1,142,
+ueno_(ueno-san_wa_bukiyou),4,142,
+ubizo,1,142,
+two-tone_pants,0,142,
+two-tone_bra,0,142,
+tsunko_(9v2_q),1,142,
+tropical_kiss,3,142,
+totsuka_saika,4,142,
+tomomimi_shimon,1,142,
+tk_(angel_beats!),4,142,
+tied_sweater,0,142,
+tianzhong_zhongtian,1,142,
+theodore_riddle,4,142,
+themaestronoob,1,142,georgy_stacker
+text_print,0,142,
+tenshi_no_inai_12-gatsu,3,142,"december_when_there_is_no_angel,december_when_there_is_no_angel,tenshi_no_inai_12_gatsu,tenshinoinai"
+tashigi,4,142,
+sutera_(granblue_fantasy),4,142,
+sunohara_ayaka,4,142,
+suisa_(mizsai),1,142,suisa
+stiel,1,142,
+stardew_valley,3,142,
+sonikey0_0,1,142,
+sofia_valmer,4,142,
+snow_leopard,0,142,
+shuutou_haruka,1,142,
+shouhei,1,142,
+shiteyan'yo,4,142,shiteyanyo
+shiro_(octet),1,142,
+shinburu,1,142,
+shin_sakura_taisen,3,142,"new_sakura_wars,sakura_wars_(2019)"
+sett_(league_of_legends),4,142,
+sara_(gundam_build_divers),4,142,
+sakura_hime,4,142,
+sakana_(saka11205),1,142,
+sakaki_(utigi),1,142,
+ruukoto,4,142,
+rsef,1,142,
+rokushou,1,142,
+rojiko,1,142,
+rodney_(warship_girls_r),4,142,
+rocha_(aloha_ro_cha),1,142,rocha_(artist)
+rkrk12,1,142,
+redjack_036,1,142,
+r44,1,142,
+queasy_s,1,142,
+pikachu_tail,0,142,
+peter_parker,4,142,
+orgasm_denial,0,142,
+objection,0,142,
+numbered_flag,0,142,
+nokanok,1,142,
+nijihara_ink,4,142,
+nekokotei,1,142,
+necromancer,0,142,
+nakahara_misaki,4,142,
+myucel_foalan,4,142,myuseru_foaran
+mujin_wakusei_survive,3,142,uninhabited_planet_survive
+mugshot,0,142,
+moira_(nijisanji),4,142,
+mochizuki_nozomu,1,142,
+mizuki_kyou,1,142,mizuki_kyouto
+miyoshi_(triple_luck),1,142,
+miyamae_shiho_(jack_dempa),4,142,
+mixed_gender_duel,0,142,
+minatosaiga,1,142,
+mian_(dream_c_club),4,142,
+melty+,3,142,
+matsushima_michiru,4,142,
+maryland_(kancolle),4,142,
+mandibles,0,142,
+liquid_clothes,0,142,
+like_and_retweet,0,142,
+kuso_otoko,1,142,
+kongou_mitsuko,4,142,
+king_k._rool,4,142,
+keith_(voltron),4,142,
+kazeharu,1,142,
+kazama_raita,1,142,
+kawajiri_shinobu,4,142,
+kaneko_tsukasa,1,142,heihokon
+kamoto_tatsuya,1,142,
+kamikoshi_sorawo,4,142,
+kama_(swimsuit_avenger)_(first_ascension)_(fate),4,142,
+kagura_mizuki,1,142,kagurado
+k52,1,142,oii_52kun
+jeff_andonuts,4,142,
+janyhero,1,142,
+izumi_minami,1,142,
+ishii_akira,1,142,
+inui_(jt1116),1,142,inui_(pixiv)
+ina_(inadahime),1,142,ina_(artist)
+in_basket,0,142,
+ikeno_daigo,1,142,
+hyakumangoku_masurao,1,142,
+holmemee,1,142,
+hinazuki_kayo,4,142,
+himegami_aisa,4,142,
+hasaya,1,142,
+harukawa_moe,1,142,
+hapu_(pokemon),4,142,hapu'u_(pokemon)
+haku89,1,142,blue_(9153585)
+hai_(h81908190),1,142,
+gsusart,1,142,
+greenopi,1,142,
+goto_(sep),1,142,
+gonster,1,142,
+fujishima_kousuke,1,142,
+frog_hood,0,142,
+frilled_coat,0,142,
+face_of_the_people_who_sank_all_their_money_into_the_fx_(meme),0,142,face_of_the_people_who_sank_all_their_money_into_the_fx
+evolvingmonkey,1,142,
+evil_eye_sigma,4,142,
+erogos,3,142,
+ekans,4,142,
+drowzee,4,142,
+doyachii,1,142,
+dokidoki_sister_aoi-chan,3,142,
+dilated_pupils,0,142,
+deathsmiles,3,142,
+danby_merong,1,142,
+cube_x_cursed_x_curious,3,142,"c3,c3:_cube_x_cursed_x_curious,c_cube"
+cryska_barchenowa,4,142,
+crotchless_leotard,0,142,
+chyoel,1,142,
+chel_(the_road_to_el_dorado),4,142,
+cha_goma,1,142,
+card_in_mouth,0,142,
+calamity_jane_(fate),4,142,calamity_jane_(fate/grand_order)
+butterchalk,1,142,
+bunny_ear_legwear,0,142,bunny_band_legwear
+braided_beard,0,142,
+bound_knees,0,142,
+bol_(liliymimi),1,142,
+bodycon,0,142,
+black_overalls,0,142,
+barre,0,142,ballet_bar
+barmaid,0,142,bar_maid
+azuma_toh,1,142,"azuma_tou,saiki_keita"
+azu-taro,1,142,azutarou
+asuna_(doruru-mon),1,142,
+ashiya_douman_(third_ascension)_(fate),4,142,
+around_corner,0,142,
+arondight_(fate),0,142,arondight
+aranara_(genshin_impact),4,142,
+alicia_testarossa,4,142,
+akke,1,142,
+akashi_seijuurou,4,142,
+akasaka_yuzu,1,142,
+aimobake,1,142,
+aether_foundation_uniform,0,142,
+abutomato,1,142,
+49s-aragon,1,142,
+zooming_in,0,141,
+zijou,1,141,
+zero-theme,1,141,
+z-move,0,141,
+yunoru,1,141,
+yun_lee,4,141,
+yuhi_(hssh_6),1,141,
+yug,1,141,
+yokoyari_mengo,1,141,weda_(artist)
+yellow_diamond_(houseki_no_kuni),4,141,
+yasoji_(16321578),1,141,
+xiao_dianshi,4,141,
+uzuki_kou,4,141,
+utsugi_kotoko,4,141,
+ushimi_ichigo,4,141,
+urim_(paintur),1,141,
+uiri-na,1,141,uiricchi
+ueda_suzuho,4,141,
+type_95_(narcissus)_(girls'_frontline),4,141,
+tucana,1,141,
+ttanuu.,1,141,
+toshinoshin,1,141,asimatosinosin
+togruta,0,141,
+tamiku_(shisyamo609),1,141,
+takasugi_heppu,1,141,
+tajikarao_(housamo),4,141,tajikarao_(tokyo_houkago_summoners)
+suzumi_tamao,4,141,
+surcouf_(loisirs_balneaires)_(azur_lane),4,141,
+suikamaru,1,141,suihimaru
+star_wars:_the_clone_wars,3,141,
+spongebob_squarepants_(character),4,141,
+splat_bomb_(splatoon),0,141,
+space_ishtar_(second_ascension)_(fate),4,141,
+sousakubito,1,141,
+sorami_kanata,4,141,
+sonia_strumm_(mega_man),4,141,hibiki_misora
+someya_mako,4,141,
+skirt_in_mouth,0,141,
+shirt_behind_neck,0,141,shirt_around_neck
+shinouji_matsurika,4,141,
+shinori,1,141,
+shadow_(artist),1,141,
+serin199,1,141,
+sanka_rea,4,141,
+sanada_yukimura_(sengoku_basara),4,141,
+sameya,1,141,
+sakurai_yuuto_(shiromanta),4,141,yuuto_(shiromanta)
+saki_(hxaxcxk),1,141,
+sakai_hamachi,1,141,
+roulette,0,141,
+roonhee,1,141,
+romancing_saga_3,3,141,
+rocket_ship,0,141,rocketship
+riku_(wana),1,141,
+renri_no_chigiri_wo_kimi_to_shiru,3,141,
+removing_pasties,0,141,
+red_tabard,0,141,
+rainbow_skirt,0,141,
+pocari66,1,141,
+pinky_pop_hepburn,4,141,
+picter,1,141,peter_(will100sss)
+parody_request,5,141,
+oxxo_(dlengur),1,141,
+oonaka_ito,1,141,ohnaka0515
+ooba_wakako,1,141,
+ontaros,1,141,
+ompf,1,141,
+okiura,1,141,
+ojo_(dfreak),1,141,dfreak
+oga_raito,1,141,
+nora_cat_channel,3,141,
+nora_cat,4,141,
+ninja_(ragnarok_online),4,141,
+neck_pillow,0,141,
+nb_(pixiv594732),1,141,
+nancou_(nankou),1,141,
+nanana_(chicken_union),1,141,
+nai_diffusion,5,141,
+nagare_hyougo,1,141,
+my_pet_tentacle_monster,1,141,
+morichika_rinnosuke_(cosplay),0,141,
+momoyama_mirai,4,141,
+mks,1,141,
+miz_(mizillustration),1,141,
+miri_(tobira_no_mukou),1,141,
+minami_seira,1,141,
+mikan-uji,1,141,
+mettaton,4,141,
+metroid_fusion,3,141,
+meinya_(made_in_abyss),4,141,
+meimei_(p&d),4,141,
+meguro_fukuzou,1,141,
+mankanshoku_barazou,4,141,
+mana_khemia_(series),3,141,
+makidera_kaede,4,141,
+maco_spl,1,141,
+mach_caliber,4,141,
+lumarianne20,1,141,
+lilica_felchenerow,4,141,
+lambent_light,0,141,
+kusakabe_maron,4,141,
+kurenai_no_buta,3,141,porco_rosso
+kuga_yuuma,4,141,
+koza900,1,141,koza47322
+kobanzame,1,141,
+kinuko_(kinucakes),1,141,"kinuko_(fever_chill),mariel_cartwright"
+kazami_youka_(yokochu),4,141,
+kanipanda,1,141,
+kanaria_(fuusenkazura),1,141,pkk
+kanacho,1,141,
+kamekichi,4,141,
+jodhpurs,0,141,
+jehyun,1,141,
+izumi_(blue_archive),4,141,
+iyou,1,141,
+indigo_(arknights),4,141,
+ijuuin_hokuto,4,141,
+ice_(ice_aptx),1,141,
+huyuharu0214,1,141,
+honda_tamanosuke,1,141,tamanosuke_honda
+holding_string,0,141,
+hisama_kumako,1,141,
+herb,0,141,
+hattori_masahiko,1,141,
+hatsune_(summer)_(princess_connect!),4,141,
+hata_kenjirou,1,141,
+hasumi_(hasubatake39),1,141,
+harmony_(splatoon),4,141,paruko_(splatoon)
+hamo_(dog),4,141,
+haluka_(aixioo),1,141,aixioo
+hair_undone,0,141,
+hagimura_suzu,4,141,
+h&k_usp,0,141,usp
+gzei,1,141,
+glenn_andrean,1,141,
+garo_(series),3,141,
+fuwafuwa_time,0,141,
+fujiwara_gacho,1,141,
+fubuki_(kancolle)_(cosplay),0,141,
+foot_on_face,0,141,
+final_fantasy_fables,3,141,
+fault!!,3,141,
+fang_assassin_irma,4,141,
+family_computer_robot,4,141,r.o.b.
+erica_fontaine,4,141,
+ephnel,4,141,
+enjoji_michiru,4,141,enjouji_michiru
+edinburgh_(azur_lane),4,141,
+dreamlight2000,1,141,
+dragon_riding,0,141,dragon_rider
+dimension_w,3,141,
+dildo_harness,0,141,
+decapre,4,141,
+daiba_canon,4,141,daiba_kanon
+cure_black_(cosplay),0,141,
+cosmic_&_funny_(idolmaster),0,141,cosmic_&_funny(idolmaster)
+chokutou,0,141,
+chipmunk_ears,0,141,
+btraphen,1,141,
+brazil,0,141,brazilian
+blush_visible_through_hair,0,141,
+black_beat,1,141,
+bikini_bottom_aside,0,141,
+basquash!,3,141,basquash
+aties20,1,141,
+asakura_nemu,4,141,
+arkapami,1,141,
+aoyagi_touya,4,141,
+amagi_(volfuji),1,141,
+alphy,1,141,
+akisha,1,141,
+akaneko_(redakanekocat),1,141,
+ajiriko,1,141,
+aikawa_chinatsu,4,141,
+1672,1,141,
+14sai_bishoujo_(shoutarou),1,141,gygpc956
+zyra,4,140,
+yuzuyomogi,1,140,
+yunomiya_agari,4,140,
+youkai_ankake,1,140,
+yasaka_mahiro,4,140,
+yamanobe_tomo,4,140,
+yamaada,1,140,
+wrapped_bento,0,140,wrapped_obentou
+wooden_bench,0,140,
+wolf_(league_of_legends),4,140,
+vyolfers,1,140,
+urayama_(backmountain),1,140,
+unfinished_background,0,140,
+tsukimoto_kizuki,1,140,
+truss,0,140,
+tomoeri,1,140,
+tomitake_jirou,4,140,tomitake_jiro
+theater,0,140,
+terminator_2:_judgment_day,3,140,
+team7,0,140,
+tatsumi_kon,4,140,
+takubon,1,140,takubon_(xewh4773)
+sugiura,1,140,
+stroma,1,140,
+striped_bandeau,0,140,
+star_panties,0,140,
+sovetskaya_belorussiya_(azur_lane),4,140,
+soranagi_yuki,1,140,
+smile_(rz),1,140,
+shuucream_(syuichi),1,140,syuichi
+shoebill,0,140,
+shizune_(naruto),4,140,
+shingeki_no_bahamut:_genesis,3,140,
+shiki,3,140,
+shihou_matsuri,4,140,
+sera_(serappi),1,140,
+sentret,4,140,
+senshiya,1,140,
+seno_(senohime),1,140,miyo_(user_zdsp7735)
+savi_(byakushimc),1,140,
+sasamashin,1,140,
+saki_(blue_archive),4,140,
+saibashi,1,140,
+rose_(tales),4,140,
+rimone,4,140,limone
+revolver_ocelot,4,140,
+pterosaur,0,140,"pteranodon,pterodactyl"
+prinz_eugen_(symphonic_fate)_(azur_lane),4,140,
+politoed,4,140,
+pitfall,0,140,
+persona_5_scramble:_the_phantom_strikers,3,140,
+peg,1,140,
+p_answer,1,140,
+over_the_mouth_gag,0,140,over_the_mouth_gagged
+oumi_neneha,1,140,
+orga,1,140,
+ningen_mame,1,140,
+nero_claudius_(bride)_(fate)_(cosplay),0,140,
+nekotewi,1,140,nekohako
+naked_dogeza,0,140,
+nakatsukasa_tsubaki,4,140,
+mzet,1,140,
+momomeno_(7th_dragon),4,140,
+mitsuki_felicia,4,140,
+mismatched_earrings,0,140,
+mimi_(mimi_puru),1,140,mi_hitsuji
+mash_kyrielight_(formal_dress),4,140,
+lyle_dylandy,4,140,
+kztk,1,140,
+kyousougiga,3,140,kyousogiga
+kyou_zip,1,140,
+kurokoeda,1,140,
+kumai_natsu,4,140,natsu_(kumamiko)
+kojiki-life,1,140,
+koizumo,1,140,
+kodachi,0,140,
+kirino_ranmaru_(mixi_max_jeanne_d'arc),0,140,
+kimino_tomonari,1,140,
+kemeko_deluxe,3,140,kemeko_dx
+kasuga_(sengoku_basara),4,140,
+itamidome,1,140,
+ishibori_eregomos,1,140,
+irohakaede,1,140,
+insane_black_rock_shooter,4,140,
+implied_rape,0,140,
+iltusa,1,140,
+horse_dildo,0,140,
+hizukiryou,1,140,
+hitode,1,140,
+hisha_(kan_moko),1,140,
+hinayuki_usa,1,140,
+heel-less_heels,0,140,
+heavyrain_(arknights),4,140,
+hands_over_own_mouth,0,140,
+handplug,1,140,fullforceforward
+handot_(d_yot_),1,140,
+ham,0,140,
+gym_leader_badge,0,140,
+gin_fragrans,1,140,viridiflora
+geneva_bowers,1,140,
+g-self,4,140,
+fur-trimmed_leotard,0,140,
+fanta,0,140,
+faba_(pokemon),4,140,sauboo_(pokemon)
+etotama,3,140,
+eclair_(kiddy_grade),4,140,
+dusclops,4,140,
+droid,0,140,
+disembodied_eye,0,140,floating_eye
+diana_(league_of_legends),4,140,
+dangling,0,140,
+crazy_raccoon,3,140,
+chyan,1,140,
+chobipero,1,140,
+chobi_(penguin_paradise),1,140,
+checkered_panties,0,140,
+canadian_flag,0,140,
+bushidou_2_(sekaiju),4,140,
+breast_biting,0,140,boob_chomp
+blue_mittens,0,140,
+black_bracelet,0,140,
+azuma_minatsu,1,140,
+azmaria_hendric,4,140,
+arslan_senki,3,140,heroic_legend_of_arslan
+aquila_(azur_lane),4,140,
+aoki_lapis,4,140,
+akashi_yuuna,4,140,
+ak-74,0,140,
+ak-12_(quiet_azure)_(girls'_frontline),4,140,
+abe_inori,1,140,
+yzpyn,1,139,
+yuugiri_(u-slash),1,139,
+yusa_(yusa0751),1,139,
+you_gonna_get_eaten,0,139,
+yashahime_(momotarou_densetsu),4,139,yasha
+xiaodi,1,139,
+woollen_cap,0,139,
+windart,1,139,
+wataru_(zazazazazazawa),1,139,
+walfie,1,139,kirbym
+ushio_to_tora,3,139,
+urako,1,139,velvelumpileuspil
+tsuchimiya_kagura,4,139,
+tsuchifumazu,1,139,
+toshi_(1-147),1,139,
+torn_capelet,0,139,
+tirarizun,1,139,chillarism
+tenzeru,1,139,
+ten_(tenchan_man),1,139,"ten_(m12uki17),tenchan_man"
+talho_yuuki,4,139,
+takeda_kanryuusai,1,139,kanryuusai_sensei
+takanashi_kotori,4,139,
+takahashi_(k2ta7),1,139,k2ta7
+suru_(ksoo420),1,139,snowru
+surge_(pokemon),4,139,"lieutenant_surge,lieutenant_surge,lieutenant_surge_(pokemon),lieutenant_surge_(pokemon),lt._surge,lt._surge,lt._surge_(pokemon),lt_surge,lt_surge,lt_surge_(pokemon),lt_surge_(pokemon),machisu_(pokemon),machisu_(pokemon),matis_(pokemon)"
+super_mario_rpg,3,139,
+striped_apron,0,139,
+star_butterfly,4,139,
+spring_(object),0,139,
+south_dakota_kai_(kancolle),4,139,
+soul_hackers,3,139,
+sora_(men0105),1,139,men_15
+shishimai,0,139,
+shiromiso,1,139,
+shirayuki_(arknights),4,139,
+shinomiya_natsuki_(uta_no_prince-sama),4,139,
+shinjitsu_(true_ride),1,139,
+shimofuri_kaeru,1,139,
+shimada_minami,4,139,
+senzaicha_kasukadoki,1,139,
+sasaki_sakiko,1,139,
+saiki_yuzuri,1,139,hairi_(mncrgc_h)
+rx_boss,4,139,
+ronindude,1,139,
+remoraid,4,139,
+qin_(7833198),1,139,
+poland_(hetalia),4,139,
+poipole,4,139,
+pill_hair_ornament,0,139,
+phara_suyuf,4,139,
+pecha_berry,0,139,
+patipat_asavasena,1,139,asuka111
+pastel_ink,4,139,
+oza_osuwari,1,139,
+ototobe,1,139,
+oniku_(oishii_oniku),1,139,
+oneechanbara,3,139,
+obmas,1,139,obmas_(pfeito)
+nyaroon,1,139,
+nutkingcall,1,139,"gooberman_(kdk5011),peanutman"
+nr_(cmnrr),1,139,nr_(96.5)
+notes,0,139,
+nishi_(count2.4),1,139,count24
+nightea,1,139,
+nidoran_(male),4,139,
+nidaime_(doronbo),1,139,
+nemone,4,139,
+neco_meito,1,139,meito_harmren
+namatyoco,1,139,
+nakabeni_yua,4,139,
+myoukou_pose,0,139,
+muscle_car,0,139,
+monster_musume_no_oisha-san,3,139,monster_girl_doctor
+mofuringu,1,139,
+mila_babicheva,4,139,
+mikono_suzushiro,4,139,
+miko_machi,1,139,machily
+matsuno_chifuyu,4,139,
+marvelous_sunday_(umamusume),4,139,
+marie_antoinette_(third_ascension)_(fate),4,139,
+manarou,1,139,
+makadamixa,1,139,
+mahou_shoujo_ikusei_keikaku_restart,3,139,
+maeda_risou,1,139,risoumaeda
+luluko,4,139,
+life_vest,0,139,
+lemon_hair_ornament,0,139,
+kyoutsuugengo,1,139,
+kotorai,1,139,
+kittona,1,139,
+kiriririn,1,139,
+kirieppa,1,139,
+ke-ta_(style),0,139,
+kawanabe,1,139,
+katsugeki/touken_ranbu,3,139,
+kanzaki_aoi_(kimetsu_no_yaiba),4,139,
+kamen_rider_agito,4,139,
+kagari6496,1,139,
+k11_(girls'_frontline),4,139,k11_(girls_frontline)
+jin_rou,1,139,
+itsuki_tasuku,1,139,
+itsuki_sayaka,1,139,
+isa,1,139,
+igni_tion,1,139,
+ichijou_(kr_neru0),1,139,
+icecake,1,139,ice_(dzs1392584271)
+humpback_whale,0,139,
+howling,0,139,
+horse_mask,0,139,
+honma_(honmatomohiro),1,139,
+honlo,1,139,
+hiromaster_sinta_jh,1,139,
+hiro_(dismaless),1,139,haku_(100301hiro)
+hidebo,1,139,
+heart_lollipop,0,139,
+hatsuko,1,139,
+harada_miyo,4,139,
+hanamichi_ran,4,139,
+hair_weapon,0,139,
+gunslinger_stratos,3,139,
+girly_running,0,139,
+fuchitoro,1,139,
+freyjadour_falenas,4,139,
+frankie_foster,4,139,
+frankenstein's_monster_(swimsuit_saber)_(second_ascension)_(fate),4,139,
+flaaffy,4,139,
+figma,0,139,
+fenrir_(fenriluuu),1,139,
+feint721,1,139,sunny721
+fake_box_art,0,139,
+ermine,0,139,
+envy_(fma),4,139,
+dracule_mihawk,4,139,
+dorianpanda,1,139,
+digital_camouflage,0,139,
+d._(ddot2018),1,139,zjsstc
+cuddly_octopus,3,139,
+cteno,4,139,
+contender_(girls'_frontline),4,139,contender_(girls_frontline)
+combos_&_doodles,1,139,
+cloyster,4,139,
+cinia_pacifica,4,139,
+chopstick_rest,0,139,
+chikuwa_(odennabe),1,139,
+checkered_bowtie,0,139,
+cecily_cambell,4,139,cecily_campbell
+castlevania:_symphony_of_the_night,3,139,
+castform,4,139,
+capybara_(kemono_friends),4,139,
+butterfly_on_nose,0,139,
+bruce_wayne,4,139,
+broken_bottle,0,139,
+briska,1,139,
+branded,0,139,
+boar_boy,0,139,
+belly_dancing,0,139,
+bear_hat,0,139,
+bccp,1,139,
+bashamichi,3,139,
+barakamon,3,139,
+az_toride,1,139,
+asa_(swallowtail),1,139,
+aoyashio_rin,1,139,
+anibache,1,139,
+alina_(arknights),4,139,
+akasaka_(qv92612),1,139,
+aino_heart,4,139,
+aaru_sentou_shuudan,1,139,r_kampfgruppe
+3u,1,139,
+2-g,1,139,
+zuikaku_(the_wind's_true_name)_(azur_lane),4,138,
+yuu_(alsiel),1,138,yuu_(togishi_kanata)
+yuki_hime_haruka,1,138,
+ys_viii_lacrimosa_of_dana,3,138,
+yonema,1,138,
+yatsuhashi_kakera,1,138,vader_(n.r.t.a.)
+yanagi_hirohiko,1,138,
+yamai_yuzuru,4,138,
+yamada_koutarou,1,138,
+xiho_(xi_ho_),1,138,xiho_(suna)
+wet_shorts,0,138,
+watermelon_beachball,0,138,watermelon_beach_ball
+water_wheel,0,138,watermill
+waka_(yuuhagi_(amaretto-no-natsu)),4,138,
+venus_blade,3,138,
+venomoth,4,138,
+usa_b,1,138,
+unizou,1,138,
+tri,1,138,
+touzai_(poppin_phl95),1,138,
+tiktok,3,138,
+tatsuno_newo,1,138,tatu_nw
+tanemura_arina,1,138,
+tanaka_the_wizard,3,138,
+takita_(takita3411),1,138,
+takeponi,1,138,
+sugarbeat,1,138,
+sugamo,1,138,
+sudachips,1,138,
+studded_gloves,0,138,
+sticky_fingers_(stand),4,138,
+spiral_staircase,0,138,
+spiked_belt,0,138,
+sounan_desuka?,3,138,are_you_lost?
+songchuan_li,1,138,
+son_of_droid_(mechanical_buddy_universe),4,138,
+shuffle_(songdatiankong),1,138,
+shiruko_(food),0,138,oshiruko_(food)
+shiro_maru,1,138,
+shipu_(gassyumaron),1,138,
+shichouson,1,138,etafai
+september,0,138,
+sand_cat_print,0,138,
+sakuramarusan,1,138,
+saigyouji_yuyuko_(cosplay),0,138,
+rukako,1,138,
+rock_bison,4,138,
+robin_(dc),4,138,
+ritsu_(roboroboro),1,138,ritsu_(pixiv9642)
+retsuna,1,138,
+rapid_punches,0,138,
+ramie_(ramie541),1,138,
+purple_feathers,0,138,
+pug,0,138,
+president_maa,4,138,
+pinky_to_mouth,0,138,
+philia_(sao),4,138,
+pectoral_lift,0,138,
+oze_(xyz_go_go11),1,138,
+otoutogimi,1,138,
+ocha_(popopogg),1,138,
+noir,3,138,
+nekoyama,1,138,
+nama_shirasu,1,138,
+mr._koiwai,4,138,
+moudoku_(decopon3rd),1,138,"11_(decopon3rd),11_(dekopon3rd),11_(Õç©-pon3rd)"
+motivator,0,138,
+morina_nao,1,138,
+moorina,1,138,
+moonjunk,1,138,
+mooncake,0,138,
+mochida_arisa,4,138,
+mizuno_keisuke,1,138,
+miyabi_(senran_kagura),4,138,
+miton_(turuyasann),1,138,miton15
+misty_lake,0,138,
+miso_(misomiso_154),1,138,misomiso_154
+meiko_(vocaloid3),4,138,
+megastructure,0,138,
+madana_(xesa7885),1,138,
+lucia_(pangya),4,138,
+luchador_mask,0,138,
+loaf_of_bread,0,138,
+light_in_heart,0,138,
+leilan_(p&d),4,138,leiran_(p&d)
+kyoko_(kunio-kun),4,138,
+kyo-hei_(kyouhei),1,138,kk_aa_nn_ii
+kuronezumi,1,138,
+kumakichi_(cost-lost),1,138,
+kudou_(ooabareteng),1,138,
+kuase,1,138,
+koto_(colorcube),1,138,
+komatsuzaki_rui,1,138,
+koikishi_purely_kiss,3,138,
+kirin_toroika,1,138,
+king_of_unlucky,1,138,kou_(pixiv8063)
+kinakomoti,1,138,
+kim_possible,3,138,
+kikimi,1,138,
+kida_kuro_mu,1,138,
+kerykeion,4,138,
+kemono_friends_pavilion,3,138,
+kasumi_komo,1,138,
+kamitsuki_manmaru,1,138,
+kakizaki_megu,4,138,
+kaitou_jeanne,4,138,
+ishida_to_asakura,3,138,ishida_&_asakura
+io_takuya,1,138,
+inzup,1,138,
+inutose,1,138,nekoya_saki
+implied_vibrator,0,138,
+ichifuji_nitaka,1,138,
+huang_gua,1,138,ouka_musci
+houshou_hanon,4,138,
+hoshara,1,138,
+hono,1,138,
+holding_mushroom,0,138,
+holding_coat,0,138,
+hiya_gohan,1,138,
+hinoru_saikusa,1,138,
+himematsu_school_uniform,0,138,
+hermmy,1,138,
+heart_no_kuni_no_alice,3,138,alice_in_the_country_of_hearts
+heart_hands_failure,0,138,heart_hand_thumb_up_duo
+hana_(fire_emblem),4,138,kazahana_(fire_emblem_if)
+hakuleg,1,138,
+gradient_ribbon,0,138,
+gouketsuji_ichizoku,3,138,"goketsuji_ichizoku,power_instinct"
+gohei_(aoi_yuugure),1,138,
+gingami_(giluziru),1,138,
+garterbelt_(psg),4,138,
+future_card_buddyfight,3,138,
+futsuu_no_joshikousei_ga_locodol_yattemita,3,138,
+fur-trimmed_vest,0,138,
+fishnet_socks,0,138,
+fir3born,1,138,
+fii-tan_the_figure,3,138,akibajin
+faust_(arknights),4,138,
+fartooth_(arknights),4,138,justyna_(arknights)
+etogami_kazuya,1,138,
+egypt,0,138,
+ebitetsu,4,138,
+distress,0,138,
+dinner,0,138,
+dhiea,1,138,
+d.y.x.,1,138,
+cecilia_schariac,4,138,
+calimero_(honey_come_chatka!!),4,138,
+bulges_touching,0,138,
+buddhism,0,138,
+brown_thoroughbred_(kemono_friends),4,138,
+bougu,0,138,kendo_armor
+black_jack_(character),4,138,
+bikini_bottom_pull,0,138,
+bashen_chenyue,1,138,
+banana_slice,0,138,
+ban_hada,4,138,
+balrog_(street_fighter),4,138,boxer_(street_fighter)
+azelf,4,138,
+ayanakitori,1,138,
+asuka_ryou,4,138,
+aruva,1,138,
+arifureta_shokugyou_de_sekai_saikyou,3,138,
+aqua_hoodie,0,138,
+any_(trueblue),1,138,ani_(artist)
+annie_(skullgirls),4,138,
+anglerfish_costume,0,138,
+amanagi_seiji,1,138,
+adomi,1,138,
+acchi_kocchi,3,138,
+2b-ge,1,138,
+zihad,1,137,
+zhuore_zhi_hen,1,137,hanshu
+yuutarou_(fukiiincho),1,137,
+yuuka_(o.t.kingdom),1,137,
+yuri_seo,4,137,
+yofukashi,1,137,yoru_fukashi
+yamuraiha,4,137,
+yamask,4,137,
+yamagami_karuta,4,137,
+yakult,0,137,
+window_fog,0,137,
+white_dog,0,137,
+wasp,0,137,hornet
+warrior_(final_fantasy),4,137,
+warlock_(granblue_fantasy),4,137,
+videocassette,0,137,"vhs,vhs_cassette,video_cassette,video_tape,videotape"
+vanillaware,3,137,
+umamusume:_cinderella_gray,3,137,
+twitch_plays_pokemon,0,137,
+tsukamoto_kensuke,1,137,
+trish_(devil_may_cry),4,137,
+trevo_(trevoshere),1,137,trevo
+tombow_mono,3,137,
+tokiwadai_school_swimsuit,0,137,
+takeuchi_ryousuke,1,137,ryosuketarou
+swapnote,3,137,"itsu_no_ma_ni_koukan_nikki,nintendo_letter_box"
+stag_beetle,0,137,
+sibata_maru,1,137,mito_(mo96g)
+shiitake_taishi,1,137,
+sato_imo,1,137,
+sasahiro,1,137,oshaban
+sally_(luna-arts),1,137,"luna-arts,sally_(yuki-menoko)"
+sajittari,1,137,shinon_(tokage_shuryou)
+saikyou_ginga_ultimate_zero_~battle_spirits~,3,137,
+sagae_haruki,4,137,
+rizento,1,137,
+reppuu_(kancolle),4,137,reppuu_(kantai_collection)
+removing_mask,0,137,
+reina_(black_spider),1,137,black_spider_(artist)
+range_finder,0,137,
+raiya_atelier,1,137,
+puka_puka,0,137,
+pram_(phantom_kingdom),4,137,
+plaid_capelet,0,137,
+paneled_background,0,137,
+oversized_flower,0,137,oversized_flowers
+osamu_yagi,1,137,"yagio,yagio-socho"
+nishimi_shin,1,137,
+neviril,4,137,
+nazuka_(mikkamisaki),1,137,
+navy,0,137,
+nattororo,1,137,
+mutsu_(azur_lane),4,137,
+morncolour,1,137,
+monobe_tsukuri,1,137,
+monk_(sekaiju),4,137,
+mona_lisa,3,137,
+mofumofu_channel,3,137,
+miz_003,1,137,
+misha_arsellec_lune,4,137,misha_artselk_lun
+minami_(apricot_tea),1,137,minami_(pixiv320163)
+mime_jr.,4,137,"mime_jr,mime_junior"
+miko_embrace,0,137,
+miga_(migao),1,137,harunori_oogami
+midorikawa_ryuuji,4,137,
+merry-san,1,137,1225ka
+maya_(azur_lane),4,137,
+mature_(kof),4,137,
+matsuda_yasuke,4,137,
+mao_(6r),1,137,
+manjirou_(manji_illust),1,137,john_manjirou_(love-love-happy21)
+mahjong_table,0,137,
+m1_garand,0,137,
+lexaiduer,1,137,
+lazulight,0,137,
+langley1000,1,137,
+kurai_nao,1,137,"jyohatsu_(pixiv2331060),kurai_hisashi"
+kowiru,1,137,
+konomori_kanon,4,137,
+kishimen,1,137,
+kiki_(majo_no_takkyuubin)_(cosplay),0,137,
+kibellin,1,137,
+kenix,1,137,
+kay_yu,1,137,kaynimatic
+katoroku,1,137,
+kariya_(mizore),1,137,
+karakari,1,137,
+kanzaki_sumire,4,137,
+kangaskhan,4,137,
+kamisama_ni_natta_hi,3,137,the_day_i_became_a_god
+kagura_nana,4,137,
+kagerou_(shadowmage),1,137,
+jyuru,1,137,
+juusenki_l-gaim,3,137,heavy_metal_l-gaim
+jikkyou_powerful_pro_yakyuu,3,137,
+jeanne_d'arc_(azur_lane),4,137,
+is_(kamen_rider_01),4,137,
+inia_sestina,4,137,
+in_shopping_cart,0,137,
+ikkitousen_dragon_destiny,3,137,
+ichikawa_ryuunosuke,1,137,
+hitmontop,4,137,
+hasekura_chiaki,1,137,
+hanna_england,4,137,hanna_(little_witch_academia)
+hakano_shinshi,1,137,
+gundam_card_builder,3,137,
+gomashio_ponz,1,137,
+gokubuto_mayuge,1,137,
+glowing_earrings,0,137,
+fuyuzuki_gato,1,137,
+fuu_fuu,1,137,
+fungi_(genshin_impact),4,137,
+fujisaka_kimihiko,1,137,
+fujimaru_ritsuka_(female)_(tropical_summer),4,137,
+flipnote_studio_(medium),5,137,
+firewatch_(arknights),4,137,
+fairey_swordfish,0,137,
+emaciated,0,137,
+ema_skye,4,137,"houdzuki_akane,houzuki_akane"
+ebi_(eeotoko),1,137,eeotoko
+dqn_(dqnww),1,137,
+dokuro-san,1,137,dokuro-san_(artist)
+daniel_j._d'arby,4,137,
+cyrus_albright,4,137,cyrus_(octopath_traveler)
+cup_noodle,0,137,
+crusch_karsten,4,137,
+crotch_stomping,0,137,crotch_stomp
+courier_(arknights),4,137,
+cottonee,4,137,
+commander_shepard,4,137,
+clima-tact,0,137,
+cirima,1,137,
+chipp_zanuff,4,137,
+cherry_tree,0,137,
+charlotte_(fire_emblem),4,137,charlotte_(fire_emblem_if)
+chai_xianghua,4,137,xianghua
+cancell,1,137,
+bunny_background,0,137,
+breath_of_fire_i,3,137,
+blood_spray,0,137,
+bishi_(bishi),1,137,
+beppu_mitsunaka,1,137,
+battleship_summer_princess,4,137,battleship_summer_hime
+azuma_(azuma10270724),1,137,azuma10270724
+athena_cykes,4,137,kizuki_kokone
+athena_(p&d),4,137,
+asuka_(junerabitts),1,137,
+ariko_youichi,1,137,"ariko_yohichi,yohichi_ariko"
+areola_piercing,0,137,
+apple_bunny,0,137,
+aoi_sora_(pairan),4,137,
+ametama_(runarunaruta5656),1,137,
+amano_maya,4,137,
+alpha_pokemon,0,137,
+alina_(girls_und_panzer),4,137,
+ace_of_clubs,0,137,
+z1_leberecht_maass_(azur_lane),4,136,
+yume_kawaii,0,136,
+yukimaru217,1,136,
+yuki_miku_(2020),4,136,
+whitem_(whiteemperor2020),1,136,jacky5493
+white_jabot,0,136,
+wendi_(nanoha),4,136,
+wapokichi,1,136,
+vertigris,1,136,
+utx_school_uniform,0,136,
+ursus_empire_logo,0,136,
+united_states_army,0,136,
+tsuzuri_(tu-san_house),1,136,
+tsuki_suigetsu,1,136,
+tsubaki_tsubaru,1,136,
+tia-chan,4,136,
+temari_rin,1,136,
+summoner_(final_fantasy),4,136,
+sukkirito_(rangusan),1,136,gzo1206
+sugar_bowl,0,136,
+sue_(grandia),4,136,
+stormtrooper,0,136,
+spy_(tf2),4,136,
+spawnfoxy,1,136,
+souya_ichika,4,136,
+sonjow4,1,136,
+skiploom,4,136,
+shy_guy,4,136,
+shishidou_akiha,4,136,
+shinonoko,1,136,
+shigureteki,1,136,shigure_(pixiv10117)
+sandshrew,4,136,
+sakurasawa_sumi,4,136,
+sakura_tsubame,1,136,
+saki_(ar_tonelico),4,136,
+sakenomi_(cookie),4,136,
+ryuu_ga_gotoku_0,3,136,yakuza_0
+rednian,1,136,
+raisa_pottgen,4,136,raisa_p├Âttgen
+raccoon_hood,0,136,
+pyro_(tf2),4,136,
+pushing_down,0,136,
+porco_galliard,4,136,
+pokemon_ranger,3,136,
+pochadon,1,136,
+plaid_shawl,0,136,
+plaid_pillow,0,136,
+piroshiki123,1,136,
+pinsir,4,136,
+parfaitlate,1,136,
+ox_(baallore),1,136,
+otonari,1,136,
+oozon_(ozon),1,136,
+okazaki_takeshi,1,136,
+octopus_boy,0,136,
+nyakonro_(nekonro),1,136,
+nuqura,1,136,
+notora,1,136,
+nikki_(swapnote),4,136,
+nihei_tsutomu,1,136,tsutomu_nihei
+nene_(sengoku_musou),4,136,
+nemu_(nora),1,136,
+natsuki_yuu_(amemizu),1,136,
+nami_makoto,1,136,
+nagato_yuki_(cosplay),0,136,
+mugen_gakuen_school_uniform,0,136,
+moth_antennae,0,136,moth_ears
+mosaic,0,136,
+mishiro_(andante),1,136,
+mia_taylor,4,136,
+merxkialis,1,136,merukiarisu
+mappe_(778exceed),1,136,
+mami_(apsaras),1,136,
+macaw,0,136,
+linreplica,1,136,
+leysritt_(fate),4,136,leysritt
+lexington_(cv-16)_(warship_girls_r),4,136,
+kumichou_(kumichoubox),1,136,boss_(artist)
+kumamoto_(bbtonhk2),1,136,
+kubo_tite,1,136,kubo_taito
+koru_koruno,1,136,
+kissing_nose,0,136,nose_kiss
+kimura_shigetaka,1,136,kimura_tatsuki
+key_in_head,0,136,
+kayumidome,1,136,
+kashiwaba_tomoe,4,136,
+karasawa-40,1,136,
+kamen_rider_black_rx_(series),3,136,
+kagome_misaki,4,136,
+kagerou_days_(vocaloid),3,136,
+john_(nakoto),1,136,
+jet_black,4,136,
+inugami-ke_no_ichizoku_pose,0,136,
+inon,1,136,
+ikeda_masateru,1,136,
+i-la,1,136,
+holstein_friesian_cattle_(kemono_friends),4,136,
+hiro_hiroki,1,136,
+harunoibuki,1,136,
+hanetu,1,136,tatuyayosi
+hanasaki_mahiru,1,136,
+hajimete_no_gal,3,136,my_first_girlfriend_is_a_gal
+gynoid_talk,3,136,
+gravure_swimsuit_(idolmaster),0,136,
+grail,0,136,
+georugu13,1,136,
+gastrodon,4,136,
+gasp,0,136,
+game_of_thrones,3,136,
+fujisaka_lyric,1,136,
+fang_(arknights),4,136,
+faicha,1,136,
+exion_(neon),1,136,
+era_(erasion),1,136,smh1069
+energy_tank,0,136,"e-can,e-tank,e_can,e_tank"
+ellin_meiji,4,136,"kaiser_(myeonggihusband),kaiser_(myeongjihusband)"
+ein_(cowboy_bebop),4,136,
+eguchi_sera,4,136,
+eerr,1,136,
+drifting,0,136,
+dragon_slayer_ornstein,4,136,
+donquixote_rocinante,4,136,corazon_(one_piece)
+demento,3,136,haunting_ground
+dark_jeanne,4,136,
+dacchi,1,136,
+cyborg_009,3,136,
+cupless_bikini,0,136,
+creepy_eyes,0,136,
+creat,1,136,
+cocoon_(loveririn),1,136,cocoon_(pixiv479260)
+ciel_sacred,4,136,ciel_(mishima_kurone)
+chin_gero,1,136,moepush
+cherrim,4,136,
+bunny_ears_prank,0,136,"bunny_ears_gesture,v_(bunny_ears)"
+blazblue:_cross_tag_battle,3,136,
+beast,0,136,
+bao_(vtuber),4,136,
+ayatsuki_sugure,1,136,
+ayakase_riberi,1,136,
+aron,4,136,
+archer_(pokemon),4,136,apollo_(pokemon)
+akabane_youko,4,136,
+agonasubi,1,136,
+100th_black_market,3,136,
+00_gundam,4,136,
+zattape,1,135,
+yveltal,4,135,
+yuyu_(yuyuworks),1,135,yuyutan0904
+yuuki_sonisuke,1,135,
+yoshimon,1,135,
+yon_(letter),1,135,
+yari,0,135,
+yamaneko_(tkdrumsco),1,135,
+yamane_akira,1,135,xefy
+yamamoto_akira,4,135,
+yahiro_(epicopeiidae),1,135,
+xiaosan_ye,1,135,
+xiaosamiao,1,135,
+wing_censor,0,135,censor_wings
+white_gakuran,0,135,
+waist_brooch,0,135,
+viper_(valorant),4,135,
+ultraviolet_light,0,135,
+ukumo_uichi,1,135,
+tyako_089,1,135,
+theta_(ponkotsu_works),1,135,
+the_king_of_fighters_'97,3,135,king_of_fighters_97
+taiga_takeru,4,135,
+switzerland_(hetalia),4,135,
+sturmgeschutz_iii,0,135,
+smite,3,135,
+small_stellated_dodecahedron,0,135,
+shiromochi_sakura,1,135,shiramochi
+shima_(wansyon144),1,135,
+serah_farron,4,135,
+satsuki_(miicat),1,135,
+sasaki_fuuka,4,135,fuuka_(watamote)
+saryuu_(iriomote),1,135,yes_warabi
+santana_(jojo),4,135,
+sankyaku_tako,1,135,takotsu
+sakuragi_kei,1,135,
+safety_razor,0,135,
+runa_(artist),1,135,
+rugo,1,135,
+rin_(blue_archive),4,135,
+reverse_footjob,0,135,
+rampart_(apex_legends),4,135,
+qunqing,1,135,
+qing_wu,1,135,
+potaaju,1,135,
+pocketland,3,135,
+pkpokopoko3,1,135,
+pixiv_fantasia_revenge_of_the_darkness,3,135,
+pixel_(yuxian),1,135,
+piggy_bank,0,135,
+pic_postcard,1,135,
+pentagon_(shape),0,135,
+pauline_(mario),4,135,
+panzerkampfwagen_panther,0,135,panther_(tank)
+panda_tail,0,135,
+palmon,4,135,
+pain-lucky777,1,135,
+ozaki_(tsukiko3),1,135,
+otter_girl,0,135,
+orochimaru_(naruto),4,135,
+oomori_(kswmr),1,135,
+on_banana,0,135,girl_on_banana
+ofuda_on_nipples,0,135,
+nyanmilla,1,135,
+nyahu_(nyahu_77),1,135,nyafu_(moai_lion)
+nvl,1,135,
+noumin,1,135,
+notte,1,135,
+natsuk,1,135,
+naop_(anything),1,135,
+nanonin,1,135,
+mzh,1,135,
+mushroom_(osh320),1,135,
+mtyy,1,135,
+mousse_(ranma_1/2),4,135,
+moketto,1,135,
+mochi_(mochi444420),1,135,
+mix_(aquarion),4,135,
+misawa_maho,4,135,
+midoribox,1,135,
+metal_crab_(arknights),4,135,
+merii_(mazohaha),4,135,
+meimi_k,1,135,meimi
+mega_milk,0,135,
+meat_day,0,135,
+matty_(zuwzi),1,135,
+maruti_bitamin,1,135,
+mamyouda,1,135,
+madaraki_fran,4,135,
+mad_max,3,135,
+luca_truelywaath,4,135,luca_trulyworth
+locked_slide,0,135,
+li_meiling,4,135,
+lead_white_(tsurunoka),4,135,
+lavelis,1,135,
+lactating_into_cup,0,135,
+la-na,1,135,
+kyle_broflovski,4,135,
+kuroki_tsutomu,4,135,
+ksvk_(girls'_frontline),4,135,ksvk_(girls_frontline)
+kozume_kenma,4,135,
+koopa_troopa,4,135,
+kokono_coco,1,135,
+kohshibasaki,1,135,
+kizaki_(volvox),1,135,
+kiriyama,1,135,
+kipi-san,4,135,
+kin_niku,1,135,
+kildir,1,135,yura_(botyurara)
+kawaraya_a-ta,1,135,kawaraya
+kaninn,1,135,
+junny,1,135,
+jeto_(jetopyon),1,135,"akiyoku,budjeto"
+itsumizu,1,135,
+ink_stamp,0,135,
+imaishi_hiroyuki,1,135,
+im_(badmasa),1,135,
+holding_duster,0,135,
+holding_chalk,0,135,
+hiiro_(alchemy_stars),4,135,
+hibi89,1,135,
+haseo_(.hack//),4,135,
+hase_neet,1,135,neet_(pixiv44860)
+harumaki,1,135,
+haru_(tsuritama),4,135,
+harau,1,135,
+haitekudasai_takamine-san,3,135,
+guncannon,4,135,
+godzilla:_king_of_the_monsters,3,135,
+god_gundam,4,135,burning_gundam
+glowing_hands,0,135,
+ginzuki_ringo,1,135,
+ghost_earrings,0,135,
+ge_xi,1,135,
+gallon,4,135,jon_talbain
+fujita_(condor),1,135,
+frogsnake,1,135,
+following,0,135,
+finger_cots,0,135,finger_covers
+feower_(granblue_fantasy),4,135,quatre_(granblue_fantasy)
+feipin_zhanshi,1,135,hirasawagitai
+eldegoss,4,135,
+digdug006,1,135,
+cure_scarlet,4,135,
+cresselia,4,135,
+covered_piercing,0,135,
+corona_timir,4,135,
+cocoperino,1,135,
+clivenzu,1,135,
+chikuwa_(yurucamp),4,135,
+cherico,1,135,
+chaldea_logo,0,135,
+chainsword,0,135,
+cd_player,0,135,
+castanets,0,135,castanet
+carry_me,0,135,pick_me_up
+bren_lmg,0,135,
+beerus,4,135,
+bebinn,4,135,
+batgirl,4,135,
+barbie_(franchise),3,135,
+azuma_lim,4,135,
+azami_(kagerou_project),4,135,
+asususususu,1,135,asuka_free0115
+astg,1,135,
+ashita_no_nadja,3,135,
+asatani_tomoyo,1,135,mayachise
+asagao_minoru,1,135,
+armored_aircraft_carrier_oni,4,135,
+arm_pouch,0,135,
+aria_(sister_princess),4,135,
+american_flag_pants,0,135,
+amelie_planchard,4,135,
+amagi_shino,1,135,
+altar,0,135,
+alice_girls_shiny_heart,3,135,
+akanesanzou,1,135,
+akame_(akame_ga_kill!),4,135,
+akagi_(sk0127aho),1,135,
+air_jordan_1,0,135,
+aina_ardebit,4,135,
+absolute_duo,3,135,
+a_hat_in_time,3,135,
+zombie-andy,1,134,
+yuubararin,1,134,
+yurizaki_mira,4,134,
+yukinoshita_haruno,4,134,
+yukihiro_ayaka,4,134,
+yuki_miku_(2010),4,134,
+yizhirenben,1,134,shoutai_(7490773)
+yellow_tongue,0,134,
+yamato_damashi,1,134,
+yamashiro_(summer_offensive?)_(azur_lane),4,134,
+xian_jian_qi_xia_zhuan_(series),3,134,
+wuwusan,1,134,
+winda_priestess_of_gusto,4,134,
+unlovely_(happinesscharge_precure!),4,134,"cure_unlovely,unlovely_(precure)"
+ukai_saki,1,134,
+uchisaki_himari,1,134,himari-san_yanaika
+tsukimi_(xiaohuasan),1,134,xiaohuasan
+tsuchinoko,0,134,
+tropical_fish,0,134,
+tonari_(ichinichime_azuma),1,134,
+togo_(korlsj1235),1,134,
+the_promised_time:_silks_&_three_riddles_(umamusume),0,134,
+tamura_yukari,4,134,
+takurowo,1,134,takuroo
+takanashi_touka,4,134,takanashi_tooka
+takamine_takane,4,134,
+sumeragi_tomo,1,134,
+squirting_liquid,0,134,
+spencer_sais,1,134,
+sp0i0ppp,1,134,
+sophie_(toast_of_the_town)_(tales),4,134,
+sonya_(fire_emblem),4,134,sonia_(fire_emblem_gaiden)
+solomon_(fate),4,134,solomon_(fate/grand_order)
+sims_(azur_lane),4,134,
+shitou_(4h),1,134,
+shiromikan,1,134,nagisa3710
+shinma_x_keishou!_ragnabreak,3,134,
+shikido_(khf),1,134,chahora_(siki_dos)
+shapoco,1,134,syego
+senpai-san_(douki-chan),4,134,okuzumi_maiko
+samsara_(shuukeura),1,134,
+sakuraba_aoi,4,134,
+sakura_ichiko,4,134,
+rogue_(ragnarok_online),4,134,
+richou_(zerozero1101),1,134,
+rezodwel,1,134,
+reunion_soldier_(arknights),4,134,
+renshu_usodayo,1,134,uyo_oto
+reminiscence,3,134,
+r_daneel_olivaw,4,134,
+purah,4,134,
+polygamy,0,134,
+polka_dot_shorts,0,134,
+pinstripe_skirt,0,134,
+pemu,1,134,
+pawn_(dragon's_dogma),4,134,
+patamon,4,134,
+paralyzer,0,134,
+pandora_(p&d),4,134,
+paladin_(sekaiju),4,134,protector_(sekaiju)
+pajamas_challenge_(meme),0,134,
+overpass,0,134,
+orga_itsuka,4,134,
+oosaki_minato,4,134,
+oomasa_teikoku,1,134,
+nyazui,1,134,
+nyatrix,1,134,
+nisetanaka,1,134,
+nigelungdayo,1,134,
+namusanbou,0,134,
+nae_(rno),1,134,na_(rno)
+morinaga_kobato,1,134,
+mizushima_asa,4,134,
+mishiro_shinza,1,134,
+minahoshi_taichi,1,134,
+mg34,0,134,
+megami_magazine_deluxe,3,134,megami_deluxe
+matsumoto_yoriko,4,134,
+marshtomp,4,134,
+mao_(darker_than_black),4,134,
+mandragora,0,134,
+magical_halloween,3,134,
+maetel,4,134,
+machop,4,134,
+lwmmg_(girls'_frontline),4,134,lwmmg_(girls_frontline)
+looking_at_hands,0,134,
+lillipup,4,134,
+lie_ren,4,134,
+li_xingke,4,134,
+leavanny,4,134,
+larvitar,4,134,
+l-elf,4,134,
+kuronohana,1,134,
+kuroimori,1,134,
+kuroda_(nanchara_flight),1,134,96rwby
+kurahana_chinatsu,1,134,
+kurage1,1,134,u0709
+koubou_(cowbow_kun),1,134,
+kotteri,1,134,
+kosuke_haruhito,1,134,
+korisei,1,134,
+kohanayuki,1,134,
+kkuem,1,134,
+kinako_(marubotan),1,134,marubotan
+key_(gaigaigai123),1,134,
+kerorokjy,1,134,
+kazuhira_miller,4,134,
+kayanogura,1,134,
+kanopan,1,134,hirotan_insitao
+kanata_(kanade_pa),1,134,kanade_pa
+kabayaki_namazu,1,134,
+jynx,4,134,
+justice_league,3,134,
+joukamachi_no_dandelion,3,134,
+jonya,1,134,
+jnt,1,134,
+itou_hachi,1,134,
+ishida_umi,1,134,"ishita_umi,u_(uminonaka000)"
+irisviel_von_einzbern_(caster),4,134,
+inyuppo,1,134,
+inner_moka,4,134,
+ina_zuma,1,134,
+ikeda_yasuhiro,1,134,yasuhiro_ikeda
+ichiryuu_tsumiki,1,134,
+hyonee,1,134,
+hu_sea,1,134,
+houlen_yabusame,4,134,houren_yabusame
+honeypot,0,134,
+homaderi,1,134,
+holox,0,134,
+hiyo_kiki,1,134,
+hiro_yoshinaka,1,134,yosinaka_hiro
+hidan_(naruto),4,134,
+hapymaher,3,134,
+han'you_no_yashahime,3,134,
+hamahama,1,134,hhama
+haiyi,4,134,
+guilty_gear_2,3,134,
+golbeza,4,134,golbez
+gins,1,134,
+ghost_in_the_shell_lineup,0,134,
+genryuusai_maki,4,134,
+fuyuichi,1,134,
+fuutou_shizune,4,134,
+fuju,1,134,
+fujirin,1,134,
+from_argonavis,3,134,argonavis_from_bang_dream!
+floating_castle,0,134,
+fiz_(fizintine),4,134,
+festa11307070,1,134,
+fei_fakkuma,4,134,
+f-22_raptor,0,134,
+exhaust_pipe,0,134,
+exeggutor,4,134,
+ethel_(xenoblade),4,134,
+eria_the_water_charmer,4,134,
+erebus_(azur_lane),4,134,
+epic_armageddon,1,134,
+enterprise_(warship_girls_r),4,134,
+elysium_(arknights),4,134,
+drake_(azur_lane),4,134,
+dolechan,1,134,dole_(lo628)
+digivice,0,134,
+dewprism,3,134,threads_of_fate
+comiket_96,3,134,
+clear_glass_(mildmild1311),1,134,
+cero_(last2stage),1,134,
+centiskorch,4,134,
+caroline_(persona_5),4,134,
+cardboard_box_gundam,4,134,
+c_(neta),1,134,
+buchikaki,1,134,
+borderlands_2,3,134,
+bibi_(love_live!),0,134,
+benimura_karu,1,134,
+bayonetta_3,3,134,
+apron_pull,0,134,
+annie_mei_project,3,134,
+anna_williams,4,134,
+animal-themed_umbrella,0,134,animal_themed_umbrella
+anetai_toyone,4,134,
+ame_yamori,1,134,
+ame-san,1,134,
+216,1,134,
+zunta,1,133,
+zigzagoon,4,133,
+zero_kara_hajimeru_mahou_no_sho,3,133,
+zenyatta_(overwatch),4,133,tekhartha_zenyatta
+zawawa_(satoukibi1108),1,133,
+zakirsiz,1,133,
+yuyi,1,133,
+yupiteru,1,133,
+you_can_eat_the_girl,3,133,
+yoshikawa_hideaki,1,133,
+yk_(pixiv43531291),1,133,
+yappa_muri,1,133,
+webclap,0,133,
+watchmen,3,133,
+warzard,3,133,
+wakamatsu_hirotaka,4,133,
+umesato_middle_school_uniform,0,133,
+tsuki_ni_yorisou_otome_no_sahou,3,133,
+tousaki_umiko,1,133,
+torotei,1,133,
+toriseru_(thesuperhero),1,133,
+too_many_chicks,0,133,
+tokonome_mamori,4,133,
+toaru_kagaku_no_railgun_s,3,133,to_aru_kagaku_no_railgun_s
+tenseiani,1,133,
+tenoo12,1,133,
+tear_ring_saga,3,133,
+tanuki_yousuke,1,133,
+tanakara,1,133,
+takanaga_kouhei,1,133,
+takamori_haruka,4,133,
+takahara_ayumi,4,133,
+taka_(taka_wo_kukuru),1,133,
+taka-kun,1,133,
+surumeri_(baneiro),1,133,
+sukumo_(kemutai),1,133,
+suda_ayaka,1,133,
+starheart,1,133,
+spray,0,133,
+shopyun,1,133,
+shiva_(final_fantasy),4,133,
+shion_(mirudakemann),1,133,uehara_(ueharahaue)
+shinjin-chan_(douki-chan),4,133,"dark-skinned_girl_(yomu_(sgt_epper)),intern_(douki-chan),intern_(yomu_(sgt_epper))"
+shindou_kei_(ef),4,133,
+shiburingaru,1,133,
+satoimo_chika,1,133,
+sasanoneko,1,133,ssn
+sasanon_(sasapoliton),1,133,
+sasakuma_kyouta,1,133,
+sara_valestein,4,133,
+rynzfrancis,1,133,
+rumia_tingel,4,133,
+rko_(a470350510),1,133,
+ribero,1,133,
+raru_(nanaharararu),1,133,
+rai_(sakuranbo_sugar),1,133,ra_i
+priest_(dungeon_and_fighter),4,133,
+pretty_rhythm_aurora_dream,3,133,
+poliwhirl,4,133,
+pnatsu,1,133,
+peroncho,1,133,
+panzuban,1,133,
+ouran_high_school_uniform,0,133,
+othel_(hatimorris),1,133,"fong_(gychuchu),hatimorris,ooseru,orser,othel"
+orange_bandana,0,133,
+object_in_panties,0,133,
+nyakelap,1,133,
+nut_(hardware),0,133,nuts_(hardware)
+neonfloyd,1,133,waffle_drink
+neckwear_request,5,133,neckwear
+natsukawa_sarasa,1,133,
+narae,1,133,
+nanjou_asuka,1,133,
+nanakusa_amane,1,133,
+najuco_(naju0517),1,133,
+nagara_(azur_lane),4,133,
+muzzle_brake,0,133,
+mugen_ouka,1,133,
+morisshii_(morishiey),1,133,morinokirin
+momoe_maria,4,133,
+mizuno,3,133,
+miyamae_porin,1,133,
+minyom,1,133,
+minamiya_mia,1,133,mia526
+mikao_(eanv5385),1,133,
+midorino_eni,1,133,
+mega_man_11,3,133,rockman_11
+matsuura_nanase,4,133,nanase_matsuura
+matsuno_canel,1,133,
+mato_spectoru,1,133,
+maruyaa_(malya1006),1,133,maruya1006
+mark_gavatino,1,133,
+manuela_casagranda,4,133,manuela_(fire_emblem)
+maenchu,1,133,
+maaru_(akira428),1,133,
+lucina_(spring)_(fire_emblem),4,133,
+lino-lin,1,133,
+lethe_(fire_emblem),4,133,
+ky.,1,133,
+kuon_yashiro,1,133,
+ktsecond,1,133,kt2
+kosai_takayuki,1,133,
+kokeshi_(yoi_no_myoujou),1,133,uroko-shi
+kobo_(cobo_0609),1,133,
+kobayakawa_sena,4,133,
+kirby_super_star,3,133,
+kincora,1,133,kinven
+kazuchi,1,133,
+kataokasan,1,133,
+kamiki_sekai,4,133,
+kama_(swimsuit_avenger)_(second_ascension)_(fate),4,133,
+kahadu_(kawazu),1,133,kawazu
+juni_(street_fighter),4,133,
+jt_dong-agyoku,1,133,
+john_doe_shinobu,1,133,
+jellicent,4,133,
+jekyll_and_hyde_(fate),4,133,
+jazztaki,1,133,
+izuru_(timbermetal),1,133,
+izumi_masamune,4,133,
+itou_ryuusei,1,133,
+incise_soul,3,133,
+incense_burner,0,133,
+ichinose_tokiya,4,133,
+ichiban_ushiro_no_daimaou,3,133,ichiban_ushiro_no_dai_maou
+hyoudou_michiru,4,133,
+hunterkay,1,133,
+hot_limit,0,133,
+honoka_chiffon,1,133,honoka_(1399871)
+hongbaise_raw,1,133,
+holding_wallet,0,133,
+holding_stomach,0,133,
+hoimi_slime,4,133,
+hizuki_aya,1,133,hizuki_mai
+hinoe_(dd_works),1,133,
+hino_hino,1,133,
+hilt,0,133,
+hibiscus_print,0,133,
+heartbeat_(module),0,133,
+haru_(konomi_150),1,133,
+hara_shoutarou,1,133,
+h&k_mp5k,0,133,mp5k
+green_apple,0,133,
+gozu_farm,1,133,
+gouf,4,133,
+giroro,4,133,
+girl_with_a_blonde_braid_(tomoshibi_hidekazu),4,133,
+game_boy_color,0,133,gameboy_color
+fuurin_asumi,4,133,
+funitarefu,1,133,
+fumei_(mugendai),1,133,napalm_zero
+fujimaru_ritsuka_(female)_(chaldea_combat_uniform),4,133,
+foreign_blue,1,133,
+firis_mistlud,4,133,
+final_fantasy_xiii-2,3,133,ff13-2
+fare_gate,0,133,
+fakir_(princess_tutu),4,133,
+faiz_azhar,1,133,
+esaka,1,133,
+eriyama_e,1,133,eriyama_(user_csua4255)
+ek_masato,1,133,
+egnigem_cenia,4,133,
+ebata_risa,1,133,
+doughnut_innertube,0,133,
+din_(flypaper),1,133,
+darkest_dungeon,3,133,
+cure_custard,4,133,
+chitetan,1,133,
+chi-hatan_(emblem),0,133,
+char's_counterattack_-_beltorchika's_children,3,133,
+cargo_net,0,133,
+call_of_duty:_modern_warfare_2,3,133,
+blanche_(pokemon),4,133,
+black_cellien_(kemono_friends),4,133,black_cerulean_(kemono_friends)
+barawa,4,133,
+balancing_on_head,0,133,
+ayyh,1,133,
+aya_roushi,1,133,aya_(user_ddya7452)
+aya_(lezon),1,133,yaye
+asakura_noi,1,133,
+aramaru,1,133,shikoomaru
+arakure,1,133,
+ankh_necklace,0,133,
+anchorage_oni,4,133,
+amagaeru_(amapippi052525),1,133,
+akuno_hideo,4,133,
+akira_miku_ver,1,133,
+airplane_wing,0,133,
+abra,4,133,
+221_(tsutsuichi),1,133,
+.hack//games,3,133,
+zabel_zarock,4,132,lord_raptor
+yutarou,1,132,
+yorra_villeneuve,4,132,
+yomikawa_aiho,4,132,
+yamashiro_kai_ni_(kancolle),4,132,
+yamaha_tsui,1,132,sanba_tsui
+yakka,1,132,
+xiaomu,4,132,
+xiao_chichi,1,132,
+weno's_blonde_original_character,4,132,
+wasabi,0,132,
+vhs_artifacts,0,132,
+venus_flytrap,0,132,
+utakata_(azaka00),1,132,
+unya_(unya-unya),1,132,
+unibrow,0,132,
+ueauwa,1,132,
+uchiuchi_keyaki,1,132,
+turbulence,1,132,
+tribadism_through_clothes,0,132,tribadism_through_clothing
+transparent_border,0,132,
+toron_(mino106),1,132,mino106
+timeskip,0,132,
+thigh_bow,0,132,
+tatata,1,132,roripo
+tashkent_(the_bound_cruiser)_(azur_lane),4,132,
+taruhi,1,132,
+tamamo_(mon-musu_quest!),4,132,
+tamade_chiyu,4,132,chu2_(bang_dream!)
+suzuki_rion,4,132,
+sunkern,4,132,
+sticky_(stickysheep),1,132,
+star_balloon,0,132,
+snowflake_ornament,0,132,
+single-shoulder_shirt,0,132,
+siddham,0,132,
+sidarim,1,132,
+shiraori,4,132,
+shino_hajime,4,132,
+shindol,1,132,"da_hootch,shindou_eru,shindou_l,shindoul"
+shanoa,4,132,
+serving,0,132,
+senjou_no_electro_girl,3,132,
+sema_(vivaviva_02),1,132,
+sebu_illust,1,132,
+scrafty,4,132,
+scary_sex,0,132,
+sawaya_(mizukazu),1,132,
+satsuma_age,1,132,
+saint_tail,4,132,
+ryuntack,1,132,ryunryun
+rose_neru,1,132,
+robina,1,132,
+ralsei,4,132,
+raidon,1,132,
+purple_pajamas,0,132,
+project.c.k.,1,132,
+portuguese_text,0,132,portuguese
+ponpon_(tosico),1,132,
+pixiv_fantasia_2,3,132,
+pink_seito,1,132,
+pedestal,0,132,
+paper_cutout,0,132,paper_cut-out
+paladins,3,132,
+otomore_(shashaki),4,132,
+orel_cruise,0,132,
+okita_souji_alter_(swimsuit_saber)_(fate),4,132,okita_souji_(alter_swimsuit_saber)_(fate)
+okamura_nao,4,132,
+okajima_rokuro,4,132,
+ochiai_miyabi,1,132,
+noblesse_(elsword),4,132,
+nako_(nonrain),1,132,
+nachi_kai_ni_(kancolle),4,132,
+murasame_(senren),4,132,
+multiple_necklaces,0,132,
+mrkg_(arsfatuus),1,132,arslood
+mizukami_ryouma,1,132,
+miyu_(matsunohara),1,132,matunoha
+misaka_kaori,4,132,
+milk_churn,0,132,milk_can
+merry_(diameri),1,132,
+meal,0,132,
+maruzensky_(blasting_off_summer_night)_(umamusume),4,132,maruzensky_(summer_suit)_(umamusume)
+maki_ikazuya,1,132,bakemonogatari1
+machine_(nier),4,132,
+lrl_(last_origin),4,132,lrl
+le_malin_(mercredi_at_the_secret_base)_(azur_lane),4,132,le_malin_(wednesday's_retreat)_(azur_lane)
+kurohara_yuu,1,132,
+kurkoboltsi,1,132,
+kujaku_mai,4,132,mai_valentine
+koza_game,1,132,
+kiseijuu,3,132,parasyte
+kisei2,1,132,
+kirino_souya,1,132,
+kimi_no_kokoro_wa_kagayaiteru_kai?,0,132,
+kim_kwang_hyun,1,132,
+killer_t_(hataraku_saibou),4,132,
+katoryu_gotoku,1,132,
+karuta_(karuta01),1,132,
+karen_(sister_princess),4,132,
+kanokoga,1,132,
+kanameya,1,132,
+kamiki_izumo,4,132,
+kakifly,1,132,
+kaimuari,1,132,k_(artist)
+jurassic_park,3,132,
+izanami_(persona),4,132,
+ittoki_otoya,4,132,
+improvised_umbrella,0,132,
+ibaraki_kasen_(cosplay),0,132,
+houdukixx,1,132,
+himekawa_(shashaki),4,132,
+hiita_(yu-gi-oh!),4,132,
+hekoningyou_(waraningyou),1,132,
+hecha_(01964237),1,132,"hecha_(swy1996228),kazucha"
+haccan,1,132,
+gyuunyuu_nomio,1,132,
+gu_luco,1,132,
+gramophone_miku,4,132,
+fuurinkan_high_school_uniform,0,132,furinkan_high_school_uniform
+frilled_footwear,0,132,
+fraux,4,132,
+faust_(guilty_gear),4,132,
+ezaki_papiko,1,132,
+enraku_tsubakura,4,132,
+elephant_ears,0,132,
+edward_geraldine,4,132,"edge_(ff4),edge_(ffiv)"
+dynamax,0,132,
+dogpile,0,132,pile-up
+deilan12,1,132,
+deep_(deep4946),1,132,
+custom_maid_3d_2,5,132,
+cp00,1,132,
+comic_tenma,3,132,
+clothes_rack,0,132,
+chiyomaru_(yumichiyo0606),1,132,
+chicke_iii,1,132,
+chiachun0621,1,132,
+cheryl_(pokemon),4,132,momi_(pokemon)
+checkered_ribbon,0,132,
+censored_gesture,0,132,
+castlevania:_order_of_ecclesia,3,132,
+carl_clover,4,132,
+card_holster,0,132,
+caption,0,132,
+calling,0,132,
+cafe_stella_to_shinigami_no_chou,3,132,
+bookstore,0,132,
+blender,0,132,
+bend,0,132,
+azuma_hazuki,4,132,
+aston_machan_(umamusume),4,132,
+arnold-s,1,132,arnold_scarlet
+archlich,1,132,
+arata_iri,1,132,tairi
+alia's_carnival!,3,132,
+akirannu,1,132,
+aiba_uiha,4,132,
+ahagon_umiko,4,132,
+admiral_graf_spee_(peaceful_daily_life)_(azur_lane),4,132,
+7zu7,1,132,
+yuzuki_yukari_(shizuku),4,131,
+yui.h,1,131,yui0618
+youshu_ohepe,1,131,youshuu_ohepe
+yourfreakyneighbourh,1,131,
+xanax025,1,131,
+wurmple,4,131,
+wa2000_(date_in_the_snow)_(girls'_frontline),4,131,
+violetshit,1,131,dansa
+vatista,4,131,
+type_97_chi-ha,0,131,type_97_chi_ha
+towel_on_one_shoulder,0,131,
+tongue_tattoo,0,131,
+tomiwo,1,131,
+tom_nook_(animal_crossing),4,131,"tanukichi_(doubutsu_no_mori),tom_nook"
+the_hunchback_of_notre_dame,3,131,
+tenkuu_no_escaflowne,3,131,"escaflowne_of_the_heavens,the_vision_of_escaflowne,vision_of_escaflowne"
+tanino_gimlet_(umamusume),4,131,
+talim,4,131,
+takigawa_yuu,1,131,
+takenoko_no_sato_(food),0,131,
+taira_yuuki,1,131,
+tacco_(tikeworld),1,131,tikeworld
+tabuchi_(tabuchisanchi),1,131,
+suou_amane,4,131,
+stuffed_dragon,0,131,
+sprue,0,131,
+slowbro,4,131,
+shizuka_joestar,4,131,
+shin_megami_tensei_iv,3,131,
+shikniful,1,131,
+shibakame,1,131,
+shaft,3,131,
+sequins,0,131,
+sekishiro_mico,4,131,
+saya_(blue_archive),4,131,
+sawai_natsuha,4,131,
+sanuki_(kyoudashya),1,131,
+rio_wezley,4,131,
+rapeseed_blossoms,0,131,
+rance_10,3,131,
+raigou,1,131,
+q_(control),4,131,q_(c)
+pump_(pumpqmuq),1,131,pump_(artist)
+prophecy_(rakuichimonji),1,131,
+prisma_illya_(cosplay),0,131,
+prehistoric_animal,0,131,
+potemayo,3,131,
+potekite,1,131,
+ponta_(velmar),1,131,pnt_(ddnu4555)
+pinoko_(pnk623),1,131,
+persian,4,131,
+paru_paru,0,131,
+otomeza_ryuseigun,1,131,
+orimiya_mai,1,131,puriori-soft
+onimaru_gonpei,1,131,
+ominous_shadow,0,131,
+oinari-sama_(kemono_friends),4,131,
+o-ring_dress,0,131,
+ngayope,1,131,
+neyuki_rei,1,131,
+nestkeeper,1,131,
+natsuki_(gedo),1,131,gedoo_(gedo)
+natsu_(sinker8c),1,131,
+na_kyo,1,131,
+n-mix,1,131,
+music_s.t.a.r.t!!,0,131,
+motsuaki,1,131,
+moko_(moko/moko),1,131,
+mocha_(naturefour),1,131,
+mizuno_sao,1,131,mizuno_(suisuiw)
+mizu_(lzzrwi603),1,131,
+miemia,1,131,
+midori_(310ri_21),1,131,
+mejiro_haruhiko,4,131,
+matsusaka_gyuu,1,131,matsusaka_ushi
+matou_byakuya,4,131,
+masaki_(celesta),1,131,
+martha_(swimsuit_ruler)_(first_ascension)_(fate),4,131,
+maria_(fire_emblem),4,131,
+luna_(reclaimed_land),1,131,
+lobo_(fate),4,131,lobo_(fate/grand_order)
+laevatein_(fire_emblem),4,131,laevateinn_(fire_emblem_heroes)
+lace_collar,0,131,
+kz_nagomiya,1,131,
+kurumi_(recycllamo),1,131,"hermmot666,kurumi_(plath)"
+kuroshiro_(ms-2420),1,131,
+kujou_kazuya,4,131,
+kufei,4,131,ku_fei
+kubota_masaki,1,131,
+krenz,1,131,cushart
+kou_futoshi,1,131,
+kongari_tokei,1,131,
+kogasa-san's_father,4,131,
+kiryuu_michiru,4,131,
+kawasaki_tadataka,1,131,
+kawanuma_uotsuri,1,131,
+kasuga_souichi,1,131,midori_kouichi
+kamen_rider_gaim,4,131,
+justin_leyva_(steamy_tomato),1,131,
+ja'far_(magi),4,131,
+itsumi_(itumiyuo),1,131,
+irono_(irtyu),1,131,"irono_yoita,tyanpon"
+inubouzaki_itsuki,4,131,
+inoue_seita,1,131,
+ilya_kuvshinov_(style),0,131,
+ikuya_koimori,1,131,
+ichikawa_kyoutarou,4,131,
+ichidai_taisa,1,131,1dtsa
+hoyon,1,131,
+holding_bow_(ornament),0,131,
+hiryuu_kai_ni_(kancolle),4,131,
+himedanshi,0,131,
+hijouguti,1,131,
+hibiki_mio,1,131,
+hentai_(1985),1,131,hentai_(pixiv4694)
+helloimtea,1,131,
+hayase_misa,4,131,
+hashiri_nio,4,131,
+graviton_beam_emitter,0,131,
+gram_9,1,131,"gramstorage,guramu_kyuu-ban"
+giryu,1,131,
+funakura,1,131,
+fukujima_kiwi,1,131,tohoku_kiwi
+fujioka,4,131,
+flamel_symbol,0,131,
+fionn_mac_cumhaill_(fate/grand_order),4,131,
+ferrari,0,131,
+eyes_of_grima,0,131,
+emelie_(cyancapsule),4,131,
+elsevilla,1,131,"hector_enrique_sevilla_lujan,hector_sevilla_lujan"
+elbowing,0,131,
+edomae_lunar,4,131,"edomae_luna,edomae_runa"
+dynamo_roller_(splatoon),0,131,
+doumou,1,131,
+dizi930,1,131,
+deviljho,4,131,
+detective_pikachu_(character),4,131,
+death_flag,0,131,
+dartboard,0,131,
+comic_megastore,3,131,
+cocked_hammer,0,131,
+cleft_chin,0,131,
+chiwa_(chiwa0617),1,131,
+chiimako,1,131,
+chihiro_(blue_archive),4,131,
+cheetah_(kemono_friends),4,131,
+bondson,1,131,
+bojji,4,131,
+black_cat_(series),3,131,
+bf_109,0,131,
+berukko,1,131,pokoruru
+beiyi,1,131,
+bayleef,4,131,
+avery_(pokemon),4,131,
+atom,0,131,
+ashino,1,131,
+arsene_(persona_5),4,131,
+arrow_(jojo),0,131,stand_arrow
+anbutter_siruko,1,131,
+amasaki_yusuke,1,131,wa-kun
+amakara_surume,1,131,
+aliceblue,1,131,
+akiyama_cz4a,1,131,
+akai_ringo_(ookami-san),4,131,
+against_table,0,131,
+afterglow_(bang_dream!),0,131,
+admiral_graf_spee_(girl's_sunday)_(azur_lane),4,131,admiral_graf_spee_(maiden's_sunday)_(azur_lane)
+abaratani_kurou,1,131,deadcrow
+zepar,4,130,
+yotsuboshi-imai,1,130,
+whismur,4,130,
+watanabe_kanako,4,130,
+vulcanus_(disgaea_4),4,130,volcano_(disgaea)
+ukan_muri,1,130,crombaster
+type_99_dive_bomber,4,130,
+twilight_(go!_princess_precure),4,130,twilight_(precure)
+tunamayo_(dsasd751),1,130,da_(dsasd751)
+tribute_(tributism),1,130,
+too_many_rabbits,0,130,too_many_bunnies
+tokyo_ravens,3,130,
+togetic,4,130,
+terror_(azur_lane),4,130,
+tenzou_crossunite,4,130,
+taowu_(20809),1,130,
+takeuchi_aya,1,130,
+take_(draghignazzo),1,130,
+takatsu_keita,1,130,takatsu
+sweater_removed,0,130,
+superhero_landing,0,130,three-point_landing
+super_orion_(fate),4,130,orion_(super_archer)_(fate)
+sun-3,1,130,
+slav_squatting,0,130,"delinquent_squatting,yankee_squatting"
+shuu-0208,1,130,
+shisshou_senkoku,1,130,
+shirosu,1,130,
+shinmon_akika,1,130,"irebun,s_mika2000"
+shinjou_hinaki,4,130,
+shikou_sakugo_(qqap9gt9k),1,130,
+shanks_(one_piece),4,130,shanks
+shaka_(staito0515),1,130,
+shadow_(shadows_house),0,130,
+seseren,1,130,
+senyoku_no_sigrdrifa,3,130,
+sayousuke,1,130,
+saren_(christmas)_(princess_connect!),4,130,
+sana!rpg,1,130,
+samurai_(final_fantasy),4,130,
+sakofu,1,130,
+sakaki_shizuka,4,130,
+ryuno,1,130,
+rumoon,1,130,"cocoamix,rumoon_cocoa"
+rui_(dream_c_club),4,130,
+rourou_ill,1,130,
+roang,1,130,
+reihou19,1,130,
+puti_devil,1,130,
+poko_chin,1,130,
+plachta,4,130,
+pipidan,1,130,pp_bullet
+pink_cloak,0,130,
+pineapple_slice,0,130,
+pie_slice,0,130,slice_of_pie
+paul_bunyan_(third_ascension)_(fate),4,130,
+ohoho,1,130,
+ochazuke,1,130,
+noire_(fire_emblem),4,130,
+nito_(nshtntr),1,130,
+nikka_(cryptomeria),1,130,
+nemophila_(flower),0,130,
+mushiking,3,130,
+multicolored_buttons,0,130,
+mpien,1,130,
+motono_(sakamotono),1,130,sakamotono
+mokuzou_(moku_ssbu),1,130,
+menea,1,130,
+melissabelle,4,130,
+maruku,1,130,
+maria_campbell,4,130,
+mai_(dragon_ball),4,130,mai_(dragonball)
+lafiel,4,130,
+kurowa_(curowa),1,130,
+kuri_choko,1,130,
+kurarin,1,130,
+kouenji_sayuka,4,130,
+koshimizu_ami,4,130,
+konohana_lucia,4,130,
+kono_yuusha_ga_ore_tueee_kuse_ni_shinchou_sugiru,3,130,cautious_hero
+kokouno_oyazi,1,130,
+koborii_(amaburi),4,130,
+kitazawa_(embers),1,130,
+kirigami,0,130,
+keshin_(inazuma_eleven),0,130,
+katsushika_hokusai_(third_ascension)_(fate),4,130,
+karin_bluez3,1,130,
+kami-sama_no_memo-chou,3,130,"heaven's_memo_pad,kami-sama_no_memo_chou,kami-sama_no_memochou,kami_sama_no_memo-chou,kami_sama_no_memo_chou,kami_sama_no_memochou,kamimemo,kamisama_no_memo-chou,kamisama_no_memo_chou,kamisama_no_memochou"
+kamatama,1,130,
+kaleina_(ricegnat),4,130,
+kakaon,1,130,
+kaizeru,1,130,
+kaede_(blue_archive),4,130,
+joman,1,130,
+javelin_(spear),0,130,
+iwanori,1,130,
+itachi_kanade,1,130,
+isla_(plastic_memories),4,130,
+ikoku_meiro_no_croisee,3,130,"croisee_in_a_foreign_labyrinth,ikoku_meiro"
+ikazuchi_no_senshi_raidy,3,130,lightning_warrior_raidy
+ichi-jirushi,1,130,
+holding_trident,0,130,
+holding_skateboard,0,130,
+henriiku_(ahemaru),1,130,
+he-class_light_cruiser,4,130,
+haraegushi,0,130,
+hanikami_kanojo,3,130,
+hagetapo,1,130,
+hachikuji,1,130,
+guvava,4,130,
+gond,1,130,
+gohpot,1,130,
+glass_teapot,0,130,
+fu_hua_(shadow_knight),4,130,
+frilled_babydoll,0,130,
+freyja_(fire_emblem),4,130,
+floating_screen,0,130,
+flak_jacket,0,130,
+familiar_(madoka_magica),0,130,
+embroidered_bra,0,130,
+ekubo_(mob_psycho_100),4,130,
+ehart,1,130,
+dolri,1,130,
+denonbu,3,130,
+denden,1,130,
+day_and_night,0,130,
+crying_aqua_(meme),0,130,
+conto,1,130,talez01
+comiket_93,3,130,
+combee,4,130,
+caustic_(apex_legends),4,130,
+caucasian,0,130,
+cap'n_cuttlefish,4,130,commander_atarime
+baselard,4,130,
+asterozoa,1,130,
+armored_core:_for_answer,3,130,
+archer_(disgaea),4,130,
+arablue,1,130,
+appleq,1,130,
+aohane,1,130,
+anchor_hat_ornament,0,130,
+amitie_(puyopuyo),4,130,
+alcremie_(vanilla_cream),4,130,
+akiba_hideki,1,130,
+aki_(akisora_hiyori),1,130,
+aiko_(renkin_san-kyuu_magical_pokaan),4,130,
+aikawa_chiho,4,130,
+a-soul,3,130,
+;|,0,130,
+7_calpis_7,1,130,
+yuuma_(u-ma),1,129,
+yumibakama_meme,1,129,
+yumi_sayaka,4,129,
+yumekamaborosh,1,129,
+yukiyanagi_raki,1,129,raki_(kuroe)
+yoshizoe_eiko,1,129,eik0
+yoshimoto_(carpsukidayo),1,129,k-chitsu
+yakumo_nanahara,1,129,
+xiao_rui_rui,1,129,
+xiangtu,1,129,"hakoniwa_shoujo,li_(liras)"
+wristlet,0,129,
+working,0,129,
+weeds,0,129,
+wakataku,1,129,waka_taku
+uhyoko,1,129,
+tsunsuki_(naobe009),1,129,naobe009
+torn_sweater,0,129,
+toriny,1,129,
+tony_kuusisto,1,129,pencils_(artist)
+the_great_ace_attorney:_adventures,3,129,
+the_children,0,129,
+texas_the_omertosa_(arknights),4,129,
+terra_battle,3,129,
+tenhiro_naoto,1,129,naoto_tenhiro
+teitan_high_school_uniform,0,129,
+taniguchi,4,129,
+sorono,1,129,
+snowcie,1,129,
+sleeve_rolled_up,0,129,
+simulated_facial,0,129,
+shiozaki_yuji,1,129,
+shion_(no.6),4,129,sion_(no.6)
+shimizu_pem,1,129,saodake
+shibata_masahiro,1,129,erika_kyoukousha
+sharpffffff,1,129,
+shamisen_(syami_sen),1,129,koji_k
+setanta_(fate),4,129,
+self-mutilation,0,129,
+seiken_gakuin_no_maken_tsukai,3,129,the_demon_sword_master_of_excalibur_academy
+scorpion_girl,0,129,
+satou_aji,1,129,
+sakamuke,1,129,
+sakai_eri_(illustratoreri),1,129,euphie_vt
+sajou_ayaka,4,129,sajyou_ayaka
+sabakuomoto,1,129,
+romero_(zombie_land_saga),4,129,
+rodney_(melagal),1,129,
+rock_howard,4,129,
+regigigas,4,129,
+reala_(tales),4,129,
+re:zero_kara_hajimeru_isekai_seikatsu:_lost_in_memories,3,129,
+qiongsheng,1,129,
+qingmingtongzi,1,129,
+pushcart,0,129,
+porygon-z,4,129,
+portal_2,3,129,
+plains_zebra_(kemono_friends),4,129,
+pizza_delivery,0,129,
+pie_in_face,0,129,cake_in_face
+palette_knife,0,129,
+padded_jacket,0,129,
+orfevre_(umamusume),4,129,
+oretachi_ni_tsubasa_wa_nai,3,129,
+ohyo,1,129,
+oerba_yun_fang,4,129,
+norasame_(dagako),1,129,3m_0l
+noelle_(kfc)_(genshin_impact),4,129,
+nobamo_pieruda,1,129,
+nns146,1,129,
+niku_(ni23ku),1,129,1356400321niku
+nephthys2356,1,129,
+natsu_narumi,1,129,
+mumumu_(road),1,129,
+multicolored_cloak,0,129,
+muku_(apupop),1,129,
+moriya_suwako_(cosplay),0,129,
+moe2016,0,129,
+mochimochi_(xseynao),1,129,
+mk-5,1,129,g.haruka
+mikuni_mizuki,1,129,
+meshimase_idol,3,129,"idols_galore!,meshi_mase_idol"
+meen_(ouaughikepdvrsf),1,129,
+marley_military_uniform,0,129,
+manectric,4,129,
+mamonomusume_to_no_seikatsu_~ramia_no_baai~,3,129,
+mall,0,129,
+makun_dx,1,129,
+maki_(blue_archive),4,129,
+m_(neteitai10),1,129,
+m60,0,129,
+lunch_(lunchicken),1,129,
+leonardo_watch,4,129,
+lan_mao_akko,1,129,
+lamia_hygieia,4,129,
+kyoku_tou,1,129,
+kurofude_anna,1,129,kurofude_anastasia
+kuroda_kunika,4,129,
+kuramoto_takato,1,129,
+kumaori_jun,1,129,jun_(ayafuya)
+kumano_kai_ni_(kancolle),4,129,
+kukimaru,1,129,
+kouba,1,129,
+koguma_(super_cub),4,129,
+kobayashi_yoshitaka,1,129,kobayashi_youkoh
+kikou_souseiki_mospeada,3,129,genesis_climber_mospeada
+katase_minami,1,129,
+kasuga_yuuki,1,129,
+karyl_(new_year)_(princess_connect!),4,129,
+kaneda_shoutarou,4,129,shoutarou_kaneda
+kanade_(kanadeya),1,129,
+kagehito,1,129,
+kagami_toufu,1,129,
+kaerunoashi,1,129,
+jubei_(blazblue),4,129,
+joey_jones,4,129,joseph_carter_jones
+jilpoong17,1,129,leymei
+iseya_shiki,4,129,
+irokari,1,129,
+inumoto,1,129,
+inui_nagi,1,129,
+inkblot,0,129,
+hun,1,129,
+holding_finger,0,129,
+hinata_yuu_(atelierhinata),1,129,
+hentai_kamen,3,129,
+heiyan_shenshi,1,129,
+hayashio_(kancolle),4,129,
+haruna_(kore_wa_zombie_desu_ka?),4,129,haruna_(korezom)
+harino646,1,129,amefurasy
+hanada_kirame,4,129,
+hack_(apex_legends),4,129,
+h2o_footprints_in_the_sand,3,129,
+gyosone,1,129,
+gullinbursti_(housamo),4,129,gullinbursti_(tokyo_houkago_summoners)
+gouma_reifuden_izuna,3,129,legend_of_the_unemployed_ninja
+genshi,1,129,
+gangster,0,129,
+furfur,4,129,
+furfrou,4,129,
+fred04142,1,129,
+foot_massage,0,129,
+exercise_machine,0,129,
+etou_kanami,4,129,
+emden_(azur_lane),4,129,
+electrodes,0,129,electrode_(object)
+diola_(granblue_fantasy),4,129,
+devilot_de_deathsatan_ix,4,129,"devilot,devilotte"
+dddoochi1,1,129,
+daisi_gi,1,129,
+courtroom,0,129,
+cocoa_(cafe-hotcocoa),1,129,
+christmas_tree_costume,0,129,christmas_tree_(cosplay)
+chisato_(missing_park),1,129,
+chimachi,1,129,
+chihuahua,0,129,
+capybara-san,4,129,kapibarasan
+can_to_cheek,0,129,
+caiman_(dorohedoro),4,129,kaiman_(dorohedoro)
+bouncing_hair,0,129,
+boko_(girls_und_panzer)_(cosplay),0,129,
+billy_herrington,4,129,
+bilibili_xiaolu,1,129,
+beru,1,129,
+berserker_(granblue_fantasy),4,129,
+beige_scarf,0,129,
+bedside,0,129,
+barbatos_(genshin_impact),4,129,
+aurica_nestmile,4,129,orika_nestmil
+applepie_(12711019),1,129,
+amemiya_sekira,4,129,
+amamiya_yuuko,4,129,
+akuma,1,129,
+akine_(kuroyuri),1,129,
+akatsuki_hiro,1,129,
+agatsuma_kaede,4,129,
+aang,4,129,
+7001,1,129,
+yuya_(oshidori),1,128,
+yuuki_shin,1,128,
+yuugenmagan,4,128,
+yuu_(yumezakura),1,128,
+yuu201023,1,128,
+yukifuri_tsuyu,1,128,
+yone,1,128,
+yocchi_(tenyunkel),1,128,tenyunkel
+yaya_(machine-doll),4,128,"yaya_(kikou_shoujo_wa_kizutsukanai),yaya_(machine-doll_wa_kizutsukanai)"
+yamada_michiru,4,128,charu
+winged_fusiliers,3,128,
+wing_hug,0,128,
+will_(pokemon),4,128,itsuki_(pokemon)
+wavy_eyebrows,0,128,
+warp_star,0,128,
+wang_yuanji,4,128,
+wa2000_(op._manta_ray)_(girls'_frontline),4,128,
+valis,4,128,
+uosaasou,1,128,
+umbrella_riding,0,128,
+tuskryo,1,128,
+tube_socks,0,128,
+tsushi,1,128,
+triage_x,3,128,
+togame_momoko,4,128,
+toaster,0,128,
+tk31,1,128,
+tiffa_adill,4,128,
+thresh_(league_of_legends),4,128,
+teri_terio,1,128,
+tenshi_no_3p!,3,128,
+tea_(cafe-chan_to_break_time),4,128,tea-chan_(porurin)
+tataki_tuna,1,128,
+tamamo_no_mae_(fate/extra)_(cosplay),0,128,
+tamakorogashi,1,128,
+tama_yu,1,128,tamashii_yuu
+talon_(league_of_legends),4,128,
+taiko_no_tatsujin,3,128,
+suzuki_rika,1,128,
+stuffed_seal,0,128,
+storage_room,0,128,
+sorato_(astllatte),1,128,
+snowsant_(arknights),4,128,
+skirt_under_kimono,0,128,
+simulated_paizuri,0,128,
+sigurd_(fire_emblem),4,128,
+shoulder-to-shoulder,0,128,
+shipping_container,0,128,
+shiory,1,128,
+shining_star,3,128,
+shingyoku_(female),4,128,
+sewenan,1,128,
+seirei_tsukai_no_blade_dance,3,128,
+sebastian_castellanos,4,128,
+sd_gundam_g-generation,3,128,
+sbgu,1,128,
+sasabunecafe,1,128,
+sakusakusakurai,1,128,
+sakura_hanatsumi,1,128,
+sa9no,1,128,
+roberta_(arknights),4,128,
+ritateo,1,128,
+risky_boots,4,128,
+rei_(princess_connect!),4,128,shijou_rei
+recording_studio,0,128,
+raven_(honkai_impact),4,128,raven_(honkai_impact_3rd)
+rance_(dokidoki!_precure),4,128,"lance_(dokidoki!_precure),rance_(precure)"
+rabiiandrain,1,128,
+print_coat,0,128,
+precure_all_stars_new_stage:_mirai_no_tomodachi,3,128,precure_all_stars_new_stage:_friends_of_the_future
+poriuretan,1,128,noinoise
+pool_party_(league_of_legends),0,128,
+polka_dot_bowtie,0,128,
+pleated_sleeves,0,128,
+pillow_sex,0,128,
+people's_liberation_army,0,128,
+panda_print,0,128,
+nopetroto,1,128,epicnoob278
+nitro_(mugityaoisii),1,128,
+nishiya_futoshi,1,128,
+nichibotsu_(kitaziman),1,128,
+nameless_(rynono09),1,128,
+nakasawa_kei,1,128,
+mushroom_girl,0,128,
+motobi_(mtb_umk),1,128,
+morita_(moritania),1,128,
+mitsumine_raimu,1,128,
+miria_marigold_mackenzie,4,128,
+mimic_chest,0,128,
+mia0309,1,128,
+mercedes-benz,0,128,
+matsushita_makako,1,128,
+master_nemesis,4,128,
+maroonabyss,1,128,
+mari_(gym_uniform)_(blue_archive),4,128,
+malasada,0,128,
+maho_(princess_connect!),4,128,himemiya_maho
+machiko_ryou,4,128,
+lupusregina_beta,4,128,
+luciana_mazzei,4,128,
+lif_(lif_&_ref),1,128,
+leaf98k,1,128,
+layer_(mega_man),4,128,layer_(rockman)
+latale,3,128,tokimeki_fantasy_latale
+kuzu_(miduhana),1,128,
+kurusu_tatsuya,1,128,ponz
+kurousagi_(mondaiji),4,128,kurousagi_(mondaiji-tachi_ga_isekai_kara_kuru_sou_desu_yo?)
+kurama_norihito,4,128,
+kujuu_shikuro,1,128,
+kouga_(mutsumi),1,128,
+kotaka,1,128,
+kos-mos_re:,4,128,
+kori_(trouble_spirit),4,128,
+koi_ni_naritai_aquarium,0,128,
+kochikame,3,128,
+kinketsu,1,128,
+kieed,1,128,
+kemuri_haku,1,128,
+kawai_rou,1,128,
+kanro_ame_(ameko),1,128,tenkirin
+kaneblob,1,128,kanekiru
+kagaya_you,4,128,
+kadan_(ad1999),1,128,karintou18
+kabutoyama,1,128,
+juli_(street_fighter),4,128,
+john_su,1,128,
+jiao_mao,1,128,
+j_adsen,1,128,
+inniyik,1,128,
+indra_(arknights),4,128,
+ikamagu,1,128,
+igusaharu,1,128,
+iga_tomoteru,1,128,
+ichijou_hitoshi,1,128,100_yen_locker
+hotel01,1,128,
+hosshiwa,4,128,
+hisakawa_riho,1,128,
+helel_ben_shalem,4,128,
+harle_(chrono_cross),4,128,tsukuyomi_(chrono_cross)
+half-timbered,0,128,
+h.n.elly_(kirsten),4,128,h.n.elly_(kirsten)_(madoka_magica)
+gunner_(final_fantasy),4,128,
+gregor_(tsurunoka),4,128,
+go-it,1,128,
+giraffe_tail,0,128,
+gedou_(shigure_seishin),1,128,
+gecchu,1,128,
+gear_hair_ornament,0,128,
+galactic_empire,0,128,
+gachon_jirou,1,128,
+finger_to_head,0,128,
+ferris_wheel_interior,0,128,
+fallout_3,3,128,
+fa_yuiry,4,128,
+examination,0,128,
+eustace_(granblue_fantasy),4,128,
+escalayer,4,128,
+drumming,0,128,
+dragon_(arms),0,128,
+doora_(dora0913),1,128,nauimusuka
+docozi,1,128,doco_(doco3811)
+deg_(deguana),1,128,
+danjou_sora,1,128,
+dab_(dance),0,128,
+cutie_panther,0,128,
+crowded,0,128,
+corrugated_galvanised_iron_sheet,0,128,
+convention,0,128,
+collision,0,128,
+chungu,1,128,
+chris4708,1,128,
+charybdis_(azur_lane),4,128,
+chane_laforet,4,128,
+cawang,1,128,
+bumping,0,128,
+brazilian_flag,0,128,
+boukun_habanero,3,128,
+bob-omb,4,128,
+blazblue:_continuum_shift,3,128,
+black_mutou,1,128,
+bitter_crown,1,128,
+beenic,4,128,
+beastars,3,128,
+bead_choker,0,128,
+bastet_(houtengeki),4,128,
+baron_(nsbaron),1,128,webslinger
+baozishark,1,128,
+bamboo_print,0,128,
+azure_meraki,1,128,
+azure_(armor),4,128,
+azna,1,128,
+aymr_(fire_emblem),0,128,
+are_you_my_master,0,128,
+aoi_(buzhuen444),1,128,
+anju_(mocomocousagi),1,128,
+anakin_skywalker,4,128,
+amimi,1,128,
+amagi_(wending_waters_serene_lotus)_(azur_lane),4,128,
+african_rock_python_(kemono_friends),4,128,
+40_(0f0urw),1,128,
+zhuxiao517,1,127,
+yuuzuki_hijiri,1,127,
+yuumin,1,127,
+yuuka_seisen,1,127,
+yuniiho,1,127,
+yoruhachi,1,127,
+yoriyuki_chiyo,1,127,
+yom_(ymayma00ss),1,127,
+xerneas,4,127,
+wreck-it_ralph,3,127,
+wowoguni,1,127,
+world_masterpiece_theater,3,127,
+viola_(majo_no_ie),4,127,viola_(the_witch's_house)
+uxie,4,127,
+ultra_instinct,0,127,
+uiroutsuji_yumihiko,1,127,
+tweet,0,127,
+touryou,1,127,
+toudou_erena,4,127,
+tooth_gap,0,127,
+toaruocha,1,127,
+templus,1,127,
+tamayura,3,127,
+tamamo_no_mae_(swimsuit_lancer)_(first_ascension)_(fate),4,127,
+tamaki_ui,4,127,
+takemikazuchi_(muvluv),4,127,
+takamiya_ren,1,127,
+suwakana,1,127,
+sugi87,1,127,
+sudowoodo,4,127,
+sucking,0,127,
+studiolg,1,127,
+street_fighter_ex_(series),3,127,"street_fighter_ex,street_fighter_ex2,street_fighter_ex3"
+stomach_day,0,127,
+star_guardian_ahri,4,127,
+star_bracelet,0,127,
+space_shuttle,0,127,
+solrock,4,127,
+so-taro,1,127,
+skorpion_vz._61,0,127,
+shinozuki_takumi,1,127,
+shenqi_(toid310),1,127,toid310
+sharekoube,1,127,
+shadowgrave,1,127,
+seura_isago,1,127,
+sethxzoe,1,127,
+senbon_tsuki,1,127,
+sc_naru,1,127,nyarukac
+satou_(3366_s),1,127,
+samba,0,127,
+sakura_akari,4,127,
+sakuma_rinko,4,127,
+sakagami_ayumi,4,127,
+sadaharu,4,127,
+s-head_commander,4,127,
+ryuubi_gentoku,4,127,
+rumwik,1,127,
+rulue_(puyopuyo),4,127,
+rukino_saki,4,127,
+roshin,1,127,
+robotech,3,127,
+riftgarret,1,127,
+ribbon-trimmed_apron,0,127,
+republic_of_china_flag,0,127,"roc_flag,taiwanese_flag"
+redol,1,127,
+rathalos_(armor),4,127,
+ran_system,1,127,
+rakuyo_(bloodborne),0,127,
+ragecndy,1,127,
+puffer_fish,0,127,blowfish
+profnote,1,127,
+printer,0,127,
+premature_ejaculation,0,127,
+poko_(mammypoko),1,127,
+pokemon_center,0,127,
+po_fu,1,127,
+pengy_(granblue_fantasy),4,127,pengie
+paul_(pokemon),4,127,
+parasite,0,127,
+page_tear,0,127,
+otsukemono,1,127,
+open_labcoat,0,127,
+ootsuka_mahiro,1,127,otakubeam
+ootori_chihaya,4,127,ohtori_chihaya
+onimaru_(onimal7802),1,127,lppletwo
+okuyama_saori,4,127,
+octodeco,1,127,
+nogami_takeshi,1,127,
+nino_(sunaba_suzume),4,127,
+nezha_(fate),4,127,nezha_(fate/grand_order)
+nekoi_hikaru,1,127,
+nanashi_maru,1,127,
+nakaba_(mode),1,127,"nakaba_(nkbexx),yuno_tsuitta"
+mousse_(arknights),4,127,
+mono_land,1,127,
+mono_(shadow_of_the_colossus),4,127,
+mon_mon,1,127,
+momoki_run,4,127,
+mm_(yoromu),1,127,
+mkm_(mkm_storage),1,127,
+miori_celesta,4,127,
+mimoza_(96mimo414),1,127,
+matsunaga777,1,127,
+matsukuzu,1,127,"makadamia_(0jewdvwvkixqbpn),meronpan_(ghzk2583)"
+matsu_84,1,127,yrjxp065
+masaki_kei,1,127,
+marley_(pokemon),4,127,mai_(pokemon)
+marisu,1,127,
+maki_daikichi,1,127,
+m_ko_(maxft2),1,127,
+kururu_(rhapsody),4,127,
+kuromukuro,3,127,
+kuroino_(kuroyashiro),1,127,
+kuki_panda_(wkdwnsgk13),1,127,
+kongou_(azur_lane),4,127,
+komachi_narota,1,127,komachi_naruta
+kobuta,1,127,
+kitou_sakeru,1,127,kito_sakeru
+kirishima_riona,1,127,
+king_of_prism_by_prettyrhythm,3,127,
+kandori,1,127,
+kaii_shoukougun,3,127,
+kagura_rei,4,127,
+kagamine_len_(cosplay),0,127,
+kaerunoko,1,127,
+kaeru_(kaerism),1,127,
+kaburagi_yasutaka,1,127,
+jaguarman_(fate),4,127,jaguarman_(fate/grand_order)
+izumi_makoto,1,127,
+irezumi,0,127,
+inamori_mika,4,127,
+implied_after_sex,0,127,
+ichinose_haru,4,127,
+holographic_clothing,0,127,
+holding_spork,0,127,
+holding_carton,0,127,
+hitmonlee,4,127,
+hisui_(stapspats),1,127,
+hirai_chika,1,127,
+hentai_oyaji,1,127,
+heavy_(tf2),4,127,
+healing,0,127,
+hasegawa_shin'ya,1,127,hasegawa_shinya
+haru57928031,1,127,
+hand_sonic,0,127,
+hallessena,4,127,
+hakuryuu_(azur_lane),4,127,
+guhanshounen,1,127,
+goodbye_sengen_(vocaloid),3,127,
+goldfish_print,0,127,
+girls_bravo,3,127,
+ginmu,1,127,ginmumumu
+fur_gloves,0,127,
+fukutchi,1,127,
+flower_trim,0,127,
+fii-tan,4,127,
+eternal_arcadia,3,127,skies_of_arcadia
+e-liter_3k_(splatoon),0,127,
+drew_(pokemon),4,127,
+dragon_radar,0,127,
+double_thumbs_up,0,127,
+dongho_kang,1,127,dhk_(dh_k)
+dojirou,1,127,
+densetsu_kyojin_ideon,3,127,space_runaway_ideon
+denkaisui,1,127,
+darumaka,4,127,
+dancouga_(series),3,127,
+cyber_v,3,127,
+cure_white_(cosplay),0,127,
+cramorant,4,127,
+construction_site,0,127,
+coco_(yes!_precure_5),4,127,coco_(precure)
+cid_highwind,4,127,
+chataro1412,1,127,
+cereal,0,127,
+carol_(skullgirls),4,127,
+calpara,1,127,
+cacnea,4,127,
+byakuya_reki,1,127,
+brown_tank_top,0,127,
+brigid_(fire_emblem),4,127,"briggid_(fire_emblem),evayle"
+brera_sterne,4,127,
+bravely_second:_end_layer,3,127,bravely_second
+big.g,1,127,
+baiguio_(zhu_xian),4,127,
+bag_on_head,0,127,
+auction,0,127,
+atlas_academy_uniform,0,127,
+asanaya,1,127,
+araki_kanao,1,127,
+anezaki_mamori,4,127,
+amano_yukiteru,4,127,
+akigumo_kai_ni_(kancolle),4,127,
+akabane_hibame,1,127,
+after_insertion,0,127,
+accessory_tan,0,127,
+4690_(tkpbsk),1,127,
+zummy,1,126,
+zatsune_miku,4,126,
+zaitsu,1,126,
+zacian_(crowned),4,126,
+yuzuhara_haruka,4,126,
+yuui_hutabakirage,1,126,
+yohane_shimizu,1,126,sutegoro
+y_(036_yng),1,126,
+weri,1,126,
+vira_(summer)_(granblue_fantasy),4,126,
+video_call,0,126,
+vibrator_bulge,0,126,
+usui_harusame,1,126,
+ushi_(newrein),1,126,newrein
+usagimiko,1,126,
+unconventional_vehicle,0,126,
+umitsuki_natsuzou,4,126,
+ukimukai,1,126,
+type_79_(girls'_frontline),4,126,type_79_(girls_frontline)
+two-tone_wings,0,126,
+tp_(kido_94),1,126,
+tougou_hifumi,4,126,
+totte,1,126,fgo107t
+tomajiyama,1,126,
+tokunaga_akimasa,1,126,
+tian_(my_dear),1,126,
+tenmu_shinryuusai,1,126,
+tanuki_(kemono_friends),4,126,
+tank_cupola,0,126,
+tan_sweater,0,126,
+tamasaka_makoto,4,126,
+tamanoi_peromekuri,1,126,
+takoyaki_neko-san,1,126,
+sword_art_online:_hollow_fragment,3,126,
+sweet_devil_(vocaloid),3,126,
+sunege_(hp0715),1,126,
+summon_night_4,3,126,
+sou_(pale_1080),1,126,
+sothe_(fire_emblem),4,126,
+simon_(n.s_craft),1,126,
+shiao,1,126,
+seox_(granblue_fantasy),4,126,six_(granblue_fantasy)
+se-u-ra,1,126,
+scarecrow_(girls'_frontline),4,126,scarecrow_(girls_frontline)
+sawamura_hikaru,1,126,
+sashima,1,126,
+saint_october,3,126,
+rumiya9i,1,126,
+ruda_(ruda_e),1,126,
+rorosuke,1,126,
+robographer,1,126,
+riza_wildman,4,126,
+ribbon-trimmed_swimsuit,0,126,
+remsor076,1,126,
+regirock,4,126,
+red_serafuku,0,126,
+r_dorothy_wayneright,4,126,r._dorothy_wayneright
+princess_royale,3,126,
+pos_(shiratama-ya),1,126,
+pomesaurus,1,126,szkn2b
+plushmallow,4,126,
+pia_carrot_e_youkoso!!,3,126,pia_carrot
+pencil_mustache,0,126,
+pekomama,4,126,
+parkgee,1,126,
+orange_buruma,0,126,
+ootani_mikoto,1,126,sumomo_(peach-breath)
+oniilus,1,126,
+oboro_(taimanin_asagi),4,126,
+no_parking_sign,0,126,
+nicole_pmonachi,1,126,
+namaonpa,1,126,
+namako_(namacotan),1,126,
+nakayama_tooru,1,126,
+nakagawa_waka,1,126,nakagawa_besu
+muvluv_alternative_(anime),3,126,
+mutsuki_tooru,4,126,
+moor,1,126,
+moomoo_milk,0,126,
+mokkori9,1,126,
+miniwa_tsumiki,4,126,
+mikuni_oriko,4,126,
+mikan_(ama_no_hakoniwa),1,126,
+metroid_prime,3,126,
+masquerain,4,126,
+mania_(fd6060_60),1,126,
+mame,1,126,
+maidforge,1,126,
+mahoutsukai_no_yakusoku,3,126,"mahoyaku,promise_of_wizard"
+mahou_shoujo_ai,3,126,
+magician's_red,4,126,
+maeshimashi,1,126,
+mabel_pines,4,126,
+maam,4,126,
+lubikaya,1,126,
+looped_braids,0,126,
+limeblock,1,126,
+lectern,0,126,
+latenight,1,126,
+kokorozashi,1,126,
+koi_han,1,126,
+kio_naoki,1,126,
+kinomiki_nobori,1,126,"kinokan,kinomiki_(tales22)"
+kinoko_no_yama,0,126,
+kingdom_of_kazimierz_logo,0,126,
+king_ghidorah,4,126,
+killy,4,126,
+kihel_heim,4,126,
+kiduta_cielo,1,126,
+kerosene_lamp,0,126,
+keikenchi_(style),0,126,
+kasanui,1,126,
+karaage3,1,126,
+kannabi_no_mikoto,4,126,
+kamiya_kaoru,4,126,
+kamen_rider_black,4,126,
+kamaboko_senshi,1,126,
+kadabra,4,126,
+jourd4n,1,126,
+john_zhang,1,126,
+jigen_(cookie),4,126,
+jenga,0,126,
+jasmine_(disney),4,126,
+ivy_(sena0119),1,126,iva_(sena0119)
+itsuki_kuro,1,126,
+ikawa_waki,1,126,
+ice_cream_cone_spill,0,126,
+hyena_tail,0,126,
+hortense,4,126,
+holding_club,0,126,
+holding_boots,0,126,
+hiragana,0,126,
+hiiragi_miki,4,126,
+herohero_(higashi_no_dou),1,126,
+heavy_splatling_(splatoon),0,126,
+hayami_saori,4,126,
+haruno_shuu,1,126,
+hare_(tetterutei),1,126,
+hand_guard,0,126,
+grimlock,4,126,
+grey_outline,0,126,
+girl_(mokufuu),4,126,
+girl's_avenue,3,126,
+ginopi,1,126,
+geregere_(lantern),1,126,kabotya_to_rantan
+galvantula,4,126,
+fuuchouin_kazuki,4,126,
+fukunoki_tokuwa,1,126,
+fujii_tomo,4,126,
+followers_favorite_challenge,0,126,
+flo_(guilty_hearts),1,126,
+fish_(food),0,126,
+fatina,4,126,
+fataaa,1,126,
+fanta_(the_banana_pistols),1,126,
+engulfing_lightning_(genshin_impact),0,126,
+east_sha2,1,126,
+dragonstone,0,126,
+din_(raiden),1,126,
+darnell,1,126,
+cross-laced_skirt,0,126,
+cromwellb,1,126,
+corked_bottle,0,126,
+cofagrigus,4,126,
+cobalta,1,126,
+cinko,1,126,cinko17817
+chocolate_doughnut,0,126,
+chiruto,1,126,
+chiester556,4,126,siesta556
+chicken_nuggets,0,126,
+chase_(pokemon),4,126,kakeru_(pokemon)
+censer,0,126,
+cdash817,1,126,
+catgirl0926,1,126,
+catball1994,1,126,
+canape_(canape0130),1,126,
+butter_knife,0,126,
+boston_terrier,0,126,
+boko_(maniacpurple),1,126,
+blood_writing,0,126,
+beliatan,1,126,
+bad_vulva,0,126,
+autopaizuri,0,126,
+atsumisu,1,126,
+ashino_moto,1,126,
+apocalypse,0,126,"apocalypse_(event),apocalyptic"
+aosora_(mizore),1,126,
+antelope_horns,0,126,
+amicis,1,126,
+amamine,1,126,
+akizuki_ritchan,1,126,
+akitaka_akita,1,126,
+akiamare,1,126,
+aisha_clanclan,4,126,
+acubi_tomaranai,1,126,
+aak_(arknights),4,126,
+aa2233a,1,126,
+888myrrh888,1,126,
+zoids_chaotic_century,3,125,
+zamudelin,1,125,moyamoyakun021
+yuuno_(yukioka),1,125,yuuno_(pixiv138887)
+yukinoshiro,1,125,
+yuio58ok,1,125,
+yoo_mina,4,125,
+yoicha,1,125,
+yinpa_(wanone500511),1,125,
+yazawa_oke,1,125,
+yamamura_umi,1,125,
+yamamoto_shuuhei,1,125,magu_(syu_uhei)
+yakumo_mitama,4,125,
+xiumu_bianzhou,1,125,
+with_you,3,125,
+washing_hands,0,125,
+vietnam_(hetalia),4,125,
+usa_(dai9c_carnival),1,125,
+uonuma_yuu,1,125,uonu_mayuu
+tsurugi_hikaru,1,125,
+tsukuru_(seki_sabato),1,125,kintsuku
+tori_(10ri),1,125,
+thundergotch,1,125,
+tentsuu_(tentwo),1,125,
+tennousu_athena,4,125,"athena_tennos,athena_tennousu,tennousu_atene,tennousu_athene,tenoushuu_athena"
+tenma_saki,4,125,
+tenk,1,125,
+tenchuu,3,125,
+taniguchi_jun'ichirou,1,125,
+tanaji,1,125,
+takigawa_geenito,1,125,takigawageenito
+taiki_(luster),1,125,
+tachibana_shiro_(idolmaster),4,125,tachibana_shirou
+t-34-85,0,125,
+suzu_(tg_390),1,125,
+super_robot_wars_judgement,3,125,
+sukiyo,1,125,
+sougishi_ego,1,125,
+sogabe_shuuji,1,125,
+snorkel_in_mouth,0,125,
+sitting_on_roof,0,125,
+shouno_kotarou,1,125,shinjigen
+shiratama_mikan,4,125,
+shiraki_shiori,1,125,
+shijou_mitsue,4,125,
+shez_(fire_emblem)_(male),4,125,
+serizawa_fumino,4,125,
+scathegrapes,1,125,
+sb_lama,1,125,ssangbong-llama
+sasori_(naruto),4,125,
+sasakama_(sasagaki01),1,125,
+sakurabe_notos,1,125,sakurabe_notosu
+sakura_szm,1,125,
+saino,1,125,
+sagimori_arata,4,125,
+saegusa_akina,4,125,
+ry_thae,1,125,
+roresu,1,125,
+roark_(pokemon),4,125,hyouta_(pokemon)
+riley_(pokemon),4,125,gen_(pokemon)
+rifu_(643763873),1,125,
+retaining_wall,0,125,
+restraints,0,125,
+rally_vincent,4,125,
+r-301_carbine,0,125,
+putimaxi,1,125,
+punk_girl_(pokemon),4,125,
+prism_ark,3,125,
+print_thighhighs,0,125,
+porygon2,4,125,
+pori_(kmt_pori),1,125,
+pixiv_azriel,3,125,
+pastel_chime,3,125,
+partially_opaque_glasses,0,125,half_opaque_glasses
+paper_balloon,0,125,
+oshiruko_(oshiruco_212048),1,125,
+ookashippo,1,125,44shippo
+omyo_(myomyomyo22),1,125,
+nice_nature_(umamusume)_(cosplay),0,125,
+news,0,125,
+nennen,1,125,
+neko_musume_michikusa_nikki,3,125,
+nazal,1,125,
+nanotaro,1,125,
+nagumo_(nagumon),1,125,nagumo_curry-bu
+nagi_(shunsuke-manage),1,125,
+model_tank,0,125,
+miyamoto_musashi_(swimsuit_berserker)_(third_ascension)_(fate),4,125,
+miurahha,1,125,
+minori_(senran_kagura),4,125,
+matsuzaki_miyuki,1,125,
+mato_(mozu_hayanie),1,125,mato_(10234)
+mastgg,1,125,
+mashiro_blan_de_windbloom,4,125,
+maruchan.,1,125,
+marionette_(excle),1,125,
+marin_(the_legend_of_zelda),4,125,
+maitake_(kinokonabe_hinanjo),1,125,
+maguta,1,125,
+lordol,1,125,
+liu_lan,1,125,
+kouzuki_tsubasa_(musou_kaidou),1,125,benitsuki_tsubasa
+kokekokko_coma,1,125,kokekokko_koma
+kohakugin,1,125,
+kochoko,1,125,
+kinu_kai_ni_(kancolle),4,125,
+kinoko,1,125,
+kimi_tsuru,1,125,
+kenkon_no_washi,3,125,
+kazuaki,1,125,
+kawaty,1,125,
+katai_(nekoneko0720),1,125,
+karuta_(card_game),0,125,
+kana_(fire_emblem)_(female),4,125,"kanna_(female)_(fire_emblem_if),kanna_(fire_emblem)_(female)"
+kamehito,1,125,
+kagehara_hanzou,1,125,kagehara_hanzow
+kabocha_head,1,125,
+jurassic_world,3,125,
+jason_voorhees_(cosplay),0,125,
+iyakun,1,125,
+ixmmxi,1,125,
+indonesian_commentary,5,125,
+igglybuff,4,125,
+holding_candy_cane,0,125,
+hk416_(herbal-flavored_hard_candy)_(girls'_frontline),4,125,
+hisakawa_tetsudou,4,125,
+hiiro_h,1,125,
+higashigunkan,1,125,
+henkuma,1,125,
+hell,0,125,
+held_up,0,125,
+hatafuta,1,125,
+hamoto,1,125,
+hair_ornament_request,5,125,
+habu_rin,1,125,
+h@ll,1,125,eroebotto
+gugure!_kokkuri-san,3,125,
+glameow,4,125,
+ghirahim,4,125,
+getsumen_suibaku_ver._a(c),1,125,
+genmukan,3,125,
+gaothun,1,125,
+gag_manga_biyori,3,125,gyagu_manga_biyori
+fumino_tamaki,4,125,
+fujii_eishun,1,125,
+french_commentary,5,125,
+fpanda,1,125,
+fireball_(series),3,125,
+fionna_the_human_girl,4,125,
+farah_oersted,4,125,
+fansub,0,125,
+eto_(tokyo_ghoul),4,125,
+epona,4,125,
+elizabeth_bathory_(halloween_caster)_(fate),4,125,
+ekus_(xo_ekus),1,125,
+eiscue,4,125,
+ecell,1,125,
+delica,1,125,
+crote,1,125,
+conifer,0,125,
+coco_adel,4,125,
+chocolate_misu,4,125,
+chipmunk_tail,0,125,
+checkered_vest,0,125,
+charlemagne_(fate),4,125,
+canti,4,125,
+boros_(ouro_kronii),4,125,
+bong_(0u0bon),1,125,
+blissey,4,125,
+bishooji,1,125,
+bib_(bibboss39),1,125,bibboss39
+bekkourico,1,125,
+behind_tree,0,125,
+barking,0,125,
+bangboo_(zenless_zone_zero),4,125,
+bad_end_happy,4,125,
+aurora_e._juutilainen,4,125,
+asagiri_shiori,4,125,
+artoria_pendragon_(alter_swimsuit_rider)_(third_ascension)_(fate),4,125,
+arrietty,4,125,
+argyle_skirt,0,125,
+aqua_sarong,0,125,
+aqua_horns,0,125,
+ame_no_kisaki_academy_uniform,0,125,
+alice_(tales),4,125,alice_(tales_of_symphonia_kor)
+alex_(minecraft),4,125,
+aitsugawa_rui,1,125,kou512a
+adolf_hitler,4,125,hitler
+abyssal_crane_princess,4,125,abyssal_crane_hime
+abacus,0,125,
+zerokosan,1,124,zeroko-san_(nuclear_f)
+zenshin,1,124,
+yuuki-chan_(kanabun),4,124,
+yugen99,1,124,
+yuba_no_shirushi,3,124,
+yua_(argaoffroad),1,124,
+yiduan_zhu,1,124,
+year_of_the_rabbit,0,124,
+yatsuki_yura,1,124,kiyu_(kiyupapiko)
+xiaoyin_li,1,124,
+wolf_pelt,0,124,
+weasel_(close-to-the-edge),1,124,
+warming_hands,0,124,
+waluigi,4,124,
+violence_kumahina,1,124,31_violence
+velia,1,124,
+tsukuyo_(blue_archive),4,124,
+towako_(10wk0),1,124,
+toudou_shion,4,124,
+tostos,1,124,redb
+toru_k,1,124,
+thirty_8ght,1,124,
+the_adventures_of_sherlock_holmes,3,124,
+teemu_taiga,1,124,teemu_rasinkangas
+tarayama,1,124,
+tank_(container),0,124,
+tama_kai_ni_(kancolle),4,124,
+takeu,1,124,
+takemoto_izumi_(style),0,124,
+sword_art_online_progressive,3,124,
+susie_(kirby),4,124,
+suntory,3,124,
+sunflora,4,124,
+suenaga_mirai,4,124,
+strawberry_earrings,0,124,
+sora_no_kanata_no_dystopia_x_shitei,3,124,
+sinbad_(magi),4,124,
+sidecar,0,124,
+shockwave_(transformers),4,124,
+shingyoku_(male),4,124,
+shadow_hearts_ii,3,124,
+sasa_kazamori,4,124,
+sarutobi_ayame,4,124,
+sarashiki_tatenashi,4,124,
+saotome_genma,4,124,
+sakura_ran,1,124,
+ryuuki_(hydrangea),1,124,
+rurima_(cookie),4,124,
+ribbon_removed,0,124,
+rias-coast,1,124,
+remy_(elsword),4,124,
+reinhardt_(fire_emblem),4,124,
+reference_photo,5,124,
+red-p,1,124,
+rebreather,0,124,
+razor_blade,0,124,
+r_o_ha,1,124,
+poliwrath,4,124,
+pokestar_studios,0,124,
+pixiv_fantasia_1,3,124,
+pippi_(pixiv_1922055),1,124,
+peter_strasser_(azur_lane),4,124,
+paco,1,124,
+otogi_kyouka,1,124,
+ore_no_nounai_sentakushi_ga_gakuen_love-comedy_wo_zenryoku_de_jama_shiteiru,3,124,"noucome,noukome"
+ogre_(dq10),4,124,
+nishimura_(nianiamu),1,124,
+nishigoori_yuuko,4,124,
+nibbling,0,124,
+nbo,1,124,
+natsushi,1,124,
+napo,1,124,
+muro,1,124,
+moriya_naoki,1,124,"activa,smac"
+misono_gakuen_school_uniform,0,124,
+minase_shuu,1,124,
+miles_morales,4,124,
+mid-stride,0,124,
+mettaton_ex,4,124,mettaton-ex
+meslamtaea_(weapon),0,124,
+meridian_project,3,124,
+melowh,1,124,
+mega_man_x:_command_mission,3,124,rockman_x_command_mission
+maxim_tomato,0,124,
+matsuba_(idiotlantern),1,124,idiot_lantern
+masquerade_mask,0,124,
+maru-sun,1,124,"maru_(dtron),maru_rx"
+maanu,1,124,manu_(pixiv41646715)
+m16a2,0,124,
+luminous_(madoka_magica),0,124,
+luigi_(cosplay),0,124,
+leander_(azur_lane),4,124,
+laura_kinney,4,124,
+kureta_(nikogori),1,124,nikogori-mattyaduke
+kumaartsu,1,124,
+korea_(hetalia),4,124,
+kobuchizawa_shirase,4,124,
+kobayashi_tetsuya,1,124,
+knee_strap,0,124,
+kitakouji_hisui,4,124,
+kisara_(yu-gi-oh!),4,124,
+kirita_(noraring),1,124,
+kirai_shouen,1,124,
+kimuti-g,1,124,
+ken_ill,1,124,
+katzeh,1,124,felisovum
+kasaneko,1,124,
+kamizaki_hibana,1,124,kanari_no_binetsu
+kaiman_garupan,1,124,
+justine_(persona_5),4,124,
+julius_pringles,4,124,
+joko_jmc,1,124,
+joakim_sandberg,1,124,
+jerry_can,0,124,
+jack_(wkm74959),1,124,
+iowa_(pacific),4,124,
+inuo_(inuo_x),1,124,"inuo_x,noroma02"
+illusionk,1,124,
+igloo,0,124,
+idunn_(fire_emblem),4,124,idoun
+ibis_douglas,4,124,
+hyoudou_issei,4,124,
+holding_screwdriver,0,124,
+holding_cage,0,124,
+hirose_madoka,1,124,tail_piece
+hinomoto_oniko,4,124,
+hinamori_momo,4,124,
+hina_(genshin_impact),4,124,
+hasunokaeru,1,124,
+has_cropped_revision,5,124,
+hands_on_another's_arms,0,124,
+hanabatake_chaika,4,124,
+hamtaro_(series),3,124,
+hakama_pull,0,124,
+greythroat_(arknights),4,124,
+gimp_suit,0,124,
+futoshi_(darling_in_the_franxx),4,124,
+furukawa_lemon,1,124,
+fummy,1,124,bunemon
+fujiwara_minaho,1,124,fujiwaraminaho
+fujimaru_ritsuka_(male)_(tropical_summer),4,124,
+flower_shop,0,124,
+finger_tattoo,0,124,
+fender_jazz_bass,0,124,"j-bass,jazz_bass"
+eugen_(granblue_fantasy),4,124,
+eihi,1,124,
+edwin_(cyberdark_impacts),1,124,edowin
+edoya_pochi,1,124,
+edgar_roni_figaro,4,124,
+e-fa-dorn,1,124,
+dulldull,1,124,
+dot_pupils,0,124,
+doki_doki_majo_shinpan,3,124,
+crimecrime,1,124,
+coat_lift,0,124,
+cloud_retainer_(genshin_impact),4,124,
+chon_(chon33v),1,124,
+chiyami,1,124,
+chikaya,1,124,
+cheunes,1,124,
+chatot,4,124,
+character_hat,0,124,
+catheter,0,124,pee_tube
+caracal_ears,0,124,
+caibao_return,1,124,"caibao,cbreturn,natsutsumi_return"
+buta_(uhoiiotoko),1,124,
+blood_sword,0,124,
+biya_(1024),1,124,jyn_1024
+banssee,1,124,
+azusagawa_tsukino,4,124,
+azuma_tokaku,4,124,
+ayesha_altugle,4,124,
+avrora_(azur_lane),4,124,
+ass_hair,0,124,
+arsk,1,124,
+aoki_ume_(style),0,124,
+anubis_(houtengeki),4,124,
+anizi,1,124,anizi_(anizi9621)
+amane_sou,1,124,
+alice360,1,124,
+akanasu,1,124,
+aito,1,124,
+aco_(koaya_ako),1,124,
+yuzuzukushi,1,123,
+yune_(ikoku_meiro_no_croisee),4,123,yune_(ikoku_meiro)
+yukihama,1,123,
+yukibuster_z,1,123,yukibuster
+yonedatomo_mizu,1,123,
+yoiti,1,123,
+yatsune_rika,1,123,mifune_yatsune
+yamifuka-san_(hoshi_san_3),4,123,
+venice,0,123,venezia
+valvatorez_(disgaea),4,123,valbatose
+usuzawa_sae,4,123,
+upside-down_kiss,0,123,
+unbalance,1,123,
+umagenzin,1,123,
+uka_(color_noise),1,123,
+touma_kisa,1,123,touma_raito
+tom_and_jerry,3,123,
+the_hobbit,3,123,
+the_grim_adventures_of_billy_&_mandy,3,123,the_grim_adventures_of_billy_and_mandy
+the_baddest_evelynn,4,123,
+taunting,0,123,
+takamoto_akisa,1,123,
+taikoubou,4,123,
+tahita1874,1,123,
+taedu,1,123,
+sunny_gurlukovich,4,123,sunny_emmerich
+subaru_(houkago_no_pleiades),4,123,
+striped_coat,0,123,
+stratos_4,3,123,stratos4
+squid_game,3,123,
+souya_agb_(kancolle),4,123,
+soldier_(tf2),4,123,
+slug_girl,0,123,
+shuuichi_(gothics),1,123,
+shroomish,4,123,
+shinozaki_sayoko,4,123,
+shinano_yura,1,123,
+shin'en-san_(shin'en),4,123,shin'en-san
+shihou_haru,1,123,
+shiba_koen_middle_school_uniform,0,123,
+sarazanmai,3,123,
+sanae_(satansanae),1,123,
+sakamoto_tatsuma,4,123,
+ryuubi,4,123,
+ross_tran,1,123,
+romg,4,123,
+rin_(yu-gi-oh!),4,123,
+rhasta,1,123,
+red_tie,0,123,
+queue,0,123,waiting_line
+projector,0,123,
+pontasu,1,123,
+pokemon_heroes:_latios_&_latias,3,123,pokemon_m05
+podium,0,123,
+pingo,1,123,
+ping_hai_(summer_vacation)_(azur_lane),4,123,ping_hai_(merry_summer)_(azur_lane)
+pd_(pdpdlv1),1,123,
+parasect,4,123,
+osobachan,1,123,"osabachan,osoba_(bpns)"
+oruto_(ort+),1,123,
+ootori_subaru,1,123,dial16yoi
+ongeki,3,123,
+ok_sign_over_eye,0,123,
+ntw-20,0,123,
+nonosaki,1,123,
+night_clothes,0,123,
+netarou,1,123,
+nachoneko,4,123,nacho_(amashiro_natsuki)
+muraryo,1,123,
+mudo_(saji),1,123,
+moped,0,123,
+monolith_(suibou_souko),1,123,
+momoi_satsuki,4,123,
+mof's_silver_haired_twintailed_girl,4,123,
+moby_(elsword),4,123,
+mo_(mocopo),1,123,
+miyafuji_miina,4,123,
+miwa_kasumi,4,123,
+mitsu_king,1,123,mitchie
+minowa_gin,4,123,
+minidraco,1,123,
+minato_mio,4,123,
+minamisawa_atsushi,4,123,
+mihato_senba,1,123,kasagarasu
+miel_(lessontome),1,123,
+meiro_(yuu),1,123,youri19
+mecha-fiora,4,123,m-fiorung
+maruyo,1,123,
+marco_(one_piece),4,123,
+majiang,1,123,
+machismo_fuji,1,123,
+lune_zoldark,4,123,
+lotus_pedestal,0,123,
+logix_ficsario,4,123,
+kuroame_(kurinohana),1,123,
+kuranami_shiki,4,123,
+krabby,4,123,
+koto_(kyousougiga),4,123,koto_(kyousogiga)
+kosuke_(bb),1,123,ky_kosuke
+konoe_yuba,1,123,yuba_(konoha)
+konarofu,1,123,
+koga_norio,4,123,norio_koga
+kiryuu_kaoru,4,123,
+kihane_atsusane,1,123,
+kaosu_(kaosu0905),1,123,
+kanzaki_akari,4,123,
+kantarou_(8kan),1,123,
+kaneda_shoutarou's_bike,0,123,
+kandata_nijou,1,123,"shinto_nijou,yu02j0"
+kaji_ryouji,4,123,kaji_ryoji
+kafra_uniform,0,123,
+jouvru,1,123,
+jindai_komaki,4,123,
+jester_(dq3),4,123,
+jajala,1,123,
+itsukia,1,123,
+isou_nagi,1,123,
+isosceles_triangle_(xyzxyzxyz),1,123,
+ishiusu,1,123,black_triangle_(artist)
+ishigami_yuu,4,123,
+inu_(puputizy),1,123,pochi_pochino
+inu777,1,123,
+inaka_keikou,1,123,
+ibispaint_(medium),5,123,
+ibaraki_douji_(swimsuit_lancer)_(first_ascension)_(fate),4,123,
+hu_kotora,1,123,fuu_kotora
+holographic_touchscreen,0,123,
+hinata_(pure_pure),4,123,
+hinata_(blue_archive),4,123,
+himadarou,1,123,
+hikimaru,1,123,
+hiiro_yuki,1,123,
+higashikata_daiya,4,123,
+haniwagi_(hal),1,123,
+hands_on_stomach,0,123,
+hakuurei_amano,1,123,
+grabbing_another's_hand,0,123,
+gogoco,1,123,
+glycine_bleumer,4,123,
+ginnkei,1,123,
+giant_hand,0,123,
+gemini,0,123,
+ganbaru_pose,0,123,
+gagaimo,1,123,
+fuu_(samurai_champloo),4,123,
+futomomomoe,1,123,
+furnace,0,123,
+fur-trimmed_pants,0,123,
+fujihara_(haguhagu),4,123,
+fuji_yoshida,1,123,
+frog_headband,0,123,
+flan_(seeyouflan),1,123,
+farrah_(granblue_fantasy),4,123,
+eta,1,123,
+eric_cartman,4,123,
+embroidered_panties,0,123,
+ekuesu,1,123,
+egooo,1,123,
+eelektross,4,123,
+earlgrey,1,123,
+digital_hazard,0,123,
+destroyer_water_oni,4,123,
+demon_cleric,4,123,
+dazzle_paint,0,123,
+dark_haired_kappa,4,123,
+danhu,1,123,
+da_mao_banlangen,1,123,ex_azusa
+crusader_(tank),0,123,
+con_potata,1,123,
+clea_(geee13),1,123,
+claudette_(queen's_blade),4,123,clawdette
+chiaki_kurihara,4,123,kurihara_chiaki
+charlotte_corday_(third_ascension)_(fate),4,123,
+cathead,0,123,
+carving,0,123,
+carro_armato_p40,0,123,
+calm_mashiro,1,123,
+calla_lily,0,123,
+bug_(artist),1,123,
+boxing_shorts,0,123,
+bomber_hat,0,123,
+boar_hood,0,123,
+baron_(x5qgeh),1,123,
+barbarian_tk,1,123,
+bannouyakunta,1,123,"bannnouyakunta,mannouyakunta"
+balmung_(fate/apocrypha),0,123,
+baji_keisuke,4,123,
+ayakashi_triangle,3,123,
+atago_hiroe,4,123,
+ass_on_glass,0,123,
+ashlock_(arknights),4,123,ashley_(arknights)
+asagao_to_kase-san,3,123,kase-san_and_morning_glories
+archvermin,1,123,
+antlers_through_headwear,0,123,
+antelope_ears,0,123,
+akasaka_mamoru,4,123,
+yukianesa,0,122,
+yst,1,122,
+yoyohara_tsukasa,4,122,
+youko_(girls_und_panzer),4,122,
+yeneny,1,122,
+yanutorie,1,122,
+yamada_maya_(infinite_stratos),4,122,
+wwe,3,122,
+white_towel,0,122,
+white_lily,0,122,
+weight,0,122,
+watanabe_minori,4,122,
+walther_ppk,0,122,
+viridi,4,122,nachure
+violette,4,122,
+usagino_suzu,1,122,
+umiu_geso,1,122,
+two-tone_neckwear,0,122,
+tora_jun,1,122,
+tokiwata_soul,1,122,
+tights_day,0,122,
+terry_(pixiv3274443),1,122,
+taut_sweater,0,122,
+tanaka_rie,4,122,rie_tanaka
+tamagotchi,3,122,
+tama_(aquarion),4,122,
+takamachi_nanoha_(exceed_mode),4,122,
+suzuka_(rekkyo),1,122,
+sutei_(giru),1,122,
+super_tama_musume,4,122,
+sugita_tomokazu,4,122,
+stitching,0,122,
+stem,1,122,
+star_of_lakshmi,0,122,
+spareribs,1,122,supearibu
+souryuu_(double_dragon),1,122,
+slimy,0,122,
+skull-shaped_hat,0,122,
+skeletal_hand,0,122,
+sishenfan,1,122,
+sironora,1,122,sirono-ra0929
+sirachi,1,122,
+sin11111,1,122,
+silver_the_hedgehog,4,122,
+signalviolet,1,122,
+siduri_(fate),4,122,siduri_(fate/grand_order)
+shouryouuma,0,122,
+shizuki_michiru,1,122,
+shishin_(shishintei),1,122,tatsuya_ishikawa
+sentou_mecha_xabungle,3,122,
+semi_truck,0,122,
+scathach_skadi_(swimsuit_ruler)_(fate),4,122,
+satin_dress,0,122,
+sarutobi_asuma,4,122,
+saltwater_crocodile_(kemono_friends),4,122,
+sakuradou,1,122,
+ryuu_ryuu,1,122,
+ryuu_(tsukinoyuki),1,122,
+roto_(kanae),4,122,
+roshiakouji-chan,1,122,
+rocket_punch,0,122,
+rinnegan,0,122,
+rikumoto_yoshiyuki,1,122,
+renka_(cloudsaikou),1,122,
+red_jumpsuit,0,122,
+project_diva_extend,3,122,
+prinz_eugen_(profusion_of_flowers)_(azur_lane),4,122,prinz_eugen_(dance_of_a_hundred_flowers)_(azur_lane)
+primm,4,122,
+pointed_footwear,0,122,
+planted_knife,0,122,
+pekoni_(peconi),1,122,
+pearl7,1,122,
+panda_(jujutsu_kaisen),4,122,
+otoyomegatari,3,122,"a_bride's_story,otoyome-gatari"
+original_race_uniform_(umamusume),0,122,
+oosanshouuo-san,4,122,
+oomuro_nadeshiko,4,122,
+onsen_symbol,0,122,hot_springs_symbol
+onceskylark,1,122,
+once_11h,1,122,
+old_snake,4,122,
+oimo_(oimkimn),1,122,"act_(a_moso),oimkimn"
+nzeneee,1,122,
+nose_pinch,0,122,
+nofuture,1,122,
+no_animal_ears,0,122,
+nishina_toriko,4,122,
+nicorima,1,122,"25l,monueari"
+natsu_natsuna,1,122,imomu
+naoki_eguchi,1,122,
+nanase_miri,1,122,
+nanao_futaba,1,122,
+namba_emi,4,122,
+nakukoroni,1,122,
+nagase_minato,4,122,
+murenase!_shiiton_gakuen,3,122,seton_academy:_join_the_pack!
+murani,1,122,
+moru,1,122,
+miyazawa_tsutomu,1,122,
+mirakururu,1,122,mirakuruone
+mint_adenade,4,122,mint_adnade
+miniru,1,122,
+minior,4,122,
+minato_yoshihiro,1,122,mito_yoshihiro
+milinda_brantini,4,122,
+miitoban,1,122,luceva
+mega_man_9,3,122,rockman_9
+mechanical_spine,0,122,mechanical_backbone
+matsunaga_garana,1,122,
+maru_usagi,1,122,
+maria_renard,4,122,
+mari0ball,1,122,
+makai_shin_trillion,3,122,
+mady_(madine08260),1,122,getsuyoubi
+lumiere,4,122,
+looking_at_screen,0,122,
+le_malin_(sleepy_sunday)_(azur_lane),4,122,le_malin_(the_knight's_true_nature)_(azur_lane)
+l_ract,1,122,
+l'arachel_(fire_emblem),4,122,
+kuwahara_taiki,1,122,yukidaifuku
+kugi_ta_hori_taira,1,122,
+koukaku_no_regios,3,122,"chrome_shelled_regios,chrome_shelled_regios"
+koga_(pokemon),4,122,kyou_(pokemon)
+kochipu,1,122,
+koba,1,122,
+kisaragi_chiyuki,1,122,
+kira_yoshikage_(jojolion),4,122,
+kimura_seiko,4,122,
+khn_(kihana),1,122,
+kawasumi_(japonica),1,122,japonica
+kasugano_tobari,1,122,
+karakusa_(pattern),0,122,
+kanosawa,1,122,
+kaname_tomohisa,4,122,
+kajaneko,1,122,
+k5_(girls'_frontline),4,122,k5_(girls_frontline)
+k/da_kai'sa,4,122,
+isshuukan_friends,3,122,one_week_friends
+isaac_clarke,4,122,
+isa_(peien516),1,122,
+integra_hellsing,4,122,
+in_bubble,0,122,inside_bubble
+ihachisu,1,122,
+hyakuya_mikaela,4,122,hyakuya_michaela
+huziko32,1,122,
+huyandere,1,122,
+honda_super_cub,0,122,
+hiyoshi_hana,1,122,
+himaneko.,1,122,
+himamo,1,122,
+herokick,1,122,
+heijialan,1,122,
+heart_out_of_chest,0,122,
+haya_taro_pochi,1,122,
+hasu_(velicia),1,122,
+haruru_minamo_ni!,3,122,
+haruki_reimari,1,122,
+gurifu,1,122,
+greetload,1,122,
+great_grey_wolf_sif,4,122,great_gray_wolf_sif
+grandia_ii,3,122,
+ghost_trick,3,122,
+genny_(fire_emblem),4,122,jenny_(fire_emblem)
+fuwa_daisuke,1,122,a-10_(artist)
+future_style_(module),0,122,
+fuji_tsugu,1,122,
+enterprise_(wind_catcher)_(azur_lane),4,122,
+en@rain,1,122,
+elizabeth_(gintama),4,122,
+ecoman,1,122,
+echidna_(p&d),4,122,
+duck_hunt,3,122,
+dressing_room,0,122,
+dojikko,0,122,
+diner,0,122,
+diablo,3,122,
+dekasudachin,1,122,
+dark_cure_(yes!_precure_5),0,122,
+darahan,1,122,
+cure_summer,4,122,
+cubicle,0,122,
+chuchu_(show_by_rock!!),4,122,
+chroneco,1,122,
+chou_shippai-saku,1,122,tigersaber
+chilchuck,4,122,
+cherino_(blue_archive),4,122,
+chabaneko,1,122,
+can't_show_this,0,122,
+calvin_klein,0,122,
+brown_camisole,0,122,
+bow_swimsuit,0,122,
+blue_vert,1,122,
+beige_legwear,0,122,
+bakeneko,0,122,
+bai_linqin,1,122,
+avengers:_infinity_war,3,122,
+assisted_masturbation,0,122,
+ashley_winchester,4,122,
+ashikaga_chachamaru,4,122,
+asa_(1asa-0-asa1),1,122,10ofton10
+aro_(charged_time_out),1,122,
+annelotte,4,122,
+amaichi_esora,1,122,minatsuki_(lapislazzuli169)
+alice_(pandora_hearts),4,122,
+action_figure,0,122,
+34no404,1,122,
+#unicus_(idolmaster),0,122,#lookingforaunitname_(idolmaster)
+zukki_(suzukio),1,121,
+yuusa,1,121,
+youkai_hyakki-tan!,3,121,
+yamaguchi_(shinigami-no-barad),1,121,
+y_(khakiyawn),1,121,coh
+wax_play,0,121,
+washing_another,0,121,
+vf-1j,4,121,
+vayneeeee,1,121,
+usamochi.,1,121,
+two_(tsu_(lovesick1964)),4,121,
+tutsucha_illust,1,121,
+tsurumi_tokushirou,4,121,
+triple-q,1,121,
+toku_(yhpv8752),1,121,
+tk4,1,121,
+thkani,1,121,
+teroru,1,121,
+tenbin_gashira,1,121,ajiameba
+teikoku_jokyoku,1,121,
+takenaka,1,121,
+take_toshiaki,1,121,taketoshi_aki
+supernew,1,121,
+sugar_(dndi888),1,121,
+stylistic,0,121,
+spacelongcat,1,121,
+soramame_(corndog),1,121,
+slime_taoshite_300_nen_shiranai_uchi_ni_level_max_ni_nattemashita,3,121,i've_been_killing_slimes_for_300_years_and_maxed_out_my_level
+sinobi_illust,1,121,
+shortcake,0,121,
+sho_bu_1116,1,121,
+sho_(sumika),1,121,
+shitacemayo,1,121,
+shinsou_hitoshi,4,121,
+shikai,0,121,shikai_(bleach)
+shibafu_(glock23)_(style),0,121,
+serizawa_chikaru,4,121,
+seraphina_(disgaea),4,121,
+sea_scorpion_(umisasori),1,121,
+sazanami_shione,1,121,
+sawsbuck,4,121,
+sawitou_mizuki,1,121,
+sao_(0060),1,121,
+sakakibara_satomi,4,121,
+sakai_yuuji,4,121,
+rupinesu,1,121,
+rengar,4,121,
+redlight,1,121,
+quincy_(warship_girls_r),4,121,
+qiyana_(league_of_legends),4,121,
+premier_ball,0,121,
+post,0,121,
+poo_(mother_2),4,121,
+plamja-sama,4,121,
+pinocchio_(sinoalice),4,121,
+pink_mercy,4,121,
+paradox_live,3,121,
+paintale,1,121,
+owain_(fire_emblem),4,121,eudes_(fire_emblem)
+otosaka_ayumi,4,121,
+otonashi_kyouko,4,121,
+omochishiki,1,121,user_pjcg5745
+omnic,0,121,
+olive,0,121,
+noivern,4,121,
+noamem,1,121,ichi001
+no-rin,3,121,
+nise_nanatsura,1,121,
+nin_nakajima,1,121,
+niizuka_(c-drop),1,121,aratsuka
+nekoita,1,121,
+nekobayashi,1,121,
+nari_(cougar1404),4,121,
+nanase_riku,4,121,
+mustard_seeds,4,121,
+muk,4,121,
+mspaint_(medium),5,121,
+mouth_piercing,0,121,
+morrighan,4,121,
+moekyon,1,121,
+mochizuki_momiji,4,121,
+miyatsuki_itsuka,1,121,
+mitsumine_(ookami_no_oyashiro),1,121,domoookamidesu
+mitsu_yomogi,1,121,
+miazuma_sarin,1,121,
+mg4_(girls'_frontline),4,121,mg4_(girls_frontline)
+meerkat_tail,0,121,
+medama_oyaji,4,121,
+maneki-neko_(fujifuji),1,121,
+makino_kanna,4,121,
+mahan,1,121,
+luthica_preventer,4,121,
+lunamoon,1,121,
+luimiart,1,121,jeff_macanoli
+low-cut,0,121,
+little_girl_saniwa_(touken_ranbu),4,121,
+laoan,1,121,
+kusunoki_shio,4,121,
+kuchiki_byakuya,4,121,
+kray_foresight,4,121,
+konohana_saku,1,121,kibana_tsuitachi
+komeiji_koishi_(cosplay),0,121,
+koji_(wildlhz),1,121,
+kohinata_aoi_(dokidoki_sister_aoi-chan),4,121,
+kisaragi_kokoro_(hazuki),1,121,enmiria
+kikunosukemaru,1,121,mueojisan
+kiana_kaslana_(knight_moonbeam),4,121,
+kentairui,1,121,kenntairui
+ken_(shutenndouji1),1,121,
+katsudon_(food),0,121,
+kate_(alice_catharsis),1,121,kedama_keito
+kashiwadokoro,1,121,
+kano_(wi3028),1,121,
+kannagi_rei,1,121,
+kana_(okitasougo222),1,121,
+kachima,1,121,
+juliet_nao_zhang,4,121,
+johnny_(guilty_gear),4,121,johnny_sfondi
+huyusilver,1,121,
+hirasawa_shizuku,4,121,
+hikigaya_komachi,4,121,
+high-waist_sideboob,0,121,
+hayasaka_akira,4,121,
+hamada_pengin,1,121,
+haine,1,121,
+hagoromo_gitsune,4,121,hagoromo_kitsune
+gurajio,1,121,
+gradient_nails,0,121,gradient_fingernails
+gertrud_(madoka_magica),4,121,
+german_commentary,5,121,
+genba_neko,4,121,
+garou_(one-punch_man),4,121,garou_(onepunch_man)
+gaius_(tales),4,121,gaias
+fuussu_(21-kazin),1,121,
+futase_hikaru,1,121,
+furukawa_wanosuke,1,121,yoshikawa_(wineretro)
+funikurikurara,1,121,
+fujiwara_hazuki,4,121,
+fish_request,5,121,
+fenyon,1,121,
+fearless_night,3,121,
+execution,0,121,
+etna_(kuzuyu),4,121,
+esia_mariveninne,4,121,
+envy,0,121,
+emurin,1,121,
+drossel_von_flugel,4,121,drossel_von_fl├╝gel
+dragon_costume,0,121,
+domino_high_school_uniform,0,121,
+dogfight,0,121,dogfighting
+cynthia_(fire_emblem),4,121,
+cottage,1,121,
+code:_battle_seraph_(elsword),4,121,
+cinderella_(sinoalice),4,121,
+churro,0,121,
+chijou_noko,4,121,
+cerberus_(kemono_friends),4,121,
+celtic_cross,0,121,
+catwoman,4,121,
+catsubun_(kkst0904),1,121,
+cait_sith_(ff7),4,121,
+bokurano,3,121,
+blowing_in_ear,0,121,
+bloodline,3,121,
+black_blood,0,121,
+big_man_(splatoon),4,121,
+beanis,1,121,
+bakura_ryou,4,121,
+ayase_ena,4,121,
+aya_shobon,1,121,
+axia-chan,1,121,
+atoatto,1,121,
+arunira,4,121,
+aruma_(sawayaka_tokuko_miruku),1,121,
+ari_hinoko,1,121,kamemaru
+aquila_yuna,4,121,
+ankle_gun,0,121,
+anegawa_eiji,1,121,eenui334
+anderain,1,121,cang_fade
+ameno_shigure,1,121,
+amamiya_(abaros),1,121,abaros
+akudama_drive,3,121,
+akai_ronii,1,121,lo_(rogu_ryouiki)
+adyisu,1,121,
+adjusting_bow,0,121,
+absolum_art,1,121,alejandro_tio
+15_(tooka),1,121,
+.hack//sign,3,121,
+zombina,4,120,
+zerocastle,1,120,
+yuukichi,1,120,
+yuuki1103,1,120,yuuki_(pixiv107834)
+yukino_bijin_(umamusume),4,120,
+yui_hiroshi,1,120,gundam00uc
+yoshiwo_(kanikama),1,120,yoshiwo_(pixiv27580)
+yoru_(yowuyoru),1,120,ei1han
+yamase,1,120,
+wild_flower,3,120,
+wi-z_garage,1,120,
+whistlerx,1,120,
+wachi_yuri,4,120,
+vistake,4,120,
+v_yuusha_no_kuse_ni_namaiki_da_r,3,120,
+uruo,1,120,
+urethral_beads,0,120,
+uno_(game),0,120,
+umetsu_yasuomi,1,120,
+type_91_armor-piercing_shell,0,120,
+tsurugi_(the_horizon),1,120,tsurugi_muda
+tokyo_sky_tree,0,120,
+ten_no_hoshi,1,120,
+ten'inkou_korin,4,120,
+tamagogogo,1,120,
+takio_(kani_sama),1,120,
+takeuma,1,120,
+takepon1123,1,120,
+takahashi_ren,1,120,
+takahashi_reiko,4,120,
+syandega,1,120,dega1028
+sura_sura,1,120,
+suomi_(korvatunturi_pixie)_(girls'_frontline),4,120,
+sumeragi_shion,4,120,
+stretched_limb,0,120,
+stack_(sack_b7),1,120,
+srw_battle_screen,0,120,
+somersault,0,120,
+solgaleo,4,120,
+skeletal_wings,0,120,bone_wings
+signal_flag,0,120,
+shun'ya_(daisharin36),1,120,
+shogo_(4274732),1,120,
+shizuko_(swimsuit)_(blue_archive),4,120,
+shizuka_(queen's_blade),4,120,
+shirma,4,120,
+shirase_maki,4,120,
+shionji_yuuko,4,120,
+shion_uzuki,4,120,uzuki_shion
+shiki_haruomi,4,120,
+seaking,4,120,
+scar_on_breasts,0,120,
+satyr_(granblue_fantasy),4,120,
+sand_writing,0,120,
+salazzle,4,120,
+sailor_moon_narikiri_bra_set,0,120,
+saga_inu,1,120,
+riki_(xenoblade),4,120,
+revice_driver,0,120,
+reunion_logo_(arknights),0,120,
+reroi,1,120,
+reno_(biggest_little_cheerleader)_(azur_lane),4,120,
+recorder_case,0,120,
+ravenclaw,0,120,
+ralf_jones,4,120,
+pumpkin_scissors,3,120,
+prostate,0,120,
+print_sash,0,120,
+primamiya,1,120,
+potion_(moudamepo),1,120,
+popukar_(arknights),4,120,
+popon_ta,1,120,
+popoi,4,120,
+plant_on_head,0,120,
+pickle,0,120,
+peach11_01,1,120,
+p7_(girls'_frontline),4,120,p7_(girls_frontline)
+ots-12_(girls'_frontline),4,120,ots-12_(girls_frontline)
+ornate,0,120,
+orikuchi_hirata,1,120,origuchi_mizu
+oosawa_maria,4,120,
+ochakai_shin'ya,1,120,ochakai_shinya
+nori_gorou,1,120,
+noppo,1,120,
+ninnin_(shishitou),1,120,
+night_angel_(last_origin),4,120,b-11_night_angel
+nidoqueen,4,120,
+naruse_maria,4,120,
+nacht,1,120,
+n-zap_(splatoon),0,120,
+myon_(tokipi),1,120,
+mushroom_hat,0,120,
+mush820823,1,120,
+msp_sammy,1,120,
+mrdotd,1,120,
+mosu_(korikan),1,120,
+monica_kruszewski,4,120,
+molotov_cocktail,0,120,
+mocha_(snowflake),1,120,
+miyake_hinata,4,120,
+minpei_ichigo,1,120,
+mikurun,1,120,
+metroid:_zero_mission,3,120,
+medli,4,120,
+may,0,120,
+matatagi_hayato,4,120,
+masato_(mirai_koubou),1,120,
+maruneko,1,120,
+marin_(myuy_3),1,120,
+makise_minami,1,120,makise_medaka
+mahou_tsukai_no_yome,3,120,the_ancient_magus'_bride
+luna_(my_little_pony),4,120,
+luffyko,4,120,
+lokman_lam,1,120,
+leg_wings,0,120,
+lachesis_(fire_emblem),4,120,
+kyukkyu-kun,4,120,
+kusakabe_satsuki,4,120,
+kurasawa_kyoushou,1,120,
+kuma_(jk0073),1,120,
+kouichi_eiji,1,120,
+konabetate,1,120,
+kiba_manami,4,120,
+kawasaki_kazuhiko,1,120,
+kase_tomoka,4,120,
+kanzen_bouon,1,120,
+kannazuki_genshi,1,120,
+kallen_kaslana_(sixth_serenade),4,120,
+kakinoki_mikan_(kari),1,120,
+kaito_(kaixm),1,120,
+kageira,1,120,
+kabocha_usagi,1,120,
+jingai_makyou,3,120,jingaimakyou
+jenny_(pokemon),4,120,"junsa_(pokemon),junsaa_(pokemon),officer_jenny,officer_jenny"
+izra,1,120,
+ira_(dokidoki!_precure),4,120,ira_(precure)
+interlocked_mars_and_venus_symbols,0,120,
+holding_hair_ornament,0,120,
+hizuki_higure,1,120,
+hiyamizu_yukie,1,120,
+hitsuji_takako,1,120,
+hinasumire,1,120,
+hiiragi_shino,4,120,
+highly_responsive_to_prayers,3,120,
+higeneko,1,120,yumesaki
+heracross,4,120,
+hazuki_kyou,1,120,
+haruyukiko,1,120,
+harada_makoto,4,120,
+handlebar,0,120,
+hand_on_own_throat,0,120,
+griseo,4,120,
+grey_tail,0,120,
+gorgonzola_(paradisegom),1,120,"izanagi_no_okami_(artist),parumezan"
+golf_ball,0,120,
+ginyu_force_pose,0,120,
+gigi_d.g.,1,120,"hiimdaisy,peachifruit"
+gamerag,1,120,
+ga_rune_pose,0,120,
+fujisawa_takashi,1,120,
+florence_nightingale_(santa)_(fate),4,120,florence_nightingale_santa_(fate/grand_order)
+firing_at_viewer,0,120,
+false_arm,0,120,
+esoragoto,1,120,
+ducklett,4,120,
+duca,1,120,
+drunkoak,1,120,
+dotted_quarter_note,0,120,dotted_crotchet
+dickbomber,1,120,leewh1515
+denki,1,120,
+dekosukentr,1,120,
+dango_hair_ornament,0,120,
+danfer3,1,120,
+dance_in_the_vampire_bund,3,120,
+cum_bath,0,120,
+crystal_exarch,4,120,
+cryamore,3,120,
+corrector_yui,3,120,
+cody_travers,4,120,
+claire_stanfield,4,120,vino
+cicin_mage_(genshin_impact),4,120,
+chouun,4,120,
+choco_(chocovix112),1,120,
+chloe_valens,4,120,
+cherno_alpha,4,120,
+cherche_(fire_emblem),4,120,serge_(fire_emblem)
+checkered_apron,0,120,
+champion_(ragnarok_online),4,120,
+chamba,1,120,jeffrey_cruz
+cecilia_(fire_emblem),4,120,
+catra,4,120,
+casshern_sins,3,120,
+caee_penguin,1,120,penguin_caee
+bonkiru,1,120,
+blsh,1,120,
+blazblue_phase_0,3,120,
+bitten_apple,0,120,
+biting_hair,0,120,
+bird_hat,0,120,
+beruko14,1,120,"beruko_(rladustns50),hoodecibel"
+beitemian,1,120,
+bard_(final_fantasy),4,120,
+atha_(leejuiping),1,120,
+asterisk_(idolmaster),0,120,
+asakura_hayate,1,120,
+apollo_(hu_maple),1,120,
+angel31424,1,120,
+altera_moontail,4,120,altera_cephon
+alabama_(azur_lane),4,120,
+akazawa_izumi,4,120,
+ajna_(indivisible),4,120,
+aislinn_wishart,4,120,
+adjustable_wrench,0,120,
+2_fuel_4_ammo_11_steel,0,120,
+yuzuki_yukari_(vocaloid4),4,119,
+yusao,1,119,
+yuri_leclerc,4,119,
+yuna_(sao),4,119,
+yukishiro_(hitsuji),1,119,
+yo_mo,1,119,penta5
+yaya_hiyayaka,1,119,
+yashiro_momoka,4,119,
+yanase_miyuki,4,119,
+yamataka,1,119,
+yaki_mayu,1,119,
+whooo-ya,1,119,
+wee_(weeyy),1,119,
+viper_v16,3,119,
+utomo,1,119,
+utatane_piko,4,119,
+uraki_(tetsu420),1,119,
+ty_lee,4,119,
+tusk_act1,4,119,
+tunamayochan,1,119,
+tugo,1,119,
+tsuti,1,119,
+tsukikanade,1,119,
+tsugumi_(guilty_crown),4,119,
+toyota_saori,1,119,
+toki_(hokuto_no_ken),4,119,
+tiankong_pie_ai,1,119,
+terufuu,1,119,
+tantei_wa_mou_shindeiru,3,119,the_detective_is_already_dead
+tanaka_kunihiko,1,119,
+tanaka_hirotaka,1,119,
+takanashi_akihito,1,119,hitsuji
+tahra,1,119,kyoung_hwan_kim
+tachibana_yuu_(yakitomato),4,119,
+t.m.revolution,3,119,
+surskit,4,119,
+subaru_(subachoco),1,119,
+stuffed_chicken,0,119,
+steeb,1,119,steeb26
+star_guardian_jinx,4,119,
+south_korean_flag,0,119,
+skirt_rolled_up,0,119,rolled_up_skirt
+sirokohi,1,119,
+single_vambrace,0,119,
+shuumatsu_no_valkyrie,3,119,record_of_ragnarok
+shirai_hinako,4,119,
+shinonoko_(tubamecider),1,119,
+shining_musume,3,119,
+sesame_seeds,0,119,
+segway,0,119,
+sega_mega_drive,0,119,sega_genesis
+same_(sendai623),1,119,
+sakurai_shin'ichi,4,119,sakurai_shinichi
+sakuma_ritsu,4,119,
+sakigake!!_cromartie_koukou,3,119,"cromartie,cromartie_high_school"
+sailor_mercury_(cosplay),0,119,
+ryuunosuke_(luckyneco),1,119,tatsuno_ryou
+rinhee,1,119,
+rero_(bigdoorbig2),1,119,bxr
+renzu_(lens_02),1,119,
+red_tassel,0,119,
+red_panda_girl,0,119,
+recharging,0,119,
+rebecca_bluegarden,4,119,
+princess_peach_(cosplay),0,119,
+pooh,4,119,
+pixie_(megami_tensei),4,119,
+pink_serafuku,0,119,
+pink_curtains,0,119,
+pincurchin,4,119,
+persica_(girls'_frontline),4,119,persica_(girls_frontline)
+patricia_thompson,4,119,
+paper_doll,0,119,
+paopa_ship,1,119,
+paffy_pafuricia,4,119,
+p-suke,1,119,
+otako_(galko),4,119,ota-ko_(gyaru-ko)
+orsola_aquinas,4,119,ursula_aquinas
+orange_peel_(artist),1,119,
+okazuwa_shake,1,119,inugami_mokekiyo
+o_(crazyoton46),1,119,
+nyuubara_reona,4,119,pareo_(bang_dream!)
+nuko_(shoujo_shuumatsu_ryokou),4,119,
+novady,1,119,nobady
+noizu_(noi_hr),1,119,
+nise_maou_kanizeru,4,119,
+nira_(vira),1,119,
+nintendo_64,0,119,
+nijou_aki,4,119,
+nichiru,1,119,
+nezumidoshi,1,119,
+neko_daruma,1,119,
+nancy_lee,4,119,
+nakamura_sandayo,1,119,
+murakami_meishi,1,119,"meiji_(yakusou),yakusou_(loiiiii)"
+mmmilk,1,119,
+mixed_martial_arts,0,119,
+mitsuba_greyvalley,4,119,
+mito_mashiro,4,119,
+mint_(arknights),4,119,
+meowstic_(male),4,119,
+menoziriath,1,119,
+melodica,0,119,
+mc_lita,4,119,
+marowak,4,119,
+mao_(expuella),1,119,
+manda_(manda9n),1,119,
+mako_(azuumori),4,119,shark_girl_(azuumori)
+makirin,1,119,
+makigai,1,119,
+lollipop_chainsaw,3,119,
+leorio_paladiknight,4,119,leorio
+leo_de_la_iglesia,4,119,
+leo/need_(project_sekai),0,119,
+leather_strap,0,119,
+layer_cake,0,119,layered_cake
+lap,0,119,
+kyouyama_anna,4,119,
+kurono_kito,1,119,
+krono_tokage,1,119,kurono_tokage
+kosobin,1,119,
+konoe_subaru,4,119,
+kaze_no_klonoa,3,119,
+katou_teppei,1,119,
+kashiwagi_chisame,1,119,
+izumi_rei,1,119,
+izumi_kouhei,4,119,
+izayoi_miku,4,119,
+individuals_(idolmaster),0,119,individuals
+immaterial_and_missing_power,3,119,iamp
+hinata_hibari,1,119,hibari_(horse809cat)
+hevn,1,119,
+heart_arms_duo,0,119,
+harumi_(harumix),1,119,
+hanazawa_kana,4,119,
+habara_meguru,1,119,
+habara_(danshi_koukousei),4,119,habara_(joshikousei_wa_ijou)
+gunkanmaki,0,119,
+gray_bear,1,119,
+grappling_hook,0,119,
+goron,0,119,
+goldowl,1,119,
+gladiator,0,119,
+fuyuno_kamome,1,119,ouchi_kaeru
+futaba_hazuki,1,119,
+fujisaka_kuuki,1,119,
+formicid,1,119,
+flowerxl,1,119,
+fire_emblem_(tiger_&_bunny),4,119,
+female_commander_(azur_lane),4,119,
+etsunami_kumita,1,119,
+enomoto_hina,1,119,
+eagle_spirit_(touhou),4,119,
+doromame,1,119,uiui_(hage04195)
+doormat,0,119,
+doku-chan_(dokkudokudoku),1,119,
+diathorn,1,119,
+denpaken_pochi,1,119,
+denmark_(hetalia),4,119,
+delcatty,4,119,
+days_in_a_flash_(umamusume),0,119,
+dark_jewel_(gem_oblivion),1,119,gem_oblivion
+cosmikaizer,1,119,
+cornelia_(umineko),4,119,
+clothes_gag,0,119,
+claire_harvey,4,119,
+chitose_(usacan),1,119,
+chingling,4,119,
+chaosringen,1,119,nguyen_uy_vu
+centurion_(tank),0,119,
+catherine_(fire_emblem),4,119,
+carim_gracia,4,119,
+cancer_(zjcconan),1,119,
+callan_(callancoe),1,119,
+burgh_(pokemon),4,119,"arti_(pokemon),arty_(pokemon)"
+braviary,4,119,
+bird_costume,0,119,
+bing_zizi,1,119,gla
+azuazu_0405,1,119,
+aura_bella_fiora,4,119,
+asobi_asobase,3,119,
+asellus_(saga_frontier),4,119,
+arudebido,1,119,
+archeops,4,119,
+anita_king,4,119,
+anastasia_(swimsuit_archer)_(third_ascension)_(fate),4,119,
+amy_sorel,4,119,
+alternate_size,0,119,
+almic,1,119,al_mican
+akechi_shizuku,1,119,
+akai_kitsune,1,119,akaikitsune
+ai_tenshi_densetsu_wedding_peach,3,119,weddingpeach
+adjusting_hood,0,119,
+adell_(disgaea),4,119,
+212_(kisaragi),1,119,unpokotan
+zetsumu,1,118,
+zenkoku_seifuku_bishoujo_grand_prix,3,118,
+yuri_briar,4,118,
+yoshino_momiji,1,118,yosino
+yoshida_hirofumi,4,118,
+yoruhoshi_owl,1,118,owl_(polaris_ilu)
+yoo_joonghyuk,4,118,
+yawata_maru_(kancolle),4,118,
+yang_lee,4,118,
+yamikyon,1,118,yami_kyon_oov
+yamazaki_tsukune,1,118,mi_ri_000
+white_horse,0,118,
+watanabe_masafumi_(masafumi_127),1,118,
+visket53,1,118,soapwort
+veilrain,1,118,
+usuki_(graygreed),1,118,hakumare
+uniqlo,0,118,
+ultra_seven_(series),3,118,
+u-joe,1,118,
+two-handed_sword,0,118,
+tsukioka_kirio,1,118,
+trigger_heart_exelica,3,118,
+toramaru_shou_(tiger),4,118,
+terasu_mc,1,118,
+tamaki_ako,4,118,
+taku_michi,1,118,
+takajo_kyoji,4,118,takajou_kyouji
+suzushiro_haruka,4,118,
+suzumori,1,118,
+suou_sakura,1,118,
+sungwon,1,118,
+sunburn,0,118,
+studio,0,118,
+stapled,0,118,
+st_bernard,0,118,
+sports_sunglasses,0,118,
+spearow,4,118,
+soriz,4,118,
+sorano_eika,1,118,
+sonsoso,1,118,
+sogiita_gunha,4,118,
+shirogane_souju,4,118,
+shimanoji,1,118,shima_noji_(dash_plus)
+screenshot,5,118,
+scoreboard,0,118,
+sawatari_mitsuki,4,118,
+satellizer_el_bridget,4,118,bridget_l._satellizer
+sasucchi95,1,118,
+sasakura_momiji,1,118,
+sakurasawa_yukino,1,118,
+sakanomachico,1,118,
+saitou_kengo,1,118,kengo
+rutile_(houseki_no_kuni),4,118,
+running_on_liquid,0,118,
+royalwatts,1,118,
+rem_galeu,4,118,
+rebutsu,1,118,
+rato,1,118,
+ratise,1,118,
+ramb_chop,1,118,
+r-type,3,118,
+quinzhee,0,118,
+project_upd8,3,118,
+podenco_(arknights),4,118,
+plus_step,1,118,yooo
+pito_(sh02327),1,118,
+penguin_maru_(penginmaru),1,118,
+pectoral_envy_(meme),0,118,
+pastime774,1,118,
+pantheon_(league_of_legends),4,118,
+pandarou,1,118,
+orange_outline,0,118,
+orange_bullet,1,118,
+okomeuma,1,118,
+ohigetan,1,118,
+object_request,5,118,
+obei_teitoku,1,118,
+nozama_tomoko,4,118,
+noname_(nowhere),1,118,
+nishizumi_tsuneo,4,118,
+niku_(hamuchang),1,118,kako_(bunny-garl)
+nash_(na-si),1,118,
+narumi_yuu_(bunbukudou),1,118,
+nappa,4,118,
+nanami_ayane,1,118,
+nanam_(nanam_sk),1,118,
+namekuji_(namekuzu),1,118,namekuzi_mame
+monsters_inc.,3,118,
+moe2020,0,118,
+mochi_(circle_rin),1,118,
+misumaru_yurika,4,118,
+miruki,1,118,
+minapo,1,118,
+mikudayoo,4,118,
+mihatarou,1,118,
+migu_(migmig),1,118,
+meimone,1,118,
+megurine_luka_(cosplay),0,118,
+medic_2_(sekaiju),4,118,
+mechanic_(ragnarok_online),4,118,
+meago,1,118,
+matsuno_chiya,4,118,
+mashinatsu,1,118,
+mango_(mgo),1,118,
+manana_(matoi1111),1,118,
+malariya,4,118,
+mahito_(jujutsu_kaisen),4,118,
+magna_carta,3,118,
+maeda_koutarou,1,118,
+macross_zero,3,118,
+lunacats,1,118,
+lucifer_(shingeki_no_bahamut),4,118,
+lucie_(millie_parfait),4,118,
+luca_(yu-gi-oh!),4,118,luna_(yu-gi-oh!)
+lsls,1,118,
+locon,1,118,
+lilith_(fire_emblem),4,118,lilith_(fire_emblem_if)
+liclac,1,118,
+lebring,1,118,
+laphicet_(tales),4,118,
+lao_meng,1,118,
+lahmu_(fate),4,118,lahmu
+laharl-chan,4,118,
+lady_bat,4,118,
+kure_kirika,4,118,
+kronshtadt_(azur_lane),4,118,
+kouzuki_yuniko,4,118,
+kondou_isao,4,118,kondo_isao
+komadori_renge,4,118,
+kodama,4,118,
+kisa_(k_isa),1,118,
+kawakami_shuuichi,1,118,
+karasu_raven,1,118,
+kaita_(mokamilkcup),1,118,
+kaishaku,1,118,
+kagura_suzu_(.live),4,118,
+kagari_ayaka,4,118,
+jojobirdz,1,118,
+jmao,1,118,
+japan_racing_association,3,118,
+jam-orbital,1,118,
+jake_the_dog,4,118,
+irouha,1,118,
+irohasu_(sasagarasu),1,118,
+iris_mysteria!,3,118,
+inigo_(fire_emblem),4,118,azur_(fire_emblem)
+indian,0,118,
+inaba_himeko,4,118,
+illyasviel_von_einzbern_(cosplay),0,118,
+ikura_hato,1,118,
+ichimonme_(ichi),1,118,"saibi,yano_tanimachi"
+ichihara_yuuko,4,118,
+hoshi_ori_yume_mirai,3,118,
+harenchi,1,118,
+hanebado!,3,118,
+hanayama_(inunekokawaii),1,118,
+hanako_(jibaku_shounen_hanako-kun),4,118,
+hanahanamaki,1,118,hanahanaken
+haizai,1,118,takagiri
+habanero_pepper,0,118,habanero
+gundam_mk_ii,4,118,
+goofy,4,118,
+gokukoku_no_brynhildr,3,118,brynhildr_in_the_darkness
+gogo_tomago,4,118,
+gimp_mask,0,118,
+getter-1,4,118,
+gen'ei_wo_kakeru_taiyou,3,118,
+gemini_sunrise,4,118,
+gebijiade_89,1,118,yoyo2doggness
+gauna,0,118,
+fn_fnc,0,118,
+fetus,0,118,
+featherine_augustus_aurora,4,118,
+fantongjun,1,118,
+fankupl,1,118,
+exeggcute,4,118,
+essex_(warship_girls_r),4,118,
+enoshima_junko_(cosplay),0,118,
+eliza_(tekken),4,118,
+eden_(honkai_impact),4,118,
+dragon_quest_yuusha_abel_densetsu,3,118,
+dododo_dadada,1,118,
+digimon_story:_cyber_sleuth,3,118,
+devilman_crybaby,3,118,
+denchu_(kazudentyu),1,118,
+dark_konoha,4,118,
+dabi_(dabibubi),1,118,
+cream_the_rabbit,4,118,
+cr72,1,118,
+comic_x-eros,3,118,
+cigarette_kiss,0,118,
+chuuta_(+14),1,118,
+character_single,0,118,
+carrot_(robosquat),1,118,kyarotto_(zenkixd)
+carimarica,1,118,zeromomo
+camera_around_neck,0,118,"camera_hanging_from_neck,camera_on_neck"
+calculator,0,118,
+buruma_under_skirt,0,118,
+boy_and_girl_sandwich,0,118,
+black_leopard_(kemono_friends),4,118,
+bijin_onna_joushi_takizawa-san,3,118,
+ashiya_hiro,1,118,
+asashimo_kai_ni_(kancolle),4,118,
+arykei,1,118,
+ao-shiba,1,118,
+animegao,0,118,
+angel_gabriel.,1,118,
+amasa_mitsunaru,1,118,
+amaretto_(girls_und_panzer),4,118,
+aken,1,118,
+zzyzzyy,1,117,
+zk_(zk_gundan),1,117,kagachan
+zain_(omaru_polka),4,117,
+yuuki_nobuteru,1,117,
+yutapon,1,117,
+youjo_(creek_(moon-sky)),4,117,
+yonerinoko_(banberabu),1,117,
+ylgr_(fire_emblem),4,117,ylgr_(fire_emblem_heroes)
+xue_lu,1,117,
+waddle_doo,4,117,
+vf-1s,4,117,
+vandread,3,117,
+uramakaron,1,117,
+unyon,1,117,
+uncle_rabbit_ii,1,117,
+ttosom,1,117,
+touge_hiro,1,117,
+tondamanuke,1,117,
+toma_tokage,1,117,chico152
+tayelle_ebonclaw,4,117,
+task_owner,1,117,"task_ohna,tasuku_oona,tasukuoona"
+takizawa_kyouko,4,117,
+ta_girls_school_uniform,0,117,
+swordfish,0,117,
+sunaya_yanokura,1,117,
+sui_(tsuruhibiki),1,117,
+suction_cup_dildo,0,117,
+stuffed_fox,0,117,
+strelka_belca,1,117,sutoreruka
+stella_hoshii,4,117,
+soil,0,117,
+soccer_field,0,117,
+sky_cappuccino,1,117,
+shizuru_(summer)_(princess_connect!),4,117,
+shirakawa_nanaka,4,117,
+shiori_(kamioka_shun'ya),4,117,
+shenaidi,1,117,
+shark_boy,0,117,
+shadman,1,117,shadbase
+sendou_erika,4,117,
+seele_vollerei_(starchasm_nyx),4,117,
+satosi,1,117,
+sasurai_susuki,1,117,ryuuri_susuki
+sasami-san@ganbaranai,3,117,
+saionji_reimi,4,117,
+saiko_dagashi,1,117,
+ryuuneart,1,117,
+ryochapu,1,117,
+rowen_j._ilbert,4,117,
+rita_rossweisse_(fallen_rosemary),4,117,
+reido_(reido_c),1,117,
+rebellion_(sword),0,117,
+rebecca_streisand,4,117,
+rassie_s,1,117,
+ran_(9ens2000),1,117,
+rackam_(granblue_fantasy),4,117,rakam_(granblue_fantasy)
+pressing,0,117,
+pet_shop,4,117,
+pepperoni,0,117,
+pearl_clan_outfit,0,117,
+pdxen,1,117,
+panties_under_swimsuit,0,117,
+pain_(naruto),4,117,
+pacific_racing_team,0,117,
+onoe,1,117,
+okoge_senbei,1,117,
+oka_(umanihiki),1,117,
+official_cosplay,0,117,
+o_(rakkasei),1,117,
+nut_megu,1,117,
+numako,1,117,
+nowareno_(higashi_shino),4,117,
+nowa,4,117,
+nip_to_chip,1,117,
+ninamori_eri,4,117,
+neko_lu_(wofud453),1,117,
+natsume_maya,4,117,
+nabe0721,1,117,
+myu-po,1,117,"miyuu_hodoh,miyuuhodoh"
+muunai,1,117,
+music_box,0,117,
+muscular_child,0,117,"muscular_female_child,muscular_loli,muscular_male_child,muscular_shota"
+mozuya_murasaki,1,117,
+mospeada,3,117,
+morisawa_yuu,4,117,
+mofu-mofu_after_school,3,117,
+mobile,0,117,
+mizunashi_hayate,1,117,
+micho,1,117,
+michael_jackson,4,117,
+meloetta_(aria),4,117,
+matt_(pokemon),4,117,
+matsusatoru_kouji,1,117,
+martina_crespi,4,117,
+maro_(lij512),1,117,
+marisa_(fire_emblem),4,117,marica_(fire_emblem)
+map_(object),0,117,
+mao_yu,1,117,neko_sakana
+makita_(twosidegekilove),1,117,twosidegekilove
+maita_rui,4,117,
+madobe_nanami,4,117,
+machinosuke,1,117,
+m870_(girls'_frontline),4,117,m870_(girls_frontline)
+m203,0,117,
+lydia601304,1,117,
+lycoris_princess,4,117,lycoris_hime
+lost_technology,3,117,
+loped,1,117,
+lk_(lk00),1,117,
+leo_(mafuyu),4,117,
+leiur_darahim,4,117,
+latex_panties,0,117,
+lailah_(tales),4,117,
+kyufe,1,117,
+kyouna,1,117,noinoi5551
+kurosaki_ruri,4,117,
+kurashima_chiyuri,4,117,
+kousa_(black_tea),1,117,
+kmitty,1,117,
+kitaooji_satsuki,4,117,kitaoji_satsuki
+kirifrog,1,117,
+karasawa_toshiyuki,4,117,
+kanibasami,1,117,
+kamishiro_(rsg10679),1,117,
+kamazuki_suzuno,4,117,
+kaiware-san,1,117,
+kagami_kira,4,117,
+kaga_(everlasting_killing_stone)_(azur_lane),4,117,
+kaerre,4,117,
+julius_will_kresnik,4,117,
+joshi_kousei,3,117,"girls_high,joshikousei"
+jorin,1,117,
+jinjin,1,117,
+jet_ski,0,117,jetski
+jasony,1,117,fishking
+jaga_note,1,117,
+jack_van_burace,4,117,
+jack_the_ripper_(fate/apocrypha)_(cosplay),0,117,
+izuna_(gouma_reifuden_izuna),4,117,izuna
+izayoi_(blazblue),4,117,
+isekai_ojisan,3,117,
+inne_sulistya_robin,4,117,
+inamimi_(sheep1733),1,117,
+iincho_(airi8751),1,117,
+ichikawa_saasha,1,117,ichikawa_saasya
+hys-d,1,117,
+hugo_andore,4,117,
+hosoda_naoto,1,117,
+horn_piercing,0,117,
+honoji,1,117,
+honey_and_clover,3,117,
+holding_rock,0,117,
+hitmonchan,4,117,
+himegi_you,1,117,
+hidezi,1,117,
+heoningu,1,117,
+helios_(sailor_moon),4,117,
+hekicha,1,117,
+hat_kid,4,117,
+haku_le,1,117,
+guardian-panda,1,117,guardian_panda
+greenkohgen,1,117,
+goku_black,4,117,
+gloss,1,117,glo-s-s
+ginko_(nico),1,117,
+geoffroy's_cat_(kemono_friends),4,117,
+gema,4,117,
+gatling_santouhei,1,117,
+ganbaruzoi,0,117,
+gamers!,3,117,
+fori,1,117,
+fish_costume,0,117,
+female_protagonist_(pokemon_go)_(cosplay),0,117,
+felicia_(vampire)_(cosplay),0,117,
+eustass_captain_kid,4,117,
+equipment_layout,0,117,weapon_loadout
+elisabeth_von_wettin,4,117,
+egg_implantation,0,117,
+dough,0,117,
+dominica_s._gentile,4,117,dominica_s_gentile
+diving_regulator,0,117,
+den_(kur0_yuki),1,117,danny1128
+dancer_(ragnarok_online),4,117,
+cure_coral,4,117,
+cum_swap,0,117,"cumswap,snowballing"
+cooperative_footjob,0,117,multiple_footjob
+chiyo_goya,1,117,
+children's_book,0,117,
+chest_tuft,0,117,
+cglas,1,117,
+cabbit,0,117,
+brown_male_underwear,0,117,brown_underwear_(male)
+broken_egg,0,117,
+bowling,0,117,
+bowgun,0,117,
+bobomaster,1,117,
+bloody_wolf_(elden_ring),4,117,
+black_mittens,0,117,
+bernese_mountain_dog,0,117,
+banboro_(technobot),1,117,
+arkatopia,1,117,
+ardenlolo,1,117,
+aranea_highwind,4,117,
+aozora_middle_school_uniform,0,117,
+anna_(ikeuchi_tanuma),4,117,
+anchorage_princess,4,117,anchorage_hime
+amulet_heart,4,117,
+american_flag_panties,0,117,
+amei_sumeru,1,117,
+akihabara_(tokyo),0,117,
+aikawa_tatsuki,1,117,
+aikatsu_on_parade!,3,117,
+ace_rocket,1,117,"ace_(hyper_otintin_time),ees_(pixiv57894)"
++++_(artist),1,117,
+zygocactus,1,116,zygo_(zygo_cactus)
+zuki,1,116,
+yuzuki_tsuzuru,1,116,
+yuusha_ou_gaogaigar_final,3,116,gaogaigar_final
+yellow_collar,0,116,
+yeero,1,116,
+yaten_kou,4,116,
+yamato_(battleship),0,116,
+yagyuu_juubei_(hyakka_ryouran),4,116,
+white_tiger_(kemono_friends),4,116,
+wakame,1,116,
+variable_geo,3,116,
+urokozuki,1,116,
+urn,0,116,
+uq_holder!,3,116,
+unaligned_ears,0,116,
+umbrella_(skullgirls),4,116,
+uekura_eku,1,116,wakanagi_eku
+ueda_katsuhito,1,116,
+tsuzura_saki,4,116,
+trailer,0,116,
+toi_(number8),1,116,
+titi-chan_(nezumi_inu),4,116,
+tirpitz_(warship_girls_r),4,116,
+tenpura_(tenpura621),1,116,tenpura_(artist)
+teardrop-framed_glasses,0,116,
+taut_shorts,0,116,
+target_practice,0,116,
+tamanami_(kancolle),4,116,
+tamaki_mari,4,116,
+takeuchi_takashi_(style),0,116,
+takase_mizuki,4,116,
+takapiko,1,116,
+sylphine,1,116,
+suzuragi_karin,1,116,
+suzune_(senran_kagura),4,116,
+sunaba_(nczd5875),1,116,
+suisen_toire_(moko924),1,116,
+sugisaki_yuu,1,116,
+succubus_(ragnarok_online),4,116,succubus_(ro)
+strawberry_milk,0,116,
+stg44_(girls'_frontline),4,116,stg44_(girls_frontline)
+starting_brighty_(idolmaster),0,116,starting_brighty
+spoken_mars_symbol,0,116,
+sound_wave,0,116,
+slap_mark_on_face,0,116,face_slap_mark
+single_over-kneehigh,0,116,
+silvia_van_hossen,4,116,
+shokuyou_koori,1,116,shokoori
+shiika_sadamasa,1,116,si_ka
+senzaki_ema,4,116,
+selena_(fire_emblem_fates),4,116,luna_(fire_emblem_if)
+sei_zenra_jogakuen,3,116,
+sasamaru_chimaki,1,116,marblewars
+salt_(seasoning),1,116,
+sakuro,1,116,
+sakurato_tsuguhi,1,116,
+sakebuotoko,1,116,
+sakamata,1,116,
+sadamatsu_ryuuichi,1,116,ryu_ichi
+sabi_(pokemon),4,116,wasabi_(pokemon)
+run_elsie_jewelria,4,116,
+rudolph_von_stroheim,4,116,
+reon_(saikyou),1,116,
+renekton,4,116,
+recruiters_(disney),0,116,
+raven_branwen,4,116,
+rainbow_print,0,116,
+ragequit,0,116,rage_quit
+precis_neumann,4,116,
+praetor_suit,0,116,
+popuru,1,116,
+pokkora,1,116,
+pizza_man,1,116,
+piston_ring,1,116,
+pink_innertube,0,116,
+piiko_(aa_doushiyou),1,116,hagane7728
+persona_q_(series),3,116,
+penlight,0,116,
+pedicure,0,116,
+panther_tail,0,116,
+palace,0,116,
+otome_youkai_zakuro,3,116,
+oshino_meme,4,116,
+orimura_chifuyu,4,116,
+oreshika,1,116,
+orange_male_underwear,0,116,orange_underwear_(male)
+ookanehira_(touken_ranbu),4,116,
+omegamon,4,116,omnimon
+nurami_(shouji),1,116,"manji_jirou,nurami_shoji"
+nori_(norimakigumo),1,116,
+noein,3,116,
+nino_(arakawa),4,116,
+nimirom,1,116,
+nightmare_cat,1,116,
+nidoran_(female),4,116,
+neptune_symbol,0,116,neptune_sign
+nectar_(fujiya),1,116,
+natsume_(menthol),1,116,"72mk,natsume_(n-k)"
+natasha_romanoff,4,116,
+myuton,1,116,
+mural,0,116,
+mulberry_(arknights),4,116,
+muchigaku,3,116,
+mouse_boy,0,116,
+moruga,1,116,
+moriguchi_nao_(naonao),1,116,naonao77
+moonbell,1,116,
+mona_(warioware),4,116,
+mokumokuren_(atariya_kyoushitsu),1,116,
+moko_(mokochisa),1,116,moko_(3886397)
+mizuamememe,1,116,
+mimizuku_(sky:_children_of_the_light),4,116,
+mimizubare,1,116,
+mille,1,116,
+milihime_taisen,3,116,
+metindone,1,116,
+memeno,1,116,
+memekko,1,116,mm2k
+marisayaka,1,116,
+marco_albiero,1,116,
+mango,0,116,
+mae_(fire_emblem),4,116,
+m99_(girls'_frontline),4,116,m99_(girls_frontline)
+lymle_lemuri_phi,4,116,
+log-mi_(tonpuu),4,116,log-mi_(tongpoo)
+lium,1,116,
+linjie,1,116,
+leo_(senran_kagura),4,116,
+leizi_(arknights),4,116,
+kuraishi_tanpopo,4,116,
+kudou_(sikisiki0000),1,116,
+kriemhild_(fate),4,116,
+koutarosu,1,116,
+kounoike_tsuyoshi,1,116,
+kotori_(blue_archive),4,116,
+kono_naka_ni_hitori_imouto_ga_iru!,3,116,"kono_naka_ni_hitori_imouto_ga_iru,nakaimo"
+kodama_(mmt_uf),1,116,
+koda1ra,1,116,
+kobayashi_ritz,1,116,kobayashi_ritsu
+kitsune-tsuki_(getter),1,116,getter
+kirishima_kano,4,116,
+kingchenxi,1,116,
+kedama_(kedama_akaza),1,116,
+kazakura,1,116,
+kanda_aya,1,116,fujisawa_aya
+kamitsurugi_ouka,1,116,
+kaminary,1,116,
+kamikaze_explorer!,3,116,kamikaze_explorer
+kaizoku_sentai_gokaiger,3,116,
+juuban_high_school_uniform,0,116,
+itou_(mogura),1,116,
+irotsuya,1,116,
+irotoridori_no_sekai,3,116,
+iron_princess_ymir,4,116,
+imachireki,1,116,
+ichinose_honami_(youjitsu),4,116,
+ichimaru_gin,4,116,
+hyogonosuke,1,116,
+hyodo_rena,4,116,hyoudou_rena
+humiyou,1,116,
+howhow_notei,1,116,
+hose_nozzle,0,116,
+hoopa,4,116,
+holding_golf_club,0,116,
+hino_ryutaro,1,116,
+heart_pouch,0,116,
+hazumi_otoya,1,116,
+hasegawa_keita,1,116,
+haruyonoto,1,116,
+haneoka_meimi,4,116,
+hachinatsu,1,116,
+guttary,1,116,
+goriyaku,1,116,
+golem_(pokemon),4,116,
+gokujou_seitokai,3,116,"best_student_council,gokujoseitokai"
+gogo_(detteiu_de),1,116,
+ginkgo_guild_uniform,0,116,
+gimnang,1,116,
+gertrude_(umineko),4,116,
+gegera,1,116,
+gambling,0,116,
+fuyuki_(neigedhiver),1,116,
+futaba_hotaru,4,116,
+fusion_swords,0,116,
+furai,1,116,
+freedom_gundam,4,116,
+frappuccino,0,116,
+florence_nightingale_(chaldea_lifesavers)_(fate),4,116,
+flesh,0,116,
+fle0423,1,116,
+feiton,1,116,
+father's_day,0,116,
+evomanaphy,1,116,
+eusine_(pokemon),4,116,minaki_(pokemon)
+drop_trap,0,116,box_trap
+dokshuri,1,116,
+diablo_3,3,116,
+dewott,4,116,
+destiny_gundam,4,116,
+darkpulsegg,1,116,
+custom_(cus-tom),1,116,cus-tom
+cure_cosmo,4,116,
+crystalherb,1,116,
+colis_(regunm772),1,116,
+chris_re5,1,116,
+choujuushin_gravion,3,116,
+chingisu,1,116,
+cheong_ha,1,116,
+chahei,1,116,
+ceobe_(unfettered)_(arknights),4,116,
+carmelina_(granblue_fantasy),4,116,
+boys_anti_tank_rifle,0,116,
+blood_on_dress,0,116,bloody_dress
+bleed_through,5,116,
+black_knight_(granblue_fantasy),4,116,apollonia_vaar
+belt_bag,0,116,
+axl_low,4,116,
+arm_out_of_sleeve,0,116,
+aoinu,1,116,
+angela_(project_moon),4,116,
+andou_ruruka,4,116,
+amakano_~second_season~,3,116,
+akira_(viper),4,116,
+akikazu_mizuno,1,116,
+\(^o^)/,0,116,owata
+159cm,1,116,159_senchi
+zerodiamonds_(voice_actor),1,115,zerodiamonds
+yuuto_(yu-gi-oh!),4,115,yuto_(yu-gi-oh!)
+yukichin,1,115,
+yomi_(p&d),4,115,
+yelan_xing_xuan,1,115,yelanxingxuan
+yaoto,1,115,
+yamaboshi_private_high_school_uniform,0,115,
+xes_(xes_5377),1,115,
+winchester_model_1897,0,115,
+wenquangua,1,115,tomato_omurice_melon
+walkway,0,115,
+vesperia,1,115,
+utatanecocoa,1,115,
+umou_(may65879),1,115,
+ukita_uuko,1,115,
+tumblr,3,115,
+train_90,1,115,
+toy_sword,0,115,
+toward_the_terra,3,115,
+torikissa!,3,115,
+toraneko_2,1,115,
+tobi0728,1,115,
+teruki_kuma,1,115,
+tekuteku_(yuuhodou),1,115,tecenonchi
+team_plasma_grunt,4,115,plasma_grunt
+tapu_lele,4,115,
+tanaka_ken'ichi,1,115,tanaka_kenichi
+tanaka_ayumu,4,115,
+tales_weaver,3,115,
+sudou_noboru,1,115,sudo_shinren
+strawberry_cake,0,115,
+spiral_power,0,115,
+spear_of_cassius,0,115,
+spade-m,1,115,
+sneasler,4,115,
+sleep_talking,0,115,
+sima_(startwitch),1,115,
+shiro9jira,1,115,sirousagi0414
+shiranui_(azur_lane),4,115,
+shiomiya_shiori,4,115,
+shiki_(yuureidoushi_(yuurei6214)),4,115,
+sherryqq,1,115,
+sheep_boy,0,115,
+seorang,1,115,pn_pixi
+satou_satoru,1,115,
+satin_underwear,0,115,
+saolin_(wudangx),1,115,"baharu_(baharux),bihu_(smallpot88),saolin1234,wudangx"
+sano_sanoko,1,115,
+sailor_mars_(cosplay),0,115,
+sage_(ragnarok_online),4,115,
+sade_abyss,1,115,
+ryuu_ga_gotoku_1,3,115,yakuza_1
+riko_(k_riko),1,115,riko_(artist)
+renpc,1,115,artist_apprentice
+reki_(user_rcrd4534),1,115,
+reio_reio,1,115,reio_(reio_reio)
+red-eyes_macadamiachoco,1,115,
+rasukusekai,1,115,
+punkish_gothic_(idolmaster),0,115,punkish_gothic
+puffy_dress,0,115,
+portrait_of_exotic_girls,3,115,
+pig_ggul,1,115,
+pekoneko,1,115,
+ozaneko,1,115,
+orniflop,1,115,
+ohihil,1,115,
+ogino_jun,1,115,
+ogasawara_rinko,4,115,
+odachu,1,115,com34t
+noctowl,4,115,
+niwaka_potato,1,115,
+nishigoori_lutz,4,115,
+nishigoori_loop,4,115,
+nishigoori_axel,4,115,
+necrophilia,0,115,
+nayuhi_(yukimuu14),1,115,nayunayunayu0001
+nanaran,1,115,
+nabi_(uz02),1,115,
+my_life_as_a_teenage_robot,3,115,
+mutsuno_hekisa,1,115,
+mustache_print,0,115,
+mushisotisis,1,115,
+musashino_sekai,1,115,
+murasaki_saki,1,115,
+mozuno_(mozya_7),1,115,
+mottsun_(i_40y),1,115,
+morino_shoutarou,1,115,
+mono_(mono60),1,115,
+momoiro,1,115,
+mitama_(fire_emblem),4,115,mitama_(fire_emblem_if)
+mirage_(rairudiseu),1,115,mirage48291584
+miketsukami_soushi,4,115,
+merrytail,1,115,
+medb_(swimsuit_saber)_(fate),4,115,
+marumi,1,115,
+mari_(dream_c_club),4,115,
+makarou,1,115,
+makaimura,3,115,"ghosts_'n_goblins,ghosts_n_goblins,ghouls_'n_ghosts,ghouls_n_ghosts"
+maintenance_musume_(kancolle),4,115,maintenance_musume_(kantai_collection)
+ma-2_(konkon_kitakitsune),1,115,
+llowoll,1,115,
+leonardo_16sei,1,115,reonarudo16sei
+lana_(hyrule_warriors),4,115,lana_(zelda_musou)
+kyoumachi_seika,4,115,
+kyokou_suiri,3,115,in/spectre
+kuon_(nokokopopo),1,115,
+koukaku_no_pandora,3,115,
+kokoro_(doa),4,115,
+kof:_maximum_impact,3,115,king_of_fighters_maximum_impact
+klegsart,1,115,
+kitano_tomotoshi,1,115,
+keqing_(lantern_rite)_(genshin_impact),4,115,
+kayama_benio,1,115,
+kamekoya_sato,1,115,
+kako_kai_ni_(kancolle),4,115,
+kage_yuu,1,115,
+kagaminomachi_no_kaguya,3,115,"kagami_no_machi_no_kaguya,kagaminochou_no_kaguya"
+jonasan_(bad-t),1,115,
+ji_guang-hong,4,115,
+jecht,4,115,
+jaffar_(fire_emblem),4,115,
+jabberwock_(monster_girl_encyclopedia),4,115,
+j._league,3,115,
+iwawa,1,115,
+impossible_spell_card,3,115,
+hosaka_dx,1,115,
+honami_(yths4221),1,115,
+holofive,0,115,
+holding_bomb,0,115,
+hizuki_miya,1,115,
+high_score_girl,3,115,
+hasebe_akira,1,115,
+hario_4,1,115,
+happening18,1,115,
+hand_around_waist,0,115,
+hanazuka_ryouji,1,115,hanaduka
+hamada_kiyo,4,115,hamada_(girls_und_panzer)
+hakuto_(28syuku),1,115,
+gum_(vivid_garden),1,115,
+gochisousama_(tanin050),1,115,tanin050
+geso_smith,1,115,
+fujinohara_akihira,1,115,akihira_fujinohara
+fizz_(pixiv34498626),1,115,
+fhang,1,115,
+feng_(skullgirls),4,115,
+fate_testarossa_(cosplay),0,115,
+ezo_brown_bear_(kemono_friends),4,115,
+eymbee,1,115,
+ereshkigal_(third_ascension)_(fate),4,115,
+emu_(toran),1,115,
+eiken,3,115,
+drinking_fountain,0,115,
+dojo,0,115,
+dog_child_(doitsuken),4,115,
+dasdokter,1,115,
+dark_dream,4,115,
+dandelion_(girls'_frontline),4,115,dandelion_(girls_frontline)
+curtain_call_challenge_(meme),0,115,curtain_call_challenge
+crucifix,0,115,
+cp9a,1,115,
+cow_girl_(goblin_slayer!),4,115,
+cona_kinaco,1,115,
+colt_single_action_army,0,115,colt_saa
+cogita_(pokemon),4,115,cogito_(pokemon)
+chloris_garden,3,115,
+cherrim_(sunshine),4,115,
+charles_babbage_(fate),4,115,charles_babbage_(fate/grand_order)
+captain_liliana,4,115,
+blindfold_slip,0,115,
+black_rock_shooter_(game),3,115,
+bikkuriman_(style),0,115,
+bar_soap,0,115,
+baniran_dorosu,1,115,
+balflear,4,115,balthier
+bad_apple!!,0,115,bad_apple
+ayanami_(niconico)_(azur_lane),4,115,
+asahi_(uwa),1,115,
+arqa,1,115,
+arnold_tsang,1,115,
+angel_chromosome_xx,3,115,
+aneros,0,115,
+anchors_(mono_eye_os),1,115,
+amau_(kosmos),1,115,
+alios_arvin,1,115,
+akiyama_yoshiko,4,115,
+akesaka_iku,1,115,ikusan
+ajiro_shinpei,4,115,
+aihara_shouta,1,115,
+abi_(abimel10),1,115,
+aak,1,115,
+9a-91,0,115,
+7th_dragon_2020-ii,3,115,
+38_(sanjuuhachi),1,115,
+zener_card,0,114,
+zb,1,114,
+yuzuyu_(hyui),1,114,
+yuusha_(maoyuu),4,114,
+yuri_shoutu,1,114,
+yukinon_(tsuki_koubou),1,114,
+yukiiti,1,114,
+yoshiron,1,114,zen_(pixiv574100)
+yonoki,1,114,worldless
+yomawari_(series),3,114,
+ying_yi,1,114,kvpk5428
+yellowseeds,1,114,
+yamiyono_moruru,4,114,
+yamadori_ofuu,1,114,
+yakou_(4507770),1,114,
+xude,1,114,
+winona_(pokemon),4,114,nagi_(pokemon)
+warashi,1,114,
+violin_case,0,114,
+viktoriya_ivanovna_serebryakov,4,114,
+valkyrie_drive_-siren-,3,114,
+uzuki_tsukuyo,1,114,
+uruha_(yw1109),1,114,
+uehara_miyako,4,114,
+uchida_shou,1,114,
+tsukimoto_aoi,1,114,hizikiex
+tsuki_wa_higashi_ni_hi_wa_nishi_ni,3,114,tsuki_ha_higashi_ni_hi_ha_nishi_ni
+transform_(pokemon),0,114,
+touhou_sangetsusei,3,114,
+touhou_bougetsushou,3,114,
+toranosuke,1,114,toyonoka
+tonegawa_yukio,4,114,
+tomo_(ryo_i_so_),1,114,
+tobisawa_misaki,4,114,
+thief_(ragnarok_online),4,114,
+thea_(nekojira),4,114,
+terujirou_(masateruteru),1,114,masateruteru
+terebi-chan,4,114,
+tenjin_kotone_(channel),3,114,
+tenjin_kotone,4,114,
+tamaki_(princess_connect!),4,114,miyasaka_tamaki
+tamago_(eva1314056),1,114,eva1314056
+takaoka_yukari,4,114,
+takanashi_hiyori,1,114,
+taiko_sticks,0,114,
+sylphiette_(mushoku_tensei),4,114,
+swiss_cheese,0,114,
+swimmer_(pokemon),4,114,
+suzumetarou,1,114,
+sugi_214,1,114,
+standing_on_three_legs,0,114,
+spider-man_(miles_morales),4,114,
+snowboarding,0,114,
+skipping,0,114,
+single_bang,0,114,
+sign_language,0,114,
+shutter,0,114,
+shokatsuryou,4,114,koumei
+shiratama_dango,1,114,siratama
+shiny_heart_(alice_girls),4,114,
+shinanoya_(satanicad),1,114,
+shimoda_masaya,1,114,
+shiina_aoi,1,114,
+shichimiya_satone,4,114,
+shared_coat,0,114,
+secretary-san_(zannen_onna-kanbu_black_general-san),4,114,
+sd_bigpie,1,114,
+saya_(sayaya),1,114,saya_(pixiv209895)
+sanger_zonvolt,4,114,zengar_zombolt
+saginomiya_isumi,4,114,
+rude_(ff7),4,114,
+ronye_arabel,4,114,
+rong_yi_tan,1,114,
+roco_(rocoroco1115),1,114,rocoroco1115
+riyo_(riyontoko),1,114,
+rivier_(kuzuyu),4,114,
+rinne_berlinetta,4,114,
+ria,1,114,
+red_flag,0,114,
+red_carnation,0,114,
+re:stage!,3,114,
+radiostarkiller,1,114,
+qtian,1,114,lm520lm520
+poniko_(lielos),4,114,"lielos'_ponytailed_girl,poni_child"
+polorinken,1,114,
+pikurusu,1,114,
+pikipek,4,114,
+percival_(fate),4,114,
+pepperbox_revolver,0,114,
+peanut_(shokan),1,114,shokan
+paundo2,1,114,
+passenger_pigeon_(kemono_friends),4,114,
+paperfinger,1,114,
+oono_imo,1,114,g-20800
+ogera_okera,1,114,
+ofuda_on_head,0,114,
+odysseus_(fate),4,114,odysseus_(fate/grand_order)
+nue,0,114,
+npa_(sirokurokuma),1,114,tissue_(pixiv)
+norimaki_(haru_koubou),1,114,
+nora_to_oujo_to_noraneko_heart,3,114,nora_princess_and_stray_cat
+nokachoco114,1,114,
+nishimori_yusa,4,114,
+nishihara_tetsuya,4,114,
+nexas,1,114,
+nagiha_kuten,1,114,
+more_more_jump!_(project_sekai),0,114,
+monsuu_(hoffman),1,114,
+miyashita_miki,1,114,
+mitu_yang,1,114,
+misha_(pita_ten),4,114,
+misashi_(raichi821),1,114,
+mini_cu-chan_(fate),4,114,mini_cu-chan
+mina_tepes,4,114,
+meteora_osterreich,4,114,
+meicha,1,114,
+mei-fang,4,114,
+matsunaka_hiro,1,114,aoshiki
+master_1_(housamo),4,114,master_1_(tokyo_houkago_summoners)
+mario_kaneda,1,114,
+maki_soutoki,1,114,
+mago_(gengennikoniko),1,114,
+maemi_(maemi12),1,114,
+madara_sai,1,114,
+luzi,1,114,
+london_inu,1,114,circle_hitori
+little_cocon_(umamusume),4,114,
+lim_jaejin,1,114,373lim
+lesser_panda_(kemono_friends),4,114,
+lelei_la_lalena,4,114,
+lavender_dress,0,114,
+larxene,4,114,
+kyabakurabakufu,1,114,
+kuziaaizuk,1,114,
+kurohanya_(niliu_chahui),4,114,
+kuro_(zhurunbo1997),1,114,
+kunaboto,1,114,
+kuhouin_murasaki,4,114,
+koukoku,1,114,
+kohige,1,114,
+kohaku_muro,1,114,
+kock_k,1,114,
+kirisita,1,114,
+kinoshita_neko,1,114,
+kiiro_kimi,1,114,
+kevin.g.tuck,1,114,kerokero00frog
+kate_(shadows_house),4,114,
+kaos_art,1,114,kaos_artgx
+kakiha_makoto,1,114,kakileaf
+kaatsukun,1,114,
+juukishi_cutie_bullet,3,114,
+juliet_starling,4,114,
+jinbe_(one_piece),4,114,jimbei
+izumi_noa,4,114,
+itou_shin'ichi,1,114,
+inward_v,0,114,
+instrument_on_back,0,114,
+ichika_(ichika87),1,114,ichika_oekaki87
+ichijou_ayaka,4,114,
+iceberg,0,114,
+houkisei,1,114,houkiboshi_(mmjw7432)
+hinanosuke,1,114,
+hilamaru,1,114,
+hiiro_(kikokico),1,114,
+hentai_elf_to_majime_orc,3,114,
+heart_tail_duo,0,114,
+hatori_piyoko,1,114,
+haseru_(ginku_mh),1,114,ginku_mh
+haseneko,1,114,
+hands_on_another's_knees,0,114,
+hamaru_(s5625t),1,114,
+haku_(grimjin),1,114,grimjin
+hachimitsu_hinako,1,114,
+habanero-tan,4,114,
+gumilkx,1,114,bear_nyanm
+guest_art,5,114,
+granblue_fantasy_(style),0,114,
+gourai,4,114,
+god_of_war,3,114,
+go-kart,0,114,go_kart
+gneisenau_(nightmarish_succubus)_(azur_lane),4,114,
+giga_omega,1,114,tanakaoften
+ganesha_(fate),4,114,
+gakkou_de_seishun!,3,114,
+fura,1,114,
+fujisawa_yayoi_(uchuu_no_stellvia),4,114,
+finneon,4,114,
+fabri,1,114,
+etyaduke,1,114,"ochadzuke,otyaduke"
+equation,0,114,
+engage_kiss,3,114,
+ein_(long_cake),1,114,
+duckman,4,114,
+dots,0,114,
+doge,4,114,
+dog_on_head,0,114,
+dilation_belt,0,114,
+dieci_(nanoha),4,114,
+daraz,1,114,daraz18aka
+dance_dance_revolution,3,114,
+crow_(gravity_daze),4,114,raven_(gravity_rush)
+cress_(pokemon),4,114,corn_(pokemon)
+coo,1,114,
+coaster,0,114,
+clover_(lapis_lazure),1,114,
+cink-knic,1,114,
+cho!cho!,1,114,kkumdol
+chiyonekoko,1,114,
+chinese_white_dolphin_(kemono_friends),4,114,
+cave_interior,0,114,
+card_between_breasts,0,114,
+cafeteria,0,114,
+brown_sclera,0,114,
+bomi,1,114,
+body_bridge,0,114,"back_bridge,bridge_pose"
+blood-c,3,114,
+beyblade:_burst,3,114,
+batatata77,1,114,
+banjo_(banjo-kazooie),4,114,
+b_(kana0816),1,114,
+auko,1,114,
+atsuko_(blue_archive),4,114,
+aroa_(aroamoyasi),1,114,moyasi3409854
+arikindows10,1,114,chihiri
+arata_(xin),1,114,y3010607
+aqua_cardigan,0,114,
+applying_sunscreen,0,114,
+aochoku,1,114,xinfei
+anosillus_ii,4,114,
+animal_on_back,0,114,
+angelfish,0,114,
+anapom,1,114,
+amaya_haruko,4,114,
+amajiki_tamaki,4,114,suneater_(boku_no_hero_academia)
+akasia,1,114,
+akagi_kai_ni_(kancolle),4,114,
+akademeia_uniform,0,114,
+airi_(ogami_kazuki),4,114,
+against_mirror,0,114,
+aegis_(takunomi),4,114,
+a_maru,1,114,unity_(ekvmsp02)
+a-rise,0,114,
+zhongye_yu,1,113,azshang1
+zentreya_(vtuber),4,113,
+yuzuyunagi,1,113,
+yuutama2804,1,113,
+yuria_(kittyluv),1,113,
+yuri_lowell_(reliable_senior),4,113,
+yukimura_chizuru,4,113,
+yamiiv,1,113,odya
+yamako_(state_of_children),1,113,yamako_(artist)
+xiaobanbei_milk,1,113,
+wasabi_shoujo,1,113,
+vaporwave,0,113,
+vajra_(object),0,113,
+utatane_hiroyuki,1,113,
+unexistarts,1,113,
+unadare,1,113,
+toujou_aya,4,113,toujo_aya
+toraneko,1,113,
+too_much_food,0,113,
+too_many_scoops,0,113,
+togusa_masamu,1,113,inono
+toasty_scones,1,113,
+theresa_apocalypse_(luna_kindred),4,113,
+the_monkey,0,113,
+the_atko,1,113,
+taser,0,113,
+taru_neko,1,113,mkpower
+tamaru_tokihiko,1,113,
+take_tonbo,1,113,
+takao_(d-frag!),4,113,
+taimadou_gakuen_35_shiken_shoutai,3,113,anti-magic_academy:_the_35th_test_platoon
+syringe_gun,0,113,
+suzuno_naru,1,113,
+suzuki_moeko,1,113,
+sunset_nostalgie_(idolmaster),0,113,sunset_nostalgie
+subaru_(brand),0,113,
+stuffed_mouse,0,113,
+studded,0,113,
+srpzk,1,113,
+sniper_(tf2),4,113,
+small_penis_humiliation,0,113,
+sitting_on_hand,0,113,
+sierra_mikain,4,113,
+sho_(shoichi-kokubun),1,113,
+shinryou_rei,1,113,shinryo_rei
+shining_blade,3,113,
+shimesaba_kohada,1,113,
+shibainu,1,113,
+shangzi,1,113,
+sero_hanta,4,113,cellophane_(boku_no_hero_academia)
+satsuki_misuzu,1,113,neko_ga_hamachi_loki
+sakurasaka,1,113,
+sakaki_yumiko,4,113,
+saionji_mary,4,113,
+ryuuno6,1,113,
+ryuujou_kai_ni_(kancolle),4,113,
+roubai_academy_school_uniform_(old),0,113,
+rino_cnc,1,113,
+ring_hair_ornament,0,113,
+riju,4,113,
+resident_evil_3_(remake),3,113,
+reki_(haibane),4,113,
+regdic,1,113,mis_res
+rana,4,113,
+polpol,1,113,
+polilla,1,113,planetapolilla
+poco24,1,113,
+piyomon,4,113,biyomon
+pisoshi,1,113,
+piro,4,113,
+piloting,0,113,
+phantasmagoria_of_dim.dream,3,113,
+pedestrian_bridge,0,113,
+osaragi_mitama,1,113,
+osakabe-hime_(swimsuit_archer)_(second_ascension)_(fate),4,113,
+omoide_no_marnie,3,113,when_marnie_was_there
+ogata_rizu,4,113,
+odd_taxi,3,113,
+oak_leaf,0,113,
+novice_(ragnarok_online),4,113,
+northern_water_princess,4,113,northern_water_hime
+northampton_(kancolle),4,113,
+natsuki_shuri,1,113,
+naruse_shiroha,4,113,
+naoki_(2rzmcaizerails6),1,113,2rzmcaizerails6
+nao_(naaa_195),1,113,
+namisaki_yuka,1,113,
+myaku-myaku,4,113,inochi-no-kagayaki
+mutou_mame,1,113,mutou_(94753939)
+murabito,1,113,
+moyachii,1,113,
+moreshan,1,113,
+moorish_idol,0,113,
+momo_no_suidou-sui,1,113,momo_no_suidou_mizu
+momo_(kancolle),4,113,
+momo_(breath_of_fire),4,113,
+miyamaru,1,113,
+mirufuaa,1,113,f_(milfaaaaa)
+mintoaisu,1,113,
+minami_kenjirou,4,113,
+meron,1,113,"marshmelon_puni,u_rei_3"
+meihemu,1,113,
+medusa_(rider)_(third_ascension)_(fate),4,113,
+medic_(tf2),4,113,
+matsuo_yuusuke,1,113,
+maskwolf,1,113,
+mashimaro_tabetai,1,113,
+masaki_itsuki,1,113,
+maryquant,1,113,
+marumai,1,113,
+martinreaction,1,113,
+marsen,1,113,
+marmaladica,1,113,marmalade_(elfless_vanilla)
+mario_tennis,3,113,
+manaka_(pdx),1,113,manaka_toyomu
+mahou_shoujo_lyrical_nanoha_reflection,3,113,mahou_shoujo_lyrical_nanoha_the_movie_3rd:_reflection
+madhatter_hello,1,113,
+lone_nape_hair,0,113,
+lipstick_mark_on_crotch,0,113,
+kuwahara_sayako,4,113,
+kurodeko,1,113,
+kudou_makoto,1,113,
+ktokei_(kurokku-tokei),1,113,kurokku-tokei
+koujima_shikasa,1,113,
+kita_(7kita),1,113,
+kibutsuji_muzan,4,113,
+khezu,4,113,
+kexue,1,113,doitsu_no_kagaku
+kazuoki,1,113,
+kasumi_seiki,1,113,
+kaneko_hiraku,1,113,
+kamishiro_rize,4,113,
+kagaya_kuki,4,113,
+kaga_kai_ni_(kancolle),4,113,
+jyon,1,113,
+joypyonn,1,113,
+jin_(sirius-j),1,113,
+jh,1,113,
+jesse_(pixiv34586727),1,113,
+irizaki_mei,4,113,
+inushima,1,113,
+ini_(mocomocccos),1,113,
+implied_tail_plug,0,113,
+ibukichi,1,113,
+howa_type_64,0,113,
+hongryeon_(last_origin),4,113,c-77_hongryeon
+honda_tohru,4,113,honda_tooru
+homing_(areya),1,113,
+hiro1984,1,113,
+hirabaru_kenji,1,113,
+hino_(2nd_life),1,113,sun_hoshi
+hidarikiki,1,113,hidarikiki_(pixiv)
+hi-nu_gundam,4,113,
+hero's_son_(dq5),4,113,
+here_(hr_rz_ggg),1,113,
+hawkeye_(marvel),4,113,
+hato_no_suisou,1,113,hatomizu_(issunya)
+happy_(fairy_tail),4,113,
+hagino_chiaki,4,113,
+grimgrimoire,3,113,
+greave_(asterism),1,113,
+gold_belt,0,113,
+gloom_(pokemon),4,113,
+gentle_sasaki,1,113,jientoru_sasaki
+gen_(genetrix),1,113,venusgenetrix
+garyou,1,113,
+gankutsuou,3,113,
+futaba_aoi_(naomi),4,113,
+full_metal_jacket,3,113,
+fukunaga_yukito,1,113,yukito_(chronicle)
+fue_(tsuzuku),1,113,
+food_writing,0,113,
+flare,0,113,
+fish_tattoo,0,113,
+fiona_belli,4,113,
+feather_collar,0,113,
+facominn,1,113,
+enoki_p,1,113,
+enma-chan,4,113,
+elisabeth_blanctorche,4,113,elizabeth_blanchtorche
+elf_all-stars_datsuijan,3,113,
+eichan_(eichanidfi),1,113,
+ei_(marutendon),1,113,
+ecclesia_(yu-gi-oh!),4,113,
+dvalin_(genshin_impact),4,113,
+dream_catcher,0,113,
+domination,0,113,
+dog_(duck_hunt),4,113,
+diantha_(granblue_fantasy),4,113,
+diamond_cutout,0,113,
+delusion_(genshin_impact),0,113,
+dead-robot,1,113,
+dateya_torahachi,1,113,mokujinn
+dateko,4,113,
+danemaru,1,113,
+cure_ange,4,113,
+colossus,0,113,
+cicada_block_(meme),0,113,cicada_block
+chitose_yuma,4,113,
+chikiso,1,113,
+chamchami,1,113,
+chahashiraozen,1,113,
+cecile_croomy,4,113,
+cat_slippers,0,113,
+carcano_m91/38_(girls'_frontline),4,113,carcano_m91/38_(girls_frontline)
+cafe_sourire,3,113,
+brush_stroke,0,113,
+broken_umbrella,0,113,
+bolter,0,113,
+boku_no_kanojo_sensei,3,113,
+bois_de_justice,0,113,
+bayashiko,1,113,
+baltimore_(muse)_(azur_lane),4,113,
+bachi,0,113,
+b.c.n.y.,1,113,bcny
+ayahi_4,1,113,
+auruo_bossard,4,113,
+athena_(granblue_fantasy),4,113,
+asbestos_(arknights),4,113,
+article,0,113,
+ariados,4,113,
+archerko_(himura_kiseki),4,113,archerko
+aora,1,113,
+animal_pillow,0,113,
+angelise_ikaruga_misurugi,4,113,
+amg_(nwmnmllf),1,113,
+amakusa_tobari,1,113,
+alolan_ninetales,4,113,
+akatsuki_blitzkampf,3,113,
+airsoft,0,113,
+ai-chan_(honkai_impact),4,113,
+aer_(tengqiu),1,113,
+ace_combat_zero,3,113,
+1=2,1,113,
+yuuryuu_nagare,1,112,
+yurishiro_ginko,4,112,
+yumi_(careca398),1,112,
+yubel,4,112,
+youhe_hino,1,112,
+yamada_masaki,1,112,
+wargreymon,4,112,
+wakie,1,112,
+vient,1,112,
+vice_(alchemy_stars),4,112,
+usuta_sumire,4,112,
+under_umbrella,0,112,
+uki_violeta,4,112,
+twinbox_school,3,112,
+tsukimi_(ryouiki_ridatsu),1,112,
+tsubasa_(kureha),4,112,
+tonmoh,1,112,
+tomatika,1,112,
+thorfinn,4,112,
+theresa_apocalypse_(celestial_hymn),4,112,
+tetrapod,0,112,
+tetopetesone,1,112,
+tanyatonya,1,112,
+takepon,1,112,
+takatsukasa_yue,1,112,
+takatisakana,1,112,
+tail_fondling,0,112,
+sylvanas_windrunner,4,112,
+sybilla,4,112,
+swim_swim,4,112,
+sv001_(metal_slug),0,112,
+sunday_aki,1,112,akicosmossakasa
+souno_kazuki,1,112,kusano_kaduki
+sochie_heim,4,112,
+shuvi_(shuvi1125),1,112,shuvui
+shirubaburu,1,112,
+shiratama_kitsune,4,112,
+shibano_kaito,1,112,
+seteth_(fire_emblem),4,112,
+servine,4,112,
+sensory_deprivation,0,112,
+sekitaku,1,112,
+secretbusiness,1,112,0.8
+script,0,112,
+sawarakajin,1,112,
+saturn_symbol,0,112,saturn_sign
+sakayaki_(burning_soul),1,112,sakayaki_yuuya
+saitou_kaede_(yama_no_susume),4,112,
+rozea_(graphmelt),1,112,
+rooru_kyaabetsu,1,112,
+ron_weasley,4,112,
+renatus.z,1,112,
+remotaro,1,112,
+reiko_holinger,4,112,
+rectal_prolapse,0,112,
+re:lief_~shin'ai_naru_anata_e~,3,112,
+ran_straherz,4,112,
+raiden_mei_(striker_fulminata),4,112,
+raiden_mei_(lightning_empress),4,112,
+princess_(sekaiju),4,112,
+primogem,0,112,
+porom,4,112,
+pokopi,1,112,
+pocky_in_mouth,0,112,
+plaid_coat,0,112,
+pk_(girls'_frontline),4,112,pk_(girls_frontline)
+pink_nightgown,0,112,
+picoli1313,1,112,
+petra_leyte,4,112,
+petra_johanna_lagerkvist,4,112,
+pendulum_clock,0,112,
+peach_panther_(kemono_friends),4,112,
+passionlip_(third_ascension)_(fate),4,112,
+osamu,1,112,
+ootani_nonno,1,112,
+onishima_homare,4,112,
+okujou_no_yurirei-san,3,112,kindred_spirits_on_the_roof
+oboe,0,112,
+nyorotono,1,112,
+not_on_shana,1,112,
+nobuchi,1,112,
+nekoha_shizuku,4,112,
+neckerchief_removed,0,112,
+nanpou_(nanpou0021),1,112,
+nana_(nanalog76),1,112,2900cm
+namuko,1,112,
+namikawa_kuroha,1,112,
+nameless_bard_(genshin_impact),4,112,
+namakawa,1,112,
+nail_clippers,0,112,
+nagomian,1,112,
+nagidango,1,112,
+nadja_applefield,4,112,
+mysterious_heroine_x_alter_(third_ascension)_(fate),4,112,
+motoba_kirie,4,112,
+moth1,1,112,
+monpuchi,1,112,
+momoiro_taisen_pairon,3,112,
+model_ship,0,112,
+mito_(calcomer),1,112,mito_(pixiv68132)
+minazuki_kyouko,4,112,minazuki_kyoko
+mikicat,1,112,miqi_(nnaf3344)
+meji_aniki,1,112,
+medical_scrubs,0,112,
+mantyke,4,112,
+makoto_(minami-ke),4,112,
+maki_natsuo,4,112,
+majorina,4,112,
+magako,1,112,
+m0ti,1,112,
+luminous_witches,3,112,
+lucy_steel,4,112,
+loli_bushi,1,112,
+loincloth_lift,0,112,
+licking_navel,0,112,navel_licking
+liar_lawyer,1,112,
+leng_wa_guo,1,112,
+ledo_(suisei_no_gargantia),4,112,
+le_triomphant_(azur_lane),4,112,
+lazy_eye,0,112,
+layered_legwear,0,112,
+laguna_loire,4,112,
+lace-up_thighhighs,0,112,
+kyousaku,1,112,
+kyapinetzu,1,112,
+kusakabe_mei,4,112,
+kurumi_noah,4,112,
+kurono_mitsuki,1,112,kurotuki_nn
+krazehkai,1,112,
+kouguchi_moto,1,112,
+kotone11152,1,112,
+kotobuki_utage,1,112,
+kokoyashi,1,112,
+kokoro_(vocaloid),3,112,
+kiyuu,1,112,
+kitamura_(bamboo),1,112,bamboo_(artist)
+keroro7,1,112,
+keiki8296,1,112,
+kava,1,112,kava181
+katsumi-kun,1,112,ka_tsumi
+kashi_kosugi,1,112,kenpan
+karo-chan,1,112,
+kani_nayuta,4,112,
+kami_tora,1,112,
+kakura_kurumi,4,112,
+kakuna,4,112,
+kairos+,1,112,
+joka_(night_gate),1,112,
+jenson_tw,1,112,
+japanese_black_bear_(kemono_friends),4,112,
+idora_(idola),1,112,
+ibuki_(abuki),1,112,mirui2
+hyulla,1,112,nightmadness
+huge_clitoris,0,112,
+horoyuki_(gumizoku),1,112,
+horikwawataru,1,112,aya_(547972106)
+horiizumi_inko,1,112,
+honshou_aru,4,112,
+hitsujibane_shinobu,1,112,
+hijirikawa_masato,4,112,
+high_school_dxd_cross,3,112,
+head_on_knees,0,112,
+harukaruha,1,112,
+harpie_lady,4,112,
+hamburglar,4,112,
+hachiko_of_castling,4,112,
+graysheartart,1,112,
+gorillaz,3,112,
+goma_(11zihisin),1,112,
+ghostly_field_club,3,112,
+gaze_on_me!_outfit_(umamusume),0,112,
+gamryous,1,112,
+gad_guard,3,112,
+fuooooo,1,112,
+frey_(rune_factory),4,112,
+frederica_sawyer,4,112,sawyer_the_cleaner
+foul_detective_satori,3,112,hansoku_tantei_satori
+fl_studio,3,112,
+favonius_sword_(genshin_impact),0,112,
+fanshu,1,112,
+fan_yang_(jiuge),1,112,yang_fan
+eyewear_around_neck,0,112,
+empty,0,112,
+emilio_(tetsukazu_no_ao),1,112,
+elza_straherz,4,112,
+elucidator,0,112,
+elma_(xenoblade_x),4,112,
+elekid,4,112,
+dragon_arm,0,112,
+donkey_ears,0,112,
+dodrio,4,112,
+doctor_who,3,112,
+dm_owr,1,112,aimai-me
+detective_pikachu_(movie),3,112,
+dennryuurai,1,112,
+dcwj,1,112,
+dave_cheung,1,112,scribblekid
+dark_sun_gwyndolin,4,112,
+cul,4,112,
+cucco,4,112,
+crownslayer_(arknights),4,112,
+comiket_97,3,112,
+colonel_olcott_(fate),4,112,colonel_olcott_(fate/grand_order)
+coffee-milk-moumou,1,112,
+codpiece,0,112,
+clockwork_rabbit,3,112,
+cloak_removed,0,112,
+cizzi,1,112,
+chou_(meteorite3),1,112,
+chichi_band,1,112,
+cheese_(cheese_koubou),1,112,
+censored_violence,0,112,
+casshern,4,112,
+canyne,4,112,palamute
+canvas_2,3,112,canvas2
+caisena,1,112,
+buzzwole,4,112,
+brushing,0,112,
+brown_overalls,0,112,
+bobokuboboku,1,112,
+blaze_(artist),1,112,
+biting_hand,0,112,
+bicute_bunnies_miku,4,112,
+barbara_gordon,4,112,
+bamboo_screen,0,112,
+asuka_momoko,4,112,
+ashiyu_(ashu-ashu),1,112,
+aoi_shiro,3,112,
+annelotte_(princess_knight),4,112,
+anko_(kirikiri),1,112,a229
+ambriel_(arknights),4,112,
+amamiya_manami,4,112,
+alolan_marowak,4,112,
+akiyama_hayato,4,112,
+7-tan,4,112,7
+zurikishi,1,111,
+zeroillya,1,111,
+zed_(league_of_legends),4,111,
+zack_(haiuinndo),1,111,
+yuuya_(blue_scarab),1,111,hiru_made_ne-tarou
+yuriyuri_(ccc),1,111,
+yuksi,1,111,
+you06,1,111,
+yottan,1,111,
+yashemao_qishi,1,111,
+yamada_yui,4,111,
+yamada_ichizoku,1,111,fukurokouji
+waltz_(tram),1,111,wrt_(arpaca)
+wakaba_hinata,4,111,
+venipede,4,111,
+utakata,3,111,
+uchiha_madara,4,111,
+tsukimori_hiro,1,111,
+ts422,1,111,
+triangle_(instrument),0,111,
+trail,0,111,
+toucannon,4,111,
+tooru_(jux),1,111,
+toku_sonchou,1,111,
+toki_(toki_ship8),1,111,
+tibino,1,111,
+terai_(teraimorimori),1,111,
+tenmiyakiyo,1,111,
+tenko_kuugen,4,111,
+tazuma_(u283),1,111,
+tasting_plate,0,111,
+tanaka_masayoshi,1,111,
+tama_satou,1,111,
+takatsuki_kahiro,1,111,
+takanashi_hikari,4,111,
+taillow,4,111,
+tail_flower,0,111,
+tadokoro_teppei,1,111,
+tabris-xx,4,111,
+super_mario_sunshine,3,111,
+suou_kuyou,4,111,
+stalagmite,0,111,
+spread_anus_under_clothes,0,111,
+sousou,4,111,
+someyaya,1,111,
+slm,1,111,
+sina_(pokemon),4,111,
+siesta_(tantei_wa_mou_shindeiru),4,111,
+shirota69,1,111,
+shiroaisa,1,111,
+shiimai,1,111,
+shigure_(fire_emblem),4,111,shigure_(fire_emblem_if)
+shiba_yuuki,1,111,
+seo_kouji,1,111,
+semikichi,1,111,
+sella_(fate),4,111,sella
+scorpion5050,1,111,
+satou_(kuso-neet),1,111,
+sasagawa_(haikaiki),1,111,
+saotome_kazuko,4,111,
+sakurai_aoi,4,111,
+sakomizu_haruka,4,111,
+saine,1,111,
+sabotaged_condom,0,111,
+rsk_(tbhono),1,111,
+rosmino,1,111,
+roro_(gunvolt),4,111,
+riyo_servant_(bunnygirl)_(fate),4,111,riyo_servant_(bunnygirl)
+rina_(kemurikusa),4,111,
+recolored,5,111,
+re_leaf,3,111,
+ramochi_(auti),1,111,
+pupi_(rain_prophet),1,111,rain_prophet
+ppsh-41_(girls'_frontline),4,111,ppsh-41_(girls_frontline)
+power_symbol-shaped_pupils,0,111,
+poho,1,111,
+playground_equipment_(kemono_friends_pavilion),0,111,
+planted_arrow,0,111,
+phenne,1,111,
+phat_smash,1,111,phatsmash
+period_(anony_83),1,111,anony_83
+pellas_(panix2383),1,111,panix2383
+pekora_(jashin-chan_dropkick),4,111,
+overwatch_(logo),0,111,
+orange_sekaii,1,111,
+ohse,1,111,
+ogawa_maiko,1,111,asaki
+nyaou,1,111,
+nyantiu,1,111,
+nosepass,4,111,
+non-repeating_animation,5,111,non-repeating_gif
+nocchi_(perfume),4,111,
+no_(xpxz7347),1,111,
+niwabuki,1,111,
+nine-colored_deer,4,111,
+neon_genesis_evangelion_gakuen_datenroku,3,111,neon_genesis_evangelion:_campus_apocalypse
+naoki_(endofcentury102),1,111,
+nanakusa,1,111,
+n_kamui,1,111,
+morizo_cs,1,111,
+mole_on_leg,0,111,
+mizukikushou,1,111,
+mizuki_yuuma,1,111,
+miyashiro_sousuke,1,111,
+mitsukazu_(nijigen_complex),1,111,
+mint_(dewprism),4,111,
+minakami_rinka,1,111,
+mimori_suzuko,4,111,
+mimamui,1,111,
+mikagura_gakuen_kumikyoku,3,111,
+mika_melatika,4,111,
+menthako,1,111,menla
+menotama,1,111,
+medusa_(rider)_(fate)_(cosplay),0,111,
+matanukinuki,1,111,
+masuda_(yousaytwosin),1,111,
+mars_(planet),0,111,
+manicure,0,111,
+maitora,1,111,
+magaeshi,1,111,
+lkeris,1,111,
+lil-la_(yu-gi-oh!),4,111,
+liita_(dusk_snow),1,111,yamiluna39
+lee_hoon,4,111,
+kuri_(animejpholic),1,111,
+kurappii,1,111,
+kumakou,1,111,
+kouzuki_(reshika213),1,111,koudzuki_(reshika213)
+konogi_nogi,1,111,notsugi_(sasasasa_oriori)
+konno_mitsune,4,111,
+komiya_kuniharu,1,111,komo_(sleepy)
+kokkoro_(real)_(princess_connect!),4,111,
+kokiri,0,111,
+klaus_von_reinhertz,4,111,
+kinoshita_shizuka,4,111,girl_with_hair_over_one_eye_(k-on!)
+kinniku_buster,0,111,
+kiichi_hougen_(fate),4,111,
+kettenkrad,0,111,sdkfz_2
+ken-ji,1,111,freekenji422
+kazuha_nanako,1,111,nanako_(artist)
+katou_kaiou,1,111,
+katamari_damacy,3,111,
+kashiyuka,4,111,
+kaolla_su,4,111,
+kaniko_(tsukumo_sana),4,111,
+kamen_rider_black_rx,4,111,
+kajimakoto,1,111,
+kageharu,1,111,
+kagarimachi_konatsu,1,111,kyabe_tsuka
+kaga_(kancolle)_(cosplay),0,111,
+juzumaru_tsunetsugu,4,111,
+jenny_wakeman,4,111,jennifer_wakeman
+japanese_white-eye,0,111,
+izayoi_no_hanayome,3,111,
+idia_shroud,4,111,
+hybridmink,1,111,
+hooded_pajamas,0,111,
+honey_whip_(module),0,111,
+holding_anchor,0,111,
+hisako_(6anmbblfnjueeff),1,111,
+hirooka_masaki,1,111,
+hiita_the_fire_charmer,4,111,
+hicha_nomu,1,111,
+herb_bundle,0,111,
+hazard_stripes,0,111,
+harui_(hr_x9_),1,111,i_krh
+hare_(blue_archive),4,111,
+hands_on_own_leg,0,111,
+guillotine,0,111,
+grimmsnarl,4,111,
+grey_pupils,0,111,
+gradient_bikini,0,111,
+giant_penguin_(kemono_friends),4,111,
+galuf_halm_baldesion,4,111,galuf_doe
+funada_kiito,4,111,
+fua_yuu,1,111,
+frosmoth,4,111,
+fox_print,0,111,
+florian_(pokemon),4,111,male_protagonist_(pokemon_sv)
+false_limb,0,111,
+expo2025,3,111,
+etomai,1,111,
+enumiyaa,1,111,enumiyan
+dragon_yukano,4,111,
+dipper_pines,4,111,
+dick_grayson,4,111,
+diancie,4,111,
+danna_(tsukimisou),1,111,
+daisy_(dq),4,111,
+daifuku,0,111,
+cupless_babydoll,0,111,
+cu_chulainn_(second_ascension)_(fate),4,111,
+creamy_mami,4,111,
+cone,0,111,
+coffee_grinder,0,111,
+climbing_ladder,0,111,
+clara_dolls_(madoka_magica),4,111,"children_in_the_false_city,children_of_the_fake_city"
+cl_(summer_sama),1,111,
+choko_egg,1,111,
+choi_mochimazzui,4,111,choi_mochi'mazzui
+chabudai_(table),0,111,
+cerberus_(last_origin),4,111,
+celestia_(my_little_pony),4,111,
+carly_nagisa,4,111,
+blue_santa_costume,0,111,
+black_cat_(marvel),4,111,
+black_armband,0,111,
+beast_boy_(dc),4,111,
+bd_ayknn,1,111,
+bankai,0,111,
+bakko,1,111,
+bai_qi-qsr,1,111,
+azusa_mifuyu,4,111,
+asahina_mikuru_(adult),4,111,asahina_mikuru_(big)
+arai_hiroki,1,111,
+apple_tree,0,111,
+aoi_thomas,1,111,
+aoi_kyosuke,4,111,aoi_kyousuke
+anna_(drw01),1,111,
+andou_ringo,4,111,
+ancolatte_(onikuanco),1,111,
+an-94_(silent_rouge)_(girls'_frontline),4,111,
+amifumi_inko,4,111,
+amano_kusatsu,1,111,
+akuta_hinako,4,111,
+aizen_(syoshiyuki),1,111,
+add_(fate),4,111,add_(lord_el-melloi_ii)
+act_(xadachit),1,111,
+abomasnow,4,111,
+a_deer_of_nine_colors,3,111,
+666,0,111,
+zodiac_(sekaiju),4,110,
+yykuaixian,1,110,
+yuuki_terumi,4,110,terumi_(blazblue)
+yunkaasu_(kakushiaji),1,110,kakushiaji
+yu_(bosshi),4,110,
+yokaze_(yokajie),1,110,triangle_purasu
+yanagi_kiyora,4,110,
+yamaguchi_ugou,1,110,
+yamada_ranga,1,110,
+yae_sakura_(darkbolt_jonin),4,110,
+yae_kasumi,4,110,
+wo-class_aircraft_carrier_(cosplay),0,110,wo-class_(kantai_collection)_(cosplay)
+western_parotia_(kemono_friends),4,110,
+weight_gain,0,110,
+warhammer_fantasy,3,110,
+wanpaku_pixels,1,110,
+wakazato_haruna,4,110,
+venonat,4,110,
+ushas,1,110,
+urobuchi_gen,4,110,
+unkempt,0,110,
+umxzo,1,110,shierutei
+uewtsol,1,110,
+tsukiji,1,110,
+tpi_ri,1,110,
+torajirou_(toraneko_zirou),1,110,
+toon_zelda,4,110,
+tianel_ent,1,110,
+they're_not_panties,0,110,
+theresa_apocalypse_(sakura_rondo),4,110,
+taroumaru_(genshin_impact),4,110,
+tanaka_ginji,1,110,
+tadokoro_megumi,4,110,
+suzu_(torikissa!),4,110,
+suv,1,110,
+super_robot_wars_z2,3,110,
+sumii,1,110,
+subdermal_port,0,110,
+studio_sunadokei,1,110,
+striped_towel,0,110,
+string_tie,0,110,
+stiyl_magnus,4,110,
+starless,3,110,
+spiked_shoes,0,110,
+spas-12_(midsummer_fruit)_(girls'_frontline),4,110,
+sonic_boom_(game),3,110,
+somejima,1,110,
+sig_sauer_mpx,0,110,
+shoji_sakura,1,110,
+shionty,1,110,
+shinnasuka025,1,110,
+sengoku_kamuri,4,110,
+seki_suzume,1,110,
+sega_saturn,0,110,
+see-through_bra,0,110,sheer_bra
+seaside,0,110,
+satou_sasara,4,110,
+sasuke_(sasuke_no_sato),1,110,sasuke_(artist)
+sakyumama_(kedama_milk),4,110,
+sakuragi_rian,1,110,
+sailing_ship,0,110,
+saeki_sayaka,4,110,
+ryudraw,1,110,
+ruan_chen_yue,1,110,
+rokushaku_neko,1,110,nekomim1
+rikose,1,110,aoneko
+rey_(star_wars),4,110,
+retweet_(meme),0,110,
+resident_evil_revelations,3,110,
+rena_(renasight),1,110,
+ren_(endscape20),1,110,
+red_(sygna_suit)_(pokemon),4,110,
+rean_(r_ean),1,110,
+raised_fists,0,110,
+rahato,1,110,
+purple_haze_(stand),4,110,
+pulp_piroshi,1,110,
+pov_dating,0,110,
+ponnetsu,1,110,
+pokemon_cafe_mix,3,110,
+playboy_bunny_swimsuit,0,110,
+pkpkpppk,1,110,ahokoo
+picube525528,1,110,
+paprika_private_academy_school_uniform,0,110,
+p.i.t.d,1,110,
+otona_no_moeoh,3,110,
+otoca_d'or,3,110,otoca_doll
+ojay_tkym,1,110,
+octoshot_(splatoon),0,110,
+nyx,4,110,
+nurugamer-kouyouju,1,110,
+nise_(basilsis),1,110,"basilsis2,nise_(222)"
+ninomae_ina'nis_(artist),1,110,
+ning_hai_(warship_girls_r),4,110,
+niji_(nijioki),1,110,2_(artist)
+nekonyan_(inaba31415),1,110,
+nekomiya_nono,4,110,
+natsuki_coco,1,110,
+nanase_kurumi_(menhera-chan),4,110,
+nametake,1,110,
+montage,0,110,
+mont_blanc_(heartcatch_ayaya),1,110,
+mona_(genshin_impact)_(cosplay),0,110,
+momoya_show-neko,1,110,
+momimaki,1,110,momiji_(103)
+mo_(pixiv9929995),1,110,
+miru,1,110,
+miriel_(fire_emblem),4,110,
+minamoto_no_raikou_(swimsuit_lancer)_(first_ascension)_(fate),4,110,
+mikasayaki,1,110,
+midarezaki_kyouka,4,110,
+messikid,1,110,
+megane_chuu,1,110,
+matador,0,110,
+martini,0,110,
+marron,4,110,
+magus_tale,3,110,
+mafumafu,4,110,
+macciatto_(aciel02),1,110,akiru_(igel-flutter)
+lo_xueming,1,110,
+liumang_tu_shua_p_zhan,1,110,1065587906
+lino_chang,1,110,0910popo
+lickitung,4,110,
+licking_cum,0,110,"cum_lick,cum_licking"
+lene_(fire_emblem),4,110,leen_(fire_emblem)
+lalala222,1,110,
+labret_piercing,0,110,
+kuruton486,1,110,
+kurosawa_kiyotaka,1,110,takashi_kiyoshi
+kurabayashi_aya,1,110,
+kozu_(bloomme1_me),1,110,
+kotarou_(rakugaki_shirushi),1,110,
+kotaro-nosuke,1,110,
+koiiro_soramoyou,3,110,
+koi_drake,1,110,
+kinukawa_chinatsu,4,110,
+kinu_(azur_lane),4,110,
+king_(nadia),4,110,
+kikuchi_michitaka,1,110,asamiya_kia
+kekekeke,1,110,
+kashi,1,110,
+karuizawa_kei,4,110,
+karakuri_musha,1,110,hassan_(user_vgzs2728)
+kanna_kanaki,1,110,kanna_(pixiv459051)
+kamo_(yokaze),1,110,
+kainkout,1,110,
+kaifuku_jutsushi_no_yarinaoshi_~sokushi_mahou_to_skill_copy_no_chouetsu_heal~,3,110,"kaifuku_jutsushi_no_yarinaoshi,kaiyari,redo_of_healer"
+kagto_(alterna),1,110,alterna99
+kaauchi,1,110,
+johnathan_mar,4,110,jonah_(jormungand)
+john_(a2556349),1,110,
+jewelry_bonney,4,110,jewelry_bonnie
+jet_(pw3234),1,110,
+itou_noemi,4,110,
+itano_circus,0,110,"macross_missile_massacre,missile_defense"
+ishida_arata,1,110,
+inika,1,110,
+idol_time_pripara,3,110,
+iceland_(hetalia),4,110,
+hoshina_meito,1,110,
+hop3,1,110,
+hood_basket,0,110,
+holding_shell,0,110,
+hiruma_andon,1,110,
+hinomoto_reiko,4,110,
+heybot!,3,110,
+henriette_mystere,4,110,
+hechi_(hechi322),1,110,
+hebameki,1,110,
+hawlucha,4,110,
+harmony's_clownfish_(splatoon),4,110,
+hanayagi_kaoruko,4,110,
+godzilla_(legendary),4,110,
+glowworm_(warship_girls_r),4,110,
+galarian_rapidash,4,110,
+gabumon,4,110,
+fur_bracelet,0,110,
+fumizuki_misoka,1,110,
+fumiko_(miruyuana),1,110,
+fujimoto_akio,1,110,
+flight_goggles,0,110,
+fingerprint,0,110,
+fediel_(granblue_fantasy),4,110,
+fct,1,110,
+eye_(okame_nin),4,110,
+evolution_championship_series,3,110,
+estinien_varlineau,4,110,estinien_wyrmblood
+eriko_(summer)_(princess_connect!),4,110,
+enperuto_(yarumi),1,110,yarumi_(suina)
+ellipsis_(mitei),1,110,ellipsis_(artist)
+ekm,1,110,
+eiji_(monochromexd),1,110,
+ebisu_(dorohedoro),4,110,
+dyresbroom,1,110,
+donkey,0,110,
+domestic_na_kanojo,3,110,domestic_girlfriend
+digimon_savers,3,110,
+devil_(housamo),4,110,
+dangan_neko,1,110,
+crystal_shoujo,1,110,
+cross_akiha,1,110,
+croconaw,4,110,
+claus_(mother_3),4,110,
+clare_(543),1,110,
+chungmechanic,1,110,
+chiri_(o9o9),1,110,
+chili_(pokemon),4,110,pod_(pokemon)
+chao_lingshen,4,110,lingshen_chao
+captain_syrup,4,110,
+bruno_(pokemon),4,110,shiba_(pokemon)
+blue_moon,0,110,
+blue_corset,0,110,
+blitzen,4,110,
+black_bridal_gauntlets,0,110,
+billy_kane,4,110,
+belt_chain,0,110,
+azure_striker_gunvolt_2,3,110,
+ayukko_(forest_village),1,110,
+attyon,1,110,killing-inthe-name
+atawatsho,1,110,
+atago_kinue,4,110,
+ashina_merou,1,110,renkon_(s36tereste)
+artnip,1,110,
+arachnid,0,110,
+aotsu_karin,1,110,
+aono_(aonocrotowa),1,110,
+aoihitsuji,1,110,
+aoi_yusuke,4,110,aoi_yuusuke
+aoba_kozue,4,110,
+anti_(ssss.gridman),4,110,
+anny_(yoai),1,110,
+angel_blade,3,110,
+amakura_(am_as),1,110,
+aluce,1,110,
+alternate_design,0,110,
+akatsuki_no_yona,3,110,
+akatsuki_ikki,1,110,
+akane_yuki,1,110,
+akagi_rio,1,110,
+aka6,1,110,
+ak-74m,0,110,
+achakura,4,110,
+acesrulez,1,110,
+ace_combat_7,3,110,
+absol_(dkqthf),1,110,maou_abusorun
+a_(aaaaaaaaaaw),1,110,
+a.t._zero,1,110,haruato
+723/nanahumi,1,110,
+300,3,110,
+147,1,110,
+00_qan[t],4,110,
+zhi_zhi/zu_zu,1,109,
+zelsius,4,109,
+zamazenta,4,109,
+yuuki_mix,1,109,
+yoshioka_mitsuko,1,109,
+yellow_quokka,1,109,iekuo
+yatani_row,1,109,rowtan
+yat_sen_(azur_lane),4,109,
+yamiko,1,109,
+yamayoshi_tanosuke,1,109,
+yamano_(yamanoh),1,109,
+wumumu,1,109,
+wounds404,1,109,underl
+wiping_nose,0,109,
+wei_miao,1,109,
+wato_(ko),1,109,
+water_tank,0,109,
+watanabe_no_tsuna_(fate),4,109,watanabe_no_tsuna_(fate/grand_order)
+vulcan_(arknights),4,109,
+vault_suit,0,109,
+valve,0,109,
+utsugi_(skydream),1,109,
+unagi_sango,1,109,
+uhouhogorigori,1,109,
+ueda_torini,1,109,
+tuka_luna_marceau,4,109,
+tsukuyomi_ai,4,109,
+tower_of_god,3,109,
+toriningen,4,109,
+tonton_(tonz159),1,109,tonz159
+tomifumi,1,109,
+toma_(shinozaki),1,109,
+toketou,1,109,
+toe_sucking,0,109,
+toaru_majutsu_no_index:_endymion_no_kiseki,3,109,"to_aru_majutsu_no_index:_endymion_no_kiseki,to_aru_majutsu_no_index_movie"
+tks_(526tks),1,109,0625a
+tita_russell,4,109,
+thief,0,109,
+teeta_j,1,109,
+te_toga,1,109,
+tatara_kogasa_(umbrella),4,109,
+tanupo,1,109,
+tailblue,4,109,tail_blue
+suzushi_moruto,1,109,
+suzume_(princess_connect!),4,109,amano_suzume
+suta_(clusta),1,109,
+super_mario_world,3,109,
+suishin_tenra,1,109,
+stroller,0,109,
+single_elbow_pad,0,109,
+siegfried_(granblue_fantasy),4,109,
+siberian_chipmunk_(kemono_friends),4,109,
+shouhou_(azur_lane),4,109,
+shoohee,1,109,"21498,shohe"
+shocking_party,0,109,
+shiroyukimajima,1,109,
+shinsono_shiroko,1,109,
+shingetsu_takehito,1,109,takehito_shingetu
+shin_kouchuu_ouja_mushiking,3,109,
+shimetta_seiya,1,109,
+shijuuhatte,0,109,
+sekimo,1,109,
+saint-louis_(holy_knight's_resplendence)_(azur_lane),4,109,saint-louis_(brilliant_paladin)_(azur_lane)
+runaru,1,109,
+rope_around_neck,0,109,
+roman_torchwick,4,109,
+ritsuki,1,109,
+rin_(fuwarin),1,109,
+repulse_(azur_lane),4,109,
+reptile,0,109,
+reno_(reno_bunnino)_(azur_lane),4,109,
+redpoke,1,109,
+qlakwnd,1,109,
+puyopuyo_7,3,109,
+pump,0,109,
+puffy_lips,0,109,
+puff_(go!_princess_precure),4,109,puff_(precure)
+psd_available,5,109,
+porary,1,109,
+pocket_square,0,109,
+play_button,0,109,
+pink_bandana,0,109,
+ping_myu_ring_(tandohark),4,109,
+phantasy_star_portable_2_infinity,3,109,
+pepper_fever,1,109,
+paseri_(cookie),4,109,
+parent_and_child,0,109,
+pansear,4,109,baoppu
+panpour,4,109,hiyappu
+orihime,4,109,
+ophelia_(madoka_magica),4,109,
+onigiri_(ocelot),1,109,
+onboro_(clunker),1,109,
+onao,1,109,
+okapi_(kemono_friends),4,109,
+nougami_neuro,4,109,
+noshiro_kai_ni_(kancolle),4,109,
+norue,1,109,"norue6,norue67"
+normin_(tales),4,109,
+nonaka_yuki,4,109,
+nogi_(acclima),1,109,
+no_neckwear,0,109,
+nina_(breath_of_fire_i),4,109,nina_i
+neshia_(tsaqif0309),1,109,
+nekoneko,1,109,mayumayunekoneko
+nashidrop,1,109,
+naoyama_masaru,1,109,
+naoto_(yandereheaven),1,109,
+nanamura,1,109,
+namamake,1,109,
+nakachiruno,1,109,
+nagare_ryoma,4,109,
+n'doul,4,109,n'dour
+myowa,1,109,
+mygrimoire,3,109,
+monaka_ooji,1,109,
+mmrailgun,1,109,
+mk_(masatusaboten),1,109,
+mitsuki_mitsuno,1,109,
+mirea,1,109,
+melailai,1,109,
+medb_(alluring_chief_warden_look)_(fate),4,109,alluring_chief_warden_look
+marshadow,4,109,
+maron_(kagamikunn),1,109,
+marin_(umi_monogatari),4,109,
+marie_antoinette_(swimsuit_caster)_(third_ascension)_(fate),4,109,
+mamiina,4,109,
+maid_leotard,0,109,
+mago,1,109,
+magical_mirai_miku_(2020_summer),4,109,magimirai_miku_(2020_summer)
+m_k,1,109,
+luke_skywalker,4,109,
+living_weapon,0,109,
+little_match_girl,3,109,
+lacrosse,0,109,
+lace-trimmed_apron,0,109,
+lab_zero_games,3,109,
+kyudoli,1,109,
+kutsuno,1,109,
+kuso_zako_choroin_nishiga_hachi,3,109,
+kusano_houki,1,109,
+kuroneko_liger,1,109,
+kureha_yuna,4,109,
+kurano_kun_chi_no_futago_jijou,3,109,
+kouhei_(sxmas),1,109,
+kosaka_chihiro,4,109,
+kobayashi_chizuru,1,109,
+kikai_sentai_zenkaiger,3,109,
+keikesu,1,109,
+kawasaki,0,109,
+kasai_amane,4,109,
+karakuri_pierrot_(vocaloid),3,109,
+kamitsuki_shion,1,109,
+kaieda_hiroshi,1,109,skullbites
+kaburagi_tomoe,4,109,amamiya_tomoe
+jurakin,1,109,
+jiro_(ninetysix),1,109,
+j_young,1,109,ohshit
+izumi_(nagashi),1,109,
+ishiyuki,1,109,ishiyuki00
+iris_(takunomi),4,109,
+iris_(konosuba),4,109,
+inui_nakiru,1,109,
+incoming_call,0,109,
+in_cage,0,109,
+i.t.o_daynamics,1,109,
+i-504_(kancolle),4,109,i-504_(kantai_collection)
+hua_jianghu_zhi_bei_mo_ting,3,109,
+hototogisu_(hot_to_gis),1,109,ken123456
+hoshina_satoya,1,109,
+hiyori_(princess_connect!),4,109,harusaki_hiyori
+hinomaru_(kotoba),4,109,
+hinazuka_ryou,1,109,
+himegoto,3,109,
+hikabe_sakuho,1,109,
+higokumaru,4,109,
+hayabusa_(spacecraft),4,109,
+harumi_kajika,4,109,
+hands_on_eyewear,0,109,
+halftone_texture,0,109,
+gufu_(guffuumu),1,109,gufu6
+grass_skirt,0,109,
+golurk,4,109,
+glue,0,109,
+giant_pangolin_(kemono_friends),4,109,
+g3_(girls'_frontline),4,109,g3_(girls_frontline)
+funnyfunny,1,109,
+fuji_aoi,4,109,
+fu_yukari,1,109,
+forehead_flick,0,109,dekopin
+flasso,1,109,
+fl-chan,4,109,
+farmer,0,109,
+f-cla,1,109,
+ethan_(arknights),4,109,
+esu_(tasoesu),1,109,tei_(auntaso)
+elizabeth_thompson,4,109,
+dynamite_pussy_cat,1,109,
+dragon_ball_minus,3,109,
+dr._mario_(game),3,109,
+dofresh,1,109,
+dmsco1803,1,109,
+dhfz181,1,109,
+cure_sparkle,4,109,
+cum_on_gloves,0,109,
+crusaders_quest,3,109,
+combat_medic_ziegler,4,109,
+colophon,0,109,
+coldcat.,1,109,
+clarine_(fire_emblem),4,109,
+cinque_izumi,4,109,shinku_izumi
+childhood_friend_(ominaeshi),4,109,
+charlotte_(seiken_densetsu_3),4,109,charlotte_(sd3)
+chaika_bogdan,4,109,
+cavall_the_2nd,4,109,
+camisole_pull,0,109,
+burning_love_(phrase),0,109,
+bun_(bbb81bun),1,109,
+bud_(korovsme),1,109,
+blazblue:_calamity_trigger,3,109,
+black_rope,0,109,
+beaten,0,109,
+badminton,0,109,
+a~chan,4,109,
+attouteki_yuugi_mugen_souls,3,109,
+atou_rie,1,109,
+atelier_lulua,3,109,
+asakura_kazumi,4,109,
+arisawa_tatsuki,4,109,
+apostle,1,109,
+aoandon,4,109,
+anvil,0,109,
+anal_hook,0,109,
+amiya_(guard)_(arknights),4,109,
+alternate_body_size,0,109,
+akira_(orenchi_no_maidosan),4,109,
+akihazama,1,109,
+aimori_meguru,1,109,daidai_jamu
+aaeru,1,109,
+zuko,4,108,
+zinfyu,1,108,
+zbura,1,108,
+zambiie,1,108,
+yuugo_(yu-gi-oh!),4,108,yugo_(yu-gi-oh!)
+yutohiroya,1,108,
+yoshizawa_hikoto,1,108,
+yoshikita_popuri,1,108,
+yonah,4,108,
+yatsu_murasaki,4,108,
+yasaka_shuu,1,108,
+yaoyao_(genshin_impact),4,108,
+wii_u,0,108,
+weisuoxin,1,108,
+wani_(perfect_han),1,108,perfect_han
+wallace_pires,1,108,
+uchi_no_maid_ga_uzasugiru!,3,108,
+tsukimi_50,1,108,
+toichi,1,108,
+tinker_bell_(disney),4,108,"tinkerbell,tinkerbell_(disney)"
+tiese_schtrinen,4,108,
+team_spica's_trainer,4,108,
+tangrowth,4,108,
+tango_(tn500),1,108,
+tamezou,1,108,
+takayama_kisai,1,108,
+super_sailor_saturn,4,108,
+super_famicom_gamepad,0,108,
+sunsun2812,1,108,
+sun_wukong_(cosplay),0,108,
+substance20,1,108,
+spinda,4,108,
+spinarak,4,108,
+spartacus_(fate),4,108,
+soulcalibur_iii,3,108,soul_calibur_iii
+sola_(solo0730),1,108,
+sket_dance,3,108,
+sizma,1,108,oasys
+shirouzu_mairu,4,108,
+shiitake_(love_live!_sunshine!!),4,108,
+shangri-la_(azur_lane),4,108,
+settyaro,1,108,
+setona_(daice),1,108,
+sentape,1,108,
+senoo_aiko,4,108,
+schierke_(berserk),4,108,
+scavenger_(arknights),4,108,
+sayama_yoshiki,1,108,
+sakura_(doors),1,108,
+saimon_tamaki,4,108,
+sabamori,1,108,sabamori55
+ryu_shou,1,108,
+rosia_(show_by_rock!!),4,108,
+roasting,0,108,
+riki6,1,108,
+reichsadler,0,108,
+rankasei,1,108,
+queen_aldra,4,108,
+papico_(ice_cream),3,108,
+panties_around_one_finger,0,108,
+pamphlet,0,108,
+paladin,0,108,
+oz_ma33,1,108,oz_(user_zakk5472)
+ougi_(ihayasaka),1,108,
+otsukare,1,108,
+osmanthus_blade,0,108,
+oscar_francois_de_jarjayes,4,108,
+orianna_(league_of_legends),4,108,orianna_reveck
+ocza,1,108,oshiza
+nazo_(mystery),1,108,
+natsunagi_takaki,1,108,
+natsumi_(ragtime),1,108,
+nanakura_nanane,1,108,
+nail_biting,0,108,nail_bite
+nail_(hollow_knight),0,108,
+muska,4,108,
+muse_dash,3,108,
+murrue_ramius,4,108,
+muramasa_mikado,1,108,
+munseonghwa,1,108,
+moyan,1,108,
+monster_hunter_3_g,3,108,
+miyawaki_sana,4,108,
+misaki_yuu,1,108,
+miri_(cherryjelly),1,108,bitikara
+minase_(mmakina),1,108,
+mimuni362,1,108,
+mileina_vashti,4,108,
+mikami_(mkm0v0),1,108,
+meteorite_(arknights),4,108,
+meimu_(infinity),1,108,
+mathiamo13,1,108,
+marui,1,108,
+marufuji_ryou,4,108,"marufuji_ryo,zane_truesdale"
+march_hare_(alice_in_wonderland),4,108,march_hare
+makihara_arina,4,108,
+mahou_shoujo_taisen,3,108,magica_wars
+magician_(china),1,108,
+lime_(saber_j),4,108,
+lily_bloomerchen,4,108,
+lafter_frankland,4,108,
+lacrosse_stick,0,108,
+kuro_yanagi,1,108,
+kumoi_takashi,1,108,
+kuma_yuu,1,108,hisagi-y4
+krs_(karasu),1,108,
+krieg_(skullgirls),4,108,
+kratos_aurion,4,108,
+kozy,1,108,
+kon_(bleach),4,108,
+kokorono_arika,1,108,
+kitahara_mio,4,108,
+kirarin369,1,108,
+ki-sikil_(yu-gi-oh!),4,108,
+kerorira,1,108,
+kazumasa,1,108,
+katharine_ohare,4,108,
+kashiwagi_azusa,4,108,
+karahai_(31448823),1,108,
+kanmuri_(hanyifan30338),1,108,
+kanekan,1,108,"kake_kan,tungsten_(kanekan15)"
+kamuo,1,108,
+kamitani_george,1,108,"george_kamitani,kamitani_jouji"
+kakimoto_nao,1,108,
+kajino_(aosansai),1,108,
+kaine_(nier)_(cosplay),0,108,
+kaiko,4,108,
+k_kanehira,1,108,
+juubaori_mashumaro,1,108,
+junkyard,0,108,
+jong_tu,1,108,
+jarvan_iv_(league_of_legends),4,108,jarvan_lightshield_iv
+ip_police_tsuduki_chan,3,108,
+inhye,1,108,
+immersed,0,108,
+hotori_(sion),1,108,
+hirako,1,108,
+hiraizumi_(mugenkidousha),1,108,
+hippogriff,4,108,
+hinabita,3,108,
+hina_misora,4,108,
+higashiyama_kazuko,1,108,
+headband_removed,0,108,
+he_wants_to_order_(meme),0,108,she_wants_to_order_(meme)
+hasune,1,108,
+hao_(haozz),1,108,haozz
+hammann_(rebellious_summer)_(azur_lane),4,108,
+hamburger-chan_(hundredburger),4,108,hamburger-chan_(nekoume)
+gukurosawa01,1,108,
+green_overalls,0,108,
+gold_can,1,108,
+garamgum,1,108,
+ganmaganmo,1,108,
+furim,1,108,
+flying_car,0,108,
+flower_(vocaloid3),4,108,
+flint_(arknights),4,108,
+flay_allster,4,108,
+fire_emblem_engage,3,108,
+fire_axe,0,108,
+figure_skating_dress,0,108,
+feli_(puyopuyo),4,108,
+fancybetty,1,108,
+edward_newgate,4,108,
+edmond_(nu_carnival),4,108,
+doskoinpo,1,108,
+dominator_(gun),0,108,
+dildo_gag,0,108,
+desaku,1,108,
+dark_haruka,4,108,
+dan-98,1,108,
+cuon_(kuon),1,108,
+cum_in_bowl,0,108,
+command_and_conquer,3,108,
+collapsed,0,108,
+cockatoo,0,108,
+clover_earrings,0,108,
+chyoling,1,108,
+chocolate_on_foot,0,108,
+chii_aruel,4,108,
+chibi_maruko-chan,3,108,
+chevalier_d'eon_(maid_knight)_(fate),4,108,
+chaa_(korone-ze),1,108,
+cellval,4,108,
+capybara_girl,0,108,
+burnt_food,0,108,
+bunny_earmuffs,0,108,
+bullet_bill,4,108,
+blue_whale_(kemono_friends),4,108,
+bandaid_on_thigh,0,108,
+azu,1,108,
+ayo_(ayosanri009),1,108,
+ayatori_(aytr),1,108,
+ayatoki-1,1,108,
+awai_shiro,1,108,aru_gunsou
+asta_(black_clover),4,108,
+asakura_masatoki,1,108,"asakura_g+,asakura_garo"
+asahina_momoko,4,108,
+asagi_(kabocha_oukoku),1,108,
+arsenal,1,108,
+arawi_keiichi_(style),0,108,
+aono_meri,1,108,
+aoi_hana,3,108,
+aoi_ch.,3,108,
+ambulance,0,108,
+amano_hagoromo,1,108,
+alisia0812,1,108,
+akazukin_chacha,3,108,
+age_conscious,0,108,
+abyss_mage_(genshin_impact),4,108,abyss_mage
+aa-12,0,108,
+zhaoyebai,1,107,
+zero_(zero_kara_hajimeru_mahou_no_sho),4,107,
+zero-go,1,107,
+yuugen_no_tei,1,107,
+yurigasaki_lulu,4,107,
+yurano_(upao),1,107,
+yukiyoshi_mamizu,1,107,
+yukitsuki_kokoro,1,107,
+yuki_(asayuki101),1,107,sasayuki101
+ytoy,1,107,
+yozakura_tama,4,107,
+youmu-kun,1,107,
+yamato_(kancolle)_(cosplay),0,107,
+yamano_sachi,1,107,
+yamanami_keisuke_(fate),4,107,
+yamagami_lucy,4,107,"yamagami_lucy_kimiko_akie_airi_shiori_rinne_yoshiho_ayano_tomika_chitose_sanae_mikiko_ichika,yamagami_lucy_kimiko_akie_airi_shiori_rinne_yoshiho_chihoko_ayano_fumika_chitose_sanae_mikiko_ichika_yukino_reina_eri_ai_tamiko_chikage_emilia_julia_shizue_erina_chisa_yumeka_natsuki_ranran_rieko_setsuri_chikako_azumi_marina_hideko_chiaki_misaki_naomi_campbell_miku_yuka_masako_sachiko_nana_mutsumi_haruka_yuna_shimako_yukie_rin_sakura_kanna_wakana_hazuki_hanami_ruri_mihane_momoka_himari_nozomi_futaba_mayuyu_ayano_(ry"
+yai_(hachihito),1,107,
+xiaolang,4,107,syaoran
+wolf's_gravestone_(genshin_impact),0,107,
+watanuki_fuuri,4,107,
+waramori_fuzuka,1,107,
+viprpg,3,107,
+valerie_(pokemon),4,107,mache_(pokemon)
+usaslug_(tsukumo_sana),4,107,
+uroko_(mnr),1,107,
+ume_(datsuryokugen),1,107,datsuryokugen
+tsurime-chan,4,107,
+totonii_(totogoya),1,107,pomery
+toda_kazuki,1,107,
+tenryuu_(kancolle)_(cosplay),0,107,
+tekuho_no_habo,1,107,
+tekkaman_blade,3,107,
+tamandua_tail,0,107,
+swimsuit_over_clothes,0,107,
+suzuna_(princess_connect!),4,107,minami_suzuna
+suzumiya_haruhi_(young),4,107,
+suzuki_jirou,1,107,suzuki_jiro
+suke_(share_koube),1,107,
+strea_(sao),4,107,
+stare_down,0,107,
+spyke_(splatoon),4,107,daunii_(splatoon)
+snake_boy,0,107,
+sitting_on_arm,0,107,
+shoe-ji,1,107,
+shiruko,1,107,
+shirouzu_myuuta,1,107,
+shirogane_sara,4,107,
+shiro_albino,1,107,albinoraccoon
+shiguang_dailiren,3,107,link_click
+shiba_yuuji,1,107,
+sharing,0,107,
+sg_(esujii),1,107,
+senya_fuurin,1,107,
+seisen_cerberus,3,107,
+sawada_manami,4,107,
+satake_shougo,4,107,
+sandslash,4,107,
+saltyicecream,1,107,
+sakuramori_sumomo,1,107,
+sakuramochi1003,1,107,
+sabrith_ebonclaw,4,107,
+ryp,1,107,
+rororogi_mogera,1,107,rororogi_mogura
+rookidee,4,107,
+red_tube_top,0,107,
+rauto,1,107,
+rapa_(heisei_strawberry),1,107,
+queen_(band),3,107,
+quarterlift,1,107,
+qooo003,1,107,
+price_list,0,107,
+preview,0,107,
+precia_testarossa,4,107,
+potetos7,1,107,
+porsche,0,107,
+pillow_(nutsfool),1,107,
+picket_fence,0,107,
+peter_pan_(disney),3,107,
+patrat,4,107,
+party_horn,0,107,
+ozu_yugurou,1,107,
+ovelia_atkascha,4,107,
+organ_(instrument),0,107,
+orange_(bibiko),1,107,
+oolay-tiger_(voice_actor),1,107,oolay-tiger
+oasis_(magnitude711),1,107,
+noveske_n4,1,107,
+nisego,1,107,
+naoko_(naonocoto),1,107,
+nagata_gata,1,107,
+n2midori,1,107,
+muromaki,1,107,"mrmk_z,muromaki_(doberman)"
+murasaki_nyaa,1,107,
+multicolored_bowtie,0,107,
+mouth_insertion,0,107,
+mountain_pukuichi,1,107,
+moegi0926,1,107,
+mochizuki_mina,1,107,
+mochi_(k620803n),1,107,352672
+miyama_yuuna,4,107,
+miyakawa106,1,107,
+miya_ur,1,107,
+mishuo_(misuo69421),1,107,
+mirufui,1,107,
+minutachi,1,107,
+military_coat,0,107,
+milin_(orange_maru),1,107,imp_(sksalfl132)
+milim_nova,1,107,"milim_nova_(artist),nova_(juan-p_inte)"
+midare_toushirou_(kiwame),4,107,
+mid-autumn_festival,0,107,zhongqiu_jie
+metallican,1,107,
+mejiro_mcqueen_(end_of_sky)_(umamusume),4,107,
+mechrailgun,1,107,
+matsushita,4,107,
+maro_nie,1,107,
+marcy_(chrono_cross),4,107,
+mao_(disgaea),4,107,
+magnezone,4,107,
+macne_series,3,107,macloid
+lyza_(made_in_abyss),4,107,
+lovely_x_cation,3,107,
+linfi-muu,1,107,
+lich,0,107,
+lewdkuma,1,107,
+leotard_lift,0,107,
+lemrina_vers_envers,4,107,
+lee_sin,4,107,
+lavender_panties,0,107,
+landing_gear,0,107,
+lalah_sune,4,107,
+kusari_hime:_euthanasia,3,107,
+kurun_(kurun777),1,107,
+kuro_the_divine_heir,4,107,
+kurebayashi_juri,4,107,
+kunizuka_yayoi,4,107,
+kunitori,1,107,
+kumamon,4,107,
+kiui_(dagk8254),1,107,
+kitchen_hood,0,107,
+kikurina,1,107,"msc_nm,natsume_(na_tsumen)"
+keith_claes,4,107,
+kasu_kazu,1,107,kasukazu
+kannagi_cocoa,4,107,cocoa_(toba)
+kamishiro_mai_(capti-no),1,107,
+kaijumilk_(milkchaotea),1,107,kaijumilk
+kagura_mutsuki,4,107,
+kagari_liroi,1,107,kagari_leroy
+julietta_juris,4,107,
+jorori,1,107,
+jixing_renou,1,107,
+jin_nai,1,107,
+jedah_dohma,4,107,
+jean_(gunnhildr's_legacy)_(genshin_impact),4,107,
+izumi_kanata,4,107,
+ishizu_ishtar,4,107,
+inui_shinju,4,107,
+independence_(azur_lane),4,107,
+impossible_vest,0,107,
+ichinose_(sorario),1,107,
+hrothgar,0,107,
+hozumi_rino,1,107,lemon_honey1013
+hover_vehicle,0,107,
+hoshino_lily,1,107,mushiba
+hoshimiya_mukuro,4,107,
+hoshi_mikan,1,107,mitsunagami
+honda_takeshi,1,107,
+holding_glowstick,0,107,
+himeno_mikoto,4,107,
+himejima_gyoumei,4,107,
+highleg_buruma,0,107,
+heriyama,1,107,
+hani_haya,1,107,hanbenp
+hands_under_legs,0,107,
+hammerhead_shark,0,107,
+hajike_akira,1,107,
+gum_(jsr),4,107,
+guardians_of_the_galaxy,3,107,
+grimmelsdathird,1,107,
+goshuushou-sama_ninomiya-kun,3,107,good_luck!_ninomiya-kun
+golden_retriever,0,107,
+godot_(ace_attorney),4,107,godot
+gnai,1,107,
+gedoooo,1,107,
+gc3,1,107,
+gawr_gura_(cosplay),0,107,
+garfield,3,107,
+gangsta_hold,0,107,
+fz064,1,107,
+fusou_kai_ni_(kancolle),4,107,
+fukumitsu_(kirarirorustar),1,107,kirariroru_star
+fukasaku_aoi,4,107,
+fujimaru_(green_sparrow),1,107,
+fujibejifu,1,107,
+fubuki_(blue_archive),4,107,
+finger_horns,0,107,
+fe_(tetsu),1,107,
+fantastic_beasts_and_where_to_find_them,3,107,
+face_in_hands,0,107,
+elijah_baley,4,107,
+eien_no_aselia,3,107,eien_no_aseria
+echigo_mitsutaka,1,107,
+ebi_puri_(ebi-ebi),1,107,
+earthworm,0,107,
+duto,1,107,choi_hyochan
+durin_(arknights),4,107,
+dungeon_toaster,1,107,
+dunbine,4,107,
+draven,4,107,
+dororon_enma-kun,3,107,ghastly_prince_enma_burning_up
+dore_(gilles_dore),1,107,myo_ne
+disgaea_rpg,3,107,
+dirty_ero,1,107,becurvello
+digital_camera,0,107,
+deyuyama,1,107,deyu_(aytms)
+detroit:_become_human,3,107,
+deogho_(liujinzy9854),1,107,
+deino_(pokemon),4,107,
+ddt_(darktrident),1,107,
+data_(mega_man),4,107,data_(rockman_dash)
+dark_willow,4,107,
+danmakuman,1,107,
+daigoman,1,107,
+cz75_(girls'_frontline),4,107,"cz-75_(girls'_frontline),cz-75_(girls_frontline)"
+comp_h's,3,107,conpu_h's
+commander_shepard_(female),4,107,femshep
+comet_(teamon),1,107,
+combusken,4,107,
+cocoon,0,107,
+claudia_hortensia,4,107,claudia_ortensia
+chtholly_nota_seniorious,4,107,
+chocolate_on_pussy,0,107,
+chiroron,1,107,
+chiriko_(atlanta),4,107,
+chela77,1,107,
+chef_no_kimagure_salad,1,107,
+carp,0,107,
+camouflage_tank_top,0,107,
+c_(rahit),1,107,
+bugles,0,107,
+bride_(fire_emblem),0,107,
+breast_sucking_through_clothes,0,107,
+bootjob,0,107,
+blue21,1,107,
+beyond_the_vibes_(idolmaster),0,107,beyond_the_vibes
+bastion_(overwatch),4,107,sst_laboratories_siege_automaton_e54
+bail,1,107,
+azelweien,1,107,
+artery_gear,3,107,armor_girls
+aoi_yun,1,107,
+aogiri_koukou_game_club,3,107,
+annie_mei,4,107,
+ankle_flower,0,107,
+angelise_reiter,4,107,
+andrewcockroach,1,107,andrea_cofrancesco
+amano_tora,4,107,
+almeida_(granblue_fantasy),4,107,
+akutsu_(yuumi),1,107,"akutsu_yuumi,mei_tsu_yuumi"
+akutsu_(demodori),1,107,"aku2,aq_sipd"
+akira_ituki,1,107,
+akino_(princess_connect!),4,107,toudou_akino
+akazaki_yasuma,1,107,
+aizawa_chizuru,4,107,
+aikawa_ruru,1,107,
+aida_yuu,1,107,aida_yu
+aiba_asagi,4,107,
+abusoru,1,107,
+abiko_yuuji,1,107,
+7lark,1,107,soulkiller
+3.14,1,107,
+1nupool,1,107,
+14_(vision5032),1,107,
+01_0219,1,107,15
+001_(darling_in_the_franxx),4,107,
+zone_(artist),1,106,
+zhiyou_ruozhe,1,106,
+zebrablack,1,106,
+yozora_(1wkdgusdn),1,106,
+yokkora,1,106,
+ymd_(holudoun),1,106,
+yamashita_jiro,4,106,yamashita_jirou
+yamaguchi_satoshi,1,106,
+yamaguchi_kisaragi,4,106,
+yakumo_ran_(cosplay),0,106,
+yakibuta_(shimapow),1,106,vorpal-duck
+yaeno_muteki_(umamusume),4,106,
+xiaji,1,106,
+wolksheep,1,106,wox
+winged_bag,0,106,winged_backpack
+wendy_o._koopa,4,106,
+wash_cloth,0,106,
+volyz,1,106,
+vococo,1,106,
+vo1ez,1,106,
+vmat,1,106,
+vittorio_veneto_(the_flower_of_la_spezia)_(azur_lane),4,106,
+vitaminechan,1,106,
+vietnam_war,0,106,
+unicorn_gundam_banshee,4,106,
+un-known_(ninesix),1,106,"unknown_(artist),unknown_(pixiv315238)"
+umeboshi_(lazy_lazy),1,106,"noein_(artist),noein_(lazy_lazy)"
+ultimate_madoka_(cosplay),0,106,goddess_madoka_(cosplay)
+uisu_(noguchipint),1,106,
+uguisu_kagura,1,106,
+tutou_jiang,1,106,
+tsukimonogatari,3,106,
+trance_tina_branford,4,106,
+toratora_(nanahaba),1,106,
+tooya_daisuke,1,106,
+to@st,1,106,littleb623
+tiamat_(momokuri_mannen),1,106,tea_texiamato
+thomas_the_tank_engine,3,106,
+the_beatles,3,106,beatles
+tetsua_rei,1,106,
+take_(illustrator),1,106,
+takatun223,1,106,
+takada_akemi,1,106,
+svc_chaos,3,106,
+sui_(petit_comet),1,106,
+straizo,4,106,straits
+sterkenburg_cranach,4,106,
+sora_(silent_square),1,106,
+sonchi,1,106,
+siqi_(miharuu),1,106,aoki_(miharuu)
+single_bare_leg,0,106,
+shize_(coletti),1,106,xyxy0707
+shiron_(shiro_n),1,106,
+shirane_taito,1,106,
+shinopoko,1,106,abekawa_mochi
+shinei_nouzen,4,106,
+shimakoma,1,106,
+shigurio,1,106,
+shaa,1,106,
+seascape,0,106,
+schwarz_(skyline)_(arknights),4,106,
+saturndxy,1,106,
+saotome_mary,4,106,saotome_meari
+saotome_genma_(panda),4,106,
+sangou_shizuku,4,106,
+saitou_chiwa,4,106,saito_chiwa
+sailor_star_fighter,4,106,
+sahara386,1,106,
+sadida,4,106,
+rouge_(makeup),0,106,
+robo8,1,106,
+riyun_(halodark),1,106,halodark
+ribbon_girl_(arms),4,106,
+revali,4,106,
+reptile_boy,0,106,lizard_boy
+reinhard_van_astrea,4,106,
+ray.s,1,106,
+queen_of_sunlight_gwynevere,4,106,gwynevere_(dark_souls)
+qinshi-ji,1,106,
+puton,1,106,
+ptrd-41,0,106,
+project_krone_(idolmaster),0,106,project_krone
+princess_hilda,4,106,
+pirates_of_the_caribbean,3,106,
+petelgeuse_romaneeconti,4,106,
+panty_gag,0,106,"panty_gagged,pantygag"
+oxygen_(0220),1,106,
+oriana_thomason,4,106,oriana_thompson
+orange_overalls,0,106,
+oono_mayu,4,106,
+olga_discordia,4,106,origa_discordia
+okawaii_koto,0,106,how_cute_(kaguya-sama)
+ogami,1,106,
+nuneno,1,106,
+northern_goshawk_(kemono_friends),4,106,
+nishino_eri,1,106,eliot_c_f
+nijimura_keicho,4,106,
+netamaru,1,106,
+neon_palette,0,106,
+necono_(nyu6poko),1,106,
+natsuba002,1,106,
+nana_(manaita_koumuten),1,106,
+nakajima_youko,4,106,
+nakajima_ryou,1,106,
+muzuki_uruu,1,106,
+murakami_natsumi,4,106,
+moutama,1,106,
+moro_no_ichizoku,4,106,
+monoto,1,106,
+mizuyoukan_(mikususannda),1,106,
+misako_(kunio-kun),4,106,
+mikogami_riko,4,106,
+miho_(last_origin),4,106,t-14_miho
+mem,1,106,
+melting_halo,0,106,
+measuring_cup,0,106,
+may_chang,4,106,
+may_(spring_2021)_(pokemon),4,106,
+matsuo_yukihiro,1,106,
+marriage_certificate,0,106,
+marie_antoinette_(swimsuit_caster)_(second_ascension)_(fate),4,106,
+maitou,1,106,
+luck_&_logic,3,106,
+laundry_dragonmaid,4,106,
+ladybug_(character),4,106,
+kyoichi_(live_a_hero),4,106,
+kurusugawa_serika,4,106,
+kururi,1,106,
+kuroshiro00,1,106,
+kuro_(tbm9187),1,106,
+koomoi,1,106,shinsoyori
+klonoa,4,106,
+kiyoura_setsuna,4,106,
+ken_marinaris,4,106,
+keihh,1,106,
+kazari_jun,4,106,
+kazami_kazuki,4,106,
+katsura_masakazu,1,106,
+kanae_(inorin05kanae),1,106,inorin05kanae
+kamisuki,1,106,
+kamen_rider_saber_(series),3,106,
+kage_houshi,1,106,
+justrube,1,106,
+josie_rizal,4,106,
+jito_mesuki_nitouhei,1,106,
+japanese_otter_(kemono_friends),4,106,
+jagd,1,106,
+issho_ni_training,3,106,
+isabelle_(shadowverse),4,106,
+ippus,1,106,na_young_lee
+ignite_module,0,106,
+i-402_(aoki_hagane_no_arpeggio),4,106,
+hyde_(under_night_in-birth),4,106,
+hurdle,0,106,
+hoshi_rasuku,1,106,
+honkivampy,1,106,
+holding_bullet,0,106,
+hoe-l,1,106,hachizowo
+hobby_(azur_lane),4,106,
+hirume_of_heavenly_incense,4,106,heavenly_hirume
+himuhino,1,106,cursedpairing
+hime_granzchesta,4,106,president_hime
+hikosan,1,106,
+higa423,1,106,metyayurusu
+hataraki_ari,1,106,
+happiny,4,106,
+hanshin_tigers,3,106,
+hands_on_own_shoulders,0,106,
+hand_on_goggles,0,106,
+gundam_arsenal_base,3,106,
+gears_of_war,3,106,
+fuuga_(perv_rsity),1,106,
+fujisaki_shiori,4,106,
+fujimaru_ritsuka_(male)_(mage's_association_uniform),4,106,
+fujimaru_ritsuka_(female)_(mage's_association_uniform),4,106,
+flower_tact,0,106,
+floette,4,106,
+flamenco_dress,0,106,
+fan_over_face,0,106,
+falinks,4,106,
+falconry,0,106,
+evolutionary_stone,0,106,
+evangelyne,4,106,
+eun_(elsword),4,106,
+epi_zero,1,106,
+emoto_reishi,1,106,
+elise_(league_of_legends),4,106,
+electrostimulation,0,106,
+electivire,4,106,
+ekaterina_kurae,4,106,
+eisuto,1,106,
+eien_no_sai_tori,1,106,
+eichisu,1,106,
+e=mc2_(mosimosi),1,106,
+double_insertion,0,106,
+dotsuco,1,106,
+donutman,1,106,
+dive_to_zone,3,106,
+destiny_(game),3,106,
+demon_pillar_(fate),4,106,demon_pillar_(fate/grand_order)
+def_(chronowarld),1,106,
+deep_aqua_mirror,0,106,
+cuivre,1,106,
+cradily,4,106,
+comiket_88,3,106,
+clear_card,0,106,
+chuzenji,1,106,
+chikujouin_magane,4,106,
+chikugen_shiina,1,106,
+cheek_biting,0,106,cheek_bite
+cat_stretch,0,106,
+carcano_m1891_(girls'_frontline),4,106,carcano_m1891_(girls_frontline)
+caiman_pool,1,106,caiman-pool
+cacturne,4,106,
+c8oyk,1,106,chouge60229
+busou_shoujo_machiavellism,3,106,armed_girl's_machiavellism
+buntan,1,106,
+broken_cup,0,106,
+blue_angel,4,106,
+bleach:_the_thousand-year_blood_war,3,106,
+been,1,106,
+bara_(03_bara_),1,106,bara0717
+ayuanlv,1,106,
+ashu,1,106,
+asgore_dreemurr,4,106,
+arctic_fox_(kemono_friends),4,106,
+anoa,1,106,
+andy_bogard,4,106,
+andou_tomoya,1,106,
+an-telin,1,106,
+amesawa_mokke,1,106,
+all-out_attack,0,106,all_out_attack
+algerie_(white_sand_paradise)_(azur_lane),4,106,algerie_(white_sand_angel)_(azur_lane)
+alfyn_greengrass,4,106,alfyn_(octopath_traveler)
+akumi_(yoclesh),4,106,
+aki_eda,1,106,
+aisaka_sayo,4,106,
+agovitch,1,106,
+8_(yamalu),1,106,
+78rr,1,106,
+16_ban,1,106,
+0_(znanimo),1,106,
+zipping,0,105,
+yuzuki_yukari_(onn),4,105,
+yurun,1,105,
+yukimura_tsubame,1,105,
+yukimi_unagi,1,105,
+yukihiro,1,105,
+yudaoshan,1,105,
+yotsuboshi_academy_uniform,0,105,
+yoshizane_akihiro,1,105,
+yonoisan,1,105,
+yokohachi,1,105,
+yarizui_sen,4,105,
+yamanbagiri_chougi,4,105,
+yaise,1,105,
+yada_ei,1,105,
+y.i._(lave2217),1,105,
+xia_you_qing,4,105,
+world's_end_dancehall_(vocaloid),3,105,
+vetina,1,105,
+valkenhayn_r._hellsing,4,105,
+uzukinoko,1,105,
+urubida,4,105,
+ursica,1,105,everfornever
+uno_(nanoha),4,105,
+unidentified_nk,1,105,
+unicycle,0,105,
+umi_(srtm07),1,105,
+umeno_ryuuji,1,105,
+ukrainian_flag,0,105,
+twogie,1,105,
+twoframe,1,105,
+tropical_liquor,3,105,
+torajimaneko,1,105,
+tora_tentei,4,105,
+tira_misu,4,105,
+timer,0,105,
+tian_guan_ci_fu,3,105,heaven_official's_blessing
+theodor_bachstein,4,105,
+the_hermit,1,105,
+tetsu_tissue,1,105,
+tarou2,1,105,
+tarayuki,1,105,yukimiyuki
+tansan_daisuki,1,105,
+tamayume,1,105,seisei_tamago
+takuan,0,105,
+taki_eri,4,105,girl_who_sits_in_front_of_ritsu_(k-on!)
+takami_akio,1,105,
+takamatsu,4,105,
+suzuneko_(yume_no_kyoukai),1,105,
+super_creek_(chiffon_ribbon_mummy)_(umamusume),4,105,
+sumomomo_momomo,3,105,sumomomomomomo
+sugiura_midori,4,105,
+space_invaders,3,105,
+sousou_no_frieren,3,105,
+snowflake_choker,0,105,
+skirt_under_dress,0,105,
+sk02,1,105,
+shutter_shades,0,105,
+shitou,1,105,
+shironekokfp,1,105,
+shino-o,1,105,
+shin_kawasaki,1,105,
+shimotsuki_keisuke,1,105,
+seto_(asils),1,105,
+seraphim_(kore_wa_zombie_desu_ka?),4,105,seraphim_(korezom)
+sentouin_hakenshimasu!,3,105,"combatants_will_be_dispatched!,sentouin,_hakenshimasu!,sentouin_haken_shimasu!"
+senjou_no_valkyria_4,3,105,
+self-propelled_artillery,0,105,
+sei000,1,105,
+seffyna,4,105,
+sb_(coco1),1,105,
+sayu030b,1,105,
+saren_(real)_(princess_connect!),4,105,
+sakakura_(sariri),1,105,"sakage,sakage_souko"
+rowing,0,105,
+riyo_(aokiwazumi),1,105,
+rikui_(rella2930),1,105,akai2930
+regition,1,105,
+red_lipstick_tube,0,105,
+rbx_lamen,1,105,
+quina_quen,4,105,
+prophet_chu,1,105,
+pride_(fma),4,105,
+porkjinta,1,105,
+popola,4,105,
+polt,4,105,
+plastic_bottle,0,105,
+pixiv_fate/grand_order_contest_1,3,105,
+pish,4,105,peashy
+pink_rope,0,105,
+pikachi,1,105,
+paper_mario_64,3,105,
+ozu_kanon,4,105,
+ouroboros_(granblue_fantasy),4,105,
+oribe_shiori,4,105,
+on_plate,0,105,girl_on_a_plate
+omastar,4,105,
+okano_kei,4,105,
+ohashi_(hashidate),1,105,hashigo
+officer_caitlyn,4,105,
+nuernberg_(azur_lane),4,105,nurnberg_(azur_lane)
+ntk_(7t5),1,105,
+not_for_sale,0,105,
+nortuet,1,105,
+nona,1,105,
+noiz,1,105,
+nekomimi_kanon,1,105,
+natsuya_(natuya777),1,105,
+natsuki_mikuru,4,105,
+nasus,4,105,
+museum,0,105,
+moriyama_shijimi,1,105,chiku-wa
+morisoban,1,105,
+mori_airi,1,105,
+mono_(recall),1,105,
+monaka_(siromona),1,105,
+moa_(show_by_rock!!),4,105,
+mixing_console,0,105,
+misaka_(missa),1,105,
+mini_cooper,0,105,
+milk_(cookie),4,105,
+might_guy,4,105,maito_gai
+mia_flatpaddy,4,105,mia_(syroh)
+mg42cat-k1ng,1,105,
+maribelle_(fire_emblem),4,105,mariabel_(fire_emblem)
+mako-chan_(minami-ke),4,105,
+maggi,1,105,
+mad_max:_fury_road,3,105,
+macaronk,1,105,
+lowlight_kirilenko,1,105,
+loggy,1,105,
+litra_(ltr0312),1,105,
+lili_mdoki,1,105,
+leonardo_da_vinci_(swimsuit_ruler)_(fate),4,105,
+leilin,1,105,
+leaf_earrings,0,105,
+kyouichi,1,105,
+kusahagane,1,105,
+kurusu_tomari,4,105,
+kurahashi_riko,4,105,
+kumehara_chiyota,1,105,
+kujira_hebi,1,105,
+kriem,4,105,
+kouyama_mitsuki,4,105,
+koumo,1,105,
+kotohara_hinari,4,105,
+konpotsu,1,105,
+konohana_hikari,4,105,
+kon_futaba,4,105,
+komugi_(lee),4,105,
+koketsu_(koketsu-ya),1,105,
+kobayashi_nyoromichi,1,105,
+kitsune_udon,0,105,
+kitagou_fumika,4,105,
+kine-c,1,105,mac-kine
+kijinaka_mahiro,1,105,
+kida_yuu,1,105,kida_yu
+kiana_kaslana_(divine_prayer),4,105,
+ki_(druaga),4,105,
+kazuhiro_(tiramisu),1,105,sufingo
+kay_(utd),1,105,
+kawa_mura,1,105,
+kare_huang,1,105,tommy830219
+karasuma_chitose_(girlish_number),4,105,karasuma_chitose_(gi(a)rlish_number)
+karakuzu_red,1,105,
+kanyoko_(yuzukano_17),1,105,
+kankito,1,105,
+kamen_rider_geats_(series),3,105,
+kaiki_deishuu,4,105,
+izumo,3,105,
+isya,1,105,
+isuzu_(log_horizon),4,105,
+ishimari,1,105,stein_ball
+ishida_uryuu,4,105,
+inari_(ambercrown),1,105,
+in_sack,0,105,sackgirl
+id_:invaded,3,105,
+ichino_tomizuki,1,105,kaboplus_ko
+ichijou_(pani_poni),4,105,
+hoppe_illust,1,105,
+holding_collar,0,105,
+hishigata,1,105,
+hirofumi_(orenchi_no_maidosan),4,105,
+hinooka_shuuji,1,105,hinooka_shuji
+hima_(mizu_ni_tsuyoi),1,105,
+hatsune_negame,1,105,yuta1147
+hatsune_miku_(vocaloid3),4,105,
+hat_leaf,0,105,
+hasaha,4,105,
+hand_on_own_ankle,0,105,
+hakomaru_(pandora_box),1,105,
+h.carrrrrrot,1,105,
+gunbuster,4,105,
+grimmjow_jaegerjaquez,4,105,"grimmjow,grimmjow_jaegerjaques,grimmjow_jaggerjack,grimmjow_jeagerjaques"
+greedent,4,105,
+gomamon,4,105,
+gengoroh,1,105,
+gavel,0,105,
+gatchapowa,1,105,
+gager_(girls'_frontline),4,105,gager_(girls_frontline)
+fur-trimmed_choker,0,105,
+fukushima_masayasu,1,105,
+fujiki_maka,4,105,
+frozen_lake,0,105,
+frillish_(male),4,105,
+formula_one,3,105,
+fal_(fal-se-0),1,105,
+duck_(duck_hunt),4,105,
+drayden_(pokemon),4,105,shaga_(pokemon)
+doppel_(monster_musume),4,105,
+dm_(dai_miao),1,105,damiaoermiao
+dimension_witch_(elsword),4,105,
+devola,4,105,
+de_da_xianyu,1,105,
+darmanitan,4,105,hihidaruma
+cure_la_mer,4,105,
+crested_porcupine_(kemono_friends),4,105,
+cra,4,105,
+collaboration_request,5,105,
+chinyan,1,105,
+chest_mouth,0,105,
+cassiopeia_(league_of_legends),4,105,cassiopeia_du_couteau
+carleen_(alchemy_stars),4,105,
+caenis_(swimsuit_rider)_(first_ascension)_(fate),4,105,
+busujima_(kusahana),1,105,
+burger_hair_ornament,0,105,
+bug_bite,0,105,mosquito_bite
+bronya_zaychik_(wolf's_dawn),4,105,
+british,0,105,
+blue_rose_sword,0,105,
+blue_delmo,4,105,
+blazer_removed,0,105,
+black_bean,1,105,
+bellsaltr,1,105,
+behoimi,4,105,
+bangalore_(apex_legends),4,105,
+azmodan,1,105,
+asoka,1,105,
+asakura_kukuri,1,105,
+artoria_pendragon_(swimsuit_ruler)_(fate)_(cosplay),0,105,
+arrow_print,0,105,
+apple_ringo,1,105,
+annytf,4,105,
+ami_(orenchi_no_maidosan),4,105,
+akisoba,1,105,"akisoba_(circus),isizuaki"
+aimitsu_(ibityuttyu),1,105,ibityuttyu
+zero_two_(kirby),4,104,
+zenos_yae_galvus,4,104,
+zaku_ii_f/j,4,104,
+yuya_(pixiv37335712),1,104,
+yuna_(biya_(1024)),4,104,
+yulie_ahtreide,4,104,
+yuki_kawachi,1,104,
+yukari_(princess_connect!),4,104,ayase_yukari
+yue_(lov_n_n),1,104,"lov_n_n,yue_(pixiv2547)"
+yuasa_hiromi,4,104,
+yoshioka_saki,4,104,
+yashichii,1,104,
+wynaut,4,104,
+wk_(low-f),1,104,wakuwakusan
+waterswing,1,104,tok
+waffen-ss,0,104,waffen_ss
+volkswagen_beetle,0,104,
+verta_(verlaine),1,104,
+urita_(vivivinicol),1,104,
+uranus_symbol,0,104,uranus_sign
+unbirthing,0,104,unbirth
+umeki_otoha,4,104,
+uki_(room_405),1,104,
+ujikintoki_ginka,4,104,
+uesaka_sumire,4,104,
+udaruyo,1,104,
+twistedgrim,1,104,
+tsumi_guilty,1,104,
+tsubaki_(kunoichi_tsubaki_no_mune_no_uchi),4,104,
+toyohara_etsuko,4,104,
+toxtricity_(low_key),4,104,
+to-class_light_cruiser,4,104,
+tipo_(tipoplaza),1,104,teapo_(pixiv81696)
+tiffany_lords,4,104,
+tied_jacket,0,104,
+tentomon,4,104,
+tayako,1,104,
+tamiya_incorporated,3,104,
+tallinn_(azur_lane),4,104,
+takebi,1,104,
+takahashi_umori,1,104,
+takadoya,1,104,
+taira_no_kagekiyo_(fate),4,104,ushiwakamaru_(avenger)_(fate)
+tailtiu_(fire_emblem),4,104,tiltyu_(fire_emblem)
+tabris,4,104,
+syurimp,1,104,
+swellow,4,104,
+suzushiro_(gripen39),1,104,
+suzune_rai,1,104,
+succubus_(disgaea),4,104,
+stunfisk,4,104,
+stuffed_cow,0,104,
+steelblue_mirage,3,104,
+st+1,1,104,
+spyglass,0,104,
+sp//dr,4,104,
+sonri,1,104,
+skyrail,1,104,
+sky_striker_ace_-_raye,4,104,
+sjw_kazuya,1,104,
+shirosame,1,104,
+shiroma_(mamiko),1,104,
+shiraishi_(siraisi00),1,104,
+shinazugawa_genya,4,104,
+shin_getter-1,4,104,
+shima_(pepekekeko),4,104,
+shiina_mafuyu,4,104,
+sawashiro_miyuki,4,104,
+sasaki_ran,4,104,
+sanmoto_gorouzaemon,1,104,
+saint_seiya:_the_lost_canvas,3,104,
+saiki_kusuo,4,104,
+ryuuguu_komachi_(idolmaster),0,104,ryuuguu_komachi
+ruin_re_birth,1,104,
+rocking_horse,0,104,
+riuichi,1,104,
+ribbed_gloves,0,104,
+rff_(3_percent),1,104,
+remington_870,0,104,m870
+radar_dish,0,104,
+pronghorn_(kemono_friends),4,104,
+print_male_swimwear,0,104,
+precum_through_clothes,0,104,
+porupurucha,1,104,
+poorly_translated,5,104,bad_translation
+pon_(0737),1,104,
+polishing,0,104,
+pokka,1,104,
+plug_gag,0,104,
+pixel_heart,0,104,
+pinzu,1,104,
+petal_print,0,104,
+p2_(uxjzz),1,104,
+oyster,0,104,
+ortfine_fredericka_von_eylstadt,4,104,fine_(shuumatsu_no_izetta)
+onna_kishi_(maoyuu),4,104,female_knight
+ohara_michiru,4,104,oohara_michiru
+ogre_(granblue_fantasy),4,104,
+octotrooper,4,104,
+nyamaso,1,104,tamaso
+nuppunuppu,1,104,
+nishigaki_nana,4,104,
+ninjask,4,104,
+niko_p,1,104,
+newey,1,104,
+natsushiro,1,104,
+natsuko_(bluecandy),1,104,
+nanami_mami,4,104,
+myuto_(advent_retribution),1,104,
+mutou_hana,4,104,
+munou_na_nana,3,104,talentless_nana
+muninshiki,1,104,
+mukuroi,1,104,
+moyui_(myi_005),1,104,
+morimiya_masayuki,1,104,
+monteriakitto,1,104,monteri
+miya_(hooooo),1,104,
+missouri_(warship_girls_r),4,104,
+miso_(b7669726),1,104,
+misaki_(princess_connect!),4,104,tamaizumi_misaki
+mini_dragon,0,104,
+milk_puppy,1,104,
+mikipa,1,104,mikippa
+mikami,1,104,
+mikagami_ei,1,104,ke_tra
+miike_(992058),1,104,
+metallica_(majo_to_hyakkihei),4,104,
+meredy_(tales),4,104,
+menna_(0012),1,104,mocohi123
+me!me!me!_dance_(meme),0,104,"hip_sway_dance,zero_two_dance"
+maximilian_jenius,4,104,
+matsunaga_(haku),1,104,
+matou_sakura_(fate/extra),4,104,
+maria_(syake-uni),1,104,
+manabe_jouji,1,104,
+makihara_shiho,4,104,
+mahou_shoujo_ikusei_keikaku_limited,3,104,
+mage_(7th_dragon),4,104,
+london,0,104,
+llama,0,104,
+lightning_bolt_earrings,0,104,
+liebe,1,104,
+li_sakura,1,104,
+legskin,0,104,
+ldl,1,104,
+lace-trimmed_bow,0,104,
+komusou_(komusou1),1,104,
+kokkoro_(ceremonial)_(princess_connect!),4,104,
+ko-on_(ningen_zoo),1,104,
+kiriko_(overwatch),4,104,
+khalitzburg,1,104,
+kayune_niu,1,104,
+karaage,0,104,
+kanoe_(gallery_walhalla),1,104,
+kaguura_(kagu),1,104,
+kagari_(rewrite),4,104,
+juugoya_neko,1,104,
+july_(darker_than_black),4,104,
+jennifer_walters,4,104,
+jane_t._godfrey,4,104,
+itogari,1,104,
+irusu,1,104,
+iparupua,1,104,iparuputsua
+io_(code_vein),4,104,
+internet,0,104,
+infraton,1,104,
+i_want_you,3,104,
+honda_futayo,4,104,
+hirasawa_minami,1,104,
+hinomori_shizuku,4,104,
+hanpen,1,104,
+hajime_no_ippo,3,104,
+gouda_toshirou,4,104,gohda_toshiro
+goddess_of_victory:_nikke,3,104,
+glados,4,104,
+gaia_memory,0,104,
+gaelio_bauduin,4,104,
+fule,1,104,
+food_on_hair,0,104,
+flarefox,1,104,
+fishing_lure,0,104,
+filia_ul_copt,4,104,
+fennel_(pokemon),4,104,makomo_(pokemon)
+fallopian_tubes,0,104,fallopian_tube
+explosion_gag,0,104,
+excadrill,4,104,
+eo_masaka,1,104,
+enomoto_hidehira,1,104,
+echoes_(stand),4,104,
+ear_sex,0,104,ear_fuck
+dubwool,4,104,
+doorbell,0,104,
+donnpati,1,104,
+dirty_deeds_done_dirt_cheap,4,104,
+deathlock-san,4,104,
+dawn_(palentine's_2021)_(pokemon),4,104,
+dabuki,1,104,
+d.o.c._health_drone,4,104,
+curry_gohan,1,104,
+coupe50,1,104,
+color-coded,0,104,
+codename:_kids_next_door,3,104,
+clair_lasbard,4,104,
+chunrijun_(springer),1,104,
+chijo,0,104,
+cheek-to-breast,0,104,
+charlotte_izoard,4,104,
+chamu_(chammkue),1,104,
+chachie,1,104,
+bullet_necklace,0,104,
+brush_(medium),0,104,
+blooper_(mario),4,104,
+blitzle,4,104,shimama
+black_shawl,0,104,
+black_lilith_(last_origin),4,104,black_lilith
+black_battler,4,104,
+black-headed_ibis_(kemono_friends),4,104,
+bianca_(pokemon_heroes),4,104,"bianca_(pokemon_m05),kanon_(pokemon)"
+berg-yb,1,104,
+banba_mahiru,4,104,
+bakuhatsu_bros.,1,104,
+azura_cecillia,4,104,
+auui,1,104,
+atom_(tetsuwan_atom),4,104,astro_(astro_boy)
+atelier_shallie,3,104,
+astrologian_(final_fantasy),4,104,
+asmodeus_(shinrabanshou),4,104,asmodeus_(shinrabansho)
+asle,1,104,
+asakura_you,4,104,asakura_yoh
+asai_miki,4,104,
+arts_shirt,0,104,
+artoria_pendragon_(alter_swimsuit_rider)_(fate)_(cosplay),0,104,
+arlonn,1,104,
+argyle_sweater_vest,0,104,
+aosora_neko,1,104,
+aoki_shin,1,104,
+ao_iro,1,104,
+anal_ball_wear,0,104,
+ame_(amechan17391739),1,104,
+amano_megumi_wa_suki_darake!,3,104,
+amano_megumi,4,104,
+albert_wesker,4,104,
+akitsuchi_shien,1,104,
+aimaina,4,104,
+aikawa_arisa,1,104,
+adjusting_collar,0,104,
+action_taimanin,3,104,
+ac130,1,104,
+abenobashi_mahou_shoutengai,3,104,abenobashi
+abaraya,1,104,
+774_inc.,3,104,
+74_(teduka),1,104,
+zz_gundam,4,103,
+zeniyan,1,103,
+zarutsu,1,103,
+yurin_leciel,4,103,
+yoshida_ayumi,4,103,
+yasaikakiage,1,103,
+yang_wen-li,4,103,
+yamato_tachibana,1,103,
+xiang_yu_(fate),4,103,xiang_yu_(fate/grand_order)
+wiz_anniversary,3,103,
+wishiwashi_(school),4,103,
+wing_gundam_zero_custom,4,103,
+wilma_bishop,4,103,
+wataichi_meko,1,103,
+wasabi_(wasalongt),1,103,wasabi_(nmrw4477)
+warwick,4,103,
+urban_legend,0,103,
+uran_(uran-factory),1,103,
+unabara_mitsuki,4,103,
+umbrella_stand,0,103,
+tsukigami_chronica,1,103,
+toxel,4,103,
+touki_matsuri,1,103,
+torracat,4,103,
+tooku_nomura_(artist),1,103,
+tomono_rui,1,103,
+tomas_(kaosu22),1,103,
+tia_(cocorosso),1,103,
+three_monkeys,0,103,"see_no_evil,three_wise_monkeys"
+the_last_of_us,3,103,
+tapris_chisaki_sugarbell,4,103,chisaki_tapris_sugarbell
+takuyarawr,1,103,
+takashima,1,103,
+takamachi_nanoha_(cosplay),0,103,
+takagi_hideaki,1,103,
+taiyaki_(astre),1,103,
+tabby_cat,0,103,
+syokuuuuuuuuumura,1,103,
+suzuka_hime,4,103,
+super_mecha_champions,3,103,
+sunimu,1,103,sharkbro
+sumisumii,1,103,
+strawberry_bra,0,103,
+sonia_(p&d),4,103,
+slayers_try,3,103,
+slayer_of_demons,4,103,
+slavya-chan,4,103,
+shirow_(mha03133),1,103,
+shiroobi_(whitebeltmaster),1,103,
+shirazumi_lio,4,103,
+shinko_windy_(umamusume),4,103,
+shimura_tae,4,103,
+shaga_ayame,4,103,
+setsuko_ohara,4,103,
+senzoc,1,103,
+sendou_yukari,4,103,sendo_yukari
+sekka_(kageshio),4,103,
+sakurano_kurimu,4,103,
+sakura_sakura,3,103,sakura_sakura_(game)
+sakuma_tsukasa,1,103,
+saix,4,103,
+saibai_shounen,3,103,mandrake_boys
+s&w_m&p,0,103,
+risshu,1,103,
+renown_(warship_girls_r),4,103,
+rend,1,103,
+rayno,1,103,
+rabirin_(precure),4,103,
+quasimodox,1,103,
+ponpon_(ponpon62126),1,103,
+pokan_(xz1128),1,103,
+pohwaran,4,103,
+pikomint,1,103,masushita_ito
+pig_(kemono_friends),4,103,
+penis_and_testicles_touching,0,103,testicles_and_penis_touching
+pegasus_seiya,4,103,
+peeing_in_cup,0,103,
+paintedmike,1,103,
+otoo_(izanagi),1,103,
+omnitrix,0,103,
+oinari_(tensaizoku),1,103,
+nose_pads,0,103,
+nomayo,1,103,
+noeejang,1,103,
+no_image,0,103,
+niwakaame_(amayadori),1,103,
+nitaka_(fujikichi),1,103,
+ningyo_hime_(sinoalice),4,103,little_mermaid_(sinoalice)
+nicporim,1,103,
+nga_(ray_ray),1,103,nga_(artist)
+nekou_izuru,1,103,
+nanto_yaya,4,103,
+nanami_(suikoden),4,103,
+nana_(kemono_friends),4,103,
+nabenko,1,103,
+n9+,1,103,
+musashiya_chougenbou,1,103,
+murata_himeko_(battle_storm),4,103,
+muranisaki,1,103,
+muramura_hito,1,103,
+mumu,1,103,
+moruta_(sunu-pio),1,103,
+monster_hunter_mezeporta_kaitaku-ki,3,103,
+momo_(gundam_build_divers),4,103,
+mizuki_maya,1,103,
+miso_panda,1,103,
+mironomeo,1,103,
+minuspal,1,103,"chtkghk,minus8"
+minowa_sukyaru,1,103,
+minato_aya,4,103,
+mila_(doa),4,103,
+mighty_yukiko,4,103,
+mifune_ryuuko,4,103,
+microspace,1,103,
+metal_baseball_bat,0,103,
+melleau,4,103,
+marluxia,4,103,
+marie_antoinette_(alter)_(fate),4,103,marie_antoinette_(alter)_(fate/grand_order)
+manticore_(monster_girl_encyclopedia),4,103,
+lunch_boxer,1,103,
+luna_(sailor_moon)_(human),4,103,
+luna_(mi-chanman),1,103,
+lorem_(mazohaha),4,103,
+lodbyy,1,103,
+lloyd_bannings,4,103,
+liang_cun_rakuna,1,103,
+lee_ji-eun,4,103,
+lavi,4,103,
+larten_crepsley,4,103,
+kuroneko_douji,1,103,
+kuramochi_kyouryuu,1,103,
+kunugi_miyaco,1,103,sikutogurei_(kunugi_miyaco)
+krabby_(artist),1,103,cleber_monteiro_da_silva
+koujiro_frau,4,103,
+kotetsu_isane,4,103,
+komi_(komiking),1,103,loading_(vkjim0610)
+kiyose_akame,1,103,akame_(eckesachs)
+kishibe_(chainsaw_man),4,103,
+kirisame_ga_furu_mori,3,103,
+kimuwaipu,1,103,
+kimura_ryu,4,103,kimura_ryuu
+kimura_neito,1,103,
+kawakami_tomoko,4,103,
+katou_itsuwa,1,103,itsuwa_(lethal-kemomimi)
+katanakko_daisuki,1,103,
+kaoru_(alicemakoto),1,103,
+juke,1,103,
+iwahana,1,103,
+irodori_(irotoridori),1,103,irotoridori
+ireading,1,103,kingtime
+invisible_wall,0,103,
+inhabituels,3,103,
+hyuuga_(aoki_hagane_no_arpeggio),4,103,hyuga_(aoki_hagane_no_arpeggio)
+hosoo,1,103,
+homura_hinase,1,103,
+holding_orb,0,103,
+hiyopuko,1,103,
+hitchhiking,0,103,
+hijiri_myouren,4,103,
+hiichisato,1,103,
+highleg_shorts,0,103,
+head_arms,0,103,
+hayashi_sakura,1,103,
+hato_kenjirou,4,103,
+haruka_shiya,1,103,ura-ch@os
+hanabi_(ocha),1,103,hanabi_(osawa0718)
+hairclip_removed,0,103,
+ha_ze,1,103,
+guttia,1,103,
+gundam_seed_astray,3,103,
+gulim,1,103,
+gorebyss,4,103,
+g28_(girls'_frontline),4,103,g28_(girls_frontline)
+fumika,4,103,
+fumi11gou,1,103,
+fukurahagi_uomaru,1,103,kasuura_(cacula)
+frillish_(female),4,103,
+female_titan,4,103,
+fallout_new_vegas,3,103,
+f91_gundam,4,103,
+evulchibi,1,103,
+ernesto_de_la_cruz,4,103,
+erina_(rabi-ribi),4,103,
+enemy_vessel_(warship_girls_r),4,103,
+emma_sheen,4,103,
+elena_trafalgar,4,103,
+elbow_on_table,0,103,
+eijsvl,1,103,
+eevee_tail,0,103,
+ear_focus,0,103,"ear,ears_focus"
+duosion,4,103,
+drill_ponytail,0,103,
+ditienan_ddn,1,103,jitetsu_otoko_ddn
+deutschland_(service_time?!)_(azur_lane),4,103,
+denpa_(denpae29),1,103,
+decadence_(anime),3,103,
+dartrix,4,103,
+dark_matter,4,103,
+dark_magician_girl_(cosplay),0,103,
+damenaito,1,103,
+dakunesu,1,103,
+contact_lens,0,103,
+closed_labcoat,0,103,
+cliffjumper,4,103,
+ckst,1,103,
+chiyoko_(tykchiyo),1,103,cho628
+chipmunk_girl,0,103,
+chinese_armor,0,103,
+chin,0,103,
+chikuma_(azur_lane),4,103,
+chie_(ishikei),4,103,
+chen_hai_(vestibule_of_wonders)_(azur_lane),4,103,zhenhai_(vestibule_of_wonders)_(azur_lane)
+cencoroll,3,103,
+c2_kikan,3,103,
+build_driver,0,103,
+breast_slap,0,103,
+boken_fantasy,1,103,
+boiling,0,103,
+bnc_(bunshi),1,103,
+blue_cat_(precure),4,103,
+bladder,0,103,
+behelit,0,103,
+bedroll,0,103,
+ballet_boots,0,103,
+bagelbomb,1,103,
+asuka_hina,4,103,
+asterisk_(asterism),1,103,asterisk_(artist)
+asou_misaki,4,103,aso_misaki
+asanaka_yomogi,4,103,
+aritsuno,1,103,
+aqua_gemstone,0,103,
+apple_core,0,103,
+aozoraichi,1,103,
+aouma,1,103,
+aoi_(princess_connect!),4,103,
+aoguu,1,103,ahou_miya
+anpanman_(character),4,103,
+andrew_(duel_angel),1,103,duel_angel
+ameya_nihachi,1,103,
+ame_(ame025),1,103,
+alice_(queen's_gate),4,103,
+akari_(raigou),4,103,
+akaashi_keiji,4,103,
+admiral_arisugawa,4,103,
+1996,0,103,
+1-up_mushroom,0,103,
+.hack//link,3,103,
+zinbei,1,102,
+zenonzard,3,102,
+zefa_(neoaltemice),1,102,sefa
+yuma_(coffee-milk-moumou),4,102,
+youtube_creator_award,0,102,play_button_(object)
+yotsubato!_pose,0,102,
+yonebayashi_saiko,4,102,
+yomotsuki_road,1,102,stormsoul-kinkijakuyaku
+yamaiwa_shuuhai,1,102,
+writing_on_wall,0,102,
+winged_kuriboh,4,102,
+wikipedia,3,102,
+wheel_o_feet,0,102,
+weshika,1,102,
+wave_(world_wide_wave),1,102,
+vivi_(ac8231),4,102,
+vanquished_queens,3,102,
+v_(devil_may_cry),4,102,
+umino_iruka,4,102,
+uesugi_kenshin_(rance),4,102,uesugi_kenshin_(sengoku_rance)
+u-81_(azur_lane),4,102,
+turiganesou800,1,102,
+trojan_green_asteroid,3,102,
+train_(clothing),0,102,
+toyoi_yuuta,1,102,
+touken_ranbu:_hanamaru,3,102,
+tomoe_marguerite,4,102,
+tomoe_gozen_(traveling_outfit)_(fate),4,102,
+toichi_(ik07),1,102,
+time_mage,4,102,
+tiko_(trouble_spirit),4,102,
+terazaki_kaoru,4,102,
+tatsuki_(irodori)_(style),0,102,
+takenaka_hanbee_(oda_nobuna_no_yabou),4,102,takenaka_hanbei_(oda_nobuna_no_yabou)
+taion_(xenoblade),4,102,
+suiten_nikkou_amaterasu_yanoshisu_ishi,0,102,
+subarashiki_hibi,3,102,
+storm_attacker,0,102,
+staple,0,102,
+sovetskaya_rossiya_(the_lackadaisical_lookout)_(azur_lane),4,102,
+slavic_clothes,0,102,slavic_clothing
+skull_tattoo,0,102,
+sindri,1,102,
+sigilyph,4,102,
+shuragyoku_mami,1,102,
+shokkin,1,102,
+shishanmo,1,102,
+shirow_(crazy),1,102,
+shira_yu_ki,1,102,
+shiomi_(lowrise),1,102,
+shino_sto,1,102,
+shindou_sugata,4,102,
+setta_shu,1,102,
+sellel,1,102,
+seiren,3,102,
+segawa_izumi,4,102,
+scarle_yonaguni,4,102,
+savanna_striped_giant_slug_(kemono_friends),4,102,
+satou_hina_(kamisama_ni_natta_hi),4,102,
+sasaki_raito,4,102,
+sari,0,102,
+sarah_bryant,4,102,
+saku_(saku1151),1,102,
+ronopu,1,102,
+ritao_kamo,1,102,
+ricocheting,0,102,
+rheez,1,102,
+reindeer_(kemono_friends),4,102,
+razy_(skuroko),1,102,
+racing_miku_(2014),4,102,
+pvc_parfait,1,102,
+politics,0,102,
+photocopier,0,102,"copier,copy_machine"
+phantom_of_inferno,3,102,
+peter_pan_collar,0,102,
+peragura,1,102,
+paracelsus,4,102,
+oyabun_(higashi),1,102,
+otsumami_(otsu-mugi),1,102,
+otono_fei,1,102,
+otaku_ni_koi_wa_muzukashii,3,102,wotakoi
+oswald_(odin_sphere),4,102,
+omuraisu_echizen,1,102,
+omega_alpha,4,102,
+okitafuji,1,102,
+okakasushi,1,102,
+oisin,1,102,
+nyxerebos,1,102,
+nyoriko,1,102,
+nuka_(nukamochi),1,102,
+nosa_kouko,4,102,
+noa_(granblue_fantasy),4,102,
+nito_(siccarol),1,102,
+nishihara_yasoko,4,102,nishihara_(girls_und_panzer)
+ninnzinn,1,102,
+ng_knight_lamune_&_40,3,102,
+namori_(style),0,102,
+nakano_(2_mannaka),1,102,nakano_(mitinni_tk)
+nagata_nagato,1,102,
+nagashii_kouhei,1,102,"ishigana,ishigana_(3104benzie)"
+muromi-san,4,102,
+mukuba,1,102,
+mountain_dew,0,102,
+mother_1,3,102,"earthbound_beginnings,earthbound_zero"
+moon_rabbit_extra_(touhou),4,102,moon_rabbit_(touhou)
+moo_yoshio,1,102,
+mogeko_(okegom),1,102,
+mog,4,102,
+moero!_justice_gakuen,3,102,moero_justice_gakuen
+miyama-san,1,102,yakiniku_oc
+mitsugi,1,102,
+mitsu_(tendou_itsuki),1,102,tendou_itsuki
+missarilicious,1,102,
+mikeneko_(utaite),4,102,
+midorima_shintarou,4,102,
+menstrual_pad,0,102,
+mellozzo,1,102,
+megami_paradise,3,102,megami_tengoku
+medium_tank,0,102,
+medb_(swimsuit_saber)_(second_ascension)_(fate),4,102,
+mechanical_tentacles,0,102,
+maximal,0,102,
+masaki_nanaya,1,102,
+marnie_(summer_2021)_(pokemon),4,102,
+marnie_(omoide_no_marnie),4,102,
+marco_bodt,4,102,
+marching,0,102,
+makoto_(genshin_impact),4,102,
+m_mance,1,102,
+luna_(konosuba),4,102,
+love_guitar_rod,0,102,
+lord's_blade_ciaran,4,102,
+lix,1,102,
+liquid_snake,4,102,
+li_(rob_ishi),4,102,
+li'l_judd_(splatoon),4,102,kojajji-kun_(splatoon)
+legends_of_runeterra,3,102,
+laurels,0,102,
+laura_s._arseid,4,102,
+lan_hikari_(mega_man),4,102,hikari_netto
+kurosawa_tetsu,1,102,
+kurimochi_chizuru,1,102,
+kuchisake-onna,4,102,
+kshatriya,4,102,
+kouka_(mrakano5456),1,102,
+kotowari_(newtype_kenkyuujo),1,102,
+kiri_(sub-res),4,102,
+kilva_lollop,1,102,
+kill_bill,3,102,
+kemo_chiharu,1,102,
+kemigawa_mondo,1,102,
+keito_(keito-ya),1,102,
+katsu_(katsupainter),1,102,
+karibuchi_takami,4,102,
+karadborg,1,102,
+kanpyou_(hghgkenfany),1,102,
+kamori_sayaka,4,102,kamori_seika
+kamo_ashi,1,102,ichi_yoshida
+kamo_(gafas),1,102,
+kamisama_dolls,3,102,
+kaho_(sister_princess),4,102,
+k_(sktchblg),1,102,
+jupiter_(idolmaster),0,102,
+jpc,1,102,
+janine_(pokemon),4,102,anzu_(pokemon)
+jacket_grab,0,102,
+ivy_(sparrowl),4,102,
+inhabituels_estudios,1,102,"inha_estudios,inhaestudios"
+iku2727,1,102,
+igarashi_youhei,1,102,
+ichinose_kaede,4,102,
+hullabaloo,1,102,
+hover_board,0,102,
+hosomitimiti,1,102,
+hoshiibara_mato,1,102,
+holding_lamp,0,102,
+hizashi_no_naka_no_real,3,102,
+hisuian_decidueye,4,102,
+hex_grid,0,102,
+hero_shot_(splatoon),0,102,
+hero_(dq1),4,102,
+heles_(summer)_(granblue_fantasy),4,102,
+hanyae,1,102,
+hanetsuka,1,102,
+handle,0,102,
+hanamuke,1,102,
+gunnjou_yosio,1,102,
+grizz,1,102,
+grandmother_and_grandson,0,102,
+gold_teeth,0,102,
+gobou_1000,1,102,
+glalie,4,102,
+girls'_frontline_commander_(xiujia_yihuizi),4,102,girls_frontline_commander_(xiujia_yihuizi)
+gibraltar_(apex_legends),4,102,
+gau_(n00_shi),1,102,
+garun_wattanawessako,1,102,
+furby,4,102,
+front_braid,0,102,
+freddy_fazbear,4,102,
+fairy_knight_lancelot_(first_ascension)_(fate),4,102,
+eufoniuz,1,102,
+erospanda,1,102,
+erezu,1,102,
+elizabeth_bathory_(brave)_(fate)_(cosplay),0,102,
+doruji,4,102,
+doro_(sabarudoro),1,102,
+dirge_of_cerberus_final_fantasy_vii,3,102,"dirge_of_cerberus,final_fantasy_vii_dirge_of_cerberus"
+dildo_reveal,0,102,
+diagonal-striped_skirt,0,102,
+desco_(disgaea),4,102,
+demon_costume,0,102,
+decoy00xx,1,102,
+dead_spike,4,102,
+dark_illuminate_(idolmaster),0,102,dark_illuminate
+danshaku,1,102,
+dani-ikapi,1,102,
+dai-erie,1,102,
+cyllene_(pokemon),4,102,shimaboshi_(pokemon)
+cosplay_pikachu,4,102,
+cosmic_bear,1,102,k3_(toobad)
+clothes_on_bed,0,102,
+cia_(hyrule_warriors),4,102,cia_(zelda_musou)
+choco_chip_(ekitai_idou),1,102,ekitaiidou
+chis_(js60216),1,102,
+chao_(sonic),4,102,
+chan1moon,1,102,
+cat_ornament,0,102,
+cang_se_ye_hua,1,102,
+camerupt,4,102,
+cabba,4,102,
+byu_(orihazuma),1,102,
+bronzong,4,102,
+bodyguard,0,102,
+blackberry_(fruit),0,102,
+black_star,4,102,
+black_pasties,0,102,
+bismarck_(beacon_of_the_iron_blood)_(azur_lane),4,102,bismarck_(beacon_of_the_ironblood)_(azur_lane)
+bikini_over_clothes,0,102,
+berry's,3,102,
+beats_by_dr._dre,0,102,
+beach_house,0,102,
+bartholomew_roberts_(fate),4,102,bartholomew_roberts_(fate/grand_order)
+barred_window,0,102,
+balnom,1,102,
+ayame_iro_(toumei_dolce),1,102,meimei_color
+au_(d_elite),1,102,
+ashraely,1,102,
+ashita_no_kimi_to_au_tame_ni,3,102,till_i_reach_your_tomorrow
+ash_ketchum_(cosplay),0,102,
+asahi_(zabaniyan),1,102,zabaniyan
+arato_hisako,4,102,
+arai_sumiko,1,102,agu_knzm
+aoinu_(aoinu_99),1,102,aoinu_(kkcz5823)
+aohada_bocchi,3,102,
+angelia_(girls'_frontline),4,102,angelia_(girls_frontline)
+amira_(shingeki_no_bahamut),4,102,
+akaneyu_akiiro,1,102,
+aioi_u,1,102,
+aihara_nana,4,102,
+after_cunnilingus,0,102,
+yuudachi_(shogun_of_snowballs)_(azur_lane),4,101,
+yuli_(yulipo),1,101,
+yukizumi_remon,1,101,
+yukina_(yu_yu_hakusho),4,101,
+yue_teitoku,1,101,d11
+yin_midnight,1,101,
+yandere-chan_(ramchi),4,101,
+yami_bakura,4,101,
+yamaguchi_tamon,4,101,
+yada_(xxxadaman),1,101,
+yabu_q,1,101,
+xlnosearch_(xlxiaoluodiaofa),1,101,
+xiao_qiang_(overseas),1,101,
+white_rope,0,101,
+vibrator_on_penis,0,101,
+vent_(object),0,101,
+vectorek,1,101,
+ursula_(takunomi),4,101,
+unused_character,4,101,botsu_kyara
+unown_a,4,101,
+universe,0,101,
+ump9_(shiba_investigator)_(girls'_frontline),4,101,
+type_97_(peony)_(girls'_frontline),4,101,
+turretless_tank,0,101,
+tsugutoku,1,101,nacht_umi
+tr-6,1,101,
+toy_story,3,101,
+tosh_(imonade_ryouchou),1,101,
+torso_(hjk098),1,101,torso_(pixiv)
+the_lion_king,3,101,
+the_elder_scrolls_iv:_oblivion,3,101,oblivion
+teruchan,1,101,
+taro-k,1,101,
+tapu_koko,4,101,
+tanjiu,1,101,
+taketatsu_ayana,4,101,
+takanashi_sora,4,101,
+sword_between_breasts,0,101,
+suyohara,1,101,suyobara
+sugisaki_miku,4,101,
+sugawara_koushi,4,101,
+strike_gundam,4,101,
+sprite_art,0,101,
+spring2013,1,101,
+speedl00ver,1,101,
+space_ishtar_(first_ascension)_(fate),4,101,
+soyoking,1,101,
+sotto,1,101,
+sitting_on_branch,0,101,
+sirius_(azur_lane)_(cosplay),0,101,
+sin_(kami148),1,101,
+siera_(sieracitrus),1,101,
+shumai_(sm318),1,101,sm318
+shometsu-kei_no_teruru,1,101,
+shiromako,1,101,
+shione_(niliu_chahui),4,101,
+shinovi,1,101,
+shindou_hikaru,4,101,
+shimon_(31426784),1,101,
+shiba_yuusuke,1,101,
+shaving_cream,0,101,
+seiten_ragnarok,3,101,
+saya_(scabbard),0,101,
+sasaki_(glass1138),1,101,
+sanninme_no_haru,1,101,
+sandbox,0,101,
+sakura_taisen_ii,3,101,
+sage_(valorant),4,101,
+safutsuguon,1,101,
+ryuuji_teitoku,1,101,pimemomo
+roulette_animation,5,101,
+ronisuke,1,101,
+rirene_rn,1,101,
+ripe-tan,4,101,
+riela_marcellis,4,101,riela_marceris
+resident_evil_1,3,101,biohazard_1
+reinhardtzar,4,101,
+rebar,0,101,
+rearing,0,101,
+raw_meat,0,101,
+ramina_(baallore),4,101,
+rakujin,1,101,
+radio_tower,0,101,
+putting_on_legwear,0,101,
+punto,1,101,
+puniru_wa_kawaii_slime,3,101,
+priscilla_(fire_emblem),4,101,
+princess_laura,4,101,
+portuguese_commentary,5,101,
+plastic_wrap,0,101,
+pink_clouds,0,101,pink_cloud
+pilot_(titanfall_2),4,101,
+pig_nose,0,101,
+pharos,4,101,
+pharamacom,1,101,
+paryi_project,3,101,
+pantograph,0,101,
+panipo,1,101,
+ooyama_imo,1,101,daiyamaimo
+ojiri_shin'ya,1,101,
+ohisashiburi_(style),0,101,
+observer_alpha_(azur_lane),4,101,
+o-ring_thigh_strap,0,101,
+nori_chazuke,1,101,nori_55512
+nogiguchi_kohiro,1,101,mokomokokedama
+nippori_honsha,1,101,
+new_super_marisa_land,3,101,
+natto_soup,1,101,
+nantaimori,0,101,serving_food_on_male
+nanna_(fire_emblem),4,101,
+namuna_(7th_dragon),4,101,
+nagai_gojitsudan_no_nechronica,3,101,
+nabe_puyo,1,101,nabe_saori
+morumoru_x,1,101,"uyuyu_(uyu),uyuyu_uyu,yuki_kamakura"
+morelull,4,101,
+momihige,1,101,mo3hig3
+ml,1,101,
+mizushima_oonari,1,101,
+misaki_shiki,4,101,
+minawa,1,101,
+minatoasu,1,101,
+minamoto_no_raikou_(swimsuit_lancer)_(third_ascension)_(fate),4,101,
+massan,1,101,
+maru_takeo,1,101,sanaemaru
+marina_(blue_archive),4,101,
+manji_taba,1,101,
+mahou_shoujo_kazumi_magica,3,101,"kazumi_magica,puella_magi_kazumi_magica"
+madara_hio,1,101,
+macchiato_(jae-min_cho),1,101,
+lyrical_lyric,3,101,
+lubrication,0,101,
+lq_saku,1,101,
+lord_of_vermilion_iii,3,101,
+leonhardt_(arknights),4,101,
+leo_kliesen,4,101,eleonore_kliesen
+legomaru,1,101,
+kushidama_minaka,1,101,kasahiyo
+kotsu,1,101,
+kotone_a,1,101,
+kokkoro_(new_year)_(princess_connect!),4,101,
+kj_(k777),1,101,kj_(artist)
+kimidori_(ico),4,101,
+kh_(kh_1128),1,101,
+kemoyuri,1,101,
+keijo!!!!!!!!,3,101,keijo
+kayu,1,101,
+katou_yuuki,1,101,
+karpin,1,101,
+kani_nyan,1,101,
+kamisa,1,101,
+kakuzu_(naruto),4,101,
+kagano_ai,4,101,
+kaga_sumire,4,101,
+juu_(juuzi),1,101,
+junekun,1,101,
+jinno_hikari,4,101,
+jinbei_(clothes),0,101,
+jean_roque_lartigue,4,101,jean_coq_de_raltigue
+javelin_(beach_picnic!)_(azur_lane),4,101,
+james_sunderland,4,101,sunderland_james
+izure_(pixiv16392012),1,101,
+ivan_wang,1,101,
+itou_tatsuya,1,101,fleda
+isonade_orca,4,101,
+ishihara_saika,1,101,
+is-2,0,101,
+iris_amicitia,4,101,
+inumi,4,101,
+initial,0,101,
+ininiro_shimuro,1,101,
+imi_tavor_tar-21,0,101,tar-21
+illustrious_(muse)_(azur_lane),4,101,
+igor_(persona),4,101,
+ichino,1,101,
+houshou_marine_(cosplay),0,101,
+hishi_akebono_(umamusume),4,101,
+hirano_masanori,1,101,heiya_masanori
+hibikino_high_school_uniform,0,101,
+herunia_kokuoji,1,101,
+hero_(dq7),4,101,
+henry_(fire_emblem),4,101,
+harumi_shinju,4,101,
+harapeko,1,101,
+hands_on_own_neck,0,101,
+hand_milking,0,101,
+hagiko,1,101,
+hachachi,1,101,
+gyouza_teishoku,1,101,
+gunparade_march,3,101,
+gundam_age-1,4,101,
+guild_girl_(goblin_slayer!),4,101,
+greece_(hetalia),4,101,
+gominami,1,101,
+godwkgodwk,1,101,
+gin_(tttetu123),1,101,
+gihuta_hiroshi,1,101,
+gift_between_breasts,0,101,
+gaiking,3,101,
+furutani_kaede,4,101,
+funii,1,101,
+fukuro_ooji,1,101,
+fujimaru_ritsuka_(female)_(decisive_battle_chaldea_uniform),4,101,
+fortress,0,101,
+ford,0,101,
+etou_misaki_(idolmaster),4,101,
+enajii,1,101,
+elf_all-stars_datsuijan_2,3,101,
+el_joey,1,101,
+eiscue_(ice),4,101,
+eguegu,1,101,
+edogawakid,1,101,
+ebi_tendon,1,101,
+e_(you33ou),1,101,you33ou
+dudley,4,101,
+drawn_tail,0,101,
+double_arm_hug,0,101,
+donkey_girl,0,101,
+devil_mercy,4,101,
+demon_(monster_girl_encyclopedia),4,101,
+dano,1,101,
+daewoo_k2,0,101,
+d.va_(overwatch)_(cosplay),0,101,
+cubchoo,4,101,
+crossed_out,0,101,
+cowengium,1,101,
+cioccolatodorima,1,101,"cioccolato-kun,rosel-d"
+charles_zi_britannia,4,101,"charles_di_britannia,emperor_of_britannia"
+chain_blades,0,101,
+chabi_(amedama),1,101,
+ccccc_(jpn_m0),1,101,
+camilla_(spring)_(fire_emblem),4,101,
+caffeccino,1,101,
+buying_condoms,0,101,
+buta_tsuzumi,1,101,
+bubble_head_nurse,4,101,
+brushing_another's_teeth,0,101,
+book_of_the_azure_sky,4,101,
+bluekalmia,1,101,
+blinkblink_art,1,101,
+bikkusama,1,101,
+bell_tower,0,101,
+bat_earrings,0,101,
+basilisk_(manga),3,101,
+baseball_stadium,0,101,
+bang_dacy,1,101,
+ball_bra,0,101,
+balance_(superdust),1,101,
+bakugan,3,101,
+babydoll_t-shirt,0,101,
+awei_(aweirua),1,101,"aweirua,corrugatedrush"
+asukagawa_chise,4,101,
+arapi,1,101,
+animal_ears_(norankkori),1,101,
+anima_(togashi),1,101,
+amemura_ramuda,4,101,
+amayadori-tei,1,101,
+amano_yo-ki,1,101,amano_yoki
+amagai_yukino,1,101,amami_yukino
+alkaid_(.hack//),4,101,yowkow_(.hack//)
+aka_kitsune,1,101,
+ajimita,1,101,
+aikawa_(dorohedoro),4,101,
+aer7o,1,101,
+;/,0,101,
+ze_(wzfnn001),1,100,
+yuuhi_(cookie),4,100,
+yui_7,1,100,
+ym_(distance819),1,100,
+yasuno_(airy_light),1,100,soujun7023
+yashiro_nene,4,100,
+yama_tatsuo,1,100,mashou_boy
+yadokari_(migihashi),1,100,and_dokari
+xo_(xo17800108),1,100,
+wet_floor,0,100,
+watari1118,1,100,
+w55674570w,1,100,
+vasavi_shakti_(fate),0,100,vasavi_shakti
+v_ap_art,3,100,
+urabe_michiru,1,100,
+united_states_marine_corps,0,100,
+trieste_(azur_lane),4,100,
+toweringman,1,100,
+tovio_rogers,1,100,
+touyama_sabu,1,100,
+toriburi,1,100,
+tony_man+,1,100,tony_man
+tom_q_(tomtoq),1,100,
+the_cold,1,100,
+team_fortress_(series),3,100,
+tall_grass,0,100,
+takitsume_shino,1,100,
+tadd_(tatd),1,100,
+tachikawa_ayaka,4,100,
+t-800,4,100,
+superbusty,1,100,
+sunagakure_symbol,0,100,
+sumeragi_hakua,4,100,
+sukone_tei,4,100,
+sukima_(crie),1,100,
+suigetsu_(watermoon-910),1,100,
+strappado,0,100,
+step_arts,1,100,
+spirit_(super_smash_bros.),0,100,
+soul_link,3,100,
+sora_(no_game_no_life),4,100,
+sonny_brisko,4,100,
+somray,1,100,
+smelling_armpit,0,100,
+shise_(agepan),1,100,
+shiroie_mika,1,100,
+shiroi_hakuto,1,100,
+shining_needle_castle,0,100,
+shiki_(samurai_spirits),4,100,
+shihira_tatsuya,1,100,
+sewer,0,100,
+sekka_yufu,4,100,
+sejuani,4,100,
+scarlet_witch,4,100,
+satsuyo,1,100,
+sasoura,1,100,
+sansan_(dongfangzhong111),1,100,dongfangzhong111
+sanemichi_hajime,1,100,ryuuseiken_hogan
+sakuraba_neku,4,100,
+sakihata_rimi,4,100,
+sagara_riri,1,100,sagaraise
+rorschach,4,100,
+ronpaxronpa,1,100,
+romancing_saga_minstrel_song,3,100,
+rir-chan,4,100,
+ringouulu,1,100,
+reaper_(tera_online),4,100,
+rakko_(makarakko),1,100,
+production_note,0,100,
+prince_of_wales_(warship_girls_r),4,100,
+plus9,1,100,
+plaid_swimsuit,0,100,
+pantsu_majirou,1,100,
+pantsu-ripper,1,100,
+pak_ce,1,100,
+pai-chan_(nao),4,100,
+otomachi_una_(talkex),4,100,
+open_poke_ball,0,100,
+onizuka_takuto,1,100,
+omega_symbol,0,100,
+ohhhhhhtsu,1,100,
+oba-min,1,100,
+nursery_rhyme,3,100,
+numpopo,1,100,
+npcpepper,1,100,
+north_carolina_(the_heart's_desire)_(azur_lane),4,100,
+nontao,1,100,
+nijiko_(c2cs4q),1,100,
+netural,1,100,
+netherlands_(hetalia),4,100,
+necktie_on_head,0,100,
+nayuta69,1,100,
+natsuzuka-san_no_himitsu,3,100,
+nasipasuta,1,100,nashipasuta
+nakuta,1,100,
+najar,1,100,
+naba_chizuru,4,100,
+muzzuleflash,1,100,
+muteki_soda,1,100,
+multicolored_scrunchie,0,100,
+mouse_costume,0,100,
+mosuke,1,100,
+moriki_takeshi,1,100,
+mon-musu_quest:_paradox,3,100,
+mokottsu,1,100,
+moja_(gibson),1,100,
+mofumofu_(lorelei),1,100,
+mk48_(girls'_frontline),4,100,mk48_(girls_frontline)
+mizutama,1,100,
+miyata_gakuman,1,100,
+miyanokouji_mizuho,4,100,
+miura_rinaldi,4,100,
+miteiru_(shirakami_fubuki),4,100,
+misplaced_genitals,0,100,
+mirimo,1,100,
+mintol_(qool+),1,100,
+minfilia_warde,4,100,
+minase_inori,4,100,
+mikumikudance,0,100,miku_miku_dance
+migumigu,1,100,
+mig_(36th_underground),1,100,kyang692
+mi_no_take,1,100,
+melpha,4,100,
+max-k,1,100,chunk-san
+matsuu_(akiomoi),1,100,
+master_(4th),1,100,
+marine_day,0,100,
+mani_oniniku,1,100,
+male_spitroast,0,100,
+makino_harumaki,1,100,
+maiqo,1,100,maiqtells
+madeline_(woofycakes),4,100,
+lumineko,1,100,
+love_handles,0,100,
+leopard_(kemono_friends),4,100,
+leggings_pull,0,100,
+leg_cutout,0,100,
+lancet-2_(arknights),4,100,
+kurokami_(kurokaminohito),1,100,
+kurame,4,100,
+kurakumo_nue,1,100,
+kurage,1,100,
+kunieda,1,100,
+kudou_jun,4,100,
+kradebii,1,100,
+kosaka_shunpei,4,100,
+konami_kirie,4,100,
+kokechan,1,100,
+knee_brace,0,100,
+kirika_towa_alma,4,100,
+kawada_tomoko,4,100,
+kawabata_yoshihiro,1,100,kawabata_yoshiro
+kauru00,1,100,
+kasukabe_saki,4,100,
+kashiwagi_tsubasa,4,100,
+kankurou,1,100,
+kaniharu,1,100,
+kanamemo,3,100,
+kamon_rider,1,100,
+kakuzatou_(satousatotototo),1,100,
+kagaya_miki,4,100,
+k.m.station,1,100,
+juuban_elementary_school_uniform,0,100,
+juliona_trans,4,100,
+jon_henry_nam,1,100,
+joker_(stjoker),1,100,ero_jokersofia
+jiusan_naitan,1,100,
+izuna_nie,1,100,
+iwi_tavor,0,100,
+itsutsu,1,100,
+itou_ittousai_(sengoku_bushouki_muramasa),4,100,
+ishii_takamori,1,100,
+ishihara_(kuniyoshi),1,100,
+irukatto,1,100,
+ios_(os),0,100,
+inha,4,100,
+iced_coffee,0,100,
+honda_masazumi,4,100,
+hirosuke_(psychexx),1,100,
+hershel_layton,4,100,
+heidi_(arknights),4,100,
+haruna_(azur_lane),4,100,
+harmaline,1,100,
+harada_minoru,4,100,
+happy_easter,0,100,
+grand_chase,3,100,
+gondom,1,100,
+golduck,4,100,
+gobi_(jtnyrwbkohiqsuldg),1,100,gobi_(sobmobink)
+goat-chan_(enarane),4,100,
+ghost_(tama),1,100,
+geese_howard,4,100,
+gaze_(thompon),1,100,
+gas_station,0,100,
+fur-trimmed_bra,0,100,
+fujimi_suzu,4,100,
+frederica_baumann,4,100,
+forrest_(fire_emblem),4,100,foleo_(fire_emblem_if)
+five_nights_at_freddy's:_security_breach,3,100,
+five-seven_(cruise_queen)_(girls'_frontline),4,100,
+firstw1,1,100,
+finnel_(ar_tonelico),4,100,
+final_fantasy_brave_exvius,3,100,
+fh_moya,1,100,moyamoya_(moya11158375)
+feng_mouren,1,100,
+feebas,4,100,
+fanbook,0,100,
+f6f_hellcat,0,100,
+ernesti_echevalier,4,100,
+envyvanity,1,100,
+enouchi_ai,1,100,mittwoch
+elze_(s01047480836),1,100,
+elsa_maria_(madoka_magica),4,100,
+ei_ei_mun!,0,100,
+draco_malfoy,4,100,
+downcast_eyes,0,100,
+dorothy_(arknights),4,100,
+donkey_(kemono_friends),4,100,
+dokiyuri,1,100,
+dodojune,1,100,
+denchuubou,1,100,
+deadman_wonderland,3,100,
+dead_rising,3,100,
+cupid,0,100,
+croix_meridies,4,100,
+cookie_clicker,3,100,
+click_(arknights),4,100,
+claude_frollo,4,100,
+clark_still,4,100,
+chien_zero,1,100,
+cheese_kang,1,100,
+charro,0,100,
+charlotte_pudding,4,100,
+brown_haired_glasses_elf_(houtengeki),4,100,
+braco,1,100,
+bollard,0,100,
+blue_petals,0,100,
+blue_door,1,100,
+beige_border,0,100,
+bartolomeobari,1,100,
+azit_(down),1,100,
+autocannon,0,100,
+aru_(citrine_drplt),1,100,alu_drp
+artemis_of_the_blue,4,100,
+archer_(summer_casual)_(fate),4,100,"summer_casual_(fate),summer_casual_(fate/grand_order)"
+animal_skeleton,0,100,
+aneco_(westsea1227),1,100,aaanecooo
+amber_(darker_than_black),4,100,
+amano_soraha,4,100,
+alisa_(kuro_no_sakura),1,100,boqboq
+akizuki_(17769498),1,100,"akidzuki_(17769498),hayate_(n1k2jmaki)"
+akitaru_oubi,4,100,
+akitaka_mika,1,100,
+ai-assisted,5,100,
+aerosmith_(stand),4,100,
+a-ktoo,1,100,
+15k,1,100,
+13-gou,1,100,
+yuuki_nae,4,99,
+yuni_channel,3,99,
+yuni_(yuni_channel),4,99,
+yumemi_(kiowa),1,99,
+yotsugi,1,99,
+yasuri_nanami,4,99,
+yamigo,1,99,yamyom
+wild_wet_west,3,99,
+white-brown,1,99,
+watashiya_kaworu,1,99,
+virus-g,1,99,
+utanone_shion,1,99,
+usamin_(artist),1,99,
+usalia_(disgaea),4,99,
+uraeus,0,99,
+under_night_in-birth_exe:late[st],3,99,
+umeboshi,0,99,
+ukke,1,99,
+tsun'ichi_(tsun1),1,99,issandshinnichi
+torinoko_(miiko_draw),1,99,
+toplow,1,99,
+toono_yayoi,1,99,tonoyayoi
+tomatomato_(tomato_kanzume),1,99,
+tomato_slice,0,99,
+toad_(animal),0,99,
+tigrex,4,99,
+tic-tac-toe,0,99,tic_tac_toe
+teddy_(lingerie),0,99,
+tarokennsann,1,99,
+tanghulu,0,99,
+tami_(nekoneto),1,99,
+takatsuki_p,1,99,oolong_tea
+takashina_masato,1,99,
+suzuki_puramo,1,99,
+suicchonsuisui,1,99,
+sugiyama_nobuhiro,1,99,
+su_guryu,1,99,
+stellarspin,1,99,
+star_night_snow_(vocaloid),3,99,
+spinning_bird_kick,0,99,
+skydive,0,99,
+silent_hill_4,3,99,
+shounan_(kancolle),4,99,
+shinra_tsubaki,4,99,
+shimimaru,1,99,
+shimamura_charlotte,4,99,
+shiira,1,99,
+shenlong_(dragon_ball),4,99,
+shenanimation,1,99,
+shake_sawa,1,99,
+serving_cart,0,99,
+scr.e,1,99,
+scarlettear33,1,99,
+satoyasu,1,99,
+sasetsu,1,99,
+sakumichi,1,99,yudoufu_(unify)
+sakaki_natsuki,4,99,
+saitou_yahu,1,99,
+saegusa_matsuri,4,99,
+saber_01,1,99,
+ryuu_ga_gotoku_7,3,99,yakuza:_like_a_dragon
+ryuu_(multitask),1,99,
+ruohire9,1,99,
+rumenia_(ao2is),1,99,
+robot_cat,1,99,
+riot_music,3,99,
+rinko_(mg54),1,99,
+riko_(sorube),1,99,
+rewolf,1,99,
+renjouji_beru,4,99,
+reddit,3,99,
+re:rin,1,99,
+racing_miku_(2013),4,99,
+queen_bonjourno,3,99,
+purple_babydoll,0,99,
+puk_(puk_2020),1,99,
+proton_(pokemon),4,99,
+price,0,99,
+pony_r,1,99,
+piyopoyo,1,99,
+pinstripe_camisole,0,99,
+pink_tattoo,0,99,
+pignite,4,99,
+paladin_2_(sekaiju),4,99,
+oxfords,0,99,
+oso-teki_kinoko_gijinka_zukan,3,99,
+oskar_vega,1,99,
+osawari_tantei,3,99,touch_detective
+ooike_teru,1,99,
+nurikabe_(mictlan-tecuhtli),1,99,
+nqrse,4,99,
+nohara_misae,4,99,
+noda_shuha,1,99,nodakun
+nightmare_(arknights),4,99,
+nekonote_(nekono_paraiso),1,99,
+natsuzakura_yuuki,1,99,
+nametakenoko,1,99,
+nameko_(osawari_tantei),4,99,funghi_(osawari_tantei)
+namanie,1,99,nama2e
+namagome_negi,1,99,
+nakura_hakuto,1,99,raku_ge
+nakazawa_aki,1,99,akyorapenyo
+murasakibara_atsushi,4,99,
+murakumo_(senran_kagura),4,99,
+mumumu,1,99,
+mujiha,1,99,mujiha_(mlog)
+mugi_(iccomae),1,99,
+morning_glory_print,0,99,
+morinaga_(brand),3,99,
+monaka_(gatinemiku),1,99,
+momoko_(momoko14),1,99,
+mokota_mememe,4,99,
+misato_(summer)_(princess_connect!),4,99,
+misaka_imouto_10032's_cat,4,99,
+minttchocok,1,99,
+mintchoco_(orange_shabette),1,99,mintchoco
+mikogami_nagisa,4,99,
+metronome,0,99,
+meiji_(charisma_serve),1,99,
+medicine_bottle,0,99,
+maya_(aoki_hagane_no_arpeggio),4,99,
+mashiro_(swimsuit)_(blue_archive),4,99,
+marshall_d._teach,4,99,marshall_d_teach
+marco_rossi,4,99,
+makino_tomoyasu,1,99,ikumi_tan
+makaze_(t-junction),1,99,makaze_hoihoi_chaahan_joutai
+majo_(pastamajo),1,99,majocc_(dusty051)
+machi_(hunter_x_hunter),4,99,
+lumineon,4,99,
+lulu_(tales),4,99,lulu_(tales_of_xillia_2)
+ludicolo,4,99,
+love_r,3,99,
+little_tail_bronx,3,99,
+little_illustrious_(azur_lane),4,99,
+lemon_earrings,0,99,
+kyundoo,1,99,
+kyodairobo,1,99,
+kyamu_(qqea92z9n),1,99,
+kusui_aruta,1,99,
+koyukkuri,0,99,
+koyo_akio,1,99,
+kouno_takaaki,4,99,
+kotora_(toranoana),4,99,
+kotonoman,1,99,
+kongou_iroha,4,99,
+kokuto_(kurousagi1210),1,99,
+kohaku_(dr._stone),4,99,
+knife_in_mouth,0,99,
+kitazume_kumie,1,99,
+kishi_torajirou,1,99,
+kiriyama_sakura,4,99,
+kintarou_(kintarou's_room),1,99,
+kino_makoto's_school_uniform,0,99,
+kimoi_girls_(meme),0,99,"easy_mode,kimoi_girls"
+kidou_senkan_nadesico_-_prince_of_darkness,3,99,martian_successor_nadesico_-_prince_of_darkness
+kemurin,1,99,
+keionism,1,99,
+keinesandayoooo,1,99,
+kazuki_seihou,1,99,
+kawasumi_ayako,4,99,
+katsura_harufumi,1,99,
+kasuka108,1,99,
+karma_(league_of_legends),4,99,
+karisawa_erika,4,99,
+kareha,4,99,
+kaiboukan_no._30_(kancolle),4,99,
+kagaya_tsubomi,4,99,
+kadota_kyouhei,4,99,
+jyura,1,99,
+jon_taira,1,99,
+jikasei,1,99,
+ishikawa_sparerib,1,99,
+iris_chateaubriand,4,99,
+instocklee,1,99,
+inoue_yoshihisa,1,99,
+innocent_red,3,99,
+implied_prostitution,0,99,
+imo_bouya,1,99,
+iganashi1,1,99,
+idk-kun,1,99,
+ichihachiyon,1,99,
+i0525,1,99,
+housou-chan,1,99,
+honmakaina_kudou,1,99,
+holiday0606,1,99,
+hobak,1,99,
+hissatsukun,1,99,
+himuro_kane,4,99,
+higata_akatsuki,1,99,
+hidaka_mai,4,99,
+henry_bird_9,1,99,
+head_kiss,0,99,
+harutarou_(orion_3boshi),1,99,
+hand_on_breasts,0,99,
+hakuren,0,99,
+hajikkoneko,1,99,
+hair_dye,0,99,
+hair_around_ear,0,99,
+hachita_(odangoya),1,99,
+gudanco_(nyanmeowzer),1,99,
+gouda_takeshi,4,99,"gian_(doraemon),jaian_(doraemon)"
+gothitelle,4,99,gothiruselle
+ginga_ojou-sama_densetsu_yuna,3,99,galaxy_fraulein_yuna
+gigandal_federation,0,99,
+genderswap_(otm),0,99,
+gayprince,1,99,
+gang_of_heaven,3,99,
+furuhashi_chinatsu,4,99,
+fundoshi_pull,0,99,
+fuka_(kantoku),1,99,
+fugi_jis,1,99,zinc_park
+fubuzilla_(shirakami_fubuki),4,99,
+frilled_innertube,0,99,
+flyswatter,0,99,fly_swatter
+flowers_(innocent_grey),3,99,
+fatigues,0,99,
+excalibolg,0,99,
+emiya-san_chi_no_kyou_no_gohan,3,99,
+elenab,1,99,
+elena_ivlyushkina,1,99,
+electabuzz,4,99,
+eightman,1,99,
+e-kingdom,1,99,
+dragoner,1,99,
+dokan_(dkn),1,99,
+dodonpachi_saidaioujou,3,99,
+dentist,0,99,
+dawalixi,1,99,
+dark_link,4,99,
+daitabashi_kinu,1,99,kinu_(le)
+daidai_(daidai826),1,99,
+d-ryuu,1,99,xryuu
+cutting_mat,0,99,
+crystal_wings,0,99,
+cress_albane,4,99,cless_alvein
+cracked_egg,0,99,
+contest_winner,0,99,
+conqueror_of_shambala,3,99,
+commando_(movie),3,99,commando_(film)
+colombia_pose,0,99,
+coffeedog,1,99,
+cobra_no_oyatsu,1,99,koburakko
+closed_game,3,99,
+christie_monteiro,4,99,
+chiemo_(xcem),1,99,
+chibi_miku_(mayo_riyo),4,99,
+chen_(cosplay),0,99,
+castle_of_cagliostro,3,99,
+castanic,4,99,castanic_(tera)
+carmilla_(swimsuit_rider)_(third_ascension)_(fate),4,99,
+cardigan_removed,0,99,
+captain_freedom,1,99,
+candeloro,4,99,
+business_casual,0,99,
+bunny_nun_(diva),4,99,
+brave_frontier,3,99,
+boroboro_no_elf-san_o_shiawaseni_suru_kusuri_uri-san,3,99,
+blood_on_feet,0,99,bloody_feet
+bianka_durandal_ataegina_(valkyrie_gloria),4,99,
+beige,0,99,
+barbie_(character),4,99,
+bandage_on_knee,0,99,
+ayamine_kei,4,99,
+av-98_ingram,4,99,
+archstreal,1,99,
+april_(arknights),4,99,
+ange_(angeban93),1,99,
+amiya_(newsgirl)_(arknights),4,99,
+alpha_omega_nova,4,99,
+alice_liddell_(heart_no_kuni_no_alice),4,99,
+akimichi_chouji,4,99,
+agasang,1,99,
+adachi_fumio,1,99,adachi_fumio333
+a20_(atsumaru),1,99,
+9aki,1,99,
+94plum,1,99,
+3d_rod!,1,99,
+33_gaff,1,99,
+2sham,1,99,rang_ji7
+2001,0,99,
+1nilla',1,99,
+100%,1,99,
+0jae,1,99,
+zynxy,1,98,1001
+zeppy_(azur_lane),4,98,zeppelin-chan_(azur_lane)
+zenigata_mawari,4,98,
+z.m._(school913102),1,98,
+yurumawari,1,98,
+yun_yun_(doupo_cangqiong),4,98,
+yukimi_koume,4,98,
+yudesoba,1,98,
+ye_fan,1,98,
+yashiro_kasumi,4,98,
+yao_fueifuei,4,98,yao_feifei
+yamikota,1,98,
+xiafuizui,1,98,
+xerxes_break,4,98,
+who_framed_roger_rabbit,3,98,
+welchino,1,98,
+wd_(1106592840),1,98,
+war_fan,0,98,
+walking_bike,0,98,
+volley-bu-chan_(tawawa),4,98,"ai's_friend_(himura_kiseki),volleyball-chan_(tawawa)"
+viper_rsr,3,98,
+urigarasu,1,98,
+urayamashiro_(artist),1,98,
+umi_suzume,1,98,
+ulti_(one_piece),4,98,
+ukuru_(kancolle),4,98,
+uchida_yuka,4,98,
+ty_1865,1,98,
+tsuru-chan,4,98,
+tr_(hareru),1,98,
+tori_(driftwood),1,98,
+toranoe,1,98,
+too_many_knives,0,98,
+tomcat_(moconeko),1,98,
+thinking_emoji,0,98,
+thancred_waters,4,98,
+terriermon,4,98,
+tere_asahi,1,98,
+team_magma_grunt,4,98,magma_grunt
+tanto_(tc1995),1,98,tantu_(tc1995)
+tanabe_(studio_tiamat),1,98,
+takopii_no_genzai,3,98,takopi's_original_sin
+takayama_mizuki,1,98,
+takamine_midori,4,98,
+takamachi_nanoha_(aggressor_mode),4,98,
+taiki_ken,1,98,
+taiga_(ookami_mio),4,98,
+tagawa_gengo,1,98,
+swat,0,98,
+sunao_(wokada),4,98,
+subaki_(fire_emblem),4,98,tsubaki_(fire_emblem_if)
+splatter_print,0,98,
+sorairo_len,1,98,
+soneda_akane,4,98,
+smoochum,4,98,
+sirurabbit,1,98,
+sinon_(solus),4,98,
+sightseer_(pokemon),4,98,
+shokupan_(slvk12),1,98,
+shirai_tanuki,1,98,shiroi_tanuki
+shiohachi,1,98,
+shinozuka_arashi,4,98,
+shinken!!,3,98,
+shimoguchi_tomohiro,1,98,
+shima_renzou,4,98,
+shikimori_(kawaii_dake_ja_nai),4,98,shikimori_micchon
+shaving_crotch,0,98,shaving_pussy
+sergestid_shrimp_in_tungkang,3,98,
+sena_airi,4,98,
+sealand_(hetalia),4,98,
+scarf_grab,0,98,
+sawa2,1,98,
+sankaku,1,98,
+sailor_venus_(cosplay),0,98,
+sacanahen,1,98,sakanahen
+reizou,1,98,
+redgart,1,98,
+rebecca_(fire_emblem),4,98,
+ratryu,1,98,
+rat_huang,1,98,rat1989
+rarami,1,98,
+prunce_(precure),4,98,
+prism_recollection!,3,98,prism_recollection
+polka_dot_kimono,0,98,polka_dot_yukata
+pokemon_ability,0,98,
+plunger,0,98,
+pectoral_pillow,0,98,
+papa-kun_(destiny549-2),1,98,destiny549-2
+oz_vessalius,4,98,
+over_zenith,3,98,
+osandon,0,98,
+oricorio_(pom-pom),4,98,
+oomura_yuusuke,1,98,yusuke_ohmura
+onabe_no_shime,1,98,
+on_piano,0,98,
+omiza_somi,1,98,
+ogata_rina,4,98,
+nuudoru,1,98,
+nrvnqsr_chaos,4,98,nero_chaos
+notori_d,1,98,
+nopeys,1,98,norman_de_mesa
+nightmare_blood_(idolmaster),0,98,nightmare_blood
+nemui_(nemui),1,98,
+nemesis_(resident_evil),4,98,
+neichiru,1,98,
+neckerchief_between_breasts,0,98,
+nazo_kichi,1,98,
+natsume_aya,4,98,
+natsu_no_ame,3,98,
+nanpuu,1,98,
+namidate,1,98,
+nagase_yuuki,1,98,
+nadie,4,98,
+myoushun,1,98,minncn
+mym_(dragalia_lost),4,98,mumu_(dragalia_lost)
+mura_(kiyohime),1,98,
+muku-chan_(muroku),4,98,
+mordred_(swimsuit_rider)_(second_ascension)_(fate),4,98,
+monica_(little_witch_nobeta),4,98,
+momoi_nanabei,1,98,
+momioka_risa,4,98,
+miyuzu,1,98,
+miryoryo9,1,98,
+miracle_paint_(vocaloid),3,98,
+mexican_dress,0,98,
+meto_(metrin),1,98,
+mentaiko_mamire,1,98,
+medibang_paint_(medium),5,98,
+mazamuno,1,98,
+matsuoka_michihiro,1,98,
+matsuoka_kiyone,4,98,
+mario_(mario_portal),1,98,mario_(artist)
+marblehead_(azur_lane),4,98,
+mal_poi,1,98,
+maimuro,1,98,
+maeda_hiroyuki,1,98,
+m87_black_hole,0,98,
+lulu_heika,1,98,
+lost_one_zero,1,98,
+lolliedrop,1,98,
+lich_(monster_girl_encyclopedia),4,98,
+libe_(hentai_elf_to_majime_orc),4,98,
+leiq,1,98,leiq_lei-shi_xian_gao_zha
+lavender_shirt,0,98,
+kurata_mashiro,4,98,
+kuku_px,1,98,
+kuinji_51go,1,98,
+koyoi_(iroha_(iroha_matsurika)),4,98,
+koumajou_densetsu_1,3,98,koumajo_densetsu_1
+komekueyo,1,98,
+koma_neko,1,98,
+kobayashi_kabura,1,98,
+koakuma_(cosplay),0,98,
+kizuki_miki,1,98,
+kissing_ear,0,98,ear_kiss
+kishimoto_masashi,1,98,
+kirara_bernstein,4,98,
+kin_mokusei,1,98,
+kiki_(koikuchikinako),1,98,
+kenzo_093,1,98,
+kazagumo_kai_ni_(kancolle),4,98,
+kawajiri_hayato,4,98,
+karasumi_(aiseec),1,98,
+karanak,1,98,
+kabuto_daigo,4,98,
+jotti,1,98,
+jessica_rabbit,4,98,
+jago_dibuja,1,98,
+izumi_kei,1,98,izumikei001
+iwashi_(iwashi008),1,98,
+itou_makoto,4,98,
+itou_ikuko,1,98,
+isurugi_noe,4,98,
+isawo_(lucanus19),1,98,
+intrepid_(azur_lane),4,98,
+infinite_stratos_academy_uniform,0,98,
+inconvenient_tail,0,98,
+inari1369,1,98,
+idolmaster_one_for_all,3,98,
+ibushi_(oath),1,98,rere_(yusuke)
+huion,3,98,
+hotate_rayan,1,98,
+hoshi_usagi,1,98,
+honjitsu_no_shuyaku,0,98,
+holding_nunchaku,0,98,
+hjm,1,98,
+hissaa_(starlight_express),1,98,starlight_express
+hirokazu,1,98,
+hinata_(fire_emblem),4,98,hinata_(fire_emblem_if)
+hika_(cross-angel),1,98,
+hifumi_hajime,1,98,koujun_(mugenzero)
+hakamii,1,98,
+hahifuhe,1,98,
+h2o_(ddks2923),1,98,
+green_blood,0,98,
+gliscor,4,98,
+ginrei_(giant_robo),4,98,
+german_shepherd,0,98,
+genmon,1,98,
+genka_ichien,1,98,
+gcg,1,98,
+gawain_(artist),1,98,
+gauss_3<,0,88,
+22_(tak_ja),1,88,t8909
+zaveid_(tales),4,87,zavied_(tales)
+zap_renfro,4,87,
+za_warudo,0,87,
+z.nov,1,87,
+yuuya_(yu-ya's),1,87,
+yuuraku_yuraku,1,87,mimori_(etnp8853)
+yuunagi_(seventh_heaven),1,87,mio_(pixiv183703)
+yuuki_kazuhito,1,87,
+yuu_(tiny_evil),4,87,
+yutian_alice,1,87,
+yurashima,1,87,
+yukime_(jigoku_sensei_nube),4,87,
+yuki_(cencoroll),4,87,
+yuki7128,1,87,
+yukaa,1,87,
+yu_hydra,1,87,
+yorurokujuu,1,87,
+yonic_symbol,0,87,
+yazawa_nico_(cosplay),0,87,
+yatsuha_(hachiyoh),1,87,
+yatanukikey,1,87,
+yarawi,1,87,
+yamoto_koki,4,87,
+xkit,1,87,
+xiaoguimist,1,87,
+wheelie,0,87,
+wet_thighhighs,0,87,
+wendy_testaburger,4,87,
+wendell,1,87,
+weepinbell,4,87,
+watashi_nouryoku_wa_heikinchi_de_tte_itta_yo_ne!,3,87,
+watase_sanetoshi,4,87,
+wally99,1,87,
+wakaba_(kemurikusa),4,87,
+waist_hold,0,87,
+vomiting_rainbows,0,87,
+viki_(suikoden),4,87,
+uzura_kazuhisa,1,87,
+uzaki_yanagi,4,87,
+usumy,1,87,
+ushimochi,1,87,pengwin
+urrrt,1,87,uleuleuleu
+ujiie_moku,1,87,
+udder,0,87,
+twinkle_crusaders,3,87,
+tweaking_own_nipple,0,87,
+turo_(pokemon),4,87,futu_(pokemon)
+tsurupy,1,87,
+tsumeki,1,87,
+triuni,1,87,
+traveler_(journey),4,87,
+totto_(naka),1,87,
+toshi_hiroshi,1,87,
+tonbo,1,87,
+tomoe_(fdhs5855),1,87,suiton_(000suiton)
+tkbn_r,1,87,
+titan_(generic)_(shingeki_no_kyojin),4,87,
+tiara_(fairy_fencer_f),4,87,
+temari114,1,87,
+tarma_roving,4,87,
+taric,4,87,
+tareko,1,87,
+taono_kinoko,1,87,
+tan_skirt,0,87,
+tamuhi,1,87,
+takeda_yuuko,1,87,
+takase_yuu,1,87,
+takahashi_rie,4,87,
+tachibana_rui,4,87,
+swoobat,4,87,
+suzumiya_haruhi_no_tsuisou,3,87,
+super_metroid,3,87,
+sunao_nako,4,87,
+sugisaka_umi,4,87,
+suffolk_(azur_lane),4,87,
+succubus_(mabinogi),4,87,
+stomach_ache,0,87,
+stoat_girl,0,87,
+stewsui,1,87,
+stellar_theater,3,87,
+sprout_(33510539),1,87,
+spectral_souls,3,87,
+sou_(mgn),1,87,
+sorbet,4,87,
+snowstorm,0,87,
+slurping,0,87,
+skull_brooch,0,87,
+skillet,0,87,
+skeleton_(helltaker),4,87,
+sitting_on_drum,0,87,
+silent_sinner_in_blue,3,87,
+shooting_gallery,0,87,
+shitogi_eris,4,87,shitogi_elis
+shishio,1,87,
+shiori_(xxxsi),1,87,
+shikaya,1,87,sui_(sui27shika)
+shiina_miyako,4,87,
+shii_(kairi-t-k0317),1,87,
+shi-chen,1,87,
+shanghmely,1,87,
+seong_mi-na,4,87,"seung_mi-na,seung_mina"
+sekhmet_of_death,4,87,
+sein_(nanoha),4,87,
+seele0907,1,87,
+sawed-off_shotgun,0,87,
+sawarineko,1,87,
+satyuas,1,87,
+satou_akane,4,87,"akane_(k-on!),girl_who_sits_next_to_girl_who_sits_in_front_of_ritsu_(k-on!)"
+satoshi_(peso727),1,87,
+satonaka_narumi,4,87,
+satetsu,1,87,
+sana423,1,87,
+saki_(saki_paint),1,87,
+saikachi_(ogre_tree),1,87,
+sai_(bankoru),1,87,
+sagami_jun,4,87,
+sa_ioio,1,87,
+ryusei_(ryusei_b),1,87,puzzle157xxx
+rosenburg_engel_(idolmaster),0,87,rosenburg_engel
+rose_(elsword),4,87,
+rooseputo_02,1,87,
+roon_(dark_red_grin)_(azur_lane),4,87,
+robinexile,1,87,
+rk_(rktorinegi),1,87,
+rinmei,1,87,
+rikorin,1,87,
+removing_sock,0,87,
+recare,1,87,
+rahxephon,3,87,
+rafchu,1,87,
+pong_(vndn124),1,87,
+po0000000000,1,87,
+ph.,1,87,
+petralka_anne_eldant_iii,4,87,petrarca_ann_erudanto_iii
+penis_biting,0,87,penis_bite
+penguin_hat,0,87,
+patrick_star,4,87,
+passenger_(arknights),4,87,
+park_ongjol,1,87,airpro033
+panzerkampfwagen_ii,0,87,
+pantheon_eve,1,87,alex_panglima
+palossand,4,87,
+palanquin_d.va,4,87,
+ozadomi,1,87,
+otosume_ruiko,1,87,
+ori_(momonimo),1,87,
+orange_sash,0,87,
+ootato,1,87,
+onionworkshop,1,87,
+okosama_lunch_(sendan),1,87,
+oichi_(sengoku_basara),4,87,
+ogami_shirou,4,87,
+odaodaoaoda,1,87,
+norinco,1,87,
+nitta_io,4,87,
+nishi_minami,4,87,
+nishi_juuji,1,87,
+nin_(lion),1,87,
+nezha_(the_legend_of_luoxiaohei),4,87,
+new_pokemon_snap,3,87,
+nekololisama,1,87,
+negiwo,1,87,
+neg_(101neg),1,87,tougenkyou
+nazo_no_anime-dan,1,87,nazoani_museum
+nayozane_(worker7),1,87,
+nayoshi_(r-744),1,87,r-744
+natsuiro_xx,1,87,
+nano-nano_pudding,4,87,
+nananana_nanana,1,87,
+nagoooon_114,1,87,
+nagahama_megumi,1,87,
+mystic_eyes_of_death_perception,0,87,
+mysterious_heroine_x_(third_ascension)_(fate),4,87,
+murata_isshin,1,87,
+muji-muji_daruma_(genshin_impact),4,87,
+muchabou,1,87,
+mt._silver,0,87,
+motto_(night_wear),1,87,mocha_(mokaapolka)
+mori_kotarou,1,87,kotaro_mori
+moonslanstudio,1,87,
+monokini,0,87,
+momiji_(ninja_gaiden),4,87,
+mogeko_castle,3,87,
+mofumofuen_(idolmaster),0,87,mofumofuen
+moeru!_jiten,3,87,
+miyashiro_karin,4,87,
+misakino_kukuru,4,87,
+mirai_suzu,4,87,
+mirai_(happy-floral),1,87,
+minos_(jashin-chan_dropkick),4,87,
+minase_kaya,1,87,
+minari_(minari37),1,87,
+millia_jenius,4,87,
+mikanniro,1,87,
+midori_aoi,1,87,
+michiru_donut,1,87,
+miche,1,87,
+mib_mamizou,4,87,
+meruru_(oreimo)_(cosplay),0,87,meruru_(ore_no_imouto)_(cosplay)
+menori,4,87,
+melty_blood:_type_lumina,3,87,
+melty_(suisei_no_gargantia),4,87,
+melisaongmiqin,1,87,
+mechanical_boots,0,87,
+mayoln,1,87,
+matsuyama_kumiko,4,87,
+matsuki_ringo,1,87,
+matilda_(matildax),1,87,
+mass_effect_3,3,87,
+marnie_(pokemon)_(cosplay),0,87,
+maria_tachibana,4,87,
+margery_daw,4,87,margerydaw
+maqin,1,87,
+manggapaegtoli,1,87,skanehfdl3
+mamoswine,4,87,
+maccyman,1,87,
+lunia,1,87,
+lrh0123,1,87,
+lotus_position,0,87,
+lingerie_(aki3240),1,87,
+lace-trimmed_kimono,0,87,
+la_corda_d'oro,3,87,
+kuuki_shoujo,4,87,
+kusuriuri-san,4,87,
+kushana,4,87,
+kumajirou_(hetalia),4,87,
+kowata_makoto,4,87,
+koto_suomi,1,87,
+kongou_sensei,4,87,
+kohaku_hearts,4,87,"amber_hearts,kohak_hearts"
+kodama_shichirou,4,87,
+kito_(kito2),1,87,
+kiana_mai,1,87,
+kiana_kaslana_(valkyrie_ranger),4,87,
+kazami_yuuka_(cosplay),0,87,
+kayou_(kayou-bi),1,87,kayou_(artist)
+katsura_kokoro,4,87,
+katou_emiri,4,87,
+kashmir,1,87,lowlife
+kashiwagi_yamine,1,87,
+kari_kenji,1,87,
+kanimaru,1,87,
+kaneko_(bblogtinhan),1,87,
+kamioka_saki,4,87,
+kafuu_chino_(cosplay),0,87,
+jiraiya_(housamo),4,87,jiraiya_(tokyo_houkago_summoners)
+jiraiken,1,87,kouji_oota
+jingle_bell_earrings,0,87,
+jake_muller,4,87,
+jack_(darkshero),1,87,
+ivenglynn,1,87,
+itoji,1,87,
+ironashi,1,87,
+irie_kyousuke,4,87,
+in_cell,0,87,
+ikeda_emi,4,87,ikeda_(girls_und_panzer)
+hourai_ninjin,1,87,
+hououmaru_rei,4,87,
+hound_2_(sekaiju),4,87,
+hk416_(midnight_evangelion)_(girls'_frontline),4,87,
+hitotsuki_no_yagi,1,87,ichiban_no_yagi
+hiroki_(hirokiart),1,87,
+himiko_(third_ascension)_(fate),4,87,
+himajin_(starmine),1,87,
+hiiragi_nana,4,87,
+herme_(ohisashiburi),4,87,
+heracles_(housamo),4,87,
+helena_kai_(kancolle),4,87,
+heart_arrow,0,87,
+hayama_hayato,4,87,
+hashimoto_takayoshi,1,87,
+haruwaka_064,1,87,
+happy_sugar_life,3,87,
+hangleing,1,87,
+half-soles,0,87,
+hair_wagging,0,87,
+gradient_sleeves,0,87,
+gozaemon,1,87,
+goripan,1,87,
+gomibuta_kuzutarou,1,87,
+gold_ship_(racehorse),4,87,
+gold_horns,0,87,
+goal,0,87,
+girafarig,4,87,
+ginga_hyouryuu_vifam,3,87,galactic_drifter_vifam
+gaogaigar,4,87,gaogaigar_(robot)
+fuyube_gin_(huyube),1,87,
+fuwafuwa-chan_(kamiyoshi_rika),4,87,
+fujimaru_(bluebrand),1,87,
+fractalmagnolia,1,87,
+foch_(azur_lane),4,87,
+fake_nose,0,87,
+excel_saga,3,87,
+eureka_seven_ao,3,87,"eureka_7_ao,eureka_7_astral_ocean,eureka_seven_astral_ocean"
+etzali,4,87,
+ennui_heiwa_miku,4,87,
+emoji_censor,0,87,
+eltnum,4,87,
+ellie_(the_last_of_us),4,87,
+elf_(dq10),4,87,
+eir_(fire_emblem),4,87,
+eihire,1,87,
+eggshell_hat,0,87,
+dywx_poison,1,87,
+dynamax_ball,0,87,
+du_mogu,1,87,
+drums_(artist),1,87,
+double_\n/,0,87,
+doromizu,1,87,
+dodok_(gj77230),1,87,lownd
+dinosaur_king,3,87,
+detached_ahoge,0,87,
+demmy,1,87,
+curly_eyebrows,0,87,
+cuna_(qunya),1,87,
+cum_on_tail,0,87,
+cradling_head,0,87,
+constellation_costume,0,87,
+cole,1,87,
+chinjuu_hibakichi,1,87,
+cheetah_girl,0,87,
+cardigan_under_jacket,0,87,
+car_crash,0,87,
+cancer,0,87,
+camp_of_hunger,1,87,
+bunny_ayumi,4,87,
+bunches,0,87,
+bummerdude,1,87,
+brynhildr_(swimsuit_berserker)_(fate),4,87,
+brown_hood,0,87,
+broiler,1,87,
+bowl_stack,0,87,
+blue_dragon,3,87,
+bloodycat,1,87,
+blackhole-chan,4,87,
+beni_(bluebluesky),1,87,
+belfraw_martini,4,87,
+bashosho,1,87,
+banica_conchita,4,87,
+ballet_dress,0,87,
+ayame_(tenchuu),4,87,
+awatake_takahiro,1,87,
+avril_vent_fleur,4,87,
+asura_(asr4000),1,87,"asrkgk_(asura),asurafkmt"
+assassin,0,87,
+ashita_no_joe,3,87,
+arthur_(code_geass),4,87,
+artery_gear:_fusion,3,87,
+arm_shield,0,87,
+arima_nana,4,87,
+arima_kousei,4,87,
+ariaridoradora,1,87,
+aoi_yuuji,1,87,aoi_yuji
+aoi_minamo,4,87,
+antiqq,1,87,
+anteater,0,87,
+amakusa_shino,4,87,
+althea_(sakiya0000),1,87,
+akthree0,1,87,
+akanishi_erika,4,87,
+ajimu_najimi,4,87,
+ai-kun,4,87,
+agatha_(pokemon),4,87,kikuko_(pokemon)
+acid_trip,0,87,
+achromaru,1,87,
+aaoshigatoutoi,1,87,
+2d_dating,0,87,
+2c=galore,1,87,
+zooanime,1,86,
+zonotaida,1,86,
+zombie-ya_reiko,3,86,
+zhanzheng_zi,1,86,
+zeke_yeager,4,86,
+zashiki-warashi,0,86,
+zairen,1,86,
+yuuhi_(ages),1,86,
+yu_mochi_(kamiinu),1,86,
+youbou,1,86,
+you_rei_(blowback),1,86,
+you_naka,1,86,
+yazwo,1,86,
+yatyou,1,86,z67y97t87gyihy
+yanmega,4,86,
+yami_shoujo,4,86,
+yameta_takashi,1,86,
+yako,1,86,
+xxxceller,1,86,
+x-overd,3,86,
+wotagei,0,86,
+whispy_woods,4,86,
+warlock_(sekaiju),4,86,
+wakabayashi-kun_ga_nekasete_kurenai,3,86,
+vex_(league_of_legends),4,86,
+vault_boy,4,86,
+utu,1,86,
+usuke_(u_skeeep),1,86,
+unikurage,1,86,
+umenomori_chise,4,86,
+uchuu_ika,1,86,
+uchio_kazumasa,1,86,
+two-tone_necktie,0,86,
+twinbee,3,86,
+tsukise_miwa,1,86,
+trinity_blood,3,86,
+tourmaline,0,86,
+tomodachi_(tomofanart),1,86,
+tokimeki_memorial_girl's_side,3,86,
+toki_(tokihakashi),1,86,toki_(artist)
+tog_(shoten),1,86,
+tm_(gf-tm),1,86,
+therese_(granblue_fantasy),4,86,
+the_rolling_girls,3,86,
+teru_zeta,1,86,
+teramoto_tomiko,4,86,teramoto_(girls_und_panzer)
+teikoku_shounen,1,86,imperial_boy
+teeth_print,0,86,
+tears_to_tiara,3,86,
+tatsuta_age,1,86,
+tatl,4,86,
+taro,1,86,
+tanning_oil,0,86,
+talos_(housamo),4,86,talos_(tokyo_houkago_summoners)
+takasegawa_yui,1,86,
+syou_(endemic_species),1,86,
+suzui_narumi,1,86,
+sunfish,0,86,
+street_fighter_x_tekken,3,86,
+strawberry_heart,4,86,
+standing_restraints,0,86,
+standing_on_another's_head,0,86,
+space_ishtar_(third_ascension)_(fate),4,86,
+sousei_no_aquarion,3,86,
+somei_ooo,1,86,
+slurpuff,4,86,slurpuff_(pokemon)
+slave-chan_(mino),4,86,
+sl86,1,86,rainmood
+skeleton_(minecraft),4,86,
+sitting_on_fence,0,86,
+shuna_(tensei_shitara_slime_datta_ken),4,86,
+shouin,1,86,
+shiromi_(ringo),1,86,
+shinohara_natsuki,4,86,
+shiina_aya,1,86,
+severed_leg,0,86,
+senshi_(dungeon_meshi),4,86,
+saxasa_kisuk,1,86,
+satan_(puyopuyo),4,86,
+sacha,1,86,
+saano_chia,1,86,
+sa_(h28085),1,86,
+ryuu_(breath_of_fire_ii),4,86,ryu_ii
+ryu_seung,1,86,
+ryouya,1,86,
+rutorifuki,1,86,dragonthunderbolt
+rusellunt,1,86,
+rpameri,1,86,
+romantic_saga_of_beauty_&_devil,3,86,
+robert_garcia,4,86,
+roadi3,1,86,"rd-rn,rd_rn00"
+ro-a,1,86,
+rinrin_(927413),1,86,
+rin_(rin_niji),1,86,
+revealing_swimsuit_(dq),0,86,
+resident_evil_0,3,86,biohazard_0
+rescue,0,86,
+release_the_spyce,3,86,
+reid_hershel,4,86,rid_hershel
+reco_love,3,86,
+rebecca_(one_piece),4,86,
+rayet_areash,4,86,
+raindrop746079,1,86,
+quess_paraya,4,86,
+quarian,0,86,
+qian_renxue_(douluo_dalu),4,86,
+prophosphere,1,86,arlly_radithia
+prinz_eugen_(warship_girls_r),4,86,
+poseich,1,86,
+ponta_(kounoike_tsuyoshi),4,86,
+pokiyu,1,86,
+pinkcap,1,86,
+petya_(darker_than_black),4,86,
+pecorine_(new_year)_(princess_connect!),4,86,
+pearl_(steven_universe),4,86,
+osana_najimi_(komi-san_wa_komyushou_desu),4,86,
+oriue_wato,1,86,
+nitocris_(third_ascension)_(fate),4,86,
+nishiga_hachi,4,86,
+negative,0,86,
+narrative_formation,0,86,
+nanome_to,1,86,
+nanboku,1,86,namboku
+nagant_m1895,0,86,
+muvluv_alternative_strike_frontier,3,86,
+muscle_envy,0,86,
+muraicchi_(momocchi),1,86,
+ms._marvel,4,86,
+mr.yun,1,86,
+moeki_(moeki0329),1,86,
+moai_(aoh),1,86,moai_(pixiv196778)
+miyazaki_miyako,4,86,
+mitsuru_(madeinore),1,86,
+miquella_(elden_ring),4,86,
+mining_helmet,0,86,
+minami_touma,4,86,
+mimi_wo_sumaseba,3,86,"mimi_o_sumaseba,whisper_of_the_heart,whisper_of_the_heart"
+mikamin,1,86,
+mika_mikan,1,86,
+midler,4,86,
+mg_kurino,1,86,
+mental_cube_(azur_lane),0,86,
+menomorute,1,86,
+menmen_(menmen13s),1,86,
+melli_(pokemon),4,86,tsubaki_(pokemon)
+meister_otome_uniform,0,86,
+medicham,4,86,
+mecco,1,86,
+mc_liz,4,86,
+mating_(animal),0,86,
+massage_chair,0,86,
+maru_(314),1,86,
+maririn,1,86,
+maria_theresa_(granblue_fantasy),4,86,
+maou_(maoudaisukiya),1,86,
+malga_naruze,4,86,maruga_naruze
+makki_(tobaccos),1,86,
+maes_hughes,4,86,
+maclone,0,86,
+machi_(wm),1,86,
+lunaluna_(queen's_blade),4,86,
+lucky_chloe,4,86,
+lilith_(p&d),4,86,
+lilirulu,1,86,
+light_and_night_love,3,86,
+lifeline_(a384079959),1,86,
+lethe-shion,1,86,
+leaphere,1,86,yamato-leaphere
+leah_(airisubaka),4,86,
+ldl_(bcw1025),1,86,
+kyoukyan,1,86,
+kurumiya_hato,1,86,
+kuroshio_maki,1,86,
+kumacy,4,86,
+koopo,1,86,
+komori-san_wa_kotowarenai!,3,86,
+kitano_(zekkyon),4,86,
+kishima_kouma,4,86,
+kisekisaki,1,86,kisaki030p
+kirameki_haruaki,1,86,
+kinpatsu-chan_(rucchiifu),4,86,
+kinniku_tarou,1,86,
+kingu_(fate),4,86,
+key_hair_ornament,0,86,
+kerno,1,86,kano_(mgnnew12)
+kensight328,1,86,
+keki_chogyegi,1,86,
+kazesawa_sora,4,86,
+kazami_haruki,1,86,
+kayjae,1,86,kayjae24
+kawamoto_hinata,4,86,
+kate_iwana,1,86,
+kasutaso,1,86,
+karasu-san_(syh3iua83),1,86,
+kaoru348,1,86,
+kanmoku-san,1,86,
+kanesada_keishi,1,86,keishi_kanesada
+kanbara_akihito,4,86,
+kajikawa_yahiro,1,86,
+kaigun_bakuryou,1,86,
+kagura_(inuyasha),4,86,
+kafka_(arknights),4,86,
+kaede_to_suzu,3,86,
+jname,1,86,
+jingburger,4,86,
+jigoku_meguri,1,86,jigoku_meguri_1
+jellal_fernandes,4,86,
+isshoku_(shiki),1,86,
+ishigami_kazui,1,86,
+iren_lovel,1,86,
+iphone_11_pro,0,86,
+invincible_dragon_(last_origin),4,86,invincible_dragon
+iczer_(series),3,86,
+icym,1,86,
+ichifuji_nitaka_(phase_nine),1,86,idayui
+hyuse,4,86,
+hood_(lady_of_the_shining_sun)_(azur_lane),4,86,hood_(sunlit_lady)_(azur_lane)
+honnryou_hanaru,1,86,honryou_wa_naru
+holding_rattle,0,86,
+hige_shinshi,1,86,shinkun
+hide448,1,86,
+hero_(dka),1,86,
+hemorina,1,86,
+helen_(idolmaster),4,86,
+hcnone,1,86,
+hazakura_chikori,1,86,
+hawkeye_(seiken_densetsu_3),4,86,
+hatsuharu_kai_ni_(kancolle),4,86,
+hathaway_noa,4,86,
+hat_bell,0,86,
+haruse_hiroki,1,86,
+haruka_armitage,4,86,
+hanenosaki,1,86,honeybat
+handler_(monster_hunter_world),4,86,
+hand_on_sheath,0,86,
+hanayori_jyoshiryou,3,86,
+haine_(howling),1,86,
+haiiro_gundan,1,86,
+hachimi,1,86,
+growlanser_iv,3,86,
+gotointhepark,1,86,
+god_eater_3,3,86,
+gloria_(summer_2021)_(pokemon),4,86,
+giri_giri_sisters,3,86,
+gio_(maroon0924),1,86,
+gibbous_moon,0,86,
+ghost_of_tsushima,3,86,
+geroika,1,86,
+gemini_seed,3,86,
+garbodor,4,86,
+garasuita,1,86,
+gaimoon,1,86,
+futatsuiwa_mamizou_(tanuki),4,86,
+furfrou_(natural),4,86,
+fujita_hidetoshi,1,86,
+friedbun,1,86,
+fio_(nier),4,86,white_girl
+female_seth_(street_fighter),4,86,
+fang_qiao,1,86,
+exposed_brain,0,86,
+existence,3,86,
+electro_cicin_mage_(genshin_impact),4,86,
+eclair_(food),0,86,
+earth_defense_force,3,86,
+drum_master_(granblue_fantasy),4,86,
+doldol_(rkwowlqrp),1,86,rkwowlqrp
+dmith,1,86,
+divergenceok,1,86,
+dfd,1,86,
+desmond_miles,4,86,
+deekei,1,86,
+dead_animal,0,86,
+daenarys,1,86,
+d-ten,1,86,
+crystal_maiden,4,86,"rylai_(dota),rylai_crestfall"
+crusader_(ragnarok_online),4,86,
+crossed_belts,0,86,
+crib,0,86,
+corphish,4,86,
+coco_bandicoot,4,86,
+coat_rack,0,86,
+chi_lian_(qin_shi_ming_yue),4,86,
+cheng_xiaoshi,4,86,
+charimei,1,86,m874
+chano_hinano,1,86,
+champagne_(azur_lane),4,86,
+chagamaka,1,86,
+chabudai,1,86,
+centurii-chan_(artist),1,86,
+cecilia_(pangya),4,86,
+cavalry,0,86,
+captain_mizuki,4,86,
+c-da,1,86,
+butajima_john,1,86,butakasu
+bunny_head,0,86,rabbit_head
+bu_li,1,86,
+brown_long-eared_bat_(kemono_friends),4,86,
+bobobong,1,86,
+blue_leggings,0,86,
+blowing_whistle,0,86,
+bloody_handprints,0,86,
+blonde_girl_(itou),4,86,blonde_girl_(itou_(onsoku_tassha))
+blanc_neige,4,86,
+blade_runner,3,86,
+bittersweet_(dalcoms),1,86,
+bisuke-tan,4,86,
+big-d,1,86,
+beshi,1,86,zerogic
+beauty_(pokemon),4,86,
+bangosu,1,86,
+ballroom_e_youkoso,3,86,
+baddap_sleed,4,86,
+b:ga,1,86,be_garam
+azzz_(7334080),1,86,
+azuma_takeshi_(andon_kandelaar),1,86,
+azuhira,1,86,
+azama_(fire_emblem),4,86,asama_(fire_emblem_if)
+awestruck,0,86,
+ass_freckles,0,86,
+asatsuki_(cookie),4,86,
+arm_slave_(mecha),0,86,
+argyle_shirt,0,86,
+arashiyama_hotori,4,86,
+aoha_(twintail),1,86,
+ankh_(ooo),4,86,
+anbj,1,86,
+anarchojs,1,86,
+amon_(lord_of_the_mysteries),4,86,
+amitie_florian,4,86,
+amazons_quartet,0,86,
+alexandrite_(houseki_no_kuni),4,86,
+akiba's_trip,3,86,
+akenoin_soumon,1,86,
+akara_kai,1,86,
+akai_suzaku,4,86,
+aizawa_chihiro,1,86,
+ailu_elf,1,86,
+aidumi,1,86,
+aegir_(swimsuit)_(housamo),4,86,
+adachi_yousuke,1,86,
+acrylicstroke,1,86,"acrylic-stroke,acrylicstroke0205"
+aaron_huton_(cyphers),4,86,
+234_(1234!),1,86,humiyooo
+zizi_niisan,1,85,
+zhongwu_chahui,1,85,
+zebra_girl,0,85,
+yuuki_mizuho,4,85,
+yumenouchi_chiharu,1,85,
+yukiman,1,85,
+yukata_lift,0,85,
+yuhito_(ablbex),1,85,
+yotaro,1,85,hiro_(yuto_noirm08)
+yoshi_(crossmind),1,85,
+yoko.u,1,85,
+yennefer_of_vengerberg,4,85,
+yatagarasu,0,85,
+yasu,1,85,
+yamayoshi,1,85,
+yamanome,1,85,
+wori,1,85,
+wing_tattoo,0,85,
+whyhelbram,1,85,
+west_24,1,85,west_(vaem5527)
+vsk-94,0,85,
+vill-v,4,85,
+vietnam,0,85,
+vialnite,1,85,
+valitran,1,85,
+utamaru_(konomix),1,85,"konomix,kotobamaru"
+ushiro_muki,1,85,ushi_ro
+usapyon,4,85,
+uraki,1,85,
+union_jack_bikini,0,85,
+under_the_moon,3,85,
+ugai_yuichi,1,85,
+u_(mikaduki0720),1,85,
+tsurugi_hina,4,85,
+tsukiori_sasa,1,85,
+tsukino_murakumo,1,85,
+tsuchiya_kouta,4,85,
+tseng,4,85,
+triple_horizontal_stripe,0,85,
+touhaku,4,85,
+torisudesu,1,85,
+too_many_birds,0,85,
+tona_bnkz,1,85,
+thighhigh_dangle,0,85,
+thetis_(last_origin),4,85,mh-4_thetis
+tel,1,85,
+team_galactic_grunt,4,85,galactic_grunt
+tata_(tataice),1,85,
+tamura_masafumi,1,85,
+tama_two_(fukuya),1,85,shiratama_(fukuya)
+taliyah,4,85,
+takuteks,1,85,
+takabow,1,85,keikotsu
+tail_brushing,0,85,brushing_tail
+super_saiyan_god,0,85,
+suou_tsukasa,4,85,
+sudako_(dai011305),1,85,
+ssamjang_(misosan),1,85,
+sptbird,1,85,
+spice_girl_(stand),4,85,
+soragane_(banisinngurei),1,85,
+soraao0322,1,85,
+solar_system,0,85,
+soburi,1,85,
+so_nagi,4,85,
+simon_shades,0,85,
+siebold_(pokemon),4,85,
+shovel_knight,3,85,
+shituzi,1,85,
+shitou_(1992116210),1,85,
+shiny_rod,0,85,
+shiei_no_sona-nyl,3,85,
+severed_finger,0,85,
+sera_karen,4,85,
+senoo_kaori,4,85,
+senki_zesshou_symphogear_xv,3,85,
+sei_asagiri,4,85,
+seedot,4,85,
+schala_zeal,4,85,
+satou_chagashi,1,85,
+satofuji_masato,1,85,
+sashimono,0,85,
+san-x,3,85,
+sakura_ab,1,85,
+saji_crossroad,4,85,
+ryoumoto_ken,1,85,
+ru2n131,1,85,
+roru_(lol_dessin),1,85,
+rokki_hero,1,85,
+rim_(kamitsubaki_studio),4,85,
+rennerei,1,85,
+renji_(orange_ize),1,85,
+reload9_yohji,1,85,
+refia,4,85,
+rappy,4,85,
+rance_quest,3,85,
+rakuji_tarahi,1,85,
+rail_(silverbow),1,85,
+qbspdl,1,85,
+pro-p,1,85,
+pretzel_bikini,0,85,
+poses,0,85,
+portmanteau,0,85,
+popcorn_91,1,85,hariiro_pon
+pink_cat,0,85,
+piloswine,4,85,
+panda_(pandadesu),1,85,panda_(shiro_x_kuro)
+pale_eye,0,85,
+ouya_(maboroshimori),1,85,
+outstretched_foot,0,85,
+oueo,1,85,
+orobou,1,85,
+orange_(meitoku),1,85,
+okita_souji_alter_(swimsuit_saber)_(first_ascension)_(fate),4,85,
+null_suke,1,85,
+noraico,1,85,
+no_name_ninja,1,85,
+nazunakku,1,85,spitfire99
+natsuzuka_(ryou),4,85,
+narusawa_yui,4,85,
+narusan_beam2,1,85,
+nanami_to_konomi_no_oshiete_abc,3,85,
+nanachise7,1,85,
+nakarai_takumi,1,85,tn_(nakamatic-arsenal)
+mytyl,1,85,
+munakata_(hisahige),1,85,
+mukiguri,1,85,
+muhogame,1,85,
+motoi_ayumu,1,85,
+motchie,1,85,
+mokuren_(kunoichi_tsubaki_no_mune_no_uchi),4,85,
+moegi_emo,4,85,
+mizuno_poppo,1,85,
+miyai_haruki,1,85,
+mitama_mayo,4,85,
+misa_(kaeruhitode),1,85,
+mirakurun,4,85,
+mine_(wizard),1,85,
+miku_miku_ni_shite_ageru_(vocaloid),3,85,
+mike_luckas,1,85,
+metal_gear_(robot),0,85,
+mechanica_(arms),4,85,
+mecha_danshi,0,85,
+masuo,1,85,nishio_masuo
+masu_shu,1,85,
+mapi,1,85,
+mad_father,3,85,
+machimote_taikou,1,85,
+ma_tsukasa,1,85,
+luren_max,1,85,zwqq
+lunar_2:_eternal_blue,3,85,
+logiclr,1,85,
+lims_(neko2lims),1,85,
+lilith-soft,3,85,
+lilac_(p-f_easy),1,85,p-f_lilac
+licking_stomach,0,85,
+laslow_(fire_emblem),4,85,lazward_(fire_emblem_if)
+kuzuryu_io,4,85,
+kuya_(nu_carnival),4,85,
+kuroha_uma,1,85,
+kunimura_hakushi,1,85,
+kozomezuki,1,85,kozomedzuki
+konsu_konsuke,1,85,
+kokonobi,1,85,
+koji_(kohei66),1,85,
+koio,1,85,
+kobi420,1,85,
+klin_(girls'_frontline),4,85,klin_(girls_frontline)
+kkry99,1,85,
+kito_(coyo),1,85,kito_(pixiv5248)
+kiske,1,85,
+kishimen_udn,1,85,
+kisara_(tales),4,85,
+kirby's_dream_land_3,3,85,kirby's_dreamland_3
+king_bradley,4,85,
+kichin_yarou,1,85,marsspider
+kezi,1,85,
+ken_(1057168252),1,85,
+kawamura_toshie,1,85,
+kawaku,1,85,
+kasasasagi,1,85,
+karasuma_ryuu,4,85,
+kaori_(azumanga_daioh),4,85,kaori_(azumanga_daiou)
+kamen_rider_v3_(series),3,85,
+kamen_rider_amazon,4,85,
+kamdia,1,85,
+kakizaki_misa,4,85,
+kaitan,1,85,
+kagami_(galgamesion),1,85,
+jun_wei,1,85,
+jude_mathis_(school_uniform),4,85,
+jon_shicchiou,1,85,jyon_shicchiou
+joker_(2019),3,85,
+john_crayton,1,85,
+jeanne_d'arc_alter_santa_lily_(fate)_(cosplay),0,85,
+izumi_soujirou,4,85,
+iury_padilha,1,85,
+iro_(boo_iro),1,85,
+imuraya_ayuka,1,85,
+illustrious_(never-ending_tea_party)_(azur_lane),4,85,
+ikelag,1,85,
+iiimirai,1,85,
+ihara_asta,1,85,
+iccoco,1,85,
+i_(kaiyou),1,85,
+i-201_(kancolle),4,85,
+honedge,4,85,
+holysnow,1,85,
+hiyama_yuu_(wee259hiyama),1,85,wee259hiyama
+helping,0,85,
+heaven,0,85,
+heart_stickers,0,85,
+hayanye,1,85,
+hawawa,1,85,
+harusame_(user_wawj5773),1,85,xiho_(harusame)
+haru_aki,1,85,
+hano_haruka,1,85,hano_(keepon_haruka)
+hannya_(arknights),0,85,
+hand_on_belt,0,85,
+haishiki,1,85,
+gyaza,1,85,
+grimoire_weiss,4,85,
+grey_collar,0,85,
+gran_saga,3,85,
+gossa-tei,1,85,
+gomosawa,1,85,
+gogatsu_no_renkyuu,1,85,
+glensaru,1,85,
+gasterblaster,0,85,
+ganik,1,85,
+fuwa_(precure),4,85,
+fuguno,1,85,
+frog_hat,0,85,
+flandre_day,0,85,
+flan-maman_(goma),4,85,
+finishing_move,0,85,
+feel_(nasitaki),1,85,
+executioner_(girls'_frontline),4,85,executioner_(girls_frontline)
+excavator,0,85,
+ese_shinshi,1,85,
+enjutsu,4,85,
+enatsu,1,85,
+eiyuu_(eiyuu04),1,85,
+eichi_(skskdi12z),1,85,
+edwin_huang,1,85,
+ear_fondling,0,85,
+dragon_age,3,85,
+double_chin,0,85,
+donut_(zoza),4,85,
+dog_hat,0,85,
+delphinium_(darling_in_the_franxx),4,85,
+darkmuleth,1,85,
+danna,1,85,
+dagashi_(place),1,85,
+cutting_own_hair,0,85,
+cupa_(at2.),4,85,
+cum_in_eye,0,85,
+culotte_(hosenrock),1,85,
+crazy_grin,0,85,
+coomer_(meme),4,85,coomer
+columbia_(azur_lane),4,85,
+coffee-break,1,85,
+clint_barton,4,85,
+clear_(dramatical_murder),4,85,
+cleaning_windows,0,85,
+clarion,4,85,
+cinccino,4,85,
+chisa,1,85,
+chilla_(arms),0,85,
+cherry_(saber_j),4,85,
+chemical-x,1,85,
+checkered_jacket,0,85,
+chanmura,1,85,
+carol_danvers,4,85,
+carnivine,4,85,
+capcom_vs_snk,3,85,
+campbell_gichou,1,85,
+bugles_on_fingers,0,85,
+bugle,0,85,
+brough_superior,0,85,
+boku_no_risou_no_isekai_seikatsu,3,85,
+bnari,1,85,byn6
+bill_cipher,4,85,
+belle_(disney),4,85,
+bathroom_scale,0,85,bathroom_scales
+bassa,1,85,
+barrett,0,85,
+baby_carrier,0,85,
+babo,1,85,
+azazel_(azazel-san),4,85,
+ayumu_(zenkou),4,85,
+axia_krone,4,85,
+avengers:_endgame,3,85,
+asselin_bb_ii,4,85,
+asiri_senpai,1,85,
+asagiri_mai,4,85,
+aro_1801,1,85,
+arishima_alice,4,85,
+apple_brk,1,85,
+aoki_yuriko,4,85,aoki_kou
+aoki_ryuusei_spt_layzner,3,85,blue_comet_spt_layzner
+aoinagi,1,85,
+aoi_yuki,1,85,
+aoi_toori,4,85,
+anya_(spy_x_family)_(cosplay),0,85,
+anmita_(rarutos),1,85,
+amazake_(drink),0,85,
+amawa_kazuhiro,1,85,
+amatsume_akira,4,85,
+alban_knox,4,85,
+akutaa,1,85,
+akr_(qpqpqp),1,85,
+akm,0,85,
+akiyama_nenehisa,1,85,
+airy_(bravely_default),4,85,aerie_(bravely_default)
+adjusting_shorts,0,85,
+adachi_shingo,1,85,
+aayh,1,85,
+6maker,1,85,
+500_dollar_four_foot_tall_mareep_(meme),0,85,500_dollar_four_foot_tall_mareep
+zky_(oekaky),1,84,
+yuzuttan,1,84,
+yuuki_(yukigeshou_hyouka),1,84,
+yumeno_tanuki,1,84,
+yooki_(winter_cakes),1,84,
+yolanda,1,84,
+yian_kut-ku,4,84,
+yellow_armor,0,84,
+yasukuni_kazumasa,1,84,
+yasu_(segawahiroyasu),1,84,
+xion32,1,84,
+wr_(karakusa_senbei),1,84,oki_asari
+withered,0,84,
+witch_(left_4_dead),4,84,
+white_overalls,0,84,
+white-corner,1,84,"ao666,white_6606"
+wassnonnam,1,84,
+walkalone,1,84,
+w_(1999_kyu),1,84,
+vomi_agogo,4,84,
+uthy,1,84,0000_(asd7083)
+unconventional_guitar,0,84,
+ume_(kancolle),4,84,
+uedrk_yamato,1,84,
+tsurugi_(swimsuit)_(blue_archive),4,84,
+tsumiki_akeno,1,84,
+tsuka_(handle),0,84,
+tsubasa19900920,1,84,
+trypophobia,0,84,
+toe_socks,0,84,
+tk_(butakuma),1,84,
+timcanpy,4,84,
+tied_dress,0,84,
+thwackey,4,84,
+the_incredibles,3,84,
+the_amazing_world_of_gumball,3,84,
+testicles_on_face,0,84,"teabagging,teabagging_(sexual)"
+tatenashi_high_school_uniform,0,84,
+tamano_nae,1,84,
+talulah_the_fighter_(arknights),4,84,
+takeko_spla,1,84,
+takeda_sun,1,84,
+takatan,1,84,
+suzunami_(kancolle),4,84,
+suzuki_sonoko,4,84,
+supermarine_spitfire,0,84,
+super_sailor_uranus,4,84,
+sunako_(veera),1,84,
+sumire_(blue_archive),4,84,
+suika_(atelier-yuu),1,84,
+strawberry_prince,3,84,
+stick_jitb,1,84,
+starry_hair,0,84,
+spanish_flag,0,84,
+space_channel_5,3,84,
+sousai_shoujo_teien,3,84,
+sorashima_(117),1,84,
+sonic_adventure_2,3,84,
+soldering_iron,0,84,
+skyhouse,1,84,
+skunk_ears,0,84,
+sketti,1,84,
+sier_(girls'_frontline),4,84,seele_(girls'_frontline)
+sienna_(henken),4,84,
+shukurin,1,84,
+shirt_hold,0,84,
+shirousa,1,84,
+shirinda_fureiru,1,84,
+shinkansen,0,84,
+shingo_(picturepuzzle),1,84,
+shikakui_kyomu,1,84,
+sheldon_(splatoon),4,84,bukichi_(splatoon)
+shapes,0,84,
+sebunsu,1,84,
+scroll_tube,0,84,
+sayori_(oskn),1,84,
+satou_memeko,1,84,
+sasuga_kei,1,84,
+saruton,1,84,
+sangai_senki,3,84,
+sakasa_(guranyto),1,84,
+sahara1127,1,84,
+rosetta_passel,4,84,
+ristarte_(kono_yuusha_ga_ore_tueee_kuse_ni_shinchou_sugiru),4,84,
+ripple_(mahoiku),4,84,
+ringpearl,1,84,
+rikkii_(likito_yuzu_is),1,84,
+remi_(mozzaremi),1,84,
+refrigerator_interior,0,84,
+red_(pokemon)_(cosplay),0,84,
+recettear,3,84,
+rear_naked_choke,0,84,
+r_(corolla),1,84,
+quincy_(nu_carnival),4,84,
+puni_(atelier),4,84,
+project_luminasys,3,84,
+prinplup,4,84,
+potemkin_(guilty_gear),4,84,
+pornhub,3,84,
+plymouth_(azur_lane),4,84,
+pig_costume,0,84,
+peperon_(peperou),1,84,
+penguin_frontier,1,84,
+peas,0,84,
+paradise_(swd3e2),4,84,
+paperwork,0,84,
+panorama,0,84,
+oyu_no_kaori,1,84,
+orifushi_akina,4,84,
+oono_akira,4,84,
+one_man's_dream_ii,3,84,
+on_mecha,0,84,
+nyucha,1,84,
+nyarlathotep,4,84,
+noelle_holiday,4,84,
+nitro+_chiral,3,84,
+nishijima_kai,4,84,
+nikku_(nzaf5832),1,84,
+nightwing,4,84,
+night_demon,3,84,
+nice_boat_(meme),0,84,
+ngo,1,84,
+neil_dylandy,4,84,
+natsushima_memo,1,84,"inuno_pesu,natusimamemo"
+narutaki_fuuka,4,84,
+narmaya_(holiday)_(granblue_fantasy),4,84,
+nanao_(naoekaki25),1,84,
+namiki_meiko,4,84,
+nakiri_asahi,4,84,
+nagato_(kancolle)_(cosplay),0,84,
+naftosaur,1,84,
+musashi_(kancolle)_(cosplay),0,84,
+murmansk_(azur_lane),4,84,
+murakami_teruaki,1,84,
+motoki_(hisano_motoki),1,84,
+mostima_(spellbreaker)_(arknights),4,84,
+moshimo_ashita_ga_hare_naraba,3,84,
+mizusoba,1,84,
+mizuno_midori,4,84,
+mizuki_(kogetsu-tei),1,84,
+misato_hao,1,84,504723f
+military_police_brigade_(emblem),0,84,
+mikomu,1,84,
+mike_(mikeneko),1,84,
+migu_(iws2525),1,84,
+midou_tsukasa,1,84,
+mian_(3zandora),1,84,
+mi_mi_ham,1,84,
+messer_ihlefeld,4,84,
+may_(2747513627),1,84,
+matsurisu,4,84,
+matsu_(bandan),1,84,
+maruyama,1,84,
+maru_(sasayama_chikage),1,84,
+mammon_(reborn),4,84,
+maku_(l-u),1,84,
+makoushi,1,84,
+makinohara_shouko,4,84,
+maki_(letusgomaki),1,84,
+maihama_minami_high_school_uniform,0,84,
+magni_dezmond,4,84,
+magmar,4,84,
+ma-yu,1,84,
+lycoris_fubuki,4,84,
+lucena_winter,4,84,
+lloyd_asplund,4,84,
+liyou-ryon,1,84,
+listening,0,84,
+lipstick_mark_on_penis,0,84,
+lioreo,1,84,ryou_(pix_gallerio)
+li_shuwen_(old)_(fate),4,84,
+lessar,4,84,
+legoshi,4,84,legosi
+laughing_man_(ghost_in_the_shell),0,84,laughing_man
+lalazyt,1,84,
+lace_hairband,0,84,
+l.bou,1,84,
+kuro-kun_(nablack),1,84,
+kumasawa_(dkdkr),1,84,
+kukkumann,1,84,
+kt_(kusare171),1,84,
+koyomisa,1,84,
+koutetu_yarou,1,84,
+koti,1,84,
+koneko_mari,1,84,
+koko_(koko3),1,84,
+koisuru_otome_to_shugo_no_tate,3,84,koisuruotome_to_syugonotate
+kofa_(ikyurima),1,84,
+knight_(fft),4,84,
+kiritani_haruka,4,84,
+kinou_no_shika,1,84,
+kindandowa,1,84,
+kinatsu_souju,1,84,
+kimitoshiin,1,84,
+kimblee,1,84,
+khibiki,1,84,
+kemono_friends_festival,3,84,
+kel-tec,0,84,
+kawa_akira,1,84,
+kannagi_noel,4,84,
+kamo_3,1,84,
+kama_(chocolate_heaven)_(fate),4,84,
+kakutasu,1,84,
+kakult2017,1,84,
+kako_(kemono_friends),4,84,
+kajiwara_sora,4,84,
+kaichou_wa_maid-sama!,3,84,kaichou_wa_maid-sama
+kaguya_(kagaminomachi_no_kaguya),4,84,
+kaejunni,1,84,
+kaatoso,1,84,
+k@bu,1,84,
+jitsu_hidari,1,84,
+jin_grey_paladin,1,84,
+jenmin12,1,84,
+jeane_(gensou_suikoden),4,84,
+jd_(bibirijd),1,84,
+jane_maxwell,4,84,
+jaina_proudmoore,4,84,
+ishiki_(okota),1,84,
+isako_rokurou,1,84,"6ro,finecraft69,rokuroh_isako"
+ink_on_face,0,84,
+imizu_(nitro_unknown)_(character),4,84,
+imaizumi_teruhiko,1,84,
+ignis,4,84,
+iganseijin,1,84,
+ibuki_(ibuki0118),1,84,
+ibaraki_shun,1,84,
+hyugo,1,84,
+hyou_(hyouga617),1,84,
+howe_(azur_lane),4,84,
+hourai_kochou,1,84,
+hot_drink,0,84,
+hms_orion_(siirakannu),4,84,
+hirokazu_(analysis-depth),1,84,
+hirasaka_ine,1,84,hirasaka_(okome13)
+hinase_(jet_hearts),1,84,
+higashi_no_eden,3,84,"eden_of_the_east,eden_of_the_east"
+hestia_(neko_itachi),1,84,
+hekikuu_(kanaderuyume),1,84,
+head_fuse,0,84,
+hatomugi_(mugicha),1,84,
+hasegawa_fumi,4,84,
+hari611,1,84,
+hansel_(sinoalice),4,84,
+haiteku,1,84,
+hachiya_shohei,1,84,
+gyudong123,1,84,
+guriin,1,84,
+guntank,4,84,
+gowther,4,84,
+gotcha!_girl_(pokemon),4,84,
+good_ass_day,0,84,
+gnns,1,84,
+glutton,0,84,
+george_the_bomb,4,84,
+genjuu_rou,1,84,
+gavial_the_invincible_(arknights),4,84,
+gasuto_(kamikami),1,84,
+garukichi,1,84,
+ganon,4,84,
+gakkou_no_kaidan_(anime),3,84,ghost_stories
+fuurin_rei,4,84,
+fujiwara_no_mokou_(cosplay),0,84,
+fujimaru_ritsuka_(female)_(anniversary_blonde),4,84,
+fujimachine_(clayten),1,84,clayten
+fruit_on_liquid,0,84,
+frederick_(fire_emblem),4,84,frederik_(fire_emblem)
+fox-pop_vli,1,84,
+food-themed_hat_ornament,0,84,
+follen_(639594),1,84,
+female_mage_(dungeon_and_fighter),4,84,
+fcc,1,84,
+father_(diva),4,84,brother_shades_(diva)
+excalibur_galatine_(fate),0,84,"excalibur_galantine,excalibur_galatine"
+eureka_814,1,84,
+esu_(transc),1,84,
+eromettsu,1,84,
+emu_(emum),1,84,machi-z
+eigaka,1,84,
+egawa_kusumi,4,84,
+ecaflip,4,84,
+e_sdss,1,84,
+e_2,3,84,
+dydydyok,1,84,
+dwarf_(dragon's_crown),4,84,
+dress_straps,0,84,
+donald_trump,4,84,
+domoge,1,84,
+doburoku_(daiginjou),1,84,
+dj_copy_and_paste,4,84,
+depo_(typebaby505),1,84,
+densuke,4,84,
+debi_tarou,4,84,
+danpu,1,84,
+daina_(encore62),1,84,
+crab_man,1,84,
+cr-r,1,84,
+color_coordination,0,84,
+cologne_(heartcatch_precure!),4,84,cologne_(precure)
+cloud9,3,84,"cloud9_(team),cloud_9_(team)"
+chiruru96,1,84,
+child_assassin_(fate/zero),4,84,
+chiba_saori,4,84,
+chemist_(fft),4,84,
+carcass_(artist),1,84,
+calpis118,1,84,
+burnet_(pokemon),4,84,
+buchi0122,1,84,
+booch,1,84,
+bomssp,1,84,
+blue_mage,4,84,
+bitter_melon,0,84,
+big_o_(mecha),4,84,
+betoko,4,84,
+beatrice_(wild_arms),4,84,
+bbk_(13zk),1,84,bushidokuroi
+basculegion,4,84,
+baka-man,1,84,
+bagon,4,84,
+badger_ears,0,84,
+ayukawa_tenri,4,84,
+avatar_(mabinogi_heroes),4,84,
+au11,1,84,yi_dianxia
+atsajh,1,84,
+atoli_(.hack//),4,84,
+atair,1,84,
+ashisi,1,84,
+asagi_marin,4,84,
+ariko,1,84,uhouho14
+arata_toshihira,1,84,
+aozora_kyuuji,1,84,
+aonoji,1,84,
+aoi_(ittla),4,84,
+anno_masato,1,84,"unknown_(nanairo1016),yasuno_masato"
+annaka_haruna,4,84,annaka_(nichijou)
+andou_inari_official,3,84,
+ander_(at2.),4,84,
+amemiya_sayaka,4,84,
+amakano,3,84,
+alina_l,1,84,
+akiyoshi_haru,1,84,haru_(noppopo)
+aki_no_urara_no_akane-iro_shoutengai,3,84,aki_no_urarano_akane_iro_shouten_gai
+akahoshi_kenji,1,84,barbecue_(artist)
+aizen_sousuke,4,84,
+aizawa_kotarou,1,84,
+ahat_(ragnarok_online),4,84,
+adol_christin,4,84,
+adjusting_headphones,0,84,
+achikita_chinami,4,84,
+abyssal_twin_princess_(white),4,84,abyssal_twin_hime_(white)
+a-shacho,1,84,
+zebra_tail,0,83,
+zapfish,4,83,denchinamazu
+yuzuha_(yuzuya),1,83,
+yuxian_youka,1,83,
+yua_(your_diary),4,83,
+yoshino_keiko,1,83,
+yorugami_rei,1,83,mofu_cat001
+yoizuki_(azur_lane),4,83,
+yi_er_fan_club_(vocaloid),3,83,"1_2_fan_club_(vocaloid),ii_aru_fan_club_(vocaloid)"
+yellow_teeth,0,83,
+yanagi_wakana,1,83,
+yanagi_(tsukiakari),1,83,
+yamino_kenji,1,83,
+yairo_(sik_s4),1,83,
+yahiro_pochi,1,83,
+xiling,1,83,
+wringing,0,83,
+wonder_acute_(umamusume),4,83,
+wiffle_gag,0,83,
+whole_note,0,83,semibreve
+white_delmo,4,83,
+wat_(worldlog),1,83,
+viego_(league_of_legends),4,83,
+vf-31,4,83,
+vegas_(akg),1,83,
+uzuki_makio,4,83,
+usotsuki,4,83,
+usaginezumi,1,83,
+urode,1,83,
+unown_o,4,83,
+uninigumi,1,83,
+ueda_metawo,1,83,
+turtonator,4,83,
+tug_of_war,0,83,
+tsujizen,1,83,
+tsuchiyamada_mitsuko,4,83,
+trianon,1,83,
+toyota_sprinter_trueno,0,83,
+touto_seiro,1,83,
+totem,0,83,totem_pole
+torn_necktie,0,83,
+tmari,1,83,
+the_end_(phrase),0,83,
+tenchi_muyou!_uchuu_hen,3,83,
+team_aqua_uniform,0,83,
+taroumaru_(gakkou_gurashi),4,83,
+tape_recorder,0,83,
+taoru_(t_kiji),1,83,
+tanline_peek,0,83,
+tanikake_yoku,1,83,yoku_no_ke2
+taniguchi_gou,1,83,
+taishou,0,83,
+table_of_contents,0,83,
+suto_(iamsuto),1,83,
+sushi_pizza_rrr,1,83,
+sunshine_(1638509769),1,83,
+suminoya_kureha,4,83,
+subway_station,0,83,
+striped_sarong,0,83,
+streets_of_rage,3,83,bare_knuckle
+stray_cat_(jojo),4,83,nekogusa_(jojo)
+steamed_egg,1,83,
+spiked_horns,0,83,
+souike,1,83,misshao_00
+soeda_ippei,1,83,ippei_soeda
+siwasunohige,1,83,
+shinonon_(iso_shino),1,83,
+shinobu_(tyno),1,83,
+shinki_(shinki59),1,83,
+shijima_(tanfn),1,83,shizuma_(tanfn)
+sheer_gloves,0,83,
+seripa,4,83,fasha_(dragon_ball)
+self_bondage,0,83,
+seboneko,1,83,backbonecat
+sean_matsuda,4,83,
+scathach_(fate)_(cosplay),0,83,
+saver_(artbysaver),1,83,
+satou_reika,4,83,
+sando_(dukedevil),1,83,sando_(artist)
+samurai_jack,3,83,
+sakura_(ukagaka),4,83,
+sakasana_(kaisen_teikoku),1,83,
+sakagami_umi,1,83,
+saint_onii-san,3,83,saint_young_men
+sage_(mami1210),1,83,
+sagas293,1,83,
+saezuru_usagi,1,83,
+ryuujou_(azur_lane),4,83,
+romeo_and_juliet,3,83,
+robot_sex,0,83,
+ritsuko_kubel_kettenkrad,4,83,
+rinwell_(tales),4,83,
+rico_(gunslinger_girl),4,83,
+ricci,1,83,
+retsuto,1,83,
+renka_(renkas),1,83,
+reinhard_von_lohengramm,4,83,
+redbaron,1,83,
+rche_(beatmania),4,83,
+ray_peng,1,83,
+ramenwarwok,1,83,
+ragnarok_(demon_sword),4,83,
+purugly,4,83,
+purple_wristband,0,83,
+purinnssu,1,83,
+primiera_(saga),4,83,
+powered_ciel,4,83,powerd_ciel
+pompompurin,4,83,
+plivyou,3,83,
+piyo_(pixiv_2308057),1,83,
+piers_nivans,4,83,
+panties_on_breasts,0,83,
+pangoro,4,83,
+ots-14_(ruler_of_the_banquet)_(girls'_frontline),4,83,
+oshiba_ken,1,83,
+orchid_(maplestory),4,83,
+orange_collar,0,83,
+oppai_oppai,0,83,
+opening_eyes,0,83,
+onaka_sukisuki,1,83,
+oh_(aung_ae),1,83,
+numaguro_(tomokun0808),1,83,
+noyamano_ringo,4,83,
+northern_parliament_(emblem),0,83,
+noako,1,83,
+niwaka_yuan,1,83,
+nishio_rina,4,83,
+nina_(wokada),4,83,
+nephthys_(p&d),4,83,
+naui_kudan,1,83,nantoooo
+narmaya_(valentine)_(granblue_fantasy),4,83,
+narita_tamezou,1,83,
+nantoka_maru,1,83,
+nanasuou,1,83,
+nanako_(melty_blood),4,83,
+name_(oiuio),1,83,
+myth1carts,1,83,
+mysterious_ranmaru_x_(fate),4,83,
+myrrh_(arknights),4,83,
+myoya,1,83,
+muslim,0,83,
+mumaya,1,83,
+muji_body_fitting_sofa,0,83,
+mr._nothing_(arknights),4,83,
+moshi_(atelier33-4),1,83,
+mogutofuoes,1,83,
+mochoeru,1,83,
+mo23,1,83,
+mizutsuki_rei,1,83,
+misekiss,1,83,
+miria_(claymore),4,83,
+mioda_69ch,1,83,
+mino_(udonge),1,83,
+minazuki_sarami,4,83,
+minamoto_mamechichi,1,83,
+minagi_hiyori,4,83,
+military_police,0,83,
+migi_(mm86262394),1,83,"mm86262394,monkurena"
+midori_(kancolle),4,83,midori_(kantai_collection)
+micon,1,83,
+met_(mega_man),4,83,metool
+men_in_black,3,83,
+mega_blaziken,4,83,
+medu_(rubish),1,83,
+mayo_(mayomr29),1,83,
+masou_shizuka,4,83,
+maruro,1,83,
+marui_(koedame),1,83,
+marina_hayami,4,83,
+marguerite_(one_piece),4,83,
+marble-v,1,83,
+manekineko5319,1,83,
+mandaring,1,83,
+manannan_mac_lir_(fate),4,83,
+maji_(etonato),1,83,
+mahou_tsukai_to_kuroneko_no_wiz,3,83,
+mahou_shoujo_taisen_contest_1,3,83,
+mahou_shoujo_suzune_magica,3,83,"puella_magi_suzune_magica,suzune_magica"
+mabahn,1,83,
+ma2,1,83,
+m._lee_lunsford,1,83,michael_lee_lunsford
+luxury_ball,0,83,
+loalo,1,83,
+littleshrimp,1,83,
+lily_strosek,4,83,
+lastdark,1,83,
+lakitu,4,83,
+laio,1,83,
+kyuutame,1,83,
+kusanagi_kikoku,1,83,
+kururun_(precure),4,83,
+kurozero,1,83,
+kuroneko_(kuroneko_works),1,83,
+kuroino_(0kuro8ino6),1,83,
+kurogane_ken,1,83,
+kuonji_shinra,4,83,
+kuko,1,83,
+kujou_subaru,4,83,
+kozakura_(i_s_15),1,83,
+kouzuki_nana,4,83,katsuki_nana
+kousaka_alice,4,83,
+kotobukiya,3,83,
+korwa_(summer)_(granblue_fantasy),4,83,
+konno_akikaze,1,83,
+kokuu_haruto,4,83,
+kokorowatari,0,83,
+koki_(ryoushikiha),1,83,koki_(pixiv)
+koiwai_yoshino,4,83,
+koh_rd,1,83,
+kochi_michikaze,1,83,
+kissing_foot,0,83,foot_kiss
+kisaki_oni,1,83,
+kiryuu_takahisa,1,83,
+kiritomo_koroha,1,83,"kirisaki_mocori,kirisaki_mokori,kiritomo_coroha,mocori_kirisaki"
+kirishima_shizuku,4,83,
+king_kong_(series),3,83,
+king_(tekken),4,83,
+kine_(kirby),4,83,
+kimihagu,3,83,
+kaze_(kazesan),1,83,
+kaze_(fire_emblem),4,83,suzukaze_(fire_emblem_if)
+katsushika_hokusai_(festival_outfit)_(fate),4,83,
+kasu_(kasunohikari),1,83,pachimon
+kappa_worker_(tag_dream),4,83,
+kaosu_kun,1,83,ryan_edian
+kamina_pose,0,83,
+kamijou_sadame,1,83,
+kama_(beast_iii/l)_(fate),4,83,
+kaliningradg,1,83,
+kaku-san-sei_million_arthur,3,83,diffusion_million_arthur
+kakei_sumire,4,83,
+ka941,1,83,
+jungle_wa_itsumo_hare_nochi_guu,3,83,"hare+guu,hareguu,jungle_wa_itsumo_hale_nochi_guu"
+juna_crawford,4,83,
+jojo_no_kimyou_na_bouken:_eyes_of_heaven,3,83,
+johnny_(nyansama0412se),1,83,johnnysendai
+japari_coin,0,83,
+jaguar,0,83,
+izumikuma,1,83,
+isuzu_ren,4,83,
+ishizu_kayu,1,83,05_(passelclow)
+iseshi,1,83,iseshi9167
+indai_(3330425),1,83,
+inai_uchi,1,83,
+imminent_death,0,83,
+illumination_stars_(idolmaster),0,83,illumination_stars
+idunn_&_idunna,4,83,
+ichimatsu_nana,1,83,
+ichigeki_sacchuu!!_hoihoi-san,3,83,
+hygogg,4,83,
+hufy,1,83,"gaeguribanchan,nonv"
+hoshikawa_tsukimi,1,83,
+hitachi_mako,4,83,
+hiroichi,1,83,
+hino_kahoko,4,83,
+hikasa_youko,4,83,
+heisa,1,83,
+headwear_with_attached_mittens,0,83,
+hakumei_to_mikochi,3,83,
+hakuhou_(ende_der_welt),1,83,
+haimei1980,1,83,franksoft3
+hahihu1782,1,83,
+h8k,0,83,
+guitar_(guitars),1,83,guitar_(artist)
+guan_dao,0,83,
+green_nipples,0,83,
+gotenks,4,83,
+gomio_(bb-k),1,83,
+gomadoka,4,83,
+golden_rose,0,83,
+gold_headband,0,83,
+gentiane_(girls'_frontline),4,83,gentiane_(girls_frontline)
+genda_koujirou,4,83,
+garin,1,83,
+game_club_project,3,83,
+gabriel_(granblue_fantasy),4,83,
+futase_hijiri,1,83,
+furusawa_yoriko,4,83,
+funi_mu9,1,83,
+fumi_(butakotai),1,83,
+fujimori_tonkatsu,1,83,
+ft-17,0,83,
+frog_panties,0,83,
+freyja_(p&d),4,83,
+french_battleship_princess,4,83,french_battleship_hime
+fou_(fate)_(cosplay),0,83,
+fffukuzawa,1,83,
+fake_scrollbar,0,83,
+emilia_percival,4,83,
+elizabeth_bathory_(third_ascension)_(fate),4,83,
+elemental_gelade,3,83,"elemental_gerad,erementar_gerad,erementargerad"
+dudeunderscore,1,83,jacky_lau
+dodory,4,83,
+dim_sum,0,83,
+diamond_pickaxe,0,83,
+dezel_(tales),4,83,
+devin_elle_kurtz,1,83,
+devil_heavens,1,83,
+detroit_metal_city,3,83,
+dancer_(fft),4,83,
+daitou_academy_school_uniform,0,83,daito_academy_uniform
+daisukerichard,1,83,
+cutlery,0,83,
+cure_marine_(cosplay),0,83,
+cordelia_(saga),4,83,
+colorful_kanan,3,83,
+coelacanth,0,83,
+coco_jumbo,4,83,
+clubroom,0,83,
+clown_mask,0,83,
+clamperl,4,83,
+chuor_(chuochuoi),1,83,
+chiba_shuusaku,1,83,
+chat_noir,4,83,
+cham_fau,4,83,
+chagama_teishoku,1,83,
+cat_paw,0,83,
+caim_(drag-on_dragoon),4,83,caim
+buko_(bukosuki),1,83,bukowiski
+bubble_wand,0,83,
+bshi_edayo,1,83,akatsuki_(4941086)
+breast_massage,0,83,
+blazblue_insignia,0,83,
+bishoujo_terror,3,83,
+bigxixi,1,83,maou_renjishi
+bellavoirr,1,83,
+beeswax_(weisser_sand)_(arknights),4,83,
+beam_cannon,0,83,
+beagle,0,83,
+bang_(gesture),0,83,
+bandaid_on_ear,0,83,
+bakusou_kyoudai_let's_&_go!!_max,3,83,
+bad_face,0,83,
+azure_(capriccio),1,83,
+ayase_naru,4,83,
+awayuki_ramika,1,83,
+avengers:_age_of_ultron,3,83,
+astraea_(fate),4,83,astraea_(fate/grand_order)
+ashe_(under_the_moon),4,83,
+asako_(itiba),1,83,
+asahi_rokka,4,83,lock_(bang_dream!)
+asa_ni_haru,1,83,
+armguards,0,83,
+arlmuffin,1,83,
+arind_yudha,1,83,
+argule0901,1,83,
+aquamu,1,83,aqua╬╝
+apple_print,0,83,
+aoyama_kotoha_(mitsuboshi_colors),4,83,kotoha_(mitsuboshi_colors)
+andira_(summer)_(granblue_fantasy),4,83,
+an_fyhx,1,83,
+amo_(silent_bomb19),1,83,ryono_mizuki
+amethyst_(houseki_no_kuni),4,83,
+amanda_kenny,1,83,
+altines,4,83,
+akujiki_musume_conchita_(vocaloid),3,83,akujiki_musume_conchita
+akiakane,1,83,
+akasaka_asa,1,83,
+akaitera,1,83,
+aduare,1,83,"aduare_mi,aduare_rp"
+acguy,4,83,
+abondz,1,83,
+1999,0,83,
+0417nao,1,83,
+zyunya,1,82,
+zweihander,0,82,
+ziz_glover,4,82,
+zashiki_usagi,1,82,
+yuzu_shio,1,82,
+yukimura_hyouga,4,82,
+yui_ko,1,82,
+yuguraniru,1,82,umayahara0130
+yueqin_(monnpiano),1,82,
+yoshinatsu,1,82,
+yoshida_akihiko_(style),0,82,
+yoneme_mei,4,82,
+yanhe,4,82,
+yamane_takao,4,82,
+watashi_no_tame_ni_nuginasai!,3,82,
+wa2000_(ballroom_interlude)_(girls'_frontline),4,82,
+vox,1,82,
+vichya_dominion_(emblem),0,82,
+usami_nanako,4,82,
+urshifu,4,82,
+urashimasakatasen,3,82,
+uninori,1,82,
+underlighting,0,82,
+unbuckled,0,82,
+umirororo,1,82,
+uliel,1,82,
+ukraine,0,82,
+udon_(memai_no_kabe),1,82,doseki_udon
+toshi_punk,1,82,"toshi_(pixiv62797),toshi_(tsujigiri_style)"
+toshi_(little-fluffy-cloud),1,82,juuyon
+torottye,1,82,
+torn_neckerchief,0,82,
+tokonoma,0,82,
+titanic_(movie),3,82,
+time_machine,0,82,
+tilde_(ice_cube),1,82,´¢×_(pixiv34168)
+tikoh,4,82,
+tiger_(p),0,82,
+tiasis,1,82,
+tarabagani,1,82,
+takt_op._destiny,3,82,
+takeshima_tsutako,4,82,
+takena-c,1,82,lunateelf
+synchroman,1,82,
+swinging_legs,0,82,
+suzune_hapinesu,1,82,
+surume_(clavis),1,82,
+surfing_orange,1,82,
+super_mario_world_2:_yoshi's_island,3,82,
+sun_shang_xiang,4,82,
+suigintou_(cosplay),0,82,
+suga_leon,1,82,
+standing_on_chair,0,82,
+springfield_(queen_in_radiance)_(girls'_frontline),4,82,
+sponty,4,82,
+soyubee,1,82,
+soul_(tamashii),1,82,
+sothis_(fire_emblem)_(cosplay),0,82,
+songmil,1,82,
+solcha,1,82,duyu
+sobi_(dnenqkswja),1,82,
+snake_box_sneak,0,82,
+skunk_tail,0,82,
+sitting_on_wall,0,82,
+sieyarelow,1,82,
+shutsuri,1,82,
+shut_hell_(character),4,82,
+shun_soku,1,82,
+shromann,1,82,
+show_(rinnetenshow),1,82,
+shiratama_mochi,1,82,
+shiraishi_yuzuki,4,82,
+shinobi_(sekaiju),4,82,ninja_(sekaiju)
+shimeno_puni,1,82,
+shiira_(nya_rl),1,82,nya_rl
+shiiki_(love-saber),1,82,love-saber
+shano_hiyori,1,82,
+see-through_body,0,82,
+scarlet_dango,1,82,
+sasaki_ryou,1,82,
+sakuraidai,1,82,
+sako_(namocake),1,82,
+saitou_shunsuke,1,82,
+saeki_shun,1,82,
+saboten,1,82,
+rupee,0,82,rupees
+runta,1,82,
+rumiko_(rmeco),1,82,
+rumia_(compacthuman),1,82,
+rogue_(7th_dragon),4,82,
+rinkah_(fire_emblem),4,82,rinka_(fire_emblem_if)
+rikopin,1,82,
+reverse_(bluefencer),1,82,rev_s_clock
+revenge,0,82,
+ressha_sentai_toqger,3,82,
+renren,1,82,
+reia_76,1,82,
+reason_(ficafe),1,82,
+real_bout_high_school,3,82,
+rapunzel,3,82,
+ranger_(azur_lane),4,82,
+rakuto_mangan,1,82,"actmangan,ran-neko"
+racing_miku_(2011),4,82,
+queen_of_hearts_(card),0,82,
+qianzhu,1,82,
+qianqian,1,82,
+puyopuyo_quest,3,82,
+prototype_(game),3,82,
+pornstar,0,82,
+poporing,4,82,
+ponzu_rui,1,82,
+pomu_(pomu_me),1,82,
+pokemon_ranger_uniform,0,82,
+pokemon_gym,0,82,
+pirason,1,82,
+patriot_(arknights),4,82,
+ozu_shion,4,82,
+otakeyan,1,82,
+osmanthus,0,82,
+orange_armor,0,82,
+ooshio_(azur_lane),4,82,
+onna_shunin_kishi_mieko,3,82,
+on_liquid,0,82,
+okishiji_en,1,82,
+ogata_mamimi,1,82,
+norba_shino,4,82,
+noragami_sota,1,82,katte_ni_kappa
+niur,1,82,
+nirvash,4,82,
+nira_(nira_box),1,82,"igarashi_(wp13),nira_box"
+neukkom,1,82,
+nekosuke_(oxo),1,82,
+nc731,1,82,
+natsui_tuna,1,82,
+nasakixoc,1,82,
+nao-08,1,82,
+nannung,1,82,
+nanako_(to_heart_2),4,82,
+nana_nakano,1,82,nakanoart
+namiki_itsuki,1,82,
+nama_udon,1,82,
+nagi_(akito),4,82,
+monohoshizao,0,82,
+momobami_kirari,4,82,
+momi,1,82,
+moja_(moja4192),1,82,
+moekichi,1,82,
+moai_(moai_world),1,82,
+mizushirazu,1,82,
+miyabi_urumi,1,82,pokpakman
+miraroma,3,82,miracle_romance_strawberry_scramble
+minashiro_soushi,4,82,
+mimiyama_kiichi,1,82,mimiyamakiichi
+mimikyu_(cosplay),0,82,
+mikoto_(ff9),4,82,
+miguel_rivera,4,82,
+mian_lang,1,82,
+mezul,4,82,
+medoi,4,82,
+matsuda_takato,4,82,
+mato_tsuyoi,1,82,
+mato_seihei_no_slave,3,82,chained_soldier
+masupa_kiriu,1,82,
+mash_rene_figaro,4,82,sabin_rene_figaro
+mary_(granblue_fantasy),4,82,marie_(granblue_fantasy)
+manyuu_kaeru_tasuke_sansei,1,82,metk
+manjoume_fumi,4,82,
+mandy_(grim_adventures),4,82,
+mandrill,1,82,
+mairudo_(mildcoffee1117),1,82,
+mage_(warcraft),4,82,
+mad_burnish,0,82,
+m_(m073111),1,82,
+m37_(summer_parader)_(girls'_frontline),4,82,
+m16a4,0,82,
+love_morocc,1,82,
+linoone,4,82,
+li_qingning_(the_legend_of_luoxiaohei),4,82,
+lavie_head,4,82,
+lapis_re:lights,3,82,
+kyokugen_dasshutsu:_9_jikan_9_nin_9_no_tobira,3,82,"999,kyokugen_dasshutsu:_ku_jikan_ku_nin_kyuu_no_tobira,nine_hours_nine_persons_nine_doors"
+kuzuryuu_yaichi,4,82,
+kty_(04),1,82,
+koyanskaya_(assassin)_(second_ascension)_(fate),4,82,
+kousaka_shigure,4,82,
+kouji_(astral_reverie),1,82,
+konoha_(arcana_heart),4,82,konoha_(arcana)
+kohinata_sora,1,82,
+kizuki_erika,1,82,
+kitchen_dragonmaid,4,82,
+kisaki_nana,1,82,nanami_nana
+kirimori_toya,1,82,
+king_(one-punch_man),4,82,king_(onepunch_man)
+kinako_(nurupoga),1,82,
+kimi_to_boku,3,82,
+keyhole_panties,0,82,
+kevin_kaslana,4,82,
+keureu_(tiqkdtiqkd10),1,82,
+ken_to_mahou_to_gakuen_mono,3,82,"class_of_heroes,sword&magic&school,totomono"
+kayano_ai,4,82,
+kasseus_maximus,1,82,
+kamen_rider_v3,4,82,
+kahlua_marjoram,4,82,
+kachikachipiroo,1,82,
+kabukimonogatari,3,82,
+juliet_persia,4,82,
+jeanne_d'arc_(formal_dress)_(fate),4,82,
+ixion_saga,3,82,
+itou_hikari,4,82,
+ito22oji,1,82,
+inushi,1,82,
+inori_(xyz5568),1,82,
+inazuma_eleven_(game),3,82,
+ina_(gonsora),1,82,
+imi_negev,0,82,
+ifpark_(ifpark.com),1,82,
+ichika_(ichika_manga),1,82,
+ichijou_eika,4,82,ichijo_eika
+hyuuman,1,82,
+hua_cheng,4,82,
+hozenkakari,1,82,
+holding_flower_pot,0,82,
+holding_dice,0,82,
+hoicyo,1,82,
+hiyuu_(hiyualice),1,82,hiyualice
+hisuian_braviary,4,82,
+hironii_(hirofactory),1,82,
+hirococo,1,82,
+hiragi_ringo,1,82,
+hide_and_seek,0,82,
+hello_planet_(vocaloid),3,82,
+heart_attack,0,82,
+hazuki_gean,1,82,
+hayami_yuujirou,1,82,
+hataya,1,82,
+haruto_yuki,1,82,shino_haruto
+hands_on_another's_wrists,0,82,
+hand_to_hand,0,82,
+hana_(mew),1,82,
+half-split_chopsticks,0,82,
+hakutaku,0,82,
+haje,1,82,
+h&k_g41,0,82,
+gundam_thunderbolt,3,82,
+griffon_(last_origin),4,82,p/a-00_griffon
+gretel_(black_lagoon),4,82,
+gravel_(modeling_night)_(arknights),4,82,gravel_(model's_night)_(arknights)
+goya_(xalbino),1,82,
+gokou_tamaki,4,82,"gokou_ruri's_little_sister,gokou_ruri's_youngest_sister"
+glass_wall,0,82,
+genis_sage,4,82,genius_sage
+geiru_toneido,4,82,senpuutei_puuko
+garter-velvet,1,82,
+fyu-neru,4,82,
+fuyu,1,82,
+fur-trimmed_thighhighs,0,82,
+fujiwara_aya,4,82,
+fujinuma_satoru,4,82,
+forced_partners,0,82,
+floatzel,4,82,
+file_cabinet,0,82,
+fikkyun,1,82,
+fever-san,1,82,
+feet_together,0,82,
+faucre_the_evil_overlord,4,82,faucre
+eye_poke,0,82,
+extra_hands,0,82,
+eruption,0,82,
+elfriend_(shiranui_flare),4,82,
+dvd,0,82,
+dutchko,1,82,
+dustox,4,82,
+dou-t,1,82,
+dizmathik,1,82,
+denken,1,82,
+denial,0,82,
+demyx,4,82,
+delorean,0,82,
+daylightallure,1,82,
+daniela_dimitrescu,4,82,
+dairyo3,1,82,
+daiji_pt,1,82,
+da_(datako),1,82,eflilies
+cure_papaya,4,82,
+cote,1,82,
+copycat_(dryfood),1,82,
+comiket_92,3,82,
+colorfag,1,82,
+cloud_meadow,3,82,
+clothes_iron,0,82,
+circle_garyuu,1,82,
+cinderella_dream_(idolmaster),0,82,cinderella_dream
+chouchin_obake,0,82,
+choroli_(chorolin),1,82,
+chiruku,1,82,
+charlie_nash,4,82,
+chain_paradox,3,82,
+centipede_girl,0,82,
+calm_(artist),1,82,
+c-kyuu,1,82,
+byuub,1,82,
+buster_machine_7,4,82,
+blue_scales,0,82,
+black_prince_(azur_lane),4,82,
+black_joa,1,82,
+binzume_yousei,3,82,"bottle_fairies,bottle_fairy,bottle_fairy,bottlefairies"
+bianka_durandal_ataegina_(bright_knight:_excelsis),4,82,
+betei,1,82,
+bead_curtain,0,82,
+basukechi,1,82,
+barok_van_zieks,4,82,
+baltimore_(finish_line_flagbearer)_(azur_lane),4,82,
+backless_pants,0,82,assless_pants
+b.c,1,82,
+ayane_(swimsuit)_(blue_archive),4,82,
+aussa_the_earth_charmer,4,82,
+astaroth_(p&d),4,82,
+ashiyu,0,82,
+asc11,1,82,leyuan_zhuifang
+aru_(abyssinia),1,82,
+art556_(girls'_frontline),4,82,art556_(girls_frontline)
+arios_(orochi_yuta),1,82,
+arado_balanga_(xchd7538),1,82,
+aqua_hisui,1,82,
+appo_(36786257),1,82,
+aouji,1,82,
+anzai_miyako,4,82,
+amidada,1,82,
+alice_parade,3,82,
+alenka,1,82,
+al_aoi_aoba,1,82,
+akefumi,1,82,darkers
+akamaru_saasha,1,82,
+acchi_(koiyimknp),1,82,
+abyssal_twin_princess_(black),4,82,abyssal_twin_hime_(black)
+a_kun,1,82,
+3di_project,3,82,
+2020_summer_olympics,3,82,
+108_(toowa),1,82,
+zwei_(rwby),4,81,
+zutto_mayonaka_de_ii_no_ni,3,81,
+ziz_(pantwo),1,81,
+zasshu_tamashii,1,81,
+zantyarz,1,81,
+zan_partizanne,4,81,
+z46_(her_first_summer)_(azur_lane),4,81,z46_(first_summer)_(azur_lane)
+yuzhi,1,81,
+yuuzaki,1,81,
+yume_keikaku,1,81,
+yukichiro,1,81,
+yui_sora,1,81,
+yokota_takumi,1,81,tatsumin
+yata_(yatao_zzz),1,81,
+yanma,4,81,
+xlscaler,1,81,benmarco
+xi_xeong,1,81,
+wujia_xiaozi,1,81,
+wsfw,1,81,
+windblade,4,81,
+wind_a_breath_of_heart,3,81,
+wildcat_(kusonemi),1,81,
+wei_(promise_0820),1,81,
+wedding_cake,0,81,
+washio_sumi,4,81,
+wani_(mezo),1,81,
+wang-pac,1,81,
+visqi,1,81,
+villain_pose,0,81,
+velociraptor,0,81,
+uron-rei,1,81,
+urase_shioji,1,81,shioji_(sioji24)
+unomi,1,81,
+ueno_tsuki,1,81,
+type_95_ha-gou,0,81,
+tube_top_lift,0,81,tubetop_lift
+tsuzuri_(itosousou),1,81,
+tsuzuki_shiori,4,81,
+tsukiyama_shuu,4,81,
+triton_(housamo),4,81,triton_(tokyo_houkago_summoners)
+trinity_glassfield,4,81,
+trigger,0,81,
+tries,1,81,
+transgender_flag,0,81,
+toy_train,0,81,
+totsuki_tooka,1,81,
+tonio_trussardi,4,81,
+tomaco,1,81,
+toki_to_shishin,1,81,shito_zhizhen
+tob,1,81,
+tnt_(aaaazzzz),1,81,
+thundercracker,4,81,
+throne_room,0,81,
+the_wizard_of_oz,3,81,wizard_of_oz
+tentai_senshi_sunred,3,81,
+taroimo_(00120014),1,81,
+tamanegiya,1,81,
+tama_(tamakaka1031),1,81,
+takeda_mika,1,81,
+takamichis211,1,81,
+tachibana_sakuya_(god_eater),4,81,
+swallow_(bird),0,81,
+suna_kiririto,1,81,
+sukuemon,1,81,
+suketto_sanjou!,3,81,
+sueyuu,1,81,
+stup-jam,1,81,
+stump_cover,0,81,
+spike,0,81,
+soveno,1,81,soveno2
+sougetsu_izuki,1,81,
+somebody_(leiking00),1,81,
+solokitsune,1,81,
+soft_&_wet,4,81,
+small_testicles,0,81,
+sleeves_removed,0,81,
+skysign_ft,1,81,
+single_half_glove,0,81,
+silentdin,1,81,
+sig_sauer_mcx,0,81,
+shrimpman,1,81,
+shiyun,1,81,
+shitodo_kuroji,4,81,
+shishou_(cookie),4,81,
+shiritori,0,81,
+shiratama_yomogi,1,81,
+shino_megumi,1,81,
+shing_(sorairo_factory),1,81,shing_xiang_bei
+shin_subarashiki_kono_sekai,3,81,neo:_the_world_ends_with_you
+shikkoku_no_sharnoth,3,81,
+shijie_jianfa,1,81,
+senhaku,1,81,
+sekiya_naru,4,81,
+scotch_(cookie)_(style),0,81,
+scavia10,1,81,
+saryuu_evan,4,81,
+sara_crispino,4,81,
+saji_genpou_(true),4,81,
+saitou_(tiger_&_bunny),4,81,
+runamatu,1,81,
+ruin_guard_(genshin_impact),4,81,ruin_guard
+ruei_(chicking),1,81,
+rosalie_de_hemricourt_de_grunne,4,81,
+romiy,1,81,
+roi_(liu_tian),1,81,
+renoa_yu,1,81,po_(seiga67696379)
+ren_(dramatical_murder),4,81,
+regalia_the_three_sacred_stars,3,81,
+re:_cutie_honey,3,81,
+raseruta,1,81,
+rainmaker,1,81,
+raidy,4,81,
+radioneet,1,81,
+quattro_(nanoha),4,81,
+quatre_raberba_winner,4,81,
+puyocha,1,81,yo-chaosangel
+puriketsu_corgy,1,81,
+professor_um,4,81,
+priest_(tera_online),4,81,
+pov_bullying,0,81,
+potemki11,1,81,
+pork,0,81,
+poop_on_a_stick,0,81,
+ponytail_girl_(kamisimo_90),4,81,ponytail_girl_(yuya)
+pomelomelon,1,81,
+plants_vs_zombies,3,81,
+plant_request,5,81,
+plant_monster,0,81,
+pirochi,1,81,
+pink_doragon,1,81,
+ping_hai_(warship_girls_r),4,81,
+pillion,0,81,
+petit_ramune,1,81,
+penis_hug,0,81,
+partial_bodysuit,0,81,
+panqlao,1,81,pan_ccp
+oumi_(rsag),1,81,
+otsumami_(02mami),1,81,
+orix_buffaloes,3,81,
+onimusha_soul,3,81,
+omiso_(omiso),1,81,
+okudaira_akira,4,81,
+okosama_lunch,0,81,
+ohmu,4,81,
+oggy,1,81,
+ogakuru,1,81,
+nys,1,81,
+noe_(ppppriver),1,81,"leginfs_(ppppriver),ppppriver"
+nobiiru_arm,0,81,
+ninto,1,81,
+nicholas_(azur_lane),4,81,
+next_purple,4,81,
+nemes,0,81,
+negimiso1989,1,81,
+nayu_tundora,1,81,
+natural_sign,0,81,
+narcissism,0,81,
+napstablook,4,81,
+nakura_haru,1,81,
+nakahara_(takayama_toshinori),4,81,
+nagehazushi,1,81,
+nagakura_(seven_walkers),1,81,
+myouren_temple,0,81,
+my_sunshine,4,81,
+muuyiie,1,81,
+mutsuki_(tsugaidanuki),1,81,arana_21
+mutsuki_(ama245),1,81,
+muelsyse_(arknights),4,81,
+mordred_(formal_dress)_(fate),4,81,
+mordeth,1,81,
+moose,0,81,
+moonlit,1,81,
+mononobe_kyoma,4,81,mononobe_(housamo)
+mongguri,1,81,
+mofetousu_furuna,4,81,
+mo:oku,1,81,"onew,woo:kn"
+mizuki_shiranui,4,81,
+miyamoto_konatsu,4,81,
+mitsuki_sohara,4,81,
+mito_itsuki,1,81,
+mirui,1,81,
+mirin_(granblue_fantasy),4,81,
+miria_harvent,4,81,
+mireille_bouquet,4,81,
+minazuki_shigure,4,81,minaduki_shigure
+mimengfeixue,1,81,
+mikawa_miso,1,81,
+mi8pq,1,81,
+mezashi_(mezamashi_set),1,81,
+metal_wings,0,81,
+meidri,4,81,
+mega_absol,4,81,
+mcp150_plus,1,81,
+mcdobo,1,81,
+maxima,4,81,
+matsubara_tsuyoshi,1,81,
+materializing,0,81,
+marubonman,1,81,
+marshall_(wahooo),1,81,
+marse_(rokudaime),1,81,
+mars_expedition,3,81,
+mario_kart_wii,3,81,
+marigold,0,81,
+marguerite_fatima,4,81,
+manabe_rika,4,81,
+majisuka_gakuen,3,81,
+maizken,1,81,jordan_smith
+mairin_(pokemon),4,81,manon_(pokemon)
+mahou_shoujo_lyrical_nanoha_detonation,3,81,
+mad_kimo,1,81,
+macne_nana,4,81,
+lukeskytera,1,81,
+loli_bitch_island,3,81,
+liliya_(kaetzchen),4,81,
+li_zhu,1,81,
+leipzig_(azur_lane),4,81,
+lapis_lazuli_(steven_universe),4,81,
+lanlanlap,1,81,shippu_(d0gc25t3s4zorzz)
+land_striker,0,81,
+kurosu_jun,4,81,
+kurosaki_kazui,4,81,
+kuronoiparoma,1,81,
+kuroe_(madoka_magica),4,81,kuroe_(magia_record)
+kurama_(naruto),4,81,
+kuhuku006f86,1,81,
+ksenolog,1,81,
+koyuri_shouyu,1,81,
+kouzuki_anna,4,81,anna_kozuki
+koto_tsubane,1,81,tubane
+konayuki_fururi,3,81,konayuki_fururi_yuzuhara-chou_curling_bu
+komori_shuri,4,81,
+komine,1,81,
+kokumotsu,1,81,
+kojo_(0124),1,81,kouase
+kirin_tarou,1,81,
+kick-ass,3,81,
+kevn,1,81,
+kelinch1,1,81,
+kei-co,1,81,
+kawajuu,1,81,
+kanon_(wild_arms_2),4,81,
+kagurazaki_shizuki,4,81,
+kaga_rin,4,81,
+juniper_actias,4,81,"juniper_(egocider),juniper_(vtuber)"
+jubeat,3,81,
+jougenmushi,1,81,
+joint_lock,0,81,
+jjw1029,1,81,g1_(artist)
+jiyu_(jiyusi),1,81,
+jinjide_shaonian,1,81,
+jeralt_reus_eisner,4,81,
+jean_havoc,4,81,
+jc_shikikan,1,81,
+izumi_rion,1,81,ir
+izakaya,0,81,
+iwasaki_masakazu,1,81,
+itsuki_(houkago_no_pleiades),4,81,
+irozuku_sekai_no_ashita_kara,3,81,
+inochigake_demo_tarinai_no_sa,3,81,
+infinity_gauntlet,0,81,
+in_cauldron,0,81,
+imaizumin-chi_wa_douyara_gal_no_tamariba_ni_natteru_rashii,3,81,
+ijac_ray,1,81,
+icwine,1,81,aisuuwan
+ice_reizou,1,81,aisu_reizou
+hyadain_no_kakakata_kataomoi_-_c,0,81,
+huyan_zhuo_(fate),4,81,
+huntail,4,81,
+houkago_climax_girls_(idolmaster),0,81,
+hotechige,1,81,
+hoshikuzu,1,81,
+holding_tripod,0,81,
+holding_cable,0,81,
+hishimiya_tsugaru,4,81,
+hinokumo_f,1,81,
+hikashou,1,81,
+higyaku_no_noel,3,81,noel_the_mortal_fate
+hero_(do-belman),1,81,
+hellmatio,4,81,
+hector_rivera_(alive),4,81,
+heatran,4,81,
+hayate_x_blade,3,81,hayate_cross_blade
+hata4564,1,81,
+haruka_(tactics),4,81,
+haru_(haruxxe),1,81,
+harrymiao,1,81,oystermiao
+hand_gagged,0,81,"hand_gag,handgag"
+hamuhamu,1,81,
+hachitani_(sunaba_suzume),4,81,
+green_sports_bra,0,81,
+greco-roman_architecture,0,81,
+gopnik,0,81,
+gonzalez_(machita_chima),4,81,
+glider,0,81,
+glass_teacup,0,81,
+glacia_(pokemon),4,81,prim_(pokemon)
+girlycard,4,81,
+girls'_generation,3,81,
+gift_(game),3,81,
+genpatsu_(cookie),4,81,
+gas,0,81,
+gaius_(nikoniko2),1,81,
+fuwamoko_momen_toufu,1,81,
+fukuda935,1,81,kedachic
+froth,0,81,
+fragile:_sayonara_tsuki_no_haikyo,3,81,fragile_dreams
+fox_girl_(jaco),4,81,
+foothold_trap,0,81,bear_trap
+foo_(pixiv54892036),1,81,
+firo_prochainezo,4,81,
+finish_line,0,81,
+fine_(symphogear),4,81,
+fighter_(dragon's_crown),4,81,
+fictional_sister,1,81,
+ferdinand_(honzuki_no_gekokujou),4,81,
+facehugger,4,81,
+eva_(hq8nn1ef),1,81,eba_uenihane
+energy_spear,0,81,
+eclosion,1,81,
+drinking_from_condom,0,81,
+dribbling_(basketball),0,81,
+dragon_dildo,0,81,
+double_driver,0,81,
+dorothy_(sinoalice),4,81,
+dori_(genshin_impact),4,81,
+dissidia_final_fantasy_opera_omnia,3,81,
+denki-gai_no_hon'ya-san,3,81,
+delta_9,1,81,
+dagappa,1,81,
+curren_chan_(sakutsuki_ma_cherie)_(umamusume),4,81,
+crown_print,0,81,
+crashtv,1,81,
+cote_d'azur_widowmaker,4,81,
+cloud_strife_(cosplay),0,81,
+claude_kenni,4,81,
+chuppa_(katotsuba),1,81,pacchu
+chirico_cuvie,4,81,
+chibiterasu,4,81,
+ceobe_(summer_flowers)_(arknights),4,81,
+cavalry_(maslow),1,81,keikihei
+caravan_stories,3,81,
+camui1104,1,81,
+body_soaping,0,81,
+bocchi_the_rock!,3,81,
+blue_rope,0,81,
+black_rose_dragon,4,81,
+binder_clip,0,81,
+beauty_(bobobo-bo_bo-bobo),4,81,
+beanstalk_(gift_uncompleted)_(arknights),4,81,
+battleship_girl,3,81,
+bano_akira,1,81,
+bangqiao_yan,1,81,
+aulbath,4,81,rikuo
+audiodude,1,81,
+audio-technica,0,81,
+ashley_(pokemon),4,81,satoko_(pokemon)
+asashio_(azur_lane),4,81,
+asaba_yuu,1,81,
+aoiro_(t_aoiro123),1,81,ao_(1234painter)
+aobe_mahito,1,81,
+anparu,1,81,
+anniechromes,1,81,
+aniplex,3,81,
+ame_(conronca),1,81,
+ambipom,4,81,
+amayofuu,1,81,
+amatiz,1,81,
+amano_yuu,1,81,
+amano_yoshitaka_(style),0,81,
+amagami_(makise_tsubaki),1,81,
+alt_(ctrldel),1,81,
+alchemist_(sekaiju),4,81,
+akutabe,4,81,
+akagi_(plum_and_snow)_(azur_lane),4,81,
+akagi_(kancolle)_(cosplay),0,81,
+aikawa_touma,1,81,
+ai_(aria),4,81,
+agarest_senki_2,3,81,
+adele_balfetto,4,81,
+aboutama,1,81,
+34_(sanjushi),1,81,nozumu
+zuiun_(kancolle),4,80,zuiun_(kantai_collection)
+zoirun,1,80,
+zifletts,1,80,
+z1_leberecht_maass_(kancolle)_(cosplay),0,80,
+yyy_(zelda10010),1,80,"yingyingying,yyy_(yingyingying),zelda10010"
+yuzukaze_rio,1,80,
+yun_(simoun),4,80,
+yufine_(epic_seven),4,80,yufine_(epic7)
+yotsuba_(sister_princess),4,80,
+yobai,0,80,
+yasato,1,80,
+yamabuki_(yamabuki_xxxxx),1,80,yamabuki_(laysis_yama)
+yakumo_beni,4,80,
+xin_hua,4,80,
+xigbar,4,80,
+xiayehongming,1,80,geya_(yoomario)
+xiaoju_xiaojie,1,80,
+veryhardloco,1,80,beriiwaadoroko
+utsumi_karmin,1,80,carmine_(ucdio)
+usubeni_sakurako,1,80,
+uraomote,1,80,
+unhappy_refrain_(vocaloid),3,80,
+udakyo,1,80,kyo_niku
+uchiha_symbol,0,80,
+tuoer,1,80,
+tsukimori_madoka,4,80,
+trisha_elric,4,80,
+touka_kureha,4,80,
+touhara_asuha,4,80,
+tougo,1,80,
+toudou_kasumi,4,80,todo_kasumi
+torii5011,1,80,
+tori_rui,1,80,
+toilet_seat,0,80,
+tika_(mika4975),1,80,
+tianhu_(the_legend_of_luoxiaohei),4,80,
+thunderseal,0,80,
+three_sizes,0,80,
+thief_(disgaea),4,80,
+teratsuki,1,80,
+tarakoutibiru,1,80,
+tansho,1,80,
+tanisi_(hosimade),1,80,tanaka_tanishi
+tamago_gohan,1,80,
+takurou,1,80,
+takuan_(takuanlunch),1,80,
+takeno_koko,1,80,
+tabitha_(pokemon),4,80,homura_(pokemon)
+synth_(iahfy),4,80,
+suzutsuki_kanade,4,80,
+suzuakks,1,80,
+sunao_(souis),1,80,
+sui_(isekai_ojisan),4,80,
+steven_a._starphase,4,80,
+spring_rider,0,80,
+soukitsu,1,80,
+snow_(gi66gotyo),1,80,
+slugma,4,80,
+skull_kid,4,80,
+siruphial,1,80,
+sirosoil,1,80,
+silverstar017,1,80,
+shown,1,80,
+shoujo_mahou_gaku_littlewitch_romanesque,3,80,"girlish_grimoire_littlewitch_romanesque,shoujo_mahou_gaku_little_witch_romanesque"
+shopping_district,0,80,
+shiren_(monochrome_structure),1,80,
+shion_(kizuro),1,80,shion_(pixiv137851)
+shio_(7203802),1,80,
+shino_(mijinko),1,80,shino_(pixiv35037)
+shinkaui,1,80,
+shima_chiyo,1,80,shima_tiyo
+shiina_sakurako,4,80,
+shibuya_takami,4,80,
+shachi_kamaboko,1,80,
+sewing_kit,0,80,
+seto_(harunadragon),1,80,
+seraphita_(xenogears),4,80,
+senpai_(tawawa),4,80,
+selim_bradley,4,80,
+seadra,4,80,
+scrapped_princess,3,80,
+sawada_marina,4,80,
+satsuki_inari,1,80,
+saniko_(honchu),4,80,
+sanazura_hiroyuki,1,80,
+sally_(bofuri),4,80,
+sakon04,1,80,
+sakayanagi_arisu,4,80,
+sailing,0,80,
+rpk-16,0,80,
+rowya,1,80,
+robe_lift,0,80,
+rivalz_cardemonde,4,80,
+rita_rossweisse_(phantom_iron),4,80,
+riding_machine,0,80,
+ribbon_(happinesscharge_precure!),4,80,ribbon_(precure)
+reverse_prayer,0,80,
+retweet_chicks,0,80,
+reset_kalar,4,80,
+removing_bandaid,0,80,
+religious_offering,0,80,
+regis_altare,4,80,
+redrabbit44,1,80,
+red_flowers,1,80,
+ramiel,4,80,
+ragfes,0,80,
+qizhu,1,80,
+ps5_chan,4,80,
+project_diva_f_2nd,3,80,
+professor_nemo_(fate),4,80,
+preyanan_suwanpramote,1,80,moogie
+poppin'party,0,80,
+ponita,1,80,
+polka_dot_hoodie,0,80,
+pleasure-treasure,1,80,
+pinguinkotak,1,80,
+pikachu_costume,0,80,
+pickle_(grappler_baki),4,80,
+phantom_thief_lapin,4,80,
+pear_sauce,1,80,
+pazu,4,80,
+park_junkyu,1,80,
+paper_man,3,80,paperman
+panza,1,80,
+pamela_ibiss,4,80,
+p0ckylo,1,80,
+orii_(orii_i),1,80,leo-time
+oozora_haruka_(harukana_receive),4,80,
+oni_gini,1,80,
+okinawa_habu_(kemono_friends),4,80,habu_(kemono_friends)
+okapi_tail,0,80,
+ogs_(orgasm88),1,80,
+oda_nobuna,4,80,
+oda_kippoushi_(fate),4,80,
+obsydia_(nijisanji),0,80,
+numel,4,80,
+number10_(hagakure),1,80,
+nukoosama,1,80,nukosama
+nomiya_(no_38),1,80,
+niku_harumaki,1,80,
+nelson_(warship_girls_r),4,80,
+natsu_(nattiyann),1,80,
+nasubin_(nasubisamurai15),1,80,
+narutaki_fumika,4,80,
+narumizg,1,80,
+nanjou_terumasa,4,80,nanjo_terumasa
+namo,1,80,
+naked_hood,0,80,
+nakamura_naoto,1,80,
+nagisa_(psp2i),4,80,
+mushoku_no_hourousha,1,80,
+musanix,1,80,
+murakumo_(kancolle)_(cosplay),0,80,
+moyashi_baasuto,1,80,
+motsu_(selshia12),1,80,
+mospeada_(mecha),4,80,
+mortar_headd,0,80,
+moral_cacoethes,1,80,
+monorino,1,80,
+monarch_(black_gerard)_(azur_lane),4,80,monarch_(black_qipao)_(azur_lane)
+momae_makku,1,80,
+mole_on_nose,0,80,
+mokyuko,1,80,
+moge-hera,1,80,
+mizuna_(water_emp-tei),1,80,
+mizuhashi_kaori,4,80,
+miyazawa_fuuka,4,80,
+miyake_shinobu,4,80,
+miwajou,4,80,
+mitsuki_(naruto),4,80,
+misa_pika,1,80,
+mior,1,80,"cacao_(suisaixx),cacaofire,caocaogelato,lamne,lyche_(lychexo)"
+minxei,1,80,
+minazuki_mizu,1,80,mizutan64
+mimme_(haenakk7),1,80,
+milssak,1,80,
+metal_wire,0,80,
+messiah_cage,1,80,"messiah(artist),mystic_cage"
+meow_nyang,1,80,
+men'youjan,1,80,
+meltan,4,80,
+melan_blue,4,80,
+meito,4,80,
+megami_device,3,80,
+mega_charizard_y,4,80,
+media_(pani_poni),4,80,
+may9,1,80,"m.a.y.,yuki-sky"
+matsuri_(hidamari_sketch),4,80,
+matsura_(nagatosan),1,80,
+maskman,1,80,
+masiromu,1,80,
+mashiro_kta,1,80,
+masabodo,1,80,
+maplestory_2,3,80,
+maonatten,1,80,
+mainichi_compile_heart,3,80,
+maguro_(ma-glo),1,80,
+magcargo,4,80,
+macula_marius,4,80,
+lyy,1,80,
+lyna_(yu-gi-oh!),4,80,
+lumen_(gunvolt),4,80,
+luetzow_(azur_lane),4,80,lutzow_(azur_lane)
+lucifel_(el_shaddai),4,80,lucifer_(el_shaddai)
+luca_(jasdavi),4,80,
+lisa_(seiken_no_blacksmith),4,80,
+lich_(granblue_fantasy),4,80,
+liang_qi,4,80,
+lever,0,80,
+lee_(monsterheart),1,80,
+leavv,1,80,re-leaf
+ldfe_mk2,1,80,yongheng_zhi_wu
+lazlo_(gensou_suikoden),4,80,
+lavenza_(persona_5),4,80,
+lang_(chikage36),1,80,
+lan_xiezi,1,80,
+lafolie,1,80,
+kyuusugi_toku,1,80,
+kyouou_ena,1,80,
+kyouno_aki,1,80,
+kylo_ren,4,80,
+kwaejina,1,80,
+kurosuke_(hipparu),1,80,
+kurorettsu,1,80,
+kumichou_(ef65-1118-ef81-95),1,80,
+kukuru_(arc_the_lad),4,80,
+kudou_chitose,4,80,
+konohata_mira,4,80,
+komeo15,1,80,
+kitagawa_mahiro,4,80,
+kise_saki,4,80,kise_sacchan
+kim_bae-eo,1,80,
+kijima_saki,4,80,
+kaya_(nari1-24),1,80,
+katsuragi_kai_(kancolle),4,80,
+kata_rosu,1,80,
+kasugayama_high_school_uniform,0,80,
+kasuga_yui,4,80,
+kapiten70,1,80,
+kanda_(ura-kanda),1,80,urakanda
+kanaoto_neiro,1,80,
+kana_(fire_emblem)_(male),4,80,"kanna_(fire_emblem)_(male),kanna_(male)_(fire_emblem_if)"
+kakeku,1,80,
+kaguya_(srx61800),1,80,
+jungle_crow_(kemono_friends),4,80,
+juanmao,1,80,
+js_kaga_(kancolle),4,80,
+jiujiuyatou_(yayanzz),1,80,
+izumo_neko,1,80,
+italian_flag_print,0,80,
+isis_eaglet,4,80,
+inukaze_yamu,1,80,
+inu-t,4,80,
+inoue_kiyoshirou,1,80,nakamura_yoshihiro
+innocent_cluster,4,80,
+in_pot,0,80,
+imoko_(neeko's_sister),4,80,
+ikameshi_(ika_meshi),1,80,mikuma_folgore
+iiha_toobu,1,80,
+ii_orc_no_hi,3,80,
+ichinose_hana,4,80,
+ichijou_takakiyo,1,80,ootori_masatsuna
+ibex,1,80,
+hyaku_shiki,4,80,
+hua_ben_wuming,1,80,
+houru,1,80,
+houraisan_chouko,1,80,
+hoshinomiya_girls'_high_school_uniform,0,80,
+hoshiiro_girldrop,3,80,
+honoboooono,1,80,
+homura910210,1,80,
+holding_clothes_hanger,0,80,
+hogen_(housamo),4,80,hogen_(tokyo_houkago_summoners)
+hmax,1,80,
+hito_(nito563),1,80,
+hilling_care,4,80,
+higurehiiro,1,80,glenn343434
+hayase_mina,4,80,
+haruo_(clownberry),1,80,"hal_(artist),oxvxo"
+haruna_mao,1,80,
+hands_on_another's_arm,0,80,
+hand_in_mouth,0,80,
+hallelujah_essaim,0,80,
+hajimete_no_koi_ga_owaru_toki_(vocaloid),3,80,"when_the_first_love_ends,when_the_first_love_ends_(vocaloid)"
+guillotine_cross_(ragnarok_online),4,80,
+gotoba_sora,4,80,
+gothorita,4,80,
+gomi_(kaiwaresan44),1,80,
+golden_time,3,80,
+glowing_skin,0,80,
+giuseppina_ciuinni,4,80,
+girly_air_force,3,80,
+georgi_popovich,4,80,
+gan-viking,1,80,
+gainos_priestess_melpha,4,80,
+gabite,4,80,
+futoshi,1,80,
+fushuu,1,80,
+fumitan_admoss,4,80,
+fujikawa_arika,1,80,furikawa_arika
+frostcyco,1,80,
+frip,1,80,
+freed_turing,1,80,
+frau_bow,4,80,
+forced_perspective,0,80,
+folding_bicycle,0,80,
+fengya,1,80,
+fengling_(furin-jp),1,80,
+face_in_crotch,0,80,
+etchimune,1,80,h-mune
+enya_geil,4,80,
+enni,1,80,
+en_(enxxx),1,80,en_(pixiv1642655)
+ema_(kuguiema),1,80,kuguiema
+elephant_tail,0,80,
+elc_(arc_the_lad),4,80,
+dvddvd_(meme),0,80,dvddvd
+dungeons_&_dragons:_shadow_over_mystara,3,80,
+drsunshine,1,80,
+digimon_card_game,3,80,
+desert_tech_mdr,0,80,
+dennou_tenshi_jibril,3,80,
+deatheach,1,80,
+david_(fate),4,80,david_(fate/grand_order)
+daruia_(sabitare),1,80,
+cure_parfait,4,80,
+cross_channel,3,80,
+cremia,4,80,
+cramped,0,80,
+coffeechicken,1,80,
+clay,0,80,
+classy-black-haired_girl_(hayabusa),4,80,
+circus_(studio),3,80,
+chukachuka,1,80,
+christiane_friedrich,4,80,
+chloroform,0,80,
+chin_(motio7201),1,80,
+cheschorv,1,80,creepy_himecchi
+chalkboard_sign,0,80,
+cattleya_regina_games,3,80,
+cat_breakdancing_(meme),0,80,sims_cat_breakdance_(meme)
+card_with_aura,0,80,
+cantaloupe,0,80,
+camera_lens,0,80,
+cacodemon,4,80,
+cable_tie,0,80,zip-tie
+c-wing,1,80,
+burn_the_witch,3,80,
+burger_king,3,80,
+brws,1,80,
+bright_noa,4,80,
+boin,3,80,
+body_jewelry,0,80,
+blade_master_(elsword),4,80,
+black_bustier,0,80,
+beruka_(fire_emblem),4,80,berka_(fire_emblem_if)
+bamuth,1,80,
+azumaya_toushirou,1,80,
+asymmetrical_eyebrows,0,80,
+astolfo_(sparkling_frills)_(fate),4,80,
+astgenne_(arknights),4,80,
+aster_arcadia,4,80,
+asakura_ryou,4,80,
+asai_ichiko,1,80,asaiichiko
+asahana_jun,1,80,
+arknights:_endfield,3,80,
+arctic_hare_(kemono_friends),4,80,
+apple_(ygbhjdbiulsg),1,80,
+aopanda,1,80,
+anonymous_(4chan),4,80,
+anima_miko,1,80,
+aniece_(modeseven),4,80,
+anemachi,4,80,
+anchor_tattoo,0,80,
+ameko53133,1,80,
+aliens,3,80,
+aladdin_(sinoalice),4,80,
+akebono_kai_(kancolle),4,80,
+akaza_(kimetsu_no_yaiba),4,80,
+agetake,1,80,
+agemasen!_(meme),0,80,
+ace_attorney_investigations_2,3,80,gyakuten_kenji_2
+abe_hikaru,1,80,hikaru_(gevp7588)
+a_nightmare_on_elm_street,3,80,
+@shun,1,80,
+13o,1,80,
+zubora_na_kintoki,1,79,
+zhuzi,1,79,sabakamen
+zeshgolden,1,79,
+zero_a,1,79,
+zen_juraku,1,79,xie_yizhen
+zen'in_mai,4,79,
+zanku,1,79,
+yuuki._(limit),1,79,
+yutaka7,1,79,
+yumekui,1,79,
+yume_(grimgar),4,79,
+yukisame,1,79,
+yukina_(masyumaro610),1,79,
+yukimochi_(yume),1,79,re:chaen
+yukikawa_sara,1,79,
+yukarite,1,79,
+yuiofire,1,79,agtkme2304
+yuama_(drop),1,79,
+yu_cha,1,79,
+young_savage,1,79,
+yougen_kitsune,1,79,
+you_haruka,1,79,
+you_(granblue_fantasy),4,79,
+yoshizuki_kumichi,1,79,
+yoshiie,1,79,
+yorousa_(yoroiusagi),1,79,
+yjy,1,79,
+yizumi,1,79,
+yaopei,0,79,
+yanase_mai,4,79,
+yakitori_(oni),1,79,
+xelgot,1,79,
+xecty_ein,4,79,
+wutu_(1183238220),1,79,
+wooden_railing,0,79,
+wonder_zone,0,79,
+where's_wally,3,79,where's_waldo
+wet_bra,0,79,
+wario_land_shake,3,79,
+wakaki_tamiki,1,79,
+wachi_(hati1186),1,79,
+vibrator_on_clitoris,0,79,
+veight,4,79,
+vegetablenabe,1,79,
+valentine_(guilty_gear),4,79,
+utachy,1,79,
+urahara,1,79,
+unk_kyouso,1,79,
+universal_bulin_(azur_lane),4,79,universal_bullin_(azur_lane)
+unaji,1,79,
+ume_(ittla),4,79,
+ueshita,1,79,
+uchouten_kazoku,3,79,
+tyuga,1,79,
+tugeneko,1,79,
+tsukumo_yuuma,4,79,tsukumo_yuma
+tsukumi_(tkmillust),1,79,
+tsuda_akira,1,79,
+tsuchiya_akira,1,79,
+tsubameyado,1,79,frederiq
+trimmau_(fate),4,79,trimmau
+tomyoo,1,79,tomio_(tenma_omen)
+tokita_arumi,1,79,
+toki_kureha,4,79,
+tobacco,0,79,
+tiramii,4,79,
+time_lapse,0,79,
+the_legend_of_zelda:_oracle_of_seasons,3,79,oracle_of_seasons
+ten_(urusei_yatsura),4,79,
+temir,1,79,
+tanziya_(codlxcold),1,79,
+tanbonota46,1,79,tanbo_no_ta
+tan_shirt,0,79,
+takanashi,1,79,
+taira_takehiro,1,79,
+taggo,1,79,
+tagane,1,79,
+t'au,4,79,tau
+sumo_(komokomo1201),1,79,
+suiren_(mystia6b),1,79,
+sugihara_(sugihara2000),1,79,
+suga_koutarou,4,79,
+station_memories,3,79,
+star_pin,0,79,
+ssn_(sasa8u9r),1,79,
+spadelake,1,79,
+snake-eyed_kanako,4,79,
+sky_guy_art,1,79,ms_pigtails
+skating_rink,0,79,
+siro_(asteblanc),1,79,
+single_drill,0,79,
+shoujo_ramune,3,79,
+shougayaki_(kabayaki_3),1,79,
+shockwave,0,79,"blast_wave,blastwave,shock_wave"
+shirono_mirai,4,79,
+shirofuku_yukie,4,79,
+shimura_takako,1,79,
+shikkoku_neko,1,79,
+shigatsu_(4gate),1,79,
+sernia_iori_flameheart,4,79,
+sena_chifuyu,1,79,
+sekiri,1,79,
+seira_(mermaid_melody_pichi_pichi_pitch),4,79,
+scrunchie_removed,0,79,
+satou_aoi,1,79,
+sasahara_kanji,4,79,
+sangou_(girls_und_panzer),4,79,
+sami_(3a3i3a3i),1,79,katou_sami
+sakurai_haruto,1,79,
+sakura_card,0,79,
+sagiri_(ulpha220),1,79,
+sagattoru,1,79,
+sagara_misae,4,79,
+sabagebu!,3,79,
+ruuku_(azukieru),1,79,
+rozu_ki,1,79,
+ronoue_genji,4,79,
+roco_(katsuya1011),1,79,
+rocking_school_(idolmaster),0,79,rocking_school
+rippajun,1,79,
+ringetsu,3,79,
+ringabel,4,79,ringabell
+rickenbacker_4001,0,79,
+rick_(kirby),4,79,
+richard_viii,1,79,
+reversi,0,79,
+reulem,1,79,
+renee_(negative_hero),4,79,
+rekise,1,79,
+red_clouds,0,79,
+red_babydoll,0,79,
+recruitment_bag_(arknights),0,79,
+raine_sage,4,79,refill_sage
+raina,1,79,
+radiata_stories,3,79,
+pururun_z,1,79,
+print_capelet,0,79,
+prat_rat,1,79,
+porcupine_ears,0,79,
+poponko,1,79,
+poodle,0,79,
+poi_poifu,1,79,
+pocari_sweat_(artist),1,79,
+pnoji,1,79,
+player_(god_eater_burst),4,79,
+pk_(mukasihasakana),1,79,
+pinattsu,1,79,
+phoenix_wright:_ace_attorney_-_justice_for_all,3,79,"ace_attorney_2,gyakuten_saiban_2"
+persimmon_(lsxh3),1,79,
+peorth_(aa_megami-sama),4,79,
+pedestrian_lights,0,79,
+paz_ortega_andrade,4,79,
+parade,0,79,
+ortho_shroud,4,79,
+ornate_clothes,0,79,
+orein,1,79,
+oolong,4,79,
+ooishi_kuraudo,4,79,oishi_kuraudo
+onigiri_noka,1,79,
+on_counter,0,79,
+old_maid,0,79,
+okome_(ricecandy),1,79,
+officer,0,79,
+nyatoran_(precure),4,79,
+nyami,1,79,
+noumin_joemanyodw,1,79,
+nomura_teruya,1,79,
+noise_(mokusei),1,79,
+nimu,1,79,
+nilgiri_(girls_und_panzer),4,79,nilgiri
+nijou_katame,1,79,
+nifuji_hirotaka,4,79,
+nicole_(lion),1,79,xroxxro
+natural_(module),0,79,
+narita_rumi,1,79,
+nanbo_ataru_(attall),1,79,
+namekian,0,79,
+namaata,1,79,
+nakamura_hinata,1,79,
+naga_(pixiv70891418),1,79,
+muta_poo,1,79,
+motomiya_daisuke,4,79,
+mori_sonou,4,79,
+mole_on_back,0,79,
+mokoiscat,1,79,
+mogg,1,79,sing_(artist)
+mofuji,0,79,
+miyuki_yaya,1,79,
+mitus,1,79,
+mitaka,1,79,
+misora_inaho,4,79,hailey_thomas
+mismatched_animal_ear_colors,0,79,
+mirai_(mirai76_),1,79,
+millium_orion,4,79,
+mille_(dieci),1,79,
+mikumo_osamu,4,79,
+mijinko_(83nabe),1,79,
+mickey_mouse_(cosplay),0,79,
+mia_(world_flipper),4,79,
+mg_(mica),1,79,mg_(3458)
+metang,4,79,
+melmaid,4,79,
+mayano_top_gun_(sunlight_bouquet)_(umamusume),4,79,
+matsukai_mao,4,79,
+mash_kyrielight_(fgo_x_lawson),4,79,
+mariwai_(marireroy),1,79,
+manly_tears,0,79,
+mana_(418208360),1,79,
+mamenomoto,1,79,amatsukiryoyu
+mal_(malberrybush),4,79,
+makuhita,4,79,
+makai_tenshi_djibril_2,3,79,makai_tenshi_jibril_2
+mahito_(tranjistor),1,79,
+maeda_shiori,4,79,
+mado_(mukade_tou),1,79,nankinjouto
+maccha_cocoa_(mococo),1,79,
+luftwaffe,0,79,
+liquid_weapon,0,79,
+liaowen,1,79,
+letter_hair_ornament,0,79,
+leeannpippisum,1,79,
+latvia_(hetalia),4,79,
+lancelot_(code_geass),4,79,
+kuurubiyuutei_gankyou,4,79,
+kuroume_(aihikarikuroume24),1,79,
+kuronomine,1,79,
+kurono_genbu,4,79,
+kurokuma_(kuro_kumagaya),1,79,
+kurohal,1,79,
+kuroha_ai,1,79,
+kurobane,1,79,
+korokoro_daigorou,1,79,
+komine_sachi,4,79,
+kokonoe_miya,1,79,
+kokkuri-san_(gugukoku),4,79,
+kodiak_bear_(kemono_friends),4,79,
+kodamasawa_izumi,1,79,
+kno1,1,79,
+kisuke,4,79,
+kissing_shoulder,0,79,shoulder_kiss
+kiriuzasu,1,79,
+kikurage_(sugi222),1,79,
+kerorin,1,79,
+kenzaki_ririka,4,79,
+kel-tec_rfb,0,79,
+keiryuu_seo,1,79,paavuchi
+kazamaki_matsuri,4,79,
+kazakami_yuu,1,79,simuka
+kasugano_haruka,4,79,
+karla_(fire_emblem),4,79,
+kareya,1,79,
+kanase_(mcbrwn18),1,79,
+kamejiro_(sasakame),1,79,"pasteltel,sasakame_(pasteltel)"
+kaleka,1,79,
+kakizato,1,79,
+kageru_(mofnyan),1,79,
+kagamine_rin_(roshin_yuukai),4,79,"kagamine_rin_(meltdown),kagamine_rin_(roshin_yukai)"
+kaga_cape,0,79,
+k_(li),1,79,
+juri_(nattoutomato),1,79,
+junketsu_no_maria,3,79,"maria_the_virgin_witch,maria_the_virgin_witch"
+jun'you_kai_ni_(kancolle),4,79,
+john_hathway,1,79,
+jimon_asuta,4,79,
+jijii_(nicoseiga91467756),1,79,
+jigokuraku,3,79,
+japan_air_self-defense_force,0,79,jasdf
+ivris,1,79,
+italian_commentary,5,79,
+isuzu_kai_ni_(kancolle),4,79,
+ishizaka_ryuudai,1,79,
+iron_bars,0,79,
+irogomi,1,79,
+iro_(sekaixiro),1,79,
+irisu_makina,4,79,
+inuko_(redconstellation),1,79,zhaitengjingcang
+inubashiri_momiji_(cosplay),0,79,
+inoue_kousei,1,79,
+indonesian_clothes,0,79,
+indeedee,4,79,
+inabi,1,79,
+inaba_teitoku,1,79,
+imura_(shiro_maru),4,79,
+ikujitto,1,79,
+ike_masato,1,79,
+ika,1,79,
+igarashi_daiji,4,79,
+ice_shard,0,79,
+ibuki_douji_(swimsuit_berserker)_(first_ascension)_(fate),4,79,
+ian_olympia,1,79,
+i_b_b_e,1,79,
+"i""s",3,79,
+hyperbudd,1,79,matoi92
+how_to_train_your_dragon,3,79,
+houraisen_runa,4,79,
+hot_kakigoori,1,79,
+hoshimawa,1,79,
+hoshi_no_samidare,3,79,"lucifer_and_biscuit_hammer,lucifer_and_the_biscuit_hammer,the_lucifer_and_biscuit_hammer,wakusei_no_samidare"
+hornet_(hollow_knight),4,79,
+hongcasso,1,79,
+honey_dipper,0,79,
+homeo,4,79,
+holding_magazine_(weapon),0,79,
+hiyori_mizuki,1,79,
+himitsucalibur_(fate),0,79,himitsucalibur
+himeshaga,1,79,
+himesato_maria,4,79,
+himenomikan,1,79,
+hiiragi_nemu,4,79,
+hieung,1,79,
+hiba_(p-p-purin),1,79,
+hellnyaa,1,79,
+heart_arms,0,79,
+hatamoto_(kotoba),4,79,
+hasegawa_chisato,4,79,
+harpy_(closers),4,79,
+hand_wave,0,79,
+hamada_miku,1,79,hamadamiku01
+guren_nishiki,4,79,
+gunsou1350,1,79,
+gungun_(hakutou7887),1,79,
+grey_umbrella,0,79,
+gradient_shirt,0,79,
+gou_d,1,79,
+gomashiwo_o,1,79,
+glisten,1,79,
+gilbert_nightray,4,79,
+gekkou_ookami,1,79,
+ganyu_(genshin_impact)_(cosplay),0,79,
+galarian_slowpoke,4,79,
+futabu,3,79,
+futaba_841,1,79,
+fuse_(apex_legends),4,79,
+fujin_yumi_(fire_emblem),0,79,
+frilled_cape,0,79,
+fluffydango,1,79,
+fireman's_carry,0,79,"fireman_carry,firemans_carry,person_over_both_shoulders"
+fina_(sa47rin5),1,79,
+famepeera,1,79,
+eyyy,1,79,
+europa_(summer)_(granblue_fantasy),4,79,
+epuko,1,79,
+energy_arrow,0,79,
+emma_(victorian_romance_emma),4,79,
+ellen_(majo_no_ie),4,79,ellen_(the_witch's_house)
+elbing_(azur_lane),4,79,
+dwyer_(fire_emblem),4,79,deere_(fire_emblem_if)
+dvd_(object),0,79,
+dream_academy_uniform,0,79,
+dragon_(monster_girl_encyclopedia),4,79,
+dracovish,4,79,
+double_buttjob,0,79,
+donovan_baine,4,79,
+dokyuu_hentai_hxeros,3,79,
+digitan_(porforever),4,79,
+dido_(muse)_(azur_lane),4,79,
+despicable_me,3,79,
+demon_mages,3,79,
+dears,3,79,
+dean_stark,4,79,
+day_walker1117,1,79,
+dasha,1,79,lisi
+danbooru_(site),3,79,
+dai-oki,1,79,
+dacho,1,79,
+d_futagosaikyou,1,79,
+cure_miracle_(ruby_style),4,79,
+cruhteo,4,79,
+cotta_(heleif),1,79,"cotta_(artstation),heleif"
+conveyor_belt_sushi,0,79,
+cocona_vatel,4,79,cocona_bartel
+cocoasabure,1,79,
+clarissa_arwin,4,79,
+clamp_(circle)_(style),0,79,
+clalaclan_philias,4,79,
+choujuu_kishin_dancouga,3,79,
+chocoshi,1,79,
+chikuwabu,1,79,
+caterpillar_(alice_in_wonderland),4,79,
+cala,4,79,
+cagliostro_(symphogear),4,79,
+bunchou_(bunchou3103),1,79,
+buchi_holes,0,79,
+bow_(paper_mario),4,79,"lady_bow,resaresa"
+bloody_wings,0,79,blood_on_wings
+blood_hood,1,79,bl00d_h00d
+blonde_girl_(popopoka),4,79,bully_girl_(popopoka)
+black_rose_(.hack//),4,79,
+bismarck_(kancolle)_(cosplay),0,79,
+banchii,1,79,
+azumi_risa,4,79,
+asuka_keisuke,1,79,
+asa_(teng_zi),1,79,
+armored_gloves,0,79,
+armaldo,4,79,
+arkray,1,79,
+arjent,1,79,
+aria_wintermint,4,79,
+aojiru,1,79,
+ankai_(rappelzankai),1,79,
+android_girl_(itou),4,79,
+anda_(pennyroyal_tea),1,79,
+anastasia_(swimsuit_archer)_(second_ascension)_(fate),4,79,
+amy_(madoka_magica),4,79,
+ameshizuku_natsuki,1,79,
+amano_yoshitaka,1,79,
+alexstrasza,4,79,
+akari_seisuke,1,79,
+akaneman,1,79,
+akane_hazuki,1,79,
+ak-47_(girls'_frontline),4,79,"ak47_(girls'_frontline),ak47_(girls_frontline)"
+ak-15,0,79,
+adagumo_no_saragimaru,4,79,
+aburisamon,1,79,
+9is,1,79,
+90i,1,79,
+88_(einnimnech),1,79,
+1000,1,79,
+yuusha_ni_narenakatta_ore_wa_shibushibu_shuushoku_wo_ketsui_shimashita.,3,78,"i_couldn't_become_a_hero_so_i_reluctantly_decided_to_get_a_job.,i_couldnÔÇÖt_become_a_hero_so_i_reluctantly_decided_to_get_a_job.,yu-sibu,yuusha_ni_narenakatta_ore_wa_shibushibu_shuushoku_wo_ketsui_shimashita,yuushibu"
+yuuri_(yu-gi-oh!),4,78,yuri_(yu-gi-oh!)
+yuuna_minato,1,78,
+yuto_takumi,1,78,
+yuino_(fancy_party),1,78,
+yuiki_(cube),1,78,bin-pu
+yeti_(creature),0,78,
+year_of_the_snake,0,78,
+yasiro,1,78,
+yago8_pp3,1,78,
+ya-man,1,78,
+xiaojiaju,1,78,lan-ge-zi
+wyrdeer,4,78,
+wrist_blades,0,78,
+women's_wallet,0,78,
+wilbell_voll-ersleid,4,78,
+white_trim,0,78,
+white_robin,4,78,
+wazukani,1,78,
+watanuki_kimihiro,4,78,
+wanda_maximoff,4,78,
+v2_gundam,4,78,
+utage_(disguise)_(arknights),4,78,
+urethral_fingering,0,78,
+tsuda_takatoshi,4,78,
+trento_(azur_lane),4,78,
+touma_(tomatooo018),1,78,
+toshi,1,78,
+tonberry,4,78,
+tomozu,1,78,
+tomatita,4,78,
+toima_(beat0829),1,78,
+tl_(xdd),1,78,
+tira_(soulcalibur),4,78,
+tatsuno_malm,4,78,
+tateishi_shima,4,78,
+taneda_risa,4,78,
+tamagokake_gohan,0,78,
+tama_launcher,1,78,
+takkayuuki,1,78,
+takeyama_(angel_beats!),4,78,
+takano_ui,1,78,uitchu
+takanashi_nazuna,4,78,
+taiyou_no_kiba_dougram,3,78,fang_of_the_sun_dougram
+tagame_(tagamecat),1,78,
+tachibana_sylphynford,4,78,
+tachibana_hibiki_(symphogear)_(another),4,78,
+tabe_ayumu,4,78,
+sylpheed,4,78,
+sword_mastery_academy_uniform,0,78,
+suzushiro_akane,4,78,
+supercell,3,78,
+sumishi_(sumisi_3),1,78,
+suminoe_takako,4,78,
+static_cling,0,78,
+stargazy_pie,0,78,
+starfleet_uniform,0,78,
+star_rod,0,78,
+st_parasu,1,78,
+soroi_mitsuzou,4,78,soroi_mitsuzo
+something_(omori),4,78,
+sock_on_penis,0,78,socks_on_cocks
+snow_(game),3,78,
+simone_mandl,1,78,
+silltare,1,78,
+silent_hill_(movie),3,78,
+shirogane_lilly,4,78,
+shiro_youduki,1,78,
+shiranui_kaede,4,78,
+shiraba_(sonomama_futene),1,78,
+shinshia,1,78,bussyutaso
+shinra_kusakabe,4,78,
+shima_(landsuzume),1,78,
+shiime,1,78,
+shack,0,78,
+seventeen_(st17215),1,78,
+sena_izumi_(ensemble_stars!),4,78,
+scythana,4,78,
+satin_sheets,0,78,
+sasasi,1,78,kazkazkaz
+sasaki_rika,4,78,
+sasaki_(dkenpisss),1,78,
+saru_(monkey_magic3),1,78,
+sanallite_(tsukumo_sana),4,78,
+sakusaku,1,78,
+sakake_asobi,1,78,
+saitou_natsuki,1,78,
+sagami_rin,1,78,
+s10021,1,78,
+ryuugajou_nanana_no_maizoukin,3,78,"nanana's_buried_treasure,nanana's_buried_treasure"
+rune_factory_5,3,78,
+rumia_(darkness),4,78,
+rope_gag,0,78,
+rin_(torikissa!),4,78,
+richard_suwono,1,78,
+ribbon_bar,0,78,
+reverse_paizuri,0,78,
+restaint,1,78,
+reptileye,1,78,
+renshiu,1,78,
+renakobonb,1,78,
+reef_(sanomsai_products),1,78,
+red_(warioware),4,78,
+reco_love_gold_beach,3,78,
+ranken,1,78,
+randolph_orlando,4,78,randy_orlando
+qwilfish,4,78,
+quinn_(league_of_legends),4,78,
+potato_(air),4,78,
+pooor,1,78,
+pontaro18,1,78,
+plum,0,78,
+pleiadean,4,78,
+plasma_cutter,0,78,
+pizanuko,1,78,
+piza_rokumai,1,78,
+pinkwaters,1,78,
+philena_ivy,4,78,uchikido_(pokemon)
+petoka,1,78,
+pensive,0,78,
+pelican_(s030),1,78,
+pan-nya,4,78,
+pads,0,78,
+otohime_mutsumi,4,78,
+orca_(kemono_friends),4,78,
+onion_(onion_and_pi-natto),1,78,
+onimusha,3,78,
+olivia_(kureiji_ollie),4,78,
+okutama_tarou,1,78,
+okuri_ookami,1,78,
+oimo_(14sainobba),1,78,
+nuime,1,78,
+nozomu144,1,78,
+northern_little_sister,4,78,
+non_(nonzile),1,78,sakana2501
+nomura_taeko,4,78,
+nishiwaki_yuuri,1,78,
+nishinoya_yuu,4,78,
+nishijima_waon,4,78,
+new_wave_(idolmaster),0,78,new_wave
+nekomura_otako,1,78,
+neige_hausen,4,78,
+natsusora_wakana,4,78,
+natsukawa_kuina,4,78,
+narusegawa_riko,1,78,
+naraka_(nijisanji),4,78,
+namamo_(kura),1,78,
+nagomi_yayado,1,78,
+nagi_(exsit00),1,78,
+musukichi,1,78,
+mumistar,1,78,
+multicolored_necktie,0,78,
+mugon,1,78,
+motsuba,1,78,
+mototenn,1,78,
+motatei,1,78,
+monk_2_(sekaiju),4,78,
+mo_(deciliter),1,78,
+miyuli,1,78,
+mitosansan,1,78,
+misaka_imouto_10032,4,78,
+miracle_nikki,3,78,love_nikki
+minamino_kanata,1,78,
+mimi_(halloween)_(princess_connect!),4,78,
+mikan_toshi,1,78,
+mika_miche,1,78,syuyakustar
+migchip,1,78,
+michael_roa_valdamjong,4,78,
+message_in_a_bottle,0,78,
+meru,1,78,
+meikko-chan_(j7w),4,78,
+mechanical_dragon,0,78,
+mayafufu,1,78,
+matcha_(mattyan),1,78,
+masa_ni,0,78,
+marirero_a,1,78,
+maractus,4,78,
+mapyuhin_za_puremiyamu,1,78,
+mamahaha,4,78,
+mako_mori,4,78,mori_mako
+makin_tama,1,78,
+majin_vegeta,4,78,
+majin_go!,1,78,
+mainz_(azur_lane),4,78,
+magical_mirai_len,4,78,
+magical_astronomy,3,78,
+madara_hato,1,78,
+machinist_(final_fantasy),4,78,
+maaka_karin,4,78,
+luis_cammy,4,78,
+lucyfer,1,78,zanatemx
+lola_bunny,4,78,
+lobelia_carlini,4,78,
+lieselotte_sherlock,4,78,
+lens,0,78,
+leaf_skirt,0,78,
+lasts,1,78,
+lantern_earrings,0,78,
+l.k,1,78,lolik
+kyouyasai4423,1,78,
+kyoukai_no_rinne,3,78,
+kyoffie12,1,78,
+kuzunoha_amehiko,4,78,
+kuzugitsune_(inarikami),1,78,kousyoku
+kurosawa_kazuto,1,78,amayoikazuto
+kurosaki_shun,4,78,
+kurosaki_coco,1,78,
+kuronaga,1,78,
+kuran_(mkmrl),1,78,kyuuran
+kurage_modoki,1,78,
+kuon_(break_through),1,78,
+kunoichi_(sengoku_musou),4,78,
+kunimitsu_(9nimi2),1,78,kunimitsu
+kuma_daigorou,1,78,
+kugimiya_madoka,4,78,
+kubfu,4,78,
+kt._(kaisou-notagui),1,78,toshi_gahara
+koutate,1,78,
+kona_sleipnir,1,78,
+kogasa-san's_mother,4,78,
+kofji_(cookie),4,78,
+kobayashi_rindou,4,78,
+kobato.,3,78,kobato
+klink,4,78,giaru
+kiritanpo_(food),0,78,
+kfp_employee_(takanashi_kiara),4,78,
+kenran_butou_sai,3,78,kenran_butoh_sai
+kennen,4,78,
+kazuo_daisuke,1,78,
+kazuma_(scryed),4,78,torisuna_kazuma
+katwu_(gensou_ninja_yashiki),1,78,"gensou_ninja,katwu"
+katsuten,1,78,
+katsukare,1,78,
+karin.,1,78,
+kara_no_shoujo,3,78,
+kanzaki_shiori,4,78,
+kamura_reiri,4,78,
+kamidanomi,1,78,
+kaina_(tsubasakuronikuru),1,78,
+kageyama_ritsu,4,78,
+kagetomo_midori,1,78,
+jintsuu_(azur_lane),4,78,
+java_sparrow,0,78,
+iyagatteru_kimi_ga_suki,3,78,
+iwauchi_tomoki,1,78,
+ishitsu_kenzou,1,78,
+ishii_takuma,1,78,
+inazuma_eleven_ares_no_tenbin,3,78,
+ikazuchi_akira,1,78,
+idon,1,78,
+ibrahim_(nijisanji),4,78,
+hyena_boy,0,78,
+hydra_splatling_(splatoon),0,78,
+houraisan_kaguya_(cosplay),0,78,
+hololive_error,3,78,
+holding_chess_piece,0,78,
+holding_bunny,0,78,
+hita_(hizokuseikogeki),1,78,
+hiroe_(cosmos_blue-02_421),1,78,
+hiro_(hirohiro_gorira),1,78,
+himemiya_shuang,1,78,
+himarisu_(hida_mari),1,78,
+hige_wo_soru._soshite_joshikousei_wo_hirou.,3,78,
+hayashi_keita,1,78,
+hashima_izumi,4,78,
+haori_haruki,4,78,haru_(haneru)
+hangover,0,78,
+hanging_legs,0,78,
+hanamonogatari,3,78,
+hana_(hana_mo_arashi_mo),1,78,
+hal360,1,78,
+haikawa_hemlen,1,78,
+haiiro_(hi_ghi_ro),1,78,
+gunlance,0,78,
+gryebooks,1,78,
+growling,0,78,
+ground,0,78,
+green_lantern_(series),3,78,
+gomulgong,1,78,ehfhfh_3712
+girls_und_panzer_gekijouban,3,78,
+gg-chan,4,78,
+getter_robo_(1st_series),3,78,
+genkai_zero,1,78,dark_arts_kai
+gatari,1,78,
+fuyumi_kazuki,1,78,
+fuyuki030,1,78,
+fuurinji_miu,4,78,
+futagawa_fumi,4,78,
+frilled_bracelet,0,78,
+frieren,4,78,
+frankenstein,3,78,
+flower_swing,0,78,
+flour_(cookie),4,78,
+floro_(7th_dragon),0,78,
+flick_(sal23),1,78,
+film_reel,0,78,
+filha,1,78,
+fallen_tree,0,78,
+fake_whiskers,0,78,
+f-35_lightning_ii,0,78,
+eyebrows_visible_through_mask,0,78,
+ensis_exorcizans,0,78,
+enjou_sakuya,4,78,
+emily_armond,4,78,
+em_s,1,78,
+elk115,1,78,elk_(pixiv633222)
+elise_von_dietrich,4,78,
+eleaaa,1,78,
+eilinna,1,78,
+eientei,0,78,
+eichi,1,78,
+ego_trigger,3,78,
+effie_(fire_emblem),4,78,"effie_(fire_emblem_fates),elfi_(fire_emblem_if)"
+e.m.m.i._(metroid),4,78,
+dreamoon,1,78,
+dobure18,1,78,
+dining_room,0,78,
+deviruchi_hat,0,78,
+death_parade,3,78,
+deadprince,1,78,
+daruk,4,78,
+daring_tact_(umamusume),4,78,
+daigaga,1,78,
+d.va_(gremlin),4,78,
+curled_tail,0,78,
+cure_amour,4,78,
+cradling_phone,0,78,
+cozyu,1,78,koji_yuu
+coo_(kirby),4,78,
+cherub,0,78,
+chapayev_(the_captive_cavalier)_(azur_lane),4,78,
+chang_wufei,4,78,
+cartagra,3,78,
+cake_mogo,1,78,
+butterflyfish,0,78,
+brown_outline,0,78,
+bound_toes,0,78,
+boom_microphone,0,78,
+book_to_mouth,0,78,
+book_strap,0,78,
+bomb_devil_(chainsaw_man),4,78,
+blaine_(pokemon),4,78,katsura_(pokemon)
+biting_tongue,0,78,
+biretta,0,78,
+bird_on_leg,0,78,
+bingwei_huang,1,78,bwh
+berserker_r,1,78,
+bell_sleeves,0,78,
+beleven,1,78,
+barber_pole,0,78,
+bana_(stand_flower),1,78,
+ballroom,0,78,
+bakushi_(kaeritai0609),1,78,
+baiguiyu,1,78,
+bad_end_march,4,78,
+bad_ass,0,78,
+backstage,0,78,
+azumaya_koyuki,4,78,
+ayase_miya,4,78,
+auru_t,1,78,
+astral_chain,3,78,
+askeladd,4,78,
+arnold_(jojo),4,78,
+armless,0,78,
+aoi_usagi,1,78,
+anti-eyebrow_piercing,0,78,
+anonymous_drawfag,1,78,
+anni_minto,1,78,
+anne_of_green_gables,3,78,akage_no_anne
+ameoto,1,78,
+amco,1,78,
+amano_kazumi,4,78,
+alu.m_(alpcmas),1,78,
+alolan_boy,1,78,kyonart
+alexiel_(pixiv6211566),1,78,
+akimichi_chouchou,4,78,
+akeboshi_kagayo,1,78,myoujou_you
+akagami_no_shirayukihime,3,78,
+aikawa_ren,4,78,
+agwing86,1,78,
+ace_combat_04,3,78,ace_combat_4
+zumi_tiri,1,77,aee_gnsn
+zubatto_(makoto),1,77,
+zassou_maruko,1,77,
+zaizen_touko,4,77,
+yuusaki_riko,4,77,
+yuuko_(030_yuko),1,77,
+yuu_(isis7796),1,77,
+yuno385,1,77,
+yuni_(school_festival)_(princess_connect!),4,77,
+yukiko_hime,4,77,
+yori_(shitsuon),1,77,
+yoracrab,1,77,stormyorha
+yonezuka_ryou,1,77,
+yoko_(nz_g),1,77,
+yoimoriyoru,1,77,akatsuki_(pixiv23539542)
+ygo_(kintsuba),1,77,
+yamoge,1,77,
+yamamoto_takeshi,4,77,
+yagaminoue,1,77,
+xyanaid,1,77,
+xkaishaku,1,77,
+wuliu_heihuo,1,77,
+woman_yelling_at_cat_(meme),0,77,woman_yelling_at_cat
+wolffeld_price,1,77,wolffeld
+wolf_tengu_extra_(touhou),4,77,
+wolf_(raidou-j),1,77,
+wenzheng147,1,77,
+wcdonalds,3,77,
+wang_man,1,77,
+wanaxtuco,1,77,
+walrein,4,77,
+waku,1,77,
+wakamepiza,1,77,
+waiting_for_kiss,0,77,
+vexen,4,77,
+venus_eleven_vivid!,3,77,
+urasuji_samurai,1,77,
+unique_(pixiv12704744),1,77,
+umegiri_ameto,4,77,
+umapyoi_(phrase),0,77,
+twc_(p-towaco),1,77,
+tuuuh,1,77,
+turn_x,4,77,
+turkey_min,1,77,
+tricky_46,1,77,
+tranquillianusmajor,1,77,
+toshibou_(satsukisou),1,77,tosibow
+torso_flash,0,77,
+toropp,1,77,
+torn_hoodie,0,77,
+tona-gura!,3,77,tonagura
+tokopi,1,77,
+tine_(fire_emblem),4,77,tinny_(fire_emblem)
+the_king_of_fighters_xii,3,77,"king_of_fighters_xii,kof_12"
+teria_saga,3,77,
+tatsuya_(atelier_road),1,77,
+tate_yukimi,1,77,
+tasogare_mimi,4,77,
+takumi_namuchi,1,77,
+takatoo_nanase,4,77,takato_nanase
+taekwon_kim,1,77,
+t_jiroo_(ringofriend),1,77,
+suzuko_(star8383),1,77,
+suyamori,1,77,suya2mori2
+susumu-sensei,4,77,
+sushi_geta,0,77,
+surgery,0,77,
+supocon,1,77,
+suguro_ryuuji,4,77,
+steely_dan,4,77,
+soya_(sys_ygo),1,77,
+soumakyo,1,77,
+sock_bow,0,77,
+soba_(sobaya1938),1,77,
+small_hands,0,77,
+sleeping_with_eyes_open,0,77,
+sl8_(girls'_frontline),4,77,sl8_(girls_frontline)
+skywarp,4,77,
+sinanju,4,77,
+side-tie_costume,0,77,
+shuumatsu_no_harem,3,77,world's_end_harem
+shu_(loveeater),1,77,
+shouma_(bravespiritya),1,77,bravespiritya
+shizuki_aya,1,77,ayasia
+shiro_sousu,1,77,
+shionootsu,1,77,
+shiohara_shin'ichi,1,77,shiohara_shinichi
+shiny_pantyhose,0,77,
+shinonome_haru,1,77,shinomome_haru
+shinoi,1,77,
+shin_yuya,4,77,
+shiguri,1,77,
+sheryl_nome_(cosplay),0,77,
+shati,1,77,
+seppuku,0,77,harakiri
+sen'yuu.,3,77,
+sela_(08180074),1,77,
+sekka_koyori,1,77,
+sekino_roko,4,77,
+sekai_de_ichiban_oppai_ga_suki!,3,77,
+seedflare,1,77,
+security_guard,0,77,
+second_heaven,1,77,
+sealeo,4,77,
+samurai_sentai_shinkenger,3,77,
+sakurayu_haru,1,77,
+sakurai_izumi,4,77,
+sakaki_chizuru,4,77,
+saito_yoko,4,77,saitou_youko
+sabito_(kimetsu),4,77,
+s.e.e.s,0,77,
+ryouku,1,77,
+ryoma_(rym_369),1,77,
+rya_(elden_ring),4,77,
+rurun_rururica,4,77,
+rope_necklace,0,77,
+roman_imperial,1,77,
+robba-san_(wangphing),4,77,
+rikei_ga_koi_ni_ochita_no_de_shoumeishitemita,3,77,science_fell_in_love_so_i_tried_to_prove_it
+rhapsode,1,77,
+reyn_(xenoblade),4,77,"rein_(xenoblade),reyn"
+rankebu,1,77,
+ragnarock_city,3,77,
+r-type_nirvana,1,77,
+qianqiu_wanxia,1,77,
+qian_ye_(qys3),4,77,qian_ye_(bai_yemeng)
+python_(fire_emblem),4,77,paison
+pre_(preecho),1,77,pre_(17194196)
+praise_the_sun,0,77,
+pixiv_succubus,3,77,
+pipette1223,1,77,
+pink_stripes,0,77,
+pienahenggou,1,77,8nana
+phalanx_2_(sekaiju),4,77,
+pepsi_nex,0,77,
+patricia_(madoka_magica),4,77,
+paryi,1,77,
+oyaman,1,77,
+orimoto_mimana,1,77,
+"ore_ga_ojou-sama_gakkou_ni_""shomin_sample""_toshite_rachirareta_ken",3,77,shomin_sample
+ookawa_wataru,1,77,
+ookamiden,3,77,okamiden
+oodenta_mitsuyo,4,77,
+ooarai_(ibaraki),0,77,
+onomiya,1,77,
+onda_takeshi,1,77,
+omiya_(louise-louis-lucille),1,77,louise-louis-lucille
+oman_(evld),1,77,
+okitsune_(okitsune-sama),1,77,okitune-sama
+okawa_friend,1,77,
+oirin,1,77,
+odori_momoha,4,77,
+oddsnail,1,77,
+oda_eiichirou_(style),0,77,
+ochanoko_(get9-sac),1,77,
+number_print,0,77,
+nozaki_sakura,4,77,
+noneon319,1,77,
+nona_moth,1,77,
+nomeazog,1,77,
+no_hair_bow,0,77,
+nirvana_(blazblue),4,77,
+nico_(devil_may_cry),4,77,nicoletta_goldstein
+neuroi_girl,4,77,
+netachou,1,77,
+neneko-n,1,77,
+nekoyanagi_matasaburou,1,77,
+nekomegane,1,77,
+naru_0,1,77,
+naoki_(shibu_asa_ryo),1,77,
+nanashi_mumei_(owl),4,77,
+namakemono_(u446644k),1,77,
+nagisa_(blue_archive),4,77,
+nagai_wataru,1,77,
+nabe-box,1,77,
+n-mori,1,77,
+mutsuki_(iroha_(iroha_matsurika)),4,77,
+murasaki_hisato,1,77,
+murasaki-yuri,1,77,
+mugiusagi,1,77,siriusagimugi
+mourning,0,77,
+motsunuki,1,77,
+morihama_karute,1,77,
+mora_(genshin_impact),0,77,
+moon_gate,0,77,
+moo_(umineko),1,77,
+momoiro_tanuki,1,77,
+mokkei,1,77,
+mmu,1,77,
+mmmmmkun,1,77,
+mitsuru_(pixiv_34028718),1,77,
+mishima_toshihiro,1,77,herushia
+misana,1,77,
+misaka_imouto_9982,4,77,
+minion_(despicable_me),4,77,
+miniature_ranni,4,77,
+mini_shako_cap,0,77,
+minamito,1,77,
+michiru_(air),4,77,tohno_michiru
+michele_crispino,4,77,
+meo,1,77,
+meigo_arisa,4,77,
+matcha_cream_v,1,77,vldksltlah88
+matatabi_(nigatsu),1,77,
+masuyama_kei,1,77,
+masn_(moxi),1,77,
+masaya_ichika,1,77,
+mary_cagle,1,77,
+marvel_vs._capcom_2,3,77,"marvel_vs_capcom_2,mvc2"
+maruishi,1,77,
+maru_shion,1,77,
+marie_makise,4,77,
+maria_marionette,4,77,
+manah,4,77,
+mame_nabe_donko,1,77,
+malos_(xenoblade),4,77,metsu_(xenoblade)
+makita_(vector1525),1,77,
+makiri_akira,1,77,sho-chan
+machino_henmaru,1,77,
+lyn_(shunao),1,77,shunao
+lupin_dive,0,77,
+lovely_labrynth_of_the_silver_castle,4,77,labrynth_of_the_silver_castle
+looking_inside,0,77,looking_in_window
+little_sister_(seojh1029),4,77,
+lino_(lilyparty07),1,77,naginagiwaffle
+leon0705,1,77,
+leite_jokin,4,77,
+leena_(chrono_cross),4,77,rena_(chrono_cross)
+leaf_panties,0,77,
+laxus_dreyar,4,77,
+langrisser_mobile,3,77,
+ladydevimon,4,77,
+kyuuketsuki_sugu_shinu,3,77,the_vampire_dies_in_no_time
+kuroi_paseri,1,77,
+kurasaki_fuuko,4,77,
+kunishige_keiichi,1,77,
+kousaka_maria,4,77,
+kouhara_yuyu,1,77,
+koriarredondo,1,77,
+koraidon,4,77,
+kook,1,77,
+konno_kengo,1,77,
+konbari_tariumu,1,77,
+komainu_(yamaha1997),1,77,
+koko_(kamitsubaki_studio),4,77,
+koi_ni_kanmi_o_soete,3,77,
+kogarasumaru_(touken_ranbu),4,77,
+koga_rejini,1,77,
+knt02142769,1,77,
+knolling,0,77,
+kiyone_suzu,4,77,
+kiran_(kiranpln),1,77,
+kirameki_high_school_uniform,0,77,
+kio_shimoku,1,77,
+kidokawa_seishuu,0,77,
+kemi_neko,1,77,
+kcccc,1,77,
+kashii_eiji,4,77,
+kaminogi_haruka,4,77,
+kamimura_chika,4,77,
+kamen_rider_amazon_(series),3,77,
+kamanatsu,1,77,
+kaizuka_yuki,4,77,
+kainown,1,77,
+k3rd,1,77,
+jun_(goodgun7),1,77,
+john_(tiger_&_bunny),4,77,
+jo_(bakuretsu_tenshi),4,77,
+jk_gumi_(nijisanji),0,77,
+jiam009,1,77,youyi_(jiam009)
+jeanne_d'arc_alter_(festival_outfit)_(fate),4,77,jeanne_d'arc_(alter)_(festival_outfit)_(fate)
+jagercoke,1,77,
+iwao_(pixiv258710),1,77,
+ishinoyari,1,77,
+iron_maiden,0,77,
+iriya_no_sora_ufo_no_natsu,3,77,iriyanosoraufononatsu
+io_(maryann_blue),1,77,
+inemuri_uno,1,77,
+impossible_skirt,0,77,
+imai_tetsuya,1,77,
+ichinose_(ichinose1592),1,77,
+ibuki_suika_(cosplay),0,77,
+huangquan_dong_(sinchi),1,77,sinchi
+hua_yi_shan_xin_zhi_yue,3,77,
+hospital_king,1,77,
+hoshizora_no_babylon,3,77,
+homu_(seven_deadly_sins),1,77,homura_k
+holding_luggage,0,77,
+hiyama_yuki,1,77,
+hirokazu_sasaki,4,77,
+himation,0,77,
+hidaka_kouyou,1,77,dawndusk
+hei_(tonarinohey),1,77,
+heart_ring_bottom,0,77,
+hawoku_ishibare,1,77,
+hasisisissy,1,77,
+harumi_sawara,4,77,
+happy_maker!,0,77,
+hanpan,4,77,
+hano_(hanos91),1,77,ayo_(isy8800)
+hand_in_bikini,0,77,
+hana_n._fountainstand,4,77,hannah_n._fontanstand
+half-life_2,3,77,half_life_2
+hajimete_no_orusuban,3,77,
+haiba_arisa,4,77,
+h&k_g36c,0,77,
+glowing_markings,0,77,
+gerome_(fire_emblem),4,77,jerome_(fire_emblem)
+gensou_suikogaiden,3,77,suikogaiden
+gecko,0,77,
+garan_co,1,77,
+ganyu_(china_merchants_bank)_(genshin_impact),4,77,
+gamarenji,1,77,
+fuyu_no_yoru_miku,4,77,
+fuurin_kingyou,1,77,
+futoumeido,1,77,
+futon_fly_away,1,77,
+furuki_ayaginutaira,1,77,
+funpjinju,1,77,
+fujiyama,1,77,
+fujimoto_satoru,1,77,
+fujimori_shiki,1,77,
+fujima_sakura,4,77,
+fueiku,1,77,
+freddy_krueger,4,77,
+food_on_legs,0,77,
+floor_lamp,0,77,
+fervent_idiot,1,77,
+fai_(fai-storage),1,77,pesox
+eyes_visible_through_eyewear,0,77,
+exif_thumbnail_surprise,5,77,
+eunnieverse,1,77,
+eugle_na,1,77,
+enmu_(kimetsu_no_yaiba),4,77,
+ending,0,77,
+end_of_eternity,3,77,resonance_of_fate
+emonyu,1,77,
+durandal_(fire_emblem),0,77,
+dunsparce,4,77,
+druddigon,4,77,
+dr._wily_(mega_man),4,77,"albert_w._wily,albert_w_wily,dr._wily,dr_wily"
+dodododo,0,77,
+djmax_respect,3,77,dj_max_respect
+dendrobium_schema,0,77,
+dekochin_hammer,1,77,xenon_blaze
+deep_web_underground,3,77,
+daisy_cutter,1,77,
+daisy_(working!!),4,77,
+daichi_(daichi_catcat),1,77,
+da_(bobafett),1,77,
+cyberlive,3,77,
+cutout_below_navel,0,77,
+cutesexyrobutts_(style),0,77,
+crotchless_bloomers,0,77,
+cross-laced_shorts,0,77,
+cpqm,1,77,
+couter,0,77,
+coupon_(skyth),1,77,
+counter-strike_(series),3,77,
+cortoony,1,77,
+condensed_milk,0,77,
+cloud_hair,0,77,
+claude_(housamo),4,77,claude_(tokyo_houkago_summoners)
+ciel_nosurge,3,77,
+chuuou_higashiguchi,1,77,
+choo_choo_train,3,77,
+chobii_(hamgyomu),1,77,
+chihaya_gunzou,4,77,
+chibi_chibi,4,77,
+chain_earrings,0,77,
+chaciooh,1,77,
+cat_(trickster),4,77,
+carvanha,4,77,
+captain_tsubasa,3,77,
+caltina_(pepekekeko),4,77,
+caloriemate,3,77,
+butterfly_choker,0,77,
+bushmaster_acr,0,77,
+burenbo,1,77,
+bun150,1,77,
+brycen_(pokemon),4,77,hachiku_(pokemon)
+bouno_satoshi,1,77,
+bokoblin,4,77,
+boise_(azur_lane),4,77,
+blue_tube_top,0,77,
+blue_sealad,1,77,blue_sela
+blonde_hair-chan_(ramchi),4,77,
+bliss_barson,4,77,
+bisuke_(k_step2009),1,77,
+biscuit_krueger,4,77,
+bikini_top_aside,0,77,
+big_sister_(seojh1029),4,77,
+bettie_(pokemon),4,77,yui_(pokemon)
+bea_(bropmlk),1,77,
+bbeedol,1,77,
+b_rock,1,77,
+aya_drevis,4,77,
+axel_syrios,4,77,
+awesomeerix,1,77,
+aurora_(disney),4,77,
+at_field,0,77,
+asuka_(louyun),1,77,
+ashiya_shirou,4,77,
+arm_mounted_weapon,0,77,
+aoyama_nanami,4,77,
+aojiru_(shiro_to_kuro_no_mukyou),1,77,
+anouetto,1,77,
+ankoiri,1,77,
+angeling,4,77,
+angel_french,0,77,
+amu_(258shin),1,77,
+amazon_(azur_lane),4,77,
+amaya_enaka,1,77,
+amane_rosylily,4,77,
+alteisen,4,77,
+alphes,1,77,
+akkun_to_kanojo,3,77,my_sweet_tyrant
+akira_(yuibnm71),1,77,
+akatsuki_shimeji,1,77,shiraki_kyousuke
+akai_akasaki,1,77,
+ajin_(sakurai_gamon),3,77,
+ai_gon_deroga,1,77,aigonderoga
+adobe_photoshop,0,77,
+adhesive_bra,0,77,
+active_raid,3,77,
+academy_ahri,4,77,
+7100potechi,1,77,
+104,1,77,
+zura_(phrase),0,76,
+zhishi_ge_fangzhang,1,76,
+yuzuriha_(atelier_liang),1,76,
+yuurei_yashiki,1,76,yure_(pixiv649445)
+yuuichi_(bobobo),1,76,
+yururi-ra,1,76,
+yuri_hyuga,4,76,
+yukome,1,76,
+yukkyun,1,76,
+yuinshiel_asteria,4,76,
+yu-gi-oh!_tag_force,3,76,
+yoshiten,1,76,
+yoshinogai,1,76,
+yokuran,1,76,
+yokoyama_kouji,1,76,tonarinoyama
+yf-19,4,76,
+yellow_sports_bra,0,76,
+yasehattagi,1,76,
+yamadori_seika,1,76,yamadori_enka
+yac_(mokkori),1,76,
+xyunx,1,76,
+xingchee,1,76,
+x-drive_(symphogear),0,76,
+wweed,1,76,
+wu_zetian_(swimsuit_caster)_(fate),4,76,
+win_opz,1,76,
+wedo,1,76,
+washpan,0,76,wash_pan
+wacky_races,3,76,
+vuccha,1,76,
+vima,1,76,
+victor_von_gerdenheim,4,76,
+vibrava,4,76,
+venus_bikini,0,76,
+utani_(punishment),1,76,
+uss_enterprise_(cv-6),4,76,
+ushisuke,1,76,
+ushiromiya_hideyoshi,4,76,
+unown_n,4,76,
+unown_i,4,76,
+unbuttoned_dress,0,76,
+un_tan,0,76,
+umino_mizu,1,76,
+ultrabinou,1,76,
+ultra_magnus,4,76,
+uchida_aya,4,76,
+tubumi,1,76,
+tsunokakushi,0,76,
+tsunenorip,1,76,
+tsukishita_kaoru,4,76,
+tsujigiri,1,76,tujigiri
+trevenant,4,76,
+topdylan,1,76,
+tooku0,1,76,
+tomo_(tomorag7),1,76,tomorag7
+tiny_(tini3030),1,76,
+time_mage_(fft),4,76,
+thick_outlines,0,76,
+theory_(xenoblade),4,76,seori_(xenoblade)
+the_legend_of_zelda_(nes),3,76,
+the_dark_knight,3,76,
+teruya_(6w6y),1,76,6w6y
+tenkaichi_nihon_saikyou_bugeisha_ketteisen,3,76,
+ten_piboshi,1,76,
+temujin_(housamo),4,76,temujin_(tokyo_houkago_summoners)
+tarutobi,1,76,
+tao_pai_pai,4,76,
+takao_(kancolle)_(cosplay),0,76,
+takamiya_nasuno,4,76,
+takagirock,1,76,
+sweater_girl,4,76,
+suzuya_aki,4,76,
+suzuki_iruma,4,76,
+sunday_se7en,1,76,
+suigetsu_koubou,1,76,
+strelka,4,76,
+steel_ball,0,76,
+spiral_heart_moon_rod,0,76,
+space_jam,3,76,
+space_elevator,0,76,orbital_elevator
+soo-hyon_lee,1,76,
+sonoda_mitsuki,4,76,
+someno_haru,1,76,
+smelling_ass,0,76,ass_sniffing
+silverwing,1,76,
+silent_hill_1,3,76,
+shroedinger,1,76,
+shisaki_tayu,1,76,
+shiromiya_rei,4,76,
+shirogane_takeru,4,76,
+shiratama_(monster1553),1,76,tama_(monster1553)
+shine!!_(idolmaster),0,76,shine!!
+shimabara_yuuhi,4,76,
+shiitake,0,76,
+shiiba_nae,1,76,
+shigure_(sigre),1,76,kuro_neko_(artist)
+shie_(m417),1,76,
+sheep_hood,0,76,
+shedding,0,76,
+shaian,1,76,
+semi_(p-poco),1,76,semi_finalfight
+seattle_(azur_lane),4,76,
+satobitob,1,76,
+sasatabekung,1,76,
+sango_(53box),1,76,
+sanada_tatsuki,4,76,
+samonasu17,1,76,
+ryuudou_issei,4,76,
+ryoushi_chicken_soup_grass_big_chungus,4,76,
+ryokucha_manma,1,76,
+roku_no_hito,1,76,
+roku_(tsua-kihuyu),1,76,
+rog_rockbe,1,76,
+rodoreamon,4,76,
+rivets,0,76,
+rilliona_(yu-gi-oh!),4,76,
+reisei_zero,1,76,
+referee,0,76,
+red_overalls,0,76,
+ramuya_(lamb),1,76,
+rahwia,1,76,
+r2pi,1,76,
+quatthro,1,76,
+qiao_xing,1,76,
+punched,0,76,
+pumpkin_skirt,0,76,
+pudding_(zoza),4,76,
+present_mic,4,76,yamada_hizashi
+predacon,0,76,
+poroi_(poro586),1,76,
+pon_(cielo),1,76,
+poleyn,0,76,
+plover,1,76,
+pigone,1,76,pigonhae
+patrick_colasour,4,76,
+parabora_(nipplemokuba),1,76,
+pan_koujou,1,76,
+pallas's_cat_(kemono_friends),4,76,
+padoruu,1,76,
+ozeu0916,1,76,
+oyuyu,1,76,
+oyasuminjyutsu,1,76,
+otome_wa_boku_ni_koishiteru_futari_no_elder,3,76,
+oshiruko_(oshiruko_s2),1,76,
+oricorio_(sensu),4,76,
+orange_pajamas,0,76,
+ooshio7734,1,76,
+ookamisama,1,76,
+omega_2-d,1,76,
+oluha,1,76,
+oju_(ouka),1,76,
+oguro_(moyashi_2-hon),1,76,
+officer_vi,4,76,
+nyaring943,1,76,
+nyamou,4,76,
+numenoko,1,76,
+npn,1,76,
+nonomura_sora,4,76,
+nobusawa_osamu,1,76,
+nito_minatsuki,1,76,
+nishikawa_youko,4,76,
+nishi_masakazu,1,76,
+nisha_(elsword),4,76,
+nikusho,1,76,
+nikai_kara_momoshio,1,76,momosio2f
+nidorina,4,76,
+nero_claudius_(fate/extra)_(cosplay),0,76,
+nengoro,1,76,kijineko
+necrozma,4,76,
+natsuki_subaru_(cosplay),0,76,
+namespace,1,76,cactus64
+myeolchi,1,76,
+mush_(mushlicious),1,76,bima_rahmaa
+musco,1,76,
+mumumu_(three_emu),1,76,nakatomo
+mukai,1,76,
+moroha,4,76,
+mochizuki_honami,4,76,
+mo_dao_zu_shi,3,76,
+mizumizu_(phoenix),1,76,
+miyakodori_takayuki,1,76,
+mirin_pengin,1,76,
+minya_(nyanko_daisensou),4,76,
+minnie_mouse_ears,0,76,
+mikko_leminen,4,76,
+mikazuki_(azur_lane),4,76,
+mifilinah_jegell,4,76,
+michelle_cheung,4,76,
+melancholic_(vocaloid),3,76,
+mega_gengar,4,76,
+mayuzumi,1,76,
+mayumi_thyme,4,76,
+maximum_impact_ii,3,76,
+mattang,1,76,
+matryoshka_(borscht),1,76,
+material_sniper,3,76,
+mass_effect_2,3,76,
+marutaya,1,76,maru_ooya
+maru_(maru1625),1,76,
+marie_en_carlsberg,4,76,
+marie_(atelier),4,76,
+manila_envelope,0,76,
+manatu_kato,1,76,mafuyu_keitou
+mamonomusume_to_no_seikatsu,3,76,
+mamemo_(daifuku_mame),1,76,
+mamemix,1,76,
+mall_link_suit,0,76,
+majiro_(mazurka),1,76,
+luke_triton,4,76,
+luke_(kyeftss),1,76,
+liquid-in-glass_thermometer,0,76,mercury_thermometer
+lilith_(lilithchan),1,76,
+lewdishsnail,1,76,
+leppa_berry,0,76,
+leonne_(futagohime),4,76,
+leica,1,76,
+laventon_(pokemon),4,76,laven_(pokemon)
+lanz_(xenoblade),4,76,
+kusoyuridanchi,1,76,
+kurosawa_shouichi,1,76,
+kurosawa_rei,4,76,
+kuon_michiyoshi,1,76,
+kunikida,4,76,
+kumakichi_(toshigat),1,76,
+kuma_jet,1,76,
+koucha_indian,1,76,tomliat
+kondou_ryunosuke,1,76,
+konami,3,76,
+kokuhaku_jikkou_iinkai,3,76,
+kokoa-chan_(pan_(mimi)),4,76,
+koizumi_hitsuji,1,76,
+koi_ga_saku_koro_sakura_doki,3,76,
+kobashi,1,76,
+klefki,4,76,
+kitamura_yuusaku,4,76,
+kirino_kasumu,1,76,
+kirin_(monster_hunter),4,76,
+king_kazma,4,76,king_kazuma
+kimyo,1,76,
+kibou,1,76,
+keikou_ryuudou,1,76,
+kawaguchi_youhei,1,76,
+kasuga_misora,4,76,
+kashimu,1,76,
+karna_(santa)_(fate),4,76,
+kamura_gimi,1,76,
+kamishiro_rin,4,76,
+kamisama_no_you_na_kimi_e,3,76,
+kajuu,1,76,
+kagura_(onmyoji),4,76,
+kagami_tina,4,76,
+jyushiko_(osomatsu-san),4,76,juushiko_(osomatsu-san)
+junior_clown_car,4,76,
+jung_freud,4,76,
+julius_juukulius,4,76,
+jettoburikku,1,76,
+ishiwatari_daisuke,1,76,
+iris_(material_sniper),4,76,
+inui_sekihiko,1,76,
+ino_(tellu0120),1,76,
+ink_wash_painting,0,76,
+indo_curry,1,76,ind-kary
+impact_(font),0,76,
+imp_mercy,4,76,
+iceky,1,76,
+ice_cream_scoop,0,76,
+i-13_(azur_lane),4,76,
+hyena,0,76,
+hyadain_no_joujou_yuujou,0,76,
+hunting,0,76,
+hukahito,1,76,inuyabu_cc
+hovering_kousin,1,76,
+hoshiuta,3,76,
+hoshi_(xingspresent),1,76,
+hoozuki_shia,1,76,
+hiyo_kotori,1,76,
+hiyashi_mirano,1,76,
+hiratsuka_shizuka,4,76,
+hilda_(under_night_in-birth),4,76,
+hihachi,1,76,
+hidari_kagetora,1,76,
+heripiro,1,76,
+heisei,0,76,
+headphone_actor_(vocaloid),3,76,
+hayashi_kotoyo,4,76,
+hayama_kotono,4,76,
+hattrem,4,76,
+hato_yu-ki,1,76,
+hardgore_alice,4,76,
+hans_christian_andersen_(adult)_(fate),4,76,hans_christian_andersen_(fate)_(adult)
+gupipy,1,76,crvtcn
+gundam_gp-02_physalis,4,76,
+guitar_little_sister_(hitomi_o),4,76,guitar_onee-san_(hitomi_o)
+gu_deulmok,1,76,
+grumpy,0,76,
+ground_gundam,4,76,
+gr_greeze,1,76,
+golden_egg,0,76,
+godzilla_(2014),3,76,
+godharo1,1,76,
+gnosis_(genshin_impact),0,76,
+glowing_nipples,0,76,
+gipsy_underground,1,76,
+gilgamesh_(establishment)_(fate),4,76,establishment_(fate/grand_order)
+geoduck,0,76,
+genji_tsuushin_agedama,3,76,
+gemi_25,1,76,gemi-25
+gekka_nanako,1,76,
+ga_bunko,3,76,
+g.h_(gogetsu),1,76,
+fuuma_kotarou_(tenkaichi),4,76,
+fukuzawa_yukichi_(egoist867),1,76,noan
+fujiwara_zakuro,4,76,
+fujisaki_rei,1,76,
+frit_2,1,76,
+file112056,1,76,
+fiery_ears,0,76,
+fei_fong_wong,4,76,
+fake_translation,5,76,
+es-ther,1,76,
+ennis,4,76,
+eleonora_viltaria,4,76,
+drop_kick,0,76,
+draw-till-death,1,76,
+dosu_(doseven),1,76,
+dos_cat,4,76,
+doruka,1,76,tr25510
+dl2go,1,76,
+diieru,1,76,
+depth_charge_projector,0,76,
+deep_web_underground_(character),4,76,
+dadachyo,1,76,
+cyzir_visheen,1,76,"rpcshell,viscy"
+cure_peace_(princess_form),4,76,
+cruiser_d.va,4,76,
+cruccu,1,76,
+crimson_typhoon,4,76,
+cookbook,0,76,
+construction_worker,0,76,
+cola_(gotouryouta),1,76,cola_(pixiv810305)
+climbing_tree,0,76,
+ckln,1,76,
+cicin,1,76,
+chullo,0,76,
+chou_megami_shinkou_noire_gekishin_black_heart,3,76,"hyperdevotion_noire,hyperdevotion_noire:_goddess_black_heart"
+choso_(jujutsu_kaisen),4,76,
+chika_(orange_pop),1,76,
+chelle_ingham,1,76,
+chat_(tales),4,76,
+chacha_(akazukin_chacha),4,76,
+cha_kuro_(limo),1,76,
+cha_(kancolle),4,76,cha_(kantai_collection)
+captain_america_(cosplay),0,76,
+capoeira,0,76,
+burari,1,76,
+bugita,1,76,
+brey,4,76,
+bow_shirt,0,76,
+bow_removed,0,76,
+bound_feet,0,76,
+bouhatei_tetora,4,76,
+bou_shaku,1,76,
+bonryuu,1,76,
+bonobono,3,76,
+boingo,4,76,
+blood_moon_(league_of_legends),0,76,
+blonde_girl_(cloba),4,76,
+bikupan,1,76,
+beyond_the_wishes_(idolmaster),0,76,beyond_the_wishes
+beast_wars:_transformers,3,76,
+baizhu_(genshin_impact),4,76,hyakujutsu_(genshin_impact)
+bait,0,76,
+bagel,0,76,
+bad_gun_anatomy,0,76,
+bad_end_beauty,4,76,
+bachibachi_(tisen),1,76,
+azuma_satori,4,76,
+azu_(azusayumix),1,76,
+atou_haruki,4,76,
+atelier_marie,3,76,atelier_marie_alchemist_of_salburg
+atchy,1,76,
+asymmetrical_earrings,0,76,
+asura_(onmyoji),4,76,
+asura_(elsword),4,76,
+asakawa_shinka,1,76,
+asahina_mikuru_(cosplay),0,76,
+arufa_(hourai-sugar),1,76,
+arm_on_table,0,76,
+arene_(arknights),4,76,
+archer_(cool_and_wild)_(fate),4,76,
+archen,4,76,
+araragi_ayune,1,76,funmatu
+aqua_sky,0,76,
+aozora_taf,1,76,
+aoten,1,76,
+anmitsu_(dessert),0,76,
+amata_sora,4,76,
+amacha,1,76,
+alex_mercer,4,76,
+akira_(ying),1,76,
+akinoya,1,76,
+akino_kaede,4,76,
+akatsuki_(akatsukishiki),1,76,
+akaho_sakura,1,76,beniho_sakura
+akagikou,1,76,
+aino_nagisa,4,76,
+aichi_shiho,1,76,
+ahiru_(duck),4,76,
+agnes_joubert,4,76,
+agemaki_wako,4,76,
+adjusting_strap,0,76,
+5tb,1,76,
+41_(taskmaster41),1,76,
+2qba,1,76,
+1998,0,76,
+1997,0,76,
+15citron,1,76,
+zutta,1,75,
+zumi_(neronero126),1,75,
+zerogravitas,1,75,
+zazie_rainyday,4,75,
+zanki,1,75,
+yzak_joule,4,75,
+yuririn_poi,1,75,
+yunkaiming,1,75,dylannn
+yumasaki_walker,4,75,
+yukinami_(paru26i),1,75,
+yukimaro_yukkii,1,75,
+yoyoyotto,1,75,
+yoshii,1,75,
+yonomori_benio,4,75,
+yonehara_sousuke,4,75,
+yeyebirdie,1,75,
+yayuyoyayuyo,1,75,
+xuan_li_(the_legend_of_luoxiaohei),4,75,
+woominwoomin5,1,75,
+winged_wand,0,75,
+whitebeard_pirates,0,75,
+watchog,4,75,
+wajuniorbox,1,75,
+vocaloid_(tda-type_ver),0,75,
+vik_(xypt7474),1,75,
+venus_(planet),0,75,
+vegetable_noda,1,75,vegetable_osamuta
+utsugi_uyu,4,75,
+usui_yoshito_(style),0,75,
+useless,1,75,
+usavich,3,75,
+usaki_(ama),1,75,
+urushia_(okame_nin),4,75,
+unown_r,4,75,
+ume_(yume_uta_da),1,75,
+umashio,1,75,
+ujiie_mutsumi,4,75,
+tsunoko,4,75,
+tsa,1,75,
+trigger-chan,4,75,
+toukan,1,75,
+tomoe_(persona_4),4,75,
+tokimeki_memorial_girl's_side_2nd_kiss,3,75,
+toinana,1,75,
+tofuvi,1,75,
+tingle,4,75,
+thrasir_(fire_emblem),4,75,
+the_legend_of_zelda:_the_minish_cap,3,75,"minish_cap,the_minish_cap"
+the_hand_(stand),4,75,
+tharja_(fire_emblem)_(cosplay),0,75,
+teti,1,75,
+teko,1,75,
+tear_ring_saga:_utna_heroes_saga,3,75,
+tatahai,1,75,
+tanizaki_yukari,4,75,
+tangerine_(dudu),1,75,kangagi97
+tanaka_(colorcorn),1,75,
+tamamo_(yagi),4,75,
+tama_(love_hina),4,75,
+takase_hina,1,75,
+takamin_apaman,1,75,
+tajyador,1,75,
+taisai,1,75,fosamaguna
+swordwaltz,1,75,"ekographartsign,sword-waltz"
+sv-98,0,75,
+suzumiya_seika,4,75,
+suzu_(nagasarete_airantou),4,75,
+super_smash_bros._logo,0,75,
+super_robot_wars_v,3,75,
+sunyukun,1,75,
+striped_cape,0,75,
+streamingsun,1,75,
+strada,4,75,
+spoken_sparkle,0,75,spoken_sparkles
+split_tail,0,75,
+sonaworld,1,75,
+snow_villiers,4,75,
+snake_armband,0,75,
+slit,0,75,
+slayer_(guilty_gear),4,75,
+siroooo,1,75,
+siren_purifier_(azur_lane),4,75,
+side_handle_teapot,0,75,
+shuichi_wada,1,75,
+shokatsuryou_koumei,4,75,
+shizu_(9394marimo),1,75,
+shiun'in_sora,4,75,
+shirt_half_tucked_in,0,75,
+shirokujira,1,75,331ab31
+shiretoko_rin,4,75,
+shipyard,0,75,
+shino_(shinderera),1,75,
+shimotsuma,3,75,
+shimotsuki_juugo,1,75,noq
+shimon,4,75,
+shilin,1,75,
+shibagami,1,75,
+shantak_(nyaruko-san),4,75,
+sha_(isago),1,75,
+sengoku_koihime_~otome_kenran_sengoku_emaki~,3,75,
+see-through_shawl,0,75,
+sea_spray,0,75,
+schelz,1,75,
+sayossa_(pak-front),1,75,
+sanukiske,1,75,
+sansaro_rii,1,75,
+sane-person,1,75,
+sakimiya_iruka,4,75,
+saki_hajime,1,75,
+saitou_nicole,4,75,
+safari_jacket,0,75,
+saegusa_yukika,4,75,
+ryuuto_(vocaloid),4,75,gachapoid
+running_towards_viewer,0,75,
+rune_factory_frontier,3,75,
+rukotaro,1,75,
+ruca_milda,4,75,
+rome,0,75,
+rokosu_(isibasi403),1,75,
+riou_(gensou_suikoden),4,75,
+ringorou_(idolmaster),4,75,
+rido_(ridograph),1,75,
+rider_kick,0,75,
+rice_planting,0,75,
+revolver_(game),3,75,
+redundant-cat,1,75,
+recette_lemongrass,4,75,
+rasupekuto,1,75,korikorikori
+rai_(newtype_xm-x1),1,75,
+qiu_ju,1,75,
+purity_seal,0,75,
+pureji_oshou,1,75,
+provence_(casual_vacation)_(arknights),4,75,provence_(leisure_summer)_(arknights)
+profitshame,1,75,
+pop-up_pirate,0,75,
+ponyaru,1,75,
+ponpoko,1,75,
+pokio,1,75,
+poharo,1,75,
+platelet_(hataraku_saibou)_(cosplay),0,75,
+pla4neta,1,75,o_hyatsu_4
+pilky,1,75,
+pika_(pokemon),4,75,
+phione,4,75,
+phazer,1,75,
+pentagon_(uzus),1,75,
+pennywise,4,75,
+pelican,0,75,
+pedobear,4,75,
+pawn_(chess),0,75,
+paskmel,1,75,
+para-sol,3,75,
+pan-ooh,1,75,
+ostwindprojekt,1,75,
+oshin0_(zheng),1,75,
+orochi_(youkai_watch),4,75,
+open_cockpit,0,75,
+onizuka_saori,4,75,
+onionsketch,1,75,
+okumori_boy,1,75,
+okino_tsukasa,4,75,
+oekakimannga,1,75,
+o_medal,0,75,
+null_maru,1,75,
+nootomo,1,75,
+nomal,1,75,
+noiz_(dramatical_murder),4,75,
+noe_yuuhi,1,75,"sccm,ueno_makoto"
+nodori710,1,75,
+niwa_hitomi,4,75,
+nicohi,1,75,
+nhk_(voiceroid),4,75,
+nemun_(tamizzz),1,75,
+nazuna_(flower_knight_girl),4,75,
+natsuno_suika,1,75,
+natsume_yuji,1,75,
+naruse_nagi,1,75,narunaru1320
+naomi_evans,4,75,
+nanase_(nns_6077),1,75,nanase_(7749222)
+nagi_to_(kennkenn),1,75,
+nachoz_(nachozart),1,75,"nachoz_(natsukichann),nachozarts"
+nachisuke,1,75,
+muryuuin_tayun,1,75,
+mumyuu,1,75,
+mouth_submerged,0,75,
+moto_mitsuashi,1,75,
+monmusu_harem,3,75,monmusume-harem
+mona_(pact_of_stars_and_moon)_(genshin_impact),4,75,
+momoyama_hinase,1,75,
+mojake,1,75,
+mogami_kai_ni_(kancolle),4,75,
+moana_(movie),3,75,
+mizune_(winter),1,75,
+miyu_edelfelt_(cosplay),0,75,
+miruzawa_akechi,1,75,
+mini_koala,1,75,
+minazuki_haruka_(twin_angel),4,75,
+minase_rio,4,75,
+mikagemaru_(mikage000),1,75,
+mikado_nagi,4,75,
+miitara,1,75,
+miharu_sena_kanaka,4,75,
+midori_(uchuu_patrol_luluco),4,75,
+meido_yomi,1,75,
+mega_banette,4,75,
+mayer,1,75,
+may_lee,4,75,
+masco,1,75,
+masako_(sabotage-mode),1,75,
+mapi_(mup1228),1,75,
+makomo_(kimetsu),4,75,
+makita_yoshiharu,1,75,zakouji_shousa
+mak_(kainemaru),1,75,
+majodou,3,75,
+madore,1,75,
+macosee,1,75,
+machina,4,75,
+maaru_(shironeko_project),4,75,
+luc_(suikoden),4,75,
+liya_nikorov,1,75,
+lithographica,1,75,
+linux,3,75,gnu/linux
+lileep,4,75,
+lightning_returns:_final_fantasy_xiii,3,75,
+leanne_(fire_emblem),4,75,
+leaf_hat_ornament,0,75,
+laika_(sputnik2nd),1,75,
+l'antica_(idolmaster),0,75,l'antica
+kyak_bamboo,1,75,
+kutar22,1,75,
+kurotsuchi_mayuri,4,75,
+kurotobi_rarumu,1,75,
+kurosawa_haruto,4,75,
+kuropan_(crow_panther),1,75,kurou_(niconicorin)
+kuroko_(piii),1,75,
+kuno_(runkunochan),1,75,kunomd
+kumasan_(kumazonjp),1,75,
+kumanz,1,75,
+kris_(sygna_suit)_(pokemon),4,75,
+kouno_miyako,4,75,
+koumi_haruka,4,75,
+kouichi_(kouichi-129),1,75,
+kooemong,1,75,
+komugiko_no_mori,1,75,
+komii,1,75,
+kohagura_ellen,4,75,
+koeda_(k83_4),1,75,k83_4
+koala_forest_military_uniform,0,75,
+kkaebing,1,75,
+kitere,1,75,hoshino_yuu_sama
+kisa_(kisa-kisa5900),1,75,
+king_kouta,1,75,
+kikukawa_yukino,4,75,kikugawa_yukino
+kenkou_zenrakei_suieibu_umishou,3,75,umisho
+kazane-wind,1,75,
+kazamaki_matsuri_(female),4,75,
+katsuma_rei,1,75,
+katana_zero,3,75,
+kasugai_(de-tteiu),1,75,gngmrkas
+kanisawa_yuuki,1,75,
+kamishiro_sui,4,75,
+kamen_rider_demons,4,75,
+kakan_(amka),1,75,
+kagi_f,1,75,
+kage_kara_mamoru!,3,75,kage_kara_mamoru
+kagamine_len_(vocaloid4),4,75,
+juria0801,1,75,
+jun_(noiji_guren_0220),1,75,
+judas_(tales),4,75,
+jouwan,1,75,
+jiraiya_(persona_4),4,75,
+jinguu_shion,4,75,
+jindai_high_school_uniform,0,75,
+jikuno,1,75,
+jasminka_antonenko,4,75,
+jackal,0,75,
+izumida,1,75,
+ivory_(25680nico),1,75,
+itsutsuki,1,75,
+isshin_(sasayamakids),1,75,
+isara_gunther,4,75,
+isabe_(girls_und_panzer),4,75,
+iron_paladin_(elsword),4,75,
+inumine_aya,1,75,
+inseki_tarou,1,75,
+inamori_futayo,4,75,
+imuro,1,75,
+imu_(senran_kagura),4,75,
+iizuka_haruko,1,75,
+iinchou_(trouble_spirit),4,75,
+idolmaster_platinum_stars,3,75,
+idle_animation,0,75,
+ice2002,1,75,
+hyury,1,75,
+houtou,4,75,
+horie_yui,4,75,
+holding_thermometer,0,75,
+hinata_(hinata-ur),1,75,
+himuro_hitoshi,4,75,
+himitsu_keisatsu_(vocaloid),3,75,
+hiiro60,1,75,
+high_speed!,3,75,
+hifumi_(3b_x),1,75,
+hidaka_ryou,1,75,haru_(pixiv276337)
+hibioes,1,75,
+hfp~kubiao,1,75,
+hermes_(ff14),4,75,
+harukappa,1,75,
+harakawa_tamako,4,75,
+hanjuku_choco-pai,1,75,
+hanji_(hansi),1,75,shinichi_tahara
+hagoromo_komachi_(idolmaster),0,75,
+habataki_academy_uniform,0,75,
+gyorui_(amezari),1,75,
+guuchama,1,75,
+gothita,4,75,
+goshingo1,1,75,
+gomiyama,1,75,
+goma_(u_p),1,75,
+gold_dress,0,75,
+gnome,0,75,
+glowing_penis,0,75,
+gdgd_fairies,3,75,
+garushaa_wolfein,4,75,
+gangplank_(league_of_legends),4,75,
+gakuen_taisen_valkyries,3,75,
+futapi,1,75,
+fujioka-kuma,4,75,
+frenchmaid_(made_in_frenchmaid),1,75,
+fox_hood,0,75,
+foomi,1,75,
+foam_mustache,0,75,
+fluffy_legwear,0,75,
+flippy_(happy_tree_friends),4,75,
+felipe_godoy,1,75,
+fed_by_viewer,0,75,
+fake_ad,0,75,
+estel_freesia,4,75,
+escape_from_tarkov,3,75,
+enonko,1,75,
+emoillu,1,75,
+emo_(ricemo),1,75,
+emiya_shirou_(prisma_illya),4,75,
+eitri_(fire_emblem),4,75,
+edpan,1,75,
+edenfox,1,75,
+drum_bath,0,75,
+dragon_half,3,75,
+dory,4,75,
+donatello_(tmnt),4,75,
+dkaki,1,75,
+derby_(dabidabi),1,75,dbi_dbi
+denpa_teki_na_kanojo,3,75,
+de-chan_(belko),4,75,de-chan_(lolicept)
+darkereve,1,75,darwin_nunez
+dare_ga_tame_no_alchemist,3,75,
+cynical_(llcbluckg_c004),1,75,
+cure_happy_(princess_form),4,75,
+crushed,0,75,
+crown_patisserie_(umamusume),0,75,
+craig_tucker,4,75,
+crab_claw,0,75,
+covering_anus,0,75,
+cooper_(azur_lane),4,75,
+coffeeslice,1,75,
+clark_kent,4,75,
+citron80citron,1,75,
+chueog,1,75,
+chro_(rulurullu),1,75,rulurullu
+chiaroscuro,0,75,
+cheshire_(cait_sith_crooner)_(azur_lane),4,75,
+chernyyvo,1,75,
+chamame,1,75,
+cereal_box,0,75,
+celestine_lucullus,4,75,
+carrera,4,75,
+carla_j._luksic,4,75,
+camouflage_scarf,0,75,
+calen_(time_bokan),4,75,
+caam_serenity_of_gusto,4,75,
+buoy,0,75,
+bunny_girl_(yuuhagi_(amaretto-no-natsu)),4,75,
+bunny_(trickster),4,75,
+bungaku_shoujo,3,75,
+brynhildr_(cheer_for_master)_(fate),4,75,cheer_for_master
+brown_dust,3,75,
+british_admiral_(y.ssanoha),4,75,
+boy's_club,3,75,
+borongo,4,75,
+bleedman,1,75,
+blackball,1,75,
+bitchen,1,75,
+bending,0,75,
+beauty_swimsuit_(idolmaster),0,75,
+bearer_of_the_curse,4,75,
+bb_(swimsuit_mooncancer)_(fate)_(cosplay),0,75,
+bandaid_on_ass,0,75,
+bakebake_(touhou),4,75,
+baigao,1,75,
+babydoll_lift,0,75,
+ayerscarpe_(arknights),4,75,
+ayanami_(rock_'n'_demon)_(azur_lane),4,75,ayanami_(rock'n_kijin)_(azur_lane)
+awesome_face,0,75,
+award_ribbon,0,75,
+asyura7,1,75,
+asdj,1,75,
+arutopian,1,75,
+arrow_through_apple,0,75,
+aroma_(go!_princess_precure),4,75,aroma_(precure)
+armpit_stubble,0,75,
+armadillo_tail,0,75,
+argentina,0,75,
+apricot_(d-floe),4,75,
+anita_(vampire),4,75,
+ancient_ys_vanished,3,75,
+amiba48,1,75,
+alice_kei_(lemon-jiru),1,75,
+alice_(as109),4,75,
+alexis_kerib,4,75,
+akiyoshi_yoshiaki,1,75,
+akira_(kaned_fools),1,75,akira_(liarsoft)
+akagi_yuuto,1,75,kawasumi_yuuto
+aika_zero,3,75,
+aika_r-16,3,75,
+ah-kun,4,75,
+agtt25333,1,75,
+afro_puffs,0,75,
+abimaru_gup,1,75,
+abduction,0,75,
+7/11_(fukuso),1,75,
+3e,1,75,
+30_minutes_sisters,3,75,
+1925_(vocaloid),3,75,
+12cat,1,75,
+0123456789,1,75,
+zunkome,1,74,
+zhayin-san,1,74,
+zero_in,3,74,
+zekkyou_(h9s9),1,74,toire_(kakka)
+zarory,1,74,
+yuunagi_seshina,1,74,
+yuuki_yuu,1,74,
+yusan,1,74,
+yuro,1,74,
+yumeno_naka,1,74,
+yumehiko,1,74,
+yoshida_(ne),1,74,"kyuurisoda,ranpakranpakranpak"
+yohan12,1,74,
+yo-jin,1,74,
+yinzhai,1,74,
+yeun,1,74,
+yazawa_kotarou,4,74,
+yatogami_fuma,4,74,
+yato_(fire_emblem),0,74,
+yaruwashi,1,74,
+yanagihara_tantoui,1,74,
+yakuto007,1,74,
+yah_yah_6,1,74,
+xing_cai,4,74,
+white_sister_ram,4,74,
+white_(kekkai_sensen),4,74,
+warekara,1,74,
+wamusato_haru,1,74,
+vladbacescu,1,74,
+viper_f40,3,74,
+vienna_(vtuber),4,74,
+vf-1_super,4,74,
+venom_(guilty_gear),4,74,
+van_darkholme,4,74,
+uzuki_tooru,4,74,
+uzuki_(azur_lane),4,74,
+uturo,1,74,
+useq1067,1,74,
+unusually_visible,0,74,
+unown_t,4,74,
+uni_ikura,1,74,
+umegiri_hifumi,4,74,
+ume_(illegal_bible),1,74,
+tyrant_sugawara,1,74,
+twitch_logo,0,74,
+tsuzaki_aoba,4,74,
+tsukishima_general_high_school_uniform,0,74,
+tsukimiya_miyabi,4,74,
+tsengyun,1,74,
+tryndamere,4,74,
+trap_door,0,74,trapdoor
+train_conductor,0,74,
+toujou_basara,4,74,tojo_basara
+toromera,1,74,
+torn_tank_top,0,74,
+torn_apron,0,74,
+tooru,1,74,
+tokura_eiko,4,74,
+tokidoki_bosotto_roshia-go_de_dereru_tonari_no_arya-san,3,74,"arya_sometimes_hides_her_feelings_in_russian,the_neighboring_aarya-san_who_sometimes_acts_affectionate_and_murmuring_in_russian"
+tk28,1,74,
+the_olphy,1,74,
+the_legend_of_zelda:_oracle_of_ages,3,74,oracle_of_ages
+the_legend_of_dragoon,3,74,
+tetsudou_musume,3,74,
+teruhashi_kokomi,4,74,
+terrarium,0,74,
+teresa_(mazohaha),4,74,
+tennessee_(azur_lane),4,74,
+tendou_karen,4,74,
+tefco,1,74,
+talnory,1,74,leekevi95841337
+tales_of_the_world_radiant_mythology_2,3,74,
+takuji_yuusaku,1,74,
+takeda_seiji,1,74,
+takanamushi,1,74,
+taisinkoku,1,74,
+sync_(tales),4,74,
+swedish_text,0,74,swedish
+suwaiya,1,74,
+supokon!_sports_wear_complex,3,74,
+sun_trial,1,74,
+suicabar72,1,74,
+stone_torii,0,74,
+steve_zheng,1,74,
+stable,0,74,
+sonic_the_hedgehog_(archie_comics),3,74,
+soapy,0,74,
+smjim1986,1,74,deadman_(artist)
+skwovet,4,74,
+sinomi,1,74,
+shuutai,4,74,
+shoulder_angel,0,74,
+shouen_kigashi,1,74,
+shokugyo,1,74,
+sho_(wnmf3234),1,74,
+shiron_(moze),1,74,moze
+shiren_(ourboy83),1,74,
+shirayuki_(sister_princess),4,74,
+shiori2525,1,74,narongdej_watcharapasorn
+shinkai_kanata,4,74,
+shinagawa_mikuzu,1,74,mikusu
+shimo-san,1,74,
+shima_(sh1mamu),1,74,
+shiki_eiki_(cosplay),0,74,shikieiki_yamaxanadu_(cosplay)
+shiki_(shikki46),1,74,"shikishi46,sk_(ryolove)"
+shichibukai,0,74,
+shibuya_(kurokamishain),1,74,
+shibainu_kisetsu,1,74,
+shi_ecchi,1,74,
+shepherd's_crook,0,74,
+shelving_book,0,74,
+shaggy_susu,1,74,
+sf_choujigen_densetsu_rall,3,74,superdimensional_sf_legend_rall
+serike_w,1,74,
+serafleur,1,74,abigail_diaz
+seitokai_nimo_anawa_aru!,3,74,
+seikishi_melty_lovers,3,74,
+seidou_(tukinomiyako),1,74,
+scorpio,0,74,
+schwann_oltorain,4,74,
+schneewittchen,4,74,
+sanshokuin_sumireko,4,74,
+sandcasks,1,74,sandcasket
+sakurano_otoha,4,74,
+sakuraba_hinano,1,74,
+sakata_gintoki_(cosplay),0,74,
+sakaki_youma,1,74,yamabata_mami
+sakai_wakana,4,74,
+sakai_waka,1,74,
+saishuu_heiki_kanojo,3,74,saikano
+sailor_star_healer,4,74,
+saana-kun,4,74,
+s-purple,1,74,
+rutsubo,1,74,
+rutee_katrea,4,74,
+ruriwo_(ruriwo1894),1,74,
+rune_slayer_(elsword),4,74,
+roggenrola,4,74,
+rococo_urupa,4,74,
+rocher-hd,1,74,
+risu_(dorohedoro),4,74,
+ripu_(sherypton),1,74,
+ringo_yuyu,1,74,
+riddhe_marcenas,4,74,
+ribahara_aki,1,74,
+riai_(onsen),1,74,
+reporter_waddle_dee,4,74,
+renshirenji,1,74,
+red_pajamas,0,74,
+really?_really!,3,74,"really?really!,really_really"
+re-class_battleship_(cosplay),0,74,
+rahulk_(forever_7th_capital),4,74,
+purin_(purin0),1,74,
+public_yotsuba_middle_school_uniform,0,74,
+public_service_announcement,0,74,
+presa_(tales),4,74,preza
+pozesuke,1,74,
+porno_(dohna_dohna),4,74,
+piroshiky,1,74,
+pipi,1,74,
+pip_boy,0,74,
+phiphi-au-thon,1,74,
+pfalz,1,74,
+persicaria_(girls'_frontline_nc),4,74,
+panoramango,1,74,
+pandako,1,74,
+oyamada_gamata,1,74,
+otoufu_(wddkq314band),1,74,
+otoshiro_kosame,1,74,
+orochi_(fire_emblem),4,74,orochi_(fire_emblem_if)
+orguss,3,74,
+orange_gemstone,0,74,
+orange_camisole,0,74,
+ooyodo_kai_(kancolle),4,74,
+online_neet,1,74,
+ohshioyou,1,74,
+ogata_zen,1,74,12_sai
+nuzleaf,4,74,
+nursing_fingering,0,74,
+nsfwolf,1,74,
+nonono_nagata,1,74,
+nohtuy,1,74,
+no_harness,0,74,
+nishi_itsumi,1,74,
+nipple_ribbon,0,74,
+nintendo_switch_lite,0,74,
+ninopal,1,74,
+nihimaru,1,74,
+new_jersey_(snow-white_ceremony)_(azur_lane),4,74,
+nellko_agogo,4,74,
+nekobus,4,74,catbus
+neko_nabe,0,74,
+neko_mata,1,74,
+negi_mugiya,1,74,
+nearly_naked_coat,0,74,
+natsu_(927013),1,74,
+narumi_yuu_(imitmoon),1,74,
+naotsugu_(log_horizon),4,74,
+nanatuki13,1,74,
+nanashi_(74_nanashi),1,74,
+nanao_(aoyamahikari),1,74,
+nakahara_mizuki,4,74,
+naishi-chan,4,74,
+nagisawa_yuu,1,74,
+nagatani_(nagata2),1,74,
+munuu,1,74,
+mugicha_(sukimachaya),1,74,
+moyuru,1,74,
+motsuni_(artist),1,74,
+moth_(artist),1,74,
+morino_harifu,1,74,
+moribuden,1,74,
+montanyaoh,1,74,
+monster_collection,3,74,
+momomiya_mion,1,74,
+momo_uzura,1,74,
+mojo_(dennou_coil),4,74,
+mo-fu,1,74,
+mizura,0,74,
+mizuno_kaede,4,74,
+misono_kirika,4,74,
+misagi_nagu,1,74,
+miona_yui,1,74,
+minori_(log_horizon),4,74,
+mini_nobu_(fate),4,74,
+minecart,0,74,
+minamo_(pixiv17726065),1,74,
+mimelex,1,74,
+mima_sachi,4,74,sachi_(watamote)
+mikazuki_mika,1,74,ayamalimas
+mikan_no_shiru,1,74,
+mikage_nao,1,74,
+mearian,1,74,
+mctom,1,74,
+mayuzumi_yukie,4,74,
+mato_kuroi,1,74,gy_(l964625780)
+marvelous,3,74,
+maritaki,1,74,
+marilyn_monroe,4,74,
+mandalorian,0,74,
+manaka_(sumiyao),4,74,
+malachite,1,74,
+makisige,1,74,
+majime_joe,1,74,
+magical_mirai_rin,4,74,
+mackintosh_rose,0,74,
+lyse_hext,4,74,
+lyon_(fire_emblem),4,74,
+lugosi_ela,1,74,
+ltt_challenger,1,74,
+low_poly,0,74,
+lost_child,0,74,
+liv_(punishing:_gray_raven),4,74,
+liong,1,74,
+lillet_blan,4,74,
+lightning_background,0,74,
+lieselotte_achenbach,4,74,
+lieri_bishop,4,74,
+liangban_xiexu,1,74,
+leotard_tug,0,74,
+leopold_stotch,4,74,
+leaf_fan,0,74,
+large_belt,0,74,
+large-spotted_genet_(kemono_friends),4,74,
+lalatia-meai,1,74,
+kyukyutto_(denryoku_hatsuden),1,74,
+kyou_(nekoneko),1,74,
+kyoshinhei,4,74,
+kuroyoru_umidori,4,74,
+kurosaki,1,74,
+kuroha_neko,4,74,
+kuro_(jyupiter),1,74,
+kumita_(sumica),1,74,sumika_(jikai)
+kugi_(kugi-xiv),1,74,
+kuga_hiroto,4,74,
+kou_2008,1,74,
+konohana_kitan,3,74,
+kon_(kin219),1,74,
+kominato_ruuko,4,74,
+klavier_gavin,4,74,garyuu_kyouya
+kito_(clamp5656),1,74,
+kita_ichiban,4,74,
+kistina,1,74,
+kirari_(kira_rin9),1,74,cheunbyeol
+kiragi_(fire_emblem),4,74,kisaragi_(fire_emblem_if)
+kinokosuke,1,74,
+kimura_akiyoshi,1,74,catysummer
+kimineri,1,74,
+kiki_fushigi,1,74,
+kijo_kouyou_(fate),4,74,
+kichijou_agata,1,74,
+keaton_(fire_emblem),4,74,flannel_(fire_emblem_if)
+kawasaki_saki,4,74,
+katsuki_mari,4,74,
+katoributa_a,1,74,
+katagirinanoka,1,74,user_zcep2884
+kari_(karinimooreha),1,74,
+karamiti,1,74,
+kaneshiro_matoi,4,74,
+kancolle_arcade,3,74,
+kamiya_(mennu),1,74,"ana_mix,kehutatsu"
+kamachi_(kamati0maru),1,74,
+kalinka_cossack_(mega_man),4,74,kalinka_cossack
+kajiyama_hiroshi,1,74,
+kagarino_kirie,4,74,
+kafuru_(senran_kagura),4,74,
+judo,0,74,
+joyfull_(terrace),1,74,
+joseph_desaulniers,4,74,photographer_(identity_v)
+joey_koguma,1,74,
+javelin_(slow_ahead!)_(azur_lane),4,74,javelin_(very_slow_advance!)_(azur_lane)
+iseno_yajin,1,74,
+isemori,1,74,
+inomata_mutsumi,1,74,
+ingway_(odin_sphere),4,74,
+inata17ta,1,74,
+imperium_of_man,0,74,
+ikei,1,74,
+ikamusume_(cosplay),0,74,
+ichiko_(osomatsu-san),4,74,
+hotline_miami,3,74,
+hosoi_kouzou,1,74,
+homura_(haku89),1,74,
+holding_picture,0,74,
+hitoi,1,74,
+hisagi_(puchimaple),1,74,
+hiromin,1,74,
+hirasaka_yotsuyu,4,74,
+hinako_(sister_princess),4,74,
+himemurasaki,1,74,
+hildegard_von_krone,4,74,
+hidaka0503,1,74,
+heckler_kai,1,74,
+hatsuga_(dmaigmai),1,74,
+harukana_(harukana_10),1,74,
+han_soo-min_(hanny),4,74,
+hal_emmerich,4,74,otacon
+hakusai_(hksicabb),1,74,hksicabb
+hakoiri_nyanko,1,74,
+haiiro_(immature),1,74,haiiro_(pixiv19995)
+guilty_kiss_(love_live!),0,74,
+gud0c,1,74,
+guan_yinping,4,74,
+gouenji_yuuka,4,74,
+gonzaburou,1,74,
+gnome_(last_origin),4,74,t-20s_gnome
+glowing_headgear,0,74,
+gloamy,1,74,
+ginn_(hzh770121),1,74,
+ginga_e_kickoff!!,3,74,
+gibson_sg,0,74,sg
+gen_(susono01),1,74,
+gekka_kaguya_(urabata),1,74,
+gaichi,1,74,
+gaia_(girls'_frontline),4,74,gaia_(girls_frontline)
+fujino_miyabi,1,74,
+fujii_satoshi,1,74,
+fujii_maki,1,74,
+fred0092,1,74,
+formalin,1,74,
+forest_of_magic,0,74,
+follower_(yagisaka_seto),4,74,
+florist,0,74,
+floppy_sleeves,0,74,
+flieger,1,74,
+final_fantasy_tactics_a2,3,74,"ffta2,final_fantasy_tactics_advance_2"
+ff_frbb122,1,74,
+fenrich_(disgaea),4,74,
+feng_you,1,74,
+father_gascoigne,4,74,
+fake_transparency,0,74,
+ezomori_nozomu,4,74,
+ethlyn_(fire_emblem),4,74,ethlin_(fire_emblem)
+eska_bamel,4,74,
+enoch,4,74,
+enforcer_(arknights),4,74,
+emor18_shikeko,1,74,
+emina&aki,3,74,
+elena_olegovna_owen,4,74,
+elena_(ff7),4,74,
+eiyuu_senki_gold,3,74,
+eha7y,1,74,
+eating_flower,0,74,
+dunceneygak,1,74,
+duck_innertube,0,74,
+dorris,1,74,
+dorothea_arnault_(cosplay),0,74,
+don3,1,74,
+dokuganryuu,1,74,
+derori,1,74,
+denki_anma,0,74,
+demon_king_(in),4,74,
+deck_chair,0,74,
+ddolbang,1,74,
+dashigarayama,1,74,
+danball_senki_w,3,74,
+dai_(mebae16),1,74,
+daft_punk,3,74,
+cyberconnect2,4,74,
+cuphead,4,74,
+crown_(symbol),0,74,
+crow_hogan,4,74,
+crimo,1,74,
+cradle,0,74,
+concealed_weapon,0,74,
+comptiq,3,74,
+colt_python,0,74,
+codename_wa_sailor_v,3,74,
+civilization_(series),3,74,
+chun_lanlanlan,1,74,
+chris_(kof),4,74,
+chiru_(sanifani),1,74,
+chimaki_(impressiveanarchy),1,74,
+chikusan_nurseman,1,74,
+check_(check_book),1,74,
+chang_chun_(azur_lane),4,74,
+chain_sumeragi,4,74,
+cha_sakura,1,74,
+carole_peppers,4,74,
+butterfly_necklace,0,74,
+budesonide,1,74,resonancq
+browning_m1919,0,74,
+bronya_zaychik_(valkyrie_chariot),4,74,
+brashear_lushert,1,74,brashearlushert
+bow_print,0,74,
+boar_ears,0,74,
+blue_hallelujah,1,74,lan_hallelujah
+blackfangs,1,74,
+bismarck_(coat_of_arms),0,74,
+bear_bag,0,74,
+baggy_shorts,0,74,
+azzie_(az_man_studios),1,74,
+azuki_(azuki_shot),1,74,koshinomiti-kokiri
+ayanobro,1,74,
+ata_(tsumari),1,74,
+asparagus_(girls_und_panzer),4,74,
+arayama_reiichi,1,74,
+araki_rena,4,74,
+araki_jeccy,1,74,
+araco,1,74,
+aphilia_(kiyomin),4,74,afilia_(kiyomin)
+aoi_(houkago_no_pleiades),4,74,
+anonymous_(japanese),1,74,
+anne_shirley,4,74,
+anastasia_hoshin,4,74,
+amrkdrw,1,74,
+amano_ameno,1,74,
+amakura,1,74,
+alma01,1,74,
+akamatsu_yui,4,74,
+akai_(ugokashitari),1,74,
+akai_(riaakai),1,74,
+akabane_karma,4,74,
+aikawa_ayumu,4,74,
+aibo_(gorgeous_mushroom),4,74,
+ai-chan's_sister_(tawawa),4,74,ai's_sister_(himura_kiseki)
+ahr_studio,1,74,alu379
+agnese_sanctis,4,74,anieze_sanctis
+ae_iueo,1,74,
+aamond,1,74,
+7:08,1,74,
+2poet,1,74,
+1991_(blz),1,74,
+18_(backstreetno18),1,74,no.18
+zkstxxx,1,73,
+zemi_mama,4,73,
+z'gok,4,73,
+yuuma_(noel),1,73,
+yu_mei-ren_(festival_outfit)_(fate),4,73,
+yasu_(pixiv),1,73,
+yashima_takahiro,1,73,
+yandere_no_onna_no_ko_ni_shinu_hodo_aisarete_nemurenai_cd,3,73,yandere_no_onna_no_ko
+yamano_uzura,1,73,
+yakumo_(nu_carnival),4,73,
+yahiro_(heartseek000),1,73,yahiro_(666131415)
+yagi_(sinnsyou),1,73,
+xiaoyu,1,73,
+xiaolumiaoliya,1,73,
+xiacheng_tatsuya,1,73,
+wushier,1,73,wushierererer
+wrinkled_frown_(detective_pikachu),0,73,
+wooden_bathtub,0,73,
+wet_jacket,0,73,
+wawako_mama,1,73,"lava_(25486006),wawazi"
+wanko_to_lily,3,73,
+vorona,4,73,
+urokong,1,73,
+unown_s,4,73,
+umiru,1,73,
+umihara_kawase_(character),4,73,umihara_kuwase_(character)
+ukimesato,1,73,
+uichi,1,73,
+uchi_no_musume_no_tame_naraba_ore_wa_moshikashitara_maou_mo_taoseru_kamo_shirenai.,3,73,if_it's_for_my_daughter_i'd_even_defeat_a_demon_lord
+ubi_(ekdus6080),1,73,
+u-556_(azur_lane),4,73,
+twiska_(doubitian),1,73,
+tuze111,1,73,
+tutinako,1,73,
+tukino_(panna),1,73,
+toujou_ruby,4,73,
+toudou_misa,4,73,
+totthii0081,1,73,
+tomojo,1,73,
+tomboy_childhood_friend_(cccpo),4,73,
+tokai_teio_(beyond_the_horizon)_(umamusume),4,73,
+todoko_(osomatsu-san),4,73,
+timato,1,73,
+tiktok_logo,0,73,
+the_king_of_fighters_xi,3,73,"king_of_fighters_xi,kof_11"
+the_fool,4,73,
+testicles_touching,0,73,balls_touching
+temptation,3,73,
+tembin_3,1,73,
+tearfish,1,73,
+tatekami_seri,4,73,
+tashiro_tetsuya,1,73,
+tanu0706,1,73,
+tanakalma,1,73,"bokenasu,tanakalmasaga"
+tanabe,1,73,
+tamomoko,1,73,
+tamaki_fuyu,1,73,
+takarazaki_school_uniform,0,73,
+takahan,1,73,
+tabiaki_(cosy_catastrophe),1,73,omine_tabiaki
+swiftsure_(midsummer_special_service)_(azur_lane),4,73,
+suzutsuki_(azur_lane),4,73,
+suzume_(rance),4,73,suzume_(sengoku_rance)
+susumu,1,73,
+susato_mikotoba,4,73,mikotoba_susato
+suisei_(kancolle),4,73,suisei_(kantai_collection)
+suga_kyoutarou,4,73,
+stuffed_turtle,0,73,
+steven_quartz_universe,4,73,
+squash,0,73,
+southern_ocean_war_oni,4,73,
+so_shio,1,73,
+smoothie,0,73,
+slokai_(iron_saga),4,73,
+sleeve_pull,0,73,
+skinsuit,0,73,
+sissel,4,73,
+sigrun_(fire_emblem),4,73,
+shyrei_faolan,4,73,
+shuuhei_(shoohey),1,73,
+shugo19,1,73,
+shropshire_(azur_lane),4,73,
+shouten_pegasus_mix_mori,0,73,
+shou937,1,73,
+shirota_dai,1,73,shirota
+shion_(peach_momozen),4,73,
+shinken-zemi,3,73,
+shideboo_(shideboh),1,73,
+shichijou_natori,1,73,
+shibatenko,1,73,
+shainea,1,73,
+shadowverse_(anime),3,73,
+sexual_dimorphism,0,73,
+setu_(shining12),1,73,
+sessue,1,73,
+seol,1,73,
+sentou_yousei_yukikaze,3,73,yukikaze
+senel_coolidge,4,73,
+seijou_academy_uniform,0,73,
+sasaki_yukinojou,1,73,
+sakurai_tomoki,4,73,
+sajou_manaka,4,73,"sajou_aika,sajyou_aika,sajyou_manaka"
+saeuchobab,1,73,
+rush_(mega_man),4,73,rush_(rockman)
+royboy,1,73,
+romance_of_the_three_kingdoms,3,73,
+rods,1,73,
+ringo-chan_(danshi_koukousei),4,73,ringo-chan_(president_of_sanada_east_high)
+rikudou_koushi,1,73,
+rifsom,1,73,
+rhyperior,4,73,
+renren_(ah_renren),1,73,
+ren_kon,1,73,
+ren_hakuryuu,4,73,
+regult,4,73,
+re:i,1,73,
+rasen_manga,1,73,
+ranger_squirrel,1,73,
+ranger_(kancolle),4,73,
+rampage_2nd,1,73,
+raccoon_boy,0,73,
+r_(ryo),1,73,
+pyro_jack,4,73,
+purple_shawl,0,73,
+ptsd,0,73,
+prinz_adalbert_(azur_lane),4,73,
+pp-19_bizon,0,73,"bizon,pp-19"
+pottery,0,73,
+pop-up_book,0,73,
+pisces,0,73,
+pioneer_neckerchief,0,73,
+pink_moon,0,73,
+phantom_breaker,3,73,
+pen_to_mouth,0,73,
+peke-kun,4,73,
+panapana,1,73,
+pai_chan,4,73,
+otto_suewen,4,73,
+otoko_no_ko_wa_meido_fuku_ga_osuki!?,3,73,otoko_no_ko_wa_meido_fuku_ga_osuki
+orz_(orz57),1,73,orz_(artist)
+one_room,3,73,
+oishinbo,3,73,
+off_(game),3,73,
+odogaron_(armor),4,73,
+nyome991,1,73,
+nyoijizai,1,73,asterism
+nyano21,1,73,
+numa_(minus_4k),1,73,
+nuka_cola06,1,73,
+norunollu,1,73,
+nori20170709,1,73,
+norakuro_nero,1,73,
+nomu_(29_nom),1,73,
+noir_vesper,4,73,
+noel_(tsukihime),4,73,
+noel_(nnoelllll),1,73,nnoelllll
+noah_(jasdavi),4,73,
+no_penis,0,73,
+nnz,1,73,
+niso,1,73,
+nishino_miyuki,1,73,
+nintendo_switch_(personification),4,73,
+nikubanare,1,73,
+niku114514810,1,73,
+nephtim_(world_flipper),4,73,neftim
+nekosama_shugyouchuu,1,73,
+near,4,73,
+natalia_poklonskaya,4,73,
+nana_(elfen_lied),4,73,
+nagii_yuki,1,73,
+mysterious_idol_x_alter_(fate),4,73,
+mutation,0,73,
+murakami_fumio,4,73,
+multi-strapped_bra,0,73,
+mortar_(weapon),0,73,
+mokew,1,73,
+modern_afro,1,73,
+mochiko_(uyu_omochi),1,73,
+mochiko_(mocchikkoo),1,73,
+moai,0,73,
+mizunezumi,1,73,
+miya_atsumu,4,73,
+misti,1,73,
+mirin_(coene65),1,73,oriharaizaya0111
+minamina,1,73,
+millenia_(grandia),4,73,
+milk_junkies,3,73,
+mile_(mil2),1,73,
+mild_(trmsasasa),1,73,
+mikanbako_(aitatadon3),1,73,
+mikado_(winters),1,73,
+miito_(meeeeton333),1,73,
+merpperoni,1,73,
+mermaid_dress,0,73,
+meg_(bakuretsu_tenshi),4,73,
+mecha_eli-chan_(fate),4,73,"mecha_eli-chan,mecha_eli-chan_(fate/grand_order)"
+marine_nemo_(fate),4,73,
+maodouzi,1,73,
+mantis_akiyama,4,73,
+manoko,1,73,
+mamepon,1,73,
+makitoshi0316,1,73,
+makabe_kazuki,4,73,
+majokko_a_la_mode,3,73,majokkoalamode
+maimoto_keisuke,4,73,
+maid-chou_(maoyuu),4,73,headmaid_(maoyuu)
+mai_ball!,3,73,
+magpul,0,73,
+magic_circuit,0,73,
+maeda_kousuke,1,73,
+mae_(nahabaru),1,73,
+lyna_the_light_charmer,4,73,
+luxord,4,73,
+lovelovemaid,1,73,
+louis&visee,1,73,
+looking_at_watch,0,73,
+lisara_restall,4,73,
+liara_t'soni,4,73,
+lens_(arknights),4,73,
+lecca_aisu,1,73,degraded_ice
+leafwow,1,73,
+le_malin_(muse)_(azur_lane),4,73,
+latina_(uchi_no_musume_no_tame_naraba),4,73,
+kyrie_florian,4,73,
+kyou_no_go_no_ni,3,73,
+kyatto_ninden_teyandee,3,73,samurai_pizza_cats
+kurumi_moka,1,73,
+kurogane_(majesticrune),1,73,
+kouda_hayato_(e-gis),1,73,
+kotatiyu,1,73,
+kodama_(koda_mat),1,73,
+kkia,1,73,kkia1021
+kitamura_eri,4,73,
+kishi_mieko,4,73,
+kill_time_communication,3,73,
+kgr,1,73,
+kay_faraday,4,73,ichijou_mikumo
+katou_(hyaena),1,73,
+kashiwamochi_(kashiwakashiwa),1,73,
+karakai_jouzu_no_(moto)_takagi-san,3,73,
+karada,0,73,
+kanonno_earhart,4,73,
+kannei,4,73,
+kamimura_akiko,4,73,
+kakitsubata_tsukune,1,73,
+kabru,4,73,
+jyu-so,1,73,
+jungyun99,1,73,
+jin_(crocus),1,73,
+jidaigeki,0,73,
+jetfire,4,73,
+jet_enduro,4,73,
+jericho_(girls'_frontline),4,73,jericho_(girls_frontline)
+jarckius,1,73,jarckius_art
+james_ghio,1,73,
+ixia_(ixia424),1,73,
+iseki_mitsuharu,1,73,mitsuharu_iseki
+internet_explorer_(webcomic),3,73,
+indo_(mdtanaka2007),1,73,
+illnott,4,73,
+ifrit_(housamo),4,73,ifrit_(tokyo_houkago_summoners)
+ideon,4,73,
+ichinomiya_eruna,4,73,
+ichino_nanasuke,4,73,
+ice_horns,0,73,
+ibaraki_douji_(swimsuit_lancer)_(third_ascension)_(fate),4,73,
+horizon_zero_dawn,3,73,
+honoka_(summer_angel_on_the_shore)_(doa),4,73,
+homil22,1,73,
+hollow_mouth,0,73,
+holding_neckwear,0,73,
+hoerutarou,1,73,
+hobbang,1,73,
+hiyori-o,1,73,
+hit-girl,4,73,
+hiramatsu_tadashi,1,73,
+hilda_(pokemon)_(cosplay),0,73,
+heyzan,1,73,sunpay
+heresy,0,73,
+hellboy,4,73,
+helena_blavatsky_(swimsuit_archer)_(first_ascension)_(fate),4,73,
+headache,0,73,
+hazuki_shizuku,4,73,
+hatagaya,1,73,
+harumi_hana,4,73,
+haru_(matatabi_sanjou),1,73,
+harper_(pokemon),4,73,hou_(pokemon)
+handcuff_dangle,0,73,
+hanabusa_kokoro,4,73,
+hally,1,73,
+half-track,0,73,
+hakka0320,1,73,
+haido_(ryuuno_kanzume),1,73,
+hageshii_nakano,1,73,
+gurin33,1,73,
+gummy_(summer_flowers)_(arknights),4,73,
+growlanser_i,3,73,
+greypidjun,1,73,
+green_mask,0,73,
+grace_(sound_voltex),4,73,
+gomusin,0,73,
+gm_(ggommu),1,73,
+glowing_clothes,0,73,
+gigantamax_charizard,4,73,
+gibson_flying_v,0,73,flying_v
+geordo_stuart,4,73,
+galzoo_island,3,73,
+gaius_(fire_emblem),4,73,gaia_(fire_emblem)
+gachapin,4,73,
+fuyuichi_monme,1,73,
+fuyou-chan,4,73,
+future_gpx_cyber_formula,3,73,
+furagu,1,73,
+fukukitaru,1,73,
+fueru_nattou,1,73,
+flapper_shirt,0,73,
+fisheye_placebo,3,73,
+fila,0,73,
+fez_hat,0,73,
+fengli_(709622571),1,73,
+felli_loss,4,73,
+fat_buu,4,73,
+fantasy_world_umanest_(umamusume),0,73,
+extra_tails,0,73,
+european_hare_(kemono_friends),4,73,
+esan_(llamaesan),1,73,
+eru,1,73,
+erkerut,1,73,
+erika_wagner,4,73,
+endou_araya,4,73,
+emoi_do,1,73,
+elden_ring_(object),0,73,
+el_(sound_horizon),4,73,
+ekusiregaia,1,73,
+duran_(seiken_densetsu_3),4,73,
+duck_print,0,73,
+dootmoon,1,73,
+djeeta_(summer)_(granblue_fantasy),4,73,
+digimoji,0,73,
+detached_legs,0,73,
+destroyed,0,73,
+dave_rapoza,1,73,
+dark_elf_(lineage_2),4,73,
+dante_(nu_carnival),4,73,
+dai-xt,1,73,
+cure_sunshine_(cosplay),0,73,
+cure_muse_(black),4,73,
+circle_a,1,73,
+chuuten_(clam_chowder),1,73,chuuten_(tyuuten)
+choujikuu_seiki_orguss,3,73,the_super_dimension_century_orguss
+chiwa_(chiwawanwan1206),1,73,naga_(pixiv)
+chen_bingyou,1,73,yhes70903
+chacha_(tyatya),1,73,
+cenco,4,73,
+catchouli_(hazuki_ruu),4,73,catchouli
+cariboy,1,73,
+cardigan_lift,0,73,
+calpis,3,73,
+c01a_(cola),1,73,
+bushidou_4_(sekaiju),4,73,
+buri_hamachi,0,73,
+brownie_(last_origin),4,73,t-2_brownie
+bosstseng,1,73,
+boney,4,73,
+bon_nob,1,73,
+bomb_item_(touhou),0,73,
+bokarokaku,1,73,
+blue_bracelet,0,73,
+bloody0rabby,1,73,
+blazblue_alternative:_dark_war,3,73,
+biomega,3,73,
+bellibolt,4,73,
+bath_of_blood,0,73,
+bat_genome,0,73,
+baphomet_(grizz),4,73,
+bandaged_ear,0,73,
+baku_(creature),0,73,
+bajitohfu,1,73,
+bagpipes,0,73,
+bad_google+_id,5,73,
+bad_cghub_id,5,73,
+b_gumi,3,73,
+awakusu_akane,4,73,
+asuka_shirou,1,73,ultimate_asuka
+asakawa_remon,1,73,
+artofkuzu,1,73,
+arima_kouichi,1,73,
+argyle_bikini,0,73,
+arawi_keiichi,1,73,
+anzu_1026,1,73,
+anna_(granblue_fantasy),4,73,
+ankokuboshi_kurome,4,73,
+animal_on_chest,0,73,
+angelica_rafa_redgrave,4,73,
+andrew_hanbridge,4,73,
+andrea_doria_(warship_girls_r),4,73,
+amlichan,1,73,
+amatsuka_urara,4,73,
+amane_(honey_come_chatka!!),4,73,
+amaha_miu,4,73,
+alvis_(last_origin),4,73,t-13_alvis
+alternate_eyewear,0,73,alternate_glasses
+alicesoft,3,73,alice_soft
+akinakesu-chan,1,73,
+akebono_kt,1,73,
+akari_ryuryuwa,1,73,
+akane_harurou,1,73,akaneharu_ohkami
+akadama,1,73,
+ajimu_kaede,4,73,
+air_guitar,0,73,
+ainezu,1,73,
+ainchase_ishmael,4,73,ain_(elsword)
+aida_rion,4,73,
+ai_the_somnium_files,3,73,
+agitha,4,73,
+aebj,1,73,
+adjusting_bowtie,0,73,
+acmeholic,3,73,
+ace_trappola,4,73,
+abyssal_jellyfish_princess,4,73,abyssal_jellyfish_hime
+504_gateway,1,73,qibu_yuren_jiu
+2n5,1,73,
+zhaktnf,1,72,
+zanpakutou,0,72,
+zabuton_dorobou,1,72,
+yuushiba,1,72,yuushibadesu
+yushima,1,72,
+yupi_(yuyupiko01),1,72,yuyu_(piko01)
+yunare,1,72,
+yumeno_(rubbercup),1,72,
+yuki_touko,1,72,
+yuki_hotaru,1,72,
+yugi_(magical-dreamer),1,72,
+ysayle_dangoulain,4,72,
+yoroi_nau,1,72,bell-colo
+yomogawa_ayame,4,72,
+yeooudam,1,72,yeoohdam
+yas_(35373),1,72,
+yamabuki_zarame,1,72,
+xiaoyuan_(you_can_eat_the_girl),4,72,
+xiaoling_(kyouno),4,72,
+xiao_qiao,4,72,
+x-6,1,72,
+wizard_(dragon's_crown),4,72,
+wig_removed,0,72,
+whitesnake_(stand),4,72,
+white_sister_rom,4,72,
+whirlpool,0,72,
+wet_fundoshi,0,72,
+watanabe_ignica,1,72,
+wakana_rei,4,72,layer_(bang_dream!)
+vil_schoenheit,4,72,
+van-s,1,72,
+valsione,4,72,
+utsumi_erice_(swimsuit_avenger),4,72,
+under_bridge,0,72,
+uh-60_blackhawk,0,72,
+ufo_robo_grendizer,3,72,
+u.b_m1s2s,1,72,
+type_99_cannon,0,72,
+tudon_(donut),1,72,takoyakiudon
+ttrop,1,72,
+ttmry_bonbon,1,72,
+tsumayouji_(tumayog),1,72,bigright-orz
+triangle_heart,3,72,
+trace_(pokemon),4,72,
+toys_drive,3,72,
+toutouhai,1,72,
+touka_(nonaka_ritsu),4,72,
+toshise.,1,72,khasetic
+toshi_(anime_coloring),1,72,
+torikoro,3,72,
+tora_tsugumi,1,72,
+toothbrush_mustache,0,72,
+tomiyama_akiji,1,72,
+tomato_juice,0,72,
+tokomaya_keita,1,72,
+tiger_(tiger-kimu),1,72,
+theresia_van_astrea,4,72,
+tessaku_ro,1,72,
+teru_suzu,1,72,
+terrier_(dog),0,72,
+tenyo0819,1,72,
+temmie,4,72,
+tehen,1,72,
+tasukete_eirin,0,72,tasukete_erin
+tao_jun,4,72,
+tanaka_shinbei_(fate),4,72,
+tamura_(kouititamura),1,72,
+tamakagura_inari,4,72,
+takuya_kame,1,72,
+takeuchi_naoko,1,72,
+takenoko_mgrc,1,72,anmin_do_fuuuuu
+takemasa,1,72,
+takanaru,1,72,
+taeminhyeon,1,72,
+ta152_(graf_zeppelin),1,72,graf_zeppelin
+swire_(honor_and_splendor)_(arknights),4,72,
+suzumaru,1,72,
+sunshine_creation,3,72,
+sukiyaki,0,72,
+stechkin_aps,0,72,
+spoken_letter,0,72,
+speed_limit_sign,0,72,
+space_maria,3,72,
+soyanrai,1,72,
+sousaku_kanojo_no_renai_koushiki,3,72,
+soshina_nohito,1,72,
+sorahachi_(sora823),1,72,
+sora_shitatoge,1,72,
+slam_dunk_(basketball),0,72,dunking_(basketball)
+side_mirror,0,72,
+shokushi_yuu,1,72,yuta_(nvkdighqqs94fg)
+shirt_straps,0,72,
+shiro_font,1,72,mark_teo
+shino_yuki,1,72,
+shino_(r_shughart),1,72,
+shinkawa_youji,1,72,shinkawa_yoji
+shining_finger,0,72,"burning_finger,darkness_finger,god_finger"
+shin_sekai_yori,3,72,from_the_new_world
+shimushu_pose,0,72,
+shimofuri,1,72,
+shimekazari,0,72,
+shiki_(no-reply),1,72,
+shigure_(kancolle)_(cosplay),0,72,
+shigino_kisumi,4,72,
+shelter_(music_video),3,72,
+sheep_(trickster),4,72,
+shaun_healey,1,72,endling
+setsuna_(miraichizu),4,72,
+senra_banshou,1,72,
+seena_kanon,4,72,
+seeds328,1,72,
+satou_makura,1,72,
+satire,0,72,
+satan_(idolmaster),4,72,
+sashimi_nasu,1,72,
+saotome_rei,4,72,blair_flannigan
+sano_br,1,72,
+sakurakouji_kinako,4,72,
+sakura_puchirou,1,72,unagigoya
+sakifox,1,72,
+saga_2,3,72,
+sacred_seven,3,72,
+sachiiro_hanamizuki,3,72,
+ryuuno_stadtfeld,1,72,
+ryuuhou_kai_ni_(kancolle),4,72,
+ryuuguuji_ken,4,72,
+rurine_luna,4,72,
+roosterteeth,3,72,
+ronin_(zeth_total),1,72,
+robou_no_stone,1,72,
+roaru_(gyuren),1,72,
+rizky_(strated),1,72,
+rioru_(rioru_v_v),1,72,
+rin_(shelter),4,72,
+riffle_hunter,1,72,bg_yowl
+reindeer_hood,0,72,
+reimusan_(jotti),4,72,
+raplus,1,72,
+rankiryuu,1,72,
+ran_komomo,1,72,
+raijin-bh,1,72,
+raigh_(fire_emblem),4,72,lleu_(fire_emblem)
+r93_(girls'_frontline),4,72,r93_(girls_frontline)
+qingye_ling,1,72,
+q_(a72pgc),1,72,
+puchimirin,1,72,
+private_garden,3,72,
+privacy_screen,0,72,
+pota_(nabrinko),1,72,
+popporunga,1,72,
+pinoko,4,72,
+pink_mask,0,72,
+phong_anh,1,72,
+penis_ornament,0,72,
+pengrani,1,72,
+peke_(xoxopeke),1,72,
+pastel_palettes_(bang_dream!),0,72,
+pasoputi,1,72,
+park_noah,4,72,
+paris,0,72,
+panna444,1,72,
+page,1,72,
+owarine_miku,1,72,
+oshi_no_ko,3,72,
+osaru_(yuuen-dou),1,72,
+orqz,1,72,
+orita_enpitsu,1,72,
+oricorio_(baile),4,72,
+order-sol,4,72,
+open_cuffs,0,72,
+oono_makoto,4,72,
+oonamazu,1,72,
+oniro,3,72,
+okuma707,1,72,fuwatoromonta
+o-yuki,1,72,
+noshime_ruka,4,72,
+nonomura_ayumi,4,72,
+nomura_(buroriidesu),1,72,
+nishikujic,1,72,
+nishiki_kazue,1,72,"kazue1000,kazue_nishiki"
+nihohohi,1,72,
+ni_(ippozenshin),1,72,
+neko_pan,1,72,
+neats,1,72,
+naze,1,72,
+nasuhara_anastasia,4,72,
+naruko_(instrument),0,72,
+nambu_type_14,0,72,
+namataro,1,72,
+nakaya_106,1,72,
+nakano_tomokazu,1,72,
+nagi_itsuki,1,72,
+myuria_tionysus,4,72,
+my_little_pogchamp_(meme),0,72,
+murazono,1,72,
+mr.blackcat666,1,72,mr_blackcat
+mossari_poteto,1,72,
+moriyama_daisuke,1,72,
+monty_python,3,72,
+momiji7728,1,72,
+moi_moi7,1,72,
+moffle,4,72,
+mochitsu_jou,1,72,
+moana_waialiki,4,72,
+mizusawa_mimori,1,72,fukamori_suitaku
+miyu_(tiny_evil),4,72,
+miyauchi_lemmy,4,72,lemmy_miyauchi
+miyabi_(miyabeeya),1,72,
+mit_(necomit),1,72,
+mishima_akane,4,72,
+misaki_(blue_archive),4,72,
+misaka_misuzu,4,72,
+minus_(sr_mineka),1,72,
+mine_(odasol),1,72,
+min_(120716),1,72,
+mile_(noukin),4,72,
+mikemono_yuu,1,72,
+mikage_baku,1,72,
+microphone_cord,0,72,
+mew_mint,4,72,
+merida_angel,4,72,
+meoyo,1,72,
+memeo_(candy_house),1,72,
+megumi_kei,1,72,
+meet,1,72,
+max_domikov,1,72,maxim_domikov
+match_(idleslumber),1,72,"ftbyr,match_(type74tk)"
+mars_people,4,72,
+marimo_(artist),1,72,
+mankanshoku_mako_(cosplay),0,72,
+mana_khemia_2,3,72,
+malleus_draconia,4,72,
+makura_(makura0128),1,72,
+magui3,1,72,
+magearna_(normal),4,72,
+maegami-chan_(tawawa),4,72,
+m6a_seiran,0,72,
+lyrinne,1,72,
+lizta,1,72,rizuta
+lion_hair,0,72,
+legs_on_table,0,72,
+leenim,1,72,
+ledyba,4,72,
+leaning_against_motorcycle,0,72,
+leaf_clothing,0,72,
+lavoy_(kurakuro),1,72,
+kutouten,1,72,
+kurogane_daichi,1,72,
+kunou_tatewaki,4,72,kuno_tatewaki
+kune-kune,0,72,
+kunashiri_(etorofu),1,72,haru-same
+kuki_rei,4,72,
+krookodile,4,72,
+kozureokami20,1,72,
+kotoji,1,72,
+kosumi,1,72,
+koha,1,72,
+kodai_susumu,4,72,derek_wildstar
+kissing_back,0,72,back_kiss
+kisaragi_ichigo,1,72,
+kira_keita,1,72,
+kinta_(kinta_no_mousou),1,72,kinta_(pixiv13253890)
+kingdom_hearts_x,3,72,kingdom_hearts_chi
+kimura_daisuke,1,72,
+kimikage_yui,4,72,
+kim_da-yoon,1,72,
+kichi_(kitiokitioo),1,72,
+kh-fullhouse,1,72,
+keypot,1,72,
+kazamatsuri_matsuri,4,72,
+kawami_nami,1,72,
+kawaguchi_(mojacome),1,72,
+katagiri_chisato,1,72,
+karv,1,72,
+kankitsurui_(house_of_citrus),1,72,
+kana_tako,1,72,
+kamita,1,72,
+kamen_rider_ex-aid,4,72,
+kamen_rider_accel,4,72,
+kakkou,1,72,
+kaguyuu,1,72,
+kaguya_(sinoalice),4,72,kaguya_hime_(sinoalice)
+kagenui_yozuru,4,72,
+kagami_kino,1,72,kagami_(kagamina)
+juujou_hiyori,4,72,
+jura_cambri,1,72,juraki_hakuaki
+joshi_shougakusei_hajimemashita,3,72,
+joe_higashi,4,72,
+jian_xia_qing_yuan_(series),3,72,jx_online
+jaw,0,72,
+iwanaga_tm,1,72,
+ivan_(ffxazq),1,72,
+itou_ben,1,72,
+isla_(kof),4,72,
+ishihara_souka,1,72,
+ishibashi_yosuke,1,72,
+inami_hatoko,1,72,
+icons_(1452697582),1,72,1452697582
+hounyouin,1,72,
+hoshizora_no_shita,1,72,
+honda_motocompo,0,72,motocompo
+homex,1,72,
+hiragi_rin,1,72,
+hijirisawa_shonosuke,4,72,
+higofushi,1,72,
+hero-chan_(hanauna),4,72,
+hera-ur_(p&d),4,72,
+hawk_(nanatsu_no_taizai),4,72,
+hattori_yuu,4,72,
+hat_under_hood,0,72,
+harie_(granblue_fantasy),4,72,
+hara_takehito,1,72,
+hanna_wind,4,72,
+hanjuku_tomato,1,72,
+hanbu_hantarou,1,72,
+hana_kon_(17aaammm),1,72,
+hamano_kaiji,4,72,
+hair_focus,0,72,
+haiku,0,72,
+haeil2,1,72,
+hade_na_kangofu,1,72,
+gunjima_souichirou,1,72,
+gundam_side_story:_the_blue_destiny,3,72,
+guardian_chara,0,72,
+gradient_cape,0,72,
+gotou_hitori,4,72,
+gossifleur,4,72,
+gold_creator_award,0,72,
+gm,1,72,
+gluttony_(fma),4,72,
+glassjill,1,72,
+ginoza_nobuchika,4,72,
+gilles_de_rais_(saber)_(fate),4,72,gilles_de_rais_(fate/grand_order)
+giant_panda_(kemono_friends),4,72,
+garjana,4,72,
+galarian_meowth,4,72,
+gaitoou,1,72,
+fyama,1,72,
+fuyusaka_iori,4,72,
+furisode_girl_(pokemon),4,72,
+fujiwara_riyu,1,72,
+free_hugs,0,72,
+freckles_nun_(diva),4,72,strands_nun_(diva)
+fourth_of_july,0,72,
+fiora_(fire_emblem),4,72,
+finger_to_another's_cheek,0,72,
+ferret_ears,0,72,ferretmimi
+fan_to_mouth,0,72,
+exelica,4,72,
+eugenio2nd,1,72,
+epel_felmier,4,72,
+eou,1,72,
+emma_woods,4,72,
+eku,1,72,
+early_type,1,72,
+dreamysuite,1,72,astroamoeba
+drake_(the_golden_hind's_respite)_(azur_lane),4,72,
+deretta,1,72,
+death_devil,3,72,
+dazai_osamu_(bungou_stray_dogs),4,72,
+daruma_karei,1,72,
+cure_flamingo,4,72,
+cuirass,0,72,
+crustle,4,72,
+crossbone_gundam_x-1,4,72,
+creta_(taku10),1,72,taku10
+co_botan,1,72,
+cleo_(dragalia_lost),4,72,clau_(dragalia_lost)
+clear_insertion,0,72,
+clala,4,72,
+circle_echime,1,72,
+chushengdao,1,72,
+chu_kai_man,1,72,
+christopher_columbus_(fate),4,72,christopher_columbus_(fate/grand_order)
+chokotto_sister,3,72,chokottosister
+chiro_(bocchiropafe),1,72,
+child_(isoliya),1,72,
+chikorita85,1,72,
+chiko_(kanhogo),1,72,kankyo_hogodantai
+chidorigafuchi_aine,4,72,
+chester_ocampo,1,72,elpinoy
+chester_burklight,4,72,chester_barklight
+cheetahman_(1ddghfr78cswc),1,72,
+central_princess,4,72,central_hime
+captain_america:_civil_war,3,72,
+caduceus,0,72,
+burnt_green_tea,1,72,
+bumcha,1,72,
+buggy_the_clown,4,72,
+budweiser,0,72,
+boxer_dansi,1,72,
+bluepony,1,72,
+bluedemon13,1,72,
+bizarre_rain,0,72,
+bionekojita,1,72,
+bindong,1,72,
+biako,1,72,
+bear_tsukasa,4,72,
+bad_poipiku_id,5,72,
+azu_(kirara310),1,72,
+awayawa_pic,1,72,
+asparagus,0,72,
+ash_(phantom_brave),4,72,
+asanuma,1,72,
+asakurashinji,1,72,
+artist_glove,0,72,
+artificial_flower,0,72,
+archery_dojo,0,72,
+aquamarine_(gemstone),0,72,
+aqua_belt,0,72,
+apring,1,72,
+apophis_(monster_girl_encyclopedia),4,72,
+aosode,1,72,
+anzi,1,72,
+annlu_vazzel,1,72,
+anna_(watamote),4,72,
+ameiro,1,72,
+ame_(amemgmgmg),1,72,
+amagasahigasa,1,72,
+altina_(fire_emblem),4,72,
+alter_ego_malevolent_(granblue_fantasy),4,72,
+alice_(ragnarok_online),4,72,
+al_(ahr),1,72,errslance
+akisu_karasu,1,72,karasu_(pixiv)
+akise_aru,4,72,
+akimoto_katherine_reiko,4,72,
+aki_tomoya,4,72,
+aizawa_tomomi,4,72,
+aiura,3,72,
+airplane_hair_ornament,0,72,
+aimpoint,0,72,
+aife_(zana),4,72,
+aiba_kou,1,72,"ainiwakou,fagott-mixer"
+404,0,72,
+1ssakawaguchi,1,72,
+1055,1,72,
+zyl,1,71,
+zuifeng_tenkai,4,71,
+zhao_linger,4,71,
+zettai_bouei_leviathan,3,71,zettai_bōei_leviatan
+zero_point,1,71,
+yuzuki_yukari_(lin),4,71,
+yuyumatsu,1,71,
+yuusei_tsukiro,1,71,
+yuuma_(yuma1111),1,71,
+yukko,1,71,
+yoshikawa_kikyou,4,71,
+yoshida_takuma,1,71,
+yoshida_seiko,4,71,
+yonemura_kouichirou,1,71,
+yomoyama_(toirets),1,71,
+yogukasu,1,71,
+yesterday_wo_utatte,3,71,
+yamamura_ken,4,71,
+yamamoto_nori,1,71,
+yamada-kun_to_7-nin_no_majo,3,71,
+xiao-mei,4,71,
+world_map,0,71,
+witch's_weapon,3,71,
+waveform,0,71,
+watase_rei,1,71,
+walter_white,4,71,
+walluka,1,71,walluku
+venus_love_me_chain,0,71,
+valac_clara,4,71,
+v8,1,71,
+usuki_(usukine1go),1,71,
+urkt_10,1,71,
+uni_(oni_unicorn),1,71,
+u-110_(azur_lane),4,71,
+tylwing,1,71,
+tuzhate,1,71,rainygo
+turquoise_iro,1,71,
+tsunaso_(lack_of_sunlight),1,71,cerasus
+tsunashi_youta,4,71,
+tsumayouji_(dekosoko),1,71,
+tsukishima_kei,4,71,
+tsuka-ito,0,71,
+trowa_barton,4,71,
+tron,3,71,
+triangle_bullet,1,71,
+tracer_fire,0,71,
+toyux2,1,71,
+totally_spies,3,71,
+torn_umbrella,0,71,
+topo_(bacchustab),1,71,
+tooculi,1,71,
+tongkkangi,3,71,
+tom_(pixiv10026189),1,71,
+tofu_(tf07px),1,71,tofu_(artist)
+timitarcat,1,71,
+theresa_apocalypse_(twilight_paladin),4,71,
+teucer_(genshin_impact),4,71,
+tennis_dress,0,71,
+tashkent_(muse)_(azur_lane),4,71,
+tamamo_no_mae_(tailmaid_strike)_(fate),4,71,
+tamadra,4,71,
+taketori_monogatari,3,71,the_tale_of_the_bamboo_cutter
+takane_hibiki,4,71,
+taharu_kousuke,1,71,tahal
+tachibana_chitose,4,71,
+sword_art_online:_fatal_bullet,3,71,
+suzuran_(lostlands_flowering)_(arknights),4,71,suzuran_(wasteland_blossom)_(arknights)
+suzuki_masahisa,1,71,
+sutokame,1,71,
+sutaa_sutoringuzu_yori,3,71,
+sudach_koppe,1,71,
+stuffed_horse,0,71,
+striped_innertube,0,71,
+striped_headband,0,71,
+striped_cardigan,0,71,
+strawberry_pocky,0,71,
+steyr_iws_2000,0,71,
+steward_b,1,71,
+star_guardian_lulu,4,71,
+souri,1,71,
+soul_patch,0,71,
+sosa,1,71,
+sorethroat,1,71,
+song_request,5,71,
+soma_cruz,4,71,
+solana_(pokemon),4,71,
+snow_white_(queen's_blade),4,71,
+siyudi_(cookie),4,71,
+silas_(fire_emblem),4,71,cyrus_(fire_emblem_if)
+shishou_(doragyurosu),1,71,
+shinobi_4_(sekaiju),4,71,
+shinketsu_kanyu,1,71,
+shinjin_succubus_(konosuba),4,71,
+shin_megami_tensei:_strange_journey,3,71,
+shiinotic,4,71,
+shiina_minatsu,4,71,
+shibuki_kamone,1,71,
+shelter,0,71,
+severed_torso,0,71,
+set_square,0,71,
+serizawa_enono,1,71,
+sendai_(nazonomono),1,71,
+seki_(l0410706268),1,71,
+sega_hard_girls,3,71,"gendai_nihon_ni_yattekita_sega_no_megami_ni_arigachi_na_koto,hi-scool!_seha_girls,hi-scoool!_seha_girls"
+sd_gundam_gaiden,3,71,
+scheris_adjani,4,71,
+scarfy,4,71,
+sbbs,1,71,rkfjfjf119
+satin_clothes,0,71,
+sashou_mihiro,4,71,
+sasagawa_kyouko,4,71,
+saruei_(vtuber),4,71,
+sakushin,1,71,
+sakurapochi,1,71,
+saburoo,1,71,
+saber_alter_(cosplay),0,71,
+s-goon,1,71,
+ryuu_(breath_of_fire_iii),4,71,ryu_iii
+ryuko_redraw_(meme),0,71,ryuuko_redraw_(meme)
+ryochan96154,1,71,
+ryan_greythorn,1,71,greythorn032
+runa7,1,71,
+rugby_ball,0,71,
+rudia_of_the_moon_smile,4,71,
+rozer,1,71,
+royale_style_(idolmaster),0,71,
+riria_(liry_a_flower),1,71,
+rin_(rin7kan7),1,71,
+revive_revival,4,71,
+reki_(arequa),1,71,
+reika_(dream_c_club),4,71,reika_(dream_club)
+regina_(dino_crisis),4,71,
+redial_(vocaloid),3,71,
+rapunzel_(sinoalice),4,71,
+randy_(awesomevillage),1,71,
+ran_(urusei_yatsura),4,71,
+rakugakiraid,1,71,
+raijuu,0,71,
+r._blackriver_agogo,4,71,
+qubeley_mk_ii,4,71,
+pryce_(pokemon),4,71,yanagi_(pokemon)
+protagonist_(tokimemo_gs3),4,71,
+print_tank_top,0,71,
+princess_leia_organa_solo_(cosplay),0,71,
+prince_albert,0,71,
+presenting_pussy,0,71,
+piercing_pull,0,71,
+phrygian_cap,0,71,
+phantasy_star_zero,3,71,
+persona_4:_the_ultimax_ultra_suplex_hold,3,71,"persona_4_arena_ultimax,persona_4_the_ultimax_ultra_suplex_hold"
+perisie_(star_ocean),4,71,
+penis_in_thighhigh,0,71,cock_in_thighhigh
+paravene,1,71,
+pantyhose_under_trousers,0,71,
+p/a_~potential_ability~,3,71,
+orihime_(cosplay),0,71,
+oribe_mafuyu,4,71,
+ore_ga_suki_nano_wa_imouto_dakedo_imouto_janai,3,71,
+orbeetle,4,71,
+on_stairs,0,71,
+on_(_l0_),1,71,
+ofuro_mantarou,1,71,"ofuro_(artist),ofuro_(pixiv4010)"
+official_manga,0,71,
+o-los,1,71,ckpark
+nurse_nemo_(fate),4,71,
+nove_(legge),1,71,
+not_afraid_anymore,0,71,
+nora_(salatto),1,71,
+nokkusuart,1,71,
+noise_(symphogear),4,71,
+nodoka_glasses,0,71,
+nodoka_(blue_archive),4,71,
+niwatoriya,1,71,
+niseneko_(mofumofu_ga_ienai),1,71,
+nico_(hero300),1,71,
+nichts_(fatalbug896),4,71,
+nekoto_rina,1,71,
+nekone_(utawarerumono),4,71,nekone_(utawareru_mono)
+nanashi_mushi,1,71,
+nanaichi,1,71,
+nakanishi_tatsuya,1,71,
+nabooru,4,71,
+nabana_(bnnbnn),1,71,
+murasaki_(lightsource),4,71,
+multicolored_sleeves,0,71,
+multicolored_rose,0,71,
+mukade_(siieregannsu),1,71,
+mori_shin_risuku,1,71,
+mordekaiser,4,71,
+moonsorrow,1,71,
+momopanda,1,71,
+mofupaka,1,71,
+moegi_homi,4,71,
+mob_face,0,71,
+mob-sensei,4,71,
+mitche,1,71,
+minted,1,71,
+mini_mamu,1,71,
+mineta_naoki,1,71,
+minazuki_tooru,1,71,
+miluke,1,71,
+mikazukimo,1,71,
+mikane_sebiri,4,71,
+mezzo_forte,3,71,
+melynx,4,71,
+mello,4,71,
+mega_ring,0,71,
+meesuke,1,71,
+matsuno_matsuyo,4,71,
+mathilda_lando,4,71,
+marukei_(kuramaruk),1,71,
+marlon_(pokemon),4,71,shizui_(pokemon)
+marie_(pixiv31942978),1,71,
+mardjan,1,71,millimeter
+marcy_wu,4,71,
+mana_matitia_(okame_nin),4,71,
+majoca_majoluna,3,71,
+mahotama,3,71,
+magician_(module),0,71,
+luoxiaobai,4,71,
+lunch,0,71,
+lunar:_the_silver_star,3,71,
+luna_(fizintine),4,71,
+ludaf,1,71,
+looker_(pokemon),4,71,handsome_(pokemon)
+lock_seed,0,71,
+lipstick_mark_on_chest,0,71,
+lilynna_blueberry,4,71,
+leg_holster,0,71,
+larger_bmx,1,71,hun_shang
+laoyepo,1,71,
+lamellar_armor,0,71,
+lady_in_red_(ib),4,71,
+kyle_dunamis,4,71,
+kuune,4,71,
+kusakabe_rei,1,71,
+kurusu_yuzuko,4,71,
+kurozatou_owata,1,71,
+kurotsuki_(luowei99),1,71,
+kurabayashi,1,71,
+kujou_shion,4,71,
+kuga_yoshito,1,71,
+koutetsu_tenshi_kurumi,3,71,steel_angel_kurumi
+komi_shin'ya,1,71,shinya_komi
+kokenashi,1,71,
+kobushime_(sorobochi),4,71,
+kizuna_ai_(elegant),4,71,
+kitsune_(scaz),1,71,
+kirishima_(azur_lane),4,71,
+kiri_celea,1,71,kckckc0_0
+kinjero,1,71,kaehavandias
+kingdom_hearts_chain_of_memories,3,71,chain_of_memories
+king_slime,4,71,
+king_george_v_(azur_lane),4,71,
+kinako_(462),1,71,
+kimi_ni_matsuwaru_mystery,0,71,
+kijibato_123-gou,1,71,kizibato123go
+kazunari,1,71,
+kawara_yun,1,71,
+kara_(color1087),1,71,
+kannazuki_tamaki,4,71,
+kamon_(shinshin),1,71,
+kamen_rider_zi-o,4,71,
+kakuteru_sudachi,1,71,
+kakei,1,71,
+kaibutsu,4,71,
+kaguya_hime,4,71,
+justaway,4,71,
+jungle_cat_(kemono_friends),4,71,
+joseph_stalin,4,71,
+jill_(fire_emblem),4,71,
+jelly_shrimp,1,71,
+jamil_viper,4,71,
+jacques_de_molay_(foreigner)_(third_ascension)_(fate),4,71,
+izumi_wakoto,4,71,
+iwaya,1,71,
+itami_youji,4,71,
+italian_senate_porn_livestream,0,71,
+isbeyvan,1,71,
+iron_man_(cosplay),0,71,
+irisviel_von_einzbern_(cosplay),0,71,
+inukami!,3,71,inukami
+innoarukugyou,1,71,yi-x-ing
+ink_stain,0,71,
+indian_elephant_(kemono_friends),4,71,
+inazuma_eleven_go_vs_danball_senki_w,3,71,
+imdsound,1,71,
+idolmaster_starlit_season,3,71,
+hz_(helu_2),1,71,
+hug-tan_(precure),4,71,
+huang_(volt0526),1,71,
+horns_through_hood,0,71,
+holding_shuriken,0,71,
+hizaki_gamma,4,71,
+hip_gear,0,71,
+hinnyuu-chan_(iku),4,71,
+himitsu_no_jugyou,3,71,
+hime_to_boin,3,71,
+hikari_(mitsu_honey),1,71,
+heaven_(kanji),0,71,
+headband_around_neck,0,71,
+hayama_marin,4,71,
+hatori_you,1,71,ohtanian
+harusame-r,1,71,luco_san
+haru_(renol),1,71,
+harryych,1,71,
+harpie_lady_1,4,71,
+hanako_(disgaea),4,71,
+hanabi_(senran_kagura),4,71,
+hamu_agaki,1,71,
+hako_(gyhujikolp),1,71,
+haji_(hajiko),1,71,
+h2so4kancel,1,71,
+gundam_x,4,71,
+gunbreaker_(final_fantasy),4,71,
+gummy_bear,0,71,
+gu_yuena,4,71,
+greil,4,71,
+grappling_gloves,0,71,
+granbelm,3,71,
+gou_(double_trigger),1,71,
+goten_(510gensoku),1,71,510ksk
+golden_boy,3,71,
+getumentour,1,71,
+genjiguruma,0,71,
+gatsby_ssl,1,71,
+garutaisa,1,71,
+gamer_driver,0,71,
+gacha,0,71,
+g-senjou_no_maou,3,71,the_devil_on_g-string
+fuyu_mi,1,71,
+future_fish,0,71,
+fur-trimmed_armor,0,71,
+fujiki_kouta,4,71,
+freenote_mr,1,71,
+franciscoetchart,1,71,
+flapping_ears,0,71,
+fizrotart,1,71,
+fishnet_leotard,0,71,
+fight_ippatsu!_juuden-chan!!,3,71,fight_ippatsu_juuden-chan
+fasnakegod,1,71,
+falco_arrow,1,71,
+fake_blood,0,71,
+fairy_knight_gawain_(first_ascension)_(fate),4,71,
+faech,1,71,
+facebook-san,4,71,
+f-4_phantom_ii,0,71,
+ex-s_gundam,4,71,
+ewokakukaede,1,71,
+ethan_winters,4,71,
+erise,1,71,
+eriimyon,1,71,emily-ebarrola
+eric_lowery,1,71,sssonic
+ergo_proxy,3,71,
+eos_(ff14),4,71,
+entrails,0,71,
+english_flag,0,71,
+emerald_herald,4,71,
+elly_(tonari_no_kyuuketsuki-san),4,71,
+ello,1,71,
+elisa_(girls'_frontline),4,71,elisa_(girls_frontline)
+elaine,4,71,
+eikou_no_guardian_battle,3,71,
+ei_ei_okotta?,0,71,
+egret,1,71,
+efmoe,1,71,
+effects_pedal,0,71,
+ecu8080,1,71,
+echiru39,1,71,
+ebiri_fy,1,71,
+dungeons_&_princess,3,71,
+drapion,4,71,
+dracula_(castlevania),4,71,
+doomcomic,1,71,
+doctor_magus,4,71,war_magus_(sekaiju)
+disco_elysium,3,71,
+dino_crisis,3,71,
+diarmuid_ua_duibhne_(saber)_(fate),4,71,diarmuid_ua_duibhne_(fate/grand_order)
+dhelmise,4,71,
+dental_gag,0,71,
+den_(den_zuri555),1,71,
+dangaiou,3,71,dangaioh
+damascus_(dearigazu2001),1,71,dearigazu2001
+daibanchou,3,71,big_bang_age
+daiakuji,3,71,
+d_jirooo,1,71,baconegg23
+cynthia_riddle,4,71,
+cuvie,1,71,
+cui_yifei,4,71,
+cross_of_saint_andrew,0,71,
+crayon_(medium),0,71,
+coyopotato,4,71,
+cling,0,71,
+clementine_(overlord),4,71,
+clay_(pokemon),4,71,yacon_(pokemon)
+classy_cranberry's,3,71,
+cinderella_(queen's_blade_grimoire),4,71,
+choir_(artist),1,71,
+chocolate_milk,0,71,
+cho_marisa,4,71,
+chirosuke,1,71,
+chiki_yuuko,1,71,
+chiisan,1,71,
+cheogtanbyeong,1,71,jojogwang
+chanchanko_(clothes),0,71,
+champuru,4,71,
+chamber_(suisei_no_gargantia),4,71,
+cattleya_(flower_knight_girl),4,71,
+carmilla_(summertime_mistress)_(fate),4,71,summertime_mistress_(fate/grand_order)
+butsu_menhou,1,71,
+burst_bomb_(splatoon),0,71,
+brynhildr_romantia,0,71,
+brown_umbrella,0,71,
+bronya_zaychik_(snowy_sniper),4,71,
+bronto_burt,4,71,
+boonie_hat,0,71,
+body_chain,0,71,
+bluerabbit_gap,1,71,gappt
+blue_halo,0,71,
+blood_sucking,0,71,
+blazing_heart_(elsword),4,71,
+black_light,1,71,
+bell_orgel,1,71,
+bean_mr12,1,71,
+battle_chatelaine,0,71,
+banana_gyuunyuu,1,71,
+bad_singing,0,71,
+ayase_sayuki,4,71,
+axolotl_girl,0,71,
+australia,0,71,
+auron,4,71,
+aura_(aurapls),1,71,aurapls
+asahina,1,71,
+arlizi,1,71,
+ariyon,1,71,
+ari_(bleum),1,71,ally_17451
+apricot_(yamai),4,71,
+aospanking,1,71,
+aonogura,1,71,
+aogiri_sei,1,71,
+antilous,1,71,
+angel's_swimsuit_(idolmaster),0,71,
+anakoluth,1,71,
+ameimo,1,71,
+amano_nene_(vtuber),4,71,
+amamiya_rizumu,4,71,amamiya_rhythm
+amada,1,71,
+alois_trancy,4,71,
+alien_nine,3,71,
+akizuki_maku,1,71,
+akaba_chizuru,4,71,
+aizawa_azusa,4,71,
+air_current,0,71,
+aiko_(less),4,71,
+agni_gandiva,0,71,
+act-age,3,71,
+accidental_kiss,0,71,
+abiko_zyozi,1,71,namida_boshi
+abarabone,1,71,
+9nojo,1,71,
+8takenokonosato8,1,71,
+210ten,1,71,
+1044kiro,1,71,
+zinczinc_ka,1,70,
+yuuyuu_(yuko),1,70,
+yuu_(twisted_wonderland),4,70,
+yume_miru_kusuri,3,70,
+yukia_(yukia_777),1,70,
+yuki_kaori,1,70,
+yuhazu_(rhe-rhe),1,70,
+yuasa,1,70,
+young_justice,3,70,
+yoshioka_(haco),1,70,
+yorck_(azur_lane),4,70,
+yojio_(2188),1,70,yojigazou
+yo-ba_yo,1,70,youyouyou_1211
+yki,1,70,
+yellow_heart,4,70,
+yayoi_kotoyuki,1,70,
+yatteyan'yo,0,70,
+yani_tama,1,70,
+yangshangshu,1,70,bushi_(1622035441)
+yamanori_(yamanori56),1,70,
+yagokoro_eirin_(cosplay),0,70,
+yagi_(kyuhyun),1,70,stocjia
+xianyusamuel,1,70,
+wine_(2148_wine),1,70,
+wenz,1,70,
+watashi_kininarimasu,0,70,
+wang-xi,1,70,
+wakame_(vhai26uhykmqb9k),1,70,
+vinyl_(vinyyl_bag),1,70,
+vile_(mega_man),4,70,"vava,vile"
+vickie_(cryingrobot),1,70,cryingrobot
+usami_tokishige,4,70,
+uni_(bom19850101),1,70,
+turkey,0,70,
+tsuzuki_masumi,1,70,
+tsunekun,1,70,
+tsunakawa,1,70,
+tsumaseu,1,70,
+tsumamigui,3,70,
+tsukumo_kazuki,4,70,
+tsukuda_hayato,1,70,ynisekoiy94
+tsukkomi,0,70,
+tree_print,0,70,
+transparent_footwear,0,70,
+trance_(hijiri),4,70,
+touin_rina,4,70,
+toudou_kirin,4,70,
+toudou_charo,1,70,
+torn_flag,0,70,tattered_flag
+tongkkangi_(streamer),4,70,
+tomokoji,1,70,
+tomoe_tamao,4,70,
+tokimachi_eisei,1,70,
+tohsaka_sakura,4,70,toosaka_sakura
+to_heart_2_dungeon_travelers,3,70,
+three_k_(spiritus_no_honoo),1,70,sm5050
+thorton_(pokemon),4,70,"nejiki_(pokemon),neziki_(pokemon),neziki_(pokemon)"
+the_baddest_akali,4,70,
+terra_formars,3,70,
+teba_motoko,1,70,
+tawawa_group,0,70,
+tasuku_(otomebotan),1,70,
+tarutaru_yamaoka,1,70,sanbabasanba
+tang_san,4,70,
+tanaka_yutaka,1,70,
+tamuhei_(6nasiki),1,70,
+talunilu_uu3,1,70,
+talgi,1,70,
+takkun_(flcl),4,70,
+takayama_chihiro,1,70,
+takahashi_akira,1,70,
+tabata_hidenori,4,70,
+sword_clash,0,70,
+suzuki_sakura,1,70,
+surikogi,1,70,
+super_robot_wars_og_the_inspector,3,70,
+sugita_ranpaku,1,70,
+subaru_noji,1,70,
+star_guardian_janna,4,70,
+soramame_pikuto,1,70,
+sokka,4,70,
+snowciel,4,70,
+slit_throat,0,70,
+slayer_(dungeon_and_fighter),4,70,
+shuu_illust,1,70,
+shizuoxing_kof,1,70,
+shishima_eichi,1,70,
+shirou_(bear)_(fate),4,70,shirou_(fate/grand_order)
+shiro_(nitto),1,70,
+shiohari_kanna,1,70,
+shinomiya_runa,4,70,
+shinohara_shinome,1,70,
+shino_(osaru),4,70,
+shin_(highest1192),1,70,
+shin1ar24,1,70,
+shimura_nana,4,70,
+shikino_(sikinonono),1,70,
+shika_(shika0),1,70,
+shijimi_kozou,1,70,
+shiguko,1,70,
+shigeru,1,70,
+shellos,4,70,
+sheep_sleep,1,70,
+seesaw,0,70,
+season_(artist),1,70,
+sayuwan,1,70,11sayuwan11
+sarah_sauge,1,70,
+sanpeita,1,70,sanbe_futoshi
+samuraisamurai,1,70,
+saku_(kazana),4,70,
+sakimiya_mafu,1,70,
+saitou_gabio,1,70,
+saitani_umetarou,1,70,
+saint_mary's_academy_uniform,0,70,
+sacchan_(nyaromeron),4,70,
+s-yin,1,70,
+ryman,1,70,ri-man
+rrr_(reason),1,70,
+roroichi,1,70,
+rocket_raccoon,4,70,
+rock_balancing,0,70,
+riyo_servant_(babydoll)_(fate),4,70,riyo_servant_(babydoll)
+rikotan,1,70,roriwanko
+riking,1,70,
+rick_and_morty,3,70,
+rhajat_(fire_emblem),4,70,syalla_(fire_emblem_if)
+reon_(dainagon_azuki),1,70,glglpanda
+relay_race,0,70,
+red_scales,0,70,
+razuzyamu,1,70,
+rance_ix,3,70,
+ranbu_hararin,1,70,
+rainyazurehoodie,1,70,
+radlionheart,1,70,
+qi_hui,1,70,
+purple_haired_elf_(houtengeki),4,70,
+puddingx2,1,70,puddingpudding
+public_address_system,0,70,
+prusena_(haevest),4,70,
+print_bag,0,70,print_backpack
+primal_kyogre,4,70,
+praxis_(xenoblade),4,70,mikumari_(xenoblade)
+poyo_(shwjdddms249),1,70,
+pollux_(housamo),4,70,pollux_(tokyo_houkago_summoners)
+poco_muerte,4,70,
+pluto_symbol,0,70,pluto_sign
+plico_(nicoma),1,70,
+planetarium,0,70,
+pizzzica,1,70,
+piyo_(ppotatto),1,70,
+pixiv_festa,3,70,
+pink_overalls,0,70,
+perfume_(cosmetics),0,70,
+peachems_(gemu),1,70,
+pastel_memories,3,70,
+pachimari,4,70,
+owada_(kousonhuchi),1,70,
+osuk2,1,70,soo_kyung_oh
+orange_(among_us),4,70,
+ooka_(rkyu),1,70,
+ono_ikumi,4,70,
+onii-san_(tawawa),4,70,
+one_year_artist_progress_record,0,70,
+okukawa_minako,4,70,
+okita,1,70,
+ogadenmon,1,70,
+odagiri_futaba,4,70,
+oborogumo_takamitsu,1,70,
+obon,0,70,
+null_(chronix),1,70,null_(pixiv180777)
+nova_(starcraft),4,70,
+noi_(noi_2y),1,70,
+noco_(pixiv14976070),1,70,
+no10,1,70,
+ninja_(yzpyn),4,70,
+ninja_(tera_online),4,70,
+nimu_(vtuber),4,70,
+nikayu,1,70,
+nijimaarc,1,70,
+newt_scamander,4,70,
+nergigante,4,70,
+nemusuke,1,70,
+negy,1,70,
+nasa,0,70,
+narusawa_sora,1,70,
+naoe_kanetsugu_(hyakka_ryouran),4,70,
+nanasumi_(pantie_party_project),1,70,nanasumin
+nanase_nanami_(gundam_build_divers),4,70,
+nanako_(houkago_no_pleiades),4,70,
+nakajima_rei,1,70,manitou
+nairobi_song,1,70,brilliant_naraku
+nagayo,1,70,
+nagasawa_(tthnhk),1,70,
+nachiru,1,70,
+myero,1,70,
+muutsuki,1,70,
+muteki_choujin_zambot_3,3,70,invincible_machine_zambot_3
+mushibugyou,3,70,
+multiple_hats,0,70,
+multicolored_sweater,0,70,
+mukuro_(sakiyo_cake),4,70,
+mt.somo,1,70,
+morag_ladair_(obligatory_leave)_(xenoblade),4,70,
+mooofoo,1,70,kkj25
+monster_hunter_stories_2,3,70,
+monokuro_(sekahate),1,70,
+monaka_natsume,1,70,
+moejin,1,70,
+mochizuki_himari,4,70,
+mizuki_takehito,1,70,
+mizuchi_(mizuchi7118),1,70,
+miyama_rikka,1,70,yukinohana
+miyama_(kannsannn),1,70,
+mix_(wkupmix),1,70,"lovemaronmeru0827,wkupmix"
+mitoko_(tsuchikure),4,70,
+minase_tamaki,1,70,yozuki_shokora
+minari_(lmina09),1,70,minari_i
+mina_(sio0616),1,70,nonon_impact
+mimana,1,70,
+miki_(hoozuki_no_reitetsu),4,70,
+mikan_29344886,1,70,
+miharu_(ttt),1,70,
+metadora,1,70,
+megaera_(hades),4,70,
+medea,4,70,
+mecha_on_girl,0,70,
+mazinkaiser,3,70,
+matsuuni,1,70,
+matsuno_opa,1,70,
+matsuki_akira,1,70,
+masuku_(saint_mask),1,70,
+masu_gitsune,1,70,
+marie_antoinette_(festival_outfit)_(fate),4,70,
+maria_tr,4,70,
+marco_polo_(azur_lane),4,70,
+mansu,1,70,
+mankun,1,70,
+maltese_tiger_(kemono_friends),4,70,
+male_underwear_removed,0,70,"underwear_removed,underwear_removed_(male)"
+makarov_pm,0,70,
+mahou_no_princess_minky_momo,3,70,magical_princess_minky_momo
+macan_(housamo),4,70,macan_(tokyo_houkago_summoners)
+ma_nyan_(nyao_mao_nyao),1,70,
+m_ganzy,1,70,
+m_bison_(cosplay),0,70,
+lychee,0,70,
+luupechi,1,70,hyui_cf2
+luchador,0,70,
+love_live!_the_school_idol_movie,3,70,
+love_ball,0,70,love_love_ball
+little_noah,3,70,
+lisuchi,1,70,
+licking_leg,0,70,"leg_lick,leg_licking"
+leveen,1,70,
+lerico213,1,70,
+leon_magnus,4,70,
+legend_of_queen_opala,3,70,
+leer.meer,1,70,
+lee_(saraki),4,70,
+larsa_ferrinas_solidor,4,70,
+kyaro_(kyaro54),1,70,
+kuroinu,1,70,
+kurogane_otome,4,70,
+kuro_goma_(kakkou11),1,70,
+kunoichi-chan_(iroha_(iroha_matsurika)),4,70,
+kousaka_nobaku,1,70,
+koubuin_yuuhi,4,70,
+koooogasya,1,70,
+konokiya,1,70,
+konneko,3,70,
+komori_kinoko,4,70,shemage_(boku_no_hero_academia)
+kiwi_of_ruin,1,70,
+kirino_aya,4,70,
+kiriki_haruomi,1,70,
+king_of_spades,0,70,
+kikimora_(monster_girl_encyclopedia),4,70,
+kiiro_no_nantoka,1,70,
+kiev_(azur_lane),4,70,
+kick_scooter,0,70,
+kibii_mocha,1,70,
+kgt_(pixiv12957613),1,70,
+kazuko_(towa),1,70,
+kazuha_(saku_kn),1,70,
+kazama_gorou,1,70,
+kayou_(sennen_sensou_aigis),4,70,
+katana_man_(chainsaw_man),4,70,
+kashii_(amoranorem),1,70,
+karasu_(jjwh2832),1,70,
+kanojo_mo_kanojo,3,70,girlfriend_girlfriend
+kanna_(chaos966),1,70,
+kalk_(azur_lane),4,70,
+kaito_(sawayakasawaday),1,70,
+kairi_(kai_ri),1,70,kai_ri
+kagiyama_hina_(cosplay),0,70,
+kafu_(cevio),4,70,
+k-ya.,1,70,
+jyu_ichi,1,70,
+junkt729,1,70,
+junjunforever,1,70,
+jude_maverick,4,70,
+johnston_(kancolle)_(cosplay),0,70,
+jofang,1,70,
+jockey,0,70,
+jk-chan_(oouso),4,70,
+jinyuan712,1,70,
+jin_(granblue_fantasy),4,70,
+jesse_pinkman,4,70,
+jason_todd,4,70,
+jamir,1,70,
+jajao,1,70,
+izumi_bell,1,70,izumi_beru
+iwata_satoru,4,70,
+itsuki_jun,1,70,
+inukoko,1,70,
+instanttnoodle,1,70,instanttnuudle
+inase_shin'ya,1,70,"houenken,inase_shinya"
+imaizumi_kagerou_(wolf),4,70,
+ikkitousen_xtreme_xecutor,3,70,
+ikebata_homura,1,70,
+ikataruto,1,70,
+ikari_yui,4,70,
+if_f,1,70,
+ichinomiya_kantarou,4,70,
+ichikura_(bk),1,70,
+hostage,0,70,
+hoshiakari_(c2_kikan),1,70,
+homura_(silver_blaze),1,70,
+holding_stethoscope,0,70,
+holding_pitchfork,0,70,
+holding_another's_thighs,0,70,
+hitoshi,1,70,
+higebu,1,70,
+hecate_(shakugan_no_shana),4,70,
+headstand,0,70,
+head_rub,0,70,
+harley_quinn_(cosplay),0,70,
+happy_party_train,0,70,
+hanchou_(shirokun555),1,70,
+hanavbara,1,70,
+hamu_(plot_sy),1,70,
+hamidashi_creative,3,70,
+hakuginnosora,1,70,
+hakugei_(re:zero),4,70,
+hagi_(ame_hagi),1,70,
+hachisuka_goemon,4,70,
+gyup,1,70,
+gyn_chair,0,70,
+guel_jeturk,4,70,
+grapploct,4,70,
+granbull,4,70,
+gooster,1,70,
+goenitz,4,70,
+glamour_works,1,70,
+girdle,0,70,
+ginjyasei,1,70,
+giant_insect,0,70,
+geometry,0,70,
+genista_(darling_in_the_franxx),4,70,
+gbeeee,1,70,
+garo:honoo_no_kokuin,3,70,
+ganida_boushoku,1,70,
+gabu_(az210309),1,70,
+g_ieep,1,70,
+furuhashi_fumino,4,70,
+fruit_sandwich,0,70,
+francoise_arnoul,4,70,
+france_shoujo,3,70,
+fpminnie1,1,70,
+folded_twintails,0,70,
+flower_bikini,0,70,
+fenix_uniform,0,70,
+felnemo,1,70,
+fatal_frame_5,3,70,
+fantasy_seal,0,70,
+eye_chart,0,70,
+ev_(dai00888),1,70,"dai00888,ecchibideo"
+eureka_brider,1,70,
+euclase_(houseki_no_kuni),4,70,
+eternatus,4,70,
+escalation_heroines,3,70,
+eru-sennin,1,70,eru_(9878622)
+ere_(2516325),1,70,
+eldritch_loreteller_(idolmaster),0,70,
+eldar,4,70,
+dumpster,0,70,
+dualsense,0,70,
+drid,1,70,
+drawing_board,0,70,
+double_lariat_(vocaloid),3,70,double_lariat
+dodo_(bird),0,70,
+dmc:_devil_may_cry,3,70,
+devilhs,1,70,
+dashi_(minzoku_gb),1,70,
+dana_(hapong07),1,70,
+daisy_mitsumata,1,70,
+dada_(dolce),1,70,
+d3a,0,70,
+cut-here_line,0,70,
+curling_iron,0,70,
+cu_chulainn_(fate/extra),4,70,
+crow_3434,1,70,
+cranidos,4,70,
+cracked_mask,0,70,
+cqc,0,70,
+cosmo_(465lilia),1,70,cosmo_(pixiv12140406)
+cordless_phone,0,70,
+convenient_breasts,0,70,
+compass_(instrument),0,70,
+colored_armpit_hair,0,70,
+code_geachu_lelouch_of_the_calamity,3,70,
+clapperboard,0,70,
+clair_(fire_emblem),4,70,
+cinderella_(disney),4,70,
+choudenji_machine_voltes_v,3,70,voltes_v
+chika_(princess_connect!),4,70,misumi_chika
+chiji_komari,1,70,"chidjimi_komare,hana_(tmtmrgrgtrg)"
+chihiro_(chrnt),1,70,
+chesnaught,4,70,
+chen_zi,1,70,
+check_source,5,70,
+chankyone,1,70,
+cetera,1,70,amaharamizuho
+cbow,1,70,
+cbi_cbi,1,70,
+cartoon_network,3,70,
+c_take0141,1,70,
+byte_(grunty-hag1),1,70,
+bullet_trail,0,70,
+bouhatei_(t-back),1,70,
+boogiepop,3,70,
+bombergirl573,1,70,
+boba,1,70,
+blaze_fielding,4,70,
+bismarck_kai_(kancolle),4,70,
+bismarck_drei_(kancolle),4,70,
+bingo_tarte,1,70,
+bibimbub,1,70,
+basch_fon_ronsenburg,4,70,
+barinbo,4,70,
+bandaid_on_breast,0,70,
+bamboo_memory_(umamusume),4,70,
+bakushiishi_at,1,70,
+baby's-breath,0,70,
+azitama_atsushi_(attyuu),1,70,
+ayuko_(ayuco),1,70,
+asava_(hutaitenn),1,70,
+arnold_schwarzenegger,4,70,
+arin_sel,1,70,
+aries_muu,4,70,aries_mu
+aria_(opera),1,70,
+arepko,1,70,damon_ct
+ara_haan_(celestial_fox),4,70,
+aoshidan_(emblem),0,70,
+aoi_rena,1,70,"kyarara_rena,kyarara_renan"
+aoi_(gegege_no_kitarou),4,70,yuki_onna_(gegege_no_kitarou)
+amo_(amo9612),1,70,amo_(weibo2532655064)
+ame_usari,1,70,
+amakusa_shirou_(third_ascension)_(fate),4,70,
+alto2019,1,70,
+alten,1,70,
+altair_floone,4,70,
+aika_warazu,1,70,
+agarwood,1,70,
+aduo,1,70,
+abigail_williams_(fate)_(cosplay),0,70,
+9rimson,1,70,
+.l.l,1,70,
+zzzpani,1,69,
+zetta_(phantom_kingdom),4,69,
+zest,4,69,
+yyy246,1,69,
+yuya090602,1,69,
+yuusuke_(5yusuke3),1,69,
+yuna_(spn28u79),1,69,
+yukkuri_youmu_to_hontou_wa_kowai_cthulhu_shinwa,3,69,
+yuki_tomoshi,1,69,
+yukari_yukke,1,69,
+yoshii_dan,1,69,
+yomogi_dango,1,69,
+yo_na,1,69,yo_na_(yo_na_)
+yasushi,1,69,
+yamakawa_michiko,4,69,
+yamabukiiro_(browncat),1,69,
+xie_lian,4,69,
+xiao_gen,1,69,
+wristwear,0,69,
+wraith_(apex_legends)_(cosplay),0,69,
+wo_jianqiang_fu_guo,1,69,
+windows_xp,3,69,
+wille_(fatalbug896),4,69,
+wattsu,1,69,
+watayoshi_(suiiho),1,69,
+waneella,1,69,
+wakatsuki_sana,1,69,
+virizion,4,69,
+virgosdf,1,69,
+victory_belles,3,69,
+verynezumi,1,69,
+versiris,1,69,
+vampire_(little_devil_in_white)_(azur_lane),4,69,
+utsunomiya_toramaru,4,69,
+utilizator,1,69,
+ushi_424,1,69,
+usameruti,1,69,
+united_states_air_force,0,69,
+uni_(nico02),1,69,
+umumu_(pilcre),1,69,
+twilight_(spy_x_family)_(cosplay),0,69,
+twarda8,1,69,
+tsunamino_yuu,1,69,
+tsuna_(al_dente),1,69,
+tsumetsume_zerii,1,69,
+tottsuan,1,69,
+tonomayo,1,69,
+tomoe_gozen_(swimsuit_saber)_(third_ascension)_(fate),4,69,
+toadstool_(natadekoko),1,69,
+the_grateful_dead_(stand),4,69,
+tenjouin_saki,4,69,
+telaform,1,69,
+teiryoku_lolita,1,69,
+teikoku_senki,3,69,
+tazu,1,69,
+taurus,0,69,
+tatutaniyuuto,1,69,
+tatatan_(ts_kon2),1,69,
+taniguchi_daisuke_(surumenium),1,69,
+tanaka_ichi,4,69,
+tanaka_deshirittoru,1,69,
+tamura_satomi,1,69,
+takiya_makoto,4,69,
+take_no_ko_(dodon),1,69,"dodon06,yuumikouki"
+takatsuki_tsukasa,1,69,
+takashima_yuuna,4,69,
+takappe,1,69,
+takanashi_koyomi,4,69,
+takahashi_rumiko,1,69,
+taira_momen,1,69,
+tainaka_satoshi,4,69,
+tail_on_face,0,69,
+taikodon,1,69,taiikodon
+taigi_akira,1,69,
+tai_gong_wang_(fate),4,69,
+tachibana_hiroki,1,69,
+taba_comya,1,69,akira0171
+sugar_song_and_bitter_step,0,69,
+suelle_marlen,4,69,
+stigmamyu,1,69,
+spiked_jacket,0,69,
+specter_(undercurrent)_(arknights),4,69,
+soumendaze,1,69,
+sorayama_natsume,4,69,
+sophia_f_shirring,4,69,
+smelling_feet,0,69,foot_sniff
+slowking,4,69,
+ski_pole,0,69,
+sinccubi,1,69,
+sime_(echo),1,69,shimetta_oshime
+shuten_douji_(housamo),4,69,shuten_douji_(tokyo_houkago_summoners)
+shoonia,1,69,
+shogun_(sekaiju),4,69,
+shiro_(deadman_wonderland),4,69,
+shirley_fennes,4,69,
+shirayuri_kaguya,4,69,
+shira_ichigo_(ichigohou),1,69,
+shino_(yaruki_nai_yatsu),1,69,
+shimanoko,1,69,
+shima_tetsuo,4,69,
+sentarou,1,69,
+segawa_misato,4,69,
+seato-hao,1,69,
+sdwing,1,69,
+scott_pilgrim,3,69,
+scotch_(meitantei_conan),4,69,
+scientist_(zannen_onna-kanbu_black_general-san),4,69,
+scar_(fma),4,69,scar_(fullmetal_alchemist)
+sazanka,1,69,
+satsumaimo_pai,1,69,
+satsuki_itsuka,1,69,
+satozaki_kiko,4,69,
+satou_saori,1,69,
+satan_(devilman),4,69,
+sas_(ls08b),1,69,
+sarah_(pokemon),4,69,sui_(pokemon)
+saple,1,69,
+sanzu_river,0,69,
+sakurai_chisato,4,69,
+sakigake_generation!,3,69,
+ryuujou_(kancolle)_(cosplay),0,69,
+ryoi,1,69,
+rui_(o-rui),1,69,"o-rui,o_rui"
+ruby_(jewelpet),4,69,ruby_(jewel_pet)
+roku_6,1,69,
+roger_smith,4,69,
+rnd.jpg,1,69,
+ritual,0,69,
+rilakkuma,4,69,
+ribao,1,69,
+rery,4,69,
+ravness_loxaerion,4,69,
+r2-d2,4,69,r2d2
+quarantine_722_wraith,4,69,
+qi'e_(penguin),1,69,amy30535
+pulley,0,69,
+puffy_anus,0,69,
+print_vest,0,69,
+postmark,0,69,
+polka_dot_jacket,0,69,
+polka_(trusty_bell),4,69,
+plain,0,69,
+phantasy_star_ii,3,69,
+peron_(niki2ki884),1,69,
+pasya-pasya,1,69,
+pastel_chime_continue,3,69,
+pangolin_ears,0,69,
+padded_gloves,0,69,
+p!k@ru,1,69,tokonatu
+ozawa_reido,1,69,
+oumi_sanaka,1,69,
+operator_6o,4,69,
+oollnoxlloo,1,69,
+onka,4,69,
+omnisucker,1,69,
+omega_sisters,3,69,
+okura-chan_(at_nya5),1,69,
+ojou_(galko),4,69,ojou_(gyaru-ko)
+oguri_oguri_(meme),0,69,
+odin_(fire_emblem),4,69,odin_(fire_emblem_if)
+oboro_(iron_saga),4,69,
+object_on_pectorals,0,69,
+nukigee_mitai_na_shima_ni_sunderu_watashi_wa_dou_surya_ii_desu_ka?,3,69,
+nogizaka_mika,4,69,
+ninten,4,69,
+neyuki_no_gen'ei,3,69,neyuki_no_genei
+nekonabe_ao,1,69,
+nato-kun,4,69,
+nanoca_flanka,4,69,
+nannaru_(nananana),1,69,
+nanami_neru,1,69,nnmi11
+nana_(732_kaiten),1,69,nana_(artist)
+namidako,1,69,
+nakta,1,69,
+nakada_rumi,1,69,
+n.a.,1,69,
+muya_(uyamuya_jj),1,69,
+muteki_kanban_musume,3,69,
+mushihime-sama_futari,3,69,mushihimesama_futari
+multicolored_umbrella,0,69,
+mulan,3,69,
+mukai_suzu,4,69,
+mouri_motonari_(sengoku_basara),4,69,
+moroheiya_(moroheiya-works),1,69,moroheiya_(user_harz4842)
+morino_ryoushi,4,69,
+mokoppe,1,69,
+mogmog,1,69,
+moe_on_drop,1,69,
+mochisaka_mitsuki,1,69,hiromochi_jin
+mizu,1,69,
+mittelt,4,69,
+mitsuru-kun_(kusanagi_tonbo),4,69,
+mitarai_ryouta,4,69,
+misuke_(gyouran),1,69,
+mishima_heihachi,4,69,
+minky_momo,4,69,
+milo_and_akouo,0,69,
+mijinkouka,1,69,
+mielang,1,69,
+michou,1,69,
+metal_bikini,0,69,
+merry_milk,4,69,
+meroko_yui,4,69,
+merchant,0,69,shopkeeper
+meditite,4,69,
+meadow_(morphinecaca),1,69,
+matsumoto_mitsuaki,1,69,
+matsumoto_kouko,4,69,
+matsuki_miyu,4,69,
+master_yi,4,69,
+masatoki,1,69,
+masakichi_(heppouku),1,69,
+maronie.,1,69,
+marlboro,3,69,
+marie_antoinette_(swimsuit_caster)_(first_ascension)_(fate),4,69,
+mara_(megami_tensei),4,69,
+maou-sama_to_kekkonshitai,3,69,
+manabe_jin'ichirou,4,69,
+mana_khemia,3,69,mana-khemia_alchemists_of_al-revis
+mamita,1,69,
+makoto_jon,1,69,
+makoto_ikemu,1,69,
+maki_(huran),1,69,
+majic_lin,4,69,
+magrona_channel,3,69,
+magokorokurage,1,69,
+maachi_(fsam4547),1,69,
+m1_abrams,0,69,
+lux_(alpa),1,69,
+luode_huayuan,1,69,
+lucius_(fire_emblem),4,69,
+lotus_(elico),1,69,
+llamrei_(fate),4,69,
+lime_hair_ornament,0,69,
+lilith_(evangelion),4,69,
+leona_(granblue_fantasy),4,69,
+leex,1,69,
+leaf_nun_(diva),4,69,grey_bangs_nun_(diva)
+kzcjimmy,1,69,
+kyou_(ittla),4,69,
+kusami_toka_naku_au,1,69,ssietill
+kuroki_mashiro,1,69,
+kuro_nezumi_inu,1,69,
+kumaneko,1,69,
+koyori,4,69,
+kotera_ryou,1,69,
+komachi_tsugumi,4,69,
+knatb,1,69,
+kissai,1,69,
+kirita_asami,1,69,"asami_(pixiv866),asami_(undoundo)"
+kirby's_return_to_dream_land,3,69,
+kimisaki_school_uniform,0,69,
+kiku_(kicdoc),1,69,
+kikou_senki_dragonar,3,69,
+kep_(ahokep),1,69,ahoge1
+kengan_(series),3,69,
+keisuke_(0320030103200301),1,69,
+keid,1,69,
+kazetsubaki_kuriko,4,69,
+katy_(artist),1,69,
+katri_(unwilling_orc),4,69,
+kareshi_kanojo_no_jijou,3,69,"his_and_her_circumstances,kare_kano,karekano"
+karasuro,1,69,kyara-suro
+kanzaki_sora,1,69,
+kanjou_jouki,1,69,
+kanini,1,69,
+kanda_satoshi,1,69,
+kamen_no_hito,1,69,
+kakita_(92m),4,69,
+kaisanbutsu,1,69,
+kageng,1,69,
+kaden_(fire_emblem),4,69,nishiki_(fire_emblem_if)
+kabi_(zcwd8845),1,69,
+juujouin_mari,4,69,
+jun_(aoerm),1,69,
+judge_(girls'_frontline),4,69,judge_(girls_frontline)
+joy_(pokemon)_(cosplay),0,69,
+jogan,4,69,
+joe_shimamura,1,69,
+jiushi_shijiu,1,69,xixi
+jinsei,3,69,
+jibakurei_(elite_unchi),1,69,"elite_unchi,shougakusei_bot"
+jian_xia_qing_yuan_online_3,3,69,jx3
+jeffrey10,1,69,
+jazz_(transformers),4,69,
+jayce_(league_of_legends),4,69,
+japanese_macaque,0,69,
+jagayamatarawo,1,69,
+jacqueline_baumgold,4,69,
+izumo_kasumi_(nijisanji),4,69,
+iwai_ku_tsuki,1,69,
+itsuki_(itsukiovo),1,69,
+itose_ikuto,1,69,
+itete,1,69,
+isora,1,69,
+ishioto,1,69,
+isekai_shinige_ojousama,3,69,
+isada_(daisa),1,69,saida
+irohatomo,1,69,
+inoue_makito,1,69,
+ino_futon,1,69,
+implied_ejaculation,0,69,
+igarashi_ikki,4,69,
+ichijou_raku,4,69,
+ichigo_daifuku,0,69,ichigodaifuku
+ibaraki_douji's_arm,4,69,
+ibara.,1,69,
+i-iv_(longman),1,69,
+i-400_(aoki_hagane_no_arpeggio),4,69,
+hydrafxx,1,69,
+human_tug_of_war,0,69,
+hug_and_suck,0,69,
+hoshizuki_suzu,4,69,
+hoshina_utau,4,69,
+hoshi_umi,1,69,
+horn_lance,0,69,
+hooded_kimono,0,69,
+holding_turret,0,69,
+holding_eyepatch,0,69,
+holding_cooking_pot,0,69,
+hiyoko_daiou,1,69,
+hitogome,1,69,
+hirama_hirokazu,1,69,
+himenokouji_akiko,4,69,
+hiei_(aoki_hagane_no_arpeggio),4,69,
+hiccup,0,69,
+hibikino-san-chi_wa_eroge-ya-san!,3,69,
+hero_(dq6),4,69,
+henrietta_(zankuro),4,69,
+heart_bikini,0,69,
+head_on_another's_stomach,0,69,
+hayama_teru,4,69,
+hatakeyama_tsukushi,4,69,
+harano_kaguyama,1,69,
+happy_lesson,3,69,
+hanato_kobato,4,69,kobato_hanato
+hanae_(blue_archive),4,69,
+hall_jion,1,69,
+hakurei_botan,4,69,
+hakua_(hka_art),1,69,
+haku_(fate),4,69,
+hagiwara_onsen,1,69,
+hades_project_zeorymer,3,69,
+gym_trainer_(pokemon),4,69,
+gyaku_tsubasa,1,69,
+guy_(final_fight),4,69,
+gundam_alex,4,69,
+gronru_(alchemy_stars),4,69,
+greymon,4,69,
+grey_shawl,0,69,
+grey_mask,0,69,
+gotou_jun,4,69,
+google_chrome,3,69,
+gonzaburo,1,69,
+goma_tonbi,1,69,
+gold_experience_requiem,4,69,
+glowing_armor,0,69,
+glider_(artist),1,69,
+glasses_girl_(nameo),4,69,
+glasgow_(azur_lane),4,69,
+fuzzamorous,1,69,
+fuyuki_minami,4,69,
+fuwa_hyouka,4,69,
+futaba-san_chi_no_kyoudai,3,69,
+furukawa_yui,4,69,
+fumizuki_homura,1,69,humiduki_homura
+fujisaki_(si_da),1,69,
+fujimaru_ritsuka_(female)_(true_ether_chaldea_uniform),4,69,
+frost,0,69,
+flower_girl_(yuuhagi_(amaretto-no-natsu)),4,69,
+flea_(chrono_trigger),4,69,
+flamberge_(kirby),4,69,
+finger_ribbon,0,69,
+fiat_500,0,69,
+fei_long,4,69,
+eva_(metal_gear),4,69,
+eus_ing,1,69,
+eternalspherex,1,69,
+estelle_(arknights),4,69,
+erikku_(kata235),1,69,
+eorx,1,69,kurenai_musume
+enaki_(mtmti),1,69,zonzgong
+elisanne,4,69,elphyllis_(dragalia_lost)
+elakan,1,69,
+ekina_(1217),1,69,dani_(daniel)
+eda_(black_lagoon),4,69,
+echosdoodle,1,69,
+east01_06,1,69,
+dress_jacket,0,69,
+dr._voir_(nanosheep),4,69,
+dove_pixie,1,69,
+dovahkiin,4,69,
+doru_riheko,1,69,
+donphan,4,69,
+dokuna,1,69,
+doko_demo_issho,3,69,
+doi_masayuki,1,69,
+docoi,1,69,
+distance,1,69,
+demirinz,1,69,
+dayama,1,69,
+darren_geers,1,69,
+daetta_(granblue_fantasy),4,69,
+dadadanoda,1,69,
+cygnet_(royal_fanfare)_(azur_lane),4,69,
+cutiebell,1,69,
+cure_blossom_(cosplay),0,69,
+crinoline,0,69,
+cranberry_spencer,4,69,
+cranberry_(mahoiku),4,69,
+coula_cat,1,69,
+coopa,4,69,kooba
+cocorip,1,69,
+cocoablue23,1,69,
+cleaning_glasses,0,69,
+circle_anco,1,69,
+cinnamon_roll,0,69,
+chushou_jiang,1,69,
+chousokabe_motochika_(sengoku_basara),4,69,
+choroko_(osomatsu-san),4,69,
+chkuyomi,1,69,
+chin-chin,0,69,
+chiko_(beroro),1,69,chiko_(pixiv29364)
+cheeze_(akizone),4,69,
+channel_ppp,0,69,
+chako_(chakoxxx),1,69,
+casper_(deathsmiles),4,69,
+calnarsa,1,69,
+cable_car,0,69,
+bug_spray,0,69,
+brown_sports_bra,0,69,
+bowsette_jr.,4,69,
+bon_(moegomi),1,69,
+blood_drop,0,69,
+bilibilida,1,69,
+beit_(idolmaster),0,69,beit
+beelzebumon,4,69,
+beatless,3,69,
+baby_penguin,0,69,
+baariya,1,69,
+ayama_yuiya,1,69,
+ayakashi,3,69,
+aya_kobayashi,4,69,kobayashi_aya
+autodefenestration,0,69,
+augu_(523764197),1,69,
+atom_(@tom),1,69,
+atago_(lily-white_vow)_(azur_lane),4,69,atago_(white_promise)_(azur_lane)
+asakiri_koko,1,69,
+as_val,0,69,
+aru16,1,69,
+artoria_pendragon_(swimsuit_archer)_(third_ascension)_(fate),4,69,
+aroha_j,1,69,
+aria.,1,69,
+aratami_isse,1,69,
+arami_o_8,1,69,
+aoba_misaki,4,69,
+anorith,4,69,
+anna_(princess_connect!),4,69,hiiragi_anna
+andvari_(last_origin),4,69,c-33_andvari
+anbasa_(amaneyuz13),1,69,
+analog_kenshi_(moto),1,69,ana_dogukishi
+amber_(gemstone),0,69,
+amazou,1,69,
+amano_tooko,4,69,
+amane_nishiki,4,69,
+alternate_animal_ears,0,69,
+alma_beoulve,4,69,
+akatsuki_kojou,4,69,
+akashi_senju,4,69,
+aisha_callaaisha,1,69,
+ai_kusunoki,1,69,
+agnes_claudel,4,69,
+6_yin,1,69,ling_(sroin)
+50yen,1,69,
+1921494015,1,69,
+zuoteng_lucha,1,68,
+zatsu,1,68,
+yuzuki_yuno,1,68,
+yuupon,1,68,
+yuudachi_kai_ni_(kancolle)_(cosplay),0,68,
+yuu_(oosakazaijyuu),1,68,
+yusuki_(fukumen),1,68,
+yupopo_(hidame),1,68,
+ys_(ytoskyoku-57),1,68,
+yotsumi_shiro,1,68,
+yayata_(884),1,68,884
+yasu_(umineko),4,68,
+yasaka_kanako_(cosplay),0,68,
+yan_(gyee),4,68,
+yamakawa_umi,1,68,
+yamada_maya_(yamdmay),1,68,yamada_maya_(user_xmvn3833)
+yakusa,1,68,hachi_shoku
+yakuri,1,68,
+yagiushi_(sinnpatilove),1,68,
+ximsol182,1,68,
+xiaolong_(touhoufuhai),1,68,
+xblaze_lost:_memories,3,68,
+wooden_stool,0,68,
+wing_grab,0,68,
+white_breath,3,68,
+waterstaring,1,68,
+wamdus_(granblue_fantasy),4,68,
+wallaby_(girls_und_panzer),4,68,
+wakahiko,1,68,ganov
+wadanaka,1,68,
+wacca005,1,68,
+w_(idolmaster),0,68,
+vy1,4,68,
+voruvoru,1,68,
+virtual_anto_channel,3,68,
+viewtiful_joe,3,68,
+vel'koz,4,68,
+veiny_testicles,0,68,
+vacuum_bed,0,68,
+uta_no_prince-sama_maji_love_2000_percent,3,68,
+unu_(unucence),1,68,
+unraveling,0,68,
+ultraman_z_(series),3,68,
+ultraman_(hero's_comics),3,68,
+ulala,4,68,
+ukiwakisen,1,68,
+ujac,1,68,
+type_80_(girls'_frontline),4,68,type_80_(girls_frontline)
+tuye_(arknights),4,68,
+tsuyuki_(yukitgraph),1,68,
+tsuma_to_mama_to_boin,3,68,
+tsukishiro_yukito,4,68,
+tsukishima_makoto,1,68,
+triumph_(expression),0,68,
+triss_merigold,4,68,
+triceratops,0,68,
+transpot_nonoko,1,68,
+toshihiro,1,68,
+tori_no_ou,1,68,
+too_many_pikachu,0,68,too_many_pikachus
+tongari,1,68,
+tombo_(majo_no_takkyuubin),4,68,
+tofu1601,1,68,
+toes_up,0,68,
+todoroki_fuyumi,4,68,
+tobin_(fire_emblem),4,68,robin_(fire_emblem_gaiden)
+tit_(bird),0,68,
+tirudo29,1,68,
+tipsy,0,68,
+timo_wei95,1,68,
+timmyyen,1,68,
+thundurus,4,68,
+thrux,1,68,
+thighhigh_gaiters,0,68,
+thief_(dungeon_and_fighter),4,68,
+the_mandalorian,3,68,
+the_kogado_(idolmaster),0,68,the_kogado
+tekka_maki_(wafuu-bune),1,68,exrail
+tefutene,1,68,
+teddy_demon,4,68,
+tapioka_(coconuts),1,68,
+taiga_kazame,1,68,
+taht_(that_is_mm),1,68,motota
+t.a.k.,1,68,
+sweater_vest_lift,0,68,
+sumiyoshi_kanako,4,68,
+sumi-chan_(sachito),4,68,
+stuffed_dinosaur,0,68,
+stop_motion,0,68,
+stealth_set_(zelda),0,68,
+star_fox_adventures,3,68,
+speedpaint,0,68,
+spectral_force,3,68,
+spectacled_caiman_(kemono_friends),4,68,
+sousuke_(ponyo),4,68,
+souma_kyou,4,68,sohma_kyou
+soot,0,68,
+soma_natsumi,4,68,souma_natsumi
+soldier_game,0,68,
+snowman_print,0,68,
+smilodon_(kemono_friends),4,68,
+slam,0,68,
+sizzlipede,4,68,
+sion_(9117),1,68,
+sie_kensou,4,68,
+shulliy_baudelair,1,68,"jinichu,peachmaiden,peechpenku"
+shizuki_soujuurou,4,68,
+shirt_over_head,0,68,
+shirokaba114,1,68,
+shirohime_quest,3,68,
+shirayuki_(akagami_no_shirayukihime),4,68,
+shirafuji_natsuki,4,68,
+shirafuji_ene,1,68,
+shining_gundam,4,68,
+shin_(amnesia),4,68,
+shimeji_simulation,3,68,
+shiki_hinako,1,68,"hina_(milk_ti_leaf),kisaki_minami"
+shiki_(0802makimari),1,68,
+shikato_miyo,1,68,
+shikada_kokonotsu,4,68,
+shichi_(ratorin53),1,68,ritta_(abmnoworld)
+shari_cote,1,68,
+sgb,1,68,
+seven_deadly_sins,0,68,
+serena_(sygna_suit)_(pokemon),4,68,
+sera_(mega_man),4,68,sera_(rockman_dash)
+sayuu_hanten,1,68,
+sawara_noa,1,68,
+satou_saya,1,68,
+satou_masuki,4,68,masking_(bang_dream!)
+sarujie_(broken_monky),1,68,
+sara666,1,68,
+sangsoo_jeong,1,68,
+sage_(final_fantasy),4,68,
+rynn_(rynn_cube),1,68,rynn_(user_rkgs8583)
+ryanpei,1,68,
+ruua_(idaten93),4,68,
+ruoshui_(the_legend_of_luoxiaohei),4,68,
+ruggie_bucchi,4,68,
+ruberule,1,68,rubewe
+rii_abrego,1,68,
+rennes,1,68,
+renkonmatsuri,1,68,
+renka_(senran_kagura),4,68,
+ren_(gh),1,68,gh_(chen_ghh)
+reinoenu_(anon),1,68,
+rei_(granblue_fantasy),4,68,
+reckless_fist_(elsword),4,68,
+rebecca_anderson,4,68,
+razmi_(indivisible),4,68,
+ratto_(mobilis_1870),1,68,"mobilis_1870,yata"
+rapha_galthena,4,68,rafa_galthana
+ral-san,4,68,
+raineru_(gryffindor131),1,68,h_masahiro
+race_bib,0,68,
+r-99_smg,0,68,
+quilt,0,68,
+quercus_(arknights),4,68,
+qingchen_(694757286),1,68,
+qbz-97,0,68,
+purunyara,1,68,
+purple_pussy,0,68,
+purikura,0,68,
+pullups,0,68,
+project_a.d.a.,3,68,
+potty,0,68,
+poorgom,1,68,zofe
+pokey,1,68,
+poketoon,3,68,
+platin_(alios),1,68,
+plaid_scrunchie,0,68,
+plaid_footwear,0,68,
+piyoyanagi,1,68,
+pixiv_shadow,3,68,
+piisu,1,68,
+pietani397,1,68,
+photo_shoot,0,68,photoshoot
+phoenix_wright:_ace_attorney,3,68,"ace_attorney_1,gyakuten_saiban_1"
+petrel_(pokemon),4,68,lambda_(pokemon)
+pantyhose_tug,0,68,
+pa-15_(high_school_thrills)_(girls'_frontline),4,68,
+ozawa_ari,4,68,
+otakummm,1,68,
+osatou_(character),4,68,
+orange-pengin,1,68,
+ookura_miyako,4,68,
+ookawara_kunio,1,68,okawara_kunio
+oohirakeisuke,1,68,
+oohhya,1,68,
+onigensou,1,68,
+onasuba,1,68,nasubi_(fian0202)
+okuva,1,68,
+okia,1,68,
+o-sirius,1,68,
+nslacka,1,68,
+noshima,1,68,
+northman,1,68,
+noba_(veronicanoha),1,68,veronicanoha
+nm_(tshell2761),1,68,
+nissan_skyline,0,68,
+nishizono_midori,4,68,
+nishinomiya_suzu,1,68,
+nintendo_64_controller,0,68,
+nepnep_connect:_chaos_chanpuru,3,68,
+neon_katt,4,68,
+neo-porte,3,68,merise
+nemo_(nameless920),1,68,
+natsume_(natsume_melio),1,68,
+nanami_yuuno,4,68,
+namori_(character),4,68,
+naked_bowtie,0,68,
+nagase_iori,4,68,
+myuri_(spice_and_wolf),4,68,
+mystic-san,1,68,
+my_(iuogn4yu),1,68,
+musical_note_necklace,0,68,
+mushroom_hair_ornament,0,68,
+murasaki_(fioletovyy),1,68,
+multicolored_thighhighs,0,68,
+mu46016419,1,68,
+morimiya_aono,4,68,
+model_airplane,0,68,
+miyazakit,1,68,
+miyakouji,1,68,
+misuta710,1,68,
+minerva_(re:zero),4,68,
+mindoll,1,68,crybluemushu
+mima_chi,1,68,kim_cheee
+mileena,4,68,
+miero,1,68,
+meruem,4,68,meryem
+mengxin_huazha,1,68,moe_shin_image_residue
+mella,1,68,
+melissa_kinrenka,4,68,
+mekakushi_code_(vocaloid),3,68,
+meiza_endust,4,68,
+megami_magazine_creators,3,68,megami_creators
+mega_man_3,3,68,rockman_3
+matagitii,1,68,
+mary_clarissa_christie,4,68,
+maru-kichi,1,68,
+marshall,0,68,
+mandytsune,1,68,
+mameyanagi,1,68,
+male-female_symbol,0,68,
+magnolia,0,68,
+mafurako,4,68,
+mackia,1,68,juste1ce
+machine_robo,3,68,
+m2hb_(girls'_frontline),4,68,m2hb_(girls_frontline)
+lyodi,1,68,
+loose_panties,0,68,
+lofi_girl_(youtube),3,68,lofi_hip_hop_radio_-_beats_to_relax/study_to
+little_blonde_girl_(kozato),4,68,
+like_an_ero-doujin,0,68,
+lhu_(barappra1),1,68,
+lamune,3,68,
+ladd_russo,4,68,
+laboto,1,68,
+kz_609,1,68,
+kyoukai_senki,3,68,amaim_warrior_at_the_borderline
+ky_(nimbusky),1,68,
+kuronushi_(genshin_impact),4,68,
+kuroneko_(kuroi-neko),1,68,kuroi-neko
+kuromiya_(def_lp),1,68,
+kuro_(ao_no_exorcist),4,68,
+kurekore,1,68,
+ku-ba,1,68,
+kt,1,68,
+ko~n,0,68,
+koyanskaya_(assassin)_(third_ascension)_(fate),4,68,
+koutari_yuu,4,68,"yuu_(black_rock_shooter),yuu_(brs)"
+koujaku,4,68,
+komuro_chinami,4,68,
+komano_aunn_(komainu),4,68,
+kolulu_(granblue_fantasy),4,68,
+kokukyukeo,1,68,
+kohitsuji_ai,4,68,
+knight_(shichigatsu),4,68,
+kiyo_(yamazoe1122),1,68,
+kisou_(kisou00),1,68,
+kiryuu_kyousuke,4,68,kalin_kessler
+kingsman:_the_secret_service,3,68,
+kimura,4,68,
+kemomimi_refle!,3,68,
+kemejiho,1,68,
+kcco_(girls'_frontline),0,68,kcco_(girls_frontline)
+kazanock,1,68,
+katsu_(food),0,68,
+katano_sukune,4,68,
+kasuga_ichiban,4,68,
+kashiwa_(iersansi),1,68,rudorofu
+kasako_(komeshiro_kasu),4,68,
+karashi_(asarikarasi),1,68,
+karahara_shima,4,68,
+kaorin_minogue,1,68,
+kanie_seiya,4,68,
+kanechi,1,68,
+kana_(kuaua),1,68,kuaua
+kana_(haibane),4,68,
+kamipani!,3,68,
+kamen_rider_garren,4,68,
+kali_belladonna,4,68,
+kaitou_reiko,4,68,
+k-rha's,1,68,
+juliet_capulet,4,68,
+ju_87,0,68,
+jolaeng-i,1,68,
+jitsu_wa_watashi_wa,3,68,my_monster_secret:_actually_i_am...
+jirafuru,1,68,
+jill_valentine_(cosplay),0,68,
+jiang_ye_kiri,1,68,
+isobee,1,68,
+ishitsu_tadashi,1,68,
+isaac_dian,4,68,
+inugahora_an,1,68,
+inoue_tomii,1,68,
+inaba_yui,4,68,
+impidimp,4,68,
+imp_(doom),4,68,
+imminent_breast_grab,0,68,
+imazawa,1,68,jinze_(imazawa)
+illyasviel_von_einzbern_(dress_of_heaven),4,68,
+ichimatsu_shiro,1,68,
+ice_block,0,68,
+i_am_homeko,1,68,
+hyuuga_takashi,1,68,mame_(pinkhair)
+hyuga_zen,1,68,
+hwansang_jungdog,1,68,
+huoji_(wonderturkey),1,68,haha1569960563
+hrid_(fire_emblem),4,68,hrid_(fire_emblem_heroes)
+hoshi_kubi,1,68,
+horizontal_comic,0,68,
+homare_(homaredai),1,68,homaredai
+hisayaki_kyuu,1,68,
+hiroshix31,1,68,
+hiokirasu,1,68,
+hinanawi_tenshi_(cosplay),0,68,
+hinamatsuri_(manga),3,68,
+himuro_ayame,4,68,
+hiiragi_akao,4,68,
+henz,1,68,henz_(86551650)
+heineken,0,68,
+height_mark,0,68,
+heart_cheeks,0,68,
+haysaca_a._smithee,4,68,
+hayama_jun'ichi,1,68,hayama_junichi
+hatsune_miku_graphy_collection,3,68,
+hashimochi,1,68,
+haruyuki_14,1,68,
+harklight,4,68,
+hanami_dango_(zzldango),1,68,
+haku_(naruto),4,68,
+hakoneko_(marisa19899200),1,68,
+hakka_(88hk88),1,68,
+h_sueun,1,68,zelovel
+gupunetsu,1,68,
+great_fairy_(zelda),4,68,
+grand_theft_auto:_san_andreas,3,68,
+goku-chan,1,68,
+godsh0t,1,68,
+glorybringer_(granblue_fantasy),4,68,
+geolim,1,68,"gamma_(geoffrey),geoffrey_chan"
+gensoukitan,1,68,
+gamera_(series),3,68,
+gal_dolva!!,3,68,
+future,0,68,
+futaribeya,3,68,futaribeya:_a_room_for_two
+fushimimukai_hinako,4,68,
+fusataka_shikibu,1,68,
+fukuso_hilbert_kuukan,1,68,
+fujinami_ryuunosuke,4,68,
+fujima_(k114),1,68,
+fuji_tarawi,1,68,lithiumrider
+fuenyuan,1,68,
+fruits_fulcute!,3,68,
+francisca_(kirby),4,68,
+fox_wife_(batta_(kanzume_quality)),4,68,
+fossa_(kemono_friends),4,68,
+flower_anklet,0,68,
+feathered_dragon,0,68,
+fbi,0,68,
+family_guy,3,68,
+erdtree_(elden_ring),0,68,
+elmerulia_fryxell,4,68,
+elliot_leucosia,4,68,
+elevator_operator,0,68,"elevator_attendant,elevator_girl"
+doyamona,1,68,
+doro_au,1,68,
+dongqing_zaozigao,1,68,
+dive,0,68,
+dice_gt,1,68,daisu
+diabla_(elsword),4,68,
+detached_cape,0,68,
+denjyou23,1,68,
+dena.ei,1,68,
+degenbrecher_(arknights),4,68,
+de_(deys),1,68,
+dalrye_v3,1,68,dalrye
+daikoku_osamu,1,68,
+cz2128_delta,4,68,
+cure_beauty_(princess_form),4,68,
+crystal_night_party_(idolmaster),0,68,crystal_night_party
+crimrose,4,68,
+coral_hair_ornament,0,68,
+clitoris_torture,0,68,clit_torture
+clip_(weapon),0,68,
+cinderella_(grimm),4,68,
+churi_(oxxchurixxo),1,68,
+choco-chan,4,68,
+china_moeka,4,68,
+chiliarch_(elsword),4,68,
+chieezuik,1,68,
+cheesewoo,1,68,"cheesewoo1,isaac_liew"
+chauke,1,68,
+cat's_eye,3,68,
+castella,1,68,
+cassin_(azur_lane),4,68,
+carrot_pin,0,68,
+carole_&_tuesday,3,68,
+capricorn,0,68,
+capcom_vs_snk_2,3,68,
+canada,0,68,
+c_(theta),1,68,
+bzs_(kage_no_shinobu),1,68,"kage_no_shinobu,yin_gren"
+butterfly_swords,0,68,
+burn_mark,0,68,
+bunnelby,4,68,
+botamochi_(exwelder),1,68,
+bmo,4,68,
+bluethebone_(character),4,68,
+bleachers,0,68,
+black_stripes,0,68,
+black_pajamas,0,68,
+black_hayate,4,68,
+blacephalon,4,68,
+bintz,1,68,
+biburi_(precure),4,68,
+betti_(maron),1,68,
+bespin,1,68,
+bellri_zenam,4,68,
+bbolalus,1,68,
+bb-8,4,68,
+bataan_(azur_lane),4,68,
+bass_(mega_man),4,68,"bass_(megaman),forte_(rockman)"
+bandeau_lift,0,68,
+ayano_(katou),1,68,
+ayanami_(nightfall_raiment)_(azur_lane),4,68,
+aubz,1,68,@konpeitopanic
+attenborough_cortitch,4,68,
+asortofcolorfag,1,68,
+arugeri,1,68,
+arthur_pendragon_(white_rose)_(fate),4,68,white_rose_(fate/grand_order)
+arong,1,68,
+arnval_mk2,4,68,
+armlock,0,68,
+arinotowatari,1,68,
+aries,0,68,
+archibald_(adahalt389zp),1,68,
+arc_(arc_the_lad),4,68,
+aquarius_camus,4,68,
+aqua_sleeves,0,68,
+aqua_pupils,0,68,
+april_(coyote_ragtime_show),4,68,
+aomizuan,1,68,
+anoshabu,1,68,
+announ_(kurotya),1,68,
+anne_bonny_(swimsuit_archer)_(first_ascension)_(fate),4,68,
+angel_sanctuary,3,68,
+amiba_(nerdamiba),1,68,
+amearare,1,68,
+alistar_(league_of_legends),4,68,
+alicia_(valkyrie_profile_2),4,68,
+aleikats,1,68,
+akka,1,68,
+akari_(pokemon)_(cosplay),0,68,
+airi_(akamichiaika),1,68,
+airbrush_(medium),0,68,
+aino_yumeri,1,68,
+aim-9_sidewinder,0,68,
+aili_(aliceandoz),1,68,
+ah-64_apache,0,68,
+aerlai,1,68,
+adachi_tenka,4,68,
+abeen_jhong,1,68,
+aaron_(pokemon),4,68,
+a-kiraa_(whisper),1,68,
+3j_dangan,1,68,
+144_(riesztan),1,68,
+zooming_out,0,67,zoom_out
+zel-sama,1,67,
+zb-26_(girls'_frontline),4,67,zb-26_(girls_frontline)
+zaniaii,1,67,
+yuzuha_(utawarerumono),4,67,yuzuha_(utawareru_mono)
+yuzu_(konohana_kitan),4,67,
+yuusha_masatoshi,4,67,
+yuuno,1,67,
+yuki_ahiru,1,67,
+yukemuriganmo,1,67,
+yuh,1,67,
+yua_(bokubo0806),1,67,
+yoshida_(rodeo),1,67,
+yoshi_(moco1),1,67,
+yiyu_qing_mang,1,67,
+yasuhara_roku,1,67,rokuyasuhara
+yasashii_naizou,1,67,hozonsui
+yanmaami,1,67,
+yancy_(pokemon),4,67,ruri_(pokemon)
+yamanobe_saya,1,67,mikuromono
+xylophone,0,67,
+xtears_kitsune,1,67,
+wooden_shield,0,67,
+windranger_(dota),4,67,
+windfeathers,1,67,
+weiss,4,67,
+water_tower,0,67,
+watanuki_nao,1,67,
+watanabe_atsuko,1,67,
+wasabijoyu76,1,67,
+warfarin_(casual_vacation)_(arknights),4,67,
+wanne,1,67,
+wanderlucia,1,67,wander00317_(akihirotanisi)
+walter_c._dornez,4,67,
+walrus,0,67,
+wally_(where's_wally),4,67,waldo_(where's_waldo)
+vuvuzela,0,67,
+volbeat,4,67,
+vivian_(paper_mario),4,67,
+vanir,4,67,
+vanilla_(arknights),4,67,
+uss_iowa_(bb-61),0,67,
+ushita_kaoruko,4,67,
+usami_tsuitachi,4,67,
+usada_kensetsu,0,67,
+ura-omote_lovers_(vocaloid),3,67,
+unico_kasumi,1,67,kakukaku_(atelier_wings)
+unaware,0,67,
+ultone_(neisiss),1,67,
+uchicchii,4,67,
+type_64_(girls'_frontline),4,67,type_64_(girls_frontline)
+tying_headband,0,67,
+two-tone_vest,0,67,
+turtleneck_swimsuit,0,67,
+tsukamichi_fumi,1,67,
+tsubomioka_happa,4,67,
+tractor,0,67,
+touko_56,1,67,
+tomoshiki,1,67,
+tomo-chan_wa_onna_no_ko,3,67,
+toda_jun,4,67,
+tnr_(horiko1525),1,67,
+titania_(final_fantasy),4,67,
+tirpitz_(snow-melting_summer)_(azur_lane),4,67,
+time_tunnel_(madoka_magica),0,67,
+ticktack_chicken,1,67,
+tibarn_(fire_emblem),4,67,
+the_sounds_of_autumn_(umamusume),0,67,
+the_binding_of_isaac,3,67,
+tetsujin_28-gou,3,67,
+tenjou_tsuki,1,67,
+tengen_toppa_gurren-lagann_(mecha),4,67,tengen_toppa_gurren_lagann_(mecha)
+teddy_bear_sex,0,67,
+tawara_touta_(fate),4,67,tawara_touta_(fate/grand_order)
+tashiromotoi,1,67,
+tar-21_(night_at_the_bar)_(girls'_frontline),4,67,
+tapioka_chaso,1,67,
+tape_censor,0,67,censor_tape
+tanutika,1,67,
+tane_juu-gou,1,67,
+tamen_de_gushi,3,67,
+tamako_love_story,3,67,
+tamaki_iori,1,67,aquariumtama
+tales_of_link,3,67,
+takasugi_shinsaku_(fate),4,67,
+taisen_hot_gimmick,3,67,
+sword_cane,0,67,
+swalot,4,67,
+sutei_(arece15),1,67,
+supullim,1,67,tnwjd2tkfkd
+super_saiyan_rose,0,67,
+sumi_(oyasumie),1,67,
+sugapi,1,67,
+suemitsu_dicca,1,67,
+subject_67_(helltaker),4,67,
+striped_bodysuit,0,67,
+stahn_aileron,4,67,
+squid_girl,0,67,
+sokutenkun,1,67,
+sleeveless_jumpsuit,0,67,
+slash-ex,1,67,
+size_hermitage,1,67,
+siseru_samurai,1,67,
+sirius_(white_rose)_(azur_lane),4,67,
+sigma_(mega_man),4,67,sigma
+shrinking,0,67,
+shiya,1,67,
+shiratori_serano,1,67,
+shinozaki-san_ki_wo_otashikani,3,67,
+shining_force_exa,3,67,
+shiho_(yuuhagi_(amaretto-no-natsu)),4,67,
+shia_(pita_ten),4,67,
+shenteita,1,67,
+shenmue_ii,3,67,
+shal.e,1,67,
+sex_doll,0,67,
+setzer_gabbiani,4,67,
+serina_ranshi,1,67,
+seo_haruto,1,67,
+sengoku_hime,3,67,
+sen_(daydream_53),1,67,
+seigetsu_academy_uniform,0,67,
+seafood,0,67,
+scottie_(pokemon),4,67,kei_(pokemon)
+sazanka_(kunoichi_tsubaki_no_mune_no_uchi),4,67,
+sawamura_tomoki,4,67,
+satori_(ymoy),1,67,
+sashinami_shouko,4,67,
+saotome_academy_uniform,0,67,
+santoku_knife,0,67,
+sakino_saku,1,67,
+sakamoto_kengo,1,67,s_kengo
+saka_i_hirokadu,1,67,
+saimoe,3,67,
+ryuya,1,67,
+ryans,1,67,
+ry-spirit,1,67,
+roro_(sghona10),1,67,
+robot_neoanthropinae_polynian,3,67,
+robot_dog,0,67,
+riria_(happy_strawberry),1,67,
+rin_lingsong,1,67,
+riinu_(ir-n),1,67,riinu_(pixiv50783)
+ri_qing,1,67,
+renge_(bishoujo_mangekyou),4,67,
+reijing_etrn,1,67,
+rei_(cosmic_break),4,67,zero_saber_girl
+red_bean_paste,0,67,bean_paste
+reanbell,4,67,
+rasengan,0,67,
+rappelling,0,67,
+qiuzhi_huiyi,1,67,
+promotions,0,67,
+project_fairy_(idolmaster),0,67,project_fairy
+princess_spirit,1,67,
+princess_aeolian,4,67,black-haired_girl_(wlop)
+primal_groudon,4,67,
+priest_(warcraft),4,67,
+priana,4,67,
+porsche_911,0,67,
+popii_(yuuta679),1,67,
+pol_winner,1,67,
+pokken_tournament,3,67,
+pokeyugami,1,67,
+pokemon_wings,0,67,
+poinia,1,67,
+plaid_hairband,0,67,
+pineapple_print,0,67,
+pia_(botamochinjufu),1,67,
+pet_cone,0,67,"dog_cone,elizabethan_collar"
+perlica_(arknights),4,67,
+patzzi,1,67,
+paradox_(parapa),1,67,
+panamuru,1,67,
+pamiat_merkuria_(caged_minx)_(azur_lane),4,67,
+p-nekoe,1,67,
+oyaji,4,67,
+oshiri_seijin,1,67,
+orifushi_natsumi,4,67,
+ootsuki_makoto,4,67,
+onoe_serika,4,67,
+oninamako,1,67,
+omaida_takashi,4,67,
+nyanmaru_(ememing),1,67,
+nuye,3,67,
+nozz177,1,67,
+nonohara_nyorai,1,67,
+niu_illuminator,1,67,
+nito_nazuna,4,67,
+nishitsuki_tsutomu,1,67,
+nishino_tsukasa,4,67,
+nishikasai_munieru,1,67,
+nipple_flick,0,67,
+nikaidou_shinku,4,67,
+nicca_(kid_nicca),1,67,
+nia_(fancy_sundress)_(xenoblade),4,67,
+nevin_(flyskying),1,67,
+nemuro_nao,1,67,
+neko_atsume,3,67,
+natsuzora_kanata,3,67,
+natsume_(decadence),4,67,
+national_football_league,3,67,
+naruto:_road_to_ninja,3,67,
+naosuke_(morioka_shachuu),1,67,
+nanju_bami,1,67,s1145
+nande_koko_ni_sensei_ga!?,3,67,
+nanae,1,67,
+namakura_neo,1,67,
+naltal,1,67,
+naked_kappougi,0,67,
+nagare_yoshimi,1,67,
+nagami_suzuka,4,67,
+naarann,1,67,
+myaaco,1,67,
+murata_himeko_(blood_rose),4,67,
+moyo_(amaniwa),1,67,
+mountain_tim,4,67,
+mottsun,1,67,
+morinaga_korune,1,67,
+mori_hikiko,4,67,
+moon_uniform_(houseki_no_kuni),0,67,
+momose_hisashi,1,67,
+mohya,1,67,
+mochizou,1,67,
+mobu_45,1,67,
+mlynar_(arknights),4,67,
+mizuno_(soutaman),1,67,
+mitsubishi_motors,0,67,
+mitsubachi_koucha,1,67,
+mio5,4,67,
+minj_kim,1,67,
+minior_(core),4,67,
+mihira_(tainosugatayaki),1,67,
+midiman,1,67,
+mhg_(hellma),1,67,
+mesu_nie_onna_kyoushi,3,67,
+meriko,1,67,meriko_(meri_com25)
+meracle,1,67,
+mechari,1,67,amulet1998
+mazda_rx-7,0,67,
+maumen,1,67,
+matsura_ichirou,1,67,ichiro_matsura
+mata-aro,1,67,
+maru_(cookie),4,67,
+marie_(sister_princess),4,67,
+manamitsu,1,67,
+manabe_itsuki,4,67,
+mamezou,1,67,
+maku_(wasabishock),1,67,
+major,3,67,
+maid_swimsuit,0,67,
+mai_(t-5),1,67,
+mahdi,1,67,
+magical_mirai_miku_(2022),4,67,magimirai_miku_(2022)
+lon'qu_(fire_emblem),4,67,ronku
+loftwing,4,67,
+little_mare,1,67,little_mea
+litchipix,1,67,
+life_is_strange,3,67,
+lewisia_aquablue,4,67,
+leo,0,67,
+lemur_ears,0,67,
+lei_lei_(cosplay),0,67,
+ledian,4,67,
+leaf_(studio),3,67,
+lawrence_(shiro_seijo_to_kuro_bokushi),4,67,
+lavender_quartz,3,67,
+kushina_anna,4,67,
+kusakabe_misuzu,4,67,
+kuryuu_kohaku,4,67,
+kurusu_natsume,4,67,
+kurosu_gatari,1,67,ac_butsupa
+kurome_(akame_ga_kill!),4,67,
+kuroiwa_yuuki,4,67,
+kuroba_aki,1,67,
+kuro_minamo,1,67,
+kurenaidahlia,1,67,
+kurattes,1,67,
+kurafuji_sachi,1,67,
+kupocun,1,67,
+kunisaki_rena,4,67,
+kubota_rin,4,67,kubota_(girls_und_panzer)
+kotikomori,1,67,
+korandamu,1,67,
+kooji_(macoji),1,67,macoji
+kokonoha_mikage,1,67,
+koikeya,1,67,
+koga_tomoe,4,67,
+kirishima_kanna,4,67,
+kirihara_misaki,4,67,
+kinzoku_bat,4,67,metal_bat
+kindaichi_shounen_no_jikenbo,3,67,
+kimi_no_iru_machi,3,67,
+ki_(mxxxx),1,67,
+kellymonica02,1,67,
+keis_(locrian1357),1,67,
+kechin_(oreteki18kin),1,67,oreteki18kin
+kazuto_san,1,67,
+kazuhito_(1245ss),1,67,
+kazanari_genjuurou,4,67,
+kayano_kaede,4,67,
+katsuragi_misato_(cosplay),0,67,
+kasappi,1,67,
+karita_(kali_lgk),1,67,kali_lgk
+kare_(0621utak),1,67,
+kana_(user_rkuc4823),1,67,
+kamiya_hiroshi,4,67,
+kamidori_alchemy_meister,3,67,
+kamen_rider_2,4,67,
+kaleidomoon_scope,0,67,
+kaku_yone,1,67,
+kaio_(watagami),1,67,
+kaie,1,67,
+kaidou_(one_piece),4,67,
+kagari_atsuhiro,4,67,
+kaga_(white_fox's_new_year)_(azur_lane),4,67,kaga_(white_fox's_new_year_greetings)_(azur_lane)
+kabun_(suzuna_jct),1,67,
+juban,0,67,
+joh_pierrot,1,67,
+jissouseki,4,67,
+jijo_(kakitama),4,67,
+jiji_(381134808),1,67,
+jegan,4,67,
+jay_xu,1,67,
+jarv,1,67,
+jacob_dream_world,1,67,
+iwaki_kouji,1,67,
+itsumoto_hiroharu,1,67,
+isekai_meikyuu_de_harem_wo,3,67,harem_in_the_labyrinth_of_another_world
+iris_libre_(emblem),0,67,
+ip,1,67,
+io_(io_oekaki),1,67,
+inu_chikushou,1,67,
+inu8neko,1,67,
+innes_(fire_emblem),4,67,
+inga,4,67,
+ina_(inadiary),1,67,
+impressionism,0,67,
+imai_nobume,4,67,
+ildy,1,67,
+iki_hiyori,4,67,
+iga_(okame_nin),4,67,
+ieufg,1,67,
+icetea,3,67,
+ibuki_hasu,1,67,ibuki_(pixiv454256)
+hunter_(girls'_frontline),4,67,hunter_(girls_frontline)
+hunehoura,1,67,
+hoshino_hitsuki,1,67,ninn
+hoshikuzu_pan,1,67,omochi_(glassheart_0u0)
+horse_head,0,67,
+honeymilk0252,1,67,
+hirata_katsuzou,1,67,hirata_katsuzo
+hiraga_daidai,1,67,
+hinase_haruka,1,67,
+hikari_(haibane),4,67,
+hijiri_byakuren_(cosplay),0,67,
+hido_(meori_apu_da),1,67,luimia
+henry_townshend,4,67,townshend_henry
+helen_roro,1,67,
+heart_wings,0,67,
+head_between_knees,0,67,
+hbb,1,67,
+hazuki_kurumi,4,67,
+hatsu_(first_snow),1,67,
+hasumi_takashi,1,67,
+harvest,0,67,
+haruhikohiko,1,67,
+haru_(citron_citron),1,67,harusan
+haobuguniao,1,67,
+han_solo,4,67,
+hami_yura,1,67,
+hamakaze_(azur_lane),4,67,
+hakutaku_(hoozuki_no_reitetsu),4,67,
+hako_momiji,1,67,+5cm
+hajime_(kin'you_club),1,67,hajime_(kinyou_club)
+hachi_(orange),1,67,
+guilmon,4,67,
+grozny_(azur_lane),4,67,
+grimay,1,67,
+grado_labs,0,67,
+goushou,1,67,
+gotcha!_boy_(pokemon),4,67,
+gotagotay,1,67,
+gorudazo,1,67,
+gorigo,1,67,
+gokou_hinata,4,67,gokou_ruri's_middle_sister
+goki_buri,1,67,
+go-lurk,1,67,
+girutea,1,67,
+giorno_giovanna's_pose_(jojo),0,67,
+gigalith,4,67,gigaiath
+gia_kon,1,67,
+ghost_in_the_shell:_sac_2045,3,67,
+gekato,1,67,
+gallerian_marlon,4,67,
+gala_(16901040),1,67,kyuu_(16901040)
+future_studio_(artist),1,67,
+futaba_tsukushi,4,67,
+furui_suguri,1,67,kansora
+fumikiri,1,67,
+fukano_youichi,1,67,
+fujioka_toki,1,67,toki_shirazu
+fujimon,1,67,
+fujikido_kenji,4,67,
+fudatsuki_no_kyouko-chan,3,67,
+from_hat_trick,0,67,
+flower_(gynoid_talk),4,67,v_flower_(gynoid_talk)
+floodlights,0,67,
+fiddlesticks,4,67,
+female_warrior_(disgaea),4,67,
+exa_(koyuru),1,67,
+ero_zemi,3,67,
+ensinen,1,67,
+enoko_(zqfebi),1,67,
+emuchi,1,67,
+emile_bertin_(azur_lane),4,67,
+emil_nekola,4,67,
+ells,1,67,
+elf_(ii_orc_no_hi),4,67,
+ekokuice,3,67,
+eeyasu,1,67,
+ecoco,4,67,
+eat0123,1,67,
+dutch_flag,0,67,
+drawstring_bag,0,67,
+drasna_(pokemon),4,67,dracaena_(pokemon)
+doughnut_hair_ornament,0,67,donut_hair_ornament
+doubutsu_sentai_zyuohger,3,67,
+dia_(world_flipper),4,67,
+deed_(nanoha),4,67,
+dancer_2_(sekaiju),4,67,
+daikuuji_ayu,4,67,
+daiginjou,4,67,
+daicon,3,67,
+cyclops_(x-men),4,67,
+cutter_(arknights),4,67,
+cunt_punt,0,67,
+crossbone_gundam_ghost,3,67,
+crescentia_fortuna,1,67,"crescentia,nayuru"
+crayfish,0,67,
+cotta,1,67,
+cooking_idol_ai!_mai!_main!,3,67,"ai!_mai!_main!,cooking_idol_ai!_mai!_main,cooking_idol_ai_mai_main"
+cloritin,1,67,
+christine_(arknights),4,67,
+chouon_senshi_borgman,3,67,sonic_soldier_borgman
+chocolate_on_legs,0,67,
+chinese_hat,0,67,
+chiha_(abo_ecm_mk25),1,67,
+chieru_(school_festival)_(princess_connect!),4,67,
+chelsea_(akame_ga_kill!),4,67,
+checkered_bra,0,67,
+chariki,1,67,
+chair_tipping,0,67,
+cerecere_(sailor_moon),4,67,
+caron_(rall),4,67,
+cao_hong_anh,1,67,
+camel_ears,0,67,
+cala_t_maki_72,1,67,
+c@rbon,1,67,
+bun-o,1,67,
+bowling_alley,0,67,
+botan_m,1,67,
+borockman,1,67,
+blueman,1,67,
+blue_lock,3,67,
+blue_(among_us),4,67,
+blade_ride,1,67,
+black_mage_(fft),4,67,wizard_(fft)
+berry_jou,1,67,
+bard_(sekaiju),4,67,troubador_(sekaiju)
+banxuan_c2ka,1,67,"2429144768,ban_xuan"
+banglinh1997,1,67,
+b_suke,1,67,
+azusagawa_kaede,4,67,
+ayuto,1,67,
+astor_alexander,1,67,
+ash_(fire_emblem),4,67,
+ao_oni,3,67,
+anitore!_ex,3,67,
+anice_farm,4,67,
+angry_sex,0,67,
+angelina_kudou_shields,4,67,
+angelan,4,67,
+ane,1,67,
+andrew_kreiss,4,67,grave_keeper_(identity_v)
+anakaris,4,67,
+amripo,1,67,
+amatsuki_rei,1,67,
+alphabet,0,67,
+alicecrazy,1,67,
+alcxome,1,67,
+akiae_(hayj14),1,67,
+akeiro_kaikitan,3,67,
+aizen_(housamo),4,67,aizen_(tokyo_houkago_summoners)
+aito_(indigorabbit),1,67,indigorabbit
+aitanikofu,1,67,
+aisora,1,67,
+aion_kiu,1,67,
+after_handjob,0,67,
+aero_(mega_man),4,67,aero
+adjusting_mask,0,67,
+ace_combat_5,3,67,
+aburaya_tonbi,1,67,
+7aka_ne11,1,67,
+695_(mukuko),1,67,
+3x3_eyes,3,67,
+3838383,1,67,
+35,1,67,
+0208ramune,1,67,
+zuikaku_(kancolle)_(cosplay),0,66,
+ziogon,1,66,
+zibun_owl,1,66,
+zhixie_jiaobu,1,66,
+zanunoneko,1,66,
+zanshi,1,66,
+yuzuno_kaori,1,66,
+yuzu_gin_(pika97),1,66,
+yuufreak,1,66,
+yuu_(yu0221f),1,66,
+yunagi_(arukumaruta),1,66,
+yuna_(rutera),1,66,
+yuka_yukiusa,1,66,
+yuasa_akira,1,66,
+yts_takana,1,66,
+youkan_(tako),1,66,
+yoshihara_maito,1,66,
+yori_(princess_connect!),4,66,kazemiya_yori
+yomotsuka_tsukasa,1,66,
+yeurei,1,66,
+yazawa_kokoro,4,66,
+yasiromann,1,66,
+yasai_yuuki,1,66,
+yan531,1,66,
+yamashio_maru_(kancolle),4,66,
+xm8_(girls'_frontline),4,66,xm8_(girls_frontline)
+xiao_ren,1,66,
+xaxak,1,66,
+xaldin,4,66,
+wucanming,1,66,
+wlper,1,66,
+wing_gundam,4,66,
+war_of_the_visions:_final_fantasy_brave_exvius,3,66,
+vietnamese_text,0,66,vietnamese
+utsumi_erice_(mission_start),4,66,utsumi_erise_(mission_start)
+uso-kun,4,66,
+unyl-chan,4,66,
+unownglyphics,0,66,
+unown_h,4,66,
+uni_(ieatpockey),1,66,
+unfezant,4,66,
+umitsubame,1,66,
+ui_(rot),1,66,semaru
+uho_(uhoyoshi-o),1,66,
+uguisu_(happy_turn),1,66,
+ugg_boots,0,66,
+ueng,1,66,
+u4284g,1,66,
+type_74,0,66,
+twomoon,1,66,
+tsuu_(tu-3),1,66,
+tsurugi_ai_(seikan_hitchhiker),1,66,
+tsukishima_shizuku,4,66,
+tsukishima_koko,4,66,
+tsuki_tsuki!,3,66,
+triptych,3,66,
+transformers_shattered_glass,3,66,
+toyasu_aina,1,66,
+totororo,1,66,
+toryuu,1,66,
+toramaru_shou_(cosplay),0,66,
+tora_(ushio_to_tora),4,66,
+toei_animation,3,66,toei
+to-den_(v-rinmiku),1,66,
+tko_(kkk66),1,66,
+tino_(ikeuchi_tanuma),4,66,
+throwing_person,0,66,
+the_fool_(tarot),0,66,
+teru_sakura,1,66,
+tenko_(yuureidoushi_(yuurei6214)),4,66,
+tengu_nouzu,1,66,
+tenchi_muyou!_ryou-ouki,3,66,
+team_rainbow_rocket_grunt,4,66,
+taotao,1,66,
+tantanmen72,1,66,
+tango,0,66,
+tanaka_hitoriaruki,1,66,
+tama_(speedgrapher),1,66,
+takigraphic,1,66,
+takano_suzu,1,66,
+takanami_kai_ni_(kancolle),4,66,
+taiyou_gakuen_uniform,0,66,
+taiga_shinjirou,4,66,taiga_shinjiro
+tadpole_tail,0,66,
+tachibana_hinano_(vtuber),4,66,
+sutekina_awa,1,66,rotalasp
+suna_co,1,66,marei_(mercy)
+summoner_(league_of_legends),4,66,
+sumisuzu,1,66,
+sumeshi_(ambivalince),1,66,
+sugina_fujitaka,1,66,
+strike_cannon,4,66,
+straw_(yokubou_hiroba),1,66,
+stone_(shirokanipe_ranran),1,66,
+stocking_(psg)_(cosplay),0,66,
+standby,1,66,
+stage_of_magic_(idolmaster),0,66,stage_of_magic
+spritzee,4,66,
+spaghetti_and_meatballs,0,66,
+sonsaku,4,66,
+sitting_on_books,0,66,
+sir_arthur_(makaimura),4,66,
+sinister,0,66,
+single_shoulder_pad,0,66,
+sindre,1,66,
+sima,1,66,
+sill_plain,4,66,
+shougi_(116),1,66,syougi116
+shooting428star,1,66,
+shiwasuzuki,1,66,
+shiranui_(wasuresateraito),1,66,
+shionosuke,1,66,
+shino_duka,1,66,
+shinkaisoku,1,66,
+shinebell,1,66,
+shin_ultraman,3,66,
+shin_sangoku_musou_6,3,66,
+shimeko,1,66,niji_no_saki
+shide_kouri,1,66,
+shen_li,1,66,
+sheep_(kemono_friends),4,66,
+shacttainw,1,66,
+senjouhara_nira,1,66,
+seal_script,0,66,
+santa_claus_(chainsaw_man),4,66,
+samuraig,1,66,
+same_no_fukahire,1,66,
+sam_porter_bridges_(cosplay),0,66,
+sakurazari_hotori,1,66,
+sakurano,1,66,
+sakura_hitsuji,1,66,
+sakura_akami,1,66,
+sakura_(39ra),1,66,
+saklo,1,66,
+sake_dong,1,66,
+ryuu_(breath_of_fire_iv),4,66,ryu_iv
+ryushin,1,66,
+rune_factory_1,3,66,
+ruizu_(takakisan503),1,66,
+rotating_light,0,66,
+ring_411,1,66,
+rindoriko,1,66,
+rilex_lenov,1,66,
+resident_evil_7,3,66,
+reiji-rj,1,66,
+reia_hana,1,66,
+recri,4,66,
+ranka_lee_(cosplay),0,66,
+rakuga_kiya,1,66,
+rakku_(10219563),1,66,
+raichi_(ddq0246),1,66,
+racing_miku_(2015),4,66,
+purple_sweater_vest,0,66,
+purple_hood,0,66,
+puni_puni_handmaid,3,66,
+protagonist_(love_and_producer),4,66,
+pretty_sammy_(character),4,66,
+popful_mail,3,66,
+pokemon_ranger_1,3,66,
+placemat,0,66,
+pixiv_trainer,3,66,
+pino_(jashin-chan_dropkick),4,66,
+pillo,1,66,
+pigeon_pose,0,66,
+pi_tayuko,1,66,
+peter_(gvb),1,66,
+penelope_(hathaway's_flash),4,66,
+patterned_hair,0,66,
+pandora_(re:zero),4,66,
+pandaki_(aki),1,66,
+panda_hero_(vocaloid),3,66,
+others,1,66,
+osuzu_akiomi,1,66,
+ornate_armor,0,66,
+ori_(yellow_duckling),1,66,
+ore_no_kome,1,66,
+ookami_kodomo_no_ame_to_yuki,3,66,
+oni_noodle,1,66,
+onanie_master_kurosawa,3,66,onani_master_kurosawa
+omura06,1,66,
+olivine_(nu_carnival),4,66,
+ohizumi_daisaku,1,66,
+ohagi_(ymnky),1,66,ohagi_(pixiv43285)
+off-shoulder_coat,0,66,
+oekaki_taro,1,66,
+nse,1,66,
+nora_ichigo,1,66,
+nooca,1,66,
+noire_kooshe,4,66,
+noeru_(putty),1,66,
+nmz_(namazu),1,66,
+nishina_hima,1,66,
+nishikiori_jin,1,66,
+nine_alpha,4,66,
+nikaidou_yuzu,4,66,
+nightmare-doom,1,66,
+niedersachsen_military_uniform,0,66,
+nicola_(granblue_fantasy),4,66,
+nico-mo,1,66,
+neziren14,1,66,
+nero_(nilu),1,66,
+nene_(10575936),1,66,
+nekozawa_yukari,1,66,
+negi_suppository,0,66,
+nefrubi,1,66,
+naye,1,66,
+naokado,1,66,
+nanaminn,1,66,
+namagaki_yukina,1,66,
+nakareki,1,66,
+nakane_nata,1,66,
+naji_yanagida,1,66,hako_(mypixid)
+nagishy,1,66,
+mystra77,1,66,
+mutual_breast_sucking,0,66,
+muimui,1,66,
+mugishima_orie,1,66,
+mugen_(samurai_champloo),4,66,
+mr_h.l.,1,66,
+motoi_(spieler),1,66,yoku28
+morichika_shuuto,1,66,
+mooning,0,66,
+mono_(freerotary),1,66,loyalists
+monet_(one_piece),4,66,
+momoyama_nozomu,1,66,
+momosuke_(ishakry),1,66,
+momonosuke_(u-ma991028),1,66,momo_nosukeee
+momoka_(blue_archive),4,66,
+momijigari,1,66,momiji_gari
+momigara_(mmgrkmnk),1,66,
+mogullaz,1,66,
+miyashita,4,66,
+miyanome,1,66,
+mixflavor,1,66,
+mito_tsubaki,1,66,
+mink_(dragon_half),4,66,
+minagokoro,1,66,
+millennium_ring,0,66,
+milk_tea,0,66,
+mikuriya_jin,4,66,
+midou_(grk12138),1,66,
+midori_(fire_emblem),4,66,midoriko_(fire_emblem_if)
+miclot,1,66,
+michael_wazowski,4,66,
+metal_man,4,66,metalman
+mepple,4,66,
+meno,1,66,
+menma_kozo,1,66,
+menma222,1,66,
+meng_xiao_jiong,1,66,
+memories_off_1,3,66,
+memai,1,66,
+meltryllis_(fate)_(cosplay),0,66,
+meina_(atlanta),4,66,
+megurumiru,1,66,
+mega_man_x8,3,66,rockman_x8
+medjed_(mythology),4,66,
+matsukaze_yukiji,1,66,
+matoimaru_(arknights),4,66,
+matoi,0,66,
+master_5_(housamo),4,66,master_5_(tokyo_houkago_summoners)
+masrur,4,66,
+mario_kart_8,3,66,
+mario_grant,1,66,
+marekamico,1,66,"mare_(umikamiko),umika35"
+malva_(pokemon),4,66,pachira_(pokemon)
+makimura_miki,4,66,
+maid-san_wa_taberu_dake,3,66,
+mai_(avatar),4,66,
+magrona,4,66,
+magic_xiang,1,66,
+maetaku,1,66,
+mabataki,1,66,
+ma2acworks,1,66,
+lyseria_christaria,4,66,
+lucy_(pokemon),4,66,azami_(pokemon)
+lucian_(pokemon),4,66,goyou_(pokemon)
+lotus_root,0,66,
+loose_pants,0,66,
+liss_meier_(koyashaka),4,66,
+lisa_(pso2),4,66,
+light_(luxiao_deng),1,66,
+lexaeus,4,66,
+leo_whitefang,4,66,
+lemming_no_suana,1,66,
+laura_rolla,4,66,
+lanchester_smg,0,66,
+lance_(lancelliu),1,66,
+lana_(fire_emblem),4,66,
+laffey_(white_rabbit's_oath)_(azur_lane),4,66,
+kyashii_(a3yu9mi),1,66,
+kuzuryuu_amane,4,66,kuzuryu_amane
+kuze_shizuka,4,66,
+kutta,1,66,
+kurumi_nui,4,66,
+kurozu,1,66,
+kuroshiroemaki,1,66,
+kuroi-tsuki,1,66,
+kurihara_chiyo,4,66,
+kurigura_(sketch_san),1,66,
+kumasawa_chiyo,4,66,
+kukiha,1,66,
+kujira_gunsou,1,66,
+kotori_(cheerleader)_(blue_archive),4,66,
+kotomine_risei,4,66,
+koro_(tyunnkoro0902),1,66,
+kong_lang_(skywave),1,66,
+kondoru,1,66,
+komowata_haruka,1,66,
+komatsu_(sakanae),1,66,
+koji_(kojikojimdw),1,66,
+kitamura_sora,4,66,
+kissing_eye,0,66,eye_kiss
+kishibe_ayaka,4,66,
+kisaragi_yuu_(re:lucks),1,66,
+kiramashi_(satsujinki),1,66,
+kian,1,66,
+ketopon,1,66,gatakigi_gama
+kengan_ashura,3,66,kengan_ashura_zero
+keiya,1,66,
+kazoku_game,3,66,
+kate_(idolmaster),4,66,
+kasandra_(xenoblade),4,66,kasane_(xenoblade)
+karoine,1,66,
+kanaka,4,66,
+kamoi_(kancolle)_(cosplay),0,66,
+kamen_rider_kuuga_(ultimate_form),0,66,
+kamei,1,66,
+kamado_(pokemon),4,66,denboku_(pokemon)
+kama_iruka,1,66,
+kakenari,1,66,
+kakashichi,1,66,sapta
+kajiya_kurogane,4,66,"kurogane_(housamo),kurogane_(tokyo_houkago_summoners)"
+kaiman,1,66,
+kai_tomohisa,1,66,
+kagalin,1,66,
+kabane_(follabi),1,66,been_dead_long
+kab00m_chuck,1,66,kaboom-chuck
+justeeeeth,1,66,
+jun'you_maru,1,66,junyou_maru
+joshi_kousei_rich_thots,3,66,
+joseph_joestar_(young)_(cosplay),0,66,
+joeychen,1,66,
+jk_bitch_sannin_musume!,3,66,
+jin_yuuichi,4,66,
+jeanne_d'arc_alter_(mystery_treasure)_(fate),4,66,jeanne_d'arc_(alter)_(mystery_treasure)_(fate)
+ivan_the_terrible_(fate),4,66,ivan_the_terrible_(fate/grand_order)
+iskandar_(sensha_otoko)_(fate),4,66,
+ishida_baru,1,66,
+isekai_shokudou,3,66,
+irisviel_von_einzbern_(halloween_princess),4,66,halloween_princess_(fate/grand_order)
+iris_(en'en_no_shouboutai),4,66,
+iranon_(new_iranon),1,66,
+io_enishi,1,66,
+inoue_haruka_(haruharu210),1,66,
+inaba_meguru,4,66,
+implied_murder,0,66,
+imasogari,1,66,
+imada_kozue,1,66,
+iijima_renka,4,66,
+ii_(ayanepuna),4,66,
+igunuk,1,66,
+ichiko_(ichi),1,66,
+ichihime,4,66,
+ichihara2929,1,66,
+hscatter,1,66,
+hrtyuk,1,66,
+houjou_yutori,1,66,
+holding_snowball,0,66,
+holding_jug,0,66,
+hiromumaru,1,66,hipy_(image_oubliees)
+hiro_(725611),1,66,
+hino_shinnosuke,1,66,
+hino_hinako,1,66,hino7co
+hilda_(beelzebub),4,66,
+hikap,1,66,
+hekiten,1,66,
+havoc-chan,4,66,
+hattori_heiji,4,66,
+haruto_(hirokazu1001),1,66,
+harusabin,1,66,
+harukanaru_toki_no_naka_de_3,3,66,
+haruka_ni_aogi_uruwashi_no,3,66,
+haruhitooo,1,66,
+hara_kazuhiro,1,66,
+hanakuso,1,66,
+half-nightmare,0,66,
+hakumei_(hakumei_to_mikochi),4,66,
+haaselia,4,66,
+gun_in_mouth,0,66,
+great_mazinger,3,66,
+goji_(five_clock),1,66,takenaka_koudai
+gods_(1073337800),1,66,
+goatman_(umineko),4,66,
+ginnoturu,1,66,
+giganticbuddha,1,66,
+giga_mermaid,4,66,
+ghost_rule_(vocaloid),3,66,
+ghast,4,66,
+ggubii0225,1,66,
+georgia_(pokemon),4,66,langley_(pokemon)
+geno_(mario),4,66,
+genda,1,66,
+gemi_ningen,1,66,"geminingen,naugrim2875"
+gekijigen_tag:_blanc_+_neptune_vs_zombie_gundan,3,66,megatagmension_blanc_+_neptune_vs_zombies
+gasper_vladi,4,66,
+garland_(ff1),4,66,
+gang_road_joker,3,66,
+g_home,1,66,
+fuyukawa_motoi,1,66,
+fujitaka_(akasora),1,66,
+fujita_canaria,4,66,
+fujifuji924,1,66,
+frilled_underwear,0,66,
+freya_(valkyrie_profile),4,66,
+frankseven,1,66,
+feather_print,0,66,
+f4u_corsair,0,66,
+f-tani,1,66,
+externally_piloted_mecha,0,66,
+esuthio,1,66,
+estonia_(hetalia),4,66,
+eruka_frog,4,66,
+empty_x_embryo,3,66,
+ellias_ainsworth,4,66,
+east_german,0,66,
+ears_up,0,66,
+dusty_heaven,1,66,
+dummy,0,66,
+drruraguchi,1,66,
+dragon_knight_(dota),4,66,davion_(dota:dragon's_blood)
+domco,1,66,
+doku_sasori,1,66,
+doctor_zexxck,1,66,doctorzexxck
+djmax_technika,3,66,dj_max_technika
+dima_(girls'_frontline),4,66,dima_(girls_frontline)
+dilapidated,0,66,
+desspie,1,66,
+denfunsan,1,66,
+deis,4,66,
+death_star,0,66,
+db_(dokidoki!_precure),4,66,"db_(precure),makoto's_manager_(dokidoki!_precure)"
+daxz240r,1,66,
+danshi_koukousei_ga_mahou_shoujo_ni_naru_hanashi,3,66,
+danish_flag,0,66,
+dancho_(danch),1,66,
+dal-gi,1,66,
+daicon_bunny_girl,4,66,
+daichan_mona,1,66,
+d-kureta,1,66,
+cyrano,1,66,
+cyan_(among_us),4,66,
+cyaca_ab,1,66,
+cut_man,4,66,cutman
+cup6542,1,66,
+creeeen_jjang,1,66,
+covering_navel,0,66,
+couzone,1,66,
+cornelius_(odin_sphere),4,66,
+constantia_s2,4,66,
+collair_(cono),1,66,
+cloud_background,0,66,
+class_change,0,66,
+choking_on_object,0,66,"choke,choking"
+chocolate_(jitong),1,66,
+chigusa_kasumi,4,66,
+cheonyeon-hi,1,66,
+chen_gong_(fate),4,66,
+charlotte_katakuri,4,66,
+charlotte_corday_(swimsuit_caster)_(first_ascension)_(fate),4,66,
+chaos_code,3,66,
+chakuma_(yiyh1468),1,66,
+cat_and_rabbit,1,66,
+canvas_(cocktail_soft),3,66,
+caesty,1,66,
+butterfly_background,0,66,
+brups_tv,1,66,
+brown_headband,0,66,
+break_blade,3,66,bureiku_bureido
+bonsly,4,66,
+bokuso,1,66,
+bokujou_monogatari:_waku_waku_animal_march,3,66,harvest_moon:_animal_parade
+bleach:_zanpakutou_ibun_hen,3,66,
+black_wyrm_(last_origin),4,66,black_wyrm_s9
+black_hood,0,66,
+black_bull_(emblem),0,66,
+binzoko_megane_(san-inch),1,66,
+bianco_(mapolo),1,66,
+ben_10:_alien_force,3,66,
+bellows_camera,0,66,
+beige_gloves,0,66,
+beehive,0,66,
+beegle,1,66,
+beast_ball,0,66,
+ball_(gundam),4,66,
+baba_kanade,1,66,
+azurda_(xenoblade),4,66,seiryuu_(xenoblade)
+azuman,1,66,
+ayuzawa_misaki,4,66,
+ayuhara_hiiro,1,66,
+ayamiya_fumi,1,66,
+avocado,0,66,
+asuna_(i_luv),1,66,
+asumi_kana,4,66,
+astesia_(starseeker)_(arknights),4,66,
+ashinano_hitoshi,1,66,
+asatte_no_houkou,3,66,living_for_the_day_after_tomorrow
+artisticjinsky,1,66,
+arina_nary,1,66,nariann
+arihara_ema,1,66,
+archer_(fft),4,66,
+arabic_text,0,66,arabic
+aoneco,1,66,
+anrakutei_kukuru,4,66,
+announcement,0,66,
+angkor_(elsword),4,66,
+angelic_layer,3,66,
+angel_(drag-on_dragoon),4,66,angelus
+ancotsubu,1,66,
+amasa-hikae,1,66,
+amano_miu,4,66,
+amakawa_akito,1,66,
+amahara_pekozaemon,1,66,
+akizuki_hakuto,1,66,
+akino_ochiba,1,66,
+akina_t,1,66,
+akatsuki_usagi,1,66,
+akatsuki_(kancolle)_(cosplay),0,66,
+akashi_(yojouhan),4,66,
+airspace,1,66,
+aimf,1,66,
+ai_wa_muteki,1,66,
+agielba,4,66,
+adjusting_hair_ornament,0,66,
+abyss_watcher,4,66,
+aa44,1,66,
+a5m,0,66,
+7t,1,66,
+1930s_(style),0,66,30s
+zxpfer,1,65,
+zjl_baiqishi,1,65,
+zion,1,65,
+zero_(ray_0805),1,65,
+yuxyon,1,65,
+yuuta_(yuuta0312),1,65,
+yuumi_(league_of_legends),4,65,
+yuuki_nona,4,65,
+yuu_(plasm),1,65,
+yurizuka_(sergeant_heart),1,65,zotaro515
+yukki_(rffcq251),1,65,
+yukitsuba_hina,1,65,
+yuki_madoka,4,65,
+yu_(bkks),1,65,
+yoshimura_kentaro,1,65,
+yaya_hinata,1,65,
+yasunao_(yasunao-z),1,65,
+yasuda,1,65,
+yani_(nokori_life1),1,65,"tonbo_(11023),yani_(pgve8433)"
+yamamoto_keiji,1,65,chouniku
+yamabushi_tengu,0,65,
+yamabuki_kasumi,4,65,
+wolf_mask,0,65,
+winchester_model_1887,0,65,
+whoopin,1,65,
+white_tabard,0,65,
+white_armband,0,65,
+whiscash,4,65,
+wakipiiiii,1,65,
+wakabayashi_ikuno,4,65,
+wa2000_(haunted_castle)_(girls'_frontline),4,65,
+vyse,4,65,
+very_long_ears,0,65,
+vanilla_(last_origin),4,65,vanilla_a1
+utaha_(blue_archive),4,65,
+ushi-oni_(monster_girl_encyclopedia),4,65,
+urokoda,1,65,
+urianger_augurelt,4,65,
+unusablenameaaa,1,65,
+unholy_sanctuary,3,65,
+umitsuki,1,65,
+umeume_(totoya),1,65,
+ueno_musashi,1,65,
+uchiwa_design,0,65,
+type_10_(tank),0,65,
+turian,0,65,
+tuqi_pix,1,65,
+tsumumi_(kandume103),1,65,
+tsukushino_mitsugu,4,65,
+tsukishiro_mona_(shiromanta),4,65,
+tsuji_yuzu,1,65,
+tsubaki_(tsubakiyasan),1,65,
+truejekart,1,65,
+transparent_bag,0,65,
+torinosukei,1,65,
+torii_earrings,0,65,
+tori_(hiyoko_bazooka),1,65,
+topadori,1,65,
+tooth_earrings,0,65,
+tokine_(maikaze),1,65,maikaze
+the_scream,3,65,
+the_north_face,0,65,
+the_caster_chronicles,3,65,
+the_boss,4,65,
+the_boogie,1,65,
+the_bible,3,65,
+tezuka_osamu_(style),0,65,
+tensei_shitara_ken_deshita,3,65,reincarnated_as_a_sword
+telepathy,0,65,
+teen_(teen629),1,65,hasewox
+team_rainbow_rocket,0,65,
+tax2rin,1,65,
+tatakau_shisho,3,65,the_book_of_bantorra
+tatakae!!_iczer-1,3,65,fight!_iczer-1
+tamukoro,1,65,
+tamasan,1,65,
+tamamo_no_mae_(sexy_bikini)_(fate),4,65,
+takashi_(calla),1,65,
+takano_chizuru,4,65,
+takanashi_misha,4,65,
+takahiro_(rikky),1,65,porinkii
+tagosaku_(tatsukiuma0329),1,65,
+tachibana_ichika,4,65,
+tabasco,0,65,
+suzushiro_atsushi,1,65,
+suzunari_arare,4,65,
+suzume_(maid-san_wa_taberu_dake),4,65,
+suzuhane_suzu,1,65,suzuha_suzu
+suzu-batsu,1,65,
+suwa_amaki,4,65,
+sumeragi_taito,4,65,
+sukuna136,1,65,
+string_choker,0,65,
+strawberry_background,0,65,
+storm_cloud,0,65,
+stirrup_footwear,0,65,
+staryume,1,65,suzuta_yume
+starbucks_siren,4,65,
+standing_on_torii,0,65,
+st.microscope,1,65,stm
+spirtie,1,65,
+soumen,0,65,
+souffle_pancake,0,65,
+sonic_adventure,3,65,
+son_gohan_(future),4,65,future_gohan
+soldier_blue,4,65,
+sokona_(sosokona),1,65,
+snail_shell,0,65,
+smoliv,4,65,
+smoke_heart,0,65,heart_of_smoke
+smash_is_for_good_boys_and_girls,0,65,
+sly,0,65,
+sloth_(animal),0,65,
+shuzen_kokoa,4,65,
+shouji_mezou,4,65,tentacole_(boku_no_hero_academia)
+shotadom,0,65,
+shirley_(fate),4,65,shirley_(fate/zero)
+shirano,1,65,shirano_(submerge)
+shining_nikki,3,65,
+shimashima_nezumi,1,65,
+shimada_sarasara,1,65,"kaede_do,mizunosan,shimada_sara"
+shima_riu,1,65,
+shichinin_no_online_gamers,3,65,
+shefi_(princess_connect!),4,65,
+shan_grila,1,65,
+seaplane_tender_water_princess,4,65,seaplane_tender_water_hime
+sawashi_(ur-sawasi),1,65,
+satou_rina,4,65,
+sasumata_jirou,1,65,
+sarugaki_hiyori,4,65,
+saotome_suzume,4,65,
+sanuki_(zigzagflamberge),1,65,fai_(zigzagflamberge)
+sanso,1,65,
+sangrde,1,65,
+sangoku_hime,3,65,
+same-san,4,65,
+sakura_yuuya,1,65,
+sakura_nitouhei,1,65,sakura_nitohei
+saimon_(tales),4,65,symonne_(tales)
+sailor_fundoshi,0,65,
+sagara_sanosuke,4,65,
+sagan_(skullgirls),4,65,
+saeki_ritsuka,4,65,
+ryuuzouji_usagi,1,65,
+ryusei2u,1,65,
+ryein,1,65,
+rusty_soul,1,65,
+rurutie_(utawarerumono),4,65,rurutie_(utawareru_mono)
+rumia_(cosplay),0,65,
+ruma_imaginary,1,65,
+rufus_shinra,4,65,
+roki_(307033),1,65,
+rocoroco,4,65,
+rico_brzenska,4,65,
+ribbon_no_kishi,3,65,
+renz_(rirene_rn),4,65,
+ren_hakuei,4,65,
+removing_coat,0,65,
+rei_(usabiba),1,65,
+reflex_sight,0,65,
+red_garter_belt,0,65,
+ranulf_(fire_emblem),4,65,
+queen_of_spades,0,65,
+q-v_(levia),1,65,
+pu-chin,1,65,
+project_diva_x,3,65,
+project_a-ko,3,65,
+princess_yan,4,65,
+poppi_(reimu_endou),4,65,
+poland,0,65,
+pokemon_breeder_(pokemon),4,65,
+play_of_the_game,0,65,
+plaid_blanket,0,65,
+pink_tube_top,0,65,
+pile_of_corpses,0,65,corpse_pile
+persona_x_detective,3,65,
+persona_trinity_soul,3,65,
+peptide,1,65,
+penki,1,65,
+penis_in_pantyhose,0,65,
+pei_(sumurai),1,65,
+patting_back,0,65,
+panty_bulge,0,65,
+palom,4,65,
+p90_(the_girl_from_b.e.l)_(girls'_frontline),4,65,
+otone,1,65,
+oroshipon_zu,1,65,
+oppaiserothicc,1,65,
+open_sign,0,65,
+onitsuka_natsumi,4,65,
+oka_yuuichi,1,65,
+oga-san,4,65,
+nullhachi,1,65,
+nuko-d,1,65,
+nozu_(thukuhuku),1,65,
+noodle_(gorillaz),4,65,
+nonaka_haru,4,65,
+nojima_minami,1,65,
+nobutake_(nobu0),1,65,nobu0
+noboru_(kamine204136),1,65,
+no_armor,0,65,
+nishiro_nya,4,65,
+ninsaki_(9saki),1,65,gallant99770
+nike_(mahoujin_guruguru),4,65,
+nestea,1,65,
+neriash,1,65,neriashzero
+neongun,1,65,
+nei,4,65,
+natsugumo_(kancolle),4,65,
+nandz,1,65,
+nanakawa_(nanasoon),1,65,
+nameta_neko,1,65,
+nakasima-syouta,1,65,
+nakamura_tatsunori,1,65,
+nagumo_tetora,4,65,
+na53,1,65,
+mythra_(xenoblade)_(cosplay),0,65,
+myao_(o3o333),1,65,
+my-otome_s.ifr,3,65,"mai_otome_s.ifr,mai_otome_sifr,my-otome_sifr"
+muuten,1,65,
+musashibo_benkei_(fate),4,65,musashibo_benkei_(fate/grand_order)
+mummification_(bound),0,65,
+mugimugigo,1,65,
+mousse_(duck)_(ranma_1/2),4,65,
+moukaku,4,65,
+mot,1,65,
+moroes,1,65,"julbakgaksii,moros"
+moro_(like_the_gale!),1,65,
+moonface,1,65,
+money-shaped_pupils,0,65,
+momochi_(orrizonte),1,65,hyaku_chi
+moira_(overwatch),4,65,
+model_building,0,65,
+mma_gloves,0,65,
+mizutama_(mao11260510),1,65,
+mizu_(dl7613),1,65,xu_rui
+mizoro_tadashi,1,65,shin_doro_sei
+miyakura_shiiha,1,65,
+miura_miki,4,65,
+mita_chisato,1,65,
+mistress_9,4,65,
+misonikomi,1,65,
+miry,4,65,
+miroku_(kyon35),1,65,kyon_(pixiv37544498)
+minis,4,65,
+minato_yu_(0514),1,65,minato_yu0
+minato_yu,1,65,
+minato_(zegapain),4,65,
+minami_kotori's_mother,4,65,
+minami_haruya,1,65,
+minagawa_yuki,4,65,
+milla_maxwell_(tox2),4,65,
+mikuning,1,65,
+mid_(gameshe),1,65,
+michael-x,1,65,mihairu
+metako_(machikado_mazoku),4,65,
+meltyrice,1,65,
+medusa_(jashin-chan_dropkick),4,65,
+medara,1,65,
+mayuri_(date_a_live),4,65,
+matsuo_hiromi,1,65,
+matamataro,1,65,
+maroppe,1,65,
+marmyadose_(fate),0,65,
+mark_iv_tank,0,65,
+marishiten,1,65,
+mario_kart_tour,3,65,
+marimo,0,65,
+mandrake,0,65,
+mana_(super_real_mahjong),4,65,
+mama_(nier),4,65,
+mako_gai,1,65,
+makishima_rin,1,65,
+makingtawawa,1,65,
+maid_ane_(maoyuu),4,65,big_sister_maid_(maoyuu)
+magna_carta_crimson_stigmata,3,65,
+maga-reimu,4,65,
+machi_kyouko,4,65,
+lydie_marlen,4,65,
+lisa_buijteweg,1,65,
+lio_(tsukuyomi-tei),1,65,
+lingmuzi,1,65,
+liking,1,65,
+librarian,0,65,
+level_up,0,65,
+leonardo_da_vinci_(active_sailor)_(fate),4,65,
+lee_(arknights),4,65,
+ledo_vassar,4,65,
+league_of_angels,3,65,
+latex_bra,0,65,
+lary,4,65,
+langrisser_ii,3,65,
+langlang,1,65,
+laguna_(granblue_fantasy),4,65,
+laceysx,1,65,serlex
+kyousuke_nanbu,4,65,nanbu_kyousuke
+kyokutei_bakin_(fate),4,65,
+kyo_(maae00),1,65,
+kurosaki_honoka,4,65,
+kuro_futoshi,1,65,
+kuro_ari_(pixiv),1,65,
+kuouzumiaiginsusutakeizumonokamimeichoujin_mika,4,65,mika_(resort_boin)
+kumatoshi,1,65,
+kumashou_(nabeyama_kaidou),1,65,
+kronie_(ouro_kronii),4,65,
+kriss_sison,1,65,
+kris_(fire_emblem),4,65,"chris_(fire_emblem:_shin_monshou_no_nazo),kris_(fire_emblem:_shin_monshou_no_nazo),my_unit_(fe12),my_unit_(fire_emblem:_shin_monshou_no_nazo)"
+kouno_harumi,4,65,
+kouchou,1,65,
+korpokkur_kne,1,65,
+korotsuke,1,65,
+kooan,1,65,
+konmamion,1,65,
+komeko_meko_(mecolate),1,65,himehi
+kokorominton,1,65,
+kohiruimaki_karen,4,65,
+kohinata_yukari,4,65,
+knight_blazer,4,65,
+klee_(genshin_impact)_(cosplay),0,65,
+kingdom_hearts_3d_dream_drop_distance,3,65,
+killjoy_(valorant),4,65,
+kilabo,1,65,
+kikkou_sadamune,4,65,
+kid_(kidocchi),1,65,
+kenji_(8zidayo),1,65,
+kaze_tachinu,3,65,the_wind_rises
+kawawa_sakurako,4,65,
+kawaoka_sachio,1,65,kawaoka_(tsuchinokome)
+katou_akatsuki,1,65,katoh_akatsuki
+katabami_(flower_knight_girl),4,65,
+karasuma_amiru,1,65,
+kanonari,1,65,
+kanoe_youshi,1,65,
+kano_(nakanotakahiro1029),1,65,
+kannonzaka_doppo,4,65,
+kannagi_tsukasa,1,65,
+kamek,4,65,
+kalifa_(one_piece),4,65,califa
+kago_(htpxr),1,65,
+kagemusya,1,65,
+kaekae,1,65,
+k.blank,1,65,"despair_(artist),kblankii"
+k-y,1,65,
+junior_(gogalking),4,65,
+juliet_capulet_(cosplay),0,65,
+jr4rt,1,65,
+jornyhail,1,65,
+jndfh,1,65,
+jintetsu,1,65,
+jenkins_(azur_lane),4,65,
+jcdr,1,65,
+izurumi,1,65,
+itsumi_mita,1,65,
+itome_(funori1),1,65,
+isshitaira,1,65,
+iriya_kana,4,65,
+iria_animi,4,65,
+intersection,0,65,
+inatomi_hibiki,4,65,
+inahori,1,65,
+imari_kurumi,4,65,
+imachi_(staccato_squirrel),1,65,
+ika_(4801055),1,65,
+ichinosenen,1,65,
+hula,0,65,
+hoshizuki_kaede,4,65,
+hoshikawa_(hoshikawa_gusuku),1,65,
+hosh,1,65,
+hootsie_(nanashi_mumei),4,65,
+honya_lala,1,65,
+holding_oar,0,65,
+hisui_(user_zvkr2432),1,65,
+hiromon,1,65,
+hinohoshi_ataru,1,65,
+hinemaru,1,65,
+himegami_kodama,4,65,
+himaya,1,65,
+hiiragi_anri,4,65,
+higashikata_tomoko,4,65,
+hichi,1,65,
+hibiscus_the_purifier_(arknights),4,65,
+heroine_(dra+koi),4,65,
+hero-san_to_moto_onna_kanbu-san,3,65,superwomen_in_love!_honey_trap_and_rapid_rabbit
+heiseikorotaisei,1,65,
+heikokuru1224,1,65,
+hear_(kpmf4732),1,65,
+headbanging,0,65,
+haya_bs,1,65,
+hatsukoi_1/1,3,65,
+hashiko_(neleven),1,65,
+haru_ichigo,1,65,
+handa_shin'ichi,4,65,handa_shinichi
+hand_in_another's_pocket,0,65,
+hanamoto_hagumi,4,65,
+hanamiya_nagisa,4,65,
+hana_(h6n6_matsu),1,65,
+hakase_satomi,4,65,
+hajimete_no_otsukai,0,65,
+haishiba_ame,1,65,tsuk8454
+haine_rammsteiner,4,65,
+hagaa,1,65,
+gxp,1,65,
+gutalalaman,1,65,
+gulliver,4,65,
+grey_feathers,0,65,
+grelxb,1,65,
+graphics_card,0,65,"gpu,video_card"
+grandyoukan,1,65,s.r.
+grandma_(cookie_clicker),4,65,
+gradient_necktie,0,65,
+gouda_takeru,4,65,
+goton_goton,1,65,
+gorilla_(kemono_friends),4,65,
+goodbye,0,65,
+godekasu,1,65,
+girls_symphony,3,65,
+gias-ex-machella,1,65,
+giantcavemushroom,1,65,
+georgios_(fate),4,65,saint_george_(fate/grand_order)
+geometrie,1,65,
+genesect,4,65,
+gemini_saga,4,65,
+garrod_ran,4,65,
+gardevoir_(fashionable),4,65,
+ganmo_(takane_lui),4,65,
+gan_balance,1,65,
+gaiking:_legend_of_daikuu_maryuu,3,65,
+gabrieltenma77,1,65,
+fuyukayui,1,65,
+futanari-sama_(mdf_an),4,65,
+furururu,1,65,
+furufuru_fugu,1,65,
+fujimura_(marina),1,65,
+fujimaru_ritsuka_(female)_(the_three_great_heroes),4,65,
+footsies,0,65,
+fokwolf,1,65,
+flowers-imh,1,65,runningpigeon73
+flit_asuno,4,65,"frite_asuno,fritto_asuno"
+fingers_to_cheek,0,65,
+fary,4,65,
+farming,0,65,
+eyepatch_pull,0,65,
+extreme_dangling,0,65,
+eve_(gundam_build_divers_re:rise),4,65,
+ero_daisuki,1,65,aizimpjh
+erica_ainsworth,4,65,
+enfuku,1,65,"fugakuhyakkei,satodai_(nicoseiga)"
+elfilin,4,65,
+eiji,1,65,
+eeshin_(eishin5584),1,65,
+eerisyn,1,65,
+edmond_dantes_(monte_cristo_selection)_(fate),4,65,monte_cristo_selection
+draculina_(last_origin),4,65,
+dra+koi,3,65,
+dota:_dragon's_blood,3,65,dota:dragon's_blood
+dolustoy,1,65,
+dolfini,4,65,
+dog_shadow_puppet,0,65,
+dodota,1,65,
+distracted_boyfriend_(meme),0,65,
+devotion,3,65,
+detached_ears,0,65,
+dekitate_evo!_revo!_generation!_(idolmaster),0,65,dekitate_evo!_revo!_generation!
+decus,4,65,
+dawn_of_the_golden_witch,3,65,
+david_hrusa,1,65,
+date_a_live:_date_a_bullet,3,65,
+dark_falz_apprentice,4,65,
+dangan_kurabu,1,65,
+dakkusu,1,65,
+dadami,1,65,
+da_qiao,4,65,
+cynthia_the_mission,3,65,
+custom_udon,1,65,
+cuntboy,0,65,
+crystal_carillon,0,65,
+cream_(cream),4,65,
+cotton_kanzaki,1,65,
+compilation,0,65,
+competition,0,65,
+compensated_molestation,0,65,
+colt_1851_navy,0,65,
+cocoa_(cocoa0191),1,65,
+citolo,1,65,
+chinanago7010,1,65,
+chikariya,1,65,
+chibitan,1,65,
+chewtle,4,65,
+charle_(fairy_tail),4,65,
+champi,1,65,avri
+chameleon_girl,0,65,
+chagu,1,65,
+cathy_graham,4,65,
+cat_earrings,0,65,
+cat_(kemono_friends),4,65,
+camouflage_panties,0,65,
+cagliostro_(halloween)_(granblue_fantasy),4,65,
+buried_stars,3,65,
+brynhildr_(swimsuit_berserker)_(first_ascension)_(fate),4,65,
+boxing_headgear,0,65,
+bolin,4,65,
+body_piercings,0,65,
+blood_on_gloves,0,65,
+bitey_(arknights),4,65,
+bishamon,4,65,
+bingansuan_jiamouren,1,65,
+bikini_jeans,0,65,
+beryl_benito,4,65,
+berezovich_kryuger_(girls'_frontline),4,65,berezovich_kryuger_(girls_frontline)
+benelli_m1014,0,65,
+beargguy_iii,4,65,
+bean_bag,0,65,
+barikios,1,65,barikiosu
+banajune,1,65,
+baiwei_er_hao_ji,1,65,henceforth93927
+bad_fanbox_id,5,65,
+bachou,4,65,
+ayaoshiro,1,65,
+ayane_(princess_connect!),4,65,houjou_ayane
+awono_nanaumi,1,65,nawoto_oota
+atago_(azur_lane)_(cosplay),0,65,
+asu_no_yoichi,3,65,
+astraea_f,1,65,
+ass_mousepad,0,65,
+asana_tsukune,1,65,
+asahi_(ge_nyu),1,65,
+asa_inu,1,65,
+as_val_(girls'_frontline),4,65,as_val_(girls_frontline)
+arusuko,1,65,
+artstation_logo,0,65,
+arnas_(yoru_no_nai_kuni),4,65,
+armadillo,0,65,
+arim0k0,1,65,
+ariaria_(netsuki),4,65,
+ariana_(pokemon),4,65,athena_(pokemon)
+aqua_capelet,0,65,
+aqua_cape,0,65,
+aqua_camisole,0,65,
+aosa_(michikusakan),1,65,
+aonoe,1,65,
+ant_girl,0,65,
+annie_(splatoon),4,65,anemo_(splatoon)
+anima_yell!,3,65,
+angela_salas_larrazabal,4,65,
+american_oppai-san,4,65,
+amatani_mutsu,4,65,
+amakasu_barley_tenji,4,65,
+aloy_(horizon),4,65,
+alice_or_alice,3,65,
+alice_(bishoujo_mangekyou),4,65,
+alexia_lynn_elesius,4,65,
+alc_(ex2_lv),1,65,
+akutoku_no_judgement_(vocaloid),3,65,
+akutagawa_manbou,1,65,
+ako_suke,1,65,
+akiyama_mio_(cosplay),0,65,
+akiwashi,1,65,superciderx
+akazawa_kureha,1,65,kurenai_(kurenai_pso)
+akamaru_(naruto),4,65,
+ajia_(otya3039),1,65,
+aji_kosugi,1,65,
+air_man,4,65,airman
+aida_taketo,4,65,
+adon_(street_fighter),4,65,
+adda,1,65,
+abineko,1,65,abicongnito
+abercrombie_(azur_lane),4,65,
+a-o_a,1,65,
+5t_(5t_000),1,65,
+3d_custom_girl,5,65,
+zui_ai_shuang_mawei,1,64,
+zoo_min,1,64,
+zetsuriinu_(kairyougata),1,64,
+zamasu,4,64,
+zakuro_(otome_youkai_zakuro),4,64,
+yuzuki_n_dash,1,64,
+yuuki_haruna,4,64,
+yungoos,4,64,
+yuna_(mega_man),4,64,yuna_(rockman_dash)
+yukimimi,1,64,
+yuki_mizore,1,64,
+yodori,1,64,
+year_of_the_dragon,0,64,
+yayoi_and_nagi,1,64,
+yashio_rui,4,64,
+yaruky,1,64,
+yamamoto_nanako,4,64,
+yahisa_tsukiko,4,64,
+yagi_(shiro_yagi),1,64,yagi_(39583320)
+xing_muhen,1,64,
+wuguno_ziran_juan,1,64,
+whitewill,1,64,
+white_glint,4,64,
+white_cane,0,64,
+whisperain_(tremble_cold)_(arknights),4,64,
+wakabayashi_isamu,4,64,wakabayashi-san_no_otouto
+vivit,4,64,
+viral1112,1,64,oxas1k
+veiny_thighs,0,64,
+utsugi_mikoto,4,64,
+usako_(usako1031),1,64,usako1031
+urushihara_hanzou,4,64,
+uouokuma,1,64,
+unyuu,4,64,
+under_bed,0,64,
+ugogogesik,1,64,
+uchako,1,64,
+tumbler,0,64,
+tthal,1,64,gawainbro
+tsukinowa_kumatarou,1,64,
+tsukinon,1,64,
+tsukimiya_ringo,4,64,
+troll,0,64,
+travis_touchdown,4,64,
+touyarokii,1,64,
+torpedo_(gad3757),1,64,
+toris,4,64,
+tooyama_saku,4,64,touyama_saku
+tomato_cyuki,1,64,
+tokinon,1,64,
+toki/,1,64,
+tojou_michiru,4,64,
+tierno_(pokemon),4,64,
+tidehunter_(dota),4,64,
+tianye_toshi,1,64,
+three-legged_race,0,64,three_legged_race
+theodor_edelbach,4,64,
+thanos,4,64,
+tengo_(maotengo),1,64,mao_ten_go
+tatsuta_(kancolle)_(cosplay),0,64,
+tasuku_(tusktouhou4),1,64,
+tapestry,0,64,
+tamaki_mitsune,1,64,
+takuto_meyers,4,64,
+takeluuu,1,64,
+takagi_mitsukuni,1,64,
+taisui_xingjun_(fate),4,64,
+tail_lights,0,64,
+taihou_(kancolle)_(cosplay),0,64,
+szzz_k,1,64,
+susukitten,1,64,
+super_novice_(ragnarok_online),4,64,
+sunflower_fairy_(touhou),4,64,
+summary,0,64,abridged
+suma_(kimetsu_no_yaiba),4,64,
+suegorou_(mousou_tokkyuu),1,64,chenge-getter
+subaru331,1,64,
+starscourge_radahn,4,64,
+stadiometer,0,64,height_rod
+srwsrx_(gp03dsrx),1,64,
+spotted_fur,0,64,
+sparrow_(artist),1,64,
+spada_belforma,4,64,
+souko_souji,1,64,
+sou_tamae,1,64,
+sory,4,64,
+sora_(suguri),4,64,
+sonia_branche,4,64,
+someoka_ryuugo,4,64,
+somemiya_suzume,1,64,
+sofusan1526,1,64,
+so_dasui1,1,64,
+smlltb,1,64,
+slaking,4,64,
+sita_(fate),4,64,sita_(fate/grand_order)
+silk_(marvel),4,64,
+sidney_(pokemon),4,64,
+shizupu,1,64,
+shirushiru_(saitou888),1,64,
+shiomachi,1,64,
+shinomiya_ayase,4,64,
+shinki_kakusei_melty_maiden,3,64,
+shibuya_rin_(cosplay),0,64,
+sharrkan,4,64,
+shao_(newton),1,64,
+senryoko,1,64,
+senno_aki,1,64,tonko(snk)
+sekaihebi,1,64,
+sawatari_miko,4,64,
+sawano_akira,1,64,
+satsuya,1,64,
+santystuff,1,64,
+sanma_(tabet_),1,64,
+sangokushi_puzzle_taisen,3,64,
+sandstorm,0,64,
+salovesy,1,64,
+salandit,4,64,
+sakuyamon,4,64,
+sakutaishi,1,64,
+sakura_kakumei,3,64,
+saco_(cgmore),1,64,
+saber_(summer_battle_clothes)_(fate),4,64,
+s_vileblood,1,64,
+ryan_tien,1,64,
+rumiak,1,64,
+rumi_(rarumi11),1,64,
+royl,1,64,
+rotting,0,64,
+rosie_(animal_crossing),4,64,
+roku_(warrock),1,64,
+roas01b,1,64,
+rio_(g_(genesis1556)),4,64,
+rinrin_(sister_princess),4,64,
+rima_(rimarip),1,64,
+rhea_(0u0),1,64,xianguang
+rest_in_peace_(phrase),0,64,
+reebok,0,64,
+red_lining,0,64,
+rebake,1,64,ribeiku
+raving_rabbids,3,64,
+rani_viii,4,64,
+rakia_(ds00309),1,64,
+rachel_shiori_guardian,4,64,
+r-wade,1,64,
+puppetjackmj,1,64,
+printemps_(love_live!),0,64,
+priest_(dq3)_(cosplay),0,64,
+power_stone,3,64,
+polar_bear_(kemono_friends),4,64,
+planted_spear,0,64,
+pipe_bomb,0,64,pipebomb
+picocopi,1,64,
+piano-alice,1,64,
+pekanpeka,1,64,
+paris_(fate),4,64,paris_(fate/grand_order)
+panzerkampfwagen_iii,0,64,
+pantyshot_through_reflection,0,64,pantyshot_(reflection)
+panties_over_clothes,0,64,
+panprika,1,64,ranobigi0820
+panikuru_yuuto,1,64,
+owari_hajime,4,64,
+overlord_(overlord80000),1,64,
+orange_cloak,0,64,
+ono_mochiko,1,64,
+omaru_(0marufestival),1,64,
+oliver_evans,4,64,
+okutomi_fumi,1,64,
+okita_souji_(hakuouki),4,64,
+ogiwara_sayu,4,64,
+off-shoulder_leotard,0,64,
+ocha_(oteaaa),1,64,mattaku_da
+nyto_adeline_(girls'_frontline),4,64,"nyto_adeline_(girls_frontline),nyto_black_(girls_frontline),nyto_obelisk_(girls_frontline)"
+nutcracker,0,64,
+nullpooo,1,64,
+nuko_miruku,1,64,
+noruren,1,64,
+nonstandard_furigana,0,64,
+noname_(metaldragonfly),1,64,
+noda_(yncoon),1,64,
+no_toes,0,64,
+nimble_fabric,0,64,
+nilan_1999,1,64,
+nijimura_kei,4,64,
+niji_(rudduf232),1,64,
+nekoyama_nae,4,64,
+nekomaru,1,64,
+neck_warmer,0,64,
+neal_d._anderson,1,64,
+natsume_k,1,64,
+natsume_hinako,1,64,
+naruta_iyo,1,64,
+naruse,1,64,
+naru_(ul),1,64,
+naotan,1,64,
+nanaly_fletch,4,64,
+namiri,1,64,
+nami_(teranen),4,64,
+namerakaweb,1,64,
+nagashiro_rouge,1,64,
+nadia_kim,1,64,
+myahogao,1,64,
+munakata_isaomi,4,64,
+mugipot,1,64,
+mugika,1,64,
+muffled,0,64,
+mt_(ringofive),1,64,
+mouthful_mode,0,64,
+morito_(sidonia_no_kishi),0,64,
+morita_yuu,1,64,tmtm24787088
+morita_gurutamin,1,64,
+moody_blues_(stand),4,64,
+momotaros,4,64,
+momomaron,1,64,
+momo_kyun_sword,3,64,
+mizuno_(pixiv31352320),1,64,
+miyukiko,1,64,
+miyako_draw,1,64,
+miyagi_ratona,1,64,
+mixed_harem,0,64,
+mitsurugi_ryouko,4,64,mitsurugi_ryoko
+miss_siamour,4,64,
+misaki_yuria,4,64,
+miranko,1,64,
+minato_shachiko,4,64,
+minashiro_orihime,4,64,
+minase_lin,1,64,
+minase_koito,4,64,
+mimizuku_(mmiganaru),1,64,
+millicent_(elden_ring),4,64,
+mikoshiba_momotarou,4,64,
+mikami_hotaka,1,64,
+midori_miyako,1,64,
+michael_trinity,4,64,
+mew_zakuro,4,64,
+mew_lettuce,4,64,
+mejiro_dober_(vacation_safir)_(umamusume),4,64,
+mejikara_scene,1,64,
+megastore_comics,3,64,
+megarisu,1,64,
+meekohopanes,1,64,
+mayuge_inu,1,64,
+matsuri6373,1,64,
+matsumoto_maya,4,64,
+master_utsushi,4,64,
+mashin_sentai_kiramager,3,64,
+maruta_kentarou,1,64,
+maruhachi_(maruhachi_record),1,64,
+marie_(dies_irae),4,64,
+maou_prier,4,64,
+manjyufroth,1,64,
+manaka_(gunjooou),1,64,manakannn
+mamono_hunter_youko,3,64,"devil_hunter_yohko,devil_hunter_youko"
+malamar,4,64,
+makamati,1,64,
+mahou_tsukai_tai!,3,64,"magic_user's_club,mahou_tsukai_tai"
+magby,4,64,
+madoromi_no_yakusoku,0,64,
+luca_angeloni,4,64,
+luan_teng,1,64,
+lottery,0,64,
+long_riders!,3,64,
+lofter_username,0,64,
+live_twin_ki-sikil,4,64,
+list,0,64,
+linmiu_(smilemiku),1,64,
+lincoro,4,64,
+lin_(hokuto_no_ken),4,64,
+licking_tail,0,64,tail_licking
+li_sushang,4,64,
+leonardo_da_vinci_(rider)_(second_ascension)_(fate),4,64,
+legs_behind_head,0,64,
+lanse_dai_mao,1,64,
+landolt_c,0,64,
+lamprey,0,64,
+lairon,4,64,
+lace-trimmed_camisole,0,64,
+kyusoukyu,1,64,
+kyouryuu_sentai_zyuranger,3,64,
+kyonyuu_fantasy,3,64,
+kusada,1,64,
+kuronosu_(yamada1230),1,64,
+kuroneko_shiro,1,64,
+kurohitsuji_lim,1,64,
+kurenai_hanpen,1,64,
+kupikuuu,1,64,
+kumatani,1,64,miimmiim3333
+kukuru_(dq8),4,64,
+kukua_(mosushi),1,64,kuroma_(atapi)
+koyubi_right,1,64,
+kousi_sirazawa,1,64,shirazawa
+konome_noi,1,64,knoy3356
+konataeru,1,64,
+kokomachi,1,64,
+koko_(kishibe),4,64,furugitsune
+kocchi_muite_baby_(vocaloid),3,64,
+kobayashi_gen,1,64,
+kneading,0,64,
+kiyohime_(swimsuit_lancer)_(second_ascension)_(fate),4,64,
+kittan_(cve27426),1,64,
+kitou_kaitai,1,64,
+kitora_(kisekinonameko),1,64,
+kisaragi_yakumo,1,64,
+kinnan,1,64,
+kimberly_ann_possible,4,64,
+ki-51_(ampullaria),1,64,99gunntei
+kazunehaka,1,64,
+kataphrakt_(aldnoah.zero),0,64,
+katahane,3,64,
+kashiwagi_yuuna,4,64,
+karyl_(real)_(princess_connect!),4,64,
+karosu_maker,1,64,"carlos_c._beltran,karosu-maker"
+karla_(kimidori3),1,64,kimidori3_karla
+karen_le_cao,1,64,
+karashi_(tou_gara_shi),1,64,
+kanzaki_hitomi,4,64,
+kanon_(ikamiso),1,64,
+kanojo_(ogino_atsuki),4,64,
+kanchuumimai,0,64,
+kanata_(kanata_onion),1,64,kanata_(pixiv1305983)
+kamippoina_(vocaloid),3,64,god-ish_(vocaloid)
+kamina_(ttgl)_(cosplay),0,64,
+kamen_rider_evil,4,64,
+kage_(ousama_ranking),4,64,
+juuoumujin_no_fafnir,3,64,
+jun_the_swan,4,64,
+jontxu,1,64,
+jinani,1,64,
+jellicent_(female),4,64,
+jean_bart_(uninhibited_bloodstone)_(azur_lane),4,64,
+jajka_(girls_und_panzer),4,64,
+jaenbba,1,64,
+izuki_(toneya),1,64,
+itsumip,1,64,
+itou_nobuhiro,1,64,"""no""_(pixiv3794),no_(pixiv3794)"
+itomi_sayaka,4,64,
+ishida_(ishida_to_asakura),4,64,
+interlocked_venus_symbols,0,64,
+indeedee_(female),4,64,
+indarias_(genshin_impact),4,64,
+implied_bestiality,0,64,
+imouto_no_okage_de_mote_sugite_yabai,3,64,
+imoichi,1,64,
+ikkei_dou,1,64,
+ikaruga_luca,4,64,
+ieiieiiei,1,64,
+idola_phantasy_star_saga,3,64,
+ichi_ka,1,64,
+ice_shaver,0,64,
+hzk,1,64,
+hyoon_(sockgyu),1,64,
+hyness,4,64,
+huazha01,1,64,
+howler_(owler),4,64,
+howa_type_64_(girls'_frontline),4,64,howa_type_64_(girls_frontline)
+hourei_tenten,4,64,
+houjou_reika,4,64,
+hoshi_no_gen,1,64,
+horiishi_horuto,1,64,
+homura_minori,1,64,homura_naru
+holiday_(pangjelly),1,64,acso
+holding_hands_is_lewd,0,64,
+hitsujisnow,1,64,
+hitaki_yuu,1,64,
+hirakata_kana,4,64,
+hinatsuru_(kimetsu_no_yaiba),4,64,
+hinata_kokage,1,64,
+himino_seika,4,64,mi-chan_(tokinohimitsu)
+hilda_(hilda),4,64,
+hieda_(hiedanoaqn),1,64,
+hibari_hina,1,64,
+heart_guitar,0,64,
+harutask,1,64,
+harusaki_nodoka,4,64,
+harunagi,1,64,
+harukaze_koucha,1,64,
+haruka_poi,1,64,
+haru_(re_ilust),1,64,
+haru_(oomr005),1,64,
+hanidebi!_honey_&_devil,3,64,
+hanasaki_kaoruko,4,64,
+han_yijie,1,64,kklaji008
+han'eri,0,64,haneri
+hamster_wheel,0,64,
+ham_na-bi,4,64,
+hachiman_(douno),1,64,
+gundam_gp-03_stamen,4,64,
+gunba_(5meters),1,64,5meters
+gumiten,1,64,
+greyface,1,64,
+green_wristband,0,64,
+greece,0,64,
+great_lungmen_logo,0,64,
+gradient_neckerchief,0,64,
+gore_(white_gore),1,64,hayataku1234
+gokurin,1,64,
+giorgio_claes,1,64,
+gingerbread_house,0,64,
+gilgamesh_(sensha_otoko)_(fate),4,64,
+ghost_(psg),4,64,
+gemuo,1,64,
+gat_(korean_traditional_hat),0,64,gat
+garrus_vakarian,4,64,
+garnet_(steven_universe),4,64,
+gamiani_zero,1,64,
+gamhwa,1,64,
+galarian_zapdos,4,64,
+gakkou_de_atta_kowai_hanashi,3,64,
+gaiidraws,1,64,
+g9_(jiiku),1,64,
+fuuna_thise,1,64,
+funikura,4,64,
+full-body_blush,0,64,
+fuku_(r-i-h-o),1,64,
+fujimaru_arikui,1,64,
+fujikusa,1,64,
+fujigakubou,1,64,
+fuji-k,1,64,
+fruit_dildo,0,64,
+fran_(reborn),4,64,
+form_code,3,64,
+fn_f2000,0,64,
+firework_background,0,64,
+fenrirr,1,64,
+eyepiece,0,64,
+extra_tongue,0,64,
+exit_tunes,3,64,
+exga,1,64,
+evinist,1,64,
+enka_(bcat),1,64,
+engacyo_(engacyo39800yen),1,64,
+emu_alice,4,64,
+empress_(dmfd),4,64,
+emperor_penguin_(kemono_friends)_(cosplay),0,64,
+elf_(lineage_2),4,64,
+eichikei_(hakuto),1,64,
+eeryuu_(2004107),1,64,
+edy_nelson,4,64,
+echigoya_takeru,1,64,
+ebi-rom,1,64,
+ebi-chan_(gawr_gura),4,64,
+easy_breezy,0,64,
+e.t.,3,64,
+dukemon,4,64,
+duffy,1,64,
+dragon_tactics,3,64,
+dr._mundo,4,64,
+dot_r,1,64,
+donkey_tail,0,64,
+dodo_(kemono_friends),4,64,
+dnf_duel,3,64,
+disembodied_tongue,0,64,magic_tongue
+dirty_pair_flash,3,64,
+diana_(sailor_moon),4,64,
+deneb_rove,4,64,
+delmin_(show_by_rock!!),4,64,
+deavor_lover,1,64,
+daze_(kagerou_project),3,64,
+date_a_live:_spirit_pledge,3,64,
+daro,1,64,
+damodar,1,64,damobelmont
+daible,1,64,
+d-boy,4,64,
+cutthroat_(akudama_drive),4,64,
+cure_earth,4,64,
+cum_on_headwear,0,64,cum_on_hat
+csy,1,64,
+crotchless_bikini,0,64,
+crop_top_lift,0,64,
+crea_rosenqueen,4,64,
+coraman,1,64,
+combattler_v_(robot),4,64,
+cojibou,1,64,
+cleaning_weapon,0,64,
+claymore_(mine),0,64,
+chuchu_(kirby),4,64,
+chuatury_panlunch,4,64,
+chrysa_(_sa0ru),1,64,yearu_(weid)
+christiane_barkhorn,4,64,
+chitose_(azur_lane),4,64,
+chirun0,1,64,
+chill_ykon,1,64,
+char_b1,0,64,
+castlevania_(netflix),3,64,
+carbink,4,64,
+can_(honkai_impact),4,64,
+cake_hat,0,64,
+buruma_removed,0,64,
+buchi_(y0u0ri_),1,64,
+bowsette_(cosplay),0,64,
+bon_(bonbon315),1,64,
+bokuya,1,64,takumi-macky
+bokkusu,1,64,
+bnahabra_(armor),4,64,
+bloodcandy,1,64,
+black_dog,0,64,
+bitter_glasse_(umamusume),4,64,
+billy_katagiri,4,64,
+big_bob_(arknights),4,64,
+bent_spoon,0,64,
+belgian_flag,0,64,
+bb-28,4,64,
+battle_spirits:_shounen_gekiha_dan,3,64,
+banonefans,1,64,
+balut_(7676i),1,64,balut-man
+b3b,1,64,
+ayer,4,64,
+ayanami_(lunar_demon)_(azur_lane),4,64,ayanami_(lunar_demon_god)_(azur_lane)
+ayama_nano,1,64,
+ayacho,1,64,
+avery_(skullgirls),4,64,
+avatar_(lineage),4,64,
+asura_fantasy_online,3,64,
+asu_hare,1,64,
+assistant_waddle_dee,4,64,
+ashita_wa_hitsuji,1,64,asitaha_hituzi
+ashe_(mega_man),4,64,ashe_(rockman)
+ash_(pixiv53802),1,64,ash_(pixiv)
+asahina_yurina,4,64,
+ariura_kanna,4,64,
+ariel_(novel),3,64,
+areaaaron,1,64,
+ao_(time-leap),1,64,
+anivia,4,64,
+anise_azeat,4,64,
+android_16,4,64,
+ame-rain,1,64,
+amaterasu_(p&d),4,64,
+alpha_(acerailgun),4,64,
+akr_et,1,64,
+akiyama_kenta,1,64,
+akitaka_takaaki,1,64,
+akashi_(sorobochi),4,64,
+akanebi,1,64,
+akagiakemi,1,64,
+akagi_(ruby-laced_beauty)_(azur_lane),4,64,akagi_(blushing_intoxication)_(azur_lane)
+akabeko,0,64,
+aizawa_ema,4,64,
+aibek,1,64,aimbek
+ahn,1,64,
+against_pillar,0,64,
+abe_(kumayu),1,64,
+96tuki,1,64,
+1_mutsuki,1,64,
+10mk,1,64,
+zygarde_core,4,63,
+zunusama,1,63,
+zukaketawagase,1,63,
+zoushi_kanai,4,63,
+zossie_(pokemon),4,63,
+zink_(zink_mchn),1,63,"zink,zombies_inc."
+zetsuen_no_tempest,3,63,
+zero_(inazuma_eleven),0,63,
+zefyu,1,63,
+zaraku,1,63,
+yway1101,1,63,
+yuusha_keisatsu_j-decker,3,63,brave_police_j-decker
+yuuri_lessen,4,63,
+yuukami_(wittsu),1,63,wittsu
+yurishia_farandole,4,63,
+yune_(ayanepuna),4,63,
+yumari_nakura,1,63,
+yukiyama_momo,1,63,
+yua_(tick-tack),1,63,
+yozu_(yozu0420),1,63,"youzu,yozu0420"
+youko_(tactics),4,63,
+yoshinao_(yoshinao_0203),1,63,
+yoshimura_thi_mai,4,63,
+yoshiharu,1,63,
+yonekura_kihiro,1,63,
+yoma,1,63,
+yoka1chi,1,63,
+yellow_serafuku,0,63,
+yazuka,1,63,yadzuka
+yatagawa_nazuki,4,63,
+yasuto_(eria151),1,63,
+yami_marik,4,63,
+yamaiso,1,63,
+yako_noir_(kei-ne),1,63,kei-ne
+yakepu,1,63,
+yabe_satoshi,4,63,
+wrwr,1,63,
+work_gloves,0,63,
+wei_(kaminari0411),1,63,
+wataro_(watawatawatapon),1,63,
+watanabe_ayasa_(jackdenpa),4,63,
+wasa_(wanosabi),1,63,0wsaa0
+wanotsuku,1,63,
+wannai_kinuho,4,63,
+vortex,0,63,
+virtuous_treaty,0,63,
+vigwer,1,63,
+vanilla_(nicolla),1,63,
+uzura_(moimoi),1,63,
+uni_(gugurutan),1,63,
+uncle_sam,4,63,
+unbalance_unbalance,3,63,
+umizakura_tachimi,4,63,
+umino_haruka_(harukaumino6),1,63,
+umebayashi_saki,1,63,
+ultra_(511455329),1,63,
+ulrik,1,63,
+uka,1,63,
+ujikintoki,0,63,
+uchiko,0,63,
+tyrogue,4,63,
+tsukishiro_hitomi,4,63,
+tsukimaru,1,63,
+tsukii,1,63,
+tsukasa_0913,1,63,
+tsukamoto_shuuichi,4,63,
+tsugikuni_yoriichi,4,63,
+tsubakuro_yume,4,63,
+touhou_m-1_grand_prix,3,63,m-1_grand_prix
+torokeru_none,1,63,
+tooyama_kazuha,4,63,
+toon_(noin),1,63,
+tonbidou,1,63,
+tomboo,1,63,
+tokuto-kun,4,63,
+tiziano,4,63,
+tiry,4,63,
+tiger_pelt,0,63,
+tibonobannsann,1,63,
+thurim6,1,63,yanghua_yan_zhi_yu_gan
+the_memories_of_phantasm,3,63,
+the_chicken_that_appears_in_the_middle_of_cookie,4,63,
+tezunuri,1,63,
+tezcatlipoca_(housamo),4,63,tezcatlipoca_(tokyo_houkago_summoners)
+terumin_(yuganda_sebone),1,63,
+terran,4,63,
+tenma_umatarou,4,63,
+temutemutemu,1,63,
+tatsuri_(forest_penguin),1,63,
+tatsuma_daisuke,1,63,tatsuuma_daisuke
+tate_(pokemon),4,63,fuu_(pokemon)
+tartu_(azur_lane),4,63,
+tarte_(hodarake),1,63,kuma_(darakehoudai)
+tamase_miki,4,63,
+takai_isshiki,1,63,
+taguchi_makoto,1,63,
+tachibana_ginchiyo_(sengoku_musou),4,63,
+tabao,1,63,
+sylph_kim,1,63,"gim_silpeu,sylph_p"
+swing!!,3,63,
+suzuki_nago,1,63,
+suzuhara_sakura,4,63,
+surtr_(housamo),4,63,surtr_(tokyo_houkago_summoners)
+summon_night_swordcraft_story,3,63,
+sukuna_hikona,4,63,
+suiyou_dou_de_shou,3,63,
+suika_(suika-dokei),1,63,
+suekane_kumiko,1,63,
+stella_chen_yui,1,63,stellarism
+stari,1,63,
+standing_on_shoulder,0,63,
+squalo,4,63,
+sprout_on_head,0,63,
+springfield_(o_holy_night)_(girls'_frontline),4,63,
+spread_nipple,0,63,
+spiked_bat,0,63,
+spiceg,1,63,
+sonomura_maki,4,63,
+solkorra,1,63,sol_ferrari
+sokka_(kbs),1,63,kbs
+sohee,4,63,
+soaking_hands,0,63,
+snale,1,63,04119_snail
+smudge,0,63,
+small_kyubey,4,63,
+skypixter,1,63,
+skuntank,4,63,
+skull_cup,0,63,
+skirt_aside,0,63,
+sizuka_(takuma0),1,63,
+siroyuki,1,63,
+sinko_(sinsin),1,63,
+sii_artatm,1,63,
+sight,0,63,
+shocho_(shaojiujiu),1,63,
+shirahane_yukina,4,63,
+shimada_mayu,4,63,
+shima_saki,4,63,
+shikoro,0,63,
+seu_kaname,1,63,seu_(hutotomomo)
+seto_miyako,4,63,
+sesame_street,3,63,
+series_connection,0,63,
+seri_(yuukasakura),1,63,
+seong_mi-na_(bural_chingu),4,63,
+senbei_(avocadochaya),1,63,
+sei_shoujo_~seido_ikusei_gakuen~,3,63,
+sbd_dauntless,0,63,
+sazanami_(ripple1996),1,63,
+say'ri_(fire_emblem),4,63,"sairi,sairi_(fire_emblem)"
+sawwei005,1,63,saw_(artist)
+sawa_(sawasaku),1,63,
+satou_akira,4,63,
+satoru_wada,1,63,
+satoma_makoto,1,63,nike_(smaaaash)
+sato_(hekiga_ni_nemuru),1,63,satozaki_(wonda_h)
+sapphire_(nine),1,63,"sapphire_4825,vkekrdhs"
+sanagi_(diohazard),1,63,diohazard
+sanada_keisui,1,63,
+san_francisco_(azur_lane),4,63,
+samail,1,63,
+sakurai_tamako,1,63,
+sakuragi_hanamichi,4,63,
+sakura_inu,1,63,
+sakazuki_(akainu),4,63,akainu_(one_piece)
+saint_estera_gakuin_no_shichinin_no_majo,3,63,
+sailor_star_maker,4,63,
+sagta_panggang,1,63,
+sagara_arisa,4,63,
+saeki_kaori,4,63,
+ryuga_(balius),1,63,
+rufflet,4,63,
+rubii,1,63,
+romeo_montague,4,63,
+rokunen,1,63,
+riz_(ravel_dc),1,63,
+ririko_(fhnngririko),1,63,
+rinne_(sennen_sensou_aigis),4,63,
+riichi_(rouchi),1,63,
+rhinoceros_girl,0,63,
+rhine_(overtonerhine),1,63,pixiebob
+reverie_metherlence,4,63,reverie_metherlance
+rerebrace,0,63,
+ren_(zero_second),1,63,ren_(pixiv222350)
+rei_kazami,1,63,
+rave,3,63,rave_master
+rapua_qive,4,63,
+rakkyo,1,63,
+rain_(sao),4,63,
+rai_(rai-s),1,63,rai_(artist)
+raffina_(puyopuyo),4,63,raffine_(puyopuyo)
+queen_of_hearts_(alice_in_wonderland)_(cosplay),0,63,
+qi2341,1,63,
+puttee,0,63,
+puma_(brand),0,63,puma_ag
+protagonist_(yomawari),4,63,
+potemayo_(character),4,63,
+polka_dot_footwear,0,63,
+pokki_(sue_eus),1,63,
+pokemon_the_movie:_i_choose_you!,3,63,pokemon_m20
+playing_with_another's_ears,0,63,
+planking,0,63,
+pkp_pecheneg,0,63,
+pkm,0,63,
+pitcher_plant,0,63,
+pipkin_pippa,4,63,
+pinki_o64,1,63,
+pinkboy,1,63,
+philyshy_(alchemy_stars),4,63,
+peony_(fire_emblem),4,63,
+peko-chan,4,63,
+pegitan_(precure),4,63,
+peco_peco,4,63,
+peachyp,1,63,"peachyp_pyp,secretperson"
+pawmi,4,63,
+paula_(suikoden),4,63,
+patty_(fire_emblem),4,63,
+parodius,3,63,
+panty_(psg)_(cosplay),0,63,
+palm-fist_tap,0,63,
+paleatus,1,63,
+pakotaroh,1,63,
+ouzisamafe,1,63,
+osshouri55,1,63,
+orimoto_izumi,4,63,
+oprince,1,63,
+ono_(0_no),1,63,
+omegu,1,63,eri96
+okada_manabi,1,63,
+obata_takeshi,1,63,
+o/p.com,1,63,
+nyoron_(fudegatana),1,63,
+norma_beatty,4,63,
+norikoi,1,63,
+noriheita,1,63,
+noise_paper,1,63,
+niruanu_(nitayam),1,63,
+nikaidou_reika,4,63,nikaidoh_reika
+nikaidou_benimaru,4,63,
+night_strait_princess_(black),4,63,night_strait_hime_(black)
+nicholas_f,1,63,nicholas.f
+neri_sachiko,1,63,sakaura_(layer255)
+neptune_(planet),0,63,
+neo_geo_battle_coliseum,3,63,
+nenehotoso,1,63,
+nekokan_masshigura,1,63,
+nekohane_ryou,1,63,
+necro-san,4,63,
+ne_f_g_o,1,63,
+natsumi-chan_(kanabun),4,63,
+murase48,1,63,
+murasaki_daidai_etsuo,1,63,
+muchin_jousha,1,63,
+mrnn,1,63,
+mouth_guard,0,63,
+moth_(diddms1999),4,63,
+moshoko_(mizuneroku),1,63,
+monster_hunter_xx,3,63,
+mofun,1,63,
+mofmof_(sousa),1,63,tanuki_neiri
+mochi_hanpen,1,63,
+mizuse_ruka,1,63,
+mizuki_shiori,4,63,
+miyu_greer,4,63,
+miyamoto_musashi_(traveling_outfit)_(fate),4,63,
+miyaguchi_kei,4,63,
+mistynight,1,63,
+missnips,1,63,
+miss_monochrome_(character),4,63,
+miss_monochrome,3,63,
+migikata_no_chou_(vocaloid),3,63,migikata_no_chou
+michi_kuso,1,63,
+michelangelo_(tmnt),4,63,
+metallica_(stand),4,63,
+meronshiroppu,1,63,
+meri-san,1,63,
+mentholatum,3,63,
+megawatt,1,63,
+mega_mewtwo_y,4,63,
+meer_campbell_(cosplay),0,63,
+mecha_(alswp),1,63,
+maze,0,63,
+mazakura_senju,1,63,
+mao_ge,1,63,
+manjuu_teishoku,1,63,
+makura_wet,1,63,
+maki_aida_factor,1,63,
+majormilk,1,63,
+mahou_shoujo_tart_magica,3,63,"puella_magi_tart_magica,tart_magica"
+magical_mirai_miku_(2020_winter),4,63,magimirai_miku_(2020_winter)
+maggot,0,63,maggots
+madanai_(morisumeshi),1,63,
+mad369,1,63,
+macuahuitl,0,63,
+m1_helmet,0,63,
+lunderhaus_cord,4,63,
+luna_(mujin_wakusei_survive),4,63,
+lumine_(genshin_impact)_(cosplay),0,63,
+lock_earrings,0,63,
+liver_city,3,63,
+lipstick_writing,0,63,
+linith,4,63,
+lilyglazed,1,63,
+lily_evans,4,63,
+lian_yao,1,63,
+leone,4,63,
+lancheu,1,63,
+kyuusui_gakari,1,63,
+kyuu_(chiu850513),1,63,kyuusifu0513
+kuzukiri_(riezenagel),1,63,
+kuze_kiriha,4,63,
+kuu_nekoneko,1,63,
+kusumoto_shizuru,1,63,
+kurogoma_(meganegurasan),1,63,
+kuon_itsuki,1,63,
+kuon_(shinrabanshou),4,63,
+kumoko_(kumo_desu_ga_nani_ka?),4,63,
+koyama_rikako,1,63,hima_(ab_gata)
+kotamaru_(pajama_soft),1,63,kotamaru-mu
+kon'ya_wa_neko-chan,3,63,
+komiyam_a,1,63,komiyama_(user_ycnc3474)
+koala_(one_piece),4,63,
+kivo,1,63,
+kite_(.hack//),4,63,
+kitahara_aki,1,63,
+kisekae,5,63,
+kirishima_shouko,4,63,
+kirima_(user_danf8787),1,63,
+kirarazaka_marina,4,63,
+king_kittan,4,63,
+kilalesi,1,63,
+kidd_coega,4,63,
+ki_no_nekko,1,63,
+kenzen_robo_daimidaler,3,63,daimidaler:_prince_vs._penguin_empire
+kazenemuri,1,63,
+kazato_fuuchi,1,63,
+kayn_(league_of_legends),4,63,
+karei_(zeroseed),1,63,zeroseed
+karako_(osomatsu-san),4,63,
+kanzeon,1,63,
+kankitsu_kei,1,63,
+kanata_(mizubenisumutori),1,63,
+kamota_(momokomati),1,63,
+kamishirasawa_keine_(cosplay),0,63,
+kamiizumi_yasuna,4,63,
+kamesys,1,63,
+kamen_rider_stronger_(series),3,63,
+kamabo_ko,1,63,kanikamaboko
+kaka_kittens,4,63,
+kajiji,1,63,
+kaer_sasi_dianxia,1,63,
+k_suke_(weibo),1,63,
+junkei,1,63,
+juneau_(azur_lane),4,63,
+jun_(rojiura_jack),1,63,
+joujima_yuuki,4,63,
+joshi_kousei_no_mudazukai,3,63,
+jonathan_h,1,63,
+jidao_huashi,1,63,kyokugen_no_michi
+jhin,4,63,
+jfjf,1,63,
+jerry3912,1,63,
+james_bond_(series),3,63,
+izuminanase,1,63,
+iwasaki_kouji,1,63,
+iwao178,1,63,akfg-uw-178
+itohime,1,63,
+ithaca_m37,0,63,
+ishimori_sakana,1,63,
+isbn,0,63,
+isago_(ica),1,63,rouki_isago
+ipod_ad,0,63,
+ioriwu8,1,63,
+inoue_toro,4,63,
+inoue_miyako,4,63,
+innocent_grey,3,63,
+ines_(arknights),4,63,
+imu_(lom),4,63,
+improvised_weapon,0,63,
+imae_megumi,4,63,
+imacchi,1,63,
+iiiroha,1,63,
+ichigo_junior_high_uniform,0,63,
+iaidou,0,63,
+hyshirey,1,63,
+hoshino_lala,1,63,
+hoshibudou,1,63,
+honne_dell,4,63,
+hondoumachi_koharu,4,63,
+hizakozouzu,1,63,
+hisakabe_oto,1,63,hisakabe_oune
+hinoya,1,63,
+hinotama_(hinotama422),1,63,
+hina_(bird_salty),1,63,
+himaruya_hidekazu,1,63,
+hiiragi_mayuki,4,63,
+higashitani_fumito,1,63,
+hibiki_(kancolle)_(cosplay),0,63,
+hexelica,1,63,
+hetano_yokoduki,1,63,hetano_yokozuki
+herowarz,3,63,
+herdier,4,63,
+henemimi,1,63,yurifucker
+helluva_boss,3,63,
+heimu_(heim_kstr),1,63,
+hcz_n,1,63,
+hazuki_mina_(darker_than_black),4,63,
+hazuki_gyokuto,1,63,
+hayasaka_miura,4,63,
+hayaken_sarena,1,63,hayaken
+hatomaru_(hatomaru56),1,63,
+haryudanto,1,63,
+haroukitei_kigurumi,4,63,
+hanyu,1,63,
+hangetsuban_sonshou,1,63,
+hanen_(borry),1,63,
+hako_roku,1,63,
+hakan,4,63,
+haiperion_buzan,1,63,
+haibara_sakuya,4,63,
+hage_ta,1,63,
+hachimitsu_honey,1,63,
+habuki,1,63,
+gyaru_v,0,63,
+gundam_age-1_titus,4,63,
+gummyrise,1,63,
+gray_fox,4,63,
+grasshopper_inoue,4,63,
+giga-tera,1,63,
+giant_mushroom,0,63,
+gas_pump_nozzle,0,63,
+ganymede_(overwatch),4,63,
+futanari-chan_(akiamare),4,63,
+futaba_neiko,4,63,
+furumeta,1,63,spirit-edge
+fumirumochigashin,1,63,
+fujishiro_kokoa,1,63,
+fox_wife_(doitsuken),4,63,
+forte_(symbol),0,63,
+forniphilia,0,63,
+fiorayne_(monster_hunter),4,63,
+finger_writing,0,63,
+fai_d._flowright,4,63,fay_d._flourite
+extension_cord,0,63,
+extended_magazine,0,63,
+evernight_goddess,4,63,
+evening_rabbit,1,63,
+ester_ein_astrada,4,63,
+epiphyllum,0,63,
+emperors_saga,3,63,
+emperor_(ff2),4,63,"emperor_palamecia,mateus_palamecia"
+elizabeth_bathory_(cinderella_rider)_(fate),4,63,
+ekusera,1,63,
+ebbilin,1,63,muki_(mayuiki)
+dvach-tan,4,63,
+du_meishin,4,63,
+dsr-50_(weapon),0,63,
+drops_mint,1,63,
+dragon_quest_swords,3,63,
+donbee_(food),0,63,
+domodesu,1,63,
+diving_penguin,1,63,t-m-m
+diva_(blood+),4,63,
+dh-zone,1,63,
+decoponmagi,1,63,
+daylight919,1,63,
+dark_hunter_4,4,63,
+cum_on_legwear,0,63,
+cryptract,3,63,
+crushed_can,0,63,
+crossed_wrists,0,63,
+cross-laced_pants,0,63,
+coupe,4,63,
+collarbone_piercing,0,63,clavicle_piercing
+clownpiece_(cosplay),0,63,
+cloaca,0,63,
+claymore_(sword),0,63,
+cici,1,63,
+chroah_vatel,4,63,croix_bartel
+choujigen_taisen_neptune_vs_sega_hard_girls,3,63,superdimension_neptune_vs_sega_hard_girls
+choomoranma,1,63,
+chiyoganemaru,4,63,
+chinpan,1,63,yasei_no_chimpanzee
+chinbotsu,1,63,
+chikahii,1,63,
+checkered_pillow,0,63,
+chapter_number,0,63,
+chany,1,63,
+chainsaw_devil,4,63,
+chaashuu,1,63,chachacha00
+cero_(cerocero),1,63,
+catherine_cover_parody,0,63,
+can_(canzume),1,63,can31293274
+camera_waddle_dee,4,63,
+calcifer,4,63,
+byulrorqual,1,63,
+bump_(volleyball),0,63,
+broken_door,0,63,
+british_army,0,63,
+bradamante_(second_ascension)_(fate),4,63,
+boukou-chan_(tokiwata_soul),4,63,
+bohegao,0,63,
+bobbles,0,63,
+blonde_onee-san_(sky-freedom),4,63,blonde_onee-san_(sky_(freedom))
+blaze_(blaze_pso2),1,63,"blaze_pso2,lacetear_blazer"
+blacknight_(arknights),4,63,
+bill_(pokemon),4,63,"masaki_(pokemon),masaki_(pokemon),sonezaki_masaki"
+bernard-jou_iwaku.,3,63,
+beast_spear,0,63,
+basculin,4,63,
+bardiche_(riot_zanber_stinger),4,63,
+bandaid_on_foot,0,63,
+badhand,1,63,
+bad_end_sunny,4,63,
+baal_(shiomachi),4,63,
+azuki_(lizzy),1,63,
+azazel1944,1,63,
+ayumu_(ayumu3659),1,63,
+ayatak0517,1,63,
+ayanami_(low-key_idol_@confused)_(azur_lane),4,63,ayanami_(troubled_star_idol)_(azur_lane)
+ats_(ats2nd),1,63,atto_(eroban)
+atlach-nacha,3,63,
+aoki_kanji,1,63,
+aogami_high_school_uniform,0,63,
+angelic_buster,4,63,
+anastasia_(swimsuit_archer)_(first_ascension)_(fate),4,63,
+amiami,1,63,
+alva,1,63,
+alph_(sancheck),1,63,alphthelad
+alomomola,4,63,
+akiiro_renka,3,63,
+akegata_tobari,1,63,
+akari_(blue_archive),4,63,
+akairo_no_mako,1,63,
+akaino_(akaomi),1,63,
+ak-alfa_(girls'_frontline),4,63,ak-alfa_(girls_frontline)
+aina_saharin,4,63,
+aida_mai,1,63,
+agria_(tales),4,63,agria
+aether_sage_(elsword),4,63,
+adnachiel_(arknights),4,63,
+adagumo_no_yaorochi,4,63,
+actress,0,63,
+abe_yasushi_(umizoi_tibet),1,63,
+96nokimihito,1,63,
+7ban,1,63,
+zrero,1,62,
+zhenlin,1,62,
+zelo-lee,1,62,
+z35_(azur_lane),4,62,
+yuu_(derodero),1,62,
+yuru_yuri's_starting,0,62,
+yuno_(mioalice),1,62,
+yummy_yoi,1,62,
+yukino_super,1,62,
+yudough,1,62,nasuno_chiyo
+yu_(xcapriccioso),1,62,
+ysmmzr,1,62,
+youshun_(naturaljuice),1,62,
+youkai_fox_(wild_and_horned_hermit),4,62,
+yoshimune_(b12f),1,62,
+yonezawa_mao,1,62,
+yomawari,3,62,yomawari:_night_alone
+yokon2199,1,62,
+yitiao_er-hua,1,62,
+yellow_shawl,0,62,
+yazawa_kokoa,4,62,
+yaya_(yayaa_00),1,62,inhoya2000
+yanagi_ryuu,1,62,
+yamamoto_shikaku,1,62,
+yakisoba_ohmori,1,62,
+yagi2013,1,62,
+yagai_gakushuu,3,62,
+xuanlin_jingshuang,1,62,
+xing,1,62,
+wooni,1,62,
+wonder_momo,3,62,
+wonbin_lee,1,62,
+wonawo,1,62,
+wilted_flower,0,62,
+whitefrost_dragonewt_filene,4,62,
+white_petals,0,62,
+waving_flag,0,62,
+wanko,4,62,
+wanao,1,62,
+wake,0,62,
+wada_chiyon,1,62,
+volibear,4,62,
+virtua_fighter_5,3,62,
+veko,4,62,
+veiny_tentacles,0,62,
+vados_(dragon_ball),4,62,
+uzu_hi,1,62,
+usamin,4,62,
+unplugged_line,1,62,
+unown_k,4,62,
+unknown_mother_goose_(vocaloid),3,62,
+universal_federation_army_uniform,0,62,
+undersized_breast_cup,0,62,
+unbuttoned_sleeves,0,62,
+umiu_(hoge),1,62,
+umino_chika,1,62,
+tuna21,1,62,
+tsuzuchii,1,62,
+tsunekawa_niwasuke,1,62,
+tsunami_(tenchi_muyou!),4,62,
+tsumujikaze_koyori,4,62,
+tsukune_(takane_lui),4,62,
+transparent_seat,0,62,
+tower_of_saviors,3,62,
+toshiya,1,62,
+torrent_(elden_ring),4,62,
+toranashi,1,62,
+top_gun,3,62,
+tomoyuki_hino,1,62,
+tokito_yu,1,62,
+toaru_kagaku_no_accelerator,3,62,to_aru_kagaku_no_accelerator
+tiz_arrior,4,62,
+tie_fighter,0,62,
+tian_nya,1,62,
+thief_(dq3),4,62,
+thea_(fire_emblem),4,62,tate
+the_euro_front,3,62,
+tetsu_(excalibur920),1,62,
+tensai_ouji_no_akaji_kokka_saiseijutsu,3,62,
+tenji,1,62,
+tege_(tege_xxx),1,62,
+teasmacker,1,62,
+tanuki_koubou,1,62,
+tano,1,62,
+tan_tan_pou,0,62,
+tamakko,1,62,
+takura_mahiro,1,62,
+takagi_seiniku,1,62,
+tacch,1,62,
+sybian,0,62,
+sword_in_head,0,62,
+sweden,0,62,
+supo01,1,62,
+super_paper_mario,3,62,
+suntory_nomu,4,62,
+sugiyama_mio,4,62,
+string_in_mouth,0,62,
+sterben,1,62,
+steel-toe_boots,0,62,
+star_gladiator,3,62,
+spot_the_differences,0,62,
+soyo2106,1,62,
+soupchan,1,62,
+soulcalibur_ii,3,62,soul_calibur_ii
+soukun_s,1,62,
+sorashu,1,62,
+soranokakera01,1,62,
+solar_milk,1,62,
+smog,0,62,
+smack,0,62,
+sinsora,1,62,
+sinohira_rin,1,62,
+sieg_(sherman_69),1,62,sieg_(artist)
+shoutaro_saito,1,62,
+shiunnkaku,1,62,
+shishio_makoto,4,62,
+shirayuki_(warship_girls_r),4,62,
+shirakawa_kokona,4,62,
+shinohara_rei,4,62,
+shinitagari_shoujo_to_shokujinki-san,3,62,
+shining_resonance_collection_of_visual_materials,0,62,
+shin_sekaiju_no_meikyuu,3,62,etrian_odyssey_untold
+shin_murasame,1,62,
+shigurui,3,62,
+shidatsu_takayuki,1,62,
+sharon_rainsworth,4,62,
+shared_cape,0,62,
+sevie,1,62,
+serilly_(puyopuyo),4,62,seriri_(puyopuyo)
+seraphim_throne,1,62,paolo_espana
+sea_angel,0,62,
+scbstella,1,62,
+saturday_(hokawazu),1,62,
+satsuki_(gogotaru),1,62,
+sasquatch_(vampire),4,62,
+sasahara_natsuki_(val_bi_ole),1,62,sasahara_kaki
+sarkany_csont_landzsa,0,62,
+sandile,4,62,meguroco
+sandansu,1,62,
+sakurada_nori,4,62,
+sakurada_akane,4,62,
+sakura_yuu,1,62,
+sakura_hane,4,62,
+sakizou,1,62,
+saileach_(appreciate_fragrance)_(arknights),4,62,
+saber_(pure_night_dress)_(fate),4,62,
+ryuusama,1,62,
+ryu3224,1,62,
+ruto_(petatann),1,62,ruto_(pixiv205535)
+runamonet,1,62,
+royal_arsenal,4,62,
+roxanne_(isekai_meikyuu_de_harem_wo),4,62,
+rokushaku_fundoshi,0,62,
+rip_van_winkle,4,62,
+rinrin_kai,1,62,tokorotn
+rima_rima_ri,1,62,
+ridget_(suisei_no_gargantia),4,62,ridgett_(suisei_no_gargantia)
+regal_bryan,4,62,regal_bryant
+red_fire,0,62,
+reborn,4,62,
+rakugaki-chan,4,62,
+raito47,1,62,
+rage_(rojiura),1,62,
+ragdoll_(boku_no_hero_academia),4,62,shiretoko_tomoko
+quetzalcoatl_(samba_santa)_(fate),4,62,
+queen's_blade_spiral_chaos,3,62,
+qinglai_haiji,1,62,"anann717,osiria17"
+purple_nightgown,0,62,
+pupa_jiang,1,62,
+puffer_fish_vomiting_water_(meme),0,62,puffer_fish_vomiting_water
+psychos,4,62,
+princess_zelda_(cosplay),0,62,
+poogie,4,62,
+pomp_(qhtjd0120),1,62,qhtjd0120
+pola_(1021),1,62,polala1021
+pokemon:_lucario_and_the_mystery_of_mew,3,62,pokemon_m08
+pokarii_zuu,1,62,
+pochi-t,1,62,
+pmlial,1,62,
+plusout,1,62,jinhw2004
+playback,1,62,
+pixel_maritan,3,62,
+pinstripe_jacket,0,62,
+pink_bracelet,0,62,
+pine_(yellowpine112),1,62,
+peridot_(steven_universe),4,62,
+paper_boat,0,62,
+panther_girl,0,62,
+pallapalla_(sailor_moon),4,62,
+otorimonogatari,3,62,
+oshi_taberu,1,62,
+osakabe-hime_(swimsuit_archer)_(first_ascension)_(fate),4,62,
+oriharaizaya819,1,62,
+origamine_ouka,4,62,
+oobako,1,62,
+onodera_raika,4,62,
+onigiri_hair_ornament,0,62,
+one_way_sign,0,62,
+okuzaki_akira,4,62,
+okonon_(kado_colda),1,62,kado_colda
+okiq,1,62,
+ogata,1,62,
+ocarino,1,62,kamikakushi_no_ocarino
+notchi,1,62,
+nos,1,62,
+nona_(goodboy),1,62,
+nomuo_(shiromi),1,62,
+nompang,1,62,
+noel_seeker,4,62,
+nob1109,1,62,
+niu_ju_(orange_bull),1,62,
+nishiro_ryoujin,1,62,
+nishina_masato,1,62,
+niku_(dance-siva),1,62,
+nightgown_lift,0,62,
+nichigeckoh,1,62,
+nice_holystone,4,62,
+ngc20701,1,62,
+neon_ui,1,62,
+nekoyaso,1,62,
+nekokami,1,62,
+neko_no_ongaeshi,3,62,the_cat_returns
+natsumi_chorisuke,1,62,
+natsukon,1,62,
+natsuiro_kiseki,3,62,
+natsu_no_arashi!,3,62,natsu_no_arashi
+naruko_(nalcoro),1,62,
+naotosi,1,62,
+naoton,1,62,
+nana_(kurisustinah),4,62,
+namine0079,1,62,
+nakaishow,1,62,
+nail_gun,0,62,
+nae-nae,1,62,
+nabana,1,62,
+nab,3,62,
+myurumyuru,1,62,
+murayama_(high_school_dxd),4,62,
+multiple_panties,0,62,
+mukkun,1,62,
+muichimon,1,62,
+muhamado,1,62,
+motu0505,1,62,
+motoyon,1,62,
+morugen,1,62,
+mofuo,1,62,
+mo_(ine_mao),1,62,
+mizuno_tera,1,62,
+miyabi_(037),1,62,
+mistilteinn_(closers),4,62,
+misery_(doukutsu_monogatari),4,62,
+misawa_kei,1,62,
+misa_(jjin_miryeon),1,62,
+mirror_twins,0,62,
+mirei-san_(suterii),4,62,
+mira_(kendeshi),4,62,
+mio-muo1206,1,62,
+minsk_(azur_lane),4,62,
+miku_with_you_(vocaloid),3,62,
+mikkusushi,1,62,ishmaiah_dado
+mik_yanase,1,62,
+migita_hibiki,4,62,
+migi,4,62,
+mightyhonk,1,62,
+mei_(abliss),1,62,
+megu_(pixiv9460065),1,62,
+mazel_(mazel_star),1,62,mazeru_(oekaki1210)
+masuneko,1,62,
+marion_phauna,4,62,
+marion_(high_school_dxd),4,62,
+maria_(maria0304),1,62,
+mano_youko,4,62,mano_yohko
+mana30row,1,62,
+mammoth,0,62,
+makio_(kimetsu_no_yaiba),4,62,
+makino_yume,4,62,
+maka_(hyougenbu),1,62,
+lyas,1,62,112423a
+lxkate,1,62,souno_hana
+lunatic_psyker_(elsword),4,62,
+luna_nyann,1,62,
+luciferion,4,62,
+lucia_morgan,4,62,
+lisa_eostre,4,62,risa_eostole
+lipstick_mark_on_ass,0,62,
+lion_(warship_girls_r),4,62,
+linaria_(ookinahitomi),1,62,
+lily_rain,4,62,
+lilac,0,62,
+lightofheaven,1,62,
+lichiko,1,62,seoyul
+level.21,1,62,
+lechuza,1,62,
+lanmei,4,62,
+langrisser_iii,3,62,
+lancer_(weapon),0,62,
+laila_(queen's_blade),4,62,
+lace-trimmed_thighhighs,0,62,
+kyu,1,62,
+kyoushirou_to_towa_no_sora,3,62,shattered_angels
+kyonyuu-chan_(iku),4,62,
+kyomu_(7641),1,62,
+kyan-dog,1,62,
+kuze,1,62,
+kushami_deso,1,62,
+kurumi_(princess_connect!),4,62,kuribayashi_kurumi
+kurone,1,62,
+kuraryu,1,62,
+kuramoto_erika,4,62,
+ktovhinao,1,62,kthovhinao_virmi
+koyaya,1,62,solano
+kouko,1,62,
+kome_(vm500),1,62,
+kokuyou,4,62,
+kokesa_kerokero,1,62,
+kodamazon,1,62,
+koari,1,62,
+kitaooji_hanabi,4,62,kitaoji_hanabi
+kiseijou_rei,4,62,
+kisaragi_yuki,1,62,
+kirishima_kaito,4,62,
+kimidori-san,4,62,
+kikka_(kicca_choco),1,62,
+khan_the_swift,4,62,
+kenja_no_deshi_wo_nanoru_kenja,3,62,
+kemurikusa_(object),0,62,
+kemono_friends_kingdom,3,62,
+keikei_(kitty_colors),1,62,
+kazamatsuri_touma,4,62,
+kayakooooo,1,62,
+kawausoman,1,62,
+kawana_misaki,4,62,
+kashiwagi_yuuma,4,62,
+karin_koenig,4,62,
+karin_(a62826704),1,62,
+kanisawa_kinu,4,62,
+kan_lee,1,62,
+kamoi_hayato,1,62,otosaka_sen
+kamimura_haruka,4,62,
+kaito_(vocaloid)_(cosplay),0,62,
+kaidan_restaurant,3,62,
+kagerou_(gigayasoma),1,62,
+kagami_kazuya,4,62,
+kadokura_(whokdkr),1,62,
+kabuto_kouji,4,62,kouji_kabuto
+jumping_dogeza,1,62,
+js_9_(girls'_frontline),4,62,js_9_(girls_frontline)
+jowell_she,1,62,
+jinguuji_marimo,4,62,
+japanese_tankery_league_judge_uniform,0,62,
+jana_schirmer,1,62,janaschi
+j.c.14,1,62,guxu
+izumi_luna_(akitsu_taira),4,62,
+izumi_iori,4,62,
+izmir_(summer)_(granblue_fantasy),4,62,
+iwa_(iwafish),1,62,
+itou_yukino,4,62,
+it's_ok_to_touch,0,62,
+it's_j.j._style!,0,62,
+ishiwari,1,62,
+isekai_quartet,3,62,
+isakawa_megumi,1,62,
+iosys_parody,0,62,
+ikag,1,62,
+igarashi_ran_(igatz),1,62,
+ichihara_chiaki,4,62,
+ibaraki_douji_(swimsuit_lancer)_(second_ascension)_(fate),4,62,
+hyun9164,1,62,susu_(co0580)
+hydrangea_hair_ornament,0,62,
+houzouin_inshun_(fate),4,62,"houzouin_inshun_(fate/grand_order),hozoin_inshun_(fate)"
+house_of_cards,0,62,card_tower
+hoshitetsu_ringo,1,62,
+hoshi_nawoki,1,62,
+horse_costume,0,62,
+horn_speaker,0,62,
+holding_tongs,0,62,
+holding_belt,0,62,
+hoihoi-san,4,62,
+hogara,1,62,
+hinano_(sky-freedom),4,62,"hair_bun_onee-san_(sky-freedom),hair_bun_onee-san_(sky_(freedom))"
+hina_sasaki,1,62,
+hijiki_meshi,1,62,jijii48
+hijabolic,1,62,zephyr_aile
+hiiro_yuya,1,62,
+higero_(wataten),4,62,
+hidakarumen,1,62,
+henki_(orange),1,62,
+helioptile,4,62,
+heavy_cruiser_summer_princess,4,62,heavy_cruiser_summer_hime
+head_mirror,0,62,
+hazumi_rio,1,62,
+hazuki_futahi,1,62,
+hawthorn,1,62,
+hatsuyuki_sakura,3,62,
+haruya_(lajoon),1,62,
+harune_aira,4,62,
+haru431,1,62,
+hara_yumiko,1,62,
+hanzow_t,1,62,
+hands_on_own_cheek,0,62,
+handa_seishuu,4,62,
+hal_(sakurajam),1,62,
+hair_blush,0,62,
+gyuutarou_(kimetsu_no_yaiba),4,62,
+gundam_barbatos_lupus_rex,4,62,
+green_little,1,62,
+grater,0,62,
+gotou_nao,1,62,"goto_nao,lucie"
+gonta_(gshoutai),1,62,
+golden_axe,3,62,
+girl_from_the_illusionary_world,4,62,
+geonjeonji,1,62,"geonjeonhannick,geonjeonhannig"
+gedou_danshaku,1,62,
+gao_(naodayo),1,62,
+galatea_(claymore),4,62,
+galarian_moltres,4,62,
+ga015,1,62,
+g.t,1,62,
+fuwaffy,1,62,
+fuurai_(resuty),1,62,
+fuumin_(youkai_watch),4,62,insomni
+furaido,1,62,
+fujiki_yuusaku,4,62,yusaku_fujiki
+fors_wall,4,62,
+flower_ring,0,62,
+florges,4,62,
+floral_dress,0,62,
+fiora_ariete,4,62,
+felicia-val,1,62,
+feitan,4,62,
+fate/type_redline,3,62,
+fal_(falketto),1,62,
+exposed_bone,0,62,
+et.m,1,62,
+enu_(roco_roco44),1,62,
+enami_(e373),1,62,
+emya,1,62,
+elder_cousin_(igarashi_kyouhei),4,62,
+eko.art,1,62,
+eddie_brock,4,62,
+eddelrittuo,4,62,
+echizen_ryooma,4,62,echizen_ryoma
+dying_(dying0414),1,62,
+dragon_crisis!,3,62,dragon_crisis
+doku_gorira,1,62,
+doctor_strange,4,62,
+disguised_pyra_(xenoblade),0,62,
+denkitori,1,62,
+deep_one_kyomu_to_mugen_no_fragment,3,62,
+date_(mamanonamaebot),1,62,
+daniel_deng,1,62,
+dai0,1,62,
+daefny,1,62,odaefnyo
+cyron_tanryoku,4,62,
+cure_march_(princess_form),4,62,
+cuderia_von_feuerbach,4,62,cordelia_von_feuerbach
+cradling,0,62,
+cota,1,62,
+con_potage,1,62,
+clawed_boots,0,62,
+chuushuu_meigetsu_miku,4,62,hatsune_miku_(harvest_moon)
+chronoir,0,62,
+chitose_sana,4,62,
+cherie_espoir,4,62,
+checkered_blanket,0,62,
+cassandra_cain,4,62,
+cannonball_~neko_neko_machine_mou-race!~,3,62,
+call_e,4,62,call_(ishikawa_hideki)
+cafe_no_zombi-ko,4,62,
+cafe_cuties_(league_of_legends),0,62,
+burmy,4,62,
+btms666,1,62,
+bribery,0,62,
+boogbogex,1,62,
+bluesnail,1,62,
+blue_(ao_maru),1,62,blue_(artist)
+black_straps,0,62,
+black_panther_(film),3,62,
+battletech,3,62,
+battlement,0,62,
+barboach,4,62,
+baltimore_(evening_breeze_minuet)_(azur_lane),4,62,
+bacun,1,62,
+azuma_sawayoshi,1,62,
+atalanta_alter_(first_ascension)_(fate),4,62,
+at_knifepoint,0,62,
+ass_worship,0,62,
+ash-greninja,4,62,
+asclepius_(nanoha),4,62,
+asazuki_kanai,1,62,
+asashio_kai_ni_(kancolle)_(cosplay),0,62,
+arslan,4,62,
+ariesu_watanabe,1,62,ali-s_(pixiv)
+areola_measuring,0,62,
+aragami,0,62,
+ar-57_(girls'_frontline),4,62,
+applying_bandages,0,62,
+appletun,4,62,
+aomaru_(shta-chu-jisuiai),1,62,
+aoi_kanan,1,62,
+aogami_pierce,4,62,
+anzu_(01010611),1,62,
+anomalocaris,0,62,
+ano_(gccx8784),1,62,
+andou_hiroyuki,1,62,
+anchun_(quail0503),1,62,
+ana_(mother),4,62,
+amore1989,1,62,
+amemori_sayo,4,62,
+amano_onsa,4,62,
+amamiya_sakura,4,62,
+amagase_lyle,1,62,
+alvin_lee,1,62,
+akina422,1,62,
+akayan,1,62,
+akari_acura,4,62,
+akaito,4,62,
+akai_maho,4,62,
+akai_ito,3,62,
+akafuku_pukoemon,1,62,"kiminitokimeki,minami_(kiminitokimeki)"
+akabane_rin,1,62,
+aizawa_hiroshi,1,62,
+aira_(endless5515),1,62,aira_(artist)
+agent_416_(girls'_frontline),4,62,agent_416_(girls_frontline)
+abigail_williams_(animejapan_2018)_(fate),4,62,
+abe_(roiz),1,62,
+8-bit,0,62,
+2gou,1,62,
+2f_sq,1,62,
+2006_fifa_world_cup,3,62,
+123_(tyamaguch),1,62,
+zootan,1,61,
+zoisite_(sailor_moon),4,61,
+zhudacaimiao,1,61,
+zhiyu_moke,4,61,
+zetsuyo_chimayo,1,61,
+zethia,4,61,xethia
+zero_(code_geass)_(cosplay),0,61,
+yuyusu_(cookie),4,61,
+yuuki_makoto_(ensemble_stars!),4,61,
+yuuki_(yukinko-02727),1,61,
+yunohito,1,61,
+yumuto_(spring1786),1,61,
+yuki_akira,4,61,
+yuk233,1,61,
+yuge_(yuge_bakuhatsu),1,61,
+youamo,1,61,
+yoshitake,1,61,
+yoshioka_yuki,4,61,
+yoshikawa_hiro,1,61,ykhiroartwok
+york_(azur_lane),4,61,
+yorha_no._9_type_s_(cosplay),0,61,
+yellow_male_swimwear,0,61,
+yellow_brooch,0,61,
+yasutake,1,61,
+yappariga,1,61,
+yamano_rokamizu,1,61,
+yamaguchi_yoshimi,1,61,
+yalmyu,1,61,
+xingchen_(cosplay),0,61,
+x-ray_film,0,61,
+wulie_errr,1,61,
+world_election,3,61,
+wookyung,1,61,"aleumdie,dspell"
+wight_(monster_girl_encyclopedia),4,61,
+white_santa_costume,0,61,
+wawamachi_(wawamachis),1,61,
+wata,1,61,
+wangjook_(wj),1,61,jeongjae_(jj)
+wandenreich,0,61,
+wakatsuki_misato,1,61,
+vss_vintorez,0,61,
+void_(guilty_crown),0,61,
+violinist_of_hameln,3,61,
+vinsmoke_reiju,4,61,
+villager_(minecraft),4,61,
+viletta_badam,4,61,
+vikavolt,4,61,
+vermilion_city_school_uniform,0,61,chloe's_school_uniform_(pokemon)
+vanessa_lewis,4,61,
+vampire_(gogalking),4,61,
+valueless0000,1,61,
+uzume_(gino),4,61,
+usui_seri,4,61,
+ultra_recon_squad_uniform,0,61,
+uehara_mutsuki,4,61,
+uechin_ewokaku,1,61,
+tyrantrum,4,61,
+tumtumisu,1,61,
+tsumamigui_3,3,61,
+tsuji,1,61,
+tsuchimi_rin,4,61,
+transformers_armada,3,61,transformers_micron_densetsu
+touwa_meme,4,61,
+too_many_flowers,0,61,
+tonari_no_seki-kun,3,61,
+tomo_(machinemess),1,61,
+tomatojam,1,61,
+tokumei_wombat,1,61,ree_(neo-de)
+toe_gojuu,1,61,
+title_screen,0,61,
+titanfall,3,61,
+tira_27,1,61,
+tiphereth_a_(project_moon),4,61,
+tiki_(dragon's_crown),4,61,
+tikano,1,61,
+think_mark_think!_(meme),0,61,
+thesale,1,61,
+the_great_ace_attorney_2:_resolve,3,61,dai_gyakuten_saiban_2
+the_creation_of_adam,3,61,
+tendou_kasumi,4,61,tendo_kasumi
+tarpaulin,0,61,
+taokaka_(cosplay),0,61,
+tanuki_costume,0,61,
+tanu,1,61,
+tania_(little_witch_nobeta),4,61,
+tanaka_gorbachev,1,61,sawany
+tam_(ragnarok_online),0,61,
+takeawatch,1,61,taw_(993004677)
+tajador_(ooo_combo),4,61,
+tai_(2vs),1,61,
+t2,1,61,
+t-track,1,61,
+suzumi_(hetza),4,61,
+suzuki_tsuta,1,61,suzukitsuta
+surfacage,1,61,
+summoner_aldra,4,61,
+sumi_elias,4,61,
+suketoudara_(artist),1,61,
+sugar_(food),0,61,
+storm_drain,0,61,
+sten_gun,0,61,
+star_wars:_revenge_of_the_sith,3,61,"star_wars_episode_3,star_wars_episode_iii"
+spoink,4,61,
+souen_hiro,1,61,
+soruna_(nell),1,61,
+solution_epsilon,4,61,
+smile_(.flow),4,61,
+sky_striker_ace_-_roze,4,61,
+sizuru_(garasuame0206),1,61,
+silver_gloves,0,61,
+silco_(arcane),4,61,
+siki2046,1,61,
+sidoh_(dqb2),4,61,
+sibelurabbi,1,61,
+si10ra,1,61,
+shuvi_(no_game_no_life),4,61,
+showerz,1,61,
+shouyan,1,61,
+shocho,1,61,
+shishidou_imoko,4,61,
+shirou_(shiro_uzr),1,61,
+shiratakiseaice,1,61,
+shinozaki_ayumi,4,61,
+shinomiya_shiori,4,61,
+shinohayu_the_dawn_of_age,3,61,saki_shinohayu_the_dawn_of_age
+shin01571,1,61,
+shikishima_(eiri),1,61,shikishima_(pixiv)
+shiina_yuuki,1,61,siinayuuki
+shaneru,1,61,
+serious_graphics,1,61,
+seri_(vyrlw),1,61,
+sergei_(pattundo),1,61,sergei_(artist)
+serena_(palentine's_2021)_(pokemon),4,61,
+sera_masumi,4,61,
+senri_(senri_sen),1,61,
+senmen_kinuko,1,61,iharanosuke
+sengoku_chidori,1,61,
+sena_shiori_(idolmaster),4,61,
+sen_no_rikyu_(fate),4,61,
+seikoku_no_dragonar,3,61,
+sea_anemone,0,61,anemone_(animal)
+sawasa,1,61,
+satoimoya,1,61,
+sapphire_rhodonite,4,61,
+sanbi_(reku),4,61,
+san_sheng_wan,1,61,
+san_mamiya,1,61,
+san_francisco,0,61,
+same_2009,1,61,
+salem_(rwby),4,61,
+sakura_tale,3,61,
+sakura_rock,1,61,
+sakamoto_clan_(emblem),0,61,
+saitou_hajime_(hakuouki),4,61,
+saida_nika,1,61,ame_maru
+sai_(saipoko),1,61,
+safeguard_(blame!),0,61,
+saegusa_riko,4,61,
+saegusa_mayumi,4,61,
+saegusa_futaba,4,61,
+sad_cat_dance_(meme),0,61,
+ryon_(ryonhei),1,61,
+ryoku_sui,1,61,
+rurukichi,1,61,
+ruri_(aohada_bocchi),4,61,
+rr_(suisse200),1,61,
+rozarin,1,61,nauz4224
+rowdon,1,61,
+ross_(clumzero),1,61,ross_(pixiv191526)
+ronguuta,1,61,ushiotoko&hiroshi
+romi,1,61,
+rokushiru_(muzai-p),1,61,
+rococolove,1,61,
+rocket_boots,0,61,
+robocop,3,61,
+ro_risu,1,61,
+ring_fit_trainee,4,61,
+riko_(kujira215),1,61,rico_(trrviento)
+ribbed_socks,0,61,
+reizouko,1,61,
+reiza,4,61,
+red_fundoshi,0,61,
+rebirth42000,1,61,
+reaper_(final_fantasy),4,61,
+re-l_mayer,4,61,
+rascal,1,61,
+rapping,0,61,
+ranpha_(princess_connect!),4,61,
+rampardos,4,61,
+raisuta,1,61,
+raika_(rune_(pixiv_25170019)),4,61,
+rae_(offrecord),1,61,
+purple_moon,0,61,
+punch_line,3,61,
+ptrd_(girls'_frontline),4,61,"ptrd-41_(girls'_frontline),ptrd-41_(girls_frontline)"
+protagonist_(elona),4,61,
+protagonist_(doki_doki_literature_club),4,61,
+princess_sapphire,4,61,
+pretzel_pose,0,61,
+pretty_guardian_sailor_moon,3,61,
+porridge,0,61,
+pori_(poritan81),1,61,
+pool_party_leona,4,61,
+pokemon_3:_the_movie_-_spell_of_the_unown:_entei,3,61,pokemon_m03
+pokemon:_the_first_movie_-_mewtwo_strikes_back,3,61,pokemon_m01
+pmx,1,61,
+pleo,1,61,
+plectrum_in_mouth,0,61,
+piyoko,4,61,pyocola_analogue_iii
+pistachiocream,1,61,
+pirano,1,61,
+pioneer_movement,0,61,
+pink_male_underwear,0,61,pink_underwear_(male)
+pink_loli_(rinechun),4,61,
+pharaoh_(cat),4,61,
+persona_q2:_new_cinema_labyrinth,3,61,
+pepper_project,3,61,
+penis_in_swimsuit,0,61,
+peeing_in_bottle,0,61,
+pecopecosupipi,1,61,
+peafowl_(kemono_friends),4,61,
+paul_robertson,1,61,
+panzer_dragoon,3,61,
+pantherlily,4,61,
+pandora_(mega_man),4,61,pandora_(rockman)
+panamaman,1,61,
+paladin_(baalbuddy),4,61,
+p_(flavorppp),1,61,
+ozaki_mirai,1,61,
+osiris_the_sky_dragon,4,61,slifer_the_sky_dragon
+orpheus_(persona),4,61,
+ophelia_(bigrbear),4,61,
+oomichi_miyabi,4,61,
+okii,1,61,
+okiba_ga_nai!,3,61,
+okanoyuno,1,61,
+ohnishi_yuriko,4,61,oonishi_yuriko
+nyamo,1,61,
+nue_day,0,61,
+note_(dragon_ball),4,61,
+nogchasaeg_(karon2848),1,61,
+nobel_gundam,4,61,
+niwata0,1,61,
+nishikawa_(fe),1,61,ouri
+nishikata_chii,4,61,
+nintendo_dsi,0,61,
+ninniku_mashimashi,1,61,
+nickit,4,61,
+nean,1,61,
+nazgul,4,61,
+narongchai_singhapand,1,61,
+nabari_no_ou,3,61,
+mystic_knight,4,61,
+mysterious_heroine_xx_(fate)_(cosplay),0,61,
+myrtle_(light_gold_celebration)_(arknights),4,61,
+muyoshito,1,61,"207loz,yoshito_(muyoshito207)"
+multiple_wielding,0,61,
+multicolored_neckerchief,0,61,
+mugi-co,1,61,
+mprichin,1,61,
+mp7_(lollipop_ammo)_(girls'_frontline),4,61,
+mouse_marisa_(yuasan),4,61,mouse_marisa
+morujii,1,61,
+morokoshitaroh,1,61,
+morizono_wakana,4,61,
+morikawa_(futomayu),1,61,
+morganagod,1,61,
+mon_momu,1,61,
+model_zx_(mega_man),4,61,model_zx
+model_x_(mega_man),4,61,model_x
+mobile_suit_gundam_the_origin,3,61,
+mo_xiaoxue,1,61,boku_koyuki_mx
+mizuto_(o96ap),1,61,
+mizuno_nanatsu,4,61,
+mizumori_(xcllcx),1,61,sumomo_kaze
+mizuki_sasahara,4,61,
+miyamoto_ruri,4,61,
+miyabi_mt-b,1,61,
+mitsuba-sama_(milkba-ng),1,61,
+mist_train_girls,3,61,
+miss_crane_(fate),4,61,
+misaki_shizuno,4,61,
+misaka_mikoto_(cosplay),0,61,
+mirin.,1,61,
+minobu_jentoru,1,61,
+minatsuki_kou,1,61,
+mikumo_(lpmkookm),1,61,
+meziosaur,1,61,moize_opel
+mewo,4,61,
+metalwasabi,1,61,
+metae,1,61,
+meneru,1,61,
+melty_q_melromarc,4,61,
+meltryllis_(swimsuit_lancer)_(fate)_(cosplay),0,61,
+matsuzaka_satou,4,61,
+mask_around_one_ear,0,61,
+mashin_eiyuuden_wataru,3,61,
+marufuji_izumi,4,61,
+marino_(mega_man),4,61,marino
+marina_(mrn9),1,61,
+marie_rose_(cosplay),0,61,
+mare_s._ephemeral,4,61,mare_s_ephemeral
+mantou_xiang,1,61,
+makise_kurisu_(cosplay),0,61,
+mail_(popful_mail),4,61,
+mai_kobayashi,4,61,kobayashi_mai
+mahou_no_star_magical_emi,3,61,
+mag_(mag42),1,61,
+mafiaduck_(nilan),4,61,godfather_duck_(nilan)
+madkaiser,1,61,corn_syrup
+maco22,1,61,
+macaron_background,0,61,
+mac-10_(girls'_frontline),4,61,mac-10_(girls_frontline)
+lydia_macarthur,4,61,
+lvans,1,61,
+lows.,1,61,mello.
+love_money_rock'n'roll,3,61,
+loose_neck_ribbon,0,61,
+link_cable,0,61,
+linde_(octopath_traveler),4,61,
+limbo,0,61,
+lillymon,4,61,
+lilia_chocolanne,4,61,
+licking_self,0,61,
+licking_dildo,0,61,"dildo_lick,dildo_licking"
+levi9452,1,61,
+leonard_mitchell,4,61,
+lempika,1,61,
+lemonrou,1,61,
+leaf_(sygna_suit)_(pokemon),4,61,
+lazuri7,1,61,
+layered_swimsuit,0,61,
+latte_(precure),4,61,
+laovaan,1,61,laosmut
+landorus,4,61,
+ladymade_star,3,61,
+lace-up_heels,0,61,laceup_heels
+lace-trimmed_leotard,0,61,
+kurosaki_makoto,4,61,
+kuroneko_(fragrant_olive),1,61,kuroneko-w-b
+kuroda_kuwa,1,61,
+kurobe_sclock,1,61,
+kurihara_mari_(prison_school),4,61,
+kurige_horse,1,61,
+kureha_goya,1,61,andante78
+kuraikurairey,1,61,
+kumichou_(nakasato-gumi),1,61,
+kuka_(princess_connect!),4,61,"kuuka_(princess_connect!),tomi_kuuka"
+kubrick_stare,0,61,
+ksg_(girls'_frontline),4,61,ksg_(girls_frontline)
+kouga_yun,1,61,
+kosmos_beta,1,61,
+kosaki_wit,1,61,
+koraku_gekki,1,61,
+kommo-o,4,61,
+komaro-chan,4,61,
+koiso_kenji,4,61,
+kohinore,1,61,
+kohaku_(kohagura),1,61,
+kobayakawa_horan,4,61,
+kizuna_ai_(anniversary),4,61,
+kitami_erika,4,61,erika_(beatmania_iidx)
+kisukekun,1,61,
+kiss_to_lord_to_darjeeling,3,61,kiss_x_lord_x_darjeeling
+kirikaze_ren,1,61,
+kiiroi_tamago,1,61,
+kicchi_(tmgk),1,61,
+kei_(keigarou)_(style),0,61,
+kazura,1,61,
+kazumiya_rio,4,61,
+kaze_minoru_so-ru,1,61,
+kawarage,1,61,
+kawaguchi_yukihiro,1,61,
+katsura_miya,1,61,mi_(pixiv295220)
+katsuki_hiroko,4,61,
+kata_meguma,1,61,
+kashiwagi_hatsune,4,61,
+kashiwagi_haruko,4,61,
+kase_(kurimuzone_oruta),1,61,
+karumaruka_circle,3,61,
+karbuitt,1,61,
+karaage_(ta-na),1,61,
+kanichiri,1,61,
+kamura_poku,1,61,
+kamoku_nagi,1,61,"kurohiruyume,outsideyes"
+kamen_no_maid_guy,3,61,
+kajou_ayame,4,61,
+kachuten,1,61,
+just_because!,3,61,
+jtaka,1,61,
+jotman,1,61,"joychuo,kurogomu_(dayaya)"
+jonathan_joestar's_pose_(jojo),0,61,
+joker_game,3,61,
+jisue10,1,61,
+jippe,1,61,
+jika-tabi,0,61,
+jet_set_radio_future,3,61,
+jeibii,1,61,
+jean-louis_(yuasa_rengou),1,61,
+jacob_(housamo),4,61,jacob_(tokyo_houkago_summoners)
+izumi_kikaku,1,61,
+izu_lemon,1,61,maromaink
+isono_satoshi,1,61,
+irvine_kinneas,4,61,
+iron_maiden_jeanne,4,61,
+inoue_jun,4,61,
+inou_takashi,1,61,
+in_pocket,0,61,
+in'youchuu,3,61,
+imminent_hand_holding,0,61,
+imi_galil,0,61,
+ill_(0022),1,61,
+ilfriede_von_feulner,4,61,
+ikusy,1,61,
+ichijo_daisuke,4,61,
+ichijiku,1,61,
+ichihyaku_nanajuu,1,61,
+ichi_(13xxx),1,61,ichi_(pixiv2259597)
+hydaelyn,4,61,
+humvee,0,61,
+huai_diao_de_zongzi,1,61,cru
+hs2,1,61,
+hospital_rokunin_no_ishi,3,61,trauma_team
+hoshijiro_shizuka,4,61,
+hoshifuri_sosogu,4,61,
+horezai,1,61,
+honeycoming_royalsweet,3,61,
+honey_badger_(girls'_frontline),4,61,honey_badger_(girls_frontline)
+holy_roman_empire_(hetalia),4,61,
+holland_novak,4,61,
+holding_clover,0,61,
+hokuto_(hokuto_pk),1,61,
+hokaze_junko,4,61,
+hiwonoafu,1,61,
+hisone_to_masotan,3,61,dragon_pilot:_hisone_and_masotan
+hiruma_youichi,4,61,
+hip_flask,0,61,
+hindenburg,1,61,
+himuro_akari,4,61,
+hikikomori,0,61,
+hikariz,1,61,light_kiseki
+hiiragi_mine,4,61,
+higurashi_ryuuji,1,61,
+higa_izuru_(idsuru),1,61,
+hidepoin,1,61,
+hhhori,1,61,
+hellsing:_the_dawn,3,61,
+heijitsu_(paapuu),1,61,yamazaki_mitsuru
+hecchi_(blanch),1,61,
+heart_hunter_(module),0,61,
+hc_(razel1),1,61,
+hazuki_shino,1,61,
+hazuki_(nature.),1,61,
+hatsukano_you,4,61,
+haruto_(harut_n),1,61,
+harumi_chihiro,1,61,
+hand_on_mirror,0,61,
+hanbun_no_tsuki_ga_noboru_sora,3,61,hantsuki
+hanasaki_work_spring,3,61,
+haikimono_shounen,1,61,
+gundam_ms_igloo,3,61,
+grey_scrunchie,0,61,
+gordon_freeman,4,61,
+gordo,4,61,
+gomrang,1,61,gomlang_(kne4799)
+gol_d._roger,4,61,gol_d_roger
+glowworm_(azur_lane),4,61,
+glowing_hot,0,61,"glowing_red,incandescence,red_hot"
+gligar,4,61,
+gindoro,1,61,
+gijou_mitsumi,4,61,
+gene_(gear_gene),1,61,
+geduan,1,61,
+galatea_(fate),4,61,
+gakki_(gaku_suru),1,61,
+fuyuni0307,1,61,rtjc3847
+fuwafuwa_35,1,61,
+fuuko_chan,1,61,
+funamusea,3,61,
+funami_mari,4,61,mari_(yuru_yuri)
+fumyuun,1,61,
+full_cowling_(boku_no_hero_academia),0,61,
+fujimura_shizuru,4,61,
+fuji_minako,1,61,
+frozen_ii_(disney),3,61,
+frilled_nightgown,0,61,
+frilled_corset,0,61,
+francine_(daijaemon),1,61,
+frame_arms,3,61,
+fox_costume,0,61,fox_suit
+forsyth_(fire_emblem),4,61,force_(fire_emblem)
+food_truck,0,61,ice_cream_truck
+fireseal,0,61,
+finger_marks,0,61,
+ferris_eris,4,61,
+feater_(dojo_star)_(arknights),4,61,
+favilia,1,61,
+fat_(artist),1,61,
+evangeline_a.k._mcdowell_(adult),4,61,
+ethan_forsythe,1,61,
+ernesto_de_la_cruz_(alive),4,61,
+enterprise_(pacific),4,61,
+emukon,1,61,
+emukami,1,61,
+emelia_pris,4,61,
+elwing,4,61,elwyn
+eli_conifer,4,61,
+electric_kettle,0,61,
+einamu,4,61,
+ein_(phantom),4,61,
+edowan,1,61,
+ebiten_(manga),3,61,
+ebiebiebio,1,61,
+ebenholz_(arknights),4,61,
+ducati,0,61,
+dress_pants,0,61,
+dpea9,1,61,
+donkey_kong_(game),3,61,
+dolphenry,1,61,san_ke_yue_shi
+doboshiru,1,61,
+dj_sona,4,61,
+didi_esmeralda,1,61,
+dialogue_options,0,61,
+destiny_(takt_op.),4,61,
+deoxys_(attack),4,61,
+demonion_ii:_maou_to_sannin_no_joou,3,61,
+deeezel,1,61,
+dango-chan_(4shi),4,61,
+daicon_iv,3,61,
+cure_precious,4,61,
+cunimura1584,1,61,
+cthugha_(housamo),4,61,cthugha_(tokyo_houkago_summoners)
+cruel_gz,1,61,
+cromwaits,1,61,
+crazypen,1,61,
+crab_on_shoulder,0,61,
+crab_hair_ornament,0,61,
+compression_shirt,0,61,
+comichipota,1,61,
+comic_grape,3,61,
+colored_shoe_interior,0,61,
+collie,1,61,
+cloverse6,1,61,
+cloudxmoe,1,61,
+clona,1,61,
+claes,4,61,
+circlek,1,61,
+cima_garahau,4,61,
+cilica,1,61,
+cid_nan_garlond,4,61,
+ciconia_no_naku_koro_ni,3,61,
+christianity,0,61,
+chocotto715,1,61,
+chise_(saishuu_heiki_kanojo),4,61,chise_(saikano)
+chiko_(mizuho),1,61,
+chiko_(d04099),1,61,
+chidori_(@rom),1,61,
+cherry_panties,0,61,
+chen_yang_yang,1,61,
+chatsune_(white_lolita),1,61,
+champ+,1,61,
+centi_(nimu),4,61,
+cea_se,1,61,
+cavorite_ball,0,61,
+camouflage_trim,0,61,
+california_(azur_lane),4,61,
+calenda_(kemono_friends),4,61,
+bugs_bunny,4,61,
+brooklyn_(azur_lane),4,61,
+bronzor,4,61,
+bronze_parrot,3,61,
+bridge_piercing,0,61,
+bosack,1,61,
+bonjin_(pageratta),4,61,
+boey_(fire_emblem),4,61,
+bochibochi_(gyuuniku_6000),1,61,akito_(eyzz3775)
+blizzard_(company),3,61,
+black_soldier,1,61,
+black_rock_shooter:_dawn_fall,3,61,black_rock_shooter_(dawn_fall)
+bizen,1,61,
+birdhouse,0,61,
+bindle,0,61,
+baumku_techen,1,61,
+balloon_animal,0,61,
+baker_nemo_(fate),4,61,
+baker_at_bat,0,61,
+bachou_mouki,4,61,
+aya_(oneechanbara),4,61,
+awan0918,1,61,
+awake,0,61,
+awachi,1,61,
+aversa_(fire_emblem),4,61,inverse_(fire_emblem)
+auguste,1,61,
+augusta_(granblue_fantasy),4,61,
+audie_(animal_crossing),4,61,
+asurada_yui,1,61,
+asukaru_(magika_ru),1,61,
+asta_rindo,4,61,
+ashitaba_tomorou,1,61,
+ash_(rainbow_six_siege),4,61,
+artificial_wings,0,61,
+ark_ford,1,61,
+arimoto_wataru,1,61,
+arigato_(rmskrtkdlqj),1,61,arigato_1573168
+ari_(shichigatsu),4,61,
+argentea_(darling_in_the_franxx),4,61,
+araya_souren,4,61,
+aosuke_(ayakawa_akito),1,61,
+aoshima_sakana,1,61,
+aono_tsukune,4,61,
+aoi_(aoisaka),1,61,
+anyuu,1,61,
+anming,1,61,
+ankoromochi,1,61,
+animal_on_leg,0,61,
+anderson_m0311,1,61,
+an'no_natsume,1,61,
+amatsutsumi,3,61,
+amamiya_marron,1,61,
+amagi_korona,1,61,
+amagaya_(rat-tat-tat),1,61,ame_tani
+algernon_(housamo),4,61,algernon_(tokyo_houkago_summoners)
+alf874,1,61,
+akira_slide,0,61,
+akinoko,1,61,
+akimitsu-dono,4,61,
+akiko_141,1,61,
+aki_inu,1,61,
+akebi_(kakororo),1,61,"akebi_(pixiv41525),mochiyuchimo"
+aizenpochi,1,61,
+aizawa_takeru,4,61,
+airgetlam_(fate),0,61,
+ailac_coega,4,61,
+aigan_tenshi_cheery_pink,3,61,
+aharen-san_wa_hakarenai,3,61,
+aguri_(aguri0406-aoi),1,61,
+adachi_(ioioi),1,61,
+abe_tsukumo,1,61,
+298yenomiso,1,61,user_rxsp2457
+1st-mn,1,61,
+021_shiro,1,61,
+00_raiser,4,61,
+zinnkousai3850,1,60,
+zinan,1,60,
+ziku_driver,0,60,
+zhixiang_zhi,1,60,
+zhineart,1,60,
+zentai,0,60,
+zell_dincht,4,60,
+yxyyxy,1,60,
+yuzhou,1,60,space_(uchuu)
+yuubari_(kancolle)_(cosplay),0,60,
+yuri_(chocho_q),1,60,hawah127
+yummy_(yumyumyummy),1,60,yummy_(artist)
+yukiusagi1983,1,60,
+yukishiro_mahiro,4,60,
+yukino_sayuri,4,60,
+yukikaze_(warship_girls_r),4,60,
+yueguang_zhanglang,1,60,
+yosimura,1,60,
+yoshizumi_kazuyuki,1,60,
+yoshitome_miharu,4,60,
+yooani,1,60,
+yoneko_okome,1,60,
+yokura_(yukilina),1,60,
+yellow_halo,0,60,
+yaten,1,60,
+yan_lie,1,60,
+yami_anko,1,60,
+yamato_kai_(kancolle),4,60,
+yajirushi_kaku,1,60,
+yagyuu_katsuda,1,60,
+yadoso,1,60,
+yabby,1,60,nankong
+xue_qi_ye_(dndtmbdue),1,60,snow7a
+xiao_qiong,4,60,
+worthlessvalor,1,60,
+wonchun,1,60,
+winged_victory_mercy,4,60,
+windia_(deathsmiles),4,60,
+wichita_(azur_lane),4,60,
+whirlipede,4,60,
+weyas_kayur,1,60,"bikuwa,weyaskayur"
+water_beryl,1,60,
+wakura_yuina,4,60,
+wakanita,1,60,wakakoubou
+waiai,1,60,
+waccha_primagi!,3,60,
+volkswagen_type_2,0,60,
+volkies,1,60,
+veemon,4,60,
+vante,4,60,
+valhalla_valkyries,3,60,
+v1v404,1,60,
+usuaji,1,60,
+uruuru,4,60,
+uru_uzuki,1,60,
+uroko_(pattern),0,60,
+urakata_(uracata),1,60,
+upa_(steins;gate),4,60,
+unown_l,4,60,
+umbrella_octopus,0,60,"dumbo_octopus,flapjack_octopus"
+ultra_seven,4,60,
+uchino_maiko,1,60,
+uchida_maaya,4,60,
+type_3_chi-nu,0,60,
+type:_null,4,60,
+twinkle_star_(idolmaster),0,60,
+turret_(portal),4,60,
+tullece,4,60,turles
+tuchinokoeffect,1,60,
+tsuyama_mutsuki,4,60,
+tsurumaru_tsuyoshi_(umamusume),4,60,
+tsumire_(takane_lui),4,60,
+tsukeo,1,60,
+trunkdiary,1,60,
+triangle_heart_3,3,60,
+triandra_(fire_emblem),4,60,
+trevor_(pokemon),4,60,toroba_(pokemon)
+transparent_butterfly,0,60,
+toy_boat,0,60,
+towamin,1,60,
+toudou_(dolce),1,60,
+totto,1,60,
+totteri,1,60,
+toromi_chuuka,1,60,
+toor_0111,1,60,
+tonnura-san,3,60,
+tomoyo_after,3,60,
+toma_(amnesia),4,60,
+tokufumi,1,60,
+tokimeki_check_in,3,60,
+togi9999,1,60,
+tnonizyou,1,60,
+tina_(pixiv37050289),1,60,
+tianliang_duohe_fangdongye,1,60,
+thunder_hawk,4,60,
+therrao,1,60,2ndeminence
+teyuruun,1,60,
+teena_(granblue_fantasy),4,60,
+tara_baka_ni,1,60,
+tanono,1,60,
+tamiko_(paseri),1,60,
+tama_(tmfy5),1,60,
+takeda_hinata,1,60,
+takano_masayuki,1,60,
+tak_(karasuki),1,60,
+swordsman_(sekaiju_4),4,60,landsknecht_(sekaiju_4)
+suno_(imydream),1,60,sunoko24
+suinose,1,60,
+sugawara_takurou,4,60,
+subway_(company),0,60,
+submarine_707r,3,60,
+studioqube,1,60,
+strawberry-chan,4,60,
+stereogram,0,60,
+stephanie_brown,4,60,
+springfield_(classic_witch)_(girls'_frontline),4,60,
+spoken_venus_symbol,0,60,
+splash-o-matic_(splatoon),0,60,
+souma_mizuki,1,60,
+somna,1,60,
+somber,0,60,
+snufkin,4,60,
+snowflake_pendant,0,60,
+slumcat,1,60,
+sloth_(fma),4,60,
+skye_(hcnone),4,60,
+skilled_lookouts_(kancolle),4,60,skilled_lookouts_(kantai_collection)
+sinon_(sao:hf),4,60,
+sin_mal,4,60,
+silver_meteor,1,60,
+sierokarte,4,60,
+shunrai,1,60,
+shunga_youkyu,4,60,
+showdown,0,60,
+shoulder_devil,0,60,
+sho_(sho_lwlw),1,60,
+shizuna_rem_misurugi,4,60,
+shizu-chan,4,60,
+shirogane_(fox),1,60,
+shirasawa_kazane,1,60,
+shiny_tambourine,0,60,
+shinobe,1,60,
+shin_(sin-maniax),1,60,
+shimotsuki_iko,1,60,
+shikyouin_hibiki,4,60,
+shiki_natsume,4,60,
+shijukara_(great_tit),1,60,
+shepherd,0,60,
+shazhiqiao,1,60,sapysha1997
+shaggy_rogers,4,60,
+sevi_(seviyummy),1,60,
+seseragi_azuma,1,60,
+seo_akira,4,60,
+senzi,1,60,
+sengoku_gensoukyoku,3,60,
+seikon_no_arcana,3,60,
+see-through_(psg),4,60,
+sebire,1,60,
+scapular,0,60,
+sayu_(mio-mosa),1,60,
+sawatari_fuu,4,60,
+satsuki_(quiz_magic_academy),4,60,
+sasha_chii,1,60,
+sarana,4,60,
+sanada_taketo,1,60,
+samako,1,60,
+sakusya2honda,1,60,
+sakuramochi_n,1,60,
+sakata_kintoki_(heian_warrior_attire)_(fate),4,60,heian_warrior_attire_(fate/grand_order)
+sakai_yume,1,60,
+saitama_(antitankromeo),1,60,
+saisoku_no_yukkuri,1,60,
+saikunartworks,1,60,
+sagano_yuuji,1,60,kuri_(kurichan)
+saeba_ryou,4,60,
+ryuuenji_tasuku,4,60,
+ryn_(rinorea),1,60,rino_rea
+ruru_(lulubuu),1,60,
+rowan_(pokemon),4,60,"nanakamado_(pokemon),prof._rowan,prof_rowan,professor_rowan"
+rose_pacifica,4,60,
+romeo_montague_(cosplay),0,60,
+rolling_sleeves_up,0,60,
+roko_roko_(doradorazz),1,60,doradorazz
+rohgun,1,60,
+rob_lucci,4,60,
+rivals,0,60,
+ribbon_(rabi-ribi),4,60,
+rhys_(fire_emblem),4,60,
+rhinoceros_ears,0,60,
+reuri_(tjux4555),1,60,
+remington_acr,0,60,
+relius_clover,4,60,
+refrigerator_magnet,0,60,refrigerator_magnets
+red_tunic,0,60,
+red_circle,0,60,
+rebel_alliance,0,60,
+ramu-on@_shinon,1,60,
+rainsp,1,60,
+qoopie,1,60,
+qbu-88_(girls'_frontline),4,60,qbu-88_(girls_frontline)
+push_down,0,60,
+purple_bandana,0,60,
+pulque,0,60,
+pukonuu,1,60,
+psyren,3,60,
+princess_white_rose,4,60,
+princess_waltz,3,60,
+princess_melody_(idolmaster),0,60,
+powder_puff,0,60,
+potion_(pokemon),0,60,
+poppippoo_(vocaloid),3,60,poppippoo
+polka_dot_sleeves,0,60,
+pokemon_card,0,60,
+pochi-a,1,60,
+plaid_kimono,0,60,
+place_name,0,60,
+phino,1,60,
+pepeo,1,60,
+pen-pineapple-apple-pen,3,60,
+pecorine_(real)_(princess_connect!),4,60,
+peco_(pockleberry),1,60,
+pclbang,1,60,
+pawniard,4,60,
+papel,4,60,
+panzerkampfwagen_viii_maus,0,60,maus_(tank)
+palow,1,60,
+paji,1,60,
+pachi_(sugiyama0306),1,60,
+paayan_(hagakinorock54),1,60,
+oshi_ga_budoukan_itte_kuretara_shinu,3,60,if_my_favorite_pop_idol_made_it_to_the_budokan_i_would_die
+ooba_jun,1,60,
+onomi9ta,1,60,
+onizuka_hime,4,60,
+omuni,1,60,
+okyao,1,60,
+okakan,1,60,
+oginouchihara_yuki,4,60,
+oge_(ogeogeoge),1,60,
+o2_(o2mm),1,60,
+nyan_cat,4,60,
+nureha_(log_horizon),4,60,
+noumu_(pixiv),1,60,
+nona_drops,1,60,
+noise_reduction,5,60,
+nobuya,1,60,
+noah_(little_noah),4,60,
+niwa_toriko,1,60,toriko_(pixiv26048)
+nitamago,1,60,
+ninjara_(arms),4,60,
+nil_sunna,4,60,
+nikitan_(niki),1,60,nikinoko
+new_balance,0,60,
+nerine_(flower_knight_girl),4,60,
+neopara,1,60,
+nekoyanagi_kirio,4,60,
+nekota_tsuna,4,60,
+nekonote_(neko-no-te92),1,60,
+nekoma_hikaru,1,60,
+neko-hime_(neko-hime),1,60,
+negativezero,1,60,
+neeko's_mother,4,60,
+nazrin_(cosplay),0,60,
+natsu_yume_nagisa,3,60,
+nanopai_kakumeikokonoyu,1,60,
+nanami_ao,4,60,
+namyo,1,60,
+nami_qi,1,60,931466095
+myu_(neorosi),1,60,
+mysterious_heroine_x_(fate)_(cosplay),0,60,
+muzinneki,1,60,
+muu_shuwuu,4,60,mou_shobou
+musunde_hiraite_(mh5jta),1,60,
+mushi_mushi_ex,1,60,
+muppets,3,60,
+munya,1,60,munya_(pixiv434886)
+munuko,1,60,
+mukoujima_tenro,1,60,
+mugimugis,1,60,
+motto_notto,1,60,
+mosquito_girl,0,60,
+morochin_(mo_loss_an),1,60,moro_(eiyu)
+morishima_hitoshi,1,60,
+mori_yashiro_(konkon_oyashiro),1,60,
+mordred_(fate/apocrypha)_(cosplay),0,60,
+monster_hunter_stories,3,60,
+mona_(2ch),4,60,monar
+momose_hikaru,4,60,hikaru_(peace@pieces)
+mofu07519,1,60,
+moegi_(honey_122),1,60,
+mochi-iri_kinchaku,1,60,
+mnjs,1,60,
+mizutani_megumi,1,60,
+mizuno_makoto_(green),4,60,
+mizukoshi_mayu,1,60,
+mizuki_gai,1,60,
+mizoreame,1,60,
+miyabi_(ninin_ga_shinobuden),4,60,
+mitty_(made_in_abyss)_(furry),4,60,
+mitsurugi_lia,4,60,
+mitama_~shinobi~,3,60,
+mistress_(dungeon_and_fighter),4,60,
+mission_impossible_(bkub),3,60,
+mirokuji_yuuya,4,60,
+mirim,4,60,
+miriam_hildegard_von_gropius,4,60,
+ming_(3952862),1,60,
+minertime,1,60,
+minazuki_minao,1,60,
+minase_nagi,1,60,
+minamihama_yoriko,1,60,
+minaka_shobu,1,60,
+mina_carolina,4,60,
+million_chain,3,60,
+millaarc,4,60,
+milcona,1,60,
+mikoto_(stbk),1,60,mikoto_stbk
+mikazuki_shigure,1,60,
+mifu_(b24vc1),1,60,
+midoriya_inko,4,60,
+mexico_salamander_(kemono_friends),4,60,
+metal_sonic,4,60,
+mesh,0,60,
+meru02295238,1,60,
+merryhachi,1,60,
+mei_ichi,1,60,
+mea_(hwaksal),1,60,
+mayhem_art,1,60,mayhem
+mattie_(ego_trigger),4,60,
+matilda_(tank),0,60,
+marik_ishtar,4,60,
+maria_(space_maria),4,60,
+mari_(little_crown),1,60,
+mari_(doraerin0),1,60,
+maou_(mitosansan),4,60,
+mamecchi,1,60,
+makken,4,60,
+makkamu,1,60,
+makano_mucchi,1,60,
+mak066,1,60,
+maekawa,4,60,
+madcore,1,60,
+m134_minigun,0,60,
+lunatic_(ragnarok_online),4,60,
+lunasanguinis,1,60,
+lord_guyis,1,60,
+live_twin_lil-la,4,60,
+liu_guniang,1,60,
+ling_mou,1,60,
+lily_(shiei_no_sona-nyl),4,60,
+light_hello_(umamusume),4,60,
+lif_(ragnarok_online),4,60,
+lianna_(fire_emblem),4,60,lian_(fire_emblem)
+levi_elipha,4,60,
+leonidas,4,60,
+leona_of_blood_&_iron,4,60,
+lemur_tail,0,60,
+leaf_lsd,1,60,
+latex_pants,0,60,
+larva_tiamat_(fate),4,60,tiamat_larva
+laputa_robot,4,60,
+lapis_(sennen_sensou_aigis),4,60,
+lanyaojun,1,60,
+kyouki,1,60,
+kurumi_(koutetsu_tenshi_kurumi),4,60,
+kurona_(neko_musume_michikusa_nikki),4,60,
+kurojishi_(zannen_onna-kanbu_black_general-san),4,60,
+kuroinu_(sonoba_shinogi),1,60,
+kudou_(gst910),1,60,
+koyuki_(azumaya999),1,60,
+koyoi_(ruka),1,60,
+koyama_shigeto,1,60,
+koumei_(harmonizer),1,60,
+korai_(horokusa),4,60,
+koopa_clown_car,4,60,
+koneko_(nonnkimono),1,60,
+knit_sweater,0,60,
+kliff_(fire_emblem),4,60,
+kjerag_logo,0,60,
+kizuna_ai_(musician),4,60,
+kitchen_scale,0,60,kitchen_scales
+kisakinomiya_chihaya,4,60,
+kinosaki_yuki,1,60,aquavit
+kinaco_4738,1,60,
+kikurage_(dorohedoro),4,60,
+kiki-yu,1,60,hyokko_(hiyotuko)
+kidatsu!_dungeons_lord,3,60,
+kei-chan_(ultimatekeichan),1,60,keichan_(user_afpk7473)
+kazuki_kan,1,60,kadzuki_kan
+kazehaya_shouta,4,60,
+kazane_mari,1,60,
+katorea,1,60,
+katakai,1,60,
+katagiri_yuuhi,4,60,
+katagawa_mika,1,60,
+kasumi_(suikoden),4,60,
+kashiyama,1,60,red003
+kashiwa_(3920kashiwa),1,60,
+kashiru,1,60,
+kartana,4,60,
+karonaru,1,60,
+karenina_(punishing:_gray_raven),4,60,
+karasu_btk,1,60,btkcyber
+karanagare_4,1,60,
+kanojo_tachi_no_ryuugi,3,60,their_styles
+kanno_fumi,4,60,
+kamumiya,1,60,
+kamue,1,60,
+kamen_rider_geats,4,60,
+kakouen_myousai,4,60,
+kakon,1,60,iso1206
+kaga_nazuna,4,60,
+kaga_kouko,4,60,
+kaeru_kenshi,1,60,
+kaburagi_t._kotetsu_(cosplay),0,60,
+k.o.,0,60,
+jyako_(bara-myu),1,60,
+joker_(dc)_(cosplay),0,60,
+joe_rikiichi,4,60,
+jiman,1,60,
+jiliang_jiying_yumao,1,60,
+jellyfish_girl,0,60,
+jay87k,1,60,
+jacknavy,1,60,
+izumo_ayuka,1,60,
+izumi_kanagi,4,60,
+izumi_(swimsuit)_(blue_archive),4,60,
+island_lagoon,1,60,dragonoil
+isekai_wa_smartphone_to_tomo_ni.,3,60,in_another_world_with_my_smartphone
+isabelle_(acerailgun),4,60,
+ironhide,4,60,
+iroha_karuta,0,60,
+interrupted,0,60,
+inaba_reito,1,60,
+imada_hidehito,1,60,
+ilsa_(summer)_(granblue_fantasy),4,60,
+ichikawa,1,60,
+husagin,1,60,
+hourainingyou,1,60,
+hotarugusa_(onmyoji),4,60,ying_grass
+honolulu_(among_the_stalls)_(azur_lane),4,60,honolulu_(festival_date)_(azur_lane)
+honjou_mikaze,4,60,
+hiyori_sou,4,60,
+hiyori_(nyatto),1,60,
+hiver_laurant,4,60,
+hitsugi_katsugi_no_kuro,3,60,shoulder-a-coffin_kuro
+hitobashira_alice_(vocaloid),3,60,hitobashira_alice
+hisa_tsuki,1,60,
+hirasaka_hatsune,4,60,
+himemiya_ruri,4,60,
+himawari_(hishu),1,60,
+higa,1,60,rdcf
+hetaren_(ramark),1,60,
+hero_charger_(splatoon),0,60,
+hepas_(haevest),4,60,
+helltaker_dance,0,60,
+helen_(claymore),4,60,
+helbindi_(fire_emblem),4,60,helbindi_(fire_emblem_heroes)
+heart_bra,0,60,
+hauto-san,1,60,
+hatopoo_(beach7pijon),1,60,hatopo_(beach7pijon)
+hashira_14,1,60,
+harukanaru_toki_no_naka_de_4,3,60,
+haru_ion,1,60,
+harry_mason,4,60,mason_harry
+hariyama,4,60,
+happy_synthesizer_(vocaloid),3,60,
+hands_on_own_crotch,0,60,
+hamburger_hat,0,60,
+ha_(hura76752775),1,60,
+guru,1,60,
+gurepyon,1,60,
+grotle,4,60,
+green_santa_costume,0,60,
+gomibukurokarasu,1,60,
+getto,1,60,
+gecko4488,1,60,
+gascogne_(tropical_environs_acclimation_service_equipment)_(azur_lane),4,60,gascogne_(beach_adaptive_armor)_(azur_lane)
+gardavwar,1,60,
+gagajya,1,60,
+fuyuumi_ai,4,60,
+fuu_(futian),1,60,
+fushimimukai_sanae,4,60,
+fushicho,1,60,hani_wahanihani
+funaya_(a2brasd),1,60,
+fukaziroh_(sao),4,60,
+frelia_(ar_tonelico),4,60,
+foxhound_(azur_lane),4,60,
+fou-lu,4,60,
+fn_scar_17,0,60,
+first_ken,0,60,
+finaltakenoko,1,60,
+fif_(granblue_fantasy),4,60,funf
+ffcreatyuuki,1,60,
+fai_fai,4,60,
+f.l.u.d.d.,4,60,
+f-18_hornet,0,60,
+esp_guitars,0,60,
+error1945,1,60,
+enoki_art,1,60,
+emunise,1,60,
+emu_(eomou),1,60,
+einar_(personal_ami),4,60,
+eina_tulle,4,60,
+ebr-kii,1,60,
+dracula,4,60,
+dotsu_(wtnbkwiyd),1,60,
+dorothy_gale,4,60,
+dorisu2,1,60,
+dokudoku913,1,60,
+dodo_(yatotoyatoto),1,60,
+docu_(doppel),4,60,
+djeeta_(granblue_fantasy)_(cosplay),0,60,gita_(granblue_fantasy)_(cosplay)
+dh_(brink_of_memories),1,60,
+devil_bringer,0,60,
+desperado_(yotaro),3,60,
+dayshiart,1,60,
+dark_magical_circle,4,60,
+dark_eclair,4,60,
+daitirumoesu,1,60,
+daidouji_(senran_kagura),4,60,
+daga_kotowaru,0,60,
+cyrillic_commentary,5,60,
+cum_on_chest,0,60,
+cross-laced_swimsuit,0,60,
+craft-cs,1,60,
+coupy_pencil_(medium),0,60,
+conomi-c5,1,60,
+cona_ember_(kkamja),4,60,
+combat_s-ko,1,60,
+comb_over,0,60,
+coin_flip,0,60,
+cno,1,60,c_nov00
+clam_curry,1,60,
+chomikuplus,1,60,
+chocolate_clothes,0,60,chocolate_clothing
+chiri_to_mato,1,60,
+chilli_646,1,60,
+chiika_(cure_cherish),1,60,
+chiba_yuriko,1,60,
+chi_xiao_(arknights),0,60,
+cheeky_little_star,1,60,
+charizard_pose,0,60,
+chance_maker,1,60,
+celestial_globe,0,60,celestial_sphere
+cathyl,4,60,
+castration,0,60,
+canon_memphis,4,60,"hazama_canon,kanon_memphis"
+camouflage_legwear,0,60,
+camouflage_bra,0,60,
+calico_m950,0,60,
+byron_(pokemon),4,60,tougan_(pokemon)
+byoin,1,60,
+byakko_(kemono_friends),4,60,
+by_spoon,1,60,
+burn-up,3,60,
+bunting,0,60,
+broken_pillar,0,60,
+broken_heart_print,0,60,
+broken_arrow,0,60,
+braum_(league_of_legends),4,60,
+boss,0,60,
+bokujou_monogatari:_yasuragi_no_ki,3,60,harvest_moon:_tree_of_tranquility
+boku_girl,3,60,
+blue_(happinesscharge_precure!),4,60,blue_(precure)
+blanket_hug,0,60,
+birdie_(street_fighter),4,60,
+bibyo,1,60,
+beluga_dolphin,1,60,
+bella_(a-soul),4,60,
+belfast_(the_pledge_of_claddagh)_(azur_lane),4,60,belfast_(claddagh_ring's_vow)_(azur_lane)
+bekkomi,1,60,
+beek,1,60,
+beak_hold,0,60,
+baraba_baba,1,60,
+banana_oekaki,1,60,
+baldr_sky,3,60,
+bakanoe,1,60,
+baijiin_poison,1,60,rongyuedd
+azami_masurao,1,60,
+ayukawa_miyuki,4,60,
+ayase_yuuki_(mikan_mochi),1,60,
+aya_tori,1,60,
+asasow,1,60,
+asamiyajy,1,60,
+as4gi,1,60,
+arms_on_head,0,60,
+arkfield,1,60,
+arisegawa_arle,4,60,
+ariel_(yu-gi-oh!),4,60,
+archellaura,1,60,
+araquanid,4,60,
+arakawa_(aintnoroom),1,60,bridgesignal
+aoki_sei,4,60,veteran_trainer
+antidote,1,60,
+anna_(omoide_no_marnie),4,60,
+android_(os),3,60,
+anaroguya,1,60,
+amethyst_(steven_universe),4,60,
+amemura_(caramelo),1,60,
+amatsuki_hotaru,1,60,
+amaroku_neko,1,60,
+amano_akari,4,60,
+alternative_facts_in_eastern_utopia,3,60,
+alpha_(ypalpha79),1,60,
+alknasn,1,60,
+akiba_rika,4,60,
+aka_kan,1,60,fukurou_(hvgd5584)
+aji_(coastal_area),1,60,
+aizawa85,1,60,
+aisia,4,60,
+aida_(chinhung0612),1,60,
+ai_xiao_meng,1,60,
+agro_(shadow_of_the_colossus),4,60,
+adele_(fate),4,60,
+a082,1,60,
+a-na,1,60,
+a-10_thunderbolt_ii,0,60,
+76gpo,1,60,
+73suke,1,60,
+286c,1,60,
+zygarde_(50%),4,59,
+zumizu,1,59,
+zippo_lighter,0,59,
+zhou_yu_(ppaaqz1995),1,59,
+zhi_jiyang,1,59,
+zhen_long,1,59,
+zakku_(kya--193),1,59,
+yuncha,1,59,
+yumeoji_shiori,4,59,
+yukinokouji_nobara,4,59,
+yukimura_anzu,4,59,
+yuki56,1,59,
+yukasu,1,59,
+yui_(princess)_(princess_connect!),4,59,
+yugiri_perserte,4,59,
+yuchio,1,59,
+youkoso!_sukebe_elf_no_mori_e,3,59,
+yotsuyu,1,59,
+yostar_pictures,1,59,
+yoshika_fuumi,1,59,
+yomi_(indigoriver),1,59,
+yokohama,0,59,
+ymr,1,59,
+yanagi_joe,1,59,
+yan_vismok,4,59,
+yan-baru,1,59,
+yamaguchi_mami,4,59,
+xong,1,59,
+xiin,1,59,
+xenosaga_episode_ii,3,59,xenosaga_ii
+x-wing,0,59,
+wwwazxc,1,59,
+wild_mane_(arknights),4,59,iwona_(arknights)
+whispering_for_nothing,1,59,
+werewolf_costume,0,59,
+wedding_peach,4,59,
+watashi_no_oshi_wa_akuyaku_reijou,3,59,i'm_in_love_with_the_villainess
+warumono_tomii,1,59,
+walk_cycle,0,59,
+wakaokami_wa_shougakusei,3,59,
+waha_(artist),1,59,
+wabiushi,1,59,
+vlad_iii_(fate/extra),4,59,
+vivid507,1,59,
+virgo,0,59,
+vhs_(girls'_frontline),4,59,vhs_(girls_frontline)
+varamill,1,59,
+vajra_(macross),4,59,
+uyuyuun,1,59,
+uwabami_breakers,3,59,
+utsuhostoria,1,59,
+uryuu_sakuno,4,59,
+urano_ura,1,59,
+un_(le_monde-alternatif),1,59,
+ug_(ugg),1,59,
+uehara_ayaka,4,59,
+uchino_chika,4,59,
+tyranu,1,59,
+tyenka7728,1,59,
+twice_(boku_no_hero_academia),4,59,bubaigawara_jin
+tsushima_(kaikyo),1,59,"watanabe_giichi,yoshikazu_(ysk07)"
+tsunogiri,1,59,
+tsukasa-emon,1,59,
+toyosaki_aki,4,59,
+toyomi_13,1,59,
+toy_robot,0,59,
+tornadus,4,59,
+torinoko_city_(vocaloid),3,59,
+torikabuto_(flower_knight_girl),4,59,
+tonkatsu,0,59,
+tonan_leopard,1,59,
+tomatolover16,1,59,
+tokkyuu_mikan,1,59,
+tokimeki_memorial_girl's_side_4th_heart,3,59,
+toenketsu,1,59,
+tiona_hyryute,4,59,
+timeline,0,59,
+time,0,59,
+tianlluo,1,59,
+thumbtack,0,59,thumbtacks
+thorr_(fire_emblem),4,59,thorr_(fire_emblem_heroes)
+the_art_mage,1,59,reza_kabir
+tazbun,1,59,
+taxidermy,0,59,
+taste_of_a_liar_(meme),0,59,taste_of_a_liar
+tangle,0,59,
+tales_of_the_tempest,3,59,
+takatsuki_yoshino,4,59,
+takatou_rui,1,59,
+takakura,1,59,
+taiyou_akari,4,59,
+taguchi_shouichi,1,59,
+tachanka_(rainbow_six_siege),4,59,
+syu45,1,59,
+symbol_ricochet,0,59,
+swimsuit_under_swimsuit,0,59,
+sweetonedollar,1,59,co_ti_coffee_and_pussy_willow
+suzurino,1,59,
+suzuno,1,59,
+suzune_kotora,1,59,
+suzuki_ken'ya,1,59,suzuki_kenya
+suppa_(hagakuresuppa),1,59,
+super_sonic,4,59,
+super_robot_wars_t,3,59,
+sunafuki_tabito,1,59,
+summer_rose,4,59,
+submarine_sandwich,0,59,
+striker_eureka,4,59,
+stella_bremer,4,59,
+squemezzo,1,59,
+sprite_sheet,0,59,spritesheet
+sploot,0,59,
+spider_boy,0,59,
+spider-man_(cosplay),0,59,
+spica_(sumaga),4,59,
+sowamame,1,59,
+sota,1,59,
+soraru,4,59,
+sonota_taisei,1,59,
+solty_revant,4,59,
+soejima_shigenori_(style),0,59,
+sliggoo,4,59,
+sky_surfing,0,59,
+sinmo_(dolomang),1,59,bjk6796
+sigma_2018,1,59,
+sig_516,0,59,
+shoukan_yuusha_to_f-kei_kareshi,3,59,"f-kare,f_kare"
+shosudo,1,59,
+shiwashiwa_no_kinchakubukuru,1,59,
+shirubaa,1,59,
+shironekoban,1,59,
+shiroi_inu,4,59,
+shirogami_seisho,1,59,
+shiro_yurine,1,59,
+shiro-inu,1,59,
+shiro-chan_(mignon),4,59,
+shirai_yu,1,59,"hude-pen,ten."
+ship_in_a_bottle,0,59,
+ship_deck,0,59,
+shiono_(0303),1,59,siooooono
+shinonome_kazuhiko,1,59,shinonome_kasuhiko
+shimotsuki_miri,4,59,
+shimesaba_(simesabaikka),1,59,simesabaikka
+shikihime_zoushi,3,59,
+shiki_makoto,1,59,
+shiikeru,1,59,
+shichijou_aria,4,59,
+she_holds_my_weakness_(meme),0,59,
+sekine_irie,1,59,irie_sekine
+secre_swallowtail,4,59,
+scrotum_piercing,0,59,testicle_piercing
+saya_(majo_no_tabitabi),4,59,
+saucepan,0,59,
+satou_yasu,1,59,
+sapporo_beer,0,59,
+sandrone_(genshin_impact),4,59,
+samurai_calibur,4,59,
+samidare_(kancolle)_(cosplay),0,59,
+samantha_(admiral_bahroo),4,59,
+sakuyabm,1,59,
+sakuraniku_umatarou,1,59,
+sakuragi_akira,1,59,cherria
+sakura_momoko,4,59,
+sakura_honoka_(srhk0623),1,59,
+saki_(little_crown),1,59,
+sakana-ko,1,59,
+sailor_moon_musical,3,59,
+saibe,1,59,
+sabu_(sabudenego),1,59,
+ryo-suzuki,1,59,
+ruuen_rouga,1,59,
+rupika_(pso2),4,59,
+rulebreaker,0,59,rule_breaker
+riokasen,1,59,
+rinmmo,1,59,
+ri_(qrcode),1,59,
+relio_db318,1,59,
+regan_(hatsumi),1,59,e_f_regan826
+reagan_long,1,59,thoumeco
+ranan,1,59,1059yume
+ran_(7th_dragon),4,59,
+rainys_bill,1,59,
+raiden_shogun_(cosplay),0,59,
+quick_man,4,59,quickman
+quan_zhi_gao_shou,3,59,
+qrow_branwen,4,59,
+qiqu,1,59,
+q_(street_fighter),4,59,
+purple_(among_us),4,59,
+pukao,1,59,
+ptilopsis_(serenity)_(arknights),4,59,
+psychogun,0,59,
+prinz_eugen_(kancolle)_(cosplay),0,59,
+positive_passion_(idolmaster),0,59,positive_passion
+ponta_(matsuokazieg),1,59,
+plaid_collar,0,59,
+petag2,1,59,
+persona_q:_shadow_of_the_labyrinth,3,59,persona_q
+parasite_oyatsu,1,59,
+pantyhose_under_buruma,0,59,
+pandora_party_project,3,59,
+pallette_(mega_man),4,59,palette_(rockman)
+paku_paku,4,59,
+ozyasadayo,1,59,
+ouma_bunshichirou,1,59,
+osanai_yuuta,4,59,
+organ_rn,1,59,
+orchestra,0,59,
+open_drawer,0,59,
+onsen_nakaya,1,59,
+okeno_kamoku,1,59,
+okamura_hijiki,1,59,
+odoc,1,59,
+octobrush_(splatoon),0,59,
+ochanomizu_hiroshi,4,59,
+obelisk,0,59,
+nyako_(lhq3p),1,59,
+nvidia,3,59,
+noshimasa,1,59,
+nonohara_hime,4,59,
+noise_(hakusen),1,59,
+noda_kotone,4,59,
+nobusnow,1,59,
+nobu_baka,1,59,
+nobicco,1,59,
+noah_fantasy,3,59,nuoya_huanxiang
+njike,1,59,
+nishiyama_maruta,1,59,
+nipple_sleeves,0,59,nipple_sleeve
+nipa~,0,59,
+nina_klatt,4,59,
+niiyan,1,59,
+newhalf_with_newhalf,0,59,
+nerua,1,59,
+nekoyuu,1,59,
+nekomanma_(byougatei),1,59,
+nekoman_(nukomann),1,59,
+nekokan-nekokan,1,59,
+neko_(k),4,59,
+nefertari_(tsukudani),4,59,
+needle_(needlebomb),1,59,
+nebukuro,1,59,
+nayuta-kanata,1,59,nayuta-knt
+natsuhara,1,59,
+nas-o,1,59,
+narwhal,0,59,
+naoto_(96neko96),1,59,
+nami_no_manimani,3,59,
+nakkasu,1,59,
+nahanmin,1,59,
+nagoriyuki,4,59,
+nagihashi_koko,1,59,
+nagare_kei,1,59,
+nagaoka_shiho,4,59,
+myr_(p&d),4,59,
+muzet_(tales),4,59,muse_(tales_of_xillia)
+munaage,1,59,
+multiple_style_parody,0,59,style_collage
+muki_(muki_kunxd),1,59,"ki-san_(17933537),ki-san_(konoha)"
+mr._satan,4,59,
+motonaga_hiroya,1,59,gessekai
+moto_toshi,1,59,
+mortal_kombat_x,3,59,
+moritaka_(housamo),4,59,moritaka_(tokyo_houkago_summoners)
+moriichi,1,59,
+morichan,1,59,
+monmonism,1,59,
+momono_shiori,4,59,
+molly_hale,4,59,me_snowdon
+moja_(rainpoow),1,59,"moja_(moquackja),rainpoow"
+moizumi_shipon,1,59,
+mochityoko,1,59,
+mizuki_saori,4,59,
+miyasumi_(jam_session),1,59,kukkujoo
+miyamae_tomoka,4,59,
+miya_(tokumei),1,59,
+mitsuki_(goomoku),1,59,
+mita_kurumi,1,59,
+misuzu_(iridescence),1,59,
+mirusa,1,59,
+miroku_(inuyasha),4,59,
+miracles_of_the_holy_night_(umamusume),0,59,
+mintes,1,59,
+minaho_kazuto,4,59,
+minagawa_yuuhi,4,59,
+milady_(mechanical_buddy_universe),4,59,
+mikuni_(open-ranka),1,59,
+mikoto_cluster,4,59,
+mikoto_(mikoto_r_a),1,59,
+mikogami_rimu,4,59,
+mikochi_(hakumei_to_mikochi),4,59,
+mikaze_ai,4,59,
+mikaku,1,59,
+mikafen,1,59,
+mii_(popotan),4,59,
+mgn0isi,1,59,
+mepo_(raven0),1,59,
+meow_(space_dandy),4,59,
+menoko,1,59,
+mayuzumi_makiha,1,59,
+mayutsuba_mono,1,59,
+mavis_vermilion,4,59,
+matatabi_(karukan222),1,59,
+mashu_(masyu_ut),1,59,
+marufuji_shou,4,59,syrus_truesdale
+mao_(alepricos),1,59,
+mano_(narumi_arata),4,59,
+manmi,1,59,oomumemo
+manga_time_kirara_carat,3,59,
+mandudaein,1,59,
+mamadasky,1,59,
+major_league_baseball,3,59,
+mahou_shoujo_ikusei_keikaku_jokers,3,59,
+magnetism,0,59,
+magmortar,4,59,
+magazine_ejection,0,59,
+maeda_inuchiyo,4,59,
+lunaraven,1,59,
+louise_(fire_emblem),4,59,
+lop_rabbit_ears,0,59,
+locksuke,1,59,
+leon_(sygna_suit)_(pokemon),4,59,
+lemur,0,59,
+lee_siu,4,59,
+le_delicatessen,1,59,
+lazymimium,1,59,
+lazengann,4,59,
+last_chronicle,3,59,
+large_ribbon,0,59,
+la_folia_rihavein,4,59,
+ky_(ky990533),1,59,
+kuzan_(aokiji),4,59,aokiji_(one_piece)
+kuuchuu_buranko,3,59,
+kusaka_eiki,1,59,
+kurosujuu,1,59,
+kurosawa_tomo,1,59,
+kurokiri6630,1,59,
+kuroino_(poco),4,59,
+kurogoma_(haruhi3),1,59,
+kurogane_(tsubasa_chronicle),4,59,
+kurageso,1,59,
+kumanomi,1,59,
+kugimiya_kei,4,59,
+krita_(medium),5,59,
+koyuiko,1,59,
+kouno_(uiyoyo199),1,59,
+kotohane,1,59,
+korona,1,59,
+koron_chris,4,59,
+koori_chikage,4,59,
+kono_oozora_ni_tsubasa_wo_hirogete,3,59,
+kono_aozora_ni_yakusoku_wo,3,59,
+konatsu_karasu,1,59,
+konagi_(konotuki),1,59,konotuki
+komo_da,1,59,komoda
+kohinata_raichi,1,59,
+kiu_(dear_deer),1,59,kouki371
+kitin,1,59,
+kite_(hunter_x_hunter),4,59,
+kit_(studio),1,59,
+kisuu_(oddnumberr_),1,59,
+kissing_leg,0,59,leg_kiss
+kise_(swimmt),1,59,
+kisaragi_hina,1,59,
+kiritani846,1,59,
+kirenenko_(usavich),4,59,
+kinokoko-kino,1,59,
+king_boo,4,59,
+kimagure_ringo,1,59,
+kikuru_(vtuber),3,59,
+kikkaiki,1,59,
+khornette_quest,3,59,
+kenken_(keuken),1,59,
+ken-san,1,59,647531835
+keli_bang,1,59,feng_ze
+kcar66t,1,59,
+kazeha_(starrysky),1,59,
+kazami_ryouya,1,59,
+kazama_jun,4,59,
+kawamoto_akari,4,59,
+kasukabe_tarou,1,59,
+kash-phia,1,59,
+karakoro,1,59,
+kamine_ayaka,4,59,
+kaishinshi,1,59,
+kairi630,1,59,
+kagelantern,1,59,
+kafeifeifeifeifeifei_jiemo_jun,1,59,mr._coffeefeefeefeefeefeewasabi
+kaburaya_seiden,1,59,
+k9999,4,59,
+juu_satoshi,1,59,
+juri_(shiningred),1,59,
+juno_emmons,4,59,
+joker_(smile_precure!),4,59,
+john_joseco,1,59,
+johan_liebert,4,59,
+jinnai_enta,4,59,
+jess_(jelee),1,59,
+jeanne_d'arc_(mystery_treasure)_(fate),4,59,
+jammeryx,1,59,
+jai_(whany1998),1,59,
+jacuzzi_splot,4,59,
+jack_howl,4,59,
+jabittoson,1,59,
+izuna_jinkuro,4,59,
+iwashi_mizuni,1,59,
+iwaki_hazuki,1,59,
+iteza_(flapper_girl_25),1,59,
+isoi_reiji,4,59,
+ishikawa_mami,1,59,fujisawa_machi
+ironatsuki,1,59,
+inuyama_akari,4,59,
+inukoro_(spa),1,59,
+inukai_mofu,1,59,
+inui_arihiko,4,59,
+inugami_akito,1,59,
+inue_ao,1,59,higano_(ktnc7452)
+inoue_marina,4,59,
+inkune,1,59,
+inhaling,0,59,
+incredible_ecclesia_the_virtuous,4,59,
+imo_norio,1,59,
+imanaka_koutarou,1,59,
+icywood,1,59,
+ichimonji_batsu,4,59,
+ichimatsu_kohina,4,59,
+hyuuga_kai_ni_(kancolle),4,59,
+huyou_(awegk),1,59,
+hornjob,0,59,
+hopper,1,59,
+honi,1,59,
+holding_to_chest,0,59,
+hmk84,1,59,
+hiyake-chan,4,59,
+hitobashira_(1746164306),1,59,
+hiseki_(tknkkm),1,59,tknkkm
+hinata_(ryohinata),1,59,
+himekawa_kotone,4,59,
+himekawa_hayuru,4,59,
+higashikata_joshu,4,59,
+hibi_tsuna,1,59,
+heika_(heikahp),1,59,
+heidi_(gray_all),1,59,
+hayato_(meromoni),1,59,
+hayami_ayumi,4,59,
+hayame_(m_ayame),1,59,
+hatoneko,1,59,
+hato_moa,1,59,moa810
+hastur,4,59,king_in_yellow
+haruna_hisui,1,59,
+haru_(d-s-c),1,59,
+haru_(beastars),4,59,
+haoto_luna,1,59,
+hanging_from_tree,0,59,
+hane_(15188414),1,59,
+hand_maid_may,3,59,handmaidmay
+hala_(pokemon),4,59,
+haban_(haban35),1,59,
+gyoukan_(jfxc),1,59,
+gyan,4,59,
+guriko_(mossari),1,59,
+gray_(fire_emblem),4,59,grey_(fire_emblem)
+glowing_tail,0,59,
+girlsay,1,59,
+ginnote,1,59,
+gigantic_testicles,0,59,
+gen_(gen_7254),1,59,
+gats_(nougats),1,59,
+gas_tank,0,59,
+gabi_braun,4,59,
+fuyutsuki_asuto,1,59,
+fusenryo,1,59,
+fumotono_mikoto,1,59,
+fujimaru_ritsuka_(female)_(halloween_royalty),4,59,
+frilled_garter_belt,0,59,
+fractale,3,59,
+floralia,3,59,
+fjt_(fjym2),1,59,
+finland,0,59,
+finger_to_nose,0,59,
+ferdy's_lab,1,59,
+fabiola_iglesias,4,59,
+fa_mulan_(disney),4,59,
+f-una,1,59,
+eva_solo,1,59,
+etna_(disgaea)_(cosplay),0,59,
+eternal_melody,3,59,
+eruza,1,59,
+enraenra_(youkai_watch),4,59,
+eien_no_juu_nana-sai,1,59,fallen_heaven
+earthquake,0,59,
+e.g.o_(project_moon),0,59,
+dwebble,4,59,
+duoj_ji,1,59,
+ds_(ndsl),1,59,
+dragon_star2,1,59,
+dp28_(girls'_frontline),4,59,dp28_(girls_frontline)
+downes_(azur_lane),4,59,
+dofus,3,59,
+diting_(the_legend_of_luoxiaohei),4,59,
+devy_lobotomy,1,59,
+deredere,0,59,
+denim_dress,0,59,
+deme_(karesuki),1,59,karesuki
+damian_wayne,4,59,
+daikan'yama_ebisu,1,59,
+daichi_nono,4,59,
+dahuang,1,59,
+dada_(esoragoto),1,59,
+d_tomoki,1,59,tomovan
+czeslaw_meyer,4,59,
+cygnet_(sea_star_on_shore)_(azur_lane),4,59,
+cutting_clothes,0,59,
+cutepet,1,59,"ecchi-star,ecchi-star!"
+cure_black_pose,0,59,
+cum_on_bed,0,59,
+cuckoo_clock,0,59,
+controlline3,1,59,
+comiket_84,3,59,
+comforter,0,59,
+clitoris_leash,0,59,clit_leash
+clitoris_clamp,0,59,clit_clamp
+ciel_arc,1,59,
+chou_chou,4,59,
+chitu_hefeng_zhong,1,59,
+chitose-kun_wa_ramune_bin_no_naka,3,59,chitose_is_in_the_ramune_bottle
+chinese_mythology,3,59,
+chiaki_(shigofumi),4,59,
+chest_cutout,0,59,
+charjabug,4,59,
+cb,1,59,
+canon_(company),0,59,
+canoe,0,59,
+buzheng61241,1,59,
+bus_stop_sign,0,59,
+buffalo_bell,4,59,
+bseibutsu,1,59,condoria
+brown_jumpsuit,0,59,
+brown_hair_girl_(nagioka),4,59,
+brazuca,0,59,
+bobamiruku,1,59,
+blueberry_hair_ornament,0,59,
+blemishine_(moon_catastrborn)_(arknights),4,59,
+blackheart,1,59,
+black_egrets,4,59,
+bird_of_paradise_flower,0,59,strelitzia_(flower)
+birch_(pokemon),4,59,
+berkut_(fire_emblem),4,59,
+bepo,4,59,
+bearwitch,1,59,
+beartic,4,59,
+battle_spirits:_burning_soul,3,59,
+batabiru,1,59,
+bartholomew_fatima,4,59,
+barrel_(live_a_hero),4,59,
+bang5410,1,59,
+bamboo_scroll,0,59,
+balthus_von_albrecht,4,59,
+bakugan_battle_brawlers,3,59,
+azukiko,1,59,
+ayuko_(ayuko54bornthisway),1,59,
+ayatan-kiri,1,59,
+ayakichi,1,59,
+awashima_seri,4,59,
+awarinko,1,59,
+atelier_iris,3,59,
+atatatamu,1,59,
+ataka_takeru,1,59,
+at4,0,59,
+ashfair,1,59,
+asami_lilith,4,59,
+art_deco,0,59,
+archer_alter_(fate),4,59,archer_alter
+apple_peel,0,59,
+ao_(aoblueao),1,59,
+antonio_salieri_(first_ascension)_(fate),4,59,
+another_story,1,59,
+ankoro_mochi,1,59,
+angelene,4,59,
+ange_serena,4,59,
+ancient,0,59,
+anba_kohaku,1,59,
+amoonguss,4,59,
+amazu_(kurozu),1,59,sin_kurozu
+amamiya_poran,1,59,
+amafuyu,1,59,
+alisa_mikhailovna_kujou,4,59,
+alexander_anderson,4,59,
+albacore_(warship_girls_r),4,59,
+akym,1,59,
+akiha_gongen_(housamo),4,59,akiha_gongen_(tokyo_houkago_summoners)
+akari_maki,1,59,
+aira_kanae,4,59,
+aikawa_aika,4,59,
+aida_(aidia),1,59,
+agnes_digital_(lovely_jiangshi)_(umamusume),4,59,
+afternooners,1,59,
+aerokinesis,0,59,wind_magic
+aduti_momoyama,1,59,
+ad-6-0001a,4,59,
+aaaninja,1,59,
+a_flat_chest_is_a_status_symbol,0,59,
+852_box,1,59,
+360_(taiyo360),1,59,360_(pixiv47196062)
+'o'ne,1,59,
+zouni_(xavier),1,58,
+zero_project,3,58,
+z23_(philosophy_sensei)_(azur_lane),4,58,z23_(teacher_of_philosophy)_(azur_lane)
+yztp_(sanmery),1,58,
+yuuta_kanami,4,58,
+yuuno_arashiko,4,58,
+yuniiho_(vtuber),4,58,
+yumeno_yume,1,58,
+yume_(454565427),1,58,
+yukiri_(l_ii),1,58,l_ii
+yozora,1,58,
+youmu_day,0,58,
+youkai_watch_3,3,58,
+yoshinari_kou,1,58,
+yoshikawa_tomoko,4,58,
+yokoi_rumi,4,58,
+yohaku_aki,1,58,yohakuaki
+yilan_un,1,58,
+yeruen,1,58,
+year_connection,0,58,
+yatogami_tenka,4,58,yatogami_tooka_(true_form)
+yasuyori_(housamo),4,58,yasuyori_(tokyo_houkago_summoners)
+yasumori_zen,1,58,
+yamineko,1,58,
+yajima_caroline,4,58,
+xin_zhao,4,58,
+x_chitch,1,58,
+wojak,4,58,
+wo_you_yibei_jia_wanli,1,58,
+witches_5,0,58,
+windyakuma,1,58,
+white_gorilla_(okamoto),1,58,
+webp-to-png_conversion,5,58,
+webley_revolver,0,58,
+watori_re,1,58,cotton_(cotton_toriatsu)
+watata13,1,58,
+watarai_asuka,4,58,
+wasabichan,1,58,
+wan_sheng_jie,3,58,
+waeba_yuusee,1,58,
+vvcephei,1,58,
+vic_viper,4,58,
+venn_(vebonbon),1,58,vebonbon
+vdonburi,3,58,
+v_gundam,4,58,
+unown_c,4,58,
+unmei_no_clan_battle,3,58,
+un_nm5sy,1,58,
+ume_(326310),1,58,
+ug333333,1,58,
+uchuu_kaizoku_captain_harlock,3,58,space_pirate_captain_harlock
+u_(lastcrime),1,58,
+u-d,4,58,
+tynamo,4,58,
+tyke,1,58,
+twice_(group),3,58,
+tsuyukusa_(eeta7273),1,58,
+tsuyudakunanoda,1,58,
+tsutsumi_kinuka,4,58,
+tsutsugami_gai,4,58,
+tsukishiro_mina,4,58,
+tsukishiro_kou,1,58,blight_sphere
+trick-or-treating,0,58,
+tri-stringer_(splatoon),0,58,
+tougou_tsuyoshi,4,58,
+touchuu_kasou,1,58,
+tosaka_(tosaka0001),1,58,
+torque,1,58,
+tora_(torayarou),1,58,
+tooboshoo,1,58,tangbingla
+tonelico_(fate),4,58,
+tomotake_yoshino,4,58,
+tomato_manme_(voice_actor),1,58,"manmetomato,tomato_manme"
+toho10min,1,58,
+toho-77,1,58,
+tigern,1,58,
+tiger_rmn,1,58,
+thymilph,4,58,
+thors_military_academy_branch_campus_uniform,0,58,
+tesagure!_bukatsu-mono,3,58,
+tenkomori_(nirastrator),1,58,
+temurei_(vovovov),1,58,vovovov
+telomere,1,58,
+tatsuno_(saya-tatsuno),1,58,
+tapi,1,58,
+tanaka_misa,4,58,
+tanaka_(chainsaw_man),4,58,
+tamaki_(tamaki_illust),1,58,
+takashima_hiromi,1,58,
+taiki_(ozone),1,58,
+tahnya,1,58,
+table_flip,0,58,
+sxupxdxxy,1,58,
+swordsman_(sekaiju),4,58,landsknecht_(sekaiju)
+swindler_(akudama_drive),4,58,
+swiftsure_(study_hall_cyclamen)_(azur_lane),4,58,swiftsure_(secluded_cyclamen)_(azur_lane)
+suzunone_seven,3,58,
+suzuna_(najaran),1,58,
+suvin_(mononochi),1,58,
+superboy,4,58,
+sunset_shimmer,4,58,
+sunomiya_sana,4,58,
+sunapua,1,58,
+sunadori_oruka,4,58,
+sumishuu,1,58,
+sukeo_(nunswa08),1,58,
+sukeno_yoshiaki,1,58,
+sugai_(4ugaii),1,58,nakid
+stuffed_monkey,0,58,
+studio_tri4,3,58,
+steam_(platform),3,58,
+station,0,58,
+stardrop,1,58,tohno37
+spiz,1,58,phat_nguyen
+souler_(fresh_precure!),4,58,
+sosuke_(yrmon),1,58,
+sonic_speed_monkey,4,58,
+sonic_boom,0,58,
+sonic_and_the_black_knight,3,58,
+somalisu,1,58,
+snowflyer,1,58,
+sniper_wolf,4,58,
+snegovski,1,58,
+skywaker,1,58,
+skull_choker,0,58,
+skeletal_tail,0,58,
+siren_(p&d),4,58,
+siren_(devilman),4,58,
+siren,3,58,
+shy_gal,4,58,
+shouwaru,1,58,
+shoura,1,58,
+shou_mai,1,58,
+shitodo_aoji,4,58,
+shirt_bow,0,58,
+shirotaka_(5choume),1,58,
+shiroi_ko_(otokuyou),4,58,
+shirayuki_mutsumi,1,58,
+shiratsuyu_(nagatukihakuro),1,58,
+shindou_(fuguri),1,58,
+shimoku_reyu,1,58,
+shimofuji_jun,1,58,toru_(junshikyo)
+shikishima_krile,4,58,
+shihoru_(grimgar),4,58,
+shi-2,1,58,
+sherumaru_(korcht06),1,58,
+shenhua,4,58,
+setouchi_kurage,1,58,
+setia,4,58,
+serra_(sennen_sensou_aigis),4,58,
+seiya_(iiseven),1,58,
+see-through_coat,0,58,
+se.a,1,58,
+sd_sengokuden,3,58,sd_gundam_sengokuden
+scorpion_tattoo,0,58,
+sawawse,1,58,
+sawatari_reika,4,58,
+satsuki_kei,1,58,
+sasasa_(nashi),1,58,
+sarcophagus,0,58,
+saotome_hiyori,1,58,
+saiykik,1,58,
+sagittarius,0,58,
+s_ryouchi,1,58,
+s_ibane,1,58,
+ryokucha_(i_cobalt),1,58,
+ryao,1,58,
+rushian,1,58,
+routes,3,58,
+roten_(rotenburo),1,58,hekino_hayate
+ringo_komachi,1,58,hinazawa_kirie
+retri,1,58,
+renzu_(mushishi),4,58,
+renaissance_clothes,0,58,
+red_uniform,0,58,
+red_hayao,1,58,
+rakuma_kanori,1,58,
+radio_(mei99),1,58,
+racket_ti1,1,58,
+raamen,1,58,nekousapurin
+queen_draco_(fate),4,58,
+quan_(fire_emblem),4,58,cuan_(fire_emblem)
+qqqne,1,58,03837172
+qie,1,58,qie_(25832912)
+qi_yuan_zhi_yu,1,58,
+puck_(berserk),4,58,
+project_x_zone_2,3,58,
+priscilla_asagiri,4,58,priss_asagiri
+princess_kraehe,4,58,
+priecia,4,58,
+potion_lilac,1,58,
+pota_(bluegutty),1,58,
+porocha,1,58,
+polka_dot_pants,0,58,
+polka_dot_neckwear,0,58,
+plaque,0,58,
+planetes,3,58,
+pinoaisu,1,58,
+pinkiepies2,1,58,
+pico_(p_i_c_o),1,58,
+pia_carrot_e_youkoso!!_g.o.,3,58,pia_carrot_go
+personality_core,0,58,
+peku_(science_santa-san),1,58,
+pedal,0,58,
+peachpulsar,1,58,
+peach_luo,1,58,
+patoto,1,58,
+parker-hale_idw,0,58,bushman_idw
+papo,1,58,
+panzerkampfwagen_38(t),0,58,
+paladin_(warcraft),4,58,
+paco_(eien_mikan),1,58,
+p.i.l.,1,58,
+over_the_collar_(idolmaster),0,58,over_the_collar
+otogari_adonis,4,58,
+oro_(street_fighter),4,58,
+oricorio_(pa'u),4,58,
+orc_(ii_orc_no_hi),4,58,
+oratoza,1,58,
+orange_male_swimwear,0,58,
+ootori_kanae_(soukou_akki_muramasa),4,58,
+ooeyama_ken,1,58,ooe_yamaken
+oobashin,1,58,
+oo_gata_ken,1,58,
+onsen_tengoku,1,58,
+onguuchi,1,58,
+omizu_(h2o),1,58,
+omega_rio,4,58,
+okubyou_yuuki,1,58,
+okinami_kai_ni_(kancolle),4,58,
+oke_(okeya),1,58,
+okari,1,58,
+oingo,4,58,
+nz75_(girls'_frontline),4,58,"nz_75_(girls'_frontline),nz_75_(girls_frontline)"
+nyaxxy,1,58,
+nunotaba_shinobu,4,58,
+numachi_doromaru,1,58,
+nonono_(1399900),1,58,gotounoriji
+nohara_hiroshi,4,58,
+noda_miki,4,58,
+nobunaga_no_yabou,3,58,nobunaga's_ambition
+nishinosora_yoichi,4,58,
+nishigoori_takeshi,4,58,
+ninomiya_rui,4,58,
+nine_(lord_of_heroes),4,58,
+nii_(ao_no_exorcist),4,58,
+nier_(lover_by_the_lily_lake)_(granblue_fantasy),4,58,
+ni_piao_xiancai,1,58,kong_xian
+nerunerunerune,0,58,
+nekoro_(nekokabuto),1,58,
+nekolook,1,58,
+nekobatake,1,58,
+nameneko_(124),1,58,
+naked_vest,0,58,
+my_daily_life_in_the_otaku_club_isn't_normal,3,58,
+mutsuki_ginji,1,58,
+murayamawataru,1,58,
+munmu,1,58,
+multicolored_choker,0,58,
+mujin_gattai_kisaragi,3,58,
+muaooooo,1,58,
+movie_reference,0,58,
+morris1611,1,58,
+moro_(mononoke_hime),4,58,
+moppo,1,58,
+moldavite,3,58,
+mogtate,1,58,
+mm_(kemeko_deluxe),4,58,
+miyamizu_yotsuha,4,58,
+miyako_yoshika_(living),4,58,
+miyajima_reiji,1,58,
+miss_fortune_(idolmaster),0,58,
+miso_tanuki,1,58,richou_ask
+mishy,4,58,
+mirutu,1,58,
+mirunai,1,58,
+mimippu,1,58,
+miloku,1,58,
+mikumix,3,58,
+mikami_yuuki_(nl8you),1,58,
+mihoto_kouji,1,58,
+mihama_machi,1,58,
+midori_(searchlight),1,58,
+midori_(cafe-chan_to_break_time),4,58,midori-chan_(porurin)
+miclone,0,58,
+mi-24,0,58,
+meyamu,1,58,
+mercenary_(zero_kara_hajimeru_mahou_no_sho),4,58,
+meng_ge_3_(565571710),1,58,
+melanie_malachite,4,58,
+mayu_(airmods),1,58,
+matsuzaki_yutaka,1,58,
+matsu_symbol,0,58,
+masunosushi,1,58,
+master_gundam,4,58,
+mashiro_botan,3,58,
+mash_kyrielight_(enma-tei_uniform),4,58,
+masco_(character),4,58,
+maruze_circus,1,58,
+marty_mcfly,4,58,
+mariana_princilla,4,58,
+mari_(delightfully_fuckable_and_unrefined!!),4,58,
+march_7th_(honkai:_star_rail),4,58,
+manaka_misato,4,58,
+mame-p,1,58,
+makihige,1,58,
+makaroni,1,58,
+mahan_(warship_girls_r),4,58,
+magi-cu,3,58,
+mafen,1,58,
+macaroni_and_cheese_(artist),1,58,
+luthier_(fire_emblem),4,58,
+lutecia_syndrome,1,58,
+luo.,1,58,
+luna_(epic_seven),4,58,luna_(epic7)
+luft,1,58,
+lotpi,1,58,
+long_breast_curtain,0,58,
+liowig,1,58,
+linus_falco,4,58,
+licking_thigh,0,58,thigh_licking
+leon_v,1,58,
+lena_sayers,4,58,
+lavinia_whateley_(emerald_float)_(fate),4,58,
+latex_skirt,0,58,
+last_night_good_night_(vocaloid),3,58,
+ladfa,1,58,fanfad
+lace-trimmed_veil,0,58,
+kyo9999,1,58,
+kyder,1,58,
+kyaku_tatsu,1,58,
+kuzukago_(bitchmaker),1,58,
+kuudere,0,58,
+kusumoto_touka,1,58,
+kusano,4,58,
+kurokuro_illust,1,58,
+kurodani_yamame_(spider),4,58,
+kurikabacha,1,58,kurii89800727
+kurashina_yuzuki,1,58,
+kunai_uri,1,58,
+kujikimi,1,58,ebidashi_(doragon7445)
+kugatsu_tooka,1,58,
+kousaka_rino,4,58,
+koto_seori,1,58,
+kosencha,1,58,
+koretsuna,1,58,
+korea,0,58,
+konimaru,1,58,
+kollerss,1,58,
+kogawa,1,58,
+kofune_mio,4,58,
+kno_(anahita),1,58,
+knight_servant,4,58,
+kmbk0209,1,58,
+kiyomasa_ren,1,58,
+kiryuu_aoko,1,58,"aoko_(fi-eltz),kiryu_aoko"
+kha'zix,4,58,
+kevin_(seiken_densetsu_3),4,58,
+kemonomichi_(blue_black),1,58,
+kemomin_nosuke,1,58,simanokob
+keffiy,1,58,
+kea_(eiyuu_densetsu),4,58,
+kaz_(shade),1,58,
+kawacchi_hirohiro,1,58,
+katoki_hajime,1,58,hajime_katoki
+karupisusawa,1,58,
+karis_(elsword),4,58,
+kanzi,1,58,rapter30855
+kanon_(sinto),1,58,
+kano_hito,1,58,
+kani_kanizawa,4,58,
+kanayama_nao,4,58,
+kamin,1,58,
+kamiki_mikami,4,58,
+kaimuu_(fahrenheit724),1,58,
+kaidou_mitsuki,1,58,kaido_sakura
+kaguya_(queen's_blade),4,58,
+kaga_(exalted_white_wings)_(azur_lane),4,58,kaga_(white-tailed_magnificence)_(azur_lane)
+kachi,1,58,
+k701,0,58,
+jupiter_europe,1,58,
+judge_martin,1,58,
+johann_trinity,4,58,
+jlien-,1,58,
+jinu_(jinusenpai),1,58,
+jean_popo,1,58,jumpei99
+jchoy,1,58,
+jaeger_(girls'_frontline),4,58,jaeger_(girls_frontline)
+jack_of_spades,0,58,
+izuriha_kagari,4,58,
+izumo_no_okuni_(fate),4,58,
+itsukushima_takako,4,58,
+itsuka_tenma_no_kuro_usagi,3,58,a_dark_rabbit_has_seven_lives
+itagaki_hako,1,58,
+irodorimidori,3,58,
+incloud,1,58,
+imtmcomics,1,58,
+imperial_german_flag,0,58,german_empire_flag
+illumi999,1,58,
+iko_(i-my-16),1,58,
+ikaruga,3,58,
+idemi-iam,1,58,
+ichini_(aaaraaaaaaaaa),1,58,
+ichiko_oharu,1,58,"oharu_(koigusuri),oharu_(pixiv85447)"
+ichikei,1,58,
+ichigoame,1,58,
+ibuibuyou,1,58,
+ibui_matsumoto,1,58,
+i_want_my_hat_back,3,58,
+hover_hand,0,58,
+hotel_transylvania,3,58,
+hitode_(ziburi),1,58,
+hitachi_sou,1,58,
+hirotaka0125,1,58,
+hiro_(user_negm3832),1,58,
+hina_(hinalovesugita),1,58,
+himono_xeno,1,58,
+hikyakuashibi,1,58,
+hiiragi_tsubomi,4,58,
+hiiragi_kei,1,58,
+high-waist_panties,0,58,
+helena_blavatsky_(christmas)_(fate),4,58,
+hei_(heiyohei),1,58,
+heart_sutra,0,58,gyate
+hayato_rikin,1,58,
+hatsuki_kaname,1,58,
+hatake_michi,1,58,
+haruki_(haruki678),1,58,
+harryham_harry,4,58,
+harpoon_gun,0,58,
+harlequin-wheels,1,58,
+hara_hikaru,1,58,
+hanaichi_(hana13),1,58,
+hakugin006,1,58,
+hair_straightener,0,58,
+hair_bondage,0,58,
+hadean92,1,58,
+gunner_(dungeon_and_fighter),4,58,
+guame,4,58,
+grizzly_mkv_(weekend_cop)_(girls'_frontline),4,58,
+grisaia_no_meikyuu,3,58,
+greentree,1,58,
+googoogaagaa,1,58,
+gomeisa_(live_a_hero),4,58,
+god_knows...,0,58,
+glasses_boy_(osomatsu-san),4,58,
+giwa,1,58,
+geriyarou,1,58,
+gensui_(auoua),1,58,
+genkai_tokki_monster_monpiece,3,58,monster_monpiece
+genesic_gaogaigar,4,58,
+gauche_(tales),4,58,
+galaxy_fight,3,58,
+galarian_linoone,4,58,
+gaien_(willtame),1,58,
+futaru_usagi,1,58,
+futaba_jun,1,58,
+fur-trimmed_panties,0,58,
+fujimoto_atsuko,4,58,
+fujimaru_ritsuka_(male)_(anniversary_blonde),4,58,
+fudo_shin,1,58,
+fragran0live,1,58,
+foreground_text,0,58,
+fmu,1,58,
+flower_panties,0,58,
+flabebe_(red),4,58,
+fish_eye_(sailor_moon),4,58,
+feb_itk,1,58,
+feather_(granblue_fantasy),4,58,
+ethyria,0,58,
+ero_shocker,1,58,
+equal_(heartstrings),1,58,
+envy_baby_(vocaloid),3,58,
+endless_eight,0,58,
+ender_lilies_quietus_of_the_knights,3,58,
+emu_(losspass),1,58,
+elementalist_(dungeon_and_fighter),4,58,
+eita_789,1,58,
+egg_carton,0,58,
+edward_teach_(final_ascension)_(fate),4,58,blackbeard_(final_ascension)_(fate)
+edo.,1,58,
+ebihara_ai,4,58,
+e-note,1,58,
+dunkerque_(afternoon_venus)_(azur_lane),4,58,dunkerque_(afternoon_aphrodite)_(azur_lane)
+droite_(tales),4,58,
+dream_world_(touhou),0,58,
+dorothy_(shingeki_no_bahamut),4,58,
+don_quixote_(limbus_company),4,58,
+doi_shizuha,4,58,
+dodome_ichika,4,58,
+do9bessa,1,58,
+digimon_adventure:_(2020),3,58,digimon_adventure:
+darkgreyclouds,1,58,
+dana_(ys),4,58,
+daluto_(hitomi555),1,58,
+daitai_sotogawa_(futomomo),1,58,
+daiki,1,58,
+daijoubu_da_mondai_nai,0,58,don't_worry_everything's_fine
+cure_magical_(ruby_style),4,58,
+cum_on_mask,0,58,
+cubism,0,58,
+cu_chulainn_(fate/stay_night)_(cosplay),0,58,
+cor_leonis,4,58,
+commissioner_insert,0,58,
+combo_counter,0,58,
+coelacanth_(gyotaku),1,58,chobisuke
+cocaduel,1,58,
+clearpage,1,58,
+chong_(547342983),1,58,
+chocolate_on_penis,0,58,
+chiru_(218mg),1,58,
+chimosaku,1,58,
+child-box,1,58,
+chil0107,1,58,tokuhoncil
+chikuwa_(tikuwaumai_),1,58,
+chikkuru,1,58,tickled_pink
+chii_(sbshop),1,58,
+cecilia_(acerailgun),4,58,
+caramel,0,58,
+carabiner,0,58,
+cannonball,0,58,cannonballs
+california_sea_lion_(kemono_friends),4,58,
+caladbolg_(fate),0,58,caladbolg
+cac_itinose,1,58,
+buran_(22x),1,58,buranketo_2
+bungaku_shoujo_(danshi_koukousei),4,58,bungaku_shoujo_(yassan)
+broken_chopsticks,0,58,
+bring_stabity,4,58,
+boy_meets_girl,3,58,
+bound_leg,0,58,
+bomberman_jetters,3,58,
+bomb_(final_fantasy),4,58,
+bocchi-ya-nawi,1,58,
+bloodberry,4,58,
+blood_lad,3,58,
+blonde_ponytail_girl_(mdf_an),4,58,
+blade_catching,0,58,
+blackjunk,1,58,
+bionicle,3,58,
+betrayal,0,58,
+bent,0,58,
+ben_10:_omniverse,3,58,
+beaver,0,58,
+beatrix_bremer,4,58,
+bastet_(mythology),4,58,bast
+baronia,1,58,
+bandeau_pull,0,58,
+ball_guy,4,58,
+ayuya_naka_no_hito,1,58,
+awayuki_tobari,1,58,
+autogyro,0,58,
+aura_kingdom,3,58,
+aura_(a440),1,58,
+audi,0,58,
+atsuage_(kakinop),1,58,
+atric18,1,58,
+ataru_(7noise),1,58,
+asutarou,1,58,
+asano_kazunari,1,58,
+asaba0327,1,58,
+arya_(tianhua),1,58,arya_(artist)
+aruvina_(gu_luco),4,58,
+armored_core_5,3,58,
+arimatang,1,58,
+are_(arearee),1,58,
+arai_teruko,1,58,
+arai_kei,1,58,kansai-orange
+aqua_border,0,58,
+aokiku,1,58,
+aoi_tori,1,58,
+anthurium,0,58,
+anthiea,1,58,
+angdo_(kakajo26),1,58,
+ane_to_boin,3,58,
+amuii,1,58,amuiiart
+amino_kohaku,1,58,
+amane_(funfun),1,58,
+alvis_hamilton,4,58,
+alien_(psr992),1,58,
+akibakei_kanojo,3,58,
+akado_harue,4,58,
+ajidot,1,58,
+aisu_(icicleshot),1,58,
+aion,3,58,
+aida_riko,4,58,
+aharen_reina,4,58,
+a-er_(akkij0358),1,58,
+88942731ne,1,58,
+1bitheart,3,58,
+1341398tkrtr,1,58,
+10r_(tulipano),1,58,
+zuima,1,57,
+zig90,1,57,
+zettai_yarumoni,1,57,
+zeruel,4,57,
+zatou,1,57,
+zamazenta_(crowned),4,57,
+zain_(jiha3905),1,57,
+z.dk,1,57,
+yuzua,1,57,
+yuutsuki_hina,1,57,
+yuura_shiu,1,57,
+yuuki_(yuuki333),1,57,"yuuki333,yuuki_(pixiv177605)"
+yun_(neo),1,57,
+yukirin_(nagatoyuki_ibukifuko),1,57,
+yuki_sizuku,1,57,
+yui_(kuro_kosyou),4,57,
+yue_yue,1,57,
+yougata,1,57,ringer3727
+yoshio_(440),1,57,
+yoshida_ken'ichi,1,57,yoshida_kenichi
+ying_swei_(azur_lane),4,57,
+yig_yuki_(yig-gha),1,57,
+yi_lee,1,57,yilee
+yellow_hakama,0,57,
+year_of_the_horse,0,57,
+yarizakura_hime,4,57,
+yamayu,1,57,
+yamano_(151515),1,57,
+yakuru,4,57,
+yagi_mutsuki,1,57,
+yadoyuki,1,57,
+yada_yada,0,57,
+ya99ru,1,57,
+y_o_u_k_a,1,57,
+xxoom,1,57,
+xwu,1,57,
+xuan_(mixflavor),4,57,
+xiao_lin_jiu,1,57,
+wooser_(character),4,57,
+wooden_cup,0,57,
+wood_cube,1,57,
+wol_(wol_927),1,57,
+wingul_(tales),4,57,wingar
+wilhelm_(re:zero),4,57,
+white_serval_(kemono_friends),4,57,
+white_mage_(cosplay),0,57,
+white_album_(stand),4,57,
+west_virginia_(azur_lane),4,57,
+wendy_crawford,4,57,
+wendy_(shepherd0821),4,57,
+watson_amelia_(cosplay),0,57,
+washinomiya_koori,4,57,
+warabin_(suteki_denpun),1,57,
+wakamochi-ta,1,57,
+voyager_(third_ascension)_(fate),4,57,
+virtual_boy,0,57,
+violet_(ninomae_ina'nis),0,57,
+vincent_brooks,4,57,vincent_(catherine)
+viiiper,1,57,
+vidar,4,57,
+vermilli000n,1,57,
+vehicalization,0,57,
+vamjulian,1,57,
+valkyrie_profile_anatomia,3,57,
+valkyrie_(last_origin),4,57,t-8w_valkyrie
+uyuki_(ouun),1,57,
+utekiro,1,57,
+uta_no_prince-sama:_shining_live,3,57,
+uta-garuta,0,57,
+usagi1923,1,57,
+usada_hikaru_(cosplay),0,57,
+urie_kuki,4,57,
+uri_uri,1,57,
+unown_d,4,57,
+uma_(ninjin_misaki),1,57,
+ugwa,1,57,whcjddbrhk22
+uexkull,4,57,
+ueda_yumehito,1,57,
+u-tan,4,57,
+tyuraba,1,57,
+type_4_(girls'_frontline),4,57,type_4_(girls_frontline)
+turks,0,57,
+tsuwabuki_(souma_(ordures)),4,57,
+tsuneki_hikari,4,57,
+tsuneaki_(dosnan),1,57,
+tsugumi_(uzurabird),1,57,
+tsubame_(minami_haruka),1,57,tsubame_(pixiv)
+tsubaki_kureha,4,57,
+tree_13,1,57,
+traditional_dress,0,57,
+toyota_hiace,0,57,
+touhou_(game),3,57,
+totallyiryanic,1,57,
+too_mizuguchi,1,57,
+too_many_in_mouth,0,57,
+tomokane,4,57,
+tokugawa_sen,4,57,
+toho_(kihon_ha_yappa),1,57,
+todo_(masa3373),1,57,
+tobade_(tbdfactory),1,57,
+tk_(takotsuboya),1,57,
+tin_(mixflavor),4,57,
+thousand_memories,3,57,
+theobrobine,1,57,
+the_doctor,4,57,
+the_3rd_super_robot_wars_alpha,3,57,
+tempy_(rinsia),1,57,tempi_(yise426)
+tatsuyoshi,1,57,
+tatsuwo,1,57,
+tarantula,0,57,
+tani_(tanidesuyo),1,57,
+tana_(garyuh-chitai),1,57,
+tamase_tama,1,57,
+tamamo_cat_(lostroom_outfit)_(fate),4,57,
+tallgeese_(lgeesel),1,57,
+taking_off,0,57,
+takatsurt,1,57,
+takase_haruhiko,4,57,
+takasaki_manabu,4,57,
+tai_(e3d1p),1,57,shk955
+tachibana_wataru_(123tsuki),1,57,
+tachibana_chata,1,57,
+swarm,0,57,
+suzushina,1,57,
+suzumura_kirie,1,57,
+susanghan_messenger,3,57,mystic_messenger
+sunflower_petals,0,57,
+sun_zha,1,57,
+sun_jing,4,57,
+sumisu_(rinsumi),1,57,
+suke_akurou,1,57,
+sugimura_runa,4,57,
+su_(honkai_impact),4,57,
+stylized_blood,0,57,
+sturkey,1,57,
+stuffed_snake,0,57,
+stock_pot,0,57,
+stick_grenade,0,57,
+steyr_tmp,0,57,
+stella_glow,3,57,
+star_guardian_pet,0,57,
+ssumbi,1,57,
+spawn,3,57,
+spam_(spamham4506),1,57,
+sovetskaya_belorussiya_(relaxation_stratagem)_(azur_lane),4,57,
+souffle_gamberetto,4,57,
+sotoka_rakita,4,57,
+soriya,1,57,
+sorakura_shikiji,1,57,
+sonozaki_noriko,4,57,
+sk816,1,57,
+site_of_grace,0,57,
+sirius_enjoliao,1,57,
+single_scoop,0,57,
+simz,1,57,
+simon_blackquill,4,57,yuugami_jin
+silicon_creature,0,57,
+sig_550,0,57,
+siegmeyer_of_catarina,4,57,
+shuang_ye,1,57,
+showing,0,57,
+short_tail,0,57,
+shoron,1,57,
+shizumi_satou,1,57,
+shirota_mizuki,1,57,
+shiromoca,1,57,yayotei
+shiromamekei,1,57,
+shirabe_shiki,1,57,
+shiosato_jun,1,57,
+shimo_(shimo332215),1,57,
+shimazaki_mari,1,57,
+shima_tokio,1,57,
+shiliuyexiaohei,1,57,sndbr
+shiba_tomoshibi,4,57,
+shao_(shaorouhong),1,57,"shao_(muchechecheche),shao_(shao09320653)"
+shampoo_(cat),4,57,
+sennen_suisei,1,57,
+sengoku_shinobu,4,57,
+selim_spark,4,57,
+seitokaichou-chan_(minato_ojitan),4,57,
+scup,1,57,
+scorpio_milo,4,57,
+scaramouche_(wanderer)_(genshin_impact),4,57,
+sazaki_hiyoru,1,57,
+satella_(re:zero),4,57,
+sasa_ichi,1,57,ssss
+sanada_yukimura_(hyakka_ryouran),4,57,
+salvatore_(disgaea),4,57,
+sakura_ino,4,57,
+sakkama,1,57,
+sakana_(packetsjp),1,57,
+saitou_shuka,4,57,
+sagara_kazuto,4,57,
+ryou_(kimagure),1,57,ryou_(pixiv47138)
+rurisakura,1,57,
+ruiten,1,57,
+royal_bitter_juice,0,57,
+rock-bomber,1,57,
+ritz_malheur,4,57,
+ritence,1,57,
+risu_(ritharte),1,57,
+rikudou_yura,4,57,
+riko_(machikado_mazoku),4,57,
+rickshaw,0,57,
+ribbon_girl_(module),0,57,
+ri-ko,1,57,
+rengoku_(first_ascension)_(fate),4,57,
+rem_(death_note),4,57,
+relaxing,0,57,
+reisa_(blue_archive),4,57,
+reiei_8,1,57,
+redauto,1,57,blackblades
+red_brooch,0,57,
+recipe,0,57,
+rebel_pilot,4,57,
+rata_(m40929),1,57,
+rascal_(n119),1,57,
+rapt_(47256),1,57,
+ran_(shugo_chara!),4,57,ran_(shugo_chara)
+rakkogawa_rinro,1,57,
+raion_(inoueraion),1,57,
+rainli,1,57,
+ragnarok_origin,3,57,
+qingxin_gua_yu,1,57,
+pyra_(xenoblade)_(cosplay),0,57,
+purple_blindfold,0,57,
+producer_(idolmaster_side-m_anime),4,57,
+print_bandana,0,57,
+pride_chicken,1,57,tori_(ritcrover)
+pretty_mundane,1,57,
+ponpon_nun,1,57,
+pltrgst,1,57,
+plasma_sword,0,57,
+plait,0,57,
+pitch_(kirby),4,57,
+pink_shawl,0,57,
+pineco,4,57,
+philia_felice,4,57,
+pera,1,57,
+pegasus_(sailor_moon),4,57,
+peach_ornament,0,57,
+patches_(from_software),4,57,patches_the_hyena
+patapon,3,57,
+passionlip_(fate)_(cosplay),0,57,
+parubinko,1,57,
+parasite_eve_the_3rd_birthday,3,57,
+parallela66,1,57,
+paraietta,4,57,
+oversized_plant,0,57,
+oto,1,57,
+osiaarah,1,57,
+osatsu,1,57,
+osanai,1,57,
+orchid_(arknights),4,57,
+ooki_futaba,4,57,
+ono_(ohno_ha),1,57,
+oneirio,1,57,
+one_piece_film:_gold,3,57,
+olivia_(asobi_asobase),4,57,
+okii_(oh_ki_ik),1,57,oh_ki_ik
+ojou_(nameo),4,57,
+ohta_yuu,4,57,
+odradek,0,57,
+numahana,1,57,
+ntw-20_(the_aristocrat_experience)_(girls'_frontline),4,57,
+nozarashi_satoru,1,57,
+norfolk_(azur_lane),4,57,
+noppo_(tarstation),1,57,
+noka_(noka8103),1,57,
+nod,1,57,
+no_undershirt,0,57,
+nn_tasu,1,57,
+nishin_(nsn_0822),1,57,
+nishijou_nanami,4,57,
+nipple_leash,0,57,
+nioti,1,57,
+nika_(nikasa_an),1,57,
+nico_o0,1,57,
+nero_claudius_(formal_dress)_(fate),4,57,
+neko_miyabi_(artist),1,57,
+ncontrail_(mgax7527),1,57,
+nayutalien,0,57,
+natsume_(hidamari_sketch),4,57,
+natsu_yasai,1,57,
+nanao_(skb48_n),1,57,
+nanakusa_nazuna_(kouji_(campus_life)),4,57,
+nanahira,4,57,
+namatarou,1,57,
+nalica_(animeflux),4,57,
+nakasaki_hydra,1,57,
+nakagomiyuki415,1,57,
+najo,1,57,
+nagumo_kuu,1,57,nagumo_coo
+mushiboy,1,57,
+munak,4,57,
+multiple_bracelets,0,57,
+muhamaru_yuni,1,57,jahi
+mr.milk_caramel,1,57,
+mozuku_(mozuuru0323),1,57,
+moyamu,1,57,
+motokazu_(dontokodon),1,57,
+mori_toshimichi,1,57,
+monster_kid_(undertale),4,57,
+mono_02,1,57,mono_0157
+momori,1,57,
+momo_tomato,1,57,
+molatoliamu,1,57,
+mogiko,1,57,
+moekon,1,57,
+mochitsuki_karen,1,57,mochimooncurry
+mochigome_(ununquadium),1,57,ununquadium
+mochi_nabe,1,57,
+mizuiro_raika,1,57,
+mizuhara_hayari,4,57,
+miyoshi_yun,1,57,
+miyane_aki_(radical_dash),1,57,"miyaneaki,radicaldash0218"
+miwa_(ahyuck),1,57,
+mitsukichi,1,57,
+miton-chan_(miton_(turuyasann)),4,57,
+misumi_kouji,1,57,
+mistral_(metal_gear_rising),4,57,
+miru_(ormille),4,57,
+mirai_ticket,0,57,
+mikoto_kei,1,57,
+mihono_bourbon_(code:glassage)_(umamusume),4,57,
+microphone_waddle_dee,4,57,
+michirutnk,1,57,
+michelle_(ooo-anteat),1,57,
+messina_(jojo),4,57,
+merryj,1,57,
+memento_(sennen_sensou_aigis),4,57,
+meguno_(wokada),4,57,
+mechazawa_shin'ichi,4,57,mechazawa_shinichi
+matsuo_shogo,1,57,shogo_(shogo)
+masaki_gaillard,4,57,
+marmot_tail,0,57,
+marie_antoinette_(animejapan_2016)_(fate),4,57,
+mao_(endro!),4,57,
+manyuu_hikenchou,3,57,
+manbagi_rumiko,4,57,
+man_(trance),1,57,
+mamu_t7s,1,57,
+mama_(marui_shiro),4,57,
+makoto_ono,1,57,
+makino_nanami,4,57,
+maho_(drmaho1),1,57,drmaho1
+magomago,1,57,magox2
+magi_magi_magician_gal,4,57,
+maeashi,1,57,
+lyxu,1,57,
+luu,1,57,
+lunar_wing,3,57,
+lucky_keai,1,57,
+lucilius_(granblue_fantasy),4,57,
+lucia:_crimson_abyss_(punishing:_gray_raven),4,57,
+lost_elle,1,57,
+loss_time_memory_(vocaloid),3,57,
+lipstick_mark_on_thighs,0,57,
+linda_b,1,57,
+linaria_(granblue_fantasy),4,57,
+limha_lekan,1,57,
+lily_c._sherbet,4,57,
+lilith_(ayanami_rei),4,57,
+libus,1,57,runasion
+li_jianliang,4,57,li_jenrya
+li_dailin,4,57,
+leyna_koch,4,57,
+lerome,1,57,
+leon_fou_bartford,4,57,
+lee_byung_hee,1,57,
+lap_pov,0,57,
+lamium_(artist),1,57,
+laffey_(bunny_idol_@unmotivated)_(azur_lane),4,57,laffey_(halfhearted_bunny_idol)_(azur_lane)
+kyou_kara_ore_wa_loli_no_himo!,3,57,
+kurumi_kobayashi,1,57,
+kuroida,1,57,
+kuro_namako,1,57,
+kuro_(miku_plus),4,57,
+kuro_(1968),1,57,
+kurata_tome,4,57,
+kunogi_ai,4,57,
+kracko,4,57,
+krab_(fumekrab),1,57,
+kotobuki_toro,1,57,
+kotatsu-spirit,1,57,
+konparu_uran,1,57,
+kongya,1,57,
+komuro_takashi,4,57,
+komazuki_(komaworks240),1,57,
+komaru_(himouto!_umaru-chan)_(cosplay),0,57,
+koma_yoichi,1,57,
+kojima_kirie,4,57,
+kohatsuka,1,57,
+kodou_mikoto,1,57,
+koashi_mutsumi,4,57,
+kizuna_kirameku_koi_iroha,3,57,
+kizaki_emi,4,57,
+kishibe_rohan_wa_ugokanai,3,57,thus_spoke_rohan_kishibe
+kisaragi_yaya,1,57,
+kisaragi_attention_(vocaloid),3,57,
+kiriyama_rei,4,57,
+kirihane,1,57,
+kirigakure_symbol,0,57,
+kinokko,1,57,
+killing_bites,3,57,
+kemonomichi,3,57,hataage!_kemonomichi
+keldeo_(ordinary),4,57,
+keitomato,1,57,
+kazemaru_(arknights),4,57,
+kawakami_tetsuya,1,57,
+kawa-v,1,57,
+katie_(sennen_sensou_aigis),4,57,
+katakori_sugita,1,57,
+katagiri_non,4,57,
+kasuteru,1,57,
+kasugano_tsubaki,4,57,
+kasoku_souchi,1,57,
+kasetsu,1,57,
+kasane,1,57,
+karu_(ishiken),1,57,karu_(pixiv520294)
+kaomoji_(sagor00237),1,57,sagor942014
+kanda_momo,4,57,
+kamishiro_natsume,4,57,
+kamen_rider_cross-z,4,57,
+kamato_il,1,57,
+kagami_matsuri,4,57,
+k-mame,1,57,
+jyouden,1,57,
+jumpsuit_pull,0,57,
+jisu_lee,1,57,
+jipponwazaari,1,57,
+jinnosuke,4,57,
+jet_kimchrea,1,57,
+jariinu_(gomasionori),1,57,gomasionori
+izumi_kouyou,1,57,
+iyamato,1,57,
+iwamotochou_geinousha,3,57,
+itsuka_todoku_ano_sora_ni,3,57,
+island_(game),3,57,
+ishida_shouya,4,57,
+ishida_mitsunari_(sengoku_musou),4,57,
+ishida_mitsunari_(sengoku_basara),4,57,
+iris_(tb33064667),1,57,
+inakoi,3,57,
+inaba-no-kuni-tottori,1,57,
+imura_setsuna,4,57,
+imuhata_shimuro,1,57,
+imitation_black_(vocaloid),3,57,imitation_black
+imatomo_mahya,1,57,makora_higa
+illusion_connect,3,57,
+ikasoke_(likerm6au),1,57,
+ijuin_megumi,4,57,ijuuin_megumi
+how_to_make_sushi_(meme),0,57,how_to_make_sushi
+houshiruri,1,57,
+hoshi_akari,1,57,
+holding_trophy,0,57,
+hokuto_shun,1,57,
+hockey_stick,0,57,
+hizuki_aki,1,57,
+hizaki_ryuuta,1,57,
+hino_matsuri_(osananajimi_ni_najimitai),4,57,
+hinaki_eiji,4,57,
+hime_hajime,4,57,
+hilimuc,1,57,
+hilde_(counter:side),4,57,
+hikage_monogatari,3,57,
+hijikata_toshizou_(golden_kamuy),4,57,
+hijikata_keisuke,4,57,
+high_school!_kimengumi,3,57,
+hibiki_wataru,4,57,
+heavily_armed_high_school_girls,3,57,
+hcsb,1,57,
+hazamada_toshikazu,4,57,
+hatutaro,1,57,
+hattori_hanzo_uruka,4,57,
+hattifattener,4,57,
+hatsuno_xxx,1,57,mimimi_3x3x3
+hatena_(nazequestion),1,57,
+hassan_of_serenity_(lostroom_outfit)_(fate),4,57,
+hashimo_yuki,1,57,
+haruno_(kuromitugozen),1,57,
+harpuia_(mega_man),4,57,harpuia
+harem_gain,3,57,
+haregama_shiina,1,57,
+hano_luno,1,57,
+hanno,1,57,
+hand_on_headset,0,57,
+hand_on_another's_hat,0,57,
+hanazawa_ma,1,57,
+hamura_mayu,1,57,
+haitukun,1,57,
+hair_mustache,0,57,
+hafuku,1,57,
+h26r,1,57,
+gung,1,57,
+gundam_00p,3,57,
+grayfox,1,57,
+gradient_border,0,57,
+gotoo,1,57,
+goe,1,57,
+glaz_(rainbow_six_siege),4,57,
+glamrock_freddy,4,57,
+girl_friends_(manga),3,57,
+gill_(street_fighter),4,57,
+gastrodon_(east),4,57,
+garrote,0,57,
+garl_vinland,4,57,
+garasuno,1,57,
+galarian_articuno,4,57,
+gal_gun_(series),3,57,
+gacha_(ssaketen),1,57,
+g0ringo,1,57,
+furutaka_(azur_lane),4,57,
+funeral_kimono,0,57,
+fukurou_(suga0930),1,57,
+fujiwara_no_iyozane,4,57,
+fuji_izumi,4,57,
+fre,1,57,
+frame_(idolmaster),0,57,
+forretress,4,57,
+fomantis,4,57,
+finger_in_another's_navel,0,57,
+figure_stand,0,57,
+fight_cloud,0,57,
+fig,0,57,
+fancy_glasses,0,57,
+f-16_fighting_falcon,0,57,
+eye_(mememem),1,57,
+european_princess,4,57,european_hime
+eunos_roadster,0,57,"mazda_miata,mazda_mx-5"
+eternity_(last_origin),4,57,
+etama_quomo,1,57,
+esg_(essagna),1,57,
+erodrunky,1,57,lesseinsanimer
+era_(traveling_bird),1,57,
+equal_(melomelopunch),1,57,ikooru
+epee,0,57,
+emori_el,4,57,
+emergency_exit,0,57,
+elfleda_mirjasdottir,4,57,
+ekusa_takahito,1,57,
+eitarou_(kaminari_neko),1,57,eitarou_(motogp)
+eisu_(eith),1,57,
+effie_(street_fighter),4,57,
+edwintarm,1,57,
+edo_tatsuki,1,57,crow_(pixiv)
+eddie_(guilty_gear),4,57,
+edamame_(food),0,57,
+e-nya,1,57,
+duke_of_york_(warship_girls_r),4,57,
+drawinglee,1,57,lee1210
+drawing_on_own_face,0,57,writing_on_own_face
+drawdream1025,1,57,
+dororosso,1,57,
+doran_(dorannomai),1,57,
+don_(street_fighter),4,57,
+domas,4,57,
+dokka_no_kuni_no_kokuou,1,57,
+djibril_(makai_tenshi_djibril),4,57,jibril_(character)
+dirty_hands,0,57,
+dio_eraclea,4,57,
+dimension-3_(idolmaster),0,57,
+diabolic_esper_(elsword),4,57,
+denim_vest,0,57,
+delichuu,1,57,
+deko_isu,1,57,
+defensive_wall,0,57,
+deep_grand,1,57,
+dbdkitty,1,57,
+dark_angel_metatron_(p&d),4,57,
+daphne_ann_blake,4,57,
+daijuuji_kurou,4,57,
+cyrille_(shining_force_exa),4,57,
+cum_on_crotch,0,57,
+cuilan,4,57,
+crossette_(xenoblade),4,57,hibana_(xenoblade_2)
+crewmate_(among_us)_(cosplay),0,57,
+crea_dorosera,4,57,
+crawdaunt,4,57,
+cool_your_head,0,57,
+cloud_kingdom,3,57,
+ciela_(yuuhagi_(amaretto-no-natsu)),4,57,
+chyopeuteu,1,57,
+chuck_(harfmoondark),1,57,
+christine_(kuro_(kuronell)),4,57,
+chocolate_on_clothes,0,57,
+chloe_(sciamano240),4,57,
+chinatsu_(suzutsuki_kurara),4,57,
+chef_kawasaki,4,57,
+charlotte_(last_origin),4,57,
+char_aznable_(cosplay),0,57,
+ceruledge,4,57,
+cerberus_arts,1,57,
+cat_shi,1,57,
+casablanca_(azur_lane),4,57,
+carrot_on_stick,0,57,
+carlos_oliveira,4,57,
+campanula-star,1,57,
+call_of_duty_4,3,57,
+caisan,1,57,cai_pi_jun
+buchou_(houkago_play),4,57,
+brawly_(pokemon),4,57,
+brave_fencer_musashiden,3,57,
+brasowa,1,57,
+branwen,4,57,
+bonnie_(bunny_gif),4,57,
+bob_(bobtheneet),1,57,"elijahzx,elijahzx1"
+boardwalk,0,57,
+bloop_(archives),1,57,
+binan_xian_lu,1,57,
+big_mouth,0,57,
+benko,1,57,
+beniko,1,57,
+beni-bana,1,57,
+bela_dimitrescu,4,57,
+bayonetta_(cosplay),0,57,
+bandaged_knees,0,57,
+ban_(ban62460424),1,57,ban_(3551702)
+balrog_(doukutsu_monogatari),4,57,
+ballista_(sekaiju),4,57,arbalist_(sekaiju)
+backwards_text,0,57,
+azuma_mayumi,1,57,
+azibuda,1,57,
+ayase_asagi,4,57,
+astolfo_monster_cosplay_(meme),0,57,
+ashida_machi,4,57,
+asha,1,57,
+asashio_(kancolle)_(cosplay),0,57,
+asama_(drift_in),1,57,driftman
+arjuna_(versus)_(fate),4,57,
+arihara_nanami,4,57,
+argon,1,57,
+architect_(nvw_model)_(girls'_frontline),4,57,
+archienemy,1,57,
+arara_cocoa,4,57,
+arai_kuma,1,57,
+ar_nosurge,3,57,
+aqua_centolm,4,57,
+aozora_no_mieru_oka,3,57,
+aoyama_mio,4,57,
+aonagi_ibane,1,57,
+andychen,1,57,
+amunero_(kyouka_jinrui_amunero),4,57,
+amanooni_touri,1,57,ten_oni_touri
+alterlesott,1,57,lesott
+alteil,3,57,
+alpaca_hair_ornament,0,57,
+alice_(fate),4,57,alice_(fate/extra)
+akira_tooru,1,57,
+akira_(usausa),1,57,
+akiki_(kiki),1,57,
+akariko,1,57,
+akakokko_(niro_azarashi),1,57,
+akai_homura,4,57,
+aka_tonbo_(lovetow),1,57,
+airani_iofifteen_(artist),1,57,
+airagency1005,1,57,
+aia_amare,4,57,
+against_bookshelf,0,57,
+aether_gazer,3,57,aether_gaze
+adarin,1,57,adarinsinner
+academy_d.va,4,57,
+abe_no_seimei_(onmyoji),4,57,
+3finger_hand,0,57,
+123hamster,1,57,
+114514,0,57,
+00tea,1,57,
+zuikillme,1,56,
+zongzi,0,56,chimaki
+zen_(jirakun),1,56,
+zawar379,1,56,
+yuutarou,1,56,
+yuurinmoku,1,56,
+yuuko24,1,56,
+yuuki_shushu,1,56,yyuki317
+yuubi,1,56,
+yuneri_(azuki_akizuki),4,56,
+yumoteliuce,1,56,
+yumeji_kiriko,1,56,
+yukimura_shinya,4,56,
+yuki_onna_(ring_dream),4,56,
+yui_(sky-freedom),4,56,
+you_mizuno,4,56,
+yoshizuki_iori,4,56,
+yoshiragi,1,56,yszw
+yoshinaga_yunosuke,1,56,
+yorihime_nao,4,56,
+yomegane,1,56,
+yimu,1,56,
+yashi_nagomi,4,56,
+yang_zheng_yu,1,56,
+yamaguchi_yuu_(norisu),1,56,
+yamada_ayumi,4,56,
+y&k,1,56,
+xiao_(ye_yiaoxi),1,56,"l_leaf,xiao_yeyouxi"
+xandier59,1,56,
+wire_cutters,0,56,
+windshield,0,56,
+wiggling,0,56,
+whois,1,56,gin2
+wes_(pokemon),4,56,
+wei_li,1,56,
+water_masturbation,0,56,
+waribashi-p,1,56,waribaship
+wan_nyan_a_la_mode!,3,56,
+waist_sash,0,56,
+waa!_okami,1,56,
+vu_(oyavun),1,56,
+void_0,1,56,
+vlfdus_0,1,56,
+virtual_clinic,3,56,
+virgo_shaka,4,56,
+vesves_(sailor_moon),4,56,
+v.v.,4,56,vv
+utsuwa,1,56,
+utsuro_atomo,1,56,
+uns_(sdsxsoverlord),1,56,
+unory,1,56,
+uno_ichi,1,56,
+unizama,1,56,
+unicorn_(a_dream_of_pure_vows)_(azur_lane),4,56,
+un'you_(kancolle),4,56,
+umekobushi,1,56,
+ueshige_suzu,4,56,
+tying_tie,0,56,
+two-cat-walk,1,56,
+tweek_tweak,4,56,
+tracyton,1,56,
+tracen_academy,0,56,
+toyosatomimi_no_miko_(cosplay),0,56,
+touya_akira,4,56,
+touwa_iyo,1,56,
+tour_guide_from_the_underworld,4,56,
+torricelli_(azur_lane),4,56,
+toranoo,1,56,
+tomohiro_(duo),1,56,
+tomo_takino,1,56,
+tomcat,1,56,
+tombsakura,1,56,
+tolone_(xenogears),4,56,
+tohru_(maidragon)_(cosplay),0,56,
+toguro_otouto,4,56,
+tobe_sunaho,1,56,
+tia_(4017342),1,56,
+the_last_supper,3,56,
+tfqr,1,56,
+tezurumozuru,1,56,
+tequila,0,56,
+tepes,1,56,
+tensa_zangetsu_(bankai),0,56,
+tenpa_(tenpa2190),1,56,
+tatsunoko_vs_capcom,3,56,
+taoru,1,56,
+tanukikouji_midori,1,56,
+tam_a_mat,1,56,
+takitou,1,56,
+takemi_kaoru,1,56,coroske
+take_mamoru,4,56,
+takatou_suzunosuke,1,56,
+takashi_(onikukku),1,56,
+takara_yukari,4,56,
+takara_tooru,4,56,
+takamaru_(taka1220),1,56,
+takahashi_fuuko,4,56,"girl_behind_mio_at_opening_ceremony,girl_behind_mio_at_opening_ceremony_(k-on!)"
+tairitsu_(arcaea),4,56,
+taira_daichi,4,56,
+tachibana_kyouko,4,56,
+super_sass,0,56,
+super_robot_wars_destiny,3,56,
+suparu_(detteiu),1,56,
+summoner_(ragnarok_online),4,56,
+sumi_otto,1,56,
+sukeban_(smg)_(blue_archive),4,56,thug_(smg)_(blue_archive)
+sugino_(patrassyar),1,56,
+subakeye,1,56,
+striped_choker,0,56,
+string_play_spider_baby_(meme),0,56,
+strawberry_slice,0,56,
+spiky-eared_pichu,4,56,
+sotsual_deliheal,3,56,
+soramame_tomu,1,56,
+sonomiya_karen,4,56,
+sonken_chuubou,4,56,
+sofia_(toushinden),4,56,
+soda_(sodachuxd),1,56,
+slowpit,1,56,
+sleeping_animal,0,56,
+skyloop19,1,56,
+sk_tori,1,56,
+siragagaga,1,56,
+single_tooth,0,56,
+single_hand,0,56,
+silverchariotx,1,56,
+silver_legwear,0,56,
+sigsbee_(warship_girls_r),4,56,
+sigma_rio,1,56,
+shuten_douji_(dress_for_demons)_(fate),4,56,
+shuizhanglang,1,56,
+shout_lines,0,56,
+shoujo,4,56,
+shouhou-san_daisuki_teitoku,1,56,
+shoe_print,0,56,
+shiun_(siun_5513),1,56,siun_5513
+shiumai,1,56,
+shiromo_(pui_pui_molcar),4,56,
+shiromitsu_suzaku,1,56,
+shirofugu,1,56,
+shiro_shougun,1,56,
+shirakaba_risa,4,56,
+shiny_trinity_(idolmaster),0,56,shiny_trinity
+shingo.,1,56,minoinomi
+shimotsuki_aoi,1,56,
+shimashima_(simasima_23),1,56,
+shibasaki_erika,4,56,
+shanghai_bisu,1,56,
+shadow_naoto,4,56,
+shadow_hearts_from_the_new_world,3,56,
+shachiku-san_wa_youjo_yuurei_ni_iyasaretai.,3,56,miss_shachiku_and_the_little_baby_ghost
+shabomu,1,56,
+setou_kenji,4,56,
+sentaku_nori,1,56,alpha_(eren_mfmf)
+senbata-rou,1,56,senbata-roh
+selkiro,1,56,
+seitsuji,1,56,
+seikaisuru_kado,3,56,
+seijun_(seijun01),1,56,
+sawaki_souemon_tadayasu,4,56,tadayasu_souemon_sawaki
+saw_(movie),3,56,
+satou_rikidou,4,56,sugarman_(boku_no_hero_academia)
+sasakamakue,1,56,
+sasahara_satsuki,4,56,
+sarutobi_sasuke,4,56,
+samuel_rodrigues,4,56,jetstream_sam
+sakurayashiki_nisei,1,56,
+sakuramochi_usa,1,56,
+sakamoto_atsumu,1,56,atsumu_sakamoto
+sakakibara_kouichi,4,56,
+saikre,1,56,
+saiga-12,0,56,
+saebashi,1,56,
+sadi-chan,4,56,
+saddlebags,0,56,
+ryuuseitai_(ensemble_stars!),0,56,
+ryo_(sora-ryu),1,56,
+rx7649,1,56,
+ruru_(phantom_world),4,56,
+rungsak_sontayanont,1,56,
+royal_guard_(ragnarok_online),4,56,
+roswaal_l._mathers,4,56,
+rosenkreuzstilette_freudenstachel,3,56,
+romancing_saga_re;universe,3,56,
+rody_(hayama_yuu),1,56,
+rock_garden,0,56,zen_garden
+risuo,1,56,
+rio_(rio_01),1,56,
+rio.lw,1,56,rio_(9251843)
+rikizo,1,56,
+riding_boar,0,56,
+rico_(pico-ba),1,56,rico_(rico-ba)
+riccovich,1,56,
+ribbon-trimmed_kimono,0,56,
+ren_(dears),4,56,
+reiuji_utsuho_(cosplay),0,56,
+red_queen_(sword),0,56,
+rec,3,56,
+rantia,1,56,
+ranger_(sekaiju),4,56,survivalist_(sekaiju)
+rand_(gyee),4,56,
+rafael-m,1,56,
+rabbid,4,56,
+r-e-l-o-a-d,1,56,
+qi_maid,0,56,chinese_maid
+q_(hololive),0,56,
+q-bee_(aaru),1,56,
+python_(girls'_frontline),4,56,python_(girls_frontline)
+puzzle_piece_hair_ornament,0,56,
+purple_male_underwear,0,56,purple_underwear_(male)
+protagonist_(tokimemo_gs2),4,56,
+prism,0,56,
+premier_league,3,56,
+post_guild_war_celebration,0,56,
+poking_nose,0,56,
+piscina,1,56,
+pimopi,1,56,
+pillow_bite,0,56,
+phosphophyllite_(gemstone),0,56,
+phoenix_wings,0,56,
+petal_censor,0,56,
+perlmuttt,1,56,
+peone_(panapana),4,56,
+penny_(pokemon),4,56,
+penis_growth,0,56,
+pedocchi,1,56,
+peaked_lapels,0,56,
+payday_(series),3,56,
+patreon,3,56,
+patissier_(gindoro),4,56,
+pastel,3,56,
+parupin,1,56,
+party_whistle,0,56,
+parfait_(hawawa),4,56,
+panjandrum,0,56,
+panda_inu,1,56,
+ozma_lee,4,56,
+otto_(nanoha),4,56,
+ototachibana_academy_uniform,0,56,
+osananajimi_ni_najimitai,3,56,
+osaka_(city),0,56,
+oreomanko,1,56,
+oreki_genya,1,56,
+oota_takeshi,1,56,
+oomiya_io,1,56,
+oohashi_akiko,4,56,
+ono_toshihiro,1,56,kamirenjaku_sanpei
+oniku_(oniku029029mm),1,56,
+onbin_ha,1,56,otk_do
+okuwaka_tsubomi,4,56,
+okayu_(headless),1,56,
+oharu,1,56,
+ogawa_shinji_(symphogear),4,56,
+oda_nobunaga_(drifters),4,56,
+ocelot_(kemono_friends),4,56,
+o-ring_strap,0,56,
+nunnun_(shunka_shuutou),1,56,dokutaa_hakase
+nukunuku,1,56,
+nugi_(armenci),1,56,
+nueno_meisuke,4,56,
+nstlgie,1,56,
+non_(mangaka),1,56,
+noel_maresse_ascot,4,56,
+niwa_makoto,4,56,
+nishisan_(mikurosu),1,56,
+nishikawa_ari,1,56,
+nishi_yasuaki,1,56,
+ninose_shizuku,4,56,
+nino_(ninouchi_irazu),1,56,nino_(pixiv10550)
+nincada,4,56,
+niking,1,56,
+nijou_makoto,1,56,
+niimi_haruka_(photokano),4,56,
+nightingale_(an_elegy)_(arknights),4,56,
+neuron_(exceed),1,56,
+netzach_(project_moon),4,56,
+neriwasabi,1,56,
+neopets,3,56,
+nekopote,1,56,
+neginoki,1,56,
+neet_de_otaku_na_kunoichi_to_naze_ka_dousei_hajimemashita,3,56,
+nazume_mikuru,4,56,
+nazrin_(mouse),4,56,
+nausea,0,56,
+natsuno_riku,1,56,riku_(axion_channel)
+natarle_badgiruel,4,56,
+narinn,1,56,
+nao_(doublexdutch),1,56,
+nanase-chan_ntr!,3,56,
+nameko_houshi,1,56,namec0
+nal_(nal's_pudding),1,56,
+nagura_setsuko,4,56,nagura_(girls_und_panzer)
+nagul,1,56,
+naemperor,1,56,
+mystical_power_plant,3,56,
+myslot,3,56,
+musha_sabu,1,56,
+murasame_oshizu,4,56,
+mung_(larnec),1,56,
+munashichi,1,56,
+mugino0515,1,56,
+motofumi,1,56,
+morisato_keiichi,4,56,
+morgan_le_fay_(chaldea_satellite_station)_(fate),4,56,
+momoiro_tunozemi,1,56,
+moco_(moco_28),1,56,
+mizuki_(ekakichan),1,56,
+miwa_konekomaru,4,56,
+mitsugetsu,1,56,
+mishina_eikichi,4,56,
+miravi,1,56,
+miranda_(wakfu),4,56,
+miraidon,4,56,
+miracle_belltier,0,56,
+mipple,4,56,
+minazuki_(jo),1,56,
+minazuki_(azur_lane),4,56,
+minai_karte,4,56,
+midori_boushi,1,56,
+meso_(goma-meso),1,56,
+meso-meso,1,56,
+memories_off_sorekara,3,56,
+meitarou,1,56,
+mega_ampharos,4,56,
+mega_altaria,4,56,
+mechagodzilla,4,56,
+mecha_shoujo_taisen_z,3,56,
+mazuka_kei,1,56,
+mavis_dracula,4,56,
+matsuyama_nozomu,1,56,
+matsu_kitsune,1,56,
+massager,0,56,
+masollyn,1,56,
+marakasu_(chinkasu),1,56,marakasutintin
+manmaru_(love_live!),4,56,
+mandibuzz,4,56,
+mandalay_(boku_no_hero_academia),4,56,sousaki_shino
+mame_komari,1,56,
+maisaki,1,56,
+mai_(future)_(dragon_ball),4,56,
+magi_in_wanchin_basilica,3,56,
+maco_(macoillust),1,56,
+machico_maki,1,56,
+lynne,4,56,
+lyn_(summer)_(fire_emblem),4,56,
+luxu,1,56,
+luxiem,0,56,
+littlecloudie,1,56,
+litsilium,1,56,
+lisanna_strauss,4,56,
+lingcod_dayu,1,56,
+lime-iro_senkitan,3,56,raimuiro_senkitan
+lillian_ljungstrom,4,56,
+leni_milchstrasse,4,56,
+lemon_t,1,56,
+lemo_(dragon_ball),4,56,
+legolas,4,56,
+lego_brick,0,56,
+legacy_zechs,1,56,
+leg_brace,0,56,
+laura_(fire_emblem),4,56,
+larry_butz,4,56,yahari_masashi
+lambo,4,56,
+kyoro_(cothurnus),1,56,
+kyaroru,1,56,
+kuutamo,1,56,
+kuuki_(rakam),1,56,
+kurumiya_(krmy_p),1,56,
+kuroshiro_kanae,1,56,
+kuroo_(project_apricot),1,56,kurootoko
+kurono_kuro,1,56,
+kurokona,4,56,
+kurohikage,1,56,
+kuro_guren,1,56,
+kuno_touya,1,56,kuno_toya
+kunitarou-art,1,56,
+kumbhira_(summer)_(granblue_fantasy),4,56,
+krs_(kqrqsi),1,56,
+koyomi_(kamen_rider_wizard),4,56,
+konohana,1,56,
+komaki_midori,4,56,
+komadera,1,56,
+kokonoe_tamaki,4,56,
+koeri,1,56,
+kodama_naoko,1,56,
+koda,1,56,
+knight_(7th_dragon),4,56,
+km2o4,1,56,
+kjelle_(fire_emblem),4,56,degel
+kittaka_kaname,1,56,
+kira_kazuki,1,56,
+kimoko,1,56,
+kimofest,1,56,
+kieeyo,1,56,
+kiddy_girl-and,3,56,
+kidanieru,1,56,
+kiasa,1,56,
+key_earrings,0,56,
+ket-c,1,56,
+keshigomu,1,56,
+keropii,4,56,
+kelp,0,56,
+keita_(kta0),1,56,kta_gbp
+kedama_(ughugjydthjdf),1,56,
+kazuki_kotobuki,1,56,
+kawamura_kousuke,1,56,
+kawakabe_momoka,4,56,
+kawai_honoka,4,56,
+kawahara_chisato,1,56,
+katejina_loos,4,56,
+katakata_un,1,56,katakata_unko
+kashiwagi_chizuru,4,56,
+karin_(viper),4,56,
+kareha_aki,1,56,
+kappamaru,1,56,
+kanzaki_(kusomiso),1,56,
+kanimura_ebio,1,56,
+kanbayashi_shiori,4,56,
+kanae_(sekaiju),4,56,
+kamen_rider_x_(series),3,56,
+kakiikada,1,56,
+kai_aki,1,56,kai_akatsuki_mare
+kahis_(sweetbriar),1,56,
+kagayama_hajime,1,56,
+kadokawa,3,56,
+junkyard_dog_mk_iii,0,56,
+juliana_eberhardt,4,56,
+jubei-chan,3,56,
+ju_hyeon-mi,4,56,
+jonejung,1,56,
+john_(ichigo_mashimaro),4,56,
+joe_(sk8),4,56,nanjou_kojirou
+joaowbenfica,1,56,
+jin_hayato,4,56,
+jiete,1,56,
+jian_huang,1,56,
+jerry_(tom_and_jerry),4,56,
+jeran_(ggokd),1,56,ggokd
+jeanne_d'arc_(saintess_of_the_sea)_(azur_lane),4,56,jeanne_d'arc_(movie_set_saintess)_(azur_lane)
+javier_estrada,1,56,
+jas_(annkoromochi),1,56,
+iwami_kyuuto,1,56,
+isuzu_(an_icy_cat),1,56,
+istina_(bibliosmia)_(arknights),4,56,
+issign,1,56,
+isinose_(ilxodidli),1,56,ilxodidli
+ishigami_senkuu,4,56,
+ishida_atsuko,1,56,
+irokiiro,1,56,
+irikawa,1,56,
+io_(summer)_(princess_connect!),4,56,
+inuue_kiyu,1,56,
+introvert-kun,1,56,
+indica,1,56,
+in_refrigerator,0,56,girl_in_refrigerator
+ilias,4,56,
+ihara_saeko,4,56,
+iduhara_jugo,1,56,
+ido_romeko,4,56,
+huacai,1,56,
+hsmoji,1,56,
+hozumi_sousei,1,56,hozumi_(ouchan)
+hoshimiya_mery,1,56,meryhsmy
+hoplite,0,56,
+hooded_top,0,56,
+honjou_nia,4,56,
+hongcha_(roels),1,56,
+homei_(honkai_impact),4,56,
+holly_(monster_farm),4,56,holly_(monster_rancher)
+hitoyoshi_zenkichi,4,56,
+hiss,0,56,
+hisany-spacecrayon,1,56,
+hiryuu_(kugelcruor),1,56,
+hirano_toshihiro,1,56,
+hira-san,1,56,
+hino_mamori,1,56,hakoremi
+hino_eiji,4,56,
+hinata_keiichi,1,56,
+hinahara_hajime,1,56,
+himo,1,56,
+himeka_chiyako,4,56,
+hikyou_tanken_fam_&_ihrie,3,56,ruin_explorers
+hi_no_tori,3,56,phoenix_(copyright)
+herikawa_koishi,4,56,
+heidern,4,56,
+hearthstone,3,56,
+healer_(disgaea),4,56,
+hazuki_mizuho,1,56,
+hayashida_airi,4,56,
+hatsune_miku_expo,3,56,
+hate_shinaku_aoi_kono_sora_no_shita_de....,3,56,hate_shinaku_aoi_kono_sora_no_shita_de
+hasebe_yutaka,4,56,
+haruoto_alice_gram,3,56,
+harada_isuka,1,56,coppelia_(futamine)
+hanako_(idolmaster),4,56,
+hanagaki_takemichi,4,56,
+hakumaiya,1,56,
+hako_reeema,1,56,boxreeema
+haigure_pose,0,56,
+hachiya,1,56,
+hacco_mayu,1,56,
+guo582,1,56,
+gundam_dynames,4,56,
+gundam_double_x,4,56,
+gundam_breaker_mobile,3,56,
+gridley_(azur_lane),4,56,
+green_lantern,4,56,
+gouma_hyudor,4,56,
+gold_gloves,0,56,
+gogeyama,1,56,
+glowing_heart,0,56,
+ginka_sima,1,56,
+gelgoog,4,56,
+gdd_(vkejr702),1,56,vkejr702
+gas_pump,0,56,
+gao_kawa,1,56,
+g-clef_(suite_precure),0,56,
+fylus,1,56,
+fushimi_saruhiko,4,56,
+fumetsu_no_anata_e,3,56,to_your_eternity
+fukua_(skullgirls),4,56,
+fujiwara_shun'ichi,1,56,fujiwara_shunichi
+fujimaru_ritsuka_(male)_(chaldea_combat_uniform),4,56,
+fujikura_yuu,4,56,
+fujikiri_yana,1,56,
+freckles-san_(houkago_play),4,56,
+franlol,1,56,
+franky_franklin,4,56,
+fran_(tensei_shitara_ken_deshita),4,56,
+fox_(trickster),4,56,
+forneus_0,1,56,
+foreskin_biting,0,56,
+food-themed_bag,0,56,
+fireflysnow,1,56,
+finger_twirl,0,56,twirling_finger
+fina_(eternal_arcadia),4,56,
+fideo_aldena,4,56,
+fengyin_shici_guozi,1,56,
+feesh,1,56,
+evil_twin_lil-la,4,56,
+eureka_(eureka-0075),1,56,
+etheldreda,4,56,
+ero_ragnarok_offline,3,56,
+enbizaka_no_shitateya_(vocaloid),3,56,
+ena_(enaa97),1,56,enaa
+emo_(mikan),1,56,
+electrike,4,56,
+electric_razor,0,56,
+ekaki_kukuma,1,56,
+ekaapetto,1,56,
+effort_star,1,56,
+ecien,1,56,
+e_neko,1,56,
+dutch_girl_(last_origin),4,56,
+dun_stallion_(fate),4,56,dun_stallion
+drinking_blood,0,56,
+drift_(transformers),4,56,
+dreamusun,1,56,
+dreambig,1,56,
+dr.wolf,1,56,
+dotted_half_note,0,56,dotted_minim
+dix-neuf,4,56,
+dismassd,1,56,
+din,4,56,
+diluc_(red_dead_of_night)_(genshin_impact),4,56,
+dice_earrings,0,56,
+destroid,0,56,
+den_(fma),4,56,den_(fullmetal_alchemist)
+deltoids,0,56,
+deeple,1,56,
+dawn02,1,56,dawn_(664387320)
+darth_wooser,4,56,
+dark_valkyrie_(p&d),4,56,
+dama,1,56,
+dahlia,0,56,
+dagger_(fizrotart),4,56,
+cyannism,1,56,
+cwind,1,56,
+crestren,1,56,cresxart
+cressey_(porforever),4,56,
+cream_(stand),4,56,
+comet_(azur_lane),4,56,
+collared_cloak,0,56,
+clown_(ragnarok_online),4,56,
+cleanerjay,1,56,
+cinder_block,0,56,
+chris_armin,1,56,
+chouhi_ekitoku,4,56,
+chocolate_statue,0,56,
+chocolate_fountain,0,56,
+chirumakuro,1,56,
+chinako,1,56,
+child_abuse,0,56,
+chika_(toumei_kousoku),1,56,
+chiizu_namasu,1,56,
+cheetah,0,56,
+chapman's_zebra_(kemono_friends),4,56,
+chabasu,1,56,spritzer
+catapult,0,56,
+castella_(food),0,56,
+caribun,1,56,
+can_can_bunny,3,56,
+campione!,3,56,
+bushiroad,3,56,
+bunzou,1,56,
+bunny_cutout,0,56,
+broken_tooth,0,56,
+boyd_(fire_emblem),4,56,
+borr,4,56,
+book_stand,0,56,
+boogiepop_(character),4,56,
+boltund,4,56,
+bloodcatblack,1,56,
+blood_on_axe,0,56,bloody_axe
+bleeding_from_forehead,0,56,
+blanket_grab,0,56,
+black_delmo_leader,4,56,
+black_burakku,1,56,konnpakuyoumu007
+black-tailed_gull_(kemono_friends),4,56,
+binware,1,56,
+big_daddy,4,56,
+beretta_px4,0,56,
+benten,4,56,
+battle_standard,0,56,
+baseness,1,56,
+barn_owl,0,56,
+barack_obama,4,56,
+banana_fish,3,56,
+bakuten_shoot_beyblade,3,56,"beyblade:_g-revolution,beyblade:_v-force"
+baek_changpo,4,56,
+bad_pawoo_id,5,56,
+bad_newgrounds_id,5,56,
+azu_ankoowl,1,56,
+az0212,1,56,
+ayasato_karen,1,56,
+ayasaki_yuu,4,56,
+axis_deer_(kemono_friends),4,56,
+axel_almer,4,56,
+awa_suna,1,56,
+aubrey_(neal_d._anderson),4,56,
+asisuki,1,56,
+aruse_yuushi,1,56,
+arima_kana,4,56,
+appleseed_(appleseed_art),1,56,
+aozora_stripe,3,56,
+aoi_umi_no_tristia,3,56,"tristia_of_the_deep-blue_sea,tristia_of_the_deep_blue_sea"
+anko_kinako,1,56,
+animahakim,1,56,
+amatsuka_fubuki,4,56,
+amabie,4,56,
+aloe_(ishuzoku_reviewers),4,56,
+alien_vs._predator,3,56,aliens_vs_predator
+alice_mana,4,56,
+album_name,0,56,
+aladdin_(character),4,56,
+akito_(ao's_club),1,56,
+akira_(otokuyou),4,56,
+akino_irori,1,56,
+aka-kabuto_no_gema,1,56,
+ajirui,1,56,
+ags_(last_origin),0,56,
+agnidevi,1,56,
+afterschool_school_idol_(love_live!),0,56,i'll_protect_your_smile!_(love_live!)
+advance_wars:_dual_strike,3,56,
+adultonly,1,56,
+acfun,3,56,
+aatrox,4,56,
+@ichigo,1,56,
+9a-91_(bullets_cafe)_(girls'_frontline),4,56,
+7mb_yut,1,56,
+467_(artist),1,56,
+3gs,1,56,
+04sora40,1,56,
++1_(yakusoku0722),1,56,
+zzz_(orchid-dale),1,55,
+zuowen,1,55,
+zouzou,1,55,
+zhean_li,1,55,
+zero130,1,55,
+ze_(0enmaitake),1,55,
+z.i,1,55,
+z-move_trainer_pose,0,55,
+yuufuushi,1,55,
+yuta0115,1,55,
+yurina_(rune_(pixiv_25170019)),4,55,
+yurara_(aroma42enola),1,55,
+yugami_gooshu,1,55,
+yue_yue1102,1,55,
+yu-chan,4,55,
+yowaneko,4,55,
+youko_(inukami),4,55,
+you_died,0,55,
+yotubawatane,1,55,
+yotsuba_(kyokugen_dasshutsu),4,55,clover_(zero_escape)
+yoshitsuki,1,55,
+yoshino_(mfmfpng),1,55,
+yoshiki_(bpmaxm),1,55,logical
+yoggi_(stretchmen),1,55,
+yeyuanqianqianqian,1,55,
+yawai_tofu,1,55,
+yasu_(yossy),1,55,
+yanngoto,1,55,
+yamato_(naruto),4,55,
+yamada_chickenko,1,55,
+yakusuke,1,55,
+yakumo_mikage,4,55,
+xin_lan_deng,1,55,
+xiao_ma,4,55,
+x_(manga),3,55,
+x95_(girls'_frontline),4,55,x95_(girls_frontline)
+x6suke,1,55,
+world_of_darkness,3,55,
+woogi_(duguddnr),1,55,duguddnr
+white_base,4,55,
+wen-m,1,55,
+webcounter,0,55,
+web_(cookie),4,55,
+watayuki,1,55,
+washtub,0,55,
+wanmei_shijie,3,55,
+waichi,1,55,
+viktorf,1,55,
+vikpie,1,55,
+vibrator_in_leg_garter,0,55,
+verus,1,55,
+vertical-striped_apron,0,55,
+ventricosus,4,55,
+vent_(mega_man),4,55,vent_(rockman)
+vanilmirth_(ragnarok_online),4,55,
+uxu,1,55,
+ushinomiya,1,55,
+urikurage,1,55,
+unown_y,4,55,
+unown_u,4,55,
+unown_f,4,55,
+umori_hinako,4,55,
+umi_(pixiv6861961),1,55,
+umetsu_yukinori,1,55,
+uketsuke_succubus_(konosuba),4,55,
+ufo_(kirby),4,55,
+u-min,1,55,
+tyler_garden,1,55,
+two-tone_scarf,0,55,
+tucking_in,0,55,
+tsumidango,1,55,
+tsukimura_(d24f4z8j3t),1,55,
+tsukasa_tsubasa,1,55,tsukasa_0719
+tsukasa_kinako,1,55,
+tsuchimikado_natsume,4,55,
+touhou_unreal_mahjong,3,55,
+tottsuman,1,55,
+torn_sarong,0,55,
+toriko_no_shimai_~midara_ni_moteasobareru_unmei_no_mayoigo~,3,55,
+toriko_(hatoriko),1,55,toriko_(artist)
+tori_(otori),1,55,
+top-exerou,1,55,
+toomi_maya,4,55,
+tongue_suck,0,55,
+tomo_ro,1,55,hisamesy
+tkln,1,55,
+tinkle_bell,1,55,tinklebell
+tied_to_stake,0,55,
+tick!_tack!,3,55,
+through_ground,0,55,head_in_the_ground
+throh,4,55,
+tenkasu_(aster4545),1,55,
+teng_zhai_zi,1,55,despair_wing
+teisuu,1,55,
+tefu,1,55,
+tea/pot,1,55,
+taut_pants,0,55,
+tatsuno_toshiko,4,55,
+tarou_(user_tpmh7442),1,55,
+tapu_fini,4,55,
+tanakahazime,1,55,
+tamori_tadaji,1,55,tamoritadadi
+tall_crown,0,55,
+takemoto_uruka,4,55,
+takasakiyama_monmon,1,55,
+takanashi_minato,1,55,
+tairyou-bata,0,55,
+tachiuo_(arines),1,55,
+t-elos_re:,4,55,
+syuuen,1,55,
+syrup_(yes!_precure_5),4,55,syrup_(precure)
+symboli_kris_s_(umamusume),4,55,
+swain_(league_of_legends),4,55,jericho_swain
+suzushiro_mizuki,4,55,
+suzumori_asuka,4,55,
+surock,1,55,
+surgeon,0,55,
+superstar_(granblue_fantasy),4,55,
+super_robot_wars_original_generation_gaiden,3,55,
+sumomo_kpa,1,55,
+summergoat,1,55,
+sumi_wo_hakuneko,1,55,
+sukurizo!,3,55,
+subaru_(794829485),1,55,
+string_lights,0,55,
+strawberry_tart,0,55,
+stoned,0,55,
+stella_(sound_horizon),4,55,
+stealth_handjob,0,55,hidden_handjob
+starbottle,1,55,"aka-shiro,akashirokai"
+staravia,4,55,
+spoken_symbol,0,55,
+spider_(minecraft),4,55,
+sparklenaut,1,55,ddhew
+soul,0,55,
+sonya_(schan),4,55,
+sonosakiburi,1,55,ensaiburi
+somnium,1,55,
+soletta_orihime,4,55,
+solatorobo,3,55,
+sofue_(girls_und_panzer),4,55,
+skunk_girl,0,55,
+sitting_on_log,0,55,
+single_greave,0,55,
+sin_(btc86amme),1,55,
+silmeria_valkyrie,4,55,
+siku199,1,55,
+siegfried_(sword),0,55,
+shura_(granblue_fantasy),4,55,
+shota-kun_(sky-freedom),4,55,
+shorts_rolled_up,0,55,
+shooting_range,0,55,
+shokei_shoujo_no_virgin_road,3,55,
+shisotex,1,55,
+shiroe_adele,4,55,
+shirakawa_mey,1,55,
+shio_butter_(obscurityonline),1,55,
+shinjitsu_no_kuchi,1,55,
+shining_world,3,55,
+shimano,1,55,
+shima_16bit,1,55,
+shilleka,4,55,
+shikke_gnsn,1,55,
+shiba_0,1,55,
+shano-pirika,1,55,
+shanaharuhi,1,55,
+senoo_aoi,1,55,
+scissors_lise,4,55,
+schach_nouera,4,55,
+sate,1,55,
+saratoga_(seven_seas_of_rest)_(azur_lane),4,55,saratoga_(ocean_holidays)_(azur_lane)
+sano_souichi,1,55,
+sanguu_mitsuba,4,55,
+sakutake_(ue3sayu),1,55,
+sakuraba_chiyo,4,55,
+sakotach,1,55,
+sakiko_(gekiama),1,55,delico
+saionji_usagi,4,55,
+saiko67,1,55,
+saijou_karin,1,55,pino_(straight)
+sae_(renkyuuake),1,55,
+s16xue,1,55,
+ryougi_shiki_(third_ascension),4,55,
+rynn_(acerailgun),4,55,
+ruthenium77's_character,4,55,
+roy_focker,4,55,
+rotom_(heat),4,55,
+ronna,1,55,
+rodan,4,55,
+robert_kim,1,55,
+rinea_(fire_emblem),4,55,linea_(fire_emblem)
+rin_(yukameiko),1,55,
+ribbon-trimmed_shorts,0,55,
+return_of_the_mount_hua_sect,3,55,
+resurreccion,0,55,
+resident_evil_revelations_2,3,55,
+repikinoko,1,55,
+rensouhou-chan_(cosplay),0,55,
+ren_(fragile),4,55,
+removable_censorship,0,55,
+reku_hisui,1,55,
+receptionist_girl_(amagi_shino),4,55,
+raruru,1,55,
+rakuko,1,55,
+rakavka,1,55,
+raiz_art_works,1,55,
+raiden_mei_(crimson_impulse),4,55,
+raichi_(litchixlitchi),1,55,
+rai32019,1,55,
+pururun,4,55,polly_ester
+pumpkin_print,0,55,
+proton_pack,0,55,
+pretz,0,55,
+potato_house,1,55,
+porqueloin,1,55,
+poo_(donkan_gokko),1,55,
+pomeko,1,55,
+poking_self,0,55,
+plucking_petals,0,55,"effeuiller_la_marguerite,he_loves_me_he_loves_me_not"
+pixiescout,1,55,
+pikiru,1,55,
+piennamekuzi,1,55,
+physisyoon,1,55,
+photokinesis,0,55,
+phony_(cevio),3,55,
+peshita,1,55,
+pentagram_necklace,0,55,
+peas_(peas0125),1,55,
+pandamonium,1,55,
+palpitoad,4,55,
+pakuchii,1,55,
+pajamas_lift,0,55,
+painter-lhb,1,55,
+p-51_mustang,0,55,
+overalls_pull,0,55,
+ourobunny,4,55,
+otsunabe_(naabe_delta),1,55,
+oshou_(o_shou),1,55,
+orebalgum,1,55,
+oracle_(shinkai_no_valkyrie),4,55,
+opiu,1,55,
+ooarai_marine_tower,0,55,
+ontake2009,1,55,
+onodera_haru,4,55,
+one_(drag-on_dragoon),4,55,
+omizu_chihiro,1,55,danji_aq
+olympic_rings,0,55,
+olmatown,1,55,
+okano_hajime,1,55,ranman
+okamoto_miyu,4,55,
+okaasan_to_issho,3,55,
+ohtagaki_yasuo,1,55,
+ohgaki_m,1,55,
+ogawa_hidari,1,55,
+ogarasu,1,55,
+nuko_0108,1,55,
+nuancho,1,55,
+nosetissue,1,55,
+nomio,1,55,
+noja,1,55,
+noir_(4chan),1,55,
+noel_vermillion_(cosplay),0,55,
+noa_ikeda,1,55,
+nishizaki_eimu,1,55,"eim_nishizaki,nishizaki_eim"
+neo-traditionalism_of_japan,3,55,
+natsuyuki,1,55,
+natsume_suzuri,1,55,
+natsuki_yuu_(minamino_tsuki),1,55,
+natasha_(pommier),1,55,
+natalia_kaminski,4,55,
+narukawa_hime,4,55,
+narukami_arashi,4,55,
+naonakamura,1,55,
+nanamo_ul_namo,4,55,
+nanafuton,1,55,
+nan_(gokurou),1,55,
+nakamura_kana,4,55,
+nakamachi_kana,4,55,
+nakahara_kaihei,1,55,
+nai_(daiduolaoge),1,55,735308747
+nagiichi,1,55,
+naganami_(azur_lane),4,55,
+nadir,1,55,
+nachetanya_loei_piena_augustra,4,55,nashetania_loei_piena_augustra
+mutsumi326,1,55,
+musse_egret,4,55,
+mushi_baibai,1,55,
+mukkuru,4,55,mukuru
+mukamo_(inujita),1,55,
+mukai_(ojimashu),4,55,
+moyashi_mou2,1,55,
+movie_camera,0,55,
+mos,1,55,
+morning_wood,0,55,
+morimura_konoha,4,55,
+momo_(fruits_box),1,55,
+mofuko,1,55,
+mizumidori,1,55,
+miyako_(kuavera),4,55,
+miura_(rnd.jpg),4,55,
+minatasiro,1,55,
+minami_machi,1,55,
+miltiades_malachite,4,55,
+miku_(yuuki_(yuyuki000)),4,55,
+mikoko1,1,55,
+mike_zakarius,4,55,
+mikaze_oto,1,55,
+mijuku_dreamer,0,55,
+miiko_(somnolent),1,55,
+mifuyu_(princess_connect!),4,55,ogami_mifuyu
+michalis_(fire_emblem),4,55,misheil_(fire_emblem)
+mezzo_(orbanga21),1,55,
+meron_nouka,1,55,
+megumoke,1,55,
+megafaiarou_(talonflame_810),1,55,
+mayosuke,1,55,
+maya_(kancolle)_(cosplay),0,55,
+mawashi,0,55,
+matsunaga_ayane,4,55,
+matsuda_tsubaki,4,55,
+matsubara_aoi,4,55,
+matantei_loki_ragnarok,3,55,the_mythical_detective_loki_ragnarok
+mash_kyrielight_(grand_new_year),4,55,grand_new_year_(fate)
+mary_(14476764),1,55,
+marudeningen,1,55,
+marshadow_(gloom),4,55,
+marneko,1,55,
+mario_&_luigi_rpg,3,55,
+marian_e._carl,4,55,
+marcy_dog,1,55,
+mandragoria,1,55,
+manabe_yoshihisa,4,55,
+mamoru-kun_ni_megami_no_shukufuku_wo!,3,55,mamoru-kun_ni_megami_no_shukufuku_wo
+mameko,1,55,
+makoto_nanaya_(cosplay),0,55,
+makino_yuna,4,55,
+making_faces,0,55,
+maiko_(setllon),1,55,
+mahkn,1,55,
+mahiro_takeumi,1,55,
+magnolia_eclair_ii,0,55,
+magnhild,0,55,
+mac_4229,1,55,
+m3_(gardevoir_m3),1,55,
+luozhou_pile,1,55,
+luminous_arc_2,3,55,
+lorein,1,55,
+lombre,4,55,
+lira_mist,1,55,
+lipstick_mark_on_leg,0,55,
+ling_huanxiang,1,55,
+lieserl_albert_einstein,4,55,
+li_chestnuts,1,55,
+lexington_(azur_lane),4,55,
+lenxiao,1,55,leng_xiao
+lazy,0,55,
+lakshmi_(p&d),4,55,
+lace_garter_belt,0,55,
+l'opiniatre_(azur_lane),4,55,
+kyosu,1,55,
+kuzu_no_honkai,3,55,
+kuz,1,55,
+kusaka_kabane,4,55,
+kuroneko_sakon,1,55,
+kurokiba_ryou,4,55,
+kurokage,1,55,
+kuroinyan,4,55,
+kurohiko,1,55,kuroshiki
+kuro_(hitsugi_katsugi_no_kuro),4,55,
+kumoya_yukio,1,55,
+kumada_kazushi,1,55,kumada_sanshi
+kuma_(kumahoihoi),1,55,
+kujou_tsukiyo,4,55,
+kousuke0912,1,55,
+koukou_(climacool),1,55,
+kouchuu,4,55,
+koube_shio,4,55,
+kotomi_(happy_colors),1,55,
+koshimizu_takayuki,1,55,
+kono_sekai_no_katasumi_ni,3,55,in_this_corner_of_the_world
+konami_mecha_musume,3,55,
+koko_(oyasuminasai),1,55,
+koito_(bowstringsmall),1,55,
+kobeni,1,55,
+koakuma_teeri_to_kyuuseishu!?,3,55,
+ko-yuyuko_(shin'en),4,55,ko-yuyuko
+kjech,1,55,
+kiyosumi_hurricane,1,55,
+kiyohara_hiro,1,55,
+kivat-bat_iii,4,55,
+kissing_thigh,0,55,thigh_kiss
+kiseki_raki,4,55,
+kisara_(engage_kiss),4,55,
+kisaki_mio,4,55,
+kiryuu_kazuma_(cosplay),0,55,
+kiriya_(aprikose_0312),1,55,
+kirishima_eriko,4,55,
+kirigaya_touko,4,55,
+kirie_(kouya_no_kotobuki_hikoutai),4,55,
+kinokoutarou,1,55,
+kimidori_(kimidoriri),1,55,
+killy_doodle,1,55,
+kikistark,1,55,
+khoaphan96,1,55,
+keruberosu-a,1,55,
+kepra_iii,1,55,
+kenao,1,55,
+keikyu_(tiltedcube),1,55,
+keijou_(cave),1,55,
+kei_(hidden),1,55,
+kei_(fortune),1,55,
+kei_(dirty_pair_flash),4,55,
+kawamoto_momo,4,55,
+katahira_(hiyama),1,55,
+kashiwagi_kaede,4,55,
+karva_(granblue_fantasy),4,55,karuba_(granblue_fantasy)
+kangoku_(series),3,55,
+kamuraaa_615,1,55,
+kamukamu6392,1,55,
+kamiura,1,55,
+kamisato_ayaka_(heytea),4,55,
+kakeami,1,55,
+kajatony,1,55,
+kagura_tsukune,1,55,
+kagura_ittou,1,55,
+kagi,1,55,"kagi55x,locker_room_production"
+ka_ei_volltis,1,55,
+ka1se1,1,55,
+k-ta,1,55,
+jyon104,1,55,
+junda,1,55,
+jum_(parallel_parasol),1,55,
+jomae_gen,1,55,
+jm1990henan,1,55,
+jaws_(movie),3,55,
+izumo_(azur_lane),4,55,
+itunes,3,55,
+ittumozzz,1,55,
+ishihara_megumi,1,55,
+isara_mao,4,55,
+iowa_(kancolle)_(cosplay),0,55,
+initial_f,1,55,
+inakami,1,55,
+inagaki_minami,4,55,
+in_hat,0,55,
+illumise,4,55,
+ichiroku,1,55,
+ichigo-chan_(mignon),4,55,
+ice_pick,0,55,
+hunewearl,4,55,
+howan_(show_by_rock!!),4,55,
+houkai_(collapse_illust),1,55,
+hotaruika_niji,1,55,
+hori_airi,1,55,
+honon,1,55,
+honda_hiroto,4,55,"tristan_taylor,tristan_timothy_taylor"
+hombre_tigre_(housamo),4,55,hombre_tigre_(tokyo_houkago_summoners)
+holy_ring,0,55,
+hollow_(bleach),0,55,
+holding_laptop,0,55,
+hiroshi_(2443303124),1,55,
+hiratsuka_tomoya,1,55,
+hirari,1,55,
+hinomars19,1,55,
+hinata_fuyuki,4,55,
+hinaki,1,55,
+hinai_paulette,4,55,
+hinagiku-19,1,55,
+himemiya_anthy_(cosplay),0,55,
+hikari_hachi,1,55,
+hijiri-tukasa,1,55,
+higa_kanata,4,55,
+hieda_no_are,4,55,
+hideousbeing,1,55,
+hey_xander,1,55,
+hermione_(pure_white_angel)_(azur_lane),4,55,
+helloet11,1,55,
+hej_(mugmnm51),1,55,
+heibaise_jiangshi,1,55,m9nokuro
+hazuki_(pacco),1,55,hazuki_(pixiv33452)
+hattori_mitsuru,1,55,
+hat_on_chest,0,55,
+hasu_(zatsugami),1,55,
+harunori_(hrnrx),1,55,
+harpy_(puyopuyo),4,55,
+harpy_(nukomasu),4,55,
+happosai,4,55,
+happiness_lilys,1,55,
+hanepochi,1,55,
+hanaarts,1,55,lanalopez92
+hami_(lvct),1,55,
+hamanashi_(trapiorra),1,55,trapiorra
+hamalu,1,55,
+halulu,1,55,
+hakuri,1,55,
+ha.skr_(hasukara),1,55,
+gyuunyuu_bin,1,55,
+gwenpool,4,55,
+guild_wars,3,55,
+guardian_(breath_of_the_wild),4,55,
+grilled_corn,0,55,yakitoumorokoshi
+grey_sash,0,55,
+grete_m._gollob,4,55,
+greenteaneko-chan,4,55,
+goskt10trr,1,55,
+goma_irasuto,1,55,
+golden_wings,0,55,
+gnsn_aile022,1,55,
+glowing_crystal,0,55,
+gloucester_(azur_lane),4,55,
+ginjuuji,1,55,
+gina_boyd,4,55,
+ghdwid,1,55,
+gg_amang,1,55,kkamangbeleukkamang
+geokinesis,0,55,
+gensuke_(ryun),1,55,
+g-tz,1,55,
+fw_190,0,55,
+fuyusuke_(hz+),1,55,
+fuuro_(johnsonwade),1,55,
+fushimi_inari_taisha,0,55,
+furuya_jun,4,55,
+fumi_(fumifumi-graffiti),1,55,
+fujiyama_takashi,1,55,
+fujiwara_no_mokou_(phoenix),4,55,
+fujisaki_kaon,1,55,
+fujieda_honami,4,55,
+fugtrup,1,55,
+fudeyama_(fudeco),1,55,
+fubuki_(warship_girls_r),4,55,
+front_to_back,0,55,
+formidable_(azur_lane)_(cosplay),0,55,
+foot_kabedon,0,55,
+floor_ni_maou_ga_imasu,3,55,
+flash_tomo,1,55,
+fire_truck,0,55,"fire_engine,firetruck"
+female_builder_(dqb2),4,55,
+fedsnk,1,55,
+fatal_frame_1,3,55,
+fast-r,1,55,
+fantastic_four,3,55,
+exploud,4,55,
+eva_mashiro,1,55,
+eva_08,4,55,
+eungi,1,55,
+eternal_tiare,0,55,
+ereshkigal_(bitter_sweet)_(fate),4,55,
+epitaph_(1122),1,55,
+eon_(greencastle),1,55,
+eno_konoe,4,55,
+engineer_nemo_(fate),4,55,
+en_(dorohedoro),4,55,
+elf_no_radral,4,55,
+elec_bobo,1,55,
+ekidona,1,55,
+eds,1,55,
+edoara,1,55,
+edo_phoenix,4,55,aster_phoenix
+edea_cluster,4,55,
+durant,4,55,
+dune_(artist),1,55,
+duke_tougou,4,55,duke_togo
+duel_academy_uniform_(yu-gi-oh!_5d's),0,55,
+drogoth,1,55,
+dream_c_club_zero,3,55,
+dramatica,1,55,
+dragon_ball_z_kami_to_kami,3,55,
+dragalge,4,55,
+dorok,1,55,broche_(timpet)
+doll_house,0,55,
+dokonjou_gaeru,3,55,
+dmyotic,3,55,
+dmitriy_samarkin,1,55,
+djmn_c,1,55,
+diaodiao,1,55,
+deroo,1,55,
+delta_zone,1,55,
+delf,1,55,
+deany,1,55,
+darkavey,1,55,
+dai_yasude,1,55,
+daenerys_targaryen,4,55,
+d._joko,1,55,egoist-001
+cyaneko,1,55,
+cuisses,0,55,
+crymsie,1,55,rachel_bouvier
+corsetman,1,55,
+cop_craft:_dragnet_mirage_reloaded,3,55,
+connor_(detroit),4,55,
+condom_in_hair,0,55,
+come_at_me_bro,0,55,
+class_number,0,55,
+cinnamon_(mega_man),4,55,cinnamon
+christine_garland,4,55,
+chong_feigiap,1,55,
+chokuro,1,55,
+chitose_rin,1,55,
+chikage_(blackclownery),1,55,
+chihong_de_tianshi,1,55,
+chihaya_(roshin),4,55,
+chiden,1,55,chiden06
+cheery_pink,4,55,
+charybdis_(red_chamber_of_healing)_(azur_lane),4,55,
+chargeman_ken!,3,55,
+chanosuke,1,55,
+chamuring,1,55,unye_00
+chabashira_sae,4,55,
+cglange,1,55,
+cete_(controllingtime),1,55,
+celestea_tera,1,55,
+cat_food_(vocaloid),3,55,
+cardiac_arrest,0,55,
+canarinu,1,55,
+camping_chair,0,55,
+c3_piyo,1,55,
+burning_clothes,0,55,
+btooom!,3,55,
+brown_twintails_girl_(mdf_an),4,55,
+borusen,1,55,ball1000
+bonple_military_uniform,0,55,
+bon,1,55,
+boleum_(dgrpluna),1,55,
+bokutachi_no_remake,3,55,remake_our_life!
+bokuden,1,55,
+boku_no_pico,3,55,
+blue_armband,0,55,
+blu-ray,0,55,
+blade_arcus_from_shining,3,55,
+black_getter,4,55,
+big_dipper,0,55,ursa_major
+bianyuanqishi,1,55,
+bh001,1,55,
+beta_(muvluv),4,55,
+berusa_(berutoo),1,55,
+berserker_rage,0,55,
+berserker_(final_fantasy),4,55,
+benedia,1,55,
+belfast_(azur_lane)_(cosplay),0,55,
+bechu,1,55,
+barbariana_(last_origin),4,55,barbariana
+barachan,1,55,
+bangsutur,1,55,
+balusah,1,55,
+bacho,1,55,
+b3,1,55,
+azumaya_(miyui001),1,55,azumaya_(myw24037643)
+azazel_ameri,4,55,
+ayamori_mimi,1,55,
+ayaki_d,1,55,jack1002
+asuka_120_percent,3,55,"asuka_120,asuka_120%"
+astesia_(frlibre_on_the_palace)_(arknights),4,55,
+ash_blossom_&_joyous_spring,4,55,
+asana,1,55,
+asahina_akane_(nijisanji),4,55,
+asagiri_kogen,1,55,
+artemisia,4,55,
+arihara_tsubasa,4,55,
+arigiep,1,55,
+arigato_usagi,4,55,
+areadbhar_(fire_emblem),0,55,
+aqua_sclera,0,55,
+aoppoi_oto,1,55,
+aoiro_050,1,55,
+aodu_fumiyoshi,1,55,
+anubis_(surio),4,55,
+another_rider_(zi-o),0,55,
+ann_blyth,4,55,
+anchovy_(girls_und_panzer)_(cosplay),0,55,
+amy_limiette,4,55,
+among_us_eyes_(meme),0,55,
+amira,4,55,
+amiba00,1,55,
+ami_dixie,4,55,
+amekasaikuta,1,55,
+amayo_thranana,1,55,thrananaart
+amamiya_kabosu,1,55,
+amagimei,1,55,
+alto_clef,4,55,
+alps_no_shoujo_heidi,3,55,
+almond,0,55,
+alha,1,55,
+alcd,1,55,
+akutare_(disgaea),4,55,
+aki_sakura,1,55,
+akehoshi_subaru,4,55,
+akaya_shiki,1,55,
+ajahweea,1,55,
+aizawa_masaya,1,55,
+aisa_(micuma),1,55,
+airi_(quilt),4,55,
+aino_(acilealaulica),1,55,
+aimai_(luckyfive),1,55,
+ailiner7060,1,55,
+ailane_(show_by_rock!!),4,55,
+aihara_yukino,4,55,
+aho_girl,3,55,
+adilisia_lenn_mathers,4,55,
+adapted_weapon,0,55,
+a-plug,1,55,
+.52_gal_(splatoon),0,55,
+"""rouhou""_ore_no_iinazuke_ni_natta_jimiko_ie_dewa_kawaii_shikanai.",3,55,
+zundacroquette,1,54,
+zukan_(db_tyoutyo),1,54,
+zouhyou_(at4190),1,54,at4190_(user_vzac7788)
+zodiac_4_(sekaiju),4,54,
+zodd_(berserk),4,54,
+zeni,1,54,
+zen_(raspberry),1,54,
+zanasta0810,1,54,
+zacian_(hero),4,54,
+yuyake_hino,4,54,
+yuushoku,1,54,
+yuukauta,1,54,
+yuu_(asaiyuji),1,54,yuu_(pixiv111910)
+yutou_(yutou75),1,54,yutou75
+yurikawa_saki,4,54,
+yumemo,1,54,
+yukimura_usagi,1,54,
+yukimaru,4,54,
+yukidaruma718,1,54,
+yukibi_(ykb),1,54,
+yuiazu_(unit),0,54,
+yuhuan,1,54,
+yucco_kxoxc,1,54,
+yp_(pypy_5_),1,54,sudan_73_p
+youmicitrustea,1,54,
+yoshi_egg,0,54,
+yoroiden_samurai_troopers,3,54,
+yoi_(207342),1,54,
+yatsu_seisakusho,1,54,
+yasuhiko_yoshikazu,1,54,
+yanazuri_(kimossari337),1,54,
+yanazuki,1,54,
+yanagi_yagiaji,1,54,
+yamori_(stom),1,54,
+yamatogawa,1,54,
+yamada_naoko_(kodamayanao),1,54,
+yaeno_nadeshiko,4,54,
+yadone_kanna,4,54,
+xubai,1,54,
+xinta,1,54,
+xiao_guan_(headdress),0,54,
+x_drake,4,54,
+world_flags,3,54,
+won_(toufunokado),1,54,
+wind7626,1,54,
+wikipe-tan,4,54,
+wickellia,1,54,
+whitebear,1,54,
+whisking,0,54,
+wheatley,4,54,
+wet_dream,0,54,
+weien,1,54,
+watanabe_saki,4,54,
+warlock_2_(sekaiju),4,54,
+war_of_genesis,3,54,
+wanko_to_kurasou,3,54,
+w_(fugue)_(arknights),4,54,w_(trance)_(arknights)
+volga_(azur_lane),4,54,
+victor_(tama_e_akira),1,54,
+verse,1,54,
+vergil_mon,1,54,
+venus_rumble,3,54,
+vapors,0,54,
+van_fanel,4,54,
+vampire_princess_miyu,3,54,
+vaike_(fire_emblem),4,54,wyck
+usami_wataru,1,54,
+uououoon,1,54,
+unown_m,4,54,
+uni_(reborn),4,54,
+ujuju,1,54,
+uchuu_kyoudai,3,54,
+u0rei,1,54,
+tsukinami_kasumi,4,54,
+tsukamori_shuuji,1,54,
+tsuduki-chan,4,54,
+tsuchinoko_(muni_muni),1,54,
+triple_amputee,0,54,
+transformers_energon,3,54,transformers_superlink
+toyosatomimi_no_miko_(owl),4,54,
+touhou_ayaria_epic,3,54,
+tonegawa_anju,4,54,"angela_thompson,angie_thompson"
+tonayon,1,54,
+tomte_(housamo),4,54,tomte_(tokyo_houkago_summoners)
+tomoyo_kai,1,54,
+tomo_(princess_connect!),4,54,mikuma_tomo
+tom_(tom_and_jerry),4,54,
+tokiwa_nanaka,4,54,
+togawa_mayuu,4,54,togawa_mayu
+todoroki_sora,1,54,
+tobi_(pixiv41237754),1,54,
+tilia_(ar_tonelico),4,54,
+tiki_(pangya),4,54,
+thedurianart,1,54,"daniel_kamarudin,thedurrrrian"
+the_tentacle_professor,1,54,
+the_magician_(tarot),0,54,
+the_last_story,3,54,
+tevit_(tevit15),1,54,
+testament_(fate),4,54,
+terufu-chan,4,54,
+tendosora,1,54,
+taro_(honyarara00),1,54,
+tange_sakura,4,54,
+tanaka_yoshitake,4,54,
+tanaka_keiko,4,54,
+tales_of_the_world_radiant_mythology_3,3,54,
+taki_rentaro,1,54,
+takanashi_kiara_(phoenix),4,54,
+tajima_nao,1,54,
+taiga_hiroyuki,1,54,hiroyuki_taiga
+taichi_(tomo),1,54,tomo_(pixiv245623)
+tacshojosora,1,54,
+suzaku_(kemono_friends),4,54,
+super_robot_wars_w,3,54,
+super_robot_wars_og_moon_dwellers,3,54,
+super_robot_wars_dd,3,54,
+sukekiyo_(skky_0),1,54,
+suee,4,54,
+subaru_(.hack//),4,54,
+striped_underwear,0,54,
+straight_cougar,4,54,
+stechkin_(girls'_frontline),4,54,stechkin_(girls_frontline)
+star_wars:_return_of_the_jedi,3,54,"star_wars_episode_6,star_wars_episode_vi"
+star_guardian_miss_fortune,4,54,
+star_block,0,54,
+spot_(arknights),4,54,
+spike_(my_little_pony),4,54,
+soviet_pioneer,0,54,
+soubriquetrouge,1,54,
+sonogami_rinne,4,54,
+sonic_the_hedgehog_(cosplay),0,54,
+soleil_(soleilmtfbwy03),1,54,
+solarisu,1,54,
+sohaya-no-tsurugi,4,54,
+smooooch,3,54,
+smoked_cheese,0,54,
+ska.harumi,1,54,
+sidelocks_tied_back,0,54,
+shuukenyuu,1,54,
+shuru_y,1,54,
+shrek_(series),3,54,
+shourin_bonzu,1,54,
+shizuko_hideyoshi,1,54,
+shishamo_(masato_k),1,54,
+shishamo@,1,54,
+shiromaru_(maniado),1,54,
+shiro_(fire_emblem),4,54,shinonome_(fire_emblem_if)
+shiramine_(srmn09),1,54,
+shinozaki_akina,4,54,
+shikajima_shika,1,54,
+shigure_(blue_archive),4,54,
+shibayuki,1,54,
+shibata_mizuki,4,54,
+shiba_hibino,4,54,
+shenmue_iii,3,54,
+shelgon,4,54,
+sheep_hat,0,54,
+shanoa_(vtuber),4,54,
+shadow_moon,4,54,
+sero3eta,1,54,
+sengoku_blade,3,54,
+selene_(pokemon)_(cosplay),0,54,
+seisen_no_iberia,3,54,
+seirei_no_moribito,3,54,
+sea_lion,0,54,
+sclera_(asteroid_ill),4,54,sclera_(asuteroid)
+sawch_cls,1,54,
+sauropod,0,54,
+satonaka_chie_(ooya-san_wa_shishunki),4,54,
+sara_(jewelpet_twinkle),4,54,"sara_(jewel_pet),sara_(jewelpet_tinkle)"
+sapling,0,54,
+sangyou_haikibutsu_a,1,54,
+san_sami,1,54,
+sally_whitemane,4,54,
+sakuru,1,54,
+sakurada_hane,4,54,
+sakura_ai_ke,1,54,
+sakou_yukie,1,54,
+sakisato_kiriko,1,54,
+sakanaokashi,1,54,fishissnack
+saiga_tokihito,1,54,
+saekiya_sabou,1,54,saekiya_games
+sabiirodoramu,1,54,
+ryuuki_garyuu,1,54,arabagi
+rx_hts,1,54,
+rukito,1,54,
+rosettastone,1,54,
+rosa_(pokemon)_(cosplay),0,54,
+rori_chuushin,1,54,
+robbie_the_rabbit,4,54,
+rinna_mayfield,4,54,
+ring_fit_trainee_(female),4,54,
+riko201008,1,54,
+rick_g_earth,3,54,
+reticule,0,54,
+resident_evil_code:_veronica,3,54,
+reizoku_ichiba,3,54,
+rei_(rei_9146),1,54,
+rayn,1,54,
+raymon,1,54,
+rakisuto,1,54,
+raika_grace,4,54,
+raida_(j5einmnjp3r49k6),1,54,
+rabittofaa,1,54,
+raayu_(0u_rayu),1,54,
+ra-pen,1,54,
+quickie,4,54,
+qixiong_ruqun,0,54,
+qb_516,1,54,
+putty_(phantom_brave),4,54,
+pudding_(tonpuu),4,54,pudding_(tongpoo)
+princess_wriggle,4,54,
+princess_maker_(series),3,54,
+pororokka_(macareo),1,54,po_ro_ro_ka
+pool_monitor_part-timer_(dytm),4,54,
+pooka_(odin_sphere),4,54,
+poni_(rito),1,54,
+pollenoxide,1,54,
+piroaki,1,54,
+pinku_(vtuber),4,54,
+pink_floyd,3,54,
+pin.x,1,54,
+picrew,3,54,
+photographer,0,54,
+phoebe_(granblue_fantasy),4,54,vetor_(granblue_fantasy)
+pharaoh,0,54,
+perfect_blue,3,54,
+pencil_sharpener,0,54,
+peagunz,1,54,
+peachette,4,54,
+pat_attackerman,1,54,
+parusu_(ehyfhugj),1,54,
+pa-15_(alluring_larkspur)_(girls'_frontline),4,54,
+ouka_(.hack//),4,54,
+otter_kawauso,1,54,
+otoshiro_noel,4,54,
+osomatsu_(nanameno),1,54,
+oscar_(fire_emblem),4,54,
+osanai_shiina,1,54,
+oridays,1,54,
+oregano_(olgn_eao),1,54,
+orchid_mantis,0,54,
+orange_tabard,0,54,
+ooya-san_wa_shishunki,3,54,
+oobayashi_mori,1,54,
+oniichan_no_koto_nanka_zenzen_suki_janain_dakara_ne!!,3,54,
+on_(isk1812),1,54,
+omega_rei,4,54,
+olwen_(fire_emblem),4,54,
+okino_ryuuto,1,54,soratanhaahaa
+official_alternate_hair_color,0,54,
+odmised,1,54,
+obvious_statement,0,54,
+obsidian_slasher,0,54,
+nyantan,4,54,"mr._mew,nyan-tan"
+nyaa28,1,54,
+nuwanko,1,54,
+nura_rikuo,4,54,
+nugaa,1,54,
+norah_bright,4,54,
+nonaka_kurumi,4,54,
+noel_cerquetti,4,54,
+noah_(sound_voltex),4,54,
+no_earrings,0,54,
+nishikawa_honami,4,54,
+nishijima_ren,4,54,
+nina_(ninageya),1,54,
+nes,0,54,
+nemubusoku,1,54,
+nemu_(isaya),1,54,
+nemomo,1,54,
+nemari_(nemaru_0907),1,54,
+nekohuman221_(tsun221),1,54,
+nectar,0,54,
+necro_(street_fighter),4,54,
+nearl_(shimmering_dew)_(arknights),4,54,nearl_(sunny_morning_dew)_(arknights)
+nazuna_shizuku,1,54,
+nayuko,1,54,
+navigator_(alchemy_stars),4,54,
+nattou_mazeo,1,54,
+natsukimonou,1,54,
+narumi_tsubame,4,54,
+naru_(wish_field),1,54,
+nansen_ichimonji,4,54,
+nankotsu,1,54,
+nanakase_yashiro,4,54,
+naked_pumpkin,0,54,
+nakamori_aoko,4,54,
+nakajima_nishiki,4,54,
+naga_u-chan,4,54,
+nachiya,0,54,
+nabe_(ingenmame),1,54,"ingenmame,nabeshiki_(ingenmame)"
+muwa12,1,54,
+mustadio_bunansa,4,54,mustadio_bunanza
+munehiro_(21plus),1,54,
+multico,1,54,
+morimi_saki,4,54,
+mori_marimo,1,54,
+moratorian,1,54,
+mope,1,54,
+moong_gya,1,54,
+moon_presence,4,54,
+monokuro_(snog),1,54,zipon
+monjiro_(sorobochi),4,54,
+mongarit,1,54,
+monarch_butterfly,0,54,
+mona_(shingeki_no_bahamut),4,54,miimu
+momoiro_oji,1,54,
+mola_mola,1,54,
+moetarou,4,54,
+mode_(mode-n),1,54,
+mochi_(m0chi0000),1,54,daradarahundosi
+moccy,1,54,
+mnemosyne,3,54,
+mk_(lazymk),1,54,
+mizutani_shizuku,4,54,
+mizuryuland,3,54,mizuryuuland
+miyuu,1,54,
+miyadeguchi_mizuchi,4,54,
+miyabi_tsuzuru,1,54,
+missing_finger,0,54,
+mishima_kazumi,4,54,
+minyo,1,54,
+minkye,1,54,
+ming_(mg),4,54,
+minamino_souta,4,54,
+midori_no_makibaoo,3,54,
+miami-chan_(ryusei_hashida),4,54,
+mgmg_1012,1,54,
+meteor_(bard's_holiday)_(arknights),4,54,
+messier_number,1,54,
+merry_(grimgar),4,54,
+menjou_hare,4,54,
+meiji_milk_chocolate,0,54,
+medemoisellecu,1,54,
+mayu_(kaikan_change),4,54,
+max_(pangya),4,54,
+maud,4,54,
+matsubara_hidenori,1,54,
+matchlock,0,54,
+mascara_wand,0,54,
+mark_kruger,4,54,mark_kluger
+marchen_awakens_romance,3,54,mar
+maple_(cyakapon),1,54,
+manorea,1,54,
+mandragora_(final_fantasy),4,54,
+mamoru_(arizona),1,54,mamoru_(artist)
+mam233,1,54,
+malin_(kof),4,54,
+makani_kohitujito,1,54,
+majin_shoujo,3,54,
+magami_eiko,4,54,
+m134,1,54,
+lyrical_denko,1,54,
+luizhtx,1,54,
+love_deluxe,4,54,
+loudred,4,54,
+logknn,1,54,
+liusang,1,54,
+little_viktoria,1,54,
+lira,1,54,
+lillie_(pokemon)_(cosplay),0,54,
+lian_(aohada_bocchi),4,54,
+leotard_sweater,0,54,
+leoheart,1,54,
+lemon_blossoms,0,54,
+larva,0,54,
+lapucelle_(arasoo1210),1,54,
+lace-up_sleeves,0,54,
+kyou_ami!,3,54,
+kutsugen_kanna_(mikouken),1,54,
+kusiyan,1,54,
+kuroshiro_gurei,1,54,kuroshirogurei
+kuromu,1,54,
+kura_noi,1,54,
+kunzite_(sailor_moon),4,54,
+kunoichi_kaen,4,54,
+kumeta_kouji,1,54,
+kumano_(fancy_waves)_(azur_lane),4,54,
+kumakura_mariko,4,54,
+kuma-tan,4,54,
+kukkuru,1,54,
+kuji_toi,4,54,
+kreuzer_00,1,54,
+koyomiuta,1,54,
+kouno_sachiko,1,54,
+kosuke_orz,1,54,
+kongeraatio,1,54,
+konatsu_miyu,1,54,
+konata_(knt_banri),1,54,
+konachiu,1,54,
+kon_(kdash),1,54,
+kokoro_ga_sakebitagatterunda.,3,54,the_anthem_of_the_heart
+koi_kakeru_shin-ai_kanojo,3,54,
+koeda_(koeda1kg),1,54,
+klug_(puyopuyo),4,54,
+kizuki_rei,1,54,
+kiyo_(chaoschyan),1,54,
+kitsune_udon_(ai_br),1,54,
+kisaragi_mic,1,54,
+kirishima_yurika,4,54,
+kirimatsu,1,54,
+kirby's_dream_land,3,54,
+king_kong,4,54,
+kimochi,1,54,
+kim_jin_sung,1,54,
+kiki_(re_6xxx),1,54,
+kickylian,1,54,
+kibasen,0,54,
+keikenchi,1,54,
+keenbiscuit,1,54,
+kazukingu,1,54,
+kazami_kuku,4,54,
+kawasaki_toiro,1,54,
+kawara_pigeon,1,54,
+kawai_rika,4,54,
+katsura_dendou,1,54,
+katsura_(+araka),1,54,
+kasetsu_03,1,54,
+karo_karo,1,54,
+kapiko,1,54,
+kanojo_ga_aitsu_ni_sareta_koto,3,54,
+kaneda_eiji,1,54,
+kanamura_ren,1,54,
+kanamori_reiko,4,54,
+kaminari_ryuunosuke,4,54,
+kamen_rider_amazons,3,54,
+kamehima,1,54,
+kame_(3t),1,54,
+kalina_ann_(weapon),0,54,
+kaimo_(mi6kai),1,54,
+kaen_miso,1,54,
+junjun_(sailor_moon),4,54,
+junjam,1,54,
+jungki_dr,1,54,raizen_(jung_0000)
+joshua_(tubie),1,54,
+jirai-chan_(masayo),4,54,
+jinpaitugounan,1,54,asuo
+jervis_(kancolle)_(cosplay),0,54,
+jageungansik,1,54,
+jack_skellington,4,54,
+ja_mong,1,54,
+izumi_curtis,4,54,
+izulizuru,1,54,
+itoucon,1,54,
+isaku,3,54,
+isadora_finnsdottir,4,54,
+irene_(claymore),4,54,
+irabu_ichirou,4,54,
+inuwaka_akane,4,54,
+indian_flag,0,54,
+inaresi,1,54,
+imaizumi_(imaizumin-chi),4,54,
+icebox46,1,54,
+iapoc,1,54,
+hydra,0,54,
+hyakusei,1,54,
+hungrydurp,1,54,
+housen_elis,4,54,
+house_dragonmaid,4,54,
+hou_no_ka,1,54,
+hoplitx,1,54,
+homri,1,54,
+hokkyoku_hotaru,1,54,
+hiyoko_(chick's_theater),1,54,
+hitotsu_yane_no_tsubasa_no_shita_de,3,54,
+hitorigaoka,1,54,
+hisanoworld,1,54,
+hirota_masatane,1,54,
+hiro_(hankakudouga),1,54,
+hinosaki,1,54,
+hinomori_shiho,4,54,
+hinata_hanabi,4,54,
+hina_(cassissoda),1,54,
+high_jump,0,54,
+hige_(hige2),1,54,
+hibarino_tuyuri,1,54,
+herayoshi,1,54,
+hayaoki_(asagi-iro_seishun-bu),1,54,
+hawkeye_(granblue_fantasy),4,54,
+hatabou,4,54,
+hat_rack,0,54,
+haru_(ririne9999rine),1,54,
+hannah_santos,1,54,
+hanesaki_ayano,4,54,
+hanagin,1,54,
+han-gyaku-sei_million_arthur,3,54,
+hammerman_benkei,1,54,
+hakaze_kaoru,4,54,
+guri_otoko,1,54,
+gundam_lost_war_chronicles,3,54,
+guess_who,0,54,
+guatemala,1,54,
+grail-kun,4,54,
+graham_specter,4,54,
+gouf_custom,4,54,
+goidou_yui,4,54,
+glowing_fist,0,54,
+glorious_success,0,54,
+glidesloe,1,54,
+glasses_kappa,4,54,
+giselle_collette_vingt,4,54,
+girock,1,54,
+gigantamax_meowth,4,54,
+geo_siador,1,54,
+genkidaun,1,54,
+gecotan,1,54,
+gau,4,54,
+gara_ayuri,1,54,
+gakei3,1,54,
+fuyoyo,1,54,
+fusui,1,54,
+funnel,0,54,
+funamushi_(funa),1,54,
+funada_ui,4,54,
+full_service_(mazjojo),3,54,
+fujita_(speedlimit),1,54,huzita
+fujisaki_yuu_(nkrm),1,54,
+fujisaki_ribbon,1,54,
+fujisaki_miyabi,1,54,
+fujimaru_ritsuka_(male)_(cosplay),0,54,
+fujimaru_ritsuka_(male)_(brilliant_summer),4,54,
+fudatsuki_kyouko,4,54,
+fortress_(sekaiju),4,54,
+footstool,0,54,
+fong_pudding,4,54,
+folded_braid,0,54,
+flying_squirrel,0,54,
+finni_chang,1,54,finni
+finger_touching,0,54,
+final_gear,3,54,
+fetishist,1,54,
+fenghu_(huli),1,54,
+femto_(berserk),4,54,
+family_portrait,0,54,
+fam_fan_fan,4,54,
+ez_1011,1,54,
+extra_teeth,0,54,
+exercise_bike,0,54,
+eric_toner,1,54,
+enotou_(enotou_moi),1,54,
+eneco,1,54,
+emma_frost,4,54,
+emilia_(re:zero)_(cosplay),0,54,
+elk,0,54,
+eldridge_(holy_night's_embrace)_(azur_lane),4,54,
+einheadt,1,54,
+e_draw_paint,1,54,
+duel_avatar,0,54,
+drivesuit,0,54,
+drip_(meme),0,54,
+dreamparty,3,54,
+dre,1,54,
+drawcrowd_sample,5,54,
+dr.beeeee,1,54,
+douyougen,1,54,
+dotekabocha,1,54,
+dot_triangle,0,54,
+dorothy_(bishoujo_mangekyou),4,54,
+doppel_(madoka_magica),0,54,
+dombear,1,54,
+doha_skylightscent,1,54,
+dobito_mn,1,54,
+do_it_yourself!!,3,54,
+divergence_eve,3,54,
+directional_arrow_hair_ornament,0,54,
+denson,1,54,
+demiurge,4,54,
+dekapan,4,54,
+ded_(housamo),4,54,ded_(tokyo_houkago_summoners)
+deck_of_cards,0,54,
+decchi_oyabun,1,54,
+dead_man's_questions,3,54,
+damenano104,1,54,
+daiichi_ruby_(umamusume),4,54,
+daigada,1,54,
+daifuku_(tkja3555),1,54,
+curtain_(posuinochuanglian),1,54,
+cum_milking,0,54,
+culotte,4,54,
+cosmicmind,1,54,
+compass_rose,0,54,
+comic_cune,3,54,
+cla_(torinabe),1,54,
+cirucci_sanderwicci,4,54,cirucci_thunderwitch
+chuck_(pokemon),4,54,shijima_(pokemon)
+chroong,1,54,cromanyong
+chronoa,4,54,
+chou_saotome_kenkyuujo,1,54,
+chiot_(god_eater),4,54,shio_(god_eater)
+chichi_guai,1,54,
+chevrolet,0,54,
+chen_shu_fen,1,54,
+chan_hone_pkpk,1,54,
+chabashira_tatsukichi,1,54,
+cerise_(pokemon),4,54,
+ceramic_man,1,54,
+catwalk_(walkway),0,54,
+cat_zipper,0,54,
+candy_store,0,54,
+candy_print,0,54,
+candy_(art_book),3,54,
+call_f,4,54,call_(natsume_yuuji)
+c2-chan,4,54,
+burujawa,1,54,
+bouzu_(bonze),1,54,
+borsalino_(kizaru),4,54,kizaru_(one_piece)
+bong,0,54,
+boned-woo,1,54,
+bondage_gear,0,54,
+bojue_(hakus_1128),1,54,
+bloody_queen_(elsword),4,54,
+bling,0,54,
+black_hair-chan_(ramchi),4,54,
+bl/ess,1,54,jayceaua
+bite_addict,1,54,
+binchou-tan,3,54,binchoutan
+bidet,0,54,
+bianka_durandal_ataegina_(palatinus_equinox),4,54,
+bianka_durandal_ataegina_(dea_anchora),4,54,
+betterman,3,54,
+beniazumaru,1,54,
+beni-chan_(beijuu),4,54,
+bellringer_angel,4,54,
+beastmaster_(final_fantasy),4,54,
+bbb_(33kudo),1,54,
+battlefield_1,3,54,
+battle_magician_(elsword),4,54,
+baeg_mi,1,54,sum_ku
+azarashi_(azrsot),1,54,
+aym_(ash3ash3ash),1,54,
+auzenhaito,1,54,
+asuda,1,54,
+assal_(sennen_sensou_aigis),4,54,
+asano_shimon,1,54,
+asakura_(ishida_to_asakura),4,54,
+asa_(xametaler),1,54,
+aryll,4,54,
+arthur_pendragon_alter_(fate),4,54,
+aroddst4,1,54,
+arion_canvas,1,54,
+ariga_nao,1,54,ariga_ao
+argyle_kimono,0,54,
+archetto_(publicity_strategy)_(arknights),4,54,
+arbbun,1,54,honbun
+arakumo_gakuen,0,54,
+appleseed,3,54,
+apoidea,1,54,
+aoki_kaede,4,54,
+aoi_hinata,4,54,
+aoba_project,3,54,
+aoaso,1,54,njosau
+ao_(aocooler),1,54,
+another_eden,3,54,
+another_blood,4,54,
+anjingkuxiao,1,54,
+angel_leotard,0,54,
+andrea_vaeyl,4,54,
+amochin,1,54,
+amanatsu_yuzuka,1,54,
+amagasa_nadame,1,54,
+alraune_(p&d),4,54,
+ale_nqki,1,54,
+alarm_siren,0,54,
+aki_(chromaticclip),1,54,
+akagawa007,1,54,
+aizawa_tomo,4,54,
+airi_(blue_archive),4,54,
+aihara_academy_school_uniform,0,54,
+aida_rikako,4,54,
+aida_kan_mori,1,54,
+agyou_sonokou_l,1,54,
+agatha_christie_no_meitantei_poirot_to_marple,3,54,"agatha_christie's_great_detectives_poirot_and_marple,poirot_and_marple"
+afterl!fe,3,54,
+after_(artist),1,54,
+a_grim_reminder,0,54,
+a_(sofi3103),1,54,
+a7m_reppuu,0,54,
+80yakky,1,54,
+8055,1,54,
+69_(tranquilo),1,54,mamelove
+5tatsu,1,54,"gotatsu,user_egrs5328"
+58_(opal_00_58),1,54,moon_so_00
+4qw5,1,54,
+440,1,54,
+43_pon,1,54,
+23ichiya,1,54,
+1000000000,1,54,
+zumochi,1,53,1249abcde
+zuihou_de_miao_pa_si,1,53,
+zodiac_2_(sekaiju),4,53,
+zixiong_zix,1,53,
+zircon_(houseki_no_kuni),4,53,
+yuzuru_(xxelysionxx),1,53,
+yuzukarin,1,53,
+yuurei-chan,4,53,
+yuuki_(silent_moon),1,53,
+yuuji_(yujikazakiri),1,53,yuuji_(artist)
+yunmi_0527,1,53,
+yuna_(deadawon),1,53,
+yumeno_kanade,4,53,
+yume_yoroi,1,53,
+yukishiro_tomoe,4,53,
+yukirar,1,53,
+yuki_(princess_connect!),4,53,nijimura_yuki
+yukarigawa_yumiya,1,53,
+yuhica,1,53,
+yubelluna,4,53,
+yu_ikedon,1,53,
+young_wang,1,53,
+youkai_watch_jam:_youkai_gakuen_y,3,53,
+you_(esparda),1,53,
+yoshizawa_sumire,4,53,
+yorimitsu,1,53,
+yori_(y_rsy),1,53,
+yonago_miko,1,53,
+yoga_kimimaro,4,53,
+yoclesh,1,53,
+ymm007xx,1,53,
+yellow_(vocaloid),3,53,
+yashiro_(silver_will),1,53,
+yapi_(yabai_toki),1,53,
+yakushimaru_ryota,4,53,"ryota_(housamo),ryota_(tokyo_houkago_summoners)"
+xiao_qi,1,53,
+xiandao1213,1,53,
+wrath_(fma),4,53,
+world_heroes,3,53,
+winemvee,1,53,
+white_thoroughbred_(kemono_friends),4,53,
+white-aster,1,53,
+wet_pants,0,53,
+wenhe,1,53,
+wavesheep,1,53,josco
+watagi_michelle,4,53,
+wasabisuke,1,53,
+warai,1,53,
+wakabayashi_makoto,1,53,
+wada_don,4,53,
+vigoroth,4,53,
+veigue_lungberg,4,53,
+uzuki_noboru_(denchuu_shoujo),1,53,
+utsunomiya-sen_meguri,3,53,
+utaori,1,53,
+ussr-tan,4,53,
+uss_lexington_(cv-16)_(y.ssanoha),4,53,
+usotsuki_hime_to_moumoku_ouji,3,53,
+ushitsuchi,1,53,
+usagyaru_(rangu),4,53,usagyaru_(ran9u)
+uruc,1,53,
+uranus_(planet),0,53,
+uniform_number,0,53,
+underwear_around_one_leg,0,53,
+under_ground,3,53,
+unachika,1,53,
+umineco_1,1,53,
+umasanjin,1,53,
+ufotable,3,53,
+uematsu_koboshi,4,53,
+two-tone,0,53,
+tuxedo_kamen_(cosplay),0,53,
+turbine,0,53,
+ttk_(ehohmaki),1,53,
+tsunono,1,53,
+tsuji_airi,4,53,
+tsubakiyama_parry,1,53,
+tripped,0,53,
+trevor_c._belmont,4,53,
+trap_(drthumt),1,53,
+tracer_(overwatch)_(cosplay),0,53,
+torture_instruments,0,53,
+torneko,4,53,
+torn_sack,0,53,
+toranyun_(akitsu_taira),4,53,
+tonta_(tonta1231),1,53,kotta_(pesan102)
+tonito,1,53,
+tomihero,1,53,
+tokumei_sentai_go-busters,3,53,
+tokinhr,1,53,
+tofu_(tofulabo),1,53,tofu_(pixiv10770344)
+tim_rhymeless,4,53,
+tileable,0,53,"tessellation,tileable_background"
+tilarna_exedilika,4,53,
+thebrushking,1,53,
+the_crawling_city,3,53,
+techgian,3,53,
+tarumaru,1,53,
+tanken_driland,3,53,
+tamonmaru,1,53,tamon_maru
+tamama,4,53,
+takopii,4,53,
+taki_(nakochan),1,53,
+takeshi_(mononohu20),1,53,
+takatsuki_shiori,4,53,
+takahashi_(yakitomato),4,53,
+taka_(sanoujo358),1,53,
+tachibana_(x_quick),1,53,
+sweater_under_jacket,0,53,
+suzuno_ito,4,53,
+suzukawa_koume,4,53,
+suryua,1,53,
+sunameri_(pixiv3564245),1,53,
+sukoyaka93,1,53,
+sudou_kayo,4,53,
+studded_armlet,0,53,
+stoic_seraphim,1,53,
+steve_chopz,1,53,
+spoo,4,53,
+souther,4,53,"thouther,thouzer"
+souma_haruto,4,53,
+soriku,1,53,
+sorauta,3,53,
+soramimi_(seiga),1,53,
+sonzai_soumei,1,53,
+soe,1,53,
+sode_no_shirayuki_(shikai),0,53,
+snake_mouth,0,53,
+slow_dancer_(jojo),4,53,
+sky_wbo,1,53,black_power-98-1-15
+skorupi,4,53,
+sion_eltnam_sokaris,4,53,
+siegbert_(fire_emblem),4,53,siegbert_(fire_emblem_if)
+shuma_gorath,4,53,
+shoujo_shin'iki_shoujo_tengoku,3,53,the_garden_of_fifth_zoa
+shiromomo,1,53,
+shiro_oolong-cha,1,53,
+shirakawa_miyako,4,53,
+shiomiya_iruka,1,53,
+shin_(sinsin12121),1,53,
+shin-chan_(evangelion),4,53,
+shiki_seishirou_(eroe),4,53,
+shiina_(koufuku_graffiti),4,53,
+shibuya_109,0,53,
+shibao_aoyama,1,53,
+sheer_heart_attack,4,53,
+shaman,0,53,
+sgt_crisis,1,53,"buffcrisis,ignition_crisis,sneedham"
+serizawa_madoka,4,53,
+serapias_alice,4,53,
+seraphina,1,53,
+sento_(iroiro_gottani),1,53,sento_(artist)
+senon,1,53,
+senjochi_janai,1,53,
+sengoku_ace,3,53,
+sendou_emi,4,53,
+sen_no_hatou_tsukisome_no_kouki,3,53,
+sekibanki_day,0,53,
+seismitoad,4,53,
+seio_girls'_academy_uniform,0,53,
+seifuku_rakuen,3,53,
+sd_gundam_sangokuden,3,53,sangokuden
+scream_(movie),3,53,
+schwarz_(presents)_(arknights),4,53,
+scherazard_harvey,4,53,
+sawsbuck_(spring),4,53,
+sawatari_shizuku,4,53,
+satou_kaede,1,53,
+sasisage,1,53,
+sasane,1,53,
+sanshouuo,1,53,
+sanpati,1,53,
+sano_emma,4,53,
+sanntouhei,1,53,
+samejima_minoru,1,53,
+sakuya_(sao),4,53,
+sakuria,1,53,
+sakuemon,1,53,
+sakanasoko,1,53,
+sakaki_rin,1,53,rin_(028ilc)
+saionji_mikoto,4,53,
+saida_kazuaki,1,53,
+sage_(dq3)_(cosplay),0,53,
+saeki_ai,4,53,
+ryu_hayabusa,4,53,"hayabusa_ryu,ryuu_hayabusa"
+rurikoke,1,53,
+rui_rubellent,1,53,rubellent
+rudeus_(haevest),4,53,
+royal_guard_set_(zelda),0,53,
+roy_koopa,4,53,
+rotom_(wash),4,53,
+rosalyn_(hololive),4,53,
+rollingswitch,1,53,dragonz
+ripple_star_queen,4,53,
+rin_ateria,1,53,
+rider_watch,0,53,
+rickert_kai,1,53,
+rick.black,1,53,
+riba,1,53,
+rfb_(how_rfb_stole_xmas)_(girls'_frontline),4,53,
+ren_(witch's_weapon),4,53,
+rei_oe,1,53,
+reference_work_request,5,53,
+red-d,1,53,
+rathian,4,53,
+raranokusu,1,53,
+rapute_(migihidari),4,53,
+ranch_jjba,1,53,
+rance_03_leazas_kanraku,3,53,
+rama_(amaru),1,53,
+raijinto_(fire_emblem),0,53,
+rabinidaddo,1,53,
+quartett!,3,53,quartett
+qt_(space_dandy),4,53,
+pull,0,53,
+pu_uq,1,53,
+prowl_(transformers),4,53,
+prosthetic_weapon,0,53,
+prehistoric,0,53,
+pramanix_(caster's_frost)_(arknights),4,53,
+potti-p,1,53,
+porco_rosso_(character),4,53,
+platypus,0,53,
+pitohui_(sao),4,53,
+pink_leotard_(dq),0,53,
+pilot_uniform,0,53,
+piledriver_(wrestling),0,53,
+pikat,1,53,
+pieces_(series),3,53,
+pie_chart,0,53,
+physics,0,53,
+phrecklesart,1,53,ernest_tuvera
+phantom_of_the_opera_(fate),4,53,phantom_of_the_opera_(fate/grand_order)
+peeing_on_penis,0,53,
+passport,0,53,
+parfait_chocolat_second_brew,3,53,
+paper_background,0,53,
+panana,1,53,jason_dai
+oxygen_mask_(oxygenmask233),1,53,
+otototo,1,53,
+otomachi_una_(sugar),4,53,
+osoko_(osomatsu-san),4,53,
+orochi_leona,4,53,
+orie_hakua,4,53,
+options,0,53,
+ophelia_(painting),3,53,
+ooba_juri,4,53,
+ono_daisuke,4,53,
+oniyuru,1,53,
+onion_rings,0,53,onion_ring
+onimaru_miki,4,53,
+oni_tengu,1,53,
+one_outs,3,53,
+okey,1,53,
+okara,1,53,
+oishii_ishiwata,1,53,fronttire
+ocha_(hutuumikan),1,53,
+oboro_(utawarerumono),4,53,oboro_(utawareru_mono)
+nyuukazai,1,53,
+nyopu,4,53,
+nyc,1,53,
+nyaph,1,53,
+nyaa-tan,4,53,
+nunu_(league_of_legends),4,53,
+nuka_cola,0,53,
+nu_(qjqmfqjqmf02),1,53,
+noririn,1,53,
+noogie,0,53,
+nonomaro,1,53,
+nomikata,1,53,
+noirly,1,53,
+nohotoke_honne,4,53,
+niwa_nagahide_(oda_nobuna_no_yabou),4,53,
+nishimuku_meri,1,53,
+ninym_ralei,4,53,
+ninomae_ina'nis_(cosplay),0,53,
+nikumeron,1,53,
+nikuji-kun,1,53,
+nika_nanaura,4,53,
+niea,1,53,
+new_(lk),4,53,
+neroma_shin,1,53,
+nekojishi,3,53,
+nee_chanto_shiyou_yo!,3,53,nee_chanto_shiyou_yo
+nari_(narikashi),1,53,
+nara_shikadai,4,53,
+nanashi_(soregashi),1,53,
+nanakorobi_nene,4,53,
+nanairo_reincarnation,3,53,
+namek,0,53,
+namatame_chitaru,4,53,
+nakonako,1,53,
+nagae_iku_(cosplay),0,53,
+mythbreakers_(hololive_english),0,53,
+murayama_ryouta,1,53,
+murata_(igaratara),1,53,
+murasaki_kajima,1,53,
+murasa_minamitsu_(cosplay),0,53,
+mumulatte,1,53,
+mr2d,1,53,
+mr.takealook,1,53,
+moyahara,1,53,
+morishima_hodaka_(tenki_no_ko),4,53,morisaki_hotaka
+moonandmist,1,53,
+monowe,1,53,
+momo_walnut,1,53,
+moedredd,1,53,
+moe_(splatoon),4,53,kumano_(splatoon)
+moe_(bosshi),4,53,
+mochisuna,1,53,
+miyabi_(miura105),1,53,
+miya_(chocolate_holic),1,53,
+miura_yumiko,4,53,
+mishima_yoshikatsu,1,53,
+miramu_(ramu450471),1,53,
+minamoto_no_raikou_(traveling_outfit)_(fate),4,53,
+minahamu,1,53,
+minafuni,1,53,
+miki_sauvester,4,53,
+miimu_(nelreg3),1,53,miiiiiiimu
+michinoku_(hiking_miusan18),1,53,
+michimoyo,1,53,
+mgx0,1,53,
+messiah_(game),3,53,
+mersoleil03,1,53,
+mermaid_(artist),1,53,
+menghuan_tian,1,53,
+memphis_(azur_lane),4,53,
+melon_hair_ornament,0,53,
+meiz,1,53,
+meia,4,53,
+medusa_(mythology),4,53,
+mayuri_kaichou,1,53,
+maya_yukiko,4,53,
+maya_schrodinger,4,53,
+matsukaze_rin,4,53,
+matsubara_saya,4,53,
+mat_play,0,53,
+mashugure,1,53,
+mary_jane_watson,4,53,
+marvin_(omarvin),1,53,
+mario_&_sonic_at_the_olympic_games,3,53,
+maria_(junketsu_no_maria),4,53,
+manya_sora,1,53,
+makino_momiji_(artist),1,53,xyv_1
+maitake_(loose),1,53,
+mai_(maika_04),1,53,
+mahou_shoujo_nante_mou_ii_desukara.,3,53,
+magnifire,1,53,
+mage_(bikini_warriors),4,53,
+madcocoon,1,53,
+macken,1,53,macken666
+machida_(ojimashu),4,53,
+ma5,0,53,
+lunarclinic,1,53,
+luna_noah,4,53,
+luna_(gunfire),1,53,
+luna2,1,53,
+lumi_(merryweather),4,53,
+luft7star,1,53,milia_simohayha
+luen_kulo,1,53,
+lucky_(1045044604),1,53,
+lucia_(lunar),4,53,
+loveless,3,53,
+lolipaedq,1,53,
+loika,1,53,
+lin_lee_koo,4,53,lynlee_kuu
+limalisha,4,53,
+liberty_leading_the_people,3,53,
+lfacras,1,53,
+lewdzure,1,53,
+levia_(shepherd0821),4,53,
+level9kaito,1,53,
+levasoj,1,53,
+leon_(fire_emblem),4,53,"leo_(fire_emblem_echoes),leon_(fire_emblem_echoes)"
+lemontyoisy_r18,1,53,
+leebigtree,1,53,
+lee_ji-min,4,53,
+lal!role,1,53,lalil-le
+lagiacrus,4,53,
+la_galissonniere_(azur_lane),4,53,
+kyuupura,1,53,
+kyuu_(pinpo),1,53,
+kyariko,1,53,
+kusunokimizuha,1,53,
+kurosawa_minamo,4,53,
+kuromitu_(kageneko),1,53,kuromitsu_kinako
+kuromaru9,1,53,
+kuro_ai,3,53,dark_love
+kureha_(angelite),1,53,
+kuramoto_kaya,1,53,
+kuko_(flower_knight_girl),4,53,
+kouno_ibuki,1,53,
+kotaroukuroo,1,53,
+kotarou_(yukina1721),1,53,
+kos-owl,1,53,
+kono_yo_no_hate_de_koi_wo_utau_shoujo_yu-no,3,53,yu-no:_a_girl_who_chants_love_at_the_bound_of_this_world
+kono2noko,1,53,
+komori_met,4,53,
+komodo_dragon_(kemono_friends),4,53,
+komedawara,0,53,
+kokutou_mimi,1,53,
+kokage-san,4,53,
+kojou,1,53,
+kogalashi,1,53,
+knives_(knives777),1,53,
+kneehighs_removed,0,53,
+klinklang,4,53,
+kizuna_akari_(a.i._voice),4,53,
+kizuna_ai_(cosplay),0,53,
+kiwamu,1,53,
+kitsune_saiguu,4,53,
+kitou_en,1,53,
+kitagawa_unagi,1,53,
+kisaragi_gentarou,4,53,
+kisaragi_alice,4,53,alice_(sentouin_hakenshimasu!)
+kirigaya_hitsugi,4,53,
+kirara_(inuyasha),4,53,
+king_ghidorah_(godzilla:_king_of_the_monsters),4,53,
+kin-san_(sasuraiga),1,53,
+kimi_(hearty_yuuki),1,53,marrrrrr
+kiliko-san,1,53,
+keny,1,53,
+kenharu,1,53,shunken_he
+kengzeta,1,53,
+keizou,4,53,nathaniel_adams
+kawaii_inu5,1,53,
+katsuragi_nantoka,1,53,
+katanako,4,53,
+kasumi_(kancolle)_(cosplay),0,53,
+kaori_(sky-freedom),4,53,"pink-haired_onee-san_(sky-freedom),pink-haired_onee-san_(sky_(freedom))"
+kanzume,1,53,
+kanzaki_tomoyo,4,53,
+kannuki_hisui,1,53,
+kannoaki,1,53,
+kanisaka_shizuku,1,53,
+kanikame,1,53,
+kanase_kanon,4,53,
+kanaritu,1,53,
+kamen_rider_chalice,4,53,
+kakugari_kyoudai,1,53,
+kaiba,3,53,
+kai_schren,4,53,
+kago1205,1,53,
+juusou_kikou_dancouga_nova,3,53,
+juuka@100neko,1,53,
+june_mina,1,53,
+ju-zika,1,53,
+joutarou,1,53,
+jojo_no_kimyou_na_bouken:_all_star_battle,3,53,
+jiukuzi18797,1,53,
+jinkai_yamizawa,1,53,
+jian_(weapon),0,53,
+jervis_(azur_lane),4,53,
+jaw_titan,4,53,dancing_titan
+jacknife,1,53,
+jackasss,1,53,
+izumiyamisono,1,53,
+izu_(tea_value_lord),1,53,
+itsumi_erika's_loader,4,53,
+itocoh,1,53,
+ishida_masayuki,1,53,
+ishida_kana,1,53,
+iseria_(epic_seven),4,53,iseria_arisphodel
+isao_(wasamoti),1,53,
+iri-neko,1,53,
+invincible_candy,0,53,
+inuboe,1,53,
+intron_depot,3,53,
+inkling_(cosplay),0,53,
+implied_death,0,53,
+imminent_suicide,0,53,
+illustrious_(illustrious_ball)_(azur_lane),4,53,illustrious_(illustrious_ballroom)_(azur_lane)
+ikuya_daikokudou,1,53,
+idu_michito,1,53,
+ichinose_yuu,1,53,
+ichihara_kazuma,1,53,
+hyuuga_masamune,4,53,
+hyuuga_(azur_lane),4,53,
+hyoumon_(saihokutan),1,53,
+hu_tao_(genshin_impact)_(cosplay),0,53,
+hrist_valkyrie,4,53,
+houjichaoic,1,53,
+horonamin,1,53,
+hone_kawa,1,53,
+hone_(koppun),1,53,
+holoro,0,53,
+holmy_(holmesdmode),1,53,
+hokusen,1,53,
+hokenshitsu_no_shinigami,3,53,
+hizuki_miu,4,53,
+hitomi_kazuya,1,53,
+hiroserii,1,53,
+hiromyan,1,53,
+hiroaki_(huruhonya),1,53,
+hirako_shinji,4,53,
+hinata-bokko_(sanpo_fuumi),1,53,
+himetsuba,1,53,
+hikami_dan,1,53,
+hh,1,53,
+hero_(10cl3),1,53,
+helmet_(touhu812),1,53,
+hekirake,1,53,daruzenon
+healer_girl_(yuuhagi_(amaretto-no-natsu)),4,53,
+hataraku_ufo,3,53,
+hasebe_aya,4,53,
+harurun,1,53,
+haruka_karibu,4,53,
+haruka_(haruka_channel),1,53,
+haniyama_kurofo,1,53,haniyama_hanio
+handsofmidaz,1,53,
+hana87z,1,53,
+hamioura,1,53,
+hal_(ojou),1,53,
+hakkotsu_shitai,1,53,
+guricoogen,1,53,guri1105
+guchagucha,1,53,
+gris_(vertigris),4,53,
+grainne_(fate),4,53,grainne
+gokotai_(kiwame),4,53,
+gogopaint,1,53,
+glowing_mushroom,0,53,
+glorious_azure_costume_(umamusume),0,53,
+giraffe_girl,0,53,
+ghost_rider,4,53,
+genocide_kitten,1,53,
+gen_uma_mai,1,53,
+gangsta,3,53,
+fuwakuyuu,1,53,
+futou_ryouko,1,53,
+full_frontal,4,53,
+fukuda_fukutarou,1,53,
+fujita_(dorohedoro),4,53,
+fujinozu,1,53,
+fujimaru_ritsuka_(female)_(starlight_fest),4,53,
+ford_mustang,0,53,
+folded_wings,0,53,
+flower_bra,0,53,
+floe,4,53,
+feather-trimmed_coat,0,53,
+father_(fma),4,53,
+excaliblader,1,53,
+ewokaku_kitsune,1,53,
+evdokiya_infernalis,4,53,
+eun_bari,1,53,
+eumi_114,1,53,
+eufonie,3,53,
+etsusa_oohashi,3,53,
+eroneko-san,4,53,
+eriko_(nakaeri_gogo),1,53,
+erection_under_blanket,0,53,
+enuma_ru,1,53,
+entombed_air_defense_guardian_princess,4,53,entombed_air_defense_guardian_hime
+emina_(emina&aki),4,53,
+emile_elman,4,53,
+eltonel,1,53,
+elle_vianno,4,53,
+elle_sweet,4,53,
+elizabeth_bathory_(fate/extra_ccc)_(cosplay),0,53,
+element_hunters,3,53,
+electronic_cigarette,0,53,vape
+eldridge_(the_inquisitive_recluse)_(azur_lane),4,53,eldridge_(mystery_of_the_empty_classroom)_(azur_lane)
+elbow_cutout,0,53,
+edamameoka,1,53,
+durindana_7,1,53,
+duo_chromatic,0,53,
+drawinik,1,53,
+doushite,1,53,
+donatello_versace,4,53,
+dodgeball,0,53,
+djayo,1,53,
+divine_child_of_rejuvenation,4,53,
+discord,3,53,
+disappear,0,53,
+dhjs_0010,1,53,
+devil_may_cry_2,3,53,
+denzel,4,53,
+densya_t,1,53,
+den_(denwhat),1,53,
+dekapoi,1,53,
+degarashi_(ponkotsu),1,53,
+deer_boy,0,53,
+dedeen,1,53,
+ddongu,1,53,
+dayoon,4,53,
+date_naoto,1,53,
+dancing_flower,0,53,
+daeraeband,1,53,
+d_midiror,1,53,
+cwilocky,1,53,
+crystal_tail,0,53,
+crazy_crazy_(idolmaster),0,53,
+courreges_accel,1,53,courreges_axel
+countdown_timer,0,53,
+cosmo_(chainsaw_man),4,53,
+conmimi,1,53,
+concentric_circles,0,53,
+comiket_89,3,53,
+comcom,1,53,
+collateral_damage_studios,1,53,
+code_geass:_fukkatsu_no_lelouch,3,53,code_geass:_lelouch_of_the_re;surrection
+coco_maru,1,53,
+coach,0,53,
+cleveland_(gentry_knight)_(azur_lane),4,53,
+chronicle_2nd,3,53,
+choujikuu_kidan_southern_cross,3,53,the_super_dimension_cavalry_southern_cross
+chipmunk_costume,0,53,
+chino_(ch_no),1,53,
+chikafumikou,1,53,
+chienon,1,53,
+chie_rumiko,4,53,
+chibibro,1,53,
+charlie_magne,4,53,
+chaborin,1,53,
+chabenmus,1,53,
+cementite,1,53,
+celine_jules,4,53,
+ce-tan,4,53,ce
+carracosta,4,53,
+card_background,0,53,
+can_zhu,1,53,
+caitlin_(fall_2021)_(pokemon),4,53,
+buru-dai,1,53,
+burger_malfunction,0,53,
+bunny_on_shoulder,0,53,
+bunny1219,1,53,
+bthx,1,53,
+brmameng,1,53,
+brioche_d'arquien,4,53,
+braided_tail,0,53,
+boxer,0,53,
+bouffalant,4,53,
+botan_mochito,1,53,
+bobbbob,1,53,
+blunderbuss,0,53,
+blaster_(splatoon),0,53,
+black_frost,4,53,
+biting_arm,0,53,
+benisumomo,4,53,
+beni_shouga,1,53,
+beni_(pokemon),4,53,mube_(pokemon)
+beck_(mighty_no._9),4,53,
+bear_mask,0,53,
+baskin-robbins,0,53,
+baozha_gangbi,1,53,mahou_shounen
+banjo,0,53,
+azusa_(azunyan12),1,53,
+azuki_nagamitsu_(touken_ranbu),4,53,
+aymusk,1,53,
+aye-aye_(kemono_friends),4,53,
+ayanami_(demon's_finest_dress)_(azur_lane),4,53,ayanami_(demon's_dress)_(azur_lane)
+axolotl_(minecraft),4,53,
+augetsix,1,53,
+atcesolcyc,1,53,
+asou_yuma,4,53,
+asn_s,1,53,
+aruciii,1,53,
+artificial_eyes,0,53,
+arteslav,1,53,
+arsene,4,53,
+arrokuda,4,53,
+arisue_tsukasa,1,53,
+aranami_shibuki,1,53,yamamoto_chavez
+araizumi_rui_(style),0,53,
+apita_(apitaro),1,53,
+aoi_choko_(aoichoco),1,53,
+aoba_anoa,4,53,
+ao_(sodalite),1,53,
+anywhere_knock,1,53,
+anpolly,1,53,
+anna_(small_night),1,53,anna_(artist)
+anju,4,53,
+angry_birds,3,53,
+angemon,4,53,
+ana_(tateana_juukyo),1,53,
+amicia_michella,4,53,
+amesarasa,3,53,
+amemiya_taiyou_(mixi_max_zhuge_kongming),0,53,
+amatsuka_rikka,4,53,
+amakoke,1,53,
+alternate_species,0,53,
+alternate_ears,0,53,
+alpaca_carlesi,1,53,
+algae_(5455454541),1,53,
+albert_chamomille,4,53,
+akira_b,1,53,
+akikan!,3,53,akikan
+akeyama,1,53,
+akabane_(pixiv3586989),1,53,
+aka_tonbo_(lililil),1,53,
+aihara-rina,1,53,
+aftamc,1,53,
+adricarra,1,53,
+adaajt,1,53,
+acfun_girl,4,53,
+abbey_road,3,53,
+aata1007,1,53,
+96dgd,1,53,
+7nanappe,1,53,
+72_(nananatsu),1,53,gabaisuito-n
+61cm_quadruple_(oxygen)_torpedo_mount,4,53,
+191karasu,1,53,
+zukanosuke,1,52,
+zoner,1,52,
+ziro_(daydozen),1,52,
+zhumojian,1,52,
+zhen_ji,4,52,
+zatanna_zatara,4,52,
+zaku_i,4,52,
+z19_hermann_kunne_(azur_lane),4,52,
+yuxing_yuhang,1,52,
+yuuna_katsumi,1,52,
+yuumaru_(you-mya),1,52,
+yuuki_yuuna_wa_yuusha_de_aru:_hanayui_no_kirameki,3,52,yuki_yuna_is_a_hero:_bouquet_of_brilliance
+yuuki_shin'ichi,1,52,yuuki_shinichi
+yunomi_(yunomi_imonuy),1,52,
+yukinoshita_(shaonjishi),1,52,
+yukiaka,1,52,
+yuizayomiya,1,52,
+yui_(summer)_(princess_connect!),4,52,
+yui_(marine-drive),1,52,
+yui_(kari),1,52,
+yuel,4,52,
+youzu_(youzuyozu),1,52,
+yonekura_(bakuzen),1,52,
+yf_(hbyg),1,52,
+yellow_hood,0,52,
+yebisu,0,52,
+yaziri,1,52,
+yataba,1,52,
+yahoo!,3,52,
+yaa-kun,1,52,
+xuuikie_ashe,1,52,
+xanxus,4,52,
+wu_yao_jun,1,52,
+wormadam,4,52,
+wolfchev,4,52,
+witchcrafter_madame_verre,4,52,
+winni,1,52,winni_wc
+wind_glider,0,52,
+white_sweater_vest,0,52,
+what_i_watched_what_i_expected_what_i_got_(meme),0,52,what_i_watched_what_i_expected_what_i_got
+wendy_garrett,4,52,
+welding,0,52,
+wd1113,1,52,
+watanukin_(etson122127),1,52,
+watanae_yuuka,4,52,
+wasabi-chan_(eha7y),4,52,
+wano_(azayakam),1,52,
+waltz_(dance),0,52,
+wakagashira,1,52,
+w.d._gaster,4,52,
+vycma,1,52,
+vivi_(dakemakura),1,52,
+vine_whip,0,52,
+vf-0,4,52,
+velvet_room,0,52,
+vanguard_(azur_lane),4,52,
+v-room,1,52,
+uyu_(soda_uyu),1,52,
+utayoi_(umakatare),1,52,
+usuusu,1,52,
+ushihashiru,1,52,
+usagigenki,1,52,
+urabe_rika,4,52,
+uori,1,52,
+una_(mazinger),1,52,una_(pixiv54646)
+umishima_rinta,1,52,
+ulquiorra0,1,52,
+ueno_naoka,4,52,
+ubukata_shinji,4,52,
+twice12314,1,52,
+tsuyuhara_miu,4,52,
+tsutsui_misa,1,52,
+tsuseki,1,52,
+tsurumaki_kazuya,1,52,
+tsukidate_chiyo,4,52,
+tsuki_no_iwakasa,4,52,
+tsuiru,1,52,
+tsugumi_amon,1,52,tsugumi7000
+tsuga,1,52,
+triangle_choke,0,52,
+towa_rui_(artist),1,52,yotsuya_pro
+toshiharu_(s_narutoshi),1,52,
+torimahera,1,52,
+torawar,1,52,
+tonomiya68,1,52,
+tomycase,1,52,
+tomoyan_(nyakkoya),1,52,
+tomoya_(artist),1,52,
+tomid,1,52,
+tomboy-chan_(aestheticc-meme),4,52,
+tomatsu_haruka,4,52,
+toguchi_masaya,1,52,
+toe_shoes,0,52,
+tobatoinu,1,52,
+tiramisu,0,52,
+tink_(disgaea),4,52,
+tiltrotor,0,52,
+tiamat_(granblue_fantasy),4,52,
+thigh_focus,0,52,
+the_sims,3,52,
+the_birth_of_venus,3,52,birth_of_venus
+thanksgiving,0,52,
+thai_student_uniform,0,52,
+terminus_est,4,52,
+teraguchi,1,52,
+tepengu,1,52,
+tennomifune_academy_uniform,0,52,
+ten-chan_(pan_(mimi)),4,52,
+tekken_revolution,3,52,
+teiiku,4,52,
+team_rainbow_rocket_uniform,0,52,
+tatami_(loop),1,52,
+tashimo,1,52,
+tarowo,1,52,
+taroji,1,52,
+tampon,0,52,
+tamon_ketsuyuki,1,52,
+tamarinfrog,1,52,
+tama_(new_island),1,52,
+takobe,1,52,
+take_yaki,1,52,
+takasu_yasuko,4,52,
+takanashi_otoha,4,52,
+takami_ryou,1,52,
+takahashi_record,1,52,
+taka_yanagi,1,52,
+taka_t,1,52,
+taihou_(warship_girls_r),4,52,
+t_bone_(06tbone),1,52,
+suzuno_(kazahanasu),1,52,
+suzumiya_annko,1,52,
+suzuka,3,52,
+sumirou-kun,1,52,
+sumida_kichi,1,52,
+suikyou_(aqua_cities),1,52,
+subaru_impreza,0,52,
+stuffed_pegasus,0,52,
+striped_wrist_cuffs,0,52,
+striped_wall,0,52,
+stern_starks,4,52,
+stella_no_mahou,3,52,
+ssbaby,1,52,
+sponsor,0,52,
+spoken_paw,0,52,
+spider-man_noir,4,52,
+sousuke_(sauceke),1,52,
+souryuuin_akemi,4,52,
+souryuu_kai_ni_(kancolle),4,52,
+soreyuke!_uchuu_senkan_yamamoto_youko,3,52,starship_girl_yamamoto_yohko
+sora-bozu,1,52,
+snowchild,1,52,
+smith_&_wesson,0,52,
+slow_motion,0,52,
+slovenly,0,52,
+sleepless_(wrysmile),1,52,
+skarner,4,52,
+sisoha,1,52,
+siriuflong,1,52,
+sinzire,1,52,
+silcoon,4,52,
+signal_1120,1,52,ma_(gtkh5353)
+shy_(series),3,52,
+shosho_oekaki,1,52,
+shoooohhhh,1,52,
+shoboon,4,52,shobon
+shisui,1,52,shisui101
+shirow_masamune_(style),0,52,
+shirotsume_souwa,3,52,
+shiromonefu,1,52,
+shinotarou_(nagunaguex),1,52,
+shinonome_ukyu,1,52,
+shinocco,1,52,
+shinobu_jacobs,4,52,
+shin_yomawari,3,52,yomawari:_midnight_shadows
+shimadouma,1,52,
+shiizaki_hinaki,1,52,
+shiina_(vuurrood),1,52,
+shigaoka,1,52,
+shida_(xwheel),1,52,"s_hida,xwheel"
+shiboru,1,52,
+shan_gui_yu_yao,1,52,
+shalnark,4,52,
+shaffelli,1,52,
+shadow_(ff6),4,52,
+seruel,4,52,
+serph,4,52,
+seri_(zankuro),4,52,
+sentaku-bune,1,52,
+senna_(league_of_legends),4,52,
+senjougahara_pose,0,52,
+seminoyu,1,52,
+sekiyu.,1,52,
+sekisei_(superego51),1,52,
+sekien_no_inganock,3,52,
+seisen_school_uniform,0,52,
+see_you,1,52,
+scourge_regalia,0,52,
+scotch_(blaze),1,52,
+scatterbug,4,52,
+saxyun,1,52,
+satsuki_yuu_(awairo),1,52,you_satsuki
+satansoft1,1,52,
+sasai_saki,1,52,
+sasagawa_kanon,4,52,
+sarutobi_konohamaru,4,52,
+sarah_mcdougal,4,52,sara_mcdougal
+sapphire_satou,1,52,
+sangoku_taichi,4,52,
+same_(g_shark),1,52,
+samazuka_mashiro,1,52,
+sam_ashton,1,52,
+sakula,1,52,
+sakuama,1,52,
+sakamoto_sue,4,52,
+sakamoto_himemi,1,52,
+sail_(sail-away),1,52,
+sagiri_yuuko,4,52,
+safu,4,52,
+saffron_(flower_knight_girl),4,52,
+sachi_(yumemayoi),1,52,
+saboten7,1,52,
+s.e.m_(idolmaster),0,52,s.e.m
+ryuuguu_otohime,4,52,
+ryuu_ga_gotoku_4,3,52,yakuza_4
+ryoutsu,1,52,
+ryohgo_narita_(mangaka),1,52,
+ryofu,4,52,
+ryisu_(deluxe<<<),4,52,
+rubyaano_(ducl323),1,52,
+ru_(famia),1,52,954740837
+rourouki,1,52,
+rosa_(holiday_2019)_(pokemon),4,52,
+rogue_one:_a_star_wars_story,3,52,
+rktlek159,1,52,
+rise_of_the_guardians,3,52,
+riochan,1,52,
+rio_-rainbow_gate!-,3,52,rio_rainbow_gate
+ring_(ring_fit_adventure),4,52,
+riku_(melty_drop),1,52,
+rikiel,4,52,
+retumihari,1,52,
+rena_(watamote),4,52,
+reluvy,1,52,
+rekurieeru,1,52,
+rei-chan_(konachiu),4,52,
+red_(konkichi),4,52,
+rasetsu001,1,52,
+ramona_(the_prey),4,52,
+qitoli,1,52,
+purutoppu_(toranohige),1,52,toranohige_(pixiv)
+pumpkin_mask,0,52,
+prossss,1,52,
+powder_(arcane),4,52,
+pov_adoring,0,52,
+possessive,0,52,
+poponpin,1,52,
+polki,1,52,
+poking_penis,0,52,
+poke_ball_hair_ornament,0,52,
+piyobomu,1,52,
+piper_thibodeau,1,52,
+pink_suit,0,52,
+pink_nose,0,52,
+pink_(among_us),4,52,
+pink-haired_girl_(kay_yu),4,52,
+penis_in_glove,0,52,
+pecchii,1,52,
+panther_pink_(precure),0,52,
+pam-pam_(precure),4,52,pamu-pamu_(precure)
+pacifica_northwest,4,52,
+otogi_tetsurou,1,52,
+otogi:spirit_agents,3,52,
+osanai_shouko,4,52,osanai_syouko
+oruta_(owata_saber),1,52,
+ooama_no_ake_no_mitori,4,52,
+old_coco,4,52,
+okuda_nao,4,52,okuda_(k-on!)
+oku_1225,1,52,
+okoru_ringo,1,52,
+oki_(koi0koi),1,52,
+ogata_matake,4,52,
+ogata_airi,4,52,
+oekaki-daisuki-dessu,1,52,
+odin_(azur_lane),4,52,
+odagiri_sakura,1,52,
+oda_koziki,1,52,
+oberonia_rhea,4,52,
+nyanyanoruru,1,52,
+nyangoroo_(nekopanchi_bashibashi),1,52,
+nwon'yo_pasun,1,52,
+nuenya,1,52,
+ns_(ntrsis),1,52,ntrsis
+noredo_nug,4,52,
+nool,4,52,
+nonji_(sayglo_halo),1,52,saygo_halo
+nokke_o,1,52,
+nokataro,1,52,
+noes,1,52,
+nishikino_maki's_mother,4,52,
+ninyo_(user_pddg5877),1,52,
+ninja_(fft),4,52,
+nina_tucker,4,52,
+niichi_(niichi21),1,52,
+niconico_rpg,3,52,
+nerunnn,1,52,
+neru_(neruneruru),1,52,
+nemissa,4,52,
+nekoge,1,52,
+neibii,1,52,
+nay,1,52,
+naruse_jun,4,52,
+narusawa_(njzc2582),1,52,
+nanatsuka,1,52,
+nana_(series),3,52,
+namako_mikan,1,52,
+nakatsugi_kyuuma,4,52,"kyuma_(housamo),kyuma_(tokyo_houkago_summoners)"
+nakasaku-p,1,52,
+nak_yama,1,52,
+naib_subedar,4,52,mercenary_(identity_v)
+nagomiya_(shousha),1,52,
+nagami_tami,1,52,
+nagaburo_imoni,1,52,naga_furo_imoni
+muumuu_(sirufuruteienn),1,52,
+mutsuki_kaya,1,52,
+mushroom_(artist),1,52,
+mugura,1,52,
+mubouou_aasaa,1,52,
+mouth_focus,0,52,
+mousse_(food),0,52,
+motto!_haramase!_honoo_no_oppai_isekai_chou_ero_succubus_gakuen!,3,52,
+motomiya_ryou,1,52,
+morioka_hideyuki,1,52,
+moninora,1,52,
+mon_(manarestra),1,52,manarestra
+momoman_(pink_voltage),1,52,"peach_man,pink_voltage"
+mochizuki_kazuto,1,52,
+mochinabe,1,52,
+mobukichi,1,52,
+mobu_(wddtfy61),1,52,
+mo_ying_yu,1,52,
+mizuno_eita,1,52,
+mizukamakiri,1,52,
+miyazaki_(watamote),4,52,
+miura_cat,4,52,
+missing_poster,0,52,
+miso_(mimimiso),1,52,
+mirai_nostalgia,3,52,
+miochun,4,52,
+minton,1,52,
+minoshi,1,52,mentai_mayo
+mimura_(nnnnnnnnmoo),1,52,
+mimori_(blue_archive),4,52,
+mimlememel,4,52,
+mimitoke,1,52,sachimaa
+mimiga,4,52,
+milkor_mgl,0,52,
+mila_(yuta27315),1,52,
+mikoto_(mio),1,52,
+mikebosi,1,52,
+mikami_reiko,4,52,
+mihoshi_(gundam_bf),4,52,
+miharin,1,52,
+mig-29,0,52,
+mhr,1,52,
+mezzo_danger_service_agency,3,52,
+memories_off_6,3,52,
+melda_deitz,4,52,
+meguri_uguisu,1,52,
+mea_(brunhilde),1,52,nanahosi_seiiki
+maya_(dq11),4,52,
+matsuoka_(mtok_0),1,52,
+master_of_epic,3,52,
+mash_kyrielight_(under_the_same_sky),4,52,
+mase_yuuko,4,52,
+masato_(mk),1,52,masato_(pixiv164429)
+maru_(memoriatechnica),1,52,
+mamesi_(suhk8583),1,52,
+mame_usagi,1,52,
+malkuth_(project_moon),4,52,
+makoto_(mk10),1,52,
+makinan,1,52,
+maille-breze_(azur_lane),4,52,
+maid_(mechanical_buddy_universe),4,52,
+mai_(xskdizzy),1,52,
+macaron_(amaburi),4,52,
+mable_west,4,52,
+maako_(yuuyake.),1,52,maako_(pixiv54348)
+ma-hain-scarlet,1,52,
+m_alexa,1,52,
+m4_sopmod_ii_(devourer_of_the_feast)_(girls'_frontline),4,52,
+lyn_(bridal)_(fire_emblem),4,52,
+luomo,1,52,
+lucy_(rusi-juren328),1,52,
+love_potion,0,52,
+lord_boros,4,52,
+loftcat,1,52,loftcatfm
+lmonster_guai,1,52,
+lizchief,1,52,lizchiefffff
+lissandra_(league_of_legends),4,52,
+lion_(macross_frontier),0,52,
+linez,1,52,
+lickilicky,4,52,
+leonzo,1,52,leonzo030
+lentiyay,1,52,
+len_(cat),4,52,
+lemmy_koopa,4,52,
+leather_collar,0,52,
+lear_(pokemon),4,52,lyer_(pokemon)
+leaf_(arknights),4,52,
+laserbeak,4,52,
+lasa_(lasa1116),1,52,
+laphy,1,52,
+lala_(yamada_goroku),1,52,ohlala
+la_liga,0,52,
+kyokugen_dasshutsu_adv:_zennin_shibou_desu,3,52,"virtue's_last_reward,zero_escape:_virtue's_last_reward"
+kusunoki_(gwzx5574),1,52,
+kusujinn,1,52,kidetic
+kuru2pantu,1,52,
+kuroyuki,1,52,
+kurotea,1,52,
+kurosu_tsugutoshi,1,52,muneaki_hamatsu
+kuraki_hiro,1,52,
+kudou_michiya,4,52,
+koyama_sao,1,52,
+koukawa_asuka,4,52,
+kouichirou,1,52,
+kottungyang,1,52,
+kototoki,1,52,
+konjiki_no_yami_(cosplay),0,52,
+kokuyouseki,1,52,
+kokusan_moyashi,1,52,
+kokorori-p,1,52,
+kokoro_navi,3,52,cocoro_navi
+kokko_(014kko),1,52,
+kojima_ayami,1,52,
+koji_(koji-a),1,52,
+koide_natsuno,4,52,
+koi_to_uso,3,52,
+kogarashi_(wind_of_winter),1,52,
+knight_gundam,4,52,
+km_(nijie104352),1,52,
+kloe_rinz,4,52,klose_rinz
+kk724,1,52,
+kiwi_(bird),0,52,
+kitkat,0,52,
+kirou_(kiruyuu1210),1,52,
+kirara_(arknights),4,52,
+kinsou_no_vermeil,3,52,
+kinoji,1,52,
+kingudejii,1,52,dizzygame5
+kikuhara_karin,4,52,
+kermit_the_frog,4,52,
+kenko_(a143016),1,52,
+ken_sogen,1,52,
+ken-chan,4,52,
+kemono_no_souja_erin,3,52,
+keisan,1,52,
+keiko_rin,1,52,
+kazuki_kisuke,1,52,
+kaze_fukeba_nanashi,1,52,
+kayase,1,52,
+kawauchi_(kaz7ry),1,52,kazunari_(kazyar)
+kawamura_ami,4,52,
+katuhata,1,52,
+katsushika_hokusai_(painting_summer)_(fate),4,52,painting_summer
+kato_(mogumoguokome),1,52,
+katakura_shinji,1,52,
+kasumi_yozora,4,52,
+kashiwabara_en,1,52,
+kashiba_aira,1,52,
+karioi_yuu,4,52,
+karin_(yashiro_sousaku),4,52,
+karamimame,1,52,
+kapkan_(rainbow_six_siege),4,52,
+kanoe_(kanoe502),1,52,
+kanengomi,1,52,"misosirudodo,misosirudodo2"
+kan_(tachi),1,52,
+kameno_sachi,1,52,kamekiti
+kamen_rider_x,4,52,
+kai1up,1,52,
+kachou_(ojimashu),4,52,
+kaburagi_(decadence),4,52,
+kabe_ni_hamatte_ugokenai!,3,52,
+kaabon_meshi,1,52,
+k-takano,1,52,
+jun'iku,4,52,juniku
+jumbo,4,52,
+julioalqae,1,52,
+juju,4,52,
+joke,0,52,
+jobski,4,52,
+jin_(avatar),4,52,
+jesus_(saint_onii-san),4,52,
+jax_(league_of_legends),4,52,
+james_moriarty_(gray_collar)_(fate),4,52,gray_collar_(fate/grand_order)
+james_(vocaloid),4,52,
+itoo,1,52,
+itokon300,1,52,
+ishida_masatsuki,1,52,
+isetnation,1,52,
+isaki_(shimesaba),1,52,
+isaka_wasabi,1,52,
+inko,4,52,
+infinity_(kkx132),1,52,
+inami_anju,4,52,
+ika_(hinatu1992),1,52,
+igul,1,52,
+ichijouji_ken,4,52,
+hunk_(voltron),4,52,
+huijin_zhi_ling,1,52,
+huge_moon,0,52,
+hpa_(foolish_factory),1,52,hpa_(pixiv)
+houtani_yukitoshi,1,52,houya_yukitoshi
+houjuu_nue_(cosplay),0,52,
+hoto_cocoa_(cosplay),0,52,
+hornet_(warship_girls_r),4,52,
+honjou_masato,1,52,
+holding_kettle,0,52,
+hokkaido_nippon-ham_fighters,3,52,
+hiva+,1,52,
+hitman_(game),3,52,
+hinase_kaguya,1,52,kinugasa_kaguya
+himiko_(btooom!),4,52,
+hikoboshi,4,52,
+highwayman_(darkest_dungeon),4,52,
+higa_norio,1,52,
+hiepita_(1014),1,52,
+hibitono,1,52,kazunon
+heymans_breda,4,52,
+hexafusion,0,52,triple_fusion
+hellyon_white,1,52,
+heliolisk,4,52,
+heijou_institute_school_uniform,0,52,
+hdkg,1,52,
+hayashi_ekyuu,1,52,
+haurchefant_greystone,4,52,haurchefant_de_fortemps
+hattori_toko,4,52,hattori_touko
+hat_writing,0,52,
+harukawa_syuria_(jack_dempa),4,52,
+hardsuit,0,52,
+hanatsuka,1,52,
+hamster_hood,0,52,
+hamakaze_(kancolle)_(cosplay),0,52,
+hallohi,1,52,
+ha-chan_(mahou_girls_precure!),4,52,ha-chan_(precure)
+h016,1,52,
+gwen_poole,4,52,
+gurina,1,52,
+gumball,0,52,gumballs
+grumpig,4,52,
+green_scales,0,52,
+green_facial_hair,0,52,
+gragas,4,52,
+gold_panties,0,52,
+gogoat,4,52,
+glico,3,52,
+glass_bowl,0,52,
+gitano_(arknights),4,52,
+girl_arms,3,52,
+ginyu_force,4,52,
+ghostface,4,52,
+gepard_m1_(girls'_frontline),4,52,gepard_m1_(girls_frontline)
+gen'en_(sioherashi),1,52,
+gekokujou_(vocaloid),3,52,
+gehrman_the_first_hunter,4,52,
+gear_senshi_dendou,3,52,gear_fighter_dendoh
+gavrof,1,52,
+game-style,3,52,
+futaba_otohiro,4,52,
+furuhara,1,52,
+furapechi,1,52,
+fur-trimmed_sweater,0,52,
+fukumoto_nobuyuki_(style),0,52,
+front_innocent,3,52,
+freshtango,1,52,
+frederika_(hitsugi_no_chaika),4,52,
+frayed_clothes,0,52,
+foxykuro,1,52,kuro_kitsune
+foxeleos,1,52,
+fongban_illust,1,52,
+flufflixx,1,52,
+fisticuffs_club,1,52,
+fishnet_shirt,0,52,
+eyewear_pull,0,52,
+eyebrows_visible_through_headband,0,52,
+ewen_egeburg,4,52,
+esubui,1,52,"kai_(kaikaiseisei999),sv_illst"
+ermao_wu,1,52,
+epiko_(aki),1,52,
+emperor_(stand),4,52,
+elm_(pokemon),4,52,"prof._elm,prof._elm,prof_elm,prof_elm,professor_elm,professor_elm,utsugi_(pokemon)"
+elbow_on_arm,0,52,
+eila_yagyu,1,52,spisanji
+ei_tantan,1,52,
+egami_tsubaki,4,52,
+efyuru,1,52,
+edmond_dantes_(first_ascension)_(fate),4,52,
+ebippoid,1,52,
+eahta_(granblue_fantasy),4,52,okto
+e-kichi,1,52,
+dyson,0,52,
+dynazenon_(character),4,52,
+dygenguar,4,52,daizengar
+dur-nar_(arknights),4,52,
+drops_(ragnarok_online),4,52,
+dragon_poker,3,52,
+dp-28,0,52,
+double_footjob,0,52,
+doseisan_(dosei-san),1,52,
+doridori,1,52,
+donburi,0,52,
+doku_hebi,1,52,
+dobu_(moor),1,52,
+dna^2,3,52,"dna2,dna┬▓,dÒâ╗nÒâ╗a┬▓"
+djinn_equip,0,52,
+discharge_mochi,1,52,
+disassembly,0,52,
+diol_twee,4,52,
+dinosaur_riding,0,52,
+digimon_universe:_appli_monsters,3,52,
+dexter's_laboratory,3,52,
+dexp,1,52,
+desire_driver,0,52,
+desert_eagle_(girls'_frontline),4,52,desert_eagle_(girls_frontline)
+deecha,1,52,
+dedeko,1,52,ccgovo
+dc_(doughertyevans),1,52,
+dark_schneider,4,52,
+dao_trong_le,1,52,
+dalmatian,0,52,
+dakun,1,52,
+daftbonkers,1,52,
+cure_peace_(cosplay),0,52,
+culdcept,3,52,
+crusher_joe,3,52,
+cross-laced_panties,0,52,
+cristalavi,1,52,
+crested_ibis,0,52,
+count_of_monte_cristo_(gankutsuou),4,52,
+connect_(madoka_magica),0,52,
+concord_(azur_lane),4,52,
+comiket_87,3,52,
+colonnade,0,52,
+cold_(hoshinoskull),1,52,
+cocolo_(co_co_lo),1,52,
+cm_lynarc,1,52,
+clasp,0,52,
+claire_francois,4,52,
+city_(arawi_keiichi),3,52,
+cigar_cat,1,52,
+chunta,1,52,
+chocpocalypse,1,52,irukamei
+chloe_no_requiem,3,52,
+chirorian,1,52,
+chimimo,3,52,
+chimaro,1,52,
+chikuwa_(majihima),1,52,
+chiki_(botugo),1,52,chiki_(botsugo)
+chigusa,1,52,
+chidejika,4,52,
+chibitalia_(hetalia),4,52,
+chestnut_thoroughbred_(kemono_friends),4,52,
+chest_stand,0,52,
+cheria_barnes_(little_imp),4,52,
+cheesestyx,1,52,
+charmal,1,52,
+chariot.f,1,52,
+chang'e,4,52,
+cerberus_(houtengeki),4,52,
+cat_tower,0,52,
+caron_(straycat910),1,52,
+carinae,1,52,
+card_between_fingers,0,52,
+cadie,4,52,
+c_home,1,52,
+bzerox,1,52,
+byousoku_5_centimeter,3,52,5_centimeters_per_second
+butter_curry,1,52,
+burning_arisa,4,52,
+bunta_ru,1,52,
+bunny-shaped_eyewear,0,52,
+bulge_tsuki,1,52,
+buffalo,0,52,
+buddy_complex,3,52,
+breathing_tube,0,52,
+breast_size_switch,0,52,
+bounen_no_xam'd,3,52,"bonen_no_xamdou,bounen_no_xamd,bounen_no_xamdou,xam'd:_lost_memories"
+boot_straps,0,52,
+bodyboard,0,52,
+bloomers_removed,0,52,
+blitzball,0,52,
+black_cloud,0,52,
+binchou-tan_(character),4,52,
+biittertaste,1,52,
+belafu_(human),4,52,
+bel_(cyancapsule),4,52,
+bebe-tan,4,52,
+bebatch,1,52,
+beatrice_(umineko)_(cosplay),0,52,
+beast_wars_ii,3,52,
+bbbannooo,1,52,
+batako_(pixiv54063972),1,52,
+baru_(bar_0405),1,52,
+bara_(totocos),1,52,bara_art
+bandaged_tail,0,52,
+banba_shin'ya,4,52,banba_shinya
+baltoy,4,52,
+baka_(mh6516620),1,52,
+backbreaker,0,52,
+azure_luna,1,52,
+azuma_kei,1,52,muraiaria
+azrael_(blazblue),4,52,
+aylwin_(azur_lane),4,52,
+ayamoto,1,52,
+avataro_sentai_donbrothers,3,52,
+atmospheric_reentry,0,52,
+asymmetrical_bikini,0,52,
+ashleyloob,1,52,
+ashi_ura,1,52,
+aruma_(shinrabanshou),4,52,
+arukiru,1,52,
+artsheops,1,52,
+artist_painter,0,52,
+aria_tenetorisu,4,52,
+arhah,1,52,
+archerfish_(warship_girls_r),4,52,
+aramaki_scaltinof,4,52,
+aoya_(ayoyame18),1,52,
+aononchi,1,52,
+aoiakira553,1,52,
+anoko_(darenokoanoko),1,52,
+animal_band_panties,0,52,
+anima,3,52,
+angelia_avallone,4,52,
+angel_statue,0,52,
+andyface,1,52,drewbiepie
+amino_dopple,1,52,
+amelia_(fire_emblem),4,52,
+amatsuka_poi,4,52,
+amatsuji,1,52,
+amatsu_misora_ni!,3,52,amatsumisorani
+amashun,1,52,
+amano_otoha,4,52,
+amakano_2,3,52,
+amaimon,4,52,
+alyn_(fairy_fencer_f),4,52,
+alter_(kxk7357),1,52,kxc7357
+alle_gro,1,52,
+alisa_nilsen,1,52,lisai
+albert_maverick,4,52,
+alaskan_klee_kai,0,52,
+akizuki_nagi,4,52,nagi_(peace@pieces)
+akiyama_(yamagoya),1,52,
+akane_soir,4,52,
+akagi_gishou,1,52,
+akabeco,1,52,
+aiu_.,1,52,
+aincrad,0,52,
+ah_(pixiv62888100),1,52,
+agent_3_(splatoon_3),4,52,
+adventurequest_worlds,3,52,
+ado_(singer),4,52,
+adjusting_skirt,0,52,
+absent,1,52,
+abigail_lincoln,4,52,
+a_(user_vtsy8742),1,52,
+a.q.u.a,1,52,
+8ne_(nitika127),1,52,
+53c,1,52,len_cordova
+333_(pixiv8601259),1,52,
+0-toki,1,52,ampm000
+zombie_no_afureta_sekai_de_ore_dake_ga_osowarenai,3,51,
+zhourues,1,51,
+zerg_(starcraft),4,51,
+zee_n3,1,51,
+zaza_(x-can01),1,51,
+zankyou_no_terror,3,51,
+yuu_(yuu_ammy),1,51,ryu_(leon_esoragotonooto)
+yuria_the_witch,4,51,
+yumemomosaka,1,51,
+yukikasa,1,51,
+yukihime_(mofumofu2225),1,51,
+yuki_shiro,1,51,
+yukari_(momoko),4,51,
+yudetama,1,51,
+youtube_username,0,51,
+yoss_3,1,51,
+yoshihara_seiichi,1,51,
+yoshida_yoshitsugi,1,51,
+yodobashi_yuo,1,51,
+yi_yu,1,51,
+yellow_wristband,0,51,
+yellow_rope,0,51,
+yellow_cloak,0,51,
+yawarabi_juubee,1,51,
+yasu_rintarou,1,51,
+yanagisawa_naoko,4,51,
+yamazaki_sagaru,4,51,
+yamazaki_mitsuko,1,51,
+yamane_masato,1,51,
+yamagarasu,1,51,
+yam_(yamap_mako),1,51,
+yakihoko,1,51,pamdaudonn0331
+yadamon_(neverland),1,51,
+xxxsoiu1,1,51,
+xlyami,1,51,
+xia_yu_yao,4,51,
+wolt_(fire_emblem),4,51,
+winterfall_(artenh),1,51,
+wingman,3,51,
+will_smith_slapping_chris_rock_(meme),0,51,
+webley_(girls'_frontline),4,51,"webley_revolver_(girls'_frontline),webley_revolver_(girls_frontline)"
+waterskiing_(meme),0,51,
+water_blue_new_world,0,51,
+washi_no_tosaka,1,51,
+warspite_(kancolle)_(cosplay),0,51,
+walther_p99,0,51,
+walnut,0,51,walnut_(food)
+wallpaper_forced,5,51,
+wagomu17,1,51,
+vy2,4,51,
+vundo_(gyee),4,51,
+vladimir_putin,4,51,
+vividblue,4,51,
+vice_(kamen_rider_revice),4,51,
+venus_(p&d),4,51,
+veil_over_eyes,0,51,
+veerinly,1,51,
+uya_(yurukah),1,51,
+usukuchi_(impasto_life),1,51,
+usayoshi_(touhopu2),1,51,
+usami_masamune,4,51,
+urotare,1,51,
+urashima_keitarou,4,51,urashima_keitaro
+uraraku_shimuni,1,51,
+urabe_katsuto,1,51,urabecat
+untitled_goose_game,3,51,
+unajuu_(set_mk),1,51,
+ultraman_zero,4,51,
+uasi,1,51,
+twi'lek,0,51,
+tv_camera,0,51,
+tsuruma_konoe,4,51,
+transformers_cybertron,3,51,transformers_galaxy_force
+toyu,1,51,
+toyoda_izumi,1,51,
+towtow_redoland,1,51,tow0
+touou,1,51,
+toudou_jinpachi,4,51,
+torinoesa,1,51,
+torii_(kedamatori),1,51,
+tora_(trampjing),1,51,
+top!_clover_(idolmaster),0,51,top!_clover
+toomi_yuna,4,51,
+tonan_(l0l0l0l0l0l),1,51,
+tomoki_tomonori,1,51,
+tomoegata_naginata,4,51,
+tiona,4,51,
+tinsel,0,51,
+timmy_(animal_crossing),4,51,
+tidal_wave,0,51,
+the_last_remnant,3,51,
+the_fairly_oddparents,3,51,
+tekito03,1,51,
+teinba,1,51,
+tegami_bachi,3,51,
+teddy_bear_hair_ornament,0,51,
+tecoyuke,1,51,teco_uk
+tearing_paper,0,51,
+tea_(retroz),1,51,
+tatsuhiko,1,51,
+tateyama_kenjirou,4,51,
+tasselcat,1,51,
+tartarus,0,51,
+tao_(tao15102),1,51,
+tanya_(granblue_fantasy),4,51,
+talesofmea,1,51,
+taku57,1,51,
+takechii,1,51,takechii_(user_fpya5735)
+takasago_tomoe,4,51,
+takamiya_nao,1,51,
+taka_(suigendou),1,51,
+taiyou_kai_ni_(kancolle),4,51,
+tachikawa_kei,4,51,
+t_k,1,51,
+syno,1,51,
+suzu_(suzuko),1,51,
+suu_(shugo_chara!),4,51,suu_(shugo_chara)
+suspension_bridge,0,51,
+surumeika_(ninfiiiir),1,51,
+suou_tamaki,4,51,
+sunred,4,51,
+sunligh_mao,1,51,
+sunasu-tamako,1,51,
+sun_wukong_(rwby),4,51,
+succubus_(monster_girl_encyclopedia),4,51,
+stuffed_squid,0,51,
+strip_poker,0,51,
+straight-arm_salute,0,51,"nazi_salute,roman_salute"
+steven_seagal,4,51,
+star_harmony_academy_uniform,0,51,
+st._louis_(spirits_in_the_snow)_(azur_lane),4,51,st._louis_(tipsy_snow)_(azur_lane)
+spung,1,51,
+spiffydc,1,51,
+spekkio36,1,51,
+spanking_momoko,1,51,
+southampton_(azur_lane),4,51,
+soungruan_mian_mao,1,51,ayn1018nya
+sougetsu_eli,4,51,
+sorbet_(hotel01),4,51,
+soraizumi,1,51,
+sopdet_(p&d),4,51,
+skyhood,1,51,
+skull_fucking,0,51,
+sitting_on_tail,0,51,
+sitting_on_own_tail,0,51,
+simty_(lemon_ginger),1,51,ichimi_(simtysiger)
+silvia_(fire_emblem),4,51,sylvia_(fire_emblem)
+silver_tokki,1,51,revbit
+silver_hair-chan_(ramchi),4,51,
+silence_(pixiv18541142),1,51,
+sieglinde_jeremiah,4,51,
+side-seamed_gloves,0,51,
+shokujinki-san,4,51,
+shokuen_(oxstl),1,51,shio_(oxstl)
+shokabatsuki,1,51,
+shitodo_hooaka,4,51,
+shitajiki,0,51,pencilboard
+shishigami_leona,4,51,
+shiromiza_kana,1,51,
+shirayuki_shoushirou,1,51,thillayukin
+shiratori_suzune,4,51,suzune_shiratori
+shintaisou,3,51,
+shinsaku_(stan-art),1,51,
+shinonome_megu,4,51,
+shinomiya_rina,4,51,
+shinohara_kenji,1,51,
+shino_sherwood,4,51,
+shinkai_no_shachi,1,51,
+shinjou_akane_(cosplay),0,51,
+shining,0,51,
+shin_sekaiju_no_meikyuu_2,3,51,etrian_odyssey_2_untold
+shikabane_hime,3,51,
+shiinoyuko,1,51,
+shiina_yuu,1,51,
+shiba_(s_hi_ba_),1,51,
+shi_zhuzi_da,1,51,
+shenmue_the_animation,3,51,
+sheep_hair_ornament,0,51,
+shangri-la,3,51,
+seryu_oekaki,1,51,
+serara_(log_horizon),4,51,
+seraphitalg,1,51,
+sehra_klatt,4,51,
+scathach_skadi_(second_ascension)_(fate),4,51,
+sazh_katzroy,4,51,
+save_the_queen,0,51,
+satori_(transient_wind),1,51,
+satoimo_(3311_mi),1,51,
+sasasasa,1,51,
+sasaki_tamaru,1,51,
+sasaki_shou,1,51,
+sandara,1,51,
+samurai_(movemusic),1,51,
+samue,0,51,
+sammohung,1,51,
+samekichi,4,51,
+salamander_(jonbonjovi82),1,51,salamander_(artist)
+sakurada_yuuta,4,51,
+sakuraba_(cerisier_x),1,51,sakuraba_(kirsche_x)
+sakura_misaki_(sakura_densetsu),1,51,
+sakura_(urusei_yatsura),4,51,
+sakazuki_sudama,1,51,
+saiyuki,3,51,
+saitogiulio,1,51,
+saijo1201,1,51,
+sachisudesu,1,51,
+saane,1,51,
+ryu_(17569823),1,51,
+ryousuke_(tukr5384),1,51,
+ruyi_jingu_bang,0,51,
+rutarou,1,51,
+ruby_suguri,1,51,lewdsuguri
+ronin_(disgaea),4,51,
+roivas,1,51,
+rockrock_(arknights),4,51,
+rochiko_(bgl6751010),1,51,
+ririfu,1,51,
+rinne_(mizunosato),1,51,
+rihito_akane,1,51,
+removing_bra_under_shirt,0,51,
+rem_(artist),1,51,
+reiko_(super_cub),4,51,
+reference_request,5,51,
+redeye_(artist),1,51,
+red_wrist_cuffs,0,51,
+raver,0,51,
+rapunzel_(grimm),4,51,
+random_(ningen_modoki),1,51,
+randall_boggs,4,51,
+rakikoko,1,51,
+raionsan,1,51,
+rachel_(ninja_gaiden),4,51,
+r_pascal,1,51,
+r_g_b,3,51,
+pyroar,4,51,
+purple_leggings,0,51,
+purobe,1,51,
+prototype_bulin_mkii_(azur_lane),4,51,trial_bullin_mkii_(azur_lane)
+princess_witches,3,51,
+prince_demande,4,51,prince_diamond
+poyeop,1,51,ygjkoon
+potato_wedges,0,51,
+porky_minch,4,51,
+poppypilf,1,51,707nazuna
+poni_(poni_arknights),1,51,
+polla,1,51,nelf
+polish_flag,0,51,
+pochacco,4,51,
+pjkka,1,51,
+pisces_aphrodite,4,51,
+pintail_(sword_girls),4,51,
+pinocchio-p,1,51,
+pink_trim,0,51,
+pimmy,1,51,
+pikumin,1,51,
+pikario_(precure),4,51,
+phobos_(vampire),4,51,
+pepipopo,1,51,
+pentakill_(league_of_legends),0,51,
+penis_on_shoulder,0,51,
+pecking,0,51,
+peargor,1,51,
+payu_(pyms11),1,51,
+paptimus_scirocco,4,51,
+pappii_(paprika_shikiso),4,51,pappii
+pangolin_tail,0,51,
+paimon_(magi),4,51,
+pagye,1,51,pg_(lhotseshar)
+pack_of_dogs,0,51,
+p38_(girls'_frontline),4,51,p38_(girls_frontline)
+p-chan_(mitsuta52),1,51,
+ozu_(agito100001),1,51,
+oyster_(artist),1,51,
+oura_rukako,4,51,
+ots-14_(flurry_of_petals)_(girls'_frontline),4,51,
+otomedius_excellent,3,51,
+osaname_riku,1,51,
+orthros,4,51,ultros
+oritako,1,51,
+orangette,0,51,
+orange_tunic,0,51,
+orange_hakama,0,51,
+orange541,1,51,
+onogami_tetsuya,4,51,"tetsuya_(housamo),tetsuya_(tokyo_houkago_summoners)"
+onimiko,4,51,
+one_piece:_stampede,3,51,
+omodaka_romu,1,51,
+olivia_(mobseka),4,51,olivia_(otome_gee_sekai_wa_mob_ni_kibishii_sekai_desu)
+okome_(minagisama),1,51,
+okita_souji,4,51,
+okemai,1,51,
+okada_nana,4,51,
+ohayosayonara,1,51,
+ogura_toast,1,51,
+oetaro,1,51,"oetarou,tktr33"
+odibil,1,51,
+odagiri_hidetoshi,4,51,
+oda_nobuhime,4,51,
+oca,1,51,
+o_x,0,51,
+nyuu,4,51,
+nyarimia,1,51,
+nyanta_(log_horizon),4,51,
+nunun,1,51,
+noria,1,51,
+norapeko,1,51,
+nonderi,1,51,
+noie_(neunteedelstein),1,51,
+no_vest,0,51,
+no.gomesu,1,51,
+nitta_yui,4,51,
+nitizyo,1,51,
+nishiumi_rin,1,51,
+nishimura_chiharu,4,51,
+nishikuromori,1,51,
+nippon_ichi_(neptune_series),4,51,
+ninjago,3,51,
+nijizuki_shino,1,51,
+nightmare-kck,1,51,
+niduannowu,1,51,
+nico-tine,1,51,
+nichijo,1,51,
+nice_(artist),1,51,
+nicchi,1,51,
+ni02_(asahi_nini),1,51,
+nether_angel_(housamo),4,51,nether_angel_(tokyo_houkago_summoners)
+nephila_clavata,1,51,
+nekuraneko,1,51,
+nekoto_maruta,1,51,
+nekomonogatari_white,3,51,
+nekodayo22,1,51,
+neko_(hansinn),1,51,
+nazo_no_murasame_chiaki,1,51,
+naze_youka,4,51,
+natsuzora_no_perseus,3,51,
+natsuki_karin,4,51,
+natsukawa_masuzu,4,51,
+natsugou_shinogi,1,51,cl
+nase_hiroomi,4,51,
+narurun_(final123),1,51,final_(artist)
+nanni_jjang,1,51,
+nanase_(street_fighter),4,51,
+nanasaki_nicole,4,51,
+nana_(darling_in_the_franxx),4,51,
+namonakisyura,1,51,
+nameless_(kof),4,51,
+namakeruda,4,51,
+naki_ringo,1,51,ringonaki
+nakashi_masakumi,1,51,yonaka-nakanoma
+nagaro,1,51,
+mystery_skulls,3,51,
+mysterious_man_(fire_emblem),4,51,bruno_(fire_emblem)
+murata_ryou,1,51,
+muraji0419,1,51,
+muike,1,51,
+mtmy,1,51,
+mouri_toushirou,4,51,
+monferno,4,51,
+momiji_kei,1,51,kouyou_kei
+mochiko_tsuru,1,51,natsuru08
+mobile_doll_may,4,51,
+mizuno_uchi,1,51,
+mizu_kane,1,51,
+mizu_cx,1,51,
+mizoredama1,1,51,
+miyako_(rabochicken),4,51,
+miya_star_saa,1,51,
+miya-ki_(miya_key),1,51,
+mituura,1,51,mitsu_ura
+mitsuki_(toriaezu),1,51,
+mita_ryuusuke,1,51,
+mistsplitter_reforged_(genshin_impact),0,51,
+mister_bushido,4,51,mr._bushido
+misoiri_(gokutsubushi),1,51,
+miracle_wave,0,51,
+mine_(akame_ga_kill!),4,51,
+minamimoto_shou,4,51,minamimoto_sho
+mikuri_ouda,1,51,
+mikoto_(fire_emblem),4,51,mikoto_(fire_emblem_if)
+mii_gunner_(smash_ultimate),4,51,
+mii_brawler,4,51,
+michiko_to_hacchin,3,51,michiko_to_hatchin
+michi_(iawei),1,51,
+micchamu,1,51,pankiji
+mi_bait,1,51,
+metalgreymon,4,51,
+menbou_(menbow3v),1,51,
+mekimeki,1,51,tsunpun
+megane_poni,1,51,
+megachu!,3,51,
+matudo_yuu,1,51,
+matsuno_matsuzou,4,51,
+mash_kyrielight_(welcome_to_the_travelling_circus!),4,51,
+masayoshi,1,51,
+masa_(mirage77),1,51,
+mary_read_(swimsuit_archer)_(fate),4,51,
+mamiya_t,1,51,
+mamiya,4,51,
+mamezara,0,51,
+maka_(mksrw),1,51,
+mahoubin_(totemo_hot_dayo),1,51,
+machida_sawako,4,51,
+macchoko,1,51,
+luck_and_pluck,0,51,
+lua_(yu-gi-oh!),4,51,leo_(yu-gi-oh!)
+love_live!_school_idol_festival_after_school_activity,3,51,
+long_table,0,51,
+long-haired_girl_(ishiyumi),4,51,
+loituma,0,51,
+little_buddy_(splatoon),4,51,
+linfa_(futari_midara),1,51,linfa_lm
+lined_paper,0,51,
+limitless_skye,1,51,
+lillie_(special_costume)_(pokemon),4,51,
+lilith_(lilycious),4,51,
+lif_(fire_emblem),4,51,
+leo_aiolia,4,51,
+leng_sediao_kafei,1,51,
+lemontea_(ekvr5838),1,51,
+leki,4,51,
+lego_minifig,0,51,
+leafar,1,51,
+layla_hamilton,4,51,
+langrisser_iv,3,51,
+lakiston,4,51,
+labia_clamps,0,51,"labia_clamp,pussy_clamp,pussy_clamps"
+la_campanella,1,51,
+kyoujixxxx,1,51,
+kyandii,1,51,
+kuza_brs,1,51,
+kuyoumi,1,51,kuyouml
+kusariuta,1,51,
+kururu_(keroro_gunsou),4,51,
+kuruma_hajime,1,51,
+kuroshio_(zung-man),1,51,
+kuromoto-kun_(rina_masimaro),1,51,
+kurihara_touko,4,51,
+kura_ekaki,1,51,
+kulve_taroth,4,51,
+kukuri_(tsugumomo),4,51,
+koushisong,1,51,
+kotou_(ko-tou),1,51,
+kotobukkii_(yt_lvlv),1,51,
+koropokkuru,0,51,
+koronu_korinne,3,51,
+kooeiatd111020,1,51,
+kongsi,1,51,
+konbu_ame,1,51,
+komuzuka,1,51,
+komurapk,1,51,
+kokoro_rista!,3,51,
+kizakura_kouichi,4,51,
+kiwwwwwi,1,51,
+kiwi_(cyberpunk),4,51,
+kitsune_(persona_4),4,51,
+kitakaze_(azur_lane),4,51,
+kisuu,1,51,
+kiritani_riria,4,51,
+kirishima_ayato,4,51,
+kirin3145,1,51,
+kirihara_tatsugoro_torayasu,4,51,
+kirihara_natsuki,1,51,
+kinryuu,1,51,
+kino_(kino_buro),1,51,
+kimi_ga_ita_kisetsu,3,51,
+kim_kitsuragi,4,51,
+kim_kaphwan,4,51,kaphwan_kim
+kg-6_sleipnir,4,51,
+keisea,1,51,
+keikain_yura,4,51,
+kedo_mitsuharu,1,51,
+kazu_(rakugakino-to),1,51,
+kayoko_(panchlora),1,51,
+kawanami_eito,1,51,
+kawahara_megumi,1,51,
+kawa683,1,51,
+katsuragi_(webmaster909),1,51,
+katou_takeko,4,51,katoh_takeko
+katou_tabihito,1,51,
+kassai_kassai,1,51,
+karaage_teishoku_(regret1994),1,51,
+kanno_fumiroku,1,51,
+kanikama25,1,51,
+kani_onigiri_(shottare),1,51,
+kanbara_takuya,4,51,
+kamikitayotsuba,1,51,
+kamen_rider_ixa,4,51,
+kamashi,1,51,
+kalpas_(honkai_impact),4,51,
+kakinomai,1,51,
+kaki_s,1,51,
+kaisu,1,51,
+kaichou118,1,51,
+kagutsuchi_(l'archange),1,51,
+kagosumi,1,51,
+kagamin_boo,4,51,
+kabuyou,1,51,
+kaburagi_sui,4,51,
+kabu_(yuyuibob),1,51,yuyuibob
+k-rei,1,51,
+jyako,1,51,
+juno_(azur_lane),4,51,
+jun_(rellik_&_redrum),1,51,rellik_redrum
+jonathan_morris,4,51,
+jonathan_kim,1,51,persona_(artist)
+jokebag,1,51,jb_ryshamr
+johnrokk,1,51,
+jo_tuesday19,1,51,
+jn3,1,51,
+jiuri_jiuhao,1,51,
+jean_grey,4,51,
+james_moriarty_(ruler)_(fate),4,51,
+jaaku_(ra_9rara),1,51,ra_9rara
+j7w_shinden,0,51,
+j-20,0,51,
+izura_mari,1,51,haya_(karn)
+izumi_sagiri_(cosplay),0,51,
+izumi_(racer),4,51,
+ivan_flores,1,51,
+its_just_suppi,1,51,
+ishida_sui,1,51,ishida_sui_(artist)
+isaya_(pixiv4541633),1,51,
+isaki_uta,1,51,
+irokohaku,1,51,
+iosefka,4,51,
+invincible_marisa,4,51,
+ine_(zx_o4),1,51,
+ikuchi_osutega,1,51,
+ikeda_(hayato),1,51,
+igo_miku,1,51,
+ifelt_(tamaki_zutama),1,51,
+idolmaster_stella_stage,3,51,
+idolmaster_sp,3,51,
+ichiyanagi_yumihiko,4,51,sebastian_debeste
+ichinose_kazuya,4,51,
+ice_cream_kanojo,3,51,
+hyacinth,0,51,
+hummer,0,51,
+huang_li_ling,1,51,
+how_to_draw_manga,3,51,
+house_tag_denim,1,51,
+horang4628,1,51,
+honehone,1,51,
+hollow_ichigo,4,51,
+hole_in_head,0,51,
+holding_wreath,0,51,
+holding_bandaid,0,51,
+hkeno,1,51,
+hitoha,1,51,
+hisuian_samurott,4,51,
+historical_connection,0,51,
+hirayama_kanna,1,51,kaaaaaappe
+hino_kagutsuki,1,51,
+himawari_(kawaisounaedesu),1,51,
+hilling_(ousama_ranking),4,51,queen_hilling
+hilda_(cross_ange),4,51,
+hijiyama_takatoshi,4,51,
+hihara_you,1,51,
+hide_yoshino,4,51,
+heraldry,0,51,
+hera-is_(p&d),4,51,
+helicopter_hair,0,51,
+helena_k_sink,4,51,
+heke,1,51,
+hehehzb,1,51,hjhhzb
+heart_hat_ornament,0,51,
+heart-shaped_ornament,0,51,
+hasuyawn,1,51,
+hashimoto_mari,1,51,
+harvest_moon_(vtuber),3,51,
+harutsuki_(azur_lane),4,51,
+harurie,1,51,
+harohapi!_shinonome_megu-chan_no_oheya,3,51,
+haonfest,1,51,haonfest_art
+hanada_(cobalt003),1,51,
+hanabishi_miki,4,51,
+han_sooyoung,4,51,
+hajime_shindo,1,51,
+hachimitsuboi,1,51,
+gyakumushi,1,51,
+guzheng,0,51,
+guernical,1,51,
+grizzly_mkv_(teddy_transform!)_(girls'_frontline),4,51,
+grimnir,4,51,
+goro,1,51,
+golden_shrimp_balls_(genshin_impact),0,51,
+glowing_liquid,0,51,
+ginny_weasley,4,51,
+giji_eizan,1,51,
+ggpercent,1,51,
+getter_robo_g,3,51,
+gerph,1,51,
+gebura_(project_moon),4,51,
+fuwawa_(fuwawa617),1,51,
+futagojima,1,51,
+fusion_suit,0,51,
+furaffinity_username,0,51,
+funa_(sakana),1,51,
+fujimino_daisuke,4,51,
+fujimaru_(kinakomucch),1,51,
+fugee_(granblue_fantasy),4,51,
+fubuki_(fakemonkey0224),1,51,
+frosted_glass,0,51,
+frilled_square_(idolmaster),0,51,
+freikugel_(weapon),0,51,
+fox_girl_(togutogu),4,51,
+foote_(azur_lane),4,51,
+fom_(lifotai),1,51,
+flatculture,1,51,
+fish_head,0,51,
+fireworks_print,0,51,
+fierce_deity,4,51,
+ferret-san,1,51,ferretsan7
+fengshen_chino,1,51,
+fender_jazzmaster,0,51,jazzmaster
+falulu,4,51,
+f_jun,1,51,
+f4f_wildcat,0,51,martlet_(airplane)
+ezlo,4,51,
+evers,1,51,
+etwahl,0,51,
+etsem,1,51,
+etherlite,0,51,
+esper_mami,3,51,
+eriku_(aoi_tori),1,51,
+endou_tatsuya,1,51,
+emushake,1,51,
+emina,1,51,
+elnowar_seylan,4,51,
+eleuseus,4,51,
+eleanor_(maou-sama_to_kekkonshitai),4,51,
+elbow_spikes,0,51,
+elbe_(time_to_show_off?)_(azur_lane),4,51,
+el_shaddoll_winda,4,51,
+ekkusu_kyuuzu,1,51,
+eimi_(harris_hero),4,51,
+ehryel,1,51,x-arielle
+echoes_act3,4,51,
+ebibaachan,1,51,
+earthree_gundam,4,51,
+drive-thru,0,51,
+dragon_quest_heroes,3,51,
+dragon_on_shoulder,0,51,
+dororo_(keroro_gunsou),4,51,
+doppelganger_arle,4,51,
+dong_(wandong44944),1,51,
+donarudo,1,51,anderson-kun
+dollhouse_view,0,51,
+dogxfish,1,51,
+diablos,4,51,
+deus_ex,3,51,
+desha_(ousama_ranking),4,51,
+desert_voe_set_(zelda),0,51,
+demio,1,51,
+delruki,3,51,
+dee_jay,4,51,
+dautsen,1,51,
+daruma_owl,1,51,
+daru_(kumakumadon),1,51,
+daromeon,1,51,
+dante_(dmc:_devil_may_cry),4,51,
+dangorou_(yushi-art),1,51,
+daleth_(sky:_children_of_the_light),4,51,
+cyberunique,1,51,ricardo_landell
+cure_berry_(cosplay),0,51,
+cryturtle,1,51,
+crew_neck,0,51,
+cosmic_baton_girl_comet-san,3,51,
+conkeldurr,4,51,
+concrete_revolutio,3,51,
+comitia,0,51,
+comic_potpourri_club,3,51,
+code_of_princess,3,51,
+cocytus_(wind_master),1,51,
+clover_(game_cg),3,51,
+claw_mark,0,51,
+classic_(zildjian33),1,51,
+citrus_(place),1,51,
+cinder_(norasuko),4,51,
+chum_(splatoon),4,51,
+chroma_(chroma000),1,51,
+christina_mackenzie,4,51,
+chocofox,1,51,
+chm,1,51,
+chitose_kumi_(hitotose),4,51,
+chaotic-unknown,1,51,
+chain_print,0,51,
+centaur_(azur_lane),4,51,
+censored_with_cum,0,51,
+cattleya_yvette_la_baume_le_blanc_de_la_fontaine,4,51,
+catherine_(granblue_fantasy),4,51,
+cat's_tongue,0,51,
+cascade_badge,0,51,
+carnelian_(shining_dew)_(arknights),4,51,
+captain_marvel,4,51,
+calder,1,51,
+cain_art811,1,51,nu10040904
+cai-man,1,51,
+butterfly_girl,0,51,
+buro_(muse_dash),4,51,
+bunker_hill_(azur_lane),4,51,
+bum_hico,1,51,
+buddha_(saint_onii-san),4,51,
+bridget_(guilty_gear)_(cosplay),0,51,
+brest_(azur_lane),4,51,
+boris_airay,4,51,
+booklet,0,51,
+boo_(takagi),1,51,
+bone_(stare),1,51,
+boku_no_mirai_wa_koi_to_kakin_to,3,51,
+bo-tsu_(hyrkgk),1,51,
+blue_revolver,3,51,
+blind_girl's_dog_(popopoka),4,51,
+black_star_(module),0,51,
+black_knight_(fire_emblem),4,51,
+bishamonten,4,51,
+biriri_(spacezin),4,51,
+billbung,1,51,
+beluo77,1,51,
+beijiushui,1,51,
+beam_gun,0,51,
+beam_(chainsaw_man),4,51,
+bastiodon,4,51,
+bariko,1,51,
+banitya,1,51,banicha
+banira_(ri0115ka),1,51,
+banira_(oocooocooocoo),1,51,
+bang_(one-punch_man),4,51,"bang_(onepunch_man),silverfang"
+bandou_marimo,4,51,
+band_(skymole01),1,51,
+ball_pit,0,51,
+bajou_takurou,1,51,
+baekto_(last_origin),4,51,magical_baekto
+b5n,0,51,
+azure_(alchemy_stars),4,51,
+azuma_(no488888),1,51,
+ayase_hikaru,1,51,
+ayanashi_kunio,1,51,
+ayakashi_rumble!,3,51,
+aya_(min412),1,51,
+aya02ka,1,51,
+awatsuki_maaya,4,51,
+asymmetrical_irises,0,51,
+asuma_(hanezu),1,51,
+asu_(asoras),1,51,
+asou_natsumi,4,51,
+ashton_anchors,4,51,
+armor_girls_project,0,51,
+armband_removed,0,51,
+arm_around_leg,0,51,
+arisue_kanako,1,51,
+area_15,0,51,
+arcade_(architecture),0,51,
+aqua_tongue,0,51,
+appi,1,51,
+aoria,1,51,yukaring1
+aonome,1,51,
+ansel_(casual_vacation)_(arknights),4,51,
+ann_(ann58533111),1,51,
+angelina_nanatsu_sewell,4,51,
+angel_costume,0,51,
+ametsukana_yago,4,51,
+amatsuka_seika,4,51,
+amano_sakuya,1,51,
+alvis_(xenoblade),4,51,alviss_(xenoblade)
+alice_third_macy,4,51,
+alice_(grimlight),4,51,
+alfred_(kounoike_tsuyoshi),4,51,
+akatsuki_yakyou,1,51,
+akase_rai,1,51,
+akaji_(alpha0107),1,51,
+akai_toshifumi,1,51,
+akafuyu_(arknights),4,51,
+ak-12_(age_of_slushies)_(girls'_frontline),4,51,
+aiyoku_no_eustia,3,51,
+aikatsu!_photo_on_stage!!,3,51,
+aiba-tsukiko,1,51,
+ahute,1,51,
+agarest_senki_zero,3,51,
+agachi_(shunya12300724),1,51,
+afnroll,1,51,
+afghan_hound,0,51,
+aerospray_(splatoon),0,51,
+adjusting_sock,0,51,adjusting_socks
+addams_family,3,51,
+acerola_(fall_2020)_(pokemon),4,51,
+a.l.l.,1,51,
+91007,1,51,pixiv14364901
+66head,1,51,
+3ldkm,3,51,
+2t_(tanakatakuto),1,51,
+172cm,1,51,
+1641_(chfhrtor94),1,51,
+zoryc,1,50,
+zombieman,4,50,
+zis,1,50,
+zettai_shougeki,3,50,
+zero_(kirby),4,50,
+zefai,1,50,
+zastava_m21,0,50,
+z23_(schwarze_hochzeit)_(azur_lane),4,50,
+yuutousei,1,50,
+yuukyuu_no_euphoria,3,50,
+yuuki_mitsuru,1,50,
+yuuk33,1,50,
+yutsukidayo,1,50,
+yuriniel,1,50,vh(yuv-achi)
+yurigaoka_nayuki,1,50,
+yupachu,1,50,
+yuko666,1,50,
+yukitaka,1,50,
+yukine_(noragami),4,50,
+yuki_(vicious),1,50,
+yubisaki_connection,3,50,
+yt_(yt_ty),1,50,
+youko_kurama,4,50,
+youkai_mountain,0,50,
+you_are_already_dead,0,50,omae_wa_mou_shindeiru
+yotsuba_satsuki,4,50,
+yonab,1,50,
+yoko_(shiocolor),1,50,
+yjs0803123,1,50,
+yellowparrot,1,50,
+yatsuashimon,1,50,
+yanzhan,1,50,
+yanagui,1,50,
+yamanami_kousuke,1,50,
+yamamoto_yuu,1,50,
+yamamoto_(ymmt_is_sexy),1,50,
+yamada_yuuji,1,50,
+y0ung,1,50,722_(tsk02324)
+xoco,1,50,mu_yume
+xianyu_liang,1,50,
+wrapped,0,50,
+white_lotus,0,50,
+white_java_sparrow,0,50,
+wawawa_(hisuterisisusa),1,50,
+warming,0,50,
+warabi_(danngo-mitarasi),1,50,
+wakaba_(wata_ridley),1,50,
+vrkdh,1,50,
+virus,0,50,
+viper_ctr,3,50,
+violetsang,1,50,
+vincent_wu,1,50,
+vietnamese_clothes,0,50,
+vgaming,3,50,
+verslll,1,50,
+venus_blood,3,50,
+vauquelin_(azur_lane),4,50,
+valgiris,4,50,
+uvogin,4,50,ubogin
+usami_natsuki,4,50,
+usagi_nui,1,50,1ji999
+urepito_honke,1,50,
+urameshiya,0,50,
+unko_man,1,50,
+umino_hotate,1,50,umino_atari
+umi_hire,1,50,
+ugonba_(howatoro),1,50,
+uchuu_senkan_yamato_2202:_ai_no_senshi-tachi,3,50,
+uchimura_chiaki,4,50,
+uchi_wa_mou_enki_dekinai.,3,50,
+tyrfing_(fire_emblem),0,50,
+two_sidriver,0,50,
+twisted_breasts,0,50,
+tsuzuki_kei,4,50,
+tsuzuki_(e_ci),1,50,
+tsumagomi_izumo,1,50,
+tsukiyama_minako,4,50,
+tsukimi_kirara,1,50,
+trumpet_creeper,0,50,
+transparent_hand,0,50,
+transformers_victory,3,50,
+toy_mouse,0,50,
+towel_pull,0,50,
+towa_(towa_akqj10),4,50,
+touxing_no_diluka,1,50,373012201
+touhou_meikyuu,1,50,
+tongue_clamp,0,50,
+tonari_no_kishida,1,50,
+tommy_(animal_crossing),4,50,
+toluda,1,50,
+tokugawa_ieyasu_(sengoku_otome),4,50,
+toilet_paper_tube,0,50,
+togainu_no_chi,3,50,
+toa,4,50,
+tlandolt69,1,50,
+tin_man,4,50,
+time_signature,0,50,
+tiger_hair_ornament,0,50,
+thoma_avenir,4,50,tohma_avenir
+themis_(ff14),4,50,
+thegreyzen,1,50,
+the_winged_dragon_of_ra,4,50,
+the_rumble_fish,3,50,rumble_fish
+the_oni_(ao_oni),4,50,
+the_genesis,0,50,
+the_baddest_kai'sa,4,50,
+the_2nd_super_robot_wars_og,3,50,
+thatched_roof,0,50,
+thana,1,50,
+thai_girl_(okpriko),4,50,
+temjin,4,50,
+tegami_(kch7683),1,50,
+tec,1,50,
+taut_bodysuit,0,50,
+tasuro_kuzuha,1,50,
+tan_(carbon),1,50,
+tamaki_iroha_(swimsuit_costume),4,50,
+tamaext,1,50,
+tama_project,3,50,
+takizawa_akira,4,50,
+takerusilt,1,50,
+takeda_emi,4,50,
+takechi_otoya,4,50,
+takao_(the_lessons_of_spring)_(azur_lane),4,50,takao_(spring_learning)_(azur_lane)
+takao_(azur_lane)_(cosplay),0,50,
+takanashi_tsubasa,1,50,
+taiga_mahoukan,1,50,
+tadakichi-san,4,50,tadakichi
+tachibana_mizuki,4,50,
+tachibana_gin,4,50,
+syyn_(syyndev),1,50,
+symfo,1,50,
+sword_of_exorcism,0,50,
+sweethex,3,50,
+suzuki_tsudumi,4,50,
+suzuki_noritaka,1,50,noritaka_suzuki
+suzu_head,0,50,
+suteinua,1,50,
+suminoe_ako,4,50,
+sul-lin-a,4,50,
+su----per_cute,0,50,
+stormstx,1,50,
+star_wars:_rebels,3,50,
+st._louis_(azur_lane)_(cosplay),0,50,
+srw_cover,0,50,
+squire_(fft),4,50,
+springveiv,1,50,
+springsuit,0,50,
+spoken_emoji,0,50,
+special_type_2_launch_ka-mi,0,50,
+spar,4,50,
+space_colony,0,50,
+soul_linker_(ragnarok_online),4,50,
+souffle_rosetti,4,50,
+sou_(shichigatsu),4,50,
+soshite_ashita_no_sekai_yori,3,50,
+sorinozuka_renshou,4,50,
+sorakase_sawa,1,50,
+sonomi,1,50,
+sonika,4,50,
+solomon_(megido72),4,50,
+soldier_(dq3)_(cosplay),0,50,
+softboiled_egg,0,50,soft-boiled_egg
+snowquill_set_(zelda),0,50,
+skying,1,50,
+skirt_tied_over_head,0,50,
+sinner!_(sillygirl),1,50,
+simipour,4,50,
+side_ahoge,0,50,
+shun_no_shun,1,50,
+shounen_no_abyss,3,50,
+shoco_(sco_labo),1,50,
+shiroyasha,1,50,
+shirogane_rio_(artist),1,50,
+shirika,1,50,
+shiraishi_urara,4,50,
+shino_(moment),1,50,sinosino
+shino-puchihebi,1,50,
+shijuu_hachi,1,50,
+shijimi_(osumashi),1,50,
+shiitake_(gensoudou),1,50,
+sherman_(egnk2525),1,50,
+shayoo,1,50,
+sharuru_(dokidoki!_precure)_(human),4,50,
+sharl0ck,1,50,
+shaka_sign,0,50,
+seyo,1,50,
+seta_(monyun),1,50,
+servant,0,50,servants
+sentou,1,50,
+senkawa_minato,4,50,
+senju_(uroakono),1,50,
+semahiro,1,50,
+self_wedgie,0,50,
+sechi_(stst1850),1,50,
+scathach_skadi_(swimsuit_ruler)_(first_ascension)_(fate),4,50,
+saz_(sazin764),1,50,
+sayamai_miyabi,1,50,
+sawatari_shingo,4,50,
+sawada_kanako,4,50,
+sasaki_kaori,4,50,
+sasahara_koujirou,4,50,
+sari_sumdac,4,50,
+sarashina_kau,1,50,
+sara_bon,1,50,
+saniwa_(katsugeki/touken_ranbu),4,50,
+sanii,1,50,
+sangyou_haikibutsu_(turnamoonright),1,50,
+samurai_(fft),4,50,
+sakuya_(ookami),4,50,sakuya_(okami)
+sakura_momo,4,50,
+sakidesu,1,50,sakidesu00
+sajipen,1,50,
+sailor_chibi_chibi,4,50,
+saifu_(sisutakh),1,50,
+sacchi,1,50,
+ryuukyuu,4,50,
+ryuujin_no_senpai,4,50,ryujin_senpai
+ryu_(street_fighter)_(cosplay),0,50,
+ruwoka,1,50,
+ruten_(onakasukusuku),1,50,
+ruo_zhishi_chu_jian,1,50,
+ruida,4,50,
+roto_(cosplay),0,50,
+rotisserie,0,50,
+roomi,4,50,
+roboko_(sekai_seifuku),4,50,
+rktsm,1,50,
+rita_(shingeki_no_bahamut:_genesis),4,50,
+rison,1,50,
+retia_adolf,4,50,
+republic_of_korea_army,0,50,
+rengoku_senjurou,4,50,
+remoyona,1,50,re_moyo
+reki_(hidan_no_aria),4,50,
+recipe_(object),0,50,
+ravenousruss,1,50,
+rattle_drum,0,50,denden_daiko
+raonal97,1,50,
+ram_(re:zero)_(cosplay),0,50,
+quarium,1,50,
+qt0ri,1,50,
+qoray7,1,50,
+qmo_(chalsoma),1,50,
+qianshui_baodan,1,50,
+purple_haze_feedback,3,50,
+probopass,4,50,
+probe_regalia,0,50,
+princess_juliette,4,50,
+prbili,1,50,
+potato_(oriha94),1,50,
+popopon,1,50,
+polyhedron2,1,50,
+pink_(ohasi),4,50,
+pingkypen,1,50,ksj4002000
+pikaro,1,50,
+pikachu_libre,4,50,
+pico_(boku_no_pico),4,50,
+peter_quill,4,50,
+penguin4,1,50,shiki44boku
+peaceyj,1,50,
+parsley,0,50,
+parchment,0,50,
+papercider,1,50,
+paper_mario:_the_origami_king,3,50,
+p9_(susisasimi),1,50,susisasimi
+oyuki_(otozuki_mozuku),1,50,
+ou_negi,1,50,
+otto_no_inu_aida_ni..._~watashi_odosarete_anata_ni_ienai_koto_shimashita~,3,50,
+oto_nagi,1,50,
+oto_(rozeko),1,50,
+orange_sports_bra,0,50,
+optimus_primal,4,50,
+oppai_kenmin,1,50,
+oozora_hiro,4,50,
+ookouchi_ricca,1,50,
+ooba_minato,4,50,
+onodera_(einsatz),1,50,
+okuzumi_yuiko,4,50,
+okitarou_(okiyo),1,50,
+oitsuki_(getsumen_diver),1,50,
+ogura_shion,4,50,
+ogu,1,50,
+ofuro,0,50,
+office_lady_(madoka_magica),4,50,
+oekakiism,1,50,
+obelisk_the_tormentor,4,50,
+nyarko,1,50,
+nukosann,1,50,
+notoro,1,50,
+nosir_onadat,1,50,
+noppo-san,1,50,
+nomiya37564,1,50,
+noeunjung93,1,50,
+no+bi=,1,50,
+nishishi,1,50,
+nishikiyama_akira,4,50,
+nishi_hayato,4,50,
+nini3piyo,1,50,
+nikubou_maranoshin,1,50,anal_(arinosumuki)
+night_watcher_(elsword),4,50,
+night_sky_sword,0,50,
+nigari_(ngari_0115),1,50,
+nidhoggn,1,50,
+nico_(blue_archive),4,50,
+nezumi_(majisuka_gakuen),4,50,
+netherlands,0,50,
+nero_claudius_(red_lightning)_(fate),4,50,
+nerinn_(artist),1,50,
+neneko_(rariatto),4,50,
+nekoyama_iori,1,50,
+neko7,1,50,
+negoya,1,50,
+natuich,1,50,
+natsuhime_yuran,1,50,
+nasunoko,1,50,
+nasu_rei,4,50,
+nash_latkje,4,50,
+nara_haramaung,4,50,
+naomasap,1,50,
+nanjou_yoshino,4,50,
+nanaba,4,50,
+nakamura_nagare,1,50,
+nakamu_405,1,50,
+najica_dengeki_sakusen,3,50,najica_blitz_tactics
+nago_(kirby),4,50,
+nagamo_sakana,1,50,
+mwwhxl,1,50,
+murakami_mozu_(cyclone),4,50,
+mukku,4,50,
+mukai_hinata,4,50,
+mueririko,1,50,
+muchimaro-chan,4,50,
+mr_lobster,1,50,
+moss_(2225028),1,50,
+mosaic_art,0,50,
+morimiya_(kuroro),1,50,
+morikawa_yuki,4,50,
+moose_girl,0,50,
+moon_(majora's_mask),4,50,
+mon_(monmon2133),1,50,
+momosemocha,1,50,
+momijizuki_luna,1,50,chaos-moon
+mokuyou,1,50,
+mokarooru,1,50,
+moira_burton,4,50,
+mogu_(kanikama_mgmg),1,50,
+miyu_(vampire_princess_miyu),4,50,
+miyu_(miy_u1308),1,50,
+miyaulait,1,50,
+miyamoto_akiyo,4,50,
+miyakoto,1,50,
+miyaguchi_hiromi,4,50,
+misuko_(sbelolt),1,50,
+misaki_(1n1m),1,50,
+minami_shizuku,4,50,
+minakami_kaori,1,50,
+milluun,1,50,
+millgua,1,50,
+mikaze,1,50,
+mikawa_sansen,1,50,
+miji_doujing_daile,1,50,
+mico3,1,50,
+melting_scarlet,1,50,
+mei_ford,1,50,golden_boden
+mazeru_(jisjifin),1,50,
+mayumochini,1,50,
+mayonnaise_(ringo_gakuen),1,50,
+mattyazuki,1,50,macchazuki
+matsuzaka_(matsuzakagyu_29),1,50,
+matsuri_kyuuta,1,50,
+matsudora124,1,50,
+matsubara_honoka,4,50,
+masuchi,1,50,
+mashin,0,50,
+masami_(souzou_jinsei_sanka),1,50,masami05071541
+mary-san,4,50,
+marisa_stole_the_precious_thing,0,50,
+marimo_tarou,1,50,kamonoumi
+manse,1,50,
+manme,1,50,
+male_with_breasts,0,50,
+makkuro,1,50,
+makiya,1,50,makya
+make_america_great_again,0,50,
+maimu,1,50,
+magpul_masada,0,50,
+magikano,3,50,
+magic_carpet,0,50,
+maekawa_yuichi,1,50,
+madarame,1,50,
+lyrical_ds,3,50,
+lune_(kaminomi),4,50,
+luca_balsa,4,50,prisoner_(identity_v)
+ltotyht,1,50,
+lourie,1,50,
+lopunny_(cosplay),0,50,
+long_torso,0,50,
+lispict,1,50,
+lirseven,1,50,
+lipstick_mark_on_stomach,0,50,
+lip_balm,0,50,
+lion's_roar_(genshin_impact),0,50,
+lin_hu_(nekojishi),4,50,
+lily_white_(cosplay),0,50,
+lily_servant,0,50,
+lilo_&_stitch,3,50,
+li_meifon,4,50,
+leos_vincent,4,50,
+left_4_dead_2,3,50,
+lee_roha,4,50,
+leather_vest,0,50,
+layla_(sound_horizon),4,50,
+lari,1,50,
+lakestep55,1,50,
+kyowosuke,1,50,
+kyo_(kyokuto016),1,50,
+kyabekko,1,50,
+kuzumochi,1,50,
+kusanagi_koyori,1,50,
+kusaka_ryuuji,4,50,
+kurudaz,1,50,
+kurojishi,1,50,
+kuroe_ayaka,4,50,
+kurobuchi_numama,1,50,
+kurashina_asuka,4,50,
+kurasaki_cority,1,50,
+kurara-chan_(suzutsuki_kurara),4,50,
+kuraki,1,50,
+kunoichi_(disgaea),4,50,
+kumako_(sono328),1,50,
+kubota_shinji,1,50,
+koubu,4,50,
+kotobuki_(medetai),1,50,
+kotneciii,1,50,
+koroneri,1,50,koro_(artist)
+kongou_(battleship),0,50,
+konasu_(sndk1480),1,50,
+komugi_(hunter_x_hunter),4,50,
+kokusoji,1,50,
+kokkoro_(princess)_(princess_connect!),4,50,
+koishikawa,1,50,
+koiiro_byoutou_(vocaloid),3,50,love-colored_ward_(vocaloid)
+koigakubo_momoko,4,50,
+kohinata_hayami,4,50,
+kodera_ju,1,50,
+kobiemon,1,50,
+kobayashi_(oksk0x0),1,50,
+kiyakyuu,1,50,
+kishiro_azuhito,1,50,"cielo_oceano,kishiro_az"
+kishi_youko,4,50,
+kirima_syaro_(cosplay),0,50,
+kirame_kirai,1,50,
+kinocopro,1,50,
+kikukawa_azami,4,50,
+keven_(ewdx3754),1,50,keven65077654
+kero_(cosplay),0,50,
+ken'ichi_(silvian125jp),1,50,
+kemu,1,50,
+keishi_(shining_star),4,50,
+keenii_(kenny86),1,50,
+kdc_(tamaco333),1,50,
+kazu_sanbon,1,50,
+kazamatsuri_kazari,4,50,
+kayo_(watamote),4,50,
+kawasumi_(tk2k_jade),1,50,
+kawamura_rukanan,1,50,
+kawamura_raichi,1,50,
+katori_shin'ichi,4,50,
+katori_(pso2),4,50,
+kath,1,50,
+katelynn_(afrobull),4,50,
+karin_(fineyanny),1,50,
+kannazuki_okuto,1,50,
+kamu_(simp3),1,50,
+kamonegi_(meisou1998),1,50,
+kamiya_shion,4,50,
+kamiomutsu,1,50,
+kamen_rider_meteor,4,50,
+kamachi_kamachi-ko,1,50,
+kakushigoto,3,50,
+kaji_ryouko,4,50,
+kai_harn,4,50,
+kagura_tsuna,1,50,
+kagura_demuri,4,50,
+kaga_(warship_girls_r),4,50,
+kacchu_musume,1,50,
+kabakura_tarou,4,50,
+ka92,1,50,
+juvenile_(vocaloid),3,50,
+juukyuu,1,50,
+jupiter_(pokemon),4,50,
+julia8857,1,50,
+joint_(drug),0,50,
+john_wick,3,50,
+jinx_(dc),4,50,
+jikeshi,1,50,
+jgsdf_type_07_tank_natchin,4,50,
+jewel_knights,3,50,
+jason_voorhees_(kotobukiya_bishoujo),4,50,
+james_p._sullivan,4,50,
+jack_frost_(rise_of_the_guardians),4,50,
+j-e-m-g,1,50,sachsen
+izumi_kaori_(twinbox),4,50,
+iwana,1,50,
+itto_maru,1,50,
+itaro,1,50,
+issa_(sorako45),1,50,
+ishimo,1,50,
+isai_shizuka,1,50,
+inunekostudio,1,50,
+inhoso,1,50,
+inasa_orange,1,50,
+inarou_(rakugakiproject),1,50,
+imminent_punch,0,50,
+iijima_kana,4,50,
+ierotak,1,50,
+idachi,1,50,
+ichimoku_ren,4,50,
+ichi_inaru,1,50,
+icelernd,1,50,
+ice_queen_(adventure_time),4,50,
+i-401_(kancolle)_(cosplay),0,50,
+i-25_(azur_lane),4,50,
+hutuu_(1121),1,50,mishasimarina0130
+hullzion,1,50,
+hukahire0120,1,50,
+huatu_jiang,1,50,tsukimi_(pixiv)
+htol#niq:_hotaru_no_nikki,3,50,hotaru_no_nikki
+hoshino_sora_(enuni),4,50,
+honya_(maho_a),1,50,
+hong_soon-jae,1,50,
+hod_(project_moon),4,50,
+hiyorou,1,50,
+hiki_togu,1,50,
+hikarikmy,1,50,
+hex_tails,0,50,
+herbarium,0,50,
+hen-shin-shou-jo_metamol_maiden,3,50,
+helena_(meta)_(azur_lane),4,50,
+heiyizhushenxia,1,50,
+hazuki_(nukisasi),1,50,
+hayate-s,1,50,
+hayashi_naoharu,1,50,
+hayabusa_koi,1,50,
+hatsu_inu,3,50,
+hatotaurus_(ookami_mio),4,50,
+hassan_of_serenity_(merry_sheep)_(fate),4,50,merry_sheep
+hassan_(sink916),1,50,
+haruno_tomoya,1,50,
+harubato,1,50,
+harpie_girl,4,50,
+hanaon,1,50,
+hanakai_momo,4,50,
+hana_(dqkmb362),1,50,hana_bell_forest
+han_(ozrfour),1,50,
+halakadira,1,50,
+hakuun_(m2230),1,50,
+hako_(hakosanhanasan),1,50,
+hachimillion,1,50,
+h&k_mg5,0,50,
+gyoubu_ippei,1,50,
+gyonikun,1,50,
+gyarusatan,1,50,buck-satan
+gumball_machine,0,50,
+gregory_(fnaf),4,50,
+gravel,0,50,
+grapple_pilot_(titanfall_2),4,50,
+gracidea,0,50,
+goru_(cure_golgom),1,50,curegolgom
+goroku,1,50,
+gordon_ramsay,4,50,
+gokurakuin_sakurako,1,50,
+gilbert_bougainvillea,4,50,
+geta_(epicure_no12),1,50,
+ge_zhong_kuaile,1,50,
+gaikotsu_kishi-sama_tadaima_isekai_e_o_dekake-chuu,3,50,skeleton_knight_in_another_world
+fuzzlogik,1,50,
+fuyono_neru,1,50,
+futaba_riho_(cosplay),0,50,
+fushimi_sameta,1,50,sameta
+fusa_(starless2323),1,50,
+fur_sleeves,0,50,
+fumimi,4,50,
+fumikiri_(dake_no_hito),1,50,
+fujisaki_yua,4,50,
+fujimaru_ritsuka_(male)_(royal_brand),4,50,
+fujibayashi_suzu,4,50,
+fuji_hyorone,1,50,
+fu_(mushibun),1,50,
+freddie_mercury,4,50,
+fox_girl_(mdf_an),4,50,
+forbin_(azur_lane),4,50,
+foge,1,50,
+flynn_rider,4,50,
+flying_red_barrel,3,50,
+floette_(red),4,50,
+flamenco,0,50,
+firenzesaika,1,50,
+fire_valkyrie,4,50,
+finger_puppet,0,50,finger_puppets
+ferry_(summer)_(granblue_fantasy),4,50,
+fennery_(show_by_rock!!),4,50,
+fencing,0,50,
+faejunkie,1,50,
+f-2,0,50,
+eye_hair_ornament,0,50,
+ex-trident,1,50,
+etuzan_jakusui,1,50,
+enoshito,1,50,
+enkichi_totan,1,50,
+en_(paorasuteki),1,50,
+emilia_hermit,4,50,
+elrowa,1,50,
+elie_wayne,4,50,
+eileen_coney_(shepherd0821),4,50,
+eikaa,1,50,
+edge_maverick,4,50,
+e7_(runaway162),1,50,
+dylan_keith,4,50,
+drawdrawdeimos,1,50,
+drakente,1,50,
+drakee,4,50,
+dragoncastle,1,50,
+dragon_shiryuu,4,50,dragon_shiryu
+donuttypd,1,50,
+donar0217,1,50,
+dojipan,1,50,spewing_mews
+doctor_ferdinand,4,50,
+dj.adonis,1,50,
+dita_liebely,4,50,
+disco,0,50,
+dinikee,1,50,
+diamond_princess_no_yuuutsu,0,50,
+devil-v,1,50,
+denkou_choujin_gridman,3,50,
+decorating,0,50,
+death_angel_komachi,3,50,
+daroach,4,50,
+dark_repulser,0,50,
+dark_night_(darkotl),1,50,
+dao,0,50,
+danraz0r,1,50,
+daitoutei,1,50,
+daihatsu_(landing_craft),0,50,
+czk,1,50,
+cygnet_(an_offer_to_be_maid)_(azur_lane),4,50,cygnet_(offer_has_been_maid)_(azur_lane)
+curling,0,50,
+cure_melody_(cosplay),0,50,
+cucchiore,1,50,
+ctiahao,1,50,
+crumbling,0,50,
+crow_tengu_extra_(touhou),4,50,
+crossdraw_holster,0,50,
+croix_raoul,4,50,
+creepypasta,3,50,
+cramp,0,50,
+cpu,0,50,
+covering_another's_mouth,0,50,
+contract,0,50,
+comizku,1,50,
+colorful_x_melody_(vocaloid),3,50,
+clear_echoes,1,50,
+civia,4,50,
+cimeri,1,50,
+chuck_pires,1,50,
+chotto,1,50,
+chiyosuke_(nosuke21),1,50,
+chickenvomit,1,50,
+cheese_(sonic),4,50,
+cheek_on_glass,0,50,
+chawanmushi_(ebikamaboko),1,50,
+chain_gun,0,50,
+chachazero,4,50,
+cedric_(gear_art),1,50,
+ceasar_ian_muyuela,1,50,
+castlevania:_dawn_of_sorrow,3,50,
+cap_(dkdm-d),1,50,
+candy_boy,3,50,
+cafenami,1,50,kokugonochoko
+cacao_(lamune),4,50,
+byuura_(sonofelice),1,50,
+bunny_symbol,0,50,
+bunkyo_takemi,1,50,
+brown_pupils,0,50,
+brikot,1,50,
+bridget_evans,4,50,
+bound_wings,0,50,
+boppin,1,50,
+boole_(sangha0301),1,50,
+bookmarkahead,1,50,
+bokustar_fox,1,50,
+bokura_no_16bit_warz_(vocaloid),3,50,
+boku_wa_ohime-sama_ni_narenai,3,50,
+bocha_(gotipoke),1,50,
+bluecher_(azur_lane),4,50,blucher_(azur_lane)
+blue_mask,0,50,
+blue-haired_boy_(how_to_draw_manga),4,50,
+blossoming_new_year's_karuta_contest_(umamusume),0,50,
+blooregard_q_kazoo,4,50,
+blackish_961sp_(idolmaster),0,50,blackish_961sp
+bin1998,1,50,
+biko_pegasus_(umamusume),4,50,
+beiske_(de_skb3),1,50,
+beat_(mega_man),4,50,beat_(rockman)
+bean_sprout,0,50,
+battle_girl_(pokemon),4,50,
+bandana_removed,0,50,
+banchengping@126,1,50,
+banana_(hirane1988),1,50,
+balsa,4,50,barusa
+badger_tail,0,50,
+azuchi_momo,4,50,
+ayase_tamaki,1,50,
+ayabe_kihachirou,4,50,
+atelier_ryza_3,3,50,
+atelier_elie,3,50,atelier_elie_alchemist_of_salburg_2
+asymmetrical_shirt,0,50,
+asmodeus_alice,4,50,
+ashigara_(aoki_hagane_no_arpeggio),4,50,
+asemu_asuno,4,50,
+asagi_(bombergirl),4,50,
+aruka,1,50,
+armored_personnel_carrier,0,50,
+arin66,1,50,
+ari_don,1,50,
+argyle_necktie,0,50,
+arctic_wolf_(kemono_friends),4,50,
+aratagawa_nikei,1,50,1w2k
+araimooah,1,50,
+aoyama_reo,1,50,
+aosaki_yato,1,50,
+aoi_anna,4,50,
+anne_(bravely_second),4,50,
+ankoku_tiger,1,50,akai_shinju
+animal_cutout,0,50,
+angel_links,3,50,seihou_tenshi_angel_links
+andou_nene,4,50,ando_nene
+amygdala,4,50,
+amirun,1,50,
+amekaze_yukinatsu,1,50,
+ameiarts,1,50,
+amayouri,1,50,
+amanoyayuki,1,50,
+aliese_martini,4,50,
+alice-whiteberry,1,50,
+alexi_oekaki,1,50,
+akira_(umihan),1,50,
+akira_(aky-la),1,50,
+aki_no_jikan,3,50,
+akatsuki_(azur_lane),4,50,
+akamtvahosi,1,50,
+akai_mi_ga_bakuhatsu_shita,1,50,
+aircraft_request,5,50,
+ahr_tato,1,50,
+ah-negitorow,1,50,
+acrobatics,0,50,
+aciddrop_(arknights),4,50,
+absolutemabbak,1,50,mabbakmoe
+aaaabo,1,50,
+a_lone_prayer,1,50,
+a_flow,1,50,
+a106,4,50,
+9ma_param,1,50,saitoukuniko-3
+96neko,4,50,
+54cr,1,50,
+501st_joint_fighter_wing_(emblem),0,50,
+3ok,1,50,
+3kuma,1,50,
+2zuz4hru,1,50,
+zxzx,1,49,
+zweilous,4,49,
+zono_(rinkara-sou),1,49,
+ziko,1,49,
+zanburg,0,49,
+yuyaki_(senran_kagura),4,49,
+yuuma_(pumpkin),1,49,
+yuukyuu_gensoukyoku,3,49,
+yuuki_miyabi,1,49,
+yuukaku,1,49,
+yuujin_(pageratta),4,49,
+yuugiri_ayano,4,49,
+yuucho_(cololal),1,49,
+yurufuwa_milk,1,49,nanarya
+yuri_alpha,4,49,
+yuri_(quiz_magic_academy),4,49,
+yura_(ub4u),1,49,
+yule_log,0,49,
+yukiyoshi,1,49,
+yukiji_shia,1,49,toki_ai
+yukihiko_(sky_sleep),1,49,
+yu_(uza),1,49,
+ys_ix_monstrum_nox,3,49,
+youtan,1,49,
+yorktown_(warship_girls_r),4,49,
+yonab_(yonab),4,49,
+yon_yon_(shikawafu),1,49,
+yaruo,4,49,
+yapo_(mess),1,49,
+yang38,1,49,
+yammy,1,49,
+yamano_rinrin,1,49,
+yae_kaori,4,49,
+y_jinn,1,49,
+xperiajoker,1,49,
+xino,1,49,
+xiatian_(beatmania_iidx),4,49,
+xia_xiang_(ozicha),1,49,
+x.x,1,49,
+wukong_(league_of_legends),4,49,
+wu_lun_wujin,1,49,
+wrist_wings,0,49,
+wringing_dress,0,49,
+wooden_beam,0,49,
+wing_(aiastor),1,49,
+windmill_(company),3,49,
+winberrl,4,49,
+willump,4,49,
+wicker_basket,0,49,
+white_scales,0,49,
+wei_yu,1,49,
+weapon_name,0,49,
+water_cooler,0,49,
+wata_neo,1,49,
+washiwa,1,49,
+wargaming_japan,3,49,
+warabimoti_yoz,1,49,
+walfas,0,49,
+waku2kitchen,1,49,
+wakame-chan,4,49,
+wakaba0801,1,49,
+vs_knight_lamune_&_40_fire,3,49,
+void_prowler_wraith,4,49,
+vladimir_(league_of_legends),4,49,
+virion_(fire_emblem),4,49,viole_(fire_emblem)
+vf-1_strike,4,49,
+vespid_(girls'_frontline),4,49,vespid_(girls_frontline)
+very_big_eyes,0,49,
+vellark,1,49,
+vegacolors,1,49,
+valor_(league_of_legends),4,49,
+vaio,0,49,
+va,0,49,
+utai_yumi,1,49,
+usui_ryuu,1,49,
+uss_missouri_(bb-63),4,49,
+usio_ueda,1,49,
+usa_(yamai),4,49,
+uriah-oyu,1,49,
+united_nations,0,49,
+unfezant_(male),4,49,
+undershaft,1,49,
+umeru_(admiral_bahroo),4,49,
+umbilical_cord,0,49,
+ukatsu_juuzou,1,49,
+u_tnmn,1,49,
+u_emper,1,49,
+u2_(u2_85269),1,49,
+type_90,1,49,
+tycho_science,4,49,
+twobee,1,49,
+two-tone_neckerchief,0,49,
+two-tone_cloak,0,49,
+twin-7646,1,49,
+tuesday_simmons,4,49,
+tsuruhime,4,49,
+tsurugi_yuuichi,4,49,
+tsumihoroboshi-hen,3,49,
+tsukushima_shijima,4,49,
+trista_(makkoivenus),1,49,
+triangle_cutout,0,49,
+transformers_car_robots,3,49,
+train_attendant,0,49,
+towa_rui,4,49,
+toutaku,4,49,
+toujirou,1,49,
+tori_(eherotori),1,49,bird_ssssss
+topsu,1,49,carlos_javier
+tomoshibi_no_majo,4,49,
+tomon_(slash0410),1,49,
+toktin_zq,1,49,
+tokinomiya_kamui,4,49,
+todoroki_kyouko,4,49,
+tocope,1,49,
+tita_nium,4,49,
+tile_background,0,49,
+tiefling,0,49,
+thranduil,4,49,
+the_thing,3,49,
+the_king_of_fighters_2000,3,49,king_of_fighters_2000
+the_best_schoolmate_(idolmaster),0,49,the_best_schoolmate
+thatch,4,49,
+tetra_takamine,1,49,
+teston,1,49,
+terrako,4,49,
+terimayo_(sonnne_farbe),1,49,
+tenebria_(epic_seven),4,49,tenebria_(epic7)
+temperature,0,49,
+temmie_chang,1,49,
+tarisa_manandal,4,49,
+tariho_(robotanime),1,49,
+tanned_girl_(kamisimo_90),4,49,tanned_girl_(yuya)
+tani,1,49,
+tama_azusa_hatsu,1,49,
+takuya_(acceed),4,49,
+takayama_dan,1,49,youzan_dan
+takashi_moritaka,1,49,
+takasaki_(rock_rock),1,49,
+taira_no_fumikado,4,49,
+tailbox,1,49,"whitebox,xbost"
+tad_s,1,49,
+tachibana_hina,4,49,
+t_lege_d,1,49,
+t_(dyuhuhudyukusi),1,49,
+sword_world,3,49,
+sword_master_(dungeon_and_fighter),4,49,
+swirling,0,49,
+sushoartworks,1,49,ehon-metal
+survival_yaiba,1,49,
+surfboard_(wrestling),0,49,
+supobi,1,49,
+super_mario_bros._2,3,49,
+supahbeefcakes,1,49,modern-warmare
+sungpark,1,49,
+summon_ticket_(fate),0,49,summon_ticket
+sumire_(anti_(0324)),4,49,
+sukoyaka_gyuunyuu,1,49,
+sukiya,0,49,
+sujiko_(125motimoti),1,49,
+suimame,1,49,
+sugomori_tsuru_(artist),1,49,
+sugii_tsukasa,1,49,
+subfiction,1,49,
+stuffed_squirrel,0,49,
+striped_wristband,0,49,
+stretch_marks,0,49,
+stitched_fingers,0,49,
+steward_(arknights),4,49,
+steph_(afrobull),4,49,
+stardust_dragon,4,49,
+star_guardian_syndra,4,49,
+sr_soba,1,49,
+spread_the_wings!!_(idolmaster),0,49,
+spoken_flower,0,49,
+spiral_background,0,49,
+spiral_(senra_garou),1,49,spiral_(artist)
+spider-ham,4,49,
+spewpa,4,49,
+sotsunaku,1,49,
+soranokaze15,1,49,soranokaze15_(artist)
+sophia_(p5s),4,49,
+sonic_world_adventure,3,49,sonic_unleashed
+sonech,1,49,
+snowdrop_(flower),0,49,
+snow_strawberry_(idolmaster),0,49,
+small_head,0,49,
+sleeve,0,49,
+siyumu,1,49,
+sixteenpo,1,49,
+sitting_on_hair,0,49,
+sitting_on_cloud,0,49,
+sister_(arakawa),4,49,
+sion_flina,4,49,
+shuiro_(frog-16),1,49,
+shoko_makiko,1,49,
+shiroton_(kazamineko),1,49,
+shirotaso0818,1,49,
+shirono_kuma,1,49,
+shirohebi_(monster_girl_encyclopedia),4,49,
+shirayuki_ren,4,49,
+shirayuki_mishiro,4,49,
+shiratori_hime,4,49,
+shirataki_jiro,1,49,
+shirasu_(mashiro_(rikuya)),4,49,
+shion_(len'en),4,49,
+shio,1,49,
+shinsetsu_spice_and_wolf,3,49,
+shinomy,1,49,
+shinku_(cosplay),0,49,
+shinjou_kanae_(teekyuu),4,49,
+shin'ya_natsuki,1,49,shinya_natsuki
+shimamura_miwa,1,49,
+shiki_no_akari,3,49,
+shiki_karuta,1,49,
+shiitake_(mm0820),1,49,
+shiika_(idolmaster),4,49,
+shige,1,49,
+shichimi_(ftlvampire32),1,49,
+shibanashi_miso,1,49,
+shiba_tatsuya,4,49,
+shennong_(summer)_(housamo),4,49,
+shamone_(skullgirls),4,49,
+shallotte_elminus,4,49,
+shaito,1,49,
+seushiki_(ponti-ron),1,49,
+set7,1,49,
+serakoutarou,1,49,
+sengoku_asuka_zero,3,49,
+senbiki_(nonono69),1,49,
+seiros_(fire_emblem),4,49,
+seidouzan,0,49,
+segaxtu,1,49,
+sasebono_mari,1,49,
+sasana,1,49,
+sasaki_kouhei,1,49,
+sasakawa_arumi,1,49,
+sandman_(sbr),4,49,
+samurai_jack_(character),4,49,
+salukino,1,49,kk_(aky2374)
+salty_(cherrypie),1,49,
+salamander_(monster_girl_encyclopedia),4,49,
+sakuya_(utawarerumono),4,49,sakuya_(utawareru_mono)
+sakuramachi_touko,4,49,sakuramachi_fuyuko
+sakurada_kanade,4,49,
+sakuma,1,49,
+sakuba_nao,1,49,kyousaki_nao
+saint_seiya_saintia_sho,3,49,
+saint-louis_(alluring_administrator)_(azur_lane),4,49,
+saika_ryougi,1,49,saika_(saika_nyan)
+sai_ichirou,1,49,
+sai_(saikun),1,49,saikun2013
+sagamihara_sakyou,1,49,
+sabi_wasabi,1,49,
+saazbaum,4,49,
+ryuuguu_rena_(cosplay),0,49,
+ryuhirohumi,1,49,
+ryugeru_baran,4,49,
+ryouki_(34388923),1,49,
+rylaera,1,49,
+ruu_(queen's_blade),4,49,
+rupe_paperu,1,49,
+runemill,1,49,petchduck1
+rukiroki,3,49,
+rui_(pokemon),4,49,
+rudy_(rariatto),4,49,
+rozaliya_olenyeva_(fervent_tempo),4,49,rozaliya_olenyeva_(delta)
+rouge_(power_stone),4,49,
+rose_tomas,4,49,
+rodway,1,49,
+rodori_gesu,1,49,
+rizeass,1,49,
+rital,1,49,
+riria,1,49,
+rippootai,1,49,
+rinx,1,49,
+rinrin_(user_tvcf4347),1,49,
+rijjin,1,49,
+ries_argent,4,49,
+riding_bird,0,49,
+riding_bean,3,49,
+richter_abend,4,49,
+retto,1,49,
+ren_kouha,4,49,
+removing_helmet,0,49,
+remotarou,1,49,
+reki_(dezuko),1,49,
+reisalin_stout_(cosplay),0,49,
+reinesia_el_arte_cowen,4,49,
+regls,1,49,
+reddit_username,0,49,
+rebecca_arcane,4,49,rebecca_archein
+ray_littlechamber,4,49,
+ranju_aira,1,49,
+raihan_(anniversary_2022)_(pokemon),4,49,
+rafflesia_(flower),0,49,
+racoon-kun,1,49,
+qing_lan,1,49,
+px4_storm_(girls'_frontline),4,49,px4_storm_(girls_frontline)
+puu_(kari---ume),1,49,
+procreate_(software),0,49,
+prino_hawell,1,49,
+prin_dog,1,49,
+poporon_(jashin-chan_dropkick),4,49,
+popo_take,1,49,
+pokira,1,49,
+poking_with_penis,0,49,
+pokemon_xd,3,49,"pokemon_xd:_gale_of_darkness,pokemon_xd:_yami_no_kaze_dark_lugia,pokemon_xd_gale_of_darkness,pokemon_xd_yami_no_kaze_dark_lugia"
+poise,1,49,
+pocketbook,0,49,
+plue,4,49,
+plastic_moon,1,49,
+plaid_pajamas,0,49,
+pixiv_cat_kingdom,3,49,pixiv_cat_kingdom_2
+pippilipi,1,49,
+ping_hai_(osmanthus_moon_rabbit)_(azur_lane),4,49,
+pinecone_(sing_a_song)_(arknights),4,49,
+pillar_buster,1,49,
+pile_(seiyuu),4,49,
+pikupiku,4,49,
+piccolo_daimaou,4,49,king_piccolo
+piaisai,1,49,
+people's_liberation_army_air_force,0,49,
+penis_head,0,49,dickhead
+penguinbox,1,49,
+penguin_musume,3,49,penguin_musume_heart
+pcs_shousa,1,49,
+parayang,1,49,para3318
+pandora_(nat_the_lich),4,49,
+palmer_(pokemon),4,49,kurotsugu_(pokemon)
+paddy_field,1,49,
+paaru,1,49,
+pa_da_wan,1,49,
+oyashimakanya,1,49,
+oumagadoki_doubutsuen,3,49,
+ou_taiga,4,49,
+ottoman,0,49,
+otsu_natsu,1,49,
+ostrich_(kemono_friends),4,49,
+orn,1,49,
+oriuo_q,1,49,
+ore_no_natsuyasumi,3,49,
+orange_clouds,0,49,
+ootsuka_mai,1,49,
+ooshima_aki,1,49,
+oono_eiko,1,49,
+omega_(mega_man),4,49,omega_(rockman)
+omega_(final_fantasy),4,49,
+olmine,4,49,
+oktyabrskaya_revolyutsiya_(kancolle),4,49,oktyabrskaya_revolyutsiya_(kantai_collection)
+okoge_(simokaji),1,49,
+okami_ranka,4,49,
+okada_izou_(dog)_(fate),4,49,okada_izou_(dog)
+oinari_yukke,1,49,
+oimari,1,49,
+odabuts,1,49,"1_oda_butsu_1,anahoriya"
+occluder,0,49,
+oasis,0,49,
+o22no,1,49,
+nzz,1,49,
+nyarumi,1,49,
+nyano,4,49,
+nyamnyam0502,1,49,
+nunuko_(mu661129),1,49,
+nuenue,1,49,
+nstime23,1,49,
+nose_genki,4,49,
+nordic_niku,1,49,
+no_hood,0,49,
+no_cloak,0,49,
+niwatori_gunsou,1,49,
+nitta_emi,4,49,
+nitaimoimo,1,49,
+nishinaka_takashi,4,49,
+nishi,1,49,
+nintendo_switch_pro_controller,0,49,
+niko_(aiai03012),1,49,
+niihashi_noel,4,49,
+night_seeker_(sekaiju),4,49,
+niandni,1,49,"frank_(furanku),ni_zhenghe"
+nfb-zmc,1,49,
+neytirix,1,49,
+nevakuma_(fanfanas),1,49,
+neru_(flareuptf1),1,49,
+nemurism,1,49,
+nemuaki,1,49,akitannn
+nemo_ringo,1,49,
+nekono_osero,1,49,nekoose
+neco-arc_chaos,4,49,"neco_arc_chaos,necoarc_chaos,neko_arc_chaos,nekoarc_chaos"
+neck_lift,0,49,
+nayoung_wooh,1,49,obsidian24
+naomi_(agent_aika),4,49,
+naname_(danbooru_maker),1,49,
+nanairo_souga,1,49,
+nanahi_toshi,1,49,
+namuru,1,49,
+namuro,1,49,
+naharyou,1,49,
+nagisano,3,49,
+nagase_yutaka,1,49,
+n15e,1,49,
+myung-jin_lee,1,49,
+mystical,1,49,plantpenetrator
+mynare,1,49,
+mx0,3,49,
+musuka_(muska),1,49,
+mustard_sfm,1,49,
+musketeer,0,49,
+murasaki_nakoruru,4,49,
+multilingual,0,49,
+mujun_atama,1,49,
+mudou_setsuna,4,49,
+mousou_zei_(vocaloid),3,49,
+mou_(piooooon),1,49,
+motocross_saito,1,49,
+mothim,4,49,
+mother_spider_demon_(kimetsu_no_yaiba),4,49,
+mosquito_musume,4,49,
+morinas,4,49,
+morimi_ashita,1,49,
+moriah,4,49,
+mori_calliope_(cosplay),0,49,
+moonlight_butterfly,0,49,
+monster_maker,3,49,
+monokuma_(cosplay),0,49,
+momomo12,1,49,
+mogera81,1,49,
+mk_(mikka),1,49,mk_(batu2dragon)
+mk001black,1,49,
+mizushiro_kanon,4,49,
+mizuse_kiseki,1,49,
+mizame,1,49,
+miyazawa_yukino,4,49,
+miyar2d2,1,49,
+miyamura_izumi,4,49,
+mitsuki_(mitsukitei),1,49,
+miso_pan,1,49,
+misia_(ichiri),4,49,
+miruku_(cutesuu),4,49,
+minu,1,49,
+mine_riko,4,49,
+minatsuki_hitoka,1,49,
+minamiya_natsuki,4,49,
+minakuchi_takashi,1,49,
+milll_77,1,49,
+mikomo0106,1,49,
+mikaelya_(voice_actor),1,49,mikaelya
+mighty_(series),3,49,
+mibushiro,1,49,
+meteoride,1,49,
+metalgarurumon,4,49,
+metabee,4,49,
+menma_(enaic31),1,49,
+mengo,1,49,
+melon_slice,0,49,
+melon-chan_(fg),4,49,
+mejiro_family_doctor,4,49,
+meili_portroute,4,49,
+mebi_il,1,49,mebi_(mebieru)
+maxima_enfield,4,49,
+matsuno_kuusuke,4,49,
+matsunaga_sara,4,49,
+matou_sakura_(cosplay),0,49,
+mashimaru_(muzikluva),1,49,
+mashima_himeko_(show_by_rock!!),4,49,
+mashima_(sumachi),1,49,
+marui_maru,1,49,
+marotti,1,49,
+marmalade_mum,1,49,
+marisa_to_alice_no_cookie_storia,3,49,
+marie_parfacy,4,49,
+marie_ange,4,49,
+marianne_vi_britannia,4,49,
+maria_(arakawa),4,49,
+mari_(swimsuit)_(blue_archive),4,49,
+maosen,1,49,
+manuel_castanon,1,49,
+malice_stella,1,49,
+makita_haruka,1,49,
+maki_michaux,1,49,
+maid_(etan14),4,49,
+maico_(a218),1,49,
+mahou_shounen_miracle_hachirou,3,49,
+maguchimo,1,49,
+magical_princess,4,49,
+magical_mirai_kaito,4,49,
+machi_youko,4,49,machi_yoko
+m500_(girls'_frontline),4,49,m500_(girls_frontline)
+m1_carbine,0,49,
+lvl374,1,49,
+lux_(dera_ix),1,49,dera_ix
+lune_(chikaretsu),4,49,
+lunalu9,1,49,
+luke_venus,4,49,
+lukas_(fire_emblem),4,49,
+lost_robin_rondo,4,49,
+lost_ark,3,49,
+loodncrood,1,49,
+long_island_(long_island_-_indoor_slacker)_(azur_lane),4,49,long_island_(no_cola_no_life)_(azur_lane)
+loeldrive,1,49,
+lliissaawwuu2,1,49,
+ll_0109,1,49,
+little_sister,4,49,
+little_nurse,4,49,
+lirin_(bae.c),4,49,
+lirica,1,49,flowerchorus
+linmei_quan,4,49,
+lina_inverse_(dota_2),4,49,
+lilithmon,4,49,
+lgw7,1,49,
+lewis_(girls'_frontline),4,49,lewis_(girls_frontline)
+let's_draw_pretty_girls_challenge,0,49,
+leen_(grandia),4,49,
+leech_girl,0,49,
+leaning_on_weapon,0,49,
+layzner,4,49,
+latex_top,0,49,
+large_shoes,0,49,
+lanhacy,1,49,
+laffey_(snow_rabbit_and_candy_apple)_(azur_lane),4,49,laffey_(snow_rabbit_and_candied_apple)_(azur_lane)
+lady_j,4,49,
+kyuubi_(youkai_watch),4,49,kyubi_(youkai_watch)
+kyou_(nodobotokemax),1,49,
+kuzuryuu_natsumi,4,49,
+kuuneru,1,49,
+kutsushita_(tokati_r),1,49,
+kusama_takato,1,49,
+kurumizaka_ruri,4,49,
+kurosawa_(kurosawakyo),1,49,
+kuro_ageha,3,49,
+kunoichi_demo_koi_ga_shitai_(vocaloid),3,49,
+kuma_kuma_kuma_bear,3,49,
+kuku123,1,49,
+kujo_josefumi,4,49,kuujou_josefumi
+ku-ini,1,49,kuini
+kraken,0,49,
+kr_ohoshisama,1,49,
+kouzuki_yuuko,4,49,
+koumoto_madoka,4,49,
+kono_subarashii_sekai_ni_shukufuku_wo!:_kurenai_densetsu,3,49,
+konase_(non_stop!),1,49,
+komugi_(mugiwaraclub),1,49,
+komori_takahiro,1,49,
+komasi,1,49,
+kol49,1,49,
+kojiro337,1,49,
+kohinata_sumomo,4,49,
+koga_sayoko,4,49,
+kodama_yuuki,1,49,
+koahri,1,49,
+kitsunemiyoru,1,49,
+kisui_(28992125),1,49,kisui_(user_wswf3235)
+kirari_hikaru,4,49,
+kirara_jump,0,49,
+kinoshita_ringo_(no-rin),4,49,
+kin_no_kutsu_gin_no_kutsu,3,49,
+kimipiyo_(tenmiyakiyo),4,49,
+kimberly_(street_fighter),4,49,
+kii_(azur_lane),4,49,
+kida_sukizou,1,49,
+kgo,1,49,
+kenkaizar,1,49,
+kemono_friends_3:_planet_tours,3,49,
+kemile,1,49,
+katori_youko,4,49,
+katina_tarask,4,49,
+katayama_minami,4,49,
+kase_atsushi,1,49,
+karinaga_raizan,1,49,
+karakuri_circus,3,49,
+kappa_modoki,1,49,
+kanzaki_miku,4,49,
+kaneko_naoya,1,49,
+kaname_(emanalc),1,49,emanalc
+kamoi_tsubame,4,49,
+kamikaze_(azur_lane),4,49,
+kamen_rider_stronger,4,49,
+kamen_rider_genm,4,49,
+kamakama_(kdmorh_kamakama),1,49,
+kama_(tour_outfit)_(fate),4,49,
+kali_(p&d),4,49,
+kakuzatou_(cubesugar03196),1,49,
+kakihito_shirazu,1,49,
+kainohito,1,49,
+kaihime,4,49,
+kaien_advance,1,49,
+kaho_(blue_archive),4,49,
+kaguyahime,1,49,tsukuyomi_kakuya
+junshiki,1,49,libertyfox310
+jung_wonjo,1,49,
+juby,1,49,
+jonbur_man,1,49,ghost_(kjw5679)
+jitama_(bou),1,49,"ditama_bow,jitama_bou"
+jinxel_world,1,49,
+jin_(phoenixpear),1,49,
+jikei,1,49,
+jaws_(okdol0928),1,49,
+jason_chan,1,49,
+janome_gochou,1,49,
+jail_scaglietti,4,49,
+jackalope,0,49,
+jack_(haist),1,49,
+iyau,1,49,
+itsuki_(s2_129),1,49,
+itou_misei,1,49,
+issei,1,49,
+ishtar_(fate)_(cosplay),0,49,
+ishinarimaru_shouten,1,49,
+isana615,1,49,
+iron_claw,0,49,
+iori_yuzuru,4,49,
+iolite_link,3,49,
+inukai_sumiharu,4,49,
+inkstone,0,49,
+inaka_44,1,49,
+imminent_grope,0,49,
+image_fill,0,49,
+image_comics,3,49,
+imaani,1,49,
+ilya_(christmas)_(princess_connect!),4,49,
+iida_kotori,4,49,
+ichitaro,1,49,
+ichinose_(kurui96),1,49,kurui96
+ichinashi,1,49,
+ichinana_(dametetujin17),1,49,
+ichina_(osabakitina),1,49,
+iandrea,1,49,
+i-168_(azur_lane),4,49,
+hyrule_castle,0,49,
+hugo_ardanach,4,49,hugo_el_superbia
+houshasei_gokiburi,1,49,
+houjouin_seika,4,49,
+hoshino_char,4,49,
+hoshino_banchou,1,49,
+horse_legs,0,49,
+horii_kumi,1,49,
+hollyhock,0,49,
+holding_telescope,0,49,
+holding_tanzaku,0,49,
+hohetomaru,1,49,
+hk21_(girls'_frontline),4,49,hk21_(girls_frontline)
+historical,0,49,
+hime_(suguri),4,49,
+himduldago,1,49,
+hilgendorf's_tube-nose_bat_(kemono_friends),4,49,
+hikarusorano,1,49,
+hiiragi_ken,1,49,hiraken_2012
+higurashi_towa,4,49,
+higanbana_(higanbana_no_saku_yoru_ni),4,49,
+hiburi_(kancolle)_(cosplay),0,49,
+hibikileon,1,49,
+helmet-chan_(girls_und_panzer),4,49,
+hell_machina,1,49,
+hell_angel,1,49,
+heiwajima_kasuka,4,49,
+hazumi_aileen,4,49,
+hayashi_maka,1,49,
+hayanpool,1,49,
+hatoichi_reno,1,49,
+haruna_mahiru,1,49,
+harukey,1,49,
+harukaze_chiharu,4,49,
+harry_(namayake),1,49,
+harlock,4,49,
+hansel_(black_lagoon),4,49,
+hand_in_bra,0,49,
+hanazawa_teruki,4,49,
+hanako-san_(toire_no_hanako-san),4,49,
+hami_(hami-gerden),1,49,
+hakiata,1,49,
+haki_(boogbogex),4,49,
+hair_fruit,0,49,
+haibarasaika,1,49,
+hacker_(7th_dragon),4,49,
+ha_neko,1,49,
+gwanlamcha,1,49,
+gurumin_(gurruguru),1,49,
+gupaon,1,49,
+guildmarm_(monster_hunter),4,49,
+gucci,0,49,
+guan_yu,4,49,
+grilled_fish,0,49,
+green_dam,4,49,
+great_gozu,4,49,
+gradient_scarf,0,49,
+gozen4ji,1,49,
+gouhou_yuri_fuufu_hon,3,49,
+gotou_yuuko,4,49,
+gordius_wheel_(fate),0,49,gordius_wheel
+golden_gun,0,49,
+goji_(8jikan_roudou),1,49,
+goemon,4,49,
+gnsn_tori,1,49,
+glacier,0,49,
+girutaabo,1,49,
+girl_with_golden_shoe,4,49,
+gilgamesh_(final_fantasy),4,49,
+ghgnvm,1,49,
+getter_dragon,4,49,
+get,0,49,
+gecko_moria,4,49,
+gari_(apollonica),1,49,
+garfiel_tinsel,4,49,
+gaoerji,1,49,
+gandalf,4,49,
+gamou_maki,4,49,gamo-chan_(nagatoro)
+galarian_yamask,4,49,
+fuyuki8208,1,49,
+fushihara-san,4,49,
+fushigiboshi_no_futago_hime_gyu,3,49,
+fur-tipped_tail,0,49,
+fukuyama_jun,4,49,
+fukushi_ryouhei,1,49,
+fujisaki_kyouya,1,49,
+folding_clothes,0,49,
+fnc_(upotte!!),4,49,"funco_(upotte!!),funco_(upotte),funko_(upotte!!),funko_(upotte)"
+fn-49_(girls'_frontline),4,49,fn-49_(girls_frontline)
+flower_to_mouth,0,49,
+fizz_(league_of_legends),4,49,
+finn_(fire_emblem),4,49,
+ferrothorn,4,49,
+feng_ling_(fenglingwulukong),1,49,
+excel,4,49,
+evil_twin_ki-sikil,4,49,
+evil_ryu,4,49,
+eushufeal,1,49,
+escort_princess,4,49,escort_hime
+erory6_(ro),1,49,
+erina_der_vogelweid,4,49,
+episode_title,0,49,
+enomoto_noa,4,49,
+emi_(emi43),1,49,
+eien_no_kurayami,1,49,
+ebonyxh,1,49,xiaohua_(ebonyxh1)
+dyarikku_(vtuber),4,49,
+dramatic_stars_(idolmaster),0,49,dramatic_stars
+dr_altruist,1,49,
+dr._bug,1,49,dr._omonemushi
+double_ok_sign,0,49,
+double-decker_hamburger_bun,0,49,
+dotz,1,49,connie_(keean2019)
+doting_parent,0,49,
+doorknoble,1,49,
+donggua_bing_cha,1,49,
+dive!_(love_live!),0,49,
+dincat,1,49,
+dice156,1,49,
+diana_(kaminomi),4,49,
+diamond_mouth,0,49,
+dhokidoki,1,49,kaidho
+deuce_spade,4,49,
+detergent,0,49,
+dekisugi_hidetoshi,4,49,
+david_king_(dead_by_daylight),4,49,
+danmaku!!,3,49,
+dandadan,3,49,
+dance_studio,0,49,
+daga,1,49,
+da_raku,1,49,
+cytomander,4,49,
+cyborg_ninja,4,49,
+cyan_aeolin,1,49,
+cure_white_pose,0,49,
+curcuma_(flower_knight_girl),4,49,
+crost,1,49,
+coyomin,1,49,
+corrin_(fire_emblem)_(dragon),4,49,
+corona-chan,4,49,
+cooler_(dragon_ball),4,49,cooler_(dragonball)
+colette_(kono_bijutsubu_niwa_mondai_ga_aru!),4,49,
+coffeiz_p,1,49,
+cody_(dross),4,49,
+clarice_di_lanza,4,49,
+ciel_(bird/binary),4,49,
+chronosth1,1,49,masterdoodle
+christmas_elf,4,49,
+choujin_gakuen_gowcaizer,3,49,
+choco_(moyasi),1,49,choco_(pixiv29111)
+chiutake_mina,1,49,
+chirang,1,49,
+chimera_(chuu2koi),4,49,
+chihyaa,4,49,
+chibimame,1,49,
+chaudlapin,1,49,
+charlotte_christine_de_colde,4,49,
+charlotte_(shironeko_project),4,49,
+charlie_brown,4,49,
+chaou,1,49,
+chan_qi_(fireworkhouse),1,49,
+catcar0983,1,49,
+cassidy_(pokemon),4,49,
+cassandra_dimitrescu,4,49,
+cascoon,4,49,
+cappuccino_(drink),0,49,
+cape_tug,0,49,
+cannian_dada,1,49,
+calum_(existence),4,49,
+cafemoka-septro,1,49,
+byakuya0315,1,49,
+burmy_(plant),4,49,
+burger_skater_(idolmaster),0,49,
+bunny_pin,0,49,
+budgiepon,1,49,
+bubble_man,4,49,bubbleman
+bt-7274,4,49,
+brooklyn_(kancolle),4,49,
+bronya_zaychik_(yamabuki_armor),4,49,
+boyfriend_(friday_night_funkin'),4,49,
+boomei_(nanashi_mumei),4,49,
+bmkro,1,49,
+blue_unitard,0,49,
+blue_heart,0,49,
+blowing_on_food,0,49,
+black_(among_us),4,49,
+big_al,4,49,
+bertha_(pokemon),4,49,kikuno_(pokemon)
+bending_backward,0,49,
+benchen06,1,49,
+belt_feed,0,49,
+beheeyem,4,49,
+beater,1,49,
+banzai_nekomimi,1,49,
+bakumatsu_rouman_dainimaku,3,49,"last_blade_2,the_last_blade_2"
+b_(papiopine),1,49,
+b-52_stratofortress,0,49,
+azoth_knife,0,49,
+ayanokouji_kiyotaka,4,49,
+ayane_ichijou,4,49,
+ayame_(no_ohana),1,49,
+awa_iro,1,49,
+aviator_girls,3,49,
+aurorus,4,49,
+asura_cryin',3,49,"asura_cryin,asura_crying"
+assembling,0,49,
+ass_biting,0,49,"ass_bite,assbiting"
+askr_(mymy),1,49,
+ashiya_kouhei,1,49,
+ashina_genichirou,4,49,
+asami_yurumu,1,49,
+as_(ashyblown),1,49,
+artia,4,49,
+arizona_(azur_lane),4,49,
+aria_(okuda08808008),1,49,
+arata,1,49,
+arabian_architecture,0,49,
+aqueduct,0,49,
+aquarion_logos,3,49,
+aqua_outline,0,49,
+apsara_(elsword),4,49,
+apron_aside,0,49,
+applying_gag,0,49,
+aoyama_yuuga,4,49,
+aotsuki_ushio,4,49,
+aoi_akua,1,49,
+anya_cocolova,4,49,
+annes_(g_(genesis1556)),4,49,
+angon623,1,49,
+ang,1,49,
+andromedako,4,49,
+amiya_(fresh_fastener)_(arknights),4,49,
+ameya_kirika,1,49,
+ameli_(girls'_frontline),4,49,"cetme_ameli_(girls'_frontline),cetme_ameli_(girls_frontline)"
+ambulocetus,1,49,
+amano_yukiko_(youkai_watch),4,49,
+alolan_persian,4,49,
+alfred,1,49,
+alex_(stardew_valley),4,49,
+akuma_shitsuji_to_kuroi_neko,3,49,
+akariya_kuubu,1,49,ku.
+akagi_kouhei,4,49,
+aiue0,1,49,
+aitaso,1,49,
+aibon,1,49,
+agu_(antyosan),1,49,
+agnes_tachyon_(umamusume)_(cosplay),0,49,
+afei_(sfma3248),1,49,
+acid_(acid-field),1,49,
+abarerumidori,1,49,
+810_(dadmiral),1,49,
+5saiji,1,49,
+1995,0,49,
+112san,1,49,
+00tuma00,1,49,
+zoo,0,48,
+zhano_kun,1,48,
+zero_(jckz2334),1,48,
+yuyuko_(yuyucocco),1,48,
+yuyukana,3,48,
+yuuten,1,48,
+yuubari_(azur_lane),4,48,
+yuri_(dirty_pair_flash),4,48,
+yuna_(kuma_kuma_kuma_bear),4,48,
+yukina_(kabaneri),4,48,
+yuki_haru,1,48,
+yuki_(otosuki),4,48,
+yukeyf,1,48,
+yuanagae,1,48,
+yotsuha_(little_squash),1,48,yotsuha_(artist)
+yosyo,1,48,
+yossy_(yossy1130),1,48,
+yoroi_mikoto,4,48,
+yazaki_kallin,4,48,
+yaya_(y8ay8a),1,48,
+yatagarasu_(kemono_friends),4,48,
+yasuraoka_hanabi,4,48,
+yasaka_mao,4,48,
+yarne_(fire_emblem),4,48,chambray
+yamori_shiki,1,48,
+yamato_alexander,4,48,
+yamanin_zephyr_(umamusume),4,48,
+yamanaka_inojin,4,48,
+yam_(htt),1,48,htt
+yagami_kamiya,1,48,
+yafu,1,48,
+ya_kexi,1,48,
+xhunzei,1,48,
+wishbone,1,48,
+winter_gloves,0,48,
+whisper_(ragnarok_online),4,48,
+wet_buruma,0,48,
+water_censor,0,48,
+water_boiler,0,48,
+washanapple,1,48,
+warable,1,48,
+void_termina,4,48,
+violet_(closers),4,48,
+viewtiful_joe_(character),4,48,
+victor_grantz,4,48,postman_(identity_v)
+vchan,1,48,
+valiant_vixen_(pso2),4,48,
+valiant_(azur_lane),4,48,
+utaka_(anyoanyot),1,48,
+usuzan_school_uniform,0,48,
+usas-12_(girls'_frontline),4,48,usas-12_(girls_frontline)
+ursula_(xenoblade),4,48,nanakoori_(xenoblade)
+uro_(uroboros),1,48,
+unown_w,4,48,
+unown_g,4,48,
+unown_b,4,48,
+unou_(unou_mha),1,48,
+unicron_(brous),1,48,
+underbite,0,48,
+umu_(um),1,48,
+umbrella_gun,0,48,
+ultraman_tiga_(series),3,48,
+uetaku,1,48,takupopn_player
+uehara,1,48,
+uchida_mayumi,4,48,
+ucc_coffee,0,48,
+u-sama_(u_summer0719),1,48,
+tyrande_whisperwind,4,48,
+typhoon,0,48,
+tt-392,4,48,
+tsuna_(so_da77),1,48,
+tsukuyomi_sasami,4,48,
+tsukiiro,1,48,user_ghwd8447
+tsuke_(maholabo),1,48,
+tsukasa_(.hack//),4,48,
+tsuka_(blind_side),1,48,tsuka_(pixiv)
+tsubomi_fujiko,4,48,
+tree_costume,0,48,
+toyota_86,0,48,
+toxapex,4,48,
+towelket_wo_mou_ichido,3,48,
+toushirou_(sugarwhite1046),1,48,
+toshinobu40,1,48,
+toshi_aki,1,48,
+too_many_bats,0,48,
+tonbanlove,1,48,
+tomoeda_high_school_uniform,0,48,
+tomitayaki,1,48,
+tokiniwa,1,48,
+tokiji,1,48,
+tokeshi,1,48,
+togusa_saburou,4,48,
+togare,1,48,
+tikuwanwa,1,48,
+tiea,4,48,
+three_of_hearts,0,48,
+thomas_bangalter,4,48,
+thedoujin,3,48,
+the_prince_(katamari_damacy),4,48,
+the_hanged_man_(tarot),0,48,
+thaumazo,1,48,
+thai_flag,0,48,
+tetratech,3,48,
+tenjouin_fubuki,4,48,atticus_rhodes
+tayashigu_(suisyounohosizora),1,48,suisyounohosizora
+taut_jacket,0,48,
+tartaros_online,3,48,
+tani_takuya,1,48,
+tanashi_miyoko,4,48,
+tanaka_kii,1,48,
+tamifull,1,48,kamui87
+tamaki_(diarie_inaiinaibaa),1,48,
+takemaru08,1,48,
+take_(office-t),1,48,
+takahiko,1,48,
+takafuji_yuna,1,48,
+taka_shida,1,48,
+taishi22,1,48,
+tadakuni,4,48,
+tachibana_isana,4,48,
+tabi_boots,0,48,
+sword_art_online:_hollow_realization,3,48,
+swon_(joy200892),1,48,
+super_buu,4,48,
+sunset_skyline,1,48,
+sunohara_youko,4,48,
+sunahara_yoshimi,4,48,girl_with_long_skirt_(k-on!)
+sumiyoshi_chisato,4,48,
+sumika_(rrz03),1,48,
+suikou_(genshin_impact),4,48,
+suikka,1,48,
+su34ma,1,48,
+stunky,4,48,
+straw_doll,0,48,
+stork,0,48,
+sticks,0,48,
+sthesia_awar,4,48,
+static_electricity,0,48,
+spiked_legwear,0,48,
+soubee1,1,48,
+soranakidayo,1,48,
+soramiruku,1,48,
+sonparesu,1,48,
+sonomura,1,48,
+somsom,1,48,
+solid&etc,1,48,
+solaris_(sinhyg),1,48,
+solar_kaichuudentou,1,48,
+sol_badguy_(cosplay),0,48,
+smol_mumei,4,48,
+slimification,0,48,
+skyfire_(temperature_difference)_(arknights),4,48,
+sisuko1016,1,48,
+sindoll,1,48,
+silica_(silica_silylate),1,48,
+siberian_husky_(kemono_friends),4,48,
+shut_(go!_princess_precure),4,48,
+shujin,1,48,
+shugami,1,48,
+shovel_knight_(character),4,48,
+shoujo_l,1,48,yukinoko_mina
+shokubai_phantom_girl,1,48,
+shokill,1,48,
+shoggoth,4,48,
+sho-tan_(thedoujin),4,48,
+shizuku_(omamori_himari),4,48,
+shishikai,1,48,tgh326
+shiroto_iku,1,48,
+shirasaki_aloe,1,48,
+shirai_yuuri,4,48,
+shinobi_(game),3,48,
+shinkyoku_soukai_polyphonica_aphonic_songbird,3,48,
+shinkawa_youji_(style),0,48,
+shining_ark,3,48,
+shinae,1,48,
+shikigami_no_shiro,3,48,shikigaminoshiro
+shikai_(iesiki_56),1,48,
+shijou_hinako,4,48,
+shiina_aki,4,48,
+sheya_tin,1,48,
+sheriff_woody,4,48,
+sharona_(alchemy_stars),4,48,
+shaonav,1,48,
+shanghai_man,1,48,
+shakeko_(shake5),1,48,
+seven-branched_sword,0,48,
+seth_(street_fighter),4,48,
+serota,1,48,
+separated_legs,0,48,
+senran_kagura_burst,3,48,
+sekiguchi_kanami,1,48,
+seidouzan_soccer_uniform,0,48,
+segawa_rikako,4,48,
+sebakanken,1,48,ryougi_ayato
+scp-173,4,48,
+scotch_(cookie),1,48,
+school_connection,0,48,
+sazanami_tarou,1,48,
+sawatari_kazuma,1,48,tani_wataru
+sasami_(ki),1,48,
+saru_000,1,48,
+saphentite_neikes,4,48,
+santa_lily,0,48,
+sania_(arc_the_lad),4,48,
+sangokushi_ranbu,3,48,
+sanamisa,1,48,
+sana_(37pisana),1,48,
+samenoido,1,48,
+sakusakumonoka,1,48,
+sakuramotikun,1,48,
+sakura_nanako,4,48,
+sakuna,1,48,
+saku_hinoko,4,48,
+saitou_yuu,1,48,
+s040784,1,48,
+ryuko_azuma,1,48,
+ryu_(masu_nantoka-san),1,48,
+rv,0,48,
+rur_(ml_ruru),1,48,rikka_ruru
+rune_factory_oceans,3,48,
+rubber_chicken,0,48,
+rosen-tai,4,48,
+roin,1,48,
+rogue_(warcraft),4,48,
+rock_climbing,0,48,
+robocap,1,48,
+rizu-kyun_(cosplay),0,48,
+rita_henschel,4,48,
+rita_drake,4,48,
+riromomo,1,48,
+rion_flina,4,48,
+rikka_(dq9),4,48,
+rii_(pixiv11152329),1,48,
+ridley_timberlake,4,48,
+riderman,4,48,
+ribbon-trimmed_vest,0,48,
+rei_taylor,4,48,
+regieleki,4,48,
+red_trim,0,48,
+red_disappointment,1,48,
+ravio,4,48,
+rapa_rachi,1,48,
+ranzal_(dragalia_lost),4,48,
+ranhatu,1,48,ranhatu7
+randis,1,48,
+radiant_light,0,48,
+rachel_(pokemon),4,48,chetta_(pokemon)
+rabe26k,1,48,lave2600
+qingxiao_kiyokiyo,1,48,
+puck100ml,1,48,
+projecttiger,1,48,
+progress_bar,0,48,
+princess_yoshi,4,48,
+president_(danshi_koukousei),4,48,president_(sanada_north_high)
+poptepipic_pose,0,48,
+pop_(smile_precure!),4,48,pop_(precure)
+ponnyu12,1,48,
+ponekusan,1,48,
+poco.,1,48,
+pnk_crow,1,48,
+piyoco,1,48,
+pitui1996,1,48,
+pinkxxxna,1,48,
+pink_(konkichi),4,48,
+pikmin_2,3,48,
+piana_(atelier),4,48,
+phoenix_print,0,48,
+peeing_on_viewer,0,48,
+peconica,1,48,
+pazma,1,48,
+patriarch_xtasy,3,48,
+parum39,1,48,
+parfait_desu,1,48,parfait_ehmy
+parda_siko,1,48,
+parazan_d,1,48,
+paprika,3,48,
+panyatteria,1,48,
+panties_over_leggings,0,48,
+palmeros,1,48,
+palina_(pokemon),4,48,garana_(pokemon)
+pai_kebon_baa,1,48,
+p_(p25234112),1,48,
+ozoi,4,48,
+oyuki_(urusei_yatsura),4,48,
+ouse_kohime,1,48,
+oshouyu_tabetai,1,48,
+osafune_girls_academy_uniform,0,48,
+oranguru,4,48,
+ookaji_hiroyuki,1,48,
+oogami_koga,4,48,
+oofuji_wataru,1,48,
+on_(onon2659),1,48,
+omochi_monaka,1,48,
+omega-f,4,48,
+okatora,1,48,
+okaohito1,1,48,
+ohayashi55,1,48,
+odyssey_21,1,48,
+ochappa,1,48,
+o-ishi,1,48,
+nyto_(generic)_(girls'_frontline),4,48,nyto_(girls_frontline)
+nunosei,1,48,
+nukunuku_(hinataboltuko),1,48,
+nuclear_throne,3,48,
+ntw-20_(op._blazing_sun)_(girls'_frontline),4,48,
+ntny,1,48,
+noshiro_(hold_the_ice)_(azur_lane),4,48,
+nonstop_story,0,48,
+nonone_(the9thxsheep),1,48,
+noii,1,48,
+nohara_himawari,4,48,
+nocturne_(league_of_legends),4,48,
+no.aei,1,48,
+nithros,1,48,"roko_(roko_noelle),user_trtx7783"
+nisina,1,48,
+nishizawa_yoshiko,4,48,
+nishimawari_kouro,1,48,
+nippori,1,48,
+nina_(maurururoa),1,48,
+nidou,1,48,
+nicomi.com,3,48,
+nia_teppelin_(cosplay),0,48,
+nepty_(silkey_vod),1,48,
+nekoma_kotomitsu,1,48,
+nekobayashi_(nekoforest),1,48,nekorin_(nekoforest)
+neko_usagi,1,48,
+neko_no_wakusei,3,48,
+nehitsuji_(syatihokoga),1,48,
+nefertari_(fate),4,48,nefertari_(fate/prototype_fragments)
+necromancer_(sekaiju),4,48,
+ndkazh,1,48,
+nayuta_(una),1,48,
+natsumi_(gurande),4,48,
+natsume_riu,1,48,
+nassss,1,48,
+nappii_(nappy_happy),1,48,
+naoise,4,48,
+nao_(okt8538),1,48,
+nanase_ren,4,48,
+nameless_king,4,48,
+nakaba,1,48,
+nailah_(fire_emblem),4,48,
+mystia_lorelei_(cosplay),0,48,
+muhut,1,48,
+mu_(caligula),4,48,
+mori_yoshihara,4,48,
+monza_(saeumon),1,48,
+monica_adenauer,4,48,
+monaco_(hetalia),4,48,
+momoko_(bombergirl),4,48,
+moment_(moment_607),1,48,
+mold,0,48,
+moji_(mojimozis),1,48,
+mogomaco,1,48,
+mofu_mofuko_(ryusei_hashida),4,48,
+mochikushi,1,48,
+mocco_(mocco_san1),1,48,"mocco))),mokko_(kamiko!)"
+mmk,1,48,
+mizz_peachy_(voice_actor),1,48,"mizz_peachy,peachymizz"
+mizuki-chan_(kanabun),4,48,
+miyako_yoshika_(cosplay),0,48,
+miwa_uni,1,48,
+mivioppai,1,48,
+miss_spencer,4,48,
+miruru_(rune_(pixiv_25170019)),4,48,
+mirai_yashima,4,48,
+minagi_(gogogo),1,48,
+milk_(tonpuu),4,48,milk_(tongpoo)
+mikado_mariya,4,48,
+mihara_chiharu,4,48,
+midori_(green_tea),1,48,
+microsd_(pibo),1,48,pibo
+microa,1,48,
+mg3_(girls'_frontline),4,48,mg3_(girls_frontline)
+merumeru626,1,48,
+merontomari,1,48,
+melissa_moretti,4,48,
+meliadoul_tengille,4,48,meliadoul_tingel
+mekabu,1,48,
+mek_number,1,48,
+mei_mei_(jujutsu_kaisen),4,48,
+megane_(artist),1,48,
+megalo_box,3,48,
+meeting,0,48,
+medic_(sekaiju_4),4,48,
+maya_(culture),0,48,
+mattsu,1,48,
+matsuo_masago,4,48,
+matsugane_youko,4,48,
+matsu_(sekirei),4,48,
+matoki_misa,1,48,
+matmaj,1,48,
+masakikazuyoshi,1,48,
+masakano_masaka,1,48,
+marujin,1,48,
+marufuji_hirotaka,1,48,
+maru_(maru1105),1,48,"maru1105,maru_(pixiv587569)"
+margit_eberbach,4,48,
+marc_(red_barrel),4,48,
+manya_(dq4)_(cosplay),0,48,
+mamiya-kunchi_no_itsutsugo_jijou,3,48,
+malty_s_melromarc,4,48,
+makoto_yabe,1,48,
+makishima_shougo,4,48,makishima_shogo
+makie_fujiyuki,1,48,
+makarori_(noah),1,48,
+mahiro_(akino-suisen),1,48,
+magicalmushroom,1,48,
+magenta_magenta,4,48,
+magatsu_izanagi,4,48,
+magamoto,1,48,
+mafuyu_hemp,1,48,
+mada_(shizhou),1,48,corpse_(pixiv)
+macota_(cookie),4,48,
+machio_naruzou,4,48,
+m3_submachine_gun,0,48,m3_greasegun
+lymsleia_falenas,4,48,
+luyheg,1,48,fangosuta
+luka_(shironeko_project),4,48,
+ludmila_lourie,4,48,
+lotus_eaters,3,48,
+looking_at_flowers,0,48,
+long28,1,48,
+long-tailed_tit,0,48,
+lom_(lom_lom_8),1,48,
+little_enterprise_(azur_lane),4,48,
+lisa_pacifist,4,48,
+ling_shen_hua,4,48,
+lilianei,1,48,
+ligton1225,1,48,
+licking_panties,0,48,panty_licking
+liche_(wiggly_liche),1,48,
+liang_feng_qui_ye,1,48,
+leopard_(artist),1,48,
+leon_geeste,4,48,
+leivinia_birdway,4,48,
+leather_bikini,0,48,
+league_card,0,48,
+leadin_the_sky,1,48,
+lard_(kumazakiyuta),1,48,
+kyuukyoku_shinka_shita_full_dive_rpg_ga_genjitsu_yori_mo_kusoge_dattara,3,48,full_dive
+kyado_(amaterasu),1,48,
+kuzumotsu,1,48,
+kusuke,1,48,
+kushikawa_hatoko,4,48,
+kusano_kouichi,1,48,
+kurosaki_asami,4,48,
+kuroneko_w1nter,1,48,
+kuromiko_shoujo,1,48,
+kuroha_(rockluo213),1,48,
+kurita_shin'ichi,1,48,
+kuratch,1,48,
+kujou_kiyo,1,48,kiyo_(nbs199)
+kricketot,4,48,
+kousaka_yami,1,48,
+koufukutei_yumeko,1,48,mayuma_yumeko
+koucha_shinshi,4,48,tea_gentleman
+kore_(korewa13th),1,48,
+kochiya_yuriko,4,48,
+kochiya_hizuki,1,48,kochiya_hiduki
+kochira_koufuku_anshin_iinkai_desu_(vocaloid),3,48,
+kleinlight,1,48,
+kiyoichi_(acacia_soukyoukai),1,48,
+kitazume_hiroyuki,1,48,
+kiryuu_touga,4,48,
+kirby:_triple_deluxe,3,48,
+kine_(warabi_mk501),1,48,
+kikuchi_youko,1,48,
+kiddie_ride,0,48,
+kida_mochi,1,48,
+kevin_ethan_levin,4,48,
+keltan,4,48,
+kellzallday,1,48,
+kei-chan_(atlas_kei),1,48,atlas_kei
+kazuha_(kazuha1003),1,48,
+kazto_furuya,1,48,
+kawai_masaki,1,48,
+katsuragi_hana,4,48,
+katia_grineal,4,48,
+katagiri_(a1466502),1,48,
+kasuga_rurito,1,48,"kasuga_ruri_(rurito0725),ruriruri"
+kashisuover,1,48,
+karina,1,48,
+kaoruko_(unkrk55),1,48,
+kano_(kanokano44),1,48,
+kan_satomi,1,48,
+kamuinii,1,48,
+kamiowl,1,48,
+kamen_rider_evol,4,48,
+kamen_rider_diend,4,48,
+kamemushi_(hoozuki),1,48,
+kakusei_kenkyuu_idol_lab,3,48,
+kakuchou_no_ou,1,48,
+kakmxxxny06,1,48,
+kakkou_(su),1,48,
+kakinouchi_narumi,1,48,
+kakincho,1,48,8pbvpxuc55vthdq
+kagurazaka_yuna,4,48,
+kaedeno_yuu,1,48,
+kacka,1,48,
+jyuuji,1,48,
+juuzawa_juu,4,48,
+juuden,1,48,
+jusis_albarea,4,48,
+june_lin_milliam,4,48,
+john_(kakurenbo),1,48,kakurenbo.
+johanna_(pokemon),4,48,
+jmanvelez,1,48,kaigetsudo
+jinn_(housamo),4,48,jinn_(tokyo_houkago_summoners)
+jinkou-kuu,1,48,
+jamrolypoly,1,48,
+jamgom,1,48,
+jacky_(aerial_rave),1,48,aerial_rave
+jackie_(arknights),4,48,
+jacket_around_neck,0,48,
+izumi_yuuji_(trace_kouhosei),1,48,
+iwane_masaaki,1,48,
+iwaha_(iwabajunki06),1,48,
+itokatsu_(garou),4,48,
+isumi_(yangyan),1,48,
+isone_kotoha,4,48,
+iseki_shuuichi,1,48,egocoroking
+iroha_uta_(vocaloid),3,48,iroha_uta
+ippen_shinde_miru?,0,48,
+inuzuka_tsumugi,4,48,
+inui_kentarou,1,48,
+intruder_(girls'_frontline),4,48,
+interrogation,0,48,
+inkanii,1,48,
+indee,1,48,
+impossible_armor,0,48,
+ikra_(katacoly),1,48,
+ikea,3,48,
+ikara,1,48,
+ignia_(elsword),4,48,
+igashiko,1,48,
+idass_(idass16),1,48,idass_(1155101099)
+ichiru_(yuzu-an),1,48,ichiru_(artist)
+ichijou_haruhiko,4,48,
+ichi_rin,1,48,
+ice_fishing,0,48,
+ice_cream_hair_ornament,0,48,
+hyoubu_kyousuke,4,48,
+hunter_(the_owl_house),4,48,
+how_to_draw_manga_redraw_challenge_(meme),0,48,how_to_draw_manga_redraw_challenge
+hotathino,1,48,
+hoshino_arika,1,48,
+hoodier,1,48,
+honokan,1,48,faintly_citrus
+hong_kong,0,48,
+homunculus,0,48,
+holding_cue_stick,0,48,
+hiyoko_no_ko,1,48,
+hisuian_sneasel,4,48,
+hisui_(kimochi),1,48,
+hirotake,1,48,
+hiro_(h-net),1,48,
+hindu_mythology,3,48,
+hinawa,4,48,
+himamushi_nyuudou,1,48,
+hikaru_ga_chikyuu_ni_itakoro,3,48,
+hihizaru_badass,1,48,
+higashiyama_hayato,1,48,
+hida_kizuna,4,48,
+hibarigaoka_yuki,4,48,
+hi-go!,1,48,
+herlock_sholmes,4,48,sherlock_holmes_(gyakuten_saiban)
+heremia,1,48,
+hei_jin,1,48,
+heal_ball,0,48,
+hazel0217,1,48,
+hayashi_ichirou,1,48,
+hayase_fukami,4,48,
+hayapi_(sinsin08051),1,48,sinsin08051
+hattori_junko,4,48,
+hatsukoi_limited,3,48,
+hasumi_eri,4,48,
+hashiyamoto,1,48,inphan
+hasekura_(hachinochun),1,48,
+harusaki_chiwa,4,48,
+harurukan,1,48,haruka_(yakitoritabetai)
+harukazedori_ni_tomarigi_wo,3,48,
+haru_(primavera),1,48,
+haneto,1,48,
+hanami_yuzuka,4,48,
+hanakanzarashi,1,48,
+hanaan,1,48,
+hamigaking,1,48,
+half-shirt,0,48,
+hakuryuu_(mixi_max_zhuge_kongming),0,48,
+hajimete_no_oisha-san,3,48,
+hair_bow_removed,0,48,
+haidara,1,48,
+haemori_ako,1,48,
+hachikuji_mayoi_(cosplay),0,48,
+ha9na,1,48,hana09487817
+gyuunyuu_(mashika),1,48,
+guzzlord,4,48,
+guu_(jungle_wa_itsumo),4,48,
+guru_(nicocco),1,48,
+gurren,4,48,
+gundam_g-saviour,3,48,
+gundam_ez8,4,48,
+guchiaki,1,48,
+gsh-18_(girls'_frontline),4,48,gsh-18_(girls_frontline)
+grey_asa,1,48,
+great_saiyaman,4,48,
+grape_stomping,0,48,
+gradient_neck_ribbon,0,48,
+gplnbeat,1,48,
+gouache_(medium),0,48,gouache
+goshingyu-sama_(kemono_friends),4,48,
+goroumaru,1,48,
+google_play,0,48,
+gomoku,1,48,
+golett,4,48,
+goemon1110,1,48,
+glycyrrhizae,1,48,
+glowing_arrow,0,48,
+girl_(shinitagari_shoujo_to_shokujinki-san),4,48,
+gi_(melmail),1,48,
+ghost_in_the_shell_arise,3,48,
+ggatip,1,48,
+georgia_max_coffee,0,48,
+gauma,4,48,
+gapangman,1,48,
+ganbaru_(woainini),1,48,"ganbaru_(woaini),soradegowasu"
+galore,1,48,
+galilei_donna,3,48,galileidonna
+gaihan_umeboshi_mitchell,1,48,
+g_perarikku,1,48,
+g3_(g310b3),1,48,g3bit10
+g.g.lemon,1,48,
+fuurisuto,1,48,
+futari_ecchi,3,48,
+futabaaf,1,48,
+futaba_anzu_(cosplay),0,48,
+fururu_(tales),4,48,
+furea_(genjuu_no_mori),1,48,
+funakubo_hiroko,4,48,
+fukuoka_tarou,1,48,
+fukuhara_ann,4,48,
+fujisaki_yuusuke,4,48,
+fujino_shion,4,48,
+frank_west,4,48,
+francis_de_lariatte,1,48,
+floral_flowlove,3,48,
+floating_hat,0,48,
+fled,1,48,
+film_border,0,48,
+fat_cat_(ff14),4,48,
+fare,1,48,
+fan_hair_ornament,0,48,
+exusiai_(city_rider)_(arknights),4,48,
+executioner_smough,4,48,
+evangelion:_1.0_you_are_(not)_alone,3,48,
+eunram,1,48,
+etidekailo,1,48,
+error_dot,1,48,
+erin_(kemono_no_souja_erin),4,48,
+eri_na,1,48,
+enne_kl,1,48,
+enn_matien,1,48,"ennhentai,ennmatien"
+eneru_(enepuni),1,48,enepuni
+emdo_(norabbit),1,48,norabbit
+elza_(ishuzoku_reviewers),4,48,
+elgyem,4,48,
+electric_toothbrush,0,48,
+eigetu,1,48,
+effole_(fairy_fencer_f),4,48,
+ecchi_na_bunny-san_wa_kirai?,3,48,"do_you_like_horny_bunnies?,do_you_like_horny_bunnies?,ecchi_na_bunny-san_wa_kirai"
+eau,1,48,
+ear_bar,0,48,
+duck_hair_ornament,0,48,
+dragon_(dakemakura),1,48,
+dr._molly_simon,4,48,
+doublade,4,48,
+doremy_sweet_(baku),4,48,
+doomguy_(cosplay),0,48,
+domik,1,48,
+dog_lead,0,48,
+dobermann_(lieutenant)_(arknights),4,48,dobermann_(ensign)_(arknights)
+do_konjouuo,1,48,
+djcomps,1,48,
+disuto,1,48,
+distant,0,48,
+diana_jakobsson,1,48,
+dha315,1,48,
+despa_(ousama_ranking),4,48,
+demon_power_(elsword),4,48,
+delita_heiral,4,48,delita_hyral
+death_gun,4,48,
+dclockwork,1,48,dusk/dawn_(artist)
+dark_anus,0,48,
+dancing_pallbearers_(meme),0,48,dancing_pallbearers
+daizan_(mount_position),1,48,mount_position
+daisy_oak,4,48,"daisy_(pokemon),nanami_(pokemon),nanami_(pokemon),ookido_nanami"
+daiso,1,48,
+cure_flower,4,48,
+crazy_laugh,0,48,
+cqqz0707,1,48,
+cow_mask,0,48,
+covering_nose,0,48,
+cossack_dance,0,48,
+coruthi,1,48,
+common_chimpanzee_(kemono_friends),4,48,
+comfy,0,48,
+colored_pussy,0,48,
+collar_up,0,48,
+cofi_(eternal),1,48,
+cobalion,4,48,
+clutching_clothes,0,48,
+clothes_on_shoulders,0,48,
+clogs,0,48,
+cleric,0,48,
+claire_rouge,4,48,
+cinderella_(vocaloid),3,48,
+chuuou_academy_school_uniform,0,48,chuo_academy_uniform
+chonbo_(artist),1,48,
+choco_(rune_(pixiv_25170019)),4,48,
+chiya58,1,48,
+chinchilla_ears,0,48,
+chiffon_(fresh_precure!),4,48,chiffon_(precure)
+chibinon,1,48,
+cheunchin,1,48,
+chemicals,0,48,
+changchun_(warship_girls_r),4,48,
+chamber_dragonmaid,4,48,
+ceejles,1,48,
+cauchemar_(p&d),4,48,
+catherine_kyoubashi,4,48,
+castlevania:_aria_of_sorrow,3,48,
+carnival,0,48,
+carcano,0,48,
+carbon_roller_(splatoon),0,48,
+candy_cane_(rumble_roses),4,48,
+camouflage_hoodie,0,48,
+call_of_duty:_black_ops,3,48,
+c.seryl,1,48,
+bruenhilde_(azur_lane),4,48,brunhilde_(azur_lane)
+brown_hair-chan_(ramchi),4,48,
+breast_band,0,48,
+brazier,0,48,
+boxman,1,48,
+bougainvillea_(flower),0,48,
+boss_coffee,0,48,
+bosacius_(genshin_impact),4,48,
+borokuro,1,48,
+bonten,1,48,
+bojue_yu_yaojing_695657,1,48,
+bobo_(6630978),1,48,
+blue_card,0,48,
+blowing_nose,0,48,
+binding_discoloration,5,48,
+bicycle_seat,0,48,
+better_call_saul,3,48,
+benjamin_button_suukina_jinsei,1,48,
+bati15,1,48,
+barleyshake,1,48,
+banbuu_(zeromugen),1,48,
+bakki,1,48,
+badamon,1,48,"user_gsdy3725,yai_sea_ball"
+b-25_mitchell,0,48,
+azumawari_(azumofu),1,48,
+azazel_(last_origin),4,48,
+avatar_base,0,48,
+autodesk_3ds_max_(medium),5,48,
+attic,0,48,
+atelier_viorate,3,48,atelier_viorate_alchemist_of_gramnad_2
+ashujou,1,48,
+asashin_(asn),1,48,
+asaki_yukiko,4,48,
+arzuros_(armor),4,48,
+arval_(fire_emblem),4,48,
+arttoru,1,48,artor_design
+artsy-theo,1,48,
+art_of_neight,1,48,nate_artuz
+arl,1,48,
+arisaka_hatsune,4,48,
+aries_shion,4,48,
+ariel_(kumo_desu_ga_nani_ka?),4,48,
+arbuz_budesh,1,48,
+arara_milk,4,48,
+arakawa_hiromu,1,48,
+aqua_tank_top,0,48,
+ao_fujimori,1,48,pio_(doragonheart)
+antweiyi,1,48,
+another_code,3,48,trace_memory
+ankle_belt,0,48,
+angled_foregrip,0,48,
+andromeda_shun,4,48,
+andou_tsubaki,4,48,
+andou_minawa,4,48,
+amou_mari,1,48,
+amido_(compassion273),1,48,
+amefukura_art,1,48,
+amazio_komeko,1,48,
+alpaca_huacaya_(kemono_friends),4,48,
+akuma_homura_(cosplay),0,48,
+akina_(schism),1,48,
+akihila,1,48,sakuma_shiiya
+akagi_masafumi,4,48,
+aizawa_yasumi,4,48,
+aizawa_shin,1,48,
+ahsiu,1,48,
+ahnei,1,48,
+after_suko,1,48,
+adolfine_galland,4,48,
+addy_(@vegeebs),1,48,
+actor_connection,0,48,actor_allusion
+abel_(street_fighter),4,48,
+abe_(f!mixture),1,48,
+a.f.o,1,48,
+^p^,0,48,
+7:24,1,48,
+720_72,1,48,
+300_heroes,3,48,
+2gong_(9ujin_),1,48,"20_chain,mela_(rbw1s)"
+2ch.ru,3,48,
+00kashian00,1,48,
+001machi,1,48,
+zonana,1,47,
+zipper_leotard,0,47,
+zipgaemi,1,47,
+zima_(ready_to_go)_(arknights),4,47,
+ziggs,4,47,
+zges,1,47,
+zeri_(league_of_legends),4,47,
+zenzai_(zenzaio72),1,47,
+zarameru_(tsukumo),1,47,
+zap-nik,1,47,
+yuusha_tokkyuu_might_gaine,3,47,brave_express_might_gaine
+yuuki_tsubasa,1,47,
+yuuhei,1,47,
+yuudadou,1,47,
+yuri_ai,1,47,
+yurako-san_(tama),4,47,
+yuragi_(nukomomo),1,47,
+yuno_(p2eocene),1,47,
+yumeha_tseru,1,47,
+yukimura_kaname,1,47,
+yukimi_(yagi),4,47,
+yukikaze_(sovereign_of_the_swing)_(azur_lane),4,47,yukikaze_(swings-sama)_(azur_lane)
+yukana,4,47,
+yugo_asuma,4,47,
+youei_(maiko),1,47,
+you_hashira,1,47,
+yotti,1,47,y9tti
+yotsuya_yumi,4,47,
+yoruda,1,47,
+yomotsuka_makoto,4,47,
+yomogi_(monster_hunter),4,47,
+yinori,1,47,minoriqq
+yinlu_tongzi,4,47,
+ying_jing_meng,1,47,
+yeti_(mu_kaiten),1,47,
+yeorem,1,47,
+yellow_robe,0,47,
+yellow_bloomers,0,47,
+ye_(ran_chiiipye),1,47,
+yadu_nadu,1,47,
+xxxx_saki,1,47,
+xsinon,1,47,
+x-shaped_eyewear,0,47,
+wo_chi_xiangjiao_pi,1,47,dingding_tu
+wingtemple,1,47,
+wilted_ahoge,0,47,
+whitter,1,47,
+white2013,1,47,
+weizen,1,47,
+wei_wuxian,4,47,
+wata_(rakopepa),1,47,rakopepa
+washizuka_shou,1,47,
+wash,0,47,
+warren_louw,1,47,
+wari_(nirodo26),1,47,
+warabimochi_kinako,1,47,
+wagamama_high_spec,3,47,
+vuxer,1,47,homuntan
+vullaby,4,47,
+vorupi,1,47,
+vocaloid_(sour-type_ver),0,47,
+vivian_james,4,47,
+virtual_youtuber_shiten'nou,0,47,
+vincent_nightray,4,47,
+vanilla_(v-palace),1,47,
+vampire_(the_breath_of_spring)_(azur_lane),4,47,
+vafar7,1,47,
+uzuki_takeru,1,47,
+utawarerumono_radio,0,47,utawareru_mono_radio
+usao_(313131),1,47,
+urue,1,47,
+unown_p,4,47,
+unoobang,1,47,
+uni_(vocaloid),4,47,
+unbuttoned_skirt,0,47,
+ukitake_juushirou,4,47,ukitake_jyuushirou
+uboar,1,47,
+type-dog,1,47,
+tweetdian,1,47,
+tungsten_(kwfr4544),1,47,
+tuck,1,47,
+tube_top_pull,0,47,tubetop_pull
+tsuuyakukan_reni,1,47,
+tsuuma,4,47,
+tsuruhime_yachiyo,4,47,
+tsunano_(koi_pink),1,47,
+tsumugi_wenders,4,47,
+tsujin_bohboh,1,47,cheeeeezi
+tsugaru_(co-walker),1,47,
+trans-am,0,47,
+toumei_answer_(vocaloid),3,47,
+toufu_(toufu_53),1,47,
+toto_(lom),4,47,
+toruglose,1,47,
+torahime,4,47,
+tomohi,1,47,
+tom_skender,1,47,moxie2d
+tokutokenzen,1,47,
+tohsaka_rin_(formalcraft),4,47,formalcraft
+toake_mikage,1,47,
+to_gemichi,1,47,
+tlla,1,47,
+tiramisu651,1,47,
+time_travel,0,47,
+tianya_beiming,1,47,
+thundercats,3,47,
+the_star_(tarot),0,47,
+the_sealed_esoteric_history,3,47,
+the_maa,1,47,
+the_dream_of_the_fisherman's_wife,3,47,
+the_batter_(off),4,47,
+tetsujin_28,4,47,
+tes_(unpre),1,47,
+tenzen_(netspike),1,47,
+tent_interior,0,47,
+tatara_kogasa_(cosplay),0,47,
+tarou_(shironeko_project),4,47,
+taranboman,1,47,taranbo
+taniya_raku,1,47,
+tanikku,1,47,
+tania_(dq6),4,47,
+tamakake,1,47,
+takanoru,1,47,
+takano_hayato,1,47,
+takanashi_kiyomi,4,47,
+takahashi_kouta,1,47,
+tael,4,47,
+t_misaomaru,1,47,
+sys.ao,1,47,
+syou_(crecre),1,47,
+synergetic_suit,0,47,
+symposium_of_post-mysticism,3,47,
+sword_oratoria,3,47,
+sweet_ann,4,47,
+swatty_(can_can_bunny),4,47,
+suzushiro_(daikon793),1,47,
+suzume_yuu,1,47,
+suparaisu,1,47,
+suo_(sndrta2n),1,47,
+sun_hair_ornament,0,47,
+summertime_record_(vocaloid),3,47,
+summer_lesson,3,47,
+summer-d_(dodojune),1,47,
+sukoyaka_middle_school_uniform,0,47,
+sukimi,4,47,
+suiso_(owp),1,47,
+suica,3,47,
+strictly_mecha,1,47,
+strib_und_werde,1,47,
+strawberry_syrup,0,47,
+straw_hats_jolly_roger,0,47,
+star_conflict,3,47,
+star_color_pen,0,47,
+star-ring,1,47,rla058058
+srro_yo,1,47,
+splattershot_pro_(splatoon),0,47,
+soramame1110,1,47,
+sora_no_tori,1,47,
+solanikieru,1,47,
+smolev,1,47,
+slender_man,4,47,
+slakoth,4,47,
+sky_(shantae),4,47,
+sir_aaron,4,47,
+sin_gun_woo,1,47,
+silayloe,1,47,
+sigmart03,1,47,
+side-tie_shorts,0,47,
+shrie,1,47,
+shoujo-tachi_wa_kouya_wo_mezasu,3,47,
+shoko_(super_real_mahjong),4,47,
+shirokami_gakuen,3,47,
+shiro_tsugumi,1,47,
+shiratama_(xsrtmx),1,47,
+shirataki,1,47,
+shirasu_don,1,47,
+shirase_ui,4,47,tachibana_ui
+shirako_mugi,1,47,
+shinonome_mozuku,1,47,
+shino_(.hack//),4,47,
+shine_hausen,4,47,
+shindou_mikeko,1,47,
+shindou_erina,4,47,
+shimo_hisae,4,47,
+shima_yukiwa,1,47,
+shikinyan,1,47,shiki_(pixiv380383)
+shikibu_honoka,4,47,
+shiina_mahiru,4,47,
+shihou_(g-o-s)_(style),0,47,
+shi_oo,1,47,
+shenqi_de_(9),1,47,user_cypj3485
+sharktuna,1,47,
+shands,1,47,
+sgt_lonely,1,47,sola_(sgt_smile)
+seth,1,47,
+seshiya,1,47,
+sekiguchi_yuria,4,47,
+scrap_iron,1,47,feitie
+scathach_(fire_emblem),4,47,"skasaha_(fire_emblem),ulster_(fire_emblem)"
+scarz,3,47,
+sayuri_(k_pring),4,47,
+saya_(casual)_(blue_archive),4,47,
+sawaki_ken,1,47,ruyouguizhu
+saul_goodman,4,47,"james_mcgill,jimmy_mcgill"
+satou_odori,1,47,sato_odori
+sasame_yaya,4,47,
+sapphira_nyx,4,47,
+saotome_shino_(chigusa_minori),4,47,
+santa_bra,0,47,
+sano_naoi,1,47,
+samurai_flamenco,3,47,
+samaru_(seiga),1,47,
+salome_(fate),4,47,salome_(fate/grand_order)
+salmiakki,0,47,
+sakurada_maon,4,47,
+sakura_inu_(itoyatomo),1,47,
+saki_usagi,1,47,
+sakamiya_tsuto,1,47,miyasaka_ori
+sailor_uranus_(cosplay),0,47,
+sagami_(dei_shirou),4,47,
+saeki_mika,4,47,mika_(k-on!)
+saber_(type-moon_racing)_(fate),4,47,
+s.o.n.g._uniform,0,47,
+ryuusei_world_actor,3,47,
+ruuko-san,4,47,
+runako,1,47,
+rumaki,1,47,
+rugatsuki,1,47,
+rudo_(rudorudo0917),1,47,
+rubber_soul,4,47,
+rotan,1,47,
+rope_ladder,0,47,
+rokuon,1,47,
+robokeh,1,47,
+roberto,4,47,
+riri_(ririwaldorf),1,47,
+riki_(archf),1,47,
+rider_gashat,0,47,
+ride_armor,4,47,
+reyna_(valorant),4,47,
+reverse_x-ray,0,47,
+reverse_bikini_armor,0,47,
+retei,1,47,
+resistance_japan,0,47,
+ren_huozhe,1,47,
+remora_works,1,47,
+rekenber_guard,4,47,
+refrain_no_chika_meikyuu_to_majo_no_ryodan,3,47,
+redlark_(r083),1,47,
+red_sweater_vest,0,47,
+red_lightning,0,47,
+rasson,1,47,
+raspberry_hair_ornament,0,47,
+raind,1,47,
+rack,0,47,
+queen_marika_the_eternal,4,47,
+qoom,1,47,genb
+purple_mii,1,47,
+purestream_(arknights),4,47,
+puppypaww,1,47,
+pupitar,4,47,
+punished_pigeon,1,47,
+ponnu_(nikeytina),1,47,nu_(naoyahirota61217010)
+pomki,1,47,skulloven
+polka_dot_sarong,0,47,
+polka_dot_gloves,0,47,
+poke_puff,0,47,
+ploki,1,47,
+playing_flute,0,47,
+player_2_(cloba),4,47,
+pixiv's_virtual_youtuber_audition,3,47,
+pisuta_(yamashiro),1,47,
+pink_moon_stick,0,47,
+pikaremon,1,47,
+phantasy_star_online_2_new_genesis,3,47,
+peter_griffin,4,47,
+pet_bed,0,47,
+pesogin,1,47,
+perio_67,1,47,
+penny_loafers,0,47,
+pastahands,1,47,
+parvati_(p&d),4,47,
+paolo_antonio_aguasin,1,47,
+panne_(fire_emblem),4,47,velvet_(fire_emblem)
+paku_paku_desuwa,0,47,
+pakapom,1,47,
+paimon_genshin7,1,47,
+pablo_uchida,1,47,
+p3ta_(yio),1,47,qwq1151h
+p2yong,1,47,
+p2020_(pistol),0,47,
+ouka_mai,1,47,mai_(pixiv282116)
+otxoa60,1,47,
+otonari_no_tenshi-sama_ni_itsu_no_mani_ka_dame_ningen_ni_sarete_ita_ken,3,47,the_angel_next_door_spoils_me_rotten
+oshimoto_yuri,4,47,
+oropi,1,47,
+orokanahime,1,47,
+organic,0,47,
+orbital_path,0,47,
+oppi_(ksop28),1,47,
+operator_21o,4,47,
+ootengu_(onmyoji),4,47,daitengu_(onmyoji)
+oooqqq,1,47,
+onio,1,47,
+oneshot_(game),3,47,
+onee-chan_no_yuuwaku,3,47,
+omi_(tyx77pb_r2),1,47,
+okotan_(dewdrops),1,47,okota_(artist)
+ojyou,1,47,
+ogasawara_akiko,4,47,
+odaiba_middle_school_uniform,0,47,
+o_(jshn3457),1,47,
+nyoon,1,47,
+nurse_dragonmaid,4,47,
+nurse_akali,4,47,
+ntm,1,47,
+norun,1,47,
+norse_mythology,3,47,
+norada,1,47,
+non-circular_lens_flare,0,47,
+noir_vinocacao,4,47,
+noguchi_takayuki,1,47,
+no_nut_november,0,47,
+nishijima_masumi,4,47,
+nisha_labyrinth_(elsword),4,47,
+nima_(nimamann),1,47,
+niizuki_(azur_lane),4,47,
+nicole_(usako),1,47,
+nichi_keito,4,47,
+nezunezu,1,47,
+newmoonshira,1,47,
+neva,1,47,
+neumo,1,47,"5cm_housamo,be_(2368230)"
+neota,1,47,
+nemigi_tsukasa,1,47,
+nemeneko_6,1,47,
+nekomancer_(granblue_fantasy),4,47,
+nekojiri,1,47,
+neko_(naomi),4,47,
+neilos,1,47,
+nehani_(tworship),1,47,
+nazi_flag,0,47,
+natsume_masako,4,47,
+natsuhachi,1,47,
+naporu,1,47,
+napoleon_crossing_the_alps,3,47,
+nanahoshi_ren,4,47,
+nametake_(nekoyasya12172),1,47,
+nakau,3,47,
+naijiaer,1,47,
+nagiriku912,1,47,
+nagarakawa_shiraku,1,47,
+nabeya_sakihana,1,47,sakihana
+myuutau_tadakichi,1,47,
+myuga66666,1,47,
+mutilation,0,47,
+musse_(falkyrie_no_monshou),4,47,
+multicolored_sarong,0,47,
+mullany_(azur_lane),4,47,
+motoyama_tomomichi,4,47,
+moroda_shiori,4,47,
+morino_kiriko,1,47,mori_no_kiriko
+morimoto_chio,4,47,
+morihaw,1,47,
+mootecky,1,47,
+monotiina,1,47,
+mon-chan,1,47,
+mom_29_mom,1,47,
+mokopekko,1,47,
+moda_(mo_da_3),1,47,prut3
+mochizuki_yomogi,1,47,
+mochizuki_nonoka,4,47,
+mochizuki_anko,1,47,babuix
+mochiyuki_(gigfor1),1,47,
+mmm_(xbit),1,47,
+mizusawa_nodoka,1,47,
+miysin,1,47,
+miura_kentarou,1,47,kentaro_miura
+miura_hajime,1,47,
+mitsuru_(habihapi),1,47,
+misakana,1,47,
+miri_(miri0xl),1,47,
+miracan,1,47,
+mira_kimishima,4,47,"naomi_kimishima,weaver_nozomi"
+miotama,1,47,
+mion_(htol#niq),4,47,
+minnku,1,47,
+ming_(5unri5e666),1,47,
+minatsuki_(m1natsuk1),1,47,m1natsuk1
+miles_(gyee),4,47,
+mikuroron,1,47,
+mikoze_yui,4,47,
+mikage_sakurako,4,47,
+mihashi_(re4_glo),1,47,
+midori-chan_(myslot),4,47,
+mexican_flag,0,47,
+meunhongcha,1,47,fm_r3dslov3
+methynecros,1,47,
+metal_max,3,47,
+metadoll,1,47,
+mellow_rag,1,47,
+meisamu,1,47,
+megurine_luki,4,47,megurine_luka-kun
+megazone_23,3,47,
+megawatt_(arms),0,47,
+mega_metagross,4,47,
+medb_(first_ascension)_(fate),4,47,
+mclaren,0,47,
+mazinkaiser_(robot),4,47,
+mayu-tan_no_kung_fu,0,47,
+matthew_(yo_matthew),1,47,
+matsuse_daichi,1,47,
+master_hand,4,47,
+mashiro_(solopipb),4,47,
+maru_(hachi_47923),1,47,
+martha_(santa)_(fate),4,47,
+maria_(ff2),4,47,
+mao_xin'ai,1,47,
+manyuu_chifusa,4,47,
+manbou_no_ane,1,47,
+manaka_de_ikuno!!,3,47,
+mana_(artist),1,47,
+makoto_osamu,1,47,
+makinakid,1,47,
+majo_koi_nikki,3,47,
+majin_bone,3,47,
+magical_emi,4,47,
+magical_amber,4,47,
+macchaume,1,47,
+lvl3toaster,1,47,
+luye_yuan,1,47,
+lumu_yuanxiang,1,47,
+love_fetish,3,47,
+loona_(helluva_boss),4,47,
+lobsteranian,1,47,
+little_nightmares,3,47,
+liren44,1,47,
+lipstick_mark_on_neck,0,47,
+lina_(interlude),1,47,
+lilia_(null),4,47,
+licking_paw,0,47,paw_licking
+libra_douko,4,47,libra_dohko
+leonard_bistario_harway,4,47,
+lemonmelon00,1,47,
+leather_shorts,0,47,
+laurent_(fire_emblem),4,47,
+large_pasta,1,47,
+land_of_caromag,3,47,
+lactic_acid_bacteria,0,47,
+lace-trimmed_capelet,0,47,
+kyouko's_father_(madoka_magica),4,47,
+kyattsu,1,47,
+kuzel_(bonolangje),1,47,
+kuuyuu,1,47,
+kusunoki_kaho,4,47,kaho_(watamote)
+kusaka_kou,1,47,
+kurose_yuuki,1,47,
+kuromasa_shisei,1,47,
+kuromajo-san_ga_tooru!!,3,47,kuro_majo-san_ga_tooru!!
+kuroinu9,1,47,
+kuroiani,1,47,
+kurogane_(blackxsilver),1,47,kurogane_(artist)
+kurata_yumi,1,47,
+kurai_yonaka,4,47,
+kurai_masaru,1,47,
+kurai_(cry),1,47,
+kunagisa_tomo,4,47,
+kumamiya,1,47,
+kuma_(2ch),4,47,
+kuchinawa,4,47,
+kronshtadt_(begin_the_rush!)_(azur_lane),4,47,
+krebskrum,4,47,
+koyopi,1,47,
+koya,1,47,
+kouzuki_(majc8345),1,47,kinoe_tsuki
+kotono,1,47,
+kotoha_(kotoha65),1,47,
+kotetu_han,1,47,
+kotaken,1,47,
+kosame_koori,1,47,
+konoshita_kiyomasa,1,47,
+konoha_no_sekai_jijou_(vocaloid),3,47,
+kondou_(acid),1,47,
+komala,4,47,
+komagome_azuzu,4,47,
+kokose,1,47,
+knora,1,47,
+kiyosumi_kuro,4,47,kiyosumi_kurou
+kitsutsuki_(dzgu4744),1,47,
+kitora_ai,4,47,
+kitami_reika,4,47,
+kissing_breast,0,47,breast_kiss
+kisaragi_maaya,4,47,
+kirsten_(arknights),4,47,
+kirisawa_tokito,1,47,
+kirigiri_jin,4,47,
+kirie_nozomi,1,47,
+kira_(kira_dra),1,47,
+kimura_fumie,4,47,
+killer_(one_piece),4,47,
+kent_(azur_lane),4,47,
+kenshin_kagemitsu,4,47,
+kel-tec_ksg,0,47,
+keira_(haevest),4,47,
+kcn,1,47,
+kazura_enji,1,47,
+kazami_yuuji,4,47,
+kawwa,1,47,
+kawaniwa,1,47,
+kawamoto_toshihiro,1,47,
+kawaii_rowa,1,47,
+katyusha_(gindoro),4,47,
+katou_umi,4,47,
+kataasa-ko,4,47,
+kasumi_(blue_archive),4,47,
+kashiwara_mana,1,47,purupurutamago45
+karintou1485,1,47,
+kapu_rinko,4,47,
+kanti15,1,47,
+kano_(coyotehunt),1,47,
+kanimiso_(juutilainen77),1,47,
+kanamura_will,1,47,
+kamome,1,47,
+kamen_america_(comic),3,47,
+kamado_nezuko_(cosplay),0,47,
+kama_(satoyan),1,47,
+kaiend,1,47,
+kagura_hinata,4,47,
+kagerofu,1,47,
+kagehira_mika,4,47,
+kabashima_yousuke,1,47,
+k_no_hito,1,47,
+k_nekoneko,1,47,
+k2pudding,1,47,
+junka-sakura,1,47,
+jun_(kyurisin),1,47,
+jugemu_(qqkyon),1,47,
+jougen,1,47,
+johssnny,1,47,
+johnnie,1,47,
+jinzou_enemy_(vocaloid),3,47,
+jingle_(mhb729),1,47,
+jenma-chan,4,47,
+james_hotate,1,47,nisehoya
+izou_(one_piece),4,47,
+iyayo,4,47,
+itsuki_shu,4,47,
+itsuka_shiori,4,47,
+itori_(clarice_note),1,47,
+israel,0,47,
+iris_yi,1,47,iris_(user_pskd5754)
+inxst,1,47,
+inusurvivor,1,47,
+inukai_purin,4,47,
+inugami_korone_(dog),4,47,
+intelli_village_no_zashiki-warashi,3,47,
+inori_(princess_connect!),4,47,ichinose_inori
+infinity_(module),0,47,
+imminent_fingering,0,47,
+iketsuko,1,47,
+igaiga,1,47,
+ifrit_(final_fantasy),4,47,
+idolmaster_poplinks,3,47,
+iczer-1,4,47,
+ichi_kq,1,47,
+icarus_(azur_lane),4,47,
+i:p_masquerena,4,47,
+hyou_itto,1,47,
+human_homeosta,1,47,
+houshou_marine_(artist),1,47,
+houhokekyo,1,47,
+hoshifuri_iku,4,47,
+honnou_(kjs9504),1,47,
+hongye_feixue,1,47,
+holiday,0,47,
+holding_vase,0,47,
+holding_lightsaber,0,47,
+holding_gag,0,47,
+holding_by_the_ears,0,47,
+hitodama_(madatohi),1,47,madatohi
+hisui_(syarute),1,47,
+hina_(ohinao),1,47,
+hikari_(arcaea),4,47,
+high_x_joker_(idolmaster),0,47,high_x_joker
+hidora_art,1,47,sekiko_(akatora3373a)
+hidoi,4,47,
+hidden_camera,0,47,
+hidan_no_aria_aa,3,47,
+hemoon,1,47,
+heimerdinger,4,47,
+heavyrain_(tranquil_moss)_(arknights),4,47,
+heat-soft,3,47,
+healing_wand,0,47,
+haze,0,47,
+hayami_ritsu,1,47,takenisketch
+hayakawa_sonchou,1,47,
+hashimoto_kurara,1,47,
+hashimoto_(frog_flag),1,47,
+harukawa_fuki,4,47,
+harukagi,1,47,
+harry_(dudwofla),1,47,
+harp_note_(mega_man),4,47,"harp_note,lyra_note_(mega_man)"
+hariken,1,47,
+haribote_(desk_of_coulomb),1,47,
+hapu,1,47,
+hanyang_type_88_(girls'_frontline),4,47,
+hanenashi,1,47,
+hana_no_yo,1,47,
+hamtaro,4,47,
+hami_dmg,1,47,
+halluel_(granblue_fantasy),4,47,harut_(granblue_fantasy)
+hakusan_yoshimitsu,4,47,
+haji,4,47,
+haihai_(skeleton),1,47,haihai_(10035446)
+hachirobe,1,47,
+hachini,1,47,
+hachimitsu-b,1,47,
+hachiko_(kota091986),1,47,
+h_shai,1,47,
+gyumao_(housamo),4,47,gyumao_(tokyo_houkago_summoners)
+guy-manuel_de_homem-christo,4,47,
+guraa,4,47,
+gun_devil_(chainsaw_man),4,47,
+groose,4,47,
+green_rope,0,47,
+gravity_suit,0,47,
+gradient_sarong,0,47,
+gradient_neckwear,0,47,
+gorou_naoki,1,47,ohutongoro
+google_(asdek18),1,47,
+gonzozeppeli,1,47,bellend
+gold_leotard,0,47,
+gladius,0,47,
+gigi,1,47,
+gigantamax_pikachu,4,47,
+ghost_ogre_&_snow_rabbit,4,47,
+ghillie_suit,0,47,
+george_joestar_ii,4,47,
+general_liu_(girls'_frontline),4,47,
+gekkougahara_miaya,4,47,
+gasoline,0,47,
+gaen_izuko,4,47,
+futami_kito,1,47,kito_(pixiv98689)
+futaba_aoi_(asobi_ni_iku_yo!),4,47,
+fused_zamasu,4,47,
+furu_(retr0e),1,47,
+fukai_(yas_lions),1,47,
+fubuki_rinne,1,47,
+frs2,1,47,
+frogging,0,47,
+frogadier,4,47,
+frilled_hakama,0,47,
+freya_(chobits),4,47,
+freia_kagami,4,47,
+francie_gerard,4,47,
+fortress_girl,3,47,
+formica_(vtuber),4,47,
+fogged_glasses,0,47,
+floating_crown,0,47,
+flick-the-thief,1,47,
+flash_man,4,47,flashman
+fiona_frost,4,47,
+finger_in_ear,0,47,
+filigree,0,47,
+ficus_finis,4,47,
+fg42,0,47,
+fei_mao,1,47,
+es_(cah60700),1,47,
+eromkk,1,47,
+enoshima_electric_railway,0,47,
+enel,4,47,
+endymion_(sailor_moon),4,47,
+eliwood_(fire_emblem)_(cosplay),0,47,
+eleven_supernova,0,47,
+elena_(grandia),4,47,
+ekuramani,1,47,
+eine_(eine_dx),1,47,eine_dx
+echoes_act1,4,47,
+echizen_murasaki,4,47,
+easty,1,47,
+earthspirit_(arknights),4,47,
+duke_pantarei,4,47,duke_(tales_of_vesperia)
+due_(nanoha),4,47,
+driftingtiger,1,47,
+drag-on_dragoon_2,3,47,drakengard_2
+dou_tanuki,1,47,
+dorowa_(drawerslove),1,47,
+dorothy_catalonia,4,47,
+dorothy_(marchen_awakens_romance),4,47,
+door_to_heaven,1,47,
+dong_ji,1,47,
+dong_hole,1,47,
+doma_taihei,4,47,
+doctor_strange_(series),3,47,
+diten,1,47,
+dismaiden,1,47,
+dingding_(chongsangjun),1,47,"0_0_0,chongsangjun"
+digital_(digital001),1,47,digital001
+diandianzai,1,47,
+diamond_tiara,4,47,
+diabolic-mario,1,47,
+dia_de_muertos,0,47,"day_of_the_dead_(holiday),dia_de_los_muertos"
+dh_ead,1,47,
+dewpider,4,47,
+devonrex,1,47,
+dentaku_music,1,47,
+dejio,1,47,
+deer_head,0,47,
+dayuh,1,47,
+daydream_show,3,47,
+dawit,1,47,
+date_hajime,1,47,
+dashingicecream,1,47,
+dark_meta_knight,4,47,
+daniel_renard,1,47,
+dakuryuu,1,47,
+daizu_sanchi,1,47,
+dairoku_tenma,1,47,
+dadadada_tenshi,4,47,
+d.k,1,47,
+cutie_moon_rod,0,47,
+cubehero,1,47,
+cream_on_breasts,0,47,
+crash_man,4,47,crashman
+cow_(life_of_maid),4,47,
+cotton_ball,0,47,
+cosmicsnic,1,47,
+cornelia_(atelier),4,47,
+corette,1,47,
+contra,3,47,
+condiment,0,47,
+concon-collector,3,47,
+comiket_86,3,47,
+colored_smoke,0,47,
+code_geass:_lost_colors,3,47,
+clovisxvii,1,47,
+clipping_nails,0,47,clipping_fingernails
+clarisse_de_cagliostro,4,47,
+clacker,0,47,
+choujin_koukousei-tachi_wa_isekai_demo_yoyuu_de_ikinuku_you_desu!,3,47,high_school_prodigies_have_it_easy_even_in_another_world
+chonmage,0,47,
+chocolate_on_pectorals,0,47,
+chocolate_mint,0,47,
+cho'gath,4,47,
+chishibuki_hiyoko,1,47,omu23
+chicken-mushroom_skewer_(genshin_impact),0,47,
+chibikki,1,47,
+chest_protector,0,47,
+cherokee_(1021tonii),1,47,cherokee_(pixiv)
+chelsea_(7th_dragon),4,47,
+chawalit_adsawawalanon,1,47,
+charlotte_shalzen,4,47,
+charcoal_(medium),0,47,
+chaos_witch_quelaag,4,47,
+chang_koehan,4,47,
+chain_whip,0,47,
+cevoy,1,47,
+ceru,1,47,
+centi_mnkt,1,47,
+cekonikova,1,47,
+cayenne_garamonde,4,47,cyan_garamonde
+car_keys,0,47,
+caleana,1,47,
+cafe_little_wish,3,47,
+buzzer,1,47,
+butch_(pokemon),4,47,
+burunuu_(bullnukko),1,47,
+bulzizzang,1,47,
+bruno_(yu-gi-oh!),4,47,
+bou_(maimoca501),1,47,
+bossan_3310,1,47,
+bobby36446329,1,47,
+bless_you_(module),0,47,
+blade_regalia,0,47,
+black_tongue,0,47,
+bird_hood,0,47,
+binchou_maguro,1,47,
+berrykanry,1,47,
+bellona_(azur_lane),4,47,
+bell_mccamp_(warship_girls_r),4,47,
+behalter,1,47,
+bear_(artist),1,47,
+baten_(gei-vorugu),1,47,
+baseu,1,47,
+backbend,0,47,
+babe_(fate),4,47,
+azuma_shoujuan,1,47,azuma_syoujuan
+azalea_(flower),0,47,
+ayakashi_hyakkiyakou,3,47,
+avatar_generator,5,47,
+autism_wanderer,1,47,
+aus_vaka,1,47,
+aurebesh,0,47,
+audio_visualizer,0,47,"peak_meter,sound_visualizer"
+atlus,3,47,
+astolfo_(fate)_(cosplay),0,47,
+ashley_taylor,4,47,
+asaki_yuki,1,47,
+arsene_lupin_iii_(cosplay),0,47,
+arrowhead_(r-type),4,47,
+arnoul,1,47,
+ara_(sora-ageha),1,47,
+aotu_world,3,47,
+aor_saiun,1,47,
+aokaze_(mimi_no_uchi),1,47,
+aoi_renji,1,47,
+ao_ringo,1,47,
+anzu_(hanamaru_youchien),4,47,
+anzio_princess,4,47,anzio_hime
+anre_(granblue_fantasy),4,47,uno_(granblue_fantasy)
+anput_(nsfwolf),4,47,
+ano_fuji,4,47,
+anho,1,47,
+angelica_(k3lly),1,47,
+aneimo,3,47,
+amelie-san_(nogi_takayoshi),4,47,
+amatsuka_haruka,4,47,
+amarotamaro,1,47,
+amai_hiyo,4,47,
+amaha_rihoko,4,47,
+amagumo,1,47,
+alternate_uniform,0,47,
+altena_(fire_emblem),4,47,
+alma_elma,4,47,
+allen_m._sumner_(azur_lane),4,47,
+akuma_ouji_to_ayatsuri_ningyou,3,47,"devil_prince_and_the_puppet,evil_prince_and_the_puppet"
+akit_(15jamjam),1,47,
+akira_howard,4,47,
+akira_agarkar_yamada,4,47,
+akino_kabocha,1,47,
+akilico,1,47,
+akazukin_(otogi-juushi_akazukin),4,47,
+akaza_chacha,4,47,
+akausuko,1,47,
+akae_neo,1,47,
+akabane_yu,1,47,
+ajigo,1,47,
+airomed,4,47,
+aguhari,1,47,
+agent_legend,4,47,
+aerith_gainsborough_(cosplay),0,47,
+abuji,1,47,
+aasara,1,47,
+aaru_(kerogero1582),1,47,
+502nd_joint_fighter_wing,0,47,
+404_(artist),1,47,
+163_(shiromeshi),1,47,shiromeshi_163
+0shino,1,47,jeynine9
+0k0j0,1,47,
+zymonasyh,1,46,
+zonko,4,46,
+zoey_(pokemon),4,46,nozomi_(pokemon)
+zippo_teifujou,1,46,
+zhao_shuwen,1,46,shomon
+zhadanzhawugui,1,46,
+zero_two_(darling_in_the_franxx)_(cosplay),0,46,
+zerg309,1,46,
+zektbach,3,46,
+zahlhamelina,4,46,
+z5987,1,46,
+yuzuriha_p,1,46,
+yuzuna_hiyo,1,46,
+yuzudaze,1,46,
+yuukyuu_ponzu,1,46,
+yuuki_shishin,1,46,
+yuuki_hana_(jtnp5334),1,46,
+yunotimo,1,46,
+yukiou,1,46,
+yukimachi_tounosuke,1,46,
+yuki_(nanao_yuki),1,46,
+yugirlpict,1,46,
+youko_(monster_musume),4,46,
+yoshioka_pochi,1,46,nuko-1111
+yoshi_92,1,46,
+yoru_(xueyinye),1,46,
+yoppy,1,46,
+yomi_(yomi14_pyaon),1,46,
+yokoe_(mealtime),1,46,
+yna,1,46,
+yihsien,1,46,
+yatani_(do9z),1,46,
+yashio_kaito,4,46,
+yari_no_yuusha_no_yarinaoshi,3,46,
+yarai_miu,4,46,
+yanagi_shinsuke,1,46,
+yamija,1,46,
+yamaguchi_sapuri,1,46,
+yakitori_(yakitori06),1,46,
+yahankkwo,1,46,
+xyomouse,1,46,
+xiaobei,1,46,
+xi_yuu,1,46,
+xi_ying,1,46,
+wu-qiao,1,46,
+wtparadise,1,46,"we1cometoparadiseart,wtparadiseart"
+woof,0,46,
+wooden_tray,0,46,
+wood_gradient_hair,0,46,
+wolf_hat,0,46,
+wingedwasabi,1,46,
+wing_gundam_zero,4,46,
+windcaller,1,46,
+will-o'-the-wisp_(mythology),0,46,
+watashinabe,1,46,
+warfarin_(the_feast)_(arknights),4,46,
+voodoo,0,46,
+virginia_kissless,4,46,
+vifam,4,46,
+vibrator_under_pantyhose,0,46,
+veronica_type-asc,4,46,
+vergolophus,1,46,
+valkyrie_skirt,0,46,
+uzutanco,1,46,
+urasanmyaku,1,46,4myaku1
+unplugged,0,46,
+una_(pochincoff),4,46,
+uma_(oopartz_yang),4,46,
+ultraman_geed_(series),3,46,
+ukm-2000_(girls'_frontline),4,46,
+ueda_kana,4,46,
+uchiyama_lammy,1,46,
+u_5ham0,1,46,
+tyris_flare,4,46,
+type_0_fighter_model_52,4,46,
+two_of_spades,0,46,
+twintailed_girl_(ishiyumi),4,46,
+ttaji_(pass35),1,46,
+tsushima_aki,1,46,
+tsukino_shizuku,4,46,
+tsukamoto_takashi,1,46,
+trodh,1,46,
+triangle_halo,0,46,
+tres-iques,1,46,
+toyota_supra,0,46,
+toy(e),1,46,
+towel_on_arm,0,46,
+toro_(shiro),1,46,"shiro_(m0c_0m),toro_(shito_ro)"
+toranpo_rintarou,1,46,
+tonogai_yoshiki,1,46,
+tonikaku_kawaii,3,46,"fly_me_to_the_moon_(manga),tonikawa:_over_the_moon_for_you"
+tonestarr,1,46,
+tone_rion,4,46,
+tokyo_xanadu,3,46,
+tokyo_necro_suicide_mission,3,46,
+tokui_sora,4,46,
+tokihara_sayuki,4,46,
+tokage_setsuna,4,46,lizardy_(boku_no_hero_academia)
+togusa,4,46,
+togekk0,1,46,
+toboso_yana,1,46,
+tobari_(brokenxxx),1,46,
+toba_minami,4,46,
+toaru_kagaku_no_dark_matter,3,46,to_aru_kagaku_no_dark_matter
+tim_(a9243190a),1,46,
+thwomp,4,46,
+three_(drag-on_dragoon),4,46,
+thomas_the_tank_engine_(character),4,46,
+the_a-team,3,46,
+tetsumi,1,46,
+tetora_(yumejihuka),1,46,
+tenjiku_nezumi,1,46,tenjikunezumi
+tenchou_no_matsumoto,1,46,
+teisel_bonne_(mega_man),4,46,teisel_bonne
+teikoku_gensui,1,46,
+tatwuku,1,46,
+tatsuyoshi_(zawahomura),1,46,upiupi2
+tatara_(alnath_may),1,46,
+tasasakiamagu,1,46,
+tanada,1,46,
+tamamono_atae,1,46,
+takunama,1,46,
+takasu_ayako,4,46,
+takase_(harakiri),1,46,
+takarada_kaneo,4,46,
+takamu,1,46,
+takajou_joujirou,4,46,
+takahashi_masaki,1,46,
+taira_kosaka,1,46,
+taichi_(yirkorn),1,46,
+tai_yuan_(azur_lane),4,46,
+tagu,1,46,
+taburakashi,1,46,
+sylvia_(dq11),4,46,
+sword_fight,0,46,
+swiss_army_knife,0,46,
+swimsuit_around_one_leg,0,46,
+suzumo70,1,46,
+suzu_danna,1,46,
+susutouka,1,46,
+surf_(pokemon),0,46,
+super_robot_wars_advance,3,46,
+suou_katsuya,4,46,
+suminoe_riko,4,46,
+suiren_to_shion,3,46,
+su_(gyee),4,46,
+strigidae,1,46,
+stress,0,46,
+stratosphere_(coom1017),1,46,
+straight-laced_footwear,0,46,
+storia,1,46,
+steam_from_mouth,0,46,
+starship_troopers,3,46,
+sr-3mp,0,46,
+squid_neetommy,1,46,
+spring_onion_print,0,46,
+sp9_(girls'_frontline),4,46,
+soumenhiyamugi,1,46,
+souma_kisa,4,46,
+souji_kurokawa,1,46,
+sora-bakabon,1,46,
+son_goku_(cosplay),0,46,
+sokuse_kienta,1,46,
+soku_(bluerule-graypray),1,46,
+sokomushi,1,46,kabuteriko
+soga_kaede,4,46,
+snowdreams_-lost_in_winter-,3,46,
+sleeveless_turtleneck_dress,0,46,
+sledding,0,46,
+skyfish_(kemono_friends),4,46,
+skura01,1,46,
+skull_knight_(berserk),4,46,
+sion001250,1,46,
+silver_bullet_(ecc12_8),1,46,ecc12_8
+sig_(granblue_fantasy),4,46,
+shuka_(taupe),1,46,syuka
+shou_xun_bu_liang,1,46,
+shokkaa_(shmz61312),1,46,
+shisen,1,46,
+shiro_(houseki_no_kuni),4,46,
+shirakawa_yuuko,4,46,
+shiragi,1,46,
+shinohara_asuma,4,46,
+shinobu_akira_(madoka_magica),4,46,shinobu_akira_(magia_record)
+shinidamachuu,0,46,
+shindou_ai,4,46,
+shinatsukou,1,46,
+shinatose_izana,4,46,
+shieldon,4,46,
+shidaidaka,1,46,
+shi_shi_ji,1,46,
+shain,1,46,
+seth_(fire_emblem),4,46,
+sesshouin_kiara_(swimsuit_mooncancer)_(cosplay),0,46,
+serori_(koredemoka),1,46,
+serie_a,0,46,
+serena_(pokemon)_(cosplay),0,46,
+senkyoushi_gondolf,1,46,gondolf
+senketsu-kisaragi,4,46,
+senji_muramasa_(second_ascension)_(fate),4,46,
+seifuku!,3,46,
+see-through_kimono,0,46,
+scleriteaeaeaggadah,4,46,
+satou_takeshi,1,46,t-file
+satou_pikuta,1,46,
+satou_(su9arsatou),1,46,
+satomi_rentarou,4,46,
+satochi,1,46,satochi_(twitter)
+sata_(sat),1,46,
+sasaki_yukina,4,46,
+sasaki_bullet,1,46,
+sasaj,1,46,
+sarmat,1,46,
+sarasa_(kanbi),1,46,
+sara_kodama,4,46,
+sapphicneko_(sapphicneko),4,46,
+saogokushi,1,46,
+sanzu_haruchiyo,4,46,
+sanada_(teketo),1,46,
+sana_hamada,1,46,
+sakusa_kiyoomi,4,46,
+sakura_mai_(photokano),4,46,
+sakuma_hiragi,1,46,
+saki_(viper),4,46,
+sake_(kadai),1,46,
+sakata_ginko,4,46,
+sakamoto_bin,1,46,
+sakaki_tsui,1,46,
+sakaki_soshi,1,46,sakaki_soushi
+saitou_rokuro,1,46,
+saitou_hajime_(third_ascension)_(fate),4,46,
+sagatsune,1,46,
+ryuuzouji_akane,4,46,
+ryuuko_(oggy),4,46,
+runep,1,46,
+rummy_73,1,46,
+ruku_(ruku_5050),1,46,
+royal_flush,0,46,
+rosamia_(granblue_fantasy),4,46,
+rope_bridge,0,46,
+rizuriri,1,46,
+ririvery,1,46,
+rintaro_komori,1,46,
+rindou_ringdong,1,46,
+riley_fairfeather,4,46,
+rg_(gumin),1,46,
+reversible,3,46,
+resuta,1,46,aidesa
+ressue_(gomgom),1,46,
+resisting,0,46,
+rennala_queen_of_the_full_moon,4,46,
+ren_kun,1,46,
+remy_(street_fighter),4,46,
+reis_duelar,4,46,reis_dular
+regu_(reg95),1,46,
+regain,1,46,
+red_ninja,3,46,
+red_(neptune_series),4,46,
+rdg_red_data_girl,3,46,red_data_girl
+raymond_busujima,1,46,
+rasha,1,46,
+rakkou,1,46,
+rainbow_wings,0,46,
+raikou_(gotaishu),1,46,
+radar_chart,0,46,
+ra_mun5239,1,46,
+pz-15,1,46,
+purple_kecleon,4,46,
+puni_(punycolors),1,46,
+pulp_fiction,3,46,
+public_urination,0,46,
+pt@i,1,46,
+psychic_parrot,1,46,
+prostate_massager,0,46,
+pronama-chan,4,46,kurei_kei
+project-sp,3,46,
+programming_live_broadcast,3,46,
+professor_layton_vs._phoenix_wright:_ace_attorney,3,46,professor_layton_vs._gyakuten_saiban
+princess_form_(princess_connect!),0,46,
+poteto_(potetosarada123),1,46,
+pot-palm,1,46,
+popularity_contest,0,46,
+poo_(saku),1,46,
+poncho_(31103105),1,46,
+pokke_(pokke-chan),1,46,
+poison916,1,46,
+pk_(pmd-explorers),4,46,
+pittman_(alchemy_stars),4,46,
+pinnn,1,46,
+pink_pet_bottle,1,46,
+pillbug,0,46,
+pikao,1,46,
+picarto.tv,3,46,
+pi_(.hack//),4,46,
+peter_pan_(character),4,46,
+pemoyashi_(tianoblue),1,46,morihisa_kakato
+pekikokko,1,46,
+pee-kay,1,46,
+pecohophop,1,46,
+peach_blossom,0,46,
+pc_angel,3,46,
+patricia_schade,4,46,
+patori,1,46,
+parufeito,1,46,
+papers_please,3,46,
+pantie_painting,1,46,
+pano_(mohayayamai),1,46,
+pandora-ex,1,46,
+pako_(moto_paco),1,46,
+oz_sorcerer_(elsword),4,46,
+ouma_mana,4,46,
+otou_mamayo,1,46,
+otaku_heishi,1,46,
+oshiruko_(shiruko),1,46,
+osanpogakari,1,46,
+orator_(fft),4,46,mediator_(fft)
+orange_serafuku,0,46,
+orange_blossoms,0,46,orange_blossom
+ophiuchus_shaina,4,46,
+oonami_kizuna,4,46,
+ookado_tsubasa,4,46,
+oohashi_sumika,4,46,
+onimusha:_dawn_of_dreams,3,46,
+omoi_yo_hitotsu_ni_nare,0,46,
+okikurumi_(ookami),4,46,oki_(ookami)
+okema,1,46,
+oinari_(koheihei1109),1,46,
+oi_shibako,1,46,
+oda_nobunaga_(sengoku_collection),4,46,
+obybuss,1,46,
+numanoan,1,46,
+noyuki_(3702),1,46,
+noda_yasuyuki,1,46,
+no_headband,0,46,
+no_emblem,0,46,
+niya,4,46,
+niwatori_panda,1,46,
+nishino_kanako,4,46,
+nishijou_myu,1,46,
+niratama-don,1,46,
+ninagawa_amuro,4,46,
+nimuno_(munimuni),1,46,
+nils_(fire_emblem),4,46,
+nila_(cyancapsule),4,46,
+niizuma_lovely_x_cation,3,46,niiduma_lovely_x_cation
+niameresp,1,46,
+neuralyzer,0,46,
+nero_claudius_(swimsuit_caster)_(fate)_(cosplay),0,46,
+nephrite_(sailor_moon),4,46,
+neneko_(yumeria),4,46,
+nemo_(piisukun),1,46,
+nekokobushi,1,46,
+nekogoro,1,46,
+nekobox,1,46,
+neko_nadeshiko,1,46,
+nehelenia_(sailor_moon),4,46,
+needle_(hollow_knight),0,46,
+nazo_no_hito,1,46,ttt75966067
+natsuyasumi.,3,46,
+natsume_nono,4,46,
+narumi_suzune,1,46,
+naoe_yamato,4,46,
+nanamiyuki,1,46,kuro_nasu
+nakatsugawa_ui,4,46,
+nakamura_ayamo,4,46,
+nakaji_(user_snap3353),1,46,
+nakahara-kun_no_kahogo_na_imouto,3,46,
+nagomi_tozakura,1,46,
+nagikiho,1,46,
+nagi_aoi,1,46,ayakura_maki
+naganadel,4,46,
+nagamon,1,46,
+na_(oagenosuke),1,46,
+n36hoko,1,46,
+n2ewu,1,46,
+n0r0,1,46,
+mzyk,1,46,
+myuhuaki,1,46,
+my_mai_tonight,0,46,
+mutsu_ane_daisuki,1,46,
+mute_(mute89539160),1,46,
+murasaki_shikibu_(swimsuit_rider)_(third_ascension)_(fate),4,46,
+mumumu_hoshibito,1,46,
+multicolored_hair_bobbles,0,46,
+mugensaku,1,46,
+mr._chin,4,46,
+mouse_pointer,0,46,
+moseley,1,46,
+morton_koopa_jr.,4,46,
+morridow_(girls'_frontline),4,46,
+moon_reflection,0,46,
+montmorency_margarita_la_fere_de_montmorency,4,46,
+moni_(credo),1,46,moniringo
+monaco_(rmn02),1,46,
+momota_(sunaba_suzume),4,46,
+momoiro_guardian,3,46,
+momogesomaru,1,46,
+mokutan_(link_machine),1,46,
+mobius_final_fantasy,3,46,final_fantasy_mobius
+mktr_(princess_mktr),1,46,
+mizuto_umi_(blue_monday),1,46,narumi_(blue_monday)
+mizuki_(mz),1,46,
+mizuhashi_parsee_(cosplay),0,46,
+miyuki_(9029009),1,46,
+miyazaki_hiyori,4,46,
+miyake_taishi,1,46,
+mittens_removed,0,46,
+mitsuji_mitsuyoshi,1,46,taikou_denka
+mitsuishi_kotono,4,46,
+mita_mitauzo,1,46,mitauzo
+missingno.,4,46,missingno
+missing_stars,3,46,
+miss_black,1,46,
+misono_chiaki,1,46,misono_thiaki
+misaki_kurehito_(style),0,46,
+mirror's_edge,3,46,
+mirakurun_(cosplay),0,46,
+mira_(pokemon),4,46,miru_(pokemon)
+minstrel_(ragnarok_online),4,46,maestro_(ragnarok_online)
+minpou_(nhk),1,46,
+minenami_ryou,1,46,
+minau37,1,46,
+mimosa_vermillion,4,46,
+mimiru_(mimill),1,46,mumu_ll
+mimi_(picarto.tv),4,46,
+military_base,0,46,
+milia_leclerc,4,46,
+miki_(shugo_chara!),4,46,miki_(shugo_chara)
+mihoshi_middle_school_uniform,0,46,
+migu_(migu_room),1,46,
+mienfoo,4,46,
+michael.r,1,46,
+miatsushi,1,46,
+mia_(golden_sun),4,46,mary_(golden_sun)
+mi_(liki1020),1,46,
+mgg_(x_arte),1,46,
+metal_hero,3,46,
+metal_gear_rex,4,46,
+mercy_(overwatch)_(cosplay),0,46,
+menogias_(genshin_impact),4,46,
+melfina_(outlaw_star),4,46,
+mega_man_8,3,46,rockman_8
+meer_rowe,1,46,
+mechazinaida,1,46,
+mecha_eli-chan_mk.ii_(fate),4,46,mecha_eli-chan_mk.ii
+mdr_(cocktail_observer)_(girls'_frontline),4,46,
+mazingkaizer,1,46,
+matsui_celine,1,46,
+mathilda_(fire_emblem),4,46,matilda_(fire_emblem)
+masutaauu,1,46,
+masikakuma,1,46,
+marutani,1,46,
+maru_(umc_a),1,46,
+maru_(lagrange),0,46,
+maronee_san,1,46,
+maromi_gou,1,46,
+marimony_manumonica,4,46,
+maple_colors,3,46,
+mao_(yotaro),4,46,
+manzai,0,46,
+malluel_(granblue_fantasy),4,46,marut_(granblue_fantasy)
+maiko_(mimi),1,46,
+magician_(elsword),4,46,
+magical_mirai_miku_(2013),4,46,magimirai_miku_(2013)
+madland,4,46,
+macho_ojiji,1,46,
+machi_fuka,1,46,
+m_(mrtarou),1,46,
+m1919a4_(girls'_frontline),4,46,"m1919_(girls'_frontline),m1919_(girls_frontline)"
+m1904_mastiff,0,46,
+lyra_(pokemon)_(cosplay),0,46,
+lyon_rem_helsos,4,46,
+lymee,4,46,
+luxuria,1,46,
+lunarscent,1,46,
+lsr,1,46,lsr_dbd
+lr_(last_remote_514),1,46,
+lofi_girl,4,46,
+loch_ness_monster,4,46,nessie_(cryptid)
+lincoln_loud,4,46,
+linatai,1,46,
+light_oooo,1,46,
+liete_(grandia),4,46,
+lieselotte_w._dorssia,4,46,
+lidia_sobieska,4,46,
+liar_princess,4,46,
+liangzi_tai_hongcha,1,46,
+lewyn_(fire_emblem),4,46,levin_(fire_emblem)
+leon_luis,4,46,
+lenk64,1,46,
+laugh_111,1,46,
+larry_koopa,4,46,
+langya_beike,1,46,
+laki,1,46,
+ladder_cutout,0,46,
+kyuumoto_kuku,1,46,"kyuuponkuku,mk278"
+kyohei,1,46,
+kutsunohito,1,46,
+kushala_daora,4,46,
+kusanagi_motoko_(cosplay),0,46,
+kusabue_mitsu,4,46,
+kurumiyasan_ns,1,46,
+kuroinu_2,3,46,
+kuro_(baseball0000),1,46,
+kuribulb,1,46,
+kurenai_(red_ninja),4,46,
+kureha_misaki,4,46,
+kurano_ema,4,46,
+kumaori,1,46,
+kumaccyo,1,46,
+kuma_piv,1,46,
+kuchisake-onna_(ishiyumi),4,46,
+krutta_fan,1,46,
+koushi_rokushiro,1,46,
+kou_(wagaya),4,46,
+korin_(shironeko_project),4,46,
+kontahsm,1,46,
+konnyaku_yuuna,4,46,
+kongbai,1,46,
+kondraki,4,46,
+kompeitou_(lemon_garden),1,46,konpeito1025
+komorebi_ni_yureru_tamashii_no_koe,3,46,komorebi_ni_yureru_tama_no_koe
+kogetail,1,46,
+ko-chin,1,46,
+knucklecurve,1,46,
+knight_lautrec_of_carim,4,46,
+knee_grab,0,46,
+kkaags,1,46,
+kizinori,1,46,
+kiyonaka_rei,1,46,
+kitsune_choukan,1,46,
+kitsugai_sese,4,46,
+kiso_(kancolle)_(cosplay),0,46,
+kishimoto_masashi_(style),0,46,
+kishimoto_ayase,4,46,
+kiryuu_yoshiya,4,46,
+kiriyama_machi,1,46,
+kirigoe_mima,4,46,
+kiri_sakura,1,46,
+kinoruru_toiro,1,46,
+kinnikuman_(character),4,46,
+kim_hana,1,46,kanu_(kanu_0001)
+kiki_(koba),4,46,
+kijo_kouyou_(third_ascension)_(fate),4,46,
+kid_buu,4,46,
+kensei_(v2),1,46,kenseeeeeeee
+kemo_(pokka),1,46,
+kekkaishi,3,46,
+kazuto_izumi,1,46,
+kazeco,1,46,
+kazahari_kazuho,1,46,
+katsuto,1,46,
+katoyo85,1,46,
+katia_waldheim,4,46,
+katase_waka,1,46,
+kat_(mazume),4,46,
+kasuga_aya,4,46,
+kasamatsu_yukio,4,46,
+kariki_hajime,1,46,
+karasu_hito,1,46,
+karasaki,1,46,
+kaos,1,46,
+kanae_(aab),1,46,
+kamogawa_(kamogawa_sodachi),1,46,
+kaminosaki,1,46,kaminosaki1
+kamino_saori,4,46,
+kamen_rider_live,4,46,
+kame,1,46,
+kalluto_zoldyck,4,46,
+kakotomirai,1,46,
+kakikorori,1,46,
+kajun_faycott,4,46,cajun_faycott
+kaida_bola,1,46,baruterome
+kai28,1,46,
+kagutsuchi_(victoragna),1,46,
+kagura_(senran_kagura),4,46,
+kaenbyou_rin_(cosplay),0,46,
+jyaco,1,46,
+juu_p,1,46,
+julia_(cowboy_bebop),4,46,
+johannes_krauser_ii,4,46,
+jinrou_judgment,3,46,
+jinbei,1,46,
+jeanne_d'arc_(inazuma_eleven),4,46,
+jdw,1,46,
+jasmin_darnell,1,46,
+japan_animator_expo,3,46,
+janload1ng,1,46,
+izuno_kenta,1,46,
+izumi_kyouka_(bungou_stray_dogs),4,46,
+iwanishi,1,46,
+ivy_eveland,4,46,
+ivis,4,46,
+itsme_takk,1,46,
+italian_flag_bikini,0,46,
+isoroku_(haifuri),4,46,
+ishigaki_tetsurou,4,46,
+ishidaki,0,46,
+irise_ryouji,1,46,
+iris_(arknights),4,46,
+irie_tamaki,4,46,
+invincible_(series),3,46,
+internet_explorer_(merryweather),4,46,
+insomnia-chan,4,46,
+inma_kourin_devil_carnival,3,46,
+initsukkii,1,46,
+incoming_headpat,0,46,
+imaru_(yashiro19950425),1,46,
+imagawa_yoshimoto_(sengoku_collection),4,46,
+iizuka_tatsuki,4,46,
+iguchi_yuka,4,46,
+igatto,1,46,
+ice_man,4,46,iceman
+hyuuga_kizuna,4,46,
+hyou-kun,4,46,
+hyokkori_tamago,1,46,
+hwoarang_(tekken),4,46,
+huiqian,1,46,hui_ma_yin
+hpflower,1,46,
+howl's_moving_castle_(novel),3,46,
+houtei9,1,46,
+houkiboshi,1,46,
+hosokawa_kazuko,4,46,
+hong_yun_ji,1,46,hong_(arasian)
+holstaur_(monster_girl_encyclopedia),4,46,
+holding_walkie-talkie,0,46,
+holding_hoodie,0,46,
+hokutoro64,1,46,
+hiyoko_(kokeko),1,46,
+hiwakana6121,1,46,
+hitachiin_hikaru,4,46,
+hinamikan,1,46,
+hinamayo,1,46,
+himeshima_koukichi,1,46,
+hilbert_(fall_2020)_(pokemon),4,46,
+hikigaya_0926,1,46,
+higi_(rodriguez),1,46,higi_(pixiv)
+hidaka_koharu,4,46,
+hibiki_reine,1,46,
+hi_(wshw5728),1,46,
+hentaix,1,46,
+henpei_saboten,1,46,halui1530
+hen_zemi,3,46,
+hello_lady,3,46,
+heiyz,1,46,
+hei_ling,1,46,
+head_on_knee,0,46,
+hayashi_ryouta,1,46,
+hayabusa_yuki,1,46,
+hatyuuruinohito,1,46,
+hasekura_airi,4,46,
+harukasu_(mememememo),1,46,
+haruka-san,4,46,
+harpe,0,46,
+hariyaa,1,46,
+haragaita_i,1,46,
+happy_margaret!,3,46,
+haohi_(less),4,46,
+hansal,1,46,
+hand_on_mask,0,46,
+hand_biting,0,46,hand_bite
+hanamura_shoma,4,46,hanamura_shouma
+hanakoizumi_yoruno,1,46,
+ham_pon,1,46,
+hal_(h_lambda_l),1,46,"haru-san_(heinetsu38_6),hlanbdal"
+haku_hakujou_daimaou,1,46,
+haku_(utawarerumono),4,46,haku_(utawareru_mono)
+hakone_yumoto,4,46,
+hair_rollers,0,46,
+ha_youn,1,46,
+gz_(gzdteee),1,46,
+guruto,1,46,
+gurasan_(happinesscharge_precure!),4,46,gurasan_(precure)
+gundam_seed_c.e._73:_stargazer,3,46,
+gukukimu,1,46,
+gueira_(made_in_abyss),4,46,
+gudakoguda,1,46,
+gs_(onsen_syndicate),1,46,
+growlanser_vi,3,46,
+grouse01,1,46,
+grey_mittens,0,46,
+grendizer,4,46,
+great_knife,0,46,
+grazing_(livestock),0,46,
+gougasha_akira,1,46,anhiru
+golshi's_first_place_pose,0,46,
+golden_sun:_dark_dawn,3,46,
+golden_marriage,3,46,
+gokusai_kaibi,4,46,measure_heart
+glitch_censor,0,46,
+giuseppe_garibaldi_(azur_lane),4,46,
+girls_book_maker_~shiawase_no_libretto~,3,46,
+gilmang,1,46,
+genera-x,1,46,
+genbu_(kemono_friends),4,46,
+gdat,1,46,
+gaydio_zrong,1,46,
+garapon,0,46,
+ganbari_mascarpone,1,46,
+gammatelier,1,46,
+gambier_bay_mk_ii_(kancolle),4,46,
+galdino,4,46,
+gakuen_kino,3,46,
+gaige,4,46,
+gaha,1,46,
+fuyukonbu,1,46,
+futoshi_slim,1,46,
+fullbottle,0,46,
+fukuko_fuku,1,46,
+fujou_kirie,4,46,
+fujiwara_aoi,1,46,
+fujimaru_ritsuka_(male)_(decisive_battle_chaldea_uniform),4,46,
+fuha_mika,4,46,
+fucodoku,1,46,
+frigga_(last_origin),4,46,
+fray_myste,4,46,
+fragarach_(fate),0,46,fragarach
+found_modori,1,46,
+flynn_(smt4),4,46,protagonist_(smt4)
+fletcher_(kancolle)_(cosplay),0,46,
+flametail_(sport_for_all)_(arknights),4,46,
+flame_style,0,46,
+fiona_(border_break),4,46,
+fiat,0,46,
+fermium.ice,1,46,
+fenrir_(ghost_(tama)),4,46,
+feater_(gourmet)_(arknights),4,46,
+fam,4,46,
+fake_pregnancy,0,46,
+faceset,0,46,
+faceplate,0,46,
+fabarm_sat-8,0,46,
+evil-dei,1,46,
+eternal_bloom_(idolmaster),0,46,
+esper_(saga_2),4,46,
+enemy_tantou,4,46,
+emmeryn_(fire_emblem),4,46,emerina
+elel185,1,46,
+electra_(nadia),4,46,
+elan_ceres,4,46,
+elaine_auclair,4,46,
+egawa_hiromi,1,46,
+eel_boy,0,46,
+edelgard_von_hresvelg_(cosplay),0,46,
+edamame_(barium),1,46,
+eccma417,1,46,
+eatbara,1,46,
+dusk_of_oolacile,4,46,
+drop_tank,0,46,
+dress_slip,0,46,
+drake_(pokemon),4,46,
+dr.latency's_freak_report,3,46,dr._latency's_freak_report
+double_halo,0,46,
+doriy,4,46,dorii
+doctor_doom,4,46,
+dithered_background,0,46,
+dingo_egret,4,46,
+dille_blood,4,46,
+diabolik_lovers,3,46,
+deoxys_(defense),4,46,
+dekkano!!,3,46,
+deadly_chaser_(elsword),4,46,
+dawito,1,46,david_lee
+darling0221,1,46,
+dark_elementalist_lux,4,46,
+dankesang,1,46,
+dalehan,1,46,
+daisx_(dais0115),1,46,
+curry_bowl,1,46,
+curecycadura,1,46,
+cure_fleuret,0,46,
+cu-rim,1,46,
+counter_strike:_global_offensive,3,46,
+cosette_coalhearth,4,46,
+cora_stt,1,46,
+cookie_hair_ornament,0,46,
+constantia_cantacuzino,4,46,
+comotaro,1,46,
+coffeenougat_1985,1,46,
+classicaloid,3,46,
+circle_k_sunkus,3,46,
+cierra_(riviera),4,46,
+chuuka_ichiban!,3,46,
+chuujou_kagetsu,1,46,
+christy_mii,1,46,
+chorogon,1,46,
+chocolate_sable,1,46,
+chlorophytum,4,46,
+chito04,1,46,
+chimimo_(character),4,46,
+chigiri_kurenai,1,46,beni_ttt
+chen_(somanychens),1,46,
+cheese_wheel,0,46,
+checkered_pants,0,46,
+charolic_(girls'_frontline_2),4,46,
+chained_sarkaz_girl,4,46,
+center_(majisuka_gakuen),4,46,
+cecilia_helmold,4,46,
+cecilia_flower_(genshin_impact),0,46,
+catxuan,1,46,
+catherine_(rakurakutei_ramen),4,46,
+catherine:_full_body,3,46,
+cat_busters,3,46,
+casshan_robot_hunter,3,46,
+captain_america:_the_first_avenger,3,46,
+burning_at_the_stake,0,46,
+brown-haired_cat_girl_(kevbot),4,46,
+bo_xun_lin,1,46,
+blurry_vision,0,46,
+blueriest,1,46,
+blue_swim_trunks,0,46,
+blue_nightgown,0,46,
+blue_facial_hair,0,46,
+bloom_into_me15,1,46,
+blaze_(burst_feline)_(arknights),4,46,
+blackmore,4,46,
+black_headphones,0,46,
+birijian,1,46,
+biiji,1,46,
+bibico,1,46,"bibico-atelier,bibiko"
+benten_(ioj3446),1,46,
+bencao_gangmu_(anquan_sy),1,46,
+beat_(dragon_ball),4,46,
+barkhorn0331,1,46,
+bangoul,1,46,
+back_slit,0,46,
+b-man,1,46,
+b-daman,3,46,
+azusayumi_meme,1,46,
+ayuka,1,46,
+ayu_(iyokanya),1,46,
+awata_mokane,1,46,
+average-hanzo,1,46,
+assassin_(granblue_fantasy),4,46,
+asmis_hara,4,46,
+ashinowoto,1,46,
+ashigara_(housamo),4,46,ashigara_(tokyo_houkago_summoners)
+asarokuji,1,46,
+asao_(vc),1,46,
+asakura_mao,4,46,
+artix_entertainment,3,46,
+aro,1,46,
+arnval_mk2_tempesta,4,46,
+armrest,0,46,
+ardnades,1,46,
+apollo_(fate),4,46,
+aona_(noraneko),1,46,
+aoko_(myut7287),1,46,
+aoki_uru,3,46,
+aojiru_(yume_2kki),4,46,
+aoi_yuuta,4,46,
+aoi_(kiyokiyoaomushi),1,46,
+aoba_(kona),1,46,
+anzu_(sumisaki_yuzuna),4,46,
+antica_(bigrbear),4,46,
+annyeongbangawo,1,46,
+anison,1,46,
+angelica_(gunslinger_girl),4,46,
+ane-suisei,1,46,
+andy2465,1,46,
+amu_(nsk0),1,46,
+amarisu,1,46,
+amanda_werner,4,46,
+amagiri_yune,4,46,
+alpaca_club,1,46,aru_paka_kurabu
+alolan_sandslash,4,46,
+alolan_muk,4,46,
+all_you_need_is_kill,3,46,
+alice-yuki,1,46,
+aletta,4,46,
+akizuki_kouyou,4,46,
+akiyama_otome,4,46,
+akire_(akireru_shoujo),1,46,akire_zz
+akikaze_shirakumo,1,46,
+akaneko_(idaten93),4,46,
+akanako,1,46,
+akagishi_k,1,46,
+aka_(shoumae),1,46,
+aiba_ruri,4,46,
+ahim_de_famille,4,46,
+aelion_draws,1,46,
+adeshi_(adeshi0693119),1,46,
+adam_(nier_automata),4,46,
+a-chan_senpai,4,46,
+770mk,1,46,
+2nii,1,46,nii_a_sleepy_knee
+1kudamo1,1,46,
+zukki0731,1,45,
+zourion,1,45,
+zhudouzi,1,45,
+zheyi_parker,1,45,
+zatu,1,45,
+zas_m21_(white_queen)_(girls'_frontline),4,45,
+zarbon,4,45,
+yves_bigerel,1,45,
+yuzuki_kaoru,1,45,
+yuzu-chan,4,45,
+yuyumi_(yuurei),1,45,
+yuusenmai_(momochieri),1,45,user_vtxy3744
+yuukyan_(ucan85),1,45,
+yuu_azma,1,45,
+yuruno,1,45,
+yuriko2755,1,45,
+yurie_the_last_scholar,4,45,
+yumyum,1,45,
+yukoring,1,45,
+yukimochi_kinako,1,45,
+yukimi_daifuku_(food),0,45,
+yuki_shizuku,1,45,
+yukata_(yume_2kki),4,45,
+yuha_(yh-krm),1,45,
+yuguru,1,45,yuguru_(pixiv703968)
+yudoufu_(yudouhu_1212),1,45,
+yoyoyoyou,1,45,
+youmak,1,45,
+yoshitake_rika,4,45,
+yoru_(sword),0,45,
+yonezu_kenshi,1,45,
+yomiuri_giants,3,45,
+yogurting,3,45,
+yoaferia,1,45,
+yf-21,4,45,
+yellow_(konkichi),4,45,
+yasuu!,1,45,
+yangu_shigekiyo,4,45,yanguu_shigekiyo
+yamashita_kurowo,1,45,
+yamamura_saki,1,45,
+yagara_(kishimen_f),1,45,
+ya_4004,1,45,
+ya.yu.,1,45,
+xr650r,1,45,
+xnalara,5,45,
+xbox_controller,0,45,
+xabungle_(mecha),4,45,
+x-com,3,45,
+wonderbat,4,45,
+witcher_medallion,0,45,
+whitemop_jog,1,45,
+wet_pavement,0,45,
+wendy_corduroy,4,45,
+weather,0,45,
+weapon_removed,0,45,
+watari_taichi,1,45,
+wasp_(anthyutena),1,45,
+warbonnet,0,45,
+waga_mama_capriccio,3,45,
+vvy,1,45,
+vf-19,4,45,
+vermeil_(kinsou_no_vermeil),4,45,
+veinte,4,45,
+vectors,0,45,
+vanessa_(fire_emblem),4,45,
+vana,1,45,
+van_arkride,4,45,
+vampire_knight,3,45,
+uzura_(bonnet225),1,45,
+utsunomiya_hetaru,1,45,
+usapenpen2019,1,45,
+uratanuki,4,45,
+urano_suzu,4,45,
+unicorn_gundam_phenex,4,45,
+ultraman_tarou_(series),3,45,ultraman_taro_(series)
+uko_(moi08),1,45,
+ujiga_waita,1,45,waita_uziga
+ugono_takenoko,1,45,
+ufo_princess_valkyrie,3,45,
+u-47_(rookie_rider)_(azur_lane),4,45,u-47_(beginner_rider)_(azur_lane)
+tuya_bairon,4,45,
+tsutsuji_(hello_x_2),1,45,
+tsushima_naoto,1,45,
+tsukinomori_school_uniform,0,45,
+tsuchihara_ai,1,45,
+tsubuta_hiro,1,45,
+tsubakiya,1,45,
+triple_anal,0,45,
+trey_clover,4,45,
+tre_(nanoha),4,45,
+toyomaru,1,45,
+toyo_maru,1,45,
+toy_hammer,0,45,
+touko_(toukoneko),1,45,
+toujou_yuuki,4,45,
+toto_(kuro_toto),1,45,
+tor_ai,1,45,
+top_speed,4,45,
+too_many_bows,0,45,
+tomatoman01c,1,45,
+tokyo_yakult_swallows,3,45,
+tokuchi_toua,4,45,
+tokorot,1,45,
+togatamaki,1,45,
+tissuebox_(artist),1,45,
+tim_tim_machine,1,45,
+theycallhimcake,1,45,
+the_day_of_sagittarius,3,45,
+thats_not_it,0,45,
+test_card,0,45,
+teruteru-deru,1,45,
+tententensan,1,45,
+tenten_(kitty),1,45,
+tekkowang,1,45,
+tefec,1,45,
+teeburu,1,45,
+ted_(suikoden),4,45,
+te28,1,45,
+tayama_midori,1,45,
+tate_(donnguriumai),1,45,
+tataru_taru,4,45,
+tarutaru_(ryousuke),1,45,
+tarou_(run),1,45,
+taneichi_(taneiti),1,45,
+tanaka212,1,45,
+tamae_(pixiv40276),1,45,
+tallgeese,4,45,
+taking_cover,0,45,
+takeuchi_yuka,4,45,
+takeakigaku,1,45,ioa2324
+take-mikazuchi,4,45,
+takayoshi,1,45,
+takahashi_shin,1,45,
+takahara,1,45,
+taka_(0taka),1,45,
+tail_removed,0,45,
+tail_rape,0,45,
+ta_kaana,1,45,
+syerii,1,45,
+syaha,1,45,
+syachiiro,1,45,
+switchblade,0,45,
+suzurikawa_euphrasie_ruika,4,45,
+suzumia_(daydream),1,45,
+suzuki80,1,45,
+suzuen,1,45,
+suzaki_aya,4,45,
+surstromming,0,45,
+surprised_cat_(matataku),4,45,
+super_affection,0,45,
+suna_(sunagawa),1,45,
+sumomo_(raviklx50uc2r2d),1,45,
+sumomo,1,45,
+sumi_mi,1,45,
+sumi-e,0,45,
+sugar_mountain,4,45,
+strainer,0,45,
+stocking_stuffer,0,45,
+steven_mack,1,45,kandoken
+starlime,1,45,lime1125
+stardust_(chen'ai_weiding),1,45,dust_(394652411)
+star-kiss,1,45,
+stag_(snobby_snob),1,45,
+staff_riding,0,45,
+spotted_tail,0,45,
+spotted_hyena_(kemono_friends),4,45,
+spica_(sennen_sensou_aigis),4,45,
+spark_utamaro,1,45,
+sowan_(last_origin),4,45,
+soviet_navy,0,45,
+soul_of_cinder,4,45,
+sora_(yukimi_shiro),1,45,amano-sora
+some1else45,1,45,"jheflow45,someone_else_(artist)"
+soma_(sennen_sensou_aigis),4,45,
+soffa,1,45,
+snarkhunt,1,45,dhtpgjs1997
+smile_cubic!,3,45,
+sky_child,4,45,
+skull_heart,4,45,
+skeleton_costume,0,45,
+sio2_(nisankakeiso),1,45,
+sino_(mechanized_gallery),1,45,
+sinnra_art,1,45,
+silvers_rayleigh,4,45,
+silver_spoon,4,45,
+silver_hairband,0,45,
+siha,1,45,
+sigurd_(memories_with_my_lover)_(fate),4,45,memories_with_my_lover
+sigil,0,45,
+shuiyaoximushi,1,45,"yooooouki,zebai7339"
+shuga_(mhwii),1,45,
+shoa_tksm,1,45,
+shizu_(kino_no_tabi),4,45,
+shizu25,1,45,
+shirohebidou,1,45,sokoitu
+shirogane_kasane,4,45,
+shiraha_(pixiv10239953),1,45,
+shiori_(tateha),4,45,
+shiohana,1,45,
+shino_(pixia),1,45,
+shingetsu_nagisa,4,45,
+shingeki_no_bahamut:_virgin_soul,3,45,
+shin'ya_(330696),1,45,
+shimeta_hiromitsu,1,45,
+shimazawa_noriko,1,45,
+shikanari,1,45,
+shijima_tohiro,1,45,
+shibamine_takashi,1,45,
+shiawase_usagi,1,45,
+sherry_lai,1,45,
+shared_sweater,0,45,
+shaomei_rin,4,45,
+shaohua_hatsune_miku,4,45,
+shaiapouf,4,45,
+seydlitz_(azur_lane),4,45,
+seventh_holy_scripture,0,45,
+seth_(under_night_in-birth),4,45,
+sesius_(haevest),4,45,
+sensor,0,45,
+senke_kagerou,1,45,
+senju_hashirama,4,45,
+sen_nai,1,45,
+sen_(sennosenn1127),1,45,
+sekiranun_graffiti_(vocaloid),3,45,
+seigetsu_kotaku,1,45,
+seelehan,1,45,
+secret_agent_~kishi_gakuen_no_shinobi_naru_mono~,3,45,
+seaport_princess_(cosplay),0,45,
+sd_gundam_world_heroes,3,45,
+scarlet23i0,1,45,scarlet_(user_xcfk7357)
+scarab,0,45,
+scamp_(kancolle)_(cosplay),0,45,
+sayaka-chan_(gashi-gashi),4,45,
+satou_shin'ya,4,45,
+sat_(yukipoha),1,45,
+sara_manta,1,45,
+sara_gallagher,4,45,
+sanson_(nadia),4,45,
+sangue_llia,1,45,
+samanator_club,1,45,
+saltycaramel,1,45,o_yat
+salsa_(trusty_bell),4,45,
+sakusaku_(sakusakucrab),1,45,
+sakuratsuki,1,45,
+sakurano_miya,1,45,
+sakura_no_uta,3,45,
+sakatsuki,1,45,
+saiun_(kancolle),4,45,saiun_(kantai_collection)
+sailen0,1,45,
+sabo_rina,4,45,
+ryuu_ga_gotoku_kiwami,3,45,
+ryunbi,1,45,
+ryiel_rayford,4,45,
+ruuto_(ruto3),1,45,
+ruuji_familon,4,45,
+ruri_honjou,4,45,
+runia,1,45,
+runastark,1,45,
+rukiana,1,45,
+rome35793562,1,45,
+roku_(345),1,45,
+robobot_armor,4,45,
+robert_j_case,1,45,
+riz3,1,45,
+riruno,1,45,
+rinrin_(ppnk2835),1,45,
+rikuwo,1,45,
+rico_(mega_man),4,45,rico_(rockman)
+rhine,1,45,
+rennkuu,1,45,
+reizo_ne,1,45,
+reisun001,1,45,
+reio,1,45,
+reimin,1,45,
+reibun_(raven1119),1,45,
+rei_no_sakura_sousetsu_(module),0,45,
+rei_(ilust9999),1,45,
+regua,1,45,
+red_leather,0,45,
+red_dead_redemption,3,45,
+ravaniz,1,45,
+rapapa,1,45,
+ranger_(warship_girls_r),4,45,
+rambo,3,45,
+rakuraku,1,45,
+rakuchii_(rurituvo),1,45,
+rakkuguy,1,45,
+rage_of_the_dragons,3,45,
+rabii,4,45,
+quicksilver,4,45,
+purple_overalls,0,45,
+pubic_hair_pull,0,45,
+psyche_oreca,1,45,
+prpr_friends,1,45,
+prisoner_(elden_ring),4,45,
+print_bodysuit,0,45,
+priestess_(arknights),4,45,
+pretty_rhythm_dear_my_future,3,45,
+prelati_(symphogear),4,45,
+power_pro_kun_pocket_9,3,45,
+power_pro_appli,3,45,
+poscorn617,1,45,
+popompon,1,45,
+pom77,1,45,
+poke200,1,45,
+point_(vocaloid),4,45,
+pochi_katou,1,45,
+platinumcorundum,1,45,
+plaster_(2501),1,45,
+planol_note,4,45,
+piyo_(sqn2idm751),1,45,
+pipi_damowang,1,45,
+piper_perri_surrounded_(meme),0,45,piper_perri_surrounded
+pipe_organ,0,45,
+pinkymomo,1,45,
+pilder,0,45,
+pikomaro,1,45,
+pigeon_(wejil),1,45,wejil
+persona_4_the_animation,3,45,
+persona_3:_dancing_moon_night,3,45,
+penelope_(azur_lane),4,45,
+peanutc,1,45,
+pc_(z_yu),1,45,
+pavapo,1,45,
+parace_l'sia,4,45,
+p416,0,45,
+ozawa_yuu,1,45,
+overhead_door,0,45,
+otsushimai,3,45,
+otimusyairoha,1,45,
+osx,4,45,
+osakabe-hime_(foxy_lady)_(fate),4,45,lady_foxy
+orochi_shermie,4,45,
+oretsuu,1,45,
+optical_sight,0,45,
+oonishi_shunsuke,1,45,
+onsen_mikan,1,45,
+onozuka_komachi_(cosplay),0,45,
+onimonogatari,3,45,
+oligarchomp,1,45,
+ol_mahonanoka,1,45,
+oku_hideki,1,45,
+okonogi_tetsurou,4,45,
+okazu_(eightstudio),1,45,
+okannigeru,1,45,
+oisiimizu,1,45,
+oikawa_shizuku_(cosplay),0,45,
+ogiwara_kyouko,4,45,
+ogi_(sham00),1,45,
+oda_raika,4,45,
+object_riding,0,45,
+o-yatsu,1,45,
+o-minato,1,45,
+o'neill_cylinder,0,45,
+nprmtp,1,45,
+nota_ika,1,45,
+nosuta,1,45,
+nogi_momoko,1,45,
+noelia_ponce,1,45,
+nodame_cantabile,3,45,
+nk_cell_(hataraku_saibou),4,45,
+nisshisshi,1,45,
+ninomiya_masataka,4,45,
+ninjunker,1,45,
+nine_years_in_a_coma_(meme),0,45,ii_desu_ka_ochitsuite_kiite_kudasai_(meme)
+nijiura_7_(meme),0,45,nijiura_7
+nights_into_dreams,3,45,
+nigane,1,45,
+niffler,4,45,
+nico_(doa),4,45,
+nichimatsu_seri,1,45,
+nekomo,1,45,
+nekokan_(cat's_cradle),1,45,
+near_(sound_voltex),4,45,
+nazi_war_ensign,0,45,
+nayutan_sei_kara_no_buttai,3,45,
+natsu-no-kamisama,1,45,
+nasunael,1,45,
+nashoki,1,45,
+nasa_yu,1,45,
+nano_(mianhua_maoqiu),1,45,
+nanno_hachirou,4,45,
+nanaya777,1,45,
+nanase_(under_night_in-birth),4,45,
+nanami_(nanami811),1,45,nanami_(artist)
+nana_(mizukas),1,45,
+nalukikiki,1,45,
+nakagami_takashi,1,45,
+nai_gai_hongcha,1,45,
+nagute,1,45,
+mustard_bottle,0,45,
+murasin,1,45,
+muneyuki,1,45,
+mugikoma,1,45,
+mstm,1,45,
+morisaki_kurumi,1,45,
+mopiwo,1,45,
+monopoly,3,45,
+monkey_d._luffy_(cosplay),0,45,
+monja_(monja0521),1,45,
+monegi,1,45,
+mokutan_mmmm,1,45,
+moi2m3,1,45,
+mogura_(nichijou),0,45,
+mochizuki_saku,1,45,mochiduki_saku
+mochizuki_jun,1,45,
+mnmktn,1,45,
+mizutsune_(armor),4,45,
+mizuno_kakeru,1,45,
+mizuki_miyu,1,45,
+mizui_kaou,1,45,
+mizore_arius,1,45,
+mizone,1,45,
+miyuki_(nyaa),4,45,
+miyuika,1,45,
+miyapo,1,45,
+miyaguchi_kanna,4,45,
+mitty_(made_in_abyss)_(human),4,45,
+mitsuki_mouse,1,45,
+mitsuka_souji,4,45,
+mistermagnolia,1,45,
+mister_rhino_(wangzisama1001),1,45,
+misogi_(halloween)_(princess_connect!),4,45,
+mismatched_underwear,0,45,
+misakichintin,1,45,
+misaki_yuu_(misaki_1192),1,45,
+minowa_hikari,4,45,
+mikepon_(ota_office),1,45,mikei
+mikan_imo,1,45,
+migiwa_kazuha,4,45,
+mighty_switch_force!,3,45,
+midori_(kimi_ga_shine),4,45,
+michaellee4,1,45,
+miao_yao_cha,1,45,house88812317
+meyuu_(kso),4,45,
+mercury_(planet),0,45,
+mephilas_seijin,4,45,
+meiji_(meizi493),1,45,
+megotokyo,1,45,
+meginalter,1,45,
+meettheton,1,45,
+mchi,1,45,
+matuda_(matudayazo),1,45,"matsuda_oruta,matudayazo2"
+matsuoka_shuuzou,4,45,matsuoka_shuzo
+mashiro_tomoya,4,45,
+mas_(5734ghji),1,45,
+marine_(ahute),4,45,
+marina_(noill),4,45,
+mariandale,4,45,
+maochao,4,45,
+malzahar,4,45,
+maltese_cross,0,45,
+mallet_(instrument),0,45,
+male_fighter_(dungeon_and_fighter),4,45,
+makochan42,1,45,
+makishima_yuusuke,4,45,
+makenevemoiine,1,45,
+makar,4,45,
+majolica_le_fay,4,45,
+maiko_(yoshida308),1,45,
+mahousho,1,45,
+magical_mirai_meiko,4,45,
+magical_antique,3,45,"magicalantique,majian"
+magi_(cu-little2),1,45,
+maehara_nina,4,45,
+mad_bear_(tiger_&_bunny),4,45,
+maboroshi_dandy,1,45,
+m82a1_(girls'_frontline),4,45,
+m26_pershing,0,45,
+m1_bazooka,0,45,bazooka
+lynxgriffin,1,45,
+lusamine_(sygna_suit)_(pokemon),4,45,
+lunica,1,45,
+lump_of_sugar,3,45,
+lucina_(fire_emblem)_(cosplay),0,45,
+lowain_(granblue_fantasy),4,45,
+loussier_ellerensia,4,45,
+loud,0,45,
+llpfmfc,1,45,
+living_jar_(elden_ring),4,45,
+little_thunder,1,45,
+limousine,0,45,
+lilium443,1,45,ririumu
+liane_mistlud,4,45,
+leoharju,1,45,
+lenny_face,0,45,
+leje39,1,45,
+leglus,1,45,
+lee-taro,1,45,
+leafa_(sao:im),4,45,
+lch,1,45,
+laurelfalcon,1,45,
+lanlanlu_(809930257),1,45,
+lamp_p9,1,45,lamp-p9
+lafrenze,4,45,
+lady_nagant,4,45,
+lace_dress,0,45,
+lace-up_legwear,0,45,
+kzm,1,45,
+kyuuakaku,1,45,
+kyaradain,1,45,
+kuzakura_mika,4,45,
+kuusen_madoushi_kouhosei_no_kyoukan,3,45,
+kurukuru_(korekita),1,45,
+kurouso_(meikyoushisui),1,45,
+kurose_nao,1,45,
+kurosawa_karura,1,45,
+kurono_hyouka,1,45,
+kuromu_(cr0711),1,45,
+kurojiya,1,45,
+kuroi_k-ta,1,45,
+kurobeko_(kur0bek0),1,45,
+kurisu_ams,1,45,
+kuno,1,45,kuno_(kc9s)
+kumaneko_rococo,1,45,
+kuma_teikoku,1,45,kuma_teikoku_(artist)
+kukku,1,45,
+kujou_mikuru,1,45,kyuujou_mikuru
+kujiramaru,1,45,
+krjenl,1,45,"burakio,campylo_bactaro,ro_(user_gpga8884),tanakarabutter"
+krile_mayer_baldesion_(ff14),4,45,
+kozuka_yasushi,1,45,kodzuka_yasushi
+koyanagi_hanako,4,45,
+koutetsu_no_majo_annerose,3,45,
+kouri_(kyorosuukeeeeeee),1,45,
+koroneko_p0w0q,1,45,
+kornod,1,45,
+kor_meteor,4,45,shing_meteoryte
+konununui,1,45,
+konoha_(nozomi_tsubame),4,45,
+konekoneko_(indonesia),1,45,
+konachan_sample,5,45,
+kokorin,1,45,
+kokollet,1,45,
+kokoda_kouji,4,45,kokoda_koji
+kokaji_sukoya,4,45,
+kogawawaki,1,45,
+kofumi_(nxme5555),1,45,
+kocona,1,45,
+kobeni_hijiko,1,45,
+knife_behind_back,0,45,
+knbilove,1,45,
+kk_(kkgame7733),1,45,
+kitanxjk,1,45,
+kitakami_kai_(kancolle),4,45,
+kissing_stomach,0,45,stomach_kiss
+kise_chiharu,4,45,
+kisaragi_tsubasa,4,45,
+kir_(khw66136132),1,45,
+king_of_hearts_(card),0,45,
+king_arthur_(mythology),4,45,
+kindo,1,45,
+kinagi_(3307377),1,45,
+kikurage_tom.,1,45,kikuragetom
+kihara_atsurou,4,45,
+kido_keiji,1,45,
+keraton,1,45,
+kemi_(kemi433),1,45,
+keith_shadis,4,45,
+kchair02_(k02-yan),1,45,
+kazeto,1,45,
+kaze_ga_tsuyoku_fuiteiru,3,45,run_with_the_wind
+kawashiro_nitori_(kappa),4,45,
+kawara_hajime,1,45,hajimu_orbital
+kawahara_makoto,1,45,
+katkichi,1,45,
+kasumi_(doa)_(cosplay),0,45,
+kasane_ao,4,45,
+karrablast,4,45,
+karasuma_sakura,4,45,
+kappe_reeka,1,45,
+kanonno_grassvalley,4,45,
+kannagi_yuuri,4,45,
+kangoku_senkan_2,3,45,
+kanda_aoi,4,45,
+kanagata_sugumi,4,45,
+kamihara_mizuki,1,45,
+kallen_kaslana_(ritual_imayoh),4,45,
+kakerayuri,1,45,
+kaede_(ragnarock_city),4,45,
+kabaya_kousuke,1,45,
+kabata_(mechisan),1,45,
+k29,1,45,
+k-ma,1,45,
+jude_(minority_lilac),1,45,
+jou_(mono),1,45,
+johnson_zhuang,1,45,crow_aberdeen
+jnsdh,1,45,thejnsdh
+jinko_(monster_girl_encyclopedia),4,45,
+jiliang_ji_ying,1,45,
+ji_mag_(artist),1,45,
+jerry,1,45,
+jeina_(sumiyao_(amam)),4,45,
+jane_doe_(john_doe),4,45,
+jandare,1,45,
+itou_katsunobu,1,45,
+ishihama_masashi,1,45,
+isetta,1,45,
+iscario_(forever_7th_capital),4,45,
+irodori_koukou_gasshoubu_yori,3,45,
+irkawaza,1,45,
+iris_wilson,4,45,iris_watson
+ionocidium_(flower_knight_girl),4,45,
+inui_achu,1,45,
+insyu,1,45,
+inside_clothes,0,45,inside_clothing
+insect_on_finger,0,45,
+inoue_takumi,1,45,
+inkarmat,4,45,
+inishie_no_megami_to_houseki_no_ite,3,45,
+immortals:_muvluv_alternative,3,45,
+imminent_double_penetration,0,45,
+imminent_bestiality,0,45,
+ikusa_katato,4,45,
+ikuhashi_muiko,1,45,
+iizuka_yuzu,4,45,
+ichimoku_(tansio5),1,45,aonekonbu
+ichi10art,1,45,
+ice_sculpture,0,45,
+ibuki_kouko,4,45,
+ibuki_(ibukiro1003),1,45,
+houshou_(azur_lane),4,45,
+horiuchi_osamu,1,45,
+hori_kyouko,4,45,
+hooded_leotard,0,45,
+homua,1,45,
+homare_(g_hmr88),1,45,
+holocure,3,45,
+hole_in_ears,0,45,
+hiwa_industry,1,45,sidehiwinder
+hishi_(k-xaby),1,45,k-xaby
+hisame_(fire_emblem),4,45,hisame_(fire_emblem_if)
+hiroyuki_takahashi,1,45,
+hirosaki_kanade,4,45,
+hippopotas,4,45,
+hercules_(1997_film),3,45,
+hentai_kuwa,1,45,
+hell's_kitchen,3,45,
+helen_parr,4,45,
+hei_chuan_gui,1,45,
+hegemon_edelgard,4,45,
+heaven_ascended_dio,4,45,
+heart_ring_choker,0,45,
+hayamaso,1,45,
+hashiribe_akira,1,45,
+hashimoto_w.s.,1,45,
+harutoshi,1,45,nigorimizu
+haruichi_(sazanami_complex),1,45,shunichi_(kira2afro)
+hare-kon.,3,45,harem_marriage
+hanzo_(2929),1,45,0721kin29n
+hanuu,1,45,
+hane_(feathe02),1,45,
+hakurou_(onmyoji),4,45,bai_lang
+hakinikui_kutsu_no_mise,1,45,
+hair_net,0,45,
+haggy,1,45,
+hadurin_(zdmzy),1,45,
+hachiware,1,45,
+hachimitsucoffee,1,45,
+h-01,4,45,
+gyuuki_(yuyuyu),4,45,
+gweon_sua,4,45,
+gungnir_(toaru),0,45,
+gundou_musashi,3,45,"gun_musashi,gundoh_musashi"
+gundam_virtue,4,45,
+guglielmo,1,45,
+gucha_(netsu),1,45,
+grubbin,4,45,
+goto_hime,4,45,
+goldion_hammer,0,45,
+gobul_(armor),4,45,
+gipple,4,45,
+gingham_skirt,0,45,
+gift_eternal_rainbow,3,45,
+gesoking,1,45,gesoking06
+geromonja_teitoku,1,45,
+gerigoo,1,45,
+gd_choco,1,45,
+gattsun,1,45,
+ganzyu_i,1,45,
+gangnam_style,3,45,
+galaco,4,45,
+gagame,1,45,
+fuuun_ishin_dai_shogun,3,45,enka_oudou_dai_shogun
+fuusha,1,45,
+futurama,3,45,
+futomayu-chan_(sinohira_rin),4,45,
+futatsuiwa_mamizou_(cosplay),0,45,
+futago_no_haha_seihonnou,3,45,
+furumiya_neko,1,45,
+furiruno,1,45,
+furafura,1,45,
+fuguu-chan,4,45,
+fuetakishi,1,45,
+frofrofrost,1,45,
+fraud,0,45,
+fishing_gear,0,45,
+fish-flavored_toast,0,45,
+fire_stone,0,45,
+fiona_mayfield,4,45,
+fio_piccolo,4,45,
+fingers_between_toes,0,45,
+finger_cannon,0,45,
+final_fantasy_crystal_chronicles:_echoes_of_time,3,45,
+fii_fii_(feefeeowo),1,45,
+felt_whitesnow,4,45,
+feena_(ys),4,45,
+falslander,3,45,
+fake_scan,0,45,
+f.k_(hs225kr),1,45,hwoking
+exice-zero,4,45,
+espen_olsen_saetervik,1,45,
+enusabu_(enusub),1,45,
+enterprise_(anniversary_ride)_(azur_lane),4,45,
+enishi96,1,45,
+empress_(last_origin),4,45,
+emje_(uncover),1,45,
+ellie_niunai_zhuyi_zhe,1,45,
+eli_clark,4,45,seer_(identity_v)
+electric_wind_instrument,0,45,
+eldigan_(fire_emblem),4,45,eltoshan_(fire_emblem)
+ego6,1,45,
+edain_(fire_emblem),4,45,adean_(fire_emblem)
+drawingddoom,1,45,
+doumyouji_cocoa,4,45,
+dougram,4,45,
+doryudory,1,45,
+dormouse_(monster_girl_encyclopedia),4,45,
+doren,1,45,
+dorami,4,45,
+dongyue_sakura,1,45,
+donaldakron,1,45,
+dolce_(rune_factory),4,45,
+dive_bomber,0,45,
+diolemonde,1,45,
+dice_coffeedox,1,45,
+di_qiu_wang_shi,3,45,
+devil_lo,1,45,
+devi_(elsword),4,45,
+deoxys_(speed),4,45,
+denshinbashira_(bashirajio!),1,45,
+denjinq,1,45,
+decadriver,0,45,
+death_box_(apex_legends),0,45,
+dc_(makezzal),1,45,
+darth_vader_(cosplay),0,45,
+dantalian_no_shoka,3,45,"bibliotheca_mystica_de_dantalian,the_mystic_archives_of_dantalian,the_mystic_archives_of_dantalian"
+damiaodi,1,45,
+daikazoku63,1,45,
+dahlia_(pokemon),4,45,
+da_ji,4,45,
+czc_(deko),1,45,
+cynthia_(sygna_suit)_(renegade)_(pokemon),4,45,
+cure_slum,1,45,
+cure_miracle_(sapphire_style),4,45,
+cure_lovely_(lollipop_hip_hop),4,45,
+cupen,1,45,
+cryo_cicin_mage_(genshin_impact),4,45,
+crow-chan_(karasu_raven),4,45,
+crouching_start,1,45,kurauchin_start
+cottontail_(voice_actor),1,45,cottontail_(va)
+cookie_jar,0,45,
+colored_tears,0,45,
+code:_electra_(elsword),4,45,
+clover_(hi-per_pinch),1,45,
+clover-shaped_pupils,0,45,
+clobbopus,4,45,
+cliana_rimskaya,4,45,
+clash_kuro_neko,1,45,
+cing,3,45,
+cinemagraph,0,45,
+ciawasemono,1,45,
+chuunenpi,1,45,
+chuo8008,1,45,
+chun_1234567,1,45,
+chuki_(lydia),1,45,
+choko_(chokotto_sister),4,45,
+chisuke_1104,1,45,
+chiku_(gesu),1,45,
+chika_(keiin),1,45,
+chicchana_yukitsukai_sugar,3,45,
+chibi_vanille,1,45,
+cheri_berry,0,45,
+cheno_(amakuchi_mustard),1,45,
+cheep_cheep,4,45,
+chasen,0,45,
+character_pin,0,45,
+chaka3464,1,45,
+cero320,1,45,
+centaur_no_nayami,3,45,a_centaur's_life
+cave_(neptune_series),4,45,
+catapult_(arknights),4,45,
+cat_nose,0,45,
+cat_loaf,0,45,
+cassini_m_bisuko,4,45,cassini_m._bisuko
+carrot_earrings,0,45,
+carol_anderson,4,45,
+carina_verritti,4,45,
+caramel_(caramelmilk),1,45,
+canna_(granblue_fantasy),4,45,
+camus_(fire_emblem),4,45,
+caeldori_(fire_emblem),4,45,matoi_(fire_emblem_if)
+burter,4,45,
+bundou_seika,4,45,
+bun'ya_(0874cirno141),1,45,
+bucephalus_(fate),4,45,bucephalus
+bu4321,1,45,
+brown_leggings,0,45,
+brill_p,1,45,
+brand_of_sacrifice,0,45,
+bowser_(cosplay),0,45,
+bounce,0,45,
+borubikku,1,45,
+blowgun,0,45,
+blazbluefairy,1,45,
+blackberry_cookie,4,45,
+black_reaper,4,45,
+black_lemon-chan,4,45,
+bitten,0,45,
+bitou_raimu,4,45,bito_raimu
+bishounen_series,3,45,
+benny_(fire_emblem),4,45,benoit_(fire_emblem_if)
+beelstarmon,4,45,
+be9459,1,45,
+battlefield_4,3,45,
+basilis9,1,45,
+bard_2_(sekaiju),4,45,
+baphomet,0,45,
+banderasu,1,45,
+ban_airi,4,45,
+balsamic_vinegar,0,45,
+bag_on_lap,0,45,
+azzalea,1,45,
+azaz_(last_origin),4,45,
+azarashing_day,1,45,
+ayataka,1,45,
+ayano_rika,4,45,
+awakumo,1,45,
+asuke_yuki,1,45,angelegna
+asuka_mirai_(aikatsu_friends!),4,45,
+astoria_(azur_lane),4,45,
+ashley_mizuki_robbins,4,45,
+armorganger,1,45,
+arisa_glennorth,4,45,
+ariga_hitoshi,1,45,
+arai_chie,4,45,
+aquarium_(visual_novel),3,45,
+aphmau,4,45,
+aoyama_shunsuke,4,45,
+aoilio,1,45,
+aoi_tori_(purple_software),3,45,
+aoi_sora_no_neosphere,3,45,neosphere_of_the_deep_blue_sky
+anz_(starry),1,45,
+ano54,1,45,
+annno_ans,1,45,
+anna_(gekkou_no_carnevale),4,45,anna_(carnevale_della_luce_della_luna)
+anidante,1,45,
+ancient_destroyer_princess,4,45,ancient_destroyer_hime
+amanatsu,3,45,
+amamizu_shizuku,1,45,
+amamizu_(myofuu_kai),1,45,
+am24,1,45,
+almond_tofu_(genshin_impact),0,45,
+allze,1,45,
+alicia_rue,4,45,
+alic_miao,1,45,yoi_(sukie1314)
+aldegon_(rariatto),4,45,
+akitsuki_tsukasa,1,45,
+akisuko,1,45,
+akisame_kou,1,45,
+akiomi_aiko,1,45,
+akaya_(pixiv20545353),1,45,
+akatsuki_francesca,4,45,
+akatsuki_(osamaru36),1,45,
+akamura_saki,1,45,
+akamomo,1,45,
+aimo_(aimo1214),1,45,
+aika_(eternal_arcadia),4,45,
+aesop_carl,4,45,embalmer_(identity_v)
+adolescence_(vocaloid),3,45,
+action_heroine_cheer_fruits,3,45,
+ach,4,45,
+acefish,1,45,
+aburage_(motimotigg20),1,45,
+abataa,1,45,
+a.ringo,1,45,
+79inko,1,45,
+72yan,1,45,
+456,1,45,
+3books,1,45,
+33paradox,1,45,
+1950s_(style),0,45,50s
+10hmugen,1,45,
+zieru,1,44,
+zhi_xie,1,44,
+zerogura,1,44,
+zeri_(zeristudio),1,44,
+zee_(zee_sub),1,44,
+zarude,4,44,
+zangeki_no_reginleiv,3,44,
+zafina_(tekken),4,44,
+yyi,1,44,
+yuzu_kiro,1,44,
+yuzaki_tsukasa,4,44,
+yuuyu_(moco20111115),1,44,
+yuu_(primenumber7),1,44,
+yutori_(clockwork_chicken),1,44,
+yunkru,1,44,
+yukihi,1,44,
+yukichi_(tsuknak1),1,44,
+yuki_onna_(onmyoji),4,44,
+yube_(skyhacker),1,44,
+younger_twin_sister_(muninshiki),4,44,
+youko_(santarose),1,44,youko_(pixiv502346)
+youka_(gensou_kyoudan),1,44,
+yoshinoya_seine,4,44,
+yoshino_(gunform),1,44,
+yoshimune,1,44,
+yoshii_kyoko,1,44,
+yoovora,1,44,
+yokige,1,44,
+yokaranu_yuuna,1,44,
+yo-nashi,1,44,mircoelisa
+yi_cat,1,44,
+yggdra_yuril_artwaltz,4,44,
+yellow_sponge,0,44,
+yasaka_kazuki,4,44,
+yanagiwara_maron,4,44,
+yamazaki_ryuuji,4,44,yamazaki_ryuji
+yamato_(aoki_hagane_no_arpeggio),4,44,
+yamate_kyouko,4,44,
+yamaneko_ken,1,44,
+yamanata,1,44,
+yamakonbu,1,44,
+yamakake_(tororo1293),1,44,
+yakushiji_megumi,4,44,
+yakisoba_(kaz2113),1,44,
+yagisawa_teru,1,44,
+xssh,1,44,
+xiao_me,4,44,
+wuduo,1,44,
+world_of_final_fantasy,3,44,
+wizardry,3,44,
+wizardriver,0,44,
+witch_(dungeon_and_fighter),4,44,
+wing_ribbon,0,44,
+wimple,0,44,
+wife_and_wife_and_wife,0,44,
+white_water,1,44,
+whale_girl,0,44,
+washington_(warship_girls_r),4,44,
+warlock_(granado_espada),4,44,
+wadaka,1,44,
+waa153,1,44,
+vinne,1,44,
+vicchan,4,44,
+vessel_of_sin,0,44,
+vertical-striped_bow,0,44,
+veralde,1,44,
+vera_nair,4,44,
+vera_collins,4,44,vera_(heroman)
+varshahn,4,44,
+usuiken,1,44,
+usuda_hiro,1,44,
+ushiyama_tatsuma,4,44,
+urumi_(urumi00),1,44,
+uraha,1,44,
+uohhhhhhhhh!_(meme),0,44,
+unstableboiler,1,44,
+unscpro,1,44,
+unova_mother_(bw),4,44,
+unitsu,1,44,
+unicorn_(little_star_songstress)_(azur_lane),4,44,
+under_fire,0,44,
+uncats,1,44,
+ultra_beam,0,44,
+uirina,1,44,
+ufo_koikoi,1,44,
+uchida_shuu,4,44,
+uchi_no_pet_jijou,3,44,neko-mimi_sweet_housemates
+turna98,1,44,
+tsuyuta_kome,1,44,
+tsurukawasha,1,44,
+tsumugi_(halloween)_(princess_connect!),4,44,
+tsukimiya_kamiko,1,44,
+tsukiji_uogashi_sandaime,3,44,
+tsugou_makina,4,44,
+tsuchinoto,1,44,
+tsubaki_(yi),1,44,
+travo,1,44,
+tranquill,4,44,
+traene_(sorai_shin'ya),4,44,
+toyoura_(23066494),1,44,
+towrituka,1,44,
+tousou_(touken_ranbu),4,44,
+touching_toes,0,44,
+torn_sarashi,0,44,
+torla16,1,44,
+torii_koyomi,4,44,
+toona,4,44,
+toku_kekakewanko,1,44,
+toki_(tokinokogiri),1,44,
+togeshiro_azami,1,44,
+tiger_mask,4,44,
+tiffany_lilith_stella,4,44,
+tian_ling_(qys3),4,44,tian_ling_(bai_yemeng)
+thunder_stone,0,44,
+thousand_sunny,4,44,
+those_girls,1,44,hawaichung
+the_little_mermaid_(andersen),4,44,
+the_hermit_(tarot),0,44,
+the_empress_(tarot),0,44,
+tenpou_gensui,1,44,tenpo_gensui
+tennouji_nae,4,44,
+tenmaru,1,44,
+tenhi_tsukitori,1,44,
+tengawara,0,44,
+tendou_kisara,4,44,
+temple_gate,0,44,
+temoshi,1,44,
+tekla,1,44,
+tekito_midori,1,44,
+tecchen,1,44,
+tear_(recettear),4,44,
+tb_(spr1110),1,44,
+tattsun_(blue&hazel),1,44,nukonuko_(8731)
+tanukimaso,1,44,
+tanoshii_meat,1,44,
+tank_(artist),1,44,
+tanaken,1,44,
+tanaka_(cow),1,44,
+tamami_(jonsun),4,44,
+takashima_remi,4,44,
+takano_kou,1,44,
+takamiya_mizuki,1,44,
+takamiya_honoka,4,44,
+takai_sayaka,4,44,
+taihou_(azur_lane)_(cosplay),0,44,
+tablet-tan,4,44,
+syringe_holster,0,44,
+sypha_belnades,4,44,
+svveetberry,1,44,
+suzume_(simple0091),1,44,
+sutochan,1,44,
+supershrimpcakes,1,44,
+super_robot_wars_mx,3,44,
+super_nintendo,0,44,
+sunset_nivaris,1,44,
+suneo_(goten),1,44,
+sumemako,1,44,
+sukeroku_(treeee),1,44,
+sugac,1,44,
+suction_bomb_(splatoon),0,44,
+suchi_(fsur7444),1,44,
+stuffed_giraffe,0,44,
+stuffed_elephant,0,44,
+stroking_beard,0,44,
+steel_mask,0,44,
+stc,1,44,
+spiked_wings,0,44,
+spider_web_background,0,44,
+spec,3,44,
+spawn_(spawn),4,44,
+soul_eater_not!,3,44,
+soujirou_(new_game!),4,44,
+sorairo_innocent,3,44,
+sophie_(fire_emblem),4,44,sophie_(fire_emblem_if)
+sooperman,1,44,
+songstress,0,44,
+song_ren,1,44,
+sogegin,1,44,
+so_nagi_(artist),1,44,
+snake_costume,0,44,
+smeared_blood,0,44,
+slingshot_tan,0,44,
+six_(little_nightmares),4,44,
+siren_(borderlands),0,44,
+sion_0d1m,1,44,
+simonov_(girls'_frontline),4,44,simonov_(girls_frontline)
+silver_skirt,0,44,
+siegfried_kircheis,4,44,
+side_split,0,44,
+shuninshunin,1,44,
+shounen_hollywood,3,44,
+shoumetsu_toshi_2,3,44,
+shiso_azuki,1,44,
+shirou,1,44,
+shiro_(tower_of_fantasy),4,44,
+shiraui_tsumugi,4,44,
+shiontaso,1,44,
+shinobu_(princess_connect!),4,44,kamiki_shinobu
+shinku_p,1,44,
+shinju-kan_uniform,0,44,
+shinigami_wyvern,1,44,42wv
+shinigami0139,1,44,
+shindou_mitsuko,4,44,
+shin_megami_tensei:_if...,3,44,
+shimoogawa,1,44,
+shimashi_(mori_no_sato),1,44,"mori_no_satomi,morinosato_smsm"
+shikidouji,1,44,
+shigen,1,44,
+shigatsu_(soratobuusagi),1,44,
+shibuya_susano,1,44,
+shelby_seraphine,4,44,
+sharan_(dungeon_and_fighter),4,44,
+shamshel,4,44,
+shaliva,1,44,
+shakata_(syakatan),1,44,
+sexy_commando_gaiden:_sugoiyo!_masaru-san,3,44,
+senryuu_shoujo,3,44,
+senra_(singer),4,44,
+senketsu_(scarf),4,44,
+sena_kizahashi,1,44,
+seifer_almasy,4,44,
+scarecrow_(twooz),4,44,
+scandinavia_peperoncino,4,44,"arou_myourenji_(fate),pepe_(fate)"
+saturn-freak,1,44,
+satou_yuu,1,44,
+sasha_kruschschev,4,44,
+sasaki_youko,4,44,sasaki_(k-on!)
+sarina_(tosiyukiryousuke),1,44,
+sarah_stone,1,44,
+sangoku_romance,3,44,
+sandragh,1,44,
+sanderson,1,44,
+sandayu_(housamo),4,44,sandayu_(tokyo_houkago_summoners)
+samidareura,1,44,
+samemanma,1,44,
+sakurafubuki_nel,1,44,
+sakura_(honkai_impact),4,44,
+sake_barrel,0,44,
+sakamoto_maaya,4,44,
+sakamoto_kazuya,1,44,
+sakai_jin,4,44,
+saitou_kakkou,1,44,
+sagoromo_04,1,44,
+saegusa_miko,4,44,
+sabiimo25,1,44,
+sabatuki,1,44,
+ryuukishi_bloody_saga,3,44,
+ryouko_(lovelovela),1,44,
+ryou_(kemurikusa),4,44,
+ryan_(dq4),4,44,
+rustysalmon,1,44,shd_(user_rshh2222)
+roots_(hair),0,44,
+room603,1,44,
+roland_(fate),4,44,roland_(fate/grand_order)
+robin_hood_(summer_hunter)_(fate),4,44,
+ro_(igris-geo),1,44,
+ro-ichi,1,44,
+rkzrok,1,44,
+ringo_ame,1,44,
+rindo,1,44,
+rikka_(rikka331),1,44,
+rifleman1130,1,44,"rifleman_(bjh8508),whdgus2078"
+rhemora,1,44,
+revya_(female),4,44,
+renkin_arthur,4,44,
+rena_illusion,1,44,
+reit,1,44,
+red_tulip,0,44,
+red_girl_(yuuhagi_(amaretto-no-natsu)),4,44,
+red_beryl_(houseki_no_kuni),4,44,
+recoil,0,44,
+realdoll,0,44,
+re-ka,1,44,
+rayman_(series),3,44,
+rawrden,1,44,
+ramune_(cherrykde),1,44,
+rakku_(rkrmz0n),1,44,
+raiden_mei_(shadow_dash),4,44,
+ragna_the_bloodedge_(cosplay),0,44,
+radjeong,1,44,tlstjseh100
+rable,1,44,
+rabbit+tank_form,0,44,
+r93_(holiday_lucky_star)_(girls'_frontline),4,44,
+qiangzi,1,44,
+qi_sili,4,44,
+python_(snake_legs),1,44,
+pyrite_(ironbunz),4,44,
+purple_(jobseeking),1,44,
+purdoy25,1,44,
+print_neckerchief,0,44,
+princess_of_the_crystal_(cosplay),0,44,
+princess_evangile,3,44,
+princess_dress,0,44,
+pretty_x_cation,3,44,
+prairie_(mega_man),4,44,prairie
+pr_(puru),1,44,
+power_cord,0,44,
+pouring_onto_pussy,0,44,
+potatopanicking,1,44,
+poppin'_up_(love_live!),0,44,
+popo_(popopuri),1,44,
+pon_de_lion_(cosplay),0,44,
+pomeranianko,1,44,pororin
+polygonal,0,44,
+poinikusu,1,44,
+plant_boy,0,44,
+pick'k,1,44,
+pham_thai_chau,1,44,"riiya,thaichau"
+petite_miku,4,44,
+penny_crygor,4,44,
+penis_chart,0,44,
+pen_spinning,0,44,
+pectorals_on_glass,0,44,pectorals_against_glass
+pearl_anklet,0,44,
+patricia_wagon,4,44,
+party_parrot_(meme),0,44,
+parn_(lodoss),4,44,
+parai0,1,44,
+pachio_(patioglass),1,44,
+overine19,1,44,
+ots-12,0,44,
+oshiyon,1,44,
+osanpo02,1,44,
+orion-m,1,44,
+orihira,1,44,
+orange_eyewear,0,44,
+oppai_ball,0,44,
+ophis_(high_school_dxd),4,44,
+ooshima_miwa,1,44,
+ookusa_manami,4,44,
+onoda_yura,4,44,
+one_piece_film:_z,3,44,
+okurapuchi,1,44,
+okita_ababa,1,44,
+okayashi,1,44,
+ogi_(torikari),1,44,torikari
+ogasawara,1,44,zonbaio
+official_art_inset,0,44,
+ofelia_(gogalking),4,44,
+odeclea,1,44,
+oda_nobunaga_(sengoku_otome),4,44,
+oda-sama_(yatterman),4,44,
+ochibana_ame,4,44,
+nyxkz,1,44,nickniceth
+nyaon_oekaki,1,44,
+nuntarou_(niudon_kajika),1,44,4545-tarou
+north_kaiou,4,44,king_kai
+no_ahoge,0,44,
+niyadepa,1,44,
+nitoridio,1,44,
+nishizono_honoka,4,44,
+nishio_kouhaku,1,44,
+nishiki_ryouma,4,44,
+nipple_push,0,44,
+ninjinshiru,1,44,
+niimura_akane,4,44,
+nigiribashi,0,44,
+night_strait_princess_(white),4,44,night_strait_hime_(white)
+nigekiri_sisters_(umamusume),0,44,
+nevermind,3,44,
+nessa_(fractale),4,44,
+neroshi,1,44,
+nekozombie,1,44,
+negiko,1,44,
+neee-t,1,44,
+nazuki_nazu,1,44,
+nayuyu1105,1,44,
+natsumi_(natumi06),1,44,
+natsume_remon,4,44,
+narumi_(uminari),1,44,
+naraku_(senran_kagura),4,44,
+napkin_holder,0,44,
+naotaka,1,44,
+nanbu_chitose,4,44,
+nanashi_mumei's_horror_painting,4,44,
+nanase_yoshino,4,44,
+nanase_(amagamido),4,44,
+nanakorobi_yaoki,1,44,
+nana-ine,1,44,
+namaniku_(nmnk2020),1,44,
+naked_cat,1,44,
+nakamura_misaki,4,44,
+nagiru,1,44,
+na2,1,44,
+n7_armor,0,44,
+mygiorni,1,44,
+muyang,1,44,
+muteki_koujin_daitarn_3,3,44,
+musou_orochi_2,3,44,warriors_orochi_2
+mrt_mr,1,44,isomu
+moy64904958,1,44,
+morishita_michiru,4,44,
+morimoto_hirofumi,1,44,
+moosopp,1,44,
+mono_(mono_mon),1,44,"0ye,mono_mon"
+monk_4_(sekaiju),4,44,
+money_rain,0,44,
+momofukki,1,44,
+molly,1,44,
+mokichi_(nvzy3n),1,44,ps3c0d8f
+moblin,4,44,
+mmlu_(honwa_karesu),1,44,
+mizuhara_arisa,4,44,
+miyahara_ruri,1,44,
+miyabe_makoto,1,44,
+miura_akane,4,44,
+mistimagi,1,44,
+misoradeko,1,44,
+miokuri,1,44,
+mio_(dream_c_club),4,44,mio_(dream_club)
+mint_(flower_knight_girl),4,44,
+minatsuki_nao,1,44,asakura_nagi
+minami_ikkei,1,44,
+millcutto,1,44,
+mikujin_(mikuzin24),1,44,
+mikoto_freesia_scarlet_(goma),4,44,
+mikanoisi,1,44,
+mikan-ya,1,44,
+miia's_mother,4,44,
+migumi_(niiya),4,44,
+migimaki_(migi_mawashi),1,44,
+migata,1,44,
+midnight_(arknights),4,44,
+michaela_(evillious_nendaiki),4,44,
+mice_(rune_factory),4,44,
+mg36_(girls'_frontline),4,44,
+mew_pudding,4,44,
+messengers_(bloodborne),4,44,
+mess_kit,0,44,
+meryl_star,4,44,
+merue,1,44,
+merlin_(nanatsu_no_taizai),4,44,
+merii,1,44,
+menokonome,1,44,
+memetaroh,1,44,oraoranudamuda
+melua_melna_meia,4,44,
+mega_man_4,3,44,rockman_4
+mega_man:_powered_up,3,44,rockman_rockman
+meg_(granblue_fantasy),4,44,
+mazinger_z:_infinity,3,44,
+mayokichi,1,44,
+maya_sawamura_anderson,1,44,
+matchaneko,1,44,
+mastermind_(elsword),4,44,
+master_(gyee),4,44,
+mashiroma_zenima,4,44,
+mashiko_kaoru,4,44,
+masato_(josou_jinja),4,44,
+maritan,4,44,
+marinasu,3,44,
+maria_(saidaioujou),4,44,
+mappo_m2,1,44,
+mao_(mizuki_kotora),4,44,
+manatsu_no_yoru_no_yuki_monogatari,3,44,
+mammoth_(kemono_friends),4,44,
+mamezuka_takashi,1,44,
+mameroku,1,44,
+mamamoo,3,44,
+makiemon,1,44,
+mak,1,44,
+majin_(kiidoumajin),1,44,
+maiq06,1,44,
+magnum_boost,0,44,
+magneto,4,44,
+maenoo,1,44,
+madokan_suzuki,1,44,
+macross_2,3,44,
+macross:_the_first,3,44,macross_the_first
+m320,0,44,
+m32,0,44,
+m1897_(girls'_frontline),4,44,m1897_(girls_frontline)
+luka_millfy,4,44,
+ludwig_von_koopa,4,44,
+lucia_(ogino_atsuki),4,44,
+lucerna_lunam,1,44,
+lu_xueqi_tongren_ye,1,44,
+lu_bu_(fate),4,44,
+lrpanda00,1,44,
+loxodon,1,44,tewisoku
+lotus_hair_ornament,0,44,
+longcloud,1,44,
+litleo,4,44,
+lingxia,1,44,
+ling_xiang,1,44,
+lime_(among_us),4,44,
+lilac_(k32420276),1,44,
+leviathan_(the_seven_deadly_sins),4,44,envy_(the_seven_deadly_sins)
+levia-san,4,44,
+leto_(arknights),4,44,leta_(arknights)
+lemres_(puyopuyo),4,44,
+lemon_pan,1,44,lemon_pan2
+lemon-chan,4,44,
+legionnaire,0,44,
+leclle,1,44,
+lavie,1,44,
+lauren_iroas,4,44,
+late,0,44,
+laserdisc_cover,0,44,
+lappet-faced_vulture_(kemono_friends),4,44,
+lala_(g_(genesis1556)),4,44,
+kyuunosuke_(lactis09),1,44,
+kyousa38,1,44,kyo-usa
+kyojinjoa,1,44,
+kyanpero,1,44,
+kuzehashi_akari,4,44,
+kuyukian3,1,44,
+kuto_tubuyaki,1,44,
+kuso_bba,1,44,
+kusaka_yuuya,1,44,
+kurutsuki,1,44,
+kurt_robinson,1,44,
+kuroki_manatsu,4,44,
+kurokami,3,44,black_god
+kurohane,1,44,
+kurogoma,1,44,
+kuro_wa_shinoru,1,44,
+kuribayashi_shino,4,44,
+kukurus,1,44,
+kuki_sanban,4,44,
+krokorok,4,44,
+kricketune,4,44,
+kozakura_shion,4,44,
+koyubita,1,44,
+koyomi_(shinshia),4,44,
+kouson_q,1,44,
+kousaka_chihaya,4,44,
+koucha_maru,1,44,
+koube_an,1,44,
+kotarou_(kot_mochi),1,44,
+koshou_shichimi,1,44,
+koshi_(koshi_vortex),1,44,
+konoekihei,1,44,
+konishiki_(52siki),1,44,
+konbuni,1,44,kouin_n
+komoe_(hinagatu),1,44,
+koma_kitsune_(kururito),1,44,
+kom0980,1,44,
+kokumu,1,44,
+kohinata_hikari,4,44,
+kmikan,1,44,
+klein_(fire_emblem),4,44,
+kizaki_erika,4,44,
+kita_no_miko,4,44,
+kishimasa,1,44,
+kiryuu_kurou,4,44,
+kirudai,1,44,
+kiriya_haruhito,1,44,
+kirisaki_kyouko_(toloveru),4,44,
+kiri_(lwp01_lav),1,44,
+kirameki_mamika,4,44,
+kimura_naoki,1,44,
+kimiyoshi_natsumi,4,44,
+kimigabuchi,1,44,
+kima,1,44,
+kikujin,1,44,
+kikaijima_mogana,4,44,
+kibisakura2,1,44,
+ki-43_hayabusa,0,44,
+keshin_armed,0,44,
+kero_kero_keroppi,3,44,
+kentou_kanami,4,44,
+kemoribon,1,44,
+keke_(kekekue),1,44,
+kazamatsuri_rinna,4,44,
+katsuragi_chikagi,4,44,
+kateikyoushi_no_onee-san,3,44,
+karasu_h,1,44,
+kaprice,1,44,
+kanojo_no_seiiki,3,44,
+kanata_no_astra,3,44,astra_lost_in_space
+kanashi_kumo,1,44,huskk
+kamotsu_yasai,1,44,
+kamkac,1,44,
+kamino_ryuuya,1,44,
+kamenakake,1,44,
+kamen_rider_ouja,4,44,
+kamen_rider_kick_hopper,4,44,
+kamabokopic,1,44,
+kallen_kaslana_(sin_hunter),4,44,
+kakaaru,1,44,
+kajun,1,44,
+kajii_supana,1,44,
+kaho_0102,1,44,
+kagamin_bocchi,3,44,
+kado,1,44,
+kac-pdw_(girls'_frontline),4,44,kac-pdw_(girls_frontline)
+kaburi_chiko,4,44,
+k3_(girls'_frontline),4,44,k3_(girls_frontline)
+justice_(tarot),0,44,
+justice_(guilty_gear),4,44,
+juralumin,1,44,
+jun_(ash),1,44,
+julian_mintz,4,44,
+jowy_atreides-blight,4,44,
+joshu-san,4,44,
+joney,1,44,
+johnalay,1,44,
+john_zerowb,1,44,
+jitome-chan_(tawawa),4,44,
+jintianhuahualema,1,44,
+jinguuji_jakurai,4,44,
+jimeko,1,44,tateuchi_aki
+jiayu_long,1,44,
+jhonwalker,1,44,
+jhc_kai,1,44,
+jellypon,1,44,1elda1
+jeice,4,44,
+jeanne_d'arc_alter_(ver._shinjuku_1999)_(fate)_(cosplay),0,44,
+jeancle_abel_meuniere,4,44,
+jay_b_lee,1,44,
+jay_(tales),4,44,
+jaken,4,44,
+jag_ging,1,44,
+jack_in_the_box_(toy),0,44,
+ivy_(flower_knight_girl),4,44,
+itsumi_erika's_gunner,4,44,
+itou_yoshiyuki,1,44,
+isumi_(i-spixi),1,44,
+isuke,1,44,
+ishitsuki_(_0101_831),1,44,
+isaac_(golden_sun),4,44,robin_(golden_sun)
+irori_(hearth),0,44,
+iro_178,1,44,tyyni
+iris_yayoi,1,44,
+inumaru_akagi,1,44,
+inuinu_(project_october),1,44,
+inspector_gadget,3,44,
+inkspirate,1,44,
+inada_roku,1,44,
+imoto_yuki,1,44,
+imai_asami,4,44,
+imagine_breaker,0,44,
+im_catfood,1,44,
+ikazuchi_no_senshi_raidy_ii,3,44,lightning_warrior_raidy_ii
+ikazuchi_(kancolle)_(cosplay),0,44,
+ii_fuufu_no_hi,0,44,
+ignis_no_meiyaku_kishi,3,44,
+iggy_koopa,4,44,
+igawa_asagi_(cosplay),0,44,
+idlecum,1,44,idlecil
+ice_scream,3,44,
+hybrid_cat,1,44,
+hukairi_botan,1,44,
+hue_oo,1,44,
+hudak,1,44,
+houzumi_kaede,4,44,
+hoshimaemi,1,44,
+hoshiko_(419401x),1,44,
+hoshikawa_hotaru,4,44,
+hoshi_(arakawa),4,44,
+horse_pose,0,44,
+hood_over_eyes,0,44,
+honma_meiko_(cosplay),0,44,
+honey_(space_dandy),4,44,
+homeless,0,44,
+holding_sickle,0,44,
+holding_shawl,0,44,
+holding_party_popper,0,44,
+holding_hairband,0,44,
+hobgoblin_(touhou),4,44,
+ho-oh_(artist),1,44,
+hizuki_ayumi,4,44,
+hiyori_chisha,1,44,
+hiyama_izumi_(wttdh),1,44,
+hiyama_hikaru,4,44,
+hitori_(htr_t),1,44,
+hiteihime_(katanagatari),4,44,
+hisana,1,44,
+hiromachi_nanami,4,44,
+hippowdon,4,44,
+hinoka_(allen),1,44,
+hino_hikaru,1,44,
+hiki-wota,1,44,
+hikataso,1,44,
+hikaru_(asteriskring),1,44,
+hikari_to_mizu_no_daphne,3,44,"daphne_in_the_brilliant_blue,daphne_in_the_brilliant_blue"
+helix_fossil,0,44,
+headphones_over_headwear,0,44,
+haydee_(gankutsuou),4,44,
+hatsune_miku_(if),4,44,beta_miku
+hatomura_(tareneko_club),1,44,"hato_(pixiv4500),hato_(tarenekokurabu)"
+hasunoue_keroppi,4,44,
+hashimoto_shin,1,44,
+haruchika,3,44,
+haro_button_badge,0,44,
+happyongdal,1,44,
+happycloud,1,44,
+happy_chaos,4,44,
+haowei_wu,1,44,
+hantsuki_(ichigonichiya),1,44,
+haneten_kagatsu,1,44,
+hanazono_kirara,4,44,
+hanamura_mai,1,44,
+hanamaru_hareru,4,44,
+hanadi_(hndboo),1,44,
+hamayumi_(genshin_impact),0,44,
+hamachi_hazuki,1,44,
+hakuyou-choun,1,44,
+hakuuyori,1,44,
+haho,1,44,
+hachikyaku_rozunieru,4,44,
+gunshot_wound,0,44,
+guided_crotch_grab,0,44,
+guangsupaomian,1,44,
+grey_tongue,0,44,
+grey_male_swimwear,0,44,
+green_suspenders,0,44,
+gradient_bow,0,44,
+grabber_tool,0,44,magic_hand
+gosama,1,44,
+goron_(phde2424),1,44,
+gomibako_(shirokumatei),1,44,
+godzilla_(cosplay),0,44,
+gobou_(gbu),1,44,
+glowing_arm,0,44,
+gishki_ariel,4,44,
+gin_(meitantei_conan),4,44,
+gime,1,44,
+gilbert_guilford,4,44,
+gigawix,1,44,
+geru,1,44,
+gensi,1,44,
+gen_(bividgen),1,44,
+gatchu,1,44,gacchu
+garnet_cradle,3,44,
+gaoyang_ou_nisang,1,44,
+ganno,1,44,
+ganmo,1,44,
+game_screenshot_background,0,44,
+gall_force,3,44,gallforce
+gaku_(wheel_of_lunokhod),1,44,
+gabranth_(ff12),4,44,gabranth_(final_fantasy)
+g.i._joe,3,44,
+fuu'un,3,44,
+future_princess,4,44,
+futoshi_ame,1,44,
+fushimi_yuzuru,4,44,
+fushimi_inari,4,44,
+funasshii,4,44,
+fumiko_(throughx2),1,44,
+fukuinu,1,44,
+fuku_d,1,44,
+fujiwara_tatsuroo,1,44,fujiwara_tatsuro
+fujiwara_mizuki,1,44,
+fujimo_ruru,1,44,
+frostmourne,0,44,
+frontal_wedgie,0,44,
+frog_on_head,0,44,
+freedom_wars,3,44,
+franken_stein_(soul_eater),4,44,dr._franken_stein
+fo~do,1,44,
+foot_bath,0,44,
+flower_border,0,44,
+flik_(gensou_suikoden),4,44,
+five_(drag-on_dragoon),4,44,
+fishnet_panties,0,44,
+fish_earrings,0,44,
+final_smash,0,44,
+final_fantasy_vii_ever_crisis,3,44,
+fidget_spinner,0,44,
+ff_gradient,0,44,
+fall_guy_(cosplay),0,44,
+fairy_knight_gawain_(like_a_lady)_(fate),4,44,
+f-lags_(idolmaster),0,44,
+ezakishii,1,44,
+eyeball_bracelet_girl_(fkey),4,44,
+eso_(toory),1,44,
+eskimofox,1,44,
+erotanuki,1,44,erotakun
+epoxy_putty,1,44,
+enterprise_(starlight_oath)_(azur_lane),4,44,
+endou_aya,4,44,
+endo_mame,1,44,
+emukae_mukae,4,44,
+elsa_(frozen)_(cosplay),0,44,
+elesia,4,44,
+elasticity,0,44,
+eiyuu_chronicle,3,44,
+edward_teach,4,44,
+educk,1,44,
+ed_edd_n_eddy,3,44,
+ebi_no_hito,1,44,
+eat666,1,44,
+dyne_gallon,1,44,
+duximeng,1,44,
+dust_(konosuba),4,44,
+dtcy,1,44,
+drilbur,4,44,
+double_sided_wrench,0,44,
+dosei,1,44,ryvlab
+dornroschen,4,44,
+dooru,1,44,
+dolphin_print,0,44,
+doku_yanagi,1,44,"dokushu_yanagi5322,france_panda"
+dnsdltkfkd,1,44,
+dlkdhy,1,44,
+dleung,1,44,
+dinosaur_hood,0,44,
+diao_chan,4,44,
+desktop_army,3,44,
+des_moines_(warship_girls_r),4,44,
+denden_taiko,1,44,
+deboo,1,44,
+dead_space_2,3,44,
+ddaomphyo,1,44,
+daydremec,1,44,
+danishi,1,44,
+dangmyo,1,44,
+dandel,1,44,
+dam,0,44,
+daien,1,44,
+d-1,4,44,
+cytus,3,44,
+cutlass,0,44,
+cutesu_(cutesuu),4,44,
+cure_happy_(cosplay),0,44,
+cum_on_skirt,0,44,
+cum_bucket,0,44,
+cue!,3,44,
+cryogonal,4,44,
+crimson_lotus_moth_(genshin_impact),4,44,
+crime_scene,0,44,
+core_gundam_ii,4,44,
+core_fighter,4,44,
+connie_maheswaran,4,44,
+collar_chain,0,44,
+cokua,1,44,
+cokecoco,1,44,
+coco_kaine,4,44,
+clock_lock_works_(vocaloid),3,44,
+clere,1,44,
+cielo_(zaki),1,44,
+chun_lo,1,44,
+chrono_(chrono_crusade),4,44,
+christinya,1,44,
+christina_(real)_(princess_connect!),4,44,
+chomo_(asymmate),1,44,
+chloe_(granblue_fantasy),4,44,
+chiyoda_(azur_lane),4,44,
+chitose_kiiro,1,44,
+chipokan,1,44,
+chihara_minori,4,44,
+chigusa_hana,4,44,
+chicken_(chickenx),1,44,
+chica,4,44,
+cherry_(lucky_star),4,44,
+chenaze57,1,44,
+chemistry_set,0,44,
+chara_soon,4,44,
+chaos_0829,1,44,
+chao_ho_(azur_lane),4,44,
+chama_(painter),1,44,
+celsius_(tales),4,44,
+cath_(fire_emblem),4,44,
+casablanca_(cheer_squad_on_break)_(azur_lane),4,44,
+caruta,1,44,
+car-15,0,44,
+cape_grab,0,44,
+cam_(cammero95713700),1,44,
+caleen_keemosn,4,44,
+c.c.r_(ccrgaoooo),1,44,
+bulkhead,4,44,
+brown_armor,0,44,
+bokura_wa_minna_kawaisou,3,44,the_kawai_complex_guide_to_manors_and_hostel_behavior
+body_bag,0,44,
+bm94199,1,44,bm94199241
+bling_(wnsdud34),1,44,
+blackheartxiii,1,44,
+bkub_duck,4,44,
+bis_(jsr),4,44,
+binding,0,44,
+big_zam,4,44,
+besuyama,1,44,
+benawi,4,44,
+belle_(katahane),4,44,
+believe_again,0,44,
+behemoth,0,44,
+beat_(jsr),4,44,
+bean_bandit,4,44,
+beak_(girls'_frontline),4,44,beak_(girls_frontline)
+battlesuit,0,44,
+bassoon,0,44,
+basilisk,0,44,
+barricade,0,44,
+banjiao_qingniu,4,44,
+bakenekomata,1,44,shinki_(artist)
+baimeme,1,44,
+baige0,1,44,
+azel_(laevateinn495),1,44,
+aye,1,44,
+ayase_aria,1,44,
+ayano_no_koufuku_riron_(vocaloid),3,44,
+ayane_(nagasarete_airantou),4,44,
+ayanami_(pulse_of_the_new_year)_(azur_lane),4,44,
+ayamo_kaoru,1,44,
+aya_shiro423,1,44,
+awa_(bihidasu),1,44,
+auge_(akd),1,44,auge_(pixiv834800)
+atychi,1,44,
+atamonica,1,44,
+asutorii,1,44,
+assassin's_creed:_brotherhood,3,44,
+asphyxia17,1,44,
+ash_lynx,4,44,
+asaoka_(0x0),1,44,
+asame21,1,44,
+asahi_(vjss4548),1,44,
+aryus,1,44,
+aru_(new_year)_(blue_archive),4,44,
+arisugawa_dice,4,44,
+areno,1,44,
+arduina_(arduin_art),1,44,
+araragi_soushi,1,44,ran_(artist)
+arahiko,1,44,
+ar-10,0,44,
+aquila_marin,4,44,eagle_marin
+apple_da-ze,1,44,kakuuringo
+aphrodite_(fate),4,44,
+aoyagi_neko,1,44,
+aotsuba,1,44,
+aoi_itsuki,4,44,
+another_project,3,44,
+animal_on_face,0,44,
+ani_(aniya),1,44,
+andonoz,1,44,
+ame_ame,1,44,
+amd,3,44,
+amana_raika,1,44,
+amamiya_ren_(cosplay),0,44,
+amamiya_mei,4,44,
+alternate_bottom_wear,0,44,
+alter_ego_(danganronpa),4,44,
+aloupeep_(enna_alouette),4,44,
+almaz_von_almadine_adamant,4,44,
+aliasse,4,44,
+alexa_pasztor,1,44,
+akirara_(ishiyumi),4,44,
+akinoji_(akiponpon27),1,44,
+aki_(aki_k6),1,44,
+aki_(1360505188),1,44,
+ake_(ake54),1,44,
+akatsuki_(kuon),1,44,
+akatsuki_(akatsuki_blitzkampf),4,44,
+akasha_(syakoba),4,44,
+akamiso_(k074510),1,44,
+akagi_sena,4,44,
+akabane_koume,4,44,
+ajikan_(azican),1,44,
+aituoku,1,44,
+air_pump,0,44,
+aika_himena,4,44,
+ai-bon,1,44,midoku
+aho_no_sakata,4,44,
+aguruma_(yukisita03),1,44,
+afghanis-tan,3,44,
+aestus_domus_aurea,0,44,
+adjusting_headset,0,44,
+adelaide_grand_marnier,4,44,
+adam_smasher,4,44,
+ace_attorney_investigations:_miles_edgeworth,3,44,gyakuten_kenji_1
+abrakadabra2012,1,44,
+a_will,3,44,
+a0lp,1,44,
+8_(e_uu88),1,44,e_uu88
+88_flak_(ash_arms),4,44,
+80mph,1,44,
+808,1,44,
+676643396dolce,1,44,
+52ikaros,1,44,
+343rone,1,44,
+3000_xiao_chun,1,44,
+1629doyasa,1,44,
+15kasikaze15,1,44,
+zutsuyaku,1,43,
+zishanjiang,1,43,
+zin_(goraku_hiroba),1,43,
+zeroyama,1,43,
+zel_(ishuzoku_reviewers),4,43,
+zealyush,1,43,
+zanscare,0,43,
+zain,1,43,
+yuzuki_(rinka01),1,43,
+yuzucky,1,43,yuu_(1197159)
+yuuta_(tokoton_hirune_hiyori),1,43,
+yuuge_(hangoban),1,43,
+yurikawa_hana,4,43,
+yunarebun,1,43,
+yun_(dust-i1),1,43,
+yummy_(donyat1983),1,43,
+yukimichi_(nieko),1,43,
+yu_li,1,43,
+ys_vi_ark_of_napishtim,3,43,
+youtike,1,43,
+youta_(asatsukidou),1,43,
+youkan_(mattya_youkan),1,43,
+you_(nanban319),1,43,
+yoshinobori,1,43,yoshi8357
+yoshino_junpei,4,43,
+yomorin,1,43,
+yomitsuna,1,43,
+yomatsuri_akari,4,43,
+yohinori,1,43,
+ymir_fritz,4,43,
+yin_yang_earrings,0,43,
+yigra_don,1,43,
+yellow_tunic,0,43,
+yazawa_mana,1,43,
+yatsushima_tetsuya,1,43,
+yano_(404878),1,43,
+yancha_gal_no_anjou-san,3,43,
+yamada_ichirou_(hypnosis_mic),4,43,
+yagitori,1,43,
+yagiryu,1,43,
+yabacha,1,43,yaba_(yabababa500)
+ya_yan,1,43,
+y_xun,1,43,
+xoaiu,1,43,
+xinuo223,1,43,
+wuzhiang_liufu,1,43,
+wringing_hair,0,43,
+woogi,1,43,wook_03
+wiola_magica,4,43,
+wing_earrings,0,43,
+wiglett,4,43,
+wet_kimono,0,43,
+werbellia,4,43,
+wendy_(honkai_impact),4,43,
+welkin_gunther,4,43,
+wekapipo,4,43,
+webang111,1,43,aekkarat_sumatchaya
+weather_report_(stand),4,43,
+wayforward,3,43,
+watercolor_background,0,43,
+water_spring,0,43,
+watchi,1,43,
+wasabi_sushi,1,43,
+wankosoba_(wanwan_soba),1,43,
+wangqi,1,43,z-rq
+wandu_muk,1,43,
+wakkuchin20,1,43,artnetirs
+wagnaria_uniform,0,43,
+wa_ga_ne,1,43,
+vitamin_quest,3,43,
+viria13,1,43,viktoria_ridzel
+vika_(fire_emblem),4,43,
+victor_(tales),4,43,victor_(tales_of_xillia_2)
+vice_granscenic,4,43,
+vibrator_over_clothes,0,43,
+vf-31j,4,43,
+vex_shadow_(league_of_legends),4,43,
+vestaria_saga,3,43,
+venusflower,1,43,
+venus_(skullgirls),4,43,venus_lovelace
+vanquice,1,43,
+uso_da,0,43,
+urataros,4,43,
+urashima_haruka,4,43,
+unown_v,4,43,
+unown_j,4,43,
+unohana_tsukasa,1,43,
+undressable,0,43,
+ump45_(diamond_flower)_(girls'_frontline),4,43,
+umezu_kazuo_(style),0,43,
+ultraman_suit,0,43,
+ui_(majiwi),1,43,
+ufkqz,1,43,
+type_a_kou-hyouteki,4,43,
+twitter_banner,5,43,
+turtleneck_bodysuit,0,43,
+tsunami_samemaru,1,43,re_(scd6)
+tsumugu_otome_to_taishou_no_tsuki,3,43,
+tsukugu,1,43,
+tsukikusa_megumi,4,43,
+tracey_sketchit,4,43,kenji_(pokemon)
+totomiya,1,43,
+tosaka_teru,1,43,yddsb123
+torizousui,1,43,
+torino_kawazu,1,43,
+torinannkotsukushi,1,43,
+top_gear,3,43,
+too_many_eyes,0,43,
+too_many_belts,0,43,
+tongari_boushi_no_atelier,3,43,witch_hat_atelier
+tomo_wakui,1,43,
+tomatology3,1,43,
+tokugawa_soyo,4,43,
+tokorinowa,1,43,
+togashi_kuzuha,4,43,
+toddifons_(arknights),4,43,
+tione_hyryute,4,43,
+tio_(005),1,43,joo000118
+tihoro1609,1,43,
+thunder_kitty_wattson,4,43,
+three-wheeler,0,43,
+thorsten_erdt,1,43,
+thors_military_academy_uniform,0,43,
+thomas_(aoakumasan),1,43,
+the_lego_movie,3,43,
+the_kite,1,43,
+the_emperor_(tarot),0,43,
+the_baron,4,43,
+teru-chan_(aoi_tori),4,43,
+teppen,3,43,
+tenkomori_(bug_kura),1,43,moccoro
+teke_(exploration),1,43,
+teke,1,43,
+team_plasma_uniform,0,43,
+tea_ceremony,0,43,
+tayuura_(kuwo),1,43,
+taut_bikini,0,43,
+tare-katsu,1,43,
+tarai_(silica5),1,43,
+tape_dispenser,0,43,
+tanshio,1,43,
+tanokura_mon,1,43,
+tanaka_tom,4,43,
+tanaka_saeko_(haikyuu!!),4,43,
+tamo_(tamokuteki_kuukan),1,43,
+takimi_haru,4,43,
+takeout_container,0,43,
+take_(take143000),1,43,
+takawashi_nagisa,4,43,
+takatsuki_kasumi,4,43,
+takapin,1,43,
+takano_jiyuu,1,43,yodaka_sansei
+takahashi_keitarou,1,43,
+takahashi_(te6-6ba),1,43,
+takada_yuuzou,1,43,
+tachibana_amane_(amane01a),1,43,tachibana_(pixiv932066)
+tac-50_(girls'_frontline),4,43,tac-50_(girls_frontline)
+tabiutaonpu,1,43,
+t_(toddy_t),1,43,
+t'challa,4,43,
+sytokun,1,43,
+syntier13,1,43,
+sww13,1,43,
+sweet_madame_(genshin_impact),0,43,
+suzune_nia,4,43,
+suzumori_kuroku,1,43,
+suzumiya_haruhi_no_tomadoi,3,43,
+suzuki_mei,1,43,
+suzui_shiho,4,43,
+suzette_(sa9no),4,43,
+survival_friends,3,43,
+sunset_(porforever),4,43,
+summoner_(fft),4,43,
+suitenan,1,43,
+suika_soda,1,43,
+suika_aji,1,43,melonwaterlemon
+suiguutou_(juuni_kokuki),0,43,
+sugar_sugar_rune,3,43,
+suenaga_(progressive),1,43,
+su-47_berkut,0,43,
+stuffed_otter,0,43,
+striped_umbrella,0,43,
+striped_leggings,0,43,
+striped_capelet,0,43,
+strange_klug,4,43,
+stormcallart,1,43,
+star_destroyer,0,43,
+star_breaker,4,43,
+stanchion,0,43,
+spore_(ragnarok_online),4,43,
+spoon_bending,0,43,
+spinel_(9057),1,43,sptuel
+spiked,0,43,
+spica_(vocaloid),3,43,
+spectrier,4,43,
+spade_tattoo,0,43,
+souto_(0401),1,43,
+sotomichi,1,43,
+sos-dan_logo,0,43,
+soror,4,43,
+sorceress_(dragon's_crown)_(cosplay),0,43,
+sora_no_manimani,3,43,
+solwyvern,1,43,
+sockjob,0,43,
+social_kasu_(mob_oji_katu),1,43,
+soc_nau,1,43,kittynt15
+snap_my_choker_(phrase),0,43,
+smooth_criminal,3,43,
+sly930105,1,43,
+slush_(norasuko),4,43,
+sleepwalking,0,43,
+slapping_with_penis,0,43,
+skullcap,0,43,
+sizque,1,43,
+sivatherium_(kemono_friends),4,43,
+sinape,1,43,
+sin_faye,4,43,
+sin_(hankotsu_bunny),1,43,
+simone_aragon,4,43,
+sima_yi,4,43,
+silver_choker,0,43,
+silver_(metal),0,43,
+silenxe,1,43,
+side-tie_legwear,0,43,
+shuuyu,4,43,
+shutumon,4,43,
+shousetsu,1,43,
+shotan,1,43,
+shoggoth_(monster_girl_encyclopedia),4,43,
+shoe_box,0,43,
+shizuhime,1,43,
+shishiou_gai,4,43,"guy_shishioh,shishioh_gai,shishioh_guy"
+shirotae_moyashi,1,43,
+shiro_(bombergirl),4,43,
+shiro-hane,1,43,
+shirley_warwick,4,43,
+shirato_jin,4,43,
+shirakawa_mayumi,1,43,
+shirai_momota,1,43,
+shirahane_suou,4,43,
+shionji_ax,1,43,
+shinzousan,1,43,
+shinonome_neko-tarou,1,43,
+shinkai_makoto,1,43,
+shimono_(utapre),1,43,
+shimantogawa,1,43,
+shillo,1,43,
+shijou_sadafumi,1,43,
+shijima_(agkm),1,43,
+shigure_kasumi,4,43,
+shida_yuudai,4,43,
+shiawase_okiba,1,43,
+sheth_(gentsuki),4,43,
+sherlotta,4,43,
+sheriff,0,43,
+shenhai_(2556146833),1,43,
+shen_woo,4,43,
+she-ra,4,43,
+sharasohju,1,43,
+shampoo_challenge,0,43,
+shallistera_(atelier),4,43,
+shadow_rise,4,43,
+sg_(under_siiiiii),1,43,
+sex_underworld_e_youkoso!,3,43,
+setsuna_trip_(vocaloid),3,43,
+seth_(closers),4,43,
+sesshouin_kiara_(beast_iii/r),4,43,
+senkane,1,43,
+senchimee,1,43,
+sena_mikoto,4,43,
+sena_(mineruba),1,43,
+seiya_hoshiko,1,43,
+seishun_fragile,3,43,
+see-through_pants,0,43,
+see-through_mask,0,43,
+sebychu,1,43,
+seallllion,1,43,
+scottish_fold,0,43,
+scathach_(formal_dress)_(fate),4,43,
+sayama_norika,4,43,
+satsuki_harunobu,1,43,
+satsuki_(notsachiko),1,43,
+satchii,4,43,
+sasihmi,1,43,
+sasaoka_tatsu,1,43,
+sasaki_masakatsu,1,43,
+sarnath,1,43,
+sanjouno_haruhime,4,43,
+sanctuary-of-apricot,1,43,
+sakusan_yousoeki,1,43,
+sakurano_asahi,1,43,
+sakippo_(sakippo0),1,43,
+sakikagami,1,43,
+sakayaya,1,43,
+sakaokasan,1,43,
+saitama_seibu_lions,3,43,
+sagano_aoi,1,43,
+sadahara_inako,1,43,
+sachishiro_pengin,1,43,tsuki_no_usagi
+saber_kitty_(disgaea),4,43,
+saamon_(salmonkomaku),1,43,
+ryuujin_naga,3,43,
+ryuu_(monster_girl_encyclopedia),4,43,
+ryu-tan,1,43,
+ryo_chimo,1,43,
+ryakusun,1,43,
+rururara,1,43,
+rune_(ru-nn),1,43,
+rugby,0,43,
+rosemon,4,43,
+rokusaki_coney,4,43,
+rokurokubi,0,43,
+rokudou_itsuki,1,43,
+robot_(pixiv_42325944),1,43,
+robo-ky,4,43,
+robe_slip,0,43,
+ro-ga_(kurumaya),1,43,
+riventla_nuck,4,43,
+rinoko,1,43,
+rindou_aya_(meshimase_idol),4,43,
+riku_(kemurikusa),4,43,
+rikaritta_aries,4,43,
+rika_eastre,4,43,
+rifufu,1,43,
+rico_(jackdoa),1,43,
+ric_(fwpbox),1,43,
+rey_za_burrel,4,43,
+revy_(black_lagoon)_(cosplay),0,43,
+retsuko,4,43,
+repunit,1,43,
+reiroukan_misaya,4,43,
+rei_(breath_of_fire),4,43,
+rei-kun,4,43,
+re:ia,1,43,
+rca,1,43,
+rayleigh_scale,1,43,scale_(winston98)
+raven_(fire_emblem),4,43,
+ranchuu_(akamusume),1,43,
+raku_rakugaki,1,43,
+rakan_(league_of_legends),4,43,
+rairyuu,1,43,
+qualia_qu,4,43,
+qp_shooting,3,43,
+puyue,1,43,
+purple_trim,0,43,
+puropera_(puropera),1,43,
+purism_egoist,3,43,
+purino_party,3,43,
+punc_p,1,43,
+public_bondage,0,43,
+print_hair,0,43,
+prinny_(series),3,43,
+preschooler_(pokemon),4,43,
+pray_(furei),1,43,smile2007h
+pote_(aonibi_kairou),1,43,
+porusasu,1,43,
+porun,4,43,
+popgun_(22882502),1,43,popmaru_chuui
+ponchi,1,43,
+pon_takahanada,1,43,
+polaris_(shinrabanshou),4,43,
+poe_(528yuzunon),1,43,
+pochimaru_(vtuber),4,43,
+plushcharm,1,43,
+pixiv_bottlecap,0,43,
+pisu,1,43,
+phara,1,43,
+perseus_(fate),4,43,
+persephone_(p&d),4,43,
+perry,1,43,
+pearlscale0818,1,43,
+patatata,1,43,
+pastel_(twinbee),4,43,
+passimian,4,43,
+panda_copt,1,43,
+palcomix,1,43,
+pakunoda,4,43,
+paint_on_fingers,0,43,
+p90_(scarlet_turbo)_(girls'_frontline),4,43,
+overhaul_(boku_no_hero_academia),4,43,chisaki_kai
+ougon_musou_kyoku,3,43,
+otoufu_(gotouhu),1,43,
+otonashi_kotori_(cosplay),0,43,
+oskar_von_reuenthal,4,43,
+orange_moon,0,43,
+orange-shaped_earrings,0,43,
+open_can,0,43,
+oone0206,1,43,
+ooba_eimi,4,43,
+one-armed_hug,0,43,
+onda_aka,4,43,
+olivert_reise_arnor,4,43,olivier_lenheim
+older_twin_sister_(muninshiki),4,43,
+ohagi_(hurimaro_metayaki),1,43,
+oh?_you're_approaching_me?_(meme),0,43,
+office_lady_taiwan,3,43,
+ochikata_kage,1,43,
+obi_spin,0,43,
+novus_rue,1,43,
+nosuri,4,43,
+nora-toro,1,43,
+noele_(toosaka_asagi),4,43,
+noberuge,3,43,
+no_tattoo,0,43,
+no_more_eiga_dorobou,3,43,
+no_hairclip,0,43,
+no_freckles,0,43,
+nn_(eogks),1,43,
+niyasuke_(yama),1,43,
+nixtutyannh,1,43,
+nitogebeto,1,43,
+nitefise,1,43,
+nissan_gt-r,0,43,
+nissan_fairlady_z,0,43,
+nishita,1,43,
+nishimura_(prism_engine),1,43,
+nise_pakuman-san,1,43,
+niro_(sikabanekurui),1,43,
+nirai_kanai,1,43,
+niniidawns,1,43,proofmeh
+nina_klein,4,43,
+niko_(oneshot),4,43,
+nijou_touka,4,43,
+nig_18,1,43,
+nifl_(fire_emblem),4,43,
+nicky_blake,4,43,
+netojuu_no_susume,3,43,
+nessa_(pokemon)_(cosplay),0,43,
+nero_claudius_(bath_robe)_(fate),4,43,
+nendoroya,1,43,
+nell_(pangya),4,43,
+nekomata_(disgaea),4,43,
+nekohige,1,43,
+nein_(album),3,43,
+neighbor_quartz,4,43,
+neck_piercing,0,43,
+naver_username,0,43,
+nautilus_(league_of_legends),4,43,
+nattapuumuu,1,43,
+natsu_(hottopeppa3390),1,43,
+naoya_(devil_survivor),4,43,
+nanjou_akimasa,1,43,
+nanina_(nijnan),1,43,
+nanatsu_no_umi,1,43,
+nanasuke,1,43,
+nanase_rumi,4,43,
+nanase_nanami,1,43,
+nanamiya_natsumi,1,43,
+nanai,1,43,
+nanagane_educational_institution,3,43,
+namuru_(kurinton),1,43,
+nakagawa_kanon_(pixiv32798535),1,43,
+naguramu,1,43,
+nagisa_nagi,1,43,
+nagisa_(kantoku),4,43,
+nagisa_(imizogami),1,43,
+nagatsuki_take,1,43,
+mylovelydevil,1,43,
+mutsutsu,1,43,
+mutsuki_albino,1,43,
+musteflott419,1,43,
+musso_(gyee),4,43,
+musashimaru,1,43,
+murata_mine,1,43,mine_imh
+murata_himeko_(scarlet_fusion),4,43,
+murakumo1987,1,43,
+muraichi,1,43,
+muck_(artist),1,43,
+mrs.pumpkin_no_kokkei_na_yume_(vocaloid),3,43,
+mrr_05,1,43,
+mr._x_(resident_evil),4,43,
+mr._j.w,1,43,
+mouth_beam,0,43,
+mounting,0,43,
+mountain_hare_(kemono_friends),4,43,
+morty_smith,4,43,
+monousa,1,43,
+monoheiya,1,43,
+monmo_mu,1,43,
+moni_monico,1,43,
+momo_no_sei_(onmyoji),4,43,
+momo-deary,1,43,
+momikocu,1,43,
+mokkosu.,1,43,
+mogijabgo,1,43,
+mogeko_(mogeko_castle),4,43,
+mochen,4,43,
+mocacoco339,1,43,
+mo_qingxian,4,43,
+mizushiro_takuya,1,43,
+mizuki_(quilt),4,43,
+mizukanayuki,1,43,
+mizore_akihiro,1,43,
+miyasemao,1,43,
+mitsuha_(bless_blessing),1,43,
+mitosa,1,43,
+miton_(ton321),1,43,
+misaki_(kyal_001),1,43,
+misago_(525),1,43,izumo_(user_cmcy2878)
+miri1120,1,43,
+mio_(fastest_lap),1,43,
+mini_(pixiv6327751),1,43,
+minamo25,1,43,
+minami_toshimi,4,43,
+minakami_yuki,4,43,
+mimi_pearlbaton,4,43,
+mikannsisyou,1,43,
+mikami_(vitamin_quest),4,43,
+mika-shi,1,43,michael_(mikatsuu)
+mii_(makosuke),1,43,
+miffy_(character),4,43,
+mif,1,43,
+miette_(pokemon),4,43,
+midarin,1,43,
+mid-boss_(disgaea),4,43,vyers
+micosiva,1,43,mikoshiha
+michi,1,43,
+meteos,3,43,
+metaring,1,43,
+mendou_shuutarou,4,43,
+mejiro_palmer_(devil_in_the_moonlight)_(umamusume),4,43,
+mejiro_mcqueen_(racehorse),4,43,
+medusa_(kid_icarus),4,43,
+mattie,1,43,
+matori_yoshika_(character),4,43,
+matano_seiko,4,43,
+masshu_(shu_123426),1,43,
+mary_(soul_hackers),4,43,
+maru_(pixiv51714255),1,43,
+mario_golf,3,43,
+marielle_(log_horizon),4,43,
+mao_(code_geass),4,43,
+malshi_edroad,1,43,
+makoji_(yomogi),1,43,
+makimaki_makky7,1,43,
+makai_tenshi_djibril_4,3,43,makai_tenshi_jibril_4
+major_(hellsing),4,43,
+maineko_ruru,1,43,
+maijima_karen,4,43,
+maha_(gentsuki),4,43,
+magical_mirai_miku_(2015),4,43,magimirai_miku_(2015)
+maeda_mic,1,43,
+machi_wt,1,43,ma_wk_chi
+m1014_(girls'_frontline),4,43,m1014_(girls_frontline)
+lwj,1,43,
+luzzi_(milllim),1,43,milllim
+lute_(apocalypselibrary),1,43,
+luncheon_meat_umai,1,43,
+luna_aegis_(closers),4,43,
+lost_one_no_goukoku_(vocaloid),3,43,
+living_(pixiv5031111),1,43,
+live_union,3,43,
+littorio_(calabria_aurea)_(azur_lane),4,43,
+link163353,1,43,
+line-san,4,43,
+lily_(ender_lilies),4,43,
+lillia_greyrat,4,43,
+lillia_(league_of_legends),4,43,
+libeuo_(liveolivel),1,43,
+li_sushang_(jade_knight),4,43,
+leonardo_da_vinci_(azur_lane),4,43,
+legendarysoulii,1,43,
+legend_(tiger_&_bunny),4,43,
+lefty10,1,43,
+lee_(punishing:_gray_raven),4,43,
+le_terrible_(azur_lane),4,43,
+lb_(muraihou),1,43,
+layered_panties,0,43,
+larum_(fire_emblem),4,43,lalum
+lars_alexandersson,4,43,
+larry_foulke,4,43,
+langley_(kancolle),4,43,
+langley_(azur_lane),4,43,
+lancefate,1,43,
+lace-trimmed_swimsuit,0,43,
+l.tea,1,43,
+kyokugen_chikan_tokuiten_2,3,43,
+kyapu-10,1,43,
+kwrrrrrr,1,43,
+kuzu_suzumi,4,43,
+kusuriya_no_hitorigoto,3,43,the_apothecary_diaries
+kuruuya,1,43,
+kurumitsu,1,43,
+kuroshin,1,43,
+kurosaki_sayoko,4,43,
+kuroneko_pantsu,1,43,
+kurogiri,1,43,
+kuro_kinkan,1,43,
+kuro_(grf),1,43,
+kuro4221,1,43,
+kuri_(shibimame),1,43,
+kunon,1,43,
+kumauwo,1,43,mirin_(1815815)
+kuma_(happylocation),1,43,
+kuma-hina_(31_violence),4,43,
+kujou_rin,4,43,
+kuhnowushi,1,43,
+kuga_utao,4,43,
+kudou_akira,1,43,
+kudoi,4,43,
+kudakeru,1,43,
+kuangtai_(amami_ryoko),1,43,
+ku_roiko,1,43,
+ktrtokyo,1,43,
+kouryuu_densetsu_villgust,3,43,"armored_dragon_legend_villgust,kouryu_densetsu_villgust"
+kouhai-chan_(fukutchi),4,43,
+koubakotone,1,43,
+kotobuki_reiji,4,43,
+korogoro_(mago0057),1,43,
+konohana_enishi,4,43,
+komore,1,43,
+komiya_nonoka,4,43,
+komaichi,1,43,
+kojijima,1,43,0cm0cu
+kohaku_(rune_factory),4,43,
+kmtk,1,43,
+kko_(um7mr),1,43,
+kiyohisa,1,43,
+kite_flying,0,43,
+kita_senju,1,43,
+kirishina_(raindrop-050928),1,43,
+kireina_(osiimi),4,43,
+kirby:_right_back_at_ya,3,43,
+kinohara_kossuta,1,43,
+kino_hitoshi,1,43,
+king_gainer_over!,0,43,
+kimi_no_tonari_de_koishiteru!,3,43,
+kikunojo_(one_piece),4,43,okiku_(one_piece)
+kibitarou,1,43,
+kent_mame,1,43,
+keiki_(juuni_kokuki),4,43,
+keepvalley,1,43,
+kazuma_(theworld000021),1,43,
+kazuki_mai,4,43,
+kawai_maria,1,43,
+kate_(sketchbook_full_colors),4,43,
+katase_yuu,1,43,yu-katase
+kasaki_sakura,1,43,kasakisakura
+karyuu_koujo,4,43,grand_princess_fire_dragon
+karen_(karenendo),1,43,karen_miraigaro
+kapebeansies,1,43,
+kanki_(kibunhasaikou),1,43,
+kangmoro,1,43,
+kanata_(sentiment),1,43,
+kana_yukino,1,43,whitekana
+kan0nakan0,1,43,
+kamishiro_rio,4,43,
+kamikita_futago,1,43,
+kalim_al-asim,4,43,
+kalawarner,4,43,
+kakueki-teisha,1,43,
+kakari,1,43,
+kain_fuery,4,43,
+kagami_yuu,1,43,
+kafei,4,43,
+k2shh,1,43,
+k.ei,1,43,
+justminor,1,43,
+julius_yu,1,43,
+julius_(fire_emblem),4,43,yurius_(fire_emblem)
+johnnyyyyy,1,43,
+jirou_(ramen),0,43,
+jinlin,1,43,
+jigen_daisuke_(cosplay),0,43,
+jida,1,43,
+jewelpet_magical_change,3,43,
+jenny_dolittle,4,43,
+jennifer_(shepherd0821),4,43,
+japan_railways,3,43,
+jaoooo,0,43,
+james_potter,4,43,
+jakomurashi,1,43,
+jagged_sword,0,43,
+jaeyun,1,43,
+jack_krauser,4,43,
+j2l,1,43,
+j.xh,1,43,
+j-chad,4,43,
+iya_na_kao_sare_nagara_opantsu_misete_moraitai_yo_wa_pantsu_ga_mitai_zo,3,43,
+iya_maid,4,43,
+itou_satoshi,1,43,
+itou_junji,1,43,junji_ito
+ito_(silk9f),1,43,
+itirirenn,1,43,
+ite_fuji,1,43,
+itame_moyashi,1,43,
+isshin_(kaxz),1,43,
+iskaydi,1,43,
+iskandar_(fate)_(cosplay),0,43,
+ishita_(sunagimomo),1,43,
+ishino_satoshi,1,43,
+iroha_(nullpo),1,43,
+insulting_viewer,0,43,
+inferno_(nanbu14),1,43,
+indomitable_marie,4,43,
+inase,1,43,
+inanome_me,1,43,
+inaho178,1,43,
+imminent_fight,0,43,
+imelda_rivera,4,43,
+ilyfon133,1,43,
+ilohasvio,1,43,
+ikki,1,43,
+ikeno_kaede,4,43,
+ignis_(last_origin),4,43,
+igarashi_kei,1,43,
+idol_revolution,3,43,
+idaku,1,43,
+ichinomiya_kou,4,43,
+iceblue,1,43,
+ice_cream_crepe,0,43,
+i_am_l,0,43,
+i_(deichi),1,43,
+hyper_police,3,43,
+hyper_highspeed_genius,3,43,
+hutago,1,43,
+husun_wei,1,43,
+husband_and_wives,0,43,husband_and_wife_and_wife
+hu_tao_(lawson)_(genshin_impact),4,43,
+hresvelgr,4,43,
+hozuki_ferrari,4,43,
+houseki_hime,3,43,
+houkiri_nemu,1,43,
+hotaru_(ss801),1,43,
+hoshika_ranoe,1,43,
+horseshoe_print,0,43,
+hop_step_jumpers,3,43,
+hoozuki_suigetsu,4,43,
+holographic_keyboard,0,43,
+hollow_knight_(character),4,43,
+hole_in_face,0,43,
+holding_cigarette_pack,0,43,holding_cigarette_box
+holding_charm,0,43,
+hokkaido,0,43,
+hoenn_(jgm1102),1,43,"hoenn,lhm"
+hiyashi_mikan,1,43,
+hiyari_(hiyarilol),1,43,
+hirotaka_(hrtk990203),1,43,
+hirose_(10011),1,43,hrs_1001
+hirano_kouta_(hsotd),4,43,hirano_kohta
+hippie,0,43,
+hinamizawa_hinami,4,43,
+hinako_(anzu15),1,43,
+himiko_(persona_4),4,43,
+hikari_no,1,43,
+hikari50503,1,43,
+hikari-chan_(kanabun),4,43,
+hiiragi_ryou,1,43,
+hiiragi_matsuri,4,43,
+higashiyama_(higashiyama_honpo_l.t.d),1,43,higashiyama_(artist)
+hiei-chan_(azur_lane),4,43,
+hexagon_print,0,43,
+hetare_(hetare013),1,43,hetare_(pixiv)
+heris_ardebit,4,43,
+heisei_yutorin,1,43,
+hei_yksk,1,43,
+hecarim,4,43,
+hebina_masayoshi,1,43,hebimei_masayoshi
+hazuki_ryou,4,43,
+hay_bale,0,43,
+hato_(kosobin),4,43,
+hat_tassel,0,43,
+hashimoto_kokai,1,43,
+hasekura_noizu,1,43,
+haru_hina,1,43,
+harlow_garden,1,43,
+hariko,1,43,
+hanta96,1,43,
+hansel_and_gretel,3,43,
+hand_on_another's_ear,0,43,
+hanawa_kaoru,4,43,
+hanakuma_chifuyu,4,43,
+hanai_haruki,4,43,
+hamaya_shin'ichi,1,43,hamaya_shinichi
+hak_(akatsuki_no_yona),4,43,
+hagiwara_kazushi,1,43,
+hacksaw,0,43,
+hachimaru_(ediciusa),1,43,
+h_(158cm),1,43,
+h-a-j-i-m-a-r-i-u-t-a-!!,0,43,
+gusty10rk,1,43,
+gundam_astray_red_frame,4,43,
+gunbam,1,43,
+gumoyu,1,43,
+guider_to_the_eternal_edge,4,43,
+gu-rahamu_omega_x,1,43,
+group_battle,0,43,
+groin_attack,0,43,
+grisaia_phantom_trigger,3,43,
+green_(konkichi),4,43,
+graph_paper,0,43,
+googerm,1,43,
+gokugetsu_momo,1,43,
+goetia_(fate),4,43,goetia_(fate/grand_order)
+gochiwa,1,43,
+gloria_(devil_may_cry),4,43,
+gladiia_(return)_(arknights),4,43,
+giulio_cesare_(azur_lane),4,43,
+giant_leaf,0,43,
+ghost_driver,0,43,
+gennai_ao,4,43,
+gemba_(dlfms75),1,43,
+gel_(chiericyan),1,43,chiericyan
+garden_eel,0,43,
+gandaresu_baran,4,43,
+fuzuki_hajime,1,43,
+fuurin_restia,1,43,
+fuu_torutanme,1,43,
+fuu-chan_(fujiwara_gacho),4,43,
+futayamam2,1,43,
+futaki_shiki,4,43,
+fushigi_mahou_fun_fun_pharmacy,3,43,
+fur-trimmed_waist_cape,0,43,
+fukutaichou_badge,0,43,
+fukuoka_softbank_hawks,3,43,
+fukui_sora,1,43,
+fujiwara_hisashi,1,43,
+fufu_(fufuichi04),1,43,
+from_ground,0,43,
+friedrich_der_grosse_(dark_raiments_of_gagaku)_(azur_lane),4,43,
+fremea_seivelun,4,43,
+frederica_irving,4,43,
+fraxure,4,43,
+four_(drag-on_dragoon),4,43,
+fluorart,1,43,
+fluff_kevlar,1,43,
+flower_censor,0,43,
+flare_gun,0,43,
+flapple,4,43,
+fino_bloodstone,4,43,phino_bloodstone
+female_admiral_(kancolle)_(cosplay),0,43,
+fantasy_earth,3,43,
+falcom,3,43,
+faith_connors,4,43,
+faerie_(seiken_densetsu_3),4,43,faerie_(sd3)
+eyewear_on_clothing,0,43,
+ewokakuman,1,43,
+eva_13,4,43,
+esmyrelda_maximus,4,43,
+erk_(fire_emblem),4,43,
+eris.y_(7hai),1,43,
+erich_von_rerugen,4,43,
+eps3rd,1,43,
+enter_enter_mission!,0,43,
+enpou,1,43,
+enkidu_(sensha_otoko)_(fate),4,43,
+enk_0822,1,43,
+eniwa_shii,4,43,
+endo_yohane,1,43,"end_mha,end_syuuuu"
+end_roll,3,43,
+emoncake.,1,43,
+ememtrp,1,43,
+els,0,43,
+elreyiens,1,43,
+eiroyi,1,43,
+educational,0,43,
+edalyn_clawthorne,4,43,
+ebikawa_kanetake,1,43,
+eating_contest,0,43,
+durandal_(kei),1,43,
+dulse_(pokemon),4,43,
+drink_me,0,43,
+drawn_horns,0,43,
+dragon_providence,3,43,
+dousaki_shin'ya,1,43,dousaki_shinya
+dominia_yizkor,4,43,
+domestic_violence,0,43,
+dolphro-kun,1,43,
+doinaka,1,43,
+dog_mask,0,43,
+dog-san,1,43,
+doctor_magus_4,4,43,
+disc_(needless),4,43,
+dif_(difman),4,43,
+dhyana_mudra,0,43,
+detached_horns,0,43,
+deneve,4,43,
+decay,0,43,
+deadpan,0,43,
+dd_(giogio99),1,43,dd41023237
+"dateless_bar_""old_adam""",3,43,
+date_wingfield_reiko,4,43,
+dante_(devil_may_cry)_(cosplay),0,43,
+dai_(uhyoko1102151),1,43,
+d_kake2,1,43,
+d-zhai,1,43,pcw
+d'orsay_heels,0,43,
+culton,1,43,stormzero
+cult_of_the_lamb,3,43,
+cu_chulainn_(prisma_illya),4,43,
+crying_emoji,0,43,
+crunchyroll,3,43,
+crunchobar,1,43,
+crueltear,4,43,
+cropped_head,0,43,
+crimson_kaiserin,1,43,
+creamer_packet,0,43,
+crasher_wake,4,43,makishi_(pokemon)
+coupon,0,43,
+coronavirus,0,43,
+conope,1,43,
+color_issue,5,43,
+cocontma,1,43,
+coalossal,4,43,
+climbing_wall,0,43,
+clamps,0,43,
+cjrb1228,1,43,
+chunlieater,1,43,
+chu_(huaha1320),1,43,
+chouzetsu_yarou,1,43,
+chise_(ichiri),4,43,
+chipped_sword,0,43,
+chinoru,1,43,
+chidori_nekoro,1,43,
+chibi_on_shoulder,0,43,
+cheshire_(ragnarok_online),4,43,
+cherry_third,3,43,
+cheety_(show_by_rock!!),4,43,
+charlotte_linlin,4,43,
+chaos_space_marine,4,43,
+chan'nu,1,43,
+chamomile,0,43,
+chalk_outline,0,43,
+cendrillon_(vocaloid),3,43,
+cele_(310v3),1,43,310v3
+cat_shop,1,43,
+carrier,0,43,
+carole_stanley,4,43,
+card_pendant,0,43,
+candy_corn,0,43,
+cancer_death_mask,4,43,
+c96_(girls'_frontline),4,43,c96_(girls_frontline)
+bygddd5,1,43,
+byako_(srktn),1,43,
+burnin_(boku_no_hero_academia),4,43,
+burijittou,1,43,
+bunbun_(midukikome),1,43,
+bullet_girls,3,43,
+bubble_girl_(boku_no_hero_academia),4,43,"awata_kaoruko,bubble_girl"
+brynhildr_(tome),0,43,
+brown_buruma,0,43,
+broken_bone,0,43,
+bream-tan,1,43,
+bracket,0,43,
+bovyng,1,43,
+bosutonii,1,43,
+bonobono_(character),4,43,
+bondo_(borndragon),1,43,
+bolero_(bo_le_ro66),1,43,boleropaintings
+blue_shell_(mario),0,43,
+blue_(konkichi),4,43,
+blouse_removed,0,43,
+blackma_(pagus0012),1,43,
+black_nipples,0,43,
+bingsardina,1,43,
+biggs_(ff7),4,43,
+bible_bullet,3,43,
+bettykwong,1,43,
+betanya,1,43,
+benares_(honkai_impact),4,43,
+beerko,4,43,
+beehunter_(arknights),4,43,
+bb_(fate/extra)_(cosplay),0,43,
+batman_(cosplay),0,43,
+basil_(st_1),1,43,monyu_(monyupop)
+banshouya_ena,4,43,
+banging,0,43,
+bai_qi_(love_and_producer),4,43,
+bad_e-hentai_id,5,43,
+azumane_asahi,4,43,
+ayaya,1,43,
+ayanami_(warship_girls_r),4,43,
+ayamatazu,1,43,
+ay_(1054105084),1,43,
+autumn-north,1,43,
+august1st,0,43,
+atea,1,43,
+astral_buddy,3,43,
+aston_martin,3,43,
+asougi_rin,4,43,
+ashita_kura,1,43,
+ashermes,1,43,
+asahashi_tsuyu,1,43,
+asada_okina,1,43,
+artoria_pendragon_(swimsuit_archer)_(second_ascension)_(fate),4,43,
+artificial_academy_2,3,43,
+arthur_(fire_emblem),4,43,
+armpit_onigiri,0,43,
+armored_bodysuit,0,43,
+arisugawa_bii,1,43,b449
+arisato_yui,1,43,yui_(kawalcjil4)
+aqua_wings,0,43,
+apron_basket,0,43,
+apo_(apos2721),1,43,
+aoten_(aoiroarekore),1,43,
+aosiro-michi,1,43,
+aomi_maika,4,43,
+anzu0130,1,43,
+anubis_(stand),4,43,
+anshan_(azur_lane),4,43,
+annihilate_ray,0,43,
+anlucea,4,43,
+anette_(pso2),4,43,
+anbu,0,43,
+anakin_sky_(utcc),1,43,
+amiibo,0,43,
+amicis_(amisic),1,43,
+amatsuka_hikaru,4,43,
+amano_taiki,1,43,
+amakawa_hano,4,43,
+ama_asagi,1,43,
+altorealize,1,43,
+although_she_hurriedly_put_on_clothes_(meme),0,43,although_she_hurriedly_put_on_clothes
+alondite,0,43,
+alfin,4,43,
+alexis_(zkstxxx),4,43,
+akuto,1,43,
+akuma_nihmune,4,43,
+akuma_(ogino-m),1,43,ju_topia
+akqne,1,43,
+akio_(akio1124),1,43,
+akidenmania,1,43,
+akaya,1,43,
+aizawa_(teaminazuma),1,43,
+aikura_chihiro,1,43,chihiro_(pixiv7160)
+aikawa_fuuri,4,43,
+ai_kotoba_iii_(vocaloid),3,43,
+ai_cao,1,43,
+ah-1_cobra,0,43,
+age_fx,1,43,
+agano_(azur_lane),4,43,
+aethos,1,43,
+aesice,1,43,
+aegisfate,1,43,
+advance_wars:_days_of_ruin,3,43,
+adjusting_earrings,0,43,adjusting_earring
+abyssal_nimbus_princess,4,43,abyssal_nimbus_hime
+aboreen,1,43,abo_leen
+abc_(type5_labyrith),1,43,aaabbbccccc
+abarai575,1,43,
+abab_xiaxia,1,43,"ahawood,ebimon,saeu"
+9so_(ponchon),1,43,
+8c,1,43,
+888,1,43,
+8'108,1,43,
+5pb_(neptune_series),4,43,
+29_(artist),1,43,
+1_(kawaseha),1,43,
+14c,1,43,
+zongren,1,42,
+zoe_(spacezin),4,42,
+zi-dabu,1,42,
+zeta_plus,4,42,
+zeorymer,4,42,
+zb_(xucz8527),1,42,
+z18_(azur_lane),4,42,
+yuzumame,1,42,
+yuzuko,1,42,
+yuzukineko,1,42,
+yuzu_lemon,1,42,
+yuuyan,1,42,
+yuuutsu_shan,1,42,
+yuuppi,1,42,
+yuukome_(tekunon),1,42,
+yuujoduelist,1,42,
+yuugure_(azur_lane),4,42,
+yuugumo_(kancolle)_(cosplay),0,42,
+yuu-yuu,1,42,
+yurul,4,42,
+yuri_(anachronic),1,42,
+yuraiko,1,42,
+yunsuku,1,42,
+yuna_(ff10)_(cosplay),0,42,
+yun-yang,1,42,
+yumesaki_kaede_(game_club_project),4,42,
+yumekawa_ruru,4,42,
+yuit_(queen's_blade),4,42,huit
+yuineko,1,42,
+yui_(seiga),1,42,
+yufeng_kaete,1,42,"tamaki_kaete,yufengkaete"
+yue_xiao_e,1,42,
+yuan_long,1,42,
+yu_sa1126,1,42,
+yu-gi-oh!_(toei),3,42,yu-gi-oh!_(season_0)
+youngjijii,1,42,
+youl,1,42,
+youko_(onmyoji),4,42,
+yotogi_(yotogi_luminary),1,42,
+yoshioka_haru,4,42,
+yoshimi,1,42,
+yoshida_kochou,4,42,
+yorick_(league_of_legends),4,42,yorick_mori
+yori_(a_a_yori),1,42,yori_ill
+yonasawa,1,42,
+yomogi_uehara,1,42,
+yok01,1,42,
+yk,1,42,
+yggdrasil_(sao),0,42,
+yayaziiii,1,42,
+yatsucchie,1,42,yattsu
+yato_(arknights),4,42,
+yasuda_genshou,1,42,yasugen_2828
+yasu_suupatenin,1,42,
+yasaka_(astray_l),1,42,
+yaruse,1,42,
+yang_harim,4,42,
+yanase_aki,1,42,
+yanagise,1,42,
+yanagiba_kiriko,1,42,
+yamu_(yamuyama_web),1,42,yamu_(artist)
+yamata_no_orochi_(kemono_friends),4,42,
+yakurope-moko,1,42,
+yaeba,1,42,
+xiongbingbisata,1,42,keeerooooo1
+xing_hai,4,42,
+xiang_wan_wei_wan,1,42,
+xiamianliele,1,42,
+xexu,1,42,
+xbsx,1,42,
+wszkii,1,42,maewii42
+wolfina,1,42,
+wojtek_(ido),4,42,
+winged_animal,0,42,
+william_tell_(fate),4,42,william_tell_(fate/grand_order)
+willfin,1,42,
+wild_arms:_million_memories,3,42,
+white_leg_warmers,0,42,
+whirlwind,0,42,
+welch_vineyard,4,42,
+wazd0183,1,42,
+watashishi,1,42,
+watabe_keisuke,1,42,
+washboard,0,42,
+wang_guo_nian,1,42,
+wakka,4,42,
+vt,1,42,
+vk-47_flatline,0,42,
+vision_(marvel),4,42,
+viridian-c,1,42,
+vengeful_hannya_(onmyoji),4,42,vengeful_prajna
+varyu,1,42,atena_(k-kzk1842)
+v-22_osprey,0,42,
+uzumaki_naruto_(cosplay),0,42,
+utawarerumono:_futari_no_hakuoro,3,42,utawareru_mono:_futari_no_hakuoro
+us2s,1,42,
+unwrapping,0,42,
+umio_(neptune_series),4,42,
+umikaze_(azur_lane),4,42,
+umajiri_gyuunyuu,1,42,
+ultraman_trigger_(series),3,42,
+uh-1_iroquois,0,42,
+ueda_toraji,1,42,
+ue_(xjhu3558),1,42,
+uduki_(nissi),1,42,nissi
+udonko072,1,42,
+uchuu_kaizoku_sara,3,42,space_pirate_sara
+uchi_no_musume_ni_te_wo_dasuna!,3,42,
+tyobimiru,1,42,
+twelve,4,42,
+tusk_act4,4,42,
+tsuzurao,4,42,
+tsurikichi_obasan,0,42,
+tsuno_(nicoseiga11206720),1,42,
+tsukunendo,1,42,
+tsuki_jin,4,42,lunarians_(houseki_no_kuni)
+tsubuki_(ron-bb69),1,42,
+tre_kronor,0,42,
+tower_of_dragon,3,42,
+touzoku_arthur,4,42,
+touyu_(yuruyuruto),1,42,
+touko_(kira2yue),1,42,
+touhou_musou_kakyou,3,42,
+tougetsu_matsuri,4,42,
+tottema,1,42,
+toriumi_harumi,1,42,
+torashiro_eiji,1,42,
+tooka,1,42,
+tonzura,4,42,
+tonton_(mathcaca24),1,42,
+tonbury,1,42,
+tomoe_(itigo),1,42,
+tokiki_(tomok1),1,42,tomok1
+tokihanatareshi,1,42,
+tokage_(kaamin),4,42,
+toi1et_paper,1,42,
+tina_topia,4,42,
+tiger_mask_(series),3,42,
+tifg39,1,42,
+thriller,3,42,
+thore_(nathalukpol),1,42,
+the_lovers_(tarot),0,42,
+the_king_of_red_lions,4,42,
+the_king_of_fighters_2003,3,42,"king_of_fighters_2003,kof_2k3"
+tharkis,4,42,
+tetsukan,4,42,
+teruteru12,1,42,12_t
+tenryou_sena,1,42,
+tenamaru,1,42,
+ten_kurairakon_teikoku-gun,3,42,
+tekkai_blade,1,42,
+teikoku,0,42,
+te_to_te_try_on,3,42,
+tasuku,1,42,
+tara_(szzj7733),1,42,
+tanyuu_karibusa,4,42,
+tanuma_miyuki,4,42,
+tanpopo_hayabusa-maru,1,42,
+tankcay,1,42,
+tamagoboro,1,42,
+tamafurin,1,42,
+taku_(user_nxgk7748),1,42,
+takeuchi_kou,1,42,
+takanashi_tsumugi,4,42,
+takamizawa_natsuki,4,42,
+takahashi_meishin,1,42,
+taka-chan,1,42,
+tadashi_hamada,4,42,
+tadano_souko,1,42,
+tadano_shiroko,1,42,
+tadano_myoushi,1,42,
+sylvie_(isekai_maou),4,42,
+sylvia_(konosuba),4,42,
+sweet_flower,0,42,
+swan_lake,3,42,
+suzuna_isurugi,4,42,
+suzumusi114,1,42,
+suzuhara_izumiko,4,42,
+suzu_(susan_slr97),1,42,
+sutei_(xfzdarkt),1,42,
+sutegoro_shiina,4,42,
+surgeonfish,0,42,
+super_sailor_chibi_moon_(stars),4,42,
+sumeragi_sunao,4,42,
+sumeragi_(black_rose),1,42,
+sue_(fire_emblem),4,42,
+stuffed_crocodile,0,42,
+striped_sash,0,42,
+straight_razor,0,42,
+ssong2,1,42,
+squirrel_boy,0,42,
+spp-1_(girls'_frontline),4,42,spp-1_(girls_frontline)
+spas-12_(goblin_huntress)_(girls'_frontline),4,42,spas-12_(goblin_huntress)_(girls_frontline)
+soul_edge_(weapon),0,42,
+soukoku_no_arterial,3,42,
+sore_(whirlwind),1,42,
+soranona_(soranosuke),1,42,soranosuke
+solitude_rain_(love_live!),0,42,
+sode_no_shirayuki,4,42,
+social_network,0,42,
+snow_on_body,0,42,
+smolder_(kanel),4,42,
+smol_gura,4,42,
+skym_(kumei),1,42,
+sky_diver_xipuria,3,42,
+sks,0,42,
+skorpion_(crimson_starlet)_(girls'_frontline),4,42,
+siw0n,1,42,
+sitar,0,42,
+sister_nana,4,42,
+sirene_(last_origin),4,42,
+siren_(mythology),0,42,
+single_slipper,0,42,
+single_hair_tube,0,42,
+silversirius,1,42,
+silverjow,1,42,
+sigure-zzzz,1,42,
+shuten_douji_(lostroom_outfit)_(fate),4,42,
+shunga_(shun608),1,42,
+shumichi,1,42,
+shumiao,1,42,
+shounen_democratica,1,42,valyu
+shoujo_material,3,42,
+short-haired_girl_(osomatsu-san),4,42,
+shishio_(artist),1,42,
+shiratori_ryuushi,4,42,
+shirasaki_tsugumi,4,42,
+shiramori_sawa,1,42,
+shirakawa_(whitemist),1,42,shirakawa_(pixiv_581344)
+shirakami_fubuki_(cosplay),0,42,
+shiraishi_asuka,1,42,
+shiori_(jonsun),4,42,
+shion_(kof),4,42,
+shinsei_(easycross1226),1,42,
+shinonome_(cookie),4,42,
+shindoine,4,42,
+shindoi_akio,1,42,daken-chan
+shin_mazinger_shougeki!_z-hen,3,42,mazinger_edition_z:_the_impact!
+shimamura_joe,4,42,
+shikishima_fugen,1,42,
+shijohane,1,42,
+shiina_shian,1,42,
+shigure_(shigure_43),1,42,
+shien_(tatunokoshien00),1,42,
+shiabisu,1,42,
+shell_to_ear,0,42,
+shadowgale,4,42,
+shadow_kirby,4,42,
+shaddoll_fusion,1,42,
+sezamyan,1,42,
+sensaki_chihiro,1,42,
+seneo,1,42,
+semidou_jun,1,42,
+selenoah,4,42,
+seki_oriko,4,42,
+sei_dorei_gakuen,3,42,
+scarlett_(artist),1,42,
+satomi_(745684552),1,42,
+sasorina,4,42,
+sasano_shiki,1,42,
+sarekoube,1,42,
+sarayashiki_junior_high_school_uniform,0,42,
+sanmi_tenten,1,42,
+sanada-x,1,42,
+sammy_(bestsammy),4,42,
+sama_(sama24654684),1,42,
+sakurakouji_tsukuyomi,4,42,
+sakurai_masahiro,4,42,
+sakura_rin,4,42,
+saitaniya_ryouichi,1,42,
+saint-germain_(symphogear),4,42,
+sai_koro,1,42,
+sabou_san-shitsu_kokoro,1,42,
+sabertooth_cat,0,42,
+s_(tenshi_no_kiss),1,42,zaqxsw_(pixiv)
+ryanreos,1,42,
+runaway_girl_(jojo),4,42,
+runawate56,1,42,
+run_the_9tails,1,42,i.g.w
+rum_raisin,0,42,
+ruby_(ff9),4,42,
+rougetsu,1,42,
+roteri_(roteri_69),1,42,
+rorona_s.,1,42,
+roe_(d-c_-b),1,42,
+rodimus,4,42,
+robin_(unlimited_world),1,42,
+road_bicycle,0,42,
+ritalem,1,42,ritalem_(pixiv68891022)
+riou_(pooh920),1,42,pooh920
+rinko_riban,1,42,
+rikei-chan_(tawawa),4,42,
+rib_(rib_delesetong),1,42,
+retrospective_53_minutes,3,42,
+reno_(summer_spin-off)_(azur_lane),4,42,
+renge_(ngetyan),4,42,
+renault,0,42,
+remington_model_700,0,42,"m24_sws,m24a2,m700,r700,remington_m700"
+regidrago,4,42,
+red-eared_slider_(kemono_friends),4,42,
+reccu,1,42,
+reah_(ys),4,42,
+ratana_satis,1,42,
+rasputin_(fate),4,42,rasputin_(fate/grand_order)
+ranemu,1,42,
+rakusai_(saisai_garou),1,42,
+rafters,0,42,
+quest_receptionist_(monster_hunter_3_ultimate),4,42,
+qing_yunyi,1,42,
+qin_liangyu_(chainsaw_of_the_dead)_(fate),4,42,chainsaw_of_the_dead
+qawsedrftgyhujikolp,0,42,
+pushing_cart,0,42,
+purplevortex,1,42,
+pua,1,42,
+psuede,1,42,
+professor_ozpin,4,42,
+prinny_~ore_ga_shujinkou_de_iinsuka?~,3,42,prinny:_can_i_really_be_the_hero?
+princess_leona,4,42,
+precure_netorare_(meme),0,42,precure_netorare
+porthole,0,42,
+porno_dianno,4,42,
+poppy_bros_jr,4,42,
+popori,4,42,
+pomf,0,42,
+police_motorcycle,0,42,
+pokemon_tower_ghost,4,42,
+pokemon_ranger_2,3,42,
+poechan_chan,1,42,
+piyo,1,42,
+piruluk,4,42,
+pirorun,1,42,
+pink_delmo,4,42,
+piano_wire,0,42,
+persia_(mahou_no_yousei_persia),4,42,
+peperoncirno,1,42,
+penis_wrap,0,42,
+peakjump,1,42,
+paulo_barrios,1,42,
+parappa_the_rapper,3,42,
+papepox2,1,42,
+panties_around_toe,0,42,
+panda_(heart_sink),1,42,
+paint_gun,0,42,
+pacifica_casull,4,42,
+ozyako,1,42,
+oywj,1,42,
+oxenia,1,42,
+owasaki,1,42,
+oversized_insect,0,42,
+outfit_connection,0,42,
+oukafafafa,1,42,
+otome_domain,3,42,
+otochichi,1,42,
+osananajimi_wa_daitouryou,3,42,
+oro_ponzu,1,42,
+oriotorai_makiko,4,42,
+orichalcum_reycal,3,42,
+orange_mikan,1,42,
+oqwda,1,42,
+oppai_hoodie,0,42,
+opening_can,0,42,
+onmyoji:_the_card_game,3,42,
+onaji_(sokudo_seigen),1,42,
+olivia_(yh),1,42,
+ohiensis,1,42,
+oekakiboya,1,42,
+nyx_(hades),4,42,
+nyamsas,4,42,
+numyumy,1,42,
+numenume_(powa-ogutyogutyo),1,42,
+numarinko,1,42,
+nukekip,1,42,
+np_(slipbounds),1,42,
+notte_(dragalia_lost),4,42,nhaam
+norisukep,1,42,
+norigure18,1,42,
+noptidha_lukchup,4,42,
+nonaka_yuu,1,42,
+nomo_(16_16),1,42,16_16
+nolmo,1,42,vanitas_0
+nolma7,1,42,
+nojima_chika,4,42,"chika_(k-on!),fujii_chika,girl_with_exchange_diary_(k-on!)"
+nipye,1,42,
+ninozen,1,42,
+nine_(dark),4,42,
+nimbus_(world_flipper),4,42,shiro_(world_flipper)
+niconico_id,0,42,
+ni_(2shi),1,42,ni_(pixiv17088)
+next_white,4,42,
+netorase,0,42,
+netflix,3,42,
+nero_claudius_(idol_emperor)_(fate),4,42,
+neris_(shining_hearts),4,42,
+nerdyart1,1,42,
+neptune_(neptune_series)_(cosplay),0,42,
+nekotawawa,1,42,
+nekomiya_noru_(yuduki710),1,42,
+nekojirou,4,42,
+nekoda_kuro,1,42,
+neko_cyber_(module),0,42,
+necolab,1,42,
+natsumi_kei,1,42,
+natsujiru,1,42,natsu_jirushi
+nathan_drake,4,42,
+naoya_(naoya_ee),1,42,naoya12580118
+naohiro,1,42,
+nanozenzen,1,42,
+nanase_sena,4,42,
+nanamiso,1,42,
+nanami_(virtuareal),4,42,
+nana_to_kaoru,3,42,
+nakoya_(nane_cat),1,42,
+nakashima_(middle_earth),1,42,
+nail_file,0,42,
+nahonanaho,1,42,pullssack
+nagato_(battleship),0,42,
+nagamori_mizuka,4,42,
+nadayui,1,42,
+nabe_(crow's_head),1,42,
+n1k,0,42,
+myriam_(saga),4,42,
+myholo_tv,3,42,
+murata_himeko_(arctic_kriegsmesser),4,42,
+muranushi_sayuri,4,42,
+muon,1,42,
+mulberry_(plant_crude_drug)_(arknights),4,42,
+mugupo,1,42,rwby_fanartnest
+mugimaru,4,42,
+mr_tangsuyuk,1,42,
+mozu_suka,1,42,
+mozu_(fire_emblem),4,42,mozume_(fire_emblem_if)
+mou_(mooooow),1,42,
+motsutoko,1,42,
+moto_(otemoto02),1,42,
+mosin-nagant_(moonlit_ocean)_(girls'_frontline),4,42,
+moryu,1,42,
+morse_code,0,42,
+morisoba_(silent_hill),1,42,
+moriguchi_yuu,1,42,
+mononoke_(empty),1,42,
+mononobe_no_futo_(cosplay),0,42,
+monolith_(object),0,42,
+momochi_chia,1,42,
+mogi_yuusuke,1,42,
+mochimochimochi,1,42,
+mochiko_(x-game),1,42,
+mobile_armor,0,42,
+mob_ojisan,1,42,
+mn_(zig_r14),1,42,
+mm30212,1,42,
+mizuiro_32,1,42,
+miyasato_haruka,4,42,
+miyaoi,1,42,
+miyako_(mongcocoa),1,42,
+miyabi_(miyabi_r18),1,42,
+miura_takehiro,1,42,
+mitsusaka_mitsumi,1,42,
+mitsurou,1,42,
+mitsuki_yuu,1,42,
+mitsuki_ponzu,1,42,
+mitsubishi_lancer_evolution,0,42,
+mitsu_(nonoko05),1,42,
+misogi_(misogi1341),1,42,
+miri_(miri_1m),1,42,
+miranjo,4,42,
+mirai_no_bokura_wa_shitteru_yo,0,42,
+minami_shin_(zenshuu_bougyo),1,42,shin_ichi_(zenshuu_bougyo)
+mina_(shingeki_no_bahamut),4,42,maimu_(shingeki_no_bahamut)
+mimosa_(flower),0,42,
+milkychu,1,42,
+milk_mustache,0,42,
+miles_(fma),4,42,
+mikuzukin_(module),0,42,
+mikimo_nezumi,1,42,
+midori_(kemurikusa),0,42,
+micro_uzi,0,42,
+michiyon,1,42,
+mia_alice,4,42,
+mia_(39565899),1,42,
+mhong,1,42,
+merric_(fire_emblem),4,42,marich
+men's_young,3,42,
+melompan,1,42,
+melissa_mao,4,42,
+meke_(77842928),1,42,
+mek,1,42,
+medori,1,42,
+matsuura_ayane,4,42,
+matokichi,1,42,
+mashima_taichi,4,42,
+masa_(masa-koba),1,42,masa-koba
+mark_(heaven),1,42,
+maria_(ogino_atsuki),4,42,
+mamiya_sakura,4,42,
+mami_akira,1,42,
+mamedenchi,1,42,
+mailbag,0,42,
+maidensnow_no_youkai_dai-makyou,3,42,
+mahou_no_yousei_persia,3,42,
+maha5,3,42,
+magnolia_arch,4,42,
+maggie_mui,4,42,
+magatan,1,42,
+mafu,1,42,
+madara_(natsume_yuujinchou),4,42,
+maboroshi_juuhime,3,42,
+m1887_(girls'_frontline),4,42,m1887_(girls_frontline)
+m-a-v-e-r-i-c-k,1,42,
+lzd,1,42,
+lyoung0j,1,42,
+luong,4,42,
+luelue_zi,1,42,
+love_love_princess,3,42,
+lorian_(elder_prince),4,42,
+lord_of_walkure,3,42,
+loli_fox_girl_(mdf_an),4,42,
+little_prinz_eugen_(azur_lane),4,42,eugen-chan_(azur_lane)
+lis_zhu_long,1,42,
+lindoh_flores,4,42,
+lim_(ramu),1,42,
+lili_levinas,4,42,
+lilele_(granblue_fantasy),4,42,lilulu
+light_elementalist_lux,4,42,
+leotard_removed,0,42,
+leonis_g,1,42,
+leona_garstein,4,42,
+lem,1,42,
+leehwa,1,42,
+leech_queen_(matilda_fiship),4,42,
+lee_sun_young,1,42,
+lee_(gyee),4,42,
+lechonk,4,42,
+le_chevalier_d'eon,3,42,
+ldd.ek,1,42,
+lawnielle,1,42,
+laser_pointer,0,42,
+large_mouse_(monster_girl_encyclopedia),4,42,
+laozhanshi,1,42,
+lanyingchengzhi,1,42,
+laina_(show_by_rock!!),4,42,
+lactmangan,1,42,
+lace-trimmed_babydoll,0,42,
+labyrista,4,42,
+kz-kura,1,42,
+kyuubi_(kemono_friends),4,42,
+kys_(k-k2),1,42,
+kyoma_(yellowxcake),1,42,
+kyanduru,1,42,
+kushabiria,1,42,
+kuronyanko,1,42,
+kuronekozero,1,42,
+kuromitsu_maria,1,42,
+kuro_(kurojill),1,42,
+kureson_(hayama_baa),1,42,
+kuon_bb,1,42,
+kunimitsu_(tekken),4,42,
+kumuiutabito,1,42,
+kumagapaniti,1,42,
+kukicha,1,42,
+krampus_(grizz),4,42,
+koutetsu_(fe_steel_stone),1,42,
+kousaka_yuuma,4,42,
+kouhai-chan_(mignon),4,42,
+kotsu_masumi,4,42,
+kototora,4,42,
+kotomozou,1,42,
+kotobuki_shiro,1,42,kotobuki(artist)
+kotobuki_minako,4,42,
+kord_(girls'_frontline),4,42,kord_(girls_frontline)
+kono_sanorou,1,42,
+kona_(mmmkona),1,42,
+komecchi,1,42,
+koma_(neko_musume_michikusa_nikki),4,42,
+kolmio,4,42,
+kokoro_na,1,42,
+kokonoi_hajime,4,42,
+koi_wa_ameagari_no_you_ni,3,42,after_the_rain_(manga)
+koharu_(morikura_en),4,42,
+kiyotaki_keika,4,42,
+kitara_koichi,1,42,
+kitana,4,42,
+kitagawa_marin_(cosplay),0,42,
+kiss_kiss_drain,3,42,
+kisaragi_(criminal_girls),4,42,
+kirov_(azur_lane),4,42,
+kirishima_akari,4,42,
+kirinkirin,1,42,
+kirara_yakubou,1,42,
+kirakira_patisserie_uniform,0,42,
+kinokorec,1,42,
+kinoeneko,1,42,
+kimikimi,1,42,
+kikuma_kaya,4,42,
+kihara_amata,4,42,
+kibashiba,1,42,
+keyaki_(mora_ll),1,42,
+keta_(psychetangle),1,42,
+kelvena_(xenogears),4,42,
+kefir,0,42,
+kazushiki_midori,1,42,
+kazesayuru,1,42,
+kazemachi_haruka,4,42,
+kazami_miki,1,42,
+kaz,4,42,
+kawai_sasami,4,42,
+katou_taira,1,42,
+katou_ryouichi,1,42,
+katakura_supipi,1,42,
+katakoriku,1,42,
+kasukabe_tsumugi,4,42,
+kasugano_sakura_(cosplay),0,42,
+karu_(ricardo_2628),1,42,
+karohroka,1,42,natsuro
+karin_(rei862),1,42,
+kare,1,42,
+kardie,1,42,
+karan_koron,1,42,
+kaori-san_(angelo),4,42,
+kanami_(bishop),1,42,
+kanade_suzu,4,42,
+kamiya_agari,4,42,
+kamishiro_rita,4,42,
+kamisada_himari,4,42,
+kaminari_qpi,4,42,
+kaminari,1,42,
+kamille_areopagita,1,42,
+kaiyi,1,42,
+kaisou_(0731waka),1,42,
+kaima,1,42,
+kagimura_hazuki,4,42,
+kaga_(battleship)_(kancolle),4,42,kaga_(battleship)_(kantai_collection)
+kadaj,4,42,
+kachou_fuugetsu_(onmyoji),4,42,
+kabu_usagi,1,42,
+jyunhh,1,42,
+jyun,1,42,
+jyami,4,42,
+juudai,1,42,
+june_(ne_z_asa),1,42,
+jsih,1,42,
+joshua_(fire_emblem),4,42,
+jomy_marquis_shin,4,42,
+john_mactavish,4,42,
+jocheong,1,42,
+jisoo_kim,1,42,
+jerun,1,42,
+jeong_surim,4,42,
+jeanne_d'arc_(drifters),4,42,
+japa,1,42,
+jankovsky,1,42,
+jack-in-the-box,0,42,
+j.2,1,42,
+itou_youko,1,42,
+ito_(itokayu),1,42,
+irina_jelavic,4,42,
+ipheion_(flower_knight_girl),4,42,
+insarability,1,42,
+ing0123,1,42,
+inflatable_chair,0,42,
+indigo_(tylwing),4,42,
+inari_(sennen_sensou_aigis),4,42,
+inahime_(sengoku_musou),4,42,
+imomochi,0,42,
+illyasviel_von_einzbern_(swimsuit_archer)_(third_ascension),4,42,
+ikeda_usao,1,42,
+ike_(altitude_attitude),1,42,
+ikameshi_(nega96396),1,42,
+iihoneikotu,1,42,
+idol_janshi_suchie-pai,3,42,
+idnar,1,42,
+ideologue!,3,42,
+idenshi_hina,1,42,idenshi_kumikae_(kabe_choron)
+ichimatsu_(anaumemondai),1,42,
+ichi_(pixiv6373491),1,42,
+i_g1ax,1,42,
+hyuuga_makoto,4,42,hyuga_makoto
+hys122211,1,42,
+hymmnos,0,42,
+hyakutarou_(momotar0_4),1,42,
+hyakunichigo_ni_shinu_wani,3,42,the_crocodile_who_dies_in_100_days
+humpty_dumpty,4,42,
+huey_laforet,4,42,
+huan_yu,1,42,
+hozu_(hozumi),1,42,hozunomi
+howa_type_89_(girls'_frontline),4,42,
+hoshino_(nia_hoshino),1,42,
+hoshina_suzu,4,42,
+hoshimaru_daichi,1,42,
+hood_pull,0,42,
+hontani_toshiaki,1,42,
+honeyberry_(arknights),4,42,
+honda_hanako,4,42,
+holding_scale,0,42,
+holding_paper_airplane,0,42,
+holding_bandages,0,42,
+hokkaido_(artist),1,42,
+hoji_(hooooooooji1029),1,42,
+hkn_(ringya),1,42,
+hiwatari_makoto,4,42,
+hitachiin_kaoru,4,42,
+hisuian_lilligant,4,42,
+hism_25_(tsumari),1,42,
+hisami_nanami,4,42,
+hisame_(shinrabanshou),4,42,
+hirondo,1,42,
+hiroki_bzdsk,1,42,
+hira_taira,1,42,
+hinoki_bayashi,1,42,
+hinoa_(hinoa1113),1,42,"illnott1113,siyecao_(uumix7e)"
+himokawa_udon,1,42,
+himeki_chifuyu,4,42,
+hiboshi_daizu,1,42,
+hi_no_tori_(kemono_friends),4,42,
+hessra,1,42,
+heroherotom,1,42,
+herja,4,42,
+hebi_(yurari),1,42,
+heart_ribbon,0,42,
+headdesk,0,42,
+hayasugi_hayato,4,42,
+hasegawamorito,1,42,
+harusameriburo,1,42,
+haruka_gracia,4,42,
+harugamitsu,1,42,
+harry_du_bois,4,42,
+harpyia_(last_origin),4,42,p-22_harpyia
+hanging_on_arm,0,42,
+haneiro,1,42,
+hane_riu,1,42,
+hanasaki_coa,1,42,
+hanabi_(yuruneko0624),1,42,
+hamutz_meseta,4,42,
+hamstarhand,1,42,
+hakurei_reimu_(fox),4,42,
+hakata_no_shio,3,42,
+hakase_yurisuki,1,42,
+hajime_(gitoriokawaii),1,42,
+hair_between_horns,0,42,
+haibara_ayako,4,42,
+hagimorijia,1,42,
+hachino_mugi,1,42,
+gypceros_(armor),4,42,
+gyorui_(makjita),1,42,
+guts_man,4,42,gutsman
+guraedo-chungchoon,1,42,
+guraasan,1,42,
+gunuaki,1,42,
+gundori,1,42,
+gundam_epyon,4,42,
+grimoire_~shiritsu_grimoire_mahou_gakuen~,3,42,
+grenadier,3,42,
+green_screen,0,42,
+great_mazinger_(robot),4,42,
+grandis_granva,4,42,
+gouken,4,42,
+gouen_no_soleil,3,42,
+gong_cha,1,42,tribute_tea
+golden_lore,3,42,
+glowing_nails,0,42,glowing_fingernails
+giygas,4,42,
+ginmaru,1,42,
+gillian_chen,4,42,
+giant_otter_(kemono_friends),4,42,
+ghost_hands,0,42,
+geshiko_(girls_und_panzer),4,42,
+george_joestar,4,42,
+georg_prime,4,42,
+ganyu_(qilin)_(genshin_impact),4,42,
+gamera,4,42,
+gallia_(saint_seiya_omega),4,42,
+galarian_darumaka,4,42,
+galarian_darmanitan,4,42,
+gagamatsu,1,42,
+gagaga,1,42,
+gabal_docker,4,42,
+fuzuki_yuu,1,42,
+funuyu,1,42,
+fukuyama_naoto,1,42,
+fukemachi,1,42,
+fujita_mariko,1,42,
+fujinomiya_neko,4,42,
+fuji_noyume,1,42,
+fuji_kakei,1,42,
+fuchi,1,42,
+frog_boy,0,42,
+free_sex_sign,0,42,
+fortress_2_(sekaiju),4,42,
+fortisselle,1,42,
+forklift,0,42,
+food_delivery_box,0,42,
+flinch,0,42,
+five_of_hearts,0,42,
+fist_fight,0,42,
+fino_ko,1,42,
+feo_ul,4,42,
+fengsao_hua_tanzhang,1,42,
+felt,1,42,
+feena_(shingeki_no_bahamut),4,42,feena_(granblue_fantasy)
+feelition,1,42,
+favonius_greatsword_(genshin_impact),0,42,
+farmer_(sekaiju),4,42,
+fallen_angel_ero_maid_costume,0,42,
+fallen-leaves,1,42,
+failnaught_(fire_emblem),0,42,
+eyes_visible_through_headwear,0,42,
+evolto,4,42,
+evelyn_(pokemon),4,42,
+etou_toshiko,4,42,
+enta_shiho,1,42,
+ene_mizunoawa,1,42,
+endend_(shinia),1,42,
+emera_(bombergirl),4,42,
+embroidered_legwear,0,42,
+ema_yuzuru,4,42,
+elsie-san_(oshiruko),4,42,
+elec_man,4,42,elecman
+eleanor_albertine_le_blanc_de_la_blois_de_la_valliere,4,42,
+ela_(rainbow_six_siege),4,42,
+efreezerarts,1,42,
+ebisumaru_(ebisumaru3),1,42,
+ebisu_kana,1,42,
+ebine_toshio,1,42,
+duzimura,1,42,
+dream_c_club_gogo.,3,42,dream_c_club_gogo
+drakeposting_(meme),0,42,drakeposting
+drain_(evork_festa),1,42,
+double_teacher_life,3,42,
+double_barrels,0,42,
+dot-matrix,0,42,
+dosu_(yodosu),1,42,
+doctor_(granblue_fantasy),4,42,
+dnangel,3,42,
+disembodied_torso,0,42,
+dilation_insertion,0,42,
+dian_cecht,4,42,
+deviantart,3,42,
+deunan_knute,4,42,
+den1208,1,42,
+demimond23,1,42,
+delmo_commander,4,42,
+deki_(dekiebi),1,42,lingpa_(linpa)
+defibrillator,0,42,
+dearche_kings_claudia,4,42,
+dead_line,1,42,
+daruma-san_ga_koronda,0,42,
+dangling_eye,0,42,
+dalian,4,42,
+daikokuten_(fate),4,42,"riyo_servant_(mice),riyo_servant_(mice)_(fate)"
+daiiichukiii,1,42,
+cycloneyukari,1,42,
+cyclamen_(flower_knight_girl),4,42,
+cuso4_suiwabutu,1,42,
+cuba_(hetalia),4,42,
+cthulhu_(poptepipic),4,42,
+crane_stance,0,42,
+cow_skull,0,42,
+cototiworld,1,42,
+cosmos_(dff),4,42,
+cornelius_alba,4,42,
+core_(girls'_frontline),0,42,core_(girls_frontline)
+cook,0,42,
+control_stick,0,42,
+confessional,0,42,
+commissar,4,42,
+comiket_85,3,42,
+colossus_(granblue_fantasy),4,42,
+collateral_damage,0,42,
+cockroach_girl,0,42,
+clynxen,1,42,
+clothes_shop,0,42,clothing_store
+cleopatra_(third_ascension)_(fate),4,42,
+cleavage_(game),3,42,
+clear,3,42,
+claudia_(saga),4,42,
+choko_(last_period),4,42,
+chocolate_on_ass,0,42,
+choco_fashion,0,42,
+chiyo_(miichiyochin),1,42,
+chiba_sayaka,4,42,
+chi_ya,1,42,
+chi_gura-ya,1,42,
+chi_(hnnmemi),1,42,
+chi_(chiwa),1,42,
+chi-rol,1,42,
+chewbacca,4,42,
+chelodoy,1,42,
+charles_ausburne_(azur_lane),4,42,
+cen_(cenll),1,42,
+ccjn,1,42,
+caterpillar_girl,0,42,
+castille_(phantom_brave),4,42,
+carrot_works,1,42,
+carmilla_(shepherd0821),4,42,
+capoki,1,42,
+capitan_wei,1,42,
+canopri_comic,3,42,
+camomi,1,42,
+calling_card,0,42,
+c.c._(cosplay),0,42,
+c-3po,4,42,c3po
+byeon_dha,1,42,
+bvucki36gzoeq1c,1,42,
+buta-don,1,42,
+busou_kanojo,3,42,
+buntatta,1,42,
+bunny_pajamas,0,42,
+bucket_spill,0,42,
+brown_eyeshadow,0,42,
+broken_vase,0,42,
+broca_(arknights),4,42,
+breast_reduction,0,42,
+brady_(fire_emblem),4,42,bredy_(fire_emblem)
+borisx,1,42,
+boridongja,1,42,
+booth_babe,0,42,
+bonza,1,42,
+bohemian_rhapsody,3,42,
+boco,4,42,
+boba_fett,4,42,
+blaster_master_zero,3,42,
+black_rhinoceros_(kemono_friends),4,42,
+bitou_daisukenojou,4,42,bito_daisukenojo
+bioshock_1,3,42,
+bingbingzi,1,42,
+besthetz,1,42,
+bertille_althusser,4,42,
+berlinetta_(pixiv_fantasia),4,42,
+beer_keg,0,42,
+beer_crate,0,42,
+beauty_(zoza),4,42,
+be_(ronironibebe),1,42,
+batsuma,1,42,
+bartholomew_kuma,4,42,
+barber,0,42,
+baicha_oqqa,1,42,
+bado_(kotoba_noriaki),4,42,
+bad_girl,4,42,
+azir,4,42,
+ayase_eli_(cosplay),0,42,
+avant_garde_(artist),1,42,
+aurastack,1,42,
+atorosu,1,42,
+atlanta_(warship_girls_r),4,42,
+asuto3,1,42,
+asuna_(sao)_(cosplay),0,42,
+asou_kasumi,4,42,
+asmodeus_(megido72),4,42,
+ashiga_oreta,1,42,
+aschen_brodel,4,42,
+asami_yuriko,1,42,
+artifact_(genshin_impact),0,42,
+armored_legwear,0,42,
+arima_natsubon,1,42,arima_natubon
+arima_kishou,4,42,
+ardyn_izunia,4,42,
+archer_(dragon_nest),4,42,
+arakumo_gakuen_soccer_uniform,0,42,
+arabian,0,42,
+aqua_(konosuba)_(cosplay),0,42,
+aotsuki_kaoru,1,42,
+aono_yami,1,42,
+aoman_de_cangshu,1,42,
+aoi_kyouka,4,42,
+ano_hito,1,42,
+anjou_(yancha_gal),4,42,
+anjerain,1,42,
+animal_balloon,0,42,
+anhao1224,1,42,
+angel_cage,3,42,
+andou_aiko,4,42,ando_aiko
+anata_to_mita_sakura,3,42,
+amu_(doubutsu_sentai_zyuohger),4,42,
+amedama_(akaki_4207),1,42,
+ambush,0,42,
+amazume_ryuuta,1,42,amazume_ryuta
+amaura,4,42,
+amatou3,1,42,
+amano_takumi,1,42,
+amamiya_rindou,4,42,
+amamiya_aki,4,42,
+amakase_miharu,4,42,
+amagami_rukichi,1,42,
+alternate_wing_color,0,42,
+alice_in_musicland_(vocaloid),3,42,
+alex_milne,1,42,
+alessa_gillespie,4,42,
+alcina_dimitrescu_(cosplay),0,42,
+alchemist_2_(sekaiju),4,42,
+albert_(shingeki_no_bahamut),4,42,
+akkgsyk,1,42,
+akira-riku,1,42,
+akimoto_(akimomomoto),1,42,
+akika_821,1,42,
+akihabara_dennou_gumi,3,42,cyber_team_in_akihabara
+akieru_nomaki,1,42,
+akiba's_trip_2,3,42,
+akashiro_sen,1,42,ikinokorubatu
+ainili,1,42,
+ago_maguro,1,42,
+ag_00000,1,42,
+african_elephant_(kemono_friends),4,42,
+aek-999_(babe_driver)_(girls'_frontline),4,42,
+aegissanp,1,42,
+admiral_minami_kazusa,4,42,
+adelbert_(madoka_magica),4,42,
+actinium89,1,42,89_(hakkyuu)
+acrux,1,42,
+ace_(fft-0),4,42,ace_(fftz)
+9ji,1,42,
+9degree,1,42,
+8gou,1,42,
+81_(mellowry),1,42,
+66ta1yak1,1,42,
+5pb.,3,42,
+04bou,1,42,tonbery
+zoids_shinseiki/zero,3,41,zoids_new_century/zero
+zogok_(okekan),1,41,
+zhuge_liang,4,41,
+zettai_muri_no_akira,1,41,
+zechs_merquise,4,41,
+zarashi,1,41,
+zaku_ii_fz_kai,4,41,
+z16_friedrich_eckoldt_(warship_girls_r),4,41,
+yuzuki_yukari_(cosplay),0,41,
+yuwan_2333,1,41,
+yuuki_(nijiiro_palette),1,41,
+yuuhi_korona,4,41,
+yuria_of_londor,4,41,
+yupii,1,41,
+yuni_(irohasuiroiro),1,41,
+yumeoi_kakeru,4,41,
+yumemizuki,1,41,
+yukimura_hajime,1,41,yukimura_(pixiv322693)
+yukimaru_(gojo),1,41,
+yuki_(12cut),1,41,
+yuki1977,1,41,
+yui_(daijun),1,41,
+yuge_sasatarou,1,41,
+yufu_kyouko,1,41,yufu_toyomimasu
+yu-gi-oh!_duel_links,3,41,
+you'a,1,41,
+yoshishi_(yosisitoho),1,41,
+yoshijima_ataru,1,41,
+yoshi_(nagatoro),4,41,
+yoohei_(pizzadev),1,41,yohei_(pizzadev)
+yonomo,1,41,
+yoneyu,1,41,
+yokoshima_tadao,4,41,
+yoda,4,41,
+yj_(yojo_san),1,41,
+yin_lan_xue,1,41,
+yghm,1,41,
+yellow_buruma,0,41,
+yasuzumi_yoriko,4,41,
+yamamoto_akane,4,41,
+yamaki_suzume,1,41,
+yaho_(yaho0211),1,41,
+yagami_kagami,4,41,
+yabuki_shingo,4,41,
+xyufsky,1,41,
+xuelan,4,41,
+xiwang_xintu,1,41,qunyadu
+ximubingo,1,41,
+xehanort,4,41,
+wudi_sao_nian,1,41,
+wozora,1,41,
+wotori,1,41,
+wormadam_(plant),4,41,
+wings_of_iron:_hazy_tales_(umamusume),0,41,
+windbreaker,0,41,
+white_whale,0,41,
+white_buruma,0,41,
+whipberry,1,41,
+when_mama_isn't_home_(meme),0,41,when_mama_isn't_home
+whac-a-mole,0,41,
+wenu_(kirikirimai),1,41,"wenu_(kirikirimai1222),yamaguchi_wemu,yamaguchi_wenu"
+wednesday_addams,4,41,
+wauwa,1,41,
+watercolor_effect,0,41,
+wata_(akawata),1,41,
+wang_chen,1,41,
+walter_sullivan,4,41,
+wallabee_beetles,4,41,
+wahiko_(black_bastard),1,41,
+wagashi_(okashina),1,41,
+vsk-94_(night_on_the_silver_bay)_(girls'_frontline),4,41,
+voice_(vocaloid),3,41,
+viorie,1,41,
+viola_(trusty_bell),4,41,
+vincent_t_(oriaarts),1,41,
+vesper_(pixiv3568),1,41,
+vera_(punishing:_gray_raven),4,41,
+venus_versus_virus,3,41,
+vee_(vtuber),3,41,
+valkyrie_drive_-bhikkhuni-,3,41,
+vajra_(summer)_(granblue_fantasy),4,41,
+vagina_dentata,0,41,
+uuroncha,1,41,
+usutominsutaa,1,41,
+ushijima_wakatoshi,4,41,
+uri_(uryu002),1,41,
+urashima_kanako,4,41,
+upside-down_book,0,41,
+unown_x,4,41,
+unneul,1,41,
+unagi189,1,41,
+umami_(sakeikura),1,41,
+ueyasu,1,41,
+uesugi_ren,4,41,
+uemoto_masato,1,41,
+uehara_ayuko,4,41,
+uchiha_sasuke_(cosplay),0,41,
+u-doku,1,41,
+type-1_energy_sword,0,41,
+two-tone_tail,0,41,
+twitch_username,0,41,
+twirling_weapon,0,41,twirling_knife
+tuzki,1,41,
+tuoni,1,41,
+tugmix,1,41,
+tsuyazaki_kokage,4,41,
+tsukushi_sasa,1,41,
+tsukito_(leaf_moon82),1,41,
+tsukinogi_(arknights),4,41,
+tsuki_hana,1,41,
+tsubutarou,1,41,
+tsuburaya_mana,4,41,
+trombe,1,41,
+troll_(warcraft),0,41,
+triple_vaginal,0,41,
+trento_(summer's_hotness?)_(azur_lane),4,41,
+traveler_(artbbt),1,41,
+tr-6_woundwort,4,41,
+toyosu_toyosu,1,41,
+towako_(akane_shinsha),3,41,
+touma_(tsunamiharuru),1,41,
+total_drama,3,41,
+tosh_(arc_the_lad),4,41,
+torte_(triggerhappy),1,41,
+torn_skin,0,41,
+tori_(qqqt),1,41,
+tool_kit,0,41,
+too_many_hearts,0,41,
+tone_(kancolle)_(cosplay),0,41,
+tomoe_hiyori,4,41,
+tokiziku,1,41,
+tlman,1,41,
+tktk135,1,41,
+timaking,1,41,
+thunderbird_type-blue,4,41,
+thunderbird,4,41,
+thumb,0,41,
+theodolite,0,41,
+thejunebug,1,41,
+the_moon_(tarot),0,41,
+the_high_priestess_(tarot),0,41,
+the_hierophant_(tarot),0,41,
+the_flash,4,41,
+the_dark_mangaka,1,41,
+tettabuzz,1,41,
+tetsu_(cencoroll),4,41,
+terrakion,4,41,
+tenya_mizuki,1,41,
+tennosuke_(tejons),1,41,
+tei-o,1,41,
+teddyellow,1,41,gom-iuneunsoli
+tavn,1,41,"nke_toumi,tavnbut"
+tautiki,1,41,
+taro_(disgaea),4,41,
+tarantulaines,1,41,
+tapu_bulu,4,41,
+tanya_(darker_than_black),4,41,
+tanima_yuri,4,41,
+tamichan,1,41,
+tamaxi,1,41,
+tamaoka_kagari,1,41,
+takuan_(takuan0907),1,41,
+takeshita_kenjirou,1,41,
+takeru_(hashiru11275),1,41,
+takenoko_seijin,1,41,
+takemoto_yasuhiro,1,41,
+takarada_rikka_(cosplay),0,41,
+takanashi_rikka_(cosplay),0,41,
+takamatsu_(yamajiai),1,41,stmbgt0
+takahashi_(ichigo_no_katamari),1,41,
+taka_(copyrobot),1,41,
+taiki_(juuni_kokuki),4,41,
+taihei_tengoku,1,41,
+tachibana_rino,4,41,
+tachibana_chizuru_(kimi_to_boku),4,41,
+tachibana_akira,4,41,
+t_miyanagi,1,41,
+t.o.d,1,41,
+t-rex_na_kanojo,3,41,
+t-5000_(girls'_frontline),4,41,t-5000_(girls_frontline)
+sylas_(league_of_legends),4,41,
+sweetest_music,3,41,
+suupii,1,41,
+sutera_sea,1,41,
+susukihotaru,4,41,
+susan_(rakeemspoon),4,41,susan_(rakeem_garcia-cueto)
+surre_academy_uniform,0,41,
+suppi,4,41,
+suneru,1,41,
+sully_(fire_emblem),4,41,"soiree,soiree_(fire_emblem)"
+suiiryu,1,41,
+suica_koubou,1,41,
+sui_hi_sf,1,41,
+sui_(aruko91),1,41,"osui_aruko,suisui_fe_1123"
+sugar_sound,1,41,
+sucking_on_multiple_breasts,0,41,
+su_konbu,1,41,
+su_ggushi,1,41,
+stufquin,1,41,
+stuffed_raccoon,0,41,
+stitch_(lilo_&_stitch),4,41,
+stir255,1,41,
+stealstitaniums,1,41,
+starstruckdon,1,41,
+sprite_(drink),0,41,
+spot-billed_duck_(kemono_friends),4,41,
+spirit_chiasma,1,41,
+sovetsky_soyuz_(azur_lane),4,41,
+souto,1,41,
+south114,1,41,
+souseiki_aster_gate,3,41,
+souma_yuki,4,41,sohma_yuki
+souki_lankni,1,41,
+souji_(senran_kagura),4,41,
+sosser,1,41,
+sorata123,1,41,
+sonokawa_momoka,4,41,
+sonnano_ari,1,41,
+soma_(ar_tonelico),4,41,
+soaryuna,1,41,
+snoot_challenge,0,41,
+smi_(enraku),1,41,
+sll,1,41,
+slee,1,41,
+siri,4,41,
+sippo-soft,1,41,
+siosiosolty,1,41,
+singed,4,41,
+simplecar,1,41,
+simisear,4,41,
+simca,4,41,
+silence_(frosted_breath)_(arknights),4,41,silence_(frost_breath)_(arknights)
+sig_sauer_p220,0,41,
+sierra,4,41,
+shokikanes,1,41,
+shocker,0,41,
+sho_yai,1,41,
+shizuri_(neet_de_otaku_na_kunoichi_to_naze_ka_dousei_hajimemashita),4,41,
+shiyashiki,1,41,
+shirotsuki_shirone,1,41,norimosa1216
+shiratama_(irodoli),1,41,
+shippitsu,1,41,
+shiotsuki_kazuya,1,41,
+shinoe_nun,1,41,
+shin_(hokuto_no_ken),4,41,
+shin9tani,1,41,
+shimizu_naotaka,1,41,
+shimizu_megumi,4,41,
+shimakaze_(warship_girls_r),4,41,
+shikimori_kazuki,4,41,
+shifumame,1,41,
+shidare_(youh4016),1,41,yuu_(youh4016)
+shidaccc,1,41,
+shibuya_hajime,4,41,
+shibamoto_thores,1,41,
+shario_finieno,4,41,
+sharin_no_kuni_himawari_no_shoujo,3,41,
+shannan_(fire_emblem),4,41,shanan_(fire_emblem)
+shakti_(elsword),4,41,shiva_(elsword)
+shadow_queen,4,41,
+sette_(nanoha),4,41,
+setsuri_(tubaki),1,41,
+serenade_(sinohi),1,41,serenade_(pixiv556801)
+senri_mana_(princess_connect!),4,41,"kaiser_insight,mana_senri_(princess_connect!)"
+sendou_airi,4,41,
+semovente_75/18,0,41,
+selkie,4,41,
+seijo_senki,3,41,
+search_bar,0,41,
+sea_monster,0,41,
+scuffed,0,41,
+scp-076-2,4,41,
+scal2let,1,41,
+sayonara444,1,41,
+sawamaharu,1,41,zema_haru
+satou_(danganronpa),4,41,
+satonishi,1,41,
+sasurai,1,41,
+sashiromiya_sasha,4,41,
+sarikyou,1,41,
+sardine,0,41,
+sapphism_no_gensou,3,41,
+santos,1,41,
+sanoharu,1,41,
+sanasanayukikuni,1,41,nanairo_madani
+sana_(tiny_evil),4,41,
+saliva_on_penis,0,41,
+saki_tsurugi,1,41,
+sake_(utopia_modoki),1,41,
+sakatsu_ohane,1,41,
+saitou_tsukasa,1,41,
+saiko_aida_(pkmn_soda),1,41,
+saigo_(ip_police_tsuduki_chan),4,41,
+sai_tamako,1,41,
+safurantora,1,41,2radpersec
+saegusa_mikoto,4,41,
+sader,4,41,
+s_sasaki_09140,1,41,
+ryuutetsu,1,41,
+ryuukitsu_koushu,4,41,
+rye_(hyn_uka),1,41,
+rwby_ice_queendom,3,41,
+ruvik,4,41,
+ruochongsang,1,41,hei_huo_chong
+running_blades,0,41,
+runerigus,4,41,
+ru_251,1,41,
+rpr,4,41,
+royal_flare,0,41,
+roxy,4,41,
+rokuroku_(xd_p),1,41,
+rodriguez_(kamwing),1,41,
+rocket_girls,3,41,
+robonyan,4,41,
+roamu_65,1,41,
+rm_(rm32),1,41,
+rita_rossweisse_(spina_astera),4,41,
+risem,1,41,
+riry,1,41,
+ringo_roadagain,4,41,
+rin_mokkomoko,1,41,
+rin_(muse_dash),4,41,
+rimocon_(vocaloid),3,41,
+riding_boots,0,41,
+rhombus,0,41,
+reminiscence202,1,41,
+remedei,1,41,
+rekareka,1,41,
+reireimu,3,41,
+rei_(farta_litia),1,41,fartalitia
+reeze_(reezely),1,41,
+reen_kadorer,3,41,
+red_hare_(fate),4,41,red_hare_(fate/grand_order)
+raymie0124,1,41,
+rascala39,1,41,
+rare_candy,0,41,
+ransa,1,41,
+ramnik5,1,41,
+raidensan,1,41,
+radioactive,0,41,
+racco,1,41,
+r2sais,1,41,
+r-one,1,41,
+queen_qko,1,41,
+quality_cabbage,0,41,
+qiu_yue_(vtuber),4,41,
+qianze_chia,1,41,chiya_1589505970
+pzkpfwi,1,41,
+pulling_back,0,41,
+prunus_girl,3,41,
+prinz_heinrich_(fireworks_and_tapestries)_(azur_lane),4,41,
+powder,0,41,
+pouring_onto_another,0,41,
+popuri_(fushigi_mahou_fun_fun_pharmacy),4,41,
+poppi_pipopapo,4,41,
+popogori,1,41,
+pop_sound_blossom_(idolmaster),0,41,pop_sound_blossom
+pool_party_caitlyn,4,41,
+pongari,1,41,
+pollution,0,41,
+plawres_sanshirou,3,41,
+plasbott,1,41,
+pip_bernardotte,4,41,
+pingtsi_(chainsaw_man),4,41,
+pinchuu,1,41,pinchuu~
+pig_tattoo,0,41,
+pig_boy,0,41,
+phantom_gundam,4,41,
+phantasy_star_portable,3,41,
+phantasy_star_online_2_the_animation,3,41,
+pet_(sekaiju),4,41,beast_(sekaiju)
+peninsula_(disappearedstump),1,41,
+pemoko,1,41,
+pekoo_(pekota),1,41,
+pegasus_koga,4,41,
+payday_2,3,41,
+patio,0,41,
+parvati_iv,4,41,
+parfait_(lamune),4,41,
+papion,1,41,
+pantalone_(genshin_impact),4,41,
+panel_gag,0,41,
+palulap,1,41,
+paintbrush_hair_ornament,0,41,
+ozawa_yumi,4,41,
+oyasumi_punpun,3,41,goodnight_punpun
+outsuki,1,41,
+outside_of_play_area,0,41,
+ourai_no_gahkthun,3,41,
+ougi_(u_to4410),1,41,
+otogi_ryuuji,4,41,duke_devlin
+otoboke-san,1,41,
+otamashimai,1,41,
+oshino_hazure,1,41,
+os9,4,41,
+orisu_atto,1,41,
+ootori_chacha,4,41,
+ootori_amane,4,41,
+ooshima_towa,1,41,
+ooki1089,1,41,
+onyuuuu,1,41,
+onizuka_ao,4,41,
+onizaki_kirara,4,41,
+olesyaspitz,1,41,
+okuno_naru_(exoprsa),1,41,
+okku,1,41,
+oga_tatsumi,4,41,
+odaiba_girls_high_school_uniform,0,41,
+octopus_devil_(chainsaw_man),4,41,
+nyanko_(marl_kingdom),4,41,
+nuts_(hazel-nuts),1,41,nuts_p_nuts
+numazume,1,41,
+nukoji,1,41,
+nono_kotori,4,41,
+nonexistent_memories_(jujutsu_kaisen),0,41,
+nonbiri_monban,1,41,
+noir39,1,41,
+nogi_wakaba,4,41,
+nogami_shouko,4,41,
+no_coat,0,41,
+niya_(blue_archive),4,41,
+nishi_tanuki,1,41,
+nirak,1,41,hamaguri_(nirak1203)
+nipio,1,41,pe1077
+ning_hai_(moon_palace_rabbit)_(azur_lane),4,41,
+nikujaga_(food),0,41,
+nijou_izumi,4,41,
+nijino_yurika,4,41,
+niiyama_nico,4,41,
+niimura_(csnel),1,41,
+nigel_uno,4,41,
+nia_i,1,41,
+nezielmi,1,41,
+new_jersey_(pacific),4,41,
+nerokuro,1,41,
+neoko,1,41,
+nemu_(haibane),4,41,
+nejiresyake,1,41,
+neji_(ultramarinesunset),1,41,
+necronomicon,0,41,
+nayru,4,41,
+natsumikan,1,41,
+natsume_asato,1,41,
+natsu_(360c),1,41,
+nasuuni,1,41,
+nashirasauce,1,41,nashira_(shioiri)
+nashiki_(5tella),1,41,
+narumi_nakuru,4,41,
+naoya_come,1,41,
+nao_akinari,1,41,
+nao_(otosuki),4,41,
+nanashin,1,41,
+nanao_parakeet,1,41,
+nanami_mizuki,4,41,
+naname_(fossama1),1,41,
+nanaly_(sennen_sensou_aigis),4,41,
+nanakagi_satoshi,1,41,
+namiko,4,41,
+nameco_(nameco_h),1,41,
+nam_(nam990902),1,41,
+nakakouji_ayano,4,41,
+nakahara_(fukufuku),1,41,
+nakadera_akira,1,41,
+nagumo_(qmzp10),1,41,
+nagatsukiariake,1,41,
+nagata_ozu,1,41,
+nagachika_hideyoshi,4,41,
+naga_(staygarden),4,41,
+mzoo39,1,41,
+mz_(yeye_ai_chipao_mian),1,41,
+mythic_live,3,41,
+mush,1,41,fingalphoneix
+musashino_kazuhiko,4,41,
+multiple_penis_fellatio,0,41,
+moyatarou,1,41,
+movie_thief,4,41,
+mouse_hood,0,41,
+morphin_e,1,41,
+morizono_rikka,4,41,
+morisu,1,41,
+morimasakazu,1,41,
+moric,1,41,
+morganite_(houseki_no_kuni),4,41,
+monster_world,3,41,
+monotosu,1,41,
+monmon,1,41,
+momonoko_noko,1,41,
+momochi_zabuza,4,41,
+moboj13,1,41,
+mizutani_tooru,1,41,
+mizuno_minato,1,41,
+mizukoshi_mio,4,41,
+mizoreshi,1,41,
+mizoredama,1,41,
+miz,1,41,
+mixer_(cooking),0,41,
+miss_surfersparadise,0,41,
+misoshiru_(meridianchild312),1,41,
+misono_chiaya,4,41,
+mirrrrr,1,41,
+miranda_lawson,4,41,
+miori_(alice_parade),4,41,
+minono_aki,1,41,
+mimizou,1,41,
+mime_(fft),4,41,
+mikajima_saki,4,41,
+mikage_(shibi),1,41,
+mika_(under_night_in-birth),4,41,
+mika_(lycoris_recoil),4,41,
+miiru,1,41,
+mihirogi_uta,4,41,
+miffy,3,41,
+mido_(mido_chen),1,41,
+midnight_(midnightstream3),1,41,
+michigan,1,41,
+mephisto_pheles,4,41,
+meme-tan_(bana_nan26),1,41,
+mejina,1,41,
+meiyan_(boyimachao),1,41,
+meily,1,41,
+mcrc_science,1,41,
+mcgillis_fareed,4,41,
+mayumio88,1,41,
+maya_(tirolpop),1,41,
+matutoya,1,41,
+matsubara_ryuu,1,41,matsubara_tatsu
+matayoshi_(nopple_1000),1,41,
+masamika10086,1,41,
+marz_von_ludowing,4,41,märz_von_ludowing
+mary_anning_(fate),4,41,"riyo_servant_(braid),riyo_servant_(braid)_(fate)"
+marusan,1,41,
+maruput,1,41,
+maruna_(maru01),1,41,
+maroyan,1,41,
+marnie_(palentine's_2022)_(pokemon),4,41,
+marinon,1,41,
+marija_(muse_dash),4,41,
+march_hare_(alice_in_wonderland)_(cosplay),0,41,
+marble_(stone),0,41,marble_(material)
+marble_(marblesized),1,41,
+manmaru_tamago,1,41,
+maniwa_kamakiri,4,41,
+manda_(luts7602),1,41,luts
+manami_sangaku,4,41,
+mamo_(fortune-mm),1,41,
+mamezou_(mamechan182),1,41,
+mallard,0,41,
+male_warrior_(disgaea),4,41,
+maldives,1,41,
+malboro,4,41,
+makoto_(dandelion),1,41,
+magma_chipmunk,1,41,
+magical_tale,3,41,
+magical_drop,3,41,
+mad_maggie_(apex_legends),4,41,
+mad_(kusakabe),1,41,
+macbook,0,41,
+mac-11,0,41,
+mabuta_kayumi,1,41,
+m79,0,41,
+m4a1_(suspender_of_time)_(girls'_frontline),4,41,
+lugh_(fire_emblem),4,41,
+lucia_(fire_emblem),4,41,
+love_cube,3,41,
+loup,1,41,
+losse_(personal_ami),4,41,
+longzaibei01,1,41,
+lleu,1,41,
+liwendala,1,41,
+liuliu,1,41,
+lipstick_mark_on_breast,0,41,
+link_(shounen_captain),4,41,
+ling_(vivianling),1,41,
+linch,1,41,
+life_neko72,1,41,
+liangfen,1,41,liangfen232
+lepoule,1,41,
+leo_(reiga),4,41,
+lemonice,1,41,
+legioss,4,41,
+leech,0,41,leeches
+lecturing,0,41,
+lean_(konosuba),4,41,
+lay's,0,41,
+lawnmower,0,41,
+latutou1,1,41,
+lamento,3,41,
+kyou,1,41,
+kyo_(kyo21413),1,41,
+kyl490,1,41,
+kyama,1,41,
+kusubii,1,41,
+kushibi,1,41,
+kusari,3,41,
+kuroi_mizore,1,41,
+kurasaki_cosmos,1,41,
+kuramoto_chinatsu,4,41,
+kuramachi_anna,4,41,
+kumojacky,4,41,
+kumashiro_izuta,1,41,
+kumahara,1,41,
+kujira_pasta,1,41,
+kuimu_lang,4,41,
+kubomi_943,1,41,
+kryztar,1,41,kryztar_ice
+krt736,1,41,
+kris_(fire_emblem)_(female),4,41,
+koyama_tomosato,1,41,
+kousaka_rui,4,41,
+kouno_ruruka,4,41,
+kotomura_akane,4,41,
+koto_(marron_marron),1,41,
+kotengu,1,41,
+kotamun,1,41,
+kosmo1214,1,41,
+kosanmaka,1,41,
+kondou_totetsu,1,41,biomechanoid
+kon_(tokyo_ravens),4,41,
+kon-el,4,41,
+komiya_nigi,1,41,
+komaruri,1,41,
+komari_mhy,1,41,
+komainu_ears,0,41,
+kokura_asahi,4,41,
+kokemomo_(makesound),1,41,
+koizuka_koyume,4,41,
+koiken_otome,3,41,
+kogure_yuuya,4,41,
+kobapyon,1,41,
+knee_spikes,0,41,
+knck,1,41,
+klein_(sao-alo),4,41,
+kiyomasa_(dangan),1,41,
+kive,1,41,
+kitsune23star,1,41,
+kitsu+3,1,41,
+kisaragi_you,1,41,
+kirome_toru_2,1,41,
+kirihara_izumi,1,41,
+kinese_(katasutorohu),1,41,
+kimimaru,1,41,
+kimae,1,41,
+kikwi,4,41,
+kiki_okina,1,41,
+kijinkutsu,1,41,
+kido_jirou,1,41,
+kiba_mikoto,4,41,
+kettsu,1,41,
+kentap,1,41,
+kenchi,1,41,
+keishin_academy_uniform,0,41,
+kbyd_(idolmaster),0,41,kbyd_(idolmaster_cinderella_girls)
+kazuraba_kouta,4,41,
+kazumi_(madoka_magica),4,41,kazumi_(kazumi_magica)
+kazaya,1,41,
+kazari_asami,4,41,
+kawasaki_raimu,4,41,
+katsuragi_mari,4,41,
+katana_(life_is_beautiful),1,41,
+katakura_nayuuki,1,41,
+kasugai_haruko,4,41,
+kasane_ted,4,41,
+karui_(naruto),4,41,
+karthus,4,41,
+karon_official,3,41,
+karon_(vtuber),4,41,
+karioda,1,41,
+kari_okome,1,41,
+karas,3,41,
+karameru_(character),4,41,
+karada_asobi,1,41,
+karaage_karara,1,41,
+kappa_mame,1,41,
+kano-0724,1,41,
+kanno_naoshi,4,41,
+kanbayashi_mizuki,4,41,
+kanaya_azami,4,41,
+kamen_rider_super-1,4,41,
+kamekichi27,1,41,
+kama_(fate)_(cosplay),0,41,
+kalalasan,1,41,
+kakyoxx,1,41,
+kajishima_masaki,1,41,
+kagamine_rin_(if),4,41,
+k_ototo,1,41,
+k_liss_s,1,41,yuu_sagi
+k0nfette,1,41,
+jusc0,1,41,
+juniper_(artist),1,41,egocider
+julis-alexia_von_riessfeld,4,41,
+ju-ok,1,41,
+jsscj,1,41,
+josou_jinja,3,41,
+john_kafka,1,41,dr_hathaway
+john_k._pe-ta,1,41,
+jiu_fanglianhua,1,41,range51
+jinnai10,1,41,
+jinlu_tongzi,4,41,
+jinguuji_kuesu,4,41,
+jie_xian_(tsuki),1,41,fengyue_jiang
+jian,1,41,
+jiachong_jun_z,1,41,
+ji_yue,1,41,
+jesus_burgess,4,41,
+jeritza_von_hrym,4,41,
+jalm,1,41,
+jakuzure_nonon_(cosplay),0,41,
+j-max_japan,1,41,
+izubuchi_yutaka,1,41,
+iyokawa,1,41,
+iwashi_gimu,1,41,
+itsuka_neru,1,41,
+itou_(golem_inc),1,41,
+issho_ni_gohan_tabetai,3,41,
+isamu_dyson,4,41,
+irorigumi,1,41,
+iroha_(samurai_spirits)_(cosplay),0,41,
+iroha741852963,1,41,
+iokawa_karada,4,41,
+io_(onisarashi),1,41,
+inzanaki,1,41,
+inverted_moon_of_the_heavens,0,41,
+inuyama_kuroe,4,41,
+insect_collection,0,41,
+incro300,1,41,
+inaho_(world_flipper),4,41,
+impossible_necktie,0,41,
+imo_mushi,1,41,
+imaoka,1,41,
+imagawa_yoshimoto_(sengoku_otome),4,41,
+imac,0,41,
+ilia_amitola,4,41,
+ikushima_(danshi_koukousei),4,41,ikushima_(joshikousei_wa_ijou)
+ikk,1,41,
+iiros,1,41,
+iida_riho,4,41,
+ido_e_itaru_mori_e_itaru_ido,3,41,
+ido_(nothing679),1,41,
+ide_naomi,1,41,
+ichiya_(obey),1,41,
+ichijou_kou,4,41,ichijo_kou
+ichijou_kokona,4,41,
+ichigozaka_middle_school_uniform,0,41,
+ichiba_ko'ushi,1,41,ichiba_koushi
+icelandic_flag,0,41,
+ice_flower,0,41,
+ice_(doragon),1,41,
+iberis_(ogami_kazuki),4,41,
+ibata_shouta,1,41,
+hum_(ten_ten),1,41,
+huang_(darker_than_black),4,41,
+hrna,1,41,
+houjou_kuniko,4,41,
+hototogisu_(7kanu_7ra),1,41,
+hosshi_(nariagari),1,41,
+hoshinokaoru,1,41,
+hoshiguma_yuugi_(cosplay),0,41,
+honey_badger_(gun),0,41,
+honda_tamaki,4,41,
+homerun_ken,1,41,
+holding_sex_toy,0,41,
+holding_nose,0,41,
+holding_frame,0,41,
+hokuto_(tokuho),1,41,
+hokkana,1,41,
+hobble_dress,0,41,
+hiya,1,41,
+hitoki_(kokusei1977),1,41,
+hitachi_izuru,4,41,
+hisaki_(morenabe),1,41,
+hiota_(kuhi_0301),1,41,
+hino_(moca),1,41,
+hinata_mizuiro,1,41,
+hinata_ema_(aikatsu_friends!),4,41,
+hime_(ohime_pkg),1,41,
+hikaru_310,1,41,
+hijiri_(xxhizirixx),1,41,
+hiiragii_(hiiragi_0404),1,41,
+hige_(com),1,41,
+hievasp,1,41,
+hieda_no_amu,4,41,
+hidaka_hokuto,4,41,
+hibino_hibiki,4,41,
+hibika,1,41,
+hibana_(enen_no_shoubotai),4,41,
+heridy,1,41,
+helena_blavatsky_(fate)_(cosplay),0,41,
+headmistress_fiora,4,41,
+hazama_(hazamazama),1,41,sat_0804
+hayashi_tsugumi,1,41,
+hayana_neru,1,41,neru_a
+hatsune_haruka,1,41,
+hatou_kei,4,41,
+hathor_(p&d),4,41,
+hashihime,0,41,
+haruno_suzune,1,41,
+harukaze_sensation!,3,41,
+harpie_queen,4,41,
+harold_berselius,4,41,
+harakune_(mugennero),1,41,
+harabacho_(gkfkqkch1),1,41,
+handheld_fan,0,41,
+hand_over_another's_eyes,0,41,
+hancho,1,41,
+hanazono_serena,4,41,
+hanatsuki,1,41,
+hanabusa_(xztr3448),1,41,
+hamster_(hanmster),1,41,
+haku_wi,1,41,
+hair_bun_girl_(nagioka),4,41,
+hage_tashuumi,1,41,
+h.dupp_(nama_aakiruu),1,41,dupp_akiru
+h&k_mark_23,0,41,hk_mark_23
+gyuunyuukeepaa,1,41,
+gyudan_(t1k_7),1,41,
+gvzzgl,1,41,
+gustaf,4,41,
+gureshi_db,1,41,
+gunvolt,4,41,
+guild_cq,3,41,
+gs-mantis,1,41,
+grimace_(mcdonald's),4,41,
+gremyashchy_(azur_lane),4,41,
+green_pepper,0,41,
+grandpa_gohan,4,41,
+granberia,4,41,
+goyacchi,1,41,
+goodsun_sunkumi,1,41,
+golden_tabby_tiger_(kemono_friends),4,41,
+gokkun_tororojiru,1,41,
+going_merry,4,41,
+gohanduck,1,41,meiyoumingzi
+godtier_(homestuck),0,41,
+goat_legs,0,41,
+gnosis_(arknights),4,41,
+girl_who_trained_on_mt._haku_(touhou),4,41,
+ginro_(dr._stone),4,41,
+gigapuri,1,41,
+ghost_(modern_warfare_2),4,41,
+getter_robo_arc,3,41,
+geometric_pattern,0,41,
+genzaburoh,1,41,
+gentletiger,1,41,
+gensou_suikoden_tierkreis,3,41,suikoden_tierkreis
+gemini_kanon,4,41,
+gekoge_satoru,1,41,
+gata2013,1,41,
+garuda,4,41,
+garrett_hanna,1,41,
+garnet_(sumaga),4,41,
+garickson,1,41,
+galarian_farfetch'd,4,41,
+fuzinoe_13b,1,41,fujimura_13
+fuugetsu_(sanmunyudai),1,41,
+futaba_morishita,1,41,
+funkysatou,1,41,
+fumizuki_academy_uniform,0,41,
+fukushima_uichi,1,41,
+fukumimi,1,41,
+fukujon,1,41,
+fukasugi_aiko,4,41,
+fujishiro_otone,4,41,
+fujisawa_naoyuki,1,41,nao_yuki
+fujisaki_(hjsk),1,41,
+fujimori_yuu,4,41,
+fujii_shino,1,41,
+freudia_neuwahl,4,41,
+foro_(planet_cage),1,41,
+fondue,0,41,
+flotation_belt,0,41,
+fleurdelis_(yu-gi-oh!),4,41,
+fist_shaking,0,41,
+fishnet_swimsuit,0,41,
+finch_(xenoblade),4,41,ibuki_(xenoblade)
+filicia_heideman,4,41,
+figure_17,3,41,figure17
+field_radio,0,41,
+fiamma_of_the_right,4,41,
+ferry_(halloween)_(granblue_fantasy),4,41,
+female_knight_(guardian_tales),4,41,
+female_crusader_(dungeon_and_fighter),4,41,
+fcp,1,41,
+fate/grand_order:_first_order,3,41,
+fate/grand_carnival,3,41,
+fat_step-sister_(orizen),4,41,
+farina_(fire_emblem),4,41,
+fang_zhenjun,1,41,
+fall_(aki),1,41,"ihan,raccoon_(raccoonccoon)"
+fake_play_button,0,41,
+fake_hisui_(cookie),4,41,
+fairyfloss,1,41,mianyun_yi_li
+fairy_knight_lancelot_(third_ascension)_(fate),4,41,
+face_cutout,0,41,
+eyelash_curler,0,41,
+evanyi,1,41,evan_(912319)
+eva_03,4,41,
+eska_(cookie),4,41,
+ero_condo,3,41,
+erect!,3,41,
+epis,4,41,
+enyon_moon5,1,41,
+enryuu_(rmxs3488),1,41,
+enone,1,41,
+engawa_(rarenago),1,41,
+eminya_27,1,41,eminya27
+ella_of_the_sky,4,41,
+elite_beat_agents,3,41,
+el_(canon_jihad),1,41,
+eight-tailed_fox_nari,4,41,
+eelektrik,4,41,
+edel_(ikeuchi_tanuma),4,41,
+ebihara_minase,4,41,
+dumuzid_(fate),4,41,
+dream_c_club_uniform,0,41,
+drampa,4,41,
+dragon_install,0,41,
+dragon_fruit,0,41,
+dragon_ball_z_fukkatsu_no_f,3,41,
+doujin_work,3,41,
+dotaku_(wran8845),1,41,
+dom_(animal_crossing),4,41,
+dokuga,4,41,
+dina_(sennen_sensou_aigis),4,41,
+digimon_survive,3,41,
+diforland,1,41,
+diamond_dust,1,41,
+dew_(7302235),1,41,
+depe,1,41,
+denkichi,1,41,
+demons_driver,0,41,
+dekomegane,4,41,
+dedeyong,1,41,
+dawapat,1,41,
+darr1o,1,41,
+darius_burst,3,41,
+darandy,1,41,
+daimon_masaru_(danganronpa),4,41,
+daikoku_(housamo),4,41,daikoku_(tokyo_houkago_summoners)
+dai_nikucho,1,41,
+dadamori,1,41,
+daakuro,1,41,
+d-stop,1,41,
+cybertron,0,41,
+cure_mofurun,4,41,
+cum_in_shoe,0,41,
+crash_landing,0,41,
+cranberry,0,41,
+cowardly_lion,4,41,
+cosmos_(the_crying_moon),1,41,sayuri_(artist)
+corn_potako,1,41,
+core1013,1,41,
+congqian_you_ke_xing,1,41,
+comic_megastore_h,3,41,
+comet-kun,4,41,
+colorful_drop_(module),0,41,
+cokuto1,1,41,
+cockadooodledoo,1,41,
+cloneko_(zelmeledf2),1,41,
+cloche_hat,0,41,
+clitoris_pull,0,41,clit_pull
+claw_hammer,0,41,
+claire_rieveldt,4,41,
+ciao_churu,0,41,
+chuuko_demo_koi_ga_shitai!,3,41,
+chua_churam,4,41,
+christian_private_white_clover_academy_school_uniform,0,41,
+chokuboron_ryou,1,41,
+chocolat_(noucome),4,41,
+chloe_lilith_stella,4,41,
+chisato_and_takina_kicking_each_other's_butt_(meme),0,41,
+chiru,1,41,
+chinese_food,0,41,
+chilly_(kirby),4,41,
+chijimetaro,1,41,
+chiisana_kanojo_no_serenade,3,41,
+chibigou,1,41,
+chi_no,1,41,
+chest_cannon,0,41,
+chapayev_(white_cavalier's_respite)_(azur_lane),4,41,
+chagoon,1,41,
+ch-47_chinook,0,41,
+censored_anus,0,41,
+cecelia_(arknights),4,41,cecilia_(arknights)
+ccaw,1,41,
+cbj-ms,0,41,
+caws_(girls'_frontline),4,41,caws_(girls_frontline)
+cawfield,1,41,
+catumi_(ta938_ka23),1,41,ta938_ka23
+catneylang,1,41,
+carrot_glace,4,41,
+caren_hortensia_(amor_caren)_(first_ascension),4,41,
+captain_ginyu,4,41,
+captain_commando,3,41,
+cap105,1,41,radiance
+canvas_(medium),0,41,
+callarinc,1,41,
+cabbage_soft,3,41,
+c-chaos,1,41,
+butterfly_on_hair,0,41,
+bula,1,41,
+browning_hi-power,0,41,
+brocon,0,41,
+brigitte_stark,4,41,
+breast_punch,0,41,
+brayanong999,1,41,
+box_on_head,0,41,
+bowsan,1,41,
+bolbbangbbang,1,41,
+bokiboki333,1,41,
+boarded_windows,0,41,
+blue_oak_(sygna_suit),4,41,
+blue_apple,0,41,
+blowing_candle,0,41,
+blind_prince,4,41,
+blazing_souls,3,41,
+blank_(ff9),4,41,
+black_claws,0,41,
+bitaraga,1,41,
+bisquii,1,41,
+beta_(joutarou),1,41,
+belt_bow,0,41,
+bella_(sennen_sensou_aigis),4,41,
+belka_dog,1,41,cucco_king
+beelzebub-jou_no_okinimesu_mama.,3,41,as_miss_beelzebub_likes
+bbakasatang,1,41,
+bb-28_(cosplay),0,41,
+baywatch,3,41,
+battlefield_3,3,41,
+battle_programmer_shirase,3,41,
+basculin_(red),4,41,
+bari_(destiny_child),4,41,
+bare_legs_girl_(kamizaki_hibana),4,41,
+barbata,4,41,
+bannou_bunka_nekomusume,3,41,all_purpose_cultural_cat_girl_nuku_nuku
+banana_takemura,1,41,
+ban_(bannyata),1,41,
+ban_(777purin),1,41,
+balor_(housamo),4,41,balor_(tokyo_houkago_summoners)
+baiola,1,41,
+bai_winchester,4,41,
+bad_end_night_(vocaloid),3,41,
+bacher,1,41,bach-bach
+azuma_(lily-white_longing)_(azur_lane),4,41,
+azling,1,41,
+azkn,1,41,
+ayatori_(sensei_heroism),1,41,
+aurora_(kanachirou),4,41,
+astromech_droid,4,41,
+assassin's_creed:_revelations,3,41,
+aska_(anakoluth),4,41,
+asai_makoto,1,41,
+asahina_samidare,4,41,
+arx-7_arbalest,4,41,arbalest_(full_metal_panic)
+arukanu,4,41,
+artillery_imp,4,41,
+arthas_menethil,4,41,
+arksign,3,41,
+ariel_org,4,41,
+architect_(frame_arms_girl),4,41,
+arcana_famiglia,3,41,
+aratani_tomoe,1,41,
+arama_(genshin_impact),4,41,
+aqua_eyeshadow,0,41,
+aqua_coat,0,41,
+aqua_apron,0,41,
+aoba_shigeru,4,41,
+aoba_rinka,4,41,
+ao_(1226ao),1,41,
+anubituf,4,41,
+another_code_(elsword),4,41,
+ano_(sbee),1,41,
+annie_(destiny_child),4,41,
+annerose_redrum,4,41,
+ankha_zone,0,41,
+animal_ear_request,5,41,
+andou_ryuu,1,41,
+ana_(vvvvor),1,41,
+amraam120c,1,41,
+amopui,1,41,
+amecha,1,41,
+amano_uzura,1,41,
+amamiya_yuki,1,41,
+amado_(shin),1,41,
+altyane_hetata,1,41,tata_(artist)
+alessi,4,41,
+alderion-al,1,41,
+akira_(mr_akira),1,41,
+akira_(aristole),1,41,
+akechi_mitsuhide_(oda_nobuna_no_yabou),4,41,
+akatsuki_no_kiseki,3,41,
+akatoki!,3,41,
+akashiro_yulice,1,41,akashiro_yurisu
+akashi_maho,4,41,
+akapug621,1,41,
+akakitsu,1,41,
+aiueo1234853,1,41,
+aisawa_natsu,1,41,
+aircraft_carrier_summer_princess,4,41,aircraft_carrier_summer_hime
+ainudraws,1,41,
+aguila,4,41,
+a_(naruto),4,41,
+9s0ykoyama117,1,41,
+7fuji_06,1,41,
+5-volt,4,41,
+4tb_(4tera_byte),1,41,kapibara_(mc0314)
+490,1,41,
+zonzu,1,40,
+zipper_bikini,0,40,
+zin_(mame_denkyu),1,40,
+zi_nu_(qin_shi_ming_yue),4,40,
+zhu_xiang,1,40,
+zhu_mianzi,1,40,
+zgxuke,1,40,
+zero_the_flash,4,40,
+zero808w,1,40,
+zamius,1,40,
+yuzutosen,1,40,
+yusukesan,1,40,
+yuniyuni,1,40,
+yumeshima_kanata,4,40,
+yumeno_ruruka,1,40,
+yukihiko_(tyabobo),1,40,
+yuito_(yuitokobunasbs0),1,40,
+yuichi_(sp_sakura_yoshi),1,40,
+yuia,1,40,
+yui_(real)_(princess_connect!),4,40,
+yui_(ogino_atsuki),4,40,
+youaresober,1,40,
+yosugara_shou,1,40,
+yoshimi50,1,40,
+yoruillust,1,40,
+yomi_yasou,1,40,
+yohaku,1,40,
+yensh,1,40,
+yelsh,1,40,
+yellow_leaves,0,40,
+ye_zi_you_bei_jiao_ju_ge,1,40,
+yda,4,40,
+yato_(yama0x1),1,40,
+yasiro_(oyasiro35),1,40,oyasiro35
+yashiki_yuuko,4,40,
+yashigaras,1,40,
+yaowu,1,40,
+yanggang,1,40,
+yang_nari,4,40,
+yanagin_(danshi_koukousei),4,40,yanagin_(joshikousei_wa_ijou)
+yan_kodiac,1,40,
+yamo_(sky2world),1,40,
+yamaura_tamaki,1,40,
+yamashita_akira,1,40,
+yamasafu,1,40,
+yamagishi_chihiro,1,40,
+yamada_sakura,1,40,skskjogio2444
+yamabuki7979,1,40,
+yama-michi,1,40,
+yakkuro,1,40,
+xooku,1,40,
+xixing_si_yao_meng,1,40,
+xi_chen_chen,1,40,
+wuming,1,40,
+wolf's_rain,3,40,
+witches_in_7th_base,3,40,
+windows_10,3,40,
+whitebc,1,40,
+wedge_(ff7),4,40,
+wawatiku,1,40,
+wave_motion_gun,0,40,
+wattson_(pokemon),4,40,
+water_pump,0,40,
+warrior_(sekaiju),4,40,gladiator_(sekaiju)
+wario_land_4,3,40,
+wani02,1,40,
+wadachitokakeru,1,40,
+vodka13,1,40,
+vivian_(lancerhd),1,40,vivian_(artist)
+vhumiku,1,40,
+versen,3,40,
+venelana_gremory,4,40,
+velvet_rose_(idolmaster),0,40,velvet_rose
+vaulted_ceiling,0,40,
+vault_girl,4,40,
+vasily_(golden_kamuy),4,40,
+vanink,1,40,
+vampire_(eloi's_blessing)_(azur_lane),4,40,
+valsione_r,4,40,
+vagrant_story,3,40,
+usotsuki_mii-kun_to_kowareta_maa-chan,3,40,usotsuki_mi-kun_to_kowareta_ma-chan
+uso_ewin,4,40,
+usasaki_shiro,1,40,
+urshifu_(single),4,40,
+urd_(p&d),4,40,
+unpasu,1,40,
+unmaker,1,40,
+uncharted,3,40,
+unacha,1,40,
+umemegn,1,40,
+uhana,1,40,
+uesugi_kyoushirou,1,40,uesugi-p
+ueno_chiyoko,1,40,
+type_90_kyu-maru,0,40,type_90_(tank)
+type_79_(nine-tail_fox)_(girls'_frontline),4,40,
+type_0_fighter_model_21,4,40,
+tyamurai33,1,40,
+two_(drag-on_dragoon),4,40,
+two-tone_thighhighs,0,40,
+tv_show,0,40,
+tukno,1,40,
+ttusee5,1,40,
+tsukuyomi_luna,4,40,
+tsukudato,1,40,
+tsukimushi,1,40,
+tsuki_miso,1,40,
+tsuji_tatsuya,4,40,
+true_damage_(league_of_legends),0,40,
+triangle-shaped_pupils,0,40,
+triangle!,3,40,
+tri-brigade_ferrijit_the_barren_blossom,4,40,
+train_hb,1,40,
+tracy_reznik,4,40,
+toy_tank,0,40,
+toujou_mina,1,40,
+toufuu,1,40,
+totoya_z,1,40,307_(aho307)
+torisu,1,40,
+torimeiro,1,40,
+torao_(torakmn),1,40,
+ton_ton_tontoro,1,40,
+tomatomagica,1,40,
+tomako,1,40,
+tokoshibyra,1,40,
+tokino,1,40,
+togin,1,40,
+tobari_(pure_pure),4,40,
+tkd_dkt,1,40,
+tio_(konjiki_no_gash!!),4,40,"tio_(konjiki_no_gash),tio_(zatch_bell)"
+tiger_dojo,0,40,
+threo_(eternal's_summer_vacation)_(granblue_fantasy),4,40,
+the_iizumi,1,40,
+tetrahedron,0,40,
+testest,1,40,
+tenshin_kagehisa,1,40,
+tendou_souun,4,40,tendo_souun
+tendou_kaoru,1,40,
+tebukuro,1,40,
+tarrasque_(fate),4,40,
+tanith_(fire_emblem),4,40,
+tamaki_iroha_(pajamas_costume),4,40,
+tama_(mahoiku),4,40,
+tama_(gintama),4,40,
+tales_of_the_world_radiant_mythology,3,40,
+takumin_dx,1,40,
+takanashi_kozue,4,40,
+takanashi_kiara_(cosplay),0,40,
+taiso_samurai,3,40,
+taino_kou,1,40,
+tail_pussy,0,40,
+taemin,1,40,
+tachi_(weapon),0,40,
+sylvie_paula_paula,4,40,
+suzumi_(ccroquette),1,40,
+suzukuri_karin-chan,3,40,
+suzuha_(nozomi_tsubame),4,40,
+summoner_(dungeon_and_fighter),4,40,
+sukocchi_moruto,1,40,
+suginakara_(user_ehfp8355),1,40,
+sugar+spice!,3,40,
+suetsugi_konoha,4,40,
+su_meen,1,40,
+stylish_energy_(module),0,40,
+strelitzia_(kingdom_hearts),4,40,
+stoat_(kemono_friends),4,40,
+statuette,0,40,
+star_plus_one,3,40,
+star_guardian_poppy,4,40,
+star_fox_assault,3,40,
+stand_my_heroes,3,40,
+stamp-sheet,0,40,
+sports_panties,0,40,
+spleeny,1,40,
+spider_genome,0,40,
+spider-man_(toei),3,40,
+spice,0,40,
+spelunker,3,40,
+space_pirate_(metroid),4,40,
+sozoremi,1,40,
+sorrau,1,40,
+sophie_(693432),1,40,
+sonyntendo,1,40,
+sonic_riders,3,40,
+soniani,3,40,
+somasoutaro,1,40,
+solid_snake_(cosplay),0,40,
+soap_(user_kghh4755),1,40,
+snow_(housamo),4,40,snow_(tokyo_houkago_summoners)
+snare_drum,0,40,
+smilesmile1312,1,40,
+smalley_(azur_lane),4,40,
+slime_knight,4,40,
+sl10_d,1,40,
+skc,1,40,
+sirokuro_daruma,1,40,siro_chromium
+silvia_de_alisia,4,40,
+silverpixia,1,40,
+silicon_magic,3,40,silicon_magic_~umareru_mae_kara_anata_senyou?!~
+sigina,1,40,
+siesta_(artist),1,40,
+sie-sie,1,40,
+shuangfeng,1,40,mentawal
+showers-u,1,40,
+shokuen_shiwe,1,40,
+shishi_osamu,1,40,
+shirushiru,4,40,
+shiro_(muku),4,40,
+shirayuki_shion,1,40,
+shiratama_(siratama_ll),1,40,
+shirasaya,0,40,
+shiranui_kazuki,4,40,
+shinsuke_(moccori),1,40,"imaing,miz0725"
+shinonome_(game_hakkutsu_tai),1,40,
+shinka_musume_channel,3,40,
+shinka_musume,4,40,
+shinaso_(sachi-machi),1,40,
+shin_(irowanioedo),1,40,
+shimizu_tomoki,1,40,yy_seven
+shimanaka_arihito,1,40,
+shijiani,1,40,
+shigumo_(shigeru),1,40,
+shhis_(idolmaster),0,40,
+sherad,1,40,
+shellos_(east),4,40,
+shearing,0,40,
+shaytan_(sound_horizon),4,40,
+shamuichi,1,40,
+seuga,1,40,
+sethkiel,1,40,
+serika_(new_year)_(blue_archive),4,40,
+serie_niai,1,40,muzicsoul
+senri_(nazerine),1,40,
+sengoku_koihime_x,3,40,
+sena_tsubasa,4,40,
+sekaiju_no_meikyuu_x,3,40,etrian_odyssey_nexus
+sekaiitinoki,1,40,
+seiryouinryousui,1,40,
+sei_(shinkai_parallel),1,40,
+sega_game_gear,0,40,game_gear
+scout_uniform,0,40,
+scorpion_tsuchida,4,40,
+school_kid_(pokemon),4,40,
+school_fanfare,3,40,
+scathach_(first_ascension)_(fate),4,40,
+sayuuiede,1,40,
+satouin_reiko,4,40,
+sato_(sato_1_11),1,40,
+sasugano_ruki,4,40,
+sasagawa_satarou,1,40,
+sarashi_pull,0,40,
+sanzhuangwangcat,1,40,
+sano_sho,1,40,sho_sano
+sanitized_(splatoon),0,40,
+sanhon,1,40,
+sanada_nako,1,40,
+sana.c,1,40,
+samui_(naruto),4,40,
+samo_(shichun_samo),1,40,
+sami_(advance_wars),4,40,domino_(advance_wars)
+same_face,0,40,
+sam_desu,1,40,sam_(metalibon)
+salomon_(housamo),4,40,salomon_(tokyo_houkago_summoners)
+sally_acorn,4,40,
+salamandinay,4,40,
+sakuraba_himari,4,40,
+sakura_soujirou,4,40,
+sakura_mami,4,40,
+sakura_(superbunnys),1,40,
+sakimichan_(style),0,40,
+sakazaki_akira,1,40,
+sakaumi,1,40,
+sakata_kaname,1,40,
+sakanaya_nakasa,1,40,
+safai,1,40,
+sadistic_music_factory_(vocaloid),3,40,
+sada_noriko,1,40,deli-tre
+sachiko_(omame),1,40,
+sabi1234,1,40,
+ryoune_yami,4,40,
+ryeon_(bluetom1),1,40,
+rui_(gsr1982),1,40,gsr1982
+rudia,1,40,
+rpg_fudousan,3,40,
+royal_flush_heroes,3,40,
+rotom_(frost),4,40,
+rope_around_waist,0,40,
+rook_hunt,4,40,
+ronaldo_castroneves,4,40,
+rolled_up_paper,0,40,
+rocomani,1,40,
+rocker-chic,0,40,
+rnfhv,1,40,
+rita_bernal,4,40,
+risk_hunters,3,40,
+risa_(pokemon),4,40,
+riri_yo,1,40,
+ringo_orihara,1,40,user_scxm8747
+rin_kyoutarou,1,40,
+rin_(princess_connect!),4,40,morichika_rin
+rick_sanchez,4,40,
+ribimura,1,40,
+ribbed_tank_top,0,40,
+rethnick,1,40,
+renze_l,1,40,
+rensei,1,40,
+ren_zotto,4,40,
+ren_(733),1,40,
+ren'ai_boukun,3,40,renai_boukun
+remon_(10112),1,40,
+reincarnation,0,40,
+redoredo_(godprogress),1,40,
+realive,3,40,
+ratchet_altair,4,40,
+raru0310,1,40,
+rapp_(grandia),4,40,
+ranshin,1,40,
+ranpu,1,40,
+rangers_(arknights),4,40,
+ran_nagisa,4,40,
+ramutaizumu,1,40,
+raimone_(nekokirinv3),1,40,
+raihan_(pokemon)_(cosplay),0,40,
+raiden_mei_(danzai_spectramancer),4,40,
+raideen_(series),3,40,
+racing_miku_(2012),4,40,
+quick_ball,0,40,
+qqqmei,1,40,
+qmiqun,1,40,
+qiu_tong,4,40,
+qiandaiyiyu,1,40,
+purasu_no_konbu,1,40,
+prisma_illya_(zwei_form),4,40,
+prinz_rupprecht_(azur_lane),4,40,
+presia_zenoskis,4,40,
+poyason,1,40,
+poyadevil,1,40,
+power_(lu_power),1,40,
+poruserin,1,40,
+ponzu_(udon),1,40,
+ponimu,1,40,
+pokemon_the_movie:_secrets_of_the_jungle,3,40,pokemon_m23
+pokemon_between_legs,0,40,
+pogchamp,0,40,
+planet_with,3,40,
+pineapple_(pine),1,40,lava123
+pikapika_hoppe,1,40,
+pig_penis,0,40,
+phonon_(under_night_in-birth),4,40,
+peter_xiao,1,40,
+petals_in_mouth,0,40,
+period,3,40,
+penguru_086,1,40,
+penelope_and_me,1,40,
+pen_holder,0,40,
+pekodam,4,40,
+patrasche_(re:zero),4,40,
+patenusu,1,40,
+pastels,0,40,
+panties_over_bodysuit,0,40,
+paisley,0,40,
+paintbrush_rack,0,40,
+paint_in_hair,0,40,
+paindude,1,40,
+oxykoma,1,40,
+overshirt,0,40,
+ougi_kaname,4,40,
+otogi_resurrection,3,40,
+otani_(gloria),1,40,
+otaku_(artist),1,40,
+osatou_(soul_of_sugar),1,40,
+osananajimi_(hanekoto),4,40,
+orpheus_(inazuma_eleven),0,40,
+orinpachu,1,40,
+ootsuka_akio,4,40,
+oomikado_aoi,4,40,
+onuj2$,1,40,
+onko,1,40,
+oniyan,1,40,
+on_finger,0,40,
+on_fence,0,40,
+on_ceiling,0,40,
+omochimochi,1,40,
+omega.ep,1,40,
+omase_(mnnk_umai),1,40,
+omaehadareda-uso,1,40,
+om_(carbohydratism),1,40,
+olly_(ollycrescent),1,40,
+okusama_wa_mahou_shoujo,3,40,
+oinari_risuru,1,40,
+ogura_tubuan,1,40,
+ogura_anko,1,40,
+ofuton_zeb,1,40,
+odajima_kosuzu,4,40,
+oda_(101511a),1,40,
+ochanomizu_mirie,4,40,
+observatory,0,40,
+nyuu_(pixiv12143565),1,40,
+nyasa,1,40,
+nurse_angel_ririka_sos,3,40,
+noroiko,4,40,
+nono_i831,1,40,
+noko_morokoshi,1,40,
+noki,4,40,
+noel_anderson,4,40,
+noda_megumi,4,40,
+no_goggles,0,40,
+nnoitra_gilga,4,40,"nnoitora_gilga,nnoitora_jiruga,nnoitra,nnoitra_jiruga"
+nitta_yasunari,1,40,
+nishimo,1,40,
+ninonuko,1,40,
+nina_antalk,4,40,
+nikaidou_shion,4,40,
+nihnfinite8,1,40,
+nigouu,1,40,
+nerukichikatafukuma,1,40,"nerutahu522,nerutahu522_sub"
+neon_genesis_evangelion:_iron_maiden,3,40,
+nene_romanova,4,40,
+nekomiyanono,1,40,
+nekomia_(kaptivate),4,40,
+nekomata_okayu_(cosplay),0,40,
+nekkikamille,1,40,
+negura_meru,1,40,
+neetsr,1,40,
+nazoko,1,40,
+nautica_(transformers),4,40,
+natsumoka,1,40,
+natsume_(tsu-na),1,40,
+nasubi_(1ra1ri1ko2cho1mi2na),1,40,
+nasu_kinoko,4,40,nasu
+naoharu_(re_barna),1,40,naruna01
+naoel_(naoel_art),1,40,
+nankaichimu,1,40,
+nanjou_kei,4,40,
+nanika_(nnkgh),1,40,
+nancy1209,1,40,
+nanairo_fuusen,1,40,
+namuya,1,40,
+nami_(cassette),1,40,
+nakamura_aika,4,40,
+naitou_maia,4,40,
+nagase_sayaka,4,40,
+nabeshiki_(rakuneko_yashiki),1,40,
+naavs,1,40,
+na-code_(gurich),1,40,
+mysteryctu,1,40,
+mylene_rafa_holfort,4,40,
+myaco9,1,40,
+muto_(uadocjon_21),1,40,
+murasame_reine,4,40,
+mumen_rider,4,40,license-less_rider
+mulin,1,40,
+mugishima,1,40,afulu
+mri,1,40,
+mozuyun,1,40,
+mothra_(godzilla:_king_of_the_monsters),4,40,
+mortal_kombat_9,3,40,
+morpho_knight,4,40,
+moriyama_yuuki,1,40,nishiizumi_tasuku
+moriya,1,40,
+morimaiko,1,40,
+moriko06,1,40,
+mori_girl,0,40,
+moonyan,1,40,
+moon_(yfsp7823),1,40,
+monster_world_iv,3,40,monster_world_4
+monotarou_(danganronpa),4,40,
+monkey_d._garp,4,40,
+mondo_pop,1,40,
+momoyuki_(snow_fox),4,40,
+momo_(last_origin),4,40,magical_momo
+mokyusuke,1,40,
+mogupon,1,40,
+moekan,3,40,
+moedog,4,40,
+mochako_(motyako),1,40,
+mizonaki,1,40,
+miyoshi_saya,4,40,
+miyazaki-san_(mmyyzk),1,40,
+miyano_akihiro,1,40,
+miyama_tsubaki_me,1,40,
+miurin,1,40,
+mitsuya_takashi,4,40,
+mitsunari_miyako,1,40,
+mirai_millennium,3,40,
+miogrobin,1,40,
+mio_sasuga,4,40,
+mintchoco_(mmn2),1,40,mintchoco_(deviantart)
+mint_(cerbi),1,40,
+minna_no_rhythm_tengoku,3,40,"rhythm_heaven_fever,rhythm_heaven_fever"
+minn_(kangjm1107),1,40,
+minma,1,40,
+mineco000,1,40,
+minashiro_tsubaki,4,40,
+minase_nagisa,4,40,
+minami_hana_(ghettoyouth),4,40,
+mimura_ryou,1,40,
+mimiko_(jujutsu_kaisen),4,40,
+millennium_rod,0,40,
+milk_ko,1,40,
+milephunter,1,40,
+mikura0317,1,40,
+mikuni_saho,1,40,
+mikoto_(my-otome),4,40,
+mikoshiba_seijuurou,4,40,
+miki-san_(danna_ga),4,40,
+mikanururu,1,40,
+mii_gunner_(smash_4),4,40,
+mihono_bourbon_(ghosty_and_the_magic_of_halloween)_(umamusume),4,40,
+mihan77108047,1,40,
+mihaeru,1,40,
+mia_(miaflocon),1,40,
+mgong520,1,40,gong_(mgong520)
+metarogu,1,40,
+metallica,3,40,
+met-tha,1,40,
+mermaid_misty_(pokemon),4,40,
+merlin_(camelot_&_co)_(fate),4,40,camelot_&_co
+merchant91,1,40,m_chant
+meltymaple,1,40,
+melty_sweet_(idolmaster),0,40,
+meltryllis_(second_ascension)_(fate),4,40,
+mega_sableye,4,40,
+meemo,1,40,
+mechanic_(granblue_fantasy),4,40,
+mecha_hisui,4,40,
+mazeshi,1,40,
+mayreel_(guardian_tales),4,40,
+mayakaek,1,40,
+max_(ssss.gridman),4,40,
+matterhorn_(beach_guard)_(arknights),4,40,
+matt_frank,1,40,kaiju_samurai
+matsuppoi,1,40,
+matatabeat,1,40,
+masa_(p-piyo),1,40,
+maryland_(azur_lane),4,40,
+marron_glace,4,40,
+marrbl,1,40,
+marisuku,1,40,
+marie_antoinette_(formal_dress)_(fate),4,40,
+marche_mk14,1,40,
+manzai_sugar,1,40,
+maniani,1,40,
+manami_tatsuya,1,40,
+mamotte_shugogetten!,3,40,mamotte_shugogetten
+mameneko_(leos_vincent),4,40,
+mallow_(mario),4,40,
+male_protagonist_(live_a_hero),4,40,
+makaizou,1,40,
+maka_neko,1,40,
+mahou_arms,3,40,
+mage_(335656),1,40,
+magallan_(shaved-ice_memories)_(arknights),4,40,
+mag_(phantasy_star),0,40,
+maechuu,1,40,
+madopen,1,40,
+madam_s,1,40,
+ma2da,1,40,
+m-shiganai,1,40,
+lyre_(fire_emblem),4,40,
+lulu_season,1,40,
+luki,4,40,
+lucia_(toaru_majutsu_no_index),4,40,
+lucent_heart,3,40,
+ltlx_7000_(girls'_frontline),4,40,
+lowro_(en),1,40,
+lounge,0,40,
+lothric_(younger_prince),4,40,
+lostdog121,1,40,
+long_fall_boots,0,40,
+loli_ruri,4,40,
+loincloth_aside,0,40,
+loggins_(jojo),4,40,
+lo-ta,1,40,
+live_for_venus_(idolmaster),0,40,live_for_venus
+lionela_heinze,4,40,
+lineflo,1,40,kanz
+linca_(atelier),4,40,
+leris_muma,1,40,
+leonart,1,40,
+leon_(idolmaster),4,40,
+leoleonardk10,1,40,
+leo_thasario,1,40,lemoo
+leo_(feeling_goooood),1,40,
+lent_marslink,4,40,
+lennah,4,40,
+leki_ixion,1,40,
+leikangmin,1,40,
+leicia,4,40,
+leap_frog,0,40,
+leaf_bra,0,40,
+lcddem,3,40,
+lazgear,1,40,
+lanlanlancho,1,40,
+lace_ribbon,0,40,
+kyrie,4,40,
+kyer,1,40,
+kv-1,0,40,
+kuzumochi_(kuzumochiya),1,40,
+kuutei_senki,3,40,
+kushinaka,1,40,
+kurotora865_90,1,40,
+kurosu_rino,1,40,
+kurosawa_sae,4,40,
+kurosawa_noriko,4,40,
+kuro_(blackpgmickey),1,40,oni_no_shura
+kuonji_miyu,4,40,
+kuon_(hasumi_(hasubatake39)),4,40,
+kunoichi_(game),3,40,
+kumonosuke,1,40,
+kumon_kaito,4,40,
+kumaane,1,40,
+kukuruyo,1,40,
+kujou_ume,4,40,
+kujiin_mika,4,40,
+kuchiki_manabu,4,40,
+kuberu_e_pastillage,4,40,
+krampus_(housamo),4,40,krampus_(tokyo_houkago_summoners)
+kozakura_ryou,1,40,
+koyuki_(snow_fox),4,40,
+kouzuki_fukurou,1,40,
+kougami_kanon,4,40,
+kougai,4,40,
+kotomaru_(sirouko9511),1,40,
+kooei,1,40,
+konoe_sunao,4,40,
+konna-nani,1,40,
+komai_hasuki,4,40,
+koma_(qqq111),1,40,koma_(artist)
+koinumaru-san,4,40,
+koi_de_wa_naku,3,40,
+kogane_mushi,1,40,
+knifehead,4,40,
+kneeling_girl_(kancolle),4,40,kneeling_girl_(kantai_collection)
+knee_boobs,0,40,
+kivo_some_18_(voice_actor),1,40,kivo_some_18
+kitsuta,1,40,
+kitsunekotori,1,40,
+kitsunegasaki_tametsugu_(tenka_hyakken),4,40,
+kitsun8,1,40,oreven
+kitakami_(kancolle)_(cosplay),0,40,
+kiseno,1,40,
+kisaragi_gold_star,3,40,
+kiriya_erika,4,40,
+kirishima_sakura,4,40,
+kirishima_mana,4,40,
+kirishima_(kancolle)_(cosplay),0,40,
+kirin_(kemono_friends),4,40,
+kirihara_youichi,4,40,
+kirihara_torajyuro_tatsumune,4,40,
+kirara_ookami,4,40,
+kira_miki,4,40,
+kinosuke_(pattaba),1,40,
+kinoko_(benitengudake),1,40,
+kino_hazuki,1,40,
+kiniro_(mushihime-sama),4,40,
+kinezono_rio,4,40,
+kimopoleis,1,40,
+kimakkun,1,40,
+kika,1,40,
+kiiro_(cocoa080),1,40,
+kii_(theory),1,40,
+kibazoku,1,40,
+kevin_graham,4,40,
+kento_matsuura,1,40,
+kendo_(artist),1,40,
+keienu0,1,40,
+kazunoko_(saria001),1,40,
+kayanuma_kiko,4,40,
+kayama_kouji,1,40,
+kawaiipony2,1,40,
+kawaii_voltage_wattson,4,40,
+kawai_miruku,4,40,
+katsuragimay18h,1,40,
+katsuragi_(azur_lane),4,40,
+katekari_yuusuke,1,40,
+kashisu_mint,1,40,
+karya,1,40,
+karl_gerat,0,40,
+kari_(artist),1,40,
+kapool,4,40,
+kanzaki_souma,4,40,
+kankurou_(naruto),4,40,
+kanae_funwa,1,40,
+kana_(maple926),1,40,
+kameron,1,40,
+kamen_rider_skull,4,40,
+kamakura_(city),0,40,
+kakeyu,1,40,
+kajiri_kamui_kagura,3,40,
+kai_(pixiv12466647),1,40,
+kagura_(oneechanbara),4,40,
+kagura_(gintama)_(cosplay),0,40,
+kago-tan,1,40,
+kagerou_(kancolle)_(cosplay),0,40,
+kaette_kita_ultraman,3,40,
+kacchuu,1,40,
+k.k._slider_(animal_crossing),4,40,totakeke
+k'lyn,4,40,
+juubako,0,40,
+jtr,1,40,
+josef_axner,1,40,jiggeh
+jon_eve,1,40,
+jojiart,1,40,
+joanna_(persona_5),4,40,
+jinrai_(owl12),1,40,
+jinguu_yakumo,4,40,
+jigoku_inu,1,40,
+jichi,1,40,
+jiaoshouwen,1,40,
+jian_jing,1,40,
+jeff17,1,40,
+jamaica_(azur_lane),4,40,
+jaimito,1,40,
+jackary,1,40,"catlikestodraw,catslikestodraw"
+jack_(jackdou),1,40,
+izuna_masaru,1,40,
+izumo_akatsuki,4,40,
+izumi_mitsuki,4,40,
+izumi_(kisshot1126),1,40,
+izaac,1,40,
+iwashi_111,1,40,
+itsuwa_(continue),1,40,
+itou_shizuka,4,40,
+itou_(itsuko),1,40,
+isuzu_yuri,4,40,
+israfil_(housamo),4,40,
+isami_don,1,40,
+iron_fence,0,40,
+iotower,1,40,
+inte_(whitewolftail),1,40,
+insect_on_head,0,40,
+inraku_no_ketsuzoku,3,40,
+inoue_yukihiro,1,40,
+inflatable_flamingo,0,40,
+indonesian_high_school_uniform,0,40,
+inazuma_(kancolle)_(cosplay),0,40,
+inana_umi,1,40,
+impossible_pants,0,40,
+ikkaisai,1,40,
+ikegami_noroshi,1,40,
+ikari_shinji_raising_project,3,40,
+ikanomaru,1,40,
+idoko,4,40,
+ichino_(ichinon),1,40,
+ichikawa_kazuhide,1,40,
+ian_samson,1,40,
+i_reibun,1,40,
+i-beam,0,40,
+hyuu_(sing-dog),1,40,
+huyusaki_taiga,1,40,
+hutaba123,1,40,
+hull_shoes,0,40,
+huleito,1,40,
+huizhiyin,1,40,
+huangjin_shizi,1,40,jn
+hot_tub,0,40,
+hot_rod_(transformers),4,40,
+hosoi_mieko,1,40,
+hosimo,1,40,
+hoshikuzu_(milkyway792),1,40,
+hoshigaki_(kyuukp),1,40,
+hoshi_no_girls_odyssey,3,40,
+horoscope,0,40,
+horn_bell,0,40,
+horiguchi_hiroshi,1,40,
+honey_lemon,4,40,
+honda_takashi_(enorea),1,40,
+homura_shinji,1,40,
+hole_in_sock,0,40,
+holding_ruler,0,40,
+holding_pokedex,0,40,
+holding_hair_brush,0,40,
+holding_gourd,0,40,
+holding_cd,0,40,
+holding_boxcutter,0,40,
+holding_bow_(music),0,40,
+hitbox,0,40,hit_box
+hiseki_erio,4,40,
+hisato_ar,1,40,
+hirume,1,40,
+hirayama_eiji,1,40,
+hira_(otemoto84),1,40,
+hips_in_air,0,40,
+hinomoto_aoi,4,40,
+himuro_kinu,4,40,
+himishiro,1,40,
+himeno_shikimi,4,40,
+hiko_(hiko224556),1,40,
+hikaru_(mikan0407),1,40,
+hiiragi_shou,1,40,
+hiiragi_najica,4,40,
+hidehirou,4,40,
+hiccup_horrendous_haddock_iii,4,40,
+hibird,4,40,
+hibino_nozomu,1,40,
+hibana,4,40,
+hibachi_(object),0,40,
+hg_ni_koisuru_futari,3,40,
+helena_blavatsky_(swimsuit_archer)_(second_ascension)_(fate),4,40,
+heeri,1,40,
+heath41,1,40,
+heartsix,1,40,
+headhunting_permit_(arknights),0,40,
+hayami_sena,4,40,
+hayami_hiro,4,40,
+haun_(exodinary),1,40,
+hatsuru_koto_naki_mirai_yori,3,40,
+hatori_kumi,1,40,
+hatomugi_seika,1,40,
+hatch_(7th_dragon),4,40,
+hata_no_kokoro_(cosplay),0,40,
+hasshaku-sama_(cosplay),0,40,
+hassan_(dq6),4,40,
+hashikure_taro,1,40,hashikure44
+haruna_(citrus_love_i),1,40,citrus_love_i
+haruka_na_sora,3,40,
+haruka_kuromiya,1,40,azunyannsaiko-o
+haruakira,1,40,
+harry_potter_and_the_cursed_child,3,40,
+hard_gay,4,40,
+hard_drive,0,40,"hard_disc_drive,hard_disk_drive,harddrive"
+happytreefriendspikapika,1,40,
+hanneman_von_essar,4,40,
+haninozuka_mitsukuni,4,40,
+hani_(udauda),1,40,
+hane_yoshiyumi,1,40,
+hamazaki_reina,4,40,
+hallucination,0,40,
+halloween_(movie),3,40,halloween_(film)
+hakuduki18,1,40,
+hajun_(hey_sangha),1,40,
+hajime_monji,1,40,
+hachi_(hachi_sin),1,40,
+habutae_kyusetsu,1,40,
+gym_pants,0,40,
+guy_fawkes_mask,0,40,
+gumi_(fwjn7284),1,40,
+guided_kiss,0,40,
+grimsley_(sygna_suit)_(pokemon),4,40,
+grey_pajamas,0,40,
+grel_(r6hgvu5),1,40,
+greenteamousou,1,40,
+graphos,4,40,
+goliath_(girls'_frontline),4,40,
+godzilla:_planet_of_the_monsters,3,40,
+god_hand,3,40,
+gnar_(league_of_legends),4,40,
+glock_17,0,40,
+gingham_(amalgam),1,40,
+gigantamax_(other),0,40,
+giant_anteater_(kemono_friends),4,40,
+gerbera_tetra,4,40,
+george_weasley,4,40,
+gekiteki_na_beefsteak,1,40,
+geinoujin_kakuzuke_check,3,40,
+geegee_(granblue_fantasy),4,40,
+geckolion,1,40,
+gask_(architect_2d),1,40,
+garyljq,1,40,
+garderobe_swimsuit,0,40,
+gallows_carradine,4,40,
+galarian_slowbro,4,40,
+gaeun_(counter:side),4,40,
+g4265059,1,40,
+fuuto_tantei,3,40,
+fusuma_(ramunezake),1,40,ramunezake
+furyouhin_(bubumelon),1,40,
+furuya_hotaru,4,40,
+furuta_nimura,4,40,
+fuotchan,1,40,
+full_metal_panic?_fumoffu,3,40,
+fukuroda_takaharu,4,40,
+fujimaki_nora,1,40,
+fuji_den_fujiko,1,40,
+fue_(fuef),1,40,
+fudanshi,0,40,
+freesia_(flower),0,40,
+forastero,1,40,
+foil,0,40,aluminum_foil
+fleur_(personal_ami),4,40,
+flauschtraut,1,40,"folks_need_heroes,hornhell"
+flatfield,1,40,
+flareze_(porforever),4,40,
+five_of_spades,0,40,
+fitness_boxing,3,40,
+fire_man,4,40,fireman
+fig_(lchijiku),1,40,
+ffyak,1,40,
+ferret_tail,0,40,
+farnese_(berserk),4,40,
+farfalia,4,40,
+farah_(legend_of_queen_opala),4,40,
+fantasy_bishoujo_juniku_ojisan_to,3,40,life_with_an_ordinary_guy_who_reincarnated_into_a_total_fantasy_knockout
+fantastic_belltier,0,40,
+euphoria_(clockup),3,40,
+etsuo,1,40,
+etoile,1,40,
+ethan_(sygna_suit)_(pokemon),4,40,
+erusen_(des-arms),1,40,
+erubesuto,1,40,
+eringi_oishii,1,40,
+eol_9,1,40,
+ensemble_girls_(artist),1,40,
+enjou_tomoe,4,40,
+enia_(eniaart),1,40,
+end_of_the_golden_witch,3,40,
+elina_(eri15),1,40,
+elfir_traum,4,40,
+ekaterina_orange,1,40,
+ekaki_no_mime,1,40,
+eileen_(virtua_fighter),4,40,
+eighth_wonder,4,40,
+ei_flow,1,40,
+eggloaf,1,40,"shihfu,stephanie_shih"
+ede,1,40,
+ecolo_(puyopuyo),4,40,
+ecole_du_ciel,3,40,
+echidna_(monster_girl_encyclopedia),4,40,
+ebinomi,1,40,daikichi_(artist)
+ebihurai,1,40,"5ggggggi,ebifurai_(r3mpuami)"
+ebba,1,40,
+dva,4,40,
+duke_of_york_(prestige_of_the_glorious_formula)_(azur_lane),4,40,
+ducking,0,40,
+drunken_master,3,40,
+drenched-in-sunlight,1,40,
+drakloak,4,40,
+dragoon_(selen_tatsuki),4,40,
+dragon_empery_(emblem),0,40,eastern_radiance_(emblem)
+doomfist_(overwatch),4,40,akande_ogundimu
+donkoni,1,40,
+don't_you_ever_stop_(meme),0,40,tomarunjaneezo
+dolphin_earrings,0,40,
+dokkaebi_(rainbow_six_siege),4,40,
+dogmatika_ecclesia_the_virtuous,4,40,
+dmitry_grozov,1,40,ahriman_(artist)
+divus_crewel,4,40,
+diving_block,0,40,
+dicorndl,1,40,
+diamond-shaped_brooch,0,40,
+dexio_(pokemon),4,40,
+devil_(monster_girl_encyclopedia),4,40,
+derpy_hooves,4,40,
+deodorant,0,40,
+dejiko_(cosplay),0,40,
+decal,0,40,
+dearka_elsman,4,40,
+dconan_owo,1,40,
+darcy_(pixiv11949485),1,40,
+darah,1,40,
+darach_(pokemon),4,40,
+danyotsuba_(yuureidoushi_(yuurei6214)),4,40,
+danny_phantom,3,40,
+danny_lee,4,40,
+daniella,4,40,
+daniel_oduber,1,40,
+dan_fei,4,40,
+daiyousei_(cosplay),0,40,
+dagon_(megido72),4,40,
+da_capo_iv,3,40,
+cypher_05,1,40,
+cyou_shigen,4,40,
+cygnus_hyouga,4,40,cygnus_hyoga
+cybuster,4,40,
+cure_magical_(sapphire_style),4,40,
+cupitan_(granblue_fantasy),4,40,
+crystallization,0,40,
+cross_neko,1,40,
+cross-laced_gloves,0,40,
+counting_money,0,40,
+coso-ri,1,40,
+corgi_(corgi0322),1,40,
+condom_on_nipples,0,40,
+codemofel,1,40,
+cocoa_cookie,4,40,
+coco_(artist),1,40,
+cloudlou,1,40,
+clonion,1,40,
+clming,1,40,
+clitoris_peek,0,40,
+claudia_enfield,4,40,
+claudia_(granblue_fantasy),4,40,
+cirrika,1,40,
+chun_bae,1,40,
+choke_(amamarin),1,40,
+chloe_withers,4,40,
+chinese_spoon,0,40,
+chiba_lotte_marines,3,40,
+cherry_stem_knot,0,40,
+cherry_peachcat,1,40,
+cheer-chan_(tawawa),4,40,
+checkered_sleeves,0,40,
+chark14,1,40,
+chapa_kari,1,40,
+chaos_(dungeon_and_fighter),4,40,
+chamnaitu,1,40,
+celine_(sen_no_kiseki),4,40,
+celia_claire,4,40,
+ceey,1,40,nroy-
+cecilia_glinda_miles,4,40,major_miles
+cecile_(porforever),4,40,
+cavalier_hat,0,40,
+castlevania:_legacy_of_darkness,3,40,castlevania_64
+casteliacone,0,40,
+carcinization,0,40,carcinisation
+captainkuma,1,40,
+candy_jar,0,40,
+camouflage_helmet,0,40,
+calligraphy_pen_(medium),0,40,
+cal_devens,4,40,
+cake_(isiofb),1,40,
+caimu,4,40,
+cailin020,1,40,
+cagliostro_(summer)_(granblue_fantasy),4,40,
+byakudan_kagome,4,40,
+butterfly_on_shoulder,0,40,
+burent,4,40,b├╝rent
+bureikubureido,1,40,
+bungee_jumping,0,40,
+bullet_in_mouth,0,40,
+bug_catcher_(pokemon),4,40,
+bubuki_buranki,3,40,
+bubble_wrap,0,40,
+broly_culo_(meme),0,40,
+broken_fence,0,40,
+bottle_cap_challenge,0,40,
+boston_crab,0,40,
+blue_tears_(infinite_stratos),4,40,
+blossom_(gizen'yasan),1,40,
+bloody_roar,3,40,
+bloody_moon,1,40,
+blood_on_teeth,0,40,bloody_teeth
+black_panther_(marvel),4,40,
+black_garter,0,40,
+biskekun,1,40,
+birch,0,40,
+bico_(bicoris),1,40,
+biafura,1,40,
+bethlehem_(alchemy_stars),4,40,
+beriko_(dotera_house),1,40,
+bellelba_(pokemon),4,40,jujube_(pokemon)
+bearded_seal_(kemono_friends),4,40,
+battle_koala,1,40,
+barseisui,1,40,akaironoguren2
+baron_(varon666),1,40,
+barnaby_brooks_jr._(cosplay),0,40,
+barioth,4,40,
+barbary_lion_(kemono_friends),4,40,
+bambi-25,1,40,
+balus,0,40,balse
+bakunetsu_god_finger,0,40,erupting_burning_finger
+b_d_one,1,40,
+b-29_superfortress,0,40,
+azuri909,1,40,
+azarashi_(snmfloowern),1,40,
+ayase_non,1,40,
+ayase_miko,1,40,
+axanael,3,40,
+auxtasy,1,40,
+automatic_door,0,40,
+au7,1,40,
+ato_(bfj315),1,40,
+atai,0,40,
+asunogear,1,40,
+assassin's_creed_iv:_black_flag,3,40,
+ashida_yuri,1,40,
+asai_(00:05),1,40,
+asagiri_ai,1,40,
+artin_(boogbogex),4,40,
+arquebus,0,40,
+arowana2111,1,40,
+arobiro,1,40,
+arnaud_g._vasquez,4,40,arnaud_g_vasquez
+arizuki_shiina,4,40,
+arisa_gunhale,4,40,
+arinsu_(kodamamaimai),1,40,
+arikawa_rui,1,40,
+aria_(seiken_no_blacksmith),4,40,
+arcana_trust,4,40,
+arcade_ahri,4,40,
+araki_mitsuru,1,40,
+ar-57,0,40,
+apron_grab,0,40,
+appare!_tenka_gomen,3,40,
+aotsu_umihito,1,40,
+aoto_(ar_tonelico),4,40,
+aono_99,1,40,
+aoi_karin,4,40,karin_aoi
+anocurry,1,40,
+annyui,1,40,
+anna_mcbein,4,40,
+anna_graem,4,40,
+angel_wish,3,40,
+an-chan_(ananna0315),1,40,"ananna,kinkitsu1824"
+amiya_(planter)_(arknights),4,40,amiya_(seeder)_(arknights)
+amedan,1,40,liyuchen1126
+amazaki_ria,1,40,
+amatsuka_hotaru,4,40,
+alternate_neckwear,0,40,
+alouette_(la_pucelle),4,40,
+alloyrabbit,1,40,
+allos,1,40,
+all_nippon_airways,3,40,
+alien_alien_(vocaloid),3,40,
+alfin_reise_arnor,4,40,
+akuma_de_oshioki!,3,40,
+aks-74,0,40,
+akovo,1,40,
+akou_(phoenix777),1,40,
+akirame,1,40,
+akipeko,1,40,
+akari_ga_yatte_kitazo_(vocaloid),3,40,
+akari_(bokujou_monogatari),4,40,angela_(harvest_moon)
+akakokko,1,40,
+akachouchin,4,40,
+akabino,1,40,
+aizawa_asahi_(unbalance),4,40,
+aiu404l,1,40,
+airi_(alice_or_alice),4,40,
+airbrush,0,40,
+aikawa_kizuna,4,40,
+aikawa_jun,4,40,
+ahn_dongshik,1,40,
+ahirun,1,40,
+ags-30_(girls'_frontline),4,40,ags-30_(girls_frontline)
+aglovale_(granblue_fantasy),4,40,
+agate_crosner,4,40,
+adworse,1,40,
+admiral_graf_spee_(a_novel_anniversary)_(azur_lane),4,40,
+adeptus_mechanicus,4,40,
+acid,0,40,
+acceptor,0,40,
+abe_no_seimei_(fate),4,40,
+abara_hanbee,4,40,
+aasu_kirishita,1,40,
+a_re,1,40,
+a_kirima,1,40,
+a821,1,40,
+9wa,1,40,
+45_(diagonal45angle),1,40,
+3ldk,3,40,
+2003_server,4,40,
+1z10,1,40,
+12_(xaenedju),1,40,xanado
+1202_koge,1,40,
+zuu_(qq770463651),1,39,
+zuru,1,39,
+zumi6,1,39,
+zocehuy,1,39,
+zless,1,39,
+zest_(lossol),1,39,
+zenya,1,39,
+yzk_knmn,1,39,
+yuuyami_no_mikazuki,4,39,
+yus,1,39,
+yurikawa_midori,4,39,
+yuri_lowell_(true_knight),4,39,
+yunoji_yusuke,1,39,
+yumi_(tuzisaka),1,39,
+yukishiro_akira,4,39,
+yukino_(yukinosora1126),1,39,
+yukinimaru,1,39,yukini_(yuki2maru)
+yuki_shin,1,39,
+yuki_hikari,1,39,
+yugiri_mistwalker,4,39,
+yue_(qtxyjiang),1,39,
+yu_(8dgc4mfc),1,39,aya_(pixiv73672)
+yoshinari_atsushi,1,39,
+yoshii_yumi,1,39,
+yoshihara_motoki,1,39,
+yoshida_yuuko_(machikado_mazoku)_(cosplay),0,39,
+yoshida_nishi,1,39,
+yoru_(0_0yoru),1,39,hana3901
+yorozu,1,39,
+yoroi_kabuto,1,39,
+yoongonji,1,39,
+yomo,1,39,
+yomare,1,39,
+yokubari_saboten,3,39,
+yokomine_ibuki,4,39,
+yesod_(project_moon),4,39,
+yatsunagi_(oyasumi_sumika),1,39,miyina
+yatonokami_kanata,4,39,
+yat_anshin_uchuu_ryokou,3,39,
+yasaidon,1,39,
+yao_(pixiv9482697),1,39,
+yangyieva,1,39,
+yan_ge,1,39,
+yamoto,1,39,
+yamiyo_ni_odore,3,39,
+yami_nabe,1,39,
+yamauta,1,39,
+yamanoskk,1,39,
+yamanaka_koyomi,4,39,
+yamanaka_kotetsu,1,39,
+yamamoto_canponi,1,39,
+yamagami_mozuku,1,39,
+yamae_saki,1,39,
+yakin_byoutou_san,3,39,
+yakin_byoutou_ni,3,39,
+yacht,0,39,
+yace,1,39,
+xx_asui,1,39,
+xing_xiao,1,39,
+xiawenjie,1,39,xiawenjie_(jason_ou_1990)
+xiao_shi_lullaby,1,39,
+xi_zhujia_de_rbq,1,39,
+wuhuo,1,39,
+wtuw,1,39,
+wrato,1,39,
+wool_(kurokrkr),1,39,
+wolfgang_mittermeyer,4,39,
+wolf_(fate),4,39,
+wkdnlwoddl,1,39,
+wizard_girl_ambitious,3,39,
+wilt_and_blush,0,39,
+willow_park,4,39,
+white_freckles,0,39,
+whale_ornament,0,39,
+wet_tail,0,39,
+wet_lens,0,39,
+wen_jr,1,39,
+weedhollow_(dokuran),1,39,
+was775,1,39,
+warin,4,39,
+war_thunder,3,39,
+wantacchi,1,39,
+wallet_chain,0,39,
+wakaya_hana,1,39,
+wabuki_(ochigan),1,39,
+w-t,1,39,
+vulnificus,4,39,
+von.franken,1,39,dr_vonfranken
+venis,4,39,benisu
+vato_falman,4,39,
+vanadis,4,39,
+uva,4,39,
+usura,1,39,
+usanekorin,1,39,
+usagi_(786113654),1,39,
+usaba_(usabara_c),1,39,
+urshifu_(rapid),4,39,
+ungaro,4,39,
+undeedking,1,39,
+un_(kyousougiga),4,39,un_(kyousogiga)
+umemoto_(konna),1,39,
+ukeuke,1,39,
+uhhgaoh,1,39,
+uenomigi,1,39,
+uchigatana,0,39,
+type_speed,0,39,
+type_56-1_(girls'_frontline),4,39,"type_56_assault_rifle_(girls'_frontline),type_56_assault_rifle_(girls_frontline)"
+two_soyjaks_pointing_(meme),0,39,
+two_of_hearts,0,39,
+twinkle_star_sprites,3,39,
+tuzaixia,1,39,
+turing_love,3,39,
+tsukuyomi_mana,4,39,
+tsukushi_(toxicdoll),1,39,
+tsukkon,1,39,
+tsukizaki_shizuka,1,39,
+tsukimizake,1,39,
+tsukimiya_kaede,4,39,
+tsukimi_shokudouki,3,39,
+tsukikawa_chiri,4,39,
+tsujisaki_(coa3),1,39,
+true_love_story,3,39,
+trimcolor,1,39,
+transparent_breasts_pads,0,39,
+transformers:_war_for_cybertron_trilogy,3,39,
+tqg_07,1,39,
+toyohama_nodoka,4,39,
+towada-san_(thank39),1,39,
+touya_kotonari,1,39,kotonari_seesaa
+toushin_toshi_iii,3,39,
+touma_saya,4,39,
+toto_(caaaaarrot),1,39,caaaaarrot
+toshiue_lesson,3,39,
+toroshio,1,39,
+toriko_no_hime,3,39,
+toranpuman,1,39,
+torakichi37,1,39,
+too_many_weapons,0,39,
+tonight_at_the_ligne_droite_(umamusume),0,39,
+tokikago_yuri,4,39,
+tohru_(dragon)_(maidragon),4,39,tooru_(dragon)_(maidragon)
+todoriki_rin,4,39,
+tmtkn1,1,39,
+tmt,1,39,
+tktk-tnk,1,39,
+tira_(elfenlied22),4,39,
+tiguruvurumudo_vuorun,1,39,
+tightrope,0,39,
+tigern_(tigern28502735),1,39,
+tiger_hat,0,39,
+tierla,1,39,
+ticonderoga_(azur_lane),4,39,
+thwwshark,1,39,
+thundurus_(incarnate),4,39,
+thumbs_in_pockets,0,39,
+thief_(fft),4,39,
+the_unlimited:_hyoubu_kyousuke,3,39,
+the_last_guardian,3,39,
+the_lamb_(cult_of_the_lamb),4,39,
+the_iconoclasts,3,39,
+the_gate_(fma),0,39,
+thank_you_friends!!,0,39,
+tewo_(tewowet),1,39,
+tetsuyo,1,39,
+tetori_(tetolisto),1,39,
+terry_(dq6),4,39,
+teriton,1,39,
+tera_l,1,39,teralimit
+tequila_marjoram,4,39,
+tenpura_noraneko,1,39,
+ten_cws,1,39,
+tekin,1,39,
+teio_(teiotei),1,39,
+teardrop_earring,0,39,
+tavor_(m_tavor),1,39,
+taurus_aldebaran,4,39,
+tatsumi_(sekizu),1,39,
+tasu_tasuta,1,39,
+tanarot,4,39,
+tanan,1,39,
+tamtamdi,1,39,
+tamaya,1,39,
+tamago_sando,1,39,
+takumi_mizuki,1,39,
+takashiro_hiroko,4,39,
+takao_(88499191),1,39,
+takae_(poupee_en_biscuit),1,39,
+takacchi,1,39,
+taka_(hiroa),1,39,
+tail_slapping,0,39,
+tail_pillow,0,39,
+tagawa_katsuya,4,39,
+tachibana_hinata_(fabiniku),4,39,
+tabasa,4,39,
+syuya,1,39,
+syukonbu,1,39,
+sylveon_(cosplay),0,39,
+syake_(wadanohara),4,39,
+sword_world_2.0,3,39,
+suzurikawa_sasha,4,39,
+suzuki_kokono,1,39,
+sutaku77224,1,39,takusu_563412
+suppy,1,39,
+suou_mikoto_(k),4,39,
+sunohara_nana,4,39,
+sunkilow,1,39,
+suicide_bomb,0,39,
+sugino_miyo,4,39,
+sugihara_manami,4,39,
+suehiro_anna,4,39,
+subaru_(choukou_sennin_haruka),4,39,
+suaynnai_wanzi,1,39,
+striped_arm_warmers,0,39,
+stella_(black_rock_shooter),4,39,
+star_saber_(transformers),4,39,
+standing_fellatio,0,39,
+squidward_tentacles,4,39,
+spoken_panties,0,39,
+spock,4,39,
+soyokaze,1,39,soyo_kaze
+sowitchraw_(cellphiena),1,39,
+souhi,1,39,
+soresaki,1,39,
+sora_no_kanata_no_dystopia,3,39,
+sora_(aki00),1,39,
+sophiaenju,1,39,
+sophia_(punishing:_gray_raven),4,39,
+sony_kisaragi,1,39,
+sonia_(special_costume)_(pokemon),4,39,
+songjiangcc,1,39,
+snowflake_necklace,0,39,
+smash_daisaku,1,39,
+slamming_door,0,39,
+skyt2,1,39,
+skkc_128,1,39,
+skinnytorch,1,39,
+skeptical,0,39,
+six_neon,1,39,
+siroringo,1,39,
+simon_(kappa_no_kawanagare),1,39,
+simisage,4,39,
+silvercandy_gum,1,39,
+silanduqiaocui,1,39,
+sikinose_val,1,39,
+sigrunen,0,39,
+sidorov,1,39,niwata_senpei
+shutou_suzu,4,39,
+shuruken_(yuumo),1,39,
+shukei,1,39,
+shogun_1_(sekaiju),4,39,
+shirorenge_(huruhuru),1,39,
+shironekonokiki,1,39,
+shiro_(mofuaki),4,39,
+shirikon,1,39,hitoniku11029
+shiren_(fuurai_no_shiren),4,39,
+shippo_(shishizaru),1,39,
+shinonome_satsuki,4,39,
+shino_skk,1,39,
+shinmon_megumi,4,39,
+shinjou_sadagiri,4,39,shinjou_sadagiru
+shinchou_ni_kansuru_kousatsu,1,39,
+shin_(shin_k009),1,39,
+shimogami_ataru,1,39,
+shimizu_eiichi,1,39,
+shiki_haru,1,39,
+shikai_yue,4,39,
+shiiba_tsumugi,4,39,
+shido_mel,4,39,
+shibuzoh,1,39,
+sheryama,1,39,
+sherman_firefly,0,39,
+shellos_(west),4,39,
+she_li_(lynxm),1,39,
+shamare_(echo_of_the_horrorlair)_(arknights),4,39,
+shakkiyi,1,39,
+sh-60_seahawk,0,39,
+setsuna_(inuyasha),4,39,
+set_(mythology),4,39,
+serene_(gusarme),1,39,
+sephiroth_(cosplay),0,39,
+senkou_high_school_uniform,0,39,
+senifu,1,39,
+senhime,4,39,
+sendai_(kancolle)_(cosplay),0,39,
+sen_light,1,39,
+selina_kyle,4,39,
+sekai_(cevio),4,39,
+sei_8220,1,39,
+sei_(bakuretsu_tenshi),4,39,
+sebas_(isekai_shinige_ojousama),4,39,
+scratching_ass,0,39,
+scott_bennett,1,39,
+schrodinger,4,39,schr├Âdinger
+schoolgirls_love_tentacles,3,39,
+saya6382,1,39,
+sawara_(starligtvision),1,39,
+sawanoguchi_sae,4,39,
+sawamin,1,39,
+savuxan,1,39,
+satsuki_suzuran,1,39,
+satou_satomi,4,39,
+satou_masaki,4,39,
+satolive20,1,39,
+saseum_(kao_husband),1,39,"saseum_(deerdidiff),saseum_(puipuiseum)"
+sasakura_ayato,1,39,
+sarika,1,39,gyungsin
+sarasara_shoyu,1,39,
+saran,1,39,
+sanada_jp,1,39,
+san_zhi_chun,1,39,chun-ge
+same_ningen,3,39,
+salad_bowl,0,39,
+sakurasakimasu4,1,39,
+sakurai_(kage),1,39,
+sakuragi_tooru,4,39,
+sakura_kiyomi,4,39,
+sakiika0513,1,39,
+sakenotorii,1,39,
+sakamoto_days,3,39,
+sajiwa_(namisippo),1,39,
+sagano_mito,1,39,
+sadu_dotharl,4,39,
+sadatou_ayano,4,39,
+sada_(sadahalu),1,39,
+saboten_pose,0,39,
+sa-3_mozambique,0,39,
+ryze,4,39,
+ruriruno,1,39,
+rureizi,1,39,
+rubicante,4,39,
+rtari,1,39,
+rott_ur,1,39,kusarebon
+rope_(summer_flowers)_(arknights),4,39,rope_(summer_flower)_(arknights)
+room_you_can't_get_out_of_unless_you_x_(meme),0,39,
+romani_(zelda),4,39,
+rolf_(fire_emblem),4,39,
+roku_kyuu,1,39,
+roku-jou,1,39,rokujyouwasitu
+rocm_(nkkf3785),1,39,
+rockman_xover,3,39,
+robosaa_(roboco),4,39,robosaa_(roboco_ch.)
+ro96cu,1,39,
+ririri_(user_rkrv7838),1,39,
+riri_(kemurikusa),4,39,
+ringo_(nanaprin),1,39,
+riku_(jonsun),4,39,
+ribbon_legwear,0,39,
+rettou_joutou_(vocaloid),3,39,
+reptilian,0,39,
+renee,1,39,
+renboukouji_akira,4,39,
+relief,0,39,
+red_corruption,3,39,
+red-eyes_black_dragon,4,39,red-eyes_b._dragon
+recoome,4,39,
+real_intention,3,39,
+rausu_(undeadmachine),1,39,
+ratel_(kemono_friends),4,39,
+randal_orlando,4,39,
+rakshata_chawla,4,39,lakshata_chawla
+rae_(rob_ishi),4,39,
+radishkek,1,39,
+racoona,1,39,
+rachael_foley,4,39,
+racaseal,4,39,
+ra_coon,1,39,
+quiet_(metal_gear)_(cosplay),0,39,
+queen_sectonia,4,39,
+qtarou,1,39,qtaro999999
+qbase,1,39,
+pyuu_to_fuku!_jaguar,3,39,
+pyrefly,0,39,
+puribate_(helgoland),1,39,
+psylduck,1,39,
+psychic_force,3,39,
+psychic_(7th_dragon),4,39,
+protagonist_(devil_survivor_2),4,39,
+propane_tank,0,39,
+progrise_key,0,39,
+pratty,4,39,
+practicing,0,39,
+pps_submachine_gun,0,39,
+pps-43_(girls'_frontline),4,39,pps-43_(girls_frontline)
+poru_(tohopunk),1,39,
+portgas_d._anne,4,39,
+popping,0,39,
+ponnu_(tnpn2yw),1,39,
+pokemon:_jirachi:_wish_maker,3,39,pokemon_m06
+poini_(king-scarlet-dead),1,39,
+po_pooch,1,39,"mukatsukupochi,pochi_(0523meiken)"
+pk_machine_gun,0,39,
+pizza_cutter,0,39,
+piyo_piyo_apron,0,39,
+pixie-bob_(boku_no_hero_academia),4,39,tsuchikawa_ryuuko
+pinkmm,1,39,
+pill_on_tongue,0,39,
+picture_book,0,39,
+phoenix_ikki,4,39,
+phineas_and_ferb,3,39,
+philippines,0,39,
+pg_(pege544),1,39,
+peter_pan,3,39,
+person_on_back,0,39,
+peppedayo_ne,1,39,
+peppe,1,39,
+pepo_(flower_knight_girl),4,39,
+penis_envy,0,39,
+peng_yong,1,39,
+pekorin_(precure),4,39,
+pedestrian_crossing_sign,0,39,
+paw_ornament,0,39,
+patdarux,1,39,
+parune_chigetsu,1,39,
+panasonynet,1,39,
+pajaman,1,39,
+pairleaf,1,39,
+page_one_(one_piece),4,39,
+padme_amidala,4,39,
+p22_(girls'_frontline),4,39,
+oz_(gerbera7),1,39,
+outer_science_(vocaloid),3,39,
+oui_lion,1,39,
+ou_(swdp),1,39,
+otsuki38,1,39,
+otou_(otou_san),1,39,
+otonashi_io,4,39,
+otonashi_fumiko,4,39,
+otodama_tamako,4,39,
+ossan_zabi_190,1,39,
+oshiruko_kizoku,1,39,osirukonobleman
+osakabe_makie,4,39,
+orrdriver,1,39,"newzeaind,shabashaba"
+ororooops,1,39,
+orihalchon,1,39,
+ore_monogatari!!,3,39,
+orange_bloomers,0,39,
+oozora_ako,4,39,
+ootsuka_kotora,1,39,ohtsuka_kotora
+ootori_naru,4,39,
+oota_minoru,1,39,minoru
+ookura_kazuya,1,39,
+ookubo_rumi,4,39,
+ookouchi_shino,4,39,
+oogama_(youkai_watch),4,39,
+oofxyphxia,1,39,
+onna_mahoutsukai_(maoyuu),4,39,witch_girl_(maoyuu)
+omega_na_hito,1,39,
+okuda_manami,4,39,
+okojo,1,39,
+oklahoma_(azur_lane),4,39,
+okenokoneko,1,39,
+oka_megumi,4,39,
+ohara_rinne,4,39,
+ohagi_(food),0,39,
+oda_kou,4,39,"kou_hime,kouhime"
+nyto_mercurows_(girls'_frontline),4,39,nyto_mercurows_(girls_frontline)
+nyoichi_(ekaini),1,39,
+nyan_(themare),1,39,
+null_qq,1,39,
+noyuki1204,1,39,
+nora_(act2),1,39,96kuroie
+noka_(blackheart1118),1,39,
+noise_(suite_precure),4,39,
+noda_eishi,1,39,
+no_armwear,0,39,
+nm222,1,39,
+nishizawa_momoka,4,39,
+nise6,1,39,
+ninomae_ichijiku,1,39,
+nikaime,3,39,
+nikaidou_aya,4,39,
+nijou_ryuu,4,39,
+nightmare_(mazohaha),4,39,
+night_seeker_2_(sekaiju),4,39,
+nicole_watterson,4,39,
+nezumi_otoko,4,39,
+nez-doll,1,39,
+new_orleans_(azur_lane),4,39,
+nepgyaa,4,39,
+nemou,1,39,
+nemesis_sudou,4,39,
+nekoronbusu,4,39,
+nekoreset13,1,39,
+nekokyu,1,39,
+neko_zukin,1,39,
+necromancer_2_(sekaiju),4,39,
+necking,0,39,
+navigator,0,39,
+naval_mine,0,39,
+natsumegu,3,39,
+natsuki_iori,1,39,
+natali_(rune_(pixiv_25170019)),4,39,
+narakuuu,1,39,
+narafume,1,39,
+napoleon_bonaparte_(ladies_&_gentlemen)_(fate),4,39,
+naora_yusuke,1,39,
+nao_(necomugi),1,39,
+nanashiki,1,39,
+nanami_natsuki,1,39,
+nanako_(jujutsu_kaisen),4,39,
+nana_kusun,1,39,
+nana895,1,39,
+namo_(goodbyetears),1,39,
+namgic,1,39,
+nakajima_akihiko,1,39,
+najashi,1,39,
+naitou-kun,4,39,
+nagumo_midori,4,39,
+naginomori_gakuen_high_school_uniform,0,39,
+nagi_(fire_emblem),4,39,
+nagasode_(48789563),1,39,
+naga-no,1,39,
+nafta,1,39,
+n.u.n.s.,0,39,
+myg,1,39,
+mutsu_(kitakaze_berry),1,39,
+musical_touken_ranbu,3,39,
+mushiao,1,39,washman711
+musashi_(aoki_hagane_no_arpeggio),4,39,
+murikajin,1,39,
+murasaki-sin,1,39,
+muraachi,1,39,
+ms.assistant,3,39,
+mouri_kogoro,4,39,
+mountaintop,0,39,
+motto!_haramase!_honoo_no_oppai_isekai_ero_mahou_gakuen!,3,39,
+mother_brain,4,39,
+mossberg_500,0,39,
+morning_musume,3,39,
+moriyama_a,1,39,
+morisaki_nao,4,39,
+moriririnn,1,39,
+moon_gundam,3,39,
+monushi,1,39,
+monster_in_kamata,4,39,
+monopollyan,1,39,
+monono,1,39,
+monomono,1,39,
+monique_(arknights),4,39,
+momiji_(lucario),1,39,
+mogmogura,1,39,
+mobius_1,4,39,
+mm_(pomeme4),1,39,
+mk_14_ebr,0,39,
+mizuki_hau,1,39,
+mizu_no,1,39,
+miyuara,1,39,
+miyu_ottavia,4,39,
+miyamoto_musashi_(swimsuit_berserker)_(fate)_(cosplay),0,39,
+miyamoto_(dominocube6),1,39,
+miyabi_shigure,4,39,
+miya_(zawarudo),1,39,m-musume_(catbagel)
+misaki_(summer)_(princess_connect!),4,39,
+miracle!,1,39,
+mink_(dramatical_murder),4,39,
+minibike,0,39,
+minew,1,39,
+minerva_(p&d),4,39,
+minazuki_(0038),1,39,
+minase_yuka,4,39,
+minamori_noeru,1,39,
+mimosa211,1,39,
+mimimi_(echonolog),1,39,
+mikuni_souichirou,4,39,
+mihashi_ren,4,39,
+micolash_host_of_the_nightmare,4,39,
+michudx,1,39,
+mhunter_45,1,39,
+metadio,1,39,
+mesou-san,1,39,
+merokonbu0,1,39,
+mercelida_ygvar,4,39,
+meranoreuka_(naokentak),1,39,
+melonpan_(artist),1,39,
+meloettta,1,39,
+melo_(meromero),1,39,melomelo_d
+mellchi,1,39,
+melissa_seraphy,4,39,
+mebachi,1,39,
+mea_koenig,4,39,
+mcyu,1,39,
+maybe,1,39,
+maxwell_manzoku,1,39,
+max_caulfield,4,39,
+matsuro_meru,4,39,
+matsurika_(j297021302),1,39,
+matsunami_rumi,1,39,
+matsuda_juukou,1,39,
+matou,1,39,
+masumofu,1,39,
+masao_(ebi_no_osushi),1,39,
+maruno_ball,1,39,
+marilyn_monroe_(cosplay),0,39,
+marianne_(unholy_sanctuary),4,39,
+maokai,4,39,
+mao_zedong,4,39,
+mao_(yuureidoushi_(yuurei6214)),4,39,
+mamoru_(mamoru_jinja),1,39,
+mamo_(dokidoki!_precure),4,39,
+makoto_(roketto-massyumaro),1,39,
+makimachi_misao,4,39,
+maki_yahiro,1,39,
+maki_(makidai2024),1,39,
+majorita_(disgaea),4,39,
+maid-san_to_boin_damashii,3,39,
+maguro_(minase1684),1,39,
+magical_mirai_luka,4,39,
+magehound,4,39,
+maestrale_(azur_lane),4,39,
+mado_akira,4,39,
+maco,1,39,
+machino_(nidavellir),1,39,
+mabui,1,39,
+mab_pa-15,0,39,
+m3_(girls'_frontline),4,39,m3_grease_gun_(girls'_frontline)
+m0_chi,1,39,
+m.a.d_mafia_is_all_dead,3,39,
+lyric_(hina9111),1,39,
+lushuao,1,39,leshu_310
+luobo_(nsnr8754),1,39,
+lungs,0,39,lung
+lucian_(league_of_legends),4,39,
+lovezawa,1,39,
+lovely_idol,3,39,
+louis_vuitton_(brand),0,39,
+lotter75,1,39,
+lost_passage,3,39,
+loni_dunamis,4,39,
+lizzydom,1,39,
+little_princess_(guardian_tales),4,39,
+linia_pacifica,4,39,
+lily_(wanko),4,39,
+lian_(pokemon),4,39,kikui_(pokemon)
+leviathan_(final_fantasy),4,39,
+letty_(ogami_kazuki),4,39,
+leomodesto,1,39,
+leina_ashta,4,39,
+lei_bailin,4,39,
+le_malin_(azur_lane)_(cosplay),0,39,
+lasso_of_truth,0,39,
+lamborghini_countach,0,39,
+laffey_(bunny_clerk?)_(azur_lane),4,39,
+lady_pearl,4,39,
+lady_jewelpet,3,39,
+kz_ripo,1,39,
+kyouraku_shunsui,4,39,kyoraku_shunsui
+kyounami,1,39,
+kyoudyu,1,39,
+kusunoki_rikka,4,39,licca_kusonoki
+kusunoki_masashige,1,39,
+kushinada_(p&d),4,39,
+kurusu_piyo,1,39,
+kururi_(oekaki_nikki),1,39,kururi_(pixiv2432322)
+kurokawa_keita_(haozz),4,39,
+kuroiwa_cookie,1,39,
+kurirou,1,39,
+kure_(beniya),1,39,kure_(pixiv28887)
+kurda_smahlt,4,39,
+kunichika_yuu,4,39,
+kumo_(kumo_hsc0216),1,39,
+kumo_(kumo8159),1,39,
+kumamakura_kurumi,4,39,
+kulolin,1,39,
+kujou_hyotarouo,1,39,
+ku_koro,0,39,
+ktm,1,39,ktmzlsy720
+kt_kkz,1,39,
+ksfactory,1,39,
+kozzz_y,1,39,
+koyoka,1,39,
+kouen_miska,1,39,
+kou_(inaba),1,39,
+kotona_matome,4,39,
+kotohatoko510,1,39,
+kotobuki_haruki,1,39,rurika_seijin
+kotetsu_kiyone,4,39,
+kote_(dew),1,39,
+korone,4,39,
+komepan,1,39,
+kokkoro_(princess_connect!)_(cosplay),0,39,
+koisuru_natsu_no_last_resort,3,39,
+koenma,4,39,
+kodachi_nagi,4,39,
+koaki,1,39,
+ko->u,1,39,
+knowa,1,39,
+kkr_rkgk,1,39,
+kizuna_encounter,3,39,
+kitaya,1,39,
+kishinuma_yoshiki,4,39,
+kirushi_(killcy),1,39,
+kirochef,1,39,
+kirishima_reiko,4,39,
+kirishima_kotone,4,39,
+kira_kira,3,39,
+kinoto_kanade,1,39,
+kinosaki_(green_patio),1,39,
+kinoko_(shikimylove),1,39,
+kino_books,4,39,
+kina_(446964),1,39,
+kimagure_temptation,3,39,
+killingrock,1,39,
+killer_instinct,3,39,
+kikuchi_(xpoz),1,39,
+kijima_matako,4,39,
+kibimoka,1,39,
+kiara_(kenshin187),4,39,
+kh_(tanakananataka),1,39,tanakananataka3
+keyfanjun,1,39,
+kent0320,1,39,
+kemono_fabric,3,39,
+kemeko_(kemeko_deluxe),4,39,
+kekyo,1,39,
+keisuke_desu~,1,39,
+kei_(limitedgirl),1,39,
+keemoringo,1,39,
+kebaboishii,1,39,
+kazue_kato,1,39,
+kazehana,4,39,
+kayoko_(new_year)_(blue_archive),4,39,
+kayaku_(banban),1,39,
+kawamatsu_yoshinori,1,39,
+katsu_ryouji,1,39,
+kato_(kato),1,39,
+kasumi_(summer)_(princess_connect!),4,39,
+kasuga_nozomi,4,39,
+karomura,1,39,
+karasu_kame_ex,1,39,
+kanna_ryouto,1,39,ryooto_(onlineheart)
+kankitsu_(94rz),1,39,citron9414
+kankara_nashi,1,39,
+kanii_rate,1,39,
+kanemaru_(knmr_fd),1,39,
+kandagawa_jet_girls,3,39,
+kanda_saki,4,39,
+kanai23831347,1,39,user_kcvw4773
+kamiya_ogawa,1,39,
+kamimon,1,39,
+kamikaze_(kancolle)_(cosplay),0,39,
+kamikawa_tamaki,4,39,
+kamen_rider_zx,4,39,
+kamen_rider_super-1_(series),3,39,
+kamada_issei,1,39,bobukuro
+kalua,1,39,
+kakubayashi_tsuyoshi,1,39,kaku_(artist)
+kagami_leo,1,39,
+kaga_yuuki,4,39,
+kadou,1,39,
+kadota_hiromi,4,39,
+kaburaya,1,39,
+kaaya,4,39,
+k_young03,1,39,
+k@non,1,39,
+k19,1,39,
+k-dam,1,39,
+juri_(blue_archive),4,39,
+junyou_(azur_lane),4,39,
+junexp,1,39,
+juju_coo_shnamur,4,39,
+judy_hopps_(cosplay),0,39,
+ju_(old505),1,39,
+joze,1,39,
+jongmin,1,39,
+jizaikagi,0,39,
+jishimaru,1,39,
+jell_(jell_y_fish),1,39,jellsuimu
+jeetdoh,1,39,
+jeanne_d'arc_(swimsuit_archer)_(fate)_(cosplay),0,39,
+jeanne_d'arc,4,39,
+jdori,1,39,
+jayun,1,39,
+jandy,1,39,
+jadeite_(sailor_moon),4,39,
+ivuki,1,39,
+itunes_card,0,39,
+ittan_momen,0,39,
+itou_shiori,4,39,
+itou_kanae_(amagami),4,39,
+itachi_(3dt),1,39,itachi_(pixiv84729)
+isshiki_ichika_(murakami_suigun),4,39,
+isekai_cheat_magician,3,39,
+irue,1,39,
+irei_yukitoshi,1,39,
+iovebly,1,39,
+inumimi_moeta,1,39,
+inui_seishu,4,39,
+inugami_kotarou,4,39,
+ingrid_sorveig_sorgrims,4,39,
+ingerdoll,1,39,
+infinity_sword_(elsword),4,39,
+ine_(ineinnen),1,39,
+indian_wolf_(kemono_friends),4,39,
+ille_(xcpa7325),1,39,
+ili_(dream_c_club),4,39,
+iku!_iku!!,1,39,
+ikki_(tue_sein_bestes),1,39,
+iiru,1,39,
+iida_keiko,4,39,
+ignis_(blazblue),4,39,
+igawa_sakura_(cosplay),0,39,
+idoukunn,1,39,
+idolmaster_side-m_live_on_stage!,3,39,
+ichitaka_(1015ichitaka),1,39,
+ich.,1,39,
+hypnos_(hades),4,39,
+hype_beast_crypto,4,39,
+hyejin_(black_survival),4,39,
+hunting_era,3,39,
+hunter_(left_4_dead),4,39,
+hunter.g,1,39,
+hungarian_flag,0,39,
+hugo_(suikoden_iii),4,39,
+hrk173,1,39,
+houzuki_michiru,1,39,
+hotaru_(htol#niq),4,39,
+hosoime,1,39,
+hoshizaki_akari,4,39,
+hoshino_kirara,4,39,
+hoshino_darts,1,39,
+hoshimura_makina,4,39,
+hoshikoi_tinkle,3,39,
+hoshiful,3,39,
+hoono_yurumu,1,39,
+honba_misaki,1,39,
+hollow_song_of_birds,3,39,
+hk416_(fang)_(girls'_frontline),4,39,
+hitokuchii,1,39,
+hishizaki_shaia_(gowcaizer),4,39,
+hisame_(nekousatan),1,39,
+hirose_mariko,4,39,
+hirasawa_geko,1,39,
+hinatabokko,3,39,
+himuro_kirie,4,39,
+himitsu_~kuro_no_chikai~_(vocaloid),3,39,
+himemiya_alice,4,39,
+hime-chan_no_ribbon,3,39,
+himawari!,3,39,
+high_chair,0,39,
+higanbana_(flower_knight_girl),4,39,
+hibaneim,1,39,8bitgoblin8
+hi-yo,1,39,
+hewie,4,39,
+helpig,1,39,
+hello_kitty_to_issho!,3,39,
+heca,1,39,
+heatmor,4,39,
+heart_ahoge_duo,0,39,
+hayashi_akemi,1,39,
+hawkeye_girl_(mechanical_buddy_universe),4,39,
+hatsuyukisou_(flower_knight_girl),4,39,
+hatimiz,1,39,
+hat_over_hat,0,39,
+hassystants,1,39,
+harushino,1,39,
+harunohotaru,1,39,
+harunoha,1,39,
+harukabo,1,39,
+haru_(arser_doil),1,39,
+harken_browning,4,39,
+harada_shoutarou,1,39,
+hanazawa_yusaku,4,39,
+hananokouji_kurara,4,39,hananokoji_kurara
+hanahubuki1991,1,39,
+hamllock,1,39,
+hamita_(rikopin_ika),1,39,
+hameln_(sinoalice),4,39,
+hamagurihime,1,39,
+haki,0,39,
+hakata-san,4,39,salt-chan
+haiba_lev,4,39,
+hagiya_kaoru,1,39,
+hachinan_tte_sore_wa_nai_deshou!,3,39,
+h_haluhalu415,1,39,
+h@ruichi,1,39,
+gyuu_kaku_(gyu400),1,39,gyukaku400
+gurochii,1,39,
+gunzan,1,39,
+gunbai,0,39,
+guild_sweetheart,4,39,
+gruier_serenity,4,39,
+groot,4,39,
+greil_(cosplay),0,39,
+grandia_online,3,39,
+graf_zeppelin_(kancolle)_(cosplay),0,39,
+gozaru,1,39,
+gotou_(pixiv37128),1,39,
+goshenite_(houseki_no_kuni),4,39,
+goldfishu,1,39,
+goggles_around_arm,0,39,
+glasses_case,0,39,
+gk,1,39,
+gino_knab,4,39,
+gingerbullet,1,39,
+gingerbread_cookie,0,39,
+gigantamax_cinderace,4,39,
+giga_drill_break,0,39,giga_drill_breaker
+geworin,1,39,
+geumgang_(odd_snail),4,39,
+genki_dama,0,39,
+genk,1,39,
+general_dynamics_lwmmg,0,39,
+geeto_gaadian,1,39,
+garma_zabi,4,39,
+gamora,4,39,
+galil_(girls'_frontline),4,39,galil_(girls_frontline)
+galacta_knight,4,39,
+gaku_ou,3,39,
+gadget_trial,3,39,
+gabao.,1,39,
+g.yamamoto,1,39,
+fuyuri_(tibirobo),1,39,
+fuurin,1,39,
+furisode_girl_kali,4,39,
+fune_(fune93ojj),1,39,
+fukuyama_jeanne_sachie,4,39,
+fujita_saki,4,39,
+fujita_ayano_(40hara),4,39,
+fue_(lars0713),1,39,
+fudama,1,39,
+fu_(tk1189227dhy),1,39,
+freideugoi,1,39,denx
+freefall,0,39,
+fred_weasley,4,39,
+fotia_of_fireside,4,39,
+fortythree,1,39,
+former_capital,0,39,
+forge,0,39,
+foot_on_breast,0,39,
+food_on_penis,0,39,
+fomnant,1,39,moto_u_toe_say
+folkssoul,3,39,fokelore_(game)
+flat_escardos,4,39,
+flame_toys,3,39,
+fishofthelakes,1,39,
+first-chan_(loalo),4,39,
+fiore_forvedge_yggdmillennia,4,39,
+findoworld,1,39,
+fgz,1,39,
+ferroseed,4,39,
+felicita,4,39,
+feather_skirt,0,39,
+favaro_leone,4,39,
+fan_ju,1,39,
+f_1chan,1,39,
+ezusuke,1,39,
+exusiai_(wild_operation)_(arknights),4,39,
+excalibur_(soul_eater),4,39,
+eve_valerne,4,39,
+eva200499,1,39,
+european_water_princess,4,39,european_water_hime
+etesumsom,1,39,
+essex_(craft_fairytail)_(azur_lane),4,39,
+eris_jerand,4,39,
+enokorogusa_(flower_knight_girl),4,39,
+enoki_3106,1,39,
+energon,0,39,
+endou_michiko,4,39,girl_with_mole_under_one_eye_(k-on!)
+endivinity,1,39,
+en_(shisui_no_utage),1,39,
+emu_(marico_w),1,39,
+empire_state_building,0,39,
+emily_(overwatch),4,39,
+emily_(last_origin),4,39,x-05_emily
+elsynien,1,39,kyo_(user_jpfr5738)
+elise_schwarzer,4,39,
+elie_(rave),4,39,
+elephant_hat,0,39,
+eldridge_(kitty_idol)_(azur_lane),4,39,eldridge_(catgirl_idol?)_(azur_lane)
+eldelita_(rakurakutei_ramen),4,39,
+elastigirl,4,39,
+eddie_(mega_man),4,39,eddie_(rockman)
+edasaki_banri,4,39,edasaki_kizuri
+e-liter_4k_(splatoon),0,39,
+dynamite-kit,1,39,
+duca_degli_abruzzi_(lustrous_onyx_sirenetta)_(azur_lane),4,39,
+dragon_ryuuhou,4,39,
+dragon_age:_origins,3,39,
+dr._daji,1,39,
+dosanko,1,39,
+dorachan_r,1,39,
+dodge,0,39,
+doctor_octopus,4,39,
+dm_(nguyen_dm95),1,39,
+dkxlek,1,39,
+diz_(diznaoto),1,39,
+dixie_clemets,4,39,
+dido_(magicc),1,39,magicc
+di_qi_gang_guang,1,39,
+devil_gundam,4,39,
+device,0,39,
+denji_(mugitomato),1,39,
+denim_shirt,0,39,
+demstouts,1,39,
+demon_hunter_(warcraft),4,39,
+deep_current_wattson,4,39,
+decoration_(idolmaster),0,39,
+deba,1,39,
+dead_(inhabituels),4,39,
+dc9spot,1,39,
+darius_iii_(fate),4,39,darius_iii_(fate/grand_order)
+dankestofdans,1,39,
+daniella_(sennen_sensou_aigis),4,39,
+daniel_deves,1,39,
+dainyuu_(dgls),1,39,
+dain_(bishop_m),1,39,
+daigaku_jitome,1,39,
+daidouji_tomoyo_(cosplay),0,39,
+daidailong,1,39,
+cyril_(fire_emblem),4,39,
+cynthia_marguerite,4,39,
+cynd,1,39,
+cyclonus,4,39,
+cyborg_(dc),4,39,
+cyber_elves,0,39,
+curling_stone,0,39,
+cure_peach_(cosplay),0,39,
+cube_(cube00),1,39,
+crystal_shard,0,39,
+crucible_(doom),0,39,
+crrispy_shark,1,39,
+crowanon,1,39,
+crossco,1,39,
+creamsea,1,39,
+cream_starter_(stand),4,39,
+courage_the_cowardly_dog,3,39,
+cotton_boll,0,39,
+cork_gun,0,39,
+conqueror_of_the_eternals,4,39,
+concertina,0,39,
+cokata,1,39,
+cocura,1,39,
+cochlea1313,1,39,
+clive_winslett,4,39,
+clinic,0,39,
+cliff_fittir,4,39,
+cleaned,5,39,
+classic_squiffer_(splatoon),0,39,
+cindy_campbell,4,39,cyndi_campbell
+chupimaro,1,39,tyupimaro
+chuntarou_(kimetsu_no_yaiba),4,39,
+chumugi,1,39,ayana2123
+chu,1,39,
+chrono_clock,3,39,
+chrom_(spring)_(fire_emblem),4,39,
+chrisanother,1,39,
+chorogy,1,39,
+chocomarybadend,1,39,
+chiyo_(no3baki),1,39,
+chiyaru,1,39,
+chivo_(kalchivo),1,39,kalbbang2
+chinchilla_girl,0,39,
+chikku_(k2753),1,39,
+chiigo,1,39,
+chiem,1,39,
+chie_(lcddem),4,39,
+chibimi,4,39,
+chi_meng_(hua_jianghu_zhi_bei_mo_ting),4,39,
+cherry_girls,0,39,
+cheria_barnes_(innocent_maiden),4,39,
+checking_watch,0,39,
+checkered_ceiling,0,39,
+charlotte_(madoka_magica)_(cosplay),0,39,
+character_counter_request,5,39,
+char's_deleted_affair,3,39,
+changpan_hutao,1,39,
+chained_tan,1,39,
+castlevania_iii:_dracula's_curse,3,39,"castlevania_3,castlevania_iii"
+castform_(rainy),4,39,
+carue,4,39,
+carmilla_(swimsuit_rider)_(first_ascension)_(fate),4,39,
+carlos_toshiki,1,39,
+captain_kirb,1,39,
+capricorn_shura,4,39,
+cao-cao,1,39,
+call_of_cthulhu,3,39,
+cacomistle_(artist),1,39,
+butterfly_affection,3,39,
+burgundy_(pokemon),4,39,
+bun_(hiyokomame),1,39,
+bumgae,1,39,
+buff_bard,1,39,
+bucky_(chainsaw_man),4,39,
+buchou_chinke,1,39,
+bt_(shio_oninko),1,39,
+brown_pajamas,0,39,
+bronya_rand,4,39,
+broken_leg,0,39,
+bramblefix,1,39,
+boyakki,4,39,
+bound_fingers,0,39,
+boulder_badge,0,39,
+borg_(alien_nine),4,39,
+boomina_the_maidroid,3,39,
+boldore,4,39,
+boh_stick,1,39,stick308
+blue_seed,3,39,
+blue_destiny_01,4,39,
+blood_moon_akali,4,39,
+blonde_catgirl_(oota_yuuichi),4,39,
+blizzomos,1,39,
+blindfold_down,0,39,
+black_tears,0,39,
+black_soccer_ball,0,39,
+black_kyurem,4,39,
+bigoru,1,39,
+benson_(azur_lane),4,39,
+beast_king_(sekaiju),4,39,wildling_(sekaiju)
+bead_belt,0,39,
+beach_boy_(stand),4,39,
+bbb_(fabio8552),1,39,
+bauer_(girls_und_panzer),4,39,
+barnacle,0,39,
+barbaracle,4,39,
+banister,0,39,
+bakedanuki_(touhou),4,39,
+babymetal,3,39,
+baby_5,4,39,
+baburo,1,39,
+azer,4,39,
+ayatudura,1,39,
+ayakashi_onmyouroku,3,39,
+ayakashi_kyoushuutan,3,39,
+ayakashi_h,3,39,
+awa_(rosemarygarden),1,39,
+august_(coyote_ragtime_show),4,39,
+atsuyu,1,39,
+atlanta_(kancolle)_(cosplay),0,39,
+asymmetrical_eyewear,0,39,
+asutoro_(s--t),1,39,
+asumi_sena,4,39,
+astrid_(fire_emblem),4,39,
+asano_akira,1,39,
+asagizuisen,1,39,
+asagi_toshikazu,4,39,
+artemis_(p&d),4,39,
+armored_shoes,0,39,
+arisu_reiji,4,39,
+ariane_(gaikotsu_kishi-sama_tadaima_isekai_e_o_dekake-chuu),4,39,
+aren_(fubuki-46),1,39,
+arcana,3,39,
+arcade_miss_fortune,4,39,
+arc_de_triomphe,0,39,
+arai_12,1,39,
+ar_(3779609928),1,39,3779609928
+aqua_(popogori),1,39,
+aplerichi,1,39,
+aplche,1,39,
+aonuma_neiru,4,39,
+aomi_one,1,39,
+antenna_(draconian),1,39,
+anneliese,4,39,
+animankan,1,39,
+angelmaster,3,39,
+amusphere,0,39,
+amou_yuu,1,39,
+amisaki_ryouko,1,39,
+amiami_(company),3,39,
+amezuku,1,39,
+ameya,1,39,
+ameru.miro,1,39,
+amaoto,1,39,
+amamiya_tsubaki,4,39,
+alti,4,39,
+altessa_(futagohime),4,39,
+alstede_brand,4,39,
+alpha_omega,4,39,
+alita:_battle_angel,3,39,
+alicia_charlotte,4,39,
+alicetaria_february,4,39,
+alger_wilson,4,39,
+alexander_(fma),4,39,alexander_(fullmetal_alchemist)
+akira_ray,4,39,
+akira_(natodaisuki58),1,39,
+akebisousaku,1,39,
+akatuki_taku,1,39,
+akatsubon,1,39,"akazu_bon,kemono_no_nonomichi"
+akashic_chronicle,3,39,mobile_legends:_adventure
+akagi_(deep_crimson_poppy)_(azur_lane),4,39,
+aka_(440626),1,39,
+ak_5,0,39,ak-5
+aira_blanc_neige_galdinius,4,39,
+aiovia,1,39,lawliert
+aiha-deko,1,39,
+agent_47,4,39,
+ageha_(ray-k),4,39,
+ag+_(atelieriji),1,39,
+adjusting_sleeves,0,39,
+adette_kistler,4,39,
+ada_vessalius,4,39,
+acorn_hair_ornament,0,39,
+acca_13-ku_kansatsu-ka,3,39,acca:_13-territory_inspection_dept.
+a_(shiei_no_sona-nyl),4,39,
+a_(kyousougiga),4,39,a_(kyousogiga)
+a'gen_(the_legend_of_luoxiaohei),4,39,
+88_taho,1,39,
+80isiiii,1,39,
+8-foot_joe,4,39,
+70_oku_no_bun_no_1,1,39,
+5plus,1,39,
+1hao_(@cerbero64),1,39,
+13cm,3,39,
+1340smile,1,39,
+0:00,1,39,
++tic_nee-san,3,39,"plastic_nee-san,plastic_nee-san,plustic_nee-san"
+zun_hat,0,38,
+zuikaku_(girls_und_panzer),0,38,
+zoku_owarimonogatari,3,38,
+zixia_(msl),1,38,
+zhao_tianyou,4,38,
+zhao_(pixiv12947327),1,38,
+zero_one_driver,0,38,
+zero_(katana_zero),4,38,
+zenkai_magine,4,38,
+zawa_(onomatopoeia),0,38,
+zangya,4,38,
+zaki_(2872849),1,38,
+zabaniyya_(halloween)_(housamo),4,38,
+yustinos,1,38,anunnaki
+yuria_(hokuto_no_ken),4,38,
+yuni_(via_junk),1,38,
+yumizuru_eleanora,4,38,
+yumeno_koto,4,38,
+yulha_06,1,38,
+yukumo_(armor),4,38,
+yukki_bunny,1,38,
+yuhji,1,38,
+yuge_mugito,1,38,
+yubi_yubi_(inugami_korone),0,38,
+yu_iseol_(return_of_the_mount_hua_sect),4,38,
+yotubeya,1,38,
+yottur,1,38,
+yostuba0704,1,38,
+yoshitani_(aminosan),1,38,
+yorurumo,1,38,
+yomoya_oc10,1,38,
+yomitrooper,1,38,
+yokoi_rego,1,38,
+yokaze_(xxxdisxxx),1,38,
+yoimon,1,38,
+yohsoro,1,38,
+yma,1,38,
+yinqi,1,38,
+yellow_bandeau,0,38,
+yaxiya,1,38,
+yatonokami_nayuta,4,38,
+yarareimu,1,38,
+yanda,4,38,
+yami_ga_fukami,1,38,
+yamashita_majime,4,38,
+yamamura_hiroki,1,38,
+yakuta_tetsuya,1,38,
+yakimochi_stream,3,38,
+yakan_(madoromio),1,38,
+yaginuma_io,4,38,
+yaebane,1,38,
+xx_momomo_xx,1,38,
+xtango,1,38,
+xpmc,4,38,
+xingqiu_(aoi_no_okina)_(genshin_impact),4,38,aoi_no_okina_(genshin_impact)
+xbox_series_x,0,38,
+xanadu_avici,1,38,
+x-blades,3,38,
+wuziky00,1,38,
+wusie2,1,38,
+wriggle_nightbug_(cosplay),0,38,
+wjsn,3,38,
+wing_piercing,0,38,
+whoareuu,1,38,
+weiss_winterprison,4,38,
+watarumi,1,38,
+watagashikn,1,38,
+waruwarutsu,1,38,
+war_counselor_iji,4,38,
+wanyuwa,1,38,
+wall_crash,0,38,
+wakanu,1,38,
+wakana_(nagomoo),1,38,wakana_(artist)
+wakame_mi,1,38,
+w.q.y,1,38,
+vusc,1,38,
+vistahero,1,38,
+vintem,1,38,
+victoria_(damegane),4,38,
+vicar_amelia,4,38,
+vibncent,1,38,
+vf-27,4,38,
+verniy_(kancolle)_(cosplay),0,38,
+vermouth_(meitantei_conan),4,38,
+vergil_(devil_may_cry)_(cosplay),0,38,
+venus_chain_(sailor_moon),0,38,
+venomania_kou_no_kyouki_(vocaloid),3,38,
+venera-sama_(cosplay),0,38,
+vanilla_the_rabbit,4,38,
+vanica_zogratis,4,38,
+vacuum_tube,0,38,
+uzuki_mei,1,38,
+uzuki_eri,1,38,
+uwded_207,1,38,
+uwazumi,1,38,
+usukawa,1,38,
+ushiwakamaru_(fate)_(cosplay),0,38,
+urgot,4,38,
+ura_musi,1,38,
+unohana_no_sakuyahime,4,38,
+uno_uzume,4,38,
+uno_usaya,1,38,konbudou
+uni_(uni-strain),1,38,
+uneune,1,38,
+undyne_the_undying,4,38,
+undone_ascot,0,38,
+umesato_yukino,1,38,plumy_snow
+umeno_shii,1,38,umemiya618
+umaro,4,38,
+ultraman_orb_(series),3,38,
+ubwmitekure,1,38,
+two-legged_horse_(kanji),0,38,
+twitch_(league_of_legends),4,38,
+tulip_(idolmaster),0,38,
+tufang,1,38,
+tsyn,1,38,
+tsunemoku,1,38,
+tsunagi_first_middle_school_uniform,0,38,
+tsumugine_rei,4,38,
+tsumi_to_batsu_(vocaloid),3,38,
+tsukisaka_sayu,4,38,
+tsukiringo,1,38,
+tsukimizu_(ordeal),1,38,
+tsukasaki_aoi,1,38,
+tsuji_shinnosuke,4,38,
+tsuji_aya,4,38,
+tsuchimikado_maika,4,38,
+tsubaki-sama_wa_sakihokore_nai,3,38,
+trouble_witches,3,38,
+tristana_(girls_und_panzer),4,38,
+traver009,1,38,
+traptrix_rafflesia,4,38,
+transparent_horns,0,38,
+towa1,1,38,
+toukashi_(2tou9),1,38,
+torikai_hazuki,4,38,
+torazou,1,38,
+too_many_dogs,0,38,
+tono_munekage,1,38,toyatokage
+tonki,1,38,
+tomoe_gozen_(swimsuit_saber)_(second_ascension)_(fate),4,38,
+tomiya_(tomiya2117),1,38,
+tokiaki,1,38,
+tirtouga,4,38,
+tiger_panties,0,38,
+tianyu_jifeng,1,38,
+thrown,0,38,
+the_world_(tarot),0,38,
+the_cecile,1,38,
+the0neulost,1,38,
+thaumana,1,38,"erlmaiden,tacoyaki"
+thai_clothes,0,38,
+tenor_saxophone,0,38,
+ten_of_hearts,0,38,
+tempuru,1,38,hte222
+telepathic_sex,0,38,
+tazukichi,1,38,
+tatsumi_(akame_ga_kill!),4,38,
+tatiana_wisla,4,38,
+tatiana_(fire_emblem),4,38,teeta_(fire_emblem)
+tank_truck,0,38,
+tang-du,1,38,
+tanaka_nunu,1,38,nunupon0514
+tamara,1,38,
+tamano_hinagiku,4,38,
+tamago_tyoko_(ijen0703),1,38,
+tales_of_vesperia:_the_first_strike,3,38,
+taku_(fishdrive),1,38,
+takapii,1,38,
+takamaki_anne_(cosplay),0,38,
+takahashi_tetsuo,4,38,
+taiyou_(tori_no_su_studio),1,38,
+tail_garter,0,38,
+tail_concerto,3,38,
+tachibana_(tach011194),1,38,
+tachi_(mtd),1,38,
+taamo_yu,1,38,
+taachika,1,38,
+t.r,1,38,
+suzuna_takano,4,38,
+suzumura_tomo,1,38,
+suzukimadaka,1,38,
+suzuhara_misaki,4,38,
+suzako,4,38,
+sumiyao_(sumiyao_(amam)),4,38,
+sukumaraku,1,38,
+suisui_(hakkindou),1,38,
+sugoihi,1,38,
+suemizu_yuzuki,1,38,
+stutter,0,38,
+stunk,4,38,
+studio_khara,3,38,
+stragus_magus,4,38,strago_magus
+stone_pillar,0,38,
+starsd,1,38,
+spika_(pangya),4,38,
+soyoghi,1,38,
+soutsuki_naru,1,38,
+soumu_(kehotank),1,38,
+souma_(soumadian),1,38,zero-souma
+sorceress_sellen,4,38,
+sonosaki_kazebayashi,1,38,
+sola_(sola04),1,38,
+snowman_costume,0,38,
+smoke_ring,0,38,
+sleepfool,1,38,
+slan_(berserk),4,38,
+skidrow,1,38,
+sirius_black,4,38,
+silent_sakia,1,38,
+signalkj,1,38,
+sideswipe,4,38,
+sialeeds_falenas,4,38,
+shuri_(riri_shu),1,38,rpp_pic
+shuko_hime,4,38,
+shui_lan_er,4,38,
+shufflebox,1,38,
+shoukichi_(shony),1,38,
+short_hair_fox_girl_(mdf_an),4,38,
+shnider,1,38,
+shizuku_(game),3,38,
+shishina,1,38,
+shirosaki_rin,4,38,
+shiroimoufu,1,38,
+shiroi_ume,1,38,
+shirasagi_mayuri,4,38,
+shiranori,1,38,
+shirakino,1,38,
+shiraki_rika,4,38,
+shirakamii,1,38,
+shirakami_itsuki,4,38,
+shiou_tsuyukusa,1,38,
+shiori_series,3,38,
+shion_(shinrabanshou),4,38,
+shinsoku_ikkon_(idolmaster),0,38,shinsoku_ikkon
+shinonome86,1,38,
+shinomaru,1,38,
+shino_satoru,1,38,
+shinma_daigo,1,38,
+shimizu_kokeshi,1,38,
+shimada_(dmisx),1,38,
+shima_(niconico),4,38,
+shikube,1,38,
+shijima_kiriko,4,38,
+shiina_chizuru,4,38,
+shidoh279,1,38,
+shibugaki_matsuri,4,38,
+shibasaki_roka,4,38,
+shake_(ferit3),1,38,
+setsuka,4,38,
+serizawa_kamo_(fate),4,38,
+seri_gnsn,1,38,
+sephikowa,1,38,
+sensei_(denki-gai),4,38,
+sennin_mode,0,38,
+sencha_(coldcolor),1,38,
+selby,1,38,
+seki_(vtuber),4,38,
+seirei_(mimi_toka),1,38,
+seiken_tsukai_no_world_break,3,38,
+seabook_arno,4,38,
+scissor_seven,3,38,
+sawatari_ginbee_haruomi,4,38,sawatari_ginbei_haruomi
+satou_usuzuku,1,38,
+satou_kuroon,1,38,
+satori0121,1,38,
+sasorichamaru,1,38,
+sasanoha_toro,1,38,
+sasaki_shounen,1,38,
+sara_scorpion,4,38,
+sanya_v._litvyak_(cosplay),0,38,
+sanada_ikki,1,38,
+san_mokmok05,1,38,
+san_(mononoke_hime)_(cosplay),0,38,
+sakurayume_kome,1,38,
+saki_(14793221),1,38,
+sakamina,1,38,
+sak1023,1,38,
+saints_row,3,38,
+sailor_chibi_moon_(cosplay),0,38,
+saikura_noushu,1,38,
+saiguuji_sachi,4,38,
+sagara1990,1,38,
+s_poi_l,1,38,
+ryuusei_date,4,38,ryusei_date
+ryuu_(breath_of_fire_i),4,38,ryu_i
+ryan_domonica,1,38,
+rune_master_(sekaiju),4,38,
+ruka_(princess_connect!),4,38,tachiarai_ruka
+rouzille,1,38,rouzille_(artist)
+rose_(dragon_crisis!),4,38,
+rope_snake,4,38,
+ronin,0,38,
+rolled_up_newspaper,0,38,
+rokumon_tengai_mon_colle_knight,3,38,
+rojiura-cat,1,38,
+robo-fortune,4,38,
+robata,1,38,
+rnkgmn,1,38,
+rita_mordio_(catgirl_waitress),4,38,
+risutan,1,38,
+ringocha_(appleteatea),1,38,
+ringoanu,1,38,
+rick_dias,4,38,
+ribeyrolles_1918,0,38,
+rg_veda,3,38,
+resha_(cosmic_break),4,38,
+reon-shi,1,38,
+reika_(iamreika),1,38,reika_(pixiv776765)
+reborns_gundam,4,38,
+rebellion_(ragnarok_online),4,38,
+re;lord_dai_san_shou,3,38,
+raven_(guilty_gear),4,38,
+raven_(artist),1,38,
+rathke,1,38,
+ranko_no_ane,1,38,
+ranger_(final_fantasy),4,38,
+rando_seru,1,38,
+rana_(vocaloid),4,38,
+ramp,0,38,
+ramon_(kof),4,38,
+rakuhei,1,38,
+rakugaki_suruhito,1,38,
+raito_(latek),1,38,
+rairaisuruyo,1,38,
+rain_(aaru),1,38,
+rae_(hexedwithluck),1,38,"amastroph,hexed"
+racing_miku_(2018),4,38,
+quelaag's_sister,4,38,
+queen_of_hearts_symbol,0,38,
+queen_complex,1,38,
+pythagora-switch,3,38,
+purumia,0,38,
+purple_tunic,0,38,
+puri_puri_prisoner,4,38,puri-puri_prisoner
+pumo_(kapuchiya),1,38,
+puchi_puri_yucie,3,38,"petite_princess_yucie,puchi_puri_yuushi"
+protagonist_(light_and_night_love),4,38,
+prinz_(chainsaw_man),4,38,
+primarch,0,38,
+prima_aspallas,4,38,
+pp:_pianissimo,3,38,
+pp-90_(girls'_frontline),4,38,pp-90_(girls_frontline)
+pp-19_(girls'_frontline),4,38,pp-19_(girls_frontline)
+power_tool,0,38,
+power_drill,0,38,
+porikeracchou,1,38,
+pokefan_cheng,1,38,
+pocche-ex,1,38,
+pm_tii_(matuko1024),1,38,
+plesiosaur,0,38,
+placenta_(sidonia_no_kishi),0,38,
+pirapirapirapira,1,38,
+pink_poison,1,38,
+pink_lipstick_tube,0,38,
+pieta,3,38,
+phinx,4,38,
+phina_(fire_emblem),4,38,feena_(fire_emblem)
+phantom_thief,0,38,
+perfect_hole,3,38,
+pencil_to_face,0,38,
+pecorine_(princess_connect!)_(cosplay),0,38,
+papaia_(quentingqoo),1,38,
+panties_under_bodysuit,0,38,
+panther_boy,0,38,
+pandy_(geistbox),4,38,
+pamiat_merkuria_(sweet_cherry_memories)_(azur_lane),4,38,
+paffel,4,38,
+padded_walls,0,38,
+pacha_(pachastuff),1,38,
+ouken,4,38,
+otsukimi_recital_(vocaloid),3,38,
+osage_gankyou,1,38,
+orkz,4,38,
+origami_yukari,4,38,
+orie_mishiro,4,38,
+orico,1,38,
+ophelia,4,38,
+operating_table,0,38,
+opengear,1,38,opungia
+ootsuka_you,1,38,kurono_(nagato-to)
+ootani_yuri,4,38,
+ooshiro_youkou,1,38,
+onigawara_rin,4,38,
+onegai!_ranking,3,38,
+on_ball,0,38,
+okina_(805197),1,38,
+okamoto_manami,4,38,
+okada_haruna,4,38,
+oimo_0imo,1,38,
+oi_ke,1,38,
+ohagi,1,38,
+ogata_hiro,1,38,
+ochanomizu_doggu,1,38,
+occult_soda,1,38,
+obligation_chocolate,0,38,
+object_on_bulge,0,38,
+nyako_(idolmaster),4,38,
+nyakkuru,1,38,
+nyahpa20,1,38,
+numera_goomy,1,38,
+numakura_manami,4,38,
+nt50,1,38,
+noyama_(noyama8888),1,38,
+novel_(object),0,38,
+nose_tape,0,38,
+northeast_mountain,1,38,
+nonokuro,1,38,
+nonddu,1,38,
+nona_(yeun),4,38,
+nokuran,1,38,
+nokia_(harusion),1,38,
+noe_8ban,1,38,
+no_control,1,38,
+nitoro-star,1,38,nitoro-star_(pixiv)
+nishimura_nanami,4,38,
+nishikawa_eito,1,38,eito_nishikawa
+nishihama_middle_school_uniform,0,38,
+nisei_muramasa,4,38,nidaime_muramasa
+niounomiya_izumu,4,38,
+nina_dragnot,4,38,
+nillin,1,38,
+nil,1,38,
+nijino_saki,4,38,
+nijie,3,38,
+nihoshi_(bipedal_s),1,38,
+nicoco,1,38,
+nia_(littlestars),1,38,
+neytharone_(drill_(emilio)),4,38,
+nevercrymoon,1,38,
+nerisuke,1,38,
+neosnim,1,38,
+nene_(oda_nobuna_no_yabou),4,38,
+nemeko,1,38,
+nekoyanagi_(azelsynn),1,38,
+nekoya_minamo,1,38,
+nekomitei,1,38,
+nekokokazuma,1,38,
+nekoemonn,1,38,
+negurie,1,38,
+necrosmos,1,38,necronemesis
+necromorph,0,38,
+necoring862,1,38,
+necojishi,1,38,
+ndo2,1,38,
+nayutarou_(nyt_kag),1,38,nyt_kag
+natsume_(iravati-4u),1,38,
+natsuki_yoru,1,38,haruno46rain
+natsuki_straight,1,38,
+natsuki_nori,1,38,
+natsuki_mitsu,1,38,
+natsuki-chan_(natsuki_teru),4,38,
+natora_einus,4,38,
+nanora,1,38,
+nanoningen_(anapoko),1,38,
+nanashi_(shin_megami_tensei_iv_final),4,38,
+nanasaki,1,38,
+nanairo,1,38,
+nanahoshi_kou,1,38,
+nakazawa_minori,4,38,
+nakano_futaba,1,38,
+nakai_(zabuton_makura),1,38,
+naguy_(nagui),1,38,
+nagi_ria,1,38,nagi_lria
+nagi_(watamote),4,38,
+nagatu_usagi,1,38,
+nadia_la_arwall_(cosplay),0,38,
+nachi_(aoki_hagane_no_arpeggio),4,38,
+nabuta375,1,38,
+nabatame_hitomi,4,38,
+myouga,1,38,
+mutual_impregnation,0,38,
+mutsu_(gintama),4,38,
+mushoku_loli,1,38,
+mumumu_(ahomoidasuyo),1,38,
+mugicho_(kdks5554),1,38,
+mugiccha2,1,38,
+mugen_kageno,1,38,kageno_96
+mudrock_colossus_(arknights),4,38,
+mucchan,4,38,
+mrxinom,1,38,
+mr-poritan,1,38,
+mp41_(girls'_frontline),4,38,
+mousou_dairinin,3,38,paranoia_agent
+mouse_hair_ornament,0,38,
+moopiekun,1,38,
+moonlaw,1,38,
+mononofu_~shirayuri_kassen_maihime~,3,38,
+monita_(matataku),4,38,matata-cat
+monio,1,38,
+monini,1,38,
+mondoart1,1,38,
+momin,1,38,
+mokusa,1,38,
+mohei,1,38,mohei_fly
+mogami_rio,1,38,
+mogami_(azur_lane),4,38,
+mochi547,1,38,
+mocchiri_oyaji,1,38,
+mobuko_(akita_komachi),1,38,
+mmm3sushi,1,38,
+mizutsune,4,38,
+miyuki_(yxbt7),1,38,
+miyan_(oceanmaiden),1,38,
+miyake_achi,1,38,
+miyabi_(miyabi),1,38,
+mitsuki_tayura,1,38,
+mitsuha_(kentairui),4,38,
+mito_(sao),4,38,
+misu_(miisuuu),1,38,
+missile_(ghost_trick),4,38,
+misonikomiii,1,38,
+mismatched_horns,0,38,
+mishima_ryo,1,38,
+misfit_funny,1,38,
+misaki_(chess08),1,38,
+mirun_(funimani),1,38,
+miracle_hoshi,1,38,mirakuru
+minnie_mouse_(cosplay),0,38,
+minnie_may_hopkins,4,38,
+minazuki_kashou,4,38,
+minato_(mntnm),1,38,
+minami_(niiya),4,38,
+milky_tea,1,38,
+mikisato,1,38,
+mikawaya,1,38,
+mikagura_seisa,4,38,
+mii_aki,1,38,
+michiko_malandro,4,38,
+michael_myers,4,38,
+mhs,1,38,
+meumiharagane,1,38,
+mesme,1,38,
+mercury_xeno,1,38,
+meloetta_(pirouette),4,38,
+megurimu,1,38,jet-waltz
+megatron_(idw),4,38,
+mega_man_x1,3,38,rockman_x1
+meeeeeeco359,1,38,
+medi_gun,0,38,medigun
+meddy.exe_(mega_man),4,38,medi
+mechanical_bull,0,38,
+maxgonta,1,38,spgonta
+matsuoka_chie,4,38,
+matsumoto_mifuyu,4,38,mifuyu_(k-on!)
+matatabi_(flower),0,38,
+master_sgt_mine,1,38,
+masquerade_channel,3,38,
+mashiro_rima,4,38,
+masaki_shino,1,38,
+maru-yu_(kancolle)_(cosplay),0,38,
+marshal_(animal_crossing),4,38,
+mario_party,3,38,
+marin_(ragnarok_online),4,38,
+marie_rudel,4,38,
+margaret_(rune_factory),4,38,
+maple_syrup,0,38,
+maomao_(kusuriya_no_hitorigoto),4,38,
+mao_(shining_tears),4,38,
+mamorunokoto,1,38,manuke0726
+mamima,1,38,
+male_pregnancy,0,38,pregnancy_(male)
+male_futanari,0,38,
+makita_(homosapiensu),1,38,
+makishima_yumi,4,38,
+makino_(sinobusan),1,38,
+makai_wars,3,38,
+makai_senki_disgaea_6,3,38,disgaea_6
+maikeru_(dk_maikel),1,38,
+mahou_shoujo_ikusei_keikaku_aces,3,38,
+magic_research,0,38,
+maetenkan,0,38,
+madeleine_(fantasista_doll),4,38,
+m_onna_senka,3,38,
+m-eine,1,38,
+m-eiji,1,38,
+lynx_ears,0,38,
+lycoris_challenge_(meme),0,38,lycoris_challenge
+lucy_loud,4,38,
+lucy_kaneshiro,4,38,
+luci_ole,1,38,
+"lu""",1,38,
+lower_(vocaloid),3,38,
+louis_lloyd-judson,1,38,louistrations
+lorum_piercing,0,38,
+loporrit,4,38,
+loly_aivirrne,4,38,
+loli_hooker,1,38,
+lola_(pangya),4,38,
+loki_(danmachi),4,38,
+loiza,1,38,
+lloyd_(mother),4,38,loid
+liveactors,1,38,
+liskarm_(overload)_(arknights),4,38,
+lip_(panel_de_pon),4,38,
+lion_hood,0,38,
+lint_roller,0,38,
+ling_si,1,38,
+ling_s,1,38,
+lilium0235,1,38,
+liberty_manurung,1,38,
+leska_(arara_cafe_au_lait),4,38,
+ledgem_(rhapsody),4,38,
+lattice_mast,0,38,
+latex_corset,0,38,
+lariat,0,38,
+lady_(pokemon),4,38,
+laaaicha,1,38,
+l4wless,1,38,
+kyou_kara_maou!,3,38,kyou_kara_maou
+kyo_kaneko,4,38,
+kymp,1,38,
+kyara_akaro,4,38,
+kuwahara_hazuki,4,38,
+kusuda_aina,4,38,
+kushiya_inaho,4,38,
+kusakabe_asako,4,38,
+kusaka_maichi,1,38,xsaka_mighty
+kurokoshou_(spicyland),1,38,
+kurohebi,4,38,
+kuroda_hikari,4,38,
+kureha_(sound_voltex),4,38,
+kurano_yae,4,38,
+kuragehime,3,38,princess_jellyfish
+kuonji_shizuka,4,38,
+kunieda_(miniaturegarden),1,38,
+kumaneko_(kumaneko1138),1,38,
+kukuchi_heisuke,4,38,
+krulcifer_einfolk,4,38,
+kroos_(the_mag)_(arknights),4,38,
+kronya_(fire_emblem),4,38,
+kozukata_yuuri,4,38,
+koyuki_(2smj),1,38,
+koyama_sousuke,1,38,
+kowai_(iamkowai),1,38,iamkowai_(artist)
+kouzaku_mitori,4,38,
+koutetsu_jeeg,3,38,steel_jeeg
+kouda_kouji,4,38,
+kotobuki_shiiko,4,38,
+korokoro,4,38,
+kooriyama_ichirou,1,38,
+konpasu,1,38,
+konatsu_hare,1,38,
+kome-kome_(precure),4,38,
+kokurikozaka_kara,3,38,from_up_on_poppy_hill
+kohigashi_hitona,4,38,
+kohei_nakaya,1,38,
+koa_(koh_a),1,38,"akatsuki_(koh),redplus"
+kiyochii,1,38,
+kitakubu_katsudou_kiroku,3,38,chronicles_of_the_going_home_club
+kishibe_(young)_(chainsaw_man),4,38,
+kiririn,1,38,
+kirikawa_ikumu,1,38,
+kiri_(trouble_spirit),4,38,
+kiran_(fire_emblem)_(female),4,38,
+kinubari_nerune,1,38,
+kintaros,4,38,
+kinosaki_reisui,1,38,
+kingyo_114,1,38,
+king_(ougon_kingyo-bachi),1,38,
+kim_yoon_(gondom),4,38,
+kim_nag-seo,1,38,
+kill_la_kill_final_episode_scissor_blade_relay_(meme),0,38,
+kikuko_(kazu),4,38,
+kikou-kai_galient,3,38,panzer_world_galient
+kikino,1,38,
+kijiyama_north_high_school,0,38,
+kid_cobra,4,38,
+khnchak,1,38,
+key_the_metal_idol,3,38,
+kesha,1,38,
+keller_enasa,4,38,
+kei_(keiuu),1,38,keiuu
+kei_(keiclear),1,38,
+kei1115,1,38,
+keele_zeibel,4,38,
+kayaba_ka-1,0,38,
+kawosu_shikou,1,38,
+katori_rea,4,38,
+katee,1,38,
+kataochi_chuuko,4,38,
+kasukabe_you,4,38,
+kasei_yukimitsu,1,38,
+kasakuri,1,38,
+karyl_(princess)_(princess_connect!),4,38,
+karteira,4,38,
+kariza,1,38,
+kari-kenji,4,38,
+karanashi_mari,1,38,
+kanrobi,1,38,
+kanou_ayumi,1,38,
+kannagi_miyabi,4,38,
+kanikama_(character),4,38,
+kani_(kaniya),1,38,
+kangaruu_(momotk1109),1,38,
+kangaroo_girl,0,38,
+kanchigai,1,38,
+kamiya_yukihiro,4,38,
+kamiya_(amamiko),1,38,
+kamen_rider_knight,4,38,
+kamala_khan,4,38,
+kamaboko_(milky_holmes),4,38,
+kalista,4,38,
+kaiven,1,38,
+kairoushu_(dones01127),1,38,
+kagura_(prism_ark),4,38,
+kagemitsu_g4,0,38,
+kagaya_(oshiriudon),1,38,
+kagari_shuusei,4,38,
+kagamine_len_no_bousou_(vocaloid),3,38,
+kaga_(aircraft_carrier),0,38,
+kadoya_tsukasa,4,38,
+kadomaru_misa,4,38,
+k-rumi,1,38,
+justin_bailey,4,38,
+juse_rino,4,38,
+junko_(touhou)_(cosplay),0,38,
+jungtong,1,38,jscu
+junako,1,38,
+jun_jun,1,38,
+jokerpang,1,38,
+joker.z,1,38,
+johnson_ting,1,38,
+joel_(the_last_of_us),4,38,
+jiseki,1,38,
+jinsai_sa_sa,1,38,
+jin_yun,1,38,jinyunrex-shoucandamowang
+jijing_zishui,1,38,
+jay_phenrix,1,38,
+janoukyo19,1,38,
+jang_won,1,38,
+izana_minagi,1,38,
+iyo_(fate),4,38,
+ixpellia,4,38,
+iwatobi-chan,4,38,
+iwato1712,1,38,
+iwami_sayaka,4,38,
+itsu_(artist),1,38,shiraichi3vd
+itou_souichi,1,38,
+itoshiki_mikoto,4,38,
+italian_wolf_(kemono_friends),4,38,
+isis_(ragnarok_online),4,38,
+ishtar_(formal_dress)_(fate),4,38,
+ishikawa_fumi,1,38,
+ishii_(isuwie),1,38,
+iscan_(pokemon),4,38,susuki_(pokemon)
+isabelle_du_monceau_de_bergendal,4,38,
+iro_(waterloafer),1,38,
+irisrey,1,38,
+iris_(fall_2022)_(pokemon),4,38,
+irino,1,38,
+io-catalyst,1,38,
+inuinuo_gataken,1,38,
+inugami_korone_(cosplay),0,38,
+intercom,0,38,
+ink_(ink01_),1,38,
+ink.,1,38,
+inflating,0,38,
+inconvenient_ass,0,38,
+inago,1,38,
+in_jar,0,38,
+imouto_no_katachi,3,38,
+imminent_vore,0,38,
+imageboard,0,38,
+illumination,0,38,
+ikoma_tatsuhito,4,38,
+ikoan,1,38,
+igau,1,38,
+iga_oboro,4,38,
+icon_315,1,38,
+icon_(sugarless_yogurt),1,38,
+ichinose_kazuki,4,38,
+ichika_(blue_archive),4,38,
+ichi/mine,1,38,
+ibuki_sakura_(sgw_v07),1,38,
+ibuki_imina,4,38,
+hyakujuu-ou_golion,3,38,
+hwayoung,1,38,
+hurin_raika,1,38,
+hovercraft,0,38,
+houshou_(kancolle)_(cosplay),0,38,
+hot_dog_bun,0,38,
+hosoinogarou,1,38,
+hoshino_sora,1,38,
+hoshihara_hikaru,4,38,
+hosekisho_richard-shi_no_nazo_kantei,3,38,the_case_files_of_jeweler_richard
+hori_hiroaki,1,38,
+honey_trap_(hero-san_to_moto_onna_kanbu-san),4,38,
+hone_shoukan,1,38,
+hondarai,1,38,
+hona_(pixiv7939518),1,38,
+holy_mami,4,38,tomoe_mami_(holy)
+hollyyn,1,38,
+holes,0,38,
+holding_organ,0,38,
+hm_mono,1,38,
+hitsujin,1,38,
+hitomebore,3,38,
+hitokoe,1,38,
+hirasawa_yui_(cosplay),0,38,
+hinata_yume,4,38,
+hinapo,1,38,
+hin,1,38,
+hiko_(lg612),1,38,
+hikawa_maria,4,38,
+hiisu_(s-1104-d),1,38,
+hiiragi_natsume,1,38,
+higurashi_akane,4,38,
+high_braid,0,38,
+higanbana_(onmyoji),4,38,
+hiepita97,1,38,
+hidarikata,1,38,
+hhy,1,38,hny_(40292028)
+herishop,1,38,
+help,0,38,
+heizou_(hezo3361),1,38,
+hei_meiling,4,38,
+hedgehog_girl_(yukimoto_shuuji_(gurigura)),4,38,
+heartki,1,38,
+heart_bubbles,0,38,
+hayata_aya,1,38,
+hayami_rasenjin,1,38,
+hatoya_hato,1,38,
+hata_(pixiv4102938),1,38,
+hasbro,3,38,
+haruta_(user_dndp3458),1,38,
+haru_(yomawari),4,38,
+haru_(inuarashi),4,38,
+hanzawa821,1,38,
+hankachi_(okayama012),1,38,
+hanasaki_akane,4,38,
+hanasaka_yui,4,38,
+hanada_no_kiwami,1,38,hanachan_(artist)
+hanabusaraleigh,1,38,
+hana_azuki,1,38,
+hamu_fukurou,1,38,
+hachikoo_(astatine),1,38,come_x_85
+hachi_(gaoo),1,38,
+gurantsu,1,38,
+gunslinger_(granblue_fantasy),4,38,
+gundam_gp-01_zephyranthes,4,38,
+guilhermerm,1,38,
+guardias,1,38,
+guanghe_zuoyong_de_de_yezi,1,38,
+guan_hat,0,38,
+griddle,0,38,
+grey_leggings,0,38,
+great_magami,1,38,
+grass_wonder_(saint_jade_healer)_(umamusume),4,38,
+graphic_equalizer,0,38,
+grand_blue,3,38,
+gracehoo,1,38,
+gotou_matabei,4,38,
+gorakujin,1,38,
+goose_(untitled_goose_game),4,38,
+gon_(hoozuki_no_reitetsu),4,38,
+goke_shike_(altamira05),1,38,
+gogot,1,38,
+glorybringer_(granblue_fantasy)_(cosplay),0,38,
+ginga_tetsudou_no_yoru,3,38,night_on_the_galactic_railroad
+giant_squid,0,38,
+gesundheit_(artist),1,38,
+genzou_(me_genzo),1,38,
+gentiana,4,38,
+gazef_stronoff,4,38,
+gatling033,1,38,
+gari_gari-kun,0,38,
+gargoyle_(nadia),4,38,
+gamma_(inazuma_eleven),4,38,
+gambit,4,38,
+gakuko,4,38,
+gaida,1,38,
+gaden,1,38,
+gabu_kichi,1,38,
+gaak11977,1,38,
+g_ig98,1,38,
+fyuria_(agarest_senki),4,38,
+fuse_midori,4,38,
+furiae,4,38,
+fur_armlet,0,38,
+funkid,1,38,
+funbolt,1,38,
+fukudori,1,38,
+fukami_nana,4,38,
+fukabori_sumiyo,4,38,
+fujinomiya_rio,1,38,fujinomiya_reicho
+fujieda_hiro,1,38,
+fuji_(rua-258),1,38,
+fuguriya,3,38,
+fuchsia,1,38,
+fubuki_(pekesan),1,38,
+fu_shun_(azur_lane),4,38,
+frostce,1,38,
+friedrich_der_grosse_(zeremonie_of_the_cradle)_(azur_lane),4,38,
+freudian_slip,0,38,
+frederica_greenhill,4,38,
+fortress_(nanoha),4,38,
+forehead_writing,0,38,
+food-themed_creature,0,38,
+fleur_blanc,4,38,
+flare_earlgrande_gioral,4,38,
+five-seven_(adventures_of_fenfen)_(girls'_frontline),4,38,
+fim-92_stinger,0,38,
+figure_stage,0,38,
+fidough,4,38,
+festa!!_hyper_girls_pop,3,38,
+fen_fen_fen_fen,1,38,
+faux_text,0,38,
+famas_(girls'_frontline),4,38,famas_(girls_frontline)
+falke_(street_fighter),4,38,
+falco_grice,4,38,
+fairy_knight_tristan_(third_ascension)_(fate),4,38,
+eydis_(sao),4,38,edith_(sao)
+even_(even_yiwen),1,38,even_(17245601)
+eve_(nier_automata),4,38,
+eve_(kenzen),1,38,
+eve_(2nas)_(elsword),4,38,
+euden,4,38,
+etorofu_(kancolle)_(cosplay),0,38,
+eterno,1,38,
+etchi_inoha_sukidesuka,1,38,
+etceteraart,1,38,
+esythqua,1,38,
+estus_flask,0,38,
+erythroblast_(hataraku_saibou),4,38,
+ero-god,1,38,
+ermuzibu,1,38,nikigo_nuno
+eriyama,1,38,
+erica_(acerailgun),4,38,
+ergouzi_echo,1,38,
+enomoto_yuiko,4,38,
+enico,1,38,yinyu_(nico)
+encanto,3,38,
+emura_subaru,4,38,
+emupii_maid_promotion_master,3,38,
+emu_(trigger),1,38,
+emptycicada,1,38,
+emanuella_porlallora,4,38,"emanuela_pollarola,emanuela_porelora,emi_(henneko)"
+ema_(shirotsume_souwa),4,38,
+elflorri,1,38,
+elemental_hero_neos,4,38,
+elee0228,1,38,
+electric_flower,1,38,
+ekubo_(ciaobero),1,38,
+efu,1,38,
+eencya,1,38,
+edward_kenway,4,38,
+ediblepanda,1,38,jomo_(haccapan)
+eden_(shiroki_yuutsu),1,38,
+edelgard_(isekai_maou),4,38,
+edchi,1,38,
+eco_(petticoat),1,38,
+eba_rin,4,38,
+earl_grey_(girls_und_panzer),4,38,
+dynasty_ahri,4,38,
+dvdraw,1,38,
+dum_sticky_note,0,38,
+du_yaoye_(arknights),4,38,du_(arknights)
+dragonith,1,38,
+draco_(monster_musume),4,38,
+doya,1,38,
+dousunnen,1,38,
+double_bikini,0,38,
+dot_heit,1,38,
+doroti.,1,38,
+dorei_k,1,38,
+donoteat,1,38,
+dongdong_(0206qwerty),1,38,0206qwerty
+domino's_pizza,3,38,
+dodoss_dont,1,38,
+dj_sakura,4,38,
+dipping,0,38,
+dierbeibanjia,1,38,
+di_yi_xing_zian,1,38,
+dhomochevsky,4,38,
+devout,4,38,
+detonator_orgun,3,38,
+derrick_berg,4,38,
+deni_m,1,38,
+debris_(game),3,38,
+deathwing,4,38,
+daweykun,1,38,
+darklux,1,38,
+dancouga,4,38,
+dakushido,1,38,
+daison,1,38,
+daifukumochi_(qquuiieett),1,38,
+cutie_honey_(character)_(cosplay),0,38,
+curry_bread,0,38,
+cure_pine_(cosplay),0,38,
+csi,3,38,
+cryptid,0,38,
+cray_(breath_of_fire),4,38,
+cracking_egg,0,38,
+cp2980606,1,38,
+cozie178,1,38,
+corona_(brand),3,38,
+corki,4,38,
+copy_x_(mega_man),4,38,copy_x
+conte_ryuu,1,38,cnt_ryu
+comet_(comet-san),4,38,
+code:_ultimate_(elsword),4,38,
+cocoa_fuumi,1,38,
+clyde_donovan,4,38,
+clutter,0,38,
+clover_days,3,38,
+clone_trooper,0,38,
+clickdraws,1,38,
+clearfile,1,38,
+clause,4,38,
+clark_(159123),1,38,misaki159123
+city_below,0,38,
+cinderella_(grimm)_(cosplay),0,38,
+churio,4,38,
+chung1000,1,38,
+chu_chu_(xenogears),4,38,
+chocomoch,1,38,
+chiyo_(genshin_impact),4,38,mikoshi_chiyo
+chinchilla_(animal),0,38,
+chikuwabuta,1,38,
+cheerio,1,38,
+chaki-yam,1,38,
+chae_ara,4,38,
+chaakusu,1,38,
+catocala,1,38,aksman
+catch,0,38,
+carla_yeager,4,38,
+cardinal_armand,4,38,
+caracorn,1,38,
+cala_maria_(cuphead),4,38,
+butterfly_hat_ornament,0,38,
+bute_(butegram),1,38,
+bunsen_burner,0,38,
+bungou_to_alchemist,3,38,
+bukatsu_kikaku,3,38,
+broken_teeth,0,38,
+broken_finger,0,38,
+boyfriend_(houkago_play),4,38,
+bouto_(paranoia),1,38,
+bonten_karasu,1,38,
+bonesaw,0,38,
+boku_(isizakitakasi),1,38,
+bob_ross,4,38,
+blue_track_suit,0,38,
+blue_pussy,0,38,
+blue_garter_straps,0,38,
+blue_curtain,0,38,
+blowtorch,0,38,
+bloated,0,38,
+blanchat,1,38,buranchatto
+blade_of_the_immortal,3,38,
+bismarcho,1,38,
+bisco_(letitbleed),1,38,
+bird_type_girl_system,3,38,
+binu_(nadenade),1,38,lv.p
+binding_blade_(weapon),0,38,
+binbinsuke,1,38,
+binah_(project_moon),4,38,
+billbine,4,38,
+bigegg,1,38,
+berotore,1,38,
+beatus_creation,3,38,
+beat_(trusty_bell),4,38,
+bburi,1,38,morin24115
+bbaltong,1,38,
+bazelgeuse,4,38,
+barokkusu,1,38,
+banana_batter,1,38,
+bam_(s2leona),1,38,bam_(artist)
+balloon_vine_(flower_knight_girl),4,38,
+bai_xiao,4,38,
+bad_multiple_views,0,38,
+babamba,1,38,
+azu_(azu401),1,38,
+ayumi_(x-blades),4,38,
+ayomo_ro,1,38,
+ayatsuri-doll,1,38,
+aya_(star),1,38,
+aug_para_(girls'_frontline),4,38,
+auditorium,0,38,
+ataru_(ataru_squall),1,38,
+asuma_shin,1,38,
+astrid_hofferson,4,38,
+ascot_removed,0,38,
+ascot_(rayearth),4,38,
+asami_you,1,38,
+asakura_nanao,4,38,
+asakura_hao,4,38,
+asakou_(n_morninglight),1,38,
+asakaze_risa,4,38,
+art_itou,1,38,itou_(iaskofthee-artthoumankind)
+arriet_(shingeki_no_bahamut),4,38,henriette_(shingeki_no_bahamut)
+armais_(me-chan337),1,38,
+arisawa_masaharu,1,38,
+arino_ayarei,1,38,
+arhoangel,1,38,
+ares_(fire_emblem),4,38,aless_(fire_emblem)
+arena_of_valor,3,38,"realm_of_valor,strike_of_kings"
+arashiyama_sayoko,4,38,
+arare_mochiko,1,38,
+arado_balanga,4,38,
+aquarium_tunnel,0,38,
+aper,1,38,
+apapico,1,38,
+aoba_chise,4,38,
+anzu_yotsuba,1,38,
+anyotete,1,38,
+anxflower,1,38,
+anotherxalice,3,38,
+anna_(girls'_frontline),4,38,
+anji_lanuo,1,38,lv1021787418
+animal_earmuffs,0,38,
+angruoxin,1,38,
+angela_balzac_(cosplay),0,38,
+angel_(kof)_(cosplay),0,38,
+anchoku_0621,1,38,
+amy26,1,38,
+amiyakinyu,1,38,
+amiko_(frostedchocolate),1,38,
+amejaga,1,38,
+amaya_yuu,1,38,
+amano_kokoko,1,38,
+amane_(amnk1213),1,38,
+amamami_prime,1,38,
+amai_shuga,4,38,
+amahira,1,38,
+amage_kanade,1,38,
+alto168,1,38,
+alto,3,38,
+alice_garnet_nakata,4,38,
+alice-type_underwear,0,38,
+alfred_(bloodborne),4,38,
+alcremie_(love_sweet),4,38,
+alchemist,0,38,
+alannoran,1,38,
+akuama,1,38,
+akira-tama,1,38,
+akimegu_m,1,38,
+akiba's_trip_the_animation,3,38,
+akechi_(826988799),1,38,akechin
+akatuti,1,38,
+akatsuki_nagisa,4,38,
+akatsuki_akira,1,38,
+akasha_terminal,0,38,
+aize,1,38,
+airi_(queen's_blade_unlimited),4,38,
+aine_(haibane),1,38,
+aile_strike_gundam,4,38,
+ahira_yuzu,1,38,
+ahase_hino,1,38,
+adictreader,1,38,
+ada_badguy,1,38,
+achmad_faisal,1,38,
+a-king,1,38,
+99aj,1,38,
+53,1,38,
+1860_(ichi),1,38,
+156m,1,38,
+110_gou,1,38,
+103mol/l,1,38,
+0v0_(l_seohui),1,38,._(user_skvv5757)
+zzzearly,1,37,
+zooya,1,37,hinako_zooya
+ziyue,1,37,user_mcex2738
+zhi_(yammycheese),1,37,
+zhao_190,1,37,
+zeradok,1,37,
+zeppeki_shoujo,1,37,
+zenith_greyrat,4,37,
+zed_(wild_arms),4,37,
+zarik_kajiwara,4,37,dingo_(expelled_from_paradise)
+z24_(azur_lane),4,37,
+z-chan,4,37,
+yuzuki_karin,1,37,
+yuzu_(kimagure_kankitsurui),1,37,
+yuuuun0218,1,37,on_(ugammishyoura)
+yuusha-chan_(gassaku_no_hito),1,37,
+yuuki_(snowhouse),1,37,
+yuuichi_katou,1,37,ko-tan
+yuugure,1,37,
+yuu_(hi_lite),1,37,
+yutsu,1,37,
+yurigera_8959,1,37,
+yurayura,1,37,
+yunohara_izumi,4,37,
+yuni_0205,1,37,
+yumiyokiak,1,37,
+yulia_valkova,4,37,
+yuitsuki1206,1,37,
+yuichiitan,1,37,
+yui_(spica),1,37,
+yugeoryouki,1,37,
+yu_416416,1,37,
+youzen,4,37,
+youu_(midgard),1,37,
+yousuke_(yosk),1,37,
+yosu,1,37,
+yossyzero,1,37,
+yoshimura_masato,1,37,
+yoshiikirablr,1,37,
+yoshihiro_(yoshihiro12190),1,37,
+yoshidaworks,1,37,
+yoshida_haru,4,37,
+yoriha_yashiro,1,37,
+yonagi_kei,4,37,
+yona_(edenkasuga),1,37,
+yo-suke,1,37,
+yn1982,1,37,
+yi_zhi_ai_xi,1,37,
+yi_(199702090505),1,37,
+yf-29,4,37,
+yellow_tulip,0,37,
+yayanri,1,37,
+yasubaru,1,37,
+yarr,1,37,
+yangus,4,37,
+yanagi_ryuuta,1,37,
+yamisawa,1,37,
+yamijam,1,37,
+yamato_mikoto,4,37,
+yamamoto-genryuusai_shigekuni,4,37,
+yamajun_(junyamaekaki),1,37,junyamaekaki
+yamada_(fanfantaisa),1,37,
+yaha-kui_zashunina,4,37,
+yagi_(yagiumaaai),1,37,
+yabataso,1,37,
+xintianou,1,37,
+xenon_(kona-card),1,37,
+writing_on_hand,0,37,
+wrist_belt,0,37,
+wreathlit_noel,4,37,
+wooden_deck,0,37,
+wonderful_magic_(idolmaster),0,37,wonderful_magic
+wonder_festival_2005,3,37,wf2k5
+wokashiya,1,37,
+wo_cai_bushi_zhushou,1,37,
+wizwu,1,37,
+wizarmon,4,37,
+winter_wonder_lulu,4,37,
+william.b,1,37,
+wenfei_ye,1,37,
+weighing_breasts,0,37,
+waymay,1,37,
+watashi,4,37,
+watariganikun,1,37,
+wasavi_8,1,37,
+wakaba_iro_no_quartet,3,37,
+vvv,1,37,
+vuipui,1,37,
+vostok_(vostok061),1,37,
+vlad_king_(boku_no_hero_academia),4,37,kan_sekijirou
+vincent_(hiyakuen),1,37,
+victoria_dahlgrun,4,37,
+vert_farbreton,4,37,
+veca,1,37,
+vaison,1,37,
+uto_ki_te,1,37,
+uta_(yagashiro25),1,37,
+usukawa_(uskw_sr),1,37,
+usakou,1,37,
+usagikoya,1,37,
+uro_(m369),1,37,
+ura_tomoya,1,37,
+unown_q,4,37,
+unown_!,4,37,
+unosuke,1,37,
+unohana_kotoha,4,37,
+unicorn_(warship_girls_r),4,37,
+uni_tenten,1,37,
+uni_mmtab,1,37,
+unajuu_(food),0,37,
+umi_(k_mpk),1,37,wa_(htmn0106)
+umbrella_hair_ornament,0,37,
+umapan,1,37,
+uhou_renka,3,37,
+ugetsu_(chimere/marie),1,37,
+uesugi_kenshin_(sengoku_otome),4,37,
+uchuu_sentai_kyuuranger,3,37,
+u_nagi,1,37,
+type_97_torpedo_bomber,4,37,
+twitter_verified_checkmark,0,37,
+turpentine_(pin),1,37,
+turkish_flag,0,37,
+turkey_leg,0,37,
+ttc,1,37,
+tsuutenkaku,0,37,
+tsuruko_turuta,1,37,
+tsuru_(680597),1,37,
+tsurara0128,1,37,
+tsuko_(25mnts),1,37,
+tsukimiya_sara,1,37,
+tsukihime_souka,4,37,
+tsugumi-chan_(sora),4,37,
+trouble_witches_neo,3,37,
+triple_vertical_stripe,0,37,
+triple_action_thunder,0,37,
+trench_knife,0,37,
+training_room,0,37,
+trainer_minamizaka,4,37,
+traffic_cone_on_head,0,37,
+tr_(lauralauraluara),1,37,
+touya_(roukaku),1,37,
+touya_(log_horizon),4,37,
+toumin,1,37,
+total,1,37,
+toshi_makoto,1,37,
+tororo_inniina,4,37,
+toro_tarou,1,37,
+tornadus_(incarnate),4,37,
+torn_tabard,0,37,
+toritori,1,37,
+toriko,4,37,
+toothless,4,37,
+too_much_burger,0,37,
+toniwing,1,37,
+tokyo_metropolitan_police_department,3,37,
+tokoyami_towa_(cosplay),0,37,
+tokomon,4,37,
+tobitori,1,37,
+toa_(kitakaze_setsuna),1,37,
+tmku,1,37,
+timburr,4,37,
+till_(idaten93),4,37,
+tikuwazyousyou,1,37,
+tifa_lockhart's_sporty_dress,0,37,
+thompson_(solowingfh),1,37,
+the_sun_(tarot),0,37,
+the_roma-like_snowman,4,37,
+the_path,3,37,
+the_o,4,37,
+the_legend_of_zelda:_four_swords,3,37,four_swords
+that's_your_girlfriend_(meme),0,37,
+thailand,0,37,
+tgp11s_hawkeye_(mechanical_buddy_universe),4,37,
+tettere,4,37,
+tetsumaki,1,37,unya-ta-0111
+tengai_makyou,3,37,
+tea_(kino_no_tabi),4,37,
+tauburn_(star_driver),4,37,
+tartar,4,37,
+tara_olphoros,4,37,
+tapioka,4,37,
+tao_ren,4,37,
+tanaka_jouji,4,37,
+tamakibi,1,37,
+tama_(tm_suac),1,37,
+tama_(nyan_koi),4,37,
+takiteru,1,37,
+takeshiko,1,37,
+takataka,1,37,
+takamura_masaya,1,37,
+taiger,1,37,
+tafuu_(tortafu),1,37,
+tachibanaei,1,37,
+tabletop_rpg,0,37,
+tabby_(.hack//),4,37,
+syuraime_0,1,37,
+syuntyu_katze,1,37,
+sysen,1,37,
+sylia_stingray,4,37,
+sweets_lingerie,0,37,
+swedish_uniform,0,37,
+swan_boat,0,37,
+suzuneko-rin,1,37,
+suzumoto_mayu,4,37,
+suzume_anko,1,37,
+support,0,37,
+super_karna_(fate),4,37,super_karna
+super_danganronpa_another_2,3,37,
+sumoffu,1,37,
+sumeshi,1,37,
+sukireto,1,37,
+suika_(game),3,37,
+suguharu86,1,37,
+sugeno_tomoaki,1,37,
+suframare,4,37,
+su2525,1,37,
+su-57,0,37,
+su-37,0,37,
+str11x,1,37,
+sterilesoil,1,37,
+stan_(grandblue_fantasy),4,37,
+sseli,1,37,
+squirrel_girl_(yuuhagi_(amaretto-no-natsu)),4,37,
+spy,0,37,
+sponge_cake,0,37,
+sploosh-o-matic_(splatoon),0,37,
+splash_free,0,37,
+sparseseethe,1,37,
+soxy,1,37,
+sorahoshi_kirame,4,37,
+sora_tokumo,1,37,
+sonolar,4,37,
+sonic_the_hedgehog_(2006),3,37,
+sonic_team,3,37,
+sonia_(fire_emblem),4,37,
+somwang_07,1,37,
+sodemaru_unagi,1,37,
+sobamushi_mo,1,37,
+slammo,1,37,
+skype,3,37,
+skyfiss,1,37,
+skull_ring,0,37,
+skinny_jeans,0,37,
+siska_leontyne,4,37,
+sirfy,1,37,
+sinsa_(alchemy_stars),4,37,
+single_fishnet_legwear,0,37,
+silver_(twisted_wonderland),4,37,
+siloteddy,1,37,
+siam_(meow13),1,37,
+shynee_(p&d),4,37,
+shy_(ribboneels),1,37,
+shurakrgt,1,37,
+shroomsworth_(pmd-explorers),4,37,
+shroomia,1,37,
+shoving,0,37,
+shoveling,0,37,
+shounan_no_tamasu,1,37,
+shoukin500,1,37,
+shou_(hanasakukoroni),1,37,
+shokora_momiji,1,37,
+shoko_(moccom),1,37,
+shogu_(shoguchime),1,37,
+shochiku,1,37,
+shizuku_(shinrabanshou),4,37,
+shizukagata_naginata,4,37,
+shiva_(housamo),4,37,shiva_(tokyo_houkago_summoners)
+shito_miu_(40hara),4,37,
+shirouko,4,37,
+shirokuma_cafe,3,37,
+shiro_kanae,1,37,
+shirayuri_sakuya,4,37,
+shippou_(inuyasha),4,37,
+shiony_regis,4,37,
+shiny_lips,0,37,
+shinozaki_akira,1,37,
+shino_aki,4,37,
+shinmeiji_rinn,4,37,
+shinkansen_henkei_robo_shinkalion_z,3,37,
+shinigami_bocchan_to_kuro_maid,3,37,the_duke_of_death_and_his_maid
+shinidei,1,37,
+shindou_takuto_(mixi_max_oda_nobunaga),0,37,
+shindayomon,1,37,
+shimoda-kon,1,37,
+shimeji_(fantasista_doll),4,37,
+shima_katsuki,4,37,
+shiki_no_miko,1,37,
+shii_(cocoa),1,37,
+shigatsu_shizuki,1,37,
+shiden_(t41xz),1,37,
+shibao,1,37,
+shi_er_xian,1,37,
+sherry_leblanc,4,37,
+shephira_(cert),4,37,
+shelmet,4,37,
+shared_sense,0,37,
+sharaku_koji,1,37,
+shantae_(cosplay),0,37,
+shako_(syakoba3),1,37,
+shadow_sae,4,37,
+shabon,1,37,
+sh22,1,37,
+seven_star,1,37,
+seven_colors_of_the_wind,3,37,
+seven_(sao),4,37,
+serjatronic,1,37,
+serizawa_katsumi,1,37,
+serana,4,37,
+senjitsu_musou,1,37,
+sengoku_hanafuda_kassen,3,37,
+sen-jou,1,37,
+selena_(punishing:_gray_raven),4,37,
+sekine_hajime,1,37,
+seitarou,1,37,
+seibzehn,4,37,
+secelia_dote,4,37,
+sebastians_(madoka_magica),4,37,
+seabread,1,37,
+sea_nami,1,37,sea_nami473
+scylla_(monster_girl_encyclopedia),4,37,
+scorpius_malfoy,4,37,
+scathach_skadi_(swimsuit_ruler)_(second_ascension)_(fate),4,37,
+scarlet_macaw,0,37,
+satou_sara,4,37,
+sateriasis_venomania,4,37,
+sasugano_roki,4,37,
+sasaki_kotone,4,37,
+saotome_shizuno,4,37,
+sanada_ryou,4,37,
+samidare_yui,4,37,
+samayoi,1,37,
+sakurano_mimito,4,37,
+sakuramai_(sakuramai_0525),1,37,
+sakurai_nana_(moshichi),1,37,
+sakura_yuu_(hzjy8485),1,37,
+sakura_len,4,37,
+sakura_kaede,4,37,
+sakura_futaba_(cosplay),0,37,
+saiya,1,37,
+saionji_yuri,1,37,enje_(pixiv3289887)
+sain_(fire_emblem),4,37,
+saikyou_tomomi,4,37,saikyo_tomomi
+saetusum,1,37,
+sadomochi,1,37,
+sachico66,1,37,
+sable_able_(animal_crossing),4,37,
+saberrung,1,37,
+sabano_niwatori,1,37,
+ryu-san,4,37,
+ryan_jampole,1,37,
+ruun_(abcdeffff),1,37,
+runesque,1,37,
+rukuriritea,1,37,
+rukia_(incise_soul),4,37,
+ru&pauda_(artist),1,37,
+route_66,0,37,
+rouko_(shichizai_shichifuku),1,37,
+rotom_(mow),4,37,
+rotom_(fan),4,37,
+rosumerii,1,37,
+rosaria_(to_the_church's_free_spirit)_(genshin_impact),4,37,
+rosa_(hoshino),1,37,
+rorretsim,1,37,
+roku_(ntbr_fate),1,37,
+rococo_(girl_cafe_gun),4,37,
+robin_(gift_of_wild)_(arknights),4,37,
+rna_(angel-smelter),1,37,
+river_(river_ga),1,37,river_(river15221728798)
+ritz_(h322),1,37,
+ritsu_(iqpi),1,37,
+rise_(alice_or_alice),4,37,
+rina_(hunyan),4,37,
+rin_(sen_to_chihiro_no_kamikakushi),4,37,
+rilafm345,1,37,
+rikuson,4,37,
+riku_(ukir125),1,37,rikurikuriku555
+rikko_(peso),1,37,
+ricotta_(ys),4,37,
+ribbed_hat,0,37,
+rianastia_flugel,4,37,
+revia_serge,4,37,
+remonoart,1,37,
+religion,0,37,
+redluck,4,37,
+red_liquid_(artist),1,37,
+red_innertube,0,37,
+record_jacket,0,37,
+re_cation,3,37,
+razu_(rus),1,37,
+rawan,1,37,
+raven_(notorious_teacher)_(tales),4,37,
+ravage_(transformers),4,37,
+ramiro_de_la_cruz,1,37,radprofile
+ralf,1,37,
+rainbowscreen,1,37,
+raimone26,1,37,
+raiju_(monster_girl_encyclopedia),4,37,
+racing_miku_(2017),4,37,
+rabbitbrush,1,37,
+r-ko_(rayla),1,37,
+quiss,1,37,
+qixi_cui_xing,1,37,
+qinni,1,37,
+qidai,1,37,
+qianqianjie,1,37,
+qi==qi,1,37,
+purple_male_swimwear,0,37,
+psycho_soldier,3,37,
+print_(medium),0,37,
+princess_shokora,4,37,
+primcoco,1,37,
+primal_hearts_2,3,37,
+prehensile_toes,0,37,
+pra_(prapon0904),1,37,
+portgas_d._rouge,4,37,
+pop_tab,0,37,
+poo,1,37,
+polyvora,1,37,
+pocket_mirror,3,37,
+pixelflag,1,37,
+pippin_(pippin_sol),1,37,pippin_sol
+pioxpioo,1,37,
+pinkbell,3,37,
+ping_pong_(manga),3,37,
+pina_co_lada_(gate),4,37,
+piko_han,1,37,
+pikatsu,1,37,
+pi_(math),0,37,
+phoenix_(azur_lane),4,37,
+philiera,1,37,
+phantom_rose,3,37,
+phantom_(mega_man),4,37,phantom_(rockman)
+pfle,4,37,
+peter_(miku_plus),4,37,
+persia_(rune_factory),4,37,
+penguu_(green528),1,37,
+peacoat,0,37,
+parviz_(gundam_build_divers_re:rise),4,37,
+paragus_(dragon_ball_z),4,37,
+papeapoo,1,37,
+panko_(drive_co),1,37,
+panettone_(girls_und_panzer),4,37,
+pandaun,1,37,
+paaam,1,37,
+p_no_hito,1,37,
+p00nipooni,1,37,
+ozeki_miyabi,1,37,
+oubou,1,37,
+osu!,3,37,
+origin_(fefnir_nightload),1,37,
+orange_innertube,0,37,
+open_beta_(vtuber),3,37,ryuuseigun_project
+ooyodo_(kancolle)_(cosplay),0,37,
+oohara_tetsuya,1,37,
+ooe_kanade,4,37,
+onomachi_haruka,4,37,
+onoda_sakamichi,4,37,
+onitobico,1,37,
+onene,1,37,onenechan
+omgamilla,1,37,
+olympus_(apex_legends),0,37,
+olaf_(league_of_legends),4,37,
+okome_2g2g,1,37,
+okamoto_natsuhi,4,37,
+ojamu_(kotarou),1,37,
+ohguro_mariya,1,37,
+ogu_(oguogu),1,37,ogu_(pixiv136937)
+ogata_kouji,1,37,kouji_ogata
+obobkkp,1,37,
+nuggetkouhai,1,37,harmhaunters
+nspa_(spa-jcs),1,37,
+nrmya,1,37,narumiya_(040miya)
+noran,1,37,
+nomura_kasumi,4,37,
+nomad_(housamo),4,37,nomad_(tokyo_houkago_summoners)
+noir_corne_(arknights),4,37,
+nohoho_(kakikonchi),1,37,
+nodu,1,37,
+noah_(p&d),4,37,
+nntn,1,37,
+nishino_hikoji,1,37,
+nishimiya_yuzuru,4,37,
+niradama_(nira2ratama),1,37,
+nio_altugle,4,37,
+ninon_(princess_connect!),4,37,ninon_joubert
+nill,4,37,
+nikotama_mai,4,37,
+nikori,1,37,
+niko_(silent.whitesnow),1,37,
+nights_(character),4,37,
+nick_carlyle,4,37,
+next_black,4,37,
+new_year's_eve,0,37,
+netsuke,0,37,
+nemurase_hime_kara_no_okurimono_(vocaloid),3,37,
+nemupon_(goodlucky),1,37,
+nelke_to_densetsu_no_renkinjutsushi_tachi,3,37,
+neku397,1,37,
+nekoyanagi_reo,1,37,
+nekomimimix,1,37,
+nekomicha,1,37,
+nekoma_karin,4,37,
+nekojima,1,37,
+nekojarashi_(yuuga),1,37,
+neiigal,1,37,
+necocafe_lili,1,37,
+nea_(nongta2002),1,37,
+nayuta_ggg,1,37,
+natsusemi,1,37,
+nationale_volksarmee,0,37,
+naruto_maki,1,37,
+naraku_(inuyasha),4,37,
+nappooz,1,37,
+nanjou_(sumeragimishiro),1,37,
+nang_z1,1,37,
+nanatsuki_(arca-nize),1,37,
+nanase_mizuho,1,37,
+naname_ushiro,1,37,
+namekuji_ojiichan,1,37,
+namae_hamada,1,37,
+nakoruru_(cosplay),0,37,
+nakashima_naomi,4,37,
+nakarai_keijin,4,37,
+nakamura_3sou,1,37,
+nakajima_nobuyo,4,37,
+nakahara_mai,4,37,
+nakahara_chuuya,4,37,
+naitou,4,37,
+nagisa_(maid_in_heaven),4,37,
+nagi_(xx001122),1,37,
+nagatsuki_(azur_lane),4,37,
+nagase_takeshi,1,37,
+nagainosfw,1,37,nagai_(jorgemendozaart)
+nabu_(d4ng4nn6bu12),1,37,
+nabeyaki_neko,1,37,
+na222222,1,37,
+mystic_(fft),4,37,oracle_(fft)
+mydeerwitch,1,37,
+mxwbr,1,37,
+mutsuki_hiiro,1,37,
+mushiuta,3,37,
+mushiki_k,1,37,
+murechika,1,37,
+murata_tomohide,1,37,
+munakata_reishi,4,37,
+mukuo,1,37,
+muimi_(princess_connect!),4,37,
+mugi_no_hikyaku,1,37,
+ms_anne_(erubo),4,37,
+ms06s,1,37,
+mozu_1oo,1,37,
+moyashi_koubou,1,37,
+motomiki,1,37,
+mother_superior_(diva),4,37,
+mother13fucker,1,37,
+moryo,1,37,
+monowire,0,37,
+monmonhomon,1,37,
+momotose_(hzuu_xh4),1,37,
+momotarekawa,1,37,
+momi_yuro,1,37,
+mohg_lord_of_blood,4,37,
+moeoh_ex,3,37,
+mochi730,1,37,
+mobugorilla,1,37,
+mobile_suit_gundam:_cucuruz_doan's_island,3,37,
+mizushima_serika,4,37,
+mizushima_kai,1,37,
+mizuki_haruka,1,37,
+mizuhashi_parusui,1,37,
+miyata_souji,1,37,
+miyanii_(myanie),1,37,
+miyamayomema,1,37,
+miyama_mizuki_(hoshihoshi1220),1,37,miyamav2
+miwatari_renge,1,37,
+mitsuki_hana,1,37,
+mitsui_honoka,4,37,
+mitarai_yuuna,4,37,
+mitaonsha,1,37,mitaonsya
+mitamura-kun_(landcell),1,37,
+missiles,0,37,
+mismagius_(cosplay),0,37,
+mishiyomi_kazumi,1,37,mishiyomi_kadumi
+misawa_hanei,4,37,hanepin
+misawa_daichi,4,37,bastion_misawa
+misasagi_tasuku,1,37,
+misao,3,37,
+mios1225,1,37,
+miokikoeru,1,37,
+mio1030,1,37,
+mintsu_(ichi--kun),1,37,
+minoominoomi,1,37,
+mining,0,37,
+minamoto-kun_monogatari,3,37,
+minami_kawa,1,37,
+milil,1,37,
+mikiky,1,37,
+mikanmochi,1,37,
+mifune_chihaya,4,37,
+midori_(mido0021),1,37,"ktkg_0021,mido_(mimizuku-hukuro)"
+miakiuehashi,1,37,sakaki_(sakayu123)
+mia_karnstein,4,37,
+metal_fight_beyblade,3,37,beyblade:_metal_fusion
+merc_(merc_storia),4,37,
+menou_(virgin_road),4,37,
+meiko_(vocaloid)_(cosplay),0,37,
+mei_(overwatch)_(cosplay),0,37,
+meganei,1,37,
+mdnk,1,37,
+mayonnaise_bottle,0,37,
+mayana_(bbpp),1,37,miyana_(myyo07)
+matsuo_bashou_(sengoku_collection),4,37,
+matsuhisa_(ryo-tsuda1),1,37,
+matsu_(sekaowaoneok),1,37,
+matou_sakura_(imaginary_around),4,37,imaginary_around
+matori_(penguin_batake),1,37,matori_(user_xrdk3278)
+materia_(frame_arms_girl),4,37,
+masakappa,1,37,
+marsh_badge,0,37,
+marimotencho,1,37,
+marco_diaz,4,37,
+mar-c!,1,37,marcwashere
+maon,1,37,
+manticore_(invisible_dirge)_(arknights),4,37,
+mansu_(user_pnmp4287),1,37,
+mania_street,1,37,
+mangattan,1,37,
+mandolin,0,37,
+manannan_mac_lir_(first_ascension)_(fate),4,37,
+manabe_mana,1,37,
+mamiya_miya,1,37,
+mamedanuki,1,37,
+mako_(avatar),4,37,
+makihara_izumi,4,37,
+maki_honoka,4,37,
+makaron,1,37,
+majicjiang,1,37,
+maita,1,37,
+maid_in_heaven,3,37,
+mai_dog_love,3,37,
+macartura08,1,37,flo_ni08
+maca_(macaca12),1,37,
+maa_(maa1),1,37,
+luxuriou_s,1,37,48design
+lux_arcadia,4,37,
+luvluvvox,1,37,
+lure,0,37,
+lunastra,4,37,
+lumia_waber,4,37,
+luffie,1,37,
+lu_bu,4,37,
+lser116,1,37,
+lout_of_count's_family,3,37,
+lost_property_control_organization_(samidare),3,37,
+lkdv,1,37,
+lizi_(st3648),1,37,
+living_with_hipstergirl_and_gamergirl,3,37,
+living_shadow,0,37,
+liu_bei,4,37,
+little_legend,4,37,
+lip_van_winkle,1,37,
+linked_gag,0,37,
+lillu,1,37,
+lillin,1,37,
+lilith_(megami_paradise),4,37,
+lilia_creative,1,37,
+lijupy,1,37,
+lightningstrikes,1,37,lstrikesart
+light_gun,0,37,
+lifestream,0,37,
+licking_another's_lips,0,37,
+lewis_gun,0,37,
+leopard_2,0,37,leopard_2_(tank)
+leon_(leon_the_professional),4,37,
+leeis_cool,1,37,
+leather_bag,0,37,
+le_mars_(azur_lane),4,37,
+layered_stories_zero,3,37,
+lapis_lazuline,4,37,
+landorus_(incarnate),4,37,
+lalaco_godspeed,4,37,rarako_(uchuu_patrol_luluco)
+lakenightbug,1,37,
+lace-trimmed_shorts,0,37,
+labotamochi,1,37,4423
+kyurin_(sunnydelight),1,37,
+kyu_(wein-seria),1,37,
+kyoubashi_amane,4,37,
+kyonta,1,37,
+kyle_(suikoden),4,37,
+kuzuryuu_momoko,4,37,kuzuryu_momoko
+kusanagi_kei,4,37,
+kurotani_kyoukutsu,1,37,
+kurosaki_karin,4,37,
+kuromiyagyo,1,37,
+kuroinu_momotarou,1,37,
+kuro75268,1,37,
+kuro-hero,1,37,
+kurano_mikoto,4,37,
+kunami_himehiko,1,37,
+kumanosita,1,37,kozyosita
+kumagitsune,1,37,
+kukoi,1,37,
+kubo_takako,4,37,
+koyami_tsukito,1,37,
+kowarekake_no_orgel,3,37,kowarekake_no_orgol
+kousaka_kure,1,37,
+kouba_nobu,1,37,
+kou_v05first,1,37,
+kotsuru_kari,1,37,
+kotokoto_(jumon),1,37,
+konno_rei,1,37,
+komito,1,37,
+kom_(1323736),1,37,
+kokushibou,4,37,
+kokonidarekairu,1,37,
+kokko_(kokko3045),1,37,
+koizumi_kazuaki_production,1,37,
+koizumi_chika,4,37,
+kogiso,1,37,
+kogasa-san's_sister,4,37,
+kodai_heiki,1,37,hinnyuu_aikouka
+kobayashi_jin,1,37,
+ko-ran,1,37,
+kneeichigo,1,37,
+kkato,1,37,lucidgirl
+kizuna_akari_(tsubomi),4,37,
+kiyo_(kyokyo1220),1,37,
+kitsune_kemono,1,37,
+kitamiya_genbu,1,37,
+kiso_azuki,4,37,
+kishiwada_robin,1,37,
+kishirika_kishirisu,4,37,
+kisaragi_shuuji,4,37,
+kisaragi_reona,4,37,
+kisaragi_ren_(vtuber),4,37,
+kiryuu_mina,1,37,
+kiri_toichi,1,37,
+kiri_nada,1,37,
+kiomota,1,37,
+kinose_azusa,4,37,
+kimiko_(zakusi),4,37,
+kimijima_yayoi,4,37,
+killmonger,4,37,
+kikuta_kouichi,1,37,
+kiki_kaikai,3,37,
+kieran_(fire_emblem),4,37,
+kie_(yospcd),1,37,
+kiduguch,1,37,
+kiaoekakishitai,1,37,
+ki_lllorz,1,37,
+kentarou,1,37,
+kent_(fire_emblem),4,37,
+kenki_fujioka,1,37,
+kazuki_yone,1,37,
+kazu_(really_in_hot_water_now),1,37,
+kazaharu_matsuhata,1,37,
+kayuma,1,37,
+kawaraya_koh,1,37,
+kawamura_takayasu,1,37,
+katsuki_yousuke,1,37,
+katia_(fantasista_doll),4,37,
+katheryne_(genshin_impact),4,37,
+kate-fox,1,37,
+kashino_(maid_for_mayhem)_(azur_lane),4,37,
+kasaran,1,37,
+karute,1,37,
+karasuma_kyousuke,4,37,
+kaopon,1,37,
+kanata_ryou,1,37,
+kamonohashi_(girls_und_panzer),4,37,
+kaminashi_nozomi,4,37,
+kamen_rider_saber,4,37,
+kamatori_pokari,1,37,
+kamado_tanjirou_(cosplay),0,37,
+kaiba_mokuba,4,37,mokuba_kaiba
+kadowaki_miku,1,37,
+kabi_akaru,1,37,
+k3_(dolphin_brain),1,37,
+k.pumpkin,1,37,pumpkin_king
+juumonji_kaho,4,37,
+justin_(sera_tony),1,37,
+justice_committee_club_member_(blue_archive),4,37,
+joffre_(azur_lane),4,37,
+jio_(nayutarooo),1,37,
+jichou_senshi,1,37,
+jiaxi_daze,1,37,
+ji_dan,1,37,"moe233,yue_chi"
+jhcrow3,1,37,
+jeremy_anninos,1,37,
+jean-paul,4,37,
+jawli,1,37,
+javelin_(blissful_purity)_(azur_lane),4,37,
+jason_peng,1,37,
+japan_world_cup,3,37,
+janjan_umatarou,1,37,
+jack_masser,1,37,
+iza,1,37,
+itou_chitose,4,37,
+itoi_toi,1,37,
+ito_t20a,1,37,
+isoi_haruki,4,37,
+isobe47,1,37,
+isakysaku,1,37,
+isabeau_(smt),4,37,
+iris_(sennen_sensou_aigis),4,37,
+ipev,1,37,
+inumaru_(sougen_no_marogoya),1,37,
+inui's_meltran,4,37,
+inu0831,1,37,
+intertwined_hair,0,37,
+information_sheet,0,37,
+indonesia,0,37,
+india,0,37,
+inagaki_mami,4,37,
+in-ear_earphones,0,37,
+imperfect_cell,4,37,
+ikusa_megami_(series),3,37,
+ikoma_(kabaneri),4,37,
+ikki_the_vikki,4,37,
+ikaruga_(knight's_&_magic),4,37,
+iizuka_ena,1,37,
+ii_tea,1,37,
+ihrie,4,37,
+iguana_henshuu-chou,1,37,
+icetea774,1,37,
+iberiko_(soinesitai),1,37,
+hyper_muteki_(artist),1,37,ningen_no_kuzu
+hyakkihei,4,37,
+hukutuuprunes,1,37,
+huazang,1,37,
+houkago_play_3,3,37,
+hoshinomori_chiaki,4,37,
+hoshi_wo_miru_hito,3,37,
+horo_27,1,37,
+hopebiscuit,1,37,blue_(hopebiscuit)
+hongou_shio,4,37,
+honami_takase_ambler,4,37,
+holding_tie,0,37,
+holding_pill,0,37,
+holding_on,0,37,
+holding_manga,0,37,
+hiyunagi,1,37,
+hiyaori_(hiyahiyaval),1,37,
+hits_(hitstts),1,37,
+hirata_yurisa_(ghettoyouth),4,37,
+hirata_ryou,1,37,
+hinomori_anzu,4,37,
+hino_ryuu,1,37,
+hinata_tino,1,37,
+hinano,1,37,
+hinakurukuru,1,37,
+hinagiku_lala,4,37,
+hina_saori_(himitsu),4,37,
+himerinco,1,37,
+hilary_flail,4,37,
+hijirime_laeria,4,37,
+hieihirai,1,37,
+hidejiu,1,37,
+hide_(lindalindalinda),1,37,
+hida_mari,1,37,
+henriette_(fire_emblem),4,37,
+hellsinker,3,37,
+hei_yan-m82a1,1,37,
+heart-shaped_breath,0,37,
+headcrab,4,37,
+head_removed,0,37,
+hazard_trigger,0,37,
+hayosena,1,37,
+hatski.sin,1,37,"kiiro_(1718),yople_star_man"
+hashiguchi_takashi,1,37,
+hasesese,1,37,thunderbird_(pixiv141589)
+harutimu,1,37,
+harusaruhi,4,37,
+harukawa_(itsuka-itsukaichi),1,37,
+haruka-chan_(pan_(mimi)),4,37,
+haru-chan,4,37,
+harin_0,1,37,
+hargon,4,37,
+haramin3,1,37,
+hanpen_(nijigasaki),4,37,
+hanaori_kotoha,4,37,
+hanakoizumi_an,4,37,
+hanakago,1,37,
+hanairo_heptagram,3,37,
+hanachirusato_(genshin_impact),4,37,
+hana-tamago,4,37,
+han_seol,1,37,
+halo_removed,0,37,
+hakuryuu_(slice_dice_and_serve)_(azur_lane),4,37,
+hakozaki_chika,4,37,
+haitaka,1,37,
+haibara_nanaka,4,37,
+habbitrot,1,37,
+h_(2de1flf8),1,37,
+gym_teacher,0,37,
+guunhanchi,1,37,vividyume
+gunkata,0,37,
+gundou_misuzu,4,37,
+gundam_breaker_battlogue,3,37,
+gumball_watterson,4,37,
+guee_(ebifry_teishoku),1,37,geee529
+gucchi,1,37,
+gu_jian_qi_tan,3,37,
+gtolin_chang,1,37,
+griffon_(devil_may_cry_5),4,37,
+grey_nipples,0,37,
+green_trim,0,37,
+green_hill_zone,0,37,
+green_(among_us),4,37,
+greatpengh,1,37,
+great_auk_(kemono_friends)_(carasohmi),4,37,
+gomatarou_(pixiv196136),1,37,
+gomabura,1,37,
+goma_azarasi,1,37,
+gold_collar,0,37,
+gohan_(gohanchang),1,37,
+gmanee,1,37,
+glowing_jewelry,0,37,
+gleipnir_(series),3,37,
+glan_(159cm),4,37,
+gioha,1,37,
+gina_61324,1,37,
+gigi-chan,4,37,
+ghost_girl,0,37,
+generator,0,37,
+geistbox,1,37,
+gauna_491,4,37,
+garo:vanishing_line,3,37,
+garex,1,37,
+gardnerverse,3,37,
+garbage_doll,4,37,
+gamyuu_(gamyu),1,37,
+gamukami,1,37,
+galaxea,1,37,
+galarian_weezing,4,37,
+gaia_(another_eidos),4,37,
+gabriel_(dadaist),1,37,mio_(gabriel)
+fuzino,1,37,
+fuuka,3,37,
+futaba_masumi,1,37,
+fushigi_no_gensokyo,3,37,
+furui,1,37,
+furofuki_daikon,1,37,
+furi,1,37,
+fumiomiomi,1,37,
+fulunukko,1,37,
+fukaya_rin,1,37,
+fujioka_yatsufusa,1,37,
+fujimiya,1,37,
+fuji_takanasu,1,37,
+fuchibeppu_chiyuri,4,37,
+fuchi_(0616tk),1,37,
+fubuki_(busou_shinki),4,37,
+fubuchun,4,37,
+frilled_pants,0,37,
+frenzy_(transformers),4,37,
+french_army,0,37,
+fractal,0,37,
+for_all_time,3,37,
+footjob_from_behind,0,37,
+fooring,1,37,
+fonewearl,4,37,
+flint_(mother_3),4,37,flint
+flandre_(kaibutsu_oujo),4,37,
+flame_princess,4,37,
+firewatch_(wilted_cypress)_(arknights),4,37,
+fire_dragon_(inazuma_eleven),0,37,
+filir_(ragnarok_online),4,37,
+fenrir_(vehicle),0,37,
+fengguan,0,37,
+falsetto_(suite_precure),4,37,
+falia_the_queen_of_the_mountains,4,37,
+fairy_(girls'_frontline),0,37,fairy_(girls_frontline)
+eyewon_(precure),4,37,
+exodia_the_forbidden_one,4,37,
+eximmetry,1,37,
+evileye_(overlord),4,37,
+eve_(cloud_meadow),4,37,
+evan_(cloud_meadow),4,37,
+ethan_(pokemon)_(cosplay),0,37,
+esojima_gary,1,37,
+esearu,1,37,
+ernula,4,37,
+eringya_(marl_kingdom),4,37,
+endou_tatsumi,1,37,
+enchi,1,37,
+enamiru,1,37,
+ena_(quilt),4,37,
+emmett_brown,4,37,
+emma_(pokemon),4,37,
+elvafirst,1,37,
+elocca,1,37,
+elliot_(zkstxxx),4,37,
+elbow_on_another's_shoulder,0,37,
+eijitsu,1,37,
+edward_elric's_son,4,37,
+eclair_(girls_und_panzer),4,37,
+echidna_(last_origin),4,37,
+eccentriky,1,37,
+drawcia,4,37,
+drag009,1,37,
+dosaken,1,37,
+doreking,0,37,
+dongsheng,1,37,
+domo_(domo_kizusuki),1,37,"domo_ura,tenten_raisaka"
+dola,4,37,
+dodoria,4,37,
+dodon_gadon,1,37,
+doctor_(last_origin),4,37,
+dmanya,1,37,
+dixie_kong,4,37,
+diving_board,0,37,
+dino_(reborn),4,37,
+dezuko_(dezuko_no_heya),1,37,
+deviljho_(armor),4,37,
+devil_may_cry_1,3,37,devil_may_cry_(2001)
+denpa_rasaito,1,37,
+deno_(denomina0),1,37,memetsu_(umvn4442)
+denimcatfish,1,37,kathryn_layno
+dende_(dndn222),1,37,
+den'ei_shoujo,3,37,video_girl_ai
+dededeteiu,1,37,
+dead_people,1,37,
+daughter_(bakuretsu_hunters),4,37,
+darli_dagger,4,37,
+dararito,1,37,
+daniel_fielding,1,37,
+danheng_(honkai:_star_rail),4,37,
+dance_with_devils,3,37,
+daifuku_(usagi_pie),1,37,
+daichengqi,1,37,
+dai_mahou_touge,3,37,
+dai-gurren,4,37,
+cyjalway,1,37,small_gyaku_(cyjalway)
+cut-away,0,37,
+curry_(dbt),1,37,
+cure_yum-yum,4,37,
+cure_spicy,4,37,
+cure_peach_(angel),4,37,
+cure_girl,3,37,
+cu_chulainn_(megami_tensei),4,37,
+csc00014,1,37,
+crow_(aaaaaaa068345),1,37,
+croriin,1,37,clip_(ririasu)
+crazy_(zoza),4,37,
+cracklecradle,3,37,
+covering_body,0,37,
+courtyard,0,37,
+coup_(shun_soku),4,37,
+core_gundam,4,37,
+coon,1,37,
+coney,1,37,
+comomo_(tk),4,37,
+command_and_conquer:_red_alert_2,3,37,
+columns_ke,1,37,
+coffgirl,1,37,
+code_geass:_genesic_re;code,3,37,
+cocoon_(yuming4976),1,37,
+cocon_(cocon_q),1,37,
+cloud.d,1,37,
+clothes_gagged,0,37,
+claus_lester,4,37,klarth_lester
+claudia_madobe,4,37,
+claude_faustus,4,37,
+clara_v,1,37,
+cishi_nianshao,1,37,
+ciosuii,1,37,
+cindy_moon,4,37,
+cinders,0,37,
+cika,1,37,
+choujigen_game_neptune_sisters_vs_sisters,3,37,
+chorisow_(delta_chord),1,37,
+chocoboo,0,37,
+chizu_(fiute),1,37,
+chiro_(norishiro_michiro),1,37,
+chinpo_ni_wa_katenakatta_yo,0,37,
+chilunchilun,1,37,
+chichi_chichi,1,37,
+cheat_kusushi_no_slow_life,3,37,"cheat_kushushi_no_slow_life,drugstore_in_another_world"
+chase!_(love_live!),0,37,
+chappa_(kaetodo),1,37,
+chamooi,1,37,
+chama_kou,1,37,
+chai_(vtuber),4,37,
+catharine_blitzen,4,37,
+castform_(sunny),4,37,
+carrie_fernandez,4,37,
+carmen_(persona_5),4,37,
+captain_marvelous,4,37,
+candy_island_(idolmaster),0,37,candy_island
+cana_alberona,4,37,
+cain_(granblue_fantasy),4,37,
+cagliostro_(youthful_uniform)_(granblue_fantasy),4,37,
+caesar8149,1,37,
+c-sha,4,37,
+byoukitakashi,1,37,
+byoubyou,1,37,
+bursting,0,37,
+burnt_hair,0,37,
+bunny_eyepatch,0,37,
+bumblebee_(film),3,37,
+build_burning_gundam,4,37,
+bsq,1,37,
+bristle,4,37,
+brick_st,1,37,bzzt_gcxll
+briareos_hecatonchires,4,37,
+bra_tug,0,37,
+bou_(sen_to_chihiro_no_kamikakushi),4,37,
+boomina,4,37,
+bokyo,1,37,
+body_modification,0,37,
+bob-the-bison,1,37,
+bo9_(bo9_nc),1,37,
+blz,1,37,
+blunt-katana,1,37,
+blue_veil,0,37,
+blue_light,0,37,
+blue_blindfold,0,37,
+bloomers_on_head,0,37,
+blood_on_shoes,0,37,
+blackwatch_genji,4,37,
+better_girls,3,37,
+bergmite,4,37,
+beretta_93r,0,37,
+ben-day_dots,0,37,
+belka,4,37,
+bebitera,1,37,
+beato2528,1,37,
+bbmasa,1,37,
+battle_mage_(dungeon_and_fighter),4,37,
+batten_japari_dan,0,37,
+baryan,1,37,
+barbarian_set_(zelda),0,37,
+bandaged_horns,0,37,
+bandabekken,1,37,
+baka_ouji_persia,1,37,
+bad_weibo_id,5,37,
+bacharu_(vtuber),4,37,
+b-2_spirit,0,37,
+azumaya_akira,1,37,
+azumake_(azumakei),1,37,azuma_hiryu
+azaka_(rionrita),1,37,
+az_(shotatteiiyone),1,37,
+ayumi_tooru,1,37,
+ayarin103,1,37,
+ayanami_(grade_a_sailor_uniform)_(azur_lane),4,37,
+ayamu_(igakato),1,37,
+axleaki,1,37,
+axis_(gundam),0,37,
+aves_plumbum9,1,37,
+aurora_(last_origin),4,37,
+augma,0,37,
+atkm2,1,37,
+atianshi,1,37,
+asuka_(viper),4,37,
+astarte_(strike_the_blood),4,37,
+asskiler,1,37,
+asshimar,4,37,
+asm_ln,1,37,aisumi_ran
+ashida_ichirou,1,37,
+asha_(monster_world),4,37,
+ascoeur,4,37,asukuuru
+asakura_yuuna,4,37,
+asakura_maina,4,37,
+asai_genji,1,37,
+asahina_natsuki,4,37,
+asahi_yanagi,1,37,
+aruto_(shake_onigiri),1,37,
+arnaud_tegny,1,37,rno71
+armd,4,37,
+arin_(fanfan013),1,37,
+aria_the_avvenire,3,37,
+argentinian_flag,0,37,
+araki_hirohiko,1,37,
+araishi_maro,1,37,armr_95
+aosta_(arknights),4,37,
+aoi_usagi_(marinebluerabbit),1,37,
+aoi_mug,1,37,
+aohitsugi_samatoki,4,37,
+aogami,1,37,
+anne_(wixoss),4,37,
+angelo_sauper,4,37,
+andromeda_(p&d),4,37,
+anco_(platanity),1,37,
+amy_razor,4,37,
+ami_thompson,1,37,amithompson_h
+amawashi_miku,4,37,
+alternate_horns,0,37,
+altas,1,37,
+alolan_sandshrew,4,37,
+almohada,1,37,
+allegretto,4,37,
+alikap,1,37,arikapu_(alice_beyond)
+aleksander_nikolaevich_her,4,37,
+alatreon,4,37,
+akms,0,37,
+akishisu_(air_balance),1,37,
+akino_sayuri,4,37,
+aki_(broccoli-t),1,37,
+akatsuki_no_amaneka_to_aoi_kyojin,3,37,
+akari_(shichigatsu),4,37,
+akaname,4,37,
+akai_miho,4,37,
+akadou,1,37,
+aka_unto,1,37,
+air_kon,1,37,
+aino_osaru,1,37,
+aikei,1,37,
+aiban,1,37,
+ai_1003,1,37,
+ai_(popotan),4,37,
+ah_yoshimizu,1,37,
+agu,1,37,
+against_locker,0,37,
+afuganisu-tan,4,37,
+aemu_(august_life),1,37,
+admiral_hipper_(muse)_(azur_lane),4,37,
+acute_(vocaloid),3,37,
+acky_bright,1,37,
+acid_head,1,37,
+acha,1,37,
+a9712mob,1,37,
+a2ki,1,37,
+a-91_(girls'_frontline),4,37,
+9_(saki-ooo-kiyu),1,37,sakida_kiyu
+9150namihana,1,37,
+4st_injection,1,37,
+4b,1,37,
+3mm,1,37,
+1s44c,1,37,
+1b,1,37,
+zonsters,1,36,
+zon_nura,1,36,
+ziran_juan,1,36,
+zikryzero,1,36,
+zhiyan_li,1,36,
+zeus_(fate),4,36,zeus_(fate/grand_order)
+zepar_(megido72),4,36,
+zemzk,1,36,ggyomz
+zawashu,1,36,
+zanka_(the-only-neat),1,36,
+zandan_zero_to_na!?,1,36,
+za_yu_a,1,36,
+z2_georg_thiele_(azur_lane),4,36,
+z23_(breezy_doubles)_(azur_lane),4,36,z23_(two-man_cell_match!)_(azur_lane)
+yuumano_yuuki,1,36,
+yuuki_koutarou,1,36,duke_(kimurasun)
+yuuheisyoujyo,1,36,
+yuugai_choujuu,3,36,
+yutsuki,1,36,
+yurichi_(artist),1,36,
+yunoki_rina,4,36,
+yumingtongxue,1,36,
+yumikoyama49,1,36,
+yukiya_(shiya),1,36,
+yukishiro_reika,4,36,
+yuki_tarou,1,36,
+yuki_(ookami_kodomo),4,36,
+yugiri_princesca,4,36,
+yuezheng_longya,4,36,
+yuanmaru,1,36,
+yu_chang_(42680610),1,36,
+yu-ri_(kurione-sha),1,36,
+younomiti,1,36,
+yoshizaki_mine_(style),0,36,
+yoshino_charles,4,36,
+yoruusagi,1,36,yatoneko_illust
+yoruniyoruyoshi,1,36,
+yorha_type_a_no._2_(cosplay),0,36,
+yorei_(death0813),1,36,
+yongzhe_mei_hong,1,36,
+yone_f15,1,36,
+yomo_(rb_crr),1,36,
+yoke,0,36,
+yeonjun_park,1,36,
+yellow_kirby,1,36,
+yeh_(354162698),1,36,
+ycyc,1,36,
+yazumi_(yazzz),1,36,
+yata_misaki,4,36,
+yasaka_hitsugi,4,36,
+yaplus,1,36,
+yanwulazy,1,36,
+yanagi_fuyumi,4,36,
+yan_(situyan0303),1,36,situyan0303
+yami_shigeru,1,36,
+yamatsuki_sou,1,36,
+yamashita_bungo,1,36,
+yamanbagiri_kunihiro_(kiwame),4,36,
+yamada_gogogo,1,36,
+yakkun,1,36,
+yakisoba_spill,0,36,
+yajima_mirei,4,36,
+yaco_(nuitnotte),1,36,
+y0u0k,1,36,
+xuan_zhi_yue_ying,1,36,
+xsk_(ruanmumu),1,36,si_(ruanmumu)
+xiongshouji,1,36,ww152
+xion_(pulilulu),1,36,
+writing_on_ass,0,36,
+world_w_academy_uniform,0,36,
+workout_clothes,0,36,
+wood_man,4,36,woodman
+wing_umbrella,0,36,
+wing_diver,4,36,
+windtalker,1,36,
+wigglytuff_(pokeacc),1,36,
+white_negligee,0,36,
+white_kyurem,4,36,
+white-faced_varre,4,36,
+whirl_(transformers),4,36,
+wheat_print,0,36,
+werlosk,1,36,
+wei_ji,1,36,
+wankosukii,1,36,
+wanibuchi_emoko,4,36,
+wall-e,3,36,
+wakum,1,36,
+wakamiya_henri,4,36,
+wakaho_riku,1,36,
+waha~,0,36,
+wabaki,1,36,
+vsk-94_(christmas_eve_detective)_(girls'_frontline),4,36,
+vivid_bikini_(idolmaster),0,36,
+visual_prison,3,36,
+virtualcity-ex,1,36,
+viktor_(gensou_suikoden),4,36,
+vickyycy99,1,36,
+verity_(pokemon),4,36,
+ventriloquism,0,36,
+vegetto_(xeno),4,36,
+vasily_(run211),1,36,run211
+vanitas_no_carte,3,36,the_case_study_of_vanitas
+vacation,0,36,
+v_(govvvvw),1,36,
+v_(cyberpunk),4,36,
+uu3cm,1,36,
+uta_(xuyansong1996),1,36,
+usui_sachi,4,36,
+usami_renko_(cosplay),0,36,
+usamaru67pi,1,36,
+uricotake,1,36,
+uri-tan,4,36,
+upturned_umbrella,0,36,
+uno_(mon_chat_noir),1,36,
+umu_(phrase),0,36,
+umino_chika_(character),4,36,
+umenodo,1,36,
+ume_(driveume),1,36,
+ukrainian_text,0,36,ukrainian
+ukiukikiwi2525,1,36,
+uit-25_(kancolle),4,36,uit-25_(kantai_collection)
+uirou_(uirou1),1,36,uirou_(pixiv217485)
+ueda_kou,1,36,
+uc-lab,1,36,
+tyrunt,4,36,
+two_of_diamonds,0,36,
+turu,1,36,
+tunomon,4,36,tsunomon
+tsuzuki_maki,1,36,
+tsuru_no_ongaeshi,3,36,
+tsuneda,4,36,
+tsumikiy,1,36,
+tsukushi_(741789),1,36,
+tsukuda_akemi,4,36,
+tsujisaki,1,36,
+tsuji643163271,1,36,
+tsuchu,1,36,
+trigun_maximum,3,36,
+trico_(character),4,36,
+transparent_bikini,0,36,
+traits,0,36,
+traces,1,36,
+tousang,1,36,
+tourbox,0,36,
+touma_rui,1,36,
+tote_col,4,36,
+toromi_(samegami),4,36,
+torn_footwear,0,36,
+toramimi-senpai,4,36,
+torako_(yotsubato!),4,36,
+tooda_riko,1,36,
+too_low_salary,0,36,
+tomo_(otosuki),4,36,
+tokugawa_landine,1,36,
+tokeijikake_no_ley_line,3,36,
+togakushi_touko,4,36,
+to_love-ru_darkness:_idol_revolution,3,36,
+tirol_chocolate,0,36,
+timpani,0,36,
+tifa_lockhart's_exotic_dress,0,36,
+thoto,4,36,
+thistle_(dungeon_meshi),4,36,
+the_scarlet_devil,1,36,thescarletdevil
+the_raineman,1,36,smaragdos
+the_flash_(series),3,36,
+the_devil_(tarot),0,36,
+thanatos_eros,4,36,
+tera_(trs82341711),1,36,
+tenkyou_no_alderamin,3,36,
+tenihaba_nana,4,36,
+tekuteku_aruko,1,36,
+teke-emon,1,36,
+team_moka,1,36,
+tea_stalk,0,36,
+tatti_art,1,36,taiss14
+tatsumaki_(cosplay),0,36,
+tasuketemama,1,36,
+tao_mongarten,4,36,
+tamura-chan,1,36,
+tamago_kago,1,36,
+takuma_sakazaki,4,36,
+takezaka_tarou,1,36,
+takenaka_hideo,1,36,
+takaya_tomohide,1,36,
+takashiro_(takashiro_factory),1,36,
+takase_kou,1,36,
+takasaki_chidori,4,36,
+takarada_rikka's_mother,4,36,
+takanashi_sora_(soramyon),1,36,
+takanashi_nao,4,36,
+takamine_koyuki,4,36,
+takami_rin,4,36,
+takada_satsuki,4,36,
+taira_no_chouki,4,36,
+tachiki_(naruki),1,36,
+tabako-bon,0,36,
+ta_ma_on,1,36,
+t-hiko,1,36,
+t-65_x-wing,0,36,
+synn032,1,36,
+syatihoko,1,36,
+swatting,0,36,
+suzukaze_rin,4,36,
+sutagu,1,36,
+susu,1,36,
+sumiya_akihiro,1,36,
+sukuneko,1,36,
+sukly,1,36,sukiri
+suiua,1,36,suiu_aaa8
+suiseiseki_(cosplay),0,36,
+suiren_(flower_knight_girl),4,36,
+suigyoku_(module),0,36,
+suigi,1,36,
+su_xiao_jei,1,36,
+strong_stars_story,3,36,
+striated_caracara_(kemono_friends),4,36,
+strash,1,36,small_garbage
+stilt_house,0,36,
+stegosaurus,0,36,
+starmyu,3,36,
+starbirbz,1,36,starman_jr.
+sss_(komojinos3),1,36,
+spriggan_(last_origin),4,36,a-14b_spriggan
+spoken_dollar_sign,0,36,
+spica_parfait,4,36,
+south_(monookibako),1,36,
+souma_kira,1,36,
+soseji_(tjduswjd),1,36,
+sos_galactic_patrol,0,36,
+sooma4869,1,36,
+sonyaneko,1,36,
+sonozaki_akane,4,36,
+sonic_x,3,36,
+sonic_the_hedgehog_(film),3,36,
+sonao,1,36,
+so_korokoro,1,36,
+snowsakurachan,1,36,snowsakura_art
+sleevejob,0,36,
+skiddo,4,36,
+ski_boots,0,36,
+sivamaron,1,36,
+sister_friede,4,36,
+sin_moriyama,1,36,
+sig_sauer_p320,0,36,
+sice_(fft-0),4,36,
+shunkaku,1,36,
+shuma_(daitokei),1,36,
+shui_ran_moon,1,36,
+shrek,4,36,
+shouhou_(kancolle)_(cosplay),0,36,
+shota-kun_(shinjiro),4,36,
+shiyo_yoyoyo,1,36,
+shiva_(granblue_fantasy),4,36,
+shirt_aside,0,36,
+shirouri,1,36,
+shiromaru_illust,1,36,
+shio_(ayanepuna),4,36,
+shiny_(module),0,36,
+shinpei_(shimpay),1,36,
+shinonome_kokona,4,36,
+shinigami_no_ballad,3,36,
+shinigami_(tukiyomiikuto),1,36,
+shina_000,1,36,
+shin_megami_tensei_i,3,36,
+shin_maboroshi,1,36,
+shimogamo_yasaburou,4,36,
+shimeji_wyvern,1,36,
+shimanakao_(shimanaka_sushi),1,36,
+shimada_(simada_bu),1,36,
+shima_chizuru,4,36,
+shima6644,1,36,ryogo6644
+shikosour,1,36,
+shikishima_gangu,1,36,
+shiki_takuto,1,36,onokoro401
+shiki_karin,1,36,
+shiho_elis,4,36,
+shiemasu,1,36,
+shidomura,1,36,
+shian_(trouble_spirit),4,36,
+shi_ma86,1,36,
+shenqi_xiao_hong_zai_nali,1,36,
+shenq,1,36,
+shenhe_(genshin_impact)_(cosplay),0,36,
+sharpening,0,36,
+sharon_kreuger,4,36,
+shamrock,0,36,
+shadeofshinon,1,36,
+sex_teacher_tsuyoshi,3,36,
+seven_(11),1,36,
+seto_tinami,1,36,seto_chinami
+sergei_strelka,4,36,
+serene_(riviera),4,36,
+sera_(dds),4,36,
+seok,1,36,
+seo_hiroshi,1,36,
+senrireiri,1,36,
+senkou_tobaku,1,36,
+senin_liku,1,36,
+sen-asanagi,1,36,
+self_milking,0,36,
+sekken_kasu_barrier,1,36,
+sei_(seiryuuden),1,36,
+scorpion_(mortal_kombat),4,36,
+scorch_mark,0,36,
+schwarz_bruder,4,36,
+scheherazade_(magi),4,36,
+sayuma,1,36,
+sayasama,1,36,
+sayano_(yakob_labo),4,36,
+satsuki_miya,4,36,
+satoimo_sanda,1,36,
+sate_hatena,1,36,
+sata_anri,4,36,
+sasara_(fantasista_doll),4,36,
+sasaki_maguro,4,36,
+sasaka_yayoi,1,36,
+saria_(stronghold)_(arknights),4,36,saria_(jiancheng)_(arknights)
+sarah_kerrigan,4,36,
+sankaku_umako,1,36,
+san_mon,1,36,
+samuraichamp,1,36,
+sakuraume,1,36,
+sakurajousui_neko,1,36,
+sakurai_takahiro,4,36,
+sakurai_mikage,4,36,
+sakurai_kanade,4,36,
+sakuma_sanosuke,1,36,
+sakugan,3,36,
+sako_rk_95_(upotte!!),4,36,"sako_(upotte!!),sako_(upotte)"
+saki_(koutetsu_tenshi_kurumi),4,36,
+sakeno_rarukan,1,36,
+sakana45,1,36,
+saiki_rider,1,36,
+sachiko_(hayashi_custom),4,36,
+saber_(royal_dress)_(fate),4,36,
+sa_tsuko,1,36,
+s_nyaau,1,36,
+s_(happycolor_329),1,36,
+ryuusaki_rei,1,36,
+ryuuri_(aoithigo),1,36,
+ryuu32,1,36,
+ryutaros,4,36,
+ryudo_(grandia),4,36,
+ryairyai,1,36,
+run_sho,1,36,user_fcgs5552
+rukkhadevata_(genshin_impact),4,36,
+rui_(kimetsu_no_yaiba),4,36,
+rudang,1,36,
+rota_(bitmap1022),1,36,hirotaka_(bitmap1022)
+romania_(hetalia),4,36,
+role_player:_okayu_shimai_no_nenmaku_potrait_-_gurigucha_live!,3,36,
+rokusai,1,36,
+rokuroubuna,1,36,
+rmb-93_(girls'_frontline),4,36,rmb-93_(girls_frontline)
+rivalun,4,36,
+ririclub,1,36,
+rirashi,1,36,
+ripple_star,0,36,
+ringomaru,1,36,
+ring_toss,0,36,
+rimamo,1,36,
+rima_(princess_connect!),4,36,
+rice_(okome_no_naru_ki),1,36,
+ribbonsnek,1,36,
+ribbon-trimmed_footwear,0,36,
+rezia,1,36,
+rezeharu,1,36,
+resident_evil_darkside_chronicles,3,36,
+rengeteki_(touhou),4,36,rengeteki
+ren_(tainca2000),1,36,
+removing,0,36,
+reman_kamuy,1,36,
+relila,1,36,
+reishin_(tenpurasoba),1,36,reigokoro
+reina_(maitetsu),4,36,
+reiko_(tofuubear),4,36,
+reddgeist,1,36,
+redblacktac,1,36,
+red_card,0,36,
+red_button,0,36,
+red_arremer,4,36,
+red_(dq8),4,36,
+reactive_armor,0,36,
+re_eva,1,36,
+rayuse,1,36,
+rayrie,1,36,
+rate_rapiku,1,36,
+rashid_(street_fighter),4,36,
+rapama,1,36,
+ramta,1,36,
+raichu_(cosplay),0,36,
+ragi_(pluie),1,36,
+radiant_historia,3,36,
+radagon_of_the_golden_order,4,36,
+racism,0,36,
+r-18_jii,1,36,
+quiz,0,36,
+qian_renxue_zhuye,1,36,
+pyroar_(male),4,36,
+pygmalion._(group),3,36,
+puteru,1,36,ggk-kgr
+purerin,1,36,
+pumpkin_dance_(meme),0,36,pumpkin_dance
+pu_lona,1,36,
+psycho_mantis,4,36,
+protest,0,36,
+producer_(idolmaster_side-m),4,36,
+prince_of_wales_(the_laureate's_victory_lap)_(azur_lane),4,36,
+pppppan,1,36,
+potiri02,1,36,
+potion_maker,3,36,
+pork_pie_sailor_hat,0,36,
+por,1,36,
+pope_(ragnarok_online),4,36,
+pope,0,36,
+ponsu_(ponzuxponzu),1,36,
+pokestop,0,36,
+podenco_(wake_up_from_a_nap)_(arknights),4,36,
+plumber,0,36,
+pisipisi,1,36,
+pirozhki,0,36,
+pirate_(sekaiju),4,36,buccaneer_(sekaiju)
+pink_no_ayumi!,3,36,pink_no_ayumi
+pink_leggings,0,36,
+pink_jumpsuit,0,36,
+pineapp_panda,1,36,
+pima_mashiro,1,36,
+pilot_chair,0,36,
+pillow_straddling,0,36,
+pig_snout,0,36,
+pig_mask,0,36,
+piano_(agneschen),1,36,
+photo_booth,0,36,
+philuffy_aingram,4,36,
+pheasant,0,36,
+phantom_of_the_opera,3,36,
+phantas-moon,4,36,
+penyo1989,1,36,
+pengin_(takeoff425),1,36,
+peekaboo,0,36,
+peachpii,1,36,
+peach_(airline),3,36,
+paruno,1,36,
+parkour,0,36,
+parking_garage,0,36,
+paratrooper,0,36,
+paprika_(character),4,36,
+panther_print,0,36,
+panah,1,36,
+pan_jing_(the_legend_of_luoxiaohei),4,36,
+pall,1,36,
+pale_fox_(kemono_friends),4,36,
+pafekui,1,36,
+packing_peanuts,0,36,
+pacific_rim:_uprising,3,36,
+oxp_(okipuu),1,36,
+owannu,1,36,
+ouu_min,1,36,minland4099
+ouma_kennosuke_tokisada,4,36,
+otome_kaibou_(vocaloid),3,36,otome_dissection_(vocaloid)
+otoishi_akira,4,36,
+osomatu-sama,1,36,
+oskar_(jasdavi),4,36,
+osa_(osakana1217),1,36,
+oritonagi,1,36,
+orihara_kozue,4,36,
+ooyama_bokuchi,1,36,
+oomikado_itsuki,4,36,
+ookoshi_hidetake,1,36,
+ooki_ikutoshi,4,36,ikutoshi_(housamo)
+ooka_(ohkaworks!),1,36,
+onsokuzekuu,1,36,
+onoda_masahito,1,36,onoda_masato
+onna_kishi_no_shiro,1,36,
+onemegawatt,1,36,
+omao,1,36,
+oku_(2964_okn),1,36,8656_ko
+okowa_0141,1,36,
+okome2028,1,36,
+oki_kuro,1,36,"lovelesslover00,okiguro"
+okamoto_fujio,1,36,
+oka_mariko,1,36,
+oishi_kuwagata,1,36,
+ohkubo_atsushi,1,36,okubo_atsushi
+ogre_battle,3,36,
+ofly_(ofly252),1,36,ofly_(pixiv)
+odajima_mayu,4,36,
+o1118,1,36,
+nyuuhin,1,36,
+nyanpassu~,0,36,
+nyanko_kaitou,1,36,
+nyala_(nyala_766),1,36,
+november_11_(darker_than_black),4,36,
+nova_(warframe),4,36,
+norwegian_flag,0,36,
+northstar_(titanfall),4,36,
+noritake,1,36,
+norato,1,36,
+noodle-y,1,36,
+nonosaki_tsubasa,4,36,
+nomuraumu,1,36,
+nomomono_eraser,1,36,
+nogami_ryoutarou,4,36,nogami_ryotaro
+nof,1,36,
+nobuyuki,1,36,
+noah_(livas),1,36,
+noa_p,1,36,
+no_sense_of_shame,1,36,
+nkise,1,36,
+niwa_haruki,1,36,
+nishiwaki_yuuko,4,36,nishiwaki_yuko
+nishinomiya_saku,1,36,
+nishimiya_momo,4,36,
+nishigyou_teraa,1,36,
+niseoto,1,36,
+nils_nielsen,4,36,
+nikuman_(samara),1,36,
+nijiomu,1,36,
+nijigen_dream_fever_(vocaloid),3,36,
+nijie-tan,4,36,
+nigoolas,1,36,
+nightmare_(kirby),4,36,
+nia_(x_x02),1,36,x_x02
+neo_geo,3,36,
+nekopantsu_(blt),1,36,
+nekonetoru_take,1,36,niki_take
+nekomata_(youkai_hyakki-tan!),4,36,
+necromancer_(final_fantasy),4,36,
+nawol,1,36,
+natsume_konoha,4,36,
+natori_sayaka,4,36,
+narynn_(character),4,36,
+narukaze_minamo,4,36,
+nanigashi_(xla009),1,36,
+nanataroo_7,1,36,
+nanami_kanata,4,36,
+nanaji_(7ymf),1,36,
+nanaironokabi,1,36,
+nal_(naru-1),1,36,
+nakumonaga_uma,1,36,
+nakano_hinata,4,36,
+nakano_haito,1,36,
+nakamura_(marakimi),1,36,
+nakajima_yua,4,36,
+naizo_(kimosugimasu),1,36,
+naidong,4,36,
+nagura_shiro,1,36,aika_(1019-akari)
+nagi_(siki2n),1,36,
+nagase_daisuke,4,36,
+nagano_mamoru,1,36,mamoru_nagano
+nabatani,1,36,
+na1_pkmn,1,36,
+n3o2,1,36,
+mzrz,1,36,
+mysterious_eyes_(idolmaster),0,36,
+mxsoundtube,1,36,
+muutsu_(maxwell0916),1,36,
+mussyu_danachan,1,36,
+muruchi-,1,36,
+murayama_yuiri,4,36,
+muramasa_(so-hi-shikan),1,36,
+mura_kuroe,1,36,mura_(pixiv21516)
+mumu_yu_mu,1,36,
+mumu_vosp,1,36,
+multicolored_butterfly,0,36,
+mughi,4,36,
+mtk_(souko),1,36,
+msg01,1,36,
+mouse_on_shoulder,0,36,
+mount_whip,1,36,
+moti_ken,1,36,ms-07-b3
+morrigan_(dragon_age),4,36,
+moriton,1,36,
+monsoon_(metal_gear_rising),4,36,
+monowheel,0,36,
+mono_(mono_zzz),1,36,
+monkey_jon,1,36,
+mon_eree,1,36,
+momo_alto,1,36,
+mole_on_ear,0,36,
+mogmogyasai,1,36,
+mogami_(warship_girls_r),4,36,
+mofuka,1,36,
+mod_fashion,0,36,
+moai21,1,36,
+mkt,1,36,
+mksm,1,36,
+mizumizzumiz,1,36,
+mizukami_satoshi_(world_trigger),4,36,
+mizu_mochi,1,36,
+miyotarou,1,36,
+miyauchi_hikage,4,36,
+miyano_mai,4,36,
+miyama_fugin,1,36,
+miyako_(miyako_lplover),1,36,
+miya_(24toys),1,36,
+miy_001,1,36,
+mistral_nereis,4,36,mistral_(shining_hearts)
+misohagi,1,36,
+miro_(katsushikashibamata),1,36,
+mint_(uchi_no_pet_jijou),4,36,
+minior_(red_core),4,36,
+milk_box_(leoleo963852741),1,36,
+mikami_rika,4,36,
+mikago_kotaro,1,36,
+midori_no_hibi,3,36,"midori_days,midorinohibi"
+microsoft_office,3,36,
+micopp,1,36,
+michitose_michiru,1,36,
+michelle_hoefener,1,36,
+mia_clementis,4,36,
+meythia,4,36,
+meuneyu,1,36,
+metroid_prime_2:_echoes,3,36,
+methyl_key,1,36,
+meronpanna_(mikoniito),1,36,
+mephia,4,36,
+meowlian,1,36,
+mentos,0,36,
+memories_off#5,3,36,
+meisa,1,36,
+mechanical_skirt,0,36,
+mdoctkscb,1,36,
+mclaren_p1,0,36,
+mayata,1,36,
+matsumoto_(vivy),4,36,
+matsuda98,1,36,
+mathnote,1,36,
+matangomu-chan,4,36,
+massuru,1,36,
+mashitaka,1,36,
+mashiro_io,1,36,shiu_usako
+masaoka_tomomi,4,36,
+maruhana,1,36,
+margarita_blankenheim,4,36,
+marcus_(ff9),4,36,
+manual,0,36,
+maniwa_koumori,4,36,
+mamegohan,1,36,
+malik_al-sayf,4,36,
+makoron117117,1,36,
+makina00,1,36,
+makimura_kaori,4,36,
+maki_chitose,1,36,
+makai_(touhou),0,36,
+maimu_(polka),1,36,
+magician_servant,4,36,
+magentapeel,1,36,
+maewix_(artist),1,36,
+madaraki_veronica,4,36,
+mabuta_(byc0yqf4mabye5z),1,36,
+m3_(mmm003),1,36,
+m249_saw_(girls'_frontline),4,36,m249_saw_(girls_frontline)
+m&m's,3,36,
+lynn_lambretta,4,36,
+luonawei,1,36,
+lumbbyz,1,36,
+lowell_(ouranoss2kanata),1,36,
+lovehammer,1,36,
+loup-garou,1,36,
+looking_at_pussy,0,36,
+lockpick,0,36,
+liu_mei_fan,4,36,
+lisesharte_atismata,4,36,
+lip_ring,0,36,
+linhe_de_chuangzi,1,36,
+lin-lin,4,36,
+lilynette_gingerbuck,4,36,"lilynette,lilynette_gingerback"
+lilith_(borderlands),4,36,
+levin_sword,0,36,
+letty_whiterock_(cosplay),0,36,
+letta,1,36,
+leonardo_(fire_emblem),4,36,
+leo-dont-want-to-be-a-painter,1,36,
+lemon_snail,1,36,
+leknaat,4,36,
+lee_on,4,36,
+leaving,0,36,
+layfon_alseif,4,36,
+laxia_(ys),4,36,
+law_(tales),4,36,
+lank_(lankdesu),1,36,
+lani_(pink_pink),1,36,
+landship,0,36,
+l.n,1,36,
+l-gaim,4,36,
+kyouran_souryuu,1,36,
+kyoungi_nyang,1,36,
+kyoukai_(kingdom),4,36,
+kyoudai_no_jouji_jijou_2,3,36,
+kyosuke1413koba,1,36,
+kyoji_(tmtrymetm),1,36,
+kuromu_(kaeru),1,36,
+kuro_n314,1,36,
+kuro_(chrono),1,36,
+kurisugawa_kii,4,36,
+kurihara_mari,4,36,
+kuri_dora,1,36,
+kurenaiz,1,36,
+kurayashiki_tae,4,36,
+kurarika,1,36,
+kuo,1,36,
+kumuo_(mirakurufusao),1,36,
+kumeri0804,1,36,
+kumashiro,1,36,
+kumacchi,1,36,
+kukikomori,1,36,
+kuga_kokage,4,36,
+kudou_taiki,4,36,
+kuchibue_(tanima_club),1,36,
+ku99_(kugugu),1,36,
+kraken_(monster_girl_encyclopedia),4,36,
+kotonemaru,1,36,
+kotoba_(1074421015),1,36,
+koshirae_kenji,4,36,
+korg,0,36,
+koppa_mijinko_(series2023),1,36,
+koori_(haraiso),1,36,
+konota_ko,1,36,
+konoe_haruka,4,36,
+kono_dio_da_(meme),0,36,kono_dio_da
+kondou_(dioptrie),1,36,dioptrie
+kometa_(kome_17),1,36,
+komame_(wanton),1,36,
+komagarita,1,36,
+kokutou,1,36,
+kokuoh,4,36,
+kokonotsunbai,1,36,
+kojima_genta,4,36,
+koiwai_flora,4,36,
+koibumi,1,36,
+koharuko_(khrkhrk),1,36,
+kkochmeli,1,36,chilsib_(komaeda1211)
+kiyomiya,1,36,
+kitorakito,1,36,
+kitayama_shizuku,4,36,
+kita_(higan),1,36,
+kisaragi_tomi,4,36,
+kisaragi_mifuyu,4,36,
+kisaku,3,36,
+kiryuu_aika,4,36,
+kiriyama2109,1,36,
+kirishima_goro_(55541),1,36,
+kirieroido_iii,1,36,
+kirby_and_the_amazing_mirror,3,36,
+kiraware,1,36,
+kingyo_(g-fish),1,36,goldfish_22
+king_game,0,36,ousama_game
+king_gainer,4,36,
+kimukimu,1,36,
+kimi_omou_koi,3,36,
+killian_phegor,4,36,
+killer_bee,4,36,
+kiki_witch,1,36,
+kikan_(kikanoe),1,36,kikann003
+kikaider_(series),3,36,
+kihel_heim_(cosplay),0,36,
+kido_airaku,1,36,
+khloe_aliapoh,4,36,
+key747h,1,36,
+keroko_(frolicfrogs),1,36,
+kenmochi_shiena,4,36,
+kendo_club_president_(rangu),4,36,
+kemuri_jatarou,4,36,
+kazami_(kuroro),1,36,
+kaya_xavier,4,36,
+kaworu_(kaw_lov),1,36,
+kawamura_yuzuriha,4,36,
+kawamori_shouji,1,36,
+kawaiipenpen,1,36,
+katuu,1,36,
+katase_yuki,4,36,
+katase_(high_school_dxd),4,36,
+kataoka_megu,4,36,
+katakura_kojuurou,4,36,
+karipaku,1,36,karipaku_okusare
+karashino,1,36,
+kanzaki_ayane,4,36,
+kanzaki_akihito,4,36,
+kanisaka,1,36,
+kani_bonara,1,36,
+kamio_yuunosuke,4,36,
+kamen_rider_mach,4,36,
+kalata,1,36,
+kakeshou,1,36,
+kajichan,1,36,
+kaiyoko_star,4,36,
+kaguya_luna_(cosplay),0,36,
+kagura_takeshi,1,36,
+kageyama_shinobi,1,36,
+kagawa_rin,4,36,
+kagami_ei,1,36,
+kagami_(haret46),1,36,
+kabos,1,36,
+kabane,0,36,
+justin_hsu,1,36,
+justeaze_lizrich_von_einzbern,4,36,
+junsun,1,36,
+junji,1,36,
+jun_(ittla),4,36,
+john_marica,1,36,
+johannes_voss,1,36,
+jo_area,1,36,
+jne,1,36,
+jingb_dx,1,36,
+jifuwabe,1,36,
+jagdpanther,0,36,
+jade_(ghostblade),4,36,
+jack_of_hearts,0,36,
+jack_cooper,4,36,
+izumi_(sachikara),1,36,
+izumi39,1,36,
+izanami_hifumi,4,36,
+iwasaki_minako,1,36,
+itsia,1,36,
+its_not_you_sit_down,0,36,
+itou_mikoto,4,36,
+itokatsu,1,36,
+ist_lei_mikan,1,36,
+ishizuka_chihiro,1,36,
+ishihara_usumi,4,36,
+isaac_netero,4,36,netero
+irohero,1,36,bossa
+iritoa,1,36,
+iris_(ryou@ryou),4,36,
+irenji,1,36,
+irene_(ogami_kazuki),4,36,
+ippachi,1,36,
+ionosphere,1,36,
+invader_zim,3,36,
+insect_pin,0,36,
+inraku_no_miko_ntr,3,36,
+inoshin_(inixia1748),1,36,
+indiana_jones,4,36,
+indeedee_(male),4,36,
+imu_(acmg3475),1,36,
+implied_object_insertion,0,36,
+ikedan,1,36,
+iida_nana,4,36,
+ifurita,4,36,
+iftuoma,1,36,
+ie_(nyj1815),1,36,
+ichimi_tougarashi,1,36,ichimi-t
+ichikawa_meisa,4,36,
+ichihi_(spinon),1,36,
+ichiban_renga,1,36,
+ice_king,4,36,
+ibashi_roni,1,36,
+ib_(yu-gi-oh!),4,36,
+i_don't_have_a_single_regret_in_my_life,0,36,
+i_am_jemboy,1,36,
+i-riya,1,36,
+i-19_(pillowy_paradise)_(azur_lane),4,36,
+i-19_(kancolle)_(cosplay),0,36,
+hzk_(ice17moon),1,36,
+hyouka_(yashiro_sousaku),4,36,
+hyakute_gyojin,1,36,
+hwaen,1,36,
+huo_linger_(wanmei_shijie),4,36,
+human_pyramid,0,36,
+huli_daxian,4,36,
+hukasikasi,1,36,
+hosizora_(sparetime),1,36,
+hoshizora_tetsudou_to_shiro_no_tabi,3,36,
+hoshino_erika,4,36,
+hoshiineko,1,36,
+honjou_hayate,4,36,
+home_(houmei),1,36,
+holmy_(show_by_rock!!),4,36,
+hokoodo,1,36,
+hokkamuri,0,36,
+hn_(artist),1,36,
+hmng,1,36,
+hiyashinssu,1,36,
+hitotu_no_naka,1,36,orafa
+hito_komoru_(style),0,36,
+hit-kun,1,36,
+hisui_hearts,4,36,jadeite_hearts
+hiroshi_(hiroshixhiss),1,36,
+hiroikara_(smhong04),1,36,
+hiro_(spectral_force),4,36,
+hiro_(hibikigaro),1,36,
+hiraoka_kanae_(akatsuki_usagi),4,36,
+hinoki_(hinoki-buro),1,36,
+hinase_kei,1,36,
+hinami_riku,1,36,kimachiriku
+hinagiku_lulu,4,36,
+himesuzu,1,36,
+himekawa_fubuki,4,36,
+hime_(crunchyroll),4,36,
+higashi_(azm),1,36,
+hidari_(coletica),1,36,
+hi_(ibisf5umauma),1,36,
+hemoglosso,1,36,
+heinrich_(fernanderuddle),1,36,
+hebrew_text,0,36,hebrew
+hebereke_black,1,36,
+heaven_burns_red,3,36,
+headphone-chan_(splatoon),4,36,
+he_(eve),1,36,
+hayami_kyuuen,1,36,
+hayabusa_hideki,4,36,
+hato_niku,1,36,
+hat_launch,0,36,
+hasumi_urara,4,36,
+hashibiro_kou_(garapiko_p),1,36,
+hasewo,1,36,hasewo0706
+haruue_erii,4,36,
+haruka4413,1,36,
+haru_(ryosios),4,36,
+harima_mika,4,36,
+hare_(yamihuji),1,36,
+hard-degenerate,1,36,
+harada_chie,4,36,
+haniwa-dako,1,36,
+hand_on_knees,0,36,
+hand_on_back,0,36,
+hanashiro_yuuka,4,36,
+hanamaru-s,1,36,
+hana_(ookami_kodomo),4,36,
+han_gong,1,36,
+hamihe,1,36,
+hamafugu,1,36,
+halloween_baelz,4,36,
+hakusan_yoshimitsu's_fox,4,36,
+hakumei_kosen,1,36,
+hakamichi_hideaki,4,36,
+hakama_removed,0,36,
+hajilove_-making_lovers-,3,36,
+hadome,1,36,
+hachikei,1,36,
+gyatto624,1,36,
+gyari_(bird),4,36,
+guragief,4,36,
+gundam_barbatos_lupus,4,36,
+gudadan,1,36,
+guchuko,4,36,
+grilled_eel,0,36,
+greymon_(nodoame1215),1,36,
+grape_vine,0,36,
+grand_cupido,1,36,
+grace_(suisei_no_gargantia),4,36,
+gorogoro_(sfx),0,36,
+goldeen_(cosplay),0,36,
+godzilla_vs_kong,3,36,
+goddess_kiss,3,36,
+glow_(vocaloid),3,36,
+glock_18c,0,36,
+glenn_(chrono_cross),4,36,
+girl_dm,4,36,
+gingrjoke,1,36,
+gingham_legwear,0,36,
+gero-gh,1,36,
+gawain_(code_geass),4,36,
+gangure_(disemboweled),1,36,
+g3pen,1,36,
+g-ist,1,36,
+fuyuki_jun,1,36,
+furuya_satoru,4,36,
+furisode_(pixilvina),1,36,
+fur_sweater,0,36,
+funamushi_nomore,1,36,
+fumio_(snnmfmw),1,36,
+fukuzou,1,36,
+fujizarashi,1,36,
+fruit_hair_ornament,0,36,
+front_mission,3,36,
+frilled_lizard_(kemono_friends),4,36,
+frank_araya,1,36,
+foxxarius,1,36,
+foot_wraps,0,36,
+foot_wings,0,36,
+foot_on_back,0,36,
+food_fighter_441,1,36,
+flower_(kowarekake),4,36,
+flogger,0,36,
+fley3black,1,36,
+fle_en,1,36,
+flash_suppressor,0,36,
+flammie,4,36,
+finger_on_nose,0,36,
+fia_(riviera),4,36,
+fflora,1,36,
+fergus_mac_roich_(young)_(fate),4,36,fergus_mac_roich_(young)_(fate/grand_order)
+fenrir_(housamo),4,36,fenrir_(tokyo_houkago_summoners)
+femuto,1,36,
+febrie,4,36,febri
+fasorasi,1,36,
+fams_(group),0,36,
+fakegeo,1,36,
+face_hold,0,36,
+evilblade,0,36,
+evil_(okame_nin),4,36,
+eve_no_jikan,3,36,
+etihw,4,36,
+esuto,1,36,
+erty113,1,36,rabies_50
+eric_proctor,1,36,
+eri_muuton,1,36,
+enpu_(ufo),1,36,
+eno_(mauritz_stiller),1,36,
+enk,1,36,
+engi_threepiece,4,36,
+energy_whip,0,36,
+emmxd325,1,36,
+emily_(pandora_hearts),4,36,
+emilia_(krt_girls),4,36,
+eileen_(a-soul),4,36,
+eikiri_eimu,4,36,
+eggnog_cookie,4,36,
+egg_(cknlun),1,36,
+eden_(sennen_sensou_aigis),4,36,
+ed_(end),1,36,
+eblmeka,1,36,
+e-0057,1,36,
+dydoe,0,36,
+dusting,0,36,
+drillhorn_sword,0,36,
+dress_suit,0,36,
+dreamsyndd,1,36,
+doushindou,1,36,
+dorowa_no_hito,1,36,
+dormouse_(alice_in_wonderland),4,36,dormouse
+donki_(yeah),1,36,
+domo-kun,4,36,
+doma_umaru_(cosplay),0,36,
+dokkoida,3,36,
+doham,1,36,
+dobok,0,36,
+dizzy_(guilty_gear)_(cosplay),0,36,
+district_9,3,36,
+dinyc,1,36,d2c
+din_djarin,4,36,
+dimple,0,36,
+die_(ohisashiburi),4,36,
+die_(f_mega),1,36,
+diagonal-striped_bikini,0,36,
+dgk,1,36,
+desu,0,36,
+demitas,1,36,
+dekappara_futoriusu,1,36,
+deepa_mitra,4,36,
+dazol,1,36,
+datsuyuru,1,36,
+darwin's_game,3,36,
+darunia,4,36,
+darudana,1,36,
+dana_(pokemon),4,36,
+daji_(monster_strike),4,36,dakki_(monster_strike)
+daitokuji_biko,4,36,
+d.sum,1,36,
+d-nobi,1,36,
+d-art,1,36,18dart1
+cybela_kuto,4,36,
+cy_fros,1,36,
+curry_man,1,36,
+cure_princess_(sherbet_ballet),4,36,
+cubesona,1,36,pyorno
+cthylla_(chaos_code),4,36,
+crusty_sean,4,36,rob_(splatoon)
+crescent_wand,0,36,
+crab_print,0,36,
+counter-strike,3,36,
+cooking_oil,0,36,
+computer_chip,0,36,
+colt_(monster_farm),4,36,colt_(monster_rancher)
+collared_bikini,0,36,
+collage_background,0,36,
+coffee_milk,0,36,
+coconat_summer,1,36,
+coat_partially_removed,0,36,
+clear_regulus,1,36,
+claudia_emma_cross,4,36,
+circuit,0,36,
+cipher_(ace_combat),4,36,
+cinnamon_stick,0,36,
+ciela_lapana,4,36,
+choukai_(kancolle)_(cosplay),0,36,
+choujuushin_gravion_zwei,3,36,
+chocolate_cigarette,0,36,
+chloe_price,4,36,
+chizuru-chan_kaihatsu_nikki,3,36,
+chinetsu15,1,36,
+chinchilla_tail,0,36,
+china_jersey_(meme),0,36,
+chin_on_palm_challenge,0,36,
+chikuwa_(tikuwa),1,36,
+chikkinage_nage,1,36,
+chiki_(chikibw),1,36,chiki_(artist)
+chihiro_ayaka,1,36,
+chie_hallard,4,36,
+chesed_(project_moon),4,36,
+cherrim_(overcast),4,36,
+cherim,1,36,
+cheng,1,36,
+checklist,0,36,
+check_my_note_(idolmaster),0,36,check_my_note
+charcoalo,1,36,
+chanohata_tamami,4,36,
+channee_(cluseller),4,36,
+change_(437483723),1,36,
+chako_nejio,1,36,c2
+celine_(to_love-ru),4,36,
+celery,0,36,
+caro-xy,1,36,
+caren_(mermaid_melody_pichi_pichi_pitch),4,36,
+caooll,1,36,
+cao_cao,4,36,
+canno,1,36,
+camouflage_gloves,0,36,
+calamity_mary,4,36,
+cachet,1,36,pirate_cashoo
+byo_(kuro_usagi),1,36,
+button_prompt,0,36,
+burningblossom,1,36,
+bungaw,1,36,
+buffering,0,36,
+brown_sarong,0,36,
+brk_603,1,36,
+bright_memories_(idolmaster),0,36,bright_memories
+bremerton_(azur_lane)_(cosplay),0,36,
+bra_in_mouth,0,36,
+bosch_1/64,4,36,
+boooo-im,1,36,
+booker_dewitt,4,36,
+booba_(meme),0,36,
+bonnou-chan,3,36,
+bon_clay,4,36,
+boise_(sheepish_sapphire)_(azur_lane),4,36,
+boa_sorte,1,36,
+blue_bird_(akitsu_taira),4,36,
+bloopers,0,36,outtakes
+blockun,1,36,
+blanco026,1,36,
+blade_of_mercy,0,36,
+black_tri-stars,4,36,
+black_moon,0,36,
+biyora,1,36,
+bismarck_(battleship),0,36,
+bird_on_lap,0,36,
+bijian_de_linghun,1,36,
+big_band,4,36,sax-deka
+bifurcated_jaw,0,36,
+bidarian,1,36,
+beth_(shepherd0821),4,36,
+bentoss_detritus,1,36,
+benson_moretti,4,36,
+beluga_whale,0,36,
+becky-4545,1,36,
+beating,0,36,
+bbul_horn,1,36,
+battlecruiser,0,36,
+basement,0,36,
+baobab,0,36,
+bandam,1,36,
+banana_popsicle,0,36,
+banamons,1,36,
+bambietta_basterbine,4,36,
+baizu_(guszx),1,36,
+badou_nails,4,36,
+bachira_meguru,4,36,
+b.bor,1,36,
+azumadori_tsugumi,1,36,
+azuma_shouko,1,36,
+azuma_kyoutarou_(artist),1,36,
+azu_(azzz),1,36,
+azalea_(love_live!),0,36,
+ayuko91,1,36,
+aya_rato,1,36,
+avtechno!,0,36,
+avalugg,4,36,
+austrian_flag,0,36,
+atokniiro,1,36,
+athyra,1,36,
+asumi_(000),1,36,
+asugi_(fire_emblem),4,36,gurei_(fire_emblem_if)
+asteria_(driftingprhp),1,36,
+assless_swimsuit,0,36,
+asprach,1,36,
+ashinamaturi,1,36,
+asazuke25,1,36,
+asahi_(sakanasakana),1,36,
+asagiri_gen,4,36,
+arvis_(fire_emblem),4,36,alvis_(fire_emblem)
+aruki,1,36,
+arugou,1,36,
+arthur_fleck,4,36,
+armkreuz,1,36,
+arm_on_thigh,0,36,
+ariorihaberi,1,36,
+arima_kanae,4,36,
+arch_lapin,1,36,
+arcane_viktor,4,36,
+arcadia090,1,36,
+arc_phone,0,36,arceus_phone
+arai_ako,1,36,
+aqua_fur,0,36,
+apu_spills_his_tendies_(meme),0,36,
+aphrodite_(suite_precure),4,36,
+aotsuki_takao,1,36,
+aopoke,1,36,
+aonik,1,36,
+aoki_mei,4,36,normal_trainer
+aoki_daisuke,4,36,
+aoi_sora-maru,1,36,
+aoi-tama,1,36,aoi_the_wild
+ann_yosh,1,36,
+anko_koubou,1,36,
+anja_(madoka_magica),4,36,
+animal_on_ass,0,36,
+animal_background,0,36,
+angelica_ainsworth,4,36,
+amy_(bakuretsu_tenshi),4,36,
+amorphous,1,36,
+amidasketchbook,1,36,
+ameya_(okemu_ame),1,36,2ameyasan2
+amatsuka_watayuki,4,36,
+amase_(yagami666),1,36,
+amanosora,1,36,
+amano_misao_(battle_programmer_shirase),4,36,
+amamori_kohan,1,36,
+amamiya_ten'ya,1,36,amagi_tenya
+amakuri3000,1,36,
+amaha_tsubasa,4,36,
+amaguri_(guri_0330),1,36,
+alternate_tail,0,36,
+alpha_(smashbox),1,36,
+alouette_(mega_man),4,36,alouette_(rockman_zero)
+almonde_jagger,4,36,
+alicia_(queen's_blade),4,36,
+ali_al-saachez,4,36,ali_ai_saachez
+alfa_romeo,0,36,
+alexandria_(xenoblade),4,36,
+alcremie_(berry_sweet),4,36,
+alba_(senyuu),4,36,
+akiyama_jungorou,4,36,
+akitama,1,36,
+akisame_ruu,1,36,
+akihara_ryou,1,36,
+aki_(suterii),4,36,
+akatsuki_(aktk511),1,36,
+akasaka_aka,1,36,
+akaisu,1,36,akais
+aka_shiro_kiiro,1,36,
+aisha_(sennen_sensou_aigis),4,36,
+airbo,1,36,
+aira_(qwedcxza49),1,36,
+air_qh,1,36,
+air_hockey,0,36,
+ailu,4,36,
+aiko_(aiko_54),1,36,
+aiamu_iamu,1,36,
+ahri_(league_of_legends)_(cosplay),0,36,
+agasa_(akasa_anodan),1,36,
+after_sweet_kiss,3,36,
+aeus,1,36,
+aerosol,0,36,
+aekun_cben,1,36,
+aeiou_(yoako),4,36,
+adunba_rell,1,36,
+adelie_penguin_(kemono_friends),4,36,
+acxg,1,36,
+aburai_yui,1,36,
+abarai_ichika,4,36,
+96neko_mtm,1,36,
+8981,1,36,
+6mint,1,36,
+6274,1,36,
+4410_(kanimiso),1,36,
+402_(o0_xxx),1,36,
+3tohei,1,36,
+329kome,1,36,
+2_nostg,1,36,
+125buri,1,36,
+zyaki,1,35,
+zluu,1,35,
+zinpati,1,35,zinpatink
+zijiang_m99,0,35,
+zihacheol,1,35,
+zettai_ryouiki_sex_royale!!,3,35,
+zeroki_(izuno),1,35,ze66
+zergling_(cdror1004),1,35,
+zenon_zogratis,4,35,
+zengi,1,35,
+zen_(weishanzhe),1,35,
+zawa_(zawzawranran2),1,35,
+z23_(upgrade_failure?!)_(azur_lane),4,35,
+yy,1,35,
+yuzin,1,35,
+yuyu_(yuyudesu0806),1,35,
+yuyu_(flip_flappers),4,35,
+yuuki_miaka,4,35,
+yuuki_(yunky373),1,35,
+yuuki_(ashitahare),1,35,
+yuudachi_(the_bride_of_solomon)_(azur_lane),4,35,
+yutoriko_(candy0905),1,35,
+yuran_(erubo),4,35,
+yunopan_chako,1,35,
+yumeneko_nyaa,1,35,
+yumejidake,1,35,
+yume_koucha,1,35,
+yukiyaii,1,35,
+yukitourou,1,35,
+yukiru_akitera,1,35,
+yukiguni_eringi,1,35,
+yuki_rin,4,35,
+yuka_(mikuxluka),1,35,
+yuiki_yaya,4,35,
+yuib3_(yuibitch),1,35,
+yugimaru_(sugar),1,35,yugimarumaru
+yuelight,1,35,
+yuebaihezi,1,35,
+yu_jiu,1,35,
+yu-gi-oh!_go_rush!!,3,35,
+yrel,4,35,
+yosida_komati,1,35,
+yoshitoki_(kisshin),1,35,
+yoshinaga_haru,1,35,
+yoshimori_isa,1,35,
+yoshimitsu,4,35,
+yoshidanoe,1,35,
+yoshida_morohe,1,35,moroheso
+yorozuya_hyakuhachi,1,35,yoroduya
+yoritomo_(housamo),4,35,yoritomo_(tokyo_houkago_summoners)
+yonko,1,35,xx_soul
+yong_jie_wujian,3,35,naraka:_bladepoint
+yoncha,1,35,
+yohioloid,4,35,
+yohchi,1,35,yokawausoyo
+yogetsu_high_school_uniform,0,35,
+yja61,1,35,
+yatsunote,1,35,
+yashino_84,1,35,
+yaotome_gaku,4,35,
+yao_haa_dushi,4,35,
+yanagino_(yanagino3),1,35,"soratobu_mame.,yanagino"
+yamunashi,1,35,
+yamaimo_torotoro,1,35,
+yamada_jirou,4,35,
+yamabuki_ryuu,1,35,
+yama_bikko,1,35,
+yakumo_koishi,4,35,
+yakkey,1,35,
+yagoro_kusuriya,1,35,
+yagami_coco,4,35,
+yache,1,35,
+xue_fengzi,1,35,
+xpisigma,1,35,
+xiaoxiao_nanjue_buyaokeng,1,35,moonofmonster
+xane_(fire_emblem),4,35,"cheine,xene_(fire_emblem)"
+wormhole,0,35,
+witchcraft,3,35,
+witch_springs,3,35,
+winter_(winterinkoakuma),1,35,
+windows_7,3,35,
+winbay01,1,35,
+wimifu,1,35,
+willy_pete,1,35,
+wide_brim,0,35,
+whyt,4,35,pochika
+wheelie_(kirby),4,35,
+wh1te,1,35,
+wet_floor_sign,0,35,
+weser_(azur_lane),4,35,
+weill,1,35,
+weddie_(dq10),4,35,
+wayne_chan,1,35,
+watari_yuu_(haskey),1,35,
+washizu_iwao,4,35,
+waiko,1,35,
+wadatsumi_garland,1,35,
+visbou,4,35,
+viola_(instrument),0,35,
+vgerotica,1,35,
+venuscho,1,35,cnove
+valona,4,35,
+valhalla0707,1,35,
+utara_canaria,4,35,
+usuba_kagero,1,35,
+usami_sumireko_(cosplay),0,35,
+usalxlusa,1,35,
+ursula_raiment,4,35,
+unou_(mousou_deguchi),1,35,
+unoshima_kanaka,1,35,
+une,1,35,
+undone_bikini,0,35,
+unconventional_vibrator,0,35,
+umi_no_tarako,1,35,
+umehara_emika,1,35,
+ultramarines,4,35,
+ultraman_tarou,4,35,ultraman_taro
+uiu,1,35,
+uiokv,1,35,
+ui-chan_no_niizuma_diary,3,35,
+ueki-chan,4,35,
+uda_megumi,4,35,
+uchuuneko_(vtuber),4,35,
+type-alpha,1,35,
+tsurugi_yasuyuki,1,35,
+tsukidaruma,1,35,
+tsuki_yuuhi,1,35,
+tsujieiri,1,35,
+tsuizi,1,35,
+tsugai_kogarashi_(vocaloid),3,35,tsugai_kogarashi
+tsuda_minami,4,35,
+tsuchiya_(1315444),1,35,
+trumpet_boy_(meme),0,35,trumpet_boy
+truffleduster,1,35,
+tron:_legacy,3,35,
+tribe_cool_crew,3,35,
+traptrix_atrax,4,35,atra_the_mesmerizing_maneater
+transformers_super-god_masterforce,3,35,
+touhou_mystia's_izakaya,3,35,
+touhoku_rakuten_golden_eagles,3,35,tohoku_rakuten_golden_eagles
+toto_mame,1,35,toto_mane
+torofu,1,35,
+torn_flipper,1,35,
+toriseka,1,35,
+torio_(mocd1985),1,35,
+torii_hair_ornament,0,35,
+tonyo_(milky_crown),1,35,
+tomtomjm,1,35,
+tomorrow_(konosuba),0,35,
+tomo_futoshi,1,35,
+tomako_(tatihitoe),1,35,
+tokyo_clanpool,3,35,
+tokurei_sochi_dantai_stella_jogakuin_c3_bu,3,35,
+tokiwa_senkei,1,35,
+tokitou_yuichirou,4,35,
+tokisaka_ena,1,35,ena_tokisaka_(inadumakawaii)
+toketa-sekai,1,35,
+togashi_(choco-bakama_kitchen),1,35,
+toga_(toganawa),1,35,slrspdlv
+todoroki_(xttn9dul),1,35,
+tkr_(lovedelic99),1,35,
+timins,1,35,
+tiler_(tiler00),1,35,
+tienao,1,35,
+thunder_force,3,35,
+three_twosix,1,35,
+three_little_pigs_(sinoalice),4,35,
+thorn_(ashthorn),1,35,
+thirty-second_note,0,35,demisemiquaver
+the_hammer,1,35,the_hammer_(pixiv30862105)
+thanatos_eros_(cosplay),0,35,
+thailand_(hetalia),4,35,
+tgxx3300,1,35,
+tetose,1,35,
+tessou_tsuzuri,4,35,
+teruteru_(teru_teru),1,35,
+teruki,1,35,
+teostra,4,35,
+tenshi_mikadokuni,3,35,
+tenni_noboru,1,35,
+ten_(tentojidon),1,35,
+tekoki_karaoke,0,35,
+team_instinct,0,35,
+tbf_avenger,0,35,
+tatyaoekaki,1,35,
+tateshina,1,35,
+tatemiya_saiji,4,35,
+tark_(318),1,35,igara1108
+tansug_(tansuk88),1,35,
+tanpakuroom,1,35,
+tanikaze_nagate,4,35,
+tang_xinzi,1,35,
+tanemon,4,35,
+tanaka_ryuunosuke,4,35,
+tanaka_(ueno-san_wa_bukiyou),4,35,
+tana_(tanabio),1,35,
+tamari_(flawless),1,35,
+tamamo_cat_(third_ascension)_(fate)_(cosplay),0,35,
+tamam_gnsn,1,35,
+tamaki_iroha_(swimsuit_ver.),4,35,
+tamaki_(doa),4,35,
+tama_(ponz3o1),1,35,
+takuji_(dekosenn),1,35,
+takokichi,1,35,
+takeuchi_hiroshi,1,35,
+takemitsu-zamurai,1,35,
+takejun,1,35,
+takayuki_hiyori,1,35,
+tail_mouth,0,35,
+tail_in_mouth,0,35,
+tadatomo_(housamo),4,35,tadatomo_(tokyo_houkago_summoners)
+tachibana_kukuri,4,35,
+t6_ti,1,35,
+t3x,1,35,
+t0m_(projektmelody),4,35,
+t-72,0,35,
+symboli_rudolf_(archer_of_the_white_moon)_(umamusume),4,35,
+swallowtail_butterfly,0,35,
+suzuna_(summer)_(princess_connect!),4,35,
+suzume_(summer)_(princess_connect!),4,35,
+suzuki_hayase,1,35,
+suzuki_gou,1,35,
+suzuhara_(13yuuno),1,35,
+suzakuin_tsubaki,4,35,
+suyi-j,1,35,
+suweeka,1,35,
+susukida_(sususabu0710),1,35,
+super_robot_wars_k,3,35,
+super_famicom_cartridge,0,35,
+sunsuke,1,35,
+sunmil,1,35,sun_miru
+sumi_(joker),1,35,
+sumashi,1,35,
+sui25jiyuu,1,35,
+sueyen,1,35,
+subarashii_pose,0,35,
+stregoicavar,1,35,
+sthk,1,35,
+stephanie_sybydlo,1,35,dice_(dice963)
+stephanie_priscilla,1,35,
+status_bar,0,35,
+starpoint_lance_(fire_emblem),0,35,
+star_wars:_the_empire_strikes_back,3,35,"star_wars_episode_5,star_wars_episode_v"
+standing_at_attention,0,35,
+ss39,1,35,
+sr-71_blackbird,0,35,
+spring_water,1,35,
+specterz,1,35,
+sp_(sweet_potato),1,35,
+souya_akira,4,35,
+south_park:_the_stick_of_truth,3,35,
+sophie_hatter,4,35,
+songwut_ouppakarndee,1,35,arseniquez
+sole_survivor_(female),4,35,
+softenni,3,35,
+soap_dispenser,0,35,
+snafu_(snafy_snu),1,35,
+sky_background,0,35,
+skullworms,1,35,
+sizu,1,35,
+sirakaro,1,35,
+sira_(user_dswn7488),1,35,
+single_inverted_nipple,0,35,
+silk_flower_(genshin_impact),0,35,
+silhouette_sakura,1,35,"kuromitu,misokachu"
+sierra_(ws),1,35,
+si_kongqi_(hua_jianghu_zhi_bei_mo_ting),4,35,
+shynesslady,4,35,
+shunnyun,1,35,
+shun'ei,4,35,
+shounibyou_(shonibyodayo),1,35,shonibyodayo
+shoulder_necklace,0,35,
+shotel,0,35,
+shotarou,1,35,
+shoot,0,35,
+shivue,1,35,
+shisha_no_karada,1,35,
+shirotaegiku_(flower_knight_girl),4,35,
+shirokuro_(oyaji),1,35,
+shirokuro_(lapinnoir),1,35,
+shirokuma1414,1,35,
+shiroi_suzume,1,35,
+shiro_ami,1,35,
+shiratori_aria,4,35,
+shiratama_(mofutto),1,35,
+shiraishi_sara,4,35,
+shipu_(toppintetratorten),1,35,
+shiori_kirihito,4,35,
+shintani_kyou,1,35,
+shinsekai_keikaku_sinsekai_city_project,3,35,
+shinonome,1,35,
+shinoda_eri,4,35,
+shino_(gouma_reifuden_izuna),4,35,
+shinji_in_a_chair_(meme),0,35,
+shindou_rei,4,35,
+shimanto_youta,1,35,
+shimamoto_harumi,1,35,
+shikimiya_mana,4,35,
+shikibu_mayu,4,35,
+shiisaa,0,35,shisa
+shiina_minori,4,35,
+shigureszku,1,35,
+sheryth,1,35,
+sheet_bite,0,35,
+sheathing,0,35,
+shatte_judevesten,4,35,
+sharla_(mujin_wakusei_survive),4,35,
+shared_jacket,0,35,
+shaomin,1,35,
+shamo_(ptwmjgda),1,35,
+shame,0,35,
+shaketarako,1,35,
+setsuna_(nijisanji),4,35,
+serizawa_nae,1,35,
+seqet-aru,1,35,
+sentou_kouhei_kitsune,1,35,
+senou_aoi,4,35,
+senjimon_kayumi,1,35,
+sendou_hachi,1,35,
+sena_monaco,1,35,
+sena_(blue_archive),4,35,
+sen_(sen69),1,35,
+selly55,4,35,
+seijo_no_maryoku_wa_bannou_desu,3,35,
+sega_saturn_(sega_hard_girls),4,35,sega_saturn_(hi-scool!_seha_girls)
+sefushi,1,35,
+schedule,0,35,
+scathach_(makyou_sergeant)_(fate),4,35,
+scarlett,3,35,
+scapegoat,4,35,
+scale_print,0,35,
+sayuumigi,1,35,
+sayo_wini,1,35,
+sayaka_(harris_hero),4,35,
+sawsbuck_(winter),4,35,
+sawsbuck_(autumn),4,35,
+satou_tatsuhiro,4,35,
+satou_iruno,1,35,
+satori_day,0,35,
+satomura_akane,4,35,
+satomi_hinako,1,35,
+sasagawa_ryohei,4,35,
+sarasa_misa,1,35,
+sarai,1,35,
+sarah_zabiarov,4,35,
+saotome_mirai,1,35,
+saon101,1,35,
+sangheili,4,35,elite_(halo)
+sandaconda,4,35,
+sanada_momen,4,35,
+salia_(cross_ange),4,35,
+sakurai_ruka,4,35,
+sakurai_akane_(girlfriend),4,35,
+sakuragi_miria,4,35,
+sakura_(flower_knight_girl),4,35,
+sakou_mochi,1,35,
+sakazakimay,1,35,
+sakamoto_desu_ga?,3,35,
+sakaki_takaya,4,35,
+sakaki_kuuya,1,35,sakaki_kuya
+saimin_seishidou,3,35,
+saichi_(meme+),1,35,
+sagittarius_aioros,4,35,
+sagace,1,35,08_sagace
+saga_taichi,1,35,
+s_k_(shiro_karasu),1,35,
+ryuryu_mt,1,35,
+ryougi_shiki_(second_ascension),4,35,
+ryoku_(kemurikusa),4,35,
+rwk,1,35,
+rushi_(bloodc),1,35,
+rururaroru,1,35,
+runescape,3,35,
+rumeha_(aormsj22),1,35,
+rumble_(transformers),4,35,
+rumble_(league_of_legends),4,35,
+rukialice,1,35,
+ruka192,1,35,
+rudolph_the_red_nosed_reindeer,4,35,
+rryiup,1,35,
+rona,1,35,
+rolento,4,35,
+rokudou_rinne,4,35,
+rokico,1,35,
+rodeorodeo,1,35,
+robbery,0,35,
+rixch,1,35,
+ririka_(#compass),4,35,
+riri_zuran,1,35,
+rinu_(stpri),4,35,
+rinta_(reyte),1,35,
+rin_no_youchuu,4,35,
+riko_(shuz),4,35,
+rikkunia,1,35,
+riding_shark,0,35,
+ricken_(fire_emblem),4,35,richt_(fire_emblem)
+richard_crazyman,1,35,
+rezoeline,1,35,
+reu_daikon,4,35,
+resident_evil_outbreak,3,35,
+reno_0901,1,35,
+renn,1,35,
+renkonv,1,35,
+renge_miyamoto,4,35,
+rena_(sky-freedom),4,35,choker_onee-san_(sky-freedom)
+remi_puguna,4,35,
+relife,3,35,
+relax_(artist),1,35,
+reisen_udongein_inaba_(bunny),4,35,
+rei_no_mizugi,0,35,
+rei_(9086),1,35,gin9684
+reginn_(fire_emblem),4,35,
+red_hood_(dc),4,35,
+red_garter_straps,0,35,
+rebecca_hopkins,4,35,rebecca_hawkins
+rasielcochma,1,35,
+raps_(yohomeboyraps),1,35,yohomeboyraps
+ranran_3939,1,35,
+ran_(mitama_~shinobi~),4,35,
+raion_(soraelf),1,35,
+raining_blood,0,35,
+raikoh_(paradiso_guardian),4,35,
+raiden_(hayabusa),4,35,
+racing_miku_(2020),4,35,
+raccoon_costume,0,35,
+rabienu,1,35,
+rabi-tan,4,35,
+rabbity_art,1,35,
+quincy_(azur_lane),4,35,
+quin_(himegata_alice),1,35,
+queen_zeal,4,35,
+queen_of_hatred,4,35,
+qianshuhao,1,35,
+q9q,1,35,
+q18607,1,35,
+putotyra_(ooo_combo),4,35,
+pussy_juice_in_mouth,0,35,
+purpleninfy,1,35,
+punishedplume,1,35,
+pumpkinpaii,1,35,
+pukun,1,35,
+psidubs,1,35,
+prosperous_peace_(genshin_impact),0,35,
+prometheus_(movie),3,35,
+print_bed_sheet,0,35,
+pretty_x_cation_2,3,35,
+pravin_rao_santheran,1,35,
+powai_pichori,4,35,
+pov_finger_frame,0,35,
+poririna,1,35,
+poppy_girl_(surio),4,35,
+pongu,1,35,
+pole2walker2,1,35,
+pokemon_on_leg,0,35,
+plug_(feng-yushu),1,35,
+pleated_shorts,0,35,
+playing_card_print,0,35,
+pizza_delivery_sivir,4,35,
+pixiv_robot_wars,3,35,
+pixie_(monster_farm),4,35,pixie_(monster_rancher)
+piuta,1,35,
+pinky_iwata,1,35,kemeko_(s065026)
+pink_tulip,0,35,
+pink_garter_belt,0,35,
+pingqiong_xiansheng,1,35,
+pine-chan_ver._1,4,35,
+pikuseru,1,35,
+pikuharu,1,35,
+phi_brain_puzzle_of_god,3,35,
+pharaoh_(monster_girl_encyclopedia),4,35,
+penthesilea_(amazones_ceo)_(fate),4,35,
+penpen_(penpen1942),1,35,penpen_(artist)
+penis_tattoo,0,35,
+penguin_highway,3,35,
+pecorin,1,35,
+pc_(personification),4,35,
+pawoo_username,0,35,
+parua,1,35,
+pariston_hill,4,35,
+parental_advisory,0,35,
+papyrus_(font),0,35,
+paper_on_head,0,35,
+panties_around_feet,0,35,
+pallo,4,35,
+palette_project,3,35,
+paingumi,1,35,
+p-gnesium,1,35,"ningen1116,zako8211"
+overalls_removed,0,35,
+oujima_tamaki,1,35,
+ots-14_(destined_love)_(girls'_frontline),4,35,
+otomachi_una_(spicy),4,35,
+oslight,1,35,
+osabe_tom,1,35,chobe_2
+orisa_(overwatch),4,35,
+orippa,1,35,
+orihika,1,35,
+oreshki,1,35,
+orange_(satsurikukuma),1,35,"orange_(pixiv389641),orange_(saturikukuma)"
+opened_by_another,0,35,
+ootsutsuki_kaguya,4,35,
+oota_ushio,4,35,
+oota_tamon,1,35,
+oofusa_shizuko,4,35,
+ooe_chizuko,4,35,oe_chizuko
+ongyageum,1,35,
+one3four!,1,35,
+omuraashu,1,35,
+omodaka_(nitera1041),1,35,
+olivia_(shkm2443),1,35,
+olette,4,35,
+ol-chan_(ol_mahonanoka),4,35,
+okudera_momiji,4,35,
+okudera_miki,4,35,
+okazaki_norie,4,35,
+okada_izou_(second_ascension)_(fate),4,35,
+oissu_tiwassu,1,35,
+oeyama,1,35,
+odoro_(nicoseiga81184094),1,35,
+o'bannon_(warship_girls_r),4,35,
+nyotengu_(scarlet-tinged_hot_spring_vacation)_(doa),4,35,
+nyoro_mutou,1,35,
+nyokkiiiiin,1,35,
+numachi_rouka,4,35,
+nuker_(nukerdraws),1,35,
+nuime_(nuishiron),1,35,
+nue_(tayutama),4,35,
+novadada,1,35,
+notinversion,1,35,
+norino_moto,1,35,
+nontan_(nontanexx),1,35,
+nontan,1,35,
+nonjake,1,35,
+noku_(eco),1,35,
+no_horns,0,35,
+nmkranker,1,35,
+nkyoku,1,35,
+nkshoujo,3,35,
+nkgmgs,1,35,eumabito
+niwatori_takeshi,1,35,
+nitta_hiroto,1,35,
+nishimura_konomi,4,35,
+nise_maou_dokuzeru,4,35,
+nirasawa_hiyoko,4,35,
+nina_saotome,4,35,
+nikukaiq,1,35,
+nikon_(company),0,35,
+niko_(toitoi210),1,35,
+nikaidou_mari,4,35,
+nijinosaki_dia,4,35,
+nihudau,1,35,
+nie_xiaoqian,4,35,
+nickii25,1,35,
+ngra,1,35,
+ngirln4,1,35,
+ne~pon?_x_rai_pon!,3,35,
+never_gonna_give_you_up,0,35,rickroll
+neutrophil,0,35,
+nesskain,1,35,
+nekotama_(artist),1,35,
+neko_yuuko,1,35,
+neko_kuruto,1,35,
+nehan_(granblue_fantasy),4,35,
+negishio,1,35,
+nazotyu,1,35,
+natumiao,1,35,
+natsune_ilasuto,1,35,
+natedecock,1,35,
+nashi_y,1,35,
+naruka_(ynarukay),1,35,"neko8suko,ynarukay"
+naru_(kuma),1,35,
+narmaya_(the_black_butterfly)_(granblue_fantasy),4,35,
+narashika_asuka,1,35,gorito
+napalmbit,1,35,
+nano_(nanojyaa),1,35,mofumancy
+naniiro,1,35,
+nanba_mutta,4,35,
+namama_(namama82),1,35,
+nakajou_amane,4,35,
+nakajima_sanae,4,35,
+nagisa_k,1,35,
+nagii,1,35,
+nagi_raiun,1,35,
+nagato_(azur_lane)_(old_design),4,35,
+nagase_jun,4,35,
+nagasawa_yuki_(assault_lily),4,35,
+myu_(quiz_magic_academy),4,35,
+myouga_teien,1,35,
+my_doll_house,3,35,
+muzzle_(trigger),4,35,
+mutsu_(kancolle)_(cosplay),0,35,
+mutou_megumi,4,35,
+musume_shimai,3,35,
+muruaka,1,35,
+muraya_yoshihisa,1,35,muraya_kaku
+munakata_shiho,4,35,
+multicolored_text,0,35,
+multi-strapped_swimsuit,0,35,
+mukoujima_takurou,4,35,
+mujib,1,35,
+mugi_maccha,1,35,
+mugi_(twinbox),1,35,
+mugai_(tamac),1,35,
+muchousha,1,35,
+mucc_(ren0522),1,35,elizabeth_(ren0522)
+mrpeanut_88,1,35,
+mr.monster_(araido_kagiri),4,35,
+motoko_(fe25),1,35,
+moscow,0,35,
+mos_yen,1,35,mos1613
+moritakusan,1,35,
+moonbeam,0,35,
+monsters_university,3,35,
+monosuke,4,35,
+monofunny,4,35,
+monochro_blue_sky_(vocaloid),3,35,
+mono_(nekogoya),1,35,
+monjja,1,35,
+momozukuku,1,35,
+momomochi,1,35,
+momoko_(momokyun),4,35,
+momo-chan_(dagasi),4,35,
+moi_(latte_art),1,35,
+mochizuki_meiko,4,35,
+mo_(mainiti_omoti),1,35,mo_(pixiv28646846)
+mmm73,1,35,
+mji_(emucchi),1,35,
+mizushima_(kazami4),1,35,
+mizuno_yun,1,35,
+mizuno_(iori-amu),1,35,
+mizu_ramen,1,35,
+miyata_akira,4,35,
+miyanoshita_satsuki,4,35,
+miyamoto_iroha,4,35,
+miya_(akumatokeiyaku),1,35,myaa_(akumatokeiyaku)
+miu_pachi,1,35,
+mituyota_76,1,35,
+mitsukasa_ayase,4,35,
+misty_sheikh,4,35,
+miridereningen,1,35,
+mireille_(.hack//),4,35,
+mira_(sumaga),4,35,
+minoda_(mndh),1,35,
+mini_4wd,0,35,
+mincho,1,35,
+minawa_(hemo),1,35,
+minato_hiromu,1,35,
+minamoto_mamori,4,35,
+minamito_yui,4,35,
+minami_rio,4,35,
+millie_chliette,4,35,
+milksasa,1,35,
+mikoto_paint,1,35,
+mikokomiyazawa,1,35,
+miki_(virtuareal),4,35,
+mike_(mikenekotei),1,35,
+mikawa_(xxcrisp),1,35,
+mikaponcho,1,35,
+mikan_(mikataaaa),1,35,
+migi_tonari,1,35,
+michishio_(kancolle)_(cosplay),0,35,
+miamuly,1,35,
+mi_tarou0412,1,35,
+meyshi,1,35,
+meranie,1,35,
+meow25meow,1,35,
+mento,1,35,
+mennsuke,1,35,
+meltyvixen,1,35,pastelletta
+mell_(dmwe3537),1,35,
+mela_(pokemon),4,35,
+mega_sceptile,4,35,
+mega_salamence,4,35,
+mega_man_(character)_(cosplay),0,35,
+mega_audino,4,35,
+meg_maru2,1,35,
+medea_(fate)_(cosplay),0,35,
+mbt64kmb,1,35,
+maya_(borderlands),4,35,
+mavezar,1,35,
+maury_(azur_lane),4,35,
+matthew_(fire_emblem),4,35,
+matrix_of_leadership,0,35,
+matahei,1,35,
+masyu_jyaga,1,35,
+master_xehanort,4,35,
+mask_on_breasts,0,35,
+mashiroyu,1,35,
+masa_tarou,1,35,
+maron_(quintet_colors),1,35,
+marion_quinn,4,35,
+mareeta_(fire_emblem),4,35,
+maou_to_ore_no_hangyakuki,3,35,
+maou_no_kuse_ni_namaiki_da!,3,35,
+manya_drhr,1,35,
+mangekyou_sharingan,0,35,mangekyo_sharingan
+manatee,0,35,dugong
+mame_(ballet2604),1,35,
+mamaprofennn,1,35,
+malphite,4,35,
+makunouchi_ushio,4,35,
+makigami_kimiko,4,35,
+majokko_megu-chan,3,35,
+maji_de_watashi_ni_koi_shinasai!_s,3,35,
+maguroido,1,35,
+magpie,0,35,
+magazine_rack,0,35,
+maeda_keiji,4,35,
+machi_(skyward_sword),4,35,
+m_o_(prftz),1,35,
+m2_(guvn5745),1,35,
+lyuri_(riviera),4,35,
+lynx_tail,0,35,
+lxjun_09,1,35,
+lumiphi,1,35,
+lume_sangria_(chrysa),4,35,
+lucio_(granblue_fantasy),4,35,
+lookhow,1,35,
+lion_space,1,35,
+limi26,1,35,
+lihuashuangxiang,1,35,
+liftoff,0,35,
+lieze_lotte,4,35,
+lezard_valeth,4,35,
+let_me_solo_her,4,35,
+leomon,4,35,
+lens_no_mukougawa,3,35,
+leni_loud,4,35,
+lemonpear,1,35,
+leftporygon,1,35,
+leaning_in,0,35,
+leaf_hat,0,35,
+lazy_orange,1,35,
+layla_alstroemeria,4,35,
+layered_capelet,0,35,
+lavender_(flower_knight_girl),4,35,
+lava_the_purgatory_(dusk_wisteria)_(arknights),4,35,
+lan_se_fangying,1,35,
+lamorak_(granblue_fantasy),4,35,
+ladygt93,1,35,
+ladiva,4,35,fastiva
+kyouta_22,1,35,
+kyouhaku_2,3,35,
+kyoro_ina,1,35,
+kuu_(haibane),4,35,
+kururu,4,35,
+kurorekishiman,1,35,
+kuroobi_(armor),4,35,
+kuromine_hiraya,1,35,
+kuroi_hitsuji,1,35,
+kuro_(kurokami),4,35,
+kurikoma_komaru,4,35,
+kurano_tomoka,4,35,
+kunimitsu_ii,4,35,
+kunieda_shiho,4,35,
+kujou_amane,4,35,
+kujira_(knave),1,35,
+ksaiki,1,35,
+kouryuu_kagemitsu,4,35,
+kourin_no_machi_lavender_no_shoujo,3,35,
+kotomine_kirei_(cosplay),0,35,
+korezyanai,1,35,
+koohii_koucha_maru,1,35,
+konya_(chocolate_palette),1,35,
+konno_shimako,1,35,
+kokoro_toshokan,3,35,"kokoro_library,kokorolibrary,kokorotoshokan"
+kokone_(vocaloid),4,35,
+koko_(pokemon),4,35,
+kojirou!,1,35,
+koitsu_(blue),1,35,
+koike_sadaji,1,35,
+koiiro_marriage,3,35,
+koguma105,1,35,
+kogarashi51,1,35,
+koga_(cookie),4,35,
+kobayashi_kobako,1,35,
+kobayashi_aika,4,35,
+koba_(jdhikdjdkfiwufh),1,35,
+koaraya,1,35,"koaranin1128,kumagawa9981"
+kllsiren,1,35,
+klimspree,1,35,tradolfio
+kleavor,4,35,
+kkusak_(kkusag_ks),1,35,
+kkokko,1,35,
+kiyu_fuyuki,1,35,
+kitimoop,1,35,
+kitazato_shigure,4,35,
+kiryuu_tsukasa_(citrocube),1,35,
+kiryuu_sento,4,35,
+kirisawa_shinji,1,35,
+kiririn51,1,35,
+kirihara_jyazue,4,35,
+kirby's_adventure,3,35,
+kirara_(gundam_bf),4,35,
+kira_boshi27,1,35,
+kingdom_death,3,35,
+kinata_(area7),1,35,kinata7
+kimi_to_boku_to_eden_no_ringo,3,35,
+kimahri_ronso,4,35,kimahri
+kiko_(kikobooom),1,35,
+kiki_lala,1,35,
+kiki_(shepherd0821),4,35,
+kiichi_(9ta),1,35,
+khezu_(armor),4,35,
+keicha_(kmoekaki),1,35,
+keep_this_a_secret_from_everyone_in_class,0,35,
+keanu_reeves,4,35,
+kcalb,4,35,
+kazi,1,35,
+kaze_no_stigma,3,35,
+kazari_hisa,1,35,
+kazahana_chiruwo,1,35,
+kawakami_bansai,4,35,
+kawaii_joushi_o_komarasetai,3,35,
+katrina_elesius,4,35,
+katou_miyako,1,35,
+katayama_makoto,1,35,
+katai_uji,1,35,
+kashuu_kiyomitsu_(kiwame),4,35,
+kasai_tatsuyoshi,4,35,
+kaoru_miki,4,35,
+kanzaki_yukiko,4,35,
+kanoya_rui,4,35,
+kanatarou,1,35,
+kan_(pyy_c12),1,35,
+kamiazuma_touka,4,35,
+kamen_rider_zero-two,4,35,
+kamen_rider_eternal,4,35,
+kamejikiriga,1,35,
+kame_(pixiv),1,35,
+kalian,1,35,
+kakuzatou_(boxxxsugar),1,35,
+kakino_nashiko,1,35,
+kakei_juubei,4,35,
+kajio_(maburo),1,35,
+kaijuu_no._8,3,35,
+kagamine_rinto,4,35,
+k2h,1,35,meoneo
+k164,1,35,
+juujou_shion,4,35,jyuujyou_shion
+juri_(yu_yu_hakusho),4,35,
+jura,1,35,
+juno_bernal,4,35,
+jun_(real)_(princess_connect!),4,35,
+judgement_(tarot),0,35,
+josephine_(twin_tail_rabbit),1,35,
+jjuwaap,1,35,
+jin_roh,3,35,
+jin2,1,35,
+jikunyaga,1,35,
+jiisan_baasan_wakagaeru,3,35,
+jiege,1,35,
+jebura,1,35,
+janitor,0,35,
+janghwa_(last_origin),4,35,
+jakkun,1,35,
+jagi_(jagi_souken),1,35,jyagi_naoki
+jack_rockhardt,1,35,jackrockhardt
+jack_(identity_v),4,35,the_ripper_(identity_v)
+j_(onjj),1,35,
+izumi_yura,1,35,yura_izumi
+itsuki_(nanairo_megane),1,35,
+isuzu_(uzushi),1,35,
+isis_(terrorist_group),0,35,
+ishii_yuriko,1,35,
+ishigaki_tamaki,4,35,
+isekai_no_seikishi_monogatari,3,35,
+isamu,1,35,
+isabeau_de_baviere_(madoka_magica),4,35,
+irumyuui,4,35,
+iriya_(lonesome),1,35,
+iris_hallet,4,35,
+irezumi-san_(ozka),4,35,
+ippaiccha,1,35,
+ipod_touch,0,35,
+inugami_gyoubu_(kemono_friends),4,35,
+interstellar_rhapsody,3,35,
+insemination,0,35,
+inoue_kikuko,4,35,
+inoue_jun'ya,1,35,inoue_junya
+inkyubeiteo,1,35,
+inawata,1,35,
+impossible_underwear,0,35,
+imasara_maki,1,35,
+imaizumi_kagerou_(cosplay),0,35,
+ilis,1,35,
+ilassa_(elh),4,35,
+ikutsuki_shuuji,4,35,ikutsuki_shuji
+ikemeru19's_delivery_boy,4,35,
+iizuna_(milky_walker),1,35,
+idolmaster_cinderella_girls_u149,3,35,
+ideon_gauge,0,35,
+ichii_maina,4,35,
+ichi_(antonym),1,35,
+iceringer,1,35,
+ibaraki_douji_(onmyoji),4,35,
+i-chandraws,1,35,
+hypertan,1,35,
+hyoutan_tan,1,35,
+hyou_(pixiv3677917),1,35,
+hyaluron,1,35,
+hunting_horn,0,35,
+hua_ge_pi,1,35,
+hu_su,1,35,
+howl_(howl_no_ugoku_shiro)_(cosplay),0,35,
+howard_(mujin_wakusei_survive),4,35,
+houten_(dre_a_mer),1,35,
+houmei,4,35,
+houjin_exaxxion,3,35,cannon_god_exaxxion
+hotpants_(i'm_hot_yet!),1,35,hotpants_(artist)
+hotogi_shirayuki,4,35,
+hot_plate,0,35,
+hoshikawa_koharu,4,35,
+horuda,1,35,
+hontai_bai,1,35,big_boss_(circle)
+honorikiti,1,35,
+honeycomb_print,0,35,
+honey_calamari,1,35,
+honest_rate,4,35,
+holding_water,0,35,
+holding_mouse_(computer),0,35,
+holding_bento,0,35,
+hms_monarch_(siirakannu),4,35,
+hizuki_shino,4,35,
+hiyoyogi,1,35,
+hiyoku_no_crosspiece,3,35,
+hitotsubashi_inari,1,35,
+hiru-kun_no_ami,1,35,
+hiroya_masaharu,1,35,
+hiroshi_(jasinloki),1,35,
+hiren,1,35,
+hiraoka_masamune,1,35,
+hirame_guard,1,35,
+hinokami_sakura,1,35,
+hinata_kanata,1,35,
+hinata_(echoloveloli),1,35,
+hinamori_(m_nmy01),1,35,
+hina_(hinamatsuri),4,35,
+himezaki_aoi,4,35,zaki
+himeshita_johnny_mafuyu,1,35,
+himeko_(sky-freedom),4,35,hairclip_onee-san_(sky_(freedom))
+hikusa,1,35,
+hijiri_misaki,4,35,
+higuchi_kaede_(swing!!),4,35,
+hidaka_toworu,1,35,
+hephaestion_(fate),4,35,"faker_(lord_el-melloi_ii_case_files),iskandar's_shadow_(fate)"
+heo_(tkgm),1,35,
+henshin!,3,35,
+helena_harper,4,35,
+helena_(warship_girls_r),4,35,
+heikouidou_(seraeno),1,35,
+hei_zhi_shi,1,35,
+hechima-bushi,1,35,
+hecatoncheir,3,35,
+heaven's_melody,1,35,kyokko
+heathcliff,4,35,
+hearts_recollection,3,35,
+haze00,1,35,
+hayaneko_(ceceragi),1,35,
+hayami_yoichi,1,35,
+hatigatunoneko,1,35,
+hasumushi,1,35,
+hastune,1,35,
+hashibi_rokou,1,35,
+haruno_(kanimeshi),1,35,
+haruirokomici,1,35,
+harry_potter_and_the_philosopher's_stone,3,35,
+harapeko_(886011),1,35,
+harajuku_mimi,4,35,
+harahachibu_ajinosuke,1,35,
+happi_xfyg,1,35,
+hanyuu_shion,1,35,
+hanusu,1,35,
+hanging_bridge,0,35,
+handlebar_mustache,0,35,
+hand_glasses,0,35,
+hanamori_suzu_(hkgbkk8),1,35,
+hanadi_detazo,1,35,
+hanabusa_lisa,4,35,
+han_do-yoon,4,35,
+hamaeru,1,35,
+half_rest,0,35,minim_rest
+hal_jordan,4,35,
+hakuto_hotaru,1,35,
+hakusen-hiki,1,35,
+hakkatou,1,35,
+hakama-chan_(aa),4,35,
+hajime_(wkpz8247),1,35,
+hacosumi,1,35,
+hacha_(hachaowo),1,35,
+gyorui_(katsuwo_drawing),1,35,
+gwyn_lord_of_cinder,4,35,
+gurumi_mami,1,35,
+gundam_deathscythe,4,35,
+guldo,4,35,
+grisha_yeager,4,35,
+gridknight_(ssss.gridman),4,35,
+grell_sutcliff,4,35,
+green_ponpoko_(module),0,35,
+greasymeta,1,35,
+graverobber_(darkest_dungeon),4,35,
+grape_(pixiv27523889),1,35,
+gps,0,35,
+gotou_kiichi,4,35,
+golden_axe_(weapon),0,35,
+gold_ship_(umamusume)_(cosplay),0,35,
+gold_one-piece_swimsuit,0,35,gold_swimsuit
+gokou_ruri_(cosplay),0,35,
+godtail,1,35,
+glenn_radars,4,35,
+ginshachi,1,35,
+gingham_dress,0,35,
+ghost_(monster_girl_encyclopedia),4,35,
+geppuntei_dappun,1,35,
+gavial_(combat_medic)_(arknights),4,35,
+gateau_mocha,4,35,
+gambian_rat_(kemono_friends),4,35,gambian_pouched_rat_(kemono_friends)
+gajumaru09,1,35,
+gainer_sanga,4,35,
+gabyo_nuno,1,35,
+g_munyo,1,35,
+g4m,0,35,
+g-tenko-r,4,35,
+fuyuno_(kiddyland),1,35,
+fuyu_urara,1,35,
+futsuka_(dzone),1,35,
+fuse_takuro,1,35,
+furumi_showichi,1,35,furumi_shouichi
+furisode_girl_katherine,4,35,
+furan_(pixiv20237436),1,35,
+fujiwara_takumi's_toyota_trueno_ae86,4,35,
+fujisaki_eru,1,35,
+fu-ha_jin,4,35,
+frogbians,1,35,
+frilled_headwear,0,35,
+freya_(danmachi),4,35,
+freddy_krueger_(cosplay),0,35,
+francisco_valle,1,35,vl
+fp-45_liberator,0,35,
+foxfire_ahri,4,35,
+fore_(va-11_hall-a),4,35,
+flattened,0,35,
+flag_custom,4,35,
+fkskii65,1,35,
+fish_pillow,0,35,
+final_fantasy_xii_revenant_wings,3,35,revenant_wings
+fikusipu,1,35,
+felsus,1,35,
+felix_(felix901123),1,35,
+fefnir_(mega_man),4,35,fafnir
+fatalis,4,35,
+fanbox,0,35,
+exposed_clitoris,0,35,
+eva_06,4,35,
+emizel_(disgaea),4,35,
+emerson_tung,1,35,
+embroidered_dress,0,35,
+elizabeth_bathory_(first_ascension)_(fate)_(cosplay),0,35,
+elincie_yerthrop,4,35,
+elicia_hughes,4,35,elysia_hughes
+elf_village,3,35,
+elchi_cargo,4,35,
+elbia_hernaiman,4,35,erubia_hanaiman
+ekaki-ya_okamoto,1,35,
+eichi_(wild_chicken),1,35,
+ei_(akinosakae),1,35,
+edgar_valden,4,35,
+ecstasy,0,35,
+ecoas,1,35,
+ebura_din,1,35,
+e-bushi,1,35,cheche3
+dyarikku,1,35,
+duan_zhu,1,35,devil-dantake
+drop.b,1,35,
+drill_hand,0,35,
+drawing_kanon,1,35,
+dracula_(cosplay),0,35,
+doutei_(one-punch_man),4,35,"child_emperor,doutei_(onepunch_man)"
+double_eyepatch,0,35,
+double-decker_bus,0,35,
+donut_hole_(vocaloid),3,35,
+dongye1551,1,35,
+dokyuu_afro,1,35,
+dokkoi_shoo,1,35,
+dohalim_(tales),4,35,
+doatobira,1,35,doa_(wabisabi)
+diver_down_(stand),4,35,
+discworld,3,35,
+dildo_under_mask,0,35,
+diarmuid_ua_duibhne_(sensha_otoko)_(fate),4,35,
+dianche_miao_(18826),1,35,
+di_le_to,1,35,
+deus_ex:_human_revolution,3,35,
+deuce_(fft-0),4,35,
+detective_pikachu_(game),3,35,
+deshima_shin,1,35,
+dende,4,35,
+demimushi,1,35,
+dekooop,1,35,
+decarabi,1,35,
+death_(tarot),0,35,
+dearoliha,1,35,
+dear_vocalist,3,35,
+danxing_aipangzi,1,35,
+dansai_bunri_no_crime_edge,3,35,
+dango_ya,1,35,
+da_cider,4,35,
+d4y_suisei,0,35,
+czva,1,35,
+czech_flag,0,35,
+cyu_ta,1,35,
+cyberdoll_may,4,35,
+cutie_honey_universe,3,35,
+cuilein-anbar_(genshin_impact),4,35,
+cuicuijiao,1,35,
+cube_(alma),1,35,
+cruz_schild,4,35,
+crow0cc,1,35,
+crmanzana,1,35,
+crash_bandicoot,4,35,
+cpr,0,35,
+coyote,0,35,
+cottone_(highjethoo),1,35,
+cottan,1,35,cottan666
+cooking_mama,3,35,
+cocoa_(cafe-chan_to_break_time),4,35,
+clover_heart's,3,35,
+cleansed_crystal_mirror,0,35,
+claus_valca,4,35,
+civilization_v,3,35,
+chuhaibane,1,35,
+chourui_keiko,1,35,
+chongqing_(warship_girls_r),4,35,
+choister,1,35,
+choco_la_tea,1,35,
+chloe_von_einzbern_(cosplay),0,35,
+chloe_(elsword),4,35,
+chip_(kirby),4,35,
+chim,1,35,
+chiaki_shin'ichi,4,35,chiaki_shinichi
+cheryl_(arc_the_lad),4,35,
+cherry_(urusei_yatsura),4,35,
+cherino_(hot_spring)_(blue_archive),4,35,
+chelsea_arcot,4,35,
+chatan_nakiri,4,35,
+chapter0p,1,35,
+chaleu,1,35,
+cereza,4,35,
+cerberus_(megami_tensei),4,35,
+centinel303,1,35,ta-na
+cello_(little_princess),4,35,
+caustic_crayon,1,35,
+cauliflower,0,35,
+cat_(ghost_trick),4,35,
+cassio_yoshiyaki,1,35,
+carro_(watarui),4,35,
+captured_alien,0,35,
+canizzz,1,35,
+caliper,0,35,
+cake_(adventure_time),4,35,
+butudan_butugu,1,35,
+busujima_funya,1,35,
+buranko_(marchen),4,35,
+budgerigar_(bird),0,35,budgie_(bird)
+bu_tika,1,35,
+bromide,0,35,
+broken_(7589468),1,35,
+brave_neptune,3,35,
+brain_powered,3,35,
+bouquet_toss,0,35,
+borrowing_race,0,35,
+boribeya,1,35,
+bone_(armor),4,35,
+bonbori,4,35,
+bokujou_monogatari:_hajimari_no_daichi,3,35,"harvest_moon:_a_new_beginning,harvest_moon_the_land_of_origin"
+bodhi_wushushenghua,1,35,
+bobobo-bo_bo-bobo_(character),4,35,
+bluk_berry,0,35,
+blue_napoleon_(idolmaster),0,35,blue_napoleon
+blame_gakuen!,3,35,"blame_academy,blame_academy!"
+blackpink,3,35,
+blackberry-chan,4,35,
+black_snake,0,35,
+big_cat_shan,1,35,
+big_boss_(cosplay),0,35,
+bidiu_(the_legend_of_luoxiaohei),4,35,
+beryl_(shinrabanshou),4,35,
+benitoite_(houseki_no_kuni),4,35,
+ben_jackson,4,35,
+belluch,1,35,
+bell_(hellchan3),1,35,
+behemoth_(final_fantasy),4,35,
+beelzebub_(beelzebub-jou),4,35,
+bat_background,0,35,
+baseball_base,0,35,
+basculin_(blue),4,35,
+banshee_sister_(mechanical_buddy_universe),4,35,
+bailey_(azur_lane),4,35,
+bahamut_lagoon,3,35,
+baby_mario,4,35,
+baby_be'el,4,35,
+baba_lamune,4,35,
+b_gent,1,35,
+b.leaf,1,35,
+azusa_(granblue_fantasy),4,35,
+ayasegawa_yumichika,4,35,
+aya_(jonsun),4,35,
+awilda_(p&d),4,35,
+atsushima_you,1,35,
+atsumare!_fushigi_kenkyuubu,3,35,
+atorasu,1,35,
+atlanta_(azur_lane),4,35,
+atelier30,1,35,
+atarime,1,35,
+astrid_(pokemon),4,35,
+astolfo_(sugar_vacation)_(fate),4,35,
+assassin_(fate/zero)_(cosplay),0,35,
+asrbpy,1,35,
+asio_(asiogimuto),1,35,
+ashuku,1,35,
+asakura_mihono,4,35,
+asahiru_ban,1,35,
+asaba_yuuta,4,35,
+arwing,0,35,
+arutoria_(187497382),1,35,
+art_jam,1,35,
+art_gallery,0,35,
+arshes_nei,4,35,
+aroma0501,1,35,
+arisaka_kazuki,4,35,
+ariel_(mecha),4,35,
+archangel_(helltaker),4,35,
+arcade_gamer_fubuki,3,35,
+arc2urus,1,35,
+arai29,1,35,kouson33
+aqua_bodysuit,0,35,
+apple_bloom,4,35,
+aphrodite_(shuumatsu),4,35,
+aphelios,4,35,
+aokawa_daisuke,1,35,
+antiquewhite,1,35,
+anti-earth_bomb,1,35,
+annlin,1,35,
+anna_(or),1,35,
+anmochi_mochi,1,35,
+ankoman,1,35,
+animatic,5,35,
+anientte,1,35,
+anesthesia_(rumble_roses),4,35,
+ane_yome_concerto,3,35,
+andrew_leung,1,35,
+ana_medaiyu,4,35,
+ana_(warioware),4,35,
+amenosorashido,1,35,
+ameno_sagiri_(yuragisou_no_yuuna-san),4,35,
+ame8desu,1,35,
+amazima_mangetu,1,35,
+amatsuka_yuuna,4,35,
+amaterasu_(fate),4,35,
+amanogami_dai,1,35,
+amano_haruka_(sakogamitokuan),1,35,
+amakawa_tamawo,1,35,ten'non
+amakara000,1,35,
+alvida_(one_piece),4,35,
+alt_(apou),1,35,
+alolan_dugtrio,4,35,
+alois_rangeld,4,35,
+alicia_(kagawa_yuusaku),4,35,
+alice_claudia,4,35,
+alex_(totally_spies),4,35,
+akuru_(akr369akr),1,35,akr369akr
+akizuki_buranko,1,35,
+akikusa_peperon,1,35,
+akasaka_koutarou,1,35,kurenaitaro
+akaisuto,1,35,
+aka_ruuko,1,35,
+ajc,1,35,
+aizawa_sumie,1,35,
+aira_(exp),1,35,
+aigami_shion,4,35,
+ai_the_somnium_files:_nirvana_initiative,3,35,
+agnes_boulange,4,35,
+afrika_korps,0,35,
+aeyga,1,35,
+adzuma_nishi,1,35,
+ach_(zjakskwdf),1,35,
+abyss,4,35,
+abukawa_honpo,1,35,
+absurd_fox,1,35,
+a_ichiro,1,35,
+a-line,1,35,
+5_106y,1,35,
+45_(mdf_an),4,35,
+2v_(joyeong),1,35,
+2c,1,35,
+2980,1,35,
+24_(24phage),1,35,
+239_239,1,35,
+0.05,1,35,
+zzo0,1,34,
+zyuden_sentai_kyoryuger,3,34,
+zusshii_(libertasgenesis),1,34,
+zuman_(zmnjo1440),1,34,
+zugan_(berugkamp),1,34,sugan
+zetsu_(naruto),4,34,
+zetallis,1,34,
+zed_o'_brien,4,34,
+zamazenta_(hero),4,34,
+zakuro0508,1,34,
+z-jun.dd-zhong,1,34,da_chu_z_jun
+yyillust,1,34,
+yuzawa,1,34,
+yuzaki_tatami,4,34,
+yuyu_(spika),1,34,
+yuya_kyoro,1,34,
+yuuri_shachi,4,34,
+yuuren_kyouko,1,34,
+yuuki_kanade,4,34,
+yuuki_chigusa,4,34,
+yuuguu_settai,3,34,
+yutaka_(yutakadeath),1,34,
+yuri_lowell_(light_fedrock_uniform),4,34,
+yuri-yuri,1,34,
+yureru_(junn7603),1,34,
+yupachi,1,34,
+yunyun_(canaan),4,34,
+yunomi_(kyuusuu),1,34,
+yunlongchen,1,34,
+yuni_(manyutin),1,34,
+yumemi_gachiko,1,34,
+yumei,4,34,
+yukishita_miyuri,4,34,
+yukishiro_nanako,4,34,
+yuki_hishaku,1,34,
+yukaribe_setsuko,4,34,
+yuichirou,1,34,
+yui_(new_year)_(princess_connect!),4,34,
+yuetsuki_(ash),1,34,
+yucca_(sui_linx),1,34,
+yubaba,4,34,
+yua_serufu,4,34,
+yu_skl,1,34,sakopaet
+ytrall,1,34,
+yoyomura,1,34,
+youkai_pad,0,34,
+you_guo_chaocai,1,34,
+yosuzu,1,34,
+yoshiyoshiwa,1,34,
+yoshimura_tatsumaki,1,34,
+yoshimura_ken'ichirou,1,34,
+yoshimizu_amine,1,34,
+yonpii,1,34,
+yong-gok,1,34,
+yonesuke,1,34,
+yonecchi,1,34,
+yone_(kaguudou),1,34,
+yomi_(incubator),1,34,
+yolang_and_yolang,3,34,
+yogurt_bakudan,1,34,yogurtbomb9
+yoco_n,1,34,yoco_n02
+yinyoushirenmaotouying,1,34,
+yimamiantang,1,34,
+yiler,1,34,
+yiku_(sim7368),1,34,
+yeqing_(gorgeous_mushroom),4,34,
+yao_ren_gui,1,34,
+yanuk,1,34,
+yano_(spirit1022),1,34,
+yamine_kuro,1,34,
+yamazaki_kana,1,34,
+yamazaki_(now_printing),1,34,
+yamashita_ikuto,1,34,
+yamanobe_miki,4,34,
+yamakaze_(kancolle)_(cosplay),0,34,
+yamakamu,1,34,
+yamada_maririn,4,34,
+yakushi_kabuto,4,34,
+yakumo_hamaji,4,34,
+yakota_(usuk-yako),1,34,
+yaegaki_erika,4,34,
+yae_(yae_ringo),1,34,ringoro
+xyh,1,34,
+xobox,1,34,
+xeno_a,4,34,
+wreck-it_ralph_(character),4,34,
+wooden_bowl,0,34,
+wontam,1,34,
+wonder_project_j2,3,34,
+wodom_pod,4,34,
+wkar,1,34,
+wiori_(mashiro_miracle),1,34,
+winu_(hertrion),1,34,
+winsankemonodou,1,34,
+windworker,1,34,
+will_of_the_abyss,4,34,
+wii_version,0,34,
+whole_rest,0,34,semibreve_rest
+white_witch_(lack),4,34,
+whiskey_project,4,34,
+welve,1,34,
+weissritter,4,34,
+weedy_(candy_cape)_(arknights),4,34,weedy_(candy_fairy)_(arknights)
+"watashi_ga_suki_nara_""suki""_tte_itte!",3,34,
+watahashi_yasumi,4,34,
+wasami_(a27678193a),1,34,
+ward,0,34,
+warakusa,1,34,
+wamawmwm,1,34,
+wakasa_reo,4,34,
+wakan_tanka_(fashionista_swimsuit),4,34,
+waguruma!,3,34,
+wa_(wa),1,34,
+w.i.t.c.h.,3,34,
+vriska_serket,4,34,
+vit,4,34,
+vision_test,0,34,
+virusotaku,1,34,
+virtu.al,1,34,
+violet_detector,3,34,
+viola_(soulcalibur),4,34,viola_(soul_calibur)
+veterinarian,0,34,
+vans,0,34,
+vane_(halloween)_(granblue_fantasy),4,34,
+vampire's_sister_(gogalking),4,34,
+uzaki_hitomi,4,34,
+utsugi_tsuguha,1,34,
+uta_(tokyo_ghoul),4,34,
+usui_(tripcube),1,34,
+uss_des_moines_(ca-134),4,34,
+usagi_niku,1,34,
+urza_pranaice,4,34,
+urushihara_satoshi_(style),0,34,
+urooooboe,1,34,
+urashima_(hidoro_mgmg),1,34,
+ura_dora,1,34,uladola
+unown_z,4,34,
+unigon_(kitsutsuki),1,34,piggybank_(pixiv)
+uni_sirasu,1,34,
+uni_(unexistarts),4,34,
+undine,0,34,
+un_lim,1,34,
+un4lord,1,34,lamp_studio
+ume_neko_(otaku-nyanko),1,34,
+ultra00,1,34,
+uirou-zazami,1,34,
+ubunchu!,3,34,
+ubume_(onmyoji),4,34,
+u2suke,1,34,
+type_97_shotgun_(girls'_frontline),4,34,
+twirling_gun,0,34,
+twinpon,1,34,
+twelve_(zankyou_no_terror),4,34,hisami_touji
+tupai_(touhou),4,34,
+tsuzura_(pixiv74922627),1,34,
+tsurumi_rumi,4,34,
+tsunami_(sorudora),1,34,
+tsumura_chita,1,34,chita
+tsukumo_san,4,34,
+tsukumo_kazuita,1,34,
+tsukimi_(yukinagi),4,34,
+tsuki_(akatsuki_no_goei),4,34,
+tsukasaki_ryouko,1,34,
+tsujigaito_satoha,4,34,
+tsugumi_takakura,4,34,takakura_tsugumi
+tsuchiyama_niu,1,34,
+tsubakigaoka_metropolitan_high_school_uniform,0,34,
+transistor_(game),3,34,
+traffic_officer,0,34,
+tpamjdsta_(usatokurasu),1,34,
+toyohara_mitsuki,4,34,
+toyo_(toyozine2009),1,34,
+toyo_(toyoyomi),1,34,
+toxic_(toxicv),1,34,"to_xic4,toxic_(pixiv54732505)"
+touma_hikaru,4,34,
+touhou_costume_examination_(meme),0,34,
+tortinita_fine,4,34,
+torn_belt,0,34,
+torishimo,1,34,
+torigoe_gakuen_school_uniform,0,34,
+toooka,1,34,
+too_much_fluff,0,34,
+tonia,4,34,
+toni_infante,1,34,
+tomotototo,1,34,
+tommy_region,1,34,
+tomi27,1,34,
+tomahawk,0,34,
+tokiwa_kurumi,4,34,
+to-ru,1,34,
+tinpam,1,34,
+tini,1,34,
+time_bomb,0,34,
+tied_jumpsuit,0,34,
+tiamat_(last_origin),4,34,x-00_tiamat
+thumb_in_beltline,0,34,
+thor_(marvel)_(cosplay),0,34,
+theend,4,34,
+the_sky_crawlers,3,34,
+the_legend_of_zelda:_tri_force_heroes,3,34,
+the_king_of_fighters_'96,3,34,king_of_fighters_96
+the_girl_and_the_robot,3,34,
+the_endsinger,4,34,
+the_dark_knight_rises,3,34,
+the_chariot_(tarot),0,34,
+the_boy_(the_last_guardian),4,34,
+tetsuzankou,0,34,
+tetsukui,1,34,kamomes
+tess_turner,4,34,
+teru_(kai_teru_),1,34,
+teresa_beria,4,34,
+terauchi_kiyo,4,34,
+tendril,0,34,
+tendo_(zhazhatiantong),1,34,
+tatsuji,1,34,
+tatsubuchi_(todoiru),1,34,
+tatatsu,1,34,
+tarnyang_(queen's_blade),4,34,tarnyan
+tarako_supa,1,34,
+tarako,1,34,
+tapestry_-you_will_meet_yourself-,3,34,
+tanzawa_chizuru,4,34,
+tanahashi_suzune,4,34,
+tanagawa_makoto,1,34,
+tamo_(gaikogaigaiko),1,34,
+tamaki_(tamaki599),1,34,tamaki599
+tama_(nyanko_daisensou),4,34,
+takssmask,1,34,
+takeno_(hashi_falcon),1,34,
+takejirog,1,34,
+takefumi,1,34,
+takasaki_misaki_(koi_to_uso),4,34,
+takagi_junjirou,4,34,
+takada_naho,4,34,
+takada_gan,4,34,
+taiyou_no_yuusha_fighbird,3,34,brave_fighbird_of_the_sun
+taiyou_iwaku_moe_yo_chaos,0,34,
+taitan,1,34,
+tachiagare!_orc-san,3,34,
+table_tennis_net,0,34,
+t-back_spats,0,34,
+syu.mu,1,34,"shu.mu,user_jdnz7884"
+suzushiro,1,34,
+suzumiya_rin,4,34,
+suzuki_kana,4,34,
+sushida_hayari,1,34,
+surrender,1,34,
+suomi_(blissful_mission)_(girls'_frontline),4,34,
+sunnywang03,1,34,
+summer_days,3,34,
+sumiregawa_nenene,4,34,
+sumiosmith,1,34,
+sumino_akasuke,1,34,
+sukinako_ga_megane_wo_wasureta,3,34,the_girl_i_like_forgot_her_glasses
+suki,4,34,
+suikario,1,34,
+suiji,4,34,
+sugata_dski,1,34,
+sudhiro_sappurisa,1,34,sudhiro
+subete_ga_f_ni_naru,3,34,
+subdue_ezwei,1,34,
+striped_nails,0,34,striped_fingernails
+striped_ascot,0,34,
+stitched_hand,0,34,
+stitched_eye,0,34,
+sticky_honey_roast_(genshin_impact),0,34,
+steel_peach,1,34,
+stayblack,3,34,
+star_(ikaruga),1,34,
+ssss_ve,1,34,
+srgrafo,1,34,
+squeaky_(artist),1,34,alexis_pflaum
+spizzy,1,34,spizder
+spiking,0,34,
+sphinx_awlad,4,34,
+sparky_(arms),0,34,
+souzaipan,1,34,
+sousei_no_onmyouji,3,34,
+souma_ren,4,34,
+sophie_(middle-school_mascot)_(tales),4,34,
+sonny_boy,3,34,
+sonic_the_hedgehog_(idw),3,34,
+sona_(yuio58ok),4,34,
+so_myeolchi,1,34,
+sniper_(sekaiju),4,34,
+snifflesmp4,1,34,
+smoker_(left_4_dead),4,34,
+smersh,0,34,
+slums,0,34,
+slow_damage,3,34,
+slouch_hat,0,34,
+skyspace,1,34,
+sk_(sk-g),1,34,
+sixteenth_rest,0,34,semiquaver_rest
+siplick,1,34,
+simon_brezhnev,4,34,
+simekirikowai,1,34,
+silver_leotard,0,34,
+sigurd_(first_ascension)_(fate),4,34,
+sigetch,1,34,
+shujinkou_(eiyuu_senki),4,34,
+shoujo_sect,3,34,
+shoujo_hatsudouki,3,34,
+shou_(ahiru_shinobu),1,34,
+shokushu-chan,4,34,
+shivie_aika,4,34,
+shishi_otome,1,34,
+shirousagi_(sirousagi1998),1,34,
+shirona_mikoto,1,34,
+shirogane_mitsuki,4,34,
+shiro_(hakukosui),1,34,
+shiratsu_(white-seaside),1,34,
+shiratama_liliana,4,34,
+shiranui_(kancolle)_(cosplay),0,34,
+shirakawa_ryouko,4,34,
+shione_(memento_forest),1,34,
+shio_kuzumochi,1,34,
+shinozaki_ai_(corrector_yui),4,34,
+shinonome_soichiro,4,34,shinonome_souichirou
+shinonome_chiharu,4,34,
+shinon_(fire_emblem),4,34,
+shinomiya_naka,1,34,
+shinomiya_kyouya,4,34,
+shino_(pharmacy),1,34,
+shinjou_izumi,4,34,
+shindou_akane,4,34,
+shinalpha,1,34,
+shimoyama_mutsumi,4,34,
+shimazaki1152,1,34,
+shimasato,1,34,
+shiina_hikaru,4,34,
+shigure_ama,4,34,
+shigure_(attack_i-490!)_(azur_lane),4,34,
+shigatsugata,1,34,
+shibata_katsuie_(oda_nobuna_no_yabou),4,34,
+shibarikini,0,34,
+shiba_(pixiv244),1,34,
+sherumaa_(shellmound),1,34,
+shem-ha,4,34,
+she-venom,4,34,
+shawl_lapels,0,34,
+shardanic,1,34,
+shapiro,1,34,
+shanzha_(fruit),0,34,
+shanpao,1,34,
+seung_mo_kim,1,34,
+setsuna_(kyoushirou_to_towa_no_sora),4,34,
+seto_yuuki,1,34,
+sesame_ange,1,34,
+serizawa_ulala,4,34,
+sera_haruna,4,34,
+sera_(doubutsu_sentai_zyuohger),4,34,
+senkou_no_clarias,3,34,
+sena_(illust_sena),1,34,
+sekai_seifuku_kanojo,3,34,
+seiyo_academy_uniform,0,34,
+seinarukana,3,34,spirit_of_eternity_sword_2
+seer,3,34,
+sebastian_(dokidoki!_precure),4,34,
+sebas_tian,4,34,
+screen_door,0,34,
+scout_movement,0,34,
+sayuco,1,34,
+sayo_ayato,1,34,
+sawayuzu,1,34,kougetu009
+sawamura_chizuru,4,34,
+satsuki_yomi,4,34,
+satou_toshio_(suisuisuisui),1,34,
+satonaka_kei,4,34,
+satellite_cannon,0,34,
+sashimi0gou,1,34,
+sasameki_koto,3,34,
+sasahara_nonoka,4,34,
+sao_(saowee),1,34,
+sanmian_(chidarakeno),1,34,
+sane_(zoza),4,34,
+sakurazuka_ren,4,34,
+sakuraoo,1,34,
+sakurai_yukino,4,34,
+sakurai_natsuka,4,34,
+sakuragi_raia,1,34,
+sakura_yunuto,1,34,
+sakura_(ichisakupink),1,34,
+sakana~_(meme),0,34,
+saitu_miki,1,34,
+saimoe_2006,0,34,
+sailor_saturn_(cosplay),0,34,
+saikou-iro_aurora,1,34,
+sage_(tick!_tack!),4,34,
+saeki_teru,4,34,
+sadone,4,34,
+saboten_(flower_knight_girl),4,34,
+s_hitorigoto3,1,34,
+s_gundam,4,34,
+s.advent,1,34,
+s-m!le_yuu,1,34,
+ryu_hari,4,34,
+ryouta,1,34,
+ryaku,0,34,
+ruty_(mafuyu),4,34,
+ruru_(heat_haze),1,34,
+ruo,1,34,
+ruku_rx,1,34,
+ruined_king:_a_league_of_legends_story,3,34,
+rui_yuda,1,34,
+rottenweiler,1,34,
+rotoscoping,5,34,
+rosele,1,34,
+rosehip_t72,1,34,
+roon_(viridescent_lullaby)_(azur_lane),4,34,
+ronarona,4,34,
+rolycoly,4,34,
+rokuya_(68_zusao),1,34,
+rokuno,1,34,
+roki_(vocaloid),3,34,
+rit3set,1,34,
+rishetta_(30ms),4,34,
+risemu_(c_liesem),1,34,
+riruru,4,34,
+rinne_(pretty_rhythm),4,34,
+rin_(catherine),4,34,
+rikuo_(whace),1,34,
+rikimatsu_ariko,4,34,
+riding_animal,0,34,
+richard_ranashinha_de_vulpian,4,34,
+rich_s,1,34,animoose
+ribbon-trimmed_ornament,0,34,
+ribbon-trimmed_choker,0,34,
+ribbon-trimmed_bloomers,0,34,
+rhineheim,1,34,
+rhine_lab_(arknights),0,34,
+revolcane,0,34,
+renaissance,0,34,
+remus_john_lupin,4,34,
+remomon_(sdnn8578),1,34,
+reminiscence_re:collect,3,34,
+remil,1,34,
+reith,4,34,
+reimei_(1988),1,34,
+regeneration,0,34,
+reflector_(photography),0,34,
+reflector_(ookami),0,34,
+redman,3,34,
+redline,3,34,
+redchicken,1,34,
+red10,1,34,
+recotasan,1,34,
+rawst_berry,0,34,
+rally_car,0,34,
+raindrop_print,0,34,
+rain_(nadroj31),1,34,
+radio.broom,1,34,
+radiant_soul_(elsword),4,34,
+radek_ken,1,34,
+queen_serenity,4,34,
+qian_yi,1,34,
+q-feuille,4,34,ku_fiiyu
+pyongtaro,1,34,
+purimari,1,34,
+pudding_(arknights),4,34,
+pub,0,34,
+psyco_gundam,4,34,
+psycho-puzzle,3,34,
+prototype-d,1,34,
+princess_piranha_plant,4,34,
+princess_bullet_bill,4,34,
+priest_(ragnarok_online)_(cosplay),0,34,
+prelati's_spellbook,0,34,
+ppk_(mach_tempest)_(girls'_frontline),4,34,
+power,0,34,
+poripori,1,34,
+pop_star,0,34,
+poooka,1,34,
+pondeomaru,1,34,
+pon-chan_(mikeneko),4,34,
+pollen,0,34,
+polka_dot_towel,0,34,
+poker_face_(vocaloid),3,34,
+poisonousgas,1,34,
+poe_dameron,4,34,
+pnikatro,1,34,
+plesioth,4,34,
+planet_earrings,0,34,
+plainwhite,1,34,
+piyopiyomen,1,34,
+piyo_(piyoko528),1,34,
+pipi_o_(pipioo08),1,34,
+pipelining,0,34,
+pinlin,1,34,
+pinko_(inazume-panko),1,34,
+pink_hood,0,34,
+pineapple_hair_ornament,0,34,
+pillow_(blackpirou),1,34,
+pikachu_pop_star,4,34,
+pikachu_hood,0,34,
+pi0w0pi,1,34,
+phonic,1,34,
+phantom_(focus)_(arknights),4,34,
+perri_(mnemosine),1,34,
+perfumer_(species_plantarum)_(arknights),4,34,
+perfellcsaiko,1,34,
+peregrine_falcon_(kemono_friends),4,34,
+pentomo_(petra_gurin),4,34,
+pentakill_sona,4,34,
+penis_face,0,34,
+pelvic_thrust,0,34,
+pedestrians_only_sign,0,34,
+pd-x,1,34,
+paw_panties,0,34,
+patrick_fche,1,34,
+parnkgjas,1,34,
+panbukin,1,34,
+pa-15_(marvelous_yam_pastry)_(girls'_frontline),4,34,
+p-kana,1,34,
+oz_(maplestory),4,34,
+ouran,1,34,
+ou_kijin,4,34,
+orcbarbies,1,34,
+ootoriryouran_gakuen_school_uniform,0,34,
+oop,1,34,
+oomikado_himari,4,34,
+ooeyama,1,34,
+ono_itaru,1,34,
+one_touch,1,34,
+onacia,1,34,
+oliver_hamlin,1,34,
+okusan,3,34,
+okumura_eiji,4,34,
+okonogi_noi,1,34,
+okita_kyouko,4,34,
+okappixv,1,34,
+okamen,1,34,
+oisih,1,34,
+odin_(final_fantasy),4,34,
+odecono3,1,34,
+octavia_melody,4,34,octavia_(my_little_pony)
+ocelot_print,0,34,
+obake_no_q-tarou,3,34,
+o_imotarou,1,34,
+nyame,1,34,
+nya_lapucea,4,34,
+nuriko_(fushigi_yuugi),4,34,
+nukarumi_noren,1,34,
+nue_(phrase),0,34,
+np_(edage_no_hazama),1,34,
+no~ma,1,34,
+nose_(oekaki1825),1,34,
+norori,1,34,
+noro_(tokyo_ghoul),4,34,
+norihe,1,34,
+nor_nao,1,34,
+nopal,0,34,
+nonohara_himeko,4,34,
+nonodera_minku,1,34,
+nonneim,1,34,
+nonfiction!!_(love_live!),0,34,
+nomeoil,1,34,hirayuki_rio
+noiretox,1,34,
+nogisaka_motoka,4,34,
+noel_kreiss,4,34,
+noe_aoikaba,1,34,
+noa_yj,1,34,noa_(letizia)
+no_ribbon,0,34,
+nnn-ollll,1,34,
+nishio_nishiki,4,34,
+nishikigi_chisato_(cosplay),0,34,
+nips_(ohnips),1,34,"nicole_echeverria,ohnips"
+ninny_spangcole,4,34,
+nikumaru,1,34,
+nikuko_(galko),4,34,niku-ko_(gyaru-ko)
+nikujag96737782,1,34,
+nightmare_(soulcalibur),4,34,nightmare_(soul_calibur)
+nightcoat,1,34,
+nigatsu_(fevrali),1,34,
+next_frontier_(idolmaster),0,34,next_frontier
+newovermind,1,34,
+net_ball,0,34,
+nero_augustus,1,34,
+nepsuka_(hachisuka),1,34,
+nepodayo,1,34,
+nemu_(ceres_fauna),4,34,
+nemo_(nadia),4,34,
+nelo_anjuurou,1,34,
+nekotama_shun,1,34,
+nekosination,1,34,
+neimi_(fire_emblem),4,34,
+negatone,4,34,
+nayuta_(chainsaw_man),4,34,
+natural_another_one_2nd_belladonna,3,34,
+natt_(made_in_abyss),4,34,
+natsume_atsuko,4,34,
+napo8593,1,34,
+nanashiba_(banntlla),1,34,
+nanami_kazusa,1,34,
+nanami_(punishing:_gray_raven),4,34,
+nanahara_shie,1,34,
+nanachi_(made_in_abyss)_(human),4,34,
+namino.,1,34,
+namiharuru,1,34,
+nakamura_hiro_(nobody10ch),1,34,
+naju_soreiyu,1,34,
+nagatsuki_rio,1,34,
+nagato_(guardian_fox's_shining_furisode)_(azur_lane),4,34,
+nac_nac,1,34,
+nabeo,1,34,
+mytho_(princess_tutu),4,34,
+mystic_(tera_online),4,34,
+myria_loussier,4,34,
+myanyuki_h,1,34,
+muvluv_altered_fable,3,34,
+mutual_foot_licking,0,34,
+mutsuki_shougatsu,1,34,
+mutou_kazuki,4,34,muto_kazuki
+mutekikyuu_believer,0,34,
+mushuu,1,34,
+muro_(ninimohu),1,34,
+murakata,1,34,
+murabatodenki,1,34,gunhato_denki
+mungduck,1,34,
+multiple_shikishi,0,34,
+mugicaan1,1,34,
+mugheyart,1,34,
+muay_thai,0,34,
+mr._chang,4,34,
+mozuo,1,34,
+morrow_(hitodama-x),1,34,morrow_(artist)
+morino_hon_(style),0,34,
+moriiiiiiiiiinn,1,34,
+monogram,0,34,
+monkey1468,1,34,
+mongz,1,34,
+mone,4,34,
+momodora:_reverie_under_the_moonlight,3,34,
+momo_(idolish_7),4,34,
+momo_(gomenne),1,34,
+moleshi,1,34,moshi_imo
+mogura2009,1,34,
+mode_aim,3,34,
+moco_(captain_earth),4,34,
+mochi_(touhou),4,34,
+mmm_ss,1,34,
+mizumi_(artist),1,34,
+mizukoshi_saki,4,34,
+mizukimaru,1,34,
+mizuki_toko,1,34,
+mizuha_(pixiv56938668),1,34,
+mizugi_kanojo,3,34,
+miyata_(miyatami07),1,34,
+miyasutou,1,34,
+miyako_nagi,1,34,
+mitsuya_bonjin,1,34,
+mitsucho,1,34,
+mister_ajikko,3,34,
+mist_dragon,4,34,
+miraino_tsubasa,1,34,
+minette,4,34,
+minecraft_sword,0,34,
+minazuki_chika,4,34,
+minato_kageaki,4,34,
+minase_ruruu,1,34,
+minamoto_kouichi,4,34,
+mimo_lm,1,34,
+mimo_(pokemon),4,34,
+mimizuku_auru,1,34,
+milla_the_temporal_magician,4,34,
+mikoshi_matsuri,1,34,
+mikiharu,1,34,
+mikey_uo,1,34,
+midjourney,5,34,
+miaodiande_yuanshoumiao,1,34,
+mian_(dream_c_club)_(cosplay),0,34,
+meu_meu,4,34,
+metro-goldwyn-mayer,3,34,
+metamorphy_(elsword),4,34,
+meson,1,34,
+mekameka_shii,1,34,
+meisho_doto_(dot-o'-lantern)_(umamusume),4,34,
+mei_mu,1,34,
+megumi_yakiniku,1,34,
+mega_garchomp,4,34,
+mb0sco,1,34,
+mayuzumi_yukino,4,34,
+mayuge1017,1,34,
+mayu_(yuizaki_kazuya),4,34,
+mayaa,4,34,
+may_(anniversary_2022)_(pokemon),4,34,
+matsuya_(pile),1,34,
+matcho,1,34,
+matchadzuke,1,34,
+matangom,1,34,dangomushidara
+maruke,1,34,
+marshall_lee,4,34,
+maro_(nikeneko523),1,34,
+marimo_(momiage),1,34,
+mariachi,0,34,
+marci_(dota),4,34,
+mapuru,1,34,
+maorzshu,1,34,
+maokyu,1,34,
+manzi,1,34,
+manasseh,1,34,
+mana_(gakuburu),1,34,
+mamoru_mikokoro,1,34,sinsin719
+mamiya_akari,4,34,
+maman_(shuugetsu_karasu),4,34,
+mama_x_holic,3,34,
+makinon_tm,1,34,mtnonikam
+maji_moji_rurumo,3,34,
+main_battle_tank,0,34,
+maiini,1,34,
+mahou_shoujo_lyrical_nanoha_strikers_sound_stage_x,3,34,
+magical_charming!,3,34,
+madaragi,1,34,
+mada_(mk333),1,34,
+mad_moxxi,4,34,
+macross_flashback_2012,3,34,
+machi_(nagasarete_airantou),4,34,
+mabui_(poloon),1,34,
+mabelmine,1,34,
+maa_(roninnn),1,34,
+m202,0,34,
+lyra_(sygna_suit)_(pokemon),4,34,
+lyoo_(cacj5482),1,34,
+lv21,1,34,
+luxiel,1,34,
+lunging,0,34,
+luma_li,1,34,
+luetzow_(everlasting_blood_banquet)_(azur_lane),4,34,
+lucu_lucu,3,34,
+lucifer_(shin_megami_tensei),4,34,
+lucadark_art,1,34,
+love_(pspdspsp),1,34,
+louis_(left_4_dead),4,34,
+longhorn,4,34,
+long_(chainsaw_man),4,34,
+loki_78,1,34,
+loki_(matantei_loki_ragnarok),4,34,
+little_specter_(elsword),4,34,
+little_armory,3,34,
+lirilias,1,34,
+liremi,1,34,liremi_art
+liptan,4,34,lip-tan
+ling_(doraling12),1,34,
+lin_(tower_of_fantasy),4,34,
+limbs,0,34,
+likaou,1,34,
+liiko,1,34,
+licking_shoulder,0,34,
+licking_back,0,34,
+lichtendahl_tsery,4,34,
+leyu,1,34,
+leonardo_da_vinci,4,34,
+lena_(azur_lane),4,34,little_helena_(azur_lane)
+lazflamme,4,34,
+laura_toth,4,34,
+latex_shorts,0,34,
+lamsass,1,34,
+laikaken,1,34,
+laika_sputnik_(shepherd0821),4,34,
+lactone,1,34,
+l-trap,1,34,
+kyouka_(real)_(princess_connect!),4,34,
+kycilia_zabi,4,34,
+kuuya_(utawarerumono),4,34,kuuya_(utawareru_mono)
+kushima_kamome,4,34,
+kusa_chuu,1,34,
+kurumi_tsuchi,1,34,
+kurotama_(avino),1,34,
+kurosu_(nyakelap),4,34,
+kuroshiro_no_tsubasa,1,34,
+kuromori_suzu,4,34,
+kuromitsu_nene,4,34,
+kuroleo,1,34,
+kurokoge013,1,34,
+kuroi_yasu,1,34,
+kuroha_eve,4,34,
+kuroba.k,1,34,
+kuro_uso-ko,4,34,
+kurisu_kokone,4,34,
+kurihara_nagisa,4,34,
+kuresu_(alice-pma),1,34,beni_hyoko_(pixiv)
+kureneko,1,34,user_gzde8744
+kurashita_tsukimi,4,34,
+kuraki_mizuna,4,34,
+kuraka,1,34,
+kuontendou,1,34,
+kunsei_hamu,1,34,
+kumo_no_mukou_yakusoku_no_basho,3,34,"beyond_the_clouds,beyond_the_clouds_the_promised_place,the_place_promised_in_our_early_days,the_place_promised_in_our_early_days"
+kumano_(kancolle)_(cosplay),0,34,
+kudakitsune_(kaien_kun),1,34,
+kristoff_(frozen),4,34,
+krekkball,4,34,
+koushou_academy_school_uniform,0,34,
+kous_(onetwojustice),1,34,
+koukyou,1,34,
+kouchi_ayako,4,34,
+koucha_inu,1,34,
+kou_oishi,1,34,
+koto-channel,3,34,koto_channel
+kotera_(koterabyte),1,34,kamera-ya
+kosma,4,34,
+kos-mos_ver._3,4,34,
+koromogae_maya,4,34,
+kori_(etinop),1,34,
+korean_traditional_hat,0,34,
+konoe_fumina,4,34,
+kondate_(inugrm),1,34,
+kon_(k0n16),1,34,
+komuro_takahiro,1,34,
+komatinohu,1,34,
+komadori_ui,1,34,
+koma_neko_(natukawasaku),1,34,
+kojima_tsuma,1,34,
+kohinata_yuuma,4,34,kohinata_yuma
+kohaku_teru,1,34,
+kofucchi,1,34,
+kobe,0,34,
+ko-man,1,34,
+knives_out,3,34,
+knights_templar,0,34,
+knights_chronicle,3,34,
+klein_(honkai_impact),4,34,
+kizuta_(barometz),1,34,chsntttst
+kiteretsu_daihyakka,3,34,
+kitami_tsuzuka,1,34,
+kishiri_(sakurasaku_xyli),1,34,
+kishiinu,1,34,
+kisaragi_mizuto,1,34,
+kiryuu_reia,1,34,
+kiryuu_nanami,4,34,
+kirishima_sagiri,4,34,
+kirishima_noa,1,34,
+kirin_kai-ii,4,34,
+kiraboshi_(star_driver),0,34,
+kintsugi,0,34,
+kino_mayumi,4,34,
+kingdom_of_victoria_logo,0,34,
+king_jikochuu,4,34,
+kimura_takako,4,34,
+kimura_masahiro,1,34,
+kimpanzi,1,34,
+kimidorix32,1,34,
+kimi_to_boku_no_saigo_no_senjou_arui_wa_sekai_ga_hajimaru_seisen,3,34,our_last_crusade_or_the_rise_of_a_new_world
+kikusaka_kochou,4,34,
+kiku_(ks5832),1,34,
+kikokugai,3,34,
+kikka_kitamoto,4,34,
+kiiro,1,34,
+ki_min-woo,1,34,
+keypad,0,34,
+kensei_(ciid),1,34,
+kemonosuke_(kmskths),1,34,
+keldeo_(resolute),4,34,
+kei1_833,1,34,
+kebohan,1,34,
+kazumi_schlierenzauer,4,34,
+kazama_touko,4,34,
+kazairo_kotone,4,34,
+kawaii_hito,1,34,
+katsuki_toshiya,4,34,
+katou_setsuko,1,34,
+katou-chan_(shiromanta),4,34,
+katori_(katokichi),1,34,
+kasuga_kusunoki,4,34,
+kashiwagi_yomogi,4,34,
+karuna_(madlax),1,34,
+karna_(formal_dress)_(fate),4,34,
+karmatron_y_los_transformables,3,34,
+karkat_vantas,4,34,
+karasuke_d,1,34,
+karakuri_shoujo,3,34,
+karakasa_(murakumo_koushou),1,34,
+kanzume_shima,1,34,kandume_sima
+kanzato_shin,4,34,
+kanzaki_ranko_(cosplay),0,34,
+kantoqyoiko,1,34,
+kansuke_(bubuduke),1,34,
+kanogi,1,34,
+kano_(singer),4,34,
+kanina_shizuka,4,34,
+kanasaki,1,34,
+kanami9731,1,34,
+kamogawa_girls'_high_school_uniform,0,34,
+kamisama_to_unmei_(series),3,34,
+kamisama_no_inai_nichiyoubi,3,34,
+kamisakai,1,34,
+kaminaga_kouko,4,34,
+kameseru,1,34,
+kamen_rider_leangle,4,34,
+kakuu,1,34,
+kako_(reku),4,34,
+kajiwara_shikaji,1,34,
+kajitsu_no_hito,1,34,
+kajimiya_(kaji),1,34,
+kaizin_rumble,3,34,
+kainou_yoshiko,4,34,
+kaijuicery,1,34,
+kagosaka_mahiro,4,34,
+kagikake,1,34,kazaguruma
+kafkasea,1,34,
+kafei_(fkey),4,34,
+kabeyama_heigorou,4,34,
+k-san,1,34,
+junito715,1,34,
+june_(squeezable),4,34,
+julio_(precure),4,34,
+judy_(animal_crossing),4,34,
+judith_(glamorous_maid)_(tales),4,34,
+jubjub_(monster_girl_encyclopedia),4,34,
+jr.,4,34,rubedo
+joshua-42-as,4,34,
+josh_corpuz,1,34,
+josette,4,34,
+josal,1,34,
+joka_(hiwai),1,34,
+jin-lian,4,34,
+jiajiuli,1,34,
+jed_henry,1,34,
+jangmo-o,4,34,
+jack_bright,4,34,
+jack_(kairuhaido),1,34,
+j._geil,4,34,
+izuna_kazuki,1,34,
+izayoi_cha,1,34,
+iyo_(nanaka-0521),1,34,
+iwazoukin,1,34,
+ivxxx,1,34,
+itou_kanae,4,34,
+itosiki_zetu,1,34,
+itaru_(kidomh63),1,34,
+ishino_mikoto,4,34,
+ise_dango,1,34,
+isayama_mei,4,34,
+isane,1,34,
+isabella_(yakusoku_no_neverland),4,34,
+ioryogi,4,34,
+inushida_(dogsheepsheep),1,34,momiji_manjuu_(usagiblackmore)
+inubousaki_aya,4,34,
+intestine_hair,0,34,
+infini,1,34,
+inazuma_kick,0,34,inazumakick
+inari,0,34,
+impulse_gundam,4,34,
+ilovetani,1,34,ryonryoryonryon
+ilhi,1,34,
+ikr_(artist),1,34,
+ikisugi_shokudou,1,34,
+iketatsu_shizuru,1,34,ikeron
+ikeda_yuuji,1,34,
+ikebana,0,34,
+iinuma_kaoru,4,34,
+iguchi_akari,4,34,
+icoo,1,34,icoochu
+ichizon,1,34,
+ichinose_ibuki,1,34,
+ichihashi_makoto,1,34,
+icelee,1,34,
+ibara,3,34,
+hzw3,1,34,
+huaji,0,34,
+hua_ming_wink,1,34,
+howling_(busou_shinki),4,34,
+hourai_girl_(touhou),4,34,
+houjou_(takagi-san),4,34,
+houjoh_(7th-heaven),1,34,
+hottan!,1,34,hottan
+hotatechoco_(hotariin),1,34,
+hosokawa_miki,4,34,
+hoshiyume_yashiro,1,34,
+hoshiyuki_aruru,1,34,
+hoshiyui_tsukino,1,34,
+horizon_(counter:side),4,34,
+horikoshi_jirou,4,34,
+hoodie_tug,0,34,
+honolulu_(manjuu_mischief)_(azur_lane),4,34,honolulu_(fire_red_present)_(azur_lane)
+honneamise_no_tsubasa,3,34,wings_of_honneamise
+honjou_ranko,4,34,
+honda_civic,0,34,
+homoo...,4,34,
+homer_simpson,4,34,
+holding_lifebuoy,0,34,
+hms_thunderer_(siirakannu),4,34,
+hiya_(dkr),1,34,hiya_(pixiv)
+hitsuji_(sheepsb22),1,34,
+hitomilook,1,34,
+hit_(dragon_ball),4,34,
+hisaki_yukari,1,34,
+hisakawa_sora,1,34,
+hiroyuki_koto,1,34,
+hiroshiko_(restart),1,34,
+hirobakar,1,34,
+hiroaki_(hiropon_pj),1,34,
+hiraken,1,34,
+hipster,0,34,
+hippopotamuso,1,34,kaba_(flusspferd)
+hinann_bot,1,34,
+hinamizawa_kurumi,4,34,
+himuka_roko,1,34,
+himawari_no_kyoukai_to_nagai_natsuyasumi,3,34,
+hijiribe_ruri,4,34,
+hijiki_(hijiri_st),1,34,
+hiiragi_inori,4,34,
+higashikata_josuke_(cosplay),0,34,
+hifumitaka,1,34,
+hide_(acceed),4,34,
+hibiki_tohru,1,34,"hibiki_tooru,hibikitohru"
+hero_roller_(splatoon),0,34,
+hermithessa,1,34,
+heo_sung-moo,1,34,
+heiyu,1,34,
+hayase_sou,4,34,
+hayasaka_hiyori,4,34,
+hatyo,1,34,hatyo017
+hatsune_miku_(vocaloid4)_(chinese),4,34,
+hatomugi_(hato6g),1,34,
+hataraki_kuma,1,34,
+hat_girl_(umamusume),4,34,
+hasumikaoru,1,34,
+hassan_of_serenity_(fate)_(cosplay),0,34,
+haruka_athena,4,34,
+hannyag,1,34,
+hanata,1,34,
+hananon,1,34,
+hanamoto_tenka,4,34,
+hanamizuki_(flower_knight_girl),4,34,
+hanami_shione,4,34,
+hanami_(horizon),4,34,
+hanabusu_arisu,4,34,
+hamo_(maca-roon),1,34,hamomooo
+hakushoku_n,1,34,
+hakuro109,1,34,
+hagure_yuusha_no_estetica,3,34,aesthetica_of_a_rogue_hero
+hadashi_no_kenji,1,34,hadaken
+hachi-kun,1,34,
+h&k_hk417,0,34,hk417
+gz_(gyoju),1,34,
+gyess963,1,34,
+gundam_kyrios,4,34,
+gunbelt,0,34,
+gumbat,1,34,
+guizhong_(genshin_impact),4,34,
+grogu,4,34,
+gripen_(girly_air_force),4,34,
+grey_headband,0,34,
+gremio_(gensou_suikoden),4,34,
+green_mittens,0,34,
+great_white_shark,0,34,
+great_dane,0,34,
+grandmother_(little_red_riding_hood),4,34,
+grancrest_senki,3,34,
+gomora,4,34,
+gomihitosi,1,34,
+golden_eagle_(kemono_friends),4,34,
+gisela_(madoka_magica),4,34,
+gintama_movie_2:_yorozuya_yo_eien_nare,3,34,
+ginga_patrol_jaco,3,34,
+gin_ji,1,34,
+gin_daikon,1,34,
+gigantamax_gengar,4,34,
+gig_(soul_cradle),4,34,
+ghost-pepper,1,34,
+getter_arc,4,34,
+gear_print,0,34,
+garrison_regiment_(emblem),0,34,
+garon_(fire_emblem),4,34,garon_(fire_emblem_if)
+gantz_sword,0,34,
+gamako,1,34,
+galil_ar_(upotte!!),4,34,"galil_(upotte!!),galil_(upotte)"
+gakuen_alice,3,34,
+g36_(pure_white_cornflower)_(girls'_frontline),4,34,
+fuu_(frol),1,34,
+futo-inu,4,34,
+futa-futa,1,34,
+fusou_(kancolle)_(cosplay),0,34,
+furutori,1,34,
+furudori_yayoi,1,34,
+fur-trimmed_shawl,0,34,
+fukiishi_ayako,4,34,
+fukami_naoyuki,1,34,
+fukagawa_kazumi,1,34,
+fujita_yukihisa,1,34,
+fujisawa_kamiya,1,34,
+fujisaki_nadeshiko,4,34,
+fujinoki_nene,4,34,
+fujima_emiri,4,34,
+fuguriya_(monoton),1,34,
+fuchigami_mai,4,34,
+frilled_hood,0,34,
+freely_tomorrow_(vocaloid),3,34,
+freddie_(gundam_build_divers_re:rise),4,34,
+frea,1,34,
+franco_il_nero,4,34,
+fran_(gudanco_(nyanmeowzer)),4,34,
+four_of_hearts,0,34,
+foodtoyc,1,34,
+flyx2,1,34,
+flynn_scifo_(student_body_president),4,34,
+flying_animal,0,34,
+fluffy-pokemon,1,34,
+flip_(diiolive),1,34,
+flaxvivi,1,34,
+flat_tire,0,34,
+flan_(zhd91),1,34,fuku_arashi
+fishsyrup,1,34,
+fishneak,1,34,kuro_fn
+finger_piercing,0,34,
+fine_falke,4,34,
+fetch,0,34,
+ferry_(santa_minidress)_(granblue_fantasy),4,34,
+fernandez_(fearless_night),4,34,
+felice,1,34,
+feather-trimmed_gloves,0,34,
+father_and_child,0,34,
+fastener_(psg),4,34,
+fasces,1,34,
+faithom,1,34,
+fairyjack,1,34,
+ex_saki,1,34,
+everyntrge,1,34,
+evarella_(berserk),4,34,
+eumenes_(fate),4,34,
+estelle_(cieluscian),4,34,
+esmeralda_(disney),4,34,
+eske,1,34,
+esbeliben,0,34,
+erspace,1,34,
+erin_(granblue_fantasy),4,34,
+entrenching_tool,0,34,
+enterprise_(heroic_finery)_(azur_lane),4,34,
+enriend,1,34,
+enoshima,0,34,
+eno_(whiskeyne),1,34,
+engawa_suguru,1,34,e_rondon_boots
+elwing_ra-nah_sylphith,4,34,
+ellowas,1,34,
+ellone,4,34,
+ellie_(kisaragi_yuu),4,34,
+elizabeth_(tomas21),1,34,
+elis_120%,1,34,eris_120
+egyuuu,1,34,
+efira,1,34,
+eden_grenze,3,34,
+eddie_(gyee),4,34,
+echi_kanichi,1,34,
+ebi_(daidalwave),1,34,
+earth_badge,0,34,
+e_snow_jp,1,34,
+dystopia,0,34,
+dynamotor,1,34,
+dune_(series),3,34,dune_(movie)
+dry_bones,4,34,
+dressy_alice_(idolmaster),0,34,dressy_alice
+dragoon_(fft),4,34,lancer_(fft)
+dracul,1,34,
+dqn_(rokomoko0),1,34,
+double_fellatio,0,34,
+dospi,1,34,
+donne_anonime,4,34,
+dongdong,1,34,tras030303
+dong-jin_rice-hime,3,34,
+don_patch,4,34,
+dokuromaru,1,34,
+doki_doki_oyako_lesson,3,34,
+dodonpachi_daioujou,3,34,
+dim_lighting,0,34,
+die_letzte_(tc),1,34,tragic_comedy
+dice_members_(danganronpa),4,34,
+diana_caprice,4,34,
+dellu_(geenymous),4,34,
+decarabia,4,34,
+dead_body_(among_us),4,34,
+ddalrim,1,34,
+datli64,1,34,
+daru,1,34,
+danchu_(danchu0628),1,34,
+danbi2021,1,34,
+dakian,1,34,
+dailybloopy,1,34,
+daihannya_nagamitsu_(touken_ranbu),4,34,
+d_(xxl30433461),1,34,
+d-tomoyo_(thekingkas),1,34,
+cum_on_eyewear,0,34,
+cu-sith,1,34,
+crowgod,1,34,
+cross_world,3,34,
+cross_patty,0,34,
+croissant_(seeker)_(arknights),4,34,croissant_(explorer)_(arknights)
+crocea_mors_(rwby),0,34,
+cream_soda,0,34,
+crazy_hand,4,34,
+costone,1,34,
+coria,1,34,
+contender_(flowerful_maid)_(girls'_frontline),4,34,
+computer_club_president_(suzumiya_haruhi),4,34,
+commercial,0,34,
+comma,1,34,
+color_banding,5,34,
+cola_miku,4,34,
+code,0,34,
+close_game/offline_(project_sekai),0,34,
+clock_hair_ornament,0,34,
+cleric_beast,4,34,
+clawitzer,4,34,
+claris_(group),3,34,
+cithis,4,34,
+cinnamon_sabaku,1,34,
+christina_(tanaka_the_wizard),4,34,
+chong_wuxin,1,34,
+chiyoda_momoka,4,34,
+chinkyuu,4,34,
+chihaya_megumi,4,34,
+chiba_chinatsu,1,34,
+chiaki_lsd,1,34,
+chi_yei,1,34,
+chewycandy,1,34,
+cheshire_(the_cat_and_the_white_steed)_(azur_lane),4,34,cheshire_(highness_in_white)_(azur_lane)
+cherry_blossom_(sk8),4,34,sakurayashiki_kaoru
+cheona_(last_origin),4,34,
+chemaru_(a8l),1,34,
+charlotte_francia,4,34,
+character_portrait,0,34,
+chain's,1,34,
+chagataaa,1,34,
+ceo_and_bodyguard,3,34,
+cats_yone,1,34,
+cat_pajamas,0,34,
+cat_cutout_panties,0,34,
+cat_(masterwork_apocalypse),4,34,
+cartesian_chart,0,34,
+carmilla_(re:zero),4,34,
+camel_clutch,0,34,
+call_of_duty:_modern_warfare_3,3,34,
+californian_sea_otter_(kemono_friends),4,34,
+cako_asida,1,34,
+cacao_(cacaomgmg),1,34,
+byuune,1,34,
+byougaku,1,34,
+butaneko,1,34,
+bunny_pillow,0,34,
+bundesliga,0,34,
+brz,1,34,
+brown_(among_us),4,34,
+brilliant_pagoda_or_haze_castle,3,34,
+brigette_(pokemon),4,34,
+brick_(atelier_brick),1,34,jeongwon
+breast_rings,0,34,
+breast_pull,0,34,
+braid_girl_(enmu's_recruits),4,34,
+brachydios,4,34,
+bowtruckle,4,34,
+bow_bloomers,0,34,
+booth_tomato,1,34,
+boobies_uniform,0,34,
+bonnou-s-rice,1,34,
+bomb_man,4,34,"bomberman_(rockman),bombman"
+bokuno,1,34,
+boingoo,1,34,
+bohe,1,34,
+bluebell,4,34,
+blue_reflection_tie,3,34,
+blue_garter_belt,0,34,
+blue_bloomers,0,34,
+blaze_(minecraft),4,34,
+blanca_(fate),4,34,
+blackdomo,1,34,
+blackarachnia,4,34,
+black_tiara,0,34,
+black_mamba_(kemono_friends),4,34,
+billy_lee_black,4,34,
+billie,1,34,
+bikuto_ryuu,1,34,
+big_mac,0,34,
+bielin,1,34,tdf7156
+bibi_(bibi47881139),1,34,
+bi_yao_zhuye,1,34,
+beruzumi-m,1,34,
+beppo_(granblue_fantasy),4,34,
+bennopi,1,34,
+benjamin4679,1,34,
+benibara_nadeshiko,4,34,
+behind_moon,1,34,
+beatrix_kiddo,4,34,
+bear_slippers,0,34,
+bear_ringer,1,34,rudosan
+barururunru,1,34,
+bart._d,1,34,
+bard_(ragnarok_online),4,34,
+barbara_(genshin_impact)_(cosplay),0,34,
+bao_(s_888),1,34,
+bans,3,34,
+banjoo,1,34,
+bad_patreon_id,5,34,
+back_peek,0,34,
+b6n_tenzan,0,34,
+azuazuazu19,1,34,
+ayase_yuka,4,34,
+ayase_sakimi,4,34,
+ayano_rena,1,34,
+aya-on_(miria00),1,34,
+atsuko,4,34,
+asuka_(busou_shinki),4,34,
+asmodeus_(the_seven_deadly_sins),4,34,lust_(the_seven_deadly_sins)
+ashleigh_hetrick,1,34,
+asano_tomoya,1,34,
+asake_ameji,1,34,
+artina,1,34,
+artemis_(junketsu_no_maria),4,34,
+arrow_earrings,0,34,
+arimura_shion,4,34,
+arimura_hinae,4,34,
+arimon_(dfrgty12),1,34,
+argyle_coat,0,34,
+argos_(ff14),4,34,
+arescr,1,34,
+apj,1,34,
+apis_(ousama_ranking),4,34,
+aozame_takao,1,34,
+aomaxuanzexuexi,1,34,
+aoki_rei,4,34,master_trainer
+aoi_kao_(lsz7106),1,34,
+aoi_chiruko,1,34,
+aoba_shou,1,34,
+ao_no_kitsune,1,34,bluefox021228
+anonimasu,1,34,
+annie_barrs,4,34,
+angoha,1,34,
+angelo_(ff8),4,34,
+anastasia_(shvibzik_snow)_(fate),4,34,shvibzik_snow
+anal_wine,0,34,
+amick_(americanomix),1,34,
+amefurin,1,34,"ashuu_nyaan,rin_(amefurin)"
+amayakan,1,34,
+amaya_uw,1,34,
+amase_(siki696),1,34,
+amamorient,1,34,
+also_sprach_zarathustra_(neco),3,34,
+almostdeadbydawn,1,34,
+alisia_heart,4,34,
+alina_gray_(halloween_ver.),4,34,
+alfa_(alpharig),1,34,
+alex_(sandora),1,34,
+albus_severus_potter,4,34,
+akubi_(fyfy),1,34,
+akke_(akke299),1,34,fujimaru_(inumog)
+akizuki_maria,4,34,
+akito_(owata11),1,34,akito_(pixiv101375)
+akita_momoko,4,34,
+akira_(sayo_dayoo),1,34,
+akira_(cookie),4,34,
+aki_(yunkana),1,34,
+aketa_chika,1,34,
+akechi_mitsuhide_(fate),4,34,
+akasabi,1,34,
+aju222,1,34,
+aji082,1,34,
+aizawa_yoshihiko,1,34,
+aizawa_sachi,1,34,sachy_(sachichy)
+airalin_(mark_folks),4,34,
+aikawa_you,1,34,
+aijima_cecil,4,34,
+ai_nige,1,34,
+ai_(re:lief),4,34,
+agrt,1,34,
+agent_(ikuoikuo),1,34,
+agarest_senki_mariage,3,34,
+afrostar,1,34,
+adriana_visconti,4,34,
+adjusting_shirt,0,34,
+adelie_(space_dandy),4,34,
+adachi_taeko,4,34,
+adachi_rei,4,34,
+acomu414,1,34,
+abekawa_kinako,4,34,
+aankau,1,34,
+aalge,1,34,
+a's_wonderland,3,34,
+^v^,0,34,
+9tsumura,1,34,
+9h,1,34,ads_(gady3353)
+82jhin,1,34,
+77,3,34,
+5health,1,34,
+4b-enpitsu,1,34,
+3692materia,1,34,
+2gold,1,34,
+10million,1,34,
+10box_seisakujo,1,34,
+1059,1,34,
+1-gou_(111touban),1,34,
+zunda_mochi,0,33,
+zombie_ke,1,33,
+zilvern,4,33,
+zi_ye_(hbptcsg2),1,33,
+zhuotian,1,33,
+zhen_panxie,1,33,
+zhang_wei_yi,1,33,"z-w-y,zwy-001"
+zhai,1,33,
+zerozaki_hitoshiki,4,33,
+zentaiteki_ni_sensation,0,33,
+zenra1112,1,33,
+zenpouji_isaku,4,33,
+zelus,1,33,
+zedoraart,1,33,
+ze_xia,1,33,
+zara_(queen's_blade),4,33,
+zao_(housamo),4,33,"zaou_(housamo),zaou_(tokyo_houkago_summoners)"
+zanyak,1,33,
+zantetsu_(gesogeso),4,33,
+zant,4,33,
+zagashira,1,33,
+zabaniyya_(fashionista_swimsuit)_(housamo),4,33,
+z46_(girls'_relay)_(azur_lane),4,33,
+yuzushiro,1,33,
+yuzuriha_inori_(cosplay),0,33,
+yuzuaji,1,33,
+yuusha_raideen,3,33,"brave_raideen,brave_reideen,yuusha_reideen"
+yuuri_(vpxh7525),1,33,
+yuunagi_yuu,1,33,
+yuukyuu_no_campanella,3,33,
+yuukou,1,33,
+yuuki_makoto_(cosplay),0,33,
+yuuki_hiko,1,33,
+yuu_(warm_water),1,33,kome_(9969095)
+yurooe,1,33,
+yunomachi,1,33,
+yuno_(black_clover),4,33,
+yumemiya_subaru,1,33,
+yukirei,1,33,riku19981209
+yukino_kanae,4,33,
+yukineko,1,33,
+yukimura_tokine,4,33,
+yukimai,1,33,
+yukihiroyuki,1,33,
+yuki_miya,1,33,
+yuki_daruma92,1,33,sashaalex
+yukatama,1,33,
+yuiyui_(konosuba),4,33,
+yuitanpo,1,33,
+yue_zi,1,33,
+yuduki_(tt-yuduki),1,33,
+yu_arin,1,33,
+ysk_(yusuke),1,33,nexie
+your_tie_is_crooked,0,33,
+you_taira,1,33,yoi_(yoi99yoi)
+you_marino,4,33,
+yoshikawa_hazure,1,33,
+yoshida_sei,1,33,
+yoshida_(nono_ko),1,33,
+yonyon_(yotayota_honpo),1,33,
+yome_sagashi_ga_hakadori_sugite_yabai.,3,33,
+yoku_wakaru_gendai_mahou,3,33,
+yoko-ya_manjirou,1,33,
+yoga_doujou_(misawajima),1,33,
+yjsnpi_interview_(meme),0,33,interview_series_(inmu)
+yingji_(zszero),1,33,
+yigali_xinji,1,33,
+yi_l_chen_5,1,33,
+yet_you,1,33,
+yellow_mittens,0,33,
+yatsushiro_nanaka,4,33,
+yatogami_kurou,4,33,
+yamato_(083),1,33,
+yamasaki_tomoya,1,33,
+yamagishi_saki,4,33,
+yamada_yuuki,1,33,
+yamada_saburou,4,33,
+yakubeni,1,33,
+yakov_feltsman,4,33,
+yaibaken,1,33,
+yaburebouki_akuta,1,33,
+xiaojishangtian,1,33,
+xia_lan,3,33,
+xe-shine_(ishiyumi),4,33,
+x<,0,33,
+x.x.d.x.c,1,33,809218622
+wtcolor,1,33,
+woshinon,1,33,
+wjs07,1,33,
+with_ribbon,3,33,
+witch_hunter_robin,3,33,
+witch's_heart,3,33,
+wiping_pussy,0,33,
+winx_club,3,33,
+wilbur_(animal_crossing),4,33,
+white_loincloth,0,33,
+white-paka,1,33,
+whislash_(glory_purple)_(arknights),4,33,
+wheel_of_fortune_(tarot),0,33,
+weathergirl,0,33,
+weapon_shop,0,33,
+weapon_on_floor,0,33,
+wazuka_na_shiawase,1,33,
+wawawama,1,33,
+wataya_arata,4,33,
+washi_(micino),1,33,
+war_wolf_(last_origin),4,33,t-75_werewolf
+war_paint,0,33,
+wade99,1,33,
+w4pz,1,33,
+void_specialist_wraith,4,33,
+vladimir_elliot_kirilenko,4,33,
+violence_devil_(chainsaw_man),4,33,
+vica,1,33,
+vi_(ena0930),1,33,
+vepley_(girls'_frontline_2),4,33,
+vanta-black,1,33,
+vanna,1,33,
+vampirella_(character),4,33,
+valbar_(fire_emblem),4,33,
+vagabond,3,33,
+uzuki_kai,1,33,udzuki_kai
+uzaki_hana_(cosplay),0,33,
+uttt,1,33,
+utsuro_no_hako_to_zero_no_maria,3,33,
+utada_hikari,4,33,
+usuzumi_kei,4,33,
+usoco,1,33,
+usami_haru,4,33,
+uratari,1,33,
+urami,1,33,
+ura_(ura-tennislove),1,33,
+up_(mmmmmmmmss),1,33,
+unoone01,1,33,
+unko_samurai,1,33,
+under_the_desk_(idolmaster),0,33,under_the_desk
+ume_(pickled_plum),1,33,
+umatachi_tsugumi,4,33,
+umaguti,1,33,
+ukitanisu,1,33,ukitanisu_(pixiv45737)
+ueno_tomo,1,33,
+uemoto_sumire,4,33,
+ucchii,1,33,
+ubo_(dbsgurdbsk),1,33,
+tyson_hesse,1,33,
+type_56_assault_rifle,0,33,
+two_of_clubs,0,33,
+two-sided_capelet,0,33,
+tubuan_oisii,1,33,
+tu_tora2,1,33,
+tsuyuki_yuki,1,33,
+tsuruya-senpai,4,33,
+tsuruki_noki,1,33,
+tsuri_baka,3,33,
+tsukushite_ageru_no_ni!,3,33,
+tsukino_(show_by_rock!!),4,33,
+tsukimi_daifuku,1,33,
+tsugu0302,1,33,
+tsugikuni_michikatsu,4,33,
+tsuda_kousuke,4,33,
+tsubaki_(flower_knight_girl),4,33,
+trixie_lulamoon,4,33,
+trencker,0,33,
+travel,0,33,
+transparent_weapon,0,33,
+transparent_headwear,0,33,
+track_marks,0,33,
+touzuki_suzuya,4,33,tohzuki_suzuya
+touzokuou_bakura,4,33,"bandit_king_bakura,thief_king_bakura"
+toutoumi,1,33,
+touming_renjian,1,33,
+toukoku_sasaiko,1,33,
+touka_(shirotsume_souwa),4,33,
+toudou_kyoushirou,4,33,
+toshiyu_(10shi_yu),1,33,juuyonkou
+toro_zai,1,33,torozai0702
+toriko_no_shizuku_~natsu_no_gouka_kyakusen_de_kegasareru_otome-tachi~,3,33,
+torikichi_(tsukikuma_enthalpy),1,33,
+toppo,0,33,
+topper_(nu_carnival),4,33,
+tooaya,1,33,
+toni_(artist),1,33,
+tomoe_you,4,33,
+tomj,1,33,
+tokimori_aoi,4,33,
+tobi_(daidaikukan),1,33,
+titania_frost,4,33,
+tiru,1,33,
+tiger_i_(personification),0,33,
+thundurus_(therian),4,33,
+three_of_diamonds,0,33,
+thor_(toaru_majutsu_no_index),4,33,
+the_milkmaid,3,33,
+the_grudge,3,33,
+the_godfather,3,33,
+the_god_of_death,3,33,
+the_girls_of_armament,3,33,
+the_demonata,3,33,
+thatob,1,33,
+tewatasanaiinu,4,33,
+tetsu_(aurvandil),1,33,
+tesomu,1,33,
+terada_tera_(style),0,33,
+tera2001,1,33,
+tentacle_and_witches,3,33,
+tenjouin_miruku,4,33,
+tengan_kazuo,4,33,
+temptation_h,3,33,
+teketeke_(tekenotteke),1,33,
+tauta_(meshia8787),1,33,
+tatsuo_(tty0607),1,33,
+tatsuki_(debris),4,33,
+tatiana_kirgetova,1,33,
+tatebayashi_miharu,4,33,
+tat_(prototype2d),1,33,
+taruto_(takug0812),1,33,
+taracomax,1,33,
+tanuki_(metaltanuki),1,33,
+tanoma_suzume,1,33,
+taniguchi_(female),4,33,
+tang_elen,1,33,
+tamidro,1,33,
+tame,1,33,
+tamayo_(kimetsu_no_yaiba),4,33,
+tamariyazuna,1,33,
+tamaki_(tamaki_pic),1,33,
+tam_(tam0804),1,33,
+takekushi_meguru,4,33,
+take_no_ko_(4919400),1,33,
+takatsu_kokone,4,33,
+takatoiyori,1,33,
+takanya,4,33,
+takanoori_middle_school_uniform,0,33,
+takano_akira,4,33,
+takana_shinno_(character),4,33,
+takahashi_note,1,33,
+taka_(tokyoboogienight),1,33,
+taiyang_xiao_long,4,33,
+taisos,1,33,
+taishou_tanaka,1,33,
+taichou_furyou,1,33,
+tachibana_yuu_(shika),1,33,
+tachibana_surimu,1,33,
+tachi_yure,1,33,
+table_knife,0,33,
+t.k.o,1,33,
+szayelaporro_granz,4,33,szayel_aporro_granz
+syrene_(kyuri_tizu),4,33,
+swordfish_ii,4,33,
+suzuka_(once),1,33,
+suzaku_(oekaki_no_sekai),1,33,suzaku_(artist)
+sushisalmon95,1,33,
+sushi_171,1,33,
+supernatural_(tv_series),3,33,
+super_sonico_(cosplay),0,33,
+sunaipu_(age-zero),1,33,
+sumioo_(sumikko_no_ousama),1,33,y_(sumikko_no_ousama)
+sumimoto_ryuu,1,33,
+suiyou_taruta,1,33,
+suimin_(sui_0y0),1,33,
+suikaxd(zhanweiheng1992),1,33,
+suika_(kinokoh),1,33,
+sugarbell,1,33,
+sugar_(one_piece),4,33,
+suehachi_(hikage),1,33,
+sucking_both_nipples,0,33,
+succulent_plant,0,33,
+subverse,3,33,
+studio_ghibli_(style),0,33,
+streets_of_rage_4,3,33,bare_knuckle_iv
+stranger_things,3,33,
+stolichnaya_(vodka),0,33,
+stick_bernard,4,33,
+steller's_sea_lion_(kemono_friends),4,33,
+stay_puft,4,33,
+starry_night,3,33,
+star_tail_(alice_girls),4,33,
+standplay,1,33,
+sqloveraven,1,33,
+splatterhouse,3,33,
+spinzaku,0,33,
+spider_itou,4,33,
+spamton_g._spamton,4,33,
+sowichi,1,33,
+sore_ga_seiyuu!,3,33,
+sorcerer_rogier,4,33,
+sorai_mahiru_(fukahire),4,33,
+sora_(zwz030),1,33,
+sonou_momoka,4,33,
+solange_blanchefleur_de_luxe,4,33,solange
+soho_reina,4,33,
+soemy,1,33,
+sm156,1,33,
+slow_motion_(vocaloid),3,33,
+sleep_kirby,4,33,
+skirt_bow,0,33,
+sirpent,1,33,
+sin_devil_trigger,0,33,
+sin_(hitonatsu),1,33,
+sin.x,1,33,
+sin.,1,33,
+silver_luster_tagore,4,33,
+shyi,1,33,
+shuri_(oshiro_project),4,33,
+shunta,1,33,
+shugogetten_shaolin,4,33,shugogetten_shaorin
+shu-ten,1,33,
+shredder_(tmnt),4,33,
+shoulder_support,0,33,
+shougun-sama_wa_otoshigoro,3,33,
+shoot_the_bullet,3,33,
+shishikura_seiji,4,33,
+shishidou_takane,4,33,
+shishamo_(scholacco),1,33,
+shirosei_mochi,1,33,
+shirokuroma_29,1,33,
+shirokuro_(monochrome0226),1,33,koji45hiro
+shiroi_noria,1,33,
+shiratsuyu_(kancolle)_(cosplay),0,33,
+shirato_sayuri,1,33,
+shiraki_ai,1,33,
+shiraishi_kouhei,1,33,shiraishi_(shirox)
+shirai_sanjirou,1,33,
+shirai_kuroko_(cosplay),0,33,
+shippo_(skink),1,33,
+shinonome_ryouko_(juusan_kihei_bouei_ken),4,33,
+shinoji_(shin_status),1,33,
+shinohara_seiko,4,33,
+shinjou_kanae,4,33,
+shinjin-chan_(belko),4,33,shinjin-chan_(lolicept)
+shinigami_kiraki,1,33,
+shimo_(yatagarasu),4,33,
+shimada_arisu_(cosplay),0,33,
+shimabara_ushio,4,33,
+shihaku_rare,1,33,
+shige_(moe-ren.net),1,33,
+shiden_akira,1,33,
+shichisaburo,1,33,
+shiboritoranaide_onna_shounin-san,3,33,
+shibazaki_yousuke,4,33,
+shibaya_toshimi,4,33,toshimi_(k-on!)
+shi_huang_di_(third_ascension)_(fate),4,33,
+shep_(stickysheep),4,33,
+shells,0,33,
+shelkopryad,1,33,
+sheba_(golden_sun),4,33,shiba_(golden_sun)
+sharu_(dog_days),4,33,
+shark_(gomtang),4,33,
+severed_tail,0,33,
+sevens_road_witch,4,33,
+seven_(scissor_seven),4,33,
+setins,1,33,
+seshiro_(which501),1,33,
+servants_holding_aphrodite's_breasts_(meme),0,33,
+serdyukov_(girls'_frontline),4,33,
+seraphim_call,3,33,
+sera_narumu,1,33,seranaru
+separated_wrists,0,33,
+senpai_(oekakizuki),4,33,
+sendou_yuzuka,4,33,
+selection_project,3,33,
+sekisei,1,33,
+sekigan,1,33,
+seiya_(artist),1,33,
+seiten_(queen's_blade),4,33,
+seihouin_erika,4,33,
+seggs_(meme),0,33,
+sega_hatsumi,4,33,
+seeing_stars,0,33,circling_stars
+scotishfold,1,33,
+scorecard,0,33,
+scissors_hair_ornament,0,33,
+scarletsky,1,33,
+sayonara_wo_oshiete,3,33,
+sayo_(kiki_kaikai),4,33,
+saty-rokuji,1,33,
+satsukitane_mikako,4,33,
+satoutakahumi,1,33,
+satou_kivi,1,33,
+satou_(una-vittima),1,33,
+satou,1,33,
+satori_(sa_bird08),1,33,
+sato_(samanosuke_0710),1,33,
+sasaki_junya,4,33,
+sasaki_(sid328),1,33,
+sasahara_natsuki_(hyper_police),4,33,
+sarara,4,33,
+saphir_(sailor_moon),4,33,prince_sapphire
+santarou,1,33,
+sansui.aoba,1,33,is_(isnchi)
+sans_(cosplay),0,33,
+sanroku_3,1,33,
+sangobob,1,33,
+sand_on_skin,0,33,
+sancking_(fatekl),1,33,
+san_moto,1,33,
+salve_(8947279),1,33,
+salsa_tortilla,4,33,
+sal,1,33,
+sakurameguri_shirou,1,33,
+sakurako-san_no_ashimoto_ni_wa_shitai_ga_umatteiru,3,33,beautiful_bones:_sakurako's_investigation
+sakurai_kouji,1,33,
+sakeko,1,33,
+saitou_hajime_(rurouni_kenshin),4,33,
+saintpaulia_(flower_knight_girl),4,33,
+sailor_galaxia,4,33,
+saikawa_(0902k137),1,33,
+sahara_kazumitsu,1,33,
+sado_yasutora,4,33,
+sabutarou,1,33,
+saburou_hiji,1,33,
+saberillya2,1,33,
+saber_(fire_emblem),4,33,savor
+s35,0,33,
+ryuugajou_nanana,4,33,
+ryousan_gataki,1,33,
+ryourou_(edexigerero),1,33,edexigerero
+runachikku,1,33,
+royal_tea,1,33,
+rowkiba,1,33,
+rota_(078),1,33,666_(ro_ro_ro3)
+rostina_cosmos,4,33,
+rosetta,4,33,
+rosemary_bergamot,4,33,
+rose_(dragoon),4,33,
+rosamia_badam,4,33,
+roland_(library_of_ruina),4,33,
+roki_(shouka65),1,33,
+rodent,0,33,
+robocop_(character),4,33,
+rivet_(vvrn2825),1,33,
+ritsu_(re710pngn),1,33,
+rita_vrataski,4,33,
+risa_(pixiv23908854),1,33,
+ris,1,33,
+rinoda_mano,4,33,
+rin-chan_now!_(vocaloid),3,33,
+rimsuk,1,33,
+rifu_(hunihuni1130),1,33,
+rifa_tellu_anelethea,4,33,
+rie-co,1,33,
+rideword_(ragnarok_online),4,33,
+ricardo_milos,4,33,
+rererere_mon,1,33,
+reniirean,1,33,
+remyfive,1,33,
+reido1177,1,33,
+reese_(mk001black),4,33,
+red_eyewear,0,33,
+rayearth_(character),4,33,
+rasa_k,1,33,
+rarorimiore,1,33,
+rari_(badominton),1,33,badominton
+ranger_(elsword),4,33,
+ramuda_(guilty931),1,33,
+rajaki_(oboro_muramasa),4,33,
+raira,1,33,
+rainforest,0,33,
+rainbow_badge,0,33,
+rain_of_arrows,0,33,
+raimu_(yuzu-raimu),1,33,
+raiden_punching_armstrong_(meme),0,33,
+ragnarok_online_2:_legend_of_the_second,3,33,
+rabbitcamilla,1,33,
+r-15_(series),3,33,
+queen-zelda,1,33,
+quake,3,33,
+qnakamura,1,33,
+qingfeng_canying,1,33,
+qianhai,1,33,
+q-tarou,4,33,
+puffin,0,33,
+pubic_tattoo_through_clothing,0,33,
+psychicjin,1,33,
+protagonist_(lost_property_control_organization),4,33,
+propeller_hat,0,33,
+programming_(topic),0,33,
+priscilla_(claymore),4,33,
+princess_party,3,33,
+prestige_edition_(league_of_legends),0,33,
+poruneko,1,33,
+poking_head,0,33,
+pointing_spider-man_(meme),0,33,pointing_spider-man
+pogo_stick,0,33,
+pochio,1,33,
+pochiharu,1,33,
+pocchipocchi,1,33,
+plug_cryostat,4,33,
+planted_axe,0,33,
+plaid_sweater,0,33,
+plaid_sarong,0,33,
+pio_(potion_maker),4,33,
+pink_usagi,1,33,
+pink_dot_balloon_(idolmaster),0,33,pink_dot_balloon
+pine_(angel4195202),1,33,
+pierre_yoshio,1,33,
+phenice_walholl,4,33,
+phasmophobia,3,33,
+phantasmic,1,33,
+petsuo_(penpen),1,33,
+peter_white,4,33,
+peter_(peter6409),1,33,
+peta_(snc7),1,33,
+penomena,4,33,
+pen_guin15,1,33,
+pelleas_(fire_emblem),4,33,
+peanuts_(ennuim),1,33,
+paya_(paya19891115),1,33,
+paul_von_oberstein,4,33,
+pato_(ptro),1,33,
+patchouligo,1,33,
+pariya,4,33,
+paperclip_hair_ornament,0,33,
+pandegg,1,33,
+palru_s2,1,33,
+p_kotarou,1,33,
+p08_(girls'_frontline),4,33,p08_(girls_frontline)
+ozu_(yojouhan),4,33,
+ouroboros_(lord_of_the_mysteries),4,33,
+otokobara,1,33,
+otaple,0,33,
+osu5i,1,33,
+oshimaidebu,1,33,
+oscar_gonzalez_loyo,1,33,
+osagiri_shuka,4,33,
+orioto,1,33,
+orinte,1,33,
+orgus_(f-kare),4,33,
+orebelt,1,33,
+orbis_terra,3,33,
+orangec,1,33,
+opera_vectra,4,33,
+ootomo_sourin_(sengoku_otome),4,33,
+oosato_haya,1,33,
+ooka_(skavler),1,33,
+onuma_kuma,1,33,
+onock,1,33,
+onnomono,1,33,
+onigiri_yumi09,1,33,
+onigiri_(vtuber),4,33,
+onigiri_(mmorpg),3,33,
+omedetou!_(meme),0,33,
+olga_hodrewa,4,33,
+okinu_(okinu_dane),1,33,
+okami_(kami_soubi),1,33,
+oira_(kagaribi),1,33,
+ohjin,1,33,
+ohil_(ohil822),1,33,
+oh_jiyu,4,33,
+oguri_cap_(miraculous_white_star)_(umamusume),4,33,
+office_worker_(pokemon),4,33,
+odo_7ta,1,33,
+ochite_iku_niizuma,3,33,
+ochi_(ochi1094),1,33,
+oboro_kai_(kancolle),4,33,
+obake-chan_(yozora_mel),4,33,
+nyto_alina_(girls'_frontline),4,33,"nyto_polarday_(girls_frontline),nyto_white_(girls_frontline)"
+nyctea_snow,1,33,
+nurse_(silent_hill),4,33,
+nunuan,1,33,
+numadaira,1,33,
+null2deoru,1,33,
+nukui_hayu,4,33,
+nukidoki!,3,33,
+nozomi_(summer)_(princess_connect!),4,33,
+nouzui,1,33,
+norton_campbell,4,33,prospector_(identity_v)
+noppera-bou,0,33,
+nojiko,4,33,
+noel_(mermaid_melody_pichi_pichi_pitch),4,33,
+noboes,1,33,
+nobell_(bell_no5),1,33,
+nlitz,1,33,
+nix_(ak-style),1,33,
+niwacho,1,33,
+nishina_kazuki,4,33,
+nirasaki_hinata,4,33,
+nikumocchi,1,33,youximiaomiao
+nikaido_yamato,4,33,
+nik_ibi,1,33,cr_dagger
+nicol_ascart,4,33,
+nezumoto,1,33,
+new_orleans_(warship_girls_r),4,33,
+new_moon,0,33,
+nero_tol_scaeva,4,33,
+neon_(valorant),4,33,
+neo-tk..,1,33,
+nenemaru,1,33,
+nemachi,1,33,
+nelnal,1,33,
+nellen,1,33,
+nelio,4,33,
+nekoyashiki_nekomaru,1,33,
+nekokawaigari,3,33,dote_up_a_cat
+nekojita_(ika_neko46),1,33,
+neko_sheep,1,33,
+neiless_neiro,1,33,
+negationtenmaru,1,33,
+nefushutan_no_yoroi,0,33,
+neckwear_lift,0,33,
+ncww_rinichi,1,33,
+natsunoyuu,1,33,
+natsumi_schwarz,4,33,
+natsume_mio,4,33,
+natsume_asako,4,33,
+natsuki_(natsuyasumi.),4,33,
+natsu_no_iro_no_nostalgia,3,33,
+natsu_(norari_kurari),1,33,
+natalia_luzu_kimlasca_lanvaldear_(beloved_princess),4,33,
+natalia_(idolmaster)_(cosplay),0,33,
+narcissu,3,33,
+nanmokaken,1,33,
+nanashishi,1,33,
+nanao_mugi,1,33,
+nanami_yachiyo_(pajamas_costume),4,33,
+nanahosiryuuki,1,33,
+nana_(krt_girls),4,33,
+nameko_face_(osawari_tantei),0,33,
+namaiki!,3,33,
+namae_ga_kimaranai_man,1,33,
+nakonbu,1,33,
+nako_ryu,4,33,
+nakazuki_yuuna,1,33,
+nakano_kinzan,1,33,
+nakahara_sumi,4,33,
+naitou_shouko,4,33,
+nagone_mako,4,33,
+nago_celica,1,33,
+nagase_riko,4,33,
+nagant_revolver_(astral_bond)_(girls'_frontline),4,33,
+nadeshiko_rin,1,33,
+nachi_(herousa),1,33,
+myuuu_ay,1,33,
+myuu1995,1,33,
+myuracchi_(ayashii_hon'ya),1,33,
+my_(mylilla811),1,33,
+muvluv_alternative_chronicles,3,33,
+mustard_(pokemon),4,33,
+muso-comet,1,33,
+musical_note_earrings,0,33,
+muroto_aki,4,33,
+muroi_(fujisan0410),1,33,
+murasame_maru,1,33,
+munchie_(dq8),4,33,
+multiple_penetration,0,33,
+mui_mui_(snk),4,33,
+mugman,4,33,
+mugen_dai,1,33,
+mu_fengchun,1,33,
+mrs._kujo,4,33,mrs._kuujou
+mrploxykun,1,33,
+mr.lostman,1,33,
+mr._and_mrs._smith,3,33,
+mp443,0,33,
+mo~zu,1,33,
+mozzu,1,33,
+mozan,1,33,
+moyashi_san4,1,33,"don_(sjag3855),moyashi_sousaku"
+mountain_bicycle,0,33,
+motsushi,1,33,
+motorii,1,33,
+motoko_(ambiy),1,33,
+mother_lumi_(matilda_fiship),4,33,
+morino_(harpoomoss),1,33,komodai
+mori_tarou,1,33,
+mori_shinji,1,33,
+moonlight_~omoide_no_hajimari~,3,33,
+monster_girl_island,3,33,
+monotsuki,1,33,
+mono_1010,1,33,
+monara,4,33,
+monable,1,33,
+mona_(destiny_child),4,33,
+momozono_momo_(high_school_dxd),4,33,
+momoji_(momojihiha),1,33,
+momohara_kana,1,33,
+moku_(racie45bv),1,33,
+mojisan_(ebimo),1,33,
+mojipittan,3,33,
+mogami_yoshiaki_(sengoku_collection),4,33,
+mocollie,1,33,
+mochizuki_erena,4,33,mochizuki_elena
+mochigana,1,33,
+mochamillll,1,33,mokamiru
+mm39572,1,33,
+mizuno_rin,4,33,
+mizuna_tomomi,1,33,
+mizukiri_fuurai,1,33,
+mizukabe,3,33,
+miyoshi_nao_(miyoshist),1,33,
+miyashiro,1,33,
+miyakawa-ke_no_kuufuku,3,33,
+miyachu,1,33,
+miya_(pure_lemon),1,33,
+mixivsky,1,33,
+miu_(c_blue),1,33,
+mitsuba_(watergarden),1,33,
+mitsu_masaya,1,33,mystmu
+mitorizu_02,1,33,
+mitora5,1,33,
+mist_(rune_factory),4,33,
+missmoonified_(voice_actor),1,33,missmoonified
+miss_barbara,4,33,
+miso_bon,1,33,
+miseo_(mrkglove),1,33,miseinen
+misaki_runo,4,33,
+mirage_koas,4,33,
+mirabilis_(fire_emblem),4,33,
+minuo,1,33,
+minior_(blue_core),4,33,
+mini_crewmate_(among_us),4,33,
+minghecanyue,1,33,539862536
+minecraft_pickaxe,0,33,
+mind_rape,0,33,
+minami_natsuno,4,33,
+minael,4,33,
+mimolette_(galaxy_angel),4,33,
+milreaf,4,33,
+mikhail_n,1,33,
+mikannu,1,33,
+mikanagi_ibuki,4,33,
+mikan_(wanko),4,33,
+mie_(sukinako_ga_megane_wo_wasureta),4,33,
+midorikaze_fuwari,4,33,
+michi_ta_(masquerade),1,33,
+michelin,3,33,
+mia_(kuja999),1,33,
+mi2mi2_minmi,1,33,
+mg3,0,33,
+meta-tron,1,33,
+merueki,1,33,
+merican_sack,1,33,meriken0111
+menthuthuyoupi,4,33,
+melk_(7th_dragon),4,33,
+meliyannn,1,33,
+meganeko_(battle_spirits),4,33,
+mee_(sohin),4,33,
+meat_armor,0,33,
+mcq,1,33,
+mayoko_(sisqo_5003),1,33,
+mayoiga,3,33,
+mayo_cha,1,33,
+mattyakinako_(odango_imomushi),1,33,
+matsuha_shuu,1,33,
+mateus_upd,1,33,
+matebashi,1,33,bbf2017
+matching_earrings,0,33,
+masuko_mika,4,33,
+massachusetts_(kancolle),4,33,
+masi_masio,1,33,
+mashed_potatoes,0,33,
+masana_hatuse,1,33,
+masamune_oekaki,1,33,
+marupuni,1,33,
+martha_(aerial_drive)_(fate),4,33,aerial_drive
+maria_rasputin,4,33,
+maoi,1,33,
+manun-chan,4,33,
+manny_ambassada,4,33,
+mandara_misaki,1,33,
+mamiya_marie,4,33,
+mame_(yangqi787),1,33,
+mamagogo_(gomaep),1,33,
+makurano_neena,4,33,
+mako_(macomaco7),1,33,
+makai_penguin,1,33,
+maiori_00,1,33,
+maiden_astraea,4,33,
+maid_imouto_(maoyuu),4,33,little_sister_maid_(maoyuu)
+mahou_tsukai_ni_taisetsu_na_koto,3,33,"someday's_dreamers,someday's_dreamers"
+mahou_senshi_louie,3,33,
+mahou_no_tame_no_shoujo_club,3,33,
+mahado,4,33,mahad
+magika_no_kenshi_to_basileus,3,33,
+magical_grim,4,33,
+mafia_(vocaloid),3,33,
+machi_futo,1,33,
+macayase,1,33,
+maazyu,1,33,
+maasan,1,33,
+maabou,1,33,
+m4_gun,1,33,
+m-chan_(kinbakuman),4,33,
+luvents3,1,33,
+lumpychan,1,33,
+luli,1,33,
+lukiarab,1,33,
+lucuha,4,33,
+lucifer_(helltaker)_(cosplay),0,33,
+lost_july,1,33,
+longship,0,33,drakkar
+log_cabin,0,33,
+locking,0,33,
+liyu_li,1,33,
+livegun,0,33,
+lit_candle,0,33,
+ling_dianxia,1,33,
+linebarrel,4,33,
+lin_xue_ya,4,33,
+liminarity,1,33,a0
+lilith_(shinrabanshou),4,33,
+lilim_(shingeki_no_bahamut),4,33,ririmu_tia
+lilim_(megami_tensei),4,33,
+libeccio_(azur_lane),4,33,
+liangchanxingmingrixiang,1,33,
+li_zeyan,4,33,
+letter_pose,0,33,
+les_chevaucheurs,3,33,
+lentain,1,33,lentain229
+lena_liechtenauer,4,33,
+lena_dai,1,33,lenadai_art
+lemon_raimu,1,33,
+lemon89h,1,33,yang_hm
+lein,1,33,
+legion_(titanfall_2),4,33,
+laurie_(personal_ami),4,33,
+laura_stuart,4,33,
+lataedelan,1,33,
+last_embryo,3,33,
+lapis_lazuli_(gemstone),0,33,
+lanxjourney,1,33,
+langrisser_v,3,33,
+lan_wangji,4,33,
+laffey_(white_rabbit_welcomes_the_spring)_(azur_lane),4,33,laffey_(new_year_rabbit)_(azur_lane)
+la13,1,33,
+kyuu_you,1,33,
+kyousin,1,33,
+kyo722,1,33,
+kuze_matsuri,1,33,
+kuusou_code_plus,3,33,
+kutori_pan'ya,1,33,cfm
+kusunoki_suzu,4,33,
+kururunpa,1,33,
+kuroto_yamaneko,1,33,
+kurono_mika,4,33,
+kuromori_(1010845110),1,33,
+kurokurokuro,1,33,kuro_kuro_kuro
+kuroda_kanna,4,33,
+kurenai907,1,33,
+kurebayashi_yuzuki,4,33,
+kurahashi_(kancolle),4,33,
+kujou_sakurako,4,33,
+kugatunohito,1,33,
+kuchinashi_(needless),4,33,
+kubota_junichirou,4,33,
+krusier,1,33,
+koyomi_hare_nanaka,4,33,
+kowaremashita,1,33,
+kousaka_yuuji,4,33,
+kousaka_ayano,4,33,
+kouotsu,1,33,
+kou_(01310808),1,33,
+kotegiri_gou,4,33,
+koshirae,0,33,
+koshi-kun,1,33,
+koromo_(kinu),1,33,
+konomu0522,1,33,
+konigstigerchan,1,33,
+komeiji_koishi_(cat),4,33,
+koku_666,1,33,
+kokoperiiche,1,33,
+koke_ojisan,1,33,
+kojima_hirokazu,1,33,
+kohaku_(fuu),4,33,
+kogyokuapple,1,33,
+kogarasu1st,1,33,
+koboke_(scscsc),1,33,
+kmcgold30,1,33,
+kkkhosuke,1,33,
+kizuchi_r,1,33,
+kiyohime_(kiyohime_in_ribbons)_(fate),4,33,
+kiya_hajime,1,33,
+kiwa_(pokemonwars),1,33,
+kisugae,1,33,
+kiss_(stand),4,33,
+kisaragi_miyuki,1,33,
+kisaragi_akane,4,33,
+kiriyama_yui,4,33,
+kirii,1,33,
+kira_hitomiko,4,33,
+kira!_mankai_smile_(idolmaster),0,33,kira!_mankai_smile
+kinoshita_yuuko,4,33,
+kino_haruc,1,33,
+kino-sr,1,33,
+kingfisher,0,33,
+kinako_(moment),1,33,
+kinako928,1,33,
+kimono_girl_(pokemon),4,33,
+kimihara_himeno,4,33,
+kimberly_(azur_lane),4,33,
+kikuyarou,1,33,
+kikuta_mokutaro,4,33,
+kikukawa_norihiko,1,33,
+kikuchi_tae,4,33,
+kikimimi_612,1,33,
+kiki_(herayoshi),4,33,
+kijima_hyouka,4,33,
+kii_(monster_musume),4,33,
+kide_koushin,1,33,
+ki_no_rapika,4,33,
+key_(kagibangou),1,33,
+kenshin_(kenshin3),1,33,
+kenny_(poe90),1,33,
+kengo_(granblue_fantasy),4,33,
+ken_the_eagle,4,33,
+kemukemuke,1,33,
+keijimohumohu,1,33,
+keep_calm_and_carry_on,0,33,
+kdkaikai,1,33,
+kbn317,1,33,
+kazumi_yoshizu,1,33,
+kazu-chan,1,33,nanohapoi
+kazeoto_kirito,1,33,
+kazanami,1,33,
+kayama_tamami,4,33,
+kawamochi_(tddm3573),1,33,
+kawai_shizuka,4,33,serenity_wheeler
+katou_kouki,1,33,rororo
+kataruruni,1,33,
+katagi_ren,1,33,
+katachi_noboru_nishikino,1,33,ximuyexingsheng
+kasuga_shun,1,33,
+kashiwagi_kazuhiro,1,33,"kasiwagi_kazuhiro,limit_cycle,tapuo"
+karyl_(princess_connect!)_(cosplay),0,33,
+karambit,0,33,
+kaoswald,1,33,
+kanou_sumire,4,33,
+kannagi_ai,4,33,
+kanikani_(juicy),1,33,
+kanda_shouichi,4,33,
+kanataria,1,33,
+kanarai_taru,1,33,
+kanade,1,33,
+kamunika,1,33,
+kamomura_ayane,4,33,
+kamiya_yuuji,1,33,
+kamishiro_ryouga,4,33,
+kamira_naito,1,33,
+kaminashi_yamato,1,33,
+kamikita_keiko,4,33,
+kalsept,1,33,
+kaleido_ruby_(cosplay),0,33,
+kakoikaren,1,33,
+kajo,1,33,kaji_(pixiv)
+kairi_(oro-n),1,33,
+kainazuki,1,33,
+kaida_haru,4,33,
+kai_(nyanko_daisensou),4,33,
+kahama_youko,1,33,
+kagoya1219,1,33,
+kagome_(pattern),0,33,
+kagemaro,1,33,
+kagaya_nene,4,33,
+kaena_swaya,4,33,
+kadowaki_satoshi,1,33,
+kadomaki_shinnosuke,1,33,
+kadaka_(9m),1,33,
+k_kymz,1,33,
+juneplums,1,33,
+julius_belkisk_harway,4,33,
+julion_(akesuzu),1,33,
+jukuta_tsu,1,33,
+jojofon,1,33,
+jkisaradu,1,33,
+jiuyesang,1,33,
+jitsudan,1,33,
+jishou_f-rank_no_oniisama_ga_game_de_hyouka_sareru_gakuen_no_chouten_ni_kunrin_suru_sou_desu_yo?,3,33,
+jiseki_rena,1,33,
+jinmen-gyo_(kemono_friends),4,33,
+jin_yi_dui,1,33,
+jeremy_chong,1,33,
+jeong_sana,4,33,
+jazz_kawa_sodom,1,33,
+jay156,1,33,
+jannong,1,33,
+janne_d'arc,4,33,
+james_cabello,1,33,
+jakqbigone,1,33,
+jacknaiff,1,33,
+jack-barro,1,33,
+jaana_kettu,4,33,
+j_(ppxx3543),1,33,
+j.c._staff,3,33,
+j-peg,1,33,
+izumo_konata,1,33,
+izna_(iznatic),1,33,.kitsuna
+iwashi_(nisankatanso),1,33,
+itsumi_(kaptivate),4,33,
+itsuki_(sengoku_basara),4,33,
+it's_super_effective,0,33,
+ispin_charles,4,33,
+isora_hibari,4,33,
+iso_(nh15mint),1,33,
+island_turtle,0,33,
+isekai_sakaba_no_sextet,3,33,
+iru_may_(akairiot),4,33,
+ipod_nano,0,33,
+invisible_object,0,33,
+inverto,1,33,
+inuzumi,1,33,
+inuwaka_nazuna,4,33,
+inukai_michiru,4,33,
+inuhiko_(istdog),1,33,hiko_(fuwamaru)
+inubousaki_shian,4,33,
+inu_fuji,1,33,
+inu_(cookie),4,33,
+internet_survivor,3,33,
+instance_domination,0,33,
+inside_out,3,33,
+inose_mai,4,33,
+inmu-kun,4,33,
+index_(toaru_majutsu_no_index)_(cosplay),0,33,
+inamochi_keiichirou,1,33,
+inaba_tewi_(bunny),4,33,
+implied_pornography,0,33,
+impero_(azur_lane),4,33,
+imp_(impractical),1,33,
+immature_blue,1,33,
+imaikuy0,1,33,
+ilmeria_von_leinweber,4,33,
+ikurumi_kaoru,1,33,ikurumi
+ikuhiro_(19nnnkti16),1,33,
+ikeshiki-chuujou,1,33,
+ikeda_akihisa,1,33,
+ikari_gendou_(cosplay),0,33,
+ikami_(rockhardridefree),1,33,
+igarashi_miyuki,4,33,
+ienaga_kano,4,33,
+iefukurou,1,33,
+idolmaster_shiny_festa,3,33,
+ichiya1115,1,33,
+ichineko.,1,33,
+ichiman_nisen_yen,1,33,
+iceojin,1,33,
+ice_keki,1,33,
+ibuki_douji_(swimsuit_berserker)_(second_ascension)_(fate),4,33,
+ian_dimas,1,33,ian_dimas_de_almeida
+i-58_(kancolle)_(cosplay),0,33,
+hyp,1,33,
+hyou_haku,1,33,
+huuyu_1z,1,33,
+huoyi_(zzh100200),1,33,
+hunter_(great_one)_(bloodborne),4,33,
+huamuan_huamuan,1,33,
+housengo,1,33,
+hotel_dusk,3,33,
+hoso_miyuki,1,33,
+hoshizaki_rika_(kanojo_mo_kanojo),4,33,
+hoshitsuki_miki,4,33,
+hoshigaki_(hsa16g),1,33,
+hoshi_ichi,1,33,
+hororo,4,33,
+hoozuki_(otome_youkai_zakuro),4,33,
+honoo_teruki,1,33,
+honegai,1,33,
+homomomomon,1,33,
+homare_(princess_connect!),4,33,
+holding_shorts,0,33,
+holding_pants,0,33,
+holding_flame,0,33,
+holding_drawing,0,33,
+hitotoshite_jiku_ga_bureteiru,0,33,
+hitopm,1,33,
+hitohira,3,33,
+hitoguchi_(hioxhio),1,33,
+hisuian_goodra,4,33,
+hiruno_ushiro,1,33,
+hirono_hiro,4,33,
+hippopotas_(male),4,33,
+hinuma_yuuri,4,33,
+hinbackc,1,33,
+hinase_(twoxout),1,33,
+hina_(xoxo),1,33,
+hina_(one_piece),4,33,
+himuro_rikka,4,33,
+himemura_saki,1,33,
+himekiss,3,33,
+hime_apple,1,33,elllikn97
+hikiyama_towa,1,33,
+hikagi_tatsuhiko,1,33,
+hijiki_(deriku4),4,33,
+hiiraki_asuka,4,33,
+hiiragi_(hanamaru_youchien),4,33,
+hiharo,1,33,
+high_elf_(warcraft),0,33,
+higashiyama_seika,4,33,
+hiep_studio,1,33,
+hideyuki_i,1,33,
+hesocha,1,33,
+heroman_(robot),4,33,
+heriki_(trkj),1,33,
+henrietta_(log_horizon),4,33,
+hen-tie,1,33,
+hellme,1,33,
+hellk111,1,33,
+helevu,4,33,
+hedge_clippers,0,33,
+heart_bracelet,0,33,
+he_c92,1,33,koujuiy
+hd-hlh-3h,1,33,
+hboxgames,1,33,
+hazime,1,33,
+hayase_akira,1,33,
+hawker_harrier,0,33,"bae_harrier,bae_sea_harrier,bae_sea_harrier_frs.mk.1,bae_sea_harrier_frs.mk.2,harrier,sea_harrier,sea_harrier_frs.mk.1,sea_harrier_frs.mk.2"
+hatamichi_mihiro,1,33,
+hasutani_taki,1,33,
+hasegawa_suzuho,4,33,
+hasegawa_akemi,4,33,
+harusame_tsubaki,1,33,
+haruna_konomi,4,33,
+haruhito1211,1,33,
+haru_(haru2079),1,33,
+hanegasaki_academy_uniform,0,33,
+hanaki_yuka,4,33,
+han_juri_(cosplay),0,33,
+hakuto_momiji,1,33,
+hakobako,1,33,
+hajime_x_cross,0,33,
+hajimari_wa_kimi_no_sora,0,33,
+haiyun,1,33,
+hair_raising,0,33,
+hai_yoru,1,33,
+hachimitsukyuuto,1,33,
+hachiko_(0088),1,33,
+hachihito,1,33,bo_ren
+hachi_(hachikai),1,33,
+haburashi,1,33,
+habane_kotori,4,33,
+h&k_xm8,0,33,
+gyarakushi_shokudou,1,33,
+gunspike,3,33,cannon_spike
+gunslinger_(ragnarok_online),4,33,
+guilty_crown_lost_christmas,3,33,
+groin_punch,0,33,
+green_fox_(sasaame),4,33,
+green_bandeau,0,33,
+greed_packet_unlimited,3,33,
+greatwhite1122,1,33,
+greater_bird-of-paradise_(kemono_friends),4,33,
+grapple,0,33,
+goumonsha,1,33,
+gospel_(mazohaha),4,33,
+goro_simpson,4,33,
+gore_magala,4,33,
+gong,0,33,
+goichi,1,33,
+glass_(tate_no_yuusha_no_nariagari),4,33,
+gipehtyboo,1,33,
+giorno_giovanna_(cosplay),0,33,
+gilgamesh_(modern_costume_of_volupte)_(fate),4,33,
+gge_(gebback_dark),1,33,cross_(togano)
+gerichan,1,33,
+gerda_(fate),4,33,
+gentle2nd,1,33,
+genocide_cutter,0,33,
+genkai,4,33,
+garnet_(the_rumble_fish),4,33,
+gareth_(swimsuit_saber)_(fate),4,33,
+gamjolno,1,33,
+game_show,0,33,
+gal_to_otaku_wa_wakari_aenai.,3,33,
+fx-05_(girls'_frontline),4,33,
+fuyutarou,1,33,
+futaori_arisa,1,33,"yuuki_(momokanku),yuuki_(pixiv134222)"
+futago_monad,1,33,
+futa_yami,1,33,
+fumotewi,1,33,
+fullani,3,33,
+fujiwara_miyabi_(aikatsu!),4,33,
+fujita_kanbe,1,33,
+fujishima_(raving_phantom),1,33,
+fujimaruu,1,33,
+fujimaru_ritsuka_(male)_(chaldea_pathfinder),4,33,
+fujiko_sugi,1,33,
+frilled_bowtie,0,33,
+frey_(fisheye_placebo),4,33,
+french_maid_nidalee,4,33,
+fred_jones,4,33,
+frances_royce,4,33,
+foxy_(kof),4,33,
+foxy_(fnaf),4,33,
+foxinshadow,1,33,
+fox_devil_(chainsaw_man),4,33,
+foch_(rainbow_rendezvous)_(azur_lane),4,33,
+flower_tank_(touhou),0,33,flower_tank
+florida-chan_(ryusei_hashida),4,33,
+flight_highschool,3,33,
+fliegerhammer,0,33,
+fletchinder,4,33,
+flat_chastity_cage,0,33,
+filho_rossi,4,33,
+filet_(kai_himo),4,33,
+fidget_(dust:_an_elysian_tail),4,33,
+fgm-148_javelin,0,33,javelin_(rocket_launcher)
+fetishy,1,33,
+feriowind,1,33,
+fencing_suit,0,33,
+fencer_(sekaiju),4,33,
+fei_er,1,33,
+fate/protoreplica,3,33,
+fantasia_re:build,3,33,
+fang_xue_jun,1,33,
+fallen_of_albaz,4,33,
+face_stretching,0,33,
+eye_in_palm,0,33,
+executioner_maid_(centuriic),4,33,
+excalibur_(warframe),4,33,
+exabyte_(parallax05),1,33,parallax05
+evasong,1,33,
+espgaluda,3,33,
+escaflowne,4,33,escaflowne_(guymelef)
+eroge!,3,33,
+erimiko,1,33,
+erica_blandelli,4,33,
+ereshkigal_(youming_niangniang)_(fate),4,33,
+enu_naitsu,1,33,
+enogu,3,33,
+engraved,0,33,
+endou_akira,4,33,
+emperor_zuou,1,33,
+emperor_of_mankind,4,33,
+emergence_(shindol),3,33,metamorphosis_(shindol)
+elvetie,4,33,
+elsi,1,33,
+elna,1,33,
+ellen_baker_(cosplay),0,33,
+el_fuerte,4,33,
+eileen_galvin,4,33,
+eflunn_(emilylunn),1,33,
+eeeeeiti_aka,1,33,
+edward-el,1,33,
+edita_(tanaka_the_wizard),4,33,
+eda,1,33,
+echt,1,33,
+ecchisage,1,33,
+ebrietas_daughter_of_the_cosmos,4,33,
+ebichiri_sunday,1,33,ontama_(z1p579)
+ebi_senbei,1,33,
+dutch_(black_lagoon),4,33,
+dust:_an_elysian_tail,3,33,
+durian,0,33,
+dragon_gal,3,33,
+dorago_(doraemon4),1,33,
+dorachefu,1,33,
+doonatsu.,1,33,
+donkey_kong_country_2,3,33,
+dondo,1,33,
+donald_duck_sailor_hat,0,33,
+don_corneo,4,33,
+dolphin_penis,0,33,
+dokuta,1,33,
+dokudokudoku,1,33,
+doko_ka_no_hosono,1,33,
+doitsuudon,1,33,
+dogdogbhh,1,33,
+dnk,1,33,
+divine_bustier_(dq),0,33,
+disguised_zorua,4,33,
+dirty_legwear,0,33,
+dinef,1,33,
+dilemma_(vocaloid),3,33,
+digimon_ghost_game,3,33,
+diaoxian_kuangmo,1,33,
+diabolo,0,33,
+devoured_by_darkness,0,33,
+denim2,1,33,
+dengeki_gx,1,33,
+denchi_more_power,1,33,
+demon_slayer_(dungeon_and_fighter),4,33,
+dell,0,33,
+defiaz_(infinity),1,33,
+defenestration,0,33,
+deerling_(autumn),4,33,
+decoration_disorder_disconnection,3,33,
+de_lisle_carbine,0,33,
+david_semsei,1,33,
+daruizen,4,33,
+darui_hito,1,33,
+darkside_ochinpo_burst,1,33,
+dark_emperors,0,33,
+dangyu_(danganpa),1,33,
+dance_pad,0,33,"dance_mat,dance_platform"
+daikinbakuju,1,33,
+daby,1,33,
+da_akana_xiv,1,33,
+d-cao,1,33,
+cute_honey,3,33,
+custard,0,33,
+cure_southern_cross,4,33,
+cure_princess_(macadamia_hula_dance),4,33,
+ctn_sasuke,1,33,kandasasuke
+crowgirl,4,33,
+crow_(nichijou),4,33,
+crotch_ribbon,0,33,
+cp9,0,33,
+comiket_82,3,33,
+cometch,1,33,
+colonial_marine,0,33,
+coll_(erichankun),1,33,
+coin_(pokemon),4,33,oume_(pokemon)
+coat_stash,0,33,
+clover_(manga),3,33,
+clockwork_planet,3,33,
+clip_studio_paint,0,33,
+cleru_(cleruuuuu),1,33,
+cleo_(suikoden),4,33,
+claire_victorious,4,33,
+circus66,1,33,
+ciel_(toosaka_asagi),4,33,
+chuu_(rinet),1,33,
+chroniko,4,33,
+choumoku_(toriko_b_c),1,33,
+choujo_(kakitama),4,33,
+choppy,4,33,
+chomiso,1,33,
+chocola_flex,1,33,
+chloe_(melkor_mancin),4,33,
+chiyou_yoyuchi,1,33,
+chio-chan_no_tsuugakuro,3,33,chio's_school_road
+chinese_robot_kid,1,33,
+childofa,1,33,
+chiiutsu_(cheewts),1,33,
+chiiririn,1,33,
+chihiro_(onigiri),1,33,
+chiharudaaaaaaa,1,33,
+chiha,1,33,
+chierishu,1,33,
+chidouin_sara,4,33,
+chichi_kurage_ss,1,33,pzkatze
+chibi-moth,4,33,
+chiba_erika,4,33,
+cherry_blossom_cookie,4,33,
+cheemsburger_(doge),4,33,
+checkered_footwear,0,33,
+charamel,3,33,
+chagara,1,33,kurage_(kurageru)
+celtic,0,33,
+celeste_(animal_crossing),4,33,
+catwyz,1,33,
+cattleya_(houtengeki),4,33,
+catiua_powell,4,33,
+carta_issue,4,33,
+carciphona,3,33,
+carbonara_hontyotyo,1,33,
+cao_xiong,1,33,
+camille_(league_of_legends),4,33,
+calculus,0,33,
+caiothevici,1,33,
+cai_yuan,1,33,
+cafe_cuties_soraka,4,33,
+c_turtle,1,33,
+bysau,1,33,
+butterfly_mask,0,33,
+butterfly_(love_live!),0,33,
+buster_dress,3,33,
+bura,1,33,
+bunyip_(monster_girl_encyclopedia),4,33,
+bunny_puppet,0,33,
+bunny_(d-rex),4,33,
+buchou,4,33,
+bruce_lee,4,33,
+branding_iron,0,33,
+bracelet_removed,0,33,
+bowcan,1,33,
+bouquet_(blue_dragon),4,33,
+boss_(gindoro),4,33,
+borscht_(artist),1,33,
+bookshelf_pov,0,33,
+boogeyman_(housamo),4,33,
+bonfurai,1,33,
+boku_to_maou,3,33,okage:_shadow_king
+bochicemetery,1,33,
+blue_man,1,33,
+blitzwing,4,33,
+blinders,0,33,
+blackletter,0,33,
+black_wetsuit,0,33,
+black_lotus_(accel_world),4,33,
+black_gemstone,0,33,
+black_(artist),1,33,
+bizet,1,33,
+bitaro,1,33,
+bird_skull,0,33,
+bilbo_baggins,4,33,
+bickle_(bickle1983),1,33,
+bianca_(agent_aika),4,33,
+bi_ting_(xia_lan),4,33,
+beruche_(sailor_moon),4,33,
+berserk_ryuuko,4,33,
+bellona_(epic_seven),4,33,bellona_(epic7)
+beidan,1,33,
+bei_ju_luoxuan_wan,1,33,
+beckey9415,1,33,
+bebe1999,1,33,
+beat_shooter_(idolmaster),0,33,
+beast_titan,4,33,
+baund_doc,4,33,
+battle_academia_(league_of_legends),0,33,
+batai,4,33,
+bashou_(senran_kagura),4,33,
+banana_hair_ornament,0,33,
+ballista_2_(sekaiju),4,33,
+bakemono_no_ko,3,33,
+bactrian_camel_(kemono_friends),4,33,
+backdrop,0,33,
+back_hair,0,33,
+baby_face_(stand),4,33,
+b_allbrack,1,33,
+azuki_(aduki),1,33,
+azriel_(no_game_no_life),4,33,
+ayumu_(ayumumkrg),1,33,
+aymmogh,1,33,
+ayin_(project_moon),4,33,
+ayame_kotoko,4,33,
+ayachin,1,33,
+aya-0w0,1,33,
+aw,1,33,
+ava_(ava31),1,33,
+aussummer,1,33,
+atsukan,1,33,
+aticotta,1,33,
+asymmetrical_jacket,0,33,
+astruma2,1,33,
+assassin's_creed:_unity,3,33,
+asou_yui,4,33,
+ashtoreth_illacrimo,4,33,
+ashley_rosemarry,4,33,
+ashitano_kirin,1,33,
+ashigara_(azur_lane),4,33,
+asheta7,1,33,
+asd13,1,33,
+asano_sisters_project,3,33,
+asanagi_no_aquanauts,3,33,
+asame_shinbun,3,33,
+asakawa-san_(8107ka),1,33,
+asahina_nono,4,33,
+asahikawa_yuuma,4,33,
+asagiri_aya,4,33,
+asagi_shigure,4,33,
+aruuin,1,33,
+arukime,1,33,
+aru_(arudes),1,33,
+artoria_caster_(fate)_(cosplay),0,33,
+arthur_(fire_emblem_fates),4,33,harold_(fire_emblem_if)
+arkuny,1,33,
+arisa_crain_femiluna,4,33,
+arin_(1010_ssu),1,33,
+arianna_caledonia,4,33,
+ariadoa_(kono_yuusha_ga_ore_tueee_kuse_ni_shinchou_sugiru),4,33,
+arcana_(swd3e2),4,33,
+arayuki_(sakurafubuki),1,33,mu_xue_(1024612186)
+ar_ru_(ar_tonelico),4,33,
+appas,1,33,
+apollo_(persona_2),4,33,
+apex_legends_mobile,3,33,
+aoki_minami_(+box),1,33,
+aoi_sena,4,33,
+aoi_miyabi,4,33,
+aoi_hane,1,33,
+aoi_(amazu),4,33,
+aoba_rena,4,33,
+anson_jun,1,33,anson_(13686564308)
+anshinzawa_sasami,4,33,
+anri_anriette,4,33,
+anotoki_ashi,1,33,
+anna_sakura,1,33,
+anna_lindhurst,4,33,
+anko_anko,1,33,
+animaniacs,3,33,
+aniki_gunsou,1,33,
+angelous_lazward,4,33,
+angellyuna,1,33,
+angelic_serenade,3,33,
+aneunyeoja,1,33,
+anetarou,1,33,
+anejiru,3,33,
+andre_grandier,4,33,
+an-bl,1,33,
+amyu_(amm_asl_pa),1,33,
+amida_arca,4,33,
+ameiro_pk,1,33,
+amego,1,33,
+ame_tame,1,33,
+amayadori_uki,1,33,
+amatya,1,33,amatcha
+amatsumara_(housamo),4,33,amatsumara_(tokyo_houkago_summoners)
+amanomiya_jun,4,33,
+amane_yuki,4,33,
+amane_tsukuyo,4,33,
+alternator,0,33,
+alpine_marmot_(kemono_friends),4,33,
+alpha_omega_(cosplay),0,33,
+allez0525,1,33,
+allenerie,1,33,
+alicia_priss,4,33,
+alexei_dinoia,4,33,alexei_(tales_of_vesperia)
+alcremie_(mint_cream),4,33,
+alayna_danner,1,33,
+alan_stuart,4,33,
+akudato,1,33,
+akuan_(7jackpot7),1,33,
+akira_atsushi,1,33,
+akiori_koromo,1,33,
+akimichi,1,33,
+akikaze_cp,1,33,
+akatsuki_urara,4,33,
+akasaki_koyo,1,33,
+akao_ppai,1,33,
+akanegasaki_sora,4,33,
+akane_yumiko,4,33,
+akane_(getwild23),1,33,
+akahuzi,1,33,
+akagi_(aircraft_carrier),0,33,
+aka-san_to_kyuuketsuki,3,33,
+ajiko_ajio,1,33,
+aji_paba,1,33,
+aiya_kyuu,1,33,
+aishiteruze_baby,3,33,
+aisha_(saga),4,33,
+airplane_ornament,0,33,
+airmisuzu,1,33,
+aina_156cm,1,33,
+ain_houfanghuashui,1,33,ain_(3990473)
+aikohgin,1,33,
+ai_ken,1,33,
+ai_dongdong,1,33,aidongdong0069
+ahhien,1,33,
+adosan,1,33,
+adella_the_nun,4,33,
+acr_(girls'_frontline),4,33,
+achilles_(fearless_diver)_(fate),4,33,
+acaco,1,33,
+abyssal_chishima_princess,4,33,
+absorbing,0,33,
+abisswalker8,1,33,
+^3^,0,33,
+8041mm,1,33,
+7nite,1,33,
+6kusa,1,33,
+507th_joint_fighter_wing,0,33,
+2020s_(style),0,33,
+1g_no_izumi,1,33,
+1994,0,33,
+0w0,0,33,
+zu-mebio-da,4,32,
+ziz_(housamo),4,32,ziz_(tokyo_houkago_summoners)
+zero_q_0q,1,32,
+zephryion,1,32,
+zendamu,1,32,
+zen_wistalia,4,32,
+zeku_(furrock),1,32,zeku_(pixiv)
+zek_(zecola),1,32,
+zaso,1,32,
+zambot_3,4,32,
+zakk,1,32,
+yxxrem,1,32,
+yuzuki_yukari_(rei),4,32,
+yuzu_ichika,1,32,
+yuzouni,1,32,
+yuyuyu_(pixiv19949705),1,32,
+yuusuke-kun,1,32,
+yusuke_(shiota),1,32,
+yurina,1,32,
+yunvshen,1,32,
+yuniko_moontail,4,32,
+yumesaki_emiko,4,32,
+yumeori_amu,1,32,
+yumekawa_yui,4,32,
+yukiusagi_(yukiusa),1,32,
+yukimori_nene,1,32,
+yukihira_makoto,1,32,
+yukibina,1,32,
+yuki_(yuki3243),1,32,
+yuki_(snowmaiden),1,32,
+yuiko_(yuiyuiko_108),1,32,
+yuikannon,1,32,
+yui_(yomawari),4,32,
+yui930,1,32,
+yuetsu,1,32,
+yu@genkoochu_(5tsukino),1,32,
+yu-bird,4,32,
+yousisi,1,32,
+younger_sister_(elona),4,32,
+youjo_modoki,1,32,
+you_(yoyou),1,32,
+yoshiyanmisoko,1,32,
+yoshino_(minami-ke),4,32,
+yorishiem,1,32,
+yonezawa_masaru,1,32,
+yomisawa_tsukino,4,32,
+yomemi,4,32,
+yof_(sc_gazer),1,32,
+yinyong_yu,1,32,
+yinghuahua,1,32,
+yiga_clan,0,32,
+yeyuan33,1,32,
+yeti_(monster_girl_encyclopedia),4,32,
+yellowking_hiro,1,32,
+yellowfur,1,32,
+yellow_suit,0,32,
+yellow_scales,0,32,
+yazuwo,1,32,yazuo_(yazuororo)
+yashiro_(sakananohone),1,32,
+yas_bitch_slay_(meme),0,32,bye_dad_i'm_leaving_for_the_party_(meme)
+yang_fang_leiden,4,32,
+yanfei_u,1,32,
+yandama,1,32,
+yamika,1,32,
+yamamoto_youko,4,32,yamamoto_yohko
+yamamoto_yamato,1,32,yamato_yamamoto
+yamaguchi_mika,4,32,
+yamagami_miori,4,32,
+yam_(yam6056),1,32,
+yaguchi_haruo,4,32,
+yagi_(yagi5art),1,32,
+yaegashi_taichi,4,32,
+yae_miko_(cosplay),0,32,
+ya_chuifeng_lai,1,32,pixiv12660671
+xp-pen,0,32,
+xionghan_de_guangtou,1,32,
+xingye,4,32,
+xiao_xiao_chuan,1,32,
+xiao_shei..,1,32,
+xian_miao,1,32,
+xia_lan_bi_ting_chao_hua,1,32,
+xenon_(simlacurm),1,32,
+wowaka,4,32,
+wooser_no_sono_higurashi,3,32,wooser's_hand-to-mouth_life
+woodsbench,1,32,
+wonder_festival_mascots,3,32,
+witoi_(roa),1,32,
+winter_(winter168883),1,32,
+winning_gundam,4,32,
+william_d_porter_(warship_girls_r),4,32,
+wii_fit_trainer_(male),4,32,male_trainer_(wii_fit)
+whitelily_bread,1,32,
+wayukako,1,32,
+waveracer_d.va,4,32,
+wave505,1,32,
+watereffect.net,0,32,
+water_pipe,0,32,
+wataru_kuri,1,32,
+watabonten,1,32,
+wata9mm_no,1,32,
+wasabi_karasi,1,32,
+warts,0,32,
+wararu_(user_uecx7457),1,32,
+warabe_(waraghi),1,32,
+wang_cuilan,4,32,
+wander_last_(vocaloid),3,32,wander_last
+wallwalking,0,32,
+wakamiya_shinobu,4,32,
+wait,1,32,
+vu-hakase,1,32,
+voice-ore,3,32,
+vogue_(magazine),3,32,
+vocky,1,32,
+viveka_(haguruma_c),4,32,
+vitotraps,1,32,vitoputr
+violet_parr,4,32,
+vintage_dress_(module),0,32,
+vinashyra,1,32,
+vietnamese_commentary,5,32,
+vicineko,1,32,
+vellu_(geenymous),4,32,
+velceed,1,32,
+variangel,1,32,
+vampirella,3,32,
+valeera_sanguinar,4,32,
+vaal_hazak,4,32,
+uzuratani_(uzu),1,32,
+utai_meika,4,32,
+uta-chan_(pan_(mimi)),4,32,
+ut_pictura_poesis,1,32,
+ustn_(usatan),1,32,
+usirome,1,32,
+uranfu,1,32,
+urajirogashi,1,32,
+unko_yoshida,1,32,
+unitaka,1,32,
+uniphon,1,32,
+unier,1,32,
+unfezant_(female),4,32,
+unagidog,1,32,
+unagi_(popotan),4,32,
+unadon_(unadoom),1,32,
+umesasami,1,32,
+umenokouji_aoi,4,32,
+umber00,1,32,
+ultraman_r/b,3,32,
+ultraman_belial,4,32,
+ukino_youko,4,32,
+udberg_eldol,4,32,kita_kita_oyaji
+u-jin,1,32,
+tyotto_ko_i,1,32,
+turupiko,1,32,
+tufted_puffin_(kemono_friends),4,32,
+tsuzaki_tsunomi,1,32,
+tsuyuri_eri,1,32,
+tsutsumi_akari,1,32,
+tsuruba_(tsu41014812),1,32,
+tsuru_(nekopanchi),1,32,
+tsukito_yayoi,1,32,yayoitsukito
+tsukino_omame,1,32,
+tsuki_to_laika_to_nosferatu,3,32,
+tsuioku_(908026270),1,32,908026270
+tsuchida_satsuki,4,32,
+tsuburaya_mitsuhiko,4,32,
+triple_bun,0,32,
+trinity_universe,3,32,
+triggertop,0,32,
+trieste_(rooftop_lunch_break)_(azur_lane),4,32,
+triangle_heart_3_lyrical_toy_box,3,32,
+traptrix_myrmeleo,4,32,t'lion_the_mesmerizing_maneater
+toy_bits,1,32,
+towel_bunny,0,32,
+touyama_maki,1,32,wuhlnouveau
+toumi_(sr),1,32,
+tougyuu_yukio,1,32,
+totoro_on,1,32,
+toto_(twooz),4,32,
+toshizaki_shouma,1,32,
+tororoto,1,32,
+torn_robe,0,32,
+toriniku_(suikyou),1,32,
+too_many_scars,0,32,
+tomonao,1,32,
+tomoe_mami_(swimsuit_ver.),4,32,
+tomie,3,32,
+tom_marvolo_riddle,4,32,
+tokusou_sentai_dekaranger,3,32,
+tokitou_akari,4,32,
+toine,1,32,
+todoroki_kakeru,4,32,
+todo-akira,1,32,
+tiyi_(tiyi_a09),1,32,
+tit_horse,1,32,
+tiger_mask_w,3,32,
+tiger_lily,0,32,
+throat,0,32,
+three_of_clubs,0,32,
+thorns_(comodo)_(arknights),4,32,
+third_kureko,1,32,
+thighhigh_removed,0,32,
+theironmountain,1,32,
+the_thing_not_quite_sure_what_it_is,4,32,
+the_last_of_us_2,3,32,
+the_king_of_fighters_'95,3,32,king_of_fighters_95
+the_beast_(vocaloid),3,32,
+tethys_(fire_emblem),4,32,
+terrorist,0,32,
+tennouji_yuugo,4,32,
+tenjouin_katsura,4,32,
+tendou_rushuna,4,32,
+tendenbarabara,1,32,
+ten'yoku,1,32,
+teki_(kakari),1,32,
+teka,1,32,
+teitei,1,32,
+teiputi,1,32,
+team_flare_grunt,4,32,
+tapping_shoulder,0,32,
+tantanmen,1,32,
+tamanegi_(genpi),1,32,
+tamamo_no_mae_(police_fox)_(fate),4,32,
+tamaizumi_hiyoko,4,32,
+tallinn_(nostalgic_pilsner)_(azur_lane),4,32,
+takuto_kira,4,32,
+takuro_(taku3949),1,32,taku3949
+taku-tama,1,32,
+tako_8_yaki,1,32,
+takayashiro_sayuki,4,32,
+takatsu_karino,1,32,
+takasimareki,1,32,
+takasaki_misaki_(yuru_yuri),4,32,
+takamaru_(akisora_drawing),1,32,
+takahashi_rumiko_(style),0,32,
+takahashi_kazuki,1,32,
+taka-f,1,32,
+taiki_shuttle_(bubblegum_memories)_(umamusume),4,32,
+tachikawa,1,32,
+tachiinu,1,32,
+tabgraphics,3,32,
+t@kuyoa,1,32,
+t373412,1,32,
+t0petar0,1,32,
+syn,1,32,
+sylux,1,32,
+syertse,1,32,
+sword_kirby,4,32,
+sword_hilt,0,32,
+swepot,1,32,
+sweetheart_sona,4,32,
+suzuya_(maru),1,32,
+suzushika_(13_96),1,32,
+suzumebachi_(shikai),0,32,
+suzuka_g,1,32,
+suzugaeru,1,32,
+sutein,1,32,
+susinoyama,1,32,
+survey_corps,0,32,
+surtr_(fire_emblem),4,32,surtr_(fire_emblem_heroes)
+superdiviatomic,1,32,
+super_masara_ahegao,0,32,masara_ahegao
+suou_mira,4,32,
+sumeshiruko,1,32,
+sumadera_kasumi,4,32,
+sui_(fujiwara_gacho),4,32,
+sugimoto_(niboshiumai),1,32,
+sugawa_maiko,4,32,
+stucco,0,32,
+strength_(tarot),0,32,
+stoll_(tmxhf),1,32,
+steelwire,1,32,
+stb-chan,4,32,
+starmine_(manga),3,32,
+starlan,1,32,xing_lan
+ssong-ga,1,32,
+sr-25,0,32,
+squarevr,1,32,
+square_live,3,32,
+spring_onion_hair_ornament,0,32,
+spookie,1,32,
+spinning_wheel,0,32,
+spinning_teacup,0,32,
+spica_(spica_1510),1,32,spica_1510
+spence_(azur_lane),4,32,
+special_tan,1,32,
+spade_echo,4,32,
+soujirou_seta,4,32,
+sou_mei,1,32,
+sora_megumu,1,32,
+sooya,1,32,
+sone_(takahiro-osone),1,32,
+soliera_(pokemon),4,32,
+softball,0,32,
+sofa_(enogunomu),1,32,
+sleeper_hold,0,32,
+skyde_kei,1,32,
+skulllee,1,32,
+sk_(buta),1,32,
+sitting_on_liquid,0,32,
+sitonai_(third_ascension)_(fate),4,32,
+sister_quest,3,32,
+sing152,1,32,
+since,1,32,
+simon_eckert,1,32,
+silver_crow,4,32,
+siho_(ricchil),1,32,
+sigyn_erster,4,32,
+siguya,1,32,koi_(carfet)
+sia_namsbinpeni,1,32,
+shuuzen_(shu-zen),1,32,
+shunori,1,32,
+shumai_(food),0,32,
+shuffling_cards,0,32,
+shuaigegentou,1,32,"gentou_(spectrum-blood),shuaijiaodegentou,xian_yu_(dxhkcomtlyntzbm)"
+shou_jian_yu,1,32,
+shori_bun,1,32,
+shokorate,1,32,mymerody4649
+shizune_(homare),4,32,
+shizuku_(artist),1,32,
+shiyoo,1,32,
+shiruppo,1,32,
+shirt_rolled_up,0,32,
+shiratoriko,1,32,
+shioya_(soooooolt),1,32,
+shiomi_madoka,4,32,
+shinonomemayoyo,1,32,
+shinomiya_satsuki,4,32,
+shinobi_(ps2),3,32,
+shino_laila,4,32,
+shinka_(yonkun121),1,32,
+shinagawa_hiroki,1,32,
+shinachiku_(uno0101),1,32,
+shin_megami_tensei_ii,3,32,
+shimoku,1,32,
+shimizu_kaoru,4,32,
+shimashima-ace,1,32,
+shimao_kazu,1,32,
+shimamura_uzuki_(cosplay),0,32,
+shikano_(oshiro_project),4,32,
+shiira_kan,1,32,
+shiina_risa,4,32,
+shiina_kagari,4,32,
+shigure_wasa,1,32,
+shiawase_graffiti,0,32,
+shi_wuxia,4,32,
+sherry_polnareff,4,32,
+sheery_sbox,1,32,
+shatou_(c-com),1,32,
+shared_innertube,0,32,
+shangorilla,1,32,
+shakuyaku_(flower_knight_girl),4,32,
+shadow_the_hedgehog_(game),3,32,
+seven_d3t,1,32,
+seven_(fft-0),4,32,
+setsugeka_tumugi,1,32,
+seta_soujirou,4,32,
+seseri_aoba,1,32,
+server,0,32,
+serakawa,1,32,
+sentouryoku_5,1,32,"hataraku73,sentou_ryoku_5"
+sensei!_tsugi_wa_battle_no_jikan_desu.,3,32,
+sengoku_nadeko_(cosplay),0,32,
+seiken_no_faeries,3,32,
+seele,4,32,
+seal_(pukozin),1,32,
+screw_hair_ornament,0,32,
+scp-073,4,32,
+school_yard,0,32,
+school_bus,0,32,
+sazare_(sazare_az),1,32,
+sazanka_bianca,4,32,
+sayonara_no_asa_ni_yakusoku_no_hana_wo_kazarou,3,32,
+sayococco,1,32,
+sayaka_ikku,1,32,
+sawyer_(pokemon_masters_ex),4,32,drival_(pokemon)
+sawashiro_kei,1,32,e-suke
+satta_naoto,1,32,
+satsuki_(konohana_kitan),4,32,
+satonaka_chie_(cosplay),0,32,
+satoji_(ochanomkmskry),1,32,
+sasoribi-dekine,1,32,
+sasasa_(pixiv1790125),1,32,
+sarasa_hanna,4,32,
+sapporo_momoko,1,32,
+sanzenkai_no_avatar,3,32,
+santa65,1,32,
+sansenokumo,1,32,
+sanooxo,1,32,
+sanohiramugi,1,32,
+sano_jinya,1,32,
+sandy_bash,4,32,
+samurai_(kasizuki),1,32,
+sami_briggs,1,32,
+sally_(pacch0614),1,32,
+sakurame_kurame,1,32,
+sakurame_kirie,4,32,
+sakurakkuma,1,32,
+sakuragi_megu,4,32,
+sakura_miko_(cosplay),0,32,
+sakura_mikan_(chirizakura),1,32,
+sakuma_shiki,1,32,
+sakaya313,1,32,
+sakai-saka,1,32,
+saiyki,1,32,
+sai_hinoki,4,32,
+sai_(abyss05),1,32,
+saborou,4,32,
+s-ghost,1,32,
+ryuuhou_(azur_lane),4,32,
+ryuuga_(cookie),4,32,
+ryukadomatsu,1,32,
+ryu_(gaquarium),1,32,
+ryouki_(senran_kagura),4,32,
+rykysd,1,32,
+ruwo_benzen,1,32,
+ruthtria_(bloodline),4,32,
+rurubell,4,32,
+runamochi,1,32,
+rum_(falkyrie_no_monshou),4,32,
+ruiko_(sad),1,32,
+rui_wa_tomo_wo_yobu,3,32,
+roxy_rex,1,32,
+roundschen,1,32,
+round_shelf,0,32,
+roti,1,32,
+rose22,1,32,
+ron_(lovechro),1,32,
+rom_(show_by_rock!!),4,32,
+rokuro_(ryvius),1,32,
+rokoido12,1,32,
+rockyroo,1,32,
+robin7188,1,32,
+road_closed_to_vehicles_sign,0,32,
+rn_(radon'ya),1,32,
+rk_(cc15915r),1,32,cc_(c~fua)
+rizelmine,3,32,
+risubokkuri,3,32,
+rise_(rise19851203),1,32,
+rionoil,1,32,
+riolabo,1,32,
+rindou_ruri,4,32,
+rina_(crystalrina),1,32,
+riful,4,32,
+rice_shower_(umamusume)_(cosplay),0,32,
+reneph,1,32,"rene_phwhite,renefu"
+renais_cardiff_shishiou,4,32,"renais_cardiff_shishio,renais_cardiff_shishioh"
+relly,1,32,
+reki_(tiny_fin),1,32,
+reka,1,32,
+reizei_hisako,4,32,
+reina_(xipuria),4,32,
+reina_(phantom_rose),4,32,
+reikakrzk,1,32,
+rei_(456789io),1,32,
+regina_mercedes,4,32,
+refuto,1,32,
+redum4,1,32,
+red_sheet,0,32,
+red_seiryu,1,32,
+red_plate_(kyuu45),1,32,94_(644534209)
+red_(transistor),4,32,
+red_(angry_birds),4,32,
+reborns,1,32,
+rayhwang,1,32,
+randou_serika,4,32,
+rammus,4,32,
+ramiki,1,32,
+rainbow_mika_(cosplay),0,32,
+rain_mikamura_(cosplay),0,32,
+railway_gun,0,32,
+radiosity_(yousei),1,32,
+racing_miku_(2016),4,32,
+racing_miku_(2010),4,32,
+r3ydart,1,32,reydart
+qutori,1,32,
+queen_(snow_white),4,32,
+q_haoyu,1,32,
+pvtskwerl,1,32,
+puremage,1,32,
+pumpkin_earrings,0,32,
+pul_(gks569),1,32,
+puchi-pochi,1,32,
+ptrs-41,0,32,
+protoman.exe,4,32,blues_exe
+proto_messiah,1,32,
+project_winter,3,32,
+prinz_eugen_(kindred_evening_spirits)_(azur_lane),4,32,
+princess_kakyuu,4,32,
+pregnancy_mark,0,32,
+powered_suit_(toaru),0,32,
+potionu,1,32,
+pot_of_greed,4,32,
+pororikin,1,32,
+poopy,1,32,
+poono,1,32,
+ponzu_yuki,1,32,
+polygon_project,3,32,
+poker_face_failure,0,32,
+poker-face-008,1,32,
+pokemon_pocket_monsters,3,32,
+pokemon:_arceus_and_the_jewel_of_life,3,32,pokemon_m12
+poison_mushroom,0,32,
+pocahontas,3,32,
+plugging_ears,0,32,
+pleasedbyviolet_(voice_actor),1,32,pleasedbyviolet
+pjman,1,32,
+piz,4,32,
+piyomi,1,32,
+pisu_1107,1,32,
+piroya_(shabushabu),1,32,
+pirihiba,1,32,
+pipoo,1,32,
+pink_heart,0,32,
+pingu_(series),3,32,
+pinako_rockbell,4,32,
+pilaf,4,32,
+pickle_pee_pump-a-rum_crow,4,32,
+phoenix_(x-men),4,32,
+phantom_(the_legend_of_zelda),4,32,
+petsematary,1,32,
+petit_dragon,4,32,
+persephone_ii,4,32,
+penny_(inspector_gadget),4,32,
+patricia_caulfield,4,32,
+pascal_(free_spirit)_(tales),4,32,
+pasca_kanonno,4,32,
+parsee_day,0,32,
+paresthesia,0,32,
+parakeet_girl_(yukimoto_shuuji_(gurigura)),4,32,
+paprika_(artist),1,32,
+panos_(ssgpanos),1,32,panos_(user_ryyu5388)
+pandora_(saint_seiya),4,32,
+panasonic_corporation,3,32,
+palm_tree_print,0,32,
+pale_background,0,32,
+paku_romi,4,32,"park_romi,romi_park"
+padko,4,32,
+oyakorodesu,1,32,
+owju_(ouju),1,32,
+ouma_zi-o,4,32,
+ouka_september,4,32,
+ouer_moyu,1,32,
+otuming,1,32,
+ototarou,1,32,
+otoha_(h2o),4,32,
+otk,1,32,
+otenki_studio,3,32,
+oshiego-chan_(mignon),4,32,
+orouu,1,32,
+original_zero,4,32,true_zero
+ore_deshita,1,32,
+orca_(pochincoff),4,32,
+oozeki_koyui,4,32,
+oosaka_naru,4,32,
+ooi_kai_(kancolle),4,32,
+oogie_boogie,4,32,
+onii-chan_kiss_no_junbi_wa_mada_desu_ka?,3,32,
+onibahime_(sennen_sensou_aigis),4,32,
+omo_(h98013114),1,32,
+omega_quintet,3,32,
+omanjuu_mascot,0,32,
+okura_shito,1,32,okurasito
+okuma_yuugo,1,32,
+okita_mitsuba,4,32,
+okada_izou_(i'm_one_dapping_fella)_(fate),4,32,
+oka_asaha,1,32,
+ojou-sama_wa_sunao_ni_narenai,3,32,
+ojama_yellow,4,32,
+oichi_(pokemon),4,32,
+ogyadya,1,32,
+oginouchihara_rei,4,32,
+oginome_momoka,4,32,
+oda_masaru,1,32,
+octoman,1,32,
+oboro_(ragnarok_online),4,32,
+nyanpe,1,32,
+nuu_(liebe_sk),1,32,nu_(dndnknkn)
+nuruo_(pixiv39067734),1,32,
+nuruhachi_(honki),1,32,
+nurie,1,32,
+numeri,1,32,
+numahata_tofu.,1,32,
+nui_(shepherd0821),4,32,
+nu_(chrono_trigger),4,32,
+npon515,1,32,
+nouzu,1,32,
+notziegler,1,32,
+note55885,1,32,
+northeastern_ocean_princess_(roshiakouji-chan),4,32,northeastern_ocean_hime_(roshiakouji-chan)
+northampton_(azur_lane),4,32,
+northa_(fresh_precure!),4,32,
+noro_assumed,1,32,
+nonsugar,1,32,
+nonono_futaba,4,32,
+nonomori_(anst_nono),1,32,
+nonette_enneagram,4,32,
+nonaka_ai,4,32,
+noh_seong-min,1,32,
+nogami_(minamiituki),1,32,
+noaki,1,32,
+noa_(shironeko_project),4,32,
+nkgw,1,32,
+nipple_injection,0,32,
+nintoku,1,32,
+nintendo_ds_lite,0,32,
+ninniku_(mfu7324),1,32,ninniku_sarada
+ningu,1,32,
+ning_(smc),4,32,
+nina_kalinina,4,32,
+nina_(words_worth),4,32,
+nillith,1,32,outspire
+nikyu,1,32,
+nikcesco,1,32,
+nikaidou_kouhei,4,32,
+nijigen_project,3,32,
+niino,1,32,
+nihility,1,32,
+nighttsound,1,32,
+nightmarejan,1,32,
+nightingale_(gundam),4,32,
+night_gaunt_(monster_girl_encyclopedia),4,32,
+nieto_tokage,1,32,fr0zennnnnnet
+nido_(sebamaster),1,32,
+niao_sun,4,32,
+nez_n,1,32,i'm_egoist_nez
+nettsuu,1,32,
+nessie_(kska),1,32,
+neru_fia,1,32,"neru_fuia,neruneru_(artist)"
+nemurimangetsu,1,32,
+nemesis_no_juukou_(vocaloid),3,32,
+nekoseki_rion,4,32,
+nekogurui_minako-san,3,32,
+nekodason,1,32,
+neko_kuriya,1,32,
+neko_(natsuiroclassic),1,32,
+neko-kun,4,32,
+nejitsu_(nukomasu),4,32,
+necronomicon_(persona_5),4,32,
+navka_(hetza),4,32,
+nattsu_(nattu888_8),1,32,
+natts_(yes!_precure_5),4,32,
+natsuya_(pucelle),1,32,
+natsuno_hamuto,1,32,
+natsume_nadeshiko,1,32,
+natsu_mikan_(level9),1,32,
+natsu97,1,32,
+natano_hisanori,1,32,
+nasuka@hiyokko,1,32,
+nashimochi_4,1,32,
+nashigami_tsubute,1,32,
+narugami_yuzuriha,4,32,
+narcian_(fire_emblem),4,32,
+nanohana_jiyuu,4,32,
+nanatsuki_nana,4,32,
+nanatsu_fuji,1,32,
+nanase_(ribonshitoron),1,32,
+nananichi,1,32,
+nanaki_(mkmk_915),1,32,
+nanahikari_rami,4,32,
+nana_0253,1,32,
+nalse,1,32,
+nakamura_yukihiro,1,32,
+nakama_yasukata,1,32,
+naka_noboru,1,32,
+naka_(nicovideo14185763),1,32,
+naka-san,1,32,
+naito_mare,4,32,
+nagato_(great_fox's_white_gown)_(azur_lane),4,32,nagato_(great_fox's_shiroshouzoku)_(azur_lane)
+naga_(fire_emblem),4,32,
+na_bia,1,32,
+my_room,0,32,
+my_melody_(cosplay),0,32,
+mxr,1,32,
+mutsushika_misumi,4,32,
+mutsuki_(kancolle)_(cosplay),0,32,
+mutou_tooru,4,32,mutou_toru
+musumi_renga,1,32,
+musashi_(horizon),4,32,
+muryo,1,32,
+murgoten,1,32,
+murasame_(kancolle)_(cosplay),0,32,
+murasaki_tsutsuji,1,32,
+murasaki_atsushi,1,32,
+murakumo_takeru,1,32,
+munimuni_kinoko,1,32,
+munechika,4,32,
+mumei_(pokolv),1,32,
+mukago_(kimetsu_no_yaiba),4,32,
+mugen_silhouette,4,32,infinity_silhouette
+mr_bowater,1,32,
+mr123goku123,1,32,
+mr._rime,4,32,
+mozzi,1,32,
+moyashi_(m-planter),1,32,moyashi_(artist)
+moyashi_(karamisouma),1,32,
+mouse_print,0,32,
+mounted_dildo,0,32,
+motsuni_(lxxe1120),1,32,
+mosomoso,1,32,
+moru_moru_moru,1,32,
+morishima_kon,1,32,
+more_deban,0,32,
+moose_(moosu193),1,32,
+moon_ball,0,32,
+mood_swing,0,32,
+monako_(sora527),1,32,
+momono_megumi,4,32,
+momoi_saki,4,32,
+momohara_natsuki,4,32,
+momo_(shinigami_no_ballad),4,32,
+molu_stranger,1,32,
+mokuren_(mozukukirai88),1,32,mozukukirai88
+mojo_jojo,4,32,
+moge-ko,4,32,
+mochizuki_mari,4,32,
+mkz,1,32,
+mizuno_(hal0527),1,32,haruyama_(pixiv169154)
+mizuhara_erika,4,32,
+mizu_bonbori,1,32,
+miyu10366,1,32,
+miyata_sayaka,4,32,
+miya_kazutomo,1,32,
+miya_clochette,4,32,
+mitsuki_kaede,4,32,
+misumi_takasumi,1,32,
+mishima_ssuru,1,32,
+mishima_psycho,1,32,mishima_saiko
+miracle_(miracle1980),1,32,
+mini_piano,0,32,
+minatsume,1,32,
+minato_usagi,1,32,
+minase_shia,4,32,
+minarei,1,32,
+minamoto_no_raikou_(fate)_(cosplay),0,32,
+minami_kotori_(cosplay),0,32,
+mimiru_(.hack//),4,32,
+mimi_balguerie,4,32,
+mima_tokiko,4,32,
+milkriot,1,32,
+mikumari_yusa,1,32,
+mikazukisou,1,32,
+mikami_shiori,4,32,
+mikage_mika,4,32,
+mii_swordfighter,4,32,
+mii-chan,4,32,
+midori_matsukaze,1,32,
+midori_makibaoo,4,32,
+midas_money,0,32,
+michishio_nagasumi,4,32,
+michikusa_(roadksa),1,32,
+mezashi_gohan,1,32,
+mew_(words_worth),4,32,
+metalinu,1,32,
+meowth_(cosplay),0,32,
+mentai_mochi,1,32,
+menou_kururu,1,32,
+melmetal,4,32,
+mele_retanagua,4,32,
+melantha_(letters_from_wessex)_(arknights),4,32,
+meishou_(cantabile1222),1,32,
+meinoss,1,32,
+meilleure_chocolat,4,32,
+megumegu,4,32,
+mega_scizor,4,32,
+mega_man_x3,3,32,rockman_x3
+mega_blastoise,4,32,
+mee_don,1,32,
+meda,1,32,
+mechanical_owl,1,32,
+mazarimon,1,32,
+mayu-mayu1026,1,32,
+matsyumaro,1,32,
+matsunaga_tsubame,4,32,
+matsumura_fuuka,4,32,
+matano_maya,1,32,
+masquerade,0,32,
+masiro,1,32,
+mashita_(candy_apricot),1,32,
+masaki_nonoka,4,32,
+masa_ashe,1,32,
+masa_(neku),1,32,
+marumaru_no_shuyaku_wa_wareware_da!,3,32,
+mark_(fire_emblem:_the_blazing_blade),4,32,tactician_(fire_emblem)
+maria_(housamo),4,32,maria_(tokyo_houkago_summoners)
+mari_(twrlare),4,32,
+marginal_skip,3,32,
+mapyarong,1,32,
+maoyao-ll,1,32,
+maou_mikage,1,32,
+manzairaku,4,32,
+manreeree,1,32,reema_and
+manip,1,32,
+manda_schank,1,32,
+mamiya_(sheena-1125),1,32,
+makiyuki,1,32,
+major_2nd,3,32,
+maicching_machiko-sensei,3,32,
+maho_(fii-tan_the_figure),4,32,
+magiquone,4,32,arfoire
+magical_nuko-lenlen_(vocaloid),3,32,
+madsensei,1,32,
+maddestmao,1,32,madguymao
+madarame_ikkaku,4,32,
+madame_ping_(genshin_impact),4,32,
+mad_(artist),1,32,
+maboroshineko,1,32,
+maboroshi_chouji,1,32,
+m-ko_(hoojiro_(found1093)),4,32,
+lyuritis_(yoru_no_nai_kuni),4,32,
+lumakini,0,32,
+lulli,4,32,
+ludwig_the_accursed,4,32,
+luai,1,32,
+lovebird,0,32,
+love_plus_plus,3,32,
+lori_loud,4,32,
+lor_starcutter,0,32,
+lololo_(kirby),4,32,
+lndrmnn,1,32,
+living_armor,0,32,
+littorio_(the_glory_of_naples)_(azur_lane),4,32,
+little_xia_(elsword),4,32,
+little_match_girl_(sinoalice),4,32,
+lisu,1,32,
+lisa_(deel),4,32,
+linna_yamazaki,4,32,
+limone_(gurande),4,32,
+limelam06,1,32,
+liliana_hart,4,32,
+lightning_bolt_necklace,0,32,
+liangyilin,1,32,
+leopardtiger,1,32,
+leftame,1,32,
+leesuyeon,1,32,butter_squid
+lc_7v2,1,32,
+lazycoffee_(wyen_iscordo),1,32,
+lazy_guang_guang,1,32,
+layla_(suptomat),1,32,"layla_(lay-la),minami-bastardsama"
+last_shooting,0,32,
+lass_(pokemon)_(cosplay),0,32,
+langjiao,1,32,
+lancelot_(smalock),1,32,
+labrador_retriever,0,32,
+l85a1_(upotte!!),4,32,"eru_(upotte!!),eru_(upotte),l_(upotte!!),l_(upotte)"
+l.j.,1,32,
+l-gaim_mk_ii,4,32,
+kyuusenbinore_(gavion),1,32,
+kyuukyoku_choujin_r,3,32,
+kyrie_canaan,4,32,
+kuurimuart,1,32,
+kusunokinawate,1,32,
+kurumayama,1,32,
+kurosaki_yuzu,4,32,
+kurosaki_isshin,4,32,
+kurohachiboku,1,32,
+kuroda_matsurika,1,32,
+kuroda_kanbee_(sengoku_bushouki_muramasa),4,32,
+kurobis,1,32,
+kuro_(bombergirl),4,32,
+kuramochi_youichi,4,32,
+kuraken,1,32,
+kuragesaki,1,32,
+kurage_(kurakurapix),1,32,
+kura_(shironagasu02),1,32,
+kunimoto_ori,1,32,kuni_honori
+kumeki_(kk4615),1,32,
+kumataka,1,32,
+kumano09_(yaecha0),1,32,
+kukyo,1,32,
+kujo_jolyne_(cosplay),0,32,
+kudou_asuka,4,32,
+kuchibiru_(lipblue),1,32,"kuchiburu_aoi,lipblue"
+kubu_kurin,1,32,
+kubonouchi_eisaku,1,32,
+kubo_yurika,4,32,
+koyama_(gantz0409jp),1,32,er_(artist)
+kousaka_mayuri,4,32,
+kougasha,1,32,
+koto,1,32,
+koromoya,1,32,koromoya_kai
+konoike_(pepe_expect),1,32,
+konishi_saki,4,32,
+kondou_mikoto,4,32,
+konako,1,32,
+komugi_(wataame27),4,32,
+komori_atsushi,1,32,
+komori_(komo_ricecake),1,32,
+komio_(do@ho),1,32,
+komeo,1,32,
+komamura_sajin,4,32,
+koma_kiri_aoko,1,32,
+kokumaren,1,32,
+kokoro6636,1,32,
+koibito_doushi_de_suru_koto_zenbu,3,32,
+koge-owl,1,32,
+knife_in_hair,0,32,
+kiyu_(zuyu),1,32,
+kitt_(yu-gi-oh!),4,32,
+kitsune_onee-san_(shuugetsu_karasu),4,32,
+kitayama,1,32,
+kitanaga,4,32,
+kitagawa_jun,4,32,
+kissbell,3,32,
+kiss_ato_kiss_will_change_my_relation_with_you,3,32,
+kise_hiyoko,4,32,
+kirihara_mana,4,32,
+kirani,1,32,
+kirakira_monstars,3,32,
+kinoshita_rumi,4,32,
+kinoshita_(air_hike),1,32,
+kinomiya_yukari,4,32,
+kingguyver,1,32,
+king_halo_(noble_white_cheer_attire)_(umamusume),4,32,
+kinako_(karasu_nomaru),1,32,haguma_karasu
+kimono_tug,0,32,
+kimidori_(dera_kimidori),1,32,
+kimi_to_issho_ni,3,32,
+kill_me_dance,0,32,
+kijo_momiji,4,32,
+kidchan,1,32,
+kickstarter,0,32,
+kicking_at_viewer,0,32,
+kibayashi_kimori,1,32,
+keva_(liltkeva),1,32,
+keiou_yuugekitai,3,32,
+keesuke_(kkosyoku),1,32,
+kazuukarazu,1,32,
+kazumu,1,32,
+kayuu,4,32,
+kawai_fuguri,1,32,
+kavies,1,32,
+kauchoro_(namikazemakase),1,32,
+katsutake,1,32,
+katou_mayumi,4,32,
+katou_juri,4,32,
+kaskia,1,32,
+kasa_jizou,1,32,
+karol_capel_(girly),4,32,
+karna_(versus)_(fate),4,32,
+karen_uji,1,32,
+karen_erra,4,32,
+karamas,1,32,
+karakura,1,32,
+kano_(hanayori_jyoshiryou),4,32,
+kanikanitengoku,1,32,
+kanakubo_homare,4,32,
+kanade_kotonoha,4,32,
+kanabuso,1,32,
+kanaa_(apple_tea_z),1,32,
+kan_liu_(666k),1,32,
+kamoroosaazu,1,32,
+kamishakujii_renko,4,32,
+kamishakujii_(poppenheim),1,32,
+kamino_maihu,4,32,
+kaminarichyan,1,32,
+kamina1978,1,32,
+kami_mitsugu_(kamiken),1,32,
+kamen_rider_birth,4,32,
+kame_house,0,32,
+kamakani_(kanikama8192),1,32,
+kaleid,1,32,
+kakouton,4,32,
+kaki_gohri,1,32,
+kakera_(comona_base),1,32,
+kai_toshiki,4,32,
+kai_(ootamuno12),1,32,
+kaho_(ramb),1,32,
+kaho_(amal135),1,32,
+kaguya-san_(nantyu-erosada),1,32,nantyu-erosada
+kagu_(a_hazy_moon),1,32,
+kagemaru_(kagemaru321),1,32,"kagemaru321,kagemaru_(bara)"
+kagami_ryouko,4,32,
+kagami_masara,4,32,
+kagami_kyousuke,4,32,kagami_kyosuke
+kafuu_kaya,1,32,
+kabuto_tong,1,32,
+kabayaki,0,32,
+k_ei3k,1,32,
+k-sk_style,1,32,
+k-bone,1,32,
+juu_ame,1,32,
+justin_paul,1,32,
+jupachi18,1,32,
+jung_myung_lee,1,32,
+jump_king,3,32,
+juliana_(megami_paradise),4,32,
+jukebox_priest_(mechanical_buddy_universe),4,32,
+joy_(shenmue),4,32,
+joy_(cyber_x_heaven),1,32,
+john_hamish_watson,4,32,dr._john_watson
+jmori44,1,32,
+jing_king_of_bandits,3,32,
+jigoku_no_misawa_(style),0,32,
+jianshu,1,32,
+jiageya_(atojian_keikaku),1,32,
+jey_rain,1,32,
+jellen_aura,1,32,
+jeanne_d'arc_alter_(holy_night_supper)_(fate),4,32,jeanne_d'arc_(alter)_(holy_night_supper)_(fate)
+jean_bart_(kancolle),4,32,
+jayamon,1,32,
+janus_cascade,4,32,
+jamil_(granblue_fantasy),4,32,
+jak,1,32,
+jaeger_(rainbow_six_siege),4,32,
+jackal_(warship_girls_r),4,32,
+jabra_(one_piece),4,32,jyabura
+j_na,1,32,
+j-unit_(lilykiss),1,32,
+itou_mikan,1,32,
+itou_aya,4,32,
+itaba_atsushi,1,32,toruneedo_(tornado1844)
+isokaze_(new_year's_campaign)_(azur_lane),4,32,isokaze_(new_year's_battle)_(azur_lane)
+ishida_akira_(seiyuu),4,32,
+isekai_ni_tobasaretara_papa_ni_nattandaga,3,32,
+irori_(irorixc),1,32,
+irina_luminesk,4,32,
+irarei_(araisanblog),1,32,
+inui/byte,1,32,
+instant_(ioarthus),1,32,
+insecticide,0,32,
+inquisition_(warhammer),4,32,
+inomata_mamoru,1,32,
+inkan,0,32,
+injuu_gakuen_la_blue_girl,3,32,
+ingrid_(sennen_sensou_aigis),4,32,
+imouto_(hanekoto),4,32,
+imjayu,1,32,
+imasan,1,32,
+imari_maria,4,32,
+imamura_ryou,1,32,"jusjusojus,samoman"
+imai_hiyoko,1,32,
+ikeda_ruriko,1,32,
+ijuuin_mei,4,32,ijuin_mei
+ii-chan,4,32,
+ida_rintarou,1,32,
+ichimonji_akane,4,32,
+ice_dragon_(artist),1,32,
+ibuki_meno,4,32,
+ibuki_(clover_club),1,32,
+ibuki_(blue_archive),4,32,
+ia_(ilwmael9),1,32,
+i-pin,4,32,
+hyoshiki,1,32,
+human_(totomono),4,32,
+huddle,0,32,
+huanghyy,1,32,
+hua_ye,1,32,
+houmuari,1,32,
+houin_kyouko,4,32,
+hoshino_aoi_(la_huynh_hai_than),1,32,
+hoshikage_wataru,1,32,sari1207
+honnouji_gakuen,0,32,
+honey_select,3,32,
+homutatu,1,32,
+homco,1,32,
+holding_sarong,0,32,
+holding_rocket_launcher,0,32,
+holding_pinwheel,0,32,
+holding_halo,0,32,
+holding_digimon,0,32,
+hokuna_rin,1,32,
+hizen_tadahiro,4,32,
+hiyori7,1,32,
+hiyoku,1,32,
+hiviki_n'alchemy,1,32,
+hitsuji_kumo,1,32,
+hitotose_hirune,1,32,
+hirokawa_tomo,1,32,
+hiro_kazuki,1,32,
+hiro9779,1,32,
+hirayama_yukio,4,32,"fake_akagi,nise-akagi"
+hinomaru_zumou,3,32,
+hina-uta,1,32,
+himekawa_donki,1,32,
+hilda_(stella_glow),4,32,
+hikoboshi_(cosplay),0,32,
+hikagen_yoshio,1,32,
+hiiro_(coinxtossxdive),1,32,
+hiiragi_tsumugi,4,32,
+hii_(hii101),1,32,
+high_heel_sneakers,0,32,
+high_elf,4,32,
+hifumi_(art_sky_littel),1,32,
+hieda_no_akyuu_(cosplay),0,32,
+hidamarinet,1,32,
+hidaka_kouki,4,32,
+hidaka_aoi,4,32,
+hidaka_ajiko,1,32,
+hicham_habchi,1,32,
+hibun_tsukasa,1,32,
+hesoten,1,32,hesotenzzz
+heron,0,32,
+heroic_age,3,32,
+hermana_larmo,4,32,
+henry_(dq5),4,32,
+henoeno,1,32,
+helenium_(flower_knight_girl),4,32,
+heathcliff_blanchett,4,32,
+heat_man,4,32,heatman
+heart_trace,0,32,
+heart-shaped_hole,0,32,
+head_swap,0,32,headswap
+hayun,1,32,
+hayashi_takeo,1,32,
+hayashi_(kanzume),1,32,
+hayasaka_(a865675167774),1,32,
+hayama_sayako,4,32,
+hatsukoi_zombie,3,32,
+hatsanxp,1,32,
+hasegawa_haruka,4,32,
+has_lossy_revision,5,32,
+harukawa_tomomi,4,32,
+haru_kanata,1,32,
+haru_akira,1,32,
+harry_ord,4,32,
+harii_(janib5kc),1,32,hari_(vrwugbkcjckbq2k)
+harada_mutei,4,32,
+harada_midori,1,32,
+happy_meal,0,32,
+happa_freee,1,32,
+hanon_(nonty),1,32,
+hano9789,1,32,
+hanma_yuujirou,4,32,
+hands_on_another's_thigh,0,32,
+hand_in_buruma,0,32,
+hanazawa,1,32,
+hanavvi,1,32,seonrang
+hananenmi,1,32,
+hanamomo_(flower_knight_girl),4,32,
+hanachirasu,3,32,
+hamu_767,1,32,
+halo:_reach,3,32,
+hakujou_academy_uniform,0,32,
+hakuba_ouji,4,32,
+haiyahaiyohai,1,32,
+hair_iron,0,32,
+haiki_(hakkyoii06),1,32,
+haiero,1,32,
+haerge,1,32,
+hacking,0,32,
+habanero-neesan,4,32,
+haaam,1,32,
+ha_ku_ronofu_jin,1,32,
+ha_en,1,32,
+h.pn,1,32,
+gz_(gzxd),1,32,
+gyuu_mao,4,32,ox-king
+gyusukiudon,1,32,
+gyan_(akenosuisei),1,32,
+gyakuten_sekai_no_denchi_shoujo,3,32,rumble_garanndoll
+guumin,1,32,
+gununu_(pixiv),1,32,
+gungrave,3,32,
+gundam_mk_v,4,32,
+guinevere_(fire_emblem),4,32,
+guinble,4,32,
+guang_yiren,1,32,
+greek_flag,0,32,
+goyouga-deann,1,32,
+gou_(tomero),1,32,
+goshi-san,1,32,
+goruti,1,32,
+gorgon_(third_ascension)_(fate),4,32,
+gordin_(fire_emblem),4,32,gordon_(fire_emblem)
+gomi_(hakumaiteacher),1,32,hakumaitabete
+gomesu_(gomes0343),1,32,
+gold_skin,0,32,
+gohan_beast,4,32,
+glowing_staff,0,32,
+gillis,4,32,
+gijxgij,1,32,
+gigachad_(meme),0,32,
+gidget,4,32,
+giant_skeleton,0,32,
+ghost_(among_us),4,32,
+gettewi,1,32,
+getter-2,4,32,
+geshi,1,32,
+german_flag_print,0,32,
+gbmah,1,32,
+gb_hm,1,32,
+gaw_ha_leecee,4,32,
+gatotsu_stance,0,32,
+gatakk,1,32,
+gargling,0,32,
+gao_guangyue,1,32,
+ganzu,1,32,
+gannen_harst,4,32,
+gameso,1,32,
+galio,4,32,
+gakuen_tengoku,3,32,
+fumiya-taketatsu,1,32,
+fumi_(fumibeing),1,32,
+full_moon_(full_moon_wo_sagashite),4,32,
+fukuen_misato,4,32,
+fukiya_(fumiakitoyama),1,32,
+fukamine_riko,4,32,
+fuka-chan,4,32,
+fujiwara_naeka,4,32,
+fujiwara,1,32,
+fujimoto_you,1,32,
+fujii_shingo,1,32,
+frightening_(zoza),4,32,
+francesca_(pokemon),4,32,
+frag,4,32,
+forte_(crystalplanet00),4,32,
+force_(fossan_01),1,32,
+flying_tree_frog,1,32,
+fluffydus,1,32,
+flower_facial_mark,0,32,
+flippy_(cripine111),1,32,ypqilf
+flappy,4,32,
+flab,0,32,
+fjsk,1,32,
+fisher903,1,32,
+fish_and_chips,0,32,
+fiora_pellerin,4,32,
+fintowing,1,32,han_byeol_lee
+finn_(star_wars),4,32,
+finger_on_eyewear,0,32,
+fine_motion_(titania)_(umamusume),4,32,
+fimyuan,1,32,
+filia_(star_ocean),4,32,
+festering_desire_(genshin_impact),0,32,
+fernanda_suarez,1,32,fernanda
+fern_(sousou_no_frieren),4,32,
+feraltintinsimp,1,32,
+femboy_hooters_(meme),0,32,femboy_hooters
+fellbeast,4,32,
+feijitian,1,32,
+feel,4,32,
+fate/grand_order_waltz_in_the_moonlight/lostroom,3,32,
+fantia_username,0,32,
+fairy_knight_gawain_(ice_warrior)_(fate),4,32,
+fail_(djmax),4,32,
+e~ji,1,32,
+ezuki_luna,4,32,
+eye_twitch,0,32,
+exren,1,32,
+exeter_(azur_lane),4,32,
+eutopia_(love_live!),0,32,
+eurasian_beaver_(kemono_friends),4,32,
+etmc1992,1,32,
+esencey,1,32,supremacy
+erze_(king's_raid),4,32,
+eron,1,32,
+eri_(erikiri),1,32,
+eri_(artist),1,32,
+erementa,1,32,
+eno_(joqeve),1,32,
+enki_(juuni_kokuki),4,32,
+enemy_ootachi,4,32,
+endou_mishiro,4,32,
+emily_hu,1,32,021
+elven_knight_(dungeon_and_fighter),4,32,
+ellen_(folkssoul),4,32,
+elbow_gauntlets,0,32,
+eirudy,4,32,
+ecou,1,32,
+eboshi,4,32,
+earth_defence_force_5,3,32,
+e_(h798602056),1,32,
+duke_nukem_(series),3,32,
+ducktales,3,32,
+dslr,0,32,
+drift_girls,3,32,
+drawn_on_eyes,0,32,
+drapri_guu-ta-life_2,3,32,
+dossei,1,32,
+doremifa_rondo_(vocaloid),3,32,
+doraemon_(character)_(cosplay),0,32,
+dolores_(kof),4,32,
+dollinger,1,32,
+dog_nose,0,32,
+diyap,1,32,
+divine_spirit_(touhou),0,32,
+diva_duo_(mechanical_buddy_universe),4,32,
+disposable_camera,0,32,
+dino_(shepherd0821),4,32,
+dimension_(module),0,32,
+dias_flac,4,32,
+diarmuid_ua_duibhne_(lancer)_(fate)_(cosplay),0,32,
+diaper_changing,0,32,
+dia_(hong),4,32,
+devil's_hand_(ishiyumi),4,32,
+dethmath,1,32,
+desert_pattern,0,32,
+deroichi,1,32,
+dengeki_daioh,3,32,
+demeter_(fate),4,32,demeter_(fate/grand_order)
+deerling_(summer),4,32,
+deck_(architecture),0,32,
+deathwingxiii,1,32,
+death_knight_(warcraft),4,32,
+ddukae,1,32,
+darusu,1,32,
+dark_flame_master,4,32,
+dark_duck,1,32,
+dao_dao,1,32,
+dansei_virtual_youtuber_bacharu,3,32,
+danfango,1,32,
+dan_mora,1,32,
+damubomu,1,32,
+daimonji_ryugon,4,32,
+daichi_(hayate1328),1,32,
+dahe_zhuang_(yishi_fanhua),1,32,
+cyaron_(love_live!),0,32,
+curse_seal,0,32,
+cure_marine_(super_silhouette),4,32,
+cube_(jsr),4,32,
+cryptid_crab,1,32,
+crusty_(log_horizon),4,32,
+cross-laced_shirt,0,32,
+cro_(pixiv14643743),1,32,
+counting_sheep,0,32,
+conconcon1031,1,32,
+common_kingfisher,0,32,
+commander_shepard_(male),4,32,
+colomar,1,32,
+coiled_cord,0,32,
+code:_sariel_(elsword),4,32,
+cocytus_(overlord),4,32,
+cocoro_moto,1,32,
+coco_(eogks),4,32,
+clover_point,3,32,
+cloud_ya,1,32,
+clear_cross,1,32,
+clavat,4,32,
+clarisse_(fire_emblem),4,32,kuraine
+citan_uzuki,4,32,
+chuuko_anpu,1,32,
+chronica,4,32,
+chouginga_gurren-lagann,4,32,chouginga_gurren_lagann
+cho_aniki,3,32,
+chloe_ardenne,4,32,
+chiyu_(kumataro0x0),1,32,
+chisiro_unya_(unya_draw),1,32,unya_(coco121955)
+chirosuke_(nameless),1,32,
+chinchin_kemokemo,3,32,
+child's_play,3,32,
+chikuwa_(rinka),1,32,
+chikattochikachika_(kaguya-sama_wa_kokurasetai),0,32,
+chigusa_nana,4,32,
+chicobo,4,32,
+chiba_nagisa,4,32,
+chi_lian_qiju_zhu,1,32,
+chi's_sweet_home,3,32,
+chcn,1,32,
+charge_blade,0,32,
+character_balloon,0,32,
+chantez_arpinion,4,32,
+chanchan,1,32,
+chan_sang,1,32,
+cermia_(epic_seven),4,32,cermia_(epic7)
+cerevisiae-tan,4,32,
+celestial_s,1,32,
+celestial_(suzumiya_haruhi),4,32,
+cecily_fairchild,4,32,
+caw=zoo,1,32,
+cat_eyes_(alice_girls),4,32,
+cas_cassis,1,32,
+carrying_pole,0,32,
+carcass,0,32,
+calvin_&_hobbes,3,32,calvin_and_hobbes
+calvaires,1,32,
+calbee_(potato_chips),3,32,
+caius_qualls,4,32,
+ca2la,1,32,
+byleth_(fire_emblem)_(female)_(cosplay),0,32,
+byeoljagga,1,32,
+buu_(buu02),1,32,janne1230
+burgerpants,4,32,
+bunbee_(yes!_precure_5),4,32,
+budd_root,1,32,
+bryan_fury,4,32,
+broom_ribbon,0,32,
+brandish,3,32,
+brain_drain_(skullgirls),4,32,
+brace,0,32,
+bowed_wings,0,32,
+bori_(3910234),1,32,
+bookcage,1,32,
+boo_1,1,32,
+blue_raincoat,0,32,
+blue_moon_(module),0,32,
+blue_drop,3,32,
+blue-eyed_girl_(hayabusa),4,32,
+blonde_shrine_maiden_from_a_future_era_(touhou),4,32,
+blazefire_saber,0,32,
+blaz_b._aros,1,32,
+blade_runner_2049,3,32,
+blade_(nu_carnival),4,32,
+blacktheif,1,32,
+blacknight_(summer_flowers)_(arknights),4,32,
+blackberry_hair_ornament,0,32,
+black_tunic,0,32,
+bitte,1,32,
+birman_h,1,32,
+bionic_commando,3,32,
+biloxi_(azur_lane),4,32,
+bill_(left_4_dead),4,32,
+bigdog,4,32,big_dog
+best_jeanist,4,32,hakamada_tsunagu
+bernard_wiseman,4,32,
+berich_(7th_dragon),4,32,
+benelli_m4,0,32,
+behind_cover,0,32,
+bebe_0620,1,32,
+bear_yutaka,4,32,
+bear_head,0,32,
+beamed_thirty-second_notes,0,32,beamed_demisemiquavers
+bea_(pokemon)_(cosplay),0,32,
+bat_(hokuto_no_ken),4,32,
+barley_juice,1,32,
+bari_dal,1,32,
+barb-tan,4,32,
+banshee_(last_origin),4,32,a-87_banshee
+baltan_seijin,4,32,
+bake-danuki_(genshin_impact),4,32,
+baby_steps,3,32,
+b6,1,32,b6_n2
+azuremo,1,32,
+azuki-iro,1,32,
+azm_(mochanepore),1,32,
+azito7,1,32,
+ayabe_lilyna,4,32,
+atagumo_yuba,1,32,takumoyuha
+asuna_(blue_archive)_(cosplay),0,32,
+assi,1,32,
+aspis,0,32,
+ashihara_chihiro,4,32,
+ashei,4,32,
+ascot_between_breasts,0,32,
+asatsuyu_sayoko,4,32,
+asashio_(the_transfer_student_underneath_the_dancing_petals)_(azur_lane),4,32,asashio_(flowering_season's_transfer_student)_(azur_lane)
+asamori_mizuki,1,32,
+asagi-so,1,32,
+aruhi_ohimesama_ni_natteshimatta_ken_ni_tsuite,3,32,
+arson,0,32,
+armored_animal,0,32,
+arisku,1,32,
+arishiki,1,32,
+argyle_bow,0,32,
+archangel_(p&d),4,32,
+arca_(summon_night),4,32,
+ararecoa,1,32,
+arantheus,1,32,
+aranasi,1,32,
+aralez,1,32,
+aqwiz,1,32,
+appleale19,1,32,
+apple_poison,4,32,
+apple_(luffy123),1,32,luffy123
+aphrodite_(hades),4,32,
+aoshima_kanae,1,32,
+aomi_isara,4,32,
+aoirnn,1,32,
+aoi_ren,4,32,
+aoha_yuuki,1,32,
+anzelotte,4,32,
+anyacchi,1,32,
+anya_pandaria,4,32,
+anubis_(z.o.e.),4,32,
+ant-man,4,32,
+anju_(utawarerumono),4,32,
+aner_(qqan00),1,32,
+ane_hoshimaru,1,32,
+andou_natsuki,4,32,
+ancoloyuki,1,32,
+anadapta,1,32,
+amou_june,4,32,
+amor,0,32,
+amidamaru,4,32,
+ami7,1,32,
+ame_(candycircle),1,32,
+amatake_akewo,1,32,
+amashi_(qcmrq906),1,32,
+amano_miyabi,1,32,
+amano_kenpi,1,32,
+amane_shinobu,1,32,shinobu_(pixiv2500)
+amakura_kei,4,32,
+amaki-aria,1,32,
+almiria_bauduin,4,32,
+alloc_(playable_one),1,32,
+alice_lendrott,4,32,
+alexandra_viktorovna_dashkova,4,32,
+alexander_lloyds,4,32,
+alexa_(pokemon),4,32,
+alea,3,32,
+akuakuran,1,32,
+akizuki_kanna,4,32,
+akitsuki_ria,1,32,
+akikaze_rui,4,32,
+aki_a0623,1,32,
+akashi_(akashimichi),1,32,
+akahito_(genshin_impact),4,32,
+akahaneko,1,32,
+akagi_ritsuko_(cosplay),0,32,
+akabane_iori,4,32,
+ak1222dece,1,32,
+aizawa_marimo,1,32,
+after_the_rain,0,32,
+africa,0,32,
+aether_foundation_employee_(cosplay),0,32,
+admiral_graf_spee_(world's_cutest)_(azur_lane),4,32,admiral_graf_spee_(ironblood_cutie)_(azur_lane)
+adlet_myer,4,32,adlet_mayer
+adeltrud_walter,4,32,
+addam_origo,4,32,"adel_oldou,adel_orudou"
+adachi_masahiro,4,32,
+ace_trainer_(pokemon)_(cosplay),0,32,
+ace_akira,1,32,
+abyssal_sun_princess,4,32,abyssal_sun_hime
+abukuma_(azur_lane),4,32,
+abudala,1,32,
+absurdly_fat_mons,0,32,
+abemorioka,1,32,
+aa-2153,4,32,
+a_kite,3,32,kite_(anime)
+a-tsuki,1,32,
+a-1_pictures,3,32,
+78_(tky8),1,32,
+746kuchiku,1,32,
+714_(leg200kr),1,32,
+5ya,1,32,
+5alive,1,32,
+57friend,1,32,
+4me_4ma,1,32,
+3735geriragouki,1,32,
+2y_(tsuyu),1,32,
+28aarts,1,32,
+10011018,1,32,
+0x3,1,32,
+0000_(byoubyou),1,32,
+zygarde_(complete),4,31,
+zygarde_(10%),4,31,
+zuosi_zhichu,1,31,
+zundamochi_(sera),1,31,
+zuihou_(kancolle)_(cosplay),0,31,
+zorim,1,31,
+zokenwatarushi,1,31,
+zhang_fei,4,31,
+zetz,1,31,
+zenji029,1,31,
+zelgius_(fire_emblem),4,31,
+zeko,1,31,
+zeixique,1,31,
+zangetsu_(shikai),0,31,
+z36_(azur_lane),4,31,
+z23_(the_banquet's_honor_student)_(azur_lane),4,31,
+z20_karl_galster_(azur_lane),4,31,
+yuzuki_yukari's_younger_twin_brother,4,31,
+yuzuki_ryouta,1,31,
+yuzuha_(vtuber),4,31,
+yuutenji_mishio,4,31,
+yuurakudou_kurono,1,31,
+yuunagi_kanade,1,31,
+yuuki_nanase,4,31,
+yuuforia,1,31,
+yuu_kurema,1,31,
+yusya,1,31,
+yuro_(mangasukinoyuro),1,31,
+yuri_meichi,4,31,
+yuren,1,31,
+yura_458,1,31,
+yuo0,1,31,
+yunael,4,31,
+yumeno_shiori,4,31,
+yume_aoi,4,31,
+yuma_(yuuma_pants),1,31,
+yukipo,4,31,
+yukine,1,31,
+yuki_(luupechi),4,31,yuki_(hyui_cf2)
+yuki-ichigo,1,31,
+yui_(imprinting),1,31,
+yuffie_kisaragi_(cosplay),0,31,
+yueyue_no_hand,1,31,
+yu_cheng_hong,1,31,yuchenghong
+ytuorvi,1,31,
+ys_origin,3,31,
+youyou_(yoyoyo),1,31,yo_(pixiv)
+yousan_(pixiv540898),1,31,
+yoshitaro_(almendra),1,31,
+yoshioka_kumiko,1,31,
+yoshikanakamura,1,31,
+yoshida_shouyou,4,31,
+yomo_renji,4,31,
+yokoshima_(qb74pnkp),1,31,
+yohia,1,31,
+yodokawa_(yukko),1,31,"yuko_(pixiv372453),yuko_(ymol)"
+yiqiang,1,31,
+yezhi_na,1,31,
+yayoi_b_lutwidge,4,31,
+yatorishino_xam,4,31,
+yatatashira,1,31,
+yao_bikuni_(onmyoji),4,31,yaobikuni_(onmyoji)
+yansae81,1,31,
+yanobrk,1,31,
+yankee41,1,31,
+yangli_daxian,4,31,
+yang_yang,4,31,
+yanagita_(daitai_2_ton),1,31,
+yanagisawa_masahide,1,31,
+yanagi_koharu,4,31,
+yamakumo,1,31,
+yamakawa_kouji,1,31,
+yamada_uiro,1,31,
+yamada_auto,1,31,
+yakata_(artist),1,31,
+yagumo_kengou,1,31,
+yagiri_seiji,4,31,
+yagi_(s1120411),1,31,
+yae_(eky_567),1,31,
+xinshijie_de_akalin,1,31,
+xiaowei_(xxx29042536),1,31,
+xiaoshan_jiang,1,31,
+xia_oekaki,1,31,
+xi-u,1,31,
+xelvy,1,31,
+xbox_one,0,31,
+x-change,3,31,
+wz.29_(girls'_frontline),4,31,
+wukloo,1,31,
+wu_zetian_(swimsuit_caster)_(first_ascension)_(fate),4,31,
+world_teacher_-isekaishiki_kyouiku_agent-,3,31,
+world's_edge,0,31,
+wootsang,1,31,
+wooden_fish,0,31,
+wokami,1,31,
+wminiminiw,1,31,
+wl6yugi8go1,1,31,
+witch_(dmfd),4,31,
+witch's_garden,3,31,
+wisconsin_(pacific),4,31,
+winton_kidd,1,31,
+windsurfing,0,31,
+windfish's_egg,0,31,
+white_blood_cell_(hataraku_saibou)_(cosplay),0,31,
+wet_leotard,0,31,
+wet_ground,0,31,
+welding_torch,0,31,
+water_battle,0,31,
+waremokou_(flower_knight_girl),4,31,
+wankoro_mochi,1,31,
+walking_mushroom_(dungeon_meshi),4,31,
+wajima_maki,4,31,
+wae,1,31,
+vvvmung,1,31,
+vmax-ver,1,31,
+vividyellow,4,31,
+virgin_mary,4,31,
+viorate_platane,4,31,
+violet_(ac8231),4,31,
+vexxxxa,1,31,
+vertical-striped_sweater,0,31,
+velchi,1,31,
+veggie,1,31,
+varys_truss,4,31,
+var_(weapon),0,31,
+vanilla_(nekomist),1,31,
+van_gogh_(second_ascension)_(fate),4,31,
+valkyrie-zero,1,31,
+uzumi_(uzumi_yosi),1,31,
+uz3d,1,31,
+uungunover,1,31,
+utsumi_erice_(swimsuit_avenger)_(second_ascension),4,31,
+usseewa,3,31,
+uss_yorktown_(cv-10)_(y.ssanoha),4,31,
+usarinko,1,31,
+us@myo,1,31,
+ursaluna,4,31,
+uranoyoru,1,31,
+uogokoro-kun,4,31,
+unwrap_me_body_bow,0,31,
+unown_?,4,31,
+uni96_(uknee96),1,31,
+un403lucky,1,31,
+umino_(anesthesia),1,31,
+umi_owl,1,31,
+umbreon_(cosplay),0,31,
+uesugi_hidehiko,4,31,
+uehara_sayoko,4,31,
+uchuu_senshi_baldios,3,31,space_warrior_baldios
+uchiha_mikoto,4,31,
+ubel_blatt,3,31,
+uatemyrice,1,31,
+u_(mypace),1,31,
+tyuuboutyauyo,1,31,
+tytree_crowe,4,31,
+tytania,3,31,
+tyrca_(venus_blood),4,31,
+type_3_active_sonar,4,31,
+twitter_strip_game,0,31,
+twinkle_eye,0,31,
+turn_of_the_golden_witch,3,31,
+tukemono6,1,31,
+tsurumi_kazane,1,31,fukuchan4eyes
+tsumuri,1,31,
+tsukimichi,1,31,
+tsukikaze_aki,1,31,
+tsukihiko_(kagerou_project),4,31,
+tsujiori,1,31,
+tsui_(kojiya),1,31,
+tsuaaa,1,31,
+tsathoggua_(housamo),4,31,tsathoggua_(tokyo_houkago_summoners)
+true_blue,3,31,
+trkz_tmwk,1,31,
+trigonometry,0,31,
+trigger_(ace_combat),4,31,
+toyo_(c8),1,31,
+toya_kento,1,31,
+touya_(tottoo-to),1,31,
+tourniquet,0,31,
+touhou_sky_arena,3,31,
+touching_tail,0,31,
+torn_bag,0,31,
+torimachi_kazami,4,31,
+torigoshi_crow,1,31,
+torasigure,1,31,tra_timerain
+tooya_(gin'iro_koubou),1,31,
+tonnelee,1,31,
+tongue_twister,0,31,
+tomoe_(blue_archive),4,31,
+tombiiwa,1,31,
+tokitoki_(commando),1,31,
+tokita_kouichi,1,31,
+tokime_shizuka,4,31,
+tokarev_(a_couple's_journey)_(girls'_frontline),4,31,
+tojorin,1,31,
+toilet_brush,0,31,
+togashi_yuu,1,31,tomikashi_yuu
+toda_ayu,1,31,
+tobi_(mue86),1,31,
+toaster_(arms),0,31,
+tkbnmnm,1,31,
+titus_alexius,4,31,
+tirofinire,1,31,
+tio_(grandia),4,31,
+tialoft_e_tromea,4,31,
+ti_keep,1,31,
+ti2,4,31,
+thumbelina,3,31,
+thimble,0,31,
+thi_fure,1,31,
+the_super_mario_bros._movie,3,31,super_mario_bros._(2023_film)
+the_iris_swordsoul,4,31,
+the_batman_(2022),3,31,
+thar_chandran,1,31,
+tetisuka,1,31,
+tenton_(henatyo),1,31,henacho
+tenshin_no_kehyaku_tanuki,1,31,muyuchengfengyh
+tenroy,1,31,
+tellu_(sailor_moon),4,31,
+telepurte,1,31,
+tekaru,1,31,
+tech_box_(azur_lane),0,31,
+teca_(ryeol),1,31,
+tawa_(ookami_mio),4,31,
+tatsunoko_777,1,31,
+tatsumi_(psmhbpiuczn),1,31,psmhbpiuczn
+tatsumaki_udon,1,31,
+tatsuki_(pizza_no_tempra),1,31,
+tatara_maguro,1,31,
+tatara_kenshiro,4,31,
+tanu_(ace_ikachan),1,31,
+tanikaze_(azur_lane),4,31,
+tanaka_souichirou,4,31,
+tamtam,1,31,
+tamayo,1,31,
+tamaki_(209),1,31,
+tamagoyaki_pan,0,31,"makiyakinabe,rectangular_frying_pan"
+tama_go,1,31,
+talesshop,3,31,
+tales_of_phantasia:_narikiri_dungeon_x,3,31,
+takuyasaeki,1,31,
+takuan_(a_mood_home),1,31,user_ncyp5482
+takizawa_seidou,4,31,
+takenaka_hanbee_(sengoku_basara),4,31,takenaka_hanbei_(sengoku_basara)
+take-run-atelier,1,31,
+takatsuki_arunashi,1,31,
+takashiro_chidori,4,31,
+taka_(takahiro_si),1,31,
+taiyou_no_promia,3,31,
+taiyaki_a,1,31,
+taishi_karibe,1,31,
+tachibana_senzou,4,31,
+tachibana_meiko,4,31,
+t1ger_spuma,1,31,
+syr_flover,4,31,
+syobonne,1,31,
+sylvia_christel,4,31,
+sylphiel_nels_lahda,4,31,
+sy-l-via,1,31,
+sword_of_seiros,0,31,
+switch_axe,0,31,
+sweetie_belle,4,31,
+suzushiro_sayu,1,31,
+suzusato_rinka,1,31,
+suusuke,1,31,
+sussex_(azur_lane),4,31,
+surutsu,1,31,
+suruga_ataru,4,31,
+surps,1,31,
+super_sailor_pluto,4,31,
+super_mario-kun,3,31,
+super-saiya-0173,1,31,
+sumiyoshi_rocket,0,31,
+sumi_hei,1,31,
+sulong_form,0,31,
+sula_(s_ra760),1,31,
+sugou_asuka,4,31,sugo_asuka
+sugiura_jirou,1,31,
+sugino_tomohito,4,31,
+sugarette,4,31,
+steel_ingot,0,31,
+star_bit,0,31,
+standing_leg_lock,0,31,
+stahl_(fire_emblem),4,31,solt_(fire_emblem)
+stacker_pentecost,4,31,
+ssm_(ssm82048039),1,31,
+ssam_(samel10),1,31,
+srco,4,31,
+squirrel_costume,0,31,
+spring_(trigger),4,31,
+spiral_warrior,0,31,
+sphie,4,31,
+spam,0,31,
+space_xu_fu_(fate),4,31,
+sou_230,1,31,
+soto_miyako,1,31,
+sosya_ku,1,31,
+sortiliena_serlut,4,31,
+sopranino,1,31,
+sophie_(sennen_sensou_aigis),4,31,
+soooooook2,1,31,
+solidus_snake,4,31,
+soldier's_set_(zelda),0,31,
+sogekishu_(sni8er),1,31,
+sogdin,1,31,
+softp3ach,1,31,
+snowflake_liliput_(idolmaster),0,31,snowflake_liliput
+smokey_(alchemy_stars),4,31,
+smirnoff_(vodka),0,31,
+sleepy69,1,31,
+skull_(disgaea),4,31,
+skarltano,1,31,skaghonat
+sio_genshin,1,31,
+sino_(rtlsino),1,31,
+sino_(oyasumi_hf),1,31,"iniini,oyasumi_hf"
+silver_(color),0,31,
+silva_(enkyo_yuuichirou),4,31,
+silber_1224,1,31,
+sig_(gyee),4,31,
+side_part,0,31,
+shuimo,1,31,
+shoutoku_taishi,4,31,
+shoudou_kotoha,4,31,
+shou_(karigurashi_no_arrietty),4,31,
+shooting_through_heart,0,31,
+shooting_girl,3,31,
+shon,1,31,
+shiva_(tairakuten),1,31,shiva_(johan-s)
+shiten_rekka_karin,4,31,
+shiryuu_akira,1,31,
+shiro_no_musume_(vocaloid),3,31,daughter_of_white_(vocaloid)
+shiro_hakuchou,1,31,
+shiro_(kiron),1,31,
+shiro_(acad1213),1,31,
+shiro_(46isou),1,31,
+shirazu_ginshi,4,31,
+shiratsuki,1,31,
+shiranui_inori,4,31,
+shiranui_hansode,4,31,
+shiranagi_masa,1,31,
+shirakami_fubuki_(artist),1,31,
+shiraishi_takashi,1,31,
+shiragami_youko,4,31,
+shiongaze,1,31,nyaswitchnya
+shinyu_xingyu,1,31,
+shinonono_tabane,4,31,
+shinmai_maou_no_testament_burst,3,31,
+shining_dream,4,31,
+shinatsuhiko_yae,4,31,
+shin_mazinger_zero,3,31,
+shin_(dragon_ball),4,31,
+shimomura_izumi,4,31,
+shime_mura,1,31,
+shimazoenohibi,1,31,
+shimashima_salmon,1,31,
+shimabara,1,31,
+shima_kujira,1,31,
+shigatsu_itsuka,1,31,
+shianebulae,1,31,
+sherry_(langrisser),4,31,
+shellin_burgundy,4,31,
+sheila_e,4,31,
+sheeney_(muku),4,31,
+shayla-shayla,4,31,
+shawli,1,31,
+sharifah_ozdil,4,31,
+shanxin_(the_legend_of_luoxiaohei),4,31,
+sham_fu,1,31,
+shah,1,31,
+shadow_(kingdom_hearts),4,31,
+shaco,4,31,
+sgt_hartman,4,31,
+sgawarananto,1,31,
+sexy_gals_(idolmaster),0,31,
+seset,1,31,"seset163,sesetto"
+serini_(pixiv_fantasia),4,31,
+sera_(judgemint),4,31,
+seo_(tqhgud016),1,31,
+sentry,0,31,
+sensei_(tawawa),4,31,
+senpai_(kuro_senpai),4,31,
+senoo_chihogi,4,31,senoh_chihogi
+senacolada,1,31,
+selka_zuberg,4,31,selka_schuberg
+sega_dreamcast_(sega_hard_girls),4,31,dreamcast_(hi-scool!_seha_girls)
+seera_finis_victoria,4,31,
+seele_(honkai:_star_rail),4,31,
+seed_uniform_(ff8),0,31,
+scp-040-jp,4,31,
+sconce,0,31,
+schwerer_gustav,0,31,
+school_wear_(idolmaster),0,31,
+scarlet_ohara,4,31,
+scarf_girl_(tiger_&_bunny),4,31,
+sazaki_susumu,4,31,
+satsuyu_ito,1,31,
+satorichan,1,31,
+satomi_naoko,4,31,
+sasuke_(ganbare_goemon),4,31,
+sassakntm,1,31,
+saskia_gutekunst,1,31,
+sashisu,1,31,
+sashacall,1,31,
+sasaki_toshiyuki,1,31,
+sarashiki_kanzashi,4,31,
+sarah_adiemus,4,31,sara_adiemus
+sarah-san_(mignon),4,31,
+sap,1,31,
+sanwa_(koyabu2171),1,31,
+santa_panties,0,31,
+santa_(kaisou_hikuutei),1,31,
+sankichi_(croquette_crab),1,31,"croquette_crab,urakichi_(karashimayo_2)"
+saniiiwan,1,31,
+sangekimaru,1,31,
+sanasedayo,1,31,
+samurai_(zoza),4,31,
+samuel_b._roberts_mk_ii_(kancolle),4,31,
+salty_eyes,1,31,fantasia_var
+sakurai_muto,1,31,
+sakuraebi_chima,1,31,
+sakura_mafumi,1,31,
+sakura_kyouko_(swimsuit_costume),4,31,
+sakura_bitmap,3,31,
+saku_(amespi),1,31,
+sakashita_yuzuyu,4,31,
+sakanobo_(sushi1021),1,31,
+sakana_kidori,1,31,
+sakamoto_shuuji,1,31,
+sakamaki_izayoi,4,31,
+sakaki_kayumu,1,31,
+saiun_sigma,1,31,
+saitou_sakae,1,31,
+saitou_chiho,1,31,
+saitama_(one-punch_man)_(cosplay),0,31,
+saikoro_(et1312),1,31,
+sahara_(charlotte),1,31,
+sadcat,1,31,rocket_neko
+sabusuka,1,31,
+sabo_rin,4,31,
+saber_beam,1,31,96xpv2acnsiy0i9
+sabamisob,1,31,
+saaal653,1,31,
+sa/tsu/ki,1,31,i_411ii
+s_o_i,1,31,
+ryuuna_(shining_tears),4,31,
+ryuuga_nanamaru,1,31,
+ryugue,1,31,
+ryu_jiao,1,31,
+ryou_(ryo_217cafe),1,31,
+ryoko_(game_x_over),1,31,
+rynn_(seibu),1,31,
+ryner_lute,4,31,
+rurumo,4,31,
+ruoganzhao,1,31,claw_(rjtd7274)
+ruo_(cruzada),1,31,
+ruka_(cookie),4,31,
+ruit,1,31,
+ruint,1,31,
+ruby_(nox),4,31,
+rozarita,1,31,
+roubai_academy_school_uniform_(new),0,31,
+rosso_fantasma,0,31,
+rosa_tsubomi,1,31,
+rokuya_nagi,4,31,
+rokuji,1,31,
+roisa,1,31,
+roderika_(elden_ring),4,31,
+rodan_(godzilla:_king_of_the_monsters),4,31,
+robin_sena,4,31,
+rita_ya,1,31,
+ririka_(ab-yuri),1,31,
+rimibure,1,31,
+rikudou_reika,4,31,
+rigurudo_(tensei_shitara_slime_datta_ken),4,31,
+ricken,1,31,
+richea_spodune,4,31,
+rich_h1ll,1,31,
+riako,1,31,
+rh0012,1,31,
+retorou,1,31,
+resurrection,0,31,
+rerere,1,31,
+repulse_(warship_girls_r),4,31,
+reo_(haozz),4,31,
+renyu1012,1,31,
+renpu_girls_school_uniform,0,31,
+rekka_yamato,1,31,bayern_yamato
+reimaco,1,31,
+regenerate-x,1,31,
+reducto,1,31,
+redman_(character),4,31,
+redforge,1,31,3reforged
+red_pond,1,31,rpracing
+red_mask_(arizuka),4,31,
+red_dragon_archfiend,4,31,
+red_blood_cell_(hataraku_saibou)_(cosplay),0,31,
+red_ace,1,31,
+red_(saga_frontier),4,31,
+re:n_ne,1,31,
+razz_berry,0,31,
+raydango,1,31,
+rara419,1,31,
+rapiko,1,31,
+raoul_(raoul77),1,31,
+ranka_(tonbo),1,31,
+ranger_2_(sekaiju),4,31,
+ran_(elsword),4,31,
+ramirisu,4,31,
+raijin,4,31,
+racing_miku_(cosplay),0,31,
+rachel_ransom,4,31,
+quruiqing,1,31,
+qumaoto,1,31,
+quiz_nanairo_dreams,3,31,
+quincy,0,31,
+qplus,1,31,
+qing,1,31,
+qi_(bleachcxn),1,31,
+qi1san,1,31,713
+pyron,4,31,
+pyonkichi,4,31,
+putin_(usavich),4,31,
+purring,0,31,
+purple_innertube,0,31,
+punt_(kienbiu),4,31,
+pucho,1,31,puchopucho
+provocation,0,31,
+protagonist_(romancing_saga_2),4,31,
+prologue_rouge_(idolmaster),0,31,prologue_rouge
+principal_(hidamari_sketch),4,31,
+princess_bitch,4,31,
+prince_of_persia,3,31,
+prince_of_lan_ling_(eastern_socialite_attire)_(fate),4,31,eastern_socialite_attire
+priest77,1,31,
+poyosuke,1,31,
+power_glove_(nintendo),0,31,
+potato7192,1,31,
+portugal,0,31,
+porcupine,0,31,
+porcelain,0,31,
+poppo_sutchy,1,31,
+popopo,1,31,
+popeye_the_sailor,3,31,
+ponto1588,1,31,
+ponpu-chou,1,31,
+ponpoko_(vtuber),4,31,
+polish_clothes,0,31,
+pochi_(askas_is_god),1,31,
+playstation_symbols,0,31,
+player_avatar_prototype_(woman)_(kemono_friends),4,31,
+planting,0,31,
+plaid_umbrella,0,31,
+plaid_bikini_top,0,31,
+plaid_ascot,0,31,
+pixiv_forest,3,31,
+pisapipi,1,31,
+pipikopipiko,1,31,
+pino_ko,1,31,yeej_(yeejchan)
+pink_garter_straps,0,31,
+pink-haired_nun_(skeb),4,31,
+pikakoya,1,31,
+pig_print,0,31,
+piaroo,1,31,
+piao_miao,1,31,
+pi_(zcvj3588),1,31,
+pewposterous,1,31,
+peroronti,1,31,
+perman_(series),3,31,
+people's_liberation_army_navy,0,31,
+pentagram_earrings,0,31,
+penis_nipples,0,31,
+penguin_uwu,1,31,
+peanut_butter,0,31,
+pavianne_(ragnarok_online),4,31,
+patalliro!,3,31,
+paruma_umu,1,31,
+paravane,0,31,
+parasite_eve_ii,3,31,
+paralysis,0,31,
+panya,1,31,
+panties_under_leotard,0,31,
+panties_over_bike_shorts,0,31,
+panda_(azarashi_suki),1,31,
+pajant,1,31,
+paisu-chan_(yashiro_sousaku),4,31,
+painnico,1,31,
+pai_(1111),1,31,
+pafe_yuzuran,1,31,brad_scarlet
+ozma,1,31,
+oyuyamio,1,31,
+oyashio_kai_ni_(kancolle),4,31,
+oumi_hi,1,31,
+ouhashi_(yumenosukima),1,31,
+ouchi_ni_kaeru_made_ga_mashimaro_desu,3,31,
+otyaume_1910,1,31,
+ots-44_(girls'_frontline),4,31,
+otome_no_teikoku,3,31,
+otogi_yuugi,1,31,
+ossou_rocket,1,31,otsusou
+osananajimi_ga_zettai_ni_makenai_lovecome,3,31,
+oriko_(nicolai),1,31,
+oribe_ririko,4,31,
+orangutan,0,31,
+opera_brest,4,31,
+open_leotard,0,31,
+ooki_bonta,1,31,
+oofuji_reiichirou,1,31,
+ontama,1,31,
+oni_chichi,3,31,
+okuma_tanukichi,4,31,
+okiya_subaru,4,31,
+okinawa,0,31,
+okaya_mrh,1,31,
+oizumi,3,31,
+ohako,1,31,
+octorok,4,31,
+ocaca_(chocolate-hopper),1,31,
+obey_me!:_one_master_to_rule_them_all!,3,31,
+o-hako,1,31,
+nzack,1,31,
+nyan_cafe_macchiato,3,31,
+nusisring_tactical,3,31,
+nurse_no_obenkyou,3,31,
+nurse_ni_omakase,3,31,
+nuri,4,31,
+nui_(nuinui0300),1,31,
+nu_wa,4,31,
+npt_shizuka,1,31,npt_(akzkfhsk0503)
+nox13,1,31,
+nowheresoul,1,31,
+northampton_(warship_girls_r),4,31,
+north_korea,0,31,
+norne_(fire_emblem),4,31,norn_(fire_emblem)
+nonomiya_shiho,4,31,
+nonaprev,1,31,
+nonaka_nono,1,31,
+noko,1,31,
+nogizaka46,3,31,
+noel_(pixiv5459099),1,31,
+nodocchi,4,31,
+noda_satoru,1,31,
+no_capelet,0,31,
+no/min_(noumin_suijun),1,31,
+nitumaruta,1,31,
+nishizawa_shizuku,4,31,
+nishiwaki,1,31,
+nishitaka,1,31,
+nishio_akira,4,31,
+nira-chan,4,31,
+ning_rongrong_(douluo_dalu),4,31,
+nina_geminis,4,31,
+nikuya_(nikuniku_nikuya),1,31,
+niii,1,31,niiisn
+niccya,1,31,guohua
+niall_ardanach,4,31,neferu_(xenoblade)
+ni_celery_pk,1,31,
+neziiro,1,31,
+neyagi,1,31,
+newmanoid,3,31,
+newash,1,31,
+netapai1,1,31,
+nervegear,0,31,nerve_gear
+neon_(pixiv_31150749),1,31,
+nenkou-san,1,31,
+nekopurin_(nyanko_prin),1,31,
+nekome3,1,31,
+nekogami_yaoyorozu,3,31,nekokami_yaoyorozu
+neil_(neil_nim),1,31,
+neiko,1,31,
+nehan_(gedatsu_nehan),1,31,
+negi3,1,31,
+nda-p_(threelow),1,31,
+nazuna_(log_horizon),4,31,
+navel_(company),3,31,
+natsusora_aona,4,31,
+nasu_bacon,1,31,
+narumi_akiko,4,31,
+narugino_mikatan,4,31,
+napoleon_bonaparte,4,31,
+nankyoku_sakura,4,31,
+nanatsuki_sousuke,1,31,
+nanashiba,1,31,
+nanao_yuki,1,31,
+nana_(mega_man_x:_command_mission),4,31,nana_(rockman)
+namiki_kojiro,1,31,
+namae_(areees),1,31,
+nakata_masahiko,1,31,
+nakanoshima_tae,4,31,
+nakano_kiho,1,31,
+nakamura_kuzuyu,1,31,
+nakajima_yuuko,4,31,nakajima_(genshiken)
+nakaga_eri,1,31,
+naive_(day),1,31,
+nagi_mizuha,1,31,
+nagatsuki_misoka,1,31,
+nagato_(naruto),4,31,
+nagatani_(ngt_926),1,31,
+nagano_(5ronta),1,31,
+nacho_(nacho_1103),1,31,mad_rabbit
+na_arva,1,31,
+n_(anniversary_2021)_(pokemon),4,31,
+mysterious_heroine_x_alter_(fate)_(cosplay),0,31,
+myouji_namawe,1,31,
+myoue,4,31,
+muyu713,1,31,
+muu1519,1,31,
+mutton_(user_hafp8324),1,31,
+muttiy,1,31,
+muta_kokichi,4,31,
+musu,4,31,
+mushroom_parent,4,31,
+mushi_kei,1,31,
+mushi_hara,1,31,
+musekinin_kanchou_tylor,3,31,the_irresponsible_captain_tylor
+murmeltier,4,31,
+murmansk_(sceneries_of_pure_snow)_(azur_lane),4,31,
+murasawa_hiroshi,1,31,
+murasaki_orange,1,31,
+muni_nuren,1,31,
+mumu_mago,1,31,
+multicolored_flower,0,31,
+muko_(kokia38),1,31,
+muki_(munikichan),1,31,
+mukai_(kof),4,31,
+mujun-gatamari_(meme),0,31,mujun-gatamari
+muhyowo,1,31,
+muguruma_miyako,4,31,
+mugen_lion,4,31,
+mugcan,1,31,
+msugi,1,31,
+mr.way,1,31,
+mp-446_(girls'_frontline),4,31,mp-446_viking_(girls'_frontline)
+mozukuzukuzuku,1,31,
+moyashi_udon,1,31,
+mov,1,31,
+mouthpiece,0,31,
+mount,0,31,
+moukin_punch,1,31,
+motsunukisuki,1,31,
+motitoy,1,31,
+mother_(pso2),4,31,
+mossberg_590,0,31,
+morung,1,31,morung234
+moray_eel,0,31,
+moon_in_daylight,0,31,
+mony,1,31,
+monty_oum_(creator),4,31,
+monster_energy-chan,4,31,
+monkey_buonarroti,1,31,
+mongkhon,0,31,
+mondragon_m1908_(girls'_frontline),4,31,m1908_(girls'_frontline)
+momotarou_(character),4,31,
+momoko_(kof),4,31,
+momoko_(kaeru314),4,31,
+mogumogu_fuyoudo,1,31,mogumogu_huyoudo
+modoki_kuma,1,31,
+model_warrior_julianne,4,31,
+mochimon,4,31,
+mocha_(mochaxgm),1,31,mocha_(vwxf5353)
+ml.e,1,31,
+mkt_(50r50r),1,31,
+mizushima_aru,1,31,
+mizunototori,1,31,
+mizukiyan,1,31,
+mizuhara_saki,4,31,
+miyuu_(crazy_lollipop),1,31,
+miyashiro_takuru,4,31,
+miyama_sana,4,31,
+miyako_(halloween)_(princess_connect!),4,31,
+miyabi_reiji,4,31,
+miya_(baelfight),1,31,
+mituki_(mitukiiro),1,31,
+mitsuya,1,31,
+mitomumitomu,1,31,
+mitarashi_o,1,31,
+mistimagi_(character),4,31,
+miss_goldenweek,4,31,
+misono_karin_(halloween_ver.),4,31,
+misoni_(mi_so_ni_t),1,31,
+mishido_sun,1,31,
+misaki_sango,4,31,
+miruku_pan,1,31,
+mirelia_q_melromarc,4,31,
+miranda_(feguimel),4,31,
+mio_(needless),4,31,
+mio_(jian_wei),1,31,
+mingakk,1,31,
+minato_hikaru,4,31,
+minato0618,1,31,
+minamoto_momo,4,31,
+minamixdrops,1,31,
+minamino_nanami,4,31,
+minami_mayu,4,31,
+minakami_nagara,1,31,
+mimikkoui,3,31,
+milmir,1,31,
+millennium_necklace,0,31,
+milaria,1,31,
+mikuni_aoi,1,31,
+mikodanye,4,31,
+mikazuki_tenma,1,31,
+mikazuki_(feimao),1,31,
+miin_miin,1,31,
+mihono_bourbon_(umamusume)_(cosplay),0,31,
+michiyuki,0,31,
+michia_(bourgognepony),1,31,
+michelin_man,4,31,bibendum
+mian_li,1,31,hsu1231
+mf_bunko,3,31,
+messenger_(41986996),1,31,
+meru_(merumumu),1,31,
+mershark_(monster_girl_encyclopedia),4,31,
+merlin_(fate/prototype)_(third_ascension),4,31,
+mereoleona_vermillion,4,31,
+mercury_black,4,31,
+mercedes_(maplestory),4,31,
+mentaiko_jojotarou,1,31,
+meng_lea,1,31,
+mem-mem_(precure),4,31,men-men_(precure)
+melvy_de_florencia,4,31,
+melissa_renata,4,31,
+melfi,4,31,
+mele_ck,1,31,
+meitantei_holmes,3,31,
+mehve,0,31,
+megrim_haruyo,1,31,
+mega_swampert,4,31,
+meeboo_(arknights),4,31,
+medusa_(lancer)_(final_ascension)_(fate),4,31,
+medici_(lord_of_the_mysteries),4,31,
+mechi,1,31,
+mechanical_bird,0,31,
+mecha-fiora_(speed_cowling),4,31,mecha-fiora_(speed_armour)
+me_262,0,31,
+maya_(dewprism),4,31,
+max_anarchy,3,31,anarchy_reigns
+mauro_abelard,4,31,
+matsushika,1,31,
+matsukaze_(azur_lane),4,31,
+matsuda_jinpei,4,31,
+matsuba_moco,1,31,
+masui,1,31,
+master_nabesama,1,31,
+masked_booby_(kemono_friends),4,31,
+masinhwangje,1,31,
+masao_tsubasa,1,31,
+maruyama-jp,1,31,
+maruwa_gray,1,31,
+maru_(maruplum),1,31,
+marishiten_(mar1sh110),1,31,
+marie_(splatoon)_(cosplay),0,31,
+maribel_hearn_(cosplay),0,31,
+maria_(silent_hill),4,31,
+margo_(pokemon),4,31,
+marching_melodies_(idolmaster),0,31,marching_melodies
+march_(coyote_ragtime_show),4,31,
+manuba_(yukataro),4,31,
+maned_wolf_(kemono_friends),4,31,
+mallllma,1,31,
+male_mage_(dungeon_and_fighter),4,31,
+mako-hime,4,31,
+makiko,1,31,
+makai_no_koutaishi,1,31,
+majora_(entity),4,31,
+majokko_a_la_mode_2,3,31,
+mai_(popotan),4,31,
+mahou_sentai_magiranger,3,31,
+mahou_chuunen_ojimajo_5,3,31,
+magical_marriage_lunatics!!,3,31,
+magaqq123,1,31,
+maddy_lovecraft,4,31,
+m240,0,31,
+m16a4_(upotte!!),4,31,"16_(upotte!!),16_(upotte),ichiroku_(upotte!!),ichiroku_(upotte)"
+luoloo,1,31,
+luneth,4,31,
+luli_daxian,4,31,
+lsd,0,31,
+low_horns,0,31,
+lost-phews,1,31,
+lordgenome_(young),4,31,
+lopmon,4,31,
+lolicom,1,31,
+location_request,5,31,
+lobelia_(granblue_fantasy),4,31,
+lion_(trickster),4,31,
+lindwurm_(last_origin),4,31,p-29_lindwurm
+lina_rojas,1,31,
+limble,1,31,
+lilybell,1,31,
+lillie_(new_year's_2021)_(pokemon),4,31,
+lilithmy,1,31,
+lilith_(vanpri),4,31,
+liliane_vehlendorf,4,31,
+lian_mang,1,31,
+lexus_(artist),1,31,
+lewdlux,1,31,
+lew,1,31,
+leviathan_(zettai_bouei_leviathan),4,31,
+leon_(rune_factory),4,31,
+leon_(pokemon)_(cosplay),0,31,
+leo_(mobile_suit),4,31,
+lena_(fire_emblem),4,31,
+leeshin0919,1,31,maki_(pixiv9288678)
+lee_nabi,4,31,
+leatherclub_scene,0,31,
+leadale_no_daichi_nite,3,31,in_the_land_of_leadale
+lava_lamp,0,31,
+latte,1,31,
+lasty_farson,4,31,
+lastlong,1,31,
+las_vegas_(accio),4,31,
+lapaco,1,31,
+landorus_(therian),4,31,
+lancer_(deltarune),4,31,
+lalala_(kirby),4,31,
+laing,1,31,
+l.v.c.,1,31,
+kyung_han_kim,1,31,
+kyougoku_makoto,4,31,
+kyosuke_fujiwara,1,31,
+kykeon,0,31,
+kyan_(glira),1,31,
+kuzya,1,31,
+kuzunoha_kyouji_(sunny_side_street),1,31,
+kuzuneko,4,31,hazuki_ruu's_cat
+kuze_(ira),1,31,
+kuu_(0427),1,31,
+kusumoto_miya,1,31,
+kusanagi_mikoto_(artist),1,31,
+kurumada_gouichi,4,31,
+kurosaki_sasori,1,31,
+kuroki_shigewo,1,31,
+kuroiwa_brs,1,31,
+kuroba_(f-15c_eagle),1,31,kuroba_(pixiv112373)
+kuro_senpai_to_kuro_yashiki_no_yami_ni_mayowanai,3,31,
+kuriyama_kuriotoko,1,31,
+kurimu_(yappen),4,31,
+kuri-magu_kuroguro,1,31,
+kurena_kukumila,4,31,
+kurai_kako,4,31,
+kuon_gramred_shutleheim,4,31,
+kunikida_(female),4,31,
+kumei,1,31,
+kumatangent,1,31,xunluo_zhong_de_baihe_jingcha
+kumakuma,1,31,
+kuilaogouhuabudongle,1,31,
+kugayama_konoka,4,31,
+kuga_hajime_(world_lover),1,31,
+kudou_naka,4,31,
+kudou_aiko,4,31,
+kuchinashi_(not_on_shana),4,31,
+kuchiki_touko,4,31,kuchiki_toko
+kubozuka_pikurou,1,31,
+kraken_(splatoon),0,31,
+kozimaki,1,31,
+koyuki_ekaki,1,31,
+koyansuee,1,31,
+koyama_mai,1,31,
+koyade,1,31,
+koutake_hiroyoshi,1,31,
+kousoku_kidou_avatar_drive,3,31,
+kousaka_honoka's_mother,4,31,
+kouichi09,1,31,
+kou_(kokounene),1,31,
+kotobuki_tsumugi_(cosplay),0,31,
+kotee,1,31,
+koorizu,1,31,
+koopalings,0,31,
+konno_natsume,4,31,
+kon_(inakon),4,31,kon_(inari_konkon_koi_iroha.)
+komugi_(2212),1,31,
+komiya_ena,4,31,
+kokonex,1,31,starlight_crystalz
+koki_(latte1023),1,31,
+kokao358,1,31,
+koiso_tsukasa,4,31,
+koi_nobori,1,31,
+koharu1807,1,31,
+kodama_(sakura_yuki),4,31,
+kobone_awaki,1,31,
+knee_to_face,0,31,
+km9902226,1,31,
+kl501,1,31,
+kiwoseo_meogneundas,1,31,
+kiui_(kogane),1,31,
+kitsurubami,4,31,
+kisshii_(kic1224),1,31,
+kishinami_hakuno_(female)_(another_ending),4,31,
+kisero_(kyuri_tizu),4,31,
+kisaragi_koushi,1,31,
+kisaki_yuu,1,31,
+kisaki_souhei,4,31,
+kisaki_kanann,4,31,
+kirze,4,31,
+kiryuuin_souichirou,4,31,
+kiro_(kirotayu),1,31,
+kiris,1,31,
+kinoshita_ringo,4,31,
+kino_kuniya,4,31,
+kingyo_chuuihou!,3,31,
+kimono_dress,0,31,
+kiiro_kurumi,1,31,
+kiefer,4,31,
+khopesh,0,31,
+kenja_tori,1,31,
+ken_(kenta1922),1,31,
+kelly_0w0,1,31,
+kekai_kotaki,1,31,
+keipup,1,31,
+keifuku-san,3,31,
+keibleh,1,31,
+keibi_inu,1,31,
+kei_(k_tmr),1,31,
+kazuya0810,1,31,
+kazuma_kuvaru,4,31,
+kazekiri,1,31,
+kazami_shirou_(kaizou-zumi),1,31,
+kayna_(monster_hunter),4,31,
+kawazuishi,1,31,
+kawasaki_sakura_(idoly_pride),4,31,
+kawamura_kumi,4,31,
+kawakami_tomie,4,31,
+kawai_ritsu,4,31,
+kawai_ameri,4,31,
+kathy_(abubu),4,31,
+katase_aoko,1,31,
+katagiri_ikumi,1,31,
+kasumi_(shironeko_project),4,31,
+kasuga_no_tsubone_(fate),4,31,kasuga_no_tsubone_(fate/grand_order)
+kasia_mikolajczyk,4,31,
+karekusa_meronu,1,31,
+karameru,1,31,
+karakuri_neko_(tkfm),1,31,
+kaoru_(rena12345),1,31,
+kaoru_(mujin_wakusei_survive),4,31,
+kanoe_(tatsukanoe),1,31,
+kannazuki_nemu,1,31,
+kannawa_azusa,4,31,
+kanata_(kiduka),1,31,
+kana_(kwbr),1,31,
+kamui_(kurohshiro1),1,31,kuroshirox
+kamu_kotan,1,31,
+kamizawa_(sark),1,31,
+kamisama_minarai:_himitsu_no_cocotama,3,31,
+kamen_rider_brave,4,31,
+kakuume,1,31,
+kaku_(one_piece),4,31,
+kakeru_(fujiwara_kakeru),1,31,
+kaizuka,1,31,
+kaibutsu-kun,3,31,
+kaguya_hime_(onmyoji),4,31,
+kageyama_mari,1,31,
+kagamigawa_chloe,4,31,
+kaeru_(meriruou),1,31,
+kackaorz1,1,31,
+k-you_(pixiv),1,31,
+juugou_taki,1,31,
+junk_doppel,1,31,
+junik_(snrj2255),1,31,
+juliet_(granblue_fantasy),4,31,
+joule_(gunvolt),4,31,
+josue_pereira,1,31,josu├®_pereira
+josephine-843,1,31,
+jokarara,1,31,
+joe_(j_studio),1,31,
+jimmy09,1,31,
+jill_besson_(vordandan),1,31,vordandan
+jikai,1,31,
+jiafei2o3,1,31,
+jerky,0,31,
+jelly_fish,1,31,
+japanese_national_police_agency_(emblem),0,31,
+jan_(janpx2012),1,31,
+james_(pokemon)_(cosplay),0,31,
+jade_(dross),4,31,
+jack_sparrow,4,31,
+j-dragon,1,31,
+izumi_kanaaki,4,31,
+izanagi_no_ookami_p.,1,31,
+iz_izhara,1,31,
+itsumade_(onmyoji),4,31,
+itsukage,1,31,
+itou_chieri,4,31,
+itodome,1,31,
+ito_(silva),1,31,
+itkz_(silentknight),1,31,itkz_(pixiv)
+isozaki_bebebe,1,31,
+ise_(azur_lane),4,31,
+isaraa_005,1,31,
+iris_freyja,4,31,
+irasutoya,3,31,
+ira_megumi,4,31,
+ippongi_ryuuta,4,31,
+inu-hariko,0,31,
+intel,3,31,
+inshitsu_otaku_ni_ikareru_imouto_(kanojo),3,31,
+insertsomthinawesome,1,31,
+inora,1,31,
+injuotoko,1,31,
+ineuoy,1,31,
+inapple,1,31,
+inaki_shinrou,1,31,
+inae_koron,4,31,
+implied_penetration,0,31,
+implied_anilingus,0,31,
+imoman,1,31,
+ikurikaito,1,31,
+ikarimame,1,31,
+iinikukuiita,1,31,
+ihiro,1,31,
+iguchi_yumi,4,31,
+igarashi_sayaka,4,31,
+ifnil,1,31,
+idate,4,31,
+ichinose_tomoe,4,31,
+ichinose_mio,4,31,
+ichinose_honami_(amakano),4,31,
+ichijo_kazuya,1,31,
+ichigo_seika,1,31,
+ichigo-chan_(yk),4,31,
+ice_cream_sandwich,0,31,
+ibuki_douji_(first_ascension)_(fate),4,31,
+i-401_(aoki_hagane_no_arpeggio),0,31,
+hyouka_(rat_hut),1,31,
+hyatt,4,31,
+hya_(ohyaarin),1,31,
+hwoi_(hw_123),1,31,
+hungern_(skullgirls),4,31,
+human_shield,0,31,
+huckebein,4,31,
+hualing,4,31,
+hu_tu,1,31,
+how_to_draw_an_owl_(meme),0,31,how_to_draw_an_owl
+houriigurei,1,31,
+houman,1,31,
+hoshikawa_seira,4,31,
+hosaka_miyuki,4,31,
+horon,1,31,
+hoozuki_warabe,4,31,
+hong_hongcha,1,31,
+honami_yuu,1,31,
+holo_(cosplay),0,31,
+holding_snowman,0,31,
+holding_planet,0,31,
+holding_javelin,0,31,
+hokuto_hyakuretsu_ken,0,31,
+hk416_(percussive_bolero)_(girls'_frontline),4,31,
+hizaki_gamma_(artist),1,31,
+hiyokko_ep,1,31,
+hitsuki_miyu,1,31,
+hitokiri_battousai,1,31,
+hisiya_(wldn1112),1,31,
+hisaka_(cookie),4,31,
+hironegaika,1,31,
+hiranara_nirai,4,31,
+hira_(hinakomochi),1,31,
+hinata_mirun,1,31,
+hinata_himawari,4,31,
+himoo_yuina,4,31,
+himexin,1,31,
+himeno_fumi,4,31,
+himemiya_niina,1,31,
+hime_kake,1,31,
+himaruya_hidekazu_(style),0,31,
+hikari_no_4_senshi,3,31,
+hikari123456,1,31,
+hiiro_5-sai,1,31,
+higami_akabane,1,31,
+hien_rijin,4,31,
+hideki,1,31,
+hibiki_(nilten),1,31,
+hibana_(vocaloid),3,31,
+heyasamu,1,31,
+heshiko_disco,1,31,
+hertz_(tsuquart),1,31,
+helicopter_tail,0,31,
+hazuki_(hazu_chaya),1,31,
+haystack,0,31,
+hayden_mackenzie,1,31,
+hayadai,1,31,h-y-d
+hatsune_miku_(shinkalion),4,31,
+hatoro_kuroyoshi,1,31,
+hatoka_ra5,1,31,
+hasumi_keito,4,31,
+hashima_renge_(ryou@ryou),4,31,
+hasha,1,31,
+hasegawa_taizou,4,31,hasegawa_taizo
+harusaki_air,4,31,
+haruno14,1,31,
+haruno,1,31,
+harumiya_hiro,1,31,
+harui_(huruyi_817),1,31,tobi_(user45255077)
+haru_(maou-sama_to_kekkonshitai),4,31,
+haro_(artist),1,31,
+harley_davidson,0,31,
+haoto_(arnica_leaf),1,31,
+hands_on_shoulder,0,31,
+hands_in_pants,0,31,
+handkerchief_biting,0,31,
+hand_drill,0,31,
+hanchan,1,31,
+hanasei,1,31,
+hanako-san_(gegege_no_kitarou),4,31,
+hana_x_hana,3,31,
+hana_(den-o),4,31,
+hamuta0404,1,31,
+hamon_ai,1,31,
+halo_infinite,3,31,
+halo_(artist),1,31,
+hali,1,31,
+hal-bard,1,31,
+hakuro96,1,31,
+hakkaku_hailey,1,31,
+haine_koko,1,31,
+hacka_doll_0,4,31,
+hachi_(live_union),4,31,
+ha84no,1,31,
+h&k_mg4,0,31,
+gym_ghingnham,4,31,
+guratan,1,31,
+guozi_li,1,31,
+gundam_gp-01_full_vernian_zephyranthes,4,31,
+gumi_(cosplay),0,31,
+guihuo_inferno,1,31,
+gu_(goodnight),1,31,
+grimms_echoes,3,31,
+grim_(grim_adventures),4,31,
+griffon_mask,4,31,
+gridman_(character),4,31,
+grey_wolf,0,31,
+gretel_(grimm),4,31,
+green_gym_girl_(nagase_haruhito),4,31,nagase_haruhito's_green_gym_girl
+great_rune_(elden_ring),0,31,
+grateful_blue_(idolmaster),0,31,grateful_blue
+grandpa_(shiromanta),4,31,
+granatha_eternal,3,31,
+gram_quartz,1,31,
+grace_o'connor,4,31,
+goutokuji_mike_(cat),4,31,
+goto_kakushi,4,31,
+gorujitai,1,31,
+goro_tame,1,31,
+goombella,4,31,
+gon_(congchuabuoito),1,31,
+gompang_11,1,31,ricebug_1821
+gompang,1,31,
+gogo/tad,1,31,
+gluteal_fold_peek,0,31,
+gloom_(irys),4,31,
+glemy_toto,4,31,
+glastrier,4,31,
+ginko_(sekainoowari),1,31,
+ghosty_(xiaobai),1,31,
+gezerun,1,31,
+gentlu_(precure),4,31,gentle_(precure)
+genjitsu_no_yohane,3,31,
+genieko,1,31,
+gear_second,0,31,
+gear_fifth,0,31,
+gdhs,1,31,
+gawain_(granblue_fantasy),4,31,
+gatling_raid,1,31,
+garththedestroyer,1,31,
+garigarigari,1,31,
+gaon_(hisuikairou),1,31,
+gaogao_(gaogaomegu),1,31,
+gal_gun_double_peace,3,31,
+g_li,1,31,ling6413
+g-saviour_gundam,4,31,
+fuyu_(utngrtn),1,31,
+fuusen_neko,1,31,
+fuupo,1,31,
+futaba_yodoyume,1,31,
+fusou_(fuso0205),1,31,
+fushimi_asuha,1,31,
+fushi,4,31,
+furomaaju_(fromage),1,31,
+furai_sen,1,31,
+fumika_bug_(idolmaster),0,31,fumika_bug
+fuko_(fukkofuko),1,31,
+fukkireta,3,31,
+fuki_to_takenoko,1,31,fukitotakenoko
+fukai_ni_nemuru_oujo_no_abaddon,3,31,
+fujiwara_takumi,4,31,
+fujiwara_ryo,1,31,
+fujiwara_rika,1,31,
+fujitsuki,1,31,
+fujimoto_kishino,1,31,"ciron_zzz,time-flies"
+fujimna,1,31,
+fujimiya_momiji,4,31,
+fubuki_(muvluv),4,31,
+frenlyse,4,31,
+french_clothes,0,31,
+francis_(left_4_dead),4,31,
+four_of_clubs,0,31,
+ford_crown_victoria,0,31,
+force_(r-type),4,31,
+folding_table,0,31,
+fn_scar_16,0,31,
+flower_fairy_(osomatsu-kun),4,31,
+floren_(xenoblade),4,31,hotaru_(xenoblade)
+flora_(claymore),4,31,
+flashlight_beam,0,31,
+firo_(shiboritoranaide_onna_shounin-san),4,31,
+finnish_army,0,31,
+film_cartridge,0,31,
+festenia_muse,4,31,
+fermion,3,31,
+felicia_(fire_emblem)_(cosplay),0,31,
+feifei_(fkey),4,31,
+feather_tails,0,31,
+faye_(front_innocent),4,31,
+fax_machine,0,31,
+fawn,0,31,
+fate_no_keshin,1,31,
+fast_fashion_octane,4,31,
+fantia_commission,5,31,
+faith_(sbi),1,31,
+faefaea,1,31,
+eyelid_piercing,0,31,
+ex-gear,4,31,
+evemoina,1,31,
+eve_(rurudo),4,31,
+eurica_(ub1mo),4,31,
+eula_(genshin_impact)_(cosplay),0,31,
+etoile_rosenqueen,4,31,
+eternity_winner_(elsword),4,31,
+esuyukichin,1,31,
+estcc,1,31,
+eryngii_yoko,1,31,
+eruri_(mgmn),1,31,
+erul_tron,4,31,
+ershisi,1,31,
+erinerin99,1,31,
+erik_burton,4,31,
+erhuo,1,31,qiuyeu
+equestrian,0,31,
+enokimo_me,1,31,
+enjin_(idolmaster),0,31,enjin
+engine_blade,0,31,
+enekk,4,31,
+endo_(makaron),1,31,e_(pixiv4234519)
+endless_library,3,31,
+enden,1,31,
+emporio_ivankov,4,31,
+emiya_shirou_(cosplay),0,31,
+emily_(meago),4,31,
+emi-tan,1,31,
+emaason,1,31,
+elysia_watanabe,4,31,
+ellis_(agarest_senki),4,31,
+elise_angel,4,31,
+elinalise_dragonroad,4,31,
+eleking,4,31,
+elcia_harvence,4,31,
+eit_(ikeuchi),1,31,
+eikichi_(mujirushi_shounen),1,31,
+eigo_ichii,1,31,gugugu
+efi_oladele,4,31,
+edward_elric's_daughter,4,31,
+edward_(fire_emblem),4,31,
+edelweiss_(senjou_no_valkyria),0,31,
+eda_(prsy3),1,31,
+ecruteak_city,0,31,
+echidna_(fire_emblem),4,31,
+e_mishi,1,31,
+dwarf_(dq10),4,31,
+dutou,1,31,
+durga_(housamo),4,31,durga_(tokyo_houkago_summoners)
+dungeon_of_regalias,3,31,
+dskb,1,31,
+dripping_eye,0,31,
+drawing_equipment,0,31,
+dragoon_(girls'_frontline),4,31,dragoon_(girls_frontline)
+dragon_on_head,0,31,
+dragon_maker,3,31,
+doris_(hololive),4,31,
+dorei_jackie,1,31,
+dora_the_explorer,3,31,
+dominoes,0,31,
+dominico,1,31,
+dolsig_ilangnolja,1,31,"csilj63cw8irumy,tja3323"
+dolly_(toaru_kagaku_no_railgun),4,31,dolly_(to_aru_kagaku_no_railgun)
+doguu,0,31,
+dodapan,1,31,
+dobunomeme,1,31,
+dishonored,3,31,
+director's_chair,0,31,
+dio_brando's_pose_(jojo),0,31,"dio's_pose,dio_pose"
+digestion,0,31,
+didi_amen,1,31,
+deyezi,1,31,
+desutruction,1,31,
+despina_(queen's_blade),4,31,
+dermiss,1,31,
+denbaa,1,31,
+demupausagi,1,31,
+death_knight_(fire_emblem),4,31,
+death_(granblue_fantasy),4,31,
+deaimon,3,31,
+dd_tachibana,1,31,
+dc24v,1,31,
+daue,1,31,
+date_crush_stories,3,31,
+darou74,1,31,
+darlton,1,31,
+dark_foreground,0,31,
+dark.h,1,31,
+dancer_shantae,4,31,
+damu_ningen,1,31,
+dama_(akilay),1,31,
+dakkoku_jiro,1,31,
+daiuchuu_no_hokori,3,31,
+daishippai,1,31,
+daifuku_(pokefuka_art),1,31,
+dahadekan,1,31,
+daeno,1,31,
+cyobiro,1,31,anchovy_ff14
+cygnus_(maplestory),4,31,
+cutting_onions,0,31,
+curly_sue,4,31,
+ct990413,1,31,
+crossbone_gundam_x-1_full_cloth,4,31,
+cross_of_lorraine,0,31,
+cromwell_(tank),0,31,
+crime_city_miss_fortune,4,31,mafia_miss_fortune
+crescent_conundrum,4,31,
+cresc-dol,1,31,
+covering_another's_crotch,0,31,
+countryball,3,31,
+cosmo_(bousoup),1,31,
+corsair_(final_fantasy),4,31,
+copper,1,31,
+convenient_hand,0,31,
+conjaku,1,31,
+comugico,1,31,
+commander,0,31,
+comiket_81,3,31,
+collet,1,31,
+code:realize,3,31,
+coco_(h221414),1,31,
+coach_(artist),1,31,
+closed_jacket,0,31,
+clock_tower_(series),3,31,
+cleveland_(reaper_fever)_(azur_lane),4,31,cleveland_(devil_fever)_(azur_lane)
+clerk_nagato,4,31,
+clear_(djmax),4,31,clear_(dj_max)
+classictime,1,31,
+clammbon,1,31,
+cirno_(cookie),4,31,
+circe_(last_origin),4,31,
+cinna_(ff9),4,31,
+chucky,4,31,
+christmas_is_cancelled,0,31,
+chou_chou_egotistical,4,31,
+choiark,4,31,
+cho_mo_futoshi,1,31,
+chloe_(noir),4,31,
+chiyokawa_rin,4,31,
+chiroru_(7450n),1,31,
+chirithy,4,31,
+chiriri,4,31,
+chippendales,0,31,
+chimoon,1,31,
+chikage_(bloodborne),0,31,
+chiitamu,1,31,
+chief_nuna_(zcune),4,31,
+chibi_(nekomimimi),1,31,
+chiba_michinori,1,31,
+chequita,4,31,
+chenbo,1,31,
+chen_zhang,1,31,
+cheerful_candy_(module),0,31,
+chase_(kamen_rider_drive),4,31,
+chaoxi,1,31,
+chaos_ruler_(granblue_fantasy),4,31,
+chandra_nalaar,4,31,
+champa_(dragon_ball),4,31,
+chaji_xiao_bai,1,31,
+chagama_(tyagama0927),1,31,
+cenm0,1,31,
+cell1913,1,31,
+celica_(xenoblade_x),4,31,selica_(xenoblade_x)
+ced_(fire_emblem),4,31,sety_(fire_emblem)
+caules_forvedge_yggdmillennia,4,31,
+catbii,1,31,
+cat_testicles,0,31,
+castlevania:_harmony_of_despair,3,31,
+carren_(granblue_fantasy),4,31,carren_estapera
+canute,4,31,
+canopy_(shelter),0,31,
+candeloro's_familiars,4,31,
+canari,1,31,
+campanella_(vocaloid),3,31,
+camouflage_dress,0,31,
+callmaichi,1,31,
+cal_ruslan,4,31,
+c.q._cumber_(splatoon),4,31,conductor_namako
+byuey,1,31,
+bwcloud,1,31,
+bwanga,4,31,
+bustafellows,3,31,
+buru,1,31,
+buriki_one,3,31,
+bunny_ear_headphones,0,31,
+bulge_to_face,0,31,
+bukiyou_na_senpai,3,31,my_awkward_senpai
+bugbug,3,31,
+bubble_slime,4,31,
+bsmycc,1,31,
+brulee,1,31,
+breast_clinging,0,31,
+bradamante_(welcome_bunny)_(fate),4,31,welcome_bunny_(fate/grand_order)
+brad_evans,4,31,
+box_magazine,0,31,
+bow_babydoll,0,31,
+bottle_opener,0,31,
+borubomu,1,31,
+boku_to_kanojo_ni_furu_yoru,3,31,
+boat_interior,0,31,
+blue_period,3,31,
+blow,0,31,
+blast-7,1,31,
+blapan,1,31,
+blanche_fleur,3,31,
+blair_dame,4,31,
+black_torch,3,31,
+black_sheep,0,31,
+black_lobelia,4,31,
+bit_(kksbit),1,31,
+birmingham_(azur_lane),4,31,
+bilibala,1,31,
+bi_no_ossan,1,31,
+berserker_(fate/zero)_(cosplay),0,31,
+beretta_ar70,0,31,
+berdly_(deltarune),4,31,
+benizika,1,31,yorozumomiji
+belinda_(unlight),4,31,
+beer_hsk,1,31,
+beat_saber,3,31,
+bcoca,1,31,
+bbrangka,1,31,
+barlunn,1,31,
+barara_peol,4,31,
+bao_(kof),4,31,
+banysun,1,31,
+bamme_o3o,1,31,
+bakugan_new_vestroia,3,31,
+bahamut_greed,3,31,
+backstab,0,31,
+babigonice,1,31,
+ba_ra_ran,1,31,
+b.sa_(bbbs),1,31,"beisa-int,spooodxxx"
+a~_un~,0,31,
+azumada,1,31,
+azuma_yuuhi,1,31,joy_(pixiv191719)
+azuma_tooru,4,31,
+azuma_(sospower73),1,31,
+azuki_miho,4,31,
+azalie_cait_sith,4,31,
+azai_nagamasa_(sengoku_basara),4,31,
+ayumi_(830890),1,31,
+ayu_(ayuyu0924),1,31,
+ayamy_(vtuber),4,31,
+awanqi,1,31,
+awaken_the_power,0,31,
+atlas_(mega_man),4,31,atlas
+atiti_(ttttt945),1,31,
+asuteka,1,31,astkcrts
+asura's_wrath,3,31,
+asuka_asuka,1,31,
+astral_(yu-gi-oh!),4,31,
+ashley_(pokemon_bw098),4,31,
+ashimine_arumi,4,31,
+ashcape,1,31,
+asatana,1,31,
+asakura_nuruma,1,31,
+asaigai_suzushi,1,31,
+asa_(y-asa),1,31,
+asa_(asa_410st),1,31,
+arute_arisu,1,31,
+aruru_no_zaki,1,31,
+aru_aru,1,31,
+arthurian_legend,3,31,
+art_study,0,31,
+arshtat_falenas,4,31,
+army-san,4,31,
+armarouge,4,31,
+armads_(fire_emblem),0,31,
+arjend,1,31,
+arisu_shiria,1,31,
+aristear_remain,3,31,
+arisie,1,31,
+arisa_(yuki_touko),4,31,
+ariane_cevaille,4,31,
+arcelle,1,31,
+aral,1,31,
+aragiken,1,31,
+aquila_favonia_(genshin_impact),0,31,
+applechoc,1,31,
+apple_magician_girl,4,31,
+aose_touka,1,31,
+aoki_clair,4,31,
+aoi_yugina,1,31,
+aoi_saki,4,31,
+aogu,1,31,
+aoba_(azur_lane),4,31,
+anti-aqua,4,31,
+annie_berton,4,31,
+ankoku_broccoli,1,31,
+animate_object,0,31,
+angie_(meganekko-geki-love-1008),1,31,
+angerykacchan,1,31,
+angel_blade_punish,3,31,
+andro_juniarto,1,31,
+andou_saki,4,31,
+anbivarens,1,31,
+anastasia_romanov,4,31,
+amo_takumi,1,31,
+amnesia_(majo_no_tabitabi),4,31,
+amerika_zarigani,1,31,
+american_flag_skirt,0,31,
+ame_(ookami_kodomo),4,31,
+ambasa,1,31,
+amanomori_shou,4,31,
+amagi_xx,1,31,amagi
+amagai_kosame,4,31,
+amaemi-longing_for_you-,3,31,
+aluo_7762,1,31,
+alov,1,31,
+allgreen,1,31,
+alice_(criminal_girls),4,31,
+alfi_(tok),1,31,
+albyee,1,31,
+albatrosicks,3,31,
+akr_tmr,1,31,
+akizuki_(kancolle)_(cosplay),0,31,
+akiyama_yuuji_(naruko-tei),1,31,
+akihare,1,31,
+akichi_mashiro,4,31,
+akiba_maid_sensou,3,31,akiba_maid_war
+akehime_saki,4,31,
+akazu_kieshi,1,31,kieshi_heta
+akasaka4005,1,31,
+akarino_(yucco),1,31,
+akane_sawatari_(chainsaw_man),4,31,
+akai_katana,3,31,
+akai_ibara,3,31,
+akagi_(muse)_(azur_lane),4,31,
+akabane_kureha,4,31,
+aira_(dq7),4,31,
+aimpoleume,1,31,
+aihara_kaichi,1,31,
+aihara_ai,4,31,
+aiba_(ai_the_somnium_files),4,31,
+aianchor,1,31,
+ai_drawing_anime_characters_eating_ramen_(meme),0,31,
+ai-chan_(playstation),4,31,
+aestivalis,4,31,
+aek-971,0,31,
+aegaeon_(xenoblade),4,31,wadatsumi_(xenoblade)
+acoco,1,31,
+achiba,1,31,
+ac/dc,3,31,
+abuto,4,31,
+abe_yuichiro,1,31,erumo_0384
+abbey_(pui_pui_molcar),4,31,abby_(pui_pui_molcar)
+aaku,1,31,aaku_(pixiv201962)
+aaii,1,31,
+a_mituhashi,1,31,
+a.j._(pokemon),4,31,
+a-pose,0,31,
+9_-nine-_kokonotsu_kokonoka_kokonoiro,3,31,
+99_yen_(tsubura),1,31,
+6tnut9,1,31,
+6suan,1,31,
+61cm_triple_torpedo_mount,4,31,
+5to_rai,1,31,maki_(kfwp7432)
+5600cm,1,31,
+447_records,3,31,
+2001_a_space_odyssey,3,31,
+10t,1,31,
+108tooya,1,31,
+01rosso,1,31,
+009_re:cyborg,3,31,
+.96_gal_(splatoon),0,31,
+zuchi00,1,30,
+zinnadu,1,30,
+zimu_jiang,1,30,
+zetsuhei_no_roran,1,30,
+zerotwenty_(020),1,30,
+zentlardy_alphabet,0,30,
+zeno_1/128,4,30,
+zelo6,1,30,
+zed_(trungbui42),1,30,
+zealotus,4,30,
+zaoanjisi,1,30,
+z23_(serious_idol_@acting_manager?!)_(azur_lane),4,30,z23_(serious_idol_-_is_she_also_the_manager!?)_(azur_lane)
+z1npool,1,30,
+z.s.w.,1,30,
+yuuyu_(yuuyu015),1,30,
+yuul_b_alwright_(mythbreakers),4,30,
+yuuki_shougo,1,30,
+yuuki_sara,1,30,
+yuuka_(a0240765),1,30,
+yuui1994,1,30,
+yurix,1,30,
+yuri7s0,1,30,
+yunoji_(makuswel),1,30,
+yumekii,1,30,
+yukkii,1,30,
+yukisita_mayu,1,30,mognemu
+yukino_ko_(yukino_shiratama),4,30,
+yukimura_touko,4,30,
+yukimura_seiichi,4,30,
+yuki_miku_(2023),4,30,
+yukamikayu,1,30,
+yuguran_(specs),1,30,
+yudeika3,1,30,
+yucca_(yasabana),1,30,
+yu_(lovepayon),1,30,
+yu'nyanko-chan_(yu'nyanko),4,30,
+ys_seven,3,30,"ys7,ys_7,ys_vii"
+yozi517,1,30,
+you_shugyouchuu,1,30,
+yoshihiro-m,1,30,
+yonoko_k,1,30,
+yoneda_taishou,1,30,
+yonago,1,30,
+yield,4,30,
+yellow_bracelet,0,30,
+yco_030601,1,30,
+yazi114,1,30,
+yawdeone,1,30,
+yatufusa1,1,30,
+yatsuo,1,30,
+yasunoharu,1,30,
+yasuda_(fareast_blade),1,30,
+yanagi_no_ki,1,30,
+yanagi_haru,4,30,
+yamato_rinko,4,30,
+yamato-no-kami_yasusada_(kiwame),4,30,
+yamashiro_yui,4,30,
+yamado,1,30,
+yamadaenako,1,30,
+yamada_rokkaku,1,30,
+yamada_naoko,1,30,
+yamada-san_wa_tottemo_baka_nan_desu,3,30,
+yakou_(innocent_chapel),1,30,
+yaguchiya_tomoshi,1,30,
+yagiwashi,1,30,yagiwasi-1003
+yagitome87,1,30,
+yagate149,1,30,
+xxxxakixxxx,1,30,
+xishuu_(user_dvah3828),1,30,
+xin_(zinc),1,30,
+xiaoxiao_de_kuangsan,1,30,
+xiaomu_(a414171448),1,30,
+xian_jian_qi_xia_zhuan_7,3,30,
+xia_wanzi,1,30,
+xerbatt,1,30,
+xbox_series_x_(personification),4,30,
+wyx2,1,30,
+wusebuhui,1,30,wu_se_bu_hui_(940164887)
+wu_ba_pin,1,30,
+woborou,1,30,
+wo_xuyao_jiashui,1,30,
+wizardess_of_oz,4,30,
+wixoss_diva(a)live,3,30,
+witch_(goblin_slayer!),4,30,
+windbard,1,30,
+whitey,1,30,
+white_haired_girl_(munashi_mujou),4,30,
+wheeljack,4,30,
+wet_hat,0,30,
+wep16night,1,30,
+welts,0,30,
+weltol,1,30,
+watsuki_nobuhiro,1,30,
+water_valkyrie_(p&d),4,30,
+wata0933,1,30,
+wasanbon_(atwazooka),1,30,
+warped_context,0,30,
+warayanuko,1,30,
+wanko_(realsight),1,30,
+wakao_ruri,4,30,
+wa--ka,1,30,
+vulture,0,30,
+voy@ger_(idolmaster),0,30,
+volume_symbol,0,30,
+volkan,4,30,
+voldemort,4,30,
+volcanion,4,30,
+vivi-t_(akagami),1,30,
+vita_clotilde,4,30,
+viscum,1,30,
+viridiana_(girls_und_panzer),4,30,
+vieny,1,30,
+vertical-striped_necktie,0,30,
+valus_(shadow_of_the_colossus),4,30,
+valentine_(tank),0,30,
+v_buckle,0,30,
+uuta_(uturautouto),1,30,
+uumenn,1,30,
+uttao,1,30,
+utsuwa0120,1,30,
+uth_95,1,30,
+uterus_pose,0,30,
+ushiromiya_beatrice,4,30,
+ushijima_nozomi,1,30,
+uruha_rushia_(cosplay),0,30,
+uriel_(alchemy_stars),4,30,
+uphir_(megido72),4,30,
+undine_(seiken_densetsu),4,30,
+under_the_table_(arknights),0,30,
+under_armour,0,30,
+ump45_(the_wish-making_sorceress_of_fireworks)_(girls'_frontline),4,30,
+umiushi_(poyopacho),1,30,
+umino_tomo,1,30,
+umino_kiri,1,30,
+ultraman_taiga_(series),3,30,
+ultraman_nexus_(series),3,30,
+ui_(kirin),1,30,ui_(pixiv394777)
+ufoliving,1,30,
+ude,1,30,
+udan,1,30,
+uchuu_gorira,1,30,
+tyun,1,30,
+type_79_smg,0,30,
+tying_panties,0,30,
+two-tone_sleeves,0,30,
+twintails_girl_(kamisimo_90),4,30,twintails_girl_(yuya)
+twilight-g,1,30,
+tutor,0,30,
+turning_around,0,30,
+tsuzuku_(hayamisyoto),1,30,
+tsurugaya_otsuu,4,30,
+tsuru_ringo,1,30,
+tsuna_(akmu8832),1,30,
+tsukuyomi_(ff14),4,30,
+tsukumo_nikyu,1,30,
+tsukina_(artist),1,30,
+tsukimido,1,30,
+tsujidou_miyuri,4,30,tsujido_miyuri
+tsuhiki_koyomi,1,30,
+tsubudashi,1,30,
+tsuboyarou,1,30,
+tsubasam,1,30,
+trolley_problem,0,30,
+triple_baka_(vocaloid),3,30,triple_baka
+trimbil,1,30,
+transparent_ribbon,0,30,
+training_drone_(girls'_frontline),4,30,
+trainer_wants_to_battle,0,30,
+towor_n,1,30,
+towing,0,30,
+towa_(slow_damage),4,30,
+toushou_daimos,3,30,
+tousaki_(tousakiworks),1,30,
+tour_guide,0,30,
+touka_(fukuoka_katsumi),4,30,
+toujou_nozomi_(cosplay),0,30,
+toudou_kohaku,4,30,
+tou_ilie,1,30,
+torture_dance,0,30,
+toriumi_arisu,4,30,
+torakami14,1,30,
+topiary,0,30,
+toothache,0,30,
+tomurasuisen,1,30,
+tome_(wolf),1,30,
+tomcho,1,30,
+tokumaru,1,30,
+tokuda_shinnosuke,1,30,
+toh.,1,30,ripodpotato
+todayama_kyouko,4,30,
+tobita,1,30,
+to_ze,1,30,
+tndkworks,1,30,
+tizibade,1,30,
+tim_drake,4,30,
+tild_-_mage_a_louer,3,30,
+tibetan_clothes,0,30,
+thunder_badge,0,30,
+through_panties,0,30,
+threaded_cane,0,30,
+thistle,0,30,
+thigh_bands,0,30,
+theoto_rikka,4,30,
+the_princess_and_the_frog,3,30,
+the_distortion_detective,3,30,
+tetsutetsu_tetsutetsu,4,30,real_steel_(boku_no_hero_academia)
+teperyndroors,1,30,
+tenshi_no_shippo,3,30,"angel_tail,angel_tales"
+tenpyou_no_kitsune,1,30,tianping_hu
+tenma_maemi,4,30,
+tenchi_souzou,3,30,terranigma
+ten_year_artist_progress_record,0,30,
+temperance_(tarot),0,30,
+tempenite,1,30,
+techwear,0,30,
+te_ru_ya,1,30,
+tcmk,1,30,
+tbrsnsk,1,30,
+tatedano_kabae,1,30,
+tasouken,0,30,
+tare_(hiden_no_tare),1,30,
+tarariko,1,30,
+tarai_(yamadarairai),1,30,
+tankobukids,1,30,
+tanaka_punie,4,30,
+tanada-bon,1,30,
+tanacris_(third_kureko),4,30,
+tamani_wakashi,4,30,
+tamamura_tamao,4,30,
+tama_gotoh,4,30,
+talia_gladys,4,30,
+takayashiro_yuzuka,4,30,
+takatsuki_nao,1,30,
+takatsuki_nanami,4,30,
+takase_(takase1214),1,30,
+takasaki_aneki,1,30,
+takamine_mion,4,30,
+taiyo_akari,4,30,
+taisa_(h68533631),1,30,h685336312
+taira,1,30,
+tail_stand,0,30,
+tadano53,1,30,
+tadakuni's_little_sister,4,30,
+tacticsalt,1,30,
+t-bth,1,30,
+syuurin,1,30,
+sylvia_sherwood,4,30,
+syacyo,1,30,
+sweetheart_(omori),4,30,
+sven_(svenners),1,30,
+suzuno_kouya,1,30,
+suzumura_yuu,4,30,
+suzuka_(suzuka9111),1,30,
+suwi,1,30,
+surprise_buttsex,0,30,
+surgical_scar,0,30,
+supreme_candy,3,30,
+super_chat,0,30,
+sun_stark,1,30,
+sumosamo,1,30,
+sumiobunnya,1,30,
+sumikaze_midi,1,30,
+sumibiya_yasain,1,30,
+sumadera_yukio,4,30,
+sukumizu_tabehoudai,3,30,
+sugiya_manao,1,30,
+suechiee,1,30,suechigu
+sudale,1,30,
+strawberry_pop_moon_(idolmaster),0,30,
+stolas_(megido72),4,30,
+steven_armstrong,4,30,
+stele,0,30,
+steelhead_(splatoon),4,30,
+stashia,4,30,
+st06,1,30,
+srx,4,30,
+srb7606,1,30,
+spooki,1,30,
+spiritia_rosenberg,4,30,
+spider-woman,4,30,
+spica_(yukataro),4,30,
+spica1476,1,30,
+sparrow_(xici9527),1,30,
+soushin_souma,1,30,shichiyou_souryuujin
+souseiseki_(cosplay),0,30,
+soukoku,1,30,
+sou_ryuu,1,30,
+sost_fgo,1,30,
+sorey_(kamui)_(tales),4,30,
+soojie_roh,1,30,
+sonoo_koo,4,30,
+sonobe_shino,4,30,
+sono_chieri,4,30,
+sonic_forces,3,30,
+sonic_cd,3,30,
+songjo,1,30,
+somjeu,1,30,
+someoka_yusura,1,30,
+solo_vivace_(hitokuirou),4,30,
+sollyz_(sollyz),4,30,
+solace,1,30,
+soar,1,30,
+smskt_25,1,30,
+smelly_penis,0,30,
+smartbsm,1,30,
+slow_loris,0,30,
+sleepysolaire,1,30,
+skyrider,4,30,
+skrelp,4,30,
+sk_jynx,1,30,
+six_shame_faces,0,30,
+sister_nanashi,1,30,
+sionsionsion,1,30,
+silva_(gentian_blue)_(granblue_fantasy),4,30,
+siki_222,1,30,
+sihai_(wsskdywe),1,30,
+siege_(legacy)_(arknights),4,30,
+sicile_gloria,1,30,
+shuzoku_fumei,1,30,
+shuriken_sentai_ninninger,3,30,
+shura_(fire_emblem),4,30,asura_(fire_emblem_if)
+shuiro,1,30,
+shuangbatian,1,30,
+shu_zo_(show_by_rock!!),4,30,
+shouting_with_hands,0,30,
+shouta_(shbz),1,30,shoutank14
+shoushu,1,30,
+shizuoka_mirei,4,30,
+shizume_genma,4,30,
+shivaharu,1,30,
+shishou_(tensei_shitara_ken_deshita),4,30,
+shishamoji,1,30,
+shirotake_jinan,1,30,
+shirogane_kihen,1,30,
+shiro_wa_(shiroshironix),1,30,
+shiro_hebi_rei,1,30,snake_5291
+shiro_amada,4,30,
+shiro_(kida_kuro_mu),4,30,
+shirataki_nako,1,30,
+shiraho_(color-56),1,30,
+shiori_(magical_girl)_(princess_connect!),4,30,
+shio_poteto,1,30,
+shio_(s_alt_shio),1,30,
+shinsei_inazuma_japan,0,30,
+shinori_(efvbji6264),1,30,
+shinonome_nemu_(nemulog_sn),1,30,
+shinko_gunsei,1,30,
+shingyouji_mao,4,30,
+shin_(shincrz),1,30,
+shimura_shinpachi_(cosplay),0,30,
+shimogamo_yajirou,4,30,
+shimizu_kyouko,4,30,girl_from_k-on!_who_looks_like_rukia_from_bleach
+shimijimi,1,30,
+shimejirou,1,30,
+shima_juuzou,4,30,
+shima108,1,30,
+shiliuye_feiyu,1,30,
+shikkoku_(border_of_season),1,30,
+shikimori_ibuki,4,30,
+shiina_rei,1,30,
+shigino_hayato,4,30,
+shigetashigezo,1,30,
+shiba_meiji,1,30,
+sherylnome,1,30,
+sheep_(minecraft),4,30,
+shaving_armpits,0,30,
+shania,4,30,
+shanghai,0,30,shanghai_(city)
+shakugan_no_shana-tan,3,30,
+shadow_yukiko,4,30,
+shadow_man_(mega_man),4,30,shadowman
+seymour,1,30,
+setsuna_(needless),4,30,
+sesshouin_kiara_(cosplay),0,30,
+servachok,1,30,
+serri_glaus,4,30,
+serious_sam,3,30,
+seria_kirmin,4,30,
+sennotane,1,30,
+senguyen1011,1,30,
+senbei_(roof-lock),1,30,senbei_(pixiv631257)
+sena_(ichiroku),4,30,
+semiramis_no_tenbin,3,30,
+semimarusemi,1,30,
+selina,1,30,
+selena_(fire_emblem:_the_sacred_stones),4,30,celina_(fire_emblem)
+seizon_senryaku,0,30,
+seiju_natsumegu,1,30,
+segawa_haruna,1,30,
+secretarybird_(kemono_friends),4,30,
+sechka,1,30,
+seashell_print,0,30,
+sd-sos,1,30,
+sculpting,0,30,
+scooby-doo_(character),4,30,
+scan_dust,5,30,scanning_dust
+sazame,1,30,
+sawatarou_(roto),1,30,
+sawana,1,30,
+sawada_mio,4,30,
+saw_blade,0,30,
+savage_babe,4,30,
+saturn_devouring_his_son,3,30,
+satsuki_(kancolle)_(cosplay),0,30,
+satoshi_igarashi,1,30,
+sasuke_(ninin_ga_shinobuden),4,30,
+sasaki_miyuki_(kaedeko),4,30,
+sarutahiko_(housamo),4,30,
+saratoga_(scharn),1,30,
+santafe99,1,30,
+sansetsukon_no_lily,4,30,
+sangoku_hime_4,3,30,
+samia_of_the_shifting_sands,4,30,
+samael_(5211),1,30,
+salmon_(657931354),1,30,
+salada,1,30,
+sakurazuka_miki,4,30,
+sakurami_kyouko,4,30,
+sakurahuji-iro,1,30,
+sakuragi_chisa,4,30,
+sakura_spirit,3,30,
+sakura_machizaka_stories,3,30,
+sakura_hazuki,1,30,
+saku2621,1,30,
+sakasagami_no_yura,4,30,
+sajima_yumi,4,30,
+saitou_kon,4,30,
+saisho_no_nakama,1,30,
+saint_uvuv,1,30,
+saimin_enbu,3,30,
+saikin_osen_-_bacterial_contamination_-_(vocaloid),3,30,
+saijou_hirokazu,1,30,
+sahare,1,30,
+saberstaff,0,30,
+sa-x,4,30,
+s4_league,3,30,
+s.a.t.8_(pumpkin_skewers)_(girls'_frontline),4,30,
+ryuujou_mashiro,4,30,
+ryuu_ga_gotoku_3,3,30,yakuza_3
+ryuu_(ryuraconis),1,30,
+ryotarou_(seyana),1,30,ara_ssmjnkosam_-key2321
+ryofuhiko,1,30,
+ruu_wan_mm,1,30,
+runmo77,1,30,
+ruki_(senyuu),4,30,
+rukawa_sara,4,30,
+rukawa_kaede,4,30,
+rua,4,30,
+ru-pe_(gstm_0915),1,30,
+rqtkrqtk,1,30,
+rpk,0,30,
+rozuberry,1,30,fitstarrysky
+royal_air_force,0,30,
+roy_(arknights),4,30,
+routemoc,1,30,
+roundhouse_kick,0,30,
+rosie99,1,30,nasu_(luliice)
+rollingstonex6,1,30,
+rokujou_jun,1,30,
+rody_soul,4,30,
+roberta_(summer_flowers)_(arknights),4,30,
+road_to_dragons,3,30,
+ritz10_(benben),1,30,
+ritsuko_(rittii),1,30,
+rishi_(kurou),1,30,
+riqurr,1,30,
+rio_(otosuki),4,30,
+ringosutta,1,30,
+riku_(lingsky),1,30,
+riku_(kino_no_tabi),4,30,
+rikito1087,1,30,
+rikamello,1,30,
+rika_(agent_aika),4,30,
+rije_(ikeuchi_tanuma),4,30,
+riesun,1,30,
+rideback,3,30,
+ricca,1,30,
+ribbed_jacket,0,30,
+reverse_falls_(gravity_falls),3,30,reverse_pines
+resplendent_quetzal_(kemono_friends),4,30,
+resi,4,30,
+replica,4,30,
+renroujiang,1,30,
+renee_shika_egakan,1,30,
+rena_geminis,4,30,
+ren_zhafan_paijizu_xitong,3,30,"scum_villain's_self-saving_system,the_scum_villain's_self-saving_system"
+reitsuki_kazuma,1,30,
+reijou_kanritou_~seifuku_shoujo-tachi_no_sakunyuu_reizokuki~,3,30,
+refla,1,30,
+red_hood_(kawaguchi),3,30,
+ray_(nagaseray),1,30,
+ravi_(epic_seven),4,30,"ravirihiseea_vizzall_(epic7),ravirihiseea_vizzall_(epic_seven)"
+ratti_(shepherd0821),4,30,
+ratchet_&_clank,3,30,
+raptor,0,30,
+raochuu,1,30,
+ranpo_kitan,3,30,
+range_blaster_(splatoon),0,30,
+ramune02,1,30,
+rain_wzq,1,30,rainwzq
+raicchi_(raicchi96),1,30,
+raenoreto,1,30,
+radio_exercises,0,30,
+raccoon_(trickster),4,30,
+raccoon_(potesara),1,30,
+rabimea_(ichiri),4,30,
+qi_kou,1,30,
+pzb39_(girls'_frontline),4,30,
+pygmalion,4,30,
+pvmivs,1,30,
+puuko_(iberiko_neko),1,30,
+putting_on_condom,0,30,condom_application
+punishment_game,0,30,
+pun-rii,1,30,
+project_(league_of_legends),0,30,
+prinz_eugen1938,1,30,
+prince_kanata,4,30,
+prima_doll_(anime),3,30,
+predict,1,30,
+preceptor_seluvis,4,30,
+pq_(lamune),4,30,
+ppk_(foliage_romance)_(girls'_frontline),4,30,
+power_level,0,30,
+potepote,1,30,
+poruneu,4,30,
+pora_0918,1,30,
+popo_agaga,1,30,
+ponsuke_kaikai,1,30,
+poncho_(poncho),1,30,poncho_(pixiv)
+pomimiko,1,30,
+polka_dot_border,0,30,
+pocahontas_(disney),4,30,
+plus1024,1,30,
+player_(god_eater_2),4,30,
+platinum_disco,1,30,
+plar0846,1,30,
+pla0658,1,30,
+piyopiyo_(pphiyo),1,30,
+piyo_(p_i_y_o),1,30,
+pinkdrawz,1,30,
+piiroinardesco,1,30,
+pig_man,0,30,
+pictoria,3,30,
+physis,4,30,
+phoebus_art,1,30,c._suryo_laksono
+pham_thi_ran,4,30,
+peter_strasser_(a_moment_frozen_in_pure_white)_(azur_lane),4,30,peter_strasser_(weiss_uhrzeiger)_(azur_lane)
+peta_(taleslove596),1,30,
+pesu,1,30,
+perorisu,1,30,
+peroppafu,1,30,
+periscope,0,30,
+pepsi_japan_cola_challenge,0,30,
+pennsylvania_(azur_lane),4,30,
+penis_to_navel,0,30,
+penis_gag,0,30,
+penguin_hair_ornament,0,30,
+peneko,1,30,
+pekerika,1,30,
+paw_up,0,30,
+pause,3,30,
+patxi_(fate),4,30,patxi
+passimo,1,30,
+pasheri,1,30,
+parupome,1,30,
+parasol_kirby,4,30,
+parallel_akiba_gakuen,3,30,
+papiko_(sogebusaretai),1,30,
+panmijin99,1,30,
+palm_(mushihime-sama),4,30,
+pallas_(heritage)_(arknights),4,30,
+paizuri_while_penetrated,0,30,
+pai_daxing,1,30,
+pachyphytum,1,30,
+p.k.f,1,30,ponkanfan
+p-chan_(suite_precure),4,30,
+oyume,1,30,
+oyanaku,1,30,
+ottilie_kittel,4,30,
+otsutama_takashi,1,30,
+otsukaresanpo,1,30,
+otonaru,1,30,
+otachi,4,30,
+ot_(dog_wasd),1,30,
+osanzi,1,30,
+orguss_(mecha),4,30,
+orga_(orgacl),1,30,orga_(pixiv13765813)
+oreha00701,1,30,
+orbited,0,30,
+orange_bandeau,0,30,
+oozora_halu,1,30,oozora_haru
+ootsuki_mina,4,30,
+oosaka_rei,1,30,
+oohashi_maiko,4,30,
+onomichi_(city),0,30,
+onofre_wayne,1,30,onichan-xd
+onodera_punpun,4,30,
+onmitsu_doushin_a,1,30,
+only_norisu,1,30,
+only_human,3,30,
+onikiri,1,30,
+onee-san_(penguin_highway),4,30,
+one_hundred_scenes_of_jiangnan,3,30,
+onasu_(sawagani),1,30,
+onakon_3-nichi-me,1,30,
+omoti_(1201208),1,30,
+omokage_~ecchi_na_happening!?_nandemo_dontokoi!~,3,30,
+omisoshiru,1,30,
+omega-xis_(mega_man),4,30,warrock
+ome_(mercury_cigarette),1,30,
+olivia_(matilda_fiship),4,30,
+oliverror,1,30,
+okomeito,1,30,
+oiessw,1,30,
+ogasawara_hikari,4,30,
+office_lady_(eu03),4,30,
+odst,4,30,
+odeko_yma,1,30,
+ochau,1,30,
+object_(vehicle),0,30,
+oberon826,1,30,
+o3tofu,1,30,
+nyxview,1,30,
+nyuusankin,1,30,
+nyako_(hitsuzineko3),1,30,
+nutella,0,30,
+nun_(marchen),4,30,
+number_hair_ornament,0,30,
+nufucha,1,30,
+nuekane,1,30,
+nude_beach,0,30,
+nouhime_(sengoku_musou),4,30,
+not_nodu,1,30,
+nosh,1,30,
+norun_(ru-on),1,30,
+norte,1,30,
+noromi,1,30,
+nono_(norabi),1,30,
+nonh_(wormoftank),1,30,
+nonbei,1,30,
+nomura_(higurashi),4,30,
+nokita_(pinmisil),1,30,pinmisil
+nokia,4,30,
+nodo_sn,1,30,
+no1shyv,1,30,
+nmknf_(mkn),1,30,
+niuwajun,1,30,
+niufog,1,30,
+nishimikado_tami,4,30,
+nishikimaru,1,30,
+nire_nanaki,1,30,
+ninjatic,1,30,
+nina_(tiny_evil),4,30,
+niksoncrazy,1,30,
+nijita,1,30,
+nihohe,1,30,
+nicolas_brown,4,30,
+nick_wilde_(cosplay),0,30,
+ni_yuu,1,30,
+nevan,4,30,
+ness_(mother_2)_(cosplay),0,30,
+nerimono_(nekokoban22),1,30,
+nemesis_(tower_of_fantasy),4,30,
+nekotamago,1,30,kanade_00xx
+nekopantsu_(xxxxxxxxx0621),1,30,
+nekonyan_(nekoworld),1,30,
+nekomiya_yoshiko,4,30,
+nekomancer_(granblue_fantasy)_(cosplay),0,30,
+nekoha_gc,1,30,
+nekogasuki,1,30,
+neho-kun,1,30,
+nay_akane,1,30,
+nax,1,30,
+nawo_(peace),1,30,
+natuki_miz,1,30,
+nattun_nattun,1,30,
+natsuka_qya,1,30,
+natsu_(rodysanp),1,30,
+nasunasuurin,1,30,
+narue_no_sekai,3,30,naruenosekai
+naoko_(artist),1,30,
+nao_salad,1,30,
+nanoder,1,30,
+nanigashi_yakko,1,30,
+nanase_shie,1,30,
+nanase_kaoru,4,30,
+nanase09rr,1,30,
+nan_(tales),4,30,
+namu76,1,30,767676na
+namisi,1,30,
+namazuo_toushirou_(kiwame),4,30,
+nalai,1,30,
+nakano_(sewayaki_kitsune_no_senko-san),4,30,
+nakanishi_toshimi,4,30,
+nakamura_(ryou),4,30,
+nakajima_atsushi_(bungou_stray_dogs),4,30,
+naka_ushiro,1,30,
+nail_hair_ornament,0,30,
+nai_(cnoadi8),1,30,
+naguru_(cyoroama),1,30,
+naglfar,1,30,
+nagitaro,1,30,
+nagisa_kaworu_(cosplay),0,30,
+nagihito,1,30,
+nagidori,1,30,
+nagi_kanami,1,30,
+nabunabu,1,30,
+na_ta53,1,30,
+n2co,1,30,
+mysterious_heroine_xx_(second_ascension)_(fate),4,30,
+muumin,1,30,
+mutsumi_(utawarerumono),4,30,mutsumi_(utawareru_mono)
+mushinosuke,1,30,
+musashino_udon,1,30,
+murasaki_(deceive138),1,30,
+murabito_sono2,1,30,
+muni_(fdrk),1,30,
+mumu-crown,1,30,
+multicolored_pajamas,0,30,
+muleta,0,30,
+mujuuryoku_kantai,1,30,
+mugino_kouji,1,30,
+mugen0017,1,30,
+mudamoro,1,30,
+ms_(momose),1,30,
+motsupu,1,30,
+motsu_(sararia),1,30,
+moto_gp,3,30,
+morros,1,30,
+morph_ball,0,30,
+moritomo_nozomi,4,30,
+morisaki_jiro,1,30,
+moricky,1,30,
+moriah_saga,3,30,
+mori_(gj-bu),4,30,
+moonshen_timojim,1,30,elchenco
+moonlight_(base),1,30,
+monu,1,30,
+monty_python's_flying_circus,3,30,
+monta,1,30,
+monsterhentai,3,30,
+monme_(yuureidoushi_(yuurei6214)),4,30,
+monk_(syugyousou),1,30,
+momoka_(abc_momoka0718),1,30,
+momingie,1,30,
+momiji_(makuran),4,30,
+moko_(alice),1,30,
+mojibake_text,0,30,mojibake
+moiko,1,30,
+moikaloop,1,30,
+mohomen,1,30,
+model_z_(mega_man),4,30,model_z
+mockingeu,1,30,
+mochida64,1,30,
+mobu_yuri,4,30,
+mndqn,1,30,tillitruins
+mmco,1,30,
+mizuse_kotone,1,30,
+mizuongaku,1,30,
+mizukami_satoshi,1,30,
+mizuhi_kou,1,30,
+mizota_(rovel),1,30,
+miyoshi_(m-mallow),1,30,
+miyauchi_yuusuke,1,30,
+miyakawa_hikage,4,30,
+miyajima_(anthem-anthem),1,30,
+miyaji,1,30,
+miya_osamu,4,30,
+miwa_maku,1,30,
+miwa_hitomi,1,30,strelka1983
+miusa,1,30,
+mitsuru_(mitsu5),1,30,
+mitsuki3s_kir,1,30,
+mitsui_mana,1,30,
+mito_tomiko,1,30,
+mitake_miyao,4,30,
+missouri_(pacific),4,30,
+mishima_reika,4,30,
+misaq,1,30,
+misa_(929382672),1,30,
+miranda_(quiz_magic_academy),4,30,
+minobey,1,30,
+minisuka_to_niku_daigaku,1,30,
+minior_(yellow_core),4,30,
+minikama,1,30,
+mine_fukaki_se_ni_tayutau_uta,3,30,
+minato_kazumi,1,30,
+minato_aqua_(cosplay),0,30,
+mimi_(ranma3049),1,30,
+mimi_(mimi3mimimi),1,30,
+mimamori,1,30,
+millie_(paper_man),4,30,
+millennium_eye,0,30,
+milky_(ishuzoku_reviewers),4,30,
+milkuriem,1,30,
+milk_(artist),1,30,
+mil_(siratamamil),1,30,
+miko_no_kamiko,1,30,
+miko+resurrection,4,30,
+mikii,1,30,
+mikihiro,1,30,
+miki_(viper),4,30,
+mikanagi_yuri,1,30,
+mihamimo,1,30,
+midou_masato,4,30,
+midomido,1,30,
+midoku_(itijikusakura),1,30,
+michishita_masaki,4,30,
+michelle_k._davis,4,30,
+michel_d'alembert,4,30,
+micaiah_chevelle,4,30,
+mew_ichigo_(cosplay),0,30,
+mescaline,1,30,
+mesa,0,30,
+mervia_siebel,4,30,
+merrick,1,30,
+mephisto_(suite_precure),4,30,
+meowing,0,30,
+mentaishi,1,30,
+memoi,1,30,
+memi_(gamemix),1,30,
+memento_mori_(m.m),1,30,
+meldine_(g_(genesis1556)),4,30,
+meimei_(cb_mei),1,30,
+meikou_gijuku,3,30,
+meiko_(puua),1,30,
+meia_gisborn,4,30,
+mega_man_10,3,30,rockman_10
+mechanical_gloves,0,30,
+mdr_(mdrmdr1003),1,30,
+mayoichi,1,30,
+mayan_(macross),0,30,
+maus_(ash_arms),4,30,
+mau_sakura,1,30,mao_(pixiv_id_21075262)
+matt_cummings,1,30,
+matsushima_koyuki,4,30,
+matoi_isshin,4,30,
+matetsu_(nakayoshi_sanfujinka),1,30,
+matenshi_(touhou),4,30,matenshi
+matching_ring,0,30,
+masturbation_day,0,30,
+masked_lady_(deemo),4,30,
+mask_alice,1,30,
+mashiro_yuki,1,30,
+mary_read_(swimsuit_archer)_(first_ascension)_(fate),4,30,
+maruyama_kurehiro,1,30,
+marumarukin,1,30,
+mars_foong,1,30,
+marino_(oyasumi),1,30,
+marine_(46586031),1,30,
+marikouji_kaede,4,30,
+marika_(marie_&_gali),4,30,
+marie_&_gali,3,30,marie_and_gali
+maria_onnette,1,30,
+marche_radiuju,4,30,
+maquia,4,30,
+maple_(abc2215),1,30,
+maou_toubatsu_shita_ato_medachitakunai_node_guild_master_ni_natta,3,30,
+maou_gakuin_no_futekigousha,3,30,
+manfred_von_karma,4,30,karuma_gou
+mandala,0,30,
+mamiya_otaru,4,30,
+malay_text,0,30,malay
+maki_makishima_(makimaki),4,30,
+maki_(eru),4,30,
+maij,1,30,
+maid_fairy_tale_(idolmaster),0,30,maid_fairy_tale
+mahoroba_youjo_kitan,3,30,
+maebari_teikoku_no_gyakushuu,3,30,
+madao,1,30,
+maccha_(jam513),1,30,
+macaron_(ameto_yuki),4,30,
+mabu_(dorisuto),1,30,
+ma-ko_hunter,3,30,
+m.i.y,1,30,
+lyner_barsett,4,30,
+luka_redgrave,4,30,
+lucky_channel,0,30,
+luchs,4,30,
+lucferz,1,30,
+lowah,1,30,
+lovey_(pride_of_eden),4,30,
+louise_francoise_le_blanc_de_la_valliere_(cosplay),0,30,
+louis_(beastars),4,30,
+lou_roux,4,30,
+lotus_(brand),3,30,
+lost,3,30,
+lobster_claw,0,30,
+live_on_cardliver_kakeru,3,30,
+littleamber,1,30,
+little_renown_(azur_lane),4,30,
+lipstick_mark_on_testicles,0,30,
+linse_shileska,4,30,
+line4x,1,30,
+lind,4,30,
+liliraune_(monster_girl_encyclopedia),4,30,
+lilia_(madoka_magica),4,30,
+lightning_ahoge,0,30,
+lieyan_huangzi,1,30,
+lextodrawstuff,1,30,
+leung_ka_che,1,30,
+lesser_dog,4,30,
+leopard_(sorakake),4,30,leopard_(sora_wo_kakeru_shoujo)
+lendivere,1,30,
+leliel,4,30,
+legretta_(tales),4,30,
+leg_behind_shoulder,0,30,
+leather_footwear,0,30,
+leafy_(kitsuneya),1,30,
+leaf_(pokemon)_(cosplay),0,30,
+leaf_(black_souls),4,30,
+laura_(houtengeki),4,30,
+latex_bikini,0,30,
+landel,1,30,
+landacdeus,1,30,
+lamborghini_aventador,0,30,
+kyykttk,1,30,
+kyu_kyu_kyu_nyaa,0,30,
+kyouta_(a01891226),1,30,
+kyoudou_maya,4,30,
+kwakah,1,30,
+kuwabara_(medetaya),1,30,
+kuuga_(mighty),0,30,
+kusunoki_yua,4,30,
+kuryuu_megumi,4,30,kuryu_megumi
+kuroyoshi,1,30,
+kurona_reole,4,30,
+kuroma_(no_plan),1,30,
+kurokku,1,30,
+kuroki_masahiro,1,30,
+kuroge_(kewagyuu),1,30,
+kurogane_tekki,1,30,vellqtrix
+kuroama,1,30,
+kuon_kimi,1,30,kuonkimi
+kumegawa_botan,4,30,
+kumahubuki,1,30,
+kujikawa_rise_(cosplay),0,30,
+kudou_asami,1,30,
+kubota_hina,4,30,
+krohnen,4,30,
+krace,1,30,
+koyasu_takehito,4,30,
+koyashi24,1,30,
+kouzuki_sanae,4,30,
+kousaka_makoto,4,30,
+kousaka_honoka_(cosplay),0,30,
+kouhiipan,1,30,
+kouenji_(crispina),1,30,
+kotone_(tateha),4,30,
+kotomaru,1,30,
+kotegawa_chisa,4,30,
+kotatsumuri,1,30,
+kotama_(blue_archive),4,30,
+korotan,1,30,
+koromia,1,30,
+koowa,1,30,
+konohanasakuya-hime,4,30,
+konoha2014,1,30,
+konoe_nanami,4,30,
+konno_yuuki_(sao),4,30,
+konbu_(hida123),1,30,
+koma_saburou,1,30,
+kokonattsu,1,30,
+kojiri,0,30,
+kojima_kana,4,30,
+koisuru_ojou-sama_wa_papa_to_yobitakunai,3,30,
+koga_yuika,4,30,
+kodona,0,30,
+kobold_(monster_girl_encyclopedia),4,30,
+kobayashi_yoshio,4,30,
+ko-ma,1,30,ko_ma0998
+kleken_(alchemy_stars),4,30,
+kkuwa,1,30,
+kkix25,1,30,
+kkeiixxx,1,30,
+kizaki_aoi,1,30,
+kiyovero,1,30,
+kiyota_yoshinori,4,30,
+kiyokazu,1,30,
+kiukoma,1,30,shigi_(shigi_4)
+kitiku,1,30,
+kitamura_motoyasu,4,30,
+kiso_fumihiro,1,30,
+kishimoto_maria_mirai,4,30,
+kishi_kaisei,1,30,
+kisama_(0213),1,30,
+kirisame0729,1,30,
+kirino_(blue_archive),4,30,
+kirika_(peach_momozen),4,30,
+kirby's_dream_land_2,3,30,
+kioroshin,1,30,
+kinoto_(ruindivinity),1,30,
+kino_ayuri,1,30,nivel
+kinjo_no_hito_no_nakimushi,3,30,
+kimyouna_juju,1,30,
+kimidorin,1,30,
+kimi_to_tsunagaru_koi_flag,3,30,
+kim_(mathias_leth),4,30,
+kiitos12,1,30,
+kiitos,1,30,
+kgeroua,1,30,
+kero_(tomoki-tiger),1,30,
+kenshjn_park,1,30,
+kenmaster17,1,30,
+kenja_no_mago,3,30,
+kemu_inu,1,30,
+keith8387,1,30,
+keishi,1,30,
+keima_ron,1,30,
+kbisuco,1,30,
+kazakami_shun,1,30,
+kaza,1,30,
+kawaii_onna_no_ko_ni_kouryaku_sareru_no_wa_suki_desu_ka?,3,30,
+kawahara_fantasia,1,30,
+katsura_yukiji,4,30,
+katsu_aki,1,30,
+katou_hiromi,1,30,
+kat_(warioware),4,30,
+kasumisometsuki,1,30,
+kassadin,4,30,
+kashima_fumi,1,30,
+kashi-k,1,30,
+karen_ngao,1,30,ggen_n
+kara-age_kun,4,30,
+kappa_(arakawa),4,30,
+kaori_(super_real_mahjong),4,30,
+kannazuki_yukito,1,30,
+kankitukou,1,30,
+kanitumuri,1,30,
+kaneshiro_sora,4,30,
+kanechitomoyo,1,30,
+kanden,1,30,
+kanazawa_hiromu,1,30,
+kana_(ky4696),1,30,
+kaminendo,1,30,
+kamiigusa_misaki,4,30,
+kamidan,1,30,
+kamen_rider_kiva_(emperor_form),0,30,
+kamen_rider_joker,4,30,
+kamen_rider_jeanne,4,30,
+kamen_america,4,30,
+kamatpit,1,30,
+kamari_(kama_ri),1,30,
+kaku_seiga_(cosplay),0,30,
+kakikukeko,1,30,
+kakaricho_dairi,1,30,
+kaka_cheung,1,30,
+kajiki_nora,1,30,
+kaizoku_ookoku_koronbusu,3,30,
+kaitori_oukoku,3,30,
+kaiso_(kaisooekaki),1,30,
+kaiseki,1,30,
+kaisar_lidfald,4,30,
+kairi_(fotune),1,30,
+kaije7,1,30,
+kaii_shoukougun_1,3,30,
+kaibara_elena_(cookie),4,30,
+kago_(lelien7),1,30,
+kagehi_no_loo,1,30,
+kageco,1,30,
+kageakira_(shino1007),1,30,
+kaga_(battleship),0,30,
+kaeru_(ka=l),1,30,
+kaede_(bakumatsu_rouman),4,30,
+kabiyapyo,1,30,
+k_sen212,1,30,
+k_harris,1,30,
+k_016002,1,30,
+k3nzoteruta,1,30,
+k12io,1,30,
+k.s.miracle_(umamusume),4,30,
+jyaco7777,1,30,
+juvisy,4,30,
+juuken_sentai_gekiranger,3,30,
+juse_nozomu,4,30,
+junjou_karen_freaks!_-freaks_romanticism-,3,30,
+juniper's_knot,3,30,
+judge_eyes,3,30,
+juan_(pokemon),4,30,
+jqhnharqld,1,30,
+jon_snow,4,30,
+joanna_(mojo!),1,30,"cartoongirl7,myrollingstar"
+jitsukawa_ashi,1,30,
+jisuart,1,30,
+jirofly,1,30,
+jessie_gurtland,4,30,
+jay_(shining_star),4,30,
+japan_airlines,3,30,
+janku_daruku,1,30,
+janice_(chrono_cross),4,30,
+jango-joe,1,30,
+jane_(girls_und_panzer),4,30,
+james_choo,1,30,
+jakojakojako,1,30,
+jaguarman_series,0,30,
+jacqli_(artist),1,30,
+jackie_chan,4,30,
+jacker,0,30,
+izumo_saki,4,30,
+izabel_(madoka_magica),4,30,isadel_(madoka_magica)
+iyoda_mato,1,30,
+iy_tujiki,1,30,
+ixen-fei,1,30,
+iwai_munehisa,4,30,
+iver_(reviolet),1,30,
+ivar_(tales),4,30,ibal
+itsukushima_shrine,0,30,
+itsudzumi,1,30,
+itouei,1,30,
+itou_kazuki,1,30,
+itou_izumo,1,30,
+isou_doubaku,1,30,
+isomer_(girls'_frontline),4,30,
+ishikane_aoi,1,30,
+ishida_hiroyasu,1,30,
+iseria_queen,4,30,
+isagi_yoichi,4,30,
+isaac_hein_iii,1,30,
+irima_(doron),1,30,
+irem,3,30,
+irako_mikan,4,30,
+inuwi_(yokose_y),1,30,
+inunoya,1,30,
+inugami_(gugukoku),4,30,
+inu_wi,1,30,
+intertwined_fate,0,30,
+internet_positif,3,30,
+inou_eita,1,30,
+innocent_girl,3,30,
+innocent_bullet,3,30,
+indigo_plateau,0,30,
+ind_(121),1,30,hobby_(jessica5567)
+inawa_akito,1,30,
+inagaki_miiko,1,30,
+inagaki,1,30,inagaki_(iii)
+impossible_shorts,0,30,
+imori_(46296895),1,30,
+ima_soko_ni_iru_boku,3,30,now_and_then_here_and_there
+illuminati,0,30,
+ikuwataru_nagomi,1,30,
+ikkyuu_tensai,4,30,
+iichan.ru,3,30,
+idle_antics,1,30,
+icetiina,1,30,
+ice_witch_lupina,4,30,
+ice_cream_cone_on_head,0,30,
+ibuki_mio,4,30,
+ibuki_mana,1,30,
+hyara,1,30,
+husui_parashi,1,30,
+hurybone,1,30,
+huracan_(vivid_strike!),4,30,
+hunter_(little_red_riding_hood),4,30,
+hunter_(azur_lane),4,30,
+humar,4,30,
+human_(lineage_2),4,30,
+hujitaumi,1,30,
+hujimogeo,1,30,
+hs.50_(girls'_frontline),4,30,
+hoyo,1,30,
+houshi,1,30,
+hoshina_hoshimi,1,30,
+hosato_mikine,1,30,
+hooded_jumpsuit,0,30,
+honoka_(ranukirai),1,30,
+hongou_kazuto,4,30,
+honey_bee_(bancoth),1,30,
+honami_mikura_(amino_dopple),4,30,
+homura_kogetsu,4,30,
+holykoshi,1,30,
+holding_shaker,0,30,
+holding_drawing_tablet,0,30,
+hokuyuu,1,30,
+hokage,0,30,
+hms_conqueror_(siirakannu),4,30,
+hiyamaru,4,30,
+hitaishou_chiritori,1,30,
+hiroshi_(ao_oni),4,30,
+hirayama-h,1,30,
+hinomoto_akari,4,30,
+hinatsu,1,30,
+hinata_(hinata123),1,30,
+hina_logi_-_from_luck_&_logic,3,30,
+hina_asuka,4,30,
+himeneko,1,30,
+himekaidou_hatate_(cosplay),0,30,
+himari_(blue_archive),4,30,
+hild_(aa_megami-sama),4,30,
+hiki_yuichi,1,30,
+hiiragi_yuzu_(cosplay),0,30,
+hiiragi_akio,1,30,
+hidechuu,1,30,
+hibarigaoka_ruri,4,30,
+hermes_(azur_lane),4,30,
+helvetian_military_uniform,0,30,
+hello_hoshi_wo_kazoete,0,30,
+hellcherr,1,30,
+hell_princess,4,30,
+hekeniko,1,30,
+heita0524,1,30,
+heavy_ball,0,30,
+heat_hawk,0,30,
+heart_challenger,0,30,
+healer_(7th_dragon),4,30,
+head_on_back,0,30,
+haydee_(game),3,30,
+hayate_(higan_sakura),1,30,
+hayakawa_mayumi,4,30,
+hayagiri,1,30,
+hawk_(cwmg),1,30,
+hattori_(one_piece),4,30,
+hatoya_kohane,4,30,
+hati,1,30,
+hataraku_otona_no_ren'ai_jijou_2,3,30,
+hasegawa_urumi,4,30,
+harumiya_(meron89893),1,30,
+harukaze_soyogu,1,30,
+haruka_nana,4,30,
+haru_no_hito,1,30,
+harsh-mallowz,1,30,
+harley_(pokemon),4,30,
+hare_(aeex5727),1,30,
+hard,1,30,
+harakawa_ken'ichi,4,30,haraken
+hanuma_hanma,1,30,
+hanon_(heartofsword),1,30,
+hanged_man,1,30,
+hang_gliding,0,30,
+hand_under_dress,0,30,
+hanami_mariya,4,30,
+hanakoganei_hibari,4,30,
+hanabasami_kyou,4,30,
+hamada_mari,1,30,
+hakusyokuto,1,30,
+haks,3,30,
+hair_salon,0,30,
+hai,1,30,
+hagino_kana,4,30,
+hagano_ichigo,4,30,
+haduki_tohru,1,30,
+hades1580,1,30,
+haarmades,1,30,
+haamon_(harmon),1,30,vipper_captain
+h&k_sl8,0,30,
+gyakushuu_no_hoshiumi,1,30,
+guunome,1,30,
+gus_porter,4,30,
+gunvolt_chronicles_luminous_avenger_ix,3,30,
+gundam_combat,3,30,
+guitar_little_sister_(hitomi_o)_(cosplay),0,30,
+guhua67,1,30,
+gugalanna,4,30,
+guard_(girls'_frontline),4,30,
+gtgt_nishiteyaru,1,30,
+ground_gm,4,30,
+green_leggings,0,30,
+green_cat,0,30,
+green_babydoll,0,30,
+greater_honeyguide_(kemono_friends),4,30,
+grease,0,30,
+grayllust,1,30,
+gravy,0,30,
+grausummon,1,30,
+graffiti_tracer,4,30,
+gouda_takeo,4,30,
+gouda_hiroaki,1,30,
+gou_haihaihaihai,1,30,
+good_breasts_day,0,30,
+gonzz_(gon2rix),1,30,
+gokurakuin_miito,4,30,
+gogochi,1,30,
+gogo,4,30,
+gogg,4,30,
+goeniko,4,30,
+gobots,3,30,
+go_(mumuke),1,30,
+glove_cuffs,0,30,
+gloomy_(leonzo030),4,30,
+glasslip,3,30,
+giru_(dragon_ball),4,30,"giru_(dragon_ball_gt),giru_(dragonball_gt)"
+gigi_(whoopsatro),4,30,
+gigantamax_eevee,4,30,
+ghound,1,30,
+ghost_(starcraft),4,30,
+getter-3,4,30,
+gen_(street_fighter),4,30,
+gemini_paradox,4,30,
+geiyajin,1,30,
+gd._fengzi,1,30,
+garuru_(pripara),4,30,
+garo,4,30,
+gareki_(pandanokami),1,30,
+gao_(kohozuna),1,30,
+gantai-_(gxntai),1,30,
+gamma_2,4,30,
+gamma_(ogino_jun),3,30,
+galo_(warship_girls_r),4,30,
+gakudayo,1,30,
+gakkou_no_seiiki,3,30,
+gabuccc,1,30,
+fymrie,1,30,
+fuzuki_yoshihiro,1,30,fuduki_yoshihiro
+fuujin_(ff8),4,30,fujin_(ff8)
+futakoi_alternative,3,30,
+furumero,1,30,
+furawast,1,30,
+fuoco,1,30,
+fumizuki_kou,1,30,
+fullta_(ikemeru19),4,30,
+fukushima_masaru,1,30,
+fuka_(mizno_fuka),1,30,
+fujiwara_no_shirogane_no_sanra,4,30,
+fujita_hiroyuki,4,30,
+fujino_kiyoshi,4,30,
+fujimi_nemu,4,30,
+frontera,1,30,
+frogcage,1,30,
+frilled_sweater,0,30,
+french_toast,0,30,
+fool_iketani,1,30,
+fondolger,1,30,
+folding_stock,0,30,
+fm77_(artist),1,30,
+flytrapxx,1,30,
+flower_hat,0,30,
+flower_collar,0,30,
+florbetriz,1,30,
+flatwoods_monster,4,30,
+flaming_arrow,0,30,
+fischl_(genshin_impact)_(cosplay),0,30,
+fiona_fox,4,30,
+finger_counting,0,30,
+fine_art,0,30,
+filament_(ar_tonelico),4,30,
+fiery_clothing,0,30,
+fiend_(juniper's_knot),4,30,
+fi_(atelier),4,30,
+fhilippedu,1,30,
+fenixman12,1,30,
+feng_mao_mc,1,30,
+feihong,1,30,
+fee_(fire_emblem),4,30,phee_(fire_emblem)
+fatima_(luminous_arc),4,30,
+famicom_cartridge,0,30,
+falcon_(girls'_frontline),4,30,zvi_falcon_(girls'_frontline)
+fairy_(breath_of_fire),4,30,
+facejob,0,30,
+facedesk,0,30,
+f-rhine,1,30,
+extra_horns,0,30,
+ex_hien,1,30,
+eurika_(falkyrie_no_monshou),4,30,
+eurasian_lynx_(kemono_friends),4,30,
+eunnieboo,1,30,
+eula_(pizza_hut)_(genshin_impact),4,30,
+eugene_chaud_(mega_man),4,30,ijuuin_enzan
+eroppu,4,30,
+erimiyaman,1,30,
+ericsakura,1,30,
+ereshkigal_(fate)_(cosplay),0,30,
+ephtracy,1,30,
+enseisong,1,30,
+ennishi,1,30,
+enma_(mythology),0,30,
+emuson,1,30,
+emodelas,1,30,
+emo_fashion,0,30,
+emma_(dq11),4,30,
+embroidered_garter_belt,0,30,
+elven_founder_(ishiyumi),4,30,
+elise_(koakuma_teeri_to_kyuuseishu!?),4,30,
+eisenwane_(sword_girls),4,30,
+einherjar_azena,4,30,
+egypt_(hetalia),4,30,
+eel_girl,0,30,
+edward_elric_(cosplay),0,30,
+edward_confronts_shou_tucker_(scene),0,30,
+edgar_valtinas,4,30,
+ecchuu_fundoshi,0,30,
+ecchi_na_bunny-san_wa_kirai?_2,3,30,"do_you_like_horny_bunnies?_2,ecchi_na_bunny-san_wa_kirai_2"
+eburi_a,1,30,
+ebola-chan,4,30,
+ebiura_akane,1,30,
+ebisu_senri,1,30,
+earmuffs_removed,0,30,
+dual_squelcher_(splatoon),0,30,
+dryseaweed,1,30,
+drum_(acta2436),1,30,
+drow_ranger_(dota),4,30,
+dream_eater,4,30,
+dragreder,4,30,
+dragon_tail_steak,0,30,
+dragk,1,30,
+dr._gero_(staedtler_0508),1,30,
+douzen,1,30,
+doshiko,1,30,
+dorara9002,1,30,
+donnel_(fire_emblem),4,30,donny_(fire_emblem)
+dolls_order,3,30,
+dolcexxx,1,30,
+dog_girl_(doitsuken),4,30,
+dodonpachi_daifukkatsu,3,30,
+doctor_masube,1,30,
+doctor_(arknights)_(cosplay),0,30,
+dioreta_(asicah),4,30,
+dilaih,1,30,
+digimon_world_-next_0rder-,3,30,
+dig_dug,3,30,
+dieselmine,1,30,
+dew-spiegel,1,30,
+desyana_laurentia,4,30,
+destroyer_(7th_dragon_2020),4,30,
+den_dengaku,1,30,
+demon_core,0,30,
+deku,0,30,
+defense_of_the_ancients,3,30,dota
+defaultz,1,30,
+deer_skull,0,30,
+deception,0,30,
+deadbeat_(calliope_mori),4,30,
+dazzle_(shinkonryu),1,30,
+dark_mint,4,30,
+daria_(haguruma_c),4,30,
+daniaeru,1,30,
+danchino,1,30,
+dameyo,1,30,
+daika_(last_origin),4,30,type-37_daika
+daico,1,30,
+dai_toro,1,30,
+daemonette,4,30,
+cyde,1,30,
+cyberspace,0,30,
+cuvelia,4,30,
+curry_udon,0,30,
+cure_rhythm_(cosplay),0,30,
+cure_lovely_(cherry_flamenco),4,30,
+cryska_(rune_ocarina),4,30,
+crys_(dai),1,30,
+crown_of_insight,0,30,
+crossbow_bolts,0,30,
+cristina_valenzuela,4,30,cristina_vee
+creature_on_lap,0,30,
+crayonchewer,1,30,
+crash_fever,3,30,
+corroserum_(arknights),4,30,
+coronation,0,30,
+cornelia_(girl_cafe_gun),4,30,
+cordelia_(bridal)_(fire_emblem),4,30,
+cor369,1,30,
+coolisushi,1,30,
+condom_balloon,0,30,
+commander_(forever_7th_capital),4,30,
+cody's_art,1,30,
+code009,1,30,
+coda_(ankoprpr3700),1,30,
+coco_mercury,4,30,
+coco_(r5m),1,30,
+cloud_horizon,3,30,
+class_no_gyaru_ga_nazeka_ore_no_gimai_to_nakayoku_natta.,3,30,
+clarisse_(soleil_blanc)_(granblue_fantasy),4,30,
+clariskrays,4,30,
+claptrack,1,30,
+cio_hakatano,1,30,
+chuukarudoruhu,1,30,
+churayuki,1,30,
+chubb,1,30,
+chu_chu_(shoujo_kakumei_utena),4,30,
+christoph_aurel_arland,4,30,
+chitose_mame,1,30,
+chinese_bellflower,0,30,
+chinchira,1,30,
+china_railway_girl,3,30,
+chilakkk,1,30,
+chiem_(vtuber),4,30,
+chie's_mom_(ishikei),4,30,
+chidori_kou,1,30,
+chichikoucha,1,30,
+chi4,1,30,
+chevrolet_corvette,0,30,
+cherre,1,30,
+cherinova,1,30,
+checkered_swimsuit,0,30,
+charlott_camile_herlingum,4,30,
+char_(angel_beats!),4,30,
+chanifge,1,30,
+chamochi,1,30,
+chajott64,1,30,jotto75
+chae_na-ra,4,30,
+ccllsaikou,1,30,
+cayna_(leadale_no_daichi_nite),4,30,
+cave_spider,4,30,
+cathy_idx,1,30,
+castle-3_(arknights),4,30,
+carlos_marlon,4,30,
+card_crusher,4,30,
+captcha,0,30,
+captain_(hellsing),4,30,
+canae0,1,30,
+camp_buddy,3,30,
+camp,0,30,
+camilla_regina,4,30,
+calcite_(arknights),4,30,
+cagnazzo,4,30,
+cacn,1,30,kyakkun
+cable_(marvel),4,30,
+buruxugi,1,30,
+bunny_paws,0,30,
+bunker,0,30,
+bulldog,0,30,
+bucephalus.tvt,1,30,
+bubble_(arknights),4,30,
+bteele,1,30,
+bruxish,4,30,
+brown_bandana,0,30,
+broken_shield,0,30,
+breast_implants,0,30,
+brand_(league_of_legends),4,30,
+boy_(pixiv17542438),1,30,
+boushi_(nandemo),1,30,
+borscht_(food),0,30,
+border_collie,0,30,
+booby_trap,0,30,
+bondo,1,30,
+bokujoukun,1,30,
+boku_no_edamame,1,30,
+bodies,0,30,
+bobble-chan_(splatoon),4,30,
+blue_hair-chan_(ramchi),4,30,
+blue_dragon_ral_omega_grad,3,30,
+blue_(nanostar),4,30,
+bloom_(irys),4,30,
+bloody_crow_of_cainhurst,4,30,
+blitz_(rainbow_six_siege),4,30,
+blackcliff_slasher_(genshin_impact),0,30,
+black_knight_(dark_souls),4,30,
+black_hands,0,30,
+black_canary,4,30,
+black-backed_jackal_(kemono_friends),4,30,
+bismarck_(iron_black_elysium)_(azur_lane),4,30,
+biscuit_griffon,4,30,
+bing_gang,1,30,
+biker,0,30,
+bigur,1,30,
+big_bad_wolf_(grimm)_(cosplay),0,30,
+bibeak_(arknights),4,30,
+beta_(dream_hunter_rem),4,30,
+bessho_emma,4,30,
+bes-low,1,30,
+beryl_(blueberylpie),1,30,
+berserker_(tera_online),4,30,
+bercouli_(sao),4,30,
+belldot,1,30,gyoniku_sausage_funsai_gyokurocha
+beer_tap,0,30,
+beelzebub_(granblue_fantasy),4,30,
+bea_(palentine's_2022)_(pokemon),4,30,
+battleborn,3,30,
+battle_subway,0,30,
+battle_spirits:_brave,3,30,
+battle_angel_alita:_last_order,3,30,
+battery_aida_ni_misu_ga_deta,1,30,
+bashikou,1,30,
+barber_chair,0,30,
+bara_no_maria,3,30,
+bantian_yindang,1,30,
+banbiiiino0303,1,30,
+banana_print,0,30,
+ban_tang,1,30,
+ban_(one_ban7241),1,30,onene_(ban)
+balladeluce,1,30,
+baldur's_gate,3,30,
+bakyu-n!!,0,30,
+baku_(bakunooekaki),1,30,
+baiyin,1,30,
+bails,1,30,
+bah_(dragon_ball),4,30,
+badluck,1,30,
+bad_boy,1,30,
+back_scrubber,0,30,
+azure_kite,4,30,
+azumi_tooru,1,30,azumi_tohru
+azumi_hagumu,4,30,
+azumamutuki,1,30,
+azumakuro,1,30,
+azaya_(kuroi_azaya),1,30,
+azalea4,1,30,
+aynoh,1,30,
+aymeric_de_borel,4,30,
+ayaya_(ayaya_ri),1,30,
+ayasaki_wakana,4,30,
+aya003030,1,30,
+awazake_(2wairu),1,30,niba_iru!?
+augmented_reality,0,30,
+atum_(stand),4,30,
+atui_(utawarerumono),4,30,atui_(utawareru_mono)
+atori12,1,30,
+ato_(ml_cc_g),1,30,
+atlas_(titanfall),4,30,
+ateka,1,30,
+at-at,0,30,
+asugano_subaru,4,30,
+aspear_berry,0,30,
+asou_asuna,4,30,
+asmo_deus,1,30,
+ashinagi_(bijutu1),1,30,
+ashi,1,30,
+ash_(closers),4,30,
+asai_mugi,4,30,
+asahina_suzuka,4,30,
+asahi_nayuta,4,30,
+arx-8_laevatein,4,30,
+arturaxia,1,30,
+artsunisiju,1,30,"sijumon,simon_jude"
+arthur_(granblue_fantasy),4,30,
+artemis_(third_ascension)_(fate),4,30,
+art_room,0,30,
+armored_corset,0,30,
+ark_royal_(coast_watcher)_(azur_lane),4,30,ark_royal_(coastwatcher)_(azur_lane)
+arikui_(ooooalikui),1,30,
+ariel23795,1,30,
+aridonall,1,30,
+argent-ag,1,30,
+arcle_(kuuga),0,30,
+archaic_sealed_heat,3,30,
+arashiyama_jun,4,30,
+arashio_(azur_lane),4,30,
+aramaki_daisuke,4,30,
+araka_luto,4,30,
+appare-ranman!,3,30,
+aozora_hayato,4,30,
+aomi_riru,1,30,
+aoi_hatori,1,30,
+aoi_akira,4,30,
+aoi_(lightsource),4,30,
+aoba_miu,4,30,
+ao_yasai,1,30,
+ao-yume,1,30,
+anzai105,1,30,
+antonio_(gyee),4,30,
+answer_(guilty_gear),4,30,
+ano_ko_wa_chuunibyou_tenshi!!,3,30,
+annerose_vajra,4,30,
+ankh_(ankh_05),1,30,
+anju_emma,4,30,
+angelina_rocca,4,30,
+andou_yuna,1,30,
+amulet_coin,0,30,
+ammonite,0,30,
+amino_(li0a4),1,30,
+ami_hideto,1,30,
+ameya_shioichi,1,30,
+amelie_mcgregor,4,30,
+amatsuki_colors,1,30,
+amanohana,1,30,
+amane_tsukasa,4,30,
+amanda_evelyn_earl,1,30,
+amamiya_momona,4,30,
+amakawa_mayu,1,30,
+amaetai_hi_wa_soba_ni_ite,3,30,
+ama_no_jaku_(vocaloid),3,30,
+ama_diver,0,30,
+alyssa_(irotoridori_no_hoshi),1,30,alyssa718
+altina_(shining_blade),4,30,
+altessimo_(idolmaster),0,30,altessimo
+alpha_(dream_hunter_rem),4,30,
+alpachiiino,1,30,
+alolan_rattata,4,30,
+alicemagic,1,30,
+alice_blanche,4,30,alice_(ikoku_meiro_no_croisee)
+alice_(odin_sphere),4,30,
+alice_(grimms_notes),4,30,
+alice_(baalbuddy),4,30,
+alfonso_san_valiante,4,30,
+alek_reyes,1,30,
+akutsumi,1,30,
+akuta_michi,1,30,
+akura_(arc_the_lad),4,30,
+akuma_gaoru,4,30,
+aku_no_onna_kanbu:_perigee_new_moon,3,30,
+akita_inu,0,30,
+akiosketch,1,30,
+akikan_(credit),1,30,
+akeha_(nier_reincarnation),4,30,
+akatsuki_makoto,4,30,
+akame_(chokydaum),1,30,
+akaike,1,30,
+akagi_anna,4,30,
+akagi_(dawn_phoenix's_summons)_(azur_lane),4,30,
+akabei,4,30,
+ak2,1,30,
+ak-74u_(girls'_frontline),4,30,
+aji77,1,30,
+aizawa_natsumi,4,30,
+aisha_(ash),4,30,
+aikawa_akane,4,30,
+aiiro_bokujuu,1,30,
+aibara_mitsuki,1,30,
+ai_(ai1470),1,30,
+ai-chan's_mother_(tawawa),4,30,ai's_mother_(himura_kiseki)
+ahika_(akihasakuri),1,30,
+agata_katsuhira,4,30,
+against_chalkboard,0,30,
+agahat,1,30,
+ag_ss41,1,30,
+afba,1,30,
+aeruusa,1,30,air_rin
+aerobics,0,30,
+aeon_(skullgirls),4,30,
+adenine_(artist),1,30,
+adcd,1,30,
+adcalcium,1,30,
+adam_kapowski,4,30,adam_(skullgirls)
+adachi_(nogami_nono),1,30,
+acchan,1,30,
+acasta_(azur_lane),4,30,
+abyssal_pacific_princess,4,30,abyssal_pacific_hime
+abyssal_hunters_logo,0,30,
+abigail_(final_fight),4,30,
+a_(show_by_rock!!),4,30,
+2r-_(pixiv8168114),1,30,
+2dswirl,1,30,
+21grams,1,30,
+21_(eotyq58d6do16cs),1,30,
+2027_(submarine2027),1,30,
+12.7cm_twin_gun_mount,4,30,
+0roshioji3ran,1,30,
+zyunsei777,1,29,
+zwei_(santanawamuujojo),1,29,
+zuihou_kai_ni_(kancolle),4,29,
+zola_project,3,29,
+zo_ochi2,1,29,
+zinfian,1,29,zin_(pixiv30275228)
+zimu,1,29,
+zhuang_yao,1,29,hldz
+zhang_xiaobai,1,29,
+zettai_meikyuu_grimm,3,29,
+zetta_(phantom_kingdom)_(book),0,29,
+zerase_(gensou_suikoden),4,29,
+zeikomi,1,29,
+zanki_zero,3,29,
+zangi_(lkt2012),1,29,
+z23_(the_eyecatch_in_the_rye?)_(azur_lane),4,29,z23_(the_eyecatch_in_the_rye)_(azur_lane)
+yuzuki_(rurirara),1,29,
+yuzuki_(hmr813k),1,29,hmr
+yuzuki4no,1,29,
+yuuki_karin,4,29,
+yuuki_homura,1,29,
+yuuji_(itadon),1,29,
+yuuhi_(at-speakeasy),1,29,
+yuugji,1,29,
+yuudachi_(kancolle)_(cosplay),0,29,
+yuucho,1,29,
+yuu_(super_real_mahjong),4,29,
+yuu_(guruko),1,29,
+yuu_(archaic_smile),1,29,
+yumi_(soak1111),1,29,
+yumemiru_prima_girl,3,29,
+yumekuro,3,29,
+yumekijiiro,1,29,
+yuli_you_gua,1,29,
+yuli_(pop'n_music),4,29,
+yuko_(taxidermy),1,29,
+yukky_snow,1,29,
+yukishiro_mafuyu,1,29,
+yukihomu,1,29,koumakan-maid
+yukihira_itsuka,4,29,
+yuki_len,4,29,
+yuki_(agent_aika),4,29,
+yukage,1,29,
+yubisaki_milk_tea,3,29,yubisakimilktea
+yuan_(ziranran),1,29,
+yu_xiu,1,29,
+yu_mei-ren_(fate)_(cosplay),0,29,
+yowamidori,1,29,
+youyan,1,29,
+your_throne,3,29,
+yougashi,1,29,
+yoshinaga_masahiro,1,29,
+yoshimo_(yoshimo1516),1,29,
+yoshida_tooru,1,29,yoshita_tohru
+yoshiaki_(yosiaki_ml),1,29,
+yooguru,1,29,
+yoo_sena_(jagaimo_(kkamja)),4,29,
+yong_(mg),4,29,
+yone_(qtron),1,29,
+yon_(yonana),1,29,
+yokke,1,29,
+yoi_(tokoyoi),1,29,
+yinzinmiemie,1,29,
+yeolyeo,1,29,
+yellow_devil_(mega_man),4,29,yellow_devil
+yellow_cat,0,29,
+yeager_(tales),4,29,
+ybee,1,29,
+yayoi_asuka,1,29,
+yayoi_(shichigatsu),4,29,
+yasha_(endless_requiem),1,29,
+yasaka_mai,4,29,
+yaoyorozu-kobo,1,29,
+yaoku,1,29,
+yanagi_kawa,1,29,
+yamaya_oouemon,1,29,
+yama_usagi_(onmyoji),4,29,yamausagi
+yaka_(kk1177),1,29,
+yajuuraku,1,29,"bringthanoise,mikia_harris"
+yairenko,1,29,
+yaiba_(7th_dragon_iii),4,29,
+yai_ayanokoji_(mega_man),4,29,ayanokouji_yaito
+yahoo,0,29,
+yae_sakura_(shuffle!),4,29,
+yachiwo,1,29,
+xxinainaxx,1,29,
+xsorax812,1,29,
+xinghuo,1,29,
+xetton,1,29,
+x_xith_x,1,29,
+wujiemang,1,29,
+wu_zetian_(swimsuit_caster)_(third_ascension)_(fate),4,29,
+wrappings,0,29,
+wizard_(ii_orc_no_hi),4,29,
+witoru,3,29,
+winniconan,1,29,
+william_leonard,1,29,
+will_(willanator93),1,29,
+wiene,4,29,
+widowmaker_(overwatch)_(cosplay),0,29,
+white_soccer_ball,0,29,
+white_magician_pikeru,4,29,pikeru
+white_l,1,29,
+wgm_oekaki,1,29,
+weregarurumon,4,29,
+webbing,0,29,
+weapon_girls,3,29,
+wazy_hemisphere,4,29,
+water_dress,0,29,
+watashi_no_oniichan,3,29,
+washing_face,0,29,
+war_machine,4,29,
+wander_(cordabyss),1,29,
+wanda_(wonder_festival),4,29,
+wanco_(7200rpm),1,29,
+wakatsuki_shuri,4,29,
+wakaba_girl,3,29,
+waitress_(pokemon),4,29,
+waistband,0,29,
+vyo,1,29,
+vulcan,0,29,
+vsjojo,1,29,
+vrco,4,29,
+volcano_badge,0,29,
+volcano_(liao),1,29,
+voidwalker_wraith,4,29,
+viwop,1,29,
+viscount_shishamo,1,29,
+verseir_001,1,29,
+velocidrome,4,29,
+velocesmells,1,29,
+vector_(kitty_paws)_(girls'_frontline),4,29,
+vdv,0,29,
+varniskarnis,1,29,
+vanille_(hotel01),4,29,
+vanessa_(luminous_arc),4,29,
+valkyrie_(lord_of_vermilion),4,29,
+uyoshi,1,29,
+uyalago,1,29,
+usui_ryuusan,1,29,
+usui_nagi,4,29,
+usui_kagerou,4,29,
+uss_albacore_(ss-218),4,29,
+ushiwakamaru_(swimsuit_assassin)_(third_ascension)_(fate),4,29,
+ushiwakamaru_(corrupted)_(fate),4,29,
+urakaze_(azur_lane),4,29,
+urabe_miyabi,1,29,
+untied_shoe,0,29,
+untan,1,29,
+unomiki,1,29,kou_osamu_miki
+unicron,4,29,
+underbar_summer,3,29,_summer
+un_(un0044),1,29,
+umisaki,1,29,
+umberblack,1,29,
+ulpian_(arknights),4,29,
+uld_macaron,1,29,
+uhui,1,29,
+uenoike_(194753),1,29,
+ueno_haruki,1,29,
+uchimura_reimi,4,29,
+uchimaki_subaru,4,29,
+type_97_te-ke,0,29,
+twt,1,29,
+twin-bush_disguise,0,29,
+twai,1,29,
+tuxedo_jacket,0,29,
+turboflower,1,29,
+tukisiro_nao,1,29,
+tukasa,1,29,
+tucciao,1,29,dojin
+tsuzuki_(flee_away),1,29,
+tsuyuxxx,1,29,
+tsushima_hina,4,29,
+tsurugi_yashiro,4,29,
+tsumugi_(summer)_(princess_connect!),4,29,
+tsukiyomi_ikuto,4,29,
+tsukiko_(meltdown),1,29,
+tsujikami_ayaka,1,29,
+tsuji_keisuke,4,29,
+tsuina-chan,4,29,
+tsugihagi_(chainsaw_man),4,29,
+tsuan,1,29,
+trick_(dorama),3,29,
+transparent_gloves,0,29,
+trampoline,0,29,
+toutou_(fufu0o),1,29,fuji_(pixiv17518157)
+touch_(manga),3,29,
+totorosu,1,29,
+toshipiyo,1,29,
+toronto_(yamu),1,29,
+torn_curtains,0,29,
+torizaki_kuyuri,1,29,
+torisumi_horou,4,29,
+tori_(torinchi),1,29,
+torc,0,29,
+torayamato,1,29,
+toraneko555,1,29,
+tong_shui,1,29,
+tomonaga_squadron_pilot_(kancolle),4,29,tomonaga_squadron_pilot_(kantai_collection)
+tomathao,1,29,
+tomari_shinnosuke,4,29,
+tokyo_tenma,3,29,
+tokiya_seigo,1,29,
+tokitsukaze_(kancolle)_(cosplay),0,29,
+tokiha_takumi,4,29,
+toki_(1243309499),1,29,
+tokeru,1,29,
+tochibi,1,29,
+tobisawa_mana,4,29,
+tobimaru,1,29,
+to-ya_(to-ya_can),1,29,
+tnmrdgr,1,29,
+tko_(hhan),1,29,
+tirnanogin_industries,1,29,francesco_simioni
+tiny_tina,4,29,
+tina_foster,4,29,
+timy,1,29,
+tild_framith,4,29,
+tiger_mask_(object),0,29,
+tichiel_juspian,4,29,
+thirteen_(scissor_seven),4,29,
+thicopoyo,1,29,
+theiamillis_gre_fortorthe,4,29,
+theakingu,1,29,
+the_last_comer,3,29,
+the_dragon_knights,0,29,
+tetsusaiga,0,29,
+tetsuox_(housamo),4,29,tetsuox_(tokyo_houkago_summoners)
+tetsuo_(watson),1,29,kogitetuosero
+tetsuko_(tetsuko009),1,29,tetsuko_(pixiv)
+testicle_tattoo,0,29,
+teshigawara_katsuhiko,4,29,
+teru_(teru11061),1,29,
+teostra_(armor),4,29,
+tenteru,1,29,
+tenrai_(temple),1,29,
+tenguro,1,29,
+ten_ryuu_sadaaki,1,29,
+teketeke,1,29,
+teires_(teir3s),1,29,
+tefun_(tehun),1,29,
+tect,1,29,
+technical_difficulties,0,29,
+team_valor,0,29,
+tea_(084630000),1,29,
+tawashi_(tawashisan),1,29,
+tatiana_vasilievna_stalina,4,29,
+tate_yuuichi,4,29,
+tasutekete,1,29,
+tari,1,29,
+taremayu_(kikai_tomato),1,29,
+tardis,0,29,
+tanuxu,1,29,
+tanaka_(fate),4,29,tanaka_(fate/kaleid_liner)
+tamochi_(tamochi213),1,29,
+tama_home,1,29,tm_(shiuiti)
+tama_(dragon_ball),4,29,
+tama_(05728),1,29,
+tam_tambourine,4,29,
+takojiru,1,29,
+takizi,1,29,
+takapi_3,1,29,
+takanashi_izumi,4,29,
+takahasho,1,29,
+takahashi_mariko,1,29,
+takagi_takumi,1,29,
+taka_radjiman,4,29,
+taka_(takalight),1,29,
+tajima_(minagawa),1,29,
+tainaka_ritsu_(cosplay),0,29,
+tahm_kench,4,29,
+tagicrabbu,1,29,
+tabobox,1,29,
+syldra,4,29,
+sweta_(sakerflc),1,29,
+sweetsoupman,1,29,
+suzuki-shi,1,29,
+suzuka_gozen_(third_ascension)_(fate),4,29,
+suzu_(sub-res),4,29,
+suyu38,1,29,
+suu2510,1,29,
+susu_(ysy),1,29,
+surf,0,29,
+super_robot_wars_f,3,29,
+supe_(yuusyasupepen),1,29,
+sung-eun_(unleashed),4,29,
+sunao_(70_the),1,29,nana-ya
+sumihara_satoka,4,29,
+sumi_(u-kar1n-89m0),1,29,
+sumeragi_amane,4,29,
+suketoudara,4,29,
+sukeban_deka,3,29,
+suhara_(protea),1,29,
+suezo,4,29,
+sucho,1,29,
+succubus_familiar,4,29,
+su-33,0,29,
+stylecase,1,29,
+street_hopper_(idolmaster),0,29,street_hopper
+strawberry_nauts,3,29,
+stratoz,1,29,
+storybook,0,29,
+stola,0,29,
+stim_pilot_(titanfall_2),4,29,
+steven_steel,4,29,
+stephen_potter_(azur_lane),4,29,
+stealth_bondage,0,29,
+starfox_(artist),1,29,
+star_platinum_(game),3,29,
+standing_on_box,0,29,
+spiked_ear_piercing,0,29,
+spider-man:_across_the_spider-verse_(part_one),3,29,
+spats_(footwear),0,29,
+soviet_navy_flag,0,29,
+souyoku,1,29,
+souya_yuki,4,29,
+southern_cross,3,29,
+soushuu_senshinkan_gakuen_hachimyoujin,3,29,
+soul_badge,0,29,
+sosai_salada,1,29,
+sorting_hat,4,29,
+sorakado_ao,4,29,
+soraeda,1,29,
+sora_(dkssud6580),1,29,
+sonya_jonah,1,29,
+sonic_mania,3,29,
+solidus,3,29,
+sokimi_(sosojovan),1,29,
+soi,1,29,
+sockinajar,1,29,
+small_horns,0,29,
+sleipnir_(last_origin),4,29,p-49_sleipnir
+sleeping_beauty_(character),4,29,
+skyape,1,29,
+skirt_cutout,0,29,
+ska,1,29,
+six_heart_princess,3,29,
+siroromo,1,29,
+sioagya,1,29,
+simonadventure,1,29,
+simelu,1,29,
+sig_sauer_p228,0,29,p228
+shuku,1,29,
+shu_(pjxv7485),1,29,
+shrimp_cc,1,29,
+shouko_(airen),1,29,
+shoukichi_usagi,1,29,
+shoujo_rei_(vocaloid),3,29,
+shougakusei,1,29,
+shotgun_speed_loader,0,29,
+shota-kun_(g_(genesis1556)),4,29,
+shorts_tug,0,29,
+shonasan,1,29,
+shoko-tan,1,29,
+shohje,1,29,
+shockwhite3,1,29,
+shiyou_(kouda_suzu),4,29,
+shiu_kazuki,1,29,
+shisu_(binzo3),1,29,
+shisonoha,1,29,
+shishigami_(mononoke_hime),4,29,
+shiruko_(27anko),1,29,shiruko27anko
+shirosa,1,29,
+shiro_q~,1,29,
+shiranui_(onmyoji),4,29,
+shirakawa_hotaru,4,29,
+shiokari_monaka,4,29,
+shiny_forehead,0,29,
+shinomiya_akino,1,29,
+shinano_(warship_girls_r),4,29,
+shinadume,1,29,
+shin_jia,4,29,
+shimoe,1,29,
+shimabara_minami,4,29,
+shima_hinako,1,29,
+shijou_yuzuki,4,29,
+shiho_huit,4,29,
+shigure_rangetsu,4,29,
+shidou_mana,4,29,
+sherry_cromwell,4,29,
+shared_hat,0,29,
+shared_artificial_vagina,0,29,
+shapeson,1,29,
+shadow_cat_(u9nej2qzq9vzxcf),1,29,horror_cat
+shachi_(one_piece),4,29,
+sg_(suuchan),1,29,
+sex_life,3,29,
+severed_penis,0,29,
+seven_of_diamonds,0,29,
+setouchi_(blackse),1,29,
+setamo_map,1,29,
+seriko_(seo77000),1,29,
+senta_(ysk_0218),1,29,
+senju_tobirama,4,29,
+sengoku_driver,0,29,
+sen_rikyuu,4,29,
+sen_hisame,1,29,
+selena_recital,4,29,
+seeso2d,1,29,
+see-through_cape,0,29,
+scp-682,4,29,
+school_project,3,29,
+scarmiglione,4,29,
+scarlet_(ff7),4,29,
+scaleph,1,29,
+saz8720,1,29,
+sayu_(shirotsume_souwa),4,29,
+sawa_(kite),4,29,
+savoia_s.21,0,29,
+sasamura_kaede,4,29,
+sasamori_anna,4,29,
+sasaki_sakichi,1,29,
+sasa_kanako,4,29,
+sarah_(suikoden),4,29,
+sara_(arorasyeimi),1,29,
+saotome_nagi,4,29,
+sanze_(gokiburi_kirai),1,29,"gimt,rakuka"
+sanyu_(ry_thae),4,29,
+sanwenyu_ganlao,1,29,
+santouka,1,29,
+sanpo_(sanpo_1027),1,29,
+sanjou_sorata,1,29,
+sandbag_(smash_bros),4,29,
+sananan,1,29,
+sanami_(sanami_t_38),1,29,
+sanadafelix,1,29,
+samura_hiroaki,1,29,
+salon_pixiv,3,29,
+salar_de_uyuni,0,29,
+sakuragouti,1,29,
+sakuma_hideko,4,29,sakuma_eiko
+sakigake!!_otokojuku,3,29,
+saki_(the_atko),4,29,
+saki_(otsushimai),4,29,
+sakazu_mekasuke,1,29,
+sakamoto_ryouma_(lancer)_(fate),4,29,
+sakais3211,1,29,
+saizeriya,0,29,
+saionji_kyouichi,4,29,
+saints_row:_the_third,3,29,
+sailor_crest,0,29,
+sailor_beach_wear_(no.s_project),0,29,
+saiki_kusuko,4,29,
+saichuu_(more1208),1,29,
+sagisawa_fumika_(cosplay),0,29,
+saeki_kayako,4,29,
+saejima_haruka,4,29,
+saegusa_ibara,4,29,
+saane_(monster_musume),4,29,
+ryuutsuki_basetsu,1,29,
+ryuunagi_hyouga,1,29,
+ryuukichi,1,29,
+ryuuki_(pokemon),4,29,
+ryuuga_sazanami,1,29,
+ryuu_ga_gotoku_isshin,3,29,
+ryomou,4,29,
+ryokuno_green,1,29,
+rwael,1,29,
+rutiwa,1,29,
+rust_(game),3,29,
+ruruie_(shinrabanshou),4,29,
+runa_(user_guwn7382),1,29,
+runa_(maritan),4,29,
+rudy_(ikeuchi_tanuma),4,29,
+rudo,1,29,
+ruche,4,29,
+royal_starlet_(idolmaster),0,29,royal_starlet
+royal_candy,4,29,
+roy_campbell,4,29,
+row_(dq11),4,29,
+rose_lalonde,4,29,
+roro_(shirobako),4,29,
+robot_girl,0,29,
+robisonjr,1,29,
+rizna_lanfebit,4,29,
+riyu_(yulevy),1,29,
+riyo_(ryon_96),1,29,
+rishiya,1,29,
+riputon_(lipton_sabou),1,29,
+rioko,1,29,
+ringe_(ngetyan),4,29,
+rindou_matsuri,1,29,
+riko-m,1,29,
+ricroot,1,29,
+rico_tta,1,29,
+ribbon-trimmed_pants,0,29,
+revenge_of_dragoon,3,29,
+restya,4,29,
+rera,4,29,
+repu_(rep_sha),1,29,
+reo_(re2kn),1,29,
+rents_(akirents),1,29,aki_(makinoakira)
+removing_headwear,0,29,
+remomon0,1,29,
+remiria100,1,29,
+remilia_scarlet_(bat),4,29,
+reki_connect,3,29,
+reina_de_medishi,4,29,
+rein00,1,29,
+rei_shabu,1,29,
+regal_blue_tang,0,29,
+refile,1,29,
+red_nipples,0,29,
+red_haired_cure_(bomber_girls_precure)_(happinesscharge_precure!),4,29,
+red_bloomers,0,29,
+red_(aba02),1,29,
+rebaa,1,29,
+real_robot_regiment,3,29,
+ready_player_one,3,29,
+re_(tori),1,29,
+rduuroorn,1,29,
+rb2,1,29,
+razurimu,1,29,
+raviel,4,29,
+raunchy_ninja,1,29,
+ratatos_browntail_(arknights),4,29,ratatoskr_browntail_(arknights)
+ramram_(arms),0,29,
+ramona_v_flowers,4,29,
+rakkyhappy,1,29,
+raki_kr,1,29,
+rairateru,1,29,
+rainkeru,1,29,
+rag_uralo,4,29,
+radical_highway,1,29,david_bagaconza
+rabbit_print,0,29,
+rabbit_ears_antenna,0,29,
+rabbit+tank_form_(black_hazard),0,29,
+r04315,1,29,
+quiz_quest,3,29,
+queenie_(mechanical_buddy_universe),4,29,
+qubeley_papillon,4,29,
+qbu-88,0,29,
+q-chiang,1,29,
+pussy_steam,0,29,
+pussy_squeeze,0,29,
+puranaria,1,29,
+pupil_g,1,29,
+punchy_(animal_crossing),4,29,
+puma_tiger_scorpion,4,29,
+puchipu,1,29,
+puchidori,1,29,
+prune_(bombergirl),4,29,
+protagonist_(susanghan_messenger),4,29,
+professor_sabaku,4,29,
+prinz_eugen_(azur_lane)_(cosplay),0,29,
+presence,3,29,
+pre_sktch,1,29,
+power_pro_kun_pocket_13,3,29,
+posom,1,29,
+ponjiritsu,1,29,"ponji_ritsu,rittu"
+pom,1,29,
+pokemon_tcg_gb,3,29,
+pokemon_between_breasts,0,29,
+png_pant_(bus),1,29,
+pn_(ltpn_257),1,29,
+platina77,1,29,
+pisti,4,29,
+piro_(piro_r),1,29,
+piro_(exp_66),1,29,usaru24
+piririnegi,1,29,
+pimi_(ringsea21),1,29,
+piku184,1,29,
+pikojirokurao,1,29,
+picnicic,1,29,glblumen
+picking_fruit,0,29,
+pia_carrot_e_youkoso!!_2,3,29,pia_carrot_2
+pi_(pppppchang),1,29,
+phosphora,4,29,eleka
+peonia_(pokemon),4,29,
+penis_bow,0,29,
+penguin_(one_piece),4,29,
+pegasus_j_crawford,4,29,maximillion_pegasus
+peachpa,1,29,
+peachcak3,1,29,
+pc_engine,0,29,
+pazuzu438,1,29,pazu_(asumo)
+pazuu,1,29,
+pavolia_reine_(peahen),4,29,
+paundit,4,29,
+pauld,1,29,
+patty_(artist),1,29,
+patissier,0,29,
+pas'_black-haired_catperson,4,29,
+park_bokja,4,29,
+parasite_crest,0,29,
+par.,1,29,
+papaya,0,29,
+pantyhose_over_swimsuit,0,29,
+pantaloons,0,29,
+pandemonium,1,29,
+panapana_(pixiv_12562150),1,29,
+p_shiki,1,29,
+p.kibi,1,29,
+p-40_warhawk,0,29,
+oyk_(signx),1,29,
+oxoxox,1,29,
+overpowering,0,29,
+overidea,3,29,
+overblot,0,29,
+ou-sama_no_propose,3,29,
+otter_costume,0,29,
+otacool,3,29,
+ota_(ota-0000),1,29,
+oshida_bob,1,29,
+oshi_no_love_yori_koi_no_love,3,29,
+oscar_pine,4,29,
+osanai_sanday,1,29,
+orochi_(kof),4,29,
+orimiya_yui,4,29,
+orihiro0614,1,29,
+origami_hina,4,29,
+orgun,4,29,
+orange_wristband,0,29,
+orange_coffee,1,29,
+oppaisagara,1,29,
+openvl,1,29,
+open_hatch,0,29,
+opalisart,1,29,
+opalheart,1,29,
+ootori_ouka,4,29,
+oota_kuniyoshi_face_(meme),0,29,
+oota,1,29,
+ookamikakushi,3,29,
+ooishi_ryuuko,1,29,
+ooi_choon_liang,1,29,
+oniku_(kusomushi_onick),1,29,
+onigiri_no_gu,1,29,
+on_toilet,0,29,
+olympia_(pokemon),4,29,gojika_(pokemon)
+okken,1,29,
+oki_kouji,4,29,
+ohya_ichiko,4,29,
+ohma,4,29,
+ohirune,1,29,
+ogino_atsushi,1,29,
+ogata_tank,1,29,
+ofukuro-sama,1,29,
+oenothera_(flower_knight_girl),4,29,
+oekakiyari,1,29,
+octoball,4,29,
+ocha_(kinnkonnsousai),1,29,kinnkonnsousai
+ocancan_dancing_school,1,29,
+oboro_neko,1,29,
+oberon_(sao),4,29,
+nyuunzi,1,29,
+nyt_(nagane),1,29,
+nyr50ml,1,29,
+nyaruin,1,29,
+nyaromon,4,29,
+nyanyanyanyanyanyanya!_(vocaloid),3,29,
+nyansky,1,29,
+nurumu,1,29,
+numazoko_namazu,1,29,
+numan_athletics,3,29,
+nowsicaa,1,29,
+noske,1,29,
+northampton_kai_(kancolle),4,29,
+norio_minami,1,29,
+norayinu,1,29,
+noor7,1,29,
+nonohara_nagisa,4,29,
+noguruma,1,29,zinnrikisya
+nodokana_yuki,1,29,
+noda_megumi_(artist),1,29,
+nocturne_krumenker_(nocxturne),4,29,
+noah_ebalon,4,29,noah_(elsword)
+no.1_machine,1,29,
+nioh,3,29,
+ninon_beart,4,29,
+nininisama,1,29,
+nimura_ruruko,4,29,
+nikaidou_arashi,4,29,
+nijimura's_father,4,29,
+niizuma_wa_serafuku,3,29,
+nicecream,1,29,
+newflame,1,29,
+new_york_yankees,3,29,
+new_battleship_princess,4,29,
+nerugal,1,29,
+neru5,1,29,
+neptunite_(houseki_no_kuni),4,29,
+neofreet,1,29,
+nenekirimaru,4,29,
+nemuri_miyako,1,29,
+nemimini,1,29,
+nellu_(geenymous),4,29,
+nekonote_(neconote),1,29,
+nekonin,1,29,
+nekomimi_mode_(tsukuyomi),0,29,nekomimi_mode
+nekodosaiun,1,29,
+neko0634,1,29,
+neichii,1,29,
+negev_(little_drifter)_(girls'_frontline),4,29,
+neck_hold,0,29,
+nazo_no_diaboro,1,29,
+nayuta_(scarlet-noize),1,29,
+navarre_(fire_emblem),4,29,nabarl
+nattsume_(natttsume),1,29,
+natsume_minami,4,29,
+natsuhiko_(pixiv40944),1,29,
+natsu_(soulcalibur),4,29,natsu_(soul_calibur)
+natch_imaycz,1,29,
+nashimoto_yukari,4,29,
+nashi_juni,1,29,
+nase_yukana,4,29,
+nasca_dopant,4,29,
+naruyan_(arashiboushi2),1,29,
+narumi_remon,4,29,
+nariie_shin'ichirou,1,29,
+nankam,1,29,
+nancy_makuhari,4,29,
+nanase_kokono,1,29,
+nanana_narang,1,29,
+nanami_izu,4,29,
+nanaka_(princess_connect!),4,29,tanno_nanaka
+nanairo_kouro,3,29,
+nanahara_kaoruko,4,29,
+namikishiho,1,29,
+nal_(studio_ng),1,29,
+naked_costume,0,29,
+nakadashima,1,29,
+nairofu,1,29,
+nai_kitsu,1,29,
+nagumo_shinobu,4,29,
+nagiyamasugi,1,29,
+nagisa_otoha,1,29,
+nagasaki_yuko,1,29,"nukopin,ynagasaki"
+naala,4,29,
+naaga_sonomono,1,29,naaga_(njzw2422)
+myless,1,29,
+mycstea,1,29,
+my_eight,1,29,
+musupon214,1,29,
+musumi_kiyoka,4,29,
+murasaki_shikibu_(purple_eye)_(fate),4,29,purple_eye_(fate/grand_order)
+murasaki_(kyokugen_dasshutsu),4,29,"june_(zero_escape),kurashiki_akane"
+munya_(otikamohe),1,29,
+mumu2126,1,29,
+multicolored_pubic_hair,0,29,
+mukuro_(yu_yu_hakusho),4,29,
+mui_(muica),1,29,
+mugendramon,4,29,
+mucuun_yin,1,29,
+muchakushoku,1,29,
+mua_(sleeping_earth),1,29,
+mrhunking,1,29,
+mr_nini,1,29,
+mozya,1,29,
+mozu_taiya,1,29,
+mozu_(pixiv12188108),1,29,
+mowsovsky,1,29,
+mousou_youjo,1,29,
+moubokobokodayo,1,29,
+motsu_(kk_3),1,29,
+motouchi_naruka,4,29,
+motomura_kouichi,1,29,
+mosaiq_(lovechild),1,29,
+moruhinesan,1,29,
+moromoro_0p0,1,29,
+moriya_ririka,4,29,
+morinaoekaki,1,29,
+moonlight's_anti-soul_(touhou),4,29,
+moonlgnance,1,29,
+moonbyul_(mamamoo),4,29,
+mookie_(e_mook9),1,29,ryung502
+monugaeru,1,29,
+monty_python_and_the_holy_grail,3,29,
+monorisu,1,29,
+monogoi_no_succubus_oyako_o_mitsuketakara_ijimete_yaru_koto_ni_shita_ww,3,29,
+mondo_(crazy_raccoon),4,29,
+momona_(mvv),4,29,
+momohime_ryouran!_sengoku_asuka,3,29,
+mokuzou,1,29,
+modoi,4,29,
+moco,1,29,
+mobuchin,1,29,
+mobius_(daughter_of_corals)_(honkai_impact),4,29,
+mmmakaron888,1,29,
+mk_23_pistol,0,29,
+mizushima_sayori,4,29,
+mizusawa_hikaru,1,29,
+miyoshi_kaya,4,29,
+miyazaki_chisaki,4,29,
+miyao_gaku,1,29,
+miyamoto_takashi,1,29,
+miyamo_chio,4,29,
+miyama_waka,1,29,
+miyama_leaves,1,29,ateliermiyama
+miyaji_ryunosuke,4,29,
+miyabi_(run),1,29,
+miura_asahi,4,29,
+mitsuko,1,29,
+mitsukii,1,29,
+mitsuhashitaeko,1,29,
+mitonoya_saki,4,29,
+miter,1,29,
+miss_siamour_(human),4,29,
+misogi_(real)_(princess_connect!),4,29,
+misheng_liu_yin,1,29,
+misawa_elena,4,29,
+misaki_(doa),4,29,
+misaki_(agent_aika),4,29,
+miriallia_haw,4,29,
+mio_(ressha_sentai_toqger),4,29,
+minori_yumeko,4,29,
+minneapolis_(wild_huntress_schoolgirl)_(azur_lane),4,29,minneapolis_(wild_student)_(azur_lane)
+mini_splatling_(splatoon),0,29,
+minerva_(fire_emblem_awakening),4,29,minerva_(fire_emblem:_kakusei)
+minemura,1,29,
+minazuki_kotoko,4,29,
+minasato_hibiki,1,29,
+minamoto_kouji,4,29,
+mina_(o414),1,29,
+mimoza,1,29,
+mimori_(cotton_heart),1,29,
+mimika_(puetilun),1,29,
+millia_il_velch_cutrettola_turan,4,29,milia_il_velch_cutrettola_turan
+millais_alloy,4,29,
+miko_(35nikomi),1,29,
+miki_miki,1,29,
+mikeneko_mari,1,29,
+mikasa_(battleship),0,29,
+miichinori,1,29,
+migu,1,29,
+migiue,1,29,
+midgardsormr,4,29,
+michael_jackson_(cosplay),0,29,
+miang_hawwa,4,29,
+mg42_(girls'_frontline),4,29,
+meto_(cat),4,29,
+metal_gear_ray,4,29,
+mesopota,3,29,
+merellyne,1,29,
+menreiki,4,29,
+memessa,1,29,
+melusmelon,1,29,
+melon_syrup,1,29,
+melang_b,1,29,
+mel_medarda,4,29,
+meiya,1,29,
+mei_(maple_152),1,29,
+megazord,4,29,
+megara_(disney),4,29,
+mega_venusaur,4,29,
+mega_gyarados,4,29,
+mega_diancie,4,29,
+mechanical_hair,0,29,
+mazushii,1,29,
+matutoki_nara05,1,29,
+matsushima_kei,1,29,
+matsu_takeshi,1,29,"tsukasa_mat,tsukasa_matsuzaki"
+matoba,1,29,machiba_riku
+matdoljangin,1,29,
+matchuri,1,29,
+massakasama_(style),0,29,
+mashiro_yozakura,1,29,
+masaki_kazusa,1,29,
+mary_(identity_v),4,29,
+maruuchi_shouko,4,29,
+maruta_maruta,1,29,
+maruo_(mokurentenpu),1,29,
+maruman,1,29,
+marison_(aono107),1,29,
+marcus_(rnarccus),1,29,
+maplum,1,29,
+mao_(tales),4,29,mao_(tor)
+manzoku-san,4,29,
+mantou_yu,1,29,
+manosdetrapo,1,29,
+mano_(m1n0f2e1),1,29,m1n0f2e1
+manbou_(manvow),1,29,otafuku
+mamo_murata,1,29,
+mamiru_(42105269),1,29,
+mameneko_(pai),1,29,mameneko_pai
+maliketh_the_black_blade,4,29,
+malaysia,0,29,
+makuro_(inmomakuro),1,29,
+makochii,4,29,
+makna_armour,0,29,
+majoora,1,29,
+maji_(majibomber),1,29,
+mail_(mail_gell),1,29,
+maiden_with_eyes_of_blue,4,29,
+maid_koubou,1,29,
+mahou_shoujo_ikusei_keikaku_queens,3,29,
+magicami,3,29,
+magical_mirai_rin_(2019),4,29,
+magical_mirai_len_(2019),4,29,
+magical_canan,3,29,
+maggea22,1,29,
+maezono_koharu,4,29,
+madoushi_s,1,29,
+madolche_magileine,4,29,
+madhand,1,29,
+maco_(crea-0328),1,29,
+machias_regnitz,4,29,
+m1918_(bunny_girl)_(girls'_frontline),4,29,
+lznustrpo,1,29,
+lynx_(chrono_cross),4,29,
+lydian_academy_swimsuit,0,29,
+lusamine_fused_(pokemon),4,29,
+lunaria,4,29,
+luna_(punishing:_gray_raven),4,29,
+luna_(kaminomi),4,29,
+luke_uehara,1,29,
+luerstine,1,29,
+lucy_van_pelt,4,29,
+lucrezia_noin,4,29,
+lucifer_(the_seven_deadly_sins),4,29,pride_(the_seven_deadly_sins)
+lu_xun,4,29,
+lsunl,1,29,
+lrul,1,29,
+lovewolf5122,1,29,
+louie_(pikmin),4,29,
+lotus_wand,0,29,
+lotus_earrings,0,29,
+lotion_play,0,29,
+lord_tenma_(touhou),4,29,lord_tenma
+long_fangs,0,29,
+lone_wolf,1,29,
+lolzis,1,29,
+lol_(harikofu),1,29,
+llmia4,1,29,
+lixsium,1,29,
+lithium10mg,1,29,
+liquid_metal_slime_(dq),4,29,hagure_metal
+lionet0806,1,29,
+lio_convoy,4,29,
+linked_sausages,0,29,
+linbai22,1,29,
+limfoman,1,29,
+limbo_(game),3,29,
+lilith_(unxi),4,29,
+lierre,4,29,
+licoco,1,29,
+lich_king,4,29,
+li_zhiheng,1,29,
+li_xiangfei,4,29,
+li_se,1,29,
+lexis_yayoi,1,29,
+levi_russel,4,29,
+level_difference,0,29,
+leslychoco15,1,29,
+leopardon,4,29,
+lemon_browning,4,29,
+leandro_franci,1,29,
+lazoomaiga,1,29,
+layout_plan,0,29,
+laura_nissinen,4,29,
+laughing_octopus,4,29,
+laruna_(granblue_fantasy),4,29,
+lart_art1,1,29,
+laolao_(granblue_fantasy),4,29,
+lan_ren_hui,1,29,
+lan_(gyee),4,29,
+laika_(slime_taoshite_300_nen),4,29,
+lacolon,1,29,
+kyuujou_komachi,1,29,
+kyoukya_(kyouya02),1,29,
+kyon_(kyouhei-takebayashi),1,29,
+kyomunohi,1,29,
+kyary_pamyu_pamyu,4,29,
+kyako_youkan,1,29,
+kyabetsutarou,1,29,
+kuzuhana,1,29,
+kusunoki_(escude),1,29,
+kusumori_shiba,1,29,shiba_(pixiv210244)
+kurusu_ren,1,29,
+kurusu_alexandra,4,29,
+kuroyagi,1,29,
+kurotsuki_hiiragi,1,29,
+kurosteel_ds,1,29,
+kurono_kiria,4,29,
+kuroneko_jiji,1,29,
+kuromu_shado,1,29,
+kuromitsu_(9633_kmfr),1,29,
+kurokami_no_onna,4,29,
+kuroda_(kuro_yyy),1,29,
+kureihii,1,29,
+kurasuke's_maid_girl,4,29,
+kurakake_clara,4,29,
+kunoichi_zero,4,29,
+kunio-kun,4,29,
+kunimasa_ayami,4,29,
+kung_fu_panda,3,29,
+kumo_suzume,1,29,
+kuma_yum24,1,29,
+kubota_jun,4,29,
+koyuki_(kimetsu_no_yaiba),4,29,
+kouzuki_kazuna,4,29,
+kouzu_shou,1,29,
+kouseki0024,1,29,
+kousaka_junpei,4,29,
+kounaien_(comic1217),1,29,
+koujisako,1,29,
+kougekiryoku,1,29,aaaa_(yumx3575)
+kota111519,1,29,
+konoyasoul,1,29,
+konna_ko_ga_itara_boku_wa_mou,3,29,
+kongbai_huanxiang,1,29,
+kongai,3,29,
+kon_(kemono_jihen),4,29,
+komori_sana,4,29,
+kome_(kokomoti),1,29,
+komatsuzaki_umi,4,29,
+kolibri_(girls'_frontline),4,29,
+kokoro_magic_a_to_z,0,29,
+kokonoe_misui,1,29,misui_(mikomizu)
+kojikoji,1,29,
+kohinata_mangetsu,4,29,
+koh_(user_kpcu7748),1,29,
+kogashirou,1,29,
+kogakunama,1,29,
+kodomonomikata_(noikurezant),1,29,
+kobotoke_nagi,4,29,
+knight_(elsword),4,29,
+kneesocks_senritsu,1,29,
+knee_cutout,0,29,
+kmgrru,1,29,
+klim_nick,4,29,
+kksukeke,1,29,
+kiyukiyutan,1,29,
+kitsune_no_ko,1,29,
+kitou_akari,4,29,
+kiteman442,1,29,
+kitahara_aya,4,29,
+kita_nayuta,4,29,
+kit,1,29,
+kisugi_hitomi,4,29,
+kishita_yuu,1,29,
+kisaragi_pana,1,29,
+kiryuu_iyori,4,29,
+kirishima_sakura_(hundred),4,29,
+kiri_ph,1,29,
+kirby's_epic_yarn,3,29,
+kirawus_(golden_kamuy),4,29,
+kira_yoshihiro,4,29,
+kinoshita_tomomi,4,29,
+kinoshita_sumie,1,29,
+kino707,1,29,
+kingprotea_(second_ascension)_(fate),4,29,
+king_arthur_(eiyuu_senki),4,29,
+king_(dakemakura),1,29,
+kimo_suna,1,29,
+kimi_to_kanojo_to_kanojo_no_koi.,3,29,"kimi_to_kanojo_to_kanojo_no_koi,you_and_me_and_her:_a_love_story"
+kimi_e_okuru_sora_no_hana,3,29,
+kikuchi_milo,1,29,
+kikouken,0,29,
+kikiki_(hiya_mikan),1,29,
+kienan_lafferty,1,29,knockwurst
+kidon,1,29,
+kiana_kaslana_(white_comet)_(cosplay),0,29,
+kezime,1,29,
+kesa_kujiru,4,29,
+kensaint,1,29,
+kebei,1,29,
+kazuno_(horizon),4,29,
+kazuki_sanbi,1,29,
+kaya_(hydego),1,29,
+kawanishi_yuuji,1,29,
+kawaii_girl_(avogado6),4,29,
+kawai_kei_(artist),1,29,
+kawahagi-tei,1,29,
+kawachi_(hina),1,29,
+kawabeako,1,29,
+katzueki,1,29,
+katubusi_kisimen,1,29,kludea
+katsushika_hokusai_(fate)_(cosplay),0,29,
+katrina_(romancing_saga),4,29,
+katann,1,29,
+kasy,1,29,
+kasuga_haruhi,1,29,
+kasshoku_danchi_e_youkoso,3,29,
+kashiwada_kiiho,1,29,
+kasasagi07,1,29,
+karou_(lhscck302),1,29,karou_(pixiv47191635)
+karateka_(baromaru),1,29,
+kapirusu,1,29,
+kaon_(kyoushirou_to_towa_no_sora),4,29,
+kanzaki_sayaka_(hg_ni_koisuru_futari),4,29,
+kanzaki_aoi_(true_blue),4,29,
+kantoku_collection,3,29,
+kanraku,1,29,
+kannovaku,1,29,
+kannasetsuna,1,29,
+kanna_kamui_(dragon)_(maidragon),4,29,
+kanna_kamui_(cosplay),0,29,
+kandori_makoto,1,29,
+kanatsuki_tatsuya,1,29,
+kamiwazumi_maya,4,29,
+kamishiro_maiku,4,29,
+kamineko,4,29,
+kami_otona,1,29,
+kamen_rider_amazon_alpha,4,29,
+kamatani_yuuki,1,29,
+kamakurako,4,29,
+kakusei_avenger,3,29,
+kaiouken,0,29,
+kaikoinu,1,29,
+kaigaraori,1,29,
+kaigan,1,29,
+kaguya-hime_no_monogatari,3,29,the_tale_of_the_princess_kaguya
+kagari_tuepesyu,4,29,
+kagaku_chop,3,29,
+kaede_(harutan109),1,29,
+kadotarou,1,29,
+kado_(hametunoasioto),1,29,
+kaden_(muxt8423),1,29,
+k-nattoh,1,29,
+k-bose,1,29,
+jyuma,1,29,jyuma0
+juusensha_koubou,1,29,
+jururu,4,29,
+jun_(nad-j),1,29,
+jun_(junko),1,29,
+ju_yorimoto_(ranten_yume),1,29,
+ju-on,3,29,
+joya_no_kane,0,29,
+joujou,1,29,
+josalyn_visenad,4,29,
+jolker,1,29,jolker_jang
+jogo_(jujutsu_kaisen),4,29,
+joeian,1,29,
+jliaan,1,29,
+jip,1,29,
+jinri_shijie,1,29,
+jewel_(umamusume),0,29,
+jenna_(golden_sun),4,29,jasmine_(golden_sun)
+jeanne_d'arc_alter_santa_lily_(summer_little)_(fate),4,29,
+jaycee_(tekken),4,29,
+javelin_(energetic_idol_@120%_motivation!)_(azur_lane),4,29,javelin_(aspiring_new_idol)_(azur_lane)
+jasmine_(deltora_quest),4,29,
+jashin_doruton,1,29,
+japanese_skink,0,29,
+jangsunyo,1,29,
+jangif,1,29,
+jademoon,1,29,
+jack-o'-lantern_head,0,29,
+jack-ddd-no13,1,29,
+jaack,1,29,
+j_(let's_&_go),4,29,
+izumi_shin'ichi,4,29,izumi_shinichi
+izumi_roka,1,29,"kurusemina,nonoka_(usagipancake)"
+izumi_natsuka,1,29,
+izanami_(p&d),4,29,
+iyama_nami,1,29,
+iwatozaki_mamoru,1,29,
+iwamine_shuu,4,29,
+iwabuchi_haruka,4,29,
+itou_ebiko,1,29,
+ito,1,29,
+isorashi,1,29,
+iskanderednaksi,1,29,
+ishtar_(elsword),4,29,
+ishikawa_masakazu,1,29,
+ishikawa_goemon_xiii_(cosplay),0,29,
+isaac_macdougal,4,29,
+ironing_board,0,29,
+iron_fist_alexander,4,29,
+iroha_kaede,4,29,
+iris_krug,4,29,
+iria_zeiram_the_animation,3,29,
+irene_(jojo),4,29,
+iralion,1,29,
+ipo-chan,4,29,
+inubashiri_momo_(suna),4,29,
+insect_glaive,0,29,
+inoue_takina_(cosplay),0,29,
+inose_riku,1,29,
+inkzooka_(splatoon),0,29,
+inica,1,29,
+infel_(ar_tonelico),4,29,
+indy_k,1,29,
+indian_rhinoceros_(kemono_friends),4,29,
+inazuma_legend_japan,0,29,
+inari_kuromu,4,29,
+inari_jin,1,29,
+impmon,4,29,
+implied_orgasm,0,29,
+imi_jericho,0,29,jericho_(pistol)
+imdrunkontea,1,29,brandon_dunn
+imai_miu,1,29,
+ima_(luce365),1,29,
+illyasviel_von_einzbern_(swimsuit_archer)_(first_ascension),4,29,
+illaoi,4,29,
+ikumo_taisuke,1,29,
+ikeya_(ikeya314),1,29,
+igniz_(kof),4,29,
+iga_(nonono_tsuushin),1,29,
+ievan_polkka_(vocaloid),3,29,
+idunn_(megami_tensei),4,29,
+idoraad,1,29,
+ichinose_natsuki,1,29,
+ice_floe,0,29,
+ice_dragon,0,29,
+icchiramen,1,29,
+ibuki_suika_(watermelon),4,29,
+hyetta_(elden_ring),4,29,
+hybrid_(1212apro),1,29,
+hyakkihime,4,29,
+huracan,1,29,
+hulkbuster,4,29,
+huan_shi_tian_tong,1,29,"vv404notfound,vv68615349"
+hsch,1,29,
+hp23,1,29,
+housulu,1,29,
+houraiji_kyuushou,4,29,
+hound_(transformers),4,29,
+hottate,1,29,
+hotateyuki,1,29,
+hosokawa_gracia,4,29,
+hoshino_yura,1,29,
+hoshino_yachiho,4,29,
+hoshiinasake,1,29,
+hose_between_breasts,0,29,
+horace_(pokemon),4,29,
+hoopa_(unbound),4,29,
+hong_da,1,29,
+honeymelon,1,29,
+honey_badger,0,29,
+honda_nsx,0,29,
+holobirds,0,29,
+holding_utensil,0,29,
+hobbit,0,29,
+ho2nium,1,29,hiro_hatakeyama
+hizuki_reiya,1,29,
+hizikit,1,29,
+hitsuki_(hiidukii),1,29,
+hitagiri,1,29,
+hisakawa_haru,1,29,
+hirano_kouta_(style),0,29,
+hiramoto_akira,1,29,
+hirakawa,1,29,
+hirakata_masahiro,1,29,
+hiraga_pikurosu,1,29,
+hiraba_6018,1,29,
+hionhk,1,29,
+hinya_(wabi),1,29,
+hinamushi_(shokuyou),1,29,
+himukai_yuusuke,1,29,
+himiko_(eiyuu_senki),4,29,
+himekouji_yuki,4,29,
+hime_takeo,1,29,
+hillary_clinton,4,29,
+hilda_(special_costume)_(pokemon),4,29,
+hikuushi_series,3,29,
+hikari_yui,1,29,
+hiiro,1,29,
+high-waist_bikini,0,29,
+higashikata_rina,4,29,
+hide_(rightstuff_annex),1,29,
+hida_naria,1,29,
+hibiki_(bagawa),1,29,
+hiballista,1,29,
+hey_cre,1,29,
+henginnnnnn,1,29,
+hemyi,1,29,marcellokito!
+helena_(may_i_have_this_dance?)_(azur_lane),4,29,
+hekiyama_yurika,1,29,
+height_switch,0,29,height_swap
+heidi_(alps_no_shoujo_heidi),4,29,
+hei_yu,1,29,
+hei_d,1,29,
+heheneko,1,29,
+heather37,1,29,
+heat_(dds),4,29,
+he-man,4,29,
+hayasaka,1,29,
+hayakawa_ai,4,29,
+hawkeye_gough,4,29,
+hatsuharu_(azur_lane),4,29,
+hatachi8p,1,29,
+hat_ring,0,29,
+hashimoto_sana,4,29,
+hashima_chihiro,4,29,
+hashiguma,1,29,
+hasemi_ryou,1,29,
+hasaki_(alice_ruru),1,29,
+has_watermarked_revision,5,29,
+harustein,4,29,
+haruno_hime,4,29,
+haruka_(new_year)_(blue_archive),4,29,
+harujiya_(setugetuka),1,29,
+haruharo_(haruharo_7315),1,29,
+harpy_(monster_girl_encyclopedia),4,29,
+harpie_lady_2,4,29,
+harp_seal_(kemono_friends),4,29,
+harikona,1,29,
+harasaki_nozomi,4,29,
+harari,1,29,
+happy_happy_friends,0,29,
+haoyuan,1,29,angelos
+hanui,1,29,
+hanemikakko,1,29,
+hand_in_jacket,0,29,
+hanayono_menora,4,29,
+hana_arare,1,29,
+hana_(me!me!me!),4,29,
+han_(hehuihuihui),1,29,
+hamza_touijri,1,29,
+hamidasu,1,29,tonyxx50
+hama_(sleeps),1,29,
+halluci,1,29,
+hakuhouin_ayano,4,29,
+hakata_tonkotsu_ramens,3,29,
+hakasesuitchi,1,29,
+haishima_xv,1,29,ryu0120
+hairy_pikachu,0,29,
+hagakure_hiroko,4,29,
+hae-young_na,4,29,
+hadi,1,29,
+hachirodesu,1,29,
+hachi_duchi,1,29,
+hachi_(lgm),1,29,
+gyahu,1,29,
+guy_(fire_emblem),4,29,
+gurugnsn,1,29,
+guriddopitto,1,29,
+guodon,1,29,
+gun_zi_(i&eyes),1,29,
+guman_project,1,29,
+gu_xun_er_(doupo_cangqiong),4,29,
+gu_tao,1,29,oo92248226
+gsn_(nocturne),1,29,
+grune_(tales),4,29,grune_(tales_of_legendia)
+groza,1,29,
+growlanser_v,3,29,
+grim-evilnov,1,29,
+grillby,4,29,
+gretia,1,29,
+gretel_jeckeln,4,29,
+greta_(pokemon),4,29,
+greig_(dq11),4,29,
+green_ranger,4,29,
+greavard,4,29,
+graphig,3,29,
+grandia_iii,3,29,
+gr_(gule),1,29,
+goyoyoo,1,29,
+gotou_masaki,1,29,
+gorohati,1,29,
+goro_desu,1,29,
+gopher_(soul_eater),4,29,
+gooak,1,29,vanety
+gomix,1,29,
+gollizo,1,29,
+golden_frieza,4,29,
+gokokukyou,1,29,
+glunk_(kirby),4,29,
+gluko,4,29,
+glowing_veins,0,29,
+gliding,0,29,
+girls_und_panzer:_atsumare!_minna_no_senshadou!!,3,29,
+girl_with_a_pearl_earring,3,29,
+ginho,1,29,
+ginger_root,0,29,
+ging_freecss,4,29,
+gin_(gin937),1,29,gin937
+gigigimimi,1,29,
+gigan,4,29,
+gie_(gienara),1,29,
+giant_salamander,0,29,
+giant_robo_(mecha),4,29,
+ggyoku,1,29,
+gfpebs,1,29,
+gespenst,4,29,
+gerusyu,1,29,gel_shu
+genn_00o,1,29,
+gender_transitioning,0,29,
+geminiboar,1,29,
+geara_doga,4,29,
+gazelle,0,29,
+gassun,1,29,
+gash_bell,4,29,
+garaudon,1,29,
+gap_(pdmng),1,29,
+galvatron,4,29,
+galient,4,29,
+gachimuchi_de_dosukebe_na_kateikyoushi_no_oniisan_to_sugosu_natsu,3,29,
+gabu,1,29,
+gaanc_23_(tomosuge),1,29,
+g36c_(you_who_steps_up)_(girls'_frontline),4,29,
+g-sky_goddess_(ishiyumi),4,29,
+fyy2333,1,29,
+fuyukono,1,29,
+fuunyon,1,29,
+futon_tataki,0,29,
+futami_shion,4,29,
+futami_masaki,1,29,
+furo_(harirate),1,29,
+furansiumu,1,29,
+fura_(wind_rahu),1,29,
+fur_skirt,0,29,
+full_armor_gundam,4,29,
+fukunomiya_koko,4,29,
+fujiwara_yoshito,1,29,
+fujito_(call_f_),1,29,fuunooo
+fujishino_shikino,1,29,mzkk_1826
+fujishima_kazuya,1,29,
+fujisawa_aya_(gundam_build_divers),4,29,
+fujisaki_mana,4,29,
+fujimoto_shirou,4,29,
+fujimaru_ritsuka_(female)_(chaldea_pathfinder),4,29,
+fujii_yakumo,4,29,
+fujii_tomoyuki,1,29,
+fuchima,1,29,
+fu-girl,4,29,
+frown_(wonderland85711),1,29,
+frog_mask,0,29,
+fried_squid,0,29,
+freddyhalloween,1,29,freddy_(pixiv30729500)
+fox_daughter_(doitsuken),4,29,
+florence_nightingale_(divine_princess_of_the_storm)_(fate),4,29,divine_princess_of_the_storm
+fletches,0,29,
+fleki,4,29,
+flear,4,29,
+firepo,1,29,
+fiore_(baru),4,29,
+finger_wrap,0,29,
+figure_four_leglock,0,29,
+fhara,1,29,
+ffflilil,1,29,
+ffc,1,29,
+fey_(unknown_artist),1,29,
+ferdinand_marl_e,4,29,ferdinand_marl_e.
+fenneko,4,29,
+fen_zuo,1,29,
+female_commander_(forever_7th_capital),4,29,
+felia_hanakata,1,29,
+fei_(songyijie),1,29,
+faton,1,29,
+fate/extra_record,3,29,
+fanatio_synthesis_two,4,29,
+fan_no_hitori,1,29,r18gpicbot
+famitsu,3,29,
+fallstreak_hole,0,29,
+falce,4,29,
+exile_(elona),4,29,
+excela_noa_aura,4,29,
+eviryun,1,29,
+evil-ss,1,29,
+euryale_(fate)_(cosplay),0,29,
+eun_soyeon_(lustyfox),4,29,
+eugene_sevenstark,4,29,
+etsuransha_no_rei,1,29,
+essex_(a_trip_down_route_66)_(azur_lane),4,29,
+esper_girl,4,29,
+esha,1,29,
+ershin,4,29,
+eris_(cosmic_break),4,29,
+erinan,1,29,
+erika_sato,4,29,
+erika_(sygna_suit)_(pokemon),4,29,
+epomeno,1,29,mistrie
+emu_1316,1,29,kren19981012
+emilou_apacci,4,29,apacci
+emanon_(ice),1,29,
+elusya,1,29,
+elsa_(g557744),1,29,
+elsa_(demonbane),4,29,
+elliot_craig,4,29,
+elizabeth_bathory_(japan)_(fate),4,29,
+eir_(machi),4,29,
+eicy_(alchemy_stars),4,29,
+eichi_(0903275),1,29,
+eggplant_costume,0,29,
+eeteru,1,29,
+educational_broadcasting_system,3,29,
+edoben,0,29,
+edboy,1,29,
+edamamezooooo,1,29,
+echipashiko,1,29,
+ebisumaru,4,29,
+ebisuke,1,29,
+ear_tug,0,29,
+dysoor,1,29,yuqian_dai_dao_de_tuz
+dyogrammaton,3,29,
+dynorz,1,29,
+dutch_text,0,29,"dutch,dutch_(language)"
+duster_coat,0,29,
+dudlesnoodles,1,29,
+drum_major,0,29,
+drooping,0,29,
+drawn_halo,0,29,
+dragon_knight_(dungeon_and_fighter),4,29,
+drachea_rannak,1,29,
+dou_(doudouzi),1,29,
+dortin,4,29,
+dorothy_(granblue_fantasy),4,29,
+dorasu,1,29,
+dopoing,1,29,
+doongdang,1,29,
+donquixote_family,0,29,
+donald_duck_(cosplay),0,29,
+dominion,3,29,
+dollyspica,1,29,
+dohyo123123,1,29,
+doggy_god's_street,0,29,
+diter-trsey,1,29,
+disgaea_team_attack,0,29,
+dimensional_hole,0,29,
+dima,1,29,
+digimon_crest,0,29,crest_(digimon)
+diagonal-striped_legwear,0,29,
+dexter,4,29,
+deraken,1,29,
+demonbane_(mecha),4,29,
+deltora_quest,3,29,
+delphinium_(flower_knight_girl),4,29,
+death_13,4,29,
+death2990,1,29,
+dasulchan,1,29,
+darus5,1,29,
+daruma_is_god,4,29,
+dark_nebula,4,29,
+dark_magician_beth,4,29,
+dark_bride,0,29,
+dannoura_yuuki,1,29,
+dandruff,0,29,
+damien_dozias,1,29,sterna
+daihatsu,0,29,
+daichi_(daiti1318),1,29,
+cytus_ii,3,29,
+cynthia_rou,4,29,
+cy9,1,29,
+curtis_(pokemon),4,29,
+curacoa_(azur_lane),4,29,curacao_(azur_lane)
+cum_on_neck,0,29,
+cum_on_horns,0,29,
+cryptocurrency,0,29,
+crow_(show_by_rock!!),4,29,
+cross_regalia,3,29,cross_regalia_guard_the_vampire_princess
+cremanata,1,29,
+crafting,0,29,
+cracked_shell,0,29,
+coyote_tango,4,29,
+cover-d,1,29,
+costume_combination,0,29,
+cornflower,0,29,
+copochui,1,29,
+cooper_(blazing_tennis_battle)_(azur_lane),4,29,
+cookin,1,29,
+control_tower,0,29,
+constellation_(warship_girls_r),4,29,
+conflict_(module),0,29,
+confetti_ball,0,29,"kusudama,party_ball"
+comanie,1,29,
+color_works,3,29,
+color_contrast,0,29,
+cologne_(ranma_1/2),4,29,
+collapsing,0,29,
+cokio,1,29,
+cocoka,1,29,
+cobushii_(arms),4,29,
+cnanao,1,29,
+clumeal,1,29,
+closing_book,0,29,
+clock_print,0,29,
+cliov,1,29,
+clammy_zell,4,29,
+cissnei,4,29,shuriken_(female)
+circlet_princess,3,29,
+cinque_(fft-0),4,29,
+cilfy,1,29,
+chun'ai_zhanshen_milili,1,29,
+chuck_preston,4,29,
+chrocatz,1,29,
+chrissy_(animal_crossing),4,29,
+chougoukin_kurobikari,4,29,superalloy_blackluster
+chokota,1,29,
+choia,4,29,
+choi_bounge,4,29,
+choco_taberusan,1,29,
+chmyxo,1,29,
+chizi,1,29,
+chiyu_(cotoritori),1,29,
+chisuzu_mei,4,29,
+chiro_(pez777),1,29,
+chikawa_shibainu,1,29,
+chikada_haruko,4,29,haruko_(k-on!)
+chick_print,0,29,
+chiave_(arknights),4,29,
+chey,1,29,
+chest_rig,0,29,
+chernobog_(housamo),4,29,chernobog_(tokyo_houkago_summoners)
+cheese_hair_ornament,0,29,
+checkered_cape,0,29,
+cheburashka,4,29,
+chausson,1,29,
+chamuhz,1,29,
+chamoro,4,29,
+ceph_(greatyazawa1819),1,29,
+celene_(3di),4,29,
+cchhii3,1,29,
+cattleya_baudelaire,4,29,
+catsila,1,29,
+cater_diamond,4,29,
+cat_between_legs,0,29,
+casket,0,29,
+carol0905,1,29,
+carmen_(project_moon),4,29,
+care_label,0,29,
+capelin_s,1,29,
+cannelle_(sword_girls),4,29,
+canata_katana,1,29,
+camilla_(kagemusha),4,29,
+calvina_coulange,4,29,
+cailleach_bheur_(last_origin),4,29,
+cagliostro_(granblue_fantasy)_(cosplay),0,29,
+ca_ba_ya_ki,1,29,
+byunei,4,29,
+byoru,1,29,
+butcher,0,29,
+bureoeve,1,29,
+buranantoka,1,29,
+buck_(pokemon),4,29,
+buchibussei,1,29,
+brown_tunic,0,29,
+brown_dog,0,29,
+brolo,1,29,
+broken_staff,0,29,
+broken_goggles,0,29,
+brendan_(pokemon)_(cosplay),0,29,
+breasts_on_shoulders,0,29,
+breakers,3,29,
+brave_new_world,3,29,
+box_(hajimeyou654),1,29,
+bookend,0,29,
+bonnie_(fnaf),4,29,
+bonjindaaa,1,29,
+bongnom,1,29,
+bon_bonne_(mega_man),4,29,bon_bonne
+bokjumeoni,0,29,
+bob_(overwatch),4,29,
+bloodhound_(apex_legends)_(cosplay),0,29,
+blood_on_mask,0,29,bloody_mask
+blood_in_water,0,29,
+blocking_kiss,0,29,
+blipper,4,29,
+black_widow_(cosplay),0,29,
+black_knife_(elden_ring),0,29,
+black_devil_girl,4,29,
+bk_mita,1,29,mita_ran
+bison,0,29,
+biro-budou,1,29,birotyoutin
+bingsang,1,29,
+bifanghuanshi,1,29,
+beyumi,1,29,ms_cloud
+betty_boop_(character),4,29,
+betty_boop,3,29,
+beshiexe,1,29,
+beryl_gut,4,29,
+bernie_sanders,4,29,
+beri_(zankuro),4,29,
+beretta_model_38_(girls'_frontline),4,29,
+benteja,1,29,
+benjomushi,1,29,
+bench_press,0,29,
+beko_(beco_1122),1,29,
+beisaku_bei,1,29,
+bearclaw,1,29,
+basilisk_(monster_girl_encyclopedia),4,29,
+bartre_(fire_emblem),4,29,
+bart_simpson,4,29,
+baron_(baron-eros),1,29,
+bananafish1111,1,29,
+ball_toss,0,29,
+baliu,1,29,
+baketsumuri,1,29,anchalboy
+babyls_school_uniform,0,29,
+baba_yasushi,1,29,
+b-cat,1,29,
+azuma_reiji,1,29,azuma_reiharu
+azuma_fubuki,4,29,
+azhang,1,29,
+azanami_(pso2),4,29,
+az_sainklaus,4,29,
+ayumi_(xiwu),1,29,
+ayukisa,1,29,
+ayashimon,3,29,
+ayasaki_yukino,4,29,
+ayanokouji_pai,4,29,
+ayan_1593817922,1,29,
+ayako_(twrlare),4,29,
+axehorn_(ssambatea),4,29,
+awakeningdog,1,29,
+awa_(awaawa),1,29,
+aura_(.hack//),4,29,
+atorie,1,29,
+aticsanir,1,29,
+athria,1,29,
+atelier_lilie,3,29,atelier_lilie_alchemist_of_salburg_3
+atac,4,29,
+asuka_(dream_c_club_zero),4,29,
+asu_no_yozora_shoukaihan_(vocaloid),3,29,kimi_no_yozora_shoukaihan_(vocaloid)
+asano_ruri,4,29,
+asahina_yori,1,29,
+asahina_yoi,1,29,
+asahina_kokomi,4,29,
+asahimachi,1,29,
+asagiri0700,1,29,
+asagi1111,1,29,
+asaba_ureshiko,4,29,
+asa_(memento),1,29,
+arumat_p._thanatos,4,29,
+artina_(disgaea),4,29,
+artificial_angel_(araido_kagiri),4,29,
+arthropod,0,29,
+artemisia_(pixiv_fantasia),4,29,
+arithmetician_(fft),4,29,calculator_(fft)
+ariilha12,1,29,
+arifureta_sekai_seifuku_(vocaloid),3,29,common_world_domination_(vocaloid)
+aria_vancleef,4,29,
+arenoyoni,1,29,
+arcade_riven,4,29,
+arasa_ol_haman-sama,3,29,
+aranagi_(arng_4401),1,29,
+araburu_kisetsu_no_otome-domo_yo.,3,29,o_maidens_in_your_savage_season
+aquna,1,29,
+aqua_fire,0,29,
+aps_(alice-momizi),1,29,
+apricot_(flower_knight_girl),4,29,
+apapo,1,29,
+aozukikawasemi,1,29,
+aosuke,4,29,
+aopiqoo,1,29,
+aoaomzir,1,29,
+ao_homura,1,29,
+ao_(chung0u0),1,29,
+anna_mel,4,29,
+ankuru_(ankle_art2),1,29,
+animal_pose,0,29,
+aniao_ya,1,29,
+angelos_armas,3,29,
+anemos_(elsword),4,29,
+andrea_averill,4,29,
+andre_roland_jean_gerard,4,29,
+and_uge,4,29,ando_yuge
+analogue:_a_hate_story,3,29,
+anagura_mogura,1,29,
+anaglyph,0,29,
+amico,4,29,
+american_psycho,3,29,
+ameng_(katena1990),1,29,
+ambertwo_(pokemon),4,29,
+amatsuba_mimina,1,29,
+amatlas,1,29,
+amaterasu_(mythology),4,29,
+amartbee,1,29,
+amanoyui,1,29,
+amanogawa_subaru,4,29,
+amano_saki,4,29,
+amano_issui,1,29,
+amamiya_kanade,4,29,
+amagiku,1,29,
+amagasaki_mikoto,4,29,
+alsea,1,29,
+alphe,1,29,
+alolan_diglett,4,29,
+aligula,4,29,
+alicianrone,3,29,
+alice_vu,1,29,alicevu134
+aldharoku,1,29,
+alcohol_(coldfront),1,29,
+akutsu,1,29,
+ako_(zlzdf),1,29,
+akitsu_(davis0527dx),1,29,
+akito_(akitotika),1,29,
+akiru_(hokuouhuuhu),1,29,
+akiran_(r32),1,29,
+akira_ry0,1,29,
+akinatsu_meguru,1,29,
+akiba_nagito,1,29,
+aki_sora,3,29,
+akezu,1,29,
+akershus_fortress_(oshiro_project),4,29,
+akayama_toshifumi,1,29,
+akashi_(welcome_to_sofmap!)_(azur_lane),4,29,
+akari_(fantasista_doll),4,29,
+akapocho,1,29,
+akano_yomi,1,29,
+akanboh,1,29,
+akagi_mako,4,29,
+aka_syakkou,1,29,
+aisha_greyrat,4,29,
+air_groove_(quercus_civilis)_(umamusume),4,29,
+air_defense_cruiser_princess,4,29,air_defense_cruiser_hime
+aino_pekonen,4,29,
+aikurushii_(idolmaster),0,29,
+aie,1,29,
+aiai_(jsm),1,29,
+agrias-san_to_love_love_lesson,3,29,
+ageha,1,29,
+agatha_chris_q_outfit_(touhou),0,29,
+agas_(vpwt7475),1,29,
+afuu,4,29,
+aftergardens,1,29,
+acco_(sh_in),1,29,
+acaallodola,1,29,
+aburana_(flower_knight_girl),4,29,
+abel_nightroad,4,29,
+abe_takaya,4,29,
+aabtcndneefkg,1,29,
+a_way_out,3,29,
+???_(artist),1,29,
+5ht,1,29,
+416_day,0,29,
+3ping_lovers!,3,29,
+33dot,1,29,
+33bun3,1,29,
+299_(horisso),1,29,
+207,1,29,
+2010s_(style),0,29,
+1o_(ichio),1,29,
+132,1,29,
+111111111_(leiyao),1,29,
+10birthday10,1,29,
+0p_(spiriti),1,29,
+0byte,1,29,
+0_ebj,1,29,
+05deruta,1,29,
+.ronde,1,29,
+zxc,1,28,
+zuikaku_kai_(kancolle),4,28,
+zuikaku_(ceremonial_crane)_(azur_lane),4,28,zuikaku_(festive_crane)_(azur_lane)
+zuihou_(hechen121),1,28,
+zudarts_lee,1,28,
+zoku_hitou_meguri,3,28,
+zoe_(crownsforkings),1,28,"crownsforkings,stootato_(crownsforkings)"
+zkxandy,1,28,
+zima_(ursusio79)_(arknights),4,28,
+zim-o_(2cy520),1,28,
+zhuganchangjiadan,1,28,
+zhoujialin,1,28,
+zhandou_greymon,1,28,
+zeus_(one_piece),4,28,
+zeta_(24904340),1,28,
+zest_grangeitz,4,28,
+zer0.zer0,1,28,dr._killerwhale
+zebrina_(show_by_rock!!),4,28,
+zarisu,1,28,
+zack_(doa),4,28,
+zabu_rou,1,28,
+zabaniyya_(fashionista_suit)_(housamo),4,28,
+yuzuyu_(cookie),4,28,
+yuzuyoukan,1,28,
+yuzuriha_(pixiv_14248010),1,28,
+yuzure_mon,1,28,
+yuzun,1,28,
+yuzukicture,1,28,
+yuzuki_(chobits),4,28,
+yuzuha_(tengokugumi),1,28,
+yuzu_sato,1,28,
+yuuse_kouichi,1,28,yuuse_ko
+yuurika_(gorua),4,28,
+yuuki_subaru,4,28,
+yuuki_(moon_child),1,28,
+yuukagen_(poipoipopoino),1,28,
+yuu_kikuchi,1,28,
+yuu_(masarunomori),1,28,
+yusheng,1,28,
+yurui_tuhu,1,28,
+yurikamome8160,1,28,
+yurax-mae,1,28,
+yunamul,1,28,
+yumu_(8181018),1,28,
+yumina_enclave,4,28,
+yumesuke,1,28,
+yukotaruma,1,28,
+yukiya_0_0,1,28,
+yukitsuki_hisa,1,28,
+yukimuro,1,28,
+yukimizu,1,28,
+yukiiri,1,28,
+yuki_mashiro,1,28,
+yukadon,0,28,
+yuigaoka_music_program_school_uniform,0,28,
+yui_(nightflight),1,28,
+yuhka,1,28,
+yu_yun,1,28,
+yu_yin,1,28,
+yu_mei-ren_(spare_the_idle_talk)_(fate),4,28,
+yu_kitsune,1,28,
+yu-ga,1,28,
+yousui,1,28,
+young_genji,4,28,
+yotte,1,28,"parfait_(ryunghu),yogurt_(yott_parfait)"
+yotsura,1,28,
+yoshida_saki,4,28,
+yoruko_(lily-spring),1,28,
+yorisuke,1,28,
+yonkuron,1,28,
+yoni_(zhang),1,28,zhang492382336
+yomusugara_(uzo-muzo),1,28,deae_gratia
+yomogi_komegura,1,28,
+yomogi_(becr),1,28,
+yomiclone,1,28,
+yomena,1,28,
+yoite,4,28,
+yohane_yoshiko,1,28,
+yilocity,1,28,
+yidie,1,28,
+yeluno_meng,1,28,
+yayoi_shiro,1,28,
+yayo325,1,28,
+yatsuashi_matomo,1,28,
+yasuhito_(yasu_no_e),1,28,
+yasuda_katsunori,1,28,
+yashiro_(lockheart),4,28,
+yanase_takayuki,1,28,
+yammy_(cellblo),1,28,
+yamato_(inraitei),1,28,
+yamaoka46,1,28,
+yamaneko,1,28,
+yamamoto_enji,1,28,
+yamamoto_doujin,1,28,
+yamaki_suzu,1,28,
+yamada_vanhouten,4,28,yamada-chan_(mato_tsuyoi)
+yamada_(ishida_to_asakura),4,28,
+yakushiji_ryouko_no_kaiki_jikenbo,3,28,
+yako_mashiro,1,28,
+yakisobaosu,1,28,
+yahoo0124,1,28,
+yagura_miketa,1,28,
+yagen_toushirou_(kiwame),4,28,
+yagen_sasami,1,28,
+yadoumaru_lisa,4,28,
+yada_masumi,4,28,
+yachiyo_mei,4,28,
+y_udumi,1,28,
+xps,5,28,
+xijian,1,28,
+xianjian_lingluan,1,28,
+xhouz,1,28,
+xenogears_(mecha),4,28,
+x2,1,28,
+wyldstyle,4,28,
+wuliao555,1,28,
+wuim_(mana_khemia),4,28,
+wttwj,1,28,
+wss_(32656138),1,28,
+wrestling_boots,0,28,
+wormmon,4,28,
+womu,1,28,
+wolverine_(kemono_friends),4,28,
+wjn-rance,1,28,
+winged_lion_(dungeon_meshi),4,28,
+windy_(suikoden),4,28,
+william_knights,4,28,
+wild_girls,3,28,
+wil_(fire_emblem),4,28,
+wii_hola,1,28,wii_(pixiv139907)
+white_garter,0,28,
+welrod,0,28,
+wednesday_(starsilver),1,28,
+weapon_stand,0,28,
+water_enchantress_of_the_temple,4,28,
+water_elemental,0,28,
+watchdog_rol_(y1104280730),1,28,
+watari_shinji,1,28,"jinnojyou,quarter_view"
+watanuki_ron,1,28,
+wasp_girl,0,28,
+washu_junkyu,1,28,
+wariko,1,28,
+walking_backwards,0,28,
+wakasagihime_(cosplay),0,28,
+wada_kenichi,1,28,wadan
+w_(w64851564),1,28,
+w.r.b,1,28,
+vyzov_tv,1,28,
+vri_(tinder_box),1,28,
+voltes_v_(mecha),4,28,
+vogel_schwein,1,28,
+vizerothree,1,28,weronika_mieczkowska
+vivian_(divine_gate),4,28,
+virginia_glynnberets,4,28,
+viper_gt1,3,28,
+viole_mai,4,28,
+vinny_(promare),4,28,
+vincent_van_gogh_(style),0,28,
+village_chief_(hentai_elf_to_majime_orc),4,28,
+vertical-striped_leotard,0,28,
+venus_blood_-frontier-,3,28,
+vent_of_the_front,4,28,
+uwa_(rakko),1,28,
+utsugi_sakuko,1,28,
+utsugi_lenka,4,28,utsugi_renka
+utako,1,28,
+usui_horokeu,4,28,
+ushi-oneesan,4,28,
+usfdive,1,28,
+usano,1,28,
+usami_shiori,4,28,
+untied_swimsuit,0,28,
+unreal_night_girls,3,28,
+unknown_artist_of_2ch_sakura_kyouko_thread,1,28,
+un_do,1,28,
+ump45_(lonely_traveler_of_eternity)_(girls'_frontline),4,28,
+umetarou_(shujinko_kidori),1,28,
+ultraman_tiga,4,28,
+ultra_guardians_uniform,0,28,
+uemura_hitoe,4,28,
+uehara_doh,1,28,
+uav,0,28,
+tzecheleaf,1,28,
+tyranid,4,28,
+type_61_(gundam),4,28,
+tyourou_god,1,28,
+tsurara_(pop'n_music),4,28,
+tsukkun,1,28,
+tsukigime,1,28,
+tsukebo,1,28,
+tsuji_tomoko,1,28,
+tsubakihara_ren,4,28,
+true_damage_qiyana,4,28,
+trouble_trap_laboratory,3,28,
+tropical_camouflage,0,28,tigerstripe_(camo)
+triceps,0,28,
+train_heartnet,4,28,
+toyono435,1,28,
+tower_of_hanoi,3,28,
+touko_(tokotoko),1,28,
+toroi_(run01211),1,28,
+torn_choker,0,28,
+torikoriko_please!!,0,28,
+toriko_no_shirabe_-refrain-_chouritsu_sareru_otome-tachi_to_onna_kyoushi,3,28,
+toono_suika,1,28,
+too_(totoo),1,28,
+tonokawa,1,28,soruto_reid
+tonnura,4,28,
+tonko,1,28,
+tomino_yoshiyuki,4,28,
+tomare_(akashingou),1,28,
+tom_(remisaku),1,28,
+tokio_(okt0w0),1,28,
+tokimiya_rem,4,28,
+tokimeki_memorial_only_love,3,28,
+toki_reatle,1,28,
+toki_(rumukio),1,28,rumukio
+toha_heavy_industries,0,28,
+togashi_yumeha,4,28,
+to_love-ru_darkness_2nd,3,28,
+tm_(utfp3372),1,28,tm44720881
+tkgoishi,1,28,
+tittu,1,28,
+tissue_princess,0,28,
+tiny_stars,0,28,
+tiequan_(last_origin),4,28,
+tian_dian,4,28,
+thu,1,28,
+throat_grab,0,28,
+thomas_claire,4,28,
+thealagator,1,28,
+the_third,3,28,
+the_robots_of_dawn,3,28,
+the_regulars_(torikissa!),4,28,
+the_legend_of_zelda:_phantom_hourglass,3,28,phantom_hourglass
+the_king_of_fighters_'99,3,28,"king_of_fighters_'99,king_of_fighters_99"
+tetsu10ru,1,28,
+tetra_(log_horizon),4,28,
+teruriu,1,28,
+teo_(telo_ruka),1,28,
+tensai_bakabon,3,28,
+tenmas,0,28,
+ten_(manga),3,28,
+ten'on_(amane09),1,28,
+temakizushi_(temakizushisand),1,28,
+telstar_18,0,28,
+teina,1,28,
+teiko_(gulp5959),4,28,
+tehryu,1,28,
+teatix,1,28,
+team_mystic,0,28,
+tayashitsu,1,28,
+tatsumi,1,28,
+tatsukisan,1,28,
+tatsukichi,1,28,
+tarot_set,0,28,
+tareus_(girls'_frontline),4,28,
+taphris,1,28,
+tanupon,1,28,
+tanuki_(siutkm0228),1,28,
+tannkobuiwa,1,28,
+tanimura_kaoru,4,28,
+tangdouji_(machine),1,28,
+tangamja,1,28,
+tanaka_yuusuke,1,28,
+tanaka_keiichi,1,28,keichiisensei
+tame_(tame-97),1,28,
+tamatabe,1,28,
+tamaki_shin'ichirou,4,28,"tamaki_shinichiro,tamaki_shinichirou"
+tamago_soup,1,28,
+tales_of_the_rays,3,28,
+takumi_watanuki,1,28,
+takuan_(mo55ilst),1,28,
+taku_(yakumodaisuki),1,28,
+taki_zen'ichi,1,28,
+takeshima_satoshi,1,28,
+takekawa_shin,1,28,
+takega_satsu,4,28,
+takecopter,0,28,
+takebouzu,1,28,
+takayanagi_katsuya,1,28,
+takatou_sora,1,28,
+takasuga_tsukushi,4,28,
+takanashi_homare,4,28,
+takamiya_mana,4,28,
+takahashi_eriko,4,28,
+taimanin_asagi_zero,3,28,
+tail_or,1,28,
+taichi_suzuki,1,28,
+tagashira_shinobu,1,28,
+taekwon_(ragnarok_online),4,28,
+tachibana_kaoru_(toosaka_asagi),4,28,
+tachi_(tachibana),1,28,inuheri
+t-hou,1,28,
+t-90,0,28,
+syutyou,1,28,
+syaofoo,1,28,
+sweeter_(h110111),1,28,
+swan_white,4,28,
+swallow_zzy,1,28,
+svv_art,1,28,
+suzunoya,1,28,
+suzunooto_shirasu,1,28,
+suzuki_rui,1,28,
+suzuki_ao,1,28,
+suzuki_anzu,4,28,
+suzukaze_(lvi),4,28,
+surufuji,1,28,
+surfing_pikachu,4,28,
+super_sailor_mercury_(stars),4,28,
+sunya_(honorin-yuunibo),1,28,
+sunnypoppy,1,28,
+sunaguma,1,28,
+sumita_kazuasa,1,28,
+sumika_(smikas),1,28,
+suga_natsumi,4,28,
+succubus_(lord_of_vermilion),4,28,
+suarokin,1,28,
+stuffed_owl,0,28,
+studio_rakkyou,1,28,
+strip_hair,0,28,
+streyah,1,28,
+stretched_neck,0,28,
+street_gutter,0,28,
+storage_pot,0,28,
+stellula_eques,3,28,stellula_eques_~shokuzai_no_himekishi~
+stax,0,28,
+starky_(chrono_cross),4,28,
+starhorse_pocket,3,28,
+star_wars:_the_phantom_menace,3,28,"star_wars_episode_1,star_wars_episode_i"
+star_wars:_the_last_jedi,3,28,"star_wars_episode_8,star_wars_episode_viii"
+star_wars:_a_new_hope,3,28,
+star_trek:_the_next_generation,3,28,
+star_guardian_xayah,4,28,
+star_fox_2,3,28,
+stakataka,4,28,
+ssi,1,28,
+sriokorr,1,28,
+sprbouuz,1,28,
+spray_poka,1,28,
+spoken_emoticon,0,28,
+split_depth,0,28,"3d_lines,rei_no_sen"
+sphene_(houseki_no_kuni),4,28,
+spanking_self,0,28,
+south_dakota_(warship_girls_r),4,28,
+sourenkio,1,28,
+sou_(boxxx82),1,28,
+sosogi_(qtgejyrkhrng4jk),1,28,
+sorrowny,1,28,
+sore_wa,3,28,
+sora_hasama,1,28,
+sonoda_umi_(cosplay),0,28,
+solmoniq,1,28,
+sokabe_megumi,4,28,
+soitsu_(alb),4,28,
+softhanten,1,28,
+so_tsubasa,1,28,
+so-ichi,1,28,
+smelling_pantyhose,0,28,pantyhose_sniffing
+slope_(check238),1,28,kyaro_(carrot)
+slime_beth,4,28,
+sleepyowl_(jobkung15),1,28,
+sleep_(isliping),1,28,
+slaanesh,4,28,
+skyscraper_(artist),1,28,
+sky_focus,0,28,
+skull-shaped_pupils,0,28,
+skf,1,28,
+siyusiyu13,1,28,
+sirotuki_ito,1,28,
+sirotuka_lambda,1,28,
+single_mitten,0,28,
+since2019,1,28,
+simon_stafsnes_andersen,1,28,imson
+silvy_(hiruno),4,28,
+silvia_piquet,4,28,
+silver_wolf_(honkai:_star_rail),4,28,
+silver_chain,0,28,
+sicily_(disgaea),4,28,
+shuusaku,3,28,
+shuumatsu_ga_yattekuru!_(vocaloid),3,28,
+shuu_(sirokumasabu),1,28,
+shuiyituzi,1,28,
+shui_qian_he_kafei,1,28,
+shu_(arc_the_lad),4,28,
+showtime_illusion_(idolmaster),0,28,showtime_illusion
+shouz,1,28,
+shoumetsu_toshi,3,28,
+shoulder_patches,0,28,
+shooot108,1,28,
+shokuyou_pants,1,28,
+shizuki_sayaka,1,28,
+shiu_(pika),1,28,
+shiruhino,1,28,
+shirosaki_rio,1,28,
+shiroro,4,28,
+shironagasu_senpai,1,28,
+shirokuroya,1,28,
+shiro_(kemurikusa),4,28,
+shirisensha,1,28,
+shiratsuki_shino,4,28,
+shiratori_kuu,4,28,
+shiranui_kensetsu,0,28,
+shiraniwa_rin,1,28,
+shiozaki_ibara,4,28,vine_(boku_no_hero_academia)
+shiori_(tsuchikure),4,28,
+shion_(michiking),4,28,
+shio_(shirone),4,28,
+shinno,1,28,
+shinganji_kurenai,4,28,
+shingai_eri,4,28,
+shinazo,1,28,
+shin_ringetsu,3,28,
+shimusu,1,28,
+shimoochiai_touka,4,28,
+shimakaze_(the_white_rabbit_of_wonderland)_(azur_lane),4,28,
+shima_(6land),1,28,
+shikoke_(fizintine),4,28,
+shikishiro_konomi,1,28,
+shikikagami_sanae,4,28,
+shijou_raimu,4,28,
+shiiton_gakuen_school_uniform,0,28,
+shiina_tsubasa,4,28,
+shiimo,1,28,
+shiiba_aki,1,28,
+shigarami_kyouma,1,28,
+shidare_hotaru_(cosplay),0,28,
+shichikaku,1,28,
+shi_jun_ti,1,28,
+shi-ro,1,28,
+sherry_belmont,4,28,
+shea_haulia,4,28,
+shangri-la_(utopia's_collector)_(azur_lane),4,28,shangri-la_(the_collector's_paradise)_(azur_lane)
+shakuyouka,1,28,
+shadow_tracker_elina,4,28,
+shadow_lugia,4,28,
+shadow_ball_(pokemon),0,28,
+shade_(futagohime),4,28,
+sha,1,28,
+seven_of_hearts,0,28,
+seto_(yancha_gal),4,28,
+seoltang_(nitro_sugar),1,28,
+sensei_(shepherd0821),4,28,
+senpaihawkkun,1,28,
+senoo_arika,1,28,
+senntakuya,1,28,
+senkou_no_flash,4,28,flashy_flash
+senba_(592683801),1,28,592683801
+sekai_saikou_no_ansatsusha_isekai_kizoku_ni_tensei_suru,3,28,the_world's_finest_assassin_gets_reincarnated_in_another_world_as_an_aristocrat
+sekai_de_ichiban_tsuyoku_naritai!,3,28,
+seirei911,1,28,
+seia_(tikxxx),1,28,
+seaside_sukeban_(mg)_(blue_archive),4,28,
+seafoamboy,1,28,
+scarlett_ann,1,28,
+satsu,1,28,
+satomi_(n-s_freedom),1,28,
+satomatoma,1,28,
+satelyte,1,28,
+satan_jacob,4,28,
+sasashigure_miyo,4,28,
+sasarekoube,1,28,
+sasamori_ryouta,4,28,
+sasamaru_(sasamaru),1,28,
+sasahara_souhei,4,28,
+sasahara_(shou_goi),1,28,shou_goi
+sara_(uunyan),1,28,
+saphirya,1,28,
+sanso_(kasyawamoti),1,28,
+sano_keiko,4,28,
+sanae_(jomill04),1,28,
+sanada_ririna,4,28,
+samurai_(elden_ring),4,28,
+samanta,1,28,
+saltypoundcake,1,28,
+sakyuu_futoshi,1,28,
+sakurazuki_yura,4,28,
+sakuraki_riichi,1,28,
+sakurai_kouichi,4,28,
+sakurai027,1,28,
+sakurada_hikari,4,28,
+sakura_cha,1,28,
+sakuma_mashiro,4,28,
+sako_(oyatutabero),1,28,
+sakichi,1,28,
+sakecho,1,28,
+sailor_iron_mouse,4,28,
+saiko_heart_(love_live!),0,28,
+saijou_hinako,4,28,
+saiga-12_(crimson_navigator)_(girls'_frontline),4,28,
+sageo_yn,1,28,
+safe3133,1,28,
+sachou,1,28,
+sachirika,1,28,
+saburouta,1,28,
+saburou_03,1,28,
+s2riridoll,1,28,
+ryuuta_(akatukiryoka),1,28,
+ryuudouji_shimon_no_inbou,3,28,
+ryuuama,1,28,
+ryou_(effort),1,28,
+ryokosan,1,28,
+ryannari,1,28,
+russia_(dangan_neko),4,28,
+rure,1,28,
+rumi_morimiya,4,28,
+rum,0,28,
+rugal_bernstein_(cosplay),0,28,
+rubbish_selecting_squad,1,28,
+rp_(necho),1,28,
+rover_(animal_crossing),4,28,
+roulette_roulette,0,28,omae_wa_mou_(dance)
+rossa_(pixiv27548922),1,28,
+roruri,1,28,
+ropi_(yyuichi29),1,28,
+rooster_tail,0,28,
+ronen,1,28,
+rommeling,1,28,
+rollermet,1,28,
+rokuichi_(bluelamp61),1,28,
+rodin,4,28,
+rococomm123,1,28,
+roco617,1,28,
+rocket_engine,0,28,
+robosuke,1,28,
+robert_de_jesus,1,28,
+rnknmrm,1,28,
+rj_(lingshih10),1,28,rj
+rizel,4,28,
+riza_dxun,1,28,
+riyu_(gauzama),1,28,
+ritos_tortilla,4,28,
+rita_mordio_(exchange_student),4,28,
+ririfa,1,28,
+riri,4,28,
+riretsuto,1,28,
+rinbukyoku,1,28,
+rikkukku,1,28,
+rika_(kakera),1,28,
+riiya_(akazukin_chacha),4,28,
+riffey,1,28,
+rick_hunter,4,28,
+rick_astley,4,28,
+richmond_(azur_lane),4,28,
+reyson_(fire_emblem),4,28,
+retar,4,28,
+rengoku_ruka,4,28,
+ren_mizuha,1,28,
+remiss_(trouble_spirit),4,28,
+remimiku,1,28,
+relations_sisterxsister,3,28,
+rei_(persona_q),4,28,
+regis_(world_flipper),4,28,
+reg_(artist),1,28,
+red_leggings,0,28,
+realdragon,1,28,
+rdc7229,1,28,
+ray_of_grace,0,28,
+rare_(user_vxhu8375),1,28,
+rance_vi,3,28,
+rance_01,3,28,
+ranamon,4,28,
+rakko-nabe,0,28,
+rain_yoo,1,28,
+raiden_(metal_gear)_(cosplay),0,28,
+raideen_(mecha),4,28,
+raide,1,28,
+rafale_revive_custom_ii,4,28,
+radiohead_(radio_paranoia),1,28,
+rachel_(seisou_fude_no_tabibito),4,28,
+r3d,1,28,
+quartz_(gemstone),0,28,
+quarter_1404,1,28,shatte
+qqmng,1,28,torutsu
+qb,1,28,
+pyytato,1,28,
+pyonsan,1,28,
+pydiyudie,1,28,
+purple_armband,0,28,
+protagonist_(tokimemo_gs4),4,28,
+prnt,1,28,
+print_cup,0,28,
+print_bandaid,0,28,
+princess_aurora,4,28,
+primitive_link,3,28,
+pp-91_kedr,0,28,
+pp-19-01,0,28,
+poyamu,1,28,
+porontyo_07,1,28,
+pokasu,1,28,
+pokashi,1,28,
+pocky1202,1,28,
+playstation_move,0,28,
+plant_wings,0,28,
+plant_sex,0,28,
+plain_girl_(kamisimo_90),4,28,plain_girl_(yuya)
+piyon_(hunter_x_hunter),4,28,
+pisaro,4,28,
+pipi20211026,1,28,
+pipette,0,28,
+pinky,4,28,
+ping-yi,4,28,
+pikunoma,1,28,
+pierro_(genshin_impact),4,28,
+pieces_/_yurikago_no_canaria,3,28,
+phorni_(symphonic_rain),4,28,
+philippine_flag,0,28,
+philia_(sao-alo),4,28,
+phantom_blade_(game),3,28,
+phantom,4,28,
+phantasy_star_iv,3,28,
+petra_(granblue_fantasy),4,28,
+petopetosan,3,28,
+peter_pan_(adtc7243),1,28,
+peter_huu_nguyen,1,28,
+perrine_h._clostermann_(cosplay),0,28,
+perapera,1,28,
+peppa_pig_(series),3,28,
+pepo_(absolute1123),1,28,
+pepelogoo,4,28,
+peach_print,0,28,
+paw_cutout,0,28,
+paul_phoenix,4,28,
+patchoung_(aoshima),4,28,
+party_time_gold_(idolmaster),0,28,party_time_gold
+parrying,0,28,
+paraholix,1,28,
+paper_towel,0,28,
+paper_roll,0,28,
+papas,4,28,
+panzerschreck,0,28,
+pantarou,1,28,
+pandora_smith,4,28,
+pandemic14,1,28,
+pandakorya,1,28,
+paku,1,28,
+pakky_(bachera),4,28,
+pajamei,4,28,
+painting_woman,4,28,
+p_ion,1,28,
+ozawa,1,28,
+oyuzaki_(ayuzaki),1,28,
+ouija,0,28,
+otoma_may,1,28,
+otokonoko_heaven,3,28,
+os_(kazos),1,28,e123e123ro
+orino_yushi,1,28,
+orimoto_asami,1,28,
+orietta_chrono_istarica_ginasteele,4,28,
+orange_robe,0,28,
+open_wetsuit,0,28,
+open_in_internet_explorer,5,28,
+ootori_kyouya,4,28,ootori_kyoya
+ootori_akio,4,28,ohtori_akio
+oomune_binta,1,28,
+onyxia,4,28,
+onoderasan,1,28,hoyhoyhoy
+only_sense_online,3,28,
+onion_pikupiku,1,28,
+onigami_mutsumi,4,28,
+onemu,1,28,
+oneko,1,28,
+one_smoke,1,28,19956802168
+on_cloud,0,28,
+omochi_kuenai,1,28,
+omix,1,28,
+omega_strikers,3,28,
+omega_labyrinth,3,28,
+omae_no_pantsu_wa_nani_iro_da!?,3,28,
+okota1869,1,28,
+okome_rice,1,28,
+okita_juuzou,4,28,abraham_avatar
+oki_kiki,4,28,
+okayu_(deleted),1,28,
+okasira_(superkurounmo),1,28,uotoukoku
+okamochi_(container),0,28,
+okamired,1,28,
+ojisan_f,1,28,
+ointment,0,28,
+oharu_(mushibugyou),4,28,
+ogashira_hiromi,4,28,
+ogamiya_jin,1,28,
+odessa_silverberg,4,28,
+octavia,4,28,
+obyaa,1,28,
+obakeart,1,28,
+o-djiko,1,28,
+nzwt,1,28,
+nyungsep,1,28,
+nymph,0,28,
+nyantamaran,1,28,
+nyanko_days,3,28,
+nyaasora,1,28,
+nva222,1,28,
+nurumaru_yu,1,28,
+nuri_kazuya,1,28,
+nuresuke_paradise_x,3,28,
+nun_(mdf_an),4,28,
+nuebunny,1,28,
+nudiedoodles,1,28,
+nsio,1,28,
+novelty,0,28,
+noshiro_(xanadu's_eventide)_(azur_lane),4,28,noshiro_(the_gala's_sanctuary)_(azur_lane)
+noriko_(ni_noriko),1,28,
+nori_(arara105),1,28,
+nopo_(patter),1,28,
+noora_to_toki_no_koubou,3,28,
+nooko,1,28,
+nonosaki_akiho,4,28,
+nonamejd,1,28,nonamejd_(user44086716)
+nokonoko,1,28,user_jkkd3438
+nokogiriotoko,1,28,
+noitama,1,28,
+noir_eku,1,28,
+noin_(shinrabanshou),4,28,
+nogchaminteu,1,28,
+nodj,1,28,
+nocunoct,1,28,
+noah_noah,1,28,
+nkraae,1,28,
+nisson,1,28,
+nishimori_misa,4,28,
+nishikikope,1,28,
+nishijou_takumi,4,28,
+ninton,1,28,
+nine_(fft-0),4,28,
+nil-eve,4,28,
+nikawa_99-do,1,28,erukin_masa
+niji_sugi,1,28,
+niigaki_hina,4,28,
+nickleflick,1,28,
+nicholas_(granblue_fantasy),4,28,shirou_(granblue_fantasy)
+niche_(tegami_bachi),4,28,
+niboss,1,28,
+nibelart,1,28,
+ni_no_sakura_kouchou_(module),0,28,
+nfr,1,28,
+neri_gozu,1,28,
+nereid_(last_origin),4,28,ag-1_nereid
+nelke_von_luchetam,4,28,
+nekurokonomi,1,28,
+nekoro,1,28,
+nekodama2000,1,28,
+neko_punch_(user_hddm3373),1,28,
+nekito,1,28,
+negishi_hideto,1,28,
+neena_hagen,4,28,
+neemui,1,28,
+necrozma_(normal),4,28,
+nazono_mito,4,28,
+nayuzu,1,28,
+nayuzaki_natsumi,1,28,
+nayaase_beleguii,1,28,
+nawakena,1,28,
+natsuno_(natsunosho),1,28,
+natsume_kako,4,28,
+natsume3304,1,28,
+natsuhina,1,28,
+nashida_oriha,4,28,
+naruko_shoukichi,4,28,
+narukami_yuu_(cosplay),0,28,
+naruho,1,28,
+naratani,1,28,
+naraku,3,28,
+napolitan,0,28,
+naomasa_(horizon),4,28,nao_masa
+nao_suke,1,28,
+nano_(cherry_line),1,28,
+nannyou_dojin,1,28,
+nanao_(nanao1023),1,28,
+nanananona,1,28,
+nanamiya,1,28,
+nanamira_bi,1,28,
+nanami_(fuku),1,28,
+nana_muted_xilofon,4,28,
+nana-shi_hostler,1,28,
+namu_(112namu),1,28,
+namiko817,1,28,
+nameplate,0,28,
+nako_(nekono_shippo75),1,28,
+nakatsuru_katsuyoshi,1,28,
+nakano_azusa_(cosplay),0,28,
+nakada_eiji,1,28,
+nai_(erumaria),1,28,
+nagase_miyako,4,28,
+naco_(manacool),1,28,
+nabeniuitagomi,1,28,
+na_sera,4,28,
+myon2,1,28,
+my_chemical_romance,3,28,
+mutsuki_masato,1,28,
+mutenka_(plfgb),1,28,plfgb
+murakami_murako,1,28,
+muraji,1,28,
+muneate_removed,0,28,
+mumere_(9_xa9),1,28,831_(.)
+muireko,1,28,
+mugityax,1,28,
+mugi_(user_khzh5853),1,28,
+mudbray,4,28,
+mtmt_mtmt,1,28,
+mozu-k,1,28,
+motto!_haramase!_honoo_no_oppai_chou_ero_appli_gakuen!,3,28,
+mottirimuttiri,1,28,
+motti_(motthi0711),1,28,
+mosu2,1,28,
+mosquito_coils,1,28,
+mos_(mostfunny),1,28,
+morita_yukari,4,28,
+mori_kaoru,1,28,
+morgrem,4,28,
+moonku,1,28,
+monster_monster,3,28,
+monoma_neito,4,28,phantom_thief_(boku_no_hero_academia)
+monika_ellmenreich,4,28,
+monica_grace,4,28,
+money_bath,0,28,
+mondragon_rifle,0,28,
+momonosuke_(one_piece),4,28,
+momohime_(dancing_blade),4,28,
+molly_(skullgirls),4,28,
+mokei,1,28,
+mojya,1,28,
+mojaranmo,1,28,
+mohato_official,1,28,
+mofuruo,1,28,
+moemoepiano,1,28,
+mochizuki_usagi,1,28,
+mochizuki_hull,1,28,
+mochitsuki_usa,1,28,
+mochida_yuka,4,28,
+mobile_legends:_bang_bang,3,28,
+mo_yu_de_jiaozi,1,28,
+mo_(mokatampe),1,28,
+mmorpg,0,28,
+mmmgnsn,1,28,
+mkt_(pixiv15187870),1,28,
+mk23_(new_term_begins_with_a_meow)_(girls'_frontline),4,28,
+mizunashi_tomo,1,28,
+mizuabi_kamome,1,28,
+miyoshino_shiki,4,28,
+miyano_tomochika,1,28,
+miyamoto_sakura_ga_kawaii_dake_no_shousetsu,3,28,
+miyamoto_sakura,4,28,
+miyamoto_musashi_(vagabond),4,28,
+miyamori_raira,1,28,
+miyama09215,1,28,
+miwa_shuuji,4,28,
+miwa_satori,4,28,
+miura_tadahiro,1,28,
+miura_kazuko,4,28,
+miura_daisenpai,4,28,
+miu_(dumbxaela),4,28,
+mittsu,1,28,
+mitsurugi_asuka,4,28,
+miss_safety,4,28,
+mishima_lisa,4,28,
+misaki_mizuki,4,28,
+miruro_(futagohime),4,28,
+mirk,1,28,
+mirei-yume,1,28,
+mirage_precure,0,28,
+miomix,1,28,
+mint_(summon_night),4,28,
+mint_(mintlemonade3),1,28,
+minori_(m-noir),1,28,
+mine_thrower_(ore_no_bakudan),1,28,
+minazumi_kasane,4,28,
+minazuki_izumi,4,28,
+minazuki_aqua,1,28,
+minatsuki_(sitsu),1,28,
+minase_sakurako,4,28,
+minase_kuuru,1,28,
+minamino_karen,4,28,
+minami-kamakura_koukou_joshi_jitensha-bu,3,28,minami_kamakura_high_school_girls_cycling_club
+mimoe,1,28,
+milk-san,4,28,
+milda_(grandia),4,28,
+mila_alexander,4,28,
+mika_uni,1,28,
+mika_(moc828),1,28,
+mijinko_(barabadge),1,28,
+mihama_hitsuji,4,28,
+migumi,1,28,
+migita,1,28,
+midori_no_umi,3,28,
+midori_(greenwood),4,28,
+midori555,1,28,
+michishio_(azur_lane),4,28,
+michiko_(identity_v),4,28,
+miaohik,1,28,
+mi_398,1,28,
+metaru_maccha,1,28,
+meta_gun,1,28,
+meso_(gjmeso),1,28,
+meryl_santos,1,28,
+mercedes_marten,4,28,
+melty_(shining_hearts),4,28,
+melon-chan_(cosplay),0,28,
+melay_(khrssc),1,28,
+megumi_cv,1,28,
+megumi_222,1,28,hekicho
+megumi-square,1,28,
+megaton_musashi,3,28,
+mc-4,1,28,
+mc,1,28,
+mayano_top_gun_(formation:_party)_(umamusume),4,28,
+mausratten,1,28,
+maud0239,1,28,
+matsumotoasumu,1,28,
+matsumoto_katsuya,1,28,hikkin_(pixiv)
+matsuko_(kazu-koto),4,28,
+matsukan_(dug_pile),1,28,
+matoma,4,28,
+mate_rin,4,28,
+matatabi_nia,1,28,
+matatabi_kikuno,1,28,
+mata,1,28,
+masurao_bc,1,28,
+massugu_go,0,28,
+mashilemo,1,28,
+masatome,1,28,
+masami-san_(regdic),4,28,shoubi-san
+marvelousaql_(neptune_series),4,28,
+maruno,1,28,
+maruboku,1,28,
+markus_(gyee),4,28,
+mark_sein,4,28,
+marjoly,4,28,
+marionette_(ragnarok_online),4,28,
+mario_wibisono,1,28,
+marii_pily,1,28,
+mariel_(wild_arms),4,28,
+marie_mushroom,1,28,
+marie_(onegai_teacher),4,28,
+maria_torres,4,28,
+mari_(rodoney-kiara),1,28,
+mare6ns,1,28,
+mare's_leg,0,28,
+march_(trusty_bell),4,28,
+marcel_galliard,4,28,
+maquia_(sayoasa),4,28,
+map_(map_imas),1,28,
+maomaozi,1,28,
+manto_(inazuma_eleven),4,28,
+manticore_(girls'_frontline),4,28,
+mannish_boy,4,28,
+manji_(nanakirio),1,28,
+mani_of_machine,4,28,
+manatsu_daichi,4,28,
+mamt56,1,28,
+mamoi,1,28,
+mami_(hidamari_sketch),4,28,
+mali,1,28,
+makoto_(blue_archive),4,28,
+makokb,1,28,
+makkuro_rokusuke,1,28,
+makino,1,28,
+makimura_minami,4,28,
+make_maketan,1,28,
+makai_tenshi_djibril_3,3,28,makai_tenshi_jibril_3
+majesty_(dungeon_and_fighter),4,28,
+maintenance,0,28,
+mai_jin,1,28,
+mai_(maittingu),1,28,
+mahou_tsukai_no_hako,3,28,
+mahou_shoujo_western_girls,3,28,
+mahou_shoujo_tai_arusu,3,28,
+magpul_fmg-9,0,28,
+mages.,4,28,
+mageres,0,28,
+mafuyun,1,28,
+mafuri,1,28,
+mafti_nabiyu_erin,4,28,
+mafia_(holostars),0,28,
+made_in_heaven_(stand),4,28,
+macne_coco,4,28,
+machida_ayaka,4,28,
+machi_(machi333),1,28,
+macchou_(tsubonekoya),1,28,
+mabera,1,28,
+maare_(moyori),4,28,
+maaranto,1,28,
+ma2_ereki,1,28,
+m-hit,1,28,
+m-18,1,28,
+lyiet,1,28,
+luxurious_sea-lord,0,28,
+luvriel,4,28,
+lure_ball,0,28,
+lunar_eclipse,0,28,
+luigi64,1,28,
+lucille_ernella,4,28,
+lucifer_(monster_strike),4,28,
+lua_klein,4,28,
+lovelyme,1,28,
+love_marginal,0,28,
+loose_skirt,0,28,
+lolo_(vtuber),4,28,
+lolitaii,1,28,
+lolinnez.,1,28,
+logicon,1,28,
+locked,0,28,
+localized_gravity,0,28,
+llama8,1,28,
+little_twin_stars,3,28,
+littiecy,1,28,
+lin_lin_(one-punch_man),4,28,
+lilya_kyomi_(fiwivt),4,28,
+lilith_bristol,4,28,
+lieze_aria,4,28,
+liedein,1,28,
+libra_(fire_emblem),4,28,riviera_(fire_emblem)
+liang_chan_xing_make_tu,1,28,
+li_luo,1,28,
+leung_lik_hang,1,28,
+leonidas_sun,1,28,
+lennys,1,28,
+lemonade_kokoi,1,28,
+leilah_(ragnarok_online),4,28,
+leele,4,28,
+leather_chair,0,28,
+layna_scentriver,4,28,
+last_man_battalion,4,28,
+large_head_wings,0,28,
+large_forehead,0,28,
+large_cross,0,28,
+lancer_servant,4,28,
+lady_and_the_tramp,3,28,
+lace_bikini,0,28,
+l!sten,1,28,
+kz_(kazuma-rising),1,28,
+kyu_sugardust,4,28,
+kyoudaidon_(sex),0,28,
+kyoku_hakaimado,1,28,
+kyle_marlon,4,28,
+kyko,4,28,
+kyarage_(soda),1,28,
+kuuron_(moesann17),1,28,
+kusuriuri_(dark),0,28,
+kusunoki_tomoe,4,28,
+kururu_(koisi122),1,28,
+kurukuruchocolate,1,28,
+kuropani_cos,1,28,
+kurokimono001,1,28,
+kuroki_francisca_yuria,4,28,
+kuroi_ginko,4,28,
+kurogane_shizuku,4,28,
+kurogane_naoto_(churushiko),1,28,kurotetsu_naohito
+kuroeart,1,28,
+kurita_(kuritanatsu),1,28,
+kurisu_takumi,1,28,
+kurioshi_fio,4,28,
+kurashiki_nanka,1,28,
+kurashiki_(kas0),1,28,
+kumanoi_(nichols),1,28,
+kumagai_chisato,4,28,
+kukuri_(ahagon),1,28,
+kujou_miu,4,28,
+kujou_fumi,4,28,
+kuiqiu_kq,1,28,yotsubaaoi
+kuchifusa_yogiri,4,28,
+krtmtm,1,28,
+kris_(fire_emblem)_(male),4,28,
+kozsen_810290,1,28,
+kozakura_(urasekai_picnic),4,28,
+koyomi_(masayo),4,28,
+koutetunamekuji,1,28,
+kousaka_daisuke,4,28,
+kourou_(kouroukun),1,28,
+kouga_(hipporit),1,28,
+koube_masahiko,1,28,
+kotuzui_yositune,1,28,
+kotori_(gokigen_iori),1,28,
+kotomine_kirei_(sensha_otoko),4,28,
+kotomickey,1,28,
+koss,0,28,
+korigitsune,1,28,
+korg_triton,0,28,
+koougi,1,28,
+kooten_bergh_no_youhei,1,28,
+koopa_fortuna,4,28,
+konosaka_kirino,4,28,
+konohana_suzuka,4,28,
+konoe,4,28,
+konishi_naoki,4,28,
+kongou_(warship_girls_r),4,28,
+komupi,1,28,
+komoreg,1,28,
+komora_(huran0729),1,28,
+kokodayo,0,28,
+koi_(nisikicoi),1,28,
+kohinata_(sdu0628),1,28,
+koebushi_(mat),1,28,
+kochou_shinobu_(cosplay),0,28,
+kobiyuun,1,28,
+ko-yan,1,28,
+knsei,1,28,
+knot_gag,0,28,"knot_gagged,knotgag"
+knbd,1,28,
+knb_(nicoseiga53198051),1,28,
+kmkr,1,28,
+klang,4,28,
+kiui,1,28,
+kitty_cat_katarina,4,28,
+kitakaze_higashikaze,1,28,
+kitagawa_onitarou,1,28,
+kitagawa_mikio,1,28,
+kishou_seireiki,3,28,the_report_of_nature_spirits
+kisaragi_eiji,4,28,
+kiritachi,1,28,
+kirishima_hijiri,4,28,
+kirishiki_sunako,4,28,
+kirigiri_kyouko_(cosplay),0,28,
+kiri_(0218htt),1,28,0218htt
+kirby_air_ride,3,28,
+kio_sayuki,1,28,
+kintarou,4,28,
+kinos_(kw00789),1,28,kw00789
+kinokino,1,28,
+kinohe,1,28,
+kings_canyon,0,28,
+kingin_shishou,1,28,
+kingbawoon,1,28,
+king_clawthorne,4,28,king_(the_owl_house)
+killer_whale_(kemono_friends)_(stylecase),4,28,
+kikuri_yuki,4,28,
+kikuchi_moa,4,28,
+kihou_kanshouzai,1,28,
+kiduki_kaya,1,28,
+kicham,1,28,
+kibstar,1,28,
+kibagami_genjuro,4,28,
+ki-84_hayate,0,28,
+khrnnfz,1,28,
+kgctcg,1,28,
+kezu,1,28,
+key_trash,1,28,
+ketsui_no_hikari,0,28,
+ketchup_ninja,3,28,
+kekel,1,28,
+keke_(kotowari),1,28,
+keito4f,1,28,
+keigen_hichou,1,28,
+keifuku_(tatsuki),4,28,
+kazu_(k_no_kobeya),1,28,
+kay_(girls_und_panzer)_(cosplay),0,28,
+kawashima_yaruki,4,28,
+kawasemi_(pocorit),1,28,
+kawamoto_satsuki,4,28,
+kawa_takatoshi,1,28,
+katyusha's_mother_(girls_und_panzer),4,28,
+katsuragi_takuto,4,28,
+katagiri_mai,4,28,
+kasumi_(magical_girl)_(princess_connect!),4,28,
+kasugazaki_yukino,4,28,
+kasshoku-chan_(katuo1129),4,28,
+kassan_(kassan_5a),1,28,
+karinka,4,28,
+karin_(princess_connect!),4,28,
+karate_shoukoushi_kohinata_minoru,3,28,
+kaosu_(silverworld),1,28,
+kanon_(sennen_sensou_aigis),4,28,
+kanobitch,3,28,
+kannagi_yuuma,4,28,
+kanitama,1,28,
+kani_(kkk_kani),1,28,oso_5425
+kaneda_tamago,1,28,
+kanata_mako,1,28,
+kanae_arisu,1,28,
+kanadome_miyako,4,28,
+kamiya_ueshi,1,28,
+kamina_koharu,1,28,
+kamen_rider_gatack,4,28,
+kamen_rider_chaser,4,28,
+kamen_rider_beast,4,28,
+kamen_rider_amazon_omega,4,28,
+kalun_(fwme3378),1,28,
+kaku_(walletbreaker),1,28,walletbreaker
+kaka_(kirby126),1,28,
+kaitou_sentai_lupinranger_vs._keisatsu_sentai_patranger,3,28,
+kaisoku_hirosuko,1,28,
+kaiki_(osuppai),1,28,
+kaicchi,1,28,
+kai_(dorohedoro),4,28,
+kai-o,1,28,
+kaguyano,3,28,
+kagi_(dicedkey),1,28,
+kage_no_utage,1,28,
+kagami_shiori,4,28,
+kadokura_(golden_kamuy),4,28,
+kachi_(kachi5100),1,28,
+kac-pdw,0,28,
+k31_(girls'_frontline),4,28,
+k.sho,1,28,
+k.k.,4,28,
+k-me,1,28,
+juvecross,1,28,
+junkos,1,28,junna
+junko_day,0,28,
+juffles,1,28,
+judith_(barely-there_black_bikini)_(tales),4,28,
+juder,1,28,
+jubilee,4,28,
+js05_(girls'_frontline),4,28,
+jouyama_yui,1,28,
+jonathan_kent,4,28,
+john_r,1,28,
+joe_(megalo_box),4,28,
+joe_(crusher_joe),4,28,
+jjuha6,1,28,
+jiyasu,1,28,
+jimiko_(yamasuta),4,28,
+jiguang_zhi_aoluola,1,28,
+jigsaw_(character),4,28,
+jigoku-san,4,28,
+jiang_xin,1,28,
+ji_ruxue_(hua_jianghu),4,28,
+jewel_(suikoden),4,28,
+jessica_(clivia)_(arknights),4,28,
+jenie,1,28,
+jeje_(pixiv12541114),1,28,
+jeanne_francaix,4,28,
+jeanne_d'arc_alter_(swimsuit_berserker)_(fate)_(cosplay),0,28,
+janus_zeal,4,28,
+jamesmikopi,1,28,
+jacquelin_de_leon,1,28,
+jack_(jacknoeaka),1,28,
+jabulani,0,28,
+iyumekai,1,28,
+ixion_saga_dt,3,28,
+iwakiyamayukisatoshironanogojuurokushi_akira,4,28,
+iwa_(iwa000ima),1,28,
+ivolay,1,28,
+ivlis,4,28,
+itsuku,1,28,
+itou_yoshiaki,1,28,
+itoda_(spica),1,28,
+itakurakou1993,1,28,
+itai,4,28,
+itaba_yumi,4,28,
+isshii13,1,28,
+israeli_flag,0,28,
+isoroku_(gojuuroku),1,28,
+isobe,1,28,
+ishikawa_yui,4,28,
+ishikawa_purin,4,28,
+"isekai_izakaya_""nobu""",3,28,
+irokawa_ruki,4,28,
+iroiro,1,28,
+iroha_(ff11),4,28,
+iroai_midodo,1,28,
+iris_(neco),4,28,
+ippo_tsuko002,1,28,
+ipeulo,1,28,
+ioruko,1,28,
+iori_4kagetsu,1,28,1600cat
+iop,4,28,
+invidiata,1,28,
+inuhiko,1,28,
+inu_(mezonsidepark),1,28,
+instruction_manual,0,28,
+inplick,1,28,
+inosia,1,28,
+indiana_jones_(series),3,28,
+inasaba,1,28,
+inaba_masao,4,28,
+imuzi,1,28,
+impforhire,1,28,grimsby
+impasto,0,28,
+imijikumo36,1,28,
+imari,1,28,
+imai_takahiro,1,28,
+ilia_silvestri,4,28,
+ikuya@,1,28,
+ikusabe_lu,1,28,
+ikki_(amnesia),4,28,
+ikishima_midari,4,28,
+ikari_warriors,3,28,
+iii_(yu-gi-oh!),4,28,
+iduhara,1,28,
+idol_wars_z,3,28,
+ico_(engawa_roman),1,28,
+ichika_(quaternionxxx),1,28,
+i-tsd,1,28,
+hyugakomati,1,28,
+hyafumi,1,28,
+hutaba_haru,1,28,
+hussar,0,28,
+husky_(artist),1,28,
+hume_(artist),1,28,
+huge_0330,1,28,
+hsxxx,1,28,goonsso11
+hozuka_(kadokawa),1,28,
+houmornin,1,28,
+hoshino_reiji,1,28,
+hoshino_asuka,4,28,
+hoshino_aki,4,28,
+hoshino_(illyasviel),1,28,
+horumu_(norubahu),1,28,
+horocca,1,28,
+hongchajun,1,28,
+hong_xiu_ying,4,28,
+honeyworks,3,28,
+honduran_white_bat_(kemono_friends),4,28,
+honda_(obon),1,28,
+homura_chika,4,28,
+homocacti,1,28,
+hokuto_no_ken_shinpan_no_sousousei_kengou_retsuden,3,28,hokuto_no_ken_shinpan_no_sousousei_kengo_retsuden
+hogehoge0710,1,28,
+hn_(honyori_ta),1,28,
+hiyori_(higanahannnti),1,28,
+hiura_r,1,28,
+hitoiki,1,28,
+hisuian_voltorb,4,28,
+hisagi_shuuhei,4,28,
+hisaba_iori,1,28,
+hirono_(hxze4434),1,28,
+hiraoka_koushi,1,28,
+hirai_hisashi,1,28,
+hio_(hiohio0306),1,28,
+hino_kuu,1,28,
+hinduism,0,28,
+hina_(akchu),4,28,
+himukai_rin,4,28,
+himegami_shino,1,28,shino_himegami
+himasen,1,28,
+himaro,1,28,himar0xx
+hima_(nichikan),1,28,
+hijiri_rue,1,28,
+highway_star_(stand),4,28,
+higemorigen,1,28,
+higashikata_jobin,4,28,
+hiera12,1,28,
+hiei_(moonlit_cruise)_(azur_lane),4,28,hiei_(pilgrimage_of_moonlight)_(azur_lane)
+hiei_(kancolle)_(cosplay),0,28,
+hibino_mina,4,28,
+hibachi_(dodonpachi),4,28,
+hey_(bluebell),1,28,
+hero_shot_(splatoon_2),0,28,
+hero_cantare,3,28,
+heppokokun,1,28,
+henjo_~hen_na_joshi_kousei_amaguri_senko~,3,28,
+helmet_(trailblazer003),1,28,
+hello_hello_world!,3,28,
+hekonda_kan,1,28,
+heiyuen,1,28,
+heifetz,1,28,
+hei_kuang_jun,1,28,
+hedge_trimmer,0,28,
+hecktop,1,28,
+hearts_of_iron,3,28,
+hdoom,3,28,
+hazuna_rio,4,28,
+hayapi,1,28,
+hayami_rinka,4,28,
+hayami_aki,4,28,
+hatsuru_826,1,28,
+hashimoto_(yanagi-momo),1,28,
+hashiba_natsumi_(animare),4,28,
+hasegawa_(hase_popopo),1,28,hase_popopo
+hasamimushi,1,28,
+haruto_(nyannzou789),1,28,nyannzou789
+haruno_(macoro),1,28,
+harunatsu_akifumi,1,28,
+haruhana_aya,1,28,
+harudori_tsugumi,4,28,
+harstfazn,1,28,
+haribote_elegy,4,28,
+harami,1,28,
+hao_(udon),1,28,
+hanson_(nadia),4,28,
+hansel_(grimm),4,28,
+hanr10,1,28,
+hanekawa_tsubasa_(cosplay),0,28,
+hand_truck,0,28,
+hand_on_ankle,0,28,
+hanamakura,3,28,
+hamster_tail,0,28,
+hamiko_(hakogardenmiko),1,28,
+halfmoe,1,28,
+hakoiri_musume_~muku_na_shoujo_wa_shiroku_somaru~,3,28,
+hakisou,1,28,
+hair_bun_maid_(mdf_an),4,28,
+hair_behind_eyewear,0,28,
+haikuro,1,28,
+haibara_you,4,28,
+hagino_chiyoko,1,28,
+haegiwa_gonbee,1,28,
+hachijou_tooya,4,28,hachijo_toya
+h28,1,28,
+gyokudama_(niku),1,28,
+guu_(hakahonoo),1,28,
+gusuku_luna,4,28,
+gust-san,1,28,
+guozimiao,1,28,
+gundam_wing_dual_story:_g-unit,3,28,
+gun_decal,0,28,
+guiyu_(nocaudal),1,28,
+guilty_princess,3,28,
+gucce222,1,28,
+guardian_cross,3,28,
+guan_tang_baozi,1,28,
+ground_pound,0,28,
+greyy_(arknights),4,28,
+grey_(mega_man),4,28,grey_(rockman)
+greenwood,1,28,
+green_green,3,28,
+greater_dog,4,28,
+great_teacher_onizuka,3,28,
+great_kichi,1,28,
+great_grail,0,28,
+grateful_shell_collector,4,28,
+grani_(miraculous_moment)_(arknights),4,28,
+goushu,1,28,
+gore_screaming_show,3,28,
+good_twins_day,0,28,
+golion_(mecha),4,28,
+golden_gate_bridge,0,28,
+godrick_the_grafted,4,28,
+god_hunter,1,28,
+goatwillow,1,28,ming_xing
+go_to_kozukuri,3,28,
+glass_floor,0,28,
+gladiolus,0,28,
+gisuka_yan,1,28,
+gisarme,1,28,
+ginyasama,1,28,
+gimme2000,1,28,
+gillian_(va-11_hall-a),4,28,
+giko,4,28,
+gigginox_(armor),4,28,
+gigantamax_alcremie,4,28,
+ghangaji,1,28,
+gevjon,1,28,
+get_down_(meme),0,28,
+gerumaga,1,28,
+gerik_(fire_emblem),4,28,
+gensei_ruri,1,28,
+gemini_(vocaloid),3,28,
+gelgoog_s_char_custom,4,28,
+gel_(guyver123),1,28,
+gattame,1,28,
+gashadokuro,0,28,
+garmr_(housamo),4,28,
+galactic_nova,4,28,
+gaius_(shadow_of_the_colossus),4,28,
+gaien_(jin_morisono),1,28,
+gagumber,4,28,
+gado-boa,1,28,
+gabriel_pavani,1,28,
+gaa_(butsugen),1,28,
+g7_scout,0,28,
+fysc,1,28,
+fuyuhi_tsukika,1,28,
+fuxiyu,1,28,
+fuwasn1545,1,28,
+fuuka_(toy_jump),1,28,
+fuufu_ijou_koibito_miman.,3,28,"fuukoi,more_than_a_married_couple_but_not_lovers"
+fuu_(koneko_no_yomeiri),1,28,
+future_knight,4,28,
+futami_(mg42fw190d),1,28,
+futaba_no_taiko,1,28,
+futaba_lili_ramses,4,28,
+fusou_(meta)_(azur_lane),4,28,
+fury_(movie),3,28,
+furihata_ai,4,28,
+furball,0,28,
+fuoore_(fore0042),1,28,
+fundoshi_day,0,28,
+fumuna,1,28,
+fumatake,1,28,
+fukai_ao,4,28,
+fujiwara_kaoruko,4,28,
+fujitsuna,1,28,
+fujisee,1,28,
+fujimoto_(ponyo),4,28,
+fujimi_yomi,4,28,
+fujimi_nao,1,28,
+fujii_daisei_(artist),1,28,
+fuiyu_(feuille0818),1,28,
+fubuki_(senran_kagura),4,28,
+fruit_hat,0,28,
+frozen-sad,1,28,
+frenchthenhen,1,28,
+freesia_(granblue_fantasy),4,28,freesia_von_bismarck
+framboosi,1,28,
+fox_husband_(doitsuken),4,28,
+for_the_better_right?_(meme),0,28,
+for-u,1,28,
+food_fight,0,28,
+food-themed_necklace,0,28,
+food-themed_hat,0,28,
+foo_fighters_(stand),4,28,
+follett_(deathsmiles),4,28,
+folko,1,28,
+flyers,0,28,
+flow_(splatoon),4,28,miura_(splatoon)
+flora_(rariatto),4,28,
+fishkitty,1,28,
+fish_hood,0,28,
+firepower,3,28,
+fire_flower_(vocaloid),3,28,
+fiona_gilman,4,28,
+felox08,1,28,
+felius_arwin,4,28,
+feleven,1,28,
+faust_(makai_shin_trillion),4,28,
+family_tree,0,28,
+fallout_(black_torch),4,28,
+falangies,4,28,
+fake_sleeping,0,28,
+fajar_kurniawan,1,28,
+failnaught_(fate),0,28,
+f_con,1,28,
+extra_nipples,0,28,
+exciting_animal_(love_live!),0,28,
+excalibur_face,0,28,
+evra_von,4,28,
+ever_(nann2013),1,28,
+evelynn_(league_of_legends)_(cosplay),0,28,
+eve_moonlit,4,28,
+eunyoo,1,28,eun_yu
+eumme_tongtong_gu-i,1,28,
+eternita,3,28,
+espio_the_chameleon,4,28,
+escape_ad,0,28,
+error_(errorless),1,28,
+eric_ueda,1,28,
+eply,1,28,
+ep_(emio_parn),1,28,
+eosinophil_(hataraku_saibou),4,28,
+enki_(fate/prototype),0,28,
+enki_(dragonfire),1,28,
+enjelicious,1,28,ailejne
+engineer_kim,1,28,
+engine_sentai_go-onger,3,28,
+enemy_uchigatana,4,28,
+enderspain,1,28,
+ender_dragon,4,28,
+emu_ichigo,1,28,
+empty_(mn3k_yo),1,28,
+emmikn,1,28,
+emile_elanos,4,28,
+emi_star,1,28,
+em_crazy,1,28,
+elran,1,28,
+elliot_march,4,28,
+elleco,1,28,
+elizax9x,1,28,
+elid_(girls'_frontline),4,28,
+elhddmois,1,28,
+electra_(xenoblade),4,28,raiko_(xenoblade)
+elbing_(the_throne_of_misfortune)_(azur_lane),4,28,
+eksistere_kyrenia,4,28,
+ejection,0,28,
+eishin_flash_(collect_chocolatier)_(umamusume),4,28,
+eiko_(tukino),1,28,
+eichikei,1,28,
+ehohin,1,28,
+edward_keddy,4,28,
+eden's_ritter_grenze,3,28,
+ebifryman,1,28,
+eaves,0,28,
+eastern_and_little_nature_deity,3,28,
+dynamo_heart,1,28,
+dvd_player,0,28,
+duo_kawa,1,28,
+dunk_tank,0,28,
+duel_love,3,28,
+drive_shot,1,28,
+dread,0,28,
+dragra,1,28,
+dragon_ball_z_dokkan_battle,3,28,
+dracozolt,4,28,
+dr._gero_(dragon_ball),4,28,
+doyou_tengoku_pikaraji,1,28,
+download_link,5,28,
+double_facepalm,0,28,
+dot_(poni_taoyaka),1,28,"ireku_badou,poni_(od.zrf0vka)"
+dorshe,4,28,
+doraemon:_nobita_to_tetsujin_heidan,3,28,
+doomie1,1,28,
+donguri_big,1,28,
+donburimeshi,1,28,
+dog_hate_burger,1,28,
+dodecagram,0,28,
+doala,4,28,
+do2mi_doreimi,1,28,
+dna_man_(arms),4,28,
+dktaka,1,28,
+diving_mask_around_neck,0,28,
+disc,0,28,
+diode_(0_division),1,28,
+dino_(blend_s),4,28,
+digiegg,0,28,"digimon_egg,digitama"
+diao_(nrays),1,28,
+diablo_(isekai_maou),4,28,
+devy,1,28,devi_(@21213456567)
+devastator_(transformers),4,28,
+desuno,1,28,
+despuntater,1,28,
+designer_ojisan,1,28,
+densha_otoko,3,28,
+delux_drawings,1,28,
+delmore,4,28,
+deliciousmeatart,1,28,
+deko_(kamemaru),4,28,
+debi,1,28,
+dealesis,1,28,
+day_mello,1,28,
+dawy,1,28,
+dave_strider,4,28,
+daroon5,1,28,
+dark_talker,1,28,
+dark_shadow,4,28,
+dark_lemonade,4,28,
+dark_fuu,1,28,
+dantahi01,1,28,
+dande_cat,1,28,
+dancing_blade,3,28,
+dal_(edalnem),1,28,
+daiwa_(daicon),1,28,
+daisy_mae_(animal_crossing),4,28,
+daisy_(flower_knight_girl),4,28,
+daisufuumi,1,28,
+daimon_gorou,4,28,
+daigo,1,28,
+dachshund_(kemono_friends)_(nyifu),4,28,
+daccubus_(pen),4,28,
+daburoku,1,28,
+dabu_(dabuchan),1,28,
+d.j_(dwcg2854),1,28,
+cylinder,0,28,
+cut_bangs,0,28,
+cure_sunshine_(super_silhouette),4,28,
+cupcake-chan,4,28,
+cundodeviant,1,28,
+cummerbund,0,28,
+cumdrip_through_panties,0,28,
+cst,1,28,
+crystal_beast_ruby_carbuncle,4,28,
+crr001,1,28,
+crown_hat,0,28,
+crotchless_shorts,0,28,
+crossbone_gundam_x-2,4,28,
+croire,4,28,
+crochet,0,28,
+crested_hair,0,28,
+craven_(azur_lane),4,28,
+covers_(kill_la_kill),4,28,
+cool4noodle,1,28,
+cookie_(ppyf5328),1,28,
+continue,0,28,
+conception:_ore_no_kodomo_wo_undekure!,3,28,
+comrade_stalin,1,28,
+comiket_98,3,28,
+comiccho,1,28,
+comic_sigma,3,28,
+coma_(light825),1,28,
+color_bullets,3,28,
+colin_tan,1,28,
+codename47,1,28,
+cocoa_bean,0,28,
+coccix,1,28,mazac
+cocaine,0,28,
+clov3r,1,28,
+cloak_lift,0,28,
+clive_(fire_emblem),4,28,cleive
+climaxmukr,1,28,
+clevelad_(azur_lane),4,28,little_cleveland_(azur_lane)
+ciyana,4,28,
+circle_ed,1,28,
+cigarette_candy,0,28,
+chyraliss,1,28,
+chuchumy,4,28,
+chrome_(mon-musu_quest!),4,28,
+chouno_maika,4,28,
+choukaku,4,28,
+chizuko_(chiduk0),1,28,
+chiyomi,1,28,
+chiyo_(shuten_dj),1,28,
+chiyo_(chidori),1,28,
+chitose_(zenkou),4,28,
+chise_(cym23730),1,28,cym23730
+chisato_madison,4,28,
+chiro_(suzuka98),1,28,
+chiro_(chi-bu-ko),1,28,
+chinese_gundam,4,28,
+chinatsu_(kuroonehalf),4,28,
+chillasan,1,28,
+child_of_light_(game),3,28,
+chikuyama,1,28,
+chikinman,1,28,
+chikinan_tarou,1,28,
+chietori,1,28,
+chicken_wing,0,28,
+chicken_(kemono_friends),4,28,
+chibiki,4,28,
+chaya_mago,1,28,
+chascoby,1,28,
+charon_(alchemy_stars),4,28,
+charisuke,1,28,
+charge_rifle,0,28,
+charcoal,0,28,
+character_badge,0,28,
+chane_(nap_cat),1,28,
+chai_mao,1,28,
+chagama_(pot),0,28,
+cha-cha,4,28,
+cero,0,28,
+cellophane,0,28,
+celistia_ralgris,4,28,
+cecil_(wing_r),1,28,
+cathayan,1,28,
+cat_penis,0,28,
+castlevania:_lament_of_innocence,3,28,
+castlevania:_harmony_of_dissonance,3,28,
+castform_(snowy),4,28,
+cassie_(paladins),4,28,
+casserole,0,28,
+cartolaio,1,28,
+carrotsprout,1,28,
+carnival_mask,0,28,
+carabiniere_(azur_lane),4,28,
+capitano_(genshin_impact),4,28,
+canon_(nyori),4,28,
+canas_(fire_emblem),4,28,
+cai,1,28,
+cage_unlimited,1,28,
+c_(pixiv3064042),1,28,
+c4,0,28,
+buyong22,1,28,
+bunny_black,3,28,
+bulma_(future),4,28,future_bulma
+bukkan,1,28,
+buisen,3,28,
+buffet,0,28,
+buccaneer_(fma),4,28,buccaneer_(fullmetal_alchemist)
+bryony_(pokemon),4,28,
+brother_tomita,1,28,
+breakrabbit,1,28,
+brave_princess_(ishiyumi),4,28,
+boston_dynamics,3,28,
+borzoi,0,28,
+bokkori,1,28,
+bluetheater,1,28,
+bluebreed,1,28,
+bluebird_(bluebird90),1,28,
+blue_haired_girl_(kamisimo_90),4,28,blue_haired_girl_(yuya)
+blue_(saga_frontier),4,28,
+bloody_panther_(last_origin),4,28,a-1_bloody_panther
+blood_the_last_vampire,3,28,
+bliss_(image),0,28,
+blacksteel_worldwide_(arknights),0,28,
+black_negligee,0,28,
+black_angel_(elona),4,28,
+bipup-hola,1,28,
+bingbing,1,28,
+billy_(peach_momozen),4,28,
+bills,0,28,
+bikininja,3,28,
+big_order,3,28,
+beniko08,1,28,
+benienma_(third_ascension)_(fate),4,28,
+benevole,1,28,
+belted_skirt,0,28,
+bekko,1,28,
+beastlord_(sword),0,28,
+be_nantoka,1,28,
+bbjj_927,1,28,
+batako,1,28,
+bassdrum,4,28,
+baron_nashor,4,28,
+baritone_(suite_precure),4,28,
+bard_(league_of_legends),4,28,
+baphomet_jr,4,28,
+bambi_nano,1,28,
+bad_idea,1,28,
+backscratcher,0,28,
+b.va_(overwatch),4,28,
+azumi_(madogiwa_bocchi_seki),1,28,
+azuma_ren,1,28,
+azukiman,1,28,
+azuki_kurenai,1,28,
+azazel_(shingeki_no_bahamut),4,28,
+ayumi_(as0206),1,28,
+ayase_shichikai,1,28,
+ayame_(norie11),1,28,
+awara_chikako,4,28,
+average,1,28,
+aurore_(takatou_sora),4,28,
+atsumi_haru,1,28,
+atobe_keigo,4,28,
+asuna_elmarit,4,28,
+asso,1,28,
+asou_renji,4,28,
+ashina_isshin,4,28,
+ashikaga_tamane,1,28,
+aselia_bluespirit,4,28,
+asanuma_katsuaki,1,28,xiphias
+asano_(shikisokuzekuu),1,28,asano_shiki
+asagi_(seal47),1,28,
+arya_stark,4,28,
+arya-aiedail,1,28,
+aroha_(aroha390),1,28,isuzu_(u_isuzu)
+arka91,1,28,
+arima_yuu,1,28,
+ariel_(kagemusha),4,28,
+ariakk,1,28,
+argrim,1,28,
+argon_(exys),1,28,
+areishia_spirit_academy_uniform,0,28,
+areazero,1,28,
+arcedo,1,28,
+arcbun,1,28,
+arcafterdark,1,28,
+arc_the_lad_twilight_of_the_spirits,3,28,
+aratakosu_(tako's),1,28,
+aratake,1,28,
+arare_(op_ed_000),1,28,
+araragi_yuuichi,1,28,
+arane_(lolitwin),1,28,351_rane
+ar_(maeus),1,28,
+apupu,1,28,
+aozora_(syun8823),1,28,
+aotan_(aorin114),1,28,
+aoinu_(shuumatsugeki),1,28,
+aohigeko,4,28,
+aoba_(warship_girls_r),4,28,
+ao_orin_ringo,1,28,
+anonymous_(nijisanji),1,28,
+annerica,1,28,
+ankoku_no_ojisan,1,28,
+angel_lily,4,28,
+anemia_kwus,1,28,
+anastasia_(pixiv_fantasia),4,28,
+anaconda,0,28,
+amenomori_howa,1,28,
+amefurashi,1,28,
+ame246,1,28,
+ambitious_elf_jinx,4,28,
+amane0213,1,28,
+amamoru_21,1,28,
+amami_reiko,1,28,
+amakasu_hisone,4,28,
+amai_shirou,4,28,
+amagi_daichi,4,28,
+ama_ane,3,28,
+am_(star_wars),4,28,
+alternate_headgear,0,28,
+alolan_raticate,4,28,
+allison_(summer_lesson),4,28,
+allergy,0,28,
+algodoo,3,28,
+albus_dumbledore,4,28,
+akuyuu_(akuyuworld),1,28,
+ako_(so_crazy!?),1,28,
+akkirarara,1,28,
+akkii_(meragold),1,28,
+akk1,1,28,
+akiya_yukie,1,28,
+akiko-sou,1,28,
+akie_(44265104),1,28,
+aki_yamane,1,28,
+aki_minoriko_(cosplay),0,28,
+aki_(o2x_x2o),1,28,
+akeno06,1,28,
+akebi_miso,1,28,
+akatoki_2!_-tsumugu_mahou_to_koboreru_hikari-,3,28,
+akasuga_moyashi,1,28,
+akasakak,1,28,
+akasaka_ryuunosuke,4,28,
+akari_(angel)_(princess_connect!),4,28,
+ajrtkf44,1,28,
+ajirou,1,28,
+ajapar,1,28,
+aizaki_(aizkaizk),1,28,
+aion_(show_by_rock!!),4,28,
+aikagi,3,28,
+aiee,1,28,
+aibeya,3,28,
+ai_(kaminai),4,28,
+ahoyhoi,1,28,
+ah_zhong_(mountain_han),4,28,
+agent_7,3,28,
+agatio_(golden_sun),4,28,
+agata_no_michi,1,28,
+affliction_(darkest_dungeon),0,28,
+af_(afloatisland),1,28,
+abysswolf,1,28,
+abitu,1,28,
+abdominal_stretch,0,28,
+aabitan,1,28,
+a_iri_a,1,28,
+a-iueo,1,28,
+a-by,1,28,
+a-545_(girls'_frontline),4,28,
+9ml,1,28,
+92kuni92,1,28,
+90mm_single_high-angle_gun_mount,4,28,
+88_(vashperado),4,28,
+7meill,1,28,
+7eddy,1,28,
+666haorare666,1,28,
+60_(klioo1),1,28,
+50k_v3,1,28,
+502nd_joint_fighter_wing_(emblem),0,28,
+36shiri,1,28,
+369-chan,1,28,
+30_minutes_missions,3,28,
+2k-kun,4,28,
+1mm_(norizo),1,28,
+0nodera,1,28,
+07touka25,1,28,
+zuoyou,1,27,
+zou_azarashi,1,27,
+zorzero,1,27,
+zombie_neko,1,27,
+zo-wa,1,27,
+zhuge_kongming_(paripi_koumei),4,27,
+zhoumo_fangjia,1,27,
+zhang_chunhua,4,27,
+zhan_ji_tian_xia,3,27,
+zeta_(vtuber),4,27,
+zerorespect_bot,1,27,
+zenryoku_batankyuu,0,27,
+zenmai,1,27,
+zenisu,1,27,
+zeabolos,4,27,
+zdl_xiaobai,1,27,
+zappa,4,27,
+zangaku,1,27,
+zagizagi,1,27,
+zabuton_(mgdw5574),1,27,
+z-s-e,1,27,
+z-ki,1,27,
+z'gok_char_custom,4,27,
+yyukke,1,27,
+yuzutouhu_ika,1,27,
+yuzukiaz,1,27,
+yuzuki_kotona,1,27,
+yuzuki_kisa,1,27,
+yuzuki_iori,4,27,
+yuzu_juncgr,1,27,
+yuyayuyo,1,27,
+yuuto_(chakokin),1,27,
+yuutii,1,27,
+yuusha_yoshihiko_to_maou_no_shiro,3,27,
+yuusha_exkaiser,3,27,brave_exkaiser
+yuuki_uyu,1,27,yananana
+yuuki_sawano,1,27,
+yuuki_(yuuk_yume),1,27,
+yuubokumin,1,27,
+yuubari_gogo,4,27,
+yuteke_key,1,27,
+yuta_(kchimuuuuu),1,27,
+yusa_tk74,1,27,
+yusa_makoto,4,27,
+yusa1019,1,27,
+yunico,1,27,
+yumina_elnea_belfast,4,27,
+yuma,4,27,
+yukito_mayumi,1,27,
+yukishiro_haku,1,27,
+yukisaki_mayui,1,27,
+yukinohito_(koutyanomitai),1,27,
+yukiko_(leovioykk),1,27,
+yukihashi,1,27,
+yukichi_nya,1,27,
+yuki_(white_garden),1,27,
+yuki_(idolish_7),4,27,
+yui_(josou_jinja),4,27,
+yuh_7929,1,27,
+yu1,1,27,
+ys_iii_wanderers_of_ys,3,27,ys:_the_oath_in_felghana
+yow,1,27,
+youryokuso_(chlorophyll),1,27,
+youngsok,1,27,
+youmu_(tomgoku2),1,27,
+yosshy,1,27,
+yoshitomo_(koucha),1,27,
+yoshinon_(yoshinon_kotori),1,27,
+yoshinaga-san'chi_no_gargoyle,3,27,gargoyle_of_yoshinaga_house
+yorutsuki_(sakurekichan),1,27,
+yoru_(yoruyonaka),1,27,
+yorck_(breaker_under_the_blood_moon)_(azur_lane),4,27,
+yoneya_yousuke,4,27,
+yone_(league_of_legends),4,27,
+yolang,4,27,
+yokozawa_(pyu-tohuku),1,27,
+yokojima_kemomi_mi_chuushin,1,27,
+yogiri_(hololive),4,27,
+yilan,1,27,
+yeyong,1,27,
+yeng-hua,4,27,
+yelansu,1,27,
+yelan_(genshin_impact)_(cosplay),0,27,
+ye_olde_zipangese,0,27,
+yarakuru,1,27,
+yaoshan_shi,1,27,
+yano_akane,1,27,
+yamori_511,1,27,
+yaminokisan,1,27,
+yamiarisu,1,27,
+yami_freyja,4,27,
+yamazaki_jun,1,27,yamazakijun
+yamasaki_masato,1,27,
+yamagara,1,27,
+yamada_akihiro,1,27,
+yamada_(onigori105),1,27,
+yamada_(iroha97151188),1,27,
+yamachi_(xadp7533),1,27,
+yama_(rabbit_room),1,27,
+yam_spectrum,1,27,
+yam_(nekobeya),1,27,
+yakushiji_ryouko,4,27,
+yakuoyoso,1,27,
+yagi_norihiro,1,27,
+yagami_tsurugi,4,27,
+xun_yu_(1184527191),1,27,
+xtransceiver,0,27,
+xochi_(nueeen6978),1,27,oldevixen
+xila_qian_tang_shi,1,27,
+xieyanbbb,1,27,
+xiebaowang,1,27,maisuiren
+xiaoai,1,27,
+xiao_qiang_sang,1,27,
+xiao_dao_jun,1,27,
+xander_(spring)_(fire_emblem),4,27,
+wu_dong_qian_kun,3,27,
+wrys_(fire_emblem),4,27,riff_(fire_emblem)
+wrecking_ball,0,27,
+wrapping_paper,0,27,
+woshihedawei,1,27,
+woruta_(soloistlist),1,27,
+wonkrin,1,27,
+wjstpwls4,1,27,
+wireless_mouse,0,27,
+wiping_hands,0,27,
+winged_sword,0,27,
+willow_sage0000,1,27,
+wicker_furniture,0,27,
+whitek,1,27,
+white_sweatshirt,0,27,
+white_facial_hair,0,27,
+white_dove,0,27,
+wei,1,27,
+webley-fosbery_automatic_revolver,0,27,
+waya,1,27,
+water_in_navel,0,27,
+watari_(hasumi_rina),1,27,
+watanabe_akari,4,27,
+watabow,1,27,
+war_devil_(chainsaw_man),4,27,
+wandaba_style,3,27,
+walpurgisnacht's_familiars,4,27,
+wagaya_no_liliana-san,3,27,
+wada_katsu,4,27,
+vox_aura,4,27,
+voltron_(mecha),4,27,
+vivid_(key),1,27,
+vitruvian_man,3,27,
+virtua_fighter_5:_final_showdown,3,27,
+viola_(flower_knight_girl),4,27,
+vioka,1,27,
+vhdtyzusixc7fai,1,27,
+vf-31c,4,27,
+verniy_(warship_girls_r),4,27,
+venus_syndrome_(idolmaster),0,27,venus_syndrome
+venosus,1,27,
+velcro,0,27,
+veil_(disney),4,27,
+veffidas_feaze,4,27,
+variasii,1,27,
+vanzan,1,27,
+vanguard_(warship_girls_r),4,27,
+vampire_(aoki_hagane_no_arpeggio),4,27,
+vamp!,3,27,
+uzubilla,1,27,
+uuruung,1,27,
+utsumi_erice_(swimsuit_avenger)_(first_ascension),4,27,
+uss_wisconsin_(bb-64),4,27,
+uss_lexington_(cv-2),4,27,
+ushi_(genshin_impact),4,27,
+usa-pom,1,27,
+urushizawa_takayuki,1,27,
+uro_(uro_zi),1,27,
+urinary_drainage_bag,0,27,
+ur-8,1,27,
+unkmochi,1,27,
+unicorn_(azur_lane)_(cosplay),0,27,
+unichiri,1,27,
+undead_unluck,3,27,
+unconventional_broom,0,27,
+unbeller,1,27,
+umidemi,1,27,
+umeyuki,1,27,
+ume_(flower_knight_girl),4,27,
+umbral_knight_(ender_lilies),4,27,
+umakoshi_yoshihiko,1,27,
+ultimate_girl,3,27,"ultimate_girls,ultimategirl,ultimategirls"
+ukon,1,27,
+uguu~,0,27,
+uezato_ryouhei,4,27,
+uep,1,27,
+uehara_(higanbachi),1,27,
+ueda_hashigo,1,27,
+uchuu_teiou,1,27,
+uchida_tamaki,4,27,
+u-511_(kancolle)_(cosplay),0,27,
+tyson_tan,1,27,"extvia,tysontanx"
+type_88_(girls'_frontline),4,27,
+type_63_(girls'_frontline),4,27,type_63_assault_rifle_(girls'_frontline)
+twin_angels,3,27,
+twin_angel_break,3,27,
+twilimi,1,27,gomezu
+turizao,1,27,
+tukimisou0225,1,27,
+tuba-kun,4,27,
+ttutto,1,27,
+ttnap,1,27,
+tsuwabuki_masaharu,4,27,
+tsuru_(tsubasa1993621),1,27,
+tsumugiya_ururu,4,27,
+tsukudani_shirou,1,27,
+tsukiyo_rei,1,27,
+tsukiyama_shinobu,4,27,
+tsukishiro_hikari,4,27,
+tsukimi_(shironeko_project),4,27,
+tsuki_ni_yorisou_otome_no_sahou_2,3,27,
+tsujita_daisuke,1,27,
+tsuchiya_ai,4,27,
+tsuchigumo_(youkai_watch),4,27,
+tsu_da,1,27,
+trunchbull,1,27,
+truffle,0,27,
+trophy_head,0,27,
+troncill,1,27,
+trip_(dramatical_murder),4,27,
+trilby,0,27,
+trembling_legs,0,27,
+trapeze,0,27,
+transparent_bow,0,27,
+training_wheels,0,27,
+tozaki_makoto,1,27,
+toys_(pixiv),1,27,
+toy_soldier,0,27,
+towne,1,27,
+touyama_(t3yama2),1,27,
+tounyu_melon,1,27,
+totopepe888,1,27,
+toto_(flip_flappers),4,27,
+total_war,3,27,
+total9,1,27,
+toron,1,27,
+toripuru_(tripl3),1,27,toripuru_3
+torichiyo,1,27,
+tori_(torashimaneko),1,27,
+tora-oneesan,4,27,
+toot,1,27,
+tony_(chikaku_kabin),1,27,
+tonde_buurin,3,27,super_pig
+tomoyami,1,27,
+tomoe_(criminal_girls),4,27,
+tomine_kasumi,4,27,
+tomato_hair_ornament,0,27,
+toma_(dragon_ball),4,27,tora_(dragon_ball)
+tokiko_(psychopomp),1,27,
+toine_hoko,1,27,
+toge_(owannun),1,27,
+tofucakes,1,27,
+todoroki_gou,1,27,
+toda_eulalia_kotohi,4,27,
+toa510,1,27,
+tnt77,1,27,
+tinker_bell_(disney)_(cosplay),0,27,
+timoria_(elsword),4,27,
+tikal_the_echidna,4,27,
+tico,1,27,
+thylacine_(kemono_friends),4,27,
+thunderbird_(monster_girl_encyclopedia),4,27,
+thoth_(stand),4,27,
+the_silence_of_the_lambs,3,27,
+the_saga_of_larten_crepsley,3,27,
+the_legend_of_zelda_(cd-i),3,27,
+the_king_of_fighters_'98,3,27,king_of_fighters_98
+the_cecile_(vtuber),4,27,
+tess_tesryon,4,27,
+terayamaden,1,27,
+tentenyakan,1,27,
+tenshou_akira,1,27,
+tennis_skirt,0,27,
+tenma_mitsuru,4,27,
+tenkawa_maihime,4,27,
+tengirl,3,27,
+ten_ten_(ogino_atsuki),4,27,
+ten_(ch),1,27,
+temk,1,27,
+teeri_(koakuma_teeri_to_kyuuseishu!?),4,27,
+teddy_(pui_pui_molcar),4,27,
+tear_ring_saga:_berwick_saga,3,27,
+tea_sly,1,27,
+taturouxs,1,27,
+tatsuki_(irodori),1,27,
+tateyama_ayaka,4,27,
+tatarigoroshi-hen,3,27,
+tatami_san_tatami,1,27,
+taro._(tataroro_1),1,27,
+tarn,4,27,
+tarako_jun,1,27,
+tap_out,0,27,
+taoer.,1,27,
+tampon_string,0,27,
+tameiki,1,27,
+tamaki_sakura,4,27,
+tamae_(jungetsu_fukou),1,27,
+tama_nya,1,27,
+takuan_(taku1219oekaki),1,27,taku1219oekaki
+takoyaki_kenken,1,27,
+takeda_shingen_(sengoku_collection),4,27,
+take_tw01,1,27,
+takayama_kate,4,27,
+takatoo_erika,4,27,
+takashino_(noni-nani),1,27,
+takamachi_nanoha_(formula_ii),4,27,
+takakura_ken_(dandadan),4,27,okarun_(dandadan)
+takahashi_mei,4,27,
+taishang_laojun,4,27,
+taiga_joe,1,27,
+tai_(pixiv6134),1,27,
+taguchi_(igutiguti),1,27,
+tadano_comina,1,27,
+tactical_trooper_(elsword),4,27,
+tachibana_mayumi,4,27,
+tachibana-san-chi_no_dansei_jijou,3,27,
+taboo_tattoo,3,27,
+ta_ki,1,27,
+t0da,1,27,
+szainx,1,27,
+syubare,1,27,
+sword_guard_stance,0,27,
+swinery,1,27,
+sw_(2311550438),1,27,
+sv-51,4,27,
+suzuki_ichirou,4,27,
+suzuki_aika,4,27,
+suzukaze_no_melt,3,27,
+suzuhime,4,27,
+suzhi2333,1,27,
+sutetete,1,27,
+supreme_king_(yu-gi-oh!_gx),4,27,
+super_bunny_man,3,27,
+suouin_kana,4,27,
+sunny_(20597521),1,27,
+sunken_scroll_(splatoon),0,27,
+sun_dou,1,27,
+sun_(sunsun28),1,27,
+sumiwow,1,27,
+sumipic,1,27,
+suitokuin_tenmu,4,27,
+suisui_again,1,27,
+suisui_-sweetheart_swimmer-,3,27,
+suikomu_now,1,27,
+suika_(muneneko),4,27,
+sui_(komorebi),4,27,
+sugihara_azuki,1,27,
+sugar_(chicchana_yukitsukai_sugar),4,27,
+succubus_quest,3,27,
+stupid_movie_sequels,3,27,
+studded_trim,0,27,
+stones_of_dragon,3,27,
+stoner08,1,27,
+stiky_finkaz,1,27,
+sthesia_awar_nono,4,27,
+steven_stone_(summer_2020),4,27,
+sterndorf,1,27,
+stella_(flou),4,27,
+stanbot_(little_witch_academia),4,27,
+ssorasora,1,27,
+squid_pose,0,27,
+sputnik_(artist),1,27,
+sprinkling,0,27,
+spirit_blossom_sett,4,27,
+spirit_albarn,4,27,
+spinaria_(shingeki_no_bahamut),4,27,
+speed_grapher,3,27,
+souya_touki,1,27,
+souya_agl_(kancolle),4,27,
+sousaphone,0,27,
+sound_tamashi,1,27,
+souma_chihiro,4,27,
+souensha,1,27,
+sos,0,27,
+sonson,4,27,
+sonan_kyouko,4,27,
+son_karin,4,27,
+social_commentary,0,27,
+snow_on_headwear,0,27,
+snow_feather_(last_origin),4,27,snow_feather
+snow_angel,0,27,
+snake_penis,0,27,
+snail8,1,27,
+smol_kronii,4,27,
+smol_baelz,4,27,
+slave_knight_gael,4,27,
+skybracer_(genshin_impact),4,27,
+skunk,0,27,
+skullshatterer_(arknights),4,27,
+ske48,3,27,
+sitri_(fire_emblem),4,27,
+sirofuku414,1,27,
+sirat111,1,27,
+sira,1,27,
+sion_(laterna_magica),1,27,haku_(laterna_magica)
+sioinari_03,1,27,
+sio_1234,1,27,
+sinisistar,3,27,
+single_leg_warmer,0,27,
+sinful_hime,1,27,
+simmsy,1,27,
+sima_zhao,4,27,
+signing,0,27,
+signal_bar,0,27,
+sigma_(counter:side),4,27,
+shuu_(ssyuu721),1,27,
+shroud_of_martin,0,27,
+shrimp_cake,1,27,
+shoulder_rest,0,27,
+shoukimaru,1,27,
+shoukaku_(kancolle)_(cosplay),0,27,
+shoe_strap,0,27,
+shishui_guima,1,27,
+shishou_no_deshi,1,27,
+shiru_daku_settai,3,27,
+shiroi_(shiroicbe),1,27,cbe39373
+shiro_mayu,1,27,
+shiranui_hazuki,4,27,
+shiraki_aeka,4,27,
+shirajira,1,27,
+shirai,1,27,
+shinyae,1,27,
+shiny_floor,0,27,
+shinonome_hatsuho,4,27,
+shinonome_(ichigotsuki),1,27,itigotuki
+shinomori_aoshi,4,27,
+shino_yoshihisa,1,27,
+shino_(shino-xx),1,27,shino_(shn)
+shino_(housamo),4,27,
+shinkaida_tetsuyarou,1,27,
+shinigami_(tougetsu_hajime),4,27,
+shingao-chan,4,27,
+shinatsu_azuki,4,27,
+shinagire_(sinanohaka),1,27,
+shinada_benio,4,27,
+shimaneko,1,27,
+shilfy_yo,1,27,
+shikabane_gorou,4,27,
+shijou_mako,1,27,
+shijima_gou,4,27,
+shii_(niku-9),1,27,
+shichi-go-san,0,27,
+shibuya_arata,1,27,
+shibuki_oroshi,1,27,
+shi_wu_you,4,27,
+shi_qi_kuang_beng,1,27,
+shelly_(kakuno),4,27,
+shekinah_(phantom_of_the_kill),4,27,
+sheep_print,0,27,
+shasu_(lastochka),1,27,
+shared_straw,0,27,
+shanghai_doll_(cosplay),0,27,
+shancha,1,27,
+shadow_chie,4,27,
+shading_mismatch,0,27,
+seven_(sixplusone),1,27,
+setouchi_chie,4,27,
+serohan,1,27,
+serizawa_shion,4,27,
+seritsumi,1,27,
+senpai_(souzaipan),4,27,
+sengoku_esuji,1,27,
+semen_sprinkler_j,3,27,
+sek-it,1,27,
+seiun_sky_(soiree_de_chaton)_(umamusume),4,27,
+seisenshi_dunbine:_new_story_of_aura_battler_dunbine,3,27,aura_battler_dunbine_tale_of_the_neo_byston_well
+seijuu_shining_dragon,4,27,
+seigo_(seigou),1,27,
+seha_lee,4,27,
+seeking_the_pearl_(umamusume),4,27,
+sea_serpent,0,27,
+scootaloo,4,27,
+school_festival,0,27,
+scaverle_(mao),1,27,
+scarlet_nexus,3,27,
+say_(sakabin),1,27,
+sawsbuck_(summer),4,27,
+saturn_(satscarlet),1,27,
+satou-san,4,27,
+satori_(blueinc324),1,27,
+sato_toshiya,1,27,
+sassa_(cb),1,27,
+sasayuri_(genshin_impact),4,27,
+sasakura34,1,27,
+sasaki_fumi,1,27,
+sasaki_azusa,4,27,
+sasaki_akane,1,27,
+saruwatari_akari,4,27,
+sarablanche,1,27,
+sara_tefal,4,27,
+saotome_jin,4,27,
+sangoku_hime_3,3,27,
+sangobana_(flower_knight_girl),4,27,
+sanada_yukimura_(sengoku_musou),4,27,
+samohichi,1,27,
+sakurazaka_yuzuki,4,27,
+sakuraizumi_yuu,1,27,
+sakuragawanaa,1,27,
+sakura_miyuki,4,27,
+sakura_laurel_(umamusume),4,27,
+sakura_dungeon,3,27,
+saku_(soreca49),1,27,hksi1pin
+sakenomi_akane,1,27,
+sakatakin,1,27,
+sakaagari_hurricane,3,27,
+saitou_takeo,1,27,
+saitou_takana,1,27,
+saitooo,1,27,
+saionji_rei,4,27,
+sainyang_(queen's_blade),4,27,sainyan
+sailor_neptune_(cosplay),0,27,
+saikorodekimeru,1,27,
+sageo,0,27,
+sagara_momoka,4,27,
+sagami,1,27,
+saegome,1,27,
+sabusupi,1,27,
+saber_ruri,1,27,
+saber_class_(fate),4,27,
+sa_ka_(sakanoya),1,27,
+s2u,4,27,
+s.shimizu,1,27,
+s.o_chin,1,27,
+rzx0,1,27,
+ryuuki_yumi,1,27,
+ryuuguu_yassuu,1,27,
+ryumikooo,1,27,
+ryuko_lee,1,27,ryuukooooooo
+ryo_(ryoxkj),1,27,
+ryekie_(drunk_tiger)_(live_a_hero),4,27,
+rydia_arsenal,4,27,
+ruy,1,27,
+ruto5102,1,27,
+rutger_(fire_emblem),4,27,rutgar
+ruondea,1,27,
+rukia_moon,4,27,
+ruka_tou,1,27,
+ruhuyu_(show_by_rock!!),4,27,
+rudorufu,1,27,
+rudder,0,27,
+rsk,1,27,
+rpg-exen,1,27,
+rozzi_(black_survival),4,27,
+route39,1,27,
+rou+,1,27,
+rotom_(other),4,27,
+rothy_(user_cezn8425),1,27,
+rosetta_(summer)_(granblue_fantasy),4,27,
+romance_wa_tsurugi_no_kagayaki_2,3,27,
+rom_(kochirasama),1,27,
+rola_(vtuber),4,27,
+rokukatamari,1,27,
+rokujou_miyuki,4,27,
+rokudou_hijiri,4,27,
+rock.fc,1,27,
+robotta,1,27,
+roblox,3,27,
+roberta_(madoka_magica),4,27,
+rizu033,1,27,
+riuhi,1,27,
+rita_(sennen_sensou_aigis),4,27,
+rishia,1,27,
+riruku,1,27,
+riri_(ri0177),1,27,
+riomario,1,27,
+rinse_7,1,27,
+rinko-san_(cocoa_fuumi),4,27,
+rindou_(kunoichi_tsubaki_no_mune_no_uchi),4,27,
+rindou_(faker's_manual),1,27,
+rin_(toriko),4,27,
+rimworld,3,27,
+ridge_racer,3,27,
+richard_li,1,27,
+rice_porridge,0,27,
+ricardo_contreras,1,27,
+rian_(bdl),1,27,
+rgrey00,1,27,
+reset,1,27,
+res2shuu,1,27,
+remona-san,4,27,
+remi_altava,4,27,
+reisei,4,27,
+reinforced,1,27,
+reiko_holinger_(cosplay),0,27,
+rei_(09991),1,27,lou_(09991)
+reebok_pump,0,27,
+redrose214,1,27,
+redoxhn,1,27,
+red_crown_(cult_of_the_lamb),4,27,
+red-50869,1,27,
+recube,1,27,
+rebaria,1,27,
+reason!!_(idolmaster),0,27,reason!!
+real_madrid,3,27,
+razi,1,27,
+raze_(valorant),4,27,
+rayxray,1,27,
+rayfa_padma_khura'in,4,27,
+raycrodu_h,1,27,
+rapuka,1,27,
+raphael_sorel,4,27,
+ranran_(iaotak),1,27,
+ran_to_haiiro_no_sekai,3,27,
+ran_s200,1,27,
+ran_ran_ru,0,27,
+ramekin,0,27,
+ramba_ral,4,27,
+raleigh_becket,4,27,
+raichi_(quatsch),1,27,
+radio_telescope,0,27,
+radian_(paradiso_guardian),4,27,
+r31harutan,1,27,
+qunqing123,1,27,
+quilted_clothes,0,27,
+queen_tia_(mega_man),4,27,queen_tia
+queen_elizabeth_(warship_girls_r),4,27,
+queadluun-rau,4,27,
+quanxi's_group_(chainsaw_man),4,27,
+quadruplets,0,27,
+qt1_jo,1,27,
+qmin_arts,1,27,
+qiqi_(genshin_impact)_(cosplay),0,27,
+qbird449,1,27,
+q-pra,1,27,
+puyon_(puyon),1,27,
+pussy_juice_in_container,0,27,
+puru_(manatsu),1,27,
+purple_garter_belt,0,27,
+purple_curtains,0,27,
+purinnkawayusu,1,27,
+pupuru_(sennen_sensou_aigis),4,27,
+punkish_(module),0,27,
+pumpkin_shorts,0,27,
+prinz_luzifer,1,27,
+princeton_(azur_lane),4,27,
+princess_king_boo_(cosplay),0,27,
+priget_plus,3,27,
+prester_johanna,4,27,
+pov_legs,0,27,
+potato_(popopopopo623),1,27,
+poshii_(posy),1,27,
+poppuru,1,27,
+popeye,4,27,
+ponzu_(beetle_burner),1,27,
+ponta_(poqpon),1,27,
+ponta_(aoi),1,27,
+ponkotta,1,27,
+pomudachi_(pomu_rainpuff),4,27,
+pommel_tassel,0,27,
+pokemon_stadium,3,27,
+pokemon_ranger_3,3,27,
+poison_dart_frog,0,27,
+poe_no_ichizoku,3,27,
+pochita,1,27,
+pocchari,1,27,
+plhsxf,1,27,
+platinum_(o0baijin0o),1,27,"o0baijin0o,o0platinum0o"
+piyoru_nico,1,27,
+pixiv_gakuen,3,27,
+pith_u,1,27,
+piss_bottle,0,27,
+pirlo,1,27,
+pippi_(osu!),4,27,
+pink_water,0,27,
+pink_negligee,0,27,
+pink_lady_mage_(character),4,27,
+pikuson,1,27,
+pike,0,27,
+pikachu_belle,4,27,
+pig_hood,0,27,
+picolumi,1,27,
+piatin,1,27,
+phenomeno,3,27,
+phaia,4,27,
+petri_dish,0,27,
+peter_chai,1,27,
+pet_carrier,0,27,
+pepupapipooo,1,27,
+pepsi_ice_cucumber,0,27,
+peony_ix,4,27,
+peng_kun,1,27,
+peachy_michi,1,27,
+paw_stick,0,27,
+paul_bunyan_(festival_outfit)_(fate),4,27,
+patio_swing,0,27,
+partner,3,27,
+parkiranhonda,1,27,
+parappa,4,27,
+papuru_(bombergirl),4,27,
+papillon,4,27,
+pantyhose_on_head,0,27,
+panilla_the_revival,3,27,
+pan_chira,1,27,
+paella,0,27,
+p_book,1,27,
+p.a.w,1,27,
+ozumii,1,27,
+oxalis_(flower_knight_girl),4,27,
+ouro_krono,4,27,
+ouka_(oukakaka),1,27,
+otsuki_(tm3n),1,27,
+otou_(otou3dayo),1,27,
+otohime_(kk23maa),1,27,
+otaki55,1,27,
+osu(statatatatatata),1,27,
+osaki_nana,4,27,
+osaji0909,1,27,
+oruserug,1,27,
+ortina_lillibel_(yashiro_sousaku),4,27,
+orexxxo,1,27,
+orange_tree,0,27,
+orange_mittens,0,27,
+oppaihobby,1,27,
+ootaka_narumi,1,27,
+oota_kouichirou,4,27,
+oosawa_fusatarou,4,27,
+oomune_mune,4,27,
+ooki_kino,1,27,maid_ryoukou
+ookami_inu_(werwolf),1,27,
+ookami_ciro,1,27,
+onsen_man,1,27,
+onsem,1,27,
+only_you_recross,3,27,
+onisuu,1,27,
+onioohashi,1,27,
+onigawara_sharu,1,27,
+omuretu_(butterroru),1,27,
+olivia_(fire_emblem)_(cosplay),0,27,
+okihara_kotoha,4,27,
+oketsu_fumio,1,27,
+okazaki_beru,1,27,
+oinari_33,1,27,
+ogata_garaiya,4,27,
+ochrejelly,1,27,
+ochiai_(kinjo_no_hito_no_nakimushi),4,27,tsukimi_(kinjo_no_hito_no_nakimushi)
+ocarinaotw,1,27,
+obscur,1,27,
+o_h_miona,1,27,
+nyx_avatar,4,27,
+nyuudles,1,27,
+nyanko960121,1,27,
+nyangorobei,1,27,
+nyan5000,1,27,
+nuri_(yoon_cook),4,27,
+nudist_beach_ni_shuugakuryokou_de!!,3,27,
+nudge,0,27,
+ntake_toukasaien,1,27,
+nowoka,1,27,
+noshiro_(uncharted_festival_grounds?)_(azur_lane),4,27,
+noromame,1,27,
+nonoharak,1,27,
+nomura_fusako,1,27,
+nola_moon_(girl_cafe_gun),4,27,
+nohko,1,27,
+noeru_(soul64),1,27,
+noela_(cheat_kusushi_no_slow_life),4,27,noela_(cheat_kushushi_no_slow_life)
+nobuda,1,27,
+nitou_akane,1,27,
+nishizumi_miho_(cosplay),0,27,
+nishinakajima_nanpou,1,27,
+nise_maou_sukaraberu,4,27,
+nioh_2,3,27,
+ningyo_numa,3,27,
+nine_delta,4,27,
+niiboshi_reo,4,27,
+nigori_(keydoor),1,27,
+nightstar0012,1,27,
+nieve_(rabi_ribi),4,27,
+niboshi,1,27,
+ni_no_sakura_senbu_(module),0,27,
+nezusuke_(blue_archive),4,27,
+nexeee,1,27,
+newon,1,27,
+newman,0,27,
+nervlish,1,27,
+nero_(black_clover),4,27,
+neosagi,1,27,
+nekota_chihiro,1,27,nekoda_chihiro
+nekonomi,1,27,
+nekomusume_(pekoneko),4,27,
+nekomiya_shuu,4,27,
+nekomata_(megami_tensei),4,27,
+nekomaaro,1,27,
+nekoinu_bamboo,1,27,
+neko_usagi_(nekousagi_jpn),1,27,nekousagiatelier
+neko_koi!,3,27,
+neko_(dakemakura),1,27,
+negister,1,27,
+negimapurinn,1,27,
+neck_snap,0,27,
+necalli,4,27,
+navy_field_152,3,27,
+natsume_mina,1,27,
+nathan_spencer,4,27,
+narukami_arei,1,27,
+narrative_gundam,4,27,
+naraba_yueni,1,27,
+napier,4,27,
+naox,1,27,
+nao_tsukiji,1,27,
+nanora_(sero4),1,27,
+nankaitarou_chouson,4,27,
+nanjou_misao,4,27,
+nanji3,1,27,
+nandeyanen,0,27,
+nanba_hibito,4,27,
+nanami_kazuki,1,27,
+nanakorobi,1,27,
+nanahoshi_yukari,4,27,
+nan0teck,1,27,
+namonaiteidono,1,27,
+nami_(aoi_shiro),4,27,
+namazu_(dc_27546),1,27,
+nako_nya,1,27,
+nakazeko,1,27,
+nakamori_kemuri,1,27,
+naka_no_hito_nado_inai!,3,27,
+naka1379,1,27,
+naitou_satoshi,1,27,webknight0
+nahril,1,27,
+nagoya_(oshiro_project),4,27,
+nagisa_iori,1,27,
+naginoya,1,27,
+nagase_kotono,4,27,
+nagano_hinata,4,27,
+nadashima_gy,1,27,
+nacht_faust,4,27,
+nabeshiki_(nabeyashiki),1,27,
+n.s.egg,1,27,
+myoukou_(azur_lane),4,27,
+muyue,1,27,p-a-cheng
+mutual_penetration,0,27,
+mutenka,1,27,
+muskmelon,0,27,
+mushanokouji_iwai,4,27,mushianokouji_iwai
+musclecar,1,27,
+murousaisei123,1,27,
+murasaki_nami,1,27,
+murasaki_(ekyu),1,27,
+muq,1,27,
+multicolored_vest,0,27,
+mukimuki_mayuge,1,27,
+mugi_(cookie),4,27,
+mugen_no_ryvius,3,27,infinite_ryvius
+mucus_toad_(monster_girl_encyclopedia),4,27,
+muchi_muchi_pork,3,27,
+mtr,1,27,
+moyo_(k1rakira),1,27,
+mots,1,27,
+moth_hair_ornament,0,27,
+mot_(anticycle),1,27,
+mossu,1,27,
+morty_(fall_2021)_(pokemon),4,27,
+mortar_shell,0,27,
+morioka_yasuto,1,27,
+morinaga777,1,27,
+mordred_(memories_at_trifas)_(fate)_(cosplay),0,27,
+morbius_(film),3,27,
+mootium,1,27,
+monument,0,27,
+monokid,4,27,
+monodam,4,27,
+mono_(bluesky),1,27,
+monkeyyan,1,27,yan_wong
+monaka,1,27,
+momojiri_aya,1,27,
+momen102_(sji09u),1,27,
+mokokusa,1,27,
+mokokoiro,1,27,
+moko_(iiioookkkaaa),1,27,
+moi_(yfvlibbl9i),1,27,
+moi'dukdum,1,27,
+mohn_(pokemon),4,27,
+mogami_noa,1,27,
+mofge,1,27,
+moero_downhill_night_2,3,27,
+mochi_mocchi,1,27,
+mobius_(suicideloli),1,27,
+mob_(dohna_dohna),4,27,
+mnk,1,27,
+mk_12_spr,0,27,
+mizunoto_nozumi,1,27,
+mizuno_yui,4,27,
+miyouji,4,27,
+miyoshi_(joker_game),4,27,
+miyamaki,1,27,
+miyako910724,1,27,
+miyako3344,1,27,
+miyagi_yasutomo,1,27,
+miyabi_juri,1,27,
+miu_(dears),4,27,
+mitsukuni,1,27,
+mitsuki_(omezame_alice),1,27,
+mitoki_6x6,1,27,
+mito_soosu,1,27,
+misakura_julio,4,27,
+miriam,4,27,
+mireille_lerner,4,27,
+mio_(navy_field_152),4,27,
+minus_sign,0,27,
+minoo,1,27,
+minokasa_nagi,4,27,
+minibow,0,27,
+minggoo,1,27,
+minerva_(blazblue),4,27,
+minchi_(lordofthemince),1,27,
+minazuki_jiyun,1,27,minazukiji_yun
+minazuki_(karashikazoku),1,27,
+minato_subaru,4,27,
+minato_(minat0),1,27,
+minamizato_ai,4,27,
+minami_(dakemakura),1,27,
+min1910,1,27,
+mime,0,27,
+miltank_(cosplay),0,27,
+milleore,4,27,
+milk_(pop'n_music),4,27,
+mila_(fire_emblem),4,27,
+mikuni_(mikunik),1,27,
+miki_0,1,27,
+mikan03_26,1,27,
+mihua_mh,1,27,
+mihama_kouji,4,27,
+migita_makura,4,27,
+mig-21,0,27,
+midou_miko,4,27,
+midnight_anime_lemon_angel,3,27,
+midarezaki_gekka,4,27,
+midarezaki_chika,4,27,
+michaelfirman,1,27,
+meteor_sweepers_uniform,0,27,
+mery-chan,1,27,
+meriibe,1,27,
+mercedes_(viper),4,27,
+mentally_deficient,1,27,
+melusine_(ff5),4,27,
+melone_(melonenbrot),1,27,
+melon_sakiguchi,1,27,
+melon_(akikan),4,27,
+mellow4043,1,27,
+melike,4,27,
+mekakuri_(otacon250),1,27,
+mekakucity_actors,3,27,
+meimu,4,27,
+mei_(ayanepuna),4,27,
+meguri_tomoe,4,27,
+meganemausu,1,27,kasu-pan
+megajujube,1,27,
+medusa_(lancer)_(fate)_(cosplay),0,27,
+medico_(dohna_dohna),4,27,
+measuring_stick,0,27,"meterstick,yardstick"
+measho,1,27,
+meakashi-hen,3,27,
+mayuzumi_takumu,4,27,
+mayday,1,27,
+maya_(calm),4,27,
+may_queen,3,27,
+maximilian-destroyer,1,27,
+matsuda_touta,4,27,matsuda_tota
+matsuda_shin,1,27,
+matou_sakura_(deen_s&m),4,27,
+matcha_parfait,0,27,
+masuo_(masdlivelove),1,27,
+masuji,1,27,
+mashle,3,27,
+mashiro_moritaka,4,27,
+mashiro_chisato,4,27,
+mashima_moyu,4,27,
+mash_kyrielight_(enma-tei_uniform)_(cosplay),0,27,
+masarou,1,27,
+masanori_ito,1,27,
+marusuke,1,27,
+marsia_(arc_the_lad),4,27,
+maronie_(flower_knight_girl),4,27,
+mario_+_rabbids_kingdom_battle,3,27,
+mario_&_sonic_at_the_rio_2016_olympic_games,3,27,
+marine_benefit,3,27,
+marika_(zeddaru),4,27,
+mariemon,1,27,
+marble_bloomers,3,27,
+mao_san,1,27,
+mano_sakurako,4,27,
+manamachii,1,27,
+manabu,1,27,
+man_dam,1,27,
+maki_yoshitake,1,27,
+maki_(seto_no_hanayome),4,27,
+makaron611,1,27,
+makarios_(fate),4,27,
+majima_gorou_(cosplay),0,27,
+maionese,1,27,
+maimai_(game),3,27,
+maigo,1,27,
+mai_waifu,0,27,
+mai_(senran_kagura),4,27,
+mahou_tsukai_sally,3,27,
+mahou_shoujo_kanae,3,27,
+maho_(summer)_(princess_connect!),4,27,
+magus_(seiken_densetsu_3),4,27,magus_(sd3)
+mage_(dq3)_(cosplay),0,27,
+magaki_(kof),4,27,
+mae_(blue_revolver),4,27,
+madoka_(abubu),4,27,
+madlax,3,27,
+madara6k,1,27,
+madan_no_ou_to_michelia,3,27,
+mad_catz,3,27,
+macne_nana_petit,4,27,
+maclo,1,27,
+mackerel_(sabanoneko),1,27,
+machine_robo_chronos_no_gyakushuu,3,27,machine_robo_revenge_of_chronos
+machin4719,1,27,
+macaroni_(piyo4508),1,27,
+mabuchi_(junk_gaming_maiden),4,27,
+lycoris_radiata,3,27,
+lycion,4,27,
+luxion_(mobseka),4,27,
+lunamoon_(style),0,27,
+luna_(tsuki_tsuki!),4,27,
+lumilive,3,27,
+luluce_(30ms),4,27,
+lugh_beowulf,4,27,
+luan_loud,4,27,
+loz_017,1,27,
+loz,4,27,
+lovesheng1314,1,27,
+lovekov,4,27,
+lovecom,1,27,
+love_machine,4,27,
+love_is_blue_(bayonetta),0,27,
+love_death_+_robots,3,27,
+lorem_ipsum,0,27,
+lord_of_knights,3,27,
+looking_at_ass,0,27,
+lonyan_(gurande),4,27,
+longai,1,27,
+lolipantherwww,1,27,
+loke_(fairy_tail),4,27,
+lixiao_lang,1,27,
+liukensama,1,27,
+little_gigant,0,27,
+lisa_78,1,27,
+liran_(iro),1,27,
+linger_ftc,1,27,mu_ye_jun
+lily_salvatana,4,27,
+lilith_aileron,4,27,
+lilith-lily,1,27,
+liliana_(wagaya_no_liliana-san),4,27,
+lighter-than-air_pancake_(genshin_impact),0,27,
+lieat,3,27,
+levka,1,27,
+letro,1,27,
+leon_(vocaloid),4,27,
+lemon_tea_(15058751917),1,27,
+legenders_(idolmaster),0,27,legenders
+legaia_densetsu,3,27,
+lebruitestmoi,1,27,
+leaning_against_vehicle,0,27,
+leaf-chan,4,27,
+lantana0_0,1,27,
+lane_aim,4,27,
+land_rover,0,27,
+lana_liddell-hart,4,27,
+lamase_(41),1,27,
+lal_mirch,4,27,
+lal_mel_martha,4,27,
+lahti-saloranta_m/26,0,27,
+lagombi,4,27,
+lackatask,1,27,
+la_coiffe_(granblue_fantasy),4,27,
+kz_(dbz_kz),1,27,
+kyona_(konakona),1,27,
+kyon-kyon_(jashin-chan_dropkick),4,27,
+kyakya,1,27,
+kuzaki_rinko,4,27,
+kuyuu_(somari),1,27,
+kuusen_otome_sky_valkyries,3,27,
+kusama_daisaku,4,27,
+kusakihara_toshiyuki,1,27,toshiyuki_kusakihara
+kurozu_(hckr_96),1,27,
+kuroyanagi_ruriko,4,27,
+kurosawa_kakeru,4,27,
+kurosaki_ranmaru,4,27,
+kurosabi_neko,1,27,arknightsdrawer
+kuroonu_(gyakuro),1,27,
+kuroniko,1,27,
+kuroki_rio,4,27,
+kuroi-chan_(kuroi_moyamoya),4,27,
+kuroda_miki,4,27,
+kuro_no_haijin,1,27,
+kuro_(parade),1,27,
+kurenai_yuuji,1,27,
+kurarome,1,27,
+kuranaga_kozue,4,27,
+kuran_(yourcatissick),1,27,
+kuori_chimaki,1,27,
+kumo_ryuun,1,27,
+kumiromi_of_harvest,4,27,
+kumino_(soup),1,27,
+kumashige,1,27,
+kumari_kojika,4,27,
+kukuri_(kamisama_dolls),4,27,
+kuina_(escapegoat),1,27,
+kuhl-notes,1,27,
+kubo_shiori,4,27,
+ktyon3,1,27,
+kozure_ookami,3,27,lone_wolf_and_cub
+kousou,1,27,
+kousetsu_(nonosuke),1,27,
+koukaku,1,27,
+kouga_gennosuke,4,27,
+koubou,1,27,
+kou89,1,27,
+kotosuzu,1,27,
+kosumone,1,27,
+koshian_(taiyaki),1,27,
+kosaka_yukina,4,27,
+korutopi,4,27,
+koroni_(nkrgs),1,27,
+koromono,1,27,
+konchiki,1,27,yamada_hideki
+konbini_dmz,3,27,
+komipe512,1,27,
+kominato_haruichi,4,27,
+kominami_asumi,4,27,
+komaniwa_pumpkin,1,27,
+kokutou_eiri,1,27,
+kokuko_(tsukiyotake),1,27,
+kokonogi_kisara,1,27,
+koi_wa_sekai_seifuku_no_ato_de,3,27,love_after_world_domination
+koi_q!,3,27,
+kohaku_sogo,1,27,
+kogure_kakeru,4,27,
+kogeneko,1,27,
+kogamura_uril,4,27,
+koeln_(azur_lane),4,27,koln_(azur_lane)
+kochouka,1,27,
+knight_of_astora_oscar,4,27,
+kleine_erdbeere,1,27,
+kiwi0314,1,27,
+kittika_thaworn,1,27,
+kitsuneko_azarashi,1,27,gomahige-wk
+kishimoto_sae,4,27,
+kishimoto_lucia_raimu,4,27,
+kisaragi_yuki_(sora_saki),1,27,
+kisaragi_ren_(mahjong_soul),4,27,
+kisaragi_rei,4,27,
+kisaragi_hayato,4,27,
+kisaragi_chitose,4,27,
+kisaragi_(new_year's_wish)_(azur_lane),4,27,
+kisaragi_(kisaragi0930),1,27,
+kisalaundry,1,27,
+kirimiya_mizuki,4,27,
+kirima_aki,1,27,aki_(pixiv23643267)
+kirihota,1,27,
+kirbyheimi,1,27,
+kirby_squeak_squad,3,27,
+kio_is_here,1,27,
+kinoshita_teitoku,1,27,
+kingsglaive_garb,0,27,
+kinggainer,1,27,
+king_rouzer,0,27,
+king_of_diamonds,0,27,
+king_(one_piece),4,27,
+kinaee,1,27,
+kimmi,1,27,
+kimi_wo_aogi_otome_wa_hime_ni,3,27,
+kilt_hide,0,27,
+killing_stalking,3,27,
+kikuzuki_tarou,1,27,
+kikuno_mira,4,27,
+kikimora_(puyopuyo),4,27,
+kiki_(tsunya),1,27,
+kflamingo,1,27,
+keyyan,1,27,
+kevin_herault,1,27,"kiwine,trantkat"
+keun_ju_kim,1,27,
+kess_(coffeechicken),4,27,
+keqing_(genshin_impact)_(cosplay),0,27,
+kenzaki_raki,1,27,
+kenta_(ittla),4,27,
+kenjin_(pageratta),4,27,
+kemeo,1,27,
+keino_(midorinoko),1,27,
+kei_nagase,4,27,
+kei_(trouble_spirit),4,27,
+kei_(0497),1,27,
+kazanniro,1,27,
+kazama_akari,4,27,
+kawazu_kento,1,27,
+kawarazakike_no_ichizoku,3,27,
+kawa_yui,4,27,
+katou_riko_(niichi),4,27,
+kasu_(pixiv108801),1,27,
+karimero_(calimer0),1,27,
+kariginu_(gureviyo582),1,27,
+karasuma_tadaomi,4,27,
+karappa,1,27,
+kaoshuzi,1,27,
+kanzuki_yuu,1,27,kanduki_yuu
+kanta-kun,1,27,
+kanojo_no_carrera,3,27,my_favorite_carrera
+kanohi_(bionicle),0,27,
+kanogawa_hiro,1,27,kanoukawa_hiro
+kanna-mika,1,27,
+kania,1,27,
+kanaiko,1,27,
+kanade_(reveryearth),1,27,
+kamura_(rain_prophet),4,27,
+kamimori_kuuraku,1,27,
+kamihara_ichi,4,27,
+kamen_rider_shin,4,27,
+kamen_rider_ryuga,4,27,
+kamen_rider_delta,4,27,
+kameko_(denki-gai),4,27,
+kamegawara_nikuo,1,27,
+kamakura_shio,4,27,
+kakiiro_(takuya),1,27,
+kakihou,1,27,
+kakashino_kakato,1,27,
+kajika_(kabaneri),4,27,
+kai_(kai_013),1,27,kai_(pixiv84265)
+kagura_ren,1,27,
+kagura_mikazuchi,4,27,
+kagari_touya,4,27,
+kagari_chiho,4,27,
+kagari_(kgr_000),1,27,
+kagamine_rin/len_happy_14th_birthday,3,27,
+kagamine_lenka,4,27,
+kagami_kouhei,4,27,
+kafi_(cafee_kuu),1,27,
+kaede_shiroppu,1,27,
+kaede_haya_(lo0831lo),1,27,
+kadowaki_mai,4,27,
+kadej,1,27,
+kabisuke,1,27,
+kabi_killer,1,27,
+k3nnyn3v,1,27,
+k-sha,4,27,
+jyn_erso,4,27,
+juujiro_eru,1,27,
+juno_(element_hunters),4,27,
+juli_kidman,4,27,
+jugem-t,1,27,
+jueduihuoli,1,27,
+jue_buzheng_huo_gu_gu_zi,1,27,
+judy_(artist),1,27,
+judo_throw,0,27,
+jougasaki_mika_(cosplay),0,27,
+jojon,1,27,
+johnny_silverhand,4,27,
+jody_know-grow-help,1,27,
+jiu_(gaydio_zrong),4,27,
+jitsu_wa_imouto_deshita.,3,27,
+jinrai_(frame_arms_girl),4,27,
+jin_(mitosupa),1,27,
+jiji_(creature),4,27,
+jetty,0,27,
+jesus_revenge,0,27,
+jessica_jefferson,4,27,
+jericho_(nanatsu_no_taizai),4,27,
+jeorge_(fire_emblem),4,27,
+jelonzo_(splatoon),4,27,echizen_(splatoon)
+jasmine_t,1,27,
+jasmine_(disney)_(cosplay),0,27,
+january_(coyote_ragtime_show),4,27,
+jamijami,1,27,
+jairo,1,27,
+jaina_preventer,4,27,
+jaibus,1,27,
+jaguchi_(bbbing),1,27,
+jagariko,0,27,
+jade_harley,4,27,
+jack-o'-lantern_cutout,0,27,
+izumi_(ko8),1,27,
+izumi_(gyee),4,27,
+izanami_kyouko,4,27,
+iwasaki_rio,4,27,
+iwamochi,1,27,
+iwami_shouko,1,27,
+iwagakure_symbol,0,27,
+iumu,1,27,
+itsumo_hokuto,4,27,
+itou_junji_(style),0,27,
+itoshiki_majiru,4,27,
+itoko_(i_t_k),1,27,
+itoi_kaede,4,27,
+itagaki_atsushi,1,27,ikariya_atsushi
+issun_boushi_(ilmtkimoti),1,27,
+isolde_(kof),4,27,
+ishida_(danganronpa),4,27,
+isher_(liangzi_tai_hongcha),4,27,
+isekai_harem_monogatari,3,27,
+isarai_kanara,1,27,himu_hifumi
+isana_yashiro,4,27,
+iro_ni_ide_ni_keri_waga_koi_wa,3,27,
+irise,1,27,
+irie_keisuke_(handn),1,27,
+iracco,1,27,
+iona_(wixoss),4,27,
+io_(ike_ike),1,27,
+inuyama_(inuhill),1,27,
+inufusa_yuno,4,27,
+interceptor_(ff6),4,27,
+insitsukun,1,27,
+inoue_iris_(sdustz),4,27,
+inori_taimatsu,1,27,
+innkeeper_loraine,4,27,
+inkinesss,1,27,kanas
+inahara,1,27,
+inagita,1,27,
+inada_(masu_shu),4,27,
+imouto_paradise!,3,27,imouto_paradise
+imminent_hit,0,27,
+imari_yuka,1,27,
+imahia,1,27,
+ikinokore!_shachiku-chan,3,27,
+ignatius_(fire_emblem),4,27,ignis_(fire_emblem_if)
+igeta_(pattern),0,27,
+igawa,1,27,
+ideolo_(style),0,27,
+identity_(vocaloid),3,27,
+iczer-2,4,27,
+icy02,1,27,
+ichimatsu_akebi,1,27,
+ichimai_ugou,1,27,digital_weed
+ichibanboshi_no_rei,4,27,
+ice_axe,0,27,
+ibm_(ajin),0,27,
+i!,1,27,
+hzrn_(ymj924),1,27,
+hyde_(hyde_(tabakko)),4,27,hyde_(mr.holmes)
+hy_(hem_oo),1,27,
+hwanhee,1,27,
+huu00,1,27,
+hundun_no_bifang,1,27,
+hunchback,0,27,
+huge_afro,0,27,
+huberta_von_bonin,4,27,
+huaimeng,1,27,
+hua,1,27,
+hs2000,0,27,
+houshou_kisaki,4,27,
+houkagi_yuu,1,27,
+hotoke_party,1,27,
+hossy,1,27,
+hosimaru,1,27,
+hoshinomiya_kunon,4,27,
+hoshi_no_otome_to_rikka_no_shimai,3,27,
+hoshi_mirin,1,27,
+hortensia_saga,3,27,
+horarezonu,1,27,
+hood_(rosey_love_poem)_(azur_lane),4,27,hood_(rose_love_poem)_(azur_lane)
+honyaru_(nanairo39),1,27,
+honshou_chizuru,4,27,
+honky,1,27,
+hong_hai-er,4,27,
+hone_onna,4,27,
+homura_(aristocrat-y),1,27,
+homa_kura,1,27,
+hom_(atelier),4,27,
+holotempus,0,27,
+hole_in_ceiling,0,27,
+holding_headgear,0,27,
+ho-cki,1,27,
+hizuki_mitsuna,4,27,
+hiyorimi,1,27,
+hiyami_aki,4,27,
+hitoba,1,27,hi_to_ba
+hisagi_hotaru,1,27,
+hirumae,1,27,
+hirayama_(hirayamaniwa),1,27,
+hiotan,4,27,
+hinotta,1,27,
+hinoborukaku,1,27,
+hinnu@ao,1,27,
+hinata_nao_(iwamotochou_geinousha),4,27,
+hinata_(eine_blume),1,27,
+himura_yuu,4,27,
+himeno_yuka,1,27,yrzirst
+hime-chan_(ramchi),4,27,
+hillprime,1,27,
+hikounin_sentai_akibaranger,3,27,
+hiking_pole,0,27,trekking_pole
+hikage_(sennen_sensou_aigis),4,27,
+hika_(ozeluk),1,27,
+highena,1,27,
+hiden_aruto,4,27,
+hida_sayuri,4,27,
+hershey's,0,27,
+hero_(merc_storia),4,27,
+hercules_beetle,0,27,
+heracles_(fate)_(cosplay),0,27,
+henreki_san,1,27,
+helipad,0,27,
+hejia_abby,1,27,
+hebai_xiaochuan,1,27,
+heath_(fire_emblem),4,27,
+heart_(kw0hahgk9nenhgs),1,27,
+heal_&_squeeze,3,27,
+headphone_+_musume,3,27,
+hazama_shouko,4,27,
+hayashibara_megumi,4,27,
+hayasaka_(neoneet),1,27,
+hayami_shizuku,4,27,
+hayami_momoka,4,27,
+hayami_jin,1,27,
+haty,1,27,
+hatsune_(leaden_heart07),1,27,
+hatohara_mirai,4,27,
+hateri,1,27,
+haruta_(h-oh),1,27,
+harusame_(moyuna412),1,27,
+harumi_(haru_nee_to_no_dousei_shuumatsu),4,27,
+harukaze_bou,1,27,
+haruka_faraway716,1,27,
+harugasaki_kanau,4,27,
+haru_urara_(first_urara_saku_sakura)_(umamusume),4,27,
+harry_tribeca,4,27,
+hanuu_(kemomiku),1,27,
+hanged_man_(stand),4,27,
+hangaku_(araara0616),1,27,
+hanesaki_nekome,1,27,
+hanahira!,3,27,hanahira
+hanagamigendai,1,27,
+hamster_on_shoulder,0,27,
+hamo_(user_zuky3273),1,27,
+hammer_and_sickle_bikini,0,27,
+hall,0,27,
+hakusoto,1,27,
+hakubishin_tamazusa,4,27,
+hakuaki,1,27,
+hakohako-does,1,27,
+haitani_ran,4,27,
+haikeiyu,1,27,haikei
+haiji_kiyose,4,27,
+haguro_(aoki_hagane_no_arpeggio),4,27,
+hago,1,27,
+hachimitsu_(hati718),1,27,
+hachifuku,1,27,
+hachi_(aimu),1,27,
+habetrot_(last_origin),4,27,
+haapi_jang_p,1,27,
+ha_yun,4,27,
+gzmon,1,27,shiro_(aotatikoma)
+gyeoggi_3_ban,3,27,
+gv_natsuno,1,27,
+guuchun,1,27,
+guroo_(shine119),1,27,
+gundam_bael,4,27,
+gundam_00f,3,27,
+guido_(grandia),4,27,
+guardian_place,3,27,
+grs-,1,27,
+grilled_tiger_fish_(genshin_impact),0,27,
+grgrton,1,27,
+gremyashchy_(ryan_greythorn),4,27,
+gregorio_zeppeli,4,27,
+great_auk_(kemono_friends),4,27,
+grand_harem,3,27,
+grace_(kor)_(racehorse),4,27,
+grabbed_breast_over_shoulder,0,27,
+gougoku,1,27,
+gotou_jin,1,27,
+gooompy,1,27,
+gomadare_(310329),1,27,
+golden_knight_(elona),4,27,
+gold_egg_(p&d),0,27,
+goggle-kun_(splatoon),4,27,
+godzilla_singular_point,3,27,
+godzilla_final_wars,3,27,
+godai_yuusaku,4,27,
+glyph,0,27,
+gloomy_bear,4,27,
+glavenus,4,27,
+glassy0302,1,27,
+girouette_(mega_man),4,27,girouette
+girls_und_panzer_little_army,3,27,
+girls_of_the_wild's,3,27,
+ginryuu,1,27,
+ginga_no_kou,1,27,galactic_small_yellow
+gilbart_chris_von_muir,4,27,"edward_chris_von_muir,gilbert_chris_von_muir"
+giji-p,1,27,
+giant_cat,0,27,
+ghost-q,1,27,
+geso_(nekomachi),1,27,
+geronimo_(third_ascension)_(fate),4,27,
+gerisita,1,27,
+genesis_rhapsodos,4,27,
+general_grievous,4,27,
+gelato_(girls_und_panzer),4,27,
+ge-ha,1,27,
+gasora,1,27,
+garudamon,4,27,
+garcia_lovelace,4,27,
+garbancobean,1,27,
+ganbare!_nakamura-kun!!,3,27,
+gammei_(live_a_hero),4,27,
+gamma_1,4,27,
+gals!,3,27,super_gals
+gaki_deka,3,27,
+g=hikorou,1,27,
+g36_(mini_maid)_(girls'_frontline),4,27,
+g36_(50_days_with_g36)_(girls'_frontline),4,27,
+g-arcane,4,27,
+fuziwara_ayumu,1,27,aym
+fuyuno_usako,4,27,
+fuusuke_(f4989),1,27,
+fuurin_sou,1,27,epli_menta
+fuunsaiki,4,27,
+fuuma_shuriken,0,27,
+futoshi_(tekidai),1,27,
+futaba_riko,4,27,
+fushoku,1,27,
+fushigi_na_merumo,3,27,fushigi_na_melmo
+furuichi_takayuki,4,27,
+furon_(froon),1,27,
+full_armor_unicorn_gundam,4,27,
+fukurau,1,27,
+fukuma,1,27,
+fuku_(pukuyan),1,27,
+fujishiro_takeshi,1,27,
+fujisaki_aya,4,27,
+fujimi_keisuke,1,27,
+fujimaru_ritsuka_(female)_(fgo_orchestra),4,27,
+fujikura_miyabi,4,27,
+fujii_yui,1,27,
+fuji-san,4,27,
+fudou_(kakko_kari),1,27,
+fudepenbrushpen,1,27,
+fuan_no_tane,3,27,
+fs-project,1,27,
+frog_button,0,27,
+friedbirdchips,1,27,
+fridaynightcat,1,27,
+frey_knowles,4,27,
+fp-6_(girls'_frontline),4,27,
+foxbat_(cannonball),4,27,
+four-leaf_clover_necklace,0,27,
+food_on_tail,0,27,
+folding_stool,0,27,
+fluno,1,27,
+florges_(red),4,27,
+flickering,0,27,
+flehmen_response,0,27,
+flaurel,1,27,
+flash_cards,0,27,
+flam_(81),1,27,
+fk,1,27,
+five_of_clubs,0,27,
+fish_hat,0,27,
+firin,1,27,
+fire_punch,3,27,
+fire_bomber,0,27,
+fins_(pixiv29142276),1,27,
+finn_fish,4,27,
+fillia_einhart_(eirgallant),4,27,
+figurehead_(figurehead67),1,27,
+figu@mate,3,27,
+feylin,4,27,
+fenrir_(shinkai_no_valkyrie),4,27,
+felyne_(cosplay),0,27,
+felching,0,27,
+feel_nilvalen,4,27,
+fav_(mahoiku),4,27,
+fattybot,1,27,
+fairchild,3,27,
+fage,1,27,
+exocet,1,27,
+exmile,1,27,matt_(ex-mile)
+excarabu,1,27,
+exasperation,0,27,
+evy_(mabinogi),4,27,
+evolved_virgin_killer_sweater,0,27,
+eve_genoard,4,27,
+eufrik,1,27,
+etto_eat,1,27,
+erun_girl,4,27,
+ernest,1,27,
+eridan_ampora,4,27,
+epiki_(nenekoneko0715),1,27,
+ephraim_(fire_emblem)_(cosplay),0,27,
+envel203,1,27,envelolip
+entrapta,4,27,
+enshou,4,27,
+enomiya_milk,4,27,
+ennui_orz,1,27,
+enkou_shoujo,3,27,
+enemy_yari,4,27,
+endou_rino,4,27,
+endou_minari,1,27,
+enchantress_(dungeon_and_fighter),4,27,
+emone04,1,27,
+emilia_(saga_frontier),4,27,
+emerada_etuva,4,27,
+emden_(warship_girls_r),4,27,
+embryo,0,27,
+elza_forte,4,27,
+elu_butyo,1,27,
+els_(ljhlee12),1,27,
+elroadmaster,1,27,
+elmina_niet,4,27,
+elizabetta_(futagohime),4,27,
+elisalotte,4,27,
+elfboiii,1,27,heikky
+elephantus,4,27,
+elena_peoples,4,27,
+electronic_entertainment_expo,0,27,
+elach,1,27,
+eku_(threshold),1,27,
+eini_a_lukkanen,4,27,
+eight_of_clubs,0,27,
+eicam,1,27,
+ei_(fran3bon),1,27,
+ehekatl_of_luck,4,27,
+egomeshi,1,27,
+efg,1,27,
+eddybird55555,1,27,
+ebina_hina,4,27,
+ebimayo,1,27,
+dynatron_(mighty_no._9),4,27,mighty_no._3
+duzie_e,1,27,
+dusty_attenborough,4,27,
+duck_costume,0,27,
+ds_a,1,27,
+dryad_(seiken_densetsu),4,27,
+dragon_sword,0,27,
+dragon_slayer_(series),3,27,
+draculala_(gashi-gashi),4,27,
+dozle_zabi,4,27,
+doushite-chan,4,27,
+double_arts,3,27,
+dotaku,1,27,
+dorm_leader,4,27,
+dorian_oishiiyo,1,27,
+dorcas_(fire_emblem),4,27,
+doomer_girl,4,27,
+donnaoneone,1,27,
+dondongarara,1,27,
+dokkanohukukaityou,1,27,
+dog_slippers,0,27,
+dog_(gabriel_dropout),4,27,
+dnlin,1,27,
+dl_mask,1,27,
+diverse_system,1,27,
+diverse_order,3,27,
+dissidia_final_fantasy_nt,3,27,
+dishwashing_soap,0,27,
+disembodied_breast,0,27,
+disco_(sbr),4,27,
+dire_(jojo),4,27,
+diras,4,27,
+diluc_(kfc)_(genshin_impact),4,27,
+diethard_ried,4,27,diethard_reid
+diana_(umineko),4,27,
+diana_(a-soul),4,27,
+diamond_ring,0,27,
+diagonal-striped_neckerchief,0,27,
+detached_tail,0,27,
+destoroyah,4,27,
+desk_slam,0,27,
+desert_sorceress,4,27,
+depayama_(depaty),1,27,
+densou_(kinnikuhunter),1,27,
+densetsu_no_yuusha_da-garn,3,27,brave_of_legend_da-garn
+demonlorddante,1,27,
+demon_king_fish,1,27,
+demeter_(destiny_child),4,27,
+dekasugiburun,1,27,
+defense_distributed_liberator,0,27,
+defender_(girls'_frontline),4,27,
+deerling_(winter),4,27,
+deep_impact_(umamusume),4,27,
+decim_(death_parade),4,27,dequim
+deareditor,1,27,
+deadpool_(movie),3,27,
+ddok,1,27,
+ddd_(nicoseiga51845241),1,27,
+daydarion,1,27,day-tan
+dawnlover_01,1,27,
+dawkinsia,1,27,
+dashinoya,1,27,
+daru_dayu,4,27,
+darling_dance_(vocaloid),3,27,
+darkwinslow,1,27,
+darksider_(star_wars),0,27,
+dark_fencer_(granblue_fantasy),4,27,
+dakikano,3,27,
+dainana_sugune,1,27,seventh_sugune
+daimon_masaru_(digimon_savers),4,27,
+daigorou,1,27,
+dai_zu_san,1,27,
+dai-guard,3,27,
+daamiyan,1,27,
+d.g,1,27,
+cyclops_(girls'_frontline),4,27,
+cyberdemon,4,27,
+cyan_sung-sun,4,27,sung-sun
+cursed_sword_(monster_girl_encyclopedia),4,27,
+curran_(dragalia_lost),4,27,curran
+cure_honey_(cosplay),0,27,
+cure_honey_(coconut_samba),4,27,
+cure_fortune_(anmitsu_komachi),4,27,
+cure_dream_(cosplay),0,27,
+cuntboy_with_male,0,27,
+cum_in_footwear,0,27,
+cuisine_dimension,3,27,
+cu_(fsy84738368),1,27,
+crystal_hair_ornament,0,27,
+crusader_(darkest_dungeon),4,27,
+crowdesu,1,27,
+cross_punisher,0,27,
+crisis,4,27,
+crimsonseed,1,27,
+creature_inside,0,27,
+crazyodin,1,27,
+crank,0,27,
+crackingtaro,1,27,
+cow_(shadow),1,27,
+cov-r,1,27,emma_201
+corkscrew,0,27,
+cony_(la_locura),1,27,
+contract_monster,0,27,
+conago,1,27,
+company_captain_yorshka,4,27,
+comin,1,27,
+comiket_83,3,27,
+cojohn,1,27,
+coffee1223,1,27,
+code_geass:_soubou_no_oz,3,27,code_geass:_oz_the_reflection
+code:_exotic_(elsword),4,27,
+cocone_fatima_rosa,4,27,
+cockatrice,0,27,
+closz,1,27,
+cleveland_(muse)_(azur_lane),4,27,
+clarith,4,27,
+clariate,1,27,
+clan_senki,3,27,
+claire_(clarevoir),4,27,
+citroen,0,27,
+cicada_hug,0,27,
+chyt,1,27,
+church_bell,0,27,
+chun_(ya_i_memories),1,27,
+christine_ogawa,1,27,
+choobackers32,1,27,
+chongtian_yixiao_shualuanfei,1,27,
+chobo_ume,1,27,
+chirori,1,27,
+chip_le_cree,1,27,
+chintara10,1,27,
+chimame_chronicle,3,27,
+child_(elsword),4,27,
+chikusawa,1,27,
+chikuma_mask,0,27,
+chikaburo,1,27,
+chii-chan_kaihatsu_nikki,3,27,
+chida_daisuke,1,27,
+chiaki_riko,4,27,
+cherry_(10013717),1,27,
+checkered_shorts,0,27,
+charlotte_(ogami_kazuki),4,27,
+chanary,1,27,
+chameleos,4,27,
+chakku_illust,1,27,
+chaccu,1,27,
+cervina,1,27,
+certificate,0,27,
+celestino_cialdini,4,27,
+catzz,1,27,
+catmesi,1,27,
+castle_dedede,0,27,
+carnelian_(hohenlohe_chillysand)_(arknights),4,27,
+carnage_(marvel),4,27,
+carmine,4,27,
+caren_hortensia_(cosplay),0,27,
+cardigan_pull,0,27,
+captain_hannah,4,27,
+cappy_(kirby),4,27,
+canele,0,27,
+camus_(uta_no_prince-sama),4,27,
+camie_(one_piece),4,27,
+callie_(splatoon)_(cosplay),0,27,
+call_h,4,27,call_(komaki_shinsuke)
+cafe_cuties_gwen,4,27,
+caeda_(bridal)_(fire_emblem),4,27,
+c3t_gg,1,27,
+c-eye,1,27,
+byakuran,4,27,
+buta_no_liver_wa_kanetsu_shiro,3,27,heat_the_pig_liver
+busujima_riou_mason,4,27,
+burying,0,27,
+bule,1,27,
+brunnya_(fire_emblem),4,27,brunya
+bren_(girls'_frontline),4,27,
+brellom,1,27,
+breast_piercing,0,27,
+breast_beam,0,27,
+bonklers,0,27,bonkuras
+boku_2020,1,27,
+bogyaku_no_m,1,27,
+bobu_(bovyo222),1,27,
+boar_tail,0,27,
+blz_xxx,1,27,
+blustar_sky,1,27,ky941022
+blue_penis,0,27,
+blooming,0,27,
+blood_on_snow,0,27,
+bloocarrot,1,27,
+black_(kekkai_sensen),4,27,
+bkyuuc,1,27,
+bittenhard,1,27,
+biting_testicles,0,27,"ball_bite,ball_biting"
+bita,1,27,
+bishamonten_(noragami),4,27,
+bioshock_2,3,27,
+bimi_(mgk),4,27,
+bikini_(dragon_ball),4,27,"bulma's_mother,dr._brief's_wife,mrs._briefs"
+big_bang_beat,3,27,
+bewitching_elise,4,27,
+bethly_rose_daisley,4,27,
+benoit_picard,1,27,
+benisuzume_(gauna),4,27,
+benevolent_leanne,4,27,
+benbe,1,27,
+belle_(girls_und_panzer),4,27,
+bekki_natsumi,4,27,betsuki_natsumi
+bee_and_puppycat,3,27,
+beam_shield,0,27,
+battlefield_1942,3,27,
+battle_lover_scarlet,4,27,
+battle_academia_lux,4,27,
+batayu,1,27,
+bass_drum,0,27,
+basil_hawkins,4,27,
+baschyf,1,27,
+baroque,4,27,
+baphomet_(ragnarok_online),4,27,
+baofu,4,27,
+bankongping,1,27,
+banirou,1,27,
+bangku_an,1,27,
+bangeningmeng,1,27,
+bane,4,27,
+bandai_daisaku,4,27,
+balancing_ball,0,27,
+balance_beam,0,27,
+bakusou_k,1,27,
+baku_(onegai_my_melody),4,27,
+baikamo_(flower_knight_girl),4,27,
+back_arrow,3,27,
+b-gata_h-kei,3,27,"b_gata_h_kei,yamada's_first_time"
+azema,1,27,"azema_(azima_kazira),dong_azema"
+az_(kroneko007),1,27,
+ayao77,1,27,
+ayame_(senran_kagura),4,27,
+aya_chan1221,1,27,
+aya-chan_(smoke),4,27,
+awa_(12687414),1,27,
+avatar_(movie),3,27,
+avalo_pizarro,4,27,
+ava_(a-soul),4,27,
+autumn_boar,1,27,
+auro_drm,1,27,
+atlantis:_the_lost_empire,3,27,
+athenacg,1,27,
+athena_(megami_tensei),4,27,
+athena_(fire_emblem),4,27,
+atelier_iris_grand_phantasm,3,27,
+atbk,1,27,
+atashi_no_kakedashi_yuusha-sama,3,27,
+asuka_pyon,1,27,
+astdevir,1,27,
+assa,1,27,
+asp@juken,1,27,
+ashita_kara_ganbaro,1,27,
+ashishi,1,27,
+asatomjj,1,27,
+asagami_(hnt16303310),1,27,
+arumaji_(kiss_kill_lila),1,27,
+aru-sci,1,27,
+artur_(fire_emblem),4,27,
+artofhuan,1,27,
+arno_dorian,4,27,
+armeyer_dinze,4,27,
+arko_(acucs),1,27,
+ark_tr,1,27,
+arima_souichirou,4,27,
+ariduka_anto,4,27,
+arian_rod,4,27,
+ariake_(azur_lane),4,27,
+aria_(schwarza97rw0rd),1,27,
+area_aquamarine,4,27,
+arctozolt,4,27,
+araya_kei,1,27,
+arawado,1,27,
+araime_yasuri,4,27,
+aquamary,1,27,
+ap_bar,1,27,
+aonagi_hayate,1,27,
+aona_masao,1,27,
+aoki_reimu,1,27,
+aoiyamagi4,1,27,
+aoi_subaru,1,27,
+aoba_yukichi,1,27,
+anzu_(peace@pieces),4,27,
+ant_(fenixant),1,27,
+annyui_(cookie),4,27,
+anna_kokoro_(anko),1,27,
+anmin_daiteitoku,1,27,
+anko_(w-anco),1,27,
+animal_yokochou,3,27,animal_yokocho
+angelica_(epic_seven),4,27,angelica_(epic7)
+angelchama,1,27,
+andoain_(arknights),4,27,androne_(arknights)
+ancient_killers_(phantom_of_the_kill),4,27,
+anarista,4,27,
+anarchy_ptck,1,27,
+anaheim_electronics,0,27,
+amon_koutarou,4,27,
+amistr_(ragnarok_online),4,27,
+amigo_(hua_cao),1,27,hugao_maogao
+ameyoshi,1,27,
+americano_exodus,3,27,
+ameen_naksewee,1,27,
+amazon_tree_boa_(kemono_friends),4,27,
+amano_rino,4,27,
+amano_misaki,1,27,
+amano_kotone_(ichigo_jet),1,27,jet_(angelravishment)
+amano_ai,4,27,ai_amano
+amane_satsuki,1,27,
+amanagi_el,4,27,
+amamiya_sora,4,27,
+amamiya_shiina,4,27,
+amal-amaru,1,27,
+amakaze_sora,1,27,
+amakata_miho,4,27,amagata_miho
+amakase_minatsu,4,27,
+amai-pai,1,27,
+amagiri_dia,1,27,
+amabane_nodoka,4,27,
+alphamon,4,27,
+alo_(m-o-k-e-k-e),1,27,
+almaria,4,27,
+alisa_landeel,4,27,
+alisa_ilinichina_amiella_(cosplay),0,27,
+alielle,4,27,
+alicia_viewstream,4,27,
+alice_gear,0,27,
+alice_fiction,3,27,
+alice_(nikke),4,27,
+alec_(arc_the_lad),4,27,
+alarmy,1,27,
+alalen,1,27,
+akutsu_mabu,4,27,
+akumu_(hiziiiiii),1,27,
+akizuno,1,27,
+akitake_seiichi,1,27,
+akisawa_machi,1,27,
+akiranime,1,27,
+akino_(gokosei),1,27,
+akiaki_(mofumo-freak),1,27,
+aki_(pixiv57498743),1,27,
+akatsuki_reipu,1,27,
+akatsuki_rabbit,1,27,
+akatsuki_katsuie,1,27,akatsukikatsuie
+akatsuki_(spacecraft),4,27,
+akao,1,27,
+akali_(cosplay),0,27,
+akakinndaiya,1,27,
+aka_no_ripika,4,27,
+ajishio_(loli_king),1,27,loli_king
+aiura_mikoto,4,27,
+airuko_(justduet),1,27,
+airrabbityan,1,27,
+airi_(robotics;notes),4,27,
+aimoto_rinku,4,27,
+agnimon,4,27,agunimon
+agatsumaattsu,1,27,
+after3310,1,27,
+afjc,1,27,
+aesop's_fables,3,27,
+adachi_eiko,4,27,
+acea_n,1,27,
+ababarion,1,27,
+aaoyama,1,27,
+aaaa_(gumi_niku),1,27,
+a-teru_haito,1,27,
+a-_-z_(b1u49i5nsk),1,27,
+946083d1,1,27,
+8-ball,0,27,
+7dango7,1,27,
+72producer,1,27,
+66_(roro),4,27,
+532,1,27,
+51_(gigamiso),1,27,
+4hands,1,27,
+403_(artist),1,27,
+3dbabes,1,27,
+2dcg,1,27,
+27_degrees,1,27,
+19_okeke,1,27,
+13844,0,27,
+1000-chan,4,27,
+zzzi_gn,1,26,
+zzz_zhi_he,1,26,zzz_zhihe
+zwei!!,3,26,
+zum,1,26,
+zubon_no_onara,1,26,
+zombie_loan,3,26,
+zoids_wild,3,26,
+zillionaire,1,26,
+zigrock,1,26,
+zhi_xixi,1,26,
+zhao_yun,4,26,
+zetxune,1,26,
+zerotted,1,26,
+zeroamu,1,26,
+zero_two_driver,0,26,
+zenobia_(xenoblade),4,26,yaegiri_(xenoblade)
+zelda_ii:_the_adventure_of_link,3,26,"adventure_of_link,the_adventure_of_link"
+zaqloxxx,1,26,
+zaphylla,1,26,
+zangetsu,4,26,
+zang_li,1,26,
+zanak_abalonic,4,26,
+z_(knkr1025),1,26,
+z.boat,1,26,
+yuzuriha_(etra-chan_wa_mita!),4,26,
+yuutopia,1,26,utopia_(fantomubureibum2)
+yuuouji_ouka,4,26,
+yuunagi_show,1,26,
+yuuko_(nora0x0),1,26,
+yuuki_miyaka,4,26,
+yuu_(natsuyasumi.),4,26,
+yutif,1,26,
+yutapo,1,26,
+yusuke_oshida,1,26,
+yurt_the_silent_chief,4,26,
+yunikon,1,26,u_nico_47
+yumoto_motoyu,1,26,
+yumihara_hina,4,26,
+yumiao79,1,26,
+yume_no_crayon_oukoku,3,26,
+yume_de_yozora_wo_terashitai,0,26,
+yukkronii_(ouro_kronii),4,26,
+yukiyukidaihuku,1,26,
+yukiyago,1,26,
+yukion,1,26,
+yukino_aguria,4,26,
+yukimi_(poco),4,26,
+yukihira_furano,4,26,
+yukihiko,1,26,
+yukihana_(awa),1,26,
+yukiguni_(ykgn),1,26,
+yukichi_(bancho99),1,26,
+yuki_miku_(cosplay),0,26,
+yuki_(best010409),1,26,best010409
+yuke_yuke!!_trouble_makers,3,26,mischief_makers
+yukaris,1,26,
+yukai_nao,1,26,
+yuga_(abubu),4,26,
+yue_natsuki,1,26,
+yudepan_(yuri_no_sugata),1,26,
+yucchan_(drizzle_star),1,26,
+youken,1,26,
+yougasu,1,26,
+you_(yawnmgmg),1,26,
+yoshizuna,1,26,
+yoshikoshi_(mother_3),4,26,violet_(mother3)
+yoshikawa_miki,1,26,
+yoshi-j,1,26,
+yoruno_mahiru,1,26,hitohada_mahiko
+yoru_no_nai_kuni_2,3,26,
+yokoshima_(tirimoti),1,26,"imo_(pixiv68139),noshimochi_(pixiv68139)"
+yoko_belnades,4,26,
+yokkoisho_(evtd8734),1,26,
+yoboshi,1,26,
+yoake,1,26,
+yinanhuanle,1,26,
+yf_studio,1,26,
+yayuyoron,1,26,
+yatarime,1,26,
+yata_masahara,1,26,
+yasukouchi_yoshiko,4,26,
+yashiro_ryo,1,26,
+yasaka_himi,4,26,
+yaobin_yang,1,26,
+yangsan_(2991076090),1,26,
+yaminabe_(szhal14),1,26,
+yameshoko,1,26,
+yamato_transport,3,26,
+yamata_no_orochi,4,26,
+yam_(dr_yammy),1,26,
+yajuu_no_gankou_(meme),0,26,
+yaebi_(at2.),4,26,
+yachi_(fujiyasu0616),1,26,
+yabudatami,1,26,
+yabame_yume,4,26,
+y_tyano,1,26,
+xxxx,1,26,
+xuefei_(snowdrop),1,26,
+xuan_chu,1,26,
+xingnai,1,26,
+xiayu93,1,26,
+xiaohan6th,1,26,
+xiaoguang_(you_can_eat_the_girl),4,26,
+xianming_lin,4,26,
+xia_ekavira,4,26,
+xi-988,4,26,
+xano,1,26,
+wuyue_qinglu,1,26,
+wulfsaga,1,26,
+wslasher,1,26,
+wosero,1,26,
+world_(magical_drop),4,26,
+wolfram_von_bielefeld,4,26,
+wm_(chawoo1357),1,26,
+wittyz,1,26,
+wirttian,1,26,
+wire_fence,0,26,
+wilmarina_noscrim,4,26,
+wickebine_tres,4,26,
+whitemoor,1,26,
+white_innertube,0,26,
+white_helmet,0,26,
+white_angel,3,26,
+whipping_hair,0,26,
+wazuka_(wzzc),1,26,
+watanabe_ruriko,1,26,
+watanabe_kawa,1,26,wtnbkw
+washout008,1,26,
+warlock_3_(sekaiju),4,26,
+waporif,4,26,
+wan_mame,1,26,
+wakan_tanka_mugen,4,26,
+vulcan_(ejel2000),1,26,
+vtol,0,26,
+vsi0v,1,26,
+voyager_(second_ascension)_(fate),4,26,
+vlad_tepes_(eiyuu_senki),4,26,
+vivid_world_(love_live!),0,26,
+virgo76612871,1,26,
+vinkyfre,1,26,
+vilepluff,1,26,
+vigilante_-boku_no_hero_academia:_illegals-,3,26,
+very_long_beard,0,26,
+vertical-striped_footwear,0,26,
+verdurous_anima,0,26,
+verdandi_(p&d),4,26,
+venom_snake_(cosplay),0,26,
+veloce_visrin,4,26,
+velcozz,1,26,
+vel_(kamuo),4,26,
+vegeta_(cosplay),0,26,
+varie7k,1,26,
+vantsuki,1,26,
+vanitas_(vanitas_no_carte),4,26,
+valgarv_(slayers),4,26,
+valerie_(blue_revolver),4,26,
+valentina_tavolilla,1,26,
+vagabond_(elden_ring),4,26,
+utatoki,1,26,
+usurai,1,26,
+ushiwakamaru_(third_ascension)_(fate),4,26,
+ushimaki_riko,4,26,
+ushiina,1,26,
+urota_shimapann,1,26,
+urna,0,26,
+urinal_bottle,0,26,
+urami_koi_koi_urami_koi.,3,26,
+urakata_hajime,1,26,
+uraha_(air),4,26,
+ura_(mukimeineko),1,26,
+upside-down_text,0,26,
+unusualpie,1,26,
+unknownnoname0,1,26,
+unizo,1,26,
+uni_(rabbit_beat),1,26,
+unfortunate_hero,1,26,
+ump9_(the_world's_melody)_(girls'_frontline),4,26,
+"ump45_(""just_this_time."")_(girls'_frontline)",4,26,
+umigame_(dragon_ball),4,26,
+umi_zenbiraki,1,26,
+umai_neko,1,26,
+ukero,1,26,
+ukamaru,1,26,
+uha,1,26,
+udon-udon,1,26,
+uchuu_no_senshi,3,26,
+uchida_fumiaki,4,26,
+uchi_no_isourou_ga_sekai_wo_shouaku_shiteru!,3,26,
+uc,1,26,
+ubuntu,3,26,
+u-head_trainer,4,26,
+u-1212,4,26,
+tyrant,4,26,
+twitter_sparkles,0,26,
+twitter_bird,0,26,
+twilightend,1,26,
+tweedledee_(alice_in_wonderland),4,26,tweedledee
+tuning_fork,0,26,
+tt_(poposujp),1,26,
+tsuzuki_kazuhiko,1,26,
+tsunenori,1,26,
+tsune-hime,4,26,
+tsume3mai,1,26,
+tsukiyama_sena,4,26,
+tsukiya_sakumi,1,26,
+tsujiya_okuyasu,1,26,
+tsugumori,4,26,
+tsubasansan,1,26,
+tsubaki_(p&d),4,26,
+trundle,4,26,
+trrcmb,1,26,
+trickster_(artist),1,26,
+trickstar_(ensemble_stars!),0,26,
+trashcan_lid,0,26,
+transparent_bathtub,0,26,
+tranquilizer_(bestcenter),1,26,
+tracer_(elsword),4,26,
+toyotomi_hideyoshi_(sengoku_basara),4,26,
+tousaka_hiyoko,4,26,
+toujou_bun,1,26,
+tougenkyo_momo,1,26,moricchi
+totuka,1,26,
+tornadus_(therian),4,26,
+tormod_(fire_emblem),4,26,
+torisuke_(koinohito),1,26,
+tore_(ksg666xxx),1,26,
+torayamachi_academy_school_uniform,0,26,
+topgear,1,26,
+tonshi,1,26,
+tongue_hold,0,26,
+tonebird,1,26,
+ton_(artist),1,26,
+tomoki_k,1,26,
+tomoe_(queen's_blade_unlimited),4,26,
+tomiya_natsuki,4,26,
+tokonaru,1,26,
+tokiniha_netai_(pm8sleepy),1,26,
+toketa_(toketa15),1,26,
+toiro_gawon,1,26,
+togepi_egg,0,26,
+toe_fu,1,26,
+todoroki_rei,4,26,
+toda_fuyumi,4,26,
+tobias_leviathan,1,26,
+to_e,1,26,
+tki,1,26,
+tiuana_rui,1,26,
+tinysnails,1,26,
+times_square,0,26,
+tigrevurmud_vorn,4,26,
+tifa_amakura,1,26,tifa-amakura
+thomas_emily,4,26,
+this_is_fine_(meme),0,26,
+the_tower_(tarot),0,26,
+the_skeld,0,26,
+the_omoti,1,26,
+the_naked_sun,3,26,
+the_keeper,4,26,
+the_hurting,4,26,
+tetori_rina,1,26,
+teruru_(teruru0321),1,26,teruru0321
+teru_(grafroller),1,26,
+terrace,0,26,
+tera_(aurahack),4,26,
+tepechi,1,26,
+tenrou_kunagi,4,26,
+tenkawa_akito,4,26,
+tenchi_muyou!_gxp,3,26,tenchi_muyo_gxp
+tempty_(voice_actor),1,26,tempty_(voice_actress)
+teletelo,1,26,
+tekkotsu_(tekkotz),1,26,
+tea_leaves,0,26,
+te_okure,1,26,
+tazawa_(odamura),1,26,
+tayutama_2,3,26,
+tawara_hiryuu,1,26,
+taue_shunsuke,1,26,
+tattoo_machine,0,26,
+tatsu_wan,1,26,
+tatamiya,1,26,
+tarousanlove1,1,26,
+tapwing,1,26,
+taplaos,1,26,
+tanpi,1,26,
+tanno_shii,1,26,
+tank_(left_4_dead),4,26,
+tanizakura_shidare,1,26,
+tanaka_yubiseiakikana,4,26,
+tanaka-san_(danna_ga),4,26,
+tan_(knock_up),1,26,
+tami_moon,1,26,
+tamanosuke,1,26,
+tamamo_no_mae_(type-moon_racing)_(fate),4,26,
+tamajam,1,26,
+takoyaki_shoujo,1,26,
+takoyaki_pan,0,26,
+takobue,4,26,
+tako_ashin,1,26,
+taki_noboru,4,26,
+takenoko_(flamingo_garden),1,26,
+takayama_akira,1,26,
+takasaki_asuka,4,26,
+takarai_yua,4,26,
+takahashi_urara,4,26,
+takahashi_aoi,4,26,
+takagawa_sumire,4,26,
+tajima_naoto,1,26,
+taisowbukurow,1,26,
+taimanin_kurenai,3,26,
+tailyellow,4,26,tail_yellow
+tail_tale,3,26,
+tadai_nu,1,26,
+tada-kun_wa_koi_wo_shinai,3,26,
+tachibana_sugane,4,26,tachibana_sugune
+tachibana_ritsuka,4,26,
+t-doll_contract,0,26,
+t-55,0,26,
+sys_(suisei),1,26,
+sword_art_online:_infinity_moment,3,26,
+sweetwitch,1,26,
+sweet_reverie,1,26,
+swedish_flag_print,0,26,
+suzushiro_haru,1,26,
+suzumeda_kaori,4,26,
+suzuki_yuma,4,26,
+suzuke,1,26,sudzuke
+suzu_(user_kdex8732),1,26,suzurinjj
+suzu_(suzuame329),1,26,
+suu_(clover),4,26,
+suttoboke,1,26,
+susuki_(flower_knight_girl),4,26,
+surigoma,1,26,
+surgical_scissors,0,26,
+superheroine_haruhi,4,26,
+super_robot_wars_x,3,26,
+super_plugsuit,0,26,
+sunomono,1,26,
+sunahara_shimako,4,26,
+sunagawa_yoshiharu,4,26,
+sumitomo,1,26,
+suminohirune,1,26,
+sukuna-bikona_(tokoyo_no_higashi),1,26,
+sukuda_mizuo,1,26,
+sukoyasu_r,1,26,
+suiruu_(yuriusu),1,26,
+sugoidere,1,26,
+sugito_akira,1,26,
+sugimotty_nova,1,26,
+sugarhigh,1,26,
+sugai,1,26,
+sue_(pso2),4,26,
+sudkampsin,1,26,
+succubus_(renetan),4,26,
+succubus_(oekakizuki),4,26,
+subu_art,1,26,subudraws
+substitution_technique,0,26,
+stygian_zinogre_(armor),4,26,
+stuart_pot,4,26,
+stu_diho,1,26,
+strike_witches_(lionheart_witch),3,26,
+street_fighter_i,3,26,
+strawberry_daifuku_(food_fantasy),4,26,ichigo_daifuku_(food_fantasy)
+strapless_dildo,0,26,
+store_room,0,26,
+stone_(ksorede),1,26,hibikiwar_(tech)
+stinger_(splatoon),4,26,
+stflash,1,26,
+starfruit,0,26,carambola
+star_guardian_kai'sa,4,26,
+star_and_crescent,0,26,
+standard_manufacturing_dp-12,0,26,
+stacked_hats,0,26,
+spunky_knight,3,26,
+sport_girl_(saberrung),4,26,
+spoon_hair_ornament,0,26,
+split_image,0,26,
+spikemuth,0,26,
+spider-gwen_(cosplay),0,26,
+sphinx_of_giza,0,26,
+sphere-stc,1,26,
+special_g_(spg),1,26,
+space_girl_(aetherion),4,26,
+space_core,4,26,
+sovetsky_soyuz_(warship_girls_r),4,26,
+souzan_kurasuke,1,26,
+soul_hackers_2,3,26,
+sorrysap,1,26,
+soranana_(sorabananasan),1,26,soranana_(kinirobanana)
+sonobe_kazuya,4,26,
+sono_na_ha_eros,1,26,
+soma_(closers),4,26,
+sogeking,4,26,
+softmax,3,26,
+snowdrop_(flower_knight_girl),4,26,
+sniper_team,0,26,
+smol_fauna,4,26,
+sman,1,26,
+sleepsack,0,26,
+skill,0,26,
+skadi's_seaborn_(arknights),4,26,
+six_of_hearts,0,26,
+sissela_(black_survival),4,26,
+sirris_of_the_sunless_realms,4,26,
+sing&smile_(vocaloid),3,26,
+sinad_aruatjanapat,1,26,sinadjaru
+silvia_aizetto,4,26,
+silverms2,1,26,
+silverbin,1,26,
+silver_(eden),4,26,
+signum_(nanohanano77),1,26,
+sig_sauer_552,0,26,sig_552
+siena_(moratoriummaga),1,26,
+shuttle_(ksb0123),1,26,
+shuryukan,1,26,
+shurock,1,26,
+shuri_(9818),1,26,
+shuizao_(little_child),1,26,
+shu_(hokuto_no_ken),4,26,
+shower_cap,0,26,
+shousuke_(skirge),1,26,
+shop_p,1,26,shopp
+shooing,0,26,
+shizuru_(daikoukaizidai),1,26,
+shizukawashi_sumi,1,26,
+shishizaru,1,26,
+shishigaj5,1,26,
+shiroxai,1,26,
+shiroserika,1,26,
+shiromantou,1,26,
+shirohanamame_taichou,1,26,
+shirogane_tobari,4,26,
+shirayuki_maho,4,26,
+shiranai_love_oshiete_love,0,26,
+shirakawa_mayo,1,26,
+shiraishi_nagomi,4,26,
+shiraishi_mamim,1,26,
+shiragixx,1,26,
+shira_(kunseitamago),1,26,
+shippu_man,1,26,
+shion_humine,1,26,
+shinta_(the-mattyaman),1,26,
+shinonome_ryuu,1,26,
+shinonome_natsuhi,4,26,
+shinohara_takashi,1,26,
+shinohara_sera,4,26,
+shinogi_k,1,26,
+shinkai_kiiro,1,26,
+shinjuku_cat,0,26,
+shinba_yagi,1,26,
+shimetta_masuta,1,26,
+shima_udon,1,26,
+shima_(aliceanna0518),1,26,
+shikkoku_no_hono_mikado,1,26,
+shiisaa_right,4,26,
+shigure1213,1,26,
+shida_kuroha,4,26,
+shibuya_tomochika,4,26,
+shibasaki_kazuha,4,26,
+shi0n_krbn,1,26,
+sheska_(fma),4,26,
+sheria_blendy,4,26,
+shemagh,0,26,
+shawn_flowers,1,26,
+sharlona,1,26,
+shantae_and_the_seven_sirens,3,26,
+shamko,1,26,
+shakuhachi,0,26,
+shaapu,1,26,
+sexting,0,26,
+seventh_happiness,3,26,
+seven_of_spades,0,26,
+serizawa_yoshiko,4,26,
+serenya,4,26,
+seo_yoon,4,26,
+sentinel_ga_koku_ni_aru,1,26,
+senna_(bleach),4,26,
+senko_(oshiro_project),4,26,
+senjougahara_hitagi_(cosplay),0,26,
+senguuji_yamato,4,26,
+sena_(konosuba),4,26,
+semi-perfect_cell,4,26,
+selvalanch,1,26,
+self_fisting,0,26,
+selene_kaguya,1,26,
+sekigahara_ei,4,26,
+seirei_fantasia,3,26,
+seira_(yuki_touko),4,26,
+seino_(sasakike1305),1,26,
+seijuro_shin,4,26,
+seihai_(sailor_moon),0,26,
+seastar,1,26,
+scyllei,4,26,
+scratching_stomach,0,26,
+schoolish_girl_(idolmaster),0,26,
+scharnhorst,0,26,
+sb_(hiratsei),1,26,
+sayaka_(ponkichi),1,26,
+saya_(blood_the_last_vampire),4,26,
+sawarabi_(sawarabi725),1,26,
+saviala,1,26,
+saver_(fate/prototype),4,26,
+savannah_(yugino),1,26,
+saturday_night_live,3,26,
+satsuki_meguru,1,26,maple_may-gumi
+satoumizu_(j5xsyd9jk),1,26,
+satou_masayuki,1,26,
+satom,1,26,
+satoko_(papapa_sikakici),1,26,
+satoimo_(jia64097023),1,26,
+sasha_(animal_crossing),4,26,
+saraswati_(kore_wa_zombie_desu_ka?),4,26,
+sarasuty,1,26,
+sara_(tales),4,26,
+santyoku,1,26,
+santa_fung,1,26,fung_kin_chew
+sanshirou,1,26,
+sano_toshihide_ga_anata_no_senyou_gengaman_ni_narimasu,3,26,
+sania_(agent_aika),4,26,
+sandrum,1,26,
+sandeul,1,26,
+samurai10932,1,26,
+samuneturi,1,26,
+samira,4,26,
+samidare_satsuki,1,26,
+sam_wells,1,26,
+salamander_(vocaloid),3,26,
+sakuyamochi,1,26,
+sakusan_(ss-awesome),1,26,
+sakurazuki_kira,4,26,
+sakuragi_yuzuki,1,26,
+sakura_mikan,4,26,
+sakatsuki_sakana,1,26,
+sakamoto_miko,4,26,
+sakamoto_(pompa),1,26,
+sakaki_karen,4,26,karen_(koisuru_ojou-sama_wa_papa_to_yobitakunai)
+sakaikurinea,1,26,
+saitou_atsushi,1,26,
+saitou_ako,4,26,
+saint_(ragnarok_masters),4,26,
+saimin_douga_de_nama_iki_nama_omo_ga_nama_iki_suru_namahousou_~jitaku,3,26,
+saijou_k,1,26,
+saeldam,1,26,
+sachiel_(mugen),4,26,
+sabinaok,1,26,
+saber_(lapis_lazuli_dress)_(fate),4,26,
+sabashi,1,26,
+s_ko,1,26,
+s.claw,1,26,
+s-kan,1,26,
+ryuuzaki_sakuno,4,26,
+ryuuzaki_(ereticent),1,26,
+ryuukishi07_(style),0,26,
+ryumaira,1,26,
+ryou_(pixiv779953),1,26,
+ryon_y0421,1,26,
+ryokuyou_(greencosmos),1,26,cosmos-yop
+ryochan_(papipopi),1,26,
+rye-beer,1,26,
+rusher,1,26,
+rurukuru,1,26,
+ruri_ookami,4,26,
+rune_venus,4,26,
+rune_factory_2,3,26,
+runar,4,26,
+rumil,1,26,
+ruisselait,1,26,
+ruined_(league_of_legends),0,26,
+rudy_(brave_soul),4,26,
+ruby-eye,1,26,
+ross_(senyuu),4,26,
+roppako,1,26,
+rondo_(poccal),1,26,
+ronaldo_(kyuuketsuki_sugu_shinu),4,26,
+romary_stone,4,26,
+roman_buriki,1,26,
+roland_(ms_pigtails),4,26,
+rokusho,1,26,
+rogue_division_agent,0,26,
+rogu_(log_264),1,26,
+rodney_(future_seaside_admiral)_(azur_lane),4,26,rodney_(future_beach_admiral)_(azur_lane)
+robo_misucha,1,26,
+robin_(the_iconoclasts),4,26,
+robin16,1,26,
+rkmlady,1,26,
+rita_(sweethex),4,26,
+rino_(sennen_sensou_aigis),4,26,
+rinneko_(rinne_paint),1,26,
+rinmeikan_girls_school_uniform,0,26,
+ringo_(soul_hackers_2),4,26,
+rike_lee,1,26,
+rikapo,1,26,
+rigu_(3di),1,26,
+riding_outfit,0,26,
+rico_(fbn3),1,26,
+richard_i_(fate),4,26,
+rice_shower_(longed-for_scenery)_(umamusume),4,26,
+ri_cochet,1,26,
+rero_rero,0,26,
+rerisa_(kyouno),4,26,
+requiem_for_the_phantom,3,26,
+rengoku_shinjurou,4,26,
+ren_(irotoridori_no_sekai),4,26,
+ren'ai_shimasen_ka?,3,26,
+ren'ai_saiban_(vocaloid),3,26,
+rekishitai_hoonoji,1,26,
+reki_(lichk),1,26,
+rek'sai,4,26,
+reichi,1,26,
+rei_hana_(nachis514),1,26,
+regis_lucis_caelum,4,26,
+redmoa,1,26,
+red_sonja,4,26,
+recoilless_rifle,0,26,
+realman,1,26,
+rca_connector,0,26,
+rayphenos,1,26,
+rathian_(armor),4,26,
+rath_(fire_emblem),4,26,
+rasukii_(pamiton),1,26,
+rapbitan,1,26,
+ranni_the_witch_(cosplay),0,26,
+randou_rino,4,26,
+randle,1,26,
+ramototu,1,26,
+ramblin'_evil_mushroom,4,26,
+rald_schwarz,4,26,
+rainybluebell,3,26,
+rainbow_hair_ornament,0,26,
+rai,4,26,
+rafu_(motrer1),1,26,
+radral,1,26,giisu
+rad_shiba,4,26,
+rabiane_(sinisistar),4,26,
+rabbirio,1,26,
+r_star,1,26,
+r.h_no.1_fuyumomo,1,26,
+quildren_(ike_eveland),4,26,
+quicksand,0,26,
+queen_(fft-0),4,26,queen_(fftz)
+quatraise,1,26,
+q_qree,1,26,
+q.a._kinshachi,1,26,
+pyra_(xenoblade)_(prototype),4,26,
+pyocomon,4,26,
+purple_mittens,0,26,
+puroshimin,1,26,
+pupa,3,26,
+puffphox,1,26,
+puff_(go!_princess_precure)_(human),4,26,
+probably_noon,1,26,
+prez_(star_driver),4,26,
+pretty_(zoza),4,26,
+powhu,1,26,
+powered_gm_cardigan,4,26,
+power_pro_kun_pocket_10,3,26,
+potters_wheel_pose,0,26,
+postblue98,1,26,
+poseidon_(shuumatsu),4,26,
+poppu,1,26,
+popolocrois,3,26,
+pool_party_zoe,4,26,
+pool_party_miss_fortune,4,26,
+ponkotsu_musume_no_nichijou,3,26,
+ponishi.,1,26,
+pome_charo,1,26,
+polpo,4,26,
+poking_ass,0,26,
+poketto,1,26,
+pokemon_the_movie_2000:_the_power_of_one,3,26,pokemon_m02
+poke_bean,0,26,
+podone,4,26,
+plumeria_(flower_knight_girl),4,26,
+pkp_(l.a.d.y)_(girls'_frontline),4,26,
+piranosuke,1,26,
+pipin_try,1,26,
+pino_0_0,1,26,
+pink_santa_costume,0,26,
+pink-chan_(petenshi_(dr._vermilion)),4,26,
+pin_karo,1,26,
+pimple,0,26,
+pietro_maximoff,4,26,
+pieces_/_wataridori_no_somnium,3,26,
+picolette_xiii,1,26,
+pichu_(cosplay),0,26,
+phinci,1,26,
+philtomato,1,26,philip_bawasanta
+phantasy_star_i,3,26,
+peter_strasser_(chronos's_kalendae)_(azur_lane),4,26,
+peridot_(jewelpet),4,26,peridot_(jewel_pet)
+peppa_pig,4,26,
+penis_in_eye,0,26,cock_in_eye
+pendulum_(game),3,26,
+pendreon,1,26,
+pekakiu,1,26,
+peeler,0,26,
+pechika_(mahoiku),4,26,
+pechi_(peeechika),1,26,
+peacock_(p-location),1,26,
+paya_(alunair),1,26,
+partio,4,26,
+parkjinsuky,1,26,
+park_sung_woo,1,26,park_sung-woo
+para-medic_(mgs3),4,26,
+papiko_(papiko8901),1,26,
+panzer_dragoon_orta,3,26,
+panye,1,26,yuewu_zhu_youdi
+pandra,3,26,
+panda_(tekken),4,26,
+pan_de_peace!,3,26,
+pan_(xeno)_(dragon_ball),4,26,
+palm_strike,0,26,
+pakupaku_choppu,1,26,
+paisen,1,26,cogara
+p.a._works,3,26,
+oziozi_kamuy,1,26,
+ozawa_tomohiro,1,26,
+oyamada_kouta,4,26,
+ovan_(.hack//),4,26,
+ousawa_kanata,1,26,
+ouka_(kazuki_seihou),4,26,
+ouhina,1,26,
+otsuo,1,26,log-omi
+ototoi_(eevees813),1,26,
+otono_(bkt4b),1,26,
+otonashi_maria,4,26,
+otonashi_hatsune,4,26,
+otome_riron_to_sono_shuuhen:_ecole_de_paris,3,26,
+otaut-r,1,26,
+oshiete_re:maid,3,26,
+oshiego_ni_kyouhaku_sareru_no_wa_hanzai_desu_ka?,3,26,
+orta,4,26,
+orokudesu,1,26,
+orihara_sachiko,1,26,
+orichalcum_reycal_duo,3,26,
+oribe_tsubaki,4,26,
+oribe_aoi,4,26,
+oresky,4,26,
+oreko,4,26,
+ore_no_ue_de_agaku_rokunin_no_togime,3,26,
+ore_dake_haireru_kakushi_dungeon,3,26,the_hidden_dungeon_only_i_can_enter
+opa-opa,4,26,
+oozora_haruka_(danball_senki),4,26,
+ootsubo_yuka,4,26,
+ootani_momoko,4,26,
+oosawa_yayoi,1,26,ousawa_yayoi
+oogure_maiko,4,26,
+onyang,1,26,
+onna_shachou,4,26,
+only_haruka,1,26,
+onemine_nene,4,26,
+oncidium_(flower_knight_girl),4,26,
+omurice_(roza4957),1,26,roza4957
+omul,1,26,
+omocha-san,1,26,
+ommmyoh,1,26,
+olteca_(kamen_rider_revice),4,26,
+olha_(ys),4,26,
+olg,1,26,
+old-night,1,26,night-old
+olbern,4,26,
+okyurita,1,26,
+okutani_toro,1,26,
+okuro_zmzm,1,26,
+okota_(pixiv),1,26,
+okayama_shinako,1,26,
+ojyomu,1,26,
+ojiya_(fueru_gohan),1,26,
+oimo_mushi,1,26,uco07_(oimo_mushi)
+off-color_semen,0,26,
+oda_nobunaga_(swimsuit_berserker)_(third_ascension)_(fate),4,26,
+octopus_print,0,26,
+octopus_hair_ornament,0,26,
+ochanomizu_ran,4,26,
+ocean_prince,4,26,
+obsidian_(houseki_no_kuni),4,26,
+oastlv,1,26,
+o-mars,1,26,
+nyto_iso_(girls'_frontline),4,26,
+nyromide,1,26,
+nyan_nyan_nyan_(idolmaster),0,26,
+nyan-nyan_dance,0,26,
+nyago,1,26,
+nuwara_eliya,1,26,
+nush_(xter),4,26,
+nuruko_(nuru55555),1,26,
+nurse_angel,4,26,
+nurikabe_(character),4,26,
+numahito,1,26,
+nukotama,1,26,
+nukogami_(minniecatlove21),1,26,
+nuira,1,26,
+nue0,1,26,
+nuavic,1,26,
+noronosuke,1,26,
+norimaki_gajira,4,26,
+nona_(death_parade),4,26,
+non_(nonbiriya_mini),1,26,
+noli-pee_(little_stupid),1,26,
+noix_tranche,4,26,
+nodoka_(hot_spring)_(blue_archive),4,26,
+noddy_(kirby),4,26,
+nochatea,1,26,
+nobunaga_hazama,4,26,
+noboru_gongenzaka,4,26,
+no_scarf,0,26,
+no_cardigan,0,26,
+nixie_tube,0,26,
+nishizawa_saburou,1,26,
+nishiyama_serina,4,26,
+nishi_kita,1,26,
+nire_hikari,4,26,
+nini_tw99,1,26,
+ningzzz,1,26,
+ninchan,1,26,
+nikki_(miracle_nikki),4,26,
+niki_(nikism1987),1,26,
+niizato_aoi,4,26,
+niijima_makoto_(cosplay),0,26,
+niiichi_21pk,1,26,
+nier_(old),4,26,
+niduca_(hio_touge),1,26,
+nic_(kevin),1,26,
+nguyen_tam_lee,1,26,
+ng_sam,1,26,
+netsuzou_trap,3,26,ntr:_netsuzou_trap
+netaballerina,4,26,
+neo_zeong,4,26,
+nene_(toji_no_miko),4,26,
+nemesis_(girls'_frontline_2),4,26,
+nekomarieru,1,26,
+nekoichi,1,26,
+nekohanemocha,1,26,lindanyunyu
+nekoashifumare,1,26,
+negative_frames,3,26,
+nc_empire_(circle),1,26,
+navio,1,26,
+natural_wind,1,26,
+natubudou,1,26,
+nattsu_(nicoseiga),1,26,
+natsusaki_yomi,4,26,
+natose,4,26,
+nasuka_gee,1,26,
+narumiya_inori,4,26,
+narukami_aki,4,26,
+narasaka_touru,4,26,
+napoleon_(one_piece),4,26,
+naotaka_(bh5fnkbd),1,26,
+naonao_(sherry),1,26,
+naoki_(xhju8282),1,26,
+nano_(nazuna0512),1,26,
+nannann,1,26,
+nanatsume,1,26,
+nanasawa_yuni,4,26,
+nanakamado_anno,1,26,
+namasomi,1,26,
+namakarashi,1,26,
+nakatani_seiichi,1,26,
+nakaryo0404,1,26,
+naiya,1,26,
+nagi_(kannagi)_(cosplay),0,26,
+nagai_gou_(style),0,26,
+nac0n,1,26,
+mzz,1,26,
+myuka_(kyouka_jinrui_amunero),4,26,
+myomu,1,26,
+mwo_imma_hwag,1,26,
+mwgi,1,26,
+mv_(spacecraft),4,26,
+mutugorou_u,1,26,
+muttan_(ashiru-f),1,26,
+murimajimuri,1,26,
+muraosamu,1,26,
+mura_(mapisha),1,26,
+munakata_misae,4,26,
+mumumuka,1,26,
+muiko_i,1,26,
+mugi_(mugimugi_9kv),1,26,
+mr._karate,4,26,
+mp-443_(girls'_frontline),4,26,
+moyuchocolats,1,26,
+moyashi_(oekaki_touhou),1,26,zqm9r33pu6btvj5
+mouri_teru,4,26,
+mount_rushmore,0,26,
+moumoku_pen_gin,1,26,
+motoharu_(danshi_koukousei),4,26,motoharu_(danshi_koukousei_no_nichijou)
+mosou_keito,1,26,
+moses_sandor,4,26,
+moriya_ako,1,26,
+morioka_moriko,4,26,
+morinozuka_takashi,4,26,
+moriko_kyoho,4,26,
+mordecai_(fire_emblem),4,26,
+moonlit_bear_(vocaloid),3,26,
+moofie_(vtuber),4,26,
+monster_collect,3,26,
+monodevil,1,26,
+mongolian_spot,0,26,
+momota_ro5555,1,26,
+momose_rin,1,26,
+momomo_udameda,1,26,
+momiahair,1,26,
+mokere_shikkan-sha,1,26,
+mokaffe,1,26,
+mojakkoro,1,26,ichii_k
+model_a_(mega_man),4,26,model_a
+mochinoki,1,26,
+moccasins,0,26,
+mob3,1,26,
+mo_geng,1,26,
+mo-mo,1,26,
+mo-mantai,1,26,
+mmr_magazine_mystery_chousa_han,3,26,
+mk/ret,1,26,
+mizuz,4,26,
+mizuoka_magu,1,26,
+mizuno_takahiro,4,26,
+mizuno_shinya,1,26,
+mizukoshi_moe,4,26,
+mizuki_(anda),4,26,
+mizugame,1,26,
+miyazawa_midori,4,26,
+miyazaki_yukichi,1,26,
+miyayoshi_(bricola),1,26,bricola
+miyanogi_jiji,1,26,
+miyama_tsubame,4,26,
+miyakura_haruto,1,26,
+miyahara_mimikaki,1,26,
+mitsumata,4,26,
+mitsubasa_miu,1,26,
+mitsu336,1,26,
+mitomaton,1,26,
+mito_w,1,26,
+mitasarenai_pale_color_(project_sekai),0,26,
+mitani_kanae,4,26,
+misty_hollow,4,26,
+missile_(ace_attorney),4,26,missile_(gyakuten_saiban)
+misato_miyu,1,26,
+mirii_oreano_yakumo,4,26,
+miranda_lotto,4,26,
+mira_shamaliyy,1,26,
+minior_(green_core),4,26,
+minigob,4,26,
+ming_qian_luo,1,26,
+minazuki_sho,4,26,
+minazuki_(aqua-city),1,26,
+minamo_iruka,1,26,marrons_glaces
+minamino_tsubasa,4,26,
+minami_rika,4,26,
+minami_hinata,4,26,
+minako-san,4,26,
+minakami_kurena,1,26,
+min_suha,4,26,
+mimuji_(shirobako),4,26,
+mille-feuille,0,26,
+milla_maxwell_(maid),4,26,
+milkytiddyboy,1,26,
+miles-df,1,26,
+mikejima_madara,4,26,
+mike_doscher,1,26,
+mikami_riku,4,26,
+miin_(toukotouya),1,26,
+mii_(yuureidoushi_(yuurei6214)),4,26,
+miharu_(ringo_sui),4,26,
+midori_no_ruupe,1,26,
+midori_hemo,4,26,
+mido006,1,26,
+midarezaki_yuuka,4,26,
+mezamero,1,26,
+meu_(spectral_souls),4,26,
+metroid:_samus_returns,3,26,
+meteor_(yamashou),1,26,
+metaphor_(artist),1,26,
+metal_hairband,0,26,
+metal_detector,0,26,
+messer_(mobile_suit),4,26,
+merusuke,1,26,
+merumo,4,26,
+meru_rumi,1,26,
+meringue,0,26,
+meremero,1,26,rosarian666
+meowwniz,1,26,
+meoon,1,26,
+menad_shisei,4,26,
+memusu,4,26,
+memory342,1,26,
+melt_(artist),1,26,
+mekeko,1,26,
+meisai,1,26,
+megumu,1,26,
+megumi_(piyo7piyo9),1,26,
+meganeno_dokitsui,1,26,
+megami_kouhosei,3,26,"candidate_for_goddess,pilot_candidate,the_candidate_for_goddess"
+mega_man_star_force_3,3,26,ryuusei_no_rockman_3
+mega_man_5,3,26,rockman_5
+medusa_(monster_girl_encyclopedia),4,26,
+mechanical_broom,0,26,
+mecha_kaku_man,1,26,
+mcr,1,26,
+mchiefy,1,26,
+may_wong,4,26,
+maxiart,1,26,
+maws_(splatoon),4,26,
+matsuo_mono,1,26,
+matou_sakura_(street_choco-maid),4,26,
+maternity_dress,0,26,
+matcha7611,1,26,
+match_(scp115),1,26,
+matado,1,26,
+masturbation_from_behind,0,26,
+master_mummy_(arms),4,26,
+masso_nullbuilt,1,26,
+masamori_ikemo,1,26,
+masaki_(star8moon),1,26,
+masai_no_senshi,1,26,
+maro_no_kanja_wa_gatenkei_2,3,26,
+mario_&_luigi:_superstar_saga,3,26,
+marina_liteyears,4,26,
+margaret_(abubu),4,26,
+marco_polo_(the_queen_of_hearts)_(azur_lane),4,26,
+maou_skun,1,26,
+maosanmu,1,26,
+manryou_(flower_knight_girl),4,26,
+manjji,1,26,
+manglifer,1,26,
+mandaman,1,26,
+manbou_no_suiso,1,26,
+manannan_mac_lir_(second_ascension)_(fate),4,26,
+manami030,1,26,
+man_in_the_mirror_(stand),4,26,
+mamaito,1,26,
+malinda_(shingeki_no_bahamut),4,26,beth_(shingeki_no_bahamut)
+male_swimwear_pull,0,26,
+makusu,1,26,
+makoto1009,1,26,
+makka_na_kedamono,1,26,
+makabe_midori,4,26,
+makabe_masamune,4,26,
+majima_(lycoris_recoil),4,26,
+maianh,1,26,
+mahou_shoujo_wo_mucha_kucha_taoshitai,3,26,
+maguro_(guromaguro),1,26,
+magure_senshi,1,26,
+maguon,1,26,
+magnamalo,4,26,
+magical_mirai_miku_(2014),4,26,magimirai_miku_(2014)
+magdalena_kaczynski,4,26,
+maco_(soliddevil),1,26,
+machine-g.a.p.,4,26,
+maccha_xxxxxx,1,26,
+maagori,1,26,
+m_eme,1,26,
+m950a_(concert_diva!)_(girls'_frontline),4,26,
+m19_(artist),1,26,
+lyuka,1,26,
+lynx_(animal),0,26,
+lynn_loud,4,26,
+lyk_wuyan,1,26,
+lyib,1,26,
+luruko61,1,26,
+lupicam,1,26,
+luoye,1,26,
+luosicheng_5,1,26,
+luo_zi,1,26,
+lunaris_filia,3,26,
+lunar_(lunar_815),1,26,"ame_(mikumikunau),lunar_(mikumikunau39)"
+lum_berry,0,26,
+lulumiya_(abbb1233),1,26,
+ludwig's_holy_blade,0,26,
+luck_gandor,4,26,
+lucier_(7th_dragon),4,26,
+lucarios,1,26,
+lr-300,0,26,
+lpleader,1,26,
+lovely_aina-chan,3,26,
+louise_(dragalia_lost),4,26,
+lost_echoes,3,26,
+lost_driver,0,26,
+lorna_(shining_hearts),4,26,
+lopuii,1,26,
+longhorn_lance,0,26,
+loladestiny,1,26,
+lloyd_(granblue_fantasy),4,26,
+lizlett_l._chelsie,4,26,
+liver_spots,0,26,
+liu_liu,1,26,
+lis,1,26,
+liquid_halo,0,26,
+lip_(lih8),1,26,
+lion_paw,0,26,
+lion_cub,0,26,
+linnkou,1,26,
+ling_qingzhu_(wu_dong_qian_kun),4,26,
+linda_cube,3,26,
+lilith_(the_binding_of_isaac),4,26,
+liliana_vess,4,26,
+lilco,4,26,
+light_bow_shekinah,0,26,
+liger_zero,4,26,
+lieutenant_dan,1,26,
+liely,1,26,
+lielac,1,26,
+lida_romero,4,26,
+libertas_(nyori),4,26,
+li_chunfu,1,26,
+li-e,1,26,
+lexus,0,26,
+lewdlilies,1,26,
+levia,4,26,
+levasol_defense_corps,3,26,
+lesskiss,1,26,
+leo_(warzard),4,26,
+leo...,1,26,leojerus
+leni_(under_the_moon),4,26,
+lemonade_alpha,4,26,
+lelouch_lamperouge_(cosplay),0,26,
+leila_(fire_emblem),4,26,
+leidami,1,26,
+legless,0,26,
+leaning_tower_of_pisa,0,26,
+league_staff_(pokemon),4,26,
+lazy_dungeon_master,3,26,
+lawn,0,26,
+lautes_alltags,3,26,
+latte_(klimspree),4,26,
+lasgun,0,26,
+laon,1,26,
+lani_(ff9),4,26,
+langod,1,26,
+landsknecht,0,26,
+landing_craft,0,26,
+lancer_mina,4,26,
+lalan_fengchu,1,26,
+lajhen2651,1,26,
+lacusblade,1,26,
+la_brava,4,26,aiba_manami
+l4no,1,26,
+l.wolf,1,26,
+kyuri_(suika),1,26,mokomaru
+kyoushoku_soukou_guyver,3,26,"bio-booster_armor_guyver,bio-booster_armour_guyver,guyver,the_bioboosted_armor_guyver,the_bioboosted_armour_guyver"
+kyochuu_rettou,3,26,the_island_of_giant_insects
+kyler_(sweethex),4,26,
+kv-1_(ash_arms),4,26,
+kuukai_(adexi),1,26,
+kusunokiokonogi,1,26,
+kusari_no_shoujo_(vocaloid),3,26,chain_girl_(vocaloid)
+kusanagi_chouen,1,26,
+kuruto.,1,26,
+kurusu_nono,4,26,
+kurumi_rumi,1,26,
+kurotori_chiyoko,4,26,
+kuroton@9610,1,26,
+kuroshiba_kanae,4,26,
+kurosawa_itsuki,1,26,
+kurosaki_rendou,1,26,
+kuroneko86,1,26,
+kuroki_hiromi,4,26,
+kurokagami_ryuuko,4,26,
+kuro_kichi,1,26,
+kuro_emimi,1,26,
+kurii_chasuke,1,26,
+kurama_(urusei_yatsura),4,26,
+kurama-chan_ni_guitte_shitara_pisha_tte_sareta,3,26,
+kurahika,1,26,
+kunitachi_rinka,4,26,
+kunimura_kotone,4,26,
+kun52,1,26,
+kumo_ni_notte,1,26,
+kumakumatc,1,26,
+kumagai_yuuko,4,26,
+kuma_(kuma1_kancolle),1,26,
+kum_haehyun,4,26,
+kul_(ngsensei),1,26,
+kuku,1,26,
+kujiragami_no_tearstilla,3,26,
+kuji_kanesada,4,26,
+kugehi,1,26,
+kuaru_(okamokomon),1,26,
+kt_cano,1,26,
+krogan,0,26,
+kozeni_isari,1,26,
+kowata_akane,4,26,
+koutetsushin_jeeg,3,26,
+koume_(hanamaru_youchien),4,26,
+kouen,1,26,
+korin_(ra-sky07),1,26,
+konohana_inori,1,26,
+kono_healer_mendokusai,3,26,
+konghai_shanren,1,26,
+konbini_dmz_plus!,3,26,
+komori-san,4,26,
+kokutei_n,1,26,
+koi0806,1,26,
+kohuseigetsu,1,26,
+kogomo,1,26,
+kogara_toto,4,26,
+kogara_(frenzied_kotori),1,26,
+koga_taiga,1,26,
+kodatino,1,26,
+koala_(kemono_friends),4,26,
+kkomdastro,1,26,
+kizuna,4,26,
+kizu,1,26,
+kizmel,4,26,
+kiyu_(queue),1,26,
+kiwami133,1,26,
+kiwakiwa,1,26,
+kitsuneco,1,26,
+kitsune_no_botan_(flower_knight_girl),4,26,
+kito_3_tyoki-tyoki,1,26,
+kita_e,3,26,
+kisou_nowora,1,26,
+kishiro_yukito,1,26,
+kishida_nica,1,26,
+kischur_zelretch_schweinorg,4,26,"kishua_zelretch_schweinorg,zelretch"
+kisaragi_saki,1,26,
+kisaki_(strange_s_k),1,26,
+kirobaito,1,26,
+kiriya_naoki,1,26,
+kirito_(cosplay),0,26,
+kirishima_mizuki,4,26,
+kirishima_ikuya,4,26,
+kirisame_tarou,1,26,
+kirin_(company),0,26,
+kiriki_alice,4,26,
+kirarigaoka_middle_school_uniform,0,26,
+kintoki-douji,4,26,
+kinpun_(fgxdw447),1,26,
+king_penguin_(kemono_friends),4,26,
+king_of_clubs,0,26,
+kinagirea,1,26,
+kimven_(wenzisama),1,26,
+kimi_ga_yobu_megiddo_no_oka_de,3,26,
+kim_leeyoon,1,26,
+killia_(disgaea),4,26,
+kikan_bakumatsu_ibun_last_cavalier,3,26,
+kiharatta,1,26,c_kihara
+kifune_mio,4,26,
+kiba,4,26,
+kia_(tumblr),1,26,
+kia_(sekien_no_inganock),4,26,
+khui,1,26,
+khj,1,26,
+kevin_hong,1,26,
+ketanbakar,1,26,
+keshizumi,1,26,
+kerberos,4,26,
+kendo_mask,0,26,
+kellogg's,3,26,
+keiji_asakawa,1,26,
+keidai_3,1,26,kawahara_no_keidai
+kei_s01,1,26,
+keb00b,1,26,
+kazuna,1,26,
+kazuki_hana,4,26,
+kazuki_(kazu-king),1,26,kazuki_(pixiv300776)
+kazufumi_(kaz-newt),1,26,kazufumi_(pixiv95334)
+kazra,1,26,
+kawasumi_(sanzen'in_matora),1,26,
+kawaragi_yuuki,4,26,
+kawagami_raito,1,26,
+katoshigu,1,26,
+kasuki_masato,1,26,
+kashi_(number),1,26,
+karuushi,1,26,
+karukozaka_high_school_uniform,0,26,
+karipa,1,26,
+karen_(artist),1,26,
+kareido_(kaleidoscope),1,26,
+kapimaru,1,26,
+kaoru_kozue,4,26,
+kanou_aogu,4,26,
+kanou_aira,1,26,
+kanoko33,1,26,
+kano_(kanograph),1,26,
+kanna_(inuyasha),4,26,
+kaneko_shizue,1,26,
+kaneki_yushi,1,26,
+kaneda_(aqid),1,26,
+kanamori_maria,4,26,
+kanami33,1,26,
+kaname_mahiro,4,26,
+kamui_aya,1,26,
+kamochomedesu,1,26,
+kamo_noritoshi,4,26,
+kamitsuki,1,26,
+kamishiro_mutsuki,4,26,
+kamisama_to_unmei_kakumei_no_paradox,3,26,"guided_fate_paradox,the_guided_fate_paradox"
+kamioto_musu,1,26,
+kamiki_akinari,4,26,
+kamijou_asahi,4,26,
+kamijororo,1,26,
+kamezou_(kame-zo),1,26,
+kamen_rider_zo,4,26,
+kamen_rider_jack_revice,0,26,
+kamen_rider_geiz,4,26,
+kamen_rider_blade_(king_form),4,26,
+kakouen,4,26,
+kakizaki_hayao,4,26,
+kaiyuna,1,26,
+kai_shiden,4,26,
+kagura_(anomalo-anima),1,26,
+kagkfc1z,1,26,
+kagato_(artist),1,26,
+kaden_shoujo,3,26,
+kaden_(kuzek),1,26,
+kachoo,1,26,
+ka_ji,1,26,
+k2_(before_dawn)_(girls'_frontline),4,26,
+k.g_(matsumoto_zo),1,26,
+juu_mensou_(vocaloid),3,26,ten_faced_(vocaloid)
+jushoro,1,26,
+jure_of_healing,4,26,
+junsui_(omori0310),1,26,hikiomor
+june_(semen_sprinkler_j),4,26,
+journey_to_the_west_(1986_tv_series),3,26,
+jounoin_kaho,4,26,
+jorougumo_(youkai_watch),4,26,
+joi_kun_(senzai_hiyori),1,26,
+john_price,4,26,
+joe_okada,4,26,
+jitsuma,1,26,
+jiron_amos,4,26,
+jiro-knightraider,1,26,
+jinrouki_winvurga,3,26,
+jinnouchi_wabisuke,4,26,
+jinguuji_mari,4,26,
+jin_kisaragi_(cosplay),0,26,
+jihl_nabaat,4,26,
+jiangshi_(chanta),4,26,
+ji-yoon_(jourd4n),4,26,
+jessica_kaios,4,26,
+jessica_de_alkirk,4,26,
+jeri20,1,26,
+jee-hyung_lee,1,26,
+jeanne_(greenmarine),4,26,
+javelin_(operation:_pillow_fight!)_(azur_lane),4,26,
+jam_(zamuchi),1,26,
+jakou_nezumi,1,26,
+jaguar_(car),3,26,
+jagdtiger,0,26,
+jaegan,1,26,
+jacques_de_molay_(saber)_(fate),4,26,
+jacqueline_(show_by_rock!!),4,26,
+jack_heart,4,26,
+jabuchi_you,4,26,
+izumo-ss-yoshitunedenn,1,26,
+izumi_mogu,1,26,
+izru,1,26,
+izayoi-saki,1,26,
+iyojima_anzu,4,26,
+iwako_(eiken3kyuboy),1,26,
+iwaizumi_hajime,4,26,
+ivioss,1,26,
+itsumo_no_you_ni_love_&_peace!!,0,26,
+itooooofu8282,1,26,
+ito_lab,1,26,
+itadaki_shinji,1,26,
+isumi_michiru,4,26,
+isshiki_seiran,4,26,
+isobe_eiji,1,26,isobeageage
+isis-chan,4,26,
+ishizuki_mana,4,26,
+ishizaki_miwako,1,26,
+isayama_hajime_(style),0,26,
+isaf,0,26,
+isabella_(seiken_densetsu_3),4,26,
+iroidori4422,1,26,
+iroha-kuro,1,26,
+iria_(iria_zeiram_the_animation),4,26,
+ioko,1,26,
+inuu_ruru,4,26,
+inuko_(ink0425),1,26,
+inuboshi,1,26,
+introduction,0,26,
+inspecting,0,26,
+inn,0,26,
+ink_(303682546),1,26,
+infinite_justice_gundam,4,26,
+ine_(vtuber),4,26,
+inception,3,26,
+inbit,4,26,
+inaba_tsukuyo,4,26,
+imsofckinlost,1,26,
+imouto_no_seiiki,3,26,
+imitation_lover,3,26,
+ilsa34660285,1,26,
+iken,1,26,
+ike_ko,1,26,
+ihara_natsume,1,26,
+ignitrix,4,26,
+igni_suu,1,26,adorasvp1984
+idiot_sandwich_(meme),0,26,
+ichinose_yuri,4,26,
+ichikawa_yoshiyuki,1,26,
+ichijou_karen,4,26,
+ichigo_(daibouken!_yukeyuke_osawari_island),4,26,
+icarus_(nereid's_discovery)_(azur_lane),4,26,
+iberiko_yuri,1,26,
+ia-lu_(kemono_no_souja_erin),4,26,
+i_(yunyuniraaka),1,26,
+i-19_(departure's_gentle_breeze)_(azur_lane),4,26,
+hypoxis,1,26,
+hyona_elatiora,4,26,
+hyattlen,1,26,
+humio_(oriba),1,26,
+hukii,1,26,
+hug_ff14,1,26,
+huai_diao_me,4,26,
+hu_(saimens),1,26,
+houou_rinka,4,26,
+houki_(majo_no_tabitabi),4,26,
+houjou_teppei,4,26,
+houjou_mamushi,4,26,
+hotline_miami_2:_wrong_number,3,26,
+hotel_yamato,0,26,
+hostess,0,26,
+hoshizora_rin_(cosplay),0,26,
+hoshimiya_yashiro,4,26,
+hoshikuzushi,1,26,
+horizon_(sushi0126),1,26,
+horin,1,26,
+horie_ryuu,1,26,
+horace_(skullgirls),4,26,
+hoodie_pull,0,26,
+hood_grab,0,26,
+honeydew_mei,4,26,
+honda_rei,4,26,
+honda_asuka,4,26,
+holy_alina,4,26,"alina_gray_(holy),holy_alina_(magia_record)"
+holographic_horns,0,26,
+hogeroh,1,26,
+hogarth_pennywhistle_gilligan_jr.,4,26,
+hochikisu,1,26,
+hiwatari,4,26,
+hitsuji_nata,1,26,natataebi
+hitori_(edge),1,26,
+hitohira_(shiroringo48),1,26,
+hisame_(gocbu),1,26,
+hiru0130,1,26,
+hironoshousei,1,26,
+hirokawa_takemi,4,26,
+hirayama_ityu,1,26,
+hirasawa_meio,1,26,
+hirakana,1,26,
+hiraga0613,1,26,
+hinoyama_ena,1,26,
+hino_miwa,4,26,
+hino_akira,1,26,
+hinase_kanoto,1,26,
+hinageshi_(amaetai_hi_wa_soba_ni_ite),4,26,
+hinacalibur,1,26,
+himuro_rabi,4,26,
+himukai_yuri,4,26,
+himono_hinata,1,26,
+himey,1,26,
+himeno_sena,4,26,
+hikonyan,4,26,
+hikaru_(parodius),4,26,
+hiji,1,26,
+highvoltage,1,26,joltik_(artist)
+highmore_(arknights),4,26,
+higashiyama_shou,1,26,
+higashi,1,26,
+hibren,1,26,
+hibiki_yoiko,4,26,
+hibiki_kohaku,4,26,
+hiba_manaka,4,26,
+hiba_(jun),1,26,
+hexunart,1,26,
+hero_(sekaiju),4,26,
+henna,0,26,
+hello_kitty_(character)_(cosplay),0,26,
+heki_kiri,1,26,
+heartbee,1,26,
+headphones_for_animal_ears,0,26,
+head_wreath_removed,0,26,
+haydee_(haydee),4,26,
+hayasui_(kancolle)_(cosplay),0,26,
+hayashi_(nnnsf),1,26,
+hayami_tetsu,4,26,
+hayama_kouichi,4,26,
+hayake_(chenran),1,26,
+hay_fever,0,26,
+hatsune_speed:_hatsune_miku_roller_skating_music,3,26,
+hatsune_miku_no_gekishou_(vocaloid),3,26,
+hatchin_morenos,4,26,
+hatake_hukuro,1,26,
+hasumi_shizuko,1,26,
+hasuhasuhasu0127,1,26,
+hashibuto,1,26,
+harusawa_yoshino,4,26,yoshino_harusawa
+harukan_tiusu,1,26,
+haru4aki,1,26,
+harlequinwaffles,1,26,
+harkonnen_(gun),0,26,
+harikono,1,26,
+harigane_mutsumi_(harigane623),1,26,"harigane623,harigane_mutsumi"
+harawata,1,26,
+hara_yumi,4,26,
+happy_mask_salesman,4,26,
+hanrei_(dqncncilust),1,26,
+hanei_rin,4,26,
+hand_pump,0,26,
+hanasakichu,1,26,
+hanamizawa_q-tarou,1,26,
+hanakomiti,1,26,
+hana_(module),0,26,
+hamilundenongdizhe,1,26,
+hamhsi_miyar,1,26,
+hamel,4,26,
+hal-py,1,26,
+hakaiou:_gaogaigar_vs._betterman,3,26,
+haine_(summertime_render),4,26,
+hahaha,1,26,
+hagi_neco,1,26,
+haconeri,1,26,
+hachijou_ikuko,4,26,hachijo_ikuko
+habaki,0,26,
+haar_(fire_emblem),4,26,
+h0saki,1,26,
+gyarike,4,26,
+gwxx3435,1,26,
+gusto_gulldo,4,26,
+gurongi,0,26,
+gurihiru,1,26,
+guri,4,26,
+gurdurr,4,26,
+gundam_vidar,4,26,
+gundam_burai,3,26,
+gundam_age-2,4,26,
+guitaro_(yabasaki_taro),1,26,
+growlanser_iii,3,26,
+grim_(twisted_wonderland),4,26,
+green_track_suit,0,26,
+green_smoke,0,26,
+gravy_boat,0,26,
+grandmastag,1,26,
+gram_(muneneko),4,26,
+graf_spee_(warship_girls_r),4,26,
+grady_sisters_(the_shining),4,26,
+grace_blackberry,4,26,
+gpnet,1,26,
+goutokuji_kayo,4,26,
+gotou_masahiro,4,26,
+gotcha_force,3,26,
+gosei_sentai_dairanger,3,26,
+gosegu,4,26,
+gorokyu,1,26,
+gorilla-shi,1,26,
+goofy_(goldgoofy357),1,26,
+gongitsune_(gongitune2),1,26,
+gom_(kooskoo),1,26,
+god_razor,1,26,
+goblin_(final_fantasy),4,26,
+go_yasukuni,1,26,
+gnlo,1,26,
+gj,1,26,
+giselle_gewelle,4,26,
+girls_und_panzer_gekitou!_maginot-sen_desu!!,3,26,
+giren,1,26,
+gintokyhenry,1,26,
+ginnyo,1,26,
+gingham_background,0,26,
+gina_dickinson,4,26,
+gimicalmas,1,26,
+gigantamax_duraludon,4,26,
+gien,4,26,
+gggglaze,1,26,
+get9,1,26,
+gensou_otome_no_okashi_na_kakurega,3,26,
+gennosuke,1,26,
+gear_shift,0,26,
+gangut_(imposing_warden)_(azur_lane),4,26,
+gamushiro_(souren),1,26,souren
+gamlin_kizaki,4,26,
+gamel,4,26,
+gals_rock_ambivalence_(idolmaster),0,26,gals_rock_ambivalence
+fysr,1,26,
+fuu-chan_(precure),4,26,
+futakabe,1,26,
+futaba_rentarou,4,26,
+futa_with_newhalf,0,26,newhalf_with_futa
+furioso,1,26,
+fuonon,1,26,
+funako_(newggo),1,26,
+fumiyomogi,1,26,
+fullbban_g,1,26,
+full_burrrrrrst,1,26,
+fukurou_(hukurou),1,26,
+fujiwara_truffe,1,26,
+fujiwara_(suzumiya_haruhi),4,26,
+fujita_asagao,4,26,
+fujisaki_(saikin_yatotta_maid_ga_ayashii),4,26,
+fujioni,1,26,
+fujimaru_mamenosuke,1,26,
+fuji_tooya,1,26,
+fuchida_kyou,1,26,anns_garden
+frilled_curtains,0,26,
+freer,1,26,
+frederica_(sennen_sensou_aigis),4,26,
+francis_drake_(stormy_seas_outfit)_(fate),4,26,
+francesca_lucchini_(cosplay),0,26,
+fox_udon,1,26,
+four_of_diamonds,0,26,
+forutsu,1,26,
+forever_(jojo),4,26,
+forehead_beam,0,26,
+forced_kiss,0,26,
+for_the_barrel,3,26,
+foot_smother,0,26,
+foaming_waves,0,26,
+flowerchild_ueda,1,26,
+flareza,1,26,
+flambe,0,26,
+fire_poker,0,26,
+fio88,1,26,
+finger_to_another's_nose,0,26,
+finch,0,26,
+fifteen_(katana_zero),4,26,
+fetefeteli,1,26,
+fen_bang_laoda,1,26,
+female_brawler_(disgaea),4,26,
+felix_(golden_sun),4,26,garcia_(golden_sun)
+felice_qaddaf,1,26,
+fc_barcelona,3,26,
+fauna,4,26,
+fatui_pyro_agent_(genshin_impact),4,26,
+fatlulu_(1008),1,26,
+fatima_betrorum,4,26,
+fantasyxing,1,26,
+fantasy_zone,3,26,
+fantastic_children,3,26,
+fang_(fairy_fencer_f),4,26,
+fang_(cruciata)_(arknights),4,26,
+fancyark,1,26,
+fan_(20110507),1,26,
+familiar-possessed_-_wynn,4,26,
+fallschirmjager,0,26,
+fail_whale,0,26,
+fabled_grimro,4,26,
+f-104_starfighter,0,26,
+ezraqi,1,26,
+ex-rika,4,26,
+ex-arm,3,26,
+evol_blackhole,0,26,
+evo_3_(girls'_frontline),4,26,
+eve_(blaster_master_zero),4,26,
+eva_05,4,26,
+eureka_seven:_pocket_ga_niji_de_ippai,3,26,eureka_7:pocketful_of_rainbows
+etra_(etra-chan_wa_mita!),4,26,
+et_gnsn,1,26,
+esthoric,1,26,
+esecool,1,26,
+eris_(shadowverse),4,26,
+equipment_screen,0,26,
+epeulu_(ate5424),1,26,fru_(fru69923366)
+enu_(spinal),1,26,
+enomoto_(luck-by-luck),1,26,
+energy_axe,0,26,
+emuen,1,26,
+empress,0,26,
+emily_dyer,4,26,
+emil1030_blue,1,26,
+emi_(green_wave),1,26,
+elysian_(granblue_fantasy),4,26,
+elsa_la_conti,4,26,
+elphe,1,26,
+elita_one,4,26,
+elferan,1,26,
+elesa_(sygna_suit)_(pokemon),4,26,
+ekakiuo,1,26,
+eitoman,1,26,
+eiscue_(noice),4,26,
+eir,1,26,
+eien_no_24-sai_no_shakai_hito,1,26,
+ehime_mikan,1,26,
+eden_no_ori,3,26,
+echolocator_(splatoon),0,26,
+ebisque,1,26,
+ebipon,4,26,
+ebino_mei,4,26,
+ebina_hidekazu,1,26,
+dymao,1,26,
+dvdarts,1,26,
+dusa_(hades),4,26,
+dunn_smith,4,26,
+dungeon_maker,3,26,
+dryad_(terraria),4,26,
+drowzzi,1,26,
+drias,1,26,
+draug_(fire_emblem),4,26,
+dragonfly_wings,0,26,
+dragon_knight_4,3,26,
+doujima_daigo,4,26,
+doroshii,1,26,
+doneen69,1,26,
+dokonjou_(odossan),1,26,
+dog_treat,0,26,
+divel_qree,1,26,holy_ravioli
+dith_ytk,1,26,
+distillation_column,0,26,
+digimon_adventure:_bokura_no_war_game,3,26,
+dice_(dharu_riser),4,26,
+dia_(yvirus68),1,26,
+dharu_riser,3,26,
+devo,4,26,
+deutschland_(demon_princess'_dark_hour_banquet)_(azur_lane),4,26,
+destiny_(ishida),4,26,
+dental_(dentalsan),1,26,
+demonio_(elsword),4,26,
+delano-laramie,1,26,
+dela_delon,4,26,
+deatte_5-fun_wa_ore_no_mono!,3,26,
+dear_stage,4,26,
+dead_rising_1,3,26,
+davi_(destiny_child),4,26,
+datemegane,1,26,
+databook,0,26,
+dassault_rafale,0,26,
+dark_rouge,4,26,
+dark_eldar,4,26,
+darashinai_imouto_ni_itazura_shitemita,3,26,
+daphne_(last_origin),4,26,
+danshi_koukou_valentine_(meme),0,26,danshi_koukou_valentine
+danno_gs,1,26,
+dankalaning,1,26,
+daniwae,1,26,"danzero,danzero"
+dangerousbride,1,26,
+dangerous_zombie_level_x,0,26,
+damagefloor,1,26,
+daitoku_junna,4,26,
+daisy_duck,4,26,
+daisy_(pokemon),4,26,
+daisuki_na_sensei_ni_h_na_onedari_shichau_omase_na_boku_no/watashi_no_puni_puni,3,26,
+daishou,1,26,
+daily_(daily178900),1,26,
+daiku_kenzaburou,4,26,
+dahlia_(xenoblade),4,26,tsuki_(xenoblade)
+dae_(dog-of-maou),1,26,
+d-n,1,26,
+cynthia_(sygna_suit)_(pokemon),4,26,
+cx4_storm_(girls'_frontline),4,26,
+cute_potato_(cute_potato_ner),1,26,
+cursor_(medium),0,26,
+cure_tender,4,26,
+crystalline,3,26,
+crusoe,1,26,
+cruise_ship,0,26,
+crotch_mousepad,0,26,chinkopad
+crotalaria,1,26,
+crossbow_devil_(chainsaw_man),4,26,
+crossbone_gundam_x-3,4,26,
+cross_yuki,4,26,
+crevice,0,26,
+cray,1,26,
+cradle-song,3,26,
+cpt_(crazy_raccoon),4,26,
+cpieng,1,26,cp_.ieng
+courage_(character),4,26,
+coupytwo,1,26,
+cool&create,1,26,
+constellation_hair_ornament,0,26,
+conrad_(fire_emblem),4,26,
+comra,1,26,
+comiket_78,3,26,
+com_kom,1,26,
+color_73,1,26,
+colette_belrose,4,26,
+coin_slot,0,26,
+coffeebeanbrush,1,26,
+coffee_tart,1,26,
+coffee_siphon,0,26,
+codename696,1,26,
+code:_dragon_blood,3,26,
+coby,4,26,
+clover_(totally_spies),4,26,
+clothes_only,0,26,
+clothes_on_wall,0,26,
+closed_curtains,0,26,drawn_curtains
+cloire_clover,1,26,
+clitorim,4,26,
+clear_file,0,26,
+claxton_(warship_girls_r),4,26,
+clauncher,4,26,
+claudia_bruford,4,26,
+class,0,26,
+clara_(claris),4,26,
+cipozhong_yundepeitela,1,26,
+cif,1,26,
+chuchumy_(ishiyumi),4,26,
+chris_(babo),4,26,
+chorin,1,26,
+chocolate_strawberry,0,26,
+chocolate_cosmos_(flower_knight_girl),4,26,
+chocoball,4,26,
+chloe_(kuroinu),4,26,
+chino_ukana,1,26,
+chino_kawashiku,1,26,
+chikushi_nitouhei,1,26,
+chikomayo,1,26,
+chikaoka_sunao,1,26,
+chi_wa,1,26,
+chi_(character),4,26,
+chest_(furniture),0,26,
+cheru_(sinkai_ringo),1,26,cherudo
+chengzhineixihuanxiaogou,1,26,
+chen_lio,4,26,
+cheeseko,1,26,
+cheadle_yorkshire,4,26,
+chaso_(konshin),4,26,
+charmy_bee,4,26,
+chama_(1480),1,26,
+chakoru,1,26,
+chaamii,1,26,
+cetta_(cettadvd),1,26,
+ceroblitz,1,26,
+ceres_(shingeki_no_bahamut),4,26,
+centurii-chan,4,26,
+celia_alde,4,26,
+ceilinginmyroom,1,26,
+cavalier_of_the_abyss,3,26,
+cat_sidhe_nekoko,4,26,
+cat_helmet,0,26,
+cat_choker,0,26,
+cat_burger,0,26,
+castlevania:_circle_of_the_moon,3,26,
+cassius_(granblue_fantasy),4,26,
+cars_(movie),3,26,
+carrie_(sennen_sensou_aigis),4,26,
+caron_(higyaku_no_noel),4,26,
+cardia_beckford,4,26,
+canned_tuna,0,26,
+camouflage_background,0,26,
+california_king_bed,4,26,
+caesar_anthonio_zeppeli_(cosplay),0,26,
+cacaco,1,26,
+c.z.,1,26,
+byefrog,1,26,
+byakudan_midori,4,26,
+butter_run,1,26,
+burn-up_w,3,26,
+burial_blade,0,26,
+burakku_mutou,1,26,
+bukui_shi_wo,1,26,
+bugie,1,26,
+budouya,1,26,
+browning_auto_5,0,26,
+brown_bandeau,0,26,
+brothers_conflict,3,26,
+broom_hatter,4,26,
+broken_spear,0,26,
+broccoli_(ohasi),4,26,
+brick_oven,0,26,
+bradamante_(festival_outfit)_(fate),4,26,
+brachiosaurus,0,26,
+bow_camisole,0,26,
+boru-boru,1,26,
+bordeaux_black_(voice_actor),1,26,bordeaux_black
+boomer_(left_4_dead),4,26,
+bookseve,1,26,
+bonjiri_(torippo222),1,26,
+bongo_drums,0,26,
+bodysuit_aside,0,26,
+body_(bacoborn),1,26,
+bodai,1,26,
+bochi_(yamakan),1,26,
+blue_badger,4,26,taiho-kun
+blue-and-yellow_macaw,0,26,
+blouson_chiemi,4,26,
+bloodrayne_(videogame),3,26,
+blood_stalk,4,26,
+blonde_girl_(sumiyao),4,26,
+blonde_girl_(okpriko),4,26,
+bleach:_memories_of_nobody,3,26,"gekijouban_bleach:_memories_of_nobody,memories_of_nobody"
+blanko!,1,26,
+blanc_(ameto_yuki),4,26,
+blackjack_table,0,26,
+black_selena,4,26,
+black_iron_great_sword,0,26,
+bistro_cupid_2,3,26,
+bistro_cupid,3,26,
+bisexual_flag,0,26,
+birdie_wing:_golf_girls'_story,3,26,
+bird_scarer,0,26,
+binetsu_kara_mystery,0,26,
+billy_coen,4,26,
+billy_(gyee),4,26,
+bigroll,1,26,
+bexercube,1,26,
+berrypop,1,26,chii_(nyaong9)
+beniyuki_pangya,1,26,
+benimaru,1,26,
+beni0012,1,26,
+ben_(ahan_uhun_345),1,26,
+belt_bracelet,0,26,
+behindxa,1,26,
+beetle_horn,0,26,
+bealphareth,3,26,
+bbci,1,26,
+baymax_(cosplay),0,26,
+bathym_(housamo),4,26,
+batavia_princess,4,26,
+baron_of_hell,4,26,
+baritone_saxophone,0,26,
+bardiche_(scythe_form),4,26,
+bapio,1,26,
+bandaged_ankle,0,26,
+banbon,1,26,
+bamboozler_14_(splatoon),0,26,
+ballot,0,26,
+ballista,0,26,
+baku_(ff9),4,26,
+baked_potato,0,26,
+bai_kongque,1,26,
+baharu,1,26,
+back_pain,0,26,
+b_nosk101,1,26,
+azya,1,26,
+azurcentauri,1,26,
+azumi_haruhito,1,26,
+azuma_sara,4,26,
+azee_gurumin,4,26,
+azana_shiyuga,1,26,
+ayu_(sweetfish_man),1,26,
+ayato_mabu,1,26,aiyat_@_maotto
+ayasa,1,26,
+ayamori_miyako,4,26,
+ayakadegozans,1,26,
+axis_(monori_rogue),4,26,
+awooo,0,26,
+awane_kokoro,4,26,
+auto_(mega_man),4,26,rightot
+auraaa,1,26,
+auo123,1,26,
+atlurkabuterimon,4,26,
+atk7,1,26,
+ati_(sekien_no_inganock),4,26,
+athena_av,1,26,
+ateru,1,26,
+atelier_judie,3,26,atelier_judie_alchemist_of_gramnad
+asta_(asicah),4,26,
+assisted_paizuri,0,26,
+ask_(dreaming_cat),1,26,
+ashitaba_kemo,1,26,
+ashita_no_sakuya,1,26,
+ashika_(yftcc948),1,26,
+asano_(asamusuko),1,26,
+asamiya_shiina,4,26,
+asada_ryou,1,26,ryo02055
+asa_kusa_99,1,26,
+artwolfaja,1,26,
+arte_(evillious_nendaiki),4,26,
+arsmagna,3,26,
+arsloid,4,26,kano_akira_(vocaloid)
+ars_magna,3,26,
+aromatisse,4,26,
+armory,0,26,
+armored_collar,0,26,
+ariori_haberi,1,26,
+arima_keitarou,1,26,arima_keitaro
+ariatorai,1,26,
+arc_draws,1,26,
+arakawa,4,26,
+aquaman_(series),3,26,
+aqua_sash,0,26,
+aqua-lia,1,26,
+apple_(suikoden),4,26,
+apollo_(kaminomi),4,26,
+aphex_twin,3,26,
+aozaku_(hatake_no_niku),1,26,
+aone_hiiro,1,26,
+aoiakamaou,1,26,
+aoi_kiriko,4,26,
+aoi_aruma,1,26,
+aoharuto,1,26,
+aoba_(aunana),1,26,
+aoaoaoao_(baiyanheibing),1,26,
+ao_no_rupika,4,26,
+anya_hepburn,4,26,
+anubisu-no-sinpan,1,26,
+antique_telephone,0,26,
+anta_baka?,0,26,anta_baka
+ansem_seeker_of_darkness,4,26,
+animist,1,26,shinohara_kenta_(omochanochachacha)
+angry_german_kid,4,26,
+angry_dog_noises,0,26,
+angel_daisy,4,26,
+ange_(granblue_fantasy),4,26,ange_d'erlanger
+anata_no_shiranai_kangofu,3,26,
+anastasia_(under_the_same_sky)_(fate),4,26,
+anastacia_of_astora,4,26,
+amyucheu,1,26,g_rirung
+amerika_juu_pan,1,26,
+american_flag_swimsuit,0,26,
+amepati,1,26,
+ame999,1,26,
+amber_(5_22_lili),1,26,
+amattle,1,26,
+amarabi_(tobira),1,26,
+amane_tari,1,26,
+amane_a_(007_uiro),1,26,
+amamiya_(re-amamiya),1,26,
+amaki_ikuma,4,26,
+amakawa_ginga,1,26,
+amaimochi,1,26,niangaoxianyu
+amagi_manami,4,26,
+am1m,1,26,
+alyx_vance,4,26,
+alter_ego_conjurer_(granblue_fantasy),4,26,
+alraune_(monster_girl_encyclopedia),4,26,
+alopias,1,26,
+almira,4,26,
+aliza_(ragnarok_online),4,26,
+alister_agrew,4,26,
+alina_james,1,26,alinajames
+albus_(skullgirls),4,26,
+al_guang,1,26,
+al_(arupaka),1,26,
+akizuki_kei,4,26,
+akira-kun_(ishiyumi),4,26,
+akimotsu_(akim_x),1,26,akim_x
+akiiro,1,26,
+aki_toshi,1,26,
+akelp,1,26,
+akatsuki_hayane,4,26,
+akashi_(akashi's_in_the_red_nya!)_(azur_lane),4,26,akashi_(akashi's_in_the_red!)_(azur_lane)
+akaneiro_no_kyoukaisen,3,26,
+akane_(cookie),4,26,
+akane_(akane0012),1,26,
+akamizuki_(akmzk),1,26,
+akabuchi_megane,1,26,
+ajula_wachula,1,26,igana_asonerikes
+aisha_(shironeko_project),4,26,
+aisarenakute_mo_kimi_ga_iru_(vocaloid),3,26,because_you're_here_(vocaloid)
+air_master,3,26,
+aiqing,1,26,
+aimusu,1,26,
+aimi_(sky-freedom),4,26,aimi_(freedom)
+aika_(konshin),4,26,
+aihara_(keitora),1,26,
+ahoge_removed,0,26,
+against_vehicle,0,26,
+afro_(kngotezo),1,26,
+afpl_(parrotz4),1,26,fumiho_(xzdt4574)
+adore_(adoredesu),1,26,
+adam_(lord_of_the_mysteries),4,26,
+adam_(erubo),4,26,
+acura_(gunvolt),4,26,
+acheru_maru,1,26,
+aberu514,1,26,
+a_ichi,1,26,
+a-shi_(lion81923),1,26,
+9tt6,1,26,
+9room,1,26,
+91_days,3,26,
+7tp,0,26,
+7melon,1,26,
+72_(mmmmkk),1,26,
+5tsukado,1,26,
+5plus5,1,26,
+2wink_(ensemble_stars!),0,26,
+2bro.,3,26,
+241_(nishiki),1,26,shishima
+20th_century_boys,3,26,
+175x172nyrn,1,26,
+12_billion_yen_incident,0,26,
+1-4daithi,1,26,
+0x0082,1,26,
+06erunium,1,26,
+0141zucker,1,26,
+00e_fgo,1,26,
+.hack//quantum,3,26,
+#104,1,26,
+zzzzoka,1,25,
+zubi_(skylinezb),1,25,
+zp_hn02,1,25,
+zotari,1,25,
+zoma,4,25,
+zoids_wild_zero,3,25,
+zizizy,1,25,
+ziu,1,25,
+zipper_legwear,0,25,
+zinnia_silane,4,25,
+zhuo_ying,1,25,
+zhu_(nitamagr),1,25,
+zhenyuan_(journey_to_the_west),4,25,
+zhao_shixuan,1,25,
+zettai_tenshi_kurumi-chan,3,25,
+zet_(globalgears),1,25,
+zerotabi1210,1,25,
+zeroblood,1,25,1834317030
+zerion,1,25,
+zeolch,1,25,
+zen'in_naoya,4,25,
+zelc-face,1,25,
+zeiss,1,25,
+zatsuon,1,25,
+zap,1,25,
+zaku_ii_f2,4,25,
+zafuri_(yzrnegy),1,25,
+z_umeshi,1,25,
+yzr_(yzr99),1,25,
+yygnzm,1,25,
+yuzb,1,25,
+yuuya_bridges,4,25,yuya_bridges
+yuuri_(fukuroudou),1,25,
+yuukaze_(sakazaki_freddy),4,25,
+yuu_yuu_(netaeshi58),1,25,
+yuu_(re:lief),4,25,
+yusa_aoi_(kazoku_game),4,25,
+yuri_lowell_(cosplay),0,25,
+yumesphere,1,25,yumesphere1417
+yumegi_atsuki,1,25,
+yume_oukoku_to_nemureru_100-nin_no_ouji-sama,3,25,
+yume_no_hana_(sbac0019),1,25,
+yukisa,1,25,
+yukimaru_ai,1,25,
+yuki_no_city,1,25,
+yuki_(sumaburalove),1,25,
+yuki_(fuguneko),1,25,
+yukari_miyuri,4,25,
+yui_4293,1,25,
+yui_(linaw-key08),1,25,
+yuho_kim,1,25,
+yueyue,1,25,
+yueye_(blbl-y),1,25,
+yu-twilight,1,25,
+yu-no,4,25,
+yoyterra,1,25,
+yoyohachi,1,25,
+young_cricket,4,25,
+yoshizawa_tamae,1,25,
+yosafire,4,25,
+yongtae,1,25,jirai_yanji
+yongoh,4,25,
+yokkest,1,25,
+yohi,1,25,
+yizhibao,1,25,
+yhorm_the_giant,4,25,
+yellow_temperance,4,25,
+yeedee,1,25,
+yazoo,4,25,
+yazawa_nico's_mother,4,25,
+yatsuhashi_(pekemiddle),1,25,
+yashita_saki,1,25,saki8827
+yasaka_(high_school_dxd),4,25,
+yanows,1,25,
+yanagita_kousuke,1,25,
+yanagiba_sakana,1,25,sisyamo0505
+yan_(yan_36k),1,25,
+yamipika,1,25,
+yaminabe_(honnouji_no_kaninabe),1,25,kuranabe
+yamazaki_rin,4,25,
+yamashita_toshinari,1,25,
+yamashita_(ueno-san_wa_bukiyou),4,25,
+yamamura_sadako_(cosplay),0,25,
+yamamura_miwa,4,25,
+yamakeitokokoro,1,25,
+yamaguchi_tadashi,4,25,
+yamada_taeko,4,25,
+yamada_sawa,4,25,
+yamada_eiji,4,25,
+yamada_3,1,25,
+yamabuki_sayuki,4,25,
+yaeno_miho,4,25,
+yabai,4,25,
+y_skk,1,25,
+xukong,1,25,
+xrjingx,1,25,
+xo160,1,25,
+xiaomai_yorik,1,25,
+xiao_lu,1,25,
+xeno_(xenoglitch),1,25,
+x-kulon,1,25,
+wuwuwu_(kriswu555),1,25,loveya1224
+wuke_euco,1,25,
+wroggi_(armor),4,25,
+wriggle_day,0,25,
+wormadam_(trash),4,25,
+worgen,0,25,
+woman_with_a_parasol,3,25,
+wolbach,4,25,
+witch_king_of_angmar,4,25,
+wing_bow,0,25,
+windy_(clow_card),4,25,
+windows_logo,0,25,
+windows_95,3,25,
+wincalblanke,1,25,
+william_ruzicka,1,25,
+wiccan,4,25,
+white_xxxx,1,25,
+weltall,4,25,
+weatheroid,4,25,
+weathernews,3,25,
+wcks0774,1,25,
+wboss,1,25,
+wave_61,1,25,
+wattson_(apex_legends)_(cosplay),0,25,
+watsuji_aya,4,25,
+watermelon_tourmaline_(houseki_no_kuni),4,25,
+water_stone,0,25,
+watanuki_hibiki,4,25,
+watanabe_mayumi,1,25,
+wata_ramune,1,25,
+wapiko,4,25,
+wang_yi,4,25,
+wang-sensei,4,25,
+wamosukeda,1,25,
+wamizu,1,25,
+wall-e_(character),4,25,
+walker_gallia,4,25,
+wakky,1,25,
+wakamoto_norio,4,25,
+wakami_shion,4,25,
+wachiko,1,25,
+voc,1,25,voccu
+vldhomecenter,1,25,
+vladimir_lenin,4,25,
+vk16.02_leopard_(ash_arms),4,25,
+vippaloid,0,25,
+victory_(dog),4,25,
+vicsen-u5,1,25,
+vesta_zc,1,25,
+vertical-striped_bodysuit,0,25,
+velox,1,25,
+van_grants,4,25,
+valeria,4,25,
+v_a_i_r,1,25,
+v2_assault-buster_gundam,4,25,
+uzurako,1,25,
+uzicha,1,25,
+uto_uto,1,25,
+utahoshi_kengo,4,25,
+usu32,1,25,
+uso_(campus),3,25,
+usas-12,0,25,
+usamimikurage,1,25,
+usami_eru,4,25,
+usagiplanet7,1,25,
+usagihop,1,25,
+urban_camouflage,0,25,
+urasoe_(oshiro_project),4,25,
+unlimited_saga,3,25,
+unjou_no_fairy_tale,3,25,
+unizuma_eleven,1,25,
+union_flag,4,25,
+unconventional_gun,0,25,
+una_kata,1,25,
+ump45_(winter_journey)_(girls'_frontline),4,25,
+umitsuki_(kurage_no_shokushu),1,25,
+umisea,0,25,
+uminagi_karan,4,25,
+umehime,1,25,
+ume2888,1,25,
+ultraman_zero_the_movie,3,25,
+ultraman_trigger,4,25,
+ullr_(last_origin),4,25,
+ulith_(wixoss),4,25,urisu_(selector_infected_wixoss)
+ujimatsu_chiya_(cosplay),0,25,
+uji_(966qrr),1,25,
+uisaki_hinano,4,25,
+ui97,1,25,
+uehara_(dormmmmir_),1,25,
+ueda_yuu,1,25,
+ueda_hanako,1,25,
+uchida_kayoko,4,25,
+ubox,1,25,
+u.s.a.,0,25,
+u-hi,1,25,
+u-96_(azur_lane),4,25,
+tyrea_(xenoblade),4,25,talco_(xenoblade)
+tyranno_kenzan,4,25,tyranno_hassleberry
+type_81_carbine_(girls'_frontline),4,25,type_81_(girls'_frontline)
+type_0_reconnaissance_seaplane,4,25,
+tyasuzu,1,25,
+twobey,1,25,
+twintails_(mantids),1,25,
+twinbell,1,25,
+turma_da_monica,3,25,
+turing_(gyee),4,25,
+tukinen,1,25,
+ttopang,1,25,
+ttakuann,1,25,
+tsuyuri_(doujin_work),4,25,
+tsuyukina_fuzuki,1,25,
+tsushima_shuu,1,25,
+tsuruya_(l_re10_l),1,25,
+tsurukame_(mihomi),1,25,
+tsuru_hiromi,4,25,
+tsukuyomi_(kamikimi),4,25,
+tsukioka_misasa,4,25,
+tsukinami_yuu,1,25,
+tsukimura,1,25,
+tsukimi_(pan_(mimi)),4,25,
+tsan_dire,4,25,
+trip_dancer,3,25,
+transformers:_revenge_of_the_fallen,3,25,
+toyota_karina,4,25,
+towa_kiseki,4,25,
+tourin_fuwa,1,25,
+toujou_shufu,1,25,
+touji_no_sato,3,25,
+touge_chayako,4,25,
+toudou_takatora_(sengoku_bushouki_muramasa),4,25,
+torn_unitard,0,25,
+torn_ascot,0,25,
+torion_hei,0,25,
+tori_(matsuda_(matsukichi)),4,25,
+tora_(net1nen),1,25,
+topophilia,1,25,
+topo_(musashiden),4,25,
+tongue_scarf,0,25,
+tonari_no_jk_ni_odosarete_iribitararetemasu,3,25,
+tomone,1,25,tomone_(pixiv166086)
+tomoe_gozen_(first_valentine)_(fate),4,25,
+tomo_(552252),1,25,
+tommy_oliver,4,25,
+tomida_tomomi,1,25,
+tokujo-chan,4,25,
+tokinohiyoko,1,25,
+tokimeki_general_girls_x,3,25,
+tokikane_mikan,1,25,
+tokiame_(style),0,25,
+token_black,4,25,
+tokai_teio_(umamusume)_(cosplay),0,25,
+toiku,1,25,akcnnngn
+tohno_motosumi,4,25,motosumi_(housamo)
+togemon,4,25,
+tobiuo_(62masa62),1,25,
+to6_l,1,25,
+tmk,1,25,
+tipsytrains,1,25,
+tiihatanono,1,25,
+tiger_tattoo,0,25,
+throwing_money,0,25,
+three_ramen_musketeers,0,25,
+three_plates,1,25,
+thecovertgarden,1,25,
+textured_hair,0,25,
+tetsuo_(amenohutikoma),1,25,
+tetsukado_shin,4,25,
+tetsuhige,1,25,
+tesla_violet,4,25,
+teshima_noriko,1,25,
+terun,1,25,
+terra_(dc),4,25,
+tensou_sentai_goseiger,3,25,
+tensei_kyuuketsuki_san_wa_ohirune_ga_shitai,3,25,
+tenma_kenzou,4,25,
+tenma-gav,1,25,
+tenkuubashi_aika,4,25,
+tenkuu_no_otome-tachi,3,25,
+tenbin_no_la_dea_~ikusa_megami_memoria~,3,25,
+ten_of_spades,0,25,
+temple_(artist),1,25,
+tella,4,25,tellah
+teitoku,1,25,
+tedeza_rize_(cosplay),0,25,
+technical,0,25,
+team_flare_uniform,0,25,
+tayu_(yuntayu),1,25,
+tatu,3,25,
+tatsuta_rindou,4,25,
+tasogare,3,25,
+tashkent_(the_blue_snoozer)_(azur_lane),4,25,
+tarutaru_gungun,1,25,
+taropun,1,25,
+tarokazu,1,25,
+tarkus,4,25,
+tarakan,1,25,
+tanzhujiuyue,1,25,
+tanpaku-chan,1,25,
+tangobat,1,25,
+tandem_bicycle,0,25,
+tan_(kiriya0752),1,25,
+tamo_imai,1,25,
+tamo_(nama-yatsuhashi),1,25,
+tamatama,3,25,
+tamaki_rinko,4,25,
+tamaki_(tmk-poison),1,25,
+tamaki_(summer)_(princess_connect!),4,25,
+tamaki_(glass_bottle),1,25,
+tamai_shiina,4,25,
+talon_widowmaker,4,25,
+tales_of_pixiv,3,25,
+takuto_kira_(cat),4,25,
+takozonesu_(cosplay),0,25,
+takimiya_kazutaka,1,25,
+takigi,1,25,
+taki_reki,1,25,
+takezuchi,1,25,
+takeno_omoti,1,25,
+takashi_mare,1,25,
+takashi_(harukasaigusa),1,25,
+takase_shin'ya,1,25,takase_shinya
+takasaki_mako,1,25,
+takao_kazunari,4,25,
+takanashi_shiori,4,25,
+takanashi_sei,4,25,
+takanashi_iori_(ichiyou_moka),4,25,
+takanashi_hinami,1,25,
+takamiya_sora,4,25,
+takamiya_mio,4,25,
+takami_(manda),1,25,
+takajou_yuna,4,25,
+takagi_kick,1,25,
+takagi_akito,4,25,
+tailor,0,25,
+taeko_(tao),1,25,
+tadase_kairi,4,25,
+tachibana_yui_(natsu_ga_owaru_made),4,25,
+tachibana_kyouka_(jin),4,25,
+tachibana_kazumi,1,25,
+tachibana_kana,4,25,
+tachibana_hiro_(yakitomato),4,25,
+tachibana_(suterii),4,25,
+taboolicious,1,25,
+tabazi,1,25,
+taaru_(taru),1,25,
+t_zhonglang,1,25,
+syringe_in_head,0,25,
+sye-,1,25,
+swordsman_2_(sekaiju_4),4,25,
+sweet_aviation_model_div.,3,25,
+sweep_tosho_(monopolizing_the_chill?)_(umamusume),4,25,
+suzuna_(fkpw5754),1,25,
+suzumi_atsushi,1,25,
+suzuki_mirei,4,25,
+suya000,1,25,
+sutee_(ripobita),1,25,
+suruga_kasune,1,25,
+supure647,1,25,
+super_sailor_venus_(stars),4,25,
+super_doll_licca-chan,3,25,
+supepepe,1,25,
+suo_niao,1,25,
+sunko,1,25,
+summon_night_swordcraft_story_2,3,25,
+sumizome_(genshin_impact),4,25,
+sumima,1,25,
+sumi_(gfgf_045),1,25,
+sumeragi_subaru,4,25,
+sumachii,1,25,
+sulphur-crested_cockatoo,0,25,
+sukumizu_2,3,25,
+suimin,1,25,
+suginoji,1,25,
+sugaya_nowa,4,25,
+sugawara_esuko,1,25,
+suga_koharu,1,25,
+sucking_tail,0,25,
+su_(noonrema),1,25,
+styrofoam,0,25,
+stuffed_koala,0,25,
+studio_ring,3,25,
+studio_lights,0,25,
+stremitelny_(azur_lane),4,25,
+street_dog,1,25,
+stranger_mukou_hadan,3,25,sword_of_the_stranger
+stmoon,1,25,
+steve_fox,4,25,
+stealthmaria,1,25,
+starhump,1,25,
+star_saber,4,25,
+star_platinum_(cosplay),0,25,
+star_build_strike_gundam,4,25,
+staccato,0,25,
+soy_chicken,1,25,
+sowb,1,25,
+sotcho,1,25,
+sorase_(srsrs_000),1,25,
+soranaka_ame,1,25,
+sophia_(front_innocent),4,25,
+sonna_koto_ura_no_mata_urabanashi_desho?,0,25,
+sonic_the_hedgehog_2_(film),3,25,
+sollux_captor,4,25,
+sol_(tvtjk7ubec),1,25,
+soggates-nyan_(amurka-chan),1,25,
+sodom,4,25,
+sodeya_itsuki,1,25,
+socrates_(odin_sphere),4,25,
+social_distancing,0,25,
+socha_(pixiv99744),1,25,
+so-on,1,25,
+snow_white_(grimm)_(cosplay),0,25,
+snow_print,0,25,
+snow_fairy_story_(vocaloid),3,25,
+snow_(sentouin_hakenshimasu!),4,25,
+snek_(terupancake),4,25,
+snake_charmer,0,25,
+smolly_poli,1,25,
+smol_ina,4,25,
+smol_calli,4,25,
+smears,0,25,
+sleigh_presty,4,25,srey_presti
+slapping_penis,0,25,
+sizzler_plate,0,25,
+six_of_diamonds,0,25,
+siwan_yuan_(4oooomanyen),1,25,
+sister_blood,3,25,
+sisco,1,25,
+sinclair_(limbus_company),4,25,
+silver_sleeves,0,25,
+sig_sauer_p239,0,25,
+sieru,1,25,
+siege_(city_destroyer)_(arknights),4,25,
+shymiruku,1,25,
+shuujin/kami_hikouki_(vocaloid),3,25,prisoner/paper_plane_(vocaloid)
+shuuen_no_shiori_project,3,25,
+shuu_(mniarnoakou),1,25,
+shuten_douji_(under_the_same_sky)_(fate),4,25,
+shuri_(saidaioujou),4,25,
+shunki_gentei_poco_a_poco!,3,25,shunki_gentei_poco_a_poco
+shukketsubo,3,25,
+shub-niggurath,4,25,
+shuangsen,1,25,
+shrimqsleeq,1,25,
+shoukaku_(aircraft_carrier),0,25,
+short_messy_bangs,0,25,
+shizuma_yuho,4,25,
+shishamo_(abc_shishamo),1,25,
+shirt_basket,0,25,
+shirota_(takoyaki_110721),1,25,
+shironagasu-tou_e_no_kikan,3,25,
+shiromi_(15741279),1,25,
+shirokuma_(reirako-reirako),1,25,
+shiroabe,1,25,
+shiratama_shima,1,25,
+shiraishi_mako,4,25,
+shiotan,1,25,
+shioe_monjirou,4,25,
+shio_midori,1,25,tidimi-nori
+shiny_chariot_(cosplay),0,25,
+shintou,1,25,
+shinji_(metal-chan),1,25,
+shinigami_sama,4,25,
+shin_kamen_rider_prologue,3,25,
+shin_getter_robo_vs_neo_getter_robo,3,25,
+shimuro_(mentsukidou),1,25,
+shimakaze_(world's_speediest_bunny_waitress)_(azur_lane),4,25,shimakaze_(fastest_bunny's_invitation)_(azur_lane)
+shiki_kyouzoku,1,25,orisa-ex
+shikarii,1,25,
+shika_tsui,1,25,
+shijiuqaq,1,25,
+shii_(seaside720),1,25,
+shigure_(kemonomichi),4,25,
+shift_car,0,25,
+shift_(shiftillust),1,25,
+shidou_(x_2903),1,25,
+shichimiso,1,25,
+shibainu_goro,1,25,
+sherlock_(bbc),3,25,
+sher_(imnotsher),1,25,
+sheeg,1,25,
+sharon_holygrail,4,25,
+shang_bu_huan,4,25,
+shana_(cosplay),0,25,
+shan-n,1,25,
+shamu,4,25,
+shaman_(dungeon_and_fighter),4,25,
+shakti_kareen,4,25,
+sha_(nz2),1,25,
+sha-pei_sahei,1,25,
+setter_(seven_stars),1,25,
+serruria_(flower_knight_girl),4,25,
+serpico_(berserk),4,25,
+serbu_super-shorty,0,25,
+sep,4,25,
+seo_hyesung,4,25,
+sensei_(hitagi3594),1,25,
+senri_(yukataro),4,25,
+senmi_aki,1,25,
+sengoku_yaraideka,3,25,
+sengoku_kiyosumi,4,25,
+sengoku_(one_piece),4,25,
+sendouin_kaede,4,25,
+senbon,1,25,
+sen_(sen42724788),1,25,
+selene_(ff14),4,25,
+selena_(soccer_spirits),4,25,
+sekiro_(cosplay),0,25,
+sekiha_love-love_tenkyoken,0,25,
+sekiguchi_(odd_taxi),4,25,
+sekibanki_(cosplay),0,25,
+seityr,1,25,
+seitokaichou_(seitokaichou_to_sayono-kun),4,25,
+seisou_fude_no_tabibito,3,25,
+segawa_akane,4,25,
+see-through_shorts,0,25,
+seath_the_scaleless,4,25,
+seaside_sukeban_(smg)_(blue_archive),4,25,
+seal_(seal1102),1,25,
+sea_slug_girl,0,25,
+scw_(girls'_frontline),4,25,
+scroll_lock_(scrool5),1,25,
+scarlet_desires,1,25,
+saya_(chocolate_capsule),1,25,waon_(pixiv)
+sawaragi_kyouka,4,25,
+sauro_dante,4,25,
+satou_yoshimi,4,25,
+satou_kazuma_(cosplay),0,25,
+sasamiya_saya,4,25,
+sasami_(hallo),1,25,
+sasame_yozuru,4,25,
+sasaki_yuki,1,25,
+sasabe_opika,1,25,
+sarisa_highwind_tycoon,4,25,salsa_charlotte_tycoon
+sapphirez39,1,25,
+sanyuejiuri,1,25,
+sanyang003,1,25,
+sano_(merrymerry),1,25,
+sangcoon,1,25,
+sanako_(tsubakiiro),1,25,
+sanada_(tony2035176),1,25,
+samurai_7,3,25,
+samezuma_jouji,1,25,
+same-hada,0,25,
+sam_(totally_spies),4,25,
+salome_(phantom_kingdom),4,25,
+sakuraba_tamamo,4,25,
+sakura_kaoru,1,25,
+sakura_(yari_no_yuusha_no_yarinaoshi),4,25,
+sakuhou3390,1,25,
+saki_(oneechanbara),4,25,
+sakawa_(azur_lane),4,25,
+sakata_kintoki_(third_ascension)_(fate),4,25,
+sakata3,1,25,
+sakamoto_masaru,1,25,
+saizaki_minori,4,25,
+saitou_nekoichi,1,25,
+saito_(pigrank),1,25,
+saishuu_shiken_kujira,3,25,
+saionji_reika_(ginga_e_kickoff!!),4,25,
+saionji_makoto,4,25,
+saionji_leo,4,25,
+saimin_class_wonderful,3,25,
+saijou_yurika,1,25,ca_yu
+saiba_mirai,4,25,
+sai_(idolmaster),0,25,
+sahara_jun,4,25,
+saginuma_osamu,4,25,
+sagami_fuu,4,25,
+sagami_(aikodesyo),1,25,
+saga_(saga_kancolle),1,25,
+saeki_takashi,1,25,
+sado_tarou,4,25,
+sada-chan_(tawawa),4,25,
+sabotencc,1,25,
+sabikui_bisco,3,25,
+ryusho,1,25,
+ryus_(ordinaryuzu),4,25,
+ryuka,1,25,
+ryuji_ohara,1,25,
+ryoushin_no_shakkin,3,25,
+ryouke_kaoru,4,25,
+ryou-tan+,1,25,
+ryopie,1,25,
+ryoga,1,25,
+rykard_lord_of_blasphemy,4,25,
+rue_(dewprism),4,25,
+ruby_(tower_of_fantasy),4,25,
+rubia_natwick,4,25,
+rubbing_neck,0,25,
+rrr_ato,1,25,
+rroar8,1,25,rr_roar
+rr_(rr2),1,25,
+rpg_gakuen,3,25,
+royal_penguin,0,25,
+rovintus,1,25,
+rotating_brushes,0,25,
+rose_quartz_universe,4,25,
+rose_guns_days,3,25,
+rosa_(fuu'un),4,25,
+rori_(artist),1,25,
+rori_(4chan),1,25,
+rondel,0,25,
+roncele,1,25,
+rolling_vistamp,0,25,
+roland-gin,1,25,
+rokuromi,1,25,
+roku_(hikokeng),1,25,
+roche_(p&d),4,25,
+roamingtuna,1,25,
+rla13753,1,25,
+riyuta,1,25,
+rising_hopper,0,25,
+rino_(wonderland)_(princess_connect!),4,25,
+rino_(kurumi),1,25,
+rinka_(ruuku),4,25,
+ringo_apple,1,25,
+rindou_rinna,4,25,
+rin5325,1,25,
+rikotan_(vtuber),4,25,
+riko_(maki-y318),1,25,
+rikko_(jellyberry),1,25,
+riita_iga,1,25,
+riinougat,1,25,
+rifling,0,25,
+riel_(yua),4,25,
+riel,4,25,
+ricarla_borgnine,4,25,
+ricardo_soldato,4,25,
+riboshika,1,25,
+reycal,4,25,
+rexfaxsex,1,25,
+reta_su_gohan,1,25,
+restroom_sign,0,25,
+ren_wu_ying,4,25,
+remitei03,1,25,
+rem_(hinotomi),1,25,
+relic_buster_(granblue_fantasy),4,25,
+reignite,3,25,
+redamon,1,25,
+red_sonja_(comics),3,25,
+red-and-green_macaw,0,25,
+re:zero_kara_kasaneru_isekai_seikatsu,3,25,
+rayman_origins,3,25,
+ray_lovelock,4,25,
+raven's_bite,0,25,
+rao_ruki,1,25,
+ramudayajirushi,1,25,
+rakuen_(nethvn),1,25,houjyoh
+raji_(aranmax),1,25,
+raizou,1,25,
+raise_a_suilen,0,25,
+raion_(t12k1ro3),1,25,
+raine_(acke2445),1,25,
+rain_sunny,1,25,
+rain_(regen),1,25,
+raikou104,1,25,
+raiden_shuga,4,25,
+r2_online,3,25,
+qwenthur_barbotage,4,25,
+queen_of_pain_(dota),4,25,akasha_the_queen_of_pain
+queen_of_diamonds,0,25,
+queen_of_clubs,0,25,
+qu_(punishing:_gray_raven),4,25,
+qingshui_ai,1,25,
+pz,1,25,
+pyonko,4,25,
+puzzle_(vocaloid),3,25,
+purple_santa_costume,0,25,
+punpun,1,25,
+puni_y_y,1,25,
+puka_(wild_arms),4,25,
+puckjjick_(belbesi19),1,25,
+psi_(583278318),1,25,
+pruzhka_(wardi113),1,25,
+prinz_adalbert_(after-hours_service)_(azur_lane),4,25,
+print_cloak,0,25,
+principality_of_wy_(hetalia),4,25,
+princess_princess,3,25,
+princess_mercury,4,25,
+princess_holiday,3,25,
+prima,4,25,
+pride-kun,1,25,
+prema-ja,1,25,
+precum_pool,0,25,
+poyoyon_chihiro,1,25,
+power_suit_(metroid),0,25,
+powa_(36iii),1,25,
+potato_iida,1,25,
+poshul_(chrono_cross),4,25,
+poroze,1,25,
+popolocroits,1,25,
+popcornflakes,1,25,
+polskash,1,25,
+pollo_(evillious_nendaiki),4,25,
+pollity,1,25,pollity_san
+pole_vault,0,25,
+pokowachikusu,1,25,
+pokemon_ranger_and_the_temple_of_the_sea,3,25,pokemon_m09
+pokemon_4ever_-_celebi:_the_voice_of_the_forest,3,25,pokemon_m04
+pokeblock,0,25,
+pochacco_(cosplay),0,25,
+pluto_(planet),0,25,
+plume_(junkpuyo),4,25,
+plugg_(kirby),4,25,
+playmaker,4,25,
+plastic_little,3,25,
+pjmiyo,1,25,
+pixshed,1,25,
+pirukusu,1,25,
+pink_pasties,0,25,
+pineapple_(a30930s),1,25,
+pina_(blue_archive),4,25,
+pikachu_rock_star,4,25,
+pika_mouse,1,25,
+phares,1,25,
+peyton_gee,1,25,
+pesu_(penpen),1,25,
+peropero_saimin,3,25,
+pepsi2330,1,25,
+peppermint_jet,1,25,
+pengin_pina,4,25,
+patient_zero,1,25,
+passion_harp,0,25,
+parmesan_(168n),1,25,
+parachute_pants,0,25,
+pappappao,1,25,
+panzerfaust_(skullgirls),4,25,
+panties_under_bloomers,0,25,
+pang_(sdorica),4,25,
+pancake_nun_(diva),4,25,
+paldean_wooper,4,25,
+palbo_(hshhhh321),1,25,
+pakisu-tan,4,25,
+p.k.,1,25,
+ozzzzy,1,25,
+oz_(manga),3,25,
+oxstar,1,25,
+ousuki_konome,4,25,
+ousaka_sora,4,25,
+ousaka_asuha,4,25,
+oumi_megumi,4,25,
+ouka_(yama),1,25,
+oui,4,25,
+ottomarr,1,25,
+otonashi_amane,4,25,
+otoma_(matoi0603),1,25,
+otokawa_saori,4,25,
+otogi_frontier,3,25,
+otaku_no_video,3,25,
+osu!_tatakae!_ouendan_2,3,25,
+oscrol_las_casas,4,25,
+osashimisan,1,25,
+osakana_e,1,25,
+orlijiang,1,25,
+oresama_teacher,3,25,
+oreazu,1,25,
+orange_maru,1,25,
+orange_(sal1014),1,25,
+orange_(moekibarasensei),1,25,
+opera_the_vermelho,4,25,
+open_gift,0,25,
+oozora_tsubasa,4,25,
+oozaru,4,25,
+oosaka_hierou,1,25,
+oooranje_nlj,1,25,
+oonamuamidabutu,1,25,
+oobari_masami_(style),0,25,
+onohana,1,25,
+onoe_junki,1,25,
+only_you,3,25,
+onizuka_kimihito,4,25,
+onionyaa,1,25,
+onigami_mei,4,25,
+oni0417,1,25,
+onaji_class_no_idol-san._around_me_is_full_by_a_celebrity.,3,25,
+omochi_no_kimochi,1,25,
+olverse,3,25,
+olivier_(heartcatch_precure!),4,25,
+oliver_koito,1,25,
+oli,1,25,
+old_dorothy,4,25,
+okusama_ga_seito_kaichou!,3,25,my_wife_is_the_student_council_president
+okono,1,25,
+okiura_mizuki,4,25,
+okazaki_yuma,4,25,
+okamocheese,1,25,
+okamin,1,25,
+okada_izou_(third_ascension)_(fate),4,25,
+oka_ball,1,25,
+oishi_(psycho-pass),4,25,
+oimo_imoo,1,25,
+ohtsuka_miyako_(calm_mashiro),4,25,
+ohno,1,25,
+ohayou_girls,1,25,
+ohama_kan'emon,4,25,
+ogawa_misaki,4,25,
+odokawa_hiroshi,4,25,
+odennoden,1,25,odenoden
+odawara,1,25,
+oda_takashi,1,25,
+obanana_(ahap7438),1,25,
+nyx_(mebius_no_wa),1,25,
+nyora_(soredemosekai),1,25,
+nymph_(last_origin),4,25,t-10_nymph
+nyagi,1,25,
+nya-c,1,25,
+numi_(sin),1,25,
+nukki,1,25,
+nujig,1,25,
+nuclear_wasabi,1,25,
+nucco,1,25,
+ntw-20_(xmas_reindeer)_(girls'_frontline),4,25,
+nrp_(pesu),1,25,
+noyamanohana,1,25,
+note_(hikahikamahiru),1,25,
+norton,4,25,
+north_island_giant_moa_(kemono_friends),4,25,
+noroi_no_megane_(vocaloid),3,25,noroi_no_megane
+nora_(greenteaneko),4,25,
+nor_(reader13),1,25,
+nonbiri_jirou,1,25,
+nolan,1,25,
+noko351,1,25,
+noir_(nowaru),1,25,
+nogiwa_kaede,1,25,rakugaki_man
+nobunaga_the_fool,3,25,
+nobunaga_no_shinobi,3,25,
+nobi_tamako,4,25,
+no_halo,0,25,
+no_ears,0,25,
+nixie_(rabi_ribi),4,25,
+niwakaike,1,25,
+nitoni,1,25,
+nite_airen,1,25,
+nishina_kurumi,4,25,
+nishimura_haru_(7th_dragon),4,25,
+nirareba,1,25,
+nipuni,1,25,
+nipeira,1,25,
+nio_(einhorn),1,25,
+nintendo_3ds_ll,0,25,nintendo_3ds_xl
+ninpuu_sentai_hurricanger,3,25,
+ninny-world,1,25,
+nininbaori,0,25,ninin_baori
+nine_violet,4,25,
+nine_tail_(ragnarok_online),4,25,
+nina_matsumoto,1,25,
+nin_fake,1,25,
+nikuo_(29niku),1,25,
+nijuuni,1,25,
+niisan_alpha,1,25,
+nightmare_(sinoalice),0,25,
+night_vision,0,25,nightvision
+nicoloso_da_recco_(azur_lane),4,25,
+nicole_mimi_tithel,4,25,
+nick_fury,4,25,
+nick300,1,25,
+niche-tan,1,25,
+nezulet,1,25,
+new_york_city_police_department,0,25,
+new_southern_battleship_princess,4,25,
+neumann_ku_100,0,25,
+net_ghost_pipopa,3,25,
+nerf_gun,0,25,
+nepeta_leijon,4,25,
+neo_geo_pocket_color,0,25,
+nemu_kotatsu,1,25,
+nekoshin_kagari,1,25,
+nekokoneko,4,25,
+neko_suke,1,25,
+neko_nami83,1,25,
+nekko_(pixiv62998998),1,25,
+nejimaki_kagyuu,3,25,
+negoro_shuujirou,1,25,
+neginegio,1,25,
+negi-mamire,1,25,
+necktie_on_mouth,0,25,
+natsuki_(digretking),1,25,
+natsuiro_kokoro_log,3,25,
+natsu_ga_owaru_made,3,25,
+natasha_(fire_emblem),4,25,
+nasa-chan,4,25,
+naruse_(0819),1,25,
+narumi_karen,4,25,
+narisawa_naruo,1,25,
+naoto_kurogane,4,25,
+naoto_(sandersoniahirahira),1,25,
+naomi_hunter,4,25,
+naoki_yukira,1,25,
+nansui_kinoko,1,25,
+nanosheep_(character),4,25,
+nanjou_satoshi,1,25,
+nanban_teishoku,1,25,
+nanatsugumi,1,25,
+nanatsu_maka,1,25,
+nanase_yuu,4,25,
+nanami_chiaki_(cosplay),0,25,
+nanako_kaitai_shinsho,3,25,amazing_nurse_nanako
+nanai_(ayinusu00),1,25,
+nanahoshi_milily,4,25,
+nami_z,1,25,
+nami_nami_nami,1,25,
+nameless_hill,0,25,
+namayakeinu,1,25,
+namatyaba,1,25,
+namatame_tarou,4,25,
+nama_(namaiki),1,25,
+nagoonimation,1,25,
+nagihoko,1,25,
+nagihara_suzuna,4,25,
+nagi_springfield,4,25,
+nagi_(haruka_4),4,25,
+nagase_mana,4,25,
+naganegi,1,25,
+nachuraa,1,25,
+n03+,1,25,
+mystyhw,1,25,
+myon_rio,1,25,
+myao_(jumca_my),1,25,
+mw,1,25,
+muyihui,1,25,
+mutual_feeding,0,25,
+mutsuya,1,25,
+mutsunari_(crim0718),1,25,
+mutsuki_yui,1,25,kiritsuki_yuu_koromo
+mushoku_loli_(character),4,25,
+mushi_aoi,1,25,
+muse_loss,1,25,
+murakami_mame,1,25,
+murairamuraiari,1,25,
+multi-strapped_dress,0,25,
+mukouyama_mu,1,25,
+mujizi,1,25,
+mugyaclan,1,25,
+mugen_(sp7q4kv9),1,25,
+mr_yheu,1,25,
+moyasi06_25,1,25,
+mouse_mask,0,25,
+mousariababa,1,25,
+mouri_kazuaki,1,25,
+mouretsu_atarou,3,25,
+mountain_tapir_(kemono_friends),4,25,
+motiking,1,25,
+motida,1,25,
+motherboard,0,25,
+moses_(fate),4,25,moses_(fate/prototype_fragments)
+mosamune,1,25,
+mors_gn,1,25,
+moriya_marie,4,25,
+morishige_misora,4,25,
+morisaki_hichimi,1,25,
+morino_mizu,1,25,
+morini_ochiteru,1,25,
+mori_tatsuki,4,25,
+mori_(pepekataokapepe),1,25,
+morgan_le_fay_(valentine_witches)_(fate),4,25,
+moon_carver_(genshin_impact),4,25,
+monogo,1,25,
+monofin,0,25,
+money_slap,0,25,
+monday,0,25,
+monane4,1,25,
+momosiro,1,25,
+momoayamo,1,25,
+momikodayo,1,25,
+momiji_manjuu,0,25,
+molten_rock_bath,0,25,
+mokuzou_(mokumokuzo),1,25,
+mokki_(smtkmokki),1,25,mokkimori
+mokichi812,1,25,
+mogy88428,1,25,
+moeroknight,1,25,
+mochimochi_mascot,0,25,
+mocacoffee_1001,1,25,
+mo_(smileomoti),1,25,
+mo-mo-ride,1,25,
+mizuya_chiharu,1,25,
+mizuta_marixxx,1,25,
+mizushina_hotaru,4,25,
+mizushima_kasumi,4,25,
+mizusawa_suzuka,4,25,
+mizumiyako,1,25,
+mizuki_chika,1,25,
+mizuhotsuki,1,25,
+miyano_(tanakeda),4,25,
+miyamoto_musashi_(fate)_(cosplay),0,25,
+mitsurugi_heishirou,4,25,
+mitsumine_hakuya,4,25,
+mita_kazuo,1,25,
+mister_popo,4,25,mr._popo
+misopanne,1,25,
+misibe,1,25,
+mischief_witch,4,25,
+misaki_kyouko_(suchie-pai),4,25,
+misaki_(jonsun),4,25,
+miruru_souya,1,25,
+miru_holstein,4,25,
+mirai_shousetsu_arcana,3,25,
+mirai_shounen_conan,3,25,
+mira_(miramita8727),1,25,
+mippei,1,25,mippei29
+mipe_(r_kkk12),1,25,
+mink343,1,25,
+minior_(meteor),4,25,
+mineji,1,25,
+minazuki_maya,1,25,
+minamoto_no_hiromasa,4,25,
+min,1,25,
+milyu,1,25,
+milksea,1,25,
+mikumo_shinden,1,25,
+mikiki,1,25,
+mikan_riji,1,25,
+mikame_v2,1,25,
+mika_mikli,4,25,
+mii_brawler_(smash_ultimate),4,25,
+mihaya_(a-ta-i),1,25,
+mihanada_kanata,1,25,
+mighty_action_x_level_2,0,25,
+mifumi_takafumi,1,25,
+midorikawa_maki,4,25,
+midori_xu,1,25,
+midi_hazapero,1,25,
+mid_(mid_skb),1,25,
+mianbaoren,1,25,
+mi-sya,1,25,
+mg4_(survival_club)_(girls'_frontline),4,25,
+mexican_clothes,0,25,
+metto,1,25,
+meteolance,1,25,
+metalmorag,1,25,
+metal_sand,0,25,
+metal_akira,1,25,
+messiah_&_crea,1,25,
+meryl_stryfe,4,25,
+mervamon,4,25,
+meru_(dragoon),4,25,
+meroko_yui_(bunny),4,25,
+merkava_(under_night_in-birth),4,25,
+mercedes-benz_g-class,0,25,
+memi_(asa_no_ha),4,25,
+mementomori,3,25,
+melusine_(housamo),4,25,melusine_(tokyo_houkago_summoners)
+mellow_yellow_(idolmaster),0,25,
+melkcoffee,1,25,
+mekami_suzu,4,25,
+mejiro_family_matriarch,4,25,
+meitou_muku,1,25,
+meikyuu_tansaku_dragon_princess,3,25,
+meikyuu_black_company,3,25,
+mei-mei_(murenase!_shiiton_gakuen),4,25,
+megu_usagi,1,25,
+megatron_(beast_wars),4,25,
+megalateo,1,25,
+mega_man_6,3,25,rockman_6
+mega_aggron,4,25,
+meerkat,0,25,
+me_(mikannu),1,25,
+mazu_(mazumaro),1,25,
+mazinkaiser_skl,3,25,
+maze_draws,1,25,
+mayura,4,25,
+mayoko_na_kuroneko,1,25,
+maydream,1,25,
+may_harvey,4,25,
+may_(arknights),4,25,
+maumaou,1,25,
+matt_groening_(style),0,25,
+matsushita_(matsudbox),1,25,
+matsuri_(princess_connect!),4,25,orihara_matsuri
+matsuno_susumu,1,25,
+matori_(pokemon),4,25,
+matin_catorce,4,25,
+matcha_(user_yyss8744),1,25,
+master_maichin,1,25,
+mashitono_desu,1,25,
+mashiro_akira,1,25,
+masashi_(excellent),1,25,
+masamurai,1,25,
+masamune_(eight5050),1,25,
+masaki_andoh,4,25,
+masafumi,1,25,
+mary_(marota),4,25,
+marusa_(marugorikun),1,25,
+marupon,1,25,
+maru0one,1,25,
+maru-chan,4,25,
+marta,4,25,
+marl35,1,25,
+markl,4,25,
+marjorine,4,25,
+marina_(pokemon),4,25,
+marimuu,1,25,
+marik_(artist),1,25,
+mariero_(mariello),1,25,
+marie_marigold,4,25,
+mariano_(fairy_fencer_f),4,25,
+maria_ross,4,25,
+margit_the_fell_omen,4,25,
+marasai,4,25,
+map_background,0,25,
+maou_gakuen_no_hangyakusha_~_jinruihatsu_no_maou_kouho_kenzoku_shoujo_to_ouza_o_mezashite_nariagaru_~,3,25,
+maocha,1,25,
+manna_(pixiv8805037),1,25,
+manichi,1,25,
+mameshiba_(character),4,25,
+malin_falch,1,25,
+male_healer_(disgaea),4,25,
+mako_(eogks),4,25,
+makita_(mugitya3776),1,25,
+makishi_yaichi,1,25,
+makababazi,1,25,
+maka_(user_rryf2748),1,25,maka_mogmog
+mahou_sensou,3,25,
+maho_x_roba_-witches_spiritual_home-,3,25,
+magnolia_(pokemon),4,25,
+magna_carta_2,3,25,
+magisa,4,25,
+magahara_desumi,4,25,
+madeline_(celeste),4,25,
+maddy,1,25,maddysaki
+machinicalis,1,25,
+machahiro_(shiitake),1,25,
+mabel_able_(animal_crossing),4,25,
+mabel_(maou-sama_to_kekkonshitai),4,25,
+m1_garand_(beach_princess)_(girls'_frontline),4,25,
+m-ma,1,25,
+lyra_(summer_2020)_(pokemon),4,25,
+lyn_(fire_emblem)_(cosplay),0,25,
+luserina_barows,4,25,
+luna_skylark,4,25,
+luna_rune,1,25,
+luna_11777,1,25,
+luna_(unsomnus),4,25,
+luna_(gkluna_mas),1,25,runa_(gzma2244)
+luna_(dota),4,25,
+lukas_thadeu,1,25,
+lucille_aleister,4,25,
+love_love_life,3,25,
+lotus_pod,0,25,
+lotte_(madoka_magica),4,25,
+lollipop_(zoza),4,25,
+locomon,1,25,
+lmin,1,25,lmj961106
+llicornia,1,25,
+lizhp_libellus_aetern-ritter,4,25,
+lithiumia,1,25,
+liselsia_cesarini,4,25,
+lin_(user_uzmw2535),1,25,
+lin_(greenopi),4,25,
+limebreaker,1,25,
+lim_aya_w,1,25,
+lily_(houtengeki),4,25,
+lilith_clawthorne,4,25,
+lilith_(monster_musume),4,25,
+lilia_(king's_raid),4,25,
+liki,1,25,
+light_tank,0,25,
+lidia_(damegane),4,25,
+lic_(licloud28),1,25,rikku_(licloud28)
+let,1,25,
+lest_(rune_factory),4,25,
+leonir_(gogalking),4,25,
+leomon32,1,25,
+lemontansan,1,25,
+lemonolemone,1,25,
+leisss,1,25,
+leila_(yurisouls),1,25,
+legs_back,0,25,
+legal_high,3,25,
+leenvidia,1,25,
+lee_gyu-hyuk,4,25,
+laurell_weinder,4,25,
+las_vegas,0,25,
+lantana_(flower_knight_girl),4,25,
+lanjiujiu,1,25,
+lancer-tan,4,25,
+lakuhito,1,25,
+laevateinn_(phantom_of_the_kill),4,25,
+ladybird8n,1,25,
+lace-up_gloves,0,25,
+l_aciel,1,25,
+l_1753ucon,1,25,
+l.m.b.g_(idolmaster),0,25,l.m.b.g
+kyuubiness,1,25,
+kyrieru,1,25,
+kyoya_(0o-7snow7-o0),1,25,
+kyouyama_(kuromon),1,25,kuromon
+kyouka_(summer)_(princess_connect!),4,25,
+kyoto_tower,0,25,
+kyoshincats,1,25,
+kuzunoha_rindou,4,25,
+kuusuke_(yo_suke39),1,25,
+kuusou_ryodan,1,25,
+kushizukino_ayame,1,25,
+kusanagi_yuuri,1,25,
+kusakabe_tatsuo,4,25,
+kurusu_asami_(hitotose),4,25,
+kururu_(princess_witches),4,25,
+kurumi_nari,1,25,nari_(hoooooolic)
+kurumi_(zettai_tenshi_kurumi-chan),4,25,
+kurou_(yugato),1,25,
+kurosu_taichi,4,25,
+kurosiro,1,25,
+kurose_rena,1,25,
+kurokishi_to_shiro_no_maou,3,25,
+kurokami_yuuya,1,25,
+kurohime,4,25,
+kurohachi,1,25,
+kurogane_ikki,4,25,
+kuroda_sayuki,4,25,
+kuro-ra,1,25,
+kurashima_nagisa,4,25,
+kurabe_juurou,4,25,
+kuonji_yume,4,25,
+kunugi_ayano,4,25,
+kunieda_aoi,4,25,
+kuneru_marta,3,25,
+kumomachi,1,25,
+kumoi_ichirin_(cosplay),0,25,
+kumakichi_(kuma-ana),1,25,
+kudiramochi,1,25,
+ktym_777,1,25,
+ksartworks,1,25,
+koyomiyoko_o,1,25,
+koyemshi,4,25,
+koyasu_kazu,1,25,
+koyap,1,25,
+koyano_ichigo,4,25,
+kougyoku_(module),0,25,
+kotomori_ren,4,25,
+kotobuki_ryou,1,25,
+kosui_(artist),1,25,
+kosori_(dennoukitan),1,25,
+kosmosshuffle,1,25,
+kosian,1,25,
+koshii_tai,1,25,
+koshigaya_tatsumi,1,25,
+koromo_take,1,25,
+koriente,4,25,
+kora_(xenoblade),4,25,zakuro_(xenoblade)
+konowa_(kakumei),1,25,
+konno_(genshiken),4,25,konno_kon
+kona_(silent913),1,25,
+komiya_yuuta,1,25,
+kometa_virtual_live,3,25,
+komachi_(gao_13),1,25,
+koma_(remi_398),1,25,
+kokotendon,1,25,
+kokorone=pendulum!,3,25,
+koko_(kotobutyann),1,25,
+kokido,1,25,
+kokeshi_ya,1,25,
+kodomo_no_omocha,3,25,
+kodama's_elder_sister_(sakura_yuki),4,25,
+kodai_yui,4,25,rule_(boku_no_hero_academia)
+kobayashi_kenya,4,25,
+ko_shushu,1,25,
+knuckle_hair,0,25,
+knocknarea_(fate),4,25,
+kmkm_panna,1,25,
+klamp,1,25,
+kiwa_(a-bell-abi),1,25,
+kity1211_tetsu,1,25,
+kitano_sora,4,25,
+kitamiya_hatsumi,4,25,
+kishima_(ki123454321),1,25,
+kiryu_coco_(cosplay),0,25,
+kirimochi,1,25,
+kirihime_yoruka,4,25,
+kiri_(foxsnake),1,25,
+kinutani_soushi,1,25,so-shi
+kinoko-san,4,25,
+kinkuri_(axsc8mjrt),1,25,
+kinjou_manami,4,25,
+kingindou_yumeji,1,25,kingindoh
+kingfrogs,1,25,
+kinakonato,1,25,
+kimijima_(kimijima0301),1,25,
+kimagureneko,1,25,
+kikyou_kiri,4,25,
+kikuchi_yume,4,25,
+kijipoko,1,25,
+kiichirou,1,25,kiichi_(65235736)
+kihuzinz,1,25,
+kidmukuro,1,25,
+kicdon,1,25,
+kiben_gakuha_yotsuya-senpai_no_kaidan,3,25,
+khaliqa_bell,1,25,leafmonarch
+keyliom,1,25,
+keykey117117,1,25,
+kesuno,1,25,
+kerun,1,25,
+kensuke_creations,1,25,
+kenny_(pokemon),4,25,
+kenbu_(kyoukai_senki),4,25,
+ken-sya,1,25,
+kemonono_(inchiki_dou),1,25,
+kemono_friends_r,3,25,
+kelbhin,1,25,
+keisenko,4,25,
+keibeam,1,25,
+kazuta_(kazutan62),1,25,
+kazuha_(ichiwa),1,25,
+kazemal,1,25,
+kaze_yaku,1,25,
+kazami_nobuko,4,25,
+kaz_(kaz323),1,25,
+kaye_(blushyspicy),4,25,kaye_(blushypixy)
+kay_(kf1n3),1,25,
+kaworu_(1030),1,25,
+kawazoe_mariko,1,25,
+katsura_kotetsu,4,25,
+katsuki_tsubasa,4,25,
+katrielle_layton,4,25,
+katerea_leviathan,4,25,
+katase_megumi,4,25,
+katanon_(suparutan),1,25,
+katakuri,1,25,
+katagiri_atsuko,1,25,
+kasagland,1,25,
+karutia_(g_(genesis1556)),4,25,
+karube_guri,1,25,
+karua_m,1,25,
+karasunomiya_asuka,4,25,
+karappo_(poket12),1,25,
+karamomo,1,25,
+kanuka_clancy,4,25,
+kanten_(kanten328),1,25,
+kansen_(series),3,25,
+kanon_(ghost_trick),4,25,
+kannuki_natsume,4,25,
+kannagi_ayano,4,25,
+kanihara_eiko,1,25,
+kangbus,1,25,
+kanemoto_akari,4,25,
+kaneko_ryou,1,25,
+kanasuke,1,25,
+kanade_rindou,4,25,
+kan-e-senna,4,25,
+kamu_(camui),1,25,
+kamo_0707,1,25,
+kamikawa_yuuto,4,25,
+kamichama_karin,3,25,
+kameo,4,25,
+kameneji,1,25,
+kamen_rider_the_first,3,25,
+kamen_rider_gills,4,25,
+kame_no_nin,1,25,
+kamaboko_bijin,1,25,
+kama_(summer_enma-tei)_(fate),4,25,
+kaku_sugar,1,25,
+kakoogan,1,25,
+kako_(azur_lane),4,25,
+kaki_z3,1,25,
+kajanda,1,25,
+kaiware_(user_kamu3357),1,25,
+kaitofuuma,1,25,
+kaidou_nora-,1,25,
+kahiika,1,25,
+kaheru_(vtuber),4,25,
+kagura_san,4,25,
+kagura_(ressha_sentai_toqger),4,25,
+kagumanikusu,1,25,
+kage_(ka_9e_4su),1,25,
+kae_(suguri),4,25,
+kae_(artist),1,25,
+kaavi,4,25,
+ka_4maki,1,25,
+k041800,1,25,
+k-ailisi,1,25,
+justinas_vitkus,1,25,
+juno_(pixiv32541104),1,25,
+jungle_de_ikou,3,25,
+jun_sung_kwak,1,25,
+julius_monrey,4,25,
+juiceneko,1,25,
+juhi-huji,1,25,rrrotten
+juan_romero,1,25,
+jowol,4,25,
+journal,0,25,
+jorouyome-chan,4,25,
+joint06,1,25,
+johanna_wiese,4,25,
+joey_(lilinjunyi),1,25,
+jk-ff,1,25,
+jitan777,1,25,
+jinyu_lao_honglingjin,1,25,
+jinguu_maya,4,25,jingu_maya
+jin_kaze_tsukai,4,25,
+jimmy_valmer,4,25,
+jill_stingray_(cosplay),0,25,
+jibako,1,25,
+jiaoshoutongxue,1,25,ijuun
+jeya_(leej3ya),1,25,
+jet_jaguar,4,25,
+jessie_maye,4,25,
+jersey_(azur_lane),4,25,
+jellyfish_hair_ornament,0,25,
+jdpr,1,25,jdprakoso
+jaws,0,25,
+jasper_(steven_universe),4,25,
+jas_(kda10457),1,25,
+jagi_(nexboy),1,25,
+jack_the_ripper_(chaldea_lifesavers)_(fate),4,25,
+jack-o'-lantern_(kemono_friends),4,25,
+ja-punkster,1,25,
+izuru,1,25,
+izumi_kumi,4,25,
+izumi_(walnov),1,25,izumi_(pixiv10995)
+iwis,1,25,
+iwashita_akemi,4,25,
+iwaoka_(sikabanenomiti_park),1,25,
+iwakura_kazunori,1,25,
+iwa_(alpaca_oukoku),1,25,
+ittan_momen_(gegege_no_kitarou),4,25,
+itsumi1021,1,25,
+itsuki_(otsugei),1,25,
+itou_masanori,1,25,
+itoguchi_(manma_melon),1,25,
+italia_mondial,0,25,
+israfel,4,25,
+isonami_kai_ni_(kancolle),4,25,
+ishikoro,1,25,
+isezaki_eri,4,25,
+iseshima_aya,4,25,
+ironing,0,25,
+ireza,4,25,
+invisible_wanwan'o,1,25,
+invasion_stripes,0,25,
+inuyou,1,25,
+inubouzaki_ayako,4,25,
+inubana_jiruno,1,25,
+inou_hiroaki,1,25,
+inoe_(noie),1,25,
+inkstrike_(splatoon),0,25,
+inkopiko,1,25,
+ink_(pixiv25450915),1,25,
+ingo_(pokemon)_(cosplay),0,25,
+indonesian_flag,0,25,
+inari_(monster_girl_encyclopedia),4,25,
+inanosuke,1,25,
+inagata,1,25,
+in_net,0,25,
+in'youchuu_shoku,3,25,
+imuneko,1,25,
+imo_cyber,1,25,
+imo_(ryokyou),1,25,
+imeri_fuzuki,1,25,
+imanatsu,1,25,
+imai_taki,1,25,
+ima_(minitomato123),1,25,
+illustrator,0,25,
+illusion_(pokemon),0,25,
+ilion,1,25,
+iku_kurumi,4,25,
+ikemoto1001,1,25,
+ikashun,1,25,
+iji_(u_mayday),1,25,
+iinuma_chika,1,25,topo_smarrita
+igniculus,4,25,
+idw_(cat_in_the_box)_(girls'_frontline),4,25,
+ida_(idalol490),1,25,
+icyee,1,25,
+ichimonji_kei,1,25,
+ichiko,1,25,
+ichi_(lucky-dog1),1,25,
+i-coat,1,25,
+i-8_(kancolle)_(cosplay),0,25,
+i-13_(kancolle)_(cosplay),0,25,
+hymxiaocyan,1,25,
+hyangu,1,25,
+hyakka_onibi,1,25,
+huyunora,1,25,
+hunnyamai,1,25,
+huiro,1,25,
+huffing,0,25,
+huaronanago,1,25,
+htk_mikan,1,25,
+hpknight,1,25,
+hpapo,1,25,
+howe_(pastry_princess)_(azur_lane),4,25,
+houkago_no_senpai,3,25,
+hotei_kazuha,1,25,
+hotarubi,4,25,
+hoshino_hachirouta,4,25,hoshino_hachirota
+hoshi_tanuki_(shironeko_project),4,25,
+hoshi_ame,1,25,
+hongse_beiyu,1,25,
+honey_(norasuko),4,25,
+honda_s2000,0,25,
+honda_(mtp),1,25,
+honcha,1,25,
+homurakko,4,25,
+holding_thermos,0,25,
+holding_pendulum,0,25,
+holding_mistletoe,0,25,
+holding_hourglass,0,25,
+holding_hoop,0,25,
+holding_cushion,0,25,
+holding_blindfold,0,25,
+hokuro-chan_(tawawa),4,25,
+hokke_(fryinghokke),1,25,
+ho_(h_k_white),1,25,
+hizack,4,25,
+hitte5416,1,25,
+hitoyume,3,25,
+hitotsukane_yuuko_olivia,4,25,
+hisui_(paingumi),1,25,
+hisu_(hisu_),1,25,
+hishida_haru,4,25,
+his_master's_voice,3,25,
+hiruri,1,25,
+hirono_nagi,4,25,
+hirokawa,1,25,
+hirohana_yukiko,4,25,
+hiroe_chiharu,4,25,
+hire_(uret4788),1,25,
+hiomaika,1,25,
+hinoki_yuu,1,25,
+himuro_tatsuya,4,25,
+himmel_(allsky83),1,25,
+himeoka_yuki,1,25,
+himenomiya_kaguya,4,25,
+himekawa_fuuka,4,25,
+himano_(artist),1,25,
+hilda_(summer_2022)_(pokemon),4,25,
+hikouseki,0,25,
+hikagami_yukiri,1,25,
+hijinrui_gakuen,3,25,
+hijikata_(shiromanta),4,25,
+hige_(yosemite),1,25,
+hiedanotsukai,1,25,
+hida_iori,4,25,
+hibino_matsuri,4,25,
+hibiki_ao,4,25,
+hibara_eiko,4,25,
+hibanachiku,1,25,
+heus_(nuntarou),1,25,
+hetiru,1,25,
+hesuke,1,25,
+heroes_of_might_and_magic,3,25,
+hero's_shade,4,25,
+hercequary,3,25,
+henryk,4,25,
+helmina_lent,4,25,
+hell_and_heaven,0,25,
+hell2_(ses0297),1,25,
+helixel,1,25,
+heliotrope_(flower_knight_girl),4,25,
+helena_adams,4,25,
+heki_(axis),1,25,
+hekapoo,4,25,
+heka=ton,1,25,
+heitian_keji,1,25,
+hei_tong_shi,1,25,
+hebinuma,1,25,
+heavy_meta-ko,4,25,
+heather_(fire_emblem),4,25,
+hazuki_ruka,1,25,
+hazakura_seiso,4,25,
+hayate_(doa),4,25,
+hayase_kouichi,4,25,
+hawkeye_(fire_emblem),4,25,
+hattori_kiriko,4,25,
+hattori_hanzou_(hyakka_ryouran),4,25,
+hatsuji_horumon,1,25,
+hatomugi_(mamotan),1,25,
+hatakeyama_yoshitaka,1,25,
+hasumi_rain,4,25,
+hashimoto,1,25,
+hashiko_(pecopom),1,25,
+haruno_sora,4,25,
+haruna_miyabi,1,25,
+haruiro_ouse,3,25,
+haruharu55,1,25,
+haru_hikoya,1,25,
+haru_(inamura4),1,25,
+haregi,0,25,
+harapekopikachu,1,25,
+haraguro_jakku,1,25,
+hapoa,1,25,
+hansode32,1,25,
+hans_(senjou_no_valkyria),4,25,
+hanes_025,1,25,
+hand_on_animal,0,25,
+hand_in_thighhighs,0,25,
+hanamutsuki,1,25,
+hanabatake_yoshiko,4,25,
+han_joon-gi,4,25,
+hamutarou,1,25,
+hamha_s,1,25,
+ham_(eikasiahhh),1,25,
+halhal,1,25,hal_(21)
+hakuu_kanaka,1,25,
+hakurai_reika,4,25,
+hakui_(b600723),1,25,
+hakua_shou,4,25,
+haiumore,1,25,
+hair_length_switch,0,25,
+hair_chair,0,25,
+haimine,1,25,
+haidollo,1,25,
+hagure_tanishi,1,25,
+haguhagu_(19448514),1,25,
+hagihara_asami,1,25,
+hachimitsu_ame_(phoenix),1,25,
+habu.,1,25,
+haaru,1,25,
+gyroscope,0,25,
+gyopi,4,25,
+gygerbeen_rtl06,1,25,
+gyaku_oudou,3,25,
+gwendolyn_(fire_emblem),4,25,wendy_(fire_emblem)
+guzma_(pokemon)_(cosplay),0,25,
+gutter,0,25,
+guren_seiten,4,25,
+gurekoguriko,1,25,
+gunu_(nyzn3223),1,25,
+gunter_(fire_emblem),4,25,gunter_(fire_emblem_if)
+guntank_(guriko),1,25,
+gunneko,1,25,
+gunbam_sonyeon,1,25,gbsn
+gun_pointing_at_viewer,0,25,
+guido_(sucurapu),1,25,
+guanhian,1,25,
+gs_pno,1,25,
+griffon_(monster_girl_encyclopedia),4,25,
+greenapple,1,25,
+greek_letters,0,25,
+gree4,1,25,
+great_pretender,3,25,
+grassy,0,25,
+grand_knights_history,3,25,
+gradient_pants,0,25,
+gou_(gzgnight),1,25,
+goshichi_shoji,1,25,konakona0307
+gorirago,1,25,
+gorgeous_takarada,1,25,
+gondola_(meme),4,25,
+gomi_yashiki,1,25,
+gomarayu,1,25,
+gokushufudou,3,25,the_way_of_the_househusband
+goat_alter_(narane),4,25,
+go_to_paradise_(idolmaster),0,25,go_to_paradise
+gm_sniper_ii,4,25,
+gm_orangeade,4,25,
+glove_spread,0,25,
+glaug,4,25,
+glaucus_(exterminator_in_the_square)_(arknights),4,25,glaucus_(plaza_sweeper)_(arknights)
+glalda,4,25,
+gl_ztoh,1,25,
+girls_book_maker_~grimm_to_sannin_no_ohime-sama~,3,25,
+giovanni_(ginga_tetsudou_no_yoru),4,25,
+gintarou_(puipuiginta),1,25,ginta_(pixiv)
+ginko_(konekonoshippo),1,25,
+ginjoo_(ginjo_1116),1,25,
+ginga_kuon,4,25,
+ginban_kaleidoscope,3,25,ginbankaleidoscope
+gimmy_adai,4,25,
+ghost_(ghost528),1,25,
+ggim_(kdnx8758),1,25,user_kdnx8758
+geyser,0,25,
+getting_up,0,25,
+geroro44,1,25,
+germaine_avadonia,4,25,
+george_kurai,4,25,
+genie_(aladdin),4,25,
+gelbooru,3,25,
+gel_banana,0,25,
+geb_(stand),4,25,
+gasketsu,1,25,
+gasaraki,3,25,
+garuta_(yamcha),4,25,
+garam_masala_(7355873),1,25,
+garakuta_(garakuta_no_gomibako),1,25,
+gao_ex_kaiser,1,25,
+gantan,1,25,
+galois,1,25,trex97
+galeoria,1,25,
+galar_mother,4,25,
+gakukuru,1,25,
+gaius_worzel,4,25,
+gabo,4,25,
+fuyuumikou,1,25,
+fuuma_tokiko,4,25,
+fuuma_(humawww),1,25,
+futomashi,1,25,
+futasan,1,25,
+fury_bowser,4,25,
+furono_(fuloru),1,25,furonyan
+furisode_girl_blossom,4,25,
+fur-trimmed_robe,0,25,
+funbuns,0,25,
+full_metal_panic!_invisible_victory,3,25,
+fukushima_nyuugyou_inc,1,25,
+fukufukupine,1,25,
+fujiya,3,25,
+fujitama_koto,1,25,
+fujinami_tomoko,4,25,
+fujimori_mikan,1,25,
+fujimiya_sakura,4,25,
+fuji_mitsuya,1,25,
+fuhikari,1,25,
+fuckin'_hot_(kuso_atsui),0,25,
+fuchi_(fuchi_1106),1,25,
+fu_r_y,1,25,
+fu-mi.a,1,25,
+fruit_stand,0,25,
+frodo_baggins,4,25,
+friulian_spear,0,25,
+friend_ball,0,25,
+fran_690,1,25,
+fps_xilou,1,25,
+forever_star_(idolmaster),0,25,
+forecast_janna,4,25,
+food_awe,0,25,
+fogriver,1,25,
+fn_minimi,0,25,
+fmg,1,25,
+flywinga7,1,25,
+fly_tutu,1,25,ftuzi
+fly_(pokemon),0,25,
+flower_umbrella,0,25,
+flower_box,0,25,
+flora_beast_(disgaea),4,25,
+flatbed_truck,0,25,
+fl_(l-fl),1,25,
+fixelcat,1,25,
+five_of_diamonds,0,25,
+fishcoooo,1,25,
+fiona_(agarest_senki),4,25,
+final_fantasy_xvi,3,25,"ff16,ffxvi,final_fantasy_16"
+final_fantasy_tactics:_hakuma_doushi_shibari,3,25,
+filin,1,25,
+filiananna,1,25,
+fighter_(dq3)_(cosplay),0,25,
+ffxivys,1,25,
+fezat,1,25,
+feng_shao_kky_(arj0522),1,25,
+feiyyx,1,25,
+feferi_peixes,4,25,
+feathered_cape,0,25,
+fata_morgana_no_yakata,3,25,
+fasalina,4,25,
+faruzan_(genshin_impact),4,25,
+fant,1,25,
+falling_money,0,25,
+fallen_angel_(untsue),4,25,
+falcom_(neptune_series),4,25,
+fake_nyon_(cookie),4,25,
+fairy_ranmaru:anata_no_kokoro_otasuke_shimasu,3,25,
+fair-chan,4,25,
+f.l.c.,1,25,
+f.a.n.g,4,25,
+ezume_(rosehip),1,25,
+ezel_the_king_of_fire_and_iron,4,25,
+exfeet,1,25,
+excharny,1,25,
+examination_table,0,25,
+eve_(mythology),4,25,
+eve_(alchemy_stars),4,25,
+evanstan,1,25,
+evanescent_existence,3,25,
+eva_smith,1,25,
+eva-st-clare,1,25,
+eushully,3,25,
+esty_erhard,4,25,
+esmeralda_(mawaru_penguindrum),4,25,
+erufa_(pixiv),1,25,
+eroriru,1,25,
+erio_patrol,1,25,
+ereshkigal_(under_the_same_sky)_(fate),4,25,
+erdrick's_sword,0,25,
+erato_(ennuigirl),4,25,
+eonbound,3,25,
+enmto,1,25,
+enkaboots,1,25,
+empty_plate,0,25,
+emojo,1,25,
+emma_hardy,4,25,
+emlyn_white,4,25,
+emilia_(yu-gi-oh!),4,25,
+emaan,4,25,
+em8er,3,25,
+eloseu_(haribochase),1,25,magicxbai
+elnie_tachibana,4,25,tachibana_elnie
+elle_(lom),4,25,
+elena_stoddart,4,25,
+ela_angraeni_(revian_samuel_dani),4,25,
+eika_(artist),1,25,
+eh?_ah_sou_(vocaloid),3,25,
+egg_(rxlal),1,25,
+egg_(lemyawn),4,25,
+edmond_dantes_(monte_cristo_uniform)_(fate),4,25,
+edelweiss_(wsparkz),1,25,
+ecchi_nano_wa_ikenai_to_omoimasu,0,25,
+eboda-x,1,25,
+ebicha,1,25,
+eba,1,25,
+east_coast_canuck,1,25,
+easily,1,25,
+eagle_(azur_lane),4,25,
+e_len,1,25,
+e.de.n,1,25,
+dyuba000,1,25,
+dusttodusk,1,25,
+duralu500,1,25,
+dunyarzad_(genshin_impact),4,25,
+duck_hood,0,25,
+druj_(jahy),4,25,
+driselle_sharil,4,25,
+drawing_alpaca,1,25,
+dragon_lord,4,25,
+dragon_(trickster),4,25,
+dr._white_(wet.elephant),4,25,
+douraku_utage,4,25,
+doumyouji_haruto,4,25,
+double_flare_skirt_one-piece,0,25,
+domon_asuka,4,25,
+dolores_(mazohaha),4,25,
+dollyly21,1,25,
+dole,1,25,
+dokidoki_yandemic,3,25,
+dodari,1,25,
+diverdiva,0,25,
+dist_(tales),4,25,
+disorder_6,3,25,
+discowars,1,25,
+dino_(trexsilence),1,25,
+digital_rain,0,25,
+dictionary,0,25,
+dias_(tajima_kouki),1,25,dias-tajima
+diarrhea,0,25,
+devil_jin,4,25,
+destructor_girl,4,25,
+der_untergang,3,25,
+dent,0,25,
+denney_(sukeru_ramune),1,25,
+demorzel,1,25,
+demon_days_(gorillaz),3,25,
+demia_duodectet,4,25,
+delinquent_(pokemon),4,25,
+deilrimix,1,25,
+degu_(kemono_friends),4,25,
+defect_mogeko,4,25,
+deden,1,25,
+deatiose,1,25,
+death_march_kara_hajimaru_isekai_kyousoukyoku,3,25,death_march_to_the_parallel_world_rhapsody
+dear:_(utaite),4,25,:irai
+dclaret,1,25,demonx20
+days_(kagerou_project),3,25,
+dauchimk_1,1,25,dauchimk_1113
+date_shigezane,4,25,
+darknessukaru,1,25,
+dark_knight_(elsword),4,25,
+dare_no_inarikami,1,25,
+dappled_moonlight,0,25,
+danyo_(chung0226),1,25,
+danial,1,25,kiyoaka
+dandou,1,25,
+dana_(ocana_dana),1,25,
+damarinasai_(mineo),1,25,"heart413,mineo"
+daitarn_3,4,25,
+daikou-chan,4,25,
+dahlia_(rune_factory),4,25,
+dagasitotaiyou,1,25,
+dace_(azur_lane),4,25,
+da-mii,1,25,
+d'eon_de_beaumont,4,25,
+cz-805,0,25,
+cynthia_(sygna_suit)_(aura)_(pokemon),4,25,
+cyborg-san_(sage_(mami1210)),4,25,
+cybernetic,0,25,
+cyberdemon_no3,1,25,
+cure_mirage,4,25,
+cure_lovely_(cosplay),0,25,
+cum_on_underside,0,25,
+cum_on_testicles,0,25,
+cu_chulainn_alter_(curruid_coinchenn)_(fate),4,25,
+crypto_(apex_legends)_(cosplay),0,25,
+crow's_nest,0,25,
+crotchless_bodysuit,0,25,
+crois,1,25,
+crabrawler,4,25,
+cpro,1,25,
+cosplex,3,25,
+cosmoem,4,25,
+corvisquire,4,25,
+cordula_(okame_nin),4,25,
+contest_button,0,25,
+constance_magee,4,25,
+commeowdore,1,25,nepeta420
+comiket_72,3,25,
+comic_koh,3,25,
+comaza,1,25,komamitsu
+cointreau,1,25,
+cocoroppy,1,25,
+cocomeen,1,25,nanashi_(freshman)
+cocoda,1,25,
+coco_(mermaid_melody_pichi_pichi_pitch),4,25,
+coco3186,1,25,
+cobraja,4,25,
+clulu_aluminal,4,25,
+clovis_la_britannia,4,25,
+clitoris_sleeve,0,25,
+cliff_(pokemon),4,25,
+cleophee,4,25,
+clarissa_(epic_seven),4,25,clarissa_(epic7)
+cika_k,1,25,
+ciero,1,25,
+cidolfus_orlandeau,4,25,cidolfas_orlandu
+chupirinko,1,25,
+chunhwei_lee,1,25,chunhui_lee
+chui_(weapon),0,25,
+chugging,0,25,
+chou-10cm-hou-chan_(fuyutsuki's),4,25,
+chonkoo,1,25,
+chocolate_misu_(cosplay),0,25,
+chloe_(srgrafo),4,25,
+chloe_(real)_(princess_connect!),4,25,
+chiyo_(ppp_808),1,25,
+children's_day,0,25,
+chikuwabu_(yokowokazuaki),1,25,
+chikuwa_udon,1,25,
+chikushoudou_pain,4,25,
+chikan_sen'you_sharyou,3,25,
+chiizu_ore,1,25,
+chihaya_(kawacy),4,25,
+chiffon_(chiruto),4,25,
+chicken_feet,0,25,
+chiba_yuudai,4,25,
+cherry_numan,1,25,
+chenalii,1,25,
+chen_yan,1,25,
+checkered_neckerchief,0,25,
+chat_noir_(granblue_fantasy),4,25,
+chaser_(warship_girls_r),4,25,
+charlotte_lueder,4,25,
+charles_caron,4,25,
+chanms,1,25,unkcncnd
+ceremony,0,25,
+celeste_(video_game),3,25,
+celeste_(granblue_fantasy),4,25,
+cavalla_(azur_lane),4,25,
+cathy_(yu-gi-oh!),4,25,
+caterpillar_(artist),1,25,
+cater_(fft-0),4,25,
+catcan,1,25,
+cat_symbol,0,25,
+cat_hoodie_girl_(tsubaki_tsubara),4,25,
+cat-quest-sun,1,25,
+casting_couch,0,25,
+casey_(pokemon),4,25,
+carrying_clothes,0,25,
+carrie_alberta,4,25,
+carm_(ruoyeahs),1,25,
+carla_carmilla_(rariatto),4,25,
+card_creature,0,25,
+cararina,4,25,
+car_trunk,0,25,
+capture_styler,0,25,
+captainosaka,1,25,
+captain_lamb,1,25,kaze_(1028594962)
+cappccino,1,25,
+capacitor,0,25,
+candy_(pixiv15231759),1,25,
+canadawbd,1,25,
+campanella_(ginga_tetsudou_no_yoru),4,25,
+campaign_hat,0,25,
+camouflage_cloak,0,25,
+buzz_lightyear,4,25,
+business,0,25,
+bururai,1,25,
+bullet_line,0,25,
+bulldog_(azur_lane),4,25,
+bubblegum_crisis_2040,3,25,
+brown_butterfly,0,25,
+broken_necklace,0,25,
+broken_handcuffs,0,25,
+breast_slider,0,25,
+brandon_(pokemon),4,25,
+bowser_peach,4,25,
+boris_jinneman,4,25,
+borijoikun,1,25,
+bordeaux_(girls_und_panzer),4,25,
+borchardt_c-93,0,25,
+boooshow,1,25,
+boomslang_(kemono_friends),4,25,
+body_parts,0,25,
+boar_costume,0,25,boar_suit
+blush_response,1,25,
+blue_wildebeest_(kemono_friends),4,25,
+blue_shrimp,1,25,
+bloopiest,1,25,
+bloodrayne,4,25,
+blondynkitezgraja,1,25,
+blathers_(animal_crossing),4,25,
+blackspade,1,25,
+blackcony,1,25,
+blackbad,1,25,
+black_hair_twintail_girl_(ichiki_1),4,25,
+black_dahlia,4,25,
+black_chemise,0,25,
+black_belt_(pokemon),4,25,
+bizarro,0,25,
+biwa_hayahide_(noel_rouge_carol)_(umamusume),4,25,
+bitterpain,1,25,
+bitch_hime,3,25,
+bishoujo_senshi_sailor_moon_another_story,3,25,
+bionic_joshikousei_(fukai_ryousuke),4,25,
+billowing_cape,0,25,
+biiko_(king1015g),1,25,
+biggumane,1,25,
+bible_black_gaiden,3,25,
+biba_eichi,1,25,
+bhm,1,25,bhm2
+berver,1,25,
+beowolf,4,25,
+beltorchika_irma,4,25,
+bella_(dq5),4,25,
+bell_mha,1,25,
+bel_hydra,4,25,
+bebseo,1,25,
+bebe_(ad234_tenrou),1,25,
+beatrice_castiglioni,4,25,
+bear_paw_s,1,25,
+bead_sex_machine,0,25,
+bat_(coumori),1,25,
+barraskewda,4,25,
+barnette_orangello,4,25,
+baphomet_(fate),4,25,
+banjo_(technistep),1,25,
+bane_(haibanemumi),1,25,
+bananannu,1,25,
+ban_keiko,4,25,
+ban_bu_bu_duou,1,25,
+bakuryuu_sentai_abaranger,3,25,
+bakuchiku,1,25,
+baitu,1,25,
+baikinman,4,25,
+baia,1,25,
+badger,0,25,
+bad_kim,1,25,
+backrooms_(creepypasta),3,25,
+babyseven_77,1,25,
+ba_fed_kitaku,1,25,
+b-17_flying_fortress,0,25,
+azuna_(love_live!),0,25,
+azumi_on,1,25,
+azik_eggers,4,25,
+azarasi_haru,1,25,
+ayasekira,1,25,
+ayase_touka_(piromizu),4,25,
+ayase_momo,4,25,
+ayakashibito,3,25,
+aya_(sabaneko),1,25,
+avrora_(shackled_saule)_(azur_lane),4,25,
+autumnlll,1,25,
+august_soft,3,25,
+audrey_belrose,4,25,
+auauun,1,25,
+attouteki_yuugi_mugen_souls_z,3,25,
+atelier_annie,3,25,atelier_annie_alchemist_of_sera_island
+asyuaffw,1,25,
+asus,0,25,
+asura_(asura's_wrath),4,25,
+astolfo_(sailor_paladin)_(fate)_(cosplay),0,25,
+astaroth_(soulcalibur),4,25,astaroth_(soul_calibur)
+ask_(densicho),1,25,
+ashino_chimado,1,25,
+ashi_(samurai_jack),4,25,
+ash_sarai,4,25,
+asaya-bigun,1,25,
+asanagi_aoi,1,25,
+asahi_haru,1,25,
+asagiri_no_miko,3,25,shrine_of_the_morning_mist
+asagao_(kunoichi_tsubaki_no_mune_no_uchi),4,25,
+arvalis,1,25,
+aruu_(memories),1,25,
+aruto2498,1,25,
+arukooru,1,25,
+arue_(konosuba),4,25,
+arrow_(en'en_no_shouboutai),4,25,
+arpiel,3,25,
+arkhangelsk_(azur_lane),4,25,
+arisugawa_reiko,4,25,
+arioto,1,25,
+arietta_fine,4,25,
+arianne_the_labrynth_servant,4,25,labrynth_servant_arianne
+arianna_(bloodborne),4,25,
+aria_pkmn,1,25,
+arden_(fire_emblem),4,25,
+arcturus,3,25,
+archerfish_(azur_lane),4,25,
+archer_(modern_black_costume)_(fate),4,25,
+archangel_gabriel,4,25,
+arcade_stick_template,0,25,
+arc_gurren-lagann,4,25,
+arc_(ff3),4,25,
+araki_maki,1,25,arakimaki
+arachne_boy,0,25,
+ara_pengin,1,25,
+apocalypse_now,3,25,
+aozane,1,25,
+aoyama-kun_(penguin_highway),4,25,
+aorkgk,1,25,
+aoiyui,1,25,
+aoi_nori_(aoicoblue),1,25,
+ao_hito,1,25,
+anyueh,1,25,
+another_kung_fu_girl,4,25,
+anohito_(tokumei),1,25,
+annie_(saga_frontier),4,25,
+anne_petriceani,4,25,
+anmaki,1,25,
+anko_(love_live!_sunshine!!),4,25,
+anime_tenchou,3,25,
+anime-tamae!_tensei_no_miko,3,25,
+angrykuma,1,25,
+angry_sun,4,25,
+anglerfish_dance,0,25,
+angela_burton,4,25,
+angel_salvia,4,25,
+anfang_(chihuri),4,25,
+ane_doki,3,25,
+anbee_(arary),1,25,
+anavel_gato,4,25,
+amo_chenbe,1,25,
+amnesia,0,25,
+amayado_rei,4,25,
+amatsuka_kosame,4,25,
+amaton707,1,25,
+amamiya_yuumu,1,25,
+amamiya_mizuki,1,25,
+amakara_twins,3,25,
+amagi_hiiro,4,25,
+alvin_granford,4,25,
+alver,1,25,
+altrouge_brunestud,4,25,
+alphonse_heiderich,4,25,
+alpha_(katz332),1,25,
+allison_&_lillia,3,25,
+alliance_of_the_golden_witch,3,25,
+alisa_kirsten,4,25,
+aliori_haberi,4,25,
+alicuu_girls_maximum:_bahamut,3,25,
+alicia_(pop'n_music),4,25,
+alice_jing,1,25,
+aleth,1,25,
+aleste,3,25,
+aleister_crowley_(toaru_majutsu_no_index),4,25,
+aldrich_devourer_of_gods,4,25,
+alcremie_(ruby_cream),4,25,
+alchemist_(company),3,25,
+albreo,1,25,
+akusera,4,25,
+akumey,1,25,
+akizuki_airi,4,25,
+akiyoshi_fuyuka,4,25,
+akiyama_shun,4,25,
+akiyama0818,1,25,
+akira_kira,1,25,
+akino_(christmas)_(princess_connect!),4,25,
+akibotann,1,25,
+aki_shizuha_(cosplay),0,25,
+akatsuki_no_guuru,1,25,
+akane_rose,1,25,
+akaname-san,4,25,
+akaie11,1,25,
+aircraft_carrier_summer_oni,4,25,
+aikosu_(icos),1,25,toniomi
+aikagi_(azarashi_soft),3,25,
+aigami_kaon,4,25,
+aiba_ami,4,25,
+ai_(warekaku),1,25,
+ai_(wakaba_iro_no_quartet),4,25,
+ai_(tick!_tack!),4,25,
+ahamma,1,25,
+agnes_chevalier_de_milan,4,25,
+against_object,0,25,
+aegis_gundam,4,25,
+aegis_(persona)_(cosplay),0,25,
+ae_(aeiu4114),1,25,
+adelheid_bernstein,4,25,
+adachi_ruri,1,25,
+accessories_switch,0,25,
+abimaru,1,25,
+abi_(user_nzav7333),1,25,
+aardwolf_girl,0,25,
+a_k_i,1,25,
+a_clockwork_orange,3,25,
+a_cat_is_fine_too_(meme),0,25,
+a2t_will_draw,1,25,a2twilldraw
+a-801,1,25,
+81diver,3,25,
+6fu_(11madhouse),1,25,
+675_(image_675),1,25,
+6-k-i-7,1,25,
+3ri10te,1,25,
+29_to_jk,3,25,
+26_(sister_freedom),1,25,
+16_(0xhsk16),1,25,
+1/6_(vocaloid),3,25,
+000_(jicasoe),1,25,
+zzb,1,24,
+zuikaku_(aoki_hagane_no_arpeggio),4,24,
+zudomon,4,24,
+zudah,4,24,
+zoni-ko,4,24,
+zoey_(shepherd0821),4,24,
+znz,1,24,
+zn_(zzzzzni),1,24,
+zippedsquire,1,24,
+zigza_(gashi-gashi),4,24,
+ziggy_kakziga,4,24,
+zhihaiwusheng,1,24,
+zhengyifan7,1,24,
+zephiel_(fire_emblem),4,24,
+zenseava,1,24,
+zenrakishi,1,24,
+zehel_az,1,24,
+zb-26_(nook_of_ephemeral_dreams)_(girls'_frontline),4,24,
+zawapirori,1,24,
+zarsy,1,24,zidong_fanmai_jii_o3
+zaou_ryuu,4,24,
+zaogao_xiaotu,1,24,
+za_(artist),1,24,
+yuzuki_yukari_(a.i._voice),4,24,
+yuusya27,1,24,
+yuurei447,1,24,
+yuumeibokumeimei,1,24,
+yuumare,1,24,
+yuuki_shinjuurou,4,24,
+yuuhi_(yuyuhihi),1,24,yuyu_hihi40
+yuudachi_(woofy_floofy_christmas_night)_(azur_lane),4,24,
+yuu_cream,1,24,
+yutokamizu,1,24,ytkmz
+yurinozuku1112,1,24,
+yuri_(yuri741),1,24,
+yuri_(dirty_pair)_(cosplay),0,24,
+yurameku_kokoro_ni_michita_sekai_de_kimi_no_yume_to_yokubou_wa_kanau_ka,3,24,
+yura_tsubasa,4,24,
+yunohara_konomi,1,24,
+yuno_setouchi,1,24,
+yuno_(ou35i),1,24,
+yunita_(hallelujah),1,24,
+yun_(outsidey),1,24,
+yumiya_rakko,4,24,
+yumenomimizuku,1,24,
+yumekoi,3,24,
+yume_e_no_ippo,0,24,
+yukuso_(dabiandang),1,24,"yukuso_(1065762559),yukuso_(pixiv5407701)"
+yukiya,1,24,
+yukisuke_(user_gtmm7833),1,24,
+yukishiki_shilfi,1,24,
+yukise_miyu,1,24,
+yukisaki_miale,1,24,
+yukinyan,1,24,
+yukino_(zeroshiki_kouichi),4,24,
+yukimi_ai_risu,1,24,
+yuki_yukki12,1,24,
+yukanomokume,1,24,
+yuiti_hinata,1,24,yuiti43
+yuita,1,24,
+yui_(kanatamoo),1,24,
+yuda_(hokuto_no_ken),4,24,
+yu-han_chen,1,24,
+yu-gi-oh!_3d_bonds_beyond_time,3,24,
+ys_kosato,1,24,
+youyu_(kyouno),4,24,
+youkai_kusaregedo,4,24,
+youichi_(45_01),1,24,
+you-6-11,1,24,
+yotsuba_yuiko,1,24,
+yoto_(rinlin2),1,24,
+yossui,1,24,
+yoshii_akira,4,24,
+yosakuh,1,24,
+yorkshire_terrier,0,24,
+yorha,3,24,
+yooroongoo,1,24,
+yoneko,1,24,
+yomo_(ym),1,24,
+yomi_yojo,1,24,
+yomban,3,24,
+yocchi_3601,1,24,
+yoarashi_inasa,4,24,
+yo-rindou,1,24,
+ying_(suetmo),1,24,
+yeougui,1,24,
+yen_(isamu-ki),4,24,
+yellow_blood,0,24,
+yatsumura_tsuyuno,4,24,
+yatabe_noa,4,24,
+yashiro_yuuya,1,24,
+yasakana_tooi,1,24,
+yankee-chan_(shashaki),4,24,
+yang_guifei_(honey_lake)_(fate),4,24,honey_lake
+yan_wen_zi,1,24,
+yamone,1,24,
+yami_reina,4,24,
+yamawaku,1,24,
+yamashiro_(holiday_offensive)_(azur_lane),4,24,
+yamanoyu,1,24,
+yamanouchi_hisako,4,24,
+yamanezumi_rokikku,1,24,
+yamamoto_rurika,4,24,
+yamamoto_nanashiki,1,24,
+yamakatsu_(genrei_koubou),1,24,
+yamada_naoko_(trick),4,24,
+yamabiko,0,24,
+yakumo_ling,1,24,
+yakisake,1,24,
+yaichino,1,24,
+yaiba,3,24,
+yahweh,4,24,
+yahiko_(naruto),4,24,
+yagisawa_keiichi,1,24,
+yadokari_(yadokani),1,24,
+yaato_(yamato99725444),1,24,
+xzu,1,24,
+xing_dao,1,24,whiteshirt
+xi_liu,1,24,xiliu_art
+xeonomi,1,24,
+x_sanders_x,1,24,
+wz_(woyzeck),1,24,
+wuju_(1198979953),1,24,
+wufaxianshi_cnd,1,24,
+wow+,1,24,
+wonchul,1,24,
+wolla,1,24,
+wizard_barristers:_benmashi_cecil,3,24,
+witch_lady_(dq8),4,24,
+wise_(okaa-san_online),4,24,
+wiping_blood,0,24,
+window_shopping,0,24,
+wind_chime_focus,0,24,
+willwind30,1,24,
+wikumi,1,24,
+wikstrom_(pokemon),4,24,
+wick_(identity_v),4,24,
+white_queen_(date_a_live),4,24,
+whether,1,24,
+wet_and_messy,0,24,
+weighted_clothes,0,24,weighted_clothing
+wei_yenwu_(arknights),4,24,
+wbfish,1,24,erjung
+wato_samirika,1,24,
+watamate,4,24,
+washimine_yukio,4,24,
+waruzamurai,1,24,
+warirui,1,24,
+war_of_genesis_iii,3,24,
+wanoji,1,24,k_a_z
+wang_qiu_er_(douluo_dalu),4,24,
+wallfloristry,1,24,
+walkermachine,1,24,
+wakuraba,1,24,
+wakou_tensui,1,24,
+wako_morino,1,24,
+wakita_piyosuke,1,24,
+wakaura_asaho,1,24,
+wakami_suiren,4,24,
+wakadori,1,24,
+w0ru,1,24,
+vought_os2u_kingfisher,0,24,
+voltkatze,4,24,
+volt_crocodile,1,24,voltcrocodile
+vol.7,1,24,
+virus_(dramatical_murder),4,24,
+virtual_kouhou_taishi_project,3,24,
+violetgrass,0,24,
+violetcoral,1,24,
+vinyl_scratch,4,24,dj_pon3
+vikala_(granblue_fantasy)_(cosplay),0,24,
+viibean,1,24,
+videocassette_recorder,0,24,
+victoria_cindry,4,24,
+vian,1,24,
+vf-4,4,24,
+vf-25_(cosplay),0,24,
+vest_pull,0,24,
+veronju_caesar_(unleashed),4,24,
+verdia,4,24,
+venus_ark_uniform,0,24,
+venti_suki,1,24,
+venom_(vocaloid),3,24,
+vanity_(monster_farm),4,24,vanity_(monster_rancher)
+vanessa_(live_for_the_funk),4,24,
+valkyr_(warframe),4,24,
+valdgeist,1,24,
+uzumaki,3,24,
+uzuki_sakura,4,24,
+uzucake,1,24,
+utauinu,1,24,
+uta_(semimaru),1,24,
+ushio_takigawa,1,24,
+uru-arrow,1,24,
+urokodaki_sakonji,4,24,
+urbinator17,1,24,
+union_jack_print,0,24,
+unicorn_jabu,4,24,
+uni_(uni9248),1,24,uni_(pixiv43878501)
+unfins,1,24,
+umino_mo_kuzu,1,24,
+umino_ht,1,24,
+umibouzu_(gintama),4,24,
+umetori_uriri,1,24,
+umekichi_(unbalance),4,24,
+umedairuka,1,24,
+ultraman_mebius_(series),3,24,
+ultimate_weapon_(armored_core),0,24,
+ultimate_antihero,3,24,
+ukyou_(amnesia),4,24,
+uiru,1,24,
+ugusu24,1,24,
+uesugi_mihato,4,24,
+udyr,4,24,
+ubuyashiki_kagaya,4,24,
+u-4989,4,24,
+u-410_(azur_lane),4,24,
+tybernation,4,24,
+twocar,3,24,
+two-tone_jumpsuit,0,24,
+twenty,1,24,
+tweedledum_(alice_in_wonderland),4,24,tweedledum
+turenne,4,24,
+tundra,0,24,
+tumblr_logo,0,24,
+ttheyue,1,24,
+tsuzura_amo,4,24,
+tsuzuki_yoshio,1,24,tsudzuki_yoshio
+tsuyu_sauce,0,24,
+tsuyoshi_takaki,1,24,
+tsutsuji_(etra-chan_wa_mita!),4,24,
+tsuruhisashi,1,24,
+tsunosame,1,24,
+tsun_(tsuncha),1,24,
+tsukubae_tomoe,4,24,
+tsuki_ga_kirei,3,24,
+tsukasa_takashi,1,24,d_va
+tsukasa_(pixiv34617881),1,24,
+tsukai_yowo,1,24,
+tsucaco,1,24,
+tsubasa_miu,4,24,
+tryvor,1,24,
+tripleeight,1,24,
+tri-brigade_kitt,4,24,
+trey_(fft-0),4,24,
+trevor25527766,1,24,
+tren,1,24,
+trefle_r,1,24,
+trapping_ranger_(elsword),4,24,
+traghetto,1,24,
+to~fuya,1,24,
+toyosaka,1,24,
+tower_of_the_sun,0,24,
+towel_lift,0,24,
+toujou_masateru,1,24,shiba_aya
+toshokan_sensou,3,24,"library_war,library_war"
+toryu_fufu,1,24,
+toro_th,1,24,
+torn_mask,0,24,
+torn_buruma,0,24,
+torinoko_tamago,1,24,
+torii_jungo,4,24,
+torii_(gundam),4,24,
+torigara_cha,1,24,
+tori_knkr,1,24,
+torafuji_nagi,4,24,
+top_gun:_maverick,3,24,
+tooyama_midori,4,24,tohyama_midori
+tooru_acura,4,24,
+tonwwee,1,24,
+tonkatsu_(nagasarete_airantou),4,24,
+toni_kensa_(splatoon),0,24,
+tonguewasabi,1,24,
+tongtongtong,1,24,
+tomoe_(kemono_friends)_(niconico88059799),4,24,
+tomineko_(tomineko_p),1,24,
+tomaty.,1,24,
+tomason,1,24,
+tololi,1,24,
+tokyo_city_hall,0,24,
+tokyo_babylon,3,24,
+tokiwa_png,1,24,
+tokiwa_osamu,1,24,
+tokimeki_tonight,3,24,
+tokimatsuri_eve,4,24,
+tokiha_suzumiya,1,24,
+tohsaka_tokiomi_(cosplay),0,24,
+togetsuhou,1,24,
+toge_nbo,1,24,
+togami_(tobysou526),1,24,
+tofuboyz,1,24,
+todoroki_suyoshi,1,24,
+todd_oyamada,1,24,
+tnaym,1,24,
+tm-pika,1,24,
+tladpwl03,1,24,
+tlachtga,4,24,
+tixie_lix,1,24,lixin_wang
+titanium_hrk,1,24,
+tinkerbat,4,24,
+tine_chelc,4,24,
+timesoe,1,24,
+tierra-sensei,4,24,
+tiana_(the_princess_and_the_frog),4,24,
+thyrsus_(fire_emblem),0,24,
+thumbcuffs,0,24,
+thrown_food,0,24,
+thorny,1,24,
+this_is_it,3,24,
+third_eye_on_chest,0,24,
+thievul,4,24,
+the_transistor,4,24,
+the_prey,3,24,
+the_immaculate_one,4,24,
+thatpebble,1,24,
+thalia,1,24,
+tessa_1178,1,24,
+terrorism,0,24,
+terror_(halloween_terror)_(azur_lane),4,24,
+terraxle,1,24,
+teresa_(iron_saga),4,24,
+terebi-,1,24,
+terada_katsuya,1,24,
+teppuu,3,24,
+tenten_(chan4545),1,24,
+tenshi_ni_narumon,3,24,
+tennenmoe,1,24,
+tennen_ahoke,1,24,
+tennen0201,1,24,
+tengaku_(vocaloid),3,24,
+tenga_hajime,4,24,
+tenebrae,4,24,
+tenchi_muyou!_manatsu_no_eve,3,24,
+tempyou_kango,1,24,
+tempplex,4,24,
+temari_maco,1,24,
+telephone_number,0,24,
+teito,1,24,
+teijiro,1,24,
+teepo,4,24,
+teddy_(mother),4,24,
+techi_(siro-white_0803),1,24,
+teay_(ttttteay),1,24,xy_(pixiv8783776)
+tawai,1,24,
+tavros_nitram,4,24,
+taut_vest,0,24,
+tatsunoko_pro,3,24,
+tatsumi_yashiro,1,24,miya_(miya-pi)
+tatsumaki_senpuukyaku,0,24,
+tatenayua,1,24,
+tatata_taira,1,24,
+tastysalt,1,24,
+taruk,1,24,
+tartu_(overthinking_summer)_(azur_lane),4,24,
+tapir_girl,0,24,
+tapa,1,24,
+tanjel,1,24,
+tango_(soccer_ball),0,24,
+tandouji_alma,4,24,
+tanatonkub,1,24,
+tanaka_yuyuko,4,24,
+tami_yagi,1,24,
+tamasi,1,24,
+tamamo_no_mae_(swimsuit_lancer)_(fate)_(cosplay),0,24,
+tamamo_no_mae_(mythology),4,24,
+tamamo_(destiny_child),4,24,
+tamak_rui,1,24,
+tamachan,4,24,
+tama_(nezumi),1,24,
+tama_(chai),4,24,
+talon_feather_(last_origin),4,24,e-16_talonfeather
+takumi11,1,24,
+taku_pi,1,24,
+takeuchi_mariya,4,24,
+takeda_shingen_(sengoku_otome),4,24,
+take5321,1,24,
+takatsuki_kanade,4,24,
+takashima_zakuro,4,24,
+takase_hiro,1,24,
+takanoriha_kasui,1,24,
+takanon_(nekomaruya),1,24,
+takamachi_momoko,4,24,
+takakura_aki,1,24,
+takahina,1,24,
+takahashi_ryuunosuke,1,24,
+takahashi_osamu,1,24,
+takahashi_meijin_no_bug-tte_honey,3,24,
+taja_spinner,0,24,
+taiyouken,0,24,
+tail_strap,0,24,
+tail_around_neck,0,24,
+taeko_(onsen_tamago),4,24,
+tada,1,24,
+tackle_box,0,24,
+tachibana_itsuki,4,24,
+tachibana_hinata_(tokyo_revengers),4,24,
+tac-50,0,24,
+tabigarasu_(mahjong_yuugen_gaisha_58),1,24,
+tabetai_omochi,1,24,
+t20210325,1,24,
+switzerland,0,24,
+swiftsure_(beauty_of_white_jade)_(azur_lane),4,24,swiftsure_(pearlescent_beauty)_(azur_lane)
+svenska_flygvapnet,0,24,
+suzuki_yua,4,24,
+suzuki_shunji,1,24,
+suzuki_aina_(seiyuu),4,24,
+suzuki_(cookie),4,24,
+suzuhara_shima,1,24,
+suzugamori_ren,4,24,
+suzie_(agent_aika),4,24,
+susutaketakumi,1,24,
+susukinohukurou,1,24,
+susuki_(kutan),4,24,
+surume_(su1193),1,24,
+suranaki,1,24,sura
+super_taruco,4,24,
+super_sons,3,24,
+super_sailor_saturn_(stars),4,24,
+super_robot_wars_l,3,24,
+super_mario_strikers,3,24,
+super_fumina,4,24,
+sunsirou,1,24,
+sunahi_arumi,1,24,
+summon_lw,1,24,
+sumisumi,1,24,
+sumi_(suumiko_),1,24,
+sumery,1,24,
+suke_81,1,24,
+sukasshu_(mroooo),1,24,
+suirenji_kiyoharu,4,24,
+sugiura_yoshio,1,24,
+sugise_satoshi,1,24,
+sugino_(tactics),4,24,
+sugi_(shoufusha),1,24,
+suga_saru,1,24,
+su_(pixiv44447),1,24,
+sturm_(arowana_kingyo),1,24,
+stuffed_eggplant,0,24,
+stuffed_alpaca,0,24,
+studded_footwear,0,24,
+string_on_pinky,0,24,
+stray_hair,0,24,
+strange_ecolo,4,24,kawatta_ecolo
+stop,0,24,
+stirring_rod,0,24,
+start!!_true_dreams_(love_live!),0,24,
+staring_contest,0,24,
+stardust11,1,24,
+starcat,1,24,
+star_wars:_attack_of_the_clones,3,24,"star_wars_episode_2,star_wars_episode_ii"
+star_voice_(module),0,24,
+star_guardian_neeko,4,24,
+standing_on_branch,0,24,
+stan_lee,4,24,
+stalk,0,24,
+srm_chi,1,24,
+squeaky_mallet,0,24,
+sprinkler_(splatoon),0,24,
+spriggan_(final_fantasy),4,24,
+spread_urethra,0,24,
+spotted_skunk_(kemono_friends),4,24,
+spooky-dollie,1,24,spooky_lewds
+spoken_money,0,24,
+spicy_nun's_mother_(diva),4,24,half-bang_nun's_mother_(diva)
+spats_sansei,1,24,
+sparkle_earrings,0,24,
+spacey,1,24,
+soyaka,1,24,
+soxkyo,1,24,
+soushin_shoujo_matoi,3,24,
+souma_hatsuharu,4,24,
+soulless,3,24,
+soukaa_(golden_sash),1,24,
+souffle_sable,1,24,
+soritari,1,24,
+soriham,1,24,
+sorano_namida,1,24,
+soppos,1,24,
+sonken_bundai,4,24,
+song_mia,4,24,
+sonacia,1,24,
+solail_(faya),1,24,
+sol_badgal,4,24,
+soju,0,24,
+soga_no_tojiko_(cosplay),0,24,
+snowflake_in_hair,0,24,
+snj,1,24,
+slovak_cuvac,0,24,
+slipstream_(transformers),4,24,
+sliced_meat,0,24,
+sleepyhead,1,24,
+skyla_(holiday_2020)_(pokemon),4,24,
+skrats,1,24,
+skllp,1,24,
+skeleton_horse,0,24,
+sizuo_1997619,1,24,
+sitting_on_chest,0,24,
+siren_(xenoblade),4,24,
+sirbine,4,24,
+sima_nozomu,1,24,
+silvia_lautreamont,4,24,
+silverash_(york's_bise)_(arknights),4,24,
+silky_(last_origin),4,24,t-50_px_silky
+silicone,0,24,
+sigppang_(2shot00002),1,24,sigppangkung-ya
+sigemi,1,24,
+sig_(sfried),1,24,
+sienna_khan,4,24,
+sic77,1,24,
+shy_(character),4,24,
+shuusou_gyoku,3,24,
+shuu_(shu-nm),1,24,
+shunki,1,24,
+shun_(nikoru555),1,24,
+shuga_(0329tixi),1,24,
+shuffle!_memories,3,24,
+shuen,1,24,
+shoutarou_(shoutarotttt),1,24,
+shoujiki_mura,1,24,
+shoudoku_taishi_(taishi),1,24,
+shou_fuji,1,24,
+shiying_no_yao,1,24,"hi6hkwjzas5rhot,yiman81755689"
+shitada,1,24,
+shishihara_sawaya,4,24,
+shirufana,4,24,
+shirousagi_una,1,24,
+shirou_kamui,4,24,
+shiromimin,1,24,
+shiroi_yuki_no_princess_wa_(vocaloid),3,24,
+shirogane_noel_(cosplay),0,24,
+shirogane_no_cal_to_soukuu_no_joou,3,24,
+shirochimaki,1,24,
+shiro_yukimichi,1,24,
+shiro_(shounen_to_hero),1,24,datte_waka
+shiro_(shin-chan),4,24,
+shiro_(maple_syrup9),1,24,
+shirayuki_usami,1,24,
+shirayuki_miho,4,24,
+shirayuki_(wind_of_breaking_blade)_(arknights),4,24,
+shiratori_yuriko,4,24,
+shiraki_(artist),1,24,
+shiraishi_(tanakeda),4,24,
+shiragiku1991,1,24,
+shiraga_airi,4,24,
+shirafuji_tamaki,4,24,
+shiosaki_mato,1,24,
+shion_souta,1,24,
+shion_no_ou,3,24,
+shinonome_tsukasa,1,24,
+shinoko,1,24,
+shinobu_(kobanatu),1,24,
+shino_(sosuketo),1,24,
+shinkuro_sanagi,1,24,sanagi_(ajtoekaki64166329)
+shinkami_hiroki,1,24,
+shining_shoot_(pose),0,24,
+shinguuji_sakura_(cosplay),0,24,
+shinbross,1,24,
+shinano_eiji,4,24,
+shinada_an,4,24,
+shimizu_sorato,1,24,shimizu_tsubasa
+shimakusa_arou,1,24,
+shima_taka,1,24,
+shima-tan,4,24,
+shikapiro,1,24,
+shika_(hachilemon),1,24,
+shijou_saikyou_no_daimaou_murabito_a_ni_tensei_suru,3,24,
+shigeruoomi,1,24,
+shidai,1,24,
+shichigusa_nanako,4,24,
+shibata_g_ransu,1,24,
+shibari_marks,0,24,
+shibainutank,1,24,
+shiba_cyon,1,24,
+shi_yusu,1,24,
+sheba_(xenoblade),4,24,rinne_(xenoblade)
+shax_(megido72),4,24,
+sharpheon,1,24,
+shao_siming_guang_wei,1,24,
+shailiar,1,24,
+shadow_lady,3,24,
+shachou_batoru_no_jikan_desu!,3,24,
+sezaki_takumi,1,24,
+setsuna215,1,24,
+seto_(venus_rumble),4,24,
+setakman,1,24,panichyun
+serisawa,1,24,
+seri_p_tedoku,1,24,
+seres_(tales),4,24,
+serena_(yu-gi-oh!)_(cosplay),0,24,
+serena_(konosuba),4,24,
+sennen_joyuu,3,24,millennium_actress
+senkouji_hagino,4,24,
+senkaku_mei,4,24,
+senjou_no_pentsu,1,24,
+sengoku_basara_3,3,24,
+sendou_chika,4,24,
+senba_hikari,1,24,
+semaphore_flags,0,24,
+sema_(mekemeke_king),1,24,
+selene_(dragon's_dogma),4,24,
+sekisouseki,1,24,
+sekichuu_(unholywars12),1,24,
+seki_toshinari,4,24,
+seki_tomokazu,4,24,
+seiran_(blue-orchid),1,24,
+seiji_(artman),1,24,
+sega_mega_drive_(sega_hard_girls),4,24,mega_drive_(hi-scool!_seha_girls)
+seelean,1,24,
+see-through_gloves,0,24,
+secret_distance_(project_sekai),0,24,
+sea_chicken,1,24,umi_niwatori
+sd_gundam_world_sangoku_soketsuden,3,24,
+scrambled_egg,0,24,
+scp,1,24,
+scottish_english_text,0,24,
+scar_on_ass,0,24,
+scalizo,1,24,
+sazanami_jun,4,24,
+sazanami_(kancolle)_(cosplay),0,24,
+sayoko_(sayosny2),1,24,sayosny2
+saya7,1,24,
+sawade,1,24,
+saw272,1,24,
+satou_(satohstc),1,24,
+satan_(the_seven_deadly_sins),4,24,wrath_(the_seven_deadly_sins)
+sasumata,0,24,
+sasakungoodsize,1,24,
+saryn_(warframe),4,24,
+saru_(pixiv13751598),1,24,
+saratoga_(kancolle)_(cosplay),0,24,
+saplus,1,24,
+santou_suihei,1,24,
+santa_alter_(cosplay),0,24,
+sanskrit,0,24,
+sanshi_(sannshi_34),1,24,ko_31
+sanoi_(giraffe),1,24,e44ari9
+sanaa,1,24,
+san_(winteroll),1,24,
+samu_(a117216),1,24,
+same_(carcharodon),1,24,
+samara_chan,4,24,
+sam_delatore,1,24,
+salyut,1,24,
+sakuraminto,1,24,
+sakuramau,1,24,
+sakurai_ryouko,4,24,
+sakuragi_kurumi,1,24,
+sakuragasaki_fubuki,4,24,
+sakura_setsumi,4,24,
+sakura_no_ame_(vocaloid),3,24,
+sakura_chika,4,24,
+sakuno_shion,1,24,
+sakumi,1,24,
+sakugo,1,24,
+sakisaka_fuminori,4,24,
+sakashita_yomi,4,24,
+sakasaki_natsume,4,24,
+sakamoto_ahiru,1,24,
+sakakibara_mizuki,1,24,mophat
+sakaiya_yumeno,4,24,
+sakai_chigusa,4,24,
+saitou_(ghost_in_the_shell),4,24,
+saikyou_mahoushi_no_inton_keikaku,3,24,the_greatest_magicmaster's_retirement_plan
+saijou_karen,4,24,
+sagiri_mikage,4,24,
+sagawa_yumeko,1,24,
+saeki_shouji,1,24,
+saden_(magumo),1,24,
+sacrifice_(sound_horizon),4,24,
+sabanobori,1,24,
+saab_gripen,0,24,
+s-sha,4,24,
+ryuzu_(clockwork_planet),4,24,
+ryuusei's_short-haired_girl,4,24,
+ryuukeichi_andromeda,1,24,
+ryuu_to_sobakasu_no_hime,3,24,belle_(movie)
+ryuna_(inc_moon),1,24,inc_moon
+ryuda,1,24,
+ryouten9,1,24,
+rynisyou,1,24,
+rvve,1,24,
+rukira,1,24,
+rukia_(sound_horison),4,24,
+ruka_(blueplus84),1,24,
+ruinai,1,24,
+rucksack,0,24,
+rubill,1,24,
+ruben_de_vela,1,24,rubendevela
+rta_in_japan,3,24,
+rta-chan,4,24,
+rpd,0,24,
+roxie_(skullgirls),4,24,
+roswell_ss,1,24,
+rosalie_(gothic_wa_mahou_otome),4,24,
+rosa_cossette_d'elise,4,24,
+root_(stpri),4,24,
+rooster_costume,0,24,
+rono,1,24,
+ronixis_kenni,4,24,
+rom_(romshiro),1,24,
+rollingcalling,1,24,
+rokutelie,1,24,
+rokuo016,1,24,
+robiola_(girls_und_panzer),4,24,
+rlin,1,24,
+rizihike,1,24,
+riyan,1,24,
+ritae,1,24,
+rishixiyan,1,24,
+rio_(usagiya),1,24,
+rinnku,1,24,
+ringorenji,1,24,
+rina_(canvas+garden),4,24,
+rin_takanashi_glacies,1,24,
+rilliona_the_magistus_of_verre,4,24,
+ril_(wixoss),4,24,
+rikona,1,24,
+rikadoh,1,24,
+rihhi,1,24,
+rick_(splatterhouse),4,24,
+ribbed_cardigan,0,24,
+ria_hagry,4,24,
+ria_(yfvv_ria),1,24,
+rhode,1,24,
+rfa,1,24,
+revived_witch,3,24,
+reticulum,1,24,
+renko_(gayosiz),1,24,
+renga2250,1,24,
+reinhardt_(alchemy_stars),4,24,
+reina_(leinqchqn),1,24,
+reimu_no_yari,3,24,
+reiji_0_g,1,24,
+rei_(pixiv_187780),1,24,
+regiana_(jubi),1,24,
+reed_(instrument),0,24,
+reclamon,1,24,
+reaper_(overwatch)_(cosplay),0,24,
+re:birth_colony,3,24,
+re-45_auto,0,24,
+rayu,1,24,
+ravine,0,24,
+raurashun,1,24,laura_jun
+ratoratah_(ooo_combo),4,24,
+ratetaso,1,24,
+ratatoskr_(monster_girl_encyclopedia),4,24,
+rata_to,1,24,ratatouille_(06ten)
+rara086,1,24,
+raputsue,1,24,
+raptias,4,24,
+rano_(u_rano),1,24,
+rano8,1,24,
+ran_(bearsoymilk),1,24,
+ramn,4,24,
+ramia-yana,3,24,
+rakugaki_(artist),1,24,
+raisun,1,24,
+raise_(ryo),4,24,
+rainydayjp,1,24,
+rainbow_wing_(pokemon),0,24,
+rainbow-colored_septentrion,3,24,
+raimu_(ranxa),1,24,
+raimon_track_uniform,0,24,
+raimon_tarou,4,24,
+rafale1008,1,24,
+raeenay,1,24,
+radittz,1,24,
+radia,1,24,
+racing_miku_(2021),4,24,
+qzo_(akai_kitsune),1,24,
+quilladin,4,24,
+quick_camel,4,24,
+quichi_91,1,24,
+queendom_(love_live!),0,24,
+queen_chrysalis,4,24,
+queen_(vocaloid),3,24,
+queadluun-rea,4,24,
+que_meng_meng,1,24,
+quadriri_(lansane),4,24,
+qswan,1,24,
+qiumoyixing,1,24,
+qingjiao_rou_si,1,24,
+pyroar_(female),4,24,
+pushun_(muteki),1,24,
+puppet_show,0,24,
+puni_(artist),1,24,
+pumpkin-crazy,1,24,
+pukamon,4,24,
+pucchan,4,24,
+psyco_gundam_mk_ii,4,24,
+protagonist_(ensemble_girls!),4,24,
+project_gen2,3,24,
+private_ten'ou_middle_school_uniform,0,24,
+prinz_eugen_(blue_oath),4,24,
+print_choker,0,24,
+print_ascot,0,24,
+princess_silver,4,24,
+princess_sailor_moon,4,24,
+princess_peach's_castle,0,24,
+princess_goomba,4,24,
+primordial_jade_cutter_(genshin_impact),0,24,
+pretty_liar_(idolmaster),0,24,
+ppera,1,24,
+poyo_party,1,24,
+power_dolls,3,24,
+posture_collar,0,24,
+possum_ears,0,24,opossum_ears
+porupu,1,24,
+poptrt,1,24,
+popopo_(popopo5656),1,24,
+pontata,1,24,
+ponn_mame,1,24,
+ponkotsu_ado,4,24,
+pondo_(peng-model),1,24,
+pondering_my_orb_(meme),0,24,
+pom_(soupy),1,24,
+polora,1,24,
+pokurouta,1,24,
+pokilewd,1,24,
+pokemon:_zoroark:_master_of_illusions,3,24,pokemon_m13
+poifuru,1,24,
+pof_(peuplierpof),1,24,pofgnsn
+pochi_(hetalia),4,24,
+plusbrackets,1,24,
+plumw,1,24,
+platinum_the_trinity_(cosplay),0,24,
+plasmid,1,24,
+placido,4,24,
+piyopiyo,4,24,
+pixy_misa,4,24,
+pixiv_papico_design_contest,3,24,
+pixiv_fantasia_scepter_of_zeraldia,3,24,
+pixerite,1,24,
+pixcel,1,24,
+pink_ranger,4,24,
+pink_blanket,0,24,
+pikachu_phd,4,24,
+pierre_iwashi,1,24,
+piancaesar,1,24,
+pi_(space_maria),4,24,
+physics_point,1,24,
+phyco_(pokemon),4,24,
+photoshop_flowey,4,24,omega_flowey
+photography,0,24,
+phoenix_wright_(cosplay),0,24,
+philomel_hartung,4,24,jessica_philomele
+philemon_(butterfly),4,24,
+phase,1,24,
+petrushka,4,24,
+peso_(honopesopeso),1,24,honop
+pero_(pero7762),1,24,
+peppsi_(saba_sabasuk0),1,24,
+pepper_cat,4,24,
+pepper_(norasuko),4,24,
+pencil_behind_ear,0,24,
+pelisse,0,24,
+pecka,1,24,
+paula_(sennen_sensou_aigis),4,24,
+patricia_of_end,4,24,
+pateo,1,24,adnod
+passevo,1,24,
+parsue,1,24,
+parimu,1,24,
+para_sitism,1,24,
+panzer_(pnzrk),1,24,jean-baptiste_nanteau
+panri,1,24,
+pam-pam_(precure)_(human),4,24,
+palpatine,4,24,
+palidoozy-art,1,24,
+pairon,4,24,
+pachpachpach,1,24,
+oyo_hitsuji,1,24,
+oyatu55k,1,24,
+oyamada_musshu,1,24,
+oyakodon_(food),0,24,
+owner1657,1,24,
+owaowa_no_mi,1,24,
+overhead_swing,0,24,
+over_the_garden_wall,3,24,
+outsider_0,1,24,
+oujano_kaze,1,24,leaz_koubou
+oudondk,1,24,
+otori_michiru,4,24,
+otoo_hyougo,4,24,
+otomo_megane,1,24,
+otome_ga_irodoru_koi_no_essence,3,24,
+otamon,1,24,
+ossannoa,1,24,
+oshiru_(sealeu),1,24,
+osana_najimi,4,24,
+oryuu,4,24,
+orirock_(arknights),0,24,
+ophelia_(merryweather),4,24,
+ophelia_(elsword),4,24,
+ootori_sakuya,4,24,
+ooku,1,24,
+ooishi_(shiromanta),4,24,
+oogushi_aritomo,1,24,
+onoguru,1,24,
+onmyou_taisenki,3,24,
+on_horn,0,24,
+omotim000,1,24,
+omochi_chowder,1,24,
+omochi_(433purupuru),1,24,
+omiiverse,1,24,
+omega_rugal,4,24,
+omae_nobuyuki,1,24,
+olivia_(god_hand),4,24,
+oliver_poplan,4,24,
+older_edelfelt_sister_(fate),4,24,
+old-fashioned_swimsuit,0,24,
+okuzora_kohaku,4,24,
+okuda_yousuke,1,24,
+okkobc,1,24,
+okazakileo,1,24,
+okabe_gyoza,1,24,
+ojou-sama_wa_gokigen_naname,3,24,
+oikawa_momosuke,4,24,
+odysseus_eu_britannia,4,24,odysseus_u_britannia
+obara_gaun,1,24,
+o5o3,1,24,
+nyoutou,1,24,
+nykim0915,1,24,
+nyansan_oekaki,1,24,
+nyanom,1,24,
+nyabe,1,24,
+nunua,1,24,
+numemon,4,24,
+nukumori_nukumi,4,24,
+nozimami,1,24,
+noveske_space_invader,0,24,
+notsuki_miko,1,24,
+notnoe_(dxcl),1,24,"kuruma94,notnoe"
+nosejob,0,24,
+nori_aji,1,24,
+nordgreen,3,24,
+nora_(le-chat-noir),1,24,
+noland_(pokemon),4,24,
+noki_(potekoro),1,24,
+nogitatsu,1,24,
+nobuyo_ninomiya,1,24,
+noble_succubus_bianca,4,24,
+nobingo,1,24,
+noasa,1,24,
+noa_(meing),1,24,
+niwatazumi_keiko,4,24,
+niwa_ryouka,4,24,
+niwa2wa_tori,1,24,
+niuy,1,24,
+nita_(pokemon),4,24,
+nishinosono_moe,4,24,
+nishinishihigas,1,24,
+nishina_kakeri,1,24,
+nise_maou_kikaizeru,4,24,
+nipponia_nippon,1,24,
+niou_kaoru,1,24,
+ninja_(disgaea),4,24,
+nineball_seraph,4,24,
+nine_usagi,1,24,
+nine_(zankyou_no_terror),4,24,kokonoe_arata
+nilou_(genshin_impact)_(cosplay),0,24,
+nikoro,1,24,
+nikomiudon_06,1,24,
+niko_(2ars),1,24,
+nikku_hikikomori,1,24,
+nikaidou_hitsugi,4,24,
+nijiura,3,24,
+niggurath_the_ancient_tree_branch,4,24,
+nidou_(rechlo),1,24,
+nichi_(hibi_suimin),1,24,
+ngv3553,1,24,
+nezunomori,1,24,
+nezu_miko,4,24,
+nezahualpilli,4,24,
+new_kamen_rider,3,24,
+new_gnsn,1,24,
+nevada-tan,4,24,nevada
+nerima_(neconicoban),1,24,
+neptune_vasilias,4,24,
+neoru_(cvfw7854),1,24,
+nenekoko_(rariatto),4,24,
+nen_master_(dungeon_and_fighter),4,24,
+nemunoya,1,24,
+nemui_(ohisashiburi),4,24,
+nekoyo_chloe,4,24,
+nekoyama_shien,4,24,
+nekotaririn,1,24,
+nekono,1,24,
+nekoname_tuna,4,24,
+nekoma_volleyball_uniform,0,24,
+nei_(hashiko_nowoto),4,24,
+neg_50asu,1,24,
+neferkitty,1,24,
+necrozma_(ultra),4,24,
+neconotaki,1,24,
+nd,1,24,
+nazuna_(nazuna_a2),1,24,
+nawate_(dij),1,24,
+navy-san,4,24,
+navi_(ivan),1,24,
+nautilus_(nadia),4,24,
+nautilus_(azur_lane),4,24,
+natuichi-7212,1,24,
+natsutaro_(sss_stn),1,24,
+natsuiro_koi_uta,3,24,
+natsue,1,24,
+national_geographic,3,24,
+nasu_hanahana,1,24,
+naruse_yasuhiro,1,24,
+narumiya_suzu,4,24,
+narumi_midori,1,24,
+naozi,1,24,
+naoazaz,1,24,
+nao_(naobinarydigit),1,24,
+nanumn,1,24,
+nanokah2,1,24,
+nanno_alice,4,24,
+nannnann,1,24,
+nannaspad,1,24,
+nankai,1,24,
+nanami_k_bladefield,4,24,
+nanamesohuutei,1,24,
+nanakusa_(hillwithstars),1,24,hillwithstar
+nanael_(queen's_blade_unlimited),4,24,
+nakedgeneral,1,24,neikiddojeneraru
+nakazaki_tou,1,24,
+nakayama_(hidamari_sketch),4,24,
+nakatomi_ryou,1,24,
+nakata_jouji,4,24,
+nakano_elsa,1,24,
+nakamachi_machi,1,24,kmonon19
+nagao_uka,1,24,
+nagae_iku_(fish),4,24,
+n_(ruff),1,24,
+n-bata,1,24,nbata555
+myuu_(hellomagic),1,24,
+mystique,4,24,
+mysoda,1,24,
+muusu,1,24,
+musicalcombusken,1,24,
+musical_note-shaped_pupils,0,24,
+musee,1,24,
+musashi_(violet_moonglow)_(azur_lane),4,24,
+murujimu,1,24,
+murmur_(mirai_nikki),4,24,murumuru
+muraya,1,24,
+murasakijazi,1,24,
+murasaki_(game),3,24,
+muraosa_(conjecture),1,24,
+murakami_ginko,4,24,
+munisuke_(zrkt7883),1,24,
+munape,1,24,
+mukai_yumiko,4,24,
+mucus,0,24,
+mucchiri_shiitake,1,24,
+mu_yan,1,24,
+mrw,1,24,
+mr_very,1,24,
+mouse_on_hand,0,24,
+motsu_ryouri,1,24,
+motsu_rebaa,1,24,
+motoori_kosuzu_(cosplay),0,24,
+motomiya_nagisa,4,24,
+motoasako,1,24,
+morumoru_(kuromrmr),1,24,
+moru00f,1,24,
+morpheus_(milk_tea-ya),1,24,
+morphe_(granblue_fantasy),4,24,
+morning6am,1,24,
+morita_shinobu,4,24,
+morimoto_kanaru,4,24,
+mordred_(granblue_fantasy),4,24,
+morakkyo_(mephilas_g3),1,24,
+mora_meat_(genshin_impact),0,24,
+mootor,1,24,
+moonshiner,3,24,
+monge_baby,1,24,
+monch_(arknights),4,24,moschi_(arknights)
+monarch_(white_warrick)_(azur_lane),4,24,monarch_(simple_white_grandeur)_(azur_lane)
+mon0351,1,24,
+momoza_r,1,24,
+momoshina_fumika,4,24,
+momobako,4,24,
+momo_tai,1,24,
+momijiko,1,24,
+momiji_ayaka,4,24,
+moka._tapioka,1,24,
+mochita_sei,1,24,
+mochimomomo,1,24,
+mobile_infantry,4,24,
+mk82_(hoonsyh),1,24,
+mizutani_hozumi,1,24,
+mizushima_airi,4,24,
+mizusawa_matsuri,4,24,
+mizuno_star,1,24,shuiye_xing
+mizukoshi_mako,4,24,
+mizukiri,1,24,
+mizuhichi,1,24,
+mizuamemochimochi,1,24,
+miyuki_nknk,1,24,
+miyoshi,1,24,
+miyo_(aenmix),1,24,
+miyazaki_hayao_(person),4,24,
+miyamoto_musashi,4,24,
+miyamoto_hikari,4,24,
+miyamae_iroha,4,24,
+miwa_ai,4,24,
+miura_kazuki,1,24,uramiyuki
+mitou_shoukan://blood_sign,3,24,
+mito_hollyhock,3,24,
+mithra_tsukiaki_(vtuber),4,24,
+mithos_yggdrasill,4,24,
+misyagu,1,24,
+misono_denpachi,1,24,misonodenpati
+misochige,1,24,
+misenouchi,1,24,
+misaki_renka,4,24,
+misaka_(05),1,24,
+miruka,4,24,
+mirai_(mikami_mika),4,24,
+mirage_(transformers),4,24,
+mira_(world_trigger),4,24,
+minusion,1,24,
+mint_clark,4,24,
+minori,3,24,
+minmii_(minmi078),1,24,azuki-azuki
+minipat_(sketch_wall),1,24,
+minior_(orange_core),4,24,
+minerva_(spacecraft),4,24,
+mindle_(mossacannibalis),4,24,
+minatoya_ringo,1,24,
+minato_(houkago_no_pleiades),4,24,
+minase_suzu,4,24,
+minami_noriko,1,24,
+minakami_hina,4,24,
+mina_likering,4,24,
+mina_(cafe_little_wish),4,24,
+min-mu,1,24,
+mimit,1,24,
+mimi_n,1,24,
+milktower,1,24,
+milia_(lord_of_vermilion),4,24,
+mikoccccchan,1,24,
+miko_kubota,4,24,
+miko_(miko030751),1,24,
+miki_(miki125dragon),1,24,
+mike_(chai),4,24,
+mikasa_ackerman_(cosplay),0,24,
+mikan_yuzuko,1,24,
+mikage_subaru,4,24,
+miichi_(mimimi),1,24,
+mii_(jungle_de_ikou),4,24,
+mihaia,1,24,
+migii_(tenra_banshou),1,24,
+mige_shijiu,1,24,
+mie_lu,1,24,
+midna01,1,24,
+midd_night,4,24,
+michi_l_(streetlamp),1,24,
+michael_casteel,1,24,
+mice_(sake_nomitai),1,24,
+meuwzza_(me_zwa),1,24,"meuwzza,qurbana_mueeza_(jauharusyady17)"
+metroid_prime_3:_corruption,3,24,
+metem_puella,3,24,
+metalbolic,1,24,
+metal_upa,0,24,
+merli_(vocaloid),4,24,
+memory_(prophet5),1,24,
+memidesuyo,1,24,
+memento1113,1,24,
+melody_(pokemon),4,24,
+melfina_bluesky,4,24,
+mel_mellow,4,24,
+mekongdelta,1,24,
+meido-fuku_ga_mitai,1,24,
+megabee_e,1,24,
+mega_beedrill,4,24,
+mechjunk,1,24,
+me_meel,1,24,
+mdr_(ghost_trap)_(girls'_frontline),4,24,
+mcnuggies_(meme),0,24,
+mcnostril,1,24,
+mayo.,1,24,
+mayf42,1,24,
+may_greenfield,4,24,
+mausoleum,0,24,
+maumaujanken,1,24,
+matumasima,1,24,
+matsurika,1,24,
+matsuno_(mat8k),1,24,mat8k
+matsunaga_maguro,1,24,
+matsumoto_(5okuen),1,24,
+matsumae_takumi,1,24,
+matsui_haru,1,24,haruhide_tt
+matsufusa_ema,4,24,
+matoba_kei,4,24,
+mato.,1,24,
+matilda_caskett_(mega_man),4,24,matilda_caskett
+mathuri,1,24,
+masturbating_while_watching,0,24,
+mashiro03,1,24,
+mashiri,1,24,
+mashicono,1,24,
+mash_kyrielight_(dive_to_blue),4,24,dive_to_blue
+masayan_(minor-ms),1,24,
+masato_ayame,1,24,
+masapeko,1,24,
+mary_sera,4,24,
+maruchan_akai_kitsune_udon,0,24,
+marubororaito,1,24,
+martina_zoana_mel_navratilova,4,24,
+martian_officer,4,24,
+martha_(traveling_outfit)_(fate),4,24,
+maron-chan,4,24,
+maro_(maro1108),1,24,
+maro-n,1,24,
+marmalade,0,24,
+maritchi,1,24,
+marine_miku,4,24,
+mari_mari,4,24,
+marge_simpson,4,24,
+maplesights,1,24,
+maou_no_hajimekata,3,24,
+mango_cat,1,24,
+manao-ke,3,24,
+manami_(fearfac666),1,24,
+manako_(manatera),1,24,
+manaka_mitsumi,4,24,
+manaia_matawhaura_hato,4,24,
+mamono_musume-tachi_to_no_rakuen_~slime_&_scylla~,3,24,
+mami_(sweetcandy),1,24,
+mamerakko-chan,4,24,
+malphier,1,24,
+makui_(umaku_ikanai),1,24,
+mako_dai_ni-dai,1,24,
+makimura_(miwmiw-cage),1,24,
+makihara_nodoka,4,24,
+maki_(maki88),1,24,
+maker,1,24,
+makarony,1,24,
+makami_(kemono_friends),4,24,
+maitake_(maitake1234),1,24,
+maigo_no_te_o_hiku_sono_saki_wa_(project_sekai),0,24,
+mahou_shoujo_madoka_magica:_concept_movie,3,24,madoka_concept_movie
+mahha_warabi,1,24,
+maha5japan,3,24,
+magpie_(vtuber),4,24,
+magine,4,24,
+magikoopa,4,24,
+maggey_byrde,4,24,suzuki_mako
+mafumofu_(armor),4,24,
+madou_king_granzort,3,24,
+madarabunchow,1,24,
+madan_(kkh8936),1,24,
+mad_scientist,0,24,
+machi_(uqyjee),1,24,
+macchatei_koeda,1,24,
+mabuchi_kyoma,4,24,
+mablex,1,24,
+lynette_bishop_(cosplay),0,24,
+luminous_arc_3,3,24,
+lumda,1,24,holaa
+lude_(ragnarok_online),4,24,
+lucky_(sweet),4,24,
+louise_halevy's_mama,4,24,
+lotte_(company),3,24,
+lost-ko,4,24,
+lop_(star_wars),4,24,
+loki_(p&d),4,24,
+loish,1,24,
+logo_hair_ornament,0,24,
+locketmonkey,1,24,
+locked_outside,0,24,
+lobsterbaby99,1,24,
+lmo,1,24,
+lm_0063,1,24,
+ljayu,1,24,
+liver,0,24,
+little_lass_(ishiyumi),4,24,
+lisong_shen,1,24,
+lisher,4,24,
+lisette_vertorre,4,24,
+lisa_(lom),4,24,
+lipstick_mark_on_shoulder,0,24,
+lipstick_mark_on_arm,0,24,
+lipe-san,1,24,
+lion_mane,0,24,
+linnoko,1,24,
+lilac_(live_a_hero),4,24,
+lila_(najica),4,24,
+liezerota,4,24,
+lia_marin,1,24,
+li0n_(kongshushiwo),1,24,lenefin
+leyte,1,24,
+leona_ardealescu,4,24,
+lens_life,3,24,
+lemoneko,1,24,
+lemnear,4,24,
+leina_(queen's_blade_unlimited),4,24,
+legjob,0,24,
+legend_of_lemnear,3,24,
+left_out,0,24,
+lefiya_viridis,4,24,
+leeee_ro,1,24,
+lee_chaolan,4,24,
+lea_(kingdom_hearts),4,24,
+le_petit_prince,3,24,"the_little_prince,the_little_prince"
+layeyes,1,24,leai_leao_burgess_jr
+lauren_phillips_lifting_alice_merchesi_(meme),0,24,lauren_phillips_lifting_alice_merchesi
+larienne,1,24,
+lanubis,1,24,
+lana_branford,4,24,
+lamia_(voice_actor),1,24,
+lada_(car),0,24,
+labia_ring,0,24,
+l'indomptable_(azur_lane),4,24,
+kyubi_(99b_1226),1,24,
+kyou-chan,1,24,
+kyo_(krokikyon),1,24,kyon_kyon_kyo
+kuuron,1,24,
+kutuna_yui,4,24,
+kusunoki_tomori,4,24,
+kusata_murasaki,1,24,
+kusanagi_suito,4,24,
+kusanagi_matabi,1,24,
+kurosukey,1,24,
+kurosaki_shigure,4,24,
+kuronekokan_monpetit,1,24,
+kuromi_(cosplay),0,24,
+kuroki_michi,4,24,
+kuro_no_utahime,3,24,
+kurimuzon,1,24,
+kurimilove,1,24,
+kurenai_shinkurou,4,24,
+kureiji_ollie_(artist),1,24,
+kurasuta,1,24,
+kurasawa_makoto,1,24,
+kuradoberi_jam_(cosplay),0,24,
+kunochai,1,24,
+kung_fu_cooking_girls,3,24,
+kumomiya,1,24,
+kumio-appon,1,24,
+kumakoro_(tetsupag),1,24,
+kukig8765,1,24,
+kujou_karen_(cosplay),0,24,
+kugayama_mitsunori,4,24,
+kubooka_toshiyuki,1,24,
+kuaile_de_si_jun,1,24,
+ku--ma,1,24,
+ksvk_(angel's_paint_brush)_(girls'_frontline),4,24,
+ks-23_(girls'_frontline),4,24,
+kris_bernal,4,24,
+kredorf,1,24,sho_(pvt_shoumei)
+kraber,0,24,
+koyanskaya_(fate)_(cosplay),0,24,
+kouyou_(12953910),1,24,
+koutyousan,1,24,
+kouryou_academy_uniform,0,24,
+kouno_megumi,1,24,
+kouhai_(souzaipan),4,24,
+kougei_ciel_nana,4,24,
+kotori_(may_queen),4,24,
+kotone_ranmaru,1,24,
+koshiki_miyuki,4,24,
+kose_takashi,1,24,
+korira,1,24,
+kopa,1,24,
+konsune_(tengerium),1,24,rorimiko-yahoo
+konpane_(ohj),1,24,
+konomi_(yappen),4,24,
+kongouseki,1,24,
+konbanwa01,1,24,
+kon_hoshiro,1,24,
+komota_(mikebukuro),1,24,
+komori_aimi,4,24,
+komorebi_no_namikimichi,3,24,
+komkomx,1,24,
+komiya_harumoto,1,24,
+komikado_kensuke,4,24,
+komaki,1,24,
+komainu_akira,1,24,
+kokuu_no_megami_athena_(armed),0,24,
+kokoala,1,24,
+koko_(hm142533),1,24,
+kokemozuku,1,24,
+koke_(moromiso),1,24,
+koimomo,3,24,
+koi_suru_kimochi_no_kasanekata,3,24,
+koharu_nosuke,1,24,
+kogetsu_tooka,4,24,
+koga_(ringozaka_mariko),4,24,
+koenigsberg_(azur_lane),4,24,konigsberg_(azur_lane)
+kobutya4696,1,24,
+kobayashi_shinpei,1,24,
+koan_(sailor_moon),4,24,
+koa,1,24,
+ko_yami,4,24,
+knight_emperor_(elsword),4,24,
+knapsack,0,24,
+km_(ksolee1201),1,24,
+kkkkt,1,24,
+kk90,1,24,
+kizuchi_kanna,4,24,
+kizdollark,1,24,
+kiyone_(psychofox),4,24,
+kiyohime_(fate)_(cosplay),0,24,
+kitatyoco,1,24,
+kitaru_(mabo_f),1,24,
+kitaminami,1,24,
+kitagawa_(ktgw_116),1,24,
+kisume_(cosplay),0,24,
+kiss_yori_saki_ni_koi_yori_hayaku,3,24,
+kiss_(rock_band),3,24,
+kishio_(agedama),1,24,
+kisaragi_myau,1,24,
+kisaragi_itsuka_(aufheben),1,24,
+kiryuu_mizuha,4,24,
+kiriya_obu_gn,1,24,
+kirara_akaru,4,24,
+kippeijii,1,24,sassa01
+kinomoto_(nazonoinu),1,24,
+kineya_emuko,1,24,
+kinatsu_ship,1,24,
+kinakomochi_(kazuna922),1,24,
+kimu_(risatoko),1,24,
+kimohiko,1,24,
+kimino_yume,1,24,
+kim_han_seul,1,24,
+killing,1,24,
+kiev_(backstreet_silver_sonata)_(azur_lane),4,24,
+kidagakash,4,24,
+khalida_trish,4,24,
+kewpie_(mazohaha),4,24,
+kent_(kariumu),1,24,
+kenshirou_(mono_ken),1,24,
+kennymoney,1,24,
+kenmotsu_chiyo,1,24,
+ken_hayasaka,1,24,
+ken19941028,1,24,
+kemuma,1,24,
+kejourou_(monster_girl_encyclopedia),4,24,
+keiz,1,24,
+kedamaton,1,24,
+kb-5,1,24,
+kazuki_seto,1,24,
+kazemura,1,24,
+kazahana_mashiro,4,24,
+kazagumo_(azur_lane),4,24,
+kayuo,1,24,
+kawery,1,24,
+katyusha_(girls_und_panzer)_(cosplay),0,24,
+katou_misaki,1,24,
+katou_kei,4,24,
+katou_fumitaka,1,24,
+katorius,1,24,
+kate_(pokemon),4,24,
+katano_sukune's_bottle_opener,0,24,
+katamari,0,24,
+katagiri_ayako,4,24,
+kasumi_toshizou,4,24,
+kasugano_urara_(sabagebu!),4,24,
+kassim,4,24,
+kashiwagi_sumika,1,24,
+kasahara_tetsurou,1,24,
+karla_(kono_healer_mendokusai),4,24,
+karl_liversidge,1,24,
+karijuku_tomoe,4,24,
+kari_(atsuki_565),1,24,
+kara_(sam_yang),4,24,
+kapu_(tetete8901),1,24,
+kanzaki_moe,4,24,
+kanzaki_megu,4,24,
+kanou_kayoko,4,24,
+kanotype,1,24,
+kanikaniland,1,24,
+kanihai,4,24,
+kang_sae-byeok,4,24,
+kanda_sorata,4,24,
+kanda_(squall-rinoa),1,24,
+kanbe_piroshiki,1,24,
+kanaya604,1,24,
+kanamaru_yuuki,1,24,
+kamui_(fire_emblem),4,24,kamui_(fire_emblem_gaiden)
+kamogawa_akira,1,24,
+kamiya_mitobe,1,24,
+kamiko_to_seiryoku,1,24,
+kamihitoe,1,24,
+kamen_rider_punch_hopper,4,24,
+kamen_rider_kivala,4,24,
+kamen_rider_j_(movie),3,24,
+kamen_rider_j,4,24,
+kamen_rider_ibuki,4,24,
+kakura_yoshiki,1,24,
+kakesu_(freiheit),1,24,
+kaixuan_lushang,1,24,
+kaitou_shinshi_no_harahara!?_white_day_(project_sekai),0,24,
+kaguya_(force_of_will),4,24,
+kagari3,1,24,
+kaede_acer,1,24,
+kadokeshi,1,24,
+ka_maru,1,24,
+ka_koubun,4,24,
+k_(chissaiossan),1,24,
+k@ito90p,1,24,
+k.nock,1,24,
+k.j.,1,24,
+k.c,1,24,
+jyuui,1,24,
+jyundee,1,24,
+jyb_unknown,1,24,
+jyan_borii,1,24,
+jwthor,1,24,
+juu_ho,1,24,
+justsomenoob,1,24,
+junpei_(kyokugen_dasshutsu),4,24,junpei_(zero_escape)
+junou,1,24,
+jumpei,1,24,
+july_(coyote_ragtime_show),4,24,
+julius_belmont,4,24,
+juliet_starling_(cosplay),0,24,
+judeau_(berserk),4,24,
+jude_mathis_(butler),4,24,
+joy_(joy-max),1,24,
+jotarozaku,1,24,
+josou_shinwa,3,24,
+jorge_joestar,3,24,
+jokei_kazoku,3,24,
+johnny_bravo_(series),3,24,
+jo_an,1,24,
+jjwww_love,1,24,
+jira,1,24,
+jinpou_anne,4,24,
+jinkou_no_kuma,1,24,
+jing_li,1,24,"mogucho,tscbr"
+jil,4,24,
+jiecaoxiong,1,24,
+jevil,4,24,
+jenny_(artist),1,24,
+jennifer_yamada,1,24,jenifaa._yamada
+jenna_brown,1,24,
+jeet,1,24,
+jeep_(company),0,24,
+jazz_(fuukan),1,24,
+jay27,1,24,
+jaxa,0,24,
+jasmine_(flower),0,24,
+janus_(azur_lane),4,24,
+jacket_(hotline_miami),4,24,
+j_am,1,24,
+izumi_(izumi_p),1,24,
+izawa_shizue,4,24,
+izatama,1,24,
+izanagi_no_okami,4,24,
+iyokamioto,1,24,
+iwatsuki,1,24,
+iwadate_yuan,4,24,
+iuchar_(fire_emblem),4,24,johan_(fire_emblem)
+itsuki_(spitbreak),1,24,
+issycake,1,24,
+isogai_yuuji,1,24,
+ishikawa_yuga,1,24,
+isaroishin,1,24,
+irving-zero,1,24,
+iris.exe_(mega_man),4,24,iris_(rockman_exe)
+iridori,1,24,
+irene_white_(girl_cafe_gun),4,24,
+inui_(shirakawa777),1,24,
+inu_mamoru_mizuki,1,24,
+instrument_request,5,24,
+inoue_mikuni,1,24,inoue_(pixiv81513)
+innocentia,4,24,
+ink_(artist),1,24,
+infamous,3,24,
+ines_(tachiagare!_orc-san),4,24,
+indol,1,24,
+incoming_letter,0,24,
+inanami,1,24,
+inaka_gyomin,1,24,
+inagawa_yuu,4,24,
+inabahitomi,1,24,
+imomonono,1,24,
+imi_fumei,1,24,
+illustica_phantom,1,24,
+ikoma_minami,4,24,
+ikaruga_ibuki,4,24,
+ika_esu,1,24,
+iiwake,1,24,
+iiumiarts,1,24,lumi250
+iinchou_(justice_gakuen),4,24,
+igu_(103milk),1,24,
+igarashi_aguri,1,24,
+idol_show_time,3,24,
+icqoo,1,24,
+icicle_fall,0,24,
+ichinose_nagi,4,24,
+ichinose_ichino,4,24,
+ichimoku_ren_(onmyoji),4,24,ichimokuren_(onmyoji)
+icedev,1,24,
+ibis1,1,24,
+iberis_(flower_knight_girl),4,24,
+ibarahime_shizuka,4,24,
+ibanez,0,24,
+hyper_brand,3,24,
+hy136,1,24,
+huziiro_matutya,1,24,shishitou
+humany,1,24,
+huira444,1,24,
+huan_(hao7551789),1,24,
+hu58013901,1,24,
+htms_sri_ayudhya,4,24,
+hraesvelgr_(last_origin),4,24,eb-48g_hraesvelgr
+hozumi_sayaka,4,24,
+howe_(noble_rouge)_(azur_lane),4,24,
+howaitosawa_papiko,4,24,
+how_to_talk_to_short_people_(meme),0,24,
+how_is_the_progress_(meme),0,24,
+housui_(g3hopes),1,24,
+house_m.d.,3,24,
+houkago_saikoro_club,3,24,after_school_dice_club
+hototogisu,3,24,
+hoshizora_hiroshi,4,24,
+hoshinopurin,1,24,
+hoshino_mitsuki,1,24,
+hoshino_aquamarine,4,24,
+horuta_suin,4,24,
+horu_(horu_111),1,24,
+horitomo,1,24,
+horikoshi_kouhei_(style),0,24,
+honoka_(the_third),4,24,
+honkawa_works,1,24,
+honk_honk_(meme),0,24,honk_honk
+honenashi_chicken,1,24,
+hondo_kaede,4,24,
+honda_yuita,1,24,
+homong,1,24,
+hollow_body,0,24,
+holding_wig,0,24,
+holding_scanner,0,24,
+hokoro,1,24,
+hoken_dayori,3,24,
+hogi,1,24,
+hko,1,24,
+hk_nnm,1,24,hq_(8quuu_)
+hiyuki-chan,4,24,
+hitsuka_baka,1,24,
+hitotose_tanteidan,3,24,
+hitohira_onsa,4,24,
+hitakikan,1,24,
+hisohiso_(altoblue),1,24,
+hise,1,24,
+hisame_mon,1,24,
+hisakawa_aya,4,24,
+hiroyama_(hpzg5374),1,24,
+hirose_koharu,4,24,
+hiro_(minorstar),1,24,
+hiro_(14806390),1,24,
+hirasawa_yuu,1,24,
+hiqu,1,24,
+hippowdon_(male),4,24,
+hinohino,1,24,
+hinasaki_mafuyu,4,24,
+hinaname,1,24,
+hinako_(teruki_kuma),4,24,
+himenohara_suzuran,4,24,
+himeko_(honkai:_star_rail),4,24,
+himejima_kinoko,4,24,
+hima_hawa,1,24,
+hilbert_(pokemon)_(cosplay),0,24,
+hilary_(pokemon),4,24,shoko_(pokemon)
+hikotou_(sao73cat),1,24,
+hikora,1,24,
+hiki_furisode,0,24,
+hikarinoko,1,24,
+hikari_(saidaioujou),4,24,
+hikage_(0hi_kageo),1,24,
+hijiriido_miyo,4,24,
+higezamurai_(kurage_gunsou),1,24,
+hieda_yawe,1,24,
+hidekichi_(09075470338),1,24,
+hidden_weapon,0,24,
+hidaka_rina,4,24,
+hibinpo,1,24,
+hibikase_(vocaloid),3,24,
+hibi_(grangcat),1,24,
+heru_(totoben),1,24,
+henshin!!!_~pantsu_ni_natte_kunkun_peropero~,3,24,
+henry_henderson,4,24,
+henry_davis,1,24,
+henry1025,1,24,
+hemachi,1,24,
+hel0205,1,24,
+heitai_gensui,1,24,
+heike_falke,4,24,
+heihei_de_hei_yan_long,1,24,
+heemin,1,24,"lliikkiiiii,self_empl0yed"
+headband_girl_(kamisimo_90),4,24,headband_girl_(yuya)
+hayanse,1,24,
+hayami_iori,4,24,
+havoc_(darker_than_black),4,24,
+hatsuzuki_(kancolle)_(cosplay),0,24,
+hatsune_miku_(roshin_yuukai/nitamagomix),4,24,"hatsune_miku_(meltdown/nitamagomix),hatsune_miku_(roshin_yukai/nitamagomix)"
+hata_matsuri,4,24,
+hasukawa_isaburou,1,24,
+haruno_ichigo,1,24,
+harumaki_haruki,1,24,
+harukanaru_toki_no_naka_de_2,3,24,
+haru_(tateha),4,24,
+haru_(calipur),1,24,
+haru_(amagamido),4,24,
+haro_art,1,24,
+hardy_(azur_lane),4,24,
+harami_(qz48lr),1,24,
+hara_shouji,1,24,"hara_shoji,hara_shooji"
+happy_turn2,1,24,
+happamushi,1,24,
+haoriya_chie_(minidraco),4,24,
+haori_(ki-na-ri),1,24,
+haocong33,1,24,hcc7159684
+hans_humpty,4,24,
+hanosuke,1,24,
+hanimaru_(h@nimaru),1,24,
+haneda_kobato,4,24,
+hane_(kirschbaum),1,24,
+hand_on_thighs,0,24,
+hand_on_arm,0,24,
+hanchi_hannou,1,24,
+hanafusa_itsuki,1,24,
+hamitamako,1,24,
+hamericano,1,24,
+hamama2,1,24,
+halsey_powell_(azur_lane),4,24,
+hakutakuanta,1,24,
+hakutaku_(granblue_fantasy),4,24,
+hakuhatsu,1,24,
+hakase,1,24,
+hakai_no_ika,1,24,
+hajimenimodoru,1,24,
+haishin,3,24,
+haires,1,24,
+hair_fan,0,24,
+haiboku_no_megami,4,24,
+hagino_chihiro,1,24,
+hagino_(axgh),1,24,
+hagi_(artist),1,24,
+hafuri,1,24,
+haebara_zanka,1,24,
+hachimikkusu,1,24,
+gyokuto_b,1,24,
+guu_(guu8),1,24,
+guts_seijin,4,24,
+guts_(berserk)_(cosplay),0,24,
+gustav_karl,4,24,
+guranaada,1,24,
+gunsmoke,1,24,
+gundongdejie,1,24,
+gundam_tekketsu_no_orphans_urdr_hunt,3,24,
+gundam_age-2_darkhound,4,24,
+gumitaroo,1,24,
+guiche_de_gramont,4,24,
+grenda-san,4,24,
+green_shell_(mario),0,24,
+gravelord_nito,4,24,
+grand_admiral_marina,4,24,
+gracia_hughes,4,24,
+goya_(team_harenchi),1,24,
+gotouge_koyoharu_(style),0,24,
+goriraneesan,1,24,
+goowonjoon,1,24,
+goom_(goomyparty),1,24,goomyparty
+gomas,1,24,
+goldmondsel,1,24,
+golden_spiral,0,24,
+golden_knight_(granblue_fantasy),4,24,alliah_istavion
+god_of_the_new_world,0,24,
+god_eater_resonant_ops,3,24,
+gneisenau_(warship_girls_r),4,24,
+gmg,1,24,
+glowing_finger,0,24,
+globburt,1,24,
+glitch_techs,3,24,
+girl_with_bear_(madoka_magica),4,24,
+girigiri_love,3,24,
+giraffe_three,1,24,
+giotto_(reborn),4,24,vongola_primo
+gimai_seikatsu,3,24,
+giggles_(happy_tree_friends),4,24,
+gigantamax_machamp,4,24,
+gift_bow,0,24,
+giant_spider,0,24,
+ghostdoctor,1,24,
+ghost_belle_&_haunted_mansion,4,24,
+geshopu,1,24,
+genjitsu_shugi_yuusha_no_oukoku_saikenki,3,24,how_a_realist_hero_rebuilt_the_kingdom
+genjimaru,4,24,
+gen_(gen_m_gen),1,24,
+geena_preddy,4,24,
+gedo_senki,3,24,"tales_from_earthsea,tales_from_earthsea"
+gbcolor_(naza),1,24,
+gaziter,1,24,
+gaul_galette_des_rois,4,24,
+gatakenjin,1,24,
+gastornis_(kemono_friends),4,24,
+gascogne_(muse)_(azur_lane),4,24,
+garurumon,4,24,
+garmmy,1,24,
+gargadia_empire,0,24,
+ganryou,4,24,
+ganpiro,1,24,
+gana_(mknumi),1,24,
+gamigamimissile,1,24,
+galleon-joe,1,24,
+galka,0,24,
+gale_(dds),4,24,
+galaxy_dungeon,3,24,
+gaia_gear,3,24,
+gahara,1,24,
+gadwin_(grandia),4,24,
+gabri-l,1,24,
+ga_yeah,1,24,
+g28_(beer_ranch)_(girls'_frontline),4,24,
+g141,1,24,
+fuubuu,1,24,
+fusuma_(not_found),1,24,
+fusuma_(nohbrk),1,24,syooo_gd4
+fushimi_touka,4,24,
+fushikawa_kokoro,4,24,
+furutachi_ren,4,24,
+furizuu20,1,24,fbreeze
+furi2play!,3,24,
+fur_shirt,0,24,
+fupoo,1,24,
+fumo,1,24,
+fumika_asano,1,24,
+fukunaga_yumi,1,24,
+fukumune_iria,4,24,
+fujita_tatara,4,24,
+fujita_nodoka,4,24,
+fujisawa_tomio,1,24,
+fujimaru_ritsuka_(female)_(walking_in_the_spring_breeze),4,24,
+fujieda_yoshino,4,24,
+fujieda_kaede,4,24,
+fuji_(d38635s10),1,24,
+fugaku_(fugaku22),1,24,
+fuel,0,24,
+frozensoba,1,24,
+frost_fog,1,24,
+frontier_town,1,24,
+fromchawen,1,24,
+frilled_scarf,0,24,
+frigate,0,24,
+fox_girl_(miya_(miyaruta)),4,24,
+four-leaf_clover_earrings,0,24,
+fortune_(azur_lane),4,24,
+forceps,0,24,
+forced_dressing,0,24,forced_cosplay
+food_on_toes,0,24,
+folte,1,24,
+folding,0,24,
+flyinghigh,1,24,
+flying_guillotine,0,24,
+fluf.p,1,24,tshna
+flower_in_drink,0,24,
+flower-shaped_hair,0,24,"flower_by_hair,flower_hair"
+flavia_(fire_emblem),4,24,
+fish_cake,0,24,
+fireball_666,1,24,
+fiona_(xenoblade),4,24,
+fiona_(mabinogi),4,24,
+finger_to_eyewear,0,24,
+fili,4,24,
+fey_(broken_cage),1,24,
+fernanda_dias,1,24,
+fender_precision_bass,0,24,precision_bass
+felpurr,4,24,
+fei_miao,1,24,
+fecchan,4,24,
+feca,1,24,feca_shield
+faymantra,1,24,
+faust_(limbus_company),4,24,
+fat_joke,0,24,
+farigiraf,4,24,
+fairy_tale_girl_(pokemon),4,24,
+fairy_knight_tristan_(valentine_witches)_(fate),4,24,
+f4u_(naitou2),1,24,
+f-22a_raptor_(muvluv),4,24,
+f-117_nighthawk,0,24,
+eye_glitter,0,24,
+executioner's_sword,0,24,
+excellia_cruz,4,24,
+evol_driver,0,24,
+evaiyu,1,24,
+euphemia_chevalier,4,24,
+eukrante,4,24,
+eugenia_beilschmidt,1,24,
+etta,1,24,
+etsuko_pkmn,1,24,
+etou_fujiko,4,24,
+erulusyro,1,24,
+eru_daydream,1,24,
+eru_(aeeu2243),1,24,
+eriol_s2,1,24,
+epurasu,1,24,
+epic_hair,0,24,
+enterprise_(blooming_peony)_(azur_lane),4,24,
+enola_(ebanataw),1,24,
+eno_(preno_gb),1,24,
+enne_(porforever),4,24,
+enikuma,1,24,
+enhancement_pill_(girls'_frontline),0,24,
+endou_aina,4,24,
+ena_(fire_emblem),4,24,
+emukae_kaede_(plan),4,24,
+emudoru,1,24,
+emily_brooks,4,24,
+emi_(fizintine),4,24,
+emeraldas,4,24,
+emapippi,1,24,
+elyos,4,24,
+elsam_(granblue_fantasy),4,24,
+elmo,4,24,
+elephant_girl,0,24,
+elena_(jagaimo_(kkamja)),4,24,
+elegant_(sumisumi4268),1,24,sumisumi4268
+eleaclarisse,1,24,
+elea,4,24,
+elazul,4,24,
+elanore,1,24,
+elaine_(iron_saga),4,24,
+eko_(yu-shao-eko),1,24,
+ejaeli_(granblue_fantasy),4,24,
+eirene_(oniro),4,24,
+eggplus,1,24,
+egao_no_daika,3,24,the_price_of_smiles
+edorai,1,24,
+edo_tensei,0,24,
+edgar_syu,1,24,
+edelyn,4,24,
+edea_kramer,4,24,
+edamame_(buruburu),1,24,
+ectas_online,3,24,
+echoes_act2,4,24,
+echo_(pandora_hearts),4,24,
+eas_(cosplay),0,24,
+earthen_miraculous_sword,3,24,
+eari_(shining_hearts),4,24,
+e5_hayabusa_(shinkalion),4,24,
+dyxm,1,24,
+dxlsmax_(lizhimin),1,24,
+dustcloth,0,24,
+dust_box,1,24,
+duralumin,4,24,
+dukehare,1,24,
+duke_nukem,4,24,
+dreyfos,1,24,
+dream_smp,3,24,
+drawing_mannequin,0,24,
+dragon_quest_heroes_ii,3,24,
+dr_unk2020,1,24,
+douluo_dalu_xiaowu_zhuye,1,24,
+dosol,1,24,
+doriri,1,24,
+doremy_sweet_(cosplay),0,24,
+dorei_himekishi_to_dorei_jijo_to_no_slow_life,3,24,
+don_(macaron_panda13),1,24,ludorora
+dokumi,1,24,
+dog_girl_(yukimoto_shuuji_(gurigura)),4,24,
+dmuyaa,1,24,
+dmc_pa,1,24,
+dk_(13855103534),1,24,
+dj-yu,1,24,
+dizzy_(artist),1,24,
+divine_(scfworks),1,24,
+dirk_strider,4,24,
+dinosaur_boy,0,24,
+dimentio,4,24,
+diego_armando,4,24,kaminogi_souryuu
+diamond_hands,0,24,
+diamond_dog,4,24,
+dhiea_seville,4,24,
+dharc_(yu-gi-oh!),4,24,
+devil_breaker,0,24,
+develop2,1,24,
+detec_bell,4,24,
+dera_fury,1,24,
+denka_houtou,4,24,
+dendoumushi,1,24,
+demya_dalliante,4,24,
+demonlordraizen,1,24,
+demon_parade,0,24,
+demon_(02030108),1,24,
+demian_221,1,24,
+del,1,24,
+deerchip,1,24,
+decima_velanox,4,24,
+deathclaw,4,24,
+dear_my_friend,3,24,
+deanoia,1,24,
+deadmoon_(kein2002),1,24,
+dead_rising_2,3,24,
+dead_drive,3,24,
+dclzexon,1,24,
+dazzling_white_town,0,24,
+davecavedraws,1,24,
+datsuko_(momojam_koubou),1,24,
+darwin_watterson,4,24,
+darren,1,24,
+dark_knight_(fft),4,24,
+daredevil,4,24,
+dapple_dualies_(splatoon),0,24,
+dann_of_thursday,4,24,
+dangaioh_hyper_combat_unit,4,24,
+dandere_(tetsudan),1,24,
+dalimao,1,24,
+daiyousei_mob_(touhou),4,24,
+daisenran!!_sangokushi_battle,3,24,
+dairenji_suzuka,4,24,
+daime_fusonzai,1,24,
+daidouji_mayura,4,24,
+daidou_shinove,4,24,
+dai_fuku,1,24,
+dahlia_hawthorne,4,24,miyanagi_chinami
+dagr_(fire_emblem),4,24,
+daewoo_k11,0,24,
+d_no,1,24,
+cz_scorpion_evo_3,0,24,
+cynthia_(claymore),4,24,
+cyasha,1,24,
+cuttlefish,0,24,
+cutie_honey_flash,3,24,
+cutefreak,1,24,
+cusozee,1,24,
+cure_waffle,4,24,
+cure_peace_pose,0,24,
+cure_empress,4,24,
+cure_berry_(angel),4,24,
+cum_in_headwear,0,24,
+cross_piercing,0,24,
+crescent_tattoo,0,24,
+creamyya,1,24,
+creamyghost,1,24,
+coyote_starrk,4,24,coyote_stark
+cotoh_tsumi,1,24,
+coral_(summon_night),4,24,
+cooling_tower,0,24,
+conoha,1,24,
+conception_2,3,24,
+command_and_conquer:_red_alert_3,3,24,
+comic_orga,3,24,
+comet543,1,24,
+color_creation,1,24,
+colon_(stpri),4,24,
+colmack,1,24,
+collared_crop_top,0,24,
+cola-alter,1,24,cola_alter
+coffee_talk,3,24,
+code_nt,1,24,
+cocohore,1,24,
+cocoa_miel,1,24,
+coco_(hinatacoco),1,24,
+cocktail_pick,0,24,
+cobra_(cobra_63),1,24,"airi9,cobra_(artist)"
+clutch_shot_king,1,24,
+cleasky_(idolmaster),0,24,
+clarityblue,1,24,
+clarissa_snowflake,4,24,
+ckhd,1,24,
+circuit_board_print,0,24,
+cigarette_p,1,24,
+cien_(shikanokuni),1,24,
+chozuru,1,24,
+chon_(klliaytong),1,24,"kllia,klliaytong"
+chokotto_vampire!,3,24,
+chococuco,1,24,
+chloe_(sennen_sensou_aigis),4,24,
+chisuke,1,24,
+chiro_(youkai_tamanokoshi),1,24,
+chirarizushi,1,24,
+chirakashi_(chiruto),4,24,
+children_of_the_rune,3,24,
+chikurin_(sasamori_tomoe),4,24,
+chiharu_(dididididinosaur),1,24,
+chi_zu_crazy,1,24,
+cheungchz,1,24,
+cherryton_school_uniform,0,24,
+cherrymaru,1,24,mangolingo_(mangoooo_74)
+chengongzi123,1,24,
+chastel_aiheap,4,24,
+charlotte_(pandora_hearts),4,24,
+chari_de_kita,0,24,
+chaos_drive,3,24,
+change!_ano_ko_ni_natte_kunkun_peropero,3,24,
+chall_acustica,4,24,
+chadgarciaburg,1,24,
+chabatake,1,24,uczfhmwafinoajb
+cha_chazi,1,24,
+cellphone_display,0,24,
+cello_case,0,24,
+cei_(sohin),4,24,
+catwalk_(modeling),0,24,runway_(modeling)
+catch_the_rainbow,4,24,
+cat_peach,4,24,
+cat_ear_bikini,0,24,
+cash007,1,24,
+casey_w._coller,1,24,
+carol_(guilty_crown),4,24,
+cargo_pallet,0,24,pallet
+capelet_lift,0,24,
+cao_pi,4,24,
+canzhajiang,1,24,
+canopus_wolph,4,24,
+camouflage_footwear,0,24,
+camisole_removed,0,24,
+cale_henituse,4,24,
+cain_(fire_emblem:_shadow_dragon),4,24,
+cafe_choco,1,24,
+c-ms_(the_wonderful_adventures_of_goose)_(girls'_frontline),4,24,
+byakusouya,1,24,
+buttslayer,1,24,
+burmy_(trash),4,24,
+burgerberg_q-taro,4,24,q-taro_burgerberg
+bunny_choker,0,24,
+bun_(food),0,24,
+buffalo_(trickster),4,24,
+buchou_(kakitama),4,24,
+brown_facial_hair,0,24,
+bronya_zaychik_(drive_kometa),4,24,
+breeding_mount,0,24,
+bratja,1,24,
+bowser_logo,0,24,
+bow_shorts,0,24,
+bow_(breath_of_fire),4,24,
+bourbone,1,24,
+bouncy_(kirby),4,24,
+botantouki,1,24,
+bossmonsterbani,1,24,
+borezet,1,24,
+book_of_fuxi,4,24,
+bokujou_monogatari:_tsunagaru_shin_tenchi,3,24,"harvest_moon:_connect_to_a_new_land,story_of_seasons_(game)"
+body_slam,0,24,
+bobblehead,0,24,
+bmw_z4,0,24,
+blue_trim,0,24,
+blodia,4,24,
+blister_pack,0,24,
+blaze_union,3,24,
+blaser_r93,0,24,
+blaseball,3,24,
+blanket_(kkbjah),1,24,
+blackwatch_reyes,4,24,
+blackmoon,1,24,
+black_sig,4,24,
+black_n_12,1,24,
+black_maria_(one_piece),4,24,
+black_killers_(phantom_of_the_kill),4,24,
+black_cat_(elona),4,24,
+black_ai,4,24,
+bizure,1,24,
+bittersweet_lulu,4,24,
+bita_(vaderc),1,24,
+bisuko_(bisco_mm),1,24,
+bisuke_(isbsk_ekaki),1,24,
+biopunk,0,24,
+bini_(xocolatl_501),1,24,
+bingshan,1,24,
+bikkuru,1,24,
+bikkii,1,24,
+betilla_(rayman),4,24,
+berisuno_(beriberi0707),1,24,
+benerokku,1,24,
+belial_(megido72),4,24,
+bejili,1,24,
+beepaint,1,24,
+bee_(bee_and_puppycat),4,24,bee_the_human_girl
+bedman,4,24,
+beast_of_darkness_(berserk),4,24,
+bean_sprouts_(6651003),1,24,
+be_yu,1,24,
+bbuni,1,24,
+battlestar_galactica,3,24,
+battle_principal_yuumi,4,24,
+batting_stance,0,24,
+bat_signal,0,24,
+bat_pasties,0,24,
+bashira_(sennen_sensou_aigis),4,24,
+banana_(among_us),4,24,
+bamboo_(akimotoaki),1,24,
+balabling,1,24,
+bakadebiru,1,24,
+baek_hyang'geum,1,24,
+babape,1,24,
+azusa_(sukumizuya),1,24,
+azusa_(rikuriku),1,24,
+azuma_yuuki,1,24,
+azuko_(ampenm),1,24,
+ayyataka,1,24,
+ayuria,4,24,
+ayanami_(witch_in_ambush)_(azur_lane),4,24,
+ayanami_(azur_lane)_(cosplay),0,24,
+ayajik,1,24,
+axis04,1,24,
+avenger_(dungeon_and_fighter),4,24,
+avalon_code,3,24,
+automaton_(final_fantasy),4,24,
+aulick_(azur_lane),4,24,
+aul,1,24,
+audrey_dreamweaver,4,24,
+atsushi_kenzaki,4,24,
+asymmetrical_shorts,0,24,
+asuka_r._kreutz,4,24,"ano_otoko,that_man_(guilty_gear)"
+asu_kam,1,24,
+astrotrain,4,24,
+ashura_(rg_veda),4,24,
+ashiyafuku,1,24,
+ashigara_(kancolle)_(cosplay),0,24,
+ash_(cat7evy),1,24,
+asato_ai,4,24,
+asama_isami,4,24,
+asaka_hinata,4,24,
+asahina_yuuta,4,24,
+asahina_satoru,4,24,
+asaba_yuuki,4,24,
+asa1014,1,24,
+arzuros,4,24,
+aruko_(nac000),4,24,
+artoise,1,24,
+artificial_world,3,24,
+arrow_to_the_knee,0,24,
+arrow_in_mouth,0,24,
+arrow_hair_ornament,0,24,
+arno_(ft3014),1,24,
+armored_core_4,3,24,
+ariesuzu_(ariessz),1,24,
+arianna_the_labrynth_servant,4,24,labrynth_servant_arianna
+aria_advance,4,24,
+ari_suzushi,1,24,
+argetlahm,0,24,
+argentinosaurus,0,24,
+argath_thadalfus,4,24,algus_sadalfas
+archer_class_(fate),4,24,
+arasumi_shii,1,24,
+arashigaoka_academy_uniform,0,24,
+aran_(fire_emblem),4,24,
+aragaki_nagisa,4,24,
+arafune_tetsuji,4,24,
+aqua_umbrella,0,24,
+aqua_buruma,0,24,
+aqua-,1,24,
+apricot_(fruit),0,24,
+aosi_(wasabiranzy),1,24,
+aonuma_shun,4,24,
+aoki_masahiko,1,24,
+aoiro_0w0,1,24,
+aoi_matsuri,4,24,
+aoi01fenrir,1,24,
+aobito_sukoyaka_bystander,1,24,aobito_sukayaka_bystander
+aobe,1,24,
+anti_the_infinite_holic_(vocaloid),3,24,
+anpsart,1,24,
+anntan,1,24,
+announcer,0,24,
+annet_myer,4,24,
+anne_(ttgl),4,24,
+anime_revolution,3,24,
+animal_pov,0,24,
+angel_pena_(angelox),1,24,
+angel_(nadegata),4,24,
+andy_w_hall,4,24,
+andou_mario,4,24,
+and_rira,1,24,
+anby_demara,4,24,
+ana_bi,1,24,
+an_sin,1,24,
+an_jera,1,24,
+an_(angular-angler),1,24,
+amulet_clover,4,24,
+amiya_aranha,4,24,
+amiya64k7,1,24,
+american_civil_war,0,24,
+ameria_(artist),1,24,
+amel3di,1,24,
+ame-kan,1,24,
+amaurot,0,24,
+amatsu_ai,4,24,
+amatou_cacao,1,24,
+amatarou,1,24,
+amanohokosaka_mei,4,24,
+amane_1906,1,24,
+amane_(dream_c_club)_(cosplay),0,24,
+amane_(7783),1,24,
+amamiya_sakurako,4,24,
+amamiya_kaoruko,4,24,
+amamiya_atsushi,4,24,amemiya_(konbini_dmz_plus!)
+amagi_yukiko_(cosplay),0,24,
+am88121,1,24,
+alyssa_searrs,4,24,
+alvida_(peach_momozen),4,24,
+aluppia,1,24,
+alumina_(kennmeidesu),1,24,
+altheavin,1,24,
+altera_(fate)_(cosplay),0,24,
+altair_(granblue_fantasy),4,24,
+alset,1,24,
+alpholo_v,1,24,arufa-09
+aloe_(sos961111),1,24,
+all_seeing_eye,0,24,
+alien_adviser,1,24,laaaan
+alice_(mary_skelter),4,24,
+alexander_(final_fantasy),4,24,
+aleixa_(aurahack),4,24,
+albino_(vocaloid),3,24,
+alatreon_(armor),4,24,
+aku_(samurai_jack),4,24,
+akoya_(anoko_konoko),1,24,
+akn,1,24,
+akito,1,24,
+akita_(20033203),1,24,
+akira_(jitsuimo),4,24,
+akio_(89e),1,24,
+akebi_(kakuri),1,24,
+akazukin_(mary_skelter),4,24,
+akashin,1,24,
+akasaka_shop,1,24,
+akari_(baffu),4,24,
+akaikonomi,1,24,
+akagi_koku,1,24,
+akagi_(azur_lane)_(cosplay),0,24,
+aiwm,1,24,
+airi_rei,1,24,
+aijin_(pageratta),4,24,
+aihara_kazumi,4,24,
+ai_kotoba_(vocaloid),3,24,
+aho_manten,1,24,
+ahedtra,1,24,
+agibe,1,24,
+agaa_(masatu),1,24,masatu
+aegis_(girls'_frontline),4,24,
+adz_lrp,1,24,
+adfx-02_morgan,0,24,
+adam_jensen,4,24,
+adam_(evangelion),4,24,
+aako,1,24,
+aaaaddddd,1,24,
+a_ching,1,24,sei_(abab40116)
+a_chika-tastic_summer,0,24,
+a6m2-n,0,24,
+a-m-one,1,24,
+=3=,1,24,
+9no_kabe,1,24,
+8rats,1,24,
+88_(kimidori_midori),1,24,
+86thunder,1,24,
+777nasu,1,24,
+707arisu,1,24,
+64_(xfour),1,24,
+617247500,1,24,
+30re,1,24,
+30ml,1,24,
+1ji45fun,1,24,
+1984,3,24,
+10cm_twin_high-angle_gun_mount,4,24,
+029pom,1,24,
+zzt_(zztsama),1,23,zi_long
+zzq,1,23,
+zzizzi,1,23,
+zyuwfc,1,23,
+zy_jomi,1,23,
+zxj,1,23,
+zxanzai,1,23,
+zutaboro,1,23,zutabo2
+zukapin,1,23,
+zoyu_(wuedti),1,23,zuoyu4
+zora_set_(zelda),0,23,
+zokusuke,1,23,susuke_(yusuke)
+zmore,1,23,
+ziteng_yue,1,23,
+zimbabwefumi,1,23,
+zienu,1,23,
+zhaoyuan_pan,1,23,
+zhai_mu_q,1,23,
+zetsu_(zyej5442),1,23,
+zetman,3,23,
+zet_(twt_zet),1,23,
+zenigata_tsugiko,4,23,
+zeng$_(zwj),1,23,zeng
+zearthp,1,23,
+zearth,4,23,
+zanza_(xenoblade),4,23,xanthe_(xenoblade)
+zane_(ninjago),4,23,
+zama_masaaki,1,23,
+z28_(azur_lane),4,23,
+z21_(azur_lane),4,23,
+yzk,1,23,
+yuzupapa,1,23,
+yuzumaki_tajii,1,23,
+yuzuki_(wixoss),4,23,
+yuzf,1,23,
+yuuri_(mafuyu),4,23,
+yuukoku_no_moriarty,3,23,moriarty_the_patriot
+yuuki_susumu,1,23,
+yuuki_amane,4,23,
+yuugiri_(zettai_karen_children),4,23,
+yuu_li_(glass),1,23,
+yuu_chitose,1,23,
+yuu_(vocaloid),4,23,
+yutorin_kakka,1,23,
+yusa_aoi,4,23,
+yurudorashiru,3,23,
+yurine,1,23,
+yurian_(user_utch8788),1,23,
+yuri_(purinlove),1,23,
+yupo_0322,1,23,
+yupi_mild,1,23,
+yuna_(yu-yu),4,23,
+yun_yun_guan_bo,1,23,
+yun_ling,1,23,
+yun-chan,1,23,
+yumeno_sally,4,23,
+yukinoko_0_3,1,23,
+yukine_chris_(another),4,23,
+yukimiya_chino,1,23,
+yukimi_papino,1,23,"papino_is_skebe,user_hwzf8378"
+yukimi_(pan_(mimi)),4,23,
+yukikaze_(aaassszzz),1,23,
+yukikana,1,23,
+yukichi_(yu-ame),1,23,
+yuki_ga_tokeru_mae_ni_(vocaloid),3,23,
+yuki_(bakumatsu_rouman),4,23,
+yukawa_hideki,4,23,
+yukagen,1,23,
+yuka_(mischief),1,23,
+yuirinex,1,23,
+yui_(msy1302mana),1,23,
+yui_(bofuri),4,23,
+yuhkiano,1,23,
+yugami_(mikami_mika),4,23,
+yufy,1,23,
+yuenibushi,1,23,
+yuela,4,23,
+yu_tin,1,23,
+ys_memories_of_celceta,3,23,ys:_celceta_no_jukai
+yoyoiro_(sysi20),1,23,
+yosiyuki_yosizou,1,23,
+yoshino_yuusuke,4,23,
+yoshino_ns,1,23,
+yoshimori_misaki,4,23,
+yoshi_(cosplay),0,23,
+yoru_no_yayoi,1,23,
+yoru_kiri,1,23,
+yorite_konoha_wa_kurenai_ni,3,23,
+yonari_phone_neon,4,23,
+yon_prmr,1,23,
+yomoi_nui,1,23,
+yomogi_mametaro,1,23,
+yokuko_zaza,1,23,
+yoku_(chocolateq),1,23,
+yokiri,1,23,
+yoiyoi_(kannkann100),1,23,
+yoiro_(porigonn),1,23,
+yoineko,1,23,
+yoigoshi-hen,3,23,
+yobanashi_deceive_(vocaloid),3,23,
+ylceon,1,23,
+yi_(saver5607),1,23,
+yi-sang_(limbus_company),4,23,
+ygdm,1,23,
+yeosi,1,23,
+yeon_bom,1,23,
+yellow_card,0,23,
+ye_xiu,4,23,
+yayo,4,23,
+yaya_(20090410),1,23,
+yawara_a_fashionable_judo_girl,3,23,
+yatta_ne_tae-chan!_(meme),0,23,
+yasu_(shijimi_8),1,23,
+yashiro_gaku,4,23,
+yasaka_pagoda,0,23,
+yansuiyuluo,1,23,yan_sui_yu_la
+yano_(odd_taxi),4,23,
+yang_(wuhan),1,23,
+yamisuke_(silent-black),1,23,
+yamashiro_(street_corner_offensive!)_(azur_lane),4,23,
+yamashiro_(sales_clerk_offensive?!)_(azur_lane),4,23,
+yamamoto_rintaro,1,23,
+yama_batake,1,23,
+yama_(yam0a),1,23,
+yaku_(999ykseo),1,23,
+yaegashi_isa,1,23,
+yachika,1,23,
+xyzal,1,23,
+xxkuroxx,1,23,
+xuehua,1,23,
+xp-kun,4,23,
+xininz,1,23,
+xiaochentan,1,23,
+xiao_you,4,23,
+xiao_yao_xiong_(xy450425885),1,23,
+xiahou_dun,4,23,
+xaruex,1,23,
+x_k_o,1,23,
+x-gun,0,23,
+x-4kazu,1,23,
+wormadam_(sandy),4,23,
+working_slave_(character),4,23,
+worick_arcangelo,4,23,
+woon,1,23,
+woofey,1,23,
+wonder_ride_book,0,23,
+wombat,0,23,
+wochi,1,23,
+wipers,0,23,
+winning_ticket_(dream_deliverer)_(umamusume),4,23,
+winged_menace_wattson,4,23,
+wing_hold,0,23,
+windflit_(arknights),4,23,
+wild_wet_quest,3,23,
+wii_balance_board,0,23,
+whoru,1,23,
+whitemaria,4,23,
+white_gemstone,0,23,
+white-reimu,4,23,
+wendelin_von_benno_baumeister,4,23,
+weisskaeppchen,1,23,
+wearshoes,0,23,
+weapon_in_mouth,0,23,
+we-tan,4,23,
+wazawogi_(wzog),1,23,wazawogi_(megacom)
+water_dragon,0,23,
+watchtower,0,23,
+watase_(wataxx),1,23,
+watarai_sonoka,4,23,
+watarai_alice,4,23,
+watanuki_uchiha,1,23,
+watanabe_keisuke,1,23,
+watage_(lucky_yyg),1,23,
+watagashi_unou,4,23,
+wataame_(tulip),1,23,
+warechu,4,23,pirachu
+warden_(jadol_9),1,23,
+warabi_yuuzou,1,23,
+wan_ban,1,23,
+walnusstinte,1,23,
+walhalla_illusion,1,23,
+wakkigen,1,23,
+wakaouji_rui,4,23,
+wakamiya_asuka,4,23,
+waai!,3,23,
+w_nijuuyon,1,23,
+vulcan_joseph,4,23,
+voidsent,4,23,
+vodka_(meitantei_conan),4,23,
+vivillon_(elegant),4,23,
+virginia_robertson,4,23,
+viper_m1,3,23,
+vintage_clothes,0,23,
+vincennes_(azur_lane),4,23,
+viking-dutchboy,1,23,
+viewran,1,23,
+vietnamese_flag,0,23,
+vesperbell,3,23,
+vector_the_crocodile,4,23,
+vauquelin_(warship_girls_r),4,23,
+vashti_(pokemon),4,23,momo_(pokemon)
+vanship,0,23,
+vander_(arcane),4,23,
+vampire_hunter_d,3,23,
+vamp_time,0,23,
+vamp_(metal_gear),4,23,
+uyuu,1,23,
+uvao-tan,4,23,
+uva_academy_uniform,0,23,
+uub,4,23,
+uso_ashio,1,23,
+ushi_no_koku_mairi,0,23,
+ushi_(ushi_manji),1,23,hanakotoba
+usami_youko,4,23,
+usami_(50-point_caliper),1,23,
+usa_(cubic),1,23,
+ururu,1,23,
+ursula_(disney),4,23,
+urban_style,0,23,
+urara_(himitsu_kamitu),1,23,
+uramoto_kouji,1,23,
+urai_tami,1,23,
+ur_(wulfa),1,23,
+ur-bracka_(gogalking),4,23,
+uokin2,1,23,
+unova_mother_(bw2),4,23,
+united_states_angel_corps,3,23,
+unicorn_boy,0,23,
+umikaze_(kancolle)_(cosplay),0,23,
+umiichi_kurage,1,23,
+umeo_retto,1,23,
+umehara_daigo,4,23,
+umbrella_bow,0,23,
+ultraman_z,4,23,
+ultraman_leo_(series),3,23,
+ultimate_chimera,4,23,
+ui_(fuugetsuin),1,23,
+ueno_meguru,1,23,
+ueda_kazuyuki,1,23,
+ueda_hiroshi,1,23,
+uchuu_keiji_gavan,3,23,
+u_u_ki_u_u,1,23,
+u_to_i,1,23,
+u-ka_(pixiv5407),1,23,
+type_0_observation_seaplane,4,23,
+tyler_(merryweather),4,23,
+two_pokemon,1,23,
+twinrova,4,23,
+twigg_(hilda),4,23,
+tuye_(cultivate_vegetation)_(arknights),4,23,
+tusk0315,1,23,
+tuber_(pokemon),4,23,
+ttl,1,23,
+ttegi_(ddeck_dg),1,23,
+tsuzuki_otome,4,23,
+tsutsuji,1,23,
+tsushima_touko,1,23,
+tsuruta_saya,1,23,
+tsunken,1,23,
+tsunetarou_(yasu),1,23,
+tsuna_maru,1,23,
+tsumiki_(12756023),1,23,
+tsukune_(yagi),4,23,
+tsukiuta,3,23,
+tsukishima_orihime,4,23,
+tsukikase,1,23,
+tsukigime_(fool_ehle),1,23,
+tsuki_usagi,1,23,
+tsukahara_bokuden_(sengoku_collection),4,23,
+tsugomori_(remilia0398),1,23,
+tsf_monogatari,3,23,
+triple_bambi,1,23,
+triforce_earrings,0,23,
+tri-slosher_(splatoon),0,23,
+trey_ollis_loffewa_(kim_eb),4,23,
+tree_bowbow,1,23,
+treasure_map,0,23,
+treasure_island,3,23,
+traptrix_nepenthes,4,23,"kazura_the_mesmerizing_maneater,kazura_the_mesmerizing_maneater"
+transforming,0,23,
+transformers:_robots_in_disguise_(2015),3,23,transformers_adventure
+tp82n1r,1,23,
+tp65pxu4,1,23,
+tozaumo,1,23,
+toyatei,1,23,
+toy_horse,0,23,
+towashibuki,1,23,
+tournament_bracket,0,23,
+touno_kyouko,4,23,
+touko_(wanko_to_lily),4,23,
+toukiden,3,23,
+toudou_erika,4,23,
+touching_forehead,0,23,
+totosu,1,23,
+totooria_helmold_(cosplay),0,23,
+tot_(zhxto),1,23,
+toshiba_emi,4,23,
+torso_only,0,23,
+torry912,1,23,
+toroko,4,23,
+toroakikan,1,23,
+torisoboro,1,23,
+torino_rito,1,23,
+toriko_no_tsubasa_~butaiura_de_midara_ni_odoru_shojo_ningyou~,3,23,
+toriharara,1,23,
+tore-saki,1,23,
+tora_(koihime_musou),4,23,
+tooru_jin,1,23,
+tong_(freedom2000),1,23,
+tonakai_(bunsuka),1,23,
+tomooka_shinpei,1,23,
+tomogy,1,23,1203_taro
+tomatoritori,1,23,
+tomatojiusu,1,23,
+toma_(me666nm),1,23,
+tom-masu,1,23,
+tokyo_underground,3,23,
+tokyo_lover,3,23,
+tohno_ren,4,23,
+tofu_(bean359),1,23,
+todatanoto,1,23,
+toda_youkon,1,23,
+tobitaka_seiya,4,23,
+tobari_susumu,4,23,
+toaster_oven,0,23,
+tktn,1,23,
+tktg,1,23,
+tiphereth_b_(project_moon),4,23,
+tintin,3,23,
+tiko_(idadsa91),1,23,
+tigrex_(armor),4,23,
+tie_pilot,0,23,
+tia_langray,4,23,
+thorin_oakenshield,4,23,
+thighhighs_under_pantyhose,0,23,
+thehumancopier,1,23,
+the_walking_dead,3,23,
+the_rock_(dwayne_johnson),4,23,dwayne_johnson
+the_king_of_fighters_ex2,3,23,king_of_fighters_ex2
+the_joy_of_painting,3,23,
+the_boys,3,23,
+thanatos_(sound_horizon),4,23,
+tf_(tfx2),1,23,
+teuyu,1,23,
+teto_(no_game_no_life),4,23,
+terui_ryuu,4,23,
+terastal,0,23,
+tenti0619,1,23,
+tentacle_underwear,0,23,
+tennen_inari,1,23,
+tenmei_no_conquista,3,23,
+tenjuin_marie,4,23,
+tengu_nimuru,1,23,
+tenebrism,0,23,
+tenchou_(sakai),1,23,
+tenchou_(jahy),4,23,
+tencent_qq,3,23,
+tenbatsu_angel_rabbie,3,23,
+tena,1,23,
+ten-u,1,23,syhio
+teku_(the3dempire),1,23,
+tehnyo,1,23,
+teen_titans_go!,3,23,
+teddy_bear_(mother_2),4,23,
+techsupportdog,1,23,
+teamfight_tactics,3,23,
+tdc24,1,23,
+tawasiupa,1,23,
+tasuku_(user_fkzv3343),1,23,
+task_baron,1,23,
+tashite,1,23,
+taro_(116taro),1,23,
+tapo,1,23,
+tanya_natdhipytadd,4,23,
+tanna,1,23,
+tanimeso,1,23,
+tanabe_ai,4,23,
+tamu_(tamurarucaffe1226),1,23,
+tamazen,1,23,
+tamayomi,3,23,
+tamanotsuyu,1,23,
+tamagoumauma,1,23,
+tamachan_(gam_baru_ger),1,23,
+tama!_(lazyturtle),1,23,
+takumi_(quilt),4,23,
+tako_otoko,4,23,
+takka_(aegis9294),1,23,
+takigawa_magister,4,23,
+takeuchi_shunsuke,4,23,
+takemura_makoto_(hakushikei),1,23,
+takata_akira,1,23,
+takano_yuki_(mangaka),1,23,
+takani0721,1,23,
+takane_(lovehatsune),1,23,
+takamine_kiyomaro,4,23,
+takamachi_miyuki,4,23,
+takahashi_kazuki_(style),0,23,
+taiyou_sentai_sun_vulcan,3,23,
+taikoi7,1,23,
+taguno,1,23,
+taguchi_sp,1,23,
+tagalog_text,0,23,
+taffy_(squeezable),4,23,
+tachiuo_nikominabe,1,23,
+tachihara_sayu,4,23,
+tachibana_yumeko,4,23,
+tachibana_ukyou,4,23,
+tachibana_tou,1,23,
+tachakan,1,23,
+taccomm,1,23,
+tabmur,1,23,wbmura
+tabarchie,1,23,
+tabana,1,23,
+syusyu_043,1,23,
+synchronicity_(vocaloid),3,23,
+sylvia_richter,4,23,
+sword_between_thighs,0,23,
+swain_(legacy),4,23,
+suzutsuki_(suzutsuki_hanetsuki_adept!)_(azur_lane),4,23,
+suzushiro_(szsr),1,23,
+suzunashi_susumu,1,23,
+suzuki_yui,1,23,
+suzuki_address,1,23,
+suzaku_mikado,1,23,
+suupuushan,4,23,
+sutorea,1,23,
+susukawa_(susucawa),1,23,
+susie_(lord_of_the_mysteries),4,23,
+susan_strong,4,23,
+surume_(surume_8738),1,23,
+surprise_deepthroat,0,23,
+superman_(cosplay),0,23,
+superappleman,1,23,
+suohachi,1,23,
+sunway,1,23,
+sunflower_(tomodog422),1,23,
+sunakawa_mizuchi,1,23,
+suna_ko1,1,23,
+sumxsum03,1,23,
+sumomo_(kumatanchi),4,23,
+sumith,1,23,
+sumisi,1,23,
+sumi_suya,4,23,
+sumi_(tkzk525),1,23,
+sumbird,1,23,
+sukoburu_maeda,1,23,
+suji,1,23,
+sui_(blackcatsui_yoi),1,23,
+sugita,1,23,
+sugisaki_yukiru,1,23,
+sugatem!_-sugarfull_tempering-,3,23,
+suga_yoshihide,4,23,
+sudare,0,23,
+suchie-pai,4,23,
+sturmjager,1,23,daybreaks0
+stuffed,0,23,
+student_council_president_(suzumiya_haruhi),4,23,
+stray_little_devil,3,23,
+stpen,1,23,
+stonjourner,4,23,
+stigmata,0,23,
+stella_(stella),1,23,
+steelycross,1,23,
+steel_eel_(splatoon),4,23,
+steel_chronicle,3,23,
+starblame,1,23,
+star_trek_the_original_series,3,23,
+star_guardian_taliyah,4,23,
+star_guardian_ezreal,4,23,
+star_color_pendant,0,23,
+stan_(honkai_impact),4,23,
+staccato_2011,0,23,
+st_basil's_cathedral,0,23,
+st._cygnus,1,23,nutthapon_petchthai
+squishy_(pokemon),4,23,puni_(pokemon)
+splish,1,23,
+spetsnaz,0,23,
+sperm_whale,0,23,
+soushisouai_note,3,23,
+soukoku_no_regalia,3,23,
+souken_no_cross_age,3,23,
+sougetsu_saya,4,23,
+soudayu,1,23,
+sotie,1,23,
+sorakuma_(oycue41),1,23,
+sora_(pikasora),1,23,
+sonoko_neko,1,23,
+sonic_rush,3,23,
+sonasan,1,23,
+soma_somari,1,23,
+soldering,0,23,
+snow20200,1,23,
+sniping,0,23,
+snake_youkai_(touhou),4,23,
+snake_man,4,23,snakeman
+snake_lady,4,23,
+smokey_brown,4,23,
+smile_pact,0,23,
+slj,1,23,
+slippy_toad,4,23,
+slime_(minecraft),4,23,
+skk,1,23,
+skan_srisuwan,1,23,
+sizeaton,1,23,
+sivil,4,23,
+siva,1,23,
+sister_mermaid,3,23,
+siori,1,23,
+sion,4,23,
+sinoda,1,23,
+sin_eater_(ff14),4,23,
+silver_one-piece_swimsuit,0,23,silver_swimsuit
+silou_b,1,23,
+silicobra,4,23,
+sig_curtis,4,23,
+siegfried_(super_cool_biz)_(fate),4,23,
+siamese_fighting_fish,0,23,
+si-ma,1,23,
+shyh_yue,1,23,yue_jiu
+shure_55sh,0,23,
+shun_(artist),1,23,
+shukufuku_no_kane_no_oto_wa_sakura-iro_no_kaze_to_tomo_ni,3,23,
+shuffle!_essence+,3,23,
+show_chiku-by,1,23,
+shoutmon,4,23,
+shoukoku_no_altair,3,23,
+shouko_azuma,4,23,
+shou_zama,4,23,
+shoryuki,4,23,
+shokujin_hatefukuchuu,1,23,
+shoka,1,23,
+shizuko_(chipccchip),1,23,
+shirojiro_shiro,1,23,
+shirogane_no_soleil,3,23,
+shiro_gisu,1,23,
+shippaidayo,1,23,
+ship_interior,0,23,
+shiori_lee_jeng,1,23,
+shiono_etorouji,1,23,
+shinyafuru,1,23,
+shinonome_halltro,1,23,shinonome_harutoro
+shino_(ten-m),1,23,
+shingetsu_ernesta_fukami,4,23,
+shinano_(kancolle),4,23,shinano_(kantai_collection)
+shina_(sbk951121),1,23,
+shin_(world_3000),1,23,
+shin'ichi_(yokosuka220),1,23,
+shimotsuki_mika,4,23,
+shimogamo_yaichirou,4,23,
+shimo_(shimo_00),1,23,
+shimesaba_(masuraoburi),1,23,
+shimejirou_(000kk),1,23,
+shimazaki_setsuna,4,23,
+shikkaku_ishi,3,23,
+shiisuu_rattamu,1,23,
+shiina_maru,1,23,
+shiina_chieri,4,23,
+shiijisu,1,23,
+shigure_(hot_spring)_(blue_archive),4,23,
+shignonpencil,1,23,
+shigeru_(rand),4,23,
+shige_(st-k),1,23,shige_(pixiv)
+shichi_(tarakochan-medo),1,23,
+shicewlysml,1,23,
+shi_xu_jiu_zhou,1,23,
+sherry_0014,1,23,
+shelling_guardian_(elsword),4,23,
+sheena_(gensou_suikoden),4,23,
+shaved_body,0,23,
+shaun_hastings,4,23,
+sharon_les_halles,4,23,
+sharon_apple,4,23,
+shark_bag,0,23,shark_backpack
+shared_pocket,0,23,
+shaobao_(sdhx3728),1,23,
+shamrock_(polynian),4,23,
+shako_(shaco_flat),1,23,flatamany
+sg550_(upotte!!),4,23,"shigu_(upotte!!),shigu_(upotte),sig_(upotte!!),sig_(upotte)"
+sex_through_torn_clothes,0,23,
+setsuna_(kaiyari),4,23,setsuna_(kaifuku_jutsushi_no_yarinaoshi)
+seto_ferb,4,23,
+setia_pradipta,1,23,
+seshima_rui,4,23,
+serori,1,23,
+serizawa_kasumi,4,23,
+sephira_su,4,23,
+seozo,1,23,
+sento-kun,4,23,
+sentinel_(x-men),4,23,
+sententia_(senhariko),1,23,
+sentaro207,1,23,kawashima_taro
+senpai-chan_(beni_shake),4,23,
+seno_lepo,3,23,
+seno_(nanrandesu),1,23,
+senjugiku_tabane,4,23,
+senjou_nanase,4,23,
+sengoku_koihime,3,23,
+sengoku_kakeru,4,23,
+sendai_(azur_lane),4,23,
+senatorwong,3,23,
+sen_no_maken_to_tate_no_otome,3,23,
diff --git a/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/tags/demo-chants.json b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/tags/demo-chants.json
new file mode 100644
index 0000000000000000000000000000000000000000..e2535e14e15e668c84961648632e6306eb67cd0f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/tags/demo-chants.json
@@ -0,0 +1,32 @@
+[
+ {
+ "name": "Basic-NegativePrompt",
+ "terms": "Basic,Negative,Low,Quality",
+ "content": "(worst quality, low quality, normal quality)",
+ "color": 3
+ },
+ {
+ "name": "Basic-HighQuality",
+ "terms": "Basic,Best,High,Quality",
+ "content": "(masterpiece, best quality, high quality, highres, ultra-detailed)",
+ "color": 1
+ },
+ {
+ "name": "Basic-Start",
+ "terms": "Basic, Start, Simple, Demo",
+ "content": "(masterpiece, best quality, high quality, highres), 1girl, extremely beautiful detailed face, short curly hair, light smile, flower dress, outdoors, leaf, tree, best shadow",
+ "color": 5
+ },
+ {
+ "name": "Fancy-FireMagic",
+ "terms": "Fire, Magic, Fancy",
+ "content": "(extremely detailed CG unity 8k wallpaper), (masterpiece), (best quality), (ultra-detailed), (best illustration),(best shadow), (an extremely delicate and beautiful), dynamic angle, floating, fine detail, (bloom), (shine), glinting stars, classic, (painting), (sketch),\n\na girl, solo, bare shoulders, flat_chest, diamond and glaring eyes, beautiful detailed cold face, very long blue and sliver hair, floating black feathers, wavy hair, extremely delicate and beautiful girls, beautiful detailed eyes, glowing eyes,\n\npalace, the best building, ((Fire butterflies, Flying sparks, Flames))",
+ "color": 5
+ },
+ {
+ "name": "Fancy-WaterMagic",
+ "terms": "Water, Magic, Fancy",
+ "content": "(extremely detailed CG unity 8k wallpaper), (masterpiece), (best quality), (ultra-detailed), (best illustration),(best shadow), (an extremely delicate and beautiful), classic, dynamic angle, floating, fine detail, Depth of field, classic, (painting), (sketch), (bloom), (shine), glinting stars,\n\na girl, solo, bare shoulders, flat chest, diamond and glaring eyes, beautiful detailed cold face, very long blue and sliver hair, floating black feathers, wavy hair, extremely delicate and beautiful girls, beautiful detailed eyes, glowing eyes,\n\nriver, (forest),palace, (fairyland,feather,flowers, nature),(sunlight),Hazy fog, mist",
+ "color": 5
+ }
+]
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/tags/e621.csv b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/tags/e621.csv
new file mode 100644
index 0000000000000000000000000000000000000000..5c24232a08825c039965c883fe3acba8f64c4c12
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/tags/e621.csv
@@ -0,0 +1,100000 @@
+mammal,5,2411289,"mammal_(species),mammale,mammalian,mammals,panda_panda,ungulate"
+anthro,0,2238650,"anhtro,anthrofur,anthromorph,anthromorphic,anthropomorph,anthropomorphic,anthros,antrho,antro"
+hi_res,7,1948793,"hd,hi-res,hi_def,hi_resolution,high-res,high_definition,high_res,high_resolution,highres,hires"
+female,0,1812633,"1_girl,1girl,2_girl,2_girls,2girl,2girls,3_girl,3_girls,3girl,3girls,4_girl,4_girls,4girl,4girls,5_girls,7girls,all_female,babe,babes,bad_girl,bitch,doe,f,f/solo,feamle,femael,female/solo,female_feral,female_on_monster,female_only,female_solo,femalefur,females,fembeast,feral_female,four_girl,four_girls,fsolo,gen:female,girl,girls,many_girls,multiple_females,multiple_girls,one_girl,shewolf,solo_female,three_girl,three_girls,two_girl,two_girls,woman,women"
+male,0,1713089,"1_boy,1_guys,1boy,1guy,1male,2_boys,2_guys,2boys,2guys,3_boys,3_guys,3boys,3guys,4_boys,4_guys,4boys,4guys,5boys,5guys,big_boy,bishonen,boi,boy,boys,feral_male,four_boys,four_guys,gen:male,guy,guys,m,m/solo,male/solo,male_feral,male_only,male_solo,malefur,males,males_only,man,men,msolo,multiple_boys,multiple_guys,multiple_males,one_boy,one_guy,sole_male,solo/male,solo_male,three_boys,three_guys,two_boys,two_guys"
+solo,0,1621201,"alone,single"
+genitals,0,1580343,"copy-paste_genitalia,copy_paste_genitalia,exposed_genital,exposed_genitalia,exposed_genitals,external_sex_organ,external_sex_organs,female_genital,female_genitalia,female_genitals,genital,genitalia,genitals.,gonads,human/animal_genitalia,male_genetalia,male_genital,male_genitalia,male_genitals,private_part,private_parts,privates,reasonably_sized_genitals"
+clothing,0,1390152,"(clothing),clothes,cloths,girly_clothing,traditional_clothing"
+breasts,0,1217515,"2_breasts,average_breasts,boob,boobie,boobies,boobs,breast,breasts_outside,breats,brests,massive_breasts,nockers,oppai,pechos,tetas,tiddies,tits,titties,torpedo_tits"
+hair,0,1208696,"anime_hair,colorful_hair,girly_hair,hair_style,hairstyle,neon_hair"
+fur,0,1144078,"furred,uncolored_fur"
+duo,0,1098593,"pair,two_characters"
+penis,0,1095981,"alien_cock,alien_dick,alien_dong,alien_penis,beautiful_penis,cock,cocks,colored_penis,custom_penis,cute_penis,dick,dicks,dong,dragon_cock,dragon_penis,exposed_penis,massive_cock,massive_penis,member,neon_penis,peen,penes,penii,penises,pennis,phallus,shaft"
+bodily_fluids,0,980825,"bio_fluid,bio_fluids,biofluid,biofluids,bodily_fluid,bodily_waste,body_fluid,body_fluids,body_waste,excreta,excretion,excretory_product,excretory_waste,human_waste,human_waste_matter,waste_matter"
+canid,5,919005,"anthro_canid,candid_(species),canidae,canide,feral_canid"
+nude,0,908790,"naked,no_clothes,nudes,nudity,sfw_nudity,unclothed"
+canine,5,885927,"anthro_canine,canines,cannine,cnaine,feral_canine,k9,mongrel"
+simple_background,0,881824,"basic_background,basic_bg,blank_background,blank_bg,chromatic_background,chromatic_bg,empty_background,empty_bg,flat_background,flat_bg,generic_background,generic_bg,minimal_background,minimal_bg,minimalist_background,minimalist_bg,monochromatic_background,monochromatic_bg,monochrome_background,monochrome_bg,plain_background,plain_bg,simple_backround,simple_bg,simplistic_background,simplistic_bg,solid_background,solid_bg,stoopidly_simple_background,stoopidly_simple_bg,undetailed_background,undetailed_bg,very_simple_background,very_simple_bg"
+nipples,0,866203,"male_nipples,niples,nippels,nippes,nipple,nippls,supernumerary_nipples"
+digital_media_(artwork),7,827929,"artwork_(digital),digital,digital_art,digital_artwork,digital_artworks,digital_media,digital_media(art),digital_media(artwork),digital_media_(art),digital_media_artwork,digitalart,digitalartwork"
+video_games,0,821151,"game_freak,gamefreak,video_game,videogame,videogames"
+clothed,0,775297,"cltohed,dressed,half-dressed,half_dressed"
+text,0,739247,"colored_text,coloured_text,moonspeak,words"
+balls,0,729707,"ball_sack,ballsack,scrotum,testes,testicals,testicle,testicles"
+sex,0,728006,"coital,coitus,consensual_sex,fuck,fucked,fucking,gay_sex,inter_course,intercourse,lovemaking,mating,sexual_inter_course,sexual_intercourse,straight_sex,unprotected,unprotected_sex,yiff,yiffing"
+genital_fluids,0,719425,"genital_fluid,genitalia_fluid,genitalia_fluids"
+smile,0,701611,":),big_smile,c:,cute_smile,smiling"
+blush,0,689866,"blushed,blushes,blushing"
+erection,0,677378,"boner,erect,erect_cock,erect_penis,erected,erected_penis,erections,errected,errected_penis,errection,fully_erect,hard-on,hard_on,hard_penis,hardon"
+butt,0,668539,"arse,ass,backside,behind,bootie,booty,bootylicious,bottom,bum,bunny_buns,bunny_butt,but,butt_cheek,butt_cheeks,butt_crack,buttcheek,buttcheeks,buttcrack,buttock,buttocks,butts,culo,dat_ass,dat_plot,derriere,derrière,gluteus_maximus,heinie,heiny,hindquarters,hunkers,keester,keister,posterior,rear,rear_end,robutt,rump,tail_end,toosh,tooshie,tooshy,tushie,tushy"
+open_mouth,0,656775,"maw,mouth_open,open-mouth,open_maw,opened_mouth"
+pussy,0,654875,"cunt,exposed_pussy,labia,labia_majora,labia_minora,pussy_lips,twat,vag,vagina,vulva"
+looking_at_viewer,0,631220,"lav,looking-at-viewer,looking_at_camera,looking_at_the_viewer,looking_at_viewers,looking_at_you,staring_at_viewer"
+absurd_res,7,608350,"absurd_resolution,absurd_rez,absurdres,aburd_res,bsurd_res,holy_shit_res,insane_res"
+penetration,0,591703,"girly_penetrating,insertion,male_penetration,pemetrating,pemetration,penatration,penetracion,penetraiton,penetrasion,penetrated,penetratin,penetrating,penitration"
+tongue,0,587696,"tonge,tongues,tounge,toungue"
+big_breasts,0,547517,"big_boobies,big_boobs,big_breast,big_breats,big_tits,bigboobs,bigbreasts,bigtits,busty,large_boobs,large_breast,large_breasts"
+english_text,7,529365,"english-text,english_dialog,english_dialogue"
+cum,0,499786,"cum_filled,jizz,semen,sperm,spooge,spunk,sticky_cum,thick_cum,white_cum"
+nintendo,3,483007,
+felid,5,478756,"anthro_felid,feline_(species),felines,feral_felid"
+canis,5,470342,"anthro_canis,feral_canis"
+horn,0,466470,"horned,horns,neon_horn,neon_horns"
+male/female,0,460885,"f/m,f_m,female/male,female/male/female,female_on_male,femalexmale,hetero,heterosexual,m/f,m/f/f,m/f/m,m/m/f,m_f,male/female/female,male/female/male,male_female,male_on_female,malexfemale,mf,straight,straigth"
+feral,0,455924,"ferals,ferla,non-anthro,non-anthropomorphic,non-morphic,non_anthro,non_anthropomorphic,non_morphic,nonanthro,nonanthropomorphic,nonmorphic,sapient_feral,sentient_feral"
+white_body,0,430497,
+penile,0,399182,"penile_intercourse,penile_stimulation"
+tongue_out,0,389650,":p,lolling,sticking_out_tongue,sticking_tongue_out,tongnue_out,tongue-out,tongue_sticking_out,tounge_out,toungue_out"
+male_penetrating,0,385951,
+anus,0,374839,"animal_anus,anuses,ass_hole,asshole,butt_hole,butthole,canine_anus,drool_worthy_anus,exposed_anus,rabbit_hole,tail_hole,tailhole"
+blue_eyes,0,367324,"aqua_eyes,blue_eye,blue_iris,blue_irises,blueeyes,cyan_eyes,light_blue_eyes,turquoise_eyes"
+feet,0,366290,"feets,foot"
+pokemon,3,354726,"alola,anthro_pokemon,anthro_pokémon,big_pokemon,big_pokémon,bug_pokemon,bug_pokémon,bug_type_pokemon,bug_type_pokémon,bug_typed_pokemon,bug_typed_pokémon,dark_pokemon,dark_pokémon,dark_type_pokemon,dark_type_pokémon,dark_typed_pokemon,dark_typed_pokémon,dragon_pokemon,dragon_pokémon,dragon_type_pokemon,dragon_type_pokémon,dragon_typed_pokemon,dragon_typed_pokémon,electric_pokemon,electric_pokémon,electric_type_pokemon,electric_type_pokémon,electric_typed_pokemon,electric_typed_pokémon,fairy_pokemon,fairy_pokémon,fairy_type_pokemon,fairy_type_pokémon,fairy_typed_pokemon,fairy_typed_pokémon,fat_pokemon,fat_pokémon,feral_pokemon,feral_pokémon,fighting_pokemon,fighting_pokémon,fighting_type_pokemon,fighting_type_pokémon,fighting_typed_pokemon,fighting_typed_pokémon,fire_pokemon,fire_pokémon,fire_type,fire_type_pokemon,fire_type_pokémon,fire_typed_pokemon,fire_typed_pokémon,flying_pokemon,flying_pokémon,flying_type_pokemon,flying_type_pokémon,flying_typed_pokemon,flying_typed_pokémon,galar,ghost_pokemon,ghost_pokémon,ghost_type_pokemon,ghost_type_pokémon,ghost_typed_pokemon,ghost_typed_pokémon,giant_pokemon,giant_pokémon,grass_pokemon,grass_pokémon,grass_type_pokemon,grass_type_pokémon,grass_typed_pokemon,grass_typed_pokémon,ground_pokemon,ground_pokémon,ground_type_pokemon,ground_type_pokémon,ground_typed_pokemon,ground_typed_pokémon,hoenn,ice_pokemon,ice_pokémon,ice_type_pokemon,ice_type_pokémon,ice_typed_pokemon,ice_typed_pokémon,johto,kalos,kanto,kantonian,normal_pokemon,normal_pokémon,normal_type_pokemon,normal_type_pokémon,normal_typed_pokemon,normal_typed_pokémon,pkmn,pkmnart,pocket_monster,pocket_monsters,poison_pokemon,poison_pokémon,poison_type_pokemon,poison_type_pokémon,poison_typed_pokemon,poison_typed_pokémon,pokemon_(game),pokemon_character,pokemon_company,pokemon_evolutions,pokemon_number,pokemon_red_green_blue_&_yellow,pokemon_s/s,pokemon_scarlet,pokemon_scarlet_and_violet,pokemon_shield,pokemon_sun_and_moon,pokemon_sv,pokemon_sword,pokemon_sword_and_shield,pokemon_swsh,pokemon_violet,pokemonshield,pokemonsword,pokeporn,pokémon,pokémon_(game),pokémon_anime,pokémon_company,pokémon_evolutions,pokémon_number,pokémon_red_green_blue_&_yellow,pokémon_s/s,pokémon_scarlet,pokémon_scarlet_and_violet,pokémon_shield,pokémon_sv,pokémon_sword,pokémon_sword_and_shield,pokémon_swsh,pokémon_violet,pokémonshield,pokémonsword,porkyman,psychic_pokemon,psychic_pokémon,psychic_type_pokemon,psychic_type_pokémon,psychic_typed_pokemon,psychic_typed_pokémon,rock_pokemon,rock_pokémon,rock_type_pokemon,rock_type_pokémon,rock_typed_pokemon,rock_typed_pokémon,sinnoh,starter_pokemon,starter_pokémon,steel_pokemon,steel_pokémon,steel_type_pokemon,steel_type_pokémon,steel_typed_pokemon,steel_typed_pokémon,too_many_pokemon,too_many_pokemons,too_many_pokémon,too_many_pokémons,unova,water_pokemon,water_pokémon,water_type_pokemon,water_type_pokémon,water_typed_pokemon,water_typed_pokémon"
+pokemon_(species),5,352266,"baby_pokemon,baby_pokémon,pokemon(species),pokemon_(creature),pokemon_(creatures),pokemon_baby,pokemon_creatures,pokemon_species,pokémon(species),pokémon_(creature),pokémon_(creatures),pokémon_(species),pokémon_baby,pokémon_creatures,pokémon_species,strange_shiny_pokemon"
+claws,0,349769,claw
+teeth,0,343974,"tooth,white_teeth"
+equid,5,343878,equidae
+white_fur,0,342418,
+male/male,0,339512,"fag,gay,homo,homosexual,m/m,m/m/m,male/male/male,male_male,male_on_male,malemale,malesbian,malexmale,mm,yaoi"
+animal_genitalia,0,331025,"animal_anatomy,animal_genetalia,animal_genital,animal_genitalita,animal_genitals,feral_genital,feral_genitalia,feral_genitals"
+biped,0,329874,"bipedal,bipede"
+equine,5,327404,equines
+topwear,0,325196,"top_wear,topware,topwea"
+humanoid_genitalia,0,322196,"human_genital,human_genitalia,human_genitals,human_private_parts,human_sexual_organs,humanoid_genital,humanoid_genitals,humanoid_private_parts,humanoid_sexual_organs"
+group,0,320224,"1girl3guys,quartet,too_many_characters"
+scalie,5,317250,"anthro_scalie,reptilian,reptillian,scaley,scalies,scaly"
+humanoid,5,315883,"humanoid_(species),humanoid_being,humanoid_mimiff,humanoid_nation,humanoids,huminoid,hummanoid"
+fingers,0,314174,finger
+standing,0,310752,"stadning,stand,standind,standing_up,stanidng"
+dialogue,0,308289,"conversation,dialgoue,dialog,dialouge,diolouge,monologue,speaking,speech,talking"
+humanoid_penis,0,307411,"humaanoid_penis,human_cock,human_dick,human_penis,human_penis_on_anthro,human_penis_on_feral,human_penis_on_humanoid,human_penis_on_non-human,human_penis_on_non-humanoid,human_penis_on_non_human,human_penis_on_non_humanoid,human_penis_on_nonhuman,human_penis_on_nonhumanoid,human_penis_on_taur,humaniod_penis,humanoid_cock,humanoid_dick,humanoid_penis_on_anthro,humanoid_penis_on_feral,humanoid_penis_on_humanoid,humanoid_penis_on_non-human,humanoid_penis_on_non-humanoid,humanoid_penis_on_non_human,humanoid_penis_on_non_humanoid,humanoid_penis_on_nonhuman,humanoid_penis_on_nonhumanoid,humanoid_penis_on_taur,huminoid_penis,non-humanoid_humanoid_penis,non_humanoid_humanoid_penis,nonhumanoid_humanoid_penis"
+monochrome,7,304798,"monochromatic,monotone,no_color,no_colour,non-colored,non_coloured,uncolored,uncoloured"
+wings,0,304370,"wing,winged"
+navel,0,302000,"belly-button,belly_button,bellybutton,exposed_navel,naval,navels"
+anal,0,296162,"anal_intercourse,anal_play,anal_stimulation,ass_sex,butt_sex,buttsecks,buttsex,rectum"
+vaginal,0,292655,"vaginal_intercourse,vaginal_stimulation"
+muscular,0,292035,"beefcake,beefy,bodybuilder,buff,muscle,muscled,muscler,muscles,muscular_body,musuclar,strong,swole"
+feline,5,286068,"anthro_feline,catgirl"
+hasbro,3,285671,"hasbro_(copyright),hasbro_bradley,hasbro_entertainment,hasbro_entertainment_and_licensing,hasbro_gaming,hasbro_inc,hasbro_inc.,hasbro_incorporated,hasbro_industries,hasbro_industry"
+cum_inside,0,279732,"cream_pie,creampie,cum_while_penetrating,cumming_inside,feral_creampied,internal_cumshot"
+my_little_pony,3,277897,"(mlp),missing_cutie_mark,mlp,mylittlepony"
+lying,0,276644,"lay,laying,laying_down,lying_down"
+human,5,270444,"black_human,brown_human,clavat,human_child,human_female,human_male,humans,hume,hyur,male_human,nord,white_human"
+toes,0,269091,toe
+fox,5,266391,"albino_fox,alcofox,angel_fox,anthro_fox,black_fox,blue_fox,broken_fox,brown_fox,femboy_fox,fennec_kitsune,feral_fox,four-tailed_kitsune,four_tailed_kitsune,fox's,fox/vixen,fox_(species),foxes,foxkit,kistune,kitsune,kitsune_(fox),sand_fox,spieces:fox,vixen,vulpes,vulpine,vulpines,winged_fox,yellow_fox,狐"
+tuft,0,262305,
+white_background,0,261409,"white_backround,white_bg"
+thick_thighs,0,260836,"big_thighs,large_thighs,thicc,thicc_thighs,thick-thighs,thick_legs,thick_thigh,thick_tighs,thunder_thighs,wide_thighs"
+1:1,7,254842,
+eyes_closed,0,254621,"both_eyes_closed,close_eyes,closed_eye,closed_eyes,eyes-closed,eyes_shut"
+brown_body,0,254562,
+piercing,0,253297,"body_piercings,pearcing,peircing,peircings,pierced,piercings"
+spreading,0,252556,spread
+areola,0,252321,"aerola,areolae,areolas"
+underwear,0,251947,"undergarments,underpants,underwears,undies"
+dragon,5,251669,"anthro_dragon,derg,dragon_(species),dragoness,dragonoid,dragons,drake_(species),feral_dragon,fire_dragon,gray_dragon"
+bottomwear,0,249173,bottom_wear
+anal_penetration,0,243597,"anal_insertion,anal_peneration,anal_sex,ass_fuck,assfuck,butt_fuck,buttfuck,penetrating_ass"
+domestic_dog,5,240129,"anthro_dog,brown_dog,canis_lupus_familiaris,dog,doggie,doggies,doggo,dogs,feral_dog,hound,mutt,northern_dog,pup,pupper,sato_(dog),sato_dog,small_dog"
+green_eyes,0,233396,"emerald_eyes,green-eyes,green_eye,green_eys,green_iris,green_irises,light_green_eyes"
+animal_penis,0,232782,feral_penis
+<3,0,230256,"heart,hearts,love_heart,spoken_heart,♥"
+interspecies,0,229063,"inter-species,inter_species,interspecies_sex"
+female_penetrated,0,228985,
+blue_body,0,224010,"cyan_body,light_blue_body"
+friendship_is_magic,3,221631,"fim,generation_4,mane_six,mlp:fim,mlp_fim,mlpfim,my_little_pony:_friendship_is_magic,my_little_pony_(friendship_is_magic),my_little_pony_friendship_is_magic"
+comic,7,220627,"comic_page,comic_strip,comics"
+vaginal_penetration,0,219773,"penetrating_pussy,pussy_penetration,vaginal_insertion,vaginal_pen,vaginal_sex"
+black_body,0,219052,
+wolf,5,218575,"angel_wolf,angelic_wolf,anthro_wolf,black_wolf,gray_wolf,grey_wolf,ice_wolf_(species),lupine,merky_taiga_wolf,north_american_grey_wolf,saber_wolf,sabertooth_wolf,timber_wolf,timberwolf,white_wolf,whitewolf_(species),winged_wolf,wolfess,wolfess_(species),wolve,wolves"
+size_difference,0,217514,"big_male_small_fem,big_male_small_female,height_difference,size-difference,size_different,small_fem_big_male,small_female_big_male"
+sitting,0,217325,"seated,sit,siting,sitting_down"
+big_penis,0,215536,"big_cock,big_cocks,big_dick,hung,large_cock,large_dick,large_penis,oversized_penis"
+brown_fur,0,214147,"brown-fur,brownfur"
+outside,0,213661,"outdoor,outdoors"
+ambiguous_gender,0,213317,"ambigious_gender,ambiguous,ambiguous_sex,androgynous,androgyny,gender_unknown,unknown_gender"
+plant,0,213263,"foliage,plants,vegetation"
+furniture,0,212834,
+spread_legs,0,212440,"leg_spread,legs_apart,legs_open,legs_spread,legsapart,open_legs,spread_leg,spreading_legs,spreadlegs"
+long_hair,0,211811,very_long_hair
+oral,0,211553,"oral_sex,tongue_fuck"
+huge_breasts,0,208670,"enormous_breasts,giant_breasts,gigantic_breasts,huge_boobs,huge_breast,huge_tits"
+big_butt,0,206489,"big_ass,big_booty,enormous_ass,enormous_butt,fat_butt,humongous_ass,humongous_butt,large_ass,large_booty,large_butt,massive_ass,massive_butt,oversized_butt,plump_butt,plump_buttocks,thicc_ass,thick_ass,thick_butt,wide_butt"
+male_penetrating_female,0,205829,"m/p/fm,♂_penetrating_♀"
+shirt,0,202608,shirts
+legwear,0,202485,leg_wear
+looking_back,0,202124,"looking_behind,looking_over_shoulder,over_shoulder,over_the_shoulder"
+eyewear,0,200984,eye_wear
+muscular_male,0,200383,"muscular_males,musuclar_male,musuclar_man"
+markings,0,199710,"body_marking,body_markings,body_marks,mark_(marking),mark_(markings),marking,marks,marks_(marking),marks_(markings),neon_marking,neon_markings,skin_marking,skin_markings"
+sweat,0,195583,"sweating,sweaty"
+multicolored_body,0,195172,"four_color_body,multi-colored_body,multicoloured_body,three-tone_body,three-toned_body,three_color_body,three_tone_body,three_toned_body"
+penile_penetration,0,192286,"penile_insertion,penile_pen,penile_sex,penis_insertion,penis_pen,penis_penetrating,penis_penetration,penis_sex"
+felis,5,189030,"anthro_felis,feral_felis"
+wide_hips,0,186729,"big_hips,curvy_hips,hips,large_hips,thick_hips,wide_hip"
+young,0,186412,"fillies,fillycon,foalcon,minor,paedophilia,pedophilia,underage,underaged,young_human"
+lagomorph,5,185966,"anthro_lagomorph,lagamorph,lagomoprh,lagomorpha,lapine,leporine,logomorph,unirabbit"
+domestic_cat,5,185629,"anthro_domestic_cat,black_cat,cat,cats,domestic_long-haired_cat,domesticated_cat,feral_domestic_cat,house_cat,housecat,kitty,neko"
+5_fingers,0,184626,"5_figner,5_fignered,5_figners,5_finger,5_fingered,5f,five_figner,five_fignered,five_figners,five_finger,five_fingered,five_fingers"
+grey_body,0,184048,gray_body
+narrowed_eyes,0,181212,"eye_narrow,eye_narrowed,eye_narrowing,eye_partially_closed,eye_partly_closed,eye_slightly_closed,eyes_narrow,eyes_narrowed,eyes_narrowing,eyes_partially_closed,eyes_partly_closed,eyes_slightly_closed,narrow_eye,narrow_eyes,narrowed_eye,narrowing_eye,narrowing_eyes,partially_closed_eye,partially_closed_eyes,partly_closed_eye,partly_closed_eyes,slightly_closed_eye,slightly_closed_eyes"
+black_nose,0,177610,"black-nose,blacknose,blakc_nose"
+paws,0,173952,"fore_paw,fore_paws,forepaw,forepaws,paw"
+red_eyes,0,171589,"red_eye,red_iris,red_irises"
+collar,0,169647,"cat-collar,cat_collar,catcollar,collared,collars,dog-collar,dog_collar,dogcollar,pet-collar,pet_collar,petcollar,slave_collar"
+footwear,0,167421,foot_wear
+reptile,5,166217,"repitle,reptiles"
+presenting,0,165643,"displaying,exposing_self,show_off,showing_off"
+intersex,0,165603,"bustyboy,feral_intersex,futa,futa_solo,futanari,intersexed,intersexual"
+feathers,0,165340,"feather,feathered"
+male_penetrated,0,164326,
+2020,7,163537,
+leporid,5,163268,"anthro_leporid,leporidae"
+headgear,0,162711,
+on_back,0,162701,"laying_back,laying_on_back,lying_back,lying_on_back,on-back"
+2021,7,162257,
+horse,5,161376,"battlehorse,brown_horse,brumby,dun_horse,horse_(species),horses,kiger_mustang,mare,mustang_(horse),palomino_horse,racehorse,stallion,stallions,war_horse,warriorhorse,work_horse"
+black_fur,0,160182,blakc_fur
+solo_focus,0,160171,
+rabbit,5,159532,"anthro_rabbit,bunny,bunny_rabbit,lapin,rabbit_(species),rabbits"
+belly,0,159187,"crotch_belly,crotchbelly,gut,round_belly,tummy"
+ear_piercing,0,157446,"ear-piercing,ear_peircing,ear_pierced,ear_piercings,earpiercing,pierced_ear,pierced_ears"
+2019,7,154221,
+signature,7,154039,"artist_signature,siganture"
+eyelashes,0,153641,"eye_lashes,eyelash"
+fangs,0,152453,fang
+pawpads,0,150340,"foot-pad,foot-pads,foot_pad,foot_pads,footpad,footpads,paw-pad,paw-pads,paw_pad,paw_pads,pawpad,pawspad,pawspads,toe-bean,toe-beans,toe-been,toe-beens,toe_bean,toe_beans,toe_been,toe_beens,toebean,toebeans,toebeen,toebeens"
+saliva,0,149979,"salvia,spit"
+blonde_hair,0,149859,"blond,blond_hair,blonde,blonde-hair,blonde_short_hair,blondehair,gold_hair,golden_hair,long_blond_hair,long_blonde_hair,long_yellow_hair,short_blond_hair,short_blonde_hair,short_yellow_hair,yellow_hair"
+anthro_on_anthro,0,148914,"a/o/a,an/an,anthro/anthro"
+male_penetrating_male,0,148025,"m/p/m,♂_penetrating_♂"
+brown_hair,0,147276,"brunette,long_brown_hair,short_brown_hair"
+overweight,0,147176,"bbw,fat,fatty,plump,pudgy,superchub"
+pantherine,5,146455,"big_cat,black_panther,leonine,panter,panther,panthress,snow_panther,white_panther"
+detailed_background,0,146222,"complex_background,complex_bg,complicated_background,complicated_bg,detailed_bg,detaled_background,detaled_bg,detalied_background,detalied_bg,full_background,full_bg,ornate_background,ornate_bg,realistic_background,realistic_bg"
+multicolored_fur,0,145158,"multi-colored_fur,multi_colored_fur,multicolor_fur,multicolour_fur,multicoloured_fur,mutlicolored_fur,three-tone_fur,three-toned_fur,three_tone_fur,three_toned_fur"
+yellow_body,0,145033,
+jewelry,0,144487,"jewelery,jewellery,jewerly,jewlery,jewlry"
+black_hair,0,144244,"black_hairs,blakc_hair,long_black_hair,short_black_hair"
+orgasm,0,143746,"climax,female_orgasm,powerful_orgasm"
+muscular_anthro,0,143512,
+knot,0,142535,"knott,knotted_cock,knotted_penis"
+glasses,0,141006,"eye_glasses,eyeglasses,megane,spectacles"
+abs,0,140040,"6_pack,6pack,8_pack,8pack,abdominals,eight_pack,eight_pack_abs,eightpack,six_pack,six_pack_abs,sixpack"
+headwear,0,139969,head_wear
+grey_fur,0,139602,"gray_fur,silver_fur"
+ejaculation,0,139101,"cumming,ejaculate,ejaculating"
+pussy_juice,0,138559,"bitch_juice,female_cum,femcum,femjuice,girl_cum,grool,pussy_juices,pussyjuice,vaginal_fluid,vaginal_fluids,vaginal_juice,vaginal_juices,vaginal_secretion,vaginal_secretions,wet_pussy"
+2018,7,137586,
+2022,7,136535,
+yellow_eyes,0,135147,"gold_eyes,golden_eyes,yellow_eye,yellow_iris,yellow_irises"
+vein,0,134607,"veins,veiny"
+eyebrows,0,133724,"eye_brow,eye_brows,eyebrow"
+hat,0,131592,"cap,fancy_hat,hats"
+gynomorph,0,131503,"dgirl,dick-girl,dick_girl,dickgirl,dickgirls,dickgril,feminine_intersex,feral_gynomorph,futa_sans_pussy,girl_with_a_cock,girl_with_a_dick,girl_with_a_dicks,girl_with_a_dong,girl_with_a_penes,girl_with_a_penii,girl_with_a_penis,girl_with_a_penises,girl_with_a_phallus,girl_with_cock,girl_with_dick,girl_with_dicks,girl_with_dong,girl_with_penes,girl_with_penii,girl_with_penis,girl_with_penises,girl_with_phallus,girls_with_a_cock,girls_with_a_dick,girls_with_a_dicks,girls_with_a_dong,girls_with_a_penes,girls_with_a_penii,girls_with_a_penis,girls_with_a_penises,girls_with_a_phallus,girls_with_cock,girls_with_dick,girls_with_dicks,girls_with_dong,girls_with_penes,girls_with_penii,girls_with_penis,girls_with_penises,girls_with_phallus,intersex_female,male_to_female_trans,male_to_female_trans_gender,male_to_female_trans_sexual,male_to_female_transgender,male_to_female_transsexual,mtf_trans,mtf_trans_gender,mtf_trans_sexual,mtf_transgender,mtf_transsexual,newhalf,shemale,woman_with_a_cock,woman_with_a_dick,woman_with_a_dicks,woman_with_a_dong,woman_with_a_penes,woman_with_a_penii,woman_with_a_penis,woman_with_a_penises,woman_with_a_phallus,woman_with_cock,woman_with_dick,woman_with_dicks,woman_with_dong,woman_with_penes,woman_with_penii,woman_with_penis,woman_with_penises,woman_with_phallus,women_with_a_cock,women_with_a_dick,women_with_a_dicks,women_with_a_dong,women_with_a_penes,women_with_a_penii,women_with_a_penis,women_with_a_penises,women_with_a_phallus,women_with_cock,women_with_dick,women_with_dicks,women_with_dong,women_with_penes,women_with_penii,women_with_penis,women_with_penises,women_with_phallus"
+not_furry,0,131300,"non-furry,non_furry,not-furry,notfurry"
+2017,7,130180,
+avian,5,130123,"avain,blue_avian"
+half-closed_eyes,0,130033,"eye_half_opened,eyes_half-closed,eyes_half_closed,eyes_half_open,eyes_half_opened,eyes_half_shut,half-closed-eyes,half-closed_eye,half-open_eye,half-open_eyes,half-opened_eye,half-opened_eyes,half_closed_eye,half_closed_eyes,half_open_eye,half_open_eyes,half_opened_eye,half_opened_eyes"
+bed,0,129245,
+handwear,0,129029,"hand_clothes,hand_clothing,hand_wear"
+pecs,0,127849,"bara_tiddies,bara_tiddy,pecks,pectorals"
+bovid,5,127206,bovidae
+big_balls,0,126412,"large_balls,large_testicles"
+barefoot,0,126213,"bare_feet,bare_foot,bare_paw,bare_paws,barefeet,barepaw,barepaws,bearfoot"
+blue_fur,0,125444,"cyan_fur,light_blue_fur,turquoise_fur"
+gloves,0,124547,glove
+penis_in_pussy,0,124266,penis_in_vagina
+speech_bubble,0,123283,"speach_bubble,speech_balloon,speech_balloons,speech_bubbles,talk_bubble,text_bubble,word_balloon,word_bubble"
+anthrofied,0,122043,"anthroified,anthropomorphized"
+inside,0,121852,"indoor,indoors,interior,room"
+orange_body,0,121597,
+2016,7,120948,
+looking_pleasured,0,120285,"looking_pleased,pleasure_expression,pleasure_face,pleasured,pleasured_expression,pleasured_face,visibly_pleasured"
+animal_humanoid,5,118755,"aniamal_humanoid,humanoid_animal,kemonomimi"
+shaded,7,116462,shading
+masturbation,0,115952,"clopping,fap,fapping,female_masturbation,feral_masturbation,jacking_off,jerk_off,jerking_off,masterbating,masterbation,mastrubation,masturbate,masturbating,onanism,pawing,pawing_off,schlick,wank,wanking"
+bound,0,115618,"bounded,cuffed,tied,tied_up"
+from_behind_position,0,115352,"behind_position,fucked_from_behind,taken_from_behind"
+fellatio,0,115311,"bj,blow,blow_job,blowjob,cock_sucking,fellation,muzzle_docking"
+anthro_penetrated,0,115068,
+cub,0,114876,"colt,cub/cub,cub_on_cub,cubs,duckling,fawn,filly,foal,hatchling,kemoshota,kidfur,kitten,kittens,littlefur,puppies,puppy,pups"
+4_toes,0,113806,"4-toes,4_toe,4_toed,4t,4toed,4toes,four-toed,four-toes,four_toe,four_toed,four_toes,fourtoed,fourtoes"
+panties,0,113413,"knickers,pantie,pantsu,panty"
+feathered_wings,0,112499,"angel_wings,feather_wing,feather_wings,feathered_wing"
+blue_hair,0,112480,"aqua_hair,blue_hairs,cyan_hair,light_blue_hair,long_blue_hair,short_blue_hair"
+portrait,7,111771,
+precum,0,111570,"pre,pre-cum,pre_cum"
+white_hair,0,111397,"long_white_hair,short_white_hair"
+two_tone_body,0,111260,two_color_body
+holding_object,0,110713,"carrying_object,holding_item,holding_items,holding_objects"
+cum_in_pussy,0,110655,"cum_in_vagina,cum_inside_pussy,implied_impregnation,vaginal_creampie,vaginal_cum,vaginal_cumshot"
+hyper,0,109022,"hyper-endowed,hyper_endowed,hypertrophilia"
+purple_eyes,0,107876,"magenta_eyes,purple_eye,purple_iris,purple_irises,violet_eyes"
+widescreen,7,107836,
+bottomless,0,107778,no_bottoms
+tan_body,0,106157,"beige_body,burlywood_body,cream_body"
+non-mammal_breasts,0,106068,"nmb,non-mammal_breast,non-mammalian_breast,non-mammalian_breasts,non_mammal_breasts,non_mammalian_breasts,snitties"
+hybrid,5,105692,"aardeer,alicorn_husky_hybrid,angel_fosky,animal_hybrid,anthro_hybrid,aquadox,arctic_folf,arctic_pegafox,arctic_pegafox_(species),batcoon,batcoon_mimiff,batdragon,batfox,bear_fox,bearbull,bearshark,bearwolf,bird_hybrid,bolfy,bragon,buizanine_(species),bullbear,bullgon,buncat,buncoon,bunk,bunnicorn,bunnycoon,bunnydragon,bunnywolf,bunwolf,burrdog,burrdog_(species),cabbit,cangaroo,canguroo,cat/wolf,cat/wolf_hybrid,cat_fox,cat_shark,catfox,cathorse,catox,catpup,catshark,cattolf,catvixen,catxolotl,cheefox,cheeger,cheetox,cheolf,cheolfs,chicken_gryphon,chilla_fox,chox,colf,coyfox,coyogon,coyote_dragon,crocofox,crossbreed,crox,croxen,cusky,dalox,darflox,deer_canine_hybrid,deercat,deerfox,deergon,deerhorse,deeroo,demfox,demon_fox,demon_lion,demon_wolf,demonhusky,demonic_fox_dragon,demonic_lion_(species),demonskunk,demonwolf,dergal,dingofox,dirdwolf,diregon,dobber_deer,dober_deer,dogfox,doggot,donkeroo,dox,doxen,draard,dracat,draco_rat,dracobat,dracobra,dracogriff,dracogryph,dracohorse,dracolf,draconicorn,dracoon,dracophin,dracoraptor,dracorat_(species),dracorn,dracovix,dracowolf,dracubus,dragadillo,dragark,draginni,dragnine,dragolf,dragon-ox,dragon-zebra,dragon/deer,dragon/hyena_hybrid,dragon_cat,dragon_fox,dragon_lion,dragon_shark,dragon_turtle,dragon_wolf,dragon_wolf_fox,dragonbat,dragonbear,dragoncat,dragonchu,dragondog,dragonet,dragonfox,dragonhorse,dragonicorn,dragonine,dragonwolf,dragonwolfhybrid,dragorca,dragosect,dragox,drakitterwolf,draquine,drat,dratter,drawolf,draxen,drayenote,driger,drolf,drotter,drox,drusky,dryeena,drygerskunk,dusky,eeldragon,fabbit,falcon_hybrid,faxby,feasox,feazox,feer,felinfox,fenfolf,fennec_lion,fennecat,fennecoon,fennmink,fensky,feox,feral_hybrid,ferrox,fiox,fishfox,flottsky,fobbit,folf,folfsky,foo_doggon,forgi,fosky,fot,fotter,fougar,fox-cat,fox-wolf,fox/cat,fox/cat/hybred,fox/cat/hybrid,fox/cat_hybrid,fox/jerboa,fox/wolf,fox_bat,fox_corgi,fox_dog,fox_dragon,fox_panda,fox_slug,foxal,foxaroo,foxat,foxbat,foxbat_hybrid,foxbee,foxbird,foxcario,foxcat,foxcoon,foxcoon_(species),foxda,foxdemon,foxdog,foxdragon,foxger,foxgon,foxhemoth,foxhog,foxhyena,foxibou,foxkitty,foxleopard,foxmoogle,foxmutt,foxoon,foxote,foxotter,foxpanda,foxroo,foxsky,foxttercoon,foxxgoat,foyote,fraccoon,froslosion,fruitbatcat,fusky,fusky_(species),gatorfox_(species),gatox,giramon,goat/horse,goat_cat_fox,goat_dog,goatbun,goatfox,griffox,growldramon,half-fox,half-otter,half-snake,half_dragon,hedgefox,hibrid,horse-lynx,horse_goat,horsebird,human_hybrid,huskena,huskoon,husky_rabbit,huskyena,huskyfox,hybid,hybird,hybrid_(species),hybrid_fur,hybrid_specie,hybrid_species,hybrid_wolf_phoenix,hybride,hybrids,hydrabbit,hyenapuss,hyenkel,hyrbid,hyrid,ice_draconic_horse,iguolf,kaibun,kangayote,kangootter,kardox,kecha_wox,kiraptagon,kitsuragon,kitty/otter,kittydog(species),kittydog_(species),kittydragon,kotterox,krystariomon,lemurbat,leobbog,leofox,leogarg,leolynx,leopanda,leopard_dragon,ligerwolf,ligon,liolf,liondragon,lionfox,lionroo,lionwolf,liox,lizard-mouse,lotteron,lucaridon,luskandox,lynx/domestic_cat,macunny,mix,mixed_species,moth_dragon,multiple_species,octoraccoon,orca-dragon,orca_dragon,orcadragon,orcagon,orcat,orcdragon,otsky,ottagon,otter/wolf,otter_bat,otter_hybrid,otterbat,otterbear,otterdog,otterfox,otteritty,otteroo,otterroo,ottershark,ottox,ottsky,owl_gryphon,owlox,pancoon,pandafox,pandafox_(species),pandapard,pandauren,pandragon,panther_wolf_hybrid,phoegon,planedragon,rabbit-dragon,rabbit_wolf,rabbitcat,raccat,raccoon_fox,raigon,rampox,ratcat,ratdragon,ratdragon_(species),ratwolf,renaskunk,rodragon,roofox,roogryph,roosky,saber_cat,saber_dog,saber_lynx,sabercat,saberdragon,sabershark,sabersune,saberwolf,scaled_fox,schnolf,sergal-fox,sergal_dragon,serpent_peahen,shargon,shark/fox,shark_dog,shark_fox,shark_pony,sharkdragon,sharkfox,sharkgon,sharkpony,sharktopus,shennec,shepcoon,shepherds_fox,shox,shoxy,skoon_(species),skotter,skox,skunk-bat,skunk_rat,skunkat,skunkbax,skunkbunny,skunkcoon,skunkfox,skunkubus,skunkwolf,skunx,skusky,skwolf,slime_hybrid,snail_cat,snake_dragon,snolf,snowpanda,snowval,sox,spiderhorse,spidox,squabit,squabit_(species),squirrel_dragon,sylbreon,sylvox,tabbit,tabby-twogon,tegu_dragon,teragon,tifox,tiger-bear,tiger-striped_skunk,tiger/otter_hybrid,tigerbunny,tigerfox,tigerskunk,tigerwolf,tigox,tixagon,tolf,totter,tox,tycoon,umbreon_cat,umbrox,unibunny,unigon,unisky,velocelox,vulpeer,wadger,wallaroo,weagle,werehybrid,werewolf_dragon,wokitah,wolcon,wolf-cat,wolf-tail_hare,wolf-tailed_hare,wolf/panther_hybrid,wolf/tiger_hybrid,wolf_bat,wolf_dragon,wolf_falcon,wolf_falcon_hybrid,wolf_fox,wolf_hybrid,wolf_panda,wolf_tailed_hare,wolf_tiger,wolfa,wolfbear,wolfbird,wolfbreon,wolfbreon_(hybrid),wolfbreon_(species),wolfbull,wolfcat,wolfcoon,wolfdagon,wolfdragon,wolfdrake,wolffox,wolfhawk,wolfmouse,wolfox,wolfrabbit,wolfroo,wolfshark,wolfskunk,wolfsune,wolfyena,wolger,wolgon,wolingo,wolphin,wolther,wolvern,wolviex,wolyena,woox,worgi,worval,wotter_(hybrid),wox,woyote,wuffoon,wulfion,wunnyroo,xoox,yveltvoir"
+food,0,105534,
+pants,0,105500,trousers
+pose,0,105117,"posing,stance"
+disney,3,104896,
+stripes,0,104891,"stripe,striped,strypes,tiger_stripes,zebra_stripes"
+toe_claws,0,104710,"clawed_toes,toe_claw,toeclaws"
+pony,5,104194,ponies
+generation_1_pokemon,5,104150,"gen_1_pokemon,gen_1_pokémon,gen_one_pokemon,gen_one_pokémon,generation_1_pokémon,generation_i_pokemon,generation_i_pokémon,generation_one_pokémon"
+foreskin,0,103666,"uncircumcised,uncut,uncut_penis"
+licking,0,103545,"lick,tongue_lick"
+countershading,0,103482,"counter-shade,counter-shaded,counter-shading,counter_shade,counter_shaded,counter_shading,countershade,countershaded"
+rear_view,0,103259,"back_pose,back_shot,back_to_camera,back_to_viewer,back_turned,back_view,backview,from_behind_view,rearview,view_from_behind"
+rodent,5,103081,anthro_rodent
+3d_(artwork),7,102969,"3d,3d_art,3d_artwork,3d_model,3d_render,3dmodel,bad_3d,cg,cgi,computer_generated,poser,render,rendering"
+bulge,0,102758,"buldge,bulges,crotch_bulge,macro_bulge,pants_bulge,penis_bulge,underwear_bulge"
+fan_character,4,101895,"custom_character,fan_characters,fancharacter,fc,oc,oc_only,oc_pony,ocs,original_character,originalcharacter,pokesona,ponysona,sonic_fan_character,sonic_fancharacter"
+multicolored_hair,0,101553,"3-color_hair,3-colored_hair,3-tone_hair,3-toned_hair,3_color_hair,3_tone_hair,3_toned_hair,four_color_hair,multi-color_hair,multi-colored_hair,multi-colour_hair,multi-coloured_hair,multi-tone_hair,multi-toned_hair,multi_color_hair,multi_colored_hair,multi_colour_hair,multi_coloured_hair,multi_tone_hair,multi_toned_hair,multicolor_hair,multicolour_hair,multicoloured_hair,multitone_hair,multitoned_hair,three-color_hair,three-colored_hair,three-tone_hair,three-toned_hair,three_color_hair,three_tone_hair,three_toned_hair,tri-color_hair,tri-colored_hair,tri-tone_hair,tri-toned_hair,tri_color_hair,tri_tone_hair,tri_toned_hair,tricolor_hair,tricolored_hair,tritone_hair,tritoned_hair"
+sketch,7,101391,"doodle,doodles,scetch,sketch_dump,sketchdump,sketched,sketches,sketching"
+dominant,0,100056,"dom,dominance,dominate,dominated,dominating,domination,domme"
+animated,7,99942,"animated_gif,animation,animation_art,badly_animated,gif,video"
+canine_penis,0,99677,"canid_cock,canid_penis,canine_cock,canine_dick,dog_cock,dog_penis,dogcock,fox_cock,fox_dick,fox_penis,foxcock,k9_cock,k9_penis,wolf_cock,wolf_dick,wolf_penis,wolfcock"
+equine_penis,0,99443,"equine_cock,equine_dick,equine_prick,equined_penis,horse-cock,horse-dick,horse-hung,horse-prick,horse_cock,horse_dick,horse_hung,horse_penis,horse_prick,horsecock,horsecocks,horsedick,horsehung,horseprick,inexplicable_horsecock"
+16:9,7,97686,"1280x720,1366x768,1600x900,1920x1080,2400x1350"
+unicorn,5,97526,"unicorn_pony,zebracorn"
+yellow_fur,0,97452,"blonde_fur,gold_fur,golden_fur"
+purple_body,0,97228,"light_purple_body,violet_body"
+marine,5,97107,"aquatic,marine_animal"
+cum_in_ass,0,96479,"anal_creampie,anal_cum,anal_cumshot,cum_in_anus,cum_in_butt,cum_inside_ass"
+kneeling,0,96248,"kneel,kneeling_down,on_knees"
+bdsm,0,96228,
+scales,0,96192,
+red_body,0,95910,
+anthro_penetrating,0,95459,
+sex_toy,0,95342,"sex-toy,sex_toys,sextoy,sextoys"
+girly,0,94922,"effeminate,fem-boy,fem_boy,femboi,femboy,femboys,femenine,feminine,feminine_male,femme,femmeboy,femmy,girlie,girly_body,girly_boi,girly_boy,girlyboi,girlyboy,sissy,sissy_boy,twink"
+slightly_chubby,0,94602,"chubby,slighty_chubby"
+raised_tail,0,94516,"flagged_tail,lift_tail,lifted_tail,lifting_tail,lifts_tail,raised_tails,raising_tail,tail-raised,tail_lift,tail_lifted,tail_lifting,tail_raise,tail_raised,tail_raising,tail_up"
+cleavage,0,94408,"absolute_cleavage,clevage,top_breast"
+huge_penis,0,94191,"giant_penis,gigantic_penis,huge_cock,huge_dick"
+orange_fur,0,93968,
+red_hair,0,93953,"long_red_hair,red-hair,red_head,redhair,redhead,short_red_hair"
+tree,0,93870,trees
+bird,5,93448,"aves,birb,bird_of_prey,birds,birds_of_prey,raptor_(bird)"
+hooves,0,93125,"hooeves,hoof,hoofed,hoofs,hoove,hooved,hoves"
+clitoris,0,93050,clit
+accessory,0,92231,accessories
+one_eye_closed,0,92087,"eye_closed,eye_open,one_closed_eye,one_eye_open,one_eyes_closed,open_eye"
+chest_tuft,0,91875,"chest_fluff,chest_tuff"
+topless,0,91868,toples
+ursid,5,91851,"anthro_ursid,bear,bears"
+cutie_mark,0,91624,"apple_cutie_mark,balloon_cutie_mark,bubbles_cutie_mark,butterfly_cutie_mark,camera_cutie_mark,candy_cutie_mark,carrot_cutie_mark,cute_mark,cutie-mark,cutiemark,false_cutie_mark,fire_cutie_mark,flower_cutie_mark,gem_cutie_mark,heart_cutie_mark,hourglass_cutie_mark,ice_cutie_mark,moon_cutie_mark,musical_cutie_mark,portal_cutie_mark,rainbow_cutie_mark,raindrop_cutie_mark,star_cutie_mark,stellar_cutie_mark,sun_cutie_mark,tribal_cutie_mark,wand_cutie_mark,wonderbolts_cutie_mark"
+fluffy,0,91242,"floof,floofy,fluff"
+membrane_(anatomy),0,90982,"membrane,membrane_(feature),membranes,membranous,membranous_anatomy,membranous_skin,membranous_structure,membranus,syndactyly,webbing_(anatomy),webbing_(feature),webbing_anatomy"
+submissive,0,90495,"sub,submisive,submission,submissiv"
+weapon,0,90296,"weaponry,weapons"
+water,0,89545,
+curvy_figure,0,89423,
+kemono,0,89177,"mesu-kemo,mesu_kemo,mesukemo,osu-kemo,osu_kemo,osukemo"
+2015,7,88817,
+green_body,0,88700,
+biceps,0,88683,bicep
+looking_at_another,0,88415,looking_at_other
+backsack,0,87820,back_sack
+3_toes,0,87549,"3-toes,3_toe,3_toed,3t,3toed,3toes,three-toed,three-toes,three_toe,three_toed,three_toes,threetoed,threetoes"
+sky,0,86975,background_sky
+veiny_penis,0,86372,"penis_vein,vainly_penis,veiny_cock"
+partially_clothed,0,84573,"clothed_partially,open_clothes,partial_clothing,partially_dressed,partially_naked,partially_nude,partially_undressed,partly_clothed,semi_naked"
+url,7,84483,"patreon_url,web_address"
+purple_hair,0,84134,"long_purple_hair,short_purple_hair,violet_hair"
+swimwear,0,83504,"bathing_suit,swim_suit,swim_wear,swimming_suit,swimming_wear,swimmingsuit,swimmingwear,swimsuit,swimsuits"
+bondage,0,83225,
+short_hair,0,82751,
+overweight_male,0,82384,fat_male
+thigh_highs,0,82290,"thigh-highs,thigh_high,thighhighs"
+cumshot,0,82179,"cum_shot,moneyshot,shooting_cum"
+all_fours,0,82164,"all-fours,all_four,hands_and_knees,on_all_fours,on_fours"
+two_tone_fur,0,81444,"two-tone_fur,two-toned_fur,two_toned_fur"
+group_sex,0,81421,
+pink_hair,0,81037,"long_pink_hair,short_pink_hair"
+membranous_wings,0,80931,"demon_wings,devil_wings,drake_wings,leather_wings,membrane_wings,membraneous_wings,membranous_wing,membranuous_wings,membranus_wings,webbed_wings,wing_membrane,wing_membranes"
+mostly_nude,0,80771,"almost_naked,almost_nude,barely_dressed,functionally_nude,mostly_naked,nearly_nude"
+front_view,0,80769,"facing_viewer,frong_view,front,front-view,frontal,frontal_view"
+3:4,7,80700,
+pink_body,0,80667,light_pink_body
+seductive,0,80603,"seduce,seducing,seduction,seductive_pose,sultry,sultry_pose"
+tan_fur,0,78643,"beige_fur,burlywood_fur,cream_fur,peach_fur"
+short_playtime,7,78610,<30_second_webm
+sega,3,78237,"sega_corporation,sega_enterprises,sega_enterprises_limited,sega_enterprises_ltd,sega_enterprises_ltd.,sega_games,sega_games_co._limited,sega_games_co._ltd,sega_games_co._ltd.,sega_games_co_limited,sega_games_co_ltd,sega_games_co_ltd.,sega_games_company_limited,sega_games_company_ltd,sega_games_company_ltd."
+mammal_humanoid,5,77729,
+anthro_penetrating_anthro,0,77534,"a/p/a,an-pene-an"
+presenting_hindquarters,0,77355,"butt_presenting,presenting_ass,presenting_behind,presenting_booty,presenting_butt,presenting_hindquarter,presenting_rear,showing_ass"
+from_front_position,0,77210,
+stockings,0,77074,"stalkings,stocking"
+humanoid_hands,0,76831,"human_hand,human_hands,humanoid_hand"
+sonic_the_hedgehog_(series),3,75861,"chaotix,knuckles'_chaotix,knuckles_chaotix,mobian,mobian_(species),mobian_species,mobians,sonic,sonic(series),sonic_&_knuckles,sonic_(lost_world),sonic_(series),sonic_(species),sonic_and_knuckles,sonic_cd,sonic_characters,sonic_generations,sonic_heroes,sonic_lost_world,sonic_mega_collection,sonic_oc,sonic_r,sonic_rivals,sonic_rush,sonic_rush_adventure,sonic_series,sonic_spinball,sonic_style,sonic_team,sonic_the_hedgehog_(copyright),sonic_the_hedgehog_(franchise),sonic_universe,sonic_{series)"
+faceless_character,0,75023,
+conditional_dnp,1,74548,cdnp
+japanese_text,7,74215,"hiragana,japanese_language,japanese_writing"
+pubes,0,74160,"bushy_pubes,crotch_hair,furry_pubes,hairy_crotch,pubic_fluff,pubic_fur,pubic_hair,pubic_hairs,pubic_tuft,pubichair,public_hair,pussy_hair"
+digital_drawing_(artwork),7,74033,digital_drawing
+necklace,0,73920,"necklaces,neckless"
+inner_ear_fluff,0,73645,"ear_fluff,fur_in_ears,ief,inner-ear_fluff,inner_ear_tuft"
+makeup,0,73599,"make-up,make_up"
+on_top,0,73468,
+dripping,0,73280,drip
+sharp_teeth,0,73204,"pointed_teeth,pointy_teeth"
+generation_4_pokemon,5,73039,"gen_4_pokemon,gen_4_pokémon,gen_four_pokemon,gen_four_pokémon,generation_4_pokémon,generation_four_pokémon,generation_iv_pokemon,generation_iv_pokémon"
+tears,0,72661,"crying_tears,fake_tears,tear,tearful,tearing_up,teary-eyed,teary_eyed"
+ring_piercing,0,72644,
+machine,0,72562,"machinery,machines,mech,mechanical"
+female/female,0,71993,"f/f,f/f/f,female/female/female,female_female,female_on_female,femalexfemale,ff,girl/girl,lesbian,lesbian_sex,lesbians,yuri"
+larger_male,0,71642,bigger_male
+4_fingers,0,71412,"4_figner,4_fignered,4_figners,4_finger,4_fingered,4f,four_figner,four_fignered,four_figners,four_finger,four_fingered,four_fingers"
+digitigrade,0,71075,"diditgrade,digigrade,digit_grade,digitagrade,digitgrade,digitigade,digitigradal,digitigrade_legs,digitigrate,digitrade,ditigrade"
+caprine,5,70886,"caprid,caprinae,goat-antelope,goat_antelope,ram"
+smaller_male,0,70052,"small_boy,small_male,smaller_boy,tiny_boy,tiny_male"
+2014,7,69958,
+tail_markings,0,69785,"tail_marking,tails_marking,tails_markings"
+voluptuous,0,69127,voloptuous
+shoes,0,69118,shoe
+drooling,0,69029,"drool,slobbering"
+faceless_male,0,68779,anonymous_male
+4:3,7,68394,"1024x768,1280x960,1600x1200,2000x1500,2048x1536,800x600"
+cum_in_mouth,0,67936,"cum_on_teeth,oral_creampie,oral_cumshot"
+oral_penetration,0,67129,"oral_insertion,throat_penetration"
+beak,0,67024,beaks
+demon,5,66851,"afreet,afrit,afrite,daemini,daemon,daemonette,deamon,demon_boy,demon_girl,demoness,demonette,demongirl,demons,devil,efreet,efrit,efrite,fiend,huccubus,ifreet,ifrit,inccubi,inccubus,incubi,incubus,lesser_incubi,lesser_incubus,lesser_succubi,lesser_succubus,lilin,lust_demon,lusty_demon,sex_demon,sex_devil,succubi,succubus_pony,succubust,tarrasccubus"
+brown_eyes,0,66827,hazel_eyes
+forced,0,66704,"force,non-con,non-consensual,non_consensual,noncon,nonconsensual,unconsensual,unwilling"
+huge_butt,0,66619,"badonkadonk,huge_ass,huge_booty"
+shorts,0,66346,
+overweight_anthro,0,65997,
+fluffy_tail,0,65684,"bushy_tail,poofy_tail,puffy_tail"
+bestiality,0,65292,"animal_on_woman,beastialily,beastiality,involuntary_bestiality,man_on_animal,zoophilia"
+border,0,64707,"border_background,border_bg,bordered,bordered_background,bordered_bg,borders,borders_background,borders_bg,framed_background"
+tiger,5,64633,"black_tiger,golden_tabby_tiger,golden_tiger,maltese_tiger,snow_tiger,tigeress,white_tiger"
+on_bottom,0,64358,
+open_smile,0,64213,open_mouth_smile
+alpha_channel,7,63698,alpha_layer
+cum_on_face,0,63245,"cum_in_face,cum_on_mouth,cum_on_nose,facial,facial_cumshot"
+pegasus,5,63076,"pegasi,pegasis,pegasus_pony,pterippus"
+glowing,0,62960,"glow,glow_in_the_dark,glowing_bits,glowy,luminescence,luminescent"
+nipple_piercing,0,62917,"nipple_piercings,nipples_piercing,pierced_nipple,pierced_nipples"
+big_belly,0,61745,large_belly
+human_on_anthro,0,61303,"a/o/hn,an/hu,anthro/human,anthro_on_human,furry_on_human,hn/o/a,hu/an,human/anthro,human_on_furry,human_x_furry"
+generation_3_pokemon,5,61166,"gen_3_pokemon,gen_3_pokémon,gen_three_pokemon,gen_three_pokémon,generation_3_pokémon,generation_iii_pokemon,generation_iii_pokémon,generation_three_pokémon"
+dildo,0,60863,dildos
+bedroom_eyes,0,60856,"bedroon_eyes,fuck_me_eyes,seducing_expression,seducing_eyes,seducing_face,seducing_gaze,seducing_look,seducing_smile,seducing_stare,seductive_expression,seductive_eyes,seductive_face,seductive_gaze,seductive_look,seductive_smile,seductive_stare"
+trio,0,60662,
+earth_pony,5,60499,"earth_ponies,earthponies,earthpony"
+spots,0,60041,spotted
+armor,0,59919,"armored,armour,armoured,barding"
+female_focus,0,59820,
+mythology,3,58684,"classical_mythology,myth,mythological"
+multicolored_tail,0,58275,"multi-colored_tail,multi_colored_tail,three-tone_tail,three-toned_tail,three_tone_tail,three_toned_tail"
+pillow,0,58199,"cushions,pillows"
+sheath,0,58169,"sheathe,sheathed_cock"
+grin,0,57917,grinning
+glistening,0,57713,"gleaming,glossy,lustrous,satiny,sheeny"
+two_tone_hair,0,56329,"bi-color_hair,bi-colored_hair,bi-tone_hair,bi-toned_hair,bi_color_hair,bi_colored_hair,bi_tone_hair,bi_toned_hair,bicolor_hair,bicolored_hair,bitone_hair,bitoned_hair,two-tone_hair,two-toned_hair,two_color_hair,two_colored_hair,two_toned_hair"
+fish,5,56282,"fishes,fishman,fishmen,species_fish"
+hair_accessory,0,56083,"hair_accessories,hair_ornament,hair_ornaments"
+huge_balls,0,55585,huge_testicles
+greyscale,7,55273,"gray_and_white,gray_scale,grayscale,grey_and_white,grey_scale"
+hand_on_butt,0,55060,"hand_on_ass,hand_on_booty,hands_on_ass,hands_on_booty,hands_on_butt,hoof_on_ass,hoof_on_booty,hoof_on_butt,hooves_on_ass,hooves_on_booty,hooves_on_butt"
+grass,0,54937,
+soles,0,54871,sole
+bikini,0,54800,
+facial_hair,0,54663,
+alien,5,54578,"alien_girl,aliengirl,aliens"
+pink_nipples,0,54516,pink_nipple
+pokemorph,0,53984,pokémorph
+spikes,0,53916,"spiked,spiky"
+cervid,5,53891,"cervidae,cervide,deer,stag"
+pupils,0,53690,
+dress,0,53526,
+hindpaw,0,53451,"back_paws,backpaw,backpaws,feetpaws,foot_paw,foot_paws,footpaw,footpaws,hind_paw,hind_paws,hindpaws"
+purple_fur,0,53199,"lavender_fur,violet_fur"
+black_and_white,7,53157,"b&w,b/w,baw,black/white,black_&_white,white/black,white_and_black"
+arthropod,5,52855,"anthropod,bug,bugs,insectoid"
+cloud,0,52640,clouds
+pink_nose,0,52625,
+hyper_genitalia,0,52508,"hyper_genital,hyper_genitals"
+tentacles,0,52390,tentacle
+2013,7,52185,
+submissive_male,0,52149,"male_dominated,male_sub,male_submission,male_submissive,malesub,submisive_male"
+generation_2_pokemon,5,52041,"gen_2_pokemon,gen_2_pokémon,gen_two_pokemon,gen_two_pokémon,generation_2_pokémon,generation_ii_pokemon,generation_ii_pokémon,generation_two_pokémon"
+skirt,0,51993,
+hand_on_breast,0,51862,"hand_on_breasts,hands_on_breast,hands_on_breasts"
+murid,5,51660,muridae
+armwear,0,51276,arm_wear
+murine,5,50956,
+transformation,0,50606,"sex_tf,sex_transformation,tf,tf_sex,transform,transformation_sex,transforming,transfur,tsf"
+facial_tuft,0,50400,face_tuft
+mustelid,5,50243,"anthro_mustelid,mustelidae"
+grey_background,0,50186,"dark_gray_background,dark_gray_bg,dark_grey_background,dark_grey_bg,gray_background,gray_backround,gray_bg,grey_backround,grey_bg,light_gray_background,light_gray_bg,light_grey_background,light_grey_bg"
+bovine,5,50172,"ox,oxen"
+on_bed,0,49846,
+censored,7,49694,"cencored,censor,censoring,censorship,paywall_tease"
+red_fur,0,49658,
+happy,0,49611,"happiness,happy_face"
+melee_weapon,0,49583,melee_weapons
+traditional_media_(artwork),7,49496,"artwork_(traditional),hand_drawn,scanned,traditional,traditional_(artwork),traditional_art,traditional_artwork,traditional_drawing,traditional_drawing_(artwork),traditional_media,traditional_media_artwork,tradtional"
+ear_ring,0,49448,"ear_rings,earing,earings,earring,earrings"
+whiskers,0,49268,"whisker,wiskers"
+sound_effects,0,49209,"gulk_(sound_effect),gurk_(sound_effect),sfx,sound_effect,sound_effect_outside_panel,sound_effect_pair,sound_effect_prefix,sound_effect_quad,sound_effect_triplet"
+cum_on_penis,0,49064,"cum_on_cock,cum_on_dick"
+facial_piercing,0,48957,"face_piercing,facial_piercings"
+penile_masturbation,0,48944,"autohandjob,penis_masturbation"
+lion,5,48915,"african_lion,black_lion,desert_lion,fat_lion,feline-lion,fire_lion,lioness,lionesses,lions,maned_lioness,pink_lion,white_lion"
+internal,0,48555,"inside_view,interal,internal_shot,internal_view"
+after_sex,0,48473,"after-coital,after-coitus,after-inter_course,after-intercourse,after-sex,after-sexual_inter_course,after-sexual_intercourse,after_coital,after_coitus,after_inter_course,after_intercourse,after_sexual_inter_course,after_sexual_intercourse,aftercoital,aftercoitus,afterinter_course,afterintercourse,aftersex,aftersexual_inter_course,aftersexual_intercourse,post-coital,post-coitus,post-inter_course,post-intercourse,post-sex,post-sexual_inter_course,post-sexual_intercourse,post_coital,post_coitus,post_inter_course,post_intercourse,post_sex,post_sexual_inter_course,post_sexual_intercourse,postcoital,postcoitus,postinter_course,postintercourse,postsex,postsexual_inter_course,postsexual_intercourse"
+skimpy,0,48373,"barely_clothed,revealing_clothing,scantily_clad,skimpy_clothes,skimpy_clothing,skimpy_outfit"
+robot,5,48331,"fembot,robot_girl,robotgirl,robots"
+bent_over,0,48093,"bend_over,bending_over,bendover,bentover"
+cheek_tuft,0,47973,"cheek_fluff,cheek_tufts,fluffy_cheeks"
+mature_female,0,47741,"cougar_(mature),mature_woman,milf"
+unknown_artist,1,47552,"artist_request,artist_unknown,unkown_artist"
+pink_fur,0,47493,
+dipstick_tail,0,47473,
+zootopia,3,47447,"zoomania,zootopie,zootropolis"
+scar,0,47409,"scarred,scars"
+holidays,0,47084,holiday
+kissing,0,47032,kiss
+undertale_(series),3,46848,
+disembodied_penis,0,46842,"disbodied_penis,disembodied_cock,disembodied_cocks,disembodied_dick,disembodied_dicks,disembodied_penises,floating_dicks,floating_penis"
+first_person_view,0,46673,"1st_person_view,first-person_view,first_person,first_person_pov,point_of_view,pov,pov_sex"
+abdominal_bulge,0,46626,"abdominal_buldge,belly_bulge,stomach_bulge,stomach_deformation"
+looking_down,0,46531,
+wet,0,46449,moist
+bandai_namco,3,46363,"bandai,namco,namco_bandai"
+big_muscles,0,46192,"big_muscle,large_muscles"
+body_hair,0,45972,
+translucent,0,45900,"see-through,see-through_silhouette,see-through_view,see_through,see_through_silhouette,see_through_view,seethrough,sheer,transparent"
+boots,0,45804,boot
+threesome,0,45622,"3some,three-way,three_some,three_way,threeway"
+ribbons,0,45589,"ribbon,ribbone"
+fully_clothed,0,45475,fully_dressed
+age_difference,0,45426,
+crossgender,0,45358,"gender_bend,gender_bender,gender_swap,gender_switch,genderbend,genderbender,genderbent,genderswap,r63,rule63,rule_63"
+generation_5_pokemon,5,45329,"gen_5_pokemon,gen_5_pokémon,gen_five_pokemon,gen_five_pokémon,generation_5_pokémon,generation_five_pokémon,generation_v_pokemon,generation_v_pokémon"
+long_ears,0,45249,"long_ear,longears"
+digimon,3,45231,"digimon_adventure_tri,digimon_tamers,digimon_universe:_appli_monsters,tamers"
+hyper_penis,0,45162,"hyper_cock,hyper_dick,hypercock,hyperphallic,impossibly_large_penis,unusually_hyper_penis"
+full-length_portrait,7,44982,"full-body_,full-body_portrait,full_body,full_body_,full_body_portrait,full_length_portrait,full_portrait,fullbody"
+erect_nipples,0,44908,"erect-niple,erect-niples,erect-nipple,erect-nipples,erect_niple,erect_niples,erect_nipple,errect-nipples,errect_nipples,nipple_erection,nipples_erection,perky,perky_breasts,perky_nipples"
+bra,0,44677,
+beverage,0,44603,"beverages,drink,drinks"
+gesture,0,44423,"gestures,gesturing"
+digimon_(species),5,44399,"champion_level_digimon,champion_level_digimon_(species),data_type,data_type_(species),data_type_digimon,data_type_digimon_(species),fresh_level_digimon,fresh_level_digimon_(species),in-training_level_digimon,in-training_level_digimon_(species),mega_level_digimon,mega_level_digimon_(species),rookie_level_digimon,rookie_level_digimon_(species),ultimate_level_digimon,ultimate_level_digimon_(species),vaccine_type,vaccine_type_(species),vaccine_type_digimon,vaccine_type_digimon_(species),virus_type,virus_type_(species),virus_type_digimon,virus_type_digimon_(species)"
+generation_6_pokemon,5,44353,"gen_6_pokemon,gen_6_pokémon,gen_six_pokemon,gen_six_pokémon,generation_6_pokémon,generation_six_pokémon,generation_vi_pokemon,generation_vi_pokémon"
+eeveelution,5,44269,eeveelutions
+humanoid_pointy_ears,0,43891,"elf_ear,elf_ears,elven_ear,elven_ears,humanoid_pointed_ears,point_ear,point_ears,pointed_ear,pointed_ears,pointed_humanoid_ears,pointy_ear,pointy_ears,pointy_humanoid_ears,spock_ear,spock_ears,vulcan_ear,vulcan_ears"
+small_breasts,0,43699,"petanko,small_boobs,small_breast,small_tits,tiny_breasts"
+lips,0,43653,"human_lip,human_lips,lip"
+plantigrade,0,43381,"flat_feet,plantigrade_anthro,plantigrade_feet,plantigrade_feral,plantigrade_human,plantigrade_humanoid,plantigrade_taur"
+handjob,0,43377,hand_job
+vore,0,43277,"eaten,micro_insertion,vorarephilia,voreaphilia,vorephilia"
+seaside,0,42809,coast
+night,0,42803,"midnight,nighttime"
+black_clothing,0,42648,black_clothes
+socks,0,42351,sock
+larger_female,0,42202,bigger_female
+green_hair,0,42200,"long_green_hair,short_green_hair"
+male_on_bottom,0,42197,
+webm,7,42070,
+flower,0,41996,flowers
+flaccid,0,41905,"flaccid_bottom,flaccid_cock,flaccid_penis,flacid,flacid_penis,limp_penis"
+restraints,0,41776,restraint
+torn_clothing,0,41759,"clothes_ripping,clothes_tearing,clothing_damage,rip_cloth,ripped_clothes,ripped_clothing,ripping_clothes,tattered_clothing,torn_clothes"
+tattoo,0,41758,"tatoo,tattooed,tattooes,tattoos"
+smaller_female,0,41742,"small_female,small_girl,smaller_girl,tiny_female,tiny_girl"
+winged_unicorn,5,41162,"alicorn,alicorns,pegacorn,pegacorns,winged_unicorns"
+black_eyes,0,40994,"black_iris,black_irises"
+beach,0,40985,
+mature_anthro,0,40956,
+legendary_pokemon,5,40909,"legendary_pokémon,mythical_pokemon,mythical_pokémon"
+presenting_pussy,0,40814,presenting_vagina
+penis_in_ass,0,40574,penis_in_anus
+container,0,40507,containers
+glans,0,40285,
+day,0,40251,daytime
+black_sclera,0,40071,"black_eye_membrane,black_eye_white,black_eye_whites,black_outer_eye,black_schlera,black_sclerotic_coat,black_white_of_the_eye,black_white_of_the_eyes,black_whites_of_the_eye,black_whites_of_the_eyes,blakc_sclera"
+breast_play,0,39984,
+side_view,0,39902,sideview
+doggystyle,0,39895,"doggie_style,doggiestyle,doggy-style,doggy_position,doggy_style,doggystyle_position"
+<3_eyes,0,39805,"heart-shaped_pupils,heart_eyes,heart_in_eyes,heart_pupils,heart_shaped_pupils,hearts_in_eyes"
+black_penis,0,39538,"black_cock,black_dick,blakc_penis"
+ponytail,0,39468,"pony_tail,ponytail_hair"
+perineum,0,39215,"grundle,perinium,taint"
+on_front,0,39190,"belly_down,face_down,laying_on_belly,laying_on_front,lying_on_belly,lying_on_front,lying_on_stomach,on-front,on_belly,on_stomach,prone"
+uniform,0,39032,
+animal_crossing,3,38756,"ac:nh,acnh,acnl,animal_crossing:_new_horizon,animal_crossing:_new_horizons,animal_crossing:_new_leaf,animal_crossing_new_horizon,animal_crossing_new_horizons,animal_crossing_new_leaf,doubutsu_no_mori"
+4:5,7,38748,
+athletic,0,38622,"fit,toned"
+spitz,5,38496,"spitz_dog,spitzen,spitzen_dog,spitzes"
+translated,7,38382,translation
+pink_penis,0,38341,pink_dick
+long_tail,0,38257,long-tail
+lizard,5,38208,lizards
+tight_clothing,0,38193,"skin_tight,skintight,tight_clothes,tight_outfit"
+eyeshadow,0,38128,eye_shadow
+raised_leg,0,37991,"leg_lift,leg_lifted,leg_raised,leg_up,lift_leg,lift_legs,lifted_leg,lifted_legs,lifting_leg,lifting_legs"
+shark,5,37790,"selachimorph,selachimorpha"
+cum_while_penetrated,0,37770,cum_while_fucked
+human_penetrating,0,37754,
+chiropteran,5,37707,"bat,bat/mammal,bat_(animal),bat_(species),bats,chiroptera"
+white_clothing,0,37640,white_clothes
+eye_contact,0,37570,"eyecontact,looking_at_each_other"
+nipple_outline,0,37529,"nipple_bulge,nipple_bumps,nipple_outlines,nipples_bulge,protruding_nipples"
+5_toes,0,37485,"5_toe,5_toed,5t,five_toe,five_toed,five_toes"
+squish,0,37353,"squished,squishing,squishy"
+bracelet,0,37197,bracelets
+fire,0,36969,"flame,flames,orange_fire,red_fire,yellow_fire"
+high_heels,0,36808,"heels,hi_heels,high-heel,high-heels,high_heel,highheels"
+orange_eyes,0,36761,"orange_eye,orange_iris,orange_irises"
+low_res,7,36504,"lowres,small_res"
+cum_drip,0,36481,"cum_dripping,cumdrip,dripping_cum,dripping_semen"
+undertale,3,36320,undertail
+leash,0,36252,"leashed,leashes"
+incest_(lore),8,36209,"after_incest,family_sex,incest,incestuous,turtlecest,wincest"
+glowing_eyes,0,36087,"eye_glow,glow_eyes,glowing_eye"
+belt,0,36058,"belts,leather_belt"
+watermark,7,35863,"water_mark,water_marks,watermarked,watermarks"
+2012,7,35852,
+pink_eyes,0,35761,"pink_eye,pink_iris,pink_irises"
+embrace,0,35715,"embraced,embracing,embracing_another"
+side_boob,0,35669,"side-boob,side_boobs,side_breast,sideboob"
+ass_up,0,35562,"ass_in_air,ass_raised,butt_in_air,butt_raised,butt_up,face_down_ass_up,hindquarters_raised,raised_ass,raised_butt,raised_hindquarters,top-down_bottom-up,top_down_bottom_up"
+rape,0,35455,forced_sex
+freckles,0,35423,butt_freckles
+wink,0,35374,";),winking"
+midriff,0,35369,"bare_midriff,exposed_midriff,mid-riff,mid_riff,midrift"
+fingering,0,35307,fingerfuck
+breath,0,35291,"exhale,huff,visible_breath"
+angry,0,35287,"anger,mad,pissed,pissed_off,rage"
+bow_(feature),0,35195,
+forest,0,35088,"forests,woods"
+source_filmmaker,3,35074,"sfm,source_film_maker"
+human_on_feral,0,35005,"f/o/hn,fe/hu,feral/human,feral_on_human,hn/o/f,hu/fe,human/feral"
+moobs,0,34963,"man_boobs,manboobs,moob"
+messy,0,34665,"mess,sploshing,wam_fetish,wet_and_messy,wet_and_messy_fetish,wet_and_messy_fetishism"
+gloves_(marking),0,34571,"glove_(marking),glove_(markings),glove_marking,glove_markings,gloves_(markings),gloves_marking,gloves_markings"
+female_on_top,0,34523,"girl_on_top,woman_on_top"
+neck_tuft,0,34503,"fluffy_neck,neck_fluff,neck_fur,neck_ruff"
+quadruped,0,34479,quadrupedal
+overweight_female,0,34336,
+beard,0,34294,
+hand_on_hip,0,34247,"hand_on_hips,hand_on_waist"
+dominant_male,0,34167,"dom_male,domiant_male,male_dom,male_dominance,male_dominant,male_dominating,male_domination,maledom"
+flat_chested,0,33675,"flat-chest,flat-chested,flat_chest,flatchest,flatchested,no_breasts"
+orange_hair,0,33664,"ginger_hair,long_orange_hair,short_orange_hair"
+muscular_female,0,33540,"musuclar_female,musuclar_girl"
+feral_penetrating,0,33436,
+eulipotyphlan,5,33406,
+animal_pussy,0,33402,animal_vagina
+feral_on_feral,0,33384,"f/o/f,fe/fe,feral/feral"
+lactating,0,33363,"abitrary_lactation,arbitrary_lactation,lactacting,lactaction,lactate,lactating_nipples,lactation"
+on_side,0,33315,"laying_on_side,lying_on_side"
+nose_piercing,0,33240,"nasal_piercing,nasal_piercings,nose_piercings,pierced_nose"
+hyper_breasts,0,33160,"hyper_boobs,hyper_breast,hyper_tits,hyperboob,oversized_breasts"
+twilight_sparkle_(mlp),4,33037,"dusk_shine_(mlp),twi_staff,twilght_sparkle_(mlp),twilight_sparke_(mlp),twilight_sparkle,twiligth_sparkle_(mlp),twlight_sparkle_(mlp)"
+cowgirl_position,0,32995,"cow_girl_position,cowboy_position"
+humor,0,32968,"comedic_gold,comedy,comedy_gold,funny,humorous,humour,lol,lulz"
+snake,5,32755,"serpent,snakes,snek"
+striped_body,0,32729,stripped_body
+gag,0,32627,mouth_gag
+big_dom_small_sub,0,32504,"big_dom,big_dom/small_sub,big_dom_little_sub,big_dominant,big_top_small_bottom,bigger_dom,large_dom,large_dom_small_sub,large_dominant,little_sub,little_submissive,small_sub,small_sub_big_dom,small_submissive,smaller_sub"
+abstract_background,0,32430,"abrstact_background,abstract_bg,abstrat_background"
+buckteeth,0,32387,"buck_teeth,buck_tooth,bucked_teeth,bucktooth,bunny_teeth,rabbit_teeth"
+tank_top,0,32226,"singlet,tank-top,tanktop,wife_beater,wifebeater"
+public,0,32215,
+jacket,0,32075,
+head_markings,0,31982,head_marking
+goat,5,31968,"capra,feral_goat,goats"
+snout,0,31945,snoot
+mouse,5,31862,"mice,mouses"
+motion_lines,0,31838,"action_lines,motion_line,movement_lines"
+felid_humanoid,5,31791,
+ranged_weapon,0,31760,projectile_weapon
+legs_up,0,31759,"legs_raised,raised_legs"
+hedgehog,5,31637,
+blood,0,31507,"bleeding,bloody"
+pokephilia,0,31482,"anthro_on_pokemon,anthro_on_pokémon,feral_on_pokemon,feral_on_pokémon,human/pokemon,human/pokémon,human_on_pokemon,human_on_pokémon,humanoid/pokemon,humanoid/pokémon,humanoid_on_pokemon,humanoid_on_pokémon,pokemon/human,pokemon/humanoid,pokemon/trainer,pokemon_on_anthro,pokemon_on_feral,pokemon_on_human,pokemon_on_humanoid,pokemon_on_taur,pokephillia,pokémon/human,pokémon/humanoid,pokémon/trainer,pokémon_on_anthro,pokémon_on_feral,pokémon_on_human,pokémon_on_humanoid,pokémon_on_taur,poképhilia,taur_on_pokemon,taur_on_pokémon,trainer/pokemon,trainer/pokémon"
+marsupial,5,31465,
+leg_markings,0,31294,"leg_(marking),leg_(markings),leg_marking,legs_(marking),legs_(markings),legs_marking,legs_markings"
+spotted_body,0,31238,
+humanoid_feet,0,31190,"human_feet,human_foot,humanoid_foot"
+scarf,0,31148,
+2d_animation,7,30990,"2-dimension_animated,2-dimension_animation,2-dimensional_animated,2-dimensional_animation,2_dimension_animated,2_dimension_animation,2_dimensional_animated,2_dimensional_animation,2d_animated,2d_computer_animated,2d_computer_animation,two-dimension_animated,two-dimension_animation,two-dimensional_animated,two-dimensional_animation,two_dimension_animated,two_dimension_animation,two_dimensional_animated,two_dimensional_animation"
+2:3,7,30973,
+ahegao,0,30914,"ahe_gao,aheago,ahegao_face,ahego,ahegoa"
+procyonid,5,30882,procyonidae
+facial_markings,0,30870,"face_marking,face_markings,facial_mark,facial_marking,facial_marks"
+mane,0,30819,manes
+antlers,0,30687,antler
+yellow_sclera,0,30682,"yellow_eye_membrane,yellow_eye_white,yellow_eye_whites,yellow_outer_eye,yellow_sclerotic_coat,yellow_white_of_the_eye,yellow_white_of_the_eyes,yellow_whites_of_the_eye,yellow_whites_of_the_eyes"
+shadow,0,30658,shadows
+shota,0,30630,"shotacon,straight_shota"
+lingerie,0,30561,lingeries
+surprise,0,30495,"suprise,suprised,surprised"
+dessert,0,30472,
+intersex/female,0,30463,"f/i,female/intersex,female_on_futa,female_on_intersex,futa_on_female,futanari/female,i/f,intersex_on_female"
+inflation,0,30443,"inflate,inflated"
+grey_hair,0,30326,"gray_hair,long_grey_hair,short_grey_hair"
+hyper_balls,0,30269,hyper_testicles
+hoodie,0,30229,hoody
+rubber,0,30223,pvc
+three-quarter_portrait,7,30162,"cowboy_shot,three_quarter_portrait"
+meme,7,30153,memes
+generation_7_pokemon,5,30119,"gen_7_pokemon,gen_7_pokémon,gen_seven_pokemon,gen_seven_pokémon,generation_7_pokémon,generation_seven_pokémon,generation_vii_pokemon,generation_vii_pokémon"
+undressing,0,30117,"disrobing,removing_clothes,removing_clothing,strip,stripping,undress"
+judy_hopps,4,30113,judyhopps
+parent,0,30084,parents
+monster,5,30020,"abomination,monsters"
+mask,0,29961,"masked,masks"
+multicolored_ears,0,29952,
+hug,0,29836,"hugging,hugs"
+presenting_anus,0,29790,
+star,0,29768,"stars,★"
+white_border,0,29713,
+sibling,0,29585,siblings
+furgonomics,0,29577,furry-specific_clothing
+clenched_teeth,0,29560,"clenching_teeth,grit_teeth,gritted_teeth,gritting_teeth,teeth_clenched"
+cattle,5,29537,"bull,cow"
+colored,7,29518,"coloration,colorized,colouration,coloured"
+butt_grab,0,29512,"ass_fondle,ass_fondling,ass_grab,ass_grabbing,ass_grope,ass_groping,ass_squeeze,ass_squeezing,booty_fondle,booty_fondling,booty_grab,booty_grabbing,booty_grope,booty_groping,booty_squeeze,booty_squeezing,butt_fondle,butt_fondling,butt_grabbing,butt_grope,butt_groping,butt_squeeze,butt_squeezing,fondle_ass,fondle_booty,fondle_butt,fondling_ass,fondling_booty,fondling_butt,grab_ass,grab_booty,grab_butt,grabbing_ass,grabbing_booty,grabbing_butt,grope_ass,grope_booty,grope_butt,groping_ass,groping_booty,groping_butt,squeeze_ass,squeeze_booty,squeeze_butt,squeezing_ass,squeezing_booty,squeezing_butt"
+hands-free,0,29491,"hands_free,handsfree,handsfree_ejaculation"
+slit_pupils,0,29478,"cat_eyes,reptile_eyes,slit_eyes,slit_pupil,slitted_eyes,slitted_pupils,vertical_pupil"
+sciurid,5,29407,"sciuridae,sqiurrel,squirrel"
+transparent_background,0,29374,"alpha_background,alpha_bg,clear_background,clear_bg,transparent_bg,trasnparent_background,trasnparent_bg"
+raccoon,5,29374,"bluecoon,procyon,procyon_lotor,raccon,raccoons,racoon,red_raccoon,white_raccoon"
+foot_fetish,0,29317,"feet_fetish,foot_fetishism,foot_partialism,foot_sex,foot_worship,foot_worshipping,paw_fetish,paw_worship,podophile,podophilia"
+nordic_sled_dog,5,29252,"nordic_sledge_dog,sled_dog,sledding_dog"
+sofa,0,29114,couch
+3d_animation,7,29114,"3-dimension_animated,3-dimension_animation,3-dimensional_animated,3-dimensional_animation,3_dimension_animated,3_dimension_animation,3_dimensional_animated,3_dimensional_animation,3d_animated,3d_computer_animated,3d_computer_animation,cg_animated,cg_animation,cgi_animated,cgi_animation,three-dimension_animated,three-dimension_animation,three-dimensional_animated,three-dimensional_animation,three_dimension_animated,three_dimension_animation,three_dimensional_animated,three_dimensional_animation"
+chair,0,29082,chairs
+no_sound,7,28983,"no_audio,silent,silent_video,soundless,without_sound"
+nails,0,28965,
+phone,0,28955,telephone
+hyaenid,5,28861,"albino_hyena,hyaena,hyaenic,hyaenidae,hyeena,hyena,hyenas,hyenid,hynea,yeen,yeena"
+female_on_human,0,28790,female/human
+magic,0,28736,magical
+excessive_genital_fluids,0,28704,
+blue_feathers,0,28637,"blue_feather,cyan_feathers"
+embarrassed,0,28622,"ashamed,embarassed,embarassing,embarrased,embarrasing,embarrass,embarrassed_nude_exposure,embarrassed_nude_female,embarrassing,embarrassment,enf"
+breast_grab,0,28607,"boob_grab,breast_grope,breasts_grab,grab_breast,grabbing_breast,grabbing_breasts,grope_breast"
+sword,0,28605,swords
+feline_humanoid,5,28571,
+exclamation_point,0,28558,"!,!!,!!!,exclamation_mark,exclamation_sign"
+crossover,0,28528,
+profanity,0,28454,"bad_language,expletive,swear_word,swear_words,swearing"
+smaller_penetrated,0,28407,"big_penetrator_small_penetrated,larger_penetrating,larger_penetrating_smaller"
+blue_skin,0,28385,cyan_skin
+rope,0,28330,ropes
+crown,0,28283,
+table,0,28282,
+dinosaur,5,28258,"dino,dino_girl,dinogirl,dinosaurs"
+open_clothing,0,28153,
+insect,5,28151,insects
+loli,0,28059,lolicon
+mario_bros,3,27965,"mario_bros.,mario_bros_(series),mario_brothers,mario_sunshine,new_super_mario_bros,super_mario,super_mario_64,super_mario_bros,super_mario_bros.,super_mario_bros_2,super_mario_bros_3,super_mario_brothers,super_mario_sunshine"
+breast_squish,0,27889,"boob_squish,boobsquish,breast_press,squished_breasts,squishy_breasts"
+5:4,7,27765,1280x1024
+sweatdrop,0,27739,"sweat_bead,sweat_drop,sweat_drops,sweatdrops"
+onomatopoeia,0,27634,onomatopeia
+submissive_female,0,27595,"fem_sub,female_dominated,female_submission,female_submissive,femsub,submisive_female"
+necktie,0,27547,"neck_tie,tie"
+low-angle_view,0,27497,"from_below,low-angle,low-angle_shot,low_angle,low_angle_shot,low_angle_view,upshot"
+socks_(marking),0,27492,"sock_(marking),sock_(markings),sock_marking,sock_markings,socks_(markings),socks_marking,socks_markings,stocking_(marking),stocking_(markings),stocking_marking,stocking_markings,stockings_(marking),stockings_(markings),stockings_marking,stockings_markings"
+pinup,0,27462,"pin-up,pin_up,pinup_pose,sexy_pose"
+macro,0,27454,"giant,giantess,macrophile,macrophilia,slightly_macro"
+disembodied_hand,0,27400,"disembodied_arm,disembodied_arms,disembodied_hands"
+vaginal_masturbation,0,27375,"flicking_the_bean,pussy_masturbation"
+crying,0,27317,"cry,crying_with_eyes_open"
+cute_fangs,0,27268,cute_fang
+thick_penis,0,27191,thick_cock
+leaking_cum,0,27134,"cum_leak,cum_leaking"
+were,5,27121,"lycan,were-hybrid,were_beast,were_hybrid,werebeast,wereform,wereshep_hybrid"
+feral_penetrated,0,27041,
+dominant_female,0,27010,"dom_fem,dom_female,fem_dom,female_dominance,female_dominant,female_dominating,female_domination,femdom"
+fruit,0,27003,fruits
+vehicle,0,26924,
+gradient_background,0,26906,"background_gradient,gradiant_background,gradient_bg"
+camel_toe,0,26904,"cameltoe,horse_pussy_bulge,pussy_bulge"
+bedroom,0,26817,"bed_room,bedroom_setting"
+armpit_hair,0,26813,"armpit_fur,hairy_armpit"
+western_dragon,5,26795,"dragon_(europe),dragon_(european),dragon_(west),dragon_(western),europe_dragon,european_dragon,west_dragon"
+cat_humanoid,5,26703,"catian,humanoid_cat,nekomimi,nekomusume"
+excessive_cum,0,26689,"excess_cum,excessive_semen,lots_of_cum,too_much_cum"
+restrained,0,26678,
+intersex/male,0,26648,"futa/male,futa_on_male,futa_with_male,i/m,intersex_on_male,m/i,male/futa,male/intersex,male_on_futa,male_on_intersex"
+husky,5,26615,huskie
+short_stack,0,26588,shortstack
+bite,0,26529,biting
+pastoral_dog,5,26345,livestock_dog
+elbow_gloves,0,26337,"arm_gloves,armgloves,elbow_glove,long_gloves,opera_gloves,shoulder_gloves,sleeve_gloves"
+lipstick,0,26267,
+bow_ribbon,0,26248,ribbon_bow
+fluttershy_(mlp),4,26235,"butterscotch_(mlp),flutterguy,flutterguy_(mlp),fluttershy,futashy,futashy_(mlp),psychoshy_(mlp)"
+cunnilingus,0,26155,"cunninglingus,cunninlingus,eating_out,licking_pussy,pussy_lick,pussy_licking"
+striped_fur,0,26110,"fur_stripes,stripped_fur"
+moan,0,26042,"moaning,moaning_in_pleasure,moans"
+crouching,0,26003,"crouch,crouched,haunches,squat,squatting"
+pink_tongue,0,25964,pink_tounge
+spotted_fur,0,25941,
+penis_lick,0,25929,"cock_licking,licking_penis,penis_licking"
+herding_dog,5,25879,"shepard_dog,shephard_dog,shepherd_dog"
+light,0,25862,
+featureless_crotch,0,25793,featureless_groin
+ambiguous_penetration,0,25694,ambiguous_insertion
+intersex_penetrating,0,25693,"futa_penetrating,futanari_penetrating"
+rainbow_dash_(mlp),4,25650,"rainbow_blitz_(mlp),rainbow_dash,tatzldash"
+window,0,25619,
+one_eye_obstructed,0,25619,"cover_one_eye,covering_eye,eye_covered,one_eye_cover,one_eye_covered,over_one_eye"
+alternate_species,0,25604,"alternative_species,species_swap"
+looking_up,0,25573,"looking_upward,looking_upwards"
+human_penetrated,0,25534,
+blizzard_entertainment,3,25493,
+cum_on_self,0,25475,cum_on_own_body
+pregnant,0,25472,"gravid,knocked_up,preg,preggers,preggo,preggy,pregnancy,pregnant_belly,very_pregnant"
+finger_claws,0,25453,
+multi_tail,0,25347,"multi-tail,multi-tails,multi_tailed,multi_tails,multiple_tail,multiple_tailed,multiple_tails,multitail"
+sleeping,0,25328,"asleep,sleep"
+scottgames,3,25291,
+five_nights_at_freddy's,3,25290,"(fnaf),five_nights_at_freddys,fnaf"
+crossdressing,0,25178,"cross_dressing,crossdress,crossdressed,crossdresser,crossdressing_male,transvestite"
+cartoon_network,3,25166,"cartoon-network,cartoonnetwork,cn_(network)"
+blue_clothing,0,25161,"blue_clothes,cyan_clothes,cyan_clothing"
+blue_background,0,25133,"blue_bg,dark_blue_background,dark_blue_bg,light_blue_background,light_blue_bg"
+nick_wilde,4,24967,"nick_wilde_(bikini),nickini,nickwilde"
+dipstick_ears,0,24821,dipstick_ear
+tail_tuft,0,24782,"cow's_tail,cow_tail,cow_tailed,cow_tails,leonine_tail,lion's_tail,lion_tail,lions_tail,tail_poof,tailpoof,tuft_tail,tufted_tail"
+gynomorph/female,0,24746,"d/f,d_f,dickgirl/female,dickgirl_female,dickgirl_on_female,f/d,f/gm,f_d,female/dickgirl,female/gynomorph,female_dickgirl,female_on_dickgirl,female_on_gynomorph,fm/gm,gm/f,gm/fm,gynomorph_on_female,shemale_on_female"
+obese,0,24697,"beautifully_obese,obesity,ssbbw"
+female_on_feral,0,24688,"female/feral,feral/female,feral_on_female"
+black_nipples,0,24687,"black_niples,black_nipple,blakc_nipples"
+double_penetration,0,24670,"double_insertion,dp"
+tapering_penis,0,24619,"cone_cock,cone_dick,cone_penis,tapered_penis"
+green_fur,0,24606,teal_fur
+clothing_lift,0,24582,"clothes_lift,lifting_clothes"
+moon,0,24567,moons
+male_on_anthro,0,24567,
+head_tuft,0,24499,hair_tuft
+star_fox,3,24465,"star_fox_command,starfox"
+short_tail,0,24445,"stub_tail,stubby_tail"
+slit,0,24421,
+lifewonders,3,24409,
+gun,0,24390,"firearm,firearms,guns"
+canid_humanoid,5,24367,
+werecanid,5,24357,
+romantic,0,24290,"romance,romance_mood,romance_theme,romantic_mood,romantic_theme,sensual_mood,sensual_theme"
+translation_request,7,24240,"needs_translation,translation_needed,untranslated"
+missionary_position,0,24211,missionary
+human_on_humanoid,0,24181,"hd/o/hn,hn/o/hd,human/humanoid,humanoid/human,humanoid_on_human"
+red_clothing,0,24152,red_clothes
+partially_retracted_foreskin,0,24147,
+floppy_ears,0,23895,"droopy_ears,flopped_ear,flopped_ears,floppy_ear,flopy_ear,flopy_ears,v-shaped_ear,v-shaped_ears,v_shaped_ear,v_shaped_ears"
+chain,0,23882,chains
+mythological_avian,5,23822,
+hair_ribbon,0,23775,hair_ribbons
+pattern_clothing,0,23731,
+thong,0,23695,thongs
+bone,0,23637,bones
+lutrine,5,23595,"anthro_lutrine,anthro_otter,feral_lutrine,feral_otter,lutrinae,otter,otters"
+puffy_anus,0,23569,"donut_anus,doughnut_asshole,ponut,puffy_asshole,puffy_butthole"
+bell,0,23547,bells
+fingerless_gloves,0,23382,"fingerless_glove,gloves_cutoffs"
+sex_toy_insertion,0,23350,
+holding_weapon,0,23313,
+big_areola,0,23292,"big_areolae,big_areolas,large_areola,large_areolae,large_areolas"
+pink_areola,0,23256,"pink_areolae,pink_areolas"
+loop,7,23234,"looping,looping_animation"
+canine_humanoid,5,23222,
+cum_on_breasts,0,23186,"boob_cumshot,cum_on_boob,cum_on_boobs,cum_on_breast,cum_on_tits"
+3_fingers,0,23065,"3-fingers,3_figner,3_fignered,3_figners,3_finger,3_fingered,3f,three_figner,three_fignered,three_figners,three_finger,three_fingered,three_fingers"
+parent_and_child,0,23062,child_and_parent
+glistening_body,0,23060,shiny_body
+cum_on_butt,0,22982,"cum_on_ass,cum_on_booty"
+bow_accessory,0,22946,
+book,0,22920,books
+non-mammal_nipples,0,22895,
+semi-anthro,0,22829,"semi-feral,semi_anthro,semi_feral,semianthro"
+musteline,5,22800,"anthro_musteline,mustelinae"
+cum_inflation,0,22736,"cum_belly,cum_bulge,cumflation,spooge_inflation"
+fondling,0,22726,fondle
+male/ambiguous,0,22653,"?/m,?/male,a/m,ambiguous/male,ambiguous_gender/male,ambiguous_gender_on_male,ambiguous_on_male,m/?,m/a,male/?,male/ambiguous_gender,male_on_ambiguous,male_on_ambiguous_gender"
+titfuck,0,22567,"boob_fuck,boob_job,boobjob,breast_fuck,breast_job,paizuri,pazuri,tit_fuck,tit_fucking,tit_job,titfucking,titjob,titty_fuck,tittyfuck"
+bedding,0,22559,
+hands_behind_back,0,22520,"arms_behind_back,arms_in_back"
+gynomorph_penetrating,0,22512,"dgirl_penetrating,dickgirl_penetrating,newhalf_penetrating,shemale_penetrating"
+white_balls,0,22497,
+elemental_creature,5,22468,"earth_(elemental),earth_creature,earth_elemental,element_creature,element_fauna,elemental_(creature),elemental_fauna,nature_elemental"
+question_mark,0,22454,"?,??,???,question_sign"
+2011,7,22393,
+hair_over_eye,0,22343,"hair_covering_eye,hair_over_one_eye"
+anatomically_correct,0,22255,correct_anatomy
+open_topwear,0,22242,
+male_pov,0,22239,
+younger_male,0,22189,
+warcraft,3,22044,"world_of_warcraft,worldofwarcraft,wow"
+spread_pussy,0,22026,"pussy_spread,pussy_spreading,spread_vagina,spreading_pussy,spreading_vagina,spreadpussy,visible_vagina"
+goggles,0,22000,"goggle,googles"
+christmas,3,21994,xmas
+licking_lips,0,21967,":9,licking_chops,licking_lip,lip_lick,lips_lick"
+choker,0,21954,"chocker,chokers"
+dark_body,0,21944,
+sweater,0,21928,
+rarity_(mlp),4,21913,"elusive_(mlp),lil_miss_rarity,rarity"
+costume,0,21913,"costumes,outfit,outfits"
+big_ears,0,21850,large_ears
+webcomic,0,21816,web_comic
+sound,7,21808,audio
+black_border,0,21761,
+pinkie_pie_(mlp),4,21755,"bubble_berry_(mlp),kinky_pie,pinkie_pie,pinky_pie,pinky_pie_(mlp)"
+featureless_breasts,0,21661,featureless_breast
+gaping,0,21658,gape
+anthro_on_feral,0,21562,"a/o/f,an/fe,anthro/feral,anthro_bestiality,f/o/a,fe/an,feral/anthro,feral_on_anthro"
+romantic_couple,0,21558,"couple_(romantic),mates,romantic_duo"
+hair_bow,0,21544,"bow_in_hair,hairbow"
+half-erect,0,21459,"half-erected,half-erection,half-flaccid,half-flaccid_penis,half-mast,half_erect,half_erected,half_erection,half_flaccid,half_flaccid_penis,half_flacid,half_mast,halfmast,partial_erection,partially_erect,semi-erect,semi-erect_penis,semi-erection,semi_erect,semi_erect_penis,semi_erection"
+toony,0,21429,"cartoony,toon"
+sunglasses,0,21378,"shades,sun_glasses,sunglases"
+musclegut,0,21351,"dad_bod,muscle-chub,muscle-gut,muscle_chub,muscle_gut,musclechub"
+crocodilian,5,21349,"crocodilan,crocodilia,crocodillia,crocodillian,crocodylia,crocodylian,crocodyliform,crocodyliforme,crocodyllia"
+fin,0,21304,fins
+smirk,0,21290,smirking
+lucario,5,21244,shiny_lucario
+saliva_string,0,21234,"drool_string,saliva_trail,spit_string"
+mephitid,5,21177,
+black_claws,0,21158,black_claw
+foot_focus,0,21122,"feet_focus,paw_focus,presenting_feet,presenting_foot,presenting_paw,presenting_paws"
+alcohol,0,21099,booze
+green_skin,0,21077,
+pink_pawpads,0,20993,"pink_paw_pad,pink_paw_pads,pink_pawpad"
+hand_on_leg,0,20987,
+close-up,0,20968,"close_up,closeup,up_close"
+cuff_(restraint),0,20922,bondage_cuffs
+multi_genitalia,0,20887,"extra_genital,extra_genitals,multi_genital,multi_genitals,multigenital,multigenitals,multiple_genital,multiple_genitalia,multiple_genitals,mutliple_genitals"
+skunk,5,20801,"brown_skunk,reverse_skunk,skunks"
+long_tongue,0,20793,
+model_sheet,7,20787,"character_design,character_profile,character_reference,character_sheet,modelsheet,ref,ref_sheet,reference,reference_page,reference_picture,reference_sheet,referencesheet,reff_sheet,refsheet"
+human_penetrating_anthro,0,20753,hn/p/a
+countershade_torso,0,20705,countershaded_torso
+cum_on_body,0,20692,cum_outside
+cup,0,20690,"beverage_cup,cups,drink_cup,drinking_cup"
+blue_penis,0,20677,"blue_cock,blue_dick,cyan_penis"
+white_skin,0,20643,
+pivoted_ears,0,20558,"pivoted_ear,swivel_ear,swivel_ears,swiveled_ear,swiveled_ears"
+bouncing_breasts,0,20523,"bouncing_breast,bouncing_tits,bouncy_breast,breast_bounce,jiggling_breasts,swinging_breasts"
+white_tail,0,20474,
+patreon,3,20465,
+renamon,5,20447,male_renamon
+hand_on_head,0,20447,hands_on_head
+tokyo_afterschool_summoners,3,20401,housamo
+cum_string,0,20393,"cum_strings,cumstring"
+big_nipples,0,20383,"big_nipple,large_nipple,large_nipples"
+edit,7,20349,"edited,fan_edit,third-party_edit"
+duo_focus,0,20340,
+nose_ring,0,20339,"nose-ring,nosering"
+amber_eyes,0,20322,
+webcomic_character,4,20273,
+medial_ring,0,20257,median_ring
+helmet,0,20179,helmets
+bouncing_balls,0,20081,"bouncy_balls,swinging_balls"
+male_on_feral,0,20066,"feral/male,feral_on_male"
+bow_tie,0,20054,"bow-tie,bowtie"
+male_on_human,0,19994,
+orgasm_face,0,19947,"o-face,o_face,oh_face"
+genital_piercing,0,19928,genital_piercings
+milk,0,19836,breast_milk
+two_tone_tail,0,19803,
+foot_play,0,19790,"footplay,paw_play,pawplay"
+riot_games,3,19754,
+gagged,0,19725,
+league_of_legends,3,19722,
+herm,0,19717,"feral_herm,hermaphrodite"
+white_feathers,0,19704,
+3:2,7,19689,
+sheep,5,19628,"ewe,lamb,ovine,sheep_boy"
+capcom,3,19628,
+hands_behind_head,0,19593,arms_behind_head
+child,0,19545,"children,kid,kids,preteen"
+furred_dragon,5,19514,"fluff_dragon,fluffy_dragon,furdragon,furdrake,furry_dragon"
+asian_mythology,3,19495,
+heterochromia,0,19488,"bi-colored_eyes,different_colored_eyes,heterochromia_iridum,hetrochromia,multi-color_eyes,multi_colour_eyes,two_colored_eyes"
+rimming,0,19409,"analingus,anilingus,ass_eating,ass_licking,butt_eating,eating_ass,licking_anus,rim,rim_job,rimjob,tongue_in_anus"
+rat,5,19402,
+east_asian_mythology,3,19388,
+bottomwear_down,0,19251,
+colored_nails,0,19196,"coloured_nails,nail_polish,painted_nails,polished_nails"
+towel,0,19192,towels
+suina,5,19089,"hog,porcine,procine,suiforme,suiformes,swine"
+werecanine,5,19087,werefolf
+sister,0,19085,
+multi_penis,0,19042,"multi-cock,multi-penis,multi_cock,multi_cocks,multi_dick,multicock,multipenis,multiple_cock,multiple_cocks,multiple_penis,multiple_penises"
+applejack_(mlp),4,18995,"apple_jack,apple_jack_(mlp),applejack,applelion_(mlp),tatzljack"
+raised_arm,0,18985,"arm_lift,arm_lifted,arm_lifting,arm_raise,arm_raised,arm_up,lift_arm,lifted_arm,lifting_arm,one_arm_raised,one_arm_up"
+denim,0,18919,
+sand,0,18910,
+ailurid,5,18855,ailuridae
+pants_down,0,18804,pants_drop
+brother,0,18804,
+princess_celestia_(mlp),4,18782,"celestia,celestia_(mlp),char_princess_celestia_(mlp),prince_malestia_(mlp),princess_celestia,princess_trollestia_(mlp),solaris_(mlp),sunbutt,trollestia,trollestia_(mlp)"
+ring,0,18756,rings
+asian_clothing,0,18724,
+denim_clothing,0,18716,
+frown,0,18647,":(,frowned,frowning"
+animatronic,5,18561,animatronics
+east_asian_clothing,0,18526,
+cum_on_ground,0,18497,cum_on_floor
+fennec,5,18493,"desert_fox,fennec_fox,fennecfox,fenneck,fennek,fennek_fox,fennic,fennic_fox,vulpes_zerda"
+red_panda,5,18490,"blue_panda,green_panda,wah"
+the_legend_of_zelda,3,18452,"legend_of_zelda,legend_of_zelda_(series),tloz"
+rainbow_hair,0,18446,long_rainbow_hair
+ineffective_censorship,0,18410,"ineffective_censoring,pointless_censoring,useless_censorship"
+looking_away,0,18407,"facing_away,looking_away_from_viewer,looking_left,looking_right"
+mother,0,18404,"mom,mommy,moms,mothers"
+werewolf,5,18379,"lycanthrope,were-wolf,were_werewolf,werevolfe,werewolf_form,werewolves,werewuff"
+green_scales,0,18257,
+imminent_sex,0,18252,"before_sex,imminent_penetration,impending_sex,inminent_sex"
+antennae_(anatomy),0,18240,"antenna,antenna_(anatomy),antenna_(biology),antenna_(feature),antennae,antennae_(biology),antennae_(feature),antennaes,antennas,antennas_(anatomy),antennas_(biology),antennas_(feature)"
+princess_luna_(mlp),4,18200,"luna_(mlp),lunaughty,prince_artemis_(mlp),princess_luna,trolluna,trolluna_(mlp)"
+gryphon,5,18168,"griffen,griffin,griffon,gryphoness"
+mind_control,0,18164,
+primate,5,18123,
+ursine,5,18062,
+urine,0,18053,soft_watersports
+braided_hair,0,18009,"braid,braids,plait"
+dark_skin,0,18006,"dark-skinned_female,dark-skinned_male,dark_skinned,dark_skinned_female,dark_skinned_human,dark_skinned_male,darkskin"
+looking_at_partner,0,17972,
+leaning,0,17965,lean
+thick_tail,0,17904,fat_tail
+brown_nose,0,17900,
+looking_back_at_viewer,0,17882,
+ball_gag,0,17864,"ball-gag,ballgag,gag_ball,gagball"
+frame_by_frame,7,17855,
+suid,5,17852,"suidae,suids"
+genital_slit,0,17839,"cock_slit,genital_slits,genital_vent"
+generation_8_pokemon,5,17839,"gen_8_pokemon,gen_8_pokémon,gen_eight_pokemon,gen_eight_pokémon,generation_8_pokémon,generation_eight_pokémon,generation_viii_pokemon,generation_viii_pokémon"
+against_surface,0,17792,
+cum_on_balls,0,17789,
+translucent_hair,0,17772,"see-through_hair,transparent_hair"
+leg_grab,0,17760,grabbing_leg
+multi_limb,0,17756,"multi-limb,multi_limbs,multiple_limbs"
+flora_fauna,5,17597,"animal_flora_hybrid,animal_plant_hybrid,fauna/flora,fauna/plant,fauna_flora,fauna_plant,flora/fauna,flora_boy,flora_elemental,flora_girl,grass_elemental,living_flora,living_plant,plant/fauna,plant_boy,plant_creature,plant_elemental,plant_fauna,plant_girl"
+anatomically_correct_genitalia,0,17556,
+sea,0,17487,ocean
+nipple_fetish,0,17429,
+sexual_barrier_device,0,17403,"barrier_contraceptive,sex_barrier,sex_barriers,sexual_barrier,sexual_barriers"
+condom,0,17354,condoms
+sus_(pig),5,17311,
+genital_outline,0,17306,"genital_bulge,genitalia_bulge,genitalia_outline"
+micro,0,17250,"microphile,microphilia"
+nipple_play,0,17249,"flicking_nipple,flicking_nipples,fondling_nipple,fondling_nipples,nipple_flick,nipple_flicking,nipple_fondle,nipple_fondling,nipple_fuck,nipple_rub,nipple_rubbing,nipple_stimulation,nipple_tease,nipple_teasing,nipples_flick,nipples_flicking,nipples_fondle,nipples_fondling,nipples_rub,nipples_rubbing,nipples_stimulation,nipples_tease,nipples_teasing,rub_nipple,rub_nipples,rubbing_nipple,rubbing_nipples,stimulating_nipple,stimulating_nipples"
+raccoon_dog,5,17217,nyctereutes
+snow,0,17169,
+equine_pussy,0,17090,"equine_vulva,horse_pussy,horse_vulva,horsecunt"
+looking_aside,0,17066,looking_to_side
+sucking,0,17057,suck
+spread_butt,0,17043,"ass_spread,ass_spreading,booty_spread,booty_spreading,butt_spread,butt_spreading,speading_ass,spread_ass,spread_booty,spreading_ass,spreading_booty,spreading_butt,spreading_cheeks,spreading_rear"
+boss_monster,5,17013,
+story,7,17005,
+spotted_hyena,5,16954,"laughing_hyena,spotted_hyena_(species)"
+loincloth,0,16936,"lioncloth,loin_cloth"
+tanuki,5,16861,tanooki
+4k,7,16850,
+butt_focus,0,16844,"ass_focus,booty_focus"
+self_lick,0,16809,"lick_self,licking_self,self_licking"
+expansion,0,16791,
+knotting,0,16783,knotted
+hand_behind_head,0,16773,arm_behind_head
+striped_clothing,0,16743,"striped_clothes,stripped_clothing"
+tree_squirrel,5,16676,
+toying_self,0,16639,
+square_enix,3,16593,
+censor_bar,0,16589,"bar_censor,black_rectangles,censor_bars"
+retracted_foreskin,0,16577,
+5:6,7,16532,
+medium_breasts,0,16531,medium_breast
+anal_masturbation,0,16521,
+teats,0,16503,crotch_nipples
+kerchief,0,16472,
+unknown_species,5,16436,"creature,uknown_species,unkown_species"
+panting,0,16430,"heavy_breathing,huffing,pant"
+bandage,0,16397,"bandaged,bandages,bandaging"
+harness,0,16377,"bdsm_harness,harnesses"
+male_on_top,0,16375,
+light_body,0,16349,
+translucent_clothing,0,16337,"see-through_clothes,see-through_clothing,see-thru_clothes,see-thru_clothing,see_through_clothes,see_through_clothing,see_thru_clothes,see_thru_clothing,sheer_clothing,transparent_clothes,transparent_clothing"
+9:16,7,16328,
+huge_thighs,0,16314,
+line_art,7,16313,"line-art,line_drawing,lineart,linework"
+slim,0,16249,"lanky,lithe,petite,slender,thin"
+sex_toy_in_ass,0,16227,sextoy_in_ass
+cellphone,0,16207,"cell_phone,mobile_phone"
+blue_nipples,0,16187,"blue_nipple,cyan_nipples"
+anal_orgasm,0,16185,orgasm_from_anal
+japanese_clothing,0,16174,"japan_clothes,japan_clothing,japanese_clothes"
+fishnet,0,16172,"fish_nets,fishnets,mesh"
+elf,5,16170,"elf_(species),elves"
+standing_sex,0,16166,
+giant_panda,5,16144,"panda,panda_bear,pandas"
+shaking,0,16126,
+pseudo_hair,0,16084,"pseudo-hair,pseudohair"
+under_boob,0,16058,underboob
+red_fox,5,16047,"anthro_red_fox,red_foxes,siberian_fox,vulpes-vulpes,vulpes_vulpes"
+not_furry_focus,0,16044,
+rock,0,15957,"rock_(geology),rock_(mineral),rocks,stone,stone_(geology),stone_(mineral)"
+cutaway,0,15944,inset
+jackal,5,15930,
+chest_hair,0,15916,hairy_chest
+2010,7,15836,
+spiked_collar,0,15824,"spike_collar,spiky_collar"
+son,0,15821,
+older_male,0,15821,
+small_waist,0,15812,"narrow_waist,slender_waist,slim_waist,thin_waist,thing_waist"
+rouge_the_bat,4,15673,"rogue_the_bat,rouge_outfit"
+vibrator,0,15667,"anal_vibrator,vibe,vibrators"
+diaper,0,15654,"diapers,nappies,nappy,thick_diaper"
+growth,0,15647,
+eye_patch,0,15629,"eyepatch,pirate_patch"
+cape,0,15602,
+cum_on_chest,0,15596,cum_on_pecs
+pink_clothing,0,15587,pink_clothes
+open_shirt,0,15567,"openshirt,shirt_open"
+partially_submerged,0,15561,"in_water,submerged,wading"
+activision,3,15556,
+shackles,0,15555,shackle
+lynx,5,15547,"anthro_lynx,feral_lynx,lynk"
+striped_markings,0,15501,"stripe_(marking),stripe_(markings),striped_(marking),striped_(markings),striped_marking,stripes_(marking),stripes_(markings)"
+candy,0,15481,
+amphibian,5,15472,"amphibia,lissamphibian"
+deep_throat,0,15445,"deepthroat,throatfuck"
+larger_anthro,0,15433,
+human_focus,0,15424,focus_on_human
+huge_muscles,0,15411,
+hunting_dog,5,15388,
+vaginal_fingering,0,15376,"finger_in_pussy,fingering_pussy,pussy_fingering"
+balls_deep,0,15356,
+suit,0,15353,
+cheetah,5,15344,"albino_cheetah,snow_cheetah,spotless_cheetah"
+humanoid_penetrated,0,15340,
+blue_scales,0,15337,cyan_scales
+kobold,5,15281,
+clothing_aside,0,15274,clothes_aside
+pink_background,0,15263,"light_pink_background,light_pink_bg,pink_bg"
+species_transformation,0,15255,"animal_transformation,donkey_transformation,species_tf"
+small_dom_big_sub,0,15239,"big_sub,big_sub_small_dom,big_submissive,large_sub,large_submissive,little_dom,little_dom_big_sub,little_dominant,small_dom,small_dom_large_sub,small_dominant"
+tail_motion,0,15223,tail_wave
+biting_lip,0,15162,"bite_lip,biting_lips,lip_bite,lip_biting,lipbite"
+snow_leopard,5,15142,"snep,snowleapoard,snowleopard"
+eye_roll,0,15140,"eye_rolling,eyeroll,eyes_rolled_back,rolled_eyes,rolleyes,rolling_eyes"
+smoking,0,15129,
+tentacle_sex,0,15048,tentacle_porn
+story_in_description,7,15035,story_in_the_description
+red_penis,0,15035,"red_cock,red_dick"
+halloween,3,14979,"halloween_2018,halloween_2019,halloween_2020,nightmare_night"
+artist_name,7,14905,
+steam,0,14900,steamy
+sonic_the_hedgehog,4,14889,"sonic_(character),sonic_(sonic),sonica_(sonic),sonica_the_hedgehog"
+penis_size_difference,0,14826,"cock_size_difference,dick_size_difference,dong_size_difference,shaft_size_difference"
+fucked_silly,0,14826,
+mollusk,5,14798,mollusc
+bandanna,0,14755,bandana
+gynomorph/male,0,14685,"d/m,dickgirl/male,dickgirl_on_male,gm/m,gynomorph_on_male,m/d,m/gm,male/dickgirl,male/gynomorph,male_on_dickgirl,male_on_gynomorph,newhalf_with_male,shemale_on_male"
+white_eyes,0,14665,"white_eye,white_iris,white_irises"
+holding_breast,0,14654,"breast_hold,breast_lift,breast_lifting,holding_breasts,holding_own_breast,lifting_breast"
+larger_penetrated,0,14629,"small_penetrator_big_penetrated,smaller_penetrating,smaller_penetrating_larger"
+building,0,14627,buildings
+spikes_(anatomy),0,14608,
+spirit,5,14575,spectral
+shirt_lift,0,14548,"lift_shirt,lifted_shirt,lifting_shirt,shirt_lifted"
+t-shirt,0,14539,"t_shirt,tee-shirt,tee_shirt,teeshirt,tshirt"
+leaking,0,14480,
+tools,0,14463,tool
+purple_background,0,14463,"dark_purple_background,dark_purple_bg,light_purple_background,light_purple_bg,purple_bg"
+theropod,5,14418,"megaraptora,megaraptorian,megaraptorid,megaraptoridae,therapod"
+big_tail,0,14354,large_tail
+on_ground,0,14341,"on_floor,on_the_ground"
+barazoku,0,14319,bara
+underwear_down,0,14318,
+cum_on_tongue,0,14315,
+high_framerate,7,14270,
+long_penis,0,14257,"long_cock,long_dick"
+oral_vore,0,14246,
+crossed_arms,0,14246,"arms_across_chest,arms_crossed,arms_folded,cross_arm,cross_arms,crossed_arm,crossing_arm,crossing_arms,folded_arms,folding_arms"
+tailwag,0,14197,"tail_swish,tail_wag,tail_wagging,wagging,wagging_tail"
+multi_arm,0,14191,"multi-arm,multi-arms,multi_arms,multiple_arm,multiple_arms"
+flying,0,14184,flight
+helluva_boss,3,14172,
+penile_spines,0,14158,"barb_penis,barbed,barbed_cock,barbed_penis,barbs,penile_spine,penis_barbs,spine_penis,spined_penis"
+cum_on_leg,0,14146,"cum_on_legs,cum_on_thigh,cum_on_thighs"
+green_clothing,0,14127,green_clothes
+yellow_feathers,0,14120,"gold_feathers,golden_feathers"
+reverse_cowgirl_position,0,14120,"reverse-cowgirl,reverse_cowgirl"
+older_female,0,14120,"gilf,gmilf"
+hypnosis,0,14111,"hypnotised,hypnotism,hypnotized,hypnotizing"
+patreon_logo,0,14093,
+dock,0,14086,
+black_pawpads,0,14086,"black_paw_pad,black_paw_pads,black_pawpad,blakc_pawpads"
+tan_skin,0,14063,"beige_skin,burlywood_skin,cream_skin,peach_skin"
+plump_labia,0,14055,"fat_pussy,plmup_labia,plumb_labia,plump_pussy,plump_vag,plump_vagina,puffy_labia,puffy_pussy,puffy_vag,puffy_vagina"
+macropod,5,14051,"kangaroo_family,macropodid,macropodidae"
+black_tail,0,14031,
+countershade_face,0,13994,
+cosplay,0,13971,"cosplayer,cosplaying,cosplaying_,costume_play,costume_player,costume_playing,kosupure,コスプレ"
+teasing,0,13953,tease
+city,0,13940,
+purple_skin,0,13928,violet_skin
+dreamworks,3,13899,
+warner_brothers,3,13894,"warner_bros,warner_bros."
+gardevoir,5,13890,shiny_gardevoir
+reclining,0,13885,"recline,reclined"
+blue_nose,0,13868,cyan_nose
+exposed_breasts,0,13861,"breasts_exposed,breasts_out,exposed_breast,exposing_breasts,uncovered_breasts"
+talking_to_viewer,0,13835,speaking_to_viewer
+glistening_eyes,0,13831,"eye_shine,eye_shines,eye_shining,eyes_shining,eyeshine,reflective_eyes,shine_eyes,shiney_eye,shiney_eyes,shining_eye,shining_eyes,shiny_eye,shiny_eyes,tapeta_lucida"
+gem,0,13805,"gems,gemstone,jewel,jewels"
+holding_penis,0,13778,holding_cock
+jeans,0,13774,"denim_pants,skinny_jeans"
+eating,0,13771,eat
+covering,0,13702,covered
+black_skin,0,13689,blakc_skin
+athletic_anthro,0,13665,
+nature,0,13641,
+leopard,5,13619,"black_leopard,leapord,melanistic_leopard,pink_leopard,spotted_leopard,strawberry_leopard,white_leopard"
+high-angle_view,0,13584,"above_view,from_above,high-angle,high-angle_shot,high_angle_shot,high_angle_view,top_down_perspective,top_view"
+presenting_penis,0,13583,
+gaping_anus,0,13540,"anal_gape,anal_gaping"
+canine_pussy,0,13509,"canine_vagina,canine_vulva,dog_pussy,dogina"
+koopa,5,13507,albinokoopasona
+andromorph,0,13505,"andro_morph,c-boy,c_boy,cboy,cunniboi,cunniboy,cunnyboi,cunnyboy,cunt_boy,cunt_man,cunt_men,cuntboi,cuntboy,cuntboys,cuntman,cuntmen,female_to_male_trans,female_to_male_trans_gender,female_to_male_trans_sexual,female_to_male_transgender,female_to_male_transsexual,feral_andromorph,ftm_trans,ftm_trans_gender,ftm_trans_sexual,ftm_transgender,ftm_transsexual,intersex_male,man_with_a_pussy,man_with_a_vagina,man_with_pussy,man_with_vagina,masculine_intersex,men_with_a_pussy,men_with_pussies,men_with_pussy,men_with_vaginas,muscular_pussy_boy/breastless_female,pussy_boy,pussyboy"
+striped_tail,0,13496,
+light_skin,0,13477,
+pikachu,5,13467,
+leaf,0,13456,leaves
+ellipsis,0,13455,"...,ellipses,…"
+shiny_pokemon,5,13399,"shiny_(pokemon),shiny_(pokémon),shiny_pokémon,shinypokemon,shinypokémon"
+bethesda_softworks,3,13387,bethesda_game_studios
+goo_creature,5,13367,"goo_boy,goo_girl,goo_monster,goo_pony,gooboy,googirl,living_goo,living_slime,monster_slime,slime_creature,slime_girl,slime_monster"
+straddling,0,13326,"straddle,straddled"
+intersex_penetrated,0,13309,"futa_penetrated,futanari_penetrated"
+musk,0,13305,musky
+horned_humanoid,5,13276,
+bust_portrait,7,13276,"bust,bust_shot"
+bouncing_butt,0,13276,"bouncing_ass,bouncing_booty"
+casual_nudity,0,13238,
+eyebrow_through_hair,0,13200,"eyebrow_clipping_through_hair,eyebrow_visible_through_hair,eyebrows_clipping_through_hair,eyebrows_through_hair,eyebrows_visible_through_hair"
+mother_and_child,0,13184,"child/mother,child_and_mother,child_mother,mother/child,mother_child"
+grey_eyes,0,13181,"gray_eyes,silver_eyes"
+hand_holding,0,13169,"hand_in_hand,handholding,holding_hand,holding_hands,holdinghands"
+v_sign,0,13161,"peace_gesture,v-gesture,v-sign,v_gesture,victory_gesture,victory_sign,✌"
+galliform,5,13156,"galliforme,galliformes,gallinaceous,gallinaceous_bird,game_bird,game_fowl,gamebird,gamefowl,land_fowl,landfowl"
+gold_(metal),0,13154,
+final_fantasy,3,13153,
+true_musteline,5,13152,
+blush_lines,0,13128,
+phasianid,5,13109,"phasianidae,phasianinae,pheasant"
+european_mythology,3,13095,
+royalty,0,13067,royal
+grey_skin,0,13046,gray_skin
+septum_piercing,0,13041,
+crop_top,0,13030,"croptop,midriff_baring_shirt,short_shirt"
+taur,5,13008,"species_taur,winged_taur"
+smoke,0,12966,
+egg,0,12956,eggs
+penis_outline,0,12938,"camel_tail,visible_penis_line,vpl"
+fox_humanoid,5,12928,"foxmorph,humanoid_fox,kitsunemimi,kitsunemusume,kyubimimi"
+inverted_nipples,0,12906,"inverted_nipple,inverted_nipple_slits"
+kangaroo,5,12884,roo
+half-length_portrait,7,12879,"half_length_portrait,half_portrait,halfbody_portrait"
+german_shepherd,5,12869,"alsatian,american_white_shepherd,german-shepard,german_shep,german_shepard,german_shepard_dog,german_sheperd,german_sheperd_dog,german_shephed,german_shepherd_dog,german_sheppard,german_sherherd,german_sherpard_dog,germanshepard,germansheperd,germanshepherd,gsd,gshep,white_american_shepherd,white_german_shepherd,white_shepherd"
+highlights_(coloring),0,12845,"accent_streak,accent_streaks,colored_hair,colorized_hair,dyed,dyed_hair,frosted_tip,frosted_tips,hair_highlight,hair_highlighting,hair_highlights,hair_lowlighting,hair_lowlights,hair_marking,hair_markings,hair_streak,hair_streaks,highlight,highlight_(color),highlight_(coloring),highlight_in_hair,highlight_in_hairs,highlighted_hair,highlighting,highlighting_(color),highlighting_(coloring),highlights,highlights_(color),highlights_in_hair,highlights_in_hairs,streaked_hair"
+bent_legs,0,12834,legs_bent
+bottle,0,12832,bottles
+skull,0,12828,skulls
+black_topwear,0,12828,
+female_on_anthro,0,12809,"anthro/female,anthro_on_female,female/anthro"
+cum_on_belly,0,12806,cum_on_stomach
+coat,0,12795,
+garter_straps,0,12766,garter_strap
+arm_support,0,12752,
+father,0,12743,"dad,daddy"
+what,0,12738,"dafuq,lolwut,no,no_seriously_what,random,strange,wait_what,wat,weird,what?,what_is_this_i_don't_even,what_is_this_i_dont_even,what_the_christ,what_the_fuck,what_the_fucking_fuck,what_the_shit,wtf,wut"
+hand_on_penis,0,12713,"hand_on_cock,hand_on_dick,hands_on_penis"
+peeing,0,12661,"pee,piss,pissing,urinate,urinating,urination"
+glass,0,12602,
+penetrating_pov,0,12583,
+animate_inanimate,5,12583,"inanimate,living_object"
+plushie,0,12530,"plush,plush_doll,plush_toy,plushes,plushies,plushy,stuffed_animal,stuffed_animals,stuffed_toy"
+letterbox,0,12529,letterboxed
+being_watched,0,12493,"onlooker,onlookers,watched,watching"
+female_anthro,0,12481,
+miles_prower,4,12474,"melissa_""tailsko""_prower,miles_""tails""_prower,miles_tails_prower,millie_prower,tails_(sonic),tails_(sonic_the_hedgehog),tails_the_fox,tails_the_kitsune,tailsko,tailsko_(sonic)"
+red_skin,0,12447,
+obese_anthro,0,12404,
+marine_humanoid,5,12402,
+dildo_insertion,0,12368,
+tail_accessory,0,12367,
+sony_corporation,3,12367,"sony,sony_corporation_of_america,sony_of_america,sony_of_japan"
+fully_sheathed,0,12361,sheathed
+magic_user,0,12353,"archmage,enchanter,enchantress,mage,magus,sorcerer,sorceress,spellcaster,warlock,wizard"
+shy,0,12344,
+french_kissing,0,12335,"french_kiss,tongue_kiss,tongue_kissing,tongue_to_tongue"
+greek_mythology,3,12331,
+haplorhine,5,12324,"haplorhines,haplorhini,haplorrhini"
+vest,0,12321,"waist_coat,waistcoat"
+red_scales,0,12299,
+sony_interactive_entertainment,3,12263,"sie_worldwide_studios,sony_computer_entertainment,sony_interactive_entertainment_llc,sony_interactive_entertainment_worldwide_studios"
+intersex_penetrating_female,0,12227,i/p/fm
+looking_at_genitalia,0,12225,looking_at_genitals
+wide_eyed,0,12214,"bug-eyed,bug_eyed,bugeyed,eye_wide,eye_widen,eye_widening,eyes_wide,eyes_wide_open,eyes_widen,eyes_widening,wide-eyed,wide_eyes"
+red_sclera,0,12201,"red_eye_membrane,red_eye_white,red_eye_whites,red_outer_eye,red_sclerotic_coat,red_white_of_the_eye,red_white_of_the_eyes,red_whites_of_the_eye,red_whites_of_the_eyes"
+zebra,5,12184,zebras
+serpentine,0,12183,
+three-quarter_view,0,12160,"3/4_view,three_quarter_view"
+hand_on_thigh,0,12151,
+talons,0,12134,talon
+no_underwear,0,12109,"going_commando,no_panties,nopan"
+pink_pussy,0,12108,"pink_cunt,pink_labia,pink_twat,pink_vag,pink_vagina,pink_vulva"
+apron,0,12083,
+black_background,0,12074,"black_bg,blakc_background,blakc_bg"
+spitroast,0,12067,"spit_roast,spitraost,spitroast_position,spitroasted,spitroasting"
+amy_rose,4,12066,"amy_rouge,amy_the_hedgehog"
+inviting,0,12048,"asking_for_it,invitation,invite"
+facesitting,0,11997,"face_sitting,sitting_on_face"
+digital_painting_(artwork),7,11966,digital_painting
+passerine,5,11958,
+scared,0,11945,"afraid,fear,fright,frightened,scare,terrified"
+text_on_clothing,0,11943,
+precum_drip,0,11943,dripping_precum
+smaller_human,0,11939,
+intersex/intersex,0,11929,"andromorph/intersex,andromorph_on_intersex,cuntboy/intersex,dickgirl/intersex,futa_on_futa,gynomorph/intersex,gynomorph_on_intersex,herm/intersex,herm_on_intersex,i/i,intersex/andromorph,intersex/cuntboy,intersex/dickgirl,intersex/gynomorph,intersex_on_intersex"
+feral_penetrating_feral,0,11926,f/p/f
+robe,0,11906,robes
+green_background,0,11904,"dark_green_background,dark_green_bg,green_bg,light_green_background,light_green_bg,lime_background"
+oscine,5,11900,
+undead,5,11887,
+krystal,4,11884,
+white_countershading,0,11882,
+multi_eye,0,11866,"extra_eyes,multi-eye,multi-eyes,multi_eyed,multi_eyes,multiple_eye,multiple_eyed,multiple_eyes"
+spread_wings,0,11863,"spread-wings,spreading_wings,wings_spread"
+penis_piercing,0,11839,"cock_piercing,dick_piercing,penile_piercing,pierced_penis"
+dancing,0,11831,"dance,dancer"
+shower,0,11825,
+black_scales,0,11794,blakc_scales
+jockstrap,0,11774,jock_strap
+gangbang,0,11747,"blowbang,gang-bang,gang_bang"
+brown_tail,0,11747,
+ghost,5,11732,"ghost_girl,ghosts"
+blue_tail,0,11732,cyan_tail
+footjob,0,11701,"feet_job,feet_jobs,feetjob,feetjobs,foot_job,foot_jobs,footjobs,hoofing,pawjob"
+tail_feathers,0,11658,"bird_tail,feather_tail,tail_feather,tailfeathers"
+briefs,0,11645,breifs
+impregnation,0,11621,"fertilisation,fertilization,impregnant"
+umbreon,5,11616,shiny_umbreon
+chibi,0,11612,
+questionable_consent,0,11583,"dubcon,dubious_consent,possible_rape,pseudo_rape,pseudorape,rapey"
+cigarette,0,11559,cigarettes
+capreoline,5,11546,
+skinsuit,0,11541,skin_suit
+ear_tuft,0,11538,ear_tufts
+white_topwear,0,11503,
+flexing,0,11489,flex
+rope_bondage,0,11488,roped
+smiling_at_viewer,0,11487,
+canid_demon,5,11485,
+toy_dog,5,11453,
+polar_bear,5,11448,polarbear
+unusual_anatomy,0,11447,
+dildo_sitting,0,11446,"dildo_sit,sitting_on_dildo"
+graphite_(artwork),7,11439,graphite_art
+pink_glans,0,11432,
+blue_tongue,0,11429,"blue_tounge,cyan_tongue"
+:3,0,11414,
+penis_tip,0,11406,"cocktip,partially_sheathed,tip_of_penis"
+mature_male,0,11399,"dilf,mature_man"
+toriel,4,11395,"goat_mom,goatmom"
+nervous,0,11390,
+cum_splatter,0,11388,"cum_splat,cum_squirt"
+black_balls,0,11388,
+clothed_sex,0,11366,
+small_penis,0,11363,"small_cock,small_dick,tiny_penis"
+death,0,11361,dead
+changeling,5,11329,changling
+hand_on_stomach,0,11295,hand_on_belly
+16:10,7,11287,"1280x800,1440x900,1600x1000,1680x1050,1920x1200,2560x1600,8:5"
+smaller_anthro,0,11286,
+blep,0,11239,mlem
+alternate_version_at_source,7,11209,"additional_images_at_source,alt_at_source,alt_version_at_source,alternate_version,alternate_version_available,alternate_versions,alternate_versions_available,alternative_version,alternative_version_at_source,alternative_version_available,alternative_versions,alternative_versions_available,avas,different_version_at_source,more_at_source"
+long_playtime,7,11193,>30_second_webm
+sonic_the_hedgehog_(comics),3,11190,"satam,sonic_comic,sonic_comics,sonic_satam,sonic_universe_(comic)"
+drinking,0,11183,
+spade_tail,0,11144,"demon_tail,devil_tail,spaded_tail,tail_spade"
+dated,7,11130,
+cephalopod,5,11119,"cephalopoda,cephalopodan,ink_fish,inkfish"
+headphones,0,11096,"ear_phones,earphones,head_phones,headphone"
+wet_clothing,0,11075,"wet_clothes,wet_spot"
+slime,0,11072,"gooey,mucus,slime_covered,slimey,slimy,snail_mucus,snail_slime"
+chastity_device,0,11057,"female_chastity,male_chastity,sheath_chastity"
+underwear_aside,0,11055,briefs_aside
+big_eyes,0,11052,large_eyes
+frottage,0,11047,"cock_fencing,cock_on_cock,frot,frotting,penis_fencing"
+gynomorph_penetrating_female,0,11010,"d/p/fm,dgirl_penetrating_female,dickgirl_penetrating_female,gm/p/fm,newhalf_penetrating_female,shemale_penetrating_female"
+isabelle_(animal_crossing),4,11000,"bully_isabelle,shizue,shizue_(animal_crossing),shizue_(doubutsu_no_mori)"
+deltarune,3,10986,"delta_rune_(game),deltarune_(game)"
+intraspecies,0,10981,same_species_sex
+clitoral_hood,0,10976,
+looking_at_penis,0,10940,looking_at_cock
+faceless_human,0,10938,
+sparkles,0,10933,"sparkle,sparkling"
+monster_girl_(genre),0,10932,"monster_boy,monster_boy_(genre),monster_girl,monster_monster_girl_(genre),monsterboy,monstergirl"
+black_eyebrows,0,10910,
+maid_uniform,0,10907,"french_maid,maid,maid_costume,maid_dress,maid_outfit,maiddress"
+pencil_(artwork),7,10902,"pencil_art,pencil_drawing"
+eevee,5,10898,
+brown_nipples,0,10894,brown_nipple
+purple_clothing,0,10888,"purple_clothes,violet_clothes,violet_clothing"
+inflatable,0,10888,
+mountain,0,10887,mountains
+leather,0,10875,
+non-mammal_balls,0,10846,
+white_claws,0,10842,
+hellhound,5,10823,"demon_dog,devil_dog,hell_hound"
+white_underwear,0,10820,
+cetacean,5,10820,whale
+polearm,0,10817,pole_arm
+feral_penetrating_human,0,10808,f/p/hn
+athletic_male,0,10805,
+watersports,0,10796,"urolagnia,urophilia,water_sports"
+multicolored_scales,0,10777,"multi-colored_scales,three-tone_scales,three-toned_scales,three_tone_scales,three_toned_scales"
+clothed/nude,0,10758,"clothed_on_nude,nude/clothed,nude_on_clothed"
+plug_(sex_toy),0,10737,"plug_(sextoy),sex_toy_plug,sexual_plug"
+black_bars,0,10737,
+pigtails,0,10686,"pig_tail,pig_tails,pigtail,twin_ponytails"
+crocodylid,5,10660,crocodylidae
+upskirt,0,10628,"up-skirt,up_skirt"
+pink_skin,0,10627,
+exhibitionism,0,10625,"exhibition,exhibitionist,exibitionism"
+wood,0,10594,
+annoyed,0,10586,irritated
+crocodile,5,10585,"crocodylinae,true_crocodile"
+ears_back,0,10577,"ear_back,ears_backs,ears_flicked_back,ears_laid_back"
+forked_tongue,0,10554,"snake_tongue,split_tongue"
+ball_fondling,0,10553,"ball_cradling,ball_fondle,caressing_testicles,fondling_balls,rubbing_balls"
+father_and_child,0,10532,"child/father,child_and_father,child_father,father/child,father_child"
+white_scales,0,10520,
+thought_bubble,0,10516,thought_bubbles
+underhoof,0,10492,"frog_(anatomy),frog_(hoof),under_hoof,under_hooves,underhooves"
+against_wall,0,10485,"against_the_wall,against_walls,back_against_the_wall,back_against_wall,butt_against_the_wall,butt_against_wall"
+headband,0,10483,head_band
+cuddling,0,10448,"cuddle,cuddles,cuddlingup,snuggle,snuggles,snuggling"
+spike_(mlp),4,10447,"barb_(mlp),barb_the_dragon_(mlp),barbara_(mlp),barbara_the_dragon_(mlp),barbra_(mlp),barbra_the_dragon_(mlp),feral_spike,feral_spike_(mlp),spike_(my_little_pony)"
+6:5,7,10443,
+grope,0,10441,"groped,gropeing,gropes,groping"
+arms_tied,0,10440,"arms_bound,bound_arms,tied_arms"
+ball,0,10395,
+bowser,4,10386,female_bowser
+monster_hunter,3,10375,"monster_hunter_4,monster_hunter_4_ultimate,monster_hunter_generations,monster_hunter_generations_ultimate,monster_hunter_portable,monster_hunter_portable_3rd,monster_hunter_rise,monster_hunter_world"
+naughty_face,0,10361,
+cybernetics,0,10347,"augment,augmentation,augmentations,augmented_body,cybernetic,cybernetic_enhancements,cybernetically_enhanced"
+blindfold,0,10347,"blind_fold,blindfolded,blindfolds"
+mustela,5,10344,"maned_ferret,weasel"
+mtf_crossgender,0,10324,"male_to_female_crossgender,male_to_female_r63,male_to_female_rule_63,mtf_r63,mtf_rule_63"
+alternate_color,0,10313,"alternate_colors,alternate_colour,alternative_color,alternative_colour,color_swap,coloring_swap,colour_swap,colouring_swap,palette_swap"
+self_bite,0,10311,biting_self
+notched_ear,0,10291,"bitten_ear,damaged_ear,ear_notch,ripped_ear,torn_ear"
+crossed_legs,0,10266,"cross_legged,crossing_legs,crosslegged,legs_crossed"
+elbow_tuft,0,10261,elbow_tufts
+buttplug,0,10249,"anal_plug,butplug,butt_plug"
+brown_skin,0,10249,
+bathroom,0,10249,washroom
+multiple_images,7,10229,"compilation,multi-image,multiple_pictures"
+forced_oral,0,10229,
+lip_piercing,0,10223,"lip_piercings,pierced_lip"
+imp,5,10223,
+uterus,0,10216,womb
+bangs,0,10215,"fringe,hair_bangs,hair_fringe"
+69_position,0,10196,"69,69position,sixty-nine,sixty-nine_position,sixty_nine,sixty_nine_position,sixtynine,sixtynine_position"
+barely_visible_genitalia,0,10181,subtle_genitalia
+black_lips,0,10166,"black_lip,blakc_lips"
+sergal,5,10136,scaled_sergal
+gallus_(genus),5,10133,junglefowl
+2009,7,10117,
+chicken,5,10103,"chickens,hen,pullet,rooster"
+armband,0,10092,"arm_band,arm_bands,armbands"
+sequence,7,10089,
+erection_under_clothing,0,10087,"clothed_erection,erection_under_clothes"
+humanoid_on_anthro,0,10083,"a/o/hd,anthro/humanoid,anthro_on_humanoid,hd/o/a,humanoid/anthro"
+bed_sheet,0,10061,"bed_sheets,bedsheet,bedsheets,sheets"
+hairband,0,10049,hair_band
+slap,0,10048,slapping
+scut_tail,0,10047,"bunny's_tail,bunny_rabbit's_tail,bunny_rabbit_tail,bunny_rabbit_tails,bunny_rabbits_tail,bunny_tail,bunny_tailed,bunny_tails,bunnys_tail,cervid's_tail,cervid_tail,cervid_tailed,cervid_tails,cervids_tail,deer's_tail,deer_tail,deer_tailed,deer_tails,deers_tail,fluffbob_tail,hare's_tail,hare_tail,hare_tailed,hares_tail,rabbit's_tail,rabbit_tail,rabbit_tailed,rabbit_tails,rabbits_tail,scut_(tail),scut_tailed,scut_tails"
+blue_and_white,7,10045,white_and_blue
+brother_and_sister,0,10042,"b/s,brother/sister,s/b,sister/brother,sister_and_brother"
+symbol,0,10033,symbols
+teenager,0,10030,"teen,teenage,teenagers"
+arm_tuft,0,10024,arm_tufts
+walking,0,9993,walk
+anthro_penetrating_human,0,9981,a/p/hn
+bubble,0,9969,bubbles
+legless,0,9952,no_legs
+daughter,0,9945,
+multi_nipple,0,9938,"multi-nipples,multi_nipples,multinipple,multinipples,multiple_nipples,polythelia"
+biting_own_lip,0,9931,"biting_own_lips,self_biting_lip,self_biting_lips,self_lip_bite,self_lip_biting"
+insect_wings,0,9903,"bug_wings,fairy_wings"
+wraps,0,9848,
+car,0,9841,"automobile,cars"
+detailed,7,9825,highly_defined
+circumcised,0,9817,"circumcised_penis,circumsised,circumsized,circumsized_penis,cut_penis"
+upside_down,0,9802,"up_side_down,upside-down,upsidedown"
+fur_markings,0,9796,"fur_marking,marking_(fur),markings_(fur)"
+warrior,0,9790,
+penis_accessory,0,9783,penis_ornament
+shocked,0,9775,shock
+lilo_and_stitch,3,9771,"disney_stitch,lilo_&_stitch,lilo_&_stitch:_the_series,lilo_&_stitch_(film),lilo_&_stitch_(franchise),lilo_&_stitch_(movie),lilo_&_stitch_(series),lilo_&_stitch_(tv_series),lilo_&_stitch_the_series,lilo_and_stitch:_the_series,lilo_and_stitch_(film),lilo_and_stitch_(franchise),lilo_and_stitch_(movie),lilo_and_stitch_(series),lilo_and_stitch_(tv_series),lilo_and_stitch_the_series"
+toothed_whale,5,9739,
+lamp,0,9708,lamps
+raised_clothing,0,9704,"clothes_raised,clothing_raised,raised_clothes"
+fist,0,9703,"balled_fists,clenched_fist,clenched_hand,closed_fist,fists"
+underwater,0,9702,under_water
+navel_piercing,0,9690,"belly-button_piercing,belly_button_piercing,bellybutton_piercing,naval_piercing,navel_peircing,pierced_belly-button,pierced_belly_button,pierced_bellybutton,pierced_naval,pierced_navel"
+tusks,0,9677,tusk
+spread_anus,0,9674,"anus_spread,spreading_anus"
+nickelodeon,3,9667,"nick_at_night,nick_at_nite,nick_jr,nick_jr.,nick_toons,nickelodeon_animation_studio,nickelodeon_animation_studios,nicktoons,teen_nick,teennick"
+computer,0,9638,"coputer,pc"
+coyote,5,9633,"american_jackal,brush_wolf,prairie_wolf"
+alien_humanoid,5,9615,humanoid_alien
+predator/prey,0,9602,"ppr,pred/prey,predator/prey_relations,predator/prey_relationship,predator/prey_relationships,predator_and_prey,predator_on_prey,predator_prey,predator_prey_relashionship,prey/predator,prey/predator_relations,prey/predator_relationship,prey_and_predator,prey_on_predator,prey_predator"
+grey_tail,0,9581,gray_tail
+gore,0,9573,guro
+eyewear_on_head,0,9572,eyewear_on_forehead
+deity,5,9556,"god,goddess"
+candle,0,9548,candles
+hot_dogging,0,9536,"ass_job,assjob,butt_job,buttjob,hotdogging"
+shell,0,9530,shells
+delphinoid,5,9517,dolphin
+panties_down,0,9509,"breifs_down,panties_pulled_down,removing_panties"
+humanoid_pussy,0,9504,"human_cunt,human_labia,human_pussy,human_pussy_lips,human_twat,human_vag,human_vagina,human_vulva,humanoid_cunt,humanoid_labia,humanoid_pussy_lips,humanoid_twat,humanoid_vag,humanoid_vagina,humanoid_vulva"
+ears_down,0,9504,"downcast_ears,ear_down,ear_facing_down,ear_facing_downward,ear_facing_downwards,ears_drooped,ears_facing_down,ears_facing_downward,ears_facing_downwards,ears_lowered,lowered_ears"
+eastern_dragon,5,9474,"asian_dragon,chinese_dragon,japanese_dragon,noodle_dragon,oriental_dragon"
+hyper_belly,0,9463,huge_belly
+fur_tuft,0,9453,fur_tufts
+multi_breast,0,9430,"multi-breast,multi-breasts,multi_boob,multi_breasts,multiboob,multibreast,multibreasts,multiple-breast,multiple-breasts,multiple_breasts,multiplebreasts,multitits"
+beastars,3,9383,
+leaning_forward,0,9375,
+smug,0,9373,
+sharp_claws,0,9366,
+love,0,9349,"affection,falling_in_love,in_love,love_struck,lovestruck,loving"
+pussy_ejaculation,0,9317,"female_ejaculation,pussy_squirt,squirt,squirting"
+substance_intoxication,0,9297,"intoxicated,intoxication,substance_intoxicated"
+feces,0,9297,"faeces,fæces,poo,poop,shit"
+anatomically_correct_pussy,0,9297,anatomicaly_correct_pussy
+chastity_cage,0,9283,"cock_cage,penis_cage"
+mosaic_censorship,7,9282,"mosaic_censor,mosaic_censoring"
+breast_expansion,0,9267,"breast_inflation,breastexpansion"
+black_feathers,0,9245,"black_feather,blakc_feather,blakc_feathers"
+purple_penis,0,9228,"purple_cock,purple_dick"
+one-piece_swimsuit,0,9225,one_piece_swimsuit
+thick_eyebrows,0,9183,"big_eyebrows,bushy_eyebrows,fat_eyebrow,fat_eyebrows,large_eyebrow,large_eyebrows,thic_eyebrow,thic_eyebrows,thicc_eyebrow,thicc_eyebrows,thick_eyebrow"
+pole,0,9182,
+pinscher,5,9152,pinscher_dog
+eyebrow_piercing,0,9129,"brow_piercing,brow_piercings,eyebrow_pierced,eyebrow_piercings,pierced_eyebrow"
+goatee,0,9127,chin_beard
+shih_tzu,5,9118,"chrysanthemum_dog,shi-tzu,shi_tzu,shih-tzu,shih-tzzu,shih_tzzu,shihtzu,shihtzzu,shiih-tzu,shiih_tzu,shiihtzu,shitsu,shitzu,xi_shi_dog"
+alligatorid,5,9118,alligatoridae
+dobermann,5,9114,"doberman,doberman_pinscher,dobermann_pinscher"
+black_ears,0,9099,
+yellow_scales,0,9098,
+door,0,9098,
+braixen,5,9098,
+tail_grab,0,9097,"grab_tail,grabbing_tail"
+flat_colors,7,9093,"flat_color,flat_colored,flat_colour,flat_coloured,flat_colours,flatcolor,flatcolored,flatcolour,flatcoloured"
+leggings,0,9083,leggins
+lighting,7,9067,
+archie_comics,3,9063,
+bird_feet,0,9056,
+penis_jewelry,0,9037,
+apode,0,9028,
+hourglass_figure,0,9017,
+experiment_(lilo_and_stitch),5,9006,"experiment_(disney),experiment_(l&s),experiment_(las),experiment_(lilo_&_stitch),experiment_(stitch)"
+cloaca,0,9005,cloacal_wall
+sandals,0,9001,sandles
+source_request,7,8999,source_needed
+sperm_cell,0,8987,"sperm_cells,spermatozoa,spermatozoan,spermatozoid,spermatozoon,spermatozoön"
+sonic_the_hedgehog_(archie),3,8983,"archie_sonic,archie_sonic_comic,archie_sonic_comics,sonic_(archie),sonic_archie,sonic_archie_comic,sonic_archie_comics"
+happy_sex,0,8979,
+long_image,7,8977,
+domestic_pig,5,8962,"pig,pigs,sow"
+pattern_legwear,0,8947,
+fox_mccloud,4,8940,"fox_mcloud,fox_on_top"
+tribal,0,8933,
+the_elder_scrolls,3,8933,"elder_scrolls,the_elder_scrolls_(copyright)"
+trans_(lore),8,8926,"transgender,transgender_(lore),transgendered"
+starry_sky,0,8926,starry_night
+saliva_on_tongue,0,8922,
+black_bottomwear,0,8920,
+alligator,5,8916,"aligator,gator"
+triceps,0,8911,
+cock_ring,0,8889,"cock_rings,cockring,penis_ring"
+loona_(helluva_boss),4,8882,loona_(vivzmind)
+bat_wings,0,8870,batwings
+arachnid,5,8862,arachnida
+carrying,0,8859,"being_carried,carry"
+knife,0,8857,knives
+lube,0,8851,"lubricant,lubrication"
+fingering_self,0,8836,self_fingering
+ovum,0,8824,egg_cell
+hyper_butt,0,8810,"hyper_ass,hyper_booty"
+draconcopode,5,8790,"draconcopedes,draconcopedis,dracontopode"
+multicolored_skin,0,8779,"multi-colored_skin,multi_colored_skin,multicolor_skin,three-tone_skin,three-toned_skin,three_tone_skin,three_toned_skin"
+gender_transformation,0,8743,"gender_tf,tftg,tg_tf,tgtf"
+wild_boar,5,8741,"boar,eurasian_wild_pig,wild_swine"
+selfie,0,8735,
+corvid,5,8732,crow_family
+male_on_humanoid,0,8686,
+lopunny,5,8673,
+bubble_butt,0,8669,"bubble_ass,bubble_booty,round_ass,round_booty,round_butt"
+penis_grab,0,8663,grabbing_penis
+bodysuit,0,8663,body_suit
+black_stripes,0,8656,
+flash,7,8652,swf
+suspension,0,8643,suspended
+sylveon,5,8603,"ninfia,nymphia,shiny_sylveon"
+anal_beads,0,8603,"anal_bead,anus_bead,anus_beads,ben_wa_ball,ben_wa_balls,duo_tone_ball,duo_tone_balls,duotone_ball,duotone_balls,geisha_ball,geisha_balls,orgasm_ball,orgasm_balls,pussy_bead,pussy_beads,rin-no-tama,rin_no_tama,sex_bead,sex_beads,urethra_bead,urethra_beads,urethral_bead,urethral_beads,vagina_bead,vagina_beads,vaginal_bead,vaginal_beads,venus_ball,venus_balls"
+crash_bandicoot_(series),3,8572,"crash_(series),crash_tag_team_racing,crash_team_racing"
+bell_collar,0,8569,cat_bell
+musical_instrument,0,8548,"instrument_(music),instrument_(musical),instruments_(music),instruments_(musical),music_instrument,music_instruments,musical_instruments"
+trembling,0,8544,"quivering,tremble"
+obese_female,0,8540,
+split_form,0,8538,"split-form,split-half,split_half,splitform,splithalf"
+male_pred,0,8538,male_predator
+blurred_background,0,8537,"blurred_bg,blurry_background,blurry_bg"
+curvaceous,0,8533,curvy
+motion_tweening,7,8525,tweening_animation
+arms_bent,0,8523,
+outline,0,8511,
+christmas_clothing,0,8509,christmas_clothes
+oral_masturbation,0,8497,
+scat,0,8491,"coprophilia,coprophillia,scatophilia"
+slave,0,8487,"enslavement,slavery,slaves"
+desk,0,8479,
+sheepdog,5,8476,sheep_dog
+purple_nipples,0,8459,"purple_nipple,violet_nipples"
+the_amazing_world_of_gumball,3,8455,"tawog,the_amazing_world_of_gumball_(series)"
+vaporeon,5,8449,shiny_vaporeon
+corset,0,8441,
+collarbone,0,8441,"clavicle,collar_bone"
+female_pred,0,8431,female_predator
+cave,0,8419,
+anal_fingering,0,8402,"finger_in_ass,fingering_anus"
+monkey,5,8401,
+blue_topwear,0,8399,cyan_topwear
+yellow_skin,0,8394,
+cum_on_hand,0,8392,"cum_in_hand,cum_on_finger,cum_on_fingers,cum_on_hands"
+yellow_tail,0,8389,blonde_tail
+shrub,0,8379,"bush_(plant),bushes,shrubbery,shrubs"
+accipitriform,5,8379,"accipitriforme,accipitriformes,buzzard"
+reindeer,5,8364,caribou
+blanket,0,8338,blankets
+number,0,8335,numbers
+sanrio,3,8331,
+mohawk,0,8331,"mo_hawk,moa_hawk,moahawk,moe_hawk,moehawk,mohawk_(hair),mohawk_(hair_style),mohawk_(hairstyle),mohawk_hair,mohawk_hair_style,mohawk_hairstyle,mohican,mow_hawk,mowhawk,mowhawk_(hairstyle)"
+hair_over_eyes,0,8322,"eyes_behind_hair,hair_covering_eyes"
+fti_crossgender,0,8317,"female_to_intersex_crossgender,female_to_intersex_r63,female_to_intersex_rule_63,fti_r63,fti_rule_63"
+purple_scales,0,8316,
+wardrobe_malfunction,0,8299,clothing_malfunction
+younger_penetrated,0,8282,"older_penetrating,older_penetrating_younger"
+mustache,0,8276,moustache
+clothing_pull,0,8276,clothes_pull
+human_penetrating_feral,0,8262,hn/p/f
+sun,0,8253,
+red_nose,0,8248,
+lepidopteran,5,8239,
+pointing,0,8232,"finger_pointing,point,pointing_finger"
+pixel_(artwork),7,8231,"pixel-(artwork),pixel-artwork,pixel_art,pixel_artwork,pixelart"
+sad,0,8230,"sad_face,sadness"
+cum_on_own_face,0,8230,"self-facial,self_facial"
+muscular_intersex,0,8219,"muscular_futanari,musuclar_intersex"
+zoroark,5,8206,shiny_zoroark
+younger_female,0,8202,
+charizard,5,8182,"giant_charizard,shiny_charizard"
+shoulder_tuft,0,8178,shoulder_tufts
+female/ambiguous,0,8176,"?/f,?/female,a/f,ambiguous/female,ambiguous_gender/female,ambiguous_gender_on_female,ambiguous_on_female,f/?,f/a,female/?,female/ambiguous_gender,female_on_ambiguous,female_on_ambiguous_gender"
+cum_everywhere,0,8175,there's_fucking_cum_everywhere
+huge_filesize,7,8168,
+headshot_portrait,7,8164,head_portrait
+bisexual,0,8160,bi
+ground_squirrel,5,8142,
+cum_in_uterus,0,8142,"cum_in_cervix,cum_in_womb"
+bird_dog,5,8138,"birddog,gun_dog,gundog"
+manly,0,8135,"manful,masculine"
+curtains,0,8127,curtain
+monotone_hair,0,8117,"mono-tone_hair,mono_tone_hair"
+covering_self,0,8117,
+2_penises,0,8084,"2-penis,2-penises,2_penis,diphalia,diphalism,diphallactic,diphallia,diphallic,diphallism,double_cock,double_penis,doublecock,doublepenis,two-penis,two-penises,two_penis,two_penises"
+five_nights_at_freddy's_2,3,8075,"fnaf2,fnaf_2"
+chubby_female,0,8068,
+striped_legwear,0,8064,stripped_legwear
+space,0,8057,outer_space
+furry-specific_piercing,0,8057,"furry-specific_piercings,furry_piercing,furry_specific_piercing,furry_specific_piercings"
+puffy_nipples,0,8055,
+collar_only,0,8053,"naked_collar,nude_collar"
+long_neck,0,8031,longneck
+muzzle_(object),0,8030,face_harness
+breast_size_difference,0,8017,"boob_size_difference,boobie_size_difference,boobies_size_difference,boobs_size_difference,breasts_size_difference,tit_size_difference,tits_size_difference,tittie_size_difference,titties_size_difference,titty_size_difference,tittys_size_difference"
+grey_clothing,0,8016,"gray_clothes,gray_clothing,grey_clothes"
+frill_(anatomy),0,8016,"frill_(feature),parietosquamosal_frill"
+thick_lips,0,8010,"big_lip,big_lips,fat_lip,fat_lips,large_lips,plump_lip,plump_lips,thick_lip"
+leotard,0,8001,
+strapon,0,7998,"strap-on,strap_on,strapon_dildo,strappon"
+beauty_mark,0,7994,
+mother_and_son,0,7981,"mother/son,son/mother,son_and_mother"
+obese_male,0,7975,
+urethra,0,7964,
+arm_warmers,0,7946,"arm_sleeve,arm_sleeves,arm_warmer,armwarmer,armwarmers"
+collaboration,7,7934,"art_collab,art_collaboration,collab,multi-artist,multi_artist,multiple_artists"
+owl,5,7931,"strigiform,strigiforme"
+high_heeled_boots,0,7931,"heel_boots,heeled_boots,high_heel_boots"
+cum_from_ass,0,7931,"cum_from_anus,cum_from_butt"
+microsoft,3,7922,microsoft_corporation
+hands_on_hips,0,7914,hands_on_hip
+cowboy_hat,0,7903,stetson
+mega_evolution,5,7882,"mega_pokemon,mega_pokémon"
+toe_curl,0,7881,"curled_toes,toe_curling,toes_curled"
+cloven_hooves,0,7872,cloven_hoof
+tall_image,7,7860,
+facial_scar,0,7853,"face_scar,face_scars,facial_scars"
+feral_penetrating_anthro,0,7843,f/p/a
+antelope,5,7835,antilope
+controller,0,7819,
+sunset,0,7816,
+regional_form_(pokemon),5,7816,"regional_form,regional_form_(pokémon),regional_variant,regional_variant_(pokemon),regional_variant_(pokémon),regional_varient,regional_varient_(pokemon),regional_varient_(pokémon)"
+tentacle_penetration,0,7810,
+chipmunk,5,7795,"chipmunks,flying_chipmunk_(species)"
+tail_fetish,0,7788,
+bouncing_penis,0,7788,
+thrusting,0,7767,
+yordle,5,7759,
+mirror,0,7748,
+sunlight,0,7745,"daylight,shining_sun,sun_light,sun_lighting,sun_lit,sun_shine,sun_shining,sunlighting,sunlit,sunshine,sunshining"
+glaceon,5,7745,
+suggestive,0,7738,sexually_suggestive
+tail_play,0,7735,tailplay
+neck_bulge,0,7730,throat_bulge
+anklet,0,7720,"ankle_bracelet,anklets"
+dildo_in_ass,0,7713,
+hybrid_genitalia,0,7706,
+on_lap,0,7705,in_lap
+2008,7,7698,
+green_penis,0,7692,"green_cock,green_dick,palegreen_penis"
+parody,0,7690,spoof
+2_toes,0,7683,"2-toes,2_toe,2_toed,2toed,2toes,two-toed,two-toes,two_toe,two_toed,two_toes,twotoed,twotoes"
+speedo,0,7674,speedos
+poking_out,0,7674,"penis_out,penis_slip"
+drunk,0,7667,piss_drunk
+convenient_censorship,0,7660,"artistic_censorship,convenient_censor,convenient_censoring"
+chair_position,0,7655,"inverse_mastery_position,reverse_mastery_position"
+swimming_pool,0,7654,
+text_on_topwear,0,7646,
+panties_aside,0,7638,"panties_on_side,panties_pulled_aside"
+cyborg,5,7628,cyborgs
+fundoshi,0,7623,
+metal_cuffs,0,7622,
+hanging_breasts,0,7611,hanging_boobs
+mammal_taur,5,7609,
+humiliation,0,7608,"humilation,humiliated,humiliating"
+running,0,7598,run
+oviposition,0,7584,"egg_laying,egglaying,laying_egg,laying_eggs,ovi,ovipositioning"
+ftg_crossgender,0,7581,"female_to_dickgirl_crossgender,female_to_dickgirl_r63,female_to_dickgirl_rule_63,female_to_gynomorph_crossgender,female_to_gynomorph_r63,female_to_gynomorph_rule_63,ftd_crossgender,ftd_r63,ftd_rule_63,ftg_r63,ftg_rule_63"
+xbox_game_studios,3,7575,"microsoft_game_studios,microsoft_games,microsoft_studios"
+the_lion_king,3,7567,"lion_king,tlk"
+ball_slap,0,7558,"ball_slapping,balls_slap,balls_slapping,slapping_ball,slapping_balls"
+black_pupils,0,7550,
+white_belly,0,7544,white_underbelly
+urethral,0,7538,sounding
+larger_feral,0,7532,
+digestion,0,7524,digesting
+clock,0,7518,clocks
+blender_(software),3,7518,cycles
+domestic_sheep,5,7504,dairy_sheep
+white_shirt,0,7501,
+visual_novel,0,7493,
+sisters,0,7493,"sister/sister,sister_and_sister"
+hybrid_penis,0,7493,
+police_uniform,0,7485,
+humanoid_on_humanoid,0,7458,"hd/o/hd,humanoid/humanoid"
+hood,0,7456,
+underwear_only,0,7452,
+android,5,7447,"anthroid,gynoid"
+one_leg_up,0,7443,one_leg_raised
+two_tone_scales,0,7438,two_toned_scales
+pink_anus,0,7437,
+bovid_humanoid,5,7421,
+christmas_headwear,0,7419,
+flower_in_hair,0,7417,"flowers_in_hair,hair_flower,hairflower"
+brown_feathers,0,7380,
+dromaeosaurid,5,7353,"dromaeosaur,dromaeosauridae,dromeasaur,raptor"
+asinus,5,7353,
+big_bulge,0,7339,"large_bulge,over_sized_bulge,oversized_bulge"
+gynomorph/gynomorph,0,7328,"d/d,dickgirl/dickgirl,dickgirl_on_dickgirl,gm/gm,gynomorph_on_gynomorph"
+anatomically_correct_penis,0,7328,
+pokeball,0,7318,"poke_ball,poke_balls,pokeballs,poké_ball,poké_balls,pokéball,pokéballs"
+mounting,0,7308,mounted
+5:3,7,7294,
+blue_bottomwear,0,7281,cyan_bottomwear
+santa_hat,0,7278,"christmas_hat,santa_cap,xmas_hat"
+pattern_background,0,7277,"background_pattern,pattern_bg,patterned_background,patterned_bg"
+4_arms,0,7266,"4_armed,four_armed,four_arms"
+donkey,5,7265,
+raised_topwear,0,7260,topwear_raised
+pregnant_female,0,7237,pregnant_woman
+laugh,0,7212,"laughing,laughter"
+brothers,0,7186,"brother/brother,brother_and_brother"
+deep_navel,0,7185,"deep_naval,navel_depth"
+spiked_bracelet,0,7176,"spike_bracelet,spike_bracelets,spike_wristband,spike_wristbands,spiked_bracelets,spiked_cuff,spiked_cuffs,spiked_wrist,spiked_wristbands"
+sniffing,0,7164,"smelling,sniff"
+pasties,0,7162,"nipple_pastie,nipple_pasties,nipple_pasty,nipple_pastys,nipple_sticker,nipple_stickers,nipples_sticker,nipples_stickers,pastie,pasty,pastys"
+mollusk_humanoid,5,7154,
+baseball_cap,0,7154,baseball_hat
+huge_hips,0,7150,
+bandicoot,5,7148,
+splatoon,3,7130,"octo_expansion,splatoon2,splatoon_2"
+fight,0,7129,"fighting,sparring"
+athletic_female,0,7126,fit_female
+black_underwear,0,7119,
+school_uniform,0,7108,"fuku,school_boy,school_girl,school_girl_outfit,school_outfit,schoolboy,schoolgirl,schoolgirl_clothes,schoolgirl_outfit,schoolgirl_uniform,schoolgirls,seifuku"
+cum_on_feet,0,7100,"cum_on_foot,cum_on_paws,cum_on_toes"
+rough_sex,0,7084,
+fishnet_legwear,0,7083,fishnet_stockings
+cum_in_hair,0,7081,cum_on_hair
+gynomorph_penetrated,0,7076,"dgirl_penetrated,dickgirl_penetrated,newhalf_penetrated,shemale_penetrated"
+staff,0,7071,
+red_markings,0,7067,red_marking
+hairy,0,7066,hirsute
+roleplay,0,7062,"role-play,role_play,roleplaying"
+skeleton,0,7060,skeletons
+toying_partner,0,7058,
+molosser,5,7050,"band-dog,band_dog,bande-dogge,bande_dogge,bandog,bandogge,bonde-dog,bonde_dog,bondogge,molosser_dog,molossian_dog"
+whip,0,7044,
+stretching,0,7023,stretch
+hand_on_chest,0,7023,hands_on_chest
+camera,0,7016,cameras
+accipitrid,5,7007,"accipitridae,hawk,hawk-eagle,hawk_eagle,hawkeagle"
+autofellatio,0,7006,"auto_fellatio,self_fellatio,self_service,self_suck,selfsuck"
+red_background,0,7001,"dark_red_background,dark_red_bg,light_red_background,light_red_bg,red_bg"
+garter_belt,0,6991,"garder_belt,garderbelt,garterbelt"
+purple_feathers,0,6984,
+black_pussy,0,6983,"black_cunt,black_labia,black_twat,black_vag,black_vagina,black_vulva,blakc_pussy"
+green_nipples,0,6982,green_nipple
+on_one_leg,0,6973,"on_one_foot,standing_on_one_foot,standing_on_one_leg"
+puffy_areola,0,6970,puffy_areolae
+cum_from_pussy,0,6967,
+sweetie_belle_(mlp),4,6966,"sweetie_bell,sweetie_bell_(mlp),sweetie_belle,sweetiebelle,sweetiebelle_(mlp)"
+brown_ears,0,6966,
+queen_chrysalis_(mlp),4,6960,"chrysalis_(mlp),queen_chrysalis"
+anubian_jackal,5,6959,
+looney_tunes,3,6958,"looney_toons,loony_tunes"
+raining,0,6956,rain
+cephalopod_humanoid,5,6956,
+areola_slip,0,6951,"areolae_slip,areolas_slip"
+irrumatio,0,6946,
+hemipenes,0,6942,"hemi_pene,hemi_penes,hemi_penis,hemipene,hemipenis"
+red_topwear,0,6937,
+egyptian,0,6937,"ancient_egypt,ancient_egyptian,egypt"
+10:16,7,6931,5:8
+ball_tuft,0,6929,balls_tuft
+witch_hat,0,6924,"witch's_hat,witches_hat"
+frog,5,6913,"anura,anuran,bull_frog,bullfrog"
+muscular_humanoid,0,6901,
+arms_above_head,0,6888,"arms_over_head,hands_up"
+pumpkin,0,6885,pumpkins
+voyeur,0,6879,"peeping_tom,voyeurism"
+grey_feathers,0,6859,gray_feathers
+legs_tied,0,6853,"bound_legs,legs_bound,tied_legs"
+badger,5,6850,"anthro_badger,jungle_badger"
+lagomorph_humanoid,5,6836,
+handcuffs,0,6836,"hand_cuffs,handcuff,manacles"
+flared_penis,0,6836,"flared,flared_head,flared_horsecock,flared_tip"
+wingless_dragon,5,6817,
+white_penis,0,6814,white_dick
+spyro_the_dragon,3,6814,"spyro_(franchise),spyro_(game),spyro_(series)"
+asphyxiation,0,6813,"asphyxia,suffocating,suffocation"
+orange_tail,0,6806,
+black_markings,0,6806,black_marking
+exercise,0,6800,exercising
+breast_suck,0,6793,"breast_sucking,breasts_suck,breasts_sucking,sucking_breast,sucking_breasts,sucking_tits"
+flexible,0,6786,"contortion,contortionist"
+swallowing,0,6780,"gulp,gulp_down,gulping,gulping_down"
+male_focus,0,6773,
+transformation_sequence,0,6769,
+happy_trail,0,6769,"happytrail,pleasure_trail,treasure_trail"
+chimera,5,6764,"chimaera,chimæra"
+human_to_anthro,0,6755,
+food_fetish,0,6748,"sitophile,sitophilia"
+father_and_son,0,6748,"father/son,father_son,son/father,son_and_father,son_father"
+orange_skin,0,6746,
+humanoid_penetrating,0,6745,
+glistening_skin,0,6737,"shiney_skin,shining_skin,shiny_skin,skin_shine,skin_shining"
+different_sound_effects,0,6736,
+restricted_palette,7,6732,"limited_palette,restricted_pallet"
+spider,5,6730,"araneae,spider_girl,spidergirl,spiders"
+breasts_frottage,0,6720,"breast_docking,breast_frottage,breast_frotting,nipples_crossing,symmetrical_docking"
+website_logo,0,6709,
+licking_own_lips,0,6704,
+hymenopteran,5,6701,hymenoptera
+tentacle_hair,0,6696,hair_tentacles
+goblin,5,6689,
+after_transformation,0,6684,"after-tf,after-transform,after-transformation,after_tf,after_transform,aftertf,aftertransform,aftertransformation,post-tf,post-transform,post-transformation,post_tf,post_transform,post_transformation,posttf,posttransform,posttransformation,transformed"
+oceanic_dolphin,5,6680,
+bag,0,6680,bags
+white_ears,0,6679,
+teal_eyes,0,6665,
+spines,0,6665,
+vowelless,0,6656,
+tongue_piercing,0,6655,"pierced_tongue,tounge_piercing"
+yellow_clothing,0,6642,
+blue_sky,0,6635,
+human_penetrating_humanoid,0,6630,hn/p/hd
+worm's-eye_view,0,6627,"worm's_eye_view,worms_eye_view"
+butt_from_the_front,0,6618,"ass_from_front,ass_from_the_front,ass_visible_through_thighs,booty_from_front,booty_from_the_front,booty_visible_through_thighs,butt_from_front,butt_visible_through_thighs,thut,thut_butt"
+huge_areola,0,6612,"huge_areolae,huge_areolas"
+brown_background,0,6612,"brown_bg,dark_brown_background,dark_brown_bg,light_brown_background,light_brown_bg"
+raised_shirt,0,6608,shirt_raised
+foursome,0,6607,"4-some,4_some,4some"
+blue_pussy,0,6595,"blue_cunt,blue_labia,blue_twat,blue_vag,blue_vagina,blue_vulva,cyan_cunt,cyan_labia,cyan_pussy,cyan_twat,cyan_vag,cyan_vagina,cyan_vulva"
+trixie_(mlp),4,6586,"trixie_lulamoon,trixie_lulamoon_(mlp)"
+grey_scales,0,6580,"gray_scales,silver_scales"
+blue_balls,0,6566,
+brown_clothing,0,6562,brown_clothes
+black_areola,0,6550,"black_areolae,black_areolas,blakc_areola,blakc_areolae,blakc_areolas"
+bare_shoulders,0,6547,bare_shoulder
+arcanine,5,6546,
+wounded,0,6545,"cuts,hurt,injured,injury,wound,wounds"
+dalmatian,5,6536,"dalmatians,dalmation"
+locker_room,0,6528,"locker-room,lockerroom"
+bat_pony,5,6515,batpony
+soft_vore,0,6514,softvore
+backpack,0,6501,"back_pack,backbag,backpacks,book_bag,bookbag,ruck_sack,rucksack"
+yellow_background,0,6500,"dark_yellow_background,dark_yellow_bg,light_yellow_background,light_yellow_bg,yellow_bg"
+monotone_body,0,6493,"mono_tone_body,one_color_body,one_colored_body,single_color_body,single_colored_body"
+multiple_poses,0,6491,"more_than_one_pose,multiple_pose,poses,several_pose,several_poses"
+2007,7,6486,
+hyper_muscles,0,6483,"hyper_muscle,hyper_muscular,hyper_muscules"
+black_legwear,0,6480,
+filled_condom,0,6476,"condom_filling,cum_in_condom,filling_condom,full_condom,used_condom,used_condoms"
+spiral_eyes,0,6474,"@.@,@_@,al_bhed_eyes,swirly_eyes"
+pain,0,6446,"in_pain,painful"
+male_penetrating_intersex,0,6440,m/p/i
+empty_eyes,0,6437,blank_eyes
+petplay,0,6436,"pet-play,pet_play"
+big_pecs,0,6431,
+mottled,0,6424,"mottling,splotch_(marking),splotch_marking,splotch_markings,splotches,splotches_(marking)"
+bench,0,6414,
+male_(lore),8,6399,
+huge_nipples,0,6393,huge_nipple
+orca,5,6388,"killer_whale,orca_whale"
+bodypaint,0,6379,"body_paint,body_painting,bodypainting"
+handgun,0,6368,"hand_gun,m1911"
+crotch_tuft,0,6361,crotch_fluff
+mascara,0,6356,
+spear,0,6346,spears
+ahoge,0,6326,
+gold_jewelry,0,6322,golden_jewelry
+collie,5,6322,
+cum_pool,0,6320,"cum_puddle,cumpool"
+arctic_fox,5,6317,"actic_fox,anthro_arctic_fox,arctic_vixen,artic_fox,polar_fox,snow_fox,white_fox"
+official_art,7,6302,"offical_art,official,official_artwork"
+goth,0,6290,gothic
+spanking,0,6289,"ass_smack,spank"
+stand_and_carry_position,0,6287,"stand-and-carry_position,stand_and_carry,suspended_congress"
+improvised_sex_toy,0,6283,improvised_sextoy
+blue_pawpads,0,6282,"blue_paw_pad,blue_paw_pads,blue_pawpad,cyan_pawpads,light_blue_pawpads"
+tape,0,6275,
+grey_balls,0,6274,gray_balls
+caught,0,6272,caught_in_the_act
+sign,0,6271,signs
+humanoidized,0,6271,kemonomimi_mode
+collaborative,0,6266,
+pink_tail,0,6260,
+brown_balls,0,6260,
+cougar,5,6255,"mountain_lion,puma"
+multicolored_feathers,0,6251,multi-colored_feathers
+cake,0,6247,cakes
+fingering_partner,0,6242,
+text_on_shirt,0,6233,
+goggles_on_head,0,6221,goggles_on_forehead
+aged_up,0,6215,"age-up,age_up,aged-up,agedup,grown_up,older"
+rumbling_stomach,0,6208,"borborygmi,borborygmus,bowel_growl,bowel_growling,bowel_gurgle,bowel_gurgling,bowel_noise,bowel_noises,bowel_rumble,bowel_rumbling,bowel_sound,growling_bowel,growling_stomach,growling_tummy,gurgle,gurgling,gurgling_bowel,gurgling_stomach,gurgling_tummy,noisey_bowel,noisey_stomach,noisey_tummy,peristaltic_sound,peristaltic_sounds,rumbling_bowel,rumbling_tummy,stomach_growl,stomach_growling,stomach_gurgle,stomach_gurgling,stomach_noise,stomach_noises,stomach_rumble,stomach_rumbling,tummy_growl,tummy_growling,tummy_gurgle,tummy_gurgling,tummy_noise,tummy_noises,tummy_rumble,tummy_rumbling"
+flashing,0,6202,
+anseriform,5,6201,"anseriforme,water_fowl,waterfowl"
+princess,0,6194,
+apple_bloom_(mlp),4,6189,"apple_bloom,applebloom,applebloom_(mlp)"
+balls_outline,0,6188,ballsack_outline
+anatid,5,6182,anatidae
+palm_tree,0,6171,"palm,palm_trees,palmtree,palmtrees"
+arm_grab,0,6171,
+princess_cadance_(mlp),4,6170,"cadance,cadance_(mlp),cadence_(mlp),mi_amore_cadenza,mi_amore_cadenza_(mlp),princess_cadance,princess_cadance(mlp),princess_cadence,princess_cadence_(mlp),princess_candance,princess_candance_(mlp),princess_cedance,princess_cedance_(mlp),princess_mi_amore_cadenza,princess_mi_amore_cadenza_(mlp)"
+blaziken,5,6164,
+giraffid,5,6160,giraffidae
+ambiguous_species,5,6150,
+morbidly_obese,0,6141,hyper_fat
+gaping_pussy,0,6141,"gaping_vagina,vaginal_gaping"
+wall_(structure),0,6136,"wall,walls"
+prick_ears,0,6131,"artificial_erect_ear,artificial_erect_ears,artificial_perked_ear,artificial_perked_ears,artificial_perky_ear,artificial_perky_ears,artificial_prick_ear,artificial_prick_ears,artificial_pricked_ear,artificial_pricked_ears,artificial_upright_ear,artificial_upright_ears,candle_flame_ear,candle_flame_ears,crop_ear,crop_ears,cropped_ear,cropped_ears,ear_cropping,erect_ear,erect_ears,hooded_ear,hooded_ears,perked_ear,perked_ears,perky_ear,perky_ears,prick_ear,pricked_ear,pricked_ears,sharp_ear,sharp_ears,tapered_ear,tapered_ears,tapering_ear,tapering_ears,triangle_ears,upright_ear,upright_ears"
+hotpants,0,6130,"booty_shorts,bootyshorts,hot_pants,short-shorts,short_shorts,shortshorts"
+brown_penis,0,6129,"brown_dick,light_brown_penis"
+scootaloo_(mlp),4,6110,"scootabuse,scootaffection,scootaloo,scootalove,scootlaoo_(mlp)"
+rainbow_tail,0,6097,
+aircraft,0,6088,
+mating_press,0,6076,
+apple,0,6073,"apple_(fruit),apples"
+breast_fondling,0,6066,"boob_fondling,breast_fondle,fondling_breast,fondling_breasts"
+urethral_penetration,0,6065,"urethra_penetration,urethral_insertion"
+logo,0,6061,
+rubber_clothing,0,6059,rubber_clothes
+big_anus,0,6052,
+multi_head,0,6051,"multi-head,multi_heads,multiple_heads"
+big_macintosh_(mlp),4,6043,"big_mac_(mlp),big_macareina_gala_(mlp),big_macintosh,big_mcintosh,macareina_(mlp)"
+fence,0,6024,
+shining_armor_(mlp),4,6018,"gleaming_shield_(mlp),shining_armor"
+cleft_of_venus,0,6013,
+sex_toy_in_pussy,0,6011,sextoy_in_pussy
+holding_food,0,6009,
+bodily_noises,0,6005,
+japanese_mythology,3,6001,"japan_legend,japan_myth,japan_mythology,japan_mythos,japanese_legend,japanese_myth,japanese_mythos"
+curved_horn,0,6000,"bent_horn,bent_horns,curved_horns,sinuous_horn"
+holding_phone,0,5994,
+unusual_bodily_fluids,0,5993,
+large_penetration,0,5990,large_insertion
+fingerless_(marking),0,5988,"fingerless_(markings),fingerless_marking,fingerless_markings"
+leash_pull,0,5985,"leash_tug,pulling_leash,tugging_leash"
+romantic_ambiance,0,5983,"romance_ambiance,romance_ambience,romance_atmosphere,romantic_ambience,romantic_atmosphere,sensual_ambiance,sensual_ambience,sensual_atmosphere"
+white_horn,0,5977,white_horns
+shiba_inu,5,5969,"shiba,shibainu"
+countershade_feet,0,5964,"countershade_foot,countershade_sole,countershade_soles"
+collaborative_sex,0,5961,
+muscular_gynomorph,0,5945,muscular_dickgirl
+bent_arm,0,5943,bent_arms
+urine_stream,0,5931,
+bikini_top,0,5925,
+blue_markings,0,5924,"blue_marking,cyan_markings"
+worried,0,5918,"anxious,concerned,worried_expression,worry,worrying"
+ears_up,0,5917,"ear_perk,ear_perked,ear_raised,ears_perk,ears_perked,ears_raised,raised_ears"
+quads,0,5909,
+leporid_humanoid,5,5906,
+unusual_tail,0,5905,exotic_tail
+machairodontine,5,5903,"saber-tooth_cat,saber-tooth_tiger,saber-toothed_cat,saber-toothed_feline,saber-toothed_tiger,saber_tooth_lion,saber_tooth_tiger,saber_toothed_tiger,sabertooth_cat,sabertooth_tiger,sabertoothed_cat,sabertoothed_tiger,sabertoothkat_(species),sabre-tooth_cat,sabre-tooth_tiger,sabre-toothed_tiger,sabre_tooth_tiger,sabre_toothed_tiger,sabretooth_cat,sabretooth_tiger"
+headgear_only,0,5895,
+hands_tied,0,5894,"bound_hands,hands_bound,tied_hands"
+organs,0,5885,
+lycanroc,5,5881,lugarugan
+boxers_(clothing),0,5870,"boxer_shorts,boxers,boxershorts"
+blue_sclera,0,5854,"aqua_eye_membrane,aqua_eye_white,aqua_eye_whites,aqua_outer_eye,aqua_sclerotic_coat,aqua_white_of_the_eye,aqua_white_of_the_eyes,aqua_whites_of_the_eye,aqua_whites_of_the_eyes,blue_eye_membrane,blue_eye_white,blue_eye_whites,blue_outer_eye,blue_sclerotic_coat,blue_white_of_the_eye,blue_white_of_the_eyes,blue_whites_of_the_eye,blue_whites_of_the_eyes,cyan_eye_membrane,cyan_eye_white,cyan_eye_whites,cyan_outer_eye,cyan_sclera,cyan_sclerotic_coat,cyan_white_of_the_eye,cyan_white_of_the_eyes,cyan_whites_of_the_eye,cyan_whites_of_the_eyes,light_blue_eye_membrane,light_blue_eye_white,light_blue_eye_whites,light_blue_outer_eye,light_blue_sclerotic_coat,light_blue_white_of_the_eye,light_blue_white_of_the_eyes,light_blue_whites_of_the_eye,light_blue_whites_of_the_eyes,turquoise_eye_membrane,turquoise_eye_white,turquoise_eye_whites,turquoise_outer_eye,turquoise_sclerotic_coat,turquoise_white_of_the_eye,turquoise_white_of_the_eyes,turquoise_whites_of_the_eye,turquoise_whites_of_the_eyes"
+foot_lick,0,5847,"feet_lick,feet_licking,foot_licking,licking_feet,licking_foot,licking_hindpaw,licking_paw,paw_lick,paw_licking"
+smartphone,0,5842,"smart_phone,smartphones"
+consentacles,0,5842,"consensual_tentacle_sex,consensual_tentacles,consenticles,not_tentacle_rape"
+sweaty_genitalia,0,5839,sweaty_genitals
+head_grab,0,5837,
+demon_humanoid,5,5836,"daemon_human,daemon_humanoid,demon_human,devil_human,devil_humanoid,human_daemon,human_demon,human_devil,human_incubi,human_incubus,human_succubi,human_succubus,humanoid_daemon,humanoid_demon,humanoid_devil,humanoid_incubi,humanoid_incubus,humanoid_succubi,humanoid_succubus,incubi_human,incubi_humanoid,incubus_human,incubus_humanoid,succubi_human,succubi_humanoid,succubus_human,succubus_humanoid"
+rabbit_humanoid,5,5831,"bunny_humanoid,humanoid_bunny,humanoid_lagomorph,humanoid_rabbit,usagimimi,usagimusume"
+feline_penis,0,5829,"cat_penis,feline_dick"
+cloak,0,5822,
+box,0,5810,boxes
+body_writing,0,5808,"bodywriting,writing_on_body"
+gift,0,5803,"gifts,present,presents"
+retriever,5,5791,
+wetting,0,5780,peeing_self
+pinned,0,5780,"held_down,pinned_down,pinning"
+ring_(marking),0,5767,"ring_(markings),ring_marking,ring_markings,rings_(marking),rings_(markings),rings_marking,rings_markings"
+aggressive_retsuko,3,5765,"aggretsuko,agressive_retsuko"
+fecharis,0,5747,
+multi_ear,0,5744,"extra_ears,multi-ear,multi-ears,multi_ears,multiple_ear,multiple_ears"
+holding_gun,0,5744,
+green_topwear,0,5742,
+glowing_genitalia,0,5741,"glowing_genitals,glowing_private_part,glowing_private_parts,glowing_privates"
+black_horn,0,5737,black_horns
+stitch_(lilo_and_stitch),4,5736,"experiment_626,stitch_(626),stitch_(disney),stitch_(l&s),stitch_(las),stitch_(lilo_&_stitch),stitch_(stitch)"
+winged_arms,0,5728,"arm_wings,wing_arms,wing_hands"
+multicolored_clothing,0,5720,
+public_nudity,0,5719,
+leg_tuft,0,5712,
+cel_shading,7,5704,"cel_shaded,cell_shaded,cell_shading,cellshade,cellshaded,cellshading,celshading"
+centered_hair_bow,0,5695,
+floating,0,5689,
+wristband,0,5685,"wrist_band,wrist_bands,wristbands"
+emanata,0,5679,
+zangoose,5,5663,shiny_zangoose
+monotreme,5,5662,
+multiple_scenes,7,5660,
+bathing,0,5660,washing
+blaze_the_cat,4,5657,
+top_hat,0,5652,tophat
+shadow_the_hedgehog,4,5649,shadina_(sonic)
+back_muscles,0,5649,muscular_back
+turtle,5,5645,"chelonii,testudine"
+saggy_balls,0,5643,"hanging_balls,low_hangers,lowhangers,sagging_balls"
+recording,0,5631,"being_filmed,being_recorded,filmed,filming,recorded"
+pink_inner_ear,0,5631,
+lugia,5,5616,
+pink_underwear,0,5609,
+food_play,0,5607,foodplay
+monotone_ears,0,5604,"mono-tone_ear,mono-tone_ears,mono_tone_ear,mono_tone_ears,monotone_ear"
+twilight_princess,3,5596,
+thigh_gap,0,5595,"factory_air,gap,thigh-gap"
+unseen_character,0,5585,
+string_instrument,0,5582,"chordophone,chordophones,string_instruments,stringed_instrument,stringed_instruments"
+male_prey,0,5580,
+blue_eyeshadow,0,5576,
+beer,0,5576,
+red_feathers,0,5574,
+musical_note,0,5572,"music_note,music_notes,musical_notes,♩,♪,♫"
+dragon_humanoid,5,5566,"dragon-kin,dragon_kin,dragonkin,humanoid_dragon"
+five_nights_at_freddy's:_security_breach,3,5565,fnaf_sb
+imminent_rape,0,5563,"impending_rape,you_gonna_get_raped"
+rubber_suit,0,5562,latex_suit
+derpy_hooves_(mlp),4,5561,"derpi_hooves_(mlp),derpy_(mlp),derpy_hooves,ditzy_doo,ditzy_doo_(mlp),muffin_(mlp),muffins_(mlp)"
+yokai,5,5560,"yo-kai,yo_kai,yookai,youkai,yōkai"
+foxy_(fnaf),4,5558,"female_foxy_(fnaf),foxy_the_pirate,foxy_the_pirate_fox"
+holding_sword,0,5557,
+countershade_tail,0,5556,
+mass_effect,3,5555,
+no_pupils,0,5546,"no_puils,no_pupil,pupiless,pupiless_eyes,pupilless,pupilless_eyes"
+nightmare_fuel,0,5545,"boner_murder,go_to_sleep,high_octane_nightmare_fuel,nightmarefuel"
+breath_of_the_wild,3,5539,"botw,loz:_botw,loz_botw,zelda_botw"
+muscular_thighs,0,5538,thigh_muscles
+worgen,5,5537,
+breast_rest,0,5534,"boob_rest,breasts_on_table,resting_breasts"
+purple_tail,0,5533,
+pictographics,0,5531,"pictograph,pictographs"
+tan_balls,0,5529,beige_balls
+mouth_closed,0,5523,closed_mouth
+weight_gain,0,5522,fattening
+orc,5,5522,"humanoid_orc,orc_humanoid,orcs"
+black_shirt,0,5516,
+barely_visible_pussy,0,5511,subtle_pussy
+cervine,5,5485,cervines
+2_tails,0,5478,"2_tailed,two_tailed,two_tails"
+asriel_dreemurr,4,5476,"asriel,fem_asriel"
+vegetable,0,5468,vegetables
+reflection,0,5464,
+pinch,0,5462,pinching
+espeon,5,5457,
+touhou,3,5453,touhou_project
+headwear_only,0,5446,
+translucent_body,0,5429,"see-through_body,see_through_body,seethrough_body,transparent_body"
+assisted_exposure,0,5429,"assisted_nudity,clothes_snatched"
+manmosu_marimo,1,5427,マンモスまりも
+hand_on_shoulder,0,5427,
+music,0,5420,musical
+didelphid,5,5418,"didelphidae,didelphimorph,didelphimorphia,opossum,opposum"
+twokinds,3,5412,2kinds
+white_handwear,0,5407,
+anon,4,5405,
+marvel,3,5402,marvel_comics
+two_tone_skin,0,5392,two_toned_skin
+bovine_humanoid,5,5383,
+orgy,0,5382,
+wyvern,5,5380,
+holding_butt,0,5380,"ass_lift,ass_lifted,ass_lifting,booty_lift,booty_lifted,booty_lifting,butt_lift,butt_lifted,butt_lifting,holding_ass,holding_booty,lift_ass,lift_booty,lift_butt,lifted_ass,lifted_booty,lifted_butt,lifting_ass,lifting_booty,lifting_butt"
+dreadlocks,0,5369,"dreads,dredlocks"
+anal_knotting,0,5364,
+white_gloves,0,5362,
+coffee,0,5362,
+uncensored,7,5357,"de-censored,uncesored"
+prince_albert_piercing,0,5353,prince_albert
+basic_sequence,0,5338,
+duck,5,5330,ducks
+blue_areola,0,5330,"blue_areolae,blue_areolas"
+topless_male,0,5329,
+hanna-barbera,3,5327,"h-b_enterprises,h-b_production_company,hanna-barbera_cartoons,hanna-barbera_cartoons_inc,hanna-barbera_cartoons_inc.,hanna-barbera_productions,hanna-barbera_productions_inc,hanna-barbera_productions_inc.,hanna_barbera,hanna_barbera_cartoons,hanna_barbera_cartoons_inc,hanna_barbera_cartoons_inc.,hanna_barbera_productions,hanna_barbera_productions_inc,hanna_barbera_productions_inc.,hanna–barbera"
+thigh_boots,0,5325,"thigh-high_boots,thigh_high_boots"
+raised_eyebrow,0,5317,"brow_raised,cocked_eyebrow,eyebrow_lift,eyebrow_lifted,eyebrow_lifting,eyebrow_raise,eyebrow_raised,eyebrow_up,lift_eyebrow,lifted_eyebrow,lifting_eyebrow,one_eyebrow_raised,one_eyebrow_up,raised_brow,raising_brow,raising_eyebrow"
+coiling,0,5315,"coil,coiled,coils,constriction"
+watercraft,0,5313,"water_borne_craft,water_borne_vessel,water_craft,water_transport,water_transportation,water_vehicle,water_vessel,waterborne_craft,waterborne_vessel"
+kitchen_utensils,0,5312,"kitchen_utensil,utensil,utensils"
+wearing_condom,0,5300,condom_on_penis
+orange_scales,0,5298,
+ringtail,0,5290,"ring_tail,ringed_tail"
+dominant_anthro,0,5284,"anthro_dom,anthro_dominant,anthro_dominating,anthro_domination,anthrodom,dom_anthro"
+vowelless_sound_effect,0,5279,
+nipple_ring,0,5279,"nipple_rings,nipplering"
+young_on_young,0,5277,
+yellow_beak,0,5274,
+wizards_of_the_coast,3,5270,wotc
+game_controller,0,5264,"game_pad,gamepad,video_game_controller,videogame_controller"
+black_spots,0,5260,
+domestic_ferret,5,5254,ferret
+pussy_piercing,0,5238,vaginal_piercing
+miniskirt,0,5236,"mini-skirt,mini_skirt,short_skirt"
+corvus_(genus),5,5221,"corvus_(corvid),true_crow"
+ankha_(animal_crossing),4,5217,ankha
+one_breast_out,0,5216,breast_slip
+dress_shirt,0,5215,"button-up_shirt,button_shirt,button_up_shirt,buttoned_shirt"
+ball_size_difference,0,5209,"ball-sack_size_difference,ball_sack_size_difference,balls-sack_size_difference,balls_sack_size_difference,balls_size_difference,ballsack_size_difference,ballssack_size_difference,scrotum_size_difference,testes_size_difference,testicle_size_difference,testicles_size_difference"
+ice_cream,0,5207,"ice-cream,icecream"
+mouth_shot,0,5206,"maw_focus,maw_shot,mawshot,mouth_focus,mouthshot"
+tan_countershading,0,5196,"beige_countershading,cream_countershading"
+female_penetrating,0,5193,
+grinding,0,5190,
+proboscidean,5,5188,proboscid
+hylian,5,5179,
+photo,0,5178,"photograph,photos,picture"
+sports_bra,0,5177,sportsbra
+silhouette,0,5177,"silhouettes,silloette"
+giraffe,5,5177,girafe
+zipper,0,5176,
+gaming,0,5176,
+legs_together,0,5174,closed_legs
+nipple_pinch,0,5171,"nipple_pinching,nipple_squeeze,nipple_squeezing,nipple_tweak,nipple_twist,nipple_twisting,nipples_pinch,nipples_squeezing,nipples_twist,nipples_twisting,pinch_nipple,pinching_nipple,pinching_nipples,purple_nurple,purple_nurples,squeezing_nipple,squeezing_nipples,tweaking_nipple,twisting_nipple,twisting_nipples"
+mother_and_daughter,0,5169,"daughter/mother,daughter_and_mother,mother/daughter"
+pokemon_trainer,4,5166,pokémon_trainer
+teenage_mutant_ninja_turtles,3,5158,"teenage_mutant_hero_turtles,tmnt"
+smaller_ambiguous,0,5158,
+toeless_footwear,0,5156,
+prosthetic,0,5156,"prostheses,prosthesis,prosthetic_implant,prosthetics"
+flaming_tail,0,5156,"fire_tail,flame_tail"
+small_but_hung,0,5150,
+money,0,5143,"cash,dollar,dollars"
+pokemon_mystery_dungeon,3,5139,"blue_rescue_team,explorers_of_darkness,explorers_of_sky,explorers_of_time,gates_to_infinity,pmd,pokemon_super_mystery_dungeon,pokémon_mystery_dungeon,pokémon_super_mystery_dungeon,red_rescue_team"
+tiara,0,5132,diadem
+cover,7,5130,"cd_cover,compact_disc_cover"
+overalls,0,5127,"dungarees,overall"
+cream_the_rabbit,4,5127,
+public_sex,0,5124,sex_in_public
+sport,0,5120,sports
+eyeliner,0,5116,"eye-liner,eye_liner"
+pattern_bottomwear,0,5111,
+open_bottomwear,0,5105,
+echidna,5,5103,
+legoshi_(beastars),4,5099,"legoshi,legosi_(beastars)"
+unusual_genital_fluids,0,5094,
+waving,0,5093,
+naga,5,5093,
+white_markings,0,5089,white_marking
+sweaty_butt,0,5085,"swamp_ass,sweaty_ass,sweaty_booty"
+hand_on_face,0,5085,hands_on_face
+frisk_(undertale),4,5085,protagonist_(undertale)
+3:5,7,5083,
+poster,0,5079,posters
+twins,0,5078,twin
+goodra,5,5070,
+red_tail,0,5069,
+glistening_genitalia,0,5065,"glistening_genital,glistening_genitals,shining_genital,shining_genitalia,shining_genitals,shiny_genital,shiny_genitalia,shiny_genitals"
+sweaty_balls,0,5061,
+mastery_position,0,5060,
+text_with_heart,0,5059,
+raichu,5,5055,
+undyne,4,5051,
+brown_areola,0,5049,"brown_areolae,brown_areolas"
+square_crossover,0,5044,
+toy,0,5043,toys
+teeth_showing,0,5039,
+midna,4,5039,
+digit_ring,0,5032,
+submissive_anthro,0,5028,anthro_dominated
+elephantid,5,5027,elephantidae
+tan_tail,0,5023,beige_tail
+head_crest,0,5023,
+drugs,0,5018,"drug,drug_use"
+cum_on_tail,0,5014,
+arched_back,0,5011,
+trans_woman_(lore),8,5010,"trans_female,trans_feminine,trans_girl,trans_woman,transfem,transfemale,transfeminine,transgender_female,transgender_girl,transgender_woman,transgirl,transwoman"
+sneakers,0,5005,"athletic_shoe,athletic_shoes,gym_shoe,gym_shoes,kicks_(shoe),kicks_(shoes),runner_shoe,runner_shoes,sneaker,sport_shoe,sport_shoes,tennis_shoe,tennis_shoes,tennisshoe,tennisshoes,trainer_shoe,trainer_shoes,trainers"
+workout,0,5004,"work_out,working_out"
+inkling,5,5004,
+saliva_on_penis,0,5000,drool_on_penis
+blue_claws,0,4999,cyan_claws
+surprised_expression,0,4997,
+industrial_piercing,0,4983,ear_bar
+vampire,5,4981,
+nipple_slip,0,4981,"exposed_nipple,exposed_nipples,nip_slip,nipslip"
+larger_intersex,0,4979,
+animal_print,0,4977,
+rose_(flower),0,4971,roses
+elemental_humanoid,5,4969,"earth_humanoid,element_humanoid,elements_humanoid,humanoid_element,humanoid_elemental,humanoid_elements"
+school,0,4967,
+bondage_gear,0,4953,
+two-footed_footjob,0,4949,two_footed_footjob
+paper,0,4947,papers
+open_pants,0,4943,"open_fly,pants_open"
+japanese,0,4943,
+aliasing,7,4943,aliased
+small_tail,0,4938,
+offscreen_character,0,4933,
+animated_skeleton,5,4932,"animate_skeleton,living_skeleton"
+full_moon,0,4929,
+nicole_watterson,4,4912,
+hat_only,0,4903,"naked_hat,nude_hat"
+pattern_underwear,0,4897,
+sling_bikini,0,4880,slingkini
+face_fucking,0,4877,"face_fuck,facefuck,facefucking"
+spotted_markings,0,4875,"spot_(marking),spot_(markings),spots_(marking),spots_(markings),spotted_(marking),spotted_(markings),spotted_marking"
+off_shoulder,0,4874,strap_slip
+leaning_back,0,4873,
+grey_penis,0,4872,"gray_dick,gray_penis,grey_dick"
+finger_in_mouth,0,4863,"finger_in_own_mouth,fingers_in_mouth"
+2_horns,0,4857,"2-horn,2-horned,2-horns,2_horn,2_horned,double_horn,double_horned,double_horns,duo_horn,duo_horned,duo_horns,duohorn,duohorned,duohorns,two-horn,two-horned,two-horns,two_horn,two_horned,two_horns"
+cum_in_self,0,4851,
+grey_nipples,0,4847,"gray_nipples,grey_nipple"
+unusual_cum,0,4837,unusual_semen
+glistening_hair,0,4833,"bright_hair,shiny_hair"
+falco_lombardi,4,4824,falco
+sound_warning,1,4822,"audio_warning,ear_rape,music_warning"
+cross-popping_vein,0,4822,"anger_mark,anger_vein,angry_mark,angry_vein,anime_anger_vein,anime_vein,cross-pop_vein,cross-popped_vein,cross-popper_vein,cross_pop_vein,cross_popped_vein,cross_popper_vein,cross_popping_vein,cross_vein,cruciform-pop_vein,cruciform-popped_vein,cruciform-popper_vein,cruciform-popping_vein,cruciform_pop_vein,cruciform_popped_vein,cruciform_popper_vein,cruciform_popping_vein,cruciform_vein"
+blue_ears,0,4818,
+red_tongue,0,4816,
+bioluminescence,0,4815,"bioluminescent,bioluminiscence"
+grey_ears,0,4814,gray_ears
+bunny_costume,0,4814,"bunny_outfit,bunny_suit,bunnygirl_costume,bunnysuit,rabbit_costume,rabbit_outfit,rabbit_suit,rabbitsuit"
+television,0,4812,"television_screen,television_set,tv,tv_set"
+vaginal_knotting,0,4810,
+body_blush,0,4806,
+plucked_string_instrument,0,4805,
+presenting_balls,0,4803,
+fakemon,3,4803,"custom_digimon,custom_pokemon,custom_pokémon,fakémon,fan_digimon,fan_pokemon,fan_pokémon"
+cobra,5,4803,hooded_cobra
+robot_humanoid,5,4800,humanoid_robot
+brush,0,4799,brushes
+tail_through_skirt,0,4792,
+pattern_topwear,0,4792,
+pale_skin,0,4788,
+eyeless,0,4786,no_eyes
+hands_on_legs,0,4779,
+blush_stickers,0,4779,blush_sticker
+green_tail,0,4775,teal_tail
+glass_container,0,4772,
+2:1,7,4763,18:9
+typhlosion,5,4761,
+rhinocerotoid,5,4759,"rhino,rhinoceros,rhinocerotid,rhinocerotidae,rhinocerotoidea,rhinocerous"
+final_fantasy_xiv,3,4751,"ff14,ffxiv,final_fantasy_14"
+udders,0,4749,udder
+struggling,0,4749,struggle
+andromorph/male,0,4732,"am/m,andromorph_on_male,c/m,cboy/male,cuntboy/male,cuntboy_on_male,m/am,m/c,male/andromorph,male/cboy,male/cuntboy,male/pussy_boy,male/pussyboy,male_on_andromorph,male_on_cuntboy,male_on_pussy_boy,male_on_pussyboy,pussy_boy/male,pussy_boy_on_male,pussyboy/male,pussyboy_on_male"
+black_text,0,4730,
+breast_milking,0,4727,"breasts_milking,milking"
+touching_hair,0,4723,
+holding_leg,0,4719,
+electricity,0,4716,
+messy_hair,0,4701,"disheveled_hair,frizzy_hair,unkempt_hair"
+intersex_penetrating_male,0,4700,i/p/m
+big_head,0,4696,
+animal_sex_toy,0,4693,
+twili,5,4690,
+kirby_(series),3,4687,
+public_use,0,4684,
+animal_dildo,0,4684,"feral_dildo,feral_penis_dildo"
+chubby_male,0,4676,
+leafeon,5,4672,
+curled_tail,0,4668,curly_tail
+house,0,4664,
+ambiguous_penetrated,0,4663,
+skirt_lift,0,4660,"lifted_skirt,lifting_skirt,skirt_lifting"
+glistening_clothing,0,4658,"glistening_clothes,shiny_clothes,shiny_clothing"
+elephant,5,4655,
+muzzled,0,4654,
+wool_(fur),0,4651,"alpaca_wool,angora_wool,cashmere_wool,llama_wool,natural_wool,sheep_wool,wool_(anatomy),wool_(feature),wool_fiber,wool_fur"
+border_collie,5,4650,
+big_feet,0,4646,"big_paw,big_paws"
+aroused,0,4644,arousal
+cum_covered,0,4636,covered_in_cum
+halo,0,4630,
+mtf_transformation,0,4627,
+tail_sex,0,4625,"tail_fuck,tail_pegging,tailsex"
+bar,0,4624,
+cum_in_own_mouth,0,4620,
+throbbing,0,4618,
+fantasy,0,4608,fantasy_setting
+butt_pose,0,4608,"ass_pose,boob-and-ass_(pose),boob-and-ass_pose,boob_and_ass_(pose),boob_and_ass_pose,boobs'n'ass_(pose),boobs'n'ass_pose,boobs'n'butt_(pose),boobs'n'butt_pose,boobs-and-ass,boobs-and-ass_(pose),boobs-and-ass_pose,boobs-and-butt,boobs-and-butt_(pose),boobs_'n'_ass_(pose),boobs_'n'_ass_pose,boobs_'n'_butt_(pose),boobs_'n'_butt_pose,boobs_and_ass_(pose),boobs_and_ass_pose,boobs_n_ass_(pose),boobs_n_ass_pose,boobs_n_butt_(pose),boobs_n_butt_pose,t'n'a_(pose),t'n'a_pose,tit-and-ass_(pose),tit-and-ass_pose,tit-and-butt_(pose),tit-and-butt_pose,tit_and_ass_(pose),tit_and_ass_pose,tit_and_butt_(pose),tit_and_butt_pose,tits'n'ass_(pose),tits'n'ass_pose,tits'n'butt_(pose),tits'n'butt_pose,tits-and-ass,tits-and-ass_(pose),tits-and-ass_pose,tits-and-butt,tits-and-butt_(pose),tits-and-butt_pose,tits_'n'_ass_(pose),tits_'n'_ass_pose,tits_'n'_butt_(pose),tits_'n'_butt_pose,tits_and_ass_(pose),tits_and_ass_pose,tits_and_butt_(pose),tits_and_butt_pose,tits_n_ass_(pose),tits_n_ass_pose,tits_n_butt_(pose),tits_n_butt_pose,tna_(pose),tna_pose"
+2006,7,4604,
+white_inner_ear,0,4601,
+dragon_ball,3,4601,dragonball
+pinniped,5,4599,
+orange_background,0,4599,"light_orange_background,light_orange_bg,orange_bg"
+eagle,5,4598,
+penetrable_sex_toy,0,4597,"artificial_pussy,artificial_vagina,flesh_light,fleshlight,masturbation_sleeve,onahole,penetrable,penetrable_sex_toys,penetrable_sextoy,penetrable_sextoys,penetrables,pocket_pussy"
+wolf_o'donnell,4,4592,"star_wolf,starwolf,wolf_(star_fox),wolf_donnell,wolf_o'_donnell,wolf_o'donell,wolf_o'donnel,wolf_o_donnell,wolf_odonnel,wolf_odonnell"
+stripper_pole,0,4591,"dancing_pole,strip_pole,strip_poll,stripper_poles"
+science_fiction,0,4589,"sci-fi,sci_fi,science-fiction,scifi"
+eye_scar,0,4588,"eye_scars,eyes_scar,eyes_scars,eyescar,scarred_eye,scarred_eyes"
+ratchet_and_clank,3,4587,"ratchet_&_clank,ratchet_and_clank:_rift_apart"
+linear_sequence,0,4584,
+glass_cup,0,4577,glass_cups
+cleavage_cutout,0,4576,"boob_cutout,boob_window,breast_cutout,breast_window,cleavage_window,keyhole_cutout,keyhole_window"
+precum_string,0,4575,
+frilly,0,4575,"crimped,flounced,furbelow,ruffle,ruffles"
+clothed_feral,0,4575,
+ape,5,4574,"hominoid,hominoidea,hominoidean"
+gauged_ear,0,4568,"ear_gauge,ear_gauged,gauged_ears"
+multicolored_penis,0,4567,"colorful_penis,multi-colored_penis,multi_tone_penis,multicolor_penis,multicolour_penis,multicoloured_penis,muticolor_penis"
+fart,0,4567,"farted,farting,farts,flatulence,flatus"
+spreader_bar,0,4566,spreading_bar
+finger_fetish,0,4565,
+tight_fit,0,4564,
+cowbell,0,4563,cow_bell
+colored_sketch,7,4559,coloured_sketch
+beanie,0,4559,beanie_hat
+fairy,5,4556,"faerie,fairies"
+tired,0,4555,sleepy
+vines,0,4554,vine
+microphone,0,4550,
+pockets,0,4549,pocket
+underwear_around_one_leg,0,4548,underwear_around_leg
+food_creature,5,4546,"anthro_food,anthropomorphic_food,foodgirl,living_food"
+wolf_humanoid,5,4545,"humanoid_wolf,okamimi,okamimimi,ookamimi,ookamimimi,wolf_human"
+glory_hole,0,4541,gloryhole
+yoshi,5,4539,
+dutch_angle,0,4536,
+torn_bottomwear,0,4526,
+cattle_humanoid,5,4525,"cow_human,cow_humanoid,humanoid_cow,ushimimi,ushimusume"
+jiggling,0,4519,jiggle
+equine_anus,0,4517,horse_anus
+breast_squeeze,0,4516,"boob_squeeze,squeezing_breasts"
+umbrella,0,4515,
+painting_(artwork),7,4513,paint_(artwork)
+jolteon,5,4509,
+disability,0,4502,"disabled,disabled_people,disabled_person,functional_impairment,functionally_impaired,handicapped"
+dirty_talk,0,4497,dirty_talking
+fake_ears,0,4494,"ears_hairband,fake_animal_ears"
+finger_play,0,4493,"fingerplay,fingers_play,fingersplay"
+bukkake,0,4492,"bukake,bukakke,bukkakke"
+purple_nose,0,4490,
+flareon,5,4490,
+monotone_fur,0,4489,"mono-tone_fur,mono_tone_fur"
+detailed_bulge,0,4488,
+bowl,0,4487,bowls
+pooping,0,4482,"defecation,shitting"
+two_tone_ears,0,4481,
+neckerchief,0,4470,
+chained,0,4470,
+anonymous_artist,1,4467,"dshain,popopoka,popopoka_(artist),redra"
+penis_backwards,0,4466,"dangleback,penis_backward"
+tail_under_skirt,0,4449,
+arm_markings,0,4447,"arm_marking,arms_marking,arms_markings"
+tail_jewelry,0,4446,
+cinderace,5,4445,
+arthropod_humanoid,5,4445,
+open_beak,0,4442,
+mastiff,5,4434,
+relaxing,0,4427,"relax,relaxed"
+nonbinary_(lore),8,4425,non-binary_(lore)
+membranous_frill,0,4422,"frill_membrane,membrane_frill,membraned_frill"
+middle_eastern_mythology,3,4420,
+white_pupils,0,4417,
+power_bottom,0,4417,powerbottom
+monotone_tail,0,4415,"mono-tone_tail,mono-tone_tails,mono_tone_tail,mono_tone_tails,monotone_tail_feathers,monotone_tail_tuft,monotone_tails"
+outside_sex,0,4409,
+sitting_on_lap,0,4402,lap_sitting
+rifle,0,4401,
+reading,0,4401,read
+anal_vore,0,4401,
+yellow_penis,0,4400,yellow_dick
+sound_effect_variant,0,4400,
+tickling,0,4398,"tickle,tickled,tickles,ticklish"
+orange_clothing,0,4398,
+tyrannosaurid,5,4396,
+clitoral_winking,0,4396,"clit_wink,clit_winking,clitoral_wink,pussy_wink,pussy_winking,vaginal_winking,vulvar_winking,winking_clitoris"
+confusion,0,4387,"confused,confused_face,confused_look,puzzled"
+bath,0,4387,
+wet_body,0,4386,
+soft_shading,7,4385,soft_shaded
+tan_hair,0,4384,"beige_hair,short_tan_hair"
+kung_fu_panda,3,4382,"kfp,kfp_(film),kfp_(series),kung-fu_panda,kungfu_panda,kungfupanda"
+lombax,5,4381,
+scalie_humanoid,5,4375,
+fallout,3,4375,"fallout:_new_vegas,fallout_2,fallout_3,fallout_4,fallout_new_vegas"
+curled_hair,0,4368,"curly_hair,hair_curl"
+vinyl_scratch_(mlp),4,4365,"dj-pon3,dj_pon-3,dj_pon-3_(mlp),dj_pon3,dj_pon3_(mlp),vinl_scratch_(mlp),vinly_scratch_(mlp),vinyl_scratch"
+tan_scales,0,4362,"beige_scales,cream_scales,peach_scales"
+witch,0,4358,witches
+darkened_genitalia,0,4353,"dark_genital,dark_genitalia,dark_genitals,darkened_genital,darkened_genitals"
+red_nipples,0,4351,red_nipple
+studio_trigger,3,4343,"trigger_(anime),trigger_(studio),trigger_inc,trigger_inc.,trigger_incorporated"
+genital_torture,0,4340,"genital_trauma,genitalia_torture,genitalia_trauma"
+tyrannosaurus,5,4338,
+merfolk,5,4338,"mer_folk,mermaid,mermaids,merman"
+snake_hood,0,4337,cobra_hood
+bird's-eye_view,0,4336,"bird's_eye_view,birds_eye_view,overhead"
+unicorn_horn,0,4333,
+wine,0,4332,"red_wine,white_wine"
+velociraptor,5,4332,
+bee,5,4332,bees
+angel,5,4328,
+discarded_clothing,0,4326,"discarded_clothes,discarded_cloths"
+1:2,7,4323,
+platform_footwear,0,4322,
+fish_humanoid,5,4322,humanoid_fish
+cock_vore,0,4321,cockvore
+pole_dancing,0,4319,"pole_dance,pole_dancer,poledance,poledancer,poledancing"
+cum_from_mouth,0,4319,"cum_out_mouth,cum_out_of_mouth"
+raised_hand,0,4315,"hand_lift,hand_lifted,hand_lifting,hand_raised,hand_up,hands_lift,hands_lifted,hands_lifting,hands_raised,lift_hand,lift_hands,lifted_hand,lifted_hands,lifting_hand,lifting_hands,raised_hands"
+filth,0,4315,filthy
+kimono,0,4310,
+thigh_socks,0,4308,"thigh_high_socks,thighhigh_socks"
+bridal_gauntlets,0,4299,
+?!,0,4298,"!?,!?!,?!?,interrobang"
+wallpaper,7,4296,desktop_background
+alolan_form,5,4296,
+link,4,4295,
+faceless_female,0,4289,anonymous_female
+ineffective_clothing,0,4285,
+tentacle_in_mouth,0,4280,
+night_in_the_woods,3,4280,nitw
+gills,0,4279,gill
+pussy_juice_string,0,4275,
+bikini_bottom,0,4275,bikini_bottoms
+lab_coat,0,4270,labcoat
+minotaur,5,4268,"minataur,minutaur,monotaur,monutaur"
+larger_gynomorph,0,4267,larger_dickgirl
+thigh_grab,0,4260,grabbing_thigh
+wonderbolts_(mlp),4,4257,"the_wonder_bolt,the_wonder_bolt_(mlp),the_wonder_bolts,the_wonder_bolts_(mlp),the_wonderbolt,the_wonderbolt_(mlp),the_wonderbolts,the_wonderbolts_(mlp),wonder_bolt,wonder_bolt_(mlp),wonder_bolts,wonder_bolts_(mlp),wonderbolt,wonderbolt_(mlp),wonderbolts"
+double_anal,0,4257,
+pull_out,0,4255,"pulling_out,pullout,withdrawal"
+gazelle,5,4255,
+black_nails,0,4251,
+waterfall,0,4249,water_fall
+absol,5,4247,shiny_absol
+ball_lick,0,4246,"ball_licking,balls_lick,balls_licking,licking_balls"
+brown_scales,0,4245,
+winged_humanoid,5,4244,
+coco_bandicoot,4,4244,
+underwear_pull,0,4243,
+sally_acorn,4,4240,
+human_pov,0,4240,
+on_sofa,0,4237,"on_couch,on_the_couch"
+gynomorph_penetrating_male,0,4232,"d/p/m,dgirl_penetrating_male,dickgirl_penetrating_male,gm/p/m,newhalf_penetrating_male,shemale_penetrating_male"
+argonian,5,4230,
+axe,0,4224,ax
+footprint,0,4218,
+leg_warmers,0,4212,"leg_sleeve,leg_sleeves,leg_warmer,legwarmer,legwarmers"
+veiny_muscles,0,4211,
+alphys,4,4210,
+tenting,0,4209,erection_pushing_underwear
+green_sclera,0,4207,"green_eye_membrane,green_eye_white,green_eye_whites,green_outer_eye,green_sclerotic_coat,green_white_of_the_eye,green_white_of_the_eyes,green_whites_of_the_eye,green_whites_of_the_eyes"
+pixel_animation,7,4205,pixel_animated
+police,0,4204,"cop,cops"
+mascot,0,4204,mascots
+tyrannosaurus_rex,5,4203,"t-rex,t_rex,trex,tyrannosaur"
+silver_hair,0,4191,"long_silver_hair,short_silver_hair"
+christmas_tree,0,4190,"christmas_trees,christmastree,christmastrees"
+pink_panties,0,4189,
+scientific_instrument,0,4185,scentific_instrument
+bridle,0,4184,
+dialogue_box,0,4182,
+rainbow,0,4175,rainbows
+shield,0,4172,sheild
+halo_(series),3,4170,"halo:_combat_evolved,halo:_reach,halo_(copyright),halo_(game),halo_2,halo_3,halo_4,halo_5,halo_5:_guardians,halo_5_guardians,halo_combat_evolved,halo_reach,halo_wars,halo_wars_2"
+dark,0,4168,
+mid_transformation,0,4161,
+lgbt_pride,0,4159,"ace_pride,asexual_pride,bi_pride,bi_rights,bisexual_pride,bisexual_rights,gay_pride,gay_rights,homosexual_pride,lesbian_pride,lesbian_rights,lgbt,lgbt+,lgbtq,lgbtq+,pan_rights,pansexual_rights,trans_pride,trans_rights,transgender_pride,transgender_rights"
+pink_topwear,0,4153,
+furrification,0,4149,"furrified,rule_88"
+anthro_penetrating_feral,0,4149,a/p/f
+toeless_legwear,0,4147,
+pen_(artwork),7,4147,pen_art
+humanoid_on_feral,0,4142,"f/o/hd,feral/humanoid,feral_on_humanoid,hd/o/f,humanoid/feral"
+kitchen,0,4141,
+1_eye,0,4140,"1_eyed,1_eyes,one-eyed,one_eye,one_eyed,one_eyes,single_eye"
+drinking_glass,0,4136,
+midnight_lycanroc,5,4127,midnight_lugarugan
+on_glass,0,4125,"against_glass,pressed_against_glass,pressed_on_glass,put_em_on_the_glass"
+wet_diaper,0,4124,
+mewtwo,5,4123,
+white_panties,0,4119,
+destruction,0,4112,
+pussy_juice_drip,0,4111,pussy_juice_dripping
+black_footwear,0,4109,
+feathered_dragon,5,4106,
+stuck,0,4105,
+on_model,0,4104,"official-like,official-like_style,official_like,official_like_style,official_style,on-model,show_accurate,野生の公式"
+talking_to_another,0,4102,
+full_nelson,0,4093,"full_anal_nelson,full_vaginal_nelson"
+watch,0,4091,
+leather_clothing,0,4088,"leather_clothes,leather_outfit"
+khajiit,5,4088,"khajit,ohmes-raht,suthay"
+live-a-hero,3,4085,
+reaction_image,0,4084,reaction
+dildo_in_pussy,0,4081,
+breastfeeding,0,4080,"breast_feeding,nursing"
+keidran,5,4078,
+spiked_tail,0,4076,"spikes_on_tail,spikes_tail,spiky_tail,tail_spike,tail_spikes,tailspike,tailspikes"
+table_lotus_position,0,4075,table_lotus
+clitoral,0,4075,"clitoral_stimulation,clitoris_stimulation,rubbing_clit"
+orange_feathers,0,4074,
+lol_comments,7,4069,"comment_war,lolcomments"
+apron_only,0,4067,"naked_apron,nude_apron"
+white_inner_ear_fluff,0,4063,
+female_prey,0,4062,
+amputee,0,4061,fuck_nugget
+tribadism,0,4052,"scissor_position,scissored_tribadism,scissoring,trib,tribbing"
+throne,0,4047,
+stool,0,4044,
+platform_heels,0,4043,
+lidded_eyes,0,4043,eyes_lidded
+in_heat,0,4041,estrus
+fungus,0,4041,"fungi,funguses"
+unusual_genitalia,0,4034,"exotic_genital,exotic_genitalia,exotic_genitals,strange_genital,strange_genitalia,strange_genitals,unusual_genital,unusual_genitals,weird_genital,weird_genitalia,weird_genitals"
+ridiculous_fit,0,4032,"battering_ram_in_a_coffee_cup,impossible_fit,rediculous_fit"
+drinking_cum,0,4032,"cum_drinking,cum_eating,cum_swallow,cum_swallowing,drink_cum,eating_cum,gokkun,swallowing_cum"
+print_clothing,0,4028,
+yellow_balls,0,4024,
+equestria_girls,3,4024,
+self_fondle,0,4022,
+bald,0,4022,no_hair
+tan_background,0,4019,"beige_background,beige_bg,cream_background,cream_bg,light_beige_background,light_beige_bg,light_cream_background,light_cream_bg,light_peach_background,light_peach_bg,light_tan_background,light_tan_bg,peach_background,peach_bg,tan_bg"
+yelling,0,4017,shouting
+lonbluewolf,1,4015,
+cigar,0,4014,cigars
+prosthetic_limb,0,4011,"artificial_limb,limb_prostheses,limb_prosthesis,limb_prosthetic,limb_prosthetics,lower-extremity_prostheses,lower-extremity_prosthetic,lower-limb_prostheses,lower-limb_prosthetic,lower_extremity_prostheses,lower_extremity_prosthetic,lower_limb_prostheses,lower_limb_prosthetic,prosthetic_limbs,prosthetic_lower-extremity,prosthetic_lower-limb,prosthetic_lower_extremity,prosthetic_lower_limb,prosthetic_upper-extremity,prosthetic_upper-limb,prosthetic_upper_extremity,prosthetic_upper_limb,upper-extremity_prostheses,upper-extremity_prosthetic,upper-limb_prostheses,upper-limb_prosthetic,upper_extremity_prostheses,upper_extremity_prosthetic,upper_limb_prostheses,upper_limb_prosthetic"
+locker,0,4010,lockers
+white_briefs,0,4007,
+jumping,0,4006,"jump,leaping"
+toilet,0,4005,
+swimming,0,3999,
+humanoid_taur,5,3992,
+raised_arms,0,3988,"arms_raised,arms_up"
+guitar,0,3987,
+pistol,0,3982,
+red_underwear,0,3979,
+living_machine,5,3976,
+blue_shirt,0,3973,cyan_shirt
+cleaning_tool,0,3972,cleaning_tools
+clitoris_piercing,0,3971,"clit_piercing,clit_ring,clitoral_piercing,clitring,hood_piercing,pierced_clit,pierced_clitoris"
+riolu,5,3970,
+cross,0,3969,
+male_penetrating_ambiguous,0,3964,"m/p/?,m/p/ag"
+footwear_only,0,3963,"naked_footwear,nude_footwear"
+nosebleed,0,3955,"bleeding_nose,blood_from_nose,bloody_nose,nose_bleed"
+pentagram,0,3951,
+black_pants,0,3951,
+egyptian_mythology,3,3946,
+open_jacket,0,3945,
+studio_montagne,3,3942,
+hypergryph,3,3942,
+arknights,3,3942,
+cow_print,0,3939,"cow_pattern,cowprint"
+dakimakura_design,0,3934,"daki,dakimakura"
+patreon_username,0,3933,
+anal_juice,0,3933,anus_juice
+crow,5,3928,
+tan_penis,0,3927,beige_penis
+glistening_breasts,0,3920,"shiny_boobs,shiny_breasts,shiny_tits"
+stripper,0,3917,strippers
+soiling,0,3913,"panty_poop,panty_pooping"
+butterfly,5,3911,butterflies
+ring_(jewelry),0,3908,
+konami,3,3900,
+gameplay_mechanics,0,3900,"game_element,game_elements,game_mechanic,game_mechanics,game_play_mechanic,game_play_mechanics,gameplay_mechanic,role_playing_game_element,role_playing_game_elements,role_playing_game_mechanic,role_playing_game_mechanics,rpg_element,rpg_elements,rpg_mechanic,rpg_mechanics,video_game_mechanics"
+saliva_drip,0,3892,saliva_dripping
+penis_milking,0,3888,"cock_milking,cum_milking,semen_extraction"
+cutlery,0,3888,
+nipple_suck,0,3886,"nipple_sucking,nipples_suck,sucking_nipple,sucking_nipples"
+heart_after_text,0,3886,
+collaborative_fellatio,0,3886,
+black_collar,0,3886,
+pride_colors,0,3885,"pride_color,pride_colour,pride_colours,pride_flag"
+sackless,0,3883,herm_half_package
+female_(lore),8,3883,
+throbbing_penis,0,3881,"penile_twitch,penile_twitching,penis_throb,penis_throbbing,penis_twitch,penis_twitching,twitching_penis"
+thick_bottom_lip,0,3879,"bottom_lip,bottom_lips,thick_bottom_lips"
+tail_fin,0,3879,"finned_tail,tail_fins,tailfin"
+winter,0,3877,
+pandaren,5,3874,
+cybernetic_limb,0,3873,"augmented_limb,cyberlimb,cybernetic_limbs,cyborg_limbs"
+marsminer,1,3871,
+waddling_head,5,3866,
+unconvincing_armor,0,3865,"impractical_armor,ineffective_armor,questionable_armor,questionable_armour,revealing_armor,unconvincing_armour"
+imminent_vore,0,3863,"impending_vore,pre-vore,pre_vore"
+incineroar,5,3859,
+sabertooth_(anatomy),0,3858,"saber-toothed,saber_teeth,saber_tooth_(anatomy),saber_tooth_(feature),saberteeth,sabertooth(anatomy),sabertooth(feature),sabertooth_(feature),sabertooth_anatomy,sabertooth_feature,sabre_teeth,sabretooth_(anatomy),sabretooth_(feature)"
+action_pose,0,3856,dynamic_pose
+milking_machine,0,3854,"breast_pump,milker"
+father_and_daughter,0,3854,"daughter/father,daughter_and_father,father/daughter"
+star_wars,3,3853,starwars
+covering_breasts,0,3853,
+wrist_cuffs,0,3849,"wrist_cuff,wristcuffs"
+pattern_panties,0,3845,
+band-aid,0,3845,"band_aid,bandaid,bandaids,sticking_plaster"
+tail_ring,0,3840,"tail_rings,tailring"
+long_foreskin,0,3837,
+icon,7,3837,"avatar_material,avatar_picture,icons,profile_icon,profile_picture"
+knuckles_the_echidna,4,3836,"knuckleline_(sonic),knuckles,knucklesline_(sonic)"
+brown_bear,5,3833,
+weights,0,3829,weight
+chocolate,0,3827,chocolates
+delphox,5,3818,
+blue_underwear,0,3817,cyan_underwear
+after_anal,0,3817,"after-anal,after_anal_sex,afteranal,post-anal,post_anal,postanal"
+color_swatch,0,3816,"color_guide,color_palette"
+what_has_science_done,0,3809,has_science_gone_too_far
+intersex_penetrating_intersex,0,3809,"futa_penetrating_futa,futa_penetrating_futanari,futanari_penetrating_futa,futanari_penetrating_futanari,i/p/i"
+pun,0,3806,"punny,puns"
+ralsei,4,3802,
+name_drop,0,3802,
+chubby_anthro,0,3798,
+cum_in_nose,0,3792,
+fromsoftware,3,3790,"from_software,from_software_inc,from_software_inc.,from_software_incorporated,fromsoftware_inc,fromsoftware_inc.,fromsoftware_incorporated"
+eyewear_only,0,3789,"eye_wear_only,naked_eye_wear,naked_eyewear,nude_eye_wear,nude_eyewear"
+sex_on_the_beach,0,3787,
+larger_human,0,3784,
+jack-o'-lantern,0,3783,"halloween_pumpkin,jack'o'lantern,jack-o'lantern,jack-o-lantern,jack-ol-lantern,jack-olantern,jack_'o_lantern,jack_o'_lantern,jack_o'lantern,jack_o_lantern,jack_ol_lantern,jack_olantern,jacko'lantern,jacko-lantern,jackolantern"
+smothering,0,3780,"smoosh,smooshing,smother,smothered"
+guild_wars,3,3779,"guild_wars_2,guildwars,guildwars_2,gw2"
+character_name,7,3779,
+teacher,0,3778,substitute_teacher
+reach_around,0,3777,"reach-around,reacharound"
+equid_taur,5,3773,equitaur
+universal_studios,3,3772,universal_pictures
+sans_(undertale),4,3767,"sans_undertale,undertale_sans"
+black_panties,0,3767,
+humanized,0,3766,
+pawprint,0,3765,"paw-print,paw_print,paw_prints,pawprints"
+guilmon,5,3765,aqua_guilmon
+striped_underwear,0,3762,
+glowing_penis,0,3753,"glowcock,glowing_cock"
+voice_acted,7,3750,"voice,voice_acting,voiced,voices"
+straps,0,3737,strap
+smaller_feral,0,3737,
+skinny,0,3733,
+mask_(marking),0,3733,"domino_mask_(marking),domino_mask_marking,domino_masks_marking,mask_(markings),mask_marking,mask_markings,masked_(marking),masked_(markings),masked_marking,masked_markings,masks_(marking),masks_(markings),masks_marking,masks_markings"
+obliques,0,3732,
+toeless_socks,0,3718,toeless_sock
+carrot,0,3705,carrots
+dominant_intersex,0,3702,"dom_futa,dom_intersex,futa_dom,intersex_dom,intersex_dominant,intersex_dominating,intersex_domination"
+armlet,0,3701,"arm_bracelet,armlets"
+desert,0,3696,
+susie_(deltarune),4,3694,
+dungeons_and_dragons,3,3693,"d&d,dnd,dungeons_&_dragons"
+boxer_briefs,0,3692,boxerbriefs
+plate,0,3691,
+holding_cup,0,3689,holding_cups
+eye_through_hair,0,3688,"eye_clipping_through_hair,eye_visible_through_hair,eyes_clipping_through_hair,eyes_through_hair,eyes_visible_through_hair"
+the_bad_guys,3,3682,
+screen,0,3682,
+popsicle,0,3681,"ice_lolly,ice_pop,iceblock"
+smaller_version_at_source,7,3680,"bigger_than_source,cropped_version_at_source,low_res_at_source,lower_res_at_source,small_at_source,small_version_at_source,smaller_at_source,smaller_version_at_the_source,svas,svats,worse_version_at_source"
+rope_harness,0,3676,shibari
+camera_view,0,3676,"camera_pov,on_camera"
+starlight_glimmer_(mlp),4,3673,starlight_glimmer
+manga,7,3672,
+4_ears,0,3671,four_ears
+webbed_feet,0,3669,"webbed_foot,webbed_paw,webbed_paws,webbed_toe,webbed_toes"
+lola_bunny,4,3669,
+dungeon,0,3668,
+tentacle_rape,0,3664,
+page_number,0,3664,
+welsh_corgi,5,3660,corgi
+toeless_(marking),0,3656,"toeless_(markings),toeless_marking,toeless_markings"
+horn_jewelry,0,3656,
+presenting_breasts,0,3648,presenting_breast
+octavia_(mlp),4,3641,octavia
+purple_tongue,0,3640,purple_tounge
+brand_new_animal,3,3635,
+glistening_penis,0,3634,"glistening_cock,glistening_dick,glistening_member,glistening_phallus,glistening_shaft,shining_cock,shining_dick,shining_member,shining_penis,shining_phallus,shining_shaft,shiny_cock,shiny_dick,shiny_member,shiny_penis,shiny_phallus,shiny_shaft"
+triple_penetration,0,3633,
+anvil_position,0,3632,
+prostitution,0,3630,"hooker,prostitute"
+after_masturbation,0,3629,
+size_play,0,3624,sizeplay
+striped_hyena,5,3620,striped_hyena_(species)
+genital_expansion,0,3620,
+begging,0,3620,"beg,pleading"
+female_on_bottom,0,3619,
+african_wild_dog,5,3619,"african_hunting_dog,african_wilddog,awd,cape_hunting_dog,lycaon,painted_dog"
+unfinished,7,3618,"incomplete,wip,work_in_progress"
+arthropod_abdomen,0,3612,"abdomen,insect_abdomen,invertebrate_abdomen"
+office,0,3611,
+ice,0,3610,
+ringed_eyes,0,3597,
+piebald,0,3587,piebaldism
+kiss_mark,0,3584,"kiss_marks,kissmark,kissmarks,lipstick_mark,lipstick_marks"
+hand_behind_back,0,3581,arm_behind_back
+coleoid,5,3575,"coleoidea,coleoidean,dibranchiata"
+mushroom,0,3574,"mushrooms,mushroon,shroom,toadstool,wild_mushroom"
+goof_troop,3,3572,"a_goofy_movie,an_extremely_goofy_movie,goofy_movie"
+after_orgasm,0,3572,"after-cum,after-ejaculate,after-ejaculation,after-orgasm,after_cum,after_cumming,after_ejaculate,after_ejaculation,aftercum,aftercumming,afterejaculate,afterejaculation,afterorgasm,post-cum,post-ejaculate,post-ejaculation,post-orgasm,post_cum,post_cumming,post_ejaculate,post_ejaculation,post_orgasm,postcum,postcumming,postejaculate,postejaculation,postorgasm"
+fingernails,0,3569,"finger_nail,finger_nails,fingernail"
+hand_in_pocket,0,3568,"hand_in_pockets,hands_in_pocket,hands_in_pockets"
+choking,0,3566,choke
+plant_humanoid,5,3564,"flora_humanoid,humanoid_flora,humanoid_plant"
+fluffy_ears,0,3560,
+holding_leash,0,3545,holding_leashes
+discord_(mlp),4,3543,"discord,eris_(mlp),eris_the_draconequus_(mlp)"
+anthro_focus,0,3542,
+dog_humanoid,5,3541,"humanoid_dog,inumimi,inumusume"
+double_dildo,0,3539,"double_ended_dildo,double_headed_dildo,doubledildo"
+tail_ribbon,0,3537,
+hammer,0,3535,mallet
+burping,0,3533,"belch,belching,burp"
+striped_bottomwear,0,3532,
+thumbs_up,0,3530,"thumb-up,thumb_up,thumb_up_sign,thumbs-up,thumbs_up_sign,👍"
+epic_games,3,3530,"epic_games_inc,epic_games_inc.,epic_games_incorporated,epic_megagames,epic_megagames_inc,epic_megagames_inc.,epic_megagames_incorporated,potomac_computer_systems"
+spooning,0,3529,
+purple_areola,0,3528,"purple_areolae,purple_areolas"
+bottomless_male,0,3522,
+baby,0,3509,"babies,infant"
+laptop,0,3508,
+hair_bun,0,3506,"bun,bun_(hairstyle),hairbun,sock_bun"
+black_beak,0,3506,blakc_beak
+exposed,0,3503,exposure
+chameleon,5,3502,"chamaeleon,chamaeleonid,chamaeleonidae"
+unusual_penis,0,3499,"exotic_cock,exotic_dick,exotic_dong,exotic_penis,fantasy_penis,strange_cock,strange_dick,strange_dong,strange_penis,unique_penis,unusual_cock,unusual_dick,unusual_dong,weird_cock,weird_dick,weird_dong,weird_penis"
+valentine's_day,3,3497,"valentine,valentines,valentines_day"
+pizza,0,3496,
+lamia,5,3495,
+casual_exposure,0,3495,
+size_transformation,0,3486,
+darkstalkers,3,3484,
+dog_tags,0,3480,"dog-tag,dog-tags,dog_tag,dogtag,dogtags"
+lying_on_bed,0,3474,"laying_in_bed,laying_on_bed,lying_in_bed"
+bovid_horn,0,3472,bovid_horns
+flag,0,3471,
+mouth_hold,0,3461,
+snowing,0,3459,
+older_penetrated,0,3458,"younger_penetrating,younger_penetrating_older"
+heart_(marking),0,3454,"<3-shaped_marking,<3-shaped_markings,<3_(marking),<3_(markings),<3_mark,<3_marking,<3_markings,<3_marks,<3_shaped_marking,<3_shaped_markings,heart-shaped_marking,heart-shaped_markings,heart_(markings),heart_mark,heart_marking,heart_markings,heart_marks,heart_shaped_marking,heart_shaped_markings,hearts-shaped_marking,hearts-shaped_markings,hearts_(marking),hearts_(markings),hearts_mark,hearts_marking,hearts_markings,hearts_marks,hearts_shaped_marking,hearts_shaped_markings"
+goo_transformation,0,3454,"goo_tf,slime_tf,slime_transformation,tf_into_goo,tf_into_slime,transformation_into_goo,transformation_into_slime"
+white_footwear,0,3450,
+nightmare_moon_(mlp),4,3448,nightmare_moon
+squint,0,3447,"eyes_squinted,squinting"
+elemental_manipulation,0,3445,"element_magic,element_manip,element_manipulation,elemental_magic,elemental_manip"
+tauren,5,3441,
+daww,0,3440,
+ass_to_ass,0,3440,"ass-to-ass,butt_to_butt,rumpty_bumpty"
+tom_fischbach,1,3439,tom_fischbach_(artist)
+on_table,0,3438,
+herpestid,5,3437,herpestidae
+maned_wolf,5,3430,"chrysocyon,manned_wolf,stilt_wolf"
+infidelity,0,3429,"adultery,netorare,ntr"
+meme_clothing,0,3427,
+gym,0,3427,
+better_version_at_source,7,3427,"better_quality_at_source,better_version_at_the_source,bigger_at_source,bigger_version_at_source,bigger_version_at_the_source,bvas,bvats,cropped_from_source,hi_res_at_source,high_res_at_source,higher_quality_at_source,higher_res_at_source,larger_at_source,larger_version_at_source,lvas"
+mixed_media,7,3426,mixed_media_(artwork)
+vulpix,5,3424,
+pool_toy,0,3421,pooltoy
+mole_(marking),0,3421,"beauty_marks,beauty_mole,beauty_moles,beauty_spots,mole_(markings),mole_marking,mole_markings,moles_(marking),moles_(markings),moles_marking,moles_markings"
+bucket,0,3419,"buckets,pail"
+dot_eyes,0,3418,
+covering_crotch,0,3417,
+mao_mao:_heroes_of_pure_heart,3,3416,"heroes_of_pure_heart,i_love_you_mao_mao,mao-mao-heroes-of-pure-heart,mao-mao:-heroes-of-pure-heart,mao_mao_(cartoon),mao_mao_(series),mao_mao_(show),mao_mao_heroes_of_pure_heart,mao_mao_heroes_of_the_pure_heart,愛してる❤_maomao"
+tumblr,3,3414,
+moth,5,3414,
+colored_cum,0,3412,coloured_cum
+take_your_pick,0,3409,
+pattern_shirt,0,3407,
+gastropod,5,3407,"gasteropod,gasteropoda,gasteropodan,gastropoda,gastropodan,univalve,univalves"
+draenei,5,3405,
+hay,0,3402,
+white_legwear,0,3399,
+salamander_(amphibian),5,3399,urodela
+vanilla_the_rabbit,4,3390,
+between_breasts,0,3390,object_in_cleavage
+green_feathers,0,3389,
+name_in_dialogue,0,3388,
+green_balls,0,3387,
+bow_(weapon),0,3382,"bow(weapon),bow_and_arrow"
+stick,0,3381,
+metroid,3,3381,
+lollipop,0,3381,"lolipop,lollypop,sucker"
+fake_rabbit_ears,0,3380,"bunny_ears_(cosmetic),fake_bunny_ears"
+crystal,0,3379,"crystalline,crystalline_solid,crystals,rock_crystal"
+grey_topwear,0,3378,gray_topwear
+frenum_piercing,0,3377,pierced_frenum
+sssonic2,1,3375,
+bonnie_(fnaf),4,3374,
+spread_toes,0,3371,"splayed_toes,spreading_toes,toe_spreading,toes_splayed,toes_spread,toes_spreading"
+nurse,0,3368,
+draconequus,5,3368,
+cum_from_nose,0,3368,"angry_dragon,cum_out_nose,cum_through_nose,nose_cum"
+leg_wrap,0,3364,leg_lock
+tally_marks,0,3363,"tallies,tally_count,tally_mark"
+corruption,0,3362,
+beckoning,0,3351,"beckon,come_hither"
+protogen,5,3350,proto_gen
+motion_blur,0,3347,
+cum_on_back,0,3347,
+webbed_hands,0,3345,"webbed-hands,webbed_finger,webbed_fingers,webbed_hand"
+cum_on_arm,0,3345,cum_on_arms
+backwards_hat,0,3344,
+object_in_mouth,0,3340,
+shallow_penetration,0,3338,"just_the_tip,penis_tip_in"
+cybernetic_arm,0,3334,"augmented_arm,cyber_arm,cyberarm,cybernetic_arms,cyborg_arm"
+married_couple,0,3332,
+grey_nose,0,3327,gray_nose
+strepsirrhine,5,3324,"strepsirhini,strepsirrhines,strepsirrhini"
+penis_base,0,3324,
+grabbing_sheets,0,3323,"clutching_sheets,grabbing_sheet,grasping_sheets,gripping_sheets,holding_sheets,sheet_grab,sheet_grabbing"
+barn,0,3320,
+animaniacs,3,3320,
+extended_sound_effect,0,3318,
+balloon,0,3315,"balloons,baloon"
+asgore_dreemurr,4,3314,"asgore,asgore_(undertale)"
+heart_reaction,0,3313,
+three_frame_image,0,3311,
+mew,5,3311,
+dc_comics,3,3307,"dc,dc_(comics),detective_comics_comics"
+weightlifting,0,3304,"bodybuilding,lifting_weights,weight_lifting"
+eye_markings,0,3302,"eye_marking,eyes_marking,eyes_markings"
+spanish_text,7,3301,
+blue_pants,0,3301,cyan_pants
+cock_and_ball_torture,0,3298,"cabt,cbt,cock_and_balls_torture"
+swimming_trunks,0,3296,"beach_shorts,board_shorts,swim_brief,swim_briefs,swim_shorts,swim_trunks,swimming_brief,swimming_briefs,swimming_shorts,swimshorts,swimtrunks,trunks,trunks_(clothing)"
+lemur,5,3294,"lemuroid,lemuroidea,lemuroidean,lemurs"
+knee_highs,0,3292,"knee-high,knee-highs,knee_high,kneehigh,kneehighs"
+screaming,0,3286,scream
+uvula,0,3281,
+thigh_sex,0,3281,"handlebar,intercrural,intercrural_sex,penis_between_legs,sumata,thigh_job,thighjob"
+playing_videogame,0,3279,"gamer,playing_video_game,playing_video_games,playing_videogames,while_playing_videogame"
+green_tongue,0,3279,green_tounge
+bathtub,0,3279,tub
+balls_touching,0,3278,
+two_tone_penis,0,3273,two-tone_penis
+yellow_markings,0,3271,yellow_marking
+latex,0,3271,
+ftm_crossgender,0,3271,"female_to_male_crossgender,female_to_male_r63,female_to_male_rule_63,ftm_r63,ftm_rule_63"
+male_anthro,0,3268,
+cutoffs,0,3268,"cut-off,cut-off_short,cut-off_shorts,cut-offs,cut_off,cut_off_short,cut_off_shorts,cut_offs,cutoff,cutoff_short,cutoff_shorts,denim_shorts,jean_shorts,jort_shorts,jorts"
+messy_diaper,0,3266,dirty_diaper
+game_console,0,3265,
+sucker_punch_productions,3,3261,
+spyro,4,3261,spyro_(adult_form)
+ambiguous_fluids,0,3261,"ambiguous_fluid,ass_juice,fluid,fluids,juices"
+leopard_spots,0,3259,rosettes
+lyra_heartstrings_(mlp),4,3257,"lyra_(mlp),lyra_heartstrings"
+sly_cooper_(series),3,3251,sly_cooper_(copyright)
+tail_wraps,0,3249,"tail_wrap,tailwrap,tailwraps"
+fuf,1,3249,
+arrow_(weapon),0,3247,
+toy_chica_(fnaf),4,3246,
+four_frame_image,0,3245,
+cat_tail,0,3230,
+equine_dildo,0,3228,"equine_penis_dildo,horse_dildo,horse_penis_dildo,horsecock_dildo"
+crowd,0,3227,
+morenatsu,3,3225,
+through_wall,0,3222,"full_body_glory_hole,in_wall,inside_wall,stuck_in_a_wall,stuck_in_wall,stuck_through_wall,through_the_wall"
+latias,5,3222,shiny_latias
+deep_penetration,0,3222,
+multiple_angles,0,3216,"different_angles,multiple_angle,multiple_views"
+rodent_humanoid,5,3215,
+blue_anus,0,3215,cyan_anus
+snuff,0,3214,
+nintendo_switch,3,3214,
+fortnite,3,3213,
+wrestling,0,3212,wrestle
+sportswear,0,3212,"sport_clothes,sport_clothing,sports_clothes,sports_clothing,sports_wear"
+ear_tag,0,3211,"eartag,tagged_ear"
+unavailable_at_source,7,3210,"broken_at_source,broken_source,broken_version_at_source,busted_source,dead_source,deleted_source,non-working_source,non_working_source,nonworking_source,not_working_at_source,not_working_source,source_broken,source_busted,source_dead,source_deleted,source_is_dead,source_not_working,source_unavailable,unavailable_source,uvas"
+writing_utensil,0,3206,
+ring_gag,0,3201,"ringgag,spider_gag"
+pokemon_legends_arceus,3,3199,pokémon_legends:_arceus
+idw_publishing,3,3194,"idea_and_design_works,idea_and_design_works_llc,idw,idw_comics"
+headdress,0,3194,headress
+selfcest,0,3190,
+potion,0,3190,potions
+muscular_arms,0,3183,
+netflix,3,3180,
+matemi,1,3175,matemi-i
+no_sclera,0,3174,
+noseless,0,3171,no_nose
+dark_nipples,0,3171,
+panties_around_one_leg,0,3168,"panties_around_leg,panties_on_leg,panties_on_one_leg"
+herm_(lore),8,3167,hermaphrodite_(lore)
+greninja,5,3167,
+floor,0,3167,
+year,0,3165,
+pen,0,3165,
+robin_hood_(disney),3,3162,
+rito,5,3162,
+ridged_penis,0,3162,"ridge_penis,ridged_cock"
+hair_tie,0,3161,hairtie
+outie_navel,0,3160,"outie_belly_button,outie_bellybutton,outie_naval,popped_navel"
+frilly_clothing,0,3153,frilled_clothing
+fireplace,0,3153,fire_place
+centaur,5,3152,"centauress,equine_centaur"
+red_shirt,0,3149,
+fatal_vore,0,3147,
+closed_smile,0,3146,
+real,0,3145,"irl,real_life"
+tail_coil,0,3144,
+peach_pussy,0,3142,innie_pussy
+watercolor_(artwork),7,3137,"aquarelle,watercolor,watercolor_(art),watercolor_art,watercolor_artwork,watercolors,watercolour,watercolour_(art),watercolour_(artwork),watercolour_art,watercolour_artwork,watercolours"
+submissive_human,0,3137,human_dominated
+smelly,0,3137,"stink,stinky"
+golden_retriever,5,3133,golden_laborador
+calico_cat,5,3131,calico
+striped_panties,0,3128,shimapan
+multiple_positions,0,3128,multiple_position
+bruised,0,3128,"bruise,bruises,bruising"
+brown_markings,0,3127,brown_marking
+ornithischian,5,3121,"bird-hipped_dino,bird-hipped_dinosaur,bird_hipped_dino,bird_hipped_dinosaur,ornithischia,predentata"
+rareware,3,3119,
+black_anus,0,3119,blakc_anus
+beady_eyes,0,3117,
+sagging_breasts,0,3116,saggy_breasts
+sangheili,5,3115,"elite_(halo),halo_elite,sangheli,sanghelli"
+military,0,3112,
+yellow_ears,0,3111,
+unprofessional_behavior,0,3110,unprofessional_behaviour
+salazzle,5,3110,shiny_salazzle
+hand_on_back,0,3107,
+jack-o'_pose,0,3103,"jack-o'_crouch,jack-o'_crouch_pose,jack-o_crouch,jack-o_crouch_pose,jack-o_pose,jack_o'_crouch,jack_o'_crouch_pose,jack_o_crouch,jack_o_crouch_pose,jack_o_pose,jacko_pose,jackochallenge,jackopose"
+pink_scales,0,3099,
+stomach,0,3096,
+archived_source,7,3095,
+naturally_censored,0,3092,"natural_censored,natural_censorship"
+cloudscape,0,3092,"cloud_scape,sky_scape,skyscape"
+tail_growth,0,3091,
+knotted_dildo,0,3089,
+torn_pants,0,3088,ripped_pants
+cum_on_clothing,0,3087,cum_on_clothes
+morbidly_obese_anthro,0,3085,
+standard_pokéball,0,3079,"normal_poke_ball,normal_poke_balls,normal_pokeball,normal_pokeballs,normal_poké_ball,normal_poké_balls,normal_pokéball,normal_pokéballs,standard_poke_ball,standard_poke_balls,standard_pokeball,standard_pokeballs"
+riding_crop,0,3079,"crop,horse_whip,horsewhip"
+how_to_train_your_dragon,3,3078,httyd
+public_restroom,0,3077,"public_bathroom,public_washroom,restroom"
+spank_marks,0,3076,"spank_mark,spanked"
+anthro_penetrating_humanoid,0,3076,a/p/hd
+nature_background,0,3075,"natural_background,natural_bg,nature_bg"
+donkey_kong_(series),3,3075,"donkey_kong,donkey_kong_country"
+sighthound,5,3074,"gaze_hound,gazehound,sight_hound"
+jaguar,5,3073,"black_jaguar,melanistic_jaguar,white_jaguar"
+unusual_pupils,0,3063,exotic_pupils
+thigh_squish,0,3060,
+melanistic,0,3060,"melanism,reverse_albinism,reverse_albino"
+grey_claws,0,3059,gray_claws
+extended_arm,0,3059,
+text_box,0,3058,
+unbirthing,0,3056,"pussy_vore,unbirth,vagina_vore,vaginal_vore,vore_pussy"
+kittydee,1,3056,
+broken_horn,0,3053,"amputated_horn,amputated_horns,broken_horns,clipped_horn,clipped_horns,severed_horn,severed_horns"
+white_text,0,3050,
+anthro_pred,0,3050,
+hairclip,0,3048,"barrette,hair_clip"
+topless_anthro,0,3045,
+aogami,1,3045,
+huge_bulge,0,3042,"giant_bulge,gigantic_bulge,humongous_bulge"
+ambiguous_prey,0,3041,
+generation_9_pokemon,5,3040,"generation_9_pokémon,generation_ix_pokemon,generation_ix_pokémon"
+graffiti,0,3039,"grafitti,wall_writing"
+ask_blog,0,3034,ask
+cuckold,0,3033,"cuckhold,cuckholding,cuckolding,cuckoldry"
+cover_art,7,3033,
+mature_intersex,0,3028,"mature_futa,mature_futanari"
+glasses_only,0,3027,"naked_glasses,nude_glasses"
+grabbing_from_behind,0,3026,grab_from_behind
+fuze,1,3025,
+dimwitdog,1,3025,
+pink_feathers,0,3024,
+yawn,0,3023,yawning
+tentacle_monster,5,3022,"tentacl_monster,tentacle_girl"
+card,0,3021,cards
+camelid,5,3018,
+airplane,0,3018,"aeroplane,plane"
+horn_ring,0,3016,
+gumball_watterson,4,3016,
+cervix,0,3015,
+greeting,0,3013,
+luxray,5,3012,
+candy_cane,0,3010,candycane
+tighty_whities,0,3009,tighty-whities
+painting,0,3007,
+flying_wyvern,5,3007,
+belly_overhang,0,3007,
+older_anthro,0,3006,
+river,0,3002,
+siamese,5,2997,siamese_cat
+leg_glider_position,0,2996,leg_glider
+ear_fins,0,2994,"ear_fin,fin_ears,finned_ears"
+iris,0,2988,
+tiny_toon_adventures,3,2985,tiny_toons
+color_coded,0,2984,
+simple_eyes,0,2983,
+garter,0,2983,garters
+black_eyelashes,0,2983,
+after_vore,0,2982,"after_absorption_vore,after_vore_belly,after_voring,aftervore,aftervore_belly,aftervoring,post_vore,post_vore_belly,post_voring,postvore,postvore_belly,postvoring"
+stuttering,0,2979,"stammer,stammering,stutter"
+womb_tattoo,0,2978,
+red_bottomwear,0,2978,
+torture,0,2977,
+superhero,0,2977,"super_hero,super_heroes,super_heroine,super_heroines,superheroes,superheroine,superheroines"
+penis_on_face,0,2977,
+horizontal_pupils,0,2976,"caprine_eyes,cephalopod_eye,cephalopod_eyed,cephalopod_eyes,cephalopod_pupil,cephalopod_pupils,frog_eye,frog_eyed,frog_eyes,frog_pupil,frog_pupils,goat_eye,goat_eyed,goat_eyes,goat_pupil,goat_pupils,octopus_eye,octopus_eyed,octopus_eyes,octopus_pupil,octopus_pupils,rectangular_pupils,sheep_eyes,sheep_pupils,sideways_pupils,squid_eye,squid_eyed,squid_eyes,squid_pupil,squid_pupils"
+appliance,0,2976,appliances
+creepy,0,2974,
+kris_(deltarune),4,2973,
+master_tigress,4,2972,"mastertigress,tigress_(kfp),tigress_(kung_fu_panda)"
+living_inflatable,5,2971,animate_inflatable
+fisting,0,2969,
+alley,0,2967,alleyway
+spot_color,7,2966,"splash_of_color,spot_colour"
+backwards_baseball_cap,0,2963,backwards_baseball_hat
+base_one_layout,0,2962,
+nightfaux,1,2961,
+feral_pred,0,2961,
+penguin,5,2959,
+purple_markings,0,2958,purple_marking
+pink_ears,0,2955,
+cum_in_clothing,0,2955,cum_in_clothes
+prosthetic_arm,0,2951,"arm_prostheses,arm_prosthesis,arm_prosthetic,arm_prosthetics,prosthetic_arms"
+orange_ears,0,2945,
+valve,3,2944,
+sex_toy_penetration,0,2944,
+ankle_cuffs,0,2942,ankle_cuff
+unzipped,0,2941,unzip
+brown_pawpads,0,2941,"brown_paw_pad,brown_paw_pads,brown_pawpad"
+hairless,0,2940,furless
+suirano,1,2938,suirano_(artist)
+infantilism,0,2938,"ab/dl,abdl,babyfur,babyfurs,diaperfur,diaperfurs,infantalism"
+brown_stripes,0,2934,
+multicolored_eyes,0,2930,"central_heterochromia,multi_colored_eyes,multicolor_eyes,multicoloured_eyes"
+basket,0,2929,baskets
+ear_markings,0,2926,"ear_marking,ears_marking,ears_markings"
+nipple_tape,0,2924,
+glowing_markings,0,2924,"glowing_mark,glowing_marking,glowing_marks"
+two_tone_clothing,0,2922,
+princess_twilight_sparkle_(mlp),4,2922,
+looking_at_self,0,2920,
+ball_grab,0,2918,"ballcaress,balls_grab,cupping_balls,grabbing_balls,groping_balls"
+meat,0,2912,
+bookshelf,0,2912,"book_shelf,bookcase,bookshelves"
+looking_at_object,0,2911,
+gulonine,5,2911,guloninae
+unretracted_foreskin,0,2908,
+one_row_layout,0,2907,
+poodle,5,2905,french_poodle
+cum_on_pussy,0,2904,
+male_penetrating_gynomorph,0,2903,"m/p/d,m/p/gm,male_penetrating_dgirl,male_penetrating_dickgirl,male_penetrating_newhalf,male_penetrating_shemale"
+hip_grab,0,2903,
+pirate,0,2902,
+tail_bow,0,2899,"bow_on_tail,tailbow"
+belly_scales,0,2899,"breast_scales,chest_scales,gastrosteges,pec_scales"
+pseudo_clothing,0,2898,
+my_hero_academia,3,2895,"bnha,boku_no_hero,boku_no_hero_academia,mha"
+hare,5,2895,"jack_rabbit,jackrabbit,lepus"
+kevinsano,1,2891,
+busty_feral,0,2891,"feral_breast,feral_breasts"
+directional_arrow,0,2889,
+cute_expression,0,2888,
+captured,0,2888,"captive,captivity"
+purple_eyeshadow,0,2887,
+holding_clothing,0,2886,
+humanoid_penetrating_humanoid,0,2884,hd/p/hd
+white_face,0,2881,
+leaking_precum,0,2880,"precum_leak,precum_leaking"
+cervical_penetration,0,2874,"cervix_penetration,uterus_penetration,womb_penetration"
+scp_foundation,3,2873,scp
+beaver,5,2872,castor_(genus)
+caprine_horn,0,2871,caprine_horns
+2005,7,2871,
+black_wings,0,2870,
+freddy_(fnaf),4,2869,freddy_fazbear
+aquatic_dragon,5,2869,"marine_dragon,sea_dragon_(species),water_dragon"
+straw,0,2868,
+green_shirt,0,2868,
+dress_lift,0,2866,lifting_dress
+yellow_nipples,0,2862,yellow_nipple
+flying_sweatdrops,0,2859,flying_sweatdrop
+dominant_gynomorph,0,2859,"dickgirl_dom,dickgirl_domination,dom_dickgirl,dom_gynomorph,dominant_dickgirl,gynomorph_dom,gynomorph_dominant,gynomorph_dominating,gynomorph_domination"
+wet_fur,0,2858,
+good_boy,0,2855,
+pencil_(object),0,2854,
+medical_instrument,0,2853,"doctor_equipment,doctor_instrument,doctor_instruments,doctor_tool,doctor_tools,medical_device,medical_devices,medical_equipment,medical_instruments,medical_machine,medical_machines,medical_tool,medical_tools,medicinal_equipment,medicinal_equipments,medicinal_instrument,medicinal_instruments,medicinal_machine,medicinal_machines,medicinal_tool,medicinal_tools,medicine_equipment,medicine_instrument,medicine_instruments,medicine_machine,medicine_machines,medicine_tool,medicine_tools"
+tailband,0,2850,"tail_band,tail_bands,tail_binding,tailbands"
+cyberconnect2,3,2850,
+back_boob,0,2850,backboob
+cookie,0,2849,cookies
+mink,5,2847,
+coin,0,2847,coins
+zp92,1,2846,ticklishways
+mouthless,0,2846,no_mouth
+anisodactyl,0,2842,
+imminent_death,0,2841,impending_death
+punk,0,2836,
+photo_background,0,2835,"photo_bg,picture_background,picture_bg,real_background,real_bg"
+splits,0,2834,
+petting,0,2832,petted
+latex_gloves,0,2832,"latex_glove,medical_glove,medical_gloves,rubber_glove,rubber_gloves"
+cover_page,7,2831,"comic_cover,doujin_cover,front_cover,front_page,title_page"
+andromorph_penetrated,0,2831,"cboy_penetrated,cuntboy_penetrated,cuntman_penetrated,pussy_boy_penetrated,pussyboy_penetrated"
+big_biceps,0,2830,
+4_breasts,0,2828,"4_breast,4_breasted,four_breast,four_breasted,four_breasts"
+parrot,5,2825,"psittaciform,psittaciforme,psittacine"
+clothed_female_nude_male,0,2825,"cfnm,nmcf,nude_male_clothed_female"
+purple_topwear,0,2822,violet_topwear
+y_anus,0,2818,
+mane_hair,0,2818,
+avian_humanoid,5,2818,"avian_human,humanoid_avian"
+brown_spots,0,2814,
+villager_(animal_crossing),4,2812,villager
+sketch_page,7,2811,"open_canvas,opencanvas,sketch_sheet,sketch_wall,sketchpage,sketchsheet"
+visor,0,2810,
+gauntlets,0,2810,gauntlet
+pet,0,2799,pets
+park,0,2798,
+butt_shot,0,2797,"ass-shot,ass_shot,assshot,booty-shot,booty_shot,bootyshot,butt-shot,buttshot"
+black_handwear,0,2797,
+rape_face,0,2796,rapeface
+black_tongue,0,2789,blakc_tongue
+bracers,0,2786,bracer
+fart_fetish,0,2785,eproctophilia
+linked_speech_bubble,0,2784,
+countershade_legs,0,2783,
+bent_leg,0,2782,
+chinese_text,7,2777,"chinese_writing,han_characters,hanzi"
+chip_'n_dale_rescue_rangers,3,2774,"cdrr,chip_n_dale_rescue_rangers,rescue_rangers"
+twitchyanimation,1,2773,maicakswilbrn
+translation_check,7,2772,check_translation
+roxanne_wolf_(fnaf),4,2771,
+mature_gynomorph,0,2770,"mature_dickgirl,mature_shemale"
+unknown_character,4,2769,unknown_pony
+butt_squish,0,2769,"ass_squish,booty_squish"
+forehead_gem,0,2768,forehead_jewel
+sculpture,0,2766,
+adventure_time,3,2763,
+trunk,0,2762,
+head_wings,0,2761,"ear_wing,ear_wings,hair_wing,hair_wings,head_wing,headwings,wing_ears"
+violence,0,2760,violent
+marker_(artwork),7,2759,"marker_(medium),marker_art"
+maleherm,0,2757,"feral_maleherm,male_herm"
+holding_character,0,2756,
+alien_(franchise),3,2755,
+monotone_genitals,0,2754,
+tribal_markings,0,2752,"tribal_(marking),tribal_(markings),tribal_mark,tribal_marking,tribal_marks,tribe_(marking),tribe_(markings),tribe_marking,tribe_markings,tribes_(marking),tribes_(markings),tribes_marking,tribes_markings"
+shoulder_pads,0,2751,"shoulder-pad,shoulder-pads,shoulder_pad,shoulderpad,shoulderpads"
+breast_growth,0,2751,
+mangle_(fnaf),4,2749,
+trans_man_(lore),8,2748,"trans_male,trans_man,trans_masculine,transboy,transgender_boy,transgender_male,transgender_man,transmale,transman,transmasc,transmasculine"
+lake,0,2746,
+butt_expansion,0,2745,"ass-expansion,ass_expansion,assexpansion,booty-expansion,booty_expansion,bootyexpansion,butt_inflation,buttexpansion"
+wine_glass,0,2742,wineglass
+2_heads,0,2740,"2_head,2_headed,dicephalous,two-headed,two_head,two_headed,two_heads"
+skinny_dipping,0,2738,
+charr,5,2738,
+fusion,0,2737,character_fusion
+motion_outline,0,2736,
+riding,0,2732,ride
+overwatch,3,2732,
+anthro_on_top,0,2731,
+pregnant_sex,0,2730,"pregnancy_sex,sex_while_pregnant"
+collar_tag,0,2730,"collar_tags,pet_tags"
+husband_and_wife,0,2729,"husband/wife,wife_and_husband"
+big_hands,0,2727,large_hands
+quilava,5,2726,
+bottomless_female,0,2725,
+fighting_ring,0,2724,"boxing_ring,wrestling_ring"
+short,0,2723,
+featureless_feet,0,2723,
+pendant,0,2721,
+foot_grab,0,2721,"feet_grab,grabbing_feet,grabbing_foot,hindpaw_grab,holding_foot,holding_hindpaw"
+living_vehicle,5,2720,
+fully_bound,0,2719,
+dark_fur,0,2719,
+black_gloves,0,2717,
+doll,0,2711,dolls
+snivy,5,2710,"smugleaf,tsutaja"
+same_size_vore,0,2710,
+petals,0,2709,petal
+toe_ring,0,2707,toering
+hooved_fingers,0,2707,"finger_hooves,fingerhooves,hoof_fingers"
+blue_horn,0,2700,"blue_horns,cyan_horn,cyan_horns"
+hot_spring,0,2698,"hot_springs,hotspring,hotsprings"
+male_rape,0,2694,
+purple_balls,0,2693,
+one_piece,3,2692,
+monstrous_humanoid,5,2692,"humanoid_monster,monster_humanoid,monsterous_humanoid"
+green_nose,0,2690,
+blue_wings,0,2690,
+two_tone_face,0,2681,
+virginia_opossum,5,2680,"tlacuache,virginia_possum"
+derp_eyes,0,2680,"derp,derp_face,strabismus,wall-eyed,wall-eyes,wall_eyed,wall_eyes"
+scutes,0,2673,
+korean_text,7,2665,
+tied_hair,0,2662,
+blinking,0,2661,blink
+gorilla,5,2659,gorillini
+xenarthran,5,2658,
+singing,0,2658,
+overweight_intersex,0,2656,
+warhammer_(franchise),3,2655,"warhammer_40k,wh40k"
+green_areola,0,2649,"green_areolae,green_areolas"
+translucent_tentacles,0,2646,
+alternate_form,0,2646,"alt_design,alt_form,alt_model,alt_style,alternate_design,alternate_model,alternate_style,off_model"
+fire_manipulation,0,2643,"agnikinesis,agnikinetic,blaze_control,blaze_manip,blaze_manipulation,fire_bend,fire_bending,fire_control,fire_element_control,fire_magic,fire_manip,fire_release,firebend,firebending,flame_control,flame_magic,flame_manip,flame_manipulation,flaming_magic,ignikinesis,ignikinetic,katon,magic_fire,magic_flame,phlegokinesis,phlegokinetic,pyro_kinesis,pyro_kinetic,pyro_magic,pyro_manip,pyro_manipulation,pyrokinesis,pyrokinetic,pyromancer,pyromancing,pyromancy"
+pantyhose,0,2642,
+digiphilia,0,2642,
+pegging,0,2634,
+dominant_feral,0,2630,"dom_feral,feral_dom,feral_dominant,feral_dominating,feral_domination,feraldom"
+ladder_piercing,0,2629,
+zzz,0,2627,
+shaking_butt,0,2627,"ass_shake,booty_shake,butt_shake,butt_wiggle,shaking_ass,shaking_booty"
+ninetales,5,2627,"ninetails,shiny_ninetails,shiny_ninetales"
+hand_on_knee,0,2627,
+3_heads,0,2624,"3_head,3_headed,three_head,three_headed,three_heads"
+sweaty_legs,0,2623,sweaty_leg
+tan_inner_ear,0,2621,
+zombie,5,2619,"zombie_pony,zombies"
+three_frame_sequence,0,2619,
+gengar,5,2619,shiny_gengar
+t.u.f.f._puppy,3,2617,"t.u.f.f_puppy,tuff_puppy"
+pinkamena_(mlp),4,2616,"pinkamena,pinkamina,pinkamina_(mlp)"
+fog,0,2616,mist
+featureless_chest,0,2615,
+blue_theme,7,2614,cyan_theme
+tem,5,2612,
+freckles_(artist),1,2605,soto
+herm/male,0,2600,"h/m,herm_on_male,m/h,male/herm,male_on_herm"
+mojang,3,2599,
+minecraft,3,2599,mine_craft
+armpit_fetish,0,2599,
+arm_tattoo,0,2599,"arm_tattoos,tattoo_on_arm,tattoo_on_arms,tattooed_arm,tattooed_arms"
+rubbing,0,2598,rub
+hands_above_head,0,2598,
+evil_grin,0,2598,"evil_smile,slasher_smile"
+writing_on_butt,0,2596,
+chica_(fnaf),4,2593,
+panty_pull,0,2592,
+nurse_clothing,0,2592,
+for_a_head,0,2592,
+:d,0,2592,
+plug_insertion,0,2590,
+unimpressed,0,2587,"not_amused,unamused"
+old,0,2587,elderly
+male_penetrating_anthro,0,2585,
+skindentation,0,2584,
+suspenders,0,2581,
+lock,0,2581,
+temmie_(undertale),4,2580,temmie
+pacifier,0,2580,
+leather_topwear,0,2579,
+daigaijin,1,2576,"kagemusha,saketoastdeath"
+hands_on_thighs,0,2571,
+larger_ambiguous,0,2570,
+cum_through,0,2569,
+shirtless,0,2568,
+asriel_dreemurr_(god_form),4,2568,"asriel_dreemur_(god_form),god_of_hyperdeath"
+easter,3,2566,
+kaiju,5,2565,"kaijū,怪獣"
+interactive,7,2565,
+holding_beverage,0,2565,"holding_beverages,holding_drink,holding_drinks"
+furball_(artist),1,2564,
+dairy_products,0,2564,"dairy_(food),dairy_product,lacticinia,milk_product,milk_products"
+exoskeleton,0,2561,chitin
+middle_finger,0,2559,"f-finger,flipping_off,flipping_the_bird,the_finger"
+jungle,0,2559,
+atlus,3,2559,
+anatomically_correct_anus,0,2558,
+nun,0,2552,
+princess_zelda,4,2551,zelda
+kindred_(lol),4,2551,
+partially_inside,0,2550,
+genie,5,2549,djinn
+mienshao,5,2548,
+grey_bottomwear,0,2548,gray_bottomwear
+on_bench,0,2547,
+octarian,5,2547,
+micro_on_macro,0,2546,"macro/micro,macro_on_micro,micro/macro"
+mae_borowski,4,2544,"mae_(nitw),margaret_borowski"
+kirlia,5,2544,
+buttplug_insertion,0,2543,
+skull_head,0,2542,skull_face
+female_raped,0,2542,
+frenum_ladder,0,2540,"jacob's_ladder,jacobs_ladder"
+xenomorph,5,2539,xenogirl
+serratus,0,2538,serratus_anterior
+hyper_thighs,0,2537,
+octoling,5,2536,
+realistic,0,2535,"real_pokemon,realism,realistic_pokemon,toon_realism"
+turian,5,2534,
+flirting,0,2534,"flirt,flirty"
+gynomorph_penetrating_gynomorph,0,2531,"d/p/d,d/p/gm,dgirl_penetrating_dgirl,dgirl_penetrating_dickgirl,dgirl_penetrating_gynomorph,dgirl_penetrating_newhalf,dgirl_penetrating_shemale,dickgirl_penetrating_dgirl,dickgirl_penetrating_dickgirl,dickgirl_penetrating_gynomorph,dickgirl_penetrating_newhalf,dickgirl_penetrating_shemale,gm/p/d,gm/p/gm,gynomorph_penetrating_dgirl,gynomorph_penetrating_dickgirl,newhalf_penetrating_dgirl,newhalf_penetrating_dickgirl,newhalf_penetrating_newhalf,newhalf_penetrating_shemale,shemale_penetrating_dgirl,shemale_penetrating_dickgirl,shemale_penetrating_newhalf,shemale_penetrating_shemale"
+prequel_adventure,3,2527,
+gatomon,5,2527,tailmon
+skyrim,3,2524,"tesv,the_elder_scrolls_v:_skyrim"
+holding_cellphone,0,2524,
+barbell_piercing,0,2523,
+beach_ball,0,2522,beachball
+white_wings,0,2521,
+charmander,5,2521,
+throat_swabbing,0,2520,throat_fuck
+cryptid-creations,1,2520,
+sauna,0,2518,steam_room
+burger,0,2515,"cheeseburger,hamburger"
+nude_male,0,2514,
+fishnet_clothing,0,2512,
+belly_expansion,0,2512,belly_growth
+latex_stockings,0,2509,
+student,0,2507,students
+nose_to_anus,0,2506,
+clothed_male_nude_female,0,2505,"cmnf,nfcm,nude_female_clothed_male"
+orange_penis,0,2504,orange_dick
+chinese_mythology,3,2504,
+labrador,5,2502,"black_lab,black_labrador,chocolate_lab,chocolate_labrador,labrador_retriever,yellow_lab,yellow_labrador"
+gender_symbol,0,2502,
+michiru_kagemori,4,2500,
+dingo,5,2497,
+brick_wall,0,2495,
+zorua,5,2494,
+grabbing_both_legs,0,2492,"double_leg_grab,grabbing_legs"
+buttplug_in_ass,0,2491,butt_plug_in_ass
+looking_through,0,2490,
+cricetid,5,2489,cricetidae
+forced_orgasm,0,2488,
+larger_pred,0,2487,bigger_pred
+red_claws,0,2486,
+tomboy,0,2485,"boyish,masculine_female,masculine_girl,masculine_woman,tom_boy"
+spitfire_(mlp),4,2485,
+red_balls,0,2485,
+fluffy_hair,0,2484,
+paint,0,2481,
+herm/female,0,2480,"f/h,female/herm,female_on_herm,h/f,herm_on_female,hermaphrodite/female"
+gym_leader,0,2480,
+glistening_nose,0,2480,shiny_nose
+foreshortening,0,2479,
+fucking_machine,0,2477,"fuck_machine,fuckmachine,sex_machine"
+huge_penetration,0,2476,huge_insertion
+on_towel,0,2474,
+kloudmutt,1,2474,
+extended_arms,0,2473,
+super_smash_bros.,3,2470,"smash_bros,smash_bros._1,smash_bros._brawl,smash_bros._for_nintendo_3ds_and_wii_u,smash_bros._melee,smash_bros._ultimate,smash_bros_1,smash_bros_brawl,smash_bros_for_nintendo_3ds_and_wii_u,smash_bros_melee,smash_bros_ultimate,smash_brothers_1,smash_brothers_brawl,smash_brothers_for_nintendo_3ds_and_wii_u,smash_brothers_melee,smash_brothers_ultimate,ssb,ssb1,ssb3ds,ssb_3ds,ssb_wii_u,ssbb,ssbm,ssbwiiu,super_smash_bros,super_smash_bros._1,super_smash_bros._brawl,super_smash_bros._for_nintendo_3ds_and_wii_u,super_smash_bros._melee,super_smash_bros_1,super_smash_bros_brawl,super_smash_bros_for_nintendo_3ds_and_wii_u,super_smash_bros_melee,super_smash_brothers,super_smash_brothers_1,super_smash_brothers_brawl,super_smash_brothers_for_nintendo_3ds_and_wii_u,super_smash_brothers_melee"
+night_fury,5,2470,nightfury
+inkyfrog,1,2470,meganubunny_(artist)
+bat_(object),0,2470,
+megami_tensei,3,2466,"megaten,shin_megami_tensei"
+miqo'te,5,2465,
+lamb_(lol),4,2464,
+broom,0,2463,"broom_stick,broom_sticks,brooms,broomstick,broomsticks"
+limebreaker,1,2460,
+egg_vibrator,0,2457,"bullet_vibe,bullet_vibrator,vibrating_egg,vibrating_eggs"
+super_crown,0,2454,
+red_footwear,0,2454,
+classroom,0,2453,
+buizel,5,2453,
+ram_horn,0,2450,ram_horns
+penis_expansion,0,2449,penile_expansion
+long_sleeves,0,2449,long_sleeve
+brown_eyebrows,0,2448,
+cityscape,0,2447,
+tail_clothing,0,2446,tailwear
+holding_belly,0,2446,
+hladilnik,1,2446,"gordonfreeguy,hladilnick,stedilnik"
+smudge_proof,1,2445,smudgeproof
+prisoner,0,2443,inmate
+nipple_penetration,0,2443,nipple_insertion
+2004,7,2443,
+purple_pussy,0,2441,"purple_cunt,purple_labia,purple_twat,purple_vag,purple_vagina,purple_vulva,violet_cunt,violet_labia,violet_pussy,violet_twat,violet_vag,violet_vagina,violet_vulva"
+castle,0,2441,
+white_eyebrows,0,2440,
+jay_(bird),5,2440,
+male_raping_female,0,2437,
+submerged_legs,0,2436,
+planet,0,2434,planets
+holding_partner,0,2434,
+spread_arms,0,2433,"arms_spread,open_arms"
+adult_on_cub,0,2432,
+egg_insertion,0,2426,
+marijuana,0,2425,"420,blunt,cannabis,joint,spliff,weed"
+head_fin,0,2424,"head_fins,headfin,headfins"
+reins,0,2423,reigns
+partially_submerged_legs,0,2423,
+hand_on_own_leg,0,2423,
+spiked_armband,0,2421,"spiked_armbands,spiked_armlet,spiked_armlets"
+prehensile_tail,0,2421,
+gilda_(mlp),4,2421,gilda
+fox_tail,0,2416,
+cum_on_own_penis,0,2416,
+zeraora,5,2412,
+sunset_shimmer_(eg),4,2412,"sunset_shimmer,sunset_shimmer_(mlp)"
+levitation,0,2412,
+anubis,4,2412,
+balls_in_underwear,0,2411,
+serperior,5,2410,
+dagger,0,2410,
+new_world_jay,5,2408,american_jay
+legband,0,2405,"leg_band,leg_bands,legbands"
+color_edit,7,2405,colour_edit
+floatzel,5,2404,
+tom_nook_(animal_crossing),4,2402,tom_nook
+parallel_sex,0,2402,
+veiny_balls,0,2399,
+ninja,0,2398,"kunoichi,shinobi"
+gaping_mouth,0,2397,
+pattern_footwear,0,2396,
+shivering,0,2392,shiver
+ball_suck,0,2391,"ball_sucking,balls_suck,ballsuck,ballsucking,sucking_balls"
+mastergodai,1,2388,
+master,0,2388,
+knight,0,2388,
+cleft_tail,0,2387,
+sheriff_mao_mao_mao,4,2384,"mao_mao,mao_mao_(character),mao_mao_(parker_simmons),mao_mao_mao,sheriff_mao_mao"
+ambiguous_form,0,2384,
+holding_tail,0,2383,
+cum_through_clothing,0,2382,cum_through_clothes
+summer,0,2380,
+orange_sclera,0,2378,"orange_eye_membrane,orange_eye_white,orange_eye_whites,orange_outer_eye,orange_sclerotic_coat,orange_white_of_the_eye,orange_white_of_the_eyes,orange_whites_of_the_eye,orange_whites_of_the_eyes"
+white_bottomwear,0,2377,
+morbidly_obese_female,0,2377,
+hisuian_form,5,2377,
+younger_anthro,0,2376,
+yellow_topwear,0,2375,
+striped_footwear,0,2375,
+grey_areola,0,2373,"gray_areola,gray_areolae,gray_areolas,grey_areolae,grey_areolas"
+warm_colors,7,2371,"warm_colored,warm_coloured,warm_colours,warm_theme"
+crustacean,5,2371,crustacea
+tonguejob,0,2370,tongue_job
+lightning,0,2370,
+gargoyle,5,2369,anthro_gargoyle
+leather_jacket,0,2366,
+rivet_(ratchet_and_clank),4,2365,rift_apart_lombax
+lava,0,2365,"magma,molten_rock"
+landscape,0,2364,
+grey_horn,0,2364,"gray_horn,gray_horns,grey_horns,silver_horn"
+muffet,4,2363,
+butt_jiggle,0,2363,butt_jiggles
+sandwich_position,0,2361,sandwich_(sex)
+white_breasts,0,2360,
+female_on_humanoid,0,2359,female/humanoid
+glistening_fur,0,2353,shiny_fur
+wet_underwear,0,2352,
+hook,0,2352,
+wing_claws,0,2347,wingclaws
+knock-kneed,0,2347,"genu_valgum,knee_together,knee_together_feet_apart,knees_together_feet_apart,knock-knee,knock_knee,knock_kneed"
+carpet,0,2347,
+grizzly_bear,5,2346,"grizzly,north_american_brown_bear"
+stairs,0,2345,staircase
+pussy_floss,0,2343,pussyfloss
+3_eyes,0,2343,"3_eyed,third_eye,three_eyed,three_eyes,triple_eyed,triple_eyes"
+tights,0,2341,
+living_aircraft,5,2339,"aeromorph,anthro_plane"
+gas_mask,0,2339,"gasmask,respirator,respirator_mask"
+felino,1,2339,"feline-gamer,tricktrashing"
+exposure_variation,0,2339,
+vowelless_reaction,0,2338,
+forest_background,0,2338,forest_bg
+monotone_breasts,0,2337,"mono-tone_boob,mono-tone_boobs,mono-tone_breast,mono-tone_breasts,mono-tone_tit,mono-tone_tits,mono_tone_boob,mono_tone_boobs,mono_tone_breast,mono_tone_breasts,mono_tone_tit,mono_tone_tits,monotone_boob,monotone_boobs,monotone_breast,monotone_tit,monotone_tits"
+lace,0,2337,
+afterglow,0,2333,
+blue_jay,5,2332,"bluejay,jaybird"
+cloacal,0,2331,
+spotted_tail,0,2329,
+guardians_of_the_galaxy,3,2329,
+spoon_position,0,2325,"sloppy_sideways,spooning_position,spoons_position"
+princess_peach,4,2325,
+katia_managan,4,2325,
+swat_kats,3,2321,
+oryctolagus,5,2321,
+blockage_(layout),0,2316,
+stare,0,2314,staring
+entwined_tails,0,2309,"entwine_tail,entwine_tails,entwined_tail,entwinedtail,entwinedtails,entwinetail,entwinetails,entwining_tail,entwining_tails,entwiningtail,entwiningtails,interlaced_tail,interlaced_tails,interlacing_tail,interlacing_tails,interlinked_tail,interlinked_tails,interlinking_tail,interlinking_tails,interlocked_tail,interlocked_tails,interlocking_tail,interlocking_tails,intertwine_tail,intertwine_tails,intertwined_tail,intertwined_tails,intertwinedtail,intertwinedtails,intertwinetail,intertwinetails,intertwining_tail,intertwining_tails,intertwiningtail,intertwiningtails,tail_entwine,tail_entwined,tail_entwining,tail_interlaced,tail_interlacing,tail_interlinked,tail_interlinking,tail_interlocked,tail_interlocking,tail_intertwine,tail_intertwined,tail_intertwining,tail_twine,tail_twined,tail_twining,tailentwine,tailentwined,tailentwining,tailintertwine,tailintertwined,tailintertwining,tails_entwine,tails_entwined,tails_entwining,tails_interlaced,tails_interlacing,tails_interlinked,tails_interlinking,tails_interlocked,tails_interlocking,tails_intertwine,tails_intertwined,tails_intertwining,tails_twine,tails_twined,tails_twining,tailsentwine,tailsentwined,tailsentwining,tailsintertwine,tailsintertwined,tailsintertwining,tailstwine,tailstwined,tailstwining,tailtwine,tailtwined,tailtwining,twine_tail,twine_tails,twined_tail,twined_tails,twinedtail,twinedtails,twinetail,twinetails,twining_tail,twining_tails,twiningtail,twiningtails"
+perching_position,0,2308,
+overweight_gynomorph,0,2308,overweight_dickgirl
+kick,0,2308,"kicked,kicking,mega_kick"
+human_only,0,2308,humans_only
+finnick,4,2308,
+why,0,2307,oh_god_why
+tail_mouth,0,2307,"tail_maw,tailmaw,tailmouth"
+hamster,5,2307,
+doughnut,0,2307,"donut,donuts,doughnuts"
+monotone_face,0,2302,
+white_perineum,0,2300,
+charmeleon,5,2299,
+all_three_filled,0,2299,"airtight,all_holes_filled,three_holes_filled"
+topwear_only,0,2298,
+legs_in_water,0,2298,
+weavile,5,2297,
+on_chair,0,2297,
+waiter,0,2296,waitress
+breast_lick,0,2296,"boob_licking,breast_licking,licking_breast,licking_breasts"
+sweaty_breasts,0,2295,"sweaty_boob,sweaty_boobs,sweaty_breast"
+birthday,0,2294,
+large_group,0,2293,
+domestic_rabbit,5,2292,pet_rabbit
+bit_gag,0,2292,bit
+tile,0,2291,tiles
+raised_eyebrows,0,2291,"eyebrows_lift,eyebrows_lifted,eyebrows_lifting,eyebrows_raised,eyebrows_up,lift_eyebrows,lifted_eyebrows,lifting_eyebrows"
+team_cherry,3,2290,
+pearl_(gem),0,2290,pearls
+hollow_knight,3,2290,
+kemono_friends,3,2289,"kemo_fure,kemofure,kemono_furenzu,けものフレンズ"
+glistening_butt,0,2289,"glistening_ass,glistening_booty,shiny_ass,shiny_booty,shiny_butt"
+monotone_clothing,0,2288,"mono-tone_clothes,mono-tone_clothing,mono_tone_clothes,mono_tone_clothing,monotone_clothes"
+humanoid_penetrating_human,0,2287,hd/p/hn
+penis_tentacles,0,2286,"cock_tentacles,penis_tentacle,tentacle_dick,tentacle_penis"
+chalkboard,0,2281,"blackboard,chalk_board"
+urine_pool,0,2280,urine_puddle
+cheek_bulge,0,2280,"bloated_cheeks,bulging_cheeks,stuffed_cheeks"
+turtleneck,0,2279,turtleneck_sweater
+6_breasts,0,2279,"6_breast,6_breasted,six_breast,six_breasted,six_breasts"
+gadget_hackwrench,4,2278,
+love_handles,0,2277,
+cooking,0,2276,
+scorbunny,5,2275,
+herm_penetrating,0,2275,
+long_legs,0,2273,
+equid_humanoid,5,2273,
+banana,0,2270,bananas
+rottweiler,5,2269,"rott_(dog),rottie"
+branch,0,2269,"branches,tree_branch,tree_branches,treebranch,treebranches"
+saddle,0,2267,
+pattern_socks,0,2267,
+oekaki,0,2267,
+fate_(series),3,2265,"fate/apocrypha,fate/extella,fate/extella_(series),fate/extra,fate/extra_ccc,fate/grand_order,fate/hollow_ataraxia,fate/stay_night,fate/zero,fate_apocrypha,fate_extella,fate_extella_(series),fate_extra,fate_extra_ccc,fate_grand/order,fate_grand_order,fate_hollow_ataraxia,fate_stay/night,fate_stay_night,fate_zero"
+translucent_penis,0,2264,"ghost_penis,transparent_penis"
+penis_tuck,0,2264,"goating,tucking"
+dark_areola,0,2264,"dark_areolae,dark_areolas"
+male_penetrating_andromorph,0,2263,"m/p/am,m/p/c,male_penetrating_cboy,male_penetrating_cuntboy,male_penetrating_cuntman"
+perspective,0,2260,
+arm_hair,0,2259,
+cum_overflow,0,2258,
+information_board,0,2255,
+cool_colors,7,2253,"cool_colored,cool_coloured,cool_colours,cool_theme"
+fursuit,0,2252,
+don_bluth,3,2252,
+unguligrade,0,2250,
+reptile_humanoid,5,2248,
+baseball_bat,0,2247,scout_bat
+countershade_fur,0,2245,
+muscle_growth,0,2244,
+sonic_the_hedgehog_(idw),3,2242,"idw_sonic,idw_sonic_comics"
+drawing,0,2240,draw
+contact_onomatopoeia,0,2240,contact_onomatopeia
+yin_yang,0,2239,"taijitu,yin-yang"
+metal,0,2239,
+blue_border,0,2238,
+multifur,0,2237,
+hippopotamid,5,2236,
+thecon,1,2235,
+crush,0,2235,"crushed,crushed_crushing,crushing"
+human_to_feral,0,2234,
+octopodiform,5,2232,octopodiforme
+mlp_g5,3,2232,
+kitchen_appliance,0,2231,kitchen_appliances
+pussy_juice_on_penis,0,2229,
+king_sombra_(mlp),4,2228,"king_sombra,queen_umbra_(mlp)"
+tail_aside,0,2226,"moving_tail_aside,tail_on_the_side,tail_to_the_side"
+falling,0,2226,
+rocket_raccoon,4,2224,
+cleavage_overflow,0,2224,cleavage_spill
+jrvanesbroek,1,2222,"jayisbutts,lil_miss_jay"
+satyr,5,2221,
+kirby,4,2220,
+orgasm_denial,0,2219,cum_denial
+body_part_in_ass,0,2216,
+yawg,1,2215,
+mightyena,5,2212,
+excited,0,2212,excitement
+ethereal_hair,0,2212,
+ambiguous/ambiguous,0,2212,"?/?,a/a,ambiguous_gender/ambiguous_gender,ambiguous_on_ambiguous"
+canon_couple,0,2211,
+tan_ears,0,2209,beige_ears
+cheerleader,0,2209,"cheerleaders,cheerleading"
+ankh,0,2209,anhk
+plaid,0,2208,tartan
+toy_bonnie_(fnaf),4,2206,
+spacecraft,0,2206,"space_craft,space_ship,spaceship,starship"
+pillarbox,7,2206,
+barely_visible_penis,0,2205,subtle_penis
+avante92,1,2205,avante92artblog
+pumps,0,2204,
+moonlight,0,2204,moon_light
+lantern,0,2204,lanterns
+striped_socks,0,2200,
+looking_through_legs,0,2200,looking_between_legs
+flustered,0,2200,
+sugarlesspaints,1,2199,"darkhazard,darkhazard_(artist),sugarlesspaints_(artist)"
+mario,4,2199,
+blue_stripes,0,2199,
+audible_creampie,0,2196,
+topless_female,0,2194,
+improvised_dildo,0,2193,
+cum_on_own_tongue,0,2193,
+color_coded_text,0,2192,
+snarling,0,2191,snarl
+balls_expansion,0,2191,testicle_expansion
+two_tone_feathers,0,2185,
+harness_gag,0,2185,
+button_(fastener),0,2185,"button_(clothing),buttons_(fastener)"
+battle,0,2185,combat
+4_eyes,0,2185,"4_eyed,four_eyed,four_eyes,quadruple_eyed,quadruple_eyes"
+depth_of_field,0,2184,focus_blur
+red_dress,0,2182,
+illumination_entertainment,3,2182,"illumination,illumination_(company)"
+darkner,5,2181,
+barbel_(anatomy),0,2178,"barbel,barbel_(feature),barbels,barbels_(anatomy),barbels_(feature),fish_whisker,fish_whiskers"
+spiked_shell,0,2174,"spike_shell,spikey_shell,spiky_shell"
+lights,0,2174,
+aaron_(artist),1,2174,
+body_part_in_pussy,0,2167,
+mountain_dog,5,2165,
+dominatrix,0,2165,
+red_horn,0,2164,red_horns
+pussyjob,0,2163,
+twitter,3,2158,
+distracting_watermark,7,2158,"annoying_watermark,obnoxious_watermark"
+light_fur,0,2157,
+unusual_genitalia_placement,0,2156,
+carmelita_fox,4,2156,
+dota,3,2155,"dota2,dota_2"
+beetle,5,2154,"coleoptera,coleopterid,coleopteridae,ground_beetle"
+showering,0,2153,
+argon_vile,1,2153,argonvile
+wayforward,3,2152,"wayforward_tech,wayforward_tech_inc,wayforward_tech_inc.,wayforward_tech_incorporated,wayforward_technologies,wayforward_technologies_inc,wayforward_technologies_inc.,wayforward_technologies_incorporated"
+sonic_boom,3,2151,
+multicolored_face,0,2150,
+fetlocks,0,2150,"fetlock,unshorn_fetlocks"
+deep_skin,0,2148,
+yoga_pants,0,2147,
+suspended_in_midair,0,2147,in_air
+question,0,2145,
+piledriver_position,0,2144,"butterfly_position,piledriver"
+orange_nipples,0,2143,orange_nipple
+beverage_can,0,2141,"beer_can,drink_can,soda_can"
+doneru,1,2138,"zeppekiston,泥_どねる"
+pajamas,0,2137,"pajama,pyjamas"
+hairy_balls,0,2137,ball_hair
+ovipositor,0,2135,
+pauldron,0,2134,pauldrons
+holding_book,0,2134,holding_books
+monotone_nipples,0,2132,
+chin_tuft,0,2132,
+badge,0,2131,badges
+papyrus_(undertale),4,2130,
+guide_lines,7,2129,"guidelines,sketch_lines"
+green_bottomwear,0,2127,
+fennekin,5,2126,
+trapped,0,2124,
+winick-lim,1,2122,"nickim,winicklim"
+black_glans,0,2120,
+nightgown,0,2118,"night_gown,nightdress,nightie"
+omorashi,0,2117,
+katana,0,2117,
+bottomless_anthro,0,2117,
+spandex,0,2116,lycra
+reshiram,5,2116,
+new_year,3,2116,"happy_new_year,new_year's_day,new_years"
+leaning_on_elbow,0,2116,head_support
+pubic_mound,0,2115,"mons_pubis,mound_of_venus"
+pink_lips,0,2115,
+gecko,5,2114,"gekko,gekkota"
+frilly_underwear,0,2113,
+zecora_(mlp),4,2110,zecora
+toho,3,2110,
+stealth_sex,0,2110,hidden_sex
+compression_artifacts,7,2110,"bad_compression,badly_compressed,compression_artefacts,jpeg_artefacts,jpeg_artifacts,resaved_jpeg"
+striped_topwear,0,2107,
+conjoined,0,2107,conjoinment
+technical_incest,0,2105,
+belly_inflation,0,2105,
+alternate_costume,0,2103,"alternate_clothing,alternate_outfit,alternative_costume,alternative_outfit"
+hugging_from_behind,0,2100,hug_from_behind
+penis_worship,0,2099,cock_worship
+faceless_anthro,0,2099,
+brown_bottomwear,0,2099,
+pulling_hair,0,2098,"hair_pull,hair_pulling"
+tiptoes,0,2096,"on_toes,tip_toes,tiptoe"
+terrier,5,2096,
+panel_skew,0,2095,
+sweaty_thighs,0,2094,sweaty_thigh
+spyro_reignited_trilogy,3,2094,
+nipple_barbell,0,2091,
+bare_back,0,2090,backless
+under_covers,0,2088,in_bed
+jumpsuit,0,2088,jump_suit
+camo,0,2088,"camoflage,camouflage"
+stocks,0,2087,"pillory,stockade,stockades"
+spaniel,5,2086,
+darkened_balls,0,2086,
+train_position,0,2085,"mantrain,sex_train"
+russian_text,7,2083,
+multi_horn,0,2083,multiple_horns
+grey_border,0,2083,gray_border
+precum_through_clothing,0,2082,
+face_paint,0,2081,"face_painting,face_paintings,face_paints,facepaint,facepainting,facepaintings,facepaints"
+caprine_demon,5,2081,
+sunglasses_on_head,0,2080,sunglasses_on_forehead
+nipple_chain,0,2080,
+doujinshi,7,2079,"dojin,doujin"
+reverse_missionary_position,0,2078,reverse_missionary
+coffee_mug,0,2077,
+submissive_pov,0,2076,
+digimon_ghost_game,3,2076,digimon:_ghost_game
+comparing,0,2074,"comparing_size,size_comparison"
+ambiguous_pred,0,2074,
+green_markings,0,2073,green_marking
+oral_invitation,0,2072,
+penis_shaped_bulge,0,2069,
+bow_panties,0,2069,
+soap,0,2065,
+paper_mario,3,2065,"super_paper_mario,the_thousand_year_door"
+mineral_fauna,5,2065,"living_mineral,living_minerals,mineral_creature"
+las_lindas,3,2064,
+scent_hound,5,2061,scenthound
+nude_female,0,2061,
+dorsal_fin,0,2061,back_fin
+mistletoe,0,2057,
+spoon,0,2056,
+shantae_(series),3,2056,
+night_elf,5,2056,
+humanoid_focus,0,2056,
+holding_bottle,0,2056,
+gui,0,2055,
+mythological_firebird,5,2054,"firebird_(bird),firebird_(mythological),firebird_(mythology),firebird_(species)"
+cutie_mark_crusaders_(mlp),4,2052,"cutie_mark_crusader,cutie_mark_crusaders,cutie_mark_crusaders_(mlp)_"
+simple_shading,7,2051,
+multicolored_antennae,0,2049,multicolored_antenna
+arachnid_humanoid,5,2048,
+tent,0,2045,
+breath_powers,0,2045,"breath-based_powers,breath_based_powers,breath_power,breath_weapon,breathing-based_powers,breathing_based_powers,breathing_power,breathing_powers,breathing_weapon,element_breath,element_breathing,elemental_breath,elemental_breathing,supernatural_breath,unnatural_breath"
+text_on_headwear,0,2044,
+family,0,2044,
+jackalope,5,2043,
+pornography,0,2041,"porn,porno"
+haida,4,2039,
+punch,0,2038,punching
+balto_(film),3,2038,
+cyclops,5,2037,
+tail_pull,0,2036,"pulling_tail,tail_pulling"
+dream,0,2036,"dreaming,dreams"
+becoming_erect,0,2035,getting_hard
+bread,0,2033,
+dirty,0,2031,
+back_markings,0,2031,"back_marking,backs_marking,backs_markings"
+torn_topwear,0,2030,
+gym_clothing,0,2030,"gym_clothes,gym_outfit"
+kirin,5,2028,"qilin,quilin"
+clitoral_masturbation,0,2027,
+101_dalmatians,3,2027,
+christmas_lights,0,2025,christmas_tree_lights
+vibrator_on_penis,0,2023,
+public_exposure,0,2022,
+party,0,2022,
+oni,5,2020,"blue_oni,red_oni"
+jaeh,1,2020,
+retsuko,4,2019,
+partially_colored,7,2019,partially_coloured
+little_tail_bronx,3,2018,
+blazblue,3,2016,blazeblue
+white_sheath,0,2015,
+godzilla_(series),3,2015,
+changed_(video_game),3,2014,changed_(game)
+maid_marian,4,2012,maid_marion
+stage,0,2010,
+soda,0,2010,
+simba,4,2009,
+raised_inner_eyebrows,0,2009,"inner_eyebrow_lift,inner_eyebrow_lifted,inner_eyebrow_lifting,inner_eyebrow_raised,inner_eyebrow_up,inner_eyebrows_lift,inner_eyebrows_lifted,inner_eyebrows_lifting,inner_eyebrows_raised,inner_eyebrows_up,lift_inner_eyebrow,lift_inner_eyebrows,lifted_inner_eyebrow,lifted_inner_eyebrows,lifting_inner_eyebrow,lifting_inner_eyebrows,raised_inner_eyebrow"
+avoid_posting,1,2008,dnp
+garchomp,5,2006,land_shark
+tail_masturbation,0,2004,
+impmon,5,2003,
+ship,0,2002,"naval_ship,pirate_ship,viking_ship,wood_ship,wooden_ship,woodship"
+smaller_humanoid,0,2001,
+dragonite,5,2000,
+dark_hair,0,2000,
+trout_(artist),1,1999,troutsworth
+pencil_skirt,0,1997,
+dragon_ball_super,3,1996,
+shaymin,5,1995,
+scratches,0,1993,scratch_marks
+haru_(beastars),4,1993,
+monitor,0,1991,
+black_mane,0,1991,
+atryl,1,1991,
+statue,0,1990,statues
+ceratopsian,5,1988,"ceratop,ceratopia,ceratopian,ceratops,ceratopsia"
+overweight_humanoid,0,1985,
+plap,0,1983,
+all_the_way_through,0,1983,"cock_impale,threading"
+towel_only,0,1980,"naked_towel,nude_towel"
+chain_leash,0,1980,
+smaller_intersex,0,1979,
+petruz_(copyright),3,1979,
+common_hippopotamus,5,1979,"hippo,hippopotamus"
+ambient_arthropod,5,1979,"ambient_arthropods,ambient_bug,ambient_bugs"
+restroom_stall,0,1978,"bathroom_stall,toilet_stall"
+herm_penetrated,0,1978,
+can,0,1978,cans
+rainbow_pride_colors,0,1975,
+koopaling,4,1975,koopalings
+public_transportation,0,1971,"mass_transit,public_transit,public_transport,transit"
+smug_face,0,1970,
+silver_soul,4,1968,
+penis_through_fly,0,1967,
+laboratory,0,1967,science_lab
+monotone_areola,0,1966,"monotone_areolae,monotone_areolas"
+insect_humanoid,5,1965,humanoid_insect
+boxing_gloves,0,1962,boxing_glove
+bowsette_meme,3,1962,"bowsette,koopahime,peachser"
+anthro_pov,0,1962,
+klonoa_(series),3,1960,
+red_collar,0,1957,
+falconid,5,1957,"falconidae,falconiform,falconiforme,falconinae"
+tokifuji,1,1954,nicroze
+dasyuromorph,5,1953,
+artist_logo,7,1953,
+green_pussy,0,1952,"green_cunt,green_labia,green_twat,green_vag,green_vagina,green_vulva"
+nala,4,1951,
+alternate_universe,0,1950,"alternate_reality,alternative_reality,alternative_universe"
+pointy_speech_bubble,0,1948,
+human_penetrating_female,0,1948,
+anthro_prey,0,1947,
+draft_horse,5,1946,draught_horse
+boat,0,1946,"narrow_boat,narrowboat,pleasure_boat,pleasure_craft,row-boat,row_boat,rowboat,rowing-boat,rowing_boat,rowingboat"
+max_blackrabbit,1,1944,maxblackrabbit
+living_plushie,5,1944,living_plush
+chinese_clothing,0,1944,"china_clothes,china_clothing,chinese_clothes"
+pink_shirt,0,1943,
+regular_show,3,1942,
+hand_on_arm,0,1942,
+albino,0,1942,"albinism,albinistic"
+equine_humanoid,5,1941,"humanoid_equine,humanoid_horse,humanoid_pony,pony_humanoid,umamimi,umamusume"
+nidoqueen,5,1940,
+scp-1471-a,4,1939,
+felicia_(darkstalkers),4,1939,
+sing_(movie),3,1938,
+covering_mouth,0,1938,hand_over_mouth
+squeezing,0,1936,squeeze
+scp-1471,4,1935,scp_1471
+wing_boner,0,1934,wingboner
+flinters,1,1934,flinthoof
+sepia,7,1933,sepia_tone
+conjoined_speech_bubble,0,1933,
+tickle_torture,0,1931,
+autumn,0,1931,
+toddler,0,1930,toddlercon
+electrostimulation,0,1930,"e-stim,electro,electrostim,estim"
+elder_dragon,5,1928,
+strawberry,0,1927,strawberries
+imminent_anal,0,1927,
+cetacean_penis,0,1927,"dolphin_penis,orca_penis,whale_penis"
+implied_transformation,0,1926,implied_tf
+field,0,1926,
+unguligrade_anthro,0,1925,
+feral_penetrating_humanoid,0,1925,f/p/hd
+pussy_blush,0,1924,"blushing_pussy,vagina_blush"
+pregnant_male,0,1924,"male_pregnancy,mpreg,pregnant_man"
+cute_eyes,0,1924,
+larger_humanoid,0,1923,
+brown_claws,0,1923,
+quin-nsfw,1,1922,"quin,quin-nsfw_(artist),quin_(artist),quin_nsfw,quin_nsfw_(artist)"
+2003,7,1922,
+tube_top,0,1921,tubetop
+office_chair,0,1921,"computer_chair,desk_chair"
+micro_bikini,0,1921,"micro-bikini,microbikini"
+handpaw,0,1921,"hand_paw,hand_paws,handpaws,paw_hand,paw_hands,pawhand,pawhands"
+chest_markings,0,1921,"chest_marking,chests_marking,chests_markings"
+playing_music,0,1920,"playing_instrument,playing_music_instrument,playing_musical_instrument"
+key,0,1920,keys
+arm_wraps,0,1920,arm_wrap
+slugbox,1,1919,
+knee_pads,0,1919,"knee-pad,knee-pads,knee_pad,kneepad,kneepads"
+impact_onomatopoeia,0,1919,impact_onomatopeia
+explosives,0,1919,explosive
+walk-in,0,1918,"walk_in,walking_in"
+purple_underwear,0,1918,violet_underwear
+my_little_pony:_the_movie_(2017),3,1918,"mlp_movie_(2017),mlp_the_movie_(2017),my_little_pony_the_movie_(2017)"
+intimate,0,1917,
+white_socks,0,1916,
+screen_face,0,1916,"digital_face,digitized_face"
+portal,0,1914,portals
+harpy,5,1914,
+gradient_hair,0,1910,
+foot_on_face,0,1910,feet_on_face
+8:7,7,1907,
+mottled_genitalia,0,1906,
+lifted,0,1906,
+yellow_horn,0,1905,"gold_horn,gold_horns,golden_horn,golden_horns,yellow_horns"
+falcon,5,1905,falco_(genus)
+double_handjob,0,1902,dual_handjob
+pink_sclera,0,1901,"pink_eye_membrane,pink_eye_white,pink_eye_whites,pink_outer_eye,pink_sclerotic_coat,pink_white_of_the_eye,pink_white_of_the_eyes,pink_whites_of_the_eye,pink_whites_of_the_eyes"
+pixar,3,1900,
+metallic_body,0,1900,metal_body
+detached_sleeves,0,1899,detached_sleeve
+strip_club,0,1897,stripclub
+fossil_pokémon,5,1897,fossil_pokemon
+muzzle_piercing,0,1895,"pierced_muzzle,snout_piercing"
+virtual_youtuber,3,1893,
+head_frill,0,1893,"frill_crest,head_frill_crest,head_frills,membrane_crest,membranous_crest,webbed_crest"
+tan_belly,0,1892,beige_belly
+four_frame_sequence,0,1892,
+colorful,7,1892,colourful
+chalo,1,1892,"chalodillo,chalosan"
+athletic_wear,0,1891,
+red_lips,0,1890,
+black_bra,0,1889,
+big_pussy,0,1889,"huge_pussy,large_pussy"
+feet_on_balls,0,1888,
+shinx,5,1887,
+mr._wolf_(the_bad_guys),4,1887,
+black_thigh_highs,0,1886,
+mind_break,0,1885,"mind_broken,mindbreak"
+semi_incest,0,1884,semi-incest
+knotted_equine_penis,0,1884,"knotted_horse_cock,knotted_horsecock"
+orange_balls,0,1883,
+holding_controller,0,1883,
+primarina,5,1881,
+projectile_lactation,0,1880,"milk_spray,milk_squirt,prejectile_lactating,prejectile_lactation,projectile_lactating"
+bikini_thong,0,1880,thong_(swimwear)
+bad_parenting,0,1880,improper_parenting
+street,0,1879,
+grey_countershading,0,1879,gray_countershading
+extreme_size_difference,0,1879,
+syringe,0,1878,syringes
+insomniacovrlrd,1,1877,"insomniacovrlrd_(artist),tom_smith,tom_smith_(artist)"
+holding_both_legs,0,1877,"double_leg_hold,holding_legs"
+humanoid_face,0,1876,"human_face,human_head,humanesque_face,humanoid_head"
+megami_tensei_persona,3,1875,"megami_ibunroku_persona,megami_tensei:_persona,persona_(franchise),persona_(game),persona_(series),persona_(shin_megami_tensei),persona_(smt),persona_-trinity_soul-,persona_1,persona_2,persona_2:_eternal_punishment,persona_2:_innocent_sin,persona_2:_punishment,persona_2:_sin,persona_2_eternal_punishment,persona_2_innocent_sin,persona_2_punishment,persona_2_sin,persona_3,persona_3_(portable),persona_3_portable,persona_4,persona_4:_the_ultimate_in_mayonaka_arena,persona_4_arena,persona_4_the_ultimate_in_mayonaka_arena,persona_5,persona_5:_dancing_in_starlight,persona_5:_dancing_star_night,persona_5_dancing_in_starlight,persona_5_dancing_star_night,persona_q,persona_q2,persona_q:_shadow_of_the_labyrinth,persona_q_shadow_of_the_labyrinth,persona_smt,persona_trinity_soul,shadow_of_the_labyrinth,shin_megami_tensei_persona,smt_persona,the_ultimate_in_mayonaka_arena,ultimate_in_mayonaka_arena"
+playful,0,1874,
+alaskan_malamute,5,1874,malamute
+wood_floor,0,1871,"hardwood_floor,wooden_floor"
+small_balls,0,1870,
+ampharos,5,1870,
+advertisement,0,1870,"ad,advert,advertising"
+long_eyelashes,0,1869,
+corpse,0,1868,corpses
+serval,5,1867,
+nightclub,0,1866,night_club
+headset,0,1864,
+balls_on_face,0,1864,
+hyper_nipples,0,1863,
+tea,0,1861,
+sleep_sex,0,1857,"sleep_creep,sleep_creeping,somnophile,somnophilia,somnophilic"
+round_ears,0,1857,
+living_condom,0,1857,"living_fleshlight,plaything"
+meowstic,5,1856,
+wrinkled_feet,0,1854,wrinkly_feet
+lens_flare,0,1854,
+screencap,0,1853,"screen_shot,screenshot"
+magic:_the_gathering,3,1852,"champions_of_kamigawa,champions_of_kamigawa_(copyright),magic_gathering,magic_the_gathering,mtg"
+king,0,1852,
+sharp_nails,0,1850,
+slosh,0,1848,
+wizard_hat,0,1847,
+hairless_cat,5,1844,
+replica_(artist),1,1843,
+purple_sclera,0,1843,"magenta_eye_membrane,magenta_eye_white,magenta_eye_whites,magenta_outer_eye,magenta_sclera,magenta_sclerotic_coat,magenta_white_of_the_eye,magenta_white_of_the_eyes,magenta_whites_of_the_eye,magenta_whites_of_the_eyes,purple_eye_membrane,purple_eye_white,purple_eye_whites,purple_outer_eye,purple_sclerotic_coat,purple_white_of_the_eye,purple_white_of_the_eyes,purple_whites_of_the_eye,purple_whites_of_the_eyes,violet_eye_membrane,violet_eye_white,violet_eye_whites,violet_outer_eye,violet_sclera,violet_sclerotic_coat,violet_white_of_the_eye,violet_white_of_the_eyes,violet_whites_of_the_eye,violet_whites_of_the_eyes"
+hair_grab,0,1842,hair_grabbing
+birth,0,1842,"birthing,child_birth,childbirth,giving_birth,labor_and_delivery,labour_and_delivery,parturition,partus"
+urine_in_mouth,0,1840,"pee_in_mouth,peeing_in_mouth,piss_in_mouth"
+submissive_intersex,0,1839,intersex_dominated
+outside_border,0,1838,
+audino,5,1836,
+ambiguous_on_human,0,1836,ambiguous/human
+sonic_riders,3,1833,"sonic_free_riders,sonic_riders:_zero_gravity,sonic_riders_zero_gravity"
+nipple_lick,0,1833,"lick_nipple,licking_nipple,licking_nipples,nipple_licking,nipples_lick,nipples_licking"
+clitoral_fingering,0,1832,
+yu-gi-oh!,3,1830,"yu-gi-oh,yu_gi_oh,yu_gi_oh!,yugioh,yugioh!"
+brown_mane,0,1830,
+abuse,0,1829,
+kadath,1,1828,"kadath062,kadath062_(artist),kadath_(artist)"
+big_knot,0,1828,
+smaller_prey,0,1827,
+flygon,5,1827,
+carrying_partner,0,1827,
+twitching,0,1826,
+potbelly,0,1825,
+hyper_bulge,0,1824,
+wavy_hair,0,1822,
+barrel,0,1822,
+raised_calf,0,1821,
+story_at_source,7,1820,story_in_source
+chromatic_aberration,0,1820,
+overweight_feral,0,1819,
+bareback,0,1819,
+spongebob_squarepants,3,1818,"sponge_bob_square_pants,spongebob_reference"
+explosion,0,1817,"explode,explodes,exploding,explosions"
+dipstick_antennae,0,1817,dipstick_antenna
+wrench,0,1816,spanner
+harem,0,1815,
+black_dress,0,1813,
+©,0,1812,"copyright_sign,copyright_symbol"
+anthro_on_bottom,0,1812,
+shoes_only,0,1810,"naked_shoes,nude_shoes"
+muscular_legs,0,1810,
+cloacal_penis,0,1810,
+prehensile_penis,0,1807,prehensile_cock
+monotone_penis,0,1807,"mono-tone_cock,mono-tone_cocks,mono-tone_dick,mono-tone_dicks,mono-tone_dong,mono-tone_member,mono-tone_peen,mono-tone_penes,mono-tone_penii,mono-tone_penis,mono-tone_penises,mono-tone_phallus,mono-tone_shaft,mono_tone_cock,mono_tone_cocks,mono_tone_dick,mono_tone_dicks,mono_tone_dong,mono_tone_member,mono_tone_peen,mono_tone_penes,mono_tone_penii,mono_tone_penis,mono_tone_penises,mono_tone_phallus,mono_tone_shaft,monotone_cock,monotone_cocks,monotone_dick,monotone_dicks,monotone_dong,monotone_member,monotone_peen,monotone_penes,monotone_penii,monotone_penises,monotone_phallus,monotone_shaft,one-tone_penis,one_tone_penis"
+hole_(anatomy),0,1806,hole_(feature)
+colored_fire,0,1806,
+butt_sniffing,0,1806,"ass_sniff,ass_sniffing,booty_sniff,booty_sniffing,butt_sniff,buttsniff"
+rug,0,1805,
+prison,0,1804,jail
+melting,0,1804,"melt,melted"
+meesh,1,1804,
+flamedramon,5,1804,"blackflamedramon,fladramon"
+fart_cloud,0,1801,
+symbol-shaped_pupils,0,1799,
+brown_topwear,0,1799,
+wedding_ring,0,1798,wedding_band
+library,0,1798,
+picture_frame,0,1797,frame
+side-tie_bikini,0,1796,side_tie_bikini
+breastplate,0,1795,"breast_plate,chest_plate,chestplate"
+louis_(beastars),4,1794,
+echinoderm,5,1794,
+twinkle-sez,1,1793,rockmonkey
+final_fantasy_ix,3,1791,"ffix,final_fantasy_9"
+motorcycle,0,1790,motorbike
+monotone_nose,0,1790,
+over_edge,0,1788,
+horizontal_blockage,0,1788,
+spider_humanoid,5,1787,
+red_areola,0,1787,"red_areolae,red_areolas"
+deathclaw,5,1787,
+flaming_hair,0,1786,"fire_hair,flame_hair"
+latios,5,1785,
+veil,0,1784,
+where_is_your_god_now,0,1781,"god_has_abandoned_us,there_is_no_god,what_in_the_unholiest_depths_of_hell,where's_your_god_now,wheres_your_god_now"
+hippogriff,5,1781,"hippo_griff,hippo_gryph,hippogryph"
+fishnet_topwear,0,1781,
+talespin,3,1780,tailspin
+septum_ring,0,1780,
+jack_savage,4,1780,
+clipboard,0,1779,clip_board
+triceratops,5,1778,
+willing_prey,0,1777,
+visual_pun,0,1777,
+surfboard,0,1777,surf_board
+egyptian_clothing,0,1777,egyptian_clothes
+diane_foxington,4,1775,
+flesh_whiskers,0,1774,"dragon_stache,dragon_whisker,dragon_whiskers,dragonstache"
+blue_inner_ear,0,1774,
+horn_grab,0,1772,"grabbing_horn,grabbing_horns"
+white_diaper,0,1771,
+erobos,1,1771,"ero-boros,ero-boros_(artist),eroboros,eroboros_(artist),eroborus,eroborus_(artist),erobos_(artist)"
+twincest,0,1770,
+burmecian,5,1770,
+chest_spike,0,1768,
+torso_grab,0,1765,
+holding_head,0,1765,
+absolute_territory,0,1764,zettai_ryouiki
+houndoom,5,1763,
+soarin_(mlp),4,1762,"soarin,soarin'_(mlp)"
+horizontal_diphallism,0,1762,sxs_diphallism
+hyper_pregnancy,0,1761,
+huge_pecs,0,1760,
+holding_glass,0,1760,
+cynder,4,1760,
+shocked_expression,0,1758,
+wire,0,1755,wires
+belly_tuft,0,1755,stomach_tuft
+brown_horn,0,1754,brown_horns
+warfare_machine,3,1753,
+holly_(plant),0,1751,
+uraeus,0,1750,
+military_uniform,0,1750,
+jingle_bell,0,1750,"jingle_bells,sleigh_bell,sleigh_bells"
+toothless,4,1749,
+harem_outfit,0,1749,
+goat_demon,5,1749,"baphomet_(species),demon_goat,krampus_(species)"
+crotch_lines,0,1748,
+sea_eagle,5,1747,"erne,fish_eagle,haliaeetinae,haliaeetus,seaeagle"
+juno_(beastars),4,1746,
+fighting_pose,0,1746,"battle_pose,battle_stance,battling_pose,battling_stance,combat_pose,combat_stance,fight_pose,fight_stance,fighting_stance"
+ruins,0,1745,
+maud_pie_(mlp),4,1744,maud_pie
+fire_breathing,0,1744,"breathing_fire,fire_breath"
+face_lick,0,1744,"face_licking,facelick,facelicking,lick_face,licking_face"
+my_life_as_a_teenage_robot,3,1743,mlaatr
+feraligatr,5,1742,
+round_glasses,0,1739,
+dressing,0,1739,getting_dressed
+shrinking,0,1738,shrinkage
+crotchless_clothing,0,1738,crotchless
+black_hooves,0,1737,
+tentacle_in_ass,0,1735,
+morning,0,1735,
+lavenderpandy,1,1735,"lavender_pandy,lavypandyworks,pandypreggyworks,rainbowpanda"
+big_clitoris,0,1735,"big_clit,large_clit,large_clitoris"
+black_shorts,0,1733,
+unusual_penis_placement,0,1732,
+pantherine_humanoid,5,1732,panther_humanoid
+wand_vibrator,0,1731,"vibe_wand,vibrating_wand,vibrator_wand,vibrowand"
+social_nudity,0,1731,
+fork,0,1731,
+cloacal_penetration,0,1731,"cloaca_insertion,cloaca_pen,cloaca_penetration,cloaca_sex,cloacal_insertion,cloacal_pen,cloacal_sex"
+scenery,0,1728,scenic
+klonoa,4,1728,
+veemon,5,1727,vmon
+fluff-kevlar,1,1727,"fluff-kevlar_(artist),fluff_kevlar,fluff_kevlar_(artist),fluffkevlar,forwardkinematics,forwardkinematics_(artist)"
+unconscious,0,1726,"knocked_out,passed_out"
+transparent_sex_toy,0,1725,"translucent_sex_toy,translucent_sextoy"
+ducktales,3,1724,"duck_tales,ducktales_(copyright),ducktales_(franchise)"
+dumbbell,0,1721,"dumbbells,dumbell"
+deep_rimming,0,1721,
+sprigatito,5,1720,
+mottled_penis,0,1720,"mottle_cock,mottle_penis,mottled_cock"
+crystal-for-ever,1,1720,crystal_for_ever
+zourik,1,1719,
+shorts_down,0,1718,
+short_story,0,1718,
+merging,0,1716,"merge,merged"
+avali,5,1716,
+leucistic,0,1715,leucism
+hazbin_hotel,3,1715,
+purple_claws,0,1714,
+knee_socks,0,1714,"knee-high_sock,knee-high_socks,knee-sock,knee-socks,knee_high_sock,knee_high_socks,knee_sock,kneehigh_sock,kneehigh_socks,kneesock,kneesocks"
+green_yoshi,5,1713,
+clothed_anthro,0,1713,
+tailjob,0,1711,tail_job
+mihoyo,3,1711,
+gideon,1,1711,gideon_hoss
+pipe,0,1710,
+internal_monologue,0,1709,
+ejaculating_cum,0,1709,
+loose_feather,0,1707,loose_feathers
+snout_markings,0,1706,"snout_(marking),snout_(markings),snout_marking"
+mawile,5,1705,
+blood_elf,5,1705,
+purple_ears,0,1704,
+precum_on_penis,0,1704,
+bigdad,1,1703,
+winking_at_viewer,0,1702,
+tagme,7,1702,"tag_me,tagme_if_anything_important_is_missing"
+neck_bite,0,1701,"biting_neck,neck_biting"
+banjo-kazooie,3,1701,"banjo-tooie,banjo_&_kazooie,banjo_and_kazooie,banjo_kazooie,banjo_tooie,banjokazooie,banjotooie"
+peafowl,5,1700,"albino_peacock,peacoc,peacock,peacocks,peahen,peapenis"
+doctor,0,1700,dr
+red_lipstick,0,1699,
+caprine_humanoid,5,1699,
+brother_penetrating_sister,0,1699,
+:<,0,1699,
+soldier,0,1698,soldiers
+feretta,1,1698,
+bald_eagle,5,1698,
+sphynx_(cat),5,1697,"sphynx,sphynx_cat"
+muffled,0,1697,
+mandibles,0,1697,mandible
+straight_legs,0,1696,
+plant_pot,0,1696,"plant_pots,plantpot,plantpots"
+hearts_around_body,0,1695,
+shantae,4,1694,
+ratchet,4,1693,
+impregnation_request,0,1693,
+imperatorcaesar,1,1693,
+inside_car,0,1692,in_car
+after_vaginal,0,1692,"after_pussy,after_vaginal_sex"
+cross-eyed,0,1690,"cross_eyed,crossed_eyes,crosseyed,eyes_crossed"
+musk_clouds,0,1689,
+somescrub,1,1688,
+pink_balls,0,1688,
+bib,0,1688,
+malacostracan,5,1687,malacostraca
+butt_heart,0,1685,"<3_ass,<3_booty,<3_butt,ass_<3,ass_heart,booty_<3,booty_heart,butt_<3,heart_ass,heart_booty,heart_butt"
+bloated,0,1685,"bloated_belly,full_belly,stuffed_belly,stuffed_full"
+male_symbol,0,1684,"mars_symbol,♂"
+text_emphasis,0,1683,
+species_name_in_dialogue,0,1683,
+bad_metadata,7,1683,
+white_mane,0,1680,
+lip_ring,0,1680,
+halloween_costume,0,1680,
+bandeau,0,1680,
+raphael_(tmnt),4,1679,
+night_sky,0,1679,
+good_girl,0,1679,
+nuzzling,0,1678,nuzzle
+tail_piercing,0,1676,pierced_tail
+mongoose,5,1676,mungoose
+kiss_on_lips,0,1676,
+monster_musume,3,1675,"daily_life_with_monster_girl,monster_musume_no_iru_nichijou"
+female_pov,0,1674,
+geeflakes,1,1673,"arnachy,bally-vhern"
+aged_down,0,1673,younger
+zora,5,1672,
+samus_aran,4,1672,zero_suit_samus
+detached_sheath,0,1672,
+phoenix,5,1671,phoenix_(species)
+crash_bandicoot,4,1671,
+silver_the_hedgehog,4,1670,silvia_(sonic)
+elden_ring,3,1670,
+object_head,5,1669,
+hands_together,0,1669,
+machoke,5,1668,
+countershade_neck,0,1668,
+lifting,0,1667,
+james_howard,1,1667,
+miss_kobayashi's_dragon_maid,3,1666,
+blue_highlights,0,1666,"blue_highlight,blue_streak,blue_streaks,cyan_highlight,cyan_highlights,cyan_streak,cyan_streaks"
+ruaidri,1,1665,
+nurse_uniform,0,1665,"nurse_costume,nurse_outfit"
+malo,5,1665,
+imprint,0,1665,
+five_nights_at_freddy's_3,3,1665,"fnaf3,fnaf_3"
+green_underwear,0,1664,
+stomping,0,1661,stomp
+torn_legwear,0,1660,
+text_on_hat,0,1660,
+friends,0,1659,
+jailbird,1,1658,jailbird_(artist)
+wind,0,1655,windy
+lizardlars,1,1655,
+slug,5,1654,slugs
+two_doms_one_sub,0,1653,
+frogtied,0,1653,"frog_tie,frog_tied,frogtie"
+artificial_intelligence,0,1653,
+peg_pete,4,1651,
+latex_clothing,0,1650,
+anal_tugging,0,1648,
+ear_frill,0,1645,ear_frills
+handwear_only,0,1643,
+cum_on_anus,0,1643,
+derived_sound_effect,0,1642,
+straitjacket,0,1641,"straight_jacket,straightjacket"
+twerking,0,1640,twerk
+hand_on_cheek,0,1640,hands_on_cheeks
+freedom_planet,3,1640,
+stuffing,0,1639,stuffed
+sparrow_(artist),1,1639,
+red_glans,0,1639,
+jerseydevil,1,1639,
+head_first,0,1639,headfirst
+stomach_acid,0,1638,"gastric_acid,gastric_acids,gastric_fluid,gastric_fluids,gastric_juice,gastric_juices,stomach_acids,stomach_fluid,stomach_fluids,stomach_juice,stomach_juices"
+red_ears,0,1638,
+competition,0,1636,
+marten,5,1635,martes
+united_states_of_america,0,1634,"america,american,united_states,usa"
+jojo's_bizarre_adventure,3,1634,"battle_tendency,diamond_is_unbreakable,jjba,jojo_no_kimyou_na_bouken,jojo_reference,jojolion,jojos_bizarre_adventure,phantom_blood,stardust_crusaders,steel_ball_run,stone_ocean,vento_aureo"
+pattern_armwear,0,1633,
+marina_(splatoon),4,1633,
+beret,0,1633,
+step_pose,0,1632,"captain_morgan_pose,stepping_pose"
+bike_shorts,0,1631,"bicycle_shorts,cycling_shorts"
+autotitfuck,0,1631,"autopaizuri,autotitjob,self-titfuck,self_titfuck"
+snaggle_tooth,0,1630,
+raised_bottomwear,0,1630,bottomwear_raised
+human_on_bottom,0,1630,
+road,0,1629,
+health_bar,0,1629,"healthbar,hp_bar,life_bar"
+:o,0,1629,o:
+guts,0,1627,
+bottomwear_pull,0,1626,
+id_software,3,1624,"id_(software),id_software_llc"
+detailed_fur,0,1622,
+teapot_(body_type),0,1620,
+pet_praise,0,1620,"pet-praise,petpraise"
+mleonheart,1,1620,
+colored_seam_underwear,0,1620,
+alolan_vulpix,5,1620,"alola_vulpix,vulpix_(alola_form),vulpix_(alolan_form)"
+wand,0,1619,
+vertical_splits,0,1619,standing_splits
+tail_bondage,0,1619,
+anibaruthecat,1,1619,
+vombatiform,5,1618,
+public_humiliation,0,1618,public_humilation
+worship,0,1617,
+knees_together,0,1617,
+grandfathered_content,7,1617,
+floral,0,1617,
+chaps,0,1617,"assless-chaps,assless_chap,assless_chaps"
+bedding_background,0,1617,
+samurott,5,1616,daikenki
+looking_forward,0,1616,
+toenails,0,1615,"toe_nail,toe_nails,toenail"
+dominant_human,0,1615,"dom_human,human_dom,human_dominant,human_dominating,human_domination,humandom"
+huge_tail,0,1614,
+fenneko,4,1614,
+saluki,5,1612,
+gargoyles,3,1612,
+condom_in_mouth,0,1611,
+ambient_insect,5,1609,
+doom_(series),3,1608,"doom_(franchise),doom_(game),doom_game"
+reduced_sound_effect,0,1607,
+red_headwear,0,1607,
+ōkami,3,1606,okami
+requiem_shark,5,1604,"carcharhinid,carcharhinidae"
+obscured_penetration,0,1604,
+raised_skirt,0,1602,"skirt_raised,skirt_up"
+moxxie_(helluva_boss),4,1602,moxxie_(vivzmind)
+fox_spirit,0,1602,"fox_demon,kitsune_(mythological),kitsune_(mythology),kyuubi,mythological_kitsune,nine-tailed_fox,nine_tailed_fox,ninetail_fox,九尾狐,狐狸精"
+tawna_bandicoot,4,1601,
+princess_ember_(mlp),4,1601,"lord_ember_(mlp),princess_ember"
+gnoll,5,1600,gnoll_(species)
+doorway,0,1599,
+bottom_heavy,0,1599,
+shark_tail,0,1598,
+cherry,0,1598,cherries
+straight_hair,0,1597,
+ahri_(lol),4,1597,ahri
+lustylamb,1,1596,"lazybutts,lustylamb_(artist),weepysheep"
+instant_loss_2koma,3,1595,"il2k,instant_loss,loss_2koma"
+transformation_through_sex,0,1592,"copulation_tf,copulation_transformation,intercourse_tf,intercourse_transformation,sexual_activity_transformation,sexual_intercourse_tf,sexual_intercourse_transformation,sexual_tf,sexual_transformation,transformation_by_copulation,transformation_by_intercourse,transformation_during_copulation,transformation_during_intercourse,transformation_during_sex,transformation_from_intercourse,transformation_from_sex,transformation_through_copulation,transformation_through_intercourse"
+virgin,0,1591,
+noelle_holiday,4,1591,noelle_(deltarune)
+tan_feathers,0,1590,"beige_feathers,burlywood_feathers,cream_feathers,peach_feathers"
+hands_on_own_legs,0,1590,
+black_lipstick,0,1590,
+purple_horn,0,1589,purple_horns
+feathered_crest,0,1589,"crest_feather,crest_feathers,feather_crest"
+team_fortress_2,3,1588,tf2
+cupcake,0,1588,"cup_cake,cup_cakes,cupcakes"
+campfire,0,1588,camp_fire
+legwear_only,0,1586,
+legs_behind_head,0,1586,
+succubus,5,1584,
+pichu,5,1583,
+attack,0,1583,attacking
+textured_background,0,1582,"texture_background,texture_bg,textured_bg"
+suntan,0,1582,
+flashw,1,1582,"flash_lioness,flashlioness,flashwhite"
+bea_santello,4,1582,"bea_(nitw),beatrice_santello"
+ponyplay,0,1581,"horseplay,pony_play"
+justmegabenewell,1,1578,jmgn
+human_prey,0,1577,
+baggy_clothing,0,1577,"baggy_clothes,loose_clothes,loose_clothing,over_sized_clothes,over_sized_clothing,oversized_clothes,oversized_clothing,too_big_clothes,too_big_clothing"
+neck_grab,0,1576,
+<3_censor,0,1576,heart_censor
+poolside,0,1575,
+female_penetrating_male,0,1575,"fm/p/m,♀_penetrating_♂"
+small_pupils,0,1574,
+the_weaver,1,1573,tgweaver
+minerva_mink,4,1573,
+stirrup_socks,0,1572,
+breasts_on_glass,0,1572,breasts_against_glass
+australian_shepherd,5,1572,"australian_sheepdog,australian_shepard"
+store,0,1571,shop
+ber00,1,1571,ber00_(artist)
+furret,5,1569,
+feral_prey,0,1569,
+mutual_masturbation,0,1568,mutal_masturbation
+leonardo_(tmnt),4,1567,
+chara_(undertale),4,1567,"chara,chara_dreemurr"
+hyaku_(artist),1,1566,hyaku1063
+train,0,1565,
+hyper_hips,0,1565,
+shirt_up,0,1564,
+bare_chest,0,1564,
+dagasi,1,1563,
+black_headwear,0,1563,
+sex_slave,0,1562,
+thunderouserections,1,1561,
+female_penetrating_female,0,1561,"fm/p/fm,♀_penetrating_♀"
+pie,0,1560,
+bulging_breasts,0,1560,
+7:4,7,1560,
+columbid,5,1559,columbidae
+purse,0,1558,
+multi_leg,0,1558,"multi-leg,multi-legs,multi_legs,multiple_leg,multiple_legs"
+dark_souls,3,1558,"dark_souls_1,dark_souls_2,dark_souls_3,dark_souls_i,dark_souls_ii,dark_souls_iii,dark_souls_remastered,demons_souls"
+brainwashing,0,1557,"brain_washing,brainwash,brainwashed"
+thinking,0,1556,
+urine_on_ground,0,1555,urine_on_floor
+shelf,0,1554,shelves
+scooby-doo_(series),3,1554,"scooby_doo_(series),scoobydoo_(series)"
+jenny_wakeman,4,1554,"xj-9,xj9,xj_9"
+bonbon_(mlp),4,1554,"bon-bon_(mlp),bon_bon_(mlp),sweetie_drops,sweetie_drops_(mlp)"
+mostly_offscreen_character,0,1552,
+kitty_katswell,4,1552,
+flower_creature,5,1552,living_flower
+flip_flops,0,1552,"flip-flops,flipflops"
+clothed_male,0,1552,
+wrists_tied,0,1550,"bound_wrists,tied_wrists,wrists_bound"
+prehensile_feet,0,1550,"prehensile_foot,prehensile_paw,prehensile_paws"
+pattern_stockings,0,1550,
+speed_bump_position,0,1549,speedbump_position
+metro-goldwyn-mayer,3,1548,"metro-goldwyn-mayer_cartoon_studio,metro-goldwyn-mayer_studios,metro-goldwyn-mayer_studios_inc,metro-goldwyn-mayer_studios_inc.,metro-goldwyn-mayer_television,metro_goldwyn-mayer_animation,metro_goldwyn_mayer,metro_goldwyn_mayer_animation,metro_goldwyn_mayer_cartoon_studio,metro_goldwyn_mayer_studios,metro_goldwyn_mayer_studios_inc,metro_goldwyn_mayer_studios_inc.,metro_goldwyn_mayer_television,mgm,mgm_animation,mgm_television"
+miso_souperstar,1,1547,misosouperstar
+anal_fisting,0,1547,
+yoga,0,1546,"yoga_pose,yoga_poses"
+horizontal_cloaca,0,1546,
+yo-kai_watch,3,1545,"yokai_watch,youkai_watch"
+tristana_(lol),4,1545,
+teacher_and_student,0,1545,"student_and_teacher,teacher/student"
+potted_plant,0,1545,potted_plants
+sex_toy_background,0,1544,
+goo_humanoid,5,1544,"humanoid_goo,slime_humanoid"
+braces,0,1543,
+zero_pictured,0,1541,"no_characters,none_pictured"
+ultra_beast,5,1541,
+grey_beak,0,1541,gray_beak
+beak_fetish,0,1540,
+tan_line,0,1539,"tan_lines,tanline,tanlines"
+orange_topwear,0,1539,
+arm_around_shoulders,0,1539,
+raven,5,1538,
+cosmic_hair,0,1538,"galaxy_hair,star_hair"
+unsigned,0,1537,
+holding_thigh,0,1537,
+blue_panties,0,1537,
+grey_inner_ear,0,1536,gray_inner_ear
+inteleon,5,1535,"intelleon,intellion"
+gym_bottomwear,0,1535,
+growling,0,1534,growl
+big_nose,0,1534,
+tail_between_legs,0,1533,
+suction_cup,0,1532,"suction_cups,suctioncup,suctioncups"
+meowth,5,1532,
+holding_sex_toy,0,1532,
+striped_armwear,0,1531,
+paintbrush,0,1531,paint_brush
+red_highlights,0,1529,"red_highlight,red_streak,red_streaks"
+log,0,1529,logs
+2002,7,1529,
+wolfdog,5,1527,"whusky,wolf-dog,wolf/dog,wolf/husky,wolf_dog,wolfsky,wusky"
+body_part_in_mouth,0,1527,
+ballbusting,0,1527,tamakeri
+spacesuit,0,1525,space_suit
+muzzle_(marking),0,1525,"muzzle_(markings),muzzle_marking,muzzle_markings"
+leopardus,5,1525,
+glistening_balls,0,1525,shiny_balls
+flesh_tunnel,0,1525,"ear_gauges,gauges"
+tight_foreskin,0,1524,phimosis
+teddy_bear,0,1524,
+sloshing_belly,0,1524,
+grey_shirt,0,1524,gray_shirt
+feathered_dinosaur,5,1523,"dino_with_feather,dino_with_feathers,dinosaur_with_feather,dinosaur_with_feathers,feathered_dino"
+cum_on_bed,0,1522,
+snakebite_piercing,0,1519,"snake-bites,snake_bite,snake_bites,snakebite,snakebites,snakebites_piercing"
+after_rape,0,1519,post_rape
+wristwatch,0,1518,wrist_watch
+multicolored_topwear,0,1518,
+bite_mark,0,1517,bite_marks
+watsup,1,1516,
+throat,0,1516,
+sleeveless_shirt,0,1516,
+long_claws,0,1516,
+duel_monster,5,1516,duel_monsters
+sideburns,0,1515,side_burns
+sky_forme_shaymin,5,1514,"shaymin_(sky),shaymin_(sky_form),shaymin_(sky_forme),shaymin_sky,shaymin_sky_form,shaymin_sky_forme,sky_form_shaymin,sky_shaymin"
+red_nails,0,1513,
+flag_(object),0,1513,
+body_size_growth,0,1513,height_growth
+ring-tailed_lemur,5,1512,"ring_tail_lemur,ring_tailed_lemur,ringtail_lemur,ringtailed_lemur,ringtaillemur"
+big_hair,0,1512,
+red_cheeks,0,1510,
+black_stockings,0,1510,
+cnidarian,5,1509,cnidaria
+pilosan,5,1508,
+skull_mask,0,1506,
+john_joseco,1,1506,johnjoseco
+stoat,5,1505,"ermine,short-tailed_weasel,short_tailed_weasel"
+hioshiru,1,1505,"hioshiru-alter,hioshiru_alter,hioshiru_nsfw,hioshirualter,hioshirunsfw,leviru,miltvain"
+five_frame_image,0,1505,
+fifi_la_fume,4,1505,fifi_le_fume
+bulbasaur,5,1505,
+gym_shorts,0,1504,"athletic_shorts,gymshorts,jogging_shorts,running_shorts,sport_shorts,sports_shorts,track_shorts"
+folded,0,1504,
+tunic,0,1503,
+sonic_adventure,3,1503,"sa1,sa2:b,sa2b,sadx,sonic_adventure_(series),sonic_adventure_1,sonic_adventure_2,sonic_adventure_2:_battle,sonic_adventure_2_battle,sonic_adventure_dx,sonic_adventure_dx:_director's_cut,sonic_adventure_dx:_directors_cut,sonic_adventure_dx_director's_cut,sonic_adventure_dx_directors_cut"
+soiled_diaper,0,1503,
+belt_buckle,0,1503,
+bgn,1,1502,
+basitin,5,1501,
+kass_(tloz),4,1500,"kass_(loz),kass_(zelda)"
+pouch_(anatomy),0,1499,"kangaroo_pouch,male_pouch,marsupial_pouch,marsupium,pouch_(feature),pouch_anatomy,tummy_pouch"
+pink_nails,0,1499,
+nervous_smile,0,1498,
+facial_spikes,0,1498,face_spikes
+aloha_shirt,0,1498,hawaiian_shirt
+simultaneous_orgasms,0,1497,"double_cum,double_orgasm,mutual_cum,mutual_cumshot,mutual_orgasm,simultaneous_cum,simultaneous_cumshot,simultaneous_ejaculation,simultaneous_ejaculations,simultaneous_orgasm,synced_orgasm"
+sandwich_(food),0,1497,
+grumpy,0,1497,
+canine_dildo,0,1496,"dog_dildo,fox_dildo,foxdildo,k9_dildo,wolf_dildo,wolfdildo"
+ankk,1,1496,wonkake
+symbiote,5,1495,
+prolapse,0,1495,
+kitsune_youkai,1,1495,kitsuneyoukai
+freya_crescent,4,1495,
+unwanted_ejaculation,0,1494,
+spider_web,0,1494,"cob's_web,cob_web,cob_webs,cobs_web,cobweb,cobwebs,spider's_web,spider_webs,spiders_web,spidersweb,spiderweb,spiderwebs"
+after_kiss,0,1494,post_kiss
+snapchat,3,1493,
+anal_beads_in_ass,0,1493,
+kinktober,3,1492,kinktober_2020
+encasement,0,1492,"encased,encasement_bondage,encasing"
+sindoll,1,1491,"kousoku,kousoku2,shindooru"
+sciurid_humanoid,5,1491,
+print_underwear,0,1491,
+meerkat,5,1491,meercat
+degradation,0,1491,degrading
+against_natural_surface,0,1491,
+waking_up,0,1490,
+stolas_(helluva_boss),4,1490,stolas_(vivzmind)
+millie_(helluva_boss),4,1490,millie_(vivzmind)
+lynian,5,1490,
+joaoppereiraus,1,1490,joaoppereira
+dirt,0,1489,soil
+digestion_noises,0,1489,
+striped_stockings,0,1487,stripped_stockings
+red_shoes,0,1486,
+barely_visible_balls,0,1486,subtle_balls
+tenshigarden,1,1485,"hearlesssoul,ventusshadow"
+helltaker,3,1485,
+zero_suit,0,1484,"zero_suit_falco,zero_suit_fox,zero_suit_ridley"
+stinger,0,1484,
+kihu,1,1484,kihuotter
+spotlight,0,1483,"spot_light,spot_lights"
+purple_theme,7,1481,
+hard_translated,7,1481,"hard_translation,translated_edit,translation_edit"
+frilly_panties,0,1481,frilled_panties
+dragon_quest,3,1481,
+knotted_humanoid_penis,0,1479,"knotted_human_penis,uncut_with_knot"
+viverrid,5,1478,
+sitting_on_chair,0,1478,sitting_in_chair
+great_dane,5,1478,"deutsche_dogge,german_mastiff"
+dreamkeepers,3,1478,
+caracal_(genus),5,1478,
+two_tone_wings,0,1476,
+sploot,0,1476,
+pearl_necklace,0,1476,
+grabbing,0,1475,
+darkened_penis,0,1475,"dark_cock,dark_dick,dark_dicks,dark_dong,dark_member,dark_penes,dark_penii,dark_pennis,dark_phallus,dark_shaft,darkened_cock,darkened_dick,darkened_dicks,darkened_dong,darkened_member,darkened_penes,darkened_penii,darkened_pennis,darkened_phallus,darkened_shaft"
+bridge_piercing,0,1475,stop_piercing
+dewlap_(anatomy),0,1474,"dewlap,dewlap_(feature),gular_skin,throat_skin,turkey_neck"
+ghost_hands,0,1473,
+decapoda,5,1472,
+folded_wings,0,1470,fold_wings
+warframe,3,1469,
+remote_control,0,1469,"remote,remote_controller"
+murid_humanoid,5,1469,
+oselotti,1,1468,
+white_spots,0,1467,
+sefeiren,1,1467,sefeiren_(artist)
+neon,0,1467,
+extreme_penetration,0,1467,extreme_insertion
+felyne,5,1466,
+farm,0,1466,
+bored,0,1464,uninterested
+arm_pull,0,1464,
+armless,0,1463,no_arms
+penis_everywhere,0,1462,dicks_everywhere
+comic_sans,7,1462,
+russian,0,1461,
+poppy_(lol),4,1461,poppy_(league_of_legends)
+murine_humanoid,5,1461,
+golden_shower,0,1461,
+daddy_kink,0,1461,
+ossicone,0,1460,"giraffe_horn,giraffe_horns,giraffid_horn,giraffid_horns,okapi_horn,okapi_horns,ossicones"
+hand_on_own_thigh,0,1460,
+glacierclear,1,1460,glo-in-the-dark
+twilight_velvet_(mlp),4,1459,"star_sparkle_(mlp),twilight_velvet"
+knee_tuft,0,1459,
+jar,0,1459,jars
+purple_pawpads,0,1458,"purple_paw_pad,purple_paw_pads,purple_pawpad"
+open_mouth_gag,0,1458,
+gloves_only,0,1457,
+beak_play,0,1457,
+grabbing_both_thighs,0,1456,"double_thigh_grab,grabbing_thighs"
+melon,0,1455,
+queen,0,1454,
+keyboard,0,1454,
+red_wings,0,1453,
+gynomorph/herm,0,1453,"d/h,dickgirl/herm,dickgirl_on_herm,gm/h,gynomorph_on_herm,h/d,h/gm,herm/dickgirl,herm/gynomorph,herm_on_dickgirl,herm_on_gynomorph"
+glamrock_freddy_(fnaf),4,1453,
+tag_panic,7,1451,
+cosplay_pikachu_(costume),0,1451,"cosplay_pikachu,cosplay_pikachu_costume,cosplay_pikachu_costumes"
+red_kerchief,0,1450,
+parasite,0,1449,parasites
+black_shoes,0,1449,
+magazine,0,1448,magazines
+facial_horn,0,1448,"face_horn,face_horns,facial_horns"
+hiding,0,1447,
+asterozoan,5,1447,asterozoa
+akita,5,1447,
+springtrap_(fnaf),4,1445,golden_bonnie_(fnaf)
+genital_focus,0,1444,"genitalia_focus,genitals_focus"
+digital_creature,5,1444,"computer_program_(species),digital_organism_(species)"
+wrapped_condom,0,1443,
+warhammer_fantasy,3,1443,
+modeseven,1,1443,nitrotitan
+wet_topwear,0,1442,
+vavacung,1,1441,
+partially_translated,7,1441,
+backlash91,1,1440,"backlash91_(artist),denmawarlight,denmawarlight_(artist),warlight,warlight91,warlight91_(artist),warlight_(artist)"
+tan_nipples,0,1439,"beige_nipples,tan_nipple"
+protagonist_(tas),4,1439,
+decapitation,0,1439,"beheaded,beheading,decapitated"
+blue_shorts,0,1439,cyan_shorts
+1-upclock,1,1439,
+morbidly_obese_male,0,1438,
+black_swimwear,0,1438,black_swimsuit
+hyper_anus,0,1437,
+colored_pencil_(artwork),7,1437,"colored_pencil_art,cpencil_art"
+white_outline,0,1436,
+redishdragie,1,1436,"dirtyturquoise,redponei"
+pince-nez,0,1436,pince_nez
+beak_sex,0,1435,
+chief_bogo,4,1432,
+forked_tail,0,1431,split_tail
+dewott,5,1431,
+cheerilee_(mlp),4,1431,"cheerilee,cherilee_(mlp)"
+soulcentinel,1,1428,
+yellow_nose,0,1426,
+marjani,1,1426,kryaterre
+barely_visible_anus,0,1426,subtle_anus
+arctic_wolf,5,1426,artic_wolf
+after_oral,0,1426,post_oral
+vallhund,1,1425,
+dragonair,5,1425,
+decapodiform,5,1425,"decapodiforme,squid,squids"
+cactus,0,1425,cacti
+alpaca,5,1425,
+stretched_anus,0,1424,stretching_anus
+orange_markings,0,1424,orange_marking
+mizzyam,1,1423,"amarimasi,benjisquirrel"
+breast_smother,0,1423,breasts_smother
+chubby_cheeks,0,1422,
+flutterbat_(mlp),4,1421,"flutter_bat_(mlp),flutterbat"
+big_teats,0,1421,
+oral_knotting,0,1420,oral_knot
+fireworks,0,1420,firework
+wrestler,0,1419,
+theboogie,1,1419,history-eraser-button
+white_stripes,0,1416,
+viroveteruscy,1,1416,vaughn_xero
+natural_breasts,0,1415,droopy_breasts
+ms_paint_adventures,3,1415,mspaintadventures
+blue_nails,0,1415,cyan_nails
+royal_guard_(mlp),4,1414,"guard_pony,royal_gaurd_(mlp),royal_guard,royal_guards_(mlp)"
+caracal,5,1414,
+blue_mane,0,1414,cyan_mane
+excessive_precum,0,1413,excessive_pre
+tickling_feet,0,1412,feet_tickling
+nidoking,5,1412,
+amaterasu,4,1412,
+spiked_penis,0,1411,"penile_spikes,penis_spikes,spike_penis,spiked_cock,spikey_penis,spiky_penis"
+homestuck,3,1411,"home_stuck,homesmut"
+ducktales_(2017),3,1411,"duck_tales_(2017),duck_tales_2017,ducktales_(2017_series),ducktales_2017,ducktales_reboot,modern_ducktales,new_ducktales,reboot_ducktales"
+double_vaginal,0,1411,
+sly_cooper,4,1410,
+japanese_school_uniform,0,1410,
+holding_writing_utensil,0,1410,
+under_table,0,1409,"under_desk,under_the_table"
+receiving_pov,0,1409,
+on_top_of,0,1409,
+parappa_the_rapper,3,1408,
+fairy_tales,3,1408,fairy_tale
+hand_on_neck,0,1407,
+gynomorph_(lore),8,1407,dickgirl_(lore)
+fanged_wyvern,5,1407,
+alternate_hairstyle,0,1407,"alternate_hair-style,alternate_hair_color,alternate_hair_length,alternate_hair_style,alternate_haircut,alternative_hair-style,alternative_hair_style,alternative_hairstyle"
+skye_(zootopia),4,1404,
+casual_sex,0,1404,
+autopenetration,0,1404,"auto_penetration,self_fuck,self_penetration"
+text_on_tank_top,0,1402,
+starfish,5,1402,"asteroidea,asteroidean,sea_star,seastar,star_fish"
+red_theme,7,1401,
+kneeling_oral_position,0,1401,
+upskirt_sex,0,1399,
+restaurant,0,1399,
+lipstick_on_penis,0,1399,
+beads,0,1399,
+tailless,0,1398,"anurous_(tailless_anthro),no_tail,tailess,tailess_animal_humanoid,tailess_anthro,tailess_feral,tailless_animal_humanoid,tailless_anthro,tailless_feral"
+multi_frame_sequence,0,1397,
+cane,0,1397,
+string_bikini,0,1396,
+multi_balls,0,1396,"multi_ball,multi_testicle,multi_testicles,multiple_ball,multiple_balls,multiple_testicle,multiple_testicles,polyorchid"
+crossover_cosplay,0,1395,cosplay_crossover
+circlet,0,1395,
+twin_bows,0,1394,
+truck_(vehicle),0,1394,"lorry_(car),lorry_(truck),lorry_car,lorry_truck,truck_(car),truck_car,truck_vehicle"
+sitting_on_bed,0,1394,
+calves_up,0,1393,
+backsash,1,1393,sashxx
+purple_wings,0,1392,
+possession,0,1392,possessed
+heart_clothing,0,1392,
+crescent_moon,0,1391,cresent_moon
+3mangos,1,1390,
+crotch_shot,0,1389,"crotchshot,groin_shot"
+beakjob,0,1389,beak_job
+against_tree,0,1389,
+male_penetrating_feral,0,1388,
+swimwear_aside,0,1387,swimsuit_aside
+naruto,3,1387,
+glowing_body,0,1387,
+lari,5,1386,
+godzilla,4,1384,gojira
+plaid_clothing,0,1383,tartan_clothing
+belly_grab,0,1383,"belly_grope,stomach_grab"
+ear_bite,0,1382,"bite_ear,biting_ear,ear_biting,earbite,earbiting"
+pink_markings,0,1381,pink_marking
+covering_face,0,1381,
+barely_contained,0,1381,
+young_domination,0,1380,
+penis_in_face,0,1380,
+older_intersex,0,1380,
+light_beam,0,1380,"beam_of_light,beams_of_light,light_beams,light_ray,lightbeam,lightbeams,lightray,lightrays,ray_of_light,rays_of_light"
+playing,0,1379,play
+mooning,0,1378,
+glare,0,1378,
+plushophilia,0,1377,plushophile
+panties_only,0,1377,
+tea_cup,0,1376,"tea_cups,teacup,teacups"
+bristol,1,1375,
+dark_nose,0,1374,
+cowboy,0,1374,
+blue_lips,0,1374,cyan_lips
+hearts_around_head,0,1373,
+cult_of_the_lamb,3,1373,
+blue_footwear,0,1373,cyan_footwear
+tan_clothing,0,1372,beige_clothing
+holding_container,0,1372,holding_containers
+female_rimming_male,0,1371,
+these_aren't_my_glasses,0,1370,these_arent_my_glasses
+head_in_crotch,0,1370,
+fuel_(artist),1,1370,foxefuel
+cloth,0,1370,
+wet_shirt,0,1368,wet_t-shirt
+species_request,5,1368,
+grey_pants,0,1368,gray_pants
+nurse_headwear,0,1367,
+badumsquish,1,1367,
+white_dress,0,1365,
+yellow_claws,0,1364,
+sink,0,1364,
+scuted_arms,0,1364,
+saltyxodium,1,1363,
+porcupine,5,1363,
+chest_fur,0,1363,
+wedding_dress,0,1362,"bridal_dress,bridal_gown,wedding_gown"
+squirrel_humanoid,5,1361,humanoid_squirrel
+ok_k.o.!_let's_be_heroes,3,1361,"lakewood_plaza_turbo,ok_k.o,ok_k.o!,ok_k.o.,ok_k.o.!,ok_k.o.!_lets_be_heroes,ok_k.o.!_let’s_be_heroes,ok_k.o._let's_be_heroes,ok_k.o._lets_be_heroes,ok_k.o_let's_be_heroes,ok_k.o_lets_be_heroes,ok_ko,ok_ko!,ok_ko!_lets_be_heroes,ok_ko_let's_be_heroes,ok_ko_lets_be_heroes"
+giga,0,1361,
+trash_can,0,1360,"garbage_bin,garbage_can,trash_bin,trashcan,waste_basket,waste_bin,wastebasket,wastebin"
+patto,1,1359,"augi,k0m0d0"
+monocle,0,1359,
+dust:_an_elysian_tail,3,1359,dust_an_elysian_tail
+chinchillid,5,1359,chinchillidae
+reverse_stand_and_carry_position,0,1358,reverse_suspended_congress
+pink_claws,0,1358,
+intersex_on_bottom,0,1358,
+moritaka,4,1357,
+easter_egg,0,1357,easter_eggs
+badgerben,1,1357,"yiffer,yiffer_fox,yifferfox"
+sonic_unleashed,3,1356,"night_of_the_werehog,sonic_night_of_the_werehog"
+multicolored_mane,0,1356,
+living_room,0,1355,
+inanimate_transformation,0,1355,"inanimate_object_tf,inanimate_object_transformation,inanimate_tf,object_tf,object_transformation"
+midday_lycanroc,5,1354,midday_lugarugan
+smug_grin,0,1353,
+koala,5,1352,koala_bear
+tentaclejob,0,1350,
+rainbow_symbol,0,1350,
+lumineko,1,1350,luminaura
+drone,0,1350,
+true_parrot,5,1349,"psittacoid,psittacoidea"
+flower_petals,0,1349,flower_petal
+killing,0,1348,"kill,killed,murder"
+dragon_ball_z,3,1348,"dbz,dragonball_z,dragonballz"
+audience,0,1348,
+torn_shirt,0,1347,ripped_shirt
+study_partners,3,1347,study_parters
+pink_theme,7,1347,
+pink_bottomwear,0,1346,
+mature_feral,0,1346,
+hooves-art,1,1346,
+fur_growth,0,1346,
+feather_hair,0,1346,feathered_hair
+pec_grasp,0,1345,
+marauder6272,1,1345,
+cold-blooded-twilight,1,1345,"atthefrozenhorizon,coldbloodedtwilight"
+striped_skunk,5,1344,
+curled_horns,0,1344,
+cheese,0,1344,
+tablet,0,1343,
+hose,0,1343,
+ayaka,1,1343,
+transparent_border,0,1342,alpha_border
+maid_headdress,0,1342,maid_headband
+foreskin_play,0,1342,
+dewclaw,0,1342,"dew_claw,dewclaws"
+penis_kissing,0,1341,"kissing_penis,penis_kiss"
+holstein_friesian_cattle,5,1341,holstein
+sweaty_penis,0,1340,
+made_in_abyss,3,1340,
+green_ears,0,1340,
+aoizuri,1,1340,"claralaine,daliande,nickii"
+f-r95,1,1339,
+e-01,1,1339,
+orange_nose,0,1338,
+water_bottle,0,1337,waterbottle
+underwater_sex,0,1336,
+cage,0,1336,
+black_inner_ear,0,1336,
+plant_hair,0,1334,
+pawprint_marking,0,1333,
+black_bear,5,1333,
+personal_grooming,0,1332,"freshen_up,freshening_up,grooming,grooming_self,grooming_up,preen,preening_up,primp,primping_up,self_grooming,self_preen,self_preening,smarten_up,smartening_up,tidy_up,tidying_up"
+panty_shot,0,1332,"pantie_shot,pantyshot"
+overweight_ambiguous,0,1331,
+michelangelo_(tmnt),4,1331,
+base_two_layout,0,1330,
+lego,3,1329,
+slippers,0,1328,
+labia_piercing,0,1328,pierced_labia
+extreme_french_kiss,0,1327,
+blitzo_(helluva_boss),4,1327,blitzo_(vivzmind)
+eldiman,1,1326,
+younger_human,0,1325,
+leg_hair,0,1325,
+bound_together,0,1325,tied_together
+ribbed_penis,0,1324,
+short_male,0,1323,
+nude_beach,0,1323,
+nude_anthro,0,1323,
+garland,0,1323,
+clothed_male_nude_male,0,1323,"cmnm,nmcm,nude_male_clothed_male"
+running_makeup,0,1322,runny_makeup
+noivern,5,1322,
+black_outline,0,1321,
+troll,5,1320,trolls
+fishnet_armwear,0,1320,
+brown_face,0,1320,
+cum_between_breasts,0,1319,cum_in_cleavage
+blue_text,0,1319,
+wavy_mouth,0,1318,
+green_theme,7,1318,
+holding_clipboard,0,1317,holding_clipboards
+wave,0,1316,waves
+pomeranian,5,1315,
+male_lactation,0,1314,
+big_sheath,0,1314,
+tile_floor,0,1313,"floor_tile,floor_tiles,tiled_floor"
+phalangeriform,5,1313,"australian_possum,phalangeriforme,phalangeriformes,possum"
+holding_arm,0,1313,
+thin_tail,0,1312,
+badgerclops,4,1311,"badger-clops,badger_clops,ultraclops"
+moose,5,1310,
+superbunnygt,1,1309,dreamcastzx1
+fluffy_chest,0,1309,
+business_suit,0,1309,
+bugs_bunny,4,1309,
+yveltal,5,1308,
+watermelon,0,1308,
+spiral,0,1308,
+scolipede,5,1308,
+prison_guard_position,0,1308,jail_guard_position
+brown_footwear,0,1308,
+internal_vaginal,0,1307,
+torch,0,1306,torches
+tempest_shadow_(mlp),4,1306,"fizzlepop_berrytwist,fizzlepop_berrytwist_(mlp)"
+penis_hug,0,1306,"cock_hug,hugging_penis"
+multiple_prey,0,1306,
+viper,5,1305,"viper_(species),viperae,viperid,viperidae,viperini"
+space_jam,3,1305,
+feline_pussy,0,1305,
+slit_penetration,0,1304,
+diaper_fetish,0,1304,
+roly,1,1303,
+pom_poms,0,1303,"pom-pom,pom-poms,pom-pon,pom-pons,pom_pom,pom_pon,pom_pons,pompom,pompoms,pompon,pompons"
+vimhomeless,1,1302,
+odd_taxi,3,1302,
+kacey,1,1302,"kacey_miyagami,kaceymiyagami"
+101_dalmatian_street,3,1302,
+mega_lopunny,5,1300,
+black_armwear,0,1300,
+skidd,1,1299,
+rosy_cheeks,0,1299,
+os,1,1298,joshua_frinkle
+humanoid_penetrating_anthro,0,1298,hd/p/a
+green_claws,0,1298,
+black_hoodie,0,1298,
+beach_umbrella,0,1298,
+ambient_sealife,5,1298,
+pentacle,0,1296,
+ocelot,5,1296,
+monotone_eyebrows,0,1296,
+chinchilla,5,1296,anthro_chinchilla
+midair,0,1295,airborne
+human_on_human,0,1295,"hn/o/hn,human/human"
+anus_only,0,1295,
+head_tilt,0,1294,"cocked_head,head_tilted,tilted_head"
+grey_markings,0,1294,"gray_marking,gray_markings,grey_marking"
+flick_(animal_crossing),4,1294,
+liquid,0,1292,
+brown_inner_ear,0,1292,
+six-stripe_rainbow_pride_colors,0,1291,
+long_nails,0,1290,
+barbell,0,1290,
+tall,0,1289,
+takara_tomy,3,1289,"tomy_(company),tomy_company,tomy_company_ltd,tomy_company_ltd."
+pond,0,1289,
+basketball_(ball),0,1289,
+ponification,0,1288,"ponified,rule_85"
+floating_hands,0,1288,
+yellow_tongue,0,1287,yellow_tounge
+wolfblade,1,1286,
+treasure,0,1286,
+purple_bottomwear,0,1286,violet_bottomwear
+pia-sama,1,1286,
+between_toes,0,1286,
+transformers,3,1285,"robots_in_disguise,the_transformers:_the_movie,the_transformers_the_movie,transformer,transformers:_cybertron,transformers:_cyberverse,transformers:_galaxy_force,transformers:_rid,transformers:_robots_in_disguise,transformers:_the_movie,transformers:_victory,transformers_(film),transformers_(movie),transformers_cybertron,transformers_cyberverse,transformers_film,transformers_galaxy_force,transformers_movie,transformers_rid,transformers_robots_in_disguise,transformers_the_movie,transformers_victory"
+police_officer,0,1285,
+pikachu_libre,4,1285,"libre_pikachu,masked_pikachu,pikachu_libre_outfit,pikachu_wrestler,wrestler_pikachu"
+nipple_tuft,0,1285,"furred_nipple,nipple_tufts"
+hornet_(hollow_knight),4,1285,
+zwitterkitsune,1,1284,
+evolutionary_family,0,1284,"evo_family,evo_line,evolution_family,evolution_line,evolutionary_line"
+elpatrixf,1,1283,
+echo_project,3,1283,
+tribal_spellcaster,0,1282,
+raymond_(animal_crossing),4,1282,
+polygonal_speech_bubble,0,1282,
+lactating_through_clothing,0,1282,
+ritts,1,1281,
+morgana_(persona),4,1281,
+belly_rub,0,1281,"belly_rubs,bellyrubs,rubbing_belly"
+chopsticks,0,1280,"chop_stick,chop_sticks,chopstick"
+stars_and_stripes,0,1279,"american_flag,usa_flag"
+serafuku,0,1279,sailor_fuku
+head_turned,0,1279,
+tailzkim,1,1278,tailz_kim
+starbound,3,1278,
+shotgun,0,1278,
+blood_on_face,0,1278,bloody_face
+glowing_nipples,0,1277,
+suit_symbol,0,1276,card_suit
+bottomwear_aside,0,1276,
+sun_hat,0,1275,sunhat
+purple_stripes,0,1274,
+nose_horn,0,1274,snout_horn
+wet_hair,0,1273,
+sex_in_water,0,1273,
+print_topwear,0,1273,
+user_avatar,0,1271,
+party_hat,0,1271,
+mud,0,1271,
+kissing_bough,0,1271,
+joelasko,1,1271,
+intersex/ambiguous,0,1271,"?/i,?/intersex,a/i,ambiguous/intersex,ambiguous_gender/intersex,ambiguous_gender_on_intersex,ambiguous_on_intersex,i/?,i/a,intersex/?,intersex/ambiguous_gender,intersex_on_ambiguous,intersex_on_ambiguous_gender"
+cherry_blossom,0,1271,cherry_blossoms
+braeburn_(mlp),4,1271,braeburn
+yellow_areola,0,1270,"yellow_areolae,yellow_areolas"
+veiny_knot,0,1270,
+throbbing_balls,0,1270,
+pattern_swimwear,0,1270,
+small_head,0,1268,
+skaven,5,1268,
+same-species_bestiality,0,1267,same_species_bestiality
+tight_bottomwear,0,1266,
+seal,5,1266,
+gideon_grey,4,1266,
+cartoon_hangover,3,1266,
+smaller_gynomorph,0,1265,smaller_dickgirl
+peeping,0,1265,
+bunnie_rabbot,4,1265,
+sticks_the_jungle_badger,4,1263,sticks_the_badger
+intestines,0,1263,"intestine,viscera"
+waaifu_(arknights),4,1262,
+thumbnail,7,1261,
+scrafty,5,1261,zuzurukin
+feather_tuft,0,1261,
+glowing_cum,0,1260,"nuclear_cum,radioactive_cum"
+cum_explosion,0,1260,
+feral_focus,0,1259,
+double_v_sign,0,1259,
+blue_glans,0,1259,
+wide_stance,0,1257,
+transparent_dildo,0,1257,translucent_dildo
+half_naked,0,1257,"half-nude,half_nude"
+absorption_vore,0,1257,"absorbtion_vore,absorption"
+narehate,5,1256,
+mug,0,1255,
+livestream,0,1255,
+sexual_competition,0,1254,
+flowey_the_flower,4,1254,flowey
+food_insertion,0,1253,
+the_truth,0,1252,truth
+paddle,0,1252,
+fully_submerged,0,1252,
+big_dildo,0,1252,large_dildo
+yasuyori,4,1251,
+tan_face,0,1251,
+penis_towards_viewer,0,1251,"cock_pointing_towards_viewer,penis_pointing_towards_viewer,penis_toward_viewer"
+litten,5,1251,
+hitachi_magic_wand,0,1251,"hitachi_wand,magic_wand_vibrator"
+do_not_distribute,0,1251,
+shower_head,0,1250,
+ankama,3,1250,
+quiver,0,1249,
+pregnant_intersex,0,1249,"pregnant_futa,pregnant_futanari"
+leib_(tas),4,1249,rave_(tas)
+comparing_penis,0,1249,
+runes,0,1248,
+jurassic_park,3,1248,
+hydra,5,1248,
+canid_taur,5,1248,
+teal_hair,0,1247,
+quadruple_amputee,0,1247,
+lounging,0,1247,
+fours_(artist),1,1247,fourssss
+chest_wraps,0,1247,"breast_wrap,breast_wraps,chest_wrap,sarashi"
+tears_of_pleasure,0,1246,
+bojack_horseman,3,1246,
+bad_dragon,3,1246,
+ridged_horn,0,1245,ridged_horns
+crab,5,1245,"blue_crab,crab_(animal),true_crab"
+cape_buffalo,5,1245,african_buffalo
+banjo_(banjo-kazooie),4,1245,"banjo_(banjo_kazooie),banjo_(banjokazooie),banjo_(bk),banjo_the_bear,banjo_the_honey_bear"
+american_mythology,3,1245,
+tiger_shark,5,1244,
+legs_in_air,0,1244,
+feeding,0,1244,
+fake_tail,0,1244,
+tabby_cat,5,1243,"tabbi_cat,tabby,tabby-cat,tabby_(cat)"
+mythological_sphinx,5,1243,"sphinx,sphinx_(myth),sphinx_(mythology)"
+cuphead_(game),3,1243,cuphead
+hyper_areola,0,1242,"hyper_areolae,hyper_areolas"
+multiple_piercings,0,1241,"every_piercing,multiple_piercing"
+mecha,0,1241,
+in_tree,0,1241,on_tree
+holding_ball,0,1241,
+eldritch_abomination,5,1241,eldritch_horror
+cumshot_in_mouth,0,1240,
+foreplay,0,1239,
+unwanted_cum_inside,0,1238,
+shane_frost,1,1238,
+sauropod,5,1238,
+genital_scar,0,1238,"genitalia_scar,scar_on_genital,scar_on_genitalia,scar_on_genitals,scarred_genital,scarred_genitalia,scarred_genitals"
+arania,1,1238,
+ubisoft,3,1237,"ubi_soft,ubi_soft_entertainment,ubi_soft_entertainment_sa,ubisoft_entertainment,ubisoft_entertainment_sa"
+happy_tree_friends,3,1237,htf
+chinese_zodiac,3,1237,
+bondage_gloves,0,1237,fist_mitts
+lamb_(cult_of_the_lamb),4,1236,
+chinese_dress,0,1236,"cheongsam,china_dress,chinadress,qipao"
+egyptian_headdress,0,1235,
+skateboard,0,1234,
+side-tie_panties,0,1234,side_tie_panties
+red_pupils,0,1234,
+mouse_humanoid,5,1233,"humanoid_mouse,nezumimimi"
+licking_cum,0,1233,"cum_lick,cum_licking"
+holding_game_controller,0,1233,
+cliff,0,1233,
+wolverine,5,1232,gulo
+vertical_diphallism,0,1232,o/u_diphallism
+red_stripes,0,1232,
+purple_highlights,0,1232,"purple_highlight,purple_streak,purple_streaks,violet_highlights"
+green_pawpads,0,1232,"green_paw_pad,green_paw_pads,green_pawpad"
+jcosneverexisted,1,1231,"jcoshooves,jcoshooves_(artist),jcosneverexisted_(artist)"
+immobile,0,1231,
+hook_hand,0,1231,
+cervical_contact,0,1231,cervix_kiss
+holding_balls,0,1230,
+azaleesh,1,1230,
+auto_penis_lick,0,1230,auto_penis_licking
+wind_waker,3,1229,
+nurse_hat,0,1229,nurse_cap
+long_mouth,0,1229,
+feet_first,0,1229,
+ear_penetration,0,1229,"aural_insertion,aural_penetration,aural_sex,ear_fuck,ear_insertion,ear_sex,earfuck,earsex"
+owl_demon,5,1228,
+interspecies_reviewers,3,1228,ishuzoku_reviewers
+sigh,0,1227,
+sacrificabominat,1,1227,
+driving,0,1227,
+tenno,5,1226,
+vdisco,1,1225,
+thin_eyebrows,0,1225,
+stretched_pussy,0,1225,
+hand_on_balls,0,1225,hands_on_balls
+spiky_hair,0,1224,"spiked_hair,spikey_hair"
+braided_ponytail,0,1224,
+madagascar_(series),3,1223,madagascar_3
+glowing_tongue,0,1223,
+boop,0,1223,booping
+red_deer,5,1222,
+interlocked_fingers,0,1222,
+featureless_hands,0,1222,
+striped_arms,0,1221,
+smoking_pipe,0,1221,
+red_scarf,0,1221,
+piranha_plant,5,1221,
+final_fantasy_vii,3,1221,
+yaroul,1,1220,
+monotone_balls,0,1220,
+mole_salamander,5,1220,"ambystoma,ambystomatid,ambystomatidae"
+black_jacket,0,1220,
+penis_awe,0,1219,cock_shock
+red_hat,0,1218,
+pit_bull,5,1217,pitbull
+glowing_pussy,0,1216,"glowing_cunt,glowing_labia,glowing_twat,glowing_vag,glowing_vagina,glowing_vulva"
+blind,0,1216,
+senz,1,1215,fireeagle2015
+feather_hands,0,1215,"feather_finger,feather_fingers,feather_hand,feathered_finger,feathered_fingers,feathered_hand,feathered_hands"
+raised_foot,0,1214,"feet_lift,feet_lifted,feet_lifting,feet_raised,foot_lift,foot_lifted,foot_lifting,foot_raised,foot_up,lift_feet,lift_foot,lifted_feet,lifted_foot,lifting_feet,lifting_foot,raised_feet"
+female_symbol,0,1214,"venus_symbol,♀"
+deltoids,0,1214,
+blue_spots,0,1214,
+2_fingers,0,1214,"2_figner,2_fignered,2_figners,2_finger,2_fingered,two_figner,two_fignered,two_figners,two_finger,two_fingered,two_fingers"
+name_tag,0,1213,nametag
+makarimorph,1,1213,
+holster,0,1212,
+donatello_(tmnt),4,1212,
+blue_pupils,0,1212,
+gold_tooth,0,1211,"gold_teeth,golden_teeth,golden_tooth"
+stubble,0,1210,
+shiuk,1,1210,
+bob_cut,0,1210,
+bloodshot_eyes,0,1210,
+ben_10,3,1210,"ben_10:_alien_force,ben_10:_omniverse,ben_10:_ultimate_alien,ben_10_(series),ben_10_alien_force,ben_10_omniverse,ben_10_ultimate_alien,ben_ten,ben_ten:_alien_force,ben_ten:_omniverse,ben_ten:_ultimate_alien,ben_ten_(series),ben_ten_alien_force,ben_ten_omniverse,ben_ten_ultimate_alien,ultimate_alien_(ben_10),ultimate_alien_(ben_ten)"
+bald_crotch,0,1210,hairless_pussy
+striped_shirt,0,1209,
+role_reversal,0,1209,
+ink,0,1209,
+dominant_pov,0,1209,
+shirou_ogami,4,1208,
+peril,0,1208,
+ambient_bird,5,1208,ambient_birds
+veiny_breasts,0,1207,
+header,0,1207,
+hands_in_both_pockets,0,1207,
+green_headwear,0,1207,
+black_hat,0,1207,
+grey_text,0,1206,gray_text
+callie_briggs,4,1206,
+blade,0,1206,
+thick_eyelashes,0,1205,"big_eyelashes,bushy_eyelashes,fluffy_eyelashes,large_eyelashes"
+morning_wood,0,1205,
+foo_dog,5,1205,"foo_lion,foodog,fu_dog,fu_lion"
+cum_in_a_cup,0,1205,"cum_in_cup,cum_in_drink,cum_in_glass,cup_of_cum,glass_of_cum"
+playstation,3,1204,play_station
+metal_collar,0,1204,
+inner_tube,0,1204,"inflatable_ring,innertube"
+edging,0,1203,
+trenchcoat,0,1202,trench_coat
+boo_(mario),5,1202,boo_(mario_bros)
+red_text,0,1201,
+armpit_play,0,1201,
+robin_hood,4,1199,
+female_rape,0,1199,
+canine_taur,5,1199,folftaur
+angstrom,1,1199,
+striped_legs,0,1198,
+resident_evil,3,1198,"resident_evil_2,resident_evil_3,resident_evil_4,resident_evil_5,resident_evil_6,resident_evil_dead_aim,resident_evil_outbreak,resident_evil_outbreak_file_2,resident_evil_revelations"
+forehead_markings,0,1198,"forehead_marking,foreheads_marking,foreheads_markings"
+skinny_tail,0,1197,
+on_desk,0,1197,
+hirundinid,5,1197,
+darkmirage,1,1197,quetzalli
+countershade_arms,0,1197,
+straw_hat,0,1195,strawhat
+paw_patrol,3,1195,
+hyper_cum,0,1195,
+ear_grab,0,1195,
+small_wings,0,1193,tiny_wings
+winte,1,1192,
+beagle,5,1192,
+tentacle_in_pussy,0,1191,
+glorp,0,1191,
+4:7,7,1191,
+suggestive_gesture,0,1190,"lewd_gesture,vulgar_gesture"
+rick_griffin,1,1190,rickgriffin
+purple_shirt,0,1190,
+skullgirls,3,1189,
+blouse,0,1189,
+vulpera,5,1188,
+red_pussy,0,1188,"red_cunt,red_labia,red_twat,red_vag,red_vagina,red_vulva"
+nezumi_(artist),1,1188,".pen.,nezumin,nezunezu"
+beach_towel,0,1188,
+totodile,5,1187,
+sepiruth,1,1187,
+little_red_riding_hood_(copyright),3,1187,
+gold_coin,0,1186,gold_coins
+puddle,0,1185,
+felkin,5,1185,
+hungry,0,1182,hunger
+dual_holding,0,1182,
+butt_blush,0,1182,
+mti_crossgender,0,1181,"male_to_intersex_crossgender,male_to_intersex_r63,male_to_intersex_rule_63,mti_r63,mti_rule_63"
+moogle,5,1181,
+intersex_on_top,0,1181,
+chart,0,1181,charts
+scarf_only,0,1180,"naked_scarf,nude_scarf"
+off/on,0,1180,on/off
+wave_the_swallow,4,1179,
+the_lion_guard,3,1179,
+earth,0,1179,
+red_pawpads,0,1178,"red_paw_pad,red_paw_pads,red_pawpad"
+helpless,0,1178,
+them's_fightin'_herds,3,1177,"tfh,them's_fightin_herds,thems_fightin'_herds,thems_fightin_herds"
+suicune,5,1177,
+nipple_clamp,0,1177,nipple_clamps
+knot_in_sheath,0,1177,
+kaka_(blazblue),5,1177,
+clawed_fingers,0,1177,
+afro,0,1175,
+link_(wolf_form),4,1174,wolf_link
+family_guy,3,1174,
+tush,1,1173,
+nargacuga,5,1173,"apex_nargacuga,blinking_nargacuga,lucent_nargacuga"
+street_lamp,0,1172,"lamp_post,lamp_posts,lamppost,lampposts,street_lamps,street_light,street_lights,streetlamp,streetlamps,streetlight,streetlights"
+monitor_lizard,5,1172,"goanna,monitor_(lizard),varanus"
+crate,0,1172,crates
+boob_hat,0,1172,"boobhat,breasts_on_head"
+jewel_buttplug,0,1171,princess_plug
+covered_eyes,0,1171,eyes_covered
+axolotl,5,1171,"axolomeh,mexican_salamander,mexican_walking_fish,mexico_salamander,mexico_walking_fish"
+vulture,5,1170,"condor,vultures"
+purple_anus,0,1170,
+living_tail,0,1170,sentient_tail
+wide_image,0,1169,
+non-mammal_anus,0,1167,
+genshin_impact,3,1167,
+emolga,5,1167,
+dacad,1,1167,scoua
+swallow_(bird),5,1166,swallow_(species)
+pteropodid,5,1166,"flying_fox,flying_fox_bat,fruit_bat,megabat,megachiroptera,megachiropteran,old_world_fruit_bat,pteropodidae,pteropodiform,pteropodiformes,yinpterochiroptera,yinpterochiropteran"
+feral_penetrating_female,0,1166,
+scythe,0,1165,
+cousins,0,1165,cousin
+cobondage,0,1165,
+binder_(restraint),0,1164,"bdsm_binder,binder_(bdsm),binder_(bondage),binder_restraint,bondage_binder,restraint_binder"
+writing_on_thigh,0,1163,
+towel_around_neck,0,1163,
+cocktail,0,1163,
+older_gynomorph,0,1162,older_dickgirl
+nubbed_penis,0,1162,"bumped_penis,bumpy_penis"
+nimbat,5,1162,
+whistle,0,1161,
+marble_pie_(mlp),4,1161,inkie_pie_(mlp)
+genital_growth,0,1161,
+creative_commons,3,1161,
+censored_genitalia,0,1161,
+pussy_juice_leaking,0,1160,
+ms_paint,0,1159,mspaint
+hairpin,0,1159,"hair_pin,hair_pins,hairpins"
+prodding,0,1158,
+hatching_(art),7,1158,"art_hatching,hatching_(style),hatching_(technique),hatching_style,hatching_technique"
+white-tailed_deer,5,1157,"virginia_deer,white_tail_deer,white_tailed_deer,whitetail_deer"
+tape_gag,0,1157,tapegag
+pink_highlights,0,1157,"pink_highlight,pink_streak,pink_streaks"
+sitting_on_another,0,1156,sitting_on_person
+siroc,1,1156,
+muscular_feral,0,1156,
+wrist_grab,0,1154,
+twistedscarlett60,1,1154,
+flower_(anatomy),0,1154,
+nozzle,0,1153,
+multiple_orgasms,0,1153,multiple_orgasm
+massage,0,1153,
+dark_pupils,0,1153,
+head_horn,0,1152,
+felid_taur,5,1152,"felitaur,spacekat-taur_(species)"
+aura,0,1152,
+red_border,0,1151,
+header_box,0,1151,
+multiple_penetration,0,1150,
+white_nipples,0,1149,white_nipple
+pet_bowl,0,1149,"cat-bowl,cat-bowls,cat-dish,cat-dishes,cat_bowl,cat_bowls,cat_dish,cat_dishes,catbowl,catbowls,catdish,catdishes,dog-bowl,dog-bowls,dog-dish,dog-dishes,dog_bowls,dog_dish,dog_dishes,dogbowl,dogbowls,dogdish,dogdishes,doggie-bowl,doggie-bowls,doggie-dish,doggie-dishes,doggie_bowl,doggie_bowls,doggie_dish,doggie_dishes,doggiebowl,doggiebowls,doggiedish,doggiedishes,doggy-bowl,doggy-bowls,doggy-dish,doggy-dishes,doggy_bowl,doggy_bowls,doggy_dish,doggy_dishes,doggybowl,doggybowls,doggydish,doggydishes,pet-bowl,pet-bowls,pet-dish,pet-dishes,pet_bowls,pet_dish,pet_dishes,petbowl,petbowls,petdish,petdishes"
+mysticalpha,1,1149,
+breathing,0,1149,
+behind_glass,0,1149,
+armadillo,5,1149,
+safe_sex,0,1148,protected_sex
+g-string,0,1148,"g_string,gstring"
+ball_worship,0,1147,
+sneasel,5,1146,sneasle
+feralized,0,1146,feralization
+lolita_(fashion),0,1144,"lolita,lolita_fashion"
+heart_print,0,1143,
+arthropod_webbing,0,1143,"arthropod_silk,arthropod_web,insect_silk,insect_web,insect_webbing,silk_web,silk_webbing,silkworm_silk,spider_silk,spider_thread,spider_threadding,spider_webbing,web_string,web_strings"
+swiss_mountain_dog,5,1142,"sennenhund,swiss_cattle_dog"
+living_fruit,5,1142,fruit_creature
+rov,1,1141,horserov
+dotted_background,0,1141,"dot_background,dot_bg,dots_background,dots_bg,dotted_bg,polka-dot_background,polka-dot_bg,polka-dots_background,polka-dots_bg,polka_dot_background,polka_dot_bg,polka_dots_background,polka_dots_bg,spotted_background,spotted_bg"
+carrot_(artist),1,1141,"smutmutt,werdna250250"
+hill,0,1140,hills
+grovyle,5,1140,
+6_arms,0,1140,"6_armed,six_armed,six_arms"
+miruko,4,1139,rumi_usagiyami
+black_face,0,1139,
+bimbofication,0,1138,
+beerus,4,1138,bills
+scroll,0,1137,scrolls
+path_lines,0,1137,
+leather_cuffs,0,1137,leather_cuff
+jirachi,5,1137,
+horkeu_kamui_(tas),4,1137,
+cum_on_head,0,1137,
+asthexiancal,1,1137,david_siegl
+sister_location,3,1136,"five_nights_at_freddy's_sister_location,fnaf_5,fnaf_sl,the_sister_location"
+level_difference,0,1136,
+fish_tail,0,1136,fishtail
+clubstripes,3,1136,club_stripes
+cerberus,5,1136,"cerberus_(species),kerberos"
+blue_fire,0,1136,blue_flame
+ran_yakumo,4,1135,yakumo_ran
+harness_ball_gag,0,1135,
+the_owl_house,3,1134,
+skyscraper,0,1134,skyscrapers
+lapras,5,1132,
+forced_transformation,0,1131,"forced_shifting,unwilling_transformation"
+short_anthro,0,1130,
+scappo,1,1130,scappo_(artist)
+popcorn,0,1130,
+penis_in_penis,0,1130,"cock_fucking,cockfucking"
+black_tie_(suit),0,1130,"black_tie_(dress_code),black_tie_(fashion),dinner_jacket,dinner_suit,le_smoking,le_smoking_jacket,le_smoking_suit,tuxedo"
+yellow_countershading,0,1128,
+virgin_killer_sweater,0,1128,
+clouded_leopard,5,1128,clouted_leopard
+wariza,0,1127,w_sitting
+revolver,0,1127,
+koopa_troopa,5,1127,
+sweatpants,0,1126,sweat_pants
+null_bulge,0,1126,
+intelligence_loss,0,1126,brain_drain
+growlithe,5,1126,
+gabumon,5,1126,
+asbel_lhant,1,1126,asbel_lhant_(artist)
+undercut,0,1125,
+benjamin_clawhauser,4,1125,"clawhauser,officer_clawhauser"
+white_nose,0,1124,
+komdog,1,1124,komponi
+faceless_ambiguous,0,1124,
+extended_leg,0,1124,
+onesie,0,1123,
+grimace,0,1123,grimacing
+ass_on_glass,0,1123,"ass_against_glass,butt_on_glass"
+rigby_(regular_show),4,1120,
+pudgy_belly,0,1120,
+jollyjack,1,1120,"jollyjack_(artist),phillip_m_jackson,phillip_m_jackson_(artist)"
+imminent_orgasm,0,1119,
+cold,0,1119,
+black_skirt,0,1119,
+atrolux,1,1119,clopper-dude
+teratophilia,0,1117,
+platform_sex,0,1117,
+holding_legs_up,0,1117,
+bernese_mountain_dog,5,1117,"berner_dog,berner_mountain_dog,berner_sennenhund,bernese_cattle_dog,bernese_sennenhund"
+anthro_dominating_human,0,1117,
+necklace_only,0,1116,naked_necklace
+lady_and_the_tramp,3,1116,
+orange_areola,0,1114,"orange_areolae,orange_areolas"
+breast_jiggle,0,1114,breast_jiggling
+puro_(changed),4,1113,
+ocarina_of_time,3,1113,
+moss,0,1113,
+mega_charizard,5,1113,
+insult,0,1113,"insulting,name_calling"
+thefuckingdevil,1,1112,"t03nemesis,tfd"
+inkblot,5,1112,
+bridge,0,1112,
+nicnak044,1,1111,
+google,3,1111,
+coco_pommel_(mlp),4,1111,coco_pommel
+brown_pants,0,1111,
+wet_panties,0,1108,
+angiewolf,1,1108,angiewolfartist
+2001,7,1108,
+gynomorph_on_bottom,0,1107,
+cellulite,0,1107,bumpy_ass
+two_row_layout,0,1106,
+superix,1,1106,"supersonicrulaa,xsuperix"
+peritian,1,1106,blueblur8lover
+blue_headwear,0,1106,
+breath_play,0,1105,breathplay
+>_<,0,1105,><
+grey_wings,0,1104,gray_wings
+ditto_(pokémon),5,1104,"ditto_(pokemon),ditto_pokemon,ditto_pokémon,pokemon_ditto,pokémon_ditto"
+cocker_spaniel,5,1104,
+kidnapping,0,1103,kidnapped
+elora,4,1103,
+poochyena,5,1102,
+pants_pull,0,1102,
+counter,0,1101,
+hand_in_underwear,0,1100,
+group_masturbation,0,1100,
+fridge,0,1100,refrigerator
+cream_heart_(mlp),4,1100,"button's_mom,button's_mom_(mlp),buttons_mom,buttons_mom_(mlp),cream_heart"
+salandit,5,1099,
+rainbowscreen,1,1099,
+pack_street,3,1099,
+gyrotech,1,1099,
+<3_pupils,0,1099,
+eyebrow_ring,0,1098,
+zummeng,1,1097,viktria
+slit_play,0,1097,slitplay
+kremling,5,1097,
+sweaty_feet,0,1096,sweaty_foot
+leash_and_collar,0,1096,
+drxii,1,1096,
+cosplay_pikachu_(character),4,1096,"clothes-changing_pikachu,clothes_changing_pikachu,clothing_changing_pikachu"
+anal_threading,0,1096,
+^_^,0,1096,^^
+zeiro,1,1095,
+pectoral_bulge,0,1095,chest_bulge
+ldr,1,1095,ldpony
+klaide,1,1095,"clade,clade_(artist),pcred566"
+greaves,0,1095,
+drinking_urine,0,1095,"drinking_pee,drinking_piss,piss_drinking,urine_drinking,urophagia"
+dipteran,5,1095,"animal_fly,bug_fly,diptera,dipterid,flies,fly_(animal),fly_(bug),fly_(insect),fly_insect,insect_fly"
+hot_dog,0,1094,hotdog
+belly_groan,0,1094,
+smolder_(mlp),4,1093,
+milotic,5,1093,
+pink_eyeshadow,0,1092,
+sitting_on_ground,0,1091,sitting_on_floor
+sash,0,1091,
+insane,0,1091,"crazy,insanity"
+glowing_horn,0,1091,glowing_horns
+yellow_pussy,0,1090,"yellow_cunt,yellow_labia,yellow_twat,yellow_vag,yellow_vagina,yellow_vulva"
+ribs,0,1090,
+purple_lips,0,1090,
+cave_story,3,1090,
+asari,5,1089,
+todex,1,1088,todex_(artist)
+french_text,7,1088,
+diamond_tiara_(mlp),4,1088,diamond_tiara
+master_po_ping,4,1087,"little_lotus_(kfp),little_lotus_(kung_fu_panda),master_po,po_(kfp),po_(kung_fu_panda)"
+keyhole_clothing,0,1087,"key-hole_clothes,key-hole_clothing,key_hole_clothes,key_hole_clothing,keyhole_clothes"
+iguanid,5,1087,"iguana,iguanidae"
+cyberpunk,0,1087,cyber_punk
+the_summoning,3,1086,
+smuttysquid,1,1086,"jroy101,smuttysquid_(artist)"
+mordecai_(regular_show),4,1086,
+kalnareff,1,1086,
+bathrobe,0,1086,"bath_robe,dressing_gown,dressing_robe,house_coat,housecoat,morning_gown,morning_robe"
+bared_teeth,0,1086,"baring_teeth,bearing_teeth,teeth_bared"
+ancient_art,7,1086,
+yellow_wings,0,1085,
+until_they_like_it,0,1085,
+galacticmichi,1,1085,"lllllmixlllll,llmixll,mix_(artist)"
+digby_(animal_crossing),4,1085,digby
+whisker_markings,0,1084,"whisker_marking,whisker_marks,whiskers_marking,whiskers_markings"
+infinite_genital_fluids,0,1084,"infinite_genital_fluid,infinite_genitalia_fluid,infinite_genitalia_fluids"
+belly_dancer,0,1084,"bellydance,bellydancer"
+scorpdk,1,1083,
+batman_(series),3,1083,
+youjomodoki,1,1082,
+emoji,0,1082,
+butt_cleavage,0,1082,ass_cleavage
+white_tail_tip,0,1081,
+unbuttoned,0,1081,
+dbaru,1,1080,
+silver_fox,0,1079,
+4_horns,0,1079,"4-horn,4-horned,4-horns,4_horn,4_horned,four-horn,four-horned,four-horns,four_horn,four_horned,four_horns,quad_horn,quad_horned,quad_horns,quadhorn,quadhorned,quadhorns,quadruple_horn,quadruple_horned,quadruple_horns"
+satisfied,0,1078,
+santa_costume,0,1078,santa_outfit
+gazelle_(zootopia),4,1078,
+boxing,0,1078,
+smeargle,5,1077,
+father_penetrating_son,0,1077,
+yellow_teeth,0,1076,
+type,1,1076,
+norithics,1,1076,
+fungi_fauna,5,1076,"animal_fungi_hybrid,animal_fungus_hybrid,animal_mushroom_hybrid,fauna/fungi,fauna/fungus,fauna/mushroom,fauna_fungi,fauna_fungus,fauna_mushroom,fungi/fauna,fungi_boy,fungi_girl,fungus/fauna,fungus_boy,fungus_fauna,fungus_girl,living_fungi,living_fungus,living_mushroom,mushroom/fauna,mushroom_boy,mushroom_fauna,mushroom_girl"
+circle_eyebrows,0,1076,"circle_eyebrow,circular_eyebrows,dot_eyebrows,eyebrow_dot,eyebrow_dots,round_eyebrows"
+blue_swimwear,0,1076,"blue_swimsuit,cyan_swimsuit,cyan_swimwear"
+alvin_and_the_chipmunks,3,1076,chipettes
+felching,0,1075,
+cum_on_partner,0,1075,
+black_socks,0,1075,
+amulet,0,1075,
+head_flower,0,1074,
+hair_between_eyes,0,1074,
+black_eyeshadow,0,1074,
+bean_bag,0,1074,"bean_bag_chair,beanbag,beanbag_chair"
+urethral_bulge,0,1073,
+claire_(the_summoning),4,1073,
+standing_in_water,0,1072,
+legs_over_edge,0,1072,
+gouryou,4,1072,
+exhausted,0,1072,
+dual_wielding,0,1072,"dual_wield,duel_wield,duel_wielding"
+intersex_on_human,0,1071,
+camo_print,0,1071,
+red_bandanna,0,1070,
+if_hell_had_a_taste,3,1070,
+flower_garland,0,1070,
+buckle,0,1070,buckles
+ultilix,1,1069,
+eurasian_red_squirrel,5,1069,
+cumming_together,0,1069,
+chao_(sonic),5,1069,chao
+glistening_nipples,0,1068,"glistening_nipple,shiny_nipple,shiny_nipples"
+feet_together,0,1068,
+living_insertion,0,1067,
+hose_inflation,0,1067,
+basketball,0,1067,basket_ball
+yellow_shirt,0,1066,
+wrestling_singlet,0,1066,
+angel_(lilo_and_stitch),4,1066,"angel_(624),angel_(l&s),angel_(las),angel_(lilo_&_stitch),angel_(stitch),experiment_624"
+youtuber,0,1065,
+yellow_inner_ear,0,1065,
+stated_sexuality,0,1065,
+letter,0,1065,
+head_spikes,0,1065,
+delivery_(commerce),0,1065,"commerce_delivering,commerce_delivery,delivering_(act),delivering_(action),delivery_(act),delivery_(action),delivery_(service),delivery_service"
+red_mane,0,1064,
+plankboy,1,1064,
+loincloth_aside,0,1064,
+galarian_form,5,1064,
+dripping_pussy,0,1064,
+punishment,0,1063,
+pearl_(splatoon),4,1063,
+marik_azemus34,1,1063,marikazemus34
+shoulder_blades,0,1062,
+audie_(animal_crossing),4,1062,
+soraka,4,1061,
+internal_anal,0,1061,
+hand_under_leg,0,1061,
+momiji_inubashiri,4,1060,"inubashiri_momiji,inubashiri_momizi"
+kaboozey,1,1060,
+hypno_(pokémon),5,1060,hypno_(pokemon)
+athletic_intersex,0,1060,
+two_subs_one_dom,0,1059,one_dom_two_subs
+paladins,3,1059,
+defeated,0,1059,
+conker's_bad_fur_day,3,1059,"conker's_live_and_reloaded,conkers_bad_fur_day"
+banner,0,1059,banners
+character_request,7,1058,
+backlighting,0,1058,"back_light,back_lighting,back_lit,backlight,backlit"
+apple_inc.,3,1058,
+staggering_(layout),0,1057,
+mastectomy_scar,0,1057,"mastectomy_scars,top_surgery_scar,top_surgery_scars"
+animal_mask,0,1057,
+0r0ch1,1,1057,"omen,orochi,shin0r0z"
+lamniform,5,1055,"lamniformes,mackerel_shark"
+jurassic_world,3,1055,
+interspecies_domination,0,1055,zebra_domination
+reddened_butt,0,1054,"reddened_ass,reddened_booty"
+littlest_pet_shop,3,1054,lps
+switch_dog,4,1053,
+lube_bottle,0,1053,
+it'll_never_fit,0,1053,it_will_never_fit
+bull_terrier,5,1053,"bullterrier,english_bull_terrier"
+looking_at_mirror,0,1052,looking_in_mirror
+accidental_exposure,0,1052,
+tasque_manager,4,1051,
+pink_lipstick,0,1051,
+orange_beak,0,1051,
+repeated_text,0,1050,
+bullying,0,1050,
+anti_dev,1,1050,
+redrusker,1,1049,
+arm_under_breasts,0,1049,arms_under_breasts
+wedgie,0,1048,
+llama,5,1048,
+housepets!,3,1048,
+swim_ring,0,1046,
+steven_universe,3,1046,steven_universe_(series)
+pokefound,1,1046,
+nintendo_controller,0,1046,
+legendary_duo,0,1046,
+hungothenomster,1,1046,"hungothenomster_(artist),notime4fear"
+grey_face,0,1046,gray_face
+amazon_position,0,1046,"the_amazon,the_amazon_position"
+mudkip,5,1045,
+marie_(splatoon),4,1045,
+ass_to_mouth,0,1045,
+lifeguard,0,1044,life_guard
+bittenhard,1,1044,
+rolled_up_sleeves,0,1042,"rolled_sleeves,sleeves_rolled_up"
+narrow_tail,0,1042,
+faun_(spyro),5,1042,
+body_in_mouth,0,1042,
+wereeulipotyphlan,5,1041,
+suggestive_food,0,1041,
+micropenis,0,1041,micro_penis
+breath_cloud,0,1041,
+assault_rifle,0,1041,
+zebstrika,5,1040,
+vase,0,1040,vases
+puppyplay,0,1040,"pup_play,puppy_play"
+neon_lights,0,1040,neon_light
+multi_tone_fur,0,1040,
+living_clothing,5,1040,"living_clothes,living_suit"
+leaf_hair,0,1040,
+breaking_the_fourth_wall,0,1040,"4th_wall,breaking_the_4th_wall,fourth_wall,fourth_wall_break"
+werehog,5,1039,"were_hedgehog,were_hog,werehedgehog"
+trash,0,1039,"garbage,rubbish"
+translucent_swimwear,0,1039,"see-through_swim_suit,see-through_swimsuit,see-through_swimwear,see-thru_swim_suit,see-thru_swimsuit,see-thru_swimwear,see_through_swim_suit,see_through_swimsuit,see_through_swimwear,see_thru_swim_suit,see_thru_swimsuit,see_thru_swimwear,sheer_swim_suit,sheer_swimsuit,sheer_swimwear,translucent_swimsuit,transparent_swim_suit,transparent_swimsuit,transparent_swimwear"
+hoop_ear_ring,0,1038,"hoop_earring,hoop_earrings"
+head_between_breasts,0,1038,head_in_cleavage
+butt_slap,0,1038,"ass_slapping,butt_slapping,slapping_ass,slapping_butt"
+waist_grab,0,1037,
+vibrator_in_pussy,0,1037,vaginal_vibrator
+scratching,0,1037,
+public_masturbation,0,1037,
+pokémon_fusion,0,1037,"fusion_pokemon,fusion_pokémon,pokefusion,pokemon_fusion,pokéfusion"
+playing_card,0,1037,playing_cards
+multi_tone_body,0,1037,
+fully/fully_submerged,0,1037,
+blue_countershading,0,1037,cyan_countershading
+white_pussy,0,1036,"white_cunt,white_labia,white_twat,white_vag,white_vagina,white_vulva"
+tojo_the_thief,1,1036,"tojo-the-thief,tojo-the-thief_(artist),tojo_the_thief_(artist),tojothethief,tojothethief_(artist)"
+striped_scales,0,1036,
+lilo_pelekai,4,1036,"lilo_(l&s),lilo_(las),lilo_(lilo_&_stitch),lilo_(lilo_and_stitch),lilo_(stitch)"
+sunbeam,0,1035,"beam_of_sunlight,beams_of_sunlight,crepuscular_ray,crepuscular_rays,god_ray,godray,ray_of_sunlight,rays_of_sunlight,sun_beam,sun_ray,sun_shaft,sun_shafts,sunbeams,sunlight_beam,sunlight_beams,sunlight_ray,sunlight_rays,sunray,sunshaft,sunshafts"
+multicolored_wings,0,1035,multi-colored_wings
+excessive_feces,0,1035,
+blonde_mane,0,1035,"blond_mane,yellow_mane"
+wince,0,1034,wincing
+reverse_forced_oral,0,1034,
+multi_wing,0,1034,"multi-wing,multi-wings,multi_wings,multiple_wing,multiple_wings"
+savanna,0,1033,savannah
+samoyed,5,1033,"bjelkier,nenetskaya_laika,samoiedskaya_sobaka"
+rattata,5,1033,
+implied_incest,0,1033,
+doxy,1,1033,onta
+bulletproof_vest,0,1033,"bullet_proof_vest,kevlar_vest,tactical_vest"
+in_mouth,0,1032,
+hearts_around_text,0,1032,
+bodyguard_position,0,1032,
+police_hat,0,1031,
+red_panties,0,1030,
+making_out,0,1030,make_out
+knee_boots,0,1030,"knee-boot,knee-boots,knee-high_boot,knee-high_boots,knee_boot,knee_high_boot,knee_high_boots,kneeboot,kneeboots,kneehigh_boot,kneehigh_boots"
+aphrodisiac,0,1030,
+holding_underwear,0,1029,
+tray,0,1028,
+pride_color_flag,0,1028,
+fupa,0,1028,
+fantasizing,0,1028,
+arthropod_abdomen_genitalia,0,1028,"abdomen_genitalia,abdomen_genitals,arthropod_abdomen_genitals,invertebrate_abdomen_genitalia"
+mantis,5,1027,"mantid,praying_mantis"
+darkflash23,1,1027,
+curled_up,0,1027,
+presenting_cloaca,0,1026,
+orgasm_from_oral,0,1026,
+cock_transformation,0,1026,"cock_tf,cocktf,cocktransformation,ctf,penis_transformation"
+pear-shaped_figure,0,1025,"pear-bodied,pear-bodied-figure,pear-bodied_figure,pear-body,pear-body-figure,pear-body_figure,pear-shape,pear-shape-figure,pear-shape_figure,pear-shaped,pear-shaped-figure,pear_bodied,pear_bodied-figure,pear_bodied_figure,pear_body,pear_body-figure,pear_body_figure,pear_shape,pear_shape-figure,pear_shape_figure,pear_shaped,pear_shaped-figure,pear_shaped_figure,pearbodied,pearbody,pearshape,pearshaped"
+leomon,5,1025,"dark_leomon,liomon"
+jack_(beastars),4,1025,
+flora_(twokinds),4,1025,flora_(leoian)
+electronic_arts,3,1025,"ea_(company),ea_all_play,ea_cgd,ea_competitive_gaming_division,ea_games,ea_sports,ea_worldwide_studios,electronic_arts_inc,electronic_arts_inc.,electronic_arts_incorporated,electronic_arts_sports_network"
+writing_on_belly,0,1024,
+ymbk,1,1023,
+treasure_chest,0,1023,
+soccer_ball,0,1023,
+pleated_skirt,0,1023,
+oil,0,1023,
+neck_bow,0,1023,
+chespin,5,1023,
+xenoforge,1,1022,"dog-bone,dog-bone_(artist),dog_bone,dog_bone_(artist),dogbone,dogbone_(artist),dogboneartwork,dogboneartwork_(artist),xenoforge_(artist)"
+tsundere,0,1022,
+sharpclaw,5,1022,
+purple_and_white,7,1022,white_and_purple
+giratina,5,1022,
+decidueye,5,1022,
+zaush,1,1021,"adam_wan,adam_wan_(artist),zaush_(artist)"
+tikal_the_echidna,4,1021,
+detachable,0,1021,
+religion,0,1020,religious
+eric_schwartz,1,1020,
+cum_on_perineum,0,1020,cum_on_taint
+wfa,1,1019,
+eating_feces,0,1019,"coprophagia,eating_shit,poop_eating,scat_eating,shit_eating"
+circumcision_scar,0,1019,
+vehicle_for_hire,0,1018,
+science,0,1018,
+grey_spots,0,1018,gray_spots
+thylacine,5,1017,"tasmanian_tiger,tasmanian_wolf,tazmanian_tiger,tazmanian_wolf"
+roaring,0,1017,roar
+pink_horn,0,1017,pink_horns
+sandy_cheeks,4,1016,
+um_jammer_lammy,3,1015,
+twin_hair_bows,0,1014,
+tai_l_rodriguez,1,1014,"sombrapie,tai-l-rodriguez,tai_lung_(artist),tailung"
+playing_guitar,0,1014,
+in_container,0,1014,
+tree_squirrel_humanoid,5,1013,
+drunk_bubble,0,1013,drunk_bubbles
+wanderlust,3,1012,
+rudragon,1,1012,phation
+enigi09,1,1012,
+cum_in_cloaca,0,1012,
+tentacle_ovipositor,0,1011,"egg_laying_tentacle,egg_laying_tentacles"
+out-of-placers,3,1011,out_of_placers
+blue_eyebrows,0,1011,
+too_much,0,1010,
+magic_circle,0,1010,spell_circle
+splash,0,1009,splashing
+red_wolf,5,1009,redwolf
+monotone_skin,0,1009,"mono-tone_skin,mono_tone_skin"
+hatterene,5,1009,
+face_mask,0,1009,facemask
+demicoeur,1,1009,
+black_boots,0,1009,
+balcony,0,1009,
+montgomery_gator_(fnaf),4,1008,
+hand_on_own_butt,0,1007,"hand_on_own_ass,hand_on_own_booty,hands_on_own_ass,hands_on_own_booty,hands_on_own_butt"
+on_hind_legs,0,1006,rearing
+muscular_human,0,1006,
+fasttrack37d,1,1006,
+city_background,0,1006,
+wendy_o._koopa,4,1005,"kootie_koopa,kootie_pie_koopa,wendy_koopa,wendy_o'_koopa,wendy_o_koopa"
+ribbon_bondage,0,1005,
+pseudo_mane,0,1004,"fake_mane,pseudo-mane,pseudomane"
+master_splinter,4,1004,
+ecmajor,1,1004,
+wolfy-nail,1,1003,wolfy_nail
+r-mk,1,1003,
+blue_dress,0,1003,cyan_dress
+speed_lines,0,1002,
+soiling_diaper,0,1002,diaper_soiling
+shoulder_grab,0,1002,
+pussy_tape,0,1002,
+pouting,0,1002,pout
+on_surface,0,1002,
+obscured_eyes,0,1002,
+kimacats,1,1002,
+grey_stripes,0,1002,gray_stripes
+abluedeer,1,1002,"a_blue_deer,abd,abd_artist"
+infinite_cum,0,1000,
+genital_mutilation,0,1000,
+cum_in_underwear,0,1000,
+missing_arm,0,999,amputee_arm
+synth_(vader-san),5,998,"synth_(vader_san),synth_(vadersan)"
+purple_lipstick,0,998,violet_lipstick
+mega_man_(series),3,998,megaman_(series)
+blue_sky_studios,3,998,
+walter_sache,1,997,"wsache007,wsache2020"
+computer_mouse,0,997,mouse_(computer)
+sicmop,1,996,
+chocobo,5,996,
+body_horror,0,996,
+kilinah,1,995,"kililewd,kony_kon,konykon"
+grasp,0,995,
+underwear_sniffing,0,994,"panty_sniffing,sniffing_underwear"
+tan_areola,0,994,"beige_areola,beige_areolae,beige_areolas,cream_areola,cream_areolae,cream_areolas,peach_areola,peach_areolae,peach_areolas,tan_areolae,tan_areolas"
+liger,5,994,"liger_(species),ligress,lion_tiger"
+jay_naylor,1,994,"fisk,fisk_(artist),jay_naylor_(artist),jaydrawins"
+bong,0,994,
+purple_border,0,993,
+leaning_on_wall,0,993,
+thundercats,3,992,
+ratte,1,992,"ratte_(artist),silasagnostos,silasagnostos_(artist)"
+map,0,992,
+latex_legwear,0,992,
+blaze_(marking),0,992,"blaze_(markings),blaze_marking,blaze_markings,blaze_stripe,horse_blaze"
+purple_glans,0,991,
+before_and_after,0,991,
+wind_instrument,0,990,
+texnatsu,3,990,
+confetti,0,990,
+brown_pussy,0,990,"brown_cunt,brown_labia,brown_twat,brown_vag,brown_vagina,brown_vulva"
+stable,0,989,stables
+pointing_at_self,0,989,"pointing_at_herself,pointing_at_himself,pointing_to_self"
+ori_(series),3,989,
+navel_fetish,0,989,
+cursedmarked,1,989,hawtcherry
+pussy_outline,0,988,
+dream_and_nightmare,1,988,dreamandnightmare
+whisperfoot,1,987,whisperfoot_(artist)
+maldu,1,987,
+translated_description,7,986,
+submissive_feral,0,986,feral_dominated
+photo_manipulation,7,986,photomanipulation
+guardian_spirit,5,986,
+groping_from_behind,0,986,grope_from_behind
+blaidd_(elden_ring),4,986,
+xenophilia,0,985,
+lying_on_ground,0,985,
+star_eyes,0,984,
+leather_daddy,0,984,
+studded_collar,0,982,
+percussion_instrument,0,982,percussion_instruent
+gyro_feather,4,982,
+cum_taste,0,982,
+commercial_vehicle,0,982,commercial_motor_vehicle
+cemetery,0,982,"cemetary,graveyard"
+wallaby,5,981,
+tank,0,981,
+straining,0,981,
+serious,0,980,
+pachirisu,5,980,
+muffin,0,980,muffins
+krogan,5,980,
+between_legs,0,980,
+angel_(mlp),4,980,"angel_bunny,angel_bunny_(mlp)"
+forward_arm_support,0,979,
+argento,1,979,sonicboom53
+adult_swim,3,979,"[adult_swim],adult-swim"
+striped_skin,0,978,stripped_skin
+speaker,0,978,speakers
+ovum_with_heart,0,978,
+cloaca_juice,0,978,"cloaca_fluid,cloaca_fluids,cloaca_juices,cloacal_fluid,cloacal_fluids,cloacal_juice,cloacal_juices"
+squirtle,5,977,
+orb,0,977,
+herm_penetrating_female,0,977,h/p/fm
+rukis,1,976,
+lysergide,1,976,
+drip_effect,0,976,
+brick,0,976,bricks
+tom_and_jerry,3,975,tom_&_jerry
+pink_footwear,0,975,
+miltank,5,975,
+looking_at_butt,0,975,"looking_at_ass,looking_at_booty"
+fidget_(elysian_tail),4,975,
+xylas,1,974,xxylas
+blitzdrachin,1,974,"asmonese,blitzdrachin_(artist),sifyro_(artist)"
+armbinder,0,974,"arm_binder,arm_binders,armbinders"
+arbok,5,974,
+whisper_the_wolf,4,973,
+solatorobo,3,973,"solatorobo:_red_the_hunter,solatorobo_red_the_hunter"
+mellonsoda,1,973,qnrhks0627
+honey_(food),0,973,
+emenius,1,973,op2
+clone,0,973,clones
+malicekira,1,972,
+club_(weapon),0,972,
+bubble_gum,0,972,bubblegum
+spotted_skin,0,971,
+panicking,0,971,"panic,panic_(emotion),panicked"
+larid,5,971,laridae
+jinti_(artist),1,971,"jin&tonic,jintonic"
+black_hands,0,971,
+fearingfun,1,970,
+nerd,0,969,nerdy
+color_coded_speech_bubble,0,969,
+tail_gesture,0,968,
+spontaneous_ejaculation,0,968,"spontaneous_ejaculate,spontaneous_orgasm,sudden_ejaculate,sudden_ejaculation,sudden_orgasm,surprise_ejaculate,surprise_ejaculation,surprise_orgasm"
+riendonut,1,967,thereigndeer
+evening,0,966,
+what_has_magic_done,0,965,
+gift_wrapped,0,965,
+parasitedeath,1,964,parasitecute
+metal_(artist),1,964,metal-kitty
+force_feeding,0,964,"force_fed,forced_fed,forced_feeding,forcefeeding"
+burgerkiss,1,964,burgerkiss_(artist)
+stomach_hair,0,963,
+shower_sex,0,963,
+prosthetic_leg,0,963,"leg_prostheses,leg_prosthesis,leg_prosthetic,leg_prosthetics,prosthetic_legs"
+chips_(food),0,963,crisps
+tiger_humanoid,5,962,humanoid_tiger
+barcode,0,962,bar_code
+tube,0,961,
+tsudamaku,1,961,"abstractcactus,crystalshen,lyndoi,lyndoi227,makku,makku-nsfw,makkusucks,nsfw-crystalshen"
+sleeves,0,961,
+mattel,3,961,
+fur_trim_(clothing),0,961,
+fixed_toy,0,961,
+snot,0,960,phlegm
+innuendo,0,960,
+corruption_of_champions,3,960,
+teeth_visible,0,959,
+politics,0,959,"political,politician,politicians"
+pizza_box,0,959,
+neckwear,0,959,
+keyhole_turtleneck,0,959,open-chest_sweater
+elateroid,5,959,"elateroidea,elateroidean"
+churn,0,959,
+v-cut,0,958,"adonis_belt,apollo's_belt,appolo's_belt,iliac_furrow,inguinal_crease,v-muscle,v_cut,v_muscle"
+training_bra,0,958,
+telekinesis,0,958,
+suckling,0,958,suckle
+shibeta,4,958,
+ruby_(gem),0,958,
+brushing,0,958,"brushing_self,combing,self_brushing"
+multicolored_legwear,0,957,
+monotone_butt,0,957,"mono-tone_ass,mono-tone_booty,mono-tone_butt,mono_tone_ass,mono_tone_booty,mono_tone_butt,monotone_ass,monotone_booty"
+handjob_while_penetrating,0,957,
+tentacle_around_leg,0,956,
+raised_paw,0,956,"lift_paw,lift_paws,lifted_paw,lifted_paws,lifting_paw,lifting_paws,paw_lift,paw_lifted,paw_lifting,paw_raised,paw_up,paws_lift,paws_lifted,paws_lifting,paws_raised,paws_up,raised_paws"
+prostate_stimulation,0,956,prostate_massage
+pocketpaws,1,956,
+multicolored_footwear,0,956,
+laboratory_equipment,0,956,
+hospital,0,956,clinic
+glamrock_chica_(fnaf),4,956,
+straight_leg,0,955,
+stocky,0,955,
+sbshouseofpancakes,1,955,"samboga,sbsminifridge"
+sable_able,4,955,
+mokdai,4,955,
+wakfu,3,954,
+tail_hug,0,954,hugging_tail
+red_and_white,7,954,white_and_red
+jumpstart_games,3,954,"jump_start_games,jump_start_games_inc,jump_start_games_inc.,jump_start_games_incorporated,jumpstart_games_inc,jumpstart_games_inc.,jumpstart_games_incorporated,knowledge_adventure,knowledge_adventure_inc,knowledge_adventure_inc.,knowledge_adventure_incorporated"
+firefly,5,954,"fire_flies,fire_fly,fire_flys,fireflies,fireflys,lampyrid,lampyridae,lampyridaen,lightning_bug,lightning_bugs"
+claw_marks,0,954,clawmarks
+smooth_horn,0,953,smooth_horns
+sleeveless,0,953,
+mega_lucario,5,953,megalucario
+horizontal_staggering,0,953,
+exveemon,5,953,xveemon
+drowning,0,953,drown
+wasp,5,952,
+tail_genitals,0,952,tail_genitalia
+neopets,3,952,"neo_pet,neo_pets,neopet"
+hand_on_chin,0,952,
+fire_emblem,3,952,
+toothy_grin,0,951,
+snake_humanoid,5,951,
+pride_color_clothing,0,951,"pride_clothing,pride_colors_clothing,pride_colour_clothing,pride_colours_clothing,pride_flag_clothing"
+kingdom_hearts,3,951,
+hyper_feces,0,951,"hyper_scat,hyperfeces,hypermess,hyperscat"
+holding_tool,0,951,holding_tools
+heart_underwear,0,951,<3_underwear
+landscape_dwarfing,0,950,
+komodo_dragon,5,950,"komodo,komodo_monitor"
+hololive,3,950,
+gull,5,950,"gulls,sea_gull,seagull,seagulls"
+ych_result,0,949,
+worm,5,949,worms
+kazooie,4,949,
+holding_pokéball,0,949,"holding_poke_ball,holding_pokeball,holding_poké_ball"
+gerudo,5,949,
+red_eyebrows,0,948,
+purple_panties,0,948,
+meloetta,5,948,
+horseshoe,0,948,"horse_shoe,horse_shoes,horseshoes"
+faint,1,948,
+mettaton,4,947,
+lepidopteran_wings,0,947,"butterfly_wing,butterfly_wings,moth_wing,moth_wings"
+gynomorph_on_human,0,947,"dickgirl_on_human,gynomorph/human"
+feet_up,0,947,
+au_ra,5,947,
+raised_heel,0,946,"heel_lift,heel_lifted,heel_lifting,heel_raised,heel_up,heels_lift,heels_lifted,heels_lifting,heels_raised,heels_up,lift_heel,lift_heels,lifted_heel,lifted_heels,lifting_heel,lifting_heels,raised_heels"
+groping_breasts,0,946,
+cross_necklace,0,946,
+angry_sex,0,946,
+team_rocket,3,945,
+spelunker_sal,1,945,spelunkersal
+python,5,945,"pythonid,pythonidae"
+on_grass,0,945,
+necrophilia,0,945,
+mommy_kink,0,945,
+handcuffed,0,945,
+grid_layout,0,945,
+bamboo,0,945,
+tsampikos,1,944,"ahtu,tsampikos_(artist),tsamxxx,tsamxxx_(artist)"
+truegrave9,1,944,truegrave
+gynomorph/ambiguous,0,944,"?/d,?/dickgirl,?/gm,a/d,ag/gm,ambiguous/dickgirl,ambiguous/gynomorph,ambiguous_gender/dickgirl,ambiguous_gender_on_dickgirl,ambiguous_on_dickgirl,ambiguous_on_gynomorph,d/?,d/a,dickgirl/?,dickgirl/ambiguous,dickgirl/ambiguous_gender,dickgirl_on_ambiguous,dickgirl_on_ambiguous_gender,gm/?,gm/ag,gynomorph_on_ambiguous"
+crash_team_racing_(series),3,944,
+toy_freddy_(fnaf),4,943,
+sandslash,5,943,
+raised_leg_grab,0,943,
+blue_collar,0,943,
+ych_(character),4,942,
+countershade_butt,0,942,"countershade_ass,countershade_booty"
+winnie_the_pooh_(franchise),3,941,winnie_the_pooh
+tricksta,1,941,"baginazard,tricksta_(artist)"
+haychel,1,941,
+hand_on_own_hip,0,941,
+grey_pawpads,0,941,"gray_paw_pad,gray_paw_pads,gray_pawpad,gray_pawpads,grey_paw_pad,grey_paw_pads,grey_pawpad"
+blue_face,0,941,
+socks_only,0,940,naked_socks
+leg_wraps,0,940,
+screwingwithsfm,1,939,
+penis_humiliation,0,939,penis_shaming
+glistening_areola,0,939,"glistening_areolae,glistening_areolas,shiny_areola,shiny_areolae,shiny_areolas"
+x-com,3,938,"x-com_2,xcom,xcom_2"
+tight_topwear,0,938,
+sega_toys,3,938,
+pirate_tawna,4,938,
+blues64,1,938,
+drako1997,1,937,drako1997_(artist)
+scabbard,0,936,
+newspaper,0,936,"news_paper,news_papers,newspapers"
+long_horn,0,936,long_horns
+grazing_antelope,5,936,"hippotraginae,hippotragine"
+cum_on_ear,0,936,cum_on_ears
+studio_klondike,3,935,
+infestation,0,935,infested
+hot_tub,0,935,"hot-tub,hottub,jacuzzi"
+bouncing,0,935,
+back_groove,0,935,
+thigh_markings,0,934,"thigh_marking,thighs_marking,thighs_markings"
+loveslove,1,934,
+harmarist,1,934,
+desperation,0,934,desperate
+bomb,0,934,
+laser,0,933,"lasers,lazer,lazers"
+subtitled,0,932,"subtitle,subtitles"
+li_li_stormstout,4,932,"li-li_stormstout,lili_stormstout"
+face_mounting,0,932,
+red_pandaren,5,931,
+lizardman,5,931,lizardmen
+light_face,0,931,
+knot_fucking,0,931,knotfucking
+inanimate_object,5,931,
+grape,0,931,grapes
+sexfight,0,930,
+red_legwear,0,930,
+print_panties,0,930,
+mixed_breed,5,930,
+striped_genitalia,0,929,
+posexe,1,929,
+pink_dress,0,929,
+el-loko,1,929,el-doc
+bare_breasts,0,929,
+nekojishi,3,928,
+earbuds,0,928,ear_buds
+announcing_orgasm,0,928,
+vibrator_in_ass,0,927,
+medieval,0,927,
+clothed_female,0,927,
+tombstone,0,926,"gravestone,headstone"
+thinking_with_portals,0,926,
+pit_viper,5,926,"crotalinae,crotaline_snake,pit_adder"
+tribal_tattoo,0,925,tribal_tattoos
+open_frown,0,925,open_mouth_frown
+o_o,0,925,"0_0,o.o"
+keyhole_underwear,0,925,"key-hole_underwear,key_hole_underwear"
+jet,0,925,fighter_jet
+iskra,1,925,
+holding_flag,0,925,holding_flags
+frumples,1,925,"fluffy_frumple,fluffy_frumples,fluffyfrumples,frumple,purpl_puss,purplpuss"
+dreiker,1,925,
+asura,5,925,
+rockruff,5,924,iwanko
+exposed_endoskeleton,0,924,
+dipodid,5,924,dipodidae
+penis_on_head,0,923,
+keith_keiser,4,923,keith_(twokinds)
+gallade,5,923,shiny_gallade
+cyancapsule,1,923,
+seth-iova,1,922,"leosaeta,seth_iova"
+passionate,0,922,passion
+motion_onomatopoeia,0,922,motion_onomatopeia
+katie_hofgard,1,922,"eskiworks,katiehofgard,wolf-nymph"
+translucent_topwear,0,921,"see-through_topwear,see-thru_topwear,see_through_topwear,see_thru_topwear,sheer_topwear,transparent_topwear"
+street_fighter,3,921,"street_fighter_alpha,street_fighter_i,street_fighter_ii,street_fighter_iii,street_fighter_iv,street_fighter_zero"
+redout,1,921,
+red_crown_(cult_of_the_lamb),4,921,
+predator_(franchise),3,921,
+ovaries,0,921,ovary
+multiple_ova,0,921,
+ankle_strap_heels,0,921,
+santa_claus,4,920,santa
+lineup,0,920,line_up
+gas,0,920,
+dresser,0,920,
+cord,0,920,
+command,0,920,
+twintails_(hairstyle),0,919,
+hay_bale,0,919,"bale_of_hay,hay_stack,haystack"
+collaborative_titfuck,0,919,"collaborative_boob_job,collaborative_boobjob,collaborative_tit_fuck,double_boob_job,double_boobjob,double_tit_fuck,double_titfuck"
+taokaka,4,918,
+salute,0,918,saluting
+itsunknownanon,1,918,
+ear_bow,0,918,
+psy101,1,917,"psy101_(artist),riptastik"
+mot,1,917,
+star_trek,3,916,
+silver_spoon_(mlp),4,916,silver_spoon
+zero_unit,0,915,
+wings_of_fire,3,915,
+teapot,0,915,tea_pot
+jerboa,5,915,
+swamp,0,914,
+shirt_only,0,914,
+temple,0,913,
+seashell,0,913,"sea_shell,sea_shells,seashells"
+horn_piercing,0,913,"horn_piercings,pierced_horn,pierced_horns"
+torso_shot,0,912,
+six_frame_image,0,912,
+metal_gear,3,912,metal_gear_solid
+leashed_pov,0,912,"leashed_viewer,leashing_the_viewer,leashing_viewer"
+hand_wraps,0,912,"hand_wrap,handwrap,handwraps"
+gyobu,4,912,
+amazing_background,0,912,amazing_bg
+neck_ring,0,911,neck_rings
+long_torso,0,911,
+fire_creature,5,911,"fire-boy,fire-girl,fire_boy,fire_elemental,fire_girl,fire_monster,fireboy,firegirl,flame_creature,flame_elemental,flame_monster,flaming_creature,flaming_elemental,flaming_monster,living_fire,living_flame"
+cypriniform,5,911,cypriniforme
+troll_(homestuck),5,910,"fantroll,homestuck_troll,troll_(hs)"
+toto_draw,1,910,fabianoferreira
+penis_in_mouth,0,910,
+neurodyne,1,910,
+holding_pen,0,910,holding_pens
+feral_on_top,0,910,
+elderly_female,0,910,
+blonde_eyebrows,0,910,"blond_eyebrows,yellow_eyebrows"
+arms_by_side,0,910,
+flurry_heart_(mlp),4,909,"flurry_heart,princess_flurry_heart,princess_flurry_heart_(mlp)"
+eyelashes_through_hair,0,909,"eyelash_clipping_through_hair,eyelash_through_hair,eyelash_visible_through_hair,eyelashes_clipping_through_hair,eyelashes_visible_through_hair"
+amphibia_(series),3,909,
+yinglet,5,908,
+pickles-hyena,1,908,
+holding_condom,0,908,holding_condoms
+green_wings,0,908,
+black_bikini,0,908,
+ashraely,1,908,
+slideshow,7,907,
+quills,0,907,
+kenket,1,907,tess_garman
+girokett,1,907,
+bigdon1992,1,907,
+yautja,5,906,"hish-qu-ten,hish_(predator),hish_qu_ten,hunter_(predator),predator_(alien),predator_alien,yautja_(alien),yautja_(predator)"
+green_hat,0,906,
+chest_tattoo,0,906,"chest_tattoos,tattoo_on_chest,tattooed_chest"
+shirt_collar,0,905,detached_collar
+nurinaki,1,905,
+little_red_riding_hood,4,905,"little_red,red_riding_hood"
+crotchless_underwear,0,905,
+athletic_gynomorph,0,905,
+inbreeding,0,903,
+urine_on_face,0,902,
+purple_nails,0,902,
+belly_riding,0,902,bellyriding
+sniper_rifle,0,901,
+sabretoothed_ermine,1,901,sabretoothedermine
+pigeon,5,901,pidgeon
+penis_growth,0,901,"cock_growth,dick_growth"
+tipping,0,900,
+mottled_body,0,900,mottle_body
+max_goof,4,900,
+zig_zag,4,899,"zig-zag,zigzag"
+the_jungle_book,3,899,jungle_book
+cyprinid,5,899,cyprinidae
+sceptile,5,898,
+reaching,0,898,
+pancake,0,898,pancakes
+mummy,0,898,
+kitchiki,1,898,fapchiki
+defloration,0,898,virginity_loss
+prostate,0,897,
+pink_collar,0,897,
+notkastar,1,897,notkastar_(artist)
+kabeshiri,0,897,
+feminization,0,897,sissification
+druid,0,897,
+cu_sith_(tas),4,897,
+sheath_piercing,0,896,pierced_sheath
+rave,0,896,
+mrs._cake_(mlp),4,896,"cup_cake_(mlp),mrs._cake,mrs_cake,mrs_cake_(mlp)"
+bobert,1,896,
+berseepon09,1,896,
+angel_humanoid,5,896,
+talking_to_prey,0,895,
+talking_to_partner,0,895,
+tail_in_mouth,0,895,
+rebecca_cunningham,4,895,
+oppai_loli,0,895,
+my_little_pony_(idw),3,895,"idw_mlp,mlp_idw_comics"
+jon_talbain,4,895,"gallon,gallon_(darkstalkers),talbain"
+hammock,0,895,
+furryfight_chronicles,3,895,
+dofus,3,895,
+autofootjob,0,895,"auto_foot_job,auto_footjob,feet_masturbating,feet_masturbation,foot_job_on_self,foot_masturbating,foot_masturbation,footjob_on_self,masturbating_with_feet,masturbating_with_foot,masturbation_with_feet,masturbation_with_foot,self_foot_job,self_footjob"
+sunburst_(mlp),4,894,sunburst
+stirrup_stockings,0,894,
+shota_feline_(marimo),4,894,
+kirby_and_the_forgotten_land,3,894,
+i_mean_breast_milk,3,894,iced_latte_meme
+five_frame_sequence,0,894,
+x_anus,0,893,x_butt
+thebigbadwolf01,1,893,
+pheromosa,5,893,
+aggron,5,893,
+conrie,1,892,conriensfw
+komainu,5,891,"lion-dog,lion_dog"
+dominant_humanoid,0,891,"dom_humanoid,humanoid_dom,humanoid_dominant,humanoid_dominating,humanoid_domination,humanoiddom"
+dawn_bellwether,4,891,
+anal_prolapse,0,891,prolapsed_anus
+adult_(lore),8,891,
+photorealism,0,890,"photo_realism,photoreal,photorealistic"
+fishing_rod,0,890,fishing_pole
+cardboard,0,890,
+minkmen_(one_piece),5,889,mink_tribe
+medical,0,889,
+heart_nose,0,889,"<3-shaped_nose,<3_nose,<3_shaped_nose,heart-shaped_nose,heart_shaped_nose,hearts-shaped_nose,hearts_nose,hearts_shaped_nose"
+disgust,0,889,disgusted
+blushing_profusely,0,889,
+ant,5,889,"ants,formicid,formicidae"
+accident,0,889,
+white_shoes,0,888,
+volos,4,888,
+two_tone_topwear,0,888,
+tail_anus,0,888,
+striped_penis,0,888,
+purple_legwear,0,888,violet_legwear
+masochism,0,888,"masochist,masochistic"
+glowstick,0,888,"glow_stick,glow_sticks,glowsticks"
+callie_(splatoon),4,888,
+true_owl,5,887,"strigid,strigidae,typical_owl"
+star_vs._the_forces_of_evil,3,887,"star_vs_the_forces_of_evil,svtfoe"
+species_name,0,887,
+raised_finger,0,887,"finger_lift,finger_lifted,finger_lifting,finger_raised,finger_up,lift_finger,lifted_finger,lifting_finger"
+oblivion,3,887,the_elder_scrolls_iv:_oblivion
+missing_sample,7,887,
+larva,0,887,larvae
+koul,1,887,
+fallout_equestria,3,887,fallout:_equestria
+rooftop,0,886,"roof,roof_top"
+pigeon_toed,0,886,
+patamon,5,886,
+natani,4,886,natani_(twokinds)
+lammy_lamb,4,886,
+wrist_tuft,0,885,
+kuroodod,1,885,
+arthur_(series),3,885,
+stroking,0,884,
+sitting_on_penis,0,884,
+sensory_deprivation,0,884,
+obstagoon,5,884,
+holding_smartphone,0,884,
+cum_on_wall,0,884,
+pokemon_humanoid,5,883,"human_pokemon,humanoid_pokemon,pokémon_humanoid"
+open_vest,0,883,
+inu-sama,1,883,"dogsmith,faizenek,the_dogsmith"
+turkey,5,882,
+snowflake,0,882,snowflakes
+parasol,0,882,
+myriapod,5,882,
+leg_tattoo,0,882,"leg_tattoos,tattoo_on_leg,tattoo_on_legs,tattooed_leg,tattooed_legs"
+jenna_(balto),4,882,
+vrabo,1,881,
+strapless_clothing,0,881,strapless
+revadiehard,1,881,thehalfbreed
+peculiart,1,881,
+looking_down_at_viewer,0,881,
+keyboard_instrument,0,881,
+cape_only,0,881,"naked_cape,nude_cape"
+asnnonaka,1,881,
+white_thigh_highs,0,880,
+whisker_spots,0,880,
+silly,0,880,
+finger_lick,0,880,"licking_finger,licking_fingers"
+emoticon,0,880,
+2000,7,880,
+teemo_(lol),4,879,teemo
+monotone_eyes,0,879,
+compfive,1,879,"comp_5,complication5,complication_5,compsix,halcyonwinter"
+cleaning,0,879,
+brown_theme,7,879,
+broken_condom,0,879,
+bar_emanata,0,879,
+string,0,878,strings
+scrotum_piercing,0,878,"ball_piercing,balls_piercing,pierced_scrotum,scrotal_piercing"
+greasymojo,1,878,
+cauldron,0,878,
+nintendo_ds_family,3,877,
+explicitly_stated_nonconsent,0,877,
+blue_legwear,0,877,cyan_legwear
+sushi,0,876,
+shyguy,5,876,"shy_gal,shy_girl,shy_guy,shygal,shygirl"
+ori_and_the_blind_forest,3,876,
+threatening,0,875,threaten
+resting,0,875,
+pantsing,0,875,pantsed
+niis,1,874,voxix
+leather_harness,0,874,
+feather_duster,0,874,
+falvie,1,874,"popparotzi,soulbriar"
+emo,0,874,
+boots_only,0,874,
+fingerpads,0,873,"finger_pad,finger_pads,fingerpad"
+captain_nikko,1,873,
+xnirox,1,872,xnirox_(artist)
+tentacle_fellatio,0,872,
+denizen1414,1,872,
+clown,0,872,
+breathing_noises,0,872,
+slb,1,871,
+monotone_belly,0,871,
+striped_background,0,870,striped_bg
+spotted_scales,0,870,
+notebook,0,870,notepad
+laboratory_glassware,0,870,
+kerchief_only,0,870,
+dirty_feet,0,870,
+caroo,1,870,
+sunrise,0,869,
+sam_and_max,3,869,sam_&_max
+neopet_(species),5,869,"neo_pet_(species),neo_pets_(species),neopets_(species)"
+imanika,1,869,
+diives,1,869,
+clydesdale,5,869,
+black_feet,0,869,
+bed_bondage,0,869,
+9:14,7,869,
+zekrom,5,868,
+oshawott,5,868,wotter
+object_in_ass,0,868,
+marker,0,868,
+looking_at_breasts,0,868,
+javkiller,1,868,beartower
+backless_clothing,0,868,
+fedora,0,867,
+bluey_(series),3,867,bluey_(show)
+sidewalk,0,866,side_walk
+open_robe,0,866,
+kitfox-crimson,1,866,
+vg_cats,3,865,vgcats
+thesecretcave,1,865,the_secret_cave
+star_polygon,0,865,
+brown_wings,0,865,
+ash_ketchum,4,865,satoshi_(pokemon)
+monotone_claws,0,864,
+green_anus,0,864,
+pheromones,0,863,"pheremones,pheromone"
+on_one_knee,0,863,
+foot_on_penis,0,863,stepping_on_penis
+sonic_the_werehog,4,862,
+s-nina,1,862,"colamon,s-zira,s0lar1x"
+older_dom_younger_sub,0,862,
+mti_transformation,0,862,
+eliana-asato,1,862,eliana_asato
+white_butt,0,861,"white_ass,white_booty"
+vertical_blockage,0,861,
+swampert,5,861,
+shirt_cuffs,0,861,"detached_cuffs,shirt_cuff"
+picnic,0,861,
+leviathan_(mh),5,861,"kairyushu,kairyūshu,leviathan_(monster_hunter)"
+latiar,1,861,"laranthrod,latiar010,latiar027,latiaranthrod"
+classy,0,861,"dapper,fancy"
+style_wager,1,860,stylewager
+oryx,5,860,
+starter_trio,0,859,
+slimefur,1,859,
+running_mascara,0,859,
+princess_connect!_re:dive,3,859,
+nidorina,5,859,
+danji-isthmus,1,859,missoro
+butt_hair,0,859,hairy_butt
+anchee,1,859,
+torahiko_(morenatsu),4,858,"ooshima_torahiko,torahiko,torahiko_ooshima"
+sasha_(animal_crossing),4,858,
+five_nights_at_freddy's_4,3,858,fnaf_4
+dark_text,0,858,
+calendar,0,858,calender
+armchair,0,858,arm_chair
+4_balls,0,858,"4_balled,4_testicles,four_balled,four_balls,four_testicles"
+upset,0,857,
+unwanted_erection,0,857,accidental_erection
+gallus_(mlp),4,857,
+transgender_pride_colors,0,856,"trans_colors,trans_flag,trans_pride_colors,trans_pride_flag,trans_pride_flag_colors,transgender_colors,transgender_flag,transgender_pride_flag,transgender_pride_flag_colors"
+overstimulation,0,856,
+nicole_the_lynx,4,856,
+nervous_sweat,0,856,
+kandlin,1,856,
+juuichi_mikazuki,4,856,juuichi
+coffee_cup,0,856,coffee_cups
+artica_sparkle,4,856,artica
+akiric,1,856,
+text_on_underwear,0,855,
+rath_wyvern,5,855,
+kanel,1,855,
+hand_on_tail,0,855,
+crash_team_racing_nitro-fueled,3,855,
+storm,0,854,
+slightly_chubby_female,0,854,
+pink_legwear,0,854,
+liquid_latex,0,854,
+crotchless_panties,0,854,
+bouquet,0,854,"boquet,bouquets"
+blotch,1,854,
+animal_head,5,854,
+short_fur,0,853,
+saurian_(artist),1,853,
+penis_shot,0,853,
+miles_df,1,853,miles-df
+light_hair,0,853,
+krazyelf,1,853,
+food_hair,0,853,
+flynx-flink,1,853,"aquafreshest_(artist),flynx_flink"
+back_spikes,0,853,spikes_on_back
+super_mario_odyssey,3,852,mario_odyssey
+bird_humanoid,5,852,humanoid_bird
+batartcave,1,852,pelao0o
+sheath_play,0,851,
+heather_bruton,1,851,hbruton
+dark_theme,7,851,black_theme
+seyrmo,1,850,
+mylafox,1,850,
+mega_absol,5,850,megaabsol
+jewelpet,3,850,"jewel_pet,jewelpet_twinkle"
+walrus,5,849,
+rat_tail,0,849,
+iwbitu,1,849,
+yellow_border,0,848,
+small_penis_humiliation,0,848,small_penis_shaming
+object_penetration,0,848,
+foot_wraps,0,848,"foot_wrap,footwraps"
+condom_balloon,0,848,
+obese_feral,0,847,
+wander_over_yonder,3,846,
+jumperbear,1,846,
+cotora,1,846,"feli_cith,kotora_(artist),mizuki_kotora,ことら"
+vessel_(species),5,845,
+siberian_husky,5,845,
+scissors,0,845,scissor
+railing,0,845,
+ittybittykittytittys,1,845,kittysonrice
+digital_hazard,0,845,
+shoreline,0,844,
+owo,0,844,
+orientation_play,0,844,
+hypnotic_eyes,0,844,
+extended_legs,0,844,
+ridley,4,843,
+monster_kid,4,843,
+matospectoru,1,843,
+cloth_gag,0,843,
+button_mash_(mlp),4,843,button_mash
+tsaiwolf,1,842,
+toe_restraints,0,842,
+reverse_countershading,0,842,
+knot_root,0,842,
+kathrin_vaughan,4,842,kathrin_(twokinds)
+cum_through_underwear,0,842,
+tan_markings,0,841,"beige_marking,beige_markings,tan_marking"
+kyappy,4,841,
+huge_anus,0,841,
+cum_collecting,0,841,"cum_collection,semen_collection"
+undressed,0,840,
+presenting_partner,0,840,
+lust,0,840,
+inverted_zero_unit,0,840,
+camychan,1,840,
+white_hands,0,839,
+teckworks,1,839,teckworks_(artist)
+padlock,0,839,
+heart_font,0,839,
+frilly_bra,0,839,frilled_bra
+food_humanoid,5,839,humanoid_food
+sunscreen,0,838,sun_screen
+hyper_inflation,0,838,
+grey_pussy,0,838,"gray_cunt,gray_labia,gray_pussy,gray_twat,gray_vag,gray_vagina,gray_vulva,grey_cunt,grey_labia,grey_twat,grey_vag,grey_vagina,grey_vulva"
+general-irrelevant,1,838,
+closed_frown,0,838,
+bushiroad,3,838,
+athletic_humanoid,0,838,
+viper_(x-com),5,837,viper_(xcom)
+torn_jeans,0,837,ripped_jeans
+oblivious,0,837,clueless
+nettsuu,1,837,"nyankamedon,ねっつー"
+monotone_topwear,0,837,"mono-tone_top_wear,mono-tone_topwear,mono_tone_top_wear,mono_tone_topwear,monotone_top_wear"
+island,0,837,
+cybertronian,5,837,
+begging_pose,0,837,
+topwear_pull,0,836,
+human_and_animal_ears,0,836,"animal/human_ear,animal/human_ears,animal_and_human_ear,animal_and_human_ears,human/animal_ear,human/animal_ears,human_and_animal_ear"
+gris_swimsuit,3,836,
+cum_on_muzzle,0,836,
+cat_lingerie,0,836,
+senthaurekmern,1,835,
+iconography,0,835,
+heat_(temperature),0,835,
+blastoise,5,835,
+ankles_tied,0,835,"ankles_bound,bound_ankles"
+yellow_bottomwear,0,834,
+white_headwear,0,834,
+sonsasu,1,834,
+snout_fuck,0,834,"snout_fucking,snoutfuck"
+snorlax,5,834,
+nanachi,4,834,
+mismagius,5,834,
+elvche,1,834,deerelva
+inside_balls,0,833,
+disembodied_head,0,833,
+pants_around_one_leg,0,832,shorts_around_one_leg
+nazi,0,832,
+mana_(series),3,832,seiken_densetsu
+chewycuticle,1,832,
+bucky_o'hare_(series),3,832,
+bassybefuddle,1,832,"bassy_bird,bassy_bird_(artist),bassy_wolfeh,bassybefuddle_(artist),bassybird,bassybird_(artist),bassyib,bassyib_(artist),bassywolfeh,bassywolfeh_(artist)"
+adastra_(series),3,832,
+visionaryserpent,1,831,yoshi4321
+ventkazemaru,1,831,
+red_eyeshadow,0,831,
+kekitopu,1,831,
+ladder,0,830,
+arms_together,0,830,
+we_bare_bears,3,829,
+tree_stump,0,829,"tree_stumps,treestump,treestumps"
+granblue_fantasy,3,829,
+buttplug_tail,0,829,"plug_tail,tail_buttplug,tail_plug,tailplug"
+ascot,0,829,
+pussy_close-up,0,828,
+clothing_bow,0,828,
+w4g4,1,827,"nsfwaga,nsfwaga_(artist),w4g4_(artist),waga,waga_(artist),wagadraws,wagadraws_(artist)"
+volleyball,0,827,volley_ball
+noname55,1,827,
+gimp_suit,0,827,
+furryratchet,1,827,
+dark_elf,5,827,
+blue_hat,0,827,
+snail,5,826,
+skipsy,1,826,"foxkin,skipsypony"
+kissing_cheek,0,825,"cheek_kiss,kiss_on_cheek"
+hands_on_knees,0,825,
+visibly_trans,0,824,visibly_transgender
+bar_stool,0,824,barstool
+negger,1,823,
+monotone_background,0,823,"monocolor_background,monocolor_bg,monocolored_background,monocolored_bg,monocolour_background,monocolour_bg,monocoloured_background,monocoloured_bg,monotone_bg,monotoned_background,monotoned_bg,single-color_background,single-color_bg,single-colored_background,single-colored_bg,single-colour_background,single-colour_bg,single-coloured_background,single-coloured_bg,single_color_background,single_color_bg,single_colored_background,single_colored_bg,single_colour_background,single_colour_bg,single_coloured_background,single_coloured_bg,singlecolor_background,singlecolor_bg,singlecolored_background,singlecolored_bg,singlecolour_background,singlecolour_bg,singlecoloured_background,singlecoloured_bg,solid-color_background,solid-color_bg,solid-colored_background,solid-colored_bg,solid-colour_background,solid-colour_bg,solid-coloured_background,solid-coloured_bg,solid_color_background,solid_color_bg,solid_colored_background,solid_colored_bg,solid_colour_background,solid_colour_bg,solid_coloured_background,solid_coloured_bg,solidcolor_background,solidcolor_bg,solidcolored_background,solidcolored_bg,solidcolour_background,solidcolour_bg,solidcoloured_background,solidcoloured_bg"
+mascara_tears,0,823,bleeding_mascara
+testicle_cuff,0,822,
+gold_necklace,0,822,
+alolan_ninetales,5,822,"alola_ninetales,ninetales_(alola_form),ninetales_(alolan_form)"
+invader_zim,3,821,
+gnar_(lol),4,821,"gnar,gnar_(league_of_legends)"
+glistening_tail,0,821,shiny_tail
+bonk,1,821,
+anthroponiessfm,1,821,
+rotten_robbie,1,820,
+pink_border,0,820,
+trinity-fate62,1,819,"trinityfate,trinityfate62"
+lop_ears,0,819,"drop_ear,drop_ears,lop_ear,lop_eared,pendant_ear,pendant_ears"
+grey_eyebrows,0,819,gray_eyebrows
+darkness,0,819,
+breegull,5,819,
+tyranitar,5,818,
+rattlesnake,5,818,"rattle_snake,rattle_snakes,rattlesnakes"
+faceless,0,818,no_face
+camping,0,818,
+bold_text,0,818,
+teen_titans,3,817,"teen_titans_(comics),teen_titans_(dc)"
+pillar,0,817,
+penis_through_leghole,0,817,
+human_to_humanoid,0,817,
+birthday_cake,0,817,
+undershirt,0,816,
+title,0,816,
+non-euclidean_sex,0,816,
+merunyaa,1,816,merufur
+isvoc,1,816,leilryu
+cervine_penis,0,816,"caribou_penis,cervid_penis,deer_penis,elk_penis,moose_penis,reindeer_penis,stag_penis"
+bubo_(genus),5,816,"eagle-owl,eagle_owl,horned_owl"
+pink_bra,0,815,
+noodles,0,815,
+cheek_spots,0,815,
+boosterpang,1,815,
+gasp,0,814,
+surprise_sex,0,813,
+rainbow_clothing,0,813,rainbow_clothes
+pocky,3,813,
+lop_rabbit,5,813,"lop,lop-eared_bunny,lop-eared_rabbit,lop_eared_bunny,lop_eared_rabbit"
+longinius,1,813,
+flaming_mane,0,813,"fire_mane,flame_mane,mane_fire,mane_flame,mane_flaming"
+diamond_(gem),0,813,
+bowed_string_instrument,0,813,"bow_string_instrument,bow_string_instruments,bowed_string_instruments"
+text_header,0,812,
+lordstevie,1,812,
+holiday_message,0,812,
+google_doodle,3,812,
+anserinae,5,812,
+veiny_dildo,0,811,
+slippy_toad,4,811,
+mittens,0,811,mitten
+accelo,1,811,
+scientist,0,810,
+quarian,5,810,
+penny_fitzgerald,4,810,
+nephew,0,810,
+gorsha_pendragon,1,810,"gorsh_dolderan,gorshapendragon"
+flashlight,0,810,
+berry,0,810,berries
+assimilation,0,810,
+wings_tied,0,809,"bound_wings,tied_wings,wings_bound"
+uncle,0,809,
+sunflower,0,809,sunflowers
+slightly_chubby_anthro,0,809,
+pterosaur,5,809,
+octavia_(helluva_boss),4,809,octavia_(vivzmind)
+nasus_(lol),4,809,nasus
+anonymous,4,809,
+abstract_art,0,809,
+softestpuffss,1,808,"puffdraws,treecko-shell"
+ritual,0,808,
+classic_sonic_(universe),3,808,"classic_sonic's_style,classic_sonic's_universe,classic_sonic's_world,classic_sonic_style,classic_sonic_universe,classic_sonic_world,classic_sonics_universe,classic_sonics_world,sonic_mania,sonic_mania_plus"
+vambraces,0,807,
+taking_picture,0,807,
+shoulder_guards,0,807,
+lunalei,1,807,
+lightsaber,0,807,"light_saber,light_sabre,lightsabre"
+gregg_lee,4,807,"gregg_(nitw),greggory_lee"
+ear_blush,0,807,blushing_ears
+covering_own_mouth,0,807,
+black-kitten,1,807,"black_kitten,blackkitten"
+yellow_underwear,0,806,
+tennis_ball,0,806,
+swallowing_sound_effect,0,806,
+sumo,0,806,
+slypon,1,806,
+sdorica,3,806,
+rubber_duck,0,806,"rubber_duckie,rubber_ducky"
+medium_hair,0,806,
+censored_penis,0,806,
+toothbrush,0,805,tooth_brush
+orange_face,0,805,
+mirror_selfie,0,805,
+legs_back,0,805,
+lily_pad,0,804,"lilly_pad,lilly_pads,lillypad,lillypads,lily_pads,lilypad,lilypads"
+future_card_buddyfight,3,804,"buddyfight,buddyfight_x,future_card_buddyfight_(show),future_card_buddyfight_100,future_card_buddyfight_ace,future_card_buddyfight_hundred,future_card_buddyfight_triple_d,future_card_buddyfight_x,future_card_buddyfight_x:_all-star_fight,future_card_buddyfight_x:_all_star_fight,future_card_buddyfight_x_all-star_fight,future_card_buddyfight_x_all_star_fight,shin_future_card_buddyfight"
+doesnotexist,1,804,theandymac
+back_tentacles,0,804,
+wolf_tail,0,803,
+wedding,0,803,marriage
+sonic_forces,3,803,"sonic_forces:_speed_battle,sonic_forces_speed_battle"
+kong,5,803,
+belly_squish,0,803,"belly_squished,gut_squished,squish_belly,squish_gut,squish_tummy,squished_belly,squished_gut,squished_tummy,tummy_squished"
+romantic_sex,0,802,
+qualzar,1,802,qualzar_(artist)
+minun,5,802,
+glistening_tongue,0,802,shiny_tongue
+fish_hooking,0,802,
+countershade_hands,0,802,"countershade_hand,countershade_palm,countershade_palms"
+bayleef,5,802,
+adastra,3,802,
+submissive_gynomorph,0,801,"gynomorph_dominated,submissive_dickgirl"
+shovel,0,801,
+osamu_tezuka,3,801,tezuka_osamu
+naughty_dog,3,801,
+bodily_fluids_in_pussy,0,801,
+princess_connect!,3,800,
+king_k._rool,4,800,"baron_k._roolenstein,baron_k_roolenstein,k._rool,k_rool,kaptain_k._rool,kaptain_k_rool,king_k_rool,king_krusha_k._rool,king_krusha_k_rool"
+inuki,1,800,
+c.j._(animal_crossing),4,800,
+braeburned,1,800,littleivy25
+teil,1,799,
+pantsless,0,799,"no_pants,pantless"
+j7w,1,799,
+dasyurid,5,799,"dasyuridae,dasyuridaen,marsupial_mice,marsupial_mouse,marsupial_shrew"
+chrisandcompany,1,799,cjshadorunner
+two_tone_eyes,0,798,two-tone_eyes
+spice_and_wolf,3,798,"ookami_to_koushinryou,spice_&_wolf"
+sash_lilac,4,798,
+pokemon_unite,3,798,pokémon_unite
+palico,5,798,
+izzy_moonbow_(mlp),4,798,
+imminent_oral,0,798,
+arm_around_neck,0,798,
+zero-sum,1,797,"cruise-control,eterna_malsato,foxinshadow,foxintwilight"
+weregarurumon,5,797,
+plusle,5,797,
+face_imprint,0,796,
+cum_on_knot,0,796,
+belly_markings,0,796,"belly_marking,belly_symbol,belly_symbols,stomach_marking,stomach_markings,stomach_symbol,stomach_symbols,tummy_marking,tummy_markings,tummy_symbol,tummy_symbols"
+toeless_stockings,0,795,
+sack,0,795,
+futuristic,0,795,
+butt_markings,0,795,"ass_marking,ass_markings,butt_marking,butts_marking,butts_markings"
+urocyon,5,794,
+unwilling_prey,0,794,
+purple_mane,0,794,
+mimiga,5,794,
+luxio,5,794,
+legendz,3,794,
+flower_accessory,0,794,
+collar_ring,0,794,
+big_claws,0,794,large_claws
+taunting,0,793,
+tattoorexy,1,793,"charimod,ruisu-kun"
+tag,0,793,
+red_inner_ear,0,793,
+orange_tongue,0,793,
+multicolored_horn,0,793,"multi-color_horn,multi-color_horns,multi-colored_horn,multi-colour_horn,multi-colour_horns,multi_color_horn,multi_color_horns,multi_colored_horns,multi_colour_horn,multi_colour_horns,multi_tone_horn,multicolored_horns,multicoloured_horn,multicoloured_horns"
+male_penetrating_herm,0,793,m/p/h
+holding_staff,0,793,
+belt_pouch,0,793,
+back_tuft,0,793,
+hell,0,792,
+banette,5,792,
+wildstar,3,791,
+twin_braids,0,791,twin_braid
+touching_penis,0,791,
+tendrils,0,791,tendril
+snowballing,0,791,"cum_swap,cum_swapping"
+feathering,0,791,
+yellow_pawpads,0,790,"yellow_paw_pad,yellow_paw_pads"
+sweaty_anus,0,790,
+popcap_games,3,790,"popcap_games_inc,popcap_games_inc.,popcap_games_incorporated"
+machamp,5,790,
+energy,0,790,
+climbing,0,790,
+patient,0,789,
+ogre,5,789,
+limestone_pie_(mlp),4,789,blinkie_pie_(mlp)
+ghibli,3,789,studio_ghibli
+colored_edge_panties,0,789,
+babs_seed_(mlp),4,789,babs_seed
+sunny,0,788,
+reilukah,1,788,lukiri
+mole_(animal),5,788,"mole_(species),mole_animal,mole_species"
+holo_(spice_and_wolf),4,788,horo_(spice_and_wolf)
+dildo_fellatio,0,788,
+flower_hair_accessory,0,787,
+white_wool,0,786,
+kazuhiro,1,786,
+jenny_(bucky_o'hare),4,786,
+dragk,1,786,
+dark-moltres,1,786,
+brown_hands,0,786,
+armpit_sniffing,0,786,
+red_handwear,0,785,
+non-mammal_pussy,0,785,
+newt,5,785,pleurodelinae
+mickey_mouse,4,785,
+kammi-lu,1,785,
+dbd,1,785,
+thick_neck,0,784,
+spinal22,1,784,
+shining_(sega),3,784,
+north_american_mythology,3,784,
+gammamon,5,784,
+sulfurbunny_(artist),1,783,
+sorafoxyteils,1,783,
+infernape,5,783,
+fox_taur,5,783,"foxtaur,kitsune_taur,kitsunetaur"
+carrot_(one_piece),4,783,
+bzeh,1,783,
+ashigara,4,783,
+armello,3,783,
+threaded_by_tentacle,0,782,
+subscribestar,3,782,
+excessive_pussy_juice,0,782,
+dark_eyebrows,0,782,
+cockatoo,5,782,"cacatuid,cacatuidae"
+big_tongue,0,782,
+multicolored_shirt,0,781,
+arthropod_taur,5,781,
+9_tails,0,781,"9_tailed,nine_tailed,nine_tails"
+stitch_(sewing),0,780,"knitting_stitch,plush_stitch,plush_stitches,plush_stitching,plushie_stitch,plushie_stitches,plushie_stitching,sewing_stitch,sewing_stitches,sewing_stitching,stitch_(textile),stitch_(textile_art),stitch_(textile_arts),stitches_(sewing),stitches_(textile),stitches_(textile_art),stitches_(textile_arts),stitching_(sewing),stitching_(textile),stitching_(textile_art),stitching_(textile_arts)"
+scar_(the_lion_king),4,780,"scar_(lion_king),scar_(tlk)"
+leash_in_mouth,0,780,
+bunnybits,1,780,
+american_dragon:_jake_long,3,780,"american_dragon,american_dragon_jake_long"
+penis_shrinking,0,779,shrinking_penis
+oystercatcher7,1,779,
+holding_flower,0,779,holding_flowers
+game_over,0,779,
+frist44,1,779,
+flaaffy,5,779,"flaafy,flaffy"
+ankle_tuft,0,779,
+white_armwear,0,778,
+torracat,5,778,
+sableye,5,778,sableeye
+pride_color_accessory,0,777,
+lucky_pierre,0,777,
+lightsource,1,777,0yiffsource
+jwinkz,1,777,"art_of_wink,artjwink,artofwink,j-wink,jaywnk23,jwink88,thejwinkz"
+indigenous_north_american_mythology,3,777,native_american_mythology
+green_highlights,0,777,"green_highlight,green_streak,green_streaks"
+dr_comet,1,777,"dr._comet,dr.comet,drcomet"
+back_spines,0,777,
+toxtricity,5,776,electox
+purple_inner_ear,0,776,
+paw_pose,0,776,cat_pose
+collared_shirt,0,776,
+tail_censorship,0,775,
+shrug,0,775,"i_dunno_lol,shrugging"
+rooster_teeth,3,775,
+andromorph_(lore),8,775,cuntboy_(lore)
+anais_watterson,4,775,
+sonic_x,3,774,
+snowman,0,774,snow_man
+samurai_pizza_cats,3,774,
+polo_shirt,0,774,
+brian_griffin,4,774,
+nom,0,773,
+chikn_nuggit,3,773,
+angel_dust,4,773,
+wooloo,5,772,
+stargazer,1,772,
+kingofacesx,1,772,
+handstand,0,772,hand_stand
+earthbound_(series),3,772,"earthbound,earthbound_zero,mother_(game),mother_1,mother_2,mother_3"
+by-nc-nd,3,772,"cc-by-nc-nd,cc:by-nc-nd"
+boo3,1,772,
+body_part_growth,0,772,
+wolf_(lol),4,771,
+ryona,0,771,
+raya_and_the_last_dragon,3,771,
+pointing_at_viewer,0,771,pointing_at_the_viewer
+endosoma,0,771,endosomatophilia
+bicycle,0,771,
+writing_on_breasts,0,770,
+orange_border,0,770,
+fox_and_the_hound,3,770,the_fox_and_the_hound
+flexing_bicep,0,770,
+cosmic_background,0,770,"cosmic_bg,galaxy_background,galaxy_bg"
+breast_implants,0,770,augmented_breasts
+unaware,0,769,
+noose,0,769,
+dancewear,0,769,
+ambiguous_focus,0,769,
+shirt_pull,0,768,
+rescued_dragons_(spyro),4,768,
+raboot,5,768,
+marblesoda,1,768,derpah
+funkybun,1,768,"funkybun_(artist),thatfunbun,thatfunbun_(artist)"
+flashback,0,768,
+destiny_(video_game),3,768,
+wine_bottle,0,767,
+toilet_paper,0,767,
+sunibee,1,767,
+personalami,1,767,
+head_pat,0,767,
+happy_birthday,0,767,
+dragonborn_(dnd),5,767,
+babs_bunny,4,767,
+sheep_humanoid,5,766,"humanoid_sheep,ram_humanoid"
+pillow_hug,0,766,
+mouth_play,0,766,mouthplay
+hand_fan,0,766,
+bus,0,766,
+tail_penis,0,765,"cock-tail,cock_tail,penis_tail,tail-cock,tail_cock,tailcock"
+smaller_on_top,0,765,
+green_horn,0,765,"green_horns,teal_horn,teal_horns"
+drugged,0,765,
+disgaea,3,765,"disgaea_2,disgaea_3"
+yogoat,1,764,
+seviper,5,764,
+princelykaden,1,764,
+pink_and_white,7,764,white_and_pink
+magazine_cover,7,764,
+cushion,0,764,
+slashysmiley,1,763,poprocks
+salkitten,1,763,
+rattle_(anatomy),0,763,"rattle_(feature),rattle_snake_rattle,rattlesnake_rattle,snake_rattle"
+american_black_bear,5,763,
+suelix,1,762,
+rymherdier,1,762,
+rengar_(lol),4,762,rengar
+nightstand,0,762,night_stand
+mtg_crossgender,0,762,"male_to_dickgirl_crossgender,male_to_dickgirl_r63,male_to_dickgirl_rule_63,male_to_gynomorph_crossgender,male_to_gynomorph_r63,male_to_gynomorph_rule_63,mtd_crossgender,mtd_r63,mtd_rule_63,mtg_r63,mtg_rule_63"
+iztli,1,762,
+dracojeff,1,762,
+ambris,1,762,ambris_art
+victini,5,761,
+paperclip_(artist),1,761,
+nekomata,5,761,
+concept_art,7,761,
+blue_skirt,0,761,cyan_skirt
+tan_breasts,0,760,beige_breasts
+sylvanedadeer,1,760,
+ota_(artist),1,760,
+erect_clitoris,0,760,erected_clit
+chastity_belt,0,760,
+bobcat,5,760,bob_cat
+17:24,0,760,
+joke,0,759,
+james_m_hardiman,1,759,"james_hardiman,jmh,skunkworks"
+flower_crown,0,759,
+daring_do_(mlp),4,759,"daring_do,daring_doo,daring_doo_(mlp),daringdo,daringdo_(mlp),daringdoo,daringdoo_(mlp),derring_do,derring_do_(mlp),derring_doo,derring_doo_(mlp),derringdo,derringdo_(mlp),derringdoo,derringdoo_(mlp)"
+venom_(marvel),4,758,venom_(spider-man)
+shadow_pokémon,5,758,shadow_pokemon
+neotheta,1,758,"neko-maya,neothetaa"
+munkeesgomu,1,758,munks_(artist)
+mr.pink,1,758,
+face_in_ass,0,758,
+donkey_kong_(character),4,758,
+texting,0,757,
+gomamon,5,757,
+genital_danger_play,0,757,
+disguise,0,757,
+cum_on_shoulder,0,757,
+bowser_jr.,4,757,bowser_jr
+bambi_(film),3,757,
+arh,1,757,monamoo
+translucent_penetration,0,756,
+toad_(mario),5,756,"toad_(mario_bros),toad_(super_mario_brothers)"
+shikaro,1,756,shikkathinkingssss
+helicopter,0,756,
+fishing,0,756,
+creating_art,0,756,
+arceus,5,756,
+animated_comic,7,756,
+playstation_controller,0,755,
+molestation,0,755,
+jersey,0,755,
+cardboard_box,0,755,
+belly_rolls,0,755,
+schwoo,1,754,
+magnaluna,1,754,lyra-senpai
+emerald_(gem),0,754,
+diadorin,1,754,
+butt_size_difference,0,754,"ass_size_difference,bootie_size_difference,booty_size_difference,bottom_size_difference,bum_size_difference,but_size_difference,buttock_size_difference,buttocks_size_difference,hindquarter_size_difference,hindquarters_size_difference,posterior_size_difference,rear_size_difference,rump_size_difference,tooshie_size_difference,tooshy_size_difference,tushie_size_difference,tushy_size_difference"
+bars,0,754,
+utility_belt,0,753,
+toucan,5,753,"ramphastid,ramphastidae,toucanet"
+thick_arms,0,753,
+captainzepto,1,753,
+borzoi,5,753,
+x-digimon,5,752,"x-anti-body,x-anti_body,x-antibody,x_anti-body,x_anti_body,x_antibody,x_digimon"
+the_xing1,1,752,
+tea_bagging,0,752,teabagging
+tan_nose,0,752,beige_nose
+rukifox,1,752,"foxypaw,ruki"
+licho_(tas),4,752,
+holding_dildo,0,752,
+hands_on_own_thighs,0,752,
+e621,3,752,
+cookware,0,752,
+cervid_taur,5,752,"cervitaur,deer_taur,deertaur"
+warwick_(lol),4,751,
+navel_penetration,0,751,
+dhx2kartz,1,751,damian_hodge
+tucked_arm,0,750,
+huge_dildo,0,750,giant_dildo
+bed_covers,0,750,"bed_cover,covers"
+wendigo,5,749,"wetiko,windigo"
+wartortle,5,749,
+protagonist_(hollow_knight),4,749,
+glistening_pussy,0,749,"shining_pussy,shiny_pussy"
+dawmino,1,749,
+blue_lipstick,0,749,
+against_furniture,0,749,
+white_fundoshi,0,748,
+trident,0,748,
+pokehidden,1,748,
+keyhole_bra,0,748,"key-hole_bra,key_hole_bra"
+hand_heart,0,748,"<3_hand,<3_hands,hand_<3,hand_<3s,hand_hearts,heart_hand,heart_hands"
+fruit_tree,0,748,"fruit_trees,fruittree,fruittrees"
+drupe_(fruit),0,748,"drupe_fruit,stone_fruit"
+double_cumshot,0,748,
+tail_heart,0,747,
+straight_arm,0,747,
+post-apocalyptic,0,747,"post-apocalypse,post-apocolyptic,post_apocalypse,post_apocalyptic,post_apocolyptic,postapocalypse,postapocalyptic,postapocolyptic"
+mykegreywolf,1,747,
+machine_gun,0,747,machinegun
+hologram,0,747,
+bunny_and_fox_world,3,747,
+severed_head,0,746,decapitated_head
+kiara,4,746,
+flashing_breasts,0,746,
+doctor_whooves_(mlp),4,746,"doctor_hoof,doctor_hoof_(mlp),doctor_hooves,doctor_hooves_(mlp),doctor_whoof,doctor_whoof_(mlp),doctor_whooves,dr_whooves,dr_whooves_(mlp),time_turner,time_turner_(mlp)"
+dice,0,746,
+big_pupils,0,746,
+art_nouveau,0,746,
+venus_spring,4,745,
+super_smash_bros._ultimate,3,745,"ssbu,super_smash_bros_ultimate,super_smash_brothers_ultimate"
+conker,4,745,
+circle,0,745,
+waving_at_viewer,0,744,
+tan_inner_ear_fluff,0,744,
+pattern_thigh_highs,0,744,
+black_eyewear,0,744,
+alp_(tas),4,744,
+alasou,1,744,
+white_feet,0,743,
+portal_(series),3,743,"portal_(game),portal_2"
+herm/herm,0,743,"h/h,herm_on_herm"
+goomba,5,743,
+garden,0,743,
+danaume,1,743,danamue
+sherri_mayim,4,742,
+rick_and_morty,3,742,rick_&_morty
+pache_riggs,1,742,riggsfur
+luigi,4,742,
+lekku_(anatomy),0,742,
+fuzzamorous,1,742,fuzzamorous_(artist)
+electric_fan,0,742,
+brok_the_investigator,3,742,
+plants_vs._zombies,3,741,"plant_versus_zombie,plant_versus_zombies,plant_vs._zombie,plant_vs._zombies,plant_vs_zombie,plant_vs_zombies,plants_versus_zombie,plants_versus_zombies,plants_versus_zombies_2,plants_versus_zombies_2:_it's_about_time,plants_versus_zombies_2:_its_about_time,plants_versus_zombies_2_it's_about_time,plants_versus_zombies_2_its_about_time,plants_vs._zombie,plants_vs._zombies_2,plants_vs._zombies_2:_it's_about_time,plants_vs._zombies_2:_its_about_time,plants_vs._zombies_2_it's_about_time,plants_vs._zombies_2_its_about_time,plants_vs_zombie,plants_vs_zombies,plants_vs_zombies_2,plants_vs_zombies_2:_it's_about_time,plants_vs_zombies_2:_its_about_time,plants_vs_zombies_2_it's_about_time,plants_vs_zombies_2_its_about_time,pvz,pvz2,pvz2:_it's_about_time,pvz2:_its_about_time,pvz2_it's_about_time,pvz2_its_about_time"
+monotone_horn,0,741,
+humanoid_pussy_on_feral,0,741,
+cum_expulsion,0,741,
+dusk_lycanroc,5,740,shiny_dusk_lycanroc
+disney's_aladdin,3,740,"aladdin_(disney_film),aladdin_(disney_franchise),aladdin_(disney_movie),aladdin_(disney_series),aladdin_(franchise),aladdin_(series),disneys_aladdin"
+danza,1,740,danza_(artist)
+8:11,7,740,
+trainer,0,739,
+rajii,1,739,
+mad_rat_dead,3,739,
+battle_axe,0,739,"battle-ax,battle-axe,battle_ax,battleaxe"
+animal_bikini,0,739,
+wildcat,5,738,
+rwby,3,738,
+roserade,5,738,
+reuben_(lilo_and_stitch),4,738,"experiment_625,reuben_(625),reuben_(l&s),reuben_(las),reuben_(lilo_&_stitch),reuben_(stitch),ruben_(l&s),ruben_(las),ruben_(lilo_&_stitch),ruben_(lilo_and_stitch),ruben_(stitch),rueben_(l&s),rueben_(las),rueben_(lilo_&_stitch),rueben_(lilo_and_stitch),rueben_(stitch)"
+quanjiang,1,738,犬酱
+ori,4,738,
+melthecannibal,1,738,raikousou
+licking_another,0,738,
+white_pants,0,737,
+thief,0,737,theif
+school_swimsuit,0,737,sukumizu
+navel_outline,0,737,
+multiple_insertions,0,737,
+brionne,5,737,
+step_position,0,736,
+shooting,0,736,firing
+pokemon_victory_fire,3,736,
+insemination_request,0,736,
+haunter,5,736,
+grey_belly,0,736,gray_belly
+fin_piercing,0,736,pierced_fin
+yellow_face,0,735,
+print_shirt,0,735,
+minus8,1,735,
+death_by_snu_snu,0,735,death_by_snoo_snoo
+cum_drool,0,735,
+brown_hooves,0,735,
+tissue,0,734,tissues
+magic_cat_academy,3,734,
+looking_down_at_partner,0,734,
+fidchellvore,1,734,
+bisexual_sandwich,0,734,
+tribal_clothing,0,733,
+spread_knees,0,733,
+holding_raised_leg,0,733,
+cafe,0,733,
+armpit_lick,0,733,"armpit_licking,licking_armpit"
+unguligrade_legs,0,732,
+premature_ejaculation,0,732,
+looming,0,732,
+blue_cum,0,732,
+tears_of_joy,0,731,"happily_crying,happy_cry,happy_crying,happy_tears,joy_crying,joy_tears"
+tasteful,0,731,
+sadism,0,731,"sadist,sadistic"
+warhammer_40000,3,730,
+urine_on_chest,0,730,
+phenyanyanya,1,730,
+old_world_vulture,5,730,
+nateday,1,730,uriankitsune
+green_nails,0,730,
+couch_sex,0,730,
+viera,5,729,
+tail_tied,0,729,"bound_tail,tied_tail"
+one_ear_up,0,729,"1_cocked_ear,1_ear_down,1_ear_downward,1_ear_downwards,1_ear_up,1_ear_upward,1_ear_upwards,1_lowered_ear,1_raised_ear,lopsided_ear,lopsided_ears,one_cocked_ear,one_ear_down,one_ear_downward,one_ear_downwards,one_ear_upward,one_ear_upwards,one_lowered_ear,one_raised_ear,raised_ear,single_cocked_ear,single_ear_down,single_ear_downward,single_ear_downwards,single_ear_up,single_ear_upward,single_ear_upwards,single_lowered_ear,single_raised_ear"
+dust,0,729,
+bags_under_eyes,0,729,
+momo_(google),4,728,
+furronika,1,728,
+awkward,0,728,
+whip_mark,0,727,"whip_marks,whipping_marks"
+stepped_on,0,727,stepping_on
+penis_clothing,0,727,
+mattress,0,727,matress
+kusosensei,1,727,
+gillpanda,1,727,
+1998,7,727,
+penis_focus,0,726,
+neko-me,1,726,nekome
+mina_mongoose,4,726,
+black_eye_(injury),0,726,
+tickle_fetish,0,725,
+object_between_breasts,0,725,
+iggi,1,725,
+vertical_bar_eyes,0,724,
+twitch_(lol),4,724,
+tehbuttercookie,1,724,
+tangle_the_lemur,4,724,
+kanashiipanda,1,724,1n33d4hug
+hard_hat,0,724,"construction_helmet,hardhat"
+golden_freddy_(fnaf),4,724,golden_freddy
+deonwolf,1,724,
+bodily_fluids_in_ass,0,724,
+underline,0,723,
+sqoon,1,723,
+indigosfm,1,723,
+howl,0,723,howling
+fur_pattern,0,723,
+desertkaiju,1,723,
+cherry_(animal_crossing),4,723,
+wittless-pilgrim,1,722,
+sukebepanda,1,722,starcat
+shoulder_stand,0,722,shoulderstand
+rainbowsprinklesart,1,722,
+minnie_mouse,4,722,
+jockey_position,0,722,
+fitting_room,0,722,
+crawling,0,722,
+cowlick,0,722,
+short_snout,0,721,
+shark_humanoid,5,721,human_shark
+wireless_controller,0,720,
+porsha_crystal,4,720,"porsche_(sing),porsha_crystal_(sing)"
+orange_wings,0,720,
+orange_bottomwear,0,720,
+kokuhane,1,720,
+inktober,3,720,
+hip_tuft,0,720,
+cum_in_bowl,0,720,"bowl_of_cum,cum_bowl"
+cuffs_(clothing),0,720,
+chunie,1,720,
+black-rat,1,720,"blackrat,keanon_woods"
+yakantuzura,1,719,野干ツヅラ@ティア
+tied_shirt,0,719,"knotted_shirt,knotted_top,thot_knot,tie-front,tie-front_shirt,tie-front_top,tie_front,tie_front_shirt,tie_front_top,tied-up_shirt,tied-up_top,tied_top,tied_up_shirt,tied_up_top"
+sonic_the_fighters,3,719,
+soccer,0,719,
+mega_charizard_x,5,719,
+majin,5,719,
+kenno_arkkan,1,719,kennoarkkan
+girlsay,1,719,
+dripponi,1,719,echorelic
+high_heeled_sandals,0,718,"heel_sandals,heeled_sandals,high_heel_sandals"
+hand_spike,0,718,
+caption,0,718,
+underwear_sex,0,717,
+ravoilie,1,717,
+plate_armor,0,717,
+2_frame_animation,7,717,"2-frame_animation,two-frame_animation,two_frame_animation"
+1:3,7,717,
+whipped_cream,0,716,whip_cream
+the-minuscule-task,1,716,
+sideways_oral,0,716,
+muscle_tone,0,716,
+ivysaur,5,716,
+forced_partners,0,716,
+3barts,1,716,
+vivarium,0,715,
+sweatband,0,715,"sweat_band,sweat_bands,sweatbands"
+narse,1,715,
+kurama,4,715,
+karno,1,715,
+grey_fox,5,715,"gray_fox,greyfox,tree_fox"
+carpetwurm,1,715,carpetwurm_(artist)
+wearing_diaper,0,714,diapered
+lin_(changed),4,714,
+leaf_tail,0,714,
+devil_horns_(gesture),0,714,"\m/,devil_horns_gesture,finger_horns,hand-horns,hand_horns,hook_em_horns,sign_of_the_horns"
+coach,0,714,
+caribou_(artist),1,714,"sara_miles,sara_palmer,sarah_miles,sarah_palmer"
+viejillox,1,713,viejillox64art
+san_ruishin,1,713,三塁審
+hooved_toes,0,713,
+green_stripes,0,713,
+evehly,1,713,evehorny
+agumon,5,713,
+zeklullaby,1,712,"zek_lullaby,zekrom_lover,zekrom_lullaby,zekromlover,zekromlullaby"
+strangling,0,712,"strangle,strangled,strangulation"
+nana_gel,1,712,
+intersex_on_feral,0,712,"feral/intersex,feral_on_intersex"
+thegreatmatsutzu,1,711,
+smutbooru,1,711,
+sloth,5,711,
+simple_coloring,0,711,
+secretary_bird,5,711,"sagittariid,sagittariidae,secretarybird"
+minccino,5,711,
+max_(sam_and_max),4,711,"max_(s&m),max_(sam_&_max),max_(snm),maximilian_(s&m),maximilian_(sam_&_max),maximilian_(snm),maximilian_rabbit,maxwell_(s&m),maxwell_(sam_&_max),maxwell_(snm),maxwell_rabbit"
+jinu,1,711,
+hand_on_own_penis,0,711,
+drawer,0,711,
+caress,0,711,
+sponge,0,710,
+ratcha,1,710,
+prehensile_clitoral_hood,0,710,
+ponytail_ears,0,710,
+jigglypuff,5,710,
+hattonslayden,1,710,
+enema,0,710,
+cattledog,5,710,cattle_dog
+bastionshadowpaw,1,710,
+red_gloves,0,709,red_glove
+marci_hetson,4,709,
+longblueclaw,1,709,"lbc,nooze"
+ike_marshall,1,709,
+anthro_on_taur,0,709,"a/o/t,anthro/taur,t/o/a,taur/anthro,taur_on_anthro"
+wrinkles,0,708,wrinkly
+unusual_lactation,0,708,
+tapering_tail,0,708,
+submissive_ambiguous,0,708,ambiguous_dominated
+sketchybug,1,708,
+rascals,3,708,
+holding_musical_instrument,0,708,
+hard_vore,0,708,predation_vore
+glistening_pawpads,0,708,shiny_pawpads
+volleyball_(ball),0,707,
+training,0,707,
+purring,0,707,purr
+negoya,1,707,"kiriya,kry_ky,krykyky,きりきりや,きりや,ねご屋"
+grypwolf,1,707,gryadventures
+1999,7,707,
+whimsicott,5,706,
+thunderlane_(mlp),4,706,thunderlane
+teemo_the_yiffer,4,706,
+poking,0,706,poke
+heresy_(artist),1,706,
+feralise,1,706,
+witch_costume,0,705,
+white_crest_(artist),1,705,"magnamattmew,magnamattmew_(artist),taboo_tails,whitecrest_(artist),whitecrestdraws,whitecrestsblog"
+vomit,0,705,"barf,barfing,puke,puking,vomiting"
+sticker,0,705,
+slurping,0,705,
+rayman_(series),3,705,"rayman_legends,rayman_origins"
+oposa,1,705,"oposa_4,tory_(artist),toryex2,uyu"
+vertical_cloaca,0,704,
+striped_thigh_highs,0,704,
+spread_eagle,0,704,
+neck_frill,0,704,"membranous_ruff,neck_frills,ruff_membrane"
+hairbrush,0,704,hair_brush
+cow_bikini,0,704,cowkini
+cigarette_holder,0,704,
+sunny_way,1,703,
+overlord_(series),3,703,
+mamabliss,1,703,
+catty_(undertale),4,703,
+anteater,5,703,
+samurai,0,702,
+pangoro,5,702,
+internal_oral,0,702,
+finn_the_human,4,702,
+dipstick_limbs,0,702,
+black_paws,0,702,
+bandaged_arm,0,702,
+weskers,1,701,
+steampunk,0,701,
+smell,0,701,
+smegma,0,701,
+mrs._katswell,4,701,mrs_katswell
+kyatto_ninden_teyandee,3,701,
+birdo,5,701,
+scrunchy_face,0,700,
+nexus,1,700,
+grimart,1,700,
+black_tank_top,0,700,black_tanktop
+balto,4,700,
+bakuhaku,1,700,friendshipisdirty
+ambiguous_pov,0,700,
+zooshi,1,699,
+themefinland,1,699,
+sweatshirt,0,699,sweat_shirt
+smelly_feet,0,699,stinky_feet
+pussy_juice_on_ground,0,699,pussy_juice_on_floor
+brandy_and_mr._whiskers,3,699,brandy_and_mr_whiskers
+amniotic_fluid,0,699,
+yellow_stripes,0,698,
+urinal,0,698,
+radio,0,698,
+pink_mane,0,698,
+monotone_wings,0,698,"mono-tone_wing,mono-tone_wings,mono_tone_wing,mono_tone_wings,monotone_wing"
+elvofirida,1,698,
+disposal,0,698,
+aka6,1,698,
+volcano,0,697,
+orange_shirt,0,697,
+orange_horn,0,697,orange_horns
+mofuaki,1,697,
+meloetta_(aria_form),5,697,"aria_meloetta,meloetta_(aria_forme),meloetta_aria"
+fti_transformation,0,697,
+body_outline,0,697,
+averyshadydolphin,1,697,
+whitekitten,3,696,
+t0l0k,1,696,tolok
+pushing,0,696,
+hisuian_typhlosion,5,696,
+handbag,0,696,
+forearms,0,696,forearm
+eyes_mostly_closed,0,696,"eye_mostly_closed,eye_mostly_shut,eyes_mostly_shut,mostly_closed_eye,mostly_closed_eyes,mostly_shut_eye,mostly_shut_eyes"
+chest_grab,0,696,
+big_bad_wolf,4,696,big_bad
+puzzle_and_dragons,3,695,"puzzle_&_dragons,puzzle_&_dragons_z,puzzle_and_dragons_z"
+pine_marten,5,695,pinemarten
+monotone_pussy,0,695,
+leashed_top,0,695,
+karabiner,1,695,nobuhiko_abe
+azzilan,4,695,
+trias,1,694,
+screentone,0,694,"screen_tone,screen_tones,screentones"
+reign-2004,1,694,
+penis_tongue,0,694,"cock_tongue,cocktongue,tongue_cock,tongue_penis,tonguecock"
+mimikyu,5,694,mimikkyu
+hairy_pussy,0,694,
+daftpatriot,1,694,
+cloud_emanata,0,694,
+champagne,0,694,
+torogao,0,693,
+tasteful_nudity,0,693,"artistic_nude,artistic_nudity"
+standing_doggystyle,0,693,
+revali,4,693,
+nakoo,1,693,nakoo_(artist)
+looking_at_phone,0,693,
+bullet,0,693,bullets
+australian_cattle_dog,5,693,"australian_cattledog,blue_heeler,queensland_heeler,red_heeler"
+stockings_only,0,692,
+roxanne_(goof_troop),4,692,
+multicolored_underwear,0,692,
+long_story,0,692,
+leather_straps,0,692,
+harnny,1,692,
+clothing_cord,0,692,
+white_canine_(marimo),4,691,
+scowl,0,691,"scowled,scowling,scowls"
+nikkibunn,1,691,bunnyonthefence
+medusozoan,5,691,medusozoa
+hanged,0,691,hung_by_the_neck_until_dead
+freckles_on_butt,0,691,
+daybreaker_(mlp),4,691,
+cub_domination,0,691,"cub_dom,cubdom"
+cannon,0,691,
+big_the_cat,4,691,
+angry_eyes,0,691,
+alanscampos,1,691,playfurry
+true_antelope,5,690,"antilopinae,antilopine"
+nightmare_rarity_(idw),4,690,"nightmare_rarity,nightmare_rarity_(mlp)"
+mad_rat_(character),4,690,
+lavilovi,1,690,
+hand_on_another's_butt,0,690,"hand_on_another's_ass,hand_on_another's_booty,hand_on_anothers_ass,hand_on_anothers_booty,hand_on_anothers_butt,hands_on_another's_ass,hands_on_another's_booty,hands_on_another's_butt,hands_on_anothers_ass,hands_on_anothers_booty,hands_on_anothers_butt"
+fab3716,1,690,fab
+blood_on_hand,0,690,"blood_on_hands,bloody_hands"
+beakless,0,690,
+zeriara,1,689,"holly_massey,rockopossum,seux"
+trials_of_mana,3,689,seiken_densetsu_3
+tight_underwear,0,689,
+the_giant_hamster,1,689,thegianthamster
+shadowpelt,1,689,carnival-tricks
+fries,0,689,french_fries
+double_chin,0,689,"buccula,chin_fat,double-chin,double-chinned,double_chinned,doublechin,neck_fat"
+blue_hoodie,0,689,
+bent_spoon_position,0,689,
+vkontakte,3,688,
+pochincoff,1,688,ポチンコフ_(artist)
+coconut,0,688,coconuts
+blood_in_mouth,0,688,
+kig-yar,5,687,"halo_jackal,jackal_(halo),kig_yar,kigyar"
+artdecade,1,687,
+toy_gun,0,686,
+super_planet_dolan,3,686,
+planted_leg,0,686,
+nurse_redheart_(mlp),4,686,nurse_redheart
+ms._harshwhinny_(mlp),4,686,ms_harshwhinny_(mlp)
+garfield_(series),3,686,"garfield_&_friends,garfield_and_friends,garfield_series,garfield_show,the_garfield_show"
+flesh_creature,5,686,
+currency_symbol,0,686,currency_sign
+cramped,0,686,
+courage_the_cowardly_dog,3,686,"couragethecowardlydog,ctcd,the_fog_of_courage"
+butt_smother,0,686,"ass_smother,ass_smothered,ass_smothering,butt_smothered,butt_smothering"
+bikini_aside,0,686,
+vector,0,685,
+town,0,685,
+summoning,0,685,
+small_horn,0,685,small_horns
+skyrim_werewolf,4,685,skyrim_werewolf_(female)
+playboy_bunny,0,685,
+penis_ribbon,0,685,"cock_ribbon,dong_ribbon"
+keadonger,1,685,"kea_(artist),keadonger_(artist)"
+ipan,1,685,"mewpan,mewpony"
+drawstring,0,685,
+autocunnilingus,0,685,"auto_cunnilingus,self_cunnilingus"
+unborn_kicking,0,684,
+stretch_marks,0,684,
+rapidash,5,684,
+marthedog,1,684,
+magenta7,1,684,magenta7_(artist)
+lovelesskiax,1,684,
+kyaru_(princess_connect!),4,684,kyaru_(princess_connect)
+hotel,0,684,
+yellow_belly,0,683,
+streaming,0,683,
+micro_organism_(organism),5,683,
+holding_both_thighs,0,683,"double_thigh_hold,holding_thighs"
+arm_by_side,0,683,
+swing,0,682,
+servicing_from_below,0,682,servicing_from_beneath
+nobby_(artist),1,682,nobbydraws
+moki,1,682,
+inkling_girl,4,682,
+five_nights_at_freddy's_world,3,682,fnaf_world
+cum_on_food,0,682,
+youtube,3,681,
+thong_straps,0,681,
+strapon_sex,0,681,"strap-on_sex,strap_on_sex"
+roller_skates,0,681,rollerskates
+relieved,0,681,"relief,relieve,relieving"
+glopossum,1,681,aixarata
+doug_winger,1,681,
+date,0,681,
+bangle,0,681,bangles
+amicus_(adastra),4,681,
+zerofox1000,1,680,
+trevor-fox,1,680,
+supernumerary_breasts,0,680,
+sitting_on_sofa,0,680,sitting_on_couch
+rocko's_modern_life,3,680,rockos_modern_life
+on_furniture,0,680,
+mechanic,0,680,
+foot_on_head,0,680,
+white_stockings,0,679,
+frying_pan,0,679,"cooking_pan,frying_pans,frypan,frypans,skillet,skillets"
+dark_penis,0,679,
+chakat,5,679,
+chair_bondage,0,679,
+aloe_(mlp),4,679,
+white_pubes,0,678,white_pubic_hair
+tremble_spikes,0,678,
+thighband,0,678,"thigh_band,thigh_bands,thighbands"
+small_nose,0,678,
+seamen,1,678,
+raveneevee,1,678,
+lotus_(mlp),4,678,
+hair_mouth,0,678,
+freedom_planet_2,3,678,
+elbow_pads,0,678,"elbow-pad,elbow-pads,elbow_pad,elbowpad,elbowpads"
+trap_(contrivance),0,677,
+syuro,1,677,
+brown_feet,0,677,
+ambiguous_penetrating,0,677,
+tight_orifice,0,676,
+leaning_on_object,0,676,
+latex_armwear,0,676,
+hisuian_zoroark,5,676,
+feather_in_hair,0,676,feathers_in_hair
+diamond_dog_(mlp),5,676,diamond_dog
+burning,0,676,on_fire
+breeding_slave,0,676,
+animal_tail,0,676,
+world_flipper,3,675,
+reysi,1,675,reysifray
+pointing_at_another,0,675,
+hunter,0,675,
+halbean,1,675,citralove
+eon_duo,0,675,
+wife,0,674,
+vocaloid,3,674,
+vanillaware,3,674,
+sunbathing,0,674,"sun_bath,sun_bathe,sun_bathing,sunbath,sunbathe,tanning"
+selenophile,1,674,
+lagotrope,1,674,bouchee
+implied_oral,0,674,
+gynomorph_on_top,0,674,dickgirl_on_top
+torn_stockings,0,673,ripped_stockings
+slightly_chubby_male,0,673,
+nika_sharkeh,4,673,nikasharkeh
+long_snout,0,673,
+fizz_(lol),4,673,fizz
+background_character,4,673,background_characters
+uniparasite,1,672,
+totesfleisch8,1,672,"tf8,totesfleisch8_(artist)"
+pokemon_champion,0,672,"champion_(pokemon),pokémon_champion"
+living_latex,0,672,
+light_bondage,0,672,
+14:9,7,672,
+translucent_underwear,0,671,"see-through_underwear,see-thru_underwear,see_through_underwear,see_thru_underwear,sheer_underwear,transparent_underwear"
+nintendo_console,0,671,
+hand_in_pants,0,671,hand_down_pants
+sobble,5,670,
+no_nut_november,3,670,
+liara_t'soni,4,670,
+lamnid,5,670,lamnidae
+kellogg's,3,670,kelloggs
+dot_warner,4,670,
+caviid,5,670,"caviidae,cavy"
+castration,0,670,
+under_shade,0,669,
+eating_food,0,669,
+doublestuffed,1,669,
+daisy_dukes,0,669,
+swimwear_pull,0,668,swimsuit_pull
+sex_toy_in_mouth,0,668,sextoy_in_mouth
+reaching_towards_viewer,0,668,reaching_toward_viewer
+nudist,0,668,nudism
+monotone_hands,0,668,
+masters_of_the_universe,3,668,"he-man_and_the_masters_of_the_universe,he_man_and_the_masters_of_the_universe,heman_and_the_masters_of_the_universe"
+marlon.cores,1,668,
+cum_vore,0,668,cum_digestion
+army,0,668,
+amwulf,1,668,
+alarm_clock,0,668,
+witch_(the_owl_house),5,667,
+sailor_moon_(series),3,667,"sailor_moon,sailormoon"
+monster_girl_encyclopedia,3,667,
+living_doll,5,667,
+hands_on_belly,0,667,
+excito,1,667,
+elzzombie,1,667,
+xilrayne,1,666,maikasuke
+wrists_together,0,666,
+uhoh,0,666,"uh-oh,uh_oh"
+scary,0,666,
+may_(pokémon),4,666,"haruka_(pokemon),may_(pokemon)"
+grey_underwear,0,666,gray_underwear
+glistening_legs,0,666,shiny_legs
+chef_hat,0,666,"chef's_hat,chefs_hat"
+butt_crush,0,666,buttcrush
+brandy_harrington,4,666,
+blue_perineum,0,666,
+titfuck_under_clothes,0,665,
+stadium,0,665,
+green_pupils,0,665,
+eyelids,0,665,
+a-chan,4,665,
+wingedwilly,1,664,
+style_parody,0,664,
+stated_homosexuality,0,664,stated_lesbian
+sexy_eyes,0,664,
+red_bow,0,664,
+quill,0,664,quill_pen
+kecleon,5,664,
+black_goo,0,664,
+aeris_(vg_cats),4,664,aeris_(vgcats)
+96panda,1,664,96panda_hk
+sisu_(ratld),4,663,
+parakeet,5,663,"conure,paraquet,paroquet"
+looking_back_at_partner,0,663,
+foreskin_pull,0,663,
+cum_trail,0,663,
+babydoll,0,663,
+azura_inalis,1,663,artist-apprentice587
+azur_lane,3,663,
+penis_creature,5,662,"cock_beast,cock_creature,dick_beast,dick_creature,penis_beast,shaft_beast,shaft_creature"
+nipples_touching,0,662,
+black_and_blue,7,662,blue_and_black
+aer0_zer0,1,662,
+worried_look,0,661,
+jealous,0,661,jealousy
+facial_tattoo,0,661,"face_tattoo,face_tattoos,facial_tattoos,tattoo_on_face,tattooed_face"
+collage,0,661,
+chua,5,661,
+cat_keyhole_bra,0,661,
+buxbi,1,661,lintu
+thousandfoldfeathers,1,660,tffeathers
+synthetic,0,660,
+orange_theme,7,660,
+hogtied,0,660,hogtie
+harlem,1,660,larvitar_(artist)
+cum_bubble,0,660,
+open_hoodie,0,659,
+light_fury,5,659,"light_fury_(species),lightfury,lightfury_(species)"
+facepalm,0,659,"face_palm,facehoof,facepaw"
+basset_hound,5,659,
+animal_skin,0,659,"animal_hide,pelt"
+pupbii,1,658,rokemi
+orange_stripes,0,658,
+oouna,1,658,oouna_(artist)
+nut_(fruit),0,658,"nut,nut_(food),nuts"
+hardyboy,1,658,
+halter,0,658,headcollar
+condom_wrapper,0,658,
+cainesart,1,658,
+avali_(original),0,658,
+tale_of_tails,3,657,
+puffed_cheeks,0,657,"cheeks_puffed,puffy_cheeks"
+delivery_employee,0,657,"delivery_(employee),delivery_boy,delivery_girl,delivery_man,delivery_people,delivery_person,delivery_woman,deliveryboy,deliverygirl,deliveryman,deliverywoman"
+crotch_rope,0,657,crotchrope
+chochi,1,657,
+cell_(organism),5,657,
+starfish_(accessory),0,656,starfish_accessory
+pillow_humping,0,656,"pillow_ride,pillow_sex"
+mount,0,656,
+imminent_knotting,0,656,
+hyper_pussy,0,656,"hyper_labia,hyper_vagina,hyper_vulva"
+himbo,0,656,
+heart_pair,0,656,
+engrish,7,656,bad_grammar
+black_legs,0,656,
+ryekie_(live-a-hero),4,655,
+chihuahua,5,655,"chihuahua_(dog),chihuahua_dog,chihuahueno,chihuahueño"
+camo_clothing,0,655,"camouflage_clothing,camouflage_outfit"
+wugi,1,654,"far-from-over,starfox_(artist),torinsangel"
+towergirls,3,654,
+spazman,1,654,"sidspaztyler,soultornado"
+slightly_damned,3,654,
+red_neckerchief,0,654,
+purple_armwear,0,654,violet_armwear
+partial_nudity,0,654,
+mortal_kombat,3,654,mortal_combat
+jester,0,654,
+hilda_(pokémon),4,654,"hilda_(pokemon),touko,white_(pokemon),white_(pokémon)"
+fleshlight_position,0,654,
+curious,0,654,
+comedy_central,3,654,
+toad_(frog),5,653,
+spider-man_(series),3,653,"spider-man,spider_man,spider_man_(series),spiderman,spiderman_(series)"
+plagueofgripes,1,653,
+green_text,0,653,
+enookie,1,653,
+egg_from_pussy,0,653,
+dragon_tail,0,653,
+dewclaw_hooves,0,653,
+cooliehigh,1,653,
+bloominglynx,1,653,fluffy-box
+two-handed_masturbation,0,652,two_handed_masturbation
+skitty,5,652,
+green_lips,0,652,
+gradient_fur,0,652,
+fleur_de_lis_(mlp),4,652,
+detachable_head,0,652,detached_head
+celebi,5,652,
+catmonkshiro,1,652,
+bolt_(film),3,652,
+aomori,1,652,"aonika_art,aonikaart,chillilemonade"
+tooth_gap,0,651,
+raised_shoulders,0,651,
+innersloth,3,651,
+cum_on_own_balls,0,651,
+blinds,0,651,window_blinds
+bionics,0,651,bionical
+backwards_arm_support,0,651,
+age_regression,0,651,
+short_ears,0,650,
+satsukii,1,650,
+reina.,1,650,"bourbon.,bourbon._(artist),maxxmissions"
+pier,0,650,
+intersex_pred,0,650,
+hyper_pecs,0,650,
+holding_hips,0,650,
+gentle_giant,0,650,
+broken,0,650,
+bravo,1,650,
+bionicle,3,650,
+bambii_dog,1,650,"dead_dog_inc,deaddoginc"
+among_us,3,650,
+aardwolf,5,650,ardwolf
+turntable_(animation),7,649,
+tile_wall,0,649,"tiled_wall,wall_tile,wall_tiles"
+sponty,4,649,
+night_light_(mlp),4,649,"crescent_(mlp),twilights_father_(mlp)"
+joints,0,649,
+fake_cat_ears,0,649,
+castbound,1,649,
+byondrage,1,649,ragemachine
+angoramon,5,649,
+white_bra,0,648,
+submachine_gun,0,648,"smg,sub-machine_gun,submachinegun"
+link2004,1,648,
+green_pants,0,648,
+tridark,1,647,
+star_marking,0,647,☆
+ratofdrawn,1,647,ratofponi
+phathusa,1,647,
+magic_wand,0,647,
+kyander,1,647,"kissaartist,kissyander"
+holding_knife,0,647,
+green_footwear,0,647,
+casual_erection,0,647,
+body_pillow,0,647,bodypillow
+barrel_(live-a-hero),4,647,
+sandwich-anomaly,1,646,theoretical-chaos
+nazuna_hiwatashi,4,646,
+freckles_on_breasts,0,646,boob_freckles
+fivel,1,646,
+dr._eggman,4,646,"doctor_robotnik,dr._ivo_robotnik,dr._robotnik,dr.robotnik,dr_eggman,dr_ivo_robotnik,dr_robotnik,eggman,ivo_robotnik,robotnik"
+arachnid_taur,5,646,
+wet_dream,0,645,"nocturnal_emission,wetdream"
+tentacle_grab,0,645,
+photomorph,7,645,
+monsters_inc,3,645,monsters_incorporated
+microchiropteran,5,645,"microbat,microchiroptera"
+forsaken_(artist),1,645,forsakenspitfire
+comic_panel,0,645,
+clothed_female_nude_female,0,645,"cfnf,nfcf,nude_female_clothed_female"
+berry_punch_(mlp),4,645,"berry_punch,berrypunch_(mlp)"
+treecko,5,644,
+technology,0,644,
+tail_bell,0,644,
+suspension_bondage,0,644,
+pirate_eagle,4,644,
+pills,0,644,pill
+pasaran,1,644,
+orange_(fruit),0,644,oranges
+long_body,0,644,
+drum,0,644,"bass_drum,drums,snare_drum"
+cum_fart,0,644,
+countershade_scales,0,644,
+big_flare,0,644,
+autumn_blaze_(mlp),4,644,
+tony_tony_chopper,4,643,chopper
+orange_pawpads,0,643,"orange_paw_pad,orange_paw_pads,orange_pawpad"
+green_glans,0,643,
+elfdrago,1,643,metachoke
+creepypasta,3,643,
+communal_shower,0,643,
+cocktail_glass,0,643,martini_glass
+cheerleader_outfit,0,643,"cheerleader_costume,cheerleader_uniform,cheerleading_costume,cheerleading_outfit,cheerleading_uniform"
+butt_tuft,0,643,
+annoyed_expression,0,643,
+alradeck,1,643,"andrea_radeck,firefeathers"
+younger_dom_older_sub,0,642,
+wired_controller,0,642,
+vono,1,642,"bolloxtothat,loodovono"
+tggeko,1,642,
+headless,0,642,
+halftone,0,642,"half-tone,half_tone"
+grey_footwear,0,642,gray_footwear
+fat_rolls,0,642,
+cum_in_throat,0,642,cum_down_throat
+cubone,5,642,
+western,0,641,
+rudolph_the_red-nosed_reindeer,4,641,rudolph_the_red_nosed_reindeer
+proboscis_(anatomy),0,641,"elongated_mouth_part,elongated_mouthpart,proboscis,tubular_mouth,tubular_mouth_part,tubular_mouthpart"
+polly_esther,4,641,"polly_ester,pururun"
+neoteny,0,641,
+hrothgar,5,641,
+holding_towel,0,641,
+heart_background,0,641,"<3_background,<3_bg,heart_bg,hearts_background,hearts_bg"
+ear_pull,0,641,"ear_pulling,pulling_ear,pulling_ears"
+clover,0,641,
+bittersweet_candy_bowl,3,641,bcb
+shadow_lugia,5,640,
+red_anus,0,640,
+huge_sheath,0,640,
+hooved_plantigrade,0,640,
+dsan,1,640,
+daiidalus,1,640,"daiidalus_(artist),murder_daiida,murderdaiida,vhs_daii,vhs_scrooge,vhsdaii,vhsscrooge"
+creek,0,640,stream
+brain,0,640,
+undressing_another,0,639,
+renekton,4,639,
+puppet,0,639,
+jakethegoat,1,639,
+arashidrgn,1,639,
+yarn,0,638,
+tower,0,638,
+the_cabin_in_the_woods_(arania),3,638,
+tentacle_around_arm,0,638,
+purplepardus,1,638,
+kalnareff_(character),4,638,
+iriedono,1,638,
+hands_under_legs,0,638,
+furlana,1,638,
+fiona_fox,4,638,fiona_the_fox
+feet_together_knees_apart,0,638,
+dramamine,1,638,
+spotted_legs,0,637,
+redpixie,1,637,"pixieeeshay,redpixxxie,thotdog"
+procyonid_humanoid,5,637,
+green_tentacles,0,637,green_tentacle
+closet,0,637,
+tadatomo,4,636,
+hand_in_panties,0,636,
+foxes_in_love,1,636,
+cum_on_own_chest,0,636,
+cross_fox,0,636,crossfox
+clawroline,4,636,
+zinogre,5,635,
+triforce,0,635,
+sticky,0,635,
+stella_(helluva_boss),4,635,stella_(vivzmind)
+panties_on_feral,0,635,
+king-cheetah,1,635,"marmaladejane,shon_howell,trollie_trollenberg"
+frisky_ferals,3,635,
+fake_horns,0,635,"fake_horn,hairband_with_horn,hairband_with_horns,hairbands_with_horn,hairbands_with_horns,headband_with_horn,headband_with_horns,headbands_with_horn,headbands_with_horns,horn_hairband,horn_hairbands,horn_headband,horn_headbands,horns_hairband,horns_hairbands,horns_headband,horns_headbands"
+araivis-edelveys,1,635,
+angrypotato96,1,635,
+snails_(mlp),4,634,snails
+richard_watterson,4,634,
+duct_tape,0,634,"duck_tape,duct-tape,ducttape,rapetape"
+clothing_loss,0,634,
+uncle_and_nephew,0,633,nephew_and_uncle
+sengoku_puzzle,3,633,
+scratch,0,633,
+red_necktie,0,633,red_tie
+raccoon_humanoid,5,633,humanoid_raccoon
+purple_dress,0,633,
+prehensile_tongue,0,633,
+philippine_eagle,5,633,"great_philippine_eagle,monkey-eating_eagle,monkey_eating_eagle"
+meow_skulls_(fortnite),4,633,
+green_fox_(foxes_in_love),4,633,
+aurora_borealis,0,633,northern_lights
+anthozoan,5,633,anthozoa
+trace_legacy,4,632,trace_(twokinds)
+sigenoya,1,632,
+sake,0,632,
+peeing_inside,0,632,internal_watersports
+jake_long,4,632,
+feral_dominating_human,0,632,
+lounge_chair,0,631,deck_chair
+legend_of_queen_opala,3,631,
+holowear_(pokemon),0,631,holowear_(pokémon)
+belladonna_(trials_of_mana),4,631,
+award,0,631,
+ankle_grab,0,631,grabbing_ankle
+surreal,0,630,
+dizzy,0,630,
+disc_jockey,0,630,"d.j.,deejay,disk_jockey,dj"
+cum_in_nipples,0,630,"cum_in_breast,cum_in_breasts,cum_in_nipple"
+akunim,1,630,
+yakovlev-vad,1,629,
+mcsweezy,1,629,whydomenhavenipples
+euplerid,5,629,
+brown_headwear,0,629,
+bobbydando,1,629,
+bird_wyvern,5,629,
+♦,0,628,"<>,diamond_(suit),diamond_suit,diamond_symbol,diamonds_(suit),diamonds_suit"
+mega_gardevoir,5,628,
+marshal_(animal_crossing),4,628,
+manika_nika,1,628,"manika_nika_(artist),manikanika"
+lighter,0,628,
+cum_on_fur,0,628,
+brown_shoes,0,628,
+air_bubble,0,628,air_bubbles
+scepter,0,627,
+grisser,1,627,
+grey_hooves,0,627,gray_hooves
+goat_humanoid,5,627,humanoid_goat
+drill_curls,0,627,"corkscrew_curl,corkscrew_curls,drill_hair,ojou_ringlets,princess_curl,princess_curls,ringlet,ringlet_hair,ringlets,sausage_curl,sausage_curls,tube_curl,tube_curls"
+black_perineum,0,627,
+007delta,1,627,
+tinygaypirate,1,626,
+rairai-no26-chu,1,626,
+multiple_versions,7,626,
+inkit89,1,626,
+immobilization,0,626,immobilized
+digitaldomain123,1,626,digitaldomain123_(artist)
+breeding_mount,0,626,
+seth_(tas),4,625,
+r3drunner,1,625,r3drunner_(artist)
+nawka,1,625,
+maine_coon,5,625,
+hand_on_own_breast,0,625,hand_on_own_breasts
+cybernetic_leg,0,625,"augmented_leg,cybernetic_legs,cyborg_legs"
+canisfidelis,1,625,
+rika_nonaka,4,624,"makino_ruki,ruki_makino"
+purple_yoshi_draws,1,624,purple-yoshi-draws
+lulu_(lol),4,624,lulu_(league_of_legends)
+insectophilia,0,624,
+higgyy,1,624,
+gums,0,624,
+dawn_(pokémon),4,624,"dawn_(pokemon),hikari_(pokemon)"
+blue_fox_(foxes_in_love),4,624,
+april_o'neil,4,624,
+light_ears,0,623,
+iudicium86,1,623,
+intersex_focus,0,623,
+evergreen_tree,0,623,"evergreen_(tree),evergreen_(trees),evergreen_trees,evergreentree,evergreentrees"
+doomthewolf,1,623,"doom_the_wolf,doomxwolf"
+domino_mask,0,623,"domini_mask,dominus_mask"
+dedoarts,1,623,lionalliance
+bolt_(bolt),4,623,
+video_camera,0,622,"camcorder,videocamera"
+skimpy_bikini,0,622,
+pink_bow,0,622,
+mawplay,0,622,maw_play
+hyperstorm_h,1,622,
+disembowelment,0,622,"disembowel,disemboweled,disemboweling,evisceration"
+blue_jacket,0,622,
+translucent_wings,0,621,transparent_wings
+the_simpsons,3,621,simpsons
+marceline_abadeer,4,621,
+jellyfish,5,621,"sea_jellies,sea_jelly"
+glasses_on_head,0,621,glasses_on_forehead
+fuzzy,0,621,
+front-print_panties,0,621,
+firondraak,4,621,firon
+constricted_pupils,0,621,"constricted_pupil,miosis,myosis,pin_point_pupil,pin_point_pupils,pinpoint_pupil,pinpoint_pupils,pupil_constricted,pupil_constriction,pupil_constricts,pupil_shrink,pupil_shrinks,pupils_constrict,pupils_constricted,pupils_shrink,pupils_shrinks,shrunk_pupil,shrunk_pupils,shrunken_pupil,shrunken_pupils"
+casimira_(orannis0),4,621,
+buster_bunny,4,621,
+top_heavy,0,620,
+purple_tentacles,0,620,purple_tentacle
+mature_humanoid,0,620,
+kiseff,1,620,"bun_snn,uriell3"
+karol_pawlinski,1,620,"kp-shadowsquirrel,shadowsquirrel"
+handheld,0,620,
+goonie-san,1,620,
+bathym,4,620,
+x_eyes,0,619,x_x
+white_swimwear,0,619,white_swimsuit
+shinysteel,1,619,
+lineless,7,619,lineless_art
+brown_sclera,0,619,"brown_eye_membrane,brown_eye_white,brown_eye_whites,brown_outer_eye,brown_sclerotic_coat,brown_white_of_the_eye,brown_white_of_the_eyes,brown_whites_of_the_eye,brown_whites_of_the_eyes"
+belly_growl,0,619,
+arm_spikes,0,619,
+writing_text,0,618,
+wargreymon,5,618,
+thorns,0,618,
+surface_piercing,0,618,
+reverse_gangbang,0,618,reverse_ganbang
+photography_(artwork),7,618,"photo_art,photo_artwork,photograph_(art),photograph_(artwork),photography_(art),photography_art,photography_artwork"
+pandashorts,1,618,
+furafterdark,3,618,fur_after_dark
+bna_v5,1,618,
+bleats,1,618,goat-kid
++,0,618,"red_cross,swiss_cross"
+sunny_starscout_(mlp),4,617,
+self_suckle,0,617,
+outside_panel,0,617,
+hypnotic_visor,0,617,
+grey_breasts,0,617,gray_breasts
+baloo,4,617,
+zeromccall,1,616,
+tongue_wrap,0,616,
+striptease,0,616,strip_tease
+rinny,1,616,astridofastora
+pussy_juice_on_hand,0,616,"pussy_juice_on_finger,pussy_juice_on_fingers,pussy_juice_on_hands"
+pink_wings,0,616,
+genet,5,616,
+ficficponyfic,1,616,
+dafka,1,616,dafka155
+commander_shepard,4,616,
+bedroom_sex,0,616,
+triangle_position,0,615,
+theblueberrycarrots,1,615,
+pyramid,0,615,
+plantpenetrator,1,615,
+living_sex_toy,0,615,
+light_breasts,0,615,
+isolatedartest,1,615,isolatedartest_(artist)
+inverted_pentagram,0,615,
+incase,1,615,
+claws_out,0,615,
+chaos_emerald,0,615,
+zi0808,1,614,
+wyntersun,1,614,"whereszoqi,wyntersun_(artist),yaita,yaita_(artist)"
+who_framed_roger_rabbit,3,614,
+pata,1,614,
+onsen,0,614,
+cornchip21,1,614,
+vibrating,0,613,"vibrate,vibration"
+tsareena,5,613,
+tavern,0,613,
+stuck_together,0,613,
+stereogram,7,613,"stereograph,stereographic,stereoscopic"
+sparkling_eyes,0,613,"eye_sparkle,eye_sparkles,eye_sparkling,eyes_sparkle,eyes_sparkling,sparkle_eye,sparkle_eyes,sparkling_eye"
+ralts,5,613,shiny_ralts
+ice_cream_cone,0,613,
+foot_in_mouth,0,613,
+cum_while_chaste,0,613,
+after_vaginal_penetration,0,613,
+wiggle,0,612,wiggling
+super_mario_galaxy,3,612,
+red_swimwear,0,612,red_swimsuit
+pubic_tattoo,0,612,"crotch_tattoo,pelvic_tattoo"
+lichfang,1,612,zombieme
+wolf_(petruz),4,611,
+sports_mask,0,611,
+plushie-like,0,611,
+peppy_hare,4,611,peppy
+misty_(pokemon),4,611,"gym_leader_misty,misty_(gym_leader),misty_(pokémon),the_tomboyish_mermaid!_misty,the_tomboyish_mermaid_misty,tomboyish_mermaid!_misty,tomboyish_mermaid_misty"
+lunate,1,611,
+full_nelson_(legs_held),0,611,
+crepix,1,611,
+azuma_minatsu,1,611,"higashi_minatsu,retasu_zasso,レタス(m)@裏垢"
+afrosoricid,5,611,
+stone_wall,0,610,
+lizard_humanoid,5,610,
+live_birth,0,610,
+ketzio,1,610,ketzio11
+inuyasha,3,610,
+blunt_bangs,0,610,
+8_breasts,0,610,"8_breast,8_breasted,eight_breast,eight_breasted,eight_breasts"
+white_tank_top,0,609,white_tanktop
+narration,0,609,
+horse_tail,0,609,
+heavy_thrusting,0,609,
+5_eyes,0,609,"5_eyed,five_eyed,five_eyes"
+pussy_juice_through_clothing,0,608,
+picture_in_picture,7,608,picture-in-picture
+multiple_subs,0,608,
+multicolored_markings,0,608,"multi-colored_marking,multi-colored_markings,multi_colored_marking,multi_colored_markings,multicolored_marking"
+moreuselesssource,1,608,essentiallypony
+glitch,0,608,"glitching,glitchy"
+cervid_humanoid,5,608,deer_humanoid
+blind_eye,0,608,
+anterior_nasal_aperture,0,608,"nasal_bone,nasal_hole,nose_hole,piriform_aperture,pyriform_aperture,skull_nasal_hole,skull_nose,skull_nose_hole"
+taur_penetrated,0,607,
+soina,1,607,
+piñata,0,607,"pinata,pinatas,piñatas"
+mcfan,1,607,
+jak_and_daxter,3,607,
+funtime_foxy_(fnaf),4,607,toy_foxy_(fnaf)
+yak,5,606,
+tokin_hat,0,606,
+plaid_topwear,0,606,tartan_topwear
+moondancer_(mlp),4,606,"moon_dancer,moon_dancer_(mlp),moondancer"
+kotobuki,1,606,
+josou_seme,0,606,
+headkerchief,0,606,
+exed_eyes,1,606,"exed_eyes_(artist),exedeyes,wpddpw,ɯ(_–_–_)ɯ"
+dying,0,606,
+yellow_pupils,0,605,
+the_other_half,1,605,theotherhalf
+scientific_experiment,0,605,"lab_experiment,laboratory_experiment"
+monotone_tongue,0,605,
+marsupial_penis,0,605,"kangaroo_penis,oposssum_penis,posssum_penis"
+grandparent,0,605,"grand_parent,grand_parents,grandparents"
+countershade_genitalia,0,605,countershade_genitals
+christmas_present,0,605,christmas_presents
+chikorita,5,605,
+bleach_(series),3,605,
+annelid,5,605,
+tenrec,5,604,
+self_service_pump,0,604,
+road_rovers,3,604,
+popplio,5,604,
+chat,0,604,
+body_armor,0,604,body_armour
+tohupo,1,603,
+spirale,1,603,
+pseudo-penis,0,603,"pseudo_penis,pseudopenis"
+lycangel,1,603,
+long_labia,0,603,"big_labia,enlarged_labia,giant_labia,large_inner_labia,large_labia,long_labia_minora,outie_labia,outie_pussy,outie_vagina,roastie,roastie_labia,roastie_pussy,roastie_vagina,roasty_labia,roasty_pussy,roasty_vagina"
+dark_clothing,0,603,
+blood_splatter,0,603,
+artsy-theo,1,603,"artsy_theo,dreamchasingwindie,theologicallyy"
+warriors_(cats),3,602,warrior_cats
+quotefox,1,602,
+compound_eyes,0,602,"bug_eye,bug_eyes,compound_eye,insect_eye,insect_eyes"
+black_and_white_fur,0,602,white_and_black_fur
+water_gun,0,601,"squirt_gun,watergun"
+text_on_body,0,601,
+submerged_tail,0,601,
+stethoscope,0,601,
+scooby-doo,4,601,"scooby,scooby_(character),scooby_doo,scooby_doo_(character),scoobydoo,scoobydoo_(character)"
+confident,0,601,
+absolutely_everyone,0,601,"everyone,everypony_(mlp)"
+aardvark,5,601,
+yangochiropteran,5,600,"vespertilioniform,vespertilioniformes,yangochiroptera"
+smooth_motion_outline,0,600,
+shell-less,0,600,"removable_shell,shell_less,shelless_turtle"
+rainbow_body,0,600,
+prince_sidon,4,600,"sidon_(loz),sidon_(tloz),sidon_(zelda)"
+miyu_lynx,4,600,
+marco_fanjul,1,600,"marcofanjul,mfanjul"
+horn_accessory,0,600,"horn_accessories,horn_decoration,horn_decorations,horn_ornament,horn_ornaments"
+hand_on_crotch,0,600,
+ftm_transformation,0,600,
+chesnaught,5,600,
+assisted_sex,0,600,
+white_pawpads,0,599,"white_paw_pad,white_paw_pads,white_pawpad"
+omari,1,599,
+mettaton_ex,4,599,
+feral_pov,0,599,
+cyndaquil,5,599,
+cracky,1,599,crackycrackers
+bridal_carry,0,599,
+through_clothing,0,598,through_clothes
+orange_underwear,0,598,
+hand_imprint,0,598,
+bully,0,598,
+anthroanim,1,598,
+ajna,1,598,"ladykix,lolita_(artist)"
+agamid,5,598,"agama,agama_(lizard),agama_lizard,agamidae,dragon_(lizard),dragon_lizard"
+1_horn,0,598,"one_horn,single_horn,singular_horn,unihorn"
+white_chest,0,597,
+throwing,0,597,throw
+sligarthetiger,1,597,
+rough_collie,5,597,
+net,0,597,
+lamiaaaa,1,597,krystil
+holding_headgear,0,597,
+hadrosaurid,5,597,"hadrosaur,lambeosaur"
+ghoul_school,3,597,"scooby-doo_and_the_ghoul_school,scooby_doo_and_the_ghoul_school,scoobydoo_and_the_ghoul_school,the_ghoul_school"
+digimorph,0,597,
+cyanotic_epithelium,0,597,
+a_story_with_a_known_end,3,597,
+3_tails,0,597,"3_tailed,three_tailed,three_tails"
+1997,7,597,
+tail_cuff,0,596,tail_cuffs
+sweater_vest,0,596,"sleeveless_thumper_dumper,sweater-vest,sweatervest"
+shonuff,1,596,"ronzo_murphy,shonuff44"
+pink_knot,0,596,
+lord_dominator,4,596,
+leapfrog_position,0,596,
+green_swimwear,0,596,green_swimsuit
+flag_print,0,596,
+cradling,0,596,
+4koma,7,596,
+white_nails,0,595,
+prison_uniform,0,595,"prison_jumpsuit,prison_outfit"
+janner3d,1,595,"benezia,jessica_anner"
+heart_pattern,0,595,
+gold_ring,0,595,
+furfrou,5,595,
+face_squish,0,595,"cheek_squish,face_squished,squish_cheek,squish_cheeks,squish_face,squished_cheek,squished_cheeks,squished_face,squishy_cheek,squishy_cheeks,squishy_face"
+tire,0,594,"tires,tyre,tyres"
+superiorfox,1,594,superiorfoxdafox
+s2-freak,1,594,
+restrained_arms,0,594,
+nukerooster,1,594,tatchit
+mtg_transformation,0,594,"male_to_dickgirl_tf,male_to_dickgirl_transformation,male_to_gynomorph_tf,male_to_gynomorph_transformation,mtd_tf,mtd_transformation,mtg_tf"
+mario_and_luigi_(series),3,594,"mario_&_luigi,mario_and_luigi"
+long_nipples,0,594,long_nipple
+jet_the_hawk,4,594,
+dorumon,5,594,
+cum_strand,0,594,
+chalk,0,594,
+bigshow,1,594,
+river_otter,5,593,
+porin,1,593,
+pink_text,0,593,
+muscular_andromorph,0,593,"muscular_cuntboy,muscular_pussy_boy"
+mayor_mare_(mlp),4,593,mayor_mare
+detailed_navel,0,593,
+butt_worship,0,593,
+both_pregnant,0,593,
+bitchsuit,0,593,bitch_suit
+alolan_meowth,5,593,"alola_meowth,meowth_(alola_form),meowth_(alolan_form)"
+shadman,1,592,therealshadman
+ravrous,1,592,"rav,ravnic"
+piano,0,592,
+oral_sandwich,0,592,
+model,0,592,
+husband,0,592,
+hand_on_another's_head,0,592,
+foot_sniffing,0,592,"feet_sniffing,smelling_feet,sniffing_feet"
+drinking_straw,0,592,
+crovirus,1,592,siplelpis
+chat_box,0,592,chatbox
+carp,5,592,
+small_butt,0,591,"small_ass,small_booty"
+salivating,0,591,
+rusty_trombone,0,591,
+rayquaza,5,591,
+king_dedede,4,591,
+furry_wearing_fursuit,0,591,"furry_character_wearing_fursuit,furry_in_fursuit"
+eunuch,0,591,"castrated,gelding,neutered"
+don_ko,1,591,"don-ko,don-komandorr,don_komandorr,donko"
+darkrai,5,591,
+computer_keyboard,0,591,keyboard_(computer)
+busty_bird,4,591,
+bone_frill,0,591,"bone_crest,boned_crest,boned_frill,bony_crest,bony_frill,crest_bone,crested_bone,frill_bone,frilled_bone"
+black_sheath,0,591,
+bisexual_pride_colors,0,591,"bi_colors,bi_flag,bi_pride_flag,bisexual_colors,bisexual_flag,bisexual_pride_flag"
+zer0rebel4,1,590,
+vexstacy,1,590,"blaithe,vexstacyart"
+utau,3,590,
+shirtless_male,0,590,
+rose_petals,0,590,rose_petal
+morrigan_aensland,4,590,
+mindfuck,0,590,"brain_fuck,brain_sex,mind_fuck"
+gaikiken,1,590,rirouku
+candlelight,0,590,candle_light
+boredbun,1,590,dominussfm
+babystar,1,590,toddlergirl
+valkoinen,1,589,
+tsathoggua,4,589,
+sabrotiger,1,589,
+pussy_sounding,0,589,"female_sounding,vaginal_sounding"
+pink_cheeks,0,589,
+flash_game,7,589,
+fairies_vs_tentacles,3,589,
+eye_mist,0,589,
+arm_above_head,0,589,
+text_print,0,588,
+syvaron,1,588,
+sentient_penis,0,588,
+ralek,1,588,"dileakstudios,ralekarts"
+purple_footwear,0,588,violet_footwear
+mismatched_genitalia,0,588,
+impalement,0,588,"impale,impaled,impaling"
+cum_on_neck,0,588,
+chubby_belly,0,588,
+cabin,0,588,
+arms_in_front,0,588,
+alolan_raichu,5,588,"alola_raichu,raichu_(alola_form),raichu_(alolan_form)"
+terriermon,5,587,
+qr_code,0,587,
+lostgoose,1,587,
+legacy_(ratte),3,587,
+larvitar,5,587,
+kaiketsu_zorori,3,587,
+julius_zimmerman,1,587,
+halcy0n,1,587,halcy0n_(artist)
+gimka,1,587,
+dangling,0,587,
+blue_mouth,0,587,
+ventral_groove,0,586,
+tired_eyes,0,586,
+teddy_(clothing),0,586,
+tail_over_skirt,0,586,
+pine_tree,0,586,"pine_trees,pinetree,pinetrees"
+mutual_penetration,0,586,
+immelmann,1,586,
+green_dress,0,586,
+frustrated,0,586,
+animancer,1,586,
+xbox,3,585,
+smileeeeeee,1,585,"oduvan773,smu"
+shamelesss,1,585,
+nipple_pull,0,585,"nipple_pulling,nipple_tug,nipple_tugging,nipples_pull,nipples_pulling,nipples_tug,nipples_tugging,pulling_nipple,pulling_nipples,tug_nipple,tug_nipples,tugging_nipple,tugging_nipples"
+lollipopcon,1,585,sechomi11
+intersex_pov,0,585,
+enderman,5,585,
+ear_stud,0,585,"ear_studs,earstud,earstuds"
+dreamy_pride,1,585,
+avian_caruncle,0,585,"bird_caruncle,caruncle_(avian),caruncle_(bird)"
+white_hat,0,584,
+sport_swimsuit,0,584,competition_swimsuit
+spikedmauler,1,584,
+kyrosh,1,584,
+irl_trace,0,584,
+headphones_around_neck,0,584,
+2d_(artwork),0,584,
+underfoot,0,583,
+stunnerpony,1,583,"stunnerart,stunnerman,stunnerponyclop"
+skoon,1,583,
+reading_book,0,583,
+rainbow_flag,0,583,
+monotone_bottomwear,0,583,"mono-tone_bottom_wear,mono-tone_bottomwear,mono_tone_bottom_wear,mono_tone_bottomwear,monotone_bottom_wear"
+honey_badger,5,583,ratel
+black_fingernails,0,583,
+war,0,582,
+strapped_in_toy,0,582,
+semi_public,0,582,
+sana!rpg,1,582,yes!rpg
+rock_creature,5,582,"living_rock,living_stone,rock_boy,rock_girl,rock_monster,stone_boy,stone_creature,stone_girl,stone_monster"
+pink_swimwear,0,582,pink_swimsuit
+oob,1,582,
+nose_to_nose,0,582,eskimo_kiss
+cracks,0,582,
+triangle_bikini,0,581,
+spotty_the_cheetah,1,581,spotty-the-cheetah
+spotted_arms,0,581,
+sailoranna,1,581,
+raccoondouglas,1,581,"coondouglas,dougaryu,dougaryutzke,douglas_of_coon,raccoon_douglas,raccoon_douglas_(artist),raccoondouga,rdouglas"
+leg_over_thigh,0,581,
+kostos_art,1,581,
+jrjresq,1,581,
+green_apron,0,581,
+ebonychimera,1,581,"kayla-na,kayla-na_(artist),mel-the-hybrid,mel-the-hybrid_(artist),mel_the_hybrid,mel_the_hybrid_(artist)"
+takagi_kyou,1,580,takaki_takashi
+portal_sex,0,580,
+ownership,0,580,
+green_panties,0,580,
+firefightdex,3,580,
+chapaevv,1,580,
+blorp,0,580,
+avatar:_the_last_airbender,3,580,avatar_the_last_airbender
+acstlu,1,580,
+zackary911,1,579,zackary911_(artist)
+visor_cap,0,579,
+silfoe,1,579,"royalsketchbook,theroyalsketchbook"
+hydreigon,5,579,
+tassels,0,578,tassel
+sweaty_face,0,578,
+shakotanbunny,1,578,
+pregnant_cub,0,578,
+ok_sign,0,578,"ok_gesture,ring_gesture,👌"
+luckypan,1,578,neolucky
+lube_drip,0,578,
+furaffinity,3,578,fur_affinity
+fenavi_montaro,4,578,fenfen_maria_esteban
+dragonfly,5,578,
+blue_belly,0,578,
+ambient_butterfly,5,578,
+shoulder_markings,0,577,"shoulder_marking,shoulders_marking,shoulders_markings"
+qlock,1,577,
+nutjob,0,577,
+muk,5,577,
+eel,5,577,"anguilliform,anguilliforme,eels"
+cupcake_(fnaf),4,577,
+3,0,577,broken_heart
+♠,0,576,"spade_(suit),spade_suit,spades_(suit),spades_suit"
+sparkledog,5,576,sparkle_dog
+piplup,5,576,
+older_feral,0,576,
+goofy_(disney),4,576,goofy
+front_pussy,0,576,front_vagina
+brown_anus,0,576,
+wrist_wraps,0,575,wrist_wrap
+ursaring,5,575,
+nadia_fortune,4,575,"miss_fortune_(skullgirls),ms._fortune_(skullgirls),ms_fortune_(skullgirls)"
+marine_the_raccoon,4,575,
+grey_sclera,0,575,gray_sclera
+food_in_mouth,0,575,
+flippers,0,575,
+distorted_contour,0,575,
+apartment,0,575,
+alpha_pokémon,5,575,alpha_pokemon
+sheathed_weapon,0,574,
+oven,0,574,
+hashtag,0,574,
+dismemberment,0,574,
+blue_blush,0,574,
+tbid,1,573,
+misleading_thumbnail,0,573,deceptive_thumbnail
+double_oral,0,573,
+chano,1,573,
+blue_breasts,0,573,
+yuumi_(lol),4,572,
+yellow_breasts,0,572,
+unbuttoned_shirt,0,572,
+roy_mccloud,1,572,
+pattern_diaper,0,572,patterned_diaper
+monotone_inner_ear,0,572,
+kristiana_puff,1,572,kristianapuff
+equine_taur,5,572,
+computer_monitor,0,572,
+bovine_horn,0,572,bovine_horns
+tsunoda,4,571,
+gerrkk,1,571,gerkk
+diplodocid,5,571,
+butt_wings,0,571,buttwings
+baphomet_(deity),4,571,
+angel_(lady_and_the_tramp),4,571,
+an-tonio,1,571,
+senshion,1,570,
+sabrina_online,3,570,
+old_world_monkey,5,570,"cercopithecid,cercopithecidae,cercopithecidaen,mangabey"
+miu,1,570,"flanks,miupix,sunshy"
+kardie,1,570,
+handles,0,570,
+guard,0,570,
+grenade,0,570,grenades
+fool's_hat,0,570,"cap_and_bells,fool's_cap,fool_cap,fool_hat,fools_cap,fools_hat,foolscap,jester's_cap,jester's_hat,jester_cap,jester_hat,jesters_cap,jesters_hat"
+cabinet,0,570,
+anus_outline,0,570,"anal_outline,anus_bulge"
+two_tone_mane,0,569,
+two_tone_beak,0,569,
+treasure_planet,3,569,
+threaded_by_penis,0,569,
+squishy_(artist),1,569,"squishers,squishyskindalewd"
+patagium,0,569,"flying-membrane,flying_membrane,gliding_flap,gliding_membrane,gliding_skin,patagia"
+panties_bulge,0,569,
+neotropical_parrot,5,569,
+looking_at_porn,0,569,"looking_at_porno,looking_at_pornography,porn_watching,porno_watching,pornography_watching,watching_porn,watching_porno,watching_pornography"
+fourball,1,569,4ball
+fifa,3,569,
+1boshi,1,569,
+sybian,0,568,
+ryunwoofie,1,568,
+primate_humanoid,5,568,
+ilulu,4,568,iruru
+emelie_(cyancapsule),4,568,
+carol_tea,4,568,
+bandanna_only,0,568,
+the_lego_movie,3,567,
+slavedemorto,1,567,
+prrrrrrmine,1,567,
+pipp_petals_(mlp),4,567,
+multitasking,0,567,"multi-tasking,multi_tasking"
+kovu,4,567,
+furfragged,1,567,
+flamingo,5,567,
+feral_on_bottom,0,567,
+emboar,5,567,
+wavy_tail,0,566,
+summoning_circle,0,566,
+snowy_owl,5,566,"arctic_owl,polar_owl,snow_owl"
+shaolin_bones,1,566,syourinbonzu
+pink_paws,0,566,
+moodyferret,1,566,"micah_fennec,micah_fennec_(artist),micahfennec,micahfennec_(artist),moody_ferret,moody_ferret_(artist),moodyferret_(artist),seekingrelease,seekingrelease_(artist)"
+lilligant,5,566,
+garrus_vakarian,4,566,
+cavalier_king_charles_spaniel,5,566,"blenheim_spaniel,english_toy_spaniel,king_charles_spaniel,prince_charles_spaniel,ruby_spaniel,toy_spaniel"
+blackjr,1,566,
+asymmetrical_breast_frottage,0,566,"asymmetrical_breast_docking,asymmetrical_breasts_frottage,asymmetrical_docking"
+trials_in_tainted_space,3,565,
+terraria,3,565,
+natysanime,1,565,
+lila_(kashiwagi_aki),4,565,
+human_on_taur,0,565,"hn/o/t,human/taur,t/o/hn,taur/human,taur_on_human"
+haydee_(game),3,565,
+expressions,0,565,
+chest_scar,0,565,"chest_scars,torso_scar"
+zaviel,1,564,
+roadiesky,1,564,
+flower_on_head,0,564,
+fenrir_lunaris,1,564,fenrir-lunaris
+dark_nek0gami,1,564,"darknek0gami,darknekogami,nek0gami"
+broad_shoulders,0,564,
+avian_(starbound),5,564,
+angrboda,1,564,
+vaginal_fisting,0,563,
+two_tone_footwear,0,563,
+taomon,5,563,
+sweaty_body,0,563,
+rotom,5,563,motisma
+rockbottomfeeder,1,563,"basedesire,feederrock,hagfish_(artist),mastermead,mead_(artist),mistermead,mr._mead,mr_mead"
+red_cape,0,563,
+pussy_juice_on_tongue,0,563,
+power_tool,0,563,power_tools
+pelvic_curtain,0,563,
+nekocrispy,1,563,crispychris
+martian,5,563,
+keishinkae,1,563,vertizontal
+holding_another,0,563,
+gothbunnyboy,1,563,
+glowing_anus,0,563,
+finger_ring,0,563,
+cybercat,1,563,"lady-cybercat,stephanie_stone"
+alec8ter,1,563,"alec8ter_(artist),eightspartans,s8,s8_(artist)"
+wing_growth,0,562,
+speeds,1,562,speedyhimura
+pussy_juice_on_leg,0,562,pussy_juice_on_legs
+precum_through_underwear,0,562,
+orange_mane,0,562,
+liepard,5,562,
+ecaflip,5,562,
+cock_gag,0,562,"dildo_gag,penis_gag"
+xpray,1,561,
+sundown_(artist),1,561,sunnysundown
+short_sleeves,0,561,
+reppy_(mlp),4,561,
+haydee,4,561,
+goblet,0,561,chalice
+glitter_trap_boy,1,561,glitter-trap-boy
+garfield_the_cat,4,561,"garfield,garfield_(character),garfield_cat"
+four_frame_grid,0,561,
+contour_smear,0,561,
+black_belt,0,561,
+bison,5,561,
+spider_taur,5,560,"spidertaur,spidetaur"
+snout_growth,0,560,muzzle_growth
+ribbed_clothing,0,560,
+red_face,0,560,
+nipple_sex,0,560,
+megane_inu,1,560,眼鏡狗
+maleherm/male,0,560,"m/mh,male/maleherm,maleherm_on_male,mh/m"
+kyotoleopard,1,560,kyotokisha15
+kame_3,1,560,"kame3,かめ"
+guiche_piercing,0,560,"perineum_piercing,pierced_perineum,pierced_taint,taint_piercing"
+frenulum,0,560,frenum
+dtalvi,1,560,
+adelia_(changbae),4,560,
+zerolativity,1,559,
+tentabat,1,559,"lizardbat,lizardbat_(artist),tentabatdraws"
+red_ball_gag,0,559,
+pendulum,0,559,
+open_coat,0,559,
+muzzle_fuck,0,559,"muzzle_fucking,muzzlefuck,muzzlefucking"
+multi_pussy,0,559,"multi_pussies,multi_vagina,multi_vaginas,multiple_pussies,multiple_pussy,multiple_vagina,multiple_vaginas"
+masyunya_(vkontakte),4,559,
+hand_gesture,0,559,
+green_cum,0,559,
+dragonfu,1,559,
+daigo,1,559,
+big_quads,0,559,
+beach_chair,0,559,sun_chair
+yellow_anus,0,558,gold_anus
+unibrow,0,558,monobrow
+sarabi,4,558,
+red_xiii,4,558,red_xii
+omny87,1,558,
+licking_partner,0,558,
+kitsunewaffles-chan,1,558,
+irken,5,558,
+gotobeido,1,558,
+dangpa,1,558,
+crossed_ankles,0,558,
+cooking_with_furs,0,558,
+broodal,4,558,broodals
+inuhoshi-to-darkpen,1,557,
+hand_on_hand,0,557,
+gaomon,5,557,
+floral_print,0,557,flower_print
+connivingrat,1,557,
+black_and_grey,7,557,"black_and_gray,gray_and_black,grey_and_black"
+rainbow_pride_flag,0,556,"gay_colors,gay_flag,gay_pride_colors,gay_pride_flag,homosexual_flag,lgbt_colors,lgbt_flag,lgbt_pride_colors,lgbt_pride_flag,rainbow_flag_(colors),rainbow_flag_(pride)"
+purple_handwear,0,556,
+piggyback,0,556,piggyback_ride
+maririn,1,556,
+jerry_mouse,4,556,"jerry_(t&j),jerry_(tom_&_jerry),jerry_(tom_and_jerry)"
+information,0,556,
+hand_in_hair,0,556,
+full_bokko_heroes,3,556,"full_bokko_heroes_x,fullbokko_heroes"
+face_grab,0,556,
+drecom,3,556,
+chubby_gynomorph,0,556,
+broom_riding,0,556,
+urine_on_legs,0,555,
+stroking_penis,0,555,
+madmax,1,555,csimadmax
+korichi,1,555,exlof
+kishibe,1,555,"oudon,おうどん,きしべ"
+k-9,1,555,
+jaynatorburudragon,1,555,
+ifus,1,555,
+holding_crotch,0,555,
+wetting_diaper,0,554,diaper_wetting
+spiral_knights,3,554,
+rillaboom,5,554,
+hand_print,0,554,handprint
+fairy_tail,3,554,
+cooler,0,554,
+chance_furlong,4,554,t-bone
+zinovy,4,553,
+shadow_siren,5,553,
+renabu,1,553,"nobu_michi,nobu_michi_(artist),renabu_(artist),renabu_michi,renabu_michi_(artist),renabumichi,renabumichi_(artist)"
+phyllostomid,5,553,"leaf-nosed_bat,leaf_nosed_bat,new_world_leaf-nosed_bat,new_world_leaf_nosed_bat,phyllostomidae"
+open-back_dress,0,553,
+nexcoyotlgt,1,553,"nexcoyotlgt_(artist),trentgt,trentgt_(artist)"
+mace,0,553,
+lurantis,5,553,
+knot_sitting,0,553,sitting_on_knot
+electric_guitar,0,553,
+spell,0,552,
+self_taste,0,552,"i_has_a_flavor,self-taste,self_tasting,tasting_self"
+red_bikini,0,552,
+pink_face,0,552,
+name_badge,0,552,
+captainjohkid,1,552,flakjacket0204
+big_horn,0,552,"big_horns,large_horn"
+vivian_(mario),4,551,
+typical_carp,5,551,cyprinus
+tape_bondage,0,551,
+red_skirt,0,551,
+park_bench,0,551,
+micro_abuse,0,551,
+kaboozle,1,551,kaboozlefa
+green_and_white,7,551,white_and_green
+amur_carp,5,551,
+werefox,5,550,"were-fox,were_fox"
+underground,0,550,
+tan_bottomwear,0,550,beige_bottomwear
+shaved,0,550,
+male_raped,0,550,
+koi,5,550,"koi_fish,nishikigoi"
+eye_glint,0,550,
+dualshock,3,550,
+bodyjob,0,550,"body_job,hugjob"
+white_legs,0,549,
+vault_suit,0,549,
+unwanted_impregnation,0,549,
+sundress,0,549,sun_dress
+suitcase,0,549,
+shock_collar,0,549,
+ruff,0,549,
+rainicorn,5,549,
+princess_ruto,4,549,
+ni70,1,549,
+light_tail,0,549,
+jogging,0,549,
+horn_growth,0,549,
+handheld_console,0,549,
+hallway,0,549,
+guoh,1,549,"guoh-art,guoh-art_(artist),guoh_(artist)"
+curved_penis,0,549,"bending_penis,bent_penis"
+clothing_swap,0,549,"clothes_swap,costume_swap,costume_switch,outfit_swap"
+american_football,0,549,
+unusual_vore,0,548,
+uberquest,3,548,
+tan_topwear,0,548,beige_topwear
+sharp_horn,0,548,"pointed_horn,pointy_horn,sharp_horns"
+satchel,0,548,
+religious_clothing,0,548,
+pac-man_(series),3,548,pac_man_(series)
+nazrin,4,548,
+monotone_feet,0,548,
+lipstick_on_balls,0,548,lipstick_on_scrotum
+kaa_(jungle_book),4,548,
+in_box,0,548,
+fisheye_lens,0,548,
+donald_duck,4,548,
+ceehaz,1,548,
+bloodborne,3,548,
+beer_bottle,0,548,beer_bottles
+vanny_(fnaf),4,547,
+tsitra360,1,547,
+shoulder_bite,0,547,biting_shoulder
+samoyena,1,547,
+penis_milking_machine,0,547,
+nimzy,1,547,nomdelights
+neck_lick,0,547,licking_neck
+nauth,1,547,"nauth_le_roy,nauthleroy"
+hairy_arms,0,547,
+geometric_background,0,547,"geometric_bg,geometry_background,geometry_bg"
+foot_shot,0,547,
+focus_lines,0,547,
+6_nipples,0,547,six_nipples
+spa,0,546,
+shirt_cut_meme,3,546,
+seat,0,546,
+radial_speed_lines,0,546,
+on_branch,0,546,
+monotone_shirt,0,546,"mono-tone_shirt,mono-tone_shirts,mono_tone_shirt,mono_tone_shirts,monotone_shirts"
+bunnywhiskerz,1,546,
+boa_(snake),5,546,"boa_snake,boidae"
+woodwind_instrument,0,545,
+syrinoth,1,545,hiroi_kairu
+reverse_piledriver_position,0,545,96
+pudgeruffian,1,545,"captainbutteredmuffin,captainpudgemuffin"
+long_socks,0,545,
+leobo,1,545,
+grey_inner_ear_fluff,0,545,gray_inner_ear_fluff
+cum_ballooning,0,545,
+chastity_piercing,0,545,
+blood_on_clothing,0,545,bloody_clothing
+vipery-07,1,544,sugarbeasts-07
+urine_on_belly,0,544,piss_on_belly
+until_it_snaps,3,544,"belt_break,belt_breaking,break_my_belt,break_my_choker,break_my_collar,breaking_belt,breaking_choker,breaking_collar,choker_break,choker_breaking,collar_break,collar_breaking,snap_my_choker,snap_the_belt,snap_the_choker,until_it_breaks,until_the_belt_breaks,until_the_belt_snaps,until_the_choker_breaks,until_the_choker_snaps,until_the_collar_breaks,until_the_collar_snaps"
+thomas_cat,4,544,"tom_(t&j),tom_(tom_&_jerry),tom_(tom_and_jerry),tom_cat_(t&j),tom_cat_(tom_&_jerry),tom_cat_(tom_and_jerry)"
+tanukiarts,1,544,tanukiyasha
+short_dress,0,544,
+rivals_of_aether,3,544,
+purple_collar,0,544,
+pinned_to_floor,0,544,
+mytigertail,1,544,
+monstercheetah,1,544,excitedcargoyle
+gynomorph_pred,0,544,dickgirl_pred
+flannel,0,544,
+execution,0,544,
+dekomaru,1,544,thehotroom
+cloud_chaser_(mlp),4,544,cloudchaser_(mlp)
+bikupan,1,544,
+priest,0,543,priestess
+nickit,5,543,ikfoxan
+hotel_transylvania,3,543,
+gear,0,543,
+crotch_sniffing,0,543,
+alfa995,1,543,
+tight_shirt,0,542,
+id_number,0,542,
+glowing_mouth,0,542,
+disappointed,0,542,disappointment
+zorori,4,541,
+white_tuft,0,541,
+the_looney_tunes_show,3,541,looney_tunes_show
+stoned,0,541,stoner
+starcraft,3,541,
+shooting_star,0,541,shooting_stars
+ripli,1,541,
+patch_(fabric),0,541,
+milking_tentacles,0,541,milking_tentacle
+marshmallow,0,541,"marshmallows,marshmellow"
+living_hair,0,541,
+koorivlf,1,541,
+jackaloo,1,541,
+holding_headwear,0,541,
+hands_on_shoulders,0,541,
+chasing,0,541,
+black_arms,0,541,
+alex_(harmarist),4,541,
+younger_feral,0,540,
+threat,0,540,
+syngnathiform,5,540,syngnathiforme
+secretly_saucy,1,540,
+prehensile_hair,0,540,
+orlandofox,1,540,"afoxdraws,brianna_thomas,foxudders,foxxudders,orlando_fox,orlandofox_thedoggygal,orlandofoxie,thedoggydiva,thedoggygal"
+mechanical_arm,0,540,
+linoone,5,540,
+ganondorf,4,540,
+comforting,0,540,
+cheek_spikes,0,540,
+bulge_frottage,0,540,
+bride,0,540,
+tali'zorah,4,539,"tali'zorah_nar_rayya,tali'zorah_vas_neema,tali'zorah_vas_normandy,tali_(mass_effect),talizorah"
+shirt_in_mouth,0,539,
+sex_toy_under_clothing,0,539,
+mudsdale,5,539,
+handjob_frottage,0,539,
+brooch,0,539,
+arbuzbudesh,1,539,
+zenless_zone_zero,3,538,
+syngnathid,5,538,
+realistic_wings,0,538,handless_winged_arms
+raven_(dc),4,538,raven_(teen_titans)
+public_domain,3,538,
+pepé_le_pew,4,538,pepe_le_pew
+egg_bulge,0,538,
+beauty_and_the_beast,3,538,
+ball_bulge,0,538,
+anthro_penetrating_female,0,538,
+space_dandy,3,537,
+setouchi_kurage,1,537,
+penis_close-up,0,537,
+faf,1,537,
+bubble_tea,0,537,"boba,boba_milk_tea,boba_tea,bubble_milk_tea,bōbà,bōbà_tea,pearl_milk_tea,tapioca_tea"
+teal_background,0,536,"dark_teal_background,dark_teal_bg,light_teal_background,light_teal_bg,teal_bg"
+showing_teeth,0,536,
+planted_legs,0,536,
+pangolin,5,536,
+kouya_(morenatsu),4,536,"aotsuki_kouya,kouya_aotsuki"
+hibbary,1,536,
+gundam,3,536,
+grey_sheath,0,536,gray_sheath
+gravity_falls,3,536,
+goemon_(tas),4,536,
+gagging,0,536,
+flower_humanoid,5,536,humanoid_flower
+decoration,0,536,decorations
+articuno,5,536,
+turtle_shell,0,535,
+takotyutyu,1,535,
+stab,0,535,"stabbed,stabbing"
+slug_(artist),1,535,
+princess_daisy,4,535,
+hieroglyphics,0,535,"heiroglyphs,hieroglyph,hieroglyphs"
+gift_box,0,535,
+gem_(species),5,535,"crystal_gem,gem_(steven_universe)"
+chowdie,1,535,
+checkered_background,0,535,"checker-board_background,checker-board_bg,checker_board_background,checker_board_bg,checkerboard_background,checkerboard_bg,checkered_bg"
+caninu,5,535,
+black_glasses,0,535,
+toilet_use,0,534,
+shoutingisfun,1,534,
+roanoak,1,534,
+psychedelic,0,534,"psychadelic,psychedelia,trippy"
+pokémon_costume,0,534,pokemon_costume
+path,0,534,
+pancham,5,534,
+grey_theme,7,534,gray_theme
+aquatic_gastropod,5,534,"marine_gastropod,water_gastropod"
+sdorica_sunset,3,533,
+samuel_dog,4,533,"sam_(s&m),sam_(sam_&_max),sam_(sam_and_max),sam_(snm)"
+penis_riding,0,533,cock_riding
+okapi,5,533,
+ho-oh,5,533,
+green_spots,0,533,
+enhibitionism,0,533,
+buneary,5,533,
+briefs_only,0,533,
+star_pupils,0,532,
+silk,0,532,
+pizademokttero,1,532,"konopizaga!!,このピザがッ!!"
+milachu92,1,532,
+hoodie_only,0,532,
+holding_sign,0,532,
+holding_hat,0,532,
+heart_(mad_rat_dead),4,532,
+dirtyscoundrel,1,532,"askdirty,dirty_scoundrel,dirtyscoundrel_(artist)"
+cum_tube,0,532,cumtube
+creeper_(minecraft),5,532,
+checkered_floor,0,532,
+bathhouse,0,532,
+adorabat,4,532,"adominus_bat,adora-bat,adora_bat"
+tailed_beast,5,531,bijuu
+multicolored_bottomwear,0,531,
+mega_charizard_y,5,531,
+maleherm_(lore),8,531,"male_herm_(lore),male_hermaphrodite_(lore),malehermaphrodite_(lore)"
+iron_cuffs,0,531,steel_cuffs
+gynomorph_penetrating_herm,0,531,"d/p/h,dgirl_penetrating_herm,dickgirl_penetrating_herm,gm/p/h,newhalf_penetrating_herm,shemale_penetrating_herm"
+epilepsy_warning,1,531,"seizure_inducing,seizure_warning"
+dire_wolf,5,531,"dire-wolf,direwolf"
+cum_in_goo,0,531,
+chewing,0,531,
+butler,0,531,
+breath_of_fire,3,531,"breath_of_fire_ii,breath_of_fire_iii,breath_of_fire_iv,breath_of_fire_v"
+armpit_tuft,0,531,
+treasure_hoard,0,530,
+shape_shifter,0,530,
+raikissu,1,530,"kissurai,pekou"
+naomy,1,530,
+kwik_(artist),1,530,
+hidden_eyes,0,530,eyes_hidden
+count,0,530,
+cheezayballz,1,530,
+changbae,1,530,
+against_fence,0,530,
+0laffson,1,530,
+tentacles_everywhere,0,529,world_of_tentacles
+tanuki_humanoid,5,529,
+rear_admiral_position,0,529,
+rathalos,5,529,"black_flame_king_rathalos,dreadking_rathalos,liolaeus,rioreus"
+mr-shin,1,529,shinsuke
+kion,4,529,
+fuck_bench,0,529,
+flash_sentry_(mlp),4,529,
+elk,5,529,wapiti
+dashboom,1,529,dashboom_(artist)
+clothed_to_nude,0,529,
+blowing_kiss,0,529,blow_kiss
+belly_tattoo,0,529,"belly_tattoos,stomach_tattoo,stomach_tattoos,tattoo_on_belly,tattoo_on_stomach,tattooed_belly,tattooed_stomach"
+weapon_tail,0,528,
+vju79,1,528,
+underpable,1,528,
+snake_tail,0,528,
+precum_on_ground,0,528,
+natoli,1,528,
+ketty,1,528,ketty-leopardess
+big_deltoids,0,528,
+zenthetiger,1,527,
+younger_intersex,0,527,
+seaweed,0,527,sea_weed
+rover_(animal_crossing),4,527,
+reference_image,0,527,
+red_ribbon,0,527,
+lit_candle,0,527,
+ketchup,0,527,
+felineko,5,527,
+duck_dodgers,3,527,
+ashido_mina,4,527,
+20th_century,7,527,
+quillu,1,526,
+prionailurus,5,526,
+pridark,1,526,
+koopa_humanoid,5,526,koopa_girl
+glistening_glans,0,526,"glossy_glans,shiny_glans"
+0r0,4,526,
+tifa_lockhart,4,525,tifa_lockheart
+theblackrook,1,525,travarisrhade
+tail_bite,0,525,"bite_tail,biting_tail,tail_biting,tailbite"
+pink_clitoris,0,525,pink_clit
+gorgon,5,525,
+brown_countershading,0,525,
+ballet,0,525,
+yakko_warner,4,524,
+outline_heart,0,524,
+orange_pussy,0,524,"orange_cunt,orange_labia,orange_twat,orange_vag,orange_vagina,orange_vulva"
+male_penetrating_humanoid,0,524,
+magpie_(corvid),5,524,
+lyme-slyme,1,524,smilebomb
+living_candy,5,524,"candie_creature,candie_elemental,candie_elementals,candy_boy,candy_creature,candy_elemental,candy_elementals,candy_girl,candyboy,candygirl,living_candies"
+dlrowdog,1,524,おるごれ。@粘土化の犬
+daydream,0,524,"day_dream,day_dreaming,daydreaming"
+cum_bath,0,524,cumbath
+clean_diaper,0,524,
+chango-tan,1,524,
+artist,0,524,
+alex_marx,4,524,alex_(alexthecatte)
+?_face,0,524,
+tweetfur,4,523,
+tasmanian_devil,5,523,
+seahorse,5,523,"sea_horse,sea_pony,seapony"
+platypus,5,523,"duck-billed_platypus,duck_billed_platypus,ornithorhynchid,ornithorhynchidae,ornithorhynchus"
+ottsel,5,523,
+orange_eyebrows,0,523,
+nergigante,5,523,
+muzz,1,523,"biodiesel_(artist),gatorfox"
+mismatched_penis,0,523,
+miko_outfit,0,523,
+holding_microphone,0,523,
+haps,1,523,
+hand_on_ground,0,523,
+green_border,0,523,
+gentle_femdom,0,523,
+gabby_(mlp),4,523,gabriella_(mlp)
+evilymasterful,1,523,
+covering_eyes,0,523,
+caitian,5,523,
+bikini_pull,0,523,
+vkyrie,1,522,"kv1nn4,v_kyrie"
+venusaur,5,522,venossaur_(pokemon)
+upside_down_fellatio,0,522,
+sounding_rod,0,522,
+sexercise,0,522,
+screwdriver,0,522,
+retro,0,522,
+puwa,5,522,
+marionette_(fnaf),4,522,"puppet_(fnaf),the_puppet_(fnaf)"
+macaw,5,522,
+jock,0,522,
+interspecies_pregnancy,0,522,
+imminent_facesitting,0,522,
+honorific,0,522,
+carsen,1,522,
+4_legs,0,522,four_legs
+256:135,7,522,
+thorax_(mlp),4,521,"king_thorax,king_thorax_(mlp)"
+suggestive_pose,0,521,
+small_molosser,5,521,
+silverstream_(mlp),4,521,
+red_pants,0,521,
+multi_tongue,0,521,"multi-tongue,multi_tongues,multiple_tongues"
+inside_clothing,0,521,
+bat_ears,0,521,
+vortex_(helluva_boss),4,520,vortex_(vivzmind)
+vex_(lol),4,520,
+skylar_fidchell,4,520,
+sandbar_(mlp),4,520,
+purrloin,5,520,
+polka_dots,0,520,polka_dot
+modem_redpill,1,520,
+gin-blade,1,520,
+fossa,5,520,
+distracted,0,520,
+damian5320,1,520,
+crisis-omega,1,520,
+chainmail,0,520,chain_mail
+bikini_armor,0,520,
+yaoifairy,1,519,
+white_highlights,0,519,"white_highlight,white_streak,white_streaks"
+shush,0,519,"finger_hush,finger_hushing,finger_shh,finger_shhh,finger_shush,finger_shushing,hush,hushing,shh,shhh,shushing"
+screencap_background,0,519,"screen-cap_background,screen-cap_bg,screen-capped_background,screen-capped_bg,screen-shot_background,screen-shot_bg,screen_cap_background,screen_cap_bg,screen_capped_background,screen_capped_bg,screen_shot_background,screen_shot_bg,screencap_bg,screencapped_background,screencapped_bg,screenshot_background,screenshot_bg"
+puggy,1,519,thatpuggy
+princess_bubblegum,4,519,
+persian_(pokémon),5,519,"persian_(pokemon),persian_pokemon,persian_pokémon,pokemon_persian,pokémon_persian"
+makoto_nanaya,4,519,
+kilt,0,519,
+hymenopteran_humanoid,5,519,
+homophobic_slur,0,519,
+h.p._lovecraft,3,519,"howard_phillips_lovecraft,hp_lovecraft"
+groudon,5,519,
+chubby_protagonist_(tas),4,519,
+black_eyeliner,0,519,
+tentacle_bondage,0,518,
+sledge,4,518,ainhanda
+froslass,5,518,
+evomanaphy,1,518,
+dollar_sign,0,518,
+blue_bikini,0,518,
+angel_dragon,5,518,
+rosalina_(mario),4,517,"princess_rosalina,rosalina"
+pig_(artist),1,517,
+pelecaniform,5,517,pelecaniforme
+palate,0,517,
+object_insertion,0,517,
+mystikfox61,1,517,
+mummy_costume,0,517,
+lizet,1,517,"lizyips,maskedhusky"
+katahane3,1,517,
+cere_(anatomy),0,517,"beak_cere,bird_cere,bird_nose,cere_(beak),cere_(bird),cere_(feature)"
+arthropod_abdomen_pussy,0,517,"abdomen_pussy,insect_abdomen_pussy,invertebrate_abdomen_pussy"
+alopex,4,517,
+wolftacos,1,516,"kynomeow,kynomeow_(artist),wolftacos_(artist)"
+white_anus,0,516,
+sea_slug,5,516,seaslug
+saliva_on_face,0,516,
+rocket,0,516,
+princess_molestia,4,516,"molestia,princess_molestia_(mlp)"
+panties_around_legs,0,516,
+mmd,3,516,
+kaitycuddle,1,516,
+inverted_pentacle,0,516,
+furryrevolution,1,516,danilo
+cum_on_nipples,0,516,cum_on_nipple
+cotton_(artist),1,516,
+brown_legs,0,516,
+trunk_(anatomy),0,515,"anatomical_trunk,animal_trunk,elephant_trunk,nose_trunk,prehensile_trunk,proboscis_trunk,tapir_trunk,trunk_(anatomical),trunk_(feature),trunk_(nose),trunk_(proboscis),trunk_(snout),trunk_nose,trunk_proboscis,trunk_snout"
+toyomaru,1,515,
+oliver_and_company,3,515,oliver_&_company
+nest,0,515,
+mostly_clothed,0,515,
+light_countershading,0,515,
+lacing,0,515,
+grabbing_both_ears,0,515,"double_ear_grab,grabbing_ears"
+doppel,1,515,
+dashie116,1,515,
+captain_amelia,4,515,
+boinae,5,515,
+black_jewelry,0,515,
+bartender,0,515,
+3_claws,0,515,three_claws
+12beat13,1,515,beat_you_(artist)
+wolflady,1,514,wolfroxy
+renegade-157,1,514,
+mizo_ne,1,514,mizone
+milla_basset,4,514,
+lotion,0,514,
+child_on_child,0,514,
+>:3,0,514,
+writing_on_chest,0,513,
+skull_and_crossbones,0,513,
+ruler,0,513,
+pear_butter_(mlp),4,513,buttercup_(mlp)
+obi,0,513,
+nightshade_(kadath),4,513,
+hyper_sheath,0,513,
+grotesque_death,0,513,"brutal_death,cruel_death,gruesome_death"
+foot_blush,0,513,
+tan_perineum,0,512,
+rumble_(mlp),4,512,
+queen_tyr'ahnee,4,512,
+plug,0,512,
+meraence,1,512,
+gammainks,1,512,
+dwarf,5,512,
+dixie_kong,4,512,
+booponies,1,512,
+tomato,0,511,
+thyreophoran,5,511,"armored_dino,armored_dinosaur,armored_dinosaurs,armoured_dino,armoured_dinosaur,armoured_dinosaurs,thyreophora,thyreophoroid,thyreophoroidea,thyreophoroidean"
+prince,0,511,
+partially_submerged_tail,0,511,
+namagakiokami,1,511,
+lilith_calah,4,511,
+hariet_(mario),4,511,harriet_(mario)
+dark_eyes,0,511,
+dark_ears,0,511,
+blood_in_pussy,0,511,
+blackshirtboy,1,511,
+assertive_female,0,511,
+alorix,1,511,
+aimi,1,511,
+zebroid,5,510,
+volibear,4,510,
+surprise_buttsex,0,510,
+robyn_paperdoll,1,510,
+retracting_foreskin,0,510,
+print_swimwear,0,510,
+palkia,5,510,
+mcfly0crash,1,510,
+geekidog,1,510,
+fakeryway,1,510,pleasure_castle
+directed_motion_outline,0,510,
+cownugget,1,510,
+wheel,0,509,
+unikitty,4,509,
+montgomery_glands,0,509,"areola_bumps,areolar_glands,montgomery_tubercles"
+lunarii,1,509,
+leopard_cat,5,509,leopardcat
+discordthege,1,509,
+column,0,509,
+blue_tentacles,0,509,blue_tentacle
+base_three_layout,0,509,
+anthro_penetrating_male,0,509,
+adios,1,509,the_farewelled
+vr_headset,0,508,vr_goggles
+togruta,5,508,
+toes_tied,0,508,tied_toes
+napalm_express,1,508,
+mrsakai,1,508,"rbst,ryousakai"
+mizutsune,5,508,tamamitsune
+leaning_on_self,0,508,
+cthulhu_mythos,3,508,
+crazy_redd,4,508,
+corzh77,1,508,
+borisalien,1,508,theboris
+ball_sniffing,0,508,ball_sniff
+angus_delaney,4,508,angus_(nitw)
+vylfgor,1,507,trzaraki
+starbucks,3,507,
+sitting_on_balls,0,507,ball_sitting
+sanders,1,507,
+purple_headwear,0,507,
+plaga,1,507,
+open-back_swimsuit,0,507,
+leather_armor,0,507,leather_armour
+headboard,0,507,
+grunting,0,507,
+finger_to_mouth,0,507,finger_on_lips
+curtains_open,0,507,
+cat_ear_panties,0,507,
+anaugi,1,507,
+tail_in_ass,0,506,
+sirjzau,1,506,
+show_by_rock!!,3,506,"show_by_rock,show_by_rock!"
+mifa,1,506,
+depression,0,506,depressed
+darkgem,1,506,
+brute_wyvern,5,506,
+ribbed_sweater,0,505,
+milkytiger1145,1,505,hkl9917462
+light-skinned_male,0,505,
+kittentits,1,505,kittentits_commissions
+johnmarten,1,505,
+anal_piercing,0,505,"anal_piercings,anus_piercing,pierced_anus"
+wolflong,1,504,"langlong,╰狼龍"
+wig,0,504,
+tan_horn,0,504,burlywood_horn
+sausage,0,504,
+reptilligator,1,504,
+remmy_cormo,4,504,
+porn_dialogue,0,504,porn_dialog
+mike_sherman,1,504,
+macan_(tas),4,504,magan_(tas)
+lizard_(petruz),4,504,
+latex_transformation,0,504,
+hand_on_own_knee,0,504,
+grumpy_griffin_creations,1,504,grumpy_griffin_creations_(artist)
+frenky_hw,1,504,
+cocolog,1,504,ココローグ
+blue_paws,0,504,
+voodoo,0,503,
+two-handed_handjob,0,503,two_handed_handjob
+silverfox5213,1,503,
+samurai_jack,3,503,samurai_jack_(series)
+pouring,0,503,
+peeing_on_another,0,503,
+living_piñata,5,503,"living_pinata,pinata_creature,piñata_creature"
+knight_dd,1,503,
+ill,0,503,"disease,illness,sick"
+ice_age_(series),3,503,
+drawyourfursona,0,503,
+darwin_watterson,4,503,
+crownedvictory,1,503,
+amped_toxtricity,5,503,"amp_form_toxtricity,amp_toxtricity,amped_form_toxtricity,toxtricity_(amp),toxtricity_(amp_form),toxtricity_(amped),toxtricity_(amped_form),toxtricity_amp,toxtricity_amp_form,toxtricity_amped,toxtricity_amped_form"
+unusual_navel,0,502,exotic_navel
+twitter_hoodie,0,502,
+the_witcher,3,502,the_witcher_3
+red_jacket,0,502,
+power_armor,0,502,"battlesuit,power_armour,powersuit"
+pidgeot,5,502,
+nitani,1,502,
+multi_mouth,0,502,"multi-mouth,multiple_mouths"
+frosted_flakes,3,502,
+faun,5,502,
+blin_(tloz),5,502,"blin_(loz),blin_(zelda)"
+ungulatr,1,501,
+purple_swimwear,0,501,"purple_swimsuit,violet_swimsuit,violet_swimwear"
+purple_gloves,0,501,
+opqhlak,1,501,
+lock_symbol,0,501,padlock_symbol
+leon_powalski,4,501,
+leaking_anus,0,501,
+gold_bracelet,0,501,
+fdokkaku,1,501,
+dankflank,1,501,
+cable,0,501,
+blue_shoes,0,501,
+bemani,3,501,
+barbarian,0,501,
+waiting,0,500,
+stack,0,500,
+someth1ngoranother,1,500,
+shima_luan,4,500,
+saku1saya,1,500,"sakusaya,sakusaya2,sakusaya2_(artist)"
+presenting_mouth,0,500,
+phone_call,0,500,
+liveforthefunk,1,500,"live_for_the_funk,therealfunk"
+head_wreath,0,500,
+hand_on_pussy,0,500,pussy_grab
+furrowed_brow,0,500,
+comparison,0,500,
+collaborative_hot_dogging,0,500,"collaborative_butt_job,collaborative_buttjob,collaborative_hotdogging,double_butt_job,double_buttjob,double_hot_dogging,double_hotdogging"
+black-backed_jackal,5,500,black_backed_jackal
+bearlovestiger13,1,500,
+slorsh,0,499,
+pussy_juice_puddle,0,499,
+purple_eyebrows,0,499,
+pink_breasts,0,499,
+note,0,499,
+masterploxy,1,499,mrploxy
+looking_up_at_partner,0,499,
+hollandworks,3,499,
+hairy_legs,0,499,
+dazed,0,499,
+civet,5,499,
+cherrikissu,1,499,
+brooklyn_(gargoyles),4,499,brooklyn
+white_arms,0,498,
+two_tone_horn,0,498,"two-tone_horn,two-tone_horns,two-toned_horn,two-toned_horns,two_tone_horns,two_toned_horn,two_toned_horns,twotone_horn,twotone_horns,twotoned_horn,twotoned_horns"
+scruffythedeer,1,498,
+naughtymorg,1,498,
+lying_on_another,0,498,
+lepidopteran_humanoid,5,498,
+hunting,0,498,hunt
+green_inner_ear,0,498,
+gradient,0,498,
+dumdum,1,498,
+yellow_footwear,0,497,
+ursid_humanoid,5,497,"bear_humanoid,humanoid_bear"
+tony_the_tiger,4,497,
+smoke_from_nose,0,497,smoke_through_nose
+seraziel,1,497,
+pattern_thigh_socks,0,497,
+mr._snake_(the_bad_guys),4,497,
+lockworkorange,1,497,"bluefreak,projectblue02"
+humping,0,497,
+green_eyeshadow,0,497,
+dongitos,1,497,
+darkdoomer,1,497,"kayanamasha,nowhereincoming"
+cleave_gag,0,497,
+bob_(animal_crossing),4,497,
+azelyn,1,497,
+zyira,1,496,
+time,0,496,
+snake_penis,0,496,"snake_cock,snakecock,snakedick"
+smack_(sound_effect),0,496,
+s1m,1,496,
+pipsqueak_(mlp),4,496,pipsqueak
+grey_butt,0,496,"gray_ass,gray_booty,gray_butt,grey_ass,grey_booty"
+eggplant,0,496,"aubergine,egg_plant"
+cuckquean,0,496,cuckqueen
+breast_bondage,0,496,
+bandolier,0,496,
+will_(harmarist),4,495,
+thewyvernsweaver,1,495,
+saint_bernard,5,495,"bernhardiner,saint_bernard_(dog),saint_bernard_dog,saint_bernhardshund,st._bernard,st._bernard_(dog),st._bernard_dog,st._bernhardshund,st_bernard,st_bernard_(dog),st_bernard_dog,st_bernhardshund"
+pusspuss,1,495,
+pounce,0,495,"pounced,pouncing"
+poison,0,495,
+plaguedogs123,1,495,
+holding_spear,0,495,
+holding_knee,0,495,
+feliscede,1,495,
+suds,0,494,soap_suds
+soul_devouring_eyes,0,494,
+smushpretzel,1,494,
+salamence,5,494,salamance
+ring_(hardware),0,494,
+purple_dildo,0,494,
+mesprit,5,494,
+korean,0,494,
+inside_stomach,0,494,in_stomach
+hitch_trailblazer_(mlp),4,494,
+fuga:_melodies_of_steel,3,494,fuga_melodies_of_steel
+elevator,0,494,
+countershade_balls,0,494,
+clitoral_hood_piercing,0,494,clitoralhood_piercing
+brown_shirt,0,494,
+bow_experiment_(resident_evil),5,494,
+ambient_firefly,5,494,"ambient_fire_flies,ambient_fire_fly,ambient_fire_flys,ambient_fireflies,ambient_fireflys"
+tropical,0,493,
+tegerio,1,493,
+raven_hunt,4,493,
+rakisha,1,493,tanraak
+obese_ambiguous,0,493,
+mistress,0,493,
+icy-marth,1,493,
+gynomorph_pov,0,493,dickgirl_pov
+flower_in_mouth,0,493,
+black_belly,0,493,
+unknown_artist_signature,1,492,"uas,unknown_signature"
+tarantula,5,492,"theraphosid,theraphosidae"
+swastika,0,492,"nazi_symbol,卐"
+snake_hair,0,492,
+shampoo,0,492,
+pompadour,0,492,pompodor
+mygalomorph,5,492,"mygalomorphae,orthognatha,orthognathan"
+jindragowolf,1,492,
+fountain,0,492,
+dmxwoops,1,492,
+desbjust,1,492,
+brown_handwear,0,492,
+brown_arms,0,492,
+airship,0,492,"air_ship,blimp,sky_ship,skyship,zeppelin"
+unimpressive_(artist),1,491,
+tanutanuki,1,491,"brzask,tanuki_(artist)"
+spatula,0,491,
+snoiifoxxo,1,491,
+smitty_g,1,491,smittyg
+qwertydragon,1,491,
+pointed_tail,0,491,pointy_tail
+mufasa,4,491,
+honey_the_cat,4,491,
+hands_everywhere,0,491,
+glowing_hair,0,491,
+english_honorific,0,491,
+chigiri,1,491,"maggotscookie,zuppa_chidori11,ちぎりまる"
+blue_jeans,0,491,
+xingzuo_temple,3,490,
+trick_or_treat,0,490,
+tf_into_fictional_character,0,490,
+solgaleo,5,490,
+majin_android_21,4,490,
+doggomeatball,1,490,
+cursed_image,0,490,
+brown_paws,0,490,
+beau_(animal_crossing),4,490,
+anal_wink,0,490,"anal_contraction,anal_contractions,anal_dilation,anal_reflex,anal_winking,anocutaneous_reflex,anus_contraction,anus_contractions,anus_dilation,anus_reflex,anus_wink,anus_winking,perineal_reflex,reflex_anal_dilation,reflex_anus_dilation,winking_anus"
+akitaka,1,490,"mcdonnell-douglas,あきたか"
+zacian,5,489,
+vaginal_birth,0,489,
+omesore,1,489,
+mosa,1,489,"mosa_sakkine,tyu,tyu_utamara"
+gynomorph_on_feral,0,489,"dickgirl/feral,dickgirl_on_feral,feral/dickgirl,feral/gynomorph,feral_on_dickgirl,feral_on_gynomorph,gynomorph/feral"
+grey_feet,0,489,gray_feet
+evening_gown,0,489,
+batoid,5,489,"ray_(fish),sea_ray"
+whiskey,0,488,whisky
+utahraptor,5,488,
+saliva_on_anus,0,488,
+rika,1,488,
+rabbity,1,488,
+on_shoulders,0,488,
+monkey_humanoid,5,488,
+lapinbeau,1,488,
+carpet_shark,5,488,"orectolobiform,orectolobiformes"
+blue_butt,0,488,"blue_ass,blue_booty"
+black_countershading,0,488,
+begging_for_mercy,0,488,
+tansau,1,487,"tansau8,tortoise-sensei,tortoise_sensei,tortoisesensei,tortoisesoup1,tyshawn_mcgee"
+sparks,0,487,
+sigma_x,1,487,sigmax
+scorpion,5,487,scorpione
+panda_(wbb),4,487,
+multi_heart_reaction,0,487,
+lolbit_(fnaf),4,487,
+legend_of_ahya,3,487,darkflamewolf
+leg_over_edge,0,487,
+famir_(artist),1,487,
+domestic_goat,5,487,"billy_goat,dairy_goat"
+dog_knight_rpg,3,487,
+dicknipples,0,487,"dick_nipples,nipple_penis,penis_nipples"
+blattodea,5,487,
+black_thong,0,487,
+autumm_airwave,1,487,
+asaneman,1,487,
+animaniacs_(2020),3,487,
+4chan,3,487,
+unusual_pussy_placement,0,486,
+triple_anal,0,486,
+translucent_legwear,0,486,"see-through_legwear,see-thru_legwear,see_through_legwear,see_thru_legwear,sheer_legwear,transparent_legwear"
+spiked_legband,0,486,
+slit_sex,0,486,
+sailor_uniform,0,486,sailor_outfit
+raised_hips,0,486,"hip_lift,hip_lifted,hip_lifting,hip_raised,hip_up,hips_lift,hips_lifted,hips_lifting,hips_raised,hips_up,lift_hip,lift_hips,lifted_hip,lifted_hips,lifting_hip,lifting_hips,raised_hip"
+parasaurolophus,5,486,parasaur
+omg,0,486,
+hand_on_mouth,0,486,
+dryadex,1,486,
+chainsaw,0,486,
+bird_legs,0,486,
+washing_machine,0,485,
+she-ra_and_the_princesses_of_power,3,485,"princesses_of_power,she_ra_and_the_princesses_of_power,shera_and_the_princesses_of_power"
+red_bra,0,485,
+pom_antennae,0,485,"pom-pom_antenna,pom-pom_antennaes,pom-pom_antennas,pom_antenna,pom_antennaes,pom_antennas,pom_pom_antenna,pom_pom_antennaes,pom_pom_antennas,pompom_antenna,pompom_antennaes,pompom_antennas"
+nippon_professional_baseball,3,485,npb
+dildo_in_mouth,0,485,
+dialga,5,485,
+dahsharky,1,485,
+cropped,7,485,
+brok_(character),4,485,
+blackfox85,1,485,"glenn_s._knudsen,sebastian_glenn"
+big_wings,0,485,
+whisperingfornothing,1,484,"inkysporncorner,lightchaol,lonelycross,whisperingfornothing_(artist)"
+twi'lek,5,484,
+trophy,0,484,
+teamwork,0,484,
+subtle_animation,7,484,animated_(small_effect)
+shiron,4,484,
+petrification,0,484,petrified
+pacevanrign,1,484,
+frosting,0,484,
+flag_clothing,0,484,
+vader-san,1,483,
+urshifu,5,483,
+text_on_hoodie,0,483,
+striped_thigh_socks,0,483,
+stealth_masturbation,0,483,
+shinigamigirl,1,483,
+regular_grid_layout,0,483,
+princess_hinghoi,1,483,freedomthai
+pone_keith,4,483,
+playstation_4,3,483,ps4
+jen_(vf),4,483,
+flat_cap,0,483,
+egg_in_ass,0,483,
+champa,4,483,
+breast_envy,0,483,
+big_diaper,0,483,hyper_diaper
+totemoii_029,1,482,
+thekinkybear,1,482,
+the_secret_of_nimh,3,482,secret_of_nimh
+slim_male,0,482,
+shower_room,0,482,
+orange_claws,0,482,
+mimic,5,482,
+headlock,0,482,
+gabshiba,1,482,
+digitoxici,1,482,
+chimpanzee,5,482,"chimp,chimps,common_chimp,common_chimpanzee,pan_(genus),panin,panina,panins,robust_chimp,robust_chimpanzee"
+black_necklace,0,482,
+tierafoxglove,1,481,tiera_foxglove
+the_deadly_six,4,481,deadly_six
+suishou0602,1,481,
+soul_calibur,3,481,
+ruri_tsukiyono,4,481,
+red_heart,0,481,
+platter,0,481,
+milky_way_(flash_equestria),4,481,
+makotoo,1,481,
+highlighted_text,0,481,
+hakama,0,481,
+cum_in_water,0,481,
+chain_chomp,5,481,
+striped_ears,0,480,
+reddragonkan,1,480,
+nuzzo,1,480,
+kazecat,1,480,
+humanoid_on_top,0,480,
+horse_humanoid,5,480,
+fred_perry,1,480,thebootydoc
+covered_nipples,0,480,
+chain_necklace,0,480,
+blue_handwear,0,480,
+blood_from_pussy,0,480,bleeding_from_pussy
+aintsmart,1,480,abyssmart
+afterimage,0,480,ghosting
+small_ears,0,479,
+slap_(sound_effect),0,479,
+skylosminkan,1,479,skydog
+skeletonguys-and-ragdolls,1,479,skully_doll
+purgy,4,479,
+pasta,0,479,
+omegasunburst,1,479,
+milkshake,0,479,
+light_theme,7,479,white_theme
+karnator,1,479,karnator_(artist)
+grimdark,0,479,
+grey_legwear,0,479,gray_legwear
+fox-pop,1,479,"fox-pop_(artist),fox_popvli_vintage,foxpop,foxpop_(artist)"
+custapple,1,479,custard_apples
+breasts_apart,0,479,
+bow_in_front,0,479,
+blackbetty,1,479,nukenugget
+balls_above_penis,0,479,
+white_fingers,0,478,
+tan_sheath,0,478,beige_sheath
+starfighter,1,478,
+purple_text,0,478,
+muscular_taur,0,478,
+mottled_fur,0,478,mottle_fur
+hello_kitty_(series),3,478,"hello_kitty,hello_kitty_(franchise),hello_kitty_franchise,hello_kitty_series,hellokitty"
+fink_(ok_k.o.!_lbh),4,478,"fink_(ok_k.o!),fink_(ok_k.o),fink_(ok_k.o.!),fink_(ok_k.o.!_let's_be_heroes),fink_(ok_k.o.!_lets_be_heroes),fink_(ok_k.o.),fink_(ok_k.o._lbh),fink_(ok_k.o._let's_be_heroes),fink_(ok_k.o._lets_be_heroes),fink_(ok_k.o_lbh),fink_(ok_k.o_let's_be_heroes),fink_(ok_k.o_lets_be_heroes),fink_(ok_ko!),fink_(ok_ko!_lbh),fink_(ok_ko!_let's_be_heroes),fink_(ok_ko!_lets_be_heroes),fink_(ok_ko),fink_(ok_ko_lbh),fink_(ok_ko_let's_be_heroes),fink_(ok_ko_lets_be_heroes)"
+dktorzi,1,478,"dk_luis,doctorzi"
+cygames,3,478,
+cocotama,5,478,
+camisole,0,478,
+boulder,0,478,
+blue_scarf,0,478,
+amphibian_humanoid,5,478,
+v-tal,1,477,
+unusual_eyes,0,477,
+pinned_arms,0,477,
+nun_outfit,0,477,
+movie_theater,0,477,"cinema,movie_theatre,movies"
+male_dominating_female,0,477,
+keldeo,5,477,
+jijis-waifus,1,477,"oh-jiji,thundared"
+jackal_humanoid,5,477,
+intimidation,0,477,"intimidate,intimidated,intimidating"
+fingerless_elbow_gloves,0,477,
+elfein,1,477,
+droll3,1,477,
+bulldog,5,477,"bull_dog,bull_dog_breed,bull_dogge,bulldog_breed,bulldogge,bully_(dog),bully_dog"
+basketball_uniform,0,477,
+after_fellatio,0,477,"after_blow_job,after_blowjob"
+waterline_view,0,476,
+smooshkin,1,476,
+shenzi,4,476,
+sheath_outline,0,476,
+pitchfork,0,476,pitch_fork
+outstretched_arm,0,476,
+ocaritna,1,476,antiraco
+mnxenx001,1,476,mn_xenx
+head_on_hand,0,476,
+glistening_scales,0,476,shiny_scales
+chain-link_fence,0,476,chainlink_fence
+bronwyn,4,476,
+bad_end,0,476,
+akatsukishiranui-fox,1,476,
+windy_whistles_(mlp),4,475,
+two_tone_shirt,0,475,
+thundercats_2011,3,475,
+tarot_card,0,475,
+print_bikini,0,475,
+pov_blowjob,0,475,
+mantle_(mollusk),0,475,"mantle_(anatomy),mantle_(mollusc),mollusc_mantle,mollusc_pallial,mollusc_pallium,mollusk_mantle,mollusk_pallial,mollusk_pallium,pallial,pallial_(mollusc),pallial_(mollusk),pallium_(mollusc),pallium_(mollusk)"
+kero_tzuki,1,475,"kerotzuki,tzukikero"
+huge_knot,0,475,
+heart_on_body,0,475,
+goo_hair,0,475,slime_hair
+fleischer_style_toon,0,475,"fleischer_studios_style,fleischer_style,fleischer_style_toony,old_toon,old_toony"
+dm29,1,475,
+animal_noises,0,475,
+spazzykoneko,1,474,"spazzy_koneko,tequilapink"
+robotic_arm,0,474,
+pink_spots,0,474,
+hibiscus,0,474,
+ażula_arktändr,4,474,"asura_arklin,azula_arktandr"
+aruurara,1,474,
+alcor90,1,474,"alcor90_(artist),alcorart,alcorart_(artist)"
+single_braid,0,473,
+on_tongue,0,473,
+medium_truck,0,473,
+kangaskhan,5,473,
+incorgnito,1,473,
+grass_skirt,0,473,
+enlarged_clitoris,0,473,"enlarged_clit,huge_clit,megaclit"
+coffeechicken,1,473,
+censored_pussy,0,473,
+blue_bra,0,473,
+blank_stare,0,473,
+bambi,4,473,
+ajin,1,473,winddriven
+yuki_(evov1),4,472,
+technophilia,0,472,
+tail_upskirt,0,472,
+submissive_andromorph,0,472,"andromorph_dominated,submissive_cuntboy"
+skecchiart,1,472,
+re-sublimity-kun,1,472,resuku
+melonleaf,1,472,
+leavanny,5,472,
+jellystone_(hbo_max),3,472,
+infinitedge,1,472,infinitedge2u
+head_between_cheeks,0,472,head_between_butt
+green_shorts,0,472,
+gang_rape,0,472,gangrape
+dyed-hair,0,472,
+brian_mcpherson,1,472,brianblackberry
+breathable_gag,0,472,
+tagg,4,471,
+rip_(psy101),4,471,
+messing,0,471,
+lotusgarden,1,471,
+kissxmaker,1,471,"breastbear,rtr"
+jess_(teckly),4,471,
+jedayskayvoker,1,471,
+gradient_penis,0,471,
+darkened_pussy,0,471,"dark_cunt,dark_labia,dark_pussy,dark_twat,dark_vag,dark_vagina,dark_vulva,darkened_cunt,darkened_labia,darkened_twat,darkened_vag,darkened_vagina,darkened_vulva"
+cum_on_beak,0,471,
+age_restriction,0,471,
+working,0,470,
+two_tone_legwear,0,470,
+twiren,1,470,
+synthwave,0,470,retrowave
+string_bow,0,470,
+pup_mask,0,470,"pup_hood,puppy_hood,puppy_mask"
+original_characters,4,470,
+on_hood,0,470,
+notched_wings,0,470,"bitten_wing,bitten_wings,chipped_wing,chipped_wings,damaged_wing,damaged_wings,notched_wing,tattered_wing,tattered_wings,torn_wing,torn_wings,wing_damage,wing_damaged,wing_notches,wings_damage,wings_damaged"
+nishi_oxnard,1,470,nishi
+murazaki,1,470,
+meow_(space_dandy),4,470,
+lord_magicpants,1,470,lordmagicpants
+kigurumi,0,470,kigu
+huge_feet,0,470,"huge_foot,huge_paw,huge_paws"
+button_pop,0,470,
+breast_markings,0,470,"boob_marking,boob_markings,boobs_marking,boobs_markings,breast_marking,breasts_marking,breasts_markings"
+backless_dress,0,470,
+yellow_text,0,469,
+pink_dildo,0,469,
+penis_in_panties,0,469,
+metal_penis,0,469,
+is_(artist),1,469,hotred
+felicia_cat,1,469,"feli_art,feliciacat,feliciasandycat"
+deerling,5,469,
+creatiffy,1,469,
+cereal,0,469,
+brown_gloves,0,469,
+bomb_(artist),1,469,
+black_spikes,0,469,
+bestiality_impregnation,0,469,
+baseball_uniform,0,469,
+taur_penetrating,0,468,
+stealing,0,468,theft
+pineapple,0,468,
+naughtybassard,1,468,torquewintress
+multicolored_exoskeleton,0,468,
+kicktyan,1,468,"kikunyi,菊にぃ"
+injection,0,468,
+holly_marie_ogburn,1,468,"hmo,hmogburn,wetherby"
+ghost_sex,0,468,
+garouzuki,1,468,"garousuki,pcste5fje,ガロウ好き"
+e254e,1,468,
+diddy_kong,4,468,
+amur,1,468,
+tatu_wani_(artist),1,467,
+steele_(balto),4,467,
+neckerchief_only,0,467,
+mora_linda,4,467,
+marsupial_balls,0,467,
+expression_sheet,7,467,
+easy_access,0,467,
+dialogue_with_sound_effects,0,467,
+demonic,0,467,
+blargsnarf,1,467,
+black_choker,0,467,
+zistopia,3,466,
+trio_focus,0,466,
+toon_link,4,466,
+red_eyewear,0,466,
+raised_hoof,0,466,"hoof_lift,hoof_lifted,hoof_lifting,hoof_raised,hoof_up,hooves_lift,hooves_lifted,hooves_lifting,hooves_raised,hooves_up,lift_hoof,lift_hooves,lifted_hoof,lifted_hooves,lifting_hoof,lifting_hooves,raised_hooves"
+praise,0,466,
+phosaggro,1,466,phosaggro_(artist)
+monster_energy,3,466,"monster_(beverage),monster_(drink),monster_energy_beverage,monster_energy_drink"
+kuroma,1,466,
+heart_nipples,0,466,"<3-shaped_nipple,<3-shaped_nipples,<3_nipple,<3_nipples,<3_shaped_nipple,<3_shaped_nipples,heart-shaped_nipple,heart-shaped_nipples,heart_nipple,heart_shaped_nipple,heart_shaped_nipples,hearts-shaped_nipple,hearts-shaped_nipples,hearts_nipple,hearts_nipples,hearts_shaped_nipple,hearts_shaped_nipples"
+gummy_(mlp),4,466,
+glistening_arms,0,466,shiny_arms
+featureless_limbs,0,466,
+dusk,0,466,
+dragon_ball_fighterz,3,466,
+doom_slayer,4,466,"doom_guy,doomguy,doomguy_(character)"
+beedrill,5,466,
+7:10,7,466,
+zipper_down,0,465,
+wrappings,0,465,
+shopping,0,465,
+sex_in_car,0,465,
+senimasan,1,465,
+pattern_pants,0,465,
+off_the_hook_(splatoon),4,465,off_the_hook
+multi_pec,0,465,
+married,0,465,
+lightning_dust_(mlp),4,465,"lighting_dust_(mlp),lightning_dust"
+fabfelipe,1,465,
+black_t-shirt,0,465,
+agroalba,1,465,"agro-alba,agro-antirrhopus,agro_alba,agro_antirrhopus,agroalba_(artist),agroantirrhopus"
+wetsuit,0,464,
+van,0,464,
+thick_calves,0,464,
+thevale,1,464,"gloebis,gloebis_(artist),thevale_(artist)"
+sususuigi,1,464,
+starit,1,464,
+rosie_(animal_crossing),4,464,
+police_badge,0,464,
+light-skinned_female,0,464,
+kasdaq,1,464,
+jbond,1,464,
+iphone,3,464,
+hatsune_miku,4,464,miku_hatsune
+gingy_k_fox,1,464,
+ftg_transformation,0,464,"female_to_dickgirl_tf,female_to_dickgirl_transformation,female_to_gynomorph_tf,female_to_gynomorph_transformation,ftd_tf,ftd_transformation,ftg_tf"
+ecru_(artist),1,464,"ekuru,エクルー,ボンテ"
+chico_(fuel),4,464,
+cargo_pants,0,464,
+black_breasts,0,464,
+wrestling_mask,0,463,"wrestler's_mask,wrestler_mask,wrestlers_mask"
+tongue_penetration,0,463,
+timmy_nook,4,463,
+red_shorts,0,463,
+red_(pokémon),4,463,red_(pokemon)
+reclamon,1,463,
+overlay_layer,0,463,
+nobody147,1,463,
+leather_bottomwear,0,463,
+ipoke,1,463,
+iguanasarecool,1,463,reptilianknight
+gloria_(pokémon),4,463,"female_protagonist_(pokemon_swsh),female_protagonist_(pokémon_swsh),female_protagonist_(swsh),gloria_(pokemon)"
+fay_spaniel,4,463,
+diaper_change,0,463,"changing_diaper,diapering"
+delta_rune_(emblem),0,463,"delta_rune,delta_rune_(symbol),delta_rune_emblem,delta_rune_symbol,deltarune_(emblem),deltarune_(symbol),deltarune_emblem,deltarune_symbol"
+crooked_tail,0,463,
+cheese_the_chao,4,463,
+ambiguous_on_anthro,0,463,ambiguous/anthro
+tape_measure,0,462,measuring_tape
+swan,5,462,
+shutterflyeqd,1,462,
+semi_(artist),1,462,
+raine_silverlock,4,462,raine_(twokinds)
+plaid_shirt,0,462,
+pincers,0,462,pincer
+nidoran,5,462,
+leo_(vg_cats),4,462,leo_(vgcats)
+lemon,0,462,lemons
+kaylii,1,462,
+katt_monroe,4,462,
+jessica_rabbit,4,462,
+gruiform,5,462,"crane-like,crane_like,gruiforme"
+growlmon,5,462,
+yellow_swimwear,0,461,yellow_swimsuit
+vector_the_crocodile,4,461,
+tommy_nook,4,461,
+purple_spots,0,461,
+prime_(las_lindas),5,461,
+mutilation,0,461,
+kamperkiller_(artist),1,461,
+goodbye_volcano_high,3,461,"snoot-game,snoot_game,snootgame"
+coral,5,461,corals
+betelgeusian,5,461,
+the_land_before_time,3,460,"land_before_time,lbt,the_land_before_time_(franchise),the_land_before_time_(series),tlbt"
+telegram_sticker,0,460,telegram_stickers
+tail_around_leg,0,460,
+surfing,0,460,
+prank,0,460,
+pink_stripes,0,460,
+orange_inner_ear,0,460,
+offscreen_male,0,460,
+neon_genesis_evangelion,3,460,"evangelion,rebuild_of_evangelion"
+nekowuwu,1,460,wuwu
+lgbt_history_month,3,460,"bi_pride_month,bisexual_pride_month,gay_history_month,gay_pride_month,homosexual_pride_month,lesbian_pride_month,lgbt_pride_month,pride_month,trans_pride_month,transgender_pride_month"
+krampus,4,460,
+king_ghidorah,4,460,"ghidorah,ghidrah,gidora,king_ghidra,king_ghidrah"
+galaxy,0,460,
+freeflyspecter,1,460,afspecterjs
+elza_(interspecies_reviewers),4,460,
+derek_hetrick,1,460,
+blurred_foreground,0,460,
+80's_theme,0,460,"1980's,1980s,80's,80's_aesthetic,80s,80s_aesthetic,80s_theme"
+xray_view,0,459,
+vaginal_prolapse,0,459,
+torakuta,1,459,
+terdburgler,1,459,
+symm,1,459,
+square_glasses,0,459,
+sergeantyakirr,1,459,
+rocko_rama,4,459,"rocko,rocko_(rml),rocko_(rocko's_modern_life),rocko_(rockos_modern_life),rocko_wallaby"
+purple_pupils,0,459,
+perpendicular_titfuck,0,459,
+oil_painting_(artwork),7,459,"oil_paint,oil_painting"
+not_safe_for_reality,1,459,impish_desires
+megasweet,1,459,
+jackalope_(artist),1,459,"jackalope(artist),popcorn_panic,popcornpanic"
+great_white_shark,5,459,
+gantu,4,459,captain_gantu
+unsure,0,458,
+two_panel_image,0,458,
+stomach_mouth,0,458,"belly_maw,belly_mouth"
+nursing_handjob,0,458,
+multi_knot,0,458,"double_knot,multiple_knots"
+masterj291,1,458,
+dark_tail,0,458,
+cum_in_penis,0,458,cum_in_cock
+bill_(beastars),4,458,
+6_legs,0,458,"6_legged,six_legged,six_legs"
+unzipped_pants,0,457,
+tight_pants,0,457,
+roman,0,457,
+rikose,1,457,"aoneko,esokir,ricosye"
+personification,0,457,
+octopus,5,457,
+nipple_mouth,0,457,"breast_mouth,lip_nipples,lipples,mouth_nipples"
+mdgusty,1,457,
+mcnasty,1,457,
+martini,0,457,
+kami-chan,1,457,kami_chan
+grizzly_(wbb),4,457,
+good_parenting,0,457,proper_parenting
+eleacat,1,457,
+chinese_new_year,3,457,
+butt_tattoo,0,457,"butt_tattoos,tattoo_on_butt,tattooed_butt"
+blue_gloves,0,457,
+apollo_(animal_crossing),4,457,
+whitney_(animal_crossing),4,456,
+surge_the_tenrec,4,456,
+sprite,0,456,
+siphon_(anatomy),0,456,siphon_(feature)
+shrine_maiden,0,456,
+rowlet,5,456,
+polygon5,1,456,
+obese_humanoid,0,456,
+k.k._slider,4,456,"dj_k.k,dj_k.k.,dj_k.k._(animal_crossing),dj_k.k_(animal_crossing),dj_kk,dj_kk_(animal_crossing),k.k._(animal_crossing),k.k._slider_(animal_crossing),k.k_(animal_crossing),k.k_slider,k.k_slider_(animal_crossing),kk_(animal_crossing),kk_slider,kk_slider_(animal_crossing),totakeke_(animal_crossing)"
+high_waisted_bottomwear,0,456,
+hex_maniac,4,456,
+heart_panties,0,456,"<3_pantie,<3_panties,<3_panty,heart_pantie,heart_panty,hearts_pantie,hearts_panties,hearts_panty"
+hands_on_own_knees,0,456,
+hair_covering_breasts,0,456,hair_over_breasts
+thejoyfuldragon,1,455,
+pretty_cure,3,455,precure
+ouch,0,455,
+nintendo_ds,3,455,ds
+nibbling,0,455,nibble
+hookah,0,455,
+b-ern,1,455,ern
+versatile,0,454,
+sandshrew,5,454,
+paper_mario:_the_thousand_year_door,3,454,
+open_door,0,454,
+meganium,5,454,
+meadow,0,454,
+looking_at_anus,0,454,
+king_cheetah,5,454,
+gold_earring,0,454,
+drawing_tablet,0,454,
+big_moobs,0,454,
+bahnbahn_(artist),1,454,"bonbonpony,nsfwbonbon"
+ass_clapping,0,454,
+alvin_seville,4,454,
+youwannaslap,1,453,
+toe_in_mouth,0,453,toes_in_mouth
+styling_hair,0,453,"hair_styling,hairdressing,hairstyling"
+spotted_clothing,0,453,
+rose_(mlp),4,453,roseluck_(mlp)
+reclined_table_lotus,0,453,
+moob_grab,0,453,
+monster_on_female,0,453,
+medli,4,453,
+letodoesart,1,453,
+jyto,1,453,
+foot_tuft,0,453,
+flag_bikini,0,453,
+cigarette_in_mouth,0,453,
+big_abs,0,453,
+arwing,0,453,
+aquarium,0,453,
+4th_of_july,3,453,"fourth_of_july,independence_day"
+vintage,0,452,
+labor,0,452,
+flipnote_studio,3,452,flipnote
+droopy_(series),3,452,
+crackers,1,452,kitazureskye
+carrot_top_(mlp),4,452,golden_harvest_(mlp)
+brown_perineum,0,452,
+ambient_fish,5,452,
+wherewolf,1,451,
+werefelid,5,451,
+true_eagle,5,451,aquila
+toughset,1,451,
+tan_chest,0,451,
+sorc,1,451,sorcerushorserus
+snips_(mlp),4,451,snips
+roflfox,4,451,
+purple_face,0,451,
+punching_bag,0,451,
+picturd,1,451,
+particles,0,451,
+pants_around_ankles,0,451,
+nose_boop,0,451,"boop_the_snoot,booping_the_snoot"
+hulu,3,451,
+foxball,1,451,
+farting_on_face,0,451,
+dolly_(101_dalmatians),4,451,
+darkened_anus,0,451,
+cottontail,1,451,b_cottontail
+water_inflation,0,450,
+valsalia,1,450,
+two_tone_arms,0,450,
+thermometer,0,450,
+submissive_humanoid,0,450,humanoid_dominated
+servine,5,450,
+rockfall,1,450,"xxgato,xxgato_(artist)"
+oksara,1,450,oksara_(artist)
+obscured_sex,0,450,
+leona_(aka)_little_one,4,450,
+inuzu,1,450,
+hoodie_(artist),1,450,
+green_handwear,0,450,
+gouhin_(beastars),4,450,
+gazimon,5,450,
+dragontheshadows,1,450,shadowill
+devo87,1,450,devo
+cockroach,5,450,roach
+canine_genitalia,0,450,
+xero_(captainscales),4,449,
+shinodage,1,449,
+satsumalord,1,449,
+risk_of_rain,3,449,
+rhydon,5,449,
+ramen,0,449,
+on_head,0,449,
+musikalgenius,1,449,
+muko,4,449,
+monotone_mane,0,449,
+mercurial64,1,449,mercurial64_(artist)
+dr.bug,1,449,
+delcatty,5,449,
+buxbi_(character),4,449,
+beast_(disney),4,449,the_beast
+neck_markings,0,448,"choker_marking,choker_markings,collar_marking,collar_markings,neck_marking,necklace_marking,necklace_markings"
+mehdrawings,1,448,"m3hdrawings,mehlewds"
+kingbeast,1,448,
+jake_clawson,4,448,
+hamtaro_(series),3,448,
+gobanire,1,448,
+fruitbloodmilkshake,1,448,apulsauce
+detailed_scales,0,448,
+contextual_arrow,0,448,
+clawed_feet,0,448,
+cello,0,448,
+catch_condom,0,448,
+blue_seam_underwear,0,448,
+usekh,0,447,
+torchic,5,447,
+thigh_expansion,0,447,
+skyelegs,1,447,
+shino_(housamo),4,447,
+pink_tentacles,0,447,pink_tentacle
+panther_caroso,4,447,
+obese_intersex,0,447,
+medal,0,447,medals
+lock_bulge,0,447,
+holding_mug,0,447,
+holding_both_knees,0,447,"double_knee_hold,holding_knees"
+grey_tongue,0,447,gray_tongue
+gold_chain,0,447,golden_chain
+fth_crossgender,0,447,
+football_(ball),0,447,
+dakkawoof,1,447,dakkawolf
+ammunition,0,447,"ammo,ammunition_cartridge"
+3_penises,0,447,triple_penis
+winnie_werewolf_(ghoul_school),4,446,
+uwu,0,446,
+tiger_dancer_(zootopia),4,446,stripper_tiger_(zootopia)
+rrowdybeast,1,446,
+ratite,5,446,palaeognathae
+object_in_pussy,0,446,
+nikiciy,1,446,
+neutral_expression,0,446,neutral_face
+lizard_tail,0,446,
+leonifa,1,446,
+holding_cigarette,0,446,holding_cigarettes
+hand_on_ankle,0,446,
+dragon_quest:_the_adventure_of_dai,3,446,
+decorated_bow,0,446,
+chen_(touhou),4,446,
+blonde_highlights,0,446,"blond_highlight,blond_highlights,blond_streak,blond_streaks,blonde_highlight,blonde_streak,blonde_streaks,gold_highlight,gold_highlights,gold_streak,gold_streaks,yellow_highlight,yellow_highlights,yellow_streak,yellow_streaks"
+wreath,0,445,
+tentacle_tongue,0,445,
+serena_(pokémon),4,445,serena_(pokemon)
+pace-maker,1,445,pace2n9tmaker
+number_print,0,445,
+livestock_guardian_dog,5,445,"livestock_protection_dog,livestock_protector_dog"
+himeragoldtail,1,445,
+heart_pasties,0,445,"<3-shaped_pastie,<3-shaped_pasties,<3-shaped_pasty,<3_pastie,<3_pasties,<3_pasty,<3_shaped_pastie,<3_shaped_pasties,<3_shaped_pasty,heart-shaped_pastie,heart-shaped_pasties,heart-shaped_pasty,heart_pastie,heart_pasty,heart_shaped_pastie,heart_shaped_pasties,heart_shaped_pasty,hearts-shaped_pastie,hearts-shaped_pasties,hearts-shaped_pasty,hearts_pastie,hearts_pasties,hearts_pasty,hearts_shaped_pastie,hearts_shaped_pasties,hearts_shaped_pasty"
+grey_anus,0,445,gray_anus
+fungi_humanoid,5,445,fungus_humanoid
+earpiece,0,445,ear_piece
+dragalia_lost,3,445,
+colgate_(mlp),4,445,
+blue_feet,0,445,
+blackbear,1,445,
+aleu_(balto),4,445,
+a-side,1,445,
+surprise_kiss,0,444,
+raised_dress,0,444,dress_raised
+purple_cum,0,444,
+peter_pan,3,444,
+maebari,0,444,
+kit_cloudkicker,4,444,
+hyenaface,1,444,
+handjob_while_penetrated,0,444,
+german_text,7,444,
+disinterested_sex,0,444,
+curved_tail,0,444,
+christmas_decorations,0,444,christmas_decoration
+2koma,7,444,
+sweaty_arms,0,443,sweaty_arm
+silvally,5,443,
+seam_(sewing),0,443,"seam,seam_stitch,seam_stitching,seams,seams_(sewing),stitch_seam,stitch_seams,stitched_seam,stitched_seams,stitching_seam,stitching_seams"
+padding,0,443,
+lunaris_parukia,1,443,
+grookey,5,443,
+grey_perineum,0,443,gray_perineum
+gourgeist,5,443,
+dark_claws,0,443,
+brown_pupils,0,443,
+wheat,0,442,
+tepig,5,442,
+tabaxi,5,442,
+smaller_pred,0,442,
+poulet-7,1,442,"diegoandfriends,poisson,poulet,poulet7"
+partial_speech_bubble,0,442,
+looking_at_own_penis,0,442,
+lalafell,5,442,
+holding_pencil,0,442,holding_pencils
+gaming_while_penetrated,0,442,
+frilly_accessory,0,442,
+cobalt_snow,1,442,"cobalt_snow_(artist),cobaltsnow,cobaltsnow_(artist),cyberspacecat,cyberspacecat_(artist),fatalfox,fatalfox_(artist),fatalpony,fatalpony_(artist),roughplague,roughplague_(artist),therealfatalfox,therealfatalfox_(artist)"
+bunsen,4,442,
+tiefling,5,441,teifling
+tetsushi,1,441,
+tearing_clothing,0,441,
+raving_rabbids,3,441,"idiotic_rabbits,lapins_cretins,lapins_crétins,rabbids,rayman_raving_rabbids"
+navel_poke,0,441,
+mitten_hands,0,441,"glove_hand,glove_hands,mitten_hand"
+letterman_jacket,0,441,varsity_jacket
+hand_on_foot,0,441,
+gnaw,1,441,
+dieselbrain,1,441,
+corablue,1,441,alyxx
+chip_(sonic),4,441,light_gaia
+cheering,0,441,cheer
+zoom_layer,0,440,
+yellow_handwear,0,440,
+text_on_collar,0,440,
+staggered_grid,0,440,
+sand_castle,0,440,sandcastle
+quetzalcoatl_(dragon_maid),4,440,lucoa_(dragon_maid)
+puzzle_(kadath),4,440,
+null,0,440,
+foot_suck,0,440,"feet_suck,feet_sucking,foot_sucking,suck_feet,suck_foot,sucking_feet,sucking_foot"
+firetally,1,440,
+dash_ravo,1,440,"dash_shepard,dashravo,dashshepard,rainbow_ravo18"
+crane_(bird),5,440,"crane_(avian),crane_(gruiform),crane_(species),crane_bird,gruid,gruidae"
+cats_don't_dance,3,440,cats_dont_dance
+caster_tamamo-no-mae,4,440,"caster_tamamo_no_mae,playable_caster_(fate/extra),playable_caster_(fate_extra),tamamo-no-mae_(fate),tamamo_no_mae_(fate)"
+audrarius,1,440,
+zipp_storm_(mlp),4,439,
+suit_transformation,0,439,
+soul,0,439,
+r!p,1,439,evilkingtrefle
+pussy_torture,0,439,"cunt_busting,cunt_torture,cuntbusting,labia_torture,pussy_mutilation,twat_torture,vag_torture,vagina_torture,vaginal_torture,vulva_torture"
+mismatched_humanoid_penis,0,439,
+mirapony,1,439,corruptionsolid
+mienfoo,5,439,
+looking_at_belly,0,439,
+horror_(theme),0,439,
+foxovh,1,439,
+ero_(erobos),4,439,
+cumlube,0,439,"cum_lube,fake_cum"
+brown_butt,0,439,"brown_ass,brown_booty"
+bluebean,1,439,
+bloo,1,439,"bloodoodles,little_blue_wolf,littlebluewolf"
+amegared,1,439,"amegared666,fargusssta"
+vampire_bat,5,438,"vampire-bat,vampirebat"
+toxoglossa,1,438,"nameless_lewder,nameless_lewder_toxoglossa_nontoxo_(artist),nontoxo,nontoxo_(artist)"
+test_tube,0,438,
+teryx_commodore,4,438,teryxc
+tan_pussy,0,438,"beige_cunt,beige_labia,beige_pussy,beige_twat,beige_vag,beige_vagina,beige_vulva,tan_cunt,tan_labia,tan_twat,tan_vag,tan_vagina,tan_vulva"
+sapphire_(gem),0,438,
+religious_headwear,0,438,
+pussy_focus,0,438,
+pencils_(artist),1,438,
+mostly_nude_anthro,0,438,
+miia_(monster_musume),4,438,
+majora's_mask,3,438,majoras_mask
+land_forme_shaymin,5,438,"land_form_shaymin,land_shaymin,shaymin_(land_form),shaymin_(land_forme),shaymin_land,shaymin_land_form,shaymin_land_forme"
+herny,1,438,edyouassbaka
+halftone_background,0,438,"half-tone_background,half_tone_background,halftone_bg"
+falcon_mccooper,1,438,falconmccooper
+eigaka,1,438,aikega
+echo_(series),3,438,
+bdsm_gear,0,438,
+apogee_(tinygaypirate),4,438,
+aisyah_zaskia_harnny,4,438,harnny_(character)
+potion_bottle,0,437,
+picnic_basket,0,437,
+long_fingernails,0,437,
+ken_sugimori,1,437,"sugimori_(pokemon),sugimori_(pokémon),sugimori_ken,杉森_建"
+kanji,0,437,
+ingi,1,437,"陰狐,陰狐-ingi-"
+imminent_incest,0,437,
+green_legwear,0,437,
+cum_in_slit,0,437,
+brown_sheath,0,437,
+babysitter,0,437,babysitting
+terrie_smith,1,436,
+smoke_from_mouth,0,436,
+skye_(paw_patrol),4,436,
+shrek_(series),3,436,shrek
+paper-wings,1,436,paper_wings
+neytirix,1,436,
+missing_leg,0,436,
+michelle_(dashboom),4,436,
+helsy,1,436,"furry_wolf,zangetsu"
+futurama,3,436,
+fredina's_nightclub,3,436,
+finger_bite,0,436,"bite_finger,biting_finger,finger_biting,fingerbite,fingerbiting"
+crusch_lulu,4,436,
+crossbow,0,436,
+bodily_fluids_in_mouth,0,436,
+black_exoskeleton,0,436,
+aseethe,1,436,sepiapaws
+torn_shorts,0,435,ripped_shorts
+striped_face,0,435,
+scificat,1,435,
+peeing_while_penetrated,0,435,
+pattern_bikini,0,435,
+muppets,3,435,the_muppets
+mrs._wilde,4,435,mrs_wilde
+manadezimon,1,435,
+lost_my_keys,0,435,
+kirby:_right_back_at_ya!,3,435,
+in_our_shadow,3,435,
+how-to,0,435,"guide,how_to,instructional,tutorial"
+hitec,1,435,
+goat_horn,0,435,goat_horns
+freddy_fazbear's_pizzeria_simulator,3,435,fnaf_6
+better_late_than_never,3,435,
+amethyst_(gem),0,435,
+alternating_focus,0,435,
+zipper_mouth,0,434,mouth_zipper
+vtuber,3,434,
+social_grooming,0,434,"brushing_another,freshen_another,freshen_partner,freshening_another,freshening_partner,grooming_another,grooming_partner,partner_preen,preen_another,preen_partner,preening_another,preening_partner,primping_another,primping_partner,smarten_another,smarten_partner,smartening_another,smartening_partner,social_groom,social_preen,social_preening,styling_another,tidy_another,tidy_partner,tidying_another,tidying_partner"
+slowpoke,5,434,
+ruanshi,1,434,
+pururing,1,434,
+petresko,1,434,
+kanna_kamui,4,434,
+green_mane,0,434,
+fur_collar,0,434,
+description,0,434,
+daffy_duck,4,434,
+catcouch,1,434,
+binoculars,0,434,
+altered_forme_giratina,5,434,"altered_form_giratina,altered_giratina,giratina_(altered),giratina_(altered_form),giratina_(altered_forme),giratina_altered,giratina_altered_form,giratina_altered_forme"
+0119_muu,1,434,
+zeti,5,433,
+wilykit,4,433,
+tuke,1,433,keyfeather
+trashbadger,1,433,
+striped_hair,0,433,
+pet_food,0,433,
+pansexual_pride_colors,0,433,"pan_colors,pan_flag,pan_pride_colors,pan_pride_flag,pansexual_colors,pansexual_flag,pansexual_pride_flag"
+monotone_legwear,0,433,
+male_penetrating_human,0,433,
+kikurage,1,433,きくらげ
+hand_between_legs,0,433,
+grey_mane,0,433,gray_mane
+grey_hands,0,433,gray_hands
+golden_eagle,5,433,
+final_fantasy_xi,3,433,ffxi
+darkened_perineum,0,433,
+church,0,433,
+wheelbarrow_position,0,432,
+wearing_glasses,0,432,
+vitani,4,432,
+twilight_sparkle_(eg),4,432,
+straining_buttons,0,432,
+selene_leni,4,432,selene_(boha)
+nnecgrau,1,432,"marti-font,ninko,nnecgraufox,xin-wei"
+meowscles,4,432,meowscles_(fortnite)
+lava_lamp,0,432,"lava_lamps,lavalamp,lavalamps"
+icelectricspyro,1,432,
+hoot_(artist),1,432,
+goat_lucifer_(helltaker),4,432,
+eye_bags,0,432,eyebags
+dnp101,1,432,darkneedle101
+three_row_layout,0,431,
+stove,0,431,
+stink_lines,0,431,
+seascape,0,431,
+pink_pupils,0,431,
+imagination,0,431,
+deep_tongue,0,431,
+thekidxeno,1,430,
+swimwear_removed,0,430,
+siren,5,430,
+sharp_fingernails,0,430,
+seibear,1,430,seibrxan
+raised_fist,0,430,"fist_lift,fist_lifted,fist_lifting,fist_raised,fist_up,fists_lift,fists_lifted,fists_lifting,fists_raised,fists_up,lift_fist,lift_fists,lifted_fist,lifted_fists,lifting_fist,lifting_fists,raised_fists"
+predaguy,1,430,
+pixelated,0,430,"pixelation,pixellated,pixellation"
+pirate_hat,0,430,
+pink_eyebrows,0,430,
+ocellus_(mlp),4,430,
+multicolored_butt,0,430,"multicolored_ass,multicolored_booty"
+morbidly_obese_feral,0,430,
+lechecker,1,430,
+kyogre,5,430,
+hekapoo,4,430,
+hazard_symbol,0,430,
+green_gloves,0,430,
+edmol,1,430,
+chain_jewelry,0,430,
+button_eyes,0,430,
+broken_glass,0,430,
+amusement_ride,0,430,"amusement_park_ride,amusement_park_rides,amusement_rides,carnival_ride,carnival_rides"
+year_of_the_tiger,3,429,
+spotted_face,0,429,
+spinda,5,429,
+skink,5,429,"scincid,scincidae"
+sea_salt,4,429,
+satsui-n0-had0u,1,429,
+pregnant_gynomorph,0,429,"pregnant_dickgirl,pregnant_shemale"
+plague_doctor,0,429,
+pip-boy,0,429,"pip_boy,pipboy"
+outlaw_star,3,429,
+older_human,0,429,
+lion_humanoid,5,429,
+green_face,0,429,
+erection_under_skirt,0,429,skirt_boner
+dark_room,0,429,
+dale_(disney),4,429,dale_(cdrr)
+cum_on_glasses,0,429,
+capybara,5,429,"carpincho,chiguire,chiguiro,chigüire,chigüiro"
+braford,1,429,
+bobthetanuki,1,429,"bob_cross,bodoodles,extrasizedbob"
+billynr,1,429,
+b-epon,1,429,braddo
+twotail813,1,428,
+tail_in_water,0,428,
+streamer,0,428,
+shawl,0,428,
+pyron,4,428,
+houndour,5,428,
+holding_feet,0,428,
+heartbeat,0,428,
+goon_(goonie_san),4,428,
+flying_sex,0,428,sex_while_flying
+espurr,5,428,
+durg_(artist),1,428,teelhavok
+bionic_arm,0,428,
+zetsin,1,427,
+zeta-haru,1,427,zetaharu
+yellow_perineum,0,427,
+vera_(artist),1,427,
+uncensor_request,7,427,
+twilight,0,427,
+tutu,0,427,
+syynx,1,427,jjiinx
+sonic_the_hedgehog_(film),3,427,"sonic_movie,sonic_the_hedgehog:_the_movie,sonic_the_hedgehog_(movie),sonic_the_hedgehog_the_movie,sonic_the_movie"
+richard_foley,1,427,moonstalker
+partially_clothed_anthro,0,427,
+null-ghost,1,427,
+no_swift,1,427,noswift
+lightbulb,0,427,
+huge_ears,0,427,
+condom_decoration,0,427,
+clasped_hands,0,427,
+bulge_grab,0,427,
+wedding_veil,0,426,bridal_veil
+sheep_wrecked,3,426,
+sexuality_symbol,0,426,
+photolol.03,1,426,
+pgm300,1,426,schewiener
+nightterror,1,426,grimfaust
+mrs._shy_(mlp),4,426,mrs_shy_(mlp)
+mabel_able,4,426,
+kajinchu,1,426,"hidden_breeze,kaze_nin,風邪人"
+kageyama,1,426,
+grainy,0,426,
+fureverick,1,426,
+faceless_intersex,0,426,"faceless_futa,faceless_futanari"
+disembodied_tongue,0,426,
+chip_(disney),4,426,chip_(cdrr)
+cavern,0,426,
+card_game,0,426,
+calem_(pokémon),4,426,calem_(pokemon)
+blue_(jurassic_world),4,426,
+back_to_back,0,426,
+timon,4,425,
+tail_over_edge,0,425,
+surrounded,0,425,
+sek_studio,3,425,
+salamikii,1,425,
+pink_blush,0,425,
+oddjuice,1,425,
+loverofpiggies,1,425,
+holding_candy,0,425,
+game_screen,0,425,
+doublepopsicle,1,425,kaykitten
+dog_tail,0,425,
+ahsoka_tano,4,425,
+stolen_generation,3,424,
+seashell_bra,0,424,shell_bra
+rito_humanoid,5,424,
+penis_shadow,0,424,
+outta_sync,1,424,
+libra-11,1,424,
+koveliana,1,424,
+hooters,3,424,
+himerosthegod,1,424,
+glistening_lips,0,424,"glistening_lip,lip_shine,shining_lip,shining_lips,shiny_lip,shiny_lips"
+fladdykin,1,424,cbatie11
+fist_bump,0,424,"brofist,brohoof,fistbump,hoof_bump"
+fatal,0,424,
+dripping_text,0,424,
+deep_cunnilingus,0,424,
+cuddlehooves,1,424,
+cozy_glow_(mlp),4,424,
+catherinemeow,1,424,
+beast_boy,4,424,
+acorn,0,424,
+white_toes,0,423,
+whistle_(object),0,423,
+tied_clothing,0,423,
+soviet_union,0,423,"soviet,soviet_russia,ussr"
+scruffy,0,423,
+overweight_human,0,423,
+nightmare,0,423,
+looking_back_at_another,0,423,
+jacki_northstar,4,423,
+inaccurate_knotting,0,423,
+hand_on_calf,0,423,
+gastly,5,423,
+emo_haircut,0,423,emo_hair
+eclipsewolf,1,423,
+coat_cape,0,423,
+allosaurid,5,423,allosaur
+webcam,0,422,"web_cam,web_camera,webcamera"
+web_bondage,0,422,"chrysalis_wrapping,coccoon_bound,coccoon_wrapping,cocoon_bound,cocoon_wrapping,silk_wrap,silk_wrapping,spider_bound,spider_wrap,spider_wrapping,spider_wrapping_prey,web_bound,webbing_bound"
+wattle,0,422,
+tderek99,1,422,
+stinkface,0,422,
+smite,3,422,
+silver_(metal),0,422,
+sex_toy_fellatio,0,422,
+maractus,5,422,
+horokusa0519,1,422,
+hiro_amanokawa,4,422,
+hiccup_horrendous_haddock_iii,4,422,"hiccup_(how_to_train_your_dragon),hiccup_(httyd),hiccup_haddock_iii,hiccup_haddock_the_3rd,hiccup_haddock_the_third,hiccup_horrendous_haddock_the_3rd,hiccup_horrendous_haddock_the_third"
+glowing_fur,0,422,
+foot_rub,0,422,"foot_massage,footrub,paw_massage,paw_rub,paws_rub"
+dire_(fortnite),4,422,
+brown_hat,0,422,
+brown_belly,0,422,
+boy_shorts,0,422,"boy-shorts,boyshorts"
+aircraft_humanoid,5,422,
+zigzagoon,5,421,
+wonderslug,1,421,wonderslug_(artist)
+sweaty_belly,0,421,sweaty_stomach
+side_by_side_stereogram,7,421,"sbs,sbs_3d,sbs_stereogram"
+raccoon21,1,421,6graycloudp
+permanent,0,421,
+mythological_carbuncle,5,421,carbuncle
+halter_top,0,421,haltertop
+grandchild,0,421,"gran_child,gran_children,gran_childs,granchild,granchildren,granchilds,grand_child,grand_children,grand_childs,grandchildren,grandchilds"
+floating_wings,0,421,
+enjoying,0,421,
+brunkdutt,3,421,
+ball_nuzzling,0,421,
+amakuchi,1,421,sweet_taste
+zorro_re,1,420,"zorro-re,zorrore"
+stellar_flare_(mlp),4,420,
+silent_hill,3,420,"silent_hill_1,silent_hill_2,silent_hill_3,silent_hill_4,silent_hill_homecoming,silent_hills"
+satsuki_rabbit,1,420,"satsuki_usagi,satsuki_usagi_(artist),satsuki_yusagi,皐月ウサギ"
+sarcolopter,1,420,
+parent_and_son,0,420,
+overcast,0,420,
+open_book,0,420,
+multicolored_beak,0,420,"multi-coloured_beak,multi_colored_beak,multi_coloured_beak,multicoloured_beak"
+kounosuke_(morenatsu),4,420,"kounosuke,kounosuke_kuri,kuri_kounosuke"
+hoodie/briefs_meme,0,420,
+froakie,5,420,
+fellatio_pov,0,420,
+egg_inflation,0,420,
+diaper_only,0,420,
+content_repetition,0,420,
+chiro_(artist),1,420,チろ
+bowser_day,3,420,
+black_butt,0,420,"black_ass,black_booty"
+beer_mug,0,420,
+bass_guitar,0,420,"bass_(guitar),bass_(instrument),bass_(musical_instrument),bass_instrument,electric_bass"
+barbed_humanoid_penis,0,420,
+viwrastupr,1,419,
+suicide,0,419,
+sprinkles,0,419,
+redraw,0,419,
+monotone_anus,0,419,
+krezz_karavan,1,419,"karavan,krezz,krezz-karavan,krezzkaravan,krezzman"
+kaion,1,419,
+fierglief,1,419,
+farmer,0,419,
+cutout,0,419,
+comb_(anatomy),0,419,"chicken's_comb,chicken_comb,cock's-comb,cock's_comb,cock_comb,cockcomb,cocks_comb,cockscomb,comb_(crest),comb_(feature),comb_crest,coxcomb,rooster's-comb,rooster's_comb,rooster_comb,roostercomb,roosters_comb,roosterscomb"
+block,0,419,blocks
+tera_online,3,418,
+sneasler,5,418,
+scruff_bite,0,418,"biting_scruff,scruff_biting"
+pikajota,1,418,pikajota_(artist)
+mouse_tail,0,418,
+micro_in_hand,0,418,
+habit,0,418,
+genital_markings,0,418,"genital_marking,genitalia_marking,genitalia_markings,genitals_marking,genitals_markings,groin_marking,groin_markings"
+euyoshi89,1,418,ruffyyoshi
+cynthia_(pokémon),4,418,cynthia_(pokemon)
+cacomistle,5,418,
+big_pubes,0,418,excessive_pubic_hair
+wood_wall,0,417,wooden_wall
+toe_play,0,417,
+punchy_(animal_crossing),4,417,
+overbite,0,417,
+oogamikennta,1,417,
+mustelid_humanoid,5,417,
+imminent_tentacle_rape,0,417,
+dinosaurs_inc.,3,417,
+catfish,5,417,"cat_fish,nematognathi,siluriform,siluriforme"
+aamon_(james_howard),4,417,
+aaaninja,1,417,
+yourfavoritelemonade,1,416,
+yoga_mat,0,416,
+tydrian,1,416,
+sue_sakamoto,4,416,
+spying,0,416,
+spats,0,416,
+pokemon_go,3,416,pokémon_go
+lost-paw,1,416,
+kuroran,1,416,
+knot_hanging,0,416,knot_suspension
+gothic_lolita,0,416,
+eyestalks,0,416,"eye_stalk,eye_stalks,eyestalk,ommatophore"
+colonel_klink,1,416,colonel__klink
+brown_boots,0,416,
+bonnie_hopps,4,416,
+antenna_hair,0,416,hair_antenna
+alcid,5,416,auk
+urine_in_ass,0,415,"pee_in_ass,peeing_in_ass,piss_enema"
+teranen,1,415,"teranen_(artist),teranentwii,teranentwii_(artist)"
+spotted_genitalia,0,415,
+sketchy,0,415,
+mrs._brisby,4,415,"mrs.brisby,mrs_brisby"
+moddish,1,415,
+lei,0,415,
+hand_on_shin,0,415,
+dry_humping,0,415,dryhump
+dinky_hooves_(mlp),4,415,"dinky_doo,dinky_doo_(mlp),dinky_hooves"
+cum_kiss,0,415,
+chowder_(series),3,415,
+zhanbow,1,414,zhan
+yellow_theme,7,414,
+yellow_gloves,0,414,
+teaselbone,1,414,
+tail_spines,0,414,"barbed_tail,tail_barb"
+pink_skirt,0,414,
+mutation,0,414,
+mike_schmidt,4,414,
+lin_hu,4,414,
+iko,1,414,
+final_space,3,414,
+female_dominating_male,0,414,
+dudley_puppy,4,414,
+dr._voir,4,414,
+bighorn_sheep,5,414,big_horn_sheep
+4_wings,0,414,"4_wing,4_winged,four_wing,four_winged,four_wings"
+zillford,1,413,
+wolfie-pawz,1,413,wolfie-pawz_(artist)
+wick_(artist),1,413,siden
+white_seam_underwear,0,413,
+villainous,0,413,villain
+tree_hugger_(mlp),4,413,"tree_huger_(mlp),tree_hugger,treehugger,treehugger_(mlp)"
+reverse_spitroast,0,413,
+phuufy,1,413,phsuke
+photonoko,1,413,"c-o-m-p-a-s-s,rain-gear"
+kima_(kimacats),4,413,
+houtengeki,1,413,
+gynomorph_focus,0,413,dickgirl_focus
+dilated_pupils,0,413,
+capelet,0,413,
+between_butts,0,413,
+yellow_headwear,0,412,
+towel_on_shoulder,0,412,
+tiny_kong,4,412,
+squirrel_and_hedgehog,3,412,
+rotary_fan,0,412,
+pyruvate,1,412,
+keke_(artist),1,412,
+jeanwoof,1,412,
+height_chart,0,412,
+hazakyaracely,1,412,
+dark_sclera,0,412,
+bent_over_with_legs_held_straight,0,412,
+alacarte,1,412,
+wakko_warner,4,411,
+super_fuck_friends,3,411,
+shirokoi,1,411,
+sawyer_(cats_don't_dance),4,411,
+mount/rider_relations,0,411,"mount/rider,mount/rider_relationship,mount_rider_relations,rider/mount_relations"
+distracted_sex,0,411,
+crotch_grab,0,411,
+crotch_breasts,0,411,"crotch_boob,crotch_boobs,crotch_breast,crotch_tits,crotchboob,crotchboobs,crotchbreast,crotchbreasts,crotchtits"
+clenched_fists,0,411,
+classic_amy_rose,4,411,"classic_amy,rosy_the_rascal"
+berdly,4,411,
+archer,0,411,
+willing_pred,0,410,
+vent,0,410,
+stump,0,410,
+soyuzmultfilm,3,410,
+snoring,0,410,
+rei_(pokemon),4,410,rei_(pokémon)
+pussy_ring,0,410,
+muscular_ambiguous,0,410,
+mr.under,1,410,
+leaking_pussy,0,410,
+kae_esrial,4,410,
+jonty,4,410,
+hooters_uniform,0,410,
+hazel_(shakotanbunny),4,410,
+glowing_nose,0,410,
+bearded_vulture,5,410,lammergeier
+anatomy,0,410,
+alpha_and_omega,3,410,
+alexaxes,1,410,commission-mission
+agyou,4,410,
+zubat,5,409,
+virtual_reality,0,409,
+unusual_position,0,409,
+toshi_(artist),1,409,
+tomb_raider,3,409,
+stylus,0,409,
+redemption3445,1,409,mista-red
+master_viper,4,409,"viper_(kfp),viper_(kung_fu_panda)"
+long_mane,0,409,
+iranian_mythology,3,409,"iran_mythology,persian_mythology"
+holding_card,0,409,
+fox_whisper85,1,409,
+doorknob,0,409,
+chrysalisdraws,1,409,
+zooerastia,3,408,
+viola_bat,1,408,"nullbatty,violabat"
+stuck_genitals,0,408,
+striped_swimwear,0,408,striped_swimsuit
+raptor007,1,408,
+police_car,0,408,
+nifuramu_(pizademokttero),4,408,
+kuma,1,408,
+katsuke,1,408,
+head_back,0,408,
+flower_pot,0,408,
+flitter_(mlp),4,408,flitter
+envelope,0,408,
+dogear218,1,408,inumimi_moeta
+dark_violet,1,408,
+cuphead_(character),4,408,
+cowboy_boots,0,408,
+commentary,0,408,
+baron_engel,1,408,
+ancesra,1,408,n_cesra
+ageplay,0,408,age_play
+aeolus06,1,408,
+yellow_feet,0,407,
+weapon_on_shoulder,0,407,
+virtyalfobo,1,407,
+tytonid,5,407,tytonidae
+toe_suck,0,407,"sucking_toe,sucking_toes,toe_sucking,toes_suck"
+the_dark_mangaka,1,407,
+stained_glass,0,407,
+rabbid,5,407,
+navel_rim,0,407,naval_rim
+miranda_(wakfu),4,407,
+mewgle,1,407,
+masked_owl,5,407,tyto
+kori-nio,1,407,dinochargecurio
+hallogreen,1,407,
+gothitelle,5,407,
+drgraevling,1,407,
+chimangetsu,3,407,
+bare_legs,0,407,
+zhali,4,406,
+velma_dinkley,4,406,"velma_(scooby),velma_(scooby-doo),velma_(scooby_doo),velma_(scoobydoo)"
+testowepiwko,1,406,
+teal_body,0,406,
+symbareangoramon,5,406,
+slobber,0,406,
+shadow_creature,5,406,
+servo,4,406,
+puppkittyfan1,1,406,puppychan48
+penis_nursing,0,406,
+kuroame,1,406,7kuroame7
+heavily_excessive_cum,0,406,
+head_down,0,406,
+gigantamax_pokemon,5,406,"g-max,g-max_pokemon,g-max_pokémon,g_max,g_max_pokemon,g_max_pokémon,gigantamax,gigantamax_pokémon,gmax,gmax_pokemon,gmax_pokémon"
+featureless_face,0,406,
+exposed_diaper,0,406,
+cloudz,1,406,
+zabivaka,4,405,
+supervillain,0,405,"super_villain,super_villains,supervillains"
+shoelaces,0,405,
+scars_all_over,0,405,
+scale_(artist),1,405,"alessio_scalerandi,scalerandiart"
+pop'n_music,3,405,
+monotone_beak,0,405,
+legend_of_mana,3,405,
+latex_(artist),1,405,"goodwoolf,royz,royzilya,zyorart"
+jamminbison,1,405,
+hypnotic_clothing,0,405,
+dradmon,1,405,"dradgien,dradgien_(artist),dradmon_(artist)"
+cross_pupils,0,405,+_+
+brown_and_white,7,405,white_and_brown
+yookie,1,404,
+veyll,1,404,
+snowskau,1,404,"kalongrad,questionablecactus"
+skylardoodles,1,404,redfeatherstorm
+shopped,7,404,photoshopped
+pubic_boot,0,404,pelvic_boot
+plasma_gun,0,404,
+pink_headwear,0,404,
+mhdrawin,1,404,mhasses
+leggy_lamb,4,404,
+hand_on_wall,0,404,
+geminisaint,1,404,
+dualshock_4,3,404,
+bbc-chan,1,404,"bbc-chan_(artist),bbcchan,bbcchan_(artist)"
+antiroo,1,404,antiroodraws
+aftertale,3,404,
+aennor,1,404,
+whipping,0,403,
+tyrantrum,5,403,
+touching_diaper,0,403,
+tacticalfur,1,403,"metalfoxxx,themetalpony"
+stuck_penis,0,403,
+scourge_the_hedgehog,4,403,
+ruth66,1,403,
+rocket_launcher,0,403,"bazooka,rpg_launcher"
+pilot,0,403,
+open_toe_heels,0,403,
+one_eye_half-closed,0,403,
+mr._cake_(mlp),4,403,"carrot_cake_(mlp),mr._cake,mr_cake,mr_cake_(mlp)"
+missy_(artist),1,403,onu
+manticore,5,403,
+hello_kitty_(character),4,403,kitty_white
+funtime_foxy_(fnafsl),4,403,
+ei-ka,1,403,
+dixie_(fath),4,403,
+brown_breasts,0,403,
+bluecoffeedog,1,403,son-of-liberty
+belly_hair,0,403,
+ball_squeeze,0,403,
+attention_emanata,0,403,
+trashtoonz,1,402,
+suprised_look,0,402,
+squid_sisters_(splatoon),4,402,squid_sisters
+plow_yoke,0,402,
+pent_up,0,402,
+pattern_skirt,0,402,
+lazysnout,1,402,
+konzaburou,1,402,kzr
+for_sale,0,402,
+evilbanana,1,402,
+demien,1,402,
+agitype01,1,402,
+trigger_discipline,0,401,
+tooboe_bookmark,3,401,
+tatsuchan18,1,401,
+tatemil,1,401,
+tarunah,5,401,
+sex_education,0,401,sex_ed
+salaciouslx,1,401,klonoacat
+rabbit_ears,0,401,
+onmyou_taisenki,3,401,
+mostly_nude_male,0,401,
+heart_tattoo,0,401,"<3-shaped_tatoo,<3-shaped_tattoo,<3-shaped_tattoos,<3_shaped_tatoo,<3_shaped_tattoo,<3_shaped_tattoos,<3_tatoo,<3_tattoo,<3_tattoos,heart-shaped_tatoo,heart-shaped_tattoo,heart-shaped_tattoos,heart_shaped_tatoo,heart_shaped_tattoo,heart_shaped_tattoos,heart_tatoo,heart_tattoos,hearts-shaped_tatoo,hearts-shaped_tattoo,hearts-shaped_tattoos,hearts_shaped_tatoo,hearts_shaped_tattoo,hearts_shaped_tattoos,hearts_tatoo,hearts_tattoo,hearts_tattoos"
+game_boy_family,3,401,
+free_use,0,401,
+blokfort,1,401,
+begging_for_more,0,401,
+arm_in_front,0,401,
+9x9,1,401,
+village,0,400,
+snoot_game_(fan_game),3,400,
+slur,0,400,
+pink_hoodie,0,400,
+gold_choker,0,400,
+gemma_polson,4,400,
+gaping_urethra,0,400,
+female_humanoid,0,400,
+el_arca,3,400,
+dominant_ambiguous,0,400,"ambiguous_dominating,ambiguous_domination"
+cat_busters,3,400,
+yellow_cum,0,399,gold_cum
+trampling,0,399,trample
+tatzlpony,5,399,
+talking_to_self,0,399,
+piko_(simplifypm),4,399,
+oops,0,399,
+moon_bear,5,399,asian_black_bear
+microskirt,0,399,"micro-skirt,micro_skirt"
+lube_in_ass,0,399,
+knightmoonlight98,1,399,
+holding_brush,0,399,
+hirurux,1,399,
+fatal_dx,1,399,
+fast_food,0,399,fastfood
+crib,0,399,
+brushfire,1,399,
+box_xod,1,399,"black_bee3,黒部ダム"
+biyomon,5,399,piyomon
+ball_ring,0,399,
+arcade,0,399,
+angela_cross,4,399,
+thehades,1,398,
+syrios,1,398,
+sr,1,398,soubriquetrouge
+replytoanons,1,398,
+non-mammal_navel,0,398,
+nike,3,398,
+leather_handwear,0,398,
+ice_cube,0,398,ice_cubes
+hisuian_zorua,5,398,
+glitter,0,398,
+foam,0,398,
+derpx1,1,398,
+brown_glans,0,398,
+balls_blush,0,398,"ball_blush,blushing_balls"
+amad_no_moto,1,398,"vicb60012,雨戸"
+x-men,3,397,x_men
+wetblush,3,397,
+scalie_schoolie,3,397,
+rumbling,0,397,
+rio_(series),3,397,rio_2
+poethewondercat,1,397,
+peeing_on_self,0,397,
+onion,0,397,onions
+occipital_markings,0,397,"back_head_marking,back_head_markings,back_of_head_marking,back_of_head_markings,back_of_the_head_marking,back_of_the_head_markings,backhead_marking,backhead_markings,occipital_marking"
+nintendo_3ds,3,397,3ds
+magician,0,397,
+holding_face,0,397,
+ball_of_yarn,0,397,"ball_of_string,yarn_ball"
+american_flag_bikini,0,397,
+abyssal_wolf,5,397,
+thewill,1,396,
+spazzyhusky,1,396,tihusky
+sex_doll,0,396,
+pumpkin_head,0,396,
+pecjob,0,396,
+number_on_clothing,0,396,
+multi_tone_tail,0,396,
+mirage_(disney),4,396,
+michele_light,1,396,
+katrina_fowler,4,396,
+joltik,5,396,
+indominus_rex,5,396,
+hyper_abdominal_bulge,0,396,
+holivi,1,396,
+flowing_hair,0,396,
+flight_rising,3,396,
+excellia_(coc),4,396,excellia_(corruption_of_champions)
+custom_character_(sonic_forces),4,396,
+checkered_clothing,0,396,
+blood_from_mouth,0,396,bleeding_from_mouth
+barely_contained_penis,0,396,
+arsauron,1,396,
+animal_ears,0,396,
+all_dogs_go_to_heaven,3,396,adgth
+yukata,0,395,
+tinydeerguy,1,395,thesepantsdontfit
+tail_blade,0,395,"bladed_tail,bladed_tailtip"
+skyline,0,395,
+power_rangers,3,395,
+pith_helmet,0,395,"safari_hat,safari_helmet,sola_topee,sun_helmet,topee"
+nsfwzhenya,1,395,"jush,pulolichu,supernsfwzhenya"
+mineral_humanoid,5,395,humanoid_mineral
+leaf_clothing,0,395,
+hornedfreak,1,395,
+half-life,3,395,"half_life,halflife"
+gown,0,395,
+burble_(sound_effect),0,395,
+boon_digges,4,395,
+blazethefox,1,395,
+bikini_removed,0,395,
+antler_grab,0,395,"grabbing_antler,grabbing_antlers"
+urbosa,4,394,
+summer_camp_island,3,394,
+studded_bracelet,0,394,
+sidnithefox,1,394,
+pussy_shot,0,394,
+pink_bikini,0,394,
+likulau,4,394,
+j5furry,1,394,
+goo_tentacles,0,394,
+gimp_mask,0,394,"bondage_hood,bondage_mask"
+dumpster,0,394,
+bow_(stringed_instrument),0,394,
+bojack_horseman_(character),4,394,
+xbox_controller,0,393,
+vixavil_hayden,4,393,vix_(feretta)
+undressing_partner,0,393,
+ultrabondagefairy,1,393,
+the_man,1,393,
+sarong,0,393,
+pussy_peek,0,393,
+presenting_teats,0,393,
+predicament_bondage,0,393,
+pixiv,3,393,
+piero03432812,1,393,香瓜
+multicolored_socks,0,393,
+macop,1,393,
+jewish_mythology,3,393,
+interstellar_demon_stripper,4,393,
+fastener,0,393,
+ender_dragon,5,393,enderdragon
+dullahan,5,393,
+dakka,4,393,
+asheraart,1,393,
+amocin,1,393,
+xenoblade_chronicles_2,3,392,
+toga,0,392,
+revenge,0,392,
+no_irises,0,392,
+night_(dream_and_nightmare),4,392,
+megumi_bandicoot,4,392,
+low_key_toxtricity,5,392,"low-key_form_toxtricity,low-key_toxtricity,low_key_form_toxtricity,lowkey_form_toxtricity,lowkey_toxtricity,toxtricity_(low-key),toxtricity_(low-key_form),toxtricity_(low_key),toxtricity_(low_key_form),toxtricity_(lowkey),toxtricity_(lowkey_form),toxtricity_low-key,toxtricity_low-key_form,toxtricity_low_key,toxtricity_low_key_form,toxtricity_lowkey,toxtricity_lowkey_form"
+infinite_(sonic),4,392,
+horn_fetish,0,392,
+holding_paper,0,392,holding_papers
+heart_in_signature,0,392,
+hand_on_bulge,0,392,
+grey_glans,0,392,gray_glans
+fluffle_puff,4,392,"fluffle_puff_(mlp),flufflepuff"
+drapes,0,392,
+diaper_fur,0,392,
+cum_meter,0,392,
+cooking_pot,0,392,
+balancing,0,392,
+1996,7,392,
+younger_gynomorph,0,391,younger_dickgirl
+torn_underwear,0,391,
+tekken,3,391,
+suckers,0,391,
+piko_piko_hammer,0,391,
+long_fangs,0,391,
+laundry,0,391,
+kinoshita-jiroh,1,391,
+head_on_pillow,0,391,
+harem_jewelry,0,391,
+florges,5,391,
+flag_swimwear,0,391,
+crookedtrees,1,391,"casetterecorder,cassetterecorder,railgunner,sirrailgun,svefnn"
+boss,0,391,
+big_teeth,0,391,
+back-print_panties,0,391,
+ark_warrior,1,391,arkwarrior
+takataka,1,390,
+rayhuma,1,390,
+rainbow_fur,0,390,
+questioning,0,390,
+purple_bra,0,390,
+pec_grab,0,390,
+obese_gynomorph,0,390,obese_dickgirl
+nier_automata,3,390,
+kicks_(animal_crossing),4,390,
+julicat,1,390,dkl
+interrupted_speech,0,390,
+hyper_tongue,0,390,"absurdly_long_tongue,impossibly_long_tongue"
+humanoid_dildo,0,390,"human_dick_dildo,human_dildo,human_penis_dildo,humanoid_dick_dildo"
+human_penetrating_human,0,390,hn/p/hn
+forced_exposure,0,390,forced_nudity
+flattened,0,390,flattening
+exercise_ball,0,390,yoga_ball
+emerald_jewel_(colt_quest),4,390,
+dripping_wet,0,390,
+brown_pubes,0,390,
+blue_briefs,0,390,
+bead_necklace,0,390,
+wet_penis,0,389,
+thewilldpink,1,389,
+subway,0,389,
+robbie_(rotten_robbie),4,389,
+reverse_bunny_costume,0,389,reverse_bunny_suit
+oral_while_penetrating,0,389,
+nubless,4,389,"light_fury_(character),lightfury_(character),nubless_(how_to_train_your_dragon),nubless_(httyd),unnamed_light_fury,unnamed_lightfury"
+nemes_(clothing),0,389,
+markie,1,389,
+legendary_trio,0,389,
+kid_icarus,3,389,
+izzy223,1,389,"vixxtq,vixxystix"
+imminent_gangbang,0,389,
+held_up,0,389,
+ffm,0,389,
+blue_bow,0,389,
+auburn_hair,0,389,
+3:1,7,389,
+ziggie13,1,388,
+yitexity,1,388,
+tabard,0,388,tabbard
+stretched_clothing,0,388,stretched_clothes
+sphere_creature,5,388,
+snake_hood_piercing,0,388,cobra_hood_piercing
+side_by_side,0,388,
+punkypanda,1,388,
+pokémon_move,0,388,pokemon_move
+o-kemono,1,388,"alex_cockburn,o_kemono,ookami_kemono"
+maleherm_penetrated,0,388,
+lt._fox_vixen,4,388,"lieutenant_fox_vixen,lieutenant_vixen,lt._vixen,lt_fox_vixen,lt_vixen,여우장교"
+jhenightfox,1,388,
+horn_play,0,388,hornplay
+honovy,1,388,
+holding_camera,0,388,
+heart_tail,0,388,
+gervic_(vju79),4,388,
+flask,0,388,
+faraden,5,388,
+chin_piercing,0,388,
+breloom,5,388,
+backless_swimsuit,0,388,
+autobot,0,388,
+zingiber,1,387,zingiber_(artist)
+xopachi,1,387,xopachi_(artist)
+whimsydreams,1,387,sunshinesweets
+ukan_muri,1,387,"ukanmuriman,うかんむり,うかんむりβ"
+tasanko,1,387,
+tailtufts,1,387,"gremlinclaws,tailtugs"
+skylar_zero,4,387,
+nipple_censor,0,387,
+melianah,1,387,
+male_rimming_female,0,387,
+kyaramerucocoa,1,387,"mortal_chocolate,mortalchocolate"
+kraken_(artist),1,387,
+inspired_by_formal_art,7,387,inspired_by_proper_art
+ice_bear,4,387,
+human_on_male,0,387,
+hot_chocolate,0,387,hot_cocoa
+heteromyid,5,387,heteromyidae
+hauringu,1,387,
+gargomon,5,387,
+dipodomyine,5,387,dipodomyinae
+colrblnd,1,387,colrblnd_(artist)
+birthmark,0,387,"birth_mark,birth_marks,birthmarks"
+baseball_(ball),0,387,baseball_(object)
+zerg,5,386,
+whale_shark,5,386,
+takiminada,1,386,
+sunhuiz,1,386,chaoschaocrack
+spinning,0,386,spin
+snofu,1,386,
+smokyjai,1,386,"scifijackrabbit,sfjr"
+red_fundoshi,0,386,
+puffin,5,386,
+photographer,0,386,
+omnic,5,386,
+nr_ac,1,386,
+mutual_oral,0,386,
+marshtomp,5,386,
+magic_inhibitor,0,386,
+kammymau,1,386,"mandymau,mandymau5"
+hoofjob,0,386,hoof_job
+colubrid,5,386,
+colleen,4,386,
+casparr,1,386,
+bangaa,5,386,
+4_claws,0,386,four_claws
+ziegelzeig,1,385,
+wolfkidd,1,385,wolf_kidd
+vitrex,1,385,
+saiyan,5,385,
+medicham,5,385,
+manectric,5,385,
+lara_croft,4,385,
+girafarig,5,385,
+filthypally,1,385,"filthyp,filthypaladin"
+embers,0,385,
+cuff_links,0,385,cufflinks
+blue_kerchief,0,385,
+akari_(pokemon),4,385,akari_(pokémon)
+xaenyth,1,384,
+tissue_box,0,384,
+tail_button_bottoms,0,384,
+snoopjay2,1,384,
+outer_highlight,0,384,
+novaspark,1,384,
+hasukii,1,384,"hasukii_mikami_(artist),mikami_hasukii_(artist),ミカミ_ハヅキ"
+forced_anal,0,384,
+dwarf_rabbit,5,384,
+belly_blush,0,384,blushing_stomach
+bacn,1,384,
+angels_with_scaly_wings,3,384,awsw
+white_spikes,0,383,
+warthog,5,383,"phacochoerinae,phacochoerus"
+vu06,1,383,
+veigar,4,383,
+tinker_bell_(disney),4,383,
+the_great_mouse_detective,3,383,
+teba_(tloz),4,383,"teba_(loz),teba_(zelda)"
+stoopix,1,383,
+sheela,1,383,
+ponporio_(artist),1,383,
+noill,1,383,
+macmegagerc,1,383,
+luigi's_mansion,3,383,
+light_clothing,0,383,
+leather_gloves,0,383,
+hiked_leg,0,383,
+boneitis,1,383,
+barn_owl,5,383,
+utsuki_maito,1,382,"zenimaki,zenimakitchen,zenmai,マイト,宇月まいと"
+tail_frill,0,382,
+t72b,1,382,
+sloppy_seconds,0,382,
+slim_anthro,0,382,
+sinfulwhispers15,1,382,sinfuldreams15
+silvergrin,1,382,
+sheeporwolf,1,382,wolvesmind
+sexotheque,1,382,
+raised_pinky,0,382,"lift_pinky,lifted_pinky,lifting_pinky,pinky_lift,pinky_lifted,pinky_lifting,pinky_raised"
+paw_gloves,0,382,"paw_glove,pawglove,pawgloves"
+martial_arts_uniform,0,382,"martial_art_clothing,martial_art_uniform,martial_art_wear,martial_arts_clothing,martial_arts_wear"
+lawyerdog,1,382,vimes_(artist)
+kyubi_(yo-kai_watch),4,382,
+kencougr,1,382,"cougr,ken_sample"
+julie_bruin,4,382,
+hetty_(faf),4,382,
+helia_peppercats,4,382,helia_peppercats_(wrinklynewt)
+head_in_mouth,0,382,
+habbodude,1,382,
+delki,1,382,
+batman,4,382,
+ariveil,1,382,
+security,0,381,
+sebafox,1,381,
+santanahoffman,1,381,
+redoxx,1,381,
+red_boots,0,381,
+orisa_(overwatch),4,381,
+oneshot,3,381,"one_shot,one_shot_(game),oneshot_(game)"
+nyuunzi,1,381,
+mythological_golem,5,381,"golem,golem_(myth)"
+firecat,4,381,
+femboy_hooters,3,381,
+condom_suit,0,381,
+bustier,0,381,
+arch_position,0,381,
+twitter_logo,0,380,
+tied_bikini,0,380,
+thestory,1,380,otherwords
+tgwonder,1,380,
+tezcatlipoca,4,380,
+skinny_male,0,380,
+pu_sukebe,1,380,"irurutann,kesu_pu,pu_suke,pu_suketan,ぷーすけ,ケスープ"
+poncho,0,380,
+military_cap,0,380,
+mickeymonster,1,380,
+larger_on_top,0,380,bigger_on_top
+lampropeltini,5,380,
+jennifer_(study_partners),4,380,
+hoopa,5,380,
+diaperfurry,0,380,
+dead_tree,0,380,"dead_trees,deadtree,deadtrees"
+christianity,0,380,
+cev,1,380,
+cardinal_(bird),5,380,"cardenal,cardinal,cardinal-bunting,cardinal-grosbeak,cardinal_(species),cardinal_bird,cardinal_bunting,cardinal_grosbeak,cardinalid,cardinalidae,cardnial"
+bonasiah,3,380,
+blithedragon,1,380,
+xenoblade_chronicles,3,379,
+werefox_(character),4,379,
+underbite,0,379,
+tucked_arms,0,379,
+topknot,0,379,
+time_lapse,0,379,
+tickling_armpits,0,379,
+the_binding_of_isaac_(series),3,379,"binding_of_isaac,binding_of_isaac:_rebirth,binding_of_isaac_(game),binding_of_isaac_(video_game),binding_of_isaac_game,binding_of_isaac_rebirth,tboi,the_binding_of_isaac,the_binding_of_isaac:_rebirth,the_binding_of_isaac_(game),the_binding_of_isaac_(video_game),the_binding_of_isaac_game,the_binding_of_isaac_rebirth"
+text_message,0,379,
+startled,0,379,
+sneefee,1,379,
+sitting_on,0,379,
+pink_shoes,0,379,
+mercenary_(character),4,379,
+kespr,1,379,
+human_edit,0,379,
+ezukapizumu,1,379,
+electricity_manipulation,0,379,"electric_bending,electric_charge_manipulation,electric_current_manipulation,electric_magic,electric_manipulation,electrical_bending,electrical_energy_manipulation,electrical_magic,electrical_manipulation,electricalbending,electricbending,electricity_bending,electricity_magic,electricitybending,electro_bending,electro_kinesis,electro_manipulation,electrobending,electrokinesis,electromanipulation,fulgur_kinesis,fulgurkinesis,fulmino_kinesis,fulminokinesis,lightning_bending,lightning_control,lightning_element_control,lightning_manipulation,lightning_style,lightningbending,thunderlight_manipulation"
+boris_noborhys,1,379,boris_(artist)
+blue_vest,0,379,
+black_latex,0,379,
+black_and_white_and_red,7,379,
+big_triceps,0,379,
+vial,0,378,
+straight_to_gay,0,378,
+stirrup_(marking),0,378,
+skeleion,1,378,"ashblueflames,vengefulspirits"
+rosa_(pokémon),4,378,"rosa_(pokemon),white2_(pokemon),white2_(pokémon),white_2_(pokemon),white_2_(pokémon)"
+pawpsicle,0,378,
+mykiio,1,378,
+music_video,0,378,
+milk_container,0,378,
+merrunz,1,378,
+measuring,0,378,
+marilyn_(quotefox),4,378,quote_(quotefox)
+knot_grab,0,378,
+jake_the_dog,4,378,
+gunmouth,1,378,
+finger_gun,0,378,finger_guns
+emote,0,378,
+danandnite,1,378,
+centorea_shianus_(monster_musume),4,378,
+blue_hands,0,378,
+blowup_background,0,378,"blowup_bg,closeup_background,recursive_background"
+ben300,1,378,
+zombikiss,1,377,gingerbreadarts
+yooka-laylee,3,377,"yooka-laylee_and_the_impossible_lair,yooka_laylee,yooka_laylee_and_the_impossible_lair,yookalaylee,yookalaylee_and_the_impossible_lair"
+view_from_below,0,377,
+two_tone_legs,0,377,
+slit_dress,0,377,
+shirt_logo,0,377,
+sex_swing,0,377,sex_sling
+red_glasses,0,377,
+playtonic_games,3,377,
+officer,0,377,
+ncs,1,377,
+luck_(animancer),4,377,
+jonas,1,377,"jonas_(artist),jonas_soda,jonasafterdark,jonasafterdark_(artist),jonasdrawsstuff"
+ictonica,1,377,
+glamfur,0,377,
+etis,4,377,
+dirtymac,1,377,dirtydirtyhands
+darknsfwindie,1,377,
+danganronpa,3,377,
+crowning,0,377,
+classic_sonic,4,377,"classic_sonic_the_hedgehog,sonic_(classic),sonic_classic,sonic_the_hedgehog_(classic),sonic_the_hedgehog_classic"
+canon_x_oc,0,377,
+bastriw,1,377,siriuswolfus
+band-aid_on_nose,0,377,
+against_desk,0,377,
+wolfpsalm,1,376,
+undeadkitty13,1,376,
+teal_scales,0,376,
+space_dragon_(metroid),5,376,
+skykain,1,376,
+repzzmonster,1,376,
+pubes_exposed,0,376,
+praying,0,376,
+penis_bow,0,376,"bow_on_penis,cock_bow"
+nitro,1,376,"nitro_(artist),supernitro,supernitro_(artist)"
+kurtassclear,1,376,
+istani,1,376,
+humanoid_pred,0,376,
+frilly_hairband,0,376,
+formal_wear,0,376,
+falling_leaves,0,376,
+cucujoid,5,376,"cucujoidea,cucujoidean"
+circus_baby_(fnaf),4,376,"baby_(fnafsl),circus_baby"
+chelodoy,1,376,
+blue_dildo,0,376,
+akitamonster,1,376,"akitamonstercom,candycornkita,skullcaps"
+watching_tv,0,375,watching_television
+toots,1,375,
+thanksgiving,3,375,
+stormdragonblue,1,375,maootter
+scene_hair,0,375,
+rathian,5,375,
+pillow_bite,0,375,"bite_pillow,biting_pillow,pillow_biting,pillowbite,pillowbiting"
+penis_bite,0,375,"biting_penis,cock_bite,cockbiting"
+padjetxharrington,1,375,
+medical_syringe,0,375,"hypodermic_needle,hypodermic_needles,hypodermic_syringe,hypodermic_syringes,medical_syringes"
+himitsu_no_cocotama,3,375,
+finger_suck,0,375,"finger_sucking,sucking_finger,sucking_fingers"
+fighting_over_boy,0,375,
+eda_clawthorne,4,375,"eda_(the_owl_house),eda_clawthorne_(the_owl_house)"
+currency_amount,0,375,
+brushing_teeth,0,375,"brushing_tooth,teeth_brushing,tooth_brushing"
+wagon,0,374,
+two_tone_underwear,0,374,
+teenage_mutant_ninja_turtles_(2012),3,374,
+strikeanywhere,1,374,
+ponsex,1,374,1an1
+older_humanoid,0,374,
+marowak,5,374,
+lovecraftian_(genre),3,374,
+joe_randel,1,374,joerandel
+holding_panties,0,374,
+discarded_sex_toy,0,374,
+cum_on_own_leg,0,374,
+courage_the_cowardly_dog_(character),4,374,"courage_(courage),courage_(courage_the_cowardly_dog),courage_(ctcd)"
+chiropteran_humanoid,5,374,"bat_humanoid,humanoid_bat"
+black_cum,0,374,
+yama_the_dorumon,4,373,
+ursine_penis,0,373,"bear_penis,panda_penis,polar_bear_penis,ursid_penis"
+tolerain,1,373,"misstake_mushroom,tolerain_(artist)"
+tatsumichi,1,373,
+tadano_(aggretsuko),4,373,tadano_(aggressive_retsuko)
+symbol-shaped_eyes,0,373,
+spiked_cock_ring,0,373,spiked_cockring
+sleeveless_hoodie,0,373,
+sirmasterdufel,1,373,
+scyther,5,373,
+renee-moonveil,1,373,
+reccand,1,373,
+new_world_monkey,5,373,"ceboid,ceboidea,ceboidean,platyrrhine,platyrrhini"
+nelly63,1,373,
+moth_humanoid,5,373,
+michiyoshi,1,373,
+interspecies_impregnation,0,373,
+glurk,0,373,
+footsie,0,373,"footsies,footsy"
+dingodile,4,373,
+dannoitanart,1,373,dannonitan
+cavity_storage,0,373,
+cactuscacti,1,373,
+beta_pokémon_games,3,373,"beta_pokemon,beta_pokemon_(game),beta_pokemon_(games),beta_pokemon_game,beta_pokemon_games,beta_pokémon,beta_pokémon_(game),beta_pokémon_(games),beta_pokémon_game"
+beta_pokémon_(species),5,373,"beta_pokemon_(species),beta_pokemon_species,beta_pokémon_species"
+white_bikini,0,372,
+true_buffalo,5,372,
+transformation_mechanism,0,372,
+stoic5,1,372,
+russia,0,372,
+robotic,0,372,
+robin_(bird),5,372,
+pointing_at_penis,0,372,pointing_to_penis
+nevobaster,1,372,
+markwulfgar,1,372,
+mall,0,372,
+magikarp,5,372,
+hero,0,372,
+hair_through_hat,0,372,
+gyro_tech,4,372,
+furred_kobold,5,372,
+furnut,1,372,furnut5158
+facial_scales,0,372,
+diaper_under_clothing,0,372,"diaper_under_clothes,diaper_under_jumpsuit"
+celio_(peritian),4,372,
+blue_legs,0,372,
+andyd,1,372,
+yasmil,1,371,
+tan_eyes,0,371,beige_eyes
+spirit:_stallion_of_the_cimarron,3,371,
+sassy,0,371,
+peach_(fruit),0,371,
+mule_deer,5,371,
+monster_girl_quest,3,371,monster_girl_quest_2
+leaking_diaper,0,371,"diaper_leak,leaky_diaper"
+koorinezumi,1,371,氷鼠
+grandparent_and_grandchild,0,371,"grand_child/grand_parent,grand_child/grand_parents,grand_child/grandparent,grand_child/grandparents,grand_child_and_grand_parent,grand_child_and_grand_parents,grand_child_and_grandparent,grand_child_and_grandparents,grand_children/grand_parent,grand_children/grand_parents,grand_children/grandparent,grand_children/grandparents,grand_children_and_grand_parent,grand_children_and_grand_parents,grand_children_and_grandparent,grand_children_and_grandparents,grand_childs/grand_parent,grand_childs/grand_parents,grand_childs/grandparent,grand_childs/grandparents,grand_childs_and_grand_parent,grand_childs_and_grand_parents,grand_childs_and_grandparent,grand_childs_and_grandparents,grand_childss_and_grand_parent,grand_childss_and_grand_parents,grand_childss_and_grandparent,grand_childss_and_grandparents,grand_parent/grand_child,grand_parent/grand_children,grand_parent/grand_childs,grand_parent/grandchild,grand_parent/grandchildren,grand_parent/grandchilds,grand_parent_and_grand_child,grand_parent_and_grand_children,grand_parent_and_grand_childs,grand_parent_and_grand_childss,grand_parent_and_grandchild,grand_parent_and_grandchildren,grand_parent_and_grandchilds,grand_parent_and_grandchildss,grand_parents/grand_child,grand_parents/grand_children,grand_parents/grand_childs,grand_parents/grandchild,grand_parents/grandchildren,grand_parents/grandchilds,grand_parents_and_grand_child,grand_parents_and_grand_children,grand_parents_and_grand_childs,grand_parents_and_grand_childss,grand_parents_and_grandchild,grand_parents_and_grandchildren,grand_parents_and_grandchilds,grand_parents_and_grandchildss,grandchild/grand_parent,grandchild/grand_parents,grandchild/grandparent,grandchild/grandparents,grandchild_and_grand_parent,grandchild_and_grand_parents,grandchild_and_grandparent,grandchild_and_grandparents,grandchildren/grand_parent,grandchildren/grand_parents,grandchildren/grandparent,grandchildren/grandparents,grandchildren_and_grand_parent,grandchildren_and_grand_parents,grandchildren_and_grandparent,grandchildren_and_grandparents,grandchilds/grand_parent,grandchilds/grand_parents,grandchilds/grandparent,grandchilds/grandparents,grandchilds_and_grand_parent,grandchilds_and_grand_parents,grandchilds_and_grandparent,grandchilds_and_grandparents,grandchildss_and_grand_parent,grandchildss_and_grand_parents,grandchildss_and_grandparent,grandchildss_and_grandparents,grandparent/grand_child,grandparent/grand_children,grandparent/grand_childs,grandparent/grandchild,grandparent/grandchildren,grandparent/grandchilds,grandparent_and_grand_child,grandparent_and_grand_children,grandparent_and_grand_childs,grandparent_and_grand_childss,grandparent_and_grandchildren,grandparent_and_grandchilds,grandparent_and_grandchildss,grandparents/grand_child,grandparents/grand_children,grandparents/grand_childs,grandparents/grandchild,grandparents/grandchildren,grandparents/grandchilds,grandparents_and_grand_child,grandparents_and_grand_children,grandparents_and_grand_childs,grandparents_and_grand_childss,grandparents_and_grandchild,grandparents_and_grandchildren,grandparents_and_grandchilds,grandparents_and_grandchildss"
+glameow,5,371,
+food_delivery,0,371,
+chinese,0,371,
+chakona_space,3,371,
+caressing,0,371,
+bow_bra,0,371,
+blinders,0,371,
+black_pubes,0,371,
+appelknekten,1,371,
+anonymous_character,4,371,azerio
+zeena,4,370,
+xerneas,5,370,
+spitey,4,370,
+securipun,1,370,
+ro,1,370,
+ripping,0,370,
+red_hoodie,0,370,
+purple_hat,0,370,
+one_calf_up,0,370,
+ladybug,5,370,"coccinellid,coccinellidae,coccinellidaen,lady_beetle,lady_bird,lady_bird_beetle,lady_bug,lady_bugs,ladybird,ladybird_beetle,ladybugs"
+koraidon,5,370,
+hair_ring,0,370,hair_rings
+fail,0,370,
+equine_genitalia,0,370,
+dronification,0,370,"drone_transformation,droneification,droning"
+diglett,5,370,
+cum_on_chin,0,370,
+cosmiclife,1,370,
+cock_hanging,0,370,
+brown_collar,0,370,
+brown_beard,0,370,
+blood_on_weapon,0,370,bloody_weapon
+blade_arm,0,370,"blade_arms,scythe_arm,scythe_arms"
+air_inflation,0,370,
+white_boots,0,369,
+scribble_censorship,0,369,
+sabrith_ebonclaw,4,369,sabrith
+larger_herm,0,369,
+daxter,4,369,
+cum_on_viewer,0,369,cum_on_pov
+crux,5,369,
+croiyan,1,369,
+blue_hooves,0,369,
+sollyz,1,368,
+orange-peel,1,368,
+missphase,1,368,cuisine_(artist)
+menu,0,368,
+mail,0,368,
+looking_at_pussy,0,368,
+holding_person,0,368,
+grey_shorts,0,368,gray_shorts
+foot_crush,0,368,crushed_underfoot
+demona_(gargoyles),4,368,demona
+colored_toenails,0,368,"coloured_toenails,painted_toenails,polished_toenails,toenail_polish"
+camel,5,368,
+bouncing_belly,0,368,
+blue_inner_ear_fluff,0,368,
+artik_ninetails,4,368,
+water_drop,0,367,
+thecatnamedfish,1,367,"askbubblelee,bubble_lee,cat-named-fish,cat_named_fish,catnamedfish,chakat_patches,chakatpatches"
+tail_vore,0,367,
+smilodon,5,367,
+rampage,0,367,
+purugly,5,367,
+message,0,367,
+internal_wall,0,367,
+inkplasm,1,367,"inkplasm_(artist),welwraith"
+hand_on_side,0,367,
+green_hoodie,0,367,
+green_countershading,0,367,
+granny_smith_(mlp),4,367,granny_smith
+galarian_ponyta,5,367,"galar_ponyta,ponyta_(galar_form),ponyta_(galarian_form)"
+fuchs,1,367,
+fluttershythekind,1,367,
+everquest,3,367,
+dvixie,1,367,"ask-joen-pony,claire_revell,d-vixie,d._vixie,d.vixie,d.vixie♡_🔜_hyperjapan,d_vixie,denny_vixen,dennybutt,dennybutt-art,dennybutt_art,dennyvixen,klausen-comic,klausen_comic"
+dragon_tales,3,367,
+dildo_lick,0,367,licking_dildo
+cruelty,0,367,
+cock_sock,0,367,"cocksock,penis_sock"
+cannibalism,0,367,
+bitebox64,1,367,
+bit-small,1,367,bitsmall
+vinyl,0,366,
+toothed_beak,0,366,"beak_teeth,teeth_in_beak,toothy_beak"
+tennis_racket,0,366,tennis_racquet
+spiked_anklet,0,366,spiked_anklets
+pegleg,0,366,"peg-leg,peg_leg"
+panken,1,366,
+nose_beak,0,366,beak_nose
+monster_hunter_stories_2:_wings_of_ruin,3,366,
+monster_hunter_stories,3,366,
+metalfox,1,366,
+male_rimming_male,0,366,
+lying_on_sofa,0,366,"laying_on_couch,lying_on_couch"
+loshon,1,366,
+exposed_butt,0,366,
+espio_the_chameleon,4,366,
+double_bun,0,366,double_buns
+cannibalistic_tendencies,1,366,
+brown_shorts,0,366,
+blue_yoshi,5,366,
+allosaurus,5,366,allosaurus_(species)
+adopted,0,366,
+:>,0,366,
+zeekzag,1,365,zkelle
+yuniwolfsky,1,365,yuniwusky
+taurification,0,365,
+side_slit,0,365,
+semiitu,1,365,
+retro_controller,0,365,
+plump_camel_toe,0,365,plump_cameltoe
+penectomy,0,365,
+multicolored_shoes,0,365,
+money_bag,0,365,
+latchk3y,1,365,
+kennen_(lol),4,365,kennen
+jeffthehusky,1,365,
+haaru,1,365,
+green_jacket,0,365,
+gold_scales,0,365,golden_scales
+flemish_giant,5,365,"flemish_giant_rabbit,flemmish_giant,flemmish_giant_rabbit"
+tracksuit,0,364,track_suit
+spinosaurid,5,364,spinosaur
+short_horn,0,364,short_horns
+red_pubes,0,364,
+psychic,0,364,
+painted_claws,0,364,
+number_on_topwear,0,364,
+muskie,1,364,
+meditation,0,364,
+maid_apron,0,364,
+lightning_bolt,0,364,"lighting_bolt,lightning_bolt_symbol"
+leather_pants,0,364,
+kneeling_sex,0,364,
+josun,1,364,
+holding_plate,0,364,
+green_collar,0,364,
+fixed_dildo,0,364,
+drum_bunker_dragon,4,364,"drum_(buddyfight),drum_(future_card_buddyfight),fang_slade_drum"
+dandi,1,364,
+coveralls,0,364,boilersuit
+cockslap,0,364,
+burgerpants,4,364,
+bound_top,0,364,
+beez,1,364,
+age_progression,0,364,
+zoophobia,3,363,
+thebigmansini,1,363,
+seii3,1,363,
+portuguese_text,7,363,
+petrock,1,363,quartz-poker
+o-ring,0,363,
+misterstallion,1,363,
+hairless_dog,5,363,
+dire_machine,5,363,feral_machine
+dead_or_alive_(series),3,363,"dead_or_alive,dead_or_alive_(franchise),dead_or_alive_(game),dead_or_alive_(games),dead_or_alive_game,doa,doa_(franchise),doa_(game),doa_(games),doa_(series)"
+bondage_furniture,0,363,
+black_highlights,0,363,"black_highlight,black_streak,black_streaks"
+ball_squish,0,363,"balls_squish,squished_ball,squished_balls,squishy_balls"
+aisha_clanclan,4,363,
+stirrup_legwear,0,362,
+spill,0,362,
+soap_bubbles,0,362,
+shin_(morenatsu),4,362,"kuroi_shin,shin_kuroi"
+mr.smile,1,362,
+feuerfrei,3,362,
+fernando_faria,1,362,"14-bis,14_bis"
+dragon_taur,5,362,"dracotaur,dragon-taur,dragontaur,dragotaur"
+diesel_wiesel,1,362,
+delicatessen,1,362,nokemy
+daredemon7000,1,362,
+cum_on_furniture,0,362,
+codeine,1,362,
+charmrage,1,362,
+catti_(deltarune),4,362,
+cat_costume,0,362,cat_suit
+camo_bottomwear,0,362,camouflage_bottomwear
+buta99,1,362,
+attribute_theft,0,362,
+zonkey,5,361,zedonk
+weather_instrument,0,361,
+velvet_reindeer_(tfh),4,361,velvet_reindeer
+two_tone_bottomwear,0,361,
+the_gentle_giant,1,361,
+spread_cloaca,0,361,spreading_cloaca
+spotted_hair,0,361,
+spaca,1,361,spacascaleno
+red_savarin,4,361,
+pride_color_background,0,361,"pride_background,pride_colored_background,pride_colors_background,pride_colour_background,pride_coloured_background,pride_colours_background,pride_flag_background"
+potoobrigham,1,361,"epicguitar,potoo_brigham"
+pink_countershading,0,361,
+oven_mitts,0,361,"oven_mit,oven_mitt"
+nihallaks_(species),5,361,
+monotone_text,0,361,
+lemondeer,1,361,
+jumba_jookiba,4,361,"jumba_(l&s),jumba_(las),jumba_(lilo_&_stitch),jumba_(lilo_and_stitch),jumba_(stitch)"
+illegaleel,1,361,
+future,0,361,
+furboz,1,361,
+cotton_tail,0,361,
+cinccino,5,361,
+bee_humanoid,5,361,
+wax,0,360,
+wall_of_text,0,360,
+volleyball_net,0,360,volley_ball_net
+strawberrytfs,1,360,
+stasis_chamber,0,360,
+shu-chi,4,360,
+serialdad,1,360,
+saintversa,1,360,
+patricia_bunny,4,360,
+necrodrone,1,360,necrodrone13
+krekk0v,1,360,
+krampus_(housamo),4,360,
+klodette,4,360,
+japan,0,360,
+holding_legs_back,0,360,
+figurine,0,360,figure
+dragon's_crown,3,360,
+curse,0,360,
+cum_in_ear,0,360,
+willitfit,1,359,
+waddledox,1,359,
+urban,0,359,
+trixythespiderfox,1,359,trixy-the-spiderfox
+striped_horn,0,359,"horn_stripe,horn_stripes,striped_horns"
+skirt_down,0,359,
+multicolored_thigh_highs,0,359,
+mipha,4,359,"mipha_(loz),mipha_(tloz),mipha_(zelda)"
+milachu,4,359,
+mancoin,1,359,
+lunala,5,359,lunaala
+legoman,1,359,"lm,lm_(legoman)"
+jakkai,5,359,
+holding_whip,0,359,
+holding_stomach,0,359,
+exercise_clothing,0,359,
+curved_text,0,359,
+cocked_hip,0,359,
+cadaverrdog,1,359,
+black_elbow_gloves,0,359,black_elbow_glove
+baby_bottle,0,359,
+zaire_(nightdancer),4,358,
+yupa,1,358,
+yuni_hermit,4,358,
+tongue_on_penis,0,358,
+supersatanson,1,358,
+stu_hopps,4,358,
+space_jam:_a_new_legacy,3,358,"space_jam_2,space_jam_a_new_legacy"
+roy_koopa,4,358,"roy_(koopa),roy_(mario)"
+rose_in_mouth,0,358,
+rock_dog,3,358,
+rabid,1,358,
+pump,0,358,
+pink_beak,0,358,
+pherociouseso,1,358,
+objectification,0,358,
+nerdbayne,1,358,
+holding_umbrella,0,358,
+hijackerdraws_(artist),1,358,
+headpiece,0,358,
+glitched_securitron,1,358,
+furfit,1,358,nihilist_mut
+fruit_humanoid,5,358,humanoid_fruit
+faceless_gynomorph,0,358,faceless_dickgirl
+dotkwa,1,358,clyvore
+docked_tail,0,358,"bobbed_tail,cropped_tail,cut_tail,tail_cutting_(docking)"
+cuculiform,5,358,"cuckoo,cuckoo_bird,cuculid,cuculidae,cuculiforme"
+common_ferret,5,358,european_polecat
+cheetahpaws,1,358,
+voodoo_doll,0,357,
+vignette,0,357,
+touching_leg,0,357,
+toomuchdynamite,1,357,"alabaster_tablespoon,alabaster_tbsb,alabastertbsb,too_much_dynamite"
+tinydevilhorns,1,357,tinydevilhorns_(artist)
+tickling_machine,0,357,tickle_machine
+tan_claws,0,357,
+shippou_(inuyasha),4,357,shippo_(inuyasha)
+posture_collar,0,357,
+plaid_bottomwear,0,357,
+monotone_footwear,0,357,
+husdur,1,357,
+hand_above_head,0,357,
+green_eyebrows,0,357,
+eri-yo,1,357,
+dododragon56,1,357,
+decepticon,0,357,
+ball_gown,0,357,ballgown
+auroth_the_winter_wyvern,4,357,
+alice_in_wonderland,3,357,
+wyla,1,356,alphabitch
+whiteleo,1,356,
+ventrexian,5,356,
+super_gay,0,356,"i'm_so_gay_i_cum_rainbows,i'm_so_gay_i_shit_rainbows,supergay,ultra_gay,very_gay"
+spottedtigress,1,356,
+shino_(animal_crossing),4,356,
+sheathed_humanoid_penis,0,356,
+serving_tray,0,356,
+sarox,1,356,
+saransaran,1,356,"saran-rape,saran_rape,saran_saran,sarantics"
+precum_on_self,0,356,
+piebald_body,0,356,pied_body
+meta_knight,4,356,metaknight
+lostdragon01,1,356,
+holding_eyewear,0,356,
+gasping,0,356,
+furry_balls,0,356,
+fumiko,1,356,fumikotik
+armpit_sex,0,356,
+amazon,0,356,
+amaichix,1,356,
+wolfroad,1,355,wolfsroad
+virizion,5,355,
+tobi-kadachi,5,355,tobi_kadachi
+taller_female,0,355,
+splashyu,1,355,"bbd,waterabsorbant"
+profile,0,355,
+peeing_into_container,0,355,
+nullraihigi,1,355,
+medallion,0,355,
+kuruk_(character),4,355,
+kemo_coliseum,3,355,
+kanga,4,355,
+high_place,0,355,
+gasaraki2007_(copyright),3,355,
+body_swap,0,355,
+blue_arms,0,355,
+bat_nose,0,355,
+workout_clothing,0,354,
+tina_(james_howard),4,354,
+teal_skin,0,354,
+sheath_and_knife,3,354,
+plants_vs._zombies_heroes,3,354,"plants_versus_zombies_heroes,plants_versus_zombies_heros,plants_vs._zombies_heros,plants_vs_zombies_heroes,plants_vs_zombies_heros,pvz_heroes,pvz_heros,pvzh"
+penguinexperience,1,354,penguinex
+newyorkx3,1,354,
+nastycalamari,1,354,ownychan
+murkrow,5,354,
+masturbating_while_penetrated,0,354,
+jcdr,1,354,
+enginetrap,1,354,
+dk-,1,354,
+daxzor,1,354,"daxor,rocketraptor"
+cryptid,5,354,
+caluriri,1,354,
+brown_fingers,0,354,
+blue_glow,0,354,
+behemoth_(ff),5,354,behemoth_(final_fantasy)
+argument,0,354,
+amusement_park,0,354,"fun_fair,funfair,theme_park,traveling_carnival,traveling_fun_fair,traveling_funfair"
+ambiguous_on_top,0,354,
+wooky,1,353,wookiee_(artist)
+video_call,0,353,video_chat
+stand_(jjba),5,353,
+serex,1,353,serex_the_dragon
+red_spots,0,353,
+red_countershading,0,353,
+red_armwear,0,353,
+raised_index_finger,0,353,"index_finger_lift,index_finger_lifted,index_finger_lifting,index_finger_raised,index_finger_up,lift_index_finger,lifted_index_finger,lifting_index_finger"
+poker,0,353,
+package,0,353,
+mega_ampharos,5,353,megaampharos
+mabel_(cherrikissu),4,353,dogmom
+lurking_tyger,1,353,lurkingtyger
+ghostoast,1,353,
+friday_night_funkin',3,353,friday_night_funkin
+countershade_breasts,0,353,countershade_breast
+chimney,0,353,
+bandit_heeler,4,353,bandit_(bluey)
+avencri,1,353,
+xjenn9,1,352,
+white_jacket,0,352,
+thumb_in_ass,0,352,
+tentacles_on_male,0,352,
+syrup,0,352,
+stripes_(character),4,352,
+seedrian,5,352,
+rory_kenneigh,4,352,
+red_kangaroo,5,352,macropus_rufus
+pac-man,4,352,"pac_man,pacman"
+mawashi,0,352,
+mariano,1,352,
+leashing_pov,0,352,"leashing_character,leashing_character_pov,viewer_holding_leash,viewer_leashing_character"
+kweltikwan,5,352,
+katerezonate,1,352,"kitty_silence,kittysilence,kittythesilence"
+food_print,0,352,food_pattern
+fluffy_balls,0,352,
+floran,5,352,
+easter_bunny,4,352,
+dryad,5,352,
+cum_in_eye,0,352,cum_in_eyes
+bast,4,352,"bastet,pasch,ubasti"
+amon_(atrolux),4,352,
+zinfyu,1,351,
+unzipping,0,351,
+thony_dog,1,351,
+side-tie_clothing,0,351,
+sequential_arrow,0,351,
+rossciaco,1,351,
+ring_fit_adventure,3,351,
+pearlyiridescence,1,351,
+ornament,0,351,
+on_pool_toy,0,351,
+nukochi,1,351,"nuko0923,nukoti,nukoti0923,ぬこちー"
+muumuu,0,351,
+mega_mewtwo,5,351,"megamewtwo,mewthree"
+kyra_(atrolux),4,351,
+gats,1,351,
+ekbellatrix,1,351,
+cum_dumpster,0,351,"cum_dump,cumdump"
+croconaw,5,351,
+cosmo_the_seedrian,4,351,
+chumbasket,1,351,nicolas0113
+calling_for_help,0,351,
+billiard_table,0,351,"pool_table,pooltable"
+assassin,0,351,
+wizzikt,1,350,
+winnie_werewolf_(hotel_transylvania),4,350,
+skull_accessory,0,350,
+red_briefs,0,350,
+mega_stone,0,350,
+laquine,5,350,
+kiaun,1,350,
+kamui_shirow,1,350,
+hyattlen,1,350,
+hombretigre,4,350,
+grimoire_of_zero,3,350,
+fallout:_pca,3,350,
+factory,0,350,
+ekans,5,350,
+cradle_position,0,350,cradling_position
+cookie_(furryfight_chronicles),4,350,
+butt_lick,0,350,"butt_licking,licking_butt"
+braided_tail,0,350,
+album_cover,7,350,
+yurusa,1,349,
+violin,0,349,
+under(her)tail,3,349,"under_her_tail,underhertail"
+tripping,0,349,tripped
+strapless_leotard,0,349,
+sex_shot,0,349,
+redcreator,1,349,"redcreatorart,waidelos"
+pin_(fastener),0,349,
+pig_nose,0,349,
+paper_bag,0,349,
+oral_threading,0,349,
+ninetht,1,349,
+ncmares,1,349,ask-majesty-incarnate
+metal_sonic,4,349,
+mary_janes,0,349,
+louart,1,349,
+linna_auriandi_(character),4,349,"linna_(kyvinna),linna_auriandi_(copyright)"
+kick_(artist),1,349,
+imminent_kiss,0,349,
+holding_lollipop,0,349,
+harpseal,1,349,
+gnome,5,349,
+faceless_feral,0,349,
+etna_(disgaea),4,349,
+diving,0,349,
+der,4,349,
+biobasher,1,349,
+ballerina,0,349,
+acidapluvia,1,349,"asyd_rayn,asydrayn"
+abra,5,349,
+zambuka,1,348,
+zambs,1,348,
+yamatokuroko965,1,348,
+white_t-shirt,0,348,
+white_paws,0,348,
+water_buffalo,5,348,
+tan_wings,0,348,
+tailed_humanoid,5,348,
+striped_bikini,0,348,stripped_bikini
+somnamg,1,348,
+scope,0,348,
+saliva_on_balls,0,348,
+rubber_(artist),1,348,
+pink_heart,0,348,
+pink_flower,0,348,
+nishikunsp,1,348,"nishikun315,にしくんsp"
+mythological_canine,5,348,
+mr_rottson,1,348,mrrottson
+marmalademum,1,348,
+magnetus,1,348,
+level_number,0,348,
+grave,0,348,
+glint,0,348,
+cum_in_container,0,348,
+charlie_morningstar,4,348,"charlie_(hazbin_hotel),charlie_(vivzmind),charlie_magne,charlotte_magne"
+caterpillar,0,348,
+stegosaurian,5,347,stegosaur
+spellbook,0,347,spell_book
+sayuncle,1,347,
+renimpmon,4,347,renaimpmon
+portable_music_player,0,347,"mp3,mp3_player"
+pale_fur,0,347,
+matypup,1,347,"jelwood,jelwood_(artist),jessica_elwood,jessica_elwood_(artist),jessicaelwood,kaceywyandotte,matymaty,matymaty_(artist),matymatypup,matymatypup_(artist),matypup_(artist)"
+leodore_lionheart,4,347,mayor_lionheart
+lady_(lady_and_the_tramp),4,347,lady_(latt)
+kogenta_(onmyou_taisenki),4,347,byakko_no_kogenta
+johnfoxart,1,347,
+inunoshippo,1,347,
+huge_biceps,0,347,
+h155296,1,347,ripples_moon_shadow
+gremlin_(spiral_knights),5,347,gremlin_(sk)
+giygas,4,347,giegue
+final_fantasy_x,3,347,
+face_to_face,0,347,
+coffee_shop,0,347,
+brolaren,1,347,
+assasinmonkey,1,347,
+arno_(peritian),4,347,
+after_anal_penetration,0,347,
+woody_(study_partners),4,346,
+warm,0,346,
+stuck_knot,0,346,
+stickers,0,346,
+spaghetti,0,346,
+pumpkin_cake_(mlp),4,346,pumpkin_cake
+ponyville,0,346,
+pickaxe,0,346,
+older_sibling,0,346,
+muzzle_gag,0,346,
+milkcrown,1,346,yogurtmilk
+lamarian,5,346,
+jungledyret_hugo,3,346,
+invisible_penis,0,346,
+foxjump,3,346,
+eyeball,0,346,eyeballs
+dragmon,1,346,rubyisright
+constellation,0,346,constellations
+catra,4,346,
+blaster_master,3,346,"blaster_master:_blasting_again,blaster_master:_enemy_below,blaster_master:_overdrive,blaster_master_blasting_again,blaster_master_enemy_below,blaster_master_jr,blaster_master_jr.,blaster_master_junior,blaster_master_overdrive,blaster_master_zero,blaster_master_zero_2,metafight"
+blackmore,1,346,
+bamfear,5,346,
+aval0nx,1,346,
+arena,0,346,
+alectorfencer,1,346,
+tunnel,0,345,
+sicklyhypnos,1,345,crabbyraccoon
+selina_zifer,4,345,"selina_(selinaz),selinaz"
+security_guard,0,345,
+quadruple_penetration,0,345,
+perdita,4,345,
+origin_forme_giratina,5,345,"giratina_(origin),giratina_(origin_form),giratina_(origin_forme),giratina_origin,giratina_origin_form,giratina_origin_forme,origin_form_giratina,origin_giratina"
+mythological_fox,5,345,
+maple_leaf,0,345,
+laura_(twokinds),4,345,
+laser_(artist),1,345,"ga-be,laser_paints,laserpaints"
+ipod,3,345,
+happy_harvey,1,345,
+foxboy83,1,345,fb83
+fern,0,345,ferns
+doll_joints,0,345,
+cheetara,4,345,
+callmewritefag,1,345,
+brown_belt,0,345,
+baton,0,345,
+alcremie,5,345,
+zim,4,344,
+translucent_shirt,0,344,"see-through_shirt,see-thru_shirt,see_through_shirt,see_thru_shirt,sheer_shirt,transparent_shirt"
+toast,0,344,
+text_on_panties,0,344,
+spandex_shorts,0,344,
+sneaking,0,344,
+shirokoma,1,344,sirokoma
+rayka,1,344,
+pound_cake_(mlp),4,344,pound_cake
+parappa,4,344,
+lewd_dorky,1,344,dork_boi
+kaviki,1,344,
+hatake,1,344,"ekataraf,ekatarafu,flag_(artist),エカタラフ,畑"
+glistening_jewelry,0,344,shiny_jewelry
+fredek666,1,344,"cyzarinefredek,cyzarineinkling"
+firefighter,0,344,fireman
+fireball,0,344,fire_ball
+dabelette,1,344,
+countershade_ears,0,344,
+captainjingo,1,344,
+beef,0,344,
+vonboche,1,343,
+tetetor-oort,1,343,田代憂
+spine,0,343,
+sonata_dusk_(eg),4,343,sonata_dusk
+pink_scarf,0,343,
+penelope_(rainbowscreen),4,343,
+moyamoya_kuroi,1,343,"kuroi_moyamoya,黒井もやもや"
+link6432,1,343,
+kyrakupetsky,1,343,extraordinarycircus
+jockstrap_only,0,343,
+holding_fixture,0,343,
+giraffe_(artist),1,343,"kiriyu,きりん"
+dire_vehicle,5,343,
+cum_on_sheets,0,343,
+cosmicminerals,1,343,
+cheek_piercing,0,343,
+cecaelia,5,343,cecealia
+baking,0,343,
+animal_legs,0,343,
+ambiguous_on_bottom,0,343,
+akitokit,1,343,
+airborne_object,0,343,
+aiming,0,343,
+wing_bondage,0,342,
+watering_can,0,342,
+thrush_(bird),5,342,"turdid,turdidae"
+the_penguins_of_madagascar,3,342,penguins_of_madagascar
+spoiled_rich_(mlp),4,342,
+sonic_underground,3,342,
+sloppy_kiss,0,342,
+saint_andrew's_cross,0,342,bondage_cross
+rysonanthrodog,1,342,
+renthedragon,1,342,renthedragon_(artist)
+raincoat,0,342,
+patrikthedog,1,342,
+kumao,1,342,
+kokoro-doll,1,342,
+kled_(lol),4,342,
+heart_before_text,0,342,
+grindavikbydaylight,1,342,
+garmr,4,342,
+dhole,5,342,cuon
+citrinelle,1,342,"flaredra,rupeecat"
+cart,0,342,
+canadian_lynx,5,342,
+briefcase,0,342,
+aspirindabaitu,1,342,
+unrealplace,1,341,
+tayelle_ebonclaw,4,341,tayelle
+spearfrost,1,341,
+soulgryph,1,341,
+skyearts,1,341,
+safiru,1,341,saf
+panty_lines,0,341,
+mcdonald's,3,341,mcdonalds
+math,0,341,
+margret_stalizburg,4,341,
+mamoru-kun_(series),3,341,
+hugging_pillow,0,341,
+horrorbuns,1,341,
+holding_melee_weapon,0,341,
+glans_piercing,0,341,pierced_glans
+gab_(comic),3,341,
+finch,5,341,
+direction_lines,0,341,
+crazydrak,1,341,jrbart
+codyblue-731,1,341,
+black_speech_bubble,0,341,
+baggy_pants,0,341,
+accelo_(character),4,341,
+writing_on_face,0,340,
+whispering,0,340,whisper
+underwear_on_head,0,340,panties_on_head
+tg-0,1,340,
+tfzn,1,340,
+strangerdanger,1,340,greennpc
+shyguy9,1,340,
+risenpaw,1,340,
+offering_to_viewer,0,340,
+nintendo_entertainment_system,3,340,nes
+minedoo,1,340,
+kyera,4,340,
+hands_together_elbows_apart,0,340,
+half_clothed,0,340,
+hair_hand,0,340,
+geiru_mirua,1,340,小野寺ニノ
+freepancakes,1,340,
+eyes_rolling_back,0,340,
+erunroe,1,340,amun
+egg_from_ass,0,340,
+ear_twitch,0,340,
+birthday_hat,0,340,
+yellow_dress,0,339,
+wall_art,0,339,
+taur_on_taur,0,339,"t/o/t,taur/taur"
+stick_figure,0,339,stickman
+sphinx_(mlp),4,339,
+shackled,0,339,
+sex_toy_transformation,0,339,
+sequential_art,3,339,
+scizor,5,339,
+scentplay,0,339,
+rilex_lenov,1,339,
+pltnm06ghost,1,339,shoooohhhh
+pizza_delivery,0,339,
+nextel,1,339,"bearra,bearrabutt,dorite"
+meter,0,339,
+lute,0,339,"lute_(instrument),lute_(musical_instrument)"
+littlepip,4,339,"lil_pip,little_pip,littlepip_(mlp)"
+kivwolf,1,339,
+kirbot12,1,339,
+kill_la_kill,3,339,klk
+inoby,1,339,
+hospital_bed,0,339,
+gwen_geek,3,339,
+grandmother,0,339,grandma
+goose,5,339,
+dual_persona,0,339,
+cumming_at_viewer,0,339,
+clothing_too_small,0,339,
+chokodonkey,1,339,
+camp,0,339,
+blu3danny,1,339,darkmoontoons
+:|,0,339,
+vicar_amelia,4,338,vicar_amelia_(bloodborne)
+talking_to_pred,0,338,
+syngie_(artist),1,338,
+slark_the_nightcrawler,4,338,slark
+russell_(castbound),4,338,
+ridges,0,338,
+pteranodontid,5,338,
+manta_ray,5,338,"manta_ray_(species),mantaray"
+kulve_taroth,5,338,
+june_(jinu),4,338,
+inuyuru,1,338,
+iggy_koopa,4,338,"iggy_(koopa),iggy_(mario)"
+hip_piercing,0,338,
+he_wants_to_order,3,338,she_wants_to_order
+glass_surface,0,338,
+fanning,0,338,
+dragoon86,1,338,
+curled_horn,0,338,"curly_horn,curly_horns"
+concert,0,338,
+cockpit,0,338,
+chipped_ear,0,338,
+butterfree,5,338,
+braless,0,338,
+blue_membrane,0,338,"azure_membrane,cyan_membrane"
+alt,4,338,
+ailuranthropy,1,338,clovrfieldlives
+yellow_panties,0,337,
+yellow_nails,0,337,
+topazknight,1,337,
+tokaido,1,337,
+stiletto_heels,0,337,
+spinel,4,337,
+rat_snake,5,337,"fox_snake,pantherophis"
+prince_blueblood_(mlp),4,337,"blueblood_(mlp),prince_blueblood,princess_blueblood,princess_blueblood_(mlp)"
+pooka,5,337,
+pastelletta,1,337,
+obscured_face,0,337,
+my_life_with_fel,3,337,
+muscle_size_difference,0,337,muscles_size_difference
+lube_on_dildo,0,337,
+lace_panties,0,337,
+kionant,1,337,kionbee
+ichthy0stega,1,337,"crypt0bi0sis,井口病院"
+dark_natasha,1,337,darknatasha
+crotch_tentacles,0,337,crotch_tentacle
+zira,4,336,
+yellow_butt,0,336,"yellow_ass,yellow_booty"
+tigertooth,1,336,
+tecmo,3,336,
+tamberella,1,336,"devinellekurtz,snowaro"
+super-tuler,1,336,"tairupanda,tulerbear"
+shirako,1,336,41raco
+screw,0,336,
+rita_(jungledyret),4,336,
+realius,1,336,
+protagonist_(live-a-hero),4,336,
+noms_(nimzy),4,336,
+monotone_arms,0,336,
+lazydez,1,336,
+laying_on_ground,0,336,
+kanna_(blaster_master),4,336,pilot_kanna
+inverted_cross,0,336,
+information_box,0,336,
+evolution,0,336,
+drone_(mlp),4,336,
+doe_(alfa995),4,336,
+diasuke77,1,336,
+cricket-inc,1,336,
+cloufy,1,336,
+canterlot,0,336,
+alsoflick,1,336,
+68_(artist),1,336,
+wolfjedisamuel,1,335,
+uromatsu,1,335,
+tsukino_(monster_hunter_stories),4,335,
+toy-bonnie,1,335,animatronicbunny
+tortoise,5,335,"testudinid,testudinidae"
+tentacruel,5,335,
+swatchling,5,335,swatchling_(deltarune)
+quill-weave,4,335,
+pussy_juice_on_tail,0,335,
+pmd:_icma,3,335,
+partially_clothed_male,0,335,
+multicolored_armwear,0,335,
+juzztie,1,335,
+jack_russell_terrier,5,335,"jack_russel,jack_russell,jrt"
+grinn3r,1,335,grinn3r_(artist)
+garnetto,1,335,cherrybox
+frog_humanoid,5,335,
+dylan_(101_dalmatians),4,335,
+dengon,1,335,
+cum_flooding,0,335,cum_flood
+collaborative_pussyjob,0,335,
+cherry_tree,0,335,"cherry_trees,cherrytree,cherrytrees"
+bilateral_penetration,0,335,
+ambient_bat,5,335,
+aj_the_flygon,3,335,
+absolutedream,1,335,
+tahlian,1,334,tahliansfm
+slickerwolf,1,334,
+n0nnny,1,334,
+mikhaila_kirov,4,334,
+megacoolbear_(artist),1,334,
+mass_vore,0,334,
+light_penis,0,334,
+keeshee,4,334,
+karakylia,1,334,
+hopey,4,334,
+folded_ears,0,334,folded_ear
+exposed_muscle,0,334,
+duality,0,334,
+cyanosis,0,334,
+coca-cola,3,334,"cherry_coke,coca_cola,diet_coke"
+clementine_(aswake),4,334,
+black_fingers,0,334,
+arizonathevixen,1,334,
+animal_pool_toy,0,334,
+alex_spastic,1,334,alexspastic
+8_nipples,0,334,eight_nipples
+yowesephth,1,333,
+yoshimister,1,333,yoshimistersart
+unusual_pussy,0,333,"exotic_cunt,exotic_labia,exotic_pussy,exotic_twat,exotic_vag,exotic_vagina,exotic_vulva,strange_cunt,strange_labia,strange_pussy,strange_twat,strange_vag,strange_vagina,strange_vulva,unusual_cunt,unusual_labia,unusual_twat,unusual_vag,unusual_vagina,unusual_vulva,weird_cunt,weird_labia,weird_pussy,weird_twat,weird_vag,weird_vagina,weird_vulva"
+tyroo,1,333,
+steering_wheel,0,333,
+shennong,4,333,
+rubble,0,333,
+rib_cage,0,333,ribcage
+red_beak,0,333,
+purple_belly,0,333,
+porcine_penis,0,333,"boar_penis,pig_penis"
+pink_socks,0,333,
+oversized_shirt,0,333,
+nite,1,333,
+mihari,4,333,mihari_(miharicheetah)
+living_insertion_play,0,333,
+lightningfire12,1,333,
+huffslove,1,333,
+hip_expansion,0,333,
+heart_print_underwear,0,333,
+geta,0,333,
+eggerlander,5,333,
+draph,5,333,
+dasa,4,333,
+cum_on_tentacle,0,333,cum_on_tentacles
+blueballs,1,333,
+bernielover,1,333,
+bamia,1,333,
+artonis,1,333,
+artie,4,333,
+zangoose_day,3,332,
+vaginal_tugging,0,332,clinging_pussy
+striped_feathers,0,332,
+slave_leia_costume,0,332,"princess_leia_slave_costume,slave_leia"
+sgt._frog,3,332,"keroro_gunso,keroro_gunsou,sergeant_frog,sgt_frog,sqt._frog"
+serah_(black-kitten),4,332,
+roselia,5,332,
+pokéball_insertion,0,332,"inserting_poke_ball,inserting_pokeball,inserting_poké_ball,inserting_pokéball,poke_ball_insertion,pokeball_insertion,poké_ball_insertion"
+outstretched_arms,0,332,
+orange_text,0,332,
+mottled_nose,0,332,mottle_nose
+kit_(kitsune_youkai),4,332,
+hadou_(satsui-n0-had0u),4,332,
+double_fellatio,0,332,"double_blowjob,dual_blowjob,dual_fellatio"
+darkajugin,1,332,
+d.va_(overwatch),4,332,
+ctarl-ctarl,5,332,
+countershade_border,0,332,
+college,0,332,
+bull_horn,0,332,bull_horns
+black_leash,0,332,
+augustbebel,1,332,
+ashtray,0,332,ash_tray
+anglo,1,332,
+wrists_to_ankles,0,331,
+tan_butt,0,331,"tan_ass,tan_booty"
+spectrumshift,1,331,
+sarah_(study_partners),4,331,
+salty_nebula,1,331,"salty-nebula,salty_nebula_(artist),starryblast9"
+saidra,1,331,
+rainbow_background,0,331,rainbow_bg
+panty_and_stocking_with_garterbelt,3,331,panty_and_stocking_with_garderbelt
+neko3240,1,331,
+meatboom,1,331,
+la_pavita_pechugona,3,331,
+kai_yun-jun,4,331,kai_yun_jun
+jagged_mouth,0,331,"beak_maw,beaked_maw"
+holding_console,0,331,
+heart_print_panties,0,331,
+dream_mirage,1,331,hyper1on
+dipstick_beak,0,331,
+cam_show,0,331,
+ball_bra,0,331,
+alenkavoxis,1,331,
+urdnot_wrex,4,330,wrex
+tzarvolver,1,330,
+turquoise_hair,0,330,
+sugar_belle_(mlp),4,330,sugar_belle
+stud_piercing,0,330,
+spongebob_squarepants_(character),4,330,spongebob
+rubber_creature,5,330,
+roswell_grey,5,330,"gray_alien,gray_aliens,grays,grey_alien,grey_aliens,greys,roswell_alien,roswell_aliens,roswell_gray,roswell_grays,roswell_greys,zeta_reticulan,zeta_reticulans"
+rainbow_legwear,0,330,
+price,0,330,
+pavita_pechugona,4,330,
+neon_sign,0,330,
+magnemite,5,330,
+leopard_print,0,330,
+lackadaisy,3,330,lackadaisy_cats
+inumatori,1,330,
+hierophant_green_(artist),1,330,
+hands_between_legs,0,330,
+fully_clothed_to_nude,0,330,
+fully_clothed_anthro,0,330,
+drowzee,5,330,
+carrot_dildo,0,330,
+cargo_shorts,0,330,
+buzzer_(artist),1,330,"magishit,sorachi_no_monogatari,soraka_(artist)"
+blue_necktie,0,330,blue_tie
+blue_boots,0,330,
+big_dick_day,3,330,"11.18,11/18,big_fat_dick_day,巨根デブの日"
+basement,0,330,
+the_shark_(changed),4,329,
+tail_ridge,0,329,
+spotted_penis,0,329,
+sabrina_(sabrina_online),4,329,
+ragdoll_(study_partners),4,329,
+print_jersey,0,329,
+pokémon_gold_beta,3,329,pokemon_gold_beta
+nightstick,0,329,tonfa
+nanimoose,1,329,
+leather_footwear,0,329,
+laverne_(sssonic2),4,329,
+jay_(1-upclock),4,329,
+jasper_(family_guy),4,329,
+instagram,3,329,
+gwen_tennyson,4,329,"gwen_(ben_10),gwen_(ben_ten)"
+gatling_gun,0,329,
+final_fantasy_tactics,3,329,final_fantasy_tactics_advance
+feranta,1,329,
+excessive_sweat,0,329,
+crisstail,1,329,
+brogulls,3,329,
+bottom_pov,0,329,
+wigglytuff,5,328,
+underfell,3,328,
+touching_face,0,328,
+sweaty_armpit,0,328,sweaty_armpits
+star_wars_visions,3,328,
+sports_panties,0,328,
+sikai,1,328,
+roadrunner,5,328,"chaparral_bird,chaparral_cock,geococcyx,road_runner"
+princess_carolyn,4,328,
+pinky_and_the_brain,3,328,
+otakuap,1,328,
+onegai_my_melody,3,328,please_my_melody
+new_world_ground_cuckoo,5,328,neomorphinae
+messing_diaper,0,328,
+lettuce,0,328,
+kiwa_flowcat,1,328,
+kimun_kamui_(tas),4,328,
+itoruna,1,328,
+gold_collar,0,328,
+fullmetal_alchemist,3,328,
+dodo,5,328,
+cum_on_own_stomach,0,328,
+cookie_crumbles_(mlp),4,328,"betty_bouffant_(mlp),pearl_(mlp)"
+cocky,0,328,
+carifoxleopard,1,328,
+biker_mice_from_mars,3,328,
+bell_harness,0,328,
+ankha_zone,3,328,
+yellow_spots,0,327,
+vesper_art,1,327,vinyanko
+spiral_penis,0,327,corkscrew_penis
+ruins_style_lucario,4,327,
+rickleone,1,327,
+oaks16,1,327,"okusu,orchish_(artist),orchish_(pixiv),おーくす,大楠"
+niko_(oneshot),4,327,
+night_stalker_(fallout),5,327,nightstalker
+monkeyxflash,1,327,
+meagan_(silver_soul),4,327,
+matoc,1,327,
+harness_bit_gag,0,327,bit_gag_harness
+halberd,0,327,
+green_fire,0,327,
+food_dressed,0,327,
+daikuhiroshiama,1,327,
+chicken_meat,0,327,"chicken_(food),edible_chicken"
+brownieclop,1,327,
+blueberry_(fruit),0,327,blueberries
+barbed_canine_penis,0,327,
+water_creature,5,326,"elemental_water,liquid-boy,liquid-girl,liquid_creature,liquid_elemental,liquid_girl,liquid_man,liquid_monster,liquid_person,liquid_woman,liquidgirl,living_liquid,living_water,water-boy,water-girl,water_boy,water_elemental,water_girl,water_man,water_monster,water_person,water_woman,waterboy"
+tufted_fur,0,326,
+sunglasses_only,0,326,
+straight_arms,0,326,
+sniper,0,326,
+silly_face,0,326,
+shariea,1,326,sharfluffz
+serving,0,326,
+ruuhtian_(kig-yar),5,326,
+runaboo_chica,4,326,
+red_sweater,0,326,
+rainstorm_(marefurryfan),4,326,femrain
+pteranodon,5,326,
+pikmin,3,326,
+penlink,1,326,
+osos,1,326,
+olivia_(animal_crossing),4,326,
+mickey_the_retriever,1,326,
+meganemausu,1,326,
+lipstick_ring,0,326,lipstick_rings
+leotard_aside,0,326,
+klongi,1,326,
+iceman1984,1,326,trn
+hyilpi,1,326,
+head_feathers,0,326,
+gaokun,1,326,
+fridge_(artist),1,326,arefrigerator
+foxtrot_(glacierclear),3,326,
+dragon-heart,1,326,
+dark_face,0,326,
+beast_(bloodborne),5,326,
+arm_fins,0,326,
+ambient_crustacean,5,326,"ambient_crab,ambient_hermit_crab,ambient_lobster"
+toned_female,0,325,
+theoryofstrings,1,325,
+taoren,1,325,
+tany_(doneru),4,325,
+surprised_face,0,325,
+smaller_andromorph,0,325,smaller_cuntboy
+shoutmon,5,325,
+scalesindark,1,325,
+rumble,4,325,
+ponythroat,1,325,
+nikraccoom,1,325,nik159
+monsters_university,3,325,
+mithra,5,325,
+lillie_(pokémon),4,325,lillie_(pokemon)
+lapfox_trax,3,325,
+kisukemk777,1,325,")きすけ(,7.2,7.2号,7no2gou,7号,kisuke007,kisukemk7,mizu001,きすけ/7号"
+husky92,1,325,
+giru_(artist),1,325,
+gaster,4,325,gaster_(undertale)
+edtropolis,1,325,
+disposable_cup,0,325,"paper_cup,plastic_cup"
+crade,1,325,"crade-elcin,cradeelcin,sexyponez"
+corn_snake,5,325,"blizzard_corn_snake,cornsnake"
+ashley-arctic-fox,1,325,arcticashleyfox
+araidian,1,325,araidian_(artist)
+alpha0,1,325,
+six_fanarts_challenge,3,324,
+pussy_juice_on_face,0,324,
+pink_yoshi,5,324,
+orange_feet,0,324,
+leather_boots,0,324,
+jessie_(team_rocket),4,324,"jessie_(pokemon),jessie_(pokémon),jessie_(tr)"
+hollo_nut,1,324,
+flittermilk,1,324,"madamsquiggles,maws-paws"
+evil_face,0,324,
+drks,1,324,
+doctor-sfm,1,324,
+curt_(animal_crossing),4,324,
+cervina7_(artist),1,324,
+blackwargreymon,5,324,
+blacksad,3,324,
+alistar_(lol),4,324,
+akkusky,1,324,
+yandere,0,323,
+white_shorts,0,323,
+umbilical_cord,0,323,
+screamoshaymin,1,323,
+scan,0,323,
+restraining_table,0,323,
+orange_butt,0,323,"orange_ass,orange_booty"
+nevrean,5,323,
+mega_banette,5,323,
+hoof_boots,0,323,pony_boots
+hinata_sakamoto,1,323,
+hand_on_ear,0,323,
+green_sweater,0,323,
+gin_(twitchyanimation),4,323,
+felina_feral,4,323,
+discord_(app),3,323,
+clothing_grab,0,323,grabbing_clothes
+breeding_stand,0,323,"breeding_rack,mating_stand"
+braided_beard,0,323,
+borderless_panel,0,323,
+black_necktie,0,323,black_tie
+text_on_bottomwear,0,322,
+tan_arms,0,322,
+outdoor_sex,0,322,
+nekostar,1,322,
+muscular_herm,0,322,
+multi_penetration,0,322,
+lop_(star_wars_visions),4,322,
+ishiru,1,322,
+grey_legs,0,322,gray_legs
+encouragement,0,322,
+el-gallo,1,322,
+donryu,1,322,
+doctor_who,3,322,
+cum_stain,0,322,cumstain
+cum_exchange,0,322,
+building_sex,0,322,"building_fuck,building_fucking"
+bra_strap,0,322,
+body_pillow_design,0,322,
+baseball_(sport),0,322,
+apology,0,322,
+amputation,0,322,
+white_areola,0,321,"white_areolae,white_areolas"
+tongue_bite,0,321,"bite_tongue,biting_tongue,tongue_biting,tonguebite"
+toby_art,1,321,
+strapless_underwear,0,321,
+squats,0,321,
+smooth_skin,0,321,
+small_feet,0,321,
+slightlysimian,1,321,
+seff,1,321,slowfag
+sean_(senz),4,321,
+red_hairband,0,321,
+quetzalli_(character),4,321,
+queervanire,1,321,
+pie_cut_eyes,0,321,pac_man_eyes
+penta002,1,321,
+penis_on_tongue,0,321,
+office_lady,0,321,
+nub_tail,0,321,
+loli_dragon_(berseepon09),4,321,
+latchkey_kingdom,3,321,
+king_clawthorne,4,321,king_(the_owl_house)
+heathcliff_and_the_catillac_cats,3,321,"catillac_cats,heathcliff_&_the_catillac_cats,heathcliff_cats_&_co,heathcliff_cats_&_co.,heathcliff_cats_&_company,heathcliff_cats_and_co,heathcliff_cats_and_co.,heathcliff_cats_and_company,the_catillac_cats"
+fallopian_tubes,0,321,
+coolblue,1,321,coolblue_(artist)
+citra,5,321,
+choker_only,0,321,naked_choker
+butter,0,321,
+body_control,0,321,
+black_tuft,0,321,
+bandaged_leg,0,321,
+arrwulf,1,321,ariffrazalin
+viriathus_vayu,4,320,
+silent_e,1,320,
+roots,0,320,
+roi_(smuttysquid),4,320,
+purple_pants,0,320,violet_pants
+papadragon69,1,320,
+on_cloud,0,320,
+mabit,1,320,mabit_(artist)
+lunlunfox,1,320,
+kashmere,1,320,redrumwolf
+jadony,1,320,
+imminent_oral_vore,0,320,
+hime_cut,0,320,
+grey_arms,0,320,
+eto_ya,1,320,"eto-ya,etoetya,etoya,etoyas,etyas,etyas-shenanigans,etyas_shenanigans,etyasshenanigans"
+entangled,0,320,tangled
+crocodine,4,320,
+black_vest,0,320,
+anisis,1,320,anisisart
+anaconda,5,320,water_boa
+zomacaius,1,319,
+zawmg,1,319,
+yona_yak_(mlp),4,319,
+wolnir,1,319,
+uxie,5,319,
+temujin,4,319,
+rooking,1,319,
+ring-tailed_cat,5,319,"ringtail_cat,ringtailed_cat"
+pukemilked,1,319,
+patohoro,1,319,
+palamute,5,319,
+orange_countershading,0,319,
+mr._shark_(the_bad_guys),4,319,
+hilbert_(pokémon),4,319,"black_(pokemon),black_(pokémon),hilbert_(pokemon),touya_(pokemon),touya_(pokémon)"
+handles_on_hips,0,319,
+glass_table,0,319,
+fennix_(fortnite),4,319,
+duck_hunt,3,319,
+chastity_bulge,0,319,
+canyne,5,319,
+can't_see_the_haters,3,319,
+blue_socks,0,319,
+biker,0,319,
+wii,3,318,nintendo_wii
+white_skirt,0,318,
+urethral_fingering,0,318,
+tubes,0,318,
+tril-mizzrim,1,318,
+tingtongten,1,318,
+solterv,1,318,
+serval-chan,4,318,"serval_(kemono_friends),serval_cat_(kemono_friends),serval_chan"
+seedbed,0,318,
+round_breasts,0,318,
+rice,0,318,
+pkfirefawx,1,318,
+nauyaco,1,318,
+monster_rancher,3,318,
+lynncore,1,318,
+killioma,1,318,
+geeflakes_(character),4,318,
+female_protagonist_(tas),4,318,
+dragon_wings,0,318,
+darky,1,318,darky03
+dalwart,1,318,
+cainethelongshot,1,318,
+anixis,1,318,"anixis_(artist),azuzudoge,azuzudoge_(artist)"
+ami_bandicoot,4,318,
+yorha_2b,4,317,
+untied_bikini,0,317,
+two-footed_autofootjob,0,317,two_footed_autofootjob
+tsaoshin,1,317,
+teteteko,1,317,
+teddy_(animal_crossing),4,317,
+suggestive_look,0,317,
+side_slit_clothing,0,317,
+sharing_sex_toy,0,317,shared_sex_toy
+senky,4,317,
+seiza,0,317,
+roarey_raccoon,1,317,roareyraccoon
+print_t-shirt,0,317,
+pmoss,1,317,
+nowandlater,1,317,
+nipple_grab,0,317,
+narusewolf,1,317,
+mega_mewtwo_y,5,317,
+long_nose,0,317,
+karnal_(karnaltiger),4,317,
+javanshir,1,317,edgar_corona
+hyenatig_(artist),1,317,helena_lachette
+hentai_boy,1,317,
+hand_on_another's_shoulder,0,317,
+hand_in_mouth,0,317,
+german,0,317,
+foxenawolf,1,317,
+food_in_ass,0,317,"food_in_anus,food_in_butt"
+flash_emanata,0,317,
+demon_lord_dragon_batzz,4,317,"barlbatzz,barlbatzz_dragoroyale_the_first,batzz,batzz_(buddyfight),batzz_buddyfight"
+daisy_duck,4,317,
+coughing,0,317,
+chip_'n_dale,3,317,
+cerberus_(helltaker),4,317,
+branded,0,317,
+bluechika,1,317,
+blazingcheecks,1,317,blazingcheeks
+bikomation,1,317,bikomation_(artist)
+ben_(zenless_zone_zero),4,317,
+6_eyes,0,317,"6_eyed,six_eyed,six_eyes"
+thehumancopier,1,316,
+tazara,1,316,
+sucked_silly,0,316,
+spiral_background,0,316,"spiral_bg,spiraled_background,spiraled_bg,spiraling_background,spiraling_bg,spiralled_background,spiralled_bg,spiralling_background,spiralling_bg,spirally_background,spirally_bg,spiraly_background,spiraly_bg,swirl_background,swirl_bg,swirled_background,swirled_bg,swirling_background,swirling_bg,swirlled_background,swirlled_bg,swirlling_background,swirlling_bg,swirlly_background,swirlly_bg,swirly_background,swirly_bg"
+sombrero,0,316,
+sogaroth,1,316,
+shia,1,316,
+rashchaos,1,316,
+rain_world,3,316,
+pip_(paladins),4,316,
+orange_spots,0,316,
+number_on_jersey,0,316,
+lepi,5,316,
+kadohusky,1,316,ferality
+hitmore,1,316,
+heart_areola,0,316,"<3-shaped_areola,<3-shaped_areolae,<3-shaped_areolas,<3_areola,<3_areolae,<3_areolas,<3_shaped_areola,<3_shaped_areolae,<3_shaped_areolas,heart-shaped_areola,heart-shaped_areolae,heart-shaped_areolas,heart_areolae,heart_areolas,heart_shaped_areola,heart_shaped_areolae,heart_shaped_areolas,hearts-shaped_areola,hearts-shaped_areolae,hearts-shaped_areolas,hearts_areola,hearts_areolae,hearts_areolas,hearts_shaped_areola,hearts_shaped_areolae,hearts_shaped_areolas"
+eublepharid,5,316,eublepharidae
+cubi,1,316,
+carniscorner,1,316,"carnifex,siansaar"
+blue_sweater,0,316,cyan_sweater
+autobukkake,0,316,
+5:7,7,316,
+zoe_trent,4,315,
+zero_gravity,0,315,zero_g
+waist_accessory,0,315,
+ulti_(ultilix),4,315,
+tanks_(artist),1,315,tanks
+tan_feet,0,315,
+shining_force,3,315,"shining_force_i,shining_force_ii,shining_force_iii"
+sheila_vixen,4,315,
+robotjoe,1,315,robot_joe
+rakan,4,315,
+pyro_(team_fortress_2),4,315,
+pregnancy_risk,0,315,
+overflow,0,315,
+nude_edit,7,315,
+mirror_reflection,0,315,
+magicjob,0,315,magic_job
+knees_pulled_up,0,315,
+gewitter,1,315,
+elliotte-draws,1,315,"elijah-d,elijah-d_(artist),elijah-draws,elijah-draws_(artist),elijah_d,elliotte-d,elliotte_d,elliotte_draws"
+deinonychus,5,315,
+dark_markings,0,315,dark_marking
+crosslegged_pose,0,315,
+crewmate_(among_us),4,315,
+canastus,1,315,
+brown_border,0,315,
+black_beard,0,315,
+barmaid,0,315,
+aurelion_sol_(lol),4,315,
+two_tone_butt,0,314,"two_tone_ass,two_tone_booty"
+tama-tama,4,314,
+sweating_profusely,0,314,
+stone_floor,0,314,
+spicyocean,1,314,
+prison_cell,0,314,jail_cell
+pink_stockings,0,314,
+petaurid,5,314,petauridae
+ms._tarantula_(the_bad_guys),4,314,
+monique_pussycat,4,314,
+marshmallow-ears,1,314,marshmallow-ears_(artist)
+light_nose,0,314,
+light_balls,0,314,
+ke_mo_suke,1,314,
+higsby,1,314,bastianwolf
+heart_triplet,0,314,
+gmad,1,314,
+gabite,5,314,
+cybernetic_eye,0,314,"cyber_eye,cybernetic_eyes"
+chef,0,314,
+canada,0,314,
+buta5kawa,1,314,
+breakfast,0,314,
+bovid_taur,5,314,
+biohazard_symbol,0,314,
+aryanne_(character),4,314,aryanne_(mlp)
+1995,7,314,
+weight_bench,0,313,
+walkies,0,313,
+volinfer,1,313,
+tohru_(dragon_maid),4,313,
+sora_(kingdom_hearts),4,313,
+shepherd0821,1,313,
+pokémon_amie,3,313,pokemon_amie
+noriburu,1,313,norinori
+musteline_humanoid,5,313,
+masterelrest,1,313,
+kinkymation,1,313,
+kili_(kilinah),4,313,
+kagerou_imaizumi,4,313,imaizumi_kagerou
+iradeon,5,313,
+holding_bag,0,313,
+heliolisk,5,313,
+glowing_pawpads,0,313,"glowing_paw_pad,glowing_paw_pads,glowing_pawpad"
+glistening_belly,0,313,shiny_belly
+flaky_(htf),4,313,
+etskuni,1,313,
+easel,0,313,
+dandy_demons,3,313,
+competition_number,0,313,
+chazcatrix,1,313,
+amara_burrger,1,313,cyrus_physhor
+air_creature,5,313,"air_elemental,living_air,living_wind,wind_creature,wind_elemental"
+a_hat_in_time,3,313,
+xanderblaze_(copyright),3,312,
+unit,0,312,
+suddenhack,1,312,
+strawberryneko,1,312,"brownpanda,strawberryneko33"
+secretary,0,312,
+schwarzfox,1,312,
+rayley,1,312,
+paledrake,3,312,
+older_brother,0,312,
+nun_habit,0,312,
+navarchus_zepto,4,312,
+monotone_legs,0,312,
+mmf,0,312,
+mismatched_nipples,0,312,
+mesoamerican_mythology,3,312,
+koopacap,1,312,
+kassen_akoll,4,312,
+jimmy_crystal,4,312,
+harusuke,1,312,
+grape_jelly_(housepets!),4,312,grape_jelly
+full_tour,0,312,fulltour
+flute,0,312,
+expand-blurples,1,312,megustalikey
+chris_goodwin,1,312,chrisgoodwin
+centaurworld,3,312,
+blizzieart,1,312,"blizzienoms,touchofsnow"
+blackmail,0,312,
+bitterplaguerat,1,312,
+bioshock,3,312,
+asking,0,312,
+zafara_(artist),1,311,"lucky_dragoness,luckydragoness"
+younger_ambiguous,0,311,
+yellowpower,1,311,mysterious_messiah
+wolfmalro,1,311,
+wolflance,1,311,
+wobbling,0,311,
+unknotting,0,311,knot_pullout
+twink_protagonist_(tas),4,311,
+tutifruti_(artist),1,311,
+translucent_panties,0,311,"clear_panties,see-through_knickers,see-through_pantie,see-through_panties,see-through_panty,see-thru_knickers,see-thru_pantie,see-thru_panties,see-thru_panty,see_through_knickers,see_through_pantie,see_through_panties,see_through_panty,see_thru_knickers,see_thru_pantie,see_thru_panties,see_thru_panty,sheer_knickers,sheer_pantie,sheer_panties,sheer_panty,transparent_knickers,transparent_pantie,transparent_panties,transparent_panty"
+time_period,0,311,
+tigrex,5,311,
+tatsuki_(morenatsu),4,311,"midoriya_tatsuki,tatsuki_midoriya"
+sfrogue,1,311,
+purple_mouth,0,311,
+pulling_pants_down,0,311,
+nightcap,0,311,
+movie_poster,0,311,
+monotone_underwear,0,311,
+lion21,1,311,blacklion21
+highland_cattle,5,311,highland_cow
+garage,0,311,
+ganyu_(genshin_impact),4,311,
+exe_exem,1,311,
+da~blueguy,1,311,
+caliluminos,1,311,
+assisted_rape,0,311,
+anal_hair,0,311,hairy_anus
+amethystdust,1,311,rayadra
+3_legs,0,311,three_legs
+zen_(twokinds),4,310,
+yellow_cheeks,0,310,
+tartii,1,310,
+shadowbolts_(mlp),4,310,"shadow_bolt,shadow_bolt_(mlp),shadow_bolts,shadow_bolts_(mlp),shadowbolt,shadowbolt_(mlp),shadowbolts,the_shadow_bolt,the_shadow_bolt_(mlp),the_shadow_bolts,the_shadow_bolts_(mlp),the_shadowbolts,the_shadowbolts_(mlp)"
+scale_markings,0,310,"scale_marking,scales_marking,scales_markings"
+red_sky,0,310,
+reaper3d,1,310,
+rapier,0,310,
+poofroom,1,310,poof-poof
+ofuro,1,310,
+neenya,1,310,sirneenya
+multicolored_headwear,0,310,
+luxuria,1,310,
+light_inner_ear,0,310,
+leg_garter,0,310,"leg_garters,thigh_garter,thigh_garters"
+kunai,0,310,
+krokorok,5,310,
+kimba_the_white_lion,3,310,
+juice_box,0,310,
+ground_shark,5,310,"carcharhiniform,carcharhiniformes"
+faunus,5,310,
+dripping_speech_bubble,0,310,
+drawstring_topwear,0,310,
+cartoonlion,1,310,
+bratty_(undertale),4,310,
+brass_instrument,0,310,"labrophone,labrophones,labrosone,labrosones"
+blue_ribbon,0,310,
+barking,0,310,
+witchofavalon,1,309,
+veiny_arms,0,309,
+umpherio,1,309,
+ulitochka,1,309,
+toadette,4,309,
+tail_head,0,309,tailhead
+star_trek_the_animated_series,3,309,
+purple_breasts,0,309,
+pink_diaper,0,309,pink-diapers
+picid,5,309,
+paladin,0,309,
+odin_sphere,3,309,
+nutty_bo,1,309,"buckoguy,unboxyguy"
+neko_ed,4,309,
+native_american,0,309,
+namah_calah,4,309,
+mop,0,309,
+mailbox,0,309,
+launny,1,309,tecraudio
+lapinstein,1,309,
+jowybean,1,309,
+jake_cottontail,4,309,
+inline_skates,0,309,"roller_blades,rollerblades"
+gorath,1,309,
+general_yunan,4,309,"yunan,yunnan"
+fantasy_weapon,0,309,
+carrie_krueger,4,309,
+breast_imprints,0,309,
+borky-draws,1,309,
+book_of_lust,3,309,
+aoino_broome,1,309,aoinobroome
+analon_(artist),1,309,toomanyboners
+albinoart,1,309,
+after_orgasm_torture,0,309,"afterorgasm_torture,post_orgasm_torture,postorgasm_torture"
+169_position,0,309,
+wolflong_(character),4,308,
+verosika_mayday_(helluva_boss),4,308,verosika_mayday_(vivzmind)
+stated_heterosexuality,0,308,
+splurt,0,308,
+shiba-kenta,1,308,
+quicksand,0,308,
+purple_bikini,0,308,
+pure_command,1,308,
+puella_magi,3,308,
+patting,0,308,
+patchwork_creature,5,308,"frankenfur,frankenstein_(species),stitched_together"
+no_homo,0,308,
+nancher,1,308,
+multiplayer,0,308,
+luskfoxx,4,308,
+lisa_(study_partners),4,308,
+leg_spreader,0,308,legspreader
+larger_prey,0,308,
+katarhein,1,308,
+kantai_collection,3,308,kancolle
+jelly_(food),0,308,"jam,jam_(food),jelly"
+j._r._r._tolkien,3,308,"j._r._tolkien,j_r_r_tolkien,j_r_tolkien,jr_tolkien,jrr_tolkien,tolkien"
+herro,1,308,"herroroo,jackalcakes,jackalstyle"
+heart_pattern_underwear,0,308,
+hand_on_own_belly,0,308,
+goldfish,5,308,gold_fish
+corsac_fox,5,308,"corsac,corsac_vixen,karsak,karsak_fox,korsak,korsak_fox,korsák,korsák_fox,корсaк,корсaк_fox,корса́к,корса́к_fox"
+backless_panties,0,308,
+assertive,0,308,
+angelthecatgirl,1,308,
+anal_only,0,308,
+18:17,7,308,
+trooper036,1,307,
+text_on_apron,0,307,
+tankh,1,307,
+soup,0,307,
+smearing,0,307,
+short_film,0,307,
+severed_genitals,0,307,
+sayuri_tatsuyama,3,307,
+regret,0,307,
+red_rope,0,307,
+quad_skates,0,307,
+purple_scarf,0,307,
+power_ponies_(mlp),4,307,power_ponies
+pocketwatch,0,307,pocket_watch
+nitricacid,1,307,
+neverneverland,1,307,
+monotone_feathers,0,307,"mono-tone_feather,mono-tone_feathers,mono_tone_feather,mono_tone_feathers,monotone_feather"
+masshiro,1,307,snkkdlt
+legs_over_head,0,307,
+lady_nora_(twokinds),4,307,lady_nora
+idsaybucketsofart,1,307,
+hervy_(uchoa),4,307,uchoa
+haxorus,5,307,
+happy_happy_clover,3,307,
+dakimakura_pillow,0,307,
+capaoculta,1,307,
+the_little_mermaid_(1989),3,306,
+takemoto_arashi,1,306,arashi_takemoto
+suit_jacket,0,306,
+spiral-horned_antelope,5,306,
+shoen,4,306,
+serrasalmid,5,306,"serrasalmidae,serrasalminae"
+self_grope,0,306,"groping_self,self-grope,self_groping"
+raichoclub,1,306,
+qhala,4,306,
+pregnancy_test,0,306,
+pink_sweater,0,306,
+pathfinder,3,306,
+not_a_furfag,1,306,
+neph,1,306,
+milkteafox,1,306,x157258
+mia_(world_flipper),4,306,
+manene,1,306,
+hane,1,306,"hane362,hane_a,hanea,はね,羽杜"
+gwen_martin,4,306,gwen_(joaoppereiraus)
+docking,0,306,
+djpuppeh,1,306,"brokencreation,lordmegatroll-dicc,lordmegatrolldicc,pencilpup"
+dizzyknight,1,306,
+diacordst,1,306,diacordst_(artist)
+da_goddamn_batguy,1,306,
+chakat-silverpaws,1,306,
+barely_visible_breasts,0,306,"barely_visible_breast,subtle_breast,subtle_breasts"
+andromorph/gynomorph,0,306,"am/gm,andromorph_on_gynomorph,c/d,cboy/dickgirl,cuntboy/dickgirl,cuntboy_on_dickgirl,d/c,dickgirl/cboy,dickgirl/cuntboy,dickgirl_on_cuntboy,gm/am,gynomorph/andromorph,gynomorph_on_andromorph,shemale_on_cuntboy"
+aak_(arknights),4,306,
+wkar,1,305,
+whining,0,305,whine
+vulapa,1,305,
+urw,1,305,
+tailclops_(species),5,305,
+spacescape,0,305,
+small_top_big_bottom,0,305,
+side_butt,0,305,
+phallusbro,1,305,
+panini_(chowder),4,305,
+offering_leash,0,305,
+meandraco,1,305,
+ludwig_von_koopa,4,305,"ludwig_(koopa),ludwig_(mario),ludwig_koopa"
+law_(sdorica),4,305,
+knee_grab,0,305,grabbing_knee
+kin-shun,1,305,きん
+kamelotnoah,1,305,
+kakuteki11029,1,305,"kyuuri,kyuuri26"
+jesus_y,1,305,jesusy
+gaiki,1,305,
+fabio_paulino,1,305,"gallogally,linno,zebala"
+eiroru,1,305,えいろる
+dog_food,0,305,"dog-food,dogfood,doggie-food,doggie_food,doggiefood,doggy-food,doggy_food,doggyfood"
+cockatiel,5,305,"mini_cockatoo,miniature_cockatoo,nymphicinae,nymphicus"
+clarice_(disney),4,305,
+clapping,0,305,
+blue_beak,0,305,
+black_suit,0,305,
+aunt,0,305,
+ariannafray_pr,1,305,"ariannafray,ariannafraypr"
+arareroll,1,305,
+ziemniax,1,304,
+zex,1,304,
+young_link,4,304,
+sean_blackthorne,1,304,"darkstranger,seanblackthorne"
+red_seam_underwear,0,304,
+predator_penetrated,0,304,
+piranha_(fish),5,304,"pirana,piranha,piraña"
+pastel,0,304,
+palmon,5,304,
+paintchaser,1,304,
+orange_sky,0,304,
+mother's_day,3,304,mothers_day
+mole_under_eye,0,304,
+mass_orgy,0,304,
+mangneto,1,304,leadshoes
+m'ress,4,304,
+imalou,1,304,
+holding_can,0,304,holding_cans
+hands-free_bubble_tea,3,304,"boba_tea_challenge,bubble_tea_challenge,hand-free_bubble_tea,hand_free_bubble_tea,handfree_bubble_tea,hands-free_boba_tea,hands-free_bubble_tea_challenge,hands-free_bubble_tea_meme,hands_free_boba_tea,hands_free_bubble_tea,hands_free_bubble_tea_challenge,hands_free_bubble_tea_meme,handsfree_bubble_tea,tapioca_challenge,tapioca_challenge_meme"
+gamecube,3,304,game_cube
+game_media,0,304,
+forceswerwolf,1,304,
+everest_(paw_patrol),4,304,
+dirty_socks,0,304,
+chewing_grass,0,304,
+bounce,0,304,
+boomerang,0,304,
+blood_on_mouth,0,304,bloody_mouth
+warden006,1,303,
+unnecessaryfansmut,1,303,
+uncomfortable,0,303,
+ukenya,1,303,
+sewn_mouth,0,303,"lip_sewing,lip_stitched_shut,lips_sewed,lips_sewn,lips_sewn_shut,lips_stitched_shut,mouth_sewed,mouth_sewing,mouth_sewn,mouth_sewn_shut,mouth_stitched,mouth_stitched_shut,mouth_stitched_up,sewed_lips,sewed_mouth,sewn_lips,stitched_mouth"
+plaid_skirt,0,303,
+peregrine_falcon,5,303,"duck_hawk,peregrene_falcon,perigrine_falcon"
+open_diaper,0,303,diaper_open
+mr_canvas,1,303,
+misdreavus,5,303,
+max_draws,1,303,
+lasso,0,303,
+keikogi,0,303,"dobok,dogi,dōgi,gi_(uniform),jiu-jitsu_uniform,jiu_jitsu_uniform,jiujitsu_uniform,judo_gi,judo_uniform,judogi,karate_gi,karate_uniform,karategi,tobok,vo_phuc,võ_phục"
+kangaroo_rat,5,303,kangaroorat
+hinami,1,303,"hiami0506,hinami0506"
+hardtones,1,303,epictones
+haley_(nightfaux),4,303,
+hair_size_difference,0,303,
+goopyarts,1,303,
+gangstaguru,1,303,
+folding_fan,0,303,
+fizzyjay,1,303,
+drill,0,303,
+dorsal_frill,0,303,"back_frill,back_frill_membrane,membrane_back_frill,membranous_back_frill"
+dinner,0,303,
+colored_fingernails,0,303,"coloured_fingernails,fingernail_polish,painted_fingernails,polished_fingernails"
+chikiota,1,303,
+chibineco,1,303,chibineko_master
+bunihud,1,303,
+breast_focus,0,303,
+azumarill,5,303,
+avian_penis,0,303,
+aventis_vixxx,1,303,
+afghan_hound,5,303,
+zac_(lol),4,302,
+wolfmask,1,302,
+water_deer,5,302,"hydropotinae,hydropotine,waterdeer"
+wadorigi,1,302,
+vagabondbastard,1,302,"vagab0nda,vagabonda"
+succubi_samus,1,302,
+sebastien_(black-kitten),4,302,unnamed_lynx_brother_(black-kitten)
+raised_wings,0,302,"lift_wing,lift_wings,lifted_wing,lifted_wings,lifting_wing,lifting_wings,raised_wing,wing_lift,wing_lifted,wing_lifting,wing_raised,wing_up,wings_lift,wings_lifted,wings_lifting,wings_raised,wings_up"
+purple_countershading,0,302,
+paw_tuft,0,302,
+okioppai,1,302,oppaioppaioppai
+mercy_(overwatch),4,302,
+mcfli,1,302,
+light262,1,302,luke262
+kneeling_on_bed,0,302,
+kaisura,5,302,
+hat_ornament,0,302,
+goshaag,1,302,
+dragging,0,302,
+buttercup_saiyan,1,302,"bcs,buttercupsaiyan"
+brown_toes,0,302,
+battle_angel,1,302,"ba,beay"
+arm_on_leg,0,302,
+anchor,0,302,
+1ceberg,1,302,
+year_of_the_ox,3,301,"year_of_the_bull,year_of_the_cow"
+xtreme7,1,301,
+wolfpack67,3,301,
+sugar_glider,5,301,
+star-shaped_background,0,301,"star-pattern_background,star-pattern_bg,star-shaped_bg,star_background,star_bg,star_pattern_background,star_pattern_bg,star_shaped_background,star_shaped_bg"
+simon_seville,4,301,
+shot_glass,0,301,
+protogen_visor,0,301,
+pregoo,1,301,
+pointing_up,0,301,
+penis_on_penis,0,301,
+neronova,1,301,
+mta_crossgender,0,301,
+martial_arts,0,301,
+long_arms,0,301,
+liz_bandicoot,4,301,
+latex_skin,0,301,
+holding_spoon,0,301,
+harness_ring_gag,0,301,
+fsmaverick,1,301,
+fredryk_phox,1,301,
+flying_squirrel,5,301,
+fish_hook,0,301,"fishhook,fishing_hook"
+eerieviolet,1,301,"loliswitch,rollingswitch"
+dezz,1,301,
+d6,0,301,
+crying_laughing,0,301,laughing_tears
+converse,3,301,
+chasm-006,1,301,
+brittany_miller,4,301,
+3_breasts,0,301,"3_breast,3_breasted,three_breast,three_breasted,three_breasts"
+yus-ts,1,300,
+text_with_emanata,0,300,
+stegosaurus,5,300,
+spitting,0,300,
+sonic_chronicles:_the_dark_brotherhood,3,300,"sonic_chronicles,sonic_chronicles_the_dark_brotherhood"
+slugcat_(rain_world),5,300,
+skuntank,5,300,
+sherlock_hound_(series),3,300,
+sheath_penetration,0,300,
+sajin_komamura,4,300,
+red_bow_tie,0,300,
+precum_pool,0,300,
+portal_ring,0,300,
+pony-berserker,1,300,
+on_shoulder,0,300,
+nyaswitchnya,1,300,"renseki,shion_gaze,shiongaze,shioppoihito,ushioppoi,汐っぽいの"
+kaitou,1,300,"k4170h,解凍"
+highleg,0,300,
+grotesque,0,300,
+frankly-art,1,300,pan-demonium
+falcrus,1,300,
+eyeofcalamity,1,300,
+ejaculation_while_penetrated,0,300,
+duck_hunt_dog,4,300,"dog_(duck_hunt),dog_(duckhunt),hunt_(duck_hunt),hunt_(duckhunt),mr._peepers,mr_peepers"
+drizzile,5,300,
+devil_hs,1,300,"devil-hs,devilhs"
+cloudy_quartz_(mlp),4,300,"cloudy_quartz,sue_pie,sue_pie_(mlp)"
+cloudy,0,300,
+chelicerae,0,300,
+businesswear,0,300,
+blonde_pubes,0,300,yellow_pubes
+blasticussaturn,1,300,
+bladder,0,300,
+berri,4,300,
+barely_visible_nipples,0,300,"barely_visible_nipple,subtle_nipple,subtle_nipples"
+ball_camel_toe,0,300,"ball_cameltoe,balls_camel_toe,balls_cameltoe,camel_toe_balls,cameltoe_balls"
+atori,1,300,
+anticipation,0,300,
+allandox,1,300,"macmuk,mtfoxx"
+adriandustred,1,300,
+zacatron94,1,299,
+yasser,1,299,
+twist_(mlp),4,299,
+trioami260,1,299,
+strapless_bra,0,299,
+six_frame_sequence,0,299,
+sawsbuck,5,299,
+round_body,0,299,
+raikoh-illust,1,299,raikoh14
+primatius,5,299,"fanged_beast,gajushu,gajūshu,pelagus"
+pottery,0,299,
+penis_markings,0,299,"cock_marking,cock_markings,dick_marking,dick_markings,penile_marking,penile_markings,penis_marking"
+peeing_on_furniture,0,299,
+osprey,5,299,"pandion_(bird),pandionid,pandionidae"
+notorious84,1,299,
+nargleflex,1,299,
+moltres,5,299,
+mask_only,0,299,
+long_fur,0,299,
+jackrow,1,299,
+hoard,0,299,
+grey_headwear,0,299,gray_headwear
+glistening_legwear,0,299,"glistening_leg_wear,shiny_leg_wear,shiny_legwear"
+examination,0,299,
+dripdry,4,299,
+doraemon,3,299,
+cumbread,1,299,
+clank_(ratchet_and_clank),4,299,
+cherub,5,299,
+badsheep,1,299,sheep_(artist)
+arm_around_waist,0,299,
+yellow_membrane,0,298,
+wumpa_fruit,0,298,
+winter_nacht,1,298,
+wide_brim_hat,0,298,
+tied_string,0,298,
+submarine_screw,1,298,
+stingray,5,298,sting_ray
+slob,0,298,
+shinerai,1,298,
+sekiguchi_(odd_taxi),4,298,
+scorpion_tail,0,298,
+samantha_brooks,4,298,
+sachiel_666,1,298,
+puella_magi_madoka_magica,3,298,"madoka_magica,magical_girl_madoka_magica,mahou_shoujo_madoka_magica,mahō_shōjo_madoka_magika,pmmm,puella_magi_madoka_magika"
+print_briefs,0,298,
+penis_on_butt,0,298,
+paprika_paca_(tfh),4,298,paprika_paca
+orthopterid,5,298,
+middle-earth_(tolkien),3,298,"middle-earth,middle_earth,middle_earth_(tolkien),middleearth,middleearth_(tolkien)"
+mashiro,4,298,
+manaphy,5,298,
+locosaltinc,1,298,
+kemokin_mania,1,298,
+jonas-puppeh,1,298,
+infinity_symbol,0,298,∞
+horn_sex,0,298,"horns_sex,hornsex"
+franubis,1,298,
+flippy_(htf),4,298,
+empoleon,5,298,
+draw_me_like_one_of_your_french_girls,3,298,
+crash,0,298,
+brown_hyena,5,298,strandwolf
+bloomers,0,298,"reform_dress,turkish_dress"
+battery,0,298,batteries
+aztepyeen,1,298,azzyyeen
+aztec,0,298,
+anyare,1,298,
+yuman,5,297,
+tan_anus,0,297,beige_anus
+swaying,0,297,
+shoulder_spikes,0,297,
+rubber_boots,0,297,wellington_boots
+pumkat,4,297,
+playstation_console,0,297,
+mike_(twokinds),4,297,
+metroid_(species),5,297,"metroid_(creature),metroid_species"
+mega_man_(character),4,297,"mega_man,megaman,rockman"
+marble_fox,0,297,canadian_marble_fox
+magical_pokaan,3,297,renkin_3-kyū_magical?_pokān
+lefthighkick,1,297,
+kitty_pride,3,297,
+jou,5,297,
+jamearts,1,297,
+hyhlion,1,297,
+honeycalamari,1,297,sawakyuri
+growing,0,297,
+gamba_no_bouken_(series),3,297,
+gadget_the_wolf,4,297,
+drake_fenwick,1,297,drakefenwick
+cthulhu,4,297,
+completealienation,1,297,
+captainkirb,1,297,"captain_eagle,captain_kirb,captaineagle,captaineaglesmut,kirbsuperstardude"
+arthropod_abdomen_penetration,0,297,"abdomen_penetrated,abdomen_penetrating,abdomen_penetration,arthropod_abdomen_penetrated,arthropod_abdomen_penetrating,insect_abdomen_penetrated,insect_abdomen_penetrating,insect_abdomen_penetration,invertebrate_abdomen_penetration"
+wildblur,1,296,
+weredog,5,296,"wereshep,wereshepherd"
+weasselk,1,296,
+victor_(pokémon),4,296,"male_protagonist_(pokemon_swsh),male_protagonist_(pokémon_swsh),male_protagonist_(swsh),victor_(pokemon),victor_(pokemon_swsh),victor_(pokémon_swsh)"
+touching_thigh,0,296,
+thunder,0,296,
+tentacles_on_female,0,296,
+stain,0,296,
+side_mouth,0,296,
+rekin3d,1,296,comandorekin
+redmoon83,1,296,
+rach_verity,1,296,
+phone_drawing,0,296,
+peanut_butter_(housepets!),4,296,peanut_butter_(housepets)
+nuclearwasabi,1,296,
+major_arcana,0,296,
+heavymetalbronyyeah,1,296,
+gummi_bears,3,296,adventures_of_the_gummi_bears
+green_bikini,0,296,
+feces_in_mouth,0,296,
+doctordj,1,296,
+diner,0,296,
+destiny_2,3,296,
+denlusty,1,296,beowulf100
+comb_(brush),0,296,
+3d_background,0,296,3d_bg
+whatinsomnia,1,295,
+upside_down_cunnilingus,0,295,
+two_tone_feet,0,295,
+translucent_bottomwear,0,295,"see-through_bottomwear,see-thru_bottomwear,see_through_bottomwear,see_thru_bottomwear,sheer_bottomwear,transparent_bottomwear"
+tonytoran,1,295,
+storage_media,0,295,
+presenting_cream_pie,0,295,
+pignite,5,295,
+oral_while_penetrated,0,295,
+nomad_(tas),4,295,
+napstablook,4,295,
+muffin_top,0,295,
+lizombie,1,295,
+krystal's_staff,0,295,
+keldeo_(ordinary_form),5,295,"keldeo_(ordinary),keldeo_ordinary,keldeo_regular,ordinary_keldeo,regular_keldeo"
+jay_ward_productions,3,295,
+infamousrel,1,295,
+hyucaze,1,295,
+gyumao,4,295,
+green_skirt,0,295,
+game_cartridge,0,295,
+fake_antlers,0,295,
+dogyd,1,295,
+diamond_(kadath),4,295,
+detailed_anus,0,295,
+davidsanchan,1,295,
+d-rex,1,295,dure
+cum_in_tentacles,0,295,cum_in_tentacle
+cheek_markings,0,295,"cheek_(marking),cheek_(markings),cheek_marking,cheeks_(marking),cheeks_(markings),cheeks_marking,cheeks_markings"
+caption_box,0,295,
+asymmetrical_horns,0,295,
+alty,4,295,
+youki029,1,294,"youki,yuuki_(yuyuki000)"
+woodpecker,5,294,
+ujishiyo,1,294,
+steak,0,294,
+squirrel_tail,0,294,
+spilled_drink,0,294,
+sonne,1,294,
+shoulder_tattoo,0,294,
+shade_the_echidna,4,294,
+salmonid_(splatoon),5,294,
+psyduck,5,294,
+pink_handwear,0,294,
+neodokuro,1,294,"dokiestudioz,neodokie,neozcommish"
+meggchan,1,294,
+hunched_over,0,294,
+haori,0,294,
+glowing_tail,0,294,
+freeze-pop88,1,294,
+floraverse,3,294,
+edjit,1,294,
+dunewulff,1,294,
+dorukolorukalai,5,294,
+dontfapgirl,1,294,
+deadpliss,1,294,deadpliss_(artist)
+cum_in_navel,0,294,
+creature_inside,0,294,
+chernobog,4,294,
+caninelove,1,294,
+brown_text,0,294,
+bigshine000,1,294,
+behemoth_(housamo),4,294,
+anthro_to_inanimate,0,294,
+adagio_dazzle_(eg),4,294,adagio_dazzle
+tohfu,1,293,arcanewind
+throne_room,0,293,
+stylusknight,1,293,
+skianous,1,293,
+siroc_(character),4,293,
+shaman,0,293,
+sexting,0,293,
+samurai_shodown,3,293,samurai_showdown
+raunchyhaunches,1,293,
+purple_fire,0,293,
+pokemoa,1,293,soara
+percentage,0,293,
+medium_story,0,293,
+l1zardman,1,293,
+jack_frost_(megami_tensei),4,293,"jack_frost_(mt),jack_frost_(shin_megami_tensei),jack_frost_(smt)"
+glistening_anus,0,293,shiny_anus
+garry's_mod,3,293,"garrys_mod,garrysmod,gary's_mod,garys_mod,gmod"
+feces_in_ass,0,293,
+fastrunner2024,1,293,
+constructed_language,0,293,"artificial_language,con_lang,conlang,invented_language,planned_language"
+chloe_sinclaire,4,293,
+cervine_taur,5,293,
+brushing_hair,0,293,"combing_hair,hair_brushing"
+bonnet,0,293,
+bokoblin,5,293,
+bandanna_on_neck,0,293,
+altar,0,293,
+vending_machine,0,292,
+seven_frame_image,0,292,
+scp-682,4,292,
+proud,0,292,
+pina_(beastars),4,292,
+oversized_oral,0,292,
+onlyfans,3,292,
+nipple_bite,0,292,biting_nipple
+necrodrone_(character),4,292,
+nanger,5,292,
+monochrome_fur,0,292,
+junyois,1,292,
+honeymono,1,292,
+hector21314,1,292,
+hakiahki,1,292,
+fur_coat,0,292,
+escaping_text,0,292,
+drmax,1,292,
+dipstick_hair,0,292,
+determined,0,292,
+defeat,0,292,
+da3rd,1,292,iwillbuckyou
+ceiling,0,292,
+candyfoxy,1,292,
+bugdex,3,292,
+brother_penetrating_brother,0,292,
+band,0,292,
+ar-15,0,292,
+akineza,1,292,
+zzvinniezz,1,291,
+usb,0,291,
+soft_abs,0,291,
+slave_auction,0,291,
+sidelocks,0,291,
+sake_kemosalmon,1,291,
+pacifier_gag,0,291,
+orange_hands,0,291,
+olympics,3,291,
+liarborn,1,291,
+krd,1,291,kinkyrainbowdash
+keisha_makainn,1,291,
+image_macro,7,291,"image_macros,macro_(image),macro_(meme),macro_image"
+humanoid_nose,0,291,
+hugh_muskroura,4,291,
+hoof_gloves,0,291,"pony_gloves,pony_mitts"
+grass_field,0,291,
+goku,4,291,son_goku
+fall_of_equestria,3,291,
+dreamy_pride_(character),4,291,
+dove,5,291,doves
+cpctail,1,291,
+chipar,1,291,
+cat_smile,0,291,cat_mouth
+brown_jacket,0,291,
+borderlands,3,291,borderlands_2
+bastika,1,291,
+bad_guy_cafe,3,291,
+babywife,1,291,
+arkaid,1,291,
+yokozuwari,0,290,
+wooden_horse_(device),0,290,
+vest_(artist),1,290,
+uncanny_valley,0,290,
+trevor-fox_(character),4,290,
+tatwuyan,1,290,
+swinging,0,290,
+sex_while_gaming,0,290,
+sagestrike2_(artist),1,290,
+ricky_hoffman,1,290,
+praiz,1,290,
+plgdd,1,290,
+pj_(goof_troop),4,290,
+ozi-rz,1,290,rotman
+monodontid,5,290,
+margony,1,290,
+liru_(magical_pokaan),4,290,
+legs_around_partner,0,290,
+infinite,4,290,
+hotkeke1,1,290,
+hiroyuki_(morenatsu),4,290,"hiroyuki_nishimura,nishimura_hiroyuki"
+harry_potter,3,290,
+grandson,0,290,"gran_son,gran_sons,grand_son,grand_sons,grandsons,granson,gransons"
+glowing_tattoo,0,290,glowing_tattoos
+gloria_the_hippopotamus,4,290,"gloria_(madagascar),gloria_the_hippo"
+gcfmug,1,290,
+floating_head,0,290,
+energy_drink,0,290,
+emitting_cum,0,290,
+dudebulge,1,290,"bulkydudebulge,burlydudebulge,rossotronic"
+deadxqueen,1,290,
+cynthiafeline,1,290,
+corrsk,1,290,
+caramel_(mlp),4,290,
+brown_exoskeleton,0,290,
+balls_on_glass,0,290,
+bacon,0,290,
+amberpendant,1,290,
+1:4,7,290,
+world_war_2,0,289,"world_war_ii,world_war_two,ww2,wwii"
+word360,1,289,
+white_line_art,0,289,
+wanda_(one_piece),4,289,
+wall_eye_stereogram,7,289,
+tatiilange,1,289,
+tablecloth,0,289,table_cloth
+t-dick,0,289,
+suffering,0,289,
+speedo_only,0,289,
+slice_of_life,0,289,
+secretly_loves_it,0,289,
+sanfingulipunrapin,1,289,
+phinja,1,289,dolphinwarrior
+password_(visual_novel),3,289,
+nu_pogodi,3,289,
+nu_mou,5,289,
+nasal_penetration,0,289,nostril_penetraton
+mugman,4,289,mugman_(character)
+marsonaut,1,289,
+magnifying_glass,0,289,
+luxar92,1,289,"luxarman,luxarts"
+klr-rio,1,289,
+feathered_snake,5,289,"feather_serpent,feather_snake,feathered_serpent,featherserpent,feathersnake,plumed_serpent,plumed_snake"
+fatz_geronimo,1,289,"fatz_geronimo_(artist),koalacola"
+dratini,5,289,
+draeusz,1,289,diegojhol
+crowned_sword_zacian,5,289,"crowned_(zacian),crowned_sword,crowned_sword_(zacian),crowned_sword_form,crowned_zacian,zacian_(crowned),zacian_(crowned_form),zacian_(crowned_sword),zacian_(crowned_sword_form),zacian_crowned,zacian_crowned_form,zacian_crowned_sword,zacian_crowned_sword_form"
+cigarette_smoke,0,289,
+breed,0,289,
+autotonguejob,0,289,"auto_tongue_job,auto_tonguejob,self_tongue_job,self_tonguejob"
+another_eidos_of_dragon_vein_r,3,289,
+alakazam,5,289,
+waving_hand,0,288,
+underpaw,0,288,
+tuxedo_cat,5,288,
+tongue_stud,0,288,"tongue_studs,tonguestud,tonguestuds"
+teardrop,0,288,tear_drop
+sythe_(twokinds),4,288,
+son_penetrating_father,0,288,
+snaxattacks,1,288,
+side_slit_dress,0,288,
+rise_of_the_teenage_mutant_ninja_turtles,3,288,
+red_butt,0,288,"red_ass,red_booty"
+rainbow_arch,0,288,
+portals_of_phereon,3,288,
+pervertguy341,1,288,
+neco-arc,4,288,
+morhlis,1,288,"dizzimor,dizzimorhlis"
+menacing_(meme),3,288,ゴゴゴゴゴ
+lunar57,1,288,
+kaz_(kazudanefonfon),4,288,
+harley_quinn,4,288,
+elkhound,5,288,
+elin,5,288,
+cross_section,0,288,"cross-section,crosssection"
+clamp,0,288,clamps
+carla_(tcitw),4,288,
+bulge_fondling,0,288,
+barista,0,288,
+tremarctine,5,287,
+tongue_in_foreskin,0,287,
+the-alfie-incorporated,1,287,"alfieinc,alfieincorporated,the_alfie_inc,thealfieinc"
+tan_eyebrows,0,287,"beige_eyebrow,beige_eyebrows,cream_eyebrow,cream_eyebrows,peach_eyebrow,peach_eyebrows,tan_eyebrow"
+snowstormbat,1,287,
+sierra_(mana),4,287,
+saruuk,1,287,
+retracted_sheath,0,287,
+rapel,1,287,
+olivia_(kadath),4,287,
+nomax,1,287,
+nikoyishi,1,287,"nikoblush,nikoyishi_(artist)"
+nfl,3,287,
+myarukawolf,1,287,
+mixermike622,1,287,
+miscon,1,287,
+medial_ringed_humanoid_penis,0,287,
+labia_ring,0,287,
+krokobyaka,1,287,just-umbra
+kawfee,1,287,"autumn_sins,autumn_sins_(artist),kawfee_(artist),kawwfee,kawwfee_(artist),leafyii,leafyii_(artist),zyflux,zyflux_(artist)"
+herm_penetrating_male,0,287,h/p/m
+goo_dripping,0,287,
+fleetfoot_(mlp),4,287,
+curved_eyebrows,0,287,
+cobaltsynapse,1,287,"cobalthusky,cobycoon,redaeredas"
+catwolf,1,287,bombchu
+caterpie,5,287,
+astronaut,0,287,
+yellow_bikini,0,286,
+wheelchair,0,286,wheel_chair
+toa,5,286,
+tales_foxdale,1,286,talesfoxdale
+surgical_suture,0,286,"medical_stitch,medical_stitches,medical_suture,medical_sutures,surgery_stitch,surgery_stitches,surgical_stitch,surgical_stitches,surgical_sutures,suture,suture_(stitch),suture_(stitches),suture_stitch,suture_stitches,sutures"
+red_earth,3,286,warzard
+petting_head,0,286,
+pepsi,3,286,
+parent_and_daughter,0,286,
+padded_room,0,286,padded_cell
+maverick,1,286,
+l-i-t-t-l-e_f-i-r-e,1,286,
+katfishcom,1,286,
+inflatable_toy,0,286,
+horny,0,286,
+horizon,0,286,
+holding_handgun,0,286,
+gypsy,0,286,
+gutovi-kun,1,286,
+final_fantasy_xii,3,286,
+dakimakura_pose,0,286,
+bunnie_love,1,286,
+brown_legwear,0,286,
+bones_in_feces,0,286,
+back_rolls,0,286,
+azelf,5,286,
+anal_bead_pull,0,286,
+urielmanx7,1,285,
+timberwolf_(mlp),5,285,
+terrible_the_drawfag,1,285,
+spotted_skunk,5,285,
+sonyan,1,285,pekuza041
+sea_serpent,5,285,
+saddle_bag,0,285,"saddle_bags,saddlebag,saddlebags"
+qalcove,1,285,
+no_climax,0,285,
+monotone_handwear,0,285,
+mature_human,0,285,
+lizardman_(overlord),5,285,
+lapres,1,285,
+ikitsunyan,1,285,"ikitsunyan_(artist),iroxykun,iroxykun_(artist)"
+holding_plushie,0,285,"holding_plush,holding_plushes,holding_plushies,holding_plushy,holding_soft_toy"
+feces_on_body,0,285,
+doost,1,285,
+disfigure,1,285,
+dark_blue_fur,0,285,
+cum_on_horn,0,285,cum_on_horns
+cum_bucket,0,285,
+clawed_wings,0,285,
+cenegan024,1,285,cenegan
+bluebird,5,285,
+blue_macaw,5,285,
+big_fangs,0,285,
+aimbot-jones,1,285,
+yooka,4,284,
+thathornycat,1,284,
+st._patrick's_day,3,284,"saint_patrick's_day,saint_patricks_day,st_patrick's_day,st_patricks_day"
+spectacled_bear,5,284,"andean_bear,tremarctos"
+rhea_snaketail,4,284,
+red_blush,0,284,
+rayliicious,1,284,
+pokémon_café_mix,3,284,pokemon_cafe_mix
+mammoth,5,284,
+lifts-her-tail,4,284,
+leo_(red_earth),4,284,
+keeltheequine,1,284,keel_the_equine
+information_section,0,284,
+holding_breath,0,284,breath_holding
+hiroshi_odokawa_(odd_taxi),4,284,
+hambor12,1,284,
+fran_(final_fantasy),4,284,
+crayon,0,284,crayons
+cocktail_garnish,0,284,
+clock-face,1,284,"clock_face,clockface"
+brown_antlers,0,284,
+amara_telgemeier,1,284,"kattything,oce"
+whimsicalsquirrel,1,283,
+tribadism_on_penis,0,283,pussy_sandwich
+togekiss,5,283,
+tengu,5,283,
+teal_penis,0,283,
+sub-res,1,283,"sub-lewd,sub_res"
+steenee,5,283,
+starykrow,1,283,
+spider-man_(character),4,283,"spider_man_(character),spiderman_(character)"
+silver_jewelry,0,283,
+orange_footwear,0,283,
+knights_college,3,283,
+jurassic_beauties,3,283,
+iksar,5,283,
+i_love_you,0,283,
+fully_clothed_male,0,283,
+fake_wings,0,283,
+electrocution,0,283,
+copperback01,3,283,
+cobalt_(tatsuchan18),4,283,
+chest_harness,0,283,harness_bra
+body_modification,0,283,
+black_tail_tip,0,283,
+ball_stretcher,0,283,ball_weight
+aggressive,0,283,
+♣,0,282,"club_(suit),club_suit,clubs_(suit),clubs_suit"
+zootopia_shorts,0,282,
+white_beak,0,282,
+voluptuous_female,0,282,
+vermelhatan,1,282,vermelha
+tennis,0,282,
+teenager_on_teenager,0,282,
+symmetry,0,282,"symmetric,symmetrical"
+sudonym,1,282,
+stage_lights,0,282,
+spinosaurus,5,282,
+sleep_molestation,0,282,
+shugowah,1,282,
+shrimp,5,282,
+shower_curtain,0,282,
+shota_deer_(berseepon09),4,282,
+sarki,1,282,
+romman08,1,282,
+recliner,0,282,
+realvinyl,1,282,
+percy_(teckworks),4,282,
+panzery25,1,282,
+ophion,4,282,
+kappa,5,282,
+galaxyoron,1,282,galaxyoron_(artist)
+face_censor,0,282,
+devilscry,1,282,
+avocato,4,282,
+aurru,1,282,aurruu
+younger_humanoid,0,281,
+white_pillow,0,281,
+warioware,3,281,
+two_tone_exoskeleton,0,281,
+syrazor,4,281,
+sitting_on_pumpkin,0,281,
+shouk,1,281,
+shirane_kan,4,281,
+roblox,3,281,
+resting_on_belly,0,281,
+raricow_(mlp),4,281,raricow
+oze,1,281,"oze-jp,oze-jp_(artist),oze_(artist),z.o.e,z.o.e.,z.o.e._(artist),z.o.e_(artist),zoe_(artist)"
+over_knee,0,281,
+nib-roc,1,281,
+mynka,1,281,
+mindmachine,1,281,
+lewdtias,4,281,
+imp_(doom),5,281,
+htpot,1,281,
+gregory_(fnaf),4,281,
+ghost_tail,0,281,
+gayousi7,1,281,
+esix,4,281,
+eipril,1,281,
+dreadwolfclaw1990,1,281,
+dino_devil,0,281,
+death_(personification),4,281,
+cum_vomit,0,281,vomiting_cum
+cteno,4,281,
+brown_nails,0,281,
+berkthejerk,1,281,
+arm_scar,0,281,
+1_toe,0,281,
+union_jack,0,280,"british_flag,uk_flag,union_flag"
+toothpick,0,280,
+tibetan_mountain_dog,5,280,"bhote_kukur,drog-khyi,drog_khyi,himalayan_mountain_dog,tibetan_mastiff,tibetan_mastiff-dog,tibetan_mastiff_dog,tzong_ngou,zang_ao,zàng_áo"
+thericegoat,1,280,rice324
+text_on_swimwear,0,280,
+swinging_penis,0,280,
+shitpost,0,280,
+sandwiched,0,280,
+sachasketchy,1,280,itsover21
+restrained_legs,0,280,
+pointy_nose,0,280,
+pale_eyes,0,280,
+nikkyvix,1,280,
+mr._peanutbutter,4,280,mr_peanutbutter
+ky_(malamute),1,280,
+kittellox_(artist),1,280,kittell_(artist)
+inui_(aggressive_retsuko),4,280,
+ill_dingo,1,280,
+heartless,5,280,
+hayakain,1,280,
+danellz,1,280,
+cubboard,1,280,
+big_legs,0,280,
+yuguni,1,279,holayug
+vic34677,1,279,
+upper_body,0,279,
+tiger_print,0,279,
+teer,1,279,
+tamati,4,279,
+talon_hands,0,279,
+steel_cat,1,279,steelcat
+slickehedge,1,279,
+sinensian,1,279,
+sea_lion,5,279,sealion
+ratherdevious,3,279,
+piranha_fish,1,279,
+noise_(artist),1,279,"noise(017),noise(artist)"
+newd,1,279,
+naughtygryph,1,279,
+mistydash,1,279,"chuckybb,mistyedash"
+mareep,5,279,
+magikoopa,5,279,
+lumo,1,279,
+lapdance,0,279,lap_dance
+intersex_on_anthro,0,279,
+hunterramirez,1,279,
+heylaw21,1,279,
+hataraki_ari,1,279,"colrin,ハタラキ有"
+fara_phoenix,4,279,
+clone26,1,279,
+brainsister,1,279,monotreme_(artist)
+angelofhapiness,1,279,
+acidic,1,279,acidic_(artist)
+will-o-wisp,0,278,will-o-wisps
+viskasunya,1,278,
+viola_bat_(character),4,278,
+vib-ribbon,3,278,
+turbinedivinity,1,278,
+tongue_showing,0,278,
+throwing_object,0,278,
+tail_out_of_water,0,278,
+synge,4,278,
+spefides,1,278,
+snorkel,0,278,
+sirredbenjamin,1,278,
+shinn,1,278,"shinn3,shinn4"
+sailor_hat,0,278,
+reptilian_orbit,1,278,
+quoll,5,278,
+pterodactylus,5,278,pterodactyl
+poof,0,278,
+outletdraws,1,278,iamaneagle_(artist)
+lakeslug,1,278,
+kappadoggo,1,278,
+jubei_(blazblue),4,278,"jubei,jubei_(blazeblue)"
+hufnaar,1,278,
+holding_shield,0,278,
+highmountain_tauren,5,278,
+hiccuping,0,278,hiccups
+glitchtrap,4,278,
+gekasso,1,278,"gela-g-i-s-gela,gela-gis-gela,gis-gela,poniesinthedark"
+gabe,1,278,
+dire_aircraft,5,278,feral_aircraft
+d:,0,278,
+cum_on_own_hand,0,278,
+cetacean_pussy,0,278,
+catsudon,1,278,
+camera_flash,0,278,
+blood_drip,0,278,
+white_elbow_gloves,0,277,white_elbow_glove
+vibri,4,277,
+urine_on_penis,0,277,
+tetramand,5,277,
+tail_hand,0,277,tail_hands
+suki_lane,4,277,
+suirano_(character),4,277,
+song,0,277,
+shnider,1,277,
+shade_the_wolf,1,277,
+satina_wants_a_glass_of_water,3,277,satina_(series)
+ruthredmane,1,277,whitedragon
+rini-chan,1,277,
+radiowave,1,277,"radiowave541,rajio,らぢお"
+prey_pov,0,277,
+plushification,0,277,
+on_armchair,0,277,
+navel_ring,0,277,belly_ring
+johnithanial,1,277,
+jamesfoxbr,1,277,
+jadf,1,277,
+holding_chin,0,277,
+height_assist,0,277,
+four_frame_staggered_grid,0,277,
+fitness,0,277,
+evane,3,277,
+down_blouse,0,277,
+cynxie_(artist),1,277,
+bovine_penis,0,277,"bison_penis,buffalo_penis,bull_penis,cattle_penis,cow_penis,ox_penis,yak_penis"
+bianca_(spyro),4,277,
+bandage_on_nose,0,277,
+artca9,1,277,
+arody,1,277,mutant_serpentina
+annoying_dog_(undertale),4,277,annoying_dog
+animated_png,7,277,apng
+webby_vanderquack,4,276,webbigail_vanderquack
+vestina,1,276,
+transformers_aligned_continuity,3,276,"transformers_(aligned),transformers_aligned"
+toradoshi,1,276,
+tiarawhy,1,276,
+squigly,4,276,
+soft_focus,0,276,
+snow_(tas),4,276,
+sandara,1,276,
+rime_the_vixen,1,276,
+rabblet,1,276,
+pizzacat,1,276,
+picnic_blanket,0,276,
+oral_request,0,276,
+nommz,1,276,
+newgrounds,3,276,
+mis'alia,4,276,
+minishorts,0,276,"mini-short,mini-shorts,mini_short,mini_shorts,minishort"
+mikrogoat,1,276,
+louie_duck,4,276,
+light_belly,0,276,
+lechugansfw,1,276,
+katy_kat,4,276,
+juiceps,1,276,
+joykill,1,276,joykill_(artist)
+impact_(font),7,276,
+hand_on_another's_hip,0,276,
+earmuffs,0,276,ear_muffs
+domovoi_lazaroth,1,276,domovoilazaroth
+disembodied_foot,0,276,disembodied_feet
+deanwolfwood,1,276,
+chanta,1,276,
+biggreen,1,276,
+amazinggwen,1,276,
+xaveknyne,1,275,
+worker,0,275,
+tiffy_(fastrunner2024),4,275,
+theowlette,1,275,"little-owlette,thenaughtyowlette"
+spring_bonnie_(fnaf),4,275,
+so_i'm_a_spider_so_what?,3,275,"i'm_a_spider_so_what,i'm_a_spider_so_what?,im_a_spider_so_what,im_a_spider_so_what?,kumo_desu_ga_nani_ka,kumo_desu_ga_nani_ka?,so_i'm_a_spider_so_what,so_im_a_spider_so_what"
+sitting_on_stump,0,275,
+pussy_juice_on_dildo,0,275,
+pushbutton,0,275,
+pinned_to_wall,0,275,
+pin_button,0,275,
+omiart,1,275,omiponi
+nymph,5,275,
+nipple_weights,0,275,nipple_weight
+mega_mawile,5,275,megamawile
+mazapan,1,275,"kaylathedragoness,popesslodovica"
+hybrid_(fortnite),4,275,
+hooved_hands,0,275,
+holding_tray,0,275,
+furball_(character),4,275,
+frozen,0,275,
+flir,3,275,
+faustsketcher,1,275,
+fake_breasts,0,275,fake_boobs
+dormouse,5,275,"glirid,gliridae"
+coy,0,275,
+butterfly_net,0,275,
+brown_beak,0,275,
+angie_(study_partners),4,275,
+acid,0,275,
+.hack,3,275,".hack//,.hack//alcor,.hack//bullet,.hack//cell,.hack//enemy,.hack//fragment,.hack//frägment,.hack//g.u.,.hack//gift,.hack//gnu,.hack//gu,.hack//guilty_dragon,.hack//imoq,.hack//infection,.hack//legend_of_the_twilight,.hack//liminality,.hack//link,.hack//mutation,.hack//outbreak,.hack//quantum,.hack//quarantine,.hack//roots,.hack//sign,.hack//versus,.hack_alcor,.hack_bullet,.hack_cell,.hack_conglomerate,.hack_enemy,.hack_fragment,.hack_frägment,.hack_g.u.,.hack_gift,.hack_gnu,.hack_gu,.hack_guilty_dragon,.hack_imoq,.hack_infection,.hack_legend_of_the_twilight,.hack_liminality,.hack_link,.hack_mutation,.hack_outbreak,.hack_quantum,.hack_quarantine,.hack_roots,.hack_saga,.hack_sign,.hack_versus,.hackimoq,dot-hack,dot-hack_sign,dot_hack,dot_hack_sign,frägment,guilty_dragon,legend_of_the_twilight,project_.hack"
+yellow_lips,0,274,
+xelthia,4,274,
+vacuum_cleaner,0,274,hoover
+unwanted_cumshot,0,274,unwanted_finish
+uniball,0,274,
+tylerstark,1,274,
+the_boy_and_the_beast,3,274,bakemono_no_ko
+subakitsu,1,274,
+struggling_to_fit,0,274,
+snowgrave,0,274,
+rhyu,1,274,rajewel
+reaching_out,0,274,
+pride_color_topwear,0,274,"pride_colored_topwear,pride_colors_topwear,pride_colour_topwear,pride_coloured_topwear,pride_colours_topwear,pride_flag_topwear,pride_topwear"
+pink_thigh_highs,0,274,
+pear,0,274,
+male_dominating_male,0,274,
+madelyn_adelaide,4,274,maddie_(twokinds)
+hummingbird,5,274,"humming_bird,trochilid,trochilidae"
+huge_deltoids,0,274,
+heart_boxers,0,274,"<3_boxer,<3_boxers,heart_boxer,hearts_boxer,hearts_boxers"
+head_tails,0,274,
+green_lipstick,0,274,
+farah,4,274,
+exposing,0,274,
+doritohead,1,274,
+dinogaize,1,274,
+dildo_vibrator,0,274,vibrating_dildo
+black_mask,0,274,
+belly_jiggle,0,274,
+beak_mask,0,274,"bird_mask,crow_mask,medico_della_peste,medico_della_peste_mask,plague_doctor_mask,plague_mask"
+ayame_emaya,1,274,"ayame,susan_eikenburg"
+ziggs_(lol),4,273,
+wolfrun,4,273,
+utterangle,1,273,
+swimming_goggles,0,273,swim_goggles
+skully,1,273,skullysilverwolf
+silvyr,1,273,"silvyrkitsune,wing-of-chaos"
+shebeast,1,273,kc!
+run_aki,1,273,run-aki
+rory_(ceehaz),4,273,
+rex_equinox,1,273,
+reallynxgirl,1,273,
+rakkuguy,1,273,
+purple_skirt,0,273,violet_skirt
+playground,0,273,
+packmind,1,273,bushidochu
+orphen-sirius,1,273,
+master_ball,0,273,masterball
+living_sex_doll,5,273,
+limb_slot,0,273,
+jay-kuro,1,273,
+hinar_miler,1,273,
+gate,0,273,
+g-sun,1,273,
+fydbac,1,273,
+fossilizedart,1,273,
+cloak_only,0,273,
+cham_cham,4,273,chamcham
+brother_bear,3,273,
+bottlebear,1,273,
+aftercare,0,273,after_care
+tochka,1,272,makeicy
+thatblackfox_(artist),1,272,
+t_square_position,0,272,
+suspended_by_penis,0,272,
+single_strike_style_urshifu,5,272,"single_strike_style,single_strike_urshifu,single_urshifu,urshifu_(single),urshifu_(single_strike),urshifu_(single_strike_style),urshifu_single,urshifu_single_strike,urshifu_single_strike_style"
+shrine,0,272,
+sex_toy_in_urethra,0,272,sextoy_in_urethra
+servant,0,272,
+schwartzgeist,1,272,
+porn_magazine,0,272,"porn_mag,porno_mag,porno_magazine,pornography_mag,pornography_magazine"
+passimian,5,272,
+partitioning,0,272,
+nikoh,1,272,"amadeus_(artist),amadeus_d,fefe"
+neo_goldwing_(artist),1,272,neothedragon
+moonsprout_games,3,272,
+mimic_chest,5,272,
+ladle,0,272,
+kurapika,1,272,
+kellwolfik,1,272,
+igglypou,1,272,
+honesty_(artist),1,272,
+handshake,0,272,"hand_shake,hand_shaking,handshaking,shaking_hand,shaking_hands"
+gunfire_reborn,3,272,
+green_scarf,0,272,
+goggles_only,0,272,"naked_goggles,nude_goggles"
+funtime_freddy_(fnafsl),4,272,
+frilled_lizard,5,272,"chlamydosaurus,frill-necked_lizard,frill_neck_lizard,frill_necked_lizard,frilled_agama,frilled_dragon,frilled_neck_lizard,frilled_necked_lizard"
+ford,3,272,
+female_fingering_male,0,272,
+faucet,0,272,
+ezria,4,272,
+discordnight,4,272,
+darknaigart,1,272,
+complextree,1,272,
+compass_(artist),1,272,
+city_destruction,0,272,
+catfolk,5,272,"cat_folk,cat_warrior_(magic),cat_warrior_(magic:_the_gathering),cat_warrior_(magic_the_gathering),cat_warrior_(mtg),cat_warrior_(wizards),cat_warrior_(wizards_of_the_coast),cat_warrior_(wotc)"
+bug_fables,3,272,
+bladder_bulge,0,272,
+animew,1,272,
+all_nine_eeveelutions,0,272,
+yoshi's_island,3,271,
+waist_bow,0,271,
+tan_teeth,0,271,
+sweater_lift,0,271,
+square_(anatomy),0,271,
+sleepy_(sleepylp),4,271,sleepylp
+shopping_bag,0,271,
+robcivecat,1,271,
+redraptor16,1,271,
+orc_(dragon_quest),5,271,orc_(dq)
+nanoff,1,271,
+maplespyder,1,271,
+love_bite,0,271,
+inigo_(kusosensei),4,271,
+genital_rope,0,271,"genitalia_rope,genitaliarope,genitalrope,genitals_rope,genitalsrope"
+drow,5,271,drow_elf
+dewey_duck,4,271,
+cum_on_shirt,0,271,
+black_bow,0,271,
+bahamut,4,271,
+zamazenta,5,270,
+umisag85rabb99,1,270,
+thigh_strap,0,270,
+the_rising_of_the_shield_hero,3,270,"rising_of_the_shield_hero,tate_no_yuusha_no_nariagari"
+tentacle_maw,0,270,
+sun_bear,5,270,
+sleeping_bag,0,270,
+sir_gallade,4,270,
+sewer,0,270,sewers
+senior_fox,4,270,
+scrunchie,0,270,
+roy_arashi,1,270,royyy
+pumpkin_butt,0,270,
+polka_dot_panties,0,270,
+pink_gloves,0,270,
+percy_vison,4,270,
+nummynumz,1,270,nummynomz
+nidoran♂,5,270,"nidoran_(male),nidoran_male,nidoran_♂,nidoranmale"
+naomi_rasputin,4,270,
+lkiws,1,270,
+leilan,1,270,
+junebuq,1,270,junie_cuties
+impaledwolf,1,270,
+h0rs3,1,270,hrs2d
+grill,0,270,
+grant's_gazelle,5,270,grants_gazelle
+doing_it_wrong,0,270,
+dexstar,1,270,
+dart,0,270,darts
+cydonia_xia,1,270,
+binary_drawing,0,270,
+beingobscene,1,270,
+bagelcollector,1,270,
+auto_foot_lick,0,270,"auto_footlick,autofootlick"
+aaassstaro,1,270,
+yamimarik1994,1,269,
+vurrus,1,269,
+urakata5x,1,269,
+ukisudori,1,269,
+temrin,1,269,
+tail_around_partner,0,269,
+shalinka,1,269,
+sergen_(silver_soul),4,269,
+scuba,0,269,
+ritorutaiga,1,269,
+raven_wolf,3,269,
+nozomyarts,1,269,"lex08,nozo.exe"
+news,0,269,
+mummification,0,269,
+multicolored_stockings,0,269,
+meg_hoi,1,269,
+mannequin,0,269,
+knuxlight,1,269,
+klaus_doberman,1,269,klausd
+jynx,5,269,
+jevil_(deltarune),4,269,
+herm_penetrating_herm,0,269,h/p/h
+frisbee,0,269,
+dragonfood,1,269,
+dewclawpaw,1,269,
+dankodeadzone,1,269,
+crombie,1,269,crombiettw
+counting_cougar,4,269,
+console,0,269,
+coffeefly,1,269,
+chloe-dog,1,269,
+chari-gal,4,269,
+blue_sheath,0,269,
+blood_on_ground,0,269,
+black_tattoo,0,269,black_tattoos
+binturongboy,1,269,videogame-cowboy
+bincu,4,269,
+andromorph/female,0,269,"am/f,am/fm,andromorph_on_female,c/f,cboy/female,cuntboy/female,cuntboy_on_female,f/am,f/c,female/andromorph,female/cboy,female/cuntboy,female_on_andromorph,female_on_cuntboy,fm/am"
+alejandra_coldthorn,4,269,
+1994,7,269,
+yosshidoragon,1,268,
+ufo,0,268,
+twisted_sex,0,268,
+twang,1,268,
+tracer_(overwatch),4,268,
+that_time_i_got_reincarnated_as_a_slime,3,268,"tensei_shitara_slime_datta_ken,ttigraas"
+tenaflux,1,268,
+sword_in_mouth,0,268,
+sulfer,4,268,
+slowderpyguy,1,268,
+slime_inflation,0,268,goo_inflation
+show,0,268,
+sea_monster,5,268,
+right_to_left,0,268,
+pokegontc,1,268,
+piebald_fur,0,268,pied_fur
+open_:3,0,268,
+oddish,5,268,
+nihilochannel,1,268,
+lotus_position,0,268,
+linked_nipples,0,268,
+lam-chan,4,268,
+korean_mythology,3,268,
+ismar,4,268,
+grey_handwear,0,268,gray_handwear
+green_shoes,0,268,
+fire_emblem_fates,3,268,
+fictional_language,0,268,
+faeki,1,268,
+excessive_saliva,0,268,
+elh_melizee,4,268,elh_melizée
+elapid_(snake),5,268,elapidae
+darksorm,1,268,
+candy_gore,0,268,"pinata_gore,piñata_gore"
+camo_pants,0,268,camouflage_pants
+bose,1,268,
+black_lingerie,0,268,
+betelgammamon,5,268,
+bellyjob,0,268,
+asui_tsuyu,4,268,
+assisted_bathing,0,268,
+assaultron_(fallout),5,268,
+areye_(artist),1,268,
+yosino,1,267,jukan
+white_speech_bubble,0,267,
+v-d-k,1,267,vdk
+tabuley,1,267,
+t-virus_mutant_(resident_evil),5,267,
+strapless_dress,0,267,
+skye3337,1,267,
+rainbow_penis,0,267,
+powerpuff_girls,3,267,power_puff_girls
+postal_delivery,0,267,"deliver_mail,deliver_package,deliver_post,delivered_mail,delivered_package,delivered_post,delivering_letter,delivering_letters,delivering_mail,delivering_package,delivering_post,mail_delivered,mail_delivering,mail_delivery,package_delivering,package_delivery,post_delivery"
+orgasm_control,0,267,
+nearphotison,1,267,
+marie_itami,4,267,
+male_impregnation,0,267,
+mace_(dreamkeepers),4,267,
+longlevy,1,267,
+kingretrokirby,1,267,
+juliathedragoncat,1,267,
+jellymon,5,267,
+hoof_fetish,0,267,
+hands_on_ears,0,267,
+gym_pals,3,267,
+guided_breast_grab,0,267,
+forced_to_watch,0,267,
+face_in_breasts,0,267,
+danomil,1,267,
+dachshund,5,267,"weiner_dog,wiener_dog"
+crumbs,0,267,
+cream_(disambiguation),6,267,cream
+carapace,0,267,
+bunnykisses,1,267,
+bowserboy101,1,267,
+blood_on_arm,0,267,
+aygee,1,267,
+arms_around_neck,0,267,
+ami_dixie,4,267,
+ahiru621,1,267,
+wheels,0,266,
+walkie_talkie,0,266,
+voidlesky,1,266,
+tlt_echelon,1,266,eviloverlord0
+tan_pants,0,266,beige_pants
+surfer,0,266,
+skidoo,1,266,
+size_theft,0,266,
+seven-stripe_rainbow_pride_colors,0,266,
+saliva_on_breasts,0,266,
+sakamata,1,266,sp_shinkaigyo_>_anbaransa
+pouches,0,266,
+pira,1,266,
+patreon_exclusive,0,266,
+ozoneserpent,1,266,
+nightwing_(wof),5,266,
+mullet,0,266,
+male/male_symbol,0,266,"gay_symbol,⚣"
+light_pussy,0,266,
+leviathan,5,266,
+lambent,1,266,lambent64
+k0suna,1,266,
+jesonite,1,266,
+hacony,1,266,"qundium,yewonlee1999"
+fel_(my_life_with_fel),4,266,
+elise_(greyhunter),4,266,
+crackiepipe,1,266,
+clear_urine,0,266,
+bonifasko,1,266,
+blue_neckerchief,0,266,
+black_heels,0,266,
+bantar2,1,266,
+arcade_machine,0,266,arcade_cabinet
+abubu,1,266,"abubu_nounanka,nounanka,あぶぶ"
+7:8,7,266,
+zapdos,5,265,
+withered_bonnie_(fnaf),4,265,
+warhammer,0,265,"war_hammer,war_hammer_(weapon)"
+titan_a.e.,3,265,titan_ae
+tauros,5,265,
+suurin_2,1,265,"ksyaro,suurin2,すうりん"
+surgical_instrument,0,265,
+summer_wars,3,265,
+spotted_feathers,0,265,
+spooky_(disambiguation),6,265,spooky
+sophie_(argento),4,265,
+smiley_face,0,265,
+series,0,265,
+scout_uniform,0,265,
+scout_(team_fortress_2),4,265,
+rin_kaenbyou,4,265,"kaenbyou_rin,orin"
+pepper_(paladins),4,265,
+over_the_hedge,3,265,
+nedoiko,1,265,
+navitaserussirus,1,265,
+mutual_handjob,0,265,
+motorboating,0,265,
+metalslayer,1,265,
+metalpandora,1,265,kyuubinokitsune
+litwick,5,265,
+light_butt,0,265,"light_ass,light_booty"
+leia_organa,4,265,"leia_(star_wars),leia_organa_solo,princess_leia,princess_leia_organa,princess_leia_organa_solo"
+latex_thigh_highs,0,265,
+ivorylagiacrus,1,265,
+homogenousrule,1,265,
+fionna_the_human,4,265,
+feline_ears,0,265,
+eqamrd,1,265,
+egg_in_pussy,0,265,
+carrot_pen,0,265,
+brown_tail_tip,0,265,
+ancient_rome,0,265,
+19th_century,7,265,
+yellow_hat,0,264,
+work,0,264,
+whitephoenix52,1,264,"thelonecrow,whitephoenix52_(artist)"
+typhon,4,264,
+tamanosuke,1,264,たまのすけ
+takato_matsuki,4,264,
+synx_(synxthelynx),4,264,"synx_the_lynx,synxthelynx"
+string_panties,0,264,
+storm_(stormwx_wolf),4,264,
+starcraft_(franchise),3,264,
+spiritraptor,1,264,
+species_description,0,264,
+singafurian,1,264,singafurian_(artist)
+romarom,1,264,rorarom
+primodrago,1,264,red_dragon_roar
+pokédex,0,264,pokedex
+penis_between_breasts,0,264,
+oscar_marcus,1,264,
+nicole_(nicnak044),4,264,
+nekuzx,1,264,nekuz
+mustela_humanoid,5,264,"humanoid_weasel,weasel_humanoid"
+monotone_lips,0,264,
+modca,1,264,
+machop,5,264,
+littlefisky,1,264,angry_cat
+lauren_faust_(character),4,264,fausticorn
+labret_piercing,0,264,labret
+kyma,1,264,
+kommo-o,5,264,
+kify,1,264,"c_geyser,nusa_(artist),nusasame,nusasasa_(artist),ぬささめ_さね"
+kibbles_(uberquest),4,264,
+jeanette_miller,4,264,
+incredibleediblecalico,1,264,
+hand_grab,0,264,
+gulusgammamon,5,264,grusgammamon
+garble_(mlp),4,264,
+falleninthedark,1,264,
+external_gills,0,264,
+ep777,1,264,
+drama,0,264,
+doggo_(undertale),4,264,
+cum_in_toy,0,264,
+chikn_nuggit_(chikn_nuggit),4,264,
+checker,4,264,
+carry_position,0,264,
+brown_lips,0,264,
+birdvian,1,264,
+anuvia,1,264,
+wantaro,1,263,
+tree_bondage,0,263,
+telleryspyro,1,263,
+sunflower_(pvz),5,263,"sunflower_(plant_versus_zombies),sunflower_(plant_vs._zombies),sunflower_(plant_vs_zombies),sunflower_(plants_versus_zombies),sunflower_(plants_vs._zombies),sunflower_(plants_vs_zombies)"
+snaked,0,263,
+rodrigues404,1,263,
+reluctant,0,263,
+ragdoll_cat,5,263,ragdoll_(cat)
+polygonheart,1,263,thepolygonheart
+plushtrapboyuwu,1,263,
+pink_feet,0,263,
+navi,4,263,
+metallic,0,263,
+male_raping_male,0,263,
+living_rubber,0,263,
+legend_of_jenny_and_renamon,3,263,
+kobold_quest,3,263,
+kobi_lacroix,1,263,kobi-lacroix
+king_boo,4,263,
+katz_(courage_the_cowardly_dog),4,263,"captain_katz,katz_(courage),katz_(ctcd)"
+helixjack,1,263,
+general_scales,4,263,
+fashion,0,263,
+dingoringo30,1,263,
+cooner,1,263,
+clefairy,5,263,
+caedere,1,263,
+building_penetrated,0,263,
+badcoyote,1,263,
+akira_volfsar,1,263,"aki_de-volfs.ar,aki_de-volfs.ar_(artist),akide-volfs.ar,akira_v"
+yellow_glans,0,262,
+wildering,1,262,
+vorusuarts,1,262,
+train_(artist),1,262,
+theycallhimcake,1,262,
+thelionfish,1,262,
+the_aristocats,3,262,aristocats
+symrea,1,262,
+spacewaifu,1,262,
+somnambula_(mlp),4,262,
+simonaquarius,1,262,
+prostate_orgasm,0,262,
+potato_chips,0,262,
+polar_patroller,4,262,polar_patroller_(fortnite)
+pogchamp,4,262,poggers
+plantar_flexion,0,262,
+pink_belly,0,262,
+on_pillow,0,262,
+object_vore,0,262,
+nyar,1,262,
+monotone_thigh_highs,0,262,
+mamoru-kun,4,262,
+loose_foreskin,0,262,
+labelle_able,4,262,"label_able,labele_able,labelle"
+kota´,1,262,"kota',re_pandash"
+klei_entertainment,3,262,"klei,klei_entertainment_inc,klei_entertainment_inc."
+kadabra,5,262,
+jooshy,1,262,
+java,1,262,
+james_corck,1,262,jamescorck
+green_perineum,0,262,
+dropping_object,0,262,
+dogelore,3,262,
+dilophosaurid,5,262,dilophosaur
+crunch_bandicoot,4,262,
+christmas_ornament,0,262,
+cheeky_panties,0,262,
+bucklebunny,1,262,
+braided_pigtails,0,262,
+back_dimples,0,262,dimples_of_venus
+andrew_oleander,4,262,
+unistaart,1,261,
+turning_red,3,261,
+transformers:_prime,3,261,transformers_prime
+trading_card,0,261,
+tail_wrapped,0,261,
+tablet_pen,0,261,
+syoee_b,1,261,
+sumatran_rhinoceros,5,261,"asian_two-horned_rhino,asian_two-horned_rhinoceros,asian_two_horned_rhino,asian_two_horned_rhinoceros,hairy_rhino,hairy_rhinoceros,sumatran_rhino"
+stirrup_footwear,0,261,
+red_tentacles,0,261,red_tentacle
+rarakie,1,261,
+randomboobguy,1,261,jack-frost
+raikou,5,261,
+positive_wishes_(artist),1,261,
+oneminutesketch,1,261,
+one_(manga),3,261,
+mr.tektite,1,261,
+monsterbunny,1,261,
+min,1,261,
+meru_(merunyaa),4,261,
+medusa,4,261,
+marenlicious,1,261,mi0724go
+male_on_taur,0,261,
+lovespell,1,261,
+loonatics_unleashed,3,261,
+loki_(bitterplaguerat),4,261,
+kyodashiro,1,261,black_hiro
+kiichi,1,261,"miyubi_e,きいち"
+intersex_penetrating_ambiguous,0,261,i/p/ag
+improvised_gag,0,261,
+hotel_room,0,261,
+helmet_only,0,261,
+heart_cutout,0,261,
+glurgle,0,261,
+furred_wings,0,261,
+flash_conversion,7,261,
+fellatio_gesture,0,261,
+ear_accessory,0,261,
+dithering,0,261,
+cuddle_team_leader,4,261,
+cleo_catillac,4,261,
+breeze_in_the_clouds,3,261,
+blowing,0,261,
+apple_tree,0,261,"apple_trees,appletree,appletrees"
+altered_reflection,0,261,"mirror_disparity,wrong_reflection"
+adventures_of_sonic_the_hedgehog,3,261,"aosth,taosth,the_adventures_of_sonic_the_hedgehog"
+9:18,0,261,
+ziffir,1,260,
+tinybeasts,1,260,"teeny_beasts,teenybeasts,tiny_beasts,tiny_nsfw,tinynsfw"
+svarzye,1,260,
+ssssnowy,1,260,
+shinigamisquirrel,1,260,
+scene_kid,0,260,
+salmonid_(fish),5,260,"salmonid,salmonidae,salmonids,salmoniform,salmoniforme,salmoninae"
+roz,4,260,
+rhk,1,260,kyokimute
+ratih_(study_partners),4,260,
+rapistwerewolf,1,260,
+quakehoof,1,260,
+propaganda,0,260,
+pronghorn,5,260,"american_antelope,prong_buck,pronghorn_antelope"
+pom_hat,0,260,pom_pom_hat
+pdxyz,1,260,
+new_year_2022,3,260,
+nekubi,1,260,
+miraidon,5,260,
+midna_(true_form),4,260,midna_(human)
+margaret_smith_(regular_show),4,260,margaret_smith
+lavender_hair,0,260,
+lady_bow,4,260,
+jet_pack,0,260,jetpack
+jellymouse,1,260,
+high_heeled_shoes,0,260,
+gluck,0,260,
+fuzzywuff,1,260,sha
+full_diaper,0,260,
+florecentmoo,1,260,"ponysocialexperiment,superserperior,theshadowbrony"
+fensu-san,1,260,
+evov1,1,260,"evov1_(artist),evovi,evovi_(artist)"
+discreet_user,1,260,
+dain_4201,1,260,
+cucumber,0,260,
+bulge_in_face,0,260,
+blue_armwear,0,260,cyan_armwear
+yellow_exoskeleton,0,259,
+wolftang,1,259,
+t-pose,0,259,t_pose
+standing_position,0,259,
+shishi_juuroku,1,259,
+ryarik,1,259,
+roxythefoxy,1,259,
+ponyta,5,259,
+mrscurlystyles,1,259,
+malachyte,1,259,"msspixy,spix,spixpanda,spixystix"
+link_(rabbit_form),4,259,"bunny_link,link_(bunny),link_(bunny_form),link_(rabbit),rabbit_link"
+kuroodod_(fursona),4,259,
+jooper,1,259,seviperj
+ikakins,1,259,
+hihikori,1,259,
+galaxxxart,1,259,
+french,0,259,
+evalion,1,259,
+ethersaga,1,259,
+etheross,1,259,
+dilophosaurus,5,259,
+dezmine21,1,259,
+david_lillie,1,259,
+cyn.,1,259,"cinaed.cyn,hardcandies,yuuri"
+canyon,0,259,
+bassenji,1,259,
+armorine,1,259,
+adjatha,1,259,
+adelaherz,1,259,adelafox
+zheng_(artist),1,258,
+xchiseaxmargaritax,1,258,"chikong,maridiamarius"
+vammzu,1,258,
+telescope,0,258,
+tanutronik753_k,1,258,
+tan_hands,0,258,
+sino_(furfragged),4,258,
+siberwar,1,258,
+shinobe,1,258,
+sharp_toenails,0,258,
+painted_balls,0,258,
+littlerager,1,258,
+lagiacrus,5,258,
+kumiho,5,258,gumiho
+kazushi,1,258,kazushifluff
+junior_horse,4,258,
+invisible,0,258,
+heel_claw,0,258,
+heart_above_head,0,258,
+hands_on_ankles,0,258,
+hand_on_hair,0,258,
+gyarados,5,258,
+farin,4,258,
+el_booki,1,258,
+detective,0,258,
+darkwing_duck,3,258,
+dannyckoo,1,258,
+cyan_background,0,258,"cyan_bg,light_cyan_background,light_cyan_bg"
+covered_breasts,0,258,
+cervine_pussy,0,258,
+caelum_sky,3,258,
+blacksmith,0,258,
+angel_kryis,4,258,
+acrador,5,258,
+zenu,1,257,
+yellow_kerchief,0,257,
+white_tail_feathers,0,257,
+vhkansfweer,1,257,
+vale-city,1,257,
+vaesark,1,257,
+tysontan,1,257,extvia
+thigh_tattoo,0,257,
+tanio,1,257,
+statik,1,257,
+sleeping_beauty_(1959),3,257,
+shuddering,0,257,shudder
+russian_blue,5,257,blue_russian
+pouch_(disambiguation),6,257,pouch
+pawpadcomrade,1,257,pawpadcomrade_(artist)
+offscreen_sex,0,257,
+nokuri,5,257,
+nail,0,257,
+mule_heels,0,257,
+missile,0,257,
+krookodile,5,257,krookodile_(species)
+keronian,5,257,
+kalahari,1,257,
+heroes_of_the_storm,3,257,
+head_on_lap,0,257,head_in_lap
+gray_impact,1,257,
+gem_creature,5,257,"gem_monster,living_gem"
+gaming_chair,0,257,
+gamba_no_bouken,3,257,
+embarrassed_nude_male,0,257,
+dappled_light,0,257,
+dannyg,1,257,
+damage,0,257,
+cum_pooling,0,257,
+castlevania,3,257,
+brown_inner_ear_fluff,0,257,
+brendan_(pokemon),4,257,"brendan_(pokémon),ruby_(pokemon),ruby_(pokémon)"
+bone_gag,0,257,
+black_leggings,0,257,
+yeti,5,256,abominable_snowman
+wing_piercing,0,256,"pierced_wing,pierced_wings"
+viga,1,256,
+telegram,3,256,
+snuddy,1,256,"snudd,snudd2,snudd2_(artist),snudd_(artist),snuddy_(artist)"
+snowboard,0,256,
+skateryena,1,256,
+shun_(morenatsu),4,256,"kodori_shun,shun_kodori"
+riptideshark,3,256,
+red_thigh_highs,0,256,
+record,0,256,records
+pug,5,256,
+pokémon_professor,0,256,"pokemon_professor,professor_(pokemon),professor_(pokémon)"
+placard,0,256,
+piper_perri_surrounded,3,256,
+photo_shoot,0,256,photoshoot
+perched,0,256,
+on_roof,0,256,
+nolollygagging,1,256,
+nidoran♀,5,256,"nidoran_(female),nidoran_female,nidoran_♀,nidoranfemale"
+nelljoestar,1,256,
+nebula,0,256,
+lupe_the_wolf,4,256,
+longtailshort,1,256,
+list,0,256,
+l-a-v,1,256,l_a_v
+kumatetsu,4,256,
+kodashi,1,256,
+kitt_kitan_(artist),1,256,"kitt_kitan,kitt_kitten,kittkitan"
+king_of_fighters,3,256,
+humanoid_on_taur,0,256,"hd/o/t,humanoid/taur,t/o/hd,taur/humanoid,taur_on_humanoid"
+heart_(organ),0,256,
+fluffx,1,256,fluffx_(artist)
+dsw7,1,256,
+dracony,5,256,
+don't_starve,3,256,"don't_starve_(copyright),don't_starve_together,dont_starve,dont_starve_(copyright),dont_starve_together"
+detective_pikachu,4,256,
+delirost,1,256,
+dedenne,5,256,
+chelsea_chamberlain,4,256,
+chanclas,0,256,
+bitter_(bristol),4,256,
+bashful,0,256,
+ball_tugging,0,256,
+ara_(genus),5,256,
+alexstrasza,4,256,
+adamb/t2oa,1,256,adamb/fluffy
+xtrent968,1,255,
+vasuki,1,255,
+uma_musume_pretty_derby,3,255,uma_musume_-_pretty_derby
+tolsticot,1,255,
+synnfultiger,1,255,
+squirming,0,255,
+shintori,1,255,
+shining_wind,3,255,
+sheriff,0,255,
+re:zero,3,255,
+onnanoko,1,255,
+octopus_humanoid,5,255,
+nicobay,4,255,
+mega_milk,3,255,
+kirara_(inuyasha),4,255,
+immortalstar,1,255,
+holding_axe,0,255,
+grunt_(pokémon),0,255,"grunt_(pokemon),pokemon_grunt,pokémon_grunt"
+flesh,0,255,
+flashing_pussy,0,255,
+eye_moisturizer,1,255,
+eikasianspire,1,255,
+echo_(game),3,255,
+dragaux,4,255,
+dracreloaded,1,255,dracounreformed
+dora_the_explorer,3,255,
+dippubear,1,255,
+crystal_pony_(mlp),5,255,"crystal_ponies,crystal_ponies_(mlp),crystal_pony"
+ciena_celle,4,255,
+chromamancer,1,255,
+chococosalo,1,255,
+bottomwear_only,0,255,
+bad_trigger_discipline,0,255,
+aventis,4,255,
+aurorus,5,255,
+arsalan,4,255,
+apatosaurus,5,255,apatosaur
+ambiguous_penetrating_female,0,255,"?/p/f,ag/p/f,ag/p/fm"
+a.b._lust,1,255,
+zhurong_(tas),4,254,
+yaki_atsuage,1,254,
+watermelon_slice,0,254,
+throat_grab,0,254,
+taurin_fox,1,254,"matt_willard,taurinfox"
+tan_spots,0,254,
+takahirosi,1,254,
+t'vaoan,5,254,"skirmisher,skirmishers,t_vaoan,tvaoan"
+sinking,0,254,
+shintatokoro,1,254,
+shaze,4,254,
+shamziwhite,1,254,
+rockstar,0,254,
+risk_of_rain_2,3,254,
+rain_silves,4,254,
+one-punch_man,3,254,"1-punch_man,1-punchman,1_punch_man,1punch_man,1punchman,one-punchman,one_punch_man,onepunchman,wan_pan_man,wanpan_man,wanpanman,ワンパンマン"
+nytro_(fluff-kevlar),4,254,
+matimus91,1,254,mewyk91
+lobokosmico,1,254,
+lizheru,1,254,lizherubones
+lir_(icma),4,254,
+juantriforce,1,254,
+iontoon,1,254,mark_heuer
+geronimo_stilton_(series),3,254,
+eraser,0,254,
+docu_(doppel),4,254,
+crossman,1,254,
+computer_screen,0,254,
+clothes_hanger,0,254,"clotheshanger,clothing_hanger,coat_hanger"
+chained_up,0,254,
+calvin_and_hobbes,3,254,
+cai1448331577,1,254,"cai1448331577_(artist),醤油菜"
+bunk_bed,0,254,
+blattarieva,1,254,blattarieva_(artist)
+artblush,1,254,
+antelon,1,254,
+antar_dragon,1,254,antar-dragon
+zbrush,3,253,
+xenomorph_queen,5,253,
+vibrantechoes,1,253,
+under_surface_view,0,253,
+toeless_shoes,0,253,
+tentacle_around_penis,0,253,
+tekandprieda_(artist),1,253,
+tail_in_pussy,0,253,
+sub-tympanic_shield,0,253,"cheek_plate,cheek_plates,cheek_scale,cheek_scales,helmet_scale,helmet_scales,jowl_plate,jowl_plates,jowl_scale,jowl_scales,shield_scale,shield_scales,sub-tympanic_plate,sub-tympanic_plates,sub-tympanic_scale,sub-tympanic_scales,sub-tympanic_shield_plate,sub-tympanic_shield_plates,sub-tympanic_shield_scale,sub-tympanic_shield_scales,sub_tympanic_plate,sub_tympanic_plates,sub_tympanic_scale,sub_tympanic_scales,sub_tympanic_shield,sub_tympanic_shield_plate,sub_tympanic_shield_plates,sub_tympanic_shield_scale,sub_tympanic_shield_scales,sub_tympanic_shields,subtympanic_plate,subtympanic_plates,subtympanic_scale,subtympanic_scales,subtympanic_shield,subtympanic_shield_plate,subtympanic_shield_plates,subtympanic_shield_scale,subtympanic_shield_scales,subtympanic_shields"
+studs,0,253,
+spottyjaguar,1,253,spotty_jaguar
+skimike,3,253,
+sherly_karu,4,253,
+scaly_tail,0,253,scaled_tail
+sample,0,253,
+rexouium,5,253,
+raptor_claws,0,253,
+ragnarok_online,3,253,
+pattern_handwear,0,253,
+patachu,4,253,
+passiontail_isle,3,253,
+pantherine_taur,5,253,"panther_taur,panthertaur"
+orange_anus,0,253,
+naruever,1,253,
+moblie,1,253,
+microwave_oven,0,253,microwave
+living_weapon,5,253,"living_weaponry,living_weapons,weapon_creature,weaponry_creature,weapons_creature"
+littleblackalas,1,253,
+larry_koopa,4,253,"cheatsy_(koopa),cheatsy_(mario),cheatsy_koopa,larry_(koopa)"
+king_kazma,4,253,king_kazuma
+katt_(breath_of_fire),4,253,
+jeniak,1,253,jjeniac
+jade_harley,4,253,
+illustration,0,253,
+high_five,0,253,"give_me_five,giving_five,hi-five,high-five"
+hand_under_shirt,0,253,
+hades_(game),3,253,
+greg_panovich,1,253,"gspanovich,gspervert"
+goudadunn,1,253,
+glut,0,253,
+glowing_claws,0,253,
+globe,0,253,
+glasswalker,1,253,
+fir3born,1,253,
+feral_druid,0,253,
+feather_earring,0,253,
+crocdragon89,1,253,
+caraid,1,253,lhuneart
+bedwetting,0,253,
+balancing_on_tail,0,253,"tail_stand,tail_standing,tailstand,tailstanding"
+aviator_cap,0,253,aviator_hat
+ass_stack,0,253,
+wrappedvi,1,252,
+wanted_poster,0,252,
+toolbox,0,252,tool_box
+tokugawa_ieyasu,4,252,
+taran_fiddler,1,252,
+spunkubus,1,252,
+skateboarding,0,252,
+ruby_savarin,3,252,
+ronso,5,252,
+ronno,4,252,
+portal_panties,0,252,
+pool_float,0,252,
+pixie,5,252,
+pink_hat,0,252,
+pattern_scarf,0,252,
+parted_bangs,0,252,
+painting_(object),0,252,
+nyuroraxbigdon,1,252,
+nolegs_(oc),4,252,
+levitating,0,252,
+levelviolet,1,252,
+kalita_(furryfight_chronicles),4,252,
+jester_laughie,1,252,
+indeedee,5,252,
+holding_money,0,252,
+goat-kun,1,252,"begoatedhead,d1v1n3-50ul,equinoxthedragon,goat-head_(artist),goat_head_(artist),goathead_(artist),sirsp00kart,therealgoathead"
+gliscor,5,252,
+feet_in_water,0,252,
+dragon_age,3,252,"dragon_age:_origins,dragon_age_2,dragon_age_inquisition,dragon_age_origins"
+cum_circulation,0,252,
+coloratura_(mlp),4,252,"coloratura,countess_coloratura,countess_coloratura_(mlp)"
+candy_kong,4,252,
+buried_frog,1,252,
+boston_terrier,5,252,
+bigmaster,3,252,
+back_grab,0,252,
+ara_(fluff-kevlar),4,252,
+afternoon,0,252,
+zerva_von_zadok_(capesir),4,251,
+wolfywetfurr_(artist),1,251,
+timothy_vladislaus,4,251,
+stoat_humanoid,5,251,ermine_humanoid
+static,0,251,
+sincrescent,1,251,
+serval_humanoid,5,251,
+radiation_symbol,0,251,"nuclear_symbol,radioactive_sign,radioactive_symbol"
+polyamory,0,251,
+plates,0,251,
+pixelkitties,1,251,
+pink_mouth,0,251,
+ouka,1,251,tatunori19
+necktie_pull,0,251,tie_pull
+mutual_fellatio,0,251,
+mumu202,1,251,
+mt,1,251,
+monotone_nails,0,251,
+mean,0,251,
+marbles_swiftfoot,4,251,
+littlesheep,1,251,
+hyper_tail,0,251,
+hyoumaru,1,251,polarplunge
+hisuian_growlithe,5,251,
+hal,4,251,
+gold_markings,0,251,
+gladiator,0,251,
+game_cg,0,251,
+entei,5,251,
+day-t,1,251,
+darknetic,1,251,
+cum_on_wings,0,251,
+conjoined_eyes,0,251,sonic_eyes
+coati,5,251,coatimundi
+chow_chow,5,251,chow
+cassielink,1,251,
+bra_lift,0,251,lifted_bra
+blue_flesh,0,251,
+black_sweater,0,251,
+beezlebumawoken,1,251,beezlebumawoken_(artist)
+balls_on_floor,0,251,
+azathura,1,251,
+autofisting,0,251,"auto_fisting,fisting_self,self_fisting"
+arufina_w,1,251,
+zi_ran,1,250,
+winona_(mlp),4,250,winona
+thin_penis,0,250,skinny_penis
+tanned_skin,0,250,
+takeover,0,250,
+stunky,5,250,
+silver_dragon,5,250,
+shin_grab,0,250,
+sailor,0,250,
+pussy_spreading_tape,0,250,
+peace_symbol,0,250,☮
+orange_and_white,7,250,white_and_orange
+numbat,5,250,"noombat,walpurti"
+miloff,1,250,
+mango_(3mangos),4,250,
+low-riding,0,250,
+larru-larru,1,250,
+lancer_(deltarune),4,250,
+intersex_on_humanoid,0,250,
+hyrule_warriors,3,250,
+hanging_from_branch,0,250,
+hand_on_own_arm,0,250,
+hand_on_ears,0,250,
+growth_drive,0,250,
+goomy,5,250,
+ghetto,0,250,
+featureless_legs,0,250,
+father_penetrating_daughter,0,250,
+exelzior,1,250,exelzior-maximus
+energy_ball,0,250,
+drerika,1,250,
+deervvitch,1,250,princessbunny99
+cockiestspaniel,1,250,wielder
+car_wash,0,250,carwash
+buwaro_elexion,4,250,buwaro
+bottomless_intersex,0,250,
+belly_focus,0,250,
+ashnar,1,250,
+wile_e._coyote,4,249,wile_e_coyote
+wasp_waist,0,249,
+ursofofinho,1,249,
+unown_(pokémon),5,249,"pokemon_unown,pokémon_unown,unknown_(pokemon),unknown_(pokémon),unown_(pokemon),unown_pokemon,unown_pokémon"
+twistcmyk,1,249,
+toying_each_other,0,249,
+tamagotchi,3,249,
+tail_concerto,3,249,
+star_symbol,0,249,
+sprinkles_(artist),1,249,ipwnd
+sparklyon3,1,249,
+soda_bottle,0,249,
+skimpy_armor,0,249,
+shishikasama,1,249,
+rouen_(shining),4,249,
+pink_hands,0,249,
+omikuro,1,249,"shiron_(artist),いぷしろ"
+nirvana3,1,249,
+neeko_(lol),4,249,
+momiji-kun,1,249,
+marx_(kirby),4,249,
+luxurias,1,249,"luuxuu,luxuriass"
+lusty_argonian_maid,3,249,
+lighthouse,0,249,
+justwhite,1,249,
+icing,0,249,
+giggle,0,249,
+duo_(artist),1,249,
+damaged_clothing,0,249,
+cuffs_to_collar,0,249,
+cooper_estevez,4,249,
+cast,0,249,
+canvas,0,249,
+building_destruction,0,249,
+brokenwing,4,249,
+betty_(weaver),4,249,
+bashfulsprite,1,249,
+arms_out,0,249,
+anonipony,1,249,"anonis-almost-art,bustybunny,dc_rabbit,dcrabbit,dennis_carrigan"
+warp_pipe,0,248,
+warning_cream_filled,3,248,
+vodka,0,248,
+tribal_jewelry,0,248,
+tirek_(mlp),4,248,"lord_tirek,lord_tirek_(mlp),tirek"
+thingshappen,1,248,
+thelunarmoon,1,248,
+solaxe_(artist),1,248,bigsol
+shamrock,0,248,
+red_inner_ear_fluff,0,248,
+queen_sectonia,4,248,
+nathanatwar,1,248,
+mrdegradation,1,248,mr-degration
+miosha,1,248,
+methados,1,248,
+manitka_(character),4,248,
+leek,0,248,
+least_weasel,5,248,
+lagomorph_penis,0,248,"hare_penis,rabbit_penis"
+kurohime,1,248,
+jasiri,4,248,
+ivory-raven,1,248,
+incense,0,248,
+hitsuji,1,248,
+greymon,5,248,
+flesh_wall,0,248,
+flagpole,0,248,
+feet_tied,0,248,"bound_feet,tied_feet"
+fcsimba,1,248,
+dusknoir,5,248,
+doctorpurple2000,1,248,
+desi,4,248,
+darkshadow777,1,248,
+cum_in_pumpkin,0,248,
+cresselia,5,248,
+concon-collector,3,248,concon_collector
+coatieyay,1,248,
+chinese_crested_dog,5,248,chinese_crested_hairless
+zonkpunch,1,247,pantswrestler
+zatch_(notkastar),4,247,
+xanthor,1,247,
+white_beard,0,247,
+urethral_tonguing,0,247,
+trapped_in_clothing,0,247,
+trading_card_game,0,247,tcg
+the-narutoshi,1,247,
+talking_feral,0,247,
+tales_of_rebirth,3,247,
+smartwhitefang,1,247,the_naughty_coyote
+shaved_pussy,0,247,
+rodenbeard,1,247,
+retro_console,0,247,
+pure_faraden,5,247,
+prey_penetrating_predator,0,247,
+powfooo,1,247,"paofuu,パオフゥ"
+ponehanon,1,247,
+playboy,3,247,
+pink_ribbon,0,247,
+pidgey,5,247,
+peskybatfish,1,247,
+pabbley,1,247,
+omegazuel,1,247,
+mrs._nibbly,4,247,"mrs._nibbly_(twokinds),mrs_nibbly,mrs_nibbly_(twokinds)"
+monotone_gloves,0,247,
+mega_blaziken,5,247,megablaziken
+male_fingering_female,0,247,
+kamek,4,247,
+interrogation,0,247,
+hud,0,247,
+horned_helmet,0,247,"helmet_horn,helmet_horns"
+hidden_vibrator,0,247,
+hazel_(animal_crossing),4,247,
+hawlucha,5,247,
+harara,1,247,
+furromantic,1,247,
+electric,0,247,
+dr._k_(changed),4,247,
+doggie_kruger,4,247,doggy_kruger
+demigod,5,247,
+dark_balls,0,247,
+cum_on_eyewear,0,247,
+crystal_ball,0,247,
+commanderthings,1,247,
+clinging,0,247,
+clawing,0,247,
+cash_register,0,247,
+ashwolves5,1,247,ashwolves
+alphonse_(james_howard),4,247,
+acta_(spacewaifu),4,247,
+aakashi,1,247,
+worried_face,0,246,
+wallet,0,246,
+two_tone_hat,0,246,
+tooth_necklace,0,246,
+tasteofchoklit,1,246,
+superhero_costume,0,246,
+shin_guards,0,246,
+sash_(backsash),4,246,
+punk-pegasus,1,246,
+nepentz,1,246,
+milodesty,1,246,
+margay,5,246,
+lickitung,5,246,lickitongue
+jug,0,246,
+isabella_bandicoot,4,246,
+game_(disambiguation),6,246,"game,games"
+eliksni,5,246,fallen
+egg_from_ovipositor,0,246,
+dude,0,246,
+dripping_penis,0,246,
+dreamcatcher,0,246,dream_catcher
+delibird,5,246,
+cycling,0,246,
+cyan_yoshi,5,246,light_blue_yoshi
+chimchar,5,246,
+caught_off_guard,0,246,
+carmen_(animal_crossing),4,246,
+booth,0,246,
+black_toes,0,246,
+atlas-white,1,246,
+zumjakal,1,245,
+yagi_b._(artist),1,245,
+vorechestra,1,245,
+twistedterra,1,245,
+torn_shoes,0,245,
+teal_nipples,0,245,
+soups_(superiorfox),4,245,superiorfox_(superiorfoxdafox)
+screen_head,5,245,
+saw,0,245,
+raphtalia,4,245,"raftalia,raftalia_(rising_of_the_shield_hero),raftalia_(shield_hero),raftalia_(the_rising_of_the_shield_hero),raphtalia_(rising_of_the_shield_hero),raphtalia_(shield_hero),raphtalia_(the_rising_of_the_shield_hero)"
+push-up,0,245,"push_up,pushup"
+pulling_underwear,0,245,
+nokamiwd,1,245,
+neck_spikes,0,245,
+munks_(character),4,245,
+lupine_assassin,4,245,
+license_info,3,245,
+kara_resch,4,245,kararesch
+jtveemo,1,245,
+intersex_(lore),8,245,
+hylotl,5,245,hylotl_(starbound)
+holding_arms,0,245,
+grey_gloves,0,245,gray_gloves
+green_mouth,0,245,
+game_boy,3,245,gameboy
+furoticon,3,245,
+foster's_home_for_imaginary_friends,3,245,
+flannel_shirt,0,245,
+fetal_pose,0,245,"fetal_(pose),fetal_(position),fetal_position"
+feathered_arms,0,245,
+elio_(pokémon),4,245,"elio_(pokemon),sun_(pokemon),sun_(pokémon)"
+deck_chair_position,0,245,
+dax_(daxzor),4,245,
+da_silva,3,245,
+curly_brace,4,245,
+crouching_cowgirl,0,245,
+crazy_eyes,0,245,
+changeling_tale,3,245,
+centipede,5,245,
+breastless_clothing,0,245,
+box_of_chocolates,0,245,"box_of_chocolate,chocolate_box"
+belly_nipples,0,245,
+bayonetta,3,245,
+bagheera,1,245,
+b-intend,1,245,
+arctic,0,245,
+altaria,5,245,
+white_dress_shirt,0,244,
+untied,0,244,
+tapir,5,244,"tapirid,tapiridae,tapirus"
+tail_mane,0,244,
+shoulder_bag,0,244,
+shaving,0,244,shave
+sauce,0,244,
+reisen_udongein_inaba,4,244,reisen
+redflare500,1,244,
+rain-yatsu,1,244,
+pumpkybutt,1,244,
+penis_under_skirt,0,244,
+penis_pump,0,244,cock_pump
+orange_glans,0,244,
+on_rock,0,244,
+nduli,1,244,
+moorsheadfalling,1,244,
+moon_pearl,1,244,
+male_penetrating_maleherm,0,244,m/p/mh
+lorum_piercing,0,244,"lorum,lorum_(piercing),pierced_lorum"
+kaisertaylorproducts,1,244,
+jmg,1,244,
+imperial_unit,0,244,
+howl_echoes,1,244,
+hammer_and_sickle,0,244,☭
+folwilliar,1,244,
+fishnet_handwear,0,244,
+duzt,1,244,
+devilbluedragon,1,244,
+covering_pussy,0,244,
+corn,0,244,maize
+clockhands,1,244,
+bright,0,244,
+aldea_(character),4,244,
+zombieray10,1,243,
+walk_cycle,0,243,
+usagi_yojimbo,3,243,
+unbuttoned_pants,0,243,
+telehypnotic,1,243,
+sweet.lemons,1,243,
+sitting_on_tail,0,243,
+san_tejon_high,3,243,
+roommates_(comic),3,243,
+roommates:motha,3,243,
+red_stockings,0,243,
+red_hakama,0,243,
+raburigaron,1,243,
+pyotr_repkin,1,243,
+preview,0,243,
+post-it_note,0,243,"post-it,post-it_notes,post_it,post_it_note,post_it_notes,postit,postit_note,postit_notes,sticky_note,sticky_notes"
+plasma_blaster,0,243,
+pedipalps,0,243,
+orange_arms,0,243,
+one_stormy_night,3,243,arashi_no_yoru_ni
+olkategrin,1,243,
+multicolored_hat,0,243,
+listening_to_music,0,243,
+lionsilverwolf,1,243,
+lien-da,4,243,
+label,0,243,
+jimmy_(faf),4,243,
+insulting_viewer,0,243,
+imminent_pegging,0,243,
+gold_piercing,0,243,
+godoffury,1,243,
+geecku,4,243,
+gatogenerico,1,243,
+dynamite,0,243,
+dracovar_valeford,1,243,dracovar
+david_a_cantero,1,243,daq
+communism,0,243,communist
+charlie_(weaver),4,243,
+bowser's_fury,3,243,
+bernard_(ok_k.o.!_lbh),4,243,"bernard_(ok_k.o!),bernard_(ok_k.o),bernard_(ok_k.o.!),bernard_(ok_k.o.!_let's_be_heroes),bernard_(ok_k.o.!_lets_be_heroes),bernard_(ok_k.o.),bernard_(ok_k.o._lbh),bernard_(ok_k.o._let's_be_heroes),bernard_(ok_k.o._lets_be_heroes),bernard_(ok_k.o_lbh),bernard_(ok_k.o_let's_be_heroes),bernard_(ok_k.o_lets_be_heroes),bernard_(ok_ko!),bernard_(ok_ko!_lbh),bernard_(ok_ko!_let's_be_heroes),bernard_(ok_ko!_lets_be_heroes),bernard_(ok_ko),bernard_(ok_ko_lbh),bernard_(ok_ko_let's_be_heroes),bernard_(ok_ko_lets_be_heroes),bernie_(ok_k.o!),bernie_(ok_k.o),bernie_(ok_k.o.!),bernie_(ok_k.o.!_lbh),bernie_(ok_k.o.!_let's_be_heroes),bernie_(ok_k.o.!_lets_be_heroes),bernie_(ok_k.o.),bernie_(ok_k.o._lbh),bernie_(ok_k.o._let's_be_heroes),bernie_(ok_k.o._lets_be_heroes),bernie_(ok_k.o_lbh),bernie_(ok_k.o_let's_be_heroes),bernie_(ok_k.o_lets_be_heroes),bernie_(ok_ko!),bernie_(ok_ko!_lbh),bernie_(ok_ko!_let's_be_heroes),bernie_(ok_ko!_lets_be_heroes),bernie_(ok_ko),bernie_(ok_ko_lbh),bernie_(ok_ko_let's_be_heroes),bernie_(ok_ko_lets_be_heroes)"
+benji_(artist),1,243,
+averyhyena,1,243,
+arteia_kincaid_(arctic_android),4,243,
+anubislivess,4,243,
+andromorph_on_top,0,243,cuntboy_on_top
+afrobull,1,243,
+zeriara_(character),4,242,
+wbnsfwfactory,1,242,
+unie,1,242,
+torii,0,242,
+tod_(fath),4,242,
+tgchan,3,242,
+tears_of_pain,0,242,
+sunitai,1,242,
+snowball,0,242,
+shendyt,0,242,
+resine,4,242,
+razplus,1,242,
+peter_the_cat,4,242,
+oro97,1,242,
+orange_dress,0,242,
+mrt0ony,1,242,
+lyorenth-the-dragon,1,242,
+laylee,4,242,
+kiyosan,1,242,"kiyo3014,kiyosan_(artist)"
+infatuation,0,242,
+gift_bow,0,242,
+geier,1,242,
+gang_xi_siyu,4,242,
+fwench_fwy_(chikn_nuggit),4,242,
+fishnet_leggings,0,242,
+eye_of_horus,0,242,udjat_eye
+emufu,1,242,
+electroporn,1,242,
+drake_(disambiguation),6,242,drake
+chaos,0,242,
+catchabird,1,242,
+burp_cloud,0,242,
+bound_by_tentacles,0,242,
+blue_knot,0,242,
+blue_eyewear,0,242,
+black_thigh_socks,0,242,
+big_man_(splatoon),4,242,
+bendy_and_the_ink_machine,3,242,"batim,bendy_in_nightmare_run"
+beast_(disambiguation),6,242,"beast,beasts"
+aeonspassed,1,242,
+x_navel,0,241,"belly-button_x,x_naval"
+x-leon-x,1,241,
+unseen_male,0,241,
+two_tone_shoes,0,241,
+thanu,1,241,
+small_nipples,0,241,
+shooty,4,241,
+riding_on_back,0,241,
+raaz,1,241,
+purple_thigh_highs,0,241,
+ori_and_the_will_of_the_wisps,3,241,
+multicolored_swimwear,0,241,multicolored_swimsuit
+mothra_(series),3,241,"rebirth_of_mothra,rebirth_of_mothra_(series)"
+mischievous,0,241,
+lizardman_(warhammer_fantasy),5,241,
+leopard_gecko,5,241,eublepharis
+kodardragon,1,241,kodardragon_(artist)
+km-15,1,241,
+kaeritai07,1,241,ziroro326
+humanoid_to_anthro,0,241,
+hair_down,0,241,
+grey_hoodie,0,241,gray_hoodie
+green_belly,0,241,
+frostwyrm102,1,241,
+everstone_guild,3,241,
+eclipse,0,241,
+cuddlesong,1,241,
+chaos_(sonic),4,241,
+bokustar_fox,1,241,
+beavernator,1,241,
+beaker,0,241,
+basketball_court,0,241,
+awesomenauts,3,241,
+alyrise,1,241,
+abduction,0,241,abducted
+yellow_shoes,0,240,
+xdarkspace,1,240,
+xbox_360,3,240,
+v-neck,0,240,v_neck
+ukent,1,240,
+thehuskylord,1,240,
+teavern,1,240,pur3
+tan_glans,0,240,
+tall_lizzard_(artist),1,240,
+taco,0,240,taco_(food)
+synx,5,240,
+sword_art_online,3,240,
+sunnyowi,1,240,
+snappygrey,1,240,"greycoat,snappygreat"
+skyward_sword,3,240,
+shirokumaou,1,240,
+sea_otter,5,240,
+ruco,1,240,
+reformed_changeling,5,240,
+ratatooey,1,240,
+presto_(artist),1,240,
+pandapaco,1,240,panda_paco
+nightswing,4,240,
+nako,1,240,wycicus
+monotone_pawpads,0,240,"monotone_paw_pad,monotone_paw_pads,monotone_pawpad"
+miniferu,1,240,mini-feru
+melon_(beastars),4,240,
+lynjox,1,240,lynxyjones
+looking_at_own_breasts,0,240,
+lemurlemurovich,1,240,
+king_snugglemagne_xxv,4,240,"king_snugglemagne,snugglemagne,snugglemagne_xxv"
+kermode_bear,5,240,spirit_bear
+kai_the_collector,4,240,"general_kai,kai_(kfp),kai_(kung_fu_panda)"
+juanmao1997,1,240,
+jouljehart,1,240,huarbodraw
+gynomorph_penetrating_ambiguous,0,240,"d/p/ag,dgirl_penetrating_ambiguous,dickgirl_penetrating_ambiguous,gm/p/ag,newhalf_penetrating_ambiguous,shemale_penetrating_ambiguous"
+grabbing_arms,0,240,
+exceed,5,240,
+drooling_on_partner,0,240,
+deku_(tloz),5,240,"deku_(race),deku_(zelda),deku_race"
+breast_shot,0,240,"boob_shot,boobshot"
+badgengar,1,240,
+asian,0,240,
+9_6,1,240,
+7:5,7,240,
+white_apron,0,239,
+verona7881,1,239,"verona,verona_(artist)"
+the_three_caballeros,3,239,three_caballeros
+thatworgen,1,239,
+t.f.a.n.c.s.,1,239,tfancs
+squid_humanoid,5,239,
+spiff,1,239,
+sneeze,0,239,sneezing
+shorts_pull,0,239,short_pull
+rikuaoshi,1,239,
+retracted_balls,0,239,"balls_clenching,clenched_balls"
+ping_koon,1,239,
+painal,0,239,
+otterbits,1,239,
+ornn_(lol),4,239,
+milestone,0,239,
+maynara,1,239,
+marshadow,5,239,
+light_text,0,239,
+knot_bulge,0,239,
+kaminosaki,1,239,
+jambavan,4,239,
+hyper_ears,0,239,
+hugtastic_pinkie_pie,4,239,"derpy_hooves_(somescrub),pinkie_pie_(somescrub)"
+hildegard_(fidchellvore),4,239,
+greek,0,239,
+golden_jackal,5,239,
+fluffydonuts,1,239,
+five_nights_at_freddy's_vr:help_wanted,3,239,
+facehugger,5,239,"face_hugger,facehuggers"
+dragonification,0,239,
+dialogue_outside_panel,0,239,
+diagram,0,239,
+deoxys,5,239,
+delga,4,239,
+dabbling_duck,5,239,"anatinae,anatini"
+conjoined_twins,0,239,siamese_twins
+cavafly01,1,239,max_tony
+bng,1,239,
+blood_on_chest,0,239,
+black_tentacles,0,239,black_tentacle
+black-husky,1,239,
+big_mouth_(anatomy),0,239,
+bathroom_sex,0,239,
+ambiguous_penetrating_male,0,239,"?/p/m,ag/p/m"
+9:10,7,239,
+top_cat_(series),3,238,
+three-toed_sloth,5,238,"3-toed_sloth,3_toed_sloth,bradypodid,bradypodidae,bradypus,three_toed_sloth"
+the_elder_scrolls_online,3,238,elder_scrolls_online
+tengen_toppa_gurren_lagann,3,238,gurren_lagann
+telemonster,3,238,
+spy_(team_fortress_2),4,238,
+spotted_ears,0,238,
+slide,0,238,
+silentwulv,1,238,
+shirt_grab,0,238,grabbing_shirt
+sharing_clothing,0,238,shared_clothing
+rose_(funkybun),4,238,
+pembrokewkorgi,1,238,
+musk_fetish,0,238,
+machete,0,238,
+log_(artist),1,238,
+kyurem,5,238,
+interrupted_by_reaction,0,238,
+holding_knot,0,238,
+hazukikai,1,238,"naka08042000,葉月_壊"
+fuzzy_handcuffs,0,238,fuzzy_cuffs
+floral_pattern,0,238,"floral_patterns,flower_pattern,flower_patterns"
+epona_(tloz),4,238,"epona_(legend_of_zelda),epona_(link),epona_(the_legend_of_zelda),epona_(zelda)"
+enon,1,238,えのん
+elemental_dragon,5,238,"dragon_elemental,element_dragon"
+drying,0,238,"drying_off,drying_self"
+droid,5,238,
+derrick_(hextra),4,238,
+brachioradialis,0,238,
+bluedraggy,1,238,
+blue's_clues,3,238,
+back_tattoo,0,238,"back_tattoos,tattoo_on_back,tattooed_back"
+whap,0,237,
+wax_play,0,237,waxplay
+warlocke,1,237,
+von_lycaon,4,237,
+velrizoth,1,237,
+teaching,0,237,
+tan_sclera,0,237,beige_sclera
+surgical_mask,0,237,"flu_mask,medical_mask,procedural_mask,procedure_mask,sick_mask,surgery_mask"
+super_form,0,237,
+silvia_windmane,4,237,
+schmutzo,1,237,
+sand_cat,5,237,sandcat
+rotten_owl,1,237,
+ritzcat,1,237,
+rika_(character),4,237,
+red_dildo,0,237,
+rammy_aaron,4,237,
+proxy_(pizzacat),4,237,
+power,0,237,
+poppy_playtime,3,237,
+poppy_opossum,3,237,
+paoguu,1,237,
+neri_(caelum_sky),4,237,
+mario_kart,3,237,mario_kart_8
+magical_girl_outfit,0,237,"magic_girl,magic_girl_outfit,magical_girl,magical_girl_costume"
+loss_of_dexterity,0,237,
+lopmon,5,237,
+living_cloud,5,237,"cloud_creature,cloud_monster"
+lined_paper,0,237,
+kianamai,1,237,"kiana_mai,kianamaiart,kilala97,yamujiburo"
+hair_sticks,0,237,"hair_stick,hairstick,hairsticks"
+gungan,5,237,
+green_t-shirt,0,237,
+gold_crown,0,237,
+geppei5959,1,237,purupurupurupuru
+gau_(artist),1,237,
+dimfann,1,237,
+cyberpunk_2077,3,237,
+cursed_item,0,237,
+colo,1,237,nagrolaz
+cnidarian_humanoid,5,237,
+cicada_(artist),1,237,
+bowing,0,237,
+blue_light,0,237,
+balloon_boy_(fnaf),4,237,
+yellow_sheath,0,236,
+wimple,0,236,
+wardraws,1,236,
+unigan,5,236,
+thetransformtentacle,1,236,
+teddiursa,5,236,
+teat_piercing,0,236,
+smoking_weed,0,236,
+smiju,1,236,
+sketchy_skylar,1,236,"moonseeker,pokegirl"
+silver_(ezukapizumu),4,236,
+signirsol,1,236,
+scent,0,236,
+rohan_scribe,1,236,rohanscribe
+rikitoka,1,236,
+reveal,0,236,
+pyroar,5,236,
+pumpkaboo,5,236,
+puffy_lips,0,236,juicy_lips
+pickle_(food),0,236,pickles_(food)
+photo_finish_(mlp),4,236,photo_finish
+pattern_briefs,0,236,
+morbidly_obese_ambiguous,0,236,
+mora,4,236,
+mklancer00,1,236,
+milo_(juantriforce),4,236,
+magpi,1,236,
+kensuke_shibagaki_(odd_taxi),4,236,
+jogauni,5,236,
+jinbe,4,236,
+ivy_valentine,4,236,isabella_valentine
+hyper_soiling,0,236,
+huiro,1,236,
+hobkin,5,236,
+hand_on_wrist,0,236,
+gizmo0sue,1,236,
+garter_belt_leggings,0,236,
+freako,1,236,
+dtcx97,1,236,
+chase_(paw_patrol),4,236,
+yinller,1,235,
+trigaroo,1,235,
+treadmill,0,235,
+supported_legs,0,235,
+sunofureiku,1,235,cat-twink
+star_print,0,235,
+spray_paint,0,235,spraypaint
+soaking_feet,0,235,
+skinny_anthro,0,235,
+shrew,5,235,
+shellder,5,235,
+seyferwolf,1,235,
+record_player,0,235,
+purple_perineum,0,235,
+protective,0,235,
+pornomagnum,1,235,purrnomagnum
+orange_legs,0,235,
+one_after_another,0,235,
+off_screen_character,0,235,
+nullo,0,235,
+manitka,1,235,
+luchador,0,235,
+lovkuma,1,235,
+leonthelionel,1,235,
+kinokoningen,1,235,
+hitmonchan,5,235,
+grandfather,0,235,"gramp,gramps,gran_father,gran_fathers,gran_pa,gran_pas,gran_paw,gran_paws,grand_dad,grand_father,grand_fathers,grand_pa,grand_paw,grand_paws,granddad,grandfathers,grandpa,grandpaw,grandpaws,granfather,granfathers,granpa,granpas,granpaw,granpaws"
+gender_confusion,0,235,mistaken_gender
+deerstail,1,235,
+deep_kiss,0,235,
+cunnilingus_gesture,0,235,
+cirrus_(xp),4,235,
+chirasgi,1,235,
+chest_lick,0,235,licking_chest
+cacturne,5,235,
+butt_hug,0,235,
+brony,0,235,bronies
+ben_tennyson,4,235,"ben_10_(character),ben_ten_(character)"
+airfly-pony,1,235,airflypony
+4322chan,1,235,
+09hankris,1,235,
+yellow_legwear,0,234,
+wide_arrow,0,234,
+triadfox,1,234,
+tongue_fetish,0,234,tounge_fetish
+stampmats,1,234,
+stalactite,0,234,"stalactites,stalagtite,stalagtites"
+spintherella,1,234,
+repeated_dialogue,0,234,
+relle,4,234,
+ranshiin,4,234,
+purple_hoodie,0,234,
+pumpkinsinclair,1,234,
+polyle,1,234,
+pockyrumz,1,234,rum-locker
+pink_armwear,0,234,
+patricia_mac_sionnach,4,234,"patty_(fox-pop),patty_foxy,patty_mac_sionnach"
+partner_swap,0,234,partner_swapping
+pang_(sdorica),4,234,
+ostrich,5,234,
+naive_tabby,1,234,casual_tabby
+my_pet_tentacle_monster,1,234,
+multicolored_tongue,0,234,"multi-colored_tongue,multicolor_tongue"
+multicolored_handwear,0,234,
+mrs._otterton,4,234,
+mikaduki_karasu,1,234,"karasu,karasu_mikaduki,karasu_mikazuki,mikazuki,mikazuki_karasu"
+mdthetest,1,234,
+marc_(theblueberrycarrots),4,234,
+leaning_on_another,0,234,
+joakaha,1,234,
+itameshi,1,234,
+hyper_gape,0,234,
+green_breasts,0,234,
+gimmemysmokes,1,234,
+flufflecraft,1,234,bonicfan123
+flexing_both_biceps,0,234,
+feces_on_penis,0,234,scat_on_penis
+exposed_bone,0,234,
+ekkokenight,1,234,kenight_(artist)
+deadanthro,1,234,wolfthings
+cum_from_penis,0,234,
+combat_boots,0,234,military_boots
+bubba_(spyro),4,234,
+ashesdrawn,1,234,
+accidental_vore,0,234,
+wonder_woman,4,233,
+winter_coat,0,233,
+wendy_pleakley,4,233,"agent_pleakley,agent_wendy_pleakley,pleakley"
+vitashi,1,233,
+vempire,1,233,
+thresh,4,233,
+tani_da_real,1,233,"fadetoprey,fadetoprey_(artist),tani_da_real_(artist),tanidareal,tanidareal_(artist)"
+tan_legs,0,233,
+suck_mcjones,1,233,blue-paper
+standing_tough,1,233,
+sirotae_konnta,1,233,"kurokiri,kurokiririri,黑桐"
+shaking_legs,0,233,
+sex_battle,0,233,
+rubbing_penis,0,233,
+rachnera_arachnera_(monster_musume),4,233,
+pit_(kid_icarus),4,233,
+pheonixbat,1,233,
+oli_snowpaw,1,233,olisnowpaw
+okiyo,1,233,kitsunenone
+multicolored_kerchief,0,233,
+mr.brapion,1,233,
+mothra,4,233,
+mirabelle,4,233,
+magatama,0,233,
+luca,1,233,
+kurohane_karasu,1,233,"k_karasu,黒羽からす"
+konbu,1,233,"hamham,ぷらす野_昆布"
+ketchup_veins,0,233,
+katt_(animal_crossing),4,233,
+izuku_midoriya,4,233,midoriya_izuku
+interspecies_relationship,0,233,
+hut,0,233,
+gmeen,1,233,
+glorsh,0,233,
+fuzzy_balls,0,233,
+food_penetration,0,233,penetrating_food
+flamespitter,1,233,
+egyptian_vulture,5,233,
+domasarts,1,233,
+deymos,1,233,
+delta.dynamics,1,233,"delta_dynamics,exizt"
+creepy_smile,0,233,empty_smile
+corrupt_cynder,4,233,
+cork,0,233,
+construction_worker,0,233,
+chun-li,4,233,
+bus_stop,0,233,
+buke3jp,1,233,
+bloom,0,233,
+bioshock_infinite,3,233,
+auction,0,233,
+anvil,0,233,
+3d_fluid_sim,0,233,
+zone,1,232,
+yoshi_(character),4,232,
+white_neck,0,232,
+timbywuff,4,232,
+the_rescuers_(disney),3,232,the_rescuers
+thanshuhai,1,232,
+team_skull,3,232,
+taylor_renee_wolford_(darkflamewolf),4,232,
+sutibaru,1,232,
+sulley,4,232,james_p._sullivan
+skaifox,1,232,
+sitting_on_table,0,232,
+sip_i.a.,1,232,
+sealer4258,1,232,
+scaled_forearms,0,232,
+ramaelfox,4,232,
+question_to_viewer,0,232,
+prismanoodle_(artist),1,232,
+popsicle_melting,0,232,
+mew_duo,0,232,
+mayar,1,232,fkfkfk3674
+looking_down_at_self,0,232,
+light_claws,0,232,
+jedi,0,232,
+huitu_c,1,232,
+hoodwink_(dota),4,232,
+gravewalker,1,232,
+ghastlygh,1,232,g-h-
+garden_of_eden,0,232,
+fkk,1,232,
+exposed_back,0,232,
+enroshiva,1,232,
+electroshock_weapon,0,232,
+electrixocket,1,232,
+eager,0,232,
+dutch_rabbit,5,232,
+dragon_pony,5,232,
+distressed,0,232,
+delilah_(101_dalmatians),4,232,
+cum_on_armpit,0,232,
+crotchless_bottomwear,0,232,
+cracker_(artist),1,232,
+champagne_glass,0,232,
+bubble_kitten17,1,232,
+bobthedalek,1,232,
+black_high_heels,0,232,
+bench_press,0,232,
+bckiwi,1,232,
+aryanne,1,232,
+1993,7,232,
+zaggatar,1,231,
+yukiminus_rex_(evov1),4,231,
+xorza,1,231,
+xennos,1,231,
+wrapped,0,231,
+white_membrane,0,231,
+uncut_with_sheath,0,231,
+twstacker,1,231,
+two_tone_inner_ear,0,231,
+two_tone_breasts,0,231,
+tall_grass,0,231,
+stoopedhooy,1,231,
+starshippizza,1,231,
+side_cut,0,231,
+shuriken,0,231,"ninja_star,throwing_star"
+shads,4,231,
+sethpup,1,231,
+seatbelt,0,231,
+repeat_(visual_novel),3,231,
+remote_controlled_vibrator,0,231,
+redic-nomad,1,231,
+rainbow_pride_clothing,0,231,
+purple_shoes,0,231,
+palutena,4,231,
+oniontrain,1,231,
+on_glass_surface,0,231,
+omnipresentcrayon,1,231,
+misx,1,231,
+medical_examination,0,231,
+master_crane,4,231,"crane_(kfp),crane_(kung_fu_panda)"
+mane-iac_(mlp),4,231,
+littlenapoleon,1,231,
+inside_mouth,0,231,
+implied_rape,0,231,
+glistening_claws,0,231,shiny_claws
+foot_on_chest,0,231,
+foot_on_back,0,231,
+excadrill,5,231,
+ewgengster_(artist),1,231,
+dumderg,1,231,
+diancie,5,231,
+diamondwing,4,231,
+dalipuff,1,231,gomegapokemon
+daimo,1,231,
+crimvael_(interspecies_reviewers),4,231,
+candy.yeen,1,231,
+burping_up_object,0,231,
+borvar,1,231,
+bonedra,1,231,
+blvejay,1,231,
+blue_cheeks,0,231,
+blazer,0,231,
+black_bodysuit,0,231,
+anthro_to_feral,0,231,
+anna_(kelnich),4,231,
+alakay_alex,4,231,"alakay_the_lion,alex_(madagascar),alex_alakay,alex_the_lion"
+adventurer,0,231,
+6_horns,0,231,"6-horn,6-horned,6-horns,6_horn,6_horned,six-horn,six-horned,six-horns,six_horn,six_horned,six_horns"
+up_and_over,0,230,
+tyrande_whisperwind,4,230,
+tender,0,230,
+steamyart,1,230,
+son_penetrating_mother,0,230,
+sketchytoasty,1,230,
+shdingo,1,230,
+revous,1,230,
+red_thong,0,230,
+rawrunes,1,230,"rawlewd,rawsmut"
+rat_humanoid,5,230,
+purrcules_(artist),1,230,mainlion
+punk_hair,0,230,
+peaked_cap,0,230,
+minigun,0,230,
+looking_through_window,0,230,
+light_hands,0,230,
+librarian,0,230,
+leonkatlovre,1,230,
+kotori,1,230,
+killryde,1,230,
+kiffy_(artist),1,230,
+impious,1,230,
+hopelesshighschool,1,230,"hhs-yan,hhs_yan,hhs_yanko,hhsyan,hhsyanko,ralphthegreenwolf,yan_ricardo"
+h.w.t._studios,3,230,
+grey_eyeshadow,0,230,gray_eyeshadow
+greame,1,230,
+goldendruid,1,230,
+glaring,0,230,
+fibs,1,230,"devilishimmorality,fibriel_solaer_(artist),fibs_(artist),lucky_shot_(artist)"
+feels,0,230,right_in_the_damn_feels
+essien,1,230,
+electrike,5,230,
+draining,0,230,
+dovne,1,230,
+displacer_beast,5,230,
+daf,1,230,
+crossed_feet,0,230,
+cox,4,230,
+countershade_belly,0,230,
+cocktail_dress,0,230,
+carcharhinus,5,230,
+boxgoat,1,230,"boxgoat_(artist),mangoicy,mangoicy_(artist),muttontastic,muttontastic_(artist),quelux,quelux_(artist)"
+bouncyotter,4,230,
+barbed_wire,0,230,
+baraking,1,230,
+arguing,0,230,
+alcina_dimitrescu,4,230,"alcina_dimitrescu_(resident_evil),lady_dimitrescu"
+69_(number),0,230,
+werepantherine,5,229,werepanther
+vaginal_canal,0,229,
+urethral_masturbation,0,229,urethra_masturbation
+translucent_hand,0,229,translucent_hands
+teri_(tawog),4,229,
+starry_background,0,229,starry_bg
+skylanders,3,229,
+shore,0,229,
+shinrabanshou,3,229,
+severed_balls,0,229,
+serious_face,0,229,
+scafen_(artist),1,229,
+rururaida,1,229,"raidaruru,ruru-raida-34"
+ru_(rudragon),4,229,
+rotarr,1,229,
+rinrin_(pixiv),1,229,
+red-izak,1,229,
+puckered_anus,0,229,
+ponypron,1,229,
+plorgonarian,5,229,
+okunawa,1,229,おくなわ
+notdonebaking,1,229,
+notactuallyhere,1,229,
+nic-m-lyc,1,229,
+nauticalcanine,1,229,"fightmeatpax,knoticalcanine"
+mr._piranha_(the_bad_guys),4,229,
+lucien,1,229,
+looking_surprised,0,229,
+lirkov,1,229,
+interrupted,0,229,
+inner_boob,0,229,
+identity_death,0,229,
+hyper_fart,0,229,
+guilty_gear,3,229,
+fleet-foot,1,229,
+flamethrower,0,229,flame_thrower
+dogmeat,4,229,
+cupboard,0,229,
+clitoris_outline,0,229,"clit_bulge,clit_bump,clit_outline,clitoris_bulge,clitoris_bump,protruding_clit,protruding_clitoris"
+chode,0,229,
+chilllum,1,229,
+casino,0,229,
+breast_tattoo,0,229,"breast_tattoos,breasts_tattoo,breasts_tattoos,cleavage_tattoo,cleavage_tattoos,tattoo_on_breast,tattoo_on_breasts,tattooed_breast,tattooed_breasts"
+boyfriends,0,229,
+blue_thigh_highs,0,229,
+blue_tank_top,0,229,blue_tanktop
+beakstick,0,229,"beak_lip_stick,beak_lipstick,beak_stick"
+ayame42612,1,229,
+anglerfish,5,229,"angler_fish,lophiiform,lophiiforme"
+anearbyanimal,1,229,
+zigzagmag,1,228,
+yamper,5,228,
+toe_wiggle,0,228,
+timer,0,228,
+tied_ears,0,228,
+stuck_to_foot,0,228,
+stalagmite,0,228,"stalacmite,stalacmites,stalagmites"
+sparkydb,1,228,
+sovy,4,228,
+snowfoxatheart,1,228,
+smolder,4,228,
+sin-buttons_(artist),1,228,
+sewayaki_kitsune_no_senko-san,3,228,
+rubbing_pussy,0,228,
+red_belly,0,228,
+qrichy,1,228,
+pwink,4,228,
+poisindoodles,1,228,
+pikmin_(species),5,228,
+orange_highlights,0,228,
+octillery,5,228,
+muffinlewds,1,228,
+mr_fuwa,1,228,
+mick39,1,228,"trancy_mick,trancymick"
+megaman_(classic),3,228,
+matt_riskely,4,228,
+lenyavok,1,228,
+kris_where_are_we,3,228,
+komeko-nk,1,228,
+k-10,1,228,
+joystick,0,228,
+harp,0,228,
+frieza_race,5,228,
+food_costume,0,228,
+fondling_internal_bulge,0,228,
+floatie,0,228,
+fish-men_(one_piece),5,228,"fish_men_(one_piece),fishmen_(one_piece)"
+falla_(f-r95),4,228,
+evolution_(transformation),0,228,"digimon_evolution,digivolution,digivolve,evolution_(tf),evolution_tf,evolution_transformation,pokemon_evolution,pokémon_evolution"
+drunk_oak,1,228,
+divinity:_original_sin_2,3,228,
+cum_in_foreskin,0,228,
+corviknight,5,228,
+clyndemoon,1,228,
+chameloshi,1,228,
+butt_bump,0,228,
+breast_pillow,0,228,boob_pillow
+black_antennae,0,228,black_antenna
+bikini_down,0,228,
+baron_of_hell,5,228,
+barely_visible_sheath,0,228,subtle_sheath
+axew,5,228,
+anchors_art_studio,1,228,oneofyouare
+aleone,1,228,
+xxsparcoxx,1,227,
+volcarona,5,227,
+ultraviolet,1,227,
+tan_tongue,0,227,
+striped_handwear,0,227,
+stories_of_the_few,3,227,
+signpost,0,227,
+sharkysocks,1,227,
+secretden,1,227,
+scooter,0,227,
+raljoy,1,227,
+p-v-s,1,227,
+muppet,5,227,
+munsu89,1,227,
+mrchocolate,1,227,daschocolate
+minami_juuji,1,227,
+leokingdom,1,227,
+left-handed,0,227,left_handed
+laurel_wreath,0,227,"laurel_crown,laurels"
+hybrid_pokemon,5,227,
+hurikata,1,227,
+holarctic_magpie,5,227,"black-and-white_magpie,black_and_white_magpie,holarctic_black-and-white_magpie,holarctic_black_and_white_magpie,pica_(genus)"
+heartlessfang,1,227,
+harryclopper,1,227,
+green_butt,0,227,"green_ass,green_booty"
+gingitsune,3,227,
+gaping_cloaca,0,227,
+formal,0,227,
+ffjjfjci,1,227,
+excalibur_(zerofox),4,227,
+eto1212,1,227,
+digimon_survive,3,227,
+covid-19_pandemic,3,227,
+compliment,0,227,
+coffin,0,227,casket
+chung0_0,1,227,chung0u0
+charle_(fairy_tail),4,227,
+cadmiumtea,1,227,decolordomina
+broken_sex_toy,0,227,
+bridal_lingerie,0,227,
+birdpaw_(artist),1,227,
+beak_lick,0,227,"beak_licking,licking_beak"
+anas,5,227,
+3rd_party_watermark,7,227,"3rd-party_watermark,third-party_watermark,third_party_watermark"
+werefeline,5,226,
+weedle,5,226,
+vcrow_shuu,1,226,
+underswap,3,226,
+tramp_stamp,0,226,
+tinder_(artist),1,226,
+thepatchedragon,1,226,
+text_background,0,226,text_bg
+tentacle_under_clothing,0,226,
+splatoon_(series),3,226,
+sparkling_character,0,226,
+sanguine_paladin,1,226,
+proposal,0,226,proposing
+princess_jasmine_(disney),4,226,jasmine_(disney)
+precum_on_own_penis,0,226,
+pooh_bear,4,226,winnie_the_pooh_(character)
+pencil_bolt,1,226,
+nulloffset,1,226,
+mustard,0,226,
+multicolored_breasts,0,226,
+miiyori,1,226,
+mark_m,1,226,"bugmag,bugmag_2,happyfuncandywrap,markm"
+lucyfercomic,1,226,
+long_sleeve_shirt,0,226,
+lololo,4,226,
+loimu,1,226,
+lizard_(divinity),5,226,
+karelian_bear_dog,5,226,karelian_bear
+jeffybunny,4,226,
+jacketbear,1,226,dohs
+hooded,0,226,
+hands_over_head,0,226,
+hammerhead_shark,5,226,"sphyrinid,sphyrinidae"
+fidget_the_fox,4,226,
+famwammer,3,226,
+dynamax,0,226,
+countershade_chest,0,226,
+corrupted,0,226,
+collar_pull,0,226,pulling_collar
+clawlion,1,226,
+bob-omb,5,226,"bob-ombs,bob_omb,bob_ombs,bobomb,bobombs"
+board_game,0,226,
+blue_bender,1,226,
+black_dildo,0,226,
+balloon_fetish,0,226,
+arumo,1,226,mofumofumachine
+ak-47,0,226,ak47
+winddragon,1,225,
+vaginal_contractions,0,225,
+two_tone_neck,0,225,
+trunchbull,1,225,"hardscrabble,hardscrabble_(artist),trunchbull_(artist)"
+tight_shorts,0,225,
+taggcrossroad,3,225,
+sonichu_(series),3,225,sonichu
+sonic_storybook_series,3,225,
+skweekers,1,225,
+silencer,0,225,"sound_suppressor,suppressor"
+shenhibiki,1,225,planeshifterlair
+set_(deity),4,225,"set,set_(god),seteh,setesh,seth_(deity),seth_(god),sutekh"
+scraggy,5,225,
+ryuta-h,1,225,
+quest_for_fun,3,225,quest_for_fun_(copyright)
+nipple_ring_pull,0,225,
+nicolaswildes_(artist),1,225,
+micro_prey,0,225,
+mario_plus_rabbids_sparks_of_hope,3,225,
+lightforged_draenei,5,225,
+katai,1,225,hugin
+jingle_bell_harness,0,225,reindeer_harness
+holding_pillow,0,225,holding_pillows
+holding_gift,0,225,
+helioptile,5,225,
+hatiimiga,1,225,
+hand_lick,0,225,"licking_hand,licking_hands"
+haiku_oezu,1,225,sweethd
+guinea_pig,5,225,
+glaive_wyvern,5,225,
+furlong_(live-a-hero),4,225,
+fundoshi_aside,0,225,
+fin6,1,225,
+doodlelu1992,1,225,"doodlelu,xyluc"
+dona908,1,225,
+dimmi_(character),4,225,
+deke_(ittybittykittytittys),4,225,
+damianvertigo,1,225,
+countershade_crotch,0,225,
+cotton_candy,0,225,
+charging,0,225,
+catwoman,4,225,
+candlestick,0,225,
+caesar_(peculiart),4,225,
+bow_knot,0,225,
+bellossom,5,225,
+appel,4,225,
+adidas,3,225,
+adeloo,1,225,
+yura_kousuke,4,224,
+yousan,1,224,
+whimper,0,224,
+tail_pussy,0,224,cunt_tail
+striped_scarf,0,224,
+sruto,1,224,
+skajrzombie,1,224,skajrzombie_(artist)
+sir-dancalot,1,224,
+silver_skin,0,224,
+rosary,0,224,
+nose_hook,0,224,
+non-canine_knot,0,224,
+nitobe,4,224,
+mega_swampert,5,224,
+marshall_(paw_patrol),4,224,
+hideki_kaneda,1,224,ガス猿人
+hands_on_leg,0,224,
+hakamo-o,5,224,
+hair_buns,0,224,
+grabbing_raised_legs,0,224,
+gblastman,1,224,
+frito-lay,3,224,
+formal_art,7,224,proper_art
+follower_(cult_of_the_lamb),4,224,
+fiona_(artist),1,224,
+feces_pile,0,224,shit_pile
+fearow,5,224,
+fabric,0,224,
+extensor_carpi,0,224,
+dryer,0,224,
+dragonscape,3,224,
+corset_piercing,0,224,
+clothing_on_floor,0,224,
+canine_genitals,0,224,
+bubonikku,1,224,
+breast_vore,0,224,cleavage_vore
+backy_(mlp),4,224,backy
+aries84,1,224,mlpfwb
+ammo_belt,0,224,
+adventure,0,224,
+00murice,1,224,
+yacht_club_games,3,223,
+wasteland,0,223,
+trash_bag,0,223,garbage_bag
+the_legend_of_spyro,3,223,
+synced_to_music,0,223,
+super_animal_royale,3,223,
+snk_(artist),1,223,
+replica_(oc),4,223,
+post,0,223,
+ornaments,0,223,
+ooo-belise-ooo,1,223,"belise13,belise13_(artist),belise7,belise7_(artist),ooo-belise-ooo_(artist)"
+nidorino,5,223,
+nano,0,223,
+mushroom_humanoid,5,223,
+meow,0,223,
+lipstick_on_face,0,223,
+lee_(ajdurai),4,223,
+klent,1,223,
+heavy_(team_fortress_2),4,223,
+glistening_heart,0,223,
+ganon,4,223,
+form_fitting,0,223,formfitting
+folder,0,223,
+flesh_structure,0,223,
+etuix,1,223,kaeda
+drayk_dagger,4,223,
+devilenby,1,223,
+demireality,1,223,kitsunebi_(artist)
+defeat_sex,0,223,
+cross-hatching,7,223,"cross_hatching,crosshatching"
+clovis_(twokinds),4,223,
+chandelier,0,223,
+captaincronus,1,223,umbreveon
+brave_new_world_(style_wager),3,223,
+braffy,1,223,
+boombox,0,223,
+black_leotard,0,223,
+berk_rider,1,223,
+barioth,5,223,
+arekishi,1,223,
+alsares,1,223,"alsareslynx,alsaresnolynx"
+aggie,4,223,
+xytora,1,222,
+xingscourge,1,222,
+weighing_scale,0,222,
+the_crab_mage,1,222,
+sylvanas_windrunner,4,222,
+spirit_(cimarron),4,222,
+slowbro,5,222,
+skating,0,222,
+sildre,1,222,
+sea_sponge,5,222,
+saphireshear,1,222,deviant-soulmates
+red_lantern,3,222,
+rainbow_piercings,0,222,
+potionmastercernun,1,222,
+poison_dart_frog,5,222,"dart-poison_frog,dart_poison_frog,dendrobatid,dendrobatidae,poison_arrow_frog,poison_frog"
+pepper_(puppkittyfan1),4,222,pepper_(puppychan48)
+orionart,1,222,
+on_food,0,222,
+nightdancer_(character),4,222,
+nhala_levee,4,222,
+neelix,1,222,
+naruto_uzumaki,4,222,uzumaki_naruto
+nani_pelekai,4,222,"nani_(l&s),nani_(las),nani_(lilo_&_stitch),nani_(lilo_and_stitch),nani_(stitch)"
+multicolored_tail_feathers,0,222,
+multicolored_jewelry,0,222,
+monotone_pants,0,222,
+measurements,0,222,
+maiteik,1,222,maiteik_(artist)
+kuroi-kisin,1,222,kur0i
+knot_lick,0,222,"knot_licking,licking_knot"
+king_(tekken),4,222,
+kaynine,1,222,
+inside_underwear,0,222,
+inks,0,222,
+ikiki,1,222,
+icicle,0,222,icicles
+hung_(arknights),4,222,
+hon55728,1,222,
+hiking,0,222,hike
+gogoat,5,222,
+futhark,0,222,
+flap-necked_chameleon,5,222,flap_necked_chameleon
+female_licking_male,0,222,
+erlenmeyer_flask,0,222,conical_flask
+english_audio,0,222,
+difetra,1,222,
+cutting,0,222,
+cureboltium,1,222,
+cum_on_crotch,0,222,
+christmas_stocking,0,222,
+chris_sawyer,1,222,
+blue_t-shirt,0,222,
+blue_diaper,0,222,
+blpanda,1,222,
+black_knot,0,222,
+8chan,3,222,
+white_foreskin,0,221,
+wastedtimeee,1,221,wastedtimeee_(artist)
+wall_mounted_dildo,0,221,
+tentacle_around_waist,0,221,
+spectral-bat,1,221,
+skaydie,1,221,
+siyah,1,221,
+ricochetcoyote,3,221,
+resisting_orgasm,0,221,
+pomupomu490,1,221,
+orgunis,1,221,
+officer_flint_(foretbwat),4,221,
+miramore,1,221,
+mingchee,1,221,
+mighty_the_armadillo,4,221,
+meta,0,221,
+messenger_bag,0,221,
+maddeku,1,221,rattie_(artist)
+lilmoonie,1,221,
+lapatte,1,221,
+krocialblack,1,221,
+ko-fi,3,221,
+kaeldu,4,221,
+jerberjer,1,221,
+james_cameron's_avatar,3,221,
+humanoid_ears,0,221,
+hukitsuneko,1,221,
+grabbing_both_ankles,0,221,"double_ankle_grab,grabbing_ankles"
+frozen_(movie),3,221,
+francine_(animal_crossing),4,221,
+fid,1,221,
+fang_(gvh),4,221,
+faejunkie,1,221,
+don_karnage,4,221,
+denyfake,1,221,
+cilia,0,221,
+chrysalis,0,221,"coccoon,coccoon_(pupa),coccoon_(pupae),coccoon_(silk),cocoon,cocoon_(pupa),cocoon_(pupae),cocoon_(silk),insect_pupa,insect_pupae,insect_pūpa,insect_pūpae,pupa,pupae,pūpa,pūpae"
+chess,0,221,
+carnivorous_plant,0,221,
+bluey_heeler,4,221,bluey_(bluey)
+battle_principal_yuumi,4,221,
+xtoka_samax,1,220,
+xezeno,1,220,
+water_jacking,0,220,
+virito,1,220,
+toilet_slave,0,220,
+toaster,0,220,
+the_more_you_know,0,220,
+the_moomins,3,220,
+teenage_mutant_ninja_turtles_(2003),3,220,tmnt_2003
+tassy_(artist),1,220,
+tail_size_difference,0,220,
+slitfluid,0,220,
+severus,1,220,
+secretary_washimi,4,220,washimi
+rube,1,220,just-rube
+red_spikes,0,220,
+proxer,1,220,
+pokemon_berry,0,220,
+pink_(pink),4,220,
+otterjunk,1,220,
+orange_pupils,0,220,
+oozaru,5,220,
+natural_furfrou,5,220,"furfrou_(natural_form),furfrou_(natural_trim),normal_furfrou"
+morticus,1,220,
+menmen_kesinn,1,220,
+mei_(one_stormy_night),4,220,
+mallard,5,220,
+lucy_(bcb),4,220,
+lady_snakebite,1,220,ladysnakebite
+kosian,1,220,
+kabedon,0,220,
+jiangshi,5,220,"chinese_""hopping""_vampire,chinese_hopping_vampire,chinese_vampire,cuong_thi,cương_thi,gangshi,goeng-si,goeng_si,hantu_pocong,hopping_vampire,jiang_shi,jiāng_shī,jiāngshī,kyonshi,kyonshī"
+ittybittyshark,1,220,
+implants_(disambiguation),0,220,"implant,implants,subdermal_implant"
+herpydragon,1,220,
+hentist,1,220,
+grey_shoes,0,220,gray_shoes
+greenendorf,1,220,
+green_eyewear,0,220,
+foxxfire,1,220,
+foxfoxplz,1,220,
+festival,0,220,
+feeding_tube,0,220,
+f-zero,3,220,
+elektr0,1,220,
+daria_mcgrain,1,220,dariamcgrain
+cum_transformation,0,220,
+creamygravy,1,220,
+cobatsart,1,220,cobat
+clamcrusher,1,220,
+cinta,1,220,
+bubble_bath,0,220,
+blue_fingers,0,220,
+auntymoira,1,220,purity
+apinkgrape,1,220,hairgrape
+anakuro,1,220,
+alaiaorax,1,220,
+air_humanoid,5,220,"humanoid_air,humanoid_wind,wind_humanoid"
+yellow_legs,0,219,
+xerneas_(active_mode),5,219,"active_mode_xerneas,active_xerneas,xerneas_(active),xerneas_active_mode"
+work_uniform,0,219,
+wailord,5,219,
+velannal,1,219,
+vashaa,1,219,abelsword
+subscribestar_logo,0,219,
+spartan_(halo),4,219,
+sloshing_balls,0,219,
+sharp_fangs,0,219,
+setter,5,219,
+rainbow_eyes,0,219,
+raianonzika,1,219,zerbukii
+male_udder,0,219,
+levitating_object,0,219,
+kinsheph,1,219,kincishepholf
+karukuji,1,219,
+howling-strawberries,1,219,
+headshot,0,219,
+hanging_by_tail,0,219,
+hands_on_waist,0,219,
+go_to_horny_jail,3,219,horny_jail
+glowing_flesh,0,219,
+genetic_chimerism,0,219,"chimaera_(gene),chimaera_(genetic),chimaera_(genetics),chimaerism,chimaerism_(gene),chimaerism_(genetic),chimaerism_(genetics),chimera_(gene),chimera_(genetic),chimera_(genetics),chimerism,chimerism_(gene),chimerism_(genetic),chimerism_(genetics),chimæra_(gene),chimæra_(genetic),chimæra_(genetics),chimærism,chimærism_(gene),chimærism_(genetic),chimærism_(genetics),genetic_chimaera,genetic_chimaerism,genetic_chimera,genetic_chimæra,genetic_chimærism"
+general_mills,3,219,
+fury_bowser,4,219,
+ferris_wheel,0,219,"chicago_wheel,ferriswheel"
+eye_reflection,0,219,
+exposed_brain,0,219,
+equus,1,219,
+ears_outwards,0,219,"ear_facing_out,ear_facing_outward,ear_facing_outwards,ear_out,ear_outward,ear_outwards,ears_facing_out,ears_facing_outward,ears_facing_outwards,ears_flicked_outwards,ears_laid_outwards,ears_out,ears_outward"
+drekir,5,219,
+cum_underwater,0,219,
+chokehold,0,219,
+blue_clitoris,0,219,blue_clit
+bidoof,5,219,
+bhawk,1,219,
+atticus_mura,4,219,
+arwenscoots,1,219,arwen.
+ark_survival_evolved,3,219,
+albinoraynedeer,1,219,
+a_link_to_the_past,3,219,
+zoyler,1,218,
+weaselgrease,1,218,
+vespiquen,5,218,
+thepurp,1,218,
+tentacle_around_neck,0,218,
+tala_(suntattoowolf),4,218,suntattoowolf
+stitch!,3,218,"anime_stitch,anime_stitch!,stitch!_(anime),stitch!_anime,stitch!_best_friends_forever,stitch!_perfect_memory,stitch!_the_mischievous_alien's_great_adventure,stitch!_the_mischievous_aliens_great_adventure,stitch!_~best_friends_forever~,stitch!_~the_mischievous_alien's_great_adventure~,stitch!_~the_mischievous_aliens_great_adventure~,stitch_(anime),stitch_and_the_planet_of_sand,stitch_anime,stitch_best_friends_forever,stitch_perfect_memory,stitch_the_mischievous_alien's_great_adventure,stitch_the_mischievous_aliens_great_adventure,stitch_~best_friends_forever~,stitch_~the_mischievous_alien's_great_adventure~,stitch_~the_mischievous_aliens_great_adventure~,suticchi!,the_mischievous_alien's_great_adventure,the_mischievous_alien's_great_adventure~,the_mischievous_aliens_great_adventure,the_mischievous_aliens_great_adventure~,yuna_&_stitch,yuna_and_stitch"
+sleeveless_dress,0,218,
+rogue,0,218,
+reverse_doggystyle,0,218,
+redgreenfluffball,1,218,
+psakorn_tnoi,1,218,
+oleander_(tfh),4,218,oleander
+no_harm_no_fowl,3,218,
+monotone_scales,0,218,"mono-tone_scale,mono-tone_scales,mono_tone_scale,mono_tone_scales,monotone_scale"
+master_sword,0,218,
+magical_binding,0,218,
+light_eyes,0,218,
+leg_over_shoulder,0,218,
+kimahri,4,218,
+ka-samy,1,218,
+hocolatemilk,1,218,
+hat_feather,0,218,"feather_for_hat,feather_in_cap,feather_in_hat,feather_in_your_cap,feathers_for_hat,feathers_in_cap,feathers_in_hat,feathers_in_your_cap,hat_feathers"
+happyanthro,1,218,
+grumpyvulpix,1,218,"grumpyvulpix_(artist),lalzimsooodrunkrightnow,lalzimsooodrunkrightnow_(artist)"
+graff_filsh,4,218,
+gawr_gura,4,218,
+first_page,7,218,
+duke_weaselton,4,218,weaselton
+doe_with_antlers,0,218,
+cutesexyrobutts,1,218,
+cum_on_paw,0,218,
+cum_in_sex_toy,0,218,
+clothing_transformation,0,218,
+climbing_on,0,218,
+clefable,5,218,
+black_foreskin,0,218,
+awake,0,218,
+asbie,4,218,
+zoologist_(terraria),4,217,
+yaehara_makoto,4,217,
+xanderblaze,4,217,
+x_pupils,0,217,
+wickerbeast,5,217,
+vampire_costume,0,217,
+underscore_b,1,217,
+tool_belt,0,217,toolbelt
+timoteihiv,1,217,
+the_human_heart_(game),3,217,
+tangy_(animal_crossing),4,217,
+sylvester,4,217,
+superia,4,217,
+struggling_prey,0,217,
+sperm_whale,5,217,
+smaller_herm,0,217,
+sitri,4,217,
+serving_beverage,0,217,
+rublegun,1,217,
+round_head,0,217,
+rina_(ratcha),4,217,
+renimpmon_x,4,217,
+rabbit_(winnie_the_pooh),4,217,
+pinkcappachino,1,217,
+physeteroid,5,217,
+paper_lantern,0,217,"chinese_lamp,chinese_lamps,chinese_lantern,chinese_lanterns,chineselamp,chineselamps,chineselantern,chineselanterns,japanese_lamp,japanese_lamps,japanese_lantern,japanese_lanterns,japaneselamp,japaneselamps,japaneselantern,japaneselanterns,paper_lamp,paper_lamps,paper_lanterns,paperlamp,paperlamps,paperlantern,paperlanterns"
+pained_expression,0,217,
+oughta,1,217,
+o-ro,1,217,
+niece,0,217,
+napkin,0,217,
+monk,0,217,
+mistpirit,1,217,
+miss_l,4,217,
+microsoft_windows,3,217,
+mauroz,1,217,
+marco_(angstrom),4,217,
+kurus,1,217,kurus37
+iridescent,0,217,iridescence
+hole_(pit),0,217,
+headlights,0,217,
+glistening_horn,0,217,shiny_horn
+freefall_(webcomic),3,217,
+flower_bouquet,0,217,"bouquet_of_flower,bouquet_of_flowers,bouquets_of_flowers,flower_bouquets"
+fizzle_(mlp),4,217,
+fernier,4,217,
+debris,0,217,
+dall_sheep,5,217,thinhorn_sheep
+countertop,0,217,
+closed_(disambiguation),6,217,closed
+checkered,0,217,
+chain_collar,0,217,
+bunnag,1,217,
+bruteandbrawn,1,217,
+blue_(blue's_clues),4,217,
+badnik,5,217,
+bacteria_(organism),5,217,
+atane27,1,217,atane18
+anal_stretching,0,217,
+zephy_03,1,216,
+xenoguardian,1,216,"alimika,infernal_guard"
+wolf_taur,5,216,wolftaur
+whistling,0,216,
+vilani,1,216,vilani_(artist)
+theobrobine,1,216,
+tentacle_around_tail,0,216,
+tankard,0,216,
+stalking,0,216,
+spindles,1,216,spindlesx
+soviet_cartoon,0,216,
+singingbirdstudio,1,216,
+siberian_tiger,5,216,white_siberian_tiger
+salmon,5,216,
+purple_eyewear,0,216,
+penetrated_pov,0,216,
+patrick_(kadath),4,216,
+outie,0,216,
+orange_nails,0,216,
+nyarlathotep_(housamo),4,216,
+mrmadhead,1,216,
+mountain_(arknights),4,216,
+meatshaq,1,216,
+madam_reni_(twokinds),4,216,
+long_antennae,0,216,long_antenna
+loch_ness_monster,5,216,
+lisaamint,1,216,"sheldon_dober,sheldondober"
+lilith_(zajice),4,216,
+lemon_testicles,0,216,
+leaking_penis,0,216,
+kyubimon,5,216,
+improvised_weapon,0,216,
+human_to_inanimate,0,216,
+howlfeiwolf,1,216,
+hornjob,0,216,"horn_fellatio,horn_job"
+hands_free_cum,0,216,
+hand_on_forearm,0,216,
+gentlemanplayer,3,216,
+geckoguy123456789,1,216,pregfur
+fivesome,0,216,
+fainted,0,216,
+extremedash,3,216,
+endium,1,216,
+dulce_(mr.pink),4,216,
+dragon_(shrek),4,216,
+domination/submission,0,216,
+doghouse,0,216,"dog-house,dog_house,doggie-house,doggie_house,doggiehouse,doggy-house,doggy_house,doggyhouse"
+dangerous,0,216,
+cropped_hoodie,0,216,
+cockatrice,5,216,
+clyde_wolf,1,216,
+cherry_blossom_tree,0,216,"cherry_blossom_trees,sakura_tree,sakura_trees,sakuratree,sakuratrees"
+camseven,1,216,"camseven_(artist),camseventyseven,camseventyseven_(artist)"
+burquina,1,216,i_do_not_know_(artist)
+black_teeth,0,216,
+belt_collar,0,216,
+bard,0,216,
+avelos,3,216,
+angelbreed,1,216,
+>:d,0,216,
+yojoo,1,215,
+yencatx,1,215,
+wearing_eyewear,0,215,
+wavy_speech_bubble,0,215,
+violet_hopps,4,215,
+trump,1,215,
+tan_neck,0,215,
+studio,0,215,
+stith,4,215,
+starfire_(teen_titans),4,215,"koriand'r,koriand'ru,koriand-r,koriand-ru,koriand_r,koriand_ru,koriandr,koriandru,princess_koriand'r,princess_koriand'ru,princess_koriand-r,princess_koriand-ru,princess_koriand_r,princess_koriand_ru,princess_koriandr,princess_koriandru,star-fire_(teen_titans),star_(teen_titans),star_fire_(teen_titans)"
+son2j,1,215,
+solar_flare_(pvz),4,215,"solar_flare_(plants_versus_zombies),solar_flare_(plants_vs._zombies),solar_flare_(plants_vs_zombies)"
+smartypants_(mlp),4,215,smarty_pants_(mlp)
+small_eyes,0,215,
+sl350,1,215,shadowlink350
+skymafia,1,215,
+seriousb,1,215,
+rufus_black,4,215,
+rthur,1,215,
+rag,0,215,
+puckered_lips,0,215,
+piporete,1,215,
+penelope_pussycat,4,215,
+nia_(senz),4,215,
+nepeta_leijon,4,215,
+mrsk,1,215,
+mollusk_shell,0,215,mollusc_shell
+maren_taverndatter,4,215,
+livinlovindude,1,215,
+kame-sama88,1,215,mher
+jilo,1,215,
+ilot,1,215,xenoda
+here-kitty-kitty,1,215,
+hand_on_own_calf,0,215,
+green_vest,0,215,
+gold_armor,0,215,golden_armor
+gaping_nipples,0,215,gaping_nipple
+fukiyo,4,215,
+frozen_over,1,215,
+forced_smile,0,215,
+expansion_sound_effect,0,215,
+earhole,0,215,"ear_hole,ear_holes,earholes"
+duly_noted,1,215,
+coyotek,1,215,
+coraciiform,5,215,coraciiforme
+comfycushion,1,215,
+camp_pines,3,215,
+black_line_art,0,215,
+bicep_curl,0,215,
+archeops,5,215,
+zooey_the_fox,4,214,
+yellow_collar,0,214,
+y0dare,1,214,hanage1
+white_whiskers,0,214,
+wamudraws,1,214,nickleflick
+waist_up,0,214,
+viking,0,214,
+timestamp,0,214,
+thresher_shark,5,214,"alopias,alopiid,alopiidae"
+thick_tongue,0,214,fat_tongue
+theater,0,214,theatre
+side_ponytail,0,214,
+sabuky,1,214,
+rude,0,214,
+rollwulf,1,214,
+razor,0,214,
+purple_feet,0,214,
+pubraseer,4,214,
+propositioning,0,214,
+popping,0,214,
+plant_sex,0,214,
+penis_size_chart,0,214,
+paliken,1,214,"denryu,ryoku,ryoku_(artist),ryokuu,ryokuu_(artist),りょく"
+oxygen_mask,0,214,"anaesthesia_mask,anesthesia_mask,breathing_mask"
+mummy_wrappings,0,214,
+madacon,1,214,
+lynel,5,214,lynel_(botw)
+lube_on_penis,0,214,
+liquor,0,214,
+lance_(disambiguation),0,214,lance
+jill_valentine_(resident_evil),4,214,
+jagon,1,214,
+iggy_(jjba),4,214,
+glue,0,214,
+genital_tattoo,0,214,"genital_tattoos,tattoo_on_genitals,tattooed_genitals"
+fujoshiineko,1,214,
+fuecoco,5,214,
+f_draws,1,214,
+erect_tail,0,214,
+ennismore,1,214,
+dwarfism,0,214,"little_person,midget,short_stature"
+discarded_underwear,0,214,
+dick_pic,0,214,
+demonnyuu,1,214,
+crossbar_emanata,0,214,
+comparing_breasts,0,214,"battle_of_the_breasts,breast_comparison,breasts_comparison,comparing_breast"
+chin_spikes,0,214,
+cheerleading_pose,0,214,
+chase,0,214,
+black_membrane,0,214,
+bivalve,5,214,
+bell_accessory,0,214,
+bardju,1,214,
+band1tnsfw,1,214,benjamin_ratterman
+badassbaal,1,214,
+ask_bottom_armor,3,214,
+arthur_(furfragged),4,214,
+agent_(artist),1,214,
+addison_(frisky_ferals),4,214,
+96tning,1,214,96k-k
+windmill,0,213,
+whatsapokemon,1,213,
+wanikami,1,213,
+waddle_dee,5,213,
+upside_down_penis,0,213,"upside-down_penis,upsidedown_penis"
+unwilling_pred,0,213,
+ty_conrad,4,213,
+thunderfap,1,213,zeolightning
+threek,1,213,therita3k
+swaybat,1,213,
+skygracer,1,213,sky-gracer
+sam_(kuroodod),4,213,
+roman_numeral,0,213,roman_numerals
+rockstar_games,3,213,"rock_star_games,rock_star_games_inc,rock_star_games_inc.,rock_star_games_incorporated,rock_star_india,rock_star_international,rock_star_leeds,rock_star_lincoln,rock_star_london,rock_star_new_england,rock_star_north,rock_star_san_diego,rock_star_toronto,rock_star_toroto,rockstar_games_inc,rockstar_games_inc.,rockstar_games_incorporated,rockstar_india,rockstar_international,rockstar_leeds,rockstar_lincoln,rockstar_london,rockstar_new_england,rockstar_north,rockstar_san_diego,rockstar_toronto,rockstar_toroto"
+revtilian,1,213,
+raygun,0,213,
+purple_sky,0,213,
+prince-vulpine,1,213,exoticdreamer
+pink_eyewear,0,213,
+offering_collar,0,213,
+nottrevbe,1,213,
+nondelismell,1,213,
+noibat,5,213,
+neighday,1,213,
+museum,0,213,
+market,0,213,
+maleficent,4,213,
+lothar,4,213,
+living_toy,5,213,
+leonin,5,213,
+kukuri,5,213,
+knuckle_up!,3,213,
+khayen,1,213,
+kelpie,5,213,
+jcfox,4,213,
+jaqrabbit_(artist),1,213,
+hololive_en,3,213,
+hind_legs,0,213,
+gynomorph_on_humanoid,0,213,"dickgirl_on_humanoid,gynomorph/humanoid"
+grey_jacket,0,213,gray_jacket
+golduck,5,213,
+flag_design,0,213,
+dstears,1,213,
+dashwood_fox,4,213,dashwood_(foxjump)
+corinoch_(artist),1,213,
+carton,0,213,
+canson,1,213,
+bronzecatworld,1,213,
+boss_lamb_(hladilnik),4,213,
+black_inner_ear_fluff,0,213,
+al_gx,1,213,
+aereous,1,213,
+white_hoodie,0,212,
+water_ripple,0,212,
+water_manipulation,0,212,"aqua_magic,aqua_manip,aqua_manipulation,aquakinesis,aquakinetic,h2o_control,h2o_element_control,h2o_magic,h2o_manip,h2o_manipulation,hydro_control,hydro_element_control,hydro_magic,hydro_manip,hydro_manipulation,hydrokinesis,hydrokinetic,liquid_magic,magic_aqua,magic_water,oxydan_manip,oxydan_manipulation,suiton,water_bending,water_control,water_element_control,water_magic,water_manip,water_release,waterbending"
+vixine_comics,3,212,
+two_tone_thigh_highs,0,212,
+tv_remote,0,212,
+thekite,1,212,
+the_gamercat,3,212,"gamer_cat,gamercat,the_gamer_cat"
+tear_(marking),0,212,"cry_mark,cry_marking,cry_markings,cry_stain_mark,cry_stain_marking,cry_stain_markings,tear_mark,tear_marking,tear_markings,tear_marks,tear_streak_mark,tear_streak_marking,tear_streak_markings,tears_(marking),tears_(markings),tears_mark,tears_marking,tears_markings,tears_marks"
+squid_dog_(changed),4,212,
+spiritd,1,212,
+sinalanf,1,212,
+shiro_uzumaki,4,212,
+shad0w-galaxy,1,212,
+sex_box,0,212,
+roselyn_(twokinds),4,212,
+roni_collins,4,212,
+rogone2,1,212,"qrog,qudy"
+puppet_bonnie_(fnafsl),4,212,
+pride_color_jewelry,0,212,
+price_tag,0,212,
+postal_carrier,0,212,"letter_carrier,mail-man,mail-woman,mail_carrier,mail_man,mail_woman,mail_worker,mailman,mailwoman,mailworker,post_carrier,post_man,post_woman,post_worker,postal_worker,postalworker,postie,postman,postwoman,postworker"
+petsoftthings_(artist),1,212,
+peashooter_(pvz),5,212,"peashooter_(plant_versus_zombies),peashooter_(plant_vs._zombies),peashooter_(plant_vs_zombies)"
+partially_clothed_female,0,212,
+orange_breasts,0,212,
+open_shorts,0,212,
+moblin,5,212,
+madhotaru,1,212,
+macro_focus,0,212,
+lyrics,0,212,
+keffotin,1,212,
+joe123123123,1,212,
+information_label,0,212,
+hyper_knot,0,212,
+huey_duck,4,212,
+holding_guitar,0,212,
+grey_skirt,0,212,gray_skirt
+glowfox,1,212,
+gabu,4,212,
+firefox,3,212,
+elaine_(furryjibe),4,212,
+egg_in_mouth,0,212,
+dojo,0,212,
+deusexmoose,1,212,helsing
+dbruin,1,212,
+dark_ishihara,1,212,
+cruelpastry,1,212,
+coco_(animal_crossing),4,212,
+cassie_(dragon_tales),4,212,
+buteo,5,212,
+blackteagan,1,212,teagan_gavet
+bellsprout,5,212,
+ball_inflation,0,212,
+ariel_(disney),4,212,
+aipeco18,1,212,
+xenthyl,1,211,
+whooo-ya,1,211,
+warning,0,211,
+victreebel,5,211,
+vanzard,1,211,"vanzard_(artist),viciov,viciov_(artist)"
+vant_talon,1,211,
+touching_own_leg,0,211,
+surprise_(pre-g4),4,211,surprise_(mlp)
+staggered_grid_layout,0,211,
+square_pupils,0,211,
+spooky's_jump_scare_mansion,3,211,"spooky's_house_of_jump_scares,spooky's_house_of_jumpscares,spooky's_jumpscare_mansion"
+spirited_away,3,211,sen_to_chihiro_no_kamikakushi
+sorrynothing,1,211,
+skin_folds,0,211,
+secrets-from-dark,1,211,
+sarek_aran_desian,1,211,
+rinzy,1,211,
+recolor,0,211,recolour
+mule,5,211,
+mrchasecomix,1,211,
+mocking,0,211,
+mistystriker,1,211,
+medic_(team_fortress_2),4,211,
+mechanophilia,0,211,
+lucifer_(helltaker),4,211,
+kyle_(animal_crossing),4,211,
+hoity_toity_(mlp),4,211,hoity_toity
+hissing,0,211,
+grolarbearsins,1,211,
+good_cheese,3,211,
+gin_(blackfox85),4,211,
+fakeveelution,5,211,
+doomington,1,211,
+cupid,4,211,
+cum_in_diaper,0,211,
+cosmic_flesh,0,211,
+christian_symbol,0,211,"christian_symbols,christianity_symbol,christianity_symbols"
+burrserk,1,211,painis18
+breastfeeding_during_sex,0,211,
+blue_bandanna,0,211,
+binturong,5,211,bearcat
+avioylin,1,211,
+arcee,4,211,
+araneomorph,5,211,"araneomorphae,labidognatha,labidognathan"
+alcoholic_drink,0,211,
+adira_riftwall,4,211,adira_(twokinds)
+accidentally_gay,0,211,
+$,0,211,
+woadedfox,1,210,
+vaginal_egg_insertion,0,210,
+tongue_grab,0,210,
+toe_outline,0,210,
+tirrel,1,210,
+tinval,4,210,
+tiger1001,1,210,
+swedishsnus,1,210,
+super_sonic,4,210,
+sumeriandragon,1,210,
+string_lights,0,210,
+staraptor,5,210,
+spiked_belt,0,210,
+sparklecat,5,210,
+runescape,3,210,
+ribbonjob,0,210,
+real_world,3,210,
+predator_(disambiguation),6,210,predator
+pink_fingernails,0,210,
+peter_pete_sr.,4,210,
+pentagram_harness,0,210,
+partially_behind_glass,0,210,
+notbad621,1,210,
+noblewolfa,1,210,vittorionobile
+nihea_avarta,4,210,
+neosavias,1,210,avias_(artist)
+nayaa,1,210,"nayaase_beleguii,nayaasebeleguii,zapotecdarkstar"
+mismatched_ears,0,210,
+magica_de_spell,4,210,
+luccatoasty,1,210,
+low_wall,0,210,
+lesspie,1,210,
+leroy_(lilo_and_stitch),4,210,"experiment_629,leroy_(l&s),leroy_(las),leroy_(leroy_&_stitch),leroy_(leroy_and_stitch),leroy_(lilo_&_stitch),leroy_(stitch)"
+lemmy_koopa,4,210,"lemmy_(koopa),lemmy_(mario)"
+lei-lani,4,210,
+leaning_on_table,0,210,
+kodi_(balto),4,210,
+kaneru,1,210,
+jakethegoat_(character),4,210,
+jabberwockychamber,1,210,
+hotdiggedydemon,1,210,"jappleack,max_gilardi"
+hear_(artist),1,210,"pbrown,pbrown_(artist)"
+harvey_beaks,3,210,
+grungecandy,1,210,toxic_neon_shayde
+grid,0,210,
+forced_kiss,0,210,forced_kissing
+fishnet_thigh_highs,0,210,
+fetishame,1,210,
+exposed_testicle,0,210,ball_exposure
+darkmor,3,210,
+cravat,0,210,
+concave_(artist),1,210,
+coiled_tail,0,210,
+challenge,0,210,
+bubsy_(series),3,210,
+blood_on_leg,0,210,
+blender_cycles,3,210,
+benjipaws,1,210,
+artlegionary,1,210,
+artbyyellowdog,1,210,matheusrosa94
+anal_egg_insertion,0,210,
+acethebigbadwolf,1,210,
+wooper,5,209,
+window_seat,0,209,
+werethrope,1,209,
+wagnermutt,1,209,
+uochandayo,1,209,
+twistedhound,1,209,
+the_muppet_show,3,209,
+target_miss,3,209,
+syukapong,1,209,
+standing_69_position,0,209,standing_69
+spray_can,0,209,
+spookable,1,209,
+sophiecabra,1,209,
+slate,1,209,
+shriekingmagpie,1,209,
+showkaizer,1,209,
+shame,0,209,
+red_knot,0,209,
+realistic_penis_size,0,209,
+raaggu,1,209,らあっぐ
+purplelemons,1,209,
+puppy_eyes,0,209,puppy_dog_eyes
+pulling_clothing,0,209,
+pride_color_piercing,0,209,
+pokemon_snap_xxx,3,209,
+penny_fenmore,4,209,
+nekokagebevil,1,209,"jyunintoiro,獣人といろ"
+naïve,0,209,naive
+navy,0,209,
+multiple_birth,0,209,
+monotone_chest,0,209,
+miyamoto_usagi,4,209,
+lolly_(animal_crossing),4,209,
+liontaro,1,209,kotaro91
+lifted_by_tail,0,209,
+krypto_the_superdog,3,209,
+icewing_(wof),5,209,
+hunter_x_hunter,3,209,
+human_on_top,0,209,
+heart_topwear,0,209,
+hammer_brothers,5,209,hammer_bros
+hair_bell,0,209,
+gumdramon,5,209,
+goblinhordestudios,1,209,
+furdo,1,209,
+extreme_dinosaurs,3,209,
+exo,5,209,
+emotional,0,209,
+drool_on_feet,0,209,
+cum_on_eye,0,209,
+combusken,5,209,
+caramelcraze,1,209,
+caradhina,4,209,
+captain_jerkpants,1,209,
+braviary,5,209,wargle
+boulevard,1,209,
+bimbo_lip,0,209,
+backyard,0,209,
+arthropod_abdomen_anus,0,209,"abdomen_anus,insect_abdomen_anus,invertebrate_abdomen_anus"
+aria_blaze_(eg),4,209,
+agent_8_(splatoon),4,209,
+against_table,0,209,
+yogi_bear,3,208,
+wool_(disambiguation),6,208,"fleece,wool,woolie,woolly,wooly"
+whiteboard,0,208,markerboard
+utopianvee,1,208,
+ursine_humanoid,5,208,
+turk128,1,208,
+tenebscuro,1,208,
+tales_of_(series),3,208,
+shydale,1,208,"darkdale,fshydale"
+shared_speech_bubble,0,208,
+seaward_skies,4,208,
+scaliepunk,1,208,
+saitama_seibu_lions,3,208,
+rubella_the_worgen,4,208,
+regalia,0,208,
+pregnant_andromorph,0,208,pregnant_cuntboy
+pepper_clark,4,208,
+penis_bondage,0,208,bound_penis
+paul_lucas,1,208,paul-lucas
+office_clothing,0,208,office_clothes
+multicolored_dress,0,208,
+multi_anus,0,208,"multi-anus,multi_anuses,multiple_anus,multiple_anuses"
+locket,0,208,
+kiske_7key,1,208,"rustedhorizon,きすく,七鍵きすく"
+khaleesi,1,208,
+kate_(alpha_and_omega),4,208,
+its-holt,1,208,
+iliekbuttz,1,208,darkmagician1212
+holding_calf,0,208,
+group_birth,0,208,
+fallen_angel,5,208,
+einshelm,1,208,onemoreremedy
+dust_cloud,0,208,
+dormitory,0,208,dorm
+della_duck,4,208,
+dance_shoes,0,208,"dance_shoe,dancing_shoe,dancing_shoes"
+cofagrigus,5,208,
+christmas_light_bondage,0,208,
+choreuny,1,208,
+black_armor,0,208,
+biozs,1,208,"baio_zensen,gigaimpact,バイオ前線"
+beluga,5,208,beluga_whale
+bamboo_tree,0,208,
+aptom7747,1,208,
+anime-aniacs,3,208,
+andrey_4k,1,208,revan1989_4k
+zinnick,1,207,
+yellow_pants,0,207,
+wolfywetfurr,4,207,
+white_coat,0,207,
+werecat,5,207,were-cat
+unpopularwolf,1,207,
+unidentified-tf,1,207,
+typing,0,207,
+towel_on_head,0,207,
+tiri_mama,1,207,
+tangela,5,207,
+straydog,1,207,
+stepping,0,207,
+squish_(sound_effect),0,207,
+sophie_slam,4,207,
+sneaky,0,207,
+snake_(petruz),4,207,
+sharkrags,1,207,
+shamrock_(lysergide),4,207,
+seraph,1,207,
+selianth,1,207,
+sekk'ral,4,207,
+sable_(marten),5,207,
+rue_(the-minuscule-task),4,207,rue_(the-miniscule-task)
+ronnie92,1,207,"muhboobz,ronniefinn,ronniesponies"
+rennin,4,207,
+presenting_panties,0,207,
+plant_pred,0,207,
+pilot_saluki_(cuphead),4,207,
+pewas,1,207,
+pete_(disney),4,207,
+outlet,0,207,
+nanodarkk,1,207,
+multicolored_gloves,0,207,
+max_(hoodie),4,207,
+marika_(teer),4,207,
+leo_(velociripper),4,207,
+lena_(ducktales),4,207,
+kredri,1,207,gigren_(artist)
+kita_9999,1,207,
+king_julien,4,207,
+jishinu,1,207,
+jimnsei,1,207,
+jasiri_(tlg),4,207,
+insomniac_games,3,207,
+hashdrawingslasher,1,207,
+handkerchief,0,207,
+hand_on_diaper,0,207,
+g3mma,1,207,
+foxy-rena,4,207,foxy_rena
+fox_mask,0,207,kitsune_mask
+fossa666,1,207,
+flight_suit,0,207,
+flame_pattern,0,207,flames_pattern
+fionthebunny,1,207,
+finalofdestinations,1,207,
+fatal_fury,3,207,
+erune,5,207,
+eleanor_miller,4,207,eleanore_miller
+domzywomzy,1,207,domzywomzy12
+deku_scrub,5,207,
+czu,1,207,
+crestfallenartist,1,207,soundi
+coprophilic_intercourse,0,207,"scat_fucking,shit_fucking"
+cocampplus,1,207,
+cloacalingus,0,207,"cloaca_lick,cloaca_licking,cloacal_lick,cloacal_licking,licking_cloaca"
+celebration,0,207,
+bunnicula_(series),3,207,
+blue_stockings,0,207,
+azure_(bluedude),4,207,
+aogitsune_jitto,1,207,tillsit3142
+ah_club,3,207,
+yshanii,1,206,
+yossi,4,206,
+winterrock_(partran),3,206,
+verawitch,1,206,momomistress
+urine_on_balls,0,206,
+unusual_ovum,0,206,
+toybox_pals,3,206,
+tail_warmer,0,206,
+studded_belt,0,206,
+sp_advanced,1,206,
+ripped-saurian,1,206,
+redxbacon,1,206,
+ragujuka,1,206,achi
+quaxly,5,206,
+pride_color_legwear,0,206,"pride_colors_legwear,pride_colour_legwear,pride_colours_legwear,pride_flag_legwear,pride_legwear"
+on_model_audio,0,206,
+ofuda,0,206,
+officer_fangmeyer,4,206,fangmeyer
+norphen,1,206,
+noitro,1,206,
+noah_(downthehatch),4,206,
+mrxrickyx,1,206,
+monian,1,206,monianart
+mind_flayer,5,206,"ilithid,illithid,mindflayer"
+milo_stefferson,4,206,
+long_fingers,0,206,
+lobster,5,206,"homarid,homaridae,lobsters,nephropid,nephropidae"
+lime,0,206,
+jean_(minecraft),4,206,jean?
+jacket_only,0,206,
+hoopa_(confined),5,206,hoopa_confined
+head_between_thighs,0,206,
+furry_tail,0,206,fur_tail
+flirting_with_viewer,0,206,
+electabuzz,5,206,
+drunk_sex,0,206,
+drayk,3,206,
+doge,4,206,
+denisse,4,206,
+crayon_(artwork),7,206,crayon_art
+club_(disambiguation),6,206,club
+cloacal_masturbation,0,206,cloaca_masturbation
+class,0,206,
+blood_from_eye,0,206,"bleeding_eye,bleeding_eyes,blood_from_eyes"
+bent_over_table,0,206,
+basketgardevoir,1,206,
+bandaid_protagonist_(tas),4,206,
+autorimming,0,206,
+air_tank,0,206,
+>:),0,206,
+yoshizaurusu_n,1,205,
+vixey,4,205,
+ty_hanson,4,205,
+tobi_(nimzy),4,205,
+text_in_heart,0,205,
+teathekook,1,205,
+taurika,1,205,"taurika_(artist),taurikadark,taurikadark_(artist)"
+striped_back,0,205,
+stats,0,205,
+sparrow,5,205,
+snap,0,205,
+rocketgirl,4,205,
+pyredaemos,1,205,
+propeller_hat,0,205,
+portal_fleshlight,0,205,
+porch,0,205,
+pomf,0,205,
+pixel,0,205,
+oasis,0,205,
+nyanyakotarou,1,205,
+nunchaku,0,205,"nunchuck,nunchucks"
+neksu,1,205,
+ms._chalice,4,205,the_legendary_chalice
+mismatched_wings,0,205,
+menacing_(disambiguation),0,205,menacing
+maxydont,1,205,
+lemoco,1,205,
+kyubey,4,205,
+kinkykong,1,205,
+holding_hairbrush,0,205,
+hands_on_arms,0,205,
+hand_on_pecs,0,205,
+grey_exoskeleton,0,205,gray_exoskeleton
+green_kerchief,0,205,
+green_hands,0,205,
+gazpacho,1,205,gazpacho_(artist)
+flutterthrash,1,205,
+flag_(shape),0,205,
+fenrir_(housamo),4,205,
+fairwind,1,205,
+face_focus,0,205,
+dog_treat,0,205,"dog-biscuit,dog-biscuits,dog-treat,dog-treats,dog_biscuit,dog_biscuits,dog_treats,dogbiscuit,dogbiscuits,doggie-biscuit,doggie-biscuits,doggie-treat,doggie-treats,doggie_biscuit,doggie_biscuits,doggie_treat,doggie_treats,doggiebiscuit,doggiebiscuits,doggietreat,doggietreats,doggy-biscuit,doggy-biscuits,doggy-treat,doggy-treats,doggy_biscuit,doggy_biscuits,doggy_treat,doggy_treats,doggybiscuit,doggybiscuits,doggytreat,doggytreats,dogtreat,dogtreats"
+digitalpelican,1,205,
+devilchild,5,205,
+d20,0,205,
+calf_grab,0,205,
+cables,0,205,
+blake_belladonna,4,205,blake_belladonna_(rwby)
+bisexual_train,0,205,
+bendy_the_dancing_demon,4,205,"bendy,bendy_(batim)"
+aurancreations,1,205,
+airport,0,205,
+wall_clock,0,204,
+valoo,4,204,
+two_tone_briefs,0,204,
+turret,0,204,
+sunken_seat,0,204,
+stretchy,0,204,
+stradivarius,1,204,
+staffkira2891,1,204,
+smile_pretty_cure,3,204,smile_precure!
+simipour,5,204,
+shirokuma_cafe,3,204,
+shaorune,4,204,
+sailing_watercraft,0,204,"sailing_rig,sailing_vessel,sailing_water_craft"
+reploid,5,204,
+raised_head,0,204,"head_lift,head_lifted,head_lifting,head_raised,head_up,lift_head,lifted_head,lifting_head"
+rainwing_(wof),5,204,
+papercraft,0,204,
+opal_(jellydoeopal),4,204,
+monster_high,3,204,
+mary_senicourt,4,204,mrs._senicourt
+markus_(dowantanaccount),4,204,murrkus
+malfaren,4,204,
+izvy_(artist),1,204,
+iscream_(chikn_nuggit),4,204,
+incest_play,0,204,
+igiveyoulemons,1,204,
+hyper_feet,0,204,"hyper_foot,hyper_paw,hyper_paws"
+hobbes,4,204,
+gangster,0,204,
+feral_with_hair,0,204,
+dylan_(zourik),4,204,
+dewwydarts,1,204,
+dark-ahroun-friesian,1,204,
+chipposter,1,204,
+boa_(clothing),0,204,
+black_bow_tie,0,204,
+angela_(gargoyles),4,204,
+anal_hook,0,204,
+zaftigbunnypress,1,203,
+yellow_(shiro-neko),4,203,
+yang_(artist),1,203,"yang738,yin738"
+xuan_sirius,1,203,
+wooden_chair,0,203,
+vilepluff,1,203,robbonp
+toonbat,1,203,
+thigh_stockings,0,203,
+thehuntingwolf,1,203,
+sue_(peculiart),4,203,
+snk,3,203,
+rick_(ratcha),4,203,
+red_membrane,0,203,
+red_lightsaber,0,203,
+red_breasts,0,203,
+rampage0118,1,203,
+pkaocko,1,203,
+penis_envy,0,203,
+pancarta,1,203,
+paddedulf,1,203,
+ninjakitty,1,203,ninja_kitty
+nidalee_(lol),4,203,
+negligee,0,203,
+my_neighbor_totoro,3,203,tonari_no_totoro
+modular,0,203,
+mel21-12,1,203,
+malachi,1,203,"briona_campbell,odylic-force,odylic_force"
+loving_reaper,3,203,
+light_horn,0,203,
+lifting_partner,0,203,
+lifting_another,0,203,
+knifeh,1,203,
+kieran,4,203,
+jenny_jinya,1,203,
+image_comics,3,203,
+igphhangout,1,203,
+hyenafur,3,203,
+hottophoto,1,203,
+goron,5,203,
+football_player,0,203,
+ffog,1,203,
+feral_on_taur,0,203,"f/o/t,feral/taur,t/o/f,taur/feral,taur_on_feral"
+father_hill,1,203,
+elizabeth_(bioshock_infinite),4,203,
+easter_balls,0,203,
+drain,0,203,
+demonkussh,1,203,
+curiodraco,1,203,"tamaris-tt,twistedtails"
+butt_slam,0,203,
+buddy_thunderstruck_(series),3,203,buddy_thunderstruck
+boosette,4,203,
+bomberman,3,203,
+berry_ranieri,4,203,
+bendzz,1,203,
+artificial_insemination,0,203,insemination
+anothermeekone,1,203,
+zacianswords,1,202,"mayo1nomor1,the_lost_artist"
+za-owl,1,202,
+woebeeme,1,202,
+vulgar,0,202,
+valkyr_(warframe),4,202,
+unitard,0,202,
+transformation_ring,0,202,hoop_tf
+toying,0,202,
+spring,0,202,
+skarmory,5,202,
+scrooge_mcduck,4,202,
+scalpel,0,202,"bistoury,lancet_(surgery),lancet_(surgical),medical_lancet,scalpels,surgical_lancet"
+sanny,1,202,
+redhand,1,202,
+razy,1,202,"zero_gravity666,石村怜治"
+raptoral,1,202,
+qnaoz_(commissioner),3,202,
+ptcmtr,1,202,
+poker_chip,0,202,poker_chips
+picti,1,202,
+permanent_chastity_device,0,202,permanent_chastity
+open-back_leotard,0,202,
+oculama,0,202,
+n_(pokémon),4,202,"n_(pokemon),natural_harmonia_gropius"
+maku_(maku450),4,202,
+makari,4,202,
+mabel_pines,4,202,
+looking_at_hand,0,202,
+long_whiskers,0,202,
+long_pseudo_hair,0,202,
+lonewolf_(343),1,202,
+japanese_kobold,5,202,
+heracross,5,202,
+heart_collar_tag,0,202,"<3-shaped_collar_tag,<3_collar_tag,<3_shaped_collar_tag,heart-shaped_collar_tag,heart_shaped_collar_tag,hearts-shaped_collar_tag,hearts_collar_tag,hearts_shaped_collar_tag"
+hand_on_own_face,0,202,
+gum,0,202,
+goliath_(gargoyles),4,202,goliath
+ginger,0,202,
+ginga_densetsu_weed,3,202,
+flame_princess,4,202,
+fight_(artist),1,202,
+doctor_artemis,1,202,
+delicious_(artist),1,202,
+daemont92,1,202,
+d685ab7f,1,202,
+cum_from_navel,0,202,cum_out_navel
+concrete,0,202,
+chanrom,1,202,
+bucerotiform,5,202,bucerotiforme
+borba,1,202,
+bendy_straw,0,202,
+bakemonoy,1,202,
+ayden_(brogulls),4,202,
+arabesque,1,202,arabesque_cat
+adondis,1,202,
+340m/sec,1,202,
+zhadart,1,201,
+wrapped_up,0,201,
+wolfyalex96,1,201,
+tres-art,1,201,
+timidwithapen,1,201,
+thumb_suck,0,201,"sucking_thumb,thumb_sucking"
+teamacorn,1,201,
+standing_over,0,201,
+spacecolonie,1,201,
+smoothlabs,1,201,
+rhari,1,201,
+rescue,0,201,
+red_perineum,0,201,
+red_foreskin,0,201,
+queue,0,201,
+prsmrti,1,201,
+pollo-chan,1,201,
+pink_cum,0,201,
+pillow_grab,0,201,
+pheagle,4,201,
+penis_lineup,3,201,
+orange_kerchief,0,201,
+orange_jumpsuit,0,201,
+ohs688,1,201,
+notglacier,1,201,"glacierfricker,glacierponi,keponii"
+natsume_(tooboe_bookmark),4,201,
+mrs.mayhem,4,201,
+modeus_(helltaker),4,201,
+minerea,1,201,pinkdragonlove
+measureup,3,201,
+long_beard,0,201,
+kiasano,3,201,
+jk,1,201,
+infernal-beggar,1,201,
+impact_lines,0,201,
+hula,0,201,
+hua113,1,201,
+hecarim_(lol),4,201,
+hal_greaves,4,201,
+fuckie,1,201,
+estella_(zummeng),4,201,
+dyed_fur,0,201,
+dtz_(cdrr),4,201,dtz
+dinkysaurus,1,201,dnk-anais
+cranihum,1,201,
+cookie_run,3,201,
+convention,0,201,
+coltron20,3,201,
+catheter,0,201,
+canary,5,201,
+burning_building,0,201,
+bra_down,0,201,
+bpq00x,1,201,
+blyzzarde,1,201,
+blen_bodega,1,201,regret_everything
+belly_chain,0,201,
+azir_(lol),4,201,azir_(league_of_legends)
+astrid_hofferson,4,201,astrid_(httyd)
+anus_peek,0,201,
+animalympics,3,201,
+actionbastardvirginblstr,1,201,him_that_guy
+zoran,4,200,
+zipper_jumpsuit,0,200,
+whoop,1,200,whoopscloplockbox
+visiti,1,200,
+tufted_ears,0,200,
+trololohstuffs,1,200,
+toshabi,1,200,
+tiffany_valentine,4,200,
+the_end,0,200,
+talash,4,200,
+sylvia_marpole,4,200,
+strigiformes,1,200,strigifor
+streetdragon95,1,200,
+sprinkah,1,200,
+spiked_armor,0,200,
+solid_snake,4,200,
+slenderman,4,200,
+skywing_(wof),5,200,
+shocked_face,0,200,
+sex_during_birth,0,200,
+sebrina_arbok,4,200,
+ruby_(jewelpet),4,200,ruby_(jewel_pet)
+red_armor,0,200,
+rangarig,1,200,
+purple_exoskeleton,0,200,
+pride_color_underwear,0,200,"pride_colors_underwear,pride_colour_underwear,pride_colours_underwear,pride_flag_underwear,pride_underwear"
+pommn_mn,1,200,
+plant_tentacles,0,200,
+peeing_on_face,0,200,
+pearl_(boolean),4,200,
+oselotti_(character),4,200,
+nyarai_(furryfight_chronicles),4,200,
+norasuko,1,200,
+nodding,0,200,
+netherwulf,1,200,
+mr._peabody_and_sherman,3,200,mr_peabody_and_sherman
+mr._peabody,4,200,"mr_peabody,peabody"
+moon_lace,3,200,
+mochashep,1,200,
+milligram_smile,1,200,milligramsmile
+mantrin,5,200,sogowan
+lil_scooter56,1,200,
+light_feet,0,200,
+leviathan_(skullgirls),4,200,
+last_origin,3,200,
+kitsunebi,0,200,
+kitchen_knife,0,200,
+kathy_(danellz),4,200,
+k.m._(krautimercedes),4,200,
+jewel_(rio),4,200,
+j_axer,1,200,jayaxer
+hu_ku_li_(milkytiger1145),4,200,
+hidden_(artist),1,200,
+gushing,0,200,
+green_legs,0,200,
+goombella,4,200,
+gerudo_outfit,0,200,
+gao_(fuze),4,200,
+furniture_lamp,0,200,"bedside_lamp,desk_lamp,table_lamp"
+footprints,0,200,
+flash_draw,1,200,
+final_fantasy_viii,3,200,
+expression_avatar,0,200,
+echoen,4,200,
+dog_boy_(berseepon09),4,200,dog_boy(berseepon09)
+dirty_clothing,0,200,
+devon_(frisky_ferals),4,200,
+demanding,0,200,
+cult,0,200,
+changing_table,0,200,
+broodmother,0,200,
+brianna_(kitfox-crimson),4,200,
+blood_stain,0,200,
+blaze-lupine,1,200,
+black_briefs,0,200,
+banknote,0,200,"bank_note,bank_notes,banknotes,dollar_bill,dollar_bills,paper_money"
+arabian,0,200,
+alfredblaze,1,200,
+3_horns,0,200,"3-horn,3-horned,3-horns,3_horn,3_horned,three-horn,three-horned,three-horns,three_horn,three_horned,three_horns,tri_horn,tri_horned,tri_horns,trihorn,trihorned,trihorns,triple_horn,triple_horned,triple_horns"
+11:6,7,200,
+white_flower,0,199,
+vir-no-vigoratus,1,199,
+teary_eyes,0,199,
+tan_mane,0,199,
+tan_horns,0,199,
+tai_lung_(kung_fu_panda),4,199,tai_lung_(kfp)
+super_mario_rpg_legend_of_the_seven_stars,3,199,"legend_of_the_seven_stars,super_mario_role-playing_game,super_mario_role_playing_game,super_mario_roleplaying_game,super_mario_rpg,super_mario_rpg:_legend_of_the_seven_stars"
+stupidgnoll,1,199,
+sleigh,0,199,
+sallyhot,1,199,
+rodicle,1,199,
+riz_(beastars),4,199,
+redwolfxiii,1,199,redwolfxlll
+pukaa,1,199,joswigei
+propeller,0,199,
+power_lines,0,199,
+pherokinesis,0,199,"feromonikinesis,pheromonal_control,pheromonal_manipulation,pheromone_control,pheromone_manipulation"
+overflo207,1,199,
+noir,0,199,
+na'vi,5,199,navi_(species)
+mrrrn,1,199,
+morton_koopa_jr.,4,199,"morton_(koopa),morton_(mario),morton_koopa,morton_koopa_jr,morton_koopa_junior"
+master_chief,4,199,
+maple_town,3,199,
+maehdoggie,1,199,
+hypnotizing_viewer,0,199,
+hoof_hands,0,199,
+honchkrow,5,199,
+holding_wrist,0,199,
+holding_fruit,0,199,
+head_insertion,0,199,
+gyroid,5,199,
+green_bra,0,199,
+givo,1,199,
+flooding,0,199,
+fekkri_talot,4,199,
+facelessjr,1,199,niggerfaggot
+ethanqix,1,199,
+enfield,5,199,
+dustox,5,199,
+drake_(zerofox),4,199,
+dim_lighting,0,199,
+diarrhea,0,199,
+dewgong,5,199,
+dcheese,1,199,
+cthugha_(tas),4,199,
+contest,0,199,
+coffeewithdicks,1,199,
+chickenhawk,5,199,"chicken_hawk,hen_hawk"
+chaba,1,199,"otyappa2,ちゃば"
+cameron_(skunkdude13),4,199,skunkdude13_(character)
+bonkers_(series),3,199,
+bmayyneart,1,199,
+behind-space,1,199,ushiro_no_kukan
+arrowed,0,199,
+amaverse,3,199,
+>:(,0,199,
+zuboboz,1,198,
+wingull,5,198,
+waffle,0,198,
+vega_(artica),4,198,
+trailssfm,1,198,
+taking_turns,0,198,
+tail_grapple,0,198,
+sparx,4,198,
+sona_(lol),4,198,sona_(league_of_legends)
+snot_bubble,0,198,
+shiverz,1,198,
+shell_(projectile),0,198,"artillery_shell,bullet_shell"
+selene_(pokémon),4,198,"moon_(pokemon),moon_(pokémon),selene_(pokemon)"
+rufciu,1,198,
+role-playing_game,0,198,role_playing_game
+requiemdusk,1,198,"optionaltypo,typo_(artist)"
+remmmy,4,198,
+reiko_usagi,4,198,
+redimplight,1,198,
+public_urination,0,198,
+plant_monster,5,198,
+phurie,1,198,cauldroneer
+new_faraden,5,198,
+necromancer,0,198,
+muzzle_scabs,0,198,"muzzle_scab,scabbed_muzzle"
+minami_(artist),1,198,
+milk_bottle,0,198,
+maggot,5,198,maggots
+kisha,4,198,
+kakhao,1,198,
+jimmy_(jamearts),4,198,
+ishoka,1,198,
+hevexy,1,198,
+here_there_be_dragons,3,198,
+head_in_ass,0,198,
+hands_on_stomach,0,198,
+gynomorph_on_anthro,0,198,"anthro/dickgirl,dickgirl_on_anthro,gynomorph/anthro"
+florence_ambrose,4,198,
+ethereal_tail,0,198,
+engineer_(team_fortress_2),4,198,
+discordmelody,1,198,
+debirobu,1,198,"gurandoherutu,デビロブ"
+crucifix,0,198,
+costom10,1,198,炽子
+claw_growth,0,198,
+cherrim,5,198,
+blissful_mouth,0,198,
+arachne,5,198,
+amoeba_(organism),5,198,
+afnet_(clothing),0,198,
+welost,1,197,
+vibrator_on_pussy,0,197,
+turban,0,197,
+traced,7,197,"trace,tracing"
+thelupinprincess,1,197,
+split_color,0,197,
+sounding_beads,0,197,
+smoking_tobacco,0,197,
+sloppy,0,197,
+shibatanukiti,1,197,
+seawing_(wof),5,197,
+saltcore,1,197,
+robertge,1,197,
+pussy_juice_on_pussy,0,197,
+procy,4,197,
+prey,0,197,
+precum_squirt,0,197,shooting_pre
+pony_dreaming,1,197,
+platform_standing_doggystyle,0,197,
+percussion_mallet,0,197,
+overalls_only,0,197,
+oddrich,1,197,
+my_melody,4,197,
+motion_path,0,197,
+meryiel,1,197,
+melloque,1,197,
+masamaki,1,197,
+loxchi,1,197,
+laser_gun,0,197,
+keovi,1,197,"jaycee_kerr,yamaneko"
+kentuckiyucki,1,197,
+kenkou_cross,1,197,kenkou_kurosu
+incubator_(puella_magi),5,197,"incubator_(madoka),incubator_(pmmm),incubator_(puella_magi_madoka_magica),madoka_incubator"
+headscarf,0,197,
+grabbing_head,0,197,
+grabbing_arm,0,197,
+gieeg,5,197,
+gaturo,1,197,"gatodelfuturo,gatodelfuturo_(artist),gaturo_(artist)"
+gamecube_controller,0,197,
+frilly_dress,0,197,frilled_dress
+focused,0,197,
+flag_on_wall,0,197,
+farfetch'd,5,197,"far_fetch'd,far_fetchd,far_fetched_(pokemon),far_fetched_(pokémon),farfetchd,farfetched_(pokemon),farfetched_(pokémon)"
+dorian-bc,1,197,the-overfiend
+digivice,0,197,
+deviantart,3,197,
+cum_on_lower_body,0,197,
+cuchuflin,1,197,
+crocodiler_owen,1,197,
+coonkun,1,197,
+control_collar,0,197,"hypnosis_collar,hypnotic_collar"
+cocoline_(artist),1,197,
+bulk_biceps_(mlp),4,197,"roid_rage_(mlp),snowflake_(mlp)"
+bubsy,4,197,
+bonnie_(lilo_and_stitch),4,197,"bonnie_(l&s),bonnie_(las),bonnie_(lilo_&_stitch),bonnie_(stitch),experiment_149"
+bludraconoid,1,197,blumagpie
+awoo,0,197,
+ambiguous_on_feral,0,197,"ambiguous/feral,feral/ambiguous,feral_on_ambiguous"
+up1ter,1,196,
+tree_house,0,196,"tree_houses,treehouse,treehouses"
+touching_hip,0,196,
+thrust,0,196,
+thong_aside,0,196,
+thehelmetguy,1,196,
+tentacle_cilia,0,196,
+tcw,1,196,truenorth
+talonflame,5,196,
+tail_fluff,0,196,
+sukiya,1,196,
+strapon_fellatio,0,196,"strap-on_fellatio,strap_on_fellatio"
+stealthnachos,1,196,
+skye_(animal_crossing),4,196,
+skyart301,1,196,skyline19
+sis_(fyoshi),4,196,sis_(character)
+sidra_romani,4,196,
+side_belly,0,196,
+shark_fin,0,196,
+scarlet_macaw,5,196,aracanga
+sandra_(roanoak),4,196,
+rita_(disney),4,196,
+rikki,4,196,
+regu,4,196,
+rd406,1,196,
+puffy,0,196,
+pfh,1,196,
+pawprint_tattoo,0,196,paw_tattoo
+parallel_speed_lines,0,196,
+orange_swimwear,0,196,orange_swimsuit
+onyx_(jmh),4,196,
+nox_(artist),1,196,neum
+nose_blush,0,196,
+ninja_kiwi,3,196,
+multicolored_pawpads,0,196,"multi-colored_paw_pad,multi-colored_paw_pads,multi-colored_pawpad,multi-colored_pawpads,multi-coloured_paw_pad,multi-coloured_paw_pads,multi-coloured_pawpad,multi-coloured_pawpads,multi_colored_paw_pad,multi_colored_paw_pads,multi_colored_pawpad,multi_colored_pawpads,multi_coloured_paw_pad,multi_coloured_paw_pads,multi_coloured_pawpad,multi_coloured_pawpads,multicolor_pawpads,multicolored_paw_pad,multicolored_paw_pads,multicolored_pawpad,multicoloured_paw_pad,multicoloured_paw_pads,multicoloured_pawpad,multicoloured_pawpads"
+mature_herm,0,196,mature_hermaphrodite
+masterbrony,1,196,
+makara,4,196,
+infinitydoom,1,196,
+hentype,1,196,
+grape_jelly_(artist),1,196,
+gradient_tail,0,196,
+gatotorii,1,196,gayeon
+fox_ears,0,196,
+flexor_carpi,0,196,
+feyhearts,1,196,tinyfaceart
+exposure_to_minor,0,196,
+exposed_belly,0,196,
+energy_sword,0,196,
+dgemporium,1,196,
+derideal,3,196,
+dead_eyes,0,196,
+dboy,1,196,
+daxhush,1,196,
+daws19,1,196,
+darling_in_the_franxx,3,196,
+cider,0,196,
+chuki,5,196,
+burn,0,196,
+bowman's_wolf,5,196,"bow_man's_wolf,bow_man_wolf,bow_mans_wolf,bowman_wolf,bowmans_wolf"
+blowhole,0,196,
+blackfury,1,196,blackkaries
+big_ball_gag,0,196,
+beherit,1,196,
+augensinum,1,196,
+assassin_shuten-douji,4,196,"assassin_(fate/grand_order_-_shuten-douji),assassin_(fate/grand_order_shuten-douji),assassin_(fate_grand_order_-_shuten-douji),assassin_(fate_grand_order_shuten-douji),assassin_shuten_douji"
+angry_birds,3,196,
+turntable_(decks),0,195,
+thigh_tuft,0,195,
+thestral,5,195,
+theredghost,1,195,
+text_on_t-shirt,0,195,
+striped_neck,0,195,
+stagor55,1,195,
+small_mouth,0,195,
+skiba613,1,195,nastywolf613
+senko-san,4,195,
+rimentus,1,195,
+rimba_racer,3,195,
+re-re,1,195,
+rachael_saleigh,4,195,
+product_placement,0,195,
+penetration_lick,0,195,
+peacock_feather,0,195,"peacock_feathers,peafowl_feather"
+pandora_(artist),1,195,nightmare_(artist)
+mulan_(1998),3,195,mulan_(disney)
+mostly_nude_female,0,195,
+missmixi,1,195,"miss-mixi,mixideer,mixipony"
+missaka,1,195,
+merry_christmas,0,195,
+mechanical_wings,0,195,
+mat,0,195,
+magnificent-arsehole,1,195,magnificentarsehole
+lvlirror,1,195,
+long_beak,0,195,
+kittykage,1,195,
+jizoku,1,195,
+jin_(jindragowolf),4,195,
+jeck,1,195,
+jackboot_ihi,1,195,
+in_cup,0,195,
+impishhyena,1,195,
+ikshun,4,195,
+heart_suit,0,195,
+ghostbusters,3,195,ghost_busters
+fuli,4,195,
+firebrand,4,195,
+delta-eon,1,195,
+curious_cat,3,195,
+cloves_(freckles),4,195,freckles_(freckles)
+chief_komiya,4,195,
+carrying_another,0,195,
+bottom_armor_(lefthighkick),4,195,
+bob-jiggles,1,195,
+blubluumon,1,195,
+bloons_tower_defense,3,195,bloons_td_6
+big_brachioradialis,0,195,
+bean,0,195,
+bandage_on_face,0,195,
+autotailjob,0,195,"auto-tailjob,auto_tailjob"
+arthropod_abdomen_cloaca,0,195,"abdomen_cloaca,insect_abdomen_cloaca,invertebrate_abdomen_cloaca"
+ambient_starfish,5,195,
+allatir,1,195,bloodmissisdeath
+adorableinall,1,195,
+adopted_son,0,195,
+abelisaurid,5,195,
+13:14,7,195,
+yagi_b.,4,194,
+western_zodiac,3,194,
+unzipped_bodysuit,0,194,
+unusual_pussy_juice,0,194,
+traver009,1,194,piard909
+tickling_penis,0,194,
+the_rune_tapper,3,194,
+teenage_mutant_ninja_turtles_(1987),3,194,tmnt_1987
+tangrowth,5,194,
+tan_shirt,0,194,
+taito,3,194,
+tail_on_ground,0,194,
+tachiuo,1,194,
+soul-silver-dragon,1,194,
+skullman777,1,194,
+shorts_only,0,194,
+seniorseasalt,1,194,
+sculpture_(artwork),7,194,
+sacrifice,0,194,
+ritsukaxan,1,194,
+rendered,0,194,
+rasha,4,194,
+rainset,1,194,
+raijin,1,194,"shinobidx,らいじん"
+princess_koopa,4,194,
+pointing_down,0,194,
+pink_tattoo,0,194,pink_tattoos
+performance,0,194,
+peaceful,0,194,
+pattern_bow,0,194,
+orange_juice,0,194,
+on_swim_ring,0,194,
+nyaaa_foxx,4,194,"nyaaa,nyaaafoxx"
+mxl,1,194,
+mordecai_(lemondeer),4,194,
+monmokamoko,1,194,
+moji_(paladins),4,194,
+mishabahl,1,194,
+miau,1,194,maxi_meow
+male_humanoid,0,194,
+magnta,1,194,
+magenta_body,0,194,
+koops,4,194,
+kishū_inu,5,194,"kishu-inu,kishu-ken,kishu_dog,kishu_inu,kishu_ken,kishū-inu,kishū-ken,kishū_dog,kishū_ken"
+k_98,1,194,
+jonas-pride,1,194,
+hail_(medicalbiscuit),4,194,
+grey_nails,0,194,gray_nails
+geno28_(artist),1,194,
+funnel,0,194,
+fluffy_fur,0,194,
+fairy_dragon,5,194,faerie_dragon
+dragoneer_(character),4,194,
+dragon_(dnd),5,194,
+dragon-v0942,1,194,
+desolate,0,194,
+dandelion,0,194,
+cornelius_(odin_sphere),4,194,
+charmy_bee,4,194,
+bulge_lick,0,194,
+boot_(artist),1,194,bootfromtv
+boiful,1,194,
+black_fingerless_gloves,0,194,
+bell_bow,0,194,
+bee_sting,0,194,
+adult_on_child,0,194,
+1pervydwarf,1,194,
+zephyr_breeze_(mlp),4,193,
+zax_(zwalexan),4,193,
+zadirtybish,1,193,
+windragon,5,193,
+victory_(texdot),4,193,
+username,0,193,
+user_message,0,193,
+unusual_coloring,7,193,
+two_tone_socks,0,193,
+treyer,1,193,
+tjpones,1,193,thehorsewife
+tf-sential,1,193,
+spike_(disambiguation),6,193,spike
+song_of_the_south,3,193,
+sneer,0,193,
+smug_expression,0,193,
+sleepover,0,193,
+slappy_squirrel,4,193,
+shardshatter,1,193,
+sex_dungeon,0,193,bdsm_dungeon
+service_height,0,193,"blowjob_height,critical_size"
+sekhmet_(link2004),4,193,
+sandwing_(wof),5,193,
+ricegnat,1,193,
+red_socks,0,193,
+plushtrap_(fnaf),4,193,
+person_as_gift,0,193,
+penis_nuzzling,0,193,
+pedalspony_(artist),1,193,
+pattern_dress,0,193,
+orix_buffaloes,3,193,
+one_page_comic,7,193,
+omenyanozero,1,193,
+nyotaimori,0,193,body_sushi
+novawuff,1,193,
+nightmare-arts,1,193,
+navel_cutout,0,193,
+mr.ink_(artist),1,193,
+mouth_full,0,193,
+monoflax,1,193,
+malaika4,1,193,
+looking_at_own_belly,0,193,
+llametsul,1,193,
+light_switch,0,193,
+komasan,4,193,
+kolkolukija,1,193,
+knocking,0,193,
+kammypup_(artist),1,193,
+juano,1,193,ziude
+ice_dragon,5,193,"frost_dragon,ice_dragoness"
+huge_triceps,0,193,
+holding_pistol,0,193,
+hidden_face,0,193,
+hermesdidit,1,193,
+hand_on_abdominal_bulge,0,193,
+gypsy_vanner,5,193,
+fuuga,4,193,
+flit,1,193,
+flabby_arms,0,193,
+fireball_(disney),3,193,"fireball_(series),fireball_charming"
+feet_on_table,0,193,
+f-ss,1,193,
+dreyk-daro,1,193,
+dorsal_ridge,0,193,spine_ridge
+devil_may_cry,3,193,
+desubox,1,193,
+coffee_table,0,193,
+chest_gem,0,193,
+cervina,4,193,
+celestina,1,193,taasla
+bursting,0,193,
+brown_tongue,0,193,
+bearbox_doodletimes,1,193,
+ball_growth,0,193,testicle_growth
+bakugan,3,193,
+awoo_(ac_stuart),3,193,
+atode_kimeru,1,193,"lo_liero,ローリエ,後で決める"
+arizona_cow_(tfh),4,193,arizona_cow
+anatomically_inaccurate,0,193,
+yellow_hands,0,192,
+woory,1,192,"woory_tama,多摩/うり"
+white_tongue,0,192,
+triple_collaborative_fellatio,0,192,
+too_big,0,192,
+stogiegoatarts,1,192,
+shiver_(splatoon),4,192,
+scratch21,3,192,
+sarah_silkie,4,192,
+riptide_(riptideshark),4,192,
+riku9797,1,192,
+red_tank_top,0,192,red_tanktop
+red_feet,0,192,
+puyo_puyo,3,192,
+purrchinyan,1,192,
+potato,0,192,"potatoe,potatoes"
+polaroid_photo,0,192,
+pink_hooves,0,192,
+penny_(anaugi),4,192,
+penis_under_shirt,0,192,
+one-bar_prison,0,192,
+non-euclidean_masturbation,0,192,
+mulefoot,1,192,
+montimer_(yinller),4,192,
+mario_plus_rabbids_kingdom_battle,3,192,"mario_+_rabbids:_kingdom_battle,mario_+_rabbids_kingdom_battle,mario_x_rabbids,mario_x_rabbids:_kingdom_battle,mario_x_rabbids_kingdom_battle,rabbids:_kingdom_battle,rabbids_kingdom_battle"
+mansion,0,192,
+liteu,1,192,raichiyo
+lion_(steven_universe),4,192,
+lilly_(vimhomeless),4,192,
+laundrymom,1,192,
+lace_bra,0,192,
+kryztar,1,192,crystaltail
+killianwalker,1,192,
+innocence,0,192,
+impracticalart,1,192,
+hypnofood,1,192,"fwudo,fwudo_(artist),hypfoo,hypfoo_(artist),hypnofood_(artist),mesmersnack,mesmersnack_(artist)"
+heart_pattern_panties,0,192,
+gummy_(food),0,192,
+fluffedwings,1,192,
+flicker-show,1,192,
+fleshformomo,1,192,
+facial_spots,0,192,
+evie_(zummeng),4,192,
+ducky_(artist),1,192,
+drossel_von_flugel_(fireball),4,192,"19th_lord_of_uranos'_kingdom's_tempest_domain,19th_lord_of_uranos_kingdoms_tempest_domain,19th_lord_of_uranos_kingdoms_tempest_domain_drossel_juno_vierzehntes_heizregister_furstin_von_flugel,19th_lord_of_uranos_kingdoms_tempest_domain_drossel_juno_vierzehntes_heizregister_fürstin_von_flügel,drossel_juno_vierzehntes_heizregister_furstin_von_flugel,drossel_juno_vierzehntes_heizregister_fürstin_von_flügel,drossel_von_flugel,drossel_von_flügel,the_19th_lord_of_uranos'_kingdom's_tempest_domain,the_19th_lord_of_uranos_kingdoms_tempest_domain"
+dragonasis,1,192,
+dizzymilky,1,192,dizzymilky_(artist)
+darkest_dungeon,3,192,
+dan_darkheart,4,192,
+cupcake992,1,192,cupcakedrawings
+cloud_humanoid,5,192,
+close_to_bursting,0,192,"about_to_blow,about_to_explode,near_bursting"
+clone_wars,3,192,
+cheek_fins,0,192,
+cashier:3,1,192,tgrummy
+captainchaos,1,192,casiichaos
+bow_thigh_highs,0,192,
+bengal_tiger,5,192,
+ben_(roanoak),4,192,
+ball_rope,0,192,"ballrope,balls_rope,ballsrope"
+ayn_(fluff-kevlar),4,192,
+atelid,5,192,"atelidae,atelidaen"
+6_tails,0,192,"6_tailed,six_tailed,six_tails"
+yongdasom,1,191,
+xolotl,4,191,
+tkc2021,1,191,
+tinker_doo,4,191,
+theodore_seville,4,191,
+text_border,0,191,
+t.y.stars,1,191,
+stack_(character),4,191,
+squigga,4,191,
+sonic_and_the_black_knight,3,191,satbk
+she-venom,4,191,
+sewing,0,191,
+robe_only,0,191,
+radasus,1,191,
+pandora's_box,1,191,pandoras_box
+palace,0,191,
+on_phone,0,191,
+number_word,0,191,
+nakimayo,1,191,
+mutual_chastity,0,191,
+mushbun,1,191,mushbun_(artist)
+multicolored_bandanna,0,191,
+monokuma,4,191,monobear
+monara,4,191,
+mittsies,1,191,mittsies_(artist)
+missing_eye,0,191,
+masturbation_through_clothing,0,191,
+light_brown_fur,0,191,
+kartos,1,191,
+karri_aronen,1,191,donotsue
+josé_carioca,4,191,jose_carioca
+jerry_(sing),4,191,
+jaina_proudmoore,4,191,
+intravaginal_penis,0,191,
+hellhound_(mge),4,191,
+hands_on_own_hips,0,191,
+hajime_tanaka_(odd_taxi),4,191,
+generalthunderbat,1,191,
+drjavi,1,191,jhaceituno
+dislyte,3,191,
+detachable_penis,0,191,
+danonymous,1,191,
+danger,0,191,
+crobat_(artist),1,191,goobat
+cream_hair,0,191,
+christomwow,1,191,crazybunny4994
+christmas_topwear,0,191,
+chaos_daemon,5,191,
+casual_masturbation,0,191,
+canadian_flag,0,191,
+boy_scout,0,191,
+black_talons,0,191,
+bioware,3,191,
+big_chest,0,191,
+belsnep,1,191,nelami
+banni_art,1,191,
+apoetofthefall,1,191,
+akamu_ver20,1,191,
+ac_stuart,1,191,
+vocalization,0,190,
+tvma,1,190,
+trucker,0,190,
+transformation_through_kiss,0,190,
+taki_(takikuroi),4,190,
+tabi_socks,0,190,tabi
+suggestive_shirt,0,190,
+strega,1,190,
+sitting_on_desk,0,190,
+satanic,0,190,
+purple_shorts,0,190,violet_shorts
+pngx_(artist),1,190,x6udpngx
+playkids,3,190,
+pink_shorts,0,190,
+phineas_and_ferb,3,190,
+petro_(artist),1,190,
+peryton,5,190,
+pale_body,0,190,
+owlalope,1,190,
+nuzleaf,5,190,
+noob_the_loser,1,190,
+neocoill,1,190,
+molly_cunningham,4,190,
+merffle,1,190,
+linkin_monroe,1,190,
+kingdraws,1,190,
+kat_vance,4,190,
+justin_(ieaden),4,190,
+hole_in_wall,0,190,
+gudlmok99,1,190,
+graded_penis,0,190,
+gab_shiba,4,190,
+four_leaf_clover,0,190,"4-leaf_clover,4_leaf_clover,four-leaf_clover"
+fetus,0,190,"foetus,fœtus"
+festive,0,190,
+fatal_wound,0,190,
+fanning_self,0,190,
+ellistia,1,190,
+electricsnowfox,1,190,
+dizzytizzy,1,190,dizzytizzyprime
+device,0,190,
+destiney_crawford_(thatworgen),4,190,
+curtis_wuedti,1,190,wuedti
+censored_face,0,190,
+cappy_(mario),4,190,
+bypbap,1,190,kubbs
+business_attire,0,190,
+body_invasion,0,190,
+blue_insides,0,190,
+blue_fingernails,0,190,
+black_coat,0,190,
+ahab_(tas),4,190,
+zoohomme,3,189,
+zedrin,1,189,
+yellow_spikes,0,189,
+wolvalix,1,189,
+wolpertinger,5,189,
+windy_dripper,4,189,
+white-devil,1,189,taboolicious
+two_tone_markings,0,189,"two-tone_marking,two-tone_markings,two_tone_marking"
+two_tone_hands,0,189,
+turanga_leela,4,189,
+tsunamidusher,1,189,
+treant,5,189,"ent,living_tree,living_trees,sentient_tree,tree_creature,tree_ent,treeant,treefolk"
+the_smoke_room,3,189,
+thatsexdog,1,189,saxa-san
+super_mushroom,0,189,
+suggestive_dialogue,0,189,
+sonia_the_hedgehog,4,189,
+solo_in_panel,0,189,
+schwarzpelz,4,189,
+scenery_porn,0,189,
+robthehoopedchipmunk,1,189,rob_the_hooped_chipmunk
+reverse_carry_position,0,189,
+requiembeatz,1,189,
+rejection,0,189,rejected
+reiduran,1,189,
+red_fingernails,0,189,
+puinkey_(artist),1,189,
+pin_(disambiguation),6,189,pin
+person_present,0,189,
+nipple_plugs,0,189,nipple_plug
+neokat,1,189,
+moetempura,1,189,
+miphassl,1,189,s0h4r
+marill,5,189,
+lumikin,4,189,
+loupgarou,1,189,loupgarou_(artist)
+living_gasm_drive,5,189,lgd
+lilchu,1,189,
+krazykurt,1,189,krazykurt_(artist)
+keytar,0,189,
+imgonnaloveyou,1,189,
+hell_knight,5,189,
+harumi,1,189,
+groping_crotch,0,189,
+gllorvillain,1,189,
+fused_fingers,0,189,
+foxmode,1,189,
+fklow,1,189,ふくろう
+erection_in_diaper,0,189,
+enrique849,1,189,
+elinor_wonders_why,3,189,
+eggo21,1,189,
+ear_expansion,0,189,
+dust_(elysian_tail),4,189,
+draw_over,7,189,drawover
+dragon_drive,3,189,
+doctor_(arknights),4,189,
+demimond23,1,189,
+death_piss,0,189,
+dark_horn,0,189,
+cum_on_cheek,0,189,
+cow_horn,0,189,cow_horns
+collaborative_handjob,0,189,
+chandelure,5,189,
+centinel303,1,189,ta-na
+blaze-lupine_(character),4,189,
+bargglesnatch-x1,1,189,
+arjuna,1,189,
+anime_eyes,0,189,
+akabane_jin,1,189,"jinya,matra_usagi,あかばね_じん"
+accordion,0,189,
+13:16,7,189,
+yuuya333,1,188,
+yellow_and_white,7,188,white_and_yellow
+yellow_and_black,0,188,
+wizardlywalrusking,1,188,wizardlywalrusking_(artist)
+winston_(overwatch),4,188,
+voodoo_penetration,0,188,
+volga,4,188,
+view,0,188,
+torn_pantyhose,0,188,ripped_pantyhose
+thegeckoninja,1,188,thegeckodemon
+tackle,0,188,
+syberfab,1,188,
+sushirolldragon,1,188,
+steven_stagg,1,188,"roary,sstagg"
+starry_eyes,0,188,
+spring_deerling,5,188,
+spinater,1,188,
+sleeping_together,0,188,
+scouter,0,188,
+savageshark,1,188,
+rubberbuns,1,188,
+predator_penetrating_prey,0,188,
+oversized_sleeves,0,188,
+orange_panties,0,188,
+novsilv,1,188,"tnmrhd0,tonomura_hideo,とのむらひでお"
+nipple_vore,0,188,vore_nipples
+nipple_torture,0,188,
+nexivian,1,188,
+nardoragon,5,188,
+mythological_chimera,5,188,"chimaera_(myth),chimaera_(mythological),chimaera_(mythology),chimera_(myth),chimera_(mythological),chimera_(mythology),chimæra_(myth),chimæra_(mythological),chimæra_(mythology),mythological_chimaera,mythological_chimæra"
+large_female,0,188,
+krackdown9,1,188,
+kitsune_(ero),4,188,
+kali_belladonna,4,188,"kali_beladonna,kali_belladonna_(rwby)"
+jarnqk,1,188,
+indoraptor,5,188,
+imminent_digestion,0,188,
+ibuki_(beastars),4,188,
+hijab,0,188,
+high_heeled_feet,0,188,
+halterneck,0,188,
+halfling,5,188,
+grey_squirrel,5,188,gray_squirrel
+gothwolf,1,188,
+google_chrome,3,188,
+gerbil,5,188,"gerbillinae,gerbilline"
+fuyoudo624,1,188,
+ferrin,5,188,
+female_penetrating_intersex,0,188,fm/p/i
+far_beyond_the_world_(series),3,188,
+esophagus,0,188,
+emikochan,1,188,
+eight_frame_image,0,188,
+demona69,1,188,
+deep_cleavage,0,188,
+dasha_(petruz),4,188,
+dagger_(sdorica_sunset),4,188,
+cut_(disambiguation),6,188,cut
+cupping_chin,0,188,
+cum_on_table,0,188,
+blood_pool,0,188,
+bet,0,188,
+berry_frost,4,188,
+badroy,1,188,
+baby_kangaskhan,5,188,
+australian,0,188,
+audunor,1,188,
+athosvds,1,188,
+zed_burrows,4,187,
+xmetalhusky,1,187,
+xbox_360_controller,0,187,
+wuffamute,1,187,wuffamart
+wilykat,4,187,
+venusflowerart,1,187,
+unnamed_character,4,187,
+two_tone_headwear,0,187,
+trapezius,0,187,
+tc,1,187,
+stork,5,187,"ciconiid,ciconiidae,ciconiiform,ciconiiforme"
+sparky_(lilo_and_stitch),4,187,"experiment_221,sparky_(l&s),sparky_(las),sparky_(lilo_&_stitch),sparky_(stitch)"
+sloshing_breasts,0,187,
+skyleesfm,1,187,
+silver_body,0,187,
+shurian,5,187,
+shadowed_eyes,0,187,
+rope_around_balls,0,187,
+rocksteady,4,187,
+rider,0,187,
+queblock,1,187,
+qoolbunart,1,187,
+purple_hooves,0,187,
+mandrill,5,187,
+lori_(jmh),4,187,
+latex_topwear,0,187,
+klaus_doberman_(character),4,187,
+kanevex,1,187,kanex
+kajiura,1,187,かじうら
+jackintaro,1,187,
+irish_setter,5,187,"irish_red_setter,irish_settler,red_setter"
+holding_bow_(weapon),0,187,
+heart_pillow,0,187,"<3-shaped_pillow,<3-shaped_pillows,<3_pillow,<3_pillows,<3_shaped_pillow,<3_shaped_pillows,heart-shaped_pillow,heart-shaped_pillows,heart_pillows,heart_shaped_pillow,heart_shaped_pillows,hearts-shaped_pillow,hearts-shaped_pillows,hearts_pillow,hearts_pillows,hearts_shaped_pillow,hearts_shaped_pillows"
+hanuvo,1,187,
+greatsword,0,187,
+gold_claws,0,187,
+glenn,1,187,lilglenndoggy
+giggling,0,187,
+full_attack,3,187,
+frustration_cloud,0,187,
+fruitz,1,187,fruitztart
+fiction,0,187,
+evulchibi,1,187,
+ethanw,1,187,
+dogpig28472,1,187,
+crosswise_nipple_piercing,0,187,
+chromakoros,1,187,sorok17
+cartoon_saloon,3,187,
+buffalo_bell,4,187,
+badart_(artist),1,187,
+backless_gloves,0,187,
+avery_(roanoak),4,187,
+assassin's_creed,3,187,"assassin's_creed_iv_black_flag,assassins_creed"
+arvalis,1,187,
+anojaa,1,187,anojaa_(artist)
+anniversary,0,187,
+abandoned,0,187,
+zanthu,1,186,
+zangusuu,1,186,
+x-com:_chimera_squad,3,186,
+white_hooves,0,186,
+vespid,5,186,"vespidae,vespidean,vespinae"
+vesairus,4,186,
+vellvetfoxie,1,186,
+tohilewd,1,186,
+tiny_tiger,4,186,
+surprised_look,0,186,
+shoe_soles,0,186,
+sektiss,4,186,
+ryo_agawa,1,186,
+roger_rabbit,4,186,
+purplealacran,1,186,
+puptini,1,186,"eripuppy,trainer-annie,traineranniex"
+pulsing,0,186,
+precum_on_tongue,0,186,
+penis_leash,0,186,cock_leash
+peable,4,186,
+partially_submerged_sex,0,186,
+nijisanji,3,186,
+newborn,0,186,
+neom-daddy,1,186,
+monkeyspirit,1,186,
+maverick_skye,4,186,
+let_me_in,3,186,
+leinhart,1,186,
+leaf_ears,0,186,
+keyhole_panties,0,186,"key-hole_panties,key_hole_panties"
+jex,5,186,
+inno-sjoa,1,186,
+idolmaster,3,186,
+ichduhernz,1,186,
+hexacult,1,186,
+heavy,0,186,
+gold97fox,1,186,
+frieza,4,186,
+forced_to_top,0,186,forced_to_ride
+flammars,1,186,
+emblem,0,186,
+dotted_line,0,186,
+doodle_dip,1,186,
+close_nipples,0,186,
+claweddrip,1,186,
+caboni32,1,186,
+butterfly_clip,0,186,
+brown_rope,0,186,
+blake_sinclair,4,186,
+big_extensor_carpi,0,186,
+betrayal,0,186,
+bakki,1,186,
+azural_cobaltros,1,186,
+angelina_marie,4,186,
+anal_juice_string,0,186,
+abesdrawings,1,186,
+walking_stick,0,185,
+truck,0,185,
+torn_footwear,0,185,
+thigh_highs_only,0,185,
+thebigslick,1,185,
+teal_tongue,0,185,
+syntex,1,185,
+sweaty_chest,0,185,
+spiked_clothing,0,185,spiked_clothes
+sketchbook,0,185,sketch_book
+silvrsterlng,1,185,rvlis
+scorci,1,185,
+sanssouci,1,185,"gilda_laura_rimessi,sans_souci"
+salad,0,185,
+pyravia,4,185,
+purple_stockings,0,185,
+pizzaozzy_(artist),1,185,
+paulo_(bcb),4,185,
+pattern_sweater,0,185,
+nyan_cat,4,185,
+nila_(cyancapsule),4,185,
+nerton,1,185,"nertonw,nertonwilliams"
+morokko,1,185,
+margie_(animal_crossing),4,185,margie
+marc_leonhardt,1,185,marcleonhardt
+maniacpaint,1,185,
+makoto177,1,185,
+maeve_(twokinds),4,185,
+littlefoot,4,185,"little_foot,littlefoot_(land_before_time),littlefoot_(lbt),littlefoot_(the_land_before_time),littlefoot_(tlbt),lovable_littlefoot"
+leo_(saitama_seibu_lions),4,185,
+lemondude,1,185,
+kimba,4,185,
+kenny_(kenashcorp),4,185,petitpanda
+interplanetary_macro,0,185,
+hazel_weiss,4,185,
+half_submerged,0,185,
+golden_brooch,4,185,
+garabatoz,1,185,garax_(artist)
+formal_clothing,0,185,
+eye_spots,0,185,
+eva_(ozawk),4,185,
+eris_(marefurryfan),4,185,
+equestria-prevails,1,185,
+eda,1,185,
+dclzexon,1,185,
+creepy_face,0,185,
+clockbirds,1,185,
+christina_piercing,0,185,
+cheong_hwan,4,185,
+cattail_(plant),0,185,
+carnotaurus,5,185,carnotaur
+caliosidhe,1,185,"michelle_latta,red-velvet-panda"
+blueberry_kobold,4,185,
+blood_moon,0,185,
+billboard,0,185,
+beartic,5,185,
+baseball_glove,0,185,baseball_mitt
+auvere,1,185,
+atlas_(artist),1,185,あとらす@不安定
+american_paint_horse,5,185,"paint_horse,painted_horse,painthorse"
+amazin-arts,1,185,amazin_arts
+alanisawolf777,1,185,
+8_legs,0,185,"8_legged,eight_legged,eight_legs"
+zashy,4,184,
+whiterabbit95,1,184,
+uniped,0,184,
+troubleshoes_(mlp),4,184,"trouble_shoes_(mlp),troubleshoes"
+thecoldsbarn,1,184,
+supergiant_games,3,184,
+super_nintendo,3,184,snes
+strip_poker,0,184,
+spazkid,1,184,
+soul_patch,0,184,
+social_media,0,184,
+skuttz,1,184,
+skunkjunkie,1,184,junkieskunk
+sesame_street,3,184,
+sea_salt_ice_cream,0,184,
+roko_(cocolog),4,184,
+rivey_ravenheart,4,184,
+retsuko's_mother,4,184,"retsuko's_mom,retsukos_mom,retsukos_mother"
+redmoa,1,184,
+raven_eevee,4,184,
+raripunk,4,184,
+rammy_lamb,4,184,
+rai_(radarn),4,184,
+potty_dance,0,184,
+plastic,0,184,
+piyotm,1,184,
+pixylbyte,1,184,spurkeht
+orange_inner_ear_fluff,0,184,
+oouyuki_benten,1,184,danboyya2000
+nowykowski7,1,184,
+nastya_tan,1,184,
+ludexus,1,184,
+lucia_(satina),4,184,
+legend_of_spyro,3,184,
+leg_scar,0,184,
+left_4_dead_(series),3,184,"left4dead,left4dead2,left_4_dead,left_4_dead_2"
+lady_olivia,4,184,
+kuron,1,184,metokuron
+konekonoarashi,1,184,kyattsu
+kneesocks_daemon,4,184,
+kettle,0,184,
+kairaanix,1,184,
+juice_(disambiguation),6,184,juice
+internet,0,184,
+inflatable_buttplug,0,184,inflatable_butt_plug
+heart_catchlight,0,184,
+hanging_by_feet,0,184,
+hair_beads,0,184,
+gundam_build_divers_re:rise,3,184,
+gashi-gashi,1,184,
+galarian_zigzagoon,5,184,"galar_zigzagoon,zigzagoon_(galar_form),zigzagoon_(galarian_form)"
+feather_ornament,0,184,
+eternity-zinogre,1,184,
+drmellbourne,1,184,twyst
+dew_dragon,1,184,
+destabilizer,1,184,
+deanosaior,1,184,
+cum_on_upper_body,0,184,
+crittermatic,1,184,"animatic,animatic_(artist),critterclaws,critterclaws_(artist),crittermatic_(artist)"
+crescent0100,1,184,
+chocolat_gelato,4,184,
+bowler_hat,0,184,
+blades,0,184,
+bessi_the_bat,4,184,
+amenlona,1,184,
+aledonrex,1,184,
+adoptive_mother,0,184,
+weaver_bonnie,4,183,
+user_interface,0,183,
+unusualmatias,1,183,
+tzokatli,1,183,zenminch
+tarnished_(elden_ring),4,183,
+tar,0,183,
+susie_mccallister,4,183,susie_(sci)
+sunnynoga,1,183,chibitracy
+sound_edit,0,183,
+snow_utamaru,1,183,
+shadedance,1,183,
+ripples,0,183,
+ribbontini,1,183,
+raydio,1,183,
+pepamintop,1,183,
+pattern_bra,0,183,
+pattern_arm_warmers,0,183,
+norse_mythology,3,183,icelandic_mythology
+nintendo_64,3,183,n64
+multi_tone_feathers,0,183,
+mugger_(my_life_with_fel),4,183,
+misunderstanding,0,183,
+medabots,3,183,
+lustful_gaze,0,183,
+lilith_aensland,4,183,
+light_bulb,0,183,
+krakenparty,1,183,
+kittyodic,1,183,
+kipfox,4,183,
+kairel,4,183,
+k0bit0wani,1,183,
+jeane_(ceehaz),4,183,
+inkwell,0,183,"ink_well,ink_wells,inkwells"
+humanoid_prey,0,183,
+heyitshappydoodles,1,183,
+heavy_balls,0,183,
+harness_only,0,183,
+groan,0,183,
+grim_reaper,4,183,
+grandmother_and_grandchild,0,183,"grand_child/grand_mother,grand_child/grand_mothers,grand_child_and_grand_mother,grand_child_and_grand_mothers,grand_children/grand_mother,grand_children/grand_mothers,grand_children_and_grand_mother,grand_children_and_grand_mothers,grand_childs/grand_mother,grand_childs/grand_mothers,grand_childs_and_grand_mother,grand_childs_and_grand_mothers,grand_ma/grand_child,grand_ma/grand_children,grand_ma/grand_childs,grand_ma_and_grand_child,grand_ma_and_grand_children,grand_ma_and_grand_childs,grand_mother/grand_child,grand_mother/grand_children,grand_mother/grand_childs,grand_mother_and_grand_child,grand_mother_and_grand_children,grand_mother_and_grand_childs,grand_mothers/grand_child,grand_mothers/grand_children,grand_mothers/grand_childs,grand_mothers_and_grand_child,grand_mothers_and_grand_children,grand_mothers_and_grand_childs,grandchild/grandmother,grandchild/grandmothers,grandchild_and_grandmother,grandchild_and_grandmothers,grandchildren/grandmother,grandchildren/grandmothers,grandchildren_and_grandmother,grandchildren_and_grandmothers,grandchilds/grandmother,grandchilds/grandmothers,grandchilds_and_grandmother,grandchilds_and_grandmothers,grandma/grandchild,grandma/grandchildren,grandma/grandchilds,grandma_and_grandchild,grandma_and_grandchildren,grandma_and_grandchilds,grandmother/grandchild,grandmothers/grandchild,grandmothers/grandchildren,grandmothers/grandchilds,grandmothers_and_grandchild,grandmothers_and_grandchildren,grandmothers_and_grandchilds"
+gi0,1,183,
+fugasvbashnyu,1,183,
+fluffytuft,1,183,
+fiona_maray,4,183,
+fez,0,183,
+fancypants_(mlp),4,183,fancy_pants_(mlp)
+facebook,3,183,
+ewmo.de,1,183,bobbibum
+dripping_heart,0,183,
+double_bitted_axe,0,183,
+donutella,1,183,
+doggettdouglasmcdog,1,183,
+dave_(tcitw),4,183,
+crytrauv,4,183,
+cranebear,1,183,dark_templar_(artist)
+coot27,1,183,
+cola,0,183,
+cocaine_(artist),1,183,
+cherry_jubilee_(mlp),4,183,cherry_jubilee
+cheese_quesadilla,4,183,
+checkered_topwear,0,183,
+cecily_lin,1,183,
+bulge_size_difference,0,183,
+brown_wantholf,4,183,
+brothel,0,183,
+bovine_taur,5,183,bovine_centaur
+bonnie_bovine,1,183,"bonnie.bovine,bonniebovine,quietcrow"
+bodi_(rock_dog),4,183,
+bds_charmeleon,1,183,
+bayzan,4,183,
+battler,1,183,
+balls_on_head,0,183,
+atlantic_puffin,5,183,
+ascar_angainor,1,183,celeun
+artz,1,183,
+arthropod_abdomen_penis,0,183,"abdomen_penis,insect_abdomen_penis,invertebrate_abdomen_penis"
+arm_cannon,0,183,
+yuki_yoshida,4,182,
+vinzin_(character),4,182,
+video_in_description,7,182,
+utx-shapeshifter,1,182,
+torn_leggings,0,182,ripped_leggings
+taro_(liontaro),4,182,
+tail_tenting,0,182,
+swiper_(dora_the_explorer),4,182,
+stream_chat,0,182,
+smiling_at_each_other,0,182,
+siyu,4,182,
+shandi,4,182,
+retractable_claws,0,182,retracted_claws
+reese_(animal_crossing),4,182,
+redneck,0,182,
+raventhan,4,182,
+princess_skystar_(mlp),4,182,princess_skystar
+percy_(pickles-hyena),4,182,
+peeing_on_ground,0,182,peeing_on_floor
+nose_leash,0,182,
+nken,1,182,utsuo-kami
+mozukuzanmai,1,182,
+morsylvia,1,182,valeria_akiramenai
+mokabur,1,182,quadra
+miss_kitty_mouse,4,182,
+mike_argentum_(artist),1,182,
+metalisk,1,182,
+maxime-jeanne,1,182,
+magnet,0,182,magnets
+mac-daddy,1,182,
+lordstormcaller,1,182,
+kemoribbon,1,182,pocket_drop
+karate,0,182,
+jenny_(ajdurai),4,182,
+in_throat,0,182,
+hopping4,1,182,ほっぴんぐ
+goo_dragon,5,182,
+gato_matero,1,182,lewdocat
+garurumon,5,182,gururumon
+full_orifice,0,182,
+fox's_sister_(kinokoningen),4,182,
+forced_prostitution,0,182,
+flesh_binds,0,182,
+fefairy,1,182,
+faceless_(species),5,182,
+eyeball6300_(chiv),1,182,
+ears_front,0,182,"ear_facing_forward,ear_facing_forwards,ear_facing_front,ears_facing_forward,ears_facing_forwards,ears_facing_front,ears_flicked_forward,ears_flicked_front,ears_forward"
+duga_(shining),4,182,
+dubmare,4,182,
+dog_operator,4,182,
+dksk30,1,182,
+dinoalpaka,1,182,
+digitslayer,1,182,
+deskai,1,182,
+daveman1000,1,182,
+darkluxia,1,182,sherlu
+calm,0,182,
+bumomomoboa,1,182,
+blaster,0,182,
+bastiel,1,182,
+aztec_mythology,3,182,
+angellsview3,1,182,
+anarchy_symbol,0,182,
+akita_inu,5,182,
+32:41,7,182,
+wrestling_outfit,0,181,
+wilbur_(animal_crossing),4,181,
+wii_fit,3,181,
+vetra_nyx,4,181,
+ultra_ball,0,181,ultraball
+translucent_censor,0,181,
+talisman,0,181,
+supplesee,1,181,
+stimulation,0,181,
+spiral_knight,5,181,
+sony-shock,1,181,
+somik,1,181,
+sneakerfox,1,181,"r_graves,ryan_graves,synthi"
+sliding,0,181,
+silvia_(peculiart),4,181,
+shining_force_exa,3,181,
+shadow-teh-wolf_(copyright),3,181,
+selkie_(my_hero_academia),4,181,
+scrungusbungus,1,181,
+scenic_view,0,181,
+sat_on,0,181,
+rift_seekers_saga,3,181,
+red_yoshi,5,181,
+red_light,0,181,
+randomdragon,1,181,
+quail,5,181,
+presenting_slit,0,181,
+plum_rhazin,4,181,
+pawzzhky,1,181,
+parfait_(plaga),4,181,
+palette,0,181,
+orangutan,5,181,"orang-utan,orang-utang,orang_utan,orang_utang,orangutang,ponginae,pongo_(genus)"
+orange_shorts,0,181,
+orange_legwear,0,181,
+on_style,0,181,
+oli_(thepatchedragon),4,181,
+nudibranch,5,181,
+nsfsushi,1,181,
+monotone_fingers,0,181,
+monomasa,4,181,
+lynxgriffin,1,181,
+loincloth_lift,0,181,
+lerapi,1,181,
+latin_text,7,181,
+larger_taur,0,181,
+kitshokat,1,181,kitshokit
+kitchen_spatula,0,181,
+jump_rope,0,181,skipping_rope
+julie-su,4,181,
+jananimations,1,181,
+iceblizzard,1,181,goodfornothingarts
+hockey,0,181,
+gustav_(here_there_be_dragons),4,181,gustav_(htbd)
+green_(shiro-neko),4,181,
+gold_body,0,181,
+freya_(zionsangel),4,181,
+freya_(animal_crossing),4,181,
+foot_transformation,0,181,
+fiercedeitylynx,1,181,
+excella,4,181,
+escape,0,181,
+eragon,3,181,
+engine,0,181,
+donkles,1,181,
+dogshaming,3,181,
+daire301,1,181,sharkypaddedbottom
+dabunnox,1,181,
+cregon,4,181,
+circus,0,181,
+chansey,5,181,
+cake_the_cat,4,181,
+brown_chest,0,181,
+bloody_roar,3,181,
+blackjack_o'hare,4,181,
+baalbuddy,1,181,
+arty_stu,1,181,
+arcticlion,1,181,
+antoine_d'coolette,4,181,
+analpaladin,1,181,
+anal_request,0,181,
+anal_oviposition,0,181,
+advos,1,181,
+accidental_holly,0,181,
+3dsmax,3,181,
+xyi,1,180,
+wide_sleeves,0,180,
+volkokot,1,180,
+volk,4,180,
+vksuika,1,180,
+uotapo,1,180,
+unicellular_organism_(organism),5,180,
+turtwig,5,180,
+tatujapa,1,180,
+tasting,0,180,
+tan_fingers,0,180,
+svenners,1,180,
+super_mario_3d_world,3,180,
+stripedcrocodile,1,180,
+striped_sleeves,0,180,
+squatting_position,0,180,
+spread_mouth,0,180,
+skulkers,1,180,
+siamkhan,1,180,
+sheath_poking_out,0,180,
+shared_heart,0,180,
+segway_(segwayrulz),4,180,
+sebaxn,1,180,
+saturdaymorningproj,1,180,
+sasamino,1,180,
+saphira,4,180,
+rocky_rickaby,4,180,
+rimefox,1,180,miyuhogosha
+riis,1,180,
+ribombee,5,180,
+queenie_(shoutingisfun),4,180,
+precum_on_face,0,180,
+prayer_beads,0,180,
+poliwrath,5,180,
+pokéball_sex_toy,0,180,"poke_ball_sex_toy,poke_ball_sextoy,pokeball_sex_toy,pokeball_sextoy,poké_ball_sex_toy,poké_ball_sextoy,pokéball_sextoy"
+persian_cat,5,180,"persian_(breed),persian_(cat)"
+pattern_accessory,0,180,
+patch_(marking),0,180,"patch_(markings),patch_marking,patch_markings"
+parted_lips,0,180,
+pakwan008,1,180,
+neera_li,4,180,
+mr.albafox,1,180,
+monotone_hooves,0,180,
+misterkittens,1,180,
+leg_on_shoulder,0,180,
+kindle_(frisky_ferals),4,180,
+joan_whitecat,4,180,
+jaki-kun_(character),4,180,
+impostor_(among_us),4,180,imposter_(among_us)
+horus,4,180,
+horizontal_pussy,0,180,
+holding_hair,0,180,
+green_feet,0,180,
+graphic_novel,0,180,
+glistening_eyewear,0,180,"glistening_eye_wear,shining_eye_wear,shining_eyewear,shiny_eye_wear,shiny_eyewear"
+game_boy_console,0,180,
+fuyuki_yamamoto_(odd_taxi),4,180,
+estrogen,0,180,
+el_senor_erizo,1,180,
+double_amputee,0,180,
+diving_mask,0,180,"dive_mask,diver's_mask,diver_mask,divers_mask,scuba_mask"
+devin_(yungyiff),4,180,
+deep_fisting,0,180,
+daniruu,1,180,
+cloacal_fingering,0,180,"cloaca_fingering,fingering_cloaca"
+chaoshetra,1,180,
+bullet_bill,5,180,
+boob_drop,0,180,
+blackdragon4444,1,180,
+black_toenails,0,180,
+black_hole,0,180,
+big_fingers,0,180,
+an_american_tail,3,180,"american_tail,american_tail:_the_mystery_of_the_night_monster,american_tail:_the_treasure_of_manhattan_island,american_tail_the_mystery_of_the_night_monster,american_tail_the_treasure_of_manhattan_island,an_american_tail:_fievel_goes_west,an_american_tail:_the_mystery_of_the_night_monster,an_american_tail:_the_treasure_of_manhattan_island,an_american_tail_fievel_goes_west,an_american_tail_the_mystery_of_the_night_monster,an_american_tail_the_treasure_of_manhattan_island,fievel_goes_west,the_treasure_of_manhattan_island,treasure_of_manhattan_island"
+albinefox,1,180,
+zephyxus,1,179,
+wolfgerlion64,1,179,
+victory_position,0,179,
+vaporotem,1,179,
+two_tone_tail_feathers,0,179,
+tricked,0,179,
+toxicroak,5,179,
+themuffinly,1,179,
+the_ancient_magus_bride,3,179,
+tanned,0,179,
+tabasukotrr,1,179,
+striped_arm_warmers,0,179,
+spit-take,0,179,"spit_take,spittake"
+ryai_(character),4,179,
+ruri_tsubame,1,179,"kimuchinabe_naruga,whity_naruga,whity_paria,ziguzagu85,瑠璃燕,瑠璃燕@コミケ3日目q38a"
+running_away,0,179,
+red_speedo,0,179,
+red-tailed_hawk,5,179,"red-tail_hawk,red_tail_hawk,red_tailed_hawk"
+pointe_shoes,0,179,"ballet_flat,ballet_flats,ballet_shoe,ballet_shoes,ballet_slipper,ballet_slippers,pointe_shoe"
+pidgeotto,5,179,
+orange_eyeshadow,0,179,
+nude_modelling,0,179,
+nose_scar,0,179,
+nezirozi,1,179,rojika
+nabesiki,1,179,
+monotone_toes,0,179,
+military_clothing,0,179,
+miketheuser,1,179,
+mia_(.hack),4,179,"mia_(dot-hack),mia_(dot_hack)"
+mexican_wolf,5,179,"mexican_gray_wolf,mexican_grey_wolf"
+mega_audino,5,179,
+lusamine_(pokémon),4,179,lusamine_(pokemon)
+leaf_(pokémon),4,179,"green_(pokémon),leaf_(pokemon)"
+kyuu_(beastars),4,179,
+kyo_(kiasano),4,179,
+korrok,1,179,
+keiko_sakmat,4,179,
+keeper_of_the_moon,5,179,
+justin_(study_partners),4,179,
+jonesy_hoovus_(grimart),4,179,
+jinx_doodle,1,179,
+jack-jackal_(character),4,179,
+human_fingering_anthro,0,179,
+hudson_soft,3,179,
+holidaypup,1,179,
+holding_toy,0,179,
+head_spines,0,179,
+hazmat_suit,0,179,
+grey_chest,0,179,
+green_glasses,0,179,
+green_briefs,0,179,
+ginko0101,1,179,
+game_of_thrones,3,179,
+fuzzy-britches,1,179,
+elias_ainsworth,4,179,
+eavesdropping,0,179,
+dustin_c,1,179,
+driosawm,1,179,
+drawholic,1,179,
+devil-vox,1,179,
+deino,5,179,
+dandy_(artist),1,179,
+cum_in_pants,0,179,
+cum_fountain,0,179,
+clb,1,179,
+chita_(ketchup),1,179,
+chikaretsu,1,179,
+cala_maria,4,179,
+bunybunyboi,1,179,
+brown_tuft,0,179,
+blushbutt,1,179,"blush-chan,blush-chan_(artist),blushbutt_(artist),blushchan,trinitycollapse"
+bewear,5,179,kiteruguma
+bakameganekko,1,179,
+attack_on_titan,3,179,shingeki_no_kyojin
+ash_(sing),4,179,ash_the_porcupine
+arms_bound_to_collar,0,179,
+angellove44,1,179,
+alex.fetter,1,179,
+alecrast,4,179,
+wrap,0,178,
+vlagg_(vju79),4,178,
+thomas_whitaker,4,178,
+the-chu,1,178,raizy
+tharkis,4,178,
+texas_(arknights),4,178,
+swellow,5,178,
+sutasl,1,178,
+sprig_plantar,4,178,
+soranamae,1,178,
+sluggystudio,1,178,
+self_harm,0,178,
+rj_oakes,4,178,
+red_exoskeleton,0,178,
+red_arremer,5,178,
+purple_yoshi,5,178,
+pom_clothing,0,178,
+penis_sniffing,0,178,
+panty_peek,0,178,
+nolly_(artist),1,178,noll423z
+murasadramon,5,178,
+monds,1,178,
+miranda_lawson,4,178,
+minnosimmins,1,178,
+meles,5,178,
+mej,1,178,
+marei,4,178,murray_(manmosu_marimo)
+malik,4,178,
+magical_stimulation,0,178,
+light_nipples,0,178,
+lemurian,5,178,
+legbinder,0,178,"leg_binder,legbinders"
+leashed_male,0,178,
+kanou,1,178,kanoart
+jokoifu,1,178,
+inheritance_cycle,3,178,
+ice_creature,5,178,"ice_elemental,ice_monster,living_ice"
+huge_lips,0,178,
+high_elf,5,178,
+herm_on_top,0,178,
+georgette_(disney),4,178,
+gazaster,1,178,
+flavored_milk,0,178,
+flat_belly,0,178,
+felix_reverie,4,178,
+fang_the_sniper,4,178,"fang_the_sniper_(sonic),nack_the_weasel"
+fallow_deer,5,178,
+dr._pizza_boi,1,178,"aunt_maire,inkershike"
+darkgoose,1,178,
+dark_legwear,0,178,
+dabbing,0,178,"dab,dabs,the_dab"
+credits,7,178,
+cow_costume,0,178,
+cookiedraggy,1,178,
+container_of_milk,0,178,
+clover_(happy_happy_clover),4,178,chima
+care_bears,3,178,care_bear
+breast_bite,0,178,
+bouncer,0,178,
+blitzpitz,1,178,
+black_cape,0,178,
+black_and_red,7,178,red_and_black
+between_thighs,0,178,
+bea_(pokemon),4,178,bea_(pokémon)
+bailey_(brogulls),4,178,
+april_fools,3,178,
+apocalypse,0,178,
+alien_vs._predator_(franchise),3,178,
+alastor_(hazbin_hotel),4,178,
+addickted,1,178,
+zokva,1,177,zokvic
+zelripheth,1,177,
+zabrina_(afc),4,177,
+xnanchox,1,177,
+vel_valentine_(strawberrycrux),4,177,
+ushanka,0,177,
+trumpet,0,177,
+thick_sheath,0,177,
+the_amazing_3,3,177,wonder_3
+tashalisets,1,177,
+tapu_lele,5,177,
+swelling,0,177,
+superman,4,177,
+straw_in_mouth,0,177,
+spiral_pupils,0,177,
+smoaer,1,177,
+silverfox057,1,177,silverblaze057
+shere_khan,4,177,
+severed_penis,0,177,
+semi_pov,0,177,
+seed,0,177,
+roe_deer,5,177,"chevreuil,roebuck"
+roco,1,177,
+rikuo_(artist),1,177,りくお
+rattle,0,177,
+pussy_juice_splatter,0,177,
+protagonist_(helltaker),4,177,
+print_headgear,0,177,
+politoed,5,177,politoad
+piercing_pull,0,177,
+pienji,1,177,
+parclytaxel,1,177,
+on_display,0,177,displayed
+mugen,3,177,
+menhou,1,177,
+maxine_d'lapin,4,177,
+looking_at_bulge,0,177,
+lobofeo,1,177,
+legiana,5,177,
+kumak71395,1,177,
+kraidhiel,1,177,
+kerneldecoy,1,177,
+horn_markings,0,177,"horn_marking,horns_marking,horns_markings"
+hippie,0,177,
+heart_tag,0,177,
+harzu,1,177,
+grey_spikes,0,177,gray_spikes
+gamma-g,1,177,
+galea,0,177,
+frye_(splatoon),4,177,
+fluffy_mane,0,177,
+feral_bondage,0,177,
+farorenightclaw,1,177,
+enro_the_mutt,1,177,caffeinatedcreep
+electrode,0,177,"electrode_(object),electrodes"
+dominant_herm,0,177,"dom_herm,herm_dom,herm_dominant,herm_dominating,herm_domination"
+dib_membrane,4,177,dib_(invader_zim)
+denzeltip,1,177,
+day_of_the_dead,3,177,"dia_de_los_muertos,dia_de_muertos"
+damn_lasso_tool,1,177,damnlassotool
+cum_plugged,0,177,
+croagunk,5,177,
+colorless,0,177,
+clove_the_pronghorn,4,177,
+cherryfox73,1,177,
+chameleon_humanoid,5,177,
+celeste_(artist),1,177,celestefox
+candy_corn,0,177,
+bright_eyes,0,177,
+breaking,0,177,
+brachyzoid,1,177,"brachydoes-nsfw,datbritishmexican,twisted-brit,twisted_brit"
+bowling_ball,0,177,
+boss_(gym_pals),4,177,
+bobtail_cat,5,177,
+blue_speech_bubble,0,177,
+blue_lightsaber,0,177,
+blue_exoskeleton,0,177,
+battycat,1,177,
+auradeva,1,177,
+armadirou,1,177,
+anxiety-chan,1,177,
+ambush,0,177,
+akatan_art,1,177,
+yatosuke,1,176,"andya,yatok7,やと,やとすけ"
+voltorb,5,176,
+vagabond_(artist),1,176,"armouredlioness,call_(artist),jijix,nomad_(artist),nomadlioness,northernlioness,orbitalnomad"
+tfc0234,1,176,
+tenyati,1,176,
+taillove_(artist),1,176,
+suina_humanoid,5,176,porcine_humanoid
+submissive_herm,0,176,herm_dominated
+stagshack,1,176,
+sloss,1,176,steslos
+skulldog_(species),5,176,
+ses_vanbrubles,1,176,
+rubbing_head,0,176,
+pull-ups_(diaper),3,176,
+puffy_sleeves,0,176,
+prey_penetrating,0,176,
+pink_inner_ear_fluff,0,176,
+pink_foreskin,0,176,
+perfectlynormal,1,176,peter_norman
+pants_wetting,0,176,
+nitrods,1,176,
+nashi_(intothe_bluesky),1,176,
+murana_wolford_(darkflame-wolf),4,176,
+monferno,5,176,
+minedoo_(character),4,176,
+melamoryblack,1,176,
+match,0,176,
+mass_effect_andromeda,3,176,mass_effect:_andromeda
+male_swimwear_challenge,3,176,
+mafia,0,176,
+luz_noceda,4,176,"luz_(the_owl_house),luz_noceda_(the_owl_house)"
+lewd_symbolism,0,176,
+kuromi,4,176,
+kudu,5,176,
+izra,1,176,
+hymen,0,176,
+huge_quads,0,176,
+holding_potion,0,176,holding_potions
+hastogs,1,176,dimikendal101
+green_membrane,0,176,
+fiftyfifthfleet,1,176,
+exam_table,0,176,
+dragondrawer,1,176,
+dolorcin,1,176,
+doctor's_office,0,176,
+disco,0,176,
+darkwolfhybrid,1,176,
+cum_cannon,0,176,jizz_cannon
+clothed_humanoid,0,176,
+chipp,4,176,
+cheese_sandwich_(mlp),4,176,
+calheb-db,1,176,
+button_prompt,0,176,
+butt_fluff,0,176,
+broken_bone,0,176,broken_bones
+bodily_fluids_from_pussy,0,176,
+bnbigus,1,176,
+before/after_focus,0,176,
+arcsuh,1,176,
+ankle_band,0,176,
+anixaila,1,176,
+after_shower,0,176,
+adra,4,176,
+5_heads,0,176,"5_head,5_headed,five_head,five_headed,five_heads"
+yamaneko_sougi,4,175,
+y'shtola,4,175,
+wii_remote,0,175,wiimote
+white_haori,0,175,
+watatanza,1,175,
+wario,4,175,
+vastaya,5,175,
+ugly_bastard,0,175,
+trick_(tricktrashing),4,175,
+trashdrawy,1,175,
+transformation_by_item,0,175,
+tigerlilylucky,1,175,
+textless,0,175,
+taranima,1,175,
+substitute_doll,4,175,substitute_(pokemon)
+sparkx,4,175,
+sockjob,0,175,
+sobek,4,175,
+sniper_(team_fortress_2),4,175,
+slime_(blob),5,175,
+shoulder_carry,0,175,
+seattle_fur,3,175,
+redvais,1,175,
+queenkami,1,175,kamikitty
+pop_(sound_effect),0,175,
+pointy_breasts,0,175,
+peanuts_(comic),3,175,"charlie_brown_(comic),charlie_brown_comic,it's_the_great_pumpkin_charlie_brown,its_the_great_pumpkin_charlie_brown,peanuts_comic,snoopy_(comic),snoopy_comic,the_great_pumpkin"
+onykr,1,175,
+onix,5,175,
+omega56,1,175,
+not_furry_wearing_fursuit,0,175,
+nipple_fingering,0,175,
+nerdmouse,1,175,"zed001,zed_(artist)"
+monotone_sheath,0,175,
+milk_carton,0,175,
+lilibee,5,175,lillibee
+kuroisumi,1,175,"kemoisumi,kuroi_sumi,sumi"
+kdmn,1,175,
+katlin,1,175,
+kaimstain,4,175,
+jabuhusky,1,175,miguel_okami
+head_on_shoulder,0,175,
+grey_fingers,0,175,
+green_glow,0,175,
+glowing_balls,0,175,
+gears,0,175,
+elisa_maza_(gargoyles),4,175,elisa_maza
+elbow_spikes,0,175,
+dragonchu_(character),4,175,
+dappled_fur,0,175,
+command_to_clean,0,175,
+colorful_background,0,175,"colorful_bg,colourful_background,colourful_bg"
+chris_sutor,1,175,
+captain_bokko,4,175,bokko
+bored_expression,0,175,
+bluebreed,1,175,joybuzzer_(artist)
+billmund,1,175,
+bat-eared_fox,5,175,"bat_eared_fox,otocyon"
+bashbl-ux,1,175,
+aquamarine_(gem),0,175,
+aniece,4,175,
+africa,0,175,
+adora,4,175,
+adine_(angels_with_scaly_wings),4,175,adine_(awsw)
+yuio,1,174,
+yellow_bandanna,0,174,
+writing_on_crotch,0,174,
+wingless_chiropteran,0,174,
+uwotinfokm8,1,174,
+turquoise_(ralek),4,174,turquoise_(mlp)
+thigh_cuffs,0,174,
+text_on_shorts,0,174,
+teal_clothing,0,174,
+tail_boner,0,174,
+stippling,0,174,
+starman_deluxe,1,174,"starmandeluxe,wickedstar"
+spaulder,0,174,spaulders
+sirphilliam,1,174,
+shortwings,1,174,
+sevenarms,1,174,
+salireths,1,174,
+sakifox,1,174,
+s'zira,4,174,
+raventenebris,1,174,
+rain_(cimarron),4,174,
+ragingsemi,1,174,
+prince_vaxis_(copyright),3,174,
+pride_color_markings,0,174,
+pluckyninja,1,174,timber_(artist)
+pkuai,1,174,pkuai_(artist)
+patch_(ask-patch),4,174,
+papi_(monster_musume),4,174,
+orange_skirt,0,174,
+nose_wrinkle,0,174,
+"norithics_""nori""_kusemurai",4,174,
+ness,4,174,
+negullust,1,174,
+mushoku_tensei,3,174,
+mrfatcakes,1,174,
+moonabel,1,174,
+mongolian_clothing,0,174,
+momamo,1,174,
+mobian_hedgehog,5,174,
+missing_tooth,0,174,
+merong,1,174,
+meller's_chameleon,5,174,"giant_one-horned_chameleon,giant_one_horned_chameleon,mellers_chameleon"
+meilin_lee_(turning_red),4,174,"mei_(turning_red),mei_lee_(turning_red)"
+luvashi,4,174,
+lowkey_nottoast,1,174,
+lisa_simpson,4,174,
+lies,0,174,
+leech,5,174,
+lary_(yinller),4,174,
+laces,0,174,
+kierus,1,174,
+josemalvado,1,174,
+hands_on_own_breasts,0,174,
+gymnastics,0,174,
+grey_hat,0,174,gray_hat
+gillpanda_(character),4,174,
+galarian_rapidash,5,174,"galar_rapidash,rapidash_(galar_form),rapidash_(galarian_form)"
+foxynoms,1,174,
+fedupfox,1,174,
+fangdangler,1,174,
+edgar_(the_summoning),4,174,
+duffel_bag,0,174,duffle_bag
+duchess_(aristocats),4,174,
+drockdraw,1,174,d-rock
+dragon_(petruz),4,174,
+doritos,3,174,
+destroyed_building,0,174,
+cropped_jacket,0,174,
+cosmic_fur,0,174,
+chemise,0,174,
+celesteela,5,174,
+book_title,0,174,
+blue_genitals,0,174,
+bigcozyorca,1,174,
+bambookat,1,174,
+arthur_read,4,174,arthur_reed
+ankylosaurian,5,174,ankylosaur
+allan_(zourik),4,174,
+alexandra_(velocitycat),4,174,
+xayah_(lol),4,173,
+window_light,0,173,
+white_suit,0,173,
+vtza,1,173,
+vistamage,1,173,
+unused_condom,0,173,
+tugging,0,173,
+tan_pawpads,0,173,"beige_pawpads,tan_paw_pad,tan_paw_pads,tan_pawpad"
+status_effect,0,173,
+spike_(eg),4,173,
+speculum,0,173,
+sky_(artist),1,173,
+skunkhase,4,173,
+shelf_bra,0,173,
+screwroot,1,173,
+robotization,0,173,
+red_leash,0,173,
+raised_tank_top,0,173,"raised_tank-top,raised_tanktop,tank-top_raised,tank_top_raised,tanktop_raised"
+railway_track,0,173,railroad_track
+quiet_(metal_gear),4,173,
+qqmelon888,1,173,
+probablyfakeblonde,1,173,famosity
+pink_thong,0,173,
+photoshop,3,173,
+penis_on_breast,0,173,
+orchiectomy_scar,0,173,
+offering_food,0,173,
+nollety,1,173,
+multicolored_tentacles,0,173,"four_color_tentacles,multi-color_tentacles,multi-colored_tentacles,multi-colour_tentacles,multi-coloured_tentacles,multi-tone_tentacles,multi_color_tentacles,multi_colored_tentacles,multi_colour_tentacles,multi_coloured_tentacles,multicolor_tentacles,multicolour_tentacles,multicoloured_tentacles,three_color_tentacles"
+mtflying30371,1,173,
+mooing,0,173,
+media_case,0,173,
+measuring_penis,0,173,
+martinballamore,1,173,
+lunarmarshmallow,1,173,
+luma,5,173,
+lovetaste_chica,4,173,
+limbless,0,173,
+lappland_(arknights),4,173,
+knee_pulled_up,0,173,
+jackson's_chameleon,5,173,"jackson's_horned_chameleon,jacksons_chameleon,jacksons_horned_chameleon,kikuyu_chameleon,kikuyu_three-horned_chameleon,kikuyu_three_horned_chameleon"
+intersex_symbol,0,173,"⚥,⚦"
+imago_ic,1,173,
+ikea,3,173,
+howlart,1,173,howlingvoice
+high-bear,1,173,
+hexteknik,1,173,
+halsione,1,173,dentyou
+grey_socks,0,173,gray_socks
+gadoran,1,173,
+faunazon,5,173,
+fall_guys,3,173,
+empty_speech_bubble,0,173,
+easter_basket,0,173,
+drumming_stick,0,173,
+drifloon,5,173,
+dribble_(warioware),4,173,
+cum_on_footwear,0,173,
+cookie_crisp,3,173,
+coffee_demon,1,173,lost_lynx
+christmas_sweater,0,173,
+chibisuke,4,173,
+carrying_over_shoulder,0,173,
+button_ears,0,173,"button_ear,cocked_ear,cocked_ears"
+boxers_only,0,173,
+bow_in_back,0,173,
+bonfire,0,173,
+blue_glasses,0,173,
+blitz_(gyro),4,173,
+big_glans,0,173,
+behind_the_counter,0,173,
+ball_and_chain,0,173,
+arrested,0,173,arrest
+arc_system_works,3,173,
+anticularpony,1,173,asksunshineandmoonbeams
+ambar,4,173,
+3sthrees,1,173,
+zed_technician_games,3,172,
+wolfwithwing,1,172,"lovewolf5122,sillywolf,sillywolf18,wolfwithribbon,狼の翼"
+water_reflection,0,172,
+ultimateshadow,1,172,
+thoughts,0,172,
+thebatfang,1,172,
+tatami,0,172,
+tanya_keys,4,172,
+swetpot,1,172,
+star_trek_lower_decks,3,172,
+squelching,0,172,
+sparky_the_chu,1,172,
+sepulte,1,172,
+scotty_kat,4,172,
+school_days,3,172,
+robophilia,0,172,
+red_gem,0,172,
+poison_trail,4,172,poison_trail_(mlp)
+pepper_(sketchytoasty),4,172,
+patreon_link,0,172,
+muskydusky,1,172,
+mira_(target_miss),4,172,
+milking_self,0,172,
+magpiehyena,1,172,inkhling
+macaronneko,1,172,
+luvdisc,5,172,
+loque,1,172,dampfloque
+living_melee_weapon,5,172,
+little_john,4,172,
+ld,4,172,
+kyra_(greyshores),4,172,
+kurokuma824,1,172,
+kentowan,1,172,tanuk_kun
+kemono_inukai,1,172,
+kelly_hamilton,1,172,
+kammypup,4,172,
+jobo37,1,172,
+japan_studio_(game_developer),3,172,
+infection,0,172,
+imadeej,1,172,
+hercules_(1997),3,172,
+hatching,0,172,
+gynomorph_penetrating_andromorph,0,172,"d/p/am,d/p/c,dgirl_penetrating_andromorph,dgirl_penetrating_cboy,dgirl_penetrating_cuntboy,dgirl_penetrating_cuntman,dickgirl_penetrating_andromorph,dickgirl_penetrating_cboy,dickgirl_penetrating_cuntboy,dickgirl_penetrating_cuntman,gm/p/am,gm/p/c,newhalf_penetrating_cboy,newhalf_penetrating_cuntboy,newhalf_penetrating_cuntman,shemale_penetrating_cboy,shemale_penetrating_cuntboy,shemale_penetrating_cuntman"
+grumpig,5,172,
+grandfather_and_grandchild,0,172,"grand_child/grand_father,grand_child/grand_fathers,grand_child_and_grand_father,grand_child_and_grand_fathers,grand_children/grand_father,grand_children/grand_fathers,grand_children_and_grand_father,grand_children_and_grand_fathers,grand_childs/grand_father,grand_childs/grand_fathers,grand_childs_and_grand_father,grand_childs_and_grand_fathers,grand_father/grand_child,grand_father/grand_children,grand_father/grand_childs,grand_father_and_grand_child,grand_father_and_grand_children,grand_father_and_grand_childs,grand_fathers/grand_child,grand_fathers/grand_children,grand_fathers/grand_childs,grand_fathers_and_grand_child,grand_fathers_and_grand_children,grand_fathers_and_grand_childs,grand_pa/grand_child,grand_pa/grand_children,grand_pa/grand_childs,grand_pa_and_grand_child,grand_pa_and_grand_children,grand_pa_and_grand_childs,grandchild/grandfather,grandchild/grandfathers,grandchild_and_grandfather,grandchild_and_grandfathers,grandchildren/grandfather,grandchildren/grandfathers,grandchildren_and_grandfather,grandchildren_and_grandfathers,grandchilds/grandfather,grandchilds/grandfathers,grandchilds_and_grandfather,grandchilds_and_grandfathers,grandfather/grandchild,grandfathers/grandchild,grandfathers/grandchildren,grandfathers/grandchilds,grandfathers_and_grandchild,grandfathers_and_grandchildren,grandfathers_and_grandchilds,grandpa/grandchild,grandpa/grandchildren,grandpa/grandchilds,grandpa_and_grandchild,grandpa_and_grandchildren,grandpa_and_grandchilds"
+girl_scout,0,172,
+gambling,0,172,
+four_arms_(ben_10),4,172,
+finir,1,172,
+fffffolder,1,172,"69loremipsum,^69"
+feretta_(character),4,172,
+fanofthefurr,1,172,
+excessive_urine,0,172,
+eglan,4,172,
+druddigon,5,172,
+daxhie,1,172,
+cyrakhis,4,172,
+cuddles_(htf),4,172,
+cube_(object),0,172,
+cosmic_horror,0,172,
+chesta,1,172,
+cheese_cake,1,172,
+bruce_mccorkindale,1,172,
+bottomless_gynomorph,0,172,
+behniis,1,172,
+bandaged_chest,0,172,
+autumndeer,1,172,
+against_window,0,172,
+6071:8598,0,172,
+wolfrad,1,171,
+vixie00,1,171,
+upstairstudios,1,171,
+ultra_(ultrabondagefairy),4,171,
+towel_around_waist,0,171,
+tied_down,0,171,
+thevgbear,1,171,
+tamara_fox,4,171,
+soft_belly,0,171,
+sled,0,171,
+simple_face,0,171,
+samur_shalem,1,171,
+sakura,0,171,
+royalty_(artist),1,171,theroyalgryphon
+rock_out_with_your_cock_out,0,171,
+reagan700,1,171,
+ranadi,1,171,
+rafflone,1,171,
+purple_hands,0,171,
+punishedkom,1,171,
+practice,0,171,
+police_baton,0,171,
+pink_butt,0,171,"pink_ass,pink_booty"
+patrick_star,4,171,
+papillon,5,171,"butterfly_dog,continental_toy_spaniel,papillon_dog"
+paper_mario_(2000),3,171,
+papayafurry,1,171,
+pan,0,171,
+orbitalis,1,171,
+obaum,1,171,
+mime,0,171,
+massage_table,0,171,
+lube_on_sex_toy,0,171,
+lizardfolk,5,171,"lizardgirl,lizardwoman"
+lako,1,171,
+kristakeshi,1,171,
+king_kong,4,171,
+kamudragon,1,171,mazemore
+kamikiller,1,171,
+jasmine_(skidd),4,171,
+jackknife_chelicerae,0,171,
+inflatable_transformation,0,171,
+industrial,0,171,
+implied_cannibalism,0,171,
+imminent_fellatio,0,171,
+hornet,5,171,
+heart_accessory,0,171,
+hands_on_wall,0,171,
+hairjob,0,171,
+grand_theft_auto,3,171,gta
+garuda_six,1,171,
+furaffinity_logo,0,171,
+flogger,0,171,
+flail,0,171,
+felicity_longis_(colorist),1,171,
+fanny_pack,0,171,"belly-bag,belly_bag,bellybag,belt-bag,belt_bag,beltbag,bum-bag,bum_bag,bumbag,fanny-pack,fannypack,moon-bag,moon_bag,moonbag"
+fang_(animal_crossing),4,171,
+eti_(utopianvee),4,171,
+ethan_(pokémon),4,171,"ethan_(pokemon),gold_(pokemon),gold_(pokémon)"
+enryo,1,171,"kame680,エンリョ"
+elicitie,1,171,
+dredjir,1,171,
+dober,1,171,
+diplodocus,5,171,
+daz3d,3,171,
+date_natsuku,1,171,"mad-puppy,ダテナツク,伊達なつく"
+covertcanine,1,171,covertlycanid
+collaborative_breastfeeding,0,171,
+childish_panties,0,171,
+bitemylip,1,171,
+bebecake,1,171,bebecake_(artist)
+banderi,1,171,
+balaclava,0,171,"balaclava_helmet,balaclava_mask,ski_mask"
+artemis_tsukino,4,171,
+anthro_fingered,0,171,
+alvo_(target_miss),4,171,
+ahnik,1,171,"ahnik_(artist),ahniksaur,ahniksaur_(artist)"
+agent_torque,4,171,
+agemono,1,171,"agemon,アゲモの,アゲモン"
+32:33,7,171,
+zackdadawg,1,170,
+yello,4,170,
+wolver_mustang,1,170,wmustang
+widowmaker_(overwatch),4,170,
+white_eyelashes,0,170,
+white_collar,0,170,
+upside_down_pussy,0,170,"upside-down_pussy,upsidedown_pussy"
+tearing,0,170,
+tank_(mlp),4,170,tank_the_tortoise
+sylvia_(wander_over_yonder),4,170,
+stylized_text,0,170,
+stepanda,1,170,stepandy
+spunkie,1,170,
+sprout_cloverleaf_(mlp),4,170,
+snao,1,170,
+slimshod,4,170,
+shadow_bonnie_(fnaf),4,170,
+set_(species),5,170,"set_(animal),set_animal,set_species,seth_(species),seth_species,sha_(animal),sha_(species),sha_animal,sha_species,typhonian_animal,typhonic_beast."
+sera_(sera),4,170,
+self_cum_inflation,0,170,
+renato_manchas,4,170,
+rawr,0,170,
+purple_eyelids,0,170,
+print_headwear,0,170,
+prettypinkponyprincess,1,170,
+panty_bulge,0,170,
+panel_overlap,0,170,
+orange_cheeks,0,170,
+opening_door,0,170,
+nocturnalfuzz,1,170,
+necktie_grab,0,170,
+myenia,1,170,
+morca_(character),4,170,
+mongolian,0,170,
+metroid_prime,3,170,
+medusozoan_humanoid,5,170,
+mdjoe,1,170,
+masterzoroark666,1,170,
+lazy,0,170,
+lacy_(blazethefox),4,170,
+koba,1,170,everydaydolphin
+katsuke_(character),4,170,
+jake_(study_partners),4,170,
+inward_tail_speech_bubble,0,170,
+imminent_masturbation,0,170,
+hisaki_(live-a-hero),4,170,
+hip_markings,0,170,"hip_marking,hips_marking,hips_markings"
+hexagon,0,170,
+hand_over_head,0,170,
+green_arms,0,170,
+galo,1,170,
+foxmusk,1,170,
+fafcomics,3,170,
+endoskeleton,0,170,
+endless_(artist),1,170,
+electrikestorm,1,170,electrikedeathstrike
+drogoz,4,170,
+double_fisting,0,170,
+djcoyoteguy,1,170,
+dekaisen,1,170,dazreiello
+darkdraketom,1,170,
+dark_feet,0,170,
+cyber_dragon,5,170,
+cum_in_bucket,0,170,
+cock_warmer,0,170,"cock_sleeves,cock_warmers,cockwarmer,cockwarmers,penis_sleeve,penis_sleeves,penis_warmer,penis_warmers,peniswarmer,peniswarmers"
+chaos-draco,1,170,chaos-drago
+casynuf,1,170,
+bunnicula,4,170,
+breast_torture,0,170,
+beaten,0,170,
+barbecue,0,170,barbeque
+balls_on_penis,0,170,
+aunt_and_nephew,0,170,nephew_and_aunt
+arai-san,4,170,"arai_san,common_raccoon_(kemono_friends),raccoon_(kemono_friends)"
+aluka_(dragoon86),4,170,
+adrian_gray,4,170,
+zbornak,5,169,
+yozora,4,169,
+x-ray_flash,0,169,
+workshop,0,169,
+vf-01s,1,169,
+unknownlifeform,1,169,
+tupidwithouts,1,169,
+translucent_dress,0,169,"see-through_dress,see-thru_dress,see_through_dress,see_thru_dress,sheer_dress,transparent_dress"
+tabhead,1,169,
+sugar,0,169,
+spread_slit,0,169,"slit_spreading,spreading_slit"
+sophie_(funkybun),4,169,
+sitting_on_ball,0,169,
+sith,0,169,
+savourysausages,1,169,
+rocky_(paw_patrol),4,169,
+rizonik,1,169,
+rip,0,169,
+rayzoir,1,169,rayzor-sharp
+ranamon,5,169,
+purple_jacket,0,169,
+pirin-apex,1,169,
+physical_list,0,169,
+petaroh,1,169,
+odogaron,5,169,
+nude_gynomorph,0,169,
+novus,4,169,
+nonbinary_pride_colors,0,169,"nb_colors,nb_flag,nb_pride_colors,nb_pride_flag,non-binary_colors,non-binary_flag,non-binary_pride_colors,non-binary_pride_flag,non_binary_colors,non_binary_flag,non_binary_pride_colors,non_binary_pride_flag,nonbinary_colors,nonbinary_flag,nonbinary_pride_flag"
+neumono,5,169,
+monotone_panties,0,169,
+minxydoodle,1,169,
+mia_(talash),4,169,
+mei_(overwatch),4,169,
+megan_giles,1,169,dustmeat
+magic_lamp,0,169,"genie_lamp,genie_lamps,genielamp,magic_lamps,magiclamp,magiclamps"
+light_truck,0,169,
+lanturn,5,169,
+kappy,1,169,
+jojocoso,1,169,
+jellyfish_humanoid,5,169,
+jeffron,1,169,
+inter_schminter,0,169,
+in_food,0,169,
+hyena_father_(pickles-hyena),4,169,
+holding_shin,0,169,
+hikari_kamiya,4,169,"hikari_yagami,kari_kamiya"
+grey_tuft,0,169,gray_tuft
+goblin_slayer,3,169,
+garnet_(jewelpet),4,169,garnet_(jewel_pet)
+fruitymilk,1,169,
+flabébé,5,169,flabebe
+feralsoren,1,169,
+el-yeguero,1,169,winged-wonders
+dutch_(artist),1,169,
+dusk_rhine,4,169,
+den255,1,169,
+das,1,169,das_(artist)
+danawolfin,1,169,
+cocktail_umbrella,0,169,
+clothes_pin,0,169,"clothes_peg,clothes_pins,clothespin,clothespins"
+cheesecaked,1,169,
+cervine_humanoid,5,169,humanoid_cervine
+cadou_host_(resident_evil),5,169,
+bow_dress,0,169,
+black_chest,0,169,
+big_forearms,0,169,"big_forearm,large_forearm,large_forearms"
+basketball_hoop,0,169,
+baboon,5,169,
+avo_(weaver),4,169,
+arm_around_back,0,169,
+appmon_(species),5,169,
+antira,1,169,
+amarihel,1,169,
+ailaanne,1,169,ameliaparris
+aerodactyl,5,169,
+4_nipples,0,169,four_nipples
+16:21,7,169,
+whitephox,1,168,
+white_robe,0,168,
+voodoo_sex,0,168,
+upright-infinity,1,168,
+twstacker_(character),4,168,
+tsukune_minaga,1,168,"daiga_tsukune,diga_foxdog,naga_tsukune,奈賀つくね"
+treebarkdragon,1,168,
+the_walten_files,3,168,
+the_fatcat,1,168,
+tentacles_around_legs,0,168,
+tentacle_mouth,0,168,
+taurusart,1,168,taurus_(artist)
+tashi_gibson,4,168,
+tangobat,1,168,
+tail_stripes,0,168,
+shinkaku,1,168,larrykitty
+scarlet_(sequential_art),4,168,
+sanka-tetsu,1,168,iron-0xide
+ruff_(clothing),0,168,"elizabethan_collar,ruff_(collar),ruff_clothing,ruff_collar"
+radioactive,0,168,
+oriental,0,168,
+opera_kranz,4,168,opéra_kranz
+noirbutt,1,168,rakashama
+needy,0,168,
+natasha_(jmh),4,168,
+mylar_(discreet_user),4,168,
+mrs1989,1,168,
+moomis,1,168,
+mond_reyes,4,168,
+md34,1,168,
+may825,1,168,
+magenta_hair,0,168,
+luca_(pixar),3,168,
+looking_outside,0,168,
+licking_own_beak,0,168,
+leo_(twitchyanimation),4,168,
+layered_heart,0,168,
+lava_cum,0,168,magma_cum
+kkoart,1,168,
+kiyo,1,168,futokage
+kid_cat_(animal_crossing),4,168,
+keltaan,1,168,
+kanannbo,1,168,
+julie_(jhenightfox),4,168,
+jay-marvel,1,168,
+jam_(miu),4,168,
+jademerien,1,168,jademere
+iseenudepeople,1,168,
+iron_cross,0,168,
+invisible_sex,0,168,
+innocenttazlet,1,168,
+hunnipanda,1,168,
+horn_ribbon,0,168,horn_ribbons
+holtz,1,168,holtzmann
+holding_ankle,0,168,
+hand_on_another's_chest,0,168,
+grillby,4,168,
+grey_tail_feathers,0,168,gray_tail_feathers
+goldmikun,1,168,
+ghislaine_dedorudia,4,168,ghyslaine_dedorudia
+galvantula,5,168,
+futon,0,168,
+french_artist,0,168,
+fetimation,1,168,
+featherweight_(mlp),4,168,
+egyptian_mau,5,168,
+ear_nibble,0,168,ear_nibbling
+dutch_angel_dragon,5,168,
+drychicken,1,168,
+dawnlux,1,168,
+daryl_vecat,4,168,
+cursed,0,168,
+cum_in_beak,0,168,
+crobat,5,168,
+corner,0,168,
+confession,0,168,
+condom_inside,0,168,
+collot_(beastars),4,168,
+chip_the_wolf,4,168,
+chicobo,1,168,
+chester_ringtail_magreer,4,168,
+cherushi,1,168,"cheru,cheru-cheru"
+cera_(the_land_before_time),4,168,
+catdog_(series),3,168,catdog
+capricorn,5,168,
+burn_scar,0,168,burn_scars
+briskby,1,168,
+br'er_fox,4,168,
+biffalo,1,168,
+bhtoss,1,168,
+anthro_dominating_male,0,168,
+anal_storage,0,168,
+zombiecat,1,167,
+whiteabigail,1,167,
+wesley_(suave_senpai),4,167,
+waitress_uniform,0,167,
+vem,4,167,
+veggie55,1,167,
+underwear_around_legs,0,167,
+twinning,0,167,
+transformers:_beast_wars,3,167,"beast_war,beast_war:_transformers,beast_war_transformers,beast_wars,beast_wars:_transformers,beast_wars_transformers,beastie:_transformers,beastie_transformers,beasties:_transformers,beasties_transformers,transformers:_beastie,transformers:_beasties,transformers_beast_war,transformers_beast_wars,transformers_beastie,transformers_beasties"
+the_gory_saint,1,167,
+syaokitty,1,167,
+suspended_via_penetration,0,167,
+superabsurd_res,7,167,"absurdly_absurd_res,incredibly_absurdres,super_absurd_res,superabsurdres"
+summon_night,3,167,
+suikuzu,1,167,"hiddenwhite,suirobo,yellowfur"
+spicedpopsicle,1,167,
+snowfyre,1,167,
+shesamonkey,1,167,
+sheath_grab,0,167,
+schnauzer,5,167,"wire-haired_pinscher,wire_haired_pinscher"
+sassy_saddles_(mlp),4,167,sassy_saddles
+reef_shark,5,167,
+plus-sized_elf,3,167,
+pillars,0,167,
+pickup_truck,0,167,"bakkie,bakkie_(truck),bakkie_(vehicle),bakkie_truck,bakkie_vehicle,pick-up_(truck),pick-up_truck,pick_up_(truck),pick_up_truck,pickup_(truck)"
+phone_screen,0,167,
+painted_breasts,0,167,
+ouginak,5,167,
+nes_controller,0,167,
+nami_(one_piece),4,167,
+name_in_internal_monologue,0,167,
+mrpandragon,1,167,"mrpandapants,tailidraws,tailisup"
+maliketh_(elden_ring),4,167,maliketh_the_black_blade
+long-tailed_weasel,5,167,"bridled_weasel,long_tailed_weasel"
+linda_wright,4,167,
+lexxs,4,167,
+koishi_chikasa,1,167,"izzanglan,小石ちかさ"
+kobold_adventure,3,167,
+kiggy,4,167,
+in_one_ear_and_out_the_other,0,167,
+ikugo_(artist),1,167,ikugo
+ice_manipulation,0,167,"cold_magic,cold_manipulation,cryo_kinesis,cryo_kinetic,cryokinesis,cryokinetic,frost_magic,frost_manipulation,glacio_kinesis,glacio_kinetic,glaciokinesis,glaciokinetic,ice_bender,ice_bending,ice_element_control,ice_magic,ice_release,icebender,icebending,pago_kinesis,pago_kinetic,pagokinesis,pagokinetic"
+htg,1,167,htg92
+holding_sheath,0,167,
+herm_on_bottom,0,167,
+hearts_around_entire_body,0,167,
+harwick,1,167,
+glass_bottle,0,167,
+female_rimming_female,0,167,
+feather_6,3,167,
+evolve_(copyright),3,167,evolve
+eggnog,0,167,egg_nog
+earthworm,5,167,earth_worm
+ear_growth,0,167,
+dr._t'ana,4,167,
+death_knight,0,167,
+deadpool,4,167,
+crunchobar,1,167,"crunchobar_(artist),cruncholewd,cruncholewd_(artist),lemoncremes,lemoncremes_(artist),white-castle,white-castle_(artist)"
+cozy,0,167,
+cocothezebra,1,167,murderousart
+coconut_drink,0,167,
+caressing_face,0,167,
+c-3matome,1,167,
+breast_physics,0,167,
+body_zipper,0,167,
+blossomforth_(mlp),4,167,
+between_cheeks,0,167,
+berruchan,1,167,
+barmaku,1,167,
+apex_legends,3,167,
+ancient,0,167,
+135:256,7,167,
+zygodactyl,0,166,
+zetsuboucchi,1,166,
+zanamaoria,1,166,
+yojek163,1,166,
+yellow_inner_ear_fluff,0,166,
+yamisonic,3,166,
+xianjaguar,1,166,
+warehouse,0,166,
+ursula_vernon,1,166,ursulav
+unusual_saliva,0,166,
+unregisteredcat,1,166,
+unicorn_humanoid,5,166,
+two_tone_antennae,0,166,"two-tone_antenna,two-tone_antennae,two_tone_antenna"
+toco_(artist),1,166,
+tfancred,1,166,
+tail_curl,0,166,
+sya,1,166,
+sparkling_background,0,166,
+souladdicted,1,166,
+shellyochunks,1,166,"flimflamfloozy,iveechan,iveechan_(artist)"
+sevi_blaze,1,166,
+servo117,1,166,
+scarlet-frost,1,166,
+sasquatch,5,166,bigfoot
+sanzo,1,166,
+ryn_purrawri,4,166,
+ricky945,1,166,
+rareel,4,166,
+rapid_strike_style_urshifu,5,166,"rapid_strike_style,rapid_strike_urshifu,rapid_urshifu,urshifu_(rapid),urshifu_(rapid_strike),urshifu_(rapid_strike_style),urshifu_rapid,urshifu_rapid_strike,urshifu_rapid_strike_style"
+portal_penis,0,166,
+peeing_into_cup,0,166,peeing_into_glass
+pastry,0,166,
+pashoo,1,166,
+nut-case,1,166,redpandacase
+musician,0,166,
+mr._mist,1,166,
+mouth_scar,0,166,
+mind_drive,1,166,
+maya_(software),3,166,
+malefor,4,166,
+majin_buu,4,166,
+maddworld,1,166,
+luvon,1,166,lovelydagger
+lodi,1,166,
+little_witch_academia,3,166,
+lichgirlart,1,166,oddchurch
+kelsey_sienna,4,166,
+jeremy_mullins,1,166,"mad_polar,madpolar"
+ittla,1,166,
+hip_to_hip,0,166,
+hedge,0,166,
+gunshot,0,166,
+grimm_(rwby),5,166,
+garruuk,1,166,
+gardening,0,166,
+furlyfe_redux,1,166,
+fredbear_(fnaf),4,166,
+feral_to_anthro,0,166,
+ezcett,1,166,
+dolpix,1,166,どるぴくす
+cyrillic_text,7,166,
+coolryong,1,166,
+comic_book,0,166,comic_books
+car_sex,0,166,
+c0nnerc00n,1,166,
+bondage_chair,0,166,
+bolero_delatante,4,166,
+blanca_(nicky_illust),4,166,
+bee_haji,1,166,"beecon,beecon123"
+beach_blanket,0,166,
+artofthediscipline,1,166,
+applebottom_family,4,166,
+andromorph/andromorph,0,166,"am/am,andro/andro,andromorph_on_andromorph,c/c,cboy/cboy,cuntboy/cuntboy,cuntboy_on_cuntboy"
+amixeduppuppy,1,166,
+alma_(vixinecomics),4,166,alma_(quest_for_fun)
+aipom,5,166,
+xing_(the_xing1),4,165,
+waist,0,165,
+triple_vaginal,0,165,
+tigra,4,165,
+thaasteo,1,165,
+tchaikovsky2,1,165,
+tardis,0,165,
+tan_beak,0,165,
+sugaryhotdog,1,165,
+stones,0,165,
+soul_stealing,0,165,
+sinshadowed,1,165,sinshadowed_(artist)
+silicon_studio,3,165,
+shudayuda,1,165,
+shio_inu,1,165,"shioinu,しおいぬ"
+sharpedo,5,165,sharpedo_(species)
+seph_(naughtymorg),4,165,
+rimming_request,0,165,
+reuniclus,5,165,
+pxlfur,1,165,pxlfur_(artist)
+plussun,1,165,
+plus-alpha,1,165,
+pawl_(fuze),4,165,
+paintfox,1,165,the_crappy_paint_job
+oatmealpecheneg,1,165,
+niniidawns,1,165,proofme
+neltharion290,1,165,azaliabluetide
+mizuse_higomaru,1,165,
+mitsuharu,1,165,
+michikochan,1,165,
+mercenary,0,165,
+maid_hat,0,165,
+macro_pred,0,165,
+loss_of_speech,0,165,
+longma,5,165,
+long_skirt,0,165,
+loimu_(character),4,165,
+larger_cub,0,165,
+kougatalbain,3,165,
+konpeto,1,165,lala-kun
+komoroshi_(artist),1,165,
+keyblade,0,165,
+kanada,1,165,
+jay-r,1,165,
+invincible_(comics),3,165,
+inkling_boy,4,165,
+hoop,0,165,
+hobbes_maxwell,1,165,"boiler3,hobbesmaxwell"
+hitting,0,165,
+healing,0,165,
+h-key,1,165,
+grispinne,1,165,
+fukurou_ya,1,165,"fukurou,fukurou0807"
+freckles_on_shoulders,0,165,
+fire_emblem_awakening,3,165,
+eurasian_lynx,5,165,
+drxsmokey,1,165,
+discipline,0,165,
+dirty_anal,0,165,
+death_by_penis,0,165,
+damingo,1,165,
+cream_tail,0,165,
+cosmic_tail,0,165,
+convincing_weapon,0,165,
+conversational_sign,0,165,
+collaborative_footjob,0,165,"collaborative_foot_job,quadruple_foot_job,quadruple_footjob,triple_foot_job,triple_footjob"
+cirruskitfox,1,165,
+chaoji_xiao_shou_he,1,165,
+camp_lazlo,3,165,
+buruma,0,165,
+breast_blush,0,165,
+bisharp,5,165,
+big-fig,1,165,
+belly_squeeze,0,165,
+bd,1,165,
+anuv,4,165,
+anormaluser,1,165,
+amuzoreh,1,165,
+zal,4,164,
+yoshi_egg,0,164,
+yellow_scarf,0,164,
+yellow_arms,0,164,
+yamatoji201,1,164,
+wonderbolts_uniform,0,164,
+wolf_villain_(live-a-hero),4,164,
+water_lily,0,164,
+varied_multi_penis,0,164,
+vagoncho,1,164,
+traffic_cone,0,164,
+theo_young,1,164,
+tahm_kench_(lol),4,164,
+sticker_pack,0,164,
+star_pattern,0,164,
+stained_clothing,0,164,
+spuydjeks,1,164,
+spirale_(character),4,164,
+soukosouji,1,164,倉子倉次
+scottish,0,164,
+rt001,1,164,
+rapid_pregnancy,0,164,"accelerated_pregnancy,instant_pregnancy,sudden_pregnancy"
+rackun,1,164,
+pvt._keron,1,164,
+project_x_love_potion_disaster,3,164,
+pregnant_herm,0,164,pregnant_hermaphrodite
+pokéball_anal_beads,0,164,"poke_ball_anal_bead,poke_ball_anal_beads,poke_ball_anus_bead,poke_ball_anus_beads,poke_ball_pussy_bead,poke_ball_pussy_beads,poke_ball_sex_bead,poke_ball_sex_beads,poke_ball_urethra_bead,poke_ball_urethra_beads,poke_ball_urethral_bead,poke_ball_urethral_beads,poke_ball_vagina_bead,poke_ball_vagina_beads,poke_ball_vaginal_bead,poke_ball_vaginal_beads,poke_bead,poke_beads,pokeball_anal_bead,pokeball_anal_beads,pokeball_anus_bead,pokeball_anus_beads,pokeball_pussy_bead,pokeball_pussy_beads,pokeball_sex_bead,pokeball_sex_beads,pokeball_urethra_bead,pokeball_urethra_beads,pokeball_urethral_bead,pokeball_urethral_beads,pokeball_vagina_bead,pokeball_vagina_beads,pokeball_vaginal_bead,pokeball_vaginal_beads,pokebead,pokebeads,poké_ball_anal_bead,poké_ball_anal_beads,poké_ball_anus_bead,poké_ball_anus_beads,poké_ball_pussy_bead,poké_ball_pussy_beads,poké_ball_sex_bead,poké_ball_sex_beads,poké_ball_urethra_bead,poké_ball_urethra_beads,poké_ball_urethral_bead,poké_ball_urethral_beads,poké_ball_vagina_bead,poké_ball_vagina_beads,poké_ball_vaginal_bead,poké_ball_vaginal_beads,poké_bead,poké_beads,pokéball_anal_bead,pokéball_anus_bead,pokéball_anus_beads,pokéball_pussy_bead,pokéball_pussy_beads,pokéball_sex_bead,pokéball_sex_beads,pokéball_urethra_bead,pokéball_urethra_beads,pokéball_urethral_bead,pokéball_urethral_beads,pokéball_vagina_bead,pokéball_vagina_beads,pokéball_vaginal_bead,pokéball_vaginal_beads,pokébead,pokébeads"
+perverted_bunny,1,164,
+penny_ling,4,164,
+penis_in_cloaca,0,164,
+pawalo,4,164,
+okata,1,164,
+offering_condom,0,164,
+nevarrio,4,164,
+nessie_(disney),4,164,
+nekoforest,1,164,
+natsumemetalsonic,1,164,
+name_stutter,0,164,
+naked_mole-rat,5,164,naked_mole_rat
+monster_girl_profile,3,164,monster_girl_profiles
+misterpickleman,1,164,
+meisaikawaii,1,164,
+lucreteer,1,164,
+lizeron,4,164,
+lesbian_pride_colors,0,164,"lesbian_flag,lesbian_pride_flag"
+koffing,5,164,
+kalida,1,164,
+iron_will_(mlp),4,164,
+hospital_gown,0,164,
+home,0,164,
+heart_after_signature,0,164,
+harvey_beaks_(series),3,164,
+happyending,1,164,happylittleguy
+hanul,4,164,
+hand_under_chin,0,164,
+gimp,0,164,
+giancarlo_rosato,4,164,
+foxy_(cally3d),4,164,
+floebean,1,164,floe
+flick-the-thief,1,164,
+fingerless_gloves_(marking),0,164,"fingerless_glove_(marking),fingerless_glove_(markings),fingerless_glove_marking,fingerless_glove_markings,fingerless_gloves_(markings),fingerless_gloves_marking,fingerless_gloves_markings"
+evals,4,164,evals_(twokinds)
+elias_acorn,4,164,
+eamart,1,164,eam0
+dulcine,4,164,
+dragonofdarkness13,1,164,
+doom_eternal,3,164,
+diddy_kong_racing,3,164,dkr
+dark_samus,4,164,
+dante_kinkade,4,164,
+cracked,0,164,
+christopher_thorndyke,4,164,"chris_(sonic),chris_(sonic_x),chris_thorndyke"
+bucky_oryx-antlerson,4,164,
+brown_neck,0,164,
+blue_spikes,0,164,
+backless_leotard,0,164,
+baby_powder,0,164,
+aozee,1,164,
+angry_expression,0,164,
+angelauxes,1,164,
+alicia_acorn,4,164,
+after_exercise,0,164,"after-exercise,after-exercising,after-work_out,after-working_out,after-workingout,after-workout,after_exercising,after_work_out,after_working_out,after_workingout,after_workout,afterexercise,afterexercising,afterwork_out,afterworking_out,afterworkingout,afterworkout,post-exercise,post-exercising,post-work_out,post-working_out,post-workingout,post-workout,post_exercise,post_exercising,post_work_out,post_working_out,post_workingout,post_workout,postexercise,postexercising,postwork_out,postworking_out,postworkingout,postworkout"
+ace_attorney,3,164,apollo_justice:_ace_attorney
+a_fox_in_space,3,164,star_fox_the_animated_series
+4pcsset,1,164,
+zyria,1,163,
+zenmigawa,1,163,
+zamzi,1,163,"chocoteeni,chocoteenie,momochi,zamboomafoo,zamzee"
+wintersnowolf,1,163,rainartsink
+white_ribbon,0,163,
+vondranart,1,163,msvondran
+voluptuous_gynomorph,0,163,
+ttothep_arts,1,163,
+trick,0,163,
+tek_(tekandprieda),4,163,
+tan_stripes,0,163,
+son_dom_father_sub,0,163,
+shido-tara,1,163,
+russel_(pickles-hyena),4,163,
+radiantrealm,1,163,
+qupostuv35,1,163,
+pyro29,4,163,
+pokémon_tcg,3,163,"pokemon_tcg,pokemon_trading_card_game,pokémon_trading_card_game"
+pink_glasses,0,163,
+phlegraofmystery,1,163,
+panchito_pistoles,4,163,
+opalescence_(mlp),4,163,"opal_(mlp),opalescence"
+ookami-kun,1,163,
+non_toxic_(oc),4,163,
+nightmaremoons,1,163,rainbowdashie
+multiple_forms,0,163,
+multi_clitoris,0,163,"multi-clit,multi_clit"
+meru_(hhc),4,163,
+mallow_(hhc),4,163,
+maci_(ceehaz),4,163,
+lurkergg,1,163,
+lunar_epitaph,1,163,lunar-epitaph
+looking_offscreen,0,163,
+lonely,0,163,
+living_car,5,163,
+lets0020,1,163,
+leg_hug,0,163,
+kermit_the_frog,4,163,kermit
+joooji,1,163,
+jesse_collins,4,163,
+inu-jean,1,163,
+ink-eyes,4,163,
+ilovejudyhopps,1,163,marthasays
+hyper_lips,0,163,"giant_lip,giant_lips,gigantic_lip,gigantic_lips,hyper_lip"
+holding_fork,0,163,
+high_contrast,7,163,chiaroscuro
+hand_on_own_shin,0,163,
+hair_dryer,0,163,"blo-dry,blo-dryer,blo_dry,blo_dryer,blodry,blodryer,blow-dry,blow-dryer,blow_drier,blow_dry,blow_dryer,blowdrier,blowdry,blowdryer,hair_drier,hairdrier,hairdryer"
+growth_sequence,0,163,
+grey_armwear,0,163,gray_armwear
+gothorita,5,163,
+glowsticking,0,163,
+freya_howell,4,163,
+flinters_(character),4,163,
+flag_background,0,163,
+filbert_(animal_crossing),4,163,
+feces_on_face,0,163,scat_on_face
+fashion_saddle,0,163,
+face_tentacles,0,163,mouth_tentacles
+expression_cutaway,0,163,
+electric_shock,0,163,
+dog_days,3,163,
+dean_(drako1997),4,163,
+dark_grey_fur,0,163,
+dagger_leonelli,1,163,daggerleonelli
+cutout_heels,0,163,
+color_partitioning,0,163,
+cobalion,5,163,
+cleaver_(weapon),0,163,
+claspers,0,163,
+chibi-marrow,1,163,chibi_marrow
+cake_sitting,0,163,
+bonbon_(animal_crossing),4,163,
+blood_on_penis,0,163,
+bastion_aduro,4,163,bast_(dreamkeepers)
+azre,1,163,
+awesome_face,0,163,
+avogadrotoast,1,163,
+amber_(fuf),4,163,
+ahnik_(character),4,163,
+afevis_(character),4,163,
+yordraw,1,162,
+yellow_yoshi,5,162,
+wolfiecanem,1,162,the_fabulous_croissant
+victoria_viper,1,162,
+vertical_nipple_piercing,0,162,
+tsukinori,1,162,
+touching_own_hip,0,162,
+tini_(grimart),4,162,
+tiktok,3,162,tik_tok
+thediscorded,1,162,
+the-butcher-x,1,162,the-butch-x
+thank_you,0,162,
+teddy_jack,1,162,
+stesha_di,1,162,
+standing_on_another,0,162,
+ssirrus,1,162,
+sprite_art,0,162,
+someone's_pc,3,162,
+skippy,4,162,
+silvia_(pullmytail),4,162,
+sadcat16hrz,1,162,
+ramdoctor,1,162,mdlmemorybank
+porygon-z,5,162,
+pork,0,162,
+pokkén_tournament,3,162,"pokken,pokken_tournament,pokken_tournament_dx,pokkén,pokkén_tournament_dx"
+piercing_bondage,0,162,
+pesty_skillengton,1,162,
+pantheradraws,1,162,"sxf-pantera,sxf-pantera_(artist),sxfpantera,sxfpantera_(artist)"
+on_one_hand,0,162,
+ollie_(pop'n_music),4,162,
+no_shoes,0,162,
+nia_(xenoblade),4,162,
+neayix,1,162,
+nameless_character,4,162,
+mythological_salamander,5,162,"salamander_(mythological),salamander_(mythology)"
+multicolored_panties,0,162,
+mintyspirit,1,162,
+meloetta_(pirouette_form),5,162,"meloetta_(pirouette_forme),meloetta_pirouette,pirouette_meloetta"
+mega_man_x_(series),3,162,"mega_man_x,megaman_x"
+manya,1,162,
+lonelycharart,1,162,
+leaning_on_edge,0,162,
+klifflod,1,162,
+klenerschluchti,3,162,
+kitsunekotaro,1,162,asurakitsune
+kalie,4,162,
+inuki_zu,4,162,
+iguanamouth,1,162,
+hutago,1,162,
+huge_abs,0,162,
+hovering,0,162,
+highoncoffee,1,162,
+helmed_(helmed),4,162,
+healingpit,1,162,
+haloren,4,162,
+gym_bag,0,162,
+grumblepluck,1,162,
+greyhound,5,162,"grayhound,greyhounds"
+green_exoskeleton,0,162,
+gonewiththefart,1,162,
+glados,4,162,glados_(portal)
+gintaro,4,162,
+gashiboka,1,162,
+fried_egg,0,162,
+fols,4,162,
+fire_salamander_(salamander),5,162,
+fire_hydrant,0,162,
+ferris,1,162,
+evelia_zara,4,162,
+eelektross,5,162,
+ear_rub,0,162,ear_rubbing
+durg,4,162,
+digital_clock,0,162,
+darma_(rock_dog),4,162,
+dark_hands,0,162,
+danny_sterling_(spitfire420007),4,162,
+bow_hothoof_(mlp),4,162,
+board,0,162,
+blue_tuft,0,162,
+blue_toes,0,162,
+basket_position,0,162,
+barcode_tattoo,0,162,
+animal_plushie,0,162,
+amanda_(tcitw),4,162,
+alibi-cami,1,162,
+adult_fink,4,162,
+21:9,7,162,7:3
+zlut385,1,161,
+zak_(fvt),4,161,
+yimingsama,1,161,
+wii_fit_trainer,4,161,
+wereursid,5,161,werebear
+tramp,4,161,
+torterra,5,161,
+ticket,0,161,tickets
+tarian,1,161,
+t-kay,1,161,
+spotted_bow,0,161,
+solardelton,1,161,
+shwonky,1,161,
+rysoka,4,161,
+ruruduu,1,161,
+rinrin_(pokémon_gold_beta),5,161,"ringaling,rinrin_(beta_pokemon),rinrin_(beta_pokémon),rinrin_(gold_beta),rinrin_(pokemon_gold_beta),rinring"
+redfred,1,161,
+red_(redishdragie),4,161,
+rattatatus78,1,161,
+qwaxi~lixard,1,161,
+pinocchio,3,161,
+petronoise,1,161,
+penis_on_glass,0,161,
+pat_(lapatte),4,161,
+obijime,0,161,
+notesaver,1,161,
+night_creep,1,161,"nightcreepmax,spittfire,spittfire_(artist),spittfireart"
+natasha_cat,1,161,natashacat
+mixi_elkhound,4,161,
+minum,1,161,
+marvol,4,161,voodoogator
+markydaysaid,1,161,
+marking_territory,0,161,"territorial_marking,territory_marking"
+lynxbrush,1,161,
+luthien_nightwolf,1,161,luthiennightwolf
+luggage,0,161,
+lucas_raymond,4,161,
+koopa_clown_car,0,161,
+kimero_kat,1,161,
+kerfus,4,161,
+ken_ashcorp,4,161,
+kanizo,1,161,
+james_auvereign,4,161,j_(hungothenomster)
+hark,1,161,
+hands_on_back,0,161,
+halotroll,1,161,haloowl
+grostenmeiers,1,161,
+giggles_(htf),4,161,
+gentleman,0,161,
+gamercat_(character),4,161,
+furryrex_(artist),1,161,
+fray_(reysi),4,161,reysi_(reysi)
+footjob_while_masturbating,0,161,
+food_container,0,161,
+fixed_vibrator,0,161,
+fishimira,1,161,
+feeldoe,0,161,
+father_of_the_pride,3,161,
+fairy_lights,0,161,
+fade_out,0,161,
+exposed_chest,0,161,
+drippy,0,161,
+dripping_contour,0,161,
+doxxyl,1,161,
+dots,0,161,
+dom_(naughtymorg),4,161,
+desmond_(ceeb),4,161,
+cultist,0,161,
+condom_crusader,4,161,
+casual_incest,0,161,
+bubble_bobble,3,161,
+brontosaurus,5,161,
+brand,0,161,
+birthday_sex,0,161,
+billiards,0,161,"billiard,pool_(game)"
+big_iris,0,161,
+bebebebebe,1,161,"be_be_be_be_be,bebebebe,inax,toto_(artist),washlet_mskm"
+bagi_the_monster_of_mighty_nature,3,161,
+artoria_pendragon,4,161,
+allesiathehedge,1,161,
+achakura,1,161,hsm324710
+90sigma,1,161,
+wolfarion,1,160,
+wishbone_mouth,0,160,
+whitmaverick,1,160,
+wedge_(footwear),0,160,wedge_heels
+vyktor_dreygo,4,160,
+vateo,1,160,
+utility_pole,0,160,telephone_pole
+tomatocoup,1,160,palestorm
+thread,0,160,
+team_pose,0,160,
+tail_around_penis,0,160,
+swirl,0,160,
+sunni_gummi,4,160,
+stormcutter,5,160,
+soutarou_(morenatsu),4,160,"soutaro,soutaro_touno,soutarou,soutarou_touno,touno_soutaro,touno_soutarou"
+sliggoo,5,160,shiny_sliggoo
+seraphine_(roflfox),4,160,
+seismitoad,5,160,
+scarabaeid,5,160,"scarabaeidae,scarabaeidaen"
+saria,4,160,
+rubbercat,5,160,
+richard_(james_howard),4,160,
+reverse_wheelbarrow_position,0,160,
+ren_and_stimpy,3,160,"adult_party_cartoon,ren_&_stimpy,ren_&_stimpy_show,ren_and_stimpy_""adult_party_cartoon"",ren_and_stimpy_adult_party_cartoon,ren_and_stimpy_show,the_ren_&_stimpy_show,the_ren_and_stimpy_show"
+reinkorn,1,160,
+reddo12340,1,160,
+pumbaa,4,160,pumba
+protagon,1,160,
+primal_reversion,5,160,
+plaguedobsession,1,160,
+pawtsun,1,160,
+patacon,1,160,
+pants_peeing,0,160,
+osira,4,160,
+oo_sebastian_oo,1,160,
+officer_wolfard,4,160,"officer_wolford,wolfard_(zootopia),wolford_(zootopia)"
+ni_jikan,1,160,二時間
+neracoda,1,160,
+nedroid,1,160,nedroid.com
+monotone_paws,0,160,
+momiji_yu-ga,1,160,
+mobian_prey,0,160,
+lucy_(hladilnik),4,160,
+lobadelaluna,1,160,
+living_sword,5,160,sword_creature
+lewdreaper,1,160,
+leo_(whiteleo),4,160,
+knotted_condom,0,160,
+kinkypinkie,1,160,
+kiddie_pool,0,160,"kiddy_pool,wading_pool"
+kento267,1,160,
+kaiotawolf,1,160,
+jlullaby,1,160,
+james_mccloud,4,160,
+inkudoragoon,1,160,
+impximon,1,160,ximonr
+idoodle2draw,1,160,
+humphrey_(canisfidelis),4,160,
+hoverrover,1,160,
+horn_magic,0,160,
+hiding_erection,0,160,
+happi_(clothing),0,160,
+halo_horns,0,160,
+grubbs_(stinkyawei),1,160,stinkyawei
+grey_panties,0,160,gray_panties
+furrypur,1,160,
+fnaf_vr_help_wanted,3,160,
+flabbyotter,1,160,
+fishnet_gloves,0,160,
+febii,4,160,
+exclamation,0,160,
+evlampyshka,1,160,
+etchgerbil,1,160,epilepticgerbil
+equine_balls,0,160,
+duckface,0,160,duck_face
+duck_hunt_duck,4,160,"duck_(duck_hunt),duck_(duckhunt)"
+dj_bop,4,160,
+dark_topwear,0,160,
+danmakuman,1,160,
+damaged_wall,0,160,
+cutlass,0,160,
+crushfang_(sdorica_sunset),4,160,
+crowbar,0,160,
+chimera_ant,5,160,
+binding,0,160,
+baggy_topwear,0,160,
+arm_on_shoulder,0,160,
+anthro_on_male,0,160,
+anise_(freckles),4,160,
+180_fov,7,160,"180_degrees,180_image"
+wonder_boy_(series),3,159,
+wonder_boy:_the_dragon's_trap,3,159,
+white_scarf,0,159,
+vaggie_(hazbin_hotel),4,159,vaggie_(vivzmind)
+tridognait,1,159,
+thymilph,1,159,cartoonrocker
+the_ballad_of_nessie,3,159,
+thatweirdguyjosh,1,159,
+tan_exoskeleton,0,159,
+taintedstar,1,159,
+sunflora,5,159,
+strikethrough,0,159,
+soggy_diaper,0,159,
+softailfox,1,159,
+shun_imai_(odd_taxi),4,159,
+shokan,5,159,
+sewing_needle,0,159,sewing_needles
+scratching_head,0,159,
+rise_of_the_guardians,3,159,
+revealing_clothes,0,159,
+red_coat,0,159,
+radcanine,1,159,
+puffy_speech_bubble,0,159,
+pudu_robotics,3,159,
+procellariiform,5,159,"petrel,procellariiforme,tubinare"
+onihidden,1,159,
+nightmare_foxy_(fnaf),4,159,
+neltruin,1,159,
+nami_(lol),4,159,nami_(league_of_legends)
+muddy,0,159,
+mishakun,1,159,
+mcsadat,1,159,ichigonokaori
+marvel_cinematic_universe,3,159,
+manfromearth,1,159,
+light_eyebrows,0,159,
+lexington_(gargoyles),4,159,lexington
+leaf_on_head,0,159,
+laudanumserum,1,159,
+kusarikakemono,1,159,
+joycon_controller,0,159,
+jaylus_t_meowstic,1,159,
+holding_waist,0,159,
+holding_leg_up,0,159,
+holding_glasses,0,159,
+hnz,1,159,"anton_hnz,antonhnz,hightnekohnz,higthnekohnz"
+hitmontop,5,159,
+helaviskrew,1,159,
+headscissor,0,159,headscissors
+happylittlecloud,1,159,
+gun_arm,0,159,
+glacierk,1,159,darthglacier
+gaming_while_penetrating,0,159,
+game_case,0,159,
+eye_mask,0,159,
+extraspecialzone,1,159,
+evil_look,0,159,
+eudetenis,1,159,
+eparihser,1,159,
+double_diamond_(mlp),4,159,double_diamond
+dirtyfox911911,1,159,
+dildo_sitting_reveal,0,159,
+daikitei,1,159,
+cum_inflated_breasts,0,159,
+cosmic_wings,0,159,
+collarbone_piercing,0,159,
+cofi_(chikn_nuggit),4,159,cofi_the_sheep
+clothing_down,0,159,
+cheetah_(dc),4,159,
+ceiling_fan,0,159,
+canine_ears,0,159,
+call_of_duty,3,159,
+bycocket,0,159,
+buster_moon,4,159,"buster_(sing),moon_(sing),mr._moon,mr.moon,mr_moon"
+big_flexor_carpi,0,159,
+beralin,1,159,"bahakha,beru-bera"
+aestheticc-meme,1,159,
+abandoned_building,0,159,
+zoe_(nnecgrau),4,158,
+zeeka,1,158,
+yuguni_(character),4,158,
+wub_(artist),1,158,
+writing_on_penis,0,158,
+wen,1,158,
+w'rose_radiuju,4,158,
+vaktus,1,158,vaktus_(artist)
+under_blanket,0,158,
+udder_balls,0,158,udderballs
+turtle_penis,0,158,"tortoise_penis,turtle_cock,turtlecock"
+tresertf,1,158,
+translucent_stockings,0,158,"see-through_stocking,see-through_stockings,see-thru_stocking,see-thru_stockings,see_through_stocking,see_through_stockings,see_thru_stocking,see_thru_stockings,sheer_stocking,sheer_stockings,transparent_stocking,transparent_stockings"
+togepi,5,158,
+thaz_(artist),1,158,
+striped_sins,3,158,
+stan_(beez),4,158,
+spirit_dancer,1,158,
+speedpaint,0,158,
+snowyfeline,1,158,
+slit_fingering,0,158,fingering_slit
+shopping_cart,0,158,
+shin_(mr-shin),4,158,
+shiarah,1,158,
+sheila_(spyro),4,158,
+selfie_stick,0,158,
+scarecrow,0,158,
+saryn_(warframe),4,158,
+salonkitty,1,158,
+risky_boots,4,158,
+reverse_amazon_position,0,158,
+quagsire,5,158,
+purple_legs,0,158,
+psychoticwalrus,1,158,
+prone_bone,0,158,pronebone
+polt_(monster_musume),4,158,
+plattyneko,1,158,
+petunia_(htf),4,158,
+pasadena_o'possum,4,158,"pasadena_o'_possum,pasadena_opossum"
+parking_lot,0,158,
+orf,1,158,
+onigiri,0,158,
+nikubo,1,158,fecho
+mikey6193,1,158,
+marii5555,1,158,
+krypto,4,158,
+kokiri,5,158,
+king_shark,4,158,
+king_of_sorrow,4,158,
+kera,4,158,
+jeremy_fitzgerald,4,158,
+huge_clitoris,0,158,
+holding_down,0,158,
+heavensdoor,1,158,
+hamili,1,158,
+halloween_decoration,0,158,
+golf_club,0,158,
+gold_tiara,0,158,
+frogadier,5,158,
+fritz_the_cat,3,158,
+fluttergoth,4,158,
+flammie,5,158,
+fin_frill,0,158,"fin_membrane,membrane_fin,membrane_fins,membranous_fin,membranous_fins"
+erection_under_bottomwear,0,158,
+double_footjob,0,158,
+donk,4,158,
+dodedo,1,158,noiserut
+dipper_pines,4,158,
+daz_studio,3,158,
+dandoo,1,158,
+d.w._read,4,158,"d.w._reed,d.w.read,d.w_read,dora_read,dora_winifred_read,dw._read,dw_read"
+crowned_shield_zamazenta,5,158,"crowned_(zamazenta),crowned_shield,crowned_shield_(zamazenta),crowned_shield_form,crowned_zamazenta,zamazenta_(crowned),zamazenta_(crowned_form),zamazenta_(crowned_shield),zamazenta_(crowned_shield_form),zamazenta_crowned,zamazenta_crowned_form,zamazenta_crowned_shield,zamazenta_crowned_shield_form"
+countershade_body,0,158,
+cockapoo,5,158,
+carliabot,1,158,
+canyne_khai,1,158,
+breast_tuft,0,158,
+bray_(kitfox-crimson),4,158,
+bluekomadori,1,158,
+blue_outline,0,158,
+blade_(xenoblade),5,158,
+black_yoshi,5,158,
+black_bikini_top,0,158,
+bellabot,5,158,
+bagi,4,158,
+anthro_fingering_anthro,0,158,
+akamai,4,158,
+ai_only_dream,1,158,
+90_percent_studios,3,158,
+ziina,4,157,
+wolfyzeeb,1,157,
+witchking00,1,157,
+white_exoskeleton,0,157,
+whisk,0,157,
+warpaint,0,157,
+voidtails,1,157,
+vanripper,1,157,
+universe,0,157,
+touching_own_thigh,0,157,
+thorso_the_vile,1,157,
+the_legend_of_korra,3,157,"avatar:_legend_of_korra,avatar:legends_of_korra,legend_of_korra"
+tentacle_bulge,0,157,
+temtem,3,157,tem_tem
+teen_titans_(television_series),3,157,"teen_titans:_trouble_in_tokyo,teen_titans_(cartoon),teen_titans_(cartoon-network),teen_titans_(cartoon_network),teen_titans_(cartoonnetwork),teen_titans_(cn),teen_titans_(show),teen_titans_(television),teen_titans_(tv),teen_titans_cartoon,teen_titans_cartoon-network,teen_titans_cartoon_network,teen_titans_cartoonnetwork,teen_titans_television,teen_titans_television_series,teen_titans_trouble_in_tokyo,teen_titans_tv,teen_titans_tv_series,trouble_in_tokyo"
+taimanin_(series),3,157,
+tails_doll,4,157,
+tadpole,5,157,
+syl_(enginetrap),4,157,
+sweaty_pussy,0,157,
+striped_pants,0,157,
+soto_(freckles),4,157,
+small_iris,0,157,
+sharing,0,157,
+shakattax,3,157,
+seyloid,5,157,
+septum_circular_barbell,0,157,
+sasha_la_fleur,4,157,
+salt,0,157,
+runt_(artist),1,157,
+rolling,0,157,
+redwall,3,157,
+red_robe,0,157,
+ranphafranboise,1,157,"tenjo_ryuka,tenjou_ryuka"
+ramul,1,157,
+rakete,1,157,
+public_service_announcement,0,157,psa
+pink_panther,4,157,
+patting_belly,0,157,
+parumpi,1,157,
+orange_bandanna,0,157,
+nutty_(htf),4,157,
+nullification,0,157,
+nuclear_throne,3,157,
+nicecream_man,4,157,nice_cream_guy
+morgan_gorgon,1,157,
+metric_unit,0,157,
+merveille_million,4,157,
+megawolf77,1,157,
+martha_speaks,3,157,
+marble,0,157,
+magenta_scales,0,157,
+lyrian,5,157,
+lungless_salamander,5,157,"plethodontid,plethodontidae"
+lunamew,4,157,
+lofi,1,157,loafyfloff
+lewnoli,1,157,
+kogotsuchidark,1,157,
+knot_swelling,0,157,
+kiyoshiro_higashimitarai,4,157,
+jenni_(jennibutt),4,157,
+iabelle,1,157,"ansil,iapetus"
+horatio_svetlana,1,157,
+hida,4,157,
+green_shell,0,157,
+glistening_bodily_fluids,0,157,"glistening_bodily_fluid,shiny_bodily_fluid,shiny_bodily_fluids"
+generic_messy_hair_anime_anon,4,157,
+gastrodon,5,157,
+gassy,0,157,
+gary_(zootopia),4,157,harry_(zootopia)
+gang,0,157,
+game_avatar,0,157,
+furikake,1,157,
+friday_the_13th,3,157,
+fluffysnowmeow,1,157,
+filthyopossum,1,157,
+feather_boa,0,157,
+emoji_(race),5,157,
+duo_in_panel,0,157,
+dovahkiin,4,157,dragonborn_(skyrim)
+diana_(animal_crossing),4,157,
+dep,1,157,
+denzel_t_smith_(character),4,157,
+daphne_blake,4,157,"daphne_(scooby),daphne_(scooby-doo),daphne_(scooby_doo),daphne_(scoobydoo)"
+cynicalstarr,1,157,
+croxot,1,157,croxot_(artist)
+cromachina,1,157,
+crema_(company),3,157,
+cowgirl_(disambiguation),6,157,"cow_girl,cowgirl"
+coszcatl,1,157,
+clown_nose,0,157,
+brenna_jorunn,4,157,
+black_heart,0,157,
+bisamon,1,157,
+bimbofied,0,157,
+bent_over_furniture,0,157,
+beauceron,5,157,"bas_rouge,beauce_sheepdog,berger_de_beauce"
+badenov,1,157,"dr_badenov,drbadenov,drbdnv,jerinov,ponideathmarch"
+backdraft,4,157,
+arbiter_(halo),4,157,
+accent,0,157,
+2channel,3,157,
+wet_skin,0,156,
+wafu,4,156,
+vovo,4,156,
+vileplume,5,156,
+vikifox,1,156,
+valley,0,156,
+unwanted_cum_on_body,0,156,
+two_tone_handwear,0,156,
+tropius,5,156,
+thorny_devil,5,156,"moloch,mountain_devil,thorny_dragon,thorny_lizard"
+temptation,0,156,
+tappei_(morenatsu),4,156,"midoriya_tappei,tappei,tappei_midoriya"
+tangled_(disney),3,156,
+super_sentai,3,156,
+submissive_top,0,156,
+star_reaction,0,156,
+space_zin,1,156,"space_jin,スペース人"
+soul_vore,0,156,
+snow_(matthewdragonblaze),4,156,
+sly,0,156,
+sitting_on_glass,0,156,
+sinna_roll,1,156,
+silvermoonfox,1,156,
+shiike999,1,156,
+sammy73,1,156,
+rotor_the_walrus,4,156,
+red_high_heels,0,156,
+red_headband,0,156,
+r-rova,1,156,
+pokémon_snap,3,156,pokemon_snap
+pokémon:_let's_go,3,156,"pokemon_let's_go,pokemon_let's_go!,pokemon_let's_go!_pikachu_and_eevee,pokemon_lets_go,pokemon_lets_go!"
+plantigrade_to_digitigrade,0,156,plantigrade_to_digtigrade
+pistol_pete,4,156,
+phess,1,156,
+pechschwinge,1,156,
+painted_butt,0,156,
+ominous,0,156,
+oddwilds,1,156,clarisgardens
+mrshu,1,156,
+monotone_headwear,0,156,
+mohurin,1,156,
+mixeeeel,1,156,みぜる
+misterdonn,1,156,
+mikeinel,1,156,"bastos_(artist),manyakis,mike_inel"
+mcyt,3,156,
+malon,4,156,
+maho-gato,4,156,maho
+macharius,4,156,
+low_poly,0,156,lowpoly
+lost_bet,0,156,
+loincloth_only,0,156,
+leglet,0,156,
+lavender_body,0,156,
+kreic,1,156,
+kel,4,156,
+jessimutt,1,156,
+hildegard_rothschild,4,156,
+hand_on_torso,0,156,
+haibet,1,156,
+georgia_lockheart,4,156,
+gay_to_straight,0,156,
+forced_rimming,0,156,
+ferris_argyle,4,156,felix_argyle
+feline_taur,5,156,
+epicbassface,1,156,
+drenmar,1,156,
+dragapult,5,156,
+doggadee,1,156,
+darkstylerz,1,156,
+crushpepper,1,156,
+cowboy_outfit,0,156,
+computer_virus_(species),5,156,
+cobblestone,0,156,cobbled_stone
+chilling,0,156,
+cerf,1,156,
+bundadingy,4,156,
+brock_(pokemon),4,156,"brock_(gym_leader),brock_(pokémon),gym_leader_brock,rock-solid_brock,rock-solid_pokemon_trainer!_brock,rock-solid_pokemon_trainer_brock,rock-solid_pokémon_trainer!_brock,rock-solid_pokémon_trainer_brock,rock_solid_brock,rock_solid_pokemon_trainer!_brock,rock_solid_pokemon_trainer_brock,rock_solid_pokémon_trainer!_brock,rock_solid_pokémon_trainer_brock,the_rock-solid_pokemon_trainer!_brock,the_rock-solid_pokemon_trainer_brock,the_rock-solid_pokémon_trainer!_brock,the_rock-solid_pokémon_trainer_brock,the_rock_solid_pokemon_trainer!_brock,the_rock_solid_pokemon_trainer_brock,the_rock_solid_pokémon_trainer!_brock,the_rock_solid_pokémon_trainer_brock"
+broadway_(gargoyles),4,156,broadway
+bow_underwear,0,156,
+black_flesh,0,156,
+biidama,1,156,
+balls_in_mouth,0,156,
+autumn_leaves,0,156,
+ashimaroo,1,156,
+anthro_top,0,156,
+animal_yokocho,3,156,
+angewomon,5,156,
+amit,1,156,
+alfa_quinto_(artist),1,156,dragonxpyro
+4_penises,0,156,
+zorryn,1,155,
+xngfng95,1,155,"senfen,sënfën,xiongfeng,xiongfeng95,xngfng"
+witchtaunter,1,155,
+wingding_eyes,0,155,
+wilford_wolf,4,155,
+v2wolf,1,155,"vodkawolf,v仔狼"
+trainer_iris,4,155,
+tinted_glasses,0,155,
+superbinario,1,155,
+sunshine_form_cherrim,5,155,"cherrim_(sun),cherrim_(sun_form),cherrim_(sun_forme),cherrim_(sunny),cherrim_(sunny_form),cherrim_(sunny_forme),cherrim_sun,cherrim_sun_form,cherrim_sun_forme,cherrim_sunny,cherrim_sunny_form,cherrim_sunny_forme,sun_cherrim,sun_form_cherrim,sun_forme_cherrim,sunny_cherrim,sunny_form_cherrim,sunny_forme_cherrim,sunshine_forme_cherrim"
+sunil_nevla,4,155,
+suid_humanoid,5,155,
+staro,1,155,
+spider_monkey,5,155,"ateles,spider-monkey,spidermonkey"
+slendid,1,155,slendidnt
+singer,0,155,
+sifyro,4,155,sifyro_(character)
+sherilane,1,155,
+shade_okami,1,155,shadeokami
+sandpancake,4,155,
+rubber_lass,4,155,
+repomorame,1,155,
+print_hat,0,155,
+plains,0,155,
+peanut.k,1,155,
+null_symbol,0,155,
+novus_(kitfox-crimson),4,155,
+nezumi_(magic:_the_gathering),5,155,"nezumi_(magic),nezumi_(magic_the_gathering),nezumi_(mtg)"
+negasun,1,155,
+my_gym_partner's_a_monkey,3,155,
+multicolored_neckerchief,0,155,
+monotone_tuft,0,155,
+michael_higgs,1,155,gafoxtaur
+metapod,5,155,
+mcdave19,1,155,
+lion-san,4,155,
+lantha,4,155,
+jetfrozen,1,155,
+jam_(artist),1,155,"jambeast,mediocre-scrubdraws,mediocre-scrublord,mediocre-smutlord,mediocre_scrubdraws,mediocre_scrublord,mediocre_smutlord,thenoodlegod"
+inprogress,1,155,
+hornbill,5,155,"bucerotid,bucerotidae"
+head_turn,0,155,
+gynoidherring,1,155,herring_(artist)
+green_tank_top,0,155,green_tanktop
+green_paws,0,155,
+gerph,1,155,
+fox_shadow_puppet,0,155,kitsune_sign
+erection_under_shirt,0,155,
+drawpanther,1,155,
+dock_piercing,0,155,
+dark_scales,0,155,
+cyborg-steve,1,155,
+cum_from_offscreen,0,155,
+cock_warming,0,155,
+charmerpie,1,155,"sonechkachizhikov,sonechkachizhikov_(artist)"
+celestial_being,5,155,
+branding,0,155,
+bonnie_bovine_(character),4,155,
+bodily_fluids_drip,0,155,
+belly_lick,0,155,
+bear_hug,0,155,bearhug
+battletoads,3,155,
+bandaged_tail,0,155,
+azurebolt,4,155,
+asymmetrical_hair,0,155,
+zoop,4,154,
+writing_on_balls,0,154,
+willisrisque,1,154,"henriettalamb,willis96"
+voicedbarley,1,154,
+vivzmind,1,154,vivziepop
+underchikichan,1,154,
+totalgary,1,154,"total_garbage,total_gary,totalgarbage,uuoouu"
+topwear_lift,0,154,
+tomek1000,1,154,
+titusw,1,154,
+stretched,0,154,
+steaming,0,154,
+soul_eater,3,154,
+sneakyphox,1,154,
+sm0shy,1,154,
+sitting_backwards,0,154,
+simisear,5,154,
+short_pants,0,154,
+shark_tooth_necklace,0,154,
+sexual_contact,0,154,
+saturniid,5,154,saturniidae
+sasamix,1,154,ささみ
+sarki_(character),4,154,
+samantha_(syronck01),4,154,
+sally_(scalie_schoolie),4,154,
+rutmutt,5,154,
+rorr,1,154,salamandir
+rolf,4,154,
+robot_arm,0,154,
+reptile_(mortal_kombat),4,154,reptile_(character)
+racf92,1,154,
+purple_sweater,0,154,violet_sweater
+pole_between_legs,0,154,
+plap_(sound),0,154,
+planet_destruction,0,154,
+pipes,0,154,
+pink_perineum,0,154,
+pietro_(felino),4,154,
+pants_only,0,154,
+overcoat,0,154,
+orionsmaniac_(artist),1,154,
+notched_shell,0,154,"broken_shell,chipped_shell"
+nightshade_(dragonofdarkness1992),4,154,
+mrease,1,154,manpersonguy
+moonfluffmf,1,154,
+misskari,4,154,
+masemj,1,154,
+mariah_wolves,4,154,mariah_wolves_(mlp)
+mammary_slits,0,154,
+maleherm_penetrating,0,154,
+magna_(armello),4,154,
+litterbox_comics,3,154,
+light_tongue,0,154,
+light_markings,0,154,light_marking
+lenexwants,1,154,
+labjer,1,154,
+kaittycat,1,154,kaittycat_(artist)
+k_gutless,1,154,
+jackie_chan_adventures,3,154,
+itisjoidok,1,154,
+holding_hammer,0,154,
+head_on_chest,0,154,
+hand_on_own_head,0,154,
+hand_on_another's_waist,0,154,
+grakata733,1,154,gk733
+grabbing_object,0,154,
+goatesque,1,154,
+fupoo,1,154,w181914
+free-opium,1,154,
+fortune_teller,0,154,
+food_censorship,0,154,
+floral_background,0,154,"floral_bg,flower_background,flower_bg"
+featureless_arms,0,154,
+facial_stripes,0,154,
+elegant,0,154,
+drider,5,154,faux_drider
+dragonoid_(dark_souls),5,154,
+dra'essa,5,154,
+dr_zombie,1,154,smokethewater
+dogfu,1,154,
+darkmare,1,154,
+cracked_wall,0,154,
+couatl,5,154,"coatl,quetzalcoatl_(species)"
+controller_on_ground,0,154,
+cheesecrumbles,1,154,
+charlie_barkin,4,154,
+cetacean_humanoid,5,154,whale_humanoid
+ceiling_lights,0,154,ceiling_light
+boxing_gloves_only,0,154,
+blackgatomon,5,154,black_gatomon
+bayonetta_(character),4,154,
+bastion_(overwatch),4,154,
+awaldkize,1,154,
+avian_taur,5,154,
+alex_(beez),4,154,
+albatross,5,154,"albatros,albatrosss,diomedeid,diomedeidae"
+zippysqrl,1,153,
+zeamaeri,1,153,
+xatanlion,1,153,
+woolrool,1,153,
+valorlynz,1,153,
+urine_stain,0,153,piss_stain
+ukulele,0,153,
+tyelle_niko,1,153,"tyelle,tyelleniko"
+thetenk,1,153,
+the_grim_adventures_of_billy_and_mandy,3,153,"billy_&_mandy,billy_and_mandy,gaob&m,gaobam,grim_&_evil,grim_adventures_of_billy_&_mandy,grim_adventures_of_billy_and_mandy,grim_and_evil,tgaob&m,tgaobam,the_grim_adventures_of_billy_&_mandy"
+tanith,4,153,
+star_(marking),0,153,"star-shaped_marking,star-shaped_markings,star_(markings),star_markings,star_shaped_marking,star_shaped_markings,stars-shaped_marking,stars-shaped_markings,stars_(marking),stars_(markings),stars_marking,stars_markings,stars_shaped_marking,stars_shaped_markings"
+spring_salamander,5,153,"gyrinophilus,purple_salamander"
+soiling_underwear,0,153,
+silveredge,1,153,
+shirtless_anthro,0,153,
+robin_raccoon,4,153,
+redradrebel,1,153,
+red_tattoo,0,153,red_tattoos
+rat_bastard,1,153,jakkmau5art
+raghan,1,153,
+pussy_juice_in_mouth,0,153,
+purple_butt,0,153,"purple_ass,purple_booty"
+postcard,0,153,post_card
+plundered,1,153,
+playboy_outfit,0,153,
+phrannd,1,153,
+penis_rope,0,153,"cock_rope,cockrope,penisrope"
+patch_(artist),1,153,
+partran_(tiger),4,153,partran_tiger_(partran)
+ovipositor_penis,0,153,
+orange_headwear,0,153,
+onikuman,1,153,
+nuree_art,1,153,
+nessa_(pokemon),4,153,nessa_(pokémon)
+music_player,0,153,
+muscle_worship,0,153,
+muns11,1,153,
+multi_tone_face,0,153,
+morphine_(artist),1,153,
+missebony,1,153,
+milk_stream,0,153,
+midnight_blue,1,153,
+mexican,0,153,
+menyang,1,153,
+mars_miner,4,153,
+lupelongo,1,153,
+lowerkuo,1,153,lower
+lingerie_on_feral,0,153,
+kindle_fae,4,153,
+irregular_speech_bubble,0,153,
+interview,0,153,
+imaginary_friend,5,153,
+holding_neck,0,153,
+highguard,1,153,
+herseio,1,153,
+heron,5,153,"ardeidae,egret"
+hereford_cattle,5,153,
+heart_choker,0,153,"<3_choker,hearts_choker"
+hate_sex,0,153,
+gemsbok,5,153,"gemsbuck,south_african_oryx"
+gary_goodspeed,4,153,"gary_(final_space),thunder_bandit"
+flotation_device,0,153,floatation_device
+flamez,1,153,
+feline_sheath,0,153,
+father_dom_son_sub,0,153,
+fannypacking,0,153,
+eyelash_fetish,0,153,
+elderly_anthro,0,153,
+ear_size_difference,0,153,
+duskull,5,153,
+dragon_night800,1,153,
+dirtybird,1,153,thewhitefalcon
+darkmagic,1,153,
+dandabar,1,153,nevlinad
+curled_fingers,0,153,
+covering_chest,0,153,
+cosmicscourge,1,153,
+clothes_on_floor,0,153,
+chatot,5,153,
+cats_n'_cameras,3,153,cats_n_cameras
+belly_dancer_outfit,0,153,
+bam_(animal_crossing),4,153,
+bakukurara,1,153,
+bakery,0,153,
+aeril_(helios),4,153,
+ace_of_spades,0,153,
+xatu,5,152,
+wwaxyy,1,152,
+wuffle_(webcomic),3,152,
+winterfox,1,152,
+white_heart_(oc),4,152,
+vamplust,1,152,
+uperior,4,152,
+triplets,0,152,
+tranquilizer,0,152,"tranquilizer_dart,tranquilizer_gun"
+tobbywolf,1,152,
+thetiedtigress,1,152,
+tan_shorts,0,152,beige_shorts
+striker_(helluva_boss),4,152,striker_(vivzmind)
+steeckykees,1,152,
+staryu,5,152,
+spurs,0,152,
+smashmat,1,152,
+skullfuck,0,152,
+sinribbons,1,152,
+shirt_down,0,152,
+shirota,4,152,
+shared_masturbator,0,152,
+saliva_on_foot,0,152,
+riddleaugust,1,152,riddleaellinea
+rantan_chan,1,152,
+ralic_turman,1,152,
+purrfect_apawcalypse,3,152,
+psyk323,1,152,
+poster_(object),0,152,
+pizza_slice,0,152,
+pachyderm,5,152,
+overheated,0,152,
+oldshep,1,152,
+nihilego,5,152,
+nightmare_bonnie_(fnaf),4,152,
+naughty_cube,1,152,
+multi_hand,0,152,
+moomin,5,152,
+mexico,0,152,
+mercy_(goonie-san),4,152,
+malamol,1,152,
+mackinn7,1,152,lifeloser
+long_eyebrows,0,152,
+lazuli_(doggod.va),4,152,lapis_(doggod.va)
+kumbartha,1,152,
+kitsunebi_(artist),1,152,
+kingjaguar,1,152,"king_jaguar,kingjaguarart,kingjaguarnsfw,kingpantheraonca"
+keg,0,152,
+kalk427,1,152,
+jinx_(lol),4,152,jinx_(league_of_legends)
+iwano,1,152,
+hyper_problems,0,152,
+hitmonlee,5,152,
+hioshiru_(character),4,152,
+guppic,1,152,
+grey_toes,0,152,
+green_dildo,0,152,
+graphene,1,152,
+goujuyu,1,152,
+gofa,1,152,
+gex_(series),3,152,
+ganba,4,152,
+fully_clothed_female,0,152,
+four-pundo,1,152,
+evil_coco,4,152,evil_coco_bandicoot
+eulipotyphlan_humanoid,5,152,
+energy_beam,0,152,
+ember_(spyro),4,152,
+electronics,0,152,
+dugtrio,5,152,
+diablo,3,152,
+demino_(deminothedragon),4,152,
+darkboss,1,152,
+cynder_nightshadow,4,152,
+cum_in_panties,0,152,
+corin,1,152,"harsegerwa,luneko,るねこ"
+commoddity,1,152,
+colored_line_art,7,152,colored_lineart
+circlejerk,0,152,circle_jerk
+cheek_lick,0,152,licking_cheek
+butt_in_face,0,152,
+breke,4,152,
+body_harness,0,152,
+blitzle,5,152,
+blazera,1,152,
+belle_(beauty_and_the_beast),4,152,
+arc_rose,1,152,
+alpha_rain,1,152,darthmaul1999
+zoey_(brushfire),4,151,
+zeta_the_echidna,4,151,
+zeitgeist,4,151,
+yellow_lipstick,0,151,
+wazzaldorp,1,151,
+war_paint,0,151,
+ty_(tygerdenoir),4,151,
+twixxel_minty,4,151,
+tsubasa1110,1,151,
+text_on_jacket,0,151,
+target,0,151,
+tantalog_text,7,151,
+storm_the_albatross,4,151,
+sten_fletcher,4,151,
+spurting,0,151,
+sophiathedragon,1,151,"hodalryong,sophiawoo"
+sleepwear,0,151,
+skunk_taur,5,151,skunktaur
+shadarrius,1,151,
+seelnose,1,151,"seel_dingo,seel_kaiser"
+saru_gundan,1,151,サル群団
+sailing_boat,0,151,"sail_boat,sailboat"
+ryuukikeito,1,151,
+rusheloc,1,151,rush_eloc
+risuou,1,151,
+rainier_(rain-yatsu),4,151,
+rag._(artist),1,151,"apricolor,rag."
+rabbit_shopkeeper,4,151,
+purple_man_(fnaf),4,151,
+print_container,0,151,
+pleased,0,151,
+pixelsketcher,1,151,
+pimp,0,151,pimping
+phantasma_(ghoul_school),4,151,phantasma_phantom
+onmyoji,3,151,
+nekonny,1,151,freelancemanga
+mileena,4,151,
+mephitid_taur,5,151,
+maxima,1,151,
+mareanie,5,151,
+lunaflame,1,151,
+lucas_(fuze),4,151,
+lua_dos_dragoes,3,151,
+loose_shirt,0,151,
+loose_anus,0,151,
+looking_down_at_another,0,151,
+linuell,1,151,
+labbit1337,1,151,
+koraru-san,1,151,
+konosuba:_god's_blessing_on_this_wonderful_world!,3,151,"kono_subarashii_sekai_ni_shukufuku_wo!,konosuba"
+king_felix,4,151,felix_the_guilmon
+kejifox,1,151,"kejzfox,sergkz"
+kart,0,151,go_kart
+johnny_(sing),4,151,johnny_the_gorilla
+jeffusherb,1,151,
+jacktor,5,151,
+humanoid_penetrating_feral,0,151,hd/p/f
+huka,1,151,
+huggablehusky,1,151,
+holding_rifle,0,151,
+holding_popsicle,0,151,
+hitsunekun,1,151,
+hand_sign,0,151,
+gold_nipples,0,151,
+genital_removal,0,151,
+fredina_(cally3d),4,151,
+forearm_grab,0,151,
+flandre_scarlet,4,151,
+fake_screenshot,0,151,
+eyrich,1,151,fayne_of_fur
+eyemask,0,151,
+ever_oasis,3,151,
+evange,1,151,
+duncan_(zeromccall),4,151,
+dragoon,0,151,
+divenka,5,151,
+deormynd,1,151,
+delivery_bear_service,3,151,
+deerrobin,1,151,
+cum_on_panties,0,151,
+crt,0,151,
+crotch_apron,0,151,
+creatures_of_the_night,3,151,
+commander_(commanderthings),4,151,
+chiquitita_(shining),4,151,
+cdv,1,151,elkaola
+candid,0,151,
+cadbury,3,151,
+cacodemon,5,151,cacodemon_(doom)
+broken_window,0,151,
+bone_necklace,0,151,
+boastudio,1,151,
+black_whiskers,0,151,
+bebop,4,151,
+baldric,0,151,
+backstage,0,151,
+back_hair,0,151,
+astraldog,1,151,
+ashnu,4,151,
+aku,4,151,
+zoidberg656art,1,150,
+zixiong,1,150,silentheaven
+zawn,1,150,
+xienoan,1,150,
+xbox_one,3,150,"xbox_one_s,xbox_one_x"
+wrestling_briefs,0,150,
+wolfgang_(animal_crossing),4,150,
+wintermadness,1,150,winter_(artist)
+winter_sawsbuck,5,150,
+wendel_fragoso,1,150,wendel2
+wardrobe,0,150,
+usuario2_(artist),1,150,
+using_wings,0,150,
+tucked_legs,0,150,
+trout_(character),4,150,
+trouble_(series),3,150,
+translucent_body_parts,0,150,
+tojol,5,150,
+tip_jar,0,150,tip_jars
+thaine,3,150,
+tan_tuft,0,150,
+tan_tail_tip,0,150,
+tabaarus,1,150,
+sv_grart,1,150,
+summer_(jwinkz),4,150,
+stunbun,4,150,
+space_station,0,150,
+slugsdog,1,150,
+skvader,5,150,
+skintight_clothing,0,150,
+sheepuppy,1,150,
+sem-l-grim,1,150,semlgrim
+scale_eyebrows,0,150,"eyebrow_scales,scale_eyebrow,scaled_eyebrow,scaled_eyebrows"
+rustyclawshot,1,150,arcticorange
+rokuyon,1,150,"iqiq_(pixiv),rolling_(artist)"
+rigi,1,150,りギ
+ramphastos,5,150,
+racism,0,150,racist
+purinharumaki_karameru,1,150,
+pride_color_shirt,0,150,"pride_colored_shirt,pride_colors_shirt,pride_colour_shirt,pride_coloured_shirt,pride_colours_shirt,pride_shirt"
+pregnant_loli,0,150,
+playstation_button_symbol,0,150,
+pinheadchains,1,150,
+petpolaris,1,150,
+pepperoni,0,150,
+oxynard,4,150,
+ottahz,1,150,
+orville_(animal_crossing),4,150,
+mushu_(disney),4,150,
+mrs._hudson,4,150,mrs_hudson
+mona_lisa_(tmnt),4,150,
+magolor,4,150,
+lord_shen,4,150,"shen_(kfp),shen_(kung_fu_panda)"
+larovin,4,150,
+kuuko,4,150,
+khiara_(personalami),4,150,
+karma_faye,4,150,
+jaxneesen,1,150,
+jader,1,150,
+incrediblecrocodile,1,150,incredible_crocodile_(artist)
+imminent_pain,0,150,
+humanoid_dominating_human,0,150,
+hobbsmeerkat,1,150,
+hexanne,1,150,
+hearthstone,3,150,
+havoc_(tatsuchan18),4,150,
+hanadaiteol,1,150,
+gym_uniform,0,150,
+green_shadow,4,150,"green_shadow_(plants_versus_zombies),green_shadow_(plants_vs._zombies),green_shadow_(plants_vs_zombies),green_shadow_(pvz),penelopea,penelopea_(garden_warfare),penelopea_(plants_versus_zombies),penelopea_(plants_vs._zombies),penelopea_(plants_vs_zombies),penelopea_(pvz)"
+goro_(live-a-hero),4,150,
+frooby,1,150,
+freediving,0,150,
+foxinuhhbox,1,150,
+forced_impregnation,0,150,
+felin,5,150,
+eyes_always_closed,0,150,"always_closed_eyes,eye_always_shut,eye_forever_closed,eye_forever_shut,eye_perma_closed,eye_perma_shut,eye_permanently_closed,eye_permanently_shut,eyes_always_shut,eyes_forever_closed,eyes_forever_shut,eyes_perma_closed,eyes_perma_shut,eyes_permanently_closed,eyes_permanently_shut,forever_squint,forever_squinting,fox_eye,fox_eyed,fox_eyes,kitsune_eye,kitsune_eyed,kitsune_eyes,kitsune_no_me,perma_squint,permanent_squint,permanent_squinting,shifty_eye,shifty_eyed,shifty_eyes,shifty_fox_eye,shifty_fox_eyed,shifty_fox_eyes,slant_eye,slant_eyed,slant_eyes,slanted_eye,slanted_eyed,slanted_eyes"
+evangelyne,4,150,
+elder,0,150,
+dishes,0,150,
+dinosaucers,3,150,
+cuccokingu,1,150,
+crumbles,1,150,
+crimetxt,1,150,
+common_pigeon,5,150,
+collegehumor,3,150,
+circular_barbell_piercing,0,150,
+chevron_(marking),0,150,"chevron_(markings),chevron_marking,chevron_markings"
+campfire_(buttocher),4,150,
+button_(disambiguation),6,150,"button,buttons"
+brown_underwear,0,150,
+brachiosaurid,5,150,brachiosaur
+bizymouse,1,150,
+back_alley,0,150,
+artsenravenbrave,1,150,
+archery_(artist),1,150,
+anus_focus,0,150,
+anjuneko,1,150,
+andre_vazzios,1,150,
+alolan_sandslash,5,150,"alola_sandslash,sandslash_(alola_form),sandslash_(alolan_form)"
+adult_on_teenager,0,150,
+zuthal,4,149,
+yiffy1234,1,149,
+yellow_shorts,0,149,
+yellow_eyeshadow,0,149,
+xxtheoneguyxx,1,149,
+wrist_guards,0,149,"wrist_guard,wristguard,wristguards"
+white_ear_tips,0,149,
+victorian,0,149,
+veiny_tentacles,0,149,
+useless_clothing,0,149,
+urine_drip,0,149,
+twunk,0,149,
+transformation_through_magic,0,149,
+tracy_(sailoranna),4,149,
+togetic,5,149,
+tiny_head,0,149,
+theyton,1,149,
+tentacle_around_wrist,0,149,
+tehweenus,1,149,
+tailclops_(race),5,149,
+tail-blazer,1,149,
+syldria,4,149,
+sweet_voltage,4,149,
+sugaryviolet,1,149,
+striped_sweater,0,149,
+stomak,4,149,
+spotted_shoulders,0,149,
+species_name_variant,0,149,
+sobieniak,1,149,
+sillywerwolf,1,149,
+shina_(daigo),4,149,
+same_evolution_group,0,149,
+roksim,1,149,roksimthefella
+rohgen,1,149,rohgen_(artist)
+remilia_scarlet,4,149,
+remarkably_average,1,149,
+red_flower,0,149,
+raizinndx,1,149,
+rabbid_peach,4,149,
+purple_kerchief,0,149,
+poipole,5,149,ub_adhesive
+peruanoart,1,149,lord_superstar
+penis_between_toes,0,149,
+pawsmasher,1,149,lexivineart
+owlowiscious_(mlp),4,149,"owlowiscious,owloysius_(mlp),twilight's_owl"
+on_ice_(artist),1,149,
+oiled,0,149,
+needsmorefuta,1,149,
+nayel-ie,1,149,nayeliefox
+narikusha,1,149,
+mukihyena,1,149,
+muhny,1,149,
+mosin,1,149,
+momentai,1,149,
+metal_gear_rising:_revengeance,3,149,
+mermaid_tail,0,149,
+medicine,0,149,
+lute_(zinfyu),4,149,
+lore,0,149,
+komarukoune,1,149,"komaruhi,komaruhikari,komaruhkr,ukyu,ukyukyu,ukyukyukyu,うきゅ,小丸"
+kineceleran,5,149,
+kidnap,0,149,
+ketei,1,149,
+iyo,4,149,
+invincible_(tv_series),3,149,
+inuryu,1,149,
+iceeye_ena,1,149,
+hourglass_(object),0,149,
+honey_(zootopia),4,149,
+hirothedragon,1,149,
+helmeet_el_gato,1,149,helmeetelgato
+heel_tuft,0,149,
+heart_eye_patch,0,149,
+h3nger,1,149,
+grumpyfloof,1,149,
+gorilka,1,149,
+gold_armlet,0,149,
+fugtrup,1,149,
+frustration,0,149,
+froot_loops,3,149,fruit_loops
+frilly_apron,0,149,frilled_apron
+fralea,1,149,
+flaming_wings,0,149,fire_wings
+feardakez,1,149,
+fanned_tail_tip,0,149,
+fan_(disambiguation),6,149,fan
+falconry_hood,0,149,
+evelynn_(lol),4,149,
+es74,1,149,
+entwined_fingers,0,149,"entwined_finger,entwining_finger,entwining_fingers,finger_entwined,finger_entwining,finger_interlaced,finger_interlacing,finger_interlinked,finger_interlinking,finger_interlocked,finger_interlocking,finger_intertwined,finger_intertwining,finger_twined,fingers_entwined,fingers_entwining,fingers_interlaced,fingers_interlacing,fingers_interlinked,fingers_interlinking,fingers_interlocked,fingers_interlocking,fingers_intertwined,fingers_intertwining,fingers_twined,interlaced_finger,interlaced_fingers,interlacing_finger,interlacing_fingers,interlinked_finger,interlinked_fingers,interlinking_finger,interlinking_fingers,interlocked_finger,interlocking_finger,intertwined_finger,intertwined_fingers,intertwining_finger,intertwining_fingers,twined_finger,twined_fingers"
+electrical_plug_tail,0,149,
+dustyerror,1,149,
+draegonis,4,149,
+docwario,1,149,
+disney_parks,3,149,
+d-lowell,1,149,
+cosmonaut,1,149,
+color_fox,1,149,
+cloudy_sky,0,149,
+cardcaptor_sakura,3,149,
+calvin_(calvin_and_hobbes),4,149,calvin_(c&h)
+bright_mac_(mlp),4,149,
+bokonus,1,149,
+blueberry_inflation,0,149,
+blue_foreskin,0,149,
+blu_(rio),4,149,
+black_seam_underwear,0,149,
+being_held,0,149,
+bbsartboutique,1,149,
+avi_(character),4,149,
+arucarrd,1,149,
+amelia_steelheart,4,149,
+amazinky,1,149,
+adrian_iliovici,4,149,
+9:21,7,149,
+3_panel_comic,0,149,
+10:7,7,149,
+yuudai,1,148,"ner0,nero-,yuidoodles"
+yamagah,1,148,
+xander_the_blue,4,148,
+writing_(disambiguation),6,148,writing
+wolf's_rain,3,148,wolfs_rain
+washa,1,148,
+underbutt,0,148,
+unchastity,0,148,
+twilightchroma,1,148,
+triangle_nose,0,148,
+translucent_censor_bar,0,148,
+tracy_porter,4,148,
+the_complex_adventures_of_eddie_puss,3,148,
+tachimi,1,148,
+srriz_adventure,3,148,
+space_station_13,3,148,ss13
+space_background,0,148,space_bg
+soldier_(team_fortress_2),4,148,
+snorting,0,148,
+sketch_background,0,148,"doodle_background,doodle_bg,doodles_background,doodles_bg,scetch_background,scetch_bg,sketch_bg,sketch_dump_background,sketch_dump_bg,sketchdump_background,sketchdump_bg,sketched_background,sketched_bg,sketches_background,sketches_bg,sketching_background,sketching_bg"
+sinistereternity,1,148,
+silentpassion,1,148,
+sige,4,148,
+show_me_yours,0,148,
+saul_ashle,4,148,
+sapphie,4,148,
+sandalf,4,148,
+sagging_diaper,0,148,
+roy_(beez),4,148,
+rottytops,4,148,
+rotom_pokédex,4,148,"pokedex_rotom,pokédex_rotom,rotom_dex,rotom_pokedex,rotomdex"
+rodan_(toho),4,148,"rodan,rodan_(kaiju)"
+rocco_(zoohomme),4,148,
+robotic_leg,0,148,
+reporter,0,148,
+redeye,1,148,
+rarity_(eg),4,148,
+rainbow_six:_siege,3,148,
+radiation,0,148,
+purple_glasses,0,148,
+pub,0,148,
+pokémon_clover,3,148,pokemon_clover
+petitecat,1,148,
+peridot_(steven_universe),4,148,"peridot_facet-2f5l_cut-5xg,peridot_facet_2f5l_cut_5xg"
+orange_yoshi,5,148,
+on_haunches,0,148,
+nurse_(silent_hill),5,148,"bobblehead_nurse,bubble_head_nurse,bubblehead_nurse"
+nihilophant,1,148,
+nibhaaz,1,148,
+neash,1,148,
+matatabi_movie_labo,3,148,
+marsel-defender,1,148,
+marchosias_(tas),4,148,
+mammal/reptile,0,148,
+lindaroze_(artist),1,148,
+lich,5,148,
+lemur2003_(artist),1,148,
+lemonade,0,148,
+lady-darkstreak,1,148,
+king_(housepets!),4,148,
+kida_howlette,1,148,
+kas20241013,1,148,カス
+jwolfsky,1,148,
+jurassiczalar,1,148,
+julia_brain,4,148,
+jinash,1,148,
+jankey18rnbadd,1,148,
+jack_(tcitw),4,148,
+index_to_index,0,148,
+ibex,5,148,
+gyu_hydrogen,1,148,clockfrog
+grey_eyewear,0,148,gray_eyewear
+gex_the_gecko,4,148,gex
+gausswolf,4,148,
+friesian,5,148,
+fraternity,0,148,frat
+flora,5,148,
+father's_day,3,148,fathers_day
+explanation,0,148,
+eruca,1,148,
+egg_play,0,148,eggplay
+eastern,0,148,
+dunstanmarshall,1,148,
+druids_the_comic,3,148,
+dr._seuss,3,148,
+derangedrake,1,148,pyreythedragon
+demon's_crest,3,148,
+dark_humor,0,148,
+danny_phantom,3,148,
+cuffs_(disambiguation),6,148,"cuff,cuffs"
+crotchless_pants,0,148,
+creamygrapes,1,148,
+cowl,0,148,
+chocolate_milk,0,148,
+chemical,0,148,
+cerberus_conjoinment,0,148,
+caramelldansen,3,148,
+buddy_thunderstruck_(character),4,148,
+bryce_daeless,4,148,
+breeding_season,3,148,
+booth_(structure),0,148,
+blue_blood,0,148,
+blathers_(animal_crossing),4,148,blathers
+biting_own_tongue,0,148,
+bin_(artist),1,148,
+beverage_carton,0,148,
+bedsheetwalking,1,148,
+alolan_marowak,5,148,"alola_marowak,marowak_(alola_form),marowak_(alolan_form)"
+100racs,1,148,lindelon
+xu53r,1,147,
+whitefeathersrain,1,147,
+violetechoes,1,147,
+vincher,1,147,
+vellum,1,147,
+upscale,0,147,
+unstoppable_orgasm,0,147,
+two_tone_chest,0,147,
+twilight_scepter_(mlp),4,147,
+tisinrei,1,147,
+the_last_of_us,3,147,tlou
+the_buzz_on_maggie,3,147,
+tarot_(housepets!),4,147,
+sydney_swamp_(vimhomeless),4,147,
+sweet_lolita,0,147,
+supervised_sex,0,147,
+stylized,0,147,
+studio_chizu,3,147,
+stephie_(fraydia1),4,147,
+steel_tigerwolf,1,147,steeltigerwolf
+spotted_accessory,0,147,
+smoking_cigarette,0,147,
+slyus,1,147,
+sitting_on_bench,0,147,
+simple_nose,0,147,
+saneaz,1,147,
+sabel,4,147,
+s.t.a.l.k.e.r.,3,147,
+running_shoes,0,147,
+rumour_(kitfox-krimson),4,147,
+ruby_rustfeather_(nakuk),4,147,
+rocket_knight_adventures,3,147,
+rhyperior,5,147,
+rave_raccoon,4,147,
+raticate,5,147,
+rajirra,4,147,
+quibble_pants_(mlp),4,147,quibble_pants
+pubic_fuzz,0,147,
+prisma6,1,147,fafecalus
+portal_gun,0,147,
+por_furryart,1,147,por_furryart_(artist)
+patterns,0,147,
+panthy,4,147,
+orange_fingers,0,147,
+open_window,0,147,
+multi_tone_clothing,0,147,
+mti777,1,147,
+momosukida,1,147,
+mittens_(bolt),4,147,
+megawaffle_(artist),1,147,
+mcarson,1,147,
+lori_meyers,4,147,"lori_m._(nitw),lori_m_(nitw)"
+lolo_(klonoa),4,147,
+lipstick_on_anus,0,147,
+lillia_(lol),4,147,
+lightly-san,1,147,pony-way
+lewd_latte,1,147,
+laefa_padlo,4,147,
+kiliankuro,1,147,dolorosacake
+kid_vs._kat,3,147,
+ket-ralus,1,147,"ket_ralus,ket_ralus_art"
+jin_(artist),1,147,
+jambalayathepit,1,147,
+ironkongstudios,1,147,
+iqua_kicks,4,147,
+interrupted_orgasm,0,147,
+hypergal,1,147,
+horrified,0,147,
+higoro,1,147,
+green_lantern_(series),3,147,
+grasshopper,5,147,
+goolee,1,147,
+gondar_the_bounty_hunter,4,147,
+golbat,5,147,
+get,0,147,
+geno_sans_(aftertale),4,147,geno_sans_(aftertale)_(character)
+foxyverse,3,147,
+foxxx321,1,147,
+foot_on_leg,0,147,
+flowerpigeon73,1,147,flowerimh
+floating_island,0,147,
+fleeing,0,147,
+fenrir_(tatsuchan18),4,147,
+fairy_dust,0,147,
+fainting,0,147,
+erect_nipples_under_clothes,0,147,
+duel,0,147,
+dmitrys,1,147,
+djayo,1,147,
+d-ring,0,147,d_ring
+curvy_female,0,147,
+cheetah_humanoid,5,147,
+captain,0,147,
+cadpig,4,147,
+bunnymund,4,147,
+brown_highlights,0,147,
+box_chan,1,147,
+bottlenose_dolphin,5,147,
+blazbaros,1,147,
+avian_demon,5,147,
+admiring,0,147,
+3d_glasses,0,147,
+zestibone,1,146,
+zachc,1,146,
+unousaya,1,146,
+uncomfortable_pose,0,146,
+ubanis,1,146,
+twin_clothing_bows,0,146,
+tweedabop,1,146,
+touching_butt,0,146,
+throttle_(bmfm),4,146,
+themongrel,1,146,
+the_knight,1,146,
+tetton,5,146,
+tentacle_suspension,0,146,
+tech_e._coyote,4,146,
+taji_amatsukaze,4,146,
+spitz_(warioware),4,146,
+sheer_(artist),1,146,
+shadow_effect,0,146,
+shadow_blue_(cloppermania),4,146,
+sarah_kerrigan,4,146,kerrigan
+s-purple,1,146,
+rygel_spkb,1,146,
+rocket_grunt_(artist),1,146,
+rip_k,1,146,
+racoon-kun,1,146,racoonkun
+purple_spikes,0,146,
+purple_membrane,0,146,
+portrait_(object),0,146,
+polunoch,1,146,
+pippuri,1,146,
+pearl_krabs,4,146,
+pak009,1,146,
+orcfun,1,146,
+orange_shoes,0,146,
+orange_perineum,0,146,
+night_guard_(mlp),4,146,"lunar_guard_(mlp),lunarguard_(mlp),nightguard_(mlp)"
+muscle_shirt,0,146,
+molly_(angstrom),4,146,
+marukomuru,1,146,
+maplemoon,1,146,
+macaque,5,146,
+ludwig_bullworth_jackson_(copyright),3,146,
+looking_up_at_viewer,0,146,
+lokidragon87,1,146,
+local_cannibal,1,146,ravenouscannibal
+lilith_clawthorne,4,146,lilith_clawthorne_(the_owl_house)
+lemmy_(lemmy_niscuit),4,146,
+kalypso,4,146,
+joziododoi,1,146,
+jay_(sqoon),4,146,momjeans
+jamie_the_oryx,4,146,
+human_pred,0,146,
+holding_vegetable,0,146,
+holding_up,0,146,
+holding_cleaning_tool,0,146,
+holding_box,0,146,holding_boxes
+hat_band,0,146,
+hangar,0,146,
+hachi_duchi,1,146,
+grey_lips,0,146,gray_lips
+grey_collar,0,146,gray_collar
+greasyhyena,1,146,jolly-jak
+gendomx,1,146,
+gakujo,1,146,
+forniphilia,0,146,
+foot_on_butt,0,146,
+fluffyblarg,1,146,
+fey,5,146,
+faeki_(character),4,146,
+exwolf85,1,146,
+educational,0,146,
+eddiew,1,146,
+earless,0,146,
+dynamitegrizzly_(artist),1,146,
+dunsparce,5,146,
+drum_set,0,146,drum_kit
+drakemohkami,1,146,
+draconicmentalist,1,146,
+dank_wankem,1,146,
+clue_(artist),1,146,
+chiu,4,146,
+chevrolet,3,146,
+canis3,1,146,
+c1-11131,1,146,
+bondage_pants,0,146,
+bluedrg19,1,146,
+blahaj,4,146,
+basil_(mikrogoat),4,146,
+banbanji,1,146,thesecrethospital
+backseat,0,146,
+atmosseven,1,146,
+atago_(azur_lane),4,146,
+arm_cuffs,0,146,
+ariados,5,146,
+ardail,1,146,
+arch,0,146,
+aoki6311,1,146,
+ankh_necklace,0,146,
+aluminemsiren,1,146,
+ali_(boredbun),4,146,ali_valencia_(dominus)
+yukikazefactory,1,145,
+yildunstar,1,145,
+wing_spikes,0,145,
+waylon_(thecosmicwolf33),4,145,
+uhmsprs,1,145,
+trunk_play,0,145,trunkplay
+tigger,4,145,
+thedarkzircon,1,145,
+thatgryphonguy,1,145,
+taur_penetrating_anthro,0,145,t/p/a
+taki_kaze,1,145,
+tail_bracelet,0,145,
+tail,6,145,
+stop_sign,0,145,
+squidward_tentacles,4,145,squidward
+spearow,5,145,
+slutty_clothing,0,145,
+sijimmy456,1,145,
+sam_(changing_fates),4,145,
+sakura_d._lyall,4,145,"sakura_d_lyall,sakura_d_lyall_(sakuradlyall)"
+reiger,1,145,
+raver,0,145,
+ranara,1,145,
+practice_sword,0,145,
+pom_(tfh),4,145,
+pokeandpenetrate,1,145,
+pink_pants,0,145,
+paige_(artist),1,145,
+oyatsu,1,145,
+ovum_with_face,0,145,
+om_nom_nom,0,145,"nom_nom,nom_nom_nom,nomnomnom,om_nom_nom_nom,omnomnom"
+neo_geppetto,1,145,
+native,0,145,
+mr_valentine00,1,145,
+moonlightdrive,1,145,
+melissa_morgan,4,145,
+megfluff,1,145,
+mechogama,1,145,
+mastertrucker,4,145,
+maarthul,1,145,
+living_underwear,0,145,
+livesinabag,1,145,livesinabag_(artist)
+limb_growth,0,145,
+jetshark,1,145,
+inspector_gadget_(franchise),3,145,
+ignatius_husky,1,145,
+hystricid,5,145,"hystricidae,old_world_porcupine"
+hive,0,145,
+gryn_vs,1,145,
+greywolf_blacksock,4,145,
+grey_pupils,0,145,gray_pupils
+green_teeth,0,145,
+garret_mvahd_(oc),4,145,
+frusha,1,145,
+frankenstein,4,145,
+foxnick12,1,145,
+flapcats,1,145,
+fernut,1,145,
+fenn.perrox,1,145,
+fek,1,145,
+facing_each_other,0,145,
+epileptic_goat,1,145,
+empskit,1,145,
+emery_waldren,4,145,
+doublescale,1,145,
+dodudoru,1,145,
+dirty.paws,1,145,
+dinosaurs_(series),3,145,
+darwin_(tinydeerguy),4,145,
+dark_wings,0,145,
+cracked_ground,0,145,
+coywolf,5,145,coyowolf
+coonix,4,145,
+concupisco,1,145,aeriaquies
+ciri,4,145,
+buried_penis,0,145,
+booboo34,1,145,
+bonkers_d._bobcat,4,145,
+blue_heels,0,145,
+bloodhawk,1,145,
+black_blindfold,0,145,black_blind_fold
+banana_peel,0,145,
+bake_gosut,1,145,
+amon_(rukis),4,145,
+aku_aku,4,145,
+affectionate,0,145,
+0ottotto0,1,145,
+zebra_dad_(hladilnik),4,144,
+yaojou,4,144,
+witchfiend,1,144,
+vonderdevil,1,144,
+urine_in_pussy,0,144,"pee_in_pussy,peeing_in_pussy,peeing_in_vagina"
+upai,1,144,
+trogan,1,144,
+trance,0,144,
+tied_to_pole,0,144,
+thea_sisters,3,144,
+text_on_bra,0,144,
+tentacool,5,144,
+swimming_fins,0,144,"swim_fin,swim_fins,swimfin,swimfins,swimming_fin,swimmingfin,swimmingfins"
+sternocleidomastoid,0,144,
+star_pasties,0,144,
+staggeredline,1,144,
+staggard,1,144,
+stacey_skunk,4,144,
+stacey_(ews),4,144,
+sonic3,1,144,
+sockiepuppetry,1,144,
+slightly_muscular,0,144,
+slates1n,1,144,slates1n_(artist)
+sitting_table_lotus,0,144,
+silvarus,1,144,
+shirosaru,1,144,"white_monkey,白申,白申_(artist)"
+shane_nelson,1,144,
+seabed,0,144,
+ryou,1,144,
+rubbing_sound_effect,0,144,
+ring_(sonic),0,144,
+reizo,4,144,
+reis,4,144,
+red_hands,0,144,
+pussy_on_glass,0,144,
+punkydreamer,1,144,
+presenting_bulge,0,144,
+precum_on_balls,0,144,
+pornwhal,1,144,
+polecat_(mustelid),5,144,polecat_(species)
+poké_puff,0,144,"poke_puff,poke_puffs,pokepuff,pokepuffs,poké_puffs,poképuff,poképuffs"
+pipa_(kitfox-crimson),4,144,
+pheromone_breathing,0,144,"pheromonal_breath,pheromonal_breathing,pheromone_breath"
+pharaoh,0,144,
+parasprite_(mlp),5,144,"parasprite,parasprites,parasprites_(mlp)"
+ovopack,1,144,murayama_ryota
+olive_(fruit),0,144,olive_(food)
+okithau,1,144,
+nastynatalie,1,144,
+naahva,1,144,
+mostazathy,1,144,
+mongo_bongo,1,144,
+molly_(slightlysimian),4,144,
+mezcal_(artist),1,144,"dirtyyeen,shoegaze."
+mayonnaise,0,144,mayo
+mars_incorporated,3,144,"mars_(company),mars_inc,mars_inc."
+marcodile,1,144,
+m@rt,1,144,"ichiba,kmart0614,いちば"
+laced_boots,0,144,
+kevin_(ac_stuart),4,144,
+kaz_mercais,4,144,
+juicydemon,1,144,
+human_penetrating_taur,0,144,hn/p/t
+hot_drink,0,144,
+hot_air_balloon,0,144,
+holding_vibrator,0,144,
+holding_bow,0,144,
+holding_bottomwear,0,144,
+holding_basket,0,144,holding_baskets
+hentaib,1,144,
+head_down_ass_up,0,144,
+harem_girl,0,144,
+grey_sweater,0,144,gray_sweater
+grey_highlights,0,144,gray_highlights
+greatm8sfm,1,144,
+furious_(artist),1,144,
+front-tie_bikini,0,144,
+food_in_pussy,0,144,
+fish_birb,1,144,
+evenesko.d.fox_(artist),1,144,
+eugeniy_g,4,144,
+entaros_(character),4,144,
+ears_through_headwear,0,144,
+e621_post_recursion,7,144,
+dreamspinner,5,144,
+deeja,4,144,
+database_error_(twokinds),4,144,
+darkriallet,1,144,
+darkenstardragon,1,144,
+darkarlett,1,144,
+currentlytr_ash,1,144,
+cum_in_urethra,0,144,
+crotch_attack,0,144,"attack_on_crotch,attack_on_groin,attacking_crotch,attacking_groin,groin_attack"
+cramorant,5,144,
+corelle-vairel,1,144,
+cleats,0,144,
+chupacabra,5,144,
+cheezborger_(chikn_nuggit),4,144,
+casting_couch,0,144,
+cadbury_bunny,4,144,"cadbury's_caramel_bunny,cadbury_caramel_bunny"
+butt_to_cheek,0,144,
+brown_outline,0,144,
+blx24,1,144,
+blue_seam_briefs,0,144,
+blue_archive,3,144,
+blue_antlers,0,144,
+bau_husky,4,144,
+bar_counter,0,144,
+bananaramasama,1,144,
+balddumborat,1,144,jitterbugjive
+audiophilekitsune,1,144,
+aotoaka,1,144,
+ankylosaurid,5,144,
+alolan_exeggutor,5,144,"alola_exeggutor,exeggutor_(alola_form),exeggutor_(alolan_form)"
+aardman_animations,3,144,
+2_tongues,0,144,"2_tongued,two_tongued,two_tongues"
+zkky,1,143,
+zipper_topwear,0,143,
+zenocoyote_(oc),4,143,
+zandar's_saga,3,143,
+winter_clothing,0,143,winter_clothes
+white_mage,4,143,
+valentines_day_card,0,143,
+tygerdenoir,3,143,
+twitch.tv,3,143,
+tusk_(fuschiafire),4,143,
+trollface,0,143,troll_face
+transformation_by_substance,0,143,
+titan,5,143,
+thumbless,0,143,
+theenyface,1,143,
+the_angry_beavers,3,143,angry_beavers
+table_sex,0,143,
+sweets,0,143,
+strike_witches,3,143,
+srrizadventurer,1,143,
+squablodecomplash,1,143,
+split_screen,0,143,
+sleepingpowder,1,143,
+sin_bruh,1,143,
+sickle,0,143,
+sexist_slur,0,143,
+sabertooth_(disambiguation),6,143,"saber-tooth,saber_tooth,saber_toothed,sabertooth,sabertoothed,sabre_tooth,sabre_toothed,sabretooth,sabretoothed"
+red_arms,0,143,
+raziel_(caelum_sky),4,143,
+rangarig_rex,4,143,rangarig_(character)
+rainbow_text,0,143,
+pokéshaming,0,143,"poke-shaming,pokemon_shaming,pokeshaming"
+pokémon_go_trainer,4,143,"pokemon_go_trainer,trainer_(pogo),trainer_(pokemon_go),trainer_(pokémon_go)"
+petey_piranha,4,143,flora_piranha
+pedestal,0,143,
+outline_speech_bubble,0,143,
+nights_into_dreams,3,143,
+mykendyke,1,143,
+metal-renamon,1,143,faiz
+medieval_clothing,0,143,
+martha_lorraine,4,143,
+manspreading,0,143,
+machati-sama,1,143,
+lying_on_table,0,143,
+loree,4,143,
+liechi,1,143,
+lemonfont,1,143,
+lagoon_lounge,3,143,
+kobold_princess,4,143,
+kobayashi_(dragon_maid),4,143,
+kirby_64:_the_crystal_shards,3,143,
+kenai,4,143,
+jupiter_europe,1,143,
+joss_(funkybun),4,143,
+jar_jar_binks,4,143,jarjar_binks
+in_denial,0,143,
+iii_oridas_iii,1,143,
+idol,0,143,
+hyndrim,4,143,
+hikazedragon,1,143,
+hickeybickeyboo,1,143,"baddogstash,hickeybickeyart,lupinrager"
+heart_font_signature,0,143,
+haku_(spirited_away),4,143,
+gradient_body,0,143,
+ghangaji,1,143,
+geo_(pechallai),4,143,
+fuckboy,4,143,
+faceplant,0,143,face_plant
+engineer,0,143,
+electrode_(pokémon),5,143,electrode_(pokemon)
+eiffel_tower,0,143,
+dsp2003,1,143,
+dosanco15,1,143,
+dead_space,3,143,
+darkened_sheath,0,143,
+dark_stripes,0,143,
+dance_floor,0,143,
+cum_on_snout,0,143,
+croisshark,1,143,
+crocodilian_penis,0,143,"aligator_penis,alligator_penis,caiman_penis,crocodile_penis,gator_penis"
+creative_censorship,0,143,
+clitoral_sucking,0,143,"clitoral_suck,clitoris_suck,clitoris_sucking,sucking_clit,sucking_clitoris"
+chirasul,1,143,
+carol_(hladilnik),4,143,ghost_pupper
+c-puff,1,143,
+bumpywish,1,143,askbumpywish
+bulging_eyes,0,143,
+bright_colors,0,143,
+bonneter,5,143,
+background_shot,0,143,
+appletun,5,143,
+amalgamate,5,143,
+african,0,143,
+zack_(thezackrabbit),4,142,
+yukaran_nosuke,1,142,
+yo-yo,0,142,yoyo
+yellow_eyewear,0,142,
+vriska_serket,4,142,
+trial_captain_lana,4,142,"lana_(pokemon),lana_(pokémon)"
+torn_socks,0,142,
+ticl,1,142,
+thechurroman,1,142,
+the_lord_of_the_rings,3,142,"fellowship_of_the_ring,lord_of_the_rings,lord_of_the_rings:_fellowship_of_the_ring,lord_of_the_rings:_return_of_the_king,lord_of_the_rings:_the_fellowship_of_the_ring,lord_of_the_rings:_the_return_of_the_king,lord_of_the_rings:_the_two_towers,lord_of_the_rings:_two_towers,lord_of_the_rings_fellowship_of_the_ring,lord_of_the_rings_return_of_the_king,lord_of_the_rings_the_fellowship_of_the_ring,lord_of_the_rings_the_return_of_the_king,lord_of_the_rings_the_two_towers,lord_of_the_rings_two_towers,lotr,middle-earth:_shadow_of_mordor,middle-earth_shadow_of_mordor,middle_earth:_shadow_of_mordor,middle_earth_shadow_of_mordor,middleearth:_shadow_of_mordor,middleearth_shadow_of_mordor,return_of_the_king,shadow_of_mordor,the_fellowship_of_the_ring,the_lord_of_the_rings:_fellowship_of_the_ring,the_lord_of_the_rings:_return_of_the_king,the_lord_of_the_rings:_the_fellowship_of_the_ring,the_lord_of_the_rings:_the_return_of_the_king,the_lord_of_the_rings:_the_two_towers,the_lord_of_the_rings:_two_towers,the_lord_of_the_rings_fellowship_of_the_ring,the_lord_of_the_rings_return_of_the_king,the_lord_of_the_rings_the_fellowship_of_the_ring,the_lord_of_the_rings_the_return_of_the_king,the_lord_of_the_rings_the_two_towers,the_lord_of_the_rings_two_towers,the_return_of_the_king,the_two_towers,tlotr"
+the_fairly_oddparents,3,142,"fairly_odd_parents,fairly_oddparents"
+team_penny,1,142,
+taser,0,142,tazer
+swimwear_theft,0,142,swimsuit_theft
+sukimi_(hataraki),4,142,
+suffolk_sheep,5,142,
+sting,0,142,
+steve_(minecraft),4,142,
+shovel_knight,3,142,
+shirteater18,3,142,
+shadow_queen,4,142,
+scuzzyfox,1,142,
+riding_toy,0,142,
+ricocake,1,142,
+rena_ayama,1,142,
+regurgitation,0,142,
+rathmutatio,1,142,
+rainbow_mane,0,142,
+pyc-art,1,142,
+prurientpie,1,142,
+professor_starflare_(metal),4,142,
+precum_on_hand,0,142,
+playstation_5,3,142,
+platform,0,142,
+piper_(tcitw),4,142,
+pile,0,142,
+pectoral_(jewelry),0,142,
+pecan_(animal_crossing),4,142,
+parasect,5,142,
+panties_around_ankles,0,142,
+pal_(gym_pals),4,142,
+owl_humanoid,5,142,
+osamu_tanaka,4,142,
+oofrowdy,1,142,
+muhut,1,142,
+mottled_skin,0,142,mottle_skin
+monotone_skirt,0,142,
+misericorde,1,142,mise
+mega_rayquaza,5,142,
+maria_robotnik,4,142,
+lio29227541,1,142,
+legs_out_of_water,0,142,
+kulza,4,142,
+keith_(tcitw),4,142,
+katnay,1,142,
+issun_(okami),4,142,
+hybernation,1,142,
+honey_bee,5,142,honeybee
+helbaa_(smutbooru),4,142,
+hawkmon,5,142,
+harpy_eagle,5,142,harpiinae
+grunt_(mass_effect),4,142,
+green_room,0,142,
+gag_mask,0,142,
+franchesca_(garasaki),4,142,
+forl_(thepatchedragon),4,142,
+forced_fellatio,0,142,forced_blowjob
+flirtatious,0,142,
+felicer,1,142,
+eugeniyburnt_(character),4,142,
+earthclan3d,1,142,
+dreamscreep,1,142,
+drakk_art,1,142,nainporteki
+double_arm_grab,0,142,
+diaminerre,1,142,
+devilturtle,1,142,"devil_turtle_(artist),devilturtle_(artist),deviltutle_(artist)"
+detailed_genitals,0,142,
+darnell_(buddy_thunderstruck),4,142,
+dark_footwear,0,142,
+damaged,0,142,
+dalagar,1,142,
+cross_eye_stereogram,7,142,
+crater,0,142,craters
+combatraccoon,1,142,
+cloud_strife,4,142,
+chloe_shiwulf,4,142,
+carriage,0,142,
+carla_(ok_k.o.!_lbh),4,142,"carla_(ok_k.o!),carla_(ok_k.o),carla_(ok_k.o.!),carla_(ok_k.o.!_let's_be_heroes),carla_(ok_k.o.!_lets_be_heroes),carla_(ok_k.o.!_let’s_be_heroes),carla_(ok_k.o.),carla_(ok_k.o._let's_be_heroes),carla_(ok_k.o._lets_be_heroes),carla_(ok_k.o_let's_be_heroes),carla_(ok_k.o_lets_be_heroes),carla_(ok_ko!),carla_(ok_ko!_let's_be_heroes),carla_(ok_ko!_lets_be_heroes),carla_(ok_ko),carla_(ok_ko_let's_be_heroes),carla_(ok_ko_lets_be_heroes)"
+caitlyn_(swordfox),4,142,
+brawlhalla,3,142,
+bovine_ears,0,142,
+boon_(vimhomeless),4,142,
+blue_pubes,0,142,
+blue_pillow,0,142,
+blacktip_reef_shark,5,142,
+black_scarf,0,142,
+bella_(gasaraki2007),4,142,
+ball_smother,0,142,ball_smothering
+aroused_smile,0,142,
+apocheck13,1,142,
+akella-yukami,1,142,
+aeon_calcos,4,142,
+acky05,1,142,
+yellow_tuft,0,141,
+yellow_hooves,0,141,
+wrapping,0,141,
+wooden_fence,0,141,
+wish_dragon,3,141,
+vilous_universe,0,141,
+venom,0,141,
+vegeta,4,141,
+underwear_in_mouth,0,141,
+two_tone_armwear,0,141,
+tsurugi,1,141,
+trashtikko,1,141,
+tofu_froth,1,141,
+thisnameistaken,1,141,
+thick_fur,0,141,
+tewi_inaba,4,141,inaba_tewi
+teal_nose,0,141,
+taxicab,0,141,"taxi,taxi_(cab),taxi_(car),taxi_cab,taxi_car,taxicar"
+tairu,4,141,
+tail_around_waist,0,141,
+taffy_(las_lindas),4,141,
+steve_jovonovich,4,141,
+sora_(trias),4,141,
+sogaya,1,141,
+snow_leopard_humanoid,5,141,
+small_areola,0,141,"small_areolae,small_areolas,tiny_areola,tiny_areolae,tiny_areolas"
+sirfetch'd,5,141,sirfetchd
+shire,5,141,shire_horse
+shikoyote,1,141,"kojote-shii,shiko-yote,shikoku-una,sombra-yote"
+seiya_(saku1saya),4,141,
+rust,0,141,
+rmtwo,1,141,
+rexwind,1,141,
+relationship,0,141,
+rag_doll_(toy),0,141,
+race,0,141,
+purrr-evil,1,141,
+purple_socks,0,141,
+pokkuti,1,141,
+pinned_to_ground,0,141,
+pig_humanoid,5,141,humanoid_pig
+paw_on_head,0,141,
+pajama_shirt,0,141,
+orgasm_from_sniffing,0,141,
+note_pad,0,141,
+nippleless,0,141,
+nipple_tassels,0,141,
+nimushka,1,141,
+nakamura,1,141,"nakamula,nkmrmr,viva_nakamula"
+molly_(koyote),4,141,
+miokomata,1,141,
+medicinal_succ,1,141,
+maypul_syrup,1,141,
+loonertick,1,141,liquid36
+long_(wish_dragon),4,141,
+lipstick_on_body,0,141,
+lion-o,4,141,
+lethal_doors,1,141,
+keychain,0,141,key_chain
+kemosara,1,141,
+kawaoneechan,1,141,
+kapri,1,141,"kaprihorn,kaprileak"
+jocarra,1,141,
+jill_(james_howard),4,141,
+icedev,1,141,
+husdingo,1,141,
+hula_hoop,0,141,
+horde,0,141,
+hockey_stick,0,141,hocky_stick
+heart_in_mouth,0,141,
+heart_emoticon,0,141,
+gyaru,0,141,
+grey_wolf_(kemono_friends),4,141,gray_wolf_(kemono_friends)
+grawlixes,0,141,
+glistening_knot,0,141,shiny_knot
+gaster_blaster,4,141,
+gard3r,1,141,
+fran_(litterbox_comics),4,141,
+fishnet_shirt,0,141,
+fanfic_art,0,141,
+eric_vaughan,4,141,eric_(twokinds)
+eldingo_(artist),1,141,
+eebahdeebah,1,141,
+dr._chaos,1,141,
+dominate_(artist),1,141,"bawnii,cappi"
+darkmon_(ryodramon),4,141,
+darius_davis,4,141,
+damage_numbers,0,141,
+colonelyobo,1,141,
+collin_(helluva_boss),4,141,
+candy_humanoid,5,141,
+bodyguard,0,141,
+blackmailz,1,141,
+blackjack_(pinkbutterfree),4,141,
+billiard_ball,0,141,
+beastmilk,1,141,
+balls_slip,0,141,
+bad_dragon_dildo,0,141,
+aycee,1,141,
+aunt_and_niece,0,141,niece_and_aunt
+aquest,1,141,"a_questionable_pony_blog,aquest_ion,aquestionableponyblog"
+aponty,1,141,
+ankle_wraps,0,141,
+anjanath,5,141,
+after_rimming,0,141,
+zorse,5,140,golden_zebra
+zidane_tribal,4,140,
+zapor666,1,140,zapor
+zanzagen,1,140,
+wulfer-shepherd,1,140,
+wolter_(weaver),4,140,
+vex_(donryu),4,140,
+velkhana,5,140,
+valcron,1,140,dreatos
+tsukudani_(coke-buta),1,140,"tuku-dani,tuku_dani"
+torn_panties,0,140,ripped_panties
+thesp97,1,140,
+theorangewolf,1,140,
+tentacle_around_breast,0,140,
+tan_toes,0,140,
+t'au_(warhammer),5,140,tau_(warhammer)
+spiked_wristband,0,140,spiked_wrist_band
+speckled_body,0,140,
+sophring_jie,4,140,
+skoon_(character),4,140,
+silgiriya_mantsugosi,1,140,"silgiriya,silgiriya.mantsugosi,silgiriyamantsugosi"
+shyloc,4,140,
+shredded_wheat,1,140,
+second_life,3,140,secondlife
+scrump,4,140,
+scp-956,4,140,
+santa_suit,0,140,
+redras_shoru,1,140,redras
+redrabbu,1,140,
+red_hood,0,140,
+primitive_dog,5,140,
+plushsuit,0,140,
+philomena_(mlp),4,140,philomena
+pattern_gloves,0,140,
+pachycephalosaurid,5,140,pachycephalosaur
+omunikin,1,140,オムニキン
+omegaozone,1,140,
+namygaga,1,140,
+namarx7,1,140,neyaraxis
+multi_breast_growth,0,140,
+muffy_(animal_crossing),4,140,
+mother_puss,4,140,
+mosquito,5,140,mosquitoes
+monster_prom,3,140,
+mightycock_(artist),1,140,
+marylin_(hladilnik),4,140,marilyn_(hladilnik)
+magzol,1,140,
+lunlunfox_(character),4,140,
+lovelysquishythings,1,140,
+loneliestbara,1,140,
+lily_(mlp),4,140,"lily_valley,lily_valley_(mlp)"
+larry_(zootopia),4,140,black_wolf_(zootopia)
+lakitu,5,140,
+kuromaru,4,140,
+kitsunepurin,1,140,
+kitsunami_the_fennec,4,140,kit_the_fennec
+kite,0,140,
+kianara,1,140,
+juxzebra,1,140,
+johnny_bravo_(series),3,140,
+johndoe1970,1,140,
+jack_hyperfreak_(hyperfreak666),4,140,
+ig,1,140,
+human_fingering,0,140,
+huggles,4,140,
+hammytoy,1,140,
+freddie_(gundam_build_divers_re:rise),4,140,
+foot_ninja15,1,140,
+firepawdacat,4,140,
+feralcatalyst,1,140,
+fenrir_osbone,1,140,
+edis_krad,1,140,ediskrad
+drinking_milk,0,140,
+dossun,1,140,
+disembodied_eyes,0,140,
+discovery_channel,3,140,
+devious,0,140,
+deathmask,1,140,
+deadmimicked,1,140,mimicp
+daryabler,1,140,
+dark_anus,0,140,
+daigo_(character),4,140,
+dagapuff,1,140,
+cybercorn_entropic,1,140,
+cumsplosion,0,140,
+cum_while_flaccid,0,140,
+cum_in_food,0,140,
+contraption_concept,0,140,
+condom_skirt,0,140,
+coffekitten,1,140,
+cloudeon,1,140,
+carrefour,3,140,
+brunn-bear,1,140,brunn
+bantha,1,140,
+asymmetrical_coloring,0,140,
+andy_porter,4,140,
+anal_musk,0,140,
+4_panel_comic,0,140,
+zoological_gardens,0,139,
+zach_snowfox,4,139,
+yoko_darkpaw,1,139,
+x_scar,0,139,
+x-celebril-x,1,139,
+wind_lift,0,139,
+white_thigh_socks,0,139,
+white_heart,0,139,
+whislash_(arknights),4,139,
+what_the_hart_wants,3,139,
+urine_on_breasts,0,139,
+unistar,1,139,
+twig,0,139,
+toy_story,3,139,
+touching_tips,0,139,
+totoro,4,139,
+tongue_in_pussy,0,139,
+tom_clancy's_(series),3,139,"tom_clancy's,tom_clancy's_(game),tom_clancy_(game),tom_clancys_(game),tom_clancys_(series)"
+tianhuo_(tfh),4,139,tianhuo
+thrust_lines,0,139,
+thompson_gun,0,139,"thompson_submachine_gun,tommy_gun"
+thecaptainteddy,1,139,"captain_teddy,captainteddy,ringersoul"
+the_purple_wolf_guy,1,139,
+tentacle_in_navel,0,139,
+tambourine,0,139,tamborine
+talonjob,0,139,
+swollen,0,139,
+sweater_pups,1,139,
+swatcher,1,139,
+stealth,0,139,
+solratic,1,139,
+soccer_uniform,0,139,
+sleepiness18,1,139,
+skyfifer,1,139,
+sixsidesofmyhead,1,139,"boxhead,boxheadscorner,i-am-boxhead,sixsidesofhead,sixsidesofmyhead_(artist)"
+shantae:_half-genie_hero,3,139,
+sentret,5,139,
+scott_cawthon,3,139,
+schnecken,1,139,
+sailor_moon_(character),4,139,
+saesar,1,139,
+rubber_body,0,139,
+rsotart,1,139,
+rexx_(artist),1,139,
+reverse_grip,0,139,
+reginald_(nedroid),4,139,
+red_t-shirt,0,139,
+racoe,1,139,
+raccoon_penis,0,139,
+pronk_oryx-antlerson,4,139,
+party_horn,0,139,
+parachute,0,139,
+object_ingestion,0,139,
+nuka-cola,0,139,nuka_cola
+no_symbol,0,139,🛇
+nectrid,5,139,nectridea
+natalie_de_corsair,1,139,nataliedecorsair
+michelle_(hladilnik),4,139,
+metalowl,1,139,
+marnie_(pokémon),4,139,marnie_(pokemon)
+maggie_pesky,4,139,
+mage_(final_fantasy),4,139,
+lykranic_studios,3,139,
+luna_(sailor_moon),4,139,
+kunn_(artist),1,139,
+kingparked,1,139,
+keyhole,0,139,
+kevin_snowpaw,4,139,
+keinga,1,139,keingakinky
+kazoko_(artist),1,139,
+kayla_kitsune,4,139,
+karen_taverndatter,4,139,
+kansyr,1,139,
+joojoo,1,139,
+jammiez,1,139,
+horn_bow,0,139,horn_bows
+hijirinoyuta,1,139,
+hellsing,3,139,
+harkrun,1,139,
+hanging_belly,0,139,
+hamham5,1,139,
+green_fingernails,0,139,
+gradient_eyes,0,139,
+glup,0,139,
+glistening_genital_fluids,0,139,"glistening_genital_fluid,shiny_genital_fluid,shiny_genital_fluids"
+ghoskee,1,139,
+fenixdust,1,139,
+felicity_longis,4,139,felicity_longis_(character)
+expressionless,0,139,
+ema_npr,1,139,
+elvia,4,139,
+elchilenito,1,139,
+eatmybuns,1,139,
+diplocaulus,5,139,
+dibujosv12,1,139,
+diaper_puff,0,139,
+dexter's_laboratory,3,139,"dexter's_lab,dexters_lab,dexters_laboratory"
+depressing,0,139,
+darkskye_(artist),1,139,
+dark_feathers,0,139,
+dark_eyelids,0,139,
+dakkpasserida,1,139,
+crotch_focus,0,139,
+crack_ship,0,139,
+chris_mckinley,1,139,
+captain_falcon,4,139,
+canaryprimary,1,139,
+buzzwole,5,139,
+brazil,0,139,
+box_(hajimeyou654),1,139,
+blaketheflareon,1,139,
+black_neck,0,139,
+black_mage,5,139,
+auto_breast_lick,0,139,"autobreast_lick,autobreast_licks,licking_own_breast,licking_own_breasts,self_breast_lick,self_breast_licks"
+austrum,1,139,
+ask_jappleack,0,139,
+arofatamahn,1,139,
+archen,5,139,
+archaeopteryx,5,139,
+ambient_fly,5,139,
+?_block,0,139,
+5_claws,0,139,
+2_anuses,0,139,"2_anus,double_anus,double_anuses,two_anus,two_anuses"
+zero_one,4,138,
+zephra,1,138,artbyzephra
+white_head,0,138,
+wererodent,5,138,
+vector-brony,1,138,
+ursso_(artist),1,138,
+under_clothes,0,138,
+thirstydraws,1,138,
+tempestus_vulpis,1,138,
+tarke,4,138,
+tabirs,1,138,
+sweat_stain,0,138,
+soria,4,138,
+sorceress_(dragon's_crown),4,138,
+solar-slash,1,138,
+snakedakyoot,1,138,
+slipperycupcake,1,138,
+sinsquared,1,138,
+segmented_body,0,138,
+sarikyou,1,138,silkyman
+sadbitch,1,138,
+rethex,4,138,
+resisting,0,138,
+reit,1,138,
+rei_vagan,1,138,"rei_vegan,reivagan,reivegan"
+pupils_only,0,138,
+possumpecker,1,138,
+pop_out_cake,0,138,"cake_stripper,jump_out_cake,popout_cake,stripper_cake,surprise_cake"
+piebunny,1,138,
+paloma-paloma,1,138,
+oswald_the_lucky_rabbit,4,138,
+oppai_heart,0,138,"boob_heart,breast_heart,pec_heart"
+on_stool,0,138,
+octoboy,1,138,
+numbered_tag,0,138,
+necktie_only,0,138,
+namu_gunsou,1,138,sgtnam
+muzzle_grab,0,138,
+multi_hair_tones,0,138,
+miyuka,1,138,
+miramint,1,138,candymint
+minakamin90,1,138,
+milking_table,0,138,
+megaphone,0,138,
+mega_houndoom,5,138,
+mataknight,1,138,
+m0n1e,1,138,
+lolori,4,138,
+lilotte,4,138,
+lava_creature,5,138,"lava_elemental,lava_elementals,lava_monster,living_lava,living_magma,magma_creature,magma_elemental,magma_elementals,magma_monster"
+latex_panties,0,138,
+langdon_marston,4,138,
+kumoko,4,138,
+king_spade,4,138,
+king_adelaide,4,138,
+keenie_(helluva_boss),4,138,
+jessica_vega,4,138,
+jailbait_knight,1,138,
+jacato,1,138,
+intestinal_bulge,0,138,
+interjection,0,138,
+indi_marrallang,4,138,
+ice_skates,0,138,
+hunter_(road_rovers),4,138,
+huge_teats,0,138,
+hose_in_mouth,0,138,
+hekar,4,138,
+haruto_arashiki,4,138,
+hair_up,0,138,
+guilmonboy,3,138,
+green_socks,0,138,
+grandall_(artist),1,138,
+ghostwolf,1,138,
+galgard,1,138,
+furries_with_pets,0,138,
+frori,4,138,
+fluttershy_(eg),4,138,
+fizzy-dog,1,138,"britishstarr,jizzy-dog,slovenskiy,slvnskiynsfw,sugarr"
+first_aid_kit,0,138,"first-aid_kit,firstaid_kit,medical_kit,medicinal_kit,medicine_kit"
+female_fingered,0,138,
+face_hugging,0,138,
+evil-rick,1,138,
+eqlipse_(artist),1,138,
+eklund_daily_life_in_a_royal_family,3,138,
+e-123_omega,4,138,
+doodledoggy,1,138,
+donya,1,138,
+dogfluid,1,138,dogfluid_(artist)
+dam_(artist),1,138,
+daena,4,138,
+console_on_ground,0,138,
+coel3d,1,138,
+chibity,1,138,
+cate_wurtz,1,138,
+caramel-kitteh,1,138,caramel_kitteh
+bunnelby,5,138,
+brendancorris,1,138,
+bramblefix,1,138,"capribebe,winterbramble"
+brachiosaurus,5,138,
+bonnie_(cally3d),4,138,
+blueprint,0,138,blueprints
+bastian_(leobo),4,138,
+auroriia,1,138,cosmicscribbles
+arabatos,1,138,
+amber_steel,4,138,
+altharch,3,138,
+alolan_persian,5,138,"alola_persian,persian_(alola_form),persian_(alolan_form)"
+allagar,1,138,
+aiushtha_the_enchantress,4,138,
+aggrobadger,1,138,"aggro-badger,aggro-badger_(artist),aggro_badger,aggro_badger_(artist),aggrobadger_(artist),vykos,vykos_(artist)"
+adelgund,4,138,
+aaaaaaaaaaa,0,138,
+yoshida_hideyuki,1,137,
+yellow_paws,0,137,
+wuffle,4,137,
+wobbuffet,5,137,"wobbufet,wobufet,wobuffet"
+werewolf_the_apocalypse,3,137,
+victordantes,1,137,
+vaporwave,0,137,vapor_wave
+towel_wrap,0,137,
+toonarscontent,1,137,
+thong_only,0,137,
+theshadowstone,1,137,
+the_joker,4,137,
+the_hobbit,3,137,
+text_on_sweater,0,137,
+terran,5,137,
+stereo,0,137,
+starry_hair,0,137,
+stareostar,1,137,
+squeaking,0,137,
+sjevi,1,137,
+short_legs,0,137,
+shlorp,0,137,
+shewiff,1,137,
+sheriff_of_nottingham,4,137,
+seanica,1,137,
+scared_shitless,0,137,
+satire,0,137,
+pussy_juice_on_butt,0,137,"pussy_juice_on_ass,pussy_juice_on_booty"
+purple_bow,0,137,
+pinky_(warner_brothers),4,137,
+pink_tank_top,0,137,pink_tanktop
+pec_squeeze,0,137,
+nyuudles,1,137,
+mumu,1,137,
+monotone_armwear,0,137,
+moccha_(abluedeer),4,137,
+maxximizer,4,137,maxx_(maxximizer)
+matuska,1,137,
+lemon_smoothie,1,137,
+kris_(zourik),4,137,
+kimubota,1,137,"botamoti5656,gororigorogoro,ぼたもち,ぼたもちはそこにいた"
+kannos,1,137,"astray,star_(artist),starfinder"
+joshua_(zenthetiger),4,137,
+jazz_jackrabbit_(series),3,137,
+itou_sora,4,137,
+insaneeighteen,1,137,
+in_bubble,0,137,
+hyper_dildo,0,137,
+hthfp,1,137,
+hip_sway,0,137,
+herrmoki,1,137,
+henbe,1,137,
+heat_(lilo_and_stitch),4,137,"experiment_609,heat_(l&s),heat_(las),heat_(lilo_&_stitch),heat_(stitch)"
+groceries,0,137,
+gokhan16,1,137,
+general_proton,1,137,
+fumikage_tokoyami,4,137,
+fenix-fox,3,137,
+eurasian_magpie,5,137,
+etsu_cuprumfox,1,137,"etsu,etsucuprumfox"
+end_table,0,137,
+ear_lick,0,137,licking_ear
+duster_(dustafyer7),4,137,
+dry_orgasm,0,137,
+doublewbrothers,1,137,
+cubby_chambers,1,137,cubbychambers
+cream_(miu),4,137,
+ciriliko,1,137,
+chobonolly,1,137,
+chica_(cally3d),4,137,
+cat_demon,5,137,
+blue_flower,0,137,
+blowjob_beast,5,137,
+blizzard_(weather),0,137,
+blitz_(road_rovers),4,137,
+blackbewhite2k7,1,137,
+atari,3,137,
+arm_around_partner,0,137,
+architecture,0,137,
+anna_(study_partners),4,137,
+alien_abduction,0,137,
+al-cat,1,137,
+ahegaokami,1,137,
+ahastar,4,137,
+afrometalmizu,1,137,
+zygarde,5,136,"zygarde_50,zygarde_50_form,zygarde_50_forme"
+zigrock001,1,136,
+zieis,1,136,
+zenfry,1,136,
+zazu,4,136,
+yuzu_zuzu,1,136,
+yantaro_keno,1,136,
+xbox_console,0,136,
+wingjob,0,136,
+wing_markings,0,136,"wing_marking,wings_marking,wings_markings"
+well,0,136,
+wallpaper_(decoration),0,136,
+vivillon,5,136,
+vexedlupine,1,136,dissimulated
+veiny_belly,0,136,
+ubermonkey,1,136,
+turnout_gear,0,136,
+translucent_bra,0,136,"see-through_bra,see-thru_bra,see_through_bra,see_thru_bra,sheer_bra,transparent_bra"
+toroko,4,136,
+tight_dress,0,136,
+tigerinspace,1,136,
+tiesci,4,136,
+the_firebrand,1,136,
+teal_markings,0,136,teal_marking
+syx,4,136,
+swanna,5,136,
+swadloon,5,136,
+sunagawa_(bonedra),4,136,
+studio-pirrate,1,136,"rosselito,studio_pirrate"
+stage_curtains,0,136,
+sorrel,4,136,
+snow_creature,5,136,"living_snow,snow_monster"
+smack,0,136,
+skimpy_dress,0,136,
+shoes_removed,0,136,
+shockstk,1,136,shok
+shlick,0,136,
+scalie_taur,5,136,
+sam_(pink),4,136,
+runbasamba,1,136,sugaru
+ruddyrzaq,1,136,
+rover_(mlp),4,136,
+romeo_(leobo),4,136,
+rock-a-doodle,3,136,rock_a_doodle
+relatedguy,1,136,
+ravinosuke1,1,136,
+pull_ups,0,136,
+pseudowyvern,5,136,
+pouring_onto_self,0,136,
+platemail,0,136,
+pink_wolf_(ac_stuart),4,136,
+pink_jacket,0,136,
+photocopier,0,136,copy_machine
+pester,1,136,
+olimacdoodles,1,136,
+oldman_artist,1,136,the-unicorn-lord
+nipple_orgasm,0,136,
+multicolored_belly,0,136,
+mrkipler,1,136,"draz713,mrkipler1"
+mottled_pawpads,0,136,"mottle_paw_pad,mottle_paw_pads,mottle_pawpad,mottle_pawpads,mottled_paw_pad,mottled_paw_pads,mottled_pawpad"
+monkey_d._luffy,4,136,monkey_d_luffy
+monamania,1,136,sweetdandy
+mitokep,1,136,
+metalhead97,1,136,
+marzipan_(spottedtigress),4,136,
+makowolf1,1,136,
+maiz-ken,1,136,
+living_costume,5,136,
+lightingsaber,1,136,tinnies
+laundry_basket,0,136,
+lady_drasami,1,136,
+ksaiden,1,136,
+kitty_(kimba),4,136,
+keith_(funkybun),4,136,
+kdhynamo,1,136,furdynamo
+jiralhanae,5,136,"brute_(halo),halo_brute"
+ikuta_takanon,1,136,"takanon,takanon_ikuta"
+huge_head,0,136,
+holding_collar,0,136,holding_collars
+hand_on_floor,0,136,
+hammond_(overwatch),4,136,
+gwen_mason,4,136,
+gurochanop,1,136,
+guntz,4,136,
+grey_tank_top,0,136,"gray_tank_top,gray_tanktop,grey_tanktop"
+gore_magala,5,136,
+goldiescales,1,136,
+glasses_askew,0,136,
+girdle,0,136,
+garbodor,5,136,
+flame-lonewolf,1,136,
+feral_penetrating_male,0,136,
+feather_markings,0,136,"feather_marking,feathered_marking,feathered_markings,feathers_marking,feathers_markings,feathery_marking,feathery_markings,marking_(feather),marking_(feathers),markings_(feather),markings_(feathers)"
+fart_in_mouth,0,136,
+dumbun,4,136,
+duase,1,136,
+doggie999,1,136,
+desiree_lee,1,136,
+darkminou,1,136,
+dark_nurse,1,136,darknurse
+cyiakanami,1,136,
+crab_walk,0,136,
+collar_to_collar,0,136,
+chromaskunk,1,136,
+cat-boots,1,136,
+breezie_(mlp),5,136,"breezie,breezies"
+blue_submarine_no._6,3,136,blue_submarine_no_6
+black_beanie,0,136,
+belt_accessory,0,136,
+bearded_dragon,5,136,
+barnaby_kane,4,136,
+banzai_(the_lion_king),4,136,
+azuraracon,1,136,
+aye-aye,5,136,"ai_ai,aye_aye"
+arun_(tokaido),4,136,
+arrow_pointing_to_crotch,0,136,
+antanariva,1,136,
+amione,4,136,
+amelie_(bunnybits),4,136,
+6my,1,136,
+young_(lore),8,135,
+yellow_flower,0,135,
+wonderboy,3,135,
+wit_1,1,135,
+wilson_(brogulls),4,135,
+wall_bondage,0,135,
+vyrn,4,135,
+volodyanocturne,1,135,
+vest_only,0,135,
+usnarbit,1,135,bit-maki
+tree_frog,5,135,"hylid,hylidae,treefrog"
+tracey_tailor,4,135,
+tracey_(ews),4,135,
+toot,1,135,
+thievul,5,135,
+the_spicy_ninja_scrolls,3,135,
+surgical_operation,0,135,"operation,operation_procedure,operative_procedure,surgery,surgery_operation,surgery_procedure,surgical_procedure"
+sunnyhoneybone,1,135,
+strebiskunk,1,135,
+star_glasses,0,135,
+skia,1,135,
+shizuru,1,135,"sizuru,sizuru21,sizurueuphoric,しずる,シズル,シズル_(artist)"
+shian,1,135,
+shaggy_hair,0,135,
+scott_otter,4,135,
+scorchen,5,135,
+satan,4,135,
+saliva_on_chin,0,135,
+sagging_pants,0,135,
+rynring,4,135,
+ryan_moonshadow,4,135,
+rooc,1,135,fly_(artist)
+ribiruby,1,135,
+renoky,1,135,
+raxkiyamato,1,135,
+ratbat,1,135,christina_crontiris
+ralena/ralaku,4,135,
+raier_(unrealplace),4,135,
+pyramid_head_(silent_hill),4,135,
+pudding,0,135,
+popogori,1,135,
+pongo,4,135,
+plant_print,0,135,"flora_pattern,flora_print,plant_pattern"
+phantump,5,135,
+perpleon,1,135,
+pastel_(artwork),7,135,pastel_art
+original_character_do_not_steal,3,135,
+orange_cum,0,135,
+one_finger_challenge,3,135,
+olimar,4,135,
+o-ishi,1,135,
+norataro,1,135,
+noaharbre,1,135,
+narrikatti,1,135,
+nakhta,4,135,
+motivational_poster,0,135,"demotivator,motivational,motivator"
+moonbrush_(phathusa),4,135,"moonbrush_(mlp),phathusa_(character),phathusa_(mlp)"
+meheheehehe,1,135,
+meeka_rose,4,135,
+maximumpingas,1,135,
+maocrowhard,1,135,
+maggie_applebee,4,135,
+legs_above_head,0,135,
+legendary_birds,0,135,
+lanyard,0,135,
+kuromu,1,135,
+korone_inugami,4,135,
+keron,4,135,
+kekeflipnote,3,135,
+katty_katswell,4,135,
+kaislair,0,135,
+juneduck21,1,135,
+juliagoldfox,1,135,
+jorge-the-wolfdog,1,135,
+john_blacksad,4,135,
+jesse_(falcon_mccooper),4,135,
+inoby_(character),4,135,
+illusion,0,135,
+i-psilone,1,135,
+huepow,4,135,
+hole_(disambiguation),6,135,"hole,holes"
+higglytownhero,1,135,
+hexxy,1,135,
+guillotine,0,135,
+grid_background,0,135,"grid_bg,gridded_background,gridded_bg"
+glaive,0,135,
+gabe_(mytigertail),4,135,
+g1r0r0,1,135,
+frank_westerveldt,4,135,
+firelight,0,135,
+feral_transformation,0,135,
+fel,1,135,
+farkhan,1,135,
+equum_amici,1,135,equumamici
+edwin_inculous_(character),4,135,
+dress_up,0,135,"dress-up,dressup"
+dragon_horn,0,135,dragon_horns
+doctorzexxck,1,135,drzexxck
+dick_in_a_box,0,135,
+demon_hunter,0,135,
+demogorgon,5,135,
+david_hopkins,1,135,driprat
+dart_(thecon),4,135,
+danika_(wolflady),4,135,
+daniel_kay,1,135,
+da_polar_inc,1,135,ssocrates
+cum_spurt,0,135,
+cryphalen,1,135,cryphalen(artist)
+countershade_penis,0,135,
+color_coded_hearts,0,135,
+colarix,1,135,
+chizi,1,135,
+cardigan,0,135,
+card_hand,0,135,
+broken_legs,0,135,
+bondage_and_chill,0,135,
+bluesh,1,135,
+biscuit_(biscuits),4,135,
+bijou_(hamtaro),4,135,
+bestiality_marriage,0,135,
+babe_bunyan,4,135,
+auntie_vixen,4,135,
+aquas_sirenix,1,135,
+ambiguous_on_humanoid,0,135,ambiguous/humanoid
+aliena-cordis,1,135,sabakusuna
+60percentscalie,1,135,
+2_pussies,0,135,two_pussies
+"""honest""_john_foulfellow",4,135,
+zenonzard,3,134,
+yoditax,1,134,
+yamatoiouko,3,134,
+wet_tail,0,134,
+vinfox,1,134,
+vine_whip,0,134,
+unyin,1,134,
+underwear_festival,3,134,
+two_tone_gloves,0,134,
+twillight_(twillightskunk),4,134,
+twilicious,1,134,
+tribaldragon,1,134,
+tim_o'rourke,1,134,
+testicle_pregnancy,0,134,
+tarkir,1,134,
+sudkampsin,1,134,
+strayserval,1,134,servalex
+splashtf,1,134,
+spamjamz,1,134,
+sobbing,0,134,
+slutty_face,0,134,
+slop,3,134,
+slave_market,0,134,
+skirt_pull,0,134,
+skink_(warhammer_fantasy),5,134,
+sigma_x_(character),4,134,
+sblueicecream,1,134,
+saber,0,134,
+roz_gibson,1,134,rgibson
+reimu_hakurei,4,134,hakurei_reimu
+rainbow_footwear,0,134,
+raemyshu,1,134,
+purple_paws,0,134,
+pumpkin_sex,0,134,
+psyredtails,1,134,
+presenting_sheath,0,134,
+porygon,5,134,
+piratefoxbox,1,134,
+nivy_(artist),1,134,
+nightskrill,1,134,
+neverwolf,1,134,dremneverwolf
+navel_fingering,0,134,
+naga_(artist),1,134,
+mothman,4,134,
+mortic_ox,1,134,
+mistresssparkles,1,134,
+miranda_leigh,1,134,
+mewdles,1,134,
+messy_room,0,134,"disheveled_room,unkempt_room"
+master/pet,0,134,
+lovers_of_aether,3,134,
+lizebra,1,134,
+lipstick_fetish,0,134,
+larkdraws,1,134,
+kumakum,1,134,
+kiva_(amazon),4,134,
+kisera,1,134,
+jerro,1,134,
+jaysee,1,134,
+huskii-s,1,134,
+haircut,0,134,
+guil_bunny_(artist),1,134,
+groot,4,134,
+gremlin,5,134,
+greenmonkey,1,134,
+giraffe_mom,4,134,
+fyixen,1,134,
+fused_legs,0,134,
+foxxj,1,134,
+footless_socks,0,134,
+floral_clothing,0,134,
+fire_humanoid,5,134,
+ferrety-lixciaa,1,134,
+ferilla,1,134,
+featureless_eyes,0,134,
+esther_(rinkai),4,134,
+escopeto,1,134,
+ember_the_typhlosion,4,134,
+elbestia,1,134,
+ectoplasm,0,134,
+ebonhorn_(foxxeh),4,134,
+doggieo,1,134,
+dlw,1,134,
+dinosaur_(google_chrome),4,134,
+diaszoom,1,134,
+dead_by_daylight,3,134,
+cum_as_food,0,134,
+commandg,1,134,
+canopus335,1,134,
+biting_clothing,0,134,biting_clothes
+baneroku,1,134,"vane666,vaneroku,ばねろく"
+baltnwolf_(artist),1,134,
+back_wings,0,134,
+atomic_cat,1,134,
+araru,1,134,
+applying_makeup,0,134,
+apc_(artist),1,134,
+anneke_(weaver),4,134,
+animal_swim_ring,0,134,
+anikifaux,1,134,spikesdasnowfox
+andromorph_focus,0,134,cuntboy_focus
+alori_dawnstar,4,134,alori
+all_the_king's_men,3,134,
+adhira_hale,4,134,
+xenochelle,1,133,
+whiteperson,1,133,
+white_sweater,0,133,
+vandalistpikachu,1,133,
+undertaild,1,133,
+tsuyagami,1,133,
+tracy_j._butler,1,133,
+toxic-mario,1,133,
+tower_duo,0,133,
+toonkind,5,133,
+toddrogue69,1,133,
+tiki_san,1,133,
+tharis,4,133,
+ten_kodori,4,133,
+teleportation,0,133,
+switch_console,0,133,
+sudden,0,133,
+stomped,0,133,
+star_butterfly,4,133,
+srriz,4,133,
+snapping_fingers,0,133,finger_snap
+sleeveless_jacket,0,133,
+six_frame_staggered_grid,0,133,
+siege_(arknights),4,133,
+sheath_vore,0,133,
+scratch_(adventures_of_sonic_the_hedgehog),4,133,"scratch_(aosth),scratch_(sonic)"
+satisfied_look,0,133,
+samuelwolfo,1,133,
+rylee_(senimasan),4,133,
+ruze,4,133,
+robedart,1,133,
+rippley_(fortnite),4,133,
+resachii,1,133,
+red_pillow,0,133,
+realization,0,133,
+randt,1,133,
+quest_for_glory,3,133,
+psibunny,1,133,"pk_bun,pk_bunny,pkbun,pkbunny,pkrabbithole,psi_bun,psi_bunny,psibun,spanish-scoot,spanish_scoot"
+princess_vaxi,4,133,
+porldraws,1,133,
+pooping_on_floor,0,133,
+plugsuit,0,133,
+pink_sky,0,133,
+pennant,0,133,
+penis_mouth,0,133,penis_maw
+pattern_necktie,0,133,pattern_tie
+pastel_please,1,133,"diddly-dongs,wildroxann"
+one_shoe_on,0,133,
+olethros,1,133,
+norio_(pheromosa_times),1,133,
+neozoa,1,133,nz_naughty
+neo_hajime,1,133,
+mutio,4,133,
+monster_penetrating,0,133,
+mizky,1,133,neylin
+mintyskin,1,133,
+miltonholmes,1,133,
+magayser,1,133,
+luraiokun,1,133,
+luigiix,1,133,
+lordcuckness,1,133,
+lipstick_on_butt,0,133,
+koosh-ball,1,133,"koosh_ball,steggy"
+kohtek,1,133,
+keedot,1,133,
+kamyuelo,1,133,
+italian_text,7,133,
+inktober_2020,3,133,
+howsplendid,1,133,
+hooved_fingertips,0,133,
+holding_topwear,0,133,
+hakuro_(onmyoji),4,133,
+glass_door,0,133,
+gauged_snake_hood,0,133,
+front_and_back,0,133,
+fleatrollus,1,133,
+flatulance,0,133,
+fizzz,1,133,
+fish_tank,0,133,fishtank
+first_orgasm,0,133,
+filthy_rich_(mlp),4,133,
+fantasyblade,1,133,
+fanfiction,0,133,
+face_in_crotch,0,133,
+eroticphobia,1,133,
+enko_(mrt0ony),4,133,
+dylbun,1,133,
+dry_bones,5,133,
+donkeypunch,1,133,dpunch
+don't_drop_the_soap,3,133,"dont_drop_the_soap,dropped_soap,picking_up_the_soap"
+doginacafe,1,133,
+digi,4,133,
+dark_thigh_highs,0,133,
+cum_in_stomach,0,133,
+cosmicunicorn,1,133,"crappyunicorn,iram"
+coontail_hair,0,133,
+coal_(samt517),4,133,
+chocolate_sauce,0,133,
+cheap-wazoo,1,133,
+casual_clothing,0,133,
+cassie_(foxydude),4,133,
+brushart,1,133,
+blue_overalls,0,133,
+bigdead93,1,133,
+barbed_tongue,0,133,
+barbed_dildo,0,133,
+asderzx,1,133,
+animal_costume,0,133,
+angryelanoises,1,133,
+anal_squirt,0,133,
+amity_blight,4,133,amity_blight_(the_owl_house)
+amanddica,1,133,
+ahoge_(artist),1,133,
+ace_stryker,1,133,
+absa,4,133,
+1ndigocat,1,133,
+17:22,7,133,
+ze_blackball.d,1,132,
+world_cup,0,132,
+working_buddies!,3,132,
+wireless_shiba,1,132,
+wayesh,1,132,greasykingdom
+water_slide,0,132,waterslide
+volcanins,1,132,
+vani-fox,1,132,
+urethra_worm,0,132,
+unusual_heels,0,132,
+unbreakable-warrior,1,132,
+toodledipsy,1,132,
+tentacle_tail,0,132,
+tektah,1,132,
+subnautica,3,132,
+stamp,0,132,
+spreader_toy,0,132,
+spoonyfox,3,132,
+spider-gwen,4,132,
+shark_week,3,132,
+serving_food,0,132,
+sek-raktaa,4,132,
+scottred,1,132,
+sasha_gothica,4,132,
+samoji,1,132,beastlover1100
+road_sign,0,132,
+river_(armello),4,132,
+rental_mommy,3,132,
+rainbow_socks,0,132,
+raccoon_tail,0,132,
+purple_bonus,1,132,
+puapka,1,132,
+psychic_powers,0,132,
+plumber,0,132,
+plastic_bag,0,132,
+piranhapettingzoo,1,132,
+peaches_(miu),4,132,
+parooty,1,132,
+pantherlily,4,132,panther_lily
+orange_belly,0,132,
+olive_(rawk_manx),4,132,
+noxy_(equinox),4,132,
+nose_spike,0,132,
+nood1e,1,132,
+noguchi,4,132,
+nightmaren,5,132,
+nick_(beez),4,132,
+nastypasty,1,132,missn
+multiple_impregnation,0,132,
+microphone_stand,0,132,mic_stand
+mendobear,1,132,
+magic_staff,0,132,
+magiace,1,132,
+louis_wain,1,132,
+loriinae,5,132,"lorie,lory_(bird)"
+light_areola,0,132,"light_areolae,light_areolas"
+leggings_only,0,132,
+kokkoro_(princess_connect!),4,132,
+kincade,4,132,
+khblacky97,1,132,blackwing97
+jace_(gasaraki2007),4,132,
+humanoid_pov,0,132,
+hornbuckle,1,132,
+holding_note_pad,0,132,
+himachi,1,132,
+heibanhikaru,1,132,
+head_leaf,0,132,
+head_hands,0,132,headhands
+hazuki_mikami_(hasukii),4,132,
+grip,0,132,
+greeneyedwolfking,1,132,
+green_bell,1,132,
+green_bandanna,0,132,
+grandmother_and_grandson,0,132,"grandma/grandson,grandma_and_grandson,grandmother/grandson,grandson/grandma,grandson/grandmother,grandson_and_grandma,grandson_and_grandmother"
+googly_eyes,0,132,
+gold_skin,0,132,golden_skin
+glistening_thighs,0,132,
+glass0milk,1,132,
+giant_anteater,5,132,
+geometryboymejia,1,132,
+garr_(breath_of_fire),4,132,
+furry_force,3,132,
+foghorn_leghorn,4,132,
+flour,0,132,
+fleur-de-lis,0,132,
+fennec_humanoid,5,132,
+female_dominating_female,0,132,
+fallen_(artist),1,132,"fallenart,fallenart_(artist),ker0ker0,ker0ker0_(artist),merkavamerkava,merkavamerkava_(artist)"
+eurobeat,1,132,
+ellie_saionji,1,132,
+electro_current_(oc),4,132,
+dr.bubblebum,1,132,dr.bubblebum_(artist)
+douglas_kim,1,132,
+dotty_(animal_crossing),4,132,
+dominant_pokemon,0,132,
+digo_marrallang,4,132,
+diana_(bashfulsprite),4,132,
+detailed_mouth,0,132,
+demon_ascended_(artist),1,132,
+deerstalker_hat,0,132,
+dark_magic,0,132,
+daniel_porter,4,132,
+danger_mouse_(series),3,132,
+croissant,0,132,
+converse_shoes,0,132,
+conadolpomp,1,132,
+colty8,1,132,
+clopician,1,132,
+clam,5,132,
+cinder_glow_(mlp),4,132,
+chaindecay,1,132,trainer-sydney
+cenny,4,132,
+caught_masturbating,0,132,
+cat_o'_nine_tails,0,132,"cat-o'-nine,cat-o'-nine-tails,cat-o'-nine_tails,cat-o'-ninetails,cat-o'_nine,cat-o'_nine-tails,cat-o'_nine_tails,cat-o'_ninetails,cat-o-nine,cat-o-nine-tails,cat-o-nine_tails,cat-o-ninetails,cat-o_nine,cat-o_nine-tails,cat-o_nine_tails,cat-o_ninetails,cat-of-nine,cat-of-nine-tails,cat-of-nine_tails,cat-of-ninetails,cat-of_nine,cat-of_nine-tails,cat-of_nine_tails,cat-of_ninetails,cat_o'-nine,cat_o'-nine-tails,cat_o'-nine_tails,cat_o'-ninetails,cat_o'_nine,cat_o'_nine-tails,cat_o'_ninetails,cat_o-nine,cat_o-nine-tails,cat_o-nine_tails,cat_o-ninetails,cat_o_nine,cat_o_nine-tails,cat_o_nine_tails,cat_o_ninetails,cat_of-nine,cat_of-nine-tails,cat_of-nine_tails,cat_of-ninetails,cat_of_nine,cat_of_nine-tails,cat_of_nine_tails,cat_of_ninetails"
+carrying_person,0,132,
+cacatua,5,132,true_white_cockatoo
+burrnie,1,132,
+burrito,0,132,
+boltund,5,132,
+blueshark,1,132,
+blue_cape,0,132,
+black_eyelids,0,132,
+billboi,1,132,
+big_trapezius,0,132,
+barlu,1,132,
+australia,0,132,
+aokamidu,1,132,aokmaidu
+anubii_(quin-nsfw),4,132,
+anothercolouranon,1,132,
+anivia_(lol),4,132,
+alvano_amala,4,132,
+aegislash,5,132,
+acino_(artist),1,132,
+0227,1,132,
+zera_(titsunekitsune),4,131,
+white_kerchief,0,131,
+vrchat,3,131,
+violet_skies_(character),4,131,
+vicioustyrant,1,131,
+vetisx,1,131,
+venus_de_milo_(tmnt),4,131,venus_de_milo
+utawarerumono,3,131,
+twoscale,1,131,
+tre,4,131,
+trail,0,131,
+toe_scrunch,0,131,
+tithinian,1,131,
+tiger_(monster_rancher),5,131,
+thevillager,1,131,
+tenynn,1,131,"tenynnart,toxictoby"
+team_aqua,3,131,
+tapering_tongue,0,131,
+sweater_only,0,131,
+striped_wings,0,131,
+streaking,0,131,
+storm-tiger,4,131,
+starrffax,1,131,
+stardep,1,131,
+sparkittyart,1,131,
+slaking,5,131,
+simisage,5,131,
+secret_squirrel_show,3,131,
+satoshi_nagashima_(odd_taxi),4,131,
+safety_pin,0,131,
+saeko_art,1,131,
+ryoko_(ryoko-kitsune),4,131,
+ruby_quest,3,131,
+resasuke,4,131,
+reflective_floor,0,131,
+red_(shiro-neko),4,131,
+rat_god_(mad_rat_dead),4,131,
+rapid_digestion,0,131,
+pop-tarts,3,131,"pop-tart,pop_tart,pop_tarts,poptart,poptarts"
+pheeze,4,131,
+paint_can,0,131,
+onward_(2020),3,131,
+one_hand_up,0,131,
+oksara_(character),4,131,
+nina_tucker,4,131,
+niko_(pkfirefawx),4,131,
+night_elf_(feral),5,131,
+naughty_skeleton,1,131,
+nashiholy,1,131,
+murdered,0,131,
+mother_and_father,0,131,"father/mother,father_and_mother,mother/father"
+montage,0,131,
+monstro_village,3,131,
+monotone_perineum,0,131,
+maron2475,1,131,
+mantle,0,131,
+male_fingering_male,0,131,
+magearna,5,131,
+madcow100,3,131,
+luwei_(artist),1,131,chang52084
+lucas_(sssonic2),4,131,
+lube_string,0,131,
+lotusaur,1,131,
+longdanger,1,131,
+liam_(liam-kun),4,131,
+leather_collar,0,131,
+lakehounds,1,131,reservoirdog_(artist)
+kyrio,1,131,
+kom_(komdog),4,131,
+kikunoya,1,131,
+kigoh-neko,1,131,
+keroro,4,131,
+kangy-roo,1,131,
+kakuna,5,131,
+kairunoburogu,1,131,
+jojo_pose,0,131,
+hyu,4,131,
+hysk,1,131,
+huge_moobs,0,131,
+hotbento,1,131,kawaiibentobox
+holographic_screen,0,131,
+hicanyoumooforme,1,131,
+herm/ambiguous,0,131,"?/h,?/herm,a/h,ambiguous/herm,ambiguous_gender/herm,ambiguous_gender_on_herm,ambiguous_on_herm,h/?,h/a,herm/?,herm/ambiguous_gender,herm_on_ambiguous,herm_on_ambiguous_gender"
+helmeted_lizard,5,131,"basilisk_(lizard),basilisk_lizard,casquehead_lizard,corytophanid,corytophanidae"
+hand_on_table,0,131,
+group_hug,0,131,
+greta_(mlp),4,131,
+gato_matero_(character),4,131,
+gas_tank,0,131,
+fol,1,131,
+flushed,0,131,
+fhyra,4,131,
+feet_behind_head,0,131,
+farigiraf,5,131,
+ende,1,131,"ende26,sketchit26"
+elyssa_(trinity-fate62),4,131,
+drive-thru,0,131,"drive-through,drive_through,drive_thru,drivethrough"
+digital_sketch,0,131,
+destroyed_vehicle,0,131,
+delta_vee,4,131,
+day_count,0,131,
+dave_(password),4,131,
+dark_blue_body,0,131,
+daniel_(hladilnik),4,131,"carol's_boyfriend_(hladilnik),ghost_pupper's_boyfriend"
+cum_on_dildo,0,131,
+creaking,0,131,
+containment_tube,0,131,
+caged,0,131,
+buffbumblebee,1,131,buffbumblebee_(artist)
+bubble_dragon,5,131,
+breeding_spree,0,131,
+boron_brioche,4,131,
+bokeh,0,131,
+bluedouble,1,131,
+black_antlers,0,131,
+big_hat,0,131,
+barguest_(tas),4,131,barghest_(tas)
+band_accessory,0,131,
+bagheera_(jungle_book),4,131,
+badwingm,1,131,
+back_plant,0,131,
+antti_remes,1,131,nimbl
+annairu,1,131,
+alcelaphine,5,131,alcelaphinae
+whiteskyline,1,130,
+waterscape,0,130,
+wanderertamplior,1,130,tamplior
+vandclash,1,130,
+urta,4,130,
+unusual_wings,0,130,
+ultraman_(series),3,130,
+tycloud,4,130,
+two_tone_dress,0,130,
+tongue_ring,0,130,
+toffee_(svtfoe),4,130,
+tayronnebr,1,130,
+taur_penetrating_taur,0,130,t/p/t
+tabatha_(samoyena),4,130,
+syandene,4,130,
+susaroo,1,130,
+stevenlew,1,130,
+somewhatsketchy,1,130,
+sloth_bear,5,130,
+shuuko,1,130,s_h_uuko
+shaved_head,0,130,
+sharperit,1,130,
+shapeshifting,0,130,
+sewn_pussy,0,130,sewed_pussy
+sassylebraix,1,130,
+rutherford_(tkongingi),4,130,
+rookieanimator210,1,130,
+rariedash,1,130,
+rarewhoroastbeast_(artist),1,130,
+pyritie,1,130,
+puzzle,0,130,
+progressoftomorrow,1,130,
+pinkie_peaches,1,130,
+pattern_headgear,0,130,
+paguroid,5,130,"hermit_crab,paguroidea,paguroidean"
+olivia_hart,4,130,
+ohakotome,1,130,おはことめ
+nogard_krad_nox,4,130,
+nobro,1,130,
+nightmare_fredbear_(fnaf),4,130,
+neck_ribbon,0,130,
+navel_tuft,0,130,
+nameless00,1,130,
+naegi,1,130,
+mononi,1,130,
+monkey_tail,0,130,
+mocha_latte,4,130,
+mitti,1,130,"touch_my_badger,touchmybadger"
+mistaken_identity,0,130,
+mischievous_smile,0,130,
+miroukitsu,1,130,
+maxpany,1,130,
+marshaxmarshmallow,1,130,
+mad_scientist,0,130,
+loss,3,130,
+looming_over,0,130,
+locker_bench,0,130,
+livia_(dreamypride),4,130,
+littledoll,1,130,anoki
+leviantan581re,1,130,
+leopard_seal,5,130,sea_leopard
+lee_the_kec,4,130,
+ladyvenommyotismon,1,130,
+kyuuhari,1,130,
+kotetsu_rexen,1,130,"kotetsu,kotetsurexen"
+kogeikun,1,130,
+kissing_neck,0,130,
+kinaj,1,130,
+kimmy_(felino),4,130,
+kajabuubuu,1,130,
+kai_(disambiguation),4,130,kai
+jockstrap_aside,0,130,
+jinu_(character),4,130,
+involuntary_penetration,0,130,
+inkanyamba_(artist),1,130,
+indigo_marrallang,4,130,
+inconvenient_tail,0,130,
+imminent_vaginal,0,130,
+ichkoro,1,130,
+hung_bottom,0,130,
+holstaurus,5,130,holstaur
+heavy_blush,0,130,
+heart_writing,0,130,
+heart_shirt,0,130,
+head_between_legs,0,130,
+hawtmoon,1,130,
+hasana-chan,1,130,
+hamuga86,1,130,
+hamstrings,0,130,
+gunpoint,0,130,
+grimer,5,130,
+gourd,0,130,
+goldeen,5,130,
+glistening_tentacles,0,130,
+garo_(garoshadowscale),4,130,"garo,garoshadowscale"
+gardenminttea,1,130,
+fukuzawa,4,130,
+fortune_telling,0,130,
+fatyogi,1,130,
+faline,4,130,
+eileen_roberts,4,130,
+dovecake,1,130,agonymuffin
+doggieo_(character),4,130,
+doctor_neo_cortex,4,130,"doctor_n_cortex,doctor_neo_periwinkle_cortex,dr._n._cortex,dr._n_cortex,dr._neo_periwinkle_cortex,dr_n._cortex,dr_n_cortex,dr_neo_periwinkle_cortex,neo_cortex"
+dipstick_fingers,0,130,
+dildo_knotting,0,130,
+daz_3d,3,130,
+darksideofdiscovery,1,130,
+dakota-bear,1,130,
+cum_on_sheath,0,130,
+cum_on_own_feet,0,130,
+crystal_creature,5,130,"crystal_monster,crystalline_creature,crystalline_monster,living_crystal"
+combos-n-doodles,1,130,
+claydust,1,130,
+chupadore,5,130,
+choko_(chokodonkey),4,130,
+chiakiro,1,130,
+check_mark,0,130,
+caribbean_blue,3,130,
+canyon_(artist),1,130,
+caesar_(anglo),4,130,
+buru_(jaynatorburudragon),4,130,
+bursting_out_of_clothing,0,130,
+bursting_out,0,130,
+brunhilda_(dragalia_lost),4,130,
+british,0,130,
+brandi,1,130,
+brand_parody,0,130,
+bound_and_gagged,0,130,
+bo-gilliam,1,130,
+blue_speedo,0,130,
+blue_(shiro-neko),4,130,
+bible,3,130,
+beast_(marvel),4,130,beast_(x-men)
+bbdworks,1,130,
+avalonsfm,1,130,
+ash_(ashkelling),4,130,
+arm_guards,0,130,
+anbs-02,4,130,
+amethyst_(kitfox-crimson),4,130,
+amagi_brilliant_park,3,130,
+alanottaviano,1,130,
+aerith_gainsborough,4,130,aeris_gainsborough
+adrian_(firewolf),4,130,
+:s,0,130,
+zeigram,1,129,
+youngster_(pokemon),4,129,youngster_(pokémon)
+yosioka_san,1,129,xnonax
+yaudizz,1,129,tyne_amstutz
+x03,1,129,
+whitney_(pokemon),4,129,whitney_(pokémon)
+white_glans,0,129,
+weighted_companion_cube,4,129,companion_cube
+wattchewant,1,129,
+wander,4,129,
+vermilion888,1,129,
+veiny_skin,0,129,
+vannie,1,129,
+urethral_plug,0,129,
+uno_yuuji,1,129,
+twistedgrimtv,1,129,999_(artist)
+toxi_de_vyne_(artist),1,129,"toxi(artist),toxi_de_vyne(artist)"
+toshu,4,129,
+torn_dress,0,129,ripped_dress
+titfight,0,129,
+throat_(artist),1,129,
+thrakos,4,129,
+tc-96,1,129,
+taylor_knight,4,129,
+taracod,1,129,
+taboo_tails_(copyright),3,129,
+student_mei_ling,4,129,
+something_different,3,129,
+slip,0,129,
+skdaffle,1,129,
+siriusdog,1,129,
+sighing,0,129,
+shira_(ice_age),4,129,
+sheath_tuft,0,129,
+sesame_akane,4,129,
+school_desk,0,129,
+saintcocoa,1,129,
+rosie_(roselynn_meadow),4,129,
+robin_(dc),4,129,"robin_(batman),robin_(teen_titans)"
+red_legs,0,129,
+pseudo_horn,0,129,
+professor,0,129,
+pixile_studios,3,129,
+pinkaxolotl,1,129,
+pimpartist,1,129,
+photography,0,129,
+phat_pants,0,129,
+pepe_the_frog,4,129,
+pelican,5,129,"pelecan,pelecanid,pelecanidae,pelecanus,pellican"
+pearl_(steven_universe),4,129,
+pawsve,1,129,
+pav,1,129,"pax_dragonfire,paxdragonfire"
+orange_handwear,0,129,
+nose_kiss,0,129,
+non-humanoid_machine,0,129,
+noctowl,5,129,
+nightcrawler,4,129,kurt_wagner
+neonyx,1,129,misagenesis
+mythical,0,129,
+mustelid_penis,0,129,
+mizukithia,1,129,
+miscellanea404,1,129,
+meryl,4,129,
+mechanical_penis,0,129,
+marota,1,129,
+marc_(smar7),4,129,
+manakete,5,129,
+malerouille,1,129,
+majmajor,1,129,
+lovemummification,1,129,
+linsang,5,129,
+linahusky,4,129,
+liki,1,129,
+licker_(resident_evil),5,129,
+lemonbizate_(artist),1,129,
+ledian,5,129,
+lavasi,1,129,
+latex_boots,0,129,
+ladon_(character),4,129,
+kimmundo,1,129,
+kenjikanzaki05,1,129,
+kemba_kha_regent,4,129,
+keldeo_(resolute_form),5,129,"keldeo_(resolute),keldeo_resolute,resolute_keldeo"
+kaoru_(kitaness),4,129,
+kaitty,4,129,
+joyride_(colt_quest),4,129,
+jigglyjuggle,1,129,
+irootie,1,129,"irootie_(artist),isalacious"
+insomni,4,129,
+hyper_foreskin,0,129,
+humanoid_on_bottom,0,129,
+honeyboyy,1,129,
+homophobia,0,129,
+holding_penetrable_sex_toy,0,129,"holding_flesh_light,holding_fleshlight,holding_onahole"
+heavy_metal,3,129,
+harbour_princess,4,129,"seaport_hime,seaport_princess"
+hangover,0,129,
+handle,0,129,
+hairless_tail,0,129,
+grandfather_and_grandson,0,129,"grandfather/grandson,grandpa/grandson,grandpa_and_grandson,grandson/grandfather,grandson/grandpa,grandson_and_grandfather,grandson_and_grandpa"
+goo_(disambiguation),6,129,"gel,goo,ooze"
+garrosh_hellscream,4,129,garrosh
+fuzzies4you,1,129,
+ford_mustang,3,129,mustang_(car)
+forceful,0,129,
+fisuku,1,129,
+firelander,4,129,
+ferlo,4,129,
+fennec_(artist),1,129,mobianfox
+falcon_mccooper_(character),4,129,
+excessive_drooling,0,129,
+entrapment,0,129,
+emperorstarscream,1,129,
+dusk_(tabuley),4,129,
+dress_pants,0,129,
+drake_drachenlicht,1,129,ch3ck0r
+draco_shokan,5,129,
+dado463art,1,129,
+cum_on_sofa,0,129,cum_on_couch
+cra,5,129,
+corinoch,4,129,
+clothed_female_nude_intersex,0,129,"cfni,nicf,nude_intersex_clothed_female"
+closet_coon,3,129,
+class_zero,5,129,
+carmessi,1,129,
+brass_knuckles,0,129,
+bowser_koopa_junior_(roommates),4,129,
+bow_(decoration),0,129,
+bovine_pussy,0,129,
+black_jackal,1,129,
+bitfly,1,129,
+axo_(fortnite),4,129,
+averrisvis,1,129,
+autolactation,0,129,
+animasanimus,1,129,animas-animus
+alric_kyznetsov,4,129,
+alex_kitsune,1,129,
+ais05,1,129,
+adjusting_glasses,0,129,
+aaros,1,129,"aaros_(artist),firebirddragon"
+17:11,7,129,
+zohara_(reddragonsyndicate),4,128,
+zhang_fei_(full_bokko_heroes),4,128,
+wormmon,5,128,
+withered_chica_(fnaf),4,128,
+visark,1,128,
+villmix,1,128,
+vi_(bug_fables),4,128,
+tyranid,5,128,
+tora_gy,1,128,giantspacetiger
+tauntaun,5,128,
+tan_headwear,0,128,beige_headwear
+tan_(artist),1,128,
+tamaranean,5,128,
+suu_(monster_musume),4,128,
+suri_polomare_(mlp),4,128,"suri_(mlp),suri_polomare"
+ssu_open,1,128,ssu
+spiral_horn,0,128,spiral_horns
+songbird_serenade_(mlp),4,128,
+solidasp,1,128,
+skymachine,1,128,
+sitting_up,0,128,
+savemekitty,1,128,
+s.leech_(oc),4,128,
+rubikon,1,128,
+rough_(disambiguation),6,128,rough
+rookie_bear,1,128,
+roger_(mike_sherman),4,128,
+robot_master,5,128,
+robosylveon,1,128,
+redrick_(erickredfox),4,128,
+purple_arms,0,128,
+public_shower,0,128,
+prinny,5,128,
+picnic_table,0,128,
+okdrsutsu,1,128,
+nobody3,1,128,
+neck_tattoo,0,128,
+multi-word_onomatopoeia,0,128,
+mr._mime,5,128,"mr.mime,mr_mime"
+mountain_range,0,128,
+miss_piggy,4,128,
+milklemon5127,1,128,
+meteor,0,128,
+markiplier,4,128,
+marcus_(rukis),4,128,
+maquenda,1,128,
+lyre_belladonna,4,128,
+lucretia,1,128,
+lay_the_dragon,0,128,"dragon_lay,dragon_laying,laying_the_dragon"
+krinkels,1,128,
+kouseki0024,1,128,
+korean_jindo,5,128,jindo
+kokkoman,1,128,"kokko,kokkooman,コッコーマン"
+knockedoutdragon,1,128,
+kaji_(karnator),4,128,
+jasmine_(pokemon),4,128,jasmine_(pokémon)
+jacket_vest,0,128,"jacket-vest,jacketvest"
+izrez,1,128,
+ivan-jhang,1,128,ffxazq
+imminent_bestiality,0,128,
+ian_dela_cruz,4,128,
+huegirl19,1,128,
+holding_dagger,0,128,
+heyitscousindave,1,128,
+helm_(connivingrat),4,128,
+hectorthewolf,1,128,
+head_on_butt,0,128,
+grummancat,1,128,
+grimmsnarl,5,128,
+grey_sky,0,128,gray_sky
+green_lightsaber,0,128,
+gradie,4,128,
+gas_station,0,128,
+furfnsfw,1,128,"furf_(artist),furfireburst"
+foxene,1,128,
+fluke,1,128,
+flim_(mlp),4,128,
+flame_markings,0,128,"fire_marking,fire_markings,firey_marking,firey_markings,flame_marking,flaming_marking,flaming_markings"
+firing_weapon,0,128,
+feirune,4,128,
+eryz,1,128,
+endless_orgasm,0,128,
+elmelie,4,128,
+elephant_penis,0,128,
+dyson_(eldiman),4,128,
+darkynsfw,1,128,
+dark_chao,5,128,
+cyrus_(animal_crossing),4,128,
+contrapposto,0,128,
+content,0,128,
+chuurow,1,128,
+chani_(ajdurai),4,128,
+challenge_accepted,0,128,
+cat_(petruz),4,128,
+broody,4,128,
+boomer_(nanoff),4,128,
+bob_(vju79),4,128,
+black_ribbon,0,128,
+biting_shirt,0,128,
+asterius_(hades),4,128,
+anus_held_open,0,128,
+alpha_garza_(vimhomeless),4,128,
+aijou,4,128,
+4:1,7,128,
+006_zerozerosix,1,128,
+ziggy_(dezo),4,127,
+wolfsoul,1,127,
+withered_foxy_(fnaf),4,127,
+will_delrio_(sketchybug),4,127,
+whitepone,1,127,
+wet_bottomwear,0,127,
+warning_symbol,0,127,
+wanderlustdragon,1,127,
+unit_no04,1,127,
+uenositasayuu,1,127,
+twintails3d,1,127,
+turnip,0,127,turnips
+tsukigata_rossi,1,127,"brute_(artist),brutish_(artist),brutish_laboratory,brutish_laboratory_9,r.t,rosshi-thukigata,rosshi-tsukigata,rosshi_thukigata,rosshi_tsukigata,rosshithukigata,rosshitsukigata,rossi-thukigata,rossi-tsukigata,rossi_thukigata,rossi_tsukigata,rossithukigata,rossitsukigata,t.ロッシ,thukigata-rosshi,thukigata-rossi,thukigata_rosshi,thukigata_rossi,thukigatarosshi,thukigatarossi,tsukigata,tsukigata-rosshi,tsukigata-rossi,tsukigata_rosshi,tsukigatarosshi,tsukigatarossi,月潟_ロッシ,月潟ロッシ,月潟研究棟"
+tilionmaia,1,127,
+thor_(series),3,127,
+the-wag,1,127,wingbonermaker
+teddy_conner,4,127,
+teal_mane,0,127,
+tania_tlacuache,4,127,tania_(stunnerpone)
+tammy_squirrel,4,127,
+takarachan,1,127,
+suiting,0,127,
+strategically_covered,0,127,
+stowaway,1,127,
+starlow,4,127,
+spy,0,127,
+spiked_choker,0,127,
+sly_asakura,4,127,"sly_(electricfox777),sly_(electronfox777)"
+slipping,0,127,
+sleepyinu,1,127,
+skull_earrings,0,127,
+side_grab,0,127,
+shoelaces_untied,0,127,"bootlaces_untied,boots_untied,laces_untied,shoes_untied,untied_boots,untied_shoes"
+shema,4,127,
+sheeva,4,127,
+sex_gesture,0,127,
+sepf,4,127,
+selene_blackcat,4,127,
+scuba_gear,0,127,
+sato_afroleone,1,127,satoshikumada
+ryuakira,1,127,
+ral,4,127,
+rainbownspeedash,1,127,
+queen_novo_(mlp),4,127,queen_novo
+pinkuh,1,127,
+phursie,4,127,phurcy
+petri_(animal_crossing),4,127,
+on_counter,0,127,
+november,4,127,
+nights,4,127,
+night_sky_body,0,127,
+nestor_(spyro),4,127,
+muto_(godzilla),4,127,"m.u.t.o.,massive_unidentified_terrestrial_organism,massive_unidentified_terrestrial_organisms,muto_1,muto_2,mutos"
+multi_body,0,127,
+mother_kate_(jakethegoat),4,127,
+monotone_hat,0,127,
+mn27,1,127,
+mabel_(1-upclock),4,127,
+m4,0,127,
+lumina_(stargazer),4,127,
+lovebrew_(oc),4,127,
+lean_muscle,0,127,
+kunugi,1,127,"sansh,くぬぎ_(artist)"
+kl0ndike,1,127,
+kifyun2,1,127,
+kebi,1,127,
+kanna_(joaoppereiraus),4,127,
+jotaro_kujo,4,127,
+jeri_katou,4,127,kato_juri
+in_swim_ring,0,127,
+highwaytotartarus,1,127,
+head_out_of_frame,0,127,
+hands_on_feet,0,127,
+haa,3,127,
+gouache_(artwork),7,127,gouache
+garter_belt_socks,0,127,"garter_belt_sock,sock_garter_belt,socks_garter_belt"
+fur_clothing,0,127,"fake_fur,faux_fur"
+frill_piercing,0,127,
+firefly_(pre-g4),4,127,firefly_(mlp)
+filly_anon,4,127,
+evillabrat,1,127,evillabrat_(artist)
+ethriol,1,127,
+ethereal_mane,0,127,
+ebony_marionette_georg,4,127,
+duskguard,1,127,
+double,0,127,
+dosh,1,127,
+diesirae,4,127,
+diamondbackdrake,1,127,
+demon-man,1,127,
+dangan,1,127,"mutaninini,だんがん"
+colored_edge_bra,0,127,
+color_contrast,7,127,
+caution_tape,0,127,
+carrot_in_ass,0,127,
+caroo_(character),4,127,
+carelessdoodler,1,127,
+bowling_pin,0,127,
+bluewhale127,1,127,"blue_whale_(artist),blue_whale_127,megaioas"
+black_speedo,0,127,
+biyemorph,5,127,
+bent_over_desk,0,127,
+angoraram,1,127,
+analog_clock,0,127,
+alpi,1,127,
+accidental_sex,0,127,
+6_fingers,0,127,"6_finger,6_fingered,six_finger,six_fingered,six_fingers"
+44vex,1,127,
+zoom_lines,0,126,
+zander_(zhanbow),4,126,
+year_of_the_rat,3,126,year_of_the_mouse
+yaoyasohachi,1,126,
+wrong_hole,0,126,
+worshiping,0,126,
+wolverine_(marvel),4,126,wolverine_(x-men)
+william_afton_(fnaf),4,126,
+will_(hladilnik),4,126,zebra_son_(hladilnik)
+warskunk_(artist),1,126,
+violet_(artca9),4,126,
+veiny_udders,0,126,
+vehicle_destruction,0,126,
+urine_in_own_mouth,0,126,
+unikitty!,3,126,
+ultima_(oc),4,126,
+traffic_light,0,126,traffic_lights
+the_great_prince_of_the_forest,4,126,
+the_dreamstone,3,126,
+the_avengers,3,126,avengers
+teryx,3,126,
+tapestry,0,126,
+taker_pov,0,126,
+tactical_gear,0,126,
+swordkirby,1,126,
+stasis_delirium,1,126,"ravenwolf,stasisdelirium,tim_johnson"
+sleep_fetish,0,126,
+shanukk,4,126,
+sex_toy_in_penis,0,126,sextoy_in_penis
+sen_grisane_(artist),1,126,sen-en
+sebastian_cummins_(thechavicgerman),4,126,
+scataraxia,1,126,
+sawk,5,126,
+sarana_(knotthere),4,126,
+ryūko_matoi,4,126,"matoi_ryuko,matoi_ryuuko,matoi_ryūko,ryuko_(kill_la_kill),ryuko_(klk),ryuko_matoi,ryuuko_(kill_la_kill),ryuuko_(klk),ryuuko_matoi,ryūko_(kill_la_kill),ryūko_(klk)"
+reddrago,1,126,
+recursive_vore,0,126,
+rawdarkness,1,126,
+rattfood,1,126,dozybunn
+rastaban_coal,1,126,
+rabbitbrush,1,126,
+presenting_cervix,0,126,
+pongldr,1,126,
+pitcher,0,126,
+pinstripes,0,126,
+penny_flynn,4,126,
+pelecaniform_humanoid,5,126,
+pattern_headwear,0,126,
+padoga,1,126,
+owo_sfm,1,126,
+overweight_semi-anthro,0,126,
+object_shows,3,126,
+object_shot,0,126,
+nurse_joy,4,126,
+nick_(the_xing1),4,126,nix_(the_xing1)
+naz_namaki_(cynxie),4,126,
+multi_head_kiss,0,126,
+moses_(samur_shalem),4,126,
+morpeko,5,126,
+mole_on_breast,0,126,
+military_hat,0,126,
+meowser,4,126,
+melody_(mellybyte),4,126,
+luna_paws,4,126,
+loneclaw,1,126,
+light_arms,0,126,
+leqha,1,126,
+leliel,4,126,
+large_wings,0,126,
+knotted_tapering_penis,0,126,
+kinojaggernov,1,126,kino_jaggernov
+kasaler,1,126,
+karbo,1,126,
+kailys,1,126,
+jmsdf,3,126,
+jason_voorhees,4,126,
+jagras,5,126,great_jagras
+irisarco,1,126,
+igazella,1,126,
+hoverboard,0,126,hover_board
+hotbrotkuroi,1,126,
+hockey_mask,0,126,"goal_tender_mask,goalie_mask,goaltender_mask"
+hellbridge,1,126,
+hawkvally,1,126,
+hamtaro,4,126,
+grievousfan,1,126,
+grey_paws,0,126,gray_paws
+goop,0,126,
+germany,0,126,
+geodude,5,126,
+gastropod_humanoid,5,126,
+garret_(rain-yatsu),4,126,
+gammanaut,1,126,
+gammamon_(ghost_game),4,126,
+furzota,1,126,
+frevilisk,1,126,
+freddy_(dislyte),4,126,
+flower_ornament,0,126,
+flash_slothmore,4,126,flash_(zootopia)
+flamevulture17,1,126,
+fellowwolf,1,126,
+exile_(road_rovers),4,126,
+estper,1,126,tiger_est
+epic_soul,1,126,
+endtown,3,126,
+emmitt_otterton,4,126,
+duo_radon,1,126,
+dominant_andromorph,0,126,"andromorph_dom,andromorph_dominant,andromorph_dominating,andromorph_domination,cuntboy_dom,cuntboy_domination,dom_andromorph,dom_cuntboy,dominant_cuntboy"
+dalley-the-alpha,1,126,dalley-alpha
+dahs,1,126,
+crocodilianbooty,1,126,
+crimsonrabbit,1,126,
+coypowers,1,126,
+clothing_around_waist,0,126,
+clear_sky,0,126,
+chibsarts,1,126,chisuun
+chaut,4,126,
+canine_teeth,0,126,
+cam_collins,4,126,
+breezie_the_hedgehog,4,126,
+bowl_cut,0,126,
+bootydox,1,126,
+blood_on_body,0,126,
+bieesha,4,126,
+beholdervee,1,126,
+bambolbi,1,126,
+ball_markings,0,126,"ball_marking,ball_sack_marking,ball_sack_markings,ball_sacks_marking,ball_sacks_markings,balls_marking,balls_markings,ballsack_marking,ballsack_markings,ballsacks_marking,ballsacks_markings,scrotum_marking,scrotum_markings,scrotums_marking,scrotums_markings,testical_marking,testical_markings,testicals_marking,testicals_markings,testicle_marking,testicle_markings,testicles_marking,testicles_markings"
+baguette,0,126,
+aoi_takayuki,1,126,kawai_takahiro
+annonymouse,1,126,
+annie_and_the_mirror_goat,3,126,annie_and_the_mirror_goat_(catcouch)
+anna_(sailoranna),4,126,
+amy_squirrel,4,126,
+alfred_(umpherio),4,126,
+acoustic_guitar,0,126,
+abnarie,1,126,"abunaiesennyou_san,tanikizuki2"
+2_mouths,0,126,"2-mouthed,2-mouths,2_mouthed,two-mouthed,two-mouths,two_mouthed,two_mouths"
+zzx,1,125,
+yuki_motoe,4,125,
+yamato_iouko,4,125,
+wyverian,5,125,
+wynter,4,125,
+vibrator_hip_strap,0,125,
+verbal_reaction_to_tf,0,125,
+vantanifraye,3,125,
+ty_the_tasmanian_tiger_(series),3,125,"ty_(game),ty_(series),ty_the_tasmanian_tiger_(game),ty_the_tazmanian_tiger_(game),ty_the_tazmanian_tiger_(series)"
+two_side_up,0,125,
+trolling,0,125,
+torn_body,0,125,
+toned_stomach,0,125,
+thesociallyawkwardpinguin,1,125,
+the_shadow_of_light,3,125,
+tawny_otter,1,125,
+tanookicatoon,1,125,"tanookicatoon(artist),tanookicatoon_(artist)"
+sum,1,125,
+stephen_king_(copyright),3,125,
+spoiler,0,125,spoilers
+spera,1,125,lyoness
+someindecentfellow,1,125,
+sodiav,1,125,clip_clop
+snack,0,125,
+sideless_swimsuit,0,125,
+self-bondage,0,125,self_bondage
+scamp,4,125,
+sammfeatblueheart,1,125,
+sajik,1,125,cinderkiss
+saillestraife,1,125,
+saffron_masala_(mlp),4,125,
+sabuke_(character),4,125,
+rytlock_brimstone,4,125,
+ryder_(striped_sins),4,125,
+robby_bunny,4,125,"rob_(robthebunny),rob_the_bunny,robert_bunneh,robthebunny"
+reggie_(tokifuji),4,125,
+quillu_(character),4,125,
+pussy_noir,4,125,
+prey_penetrated,0,125,
+pomacentrid,5,125,pomacentridae
+poker_table,0,125,
+pit_organ,0,125,"facial_pit,facial_pit_(anatomy),facial_pit_(feature),heat_pit,heat_pits,pit_organ_(anatomy),pit_organ_(feature)"
+pink_panther_(series),3,125,
+pedverse,1,125,
+on_fence,0,125,
+nosivi,4,125,
+neboveria,1,125,
+natttttalina,1,125,
+nakagami_takashi,1,125,
+moordred,1,125,
+misu_nox,4,125,
+mister_d,1,125,
+milkjunkie,3,125,
+mercury_shine,4,125,
+marge_simpson,4,125,
+manyu,1,125,
+mamagen,5,125,
+lucas_(earthbound),4,125,
+lolly_(butterscotchlollipop),4,125,
+lettuce_(artist),1,125,"honeydew_(artist),latexia_(artist),milkandjuice"
+lethal_league,3,125,
+leovictor,1,125,
+krayboost,1,125,
+kraft_lawrence,4,125,craft_lawrence
+katie_kirster,4,125,
+kaeaskavi,1,125,kaeaskavi_(artist)
+jv,4,125,
+jazzotter,4,125,
+itomic,1,125,
+inner_monologue,0,125,
+inkune,1,125,
+impreza,4,125,
+idrysse3,1,125,
+hydrabb,1,125,
+husk_(hazbin_hotel),4,125,
+holding_single_card,0,125,
+holaxes,1,125,
+hand_on_object,0,125,
+grey_dress,0,125,gray_dress
+green_slime,0,125,
+green_neckerchief,0,125,
+green_goo,0,125,
+gold_penis,0,125,golden_penis
+glomp,0,125,
+game_boy_cartridge,0,125,
+fudchan,1,125,
+francis_misztalski,4,125,
+extro,1,125,
+elezen,5,125,
+ebvert,1,125,
+earplugs,0,125,
+dramatic_lighting,0,125,
+dragonmaid_(yu-gi-oh!),5,125,
+diggersby,5,125,
+derpyrider,1,125,
+cyber_(disambiguation),0,125,cyber
+cum_on_underwear,0,125,
+cum_on_lips,0,125,
+cum_on_glass,0,125,
+culpeofox,1,125,culpeo-fox
+crushed_vehicle,0,125,
+crested_porcupine,5,125,
+corset_dress,0,125,
+coffeesheizen,1,125,
+cocaine,0,125,crack
+cleric,0,125,
+cinnamoroll,3,125,fluffy_fluffy_cinnamoroll
+chaise_lounge,0,125,
+calumon,5,125,culumon
+build_tiger,3,125,
+bradley_(stylusknight),4,125,
+black_wool,0,125,
+black_tipped_ears,0,125,
+berserk,3,125,
+beholder,5,125,
+beavertyan,1,125,
+athlete,0,125,
+anutka,1,125,
+angelface,1,125,
+amur_leopard,5,125,
+alwaysfaceleft,1,125,
+allannocte,1,125,
+alice_margatroid,4,125,
+aktiloth,1,125,
+african_civet,5,125,
+admiralobster,1,125,
+a_princess_of_mars,3,125,
+9999gpera,1,125,
+7:9,7,125,
+yogi_bear_(character),4,124,
+yin_yang_yo!,3,124,yin_yang_yo
+xuan_(xuan_sirius),4,124,
+x-kid,1,124,silver-scarecrow
+veigar-chan,1,124,darknessblinds
+vacation,0,124,
+twotail_(mlp),4,124,
+twin_ear_bows,0,124,
+true_hawk,5,124,"accipitrinae,sparrowhawk"
+tres-apples,1,124,"mustakrakish,pony-fuhrer"
+tree_trunk,0,124,
+swift_fox,5,124,
+steven_quartz_universe,4,124,"steven_(steven_universe),steven_universe_(character)"
+steam_censorship,0,124,
+sowat-blend,1,124,
+skull_symbol,0,124,
+skoll_(wolf-skoll),4,124,
+sihai's_legacy,3,124,
+scarfyace,1,124,
+savestate,3,124,
+saucer,0,124,
+saber-toothed_squirrel,5,124,sabertooth_squirrel
+riska_(artist),1,124,ris'ka
+rider_of_black,4,124,"astolfo_(fate),rider_astolfo,rider_of_""black"",rider_of_black_astolfo"
+redboard,1,124,
+push,0,124,
+purpleground02,1,124,
+purple_robe,0,124,
+praise_kink,0,124,
+pluto_(disney),4,124,
+pinkie_pie_(eg),4,124,
+pepper_(fruit),0,124,capsicum
+orange_sheath,0,124,
+orange_hoodie,0,124,
+northernsprint,1,124,
+nightmare_freddy_(fnaf),4,124,
+nero_eternity_(artist),1,124,"drayke_eternity,neroeternity"
+multicolored_feet,0,124,
+multicolored_boots,0,124,
+moon_knight_(series),3,124,
+monotone_stockings,0,124,
+monotone_shoes,0,124,"mono-tone_shoe,mono-tone_shoes,mono_tone_shoe,mono_tone_shoes,monotone_shoe"
+mixed_sandwich_position,0,124,
+milking_cum,0,124,
+megumigoo,1,124,
+magic_hands,0,124,
+machgaogamon,5,124,
+log_horizon,3,124,
+leg_spikes,0,124,
+landon,4,124,
+kumagaya_shin,1,124,
+kubikitsune,1,124,
+krisha_russel,4,124,
+koda-kota,1,124,kota
+kaidzsu,1,124,essui
+jibanyan,4,124,
+jasentamiia,1,124,
+ipad,3,124,ipad2
+inkcookie,1,124,
+infesticles,0,124,
+idena_(swordfox),4,124,
+hunter_(spyro),4,124,
+huckser,1,124,
+holding_ice_cream,0,124,
+hisuian_samurott,5,124,
+hiddenmask18,1,124,
+heat_(disambiguation),6,124,heat
+hazel_(flittermilk),4,124,
+hardscales,1,124,
+green_hill_zone,0,124,
+great_ball,0,124,
+gooze_(sunibee),4,124,
+goldcrustedchicken,1,124,
+goattrain,1,124,astarothathros
+glunk_(sound_effect),0,124,
+furred_shark,5,124,
+frostedchase,1,124,
+fraye,4,124,
+foxyghost,1,124,
+fist_pump,0,124,
+female_shepard,4,124,femshep
+excessive_lactation,0,124,
+evening_gloves,0,124,
+elim_dorelga,4,124,
+edesk,1,124,
+dynoex,1,124,
+drpolice,1,124,
+drpickelle,1,124,dr_pickelle
+dorohedoro,3,124,
+deusexequus,1,124,
+deezmo,1,124,
+deareditor,1,124,madopts
+davey_(diadorin),4,124,
+dandee_(character),4,124,
+cumming_while_penetrating,0,124,
+cum_on_pillow,0,124,
+creamytea,1,124,
+cortana_(halo),4,124,
+copper_(fath),4,124,copper_(disney)
+codpiece,0,124,
+coby_(mao_mao),4,124,
+by-sa,3,124,cc-by-sa
+bungie,3,124,
+bucephalus,4,124,
+brush_(benju),4,124,
+brown_coat,0,124,
+bran-draws-things,1,124,
+birthday_gift,0,124,birthday_present
+bindings,0,124,
+betsibi,4,124,
+belt_bondage,0,124,
+beartato,4,124,
+battlefield,0,124,
+anal_juice_drip,0,124,
+aiden_laninga,4,124,
+acrid,4,124,
+12:13,0,124,
+025aki,1,124,ピカじん
+ziggy_fox,1,123,raphfox
+yrel,4,123,
+wolfgangcake,1,123,brian_wear
+vertical_staggering,0,123,
+ultrafem,1,123,
+udder_growth,0,123,
+two_tone_belly,0,123,
+trevart,1,123,
+touching_chest,0,123,
+tombola1993,1,123,
+tionishia_(monster_musume),4,123,
+tiffany_(animal_crossing),4,123,
+thescarletdragon1,1,123,
+tekahika,1,123,
+team_shuffle,1,123,
+tapiko,1,123,
+swear,0,123,
+supergirl,4,123,
+stuff_gag,0,123,
+striped_necktie,0,123,striped_tie
+stranger_things,3,123,
+sskomu_(artist),1,123,
+spotted_wings,0,123,
+solii_(gizmo1205),4,123,
+snuffy,4,123,
+skyvo,1,123,
+skunk_spray,0,123,
+sitting_on_stool,0,123,
+sinrizuki,1,123,versiple
+sila_dione,4,123,
+shaggy_rogers,4,123,"norville_rogers,norville_shaggy_rogers,shaggy_(character),shaggy_(scooby),shaggy_(scooby-doo),shaggy_(scooby_doo),shaggy_(scoobydoo)"
+shadowfenrirart,1,123,
+scorpion_humanoid,5,123,
+scombriform,5,123,scombriforme
+saxophone,0,123,
+sakana8888888,1,123,sakana888888888
+rubik's_cube,3,123,
+reina_(sachasketchy),4,123,reina_(mutton_chop)
+recon_scout_teemo,4,123,
+ranni_the_witch,4,123,
+quicktimepony,1,123,
+punkinbuu,1,123,
+print_bottomwear,0,123,
+pokémon_battle,0,123,pokemon_battle
+pokesiimii,1,123,
+plantedpot,1,123,
+perfume,0,123,
+pepperchan,1,123,
+pelvic_fins,0,123,
+panzerschreckleopard,1,123,
+pansage,5,123,
+owen,4,123,
+overweight_andromorph,0,123,overweight_cuntboy
+only0neman,1,123,
+nullenigma,1,123,
+noonie-beyl,4,123,
+noke_(delicatessen),4,123,
+nissan,3,123,
+nipple_focus,0,123,
+myrilla,4,123,
+mugshot,0,123,mug_shot
+mountain_dew,3,123,
+mottled_pussy,0,123,"mottle_cunt,mottle_labia,mottle_pussy,mottle_twat,mottle_vag,mottle_vagina,mottle_vulva,mottled_cunt,mottled_labia,mottled_twat,mottled_vag,mottled_vagina,mottled_vulva"
+moirah,1,123,
+mintyderg,1,123,deessel
+mayoineko,1,123,
+mashiromiku,1,123,
+malware,1,123,
+male_and_female_submissive,0,123,
+maaia,1,123,"illusie,maaia_(artist)"
+lyra_(pokémon),4,123,lyra_(pokemon)
+lotus_pose,0,123,
+long_dress,0,123,
+kowalski,4,123,
+knochka,1,123,
+kirin_(mh),5,123,"kirin_(monster_hunter),oroshi_kirin"
+kink,0,123,
+jaggi,5,123,"great_jaggi,jaggia"
+jace_(darknaig),4,123,
+invalid_tag,6,123,"),20_percent_cuter,2_armed,2_arms,2_legged,2_legs,addshark,adorable,adorkable,aesthetic,alliieennss,alluring,amazing,anatomically_incorect,anatomically_incorrect,anatomy_fail,animal,animals,anime,ankles,arm,arm_pits,armpit,armpits,arms,art,art_trade,artistic,artwork,ass_slave,ass_worship,attractive,awesome,awesometastic,aww,bad,bad_anatomy,bad_ass,bad_edit,badass,bang,belly_button_swirl,bimbo,bishojo,bishoujo,blacked,blank_flank,bliss,bluebomberimo,boner_killer,boyfriend,breeding,brutal,bustyboi,butt_slut,calves,cassandra_bruynseels,change,changed,character_from_animated_feature,character_from_animated_feature_film,cheeks,chest,chirmaya_(colorist),classic,clean,clean_art,clip,clop,closed_species,cock_sleeve,cocksleeve,commision,commission,commission_art,commissions,commissions_open,control,cool,crap,crap_art,creative,cringe,cruel,cute,cute_face,cuteness_overload,cybernetic_chin,d'aw,d'aww,d'awww,dawww,dawwww,dawwwww,dawwwwww,delete_me,demonic_lion,digital_sports,disgusting,display,do_not_want,do_want,douchebag,drawn,duplicate,ear,ears,ecchi,eko_mimiff,elbow,eminent_anal_vore,emotion,enjoy,epic,epic_win,erin_middendorf,erotic,evil,exotic,expression,extreme,eyes_opened,eyes_opening,fabulous,faces,fan-art,fan_art,fanart,fanarts,fanservice,fat_ass,fauna,female_human,fighter,first_time,flank,forbidden_love,free_art,friendship,fucking_adorable,fucking_awesome,fun,furr,furries,furry_art,fursona,fursonas,gasaraki2007,gentle,gift_art,giftart,gijinka,girlfriend,girlfriends,good,gorgeous,grab,graphic,graphics,gripping,gross,hand,handsome,hard,hardcore,head,headcanon,hear,heart_warming,heartwarming,hentai,hi,hideous,high,highest_rated,hole_some,holesome,homoerotic,horrible,horror,hot,hotwert,huge,hunk,hunky,idk,ikimono_(species),iko:mimiff,iko_(miff),iko_mimiff,image,implied,implied_anal,implied_bestiality,implied_death,implied_dickgirl,implied_digestion,implied_fellatio,implied_masturbation,implied_penetration,implied_sex,implied_vore,inconsistent,innocent,inspecting,inter_racial,interracial,item,iyumcropus,james_sheehan,job,jocelyn_dunn,juicy,kawaii,kaylie_prefontaine,killer,kinky,knee,knees,large,laura_westrate,leg,life,line,linhthasack,little,long,look,looking,low_quality,low_skill,lowresatari,luscious,macks,macks_(artist),marc_schnakenberg,marefurryfan,mary_sue,me,media,media_(artwork),mega_cute,melissa_o'brien,membership_censorship,minikane_(commissioner),misplaced_anus,misplaced_tail,modeling,mogata,monster_cock,motion,mouth,murr,mutant,mutant_mimiff,mutsurf,nasty,navel_domination,neuter,new,nice,nightcrauzer,no_anus,no_balls,no_bra,no_feet,no_humans,no_iris,no_music,no_nipples,no_pussy,no_visible_genitalia,noms,non_english,none,nonhuman,normal,nostalgia,nostril,nostrils,not_cub,not_funny,not_gay,not_porn,nyori,oddly_cute,oddly_sexy,offscreen_masturbation,old_art,onoi,onoi_(mimiff),open,order,organism,original,original_species,over,oviparous,owned,paisleypaw,panel,panels,partran,paywall,pedophile,peets,people,pepsi_(fa),perfect,person,pervert,pirozami,plain,pleasing,pleasure,pleasuring,plot,png,pointy,pokesex,poorly_animated,poorly_drawn,poorly_made,pose_sexy,pounding,pretty,previous_version,psycho,psycho_killer,psychotic,punish,r34,randochris,related,repost,request,revolting,rhinarium,ripped,riscara,round,ruined_orgasm,rule-34,rule34,rule_34,saladin_fahlia,same_species,scene,secute,sesede,sex_offender,sexual_predator,sexy,sharp,shawn_ye,shipping,shitty_art,shoulders,sickening,sistayatsa,sistayatsa_(mimiff),slut,slutty,small_pred,smexy,smooth,smooth_soles,soft,softcore,sona,sonas,sook_mimiff,soulblader,spicy_nick,sporty,stolen,stolen_artwork,stud,stuff,style,suffer,super_cute,super_effective,swap,swapped,sweet,taste,tehpeej,tehpeej_(artist),test,tg,thing,things,three,tight,totodice,totodice1,touch,touching,tough,trade,tranny,trans_man_penetration,trap_mimiff,trashy,treboloid/pirozami,treboloids/pirozami,trebols,trust,two_armed,two_arms,two_legged,two_legs,typo,tést,ugly,umami_sutra,unhappy,unique,unwanted,vee4eva,very_cute,viacom,vulnerable,vultree_mimiff,wanker,weebfag,well_endowed,white_sclera,white_sclerea,wholesome,wholesome_sex,wholesome_somehow,whore,wild,willing,win,wingless,with_her_boob_comin_out,yiffy"
+imminent_rimming,0,123,
+imabunbun,1,123,pastel.fur
+huskyman24,1,123,huskyman
+human_to_taur,0,123,
+heart_pawpads,0,123,"<3-shaped_paw_pad,<3-shaped_paw_pads,<3-shaped_pawpad,<3-shaped_pawpads,<3_paw_pad,<3_paw_paws,<3_pawpad,<3_pawpads,<3_shaped_paw_pad,<3_shaped_paw_pads,<3_shaped_pawpad,<3_shaped_pawpads,heart-shaped_paw_pad,heart-shaped_paw_pads,heart-shaped_pawpad,heart-shaped_pawpads,heart_paw_pad,heart_paw_pads,heart_pawpad,heart_shaped_paw_pad,heart_shaped_paw_pads,heart_shaped_pawpad,heart_shaped_pawpads,hearts-shaped_paw_pad,hearts-shaped_paw_pads,hearts-shaped_pawpad,hearts-shaped_pawpads,hearts_paw_pad,hearts_paw_pads,hearts_pawpad,hearts_pawpads,hearts_shaped_paw_pad,hearts_shaped_paw_pads,hearts_shaped_pawpad,hearts_shaped_pawpads"
+heart_glasses,0,123,
+hand_on_elbow,0,123,
+hand_around_neck,0,123,
+gsphere,1,123,
+green_speedo,0,123,
+gir,4,123,
+gf,1,123,
+gears_of_war,3,123,
+frill_(disambiguation),6,123,"frill,frills"
+foreskin_bite,0,123,
+firebunny,5,123,
+fat_mons,0,123,
+face_on_penis,0,123,
+extremespeedslowpoke,1,123,
+ember-dragoness,1,123,
+eihman,1,123,
+drulttur,5,123,
+drauk,5,123,
+doctorproxy,1,123,
+director_ton,4,123,
+dildo_mask,0,123,
+dibujito,1,123,
+denmoko,1,123,
+delia_(anglo),4,123,
+debudraws,1,123,
+darwen,4,123,
+danslittlefurs,1,123,
+damsel_in_distress,0,123,
+daestra_the_hedgehog,4,123,
+da_vinci_(101_dalmatians),4,123,
+d.angelo,1,123,
+cyanzangoose,1,123,
+custom_species,5,123,
+cumjarbunny,1,123,"musclegutdaddy,spermbunny"
+cowardlion,1,123,
+costom10_(character),4,123,
+cordite,4,123,
+condiment,0,123,
+clownfish,5,123,clown_fish
+clothing_theft,0,123,
+clipping,0,123,
+clip_accessory,0,123,
+camcroc,1,123,camsan_r_s
+business,0,123,
+bourbon_(artist),1,123,
+bns_arts,1,123,
+blur_censorship,0,123,
+bludgeon,1,123,
+blackjack_(fallout_equestria),4,123,blackjack_(mlp)
+black_tail_feathers,0,123,
+big_bun_burgers,3,123,
+bayonet,0,123,
+barzillai,4,123,
+bartok_the_magnificent,3,123,
+art-abaddon,1,123,
+ara_ara,0,123,
+anon_(snoot_game),4,123,
+amber_wind,1,123,
+0k0j0,1,123,
+zony,5,122,
+youl,4,122,
+yellow_neckerchief,0,122,
+yakou,1,122,
+yagi_the_goat,1,122,s1120411
+white_fingernails,0,122,
+voviat,1,122,
+vinnie_(bmfm),4,122,
+verbal,0,122,
+two_tone_stockings,0,122,
+twilight_stormshi_(character),4,122,
+tolpain,1,122,
+tiliquain,1,122,
+the_stag,4,122,
+the_conductor_(ahit),4,122,the_conductor_(a_hat_in_time)
+thaz_(character),4,122,
+teitoryu,1,122,
+teal_pussy,0,122,
+tail_lick,0,122,"licking_tail,tail_licking"
+taigerarts,1,122,taiger
+syntech,1,122,
+suspended_via_tentacles,0,122,
+straight_bangs,0,122,
+ssvanti,4,122,
+space_dragon,5,122,
+soraa,1,122,
+sky_(youwannaslap),4,122,
+skeleton_(marking),0,122,"skeletal-shaped_markings,skeletal_(marking),skeletal_(markings),skeletal_marking,skeletal_markings,skeletal_shaped_marking,skeletal_shaped_markings,skeleton-shaped_marking,skeleton-shaped_markings,skeleton_(markings),skeleton_marking,skeleton_markings,skeleton_shaped_marking,skeleton_shaped_markings"
+sidekick,1,122,
+sheath_fingering,0,122,
+sewing_machine,0,122,
+seshed_circlet,0,122,
+serilde,4,122,
+ryukawa,1,122,
+rwolf,1,122,
+rusteh_(sharkbum),4,122,
+rousemouse,1,122,
+rita_(fuf),4,122,
+red_glow,0,122,
+rapid_transit,0,122,"heavy_rail,mass_rapid_transit,sub-way_train,sub_way_train,subway_train,u-bahn,u_bahn,ubahn"
+randall_boggs,4,122,randy_boggs
+raft,0,122,
+pseftis_savra,4,122,pseftis_crundlequest
+prinisdead,1,122,
+predator_penetrating,0,122,
+pet_bed,0,122,"pet-bed,pet-beds,pet_beds,petbed,petbeds"
+penis_on_belly,0,122,
+peeing_on_penis,0,122,
+panashe_(summon_night),4,122,
+o-ring_bikini_top,0,122,
+nude_intersex,0,122,
+niban-destikim,1,122,
+nekonade,1,122,
+necrozma,5,122,
+naughty_smile,0,122,
+nastysashy,1,122,
+muhjob,1,122,
+monotone_swimwear,0,122,"mono-tone_swim_suit,mono-tone_swim_wear,mono-tone_swimsuit,mono-tone_swimwear,mono_tone_swim_suit,mono_tone_swim_wear,mono_tone_swimsuit,mono_tone_swimwear,monotone_swim_suit,monotone_swim_wear,monotone_swimsuit"
+monkey_king,4,122,
+modpone,4,122,
+moblie_(character),4,122,
+miss_bianca_(the_rescuers),4,122,"bianca_(rescuers),bianca_(the_rescuers),miss_bianca,miss_bianca_(rescuers)"
+mike_(bcb),4,122,
+micro_in_clothes,0,122,
+mega_sceptile,5,122,
+mayan_mythology,3,122,
+magnetiorchid,1,122,
+lunis1992,1,122,xehta13
+lundi,1,122,
+lonnyk,1,122,
+light_wings,0,122,
+lazuli_delarosa,4,122,
+lagalamel,1,122,
+kojiro-brushard,1,122,
+kaeli_cedarfallen,4,122,
+jaws,0,122,
+japanese_hare,5,122,
+isisazza,1,122,
+incestaroos,3,122,
+iji,1,122,
+huge_brachioradialis,0,122,
+harpy_humanoid,5,122,
+halu_1129,1,122,
+hair_tied,0,122,
+gular_flap,0,122,"gular_fold,neck_flap,neck_fold,throat_flap,throat_fold"
+groping_chest,0,122,
+golf,0,122,
+girls_frontline,3,122,
+game_grumps,3,122,
+fvorte_(character),4,122,
+funky_kong,4,122,
+frumples_(character),4,122,
+forepawz,3,122,
+flight_attendant,0,122,stewardess
+fleet_wing,1,122,
+flam_(mlp),4,122,
+flair_projects,1,122,
+felimon,4,122,
+fall_guy,5,122,
+equine_legs,0,122,
+end_page,7,122,
+eddie_puss,4,122,
+dogma,1,122,
+dmitrei,4,122,
+disco_ball,0,122,
+digging,0,122,
+diaper_creature,5,122,"diaper_critter,diapercritter,living_diaper"
+dark_lips,0,122,
+cyan_hijirikawa,4,122,
+crossbreed_priscilla,4,122,"priscilla_(dark_souls),priscilla_(ds)"
+comatose,1,122,
+coco_nebulon,4,122,
+clive_(doneru),4,122,
+carnival_(holiday),3,122,
+camping_tent,0,122,
+body_jewelry,0,122,
+blue_thong,0,122,
+blue_suit,0,122,
+blaze_(wolf),4,122,
+black-footed_ferret,5,122,"american_polecat,black_footed_ferret"
+bibarel,5,122,
+begasuslu,1,122,
+arylon_lovire,4,122,arylon
+armadillomon,5,122,
+arm_around_shoulder,0,122,
+apogee,4,122,
+amplifier,0,122,
+ammit,4,122,
+amazon_(dragon's_crown),4,122,
+almost_fully_inside,0,122,
+alex_(phrannd),4,122,
+aglet,0,122,
+aerth,1,122,
+adjusting_clothing,0,122,
+6:7,7,122,
+zayats,4,121,
+yellow_bow,0,121,
+wolfeed,1,121,
+wing_hug,0,121,
+weeniewonsh,1,121,
+water_break,0,121,
+viddharta-joshua,1,121,
+vera_(frisky_ferals),4,121,
+vapor_trail_(mlp),4,121,
+uokkom,1,121,
+touching_head,0,121,
+totally_spies!,3,121,
+toraya_inugami,1,121,inugamikosai
+thunder-renamon,1,121,
+the_wayward_astronomer,3,121,
+tentacles_from_pussy,0,121,
+tenchi_muyo,3,121,
+tail_on_furniture,0,121,
+tacet_the_terror,4,121,
+superhypersonic2000_(artist),1,121,"hypernsfw,hypernsfw_(artist),superhypersonic2000"
+spotted_butt,0,121,"spotted_ass,spotted_booty"
+spot_(arknights),4,121,
+snavel,4,121,
+slushi_(chikn_nuggit),4,121,
+slap_mark,0,121,
+skunk_fu,3,121,
+skulldog,1,121,
+sirenian,5,121,"sea_cow,sirenia"
+simul,1,121,"coyox,qzurr"
+shira_kaisuri,4,121,
+security_camera,0,121,surveillance_camera
+sarafina,4,121,
+samantha_whitten,1,121,celesse
+ryu_masakaze,1,121,ura_masakaze
+riven_(lol),4,121,riven_(league_of_legends)
+riddlr,1,121,
+revenge_sex,0,121,
+relevancy,1,121,
+red_tuft,0,121,
+ramiras,1,121,
+qwertyigloo,4,121,
+purity_the_hedgehog,4,121,becky_the_hedgehog
+privvys-art,1,121,
+powderkona,1,121,powder57
+playstation_3,3,121,ps3
+playing_piano,0,121,
+pillow_fight,0,121,
+perspective_text,0,121,
+passionatefloorromance,1,121,
+palisal,1,121,
+pachycephalosaurus,5,121,dracorex
+oxfort2199,1,121,
+norwegian_forest_cat,5,121,
+noble_(nakasuji),4,121,
+nanukkluik,1,121,
+murasaki_(lightsource),4,121,
+multicolored_shorts,0,121,
+mono-fur,1,121,
+mixed_cum_impregnation,0,121,daddy_roulette
+mine,0,121,mining
+mickey_mouse_shorts,3,121,
+metal_(character),4,121,
+mechanical_dragon,5,121,
+margaret_(vetisx),4,121,
+maladash,4,121,
+lube_container,0,121,
+love_death_+_robots,3,121,"love_death_&_robots,love_death_and_robots,love_death_robots"
+lounge,0,121,
+looking_around_corner,0,121,
+longsword,0,121,
+lizardman_(artist),1,121,"aji,lizardman1990,nesise"
+light_border,0,121,
+lewdookami,1,121,
+kruth666,1,121,
+katta,5,121,
+katie_tiedrich,1,121,
+kai_(mr.smile),4,121,
+jumpluff,5,121,
+jumpjump,1,121,
+irish_wolfhound,5,121,
+inkart_flow,1,121,
+inake,1,121,
+impact_emanata,0,121,
+idolomantises,1,121,
+ictonychine,5,121,ictonychinae
+holding_wand,0,121,
+hexami,1,121,
+helemaranth,1,121,lemonylight
+hand_on_hat,0,121,
+go1den_(wanda_fan_one_piece),4,121,
+glistening_gem,0,121,shiny_gem
+geth,5,121,
+geng,1,121,
+gabe_(james_howard),4,121,
+forced_autofellatio,0,121,
+firefighter_helmet,0,121,
+elesa_(pokémon),4,121,elesa_(pokemon)
+ed_edd_n_eddy,3,121,"ed_edd_&_eddy,ed_edd_'n_eddy,ed_edd_and_eddie,ed_edd_and_eddy,ed_edd_eddy,ed_edd_n'_eddy,ed_edd_n_eddie,ed_edd_n_eddyedd,edd_edd_and_eddie"
+drooling_cum,0,121,
+dragonweirdo,1,121,
+dragontim,1,121,
+dipstick_horn,0,121,"dipstick_horned,dipstick_horns"
+diablo_the_rex,1,121,diablotherex
+darknessminotaur,1,121,
+dabelette_(character),4,121,
+cursor,0,121,
+clitoris_ring,0,121,clitoral_ring
+cirrel,1,121,
+chrissy_(animal_crossing),4,121,
+charlotte_(phurie),4,121,
+caustics,0,121,
+cattle_taur,5,121,"bull_taur,cow_taur,cowtaur,female_cowtaur"
+capt_hairball,1,121,
+bunnie_love_(character),4,121,
+bubbeh,1,121,
+bsting,1,121,
+broken_glasses,0,121,
+boulder_(mlp),4,121,
+blue_tail_feathers,0,121,
+bludermaus,1,121,
+bilabee,1,121,
+bellies_touching,0,121,
+beanish,5,121,
+battlerite,3,121,
+barrin84,1,121,
+bare_butt,0,121,
+awkore,4,121,
+atelierlunatic,1,121,darklunac
+aspenofsimpcon,1,121,
+arti4000,1,121,
+archon_eclipse,4,121,
+apple_in_mouth,0,121,
+annie_(anaid),4,121,
+ankylosaurus,5,121,
+angeloid003,1,121,
+anal_kiss_mark,0,121,
+american_eagle,4,121,
+american_bison,5,121,
+allie_von_schwarzenbek,4,121,
+agata_(beastars),4,121,
+5_tails,0,121,"5_tailed,five_tailed,five_tails"
+yessys,1,120,
+yellow_tank_top,0,120,yellow_tanktop
+year_of_the_pig,3,120,year_of_the_boar
+yaya_panda,4,120,
+yang_xiao_long,4,120,
+xxangeluciferxx,1,120,
+window_sill,0,120,windowsill
+white_bow,0,120,
+wavy_horn,0,120,
+walking_away,0,120,
+usb_necklace,0,120,
+umbrian_(species),5,120,
+two_tone_balls,0,120,
+two-handed_face_fucking,0,120,
+tush_(character),4,120,
+toothpaste,0,120,
+thundergrey,4,120,
+throat_biting,0,120,
+swept_bangs,0,120,
+studying,0,120,
+striped_gloves,0,120,
+steelix,5,120,
+spray_bottle,0,120,
+snowboarding,0,120,
+snickerlewdles,1,120,
+smooch,0,120,
+skull_(marking),0,120,"skull-shaped_marking,skull-shaped_markings,skull_(markings),skull_marking,skull_markings,skull_shaped_marking,skull_shaped_markings,skulls-shaped_marking,skulls-shaped_markings,skulls_(marking),skulls_(markings),skulls_marking,skulls_markings,skulls_shaped_marking,skulls_shaped_markings"
+skippy:_adventures_in_bushtown,3,120,adventures_in_bushtown
+sdx3,1,120,
+rubberskunktoo,1,120,
+royluna,1,120,
+rodent_powered_(softestpuffss),3,120,
+ritual_sex,0,120,
+revoli,4,120,
+regigigas,5,120,
+purple_necktie,0,120,purple_tie
+punch-out!!,3,120,
+provocative,0,120,
+prehistoric,0,120,
+playing_violin,0,120,
+planktonheretic,1,120,
+pink_kerchief,0,120,
+perspective_shot,0,120,
+pattern_kerchief,0,120,
+pastelcore,1,120,pastel_core
+offering_to_another,0,120,
+nyurora,1,120,blancathewolfdog_(artist)
+nongqiling,1,120,
+nongenerous,1,120,
+nipple_band-aid,0,120,
+nikorokumitsero,3,120,
+necroizu,1,120,
+narmaya,4,120,
+mudwing_(wof),5,120,
+ms._zard,4,120,
+motmot,5,120,"momotid,momotidae,mot_mot"
+monotone_socks,0,120,"mono-tone_sock,mono-tone_socks,mono_tone_sock,mono_tone_socks,monotone_sock"
+milo_nettle,1,120,
+milkwyvern,1,120,
+milk-jug,1,120,
+man_bun,0,120,
+malamar,5,120,
+maguro,1,120,
+ludmilla_(bartok),4,120,
+lucha_libre_mask,0,120,"lucha_mask,luchador_mask,luchadore_mask"
+lotus_(flower),0,120,lotus_flower
+lordflawn,1,120,
+lock-wolf,1,120,"nsfwolff,seven-ink"
+light_chest,0,120,
+lerico213,1,120,
+leila_snowpaw,4,120,
+lc79510455,1,120,l疯c
+la-frugele,1,120,"la_frugele,lafrugele"
+kevintheradioguy,1,120,
+kate_(jakethegoat),4,120,
+kabuki_homewood,1,120,kabukihomewood
+incontinence,0,120,
+impidimp,5,120,
+horngasm,0,120,
+holding_marker,0,120,
+hammerspace,0,120,
+hallucination,0,120,
+hair_dye,0,120,
+goatse,0,120,
+gapao,1,120,
+fonyaa,1,120,
+foggy,0,120,
+flavored_cum,0,120,food_cum
+flailing,0,120,
+female_penetrating_gynomorph,0,120,"female_penetrating_dgirl,female_penetrating_dickgirl,female_penetrating_newhalf,female_penetrating_shemale,fm/p/d,fm/p/gm"
+feces_everywhere,0,120,
+fake_cow_ears,0,120,
+ethiopian_wolf,5,120,"abyssian_wolf,abyssinian_wolf,simien_fox,simien_jackal"
+eruprior,1,120,
+electivire,5,120,
+elbow_fin,0,120,
+edi_(mass_effect),4,120,
+dingbat,1,120,
+dildo_shitting,0,120,
+denatontr,1,120,
+demoman_(team_fortress_2),4,120,demoman
+curls,0,120,
+cum_in_own_ass,0,120,
+creaturecorp,1,120,
+corndog,0,120,"corn_dog,corn_dogs,corndogs"
+contrast,0,120,
+coffinpaws,1,120,raichupuppy
+cobb_(shade),4,120,
+clarabelle_cow,4,120,carolyn_cow
+cinna-tree,1,120,cinnatree
+chav,0,120,
+chaoz_(chaozdesignz),4,120,
+cdi,1,120,
+candy_people_(at),5,120,
+bumped_dildo,0,120,
+bounty_hunter,0,120,
+blue_neck,0,120,
+black_helmet,0,120,
+black_ear_tips,0,120,
+black_corset,0,120,
+black_bracelet,0,120,
+big_udders,0,120,
+bat_symbol,0,120,
+barney_and_friends,3,120,barney_&_friends
+band-aid_on_pussy,0,120,
+arm_around_leg,0,120,
+animeflux,1,120,
+angoramon_(ghost_game),4,120,
+amber_williams,1,120,"amber_panyko,miss_mab,missmab"
+agent_classified,4,120,
+acreep,1,120,
+abe_(mikrogoat),4,120,
+54321awesome,1,120,
+4_tails,0,120,"4_tailed,four_tailed,four_tails"
+zhekathewolf,1,119,
+zehn,1,119,
+yuugi_hoshiguma,4,119,hoshiguma_yuugi
+yu_chi_i,1,119,
+yellowroom,1,119,
+yellow_sweater,0,119,
+yano_(odd_taxi),4,119,
+xoti_(artist),1,119,
+whiro,4,119,
+wetsealky,1,119,
+wdh3905,1,119,
+underwater_view,0,119,
+udder_breasts,0,119,
+twister,3,119,
+tora_chitose,4,119,
+tokumori_kaisen,1,119,"tokumori_vrc,ぎぃ"
+thugji3,1,119,
+thomas_ii_(zer0rebel4),4,119,
+theothefox,1,119,wildtheory
+terrabutt,1,119,
+tehbluebubble,1,119,
+tarzan_(disney),3,119,
+tamfox,1,119,
+syl_(fvt),4,119,
+sverhnovapony,1,119,
+super_monkey_ball,3,119,
+suika-x,1,119,
+stopwatch,0,119,stop_watch
+star_dragon,5,119,
+spunky_mutt,1,119,
+spiderweber,1,119,
+sligar,4,119,
+skipsy_dragon_(character),4,119,
+shushup,1,119,
+shoe_sniffing,0,119,
+shirokuma,4,119,
+selective_coloring,0,119,
+schizy,1,119,
+savagelyrandom,1,119,
+sakaeguchi_okarina,1,119,
+ryky,1,119,
+rope_gag,0,119,
+rog_minotaur,1,119,rogminotaur
+reiko4835i,1,119,
+red_neckwear,0,119,
+red_ear_fins,0,119,
+raptorroper,1,119,
+racoonwolf,1,119,
+queen_(alfa995),4,119,
+princess_samoyed,1,119,"otakuwraith,thehoodeddragon"
+pooping_on_another,0,119,
+pewdiepie,3,119,
+personality_core_(portal),5,119,ai_core_(portal)
+penis_hold,0,119,
+peanut_butter,0,119,
+pallas's_cat,5,119,"manul,palla's_cat,pallas_cat"
+oumseven,1,119,
+orangusnake,4,119,
+orange_lesbian_pride_colors,0,119,
+orange_gloves,0,119,
+opala,4,119,
+onyx_wasson,4,119,
+older_herm,0,119,
+old_english_sheepdog,5,119,english_sheepdog
+non-euclidean_penetration,0,119,
+nightlycatgirl,1,119,
+night_time,0,119,
+nexgen,3,119,
+nekoyuu,1,119,
+nekoarashi,1,119,
+neferpitou,4,119,
+muh-arts,1,119,
+motogen,1,119,moto
+morgana_(lol),4,119,
+mo_to_i_chi,1,119,
+mizumizuni,1,119,
+miu_vamcat,1,119,
+misaki_furry515,1,119,
+malekart,1,119,
+magical_masturbation,0,119,
+lux_(lol),4,119,lux_(league_of_legends)
+lunarlacepony,1,119,
+lonewolffl,1,119,
+lois_griffin,4,119,
+locked,0,119,
+lindong,1,119,
+leon_henderson,4,119,
+kitt_kitan_(character),4,119,"kitt_(kitt_kitan),kitt_(kitt_kitten),kitt_kitten_(character)"
+kevemperor,1,119,
+kemonono,1,119,
+kaylee_(study_partners),4,119,
+karkat_vantas,4,119,
+kalimah,1,119,
+kaiju_girls_(webcomic),3,119,
+kabrro,1,119,
+k9player_(artist),1,119,
+jolt_(fuze),4,119,
+jodira,4,119,
+jamoart,1,119,
+implied_orgasm,0,119,
+idlecil,1,119,
+iceman_(artist),1,119,
+huckle,4,119,
+homura_(homura_kasuka),4,119,
+holding_carrot,0,119,
+hokku_(artist),1,119,
+hiona,4,119,
+hammerhead_(petruz),4,119,
+grace_mustang,4,119,
+goldie_pheasant,4,119,
+glowing_ears,0,119,
+gender_symbol_penetration,0,119,
+fuzzikayu,1,119,
+fortunefox,1,119,
+fen_(lagotrope),4,119,
+female_on_taur,0,119,female/taur
+feces_on_ground,0,119,feces_on_floor
+faunoiphilia,4,119,
+fainting_couch,0,119,
+faggotrat,1,119,
+experiment_627,4,119,"627_(l&s),627_(las),627_(lilo_&_stitch),627_(lilo_and_stitch),627_(stitch),evile_(l&s),evile_(las),evile_(lilo_&_stitch),evile_(lilo_and_stitch),evile_(stitch)"
+elise_(sousuke81),4,119,
+e-zoid,1,119,
+duplicitousmachine,1,119,
+drone_(vehicle),0,119,
+dreke,1,119,
+double_knotting,0,119,"double_knotted,double_tied"
+domo_(ben300),4,119,
+diving_suit,0,119,
+diamondstorm,1,119,
+deviljho,5,119,
+detachable_limbs,0,119,detached_limbs
+darkpotzm,1,119,
+cum_from_ear,0,119,cum_from_ears
+crustacean_humanoid,5,119,
+compass,0,119,
+cm26,1,119,
+causationcorrelation,1,119,
+bussaca,1,119,
+budgerigar,5,119,budgie
+breast_creature,5,119,
+boke_(artist),1,119,
+blown-ego,1,119,blown-ego_(artist)
+blacklite,1,119,
+black_piercing,0,119,
+bistup,1,119,
+belt_bra,0,119,beltbra
+beartouma_0517,1,119,
+ashlee_hurwitz,4,119,
+arm_on_thigh,0,119,
+anthro_penetrating_taur,0,119,a/p/t
+anawat,1,119,
+akuma_gaoru,4,119,
+8:9,7,119,
+4ears_5eyes,1,119,
+zoey_(jwinkz),4,118,
+zinzoa,1,118,furry-bites
+zerpreros,1,118,oloxbangxolo
+yuureikun,1,118,
+wrinkled_soles,0,118,
+wolf_children,3,118,"ookami_kodomo_no_ame_to_yuki,the_wolf_children_ame_and_yuki"
+weepinbell,5,118,
+watermelon_(artist),1,118,
+warning_(fluff-kevlar),4,118,
+void_elf,5,118,
+vishka,4,118,
+unknown_worlds_entertainment,3,118,
+under_balls,0,118,
+uncle_and_niece,0,118,niece_and_uncle
+tucker_chimera_(fma),5,118,
+tongue_wrapped_around_penis,0,118,
+tofuubear,1,118,
+thistle_(frisky_ferals),4,118,
+the_vore_house_of_klyneth,3,118,
+tetraodontiform,5,118,"plectognathi,tetraodontiforme"
+tennis_court,0,118,
+tamacolle,3,118,
+taking_selfie,0,118,
+tabitha_(sabrina_online),4,118,
+starswirl_the_bearded_(mlp),4,118,"star_swirl_(mlp),star_swirl_the_bearded,star_swirl_the_bearded_(mlp),starswirl_(mlp),starswirl_the_bearded"
+snacks,0,118,
+smaug,4,118,"smaug_the_chiefest_and_greatest_of_calamities,smaug_the_golden,smaug_the_impenetrable,smaug_the_magnificent,smaug_the_mighty,smaug_the_stupendous,smaug_the_terrible,smaug_the_tremendous,smaug_the_tyrannical,smaug_the_unassessably_wealthy,the_dragon_dread,tragu,trāgu"
+slingshot,0,118,
+sky_chaser,1,118,
+shuppet,5,118,
+shermugi,1,118,
+sheik_(tloz),4,118,
+senketsu,4,118,
+scott_ramsoomair,1,118,
+rose_(skybluefox),4,118,rose_lansing
+rochelle_barnette,4,118,rochelle_(ritts)
+rim_light,0,118,
+remake,0,118,
+red_jewelry,0,118,
+ravindra,1,118,
+ralek_(oc),4,118,
+raccoonshinobi,1,118,
+queen's_stallion,5,118,"dorse,queen_stallion,queens_stallion"
+qtipps,1,118,
+pugthe2ro,1,118,
+pseudo_clothing_down,0,118,
+pleasantlyplumpthiccness,1,118,
+pink_outline,0,118,
+pink_legs,0,118,
+penis_tattoo,0,118,"penis_tattoos,tattoo_on_penis,tattooed_penis"
+pantheggon,1,118,
+orion,4,118,
+orca_(artist),1,118,
+no3512,1,118,no_(artist)
+neylatl,1,118,
+nekojita,1,118,
+muramasa:_princess_commander,3,118,sengoku_bushouki_muramasa
+multicolored_hands,0,118,
+muetank,1,118,
+morrowind,3,118,
+modelling,0,118,
+mkcrown,1,118,
+matt_donovan,4,118,
+marco_(adastra),4,118,
+mangobird,1,118,"mangobird_(artist),mangobirdy,mangobirdy_(artist)"
+mama_maria,4,118,
+male_oviposition,0,118,
+magolobo,1,118,mario_a._romero
+loyse,4,118,
+location_in_dialogue,0,118,
+liz_(eye_moisturizer),4,118,
+liard,1,118,
+leafdog,1,118,"jeff-kun,leaf_dubois"
+law_(doggylaw),4,118,
+latex_elbow_gloves,0,118,
+krista_(zillford),4,118,
+kitchen_stove,0,118,
+kira_nerisu,1,118,
+jumperkit,1,118,
+illuminatii,1,118,
+idolmaster_cinderella_girls,3,118,
+i69himdaily,1,118,
+human_on_female,0,118,
+hexagram,0,118,"star_of_david,✡,✡️"
+helena_(bonk6),4,118,
+helelos_(artist),1,118,
+headdress_only,0,118,
+hb-viper,1,118,
+hazard_symbol_print,0,118,
+haley_sturmbringer_(character),4,118,
+hair_sex,0,118,
+gtskunkrat_(character),4,118,
+grocery_store,0,118,
+greey,1,118,
+green_fingers,0,118,
+green_armwear,0,118,
+gorou_(genshin_impact),4,118,
+ginga_nagareboshi_gin,3,118,
+gameplay,0,118,
+gamecube_console,0,118,
+g-cat,1,118,
+furmessiah_(character),4,118,
+furgonomic_headwear,0,118,
+forrest_(chump),4,118,
+forced_masturbation,0,118,
+foe:_project_horizons,3,118,
+flower_hair,0,118,
+fighterjet,1,118,gearotter
+eraquis,1,118,
+egg_from_urethra,0,118,
+ears_aside,0,118,
+drew_dubsky,4,118,
+dracky,1,118,
+dogguyd,1,118,
+dodger_(disney),4,118,
+disturbed,0,118,
+disney_fairies,3,118,
+dish,0,118,
+dimonis,1,118,
+denied,0,118,
+deer_prince,4,118,
+daycare,0,118,
+dark_bottomwear,0,118,
+dancer_outfit,0,118,
+d-wop,1,118,
+cum_on_partner's_face,0,118,
+cum_jar,0,118,
+cum_from_eyes,0,118,crying_cum
+crowskull,1,118,
+cricket,5,118,
+cosplay_lolita,0,118,
+colored_pussy_juice,0,118,
+cheese_wedge,0,118,
+carving,0,118,
+butterchalk,1,118,
+botak,1,118,
+boo_(sonic),5,118,
+bizzyniz,1,118,
+bigjazz,1,118,
+bicorn,5,118,
+beelzemon_(artist),1,118,owol
+baterco,1,118,
+barbonicles,1,118,
+band_shirt,0,118,
+axis_(character),4,118,
+audiophilliac,1,118,
+angel_the_catgirl,4,118,
+adelar_elric,1,118,
+20:29,7,118,
+2020_tokyo_olympics,3,118,"2020_summer_olympic,2020_summer_olympics,2020_tokyo_olympic,2021_summer_olympic,2021_summer_olympics,2021_tokyo_olympic,2021_tokyo_olympics"
+0rang3,1,118,"0rang3_(artist),iam0rang3,orang3,orang3_(artist),verticalzero"
+zilla,4,117,"american_godzilla,g.i.n.o,godzilla_in_name_only,tri_zilla,trizilla"
+yttrium_(artist),1,117,marady
+yellow_hoodie,0,117,
+xpray_(character),4,117,
+weisswinddragon,1,117,
+vikna_(fluff-kevlar),4,117,
+vibershot,1,117,
+vela_(kagekitsoon),4,117,
+urine_inflation,0,117,piss_inflation
+the_emperor's_new_groove,3,117,"emperor's_new_groove,emperors_new_groove,the_emperors_new_groove"
+the_cat_returns,3,117,
+terrakion,5,117,
+talking_friends,3,117,
+tail_around_neck,0,117,
+tabbycat,5,117,
+swiftsketchpone,1,117,
+surfing_charizard,1,117,
+submarine,0,117,
+strapon_in_ass,0,117,
+snaftfc,1,117,
+skarlett_cynder,4,117,
+sixpathoffriendship,1,117,sixpathsoffriendship
+silentravyn,1,117,
+shuckle,5,117,
+shi_nominmin,1,117,
+shadow_(lol),4,117,
+sellon,1,117,
+seljhet,4,117,
+school_bag,0,117,schoolbag
+sasha_sweets,4,117,
+sallandril,1,117,
+rough_sketch,0,117,
+rosy_firefly,4,117,
+rj_(over_the_hedge),4,117,
+ren_(daikitei),4,117,
+red_heels,0,117,
+red_carpet,0,117,
+ranok_(far_beyond_the_world),4,117,
+quetzalcoatl,4,117,
+pussy_slip,0,117,
+purple_briefs,0,117,
+prometheus_(franchise),3,117,
+primeape,5,117,
+po-ju,1,117,
+pink_chastity_cage,0,117,
+pheronoa,4,117,
+pencilsdgr,1,117,
+peeing_together,0,117,
+panties_in_mouth,0,117,
+okayu_nekomata,4,117,
+oibib,1,117,
+oata_rinsky,4,117,
+nsfwronin,1,117,
+nirvana,3,117,
+night_(nightfaux),4,117,
+niffty_(hazbin_hotel),4,117,
+nicolaowo,1,117,
+nelldemon,1,117,nell-chan
+natsuki_takano,1,117,
+nap,0,117,
+naivintage,1,117,
+multicolored_collar,0,117,
+monster_world_(series),3,117,
+mitsuko_(spacescape),4,117,
+mikey_(mikey6193),4,117,
+meshpet,1,117,
+male_non-humanoid_machine,0,117,
+mai_shiranui,4,117,
+machimotetaikou,1,117,
+love_ball,0,117,
+ligoni,1,117,
+latch,4,117,
+lactaid,3,117,
+l1nkoln,1,117,
+kotyami,1,117,
+kobu_art,1,117,
+kleinvoimond,1,117,
+katsuki_bakugou,4,117,
+kabangeh,1,117,
+joeydrawss,1,117,
+jiandou,1,117,
+jazzabelle,4,117,
+jayjay_(zoophobia),4,117,"jay_(zoophobia),jay_burdell"
+jack-n'-lantern,0,117,
+item_box,0,117,
+irony,0,117,
+infinity_train,3,117,
+impala,5,117,"aepycerotinae,aepycerotine"
+howard_(james_howard),4,117,
+how-about,1,117,
+horsen,1,117,
+hel_(shiretsuna),4,117,
+hax-the-monster,1,117,
+hat_on_penis,0,117,
+greenlinzerd,1,117,browniecomicwriter
+graveler,5,117,
+gadonstriom,1,117,
+fullfolka,1,117,
+forced_to_penetrate,0,117,
+flashing_panties,0,117,
+firebadger,1,117,
+ev_htf_(artist),1,117,
+error,0,117,
+double_deck,1,117,
+donk_sis,4,117,
+doktor-savage,1,117,"cynder-the-dragon,savage-cynder"
+do_obmmm,1,117,kasasagi
+dnk,4,117,
+disembodied,0,117,
+desktop,0,117,
+deiser,4,117,
+datfurrydude,1,117,
+cydergerra,1,117,
+cupcakes_(mlp_fanfic),3,117,cupcakes_(fanfic)
+cum_on_own_tail,0,117,
+cum_on_hoof,0,117,cum_on_hooves
+cream.pup,1,117,
+cowification,0,117,
+conjoined_thought_bubble,0,117,
+concern,0,117,
+combat_helmet,0,117,
+coderenard,1,117,
+classified-crud,1,117,your-bud-crud
+chooy64,1,117,
+cheetah_print,0,117,
+cham22,1,117,
+capikeeta,1,117,
+calvin_mcmurray,4,117,freckle_mcmurray
+calolily,1,117,
+by-nc-sa,3,117,"cc-by-nc-sa,cc:by-nc-sa"
+bulging_stomach,0,117,
+braided_mane,0,117,
+brachydios,5,117,
+born-to-die,1,117,
+bookmark,0,117,
+blulesnsfw,1,117,
+beverage_between_breasts,0,117,
+bayron_(artist),1,117,
+back_scar,0,117,
+ayana,4,117,
+asymmetrical_transformation,0,117,
+arkanman,1,117,
+aoniya_yuudai,4,117,
+antiander,1,117,
+annham,1,117,
+anal_object_insertion,0,117,
+ambient_coral,5,117,
+akhlys,4,117,
+ace_of_hearts,0,117,
+zone-tan,4,116,
+zaboom,1,116,
+yellow_skirt,0,116,
+xnassyx,1,116,xnassyx_(artist)
+wurae,5,116,
+workplace,0,116,
+wiredhooves,1,116,"r-untamed,wired_hooves"
+weirdkoaladream,1,116,yukacutiekoala
+we_baby_bears,3,116,
+vinesauce,3,116,
+used_diaper,0,116,
+two_tone_nose,0,116,
+triuni,1,116,
+transformers:_animated_(2007),3,116,"transformer:_animated,transformer:_animated_(2007),transformer:_animated_2007,transformer_animated,transformer_animated_(2007),transformer_animated_2007,transformers:_animated,transformers:_animated_2007,transformers_animated,transformers_animated_(2007),transformers_animated_2007"
+toucan_sam,4,116,
+toshi_(kyrosh),4,116,
+the_nightmare_before_christmas,3,116,
+the-hydroxian,1,116,
+terryburrs,1,116,
+tala_(fluff-kevlar),4,116,
+taku,1,116,瞬く
+tail_tattoo,0,116,"tail_tattoos,tattoo_on_tail,tattooed_tail"
+symbianl,1,116,
+supernatural_stimulation,0,116,
+styx_(jelomaus),4,116,
+steel,0,116,
+stake,0,116,
+squidapple,1,116,
+speciesism,0,116,specism
+sonichu_(character),4,116,
+son237,1,116,son237_(artist)
+solutionwcs,1,116,
+snowy_(creatures_of_the_night),4,116,
+skull_grunt,4,116,team_skull_grunt
+skelbely,1,116,
+side_b,4,116,
+shycryptid,1,116,serpentine-drifter
+sfmoclock,1,116,
+saltwatertoffee,1,116,
+sakimichan,1,116,
+saffira_queen_of_dragons,4,116,
+ruby_(rubyluvcow),4,116,rubyluvcow
+ricky_landon,4,116,
+requestfaeg,1,116,
+ren_amamiya,4,116,"akira_kurusu,amamiya_ren,joker_(persona_5),kurusu_akira,phantom_(persona),protagonist_(persona_5),the_phantom_(persona),trickster_(persona)"
+priscillasheep,1,116,
+princess_mononoke,3,116,mononoke_hime
+poduu,1,116,
+pingpenne,1,116,ping-ether
+petted_silly,0,116,
+perunagekko,1,116,
+pantyranger,1,116,"grass_gremlin,grassgremlin,pantygremlin"
+olli_(braeburned),4,116,
+neneruko_(doneru),4,116,
+nasa,3,116,
+narrow_legs,0,116,
+mythological_creature,5,116,mythical_creature
+mouthguard,0,116,mouth_guard
+morning_after,0,116,
+momorodent,1,116,
+mobian_pred,0,116,
+miri,1,116,
+mighty_magiswords,3,116,
+master_emerald,0,116,
+marothedarkrabbit_(artist),1,116,
+mare_do_well_(mlp),4,116,mare_do_well
+lyre,0,116,
+looking_angry,0,116,
+leglegleg,1,116,
+lactaid_cow,4,116,
+kazerad,1,116,
+karzahnii,1,116,
+kalasiris,0,116,
+juggling,0,116,
+john_doe_(artist),1,116,
+insignia,0,116,
+ikasama,4,116,
+ibie'shan,5,116,
+hoppip,5,116,
+hoof_heels,0,116,
+holding_gem,0,116,holding_gems
+heart_formation,0,116,
+harry_amorós,1,116,"harry_amoros,typhlosion95"
+green_inner_ear_fluff,0,116,
+glowing_clothing,0,116,glowing_clothes
+gloom_(pokémon),5,116,"gloom_(pokemon),gloom_pokemon,gloom_pokémon,pokemon_gloom,pokémon_gloom"
+gabrielle_(legend_of_queen_opala),4,116,
+fuzefurry,1,116,
+foot_on_crotch,0,116,
+foot_in_water,0,116,
+flukes,0,116,
+fchicken,1,116,
+fadingsky,1,116,"katoa_shippo,シッポ"
+facial_expressions,0,116,
+eye_creature,5,116,
+edgar_rice_burroughs,1,116,
+drawers,0,116,
+dragon_quest_v,3,116,dragon_quest_5
+disc,0,116,
+diego_abel,4,116,
+deli_(delirost),4,116,
+deception,0,116,
+davad_(odissy),4,116,
+dark_pawpads,0,116,"dark_paw_pad,dark_paw_pads,dark_pawpad"
+danero,1,116,
+cupcakecarly,1,116,
+crocodile_(petruz),4,116,
+corsola,5,116,
+comictf,1,116,
+cobu,1,116,
+clyde_(discord),4,116,
+clothed_masturbation,0,116,
+cinko,1,116,
+cigar_in_mouth,0,116,
+changle_(ffjjfjci),4,116,
+cat-sith,5,116,
+casey_ramser,4,116,
+bunnyfeet,1,116,
+brown_skirt,0,116,
+bronx23,3,116,
+breastwizard,1,116,
+brain_(inspector_gadget),4,116,
+body_slider,0,116,
+blue_teeth,0,116,
+blooper,5,116,
+black_kerchief,0,116,
+biobatz,4,116,
+banglow,1,116,
+balding,0,116,
+assisted_peeing,0,116,
+asexual_pride_colors,0,116,"ace_flag,ace_pride_colors,ace_pride_flag,asexual_flag,asexual_pride_flag"
+alraune,5,116,
+alfie_(wonderslug),4,116,
+zlatavector,1,115,
+zanburg,5,115,
+yurari_yr,1,115,
+yumei,1,115,
+world_war_1,0,115,"world_war_i,world_war_one,ww1,wwi"
+wood_table,0,115,
+wingman,4,115,
+wildwolfproduction,1,115,
+whistleristler,1,115,
+waitress_(artist),1,115,hensa
+veramundis,1,115,
+vck,1,115,
+urine_on_arms,0,115,
+tron,3,115,
+top_in_heels,0,115,
+tongue_around_penis,0,115,
+tongs,0,115,
+thrusting_sound_effect,0,115,
+theo_hightower,4,115,
+themeshow101,1,115,
+thegreatrouge,1,115,
+tephros,4,115,
+temtem_(species),5,115,"tem_tem_(species),tem_tem_species,temtem_species"
+tanithjackal,1,115,
+tach8,1,115,
+t.n.,1,115,
+sweetie_bot_(mlp),4,115,
+stilettopink,1,115,
+stalker,0,115,
+stains,0,115,
+spitfire_(hideki_kaneda),4,115,
+spectre_phase_(oc),4,115,
+solid_hooves,0,115,
+snow_angel_(artist),1,115,
+skeletonkid5,1,115,
+shyvana,4,115,
+shake,0,115,
+scrabble007,1,115,
+sadflowerhappy,1,115,
+reygunpocket_(artist),1,115,
+rental_mommy_shirt,0,115,
+racing,0,115,
+quote_(cave_story),4,115,
+pod,0,115,
+plunging_neckline,0,115,
+pixxy_fizzleclank,4,115,
+pharynx_(mlp),4,115,
+penis_drawing,0,115,
+pandawa,5,115,
+owahi_ego,1,115,
+out_of_frame,0,115,
+organic_high_heels,0,115,
+o-den,1,115,
+novacantnames,1,115,
+night_glider_(mlp),4,115,
+mutt_(wagnermutt),4,115,
+multicolored_text,0,115,
+moth_sprout,1,115,meadowdragons
+moonlitbrush_(artist),1,115,
+moomba,5,115,
+mink_(tatsuchan18),4,115,
+mei_(artist),1,115,
+mawmain,1,115,
+matemi_(matemi),4,115,
+marbled_polecat,5,115,
+male_fingering,0,115,
+male/female_symbol,0,115,"straight_symbol,⚤"
+magnus_(spyro),4,115,
+lyon_carter,4,115,
+luther_denholme,4,115,
+locksto,1,115,
+lobar,1,115,
+living_appliance,5,115,
+leghorn_chicken,5,115,
+krunch_the_kremling,4,115,krunch
+koda_(brother_bear),4,115,
+kiss_the_carrot,1,115,
+kikimora_(the_owl_house),4,115,
+jewelry_only,0,115,
+jay_(oc),4,115,
+jasmine_ivory,4,115,
+invisible_geometry,0,115,
+inukon_geek,1,115,
+inka_(inkplasm),4,115,
+inflated_belly,0,115,
+imminent_tentacle_sex,0,115,
+hisashino,1,115,
+hinata_hyuga,4,115,
+hearts_around_upper_body,0,115,
+harem_pants,0,115,
+ham,0,115,
+green_robe,0,115,
+graedius_(character),4,115,
+goldelope,1,115,
+gear_(mlp),4,115,
+gastropod_shell,0,115,snail_shell
+gaikotsu,1,115,
+fully_submerged_legs,0,115,
+fth_transformation,0,115,
+football_field,0,115,
+fisk_cerris,4,115,
+fate_valentine,4,115,
+fart_sniffing,0,115,
+eye_spot,0,115,
+extracurricular_activities,3,115,
+evolutionary_stone,0,115,
+emotionless,0,115,
+efradraws,1,115,
+ear_nom,0,115,
+ducati,1,115,
+drooling_onto_other,0,115,
+dishka,1,115,
+dirtyrenamon,3,115,
+dawnav,1,115,
+dangling_legs,0,115,
+cupless_bra,0,115,
+crome,4,115,
+condom_in_pussy,0,115,
+clifford_the_big_red_dog,3,115,
+cheshire_thaddeus_felonious,4,115,
+cheat,0,115,cheating
+cell_(dragon_ball),4,115,cell_(dragonball)
+cayo,1,115,"crooked_red_wulf,crookedredwulf"
+cat_food,0,115,"cat-food,catfood"
+cardiac_monitor,0,115,"heart_beat_monitor,heart_monitor,heart_rate_monitor,heartbeat_monitor,heartrate_monitor"
+caramel_carnivale,3,115,
+capdocks,1,115,
+candy_(mrmadhead),4,115,
+bullet_hole,0,115,
+bri_(ennismore),4,115,
+bored_user,1,115,
+boobipede,5,115,
+blue_heart,0,115,
+blue-eyes_white_dragon,4,115,
+blazedscarf,1,115,
+bladerush_(character),4,115,
+bingo_heeler,4,115,bingo_(bluey)
+bboing,1,115,
+ballora_(fnafsl),4,115,
+baileyx,1,115,
+badquinque,1,115,
+baconfetish'ntomato,1,115,
+awkwardzombie,3,115,
+aviator_glasses,0,115,
+aura_sphere,0,115,
+ambrosia,4,115,
+almos-tiroshi,1,115,
+aleu_moonshadow,4,115,
+al_(weaver),4,115,
+:q,0,115,
+7:6,7,115,
+zolombo,1,114,
+zevex,1,114,
+zensintemple,1,114,zen-sin-temple
+zajice,1,114,
+yukari_yakumo,4,114,yakumo_yukari
+xd,0,114,
+xc404,1,114,
+x1aoyaoya,1,114,
+wolfdawg,1,114,
+wintersink,1,114,
+white_seam_briefs,0,114,
+vexus,4,114,queen_vexus
+varium,1,114,
+tv_dinner_art,0,114,
+trypophobia,0,114,
+tornado,0,114,
+toribako,1,114,
+tits_(lysergide),4,114,
+titanfall,3,114,
+terrenslks,1,114,
+tentaclothes,0,114,
+tail_collar,0,114,
+tahoe,4,114,
+suspicious,0,114,
+starrfluff,1,114,
+south_park,3,114,
+snus-kun,1,114,
+slam,0,114,
+skull_necklace,0,114,
+sitting_on_head,0,114,
+sidni,4,114,
+shrink_ray,0,114,
+shoulder_freckles,0,114,
+shephira_(cert),4,114,
+shared_dialogue,0,114,
+shadowreindeer,1,114,
+severed_limb,0,114,
+sergeantbuck,3,114,
+sea_turtle,5,114,marine_turtle
+rugby,0,114,
+rotalice2,1,114,
+riley_(s-nina),4,114,
+riipley,1,114,
+rekuuhh,1,114,
+rainbow_stockings,0,114,
+pokemon_(anime),3,114,
+pochemu,1,114,
+platform_shoes,0,114,
+planeswalker,4,114,
+peppercake,1,114,
+on_stage,0,114,
+notepaddy,1,114,sketchpaddy
+niviox,1,114,
+nik_(nik159),4,114,
+nate_(8chan),4,114,n8_(8chan)
+n0rdbara,1,114,
+multicolored_nose,0,114,
+mudkipful,1,114,
+morbidly_obese_humanoid,0,114,
+monster_mind,3,114,
+momo_(dagasi),4,114,
+minotaur_hotel,3,114,
+maya_henderson,4,114,
+master_shifu,4,114,
+marshmallow_fluff_(character),4,114,
+marsha_twilight,4,114,
+luca_paguro,4,114,
+lopoddity,1,114,
+liquefactiophilia,0,114,
+linen_lolita,1,114,
+lily_(flower),0,114,
+kraken,5,114,
+kon_the_knight,4,114,
+knight_(towergirls),4,114,
+kiseru,0,114,
+kingjion,1,114,kingfurryjion
+kerun,1,114,
+ken_(claralaine),4,114,
+kekpafrany,1,114,
+kamina1978,1,114,
+kaiju_paradise,3,114,
+jock_protagonist_(tas),4,114,
+jaxonian,1,114,
+janjin192,1,114,
+jammerhighwind,1,114,
+james_killian_spratt,1,114,
+isuna,1,114,yuuki-cat
+isaki,1,114,
+inkbunny,3,114,
+indigochto,1,114,
+imminent_stomp,0,114,
+illumise,5,114,
+homeless,0,114,
+holding_stick,0,114,holding_sticks
+holding_each_other,0,114,
+holding_comb,0,114,
+high_elf_archer_(goblin_slayer),4,114,
+heart_shaped_box,0,114,
+haziq_(hazumazu),4,114,haziq(hazumazu)
+hawke_(mastergodai),4,114,
+ground_sign,0,114,
+grey_membrane,0,114,gray_membrane
+green_light,0,114,
+green_boots,0,114,
+glue_studios,3,114,
+gloryworm,1,114,g10ryw0rm
+glamrock_bonnie_(fnaf),4,114,
+ginnosuke,1,114,"ginnootya,gintyatya,gintyatyatyatya"
+ghoul,5,114,ghouls
+gevual,1,114,
+g_brigander55,1,114,taka-michi
+fylk,4,114,
+fuse,0,114,
+fursat,1,114,
+fumes,0,114,
+fuf_(character),4,114,
+foxeh,4,114,
+fox_(minecraft),5,114,
+fire_eclipse,4,114,
+feline_tail,0,114,
+felicia_(tahlian),4,114,
+fatzoimp,1,114,
+face_in_chest,0,114,
+elinor_rabbit,4,114,
+dotoro_(artist),1,114,
+dominant_prey,0,114,
+dnapalmhead,1,114,
+dj-rodney,1,114,
+desert_eagle,0,114,
+dark_spots,0,114,
+cyberia,3,114,
+crunch,0,114,
+crocs,3,114,
+cosmo_(artist),1,114,
+copyright_name,0,114,
+coconut_bra,0,114,
+claw_fingers,0,114,
+chozo,5,114,
+chilli_heeler,4,114,"chili_(bluey),chili_heeler,chilli_(bluey)"
+breeder,0,114,
+blue_fin,0,114,
+blossom_(battlerite),4,114,
+belly_piercing,0,114,
+austin_(night_physics),4,114,
+aura_spark,4,114,
+athus,1,114,
+aosano_tenpura,1,114,
+anthony_(goldiescales),4,114,
+amber_(disambiguation),4,114,amber
+albedo_(overlord),4,114,
+akai,1,114,赤井
+after_cum_kiss,0,114,
+adam_caro,4,114,
+abbi_(kilinah),4,114,
+zergling,5,113,
+zahra_(airheart),4,113,
+zack_(naruever),4,113,
+yutakira92,1,113,
+yopy,1,113,
+yaranaika,3,113,
+xeono,1,113,
+wooden,0,113,
+wolfyama,1,113,
+whitev,1,113,
+white_muzzle,0,113,
+white_bedding,0,113,
+waistband,0,113,
+voki_(youwannaslap),4,113,
+vinejob,0,113,
+vambrace,0,113,
+vaginal_stretching,0,113,
+underwear_transformation,0,113,
+two_tone_paws,0,113,
+twistedteeth,1,113,
+turning_around,0,113,
+traumatized,0,113,
+transformation_potion,0,113,
+toodles_galore,4,113,"toodles_(casanova_cat),toodles_(salt_water_tabby),toodles_(solid_serenade),toodles_(t&j),toodles_(tom_&_jerry),toodles_(tom_and_jerry)"
+toejob,0,113,
+time_travel,0,113,
+the_great_warrior_wall,3,113,
+thash,4,113,
+tbfm,1,113,
+sweatdrop_(iconography),0,113,
+styx_y._renegade,4,113,
+striped_bra,0,113,
+stormrider,1,113,
+snowcheetah,4,113,
+snakehead404,4,113,
+slight_smile,0,113,
+sky3,1,113,
+skate_park,0,113,"skateboard_park,skatepark"
+shyybuchi,1,113,
+shinystarshard,1,113,
+sheppermint,4,113,
+sheila_(beastars),4,113,shiira_(beastars)
+sha_(twf),4,113,
+sexylinguini,1,113,
+senbiku_mew,1,113,
+semple,4,113,
+secret_of_mana,3,113,
+sebastian_(kadath),4,113,
+scanty_daemon,4,113,scanty
+saurus,5,113,
+sanusanu,1,113,
+sally_hazel,4,113,
+salarian,5,113,
+rz54,1,113,
+runningtoaster,1,113,
+rt0no,1,113,
+reyathae,4,113,
+retros,1,113,
+renaissance,0,113,
+red_lingerie,0,113,
+real_axolotl_hours,3,113,
+rannik,4,113,
+python13rp,1,113,
+puccaruu,1,113,"monsterbarf,puccaruu_(artist)"
+prehensile_footjob,0,113,"prehensile_feet_job,prehensile_feet_jobs,prehensile_feetjob,prehensile_foot_job,prehensile_foot_jobs,prehensile_footjobs"
+precum_in_mouth,0,113,
+pizza_pup,4,113,
+pink_toenails,0,113,
+perec,4,113,
+pavement,0,113,
+palace_(character),4,113,
+overeating,0,113,
+outdoor_nudity,0,113,
+ombwie,1,113,
+no_internal_organs,0,113,
+nightmare_chica_(fnaf),4,113,
+napalm_(artist),1,113,
+nanogrrr,1,113,
+multiple_partners,0,113,
+mocha_(eikasianspire),4,113,
+millennium_dragon,5,113,
+mglblaze,1,113,
+merchant_ship,0,113,"merchant_vessel,merchantman,trading_ship,trading_vessel"
+mephiles_the_dark,4,113,
+mega_gengar,5,113,
+mask_off,0,113,
+marisa_kirisame,4,113,kirisame_marisa
+magic_penis,0,113,
+m16,0,113,
+looking_at_reflection,0,113,
+little_buddy,3,113,
+letters,0,113,
+lesser_dog,4,113,
+leon_(haychel),4,113,
+kyuq,1,113,
+kolshica,1,113,!湖
+kittehkatbar,1,113,
+kess_(coffeechicken),4,113,
+kann1kura_(kanna),1,113,
+kaiyonato,4,113,
+joel_mustard,4,113,
+jjem1920,1,113,
+janitor,0,113,
+inktober_2021,3,113,
+impatient,0,113,
+id_card,0,113,
+icy_heart,4,113,
+holding_horn,0,113,horn_holding
+hikku,1,113,
+hidden,0,113,
+hashire,1,113,
+gunnar's_dad,4,113,
+guided_penetration,0,113,
+grimm_(hollow_knight),4,113,
+grey_boots,0,113,gray_boots
+gosha_(beastars),4,113,
+golisopod,5,113,
+glistening_ears,0,113,shiny_ears
+gilgash,1,113,
+gift_tag,0,113,
+game_show,0,113,
+game_background,0,113,game_bg
+gali,4,113,
+frozenartifice,1,113,
+forced_feminization,0,113,
+football_uniform,0,113,
+food_bowl,0,113,"dog_bowl,food-bowl,food-bowls,food-dish,food-dishes,food_bowls,food_dish,food_dishes,foodbowl,foodbowls,fooddish,fooddishes"
+fishing_net,0,113,
+evergreenplate,1,113,
+epaulette,0,113,
+energy_wings,0,113,
+ember_(warframe),4,113,
+eledensfw,1,113,
+egg_belly,0,113,
+dropping,0,113,
+dragroon,1,113,
+dolphydolphiana,1,113,"dolphiana,dolphy"
+delisle,1,113,
+darkereve,1,113,
+corgi_(artist),1,113,
+colesense,1,113,
+club_penguin,3,113,
+clothed_female_nude_gynomorph,0,113,clothed_female_nude_dickgirl
+circi_(yobie),4,113,
+catoblepas_(tas),4,113,
+bulletin_board,0,113,
+brokowski,1,113,
+bredlaybagordh,1,113,
+boa_constrictor,5,113,"boa_(genus),common_boa,red-tailed_boa,red_tailed_boa"
+blue_armor,0,113,
+blue_antennae,0,113,blue_antenna
+black_harness,0,113,
+black_hairband,0,113,
+bitterstrawberries,1,113,
+bite_mark_breast,0,113,
+big_obliques,0,113,
+belly_on_glass,0,113,
+beastkin,5,113,
+bearmon,5,113,
+banjo_(instrument),0,113,banjo
+baigak,1,113,
+bahati_whiteclaw,4,113,
+back_shrub,0,113,
+azurei,1,113,
+axelferdinan,1,113,
+arm_wrestling,0,113,
+arcane_shade,4,113,
+aperture_logo,0,113,
+ajani_goldmane,4,113,
+air_conditioner,0,113,aircon
+air6ornepig,1,113,"a6p,gloomesthesia"
+aggie_(artist),1,113,
+acrobatics,0,113,
+ಠ_ಠ,0,112,look_of_disapproval
+ziravore,1,112,
+zephyr_(dragon),4,112,
+zeltha,1,112,
+zebra_print,0,112,
+xsatanielx,1,112,
+xbox_wireless_controller,0,112,"xbox_one_controller,xbox_series_controller,xbox_series_s_controller,xbox_series_x/s_controller,xbox_series_x_&_s_controller,xbox_series_x_and_s_controller,xbox_series_x_and_series_s_controller,xbox_series_x_controller"
+wereequine,5,112,
+weezing,5,112,
+wammawink,4,112,
+vine_bondage,0,112,
+unwanted_creampie,0,112,
+underbelly,0,112,
+toybadgers,1,112,
+the_secret_lives_of_flowers,3,112,
+the_red_prince,4,112,
+thane_(armello),4,112,
+tex_avery,3,112,
+tentacle_spitroast,0,112,
+tanner_(mao_mao),4,112,
+tan_rouge,4,112,
+steps,0,112,
+split_personality,0,112,
+sonia_(pokémon),4,112,sonia_(pokemon)
+skitter-leaf,1,112,
+sinibun_95,1,112,
+shrink,0,112,
+shoebill_(kemono_friends),4,112,
+shashe'_saramunra,4,112,
+sethrak,5,112,
+segremores,4,112,
+sea_anemone,5,112,anemone
+screwball_(mlp),4,112,screwball
+sandunky,1,112,
+sallie_may_(helluva_boss),4,112,sallie_may_(vivzmind)
+sagara_shino,1,112,
+rinka_eya,4,112,
+rileysockfoxy,1,112,
+reggie_(whygena),4,112,
+reggie_(james_howard),4,112,
+receiving_footjob_pov,0,112,
+rayman,4,112,
+raised_sweater,0,112,sweater_raised
+raidramon,5,112,lighdramon
+rady-wolf,1,112,
+quitetricky,1,112,
+queenbloodysky,1,112,
+pawoo,1,112,
+pawn,1,112,
+osmar-shotgun,1,112,
+orange_tentacles,0,112,orange_tentacle
+olympiaxylaige,1,112,
+object_on_head,0,112,
+nyanta,4,112,
+notkadraw,1,112,
+norithecat,1,112,"gatonori,gatonorinoir,noriipley,noriluci,norinoir,riipleynori"
+noctoc,1,112,
+nirriti,1,112,
+nasty-pink,1,112,
+mystery_skulls,3,112,
+muscular_maleherm,0,112,
+mr._kat,4,112,
+mowgli,4,112,
+monotone_collar,0,112,
+momdadno,1,112,acht
+milk_drip,0,112,
+miitopia,3,112,
+mattie_(chimangetsu),4,112,
+mako_shark,5,112,isurus
+lumberjack,0,112,
+lukurio,1,112,
+lucky_star,3,112,
+looking_at_sex,0,112,
+logan_grey,4,112,
+living_onahole,5,112,
+little_cato,4,112,
+little-gray-bunny,1,112,
+licking_nose,0,112,
+kyleroo,1,112,
+kuribon,1,112,
+kelp,0,112,
+keel,0,112,
+kaya_(knockedoutdragon),4,112,
+jin_macchiato,4,112,
+imminent_transformation,0,112,
+imminent_danger,0,112,
+ibgross,1,112,
+hand_on_throat,0,112,
+hakkentai_pkdn,1,112,
+gnu,5,112,"connochaetes,wildebeest"
+giovanni_(pokémon),4,112,giovanni_(pokemon)
+geordie_79,4,112,
+fused_arms,0,112,
+fully_submerged_tail,0,112,
+forced_undressing,0,112,forced_stripping
+flay_(wingedwilly),4,112,
+firefly8083,1,112,
+fallenfolf,1,112,
+fake_rabbit_tail,0,112,
+eyes_obscured,0,112,
+essence_of_rapture,1,112,
+erdfurry,1,112,
+episode0006,1,112,
+empyu,1,112,
+emperor_penguin,5,112,
+dracozolt,5,112,
+digimon_adventure,3,112,
+denim_jacket,0,112,
+debudave_12,1,112,
+cumminham,1,112,
+cubicle,0,112,
+cotton_swab,0,112,q-tip
+cosma_(ok_k.o.!_lbh),4,112,"cosma_(ok_k.o!),cosma_(ok_k.o),cosma_(ok_k.o.!),cosma_(ok_k.o.!_let's_be_heroes),cosma_(ok_k.o.!_lets_be_heroes),cosma_(ok_k.o.),cosma_(ok_k.o._lbh),cosma_(ok_k.o._let's_be_heroes),cosma_(ok_k.o._lets_be_heroes),cosma_(ok_k.o_lbh),cosma_(ok_k.o_let's_be_heroes),cosma_(ok_k.o_lets_be_heroes),cosma_(ok_ko!),cosma_(ok_ko!_lbh),cosma_(ok_ko!_let's_be_heroes),cosma_(ok_ko!_lets_be_heroes),cosma_(ok_ko),cosma_(ok_ko_lbh),cosma_(ok_ko_let's_be_heroes),cosma_(ok_ko_lets_be_heroes)"
+corridor,0,112,
+contract,0,112,
+confession_booth,0,112,
+clothed_intersex_nude_intersex,0,112,"cini,nici,nude_intersex_clothed_intersex"
+cidea,1,112,
+chemistry,0,112,
+cerbera,1,112,
+cathyl_(monster_musume),4,112,
+carrying_position,0,112,
+cammy_white,4,112,
+button_dress,0,112,
+bored_sex,0,112,
+boneless_hamham,1,112,
+blue_robe,0,112,
+black_coat_(commissarspuddy),4,112,
+black_and_white_body,0,112,
+bio-android_(dragon_ball),5,112,
+bending,0,112,
+belly_dancing,0,112,
+balls_in_panties,0,112,
+azrealm1,1,112,
+ayden_feuer,1,112,
+auria_jansson,4,112,
+ashchu,4,112,
+aryani,4,112,
+aroused_face,0,112,
+aoino,1,112,
+angry_face,0,112,
+anal_birth,0,112,
+abby_doug,4,112,
+7nulls,1,112,
+18:39,7,112,9:19.5
+zankuro,1,111,
+yuricrabking,1,111,
+yorutime,1,111,
+yoako,1,111,
+xasyr,4,111,
+wouhlven,1,111,
+windborn,3,111,
+white_egg,0,111,
+warning_sign,0,111,
+waffle_ryebread,4,111,
+verybatty,1,111,
+verbal_abuse,0,111,
+van_(sandwich-anomaly),4,111,
+urethral_fisting,0,111,
+ugandan_knuckles,3,111,
+twistedlilheart,1,111,
+toons,0,111,
+think_mark_think!,3,111,
+thechavicgerman_(artist),1,111,
+thebestvore,1,111,
+thea_stilton,4,111,
+teal_pawpads,0,111,"teal_paw_pad,teal_paw_pads,teal_pawpad"
+tarah_(fvt),4,111,
+swish,1,111,"rascheln,swishchee"
+suvaru,1,111,
+sugar_(gats),4,111,
+strange-fox,1,111,
+starmie,5,111,
+squarerootofdestiny,1,111,
+split_dialogue,0,111,
+somali_cat,5,111,somali_(cat)
+slime_rancher,3,111,
+skybeatz,1,111,
+side_shave,0,111,
+shamanguli,1,111,
+shaking_hips,0,111,
+shaka,0,111,
+shadyadi1,1,111,
+sewlde,1,111,sewlde.k.charat
+scrubs,0,111,
+sara_(phrannd),4,111,
+sapphire_(anglo),4,111,
+salmy,4,111,
+rodent_penis,0,111,
+ritter,1,111,
+ridiculouscake,1,111,secretgoombaman12345
+rex_(disambiguation),4,111,rex
+resting_arm,0,111,
+red_vest,0,111,
+razorsz,1,111,
+rawrcharlierawr,1,111,
+ranch,0,111,
+python_(genus),5,111,
+pussy_to_mouth,0,111,
+pushmi-pullyu,5,111,
+pullmytail,1,111,
+proby,4,111,
+principericardo,1,111,
+poisonkinoko,1,111,
+pink_pillow,0,111,
+pink_leash,0,111,
+pika,5,111,"ochotona,ochotonid,ochotonidae"
+patty_(maple_town),4,111,
+p5ych,1,111,
+ottoman,0,111,
+orange_beard,0,111,
+oouichi,1,111,
+onyxtanuki,3,111,
+on_toilet,0,111,
+oblivionrising,1,111,
+nine_frame_image,0,111,
+mta_transformation,0,111,"male_to_andromorph_tf,male_to_andromorph_transformation,male_to_cuntboy_tf,male_to_cuntboy_transformation,mta_tf,mtc_tf,mtc_transformation"
+mr5star,1,111,
+monotone_tentacles,0,111,"mono-tone_tentacle,mono-tone_tentacles,mono_tone_tentacle,mono_tone_tentacles,monotone_tentacle"
+moltsi,1,111,
+miura,4,111,
+milkyway_(truegrave9),4,111,
+miguno_(beastars),4,111,
+midnite_(mario_plus_rabbids),4,111,
+matt_(scratch21),4,111,
+maru_(marujawselyn),4,111,
+maraca,0,111,"chac-chac,chac_chac,maracas,rumba_shaker"
+madturtle,1,111,
+macro_penetration,0,111,macro_insertion
+mackstack,1,111,
+luna777,1,111,
+lowkey,1,111,"nsfwlk,okiedokielowkey"
+long_ponytail,0,111,
+light_topwear,0,111,
+light_legwear,0,111,
+light_legs,0,111,
+letfurry1t,1,111,
+leatherhead,4,111,
+latissimus_dorsi,0,111,
+landmark,0,111,
+kyoko_usagi,4,111,
+kurogewapony,1,111,
+konomofu,1,111,
+khyaber,1,111,
+khris_dragon,4,111,
+kato200_0,1,111,
+kasuka_(kusuki),1,111,
+justsomenoob,1,111,
+jojobiz,1,111,
+iopichio,1,111,
+infested_kerrigan,4,111,queen_of_blades
+ikanomaru,1,111,
+humming,0,111,
+honky_kat,1,111,
+heartthrob_cafe,3,111,
+harpoon,0,111,
+hand_on_own_chest,0,111,
+hand_on_own_ankle,0,111,
+half_body,0,111,
+hakkids2,1,111,
+hachirouta,1,111,八郎太
+gunshot_wound,0,111,
+grey_neck,0,111,
+grenade_launcher,0,111,
+great_horned_owl,5,111,tiger_owl
+glowing_fungus,0,111,"bioluminescent_fungi,bioluminescent_fungus,glowing_fungi"
+girl_staring_at_man's_chest,3,111,
+giga_mermaid,4,111,
+gallgard,4,111,
+futaba_kotobuki,4,111,kotobuki_futaba
+fursin,1,111,
+frown_eyebrows,0,111,
+frostbite_(rubberbuns),4,111,
+frill_spines,0,111,
+fleki_(character),4,111,
+fd-caro,1,111,caro_zalt
+fauvfox,1,111,
+fatelogic,1,111,
+fat_arms,0,111,
+fast_sex,0,111,
+fan_comic,0,111,
+eye_socket,0,111,eye_sockets
+envy,0,111,
+engagement_ring,0,111,
+empressbridle,1,111,
+dragonsponies,1,111,
+diana_(thecon),4,111,
+destruteka,1,111,
+dash-the-cheetah,1,111,
+darke_katt,4,111,
+dark-dusk,1,111,
+dan_and_mab's_furry_adventures,3,111,dmfa
+daisy_(bcb),4,111,
+cuteskitty,1,111,
+cum_hose,0,111,
+crucifixion,0,111,
+creesa,1,111,"crees,crees-a,crees-art,crees_a,crees_art,creesart"
+cracking,0,111,
+cosmog,5,111,
+corvuspointer,1,111,
+corporalbackrubs,1,111,
+colelucario,1,111,
+claw_(weapon),0,111,claws_(weapon)
+chibi_(c1-11131),4,111,
+celebi-yoshi,1,111,dawnfire
+cebid,5,111,"cebidae,cebidaen"
+carcharodontosaurid,5,111,carcharodontosauridae
+camera_hud,0,111,
+cakewasgood,1,111,
+bump,0,111,
+bugbear,5,111,
+bruised_eye,0,111,
+brll,1,111,
+breast_pregnancy,0,111,"boob_pregnancy,boobs_pregnancy,breasts_pregnancy,pregnant_boob,pregnant_boobs,pregnant_breast,pregnant_breasts"
+bodily,0,111,
+blinkblinkblink,3,111,
+blade_wolf,4,111,lq-84i
+bella_(animal_crossing),4,111,
+begonia-z,1,111,begonia_z
+beastlyjoe,1,111,
+barbed_corona_glans,0,111,
+bamwuff,4,111,
+azurill,5,111,
+artmarshmallow,1,111,
+arm_fin,0,111,
+archshen,1,111,
+angela_(badgerben),4,111,
+amunet,4,111,
+amanda_(simonaquarius),4,111,
+amalia_(claralaine),4,111,
+aldergames,1,111,
+alchemist,0,111,
+abomasnow,5,111,
+16:11,7,111,
+x231_(artist),1,110,
+wreck-it_ralph,3,110,wreck_it_ralph
+work_clothes,0,110,
+witchcraft,0,110,
+vic_(animal_crossing),4,110,
+vanessa_(furryrex),4,110,
+vagina_dentata,0,110,
+upside_down_cross,0,110,
+unrealcereal,1,110,
+tre_(milligram_smile),4,110,
+translucent_footwear,0,110,"see-through_footwear,see-thru_footwear,see_through_footwear,see_thru_footwear,sheer_footwear,transparent_footwear"
+thiccwithaq,1,110,
+thibbycat,1,110,
+thetyrant,1,110,
+thatwildmary,1,110,
+tentacle_in_penis,0,110,
+tennis_ball_in_mouth,0,110,
+starman,5,110,
+spread_fingers,0,110,
+slushy,1,110,
+slowking,5,110,
+sleepy_princess_in_the_demon_castle,3,110,
+skeletal,0,110,
+skater,0,110,
+shino_asada,4,110,"asada_shino,asada_shinon,shino_(sao),shino_(sword_art_online),shinon,shinon_(sao),shinon_(sword_art_online),shinon_asada,sinon_(sao),sinon_(sword_art_online)"
+shenanimation,1,110,shenaniganza
+sertaa,1,110,
+sensitivity_increaser,0,110,
+self_hug,0,110,hugging_self
+sake_bottle,0,110,
+rokito,1,110,"natus69mortuus,rkt,rokitou"
+rocky_shore,0,110,
+rikku,1,110,
+rhythm_heaven,3,110,"rhythm_heaven_fever,rhythm_paradise"
+red_pikmin,5,110,
+ratteguhn,5,110,
+queen_elsa_(frozen),4,110,
+purple_fingernails,0,110,
+purple_blush,0,110,
+puazi,5,110,
+prosthetic_hand,0,110,
+premier_ball,0,110,
+powzin,1,110,
+poro,5,110,
+poliwag,5,110,
+plesiosaur,5,110,
+plaster,0,110,
+philadelphia_eagles,3,110,
+pants_around_legs,0,110,
+palmarianfire,1,110,
+ovorange,1,110,"5bitsabuck,twintailsinc"
+orange_hat,0,110,
+ochaco_uraraka,4,110,ochako_uraraka
+obscured_masturbation,0,110,
+nudelinooo,1,110,
+notmypornaccount,1,110,
+noblood,1,110,
+niwatora,1,110,
+neferu_(adastra),4,110,
+necrosmos,1,110,
+namihira_kousuke,4,110,kousuke_namihira
+multiple_toys,0,110,
+multi_pecs,0,110,
+mr._big,4,110,
+motorcycle_helmet,0,110,
+monotone_apron,0,110,
+modo_(bmfm),4,110,
+mintytempest,1,110,
+midori_(nakagami_takashi),4,110,
+micki,1,110,
+mermaidification,0,110,
+maxamilion_the_fox,4,110,
+maria_(pancarta),4,110,
+lying_on_breasts,0,110,
+luka_cross,4,110,
+lower_lip,0,110,
+long_orgasm,0,110,
+long_duration_stimulation,0,110,
+lolzguy,1,110,
+linkle,4,110,
+light_feathers,0,110,
+leto_(letodoesart),4,110,
+letho_donovan,4,110,letho_(laudanumserum)
+leather_legwear,0,110,
+laugh_emanata,0,110,
+largerest,1,110,
+koorivlf_tycoon,4,110,
+koki,1,110,
+knotsosfw,1,110,supremo_burrito
+kinktober2022,3,110,
+kathy-lu,1,110,
+karin_(tetetor-oort),4,110,
+jumper,0,110,
+jimfoxx,1,110,
+jesus_christ,4,110,"jesus,jesus_m_christ"
+ivanks,1,110,
+it's_a_trap,0,110,
+hollyhock_manheim-mannheim-guerrero-robinson-zilberschlag-hsung-fonzerelli-mcquack_(bojack_horseman),4,110,"hollyhock,hollyhock_(bojack_horseman),hollyhock_manheim-mannheim-guerrero-robinson-zilberschlag-hsung-fonzerelli-mcquack"
+hibiscus_blossom,4,110,
+hera_(hera),4,110,
+heart_necklace,0,110,
+heart_container,0,110,
+handmantoot,1,110,
+handjob_while_masturbating,0,110,
+gud,1,110,
+greycat_rademenes,1,110,greycatr
+glazed_penis,0,110,
+fuku_fire,4,110,fukufire
+fruit_print,0,110,fruit_pattern
+foxra,1,110,
+forastero,1,110,
+firekitty,1,110,
+eromame,1,110,ermame26
+elizabeth_fox,4,110,
+dustyspaghetti,1,110,
+dress_shoes,0,110,
+detnox,1,110,
+dauna_(reptilligator),4,110,
+darkviperbara,1,110,darkviper199027
+dale_(ponehanon),4,110,
+cursive,0,110,
+crimellgrim,1,110,
+cover_them_up_slut,3,110,
+corruption_of_champions_2,3,110,
+coral_reef,0,110,
+clown_makeup,0,110,
+cliff_(unpopularwolf),4,110,
+chimereon,5,110,
+chatting,0,110,
+cd,0,110,
+captain_celaeno_(mlp),4,110,
+candle_wax,0,110,
+camgirl,0,110,
+bukikobuta,1,110,
+brokenvocaloid,1,110,
+brianne_(spikedmauler),4,110,
+bra_pull,0,110,
+bow_hat,0,110,
+blue_coat,0,110,
+birthday_party,0,110,
+big_serratus,0,110,
+bell_piercing,0,110,
+bdsm_outfit,0,110,
+azumaril,1,110,
+ashiji,1,110,
+arm_stripes,0,110,
+arm_garter,0,110,
+archery,0,110,
+aquaticvibes,1,110,
+antenna_wire,0,110,
+anso/rez,1,110,
+allbadbadgers,1,110,allbadbadgers_(artist)
+alios,1,110,q_taro
+alilkira,4,110,
+alexz_(artist),1,110,
+ahuizotl_(mlp),4,110,
+a_drunk_dragon,1,110,
+7b7a2f,1,110,
+6pklion,1,110,
+zeetar,1,109,
+yoshino_momiji,1,109,
+yazoe,1,109,
+yarpi,1,109,
+willy_(artdecade),4,109,
+white_kyurem,5,109,
+white_ear_fluff,0,109,
+weiss_(paledrake),4,109,
+water_humanoid,5,109,
+wahitouppe,1,109,わひとぅっぺ
+ventesthefloof,1,109,
+ursaluna,5,109,
+unusual_feces,0,109,unusual_poop
+two_tone_tongue,0,109,
+trinidad_motmot,5,109,
+travis_(zootopia),4,109,
+tradelt,1,109,
+track_jacket,0,109,
+the_smurfs,3,109,smurfs
+tess_(jak_and_daxter),4,109,
+table_humping,0,109,
+sylvane,4,109,
+suto,1,109,"naver,rukin,toxxy"
+susy_sallister,4,109,
+spotted_seal,5,109,"larga_seal,largha_seal"
+spilling,0,109,
+sparkler,0,109,
+spamton_g._spamton,4,109,"spamton,spamton_g_spamton"
+spade,0,109,
+sourou_cerulean_wolf,5,109,
+sonicfox,3,109,
+short_jeans,0,109,
+shenzel,1,109,
+shedinja,5,109,
+sfan,1,109,
+seyumei,1,109,draggincat
+selina_kyle_(character),4,109,
+sashunya,1,109,
+sackrany,1,109,
+rick2tails,4,109,
+richarddeus,1,109,
+reptile_taur,5,109,
+renard_queenston,4,109,ren_queenston
+red-9,1,109,
+r18alphawolf,1,109,
+q_wed,1,109,
+pwcsponson,1,109,
+pseudo_skirt,0,109,
+portal_masturbation,0,109,
+pokemonfromhell,1,109,
+pink_apron,0,109,
+paya,4,109,
+paw_on_penis,0,109,
+oriont,1,109,
+oniiyanna,1,109,
+olivia_flaversham,4,109,
+obikuragetyan,1,109,
+nyufluff,1,109,
+nymlus,4,109,
+noah_(artist),1,109,"noah_marugali,の☆あ"
+nixuelle,4,109,
+nipple_birth,0,109,
+nikita_akulov_(nika_sharkeh),4,109,
+nihonthedragon,1,109,
+nightmare_on_elm_street,3,109,
+negativetheory,1,109,
+nebssik,1,109,
+myly14,1,109,
+moonlight_flower,4,109,moonlightflower
+monotone_shorts,0,109,"mono-tone_shorts,mono_tone_shorts"
+monodog_(artist),1,109,monodog(artist)
+maxwell_(housepets!),4,109,
+marty_(weaver),4,109,
+martincorps,1,109,
+marcofox,1,109,
+mamaduo,1,109,
+mahmapuu,1,109,
+magister39,1,109,
+lube_on_butt,0,109,
+loreking,1,109,"chibicutelucy,lorethelostking,loretoons,princelore,princeloread"
+looking_at_panties,0,109,
+langurhali,5,109,
+kuuneho,1,109,
+krabby,5,109,
+kotezio,1,109,
+kor'desse,4,109,
+kizaruya,1,109,
+kiba_kurokage,4,109,
+khaki_pants,0,109,
+kenn,1,109,
+july_hopps_(mistermead),4,109,july_hopps_(mead)
+john_(photolol.03),4,109,
+jill_(alfa995),4,109,
+jigglephysics,1,109,
+jazmin_usagi,4,109,
+jane_read,4,109,jane_reed
+jaguar_humanoid,5,109,
+itsuko103,1,109,
+intersex_prey,0,109,
+inside_train,0,109,
+in_rut,0,109,
+holding_game_boy,0,109,
+highway,0,109,
+headstand,0,109,
+head_ridge,0,109,
+hayven_celestia,3,109,
+happyroadkill,1,109,
+gothfield,4,109,
+glo-s-s,1,109,
+glistening_eyelids,0,109,
+full_cleavage,0,109,
+flower_necklace,0,109,
+ferro_the_dragon,4,109,
+ferima,1,109,esde
+fennephilim_fox,1,109,
+femboi_lugia_(lightningfire12),4,109,
+feather_preening,0,109,"avian_preening,bird_preening,feather_preen,preening_(avian),preening_(bird),preening_feather,preening_feathers"
+fauna_(animal_crossing),4,109,
+fanartiguess,1,109,
+exercise_equipment,0,109,
+european_badger,5,109,
+echinozoan,5,109,echinozoa
+dressuptober,3,109,
+drake-rex,1,109,
+dopq,1,109,yy6241
+digitigrade_heels,0,109,
+desidobie,4,109,
+dark_magician_girl,4,109,
+dahecksajerry,1,109,jeremy_chung
+cum_creature,5,109,
+covering_nipples,0,109,
+consent_themes,0,109,
+cobalt_(cobaltdawg),4,109,cobaltdawg
+clothed_male_nude_intersex,0,109,"cmni,nicm,nude_intersex_clothed_male"
+cat_knight,4,109,
+captaingerbear,1,109,canislupus
+by_dream,1,109,
+blue_bodysuit,0,109,
+black_armband,0,109,
+birchly,1,109,"artbirchly,artbirchly_(artist),birchly_(artist)"
+bimbo_anthro,0,109,
+bard-bot,1,109,
+baebot,1,109,
+ariyah_(meg),4,109,
+amy_(fvt),4,109,
+ambrosine92,1,109,
+alexandra_(david_siegl),4,109,
+alexa_neon,1,109,alexahasegawa
+a_link_between_worlds,3,109,
+zsisron,3,108,
+zoru,4,108,
+zeta-la-angie,1,108,
+zarro_(zarro_the_raichu),4,108,
+zaikudo,1,108,
+zafara_(neopets),5,108,
+ximema,1,108,
+whisker_tuft,0,108,
+websheck,1,108,
+waru-geli,1,108,
+ursa-m1nor,1,108,
+undyingsong,1,108,
+uchiwa_fan,0,108,
+two_tone_tentacles,0,108,"two-tone_tentacles,two-toned_tentacles,two_color_tentacles,two_toned_tentacles"
+trapped_in_butt,0,108,
+train_station,0,108,
+tomb,0,108,
+tit_(bird),5,108,"parid,paridae,tit"
+thumping,0,108,
+thescarletartist,1,108,
+tarzan,3,108,
+tanaka_kusao,1,108,"3年b組しこりぱ先生,930tanaka,@shikoripa,kusao_tanaka,shikoripa,温狐屋(ぬるこや),温狐屋(ぬるこや),田中草男"
+sy_noon,1,108,
+surgicalarts,1,108,
+subaru_aotk,1,108,
+strawberry628_(artist),1,108,
+straight_horn,0,108,"straight_horns,strait_horn"
+spruceloops,1,108,
+spiked_gloves,0,108,spiked_glove
+sphere,0,108,
+slurpuff,5,108,
+skrawl,1,108,garavato
+sitting_sex,0,108,
+silver_sickle_(oc),4,108,
+shouta_magatsuchi,4,108,
+shirley_the_medium,4,108,"shirley_(courage),shirley_(courage_the_cowardly_dog),shirley_(ctcd)"
+shanher,1,108,
+shaking_breasts,0,108,
+seashell_(canisfidelis),4,108,
+screw_(character),4,108,
+saliant,1,108,
+runny_nose,0,108,
+ruger,4,108,
+roller_coaster,0,108,"roller_coasters,roller_coasting,rollercoaster,rollercoasters,rollercoasting"
+rizkitsuneki,1,108,
+reverend_(ratte),4,108,
+red_jockstrap,0,108,
+red_beard,0,108,
+realiron_(artist),1,108,
+rampardos,5,108,
+quitela,4,108,
+quintuple_penetration,0,108,
+purple_beak,0,108,
+pumyra,4,108,
+psyg2,1,108,
+pooling,0,108,
+political_cartoon,0,108,
+pokémon_detective_pikachu,3,108,pokemon_detective_pikachu
+poison_ivy,4,108,
+pleased_expression,0,108,
+pestil,1,108,
+pelvic_thrust,0,108,air_humping
+pelipper,5,108,
+parka,0,108,
+pandemonium_wizard_village,3,108,
+painted_background,0,108,
+orgasm_from_handjob,0,108,
+onechan,1,108,
+okono_yuujo,4,108,
+officer_mchorn,4,108,
+nx147,1,108,
+nikcesco,1,108,
+nativefall,1,108,
+nailstrabbit,1,108,honas007
+multicolored_legs,0,108,
+mochimochi39mo,1,108,
+mitsuhisa_aotsuki,4,108,
+mindoffur,1,108,
+merfiller,1,108,"merdekyle7,merfiller_(artist)"
+meidri_(interspecies_reviewers),4,108,
+meicrackmon,5,108,
+mechagen,1,108,
+magician_hat,0,108,
+m-47,1,108,
+lotix,1,108,
+looking_sideways,0,108,
+lifeguard_swimsuit,0,108,
+licking_tip,0,108,
+leo_(thetwfz),4,108,
+ladychimaera,1,108,
+kristall_krit,1,108,
+kosmonius,1,108,
+kosafordraw,1,108,
+kluclew,1,108,
+kkerotix,1,108,
+kirby:_planet_robobot,3,108,
+kibacheetah,4,108,
+keiron_white,1,108,"funkyalien,thefunkyone"
+kei_kun,1,108,
+kaze~inu,1,108,
+john_carter,4,108,
+jknewlife,1,108,
+jelomaus,3,108,
+ink-leviathan,1,108,
+ice_climber,3,108,ice_climbers
+huntress,1,108,
+houkuko,1,108,jackie_m
+holding_bulge,0,108,
+herbivore_(mh),5,108,"herbivore_(monster_hunter),herbivores_(mh),herbivores_(monster_hunter),soshokushu,sōshokushu"
+hellboy_(series),3,108,
+heartbeats,1,108,
+hakumen,4,108,
+gosgoz,1,108,
+goronic,1,108,
+gold_clothing,0,108,
+glowing_scales,0,108,glowing_scale
+glistening_footwear,0,108,"glistening_foot_wear,shiny_foot_wear,shiny_footwear"
+gametimeasia,1,108,
+fuel_gauge,0,108,
+fuddy,1,108,
+frilled_petal_dragon,5,108,
+francine_(ruanshi),4,108,
+five_nights_at_freddy's_ar,3,108,
+fish_bowl,0,108,fishbowl
+fabienne_growley,4,108,
+etrius_van_randr,4,108,
+egg_in_urethra,0,108,
+eddie_(doginacafe),4,108,
+eastern_grey_squirrel,5,108,eastern_gray_squirrel
+duke_(thecon),4,108,
+drop_shadow,0,108,
+drift_(fortnite),4,108,
+diaper_squish,0,108,"diaper_squished,diaper_squishing,diaper_squishy,squish_diaper,squished_diaper,squishing_diaper,squishy_diaper"
+denim_bottomwear,0,108,
+deimion_j_shadowwolf,1,108,
+deep_fossa,0,108,
+dark_gaia,4,108,
+dark_breasts,0,108,
+dark_border,0,108,
+darbaras,1,108,
+d.howk,1,108,
+cum_writing,0,108,
+cryozen,4,108,
+crossroadspony,1,108,
+coffeesoda,1,108,
+cmitchell,1,108,
+ciavs,1,108,
+chromefox,1,108,
+cesar23,1,108,cesaralexis
+ceres_(radarn),4,108,
+burlesque,0,108,
+bravo44_(artist),1,108,
+brahkest,1,108,
+bori_(neopets),5,108,bori_(neopet)
+blue_frill,0,108,
+bloodhound,5,108,blood_hound
+blake_jackson,4,108,
+bladder_penetration,0,108,
+bladder_inflation,0,108,
+bethesda,3,108,
+bay_(marking),0,108,"bay_(markings),bay_marking,bay_markings"
+azalia,4,108,
+arkoh,1,108,
+amhidden,1,108,
+alphax10,1,108,
+alphaaquilae,1,108,
+alicorn_amulet,0,108,
+/fur/,3,108,
+zmeydros,1,107,
+zephyr_the_drake,4,107,
+youngster_(pokemon_sword_and_shield),4,107,
+woobaloo,1,107,
+whippet,5,107,
+warm_lighting,0,107,
+volkenfox,1,107,
+virus_(organism),5,107,
+vhs,3,107,
+venlightchaser,1,107,
+universaldragon,1,107,
+uaykan,1,107,
+tv_head,5,107,
+trapped_in_shoe,0,107,
+track_pants,0,107,
+tororoudn,1,107,とろろうどん
+tomol6,1,107,
+theshamelessfreak,1,107,
+the_loud_house,3,107,
+the_infection_(hollow_knight),4,107,
+the_hunter_(bloodborne),4,107,
+tentacle_in_ear,0,107,
+tekimi,1,107,marshtompkd
+tapio_chatarozawa,4,107,
+tan_antlers,0,107,
+sythgara,1,107,
+synecdoche,1,107,synecdoche445
+sybil_mccready,4,107,
+sweltering,1,107,
+sugarnhoney,1,107,
+submissive_predator,0,107,
+starscape,0,107,
+sporran,0,107,
+spiritomb,5,107,
+spidersnax_(artist),1,107,"cyber-zai,cyber_zai"
+species_name_in_internal_monologue,0,107,
+sora_(sorafoxyteils),4,107,
+somanyfangs,1,107,
+smagma,1,107,
+six343,1,107,
+sitting_on_throne,0,107,
+sitting_on_rock,0,107,
+sister_in_law,0,107,
+shirley_the_loon,4,107,
+shearing,0,107,
+secret_(character),4,107,
+scissored_leg_glider_position,0,107,
+sandcavern,1,107,
+rum,0,107,
+rubber_stockings,0,107,
+ribbons_(anatomy),0,107,
+red_paws,0,107,
+ramzyuu_(ramzyru),4,107,
+rainbow_dash_(eg),4,107,
+quesi,4,107,
+pustule,0,107,
+prinnydood,1,107,
+primal_groudon,5,107,
+pride_color_bottomwear,0,107,"pride_bottomwear,pride_colors_bottomwear,pride_colour_bottomwear,pride_colours_bottomwear,pride_flag_bottomwear"
+playstation_portable,3,107,psp
+platinumeggs,1,107,
+pirate_leader_tetra,4,107,"tetra_(loz),tetra_(tloz),tetra_(zelda)"
+parallel_clips,0,107,
+palavenmoons,1,107,
+outercourse,0,107,
+oter,1,107,
+otake,4,107,
+orange_scarf,0,107,
+orange_pubes,0,107,
+okami_bark,4,107,
+nx-3000,1,107,
+numbered_ear_tag,0,107,
+nostril_ring,0,107,
+no_nut_sabotage,3,107,
+nightborne,5,107,
+nakitacat,1,107,
+nailed,0,107,
+mutantnight,1,107,
+mrsafetylion,1,107,
+mousepad,0,107,
+morca,1,107,
+mklr,1,107,meklab
+misty_(g5),4,107,
+melissa_(hipcat),4,107,
+maypul,4,107,
+maya_(nightfaux),4,107,
+matilda_(adventures_in_bushtown),4,107,
+marty_(onta),4,107,
+manwiched,0,107,
+lulu_(final_fantasy),4,107,
+luka_(monster_girl_quest),4,107,
+long_coat,0,107,
+locofuria,1,107,
+life_ring,0,107,
+leg_lick,0,107,"leg_licking,lick_leg,licking_leg"
+lagoon_bluebear,1,107,
+kushala_daora,5,107,
+knitting,0,107,
+killer_queen,4,107,
+khayen_(character),4,107,
+kein_avp,1,107,
+kameloh,1,107,
+jonathan_stalizburg,4,107,
+jintally,1,107,
+jarmenj,3,107,
+jamie_(novaduskpaw),4,107,
+james_(team_rocket),4,107,"james_(pokemon),james_(pokémon),james_(tr)"
+ivxair3p,1,107,
+impending_doom,0,107,
+ice_skating,0,107,
+holding_bowl,0,107,holding_bowls
+hikako,1,107,
+guardian,0,107,
+grus_(genus),5,107,"grus_(avian),grus_(bird),grus_(gruid),grus_(gruiform)"
+grey_thigh_highs,0,107,gray_thigh_highs
+goat_ears,0,107,
+glowing_wings,0,107,
+ganguro_(artist),1,107,"bakuradesunen,ganguro,がんぐろ"
+g4rron,1,107,
+food_on_face,0,107,
+fisis,1,107,
+fire_island_entertainment,3,107,
+fire_extinguisher,0,107,
+ferrissimulator,1,107,
+ether-0,1,107,
+espy_(yo-kai_watch),4,107,
+emperor,0,107,empress
+earthb-kun,1,107,earthbkum
+dunkleosteus,5,107,
+duncan_(doginacafe),4,107,
+dschunai,1,107,
+diskodeath,1,107,
+cryptozoo,1,107,
+cremedelaclop_(artist),1,107,
+cotton,0,107,
+controller_on_furniture,0,107,
+comfort,0,107,
+cold_sweat,0,107,
+cloyster,5,107,
+circuit_markings,0,107,circuit_marking
+chester_the_otter,4,107,
+cheri_(atrolux),4,107,
+chen_stormstout,4,107,
+caprine_taur,5,107,
+bullet_wound,0,107,
+brushstroke,1,107,
+bomber_jacket,0,107,
+bmw,3,107,
+blue-tongued_skink,5,107,"blue-tongued_lizard,blue_tongued_lizard,blue_tongued_skink,tiliqua"
+big_hero_6,3,107,
+big_cheeks,0,107,
+barretxiii,1,107,
+anthrosaurs,3,107,
+anocris,5,107,
+andava,1,107,
+alexandra_salome,4,107,
+alasta,1,107,
+akashi_(live-a-hero),4,107,
+adleisio,1,107,
+;3,0,107,
+8_eyes,0,107,"8_eyed,eight_eyed,eight_eyes"
+4_pecs,0,107,four_pecs
+yulliandress,1,106,
+xredpandax,1,106,xredpandax_(artist)
+wraith_(evolve),4,106,
+wolf250,1,106,
+wkd,1,106,
+wishes,0,106,
+white_soles,0,106,
+werethrope_laporte,4,106,
+werehorse,5,106,
+walkman,3,106,
+voreception,0,106,
+vetiver_n,1,106,
+vacuum,0,106,
+trapped_in_net,0,106,
+toy_poodle,5,106,
+toriel_(underfell),4,106,
+tongue_in_mouth,0,106,
+the_road_to_el_dorado,3,106,
+the_brain,4,106,
+text_shadow,0,106,
+tasuric,1,106,
+tarolyon,1,106,beijinbeef
+tape_muzzle,0,106,
+tan_hat,0,106,
+sweetie_(paw_patrol),4,106,
+subdivisions,1,106,
+stylized_empty_eyes,0,106,
+squeek,4,106,
+sneakers_only,0,106,
+slinkoboy,1,106,ourhero
+sindenbock,1,106,
+shipwreck,0,106,
+service_menu,0,106,
+seeker_(transformers),5,106,
+scratch_mark,0,106,
+sandals_only,0,106,
+samantha_reyes,4,106,
+ross_(rossciaco),4,106,
+rorrek,1,106,
+roof_legs,1,106,
+rolf_(animal_crossing),4,106,
+rokiloki,1,106,
+reverse_titfuck,0,106,
+reptile_penis,0,106,
+remanedur,1,106,remanedur_(artist)
+redshift_(reddrawsstuff),4,106,
+rainbow_feathers,0,106,
+purple_inner_ear_fluff,0,106,
+ponyographer,1,106,graphographer
+ponchuzn,1,106,puszn
+poisewritik,1,106,
+pocketmew,1,106,
+pixel-perry,1,106,
+pink_fingers,0,106,
+phone_number,0,106,
+pennawings,1,106,
+penis_peeking_out_of_water,0,106,
+panko_(lawyerdog),4,106,
+painted_clothing,0,106,
+outstretched_hand,0,106,
+othukimi,1,106,
+oscar_peltzer,4,106,oscar_(sci)
+orange_exoskeleton,0,106,
+optimus_prime,4,106,
+ohfourmouse,1,106,
+ohagi,1,106,hurimaro_metayaki
+obakawaii,1,106,
+nikuyoku,1,106,
+night_owl_(creatures_of_the_night),4,106,
+neogoldwing,4,106,
+mouse_trap,0,106,mousetrap
+mostly_submerged,0,106,
+mob_boss,0,106,
+milk_leaking,0,106,
+melangetic,1,106,
+meer,4,106,
+manlyster,1,106,
+manatee,5,106,
+looking_at_food,0,106,
+lizalfos,5,106,
+leg_pouch,0,106,
+lake_guardians,0,106,
+kohane01,1,106,
+kitty_vanilji,4,106,
+kittikary,1,106,
+kingdoujin,1,106,
+karn_(karn_the_wolf),4,106,
+kaneinu_kosuke,4,106,
+kabutops,5,106,
+iloota,1,106,
+hyper_penetration,0,106,
+hurst,4,106,
+hopping,0,106,
+heaven,0,106,
+heart_wink,0,106,
+haxsmack,1,106,
+hand_to_face,0,106,
+hailberry,1,106,
+h2o2,1,106,
+grumpy_gray_guy,1,106,"adim,grampy_gray_guy,grampygrayguy,grumpygrayguy"
+grose,1,106,
+grey_stockings,0,106,gray_stockings
+green_flu_mutant_(left_4_dead),5,106,
+graith,3,106,
+grabbing_hair,0,106,
+god_of_war,3,106,
+glistening_bottomwear,0,106,"glistening_bottom_wear,shiny_bottom_wear,shiny_bottomwear"
+ghostbro,1,106,
+ghost_costume,0,106,
+genital_exploration,0,106,
+gage_the_panther,4,106,
+furinkazan,1,106,
+football_helmet,0,106,
+firekeeper77,1,106,
+feversfm,1,106,
+feces_on_butt,0,106,
+etrian_odyssey,3,106,"etrian_odyssey_3:_the_drowned_city,etrian_odyssey_4,etrian_odyssey_4:_legends_of_the_titan,etrian_odyssey_v"
+eto_rangers,3,106,
+eeple,4,106,
+drooling_tongue,0,106,
+drakawa,1,106,
+dragons_fucking_cars,0,106,"dragon_car_sex,dragons_having_sex_with_cars"
+drages,1,106,
+doukutsunezumi,1,106,
+doorframe,0,106,
+dogamy,4,106,
+dobrota,1,106,
+dexterthekobold,1,106,dexter.98
+desire_(icma),4,106,
+dancingchar,1,106,
+dallas_prairiewind,4,106,
+cynocephalus,5,106,
+cum_shower,0,106,
+culixcupric,1,106,
+cue_stick,0,106,pool_cue
+cremacat,1,106,
+crash_azarel_(character),4,106,
+contessaskunk,3,106,
+concentration,0,106,
+colored_sclera,0,106,
+chrno,1,106,
+chocolate_bar,0,106,
+chief_(animal_crossing),4,106,
+chestnuts_(artist),1,106,
+chest_binder,0,106,"boob_binder,breast_binder,breast_binding,chest_binding,trans_binder"
+cheek_to_cheek,0,106,
+chaostone,1,106,
+catnip_(khatnid),4,106,
+carousel,0,106,"carosello,carousel_ride,carrousel,galloper,horse_about,horseabout,merry-go-round,merry_go_round,merrygoround"
+burping_up_clothing,0,106,
+bowser's_inside_story,3,106,
+boshi,4,106,
+boobsgames,1,106,
+bodice,0,106,
+bionic_leg,0,106,bionic_legs
+assisted_fellatio,0,106,
+asatrua,1,106,
+arm_on_knee,0,106,
+argent,4,106,
+aode_(asonix),4,106,
+anora_drakon,1,106,
+anonjg,1,106,
+animextremex,1,106,
+animal_stall,0,106,
+ammylin,1,106,
+alissa_(alasou),4,106,
+alice_(alice_in_wonderland),4,106,alice_(wonderland)
+action_scene,0,106,
+64:35,7,106,
+zpectralkrystal,1,105,siberiancrystalx
+zoom_in,0,105,
+zipper_pull_tab,0,105,
+zexyprof,1,105,hotdogsanddonuts
+yourdigimongirl,1,105,
+yellow_sky,0,105,
+wrabby,1,105,
+winterwolfy,4,105,
+winterblack,1,105,
+wii_u,3,105,
+watagashikn,1,105,
+warts,0,105,
+vape,0,105,
+vanessa_(fnaf),4,105,
+unknowhiter,1,105,
+undyingwolf,1,105,
+tweecredo,1,105,
+trenchbound,3,105,
+topless_human,0,105,
+titsunekitsune,1,105,
+tinysmallman,1,105,
+threskiornithid,5,105,threskiornithidae
+thread_transfer,0,105,double_threading
+therris,4,105,
+the_rescuers_down_under,3,105,"bernard_and_bianca_in_the_land_of_the_kangaroos,rescuers_down_under"
+the_devil_(cuphead),4,105,
+tail_ornament,0,105,
+syntia,4,105,
+swissleos,1,105,
+swatch_(deltarune),4,105,
+suspension_bridge_position,0,105,
+strongfat,0,105,
+stinkehund,1,105,
+stink_fumes,0,105,
+squeeshy,1,105,
+spreader_straps,0,105,
+spe,1,105,
+solarlewds,1,105,
+soaked,0,105,
+skyla_(pokemon),4,105,skyla_(pokémon)
+skull_face_paint,0,105,
+sherlock_hound,4,105,
+shendu,4,105,
+shadesflame,1,105,
+satina,4,105,
+sailor_moon_redraw_challenge,3,105,
+ruska,4,105,
+ruby_(rq),4,105,
+royaljellysandwich,1,105,
+roxikat,4,105,
+rollingstoneeeeee,1,105,
+rhaenjarr,1,105,
+rezukii,4,105,
+reallydarkandwindie,1,105,
+puppyluxe,1,105,princeluxio
+psi_(artist),1,105,
+prince_borgon,4,105,
+ponk,1,105,
+pointing_at_head,0,105,
+pla0net5lai8ka,1,105,
+pipitasout,1,105,
+perro-kun,4,105,
+orange_jacket,0,105,
+nova_(meganovav1),4,105,
+nicky_illust,1,105,
+nenemaru,1,105,
+naughtysableye,1,105,wondersableye
+nadacheruulewd,1,105,
+mysteryfanboy91,1,105,"mofetafanboy1991,mofetafanboy718,mofetafrombkxxx,mysteryfanboy718"
+multicolored_arms,0,105,
+mohumohuotou,1,105,
+moe_(kobold_adventure),4,105,
+mirroredsea,1,105,
+marvin_the_martian,4,105,
+machv99,1,105,
+luxury_car,0,105,luxury_vehicle
+lou_(thekite),4,105,
+long_taur,5,105,
+little_hareboy,1,105,
+little-munster,1,105,"little-munster_(artist),little_munster"
+light_anus,0,105,
+lever,0,105,
+lenni_(artlegionary),4,105,
+leaning_on_furniture,0,105,
+laundromat,0,105,
+kumamikan,1,105,
+kritter_(kremling),5,105,"kritter_(dk),kritter_(dkc),kritter_(donkey_kong)"
+kraft_trio,4,105,
+kotatsu,0,105,
+korosuke,1,105,
+kneeling_on_one_leg,0,105,
+kiara_aman,4,105,
+keijimohumohu,1,105,
+kazu_(thatgaysushi),4,105,
+kamui_(kill_la_kill),5,105,kamui_(klk)
+jin_yorushika,4,105,
+jay-r_(character),4,105,
+ink_brush,0,105,
+incognitymous,1,105,
+hyper_udders,0,105,
+humanoid_penis_in_slit,0,105,
+hirochanu,1,105,
+hero_of_many_battles_zacian,5,105,"hero_of_many_battles_(zacian),hero_of_many_battles_zacian_form,hero_zacian,zacian_(hero),zacian_(hero_of_many_battles),zacian_(hero_of_many_battles_form),zacian_hero,zacian_hero_of_many_battles,zacian_hero_of_many_battles_form"
+heart_hair_accessory,0,105,
+hand_spikes,0,105,
+haiko_frostypaws,4,105,
+gs,1,105,
+groping_breast,0,105,
+grizzly_(shirokuma_cafe),4,105,
+graded_dildo,0,105,
+giru,4,105,
+gemskull,1,105,
+game_boy_color,3,105,gameboy_color
+fuzeyeen,4,105,
+friendship_is_witchcraft,3,105,
+freddy_krueger,4,105,
+france,0,105,
+foamytail,1,105,
+flugeldog,1,105,
+flo,1,105,
+finger_on_penis,0,105,
+feve,1,105,
+fbz,1,105,
+faroula_twitt,1,105,
+fanfan,4,105,
+elfilin,4,105,
+elecmon,5,105,
+dyriuck_kaos,1,105,
+dyaniful,1,105,
+dr._hämsterviel,4,105,"dr._hamsterviel,dr._jacques_von_hamsterviel,dr._jacques_von_hämsterviel,dr_hamsterviel,dr_hämsterviel,dr_jacques_von_hamsterviel,dr_jacques_von_hämsterviel,hamsterviel,hämsterviel,jacques_von_hamsterviel,jacques_von_hämsterviel"
+doraemon_(character),4,105,
+dongly12,1,105,
+danza_(character),4,105,
+cuprohastes,1,105,
+crossbreeding,0,105,
+crescent_(shape),0,105,
+colored_pencil,0,105,"colored_pencils,coloured_pencil,coloured_pencils"
+coercion,0,105,
+cobaltcerberus,1,105,azul_(artist)
+clitoral_fossa,0,105,
+class_of_heroes,3,105,
+cinnamama,1,105,
+churoe,1,105,
+chu,1,105,
+chocolate_chips_(oc),4,105,
+chippendales,3,105,
+cephei,1,105,
+candy_orca_dragon,5,105,
+candy_apple,0,105,"candied_apple,candied_apples,candy_apples,caramel_apple,caramel_apples,toffee_apple,toffee_apples"
+boxman,1,105,
+bluedmoka,1,105,
+blue_toenails,0,105,
+birdvian_(character),4,105,bird_(birdvian)
+big_glasses,0,105,
+beehive_(hairstyle),0,105,
+beak_piercing,0,105,
+barely_contained_balls,0,105,
+band_(marking),0,105,"band_(markings),band_marking,band_markings,bands_(marking),bands_(markings),bands_marking,bands_markings"
+ball_python,5,105,royal_python
+atmospheric_perspective,0,105,
+artemis_the_absol,4,105,
+arizuka,1,105,
+argyle_(pattern),0,105,"argyle_pattern,argyll_(pattern),argyll_pattern"
+aokabike,1,105,
+amiya_(arknights),4,105,
+ahuizotl,5,105,
+zygarde_10_forme,5,104,"zygarde_10,zygarde_10_form"
+zweilous,5,104,
+zephyr_(bateleurs),4,104,
+zaramecatnyar,1,104,
+zalgo_(creepypasta),4,104,
+yosuke7390,1,104,
+yellow_bra,0,104,
+x-zelfa,1,104,
+wrapped_tail,0,104,
+wizart_animation,3,104,
+weirdhyenas,1,104,
+wakasumire,1,104,kemonagari
+vlue_(maynara),4,104,
+vitaly_(madagascar),4,104,
+virate-chip,1,104,mutee
+venomoth,5,104,
+vanth,4,104,
+valmir,4,104,
+unbuckled_belt,0,104,
+tsenaya,4,104,
+toumak_(character),4,104,
+tootsie,4,104,
+tito_lizzardo_and_catty_b,3,104,
+title_card,0,104,
+thigh_crush,0,104,
+theslimedragon,1,104,
+the_sunfish,3,104,
+the_last_guardian,3,104,tlg
+tetto,1,104,
+temari-brynn,1,104,
+taro_heppoko,1,104,
+tail_hold,0,104,tail_holding
+tail_down,0,104,
+tacdoodles,1,104,
+swoobat,5,104,
+sugoi_kinniku,1,104,
+strapon_over_chastity,0,104,
+stalvelle,1,104,
+spring_(season),0,104,
+spaghetti_strap,0,104,
+soulman1,1,104,
+sophie_(shyguy9),4,104,
+sniffing_diaper,0,104,
+slim_female,0,104,
+sleepyhelen,1,104,
+sir_squiggles_(character),4,104,
+sierra_(father_of_the_pride),4,104,
+side_balls,0,104,
+shove,0,104,
+sheep_and_wolves,3,104,
+shawd,1,104,"shawd_(artist),shawd_studios,shawd_studios_(artist)"
+shadowmatamori,1,104,
+scimitar,0,104,
+scarlet_sound_(oc),4,104,
+scarlet_(armello),4,104,
+sand-rain,1,104,
+samrunner,1,104,
+samantha_thott,4,104,
+saixyuniz-xynz,1,104,
+sabrina_(pokemon),4,104,"natsume_(pokemon),natsume_(pokémon),natsumi_(pokemon),natsumi_(pokémon),sabrina_(pokémon)"
+ryonggay,1,104,
+ruined_makeup,0,104,
+rubbing_cheek,0,104,"cheek_rub,cheek_rubbing"
+rie_(artist),1,104,
+rick_sanchez,4,104,
+reverse_fleshlight_position,0,104,
+regression,0,104,
+red-billed_hornbill,5,104,red_billed_hornbill
+razr,1,104,
+racingwolf_(artist),1,104,
+pyukumuku,5,104,
+purple_flower,0,104,
+purple_bandanna,0,104,
+pumpkin_breasts,0,104,
+psychoseby,1,104,
+pokémon_taur,5,104,"pokemon_taur,pokemontaur,poketaur,pokémontaur,pokétaur"
+pokéball_collar,0,104,"poke_ball_collar,pokeball_collar,poké_ball_collar"
+pippi913,1,104,bakawasima
+pink_boots,0,104,
+pepper_ackerman,4,104,pepper_(ritts)
+penis_in_slime,0,104,
+orange_neck,0,104,
+oonami,1,104,
+noire_vala,4,104,
+noelleneko,1,104,
+nikku_lunatique,1,104,
+ndragon3,1,104,noicem
+navos,4,104,
+mynokiarules,1,104,
+musuko42,1,104,musuko_(artist)
+mothercrow,1,104,"doppelganger,doppelganger_,doppelgänger"
+monarch_butterfly,5,104,
+meat_on_bone,0,104,
+matt_ishida,4,104,yamato_ishida
+maroon_fur,0,104,
+maplestory,3,104,
+majalis,1,104,
+mailbag,0,104,
+machine_bondage,0,104,
+lovepuma69,1,104,
+love_pillow,0,104,
+looking_to_the_side,0,104,
+lion_sora,4,104,
+lin_(helluva_boss),4,104,lin_(vivzmind)
+kochapatsu,1,104,
+kobradraws,1,104,
+kippykat,1,104,
+kingdra,5,104,
+khopesh,0,104,
+kempferzero,1,104,
+kblankii,1,104,
+kaivolate,1,104,
+kaikoinu,1,104,
+judgement_(helltaker),4,104,
+jayjay_(artist),1,104,
+javier,4,104,
+japanese_macaque,5,104,
+japanese_bobtail,5,104,
+jadedjynx,1,104,
+inkerton-kun,1,104,
+indynd,1,104,
+huge_hands,0,104,
+huge_extensor_carpi,0,104,
+hostage,0,104,
+horsea,5,104,
+honeypot_ant,5,104,honey_ant
+hiccyart,1,104,"hiccupsdoesart,hiccupsdoesart_(artist),hiccupsdoessmut_(artist),hiccyart_(artist),twistedhiccy,twistedhiccy_(artist)"
+hellen_lockheart,4,104,
+hashu,1,104,
+harlequin_rabbit,5,104,"harlequin_(bunny),harlequin_(rabbit),harlequin_bunny"
+grim_matchstick,4,104,
+gretchen_(kazeattor),4,104,
+green_seam_underwear,0,104,
+green_beak,0,104,
+grease,0,104,
+glurt,0,104,
+germ_warfare_(nitw),4,104,"germ_(nitw),jeremy_warton"
+gelatin,0,104,
+frommarstomercury,1,104,
+friendly,0,104,
+fox_(housepets!),4,104,
+foot_markings,0,104,"feet_marking,feet_markings,foot_marking"
+fluffyxai,1,104,
+flapping,0,104,
+finn_(phantomfin),4,104,
+fiddleafox,1,104,
+femclaw,4,104,
+fatima_eaglefeather,4,104,
+faputa,4,104,
+eternallytardy,1,104,
+equis_universe,0,104,
+enjoyment,0,104,
+endertwinks,1,104,
+enaya-thewhitewolfen,1,104,donenaya
+elyssia_(armello),4,104,
+ehime_mikan,1,104,
+ed_ryujin,4,104,
+durham_(beastars),4,104,
+dragonheart,3,104,
+draako,5,104,
+dominic_armois,4,104,
+dog_toy,0,104,"dog-toy,doggie-toy,doggie_toy,doggietoy,doggy-toy,doggy_toy,doggytoy,dogtoy"
+dodger_(creatures_of_the_night),4,104,
+dlost,1,104,
+display_case,0,104,
+diorexity,1,104,
+diana_rayablanca,4,104,
+devs-iratvs,1,104,
+darkpenguin,1,104,
+darknud,1,104,
+dakuroihoshi,1,104,
+dakimakura_style,0,104,
+daemon_lady,1,104,
+conveyor_belt,0,104,
+coffeecat4321,1,104,
+close_(disambiguation),0,104,close
+chubby_intersex,0,104,
+chillyphillix,1,104,madlyfluffy
+cherri_bomb_(hazbin_hotel),4,104,cherri_bomb_(vivzmind)
+cerebropodrido,1,104,
+caveman,0,104,
+brun69,1,104,
+breaking_bad,3,104,
+bouncing_tail,0,104,
+bon_donuts,1,104,
+boltswift,1,104,
+blonde_beard,0,104,yellow_beard
+blindcoyote,1,104,
+bleachedleaves,1,104,
+blarf,1,104,
+black_rubber_suit,0,104,
+bk-mita,1,104,
+bibbo_(oc),4,104,
+bandlebro,1,104,
+aviator_goggles,0,104,
+ashley_(mewgle),4,104,
+arm_spreader,0,104,armspreader
+ariwalter,1,104,
+aozora_(tasogare_aozora),1,104,
+alesia,4,104,
+aaron_amethyst,1,104,
+zentagas,1,103,
+zeeb_wolfy,4,103,
+yuzuki_fang111,1,103,
+yennefer,4,103,
+yellow_raincoat,0,103,
+yellow_glow,0,103,
+wolf_costume,0,103,
+wolf_(we_baby_bears),4,103,
+wodahseht,1,103,
+william_(falcon_mccooper),4,103,
+whitewolf20xx,1,103,
+whitebeast20,1,103,
+white_mask,0,103,
+werelion,5,103,
+weekly,4,103,
+voshiket,1,103,
+vine_tentacles,0,103,
+vinci_(itsmemtfo4),4,103,
+view_between_legs,0,103,
+vetrowolf,1,103,
+vandalism,0,103,
+username-password,1,103,
+typhek,4,103,
+tourmalice,1,103,
+tom_(ehs),4,103,
+tirashanks_(artist),1,103,
+thylus,4,103,
+thibby,4,103,
+thehonestrival,1,103,
+terezi_pyrope,4,103,
+tenderule34,1,103,
+teba_motoko,1,103,"suekisueko,てば_もとこ,てば_もとこ_(artist),てばもとこ"
+tarkatan,5,103,
+tarantuloo,1,103,
+taichi_kamiya,4,103,"tai_kamiya,taichi_yagami"
+swissy,4,103,
+sundae,0,103,
+sugslimic,1,103,
+suggestive_fluid,0,103,
+stufful,5,103,
+strapless_swimwear,0,103,"strapless_swim_suit,strapless_swim_wear,strapless_swimsuit"
+stoner_rifle,0,103,
+staticlustdemons,1,103,
+stargazing,0,103,
+starburstsaber_(character),4,103,
+sstinkies,1,103,
+squeeze_(sound_effect),0,103,
+spinneborg,1,103,
+specimen_8,4,103,
+sovietcatparty,1,103,
+soleil_(itstedda),4,103,
+sniffing_anus,0,103,
+sleepingeel,1,103,"fullmetalmentalist,lordvader914"
+skrien,4,103,
+skinny_female,0,103,
+ski,0,103,skis
+sick_fun,3,103,
+short_stackification,0,103,
+shoguru,1,103,
+shin_mao,4,103,
+shima_shima_tora_no_shimajirou,3,103,
+sherb_(animal_crossing),4,103,
+scimunk,1,103,scimunk_(artist)
+sawch_cls,1,103,
+sakuya_izayoi,4,103,izayoi_sakuya
+ruribec,1,103,
+round_nose,0,103,
+rorikemo_(j7w),4,103,
+rock_humanoid,5,103,"humanoid_rock,humanoid_stone,stone_humanoid"
+rhodesio,1,103,
+reykat,1,103,
+reiq,1,103,
+raukue,1,103,
+rakuo,4,103,
+rainbow_markings,0,103,rainbow_marking
+pyrocynical,4,103,
+pukei-pukei,5,103,pukei_pukei
+pufferfish,5,103,"bubble_fish,bubblefish,puffer_fish,sea_squab,swell_fish,swellfish,tetraodontid,tetraodontidae"
+progress_pride_colors,0,103,
+pride_color_wristband,0,103,
+pokey_minch,4,103,
+pmd:_discovery_team_of_stars_and_souls,3,103,
+pipisan,1,103,
+peeka_(mario),4,103,
+partial_line_speech_bubble,0,103,
+parkdale,1,103,parkdaleart
+orange_pants,0,103,
+oracle_(vhsdaii),4,103,
+offscreen_human,0,103,
+novakid,5,103,novakid_(starbound)
+northern_cardinal,5,103,"cardenal_norteno,cardenal_norteño,cardinal_norteno,cardinal_norteño,cardinal_rouge,common_cardinal,red_cardinal"
+nik_(sonicfox),4,103,
+neko_hakase,4,103,
+munchlax,5,103,
+mossyartburger,1,103,
+moon-s,1,103,
+megalodon,5,103,
+medical_thermometer,0,103,"clinic_thermometer,clinical_thermometer,medicine_thermometer"
+maximal,5,103,
+masterokami,1,103,
+masahikoko,1,103,
+marion_(changeling_tale),4,103,
+long_bangs,0,103,
+lobo_(animal_crossing),4,103,
+little_strongheart_(mlp),4,103,little_strongheart
+liquid_hair,0,103,"fluid_hair,water_hair"
+limp,0,103,
+limousine,0,103,limo
+light_scales,0,103,
+leg_in_air,0,103,
+leeterr,1,103,
+kwuff,5,103,
+ksharra,1,103,
+knot_tugging,0,103,
+kiwi_(viroveteruscy),4,103,
+kevin_and_kell,3,103,kevin_&_kell
+ket_ralus_(character),4,103,
+keller_(kellervo),4,103,
+kekkaishi,3,103,
+keith_(marsminer),4,103,
+keiran_tracey,4,103,
+katie_tinson,4,103,
+kashino_(azur_lane),4,103,
+kamui_(hitsunekun),4,103,
+joycall3,1,103,
+jewene_the_ewe,4,103,
+jesse_cat,4,103,
+implied_cunnilingus,0,103,
+i.kain,1,103,
+hydlunn,1,103,
+hungrypaws,1,103,
+hose_in_butt,0,103,
+hellticket,1,103,
+grinion_(species),5,103,
+grey_foreskin,0,103,gray_foreskin
+green_blush,0,103,
+grassland,0,103,
+gradient_text,0,103,
+gold_digger,3,103,gold_diggers
+glowing_skin,0,103,
+gloom_lines,0,103,
+ghosts_'n_goblins,3,103,
+genital_transformation,0,103,
+gekk0,1,103,
+garou_kazeoka,4,103,
+gally_(monsterbunny),4,103,
+folsky,1,103,"folsky_(artist),meanxtreamx3"
+flucra,1,103,フルクラム
+fleki,1,103,
+feroxdoon,4,103,
+feral_penetrating_taur,0,103,f/p/t
+fancy_clothing,0,103,
+facility,0,103,
+eye_tattoo,0,103,
+esealia,1,103,esealia_(artist)
+electric_spark,4,103,
+dwarf_(coh),5,103,
+dreameclipsewolf,1,103,
+draite,1,103,
+dracula,4,103,
+dormin-kanna,1,103,
+dogeoisie,1,103,
+desingahv,1,103,
+delicioussoup,1,103,
+deermary,1,103,
+daxmarko,1,103,
+darastrix_(ihavexboxlive),4,103,
+cumlord,1,103,
+crystalberry,1,103,
+creamyowl,1,103,
+corrin,4,103,
+celia_(s2-freak),4,103,
+breast_scar,0,103,"breasts_scar,scarred_breast,scarred_breasts"
+booth_seating,0,103,
+blakenfen,1,103,
+backup4now,1,103,
+auzzie,1,103,
+athletic_ambiguous,0,103,
+aster_faye,4,103,
+aotadobukitch,1,103,
+anise_(quin-nsfw),4,103,
+amelia_abernachy,4,103,
+amazed,0,103,
+alolan_rattata,5,103,"alola_rattata,rattata_(alola_form),rattata_(alolan_form)"
+all_on_one,0,103,
+alicethedeer,1,103,
+alex_(carpetwurm),4,103,
+1990s,0,103,90s
+zinnthos,1,102,
+yoisho,4,102,
+yamaraim,1,102,
+xptzstudios,1,102,
+wyebird,1,102,
+wrestling_match,0,102,
+white_text_border,0,102,
+white_lips,0,102,
+wearing_flag,0,102,
+waterfall_shower,0,102,
+wasp_humanoid,5,102,
+warg,5,102,
+wafflefox,1,102,"bootyfox,waffurukitsune"
+vjsins,1,102,
+viva_piñata,3,102,viva_pinata
+ventious,1,102,
+vel'koz_(lol),4,102,vel'koz
+varby,4,102,
+unnero1,1,102,
+two_tone_panties,0,102,
+twerpishimp,1,102,
+trubbish,5,102,
+travon,1,102,
+transparent_buttplug,0,102,
+translucent_lingerie,0,102,"see-through_lingerie,see-thru_lingerie,see_through_lingerie,see_thru_lingerie,sheer_lingerie,transparent_lingerie"
+trailer,0,102,
+touching_breast,0,102,
+tolnga,1,102,
+tnt,0,102,
+thong_pull,0,102,
+the_pose,0,102,
+the_pokedex_project,3,102,
+the_feast_of_nero,3,102,
+tentacle_handjob,0,102,
+tamama,4,102,
+tailsup4tyranno,1,102,h8sart
+tail_tale,3,102,tail_tales
+tabytha_starling,4,102,tabytha
+swimming_cap,0,102,swim_cap
+sweaty_tail,0,102,
+street_sharks,3,102,
+stray_pubes,0,102,
+straddling_penis,0,102,
+smiling_at_partner,0,102,
+smallsrabbit,1,102,bunbunny_(artist)
+shoulder_length_hair,0,102,
+severed_arm,0,102,
+safety_harness,0,102,
+sabari,4,102,
+rosita_(sing),4,102,
+rope_belt,0,102,
+roadhog_(overwatch),4,102,
+ripper_roo,4,102,"doctor_roo,dr._roo,dr_roo"
+rg01_(undertale),4,102,rg01
+rev_runner,4,102,
+reneigh_(animal_crossing),4,102,
+renard_(homura_kasuka),4,102,
+red_(topazknight),4,102,
+razzberryboat,1,102,
+ramona_alvarez,4,102,ramona_(ritts)
+pyroxtra,1,102,
+possessive,0,102,
+posing_for_picture,0,102,
+poraka7,1,102,
+perenthis,1,102,
+panapoliz,1,102,
+overweight_taur,0,102,
+oriana_thaffer,4,102,
+on_rug,0,102,
+obscured_oral,0,102,
+nylon,0,102,
+nviek5,1,102,
+noxoic,1,102,
+novaarts,1,102,
+nobusuke,1,102,
+nihontd,3,102,
+nico_robin,4,102,
+new_looney_tunes,3,102,wabbit
+nate_(mindnomad),4,102,
+nagainosfw,1,102,
+mrcbleck,1,102,
+mr._whiskers,4,102,
+molly_macdonald,4,102,
+mina-the-pie,1,102,
+midori_gel,4,102,
+mewlava,5,102,
+messy_fur,0,102,"disheveled_fur,frizzy_fur,unkempt_fur"
+master_monkey,4,102,
+manaka_(aggretsuko),4,102,
+magenta_fur,0,102,
+magaska19,1,102,
+lytta_the_bug,1,102,
+lurkin,1,102,
+lucas_(pokémon),4,102,"diamond_(pokemon),diamond_(pokémon),lucas_(pokemon)"
+leg_stripes,0,102,
+leg_cuff,0,102,
+lan_rizardon,1,102,"alasurth,ian_rizardon"
+lampy_(azura_inalis),4,102,
+lamp_shade,0,102,"lamp_cover,lamp_covers,lamp_shades,lampcover,lampcovers,lampshade,lampshades"
+laito,4,102,
+kronexfire,1,102,"kronebear,kronexfire-"
+koslov,4,102,
+kolae,1,102,
+kintuse,4,102,vang
+kelly_o'dor,4,102,
+kazzypoof_(character),4,102,
+kardukk,4,102,
+kaiman_(dorohedoro),4,102,
+jackerwobb,1,102,theskeleton
+inside_vehicle,0,102,
+hyperdimension_neptunia,3,102,
+hosiery,0,102,
+holly_zanzibar,4,102,
+holding_cigar,0,102,holding_cigars
+hitmanatee,1,102,
+herm_penetrating_gynomorph,0,102,"h/p/d,h/p/gm,herm_penetrating_dgirl,herm_penetrating_dickgirl,herm_penetrating_newhalf,herm_penetrating_shemale"
+happy-cat,1,102,
+hand_under_clothes,0,102,
+half_lidded_eyes,0,102,
+gyobu's_underlings,4,102,
+grovyle_the_thief,4,102,"grovyle_(eotds),grovyle_(pmd)"
+grief,0,102,
+grey_pubes,0,102,gray_pubes
+green_pillow,0,102,
+granddaughter,0,102,"gran_daughter,gran_daughters,grand_daughter,grand_daughters,grandaughter,grandaughters,granddaughters"
+giantboonehusky_(artist),1,102,
+fuzzy_tail,0,102,
+forsaken_(character),4,102,
+flipside,1,102,
+fletchling,5,102,
+fjord_horse,5,102,norwegian_fjord_horse
+fishboner_(artist),1,102,skulcrumpa
+family_photo,0,102,
+falconid_humanoid,5,102,
+face_torture,0,102,
+extremexworld,1,102,
+equine_teats,0,102,
+elliot_(unpopularwolf),4,102,
+dylan_(the_human_heart),4,102,
+dumplings,0,102,dumpling
+dreepy,5,102,
+dizzy_eyes,0,102,
+diona_(genshin_impact),4,102,
+demondragoncyan,1,102,
+delilah_(gargoyles),4,102,
+dark_legs,0,102,
+dark_guardian_corporation,1,102,
+daisy_(tatsuchan18),4,102,
+curby,1,102,
+cum_request,0,102,
+criminal,0,102,
+confetti_streamer,0,102,
+cody_(falcon_mccooper),4,102,
+cinnamon_(disambiguation),6,102,"cinnamon,cinnamon_(character)"
+chris_(teckly),4,102,
+cheesoart,1,102,
+cheepard,1,102,
+chase_hunter,4,102,
+catkitte,1,102,
+bunzo_bunny,4,102,
+building_insertion,0,102,
+brunalli,3,102,
+brown_tail_feathers,0,102,
+bondagefanart,1,102,
+bomberman_jetters,3,102,
+black_muzzle,0,102,
+black_jockstrap,0,102,
+bimbette,4,102,
+bethany_(jay_naylor),4,102,
+belly_folds,0,102,
+bedside_table,0,102,
+bawp,1,102,
+batruse,1,102,
+banrai,1,102,
+atherbirochi,1,102,
+asuka_langley_soryu,4,102,"asuka_(evangelion),asuka_soryu_langley,soryu_asuka_langley,souryuu_asuka_langley"
+asphagnum,1,102,
+anupap,1,102,
+antennae_markings,0,102,
+alicia_pris,4,102,
+alchemy,0,102,
+akino_(kemokin_mania),4,102,
+akali_(lol),4,102,
+7th-r,1,102,
+zoruken,1,101,
+zorayas,4,101,rya_(elden_ring)
+zoarity,1,101,
+zachsroom,1,101,
+yajima,1,101,
+xeup36,1,101,
+xenopera,1,101,
+xeila,4,101,
+wolfox004,1,101,
+williamca,4,101,
+wet_anus,0,101,
+werechiropteran,5,101,werebat
+wan_wan_celeb_soreyuke!_tetsunoshin,3,101,
+vasira,4,101,
+unexpected,0,101,
+undressing_self,0,101,
+ujac,1,101,weaselwolf
+tuca_and_bertie,3,101,tuca_&_bertie
+translucent_tail,0,101,
+tommysamash,1,101,
+terminator,3,101,
+terithes,1,101,
+tawni_tailwind,1,101,
+tauren_(feral),5,101,
+tasha_(animal_crossing),4,101,
+taphris,1,101,
+tank_the_dragon,4,101,
+tabezakari,1,101,
+swirls,0,101,
+suplex,0,101,
+stra_(icma),4,101,
+stirrups,0,101,
+star_sprite,5,101,
+splatoon_3,3,101,
+sock_in_mouth,0,101,
+snoopy,4,101,
+snackbunnii,1,101,
+slight_blush,0,101,
+skyeprower,1,101,
+shower_hose,0,101,
+shenki,1,101,"fardros,tomness"
+shemagh,0,101,keffiyeh
+sheathed_sword,0,101,
+shayla_the_pink_mouse,4,101,
+sepisnake,1,101,evilkitsune71290
+samara,4,101,
+saki_(tloz),4,101,"saki_(loz),saki_(zelda)"
+rose_(limebreaker),4,101,
+rein_(amaterasu1),4,101,
+rajang,5,101,
+pumpkin_patch,0,101,
+protecting,0,101,
+protagonist_(left_4_dead),4,101,
+posed,0,101,
+pokémon_panties,0,101,
+platform_spitroast,0,101,
+pink_pepper,3,101,pinkpepper
+pink_cloaca,0,101,
+pecas_(freckles),4,101,
+paws_around_penis,0,101,
+paras,5,101,
+pandottermon,1,101,
+open_toe_footwear,0,101,
+on_car,0,101,
+nyxapnea,1,101,
+noko_illust,1,101,
+ninoeros,1,101,bluebee
+nino_inukai,4,101,
+nastyspook,1,101,
+naomi_minette,4,101,
+nao_(artist),1,101,
+namoke,1,101,
+multiple_doms_one_sub,0,101,
+multicolored_outline,0,101,
+mudkipz9,3,101,
+motel,0,101,
+mlp-silver-quill,1,101,
+miles_(nanoff),4,101,
+michi_tsuki,4,101,
+metalling,1,101,
+metaljaw75,1,101,
+metagross,5,101,
+mestiso,3,101,
+masha,1,101,
+market_stall,0,101,
+markdeth,1,101,
+manahallowhound,1,101,
+lyn_nyl,1,101,
+lutra,5,101,old-world_river_otter
+lowkeydiag,1,101,
+lovely_pets,3,101,
+lost_andsafe,1,101,
+loopend,1,101,
+lokpik,1,101,
+locitony,1,101,
+linyxart,1,101,
+limp_tail,0,101,
+leyanor,1,101,
+laser_pointer,0,101,
+lactating_cum,0,101,
+kusanagikaworu,1,101,草薙芳
+klaus_(shakotanbunny),4,101,
+kissing_sound_effect,0,101,
+kero_(cardcaptor_sakura),4,101,
+kara_(trippledot),4,101,
+kadeki,1,101,
+josh_oliver,4,101,
+jimnsei_(character),4,101,
+jen_(jindragowolf),4,101,
+ixi_(neopets),5,101,
+intravenous,0,101,
+ingi_(character),4,101,
+ilustrets_spoks,1,101,
+houseplant,0,101,
+heartlessangel3d,1,101,
+head_torture,0,101,
+harbinger_the_outworld_devourer,4,101,"harbinger_the_outworld_destroyer,outworld_devourer"
+hand_on_horn,0,101,
+hand_on_glass,0,101,
+halapmir,1,101,
+hachimitsu,4,101,
+gefauz,1,101,
+gavalanche,1,101,
+galacticham,1,101,
+freelapse,1,101,
+flora_colossus,5,101,flora_colossi
+flapping_wings,0,101,
+fizzarolli_(helluva_boss),4,101,fizzarolli
+firepawdacat_(artist),1,101,
+felisrandomis,1,101,felisfortuitous
+fantastic_mr._fox,3,101,
+falcon_humanoid,5,101,
+fake_cow_horns,0,101,
+fake_advertisement,0,101,
+explorer,0,101,
+ed_(the_lion_king),4,101,
+dustedpollen,1,101,
+domestic,0,101,
+disturbed-mind,1,101,
+deretto,1,101,
+debidebi_debiru,4,101,devidevi_devil
+darksoul,1,101,
+dark_shirt,0,101,
+daniel_segja,4,101,
+danidrawsandstuff,1,101,
+cyanroll,1,101,
+cursed_clothing,0,101,
+crius,4,101,
+cowgirl_outfit,0,101,
+clay_calloway_(sing),4,101,
+chunknudies,1,101,
+chrissy_mccloud,4,101,
+chowder,4,101,
+choo-choo_(top_cat),4,101,
+chital,5,101,"axis_deer,cheetal"
+chili_dog,0,101,
+chickenass,1,101,
+chester_(bunnicula),4,101,
+chelsi,4,101,
+charlise_(animal_crossing),4,101,
+chabett,4,101,
+cerezo,1,101,
+censored_text,0,101,
+canopy_bed,0,101,
+caleb_magness,1,101,
+buried,0,101,
+blackburn538,1,101,
+berger_blanc_suisse,5,101,"berger_blanc,swiss_shepherd,white_swiss_shepherd"
+benji_(mainlion),4,101,
+bedfellows,3,101,
+ball_kiss,0,101,
+bakugatou,1,101,
+baiyushou,1,101,
+ashe_(starshippizza),4,101,
+arunira,4,101,
+artifact,0,101,
+anthro_dominating_anthro,0,101,
+anorexia,0,101,anorexic
+anaglyph,7,101,needs_3d_glasses
+ammit_(moon_knight),4,101,
+ambipom,5,101,
+amadose,1,101,
+amadeen,1,101,
+all_hail_king_julien,3,101,
+airu,1,101,volvo
+adma228,1,101,
+accidental_incest,0,101,
+69beas,1,101,
+zoma,4,100,
+zephyr_(tyunre),4,100,
+yellowluster,1,100,
+yellow_speedo,0,100,
+xiamtheferret,1,100,thewardenx3
+wolf_ears,0,100,
+wasp_(artist),1,100,
+walloruss,1,100,
+vogold,1,100,
+video_game_logo,0,100,
+urine_on_self,0,100,
+urine_on_back,0,100,
+tyrogue,5,100,
+tying,0,100,
+two_tone_boots,0,100,
+tsutami,4,100,
+trico_(species),5,100,
+tote_brando,4,100,
+tim_weeks,1,100,
+tiamat_(god),4,100,
+thecumrat,1,100,
+thagomizer,0,100,
+tentacles_around_arms,0,100,
+tenshoku_safari,3,100,
+tenerius,1,100,
+tail_dimple,0,100,
+syrth,4,100,
+stomach_torture,0,100,
+stardragon102,1,100,
+sousaku_san,1,100,
+smoking_gun,0,100,
+sleeves_past_wrists,0,100,
+setharu,1,100,
+saljidark,1,100,
+ruzeth,4,100,
+rusal32,1,100,
+rolling_pin,0,100,
+robyn_mcclaire,4,100,robyn_(ethersaga)
+rhinoking,1,100,
+red_merle,5,100,
+qr-code,1,100,
+purple_glow,0,100,
+puppy3d,1,100,
+puki,1,100,
+pride_color_hair,0,100,
+pride_color_bodypaint,0,100,
+police_brutality,0,100,
+polakuma,1,100,
+platform_missionary_position,0,100,
+plasmidhentai,1,100,
+pink_wool,0,100,
+pink_ball_gag,0,100,
+perry_the_platypus,4,100,"agent_p,perry_(phineas_and_ferb)"
+peridotkitty,1,100,
+percey,1,100,
+peggy_patterson,4,100,
+paralyzed,0,100,
+paolumu,5,100,
+ozzy_(weaver),4,100,
+ouroporos,1,100,urocos
+oriental_shorthair,5,100,oriental_cat
+ori-doggo,1,100,
+ony,4,100,
+nuwa_nightstone,4,100,
+nushi,5,100,
+nugget_(diadorin),4,100,
+nei_chi,1,100,ねいちー
+neceet,1,100,
+moonlight-kat,1,100,
+monotone_knot,0,100,
+mohinya,4,100,
+modem_(character),4,100,
+mingamia,1,100,ming3
+mercy_(suelix),4,100,
+meimei_kia,1,100,
+male_penetrating_taur,0,100,
+makinglemonade,1,100,makinglemonade_(artist)
+magmar,5,100,
+luryry,1,100,
+lucia_traveyne,4,100,
+leoponleopon,1,100,
+kumajjjj,1,100,
+komenuka_inaho,1,100,
+kicking_balls,0,100,
+johis,1,100,lhuin
+jimmyrumshot,1,100,
+jeep,3,100,
+in_locker,0,100,
+imminent_anal_penetration,0,100,
+hulooo,4,100,
+huge_diaper,0,100,
+holding_shirt,0,100,
+holding_polearm,0,100,
+holding_paintbrush,0,100,
+holding_burger,0,100,"holding_cheeseburger,holding_hamburger"
+hoihoi,1,100,
+hiding_face,0,100,
+hanging_by_arms,0,100,
+hands_on_ground,0,100,
+hand_puppet,0,100,
+haltie,1,100,
+gynecological_chair,0,100,
+group_picture,0,100,
+greycore,1,100,
+grade,0,100,
+glistening_face,0,100,
+gigantamax_charizard,5,100,"g-charizard,g-max_charizard,g_charizard,g_max_charizard,gmax_charizard"
+fried_chicken,0,100,
+freckles_on_chest,0,100,
+fluffqween,1,100,
+flower_panties,0,100,
+femtoampere_(character),4,100,
+fazbear_fanverse,3,100,
+fade_in,0,100,
+extreme_gear,0,100,
+evilfoxyfull,1,100,
+ethan_white,4,100,ethan_(ritts)
+eggshoppe,1,100,
+ebonytigress,1,100,
+earjob,0,100,
+dreamworks_smirk,0,100,dreamworks_face
+drakorax,4,100,
+draixen,4,100,
+doodlemouser,1,100,
+dogs_in_space,3,100,
+doduo,5,100,
+diru,1,100,dir
+diapersuit,0,100,
+diamond_(marking),0,100,"diamond-shaped_marking,diamond-shaped_markings,diamond_(markings),diamond_marking,diamond_markings,diamond_shaped_marking,diamond_shaped_markings,diamonds-shaped_marking,diamonds-shaped_markings,diamonds_(marking),diamonds_(markings),diamonds_marking,diamonds_markings,diamonds_shaped_marking,diamonds_shaped_markings"
+dfectivedvice,1,100,
+deeless,1,100,
+dawn_(jeremy_bernal),4,100,
+dahurgthedragon,1,100,
+cum_in_hands,0,100,holding_cum
+collaborative_gesture,0,100,
+colin_young,4,100,
+coffee_pot,0,100,
+cocaine-leopard,1,100,"cocaine-leopard_(artist),cocaine_leopard,cocaine_leopard_(artist),paradiso-leopard,paradiso-leopard_(artist),paradiso_leopard,paradiso_leopard_(artist),whispering-tiger,whispering-tiger_(artist),whispering_tiger,whispering_tiger_(artist)"
+coal,0,100,
+cheeky,0,100,
+chaotic,3,100,
+carnivore,0,100,
+caesarcub,1,100,
+byzil,4,100,
+broken_(artist),1,100,
+blissey,5,100,
+black_betty_(meme),3,100,
+bicolored_fur,0,100,
+beepunz,1,100,
+barontoko,1,100,
+ayvore,1,100,
+avinz,1,100,
+averi_(fiddleafox),4,100,
+ask_pun,3,100,
+artesjsc,1,100,
+argos90,1,100,
+andy_renard,4,100,
+an-m,1,100,
+alexandra_williams,4,100,
+aethrus,4,100,imaginarydragon
+adharc,4,100,
+90percentdenny,1,100,
+7fukuinu,1,100,
+1691_position,0,100,
+zica,1,99,
+yellow_tentacles,0,99,yellow_tentacle
+x-ray_vision,0,99,
+wu_sisters,4,99,
+woozle,5,99,
+wolf_nanaki,4,99,
+wolf's_rain_next_generation,3,99,
+wild_sheep,5,99,
+west_sea_gastrodon,5,99,"gastrodon_(west),gastrodon_(west_sea),gastrodon_west,gastrodon_west_sea,west_gastrodon"
+waffl3sk4t,1,99,
+voxell_voxell,1,99,
+vorelord,1,99,
+vibrators_on_nipples,0,99,
+vanja,1,99,
+twile,4,99,
+triple_d_(101_dalmatians),4,99,
+trevor_pride_(knotfunny),4,99,
+tragia,4,99,
+top_cat,4,99,
+tiquitoc,1,99,
+tipsy,0,99,
+time_card,0,99,
+tight_suit,0,99,
+tickling_belly,0,99,belly_tickling
+the_spiner,3,99,
+the13thblackcat,1,99,
+teal_sclera,0,99,
+tailshigh,1,99,
+swimwear_down,0,99,
+swift_(artist),1,99,"swift-nimblefoot,swift12,swiftnimblefoot"
+sweaty_abs,0,99,
+superspoe,1,99,
+submarine_sandwich,0,99,
+stretching_arms,0,99,
+strawberry_panties,0,99,
+stormgryphon,4,99,
+stinger_(anatomy),0,99,
+sky_background,0,99,
+side_braid,0,99,
+showing_penis,0,99,
+sho_shibamoto,1,99,sho
+shandrawaka,1,99,
+sexual_harassment,0,99,
+scocks4you,1,99,
+sailewder,1,99,
+saetia,1,99,
+rokie38,1,99,
+rogueliger,1,99,
+ricksteubens,1,99,
+ribera,1,99,
+rg02_(undertale),4,99,rg02
+relaxablefur,1,99,relaxable
+red_necklace,0,99,
+ratcandy,1,99,
+ratatula,1,99,
+rags,0,99,
+qwertyas1,1,99,
+polydactyly,0,99,
+playing_with_hair,0,99,
+pixelated_heart,0,99,
+pins,0,99,
+pink_gums,0,99,
+permavermin,1,99,
+penny_(inspector_gadget),4,99,
+pec_squish,0,99,
+patrick_(david_siegl),4,99,
+pandaman90,1,99,xiongshan
+outfit_change,0,99,
+ota3d,1,99,
+orange_toes,0,99,
+ophelia_(sssonic2),4,99,
+nyama,4,99,
+nsfwoaf,1,99,
+normal_rotom,5,99,"normal_form_rotom,normal_forme_rotom,original_form_rotom,original_forme_rotom,original_rotom,rotom_(normal),rotom_(normal_form),rotom_(normal_forme),rotom_(original),rotom_(original_form),rotom_(original_forme),rotom_(standard),rotom_(standard_form),rotom_(standard_forme),rotom_normal,rotom_normal_form,rotom_normal_forme,rotom_original,rotom_original_form,rotom_original_forme,rotom_standard,rotom_standard_form,rotom_standard_forme,standard_form_rotom,standard_forme_rotom,standard_rotom"
+nohtuy18,1,99,
+no_straight_roads,3,99,
+nisetanaka,1,99,
+natura,3,99,
+natsumewolf,1,99,
+natamaru_a,1,99,
+mystery,0,99,
+muscular_butt,0,99,
+multicolored_pussy,0,99,
+muffin_(themuffinly),4,99,
+monster_girl_gamu,3,99,
+money_in_underwear,0,99,
+miburi,1,99,m_(artist)
+mewtowo_(shadman),4,99,
+metrothefox,1,99,
+messy_tail,0,99,"disheveled_tail,frizzy_tail,unkempt_tail"
+merchant,0,99,
+memento~mori,1,99,
+matchaghost,1,99,
+marquis2007,1,99,
+major_friedkin,4,99,"drill_sergeant_(zootopia),major_friedkin_(zootopia)"
+magnifire,1,99,
+magneton,5,99,
+magic_trick,0,99,
+machino_henmaru,1,99,
+lucky_(animal_crossing),4,99,
+ltshiroi,1,99,
+litleo,5,99,
+lilly_(alpha_and_omega),4,99,
+levin_(levinluxio),4,99,
+level_up,0,99,
+leshana,4,99,
+kui-tan,5,99,
+kuehiko_roshihara,4,99,
+kryptchild,1,99,kryptchildart
+krowlfer,4,99,
+krimzen_redwing,1,99,
+krells,1,99,
+kiwi_(bird),5,99,"kiwi_(species),kiwi_bird"
+kieri_suizahn,4,99,
+katarina_du_couteau_(lol),4,99,"katarina_(lol),katarina_du_couteau"
+kamaitachi,5,99,
+juniper_(freckles),4,99,
+jad'thor,4,99,
+jack_(zoophobia),4,99,jack_wells
+ippan_josei,4,99,civilian_(mha)
+implied_scat,0,99,
+igglybuff,5,99,
+icterid,5,99,
+ichi_inukai,4,99,
+huska,4,99,
+human_skin,0,99,
+huffpup,1,99,
+hotoshuken,1,99,
+hitsuzi_taro11,1,99,hitsojitaro
+hibarikatsuru,1,99,
+hazing,0,99,
+haymaker,1,99,
+hale.,1,99,h-e-l-y
+guzreuef,1,99,
+greenteaneko,1,99,
+green_thigh_highs,0,99,
+green_bow,0,99,
+gombay,1,99,
+glyphs,0,99,
+glowing_tentacles,0,99,
+glock,3,99,
+genus,3,99,
+gandergeist,1,99,
+furry_(artist),1,99,
+fuckit,1,99,
+frowntown,1,99,
+forced_vaginal,0,99,
+football_jersey,0,99,
+floating_limbs,0,99,
+fleshlight_gag,0,99,
+felix_(striped_sins),4,99,
+fawster_(slendid),4,99,
+fatigue,4,99,
+exlic,1,99,
+eurasian_otter,5,99,
+ero_lolita,0,99,
+engineskye,1,99,
+eddie_(evane),4,99,
+ed_(scratch21),4,99,
+dreaj1,3,99,
+drakuun,3,99,
+dozer_(braford),4,99,
+divinemello,1,99,
+disembodied_leg,0,99,
+dirtyduckart,1,99,
+dany-j,1,99,
+cucarachaaa,1,99,
+cracking_knuckles,0,99,
+coffee_maker,0,99,
+claymore,0,99,
+cladz,1,99,
+cinderfrost,3,99,
+chthon,5,99,
+christmas_bauble,0,99,
+chopsticks_in_hair,0,99,
+celtic,0,99,
+cassidy_(alec8ter),4,99,
+caring,0,99,
+candy_cane_dildo,0,99,
+candelabra,0,99,
+butt-berry,1,99,
+bramble_(hitsunekun),4,99,
+bow_legwear,0,99,
+bottle_in_ass,0,99,
+book_stack,0,99,
+blood_in_ass,0,99,
+blondefoxy,1,99,
+blinky_bill_(series),3,99,
+biped_to_quadruped,0,99,
+binary_code,0,99,
+betilla,4,99,
+beowulf1117,1,99,
+bear_trap,0,99,
+bartucthebloody,1,99,
+bananastheleech,1,99,
+ausp-ice,1,99,frygia
+arms_behind,0,99,
+argodaemon,1,99,
+arfventurer,1,99,
+aogoushitsu,1,99,
+ann_gora,4,99,
+animated_heart,0,99,
+andelai,1,99,zbysio12
+airiniblock,1,99,
+aevoa,4,99,
+acrylic_painting_(artwork),7,99,"acrylic,acrylic_painting"
+a-,1,99,cat3
+zorondo_ron,4,98,
+zeezee_murdock,4,98,
+zaush_(zaush),4,98,
+yellow_pikmin,5,98,
+yellow_chest,0,98,
+wood_furniture,0,98,
+wight-troox,1,98,
+visible_nipples,0,98,
+vanadis,1,98,
+valerie,4,98,
+udder_nursing,0,98,
+trapinch,5,98,
+tracy_siren,4,98,
+tina_lynx,4,98,
+tiffy_cheesecake,4,98,
+thong_leotard,0,98,
+therapy,0,98,
+the_mystic_golden_flame,3,98,
+the1king,1,98,
+text_tattoo,0,98,
+taighet_28,1,98,
+stylized_eyes,0,98,
+striped_shoulders,0,98,
+starstrikex,1,98,
+sprout,1,98,
+spotted_back,0,98,
+spirits,0,98,
+sparks_the_raichu,4,98,
+space_marine,0,98,
+space_helmet,0,98,
+spaal,1,98,
+soraslipheed,1,98,
+smurf,5,98,
+simple-phobiaxd,1,98,
+sideless_clothing,0,98,
+side_reclining,0,98,
+showgirl,0,98,
+shinragod,1,98,ninjachipp
+shedding,0,98,
+shampoo_challenge,3,98,
+screamqueen1991,1,98,
+sarah_fairhart,4,98,
+saewin,4,98,
+rufia,1,98,
+ruffu,1,98,
+rhyhorn,5,98,
+reverse_blowjob,0,98,
+remoraid,5,98,
+reliusmax,1,98,
+ranma_1/2,3,98,
+raised_hoodie,0,98,hoodie_raised
+quake,3,98,
+pouch_purse,0,98,
+popwitter_ox,1,98,
+pitch-black-crow,1,98,
+pink_membrane,0,98,
+pink_briefs,0,98,
+phanpy,5,98,
+penis_on_ground,0,98,
+paintheart,4,98,
+oxygen_tank,0,98,
+oviraptorid,5,98,"oviraptoridae,oviraptoridaen"
+open_nipple_bra,0,98,
+numbered_sequence,0,98,
+nozukznsfw,1,98,
+nonine,4,98,
+nolycs,1,98,chicasonic
+netherdrake,5,98,netherwing
+neitsuke,1,98,
+nefer,4,98,
+nataliya_(petruz),4,98,
+nakedsav,1,98,savoon
+myri_(fvt),4,98,
+mute_swan,5,98,
+misterhinotori,1,98,
+mismatched_threading,0,98,
+miley_mouse,4,98,
+mexican_flag,0,98,
+melzi,1,98,
+mellonbun,1,98,
+mei5683,1,98,
+meatball,0,98,meatballs
+max_(maxdamage_rulz),4,98,
+manager_(gym_pals),4,98,
+majisuta,1,98,
+lucina,4,98,
+lover_(coldfrontvelvet),4,98,
+lonewolf,1,98,
+lewdchuu_(artist),1,98,
+legume,0,98,
+lddraws,1,98,
+korean_clothing,0,98,"korea_clothes,korea_clothing,korean_clothes"
+knownvortex,1,98,
+knipp_(knipp),4,98,
+kiddy_(todeskiddy),4,98,
+kenta_yamashita,4,98,
+ken_(garouzuki),4,98,
+kassillea,1,98,
+karmakat,4,98,
+kam,1,98,
+kagome_higurashi,4,98,higurashi_kagome
+jyoka,1,98,叙火
+jonsthaman,1,98,
+james_(sayuncle),4,98,
+jack_daniel's,3,98,jack_daniels
+itswolven,1,98,
+itsdante,1,98,
+iris_(pokemon),4,98,iris_(pokémon)
+inget,1,98,
+implied_snuff,0,98,
+ignitus,4,98,
+horned_tailclops,5,98,
+holding_reins,0,98,
+hidoritoyama,1,98,
+hexado,1,98,
+hedgehoglove,1,98,
+granbull,5,98,
+ginger_(iginger),4,98,
+gigantamax_cinderace,5,98,"g-cinderace,g-max_cinderace,g_cinderace,g_max_cinderace,gmax_cinderace"
+german_flag,0,98,
+gallows,0,98,
+fully_impaled,0,98,
+fuchsia_(animal_crossing),4,98,
+freakster,1,98,
+frag_(furfragged),4,98,
+foot_expansion,0,98,
+flookz,1,98,"harrison_bright,merelyafluke"
+flip_(flipyart),4,98,
+fleetwoodbrak,1,98,
+firetails,1,98,
+feathers_(artist),1,98,
+fauxhawk,0,98,"faux_hawk,fauxhawks"
+exeter,4,98,
+ethan_bedlam,4,98,
+epic7,3,98,
+eden_fries,1,98,
+echoseed,1,98,echoseed_(artist)
+dumbo_(movie),3,98,
+ducktits,1,98,
+drokmars,1,98,
+drgnalexia,1,98,
+dragonnetstorm,1,98,
+dr._hutchison,4,98,"doctor_paula_hutchison,doctor_paula_hutchison-shellbach,doctor_paula_hutchison_shellbach,dr._paula_hutchison,dr._paula_hutchison-shellbach,dr._paula_hutchison_shellbach,dr_hutchison,dr_paula_hutchison,dr_paula_hutchison-shellbach,dr_paula_hutchison_shellbach,paula_hutchison,paula_hutchison-shellbach,paula_hutchison_shellbach"
+doomghost,1,98,
+donut_joe_(mlp),4,98,"donut_joe,doughnut_joe,doughnut_joe_(mlp),pony_joe,pony_joe_(mlp)"
+dog_ears,0,98,
+dodrio,5,98,
+disiwjd,1,98,
+diego_(ice_age),4,98,
+devoid-kiss,1,98,
+daxratchet,1,98,"dirtyratchet,maddogfan,oodi_(artist)"
+darth_vader,4,98,
+dard,4,98,
+dal_(dal_your_pal),4,98,
+cyandrive98,1,98,
+cuteancuddly,1,98,
+crotch_head,0,98,
+crocodilian_humanoid,5,98,
+clifford_(red_dog),4,98,"clifford_(bridwell),clifford_(ctbrd)"
+chunkerbuns,1,98,
+chek,1,98,
+captain_otter,1,98,
+calpain,4,98,
+butch_(cursedmarked),4,98,
+brown_armwear,0,98,
+bow_tie_only,0,98,
+bonsai,0,98,"bonsai_tree,bonsai_trees,bonsaitree,bonsaitrees,bonzai,bonzai_tree,bonzai_trees,bonzaitree,bonzaitrees"
+bluepanda115,1,98,
+blue_merle,5,98,
+blair_(soul_eater),4,98,
+blackchaos666,1,98,
+black_crop_top,0,98,
+beatriz_overseer,3,98,
+bd_collie,1,98,
+baroque_(artist),1,98,
+bailey_(os),4,98,
+azul_draconis,4,98,
+azserfy,1,98,
+avaliy_conely,1,98,
+autograph,0,98,
+auguscus_acilcolus,4,98,
+athletic_human,0,98,
+aronhilistix,1,98,
+anna_(ayaka),4,98,
+animal_arms,0,98,
+andro_juniarto,1,98,
+amaranth,4,98,
+amara_lemur,1,98,amara_lemur_(artist)
+altavy_(altavy),4,98,
+aiden_harris,4,98,
+agro_antirrhopus_(character),4,98,
+after_penetration,0,98,
+9tales_comic,3,98,
+zuma_(paw_patrol),4,97,
+zagura,1,97,
+wrinkled_penis,0,97,
+wooy,1,97,
+weretiger,5,97,
+water_cooler,0,97,watercooler
+vulgarstarling,1,97,
+vshojo,3,97,
+v-shaped_eyebrows,0,97,
+tripod,0,97,
+thylacoleo,5,97,"marsupial_lion,thylacoleonid,thylacoleonidae"
+tasque,5,97,
+syringa,1,97,
+swedish_text,7,97,
+strikersa,1,97,
+stick_in_mouth,0,97,
+stemingbunbun,1,97,
+star_fox_adventures,3,97,
+spray,0,97,
+sophring_hao,4,97,
+sonichu_(species),5,97,
+slouching,0,97,
+size_chart,0,97,
+sil_blackmon,4,97,
+signed,0,97,
+shorts_aside,0,97,
+shibaemonxsk,1,97,
+sheath_through_fly,0,97,
+sgsix,1,97,
+second_city_saint,1,97,
+sarek_aran_desian_(character),4,97,
+safurantora,1,97,
+ryuusei_(mark_ii),1,97,
+rounded_star_polygon,0,97,
+roina,1,97,
+robe_lift,0,97,
+riley_(scratch21),4,97,
+ride_sneasler_(pokémon_legends:_arceus),4,97,
+rela,4,97,
+raypeople_(rayman),5,97,"limbless_(rayman),ray_people,ray_people_(rayman),rayman's_species,rayman_(species),rayman_species,raymans_species,raypeople,thingamajig_(rayman)"
+quintonquill,1,97,
+queen_(deltarune),4,97,q5u4ex7yy2e9n
+purple_thong,0,97,
+purevil,1,97,
+pull,0,97,
+possumgod,1,97,
+ponykillerx,1,97,
+pole_masturbation,0,97,
+pokemon_domination,0,97,
+plive,1,97,
+pinumontbalou,1,97,
+pier_(felino),4,97,felishark
+penises_touching,0,97,
+pellet,0,97,
+pedobear,4,97,
+peachpunch11,1,97,
+pajama_pants,0,97,
+oviraptor,5,97,
+oracle_of_ages,3,97,
+onda_seki,1,97,"ondaseki,pomodori,御多=席"
+ollie_canal,1,97,
+okami_wolf,4,97,
+nudog,1,97,
+nubbed_dildo,0,97,
+nova_(disambiguation),0,97,nova
+nirimer,4,97,
+nicopossum,1,97,
+neshi,1,97,
+nellko,4,97,
+nekoart,1,97,sarta_art
+nebaglubina,1,97,
+mucknagabe,1,97,
+mr._resetti,4,97,
+moroq,1,97,
+mizuiro_megane,1,97,
+merlinmakes,1,97,"evil_merlin42,merlinmakessmut"
+megan_ziegler,4,97,
+mcnubbies,1,97,
+mature_(disambiguation),6,97,mature
+mae_(paige),4,97,
+madmaz,1,97,"rosalieferret,theblackdeer"
+lunastra,5,97,
+loveseat,0,97,love_seat
+looking_up_at_another,0,97,
+looking_at_relative,0,97,
+lime09,1,97,
+liloli_(artist),1,97,
+lettuce_(latexia),4,97,
+leg_spots,0,97,
+lefantis,1,97,
+leaf_print,0,97,
+lamborghini,3,97,
+knees_out_of_water,0,97,
+klotzzilla,1,97,
+kittenkeiko,4,97,keiko
+kiri_(sub-res),4,97,
+khezu,5,97,
+ketsuneko,1,97,"wabisuke,わび助"
+kermo_(kamui_shirow),4,97,
+kaylin,4,97,
+katlin_perkins,4,97,
+kake0078,1,97,
+kage6415,4,97,
+inked,0,97,
+inflatable_gag,0,97,
+hyaenid_penis,0,97,hyena_penis
+huge_calves,0,97,
+holding_viewer,0,97,
+hmage,1,97,
+himbo_hooters,3,97,
+high_school,0,97,
+hexdisciple,1,97,
+hat_bow,0,97,
+harigane_shinshi,1,97,
+hand_behind_neck,0,97,
+gtskunkrat,1,97,
+gorget,0,97,
+galarian_linoone,5,97,"galar_linoone,linoone_(galar_form),linoone_(galarian_form)"
+futonmania,1,97,
+futaku,1,97,
+furreon,1,97,
+frostyribbons,1,97,
+front-tie_top,0,97,
+food_on_breasts,0,97,
+flannery_(pokemon),4,97,flannery_(pokémon)
+fish_meat,0,97,"edible_fish,fish_(food)"
+epicwang,1,97,
+eosphorite,1,97,
+egocider,1,97,
+ebon_lupus,1,97,ebonlupus
+earth_wyrm,5,97,
+dwn000,1,97,
+drool_on_face,0,97,
+dreamsicle_swirl,4,97,
+dragon_dildo,0,97,
+downward_dog,0,97,
+dickbutt,4,97,
+damian_(zoophobia),4,97,damian_beelzly
+curtsey,0,97,curtsy
+cuoqet,1,97,
+cum_in_balls,0,97,
+cuddles_(character),4,97,
+countersfm,1,97,
+coppertone_(sunscreen),3,97,"copper_tone,copper_tone_(sun_screen),copper_tone_(sunscreen),copper_tone_sun_screen,copper_tone_sunscreen,coppertone,coppertone_(company),coppertone_(sun_screen),coppertone_company,coppertone_sun_screen,coppertone_sunscreen"
+colossalstars,1,97,jamesry36115232
+cinnamon_(cinnamoroll),4,97,cinnamoroll_(character)
+cindy_(cindyquilava),4,97,
+chrono_trigger,3,97,
+chimecho,5,97,
+chilly_pepper,4,97,
+charlottechambers,1,97,
+ceylon,4,97,runa216
+cavitees,1,97,
+catnip,0,97,"cat-nip,cat_nip"
+casual_cocksleeve,0,97,
+cameo,0,97,
+brown_loincloth,0,97,
+blorb,0,97,
+blood_on_knife,0,97,bloody_knife
+blake_rothenberg,4,97,
+birddi,4,97,
+beluinus,4,97,
+bastroceive,1,97,
+baikobits,1,97,cskairi
+awful_lad,1,97,
+attea,4,97,
+arvion,5,97,
+ark_(shade),4,97,
+applepup,1,97,
+annabelle_cow,4,97,
+amogus,0,97,
+alphadesu,1,97,
+alarm,0,97,
+ailin,4,97,
+adjot,1,97,
+aaron_(falcon_mccooper),4,97,
+4_heads,0,97,"4_head,4_headed,four_head,four_headed,four_heads"
+zavok,4,96,
+yu_narukami,4,96,
+yamato_(one_piece),4,96,
+white_bandanna,0,96,
+voltron_legendary_defender,3,96,
+vivigator,1,96,drgons
+vicky_wyman,1,96,
+va_art,1,96,
+unifawn,1,96,
+unico_(series),3,96,
+troodontid,5,96,
+tragicfame,1,96,
+tozamtr,1,96,
+tortavi,5,96,
+tony_(tonytoran),4,96,
+tocatao,1,96,
+timid,0,96,
+tiggon_the_great,1,96,
+threaded_by_body,0,96,
+thegentlebro,1,96,
+the_mysteries_of_alfred_hedgehog,3,96,
+the_flintstones,3,96,
+teaser,0,96,
+tak,4,96,
+susie_(kirby),4,96,
+sureibu,4,96,
+sunny_way_(character),4,96,
+strutting,0,96,
+spotted_balls,0,96,
+spank_(sound_effect),0,96,
+sodacaps,1,96,
+smush-sin,1,96,
+skintight_suit,0,96,
+sidgi,1,96,
+shoebill_humanoid,5,96,
+shocking_(artist),1,96,
+shaking_head,0,96,
+shadoweyenoom,1,96,
+selix,4,96,
+scombrid,5,96,
+samurai_jack_(character),4,96,
+samantha-dragon,1,96,
+robocop_(franchise),3,96,
+road_runner_(looney_tunes),4,96,"beep_beep_road_runner,beep_beep_roadrunner,road_runner_(lt),roadrunner_(looney_tunes),roadrunner_(lt)"
+rey_(satsukii),4,96,
+ren_höek,4,96,"marland_ren_t._hoek,marland_ren_t._hoëk,marland_ren_t_hoek,marland_ren_t_hoëk,marland_t._hoek,marland_t._hoëk,marland_t_hoek,marland_t_hoëk,ren_(r&s),ren_(ren_&_stimpy),ren_(ren_and_stimpy),ren_hoek,ren_t._hoek,ren_t._hoëk,ren_t_hoek,ren_t_hoëk"
+redesign,0,96,
+raven_inkwell_(mlp),4,96,
+raspberry,0,96,raspberries
+raptorkou,1,96,kai-ten
+rainbow_six,3,96,
+rabbitdx26,1,96,"kanisorn,kanisorn1425"
+ra4s,1,96,
+quirky-middle-child,1,96,
+quilladin,5,96,
+purple_fingers,0,96,
+pseudo_scarf,0,96,
+print_tank_top,0,96,
+pride_color_text,0,96,
+ponylicking,1,96,
+pink_pubes,0,96,
+pin_accessory,0,96,
+phrostbite,1,96,
+pesimist,1,96,
+pb-art,1,96,
+paul_(zourik),4,96,
+over_dildo,0,96,
+omochi_kuitai,1,96,
+oikawa_shizuku,4,96,
+odu,1,96,
+odie_the_dog,4,96,odie
+number_on_body,0,96,
+nivek15,1,96,
+nilla,4,96,
+nicoya,4,96,
+nicholas_c._corbin,4,96,
+nemi,4,96,
+nelson88,1,96,
+negativefox,1,96,
+naika,1,96,
+muriat,4,96,
+mouth_pussy,0,96,
+mlock,1,96,
+misakatsuneko,1,96,
+metonka,1,96,
+metal_tail,0,96,
+mesh_shirt,0,96,
+meowscles_(shadow),4,96,shadow_meowscles_(fortnite)
+mamizou_futatsuiwa,4,96,futatsuiwa_mamizou
+male_to_female,0,96,
+luna_moth,5,96,
+loon,5,96,
+looking_at_cellphone,0,96,
+lokkun,4,96,
+loganhen,4,96,
+lobo_(lobokosmico),4,96,
+living_vegetable,5,96,vegetable_creature
+liquid_inflation,0,96,
+lip_expansion,0,96,lips_expansion
+leipori,5,96,
+kroxigor,5,96,
+kouryuu,4,96,
+komissar_bav,1,96,
+knullox,1,96,larrybay9
+knotted_glory_hole,0,96,
+kiro_(tits),4,96,
+kirlanlion,1,96,
+kippy_the_sharkip,4,96,
+kigtoons,1,96,
+katabreak,1,96,
+karaoke,0,96,
+kali_(kilinah),4,96,
+kaitofletcher,1,96,"crimsoneclipse,demyxia"
+judyhopps44,1,96,
+jack_darby,4,96,
+itchyears,1,96,
+ishimaurell,1,96,lemas
+igraine,4,96,
+hyperflannel,1,96,
+hyper_prolapse,0,96,extreme_prolapse
+hyper_biceps,0,96,
+hvost,1,96,
+hooked_beak,0,96,
+hooded_jacket,0,96,
+holding_rope,0,96,
+hizake,1,96,
+hind_toe,0,96,
+hind_hoofjob,0,96,
+hikuchi,1,96,cerb0980
+high_socks,0,96,
+heart_pubes,0,96,"<3-shaped_pubes,<3-shaped_pubic_hair,<3-shaped_pubic_hairs,<3_pubes,<3_pubic_hair,<3_pubic_hairs,<3_shaped_pubes,<3_shaped_pubic_hair,<3_shaped_pubic_hairs,heart-shaped_pubes,heart-shaped_pubic_hair,heart-shaped_pubic_hairs,heart_pubic_hair,heart_pubic_hairs,heart_shaped_pubes,heart_shaped_pubic_hair,heart_shaped_pubic_hairs,hearts-shaped_pubes,hearts-shaped_pubic_hair,hearts-shaped_pubic_hairs,hearts_pubes,hearts_pubic_hair,hearts_pubis_hairs,hearts_shaped_pubes,hearts_shaped_pubic_hair,hearts_shaped_pubic_hairs"
+headband_only,0,96,
+hauntzor,1,96,
+happysheppy,4,96,
+hanging_sign,0,96,
+guwu,1,96,
+gummy_bear_(food),0,96,"gummi_bear_(candy),gummi_bear_(food),gummi_bears_(candy),gummi_bears_(food),gummy_bear,gummy_bear_(candy),gummy_bears,gummy_bears_(candy),gummy_bears_(food),gummybear,gummybears"
+gryph000,1,96,blajn
+goyemon_k,1,96,
+goggles_around_neck,0,96,
+glowing_mushroom,0,96,"bioluminescent_mushroom,bioluminescent_mushrooms,glowing_mushrooms"
+glowing_hands,0,96,
+glass_furniture,0,96,
+giant_sperm,0,96,"hyper_sperm,oversized_sperm"
+gaze,0,96,
+game_boy_color_console,0,96,
+gail,4,96,
+gabby_(kadath),4,96,
+frmcast351,1,96,
+foxx,1,96,
+flaming_eyes,0,96,
+financial_domination,0,96,findom
+fempyro,4,96,
+eyes_close-up,0,96,
+eredar,5,96,
+enema_bag,0,96,
+eerie_(telemonster),4,96,
+ecchipandaa,1,96,h-panda
+dumderg's_signature_cutie,4,96,
+duckface_fellatio,0,96,
+dsub9,1,96,
+dragonfoxgirl,1,96,
+dr.whiger,1,96,
+dg254,1,96,
+damaged_building,0,96,
+daich,1,96,
+daggett_beaver,4,96,
+cupid's_arrow,0,96,
+cunnilingus_pov,0,96,
+creature_print,0,96,
+crap-man,1,96,
+countershade_wings,0,96,
+consensual_cuckold,0,96,
+confusedraven,1,96,
+cholericat,1,96,
+china,0,96,
+cassie_cooper,4,96,
+caramel_(cherrikissu),4,96,
+caninius_dog,4,96,"caninius_canine_dog,dog_(catdog)"
+calico_cat_humanoid,5,96,
+butterfly_humanoid,5,96,
+buster_baxter,4,96,
+buffurun,1,96,
+brown_eyeshadow,0,96,
+breeder_(species),5,96,
+bonfire_(buttocher),4,96,
+blue_tattoo,0,96,blue_tattoos
+blort,0,96,
+blackboltlonewolf,1,96,
+black-rose-exterio,3,96,
+beheeyem,5,96,
+bee_(minecraft),5,96,
+bayeuxman,1,96,
+bayachao,1,96,"bayachao_(pixiv),kemobayashi"
+ball_stretching,0,96,
+baconking,1,96,bkbrianart
+ayato,1,96,
+ass_ripped,0,96,
+ashendawger,1,96,
+ash_cinder,4,96,
+arianna_altomare,4,96,
+aquei_(fvt),4,96,
+apple-faced,1,96,
+alex_(happytimes),4,96,
+:t,0,96,
+7th_heaven_(artist),1,96,
+zorgoia,5,95,
+zeha,4,95,
+zantanerz_(artist),1,95,
+zack_fox,4,95,zack-fox
+xizzdot,1,95,
+xianos,4,95,
+xi_yue,4,95,
+wooden_sword,0,95,
+wolfyhero,4,95,
+wolfalaska,1,95,
+wererat,5,95,
+werelagomorph,5,95,
+vyprae,1,95,
+vizlet,4,95,
+vertical_ellipsis,0,95,
+venonat,5,95,
+valtik,1,95,
+urine_on_tail,0,95,
+twymouse,1,95,
+twerkey,4,95,
+tsudanym,1,95,
+trunk_sex,0,95,
+triangle_(shape),0,95,
+touching_noses,0,95,
+torso,0,95,
+thwomp,5,95,
+thrall_(warcraft),4,95,
+the_woody_woodpecker_show,3,95,"the_new_woody_woodpecker_show,woody_the_woodpecker_(series)"
+the_sword_in_the_stone,3,95,
+tasha_lisets,4,95,
+tapering_tentacles,0,95,
+tail_wrapping,0,95,
+sweaty_back,0,95,
+swablu,5,95,
+superstar_saga,3,95,
+sun_rays,0,95,
+stranger_(mamoru-kun),4,95,
+star_on_body,0,95,
+spidr,5,95,
+spacecadet,1,95,dingobones
+sona_(noxiis),4,95,
+snofu_(character),4,95,
+snekkobean,1,95,
+smoxul,1,95,smo-ke
+slugma,5,95,
+slicked_back_hair,0,95,
+simmsyboy,1,95,
+shiori_(kurus),4,95,shiori_(kurus37)
+shibacream,1,95,cemagcre
+shephard,4,95,
+sheared,0,95,
+sfh,1,95,
+sekhmet,4,95,
+sean-zee_petit,4,95,
+scottderg,1,95,"scott_fraser,scottfraser,starwarriors_(artist)"
+school_bus,0,95,
+sanlich,4,95,
+salanchu,1,95,
+safety_vest,0,95,
+sabitare,1,95,
+saber_(firestorm3),4,95,
+rui_(sugaru),4,95,
+round_shield,0,95,
+robot_joints,0,95,
+riskitforthebiscuit,1,95,
+ripping_sound_effect,0,95,
+rhinoceros_beetle,5,95,"dynastid_beetle,dynastinae,horn_beetle,horned_beetle,rhino_beetle"
+rektum,1,95,rek
+regolithart,1,95,cartoonhorseporn
+red_panda_mirr,1,95,
+rapscallion,1,95,
+ranger,0,95,
+rake,0,95,
+puffy_hair,0,95,
+psychpsyo,1,95,psychpsy
+potty_training,0,95,
+playful_corp.,3,95,
+pixiv_fantasia,3,95,
+pirate_outfit,0,95,
+piemations,1,95,
+phobe_(lfswail),4,95,
+penis_in_slit,0,95,
+peachmayflower,1,95,
+patrol_03,3,95,"patrouille_03,patrulla_03"
+overweight_herm,0,95,
+over_sex_toy,0,95,
+orange_collar,0,95,
+oiled_body,0,95,
+occult,0,95,
+nyx_(warframe),4,95,
+nyx_(mlp),4,95,
+nyawe,1,95,ichiigoneko
+nimbus_(world_flipper),4,95,shiro_(world_flipper)
+nekouri,1,95,
+neck_muscles,0,95,
+muntjac,5,95,"barking_deer,mastreani_deer"
+multicolored_balls,0,95,
+multi_head_fellatio,0,95,
+mud_covered,0,95,covered_in_mud
+monodramon,5,95,
+momobeda,1,95,
+missing_limbs,0,95,
+mervas,0,95,
+masturbation_in_stomach,0,95,
+lyx_(lynxer),4,95,
+lucky's_tale_(series),3,95,
+livingroom,0,95,
+light_neck,0,95,
+lift_job,0,95,
+life_jacket,0,95,life_vest
+leaking_urine,0,95,
+large_pecs,0,95,
+large_male,0,95,
+lamb_(feretta),4,95,
+lahla_(mario),4,95,
+kuroblood,1,95,
+kordi,4,95,
+koopa_paratroopa,5,95,"parakoopa,paratroopa"
+komodo89,1,95,
+ko-fi_logo,0,95,
+kim_possible,3,95,
+kiguri,1,95,
+kerrydark,1,95,"kerry_(artist),kerryurei"
+kenzie,4,95,
+kazzyboii,1,95,
+k_busho,1,95,
+justagoodboy,1,95,
+julia_(vestina),4,95,
+judy_(animal_crossing),4,95,
+jubb,1,95,
+jludragoon,1,95,
+jaw_spikes,0,95,
+itsspoopsb,1,95,
+inktiger,1,95,tygurstar
+ilikepandaren,1,95,
+huynhduyad14,1,95,
+hth_studios,3,95,"high_tail_hall,hth,new_cyana_(game)"
+housewife,0,95,
+hollow_eyes,0,95,
+holding_tongue,0,95,
+holding_bucket,0,95,holding_buckets
+hitchhiking,0,95,"hitch_hike,hitch_hiker,hitch_hiking,hitchhike,hitchhiker,hitching,thumbing"
+hippocampus,5,95,hippocamp
+hewge,1,95,
+harmonydescent,1,95,
+hare_(monster_rancher),5,95,
+haan_(character),4,95,
+gyro-furry,1,95,
+grey_t-shirt,0,95,
+grey_armor,0,95,gray_armor
+glistening_armwear,0,95,"glistening_arm_wear,shiny_arm_wear,shiny_armwear"
+giovanni_da_milano,4,95,
+geir,1,95,
+gavin_(tokifuji),4,95,
+gabriel_serealia,4,95,
+funnybox,1,95,
+fundoshi_only,0,95,
+fersir,1,95,
+fatima,4,95,
+extraterrestrial,5,95,
+exeggutor,5,95,
+eva_grimheart,4,95,
+equustra_(ecmajor),4,95,
+emphatic_heart,0,95,
+eliot_(heroic_ones),4,95,
+elfantastico,1,95,
+edogast,1,95,
+ear_threading,0,95,
+duo_transformation,0,95,
+drizziedoodles,1,95,big-mac-115
+dregna,1,95,
+dreamertooth,1,95,dreamertooth_(artist)
+draconer,3,95,
+dorosheva-e,1,95,
+doctor_lollipop,3,95,
+dingding_(artist),1,95,
+diamonsion,1,95,
+diamond_(disambiguation),6,95,"diamond,diamonds"
+devergilia,1,95,
+deadbeat,4,95,
+dartrix,5,95,
+darth_saburou,1,95,
+dark_straw,4,95,
+dalehan,1,95,
+dactyloid,5,95,"anole,anole_(lizard),anole_lizard,dactyloidae"
+cyberdemon,5,95,
+cum_on_object,0,95,
+cum_in_sheath,0,95,
+crew_(anti_dev),4,95,
+covered_pussy,0,95,
+con5710,1,95,
+complaining,0,95,
+colt3n,1,95,
+cinnamon_bun,0,95,"cinnamon_bun_(food),cinnamon_buns,cinnamon_roll,cinnamon_roll_(food),cinnamon_rolls"
+cheshire_cat,4,95,
+character_collage,0,95,
+celtic_mythology,3,95,
+cayenne_(kasdaq),4,95,
+catherine_applebottom,4,95,
+cassette_player,0,95,
+car_seat,0,95,
+calm_(artist),1,95,"calmdraws,calmdraws_(artist)"
+bogexboog,1,95,布哥-boog
+bobo_(gamba_no_bouken),4,95,
+bleachers,0,95,
+bill_(skybluefox),4,95,bill_mathias
+big_sword,0,95,
+big-e6,1,95,biggysix
+beverly_(athiesh),4,95,
+begging_to_stop,0,95,
+beehive,0,95,
+bazelgeuse,5,95,
+bangs_(character),4,95,
+bandit_(disambiguation),6,95,bandit
+aviarian_wolf,5,95,
+astrograph,1,95,
+artply,1,95,
+applejack_(eg),4,95,
+aoinu,1,95,aoinu607
+antennae_growth,0,95,
+android_18,4,95,
+alleyballey,1,95,
+agatha_vulpes,4,95,
+accipiter,5,95,
+40hara,1,95,
+2_claws,0,95,two_claws
+zowato,1,94,
+zilx_(bugmag),4,94,
+zane_darkpaw,4,94,
+wurmple,5,94,
+world,0,94,
+wookiee,5,94,wookie
+wolfgang_(slickerwolf),4,94,
+weed_(ginga),4,94,
+wasileus,1,94,
+wallyroo,1,94,
+vhs_filter,0,94,
+valentino_(hazbin_hotel),4,94,valentino_(vivzmind)
+tucked_leg,0,94,
+tsume_zyzco,4,94,
+translucent_latex,0,94,
+togedemaru,5,94,
+toeless_boots,0,94,
+tied_to_chair,0,94,
+thehyenassbe,1,94,
+thebrokencog,1,94,cogbrony
+the_sprawl,3,94,
+the_end_(minecraft),0,94,
+test_subject,0,94,
+tentacle_in_urethra,0,94,
+tenecayr_(artist),1,94,
+tanu-tan,1,94,"tanootan,たぬたん"
+tail_sway,0,94,
+swirlix,5,94,
+sunny_flowers,4,94,
+submerged_leg,0,94,
+stiches,0,94,
+splashbrush,1,94,
+speechless,0,94,
+southern,0,94,
+sonny_boop,4,94,
+somevelvetmorning,1,94,
+soiled,0,94,
+sock_fetish,0,94,
+snagglepuss,4,94,
+sketchy_skylar_(character),4,94,
+shou_(securipun),4,94,
+shinki_k,1,94,
+shaya_(dalwart),4,94,
+shani_(zummeng),4,94,
+shallow_water,0,94,
+shadoca,1,94,
+sesame,1,94,
+semura_(character),4,94,
+seamless_loop,0,94,
+scrappyvamp,1,94,
+scopedout,1,94,
+scaramouche_rotbelly,4,94,
+scaleddelta,1,94,
+sasizume,1,94,okatimati
+sarovak,1,94,oosarovakoo
+saint_position,0,94,
+round_eyes,0,94,
+rivvoncat,1,94,
+rhoda_(the_dogsmith),4,94,
+retro_parasite,1,94,spikeshi
+redfirestar,1,94,
+redapropos,1,94,
+ray_cyber_tech_(artist),1,94,
+purple_knot,0,94,
+presenting_crotch,0,94,
+portal_amputation,0,94,
+pointy_and_animal_ears,0,94,"animal/elf_ear,animal/elf_ears,animal/pointed_ear,animal/pointed_ears,animal/pointy_ear,animal/pointy_ears,animal_and_elf_ear,animal_and_elf_ears,animal_and_pointed_ear,animal_and_pointed_ears,animal_and_pointy_ear,animal_and_pointy_ears,elf/animal_ear,elf/animal_ears,elf_and_animal_ear,elf_and_animal_ears,pointed/animal_ear,pointed/animal_ears,pointed_and_animal_ear,pointed_and_animal_ears,pointy/animal_ear,pointy/animal_ears,pointy_and_animal_ear"
+pipyaka,1,94,
+physen,1,94,
+phluks,1,94,
+pattern_neckerchief,0,94,
+panscolipede,1,94,
+padded,0,94,
+oracle_of_seasons,3,94,
+opal_(ashnar),4,94,
+on_wall,0,94,
+ocerydia,1,94,
+object_motion_path,0,94,
+noronori,1,94,
+nooxgard,1,94,
+nomad_genesis,1,94,admhuskie666
+nokemop,1,94,
+nicky_equeen,4,94,nicky_donkey
+neon_mitsumi,4,94,
+ne_i_ro,1,94,
+natt333,1,94,
+natsume_(wrng),4,94,
+narija,1,94,
+mutual_footjob,0,94,
+muscle_bird,4,94,
+multiple_outfits,0,94,
+mukomizu,1,94,"kintora7410,きんとら,向水_きんとら"
+mtttut_(artist),1,94,
+ms._peachbottom_(mlp),4,94,ms_peachbottom_(mlp)
+moobjob,0,94,
+monster_tail,5,94,
+missblue,1,94,
+mirroidal,1,94,
+miles_yellow,4,94,
+meowcaron,1,94,
+melanie_(hambor12),4,94,
+mayku,1,94,
+martha_wakeman,4,94,
+marcushunter,1,94,
+mapdark,1,94,
+maid.,1,94,
+magntasona,4,94,
+magnamon,5,94,
+looking_ahead,0,94,
+loaf,0,94,
+linux,3,94,
+lillianwinters,4,94,
+life_(gaming),0,94,"1-up,1_up,1up,chance_(gaming),extra_life,extra_lives,extra_man,lives_(gaming),try_(gaming)"
+laarx,4,94,
+korra,4,94,
+knockout,0,94,
+kentachen27,1,94,
+kemosuke,1,94,ケモスけ
+kaomoroart,1,94,
+kahito-slydeft,1,94,"kahito_slydeft,kahito_slydeft_(artist),kahitoslydeft"
+jiggly_juggle_(oc),4,94,
+jaykat,1,94,
+isis_(nightfaux),4,94,
+iron_man,4,94,ironman
+ionic44,1,94,
+inkh,4,94,
+iniquity,1,94,crazed-xeno
+imric1251,1,94,
+imminent_threesome,0,94,
+hydryl,4,94,
+humbuged,1,94,
+hotsatyr,1,94,
+homohomofever,1,94,
+hinoa_(monster_hunter),4,94,
+hilary_(regular_show),4,94,
+heather_(over_the_hedge),4,94,
+hardblush,3,94,"hard_blush,hardblush.com"
+hand_markings,0,94,"hand_marking,hands_marking,hands_markings"
+guitar_pick,0,94,
+gpd_(lurdanjo),5,94,
+glowing_areola,0,94,"glowing_areolae,glowing_areolas"
+ginette_cerise_(girokett),4,94,
+gerry_(dongitos),4,94,
+geetee,1,94,
+gaothunnfsw,1,94,
+frohawk,0,94,
+fredrik_k_t_andersson,1,94,"freddy_anderson,freddy_andersson,frederik_k_t_anderson,frederik_k_t_andersson,fredrik_k_t_anderson"
+frederic_(david_siegl),4,94,
+frankie_foster,4,94,
+fran_cervicé,4,94,fran_cervice
+foogyakumo,1,94,
+fluffymare,1,94,
+feminine_pose,0,94,
+felinius_cat,4,94,"cat_(catdog),felinius_feline_cat"
+external_wall,0,94,
+explicitly_stated_consent,0,94,
+experiment_(disambiguation),6,94,"experiment,experiment_(alien),experiment_(species),experimentation,experimented,experimenting,experiments"
+evonallure,1,94,
+emmm,1,94,
+eiffel_tower_position,0,94,
+eeveecholo,1,94,
+eeekay,1,94,
+e-w01f,1,94,
+dynamite_(kadath),4,94,
+duncan_(kitfox_crimson),4,94,
+dsharp_k,1,94,
+dragon_princess,4,94,
+dr_nowak,1,94,"artstudio_molotov,dr._nowak,drnowak"
+diamond_grenadier,1,94,
+danielssj,1,94,
+cut_ear,0,94,
+critterdome,1,94,
+countershade_skin,0,94,
+coop_(wrng),4,94,
+cocicka,1,94,
+city_crushing,0,94,
+cinema4d,3,94,
+cherri_topps,4,94,
+catchlight,0,94,
+calheb_(calheb-db),4,94,
+cactuskiss,1,94,
+bunnie_(animal_crossing),4,94,
+brooz_(interspecies_reviewers),4,94,
+bracelet_only,0,94,
+bovine_tail,0,94,
+bouffalant,5,94,
+boreoboros,1,94,bore_(artist)
+blood_from_ass,0,94,"bleeding_anus,blood_from_anus"
+black_gargoyley,1,94,
+bjpentecost,1,94,silverone
+bergamo,4,94,
+beardo_(animal_crossing),4,94,
+bead,0,94,
+ballad-of-gilgalad,1,94,
+asteriid,5,94,asteriidae
+arms_back,0,94,
+arm_over_head,0,94,
+arcade_bunny,4,94,badgegrab
+aoru,1,94,
+antoreakk,1,94,
+alice_hill,4,94,alice_(aatar)
+aipangpangdeyua,1,94,
+aegis_(infinitedge),4,94,aegis_(infinitedge2u)
+aaronhibiki,1,94,
+18plusplus,1,94,
+yellow-throated_marten,5,93,"kharza,yellow_throated_marten"
+yao_(sdorica),4,93,
+xeno,4,93,
+willow_wisp,4,93,
+website,0,93,
+water_park,0,93,waterpark
+waluigi,4,93,
+vlc525,1,93,
+vivian_rose,4,93,
+venjiiart,1,93,baxer-mx
+vacuum_bed,0,93,vacbed
+untied_verbeger,1,93,
+unp,1,93,
+ty_(appleseed),4,93,
+twitch_(twitch),4,93,twitch_eaglehart
+twisted_table_lotus,0,93,
+trucker_hat,0,93,
+trigger_(trigger12),4,93,
+trenderhoof_(mlp),4,93,trenderhoof
+trench-meat,1,93,khorme
+tonosan,1,93,
+to_be_continued,3,93,
+tjloog,1,93,
+tila_sunrise,4,93,
+thighsocksandknots,1,93,
+thighlordash,1,93,
+thigh_squeeze,0,93,
+thigh_high_stockings,0,93,
+the_tishen_transformation,3,93,
+the_princess_and_the_frog,3,93,
+texi_(yitexity),4,93,
+tetris,3,93,
+teaspoon,1,93,tea-redrex
+tapering_clitoris,0,93,tapering_clit
+taoist_talisman,0,93,
+tailcoat,0,93,
+tack,0,93,
+szafir87,1,93,
+swivel_chair,0,93,
+sweetmeat,1,93,
+sun_(marking),0,93,"solar_marking,solar_markings,sun-shaped_marking,sun-shaped_markings,sun_(markings),sun_marking,sun_markings,sun_shaped_marking,sun_shaped_markings,suns-shaped_marking,suns-shaped_markings,suns_(marking),suns_(markings),suns_marking,suns_markings,suns_shaped_marking,suns_shaped_markings"
+sukk-madikk,1,93,
+striped_tentacles,0,93,
+starly,5,93,
+spread_urethra,0,93,
+splash_woman,4,93,
+spiral_oculama,0,93,
+spellcasting,0,93,
+soupbag,1,93,
+soraawoolf,1,93,
+song_(kung_fu_panda),4,93,song_(kfp)
+snow_globe,0,93,snowglobe
+skewedl0gic,1,93,
+shotgun_shell,0,93,
+shilumi,1,93,
+sheath_lick,0,93,
+seen_(keeperseen),4,93,
+screw_loose_(mlp),4,93,"screw_loose,screwloose,screwloose_(mlp)"
+scary_face,0,93,
+sapphire_shores_(mlp),4,93,sapphire_shores
+sakuyamon,5,93,
+saberhorn,1,93,saberhorn_(artist)
+ruby_rose,4,93,ruby_rose_(rwby)
+roy_(raichu),4,93,
+ronnie_(yinller),4,93,
+rocky_(kusosensei),4,93,
+rocker,0,93,
+rizdraws,1,93,
+rex_santos,1,93,
+reimachu,4,93,
+refer,1,93,
+redsmock,1,93,
+radicalweegee,1,93,
+r18,1,93,
+prostate_milking,0,93,
+pr-egg-nant,1,93,
+power-up,0,93,
+pootanger_sfm,1,93,
+pom_pom_(mario),4,93,
+pokey_pierce_(mlp),4,93,pokey_pierce
+planet_penetrated,0,93,
+pink_flesh,0,93,
+phina_(ashnar),4,93,
+pervymarioman,1,93,
+perch,0,93,
+penis_slap,0,93,"cock_slapping,dick_slapping,penis_slapping,slapping_cock,slapping_dick,slapping_penis"
+peko,4,93,
+pearleden,1,93,
+pacific_rim,3,93,
+pac,1,93,
+orange_lips,0,93,
+ookamiwaho,1,93,
+noinipi,1,93,
+niichan,1,93,
+nibroc-rock,1,93,"nibroc_rock,nibrocrock"
+natu,5,93,
+nami_(teranen),4,93,
+name_shout,0,93,
+nakadashimashta,1,93,erosugiryuu
+naexus,1,93,naexus_(artist)
+moomaid,1,93,
+monotone_mouth,0,93,
+mono_g,1,93,
+miss_fortune_(lol),4,93,"ms._fortune_(lol),ms_fortune_(lol)"
+minoto_the_hub_maiden,4,93,
+minos,4,93,
+mindkog,1,93,
+max_(notkastar),4,93,
+mangamaster,1,93,
+maggie_reed_(gargoyles),4,93,maggie_reed
+lomas,4,93,
+little_mac,4,93,
+literaturabdsm,1,93,
+leptail,1,93,
+leaning_over,0,93,
+kyuubi360,1,93,
+kuro_(tooboe_bookmark),4,93,
+kupopo,1,93,
+ko_(fabio_paulino),4,93,
+kipchin_2nd00,1,93,
+kinako_(40hara),4,93,
+kids_gamera,1,93,
+kamuri,4,93,
+journey_(game),3,93,
+jlazarus,1,93,
+jinku_56,1,93,
+jegermaistro,4,93,
+jb_greymane,4,93,
+james_(james_howard),4,93,
+jake_hart,4,93,
+itf_crossgender,0,93,
+irish,0,93,
+intense,0,93,
+inscryption,3,93,
+ice_wolf_(undertale),4,93,"ice_wolf,jimmy_hotpants,jimmy_hotpants_(undertale)"
+ibengmainee,1,93,
+hooded_robe,0,93,
+holemann,1,93,
+hirake!_cocotama,3,93,
+hickey,0,93,
+heather_kowalski,4,93,
+hawaii,0,93,
+hatarla,1,93,
+hald_(manadezimon),4,93,
+hair_growth,0,93,
+gwon,1,93,
+grimphantom,1,93,
+grey_piercing,0,93,
+green_stockings,0,93,
+greater_dog,4,93,
+graphite_(artist),1,93,
+grabbing_shoulders,0,93,
+glowing_belly,0,93,
+gasmaskfox,1,93,
+gamegod210,3,93,
+froggy_(sonic),4,93,
+foot_over_edge,0,93,
+fly_agaric,0,93,"amanita_muscaria,fly_amanita"
+fingerprint_(artist),1,93,
+filled_womb,0,93,
+fahleir,3,93,
+f-22,0,93,
+evening_breeze,4,93,
+ernest_and_celestine,3,93,
+epke,1,93,
+elephant_costume,0,93,elephant_suit
+electroejaculation,0,93,
+ek_goya,1,93,elkit
+eightysix,1,93,
+eggnant,0,93,
+eeyore,4,93,
+dvd,0,93,
+double_thumbs_up,0,93,
+dodging,0,93,
+dee_dee_(101_dalmatians),4,93,
+deancrazz,1,93,
+dawn_(disambiguation),6,93,dawn
+dark_beak,0,93,
+dance_dance_revolution,3,93,ddr
+cosmic51moon,1,93,
+corrompida,1,93,
+combee,5,93,
+collar_of_keidranification,0,93,
+clumsy,0,93,
+clothing_ring,0,93,
+clit_torture,0,93,"clitoral_torture,clitoris_torture"
+cid_(fuze),4,93,
+chris_(meesh),4,93,
+chin_grab,0,93,
+chew_toy,0,93,
+chel,4,93,
+charm,0,93,
+chained_cuffs,0,93,
+cat_paws,0,93,
+casetermk,1,93,unnoticeableperson
+caiman,5,93,
+bucked,1,93,
+brown_feces,0,93,brown_poop
+book_cover,7,93,
+bongo_(antelope),5,93,
+boa_sandersonia,4,93,
+black_robe,0,93,
+bioluminescent_penis,0,93,
+bimbo_(bakery),3,93,
+bibi_(o-den),4,93,
+bibbo,1,93,
+benjibat,1,93,benjibat_(artist)
+bb,1,93,
+battle_armor,0,93,
+bask,1,93,
+avian_feet,0,93,
+avery_willard,4,93,
+august_moon,4,93,
+asuka_kurehito,1,93,
+asterios,4,93,
+arzdin,1,93,
+artistissues,1,93,
+articulated_hooves,0,93,
+arm_growth,0,93,
+arceronth,1,93,
+arcanis,4,93,
+araiguma_11,1,93,
+appledectomy,4,93,
+ann-jey,1,93,
+ambiguous_knotting,0,93,
+alternate_rainbow_pride_colors,0,93,
+alonwoof,1,93,
+alekoin,1,93,
+aetherouranos,1,93,
+aesir_(artist),1,93,
+abigail_roo,4,93,
+a_name_for_me,1,93,
+1991,7,93,
+zetaskully,1,92,
+younger_sibling,0,92,
+xigma,1,92,"xigma6000,xigma_t56,xigmamgix,きしぐま"
+wolfwood1,1,92,
+wolfsecret,1,92,
+white_towel,0,92,
+wererabbit,5,92,
+wastedtime,1,92,wastedtime_(artist)
+waifu_chart_meme,3,92,
+voyeur_pov,0,92,
+vicjohansen,4,92,
+v-0-1-d,4,92,
+uni,1,92,
+udtf,0,92,
+two_tone_swimwear,0,92,two_tone_swimsuit
+turboranger_(artist),1,92,"tranger,tranger_(artist),turboranger"
+troodon,5,92,
+trix,3,92,
+triken,4,92,
+trigger12,3,92,
+tribe,0,92,
+trash_anon,1,92,
+translucent_skirt,0,92,"see-through_skirt,see-thru_skirt,see_through_skirt,see_thru_skirt,transparent_skirt"
+tracy_(linker),4,92,
+toy_selection,0,92,
+totem,0,92,
+toshaviktory,1,92,"tosha_v-smile,toshav-smile,toshavitkory"
+torn_thigh_highs,0,92,
+tirrel_(tirrel),4,92,
+tinsel,0,92,
+the_imp,4,92,
+the_cyantian_chronicles,3,92,akaelae
+thanking,0,92,
+text_on_jersey,0,92,
+tawny_otterson,4,92,
+taffyy,1,92,
+sven_the_giramon,4,92,
+supermarket,0,92,
+sundyz,4,92,
+strapped,0,92,
+starsoul,1,92,dragonport
+starscream,4,92,
+squat_toilet,0,92,
+space_ghost_(series),3,92,
+sock_sniffing,0,92,
+skyshadow_(character),4,92,
+skan_drake,4,92,
+sharparadise,1,92,
+shadowfirdark,1,92,
+seikeikei2015,1,92,
+scarlet-spectrum,1,92,
+sarcophagus,0,92,
+sans_(underfell),4,92,
+samaraka,1,92,
+ryu_(street_fighter),4,92,
+rumine,1,92,"yukimi_rumine,雪見るみね"
+rosanne_hayes,4,92,
+ropes_(character),4,92,
+rodemaru,1,92,ろで丸
+rocky_and_bullwinkle,3,92,
+roccorox,1,92,
+ricthecusco,1,92,
+rhythmpopfox,1,92,
+reward,0,92,
+ray_the_flying_squirrel,4,92,
+ravensun,1,92,
+ratontheraccoon,1,92,
+quinto,1,92,cenit
+quickdraw,1,92,
+pyu_ta08,1,92,
+purple_boots,0,92,
+pups_of_liberty,3,92,
+poppy_opossum_(character),4,92,
+pilitan,1,92,"lilnyams,tandemm"
+phione,5,92,
+percey_(character),4,92,
+passenger_ship,0,92,
+paris,0,92,
+paper_fan,0,92,
+palms,0,92,
+ornifex,4,92,
+oricorio,5,92,
+open_wings,0,92,
+nyquil,1,92,
+nude_human,0,92,
+nova_(warframe),4,92,
+nording,1,92,nording34
+noirnoir,1,92,
+no-ink,1,92,
+netiel,1,92,
+nemo2d,1,92,
+nailah,4,92,
+mushroom_cloud,0,92,
+murray_hippopotamus,4,92,"murray_(sly_cooper),murray_hippo"
+mth_transformation,0,92,
+ms._mowz,4,92,ms_mowz
+mrs._amp_(mramp),4,92,
+movement,0,92,
+moon_(marking),0,92,"lunar_marking,lunar_markings,moon-shaped_marking,moon-shaped_markings,moon_(markings),moon_marking,moon_markings,moon_shaped_marking,moon_shaped_markings,moons-shaped_marking,moons-shaped_markings,moons_(marking),moons_(markings),moons_marking,moons_markings,moons_shaped_marking,moons_shaped_markings"
+monroe_lehner,4,92,monroe_(monroethelizard)
+molly_collins,4,92,
+miracle_star,3,92,
+milo_(catastrophe),4,92,
+mike_wazowski,4,92,
+mik3thestrange,1,92,
+messy_eater,0,92,
+maxine_blackbunny,4,92,
+maximus_(tangled),4,92,
+max_midnight,4,92,
+mathew_kelly,4,92,
+matheusps555,1,92,
+manx,5,92,
+manizu,4,92,
+malinois_dog,5,92,"belgian_malinois,malinois"
+lycalopex,5,92,"pseudalopex,south_american_fox"
+lonefox,1,92,
+lobogris,1,92,wulff
+lo,4,92,
+liz_(biggreen),4,92,
+leashed_to_penis,0,92,
+ladnelsiya,1,92,
+kyrie_eleison,1,92,
+krosbar_(artist),1,92,
+kodus,1,92,
+kirumo-kat,1,92,
+kiri-anko,1,92,
+king_koopa,4,92,
+kcn,1,92,
+kaohto,1,92,
+kaithunderstone75,1,92,
+kaiizree,1,92,
+kaepotassium,1,92,
+k_hashiba,1,92,
+jorge_san_nicolas,4,92,
+jon_arbuckle,4,92,"jon_(garfield),jon_quentin_arbuckle,jonathan_arbuckle,jonathan_quentin_""jon""_arbuckle,jonathan_quentin_arbuckle,jonathan_quentin_jon_arbuckle"
+jinjing-yu,4,92,
+janja,4,92,
+jamesgrim,1,92,
+ironhades,1,92,
+huge_flexor_carpi,0,92,
+horsie,4,92,
+holding_broom,0,92,"holding_broom_stick,holding_broom_sticks,holding_brooms,holding_broomstick,holding_broomsticks"
+headless_play,0,92,
+hand_mirror,0,92,
+graphic_tee,0,92,
+glowfox_(character),4,92,
+gerenuk,5,92,giraffe_gazelle
+genome,5,92,
+gemini_the_otter,4,92,
+gator_(artist),1,92,the_bogosphere
+gary_oak,4,92,
+fuse_(analogpentium),4,92,
+foxehhyz,1,92,
+flip_bunny,4,92,
+finegan,1,92,
+felix_the_cat_(series),3,92,
+feathered_tail,0,92,feathery_tail
+faliet,1,92,
+emma_the_eevee,4,92,
+elements_of_harmony,0,92,
+dunnowhattowrite,1,92,
+don't_hug_me_i'm_scared,3,92,
+dolphin_bomber,4,92,
+dog_taur,5,92,dogtaur
+doedog,1,92,
+dazidentevil,1,92,"katadude,solesketch"
+dark_sky,0,92,
+dark_glans,0,92,
+dark_collar,0,92,
+creepy_gun,1,92,
+command_and_conquer,3,92,
+clothing_in_mouth,0,92,
+clothes_line,0,92,clothesline
+claire_redfield_(resident_evil),4,92,
+cindy_bear,4,92,
+chival,1,92,
+chisa_sa,1,92,
+catober,3,92,
+catluvs3,1,92,
+cat_toy,0,92,"cat-toy,cattoy"
+cariamiform,5,92,"cariamae,cariamiforme"
+burn_marks,0,92,
+bunny_raven,4,92,
+brushing_fur,0,92,fur_brushing
+brick_floor,0,92,
+boris_(theboris),4,92,
+blue_formalin,1,92,
+blade_and_soul,3,92,
+black_text_border,0,92,
+black_eartips,0,92,
+bitnarukami,1,92,
+bessie_(zp92),4,92,
+beelzemon,5,92,beelzebumon
+bear213,1,92,
+ayzcube,1,92,
+autumn_sunrise,1,92,"afiaxxa,autumnsunrise"
+aurenn,4,92,
+audrey_(lizet),4,92,
+ashcozy,1,92,
+armwear_only,0,92,
+arh_(character),4,92,
+anon2000000,1,92,
+amprat,4,92,
+ammy,4,92,
+alan_white,4,92,alan_(ritts)
+afrotropical_parrot,5,92,"psittacinae,psittacini"
+ackanime,1,92,
+aayla_secura,4,92,
+7theaven,1,92,
+1mp,1,92,
+18:37,7,92,9:18.5
+10:9,7,92,
+...?,0,92,
+zera_stormfire,4,91,
+zephyr_lyall,1,91,
+zaryusu_shasha,4,91,
+zaphira_(zummeng),4,91,
+zandermanith,1,91,iopkluj123
+zachariah_(velocitycat),4,91,
+yuuuki_desu,1,91,
+yuni,1,91,"4444,jahi"
+yuanyuan,1,91,
+young_horses,3,91,
+yo-lander,1,91,valvetrova
+yeenr,1,91,
+yami_the_veemon,4,91,
+yamatoooooo,1,91,赤マフラー大和
+xanthewolf,1,91,xanthe_(artist)
+wonder_boy,4,91,
+wildfire_(rubberbuns),4,91,
+white_lingerie,0,91,
+weiss_schnee,4,91,
+websly,4,91,
+vetarix,1,91,
+veronica_(securipun),4,91,
+venus_flytrap,0,91,"dionaea_muscipula,flytrap,venus_fly_trap,venus_flytraps"
+vanara,5,91,
+urine_meter,0,91,
+umikazenet3,1,91,
+ts-cat,1,91,
+trish_(gvh),4,91,
+toothy_fellatio,0,91,"blowjob_with_teeth,fellatio_with_teeth,toothy_blow,toothy_blowjob,toothy_head"
+tipping_hat,0,91,
+time_skip,0,91,
+tiger_trace,4,91,
+tiffany_brewwer,4,91,
+thomas_(zourik),4,91,
+thelazydreamer,1,91,
+thelasthope,1,91,
+thehenwithatie,1,91,thehenwithatie_(artist)
+telepathy,0,91,
+tekitourabbit_(artist),1,91,
+taur_penetrating_human,0,91,t/p/hn
+taranza,4,91,
+swingers,0,91,
+suule,1,91,
+stated_bisexuality,0,91,
+spooky_(sjm),4,91,
+speedoru,1,91,speedosausage
+soonico,1,91,
+soda_uyu,1,91,
+snort,0,91,
+slime_(slime_rancher),5,91,
+skeletorskeletonized,1,91,
+sintronic,1,91,
+silvermidnight,1,91,
+shower_stall,0,91,
+shoru,1,91,
+shigoto,1,91,
+sheelahi,4,91,
+shaking_penis,0,91,"penis_shake,wagging_penis,waggling_penis"
+selinatc,1,91,
+seisuke,1,91,
+sebun_(beastars),4,91,
+scaled_legs,0,91,
+savage,4,91,
+sambaneko,1,91,
+sakusan_kc,1,91,
+sakura_haruno,4,91,haruno_sakura
+rtzero,1,91,
+risingdragon,1,91,
+rajah_(disney),4,91,
+ragnacock,4,91,
+radonryu,1,91,
+pussy_juice_pool,0,91,
+purrcules_(character),4,91,
+purple_tank_top,0,91,purple_tanktop
+pseudo_bottomwear,0,91,
+poliwhirl,5,91,
+plumage,0,91,
+pink_lingerie,0,91,
+photoshop_flowey,4,91,omega_flowey
+pencil-arts,1,91,
+parsnip_(game),3,91,
+osiris_henschel,4,91,
+oseron,1,91,
+ork,5,91,orks
+orangina,3,91,
+orang111,1,91,
+ole,1,91,
+notpcd,1,91,
+notes,0,91,
+norbert_beaver,4,91,
+nom_(sound_effect),0,91,
+ninetails_(okami),4,91,
+nightmare_(fnaf),4,91,
+negitives,1,91,
+negieggy,1,91,
+nauskills,1,91,bugplayer
+natsu-nori,1,91,
+nana-yuka,1,91,
+nameko_no_neko,1,91,
+naginata,0,91,
+myrl,4,91,
+multicolored_skirt,0,91,
+multi_wielding,0,91,
+muffin_top_(general_use),0,91,
+morris_(artist),1,91,
+metal_chain,0,91,
+mega_kangaskhan,5,91,megakangaskhan
+maxmushroom,1,91,
+marcus_mccloud,4,91,
+mako_(rudragon),4,91,
+major_wolf,4,91,
+luster_dawn_(mlp),4,91,
+luna_the_eevee,4,91,
+lully_pop,4,91,
+lucia_(character),4,91,
+lovelyneckbeard,1,91,
+lief_woodcock,4,91,
+li_shan_(kung_fu_panda),4,91,li_shan_(kfp)
+lennoxicon,1,91,
+lemming,5,91,
+leah_(lipton),4,91,
+landysh,1,91,
+kuramichan,1,91,
+koul_fardreamer,4,91,
+komane,4,91,
+knotting_symbol,0,91,
+knife_play,0,91,knifeplay
+kinar_(amocin),4,91,
+killy00,1,91,
+kilix,4,91,
+kidden_eksis,4,91,
+keto,1,91,
+kektails,1,91,
+keinos,4,91,
+keeperseen,4,91,
+katsukaka_(taokakaguy),4,91,
+kandace_(sugarnutz),4,91,
+kamikitsu,1,91,dark_kitsunez
+justice_(helltaker),4,91,
+jolliapplegirl,1,91,
+jeeper,4,91,
+jc_(artist),1,91,
+jarvofbutts,1,91,jarwis
+incursean,5,91,
+immelmann_(character),4,91,
+hyde3291,1,91,
+huztar,1,91,
+hondo_flanks_(mlp),4,91,magnum_(mlp)
+holstered_pistol,0,91,
+hair_to_side,0,91,
+groggyghoul,1,91,energyloop
+gradient_ears,0,91,
+gorillaz,3,91,
+gingerbread_man,0,91,
+gelbun,4,91,
+furx_(character),4,91,
+furry-specific_brand,0,91,
+forefox,4,91,
+forced_bestiality,0,91,
+fkey,1,91,
+fish_insertion,0,91,
+fenra,5,91,
+examination_table,0,91,
+eugeniyburnt,1,91,
+esahma,1,91,
+erosuke,1,91,
+endogeny,4,91,
+emil_(funkybun),4,91,
+elisa_(maddeku),4,91,
+eerieeyes,1,91,
+echin,1,91,
+dunmer,5,91,
+dream_merchant,1,91,
+draco32588,3,91,
+double_deep_throat,0,91,
+double_anal_fisting,0,91,
+door_slam,0,91,
+disembodied_balls,0,91,
+diegotan,1,91,
+desesperadoleon,1,91,
+derrysome,1,91,deliveredmean42
+de_ktgr,1,91,
+dante-feline,1,91,
+daniela_idril,4,91,
+daji_(full_bokko_heroes),4,91,"daji_(full_bokko_heroes_x),daji_(fullbokko_heroes)"
+daisy_(flower),0,91,
+cum_on_own_breasts,0,91,
+cum_in_toes,0,91,
+crazy-husky,1,91,
+condom_disposal,0,91,
+chimera_humanoid,5,91,
+cherry_popper,4,91,
+checkered_shirt,0,91,
+cassiopeia_(lol),4,91,
+calling,0,91,
+cake_top,1,91,
+cabura,1,91,
+c2ndy2c1d,1,91,
+bunearyk,1,91,
+bugsnax,3,91,
+bontiage,1,91,bont1age
+bombay_cat,5,91,
+bolt_emanata,0,91,
+boardwalk,0,91,
+blue_morpho,5,91,
+blue_leash,0,91,
+blue_chest,0,91,
+blackarabi,1,91,
+black_tail_tuft,0,91,
+black_jeans,0,91,
+bimbo_bear,4,91,
+barley_lightfoot,4,91,
+baggy_eyes,0,91,
+arm_feathers,0,91,
+arkomeda,1,91,
+anselm_fenrisulfr,4,91,
+anonym0use,4,91,
+animal_ear_fluff,0,91,
+anal_prodding,0,91,
+aixen,1,91,aix3n
+aeolius,1,91,
+abused,0,91,
+6_limbs,0,91,six_limbs
+24651,1,91,
+zorak_(artist),1,90,"alex_zorak,alexzorak"
+yukigatr_(evov1),4,90,
+yanaka,1,90,
+xion_archaeus,4,90,
+white_thong,0,90,
+white_head_tuft,0,90,
+wastester,1,90,
+wang_chow,4,90,
+wallswhisper,1,90,
+verlo_streams,4,90,
+usawa_fuwakaru,4,90,
+twitch_plays_pokémon,3,90,twitch_plays_pokemon
+twindrills,1,90,drillsbutts_(artist)
+tunny,4,90,tundra_corgi
+trixie_(jay_naylor),4,90,
+trish_(invasormkiv),4,90,
+trico_(the_last_guardian),4,90,
+trevenant,5,90,
+toy_(mcnasty),4,90,
+tkaloniesfm,1,90,
+terror_bird,5,90,phorusrhacid
+terribly_british,0,90,
+tatzlwurm,5,90,"tatzleworm,tatzlwyrm"
+taross,4,90,
+tami_k_maru_(yourfavoritelemonade),4,90,
+supine,0,90,
+summer_grass,4,90,
+sugar_sprinkles,4,90,
+stygimoloch_(artist),1,90,
+story_in_picture,0,90,
+spiral_staircase,4,90,
+spiked_footwear,0,90,
+single_strap_clothing,0,90,
+single_strap,0,90,
+shorebird,5,90,
+sharla_(zootopia),4,90,
+shapeshifterprincess,1,90,
+sexotheque_(copyright),3,90,
+sex_toy_in_cloaca,0,90,sextoy_in_cloaca
+sex_magic,0,90,
+seth_häser,4,90,seth_haser
+secret,0,90,
+scaled_penis,0,90,
+samuriolu,1,90,
+sam_(colo),4,90,
+salomonkun,4,90,
+salem_(sutherncross2006),4,90,
+runasolaris,1,90,
+rosechu_(species),5,90,
+rolo_(rolo_stuff),4,90,
+rockgaara,1,90,
+reverse_dancer_position,0,90,
+respecies,1,90,
+red_moon,0,90,
+rectal_thermometer,0,90,"anal_thermometer,anus_thermometer,ass_thermometer,butt_thermometer,rectum_thermometer"
+rapunzel_(disney),4,90,
+rain420,1,90,
+racha_(otterjunk),4,90,
+rabbi-tom,1,90,jim_groat
+quote,0,90,
+pyruvic,4,90,
+pubic_stubble,0,90,
+prime_warframe,5,90,
+presenting_genitalia,0,90,
+police_dog,0,90,
+pmd-e,3,90,
+plu,3,90,
+pink_floyd,3,90,
+physical_censor_bar,0,90,
+paul_grayson,4,90,
+partially_submerged_leg,0,90,
+otterlike,1,90,
+oran_berry,0,90,
+opal_(animal_crossing),4,90,
+one_piece_suit,0,90,
+one_foot_raised,0,90,
+nuroi,1,90,
+nopetrol,1,90,
+noir_(yobie),4,90,
+nlr_domain,1,90,
+niur,1,90,
+ner0_kobold,1,90,
+neo-spacian_aqua_dolphin,4,90,
+neck_kiss,0,90,
+natsumeggggg,1,90,
+nanomoochines,4,90,
+nagifur,1,90,
+multi_sheath,0,90,
+mrpotatoparty,1,90,
+moonway,1,90,moonwayfarer
+miryam_(giru),4,90,myriam_(giru)
+medic,0,90,
+maychin,1,90,
+maxx-ros,1,90,
+marilyn_monroe,4,90,
+maplepudding,1,90,maplepudding_(artist)
+malt_marzipan,4,90,
+lykra,5,90,
+lyc,1,90,
+loki_(lowkeytoast),4,90,
+lilinfeng,1,90,
+license_plate,0,90,
+laxes,4,90,
+ladynoface96,1,90,
+kyouji_(morenatsu),4,90,"kyouji,kyouji_takahara,takahara_kyouji"
+kronas,4,90,
+kona,4,90,
+kiwifruit,0,90,kiwi_(fruit)
+kiss_mark_on_penis,0,90,
+kemari,1,90,
+kanutwolfen,1,90,
+julian_(animal_crossing),4,90,
+johnsergal_(character),4,90,
+jmadoc,1,90,kitetsu
+jeremeh,1,90,
+jcm2_(artist),1,90,
+jade_jacky_kim,4,90,
+itzamna,4,90,
+itroitnyah,1,90,
+irah_(fvt),4,90,
+inn,0,90,
+ineedanaccount,1,90,
+imjim007,1,90,
+huntress_wizard,4,90,
+hotline_miami,3,90,
+hoothoot,5,90,
+hoof_beat,3,90,
+holding_ear,0,90,
+hilichurl,5,90,
+hidden-cat,1,90,
+helsy_(helsy),4,90,
+helelos,4,90,
+heatherwolf,1,90,
+hayatohalada,1,90,"666yubazi,hayataohalada"
+hand_around_waist,0,90,
+guinefurrie,1,90,
+grivaire,1,90,
+grey_glasses,0,90,gray_glasses
+grabbing_pillow,0,90,
+ghostth39,1,90,
+geld_(that_time_i_got_reincarnated_as_a_slime),4,90,
+galmgaruda51,1,90,
+furry_penis,0,90,furred_penis
+from_side,0,90,
+foxydude,4,90,
+foot_hands,0,90,
+food_on_body,0,90,
+food_between_breasts,0,90,
+flyingram,1,90,
+fenrir_osbone_(character),4,90,
+fatty_humps,0,90,"camel_hump,camel_humps,fatty_hump,fatty_hump_(anatomy),fatty_hump_(feature),fatty_humps_(anatomy),fatty_humps_(feature),hump_(anatomy),hump_(feature),humps_(anatomy),humps_(feature)"
+eyes_on_the_prize,0,90,
+evan_(kihu),4,90,
+esasi8794,1,90,
+erazorrazor,1,90,
+enid_(ok_k.o.!_lbh),4,90,"enid_(ok_k.o!),enid_(ok_k.o),enid_(ok_k.o.!),enid_(ok_k.o.!_let's_be_heroes),enid_(ok_k.o.!_lets_be_heroes),enid_(ok_k.o.),enid_(ok_k.o._lbh),enid_(ok_k.o._let's_be_heroes),enid_(ok_k.o._lets_be_heroes),enid_(ok_k.o_lbh),enid_(ok_k.o_let's_be_heroes),enid_(ok_k.o_lets_be_heroes),enid_(ok_ko!),enid_(ok_ko!_lbh),enid_(ok_ko!_let's_be_heroes),enid_(ok_ko!_lets_be_heroes),enid_(ok_ko),enid_(ok_ko_lbh),enid_(ok_ko_let's_be_heroes),enid_(ok_ko_lets_be_heroes)"
+emperpep,1,90,
+eddy_okapi,1,90,
+drredhusky83,3,90,
+drake_mallard,4,90,
+dragon_ball_(object),0,90,
+digitigrade_footwear,0,90,
+digitalkaiju,1,90,
+destroyed_clothing,0,90,
+den,0,90,
+demon_dragon,5,90,
+deep_sea_prisoner,3,90,
+darkai,1,90,
+dark_pants,0,90,
+dante_yun,1,90,"dante_yun_(artist),danteyang,danteyang_(artist)"
+ctrl_alt_yiff,1,90,ctrl_alt_spiff
+crutch,0,90,crutches
+credit_card,0,90,
+crayon_(character),4,90,
+cradily,5,90,
+counting,0,90,
+contrail,0,90,
+conoghi,1,90,
+colored_claws,0,90,
+colleen_(sugarnutz),4,90,
+collared_lizard,5,90,"crotaphytid,crotaphytidae,crotaphytus"
+coinpo,1,90,
+cloud_meadow,3,90,
+choose_your_own_adventure,0,90,
+chipchell,1,90,
+cherubimon,5,90,
+chadrocco,1,90,
+celebrity_bangmatch,3,90,
+capseys,1,90,
+bāozi,4,90,baozi_(diives)
+bryce_(lonewolfhowling),4,90,
+bottom_view,0,90,
+bobby_frederick,4,90,
+blue_goo,0,90,
+blender_(machine),0,90,"blender_(object),blender_machine"
+black_skinsuit,0,90,
+biohazard_(artist),1,90,brian_swords
+big_mouth_(disambiguation),6,90,"big_mouth,big_mouthed,bigmouth,bigmouthed"
+beenic,4,90,
+battle_for_dream_island,3,90,"bfb,bfdi"
+back-tie_bikini,0,90,
+axey_(wazzaldorp),4,90,
+attic,0,90,
+assisted_masturbation,0,90,
+arith,4,90,
+annie-mae,1,90,
+american_pit_bull_terrier,5,90,"american_pitbull_terrier,american_pitt_bull_terrier,pit_bull_terrier,pitbull_terrier,pittbull"
+amber_puppy,4,90,
+akamaru,4,90,
+zoophilic,1,89,
+zoey_(dirtyrenamon),4,89,
+zipper_dress,0,89,
+zapapanda,1,89,
+yoruichi_shihoin,4,89,shihouin_yoruichi
+yolk_(artist),1,89,yucky
+yellow_armwear,0,89,
+yellow_antennae,0,89,yellow_antenna
+yamia,4,89,
+xargos,4,89,
+xanderg_(artist),1,89,
+wyer_bowling_(meme),3,89,wyre_bowling_(meme)
+wmdiscovery93,1,89,
+window_curtains,0,89,
+wegcremington,1,89,
+wallet_chain,0,89,
+vitaly_(artist),1,89,
+virenth,1,89,novavirenth
+violet_echo,4,89,
+vermine,1,89,
+veldazik,1,89,
+vanessa_(sandwich-anomaly),4,89,
+vagus_(haychel),4,89,
+underwear_on_face,0,89,
+tryfag,1,89,kohdoku
+tribal_necklace,0,89,
+totentribe,1,89,騰騰騰
+topless_humanoid,0,89,
+tinsel_(wanderlust),4,89,
+theicedwolf,1,89,
+terry_bat,4,89,
+taral_wayne,1,89,saara
+tan_hooves,0,89,beige_hooves
+suzuinu,1,89,
+stray_prey,1,89,
+strapon_in_pussy,0,89,
+std,0,89,
+stardew_valley,3,89,
+sofiya_ivanova,4,89,
+smaller_dom,0,89,
+sling,0,89,
+slimewiz,1,89,
+shroob,5,89,
+seeing_stars,0,89,
+sean_o'hare,1,89,nauv
+seabreeze629,1,89,
+schorl_(kitfox-crimson),4,89,
+sawblade_(artist),1,89,
+savannah_cat,5,89,
+san_inukai,4,89,
+root8beat,1,89,
+ronchainu,1,89,kem_sikm
+rolo_stuff,1,89,
+roland_guiscard,4,89,
+robbie_sinclair,4,89,
+renatetherat,1,89,
+red_star,0,89,
+red_eyeliner,0,89,
+rainbow_armwear,0,89,
+queen's_blade,3,89,
+purna_whitewillow,4,89,
+primal_kyogre,5,89,
+pride_pin,0,89,
+poison_joke,0,89,
+pointer,0,89,
+plunger,0,89,
+plump_(character),4,89,
+plume,0,89,
+pliers,0,89,
+pinsir,5,89,
+pinecone,0,89,
+penis_on_shoulder,0,89,
+peeing_on_chest,0,89,
+pears_(artist),1,89,
+past_sins_(fanfic),3,89,
+pants_around_thighs,0,89,
+orange_pseudo_hair,0,89,
+orange_paws,0,89,
+omega_wolf_(soulwolven),4,89,
+obscured_anal,0,89,
+np4tch,1,89,
+noxybutt,1,89,"equinox_(artist),noxyponi"
+nikaidooooooooo,1,89,
+narinder,4,89,
+nargle_(nargleflex),4,89,
+nanahoshi_suzu,4,89,
+nadnerbd,1,89,
+multicolored_jockstrap,0,89,
+mrs.mayberry_(helluva_boss),4,89,mrs._mayberry_(vivzmind)
+mouflon,5,89,
+morty_smith,4,89,
+moray_eel,5,89,"muraenid,muraenidae"
+mocho4266,1,89,
+mob_cap,0,89,
+mittens_(panapoliz),4,89,
+miso_(miso_souperstar),4,89,
+milkbreaks,1,89,
+midbus,4,89,
+mega_garchomp,5,89,
+mayhem_(renard),4,89,
+mayan,0,89,
+master_oogway,4,89,oogway
+majiro_the_hedgehog,4,89,
+lying_on_top,0,89,
+lunakia,1,89,
+luka_(artist),1,89,
+lootz,4,89,
+lillymoo,1,89,"lilly-moo,lillyvaine"
+lillymon,5,89,
+lilika_snowheart,4,89,
+leg_in_water,0,89,
+kuroikiri,1,89,
+kukumomo,1,89,
+kitsune2000,1,89,
+kfc,3,89,
+kej_(kejifox),4,89,
+keigai,1,89,
+joshin,1,89,
+joltik_(artist),1,89,
+jayjay,4,89,
+jakegr,1,89,
+itsdraconix,1,89,itsdraconix_(artist)
+ishton_(artist),1,89,
+igneous_rock_(mlp),4,89,
+hyouza,4,89,
+hugging_legs,0,89,
+hsien-ko_(darkstalkers),4,89,"hsien-ko,lei-lei_(darkstalkers)"
+houses,0,89,
+horosuke_(toot08),1,89,
+holding_vehicle,0,89,
+holding_torch,0,89,holding_torches
+holding_on,0,89,
+hiyoko,1,89,"hiyoko-art,hiyoko_art"
+hisuian_goodra,5,89,
+highwizard,1,89,
+helodermatid,5,89,"beaded_lizard,heloderma,helodermatidae"
+halcyon_(series),3,89,
+gunter_(frisky_ferals),4,89,
+guilty,0,89,
+guerillasquirrel,1,89,
+grey_vest,0,89,gray_vest
+gray-day,1,89,
+goo_(razy),4,89,
+glowing_sex_toy,0,89,
+glitch_(the_gamercat),4,89,glitch_(gamercat)
+glistening_nails,0,89,shiny_nails
+ghj103,1,89,
+galarian_meowth,5,89,"galar_meowth,meowth_(galar_form),meowth_(galarian_form)"
+friskalpox,1,89,
+fred_(fredrick_brennan),4,89,
+frankie_(lyme-slyme),4,89,mousetrap_(character)
+foot_on_thigh,0,89,
+flipyart,1,89,
+ffuffle,1,89,fatfoxlower
+fenris49,1,89,
+fennec_fox_(kemono_friends),4,89,fennec_(kemono_friends)
+fatalis,5,89,
+fairy_musketeers,3,89,otogi_juushi_akazukin
+faceless_humanoid,0,89,
+dragonwithgames,1,89,
+dote,1,89,
+dogaressa,4,89,
+dizzy_(dizzymilky),4,89,
+dizzy_(101_dalmatians),4,89,
+dixie_(balto),4,89,
+disney_princess,3,89,
+di19826,1,89,
+darnell_(zummeng),4,89,
+dakota_(kaggy1),4,89,
+cxcxxcxxxx,1,89,
+cum_on_own_arm,0,89,
+cum_in_own_pussy,0,89,
+cubow,1,89,
+crys,1,89,"hybridmutt,seekingthedarkside,taillone"
+covered_face,0,89,
+cole_cassidy,4,89,"jesse_mccree,mccree_(overwatch)"
+cocoronut,1,89,
+coach_night,4,89,
+climbing_wall,0,89,
+cleffa,5,89,
+cleaver_(knife),0,89,meat_cleaver
+chip_bag,0,89,
+cheating_wife,0,89,
+chase_(mlp),4,89,
+cat771115,1,89,
+caprine_pussy,0,89,
+calem_(ruddrbtt),4,89,
+caatnip,1,89,ineziakorporejszyn
+buttplug_vibrator,0,89,vibrating_buttplug
+buttons_(milachu92),4,89,
+burnt,0,89,
+buck_(evane),4,89,
+bristles,1,89,
+branding_iron,0,89,
+boss_wolf,4,89,
+boob_armor,0,89,
+bolts,0,89,
+blue_screen_of_death,0,89,
+blocked_birth,0,89,
+black_bandanna,0,89,
+bill_cipher,4,89,
+bent_forward,0,89,
+bbc,3,89,
+ballerina_position,0,89,
+askart,1,89,
+artemis_(sailor_moon),4,89,
+artbynit,1,89,
+aromatisse,5,89,
+arctic_shrew,5,89,
+apron_lift,0,89,
+aperture_science,3,89,
+animorphs,3,89,
+andromorph_penetrating,0,89,"cboy_penetrating,cuntboy_penetrating,cuntman_penetrating"
+andromorph/ambiguous,0,89,"?/am,?/c,?/cuntboy,ag/am,am/?,am/ag,ambiguous/andromorph,ambiguous/cuntboy,ambiguous_gender/andromorph,ambiguous_gender/cuntboy,ambiguous_gender_on_cuntboy,ambiguous_on_andromorph,ambiguous_on_cuntboy,andromorph/ambiguous_gender,andromorph_on_ambiguous,c/?,c/a,cuntboy/?,cuntboy/ambiguous,cuntboy/ambiguous_gender,cuntboy_on_ambiguous,cuntboy_on_ambiguous_gender"
+anaxus,1,89,
+amethyst_necklace,0,89,
+amethyst_(steven_universe),4,89,
+amadeus_prower,4,89,
+alpacapala,1,89,
+alma_aurora,1,89,almaaurora
+alfiq,5,89,
+akabur,1,89,
+agent_27b,4,89,
+adrian_donovan,4,89,ember_(laudanumserum)
+adlynh,1,89,yulynh
+achromatic,1,89,
+zaldenvire,1,88,
+z00p,1,88,
+yoko_littner,4,88,yoko_ritona
+xwingedvixenx,1,88,
+xiao_hui_(ffjjfjci),4,88,
+wrap_bra,0,88,
+wingless_avian,0,88,
+wild_west,0,88,
+volatus,1,88,
+vibrator_controller,0,88,
+verbal_domination,0,88,
+velvet_remedy,4,88,"velvet_remedy_(fallout_equestria),velvet_remedy_(mlp)"
+vanillite,5,88,
+urine_on_butt,0,88,
+unico,4,88,
+undyne_the_undying,4,88,
+tymbre,4,88,
+two_piece_swimsuit,0,88,
+tsukane_yoda,1,88,
+trunorth,1,88,
+trowel,0,88,
+trigoat,1,88,trigoat_(artist)
+tongue_fucking,0,88,
+tomoyamaru,1,88,"tomoya_(artist),tomoyamaru_alt"
+tiedernas,1,88,
+tiamat_(dnd),4,88,
+thephantompornographer,1,88,
+thegreyzen,1,88,
+thedandelion,1,88,
+text_with_star,0,88,
+teostra,5,88,
+tantabus,4,88,
+tan_foreskin,0,88,
+tamaro,1,88,
+tail_on_shoulder,0,88,
+taeshi_(artist),1,88,
+synxirazu-niam,1,88,
+suzume_333,1,88,
+sunr4y,1,88,
+summer_deerling,5,88,
+stuck_in_door,0,88,
+streetdog,4,88,
+stealth_sex_toy,0,88,
+star_clothing,0,88,
+stan_the_woozle,4,88,
+spiked_balls,0,88,
+spike_(extreme_dinosaurs),4,88,
+speccysy,1,88,
+sparkster,4,88,
+soryuu,1,88,ソリュウ
+snowy_(yuki-the-fox),4,88,
+sitting_on_chest,0,88,
+sinamoncake1,1,88,
+sika_deer,5,88,japanese_deer
+sibella_dracula,4,88,sibella
+shyren,4,88,
+shinard,1,88,
+shed,0,88,
+shasta,4,88,
+sharkiedude,1,88,
+sex_on_bed,0,88,
+sergiroth,1,88,
+sei_monmusu_gakuen,3,88,monster_girl_academy
+scarlett_(whiterabbit95),4,88,
+sabuteur,4,88,sabby
+russie,4,88,
+rui_nikaido_(odd_taxi),4,88,
+rpbbw,1,88,"noku13456,五色"
+rose_duskclaw,4,88,
+roketchu,4,88,
+ria_(gnoll),4,88,
+rhynobullraq,1,88,
+reprogramming,0,88,
+renv,1,88,
+remidragon,4,88,
+reevah_(nuree_art),4,88,
+redcoonie,1,88,
+red_cloak,0,88,
+rcfox,4,88,
+raki_boi,1,88,
+raised_arm_support,0,88,
+rabbit_(wolfpack67),4,88,
+quse,4,88,
+pussy_ejaculation_while_penetrated,0,88,
+puffchu,4,88,
+pride_color_bandanna,0,88,
+pride_color_armwear,0,88,"pride_armwear,pride_colors_armwear,pride_colour_armwear,pride_colours_armwear,pride_flag_armwear"
+portzebie,1,88,
+portal_autofellatio,0,88,
+poojawa,4,88,
+plushcrochet,1,88,
+planetmojo,1,88,
+pizzakittynyan,1,88,
+pixelflare,1,88,
+pink_soles,0,88,
+pilu_(artist),1,88,
+phyco,4,88,
+phrygian_cap,0,88,
+paul_(knights_college),4,88,
+pattern_hat,0,88,
+panthra78,1,88,
+panthera_cantus,1,88,
+ozzybear,1,88,
+oz_(buxombalrog),4,88,
+outer_wilds,3,88,
+oddworld,3,88,"abe's_oddysee,abes_oddysee,munch's_oddysee,munches_oddysee,munchs_oddysee,new_&_tasty,new_'n'_tasty,new_and_tasty,new_n_tasty,oddworld_inhabitants,oddworld_inhabitants_inc,oddworld_inhabitants_inc.,oddworld_inhabitants_incorporated,oddworld_soulstorm,stranger's_wrath,strangers_wrath"
+nu_pogodi_reboot,3,88,
+normal_forme_deoxys,5,88,"deoxys_(normal),deoxys_(normal_form),deoxys_(normal_forme),deoxys_(original),deoxys_(original_form),deoxys_(original_forme),deoxys_(standard),deoxys_(standard_form),deoxys_(standard_forme),deoxys_normal,deoxys_normal_form,deoxys_normal_forme,deoxys_original,deoxys_original_form,deoxys_original_forme,deoxys_standard,deoxys_standard_form,deoxys_standard_forme,normal_deoxys,normal_form_deoxys,original_deoxys,original_form_deoxys,original_forme_deoxys,standard_deoxys,standard_form_deoxys,standard_forme_deoxys"
+nonarycubed,1,88,
+nobunagapero,1,88,
+no-name-no-problem,1,88,
+new_pokemon_snap,3,88,
+neckband,0,88,
+narcotic_sprinkles,1,88,narcotic-sprinkles
+n64_controller,0,88,
+myumon,5,88,
+mysaowl,1,88,
+moozua,1,88,
+monsterblender,1,88,
+monotone_dress,0,88,
+milftwo,4,88,
+mike_argentum_(copyright),3,88,
+mawaifu,1,88,
+marcus_(thehades),4,88,
+marco_diaz,4,88,
+marble_(gittonsxv),4,88,
+maddie_flour,4,88,
+madarao_(kekkaishi),4,88,
+mabo_(artist),1,88,マボ
+lugen_kobold,1,88,
+loose_orifice,0,88,
+leto_(grimart),4,88,
+lamortmon,5,88,
+kitty_(under(her)tail),4,88,
+kitsu,4,88,
+king_(cave_story),4,88,
+ki'rinaes,5,88,
+khakis,0,88,
+kettukarkki,1,88,
+kenta_shiba_(character),4,88,
+ken_singshow,1,88,
+junip,4,88,
+joshy_(kibaru),4,88,
+jmynstyx,1,88,
+jinksa,1,88,
+jax_the_bat,1,88,
+jack_mckinley,4,88,jack_(captain_nikko)
+inflatingskunk,1,88,
+holding_shoulder,0,88,
+hitori09,1,88,
+hisashiyo_0705,1,88,
+head_jewelry,0,88,
+hawkilla,1,88,
+happy_(fairy_tail),4,88,
+hands_on_floor,0,88,
+gun_holster,0,88,
+gravelurkertsk,1,88,
+graedius_(artist),1,88,
+goldenemotions,1,88,
+glistening_topwear,0,88,"glistening_top_wear,shiny_top_wear,shiny_topwear"
+gila_monster,5,88,
+geckozen,1,88,
+gabby_(disambiguation),4,88,"gabby,gabby_(character)"
+fuzzymaro,1,88,
+fuo_(hanadaiteol),4,88,
+finger_on_chin,0,88,
+fari_paredes,4,88,
+extinctioners,3,88,
+escape_to_nowhere,3,88,
+elderly_male,0,88,
+einarr_(personalami),4,88,
+edugta_(character),4,88,
+eddie_(dessy),4,88,eddie_(muzz)
+ebi10000000000,1,88,
+doughnut_fucking,0,88,
+doorbell,0,88,
+dom_(animal_crossing),4,88,
+dizfoley,4,88,
+diederich_olsen_(knights_college),4,88,
+diaper_bulge,0,88,
+datte-before-dawn,1,88,
+darth_talon,4,88,
+dark_butt,0,88,"dark_ass,dark_booty"
+dark_arms,0,88,
+daisy_(mlp),4,88,
+daisuke_yomo,4,88,
+cymbals,0,88,
+cybernetic_tail,0,88,augmented_tail
+cubedcoconut,1,88,
+critical_role,3,88,
+crayzee609,1,88,
+cowboy_bebop,3,88,
+countershade_snout,0,88,countershade_muzzle
+coop_burtonburger,4,88,
+conbudou,1,88,
+colored_feces,0,88,colored_poop
+cock_bulge,0,88,
+cobayashi,1,88,
+coal_(artist),1,88,
+co_asomasom,1,88,"mosa_(pixiv),mosamosa"
+clawed_hands,0,88,
+chia_mio,1,88,
+cev_rosa,4,88,
+captain_america,4,88,
+candy_borowski,4,88,"candy_(nitw),inspector_mom_(nitw)"
+calebjb,1,88,
+cafet'zin_(artist),1,88,
+burnt_clothing,0,88,
+buck_(buckdragon),4,88,
+brown_tail_tuft,0,88,
+brown_foreskin,0,88,
+brouva,1,88,
+broadsword,0,88,broad_sword
+bright_light,0,88,
+bowser_logo,0,88,
+blur_(disambiguation),6,88,"blur,blurred,blurry"
+blue_pikmin,5,88,
+blowing_raspberries,0,88,
+bleakcat,1,88,
+blacknemera,1,88,
+black_sunglasses,0,88,
+biscuit_(dashboom),4,88,
+beware_the_shadowcatcher,3,88,
+ben_day_dots,0,88,
+belly_play,0,88,
+behemoth89,1,88,
+bearphones,4,88,
+bear_hand,3,88,俺正讀
+basch,1,88,
+barney_the_dinosaur,4,88,
+ballet_boots,0,88,
+azukipuddles,4,88,
+ayvee,1,88,
+ayakashi,5,88,
+atariboy,1,88,
+assumi,4,88,
+ass_to_pussy,0,88,
+ashley_(ashleyboi),4,88,
+antizero,1,88,
+anti-gravity_boobs,0,88,
+anthropornorphic,1,88,"digitt,hinauchi"
+anthro_claw,1,88,
+anal_tube,0,88,
+amniotic_sac,0,88,
+amanita,0,88,
+alice_(kairaanix),4,88,
+alberto_scorfano,4,88,
+air_pump,0,88,
+aggablaze,1,88,
+adjusting_hair,0,88,
+a1ph4w01v,1,88,
+34san,1,88,
+34from1800,1,88,
+zorro_re_(character),4,87,
+zeroseven,1,87,
+zempy,4,87,
+zeekerz,4,87,
+yukkooart,1,87,
+yinyue_(artist),1,87,
+ya-ya-tan,1,87,
+xxx,0,87,
+xlyuz,1,87,
+wzzzki,1,87,
+woofyrainshadow,1,87,
+weepinbelly,1,87,
+weapon_on_back,0,87,
+waywardmutt,1,87,"rileyy,waywardbutt"
+wasajoke,1,87,
+wardy,4,87,
+vixy_(hyilpi),4,87,
+valerie-v,1,87,
+valentina_(aimbot-jones),4,87,
+useful_bear,1,87,
+unwanted_knotting,0,87,
+uluri,1,87,
+twistingtoxic,1,87,
+turning,0,87,
+tsuki_akurei,4,87,
+trix_rabbit,4,87,
+trapped_in_condom,0,87,
+translucent_loincloth,0,87,
+toyification,0,87,
+top_pov,0,87,
+tool01k,1,87,
+throbbing_knot,0,87,
+thorin,4,87,
+thalislixeon,1,87,
+thai_text,7,87,
+tetsunoshin,4,87,tetsunoshin_(character)
+tentomon,5,87,
+tam_(tamfox),4,87,
+tail_garter,0,87,
+tahla,4,87,
+sulong_carrot,4,87,
+subaru331,1,87,すばる
+stylized_pubes,0,87,stylized_pubic_hair
+stocking_(pswg),4,87,
+stinger_tail,0,87,
+steelfire,4,87,
+statiik_(artist),1,87,statiik_derg
+starrffax_(fox_sona),4,87,
+spotted_bottomwear,0,87,
+spiked_glans,0,87,
+spiked_dildo,0,87,
+smoochum,5,87,
+sleep_mask,0,87,"sleeping_mask,sleepmask"
+skipper_(madagascar),4,87,
+skashi95,1,87,
+sitting_in_water,0,87,
+sinto,1,87,
+shrabby,1,87,
+shiitakemeshi,1,87,
+shigatake,1,87,
+shaking_orgasm,0,87,
+shadowed_face,0,87,
+shadaria,0,87,
+sein_kraft,4,87,seinkraft
+seeds,0,87,
+saphayla_(zelianda),4,87,
+sake_dish,0,87,
+sageofotherworlds,1,87,
+ruben_(djcoyoteguy),4,87,
+rubbing_eyes,0,87,
+roy_blake,4,87,
+roxy_bradingham,4,87,
+round_cloaca,0,87,
+rosheatfreak,1,87,
+resort,0,87,
+reed_(bearra),4,87,
+red_toenails,0,87,
+red_outline,0,87,
+red_hooves,0,87,
+rectangular_glasses,0,87,
+quotermain,1,87,
+purple_pubes,0,87,
+pun_pony,4,87,
+princess_shroob,4,87,
+pride_color_kerchief,0,87,
+pride_color_collar,0,87,
+power_rangers_spd,3,87,
+porygon2,5,87,
+poop_(artist),1,87,
+plasma_rifle,0,87,
+phinnherz,1,87,
+pattern_bandanna,0,87,
+painted_belly,0,87,
+osato-kun,1,87,osatokun
+older_ambiguous,0,87,
+nomu,5,87,
+nipple_bell,0,87,
+nina_morena_agil,4,87,
+nimbus_whitetail,4,87,
+nikuq_owata,1,87,
+neytiri,4,87,
+news_report,0,87,
+nectar,0,87,
+nazuranoke,1,87,
+nanoless,1,87,
+n31l_(artist),1,87,
+mzhh,1,87,
+muscle_mouse,4,87,muscle_mouse_(character)
+moschid,5,87,musk_deer
+monotone_spikes,0,87,
+monotone_fingernails,0,87,
+mocha_softpaw,4,87,
+mobian_monster,1,87,
+miyabita_cheetah,1,87,miyabitacheetah
+miri_rodgers,4,87,
+milkie_souris,4,87,
+micerunt,1,87,vucyak
+mew_mew_(undertale),4,87,
+melissa_sweet,4,87,
+matt_(wackyfox26),4,87,
+materclaws,1,87,
+mario_party,3,87,
+mario-grant,1,87,
+lovehinba,1,87,牝馬
+love_can_be_different,3,87,
+living_sex_toy_use,0,87,
+litchi666,1,87,
+lion_granny,1,87,獅子奶奶
+linkin,4,87,
+linked_thought_bubble,0,87,
+light_pupils,0,87,
+light_fingers,0,87,
+lezified,1,87,
+leongon,1,87,
+leokato,1,87,
+legged_snake,5,87,
+latex_leggings,0,87,
+laohu,1,87,
+kyubun,1,87,"kyubikun,rogenuchiha"
+kyle_(redrusker),4,87,
+ktq15,3,87,
+koekoek,1,87,koekoek19
+kissing_butt,0,87,
+keyhat_tk10,1,87,
+kenzofong,1,87,kenzo.
+kade_(savestate),4,87,
+jo-vee-al,1,87,
+insaneproxy_(artist),1,87,
+hypnofire86,1,87,firemario86
+hyper_clitoris,0,87,hyper_clit
+huge_muscle,0,87,
+hudson_(gargoyles),4,87,
+howxu,1,87,
+horse_(centaurworld),4,87,
+holly_applebee,4,87,
+holding_chest,0,87,
+heyimteedo,1,87,
+hemiclitores,0,87,hemiclitoris
+hellboy_(character),4,87,
+hand_on_another's_tail,0,87,
+grove_(game),3,87,
+grillo,1,87,
+green_spikes,0,87,
+green_lantern,3,87,
+green_foreskin,0,87,
+greedent,5,87,greedunt
+grandall_(character),4,87,
+graboiidz,1,87,
+gootraxian,5,87,
+glistening_cum,0,87,shiny_cum
+glin720,1,87,
+gerardson,1,87,
+genn_greymane,4,87,
+gala_(carmessi),4,87,
+furgeta,1,87,
+fur_(theterm),4,87,
+funny_face,0,87,
+fritz_the_cat_(character),4,87,
+frankie_(extremedash),4,87,
+frances_sugarfoot,4,87,
+forsburn,4,87,
+forestdale,3,87,
+flying_fox_(artist),1,87,
+flintlock,0,87,
+fire_conejo,1,87,
+fenrir_(smite),4,87,
+fake_dog_ears,0,87,
+exterio,4,87,
+executioner,0,87,
+eurasian_sparrowhawk,5,87,northern_sparrowhawk
+entropy_(billeur),4,87,
+energy_weapon,0,87,
+emotions,0,87,
+egger,4,87,
+drawfruit,1,87,
+drakthug,1,87,
+dotted_line_speech_bubble,0,87,
+dosent,1,87,
+donaught,1,87,
+dof,1,87,
+dodge_(brand),3,87,
+discomfort,0,87,
+didihell,1,87,
+dewy-eyedboy,1,87,
+darkdorito,1,87,
+dango_(food),0,87,
+cypher,4,87,
+crotch_kick,0,87,"crotch_kicked,crotch_kicking,kicked_crotch,kicking_crotch"
+corrvo,1,87,
+connor_the_gaomon,4,87,
+common_collared_lizard,5,87,"eastern_collared_lizard,oklahoma_collared_lizard,yellow-headed_collared_lizard,yellow_headed_collared_lizard"
+cocoline,4,87,
+cirkus,1,87,
+chrislhi,1,87,
+chirenbo,1,87,
+chewbacca,4,87,
+chessi,1,87,
+chef_uniform,0,87,
+cheetos,3,87,
+cheerful,0,87,
+chan_kiti_chan_(artist),1,87,
+chain_position,0,87,
+capuchin_monkey,5,87,"capuchin,cebinae"
+cannot_unsee,0,87,
+butt_press,0,87,
+bulumble-bee,1,87,
+bue_(character),4,87,
+bra_only,0,87,
+bone_pattern,0,87,
+bodyattk,1,87,
+blank_expression,0,87,
+big_sternocleidomastoid,0,87,
+big_latissimus_dorsi,0,87,
+bent_back,0,87,
+bartholomew_martins,4,87,
+balls_in_face,0,87,
+avey_(avey_aveon),4,87,
+average-hanzo,1,87,
+astaroth,4,87,
+ashley432,1,87,
+ashes,0,87,
+arrow_sign,0,87,
+arrkhal,1,87,
+arm_spots,0,87,
+arcarc,1,87,
+anne_kennel,4,87,
+anna_(luke154),4,87,
+andross,4,87,
+ancientonyx,1,87,ancient-onyx
+amon-sydonai,1,87,
+ambient_figure,0,87,
+allin,4,87,
+alicorn_oc,0,87,
+akkla,4,87,
+akasha_the_queen_of_pain,4,87,
+aerrow,4,87,
+aerosaur83,1,87,
+abebi_(zp92),4,87,
+1397_david,1,87,
+zudomon,5,86,
+z-afiro,1,86,
+yukikaze_panettone,4,86,
+wrendeer,1,86,blackbeak_(artist)
+wombat,5,86,"vombatid,vombatidae"
+wetness_indicator,0,86,
+wearing_sign,0,86,
+vsdrawfag,1,86,
+void,4,86,
+vapplepie,1,86,
+vaporeon_copypasta,3,86,
+turquoise_body,0,86,
+trenco,5,86,
+toukurou,1,86,
+torotale,1,86,
+tom_(lm),4,86,
+tieldraggy,1,86,
+threaded_by_tongue,0,86,
+thigh_jiggle,0,86,
+thewinterbunny,1,86,
+theridiid,5,86,"cobweb_spider,comb-footed_spider,comb_footed_spider,tangle-web_spider,tangle_web_spider,theridiidae"
+the_king's_avatar,3,86,
+text_censor,0,86,
+tempting,0,86,
+temiest,1,86,
+teletubby,5,86,
+team_magma,3,86,
+teal_topwear,0,86,
+tartan_bottomwear,0,86,
+taree,4,86,
+talilly,1,86,
+tail_on_leg,0,86,
+swollen_pussy,0,86,
+superslickslasher,1,86,
+summon,5,86,
+stylized_chastity_cage,0,86,
+strohdelfin,1,86,
+stimpy_j._cat,4,86,"stimpson_j._cat,stimpson_j_cat,stimpson_stimpy_j._cat,stimpson_stimpy_j_cat,stimpy,stimpy_(r&s),stimpy_(ren_&_stimpy),stimpy_(ren_and_stimpy),stimpy_j_cat"
+spedumon,1,86,
+soren_ashe,4,86,
+solo_cup,0,86,
+soarin_(soarinarts),4,86,
+snowroserivenstar,1,86,
+skyshadow_(artist),1,86,
+sissel_(repeat),4,86,
+simamanta,1,86,
+sillydraco,1,86,
+shinoda_hamazaki,1,86,"shinodahamazaki,shinodakuma"
+shetland_sheepdog,5,86,sheltie
+shadowy_figure,0,86,
+shadart,1,86,
+serona_shea,4,86,
+senpailove,1,86,
+seel,5,86,
+searching,0,86,
+saddnesspony,1,86,
+rumpaf,1,86,rumpaf_(artist)
+rubber_transformation,0,86,
+rpg_densetsu_hepoi,3,86,
+rocket_boots,0,86,jet_boots
+ribbed_dildo,0,86,
+reverse_zangoose_day,3,86,
+red_sofa,0,86,red_couch
+rebirth,0,86,
+ravieel,1,86,
+rand,1,86,
+rainbow_cum,0,86,
+prisonsuit-rabbitman,1,86,
+princess_(paigeforsyth),4,86,
+pride_rock,0,86,
+pozole,1,86,
+poppy_(animal_crossing),4,86,
+pokémon_colosseum,3,86,"pokemon_coleseum,pokemon_coliseum,pokemon_colisuem,pokemon_colliseum,pokemon_collisuem,pokemon_colosseum,pokémon_coleseum,pokémon_coliseum,pokémon_colisuem,pokémon_colliseum,pokémon_collisuem"
+planz34,1,86,
+phylloaurea,1,86,
+pharah_(overwatch),4,86,
+peyotethehyena,1,86,
+penile_breasts,0,86,
+peach_(peachymewtwo),4,86,
+parallax05,1,86,
+orinette_(ceehaz),4,86,
+onstatobol,1,86,
+onigiri_punch,1,86,
+oliver_(fuel),4,86,
+nyn_indigo,4,86,
+nude_humanoid,0,86,
+notched_fin,0,86,
+nohni_wabanda,4,86,
+nogitsunegabriel,1,86,rxjaguar
+nintendo_badge_arcade,3,86,
+nicobay_(artist),1,86,
+neonatta,4,86,
+nat_127,1,86,
+nastacula,1,86,
+namelessenemy,1,86,
+namekian,5,86,
+multicolored_tank_top,0,86,
+monki,4,86,
+mizuty,1,86,
+mistressadaira,1,86,
+mentha,1,86,menthak0
+meeya,4,86,
+mechanical_leg,0,86,
+marine_taur,5,86,
+lucia_(paledrake),4,86,
+lolmaster,1,86,
+llirika,1,86,
+lipstick_(object),0,86,
+light_shirt,0,86,
+lawn_chair,0,86,
+laceration,0,86,
+kouh,1,86,
+knees_bent,0,86,
+kingcrazy,1,86,
+kensan,1,86,
+kaikururu,1,86,
+just_shapes_and_beats,3,86,
+julia_woods,4,86,
+john_(meesh),4,86,
+jakel009,1,86,
+jackie_hopps_(grummancat),4,86,
+jackbox_games,3,86,
+inuyasha_(inuyasha),4,86,
+intense_orgasm,0,86,
+inktober_2022,3,86,
+human_penetrating_male,0,86,
+horumu,1,86,norubahu
+homebro,1,86,
+hi-ku,1,86,
+hershey_the_cat,4,86,
+henri_(r3drunner),4,86,
+heart_keyhole_panties,0,86,
+heart_jewelry,0,86,
+hand_under_breast,0,86,
+gripping_sound_effect,0,86,
+glistening_thigh_highs,0,86,shiny_thigh_highs
+glistening_handwear,0,86,shiny_handwear
+gelangweiltertoaster,1,86,
+geek,0,86,
+gaslight,4,86,
+garden_warfare,3,86,"garden_warfare_2,plants_versus_zombies:_garden_warfare,plants_versus_zombies:_garden_warfare_2,plants_versus_zombies_garden_warfare,plants_versus_zombies_garden_warfare_2,plants_vs._zombies:_garden_warfare,plants_vs._zombies:_garden_warfare_2,plants_vs._zombies:_gw,plants_vs._zombies:_gw2,plants_vs._zombies_garden_warfare,plants_vs._zombies_garden_warfare_2,plants_vs_zombies:_garden_warfare,plants_vs_zombies:_garden_warfare_2,plants_vs_zombies_garden_warfare,plants_vs_zombies_garden_warfare_2,pvz:_garden_warfare,pvz:_garden_warfare_2,pvz:_gw,pvz:_gw2,pvz_gw,pvz_gw2"
+fuzzychicken,1,86,
+fleshysack,1,86,
+flea,5,86,fleas
+fishnet_bottomwear,0,86,
+fish_hook_piercing,0,86,
+fawnsdraws,1,86,
+falcon_woodwere,4,86,
+erraz_(group17),4,86,
+eonbr,1,86,eonshinato
+effulgent_dragon,5,86,
+edtertainerd,1,86,
+drinking_potion,0,86,
+dress_pull,0,86,
+dowski,3,86,
+doom13,1,86,doomy
+dissolving_clothing,0,86,dissolving_clothes
+dasoka,1,86,
+dashthefox,1,86,
+dante_(dmc),4,86,
+damienkamien,1,86,
+crizbn,1,86,
+crentonigen,1,86,
+crashgall,1,86,
+cookie_jar,0,86,cookie_jars
+cone_of_shame,0,86,
+cloudsdale,0,86,
+chrysolophus,5,86,
+chrisarmin,1,86,
+chinchou,5,86,
+chest_(container),0,86,
+cheezebawls,1,86,
+chainmail_bikini,0,86,
+cereal_box,0,86,
+castrodour,1,86,
+casseroleafy,1,86,
+canadianbacon,1,86,
+canadian,0,86,
+campsite,0,86,
+brown_vest,0,86,
+bouncy,0,86,
+borealis_(live-a-hero),4,86,
+boar_stag144,1,86,
+black_rhinoceros,5,86,"black_rhino,hook-lipped_rhinoceros,hook_lipped_rhinoceros"
+black_headphones,0,86,
+black_genitals,0,86,
+black_clitoris,0,86,black_clit
+biskblizk,1,86,
+batesz2,1,86,
+bailey_(naughtymorg),4,86,
+aya_blackpaw,4,86,
+athletic_andromorph,0,86,
+ash_(g-h-),4,86,
+aryn_(the_dogsmith),4,86,
+arthur_mathews,4,86,
+arlon3,1,86,llama-butt
+arabian_clothing,0,86,
+apple_jewel_(mlp),4,86,
+anus_on_glass,0,86,
+andikapatok,1,86,
+amorous,3,86,
+americananomaly_(artist),1,86,
+amber_(caelum_sky),4,86,
+amanda_(smile4amanda),4,86,
+alumx,1,86,
+aidan_(doubledog),4,86,
+adaline_(sharemyshipment),4,86,
+5bluetriangles,1,86,
+00284_(character),4,86,
+zombineko,1,85,
+yin_(yin_yang_yo!),4,85,yin_(yin_yang_yo)
+ye_xiu_(tka),4,85,
+yamatopawa,1,85,sharpiesabre
+xxmysteryxx,1,85,
+xia_(cydonia_xia),4,85,
+xexus,1,85,
+xduskstarx,1,85,
+wyerframez,1,85,
+wuirnad,1,85,
+wolfconfnsfw,1,85,
+willow_(glopossum),4,85,
+widow_spider,5,85,"button_spider,latrodectus"
+wicketrin,1,85,
+white_antlers,0,85,
+waspsalad,1,85,
+wahafagart,1,85,
+vortigaunt,5,85,vortigaunts
+vixeyhuskybutt_(artist),1,85,
+vibur,1,85,
+vex_(alibiwolf),4,85,
+vanillaghosties,1,85,
+valderic_blackstag,1,85,"ebikyun,valdericblackstag"
+vaginal_orgasm,0,85,
+ultrazeta120,1,85,
+two_tone_shorts,0,85,
+tweezalton,1,85,
+throwing_character,0,85,
+thedirtyshark,1,85,dirtyshark
+the_three_little_pigs,3,85,three_little_pigs
+text_on_footwear,0,85,
+tetsuo_oshiba,1,85,
+technicolorpie,1,85,technicolor_pie
+tayferret,1,85,
+tao_(rubber),4,85,
+tan_footwear,0,85,beige_footwear
+tail_holding_object,0,85,
+taharon,1,85,
+sumo_wrestler,0,85,
+stacey_(goof_troop),4,85,stacey_(a_goofy_movie)
+spotted_underwear,0,85,
+spooky_(ahegaokami),4,85,
+spinarak,5,85,
+spade_(tatsuchan18),4,85,
+snes_controller,0,85,
+small_clothing,0,85,
+slouch_hat,0,85,
+slime_(dragon_quest),5,85,
+skydiving,0,85,
+skunk_bunk,1,85,
+sirod,1,85,
+sir_aaron,4,85,
+silver_fox_(kemono_friends),4,85,
+she_tikin,1,85,
+shauna_(pokémon),4,85,shauna_(pokemon)
+seff_(character),4,85,
+scynt,4,85,
+scratazon,5,85,
+scottytheman,1,85,
+sam_(orf),4,85,
+saber_ibuki-douji,4,85,
+rorick_kintana,4,85,
+roommate,0,85,
+robotic_reveal,0,85,
+roasting,0,85,
+riding_dildo,0,85,
+reindeer_antlers,0,85,
+reddyrennard,1,85,
+redacted,1,85,
+purple_chest,0,85,
+profile_view,0,85,
+pride_color_neckerchief,0,85,
+pregnant_maleherm,0,85,
+plumed_basilisk,5,85,"double_crested_basilisk,green_basilisk,jesus_christ_basilisk,jesus_christ_lizard"
+playstation_logo,0,85,
+pink_heels,0,85,
+pileated_woodpecker,5,85,
+pet_foolery,1,85,
+patty_(vimhomeless),4,85,
+pattern_leg_warmers,0,85,
+patriotism,0,85,patriotic
+park_horang,1,85,
+oversized_ball_gag,0,85,
+orange_membrane,0,85,
+orange_lipstick,0,85,
+ondrea_(ondrea),4,85,
+on_knee,0,85,
+on_ball,0,85,
+oddbaillie,1,85,anoddscot
+object_between_cheeks,0,85,
+oberon_(warframe),4,85,
+oar,0,85,
+null_(sssonic2),4,85,
+northern_dragon,5,85,
+no_shading,0,85,
+nipple_covers,0,85,
+nikki_blackcat,4,85,
+new_brian,4,85,
+netchy_boo,1,85,
+nam,1,85,
+naikuma,1,85,
+ms._moona,4,85,
+movie_reference,0,85,
+monotone_neck,0,85,
+monotone_glans,0,85,
+micro_pov,0,85,
+mesoplush,1,85,mesoplush_(artist)
+memegmu,1,85,
+mara_(gunmouth),4,85,
+malkai_(malkaiwot),4,85,
+lucifer,4,85,
+loose_footwear,0,85,
+looking_at_sibling,0,85,
+looking_at_own_butt,0,85,
+longcat,3,85,long_cat
+llydian_(fyixen),4,85,
+little_black_dress,0,85,
+line_tail,0,85,
+lilbluefoxie,1,85,
+liberty_(bluecoffeedog),4,85,
+leponsart,1,85,
+leg_armor,0,85,
+lazzylad,1,85,
+laid_back,0,85,
+lafille,4,85,
+ladies_of_the_shade,4,85,
+lace_stockings,0,85,
+kuugo_(lagoon_lounge),4,85,
+kuni,1,85,zombiebunnyboy
+kumammoto_(artist),1,85,
+kubo_(eebahdeebah),4,85,
+kraid,4,85,
+knavie_(k_navie),4,85,
+kitchen_counter,0,85,
+killer_instinct,3,85,
+kiba24,1,85,
+kheltari,1,85,
+kegel_weight,0,85,
+kawma,1,85,"capn_karma,capnkarma,cutecapnkarma,itiskarma,karma_(artist),karma_p,karmapkarma,kawma_p,kawmap,kawmapkarma,kparote22,platinumkawma,roggamer22"
+kawa_(artist),1,85,
+kael_tiger,1,85,"kaeltiger,lilkael"
+ka_sarra,4,85,
+julia_(apizzatrash),4,85,
+jollyville,1,85,
+jolly_the_lizard,1,85,
+jockstrap_on_face,0,85,
+jacques00,1,85,
+iridium,4,85,
+inusen,1,85,
+in_pokéball,0,85,"in_poke_ball,in_pokeball,in_poké_ball,inside_poke_ball,inside_pokeball,inside_poké_ball,inside_pokéball"
+impregnation_attempt,0,85,
+ikazu,1,85,
+hydra_problems,0,85,
+human_dominating_anthro,0,85,
+huge_flare,0,85,
+horse_taur,5,85,horsetaur
+holding_wrench,0,85,
+hipster,0,85,
+hazel,4,85,
+harvin,5,85,
+harness_ring,0,85,
+hakuna,4,85,
+gralicbutter,1,85,smlieichi
+goosebumps,3,85,
+golurk,5,85,
+golden_pheasant,5,85,chinese_pheasant
+glendale_(centaurworld),4,85,
+gettar82,1,85,
+gariyuu,4,85,
+gaon,4,85,
+funi,1,85,
+frostedscales,1,85,
+fox_costume,0,85,
+flo_(overflo207),4,85,
+flies_for_smell,0,85,
+fingerless,0,85,
+filter,0,85,
+fenrir_(amakuchi),4,85,
+felix_the_cat,4,85,
+fb1907,1,85,
+fapp,3,85,
+fang-and-fantasy,1,85,
+fakeanna,1,85,
+eymbee,1,85,
+evil_laugh,0,85,
+erik_d'javel,4,85,
+emerald-physics,1,85,
+ember_nifflehiem,4,85,ember_dobbie
+eltaile,1,85,el42
+eastern_bluebird,5,85,
+duskihorns,1,85,
+drudgegut,4,85,
+drawn_together,3,85,
+drawings,0,85,
+doodlemark,1,85,"chub-wub,doodle-mark"
+diploma,0,85,
+devil_costume,0,85,
+decorative_scarab,0,85,"decorative_scarab_beetle,egypt_scarab,egyptian_scarab,funerary_scarab,scarab_(amulet),scarab_(artifact),scarab_(decoration),scarab_amulet,scarab_artifact,scarab_beetle_(amulet),scarab_beetle_(artifact),scarab_beetle_(decoration),scarab_beetle_amulet,scarab_beetle_artifact,scarab_beetle_decoration,scarab_decoration"
+death_stare,0,85,
+darkingart,1,85,
+dark_brown_fur,0,85,
+dan_(smarticus),4,85,
+dabbledraws,1,85,
+cutting_board,0,85,
+curemitsuba,1,85,
+crystal_humanoid,5,85,"crystalline_humanoid,humanoid_crystal"
+cookie_(critterclaws),4,85,
+cogsfixmore,1,85,
+cocky_smile,0,85,
+cloth_diaper,0,85,
+clicking,0,85,
+city_lights,0,85,
+chun-ni,4,85,
+choking_on_penis,0,85,choking_on_cock
+chihiro_ogino,4,85,
+cheek_horn,0,85,
+charzcavern,1,85,
+cato_(peritian),4,85,
+caprine_penis,0,85,"goat_penis,sheep_penis"
+capper_dapperpaws,4,85,"capper_(mlp),capper_dapperpaws_(mlp)"
+canton,0,85,
+buried_in_sand,0,85,
+brown_head_tuft,0,85,
+boo-boo_bear,4,85,"boo_boo_bear,booboo_bear"
+body_fur,0,85,
+bmo,4,85,
+blood_spray,0,85,
+blackby,1,85,black_berry
+black_and_white_hair,0,85,white_and_black_hair
+bill_grey,4,85,
+bewitchedink,1,85,"l2edpanda,redpandarama"
+bessy_(here_there_be_dragons),4,85,
+bat_(petruz),4,85,
+ball_tattoo,0,85,"ball_tattoos,balls_tattoo,balls_tattoos,tattoo_on_ball,tattoo_on_balls,tattooed_ball,tattooed_balls"
+baleen_whale,5,85,great_whale
+baburusushi,1,85,
+azul_alexander,4,85,
+artoonu,1,85,
+arniro,1,85,
+armguards,0,85,
+ardan_norgate,1,85,
+arawn_(howlfeiwolf),4,85,
+april_(zigzagmag),4,85,
+anna_(angels_with_scaly_wings),4,85,anna_(awsw)
+andytakker,1,85,
+anal_juice_on_penis,0,85,
+ambient_spider,5,85,
+alexi_tishen,4,85,
+alex_dowski,4,85,
+airsicksubset,1,85,
+acacia_dune,1,85,
+aaliyah_(oc),4,85,
+467adv,1,85,
+zoke,1,84,
+zhenai,1,84,
+yiffmasters,1,84,
+xefra,4,84,
+white_sheets,0,84,
+white_belt,0,84,
+water_wings,0,84,
+waifu,0,84,
+waffle_(ashwaffles),4,84,
+vuko-jebina,1,84,
+vivian_(animal_crossing),4,84,
+vexyvoo,1,84,
+verbal_degradation,0,84,
+vee_stitch,1,84,
+vaultlad,1,84,
+vaginal_footjob,0,84,"cunt_foot_job,cunt_footjob,pussy_foot_job,pussy_footjob,vag_foot_job,vag_footjob,vaginal_foot_job"
+two_tone_bikini,0,84,
+twee,4,84,
+tracy_vale,4,84,
+toxic-boner,1,84,
+totally_tubular_coco,4,84,
+toruu,1,84,
+torkoal,5,84,
+tiramisu_skunk,4,84,
+tigerfestivals,1,84,
+thunderbolt_the_chinchilla,4,84,
+thomson's_gazelle,5,84,"thompson's_gazelle,thompson_gazelle,thompsons_gazelle,thomson_gazelle,thomsons_gazelle,thomspon_gazelle,tommie_gazelle"
+the_wolf_and_the_seven_little_goats,3,84,
+the_sole_survivor_(fallout),4,84,
+the_raccoons,3,84,
+the_jackbox_party_pack,3,84,"jackbox_party_pack_3,jackbox_party_pack_4,jackbox_party_pack_5,jackbox_party_pack_6,jackbox_party_pack_8"
+tegon_(dsc85),4,84,
+tatara94,1,84,
+taratsu_(character),4,84,
+tanetomo,4,84,
+sushiartstudio,1,84,
+striped_leg_warmers,0,84,
+starfish_bra,0,84,
+spotted_exoskeleton,0,84,
+sorcererlance,1,84,paladingalahad
+smoothie,0,84,
+slit_throat,0,84,
+slayers,3,84,
+sitri_(james_howard),4,84,
+sirn_0121,1,84,
+sia_(ebonycrowned),4,84,
+shurueder,1,84,
+shinigami_uniform,0,84,
+shantae_(monkey_form),4,84,
+shan3ng,1,84,
+sexual_torture,0,84,
+see_is_see,1,84,
+see-saw,1,84,
+sealled,1,84,
+samanator_club,1,84,
+saffron_(safurantora),4,84,
+rozick,4,84,
+rick_marks,4,84,
+rheumatism,1,84,
+registeel,5,84,
+red_apron,0,84,
+ramudey,1,84,
+rainbow_mika,4,84,
+rainbow_kerchief,0,84,
+radiance_(mlp),4,84,
+queen_oriana,4,84,
+pursed_lips,0,84,
+purple_light,0,84,
+purple_cape,0,84,
+public_birth,0,84,
+protoceratops,5,84,
+progression,0,84,
+potty,0,84,
+pokémon_breeder,4,84,pokemon_breeder
+pocketcookie,1,84,
+phone_view,0,84,
+petrabyte_incast,4,84,
+percy_technic,1,84,
+penis_through_underwear,0,84,
+pegasi_guard_(mlp),4,84,
+peegus,1,84,
+paw_on_face,0,84,
+ovni,4,84,
+orb_robot,5,84,
+opal_(al_gx),4,84,
+one_sock,0,84,
+one-handed_face_fucking,0,84,
+olivia_may,4,84,
+old_spice,3,84,
+ogling,0,84,
+object_on_lap,0,84,
+nora_(zummeng),4,84,
+noktivus,1,84,"neonpossum,wingedwolf"
+neterixx,1,84,
+nekopara,3,84,
+nekomajinsama,1,84,
+narwhal,5,84,
+naaraskettu,1,84,shiroiwolf
+multicolored_egg,0,84,
+multicolored_bikini,0,84,
+multi_cumshot,0,84,
+mr._deathcat,1,84,
+mouse_girl_(youki029),4,84,
+mitarashi,1,84,
+mind_wipe,0,84,
+milkiipetals,1,84,
+mewgle_(character),4,84,
+memory_match,4,84,
+melancholicmash,1,84,
+mega_man_zero,3,84,
+marth,4,84,
+mankey,5,84,
+malk,4,84,
+mairi_nigalya_ponya,4,84,
+mad_max,3,84,
+mabyn,1,84,tatter
+lucusold,1,84,
+loodncrood,1,84,
+long_(zerofox),4,84,
+lizard_soup,1,84,
+living_toilet,0,84,
+lingrimm,1,84,
+lemonlime,1,84,
+leg_back,0,84,
+laurel_dog,1,84,cabigoola
+lana_banana_(felino),4,84,
+kokoni,1,84,
+kohaku_(fuu),4,84,amber_loli_(character)
+knon,1,84,
+kittykuscell,1,84,
+kissy_face,0,84,
+kinkyturtle,1,84,
+kingfisher,5,84,"alcedinid,alcedinidae,king_fisher"
+kenshin187,1,84,
+kemonon,1,84,
+kemonobito,1,84,けものびと
+kappy_(character),4,84,
+kangaroo_mouse,5,84,
+kalfy,1,84,llithix
+joe_rosales,1,84,
+jinxit,1,84,"dont-jinxit,dont-jinxit_(artist),dont_jinxit,dont_jinxit_(artist),jinxit-studios,jinxit-studios_(artist),jinxit_(artist)"
+jazz_jackrabbit,4,84,
+jace_zantetsukin,4,84,
+jace_apollo,1,84,
+jabberjaw_(character),4,84,
+jabberjaw,3,84,
+ithilwen_galanodel,4,84,
+ishiga-san,1,84,
+introduction,0,84,
+hulk,4,84,the_hulk
+hospitallerinaboat,1,84,
+holding_net,0,84,
+hiroshi-tea,1,84,
+heftyotter,1,84,
+hazumazu,1,84,
+guin,4,84,
+gold_armband,0,84,
+giran,4,84,
+gible,5,84,
+gharn_(vju79),4,84,
+g-blue16,1,84,"chibiusa165,scaitblue"
+footjob_while_penetrated,0,84,
+flir_(rabbit),4,84,
+flexible_survival,3,84,
+fig_leaf,0,84,
+ferloo,4,84,
+felling_axe,0,84,
+feces_on_leg,0,84,feces_on_legs
+fantasia,3,84,
+ennmedoo,1,84,
+elranno,1,84,
+ejaculating_dildo,0,84,
+egan,4,84,
+efenrai,1,84,
+eddie_(orf),4,84,
+easter_breasts,0,84,
+dryftwood62,1,84,
+drifblim,5,84,
+dorito_ru,1,84,
+digidestined,4,84,
+derek_(kitaness),4,84,
+deoxi,1,84,
+dark_blue_hair,0,84,
+darius_leodragon,1,84,
+daria_lang,4,84,
+cum_on_hat,0,84,
+crotchhugger,0,84,
+crane_(machine),0,84,
+core,0,84,
+comfy,0,84,
+coiling_around_penis,0,84,
+cloudy_kitty,1,84,cloudy-kitty
+chrisbmonkey,1,84,
+character_bio,0,84,
+cartoon_physics,0,84,
+cap.grolarbear,1,84,
+canister,0,84,
+brutus_(twokinds),4,84,
+brian_reynolds,1,84,toonfx
+bremonqueen_(artist),1,84,
+bouncing_bulge,0,84,
+boarred,1,84,
+blood_on_breast,0,84,
+beta_tyson,4,84,
+bdanimare,1,84,
+bayron_(character),4,84,
+balros_(echoen),4,84,
+b-dorai,1,84,
+aztep_(azzyyeen),4,84,azzy_(azzyyeen)
+atsuii,1,84,
+arms_around_waist,0,84,
+ardidon,1,84,
+arcus_valarian,1,84,
+ara_(kin),4,84,
+american_mcgee's_alice,3,84,
+alin_raven,1,84,alinraven
+alexis_(character),4,84,
+aleidom,1,84,
+aiming_at_viewer,0,84,
+ailurid_humanoid,5,84,
+aerys,4,84,
+8horns,1,84,
+zudragon,1,83,
+zigword,1,83,zig-word
+zel_(interspecies_reviewers),4,83,
+zairiza,1,83,
+wwredgrave,1,83,
+woong,1,83,
+wildcatf14,1,83,
+whygena,1,83,"whygena-draws,whygena-draws_(artist),whygena_(artist),whygena_draws,whygena_draws_(artist)"
+whip_(dreamkeepers),4,83,
+warpstone,0,83,
+walking_towards_viewer,0,83,
+viv_(lowkeytoast),4,83,
+viktor2,1,83,
+vensicle,1,83,"venchizu,vennightsky"
+ulya,4,83,
+tug_of_war,0,83,
+tufted_deer,5,83,tuft_deer
+tsoup,1,83,
+tsbellatre,1,83,
+tristan_knight,4,83,
+trial_captain_mallow,4,83,"mallow_(pokemon),mallow_(pokémon)"
+triakid,5,83,triakidae
+trexqueen,1,83,
+tongue_play,0,83,
+tobacco,0,83,
+to-be-named-later,4,83,
+tja,1,83,
+tinymunch,1,83,
+tina_leyk,1,83,jaxxblackfox
+timtam,4,83,
+therasis,1,83,
+thehoneybutter,1,83,
+tentacle_pit,0,83,
+tengo,1,83,
+tailmouth_(species),5,83,
+suzamuri,1,83,
+submerged_arms,0,83,
+study,0,83,
+stormy_flare_(mlp),4,83,
+storage_room,0,83,
+sprucy,1,83,
+spotted_neck,0,83,
+spectre,5,83,specter
+song_lyrics,0,83,
+sliding_door,0,83,
+slav_squat,0,83,
+shep,1,83,
+shadow_wolf,4,83,
+scene_interpretation,0,83,
+sataenart,1,83,
+sascha_(hypnofood),4,83,
+sara_(sailoranna),4,83,
+samantha_(infinity_train),4,83,
+salt_(paladins),4,83,
+saliva_on_butt,0,83,
+ryuu_majin,1,83,ryuumajin
+rotto_(mrrottson),4,83,
+robbery,0,83,
+rin_tyan,1,83,
+retter,4,83,
+rektalius,1,83,
+rango_(movie),3,83,
+rakihiro,1,83,dreikaze
+pumping,0,83,
+pulling_panties,0,83,
+puff_(softestpuffss),4,83,
+psp_console,0,83,
+print_dress,0,83,
+prettypaddedprincess,1,83,calimarip
+president_alexander,1,83,
+porygon2z,1,83,
+podium,0,83,
+plinko,1,83,
+pixiv_fanbox,3,83,
+pink_toes,0,83,
+piglin,5,83,piglin_brute
+petilil,5,83,
+pepper_(wonderslug),4,83,
+patch_(disambiguation),6,83,"patch,patch_(character),patches,patches_(character)"
+partially_exposed_penis,0,83,
+paperlover,1,83,
+panties_around_ankle,0,83,
+pandx,1,83,
+oz_(wrng),4,83,
+owen_edwolf,1,83,
+opekun,4,83,
+numel,5,83,
+nikki_(saucy),4,83,
+nhl,3,83,
+nervous_grin,0,83,
+neoncel,1,83,
+navirou,4,83,
+nantangitan,4,83,
+name_in_narration,0,83,
+multicolored_headphones,0,83,
+mostlyfunstuff,1,83,
+mossa,1,83,
+morsectuum,5,83,
+moonski,1,83,
+moonshine_(miso_souperstar),4,83,
+monuke30,1,83,hyakkankan
+monotone_egg,0,83,
+monogatari,3,83,
+molly_fullin,4,83,
+miraoff,1,83,
+mettle_winslowe,4,83,
+marykimer,1,83,
+mao_otter,4,83,
+mantis_humanoid,5,83,
+mama-hyena,1,83,
+malphas_(enginetrap),4,83,
+malina_(helltaker),4,83,
+magumomo,1,83,
+magazine_(gun),0,83,
+luuriolu,1,83,
+lovebird,5,83,love_bird
+looking_annoyed,0,83,
+lizard_(rain_world),5,83,lizards_(rain_world)
+lingonberry,0,83,
+leo_llama,1,83,
+len_(focus),4,83,
+layla_(mrdirt),4,83,
+latecustomer,1,83,
+landing,0,83,
+laika_horse,4,83,laika_(vydras)
+lafontaine,3,83,
+kpnsfw,1,83,
+koluthings,1,83,
+klee_(genshin_impact),4,83,
+kitsuneten,1,83,"matchapaw,noremaataw,wataameron"
+kintubaovo,1,83,
+king_dice,4,83,
+kazat,1,83,
+kaban-chan,4,83,"bag-chan,bag_(kemono_friends),bag_chan,kaban_(kemono_friends),kaban_chan"
+k.k._slider_album_redraw,3,83,
+jägermeister,3,83,jagermeister
+juniper_(wanderlust),4,83,
+jumping_spider,5,83,"salticid,salticidae"
+john_constantine,4,83,
+jerome_jacinto,1,83,"chichapie,juruken,sinto619"
+jensca,4,83,
+jenny_(slither),4,83,
+jaque_smith,4,83,
+james_(the-jackal),4,83,
+isher,4,83,
+inubikko,1,83,"inubiko,urabiko"
+inkybeaker,1,83,jinyaranda
+icariusunlimited,1,83,askamberfawn
+i_0rai,1,83,
+hyper_teats,0,83,
+huntress_(risk_of_rain),4,83,
+hit_ton_ton,1,83,
+high_cut_bikini,0,83,
+henry_harris_baxter,4,83,
+heart_in_pupils,0,83,
+hdoom,3,83,
+hatsumiilkshake,1,83,
+hatakerub,1,83,
+harag,1,83,
+hair_sheep,5,83,
+h1draw,1,83,
+gwen_(zaggatar),4,83,
+gutter-bunny,1,83,
+gustav,4,83,
+gulpin,5,83,
+guin_saga,3,83,
+guards,0,83,
+grumpus,5,83,
+growingdragon,1,83,
+gregory_horror_show,3,83,
+green_cape,0,83,
+granbun,4,83,
+grabbing_bedding,0,83,
+girly_pred,0,83,
+gami_cross,4,83,
+game_and_watch,3,83,
+galaxyviolet,1,83,koro_kizama
+gaiawolfess,1,83,
+gaghiel,4,83,
+fuko,4,83,
+fukmin-dx,1,83,
+fruit_juice,0,83,
+frankenstein's_monster,4,83,frankensteins_monster
+foxglove_(cdrr),4,83,
+food_transformation,0,83,"food_tf,tf_into_food,transformation_into_food"
+flamingbeaver,1,83,
+fingers_between_toes,0,83,
+filled-in_censorship,0,83,
+fenrir_(disambiguation),6,83,fenrir
+felipunny,4,83,
+feetymcfoot,1,83,
+feelers,0,83,
+falseseke,1,83,
+ezo_red_fox_(kemono_friends),4,83,
+extreme-ember,1,83,
+extra_credit,0,83,
+eve_cadrey,4,83,
+evalion_(character),4,83,
+elonga,1,83,
+elkir,1,83,
+eleode,1,83,
+elekid,5,83,
+ekayas,1,83,
+ehada,1,83,
+ebonyrubberwolf,1,83,
+drawpile,3,83,
+dracomon,5,83,
+draco_(dragonheart),4,83,
+donuts72,1,83,
+dongoverlord,1,83,"freddyfazbara,freddyfazbara_(artist)"
+dom/sub,0,83,
+dogrot,1,83,
+dipstick_toes,0,83,
+deflation,0,83,
+dascarl,1,83,
+dainoth,1,83,
+cybertuna,1,83,
+cyberlord1109,1,83,
+cum_on_slit,0,83,
+crimsoncreaturecreations,1,83,
+coast_(artist),1,83,"coast-art,d-yoshi"
+clarisse_(sabrina_online),4,83,
+claire_o'conell,4,83,claire_(skidd)
+chemicals,0,83,
+chell,4,83,
+chaco_(cave_story),4,83,
+carla_guzman_(bzeh),4,83,
+captain_neyla,4,83,constable_neyla
+capreoline_humanoid,5,83,
+capra_demon,5,83,
+canteen,0,83,
+cancatbeans,1,83,
+canada_goose,5,83,canadian_goose
+camber,4,83,
+bronypanda,1,83,
+bow_headwear,0,83,
+bootleggz,1,83,
+blusky,4,83,
+bloodline_(webcomic),3,83,
+blinx_the_time_sweeper,3,83,
+black_and_green,0,83,green_and_black
+bernard_doove,1,83,
+batter,0,83,
+bancholeomon,5,83,banchouleomon
+balls_on_nose,0,83,
+balls_focus,0,83,
+balanar_the_night_stalker,4,83,
+bagging,0,83,
+badlandsdrws,1,83,
+avian-king,1,83,
+ateni,1,83,
+ass_to_other_mouth,0,83,
+ashiji_(character),4,83,
+aria_(neracoda),4,83,
+arctic-sekai,1,83,
+archermagnum,4,83,
+ambiguous_threading,0,83,
+ambercoyote,1,83,"jiggystiggy,zip_zap"
+amalj'aa,5,83,
+alhazred_(ralek),4,83,
+airachnid,4,83,
+aikaanarchy,1,83,
+after_frame_focus,0,83,
+action_figure,0,83,
+acchan_(arkaid),4,83,
+abyssinian_cat,5,83,
+20th_century_fox,3,83,
+18:23,0,83,
+zmsfm,1,82,
+yukio_ammy,1,82,
+yellow_boots,0,82,
+yashak_(artist),1,82,
+wrist_on_leg,0,82,
+wolfforhire,1,82,
+wiping,0,82,
+webber,4,82,
+water_balloon,0,82,
+vitiligo,0,82,
+virus-20,1,82,
+vera_(vera),4,82,
+vendor_stand,0,82,
+velvela,4,82,
+velociawesome,1,82,
+vault_dwellers_(fallout),4,82,
+varanis_blackclaw,4,82,
+vaginal_impalement,0,82,
+user_cpsf8285,1,82,
+unusual_scat,0,82,
+unibro_pi,1,82,
+under10mato,1,82,
+tying_hair,0,82,
+tybalt_(animal_crossing),4,82,
+tugging_clothing,0,82,
+tomierlanely,3,82,
+tokami,4,82,
+together_(disambiguation),0,82,together
+toe_socks,0,82,toesocks
+thigh_up,0,82,
+thelivingtrashcan,1,82,
+text_on_pants,0,82,
+text_game,7,82,text_adventure
+telson,1,82,
+tanukimaru,1,82,
+tanashi,4,82,
+tamarinfrog,1,82,"behindtg,bottledupcomic,cafe-cardamari,cafe_cardamari,iceclimbersadventures,searching-for-banana-flies,searching-for-bananaflies,searching_for_banana_flies,searching_for_bananaflies,searchingforbananaflies,tamarin_frog"
+tacokurt,1,82,
+svadil,1,82,
+susan_van_camp,1,82,
+suppainu,1,82,whitelate
+superpowers,0,82,
+sugarcup,1,82,
+striped_tongue,0,82,
+striped_briefs,0,82,
+strapless_bikini,0,82,
+stall_(disambiguation),0,82,stall
+shin_(artist),1,82,
+shawoo,1,82,shawoo_(artist)
+sharkstuff,1,82,
+shark_teeth,0,82,
+serving_alcohol,0,82,
+ryuseihikari,1,82,
+russian_flag,0,82,
+rumakis,1,82,
+rotting,0,82,rotten
+rothfale,4,82,
+ronin-nc,1,82,namecat
+roll_(mega_man),4,82,roll_(megaman)
+robomax,1,82,t-bone_(artist)
+riroburo,1,82,
+rinkai,1,82,f4814n
+reverse_facesitting,0,82,
+repair,0,82,
+redfiery,4,82,
+reddishfox_(artist),1,82,
+red_(characters),4,82,
+ragged_clothing,0,82,
+pyra_(xenoblade),4,82,
+pussy_juice_trail,0,82,
+purple_goo,0,82,
+punimofu,1,82,
+pubic_(disambiguation),0,82,pubic
+prairie_dog,5,82,
+power_girl,4,82,
+ponpuramu,1,82,
+poleyn,0,82,
+pentacle_necklace,0,82,
+partners_in_time,3,82,partner's_in_time
+panthera,5,82,
+pain_stars,0,82,
+overhang,0,82,
+outside_masturbation,0,82,
+orionart1991,1,82,
+omastar,5,82,
+ogomi_yatai,1,82,
+newdraconergraffiti,3,82,
+nemurism,1,82,
+nekomarudon,1,82,
+necrolepsy,1,82,
+neckwear_only,0,82,
+nataly-b,1,82,
+napoleon_(underscore-b),4,82,
+myett-wrath,1,82,
+multicolored_headgear,0,82,
+multicolored_elbow_gloves,0,82,
+multicolored_bra,0,82,
+multi_tentacle,0,82,
+mottled_tongue,0,82,
+moondog,5,82,
+mono_(badgeroo),4,82,
+moki_(character),4,82,
+misterdonut,1,82,
+mike_blade,4,82,
+michelle_catty,4,82,"milfcatty_(kyaramerucocoa),milfcatty_(mortal_chocolate)"
+mgmr,1,82,
+master/slave,0,82,
+manzanaringopai,1,82,
+makoruu,1,82,
+magda_wakeman,4,82,
+lunasfolly,1,82,
+love_mechanic,3,82,
+looking_around,0,82,
+living_dildo,0,82,
+lfer,1,82,
+leskaviene,4,82,
+leopard_shark,5,82,
+leg_over_shin,0,82,
+landypommel,1,82,"iuth,la-ndy,luciferamon"
+laini,4,82,
+kuriusagi,1,82,
+knell_bell,1,82,
+kitty_(hayakain),4,82,
+kissing_with_both_sets_of_lips,0,82,
+kiku_(white_knight19),4,82,
+katuu,1,82,
+kaimu,4,82,
+juice_that_makes_you_cum,3,82,
+jontxu-2d,1,82,
+johnny_worthington,4,82,johnny_worthington_iii
+john_barrett,1,82,
+jakensitou,1,82,"jaken_wolfy,jakenoms,jakenoms1,jakenwolfy"
+ivara_(warframe),4,82,
+itsuki_(hane),4,82,
+isometric,0,82,
+illuminati,0,82,
+idea,0,82,
+icepack,0,82,ice_pack
+huussii,1,82,
+howlitebadger,4,82,
+hot_dog_down_a_hallway,0,82,
+hornband,0,82,"horn_band,horn_bands,hornbands"
+hooded_cloak,0,82,
+honedge,5,82,
+holding_wine_glass,0,82,
+holding_pole,0,82,
+holding_nintendo_switch,0,82,
+hoe,0,82,
+hip_dips,0,82,
+hermit_fox_byakudan,4,82,
+hecticarts,1,82,
+headbutt,0,82,
+head_mirror,0,82,
+handsdownhound,1,82,
+hands_on_calves,0,82,
+hand_on_snout,0,82,
+hairy_belly,0,82,
+hair_bobbles,0,82,
+guttybee,1,82,
+gunnar,4,82,
+gotikamaamakitog,1,82,
+glistening_sunglasses,0,82,"glistening_shades,glistening_sun_glasses,shiny_shades,shiny_sun_glasses,shiny_sunglasses"
+glasses_off,0,82,
+giroro,4,82,
+gigantilewd,1,82,fracshun
+gaz_membrane,4,82,"gaz_(invader_zim),gazlene_gaz_membrane,gazlene_membrane"
+furipon,1,82,
+forced_in_fabric,0,82,
+fek_(character),4,82,
+fatalis_(artist),1,82,
+fabercastel,1,82,
+eye_black,0,82,
+exenthal,4,82,
+euf-dreamer,1,82,
+equine_tail,0,82,
+eigetsu,1,82,
+easter_bunny_(rise_of_the_guardians),4,82,
+dust_(mewgle),4,82,
+derfisch,1,82,
+delilah_(trias),4,82,
+dawnthemetamon,1,82,
+dal_(joelasko),4,82,
+dairou,4,82,
+d3mo,1,82,
+crescent-blue-zero,1,82,
+creature_sp,1,82,
+cottage,0,82,
+corrupteddiscipline,1,82,dezzy
+cornered,0,82,
+consent,0,82,
+coconut_tree,0,82,"coconut_trees,coconuttree,coconuttrees"
+clubbon,4,82,
+clothed_male_nude_gynomorph,0,82,clothed_male_nude_dickgirl
+clothed_intersex_nude_gynomorph,0,82,
+clothed_gynomorph_nude_intersex,0,82,
+chuck_e._cheese's_pizzeria,3,82,"chuck_e._cheese's,chuck_e._cheese's_pizza,chuck_e._cheese's_pizza_time_theatre,chuck_e._cheeses,chuck_e._cheeses_pizza,chuck_e._cheeses_pizza_time_theatre,chuck_e_cheese's,chuck_e_cheese's_pizza,chuck_e_cheese's_pizza_time_theatre,chuck_e_cheeses,chuck_e_cheeses_pizza,chuck_e_cheeses_pizza_time_theatre"
+chinese_water_deer,5,82,
+chimeratechspyro,1,82,
+castform,5,82,
+canon15,1,82,
+calf_tuft,0,82,
+bry,4,82,
+brown_eyewear,0,82,
+broccoli,0,82,
+breakdancing,0,82,
+bonding,0,82,
+bob_(undertale),4,82,
+bloodhawk_(character),4,82,
+bleuhawke,1,82,
+black_head_tuft,0,82,
+big_toes,0,82,
+belly_smother,0,82,
+bdsm_collar,0,82,
+baymax,4,82,
+banded_linsang,5,82,
+bandana_waddle_dee,4,82,
+bamboo_stick,0,82,
+atherol,1,82,atherol_(artist)
+asymmetrical_clothing,0,82,
+arthurclaws,1,82,
+arskatheman,1,82,
+armor_king,4,82,
+armaldo,5,82,
+antoszowa,1,82,
+annie_(brian_mcpherson),4,82,
+altrue,4,82,
+alizea_(blackie94),4,82,
+alecani,5,82,
+aira_kokonatsu,4,82,
+adian_(moki),4,82,
+adamios,1,82,
+aaron_(undertale),4,82,
+:c,0,82,
+2dredders,1,82,
+17:9,7,82,
+zst_xkn,1,81,
+zcik,1,81,
+zannah,1,81,
+yorha_9s,4,81,
+yogher,1,81,
+yellow_urine,0,81,
+yami_griffin,1,81,"kari_l_korthals,yamigriffin"
+xiaolin_showdown,3,81,
+xbuimonsama,4,81,
+xanderg,4,81,
+wolfland,1,81,
+wojak,4,81,wojack
+wind-up_key,0,81,
+willy_(ohs688),4,81,
+wholesome_hug,0,81,
+vladichslg,1,81,
+villainous_muse,1,81,
+unnamed_fox_(utterangle),4,81,
+umbraunderscore,1,81,
+trevhart,1,81,
+tracer_painter,1,81,
+toso,1,81,
+thrar'ixauth,4,81,
+temperate_rainforest_ratteguhn,5,81,
+teal_highlights,0,81,
+tamaskan_dog,5,81,"tam_dog,tamaskan"
+talking_penis,0,81,
+tail_suck,0,81,tail_sucking
+tabascocat,1,81,
+t-shirt_only,0,81,
+syst,1,81,
+susfishous,1,81,
+surprised_eyes,0,81,
+sudowoodo,5,81,
+strappado,0,81,
+stormtrooper,4,81,
+stepping_on_face,0,81,
+star_tracker_(mlp),4,81,
+srmario,1,81,
+spectrier,5,81,
+soty,1,81,
+soot_in_suit,1,81,
+softdiamond,4,81,
+sochi_(lynx),4,81,
+smash,0,81,
+sleepytoy,1,81,
+skids,4,81,
+skiddo,5,81,
+sideless_dress,0,81,
+shapeshiftinterest,1,81,
+shaesullivan_(artist),1,81,
+sendar,1,81,
+scalemail,0,81,
+sammy_(hambor12),4,81,
+sakido_elexion,4,81,
+sagaris_uwu,1,81,
+sachel,4,81,
+rvb_revolution,3,81,
+runway,0,81,
+ruby_(animal_crossing),4,81,
+roo_(winnie_the_pooh),4,81,
+red_suit,0,81,
+red_panda_humanoid,5,81,
+red_fingers,0,81,
+red_elbow_gloves,0,81,red_elbow_glove
+rash_(battletoads),4,81,
+raptor_matt,4,81,
+rapidpanda_(artist),1,81,
+ranger_rabbit,4,81,
+rainbow_underwear,0,81,
+quaise_(doneru),4,81,
+purplefondue,1,81,
+purple_tuft,0,81,
+purple_toes,0,81,
+pulred,1,81,
+psychedelic_background,0,81,"psychedelia_background,psychedelia_bg,psychedelic_bg,trippy_background,trippy_bg"
+professor_rena,4,81,
+professor_oak,4,81,professor_samuel_oak
+print_pool_toy,0,81,
+presenting_foreskin,0,81,
+praimortis,5,81,
+pipepo,1,81,
+pink_leotard,0,81,
+pikachu_pop_star,4,81,"idol_pikachu,pikachu_idol,pikachu_popstar,pikachu_star,pop_star_pikachu,popstar_pikachu,star_pikachu"
+pigma_dengar,4,81,
+phone_sex,0,81,
+pemyu,1,81,
+pdude,1,81,
+pale,0,81,
+ottah,4,81,
+osada,1,81,
+oopsie-gay,1,81,
+okuri,1,81,
+okka,1,81,"majokka,oh-ka,pitu"
+nightshade_(kittyprint),4,81,nightshade_(nightshade89)
+nicole_(savestate),4,81,
+nesskain,1,81,
+neopatamonx,4,81,
+napping,0,81,
+murcat,1,81,melissar1
+muffy_crosswire,4,81,
+mttbsmn,1,81,
+moo_lawgoat,4,81,
+mina_the_hollower,3,81,
+mina_(mina_the_hollower),4,81,
+menoziriath,1,81,
+marsh_(marshthemalo),4,81,
+margevonn,1,81,"mar4s,mrdr"
+mandibuzz,5,81,
+maleherm/herm,0,81,"h/mh,herm/maleherm,herm_on_maleherm,maleherm_on_herm,mh/h"
+maddy_(bonk),4,81,
+luxray_(tdub2217),4,81,
+localized_pointy_speech_bubble,0,81,
+lizanne,4,81,
+liz_(lizzycat21),4,81,
+linlvjia,1,81,
+liberty_(furfragged),4,81,
+leather_vest,0,81,
+laying_on_floor,0,81,
+lassie_lunaris,4,81,
+lahuncham,1,81,
+ladydevimon,5,81,
+lady_rainicorn,4,81,
+kwns_s_(nemu),1,81,
+kura_(zoohomme),4,81,
+ksejl,1,81,
+krystal_appreciation_month,3,81,
+koshkio,1,81,
+kongaritosuto,1,81,
+kkrevv,1,81,
+kiunata,1,81,
+kiukiu,1,81,
+kingchan,1,81,
+khanivore,4,81,
+katty_hupokoro,4,81,
+katruna94,1,81,
+karukan_(monjya),1,81,
+kanogetz,1,81,
+kanabō,0,81,kanabo
+julian_(kazecat),4,81,
+judy_reinard,4,81,
+judas_and_jesus,3,81,judas_&_jesus
+jalmu,1,81,"j-a-l-m-u,j-a-l-m-u_(artist),j_a_l_m_u,j_a_l_m_u_(artist),jalmu_(artist),just-a-little-mixed-up,just-a-little-mixed-up_(artist),just_a_little_mixed_up,just_a_little_mixed_up_(artist)"
+jackiethedemon,1,81,
+isopoda,5,81,isopod
+inker_comics,1,81,
+ingo_(pokemon),4,81,ingo_(pokémon)
+ima_att,1,81,
+ichibangravity,1,81,
+holding_sunglasses,0,81,
+holding_pizza,0,81,
+holding_ink_brush,0,81,
+high_school_dxd,3,81,
+head_on_belly,0,81,
+harley_(copperback01),4,81,
+hair_on_shoulders,0,81,
+haganedon,1,81,
+hae-hyun,1,81,haesketchy
+green_martian,5,81,
+gold_anklet,0,81,
+glurb,0,81,
+glowing_dildo,0,81,
+glitch_creature,5,81,
+genital_close_up,0,81,
+gaslightdog,3,81,
+gakusha,4,81,
+fyxe,4,81,
+fvorte,1,81,
+furry_ears,0,81,
+furrball,4,81,
+fuckable_pin,4,81,
+frosty_(sharky),4,81,
+friend,0,81,
+fox_(skunk_fu),4,81,
+foot-paws,1,81,
+flesh_fang,0,81,
+flash_(donutella),4,81,
+flamemon,5,81,flamon
+fizzpop,1,81,
+fishbook5,3,81,
+fionbri,5,81,
+fiinel,1,81,
+feral_heels,0,81,
+famir_(character),4,81,
+exposed_shoulders,0,81,
+euphorica,1,81,
+eugene_(raichupuppy),4,81,
+eneirem_(artist),1,81,
+edna_(school_days),4,81,
+dòu,4,81,dou_(diives)
+duster_(duster),4,81,
+duckhere,1,81,
+dross,1,81,
+dragonataxia,1,81,
+doormat,0,81,
+dongwongtang,1,81,
+disembodied_tentacle,0,81,
+deviltod,4,81,
+deskmaniac,1,81,
+deku_link,4,81,
+deathzera,1,81,
+dawny_(oc),4,81,
+crocodile_skink,5,81,
+cress_(tartii),4,81,
+countryside,0,81,
+construction,0,81,
+colored_flesh,0,81,coloured_flesh
+coco_(doctor_lollipop),4,81,
+classic_tails,4,81,
+clary_(cervina7),4,81,cervina's_sister
+chubbyjam,1,81,pinkahmena
+chocolate_bunnie,1,81,
+cho0c0,1,81,
+cedarwolf,1,81,darkicewolf
+captainskee,1,81,
+cain_(neko3240),4,81,
+brown_head,0,81,
+breech_loader,1,81,
+bow_(anatomy),0,81,
+bouncing_sound_effect,0,81,
+booties,0,81,
+bogexplosion,1,81,
+bluepawpanda,1,81,
+blue_dragon_(series),3,81,
+blue_apron,0,81,
+black_top_hat,0,81,
+billy_&_friends,3,81,
+bikini_top_removed,0,81,
+big_(disambiguation),6,81,big
+bedsheet_ghost,0,81,
+bearwivme,1,81,
+barby_koala,4,81,
+bandit_(cathare),4,81,
+band_merch,0,81,
+aura_(aurastrasza),4,81,
+asyr,4,81,
+artificer_(risk_of_rain),4,81,
+arofa_nahmat,4,81,
+arms_crossed_under_breasts,0,81,
+arawn,4,81,
+araiguma-san,4,81,
+apricot_(viroveteruscy),4,81,
+annie_(disfigure/rafielo),4,81,
+ankle_guards,0,81,
+anatomically_correct_balls,0,81,
+amaura,5,81,
+amashiro_natsuki,1,81,
+alruic,1,81,sukee
+alphina,4,81,
+alma_(capaoculta),4,81,
+alexzozaya,1,81,
+alexyorim,1,81,
+alexis_kitsune,1,81,
+aleksikashvets,1,81,
+age,0,81,
+against_counter,0,81,
+abby_(rukifox),4,81,
+3rdharleyjoe,1,81,
+3_arms,0,81,"3_armed,three_armed,three_arms"
+39coit,1,81,
+11:8,7,81,
+zombbh,1,80,
+zabraxas,1,80,
+y_leaves,1,80,
+xan_(pixiv),1,80,
+wyla_(character),4,80,
+world_of_darkness,3,80,
+white_frill,0,80,
+vitali_advenil,4,80,
+venipede,5,80,
+vehicle_penetrated,0,80,
+vaini,1,80,vainisart
+unf,0,80,
+tyrranux,1,80,
+twtr,1,80,
+two_tone_genitals,0,80,
+turnaround,0,80,
+troplilly,1,80,
+tr.anonymous.h,1,80,
+toratora,1,80,
+toco_toucan,5,80,"common_toucan,giant_toucan"
+titty_vixen,3,80,
+tinker_belle,4,80,
+tigerlovedog,1,80,
+tida,4,80,
+thunderstorm,0,80,
+thumb_in_mouth,0,80,
+thomas_(regular_show),4,80,nikolai_(regular_show)
+thecrazydragon,1,80,
+the_huckleberry_hound_show,3,80,
+tentacle_around_ankle,0,80,
+teiirka,1,80,
+teaksamin,1,80,
+taylor_vee,4,80,
+tanya_(mcnasty),4,80,
+tail_flame,0,80,
+tabletop,0,80,
+swiftayama,4,80,
+super_saiyan,0,80,
+sue_ellen_armstrong,4,80,sue_elle_armstrong
+storm_feather,4,80,
+spunky_(artist),1,80,
+speckled,0,80,
+softlight289,1,80,
+snejek,1,80,
+smallcircles,1,80,small_circles
+sleeveless_topwear,0,80,
+skye_(ratcha),4,80,
+skippy_squirrel,4,80,
+skates,0,80,
+silver_piercing,0,80,
+shrek_(character),4,80,
+shen_(zummeng),4,80,
+sheikah_slate,0,80,
+service_top,0,80,
+senri_ooedo,4,80,
+self_insert,0,80,
+seintaur,1,80,
+seamaster,1,80,
+scruffasus,1,80,
+scp-2547,4,80,
+scott_calico,1,80,scottc
+scolding,0,80,
+sar,4,80,
+salvador_zabrali,1,80,
+saintblue,1,80,
+sadayoshi,4,80,
+sa-chat,1,80,
+ryusuke573,1,80,
+royalsobatya,1,80,
+ripper_(jurassic_world),4,80,
+rileyisherehide,1,80,livinthelife0friley
+rena_(rena0107),4,80,
+red_speech_bubble,0,80,
+red_curtains,0,80,
+red_armband,0,80,
+red_(glopossum),4,80,red_(aixarata)
+razr_(character),4,80,
+razor231,1,80,
+rayne_blanc,4,80,
+ratye_(zoohomme),4,80,
+randomguy999,1,80,
+ramzryu,1,80,ramzkun
+race_queen,0,80,
+rabbittakahashi,1,80,
+ra_tenpu,1,80,tenpura_(artist)
+purple_dragon,5,80,
+purple_cheeks,0,80,
+pumpkinspicelatte,1,80,"pumpkinnsfw,pumpkinspicelatte_(artist)"
+prison_rape,0,80,
+potoo,5,80,
+portal_autopenetration,0,80,
+poi_(artist),1,80,
+plucky_duck,4,80,
+pizza_rabbit_(rabblet),4,80,
+pixie_blume,4,80,
+pinkkoffin,1,80,
+pinkfong_(character),4,80,
+perci_the_bandicoot,4,80,
+pepper_(kittyprint),4,80,pepper_(nightshade89)
+penny_carson,4,80,
+outlast,3,80,
+orthros_(mlp),4,80,
+orthros,5,80,
+oni_(artist),1,80,
+omegaro,1,80,
+oilblkrum,1,80,
+off_(game),3,80,
+och5,1,80,
+nsfwdozer,1,80,
+noxu,1,80,
+nova_nsfw,1,80,
+noha,1,80,
+nogi,1,80,"bossa_nogi,bossanogi,のぎ"
+nikorieru,1,80,
+neutrino_burst,4,80,
+nesquik,3,80,
+narrimander_(artist),1,80,
+narley,1,80,
+myemetophobia,1,80,my_emetophobia
+multicolored_highlights,0,80,
+mr._osomatsu,3,80,"mr_osomatsu,osomatsu-kun,osomatsu-san,osomatsu_(anime),osomatsu_kun,osomatsu_san"
+mother_penetrating_son,0,80,
+morbid,0,80,
+mommomma114,1,80,
+moketiw,1,80,kemonoisyome
+mocha_latte_love,4,80,
+minette,4,80,
+mice_tea,3,80,
+mhicky93,1,80,
+metalfoxt,1,80,
+maxtheshadowdragon,4,80,
+managarmr_(housamo),4,80,
+makemon,3,80,
+lunadial09,1,80,
+luna_(zummeng),4,80,
+lromstar_(artist),1,80,
+loose,0,80,
+looking_at_back,0,80,
+long_tail_feathers,0,80,
+lone_(lonewolffl),4,80,
+locodemon,1,80,
+lizardbeth,1,80,
+living_fursuit,5,80,
+lispp,1,80,sharedast
+liska_(scalie_schoolie),4,80,
+liquidmark,1,80,
+lion_taur,5,80,"leotaur,liontaur"
+leo_the_magician,4,80,
+kraven,4,80,
+kolaa,1,80,
+kit-ray-live,1,80,
+kiddeathx_(artist),1,80,
+kenjin,1,80,
+keeshond,5,80,keeshonden
+kajizy,1,80,
+jumpy_jackal,1,80,
+jishwalob,1,80,
+jade_(gem),0,80,
+ivy_(plant),0,80,
+inner_side_boob,0,80,
+incertusfatum,1,80,
+imminent_blowjob,0,80,
+ima_(imabunbun),4,80,
+ikaribunbun,1,80,
+hush-a-bye,1,80,
+holding_own_penis,0,80,
+hisexpliciteditor,1,80,
+heliofox,1,80,
+hel,1,80,
+hatchet,0,80,
+hands_clasped,0,80,
+gwizzly,1,80,
+guayo,1,80,
+grey_bra,0,80,
+gremm,1,80,
+green_head,0,80,
+goldenyuusha,1,80,
+goji_(flitchee),4,80,
+gochou,1,80,
+goblin_princess,4,80,
+garek_maxwell,1,80,
+ferobird,1,80,uppmap123
+feces_in_pussy,0,80,scat_in_pussy
+fans,0,80,
+extruded_text,0,80,
+erection_under_blanket,0,80,
+energy_drain,0,80,
+elaine_(pokémon),4,80,"elaine_(pokemon),let's_go_eevee_trainer,lets_go_eevee_trainer"
+drum's_father,4,80,
+drachenmagier,1,80,
+dpronin,1,80,
+donzatch,1,80,
+dj_shark_(dj_sharkowski),4,80,
+digimon_frontier,3,80,
+deyvarah,1,80,
+denbukuro,1,80,電袋
+dark_handwear,0,80,
+crown_only,0,80,
+cleo_(yutrah),4,80,
+classical,0,80,
+clancy_(inkyfrog),4,80,
+cirrus_sky,4,80,
+cinna_(megacoolbear),4,80,
+chloe_(iamaneagle),4,80,
+cherubi,5,80,
+chelsea_(pearlhead),4,80,
+chaosie,4,80,
+catty_baby,4,80,
+cardstock,0,80,
+carbiid3,1,80,carbiid3_(artist)
+buzzing,0,80,
+busty_bunny,4,80,
+buster_(lady_and_the_tramp),4,80,
+bunbunart,1,80,
+brain_(top_cat),4,80,
+boxollie,1,80,
+boxing_tape,0,80,
+boxer_briefs_only,0,80,
+bottomless_human,0,80,
+boots_(character),4,80,
+blue_towel,0,80,
+blacktigerr,1,80,
+biskydraws,1,80,
+birthing_tentacles,0,80,
+big_female,0,80,
+beachside_bunnies,1,80,
+beach_ball_(character),4,80,
+battle_fennec,1,80,"battle_fennec_(artist),foxfire07"
+barkyeet,1,80,
+bara-diction,1,80,
+bangabear,1,80,
+azureinthedark,1,80,
+aya_shameimaru,4,80,shameimaru_aya
+asteroid,0,80,asteroids
+aspeel,1,80,
+arms_bound_behind_back,0,80,
+arisu_starfall,4,80,
+arf-fra,1,80,
+arch3y,1,80,
+antonsfms,1,80,
+anne_boonchuy,4,80,
+an_chobi94,1,80,
+allandi,4,80,
+alexander_(zummeng),4,80,
+alatreon,5,80,
+abaddon,4,80,
+8-tomb,1,80,"8tomb,ltomb"
+1oi,1,80,1oi_(artist)
+00freeze00,1,80,
+zin,4,79,
+zhivagod,1,79,
+zabaniya,4,79,
+yula,4,79,
+yu-gi-oh_card,0,79,
+xstupid_furryx,1,79,
+withered_freddy_(fnaf),4,79,
+wintie,4,79,
+whynotwynaut,1,79,
+white_antennae,0,79,white_antenna
+wenisberry,1,79,
+welive,1,79,
+warlocknyan,1,79,
+vrart1,1,79,
+volkswagen,3,79,
+vixenchan,4,79,
+visible_ribs,0,79,
+virus.exe,1,79,
+victor_johansen,4,79,
+vera_(iskra),4,79,iskra_(character)
+usssar12,1,79,
+usb_tail,0,79,
+urine_in_bowl,0,79,
+urekemo,1,79,"rara_10_25,raramani,urakemo,らら,らら@お仕事募集中"
+unknown_text,7,79,
+undersized_clothing,0,79,
+two_tone_collar,0,79,
+total_war:_warhammer,3,79,
+torn_tights,0,79,ripped_tights
+toontown_online,3,79,
+tomtc,1,79,
+tokusou_sentai_dekaranger,3,79,
+toast-arts,1,79,
+tigerxtreme,1,79,tigergear
+threaded_by_object,0,79,
+thirteeenth,1,79,
+therion,5,79,
+teraunce,4,79,
+tentacle_limbs,0,79,
+tarot,0,79,
+tamaryuu,1,79,"tamaryu,玉竜"
+tala128,1,79,
+swoop_(philadelphia_eagles),4,79,
+sweaciabic,1,79,
+sucking_tongue,0,79,
+storefront,0,79,
+stevechopz,1,79,
+star_(shape),0,79,
+spotted_topwear,0,79,"polka_dot_topwear,polka_dots_topwear,polkadot_topwear"
+spotted_bunny,4,79,
+snowyowlkonnen,1,79,
+slurk,0,79,
+skynex_(rajak),4,79,
+six_frame_grid,0,79,
+silver2299,1,79,
+silberhoernchen,1,79,"jack-a-lynn,jacky-bunny,tamtamteru"
+shmeepo,1,79,
+shello_lakoda,4,79,
+sheikah,5,79,
+sheet_music,0,79,
+shadow_freddy_(fnaf),4,79,
+sepilian,5,79,
+scarlet_mauve,4,79,
+sarcasm,0,79,
+sammehchub,1,79,
+sagging,0,79,
+s-o-husky,1,79,s-o-husky_(artist)
+ruby_blossom,4,79,
+rotary_phone,0,79,
+rosemary_prower,4,79,
+rome,0,79,
+roman_empire,0,79,
+rogelio,4,79,
+rocking_horse,0,79,
+rockcandy,1,79,
+ritika448,1,79,
+rileymutt,4,79,
+richard_(lcbd),4,79,
+referee,0,79,
+refegi,1,79,
+red_solo_cup,0,79,
+red_lighting,0,79,
+realm_royale,3,79,
+rayhiros,1,79,
+ramenbeny,1,79,
+raiouart,1,79,
+pushing_down,0,79,
+purple_ribbon,0,79,
+purple_mask,0,79,
+pulling_shirt_down,0,79,
+puivei,1,79,
+prince_john,4,79,
+prilly_(lysergide),4,79,
+poppin,1,79,
+pointblankfluffpistol,1,79,"cosmicautogenesis,shemhamferosh"
+plumbelly,1,79,
+pitfallpup,1,79,damediner
+perky_butt,0,79,
+peachkuns,1,79,
+owlbear,5,79,
+ottomarr,1,79,
+otter_(blackshirtboy),4,79,
+oripathy_lesion,0,79,
+on_piano,0,79,
+old_male,0,79,
+ohayashi55,1,79,
+observation_window,0,79,
+obscenecanary,1,79,
+nyghtmar3,1,79,
+nova_(anonym0use),4,79,
+non-mammal_hair,0,79,
+nemhippie,1,79,
+nasiri_(artist),1,79,
+naomi_(mastergodai),4,79,
+mutabouru,1,79,
+multicolored_sky,0,79,
+multi_anal,0,79,
+mousepad_design,0,79,
+miss_thompson_(tegerio),4,79,
+mini_me,0,79,
+mikey_(mikeyuk),4,79,
+mew_mew_kissy_cutie,3,79,
+metroid_dread,3,79,
+mesa_(warframe),4,79,
+meno,1,79,
+melody_(aseethe),4,79,
+me!me!me!,3,79,
+mass_crush,0,79,
+mamba,5,79,dendroaspis
+magumataishi,1,79,
+macabre,0,79,
+lutrai,5,79,
+ludwig_bullworth_jackson,4,79,
+lucky_wolf,4,79,
+lucah,1,79,
+looking_worried,0,79,
+looking_at_own_pussy,0,79,
+live,0,79,
+licking_head,0,79,
+leo_alvarez,4,79,
+leaf-tailed_gecko,5,79,"leaf-tail_gecko,leaf_tail_gecko,leaf_tailed_gecko,leaftail_gecko,leaftailed_gecko"
+lawkie,1,79,
+kyorg7,4,79,
+kyle_bavarois,4,79,
+kulu-ya-ku,5,79,kulu_ya_ku
+kubrow,5,79,
+krusha,4,79,
+knox_(artist),1,79,
+kiva~,1,79,
+kineta,4,79,
+kate_(hioshiru),4,79,
+kakure_eria,1,79,
+jwecchi,1,79,
+jonky,1,79,jonkou
+joel_calley,4,79,
+joebluefox,1,79,joejoewhatahoe
+joe_kido,4,79,jyou_kido
+jigglet,1,79,
+jeki,1,79,
+ireading62,1,79,
+ihavnoname,1,79,
+hunter-husky,1,79,
+humphrey,4,79,
+huckleberry_hound,4,79,
+hoof_focus,0,79,
+holliday_(artist),1,79,
+holidaydipstick,1,79,holidaydipstick_(artist)
+holding_bra,0,79,
+hecchidechu,1,79,hecchi_dechu
+hawaiian_text,7,79,
+hands_on_own_leg,0,79,
+hand_on_own_crotch,0,79,
+hand_on_body,0,79,
+hand_on_another's_stomach,0,79,
+half-shirt,0,79,"half_shirt,halfshirt"
+gypsy_king_(artist),1,79,
+gynomorph_rape,0,79,
+guitarist,0,79,
+groom,0,79,
+grinch,4,79,
+grey_briefs,0,79,gray_briefs
+green_hooves,0,79,
+grabbing_both_knees,0,79,"double_knee_grab,grabbing_knees"
+goldie_o'gilt,4,79,glittering_goldie
+gnauseating,1,79,
+glush,0,79,
+glowstringing,0,79,
+geshkaw,1,79,geshtar
+gentle_puppet,1,79,
+garyu_ryuto,1,79,
+fused_shadow,0,79,
+frionella,4,79,
+freezing,0,79,
+francine_frensky,4,79,
+foxychris,1,79,
+foxventus,1,79,
+flower_mantis,5,79,
+firenor,4,79,
+eve_(sloss),4,79,
+erika_(ambris),4,79,
+enema_syringe,0,79,
+elexis_(mramp),4,79,
+electrical_plug,0,79,
+edtrash,1,79,
+easyspark,1,79,
+drakeraynier,1,79,drakeraynier_(artist)
+dragon_city,3,79,
+door_handle,0,79,
+dolph_(fortnite),4,79,
+discarded_object,0,79,
+diru11,1,79,
+dinobutt,1,79,kittysaurus
+dildo_in_penis,0,79,
+diaper_transformation,0,79,
+diaper_penetration,0,79,
+diana_digma,4,79,
+detts,1,79,
+deku_princess,4,79,
+deborah_bispo,4,79,
+daughter-in-law,0,79,"daughter_in_law,daughter_inlaw"
+darkcandle,1,79,
+dannydumal,4,79,
+cum_through_jockstrap,0,79,
+cum_in_top's_ass,0,79,
+cubi_(race),5,79,
+cruise_ship,0,79,
+creepychimera,1,79,
+cooper_(scratch21),4,79,
+cool.,1,79,
+cook,0,79,
+cjzilla88,1,79,necro_opolis
+circle_background,0,79,circular_background
+chiptunebrony,1,79,bronyxxi
+charrcoal,1,79,fabuchs
+charme,4,79,
+celine_louison,4,79,
+cayenne_(freckles),4,79,
+casidhevixen,3,79,
+captaincob,1,79,
+captain_flintlock_(felino),4,79,
+candy_bar,0,79,
+camo_topwear,0,79,camouflage_topwear
+calypso_tayro,4,79,
+broly_culo,3,79,
+breast_rub,0,79,
+bongo_cat,4,79,
+body_motion_path,0,79,
+bobbie_(rotten_robbie),4,79,
+bloot_(bloot),4,79,
+blazar,1,79,
+blank_humanoid,5,79,
+belle_morgan,4,79,
+bed_head,0,79,
+bagu,1,79,zerrazoid
+bagon,5,79,
+backbend,0,79,
+azsola,1,79,
+aurora_spencer,4,79,
+aunt_molly_(nitw),4,79,"aunt_mall_cop_(nitw),molly_(nitw)"
+atari_first_party,0,79,
+aruri,4,79,
+arm_restraints,0,79,
+amelie_(jinx_doodle),4,79,
+ambberfox,1,79,
+amawdz,1,79,"amasoxd,amasoxd_(artist),amawdz_(artist),notamaso,notamaso_(artist)"
+almost_caught,0,79,
+alexandradane,1,79,
+aki_(wingedwilly),4,79,
+akazulla,1,79,
+akari_jamisson,4,79,
+5danny1206,1,79,
+5-d,1,79,
+3cir_cle,1,79,
+10_breasts,0,79,"10_breast,10_breasted,ten_breast,ten_breasted,ten_breasts"
+zourik_(zourik),4,78,
+zen_(kemono_artist),1,78,
+zeeman,1,78,
+zandria,4,78,
+yungknight,1,78,
+yumiakiyama,1,78,
+yukizard_(evov1),4,78,
+yukihoshiak,1,78,
+younger_herm,0,78,
+yelnatsdraws,1,78,
+yellow_foreskin,0,78,
+wuffinarts,1,78,
+wolfybuns,1,78,
+wolfthorn_(old_spice),4,78,
+wolfskin,5,78,
+wemt,1,78,wemd
+wball,1,78,
+warioeag,1,78,
+waeverstan,1,78,
+vibrava,5,78,
+utsuho_reiuji,4,78,reiuji_utsuho
+uppercut,0,78,
+ultrayanto,1,78,
+ukabor,1,78,
+trogonid,5,78,
+tooth_and_tail,3,78,
+tongue_bath,0,78,
+the_laughing_cow,4,78,the_laughing_cow_(character)
+teryx_(dinosaucers),4,78,
+tenzide,1,78,
+tentacle-muffins,1,78,
+telepurte,1,78,
+teckit,1,78,
+tail_insertion,0,78,
+taggen96_(artist),1,78,
+sweet_temptation_club,3,78,
+sunni_smiles,4,78,
+sukebe,4,78,
+stretch_(sound_effect),0,78,
+stepfordization,0,78,
+starman75042,1,78,
+splashburr,1,78,
+spheal,5,78,
+sonic_screwdriver,0,78,
+solar_eclipse,0,78,
+sobakistan,3,78,
+soarinlion,1,78,
+snow_humanoid,5,78,humanoid_snow
+skunk_tail,0,78,
+shiin,1,78,
+sherwind,1,78,
+sheep-goat,5,78,"geep,sheep-goat_hybrid,shoat"
+shannon_shark,4,78,
+serge,4,78,
+scottish_fold,5,78,
+sangelia,1,78,deady5
+sail,0,78,
+rugrats,3,78,
+rocket_j._squirrel,4,78,"rocket_j_squirrel,rocky_j_squirrel,rocky_the_flying_squirrel"
+robotic_tentacles,0,78,
+rivy_k,1,78,
+riot_shield,0,78,
+reynard_the_fox,4,78,
+remi_(neo_geppetto),4,78,
+red_(among_us),4,78,
+raymond158,1,78,
+raptorart,1,78,
+raider_(fallout),4,78,
+radiator,0,78,
+racket_rhine,4,78,
+quartzz,1,78,
+purple_sheath,0,78,
+purple_elbow_gloves,0,78,purple_elbow_glove
+pumpkin_belly,0,78,
+puffylover69,1,78,
+pronouns,0,78,
+pred_focus,0,78,
+plot_twist,0,78,
+plop,0,78,
+pixelhat,1,78,
+piti_yindee,1,78,
+pinku_(miscon),4,78,
+pikative,1,78,
+peter_quill,4,78,star-lord
+peter_griffin,4,78,
+penis_hat,0,78,
+penis_blush,0,78,
+penetrating_while_penetrated,0,78,
+peki_polight,4,78,
+pawmi,5,78,
+paw_shoes,0,78,pawshoes
+overly_muscular,0,78,
+orca_humanoid,5,78,
+omochalaroo,1,78,
+obfuscator,1,78,
+nylons,0,78,
+nina_(eigaka),4,78,
+neck_garter,0,78,
+natural_armor,0,78,
+nadeena,4,78,
+my_little_pony:_a_new_generation,3,78,
+murloc,5,78,
+multicolored_nipples,0,78,
+ms._renee_l'noire,4,78,
+moo_(klonoa),5,78,
+monotone_boots,0,78,"mono-tone_boot,mono-tone_boots,mono_tone_boot,mono_tone_boots,monotone_boot"
+monobe_yuri,1,78,
+momo_(creepypasta),4,78,
+moiyablochki_(artist),1,78,
+mohumohudansi,1,78,
+mogmaw,4,78,
+moana,3,78,
+milo_(cherryfox73),4,78,
+milky_(interspecies_reviewers),4,78,
+military_pants,0,78,
+michael_(zourik),4,78,
+mia_(eag1e),4,78,
+mek_(harmarist),4,78,
+megnog,1,78,
+mandala,0,78,
+male_stripper,0,78,
+mahotis_(bristol),4,78,
+lyra_somnium,1,78,
+lucidum,4,78,
+littlest_pet_shop_a_world_of_our_own,3,78,
+lira_(remix1997),4,78,lira_zephyrine
+limitedvision,1,78,
+lil'_shock,1,78,"backtomystage,lil'shock,lil_shock,lilshock,nightmaren_(artist),shocktopus,squikbat,thenaughtyottsel"
+legs_on_shoulders,0,78,
+leg_over_knee,0,78,
+leaking_pre,0,78,
+leafysnivy,1,78,
+launcher_r,1,78,
+lapis_(mellonsoda),4,78,
+lap_dance_position,0,78,
+lairon,5,78,
+lady_brushfire_(kitfox-crimson),4,78,
+kunemon,5,78,
+krek,4,78,
+komala,5,78,"nekkoala,nekkoara"
+kola_(artist),1,78,
+kittenboogers,1,78,
+kitorie,1,78,toriwan
+kida_kuro_mu,1,78,
+key_necklace,0,78,
+kazlee,4,78,
+kaedeno_yuu,1,78,
+kabuto,5,78,
+kabe2mugi,1,78,
+k0yangi,1,78,
+josephine_rodgers,4,78,jo_(cnc)
+joseph_ny,1,78,
+jeffybunny_(artist),1,78,
+jazzycat,1,78,
+jayaero,1,78,
+jackie_demon,4,78,
+italian,0,78,
+imlutio,1,78,
+ikkykrrk,1,78,
+icarus_aresane,4,78,
+howz,1,78,
+how_the_grinch_stole_christmas!,3,78,
+hoodie_lift,0,78,
+honeycomb,0,78,
+holding_animal,0,78,
+hisahiko,1,78,
+hilda_the_huntress,4,78,the_huntress_(realm_royale)
+helping,0,78,
+heiko_(domasarts),4,78,
+heel,0,78,
+hate,0,78,
+hand_on_another's_face,0,78,
+hammy,1,78,
+hagom,1,78,
+group_kissing,0,78,
+grimev,1,78,
+green_pubes,0,78,
+gold_nails,0,78,
+godrays,0,78,
+glue_(artist),1,78,
+glowingraver,1,78,glowydabstrd
+glistening_feet,0,78,shiny_feet
+girthy,0,78,
+giga_(artist),1,78,
+ghost738589,1,78,
+garnnet,1,78,
+gape_fart,0,78,
+galacticgoodie,1,78,
+gael_the_scrafty,4,78,
+fyxe_(artist),1,78,fyxefox
+fru_fru,4,78,
+frost_(cinderfrost),4,78,
+froggit,5,78,
+forked_penis,0,78,
+fluxom,1,78,
+flunky,1,78,
+fluffbug,1,78,
+flexing_muscles,0,78,
+fivey_fox,4,78,
+fierglief_(character),4,78,
+facebook_stickers,3,78,
+exposed_teeth,0,78,
+entrails,0,78,
+ember_(elitetheespeon),4,78,
+eldegoss,5,78,
+eep,0,78,
+ebonyleopard,1,78,"blackleopard,blackleopard_(artist),ebonyleopard_(artist),ebonypikachu,ebonypikachu_(artist),shawntae_howard,shawntae_howard_(artist)"
+eagle_position,0,78,
+dutchsyndicalist,1,78,
+dragonslash,1,78,
+drad,4,78,
+disinterested,0,78,
+dirndl,0,78,
+dildo_penetration,0,78,
+detpoot,1,78,
+debbie_dune,4,78,debbie_(goof_troop)
+death_knight_(warcraft),4,78,
+deadflow,1,78,
+de-flator,1,78,
+dawn22eagle,1,78,
+darkholm1,1,78,
+dark_fingers,0,78,
+daisy_dingo,4,78,
+cypherwolf,4,78,
+croix,4,78,
+crayon_(artist),1,78,"crayon1006,notrealcrayon"
+corneliousrr,1,78,
+condom_left_in,0,78,
+ckt,1,78,
+chuukichi_(morenatsu),4,78,"chuukichi,chuukichi_mori,mori_chuukichi"
+chubby-shark,1,78,
+chip_at_night,1,78,
+chinese_mountain_cat,5,78,south_chinese_mountain_cat
+chiko_(bristol),4,78,
+buttplug_clothing,0,78,
+button_underwear,0,78,
+butt_keyhole_panties,0,78,
+bugzilla,1,78,
+bryan_(zourik),4,78,
+bruma,4,78,
+boxing_shorts,0,78,
+bongo_(dad),4,78,
+bonfiredemon,1,78,
+bondage_mitts,0,78,
+blood_on_foot,0,78,
+blood_on_bandage,0,78,
+bloocherrypie,1,78,
+bleedman,1,78,
+black_thought_bubble,0,78,
+bittertooth,1,78,
+biting_another,0,78,
+biomechanical,0,78,
+bigbig,1,78,
+bibio,1,78,
+beau_(williamca),4,78,
+bathing_together,0,78,
+basil_(disney),4,78,
+banana_slug,5,78,
+avilon,1,78,
+atomic_wedgie,0,78,
+asdfmovie,3,78,"asdf_movie,asdf_movies"
+arki,4,78,
+arcatech,1,78,
+aralyre,1,78,arzmx
+apple_gag,0,78,
+aozora_(nosada),1,78,
+anukkyt,1,78,
+annonguy,1,78,
+animatics,1,78,
+anai_(aggretsuko),4,78,anai_(aggressive_retsuko)
+amy_rose_the_werehog,4,78,
+amber_(squablodecomplash),4,78,
+amanitaceae,0,78,
+aloe_(interspecies_reviewers),4,78,
+adhara,4,78,
+abby_(canisfidelis),4,78,
+>_o,0,78,
+zipper_(cdrr),4,77,
+zeta_r-02,1,77,
+zeecibee,1,77,
+zeeb_(holly_marie_ogburn),4,77,
+yu-gi-oh!_gx,3,77,"yu-gi-oh_gx,yugioh!_gx,yugioh_gx,yuu-gi-ou!_gx,yuu-gi-ou_gx"
+yellow_socks,0,77,
+xalex14,4,77,
+woofy_(woofyrainshadow),4,77,
+wob,1,77,exalius
+wiira,1,77,
+wide_tongue,0,77,
+white_heels,0,77,
+wavern,4,77,
+warning_label,0,77,
+vk102,1,77,
+vivian_vivi,4,77,
+violavirus,1,77,
+vigmarr,1,77,
+victoria_violeta_(usuario2),4,77,
+vexxy,1,77,
+varren,5,77,
+utunu,4,77,
+unfezant,5,77,
+unbuttoned_shorts,0,77,
+unagi_bukuro,1,77,
+ty_arashi,1,77,tyarashi
+tropicalpanda,1,77,
+tribal_outfit,0,77,
+touching_legs,0,77,
+tohofuhai,1,77,
+toeless_heels,0,77,
+thompson-vonjung,1,77,
+the_search_for_lost_wings,1,77,
+the_matrix,3,77,matrix
+the_adventures_of_puss_in_boots,3,77,
+tenga,3,77,
+teastuff,1,77,"chiritea,teateastuff"
+tasticstarlight,1,77,
+tamada_heijun,1,77,
+talynn,1,77,
+tail_armor,0,77,
+tabykat,1,77,
+syuya,1,77,
+suika_ibuki,4,77,ibuki_suika
+sucker_for_love,3,77,
+stuart_(naughtymorg),4,77,
+stressed,0,77,
+starock,4,77,
+square,0,77,
+spotted_egg,0,77,
+spezvolf,1,77,
+spades,0,77,
+sonic.exe,4,77,
+solaxe,4,77,
+snu-snu,0,77,
+slash_freezen,1,77,
+skiing,0,77,
+sir_fratley,4,77,fratley
+sintacle,1,77,sinibeau
+sinister-jordex,1,77,
+simon_(boneitis),4,77,
+silverdeni,1,77,
+siegfried,4,77,
+sicmop_(character),4,77,
+shysiren,1,77,rozwell
+shoulder_guard,0,77,
+shifty_(htf),4,77,
+shen,4,77,
+shellder_(slowbro),5,77,
+seth_(sethpup),4,77,
+set_(puzzle_and_dragons),4,77,"set_(p&d),set_(pnd),set_(puzzle_&_dragons)"
+seraphic_crimson,4,77,
+seigen,1,77,正弦
+scritt,1,77,
+scott_(fasttrack37d),4,77,
+satanic_monkey,1,77,
+satanic_leaf-tailed_gecko,5,77,"eyelash_leaf-tailed_gecko,eyelash_leaf_tailed_gecko,fantastic_leaf-tailed_gecko,fantastic_leaf_tailed_gecko,phantastic_leaf-tailed_gecko,phantastic_leaf_tailed_gecko,satanic_leaf_gecko,satanic_leaf_tailed_gecko"
+sankam,1,77,nezuya
+sam_(sawolf151),4,77,
+salmon_shark,5,77,
+saanen_goat,5,77,
+sa-dui,1,77,
+ryuuzenga,1,77,
+run_rabbit_bounce,1,77,runrabbitbounce
+ruined_reputation,0,77,
+rika_(desbjust),4,77,
+ricky_(fuze),4,77,
+reverse_table_lotus_position,0,77,
+reeds,0,77,
+redfeathers,1,77,
+red_leotard,0,77,
+ray-bleiz,4,77,
+raspberry_(viroveteruscy),4,77,
+rani,4,77,
+rainbow_heart,0,77,
+raesheris,1,77,
+pussy_rubbing,0,77,
+pussy_juice_on_balls,0,77,
+purple_foreskin,0,77,
+punkinillus,1,77,
+print_legwear,0,77,
+pride_color_swimwear,0,77,"pride_color_bathing_suit,pride_color_swim_suit,pride_color_swim_wear,pride_color_swimming_wear,pride_color_swimmingsuit,pride_color_swimmingwear,pride_color_swimsuit,pride_color_swimsuits,pride_colors_bathing_suit,pride_colors_swim_suit,pride_colors_swim_wear,pride_colors_swimming_wear,pride_colors_swimmingsuit,pride_colors_swimmingwear,pride_colors_swimsuit,pride_colors_swimsuits,pride_colour_bathing_suit,pride_colour_swim_suit,pride_colour_swim_wear,pride_colour_swimming_wear,pride_colour_swimmingsuit,pride_colour_swimmingwear,pride_colour_swimsuit,pride_colour_swimsuits,pride_colours_bathing_suit,pride_colours_swim_suit,pride_colours_swim_wear,pride_colours_swimming_wear,pride_colours_swimmingsuit,pride_colours_swimmingwear,pride_colours_swimsuit,pride_colours_swimsuits"
+presenting_belly,0,77,
+prazite,4,77,
+pozole_(character),4,77,
+policewoman,0,77,
+poisoned,0,77,
+pisaster,5,77,
+petrosapien,5,77,
+penis_under_clothes,0,77,
+party_favor_(mlp),4,77,
+paimon_(helluva_boss),4,77,
+owner_(artist),1,77,
+ookami_mio,4,77,
+onyxavia,1,77,
+omanyte,5,77,
+nunudodo,1,77,"nsfwnudo,nu_nudo_do"
+nukde,1,77,
+nora_(elfdrago),4,77,
+noisy_(redace83),4,77,
+niku405,1,77,
+nicolette_the_weasel,4,77,nic_the_weasel
+neptune_mereaux,4,77,
+nate_(pokémon),4,77,"black2_(pokemon),black2_(pokémon),black_2_(pokemon),black_2_(pokémon),nate_(pokemon)"
+nate_(dragoneill),4,77,
+nanori-chan,1,77,
+n0ncanon,1,77,n0nrealist
+mutual_foot_worship,0,77,
+mutate_(gargoyles),5,77,
+munchkin_cat,5,77,"munchkin_(cat),sausage_cat"
+multicolored_paws,0,77,
+mrs._henderson,4,77,
+motion_trail,0,77,
+mothandpodiatrist,1,77,
+monotone_pubes,0,77,
+mobian_bat,5,77,
+mitzi_(animal_crossing),4,77,
+mitch_savours,4,77,
+military_jacket,0,77,
+military_helmet,0,77,
+miistniight,1,77,
+mewmus,1,77,
+meral_fleetfoot,4,77,
+memburu,1,77,
+mavis_dracula,4,77,
+masuyama_ryou,1,77,"@rmasu2,rmasu2,ぞうさん,増山"
+masturbation_inside_body,0,77,
+maruskha,1,77,
+mario_smoking_weed,3,77,
+mango_(fruit),0,77,mangos
+malakhael,1,77,
+magnezone,5,77,
+m_and_m's,3,77,
+lyenuv,1,77,
+lya_(scalesindark),4,77,
+lucas_(lucasreturns),4,77,
+luca_(patto),4,77,
+lotusgoatess,1,77,
+looking_at_feet,0,77,
+lodish,4,77,
+littlestfuzz,1,77,
+lisbelle_(doneru),4,77,
+lily_mari,4,77,arctica_lily
+lewdcactus,1,77,
+leonirikuz,1,77,
+launchpad_mcquack,4,77,
+laserkitten,1,77,
+large_paws,0,77,
+landscape_background,0,77,
+koto0v0haru,1,77,
+kobe_bear,4,77,
+knedit,4,77,
+kitchiki_(character),4,77,
+kaptain_spicy,1,77,
+kamukamu6392,1,77,
+kalchivo,1,77,chivo
+kaku_q._spookaboo,4,77,kaku_q_spookaboo
+kaguya_(umpherio),4,77,
+juutton,1,77,"10t100t1000tt,じゅうっとん"
+jujala,1,77,
+johnny_test_(series),3,77,
+jetn_2.0,4,77,
+jamiephut,1,77,
+iva_(cornchip21),4,77,
+iron_boy,4,77,
+inumania,1,77,
+instructions,0,77,
+indie_(xanderblaze),4,77,
+improbable_(artist),1,77,lago
+ikaring,1,77,
+hypnovember,3,77,
+honoka_(doa),4,77,
+homunculus,5,77,
+holding_both_ears,0,77,"double_ear_hold,holding_ears"
+herm_on_human,0,77,
+hedgehog_humanoid,5,77,
+haunted,0,77,
+hannah_evans,4,77,
+hand_tuft,0,77,
+hali_(character),4,77,
+gynomorph_prey,0,77,dickgirl_prey
+gunther_hausmann,4,77,
+grinex,1,77,
+grimm3d,1,77,
+gravy,0,77,
+grappling,0,77,
+gothabelle,4,77,
+gluttony_(changing_fates),4,77,
+glove_snap,0,77,
+gloomthebat,1,77,
+glistening_sex_toy,0,77,shiny_sex_toy
+ghost_(claralaine),4,77,
+gearfactory,1,77,
+gao-lukchup,1,77,gao-expression_x
+furry_lifestyle,0,77,
+froggy_wobbly,1,77,
+friggling,1,77,"cider_(artist),ciderward,ciderward_(artist),flikcrow,frokusblakah"
+foxvomitarts,1,77,
+foxkai,1,77,
+forehead_mark,0,77,
+food_pool_toy,0,77,
+food_in_stomach,0,77,
+flong,1,77,
+flat-tailed_gecko,5,77,"flat_tailed_gecko,uroplatus"
+felix_(nik159),4,77,
+felidae,5,77,
+feces_on_hand,0,77,feces_on_hands
+feathered_headdress,0,77,
+father-in-law,0,77,
+ethan_(teckly),4,77,
+escaping_heart,0,77,
+erzabloodred,1,77,
+erozer,1,77,
+equipment,0,77,
+employee,0,77,
+emerald_dragon,5,77,
+elaz,4,77,
+ebluberry,1,77,
+dunstan,4,77,
+dripping_blood,0,77,
+dream_smp,3,77,
+dorian_(bds_charmeleon),4,77,
+dominokotya,1,77,
+diving_board,0,77,
+dirtymutt,1,77,
+deuzion,1,77,
+dergon_(edjit),4,77,
+decent.,1,77,
+day-tripper-guy,1,77,"doctor-robert,ghforever"
+dagonian,5,77,
+daedalus_vindryal,4,77,
+crescendeon,1,77,
+cornelia_nelson,1,77,
+cookie_dough_(oc),4,77,
+confederate_flag,0,77,
+comet_(reindeer),4,77,
+collagen,1,77,koragen1925
+coldgemini,1,77,
+coal_(catastrophe),4,77,
+cindersticks,1,77,
+chris_chan,4,77,cwc
+chocobibear,1,77,
+chikarasox,1,77,
+cervelet,1,77,
+causticcrayon,1,77,
+cassette_tape,0,77,
+cari_williams,4,77,cari_(ritts)
+candy_tooth_(artist),1,77,candy_tooth(artist)
+camerupt,5,77,
+calico-chan_(akamu_ver20),4,77,
+bwomp,0,77,
+buttersprinkle,1,77,
+butt_bite,0,77,
+buck_(brushfire),4,77,
+bra1neater,1,77,
+boxf,1,77,love-box-f
+bo_(slipco),4,77,
+blueumbra,1,77,
+binocszoomx10,1,77,
+bianca_(pokémon),4,77,bianca_(pokemon)
+belly_fondling,0,77,
+bec_noir,4,77,
+bare_arms,0,77,
+barbera_(regular_show),4,77,rigby's_mom
+bailey_(housepets!),4,77,
+baggy_shirt,0,77,
+back_to_the_future,3,77,
+azure_night,4,77,
+azazel_(helltaker),4,77,
+atticuskotch,1,77,"atticus-kotch,atticus_kotch"
+asinus_humanoid,5,77,
+arcc,1,77,arcc_(artist)
+animated_meme,7,77,"animation-meme,animation_meme"
+andorozon,3,77,
+anal_beads_in_urethra,0,77,
+akanisen,1,77,
+adrian_(crovirus),4,77,
+a1tar,1,77,
+^w^,0,77,
+>w<,0,77,
+;p,0,77,
+1080p,0,77,
+zikeny,1,76,
+zhīma,4,76,"zhima,zhima_(diives)"
+yunlongchen,1,76,
+yukiin,1,76,
+yomari_u,1,76,
+yellow_t-shirt,0,76,
+yellow_mouth,0,76,
+yellow_fingers,0,76,
+yassui,1,76,
+yard,0,76,
+yana-r,1,76,
+xoloitzcuintli,5,76,"mexican_hairless_dog,xolito,xolo,xoloescuincle,xoloitzcuintle"
+xboxking37,1,76,
+wyth,1,76,
+wrong_udders,0,76,
+wolf_(parasitedeath),4,76,
+winteranswer,1,76,
+visible_underwear,0,76,
+violet_(sailoranna),4,76,
+victim,0,76,
+vi_(lol),4,76,vi_(league_of_legends)
+varknakfrery,1,76,
+vaginal_prodding,0,76,
+unnatural_colors,0,76,
+ulric_arnoux,4,76,
+ugly_sonic,4,76,
+twrlare,1,76,
+twotails,1,76,
+two_tone_jacket,0,76,
+two_tone_egg,0,76,
+twin_dragons_(webcomic),3,76,
+tsurikichiyuyu,1,76,
+triplecancer,1,76,
+trex_b6,1,76,"trex_b6_(artist),trexb6,trexb6_(artist)"
+trash_bandicoot,4,76,fake_crash
+torn_arm,0,76,
+toasting,0,76,
+to_be_continued_meme,3,76,
+tinker_(hladilnik),4,76,
+tig_(slypon),4,76,
+tiberius_(paladins),4,76,
+tiara_boobowski,4,76,
+thrack,4,76,
+thorn,4,76,
+thizorac,1,76,
+thesolarwinds,1,76,
+theredhare,3,76,
+themrock,1,76,
+thebrushking,1,76,
+thebonezonedeluxe,1,76,
+text_on_necktie,0,76,text_on_tie
+tesan,1,76,
+tentacle_arms,0,76,
+tenderegoist,1,76,
+tealmarket,4,76,
+tankini,0,76,
+takeshima_(nia),1,76,
+tail_belt,0,76,
+syrup_(puzzle_and_dragons),4,76,"syrup_(p&d),syrup_(pnd),syrup_(puzzle_&_dragons)"
+symbolism,0,76,
+surin,4,76,
+suntan_lotion,0,76,
+stunned,0,76,
+strapped_down,0,76,
+storm_(stormblazer),4,76,
+stewie_griffin,4,76,
+stefan_(hextra),4,76,
+stardragon,4,76,
+standalone_testicles,0,76,
+stacking,0,76,
+split_jaw,0,76,
+spiralingstaircase,1,76,
+soul_silver_(dormin-kanna),4,76,
+sonic_x-treme,3,76,"sonic_x_treme,sonic_xtreme"
+sol_the_guilmon,4,76,
+snoot_(trinity-fate62),4,76,
+smuttymutt,1,76,
+small_penis_appreciation,0,76,
+sir_pentious_(hazbin_hotel),4,76,
+shumey,1,76,
+shoulderless_shirt,0,76,
+shot_one,3,76,
+shmallow,1,76,
+shizumi_tsubasa,1,76,shimizu_tsubasa
+shawnguku,1,76,
+sex_through_clothing,0,76,
+selkie_(fire_emblem_fates),4,76,
+scuted_legs,0,76,
+scheadar,1,76,krrrokozjabrra
+sakuragiyomi,1,76,
+sakura_ani,1,76,
+safety_goggles,0,76,
+ryndion,4,76,
+ryme_(totodice1),4,76,
+rule34rox,1,76,
+rubrad,1,76,
+roza_(woadedfox),4,76,
+rose_dandy-ba,4,76,
+rorian_blackrose,4,76,
+rokuke_shiba_(character),4,76,
+rita_(animaniacs),4,76,
+risenhentaidemon,1,76,
+rinienne,1,76,
+rimuru_tempest,4,76,
+rheobear,1,76,
+rei_ayanami,4,76,"ayanami_rei,rei_(evangelion)"
+regina_(ragnacock),4,76,
+red_loincloth,0,76,
+red_bedding,0,76,
+realistic_fur,0,76,
+ratonga,5,76,
+rabidraccoon,1,76,
+qwazzy,4,76,
+quidhansed,1,76,
+qinling_panda,5,76,brown_panda
+purple_speech_bubble,0,76,
+proteus,1,76,
+prostokvashino,3,76,
+potion_label,0,76,
+pool_party,0,76,
+pool_chair,0,76,
+pomela_(artist),1,76,
+pom,4,76,
+polish_text,7,76,
+pointy_hat,0,76,
+playstation_2,3,76,ps2
+playshapes,1,76,
+pink_sea_star,5,76,"giant_pink_sea_star,short-spined_sea_star,short_spined_sea_star"
+pink_latex,0,76,
+pikipek,5,76,
+photocopying_butt,0,76,
+pheloniblazyk,1,76,
+pepper_gomashio,1,76,
+pepper_(pepperfox),4,76,
+penetration_tunneling,0,76,
+peachy_(marshmallow-ears),4,76,
+paws_on_face,0,76,
+paintings,0,76,
+pacman20,3,76,
+oscar_the_purrloin,1,76,
+orange_bikini,0,76,
+open_season,3,76,
+opal_(bakuhaku),4,76,
+oooeygoooey,1,76,thelandofooo
+ookami_(aggretsuko),4,76,ookami_(aggressive_retsuko)
+omegabrawl,1,76,
+oleola123,1,76,
+ojififo,1,76,
+odor,0,76,
+noxus_poppy_(lol),4,76,
+novelty_censor,0,76,
+noriko_takahashi,4,76,
+nitrus,1,76,
+neighborhood,0,76,
+nanadragon4,1,76,
+mylen,1,76,
+mutual,0,76,
+monster_(game),3,76,
+molin,4,76,
+moku_nameko,1,76,
+mobilemutt,1,76,
+mitosis,0,76,
+mingaru,1,76,
+mien_(pandashorts),4,76,
+metal_chastity_cage,0,76,
+merino_sheep,5,76,
+marrubi_(artist),1,76,
+mario_(series),3,76,
+marilin_(inkplasm),4,76,
+mantine,5,76,
+maned_kitsune,1,76,maned_lyon
+malfunction,0,76,
+makizushi,0,76,
+macey_(fvt),4,76,
+looking_at_balls,0,76,
+loike,4,76,
+living_tank,5,76,"tank_morph,tankmorph"
+licking_sound_effect,0,76,
+liam_(fuf),4,76,
+lewdua,1,76,
+lewdshiba,1,76,
+lemendigogoat,1,76,
+leg_twitch,0,76,
+leafjuly,1,76,
+lah_(sonic),4,76,
+la_volpe,1,76,
+kyoht_luterman,1,76,
+kyllo_(son),4,76,
+krilinus_sixus,4,76,
+korai_(horokusa),4,76,
+koei_tecmo,3,76,
+kneeling_position,0,76,
+kingler,5,76,
+kevbot,1,76,
+kemoppai,1,76,peparuni
+katja,1,76,
+kate_(playkids),4,76,
+kairyu211,1,76,
+kace,4,76,
+jomokin,1,76,
+joji_(@jojipando),4,76,
+joixxx,1,76,
+johnfreak,1,76,
+jigglybutts,1,76,
+jet_(quin_nsfw),4,76,
+jessen,1,76,
+jenn_(zp92),4,76,
+jaykasai,1,76,
+jaren_(foxyrexy),4,76,
+ivan_grey_(character),4,76,
+istiophoriform,5,76,istiophoriforme
+indycat,1,76,
+imminent_cunnilingus,0,76,
+huskyfog,1,76,
+hugging_object,0,76,
+high_heels_only,0,76,
+high_chair,0,76,highchair
+helicopter_tail,0,76,
+heat_rotom,5,76,"fire_form_rotom,fire_forme_rotom,fire_rotom,heat_form_rotom,heat_forme_rotom,microwave_form_rotom,microwave_forme_rotom,microwave_oven_form_rotom,microwave_oven_forme_rotom,microwave_oven_rotom,microwave_rotom,oven_form_rotom,oven_forme_rotom,oven_rotom,rotom_(fire),rotom_(fire_form),rotom_(fire_forme),rotom_(heat),rotom_(heat_form),rotom_(heat_forme),rotom_(microwave),rotom_(microwave_form),rotom_(microwave_forme),rotom_(microwave_oven),rotom_(microwave_oven_form),rotom_(microwave_oven_forme),rotom_(oven),rotom_(oven_form),rotom_(oven_forme),rotom_fire,rotom_fire_form,rotom_fire_forme,rotom_heat,rotom_heat_form,rotom_heat_forme,rotom_microwave,rotom_microwave_form,rotom_microwave_forme,rotom_microwave_oven,rotom_microwave_oven_form,rotom_microwave_oven_forme,rotom_oven,rotom_oven_form,rotom_oven_forme"
+hat_tip,0,76,
+hand_on_nipple,0,76,
+hand_on_bed,0,76,
+hanazawa,1,76,
+hamton_j._pig,4,76,"hampton_j_pig,hamton_j_pig"
+hair_on_shoulder,0,76,
+guardianslade,1,76,
+ground_squirrel_humanoid,5,76,
+grimfaust_(nightterror),4,76,
+grei,5,76,
+gravelin,5,76,
+gracie_(animal_crossing),4,76,
+goina,1,76,
+go!_go!_hypergrind,3,76,
+gnorr,4,76,
+gloria_(zummeng),4,76,
+glitter_(kadath),4,76,
+glistening_glasses,0,76,"shining_glasses,shiny_glasses"
+glistening_feathers,0,76,"glistening_feather,shiny_feather,shiny_feathers"
+gilbhart,1,76,
+gerrark,4,76,
+gerdeer,1,76,
+gem_(redfox09),4,76,
+gausscannon,1,76,
+garo_(artist),1,76,
+fur_trim,0,76,
+fukashinx,1,76,
+frisky-lime,4,76,
+french_flag,0,76,
+francine_manx,4,76,
+forced_to_expose_self,0,76,
+forbiddenknights2,1,76,
+foaming_at_mouth,0,76,
+flash_bubble,0,76,
+femme_fatale,0,76,
+far_cry,3,76,far_cry_(game)
+family_guy_death_pose,3,76,
+eyes_in_darkness,0,76,
+evilfrenzy,1,76,
+evil_kima,4,76,
+erumeruta,1,76,
+error_message,0,76,
+els_(beastars),4,76,
+eloise_(animal_crossing),4,76,
+eliotak,1,76,
+dusclops,5,76,
+dualshock_3,3,76,
+dook_(lildooks),4,76,
+dj_strap,4,76,
+dirty_underwear,0,76,
+diamobster,1,76,
+diablos_(mh),5,76,"black_diablos,bloodbath_diablos,diablos_(monster_hunter)"
+demon_slayer,3,76,
+deja_vu_(101_dalmatians),4,76,
+deepfriedlasereyes,1,76,
+dan_vs.,3,76,dan_vs
+daloaf,1,76,
+daemon_of_slaanesh,5,76,
+cubikore,1,76,
+countershade_thighs,0,76,
+corruptedcryptid,1,76,
+construction_site,0,76,
+coach_dale,4,76,
+chorsinnell39,1,76,
+chloe_(icma),4,76,
+chimera_synx,1,76,chimerasynx
+chigui_(character),4,76,
+chesshire,1,76,
+cherushi_(character),4,76,
+cherry_(s2-freak),4,76,
+chadthecartoonnut,1,76,
+catpumpkin,1,76,
+carnage_(marvel),4,76,carnage_(spider-man)
+butt_flap,0,76,
+bulma,4,76,
+bulbous_nose,0,76,
+bronyant,1,76,
+bridgette_(thighlordash),4,76,
+boyfriend_(fnf),4,76,
+bow_collar,0,76,
+bow_(disambiguation),0,76,"bow,bows"
+blurred_character,0,76,
+bluebun,1,76,giggleandblush
+blue_water,0,76,
+blue_eyeliner,0,76,
+bleuxwolf,1,76,
+billie_corneja,4,76,
+billfish,5,76,
+belly_bump,0,76,
+battle_droid,5,76,
+basque,0,76,
+baseball_(disambiguation),6,76,"base_ball,baseball"
+barely_visible_areola,0,76,
+azazel_(tas),4,76,
+ausar,5,76,
+athletic_tape,0,76,
+asura_(artist),1,76,
+archeryves,1,76,
+anubian,5,76,
+anasheya,1,76,
+alym,4,76,
+almee,1,76,
+alex_(jrbart),4,76,
+album,0,76,
+albafox,4,76,
+>:o,0,76,
+>.<,0,76,
+zunu-raptor,1,75,
+yungoos,5,75,
+yu_yu_hakusho,3,75,
+youraugust,1,75,
+yes_pillow,0,75,
+yellow_jacket_(clothing),0,75,
+y_sheath_opening,0,75,
+xskullstomperx,1,75,
+xeno'jiiva,5,75,"xeno'jiva,xeno_jiiva,xeno_jiva,xenojiiva,xenojiva"
+xbox_360_console,0,75,
+xaenyth_(character),4,75,
+wolfling,1,75,
+wobblelava,1,75,
+wisp_(sonic),5,75,
+wiping_mouth,0,75,
+window_shade,0,75,
+whale_tail,0,75,
+warg_(fours),5,75,
+wani_panic,1,75,
+vontsira,5,75,
+voidbeerfloat,1,75,
+vier_punksterne,1,75,sebirb_(artist)
+victoria_(two-ts),4,75,
+vermintide,3,75,
+ventox,1,75,
+urine_on_hand,0,75,
+unaware_pred,0,75,
+ukraine,0,75,
+tyroo_(character),4,75,
+twolfe,1,75,
+turkish_van,5,75,
+tucolewds,1,75,
+trix_avenda,4,75,
+transparent_anal_beads,0,75,
+tooboe_huusuke,1,75,
+tom_the_gatomon,4,75,
+tobias_(thehades),4,75,
+tito-tonton,1,75,
+tinkerbat,5,75,
+timblackfox_(character),4,75,
+tight_panties,0,75,
+tiffany_ross,1,75,
+thebigbrap,1,75,
+theartmanor,1,75,
+the_secret_life_of_pets,3,75,"secret_life_of_pets,tslop"
+the_nut_job,3,75,
+the_frosty_chemist,1,75,
+thark,5,75,
+terry_(a-signature),4,75,
+teletubbies,3,75,
+targso,1,75,
+tanngrisnir_(tas),4,75,
+tales_of_vesperia,3,75,
+takesu,1,75,
+suyasuyabi427,1,75,
+supreme,3,75,
+sulcate,1,75,
+stunfisk,5,75,
+stronkfurry,1,75,
+stern,0,75,
+stem,0,75,
+squirmle,5,75,worm_on_a_string
+spherical_inflation,0,75,
+sorez,4,75,
+snips456fur,1,75,
+smaller_fingered,0,75,
+skitalets,1,75,
+sickbelle,1,75,
+si'itiae,5,75,
+shimo_kawa,1,75,
+sherpa_hat,0,75,
+seymore,4,75,
+sevrah,4,75,
+sentient_ears,0,75,
+segmented_tail,0,75,
+scythemouse,1,75,
+saurian_(disambiguation),6,75,saurian
+saterina,1,75,
+salamander_(artist),1,75,kouei
+sakyubasu,4,75,
+sako_(cocolog),4,75,
+sai,0,75,
+rythulian,5,75,
+rowf,1,75,
+rod_garth,4,75,
+rileyomalley,1,75,"helllemur,rileyserenity"
+ribr0t,1,75,
+reverse_kabeshiri,0,75,
+renaspyro,1,75,
+reindeer_costume,0,75,
+redwolfalang,1,75,
+red_tail_tip,0,75,
+red_sheath,0,75,
+reaching_back,0,75,
+rcc2002,1,75,
+raynadkins,1,75,
+rant,0,75,
+ralsei_smoking_blunt,3,75,
+rainbow_heart_(character),4,75,
+rainbow_collar,0,75,
+r_ex,1,75,
+quaraci,1,75,
+pronghornpunk,1,75,
+problematicpossum,1,75,
+print_hoodie,0,75,
+pornhub,3,75,porn_hub
+porn_studio,0,75,"porn_set,porn_shoot,pornset,pornshoot,pornstudio"
+poppers,0,75,
+pointing_gun,0,75,
+plank,0,75,
+plainoasis,1,75,
+pink_arms,0,75,
+phillipthe2,1,75,
+phallic,0,75,
+paw_panties,0,75,
+pacifier_in_mouth,0,75,
+owligatorstudios,1,75,
+oruka0827,1,75,
+open_hand,0,75,
+omegax,1,75,
+ocarina,0,75,
+numemon,5,75,
+nomsi_(character),4,75,
+ninja_gaiden,3,75,
+nesquik_bunny,4,75,quick_the_rabbit
+neomorph,5,75,
+neko_no_hito,1,75,
+narwhal69,1,75,
+murskahammas,1,75,
+multicolored_sweater,0,75,
+multicolored_necklace,0,75,
+multicolored_inner_ear,0,75,
+msobscure,1,75,
+motherly,0,75,
+motaro_(artist),1,75,
+monotone_bra,0,75,
+momo_(doodle_dip),4,75,
+misukitty,1,75,
+mister69m,1,75,
+mewball,1,75,
+mercy_(mercy),4,75,
+mc_morrales,1,75,
+marienne_silverleaf,4,75,
+maleherm/female,0,75,"f/mh,female/maleherm,female_on_maleherm,maleherm_on_female,mh/f"
+malberrybush,1,75,manbanras
+malan_(athiesh),4,75,
+ma-san,4,75,
+lumen_fox,1,75,
+lordaardvark,1,75,
+lolo_(lomidepuzlo),4,75,
+lion_(kemono_friends),4,75,
+link's_awakening,3,75,
+levsha,1,75,
+lentejota6,1,75,
+lee_(winged_leafeon),4,75,
+lazzzy_drawings,1,75,
+labia_pull,0,75,labia_pulling
+kung_fu,0,75,kungfu
+konigpanther,4,75,
+klutzatdusk,1,75,
+kiiko,1,75,
+kigisuke,1,75,木々助
+kiera_(shot_one),4,75,
+khuraji,1,75,
+kha'zix_(lol),4,75,kha'zix
+kendratheshinyeevee,1,75,
+kemojin,1,75,
+kecomaster,1,75,
+kay_(thiccvally),4,75,
+kay_(1-upclock),4,75,
+katinka,4,75,
+kate_starling,1,75,
+kate_(father_of_the_pride),4,75,
+k1ngl30n,1,75,
+jupiterorange,1,75,
+junibuoy,1,75,
+jiayi,1,75,idranar
+jaguar_(kemono_friends),4,75,
+infected_(species),5,75,
+imafetish,1,75,
+imadeus,1,75,
+ikobi,4,75,
+ijoe,1,75,
+iflyte_(ff),4,75,"iflyte_(final_fantasy),ifrit_(ff),ifrit_(final_fantasy),ifurito_(ff),ifurito_(final_fantasy),ifurīto_(ff),ifurīto_(final_fantasy),jinn_(ff),jinn_(final_fantasy)"
+iceshadow13,1,75,dark-ice
+ian_(braeburned),4,75,
+hylian_shield,0,75,
+howlfei,4,75,
+hooks,0,75,
+holding_pants,0,75,
+hitokuirou,1,75,人喰瑯
+hisuian_sneasel,5,75,
+hexadec,1,75,
+hetfli,1,75,
+herm_on_feral,0,75,"feral/herm,feral_on_herm,herm/feral"
+heart_pendant,0,75,
+havemoon,1,75,azuki_akizuki
+hashidoodle,1,75,
+haruki_no_saidai_no_teki_wa_risei,3,75,
+harem_boy,0,75,
+gymnast,0,75,
+grey_head_tuft,0,75,
+grey_antlers,0,75,gray_antlers
+green_pseudo_hair,0,75,
+green_coat,0,75,
+golem_(pokémon),5,75,golem_(pokemon)
+glory_hole_station,0,75,
+glacier,0,75,
+giro,4,75,
+giraffid_humanoid,5,75,
+gingy_(gingy_k_fox),4,75,
+gibbons,1,75,warmbodies
+getting_up,0,75,
+gavin_pearson,4,75,
+gabriel_(fuze),4,75,
+futashy_(cartoonlion),4,75,
+funeral-paws,1,75,
+funeral,0,75,
+fruit_slice_(yurusa),4,75,
+fluffy_wings,0,75,
+fish_in_midair,0,75,
+fern_walters,4,75,
+fellatrix,1,75,
+felestell,1,75,
+featherystorm,1,75,
+fate_(trinity-fate62),4,75,
+farm_girl,0,75,
+famous_toons_facial,3,75,
+ezumi_mh,1,75,
+excalibur_(warframe),4,75,
+eugene_(mao_mao:_heroes_of_pure_heart),4,75,
+erostud,1,75,
+emmy_dook,4,75,
+e-ward,1,75,
+dyspo,4,75,
+duskdragyn,1,75,
+duke_(bad_dragon),4,75,
+dredd,1,75,
+draik,1,75,
+dragunsnack,1,75,gritsnshit
+dough,0,75,
+dora_marquez,4,75,
+dominique_(bionichound),4,75,
+dhaval_(character),4,75,
+deirdrefang,4,75,
+decorative_pin,0,75,
+davecartoons,1,75,
+darktronicksfm,1,75,
+dark_inner_ear,0,75,
+cybernetic_hand,0,75,
+cupping,0,75,
+cubchoo,5,75,
+crossed_clips,0,75,
+creambake,1,75,
+crazy_sll,1,75,
+crazedwd,1,75,
+covenant,5,75,
+convexpert,1,75,
+conical_hat,0,75,
+confrontation,0,75,
+cobaltbadger_(character),4,75,
+coat_hook,0,75,
+clay,0,75,
+classic_lolita,0,75,
+chuuta,4,75,
+chubby_humanoid,0,75,
+christopher_(zummeng),4,75,
+cho_second,1,75,
+chinpo,1,75,
+cherry-gig,1,75,
+cheek_pinch,0,75,
+ceylon_(stitchy626),4,75,
+cassandra_hart,4,75,
+casey_jones,4,75,
+cartoonlion's_futaverse,3,75,
+carrioncat,1,75,macrbe_cat
+cali_(nastycalamari),4,75,
+bunga,4,75,
+browser,0,75,
+brown_dress,0,75,
+brianxkaren,1,75,
+boyhowdy,1,75,
+bomba_(krillos),4,75,
+blocky_snout,0,75,
+blizzie_(touchofsnow),4,75,
+blazkenzxy,1,75,
+black_rabbit_(huitu_c),4,75,
+birthday_candle,0,75,
+bigmi_nono,1,75,
+big_beak,0,75,
+beuwens-folder,1,75,
+belly_hug,0,75,
+becoming_erect_during_penetration,0,75,
+bebl,1,75,
+battouga-sharingan,1,75,
+bart_simpson,4,75,
+ballet_leotard,0,75,
+bada-butterfly,1,75,
+axel_(lazydergenboi),4,75,
+aurawing,1,75,
+arvie_dreadmaw,4,75,
+aronai,4,75,
+ariozyn-soulcatcher,1,75,
+applebloomers,3,75,
+anput,4,75,
+alicia_(northwynd),4,75,
+alice_in_wonderland_(disney),3,75,
+akeahi,1,75,soraiko
+aishasoup,1,75,
+ahappypichu-mod,1,75,
+agonylight,4,75,
+aella,4,75,
+acw,1,75,
+:i,0,75,
+43:48,7,75,
+zyra_(lol),4,74,zyra_(league_of_legends)
+zoroa553,1,74,
+zeru_(ma),1,74,
+zephyr,4,74,
+zapher,4,74,
+wynaut,5,74,
+worg,5,74,
+wooden_spoon,0,74,
+wild_fire_(mlp),4,74,
+white_speedo,0,74,
+whatarefurries,1,74,
+wes_(pokémon),4,74,wes_(pokemon)
+vulpa,4,74,
+violise,1,74,
+vincenzo_moretti,4,74,vincenzo
+vezerem,1,74,
+vd-dv,1,74,
+vapor,0,74,
+vaginal_foot_play,0,74,
+underbust_corset,0,74,
+unclescooter,1,74,
+trio_in_panel,0,74,
+trinity_(farran_height),4,74,
+toyota,3,74,
+torgore,1,74,
+tony_tony_chopper_(horn_point_form),4,74,
+tongue_in_sheath,0,74,
+tomdantherock,1,74,
+tom_sawyer_(2000_film),3,74,
+tindalos_(tas),4,74,
+time_stop,0,74,
+thundragon,1,74,
+thunderbird_(tas),4,74,
+theserg,1,74,
+the_lusty_stallion,3,74,
+teragabba,1,74,
+tentacle_dildo,0,74,
+tateha,1,74,
+tan_nails,0,74,
+tales_of_tabira,3,74,
+syndhart,1,74,
+supermoon,0,74,
+suger_phox,1,74,
+suction,0,74,
+submission_hold,0,74,
+stupidshepherd,1,74,
+steve_gallacci,1,74,"sagallacci,sagallacci_(artist),steve_gallacci_(artist),stevegallacci,stevegallacci_(artist)"
+stephen,4,74,
+stench,0,74,
+stella_(over_the_hedge),4,74,
+star_panties,0,74,
+squirrelman,1,74,
+squean,0,74,
+sploot_(unknownspy),4,74,
+spilled_liquid,0,74,
+spicetail,1,74,"reddblush,reddspice,reddverse"
+spencer_(lonewolfhowling),4,74,
+spartadog,1,74,
+sparkychu,4,74,
+sparkdraws,1,74,sparkler99
+sora_(tehkey),4,74,
+sody_pop_(chikn_nuggit),4,74,
+snagglepuss_(series),3,74,
+smutty-smeargle,1,74,
+smolspearrow,1,74,
+sledgehammer,0,74,sledge_hammer
+sk8th,1,74,
+size_shaming,0,74,
+sirenslut,1,74,
+sippo,1,74,
+silicon_chub,1,74,
+shutter_shades,0,74,
+shukin,1,74,
+shu_(legendz),4,74,
+shishiro_botan,4,74,
+shinyluvdisc,1,74,
+shade-shypervert,1,74,
+serth,1,74,
+scouts,0,74,
+schitzofox,1,74,
+sawolf151,3,74,
+sate,4,74,
+sarah_van_fiepland,4,74,wuschelwolf_(character)
+sapsan,1,74,
+sambal,4,74,
+sam_(the_sunfish),4,74,
+saloon,0,74,
+saliva_on_pussy,0,74,
+salamandr,1,74,
+roxanne_(spikedmauler),4,74,
+roodaka,4,74,
+record_of_lodoss_war,3,74,
+rebreather,0,74,
+rayu_(kamui_shirow),4,74,
+rainbow_crash,4,74,
+rainbow_blaze_(mlp),4,74,"rainbow_dad,rainbow_dad_(mlp)"
+radwolf,4,74,
+queen_aleena_hedgehog,4,74,queen_aleena
+qsteel,1,74,
+qmanshark,1,74,
+pussy_juice_on_feet,0,74,
+purple_ball_gag,0,74,
+pukao,1,74,
+proportionally_endowed_gynomorph,0,74,
+pride_color_thigh_highs,0,74,
+porah,4,74,
+pool_noodle,0,74,
+pokéball_gag,0,74,"poke_ball_gag,pokeball_gag,poké_ball_gag"
+pokéball_background,0,74,"poke_ball_background,poke_ball_bg,pokeball_background,pokeball_bg,poké_ball_background,poké_ball_bg,pokéball_bg"
+pocket_jabari,4,74,
+pidove,5,74,
+phos_(phosaggro),4,74,
+pepipopo,1,74,
+penis_arm,0,74,
+peeing_on_viewer,0,74,
+park_kr,1,74,
+pang4746,1,74,
+panda_po,1,74,
+paintdog_(artist),1,74,
+oral_fixation,0,74,
+omnii34,1,74,"omniicores24,oviicula19"
+olga_(here_there_be_dragons),4,74,
+old_world_viper,5,74,"pitless_viper,true_adder,true_viper,viperinae,viperine"
+oh_fugg,0,74,
+oguchi_magami_(tas),4,74,
+nsf,3,74,
+nonksoit,1,74,nuzkhon
+nolani_(quin-nsfw),4,74,
+nipple_tattoo,0,74,nipple_tattoos
+neyukidou,1,74,
+neve_vecat,4,74,
+nethil,1,74,nethil_(artist)
+negative_number,0,74,
+necktie_between_breasts,0,74,
+nausea,0,74,nauseous
+nana_(ice_climber),4,74,
+mutemyth,1,74,
+multiple_pregnancies,0,74,
+multicolored_scarf,0,74,
+multicolored_neckwear,0,74,
+mudshark,1,74,
+mrlolzies101,1,74,
+moneychan,1,74,
+mokanyann,1,74,
+mitchell_(felino),4,74,
+minila,1,74,
+minikane,4,74,
+mia_perella,4,74,
+mei_marzipan,4,74,
+meghan_mauriat,1,74,
+medical_play,0,74,
+mathew_(srmmk_mce),1,74,
+mason_hamrell,4,74,mason_(skidd)
+marty_the_zebra,4,74,marty_(madagascar)
+mappy,3,74,
+maple_syrup,0,74,
+manticore_humanoid,5,74,
+maniacbox,1,74,
+lunicent,1,74,
+lumieart,1,74,
+lulubell,1,74,
+lonestar_eberlain,4,74,
+littletiger488,1,74,
+linked_piercing,0,74,
+lilith_(jl2154),4,74,
+lemon_shark,5,74,
+lectern,0,74,
+lawn,0,74,
+lavender_(flower),0,74,
+larger_andromorph,0,74,larger_cuntboy
+lapis_lazuli_(steven_universe),4,74,
+krixata,1,74,
+korrina_(pokemon),4,74,korrina_(pokémon)
+kittmouri,1,74,kitt_mouri
+kitsuumi,1,74,
+kiss_mark_on_balls,0,74,
+kipwolf,4,74,
+king_kong_(series),3,74,
+katibara,1,74,
+karukim,1,74,"flowerdragon,karukim_art"
+karipup,1,74,horsefever
+karhyena,4,74,
+jolly_roger,0,74,
+jewel-thief,1,74,
+jeffrey_taggart,4,74,
+jamila_queen_cobra,4,74,
+izuku.,1,74,
+island_(character),4,74,
+inviting_cumshot,0,74,
+in_pouch,0,74,
+ifgirl,1,74,
+hysterium,4,74,
+huge_udders,0,74,
+hot-gothics,1,74,
+hornybunny,1,74,
+hoopa_(unbound),5,74,hoopa_unbound
+hollow_knight_(character),4,74,
+holding_leaf,0,74,
+holding_chopsticks,0,74,"holding_chop-stick,holding_chop-sticks,holding_chop_stick,holding_chop_sticks,holding_chopstick"
+history,0,74,
+himimi,1,74,
+heron_stellanimus,4,74,
+hero_chao,5,74,
+herald_hearth,4,74,
+heart_collar,0,74,"<3_collar,hearts_collar"
+hashimoto-chan,4,74,
+handjob_from_behind,0,74,
+h56_(hikkoro),1,74,
+greenhouse,0,74,"glass_house,glasshouse,green_house"
+greedygulo,1,74,
+grandpaced,1,74,
+grace_(floa),4,74,
+grabbing_wrists,0,74,
+ghost3280,1,74,
+garret_(pickles-hyena),4,74,
+gamermac,1,74,
+fynath,4,74,
+fuzzled,1,74,
+furrier,1,74,
+funamusea,3,74,
+francine_pennington,4,74,
+fox0808,1,74,
+foot_imprint,0,74,
+floette,5,74,
+floating_hearts,0,74,
+firr,4,74,
+fire_emblem_heroes,3,74,
+fingers_on_penis,0,74,
+fi_(blen_bodega),4,74,fi_(regret_everything)
+fetish-art,1,74,
+fender,4,74,
+feilen,4,74,
+feelin_synful,1,74,
+fay,4,74,
+fantasy_axe,0,74,
+face_panties,0,74,
+ezo_red_fox,5,74,
+exeggcute,5,74,
+evil-sprite,1,74,
+everyday2,1,74,
+ethan_(grinn3r),4,74,
+erokaiga,1,74,spellimmortal
+emolgack,4,74,
+ellie_cooper,4,74,
+elisedae,4,74,
+elise_(lustylamb),4,74,
+elewdfurs,1,74,
+ear_scar,0,74,
+ear_play,0,74,
+durga,4,74,
+dupli,1,74,
+dullyarts,1,74,
+drawloverlala,1,74,
+dramatic,0,74,
+double_pov,0,74,
+dominant_in_chastity,0,74,"caged_dom,dom_in_chastity"
+dj50,3,74,
+distracted_boyfriend,3,74,
+disregarding_notices,0,74,
+dirk_aukea_(artist),1,74,
+dink_(slypon),4,74,dink
+dennhaze,1,74,
+deeroni,1,74,
+darknesshaven,1,74,
+dan_bluestone,1,74,
+d0nk,4,74,
+cyote,4,74,
+cum_from_cloaca,0,74,
+cuddly,0,74,
+copymirror,1,74,
+commercial,0,74,
+coffeeslice,1,74,
+coconutmilkyway,1,74,
+clitoris_slip,0,74,
+citra_taur,5,74,citrataur
+circe,4,74,
+chipfox,4,74,
+chief_smirnov,4,74,
+cheek_frill,0,74,
+changing_(disambiguation),0,74,changing
+chacrawarrior,1,74,
+cat_operator,4,74,
+cartuja,4,74,
+canary_(fiaskers),5,74,
+by_spoon,1,74,
+buttplug_swimwear,0,74,
+bulge_suck,0,74,
+brutal_paws_of_fury,3,74,"animal_buranden_-_brutal,animal_buranden_brutal,brutal:_paws_of_fury,paws_of_fury"
+broken_arm,0,74,
+box-s,1,74,
+bottle_insertion,0,74,
+bondage_harness,0,74,
+bodily_fluids_from_mouth,0,74,
+bluethebone,1,74,
+blue_pseudo_hair,0,74,
+blackgtr72,1,74,
+bikini_lift,0,74,
+big_booty_pikachu,4,74,
+bianca_(sheep_and_wolves),4,74,
+bezdomny,1,74,
+bernadette_hedgehog,4,74,
+bedethingy,1,74,
+bailey_(angellove44),4,74,
+arms_on_legs,0,74,
+aquilinae,5,74,
+ankle_crossing_leg,0,74,
+angle_(copperback01),4,74,
+angel_loveridge,4,74,
+ame_(wolf_children),4,74,
+amber_(batartcave),4,74,amber_(pelao0o)
+alxias,3,74,
+alphamoonlight,1,74,
+against_rock,0,74,
+afraart,1,74,
+abortion,0,74,
+abigfathen,1,74,sepia_(artist)
+abella_mf_spirit,4,74,
+aaaa,1,74,
+a5wagyu,1,74,
+a0nmaster,1,74,a0nsecretroom
+9:7,7,74,
+8k,7,74,
+32:9,7,74,
+zygarde_core,5,73,
+zorym,1,73,
+zoom,0,73,
+zoe_heartfields,4,73,
+zeglo-official,1,73,
+zaxstar,1,73,
+yugia_(evov1),4,73,
+yellow_frill,0,73,
+yafya_(beastars),4,73,
+xxbrewbeastxx,1,73,
+xevv,1,73,waterinacup
+wyrm_(dragon),5,73,"wyrm,wyrm_dragon"
+wulfiewilk,1,73,
+wraith,5,73,
+woopu_(zoohomme),4,73,
+winged_dragon,5,73,
+windpaw,1,73,
+whalegourd,1,73,
+water_ripples,0,73,
+vortixx,5,73,
+vanity_mirror,0,73,
+unusual_penetration,0,73,
+unknown_(disambiguation),6,73,"unknew,unknow,unknowing,unknown,unknows,unow,unowing,unown,unows"
+uc77,1,73,
+txlegionnaire,1,73,
+two_tone_pants,0,73,
+two_tone_kerchief,0,73,
+tunic_(video_game),3,73,
+tumble_the_skunk,4,73,
+trainer_aliyah,4,73,
+topaz_(lipton),4,73,
+toothy_smile,0,73,
+tickling_nipples,0,73,"nipple_tickle,nipple_tickles,nipple_tickling,nipples_tickle,nipples_tickles,nipples_tickling,tickle_nipple,tickle_nipples,tickling_nipple"
+thunder_ring,4,73,
+this_isn't_even_my_final_form,3,73,
+thetroon,1,73,bogart12346
+therapist,0,73,
+text_on_jockstrap,0,73,
+tentacle_ring,0,73,
+telem,1,73,
+teien,1,73,
+team_ico_(game_developer),3,73,
+synxirazu-niam_(character),4,73,
+sybervenn,1,73,aidenleblohic
+supearibu,1,73,
+sueli_(joaoppereiraus),4,73,
+strelizia,4,73,
+stickysheep,1,73,just_shep
+steel_wool_studios,3,73,
+stan_borowski,4,73,
+sparrowl,1,73,
+souga,4,73,
+sorto,4,73,
+snowstorm,0,73,
+snorunt,5,73,
+smrtka769,1,73,
+slither_(slither),4,73,
+slinkydragon_(colorist),1,73,
+slapping_self,0,73,
+skiaskai,1,73,
+skadjer,1,73,
+sinyxstra,4,73,
+silver_fang,4,73,
+sidonie,1,73,
+shomunona,1,73,termeneko
+shixiexiaomo,1,73,
+shitsu_kushi-mono,1,73,
+shirakami_fubuki,4,73,
+seyorrol,1,73,"chinookblue,zethelius"
+sentai_rabbit_(marimo),4,73,
+selena_(baelfire117),4,73,galiena_(castbound)
+seldom,1,73,seldomsaveface
+secretkitsune,1,73,
+sapphwolf,1,73,
+santafire,1,73,
+sairaks,4,73,
+sai_(weapon),0,73,
+saerro,4,73,
+ruzzy,4,73,
+russell_ferguson,4,73,
+rubbing_eye,0,73,
+riproarrex,1,73,
+ring-tailed_vontsira,5,73,"ring-tailed_mongoose,ring_tailed_mongoose"
+rikamon,4,73,
+rex_rabbit,5,73,
+reverse_v_sign,0,73,"reverse_v-sign,reverse_victory_sign"
+reverse_forced_cunnilingus,0,73,
+requested_sex,0,73,
+reiko_(goonie-san),4,73,
+red_knight_(sirphilliam),4,73,
+razzper,1,73,
+rann,1,73,
+rainven,1,73,
+radar,0,73,
+r-fenrir,1,73,
+puffypinkpaws,1,73,
+princess_(nicoya),4,73,
+popped_collar,0,73,
+pollen,0,73,
+polartoons,1,73,
+pointed_feet,0,73,
+plated_scales,0,73,
+plague_knight,4,73,
+pink_antennae,0,73,pink_antenna
+pichu90,1,73,
+pecorine_(princess_connect!),4,73,
+pastelmistress,1,73,
+paramour_(artist),1,73,
+ozy_and_millie,3,73,
+owen_(repeat),4,73,
+ouroboros,0,73,
+oro_(ungoliant),4,73,
+orchid_mantis,5,73,
+orange_neckerchief,0,73,
+on_vehicle,0,73,
+okayado,1,73,
+officer_jenny,4,73,
+obedient,0,73,obedience
+o-ring_collar,0,73,
+notsafeforhoofs,1,73,
+northfelle,1,73,"akari.,borealisfox,lovefurakari,polarlights,pussiesncream"
+norakaru,1,73,
+ninjago,3,73,
+nina_flip,4,73,
+nes_console,0,73,
+murontis2001,1,73,
+mr._game_and_watch,4,73,"mr._game_&_watch,mr._game_&_watch,mr_game_and_watch"
+morrigan_the_marwari,1,73,
+moonagvaze,1,73,
+monotone_elbow_gloves,0,73,
+mitachurl,5,73,
+missing_limb,0,73,
+minor_arcana,0,73,
+metal_table,0,73,
+mentalcrash,1,73,
+mental_transformation,0,73,
+mazzy_techna,4,73,
+maze,0,73,
+matar,4,73,
+master_of_orion,3,73,
+marie_(angstrom),4,73,
+maple_(maplegek),4,73,
+manic_the_hedgehog,4,73,
+mango_(mangobird),4,73,
+maly_paczek,4,73,
+male_presenting,0,73,
+magic_dildo,0,73,
+m2vcjtad5hsdvla,1,73,
+lyn_(z-ray),4,73,
+lunette_(lunebat),4,73,
+lugus,1,73,
+luenas,4,73,
+lucy_(wherewolf),4,73,
+lucentleader,1,73,
+loving_gaze,0,73,
+loki_(marvel),4,73,
+living_helicopter,5,73,
+lime_ade,4,73,
+lickilicky,5,73,
+levi_west,4,73,
+letsdrawcats,1,73,
+lemy,4,73,
+kittyrosie,1,73,
+king-kakapo,1,73,
+katsurokurosaki,1,73,
+kamen_rider,3,73,
+kaltren,4,73,
+kale_(angellove44),4,73,
+kaio_kincaid,4,73,"k.o._(ok_k.o!),k.o._(ok_k.o),k.o._(ok_k.o.!),k.o._(ok_k.o.!_lbh),k.o._(ok_k.o.!_let's_be_heroes),k.o._(ok_k.o.!_lets_be_heroes),k.o._(ok_k.o.),k.o._(ok_k.o._lbh),k.o._(ok_k.o._let's_be_heroes),k.o._(ok_k.o._lets_be_heroes),k.o._(ok_k.o_lbh),k.o._(ok_k.o_let's_be_heroes),k.o._(ok_k.o_lets_be_heroes),k.o._(ok_ko!),k.o._(ok_ko!_lbh),k.o._(ok_ko!_let's_be_heroes),k.o._(ok_ko!_lets_be_heroes),k.o._(ok_ko),k.o._(ok_ko_lbh),k.o._(ok_ko_let's_be_heroes),k.o._(ok_ko_lets_be_heroes),k.o_(ok_k.o!),k.o_(ok_k.o),k.o_(ok_k.o.!),k.o_(ok_k.o.!_lbh),k.o_(ok_k.o.!_let's_be_heroes),k.o_(ok_k.o.!_lets_be_heroes),k.o_(ok_k.o.),k.o_(ok_k.o._lbh),k.o_(ok_k.o._let's_be_heroes),k.o_(ok_k.o._lets_be_heroes),k.o_(ok_k.o_lbh),k.o_(ok_k.o_let's_be_heroes),k.o_(ok_k.o_lets_be_heroes),k.o_(ok_ko!),k.o_(ok_ko!_lbh),k.o_(ok_ko!_let's_be_heroes),k.o_(ok_ko!_lets_be_heroes),k.o_(ok_ko),k.o_(ok_ko_lbh),k.o_(ok_ko_let's_be_heroes),k.o_(ok_ko_lets_be_heroes),kaio_(ok_k.o!),kaio_(ok_k.o),kaio_(ok_k.o.!),kaio_(ok_k.o.!_lbh),kaio_(ok_k.o.!_let's_be_heroes),kaio_(ok_k.o.!_lets_be_heroes),kaio_(ok_k.o.),kaio_(ok_k.o._lbh),kaio_(ok_k.o._let's_be_heroes),kaio_(ok_k.o._lets_be_heroes),kaio_(ok_k.o_lbh),kaio_(ok_k.o_let's_be_heroes),kaio_(ok_k.o_lets_be_heroes),kaio_(ok_ko!),kaio_(ok_ko!_lbh),kaio_(ok_ko!_let's_be_heroes),kaio_(ok_ko!_lets_be_heroes),kaio_(ok_ko),kaio_(ok_ko_lbh),kaio_(ok_ko_let's_be_heroes),kaio_(ok_ko_lets_be_heroes),ko_(ok_k.o!),ko_(ok_k.o),ko_(ok_k.o.!),ko_(ok_k.o.!_lbh),ko_(ok_k.o.!_let's_be_heroes),ko_(ok_k.o.!_lets_be_heroes),ko_(ok_k.o.),ko_(ok_k.o._lbh),ko_(ok_k.o._let's_be_heroes),ko_(ok_k.o._lets_be_heroes),ko_(ok_k.o_lbh),ko_(ok_k.o_let's_be_heroes),ko_(ok_k.o_lets_be_heroes),ko_(ok_ko!),ko_(ok_ko!_lbh),ko_(ok_ko!_let's_be_heroes),ko_(ok_ko!_lets_be_heroes),ko_(ok_ko),ko_(ok_ko_lbh),ko_(ok_ko_let's_be_heroes),ko_(ok_ko_lets_be_heroes)"
+juvira,1,73,
+juri_han,4,73,
+jumpscare,0,73,
+juanomorfo,1,73,
+jem_(hornedproxy),4,73,
+jack_dragon_(character),4,73,
+jack_(webcomic),3,73,
+j3t,1,73,
+iris_(ratcha),4,73,
+inky_rose_(mlp),4,73,
+inkgoat,1,73,
+impstripe,1,73,
+iberian_lynx,5,73,spanish_lynx
+hyenahonk,1,73,
+hung_clothing,0,73,
+honda,3,73,
+homer_simpson,4,73,
+hokkyoku_kuma,1,73,
+hoaxy,1,73,
+hm3526,1,73,kikurui_p
+hisuian_lilligant,5,73,
+hibari,4,73,
+hesitant,0,73,
+head_on_stomach,0,73,
+haze_the_giraking,4,73,
+guinea_(interspecies_reviewers),4,73,
+greyshores,1,73,
+green_necktie,0,73,green_tie
+greedmasterh,1,73,
+graph_paper,0,73,
+grabbing_hips,0,73,
+gordon_freeman,4,73,
+glitch_pokémon,5,73,glitch_pokemon
+glistening_gloves,0,73,shiny_gloves
+gligar,5,73,
+gi_(disambiguation),6,73,"g.i._joe,g.i.joe,g_i_joe,gi,gi_joe"
+ghostblanketboy,1,73,
+genji_(overwatch),4,73,
+garcia,4,73,
+freckles_(nukepone),4,73,
+foxy_roxy,4,73,
+fluffybardo,1,73,
+fiztheancient,1,73,
+firestar_(warriors),4,73,firepaw_(warriors)
+everstone,0,73,
+eurasian_eagle-owl,5,73,"eurasian_eagle_owl,european_eagle-owl,european_eagle_owl,siberian_eagle-owl,siberian_eagle_owl"
+euca_(repeat),4,73,
+estemilk,1,73,
+emerald_(katai),4,73,
+elvis_(animal_crossing),4,73,
+ear_clip,0,73,
+duskie-06,1,73,
+drop,0,73,
+dressing_room_(disambiguation),6,73,"changing_room,dressing_room,dressingroom,dressingroom_(disambiguation)"
+drawalaverr,1,73,
+dragonmaid_sheou,4,73,dragonmaid_strahl
+diver,0,73,
+disembodied_mouth,0,73,
+discarded_bottomwear,0,73,
+dickhead,0,73,
+detailed_foreground,0,73,
+dera_kimidori,1,73,
+david_(bcb),4,73,
+dark_tail_feathers,0,73,
+dark_paws,0,73,
+dark_gloves,0,73,
+dance_studio,0,73,
+dan_(dan_vs.),4,73,dan_(dan_vs)
+dachimotsu,1,73,
+cum_flow,0,73,
+cubi_(characters),3,73,
+clementyne,1,73,
+chuck_(braford),4,73,
+chloeelaw,1,73,
+centipeetle,4,73,
+casual_knotting,0,73,
+cashier,0,73,
+carnivorousvixen,1,73,
+cafeteria,0,73,
+cade_(the_human_heart),4,73,
+cackletta,4,73,
+buttplug_bikini,0,73,
+breast_freckles,0,73,
+bottomless_humanoid,0,73,
+bookman_v,1,73,
+bonita_(gaturo),4,73,
+blue_rope,0,73,
+blue_bow_tie,0,73,
+bloo_(character),4,73,
+blazeymix,1,73,
+black_kitty,1,73,littlepolka
+black_ball_gag,0,73,
+biri,1,73,"biri_,びりー"
+biker_jacket,0,73,
+beverly_(sailoranna),4,73,
+besped,1,73,
+belly_to_belly,0,73,
+belgian_shepherd,5,73,"belgian_sheepdog,belgian_shepard"
+beatriz_resont,4,73,
+baron_von_jackal,4,73,baronvonjackal
+ball_bite,0,73,ball_biting
+back_bow,0,73,
+avj_(artist),1,73,
+auric,1,73,
+aureola,0,73,
+atomicmeta,1,73,
+asuri_(brawlhalla),4,73,
+asmodeus_(helluva_boss),4,73,
+aradortd,1,73,
+anus_lick,0,73,
+anklav,4,73,
+andersonicth,1,73,
+amelia_(ryuakira),4,73,
+alice_lovage,4,73,
+ailaiweiyala,1,73,
+adonis_(redimplight),4,73,
+adena_(ewgengster),4,73,
+50percentgrey,1,73,
+2_panel_comic,0,73,
+19:25,7,73,
+zeir0,1,72,
+zantyarz,1,72,
+zander_oro,4,72,
+zake,4,72,
+yiffalicious,3,72,
+winter_(wof),4,72,
+wing_grab,0,72,
+wiess,1,72,
+whywhyouo,1,72,
+white_tipped_tail,0,72,
+white_neckerchief,0,72,
+weewizzylizzy,1,72,
+wavyrr,1,72,vulgarcanine
+watermelon_crushing,0,72,watermelon_crush
+wannabe_pendragon,1,72,
+waist_ribbon,0,72,
+vrock,4,72,
+voltron,3,72,
+vehicle_insertion,0,72,
+varenvel,4,72,
+v-invidia,1,72,deviousderpy
+uthstar01,1,72,
+using_magic_on_self,0,72,
+unzipped_shorts,0,72,
+uno,3,72,
+unbuckled,0,72,
+umbrella_cockatoo,5,72,white_cockatoo
+u-turn_penetration,0,72,
+tritscrits,1,72,
+trish_(winter),4,72,
+toy_car,0,72,
+tosx,1,72,
+toraisix,1,72,
+toon_patrol,0,72,
+tobacco_pipe,0,72,
+tiril,4,72,
+tigran_the_werewolf,1,72,
+thumper_(disney),4,72,
+thendyart,1,72,
+theember,1,72,
+the_next_mutation,3,72,
+text_on_pillow,0,72,
+tea_party,0,72,
+tdtbaa,1,72,
+tauski,4,72,
+tail_spots,0,72,
+tail_orb,0,72,
+tagging_guidelines_illustrated,0,72,
+straxus,4,72,
+stop_thinking_about_sex,3,72,
+stepping_on_balls,0,72,
+spica_(aoino),4,72,
+speaker_ears,0,72,
+sovulsen,1,72,
+solapi_(artist),1,72,
+slashner,1,72,
+skunk_humanoid,5,72,humanoid_skunk
+skin_tight_suit,0,72,
+sketchygarden,1,72,
+sir_cums_a_lot,1,72,
+sidotama,1,72,
+shrinking_breast,0,72,
+shrimp_(uk_brony),4,72,
+shoulder_scar,0,72,
+shooting_gun,0,72,
+shirano,4,72,
+shinobiya,1,72,
+shenron,4,72,
+shadow_mewtwo,5,72,
+shadify,1,72,
+severalbaps,1,72,
+selker,1,72,
+seadra,5,72,
+sculpt,0,72,
+scoota,1,72,
+scarlett_vithica,4,72,
+saybin_iacere,4,72,
+salmacisreptile,1,72,
+safi'jiiva,5,72,
+sabine_(lykenzealot),4,72,
+rufus_(mao_mao:_heroes_of_pure_heart),4,72,"rufus_(heroes_of_pure_heart),rufus_(mao_mao),rufus_(mao_mao_heroes_of_pure_heart)"
+ruff_bull,4,72,
+rouken,3,72,
+rottencanines,1,72,
+rosiesquish,4,72,
+roly_(roly),4,72,
+rolly_(maple_town),4,72,
+rogers_(alfredblaze),4,72,
+roger_mello_(dynamitegrizzly),4,72,
+robyn_(kaylii),4,72,
+rippel_(izzy223),4,72,
+rikuta_tp,1,72,
+riku_tavash,4,72,
+reylin,4,72,
+reformation,0,72,
+redmn,1,72,
+rawchomp,1,72,
+ralan_(thepatchedragon),4,72,
+qweeli,1,72,vertiliago
+pussy_growth,0,72,
+purple_bow_tie,0,72,
+puinkey_(character),4,72,
+public_pool,0,72,
+pro_bun_(hladilnik),4,72,
+printer,0,72,
+preciousrat,1,72,
+prea,4,72,
+pocketmob,1,72,
+pink_sheath,0,72,
+pill_bottle,0,72,
+piglet,4,72,
+penance,4,72,
+patterned_fur,0,72,
+parchment,0,72,
+panty_bow,0,72,
+p-sebae,1,72,
+orange_tuft,0,72,
+ongoing,0,72,
+one_eye_visible,0,72,
+olannah,4,72,
+offering_hand,0,72,
+ocular_prosthetic,0,72,"artificial_eye,eye_prostheses,eye_prosthesis,eye_prosthetic,glass_eye,ocular_prostheses,ocular_prosthesis,prosthetic_eye"
+nyjasca,4,72,
+nursery,0,72,
+notched_tail,0,72,
+niuxii,1,72,
+nightmare_(species),5,72,nightmare_(mythology)
+nickolai_alaric,4,72,alaric_(twokinds)
+newfoundland_dog,5,72,newfoundland
+neck_to_tail_bondage,0,72,
+nazebesu_hobby,1,72,
+natural,0,72,
+naoki_saito,1,72,
+n3f4str10,1,72,
+mysterious_mew,1,72,
+musorok,1,72,
+musket,0,72,
+muraachi2gou,1,72,
+mungo_(housepets!),4,72,
+multicolored_thigh_socks,0,72,
+multi_face,0,72,
+muffin_top_(bottomwear),0,72,
+mstivoy,1,72,
+ms._pac-man,4,72,ms_pac-man
+mrw32,1,72,"mrwes326,mrwestcoast"
+mr._mephit,4,72,mr_mephit
+monstercat_media,3,72,
+monotone_tank_top,0,72,"mono-tone_singlet,mono-tone_tank-top,mono-tone_tank_top,mono-tone_tanktop,mono-tone_wife_beater,mono-tone_wifebeater,mono_tone_singlet,mono_tone_tank-top,mono_tone_tank_top,mono_tone_tanktop,mono_tone_wife_beater,mono_tone_wifebeater,monotone_singlet,monotone_tank-top,monotone_tanktop,monotone_wife_beater,monotone_wifebeater"
+mochi-bun,1,72,mrmochi
+miyuki_(helzimgiger),4,72,
+mina_(gaturo),4,72,
+mephitid_humanoid,5,72,
+meowcephei,1,72,
+max_(sci),4,72,
+masturbator,0,72,
+mametanu_tanuki,1,72,
+magentapeel,1,72,
+lying_on_pool_toy,0,72,
+luxury_ball,0,72,
+lucy_swallows,4,72,
+louie_(bomberman),5,72,
+looking_over_shoulders,0,72,
+linette_noir,4,72,
+lindsay_(funkybun),4,72,
+like_like,5,72,
+licking_mouth,0,72,licking_muzzle
+leopold_visette,1,72,
+latea_hyena,1,72,
+kurosuke0755,1,72,
+krorenshima,1,72,
+koruro,1,72,
+kollerss,1,72,kollerss-arts
+kokuhane_(character),4,72,
+kokobiel,1,72,
+koi-chan,4,72,
+kofomy,1,72,
+kodaibun,1,72,
+kewon,1,72,
+kevak_(castbound),4,72,
+keitronic,1,72,
+kayle_(lol),4,72,
+kayasamix,1,72,
+kantan,1,72,
+kana_(demicoeur),4,72,
+jewel_the_beetle,4,72,
+jessesmash32,1,72,
+jericho_(gasaraki2007),4,72,
+jell-o,3,72,"jell_o,jello"
+jaquin_s,1,72,maloroid
+jakescorp,3,72,
+jake_(fuze),4,72,
+jack_(mass_effect),4,72,subject_zero
+iratu_elexion,4,72,
+inked-waffle,1,72,
+imflain3d,1,72,
+iceberg,0,72,
+husky_(artist),1,72,
+huge_tongue,0,72,
+how_to_talk_to_short_people,3,72,
+hose_in_urethra,0,72,
+holding_coffee_mug,0,72,
+holding_bikini_top,0,72,
+historical,0,72,
+heavy_bondage,0,72,
+haunted_house,0,72,
+happiny,5,72,
+hand_on_sheath,0,72,
+hammerface,4,72,"experiment_033,hammerface_(l&s),hammerface_(las),hammerface_(lilo_&_stitch),hammerface_(lilo_and_stitch),hammerface_(stitch),hammerhead_(l&s),hammerhead_(las),hammerhead_(lilo_&_stitch),hammerhead_(lilo_and_stitch),hammerhead_(stitch)"
+halloween_theme,0,72,
+haley_long,4,72,
+gundam_build_divers,3,72,
+gtoyaannno,1,72,
+grrrwolf,1,72,
+grey_helmet,0,72,gray_helmet
+green_roon,1,72,
+green_diaper,0,72,
+greedyorb,1,72,
+gopher,5,72,
+glistening_armor,0,72,shiny_armor
+glacierdragon,1,72,
+ghost_(destiny),5,72,
+geno_e._vefa_(coyotek),4,72,
+gem_(babystar),4,72,
+fur_pile,3,72,
+fur_hire,4,72,
+fullbodywolf,1,72,
+fujiokaaika,1,72,
+friendly_fire,0,72,
+free_(beastars),4,72,
+framed_picture,0,72,
+floorninja,1,72,
+flir_(panther),4,72,
+fitletter,1,72,
+finvi,4,72,
+fhtng_the_unspeakable,4,72,
+fenrik_(artist),1,72,
+fang_asian,1,72,
+exit_sign,0,72,
+evangellos_(artist),1,72,
+erebonbon,1,72,
+empty_scrotum,0,72,
+empty_bottle,0,72,
+elvira:_mistress_of_the_dark,3,72,
+elbow_on_knee,0,72,
+edited_screencap,0,72,
+edgarkingmaker,1,72,
+earning_chastity_removal,0,72,
+ear_fur,0,72,
+duragonart,1,72,
+durabelle,4,72,
+duke_nukem_(series),3,72,
+duke_nauticus,4,72,
+dude-doodle,1,72,"dude-doodle-do,dude-doodle-do_(artist)"
+drybone,1,72,
+dreemurr_reborn,3,72,
+dreamyart,1,72,
+drboumboom32,1,72,
+drampa,5,72,
+dragonmanmike,1,72,
+dogget_(doggettdouglasmcdog),4,72,
+dobie_(animal_crossing),4,72,
+dj_mixer_(character),4,72,
+dio_(diorexity),4,72,
+dillon's_rolling_western,3,72,
+daxx_(shirteater18),4,72,
+datbadger,1,72,
+data_(wouhlven),4,72,
+daniel-sg,1,72,danielsplatter
+daisy_chain,0,72,
+cum_enema,0,72,
+cula,1,72,
+crimsonmercury7192,1,72,
+cowfee,1,72,
+country,0,72,
+cosmic_being,5,72,
+cloaca_ejaculation,0,72,"cloaca_squirt,cloaca_squirting,cloacal_ejaculation,cloacal_squirt"
+clei,4,72,
+cinnamomo,1,72,
+chubby_feral,0,72,
+championship_belt,0,72,
+catrobis,5,72,
+catd,1,72,
+caroxmaster,1,72,
+caring_hearts_(mlp),4,72,
+caravan_palace,3,72,
+cai_yuwang,1,72,
+bubbles_(powerpuff_girls),4,72,bubbles_(ppg)
+broken_furniture,0,72,
+bow_on_head,0,72,
+bound_breasts,0,72,
+blue_gem,0,72,
+blaquetygriss,1,72,
+blackblood-queen,1,72,
+black_dragon_(dnd),5,72,
+bl4ck-cl1n1c,1,72,
+biohazard_symbol_print,0,72,
+berlin,1,72,
+bender_bending_rodríguez,4,72,"bender_(futurama),bender_bending_rodriguez"
+belly_worship,0,72,
+bella_mouse,4,72,
+bee_the_cat,4,72,
+bandaged_feet,0,72,
+atsuya_baba_(odd_taxi),4,72,
+atoh_darkscythe,4,72,
+asphyxia_lemieux,4,72,
+arrow_through_heart,0,72,
+arche_kruz,1,72,joan-michele
+anubis_and_the_buried_bone,3,72,
+anthro_to_human,0,72,
+analon_(character),4,72,
+amy_(lcut),4,72,
+ambus_(grimart),4,72,
+ambiguous_rimming_male,0,72,
+amber_(mancoin),4,72,
+amaryllis_(amy)_sharmila,4,72,
+amara_(jwinkz),4,72,
+altowovurr,1,72,
+allstatus3,1,72,
+alcitron,4,72,
+aiko_stable,1,72,
+agape_(petruz),4,72,
+aevere_(anotherpersons129),4,72,
+accidental_bow_mutant_(resident_evil),5,72,
+7010,1,72,otoan1202
+zoroj,1,71,
+zeflex,1,71,
+zeefirka,1,71,
+zebra_taur,5,71,zebrataur
+zach_(zer0rebel4),4,71,
+younger_fingered,0,71,
+young_intellegent_furry_friend,1,71,
+xetajts,1,71,
+wrinkle,0,71,
+workout_equipment,0,71,
+white_wolf_publishing,3,71,
+wen_kamui_(tas),4,71,
+watership_down,3,71,
+warship,0,71,"combat_ship,combatant_ship,war_ship"
+walter_moss,4,71,
+vorekingdom,1,71,
+vivi_ornitier,4,71,
+viken_welopl,4,71,
+venus_(trias),4,71,
+urahyu,1,71,
+upov,1,71,
+unzipped_jacket,0,71,
+university,0,71,
+unicycle,0,71,
+udder_lactation,0,71,
+two_tone_speedo,0,71,
+two_tone_head,0,71,
+tuki_(shantae),4,71,
+tsukiyo,4,71,
+trilby_(hat),0,71,
+travel,0,71,
+tractor,0,71,
+torn_skirt,0,71,
+torn_bodysuit,0,71,
+tom_(mlp),4,71,
+toilet_bowl,0,71,
+tobi_(squishy),4,71,
+titfuck_through_body,0,71,
+tinywag,1,71,0hyou
+thundurus,5,71,
+thornbeast,1,71,
+the_queen_(fvt),4,71,
+the_last_unicorn,3,71,
+the_incredibles,3,71,
+terror,0,71,
+tepigfan101,1,71,
+tenseiani,1,71,
+tamani_(coc),4,71,
+taking_order,0,71,
+tagovantor,1,71,
+symmetra_(overwatch),4,71,
+swarm,0,71,
+super_mario_bros._2,3,71,
+sulid,5,71,sulidae
+sugarbandit,1,71,
+strawberrycucumber,1,71,
+stormfront,4,71,
+stepmother,0,71,"step-mom,step-mother,step_mom,step_mother,stepmom"
+stegz,4,71,
+stargate525,1,71,
+squish_(artist),1,71,
+spiritalpha,1,71,
+spanking_paddle,0,71,
+sookmo,1,71,
+socialpoint,3,71,
+slydragoon16,1,71,
+slut_dragon,5,71,
+sleeping_on_partner,0,71,
+skyican,4,71,
+skunkdude13,1,71,
+skkortysoup,1,71,
+sidern_brethencourt,4,71,
+side_saddle_position,0,71,
+side_bangs,0,71,
+shiro,4,71,
+shawnthegirl,1,71,
+shadow_of_the_colossus,3,71,
+seuchenkater,1,71,
+seaking,5,71,
+scruffymusk,1,71,
+school_for_vampires,3,71,
+scanlines,0,71,
+sacrilegious,0,71,sacrilegiously_delicious
+ryeono_kemo,1,71,leono_kemo
+rope_leash,0,71,
+rookie425,1,71,
+rhoda,4,71,
+reverse_prince_albert_piercing,0,71,
+redeyedgazer,1,71,
+ratarang,4,71,
+ra,4,71,"amun-ra,amun_ra,ra-horakhty,ra_(deity),ra_(god),ra_horakhty"
+q-blackbun,1,71,
+pussy_juice_on_tentacle,0,71,
+purple_pillow,0,71,
+puniwanko,1,71,
+psychedelic-lemur,1,71,
+ps4_console,0,71,
+probablynoon,1,71,
+princess_fiona,4,71,
+pov_titfuck,0,71,
+pouring_on_breasts,0,71,
+polygons,0,71,
+poegryn,1,71,
+playstation_1,3,71,ps1
+pinkushika,1,71,
+pinkierawr,1,71,
+pink_high_heels,0,71,
+pink_exoskeleton,0,71,
+pimple_(battletoads),4,71,
+pawronica,1,71,
+pandora's_fox,4,71,pandoras_fox
+otterscience,1,71,
+osiriix,1,71,
+orangy,1,71,
+orange_seam_underwear,0,71,
+orange_cape,0,71,
+oola,4,71,
+onyx666,1,71,
+onmyoji-mama-rama-sama_(nightfaux),4,71,
+on_penis,0,71,
+on_chest,0,71,
+olive_(disambiguation),6,71,olive
+ohohflamethrower,1,71,
+octomaid,5,71,
+nitrosimi96,1,71,
+ninon_(artist),1,71,
+neon_(artist),1,71,
+mythological_bird,5,71,
+muq,1,71,
+mr._henderson,4,71,
+morain_xs,1,71,
+mojaloo,1,71,
+miss_brush_(brushfire),4,71,
+milo_(captain_nikko),4,71,
+methodia_rascal,1,71,
+meika_(rimba_racer),4,71,
+maxy,4,71,
+marching,0,71,
+mara_kilpatrick,4,71,
+lyn,5,71,
+lunarez,1,71,
+luna_(domovoi_lazaroth),4,71,
+lucky_(101_dalmatians),4,71,
+lovingwolf,1,71,
+lopin,4,71,
+listening,0,71,
+lilina,4,71,
+light_handwear,0,71,
+light_glans,0,71,
+light_bottomwear,0,71,
+licking_teeth,0,71,
+licking_object,0,71,
+lewdcreamy,1,71,mixan
+leopard_humanoid,5,71,
+lefty_(fnaf),4,71,
+latrans,1,71,
+lap,0,71,
+laosduude,1,71,
+lalala,4,71,
+kukkiisart,1,71,
+koopie_koo,4,71,
+kmd023,1,71,"kamado023,kamadoki,riceballl,かまど"
+kitzy_(character),4,71,
+kigoh,4,71,
+kiba_(kiba32),4,71,
+kenobear,1,71,
+kedama,1,71,
+kajinman,1,71,
+kai_(fuze),4,71,
+jotaku,1,71,
+jonfawkes,1,71,
+jmeo1230,1,71,
+jepso,1,71,
+jail_placard,0,71,
+ishigray,1,71,rayishi
+inframammary_scar,0,71,
+imminent_unbirth,0,71,
+hypnotized_prey,0,71,
+hun-yi_(wherewolf),4,71,
+huge_trapezius,0,71,
+howlite,1,71,xuza
+hose_in_penis,0,71,
+horace_horsecollar,4,71,
+holding_egg,0,71,holding_eggs
+high_collar,0,71,
+heart_body_writing,0,71,
+head_on_breast,0,71,
+hazelkisses,1,71,
+haley_(elysian_tail),4,71,
+hajime_sorayama,1,71,
+hage,1,71,
+hacatiko,1,71,
+grind3r,1,71,
+green_blood,0,71,
+graph,0,71,
+graham_(artist),1,71,
+goroguro,1,71,
+goldie_(animal_crossing),4,71,
+glimglam,1,71,
+gildedbonexfm,1,71,
+gevind,1,71,
+geralt_of_rivia,4,71,geralt_(the_witcher)
+gazer_(mamono_girl_lover),4,71,
+gameroo,1,71,
+galvinwolf,1,71,
+galacta_knight,4,71,
+fused,0,71,
+furukara,1,71,"sudane,ふるからー"
+furry_problems,0,71,
+fur_gauntlets,0,71,
+funtime_chica_(fnaf),4,71,
+frosmoth,5,71,
+freakyed,1,71,
+frackhead,1,71,
+fossa_penis,0,71,
+foreign_girl_lovers'_association,1,71,
+floorboards,0,71,
+floating_arms,0,71,
+flip_phone,0,71,
+fishine,1,71,hirame
+fireflufferz,1,71,rkgknk
+fingerless_armwear,0,71,
+filling_(disambiguation),6,71,"filled,filling"
+fidzfox,1,71,
+farting_at_viewer,0,71,
+faeseiren,1,71,
+extyrannomon_(artist),1,71,
+explosive_orgasm,0,71,
+epic_journeys_and_random_encounters,3,71,epic_journeys_&_random_encounters
+en_pointe,0,71,
+emositecc,1,71,
+elma_(dragon_maid),4,71,
+ear_ribbon,0,71,
+duop-qoub,1,71,
+droplets,0,71,
+dreamous_(writer),1,71,
+dorobo_39,1,71,
+doritomon,1,71,
+donkey_humanoid,5,71,
+dogson,1,71,
+dog_girl_(berseepon09),4,71,dog_girl(berseepon09)
+dittodotto,1,71,
+dischimera,1,71,"dischimera_(artist),disneyishchimera,disneyishchimera_(artist)"
+diaper_package,0,71,
+devon_(furball),4,71,
+dating_sim,0,71,
+darth_vader_sanchez_(housepets!),4,71,
+damian_(funkybun),4,71,
+daisy_(doom),4,71,
+cyoa,4,71,
+curry,0,71,
+crest_(disambiguation),6,71,"crest,crest_(character),crested,cresting,crests"
+crescentia_fortuna,1,71,"crescienta,nayuru"
+cosmo_(beastars),4,71,
+conqista,1,71,
+coiled_up,0,71,
+coalt,4,71,
+clydeli,1,71,
+cloacal_kiss,0,71,"cloaca_scissor_position,cloaca_scissoring,cloaca_trib,cloaca_tribbing,cloacal_scissor_position,cloacal_scissoring,cloacal_trib,cloacal_tribbing"
+chromamorph,1,71,
+cheerie,4,71,
+charles_entertainment_cheese,4,71,"chuck_e._cheese,chuck_e._cheese_(character),chuck_e._cheese_(mascot),chuck_e_cheese,chuck_e_cheese_(character),chuck_e_cheese_(mascot)"
+chappey,1,71,
+chameleos,5,71,
+certedia,1,71,
+carbink,5,71,
+butt_pillow,0,71,
+brian_o'connell,1,71,neuromanson
+blowout,0,71,
+blood_on_teeth,0,71,
+blankieplush,1,71,
+black_widow_spider,5,71,
+black_arm_warmers,0,71,
+batibatizekkyou,1,71,
+bastardpalace,1,71,
+basian,4,71,
+banding,0,71,elastration
+band-aid_on_face,0,71,
+back-tie_clothing,0,71,
+aysu,4,71,
+aven-fawn,4,71,
+atmongoose,1,71,arrow_(artist)
+at_work,0,71,
+arturo_juarez,1,71,
+arms_around_legs,0,71,
+armpit_worship,0,71,
+argo_(knights_college),4,71,
+apologizing,0,71,
+angus_(critterclaws),4,71,
+andybunny,1,71,a.g.i.
+amy_(canisfidelis),4,71,
+amarian,1,71,
+altenusy,1,71,
+ali_gray,4,71,
+alexclimax,1,71,
+alchiba,4,71,
+akylie,1,71,seleeger
+acino,4,71,
+11:9,7,71,
+0600hours,4,71,
+zraxi,1,70,
+zebra_finch,5,70,
+yoda,4,70,
+yacht,0,70,
+xylious,1,70,
+white_bars,0,70,
+wattacat,1,70,
+watery_eyes,0,70,
+watchog,5,70,
+vulpesvant,1,70,
+vulpes_foxnik,4,70,
+volac,1,70,
+vanilla_(buta99),4,70,
+vaginal_storage,0,70,
+uzaki-chan_wa_asobitai!,3,70,
+urine_on_body,0,70,
+unusual_font,0,70,
+united_kingdom,0,70,uk
+under_tree,0,70,
+umeguru,1,70,
+two_tone_claws,0,70,
+turtle_neck,0,70,
+turret_(portal),4,70,
+tulip_(flower),0,70,
+toony_expression,0,70,
+toofer,4,70,
+tiggs,4,70,
+thumbclawz,1,70,
+threewontoo,1,70,
+thirstspace,1,70,
+the_wonderful_wizard_of_oz,3,70,"land_of_oz,oz_(books),return_to_oz,the_wizard_of_oz,wizard_of_oz,wonderful_wizard_of_oz"
+the_thing,3,70,
+the_testimony_of_trixie_glimmer_smith,3,70,
+the_pirate's_fate,3,70,
+text_on_shoes,0,70,
+teatfuck,0,70,
+taro-fox,4,70,
+tarakanovich,1,70,
+tam_o'_shanter,0,70,
+tales_of_arcadia,3,70,
+synn,4,70,
+swinub,5,70,
+supersonicsoup,1,70,
+supermegatopia,3,70,
+sunspotfish,1,70,
+summoner,0,70,
+sulcus,0,70,
+stumpeg,1,70,
+stimulation-free_orgasm,0,70,
+stantler,5,70,
+srymaimon,4,70,
+spamcat,1,70,
+sonomatic,1,70,
+sofi_(aygee),4,70,
+soccer_field,0,70,
+sneel,1,70,
+slug_humanoid,5,70,
+sit_up,0,70,
+sipping,0,70,
+sindaj,1,70,
+silipinfox1298,1,70,
+siam_fox,1,70,
+shorttail,4,70,
+shira-hedgie,1,70,
+shijin,4,70,
+shepherd,0,70,
+sheazu,4,70,
+shaybecke_(character),4,70,
+shai,4,70,
+sergevna,1,70,
+sephiroth,4,70,
+seiko_(chewycontroller),4,70,
+satellite,0,70,satelite
+saloo,1,70,
+s_mino930,1,70,梨月みの
+ryken,4,70,
+rudderg33k,3,70,
+rtil,1,70,
+roz_(rosstherottie),4,70,
+roscoe_(animal_crossing),4,70,
+rine,1,70,
+reverse_penetration,0,70,
+redvelvetbat,1,70,
+red_teeth,0,70,
+red_headgear,0,70,
+red_bull,3,70,
+red_belt,0,70,
+recursion,0,70,
+recca,4,70,
+rayne_(quin-nsfw),4,70,
+raven_darkfur,4,70,
+rasalhague,1,70,
+railroad_mejic,1,70,
+rafiki,4,70,
+qunari,5,70,
+quil,4,70,
+queen_rain_shine_(mlp),4,70,
+quadruple_anal,0,70,
+quadruple_amputee_portal,0,70,
+purple_toenails,0,70,
+pucker,0,70,
+pride_heart,0,70,
+presenting_armpit,0,70,
+predatory_look,0,70,
+pork_pie_hat,0,70,
+plum_(insomniacovrlrd),4,70,
+plejman,1,70,
+platform_leg_glider_position,0,70,
+pink_bed,0,70,
+pecha_berry,0,70,
+pato_(bastriw),4,70,
+pathfinder_(apex_legends),4,70,
+paperdrop,1,70,
+pansear,5,70,
+pananovich,1,70,
+paintchat,0,70,
+oreo_(food),3,70,
+on_tail,0,70,
+ombre_hair,0,70,
+octavian,4,70,
+nuxinara,1,70,
+nunutaro3,1,70,
+notsafeforweh,1,70,
+nose_ring_pull,0,70,
+nose_lick,0,70,
+north_shepherd,4,70,
+neoarcadianx,1,70,
+nenerhea,1,70,
+nekogarasu,1,70,
+necrobern,1,70,
+nebulabat,1,70,
+navel_lick,0,70,"lick_navel,licking_navel,navel_licking"
+nari_oakes,4,70,
+nailed_bat,0,70,nail_bat
+mylafox_(character),4,70,
+munty,4,70,
+multyashka-sweet,1,70,
+mrrshan,5,70,
+mrfoxees,4,70,
+morosuhe,1,70,
+morgdl,1,70,
+mordekaiser_(lol),4,70,
+moonwhitetiger,1,70,
+monotone_bikini,0,70,
+molvno,1,70,
+miss_rain,1,70,
+milfyena,4,70,
+midnight_meowth,1,70,"artyhyena,hiena_secreta,midnightmeowth"
+meowth_(team_rocket),4,70,
+medaya,1,70,
+mayor_pauline,4,70,pauline_(mario)
+maya_del_phox,4,70,
+maxwell_(gratitude-advocate),4,70,
+maxine-dragon-787,1,70,
+matomonstera,1,70,matotoma
+maruzyrukun,1,70,
+marie_(aristocats),4,70,
+mariah_veiethe,4,70,
+marflebark,4,70,
+maleherm/maleherm,0,70,"maleherm_on_maleherm,mh/mh"
+lying_on_floor,0,70,
+lucky_(luckyabsol),4,70,
+liquiir,4,70,
+limebeatz,1,70,limebeatzafterdark
+lilithmon,5,70,laylamon
+lil-heartache,1,70,
+light_sheath,0,70,
+life_preserver,0,70,
+lewi_(toomuchdynamite),4,70,
+lesser_hedgehog_tenrec,5,70,
+lesang,1,70,
+lauren_faust,4,70,
+lampent,5,70,
+kyain,1,70,
+ktandoku,1,70,
+kovaltiel,1,70,
+kotaro_(leobo),4,70,
+knightferret,1,70,
+kloogshicer,1,70,
+kitara_cydonis,4,70,
+kirill475,1,70,
+kennzeichen,1,70,
+keiko_tachibana,4,70,
+kc_(kingcrazy),4,70,
+katamra_(spazman),4,70,
+kanzashi,0,70,
+kagetora_(pop'n_music),4,70,
+kaelyn_idow,4,70,
+just_right,3,70,
+juniper_(egocider),4,70,
+junglepony,1,70,jungleanimal
+jogging_pants,0,70,
+joerat,1,70,
+jodero,1,70,
+jmf,1,70,
+jessie-katcat_(artist),1,70,
+jersey_devil,5,70,
+jayrunner_(kitfox-crimson),4,70,
+jayecho,1,70,
+japanese_badger,5,70,
+isaiah,4,70,
+icarus_skyhawk,4,70,
+huge_anal_beads,0,70,
+hooves-art_(oc),4,70,
+homework,0,70,
+holding_pool_toy,0,70,
+holding_photo,0,70,
+hithog,1,70,
+hiroyko_art,1,70,
+hexerade,4,70,
+henry_wong,4,70,
+hedgehog_(sci),4,70,
+heart_as_word,0,70,
+head_wound,0,70,
+handjob_through_clothing,0,70,
+gyarusatan,1,70,buck-satan
+grove_(regalbuster),4,70,
+grey_head,0,70,
+grey-yordle,1,70,
+grappling_hook,0,70,
+goblimon,5,70,goburimon
+glistening_underwear,0,70,"glistening_under_wear,shiny_under_wear,shiny_underwear"
+gem_eyes,0,70,
+gardie_(otukimi),4,70,
+gammauzumaki,1,70,
+gabbah,1,70,
+g-virus_mutant_(resident_evil),5,70,
+furred_snake,5,70,"fluff_serpent,fluff_snake,fluffserpent,fluffsnake,fluffy_serpent,fluffy_snake,fluffyserpent,fluffysnake,fur_serpent,fur_snake,furred_serpent,furserpent,fursnake"
+forearm_muscles,0,70,
+finnish_text,7,70,
+film_(disambiguation),0,70,film
+fiaskers,1,70,
+feebas,5,70,
+farron_jacques,4,70,
+faldarea,4,70,
+excessive_fluff,0,70,
+evilthabad,1,70,
+evan555alpha,1,70,evan555alpha_(artist)
+eukayoticprokaryote,1,70,
+emaciated,0,70,
+egyptian_cat,5,70,
+dunkin_kk_(artist),1,70,
+dungeon_fighter_(franchise),3,70,
+dronesuit,0,70,
+dromedary,5,70,dromedary_camel
+drapion,5,70,
+drake_(kitty_pride),4,70,
+dragon_village_m,3,70,
+drago_(bakugan),4,70,
+domatriuz,4,70,
+dezo,3,70,
+detailed_eyes,0,70,
+despicable_me,3,70,minions_(film)
+deer-spangle,4,70,
+cum_on_boots,0,70,
+cum_on_abs,0,70,
+cseed,1,70,
+comment,0,70,
+cold_quarantine,1,70,
+coff,1,70,
+code_name:_hunter,3,70,
+choke_hold,0,70,
+chizu,1,70,
+cherry_the_trainer_(redimplight),4,70,
+charity_(sanders),4,70,
+celine_(vinfox),4,70,
+carotte666,1,70,
+bullet_belt,0,70,
+budew,5,70,
+broken_rape_victim,0,70,
+bribe,0,70,
+boom_boom,5,70,
+blue_rose,0,70,
+blue_poison_dart_frog,5,70,blue_poison_kevin_frog
+blinx,4,70,
+bison_black,1,70,
+big_bow,0,70,
+bianca_(dragon_quest),4,70,
+bfw,4,70,
+bellecandie,4,70,
+beautyfromabove,1,70,
+bear_nuts,3,70,
+bcpony,1,70,
+basicbiscuit,1,70,
+base_four_layout,0,70,
+barraqda,1,70,
+banned_from_equestria,3,70,
+assisted_undressing,0,70,
+armored_boots,0,70,
+arm_over_edge,0,70,
+ariel_(james_howard),4,70,
+area_(artist),1,70,
+anthro_to_humanoid,0,70,
+anthro_only,0,70,
+angelic,0,70,
+amyth,1,70,"amyth_(artist),amythfloof"
+amber-aria,1,70,
+allie,4,70,
+akaunkel,1,70,
+aj_(ajisthebest),4,70,
+aisha_(neopets),5,70,
+9air,1,70,
+5_nails,0,70,
+10:11,7,70,
+zōri,0,69,zori
+zushou,1,69,
+zoodystopia,3,69,
+zilla_(airlea),4,69,
+z-lion,1,69,
+yvem,1,69,
+yuuh1212,1,69,
+yogan,4,69,
+yellow-billed_magpie,5,69,
+xenoblade_chronicles_1,3,69,
+wtf_face,0,69,
+wrist_markings,0,69,"wrist_marking,wrists_marking,wrists_markings"
+wrist_jewelry,0,69,
+wrestling_clothing,0,69,wrestling_clothes
+winter_deerling,5,69,
+wi,4,69,
+white_tattoo,0,69,white_tattoos
+white_cat_legend,3,69,
+wepawet,4,69,
+warrnet,1,69,
+vyxen_(tolerain),4,69,
+vio023,1,69,
+viktorvaughn,1,69,
+viking_helmet,0,69,
+vicious_kitty,4,69,
+vault,0,69,
+valkyrie,0,69,
+usagin,1,69,
+ubzerd_(character),4,69,
+tyson_(password),4,69,
+trunkjob,0,69,trunk_job
+triceraton,5,69,
+tribute,0,69,
+trampoline,0,69,
+tooneyd,1,69,
+tongue_sheath,0,69,
+tolbi,1,69,
+tojo_the_thief_(character),4,69,
+toilet_pov,0,69,
+title_screen,0,69,
+thousandarms,1,69,
+theterm,1,69,
+thestrider,1,69,
+tatotake_mono,1,69,
+tapu_fini,5,69,
+tapping_foot,0,69,
+tan_paws,0,69,
+tales_of_the_ashes_(series),3,69,
+tail_penetrating,0,69,
+tail_embrace,0,69,
+taiden2,1,69,
+tacticalmagpie,1,69,
+stirrup_clothing,0,69,
+steelph,1,69,
+steelhead,5,69,
+starburst,3,69,
+standing_on_hind_legs,0,69,
+spiderpony,5,69,
+sparklepupfaeri,1,69,sparklepuppoki
+souleatersaku90,1,69,
+sonic_the_comic,3,69,
+solomon_(johnithanial),4,69,
+smokii,1,69,
+smile.dog,4,69,"smile.jpg_(character),smile_dog,smile_jpg_(character)"
+sleepymute,1,69,
+skutchi,1,69,lolover
+skunkfrakker,1,69,
+sirartwork,1,69,
+sinisterheaven,1,69,
+shiver_(shivereevee),4,69,
+shiuk_(character),4,69,
+shen_(archshen),4,69,
+sharpfury_(character),4,69,
+shamu_meruruusa,4,69,
+sensual,0,69,
+selucilia,1,69,
+scratte_(ice_age),4,69,
+scarlet,4,69,
+scafen_(character),4,69,
+savalkas,1,69,
+sasayama_akira,4,69,
+sasamaru,1,69,
+santana_the_dewott,4,69,
+saint,0,69,
+saikorodekimeru,1,69,
+ryn_(stargazer),4,69,
+ruchex_(character),4,69,
+ruby-kila,1,69,
+rose_lalonde,4,69,
+rokesys,1,69,
+rodinsinker,1,69,
+riversausage,1,69,
+ritios,1,69,
+revealing_penis,0,69,
+repzzmonster_(character),4,69,
+regice,5,69,
+redgreendied,1,69,
+reddit,3,69,
+red_clitoris,0,69,red_clit
+red_(redpixie),4,69,
+rayfkm,1,69,
+ratharn,4,69,
+ratchetjak,1,69,
+ranthfox,1,69,
+ranillopa,1,69,
+rainbow-flyer,1,69,
+qunteki,1,69,
+quentin_(zylo24),4,69,
+qew123,1,69,
+pussy_juice_stain,0,69,
+purple_outline,0,69,
+pteruges,0,69,"gladiator_skirt,pteryges"
+print_diaper,0,69,
+preparation,0,69,
+pregnant_feral,0,69,
+polesitting,0,69,
+pocky_day,3,69,
+pluvian,4,69,
+playjoe2005,1,69,
+playing_sport,0,69,
+pink_clitoral_hood,0,69,
+piccolo,4,69,
+pheanir,1,69,
+pepperoni_pizza,0,69,
+pepper_(crushpepper),4,69,
+penis_in_ear,0,69,
+pawfeather,1,69,
+paw_grab,0,69,
+pattern_cape,0,69,
+partial_transformation,0,69,
+palm_town,3,69,
+padunk,1,69,padunk_(artist)
+otter_grafitsnake,1,69,
+orangebox,1,69,orange_box
+orange_tank_top,0,69,orange_tanktop
+orange_armwear,0,69,
+oneeyewolf_(artist),1,69,
+okatana,1,69,
+o-ruff,1,69,0-ruff
+o-ring_bikini_bottom,0,69,
+nystemy_(character),4,69,
+nyaasapphire,1,69,
+nuadha,4,69,
+nostril_piercing,0,69,
+nosch,1,69,
+noisy_oral,0,69,
+nikohowlii,1,69,soubiglowheart
+nightmarebearpuff,1,69,
+nekonohige,1,69,ゆうれいどーる
+nearu-senpai,1,69,
+nata_rivermane,4,69,
+nafeon,4,69,
+mysty_(dumderg),4,69,
+myosotis_(gym_pals),4,69,
+mynerva,1,69,
+mushroom_cap,0,69,
+multiple_genders,0,69,
+multicolor,0,69,
+mp5,0,69,
+mosaic,0,69,
+monsterfuzz,1,69,
+monstercat,4,69,
+monochrome_(series),3,69,
+monique_(atrolux),4,69,
+momorawrr,1,69,
+mommy_long_legs,4,69,
+mnementh,4,69,
+mitsuhide_vulpes,4,69,
+mismatched_animal_penis,0,69,
+mira_(animal_crossing),4,69,
+mimi_(playkids),4,69,
+meru_(biggreen),4,69,
+merengue_(animal_crossing),4,69,
+memory,0,69,
+maxim_theos,1,69,
+mary_magdalene,4,69,maria_magdalena
+martha_(roly),4,69,
+marshmallow_(albinefox),4,69,
+marema_kishin,1,69,
+mardi_gras,3,69,
+mako_mickt,1,69,
+lt._john_llama,4,69,
+lost,0,69,
+lordzbacon,1,69,
+loppifi,1,69,
+lolidonk,0,69,
+liz_art,1,69,liz_art_(artist)
+littlepawz,3,69,
+li_bing_(white_cat_legend),4,69,
+lewdicrousart,1,69,
+leon_(pokémon),4,69,leon_(pokemon)
+leering,0,69,
+lamia_(lamiaaaa),4,69,
+krabby_(artist),1,69,
+kozacasa,1,69,
+koyanskaya,4,69,
+korokke,1,69,
+kickboxing,0,69,kick_boxing
+kappa_spark,1,69,
+kadoo,4,69,
+justpony,1,69,
+junkmixart,1,69,
+judylavernehopps,1,69,
+joyful,0,69,
+jorden,4,69,
+jomaro_(artist),1,69,
+jenny_(powhatan),4,69,
+jenna_kutu,4,69,
+jegc,1,69,
+japanese_tally_marks,0,69,
+isal,1,69,
+infernums,1,69,
+inbetweening,0,69,"betweening,in_betweening"
+imaranx,1,69,
+im51nn5,1,69,
+ickleseed,1,69,
+hynvale,1,69,
+hydralisk_(starcraft),5,69,
+hydoor,4,69,
+hyaenid_humanoid,5,69,hyena_humanoid
+horn_size_difference,0,69,
+holly_(fvt),4,69,
+holding_both_ankles,0,69,"double_ankle_hold,holding_ankles"
+hisuian_arcanine,5,69,
+hermione_granger,4,69,
+herdier,5,69,
+heart_a._chicago,4,69,
+head_tentacle,0,69,
+hanzo_(overwatch),4,69,
+hanger,0,69,
+gummy_worm,3,69,"gummi_worm,gummi_worm_(candy),gummi_worm_(food),gummi_worms,gummi_worms_(candy),gummi_worms_(food),gummy_worm_(candy),gummy_worm_(food),gummy_worms,gummy_worms_(candy),gummy_worms_(food)"
+grey_fingernails,0,69,gray_fingernails
+green_heart,0,69,
+green_egg,0,69,
+grace_kaiser,4,69,
+gombee,1,69,
+goh_(pokemon),4,69,"go_(pokemon),go_(pokémon),goh_(pokémon),gou_(pokemon),gou_(pokémon)"
+glowing_spots,0,69,
+gigawix,1,69,
+gabz,4,69,
+fuleco,4,69,
+fuka_(kantoku),1,69,
+frostbone,1,69,
+foxiful,1,69,
+force_field,0,69,
+fiszi,1,69,
+fisting_partner,0,69,
+finger_wag,0,69,wagging_finger
+fang_the_weavile,4,69,
+explaining,0,69,
+exhibit,0,69,
+evangelion_(cyborg),5,69,
+elytron,0,69,
+elwynofastora,1,69,
+elvira_(mistress_of_the_dark),4,69,
+ellie_(tlou),4,69,
+duke_corgi,4,69,
+drake1dragon,1,69,
+dragonith,1,69,
+disarten,1,69,
+diathorn,1,69,
+diary,0,69,
+dianna_(komponi),4,69,
+denton,1,69,lethanvas
+delos,5,69,
+deadlift,0,69,
+darksilver,1,69,
+dantera_rina,4,69,
+dagos,1,69,
+cynicalmoose,1,69,
+cum_disposal,0,69,
+cube,0,69,
+croft,1,69,
+creamydonuts,1,69,
+cosia,1,69,
+coppertone_girl,4,69,"coppertone_(ad),coppertone_(advertisement),coppertone_ad,coppertone_advertisement"
+conto,1,69,
+claw_pose,0,69,
+claudia_(averyshadydolphin),4,69,
+clair_(pokemon),4,69,clair_(pokémon)
+christie_(felino),4,69,
+chocobo_tales,3,69,
+chibiterasu_(okami),4,69,
+cheems,4,69,
+catfight,0,69,
+caroline_waters,4,69,
+carhop,0,69,
+caramelthecalf,1,69,steve_farfan
+camazotz,4,69,
+buyobutt,1,69,
+bulge_rubbing,0,69,
+brown_thigh_highs,0,69,
+brooks_(anti_dev),4,69,
+bridgie_the_heligator,4,69,
+bra_aside,0,69,
+bone_in_mouth,0,69,
+blak-dragon-boymk2,1,69,
+blacky-moon,1,69,
+black_seam_briefs,0,69,
+black_arms_(sonic),5,69,
+biohazard_tattoo,0,69,
+berenstain_bears,3,69,
+bento_(character),4,69,
+bent,5,69,
+belly_slapping,0,69,
+bel_group,3,69,
+beating,0,69,
+beat_banger,3,69,
+bat_penis,0,69,
+bastion_(bastion),4,69,
+barboach,5,69,
+badcat,1,69,
+axel_(wolfyalex96),4,69,
+ausjamcian,1,69,
+aurelina_canidae,4,69,
+asylum,0,69,
+asestrada157,1,69,
+anubiskruger,1,69,
+annie_(lol),4,69,annie_(league_of_legends)
+angelise_reiter,4,69,
+androidz,1,69,
+ambient_jellyfish,5,69,
+amalgam,0,69,
+alvar_miles_udell,4,69,
+aleximusprime,1,69,
+aleron,1,69,
+adonis,1,69,
+29:48,7,69,
+1-up_mushroom,0,69,"1_up_mushroom,1up_mushroom,life_mushroom,one_up_mushroom"
+zig_heartfields,4,68,
+zephyr_the_hyena,4,68,
+zacharoff_(anothereidos_r),4,68,
+yuuki_ray,1,68,
+yuki_(wolf_children),4,68,
+yellow_briefs,0,68,
+yasuokakitsune,1,68,
+xlkev,1,68,
+xenstroke,1,68,
+xenarthran_humanoid,5,68,
+wobble,0,68,
+wizard_robe,0,68,
+wildmutt,4,68,
+wild_west_c.o.w.-boys_of_moo_mesa,3,68,
+white_chest_tuft,0,68,
+weather_trio,0,68,
+wawik,4,68,
+wasabi_(the_spicy_ninja_scrolls),4,68,
+wanda_werewolf,4,68,
+voss_(beastars),4,68,
+voff_akita,4,68,
+virul,4,68,
+virginity,0,68,
+vinoda,1,68,mejicanomakessmut
+vincentcc,1,68,
+varollis,1,68,
+valstrax,5,68,
+uselesslizard,1,68,
+usb_compatible,0,68,
+us_flag,0,68,
+two_tone_tuft,0,68,
+twi_paww,1,68,
+troy_lesage,4,68,
+trevor_henderson,3,68,
+track_and_field,0,68,
+torrent_(elden_ring),4,68,
+toothy_(htf),4,68,
+toony_eyes,0,68,
+toe_lick,0,68,"licking_toe,licking_toes,toe_licked,toe_licking,toes_lick,toes_licked,toes_licking"
+tigon,5,68,tigron
+thugs-4-less,5,68,goons-4-less
+thickick,1,68,
+thick_foreskin,0,68,
+theyeager,1,68,
+the_monster_within,3,68,
+the_lareme_triplets_(battler),4,68,
+tgt1512,1,68,
+tfwnocatgirlgf,1,68,
+teslawolfen,4,68,
+teslajellymon,5,68,
+temporalwolf,1,68,
+teedraws,1,68,
+tarrin,4,68,
+tara_(taranima),4,68,
+tan_fingernails,0,68,
+tail_on_tail,0,68,
+synthia_vice,4,68,
+sun_wukong,4,68,
+sukendo,1,68,
+suiro,1,68,
+sue-chan_(artist),1,68,
+straps_across_chest,0,68,
+star_(babystar),4,68,
+srfx18,1,68,
+springbok,5,68,
+spring_sawsbuck,5,68,
+splendid_(htf),4,68,
+spier17,1,68,
+spider26,1,68,
+sozokuu,1,68,breadart_(artist)
+soundwave,4,68,
+sorlag,4,68,
+solicia,4,68,
+soap_bar,0,68,
+snuckums,1,68,
+smoliv,5,68,
+smoking_cigar,0,68,
+slate_(slates1n),4,68,
+sitting_on_own_balls,0,68,
+signhereplease,1,68,
+shoulder_armor,0,68,
+shon_arts,1,68,
+sherwood,1,68,bjsnobear
+sheep_taur,5,68,
+sheen,4,68,
+sharkvore,1,68,
+shampoo_bottle,0,68,
+sexual_tension,0,68,
+sev_(batartcave),4,68,
+sephaloid,1,68,
+senka-bekic,1,68,senka_bekic
+selmers_ann_forrester,4,68,"selma_ann_forrester,selmers_(nitw)"
+seff_(dissimulated),4,68,
+scuta_patch,0,68,
+scrubbing,0,68,
+scratching_butt,0,68,
+schmozy,4,68,mojavecoyote
+saygoodbye-sfm,1,68,
+saruki,1,68,
+sans_(underswap),4,68,
+sanaki,1,68,
+sakuyako_kyora,1,68,
+ryouta_yakushimaru,4,68,
+ryla,4,68,
+rujirublkdragon,1,68,
+rozga,1,68,
+rovik_(rovik1174),4,68,
+rothar,4,68,
+ritsuka_fujimaru,4,68,fujimaru_ritsuka
+ritkat,1,68,vivial
+riot41,1,68,
+rick_(dream_and_nightmare),4,68,
+ri_denueth,1,68,
+repede,4,68,
+relatable,0,68,
+red_frill,0,68,
+red_choker,0,68,
+recklessarts,1,68,
+rasile_murdock,4,68,
+raptoral_(character),4,68,
+ral-jiktar,4,68,
+ragey,4,68,
+raelynn_(mynka),4,68,
+race_car,0,68,
+queen_bee,5,68,
+qibli_(wof),4,68,
+professor_kukui,4,68,
+proboscidean_humanoid,5,68,
+pretzel_(piemations),4,68,
+popka,4,68,
+pop_team_epic,3,68,poptepipic
+poofy_hair,0,68,
+pooding,1,68,
+pinklop,1,68,yuukari-nee
+pink_neckerchief,0,68,
+pile_(breeze_in_the_clouds),4,68,
+photocopying_self,0,68,
+philomaeus,4,68,
+penis_horn,0,68,"cock_horn,cock_horns,dick_horn,dick_horns,dickhorn,penis_horns"
+paulpeopless,1,68,
+patriotic_clothing,0,68,
+orgasm_count,0,68,
+orange_sweater,0,68,
+oogzie,1,68,
+omithefox,1,68,
+olexey_oleg,1,68,
+old_anthro,0,68,
+numbro,1,68,
+nucahfox,1,68,
+nsfwquynzel,1,68,
+nooshy_(sing),4,68,
+nick_(ulfhednar),4,68,
+newtype_hero,1,68,
+neversoft,1,68,
+nekokai,5,68,
+nanuna,1,68,
+multicolored_membrane,0,68,
+multicolored_hoodie,0,68,
+mudbray,5,68,
+mr._frenzy,1,68,
+mothmandraws,1,68,
+mostlymlpanthroporn,1,68,
+mosstheopossum,1,68,
+morpeko_(full_belly_mode),5,68,"full_belly_mode_morpeko,full_belly_morpeko,full_mode_morpeko,full_morpeko,morpeko_(full)"
+moromorowephi,1,68,
+mochigolo618,1,68,
+missuspatches,1,68,
+mirroid,5,68,
+mirokuj7,1,68,
+milkie,1,68,
+miles_(anti-tails),4,68,
+metalslay3rs,1,68,
+mestiso_(character),4,68,
+menu_board,0,68,
+melo,1,68,
+megatron,4,68,
+mazedmarten,1,68,martythemarten
+maxwell_(reign-2004),4,68,
+mauro_skyles,4,68,
+matsuura,1,68,
+masked_matter-horn_(mlp),4,68,"masked_matter-horn,masked_matterhorn,masked_matterhorn_(mlp)"
+manserpent,5,68,
+malzeno,5,68,
+m@k,1,68,
+lordosis,0,68,
+looking_into_mouth,0,68,
+lone_digger,3,68,
+llama_llama,3,68,
+light_rays,0,68,
+lie,0,68,
+licking_screen,0,68,
+lexi_bunny,4,68,
+leg_restraint,0,68,
+leather_strap,0,68,
+leafwing_(wof),5,68,
+latenightsexycomics,1,68,
+lanya_(shian),4,68,
+lan_(zeta-haru),4,68,
+lameboast,1,68,
+kyder,1,68,
+kuroeda_(plus-sized_elf),4,68,
+krita_(program),3,68,
+kosperry,1,68,
+kittyflame,4,68,
+kiriban,0,68,
+kippycube,1,68,
+kipo_and_the_age_of_wonderbeasts,3,68,
+keiren_(twokinds),4,68,
+kato_(tiger),4,68,
+kamos_(sylvanedadeer),4,68,
+jugg4,1,68,
+journal,0,68,
+jolt_(wm149),4,68,
+jitenshasw,1,68,
+jiggydino,1,68,
+jenette_neils,4,68,jenette_(foxjump)
+jay_(disambiguation),4,68,
+jaspixie,1,68,
+jana_(jana's_lab),4,68,
+jager-darklite,1,68,
+irving_(100_deeds),4,68,
+improvised_bondage,0,68,
+implied_popping,0,68,
+implied_anal_penetration,0,68,
+impact,0,68,
+ignigeno,1,68,
+ifus_(character),4,68,
+ice_queen,4,68,
+ian_r_soulfox,1,68,
+hypohate,1,68,hypohate_(artist)
+hound_(character),4,68,
+hotcoffeecat,1,68,
+holding_utensil,0,68,holding_utensils
+hikagenootimsya,1,68,
+hidden_orosubi,4,68,
+hicane,1,68,
+hexatoy,5,68,
+hexafusion,0,68,
+heatboom,1,68,
+head_growth,0,68,
+hand_on_knot,0,68,
+hanako_(lyorenth-the-dragon),4,68,
+hair_loss,0,68,
+haik,1,68,
+hadrian_(character),4,68,
+green_sheath,0,68,
+green_ribbon,0,68,
+gracie_(vixeyhuskybutt),4,68,
+goldfur,4,68,
+glowing_spikes,0,68,
+gazer,5,68,
+gavin_(spyro),4,68,
+fuwayuuko,1,68,
+full_frontal_frog,3,68,
+franook,4,68,gazpacho_(character)
+foxelyn_tyson,4,68,
+formalinov,1,68,
+forced_incest,0,68,
+foot_on_foot,0,68,
+fnafng,3,68,
+flute_dragon,5,68,
+flowing_mane,0,68,
+flame_(spyro),4,68,
+flag_on_structure,0,68,
+fist_of_the_north_star,3,68,hokuto_no_ken
+finnegan_lyonhardt,4,68,
+fetal_movement,0,68,
+feces_on_genitals,0,68,
+fakerface,1,68,
+faisonne,1,68,
+eve_(1pervydwarf),4,68,
+eoks,1,68,
+endjfcar,1,68,"hunglee,oleedueolo"
+emberwick,1,68,"emberfoxart,emberfoxart_(artist)"
+ehbear,1,68,
+eftiinsfw,1,68,
+dr_rabbit_(tomtc),4,68,
+dr._mario,3,68,
+doumon,5,68,
+doughtea,1,68,
+dombrus,1,68,
+dolphin_shorts,0,68,
+doggasaurio,1,68,
+doctor_dee,4,68,
+district_9,3,68,
+dinosaur_train,3,68,
+dillon_(dillon's_rolling_western),4,68,
+dicephalic_twins,0,68,
+despina,4,68,
+despair,0,68,
+desiree_(jmh),4,68,
+delivery_vehicle,0,68,
+delet_this,3,68,
+dark_dragon_(american_dragon),4,68,
+dantae_meoi,4,68,
+cyberblade_(character),4,68,
+creatures_(company),3,68,
+covering_penis,0,68,
+covered_navel,0,68,
+courtroom,0,68,
+copper_crescendo,4,68,
+copper_(animal_crossing),4,68,
+coop_(kihu),4,68,
+convent_of_hell,3,68,
+combat_gear,0,68,
+colin_(anonymous3355),4,68,
+codymathews,1,68,
+clover_(totally_spies!),4,68,
+cinemagraph,0,68,limited_animation
+cinder_(cinderfrost),4,68,
+cigarette_box,0,68,"cigarette_boxes,cigarette_carton,cigarette_cartons,cigarette_pack,cigarette_packs"
+chub_(disambiguation),6,68,chub
+christopher_wyvern,4,68,
+chirros,1,68,
+chimiko,4,68,
+chieftain,0,68,
+charming,0,68,
+charlotteray,1,68,
+character_description,0,68,
+cempe_(caelum_sky),4,68,
+caution_stripes,0,68,
+cass_(nekomimiranger),4,68,
+caseyljones,1,68,
+casey_hartley,4,68,casey_(nitw)
+caitlin_vison,4,68,
+bucker,4,68,
+bubblewolf,1,68,
+brown_spikes,0,68,
+brown_pseudo_hair,0,68,
+brown_cowboy_hat,0,68,
+breast_crush,0,68,
+boywiththebrokenhalo,1,68,
+body_worship,0,68,
+bodily_fluids_from_ass,0,68,
+blue_(limebreaker),4,68,
+blaze_wolf,4,68,
+blackrabbit-13,1,68,
+black_howler,1,68,blackhowler12
+big_hamstrings,0,68,
+big_arms,0,68,
+bent_wrist,0,68,
+belly_pop,0,68,
+ball_crush,0,68,
+baleinebleue,1,68,
+bad_idea,0,68,
+b00mt00b,1,68,
+avogado6,1,68,
+autumn_rhapsody,4,68,
+astremine,1,68,
+ashtoreth_illacrimo,4,68,
+ashleyzombie,1,68,
+arwokom,1,68,
+aquila_chrysaetos,1,68,
+apple_macintosh,3,68,apple_mac
+antinous_(character),4,68,
+anime_style,0,68,
+angrydraconequus,1,68,
+anal_kiss,0,68,
+amused,0,68,
+amiibo,3,68,
+american_badger,5,68,taxidea
+amboyna,1,68,"anboina,アンボイナ"
+amalia_sheran_sharm,4,68,
+alyona_the_floof,4,68,
+alister_azimuth,4,68,
+alibiwolf,1,68,
+alduin,4,68,
+ahekao,1,68,
+;d,0,68,
+9:17,7,68,
+848siba,1,68,
+12-tf,1,68,
+ziggy_zerda,4,67,
+zentai,0,67,
+zangief,4,67,
+zaigane,1,67,
+yilx,1,67,
+xvvajra,1,67,
+xhyra,4,67,
+writing_utensil_in_mouth,0,67,
+wood_mouse,5,67,"field_mouse,fieldmouse,woodmouse"
+wolfwalkers,3,67,
+windwttom,1,67,
+whitecolt_productions,1,67,
+white_jockstrap,0,67,
+white6000,1,67,
+wet_pants,0,67,
+west_of_heaven,4,67,
+watson_(sherlock_hound),4,67,
+watermelon_pattern,0,67,
+wally_(pokémon),4,67,wally_(pokemon)
+wallace_and_gromit,3,67,wallace_&_gromit
+voodoo_masturbation,0,67,
+virgil_(apoetofthefall),4,67,
+vernid,5,67,
+verakultura,1,67,
+variri,1,67,
+vallycuts,1,67,
+vaatari,4,67,
+uzi,0,67,
+urethral_sound,0,67,
+unluckyoni,1,67,
+underwear_around_ankles,0,67,
+uken_l,1,67,
+tyunre,1,67,
+tuwka,1,67,
+tundra,0,67,
+tubasa,1,67,
+tuba,0,67,
+tsuderou,1,67,
+tribal_paint,0,67,
+tonitrux,4,67,
+tigress_(disambiguation),6,67,tigress
+tight_balls,0,67,
+tied_drawstring,0,67,
+theo_the_zebunny,4,67,
+thel_'vadam,4,67,
+the_ring,3,67,
+the-rasp-b,1,67,
+text_with_iconography,0,67,
+text_on_container,0,67,
+terry_grimm,1,67,
+tempestryder,1,67,
+teddy_porter,4,67,
+taykoe,1,67,
+taus,1,67,
+taped_mouth,0,67,
+tanis_(ghoul_school),4,67,tanis_mummy
+tangle_(fnaf),4,67,
+tan_border,0,67,
+tammy_(animal_crossing),4,67,
+taleir,4,67,
+tail_removed,0,67,
+syrios_(character),4,67,
+switcher-roo,3,67,
+sunderlovely,1,67,
+sukarabe,1,67,スカラベ
+stoaty,4,67,
+stein,0,67,
+standing_in_doorway,0,67,
+st4rsbucks,1,67,
+srw225we,1,67,
+sports_pads,0,67,
+spiky-eared_pichu,4,67,"spike-eared_pichu,spike_eared_pichu,spikey-eared_pichu,spikey_eared_pichu,spiky_eared_pichu"
+spike_wolf,4,67,
+species_sheet,0,67,
+southern_belle,4,67,
+soledad_(atomic417),4,67,
+snubbull,5,67,
+sniffur,1,67,kobo
+smurfette,4,67,
+smokey_bear,4,67,
+slime_core,0,67,
+sleezimon,4,67,
+skype,3,67,
+skiploom,5,67,
+skeptical,0,67,
+sitting_on_vehicle,0,67,
+siretoko_panda,1,67,
+sierraex,1,67,
+shoji,0,67,
+shoe_fetish,0,67,
+shoe_burst,0,67,
+sheriff_badge,0,67,
+shen_shepa,1,67,
+shell_necklace,0,67,
+sheep_mom,4,67,
+shadow_(copperback01),4,67,
+senatorwong,1,67,
+selixjackal,1,67,
+sega_genesis,3,67,sega_mega_drive
+sega_dreamcast,3,67,
+scarr_ruddlocke_(harmonydescent),4,67,
+sangie_nativus,4,67,sangie
+sand_creature,5,67,"living_sand,sand_monster"
+salt_shaker,0,67,
+salem_(discordthege),4,67,
+saints_row,3,67,
+rygel_(rygel_spkb),4,67,
+roxaszy98,1,67,
+rosechu_(character),4,67,
+rokumaki,1,67,
+riff_(riff34),4,67,
+rice_ball,0,67,
+ribnose,1,67,
+resting_arms,0,67,
+resinger17,1,67,
+renki_blackwolf,4,67,
+remmyfox,1,67,
+remert,1,67,muk100
+relaxed_expression,0,67,
+reishuseyu,1,67,
+reik_(peritian),4,67,
+reflective_body,0,67,
+rebecca_(jamearts),4,67,
+rape_pregnancy,0,67,
+rand_(pixiv),1,67,
+rainbow_wings,0,67,
+rainbow_topwear,0,67,
+rainbow_(artist),1,67,
+rail,0,67,
+r-a-s-p_(artist),1,67,
+pussy_pump,0,67,
+puffy_vulva,0,67,
+primal_(series),3,67,
+preyfar,4,67,
+poo-ky,1,67,
+pip_focus,0,67,
+pink_inner_pussy,0,67,
+pink_bandanna,0,67,
+pilz_moos,1,67,
+phasianus,5,67,typical_pheasant
+petresko_(character),4,67,
+pespeso,1,67,
+penny_(plantpenetrator),4,67,
+penis_dildo,0,67,
+pencil_in_mouth,0,67,
+peanut_(food),0,67,
+pawniard,5,67,
+pattern_shorts,0,67,
+patrat,5,67,
+pasiphae_structure,0,67,
+partially_(disambiguation),6,67,partially
+parenting,0,67,
+oreocakes,1,67,stupidoreo
+orange_t-shirt,0,67,
+orange_bra,0,67,
+oral_footjob,0,67,
+on_hands_and_knees,0,67,
+obsidiana,4,67,
+nyagirl,1,67,
+noe_barreiro,1,67,
+ninjapony,1,67,
+nil,4,67,
+niko_(eebahdeebah),4,67,
+nijisanji_en,3,67,
+new_world_oriole,5,67,"troupial,turpial"
+nero_(naruever),4,67,
+neogeokami,1,67,josieokami
+neiliousdyson,1,67,nejtacoz58m8
+nachos,0,67,
+multicolored_speedo,0,67,
+moto_moto,4,67,
+morning_sex,0,67,
+moozel,4,67,
+monotone_eyewear,0,67,
+mkz_kabeuchi,1,67,
+mits_(character),4,67,
+missing_ear,0,67,
+miraculous_ladybug,3,67,
+minna_sundberg,1,67,shadowumbre
+ming_lee_(turning_red),4,67,
+minamoto_no_raiko,4,67,
+mike_(sigma_x),4,67,
+mike_(mrmellow),4,67,
+merystic,1,67,
+melonpussy,1,67,
+mazilion,1,67,
+maxizz,1,67,
+mattie_(pokefound),4,67,
+master_mantis,4,67,
+marcus_firestorm,4,67,marcus_red
+mankini,0,67,
+mangolynx,1,67,
+mamandil,1,67,
+magenta_(magenta7),4,67,
+lyrebird,5,67,
+lykenzealot,1,67,
+lupiarts,1,67,
+lung,0,67,lungs
+lucy_(aikega),4,67,
+lotad,5,67,
+long_the_dragon,4,67,
+light_gloves,0,67,
+lexy_the_sheep_taur,4,67,
+lei_long,4,67,
+lamika,4,67,
+ladypixelheart,1,67,
+kurube,1,67,
+kuma25-ya,1,67,
+kuatabami,1,67,
+kristiadder,1,67,
+kribbles,1,67,
+kohev_kass,1,67,
+koda_walker,1,67,
+kitt-n-valentine,4,67,
+kira,4,67,
+kippy,1,67,"groatydeer,groatydeer_(artist),kippy_(artist)"
+kingraam,1,67,"heroesofstar,raamskorge"
+kingbriarturtle,1,67,
+king_of_sorrow_(artist),1,67,
+king_andrias_leviathan,4,67,
+killerqueen1911,1,67,
+khander,4,67,
+kemo_nuko,1,67,
+kelkessel,1,67,
+kalisster_ssin,4,67,
+kajhiro,1,67,
+kabbu_(bug_fables),4,67,
+junker,4,67,
+joy_(sssonic2),4,67,
+jose-497,1,67,
+jolty,4,67,
+jessica_willard,1,67,jwillard
+jess_(capdocks),4,67,
+jellcaps,1,67,
+j.fbelen,1,67,
+ivy_pepper,4,67,
+itsmorti,1,67,
+iron_aegis,4,67,
+intermundano,1,67,
+intense_stutter,0,67,
+input-command,1,67,
+ino_makani,4,67,
+imeow,4,67,
+hugo_(jungledyret),4,67,
+hot_sauce,0,67,"chile_sauce,chili_sauce"
+homeless_dog,4,67,
+holding_riding_crop,0,67,
+holding_remote_control,0,67,
+holding_footwear,0,67,
+holding_fan,0,67,
+hiddenwolf,1,67,
+hidarikiki,1,67,
+helen_dish,4,67,
+heir-of-rick,1,67,finalskies
+hee-na,4,67,
+heart_bow,0,67,
+headcrab,5,67,
+head_arms,0,67,
+hat_flower,0,67,
+happycrumble,1,67,"floons,happy_crumble,rumwik"
+hana_hakken,4,67,
+gym_equipment,0,67,
+grey-headed_flying_fox,5,67,"gray-headed_flying_fox,gray_headed_flying_fox,grey_headed_flying_fox"
+green_tunic,0,67,
+green_sky,0,67,
+green_outline,0,67,
+grausummon,1,67,
+graduation_cap,0,67,
+golf_ball,0,67,
+gold_bar,0,67,
+gojiro_(pak009),4,67,
+gojho,1,67,
+goblins,3,67,
+glowing_jewelry,0,67,
+glistening_hooves,0,67,shiny_hooves
+ginsingoo1,1,67,
+gigaboy,1,67,
+ghast_(minecraft),5,67,
+gem_(doubledog),4,67,
+gattatta,1,67,
+gatox_(artist),1,67,
+gallar_(nnecgrau),4,67,
+gab,4,67,
+frosti_loxxxe,4,67,
+frilly_legwear,0,67,frilled_legwear
+friita,1,67,
+fraxure,5,67,
+foxy101,1,67,
+folding_chair,0,67,
+fira3dx,1,67,
+finding_nemo,3,67,
+fievel_mousekewitz,4,67,
+fermusieboir4,1,67,
+fenris64,1,67,
+fenix31_(artist),1,67,
+feelferal,1,67,
+feda:_the_emblem_of_justice,3,67,
+feather_growth,0,67,
+fauxsquared,1,67,
+falcon_graves,4,67,
+evolution_chart,0,67,
+eurotica,3,67,
+epsilon,4,67,
+eosfoxx,1,67,
+entwined,0,67,
+earband,0,67,
+dunes,0,67,
+duct_tape_gag,0,67,
+drunkavocado,1,67,
+drawn-sex,1,67,drawn_sex
+drake_inrelal,4,67,
+dragonclaw36,1,67,
+drafthoof,1,67,
+dottipink,4,67,
+donkey_(shrek),4,67,
+dog_bed,0,67,"dog-bed,dog-beds,dog_beds,dogbed,dogbeds,doggie-bed,doggie-beds,doggie_bed,doggie_beds,doggiebed,doggiebeds,doggy-bed,doggy-beds,doggy_bed,doggy_beds,doggybed,doggybeds"
+doeboi,1,67,hentufappu
+dmann892,1,67,
+dipo_(artist),1,67,
+dinosaur_planet,3,67,
+devil_teemo_(lol),4,67,
+detachable_arms,0,67,detached_arm
+demonium,4,67,
+deceased_bunny_(artist),1,67,
+dawn_(ymbk),4,67,
+dave_strider,4,67,
+darkman-zero,1,67,
+darkflame75,1,67,
+darkfang100,1,67,
+dark_tongue,0,67,
+dar-kuu,1,67,
+danger_mouse,4,67,
+cum_on_own_belly,0,67,
+crushed_object,0,67,
+cordell,4,67,
+concrete_wall,0,67,
+clothed_gynomorph_nude_gynomorph,0,67,clothed_dickgirl_nude_dickgirl
+claire_(ponehanon),4,67,
+circles_(comic),3,67,
+cilok,1,67,
+cierras,1,67,
+cheshirecatsmile37,1,67,
+charbold,1,67,
+cerealharem_(artist),1,67,
+catmuti,1,67,
+catjam_(artist),1,67,
+case,0,67,
+carrot_(carrot),4,67,
+carracosta,5,67,
+camera_phone,0,67,
+cabinets,0,67,
+bulk,0,67,
+buck_(ice_age),4,67,
+brindle,1,67,
+brekkist,1,67,
+bow_(artist),1,67,
+bounsweet,5,67,
+bouncing_pecs,0,67,
+bottle_cap,0,67,
+blue_tail_tip,0,67,
+blue_dragon_(character),4,67,
+blackpassion777,1,67,
+black_wristband,0,67,
+black_mamba,5,67,blackmamba
+black_bikini_bottom,0,67,
+billmurray,1,67,
+benson_dunwoody,4,67,
+bato_the_cyborg,1,67,
+baelfire117,3,67,
+baek-myo,1,67,
+aunt_orange_(mlp),4,67,aunt_orange
+atlas_(jelomaus),4,67,
+asha_hira,4,67,ultraviolet_(character)
+arwen,4,67,
+arteficialtrees,1,67,
+areola_piercing,0,67,
+arctix_(talaniss),4,67,
+arctic_hare,5,67,
+anotherpic,1,67,
+andy_(nekomimiranger),4,67,
+amonomega,1,67,
+amber_(femsubamber),4,67,
+alivia,4,67,
+alice_in_wonderland_(1951),3,67,
+alexi_civitas,4,67,alexicivitas
+alex_(nsf),4,67,
+alex_(loobka),4,67,
+alduin_hearth_(character),4,67,
+agony_(copyright),3,67,
+adrian_vitalis,4,67,
+adc1309,1,67,
+abbey_(bcb),4,67,
+>o<,0,67,
+zoquete,1,66,andweardalyfde
+zoharwolf,1,66,
+zerlix_fox,1,66,
+zedzar,1,66,
+zartersus,4,66,
+yunukopi,1,66,
+yukimushi6,1,66,
+younger_brother,0,66,
+yen_rin,1,66,"enrin,flame_scale,yenrin,炎燐,炎鱗"
+yellow_(character),4,66,
+yagi-no-baka,1,66,
+world_of_final_fantasy,3,66,
+wooxx,1,66,
+women_livestock,0,66,
+wolf_j._samuel,4,66,
+wiping_forehead,0,66,
+wild_zoo,3,66,
+whitecrow,1,66,
+whiscash,5,66,
+wereursine,5,66,
+watering,0,66,
+vulpimancer,5,66,
+vulpesvant_(character),4,66,
+virovirokun,5,66,
+vao_(coffeechicken),4,66,
+vanimate,1,66,
+vanillayote,1,66,mountaindewdrawer
+vanilla_(canary),4,66,
+v-i-e,1,66,
+triforce_print,0,66,
+tribes_of_tanglebrook,3,66,
+toy_chica_(eroticphobia),4,66,
+torchy,4,66,
+tongue_taco,0,66,
+tomiwoof,1,66,lto_mil
+to_fat_to_fly,1,66,
+tickling_sides,0,66,
+tiberius_creations,1,66,
+thydris,1,66,
+thud,0,66,
+thorsoneyja,3,66,
+thespicypaprika,1,66,
+thedragonred12,1,66,
+the_isle,3,66,the_isle_(copyright)
+tharsix,4,66,
+text_on_handwear,0,66,
+tentacle_pregnancy,0,66,
+tenides,1,66,
+team_plasma,3,66,
+teal_wings,0,66,
+tau_maxim,4,66,
+tape_over_penis,0,66,
+takkun_(takkun7635),4,66,
+taillessbunny,1,66,
+tail_hair,0,66,
+syntek_(character),4,66,
+sweater_dress,0,66,
+superbabsy123,1,66,
+sunrays,0,66,
+sunglasses_on_face,0,66,
+suki_yamamoto,4,66,
+su_wu,4,66,
+stomach_bulging,0,66,
+stick_in_tail,0,66,
+stellaris,3,66,
+star_guardian,0,66,
+standing_on,0,66,
+sralivewolfox,1,66,
+spookaboo,1,66,
+spectre_z,1,66,spectre-z
+spaffy,4,66,
+snake_(animal_crossing),4,66,
+smeargle20,1,66,
+sludge,0,66,
+slacks,0,66,
+skittle_(oc),4,66,
+sitting_on_back,0,66,
+simon_(evane),4,66,
+siman-clifton,1,66,
+sign_graphic,0,66,
+shun1124,1,66,パンツはboxer派
+shirokuro0,1,66,"shiro_kuroi_no,しろくろいの"
+shippun,4,66,
+sharkini,0,66,"shark_bikini,shark_bite_bikini,shark_bite_swim_suit,shark_bite_swimsuit,shark_swim_suit,shark_swimsuit,sharkbite_bikini,sharkbite_swim_suit,sharkbite_swimsuit"
+sexilydrawn,1,66,
+senpuuki-chan,1,66,"senpuuki,senpuuki_chan"
+selicia,4,66,
+sega_controller,0,66,
+sasha_(bunnybits),4,66,
+saria_legacy,4,66,
+sammy_(buxbi),4,66,
+sami_demarco,4,66,
+sagejwood,1,66,
+safeword,0,66,safe_word
+rylie_(hypernovagm),4,66,
+rybiok,1,66,
+rudolph_the_red-nosed_reindeer_(tv_special),3,66,
+rough_the_skunk,4,66,
+rosie_(heavensdoor),4,66,
+roomba,3,66,
+rome_(feuerfrei),4,66,
+rod_steele,4,66,
+roasting_spit,0,66,
+ripper_torsent,1,66,
+riley_(disjachi),4,66,
+riju,4,66,
+rifykoh,1,66,
+rezflux,1,66,
+reptile_tail,0,66,
+rel,4,66,
+reddishmaroon,1,66,
+rayoshi,4,66,
+raydonxd,1,66,
+ravios,4,66,
+ravebounce,4,66,
+rancid,1,66,
+quivster,1,66,
+pux,1,66,
+purple_speedo,0,66,
+purple_neckerchief,0,66,
+purple_diaper,0,66,
+protest,0,66,
+profec,1,66,
+primal_dialga,4,66,
+presenting_to_viewer,0,66,
+prehensile_ears,0,66,
+predacon,5,66,
+portugueselynx,1,66,
+poppy_(justkindofhere),4,66,
+poncle,5,66,
+polymorph,5,66,
+plugged,0,66,
+pinky_(pac-man),4,66,
+pink_light,0,66,
+pink_genitals,0,66,
+phant0mhat,1,66,
+peng,1,66,bunnichoco
+partran_(red_panda),4,66,
+parcly_taxel,4,66,
+paralee_(character),4,66,paralee
+paper_crown,0,66,
+panties_removed,0,66,
+pangurban91,1,66,
+paintrfiend,1,66,
+pachislot,1,66,
+oversized_sweater,0,66,
+otter_humanoid,5,66,
+original_content,0,66,
+orchard,0,66,
+oldgreg,1,66,
+ol'_blue,4,66,"blue_(heroes_of_pure_heart),blue_(mao_mao),blue_(mao_mao:_heroes_of_pure_heart),blue_(mao_mao_heroes_of_pure_heart),ol'_blue_(heroes_of_pure_heart),ol'_blue_(mao_mao),ol'_blue_(mao_mao:_heroes_of_pure_heart),ol'_blue_(mao_mao_heroes_of_pure_heart),ol_blue,ol_blue_(heroes_of_pure_heart),ol_blue_(mao_mao),ol_blue_(mao_mao:_heroes_of_pure_heart),ol_blue_(mao_mao_heroes_of_pure_heart),old_blue,old_blue_(heroes_of_pure_heart),old_blue_(mao_mao),old_blue_(mao_mao:_heroes_of_pure_heart),old_blue_(mao_mao_heroes_of_pure_heart)"
+oil_lamp,0,66,"kerosene_lamp,kerosene_lantern,oil_lamps,oil_lantern,oil_lanterns,oillamp,oillamps,oillantern,oillanterns"
+ogremon,5,66,
+nyong_nyong,1,66,
+nononge,1,66,
+nix_(ceehaz),4,66,
+nim-nim,1,66,
+nikora_angeli,1,66,
+nickname,0,66,
+nichijou,3,66,
+nantaimori,0,66,
+nanozell_spirit,5,66,
+nakayan,1,66,
+nahadon,1,66,
+naginata_katsurino,1,66,
+musky_armpit,0,66,
+multi_tone_scales,0,66,
+mud_wrestling,0,66,
+mrs._bull,4,66,
+mourn_the_buck,1,66,sailormoonfan666
+mounted_sign,0,66,
+mole_humanoid,5,66,
+mjolnir,0,66,
+midnight_sparkle_(eg),4,66,midnight_sparkle
+mega_man_star_force,3,66,
+meeka_(spiko),4,66,
+meat_hook,0,66,
+maxine_boulevard,4,66,
+mav_(deadly_kiten),4,66,
+mathythemathy,1,66,
+mash_kyrielight,4,66,shielder_mash_kyrielight
+martin_ballamore,4,66,
+marshort,1,66,
+mara_(scorpdk),4,66,
+manor_(bottlebear),4,66,
+malegardevoir,1,66,
+male_operator,4,66,
+maisie_whisk,4,66,
+mafekoba,1,66,
+m_ikky,1,66,
+lyga,4,66,
+lupe_(neopets),5,66,
+lovers_(oc),4,66,
+loopy_de_loop,3,66,
+loopy_(loopy_de_loop),4,66,
+looking_under_clothing,0,66,
+looking_at_computer,0,66,
+lombre,5,66,
+lisa_(goof_troop),4,66,
+lifeguard_tower,0,66,
+lewdzure,1,66,
+levin_rhekunda,4,66,
+leg_around_pole,0,66,
+lazybutt_(artist),1,66,
+lanhai,1,66,l-a-n-h-a-i
+lakeside,0,66,
+kristen_reid,4,66,
+kourourin,1,66,
+kotya-ra,1,66,
+konomichi,4,66,
+ko-gami,1,66,
+knotted_feline_penis,0,66,
+kittie,4,66,
+kissa_yander,4,66,kissa_(kyander)
+king_manu,4,66,
+kilika,4,66,
+keroa,1,66,
+kelvin_hiu,1,66,
+kaffii,1,66,
+kadomarco,1,66,
+julia_caernarvon,4,66,
+joushi,1,66,
+jorunna_parva,5,66,sea_bunny
+jonathan_(character),4,66,
+johara_mombasa,4,66,
+joh29,1,66,
+joanne_(megustalikey),4,66,
+jingx1,1,66,
+jess_(kinaj),4,66,
+jellybats,1,66,
+jana's_lab,1,66,
+jack_(disambiguation),6,66,jack
+italy,0,66,
+isna,1,66,
+inverted_(disambiguation),0,66,inverted
+incarnata,1,66,
+in_beverage,0,66,
+improvised_vibrator,0,66,
+implied_pregnancy,0,66,
+ian_(gothicskunk),4,66,
+i-am-that-japanesse,1,66,
+humanoid_fingers,0,66,
+hukeng,1,66,
+holding_paws,0,66,
+holding_baseball_bat,0,66,
+hit,0,66,
+heart_spade_tail,0,66,
+hares_(unit_no04),4,66,
+harder,0,66,
+hanna_fondant,4,66,
+hands_on_thigh,0,66,
+hana_(jishinu),4,66,
+half-dude,1,66,
+gutted,0,66,
+grishnax,1,66,
+green_clitoris,0,66,green_clit
+gosalyn_mallard,4,66,
+givuon_(artist),1,66,
+ggv,4,66,
+gerson,4,66,
+genesect,5,66,
+gekko-seishin,1,66,
+galathea,4,66,
+fyr,4,66,
+furtshi,1,66,
+full_body_suit,0,66,
+frost_wolf,4,66,
+foxx.dott,1,66,
+foozle,5,66,
+foot_claws,0,66,
+fluffy_butt,0,66,
+florence_flask,0,66,
+floramon,5,66,
+flood,0,66,
+flappydog,1,66,
+fillyscoots42,1,66,
+fili-second_(mlp),4,66,"fili-second,fili_second,fili_second_(mlp)"
+fever-dreamer,1,66,
+felix_joyful,4,66,
+fejess96,1,66,
+feet_everywhere,0,66,
+feces_in_own_mouth,0,66,
+fauxtellno1,1,66,
+fallen_angel_(artist),1,66,
+ezalias,1,66,
+extry,1,66,
+ettie,4,66,
+esterr_(artist),1,66,
+erakir,4,66,
+entsk,1,66,
+emira_blight,4,66,emira_blight_(the_owl_house)
+embereon,5,66,
+elbow_fur,0,66,
+einom,1,66,
+duster_coat,0,66,
+drapery,0,66,
+dranz,4,66,
+drakxs,1,66,
+drakkor,4,66,
+dragon_ball_gt,3,66,
+dot_executables,1,66,quietstealth
+distress,0,66,
+disk_(daftpatriot),4,66,
+deilan12,1,66,
+deepest_sword,3,66,
+deejayhan,1,66,"honeyclop,jaron-bates,red-panda-booty"
+deadman_joe_velasquez,4,66,
+dav-19,1,66,
+dark_underwear,0,66,
+dalthia,4,66,
+daisy_maybelle,4,66,
+daaon_dragon,1,66,
+cybernetic_face,0,66,
+customer_service_wolf,3,66,
+cum_on_screen,0,66,
+cum_on_pants,0,66,
+crotch_rub,0,66,
+common_pheasant,5,66,"ring-necked_pheasant,ring_necked_pheasant"
+cole_(colelucario),4,66,
+cokesero,1,66,
+coffeestain,1,66,
+cobalt_the_unicorn,4,66,
+clothing_around_legs,0,66,
+clef,4,66,clefwolf
+clara_(cyancapsule),4,66,
+claire_(bunnybits),4,66,
+clair_(seel_kaiser),4,66,
+ciwi,1,66,
+chocolatekitsune,1,66,
+chocolate_syrup,0,66,
+chikiot,4,66,
+cheshire,5,66,
+chainsaw_man,3,66,
+cautioncat,1,66,
+caspar_the_frog,4,66,
+card_deck,0,66,"deck_(cards),deck_of_cards"
+caeleste,1,66,
+butt_transformation,0,66,
+bubblegum_(cuddlehooves),4,66,
+brown_sweater,0,66,
+brown_stockings,0,66,
+bronzong,5,66,
+brittany_(roushfan5),4,66,
+brickoven,1,66,
+brandon_(cookiefoxbrandon),4,66,
+brandi_(os),4,66,
+br333,1,66,
+booker_(animal_crossing),4,66,
+bobby123,4,66,
+bluewavecon,1,66,
+blue_bracelet,0,66,
+blub,0,66,
+blizzard_(blizzyfox),4,66,
+blitzen,4,66,
+blacksaikou,1,66,
+black_head,0,66,
+black_eye_patch,0,66,
+biting_sheets,0,66,
+big_shot_(splatoon),5,66,
+bicycle_helmet,0,66,
+berrythelothcat,1,66,
+bepinips,1,66,
+beezii,1,66,yeahbeezii
+becca_(bernielover),4,66,
+batgirl,4,66,
+ball_penetrating,0,66,
+badday28,1,66,
+baby_bouncer,0,66,
+awrpie,1,66,
+avarice_panthera_leo,4,66,
+avali_underfluffies,0,66,
+autoknotting,0,66,
+australian_flag,0,66,
+audrey_(woofyrainshadow),4,66,
+atlas_(fusion_h0ss),4,66,
+arkanoego,1,66,
+arabian_goggles,0,66,
+antler_headband,0,66,
+anne_barnetson,1,66,
+anitwenty,1,66,
+angel_(code01),4,66,
+andrew_oikonny,4,66,
+anchor_tattoo,0,66,
+american_akita,5,66,
+allanel,1,66,
+alice_(disambiguation),4,66,alice
+algae,0,66,
+aldo_(my_life_with_fel),4,66,
+ajvl,1,66,aeronjvl
+air_vent,0,66,
+aiko_(infamousrel),4,66,
+afk_arena,3,66,
+abigail_shire_(platylot),4,66,
+a-wh-b,1,66,
+6_hands,0,66,six_hands
+2_antennae,0,66,
+15:19,7,66,
+zziowin,1,65,
+zipper_underwear,0,65,
+zinpatink_m,1,65,
+zigmenthotep,1,65,
+zeusralo,1,65,
+zeke_(crocdragon89),4,65,
+zac_heartfields,4,65,
+yoelrabbit,1,65,
+yeenstank,1,65,protheorem
+yamask,5,65,
+xmu,1,65,
+xintro,1,65,
+x-38_(maddeku),4,65,
+word_substitution,0,65,
+wolfanine,1,65,
+with_you_and_the_rain,3,65,
+wing_wu,4,65,
+whitecrocus,1,65,
+werewolfdegenerate,1,65,
+wanko0487,1,65,
+walton_(vdisco),4,65,
+walrider_(outlast),4,65,
+velvet_roe_(weaver),4,65,
+vapula_(tas),4,65,
+vampire_(game),3,65,
+vaginal_plug,0,65,pussy_plug
+underwear_around_ankle,0,65,
+under_foot,0,65,
+uncut_with_slit,0,65,
+ultra_nyan,4,65,
+u.s._navy,3,65,
+two_tone_neckerchief,0,65,
+two_handed_sword,0,65,
+twist_(twistcmyk),4,65,
+turkey_meat,0,65,"edible_turkey,turkey_(food)"
+trixie_hardfuse,4,65,
+triangular_anus,0,65,traingular_anus
+toye2004,1,65,
+touching_breasts,0,65,
+totolove35,1,65,
+torn_sleeves,0,65,
+toonstruck,3,65,
+toodles_(springtime_for_thomas),4,65,
+togaed,1,65,
+tits_out,0,65,
+titanic,3,65,
+tickling_pussy,0,65,
+theburningdonut,1,65,
+thaman,1,65,
+text_on_gloves,0,65,
+terramar_(mlp),4,65,
+temils,1,65,
+tart_(eto_rangers),4,65,
+tales_of_sezvilpan_(copyright),3,65,
+tailsmight,1,65,
+sylas_(sylasdoggo),4,65,
+sweet_apple_acres,0,65,
+sugarboy,1,65,
+strapless_topwear,0,65,strapless_top
+stormcow,1,65,
+stereoplair,1,65,enoki
+steamfox,1,65,"roy_d._pounds_ii,roy_d_pounds_ii"
+starfox_adventures,3,65,
+starbirbz,1,65,
+star_censor,0,65,
+sr-71_blackbird,0,65,
+spook_(top_cat),4,65,
+speckles,0,65,
+spartan_(roman),4,65,
+sparky_the_chu_(character),4,65,
+sparky-,1,65,
+solar_gush,1,65,
+soapy,0,65,
+snowball_fight,0,65,
+snout_grab,0,65,
+smokeyocity,1,65,androbat
+smallfryspy,1,65,
+single_amputee,0,65,
+silverclaw1,1,65,"emberbat,littlebatmonster"
+silver_(shiro-neko),4,65,
+sheldon_j._plankton,4,65,"plankton_(spongebob),sheldon_j_plankton"
+shakes_heartwood,4,65,
+shadowboltsfm,1,65,
+sex_shop,0,65,
+sewage,0,65,
+seviyummy,1,65,
+selune_darkeye,4,65,
+scratazon_leader,4,65,
+scas,1,65,scathegrapes
+scale_armor,0,65,scale_mail
+sayakat,5,65,
+santino_rosato,4,65,
+san_renard,1,65,
+salz_sop,1,65,
+ryan_carthage,4,65,ryancarthage
+ruka_vaporeon,4,65,
+rpg_(disambiguation),6,65,rpg
+rowrow,4,65,
+robertfiddler,1,65,
+robaato,1,65,negarobo
+revolverwing,1,65,revolverwingstudios
+revealing_(disambiguation),6,65,revealing
+regirock,5,65,
+redmok,1,65,
+red_kimono,0,65,
+red_blanket,0,65,
+red-crowned_crane,5,65,"japanese_crane,manchurian_crane,red-crown_crane,red_crown_crane,red_crowned_crane"
+rayda_(how-about),4,65,
+rape_rack,0,65,
+randolph_(randt),4,65,
+raised_forearm,0,65,"forearm_up,forearms_up,raised_forearms"
+raised_claws,0,65,"claw_lift,claw_lifted,claw_lifting,claw_raised,claw_up,claws_lift,claws_lifted,claws_lifting,claws_raised,claws_up,lift_claw,lift_claws,lifted_claw,lifted_claws,lifting_claw,lifting_claws,raised_claw"
+radixpanther,1,65,
+radiograph,0,65,
+quarko-muon,1,65,
+prey_dom_predator_sub,0,65,
+prawn_(district_9),5,65,
+power_symbol,0,65,
+pouch_play,0,65,
+poof_effect,0,65,
+polly_plantar,4,65,
+police_cap,0,65,
+pointer_(dog),5,65,"pointer_(dog_breed),pointer_dog,pointer_dog_breed,pointing_dog"
+plesiosaurus,5,65,
+pit,0,65,
+pinned_to_bed,0,65,
+pillothestar,1,65,
+pikatiu,1,65,
+pheel,1,65,
+perromalo,1,65,
+permanent_bondage,0,65,
+peppercat,5,65,
+patricia_(tamatitheninetailedfox),4,65,
+pathia,4,65,
+panpour,5,65,
+pamela_bondani,4,65,
+ose_(tas),4,65,
+open_belt,0,65,
+odst,0,65,
+nystemy_(artist),1,65,
+nurse_shark,5,65,
+numberfour,1,65,
+niku_18,1,65,juuhati-n
+niko_(artist),1,65,
+nicky_(thea_sisters),4,65,
+nickwolf,1,65,
+nayrin,1,65,
+myrsi,4,65,
+multicolored_bracelet,0,65,
+moofles123,1,65,
+moisteaglevent,1,65,"aetus,aetus_(artist),haliaeetus_(artist),moisteaglevent_(artist)"
+mitoro,1,65,
+mira_bloodstar,4,65,
+minx_kitten,4,65,
+minnow_(lemonynade),4,65,
+mikinyaro,1,65,
+mesh_top,0,65,
+mellos,1,65,
+medivh_(soundvariations),4,65,
+medieval_armor,0,65,
+mech_(mechedragon),4,65,
+mayin,1,65,
+maxis_(ea),3,65,
+manipulation,0,65,
+malcontentus,1,65,
+maaty-s,1,65,mlarty_(artist)
+m0000rgn,1,65,
+lylla,4,65,
+ludicolo,5,65,
+lucy_(felicity_longis),4,65,
+lucky_swiftail,4,65,
+low_twintails,0,65,
+lobodelamuerte,1,65,"djsilverblackwolf,silverbowserwolf,silverweskerwolf"
+lip_stud,0,65,"lip_studs,lipstud,lipstuds"
+lifty_(htf),4,65,
+liam_o'malley,4,65,
+leotard_pull,0,65,
+leo-wolf,1,65,
+latex_underwear,0,65,
+larynkir,4,65,
+landingzone,1,65,
+kratos,4,65,
+kokuhaku,4,65,
+knives4cats,1,65,"cercat,cercat2,cercat2_(artist),cercat_(artist),knives4cats_(artist),saltmalkin,saltmalkin_(artist)"
+knight_(nightfaux),4,65,
+kira_redpaw,4,65,
+kipaki,1,65,"boku_(artist),hikaruu,kipa_(artist)"
+kaveri,4,65,
+kavaeric,1,65,
+karlo,1,65,
+kaptainarr_(character),4,65,
+kanic,4,65,
+kaiser_(ayaka),4,65,
+k'sharra,4,65,
+junkyard,0,65,
+junior_(playkids),4,65,
+juliojakers,1,65,
+jukebox,0,65,
+jasonwerefox,4,65,
+jasmine_(bcb),4,65,
+jackhammer_position,0,65,
+j-fujita,1,65,j_fujita
+irma_langinstein,4,65,
+insect_taur,5,65,bug_taur
+inhale,0,65,
+informative,0,65,
+independence,4,65,
+imminent_fight,0,65,
+imminent_anal_vore,0,65,
+iggy_(vanzard),4,65,
+hriscia,1,65,
+horror_story_(character),4,65,
+horny_blue_bowlingball,4,65,
+holding_own_tail,0,65,
+hodiaa,1,65,
+himbofication,0,65,
+hiding_behind_object,0,65,
+hhazard,1,65,
+hexdragon,4,65,
+hellanoided,1,65,
+heart_sunglasses,0,65,
+heart_before_signature,0,65,
+heart_after_name,0,65,
+harami,1,65,
+handymonsters,3,65,
+hand_over_breast,0,65,
+halloween_2021,0,65,
+gus_the_gator,4,65,
+guil_bunny_(character),4,65,
+grotesque_genitals,0,65,
+grossarts,0,65,
+griotte_(armello),4,65,
+greyscale_background,0,65,
+green_toenails,0,65,
+green_neck,0,65,
+green_flesh,0,65,
+grand_councilwoman,4,65,grand_council_woman
+graduation,0,65,
+graded_belly,0,65,
+grabbing_partner,0,65,
+gosetsuki,1,65,
+goggles_on_headwear,0,65,
+glow_ring,0,65,
+glory_(wof),4,65,
+ginglymostomatid,5,65,ginglymostomatidae
+giant_food,0,65,oversized_food
+gankgoat,1,65,
+gab0o0,1,65,
+furvidd,1,65,
+french_accent,0,65,
+fortuna_(unknownlifeform),4,65,
+forest_of_the_blue_skin,3,65,
+foreheads_touching,0,65,
+football_gear,0,65,
+flashingfox,4,65,
+fishypony,1,65,
+firefighter_uniform,0,65,
+filut,4,65,
+filia,4,65,
+felicia_(krekk0v),4,65,
+felicesta,1,65,
+fauxpawe,1,65,
+famished_(artist),1,65,
+fae_(disambiguation),6,65,fae
+eye_makeup,0,65,
+eye_bulge,0,65,
+exorcist,0,65,
+exawolf,1,65,
+examination_room,0,65,
+etherial_bitch,1,65,
+erroremma,1,65,
+erie51,1,65,
+epididymis,0,65,
+entwined_arms,0,65,"arm_entwined,arm_entwining,arm_interlaced,arm_interlacing,arm_interlinked,arm_interlinking,arm_interlocked,arm_interlocking,arm_intertwined,arm_intertwining,arm_twined,arms_entwined,arms_entwining,arms_interlaced,arms_interlacing,arms_interlinked,arms_interlinking,arms_interlocked,arms_interlocking,arms_intertwined,arms_intertwining,arms_twined,entwined_arm,entwining_arm,entwining_arms,interlaced_arm,interlaced_arms,interlacing_arm,interlacing_arms,interlinked_arm,interlinked_arms,interlinking_arm,interlinking_arms,interlocked_arm,interlocked_arms,interlocking_arm,interlocking_arms,intertwined_arm,intertwined_arms,intertwining_arm,intertwining_arms,twined_arm,twined_arms"
+englam,1,65,wolfsammy
+emerald_swift,5,65,
+emberkaese,1,65,
+ear_chain,0,65,
+dravening,1,65,
+dragonlove,1,65,
+dragonblue900,1,65,
+dragon_ball_xenoverse,3,65,
+dori-to,1,65,
+donkeyramen,1,65,rabbitisyellow
+dirty_face,0,65,
+destiny-yuuei,1,65,
+deihnyx,4,65,
+deaver,1,65,
+deathheadmoth00,1,65,
+death_stranding,3,65,
+dating,0,65,
+dark_shoes,0,65,
+cypher_(diaperedglowwolf),4,65,
+cutiefly,5,65,
+curtains_closed,0,65,
+cum_in_jar,0,65,
+cum_from_spanking,0,65,
+cracked_glass,0,65,
+covered_mouth,0,65,
+costume_transformation,0,65,
+cosmicvanellope,1,65,
+corro_(corrompida),4,65,
+conductor,0,65,
+compression_tools,0,65,
+complex_vortex,1,65,
+coffeesoda_(fursona),4,65,
+clerian,1,65,
+clearing,0,65,
+claudette_dupri,4,65,
+cherry_(macmegagerc),4,65,
+cheesecake,0,65,
+celestialwolfen,1,65,
+cchilab,1,65,
+cats_(musical),3,65,
+catfox22,1,65,
+castitas,1,65,
+carina_(felino),4,65,
+canned_(artist),1,65,6cans
+caltsar,4,65,
+cali'fon_(sinister),4,65,
+c52278,1,65,
+bundle0sticks,1,65,
+bucky_o'hare,4,65,
+broken_armor,0,65,
+bose_(character),4,65,
+blvefo9,1,65,
+blueberry_jam_(viroveteruscy),4,65,
+blossom_(powerpuff_girls),4,65,
+blepwep,1,65,
+blackriver,4,65,
+blackmorass,1,65,melancholy_(artist)
+black_headgear,0,65,
+birdy,1,65,
+birch_tree,0,65,"birch_trees,birchtree,birchtrees"
+beer_glass,0,65,
+beastmen_forest,3,65,
+beanie_(roommates),4,65,
+bastet_(houtengeki),4,65,
+baking_tray,0,65,
+bafbun,1,65,
+azzunyr,1,65,
+aziel_softpaw_(character),4,65,aziel_softpaw
+ayabemiso,1,65,
+avezola,1,65,
+audie-gryph,1,65,
+arthur_(lapinbeau),4,65,
+argit,4,65,
+anymouse1968,1,65,
+anthozoan_humanoid,5,65,
+annie_(the_sunfish),4,65,
+anim,0,65,
+angora_goat,5,65,
+amy_pratt,4,65,
+amaterasu_(artist),1,65,hinata-rabbit
+aligned_feet,0,65,
+alegrimm,1,65,
+akiya-kamikawa,1,65,
+akira_(candyfoxy),4,65,
+airalin,4,65,
+aftermath,0,65,
+african_grey,5,65,"african_gray,african_gray_parrot,african_grey_parrot,congo_gray_parrot,congo_grey_parrot,gray_parrot,grey_parrot"
+acru_jovian,1,65,
+a-10,0,65,"a-10_thunderbolt,a-10_warthog"
+3doss,1,65,
+18_(artist),1,65,
+..._(artist),1,65,
+zipper_jacket,0,64,
+zat,1,64,
+yukiharu_nyawate,1,64,yuki_nyawate
+yuki-chi,1,64,tatsuro
+yae_miko,4,64,
+xweetok,5,64,
+x-tian,5,64,
+writing_on_foot,0,64,
+wolfscar2810,1,64,
+wolferno,1,64,
+wickedsilly,1,64,
+wetchop,1,64,
+western_dragon_humanoid,5,64,
+washcloth,0,64,
+wasabitea,1,64,
+warped_flesh,0,64,
+wanaguma,1,64,
+wan_wu,4,64,
+wall-e,3,64,
+vxserenade,1,64,
+vuljath,5,64,
+vinvulpis,1,64,
+veterinarian,0,64,
+veo,1,64,
+varian_nye,4,64,
+vareoth,4,64,
+united_states_forest_service,3,64,
+tygre,4,64,
+two_tone_spikes,0,64,
+two_tone_skirt,0,64,
+twizel_(icma),4,64,
+twisoft,1,64,
+twirling_hair,0,64,
+tubswubadubs,1,64,
+trimming_(grooming),0,64,
+translucent_armwear,0,64,"see-through_armwear,see-thru_armwear,see_through_armwear,see_thru_armwear,sheer_armwear,transparent_armwear"
+toph_beifong,4,64,toph_bei_fong
+toonpimp,1,64,
+titanium,0,64,
+tickling_balls,0,64,
+throwing_knife,0,64,
+themed_object,0,64,
+thehuskydragon,1,64,thehuskylizard
+the_smooze,4,64,"smooze_(mlp),the_smooze_(mlp)"
+tartnsfw,1,64,"d-idara,toppingtart,toppingtart_(artist)"
+tai_(changing_fates),4,64,
+tactical,0,64,
+susiebeeca,1,64,
+surf's_up,3,64,
+supersoupnova,1,64,
+sunflowmon,5,64,
+studded_armlet,0,64,
+stroller,0,64,
+sterr,1,64,
+stepson,0,64,"step-son,step_son"
+spook_(spookcity),4,64,
+spaceship_interior,0,64,
+sorayasha,4,64,
+sophie_(zigzagmag),4,64,
+soot_(bleat),4,64,
+sonson-sensei,1,64,
+soarinarts,1,64,
+sleepyras,1,64,
+skinned,0,64,
+sirachanotsauce,1,64,
+sir_lancelot_(sonic_and_the_black_knight),4,64,"lancelot_(satbk),lancelot_(sonic),lancelot_(sonic_and_the_black_knight),sir_lancelot_(satbk),sir_lancelot_(sonic)"
+silas_blackwing,1,64,
+shrike,5,64,
+shikaruneko_(series),3,64,
+shigehisa_nakaue,1,64,
+shena,4,64,
+sheep_magik,1,64,
+shari_(tiger1001),4,64,
+shanher_(character),4,64,
+shane_(shane),4,64,
+shaming,0,64,
+shadi_(0laffson),4,64,
+sergioghi,1,64,
+semi-anthro_on_semi-anthro,0,64,
+sd_(artist),1,64,
+scale_growth,0,64,
+sammy_(dogfluid),4,64,
+ry-spirit,1,64,
+ruttingstrap,1,64,
+runawaystride,1,64,
+ruin_seeker,4,64,
+ruby_(ultilix),4,64,
+ruark,1,64,
+round_tail,0,64,
+rocking_chair,0,64,
+robo-fortune,4,64,
+rizzyofen,1,64,
+riushi,1,64,
+rescue_buoy,0,64,
+rerepop,1,64,
+relight,4,64,
+red_mask,0,64,
+rack_(disambiguation),6,64,rack
+purple_hood,0,64,
+purple_flesh,0,64,
+purple_and_black,0,64,
+punxsimon,1,64,
+pubic_hair_peek,0,64,
+protoss,5,64,
+protoqueen_bountiful_(oc),4,64,
+projector,0,64,
+popo_(ice_climber),4,64,
+polo,4,64,
+pmd:_rad,3,64,
+pitu_le_pew,4,64,
+pinny_lane_(mlp),4,64,"allie_way,allie_way_(mlp)"
+pink_bow_tie,0,64,
+phantasy_star_online_2,3,64,
+pepper_(halbean),4,64,
+penelope_(sly_cooper),4,64,
+pec_smothering,0,64,
+pebble_(letodoesart),4,64,
+pawssfm,1,64,
+pawpadpup,1,64,
+paw_shot,0,64,
+partially/partially_submerged,0,64,
+paivio_selanne,4,64,
+osiris_callisto,4,64,
+oscar_(braford),4,64,
+oolong_(dragon_ball),4,64,
+onoskelis,4,64,
+omar_mercado,4,64,
+old_man,0,64,
+nylonlyon,1,64,
+norse,0,64,
+niko_(nikkyvix),4,64,
+niis_(character),4,64,
+nft,0,64,
+nerdification,0,64,
+nemesisprime909,1,64,
+neck_torture,0,64,
+nazimi00,1,64,
+n64_console,0,64,
+muttasaur,1,64,
+mute,0,64,
+muscular_neck,0,64,
+multi_job,0,64,
+mox_sapphire,0,64,
+moon_studios,3,64,
+mojo_jojo,4,64,
+misokemo,1,64,
+mirukwi,1,64,blueavis
+milenth_drake,4,64,
+miga,1,64,
+meteor_shower,0,64,
+metal_wings,0,64,
+metal_slug,3,64,
+mertle_edmonds,4,64,"mertle_(l&s),mertle_(las),mertle_(lilo_&_stitch),mertle_(lilo_and_stitch),mertle_(stitch)"
+merena_(azaleesh),4,64,
+meier_tennant,4,64,
+megan_thompson,1,64,
+meeting,0,64,
+matthewwoodward,4,64,
+mask_with_sex_toy,0,64,
+marsa,4,64,
+marie_(oughta),4,64,
+maria_whiteblood,4,64,
+male_fingered,0,64,
+mad-project,1,64,
+lyra_(w4g4),4,64,
+lxander191,1,64,
+lulu_(zerach),4,64,
+luke_(fuze),4,64,
+lucas_arynn,4,64,
+loss_of_self,0,64,
+long_shirt,0,64,
+locomotive,0,64,
+lockpick,0,64,
+lizzy,4,64,
+littletale,3,64,
+lilypawpads,1,64,
+lei_(skecchiart),4,64,
+leg_ring,0,64,
+laughing_at,0,64,
+lapel_pin,0,64,
+lace_(lacethecutegoat),4,64,
+kyrell_sulaiman,4,64,
+kwzu,1,64,
+kusunagi,1,64,
+kowareta_ookami,4,64,
+kotsu,1,64,
+koginoro_28,1,64,
+kodi_(sqink),4,64,
+knee_strike,0,64,
+killian_joy,1,64,
+kiggles,4,64,
+khrunkisillegal,1,64,
+kestrel,5,64,
+kay_(whiteleo),4,64,
+katherine_(caelum_sky),4,64,
+katherine_(appledees),4,64,
+kandi_(bracelet),0,64,
+kameri-kun,1,64,
+kama_sutra,3,64,karma_sutra
+kaltag_(balto),4,64,
+kalei_(dreamkeepers),4,64,
+kaali,4,64,
+k0ira,1,64,
+johnofe,1,64,
+joey-darkmeat,1,64,
+jinn,5,64,
+jimahn,1,64,
+jetta_the_jolteon,4,64,
+jay_(drredhusky83),4,64,
+jamesab,1,64,
+it_ain't_gonna_do_itself,3,64,
+ipomoea_(oc),4,64,
+integlol,1,64,
+inspection,0,64,
+indian,0,64,
+imaani,1,64,イマアニ
+hypno_eyes,0,64,
+human_on_robot,0,64,
+hsp,1,64,
+hourlessmage,1,64,
+hornygraphite,1,64,
+hondra,4,64,
+holding_beer,0,64,
+hmph,0,64,
+hip_tattoo,0,64,"hip_tattoos,tattoo_on_hip,tattoo_on_hips,tattooed_hip,tattooed_hips"
+hilda_(warcraft),4,64,
+hewhoerasesmost,1,64,
+head_tail,0,64,
+head_hit,0,64,
+harmaagriffin,1,64,
+han_moz,1,64,
+haifisch_ehrlich,1,64,
+guppy_(artist),1,64,
+green_thong,0,64,
+green_spines,0,64,
+goldenwolf,1,64,
+gobsmacker,1,64,
+glowing_teeth,0,64,
+glowing_stripes,0,64,
+glittering_hair,0,64,
+glistening_hands,0,64,shiny_hands
+gintama,3,64,
+giaru_(artist),1,64,
+gharial,5,64,"fish-eating_crocodile,fish_eating_crocodile,gavial"
+genital_jewelry,0,64,
+genderfluid_pride_colors,0,64,"genderfluid_colors,genderfluid_flag,genderfluid_pride_flag"
+gen_kiryu,4,64,
+gemkin,1,64,
+gat_(character),4,64,
+furvie,1,64,
+fully_shaded,0,64,
+frillish,5,64,
+foxia,1,64,
+fossil,0,64,
+foshu_(character),4,64,
+flirting_look,0,64,
+flapper,4,64,
+fishjob,0,64,
+fileossur,4,64,
+feralbeans,1,64,
+featherhead,1,64,
+falcomon,5,64,
+fabian,4,64,
+evil_celestia_(idw),4,64,"celestia_(reflections),celestia_(reflections_saga),fauxlestia_(idw),princess_celestia_(reflections),princess_celestia_(reflections_saga),shamlestia_(idw)"
+evil-dec0y,1,64,
+evelyn_(yutubaketa),4,64,
+eupharrow,1,64,
+ethan64,1,64,
+elizabeth_báthory_(fate),4,64,"dragon's_daughter_(fate),dragon's_daughter_elizabeth_bathory,dragon's_daughter_elizabeth_báthory,dragons_daughter_(fate),dragons_daughter_elizabeth_bathory,dragons_daughter_elizabeth_báthory,elizabeth_bathory_(fate),lancer_(fate/extra_ccc),lancer_(fate_extra_ccc),lancer_elizabeth_bathory,lancer_elizabeth_báthory"
+eerie_(thekite),4,64,
+earthworm_jim_(series),3,64,
+early_pregnancy,0,64,
+dullpoint,1,64,
+drawstring_bottomwear,0,64,
+donphan,5,64,
+dokuga,4,64,
+director_gori,4,64,"gori_(aggressive_retsuko),gori_(aggretsuko)"
+dickbitch_molly,4,64,
+dhstein,1,64,
+deserter_(artist),1,64,
+dentist,0,64,
+delfucko,1,64,
+deimos,4,64,
+degen3d,1,64,
+deezmo_(character),4,64,
+deathlight,1,64,deathlightdb
+ddil,1,64,
+dawntrotter,1,64,
+dasher,4,64,
+dalus,1,64,
+dallas_(gingersnaps),4,64,
+daenerys_targaryen,4,64,
+cutebold,5,64,
+custardalvis,1,64,
+crows_feet,0,64,
+coronta_(tenshoku_safari),4,64,
+coontail,4,64,
+constupro,4,64,
+coalava,1,64,
+cloudyfurr,1,64,
+clairen_(rivals_of_aether),4,64,
+cjfurs,1,64,
+circled,0,64,
+christmas_lingerie,0,64,
+chevy_dahl,4,64,
+chef_kawasaki,4,64,
+chatin_naidoo,4,64,
+chance_(bad_dragon),4,64,
+celesse_souris,4,64,
+carat,1,64,eelyak
+cappuccinocat,1,64,
+camelid_humanoid,5,64,
+calvin_lapin_(spiff),4,64,
+buns,0,64,
+bruno_rheinbear,4,64,
+breasts_on_ground,0,64,breasts_on_floor
+breasts_are_the_best,3,64,
+brasslion,1,64,
+booshie,1,64,
+bondage_wrist_cuff,0,64,
+blood_on_neck,0,64,
+bleating,0,64,
+blaki_raiper,1,64,
+blade_runner,3,64,
+big_buttplug,0,64,
+big_bow_tie,0,64,
+baseball_field,0,64,
+balthromaw,4,64,
+bacon_(baconbakin),4,64,
+ayuukuro,1,64,
+asar,5,64,
+artimus_(character),4,64,
+arokha,4,64,
+arms_restrained,0,64,
+armpit_musk,0,64,
+ariesredlo,1,64,
+archway,0,64,
+arabic_text,7,64,
+aoi_(ukenya),4,64,
+anal_beads_in_pussy,0,64,
+amatsucat,1,64,"akumacat,hazardouss"
+amalthea_(tlu),4,64,
+aldus,4,64,
+aimi_(sleepysushiroll),4,64,
+8_ball,0,64,
+40:19,7,64,
+zuckergelee,1,63,
+zoy,1,63,
+zitz_(battletoads),4,63,
+zeusralo_(character),4,63,
+zeke_the_zorua,4,63,
+yvette_(kilinah),4,63,
+yoshi2332,1,63,
+yosh!_comics,3,63,
+yellow_toes,0,63,
+yax,4,63,
+yaoimeowmaster,1,63,
+xxzero,1,63,zero_(artist)
+xxxx52,1,63,
+wukong_(lol),4,63,
+wood_fence,0,63,
+wisp_(warframe),4,63,
+white_back,0,63,
+white_armor,0,63,
+wheelbarrow,0,63,
+wendy_corduroy,4,63,
+water_tank,0,63,
+warfaremachine,1,63,mrwarfaremachine
+walrein,5,63,
+vincian_pride_colors,0,63,
+vincethetiger,1,63,
+verde_the_snivy,4,63,
+venus_(zzvinniezz),4,63,
+velvet_(amberdrop),4,63,
+vampirika,1,63,
+urine_on_head,0,63,
+umber,4,63,
+ultra_necrozma,5,63,
+tyrunt,5,63,
+treble_clef,0,63,
+touching_hand,0,63,
+topaz_(elektr0),4,63,
+thwackey,5,63,
+threeworlds,1,63,
+thorphax,4,63,
+thomas_james_o'connor,4,63,
+thistle_(evilymasterful),4,63,
+thermos,0,63,
+thejinxess,1,63,"jinxess,jinxii"
+the_white_rabbit,4,63,
+the_dragon_prince,3,63,
+the_deep_dark,3,63,
+tharja_(justkindofhere),4,63,
+tfsubmissions,1,63,
+tasmanian_devil_(looney_tunes),4,63,taz_(looney_tunes)
+tardar_sauce,4,63,grumpy_cat
+tao_(gunfire_reborn),4,63,
+tallion,1,63,
+tail_bulge,0,63,
+tail_bag,0,63,
+taiga_(bungotaiga),4,63,
+syrup_(artist),1,63,
+swift_(sleekhusky),4,63,
+sukiskuki,1,63,
+stajan,4,63,
+stacy_(peculiart),4,63,
+squint_(leobo),4,63,
+squeezing_penis,0,63,
+squealers_chief,4,63,
+squash_(disambiguation),0,63,"squash,squashed,squashing"
+spring_beauty,4,63,
+spilling_drink,0,63,
+specterdragon,4,63,
+speck,4,63,
+sore,0,63,
+snap_clip,0,63,
+slanted_eyebrows,0,63,
+sky_bison,5,63,air_bison
+sky_(umbry_sky),4,63,
+skunkbutt_(artist),1,63,
+skade_(artist),1,63,
+silver_draw,4,63,
+shred_(shonuff),4,63,
+shiny_fakémon,5,63,
+shikibetsuko,1,63,
+sherathoz,1,63,
+shandra_(renthedragon),4,63,
+shale_(insomniacovrlrd),4,63,
+shadowthespirit,1,63,
+seskata,1,63,seskana
+service,0,63,
+serid_(amocin),4,63,
+seregios,5,63,
+semiotica,1,63,
+sea_snake,5,63,
+scribble-potato,1,63,
+sawyer_(ferobird),4,63,
+sarsis,1,63,
+saitama_(one-punch_man),4,63,"saitama_(1-pm),saitama_(1-punch),saitama_(1-punch_man),saitama_(1_punch),saitama_(1pm),saitama_(1punch),saitama_(1punch_man),saitama_(o-pm),saitama_(one-punch),saitama_(one_punch),saitama_(one_punch_man),saitama_(onepunch),saitama_(onepunch_man),saitama_(opm)"
+saddle_rager_(mlp),4,63,"saddle_rager,saddle_ranger,saddle_ranger_(mlp)"
+rusty_(darkrusty),4,63,
+roussel,4,63,
+roostax_wilddog,1,63,
+roast,0,63,
+rnarccus,1,63,"kosiaks,marccus,skaffold,treeborkd"
+rimworld,3,63,
+riley_(rileypup),4,63,
+richardrodney,4,63,
+ribbon_restrained,0,63,
+rhade,4,63,
+rey_(animatedmau),4,63,
+renee_(jasen_tamiia),4,63,
+redtoblack,1,63,
+ratatoskr,4,63,
+raster_dreams,1,63,
+raising_leg,0,63,
+radicles,4,63,"rad_(ok_k.o!),rad_(ok_k.o),rad_(ok_k.o.!),rad_(ok_k.o.!_lbh),rad_(ok_k.o.!_let's_be_heroes),rad_(ok_k.o.!_lets_be_heroes),rad_(ok_k.o.),rad_(ok_k.o._lbh),rad_(ok_k.o._let's_be_heroes),rad_(ok_k.o._lets_be_heroes),rad_(ok_k.o_lbh),rad_(ok_k.o_let's_be_heroes),rad_(ok_k.o_lets_be_heroes),rad_(ok_ko!),rad_(ok_ko!_lbh),rad_(ok_ko!_let's_be_heroes),rad_(ok_ko!_lets_be_heroes),rad_(ok_ko),rad_(ok_ko_lbh),rad_(ok_ko_let's_be_heroes),rad_(ok_ko_lets_be_heroes),radimus_(ok_k.o!),radimus_(ok_k.o),radimus_(ok_k.o.!),radimus_(ok_k.o.!_lbh),radimus_(ok_k.o.!_let's_be_heroes),radimus_(ok_k.o.!_lets_be_heroes),radimus_(ok_k.o.),radimus_(ok_k.o._lbh),radimus_(ok_k.o._let's_be_heroes),radimus_(ok_k.o._lets_be_heroes),radimus_(ok_k.o_lbh),radimus_(ok_k.o_let's_be_heroes),radimus_(ok_k.o_lets_be_heroes),radimus_(ok_ko!),radimus_(ok_ko!_lbh),radimus_(ok_ko!_let's_be_heroes),radimus_(ok_ko!_lets_be_heroes),radimus_(ok_ko),radimus_(ok_ko_lbh),radimus_(ok_ko_let's_be_heroes),radimus_(ok_ko_lets_be_heroes)"
+rabies_t_lagomorph,1,63,
+quas_naart,4,63,
+puuzo,1,63,"puuzu,snowmelonpie,tesuai"
+pulling_up_pants,0,63,
+prosthetic_tail,0,63,"prosthetic_tails,tail_prostheses,tail_prosthesis,tail_prosthetic,tail_prosthetics"
+pramanix_(arknights),4,63,
+pouch_(clothing),0,63,
+pornthulhu,1,63,
+pokémon_masters,3,63,pokemon_masters
+pokyuii,1,63,
+pokelai,1,63,
+poisoned_(artist),1,63,
+pocky_in_mouth,0,63,
+platinum_blonde,0,63,
+pinsandquills,1,63,"alohabossu,sugarbossu"
+pickle-pee,4,63,
+perching,0,63,
+penis_in_urethra,0,63,
+peepoodo,4,63,
+partially_visible_vulva,0,63,
+paperwork,0,63,
+paper_clip,0,63,paperclip
+overwhelmed,0,63,
+osiris,4,63,
+opblaaskrokodil,1,63,
+oneobese,1,63,
+on_breasts,0,63,
+omg_hi!,3,63,
+okawari_jiyuu,1,63,
+obsidian_(character),4,63,
+nuclear,0,63,
+norza,1,63,
+normi,1,63,
+nolow,1,63,
+nobody_(artist),1,63,
+niucniuc,1,63,
+nite_(danandnite),4,63,
+nirsiera,1,63,
+ninjara_(tmnt),4,63,
+niki3d,1,63,
+nievelion,4,63,
+nell_two,1,63,"nelltwo,neruneruru,ねる"
+neck_floof,0,63,
+natricle,1,63,
+nageruamado,1,63,
+multicolored_pants,0,63,
+multi_taur,5,63,
+muffinshire,1,63,
+ms._pennypacker,4,63,ms_pennypacker
+mrscrambled,1,63,
+mrflaptastic,1,63,
+mordetwi,3,63,
+monster_pred,0,63,
+mochizuki_tooya,1,63,
+mocha_(r3drunner),4,63,
+miss_sunflower,4,63,"ms._sunflower,ms_sunflower"
+minimalist,0,63,
+millicent,4,63,
+midnight_snowstorm,4,63,
+melnitsa,3,63,
+mechanicalstage,1,63,
+mdwines,1,63,
+may_sanderson,4,63,may_(kabangeh)
+matching_hair/eyes,0,63,
+marlon_(marlon.cores),4,63,
+margaret_de_campos,4,63,
+making_love,0,63,
+luna_(roflfox),4,63,
+lullaby_of_the_lost,1,63,lullaby-of-the-lost
+luca_(doubledog),4,63,
+low-leg_panties,0,63,lowleg_panties
+lottie_(animal_crossing),4,63,
+looking_at_crotch,0,63,
+lolzneo,1,63,
+living_balloon,5,63,
+limp_arms,0,63,
+licheart,1,63,
+lessthan3,1,63,
+lerose,4,63,
+leaning_to_side,0,63,
+leaf_print_clothing,0,63,
+lavender_background,0,63,
+lapinousmalice,1,63,neekokarina
+kursed_(star_fox),4,63,
+kso,1,63,
+krystal_(dinosaur_planet),4,63,
+korafuro,1,63,
+konda,1,63,
+konarofu,1,63,
+kog'maw_(lol),4,63,
+kobraa,1,63,
+koboldorion,1,63,
+kobold_dellarte,1,63,
+kkron_m,1,63,
+kiv_(kivwolf),4,63,
+keyring,0,63,key_ring
+kebab,0,63,kabob
+katida,1,63,"mintbutt,xtaintedxtigerx"
+kajin-sama,1,63,
+kagase-san_(sakamata),4,63,
+jotunneko,1,63,ams
+jotun22,1,63,jotun22_(artist)
+johnny_(fuze),4,63,
+jellyfishjulep,1,63,
+javeloz,4,63,
+jamie_(boosterpang),4,63,
+itreyu,4,63,
+issilora_(artist),1,63,
+iron,0,63,
+invertebrate_proboscis,0,63,"arthropod_proboscis,bug_proboscis,butterfly_mouth,butterfly_proboscis,insect_proboscis,mosquito_mouth,mosquito_proboscis,moth_mouth,moth_proboscis,proboscis_(bug),proboscis_(insect)"
+inika,4,63,
+indigo_(artca9),4,63,
+impressed,0,63,
+ily_sign,0,63,
+hupi1008,1,63,
+huntressgammerz,1,63,
+holo_doks,1,63,
+holding_nose,0,63,
+holding_bouquet,0,63,holding_bouquets
+holding_beach_ball,0,63,
+hillside,0,63,
+heart_stream,0,63,
+hb_lint,1,63,
+haruki,1,63,
+harp_seal,5,63,saddleback_seal
+hariyama,5,63,
+hanging_wedgie,0,63,
+hands_on_shins,0,63,
+hand_to_mouth,0,63,
+hand_on_paw,0,63,
+hand_on_own_foot,0,63,
+gumiboie,1,63,bubblegumboi
+golden_ticket,4,63,
+glowing_glans,0,63,
+gladion_(pokémon),4,63,gladion_(pokemon)
+girdled_lizard,5,63,"cordylid,cordylidae,girdle-tail_lizard,girdle_tail_lizard,spiny_tail_lizard,spinytail_lizard"
+gin_(ginga),4,63,
+gideon's_corral,3,63,
+genji_(animal_crossing),4,63,
+geebie33,1,63,
+gb_of_bs,1,63,
+garuganofu,1,63,
+garble_(drowsyboi),4,63,
+garbagioni,1,63,
+garam,1,63,
+ganachethehorse,4,63,
+game_poster,0,63,
+g-ma,4,63,
+fuzzle_(artist),1,63,"fuzzlemint,mintydog,mintyfuzz"
+furfe,1,63,
+fuckie_(character),4,63,
+freeedon,1,63,freedon
+foxretro,1,63,
+forsen,1,63,
+forced_cunnilingus,0,63,
+footless_legwear,0,63,
+food_carrier,0,63,
+flowing_tail,0,63,
+floppyearfreak,1,63,
+floor_sex,0,63,
+flags,0,63,
+fivethirtyeight,3,63,
+fish-ears,1,63,
+fire_stone,0,63,
+fighting_game,0,63,
+fierce,0,63,
+fidough,5,63,
+fiddagracepaws_(artist),1,63,
+fermata_suzuka,1,63,"fermata,fermata-alt,fermata-alt_(artist),fermata-ssk,fermata-ssk_(artist),fermata_(artist),fermata_alt,fermata_alt_(artist),fermata_ssk,fermata_ssk_(artist),fermata_suzuka_(artist),suzuka-hiyorimi,suzuka-hiyorimi_(artist),suzuka-yomogi,suzuka-yomogi_(artist),suzuka0fermata,suzuka0fermata_(artist),suzuka_fermata,suzuka_fermata_(artist),suzuka_hiyorimi,suzuka_hiyorimi_(artist),suzuka_yomogi,suzuka_yomogi_(artist),yomogi-suzuka,yomogi-suzuka_(artist),yomogi_suzuka,yomogi_suzuka_(artist),ふぇるまーた"
+fatchaos,1,63,
+fannfare,1,63,
+fancomic,0,63,
+fallinnight,1,63,
+fake_beard,0,63,
+exsys,1,63,
+exotic_dancer,0,63,
+ewr_115,1,63,
+evgenydion,1,63,
+etness,1,63,
+ethan_(pklucario),4,63,
+enorach_(0laffson),4,63,
+efudek,1,63,
+eclipse_silverwolf,4,63,
+dweet-tea,1,63,
+drillmole,1,63,
+drilbur,5,63,
+dransvitry,4,63,
+drackonthanri,4,63,
+dogg,1,63,
+doc_icenogle,1,63,
+dive,0,63,
+dissolving,0,63,
+discarded_topwear,0,63,
+dick_slip,0,63,
+denike,1,63,
+demon_royal,1,63,
+deebo_(zoohomme),4,63,
+dean_(q),4,63,
+deamondante,1,63,
+daxterdingo,4,63,
+davidsone,1,63,
+dark_flesh,0,63,
+dark_clefita,1,63,
+dark_belly,0,63,
+daria_arbuz,1,63,
+culpeo_fox,5,63,"andean_fox,culpeo"
+crystal_bloom,4,63,
+cruel_pred,0,63,
+crocobu,1,63,
+criminalbunnydraws,1,63,
+cowering,0,63,
+cow_and_chicken,3,63,
+countershade_feathers,0,63,
+cottongryph,1,63,
+corablue_(character),4,63,
+constance_everheart,4,63,
+conal_(character),4,63,
+collaborative_cunnilingus,0,63,
+chuuta_(pixiv),1,63,
+chuchu,5,63,
+chris_t._snuggleskunk,4,63,
+chillbats,1,63,
+child_abuse,0,63,
+chestburster,5,63,
+checkered_wall,0,63,
+chazcatrix_(character),4,63,
+chain_piercing,0,63,
+cha_hieun,4,63,
+cepheus_(lieutenantskittles),4,63,
+cement,0,63,
+celestine_(ernest_and_celestine),4,63,
+celeste_(animal_crossing),4,63,
+cayugo,1,63,
+cassidy_(ruth66),4,63,
+carmine_embershard,4,63,
+capri,4,63,
+cane_(fairy_musketeers),4,63,
+can't_enjoy,0,63,
+callitrichid,5,63,"arctopitheci,callitrichidae,callitrichidaen,callitrichinae,hapalid,hapalidae,hapalidaen"
+calendar_graphic,0,63,
+calamity_(fallout_equestria),4,63,calamity_(mlp)
+cairo_(armoredkangaroo),4,63,
+butterscotch_(peargor),4,63,
+butt_massage,0,63,
+burk_(benzo),4,63,
+burger_king,3,63,
+bun_butts,1,63,furgazmo
+bulkmon,5,63,
+bulb,0,63,
+buibuiboota,1,63,
+bro_wolffox,4,63,
+breast_piercing,0,63,
+bozi,1,63,"nixondieter,sparklebozi"
+bow_shirt,0,63,
+booby_(bird),5,63,"booby,sula"
+boing,0,63,
+body_takeover,0,63,
+body_scars,0,63,
+bling,0,63,bling_bling
+black_dragon_kalameet,4,63,
+big_gag,0,63,
+bet_condition,0,63,
+beruzumi-m,1,63,
+berry_pinch_(mlp),4,63,berry_pinch
+beowolf_(rwby),5,63,
+bedroll,0,63,
+becky_(coltron20),4,63,
+beatriz_rebollo,1,63,
+beastmen_(warhammer),5,63,
+barryfactory,1,63,"barryslot,gamerbot101,wheatly101"
+bare_thighs,0,63,
+bard_(lol),4,63,
+barber,0,63,hairdresser
+ball_bondage,0,63,
+b1_battle_droid,4,63,
+awr_hey,1,63,
+attraction,4,63,
+ashsky,1,63,
+aron,5,63,
+army_uniform,0,63,
+arm_over_shoulder,0,63,
+apadravya,0,63,
+annabelle_(all_dogs_go_to_heaven),4,63,annabelle_(adgth)
+anhmaru,1,63,
+anamosus,1,63,
+amy_wong,4,63,
+american_dad,3,63,
+aliscik,1,63,
+alcohors,1,63,
+after-der,1,63,
+african_elephant,5,63,
+aciag,1,63,
+ace_(tuftydoggo),4,63,
+ace,0,63,
+abasirisippo,1,63,
+a-pony,1,63,
+9-puzzle,1,63,
+4ere4nik,1,63,
+3rr0rartz.stud10,1,63,
+100_percent_wolf,3,63,
+zhaleh,4,62,
+zephery_hughes,1,62,
+zdrada_(helltaker),4,62,
+zanzan_(artist),1,62,
+zaccai,4,62,
+yellow_necktie,0,62,yellow_tie
+yellow_glasses,0,62,
+yakuza_(series),3,62,
+william_birkin_(resident_evil),4,62,
+wicke_(pokémon),4,62,wicke_(pokemon)
+white_wall,0,62,
+white_headphones,0,62,
+weketa,1,62,
+wedding_lingerie,0,62,
+washing_dishes,0,62,
+warlordhunter01,1,62,
+wam,0,62,
+wallflower_blush_(eg),4,62,
+vixikats,1,62,
+virmir,1,62,
+vermillion,4,62,
+verin_asper,4,62,
+vainovalkea,1,62,
+vader120,3,62,
+upskirt_photo,0,62,
+unusual_tongue,0,62,
+typh,1,62,
+tygra,4,62,
+twopapers,1,62,
+two_tone_spots,0,62,
+two_best_friends_play,3,62,
+twisteddragon,1,62,
+ttherandom,1,62,
+tsukielewds,1,62,artisticwolfie
+tsuchi_dash,1,62,土ノ仔
+trip,4,62,
+tree-kangaroo,5,62,tree_kangaroo
+touching_balls,0,62,
+torfur,1,62,
+toontown_corporate_clash,3,62,
+tongue_expansion,0,62,
+tomukemono,1,62,
+tome,0,62,
+tolng,4,62,
+tokenworks,1,62,
+toeless_feet,0,62,
+tiptoe_(character),4,62,
+tippy_toes,0,62,
+tim_(rain-yatsu),4,62,
+tiifu,4,62,
+thispornguy,1,62,
+theyiff,1,62,
+therobd,1,62,
+themorghull,1,62,
+thegalen,1,62,
+temmie_(deltarune),4,62,
+tavin,1,62,
+tatiana_(sorcererlance),4,62,
+taryn_crimson,4,62,
+tanner_james,4,62,tjkross
+tamamo,4,62,
+talking_angela,4,62,
+tahoma,1,62,
+tabbyseraph,1,62,
+sydneysnake,1,62,
+swimsuit_down,0,62,
+sweetpupperoo,1,62,snailybu
+supermattym8,1,62,
+sturdyplywood,1,62,
+stun_gun,0,62,
+stoutland,5,62,
+stickmanwww,1,62,
+stercore_murum,1,62,
+star_in_signature,0,62,
+spotlights,0,62,
+spinnerets,0,62,
+sora_takenouchi,4,62,
+sonic_rainboom,0,62,
+snow_leopard_taur,5,62,
+snake_impalement,0,62,
+snackcracker,1,62,
+skyspeardw,1,62,
+skyler_(fuze),4,62,
+sizable_danger,1,62,xenonblues
+sith_lord,0,62,
+sirtroglodon,1,62,
+sir_percival_(sonic_and_the_black_knight),4,62,"percival_(satbk),percival_(sonic),percival_(sonic_and_the_black_knight),sir_percival_(satbk),sir_percival_(sonic)"
+simski,1,62,
+silverfang_the_steel_wolf,4,62,
+shizuka,4,62,
+shinnie_(shinigamigirl),4,62,
+shiarra,4,62,
+shelby_(aquasnug),4,62,
+sheath_frottage,0,62,
+she-hulk,4,62,
+shadow-anubis,4,62,
+sex_doll_transformation,0,62,
+sessa,1,62,
+senorkah,1,62,
+seekgr,1,62,
+secret_squirrel,4,62,
+sdjenej_(artist),1,62,
+scribs03,1,62,
+scott_ryder,4,62,
+sasha_(trigger12),4,62,
+sam_(totally_spies!),4,62,
+saliva_on_hand,0,62,
+sadida,5,62,
+sabrina_(housepets!),4,62,
+ryukyur,1,62,
+ruhje,1,62,
+rubber_legwear,0,62,
+rouge_the_werebat,4,62,
+romanginzburg,1,62,
+roguecolonel303,1,62,
+rockyhardwood,1,62,
+robo_(pixiv),1,62,
+robbie_(felino),4,62,
+riverglaive,1,62,
+rikkun,4,62,
+reymon_comander,1,62,
+revolver64,1,62,
+red_mouth,0,62,
+rawr_(tendril),4,62,
+raised_underwear,0,62,underwear_raised
+rainforest,0,62,rain_forest
+rainbowraven,1,62,
+python_nu_kappa,4,62,
+pygmy_goat,5,62,african_pygmy_goat
+puzzle_piece,0,62,
+purrl_(animal_crossing),4,62,
+puppyemonade,1,62,
+prince_arthur_(kaiketsu_zorori),4,62,
+pride_color_face_paint,0,62,
+prestomajesto,1,62,
+poleaxe,0,62,
+poland_(artist),1,62,
+pixie_(thekite),4,62,
+pinkamena_diane_pie,4,62,
+pina,1,62,
+pettankon,1,62,
+peak,0,62,
+pattern_leggings,0,62,
+papayamist,1,62,
+papa_soul,1,62,
+panthro,4,62,
+ord_(dragon_tales),4,62,
+oof,0,62,
+o3o,0,62,
+nitrogen,1,62,
+nion,1,62,
+night_light_(species),5,62,
+nerdawaykid,1,62,
+needleplay,0,62,
+neck_brace,0,62,
+nathivy,1,62,
+narrow_beak,0,62,
+nargle,4,62,
+nairi_(series),3,62,
+mr._krabs,4,62,"eugene_h._krabs,eugene_h_krabs,eugene_harold_krabs,eugene_krabs,mr_krabs"
+motor_scooter,0,62,
+morbidly_obese_intersex,0,62,
+moomintroll,4,62,
+moody,0,62,
+moob_grope,0,62,
+monotone_high_heels,0,62,"mono-tone_high-heel,mono-tone_high-heels,mono-tone_high_heel,mono-tone_high_heels,mono-tone_highheel,mono-tone_highheels,mono_tone_high-heel,mono_tone_high-heels,mono_tone_high_heel,mono_tone_high_heels,mono_tone_highheel,mono_tone_highheels,monotone_high-heel,monotone_high-heels,monotone_high_heel,monotone_highheel,monotone_highheels"
+mon311,1,62,
+momochi_sandayuu,4,62,
+mommyosha,1,62,
+mommy_alpaca,4,62,
+moi,4,62,
+mochi-squish,1,62,
+misty_the_mouse,3,62,
+miranda_arqayla,4,62,
+mini_flag,0,62,
+mindes_(grimart),4,62,
+mina-mortem,1,62,
+mimi_(mario),4,62,
+milk_inflation,0,62,
+mikhail_alkaev,4,62,
+mikah_miller_(character),4,62,
+metal_teeth,0,62,
+mennnntaiko,1,62,
+meat_sweats,1,62,
+mckaylah,4,62,
+mcerror,1,62,
+maty,4,62,
+marcus_larry,1,62,
+manwiththemole,1,62,
+manji_luo,4,62,
+male_feet,0,62,
+maddi_beller,4,62,
+lumpy_space_princess,4,62,
+lumixdragonfey_(artist),1,62,
+ltr300,1,62,
+lovie_(anjuneko),4,62,
+lotte_(cobalt_snow),4,62,
+lotion_cat,4,62,
+lotion_bottle,0,62,
+locks,0,62,
+littlegeecko,1,62,
+lisp,0,62,
+lilo_pelekai_(experiment),4,62,
+light_thigh_highs,0,62,
+less_(artist),1,62,
+leg_humping,0,62,
+leather_chaps,0,62,
+large_tongue,0,62,
+laobai,1,62,
+kyte_frost,4,62,
+kyra_(fuf),4,62,
+kyo_(stargazer),4,62,
+kyle_the_fox,4,62,
+kuroneko_waltz,1,62,
+kuro-gane,1,62,
+kra-ra,4,62,
+koray_(clockwork_journeys),4,62,
+kokonoe,4,62,
+klefki,5,62,
+kivu,4,62,
+kissing_pov,0,62,
+kissing_hand,0,62,hand_kiss
+kikimochan,1,62,
+kela_ariolima,4,62,
+kazarart,1,62,
+kato,4,62,
+katlek,1,62,
+josephtl,1,62,joepossumart
+john_silver,4,62,
+jessie_(changeling_tale),4,62,
+jay_wolfe,4,62,
+jalle,1,62,
+jacques_(fuze),4,62,
+izumi_(artist),1,62,
+ixkouu,1,62,
+it_(stephen_king),3,62,"it_(book),it_(novel),stephen_king's_it,stephen_kings_it"
+isyld,1,62,
+iselda_(hollow_knight),4,62,
+ire-k,1,62,
+ipsywitch,4,62,
+inuki_(character),4,62,
+insole,0,62,
+inflatable_ride,0,62,
+indoors_sex,0,62,
+incogneat-o,1,62,
+incendax,1,62,
+inakamichi,1,62,
+implied_erection,0,62,
+imminent_snu_snu,0,62,
+iandragonlover,1,62,
+humanoid_penetrating_female,0,62,
+holding_tablet,0,62,
+holding_platter,0,62,
+holding_chalk,0,62,
+henka,1,62,
+helium,0,62,
+heart_speech_bubble,0,62,
+heart_oculama,0,62,
+heart0fink_(artist),1,62,
+head_push,0,62,
+hazel_(the_sword_in_the_stone),4,62,
+hatsuen_kikan,1,62,
+hat_over_eyes,0,62,
+harzipan,4,62,
+happy_feet,3,62,
+gundanw,1,62,jimyangsheep
+grandmasterfdc,1,62,
+gorebyss,5,62,
+goobie_(da3rd),4,62,
+gomdepp,1,62,
+goldeyboi,1,62,
+gohami,1,62,
+glowing_weapon,0,62,
+glistening_stockings,0,62,shiny_stockings
+glacial_(wintrygale),4,62,
+getta_(drawholic),4,62,
+garwaron,1,62,
+garnet_(steven_universe),4,62,
+garlic,0,62,
+gao_(gaokun),4,62,gaokun_(character)
+galen,1,62,
+galaxia22,1,62,
+galactic-overlord,1,62,galactic_overlord
+foxbtails,1,62,
+four_row_layout,0,62,
+forebucks,0,62,
+floverale-hellewen,1,62,
+first_time_sex,0,62,
+finch_(xenoblade),4,62,
+felix_(lilo_and_stitch),4,62,"experiment_010,felix_(l&s),felix_(las),felix_(lilo_&_stitch),felix_(stitch)"
+feces_as_food,0,62,
+farming,0,62,
+erection_under_briefs,0,62,
+epitaphkho_(artist),1,62,
+eliott,4,62,
+el_shaka,1,62,el_shaka_(artist)
+einnharder,1,62,
+eidilon,4,62,
+e-series,5,62,
+duncan_roo,4,62,
+dukey,4,62,
+dukebarbatos,1,62,
+ducky_(the_land_before_time),4,62,"devoted_ducky,ducky_(land_before_time),ducky_(lbt),ducky_(tlbt)"
+dua_(bahnbahn),4,62,
+drupe_(ok_k.o.!_lbh),4,62,"drupe_(ok_k.o!),drupe_(ok_k.o),drupe_(ok_k.o.!),drupe_(ok_k.o.!_let's_be_heroes),drupe_(ok_k.o.!_lets_be_heroes),drupe_(ok_k.o.),drupe_(ok_k.o._lbh),drupe_(ok_k.o._let's_be_heroes),drupe_(ok_k.o._lets_be_heroes),drupe_(ok_k.o_lbh),drupe_(ok_k.o_let's_be_heroes),drupe_(ok_k.o_lets_be_heroes),drupe_(ok_ko!),drupe_(ok_ko!_lbh),drupe_(ok_ko!_let's_be_heroes),drupe_(ok_ko!_lets_be_heroes),drupe_(ok_ko),drupe_(ok_ko_lbh),drupe_(ok_ko_let's_be_heroes),drupe_(ok_ko_lets_be_heroes)"
+drinking_own_cum,0,62,
+dressing_up,0,62,
+dork,0,62,
+doodle_champion_island_games,3,62,
+donguri,1,62,
+dixie_seterdahl,4,62,
+ditoxin,1,62,
+disembodied_butt,0,62,
+dirty_anus,0,62,
+devon_(misterstallion),4,62,
+detention,0,62,
+desire_demon,5,62,
+demitri012,1,62,
+december,4,62,
+debra_diaz,4,62,
+death_note,3,62,deathnote
+daven_(dado463art),4,62,
+dashing_wanderer_ampharos,4,62,"ampharos_(psmd),chief_ampharos,dashing_ampharos,wanderer_ampharos"
+dark_nails,0,62,
+dark_end_(stitch!),4,62,"dark_end_(l&s),dark_end_(lilo_&_stitch),dark_end_(lilo_and_stitch),dark_end_(stitch)"
+dakota_(dark_stallion),4,62,
+dakota,4,62,
+daisy_mae_(animal_crossing),4,62,
+dahsharky_(character),4,62,
+d_kenmason,4,62,
+cyanu,1,62,
+cyancoyote,1,62,
+cutiepoppony,1,62,
+cum_on_shoes,0,62,
+crosswalk,0,62,
+creation_trio,0,62,
+crab_stealing_clothing,0,62,
+corrsk_(character),4,62,
+coochan,1,62,
+contortionism,0,62,
+clothed_human,0,62,
+cleopatra_in_space,3,62,
+clauschristmas2,1,62,
+cirno,4,62,
+chiptune,0,62,
+cherry_(dredjir),4,62,
+charem,4,62,
+character_chao,5,62,
+celebrated_earl,1,62,
+catlad,1,62,
+caricature,0,62,
+calling_for_release,0,62,
+calico_kai,1,62,kai-kat
+cafe_plaisir,3,62,
+caedis_animus,4,62,
+by,3,62,cc-by
+butts_touching,0,62,
+buttershe,4,62,
+broken_chain,0,62,
+broken_antler,0,62,
+brick_break_after_dark,1,62,
+bri-sta,1,62,ks4u
+boxtop,1,62,
+book_whitener,4,62,
+bono_bono,3,62,
+bonfire_(bonfirefox),4,62,
+bonefuck,0,62,
+bone_rush,0,62,
+bokuman,1,62,
+blue_ball_gag,0,62,
+blackguard,1,62,
+black_hanekawa,4,62,
+biglovealicia,1,62,
+big_penetration,0,62,
+bernardol22,1,62,
+bei_ju_luoxuan_wan,1,62,
+beautifly,5,62,
+bearp_(artist),1,62,
+basedvulpine_(character),4,62,
+bakamaokun,1,62,
+baba_is_you,3,62,
+awarebear,1,62,
+aurin,5,62,
+asiri,4,62,
+ashleigh,4,62,
+ash_(disambiguation),4,62,ash
+arofexdracona,1,62,
+aria_(walnut225),4,62,
+aquabunny,1,62,
+aqua_teen_hunger_force,3,62,"aqua_something_you_know_whatever,aqua_teen_hunger_force_forever,aqua_tv_show_show,aqua_unit_patrol_squad,aqua_unit_patrol_squad_1,asykw,athf,aups1"
+apostle,1,62,
+ansel_(anaid),4,62,
+annie_hole,4,62,"annie_(catcouch),annie_hole_(catcouch)"
+andalite,5,62,
+anchors_(artist),1,62,
+amelia_(yips),4,62,
+alynna,4,62,
+alternate_breast_size,0,62,
+almatea,1,62,
+alhedgehog,1,62,
+alex_(totally_spies!),4,62,
+alcohol_enema,0,62,butt_chugging
+afd-yred,1,62,
+adagadeprata,1,62,
+acev,1,62,
+acaris_(artist),1,62,
+abe_(artdecade),4,62,
+aarenki,1,62,
+10:13,7,62,
+zofia,4,61,
+zoey_lavender,4,61,
+zoey_(senip),4,61,
+zody300,1,61,
+zenia,1,61,
+zeckle,1,61,
+yuuri_splatoon,1,61,
+yuudai_(character),4,61,
+yuffie_kisaragi,4,61,
+yoke_(restraint),0,61,bondage_yoke
+yetzer_hara,4,61,
+yellow_tail_tuft,0,61,
+year_of_the_dog,3,61,
+yanma,5,61,
+yacteruc1,1,61,
+xìngyùn,4,61,"xingyun,xingyun_(diives)"
+xxmileikaivanaxx_(artist),1,61,
+xenopony456,1,61,
+x3no,4,61,
+wolf_wolfindeir_(thewolfycreator),4,61,
+wilderness,0,61,
+whiteleonard,1,61,
+white_sky,0,61,
+white_eyewear,0,61,
+wetwaffls,1,61,
+weimaraner,5,61,
+watte,1,61,
+water_drops,0,61,
+wash_rotom,5,61,"rotom-wash,rotom_(wash),rotom_(wash_form),rotom_(wash_forme),rotom_(washer),rotom_(washer_form),rotom_(washer_forme),rotom_(washing),rotom_(washing_form),rotom_(washing_forme),rotom_(washing_machine),rotom_(washing_machine_form),rotom_(washing_machine_forme),rotom_(water),rotom_(water_form),rotom_(water_forme),rotom_wash,rotom_wash_form,rotom_wash_forme,rotom_washer,rotom_washer_form,rotom_washer_forme,rotom_washing,rotom_washing_form,rotom_washing_forme,rotom_washing_machine,rotom_washing_machine_form,rotom_washing_machine_forme,rotom_water,rotom_water_form,rotom_water_forme,wash_form_rotom,wash_forme_rotom,washer_form_rotom,washer_forme_rotom,washer_rotom,washing_form_rotom,washing_forme_rotom,washing_machine_form_rotom,washing_machine_forme_rotom,washing_machine_rotom,washing_rotom,water_form_rotom,water_forme_rotom,water_rotom"
+waidan_kai,4,61,
+vixen_labs,3,61,
+vicente_(romeodog),4,61,
+vibrator_under_clothing,0,61,
+vermana,4,61,
+vera_korzynski,4,61,
+used_like_a_toy,0,61,
+urine_on_feet,0,61,
+two_tone_membrane,0,61,
+twintailssfm,1,61,
+tsu_ji,1,61,
+trollhunters,3,61,
+touching_own_legs,0,61,
+totem_pole_position,0,61,
+topless_intersex,0,61,
+toe_talons,0,61,
+tizoc,4,61,
+titty_vixen_(character),4,61,
+tism,3,61,
+tire_swing,0,61,
+tina_(tonytoran),4,61,
+timothy_(zer0rebel4),4,61,
+tied_to_foot,0,61,
+thumbs_down,0,61,"thumb-down,thumb_down,thumb_down_sign,thumbs-down,thumbs_down_sign,👎"
+throat_hug,0,61,
+thokk_(invincible),4,61,
+theseus_(hades),4,61,
+the_humbler,1,61,toothpasta
+the_eye_of_ramalach,3,61,
+that_kei_guy,1,61,thatkeiguy
+text_on_sports_bra,0,61,
+terrible_terror,5,61,
+tennis_ace,3,61,
+teddybeer0525,1,61,
+tech_control,0,61,
+taxidermy,0,61,
+taraelblackwing,1,61,
+tamura_kazumasa,1,61,
+takatsuki_nato,1,61,
+taiyo_akari,4,61,
+tachi_(kaptcha),4,61,
+sweaty_clothing,0,61,sweaty_clothes
+swadpewel,1,61,
+super_mario_world,3,61,
+sun_dragon_bal,4,61,
+suce,1,61,special_k
+strikedramon,5,61,
+sr71beta,1,61,
+squid_game,3,61,
+spoogiehowl,1,61,
+spiked_wings,0,61,
+soul_release,0,61,
+sonokido,1,61,
+snout_scar,0,61,muzzle_scar
+snazzamazing,1,61,
+smokedaddy,1,61,
+skyler-ragnarok,1,61,
+skoop,4,61,
+skaiahart,1,61,
+sincastermon,1,61,
+silo,0,61,
+shroomish,5,61,
+short_ponytail,0,61,
+shimm,1,61,
+shiko,4,61,
+shenanigan,1,61,
+shark_puppy,5,61,
+shar_pei,5,61,"cantonese_shar-pei,cantonese_shar_pei,cantonese_sharpei,sa_peih,sha_pi,shar-pei,sharpei,shā_pí,sā_pèih"
+shaq_(meatshaq),4,61,
+shadowweasel,4,61,
+shaak_ti,4,61,
+serulean,1,61,
+sensh_the_cat,4,61,
+self_portrait,0,61,
+seirva,1,61,
+seaweed_toast,1,61,
+scrapcorcist,1,61,
+schnuffel,4,61,
+scarlet_rose,4,61,
+scar_reach,4,61,
+same_size,0,61,
+samantha_arrow,4,61,samantha_vixen
+samael_wurlitz,4,61,
+saki_(garasaki),4,61,
+ruslorc,1,61,
+runar_(ffxiv),4,61,
+roscoe_(disney),4,61,
+rorero,1,61,
+roman_clothing,0,61,
+rokacake,1,61,
+rivalry,0,61,
+rikki_landon,4,61,
+reverse_rape,0,61,
+removing_underwear,0,61,
+relaxation,0,61,
+reina_(hypnofood),4,61,
+redditor_gardevoir,4,61,
+red_shell,0,61,
+red_feather,0,61,
+re:_strained,3,61,
+rchammer,1,61,
+ray_(disambiguation),4,61,"ray,ray_(desambiguation),rays"
+rapid_panda,4,61,
+raised_bra,0,61,bra_raised
+rainbow_stripes,0,61,
+rabbit_(petruz),4,61,
+r4,1,61,
+r0cketjumper,1,61,
+r.o.b.,4,61,
+quivers-for-arrows,4,61,
+q-bee,4,61,
+pussy_mouth,0,61,
+purple_tattoo,0,61,purple_tattoos
+pubes_in_mouth,0,61,
+prue_(fvt),4,61,
+presto_(character),4,61,
+pranky,1,61,
+poron53,1,61,
+porky_pig,4,61,
+poppy's69,1,61,
+poison_lily_(kazudanefonfon),4,61,
+plushkinn,1,61,
+platinum_decree,4,61,
+pinupgirl,0,61,
+pinky_(animal_crossing),4,61,
+piercings_everywhere,0,61,
+photon_(ratte),4,61,
+photo_frame,0,61,
+peregrine_anatum,4,61,
+penetrable_sex_toy_in_mouth,0,61,
+patt_(waver-ring),4,61,
+paint_splatter,0,61,
+pacha_(the_emperor's_new_groove),4,61,
+orionfell,1,61,orionfell_(artist)
+oral_egg_insertion,0,61,
+one_arm,0,61,
+oasis_(character),4,61,
+nosugarnohoney,1,61,
+noodle-lu,1,61,
+nisharu,1,61,
+nine_inch_nails,3,61,
+nikozoi,1,61,
+neth_(aspen),4,61,
+nekkie_niceburgs,4,61,
+necromorph_(dead_space),5,61,
+neck_bell,0,61,
+natadeko_kitsune,1,61,"pankptomato,taka_(pankptomato)"
+nat_the_lich,1,61,
+mystery_(mystery_skulls),4,61,
+musky_cock,0,61,
+multicolored_wristband,0,61,
+mrrshan_empress,4,61,
+mr_happy,1,61,mrhappy1987
+monsterpunk,3,61,
+moisesgrafic,1,61,
+mochagato,1,61,
+mnty_(character),4,61,
+mistake,0,61,
+miralle,4,61,
+millie_(sayuncle),4,61,
+midsection,0,61,
+mewtwo_strikes_back,3,61,
+mewtwo_clone_machine,0,61,
+mess1ah,1,61,
+melting_ice_cream,0,61,
+meicoomon,5,61,
+meg_griffin,4,61,
+meep_the_kobold_(character),4,61,
+mavezar,1,61,
+maude_(bts),4,61,
+matthew-x,1,61,
+mattchu_(character),4,61,
+malina_(athiesh),4,61,
+mahiri,4,61,
+magniym,1,61,
+magic_jackal,4,61,
+maewix_(artist),1,61,
+mabaya,1,61,
+lure,0,61,
+lunatone,5,61,
+lu123,1,61,
+love_letter,0,61,
+lordofnothin1,1,61,
+logan_the_fox,4,61,
+loceri,1,61,
+loafers,0,61,
+llamama,3,61,
+litter_box,0,61,litterbox
+lionkinen,1,61,
+lillya_(biggreen),4,61,
+light_inner_ear_fluff,0,61,
+liebeslied,1,61,
+lexorez,1,61,
+lemonkyubun,1,61,lemonkyubun_(artist)
+leg_fins,0,61,
+led_light,0,61,
+la_lune_rouge,1,61,
+kyyanno,4,61,
+kumalino,3,61,
+krokodos,1,61,
+krinele_fullin,4,61,krinele
+kosobin,1,61,
+kooper,4,61,
+konata_izumi,4,61,izumi_konata
+koko_(kishibe),4,61,furugitsune
+kofi_(kofithechee),4,61,
+king_tangu,4,61,
+kimber,4,61,
+kibbleztheyeen,1,61,
+keaton_(fire_emblem),4,61,
+kaxiota,1,61,
+katazai,1,61,
+kainkout,1,61,
+kai_the_cervine_ghost,4,61,
+kaceuth,1,61,
+justautumn,1,61,
+jollyferret,1,61,
+joeyjazz,1,61,
+jessica_elwood_(character),4,61,jessica_(jessica_elwood)
+jen_foxworth,1,61,
+jason_takayama,4,61,
+jared_(peculiart),4,61,
+jangmo-o,5,61,
+ivnis,1,61,
+iv_bag,0,61,
+isatan,1,61,
+irgramfox,1,61,
+iotran,3,61,
+inkmaven,1,61,
+immortality,0,61,
+ibis,5,61,"ibes,ibides,ibises"
+ib,1,61,
+hornystorm,1,61,
+hook_penetration,0,61,
+hollow_(bleach),5,61,
+hitmaru,1,61,
+high_boots,0,61,
+hidden_mickey,0,61,
+hecking,1,61,
+heart_between_text,0,61,
+headingsouth,1,61,
+harry_85,1,61,
+haribo-arts,1,61,
+hanekawa_tsubasa,4,61,
+hands_on_another's_hip,0,61,
+hanbok,0,61,
+han,4,61,
+h_futako,1,61,緋華双子
+guss_(vju79),4,61,
+guildmaster_(icma),4,61,
+gryphon489,4,61,
+greenmarine,1,61,
+green_speech_bubble,0,61,
+grammeowster_chef,4,61,
+gradient_horn,0,61,gradient_horns
+gracie_films,3,61,
+grabbed,0,61,
+goozie,1,61,
+goliathcpg,1,61,
+golde,1,61,
+gnoll_(monsterpunk),5,61,
+glowing_gem,0,61,
+glistening_collar,0,61,shiny_collar
+glance,0,61,
+gigantic,3,61,
+geroo,5,61,
+gender_symbol_tattoo,0,61,
+geisha,0,61,
+gattles,1,61,
+garudamon,5,61,
+gamera_(artist),1,61,"gamera1985,gammatelier"
+galette,1,61,
+galactabee,1,61,
+fureffect,1,61,
+fulvus,4,61,
+fullytank,1,61,
+frosh_(furoroshu),4,61,
+foxette,1,61,
+forked_antennae,0,61,
+footstool,0,61,
+food_shot,0,61,
+flyer_(pixiv),1,61,
+flufflix,1,61,"glitterysylveon,rottenface"
+fluffins,1,61,
+flintlock_pistol,0,61,
+finneon,5,61,
+finger_on_mouth,0,61,
+fi,4,61,
+ferdinand_(film),3,61,
+feniks_felstorm,4,61,
+fellatio_request,0,61,
+felicity_(animal_crossing),4,61,
+felicia_(brushfire),4,61,
+feathered_diva,1,61,
+fasenso,4,61,
+eyes_popping_out,0,61,
+exhaust,0,61,
+everest,4,61,
+eura,1,61,
+espent,1,61,
+erika_(meesh),4,61,
+equestria,0,61,
+eon_(typhlosion),4,61,
+entwined_toes,0,61,"entwined_toe,entwining_toe,entwining_toes,interlaced_toe,interlaced_toes,interlacing_toe,interlacing_toes,interlinked_toe,interlinked_toes,interlinking_toe,interlinking_toes,interlocked_toe,interlocked_toes,interlocking_toe,interlocking_toes,intertwined_toe,intertwined_toes,intertwining_toe,intertwining_toes,toe_entwined,toe_entwining,toe_interlaced,toe_interlacing,toe_interlinked,toe_interlinking,toe_interlocked,toe_interlocking,toe_intertwined,toe_intertwining,toe_twined,toes_entwined,toes_entwining,toes_interlaced,toes_interlacing,toes_interlinked,toes_interlinking,toes_interlocked,toes_interlocking,toes_intertwined,toes_intertwining,toes_twined,twined_toe,twined_toes"
+elma_(tenchi_muyo),4,61,
+elbrar,4,61,
+dynamicfuncorner,1,61,
+dreamweaver4121,1,61,
+drawain,1,61,
+draltruist,1,61,
+dragonkai,1,61,
+dragon_fruit,0,61,"dragonfruit,pitahaya,pitaya"
+double_shoulder_grab,0,61,
+docmoreau,1,61,drmoreau
+dobu_(odd_taxi),4,61,
+djijey_hellfire,4,61,
+dewstar_(artist),1,61,
+despairchanpu,1,61,
+demeterservant,1,61,
+dekatanu,1,61,
+deep_insertion,0,61,
+deanka,1,61,
+de2w,1,61,
+dazen_(character),4,61,
+dart_(brok_the_investigator),4,61,
+dare,0,61,
+danwolf15,1,61,danwolf
+cynthia_(david_siegl),4,61,
+cybergoth,0,61,
+curtain_call_challenge,3,61,
+crypticfigurines,1,61,
+creamsicle,0,61,
+cosmicdanger,1,61,
+cornrows,0,61,
+corgidor,5,61,
+comfortable,0,61,
+coltsteelstallion,1,61,
+coffaefox,1,61,
+cock_and_balls_blowjob,0,61,
+coal_(maririn),4,61,
+coach_mika,4,61,
+clownboy1,1,61,
+cloudburst,4,61,
+circuit,0,61,circuits
+circle_censor,0,61,
+chumpy,1,61,
+chomper_(the_land_before_time),4,61,"chomper,chomper_(land_before_time),chomper_(lbt),chomper_(tlbt),eager_chomper"
+choi_yujin,4,61,
+chaora,1,61,"popuni10,チャオラー"
+cc0,3,61,
+cathedral,0,61,
+casual_urination,0,61,
+cassius_(adastra),4,61,
+carmen_(patrol_03),4,61,
+candykittycat,1,61,
+camo_(breeze_in_the_clouds),4,61,
+cahoon,1,61,
+burstfire,1,61,
+bunny_ears_(gesture),0,61,"bunny_ears_gesture,cuckold's_horns,cuckold_horns,cuckolds_horns"
+bumping,0,61,
+bulluppa,1,61,
+buffalo_(disambiguation),6,61,buffalo
+buckshot_(metal),4,61,
+bub,4,61,
+bryce_(angels_with_scaly_wings),4,61,bryce_(awsw)
+brown_membrane,0,61,
+bowling,0,61,
+bow_topwear,0,61,
+bluemaster,1,61,
+blue_hairband,0,61,
+bleak_ambiance,0,61,"bleak,bleak_ambience,bleak_atmosphere,bleak_mood,bleak_theme,dark_ambiance,dark_ambience,dark_atmosphere,dark_mood,dismal,dismal_ambiance,dismal_ambience,dismal_atmosphere,dismal_mood,dismal_theme,dreary,dreary_ambiance,dreary_ambience,dreary_atmosphere,dreary_mood,dreary_theme,gloom_ambiance,gloom_ambience,gloom_atmosphere,gloom_mood,gloom_theme,gloomy_ambiance,gloomy_ambience,gloomy_atmosphere,gloomy_mood,gloomy_theme"
+blazingifrit,1,61,
+blaine_edan,4,61,
+blade4649,1,61,
+black_white_body,0,61,
+big_spikes,0,61,
+beri_(sqoon),4,61,
+bergmite,5,61,
+beauwolfhusky,4,61,
+basilllisk,1,61,
+barely_visible_pawpads,0,61,
+banicsidy,1,61,
+bahn_(slapstick70),4,61,
+axiomtf,1,61,
+avielsusej,1,61,
+attached_sheath,0,61,
+athom,1,61,
+astromech_droid,5,61,
+artietheartbull,1,61,
+arcnod,1,61,
+appa_(avatar),4,61,
+anubis_(smite),4,61,
+alystaircat,1,61,
+alrik_yeenobotham,4,61,
+ally_(alxias),4,61,
+albertomangala,1,61,
+albelwolf,4,61,
+alamander,1,61,
+ahornsirup,1,61,
+adri164,1,61,
+abriika,4,61,
+9de-light6,1,61,
+474,1,61,
+35:18,7,61,
+11:17,7,61,
+10_cosmo_24,1,61,
+zull,5,60,
+zoobastik,1,60,
+zofie_(fluff-kevlar),4,60,
+zoey_(berk_rider),4,60,
+zee_(zfursee),4,60,
+zark,1,60,
+zarizav,4,60,
+zan_(zantanerz),4,60,
+zachary_(lord_salt),4,60,
+yuki_sairenji-noroi,4,60,
+yuji_uekawa,1,60,
+yorkshire_terrier,5,60,"yorkie,yorkie_terrier"
+yong-sil_(ryonggay),4,60,
+yogurpodrido,1,60,
+yes-no_pillow,0,60,
+yellow_speech_bubble,0,60,
+yellow_seam_underwear,0,60,
+yeenbitez,1,60,
+yaoi-no-mikan,1,60,
+xlr8,4,60,
+xbox_logo,0,60,
+wishbone_(character),4,60,
+white_leotard,0,60,
+wheatley,4,60,
+weight_machine,0,60,
+warzone,0,60,
+wally_pembroke,4,60,
+vulpamon,4,60,
+vikhop,1,60,
+vikalh,1,60,
+vex_(44vex),4,60,
+vertex,1,60,
+velveteksotica,1,60,
+velcro74656,1,60,
+vcampan,1,60,
+varan_(evilsx),4,60,
+valerie_(shortwings),4,60,
+vaiderman,1,60,
+upshorts,0,60,
+unseen_partner,0,60,
+underwear_crabs,0,60,
+ulvbecker,1,60,
+ultrafox,1,60,
+tyviania,1,60,
+tyrant_(resident_evil),5,60,
+tyra_reckks,4,60,
+two_tone_text,0,60,
+turtlessoul,1,60,
+tricorne,0,60,
+translucent_socks,0,60,"see-through_sock,see-through_socks,see-thru_sock,see-thru_socks,see_through_sock,see_through_socks,see_thru_sock,see_thru_socks,sheer_sock,sheer_socks,transparent_sock,transparent_socks"
+tourbillon,1,60,
+toque,0,60,
+topaz_(sonic),4,60,
+titanfall_2,3,60,
+tillie_(vimhomeless),4,60,
+thrill_seekers_(copyright),3,60,
+thor_(marvel),4,60,
+thepsychodog,1,60,
+theloanwanderer216,1,60,
+thekatdragon49,1,60,
+the_story_of_ferdinand,3,60,
+the_furfather,1,60,
+terry_(roanoak),4,60,
+teo_(hayakain),4,60,
+tapering_snout,0,60,
+tan_theme,7,60,beige_theme
+tairedfox,1,60,
+syrena_(riptideshark),4,60,
+sylvari,5,60,
+sword_sheath,0,60,
+sweetburn,1,60,
+surrealatorium,1,60,
+supported_tail,0,60,
+summer_solstice_(oc),4,60,
+subjectnumber2394,1,60,
+stripey,0,60,
+street_sign,0,60,
+star_wars_rebels,3,60,
+star_parlor,1,60,
+star_accessory,0,60,
+spurt_(disambiguation),0,60,spurt
+spasm,0,60,
+spadamon,5,60,
+space_furry_(copyright),3,60,
+sori_(ara_chibi),4,60,
+soranotamashii,1,60,
+soranoiro_(artist),1,60,"hitsujisorairo,mio_loveztp"
+sorakirbys,1,60,
+sooperman,1,60,
+sona_(yuio),4,60,
+snowyblue1,1,60,
+smexyoryx,1,60,
+slitherpon,1,60,
+skully_(skully),4,60,
+skarltano,1,60,
+sitting_on_branch,0,60,
+simplybobcat,1,60,
+shinolara,1,60,
+shiho_ichimura_(odd_taxi),4,60,
+shared_female_with_animal,0,60,
+shana,1,60,
+shadowfenris,1,60,
+sexy_doll,1,60,
+severed_leg,0,60,
+seraphie,5,60,
+sea_urchin,5,60,urchin
+scott_howl_(monster_prom),4,60,
+scobionicle99,1,60,
+schpicy,1,60,
+sasukex125,1,60,
+sashaviel,1,60,
+saliva_on_dildo,0,60,
+sakuri_rainne,4,60,
+sady,4,60,
+ryujisama,1,60,
+ryou_tani,1,60,
+rut_(secretden),4,60,
+ruined,0,60,
+roxyrex,1,60,
+rosphix,1,60,ro_sphix
+rose_(snivy),4,60,
+rockmai3,1,60,
+robotics,0,60,
+rismic,3,60,
+riolutiny,1,60,
+rino99,1,60,
+rikitsu,1,60,
+reyes,4,60,
+rexumin,1,60,
+removed_clothing,0,60,
+redfoxsoul,1,60,
+red_toes,0,60,
+rebouwu,1,60,
+razter,1,60,
+randoseru,0,60,
+randoramble,1,60,
+ramon_nemeris,4,60,
+railgun,0,60,
+raiden_shin'emon,4,60,
+radioactivemint,1,60,
+quirachen,1,60,
+quasart,1,60,
+pusheen,4,60,
+purple_sheets,0,60,
+purple_sex_toy,0,60,
+purple_leotard,0,60,
+purple_leash,0,60,
+punipuri,1,60,
+pumpkin_balls,0,60,
+porunga,4,60,
+pondering,0,60,
+pokilewd,1,60,
+pokemon_the_first_movie,3,60,
+plankton_(species),5,60,
+pizza_delivery_carrier,0,60,"pizza_boy,pizza_delivery_boy,pizza_delivery_girl,pizza_delivery_man,pizza_delivery_people,pizza_delivery_person,pizza_delivery_woman,pizza_girl,pizza_man,pizza_woman,pizzaboy,pizzagirl,pizzaman,pizzawoman"
+pink_t-shirt,0,60,
+pink_speech_bubble,0,60,
+pink_glow,0,60,
+pigburger,1,60,
+pico_(f-zero),4,60,
+penis_head,0,60,
+peeps,3,60,
+pearboy-ooh,1,60,
+paramount_pictures,3,60,"paramount,paramount_pictures_corporation"
+paradisebear,3,60,
+pancake_(character),4,60,
+ouji_(fashion),0,60,
+osamodas,5,60,
+orange_bunny,4,60,
+oral_rape,0,60,
+ophiotaurus,5,60,
+open_onesie,0,60,
+omochiwotakusan,1,60,
+oliver.lutro,1,60,
+olivepup_00,1,60,
+olfactophilia,0,60,
+oktoberfest,3,60,
+ok_bruh,1,60,
+ohemo,1,60,
+oguma_(beastars),4,60,
+noxfurybox,1,60,
+north_wind,4,60,
+nohmad,1,60,
+no_bitches?,3,60,
+nir_(old_design),4,60,
+ninja_kaiden,1,60,
+netsuko,4,60,
+nazurah,4,60,
+nara,4,60,
+namielle,5,60,
+mysticaldragoon01,1,60,
+mute-owl,1,60,
+mustard_(welcometothevoid),1,60,
+mushyotter,1,60,
+mummified,0,60,
+multiple_hands,0,60,
+multi-stop_van,0,60,"delivery_truck,delivery_van,multi-stop_truck,multi_stop_truck,multi_stop_van,multistop_truck,multistop_van,step_van,walk-in_delivery,walk-in_delivery_van,walk_in_delivery,walk_in_delivery_van,walkin_delivery,walkin_delivery_van"
+moyashi,1,60,
+moosh,4,60,
+moonstalker_(character),4,60,
+moodytail,1,60,
+mono_ka_tarl,1,60,
+modern_bird,1,60,
+mkvero,1,60,
+mizumi_(pyrojey),4,60,
+miyao_yu,1,60,
+mitch_calhoun,4,60,
+mirialan,5,60,
+milkymaiden,4,60,
+milking_request,0,60,
+mia_(hotwert),4,60,
+megumin_(konosuba),4,60,megumin
+meditating,0,60,
+matoi-chan_(mamoru-kun),4,60,
+mascara_maroon,4,60,
+maruyama_(artist),1,60,
+marina_(animal_crossing),4,60,
+marcus_of_the_cloud_forest,3,60,
+makuran,1,60,
+madness_combat_(series),3,60,
+madness_combat,3,60,
+lunara_(warcraft),4,60,
+lui-ra,1,60,
+luck_(icma),4,60,
+lord-kiyo,1,60,
+loose_hair,0,60,
+looking_at_sex_toy,0,60,
+living_armor,5,60,
+lily_(funkybun),4,60,
+light_paws,0,60,
+lewdlemage,1,60,
+lewdango,1,60,
+lekisceon,1,60,
+legion_(mass_effect),4,60,
+leather_underwear,0,60,
+laundry_room,0,60,
+ladygreer,1,60,ladygreer_(artist)
+ky-jane,1,60,
+kunaru,1,60,
+koshak,1,60,
+koropatel,1,60,
+koalcleaver,1,60,
+kiwyne,1,60,
+kissing_booth,0,60,
+kironzen,1,60,
+kinkmasternero,1,60,
+kingdomxathers,1,60,kingdomheartskeeper
+jolly_jack_(character),4,60,
+joesanchez,1,60,
+jodyinkfist,1,60,
+jessie_(disambiguation),4,60,jessie
+jerkcentral,1,60,
+jenny_(capt_hairball),4,60,
+jennifer_nyte,4,60,
+jeacn,1,60,
+jack_reston,4,60,
+io8044,1,60,
+inubashiri,1,60,
+intimatewolf,1,60,
+intest,1,60,
+inkwell-pony,1,60,
+incestuous_fantasy,0,60,
+impa,4,60,
+ikugo_(character),4,60,
+hybrid_wings,0,60,
+humanoid_tail,0,60,
+huge_hair,0,60,
+hudson_(zp92),4,60,
+holt-odium,1,60,
+holding_syringe,0,60,
+hilda_(series),3,60,
+heckded,1,60,
+heater,0,60,
+heartman98,1,60,
+heartgear,4,60,heartgear_(mlp)
+heart_meter,0,60,
+head_print,0,60,
+hc_hybriddave,1,60,
+hazelmere,1,60,
+hayop_ka!,3,60,hayop_ka
+harriet_(harry_amoros),4,60,
+handwritten_text,0,60,
+hands_on_own_ankles,0,60,
+hands_in_lap,0,60,
+hand_shot,0,60,
+hand_on_own_elbow,0,60,
+hakya11,1,60,
+hair_bow_(anatomy),0,60,
+haduko1,1,60,
+h_rin0u0,1,60,
+guak,1,60,
+gs-fox,1,60,
+gruftine,4,60,
+greatwuff,1,60,touya
+gor1ck,1,60,
+goo_penetration,0,60,
+god_rays,0,60,
+goatdog,4,60,
+gnell_(inkgoat),4,60,
+glistening_dildo,0,60,shiny_dildo
+glenskunk,1,60,
+gear_(artist),1,60,
+gavin_stien,4,60,
+garoh,4,60,
+gale_(ruaidri),4,60,
+galdon,4,60,
+fyoshi,1,60,
+front_view_butt,0,60,
+freely_redistributable,0,60,
+freckles_(kurenaikyora),4,60,
+franciscassidy,1,60,
+flying_kick,0,60,"jump_kick,jump_kicked,jumping_kick,jumpkick,jumpkicked"
+fluffyroko,1,60,
+fluffydisk42,1,60,
+flauschdraws,1,60,
+flarita,4,60,
+flan,0,60,
+fjorge,1,60,
+fingerjob,0,60,
+fighting_foodons,3,60,
+feher,1,60,
+featureless_penis,0,60,
+false_start,0,60,
+face_shield,0,60,
+eztp,1,60,
+eye_penetration,0,60,
+evil_luna_(idw),4,60,"dupluna_(idw),twona_(idw)"
+eruru,4,60,
+erickredfox,1,60,
+elvor_xaetri,4,60,
+eliv,4,60,
+eldrick_pica,4,60,
+ejaculating_while_penetrated,0,60,
+egg_in_uterus,0,60,
+edhel,4,60,
+edgar_munroe,4,60,
+eating_during_sex,0,60,
+ear_plugs,0,60,
+dude_lyena,4,60,
+dshou,1,60,
+dromaeosaurus,5,60,
+drip_(dripponi),4,60,
+dracokaitonsfw,1,60,
+dracarna,4,60,
+dotte_(gunwhale),4,60,
+discrete_turtle,1,60,
+discarded_panties,0,60,
+dim,4,60,
+diamond_(sigma_x),4,60,
+diablo_3,3,60,
+devilman_(series),3,60,"devil-man,devil-man_(anime),devil-man_(franchise),devil-man_(manga),devil_man,devil_man_(anime),devil_man_(franchise),devil_man_(manga),devilman,devilman_(anime),devilman_(franchise),devilman_(manga)"
+determination,0,60,
+destona,1,60,
+deroichi,1,60,
+darknut,5,60,
+dark_talons,0,60,
+dante_lovett,4,60,
+daily-incineroar,1,60,
+dahbastard,1,60,
+cymek,1,60,
+cumu,4,60,
+cum_from_nipples,0,60,
+cross_country_detours,3,60,
+cosmosarts,1,60,
+cornica_sonoma,4,60,
+compsy,1,60,
+cole_(cole_rs),4,60,
+clover_(kitfox-crimson),4,60,
+cleo_(theredghost),4,60,
+clenched_hands,0,60,
+clearvision,1,60,
+clawzetto,1,60,
+chris_(totesfleisch8),4,60,
+chin_scratch,0,60,
+chest_pussy,0,60,
+chaossabre,1,60,
+ch_ia_ki,1,60,
+censored_breasts,0,60,
+cela,4,60,
+catniped,1,60,
+carret,5,60,
+cantio_(lawyerdog),4,60,
+canine_penis_tongue,0,60,
+butt_smack,0,60,
+buster_sword,0,60,
+bubble_lee_(character),4,60,
+broken_sword,0,60,
+bow_garter_straps,0,60,
+borni,1,60,
+boosterpang_(character),4,60,
+bomba_world12,1,60,
+body_pile,0,60,
+bluffy,4,60,
+blueflarefox1,1,60,
+blue_slime,0,60,
+blue_loincloth,0,60,
+blue_bedding,0,60,
+bleok,4,60,
+blakefox,1,60,
+blackburn,1,60,
+beruca_(glopossum),4,60,
+belt_restraints,0,60,
+bel_(cyancapsule),4,60,
+becky_(dorian-bc),4,60,
+bear_2key,1,60,
+basedvulpine,1,60,
+bailey_(fluff-kevlar),4,60,
+back_at_the_barnyard,3,60,
+baba,4,60,
+azura_(azura_inalis),4,60,
+azur,4,60,
+ayrrenth,4,60,
+asmodeus_(character),4,60,
+artemis_jackalope,4,60,
+arrow_(anatomy),0,60,
+armadillo_girdled_lizard,5,60,"armadillo_lizard,armadillo_spiny-tailed_lizard,armadillo_spiny_tailed_lizard,golden-armadillo_lizard,golden_armadillo_lizard"
+arm_jewelry,0,60,
+arkveveen_(artist),1,60,
+arkoh_umbreon,4,60,
+arkailart,1,60,randomlucario
+areku,4,60,
+arcshep,4,60,
+apollo_(caldariequine),4,60,
+anthor,4,60,
+andrefil360,1,60,
+andisun,4,60,
+alucard_(hellsing),4,60,
+almar,1,60,
+aliaspseudonym,1,60,
+alexander_grayhaven_(characters),4,60,
+alex_nightmurr,4,60,
+aleak_r,1,60,
+al_(ryou),4,60,
+akferal,1,60,
+ahatas,1,60,
+agito-savra,1,60,
+aetherxov,1,60,
+abby_sinian,4,60,
+abanob,1,60,
+70_seas,3,60,
+5_penises,0,60,
+22:17,7,60,
+20pixels,1,60,
+zzinhimsum,1,59,
+zuzu_(paledrake),4,59,
+znhc,1,59,
+zipper_shorts,0,59,
+zero_(grimoire_of_zero),4,59,
+zenon_(character),4,59,
+zapp_(mlp),4,59,"zap_(mlp),zapp"
+zapa,1,59,
+zanezandell,1,59,
+zakumi,4,59,
+zadok_the_shark,4,59,
+yuta_agc,1,59,
+yoh-sl,1,59,
+wrist_under_leg,0,59,
+wrapper,0,59,
+wiltshire_horn,5,59,
+white_cheeks,0,59,
+whinge,1,59,
+whimpering,0,59,
+wheezie_(dragon_tales),4,59,
+wet_tentacles,0,59,
+warhamon,1,59,
+wander_crown,3,59,
+wafflebond_(artist),1,59,
+viviana_(souladdicted),4,59,
+vitorleone13,1,59,
+vitki,1,59,
+vikozlav,1,59,
+viki_(vikifox),4,59,
+vibrator_on_clitoris,0,59,
+vault_boy,4,59,
+vanilla,4,59,
+valexia,4,59,
+urn,0,59,
+urine_in_cup,0,59,
+unknownwolf,1,59,
+umekemo42,1,59,
+uleezoo,1,59,sleez
+ty_(zp92),4,59,
+tteyuu,4,59,
+tryst_entangled,1,59,trystentangled
+tribal_armor,0,59,
+tooners,1,59,
+tongue_scarf,0,59,
+tommy_(hladilnik),4,59,
+tokagemusume,4,59,
+tofu-doggo,1,59,
+tntkl,1,59,
+tiny_feet,0,59,
+tiger_cub,1,59,
+tiberius,4,59,
+thunderrangers,3,59,
+thorne_(jurassic_beauties),4,59,
+there_she_is,3,59,
+thegrumpiestpanda_(artist),1,59,
+thedirtymonkey,1,59,
+the_dread_fall,3,59,
+the_cajun_fox,4,59,cajun_fox
+the-b3ing,1,59,
+text_on_jewelry,0,59,
+text_markings,0,59,"text_(marking),text_(markings),text_marking"
+test_chamber,0,59,
+tessy,1,59,
+terry_katt,4,59,
+tears_of_orgasmic_joy,0,59,
+taurus_demon,5,59,
+taur_penetrating_humanoid,0,59,t/p/hd
+tapping,0,59,
+tail_under_leg,0,59,
+tail_ring_(piercing),0,59,
+tail_on_sofa,0,59,
+switch_(fatal_dx),4,59,
+switch_(disambiguation),0,59,switch
+suruga,1,59,
+surisu_(tohupo),4,59,
+super_strength,0,59,
+sulphur-crested_cockatoo,5,59,"sulfur-crested_cockatoo,sulfur_crested_cockatoo,sulphur_crested_cockatoo"
+sugar_skull,0,59,
+suchi,1,59,
+styxandstoned,1,59,
+stu_(artist),1,59,
+stat_display,0,59,
+starbat,1,59,
+squidking,1,59,
+spragon,5,59,
+spoophoop,1,59,
+spiked_boots,0,59,
+sphynxx11,1,59,
+speedo_down,0,59,
+spandex_suit,0,59,
+soulsplosion,1,59,"soulsplosion_(artist),soulsplosionarpg,soulsplosionarpg_(artist),soulsplosionsketches,soulsplosionsketches_(artist)"
+sookta,1,59,
+sonderjen,1,59,
+snoii_(snoiifoxxo),4,59,
+snickering,0,59,
+smashmael,1,59,valnyr
+slyrray_(masterj291),4,59,
+slave_pup_(marimo),4,59,
+skye_light,4,59,
+sketh,1,59,
+skea,4,59,
+sirocco_zephyrine,4,59,
+sinnerscasino,1,59,
+silvius_(draethon),4,59,
+silverio,1,59,
+sillyme,1,59,
+side,0,59,
+shoulder_lick,0,59,
+shipo_aki,1,59,
+shinyglute,1,59,
+shining_tears,3,59,
+shinamin_ironclaw,4,59,
+sheycra,1,59,
+sherry_(xevv),4,59,
+shazzi,1,59,
+sharkall,1,59,
+shado3,1,59,
+sex_from_behind,0,59,
+serial_threading,0,59,
+sentharn,1,59,
+sensen,1,59,
+secoh2000,1,59,
+scuttlfish,1,59,
+scuba_diver,0,59,
+sckhar,4,59,
+schattenklaue,0,59,
+scarecorrode,1,59,
+sasq,1,59,
+sarcoph,1,59,
+sanura,4,59,
+sandile,5,59,
+samurai_armor,0,59,
+sammyphan,1,59,
+saliva_on_finger,0,59,
+sakura_wadagaki_(odd_taxi),4,59,
+sakanadaze,1,59,
+sahara_(nicnak044),4,59,
+rosetti,1,59,
+rosanne_(artist),1,59,
+rock_(genre),0,59,"rock_&_roll,rock_'n'_roll,rock_(music),rock_and_roll,rock_genre,rock_music,rock_n_roll"
+ritt_(character),4,59,
+rita_skopt,4,59,
+riko_(made_in_abyss),4,59,
+richard_(pandad),4,59,
+reverse_mouth_shot,0,59,
+revamped_anthros,0,59,
+reezythegarchomp,1,59,
+red_nail_polish,0,59,
+red_latex,0,59,
+rb,1,59,
+razorfox,1,59,danny_valentini
+rath_raholand,1,59,
+rare_candy,0,59,
+randochris_(character),4,59,
+rainbow_lass,5,59,
+rainbow_bandanna,0,59,
+raiettei_(artist),1,59,
+rahkvi,4,59,
+rabbid_rosalina,4,59,
+qwilfish,5,59,
+quote_(nulloffset),4,59,
+quack_pack,3,59,
+pvtscott,1,59,
+pticelov,1,59,
+pride_color_neckwear,0,59,
+pon3splash,1,59,kakashischika
+poem,0,59,
+plna,1,59,
+plessie,4,59,
+pixel-butts,1,59,
+pilot129,1,59,
+pierce_(animal_crossing),4,59,
+phantom_inker,1,59,phantominker
+pensive,0,59,
+pegasus_(disney),4,59,
+peeing_into_bowl,0,59,
+passchan,1,59,
+parfait_(yesthisisgoocat),4,59,
+paperman,3,59,
+pants_pooping,0,59,
+outdated_model,0,59,
+otm_gag,0,59,
+orc_king_(dragon_quest),5,59,
+orange_teeth,0,59,
+omega-xis,4,59,
+ollicantskate,1,59,
+obsidianlit,1,59,
+nyxis,4,59,
+nosen,1,59,
+nol,4,59,
+nivrozs,1,59,
+niko_(animal_crossing),4,59,
+nightglider,4,59,
+nicole_murdock,4,59,
+nick_(disambiguation),4,59,nick
+nezha_(warframe),4,59,
+nex_anima_canis,4,59,
+nemo_(simplifypm),4,59,nemo_(cat_witch)
+nekomata_(disgaea),4,59,
+neck_bow_(anatomy),0,59,
+navel_gem,0,59,
+naruka,1,59,
+n7,0,59,
+mx99926,1,59,
+mutantail,1,59,
+multicolored_armor,0,59,
+mr._small,4,59,
+monotone_headphones,0,59,
+mondo,4,59,
+molly_(zootopia_fan_character),4,59,
+moderately_ashamed,1,59,mildyashamed
+misutora,4,59,
+missingno.,5,59,missingno
+misoden_(artist),1,59,
+mimi_tachikawa,4,59,
+miles_(kingofkof),4,59,
+mifmaf,1,59,mif_maf
+metal_arm,0,59,
+menacing_approach,3,59,
+memories,0,59,
+melkah,4,59,
+meepo_the_geomancer,4,59,
+maxwellshiba,1,59,
+mastr7up,1,59,
+marina_datillo,4,59,
+mappy_(character),4,59,
+manticore_(mge),4,59,
+majora,4,59,
+magnus_(pasc),4,59,
+magnum_(latiodile),4,59,
+magnamalo,5,59,
+magicalfurry,1,59,
+magic_glow,0,59,
+m-da_s-tarou,1,59,
+lunarclaws,1,59,
+lucy_hare,4,59,
+lucinda_(baterco),4,59,
+lox_(artist),1,59,
+losian,4,59,
+loonanudes,1,59,"loona-queen-of-simps,loona-queen-of-simps_(artist),loona_queen_of_simps,loona_queen_of_simps_(artist),loonanudes_(artist),loonaqueenofsimps,loonaqueenofsimps_(artist)"
+looking_at_foot,0,59,
+living,5,59,
+linvar,4,59,
+light_underwear,0,59,
+licking_blood,0,59,
+lerchief2007,1,59,
+leon_(furry_force),4,59,
+lenses,0,59,
+lennonblack,1,59,
+leafrunnerk,1,59,
+latte_(whisperingfornothing),4,59,
+lates,1,59,lates312
+lasagna,0,59,
+larger_gynomorph/small_male,0,59,
+laiski,5,59,
+kusachi,1,59,
+kuro_murasaki,4,59,
+kubfu,5,59,
+kp-yoshi,1,59,
+kounfuyu,1,59,
+koc,3,59,
+kiro_(warcraft),4,59,
+kino_strife,4,59,
+kinkykeroro,1,59,
+kilver,1,59,
+kierstal,1,59,
+kasia_mikolajczyk,4,59,
+kaorh,4,59,
+kanekuo,1,59,
+kanaya_maryam,4,59,
+justtaylor,1,59,
+julia_autio,4,59,
+juindalo,1,59,
+joshi_raccoon,4,59,
+jeinsx,1,59,
+janrock,1,59,
+jak,4,59,
+iyumiblue,1,59,
+itskorrie,1,59,
+inunodaidokoro,1,59,
+inksgirls,1,59,
+incogneato,1,59,
+in_jar,0,59,
+in_doorway,0,59,
+implied_nudity,0,59,
+iguky-neky,1,59,"iguky,iguky-neky_(artist),nashtm"
+hoya82,1,59,
+horu,1,59,
+hooved_digitigrade,0,59,
+homebearstudio,1,59,
+holymeh,1,59,
+holding_bat,0,59,
+holding_apple,0,59,
+hizzacked,1,59,
+hiroyko,4,59,
+himme,1,59,
+hime_lolita,0,59,
+highs,0,59,
+highleg_leotard,0,59,
+high_heeled_sneakers,0,59,"high_heel_sneakers,sneaker_high_heels"
+hector_(blackmailz),4,59,
+heathecliff,1,59,
+head_lick,0,59,
+hattsy,1,59,anonymoushatter
+hand_on_another's_belly,0,59,
+hakati,4,59,
+hairtuss,1,59,
+hair_intakes,0,59,
+gylala_(artist),1,59,
+guitar_case,0,59,
+grriva,1,59,
+grey_teeth,0,59,gray_teeth
+green_toes,0,59,
+green_tail_feathers,0,59,
+great_pyrénées,5,59,"can_de_montana_de_os_perines,can_de_montaña_de_os_perinés,chien_de_montagne_des_pyrenees,chien_de_montagne_des_pyrénées,chien_des_pyrenees,chien_des_pyrénées,great_pyrenees,great_pyreness,montanes_del_pirineo,montañés_del_pirineo,patou_dog,perro_de_montana_de_los_pirineos,perro_de_montaña_de_los_pirineos,pyrenean_mountain_dog,pyrenees,pyrenees_mountain_dog"
+granolapunch,1,59,
+gourami,5,59,"gouramie,osphronemid,osphronemidae,polyacanthid,polyacanthidae"
+gorsha_(character),4,59,
+goldy_(golden.dragon),4,59,
+gold_the_tenrec,4,59,
+gold_glasses,0,59,
+goddess_of_madness,4,59,
+glowing_pupils,0,59,
+gegegenomin,1,59,
+geek_illustrations,1,59,
+galaxy_fight,3,59,
+galarian_zapdos,5,59,"galar_zapdos,zapdos_(galar),zapdos_(galar_form),zapdos_(galarian),zapdos_(galarian_form)"
+furry_breasts,0,59,
+friisans,1,59,
+fondling_penis,0,59,
+folvondusque,1,59,
+fluorite,1,59,
+flowerfondler,1,59,swizzle
+flamingtitania,1,59,
+flag_underwear,0,59,
+fishys1,1,59,
+finger_in_foreskin,0,59,
+finalroar,1,59,
+feraltwi,1,59,
+fecto_elfilis,4,59,
+fawn_deer,4,59,
+familiar,5,59,
+fake_fox_ears,0,59,
+eye_twitch,0,59,
+exposed_panties,0,59,
+everyone_else_has_had_more_sex_than_me,3,59,
+eriray076,1,59,
+eringi,1,59,
+enya_(littlemutt),4,59,
+emily_(disambiguation),6,59,emily
+eliza_(canisfidelis),4,59,
+eguchi_tumoru,1,59,
+egg_from_cloaca,0,59,
+edge_(mario_plus_rabbids),4,59,
+dynotaku,1,59,
+drednaw,5,59,
+drakkin,1,59,asphyyyy
+dragalge,5,59,
+dr_pepper,3,59,dr._pepper
+doolyboobieboy,1,59,
+doggonut,1,59,thisishomo
+dna,0,59,
+dirty_paws_(character),4,59,
+dilation_belt,0,59,
+dik-dik,5,59,"dikdik,madoqua"
+diamondhead,4,59,
+diamond_mind,4,59,
+deke,4,59,
+days_felter,4,59,
+dax_(dax1),4,59,
+dancer_of_the_boreal_valley,4,59,
+cum_on_sex_toy,0,59,
+crystal_empire,0,59,
+crystal_clarity,4,59,
+crushed_micros,0,59,
+crocface,1,59,
+cosmos,0,59,
+coriponer,1,59,
+confusedkitty,4,59,
+cock_breasts,0,59,
+clover_(happytimes),4,59,
+clawdia_dia,4,59,"clawdia_(fighting_foodons),clawdia_(foodon),clawdia_(foodons)"
+clawdeen_wolf,4,59,
+chris_hayabusa,4,59,
+chin_horn,0,59,chin_horns
+chicostyx,1,59,
+chick,5,59,
+chest_piercing,0,59,
+chatalie,4,59,
+cebron,4,59,
+catwalk,0,59,
+carcar,4,59,
+caffeinecanine,1,59,
+byowt,1,59,
+bymyside,1,59,
+bustingmangos,1,59,buster_(artist)
+bunting_(banner),0,59,
+bulging_(disambiguation),6,59,bulging
+brygida_(nightfaux),4,59,
+broken_wing,0,59,
+brewheardt,1,59,
+breast_groping,0,59,
+bray_(lucyfercomic),4,59,
+braided_fur,0,59,
+bonbon_(roommates),4,59,
+body_art,0,59,
+blush_symbol,0,59,
+bluob,1,59,
+blue_head,0,59,
+blue_eyelids,0,59,
+blowing_bubble,0,59,
+blott,4,59,
+blender_eevee,3,59,
+blaker,1,59,
+blake_(character),4,59,
+blade_kitten,3,59,
+black_mouth,0,59,
+bivalve_shell,0,59,clam_shell
+birdcheese,1,59,
+bindweed_(artist),1,59,
+bf_109_(hideki_kaneda),4,59,
+betta_(genus),5,59,
+benji_(bng),4,59,
+bengal_cat,5,59,
+begging_to_cum,0,59,
+beau_(luxurias),4,59,
+bean_(legume),0,59,"bean_(food),beans_(food),beans_(legume)"
+baron_montesque,1,59,
+bakudanarare,1,59,"pon-mai,pon_rice,ポン米"
+bagheera_(fursona),4,59,
+bael_thunderfist,4,59,
+baconatordeluxe,1,59,
+azura_racon_(fursona),4,59,
+avis_(matchaghost),4,59,
+autumn_deerling,5,59,
+astalos,5,59,raizex
+assembly_line,0,59,
+ashtalon,4,59,
+artofmander,1,59,
+arms_at_sides,0,59,
+arm_in_water,0,59,
+ares_(devilenby),4,59,
+aosion,1,59,
+ao_(pixiv_145813),1,59,
+ankle_socks,0,59,
+ancient_greece,0,59,
+amelia_(animal_crossing),4,59,
+amber_sclera,0,59,
+altertale,3,59,
+almasy,1,59,
+alice_detective_bureau,3,59,
+alfred_hadalen,4,59,
+alexalaz,1,59,
+akella,1,59,killedkella
+airam,4,59,
+after_footjob,0,59,
+adr,1,59,akaineko
+abigail_(peculiart),4,59,
+aas,1,59,
+a_dusty_wolf,1,59,
+30_minute_art_challenge,3,59,30minchallenge
+1_arm,0,59,
+zyneru_(character),4,58,
+zxc,1,58,
+zw3,1,58,
+zoey_(left_4_dead),4,58,
+zempy3,1,58,
+zelia_(lunaris_parukia),4,58,
+yuki_(disambiguation),4,58,yuki
+yanmega,5,58,
+yamiikarus,1,58,
+yami_(lunaris_parukia),4,58,
+xylerthewolf,1,58,
+xsrwe12,1,58,
+wrath_(kuroodod),4,58,
+woody_woodpecker,4,58,
+wolfikous,1,58,
+winter_hat,0,58,
+wildheit,1,58,
+white_fire_(character),4,58,
+whateverbender,1,58,
+weakcum,3,58,
+warrior_kittens,3,58,
+wailmer,5,58,
+vress_(character),4,58,
+volamont,1,58,
+virus_(noronori),4,58,
+violet_seren,4,58,
+vilani_(character),4,58,
+vertical_standing_split,0,58,
+vera_(viswey),4,58,
+usagi_tsukino,4,58,
+ura,1,58,
+upset_stomach,0,58,
+unity,1,58,
+ujike_shinobi,1,58,
+ugly_tortilla,1,58,
+ubaya,4,58,
+turmoil,4,58,
+tsudashie,1,58,
+transformed_clothing,0,58,
+tozol,5,58,
+tokemaru,1,58,
+toe_pads,0,58,
+toby_the_dobie,4,58,
+tobikara3,1,58,
+toasty,4,58,
+timberjack_(mlp),4,58,
+tiki_(fire_emblem),4,58,
+threaded_by_sex_toy,0,58,
+thq_nordic,3,58,
+thousand_yard_stare,0,58,
+thelordp_chan,1,58,
+the_thing_(organism),5,58,
+the_hunchback_of_notre_dame,3,58,
+testicular_rupture,0,58,
+teraurge,3,58,
+tat_(klonoa),4,58,
+taneem,4,58,
+taillow,5,58,
+tabletorgy,1,58,antiiheld
+syc,1,58,
+swanlullaby,1,58,
+suspendedpain,1,58,
+susan_long,4,58,
+sunstab,4,58,
+sugaryhotdog_(character),4,58,
+sugarblight,1,58,cannoncrasher
+succubus_gardevoir,4,58,
+subculture_pride_colors,0,58,
+stylized_speech_bubble,0,58,
+stroke,0,58,
+striped_leggings,0,58,
+stone_work,0,58,
+steven_magnet_(mlp),4,58,steven_magnet
+startop,1,58,
+star_wink,0,58,
+stallionslaughter,1,58,
+spritzee,5,58,
+spix's_macaw,5,58,"little_blue_macaw,spix_macaw,spixs_macaw"
+spewpa,5,58,
+spaceweasel2306,1,58,
+sourlemonade,1,58,
+soul-silver-dragon_(character),4,58,
+someity,4,58,
+sombra_(overwatch),4,58,
+soft_drink,0,58,
+snugundies,1,58,
+snow_fawn_poppy_(lol),4,58,
+slug_(justmegabenewell),4,58,
+slasheramaya,1,58,
+skunk_(skunk_fu),4,58,
+sirfox_(character),4,58,
+silvertongue,5,58,
+shots,0,58,
+shiro_(sewayaki_kitsune_no_senko-san),4,58,
+shieradevil,1,58,
+shaytalis,4,58,
+shao,4,58,
+shanys,4,58,
+shagaru_magala,5,58,
+shadowthedemon,4,58,
+shadowponi,1,58,
+sha_vida,4,58,
+sen_grisane_(character),4,58,
+sectoid,5,58,
+sebtheredpanda,1,58,
+seaside_(artist),1,58,
+seaman_hardy,4,58,
+scylla_(coc),4,58,scylla_(corruption_of_champions)
+scoreboard,0,58,
+sandy_(bcb),4,58,
+samodora1030,1,58,
+ryan_(muskie)_(auzzie),4,58,
+ruolina,1,58,
+ruby_rouge_(colt_quest),4,58,
+robotic_tongue,0,58,
+robin_(rodent_powered),4,58,
+rifthebit,1,58,
+rienkarrot,1,58,
+renamon_x,5,58,
+ren_(disambiguation),4,58,ren
+remy_(angels_with_scaly_wings),4,58,remy_(awsw)
+remwithpen,1,58,
+remi_(yeenbitez),4,58,
+reedflower,1,58,
+rdroid,1,58,rdroid_(artist)
+rayne_(sailoranna),4,58,
+rastaban_coal_(character),4,58,
+rape_play,0,58,
+rancidious,1,58,
+rail_transit,0,58,"rail_transport,rail_transportation,train_transit,train_transport,train_transportation"
+raiko_amani,4,58,
+rai_(wyntersun),4,58,
+rahir_(artist),1,58,
+quad_nipples,0,58,
+pussy_nipples,0,58,nipple_pussy
+purplecat,4,58,
+purple_vest,0,58,
+purple_bedding,0,58,
+prothean,5,58,
+prey_transfer,0,58,
+precum_in_ass,0,58,
+pleasuring_self,0,58,
+pleasure_island,0,58,
+pink_jewelry,0,58,
+picking_nose,0,58,"nose_pick,nose_picking"
+philtrum,0,58,
+perforating_wound,0,58,
+pepper_(vammzu),4,58,
+penny_fox,4,58,
+penis_in_navel,0,58,
+pazymomo,1,58,
+paw_socks,0,58,
+paulina_(thea_sisters),4,58,
+paomer,1,58,
+pander_(lostpander),4,58,
+pamphlet,0,58,
+pajama_bottoms,0,58,
+pacothegint,4,58,
+ose,4,58,
+origami,0,58,
+onyxcenturion,4,58,
+onetiredbear,1,58,
+one_ear,0,58,
+oinari-sama_(kemono_friends),4,58,
+offering_(disambiguation),6,58,offering
+nyusu_ut,1,58,ほーてん(ここあ)
+number_on_shirt,0,58,
+nuke,0,58,
+notama,1,58,のたま
+nope,3,58,nope.avi
+noodlewd,1,58,
+nomidot,1,58,
+nivanne,4,58,
+nitocris_(fate),4,58,
+nintendo_logo,0,58,
+nikisupostat,1,58,
+night_vision_goggles,0,58,
+night0wi,1,58,
+nidus_(warframe),4,58,
+neonlink,1,58,neonlinkart
+nendo,1,58,
+neck_scar,0,58,
+nayunata,1,58,
+nathan_(beatriz),4,58,
+mynka_(fursona),4,58,
+mymu666,1,58,
+musso,1,58,
+munieru,1,58,
+multicolored_eyebrows,0,58,
+mrjimmydafloof,1,58,
+mouthful,0,58,
+motsuko8,1,58,
+moonrick,1,58,
+monsterdongles,1,58,
+monster_girl_1000,3,58,
+mochimelted,1,58,
+mma,0,58,
+mix_(derideal),4,58,
+mishy,4,58,
+minhpupu,1,58,
+mightyraptor,1,58,
+mercedes-benz,3,58,mercedes_benz
+melina_(nekuzx),4,58,
+meg_megalodon,1,58,
+marvolk,1,58,
+marvel_vs._capcom,3,58,marvel_vs_capcom
+marijuana_blunt,0,58,
+marco_wakeman,4,58,
+marcelo_(aaron),4,58,
+mandarax,4,58,
+mallory_dunn,4,58,mallory_(ritts)
+makydeli_(artist),1,58,
+magic_weapon,0,58,
+magcargo,5,58,
+mag_(warframe),4,58,
+luvbites,3,58,
+lunch,0,58,
+lufty,1,58,
+lucareelo,1,58,
+lsd,0,58,
+lord_daruk,4,58,"daruk_(loz),daruk_(tloz),daruk_(zelda)"
+loquillo66,1,58,
+looma_red_wind,4,58,
+long_dildo,0,58,
+loneless-art,1,58,
+loki_(reizo),4,58,
+lira_(joaoppereiraus),4,58,
+lionclaw1,1,58,
+lighty_marteniz,4,58,
+light_tuft,0,58,
+lexy_(max_draws),4,58,
+lenny_face,3,58,
+lelnopem8,1,58,
+leglock,0,58,
+lechonk,5,58,
+layer_(artist),1,58,
+lava_pool,0,58,
+latex_bottomwear,0,58,
+laplus_darkness,4,58,
+lanolin_(sonic_the_hedgehog),4,58,
+lance_(weapon),0,58,
+labial_pit,0,58,
+kyouko_kasodani,4,58,kasodani_kyouko
+kutekittykatt,1,58,
+kururi_itachi,1,58,satomisato
+kurt_(braford),4,58,
+kuro_kemo28,1,58,
+kunstwaffe,1,58,
+kungfufreak07,1,58,andyourteeth
+kuhntee,4,58,
+kruze,4,58,
+kosmikophobia,1,58,
+korben_brandis,4,58,
+kontan_(yo-kai_watch),4,58,
+konomi_(uyu),4,58,
+kodigozoot,1,58,
+koba_(koba),4,58,
+koal_(koalcleaver),4,58,
+koakuma,4,58,
+kira_adelay,1,58,
+keel-billed_toucan,5,58,"keel_billed_toucan,rainbow-billed_toucan,rainbow_billed_toucan,sulfur-breasted_toucan,sulfur_breasted_toucan"
+kauko,4,58,
+kalo_division,4,58,
+kaj_(vaerinn),4,58,
+justsyl,1,58,
+juno_(nanodarkk),4,58,
+juandelcoyote.inc,1,58,"johnnythehusky,juan_del_coyote,juandelcoyote,juandelcoyote_inc,juandelcoyoteinc"
+johnny_bunny,4,58,
+jaw,0,58,
+jason_chan,1,58,
+jason_(mr5star),4,58,
+jamie_(klausd),4,58,
+jaiy,4,58,
+jadenarts,1,58,
+jack_(bargglesnatch-x1),4,58,
+izm_rm7,1,58,
+iop,5,58,
+inspector_arai,4,58,
+inkanyamba,4,58,
+iguanodontid,5,58,
+iginger,1,58,
+idrawgayboys,1,58,
+ichig8miruku_(artist),1,58,
+i_will_dance_only_if_the_beat_is_funky,1,58,
+hushabyevalley,1,58,petite-emi
+humbug_(artist),1,58,
+humbler,0,58,
+hoodie_stalker,1,58,
+holding_psp,0,58,
+holding_own_leash,0,58,
+holding_mouth,0,58,
+holding_elbow,0,58,
+holding_anal_beads,0,58,
+hilwu,4,58,
+hermitpioneer,1,58,
+helga_(urw),4,58,
+hebokun,1,58,
+harold_grifter,4,58,
+harley_(pixylbyte),4,58,
+hardmeow,1,58,
+haokan,1,58,
+hands_on_another's_shoulders,0,58,
+handles_on_shoulders,0,58,
+hand_on_own_forearm,0,58,
+hadronighini,1,58,
+hadmyway,1,58,
+gunpowdergreentea,1,58,
+gulpspooky,1,58,
+griffin_(awpdragon),4,58,
+grey_wall,0,58,gray_wall
+grey_kerchief,0,58,gray_kerchief
+grace_(sssonic2),4,58,
+gorgon_(zerofox),4,58,
+gordon_(pokefound),4,58,
+goldie_(smutbooru),4,58,
+gold_eyeshadow,0,58,
+gmarrascapache,1,58,
+glistening_chest,0,58,
+germ_(organism),5,58,
+generaldegeneracy,1,58,
+gaytor,5,58,
+gatoggy,1,58,
+galaxyboy,1,58,
+fury,0,58,
+frindle,1,58,
+freeda_(himynameisnobody),4,58,
+fozuna,1,58,
+forefinger,0,58,
+food_gag,0,58,
+flower_field,0,58,
+floral_shirt,0,58,
+flipaclip,3,58,
+first_aid,0,58,
+fire_emblem_three_houses,3,58,
+final_fantasy_vi,3,58,
+fill,4,58,
+file_cabinet,0,58,
+ferrari,3,58,
+female_fingering_female,0,58,
+febzhyena_(kitchiki),4,58,
+fast,0,58,
+fashionable_style_gardevoir,4,58,
+fanmon,0,58,
+fake_anna,1,58,
+failure_to_withdraw,0,58,
+fableiii,1,58,
+eyecandy,1,58,
+expression_meme,0,58,
+etchpony,1,58,
+eraclea,4,58,
+enreeu,4,58,
+emetophilia,0,58,"emetophile,puke_fetish,puking_fetish,vomit_fetish,vomiting_fetish"
+email,0,58,
+elvenbiker,1,58,
+elnora_magner,4,58,
+dustine,4,58,
+duolingo,3,58,
+dtrreuaem,1,58,
+dryden_teichmann,4,58,
+drumstick_(musical),0,58,
+drowsy,0,58,
+draigy,3,58,
+dractaco,4,58,
+draco-canine,1,58,
+donald_trump,4,58,
+docfurpanic,1,58,
+disappearing_inside,0,58,
+dio_brando,4,58,
+dimidiummorsumbra,1,58,halfdeathshadow
+dian_(jewelpet),4,58,"dian_(jewel_pet),obsidian_(jewel_pet),obsidian_(jewelpet)"
+desir,1,58,
+delicious_in_dungeon,3,58,dungeon_meshi
+deep_one_(h.p._lovecraft),5,58,
+deal_with_it,3,58,
+dave_(notkastar),4,58,
+darryl,4,58,
+danielle_o'hare_(akiric),4,58,
+dandruff,0,58,
+dallas_(101_dalmatians),4,58,
+cytrusawa,1,58,
+cum_on_legwear,0,58,
+cum_feeding,0,58,
+crested_penguin,5,58,
+corganda,1,58,
+control_panel,0,58,
+consensual_transformation,0,58,willing_transformation
+condom_gagging,0,58,
+collaborative_tail_heart,0,58,
+code,0,58,
+cock_limbs,0,58,
+chrome,0,58,
+chloroform,0,58,
+chiropteran_penis,0,58,
+chiro_ookami,1,58,chiroookami
+chinchira_(pixiv13404505),1,58,
+chikkibug,1,58,"chikkbug,queenchikkbug"
+chiji,1,58,
+chicken_nugget,0,58,chicken_nuggets
+chi_chi,4,58,
+chester_cheetah,4,58,
+cheri's_dad_(atrolux),4,58,
+checkered_flag,0,58,
+chardonnay_romancia,3,58,
+chandra_(abluedeer),4,58,
+ceratosaurid,5,58,
+censored_anus,0,58,
+celestial_star_polygon,0,58,
+caviaporcellus27,1,58,
+cattanooga_cats,3,58,
+caster_queen_of_sheba,4,58,"caster_(fate/grand_order_-_queen_of_sheba),caster_(fate/grand_order_queen_of_sheba),caster_(fate_grand_order_-_queen_of_sheba),caster_(fate_grand_order_queen_of_sheba)"
+cass_(simplifypm),4,58,
+carly_bear,4,58,
+carli_chinchilla,4,58,
+caressing_balls,0,58,
+carcharodontosaurus,5,58,
+calua_napage,4,58,
+cabbage,0,58,
+c4d,0,58,
+bush_viper,5,58,atheris
+buckold,0,58,
+brown_tail_(artist),1,58,
+brown_back,0,58,
+bravest_warriors,3,58,
+boxer_(dog),5,58,"boxer_(species),deutscher_boxer,german_boxer"
+borushi,1,58,
+bombay_(artist),1,58,
+bomani_(stitchy626),4,58,
+bofonw,1,58,
+blue_headband,0,58,
+blue_beard,0,58,
+blue-footed_booby,5,58,blue_footed_booby
+bludermaus_(character),4,58,
+blowing_bubbles,0,58,
+blooregard,4,58,
+black_nail_polish,0,58,
+billybaphomet,1,58,
+bestfriendforever,1,58,
+bentina_beakley,4,58,"mrs._beakley,mrs_beakley"
+benny_(kibaru),4,58,
+beagle_boys,4,58,
+bayard_zylos,4,58,
+batmanholecover,1,58,
+barutan,1,58,"baltan_(artist),vartan,バルタン"
+baker_(kokuhane),4,58,
+bailey_(honeyboyy),4,58,
+bael_(tas),4,58,
+badrainbow,1,58,
+backrub,0,58,back_rub
+background_text,0,58,
+babslechat,1,58,
+azu_cacti,4,58,
+avio_(avioylin),4,58,
+aurora_(lufty),4,58,
+atsuko_(sheela),4,58,
+aternoir,1,58,
+atendedordeboludos,1,58,
+ashleyorange,1,58,
+ashley_brooks,4,58,
+ashesg,1,58,
+ash-greninja,4,58,ash_greninja
+arcticfrigidfrostfox,1,58,
+aramet,1,58,
+arai,4,58,
+apprehensive,0,58,
+appaloosa,5,58,
+annie_(theredhare_and_demicoeur),4,58,
+annie_(pup-hime),4,58,
+animated_sparkles,0,58,
+andy_(roxie),4,58,
+andrewhitebunny,1,58,
+anatomically_correct_cloaca,0,58,
+anal_threesome,0,58,
+an_ancient,1,58,
+ameizinglewds,1,58,
+alphaafterdark,4,58,
+alpha_(disambiguation),6,58,alpha
+aliensymbol,1,58,
+afterglow_ampharos,1,58,sparkzthecabbit
+adrim,1,58,
+adoption,0,58,
+ada_(liebro),4,58,
+acah_orange,1,58,"tiger.a,阿川阿虎"
+absorbtion,0,58,
+39:18,7,58,19.5:9
+1trick,1,58,1trickpone
+zyneru,1,57,
+zupat,1,57,
+zozo_bernada,4,57,
+zoomerboomerz,1,57,zoomboomerz
+ziats,1,57,
+zero_(mega_man),4,57,
+zelenyy,4,57,
+zead_(artist),1,57,
+zavi-chan,1,57,
+zara_(dalwart),4,57,
+zaphod,1,57,
+yuumin148,1,57,
+yuumei,1,57,
+yunu38,1,57,
+yukusasu,1,57,
+yoriko,4,57,
+ying,4,57,
+yellowhellion,1,57,
+yellow_thigh_highs,0,57,
+yellow_fingernails,0,57,
+yawning_position,0,57,
+yakoalyarin,1,57,
+xxmidknightxx,1,57,
+xscar10,1,57,
+xkax,1,57,
+wunderknodel,1,57,
+writing_on_tail,0,57,
+woren,5,57,
+wolfluffyfly,1,57,
+witch_doctor,0,57,
+winterbalg,1,57,andraste
+windigo_(mlp),5,57,
+white_latex,0,57,
+whismur,5,57,
+we're_back!_a_dinosaur's_story,3,57,
+warr,1,57,
+wandering_lizardfolk,1,57,
+vulpessentia,1,57,
+vulkin,4,57,
+volbeat,5,57,
+vodka_kovalevski,4,57,
+vntn,1,57,
+vixvixart,1,57,
+vinyl_record,0,57,
+vevosonian,5,57,
+veryfluffy,1,57,
+veronika_zebra,4,57,
+valentinapaz,1,57,blekarotva
+vacuum_penis,0,57,
+vaal_hazak,5,57,
+usagiwithglasses,1,57,
+unknown_colorist,1,57,unknown_colourist
+unitypressdigital,3,57,
+unfinishedheckery,1,57,
+two_tone_t-shirt,0,57,
+two_tone_fingers,0,57,
+twilightstormshi,1,57,
+turntable_(record_player),0,57,
+turkojar,1,57,
+tuna,5,57,
+trail_arnak,1,57,
+touching_thighs,0,57,
+touching_pussy,0,57,
+tossing,0,57,
+toriko_(series),3,57,
+tipsycanvas,1,57,
+tight_legwear,0,57,
+tiger_taur,5,57,tigertaur
+thwillartz,1,57,
+theroflcoptr,1,57,
+thefreckleden,1,57,
+thefemininesangheili,1,57,
+thedeadtimezone,1,57,
+the_shining,3,57,"stephen_king's_the_shining,stephen_kings_the_shining"
+the_backrooms,3,57,
+tender_taps_(mlp),4,57,
+ten_frame_image,0,57,
+telkop,4,57,
+tekra_uncia,4,57,tekra_(dreamkeepers)
+tawney,4,57,
+taurus_mask,4,57,
+tattooification,0,57,
+tanya_(character),4,57,
+tania_marovitch,4,57,
+tallulah_(tantrum),4,57,
+talehnyan,5,57,
+takeru_takaishi,4,57,
+tail_around_arm,0,57,
+tabletop_game,0,57,
+tabitha_(finir),4,57,
+syndey,4,57,
+swingset,0,57,
+swag,0,57,
+sveemon,1,57,
+suumunster,1,57,
+sunkern,5,57,
+sucy,4,57,
+striped_exoskeleton,0,57,
+straw_(cstrawrun),4,57,
+stephen_(sisco),4,57,
+stardragon_(species),5,57,
+standing_on_toes,0,57,
+spurr,1,57,
+spork321,1,57,
+spool,0,57,
+spike_the_furry,1,57,
+spacebunz,3,57,
+sonicboom30813,1,57,
+somniferous,1,57,
+snowyzi,1,57,
+snowsnow11,1,57,
+snowscape,0,57,
+snapback_hat,0,57,snapback
+snaketeeth12,1,57,
+smpthehedgehog,1,57,
+smewed,1,57,
+slitzerikai,4,57,
+slice,0,57,
+skoogers,1,57,slothmonster
+skinning,0,57,
+sitting_on_knees,0,57,
+sisco_(artist),1,57,
+sirbossy1,1,57,
+silvaentys,4,57,
+shou_toramaru,4,57,toramaru_shou
+short_penis,0,57,
+shiredo,1,57,
+shenanigans,1,57,
+sharkie,4,57,
+shai_dreamcast,4,57,
+sexybigears69,1,57,
+sex_inside,0,57,
+serenity_(whitefeather0),4,57,
+septum,0,57,
+sephrendemon,1,57,
+selianth_(character),4,57,
+scritches,0,57,"scritching,skritches"
+score,0,57,
+scarlet_svobodova,4,57,
+satiro,4,57,
+sapphire_lareme_(battler),4,57,
+sanyo2100,1,57,
+samsung,3,57,
+sam_(ashnar),4,57,
+sal-sal,1,57,
+saintdraconis,1,57,
+safe_vore,0,57,
+runicnature,1,57,"limizuki,limizukistudios"
+rudolph_holiday,4,57,rudy_holiday
+ruby_doulton,4,57,
+ruby_(kadath),4,57,
+rubber_chicken,0,57,
+route9,1,57,
+rose_(natsunomeryu),4,57,
+romancruzzz,1,57,
+rockyrcoon,1,57,
+river_lakes,4,57,
+ribbontail_(character),4,57,
+reva,4,57,
+reo_grand,1,57,reodemondays
+redo_(artist),1,57,
+red_tail_feathers,0,57,
+red_seam_briefs,0,57,
+red_mage,4,57,
+rebecca_cyrus,4,57,
+ray_doug,4,57,
+rasha_(kuromaki),4,57,
+raik_(glacierponi),4,57,
+raihi_(shining),4,57,
+radaq,1,57,
+rabbit_fursuit,0,57,
+queenie_(hashu),4,57,
+pussycat_(o-kemono),4,57,
+purple_heart,0,57,
+purple_canid_(hane),4,57,
+punisa,1,57,
+psychosocial,1,57,
+proserpine,1,57,
+prnbillion,1,57,
+priincessu,1,57,
+portia_(bittenhard),4,57,
+popsicle_in_mouth,0,57,
+ponlets,1,57,
+pogo,3,57,
+pinkanimations,1,57,
+pilosan_humanoid,5,57,
+pec_milking,0,57,
+peachymewtwo,1,57,
+parade,0,57,
+pankanchan,1,57,
+panic-panic,4,57,
+pandora_(weaver),4,57,
+p.v.su,1,57,
+owen_(amadose),4,57,
+overlay,0,57,
+oro_uinku,4,57,
+orangeflyingfox,1,57,
+opium5,1,57,
+onigrift,1,57,
+onae,1,57,
+oliver_baaple,4,57,
+oh_so_hero!,3,57,oh_so_hero
+oddbutokay,1,57,
+nzuuure,1,57,
+nyanlathotep_(sucker_for_love),4,57,
+nostrills,0,57,
+noodle_(domovoi_lazaroth),4,57,
+non-humanoid_creature,0,57,
+nolaf,1,57,
+noko_ume,1,57,
+noet,1,57,skelebee
+ninnasaurio,1,57,
+nightmareroa,1,57,
+nibinoylin,1,57,
+nele_chung,1,57,
+nathan_adams,4,57,keita_amano
+name_in_message,0,57,
+nail_(weapon),0,57,
+nahyon,1,57,
+muramasa:_the_demon_blade,3,57,
+multiple_(disambiguation),6,57,"multiple,multiple_(disabiguation)"
+mrxrayfire,1,57,
+moxaji,1,57,
+mottled_nipples,0,57,"mottle_nipple,mottle_nipples,mottled_nipple"
+moriguru,1,57,
+monstar_(space_jam),5,57,
+monochromepup,1,57,
+molly_(bcb),4,57,
+moki_(species),5,57,
+mob_rat_(mad_rat_dead),4,57,
+miss_pearl,4,57,
+minor_wound,0,57,
+minerea_(pinkdragonlove),4,57,
+milk_(miu),4,57,
+mike_(voidlesky),4,57,
+mii,5,57,
+midgardsormr_(dragalia_lost),4,57,
+microscope,0,57,
+meemee,4,57,
+meanybeany,1,57,
+maylene_(pokemon),4,57,maylene_(pokémon)
+mattythemouse,1,57,"matthew_the_mouse,matthewthemouse"
+matchesyashi,1,57,
+master_buns,4,57,
+marshbreeze,1,57,
+marmot,5,57,
+mark_beaks,4,57,
+maria_(slickerwolf),4,57,
+maple_(animal_crossing),4,57,
+maomi_(doomdutch),4,57,
+mangakitsune2,1,57,
+mamimi_(artist),1,57,
+makutatsuki,1,57,
+macroceli_(artist),1,57,
+maccao,5,57,"great_maccao,great_maccau,maccau"
+maam,4,57,
+m7,1,57,
+lyle_(animal_crossing),4,57,
+lunarspy,1,57,
+lunarpanda8686,1,57,
+luga_(ut134567),4,57,
+ludroth,5,57,
+lucy_(jcdr),4,57,
+loulouvz,1,57,
+lornsky,1,57,
+lorekeeper_zinnia,4,57,"zinnia_(pokemon),zinnia_(pokémon)"
+loose_belt,0,57,
+loonyellie,1,57,
+lockjawsfm,1,57,
+loafsfm,1,57,
+lizard-man,4,57,
+little_bear,3,57,
+lily_(ralenfox),4,57,
+lilith_(glasswalker),4,57,
+lilandy,1,57,
+lifejoyart,1,57,
+lewdyroom,1,57,
+lesterhusky,4,57,
+leon_kennedy_(resident_evil),4,57,
+legend_of_krystal,3,57,
+lavender,4,57,
+lavabath,1,57,
+lanoya_(artist),1,57,
+kwaza_(ozawk),4,57,
+kotenokgaff,1,57,
+kolossal,1,57,
+kitsune-kajiru,1,57,
+kinoko,1,57,
+king_cobra,5,57,"hamadryad_snake,ophiophagus"
+kincaid,4,57,
+kin-cishepholf,1,57,
+kicks_(kicks),4,57,
+kemonokun,1,57,
+keavemind,1,57,kapu-official
+kawarage_yatano,1,57,
+katiedragonart,1,57,senpaimisskitty
+kat,4,57,
+kanrod_stavoyan,1,57,
+kan,4,57,
+kalumiya,4,57,
+kalianne,4,57,
+kalemendrax,4,57,
+kakuheiki,1,57,
+jumajumi25d,1,57,じゅまじゅま
+john_(bunybunyboi),4,57,
+jinpei_shinooka,4,57,
+jenery,1,57,
+jazminbunni,4,57,
+jamba,3,57,
+jakthedrox,1,57,
+jade_shine,4,57,
+jackira,1,57,
+jackie_(nitw),4,57,
+ivy_sundew,4,57,
+isla_aukate,3,57,
+involuntary_cowgirl,0,57,
+interface,0,57,
+imprisonment,0,57,
+how-did-we-get-here,1,57,
+horseback,0,57,
+hope_(chalo),4,57,
+honey_cum,0,57,
+holding_list,0,57,
+holding_carton,0,57,
+holdem,4,57,
+helium_tank,0,57,
+heartbroken,0,57,
+headbanging,0,57,
+haswell,4,57,
+harsh-mallowz,1,57,
+handrail,0,57,
+hand_on_forehead,0,57,
+hailey_(kittyprint),4,57,hailey_(nightshade89)
+habatakuhituji,1,57,
+grey_(character),4,57,
+green_chest,0,57,
+grand_theft_auto_v,3,57,"grand_theft_auto_5,gta5,gta_5,gta_v,gtav"
+gooborg,5,57,
+gold_hooves,0,57,golden_hooves
+gold_ear_ring,0,57,
+glowing_paws,0,57,
+gloria_(happy_feet),4,57,
+glistening_swimwear,0,57,"glistening_swim_suit,glistening_swim_wear,glistening_swimming_suit,glistening_swimsuit,shiny_swim_suit,shiny_swim_wear,shiny_swimming_suit,shiny_swimsuit,shiny_swimwear"
+girokemo,1,57,girorin
+girls_und_panzer,3,57,
+gill_play,0,57,
+giidenuts,1,57,
+general_grievous,4,57,
+gauge_(character),4,57,
+gardeaalgedo,1,57,
+garbendatu,4,57,
+gammachaos,1,57,ガンマカオス
+gabu2929,1,57,
+fused_toes,0,57,
+front_gap_briefs,0,57,
+frogela,4,57,
+forfun41,1,57,
+foot_domination,0,57,
+fluffolio,1,57,
+flufflewdzthings,1,57,
+floaty,0,57,
+fleety_(artist),1,57,
+fishnet_bikini,0,57,
+fazbear's_fright,0,57,
+farran_height_(oc),4,57,
+fang_(primal),4,57,
+facesitting_in_underwear,0,57,
+face_between_breasts,0,57,
+eyebrow_wiggle,0,57,
+extra-vertebrae,1,57,
+exploring,0,57,
+etemon,5,57,
+eric_dream_everyotherheart,1,57,
+eraanthe,1,57,
+equine_dicknipples,0,57,
+equation,0,57,
+enotou_moi,1,57,
+emeraldwing,1,57,
+dyna_soar,1,57,
+duke_(nightterror),4,57,
+drnx,1,57,
+dregadude,1,57,
+dream_breaker,1,57,
+drawing_in_a_drawing,0,57,
+drakonst,1,57,
+dracokaito,1,57,
+donut_pool_toy,0,57,
+donner,4,57,
+donation_drive,0,57,
+dogmanart,1,57,
+dog_pile,0,57,dogpile
+doctor_ark,1,57,
+dj-black-n-white,1,57,
+displeased,0,57,
+disembodied_tail,0,57,
+diavololo,1,57,
+devour1129,1,57,
+destiny_(101_dalmatians),4,57,
+deltadrawz,1,57,
+debukemo,0,57,"debu-kemo,debu_kemo,fat_kemono"
+deathlyfurry,1,57,
+deadro,1,57,
+dcat07,1,57,
+dazen_cobalt,1,57,
+darkwolf_(darkwolfdemon),4,57,
+daniel_(ratte),4,57,
+daniel156161_(character),4,57,
+cyana_(code-blocker),4,57,
+curvy_body,0,57,
+cum_spray,0,57,
+cum_on_desk,0,57,
+crybringer,1,57,jason_robinson
+cross_samax,1,57,
+cristalavi,1,57,
+crew_(dippubear),4,57,
+creatures_of_sonaria,3,57,
+creative_flair,4,57,
+crazy_water,1,57,
+covering_ears,0,57,
+cotorita,4,57,
+copinlighter,1,57,
+console-tan,3,57,
+condom_in_ass,0,57,
+collaborative_licking,0,57,
+coin_purse,0,57,
+cocco,1,57,
+clara_(canisfidelis),4,57,
+chonmage,0,57,
+cheddarcat,1,57,
+charcoal_inpachi,1,57,
+chalk_(oc),4,57,
+catapult_beetle,1,57,
+candyxxxcorpse,1,57,
+butts_everywhere,0,57,
+bulge_(sound_effect),0,57,
+build_tiger_(character),4,57,
+bucky_boy,1,57,
+bruh,0,57,
+brown_hoodie,0,57,
+brenda_sawruss,4,57,
+brazier,0,57,
+boris_the_friendly_wolf,4,57,boris_the_wolf
+bombshell_(nitw),4,57,
+body_wraps,0,57,
+body_search,0,57,
+bo_staff,0,57,
+blue_blanket,0,57,
+blue_bikini_top,0,57,
+bloodhound_omega,1,57,"art_of_ileyeah,bloodhound-omega,bloodhound-omega_(artist),bloodhound_omega_(artist),bloodhoundomega,bloodhoundomega_(artist)"
+black_sky,0,57,
+bit-bite,1,57,
+bikini_theft,0,57,
+between_pecs,0,57,
+belly_on_ground,0,57,
+beer_cock,1,57,
+batt_the_bat,4,57,
+barre,0,57,ballet_barre
+baron_humbert_von_gikkingen,4,57,
+balu_blackcat,4,57,
+b.koal,1,57,
+ayken,4,57,
+axentooth,1,57,
+asterion_(minotaur_hotel),4,57,
+ashfur_(warriors),4,57,
+aryll,4,57,
+arctic_fox_masseuse_(zootopia),4,57,
+ankle_markings,0,57,"ankle_marking,ankles_marking,ankles_markings"
+angelina_onyx,4,57,
+amyth_(character),4,57,
+alphasabre,1,57,daxx0r
+alix_(dsc85),4,57,
+alipse,1,57,
+alef_(shining),4,57,
+albinoturtle,1,57,
+aladar_(character),4,57,
+akira_(film),3,57,
+aida_(jagon),4,57,
+aesyr,1,57,
+adolf_hitler,4,57,"adolph_hitler,hitler"
+addiction,0,57,
+ace_bunny,4,57,
+abruptus,1,57,
+=,0,57,
+360_fov,7,57,"360_degrees,360_image"
+1992,7,57,
+zwijgen,1,56,zebrapie
+zuri_(duskthebatpack),4,56,
+zeta_(zeraora),4,56,
+zero_(redimplight),4,56,
+zerauskii,1,56,
+zcomic,1,56,
+zavyn,1,56,
+yugo,4,56,
+yosuke_hanamura,4,56,
+yenocwolf,1,56,
+yellow_ribbon,0,56,
+yay_(milkytiger1145),4,56,
+yata,1,56,
+yamashiro_(azur_lane),4,56,
+yamame513,1,56,
+xxsnake_spiderxx,1,56,
+xx-junglebeatz-xx,1,56,
+xinaelle,1,56,
+wwe,3,56,
+wool_hair,0,56,
+wolfy-nail_(character),4,56,
+wind_chime,0,56,
+wide_tail,0,56,
+wide_smile,0,56,
+white_straitjacket,0,56,
+wearing_sunglasses,0,56,
+walt_disney_world,3,56,"disney_world,walt_disney_world_resort,wdw"
+violabossanova,1,56,
+vincentdraws,1,56,
+verkele,1,56,
+venus_(djpuppeh),4,56,
+vance_(zephyrnok),4,56,
+valve_nipple,0,56,
+valerie_(diddlier),4,56,
+vaginal_threading,0,56,
+utonagan,5,56,utonagan_dog
+ursula_(disney),4,56,
+urine_on_pussy,0,56,
+urethral_oviposition,0,56,
+unit_04,4,56,
+tyne_(yaudizz),4,56,
+two_tone_toes,0,56,
+two_tone_bra,0,56,
+tulip_(rthc),4,56,
+trisha_fox_(zzx),4,56,
+triangle_mouth,0,56,
+transformice,3,56,
+totatetta,1,56,
+toonsexual,1,56,
+tom_(animal_crossing),4,56,
+tobicakes,1,56,
+time_gear,0,56,
+timberwolfmax,1,56,
+tiki,0,56,
+thunt,1,56,
+thug,0,56,
+three_rings,3,56,
+thicc_bug_(impishhyena),4,56,
+theyamori,1,56,
+thenaysayer34,1,56,
+the_super_mario_bros_movie,3,56,
+the_adventures_of_kincaid,3,56,
+thaylen,4,56,
+tezcatl-ayauhtli,1,56,
+texas,0,56,
+teta,1,56,
+tehstupidbug,1,56,
+teasfox,1,56,
+tass_(tassy),4,56,
+taski,1,56,
+tarantula_taur,5,56,
+tanukiruno,4,56,
+taneysha,1,56,
+takipsilim,1,56,
+take_tsugu_roh,1,56,
+tail_covering_crotch,0,56,
+taichi_kabasawa_(odd_taxi),4,56,
+taco_bell,3,56,
+tabby_(dark441),4,56,
+syrae-universe,1,56,
+swiftriff,1,56,
+sweetlemondragon,1,56,
+sweetchu,4,56,
+suzu_(sub-res),4,56,
+surskit,5,56,
+surf,0,56,
+sunny_(lucentleader),4,56,
+stylish_apollo,1,56,
+strain,0,56,
+story_of_the_blanks,3,56,
+sticki_bun,1,56,
+steam_locomotive,0,56,
+stated_currency_amount,0,56,
+star_nai,4,56,
+stapler,0,56,
+stallorde,1,56,
+srmko,1,56,
+sports_car,0,56,
+speedy_cerviche,4,56,
+spacesmilodon,1,56,
+solosandwich,1,56,
+soda_cup,0,56,
+sockodrawing,1,56,
+so_close_yet_so_far,0,56,
+snowlik3,1,56,
+smash_ball,0,56,
+slightly_chubby_gynomorph,0,56,
+sleep_paralysis_demon,5,56,
+skylanders_academy,3,56,
+skyhorn's_adventures,3,56,
+sky_(sky),4,56,
+skunkwerks,1,56,
+skipper,4,56,
+skinbark,1,56,
+sketchkat,1,56,
+skellertom,1,56,
+skeleito,1,56,
+skanita_drake,4,56,
+sirfox,1,56,
+sir_hiss,4,56,
+sion_(artist),1,56,
+sin_(varanis_ridari),4,56,
+simonsbathtub,1,56,
+silver_earring,0,56,
+silver_(pokémon),4,56,silver_(pokemon)
+siamese_fighting_fish,5,56,"beta_fish,betta,betta_fish"
+shredder_(machine),0,56,
+shirt_around_waist,0,56,
+shimmy_shake_(mlp),4,56,
+shii_(2channel),4,56,
+shane_(lafontaine),4,56,
+shaggy_fur,0,56,
+sewaddle,5,56,
+sentientsocks,1,56,
+senos,1,56,
+sefuart,1,56,"speeh,speh"
+seattle_seahawks,3,56,
+scuba_tank,0,56,
+scott_ruggels,1,56,
+savannah_horrocks,1,56,savannahhorrocks
+saucycorner,1,56,
+sasha_phyronix,4,56,sasha_phyronyx
+sasha_(ashnar),4,56,
+sarah_(twokinds),4,56,
+sango_(jewelpet),4,56,"coral_(jewel_pet),coral_(jewelpet),sango_(jewel_pet)"
+sandygast,5,56,
+sand_fur,0,56,
+saberon,5,56,
+saberjackal,1,56,
+s1nnerfox,1,56,
+russ,4,56,
+ruka_landberg,4,56,
+ruby_(the_land_before_time),4,56,"responsible_ruby,ruby_(land_before_time),ruby_(lbt),ruby_(tlbt)"
+ruby_(ghostth39),4,56,
+rongs1234,1,56,rings1234
+roger_bacon,1,56,
+robyn_goodfellowe,4,56,
+robotic_limb,0,56,
+roadhead,0,56,
+rizapiska,1,56,
+rissy,4,56,
+ripparu,1,56,
+ring_vibrator,0,56,
+rimestar,1,56,
+rigel_(1stsavagery),4,56,
+ribbon_(kirby),4,56,
+reverse_rusty_trombone,0,56,
+retrospecter_(character),4,56,
+retro_future,1,56,
+reshsfm,1,56,
+red_husky,5,56,
+ray_gun,0,56,
+raven_beak,4,56,
+rangetsu_(onmyou_taisenki),4,56,byakko_no_rangetsu
+rane_(fluff-kevlar),4,56,
+radiant_scar,1,56,
+racing_suit,0,56,
+rabbit_(parasitedeath),4,56,
+quangdoann,1,56,
+pussy_juice_on_viewer,0,56,
+purple_pikmin,5,56,
+purple_arm_warmers,0,56,
+psykrow_darcy,4,56,
+prophet,1,56,
+professor_virginia_burret,4,56,
+probe,0,56,
+pride_color_patch,0,56,
+prettypinkpony,1,56,prettypinkp0ny
+precum_from_penis,0,56,
+polka_dot_bikini,0,56,
+pole_between_breasts,0,56,
+polarissketches,1,56,
+pokémon_card,0,56,
+pokuytred,1,56,"hoaxer-ge,歧翼怪客"
+pointy_nipples,0,56,
+plum_(fruit),0,56,
+plug_gag,0,56,
+planted_weapon,0,56,
+planet_vore,0,56,
+plain_white,1,56,plainwhite
+pirate-cashoo,1,56,"zombiebooty,zombiepirate"
+pinstripe_potoroo,4,56,
+pink_rope,0,56,
+pink_crop_top,0,56,
+pines_(panzery25),4,56,
+piloswine,5,56,
+piggyfront,0,56,
+pengu_(ratld),4,56,
+pembroke_welsh_corgi,5,56,
+pandora_(doug_winger),4,56,
+pandemonica_(helltaker),4,56,
+palming,0,56,
+pacmancorp,1,56,mayeskii
+otama_(character),4,56,
+open_kimono,0,56,
+onigiriad,1,56,
+object_swing,0,56,
+nyxondyx,1,56,
+nuka,4,56,
+nude_hiking,0,56,
+nose_bandage,0,56,
+nightargen,1,56,
+nick300,1,56,
+news_reporter,0,56,"news_anchor,news_caster,newscaster"
+neungsonie,1,56,
+neoxx,4,56,
+necro,1,56,
+nautilus,5,56,"nautilaceae,nautilid,nautilida,nautiloid,nautiloidea,nautiloidean"
+nate_(nate17),4,56,
+nai-chan,1,56,nai_chan
+naerie,4,56,
+n64_cartridge,0,56,
+n2o,1,56,
+n0nd3scr1pt,1,56,
+mythological_basilisk,5,56,"basilisk_(mythological),basilisk_(mythology),basilisk_mythological,basiliskus"
+myris_(odin_sphere),4,56,
+multicolored_eyewear,0,56,
+mucdraco,1,56,
+mtmnkmn,1,56,
+mrponeswildride,1,56,
+mr.guinea_pig,1,56,
+mother-in-law,0,56,"mother_in_law,mother_inlaw"
+morningbread16,1,56,
+monotone_glasses,0,56,
+monkey_ears,0,56,
+momo_92698,1,56,
+molotov_cocktail,0,56,
+molly_(max_draws),4,56,
+mistyrdis,1,56,
+mishiranui-san,1,56,hosendamaru
+might_and_magic,3,56,
+metalforever,1,56,
+metal_container,0,56,
+melissara,4,56,
+melfuria,4,56,
+me-mow,4,56,
+manna-mint,4,56,
+male_birth,0,56,
+mahoxy,1,56,
+maeworl,1,56,
+madkuzya,1,56,
+macuahuitl,0,56,
+lust_penis,3,56,
+lumihanta,1,56,
+lucy_(frmcast351),4,56,
+lucky_(google),4,56,
+lucinda_bullworth_jackson,4,56,
+lotte_(munks),4,56,
+lorelei_(chromefox),4,56,
+long_term_chastity,0,56,
+long_boots,0,56,
+little_mouser,5,56,
+lisa_the_painful,3,56,"lisa:_the_painful,lisa:_the_painful_rpg,lisa_(game),lisa_the_painful_rpg"
+lip_scar,0,56,
+lin_(abluedeer),4,56,
+lily_(disambiguation),4,56,lily
+lili,4,56,
+likunea,1,56,
+licking_tongue,0,56,
+lewd_can,1,56,
+levidos,1,56,
+lettuceoncat,1,56,
+leashed_female,0,56,
+leadhooves,1,56,
+lawyer,0,56,
+latex_skinsuit,0,56,
+latex_hood,0,56,
+lakota_lander,4,56,
+kyubicat,1,56,killkatt
+kyrii,5,56,
+kyra_gruson,4,56,
+kyle_(she-ra),4,56,
+kuttoyaki,1,56,kinniro
+kusanali_(genshin_impact),4,56,
+kurokawasudou,1,56,"fhedge,sudo_kurokawa"
+kunemon_(survive),4,56,
+kraven-gothly,1,56,
+krasnya,4,56,krasnyakoiot
+knest,1,56,
+kiwi_hugh,1,56,
+kiu-wot,1,56,
+kittbites,1,56,
+kimono_only,0,56,
+kimirera,1,56,
+kiki_(animal_crossing),4,56,
+khanyvor,1,56,"spacecarnival,zhaobart"
+kestenan_(artist),1,56,
+kenku,5,56,
+keaton,5,56,
+katlovesshrimp,1,56,
+katara,4,56,
+jolo,1,56,
+johnny_bravo,4,56,
+johan_(wrinklynewt),4,56,
+joel_(fiaskers),4,56,
+jinbei_(clothing),0,56,
+jerome_baker,4,56,
+jerked_silly,0,56,
+jennifer_white,4,56,
+javisylveon_(mintyspirit),4,56,
+jathiros,4,56,
+iyhuh7vxmhdc9ht,1,56,
+ivy_trellis,3,56,
+iron_bull,4,56,
+intricatevision,1,56,
+infinityplus1,1,56,
+infinity_gauntlet,0,56,
+in_comic_sequence,0,56,
+icy_(character),4,56,
+icaron,1,56,
+ibuki_haruno,1,56,
+i_ship_it_real_hard,1,56,
+hyper_insertion,0,56,
+hybridprojectalpha,1,56,
+host,0,56,
+horny_bat,0,56,
+homedick_shimmer,4,56,
+holt5,1,56,
+holding_cake,0,56,
+highleg_panties,0,56,
+high-waisted_thong,0,56,
+herbs,0,56,
+head_accessory,0,56,
+havoc_(demon),4,56,
+havoc63,1,56,
+hatter's_lye,1,56,
+hanmonster,1,56,
+hand_on_tongue,0,56,
+hana,4,56,
+hairy_body,0,56,
+haavex,4,56,
+gynomorph_raping_female,0,56,
+group_photo,0,56,
+groggy,0,56,
+green_cloak,0,56,
+graves,0,56,
+gradient_feathers,0,56,
+gouguru_(artist),1,56,
+goric,4,56,
+goliath_(evolve),5,56,
+gogarty,1,56,
+glitchedskunk,1,56,
+giik,1,56,
+ghoul_(fallout),5,56,
+ghost_in_the_shell,3,56,"ghost_in_the_shell:_stand_alone_complex,ghost_in_the_shell:stand_alone_complex,ghost_in_the_shell_stand_alone_complex,gits,mobile_armored_riot_police,stand_alone_complex"
+ghost_(nhalafallon),4,56,
+geewolf,1,56,
+geecupcake,1,56,
+garden_dormouse,5,56,
+furnace,0,56,
+fumio936,1,56,
+full_bladder,0,56,
+fu_dog_(character),4,56,
+frozen_solid,0,56,
+frogdor,4,56,
+freddy_nebraska,4,56,
+foxifly_(character),4,56,
+foxer421,1,56,
+fountain_pen,0,56,
+forl,0,56,
+for_science!,0,56,for_science
+food_truck,0,56,
+fluffydasher,1,56,
+fluffy_body,0,56,
+flowerdino,1,56,copperroach
+flavored_pussy_juice,0,56,food_pussy_juice
+flash_sentry_(eg),4,56,
+fishing_line,0,56,
+fibilis,1,56,
+feyyore,4,56,
+ferrit,4,56,
+fernando_(bastriw),4,56,
+fart_bukkake,0,56,
+fancy_foxx_(artist),1,56,
+falvie_(character),4,56,
+excessive_musk,0,56,
+evzen_(dreamkeepers),4,56,
+eva_(reygunpocket),4,56,
+erthy3d,1,56,
+ero-bee,1,56,erobee
+erise_(talarath),4,56,
+erika_(pokemon),4,56,"erika_(pokémon),nature-loving_princess!_erika,nature-loving_princess_erika,nature_loving_princess!_erika,nature_loving_princess_erika,the_nature-loving_princess!_erika,the_nature-loving_princess_erika,the_nature_loving_princess!_erika,the_nature_loving_princess_erika"
+enema_bulb,0,56,
+endenden,1,56,
+ellise_the_bat,4,56,
+elkaart,1,56,
+elise_(glopossum),4,56,lewis_(glopossum)
+edowaado,1,56,
+ear_hands,0,56,
+drying_fur,0,56,
+drinking_blood,0,56,blood_drinking
+dream_eater,5,56,
+draxius,4,56,
+dragonator,4,56,
+drafthorse,1,56,
+draftgon,1,56,
+dracmon,5,56,
+dovne_(character),4,56,
+double_masturbation,0,56,
+doors,0,56,
+dizzyvixen,1,56,
+dispenser,0,56,
+disfigured,0,56,
+dino_(flintstones),4,56,
+dino.d.dice,1,56,
+dingaling_productions,3,56,
+delivery_stork,4,56,"delivering_stork,stork_delivering,stork_delivery"
+dekonsfw,1,56,deko06
+dawn_(darkjester),4,56,
+danilokumriolu,1,56,
+damaged_armor,0,56,
+daemonette_(warhammer),5,56,
+cum_in_bottle,0,56,
+croc,4,56,
+critter_coven,3,56,
+crime,0,56,
+cricket_talot,4,56,
+creep_(goosebumps),4,56,
+cream_(food),0,56,
+cozydivan,1,56,
+cooltime-fooltime,1,56,spacemanclowncollege
+colormeviolet,1,56,
+clothed_taur,0,56,
+claire_(harvey_beaks),4,56,
+cjweasle,1,56,
+circumcision,0,56,
+chrono_cross,3,56,
+chris_(zourik),4,56,
+chocolatechippi,1,56,chippidraws
+chloe_(glopossum),4,56,
+chi-iz,1,56,
+charly,4,56,
+character_cipher,7,56,
+chained_to_floor,0,56,
+ceratosaurus,5,56,
+cazar_(ratchet_and_clank),5,56,"cazar,cazar_(r&c),cazar_(ratchet_&_clank),cazare,cazares"
+cayes,4,56,
+catmakinbiscuits,1,56,
+carrying_clothing,0,56,
+captain_grime,4,56,
+calyrex,5,56,
+buzya,1,56,
+button_boxers,0,56,
+butler_position,0,56,
+bursting_breasts,0,56,
+brown_fingernails,0,56,
+broken_teeth,0,56,
+brittle_(plaga),4,56,
+brightwing,4,56,
+brenda_springer,4,56,
+brandon_(sefeiren),4,56,
+bragg_(stitch!),4,56,"bragg_(l&s),bragg_(lilo_&_stitch),bragg_(lilo_and_stitch),bragg_(stitch),experiment_145,flute_(l&s),flute_(lilo_&_stitch),flute_(lilo_and_stitch),flute_(stitch!),flute_(stitch),twang_(l&s),twang_(lilo_&_stitch),twang_(lilo_and_stitch),twang_(stitch!),twang_(stitch)"
+bouncywild,5,56,bouncy_wild
+bonaxor,1,56,
+blushbaker,1,56,
+bluedeluge,1,56,
+blue-and-yellow_macaw,5,56,"blue-and-gold_macaw,blue_and_gold_macaw,blue_and_yellow_macaw"
+blinkpen,1,56,
+blanagami,1,56,
+blackontrack,1,56,
+black_neckwear,0,56,
+black_and_orange,0,56,orange_and_black
+berry_slice,4,56,
+bepis,3,56,
+bendacriss,1,56,
+beep_beep_i'm_a_sheep,3,56,
+bee_costume,0,56,
+barrakoda,4,56,
+barnaby_(armello),4,56,
+bark_the_polar_bear,4,56,
+bands,0,56,
+bandana_on_neck,0,56,
+bandaged_hand,0,56,
+ball_play,0,56,
+bai_(laobai),4,56,
+baaleze,1,56,
+azaly,4,56,
+astrozerk,1,56,"astrozerk04,draekokun"
+aspeneyes,1,56,
+asian_sword,0,56,
+asdwefr5508058,1,56,
+arthur_pendragon,4,56,
+around_the_world_with_willy_fog,3,56,
+aromagon,5,56,
+arms_held,0,56,
+arm_stockings,0,56,
+arkanumzilong_(artist),1,56,
+arino,1,56,
+applespicex,1,56,
+anya_havok,4,56,
+animana21,1,56,
+anglo_(anglo),4,56,
+angel_(copperback01),4,56,
+anal_impregnation,0,56,
+amras_lelliath,4,56,
+amra,4,56,
+amphydamph,1,56,
+amekomi_lover,1,56,
+ambulance,0,56,
+amalgamate_(themefinland),5,56,
+alloyrabbit,1,56,
+allomon,5,56,
+albedo_azura,4,56,
+akuro-,1,56,
+akira_(ryuakira),4,56,
+aka_leopard,1,56,
+aiai,4,56,
+agent_0730,1,56,
+aboriginal,0,56,
+able_ellis,4,56,
+a_(doneru),4,56,
+9:8,7,56,
+8-bit-britt,1,56,
+333456,1,56,
+0508madaramoyou,1,56,
+zyyphelze,1,55,
+zoosie,4,55,
+zhibita,1,55,
+zack_(nitrosimi96),4,55,
+yourfurryotaku,1,55,
+yokikana_yk,1,55,
+yogurt,0,55,yoghurt
+yiezzas,1,55,
+worgen_with_tail,5,55,
+woman_yelling_at_a_cat,3,55,
+wolfger,4,55,
+wispytuft,1,55,
+wingedwolf94,1,55,
+whitediamonds,1,55,
+white_vest,0,55,
+whipped,0,55,
+wheat_field,0,55,wheatfield
+wet_mane,0,55,
+werewire,5,55,
+waving_arms,0,55,
+water_hose,0,55,
+wagner,1,55,
+vore_tattoo,0,55,
+vien_quitonm,4,55,
+video_cassette,0,55,
+vibrating_controller,0,55,
+veterowo,1,55,
+veela,4,55,
+uzucake,1,55,
+utouchmyweird,1,55,
+urga_(a_small_tool),4,55,
+unzipped_jumpsuit,0,55,
+unibro_pi_(character),4,55,
+ulos12,1,55,
+uiokv,1,55,
+ubumetori,5,55,
+two_tone_bandanna,0,55,
+tsukihime,3,55,
+traveler,4,55,
+translucent_skin,0,55,"see-through_skin,see_through_skin,seethrough_skin,transparent_skin"
+traditional_halo,0,55,
+toxic,0,55,
+touching_own_face,0,55,
+touching_ear,0,55,
+tongue_out_piercing,0,55,
+tongue_on_glass,0,55,
+tokeki,1,55,
+tlk92024,1,55,
+titanoboa,5,55,
+tight_skirt,0,55,
+tiberius_(pache_riggs),4,55,
+tiaamaito,1,55,
+thunder_stone,0,55,
+throb,0,55,
+thecomet,1,55,
+thebartender,1,55,
+the_bottomless_district,3,55,
+thatguynamedjoe,1,55,
+temperature_play,0,55,
+temp_the_imp,4,55,
+tee,4,55,
+teaselbone_(character),4,55,
+teal_feathers,0,55,
+tassets,0,55,tasset
+tarutaru,5,55,
+tapirclip,1,55,
+tamamo-chan's_a_fox,3,55,high_school_inari_tamamo-chan
+taluthus,4,55,
+taguel,5,55,
+sylviajo,1,55,
+sya_ruusa,4,55,
+swordfish,5,55,sword_fish
+switch_logo,0,55,
+swat,3,55,
+suits,0,55,
+succubusbnny,1,55,
+subuser,1,55,
+stygian_zinogre,5,55,
+stripped_down,3,55,
+striped_dress,0,55,
+stretched_ears,0,55,
+starryprince,1,55,
+starry5643,1,55,
+stan_(hamtaro),4,55,
+square_academic_cap,0,55,
+splort,0,55,
+speed_(one_piece),4,55,
+speed_(artist),1,55,
+sonicthebitch,1,55,
+solrock,5,55,
+solarissativa,1,55,
+snowdrop_(character),4,55,snowdrop_(mlp)
+snout_overhang,0,55,
+sneer_(artist),1,55,
+slushie-nyappy-paws,1,55,
+slit_(wound),0,55,
+skeletor,4,55,
+silicone,0,55,
+sierra_(wackyfox26),4,55,
+shynjy,1,55,
+shunpei_nakata,1,55,
+shugowah_(character),4,55,
+shoulder_devil,0,55,
+shishimaru_genjurou,4,55,
+shira_(greywolf_blacksock),4,55,
+serious_sam,3,55,
+seiya_mesu,1,55,
+sean_(roommates),4,55,
+sdmax300,1,55,
+scraptrap_(fnaf),4,55,
+scp-049,4,55,
+schesta_(character),4,55,
+scent_play,0,55,
+sauksauk,4,55,
+sasuke_uchiha,4,55,uchiha_sasuke
+sarah_and_duck,3,55,
+salamander_(disambiguation),6,55,"fire_salamander,salamander"
+sakana_maru_(pixiv),1,55,
+ryuu1ch1,1,55,
+ruth_(sharkstuff),4,55,
+ruetteroulette,1,55,
+ruby_lareme_(battler),4,55,
+ru_(ruaidri),4,55,
+rosia_(show_by_rock!!),4,55,
+rose_pantilion,4,55,
+rorik_(the_human_heart),4,55,
+robot_penis,0,55,
+robot_gore,0,55,
+robert_hayes,4,55,
+rob_(rthc),4,55,
+richard_baer,4,55,
+redwolfofdeath,4,55,
+red_shetland,4,55,
+rayoutofspace,1,55,
+ray_(takemoto_arashi),4,55,
+ravensflock,1,55,
+raozone,1,55,
+rainbowclops,1,55,
+raina_(goopyarts),4,55,
+rah_jan_(zummeng),4,55,
+racket,0,55,
+rachel_(bcb),4,55,
+queen_nualia,4,55,
+quasarbre,4,55,
+pussy_to_ass,0,55,
+puss_in_boots_(dreamworks),4,55,
+pushing_away,0,55,
+purple_cloak,0,55,
+public_toilet,0,55,
+public_erection,0,55,
+psylocke,4,55,
+prostate_stimulator,0,55,
+promontory_(mlp),4,55,promontory
+progress_bar,0,55,
+printed_eyes,0,55,
+princessharumi,1,55,credits_(artist)
+pretzel_(food),0,55,
+powder,0,55,
+pooltoyz_(artist),1,55,
+ponies_in_real_life,0,55,
+pmoss_(character),4,55,
+platinum_fang,4,55,
+pizza_thot,3,55,
+pink_necklace,0,55,
+pink_eyelids,0,55,
+pikuna,1,55,
+phone_booth,0,55,phonebooth
+peeking_nipple,0,55,
+pebble,0,55,
+parsnip_bunner,4,55,
+pamela_(lewdua),4,55,
+palchamon,1,55,
+packge,1,55,
+pacific_glow_(mlp),4,55,"pacific_glow,pacificglow,pacificglow_(mlp)"
+owyisensei,1,55,
+oppaihobby,1,55,
+oney_plays,3,55,
+onegianthand,1,55,
+one_glove,0,55,
+oliver_(disney),4,55,"oliver_(oliver_&_company),oliver_(oliver_and_company)"
+ojijinotete,1,55,
+ohohokapi,1,55,
+odin_(wulframite),4,55,
+nyxqt,4,55,
+nym_(katie_hofgard),4,55,
+nut_(hardware),0,55,
+notched_leaf,0,55,
+nortum_(augensinum),4,55,
+norael,4,55,
+noop,5,55,
+non_fatal_vore,0,55,
+nomuralok,1,55,
+noke13,1,55,
+nivek,4,55,
+nisha_(bluedingo),4,55,
+nik_(darkfawks),4,55,
+nihil_(guchiyama),4,55,
+nicecream,1,55,
+nennanennanenna,1,55,
+nekopumpkin,1,55,
+nekoni,1,55,
+nefertimon,5,55,
+nat_(mykegreywolf),4,55,
+narffet,1,55,
+narcissism,0,55,
+nacchan96,1,55,
+mutual_rimming,0,55,
+musicsheep,4,55,musicsheep_(character)
+mt_tg,1,55,
+mrlusty,1,55,
+mr._saturn,5,55,
+mr._fox,4,55,
+mothim,5,55,
+moob_suck,0,55,
+monotone_back,0,55,
+mona_(2channel),4,55,
+momo_(avatar),4,55,"momo_(avatar:_the_last_airbender),momo_(avatar_the_last_airbender),momo_(the_last_airbender)"
+moira_(casitoarroyo),4,55,
+mod,0,55,
+mochasp,3,55,
+mlice,1,55,
+mitty,4,55,
+misty_(dutch),4,55,
+mime_jr.,5,55,mime_jr
+mile,0,55,
+mikoyan,1,55,mikoyanan
+michichael,4,55,
+meng_mira,1,55,
+mega_blastoise,5,55,
+maylah,4,55,
+masturbating_on_bed,0,55,
+marsccts,1,55,
+mars_(thequeenofmars),4,55,
+marleybraun,1,55,
+markshark,4,55,
+maneki-neko,0,55,maneki_neko
+mamaubear,1,55,
+majinvoir,4,55,
+majinizombie,1,55,
+magnumimpulse,1,55,
+madness_demon,1,55,
+madiblitz,1,55,
+luoluokun517,1,55,"cao_fei_ni,cǎo_fēi_ní,草飛泥"
+lumpsofcole,1,55,
+lucy_the_dragon,4,55,
+lucheek,1,55,
+lube_splatter,0,55,
+lourkanda,1,55,
+lory_(maple_town),4,55,
+looner,0,55,
+logo_parody,0,55,
+lizardwizard,1,55,
+litho_(stormysparkler),4,55,
+lionel_(fluffedwings),4,55,
+lillipup,5,55,
+light_sub_dark_dom,0,55,
+licking_glass,0,55,
+leokitsune,1,55,
+leo-artis,1,55,
+lenny_(artist),1,55,
+leg_strap,0,55,
+leaves_in_hair,0,55,
+lazertooth,1,55,"metallitoof,shui_lion,shuigetsu"
+laxative,0,55,
+kyron-ladon,1,55,
+kykyro,1,55,
+kudo,4,55,
+krolik,1,55,
+krokodyle,5,55,
+krimsomskaizo,1,55,
+koreanhusky,1,55,"fjrtuflrkdxk,koreanhusky_(artist)"
+koira,4,55,
+knife_cat,3,55,
+knee_up,0,55,
+kite512,1,55,lilpendragon
+kingdorkster,1,55,
+kiki_the_cyber_squirrel,4,55,
+kierra_holt,4,55,
+khampa_(rock_dog),4,55,
+kausgammamon,5,55,
+kashif_akhter,4,55,
+kaine_lewis,4,55,
+kaaly_(notbad621),4,55,
+justis,1,55,
+jungle_poppo,1,55,ちゅら玉
+jockington_(deltarune),4,55,
+jikylio,1,55,
+jenny,4,55,
+jennifer_(geckoguy123456789),4,55,
+jeanx,1,55,
+jaybeyyy,1,55,
+jackie_shay,4,55,
+izzy_(cadaverrdog),4,55,
+izzy,4,55,
+ivorydusk,3,55,
+itsbirdyart,1,55,
+island_fox,5,55,"golden_island_fox,island_gray_fox,island_grey_fox"
+isil,1,55,
+imces,1,55,
+iggi_eastwind,4,55,
+icy_xisaru,4,55,
+iaian_luxo_fox,1,55,
+hyper_messing,0,55,
+horn_removal,0,55,
+honnari_hannya,1,55,
+holydust,1,55,
+hokshi,1,55,
+hizzie,1,55,
+hinozuki,4,55,
+hierro_(artist),1,55,
+herbivore_high_school,3,55,
+herbivore,0,55,
+henrietta_hound,4,55,
+heatran,5,55,
+he-man,4,55,he_man
+hat_ribbon,0,55,
+hanukami,1,55,
+han_solo,4,55,
+half-lidded_eyes,0,55,
+hair_tubes,0,55,
+gurgling_balls,0,55,
+gumcrate,1,55,
+guchiyama,1,55,
+gtf_crossgender,0,55,"dickgirl_to_female_crossgender,dickgirl_to_female_r63,dickgirl_to_female_rule_63,dtf_crossgender,dtf_r63,dtf_rule_63,gtf_r63,gtf_rule_63,gynomorph_to_female_crossgender,gynomorph_to_female_r63,gynomorph_to_female_rule_63"
+gryphon_taur,5,55,"griffen_taur,griffin_taur,griffon_taur,gryphoness_taur"
+grinch_(artist),1,55,
+grey_tail_tip,0,55,
+grey_outline,0,55,gray_outline
+grey_coat,0,55,gray_coat
+greenninja,1,55,yuugi
+greenhand,1,55,allcreator
+greater_roadrunner,5,55,
+gothicsiamese,1,55,
+goth_izzy_(mlp),4,55,
+gossip,0,55,
+glavenus,5,55,dinovaldo
+gideon_(gylph),4,55,
+gettingeggywithit,1,55,
+gerenuk_taur,5,55,
+georgesabertooth,1,55,
+genitals_through_zipper,0,55,
+gaston,4,55,
+gamemaniac,1,55,
+galio_(lol),4,55,
+g_reaper,1,55,
+fuzzt0ne,1,55,
+futuristic_armor,0,55,
+futaloliisbest,1,55,
+furlough_games,3,55,
+frenor,4,55,
+freebird11,1,55,
+franschesco_(artist),1,55,
+fox_xd,3,55,
+formal_gentleman,1,55,
+footrest,0,55,
+flynn,4,55,
+fluorescent_light,0,55,
+floppsies,1,55,
+flonne,4,55,
+flipping,0,55,
+fletchinder,5,55,
+fishnet_bra,0,55,
+fire_engine,0,55,"fire_apparatus,fire_appliance,fire_truck,fireapparatus,fireappliance,fireengine,firetruck"
+fidda_gracepaws_(character),4,55,
+fetch,0,55,
+felinesyndr0me,1,55,
+feferi_peixes,4,55,
+fatescanner,4,55,
+famir_(thebestvore),4,55,
+family_portrait,0,55,
+eyebrow_stud,0,55,
+exaxuxer,1,55,kuma_x_/_クマ_x
+eu03,1,55,
+esmeia,1,55,thesoleil
+erection_under_towel,0,55,
+emu34b,1,55,
+empress_jasana,4,55,
+emi_(lyme-slyme),4,55,
+elysios,1,55,
+ellie_(alphax10),4,55,
+ehrrr,1,55,
+egun,4,55,
+egg_shell,0,55,
+efryol,1,55,
+eek,0,55,
+ebon_thundermoon,4,55,
+dysa,1,55,
+dusty_(dusty),4,55,
+durag,0,55,
+duo_(duolingo),4,55,"duo_the_duolingo_owl,duolingo_bird,duolingo_owl"
+dragon_rider,0,55,
+dogihotdogi,1,55,
+djbeats,3,55,
+divdurvart,1,55,
+disembowell_(artist),1,55,
+dimples,0,55,
+diablito_(artist),1,55,
+dharken,1,55,
+devona_rhea,4,55,
+devanstar,1,55,
+deep_anal,0,55,
+dean.winchester,1,55,
+dart_(dewwydarts),4,55,
+darkzerojack,1,55,
+darkwufflez,1,55,
+dante_(elcondedeleon),4,55,
+dandes,4,55,
+dakuterooty,1,55,
+dahliabee,1,55,
+cyclizar,5,55,
+cybernetic_attachment,0,55,cybernetic_attachments
+cum_on_own_knot,0,55,
+cum_drop,0,55,
+cum.cat,1,55,
+crying_cat,3,55,
+crosshair,0,55,
+crinklemouse,1,55,
+crimsonhysteria,1,55,
+cream_(dashboom),4,55,
+crazy_guy_(artist),1,55,
+coxaplenty,1,55,
+countmoxi,1,55,
+countershade_pussy,0,55,
+countdown,0,55,
+corgii,1,55,
+coonhound,5,55,coon_hound
+concentrating,0,55,
+communicator,0,55,
+coltron_(coltron20),4,55,
+colossus,5,55,
+coelhinha_artes,1,55,
+coco_kiryu,4,55,
+cock_ring_vibrator,0,55,
+clothed_intersex_nude_male,0,55,nmci
+clixsposing_kitraandra,3,55,
+cleovelot,4,55,
+claudia_(peculiart),4,55,
+clarice_(rudolph_the_red-nosed_reindeer),4,55,
+circus_of_anya,3,55,
+cinnamonhunter,1,55,
+cigar_smoke,0,55,
+ciel_(cinderfrost),4,55,
+church_(oddchurch),4,55,
+chromapan,0,55,
+chocolate_chips,0,55,chocolate_chip
+chocolate-beverage,1,55,
+chisara,1,55,
+chiderg,4,55,
+cherubimon_(evil),5,55,
+chaotikat,1,55,
+chairiel,4,55,
+catsikune_(character),4,55,
+catsikune,1,55,
+catching,0,55,
+cassius_(oldmancassius),4,55,
+cassandra_(funkybun),4,55,
+carried,0,55,
+captainjusticevirtsuoso,1,55,
+canes-cm,1,55,
+camotli,1,55,
+calamity_coyote,4,55,
+cakecatboy,1,55,
+buzz_cut,0,55,buzzcut
+butterscotch_(wonderslug),4,55,
+bumblewish_(artist),1,55,
+brittany_diggers,4,55,britanny_diggers
+bree_(animal_crossing),4,55,
+breast_bulge,0,55,
+boxoftoffee,1,55,
+bosshi,1,55,
+boss_(james_howard),4,55,
+booohira,1,55,
+blue_mask,0,55,
+blue_hood,0,55,
+blue_fundoshi,0,55,
+blob_(disambiguation),6,55,blob
+blackwhiplash,1,55,
+bishopbb,1,55,
+bishkah291ax48,1,55,
+bikini_plate,0,55,
+between_feet,0,55,
+belly_kiss,0,55,
+bella_(terraapple),4,55,
+bcrich40,1,55,
+battu,4,55,
+baryonyx,5,55,
+barrus,4,55,
+ball_pit,0,55,
+bag_over_head,0,55,
+azusis,4,55,
+ayden_(character),4,55,
+attack_forme_deoxys,5,55,"attack_deoxys,attack_form_deoxys,deoxys_(attack),deoxys_(attack_form),deoxys_(attack_forme),deoxys_attack,deoxys_attack_form,deoxys_attack_forme"
+ascord,4,55,
+arts_of_indiego,1,55,
+arkoninu,4,55,
+arima_(anaid),4,55,
+arcy_the_arcanine,4,55,
+apple_pot,1,55,
+app,0,55,
+anubis_(houtengeki),4,55,
+anonyartist,1,55,
+animeclipart,1,55,
+amphibian_(mh),5,55,amphibian_(monster_hunter)
+alpaca_humanoid,5,55,
+alex_the_rubikang,4,55,
+aleisandra,4,55,
+alayana,4,55,
+ajbun,4,55,
+ah'momo,4,55,
+adam_bryce_thomas,1,55,
+acid_armor,0,55,
+accidental,0,55,
+ac/dc,3,55,
+aaron_fox,4,55,
+a_kitty_bobo_show,3,55,
+=_=,0,55,
+6xiachunqiu7,1,55,
+2d_artwork,0,55,
+1970s,0,55,
+zip_tie,0,54,
+zill_(zoophobia),4,54,zill_martinez
+zen_(grimart),4,54,
+zahk_(knight),4,54,
+yurano_(cocotama),4,54,
+yuhbuh,1,54,
+yellow_wool,0,54,
+yellow_jacket,0,54,
+yaita_(character),4,54,
+xuteng_(tokifuji),4,54,
+wortox,4,54,"wortox_(don't_starve),wortox_(dont_starve)"
+wittleskaj,1,54,
+wispon,0,54,
+wiprogress,1,54,
+wingdavon,1,54,
+windows_10,3,54,
+whygenamoon,1,54,
+white_pseudo_hair,0,54,
+whipping_butt,0,54,
+whatsalewd,1,54,
+wezengammamon,5,54,
+wet_scales,0,54,
+vlad-lox,1,54,
+violet_sabrewing,4,54,
+vigoroth,5,54,
+victory_pose,0,54,
+victory,0,54,
+venauva,1,54,
+velvet_(hirurux),4,54,
+vaylute,4,54,
+vasha_vinodragova,4,54,
+varvarg,5,54,
+varkeeg,5,54,
+username_(character),4,54,
+unusualboo54,1,54,
+untying,0,54,
+unreal_(series),3,54,"unreal,unreal_(franchise),unreal_(game),unreal_game,unreal_games,unreal_tournament,unreal_tournament_2004"
+undnift,1,54,
+umbrella_corporation,3,54,
+ultimate_custom_night,3,54,
+ulako,1,54,
+ukrainian_flag,0,54,
+ugh,0,54,
+tyranos,4,54,
+tygar_tiger,1,54,
+ty_the_tasmanian_tiger,4,54,"ty_(ty),ty_the_tasmanian_tiger_(character),ty_the_tasmanian_tiger_(ty),ty_the_tazmanian_tiger,ty_the_tazmanian_tiger_(character),ty_the_tazmanian_tiger_(ty),tyrone_(ty),tyrone_(ty_the_tasmanian_tiger),tyrone_(ty_the_tazmanian_tiger),tyrone_the_tasmanian_tiger,tyrone_the_tazmanian_tiger"
+two_ton_tina,4,54,
+tunnel_plug,0,54,
+tulpa,0,54,
+triti,4,54,
+toyger,5,54,
+touching_stomach,0,54,
+tory_(backup4now),4,54,
+torou,1,54,
+topless_gynomorph,0,54,
+tomlad,1,54,
+tofu_(food),0,54,
+toad_(disambiguation),6,54,toad
+tjin_(artist),1,54,
+tism_rabbit,5,54,
+tincrash,1,54,
+timmy_fox,4,54,
+tildriel,4,54,
+tigerstar_(warriors),4,54,
+tie_clip,0,54,
+the_weaver_(character),4,54,
+the_surgeon,4,54,
+the_neopets_team,1,54,
+the_great_gonzales_jr,4,54,
+the_depths,3,54,
+tentacle_in_nipple,0,54,
+tenshi_chan,4,54,
+teeth_gap,0,54,
+tech,4,54,
+teal_claws,0,54,
+teal_belly,0,54,
+tawnix,1,54,
+tanquito,1,54,
+takatmadisney,1,54,
+tail_stocking,0,54,tailstocking
+syx_(symbiote),4,54,
+syncope,1,54,
+sydea,4,54,
+svi,4,54,
+survival_of_the_fittest,3,54,
+suruga_(xsurugax),1,54,
+supersegasonicss,1,54,
+supermoonshroom,1,54,
+suit_and_tie,0,54,
+subway_(restaurant),3,54,
+stickyguts,1,54,
+stefan_sledwolf,4,54,
+starblaze25,1,54,
+squealydealy,1,54,
+spidu,1,54,ragathol
+soroxel,1,54,
+soovka,1,54,
+sonicgamer,1,54,
+sombird,1,54,
+soliscanis,1,54,
+soledad,4,54,
+snowiezegreight,1,54,
+snes_console,0,54,
+smollypoli,1,54,
+smog01,1,54,
+small_norm,4,54,
+small_hands,0,54,
+small_beak,0,54,
+smacking_ass,0,54,
+sloth_(changing_fates),4,54,
+skull_boss_guzma,4,54,"guzma,guzma_(pokemon),guzma_(pokémon)"
+skips_(regular_show),4,54,
+sketchyboi08,1,54,
+sixsydes,1,54,
+sitting_on_leg,0,54,
+sinner!,1,54,
+si_ra_ta_ma3,1,54,
+showers,0,54,
+shoving,0,54,
+shiren_the_wanderer,3,54,
+sheila_skyworld,4,54,
+shaadorian,1,54,
+sexualdoggo,1,54,
+sexbot,0,54,
+sex_toy_titfuck,0,54,
+seras_greil,4,54,
+sekotta,4,54,
+segmented,0,54,
+sebastian_greninja,4,54,
+satsuki_kiryūin,4,54,"kiryuin_satsuki,kiryūin_satsuki,satsuki_(kill_la_kill),satsuki_(klk),satsuki_kiryuin"
+sapphire1010,1,54,gomigomipomi
+saphiros,1,54,
+sally_whitemane,4,54,
+sabrina_the_teenage_witch,3,54,
+sabre_(weapon),0,54,saber_(weapon)
+s.o.r.u.,4,54,
+rou_kemonone,4,54,
+rosie_(cyancapsule),4,54,
+roninsong,1,54,
+roki,4,54,
+rocketraccoon,1,54,
+robin_(fire_emblem),4,54,
+rifle_sling,0,54,
+rhaja_aaruna,4,54,
+rev_(artist),1,54,
+renrailos,1,54,
+reizohozon,1,54,
+reginaprimata,1,54,
+regentshaw,1,54,
+recurrent,1,54,
+reaver,4,54,
+rainihorn,1,54,
+raijin_(capdocks),4,54,
+rahn,5,54,
+raevi10,1,54,
+rael_bunni_(character),4,54,
+quesito_(zentagas),4,54,
+pyonko,1,54,ぴょんこ
+pyongyang/moxie_(yourfavoritelemonade),4,54,
+pussy_sniffing,0,54,
+purple_blood,0,54,
+psycrhen,5,54,
+princess_anna_(frozen),4,54,
+pride_color_jockstrap,0,54,
+price_listing,0,54,
+polar_bear_humanoid,5,54,
+pokebii,1,54,
+pnoll,1,54,
+platform_boots,0,54,
+pitcher_plant,5,54,pitcherplant
+pink_speedo,0,54,
+pink_necktie,0,54,pink_tie
+pink_breastplate,0,54,
+phoebe_(animal_crossing),4,54,
+phoberry,1,54,
+petal_maw,0,54,
+peruri,1,54,ぺるり
+pastelassz,1,54,
+passage,1,54,
+panickingad,1,54,
+pack,0,54,
+owen_clerk,4,54,
+outlandish_studios,1,54,
+outhouse,0,54,
+othalam,1,54,
+oozing_cum,0,54,
+oini,1,54,
+ohiri,4,54,
+nyaroma,1,54,"catgraffiti,catgraffiti_(artist),nyanorama,nyanorama_(artist),nyaroma_(artist)"
+nipple_bondage,0,54,
+ninjamoon,1,54,
+nineka,1,54,
+nielsdejong,1,54,
+neonway,1,54,
+neoneon,1,54,
+nelsonnoir,1,54,"cly_perlipatte,cly_shirt,clyperlipatte,clyshirt,clysophreniac,clytemnon,nelson_noir,perlipatte,plasmama"
+neelix_(character),4,54,
+mystical_stratus,4,54,
+murphy_and_mitzi,3,54,
+multicolored_briefs,0,54,
+mukitsune,1,54,
+movie_accurate,0,54,
+motion_arrow,0,54,
+morphi_(character),4,54,
+monotone_inner_pussy,0,54,
+moist_mommy,1,54,
+mistress_mare-velous_(mlp),4,54,mistress_mare-velous
+mirri_ringfox,4,54,
+miraitowa,4,54,
+minashirazu,1,54,
+minamo_(pixiv17726065),1,54,
+mime_(ekkokenight),4,54,
+mexifurfoof,1,54,
+melted_cheese,0,54,melting_cheese
+melony_(pokemon),4,54,melony_(pokémon)
+melanie_cow,4,54,
+mekko_rarekko,3,54,
+mei_chengse,4,54,
+meegol,1,54,
+mazda,3,54,
+mayra_boyle,1,54,"huskie-commissions,huskie666,huskie_commissions"
+maxwtv,1,54,maxxx-999
+mati,4,54,
+master_wolf_(neo_geppetto),4,54,
+mask_transformation,0,54,
+mary_(sailoranna),4,54,
+marta_(conker's_bad_fur_day),4,54,
+mars_light_carbuncle,4,54,marslight_carbuncle
+marcosaurus_(imperatorcaesar),4,54,
+mankor,1,54,
+mamoswine,5,54,
+malo_0.9,5,54,
+makuta,5,54,
+mainnm-e,1,54,
+maikeru,1,54,
+magpie_magnetism,1,54,
+lying_on_partner,0,54,
+luxury_gin,1,54,
+lovely_tail_(dlrowdog),4,54,
+lotus55,1,54,
+losing_bet,0,54,
+lorenzobrezo,1,54,
+log_cabin,0,54,
+liquid_metal,0,54,
+linker,4,54,
+lilith_(artist),1,54,
+light_smile,0,54,
+light_footwear,0,54,
+legendary_beasts,5,54,
+legend_of_the_werehorse,3,54,
+leaky,0,54,
+leaf_umbrella,0,54,
+laurel_(freckles),4,54,
+kuroneko_(doukutsunezumi),4,54,
+kryptonite,0,54,
+kristoph_wulphenstein,4,54,
+kraskit,5,54,
+korok,5,54,
+knees_up,0,54,
+knee_pit,0,54,
+kmf97,1,54,
+kloe_kitty,4,54,
+kjatar,4,54,
+kitsunal_(character),4,54,
+kishna,4,54,
+kiseki_art,1,54,
+kirkesan,1,54,kirkeart
+kindergarten_uniform,0,54,
+kilo_(kilocharlie),4,54,
+kiki_(jurassiczalar),4,54,
+kiit0s,1,54,ketos
+kharnak,1,54,
+ket,4,54,
+kerub_crepin,4,54,
+kendall_(wastester),4,54,
+keigai_(character),4,54,
+kei_(notglacier),4,54,
+kathleen,4,54,
+karukuji_(character),4,54,
+kanon_(applejacksville),4,54,
+kamui_(artist),1,54,
+jyxa,4,54,
+june_greenfield,4,54,
+johanna_(nightfaux),4,54,
+jk_(kemokin_mania),4,54,
+jillofsandwich,1,54,
+jiangshi_(artist),1,54,
+jesse_(cyrion100),4,54,
+january,4,54,
+jamsnjellies,1,54,
+jamesjackobgermany,1,54,
+jackson,4,54,
+jackneft,1,54,
+iwbsb_kuma,1,54,
+ivan_savinkov,4,54,
+iudi_(iudicium86),4,54,
+itzalisix,4,54,
+ioenami88,1,54,
+interrobang_exclamation,0,54,
+imperial_dragon,5,54,
+imagining,0,54,
+iisaw,1,54,eric_elliott
+iguanodon,5,54,iguanadon
+hyenajack,4,54,
+huffaromas,3,54,
+hornyforest,1,54,
+honeymoon,0,54,
+home-cooking,1,54,
+holding_tea_cup,0,54,"holding_tea_cups,holding_teacup,holding_teacups"
+holding_katana,0,54,
+holding_forearm,0,54,
+holding_armor,0,54,
+high_kick,0,54,
+heroes_of_might_and_magic,3,54,
+hermann_(knights_college),4,54,
+heligator,5,54,
+heart_eye,0,54,
+headset_microphone,0,54,
+head_wraps,0,54,
+head_out_of_water,0,54,
+hdddestroyer,1,54,
+harumati_ituko,1,54,
+haru_(gingitsune),4,54,
+hanging_by_wrists,0,54,
+hand_in_water,0,54,
+hamsteroftime,1,54,
+hamgie,4,54,
+guanaco,5,54,
+green_liquid,0,54,
+green_frill,0,54,
+great_fairy,4,54,
+gray_(blackmailz),4,54,
+gonzarez1938,1,54,
+glass_window,0,54,
+glacey_(silver_soul),4,54,
+george_(george701),4,54,
+general_pepper,4,54,
+gegege_no_kitaro,3,54,
+gauge,0,54,
+garth,4,54,
+ganson,1,54,
+ganassa,1,54,
+galrock,1,54,
+fys,4,54,
+fyrre,4,54,
+furby,3,54,
+fur_rug,0,54,
+fuck_the_police,0,54,
+ftnranat,1,54,
+french_braid,0,54,
+fraydragon,1,54,
+frankescobarx,1,54,
+foufi,1,54,
+fluttershyfann80085,1,54,
+fleet_wing_(fursona),4,54,
+fishbone,0,54,fish_bone
+fire_flower,0,54,
+final_fantasy_tactics_advance_2,3,54,final_fantasy_tactics_a2
+fenoxo,1,54,
+female_operator,4,54,
+felix_(disambiguation),6,54,felix
+falling_over,0,54,
+fallflys,1,54,
+fallen_captain,5,54,
+ess_(smileeeeeee),4,54,
+erkhyan,1,54,
+ending,0,54,
+emusal,1,54,reedwulf
+emo_hairstyle,0,54,
+emmapresents,1,54,
+emerald_raven,1,54,
+emasculation,0,54,
+em_being,5,54,
+elwind_(thiccvally),4,54,
+elsword,3,54,
+ello_(anaugi),4,54,
+ellie_the_braixen,4,54,
+eliana_corvalis,4,54,
+eleniel,4,54,
+elara,4,54,
+dwalker,1,54,
+drumming,0,54,
+drip_(jack),4,54,
+drinking_water,0,54,
+drilldo,0,54,
+drawstring_swimwear,0,54,
+drawller,1,54,
+draneas,1,54,
+drac_(dracwarrior),4,54,
+double-breasted,0,54,
+door_frame,0,54,
+doki,4,54,
+dj_subatomic_supernova,4,54,
+dino_crisis,3,54,
+dingbat_(character),4,54,
+diddydoo,1,54,
+dicksndemons,1,54,naturaldisaster
+diarmaidhutchence,3,54,
+diana_(jewelpet),4,54,"diamond_(jewel_pet),diamond_(jewelpet),diana_(jewel_pet)"
+deuce,1,54,
+dergum,1,54,
+dengus-pengus,1,54,
+demon_beast,5,54,
+deep_rising,1,54,
+darkito420,1,54,
+dark_headwear,0,54,
+dark_countershading,0,54,
+dani_(dariusmiu),4,54,
+dangerartec,1,54,
+dancer_position,0,54,
+daiha,1,54,
+daenanguis,5,54,
+cyanne,4,54,
+cutedeer,1,54,
+cum_on_own_neck,0,54,
+crying_blood,0,54,
+crrispy_shark,1,54,
+craymin,1,54,
+corporal_the_polar_bear,4,54,
+cornflakes_(derek_hetrick),4,54,
+copyright,3,54,
+cookie_demon_(robotjoe),4,54,
+clover_(madagascar),4,54,
+cloudjumper,4,54,
+ciervorobot,1,54,
+chobikuma,1,54,
+chelsea_(zombieray10),4,54,
+centradragon,1,54,
+catsmeow,1,54,
+cassie_cage,4,54,
+cassia_the_pronghorn,4,54,
+caronte,1,54,
+carl_theodore_grant_(grafton),4,54,
+carbon_(carbon-draws),4,54,
+canyon_(adventure_time),4,54,
+camelid_taur,5,54,
+calico_pattern,0,54,
+calamity_(averyshadydolphin),4,54,
+cait_sith_(ff7),4,54,
+butterfly_(accessory),0,54,
+butt_cutout,0,54,
+butcher,0,54,
+burnbuckie,1,54,
+bug_chasing,0,54,
+broken_english,0,54,
+britz_strudel,4,54,
+brittany,4,54,
+brassiere,0,54,
+botter_dork,1,54,
+bololo,1,54,
+bob_(superiorfoxdafox),4,54,
+bob_(bubble_bobble),4,54,
+blue_sex_toy,0,54,
+blue_eyelashes,0,54,
+blue_elbow_gloves,0,54,blue_elbow_glove
+blue_cloaca,0,54,
+block_(artist),1,54,"blocktw,buro_(block),ぶろ,ブロ"
+blanche,4,54,
+blackcat,1,54,
+blackbatwolf,1,54,
+black_circus,3,54,
+biting_sound_effect,0,54,
+birry41,1,54,
+bilby,5,54,"rabbit-eared_bandicoot,rabbit_bandicoot,rabbit_eared_bandicoot"
+biblically_accurate_angel,5,54,
+bernie_burr,1,54,
+belle_fleur,4,54,
+beachfox,1,54,
+baz_badger,4,54,
+battleship,0,54,battle_ship
+basil_(dragon_ball),4,54,
+barrier,0,54,
+baphometbimbo,1,54,
+bakemonogatari,3,54,
+azrealm,4,54,
+azrael_rhincodon,4,54,
+atsuko_kagari,4,54,"akko_(little_witch_academia),akko_(lwa),akko_kagari,atsuko_(little_witch_academia),atsuko_(lwa)"
+ashtonsparx_(artist),1,54,
+arvo92,1,54,
+aruse,1,54,
+artbymadara,1,54,
+artariem,1,54,
+arilen,4,54,
+anna_(jinash),4,54,
+animopron,1,54,
+angel_patoo,1,54,
+andrew_(zeetyphlosion),4,54,
+anaktis,1,54,
+amo_(amocin),4,54,
+amali_(tloz),4,54,"amali_(loz),amali_(zelda)"
+alternative,0,54,
+alt-b-shephelie,4,54,
+alphabet,0,54,
+alice_liddell,4,54,
+aleks_howes,1,54,
+akuma_tlt,1,54,
+akila_theoris,4,54,
+air_freshener,0,54,
+ailure,4,54,
+ahro,1,54,
+after_sex_smoking,0,54,"after-coital_cigarette,after-coital_smoke,after-coital_smoking,after-sex_cigarette,after-sex_smoke,after-sex_smoking,after_coital_cigarette,after_coital_smoke,after_coital_smoking,after_sex_smoke,aftercoital_cigarette,aftercoital_smoke,aftercoital_smoking,aftersex_cigarette,aftersex_smoke,aftersex_smoking,post-coital_cigarette,post-coital_smoke,post-coital_smoking,post-sex_cigarette,post-sex_smoke,post-sex_smoking,post_coital_cigarette,post_coital_smoke,post_coital_smoking,post_sex_cigarette,post_sex_smoke,post_sex_smoking,postcoital_cigarette,postcoital_smoke,postcoital_smoking,postsex_cigarette,postsex_smoke,postsex_smoking"
+af-js,1,54,
+aasimar,5,54,
+91o42,1,54,
+8_arms,0,54,"8_armed,eight_armed,eight_arms"
+7575el,1,54,
+666,0,54,
+0v00w0_(artist),1,54,
+zer0sanguine,4,53,
+yutmutt,1,53,
+yumelle,1,53,
+yukino_kouta,1,53,
+ys,3,53,
+yow,1,53,
+yorzis,1,53,
+yoru_vida,1,53,
+yoko_(kitaness),4,53,
+yesenia_(character),4,53,
+year_of_the_rooster,3,53,"year_of_the_chicken,year_of_the_cock"
+ydart,1,53,
+yamikoneko,1,53,
+yabuinu,1,53,
+wyler_(1033),4,53,
+worn_down_children,3,53,
+wolke,1,53,
+winner,0,53,
+wingdings,0,53,
+wildworks,3,53,
+wigfritter,1,53,
+white_loincloth,0,53,
+werehyaenid,5,53,werehyena
+wenqu0304,1,53,
+wanking_gesture,0,53,
+wake_up,0,53,
+wafflecat,1,53,
+vulpamon_x,4,53,
+vress_(artist),1,53,
+voluxpto,1,53,
+voider_(artist),1,53,
+voice_actor_joke,0,53,
+virgil_(maxydont),4,53,
+vesna,4,53,
+vertical_pussy,0,53,
+vamux,4,53,
+valigar_(himeros),4,53,
+valdis_the_bard,4,53,
+vaginal_object_insertion,0,53,
+unown_e,5,53,
+unktehila,4,53,
+unggoy,5,53,"alien_grunt,grunt_(halo),grunt_alien,halo_grunt"
+tympole,5,53,
+tyler_3d_(artist),1,53,
+two_tone_hoodie,0,53,
+turismoturbo,1,53,
+tsillah,4,53,
+trill_(oc),4,53,
+treefyleaves,1,53,
+transguiche_piercing,0,53,
+towel_rack,0,53,
+tosin,4,53,
+tophatmahoney,1,53,
+tommybunz,1,53,
+tommy_koi,4,53,
+toeless_thigh_highs,0,53,
+tinkerbomb,1,53,
+tina_russo,4,53,
+tina_(sailoranna),4,53,
+tight_jeans,0,53,
+tiger_tail,0,53,
+tied_to_bed,0,53,
+thrasian,1,53,khamul
+the_quick_brown_fox,4,53,
+that-girl-whodraws,1,53,
+terra_macro,0,53,
+teresa_brisby,4,53,
+tenugui,4,53,
+tennessee_kid_cooper,4,53,"""tennessee_kid""_cooper"
+tavros_nitram,4,53,
+taur_to_humanoid,0,53,
+taur_pred,0,53,
+tatsumaki,4,53,"tatsumaki_(1-pm),tatsumaki_(1-punch),tatsumaki_(1-punch_man),tatsumaki_(1_punch),tatsumaki_(1pm),tatsumaki_(1punch),tatsumaki_(1punch_man),tatsumaki_(o-pm),tatsumaki_(one-punch),tatsumaki_(one-punch_man),tatsumaki_(one_punch),tatsumaki_(one_punch_man),tatsumaki_(onepunch),tatsumaki_(onepunch_man),tatsumaki_(opm),terrible_tornado,tornado_(1-pm),tornado_(1-punch),tornado_(1-punch_man),tornado_(1_punch),tornado_(1pm),tornado_(1punch),tornado_(1punch_man),tornado_(o-pm),tornado_(one-punch),tornado_(one-punch_man),tornado_(one_punch),tornado_(one_punch_man),tornado_(onepunch),tornado_(onepunch_man),tornado_(opm),tornado_of_terror"
+tasteydonuts,1,53,
+tartaurus,1,53,
+tarketto,4,53,
+tangerine_(fruit),0,53,
+tan_sweater,0,53,
+takemoto,4,53,
+tail_nom,0,53,
+tachyon,1,53,
+synkosium,1,53,
+supermarine_spitfire,3,53,
+sumo_wrestling,0,53,
+sue_(bcb),4,53,
+sucking_tip,0,53,
+styrling,4,53,
+stripe_heeler,4,53,stripe_(bluey)
+streaked_tenrec,5,53,
+stonecircle,1,53,
+steve_martin,1,53,
+steele_(accelo),4,53,
+star_oculama,0,53,
+squirrel_girl_(marvel),4,53,squirrel_girl
+spotted_humor,3,53,
+spikysketches,1,53,
+spent_casing,0,53,
+space_opera,0,53,
+soft_lighting,0,53,
+sleepysluff,1,53,
+slate_wolf,4,53,
+slashing,0,53,
+skittleytwix,1,53,"skittleytwix_(artist),sktwx,sktwx_(artist),sktwxad,sktwxad_(artist)"
+skibby,1,53,
+sitting_on_toilet,0,53,
+sitting_on_planet,0,53,
+simple_animation,0,53,
+simon_belmont,4,53,
+silver_tail,0,53,
+sideshow-spottus,1,53,
+shy_ayu,1,53,
+shopping_mall,0,53,
+shiratzu,1,53,
+shina_(artist),1,53,
+shempu,1,53,
+sheep_demon,5,53,demon_sheep
+shay_(hladilnik),4,53,
+sharp_spikes,0,53,
+shaded_face,0,53,
+server,0,53,
+separation_(layout),0,53,
+selection_menu,0,53,
+sebastian_the_husky,4,53,
+sebastian_(flugymalugy),4,53,
+sea_anemone_humanoid,5,53,anemone_humanoid
+scp-939,5,53,
+scaredy_squirrel,3,53,
+sarybomb,1,53,
+sarah_(the_last_of_us),4,53,
+samson_(skullgirls),4,53,
+samira_(cloppermania),4,53,
+sam_yaeger,4,53,
+sachidog,1,53,
+sabotaged_condom,0,53,
+saaxon,1,53,
+sa_no,1,53,
+ryofox630,1,53,
+ruzha,4,53,
+ruua,1,53,
+rubiont-47,1,53,
+roundabout_(artist),1,53,
+rollingslash,1,53,
+rocking_out,0,53,
+rob_64,4,53,
+roast_(kumalino),4,53,
+riv_(ratte),4,53,
+risen,4,53,
+ringing_bell_(film),3,53,
+rhiannon_(gingerm),4,53,
+reverse_forced_fellatio,0,53,
+resting_balls,0,53,
+remitost_(bigrottiedawg),4,53,
+reindeeroo,1,53,
+red_(sethkeidashi),4,53,
+reaper_(overwatch),4,53,
+reapcreates831,1,53,
+rawslaw5,1,53,
+ratfolk,5,53,
+rariatoo,1,53,
+rare_ltd,3,53,
+rami_(twitchyanimation),4,53,
+ramaraffe,4,53,
+rainbow_dildo,0,53,
+rainbow_boa,5,53,slender_boa
+rabbitexe,1,53,
+quizzical_(artist),1,53,
+q-nik,1,53,
+puss3250,1,53,
+purple_t-shirt,0,53,
+private,4,53,
+print_pants,0,53,
+print_apron,0,53,
+pressed_against,0,53,
+prancing,0,53,
+praceph,1,53,
+powerlines,0,53,
+powerjam,1,53,
+power_outlet,0,53,
+pokémon_center,0,53,"pokecen,pokecenter,pokemon_center,pokesen,pokécen,pokécenter,pokésen"
+poke_kid,4,53,
+pointy_beak,0,53,
+pockoon_(insomniacovrlrd),5,53,
+plover,5,53,
+pj_(pittiepj),4,53,
+pixie_(monster_rancher),5,53,
+pink_undergarments,0,53,
+pink_sex_toy,0,53,
+photo_booth,0,53,
+phantom,4,53,
+penny_(tits),4,53,
+pattarchus,4,53,
+patio,0,53,
+pasikon,1,53,
+parker_simmons,1,53,
+paraplegic,0,53,
+paradoxing,1,53,
+papyrus_(underswap),4,53,
+panda-kun,4,53,
+panda-chan_(artist),1,53,"panderpia,panderpia_(artist),paox,paox_(artist),questionablepanda,questionablepanda_(artist),snick-snacks,snick-snacks_(artist)"
+pak_choi,4,53,
+oviduction,0,53,
+outcrop,0,53,
+ouse,1,53,
+orianne_larone,4,53,
+orange_glow,0,53,
+on_container,0,53,
+old_world_flycatcher,5,53,"muscicapid,muscicapidae"
+old_version,0,53,
+o_0,0,53,
+nsilverdraws,1,53,
+nofuture,1,53,
+nikki_(nikkithetanuki),4,53,
+nibe.a,1,53,
+nazi_uniform,0,53,
+natural_colors,0,53,
+nate_(littlerager),4,53,
+naomi_(qew123),4,53,naomi_(nnecgrau)
+nanniras,1,53,
+namugriff,4,53,
+nafyo-toons,1,53,
+nachtschwinge,4,53,
+mythabyss,1,53,
+my_little_pony:_pony_life,3,53,"mlp_pony_life,my_little_pony_pony_life,pony_life"
+multicolored_genitals,0,53,
+mull_(maeworl),4,53,
+mr._bun-bun_(toybox_pals),4,53,
+morgrem,5,53,
+morgana_mccawber,4,53,
+monobutt,0,53,
+mobian_rabbit,5,53,
+mo23,1,53,
+mizett_(doneru),4,53,
+mixing_bowl,0,53,
+mitsy_(babywife),4,53,
+mistresssable,1,53,
+mirromy,5,53,
+mirkrali,1,53,
+minion_(despicable_me),5,53,"minion_(minions),minion_(species),minions,minions_(despicable_me),minions_(minions),minions_(species)"
+millie_(ozy_and_millie),4,53,
+military_vehicle,0,53,
+midnightgospel,1,53,
+meyk,1,53,
+meuna,4,53,
+messyszop,1,53,
+mephitoad,5,53,
+melty_blood,3,53,
+mek,1,53,
+mayhem_(artist),1,53,
+matainfancias,1,53,
+masso_nullbuilt,1,53,
+masabowser,1,53,
+markers,0,53,
+mally_(malyficus),4,53,
+male_fingering_andromorph,0,53,
+malafox,1,53,
+magic_suppression,0,53,
+madness,0,53,
+madkrayzydave_(artist),1,53,
+lutti,1,53,
+lunging,0,53,
+luminyu,1,53,
+luckymax2012,1,53,
+lorena_(artist),1,53,
+loona_in_mexico,3,53,
+lonelyworld,1,53,
+lizardmane,1,53,
+light_toes,0,53,
+light_armor,0,53,
+licking_popsicle,0,53,
+lennox_(mynka),4,53,
+leg_cuffs,0,53,
+leg_bow,0,53,
+leakyroot,1,53,
+leaf_hands,0,53,
+lavendula,4,53,
+larathen,1,53,
+lanna_(blackmist333),4,53,
+kyros_(dowski),4,53,
+kurly,4,53,
+kunako,1,53,chimera_clan
+kotia,1,53,
+kosatka,1,53,
+konani,1,53,
+komajiro,4,53,
+kokoro-tokoro,1,53,myuutsufan
+kokonoe_tsubaki,4,53,
+koji_koda,4,53,
+kloe_(artist),1,53,
+kleika,5,53,
+kizion_ksharr,1,53,
+kixx_(lilo_and_stitch),4,53,"experiment_601,kixx_(l&s),kixx_(las),kixx_(lilo_&_stitch),kixx_(stitch)"
+kitket,1,53,pukeytwink
+kinkmilk,1,53,
+khurje,1,53,
+khana_liis,4,53,
+kenron_toqueen,1,53,
+kelly_(1-upclock),4,53,
+katie_tiedrich_(persona),4,53,
+kamekichi,1,53,
+kaita_(the-hydroxian),4,53,
+kadith,1,53,
+k-draws,0,53,
+jukan_ace_no.007-2,3,53,
+joxenwolf83_(artist),1,53,
+jodelr,1,53,
+jj_(zarif),4,53,
+jiffic,1,53,jfc
+japanese_flag,0,53,
+jakkal,1,53,jakkalwolf
+jake_(blazingpelt),4,53,
+jacqueline_rosenthal_(sergeantbuck),4,53,
+izvy,4,53,
+iuana,4,53,
+iro_suzume,1,53,
+inutsukihasukii,1,53,
+initiation,0,53,
+in_glass,0,53,
+illyasviel_von_einzbern,4,53,"illya_(fate),illyasviel_(fate)"
+illogicaljumble,1,53,
+hyena_girl_(study_partners),4,53,
+hugo_the_riolu,4,53,
+huggy_wuggy,4,53,
+huge_latissimus_dorsi,0,53,
+hornet's_needle,0,53,
+hondaranya,1,53,
+holding_tentacle,0,53,
+holding_planet,0,53,
+holding_buttplug,0,53,
+holding_body,0,53,
+hoedeer,1,53,
+hikinks,1,53,
+hibiki2,1,53,
+heart_headwear,0,53,
+heart_buttplug,0,53,
+head_scratch,0,53,
+hayden_(solfies),4,53,
+hattrem,5,53,
+hack_montblanc,4,53,
+gylala,4,53,
+gus_(flir),4,53,
+gryphon_(untied_verbeger),4,53,
+grilling,0,53,
+green_tuft,0,53,
+green_cheeks,0,53,
+great_grey_wolf_sif,4,53,
+granberia,4,53,
+grabbing_face,0,53,
+gobbo_(kooni),4,53,
+glitch_(starbound),5,53,
+glancojusticar,1,53,
+gideon_(bayron),4,53,
+genzoman,1,53,
+geckonori,1,53,
+gatorbeast,1,53,
+gasoline,0,53,petrol
+garr_(artist),1,53,
+garou:_mark_of_the_wolves,3,53,
+garnnet_(character),4,53,
+galliform_humanoid,5,53,
+gallery,0,53,
+gabriel_(luckyabsol),4,53,
+fuyunon,1,53,"fuyuno,冬野みかん"
+furrchan,1,53,
+front-tie_clothing,0,53,
+fridaflame,1,53,
+framebuffer,1,53,
+foxpawmcfly,1,53,
+fourchette_piercing,0,53,
+foreskin_piercing,0,53,
+fluffy_paws,0,53,
+flashspot,1,53,
+flaffy_(viskasunya),4,53,
+fexine_(luki-snowytail),4,53,
+feodaron_sd,1,53,
+female_with_penis,0,53,
+female_monster,5,53,
+feline_genitalia,0,53,
+feet_on_legs,0,53,
+feanor,1,53,
+fatehunter,4,53,
+fatal_(fatal_dx),4,53,
+ezzleo,3,53,
+exercise_bike,0,53,
+evay,4,53,
+evan_(lavilovi),4,53,
+ernest_(ernest_and_celestine),4,53,
+eric_(ericthelombax),4,53,
+epiglottis,0,53,
+enslaved,0,53,
+eluna_odis,4,53,
+elfuda_(plus-sized_elf),4,53,
+ekoi1995,1,53,
+efrejok,1,53,
+edward_alrik_of_ravenwood,4,53,
+edef,1,53,
+ecstasy,0,53,
+earthquake,0,53,
+ear_wiggle,0,53,
+dye,0,53,
+dummy,0,53,
+dugan_(metalfoxt),4,53,
+duez,4,53,
+drakainadawn,1,53,
+draconid,5,53,
+doooo2424,1,53,
+dogtanian_and_the_three_muskehounds,3,53,
+dog_costume,0,53,
+diraulus,1,53,
+dinosaur_humanoid,5,53,
+dimitri_(xelaaredn),4,53,
+digital_hysteria,1,53,
+diffident_hexagon,1,53,zackweird
+devon_(nikora_angeli),4,53,
+detailed_feathers,0,53,
+dempsey,4,53,
+demon_pony,5,53,
+deepthroat_gag,0,53,
+deckland_(tokifuji),4,53,
+deathclaw_humanoid,5,53,
+dean_(password),4,53,
+deadjackal,1,53,
+dax_(evane),4,53,
+dart_(nuttynut93),4,53,
+dark_hat,0,53,
+danny_(funnybox),4,53,
+damien_(adondis),4,53,
+dairy_air,3,53,
+dai.dai,1,53,
+cutemon,5,53,
+cut_in_half,0,53,
+curry_(copyright),3,53,
+cum_on_navel,0,53,
+cum_on_grass,0,53,
+cum_on_command,0,53,
+cubcore,1,53,
+crowned_lemur,5,53,
+crop_hoodie,0,53,
+creamgag,1,53,
+crazygreyrabbit,1,53,
+crazybear,1,53,
+crankyconstruct,1,53,
+crackers_(bad_dragon),4,53,
+covering_another,0,53,
+cottoncandycoon,1,53,
+corvidius,1,53,
+corvid_humanoid,5,53,
+cool_s,3,53,
+convertible,0,53,
+conkeldurr,5,53,
+congalala,5,53,
+coal_(tawny_otter),4,53,
+clover_(lost-paw),4,53,
+classroom_desk,0,53,
+clarabellecrow,1,53,
+cinnahbunn,1,53,
+churroshiba,1,53,zuriku
+christian_cross,0,53,
+chocobo4869,1,53,puyopuyo
+chet_(anti_dev),4,53,
+cheetabbit,0,53,
+charlotte_(bzeh),4,53,
+cerebral_knievel,1,53,
+celtic_knot,0,53,
+celes_traydor,4,53,
+cat_taur,5,53,cattaur
+carrotwolf,4,53,carrot_wolf
+captainninja,1,53,
+canyne_khai_(character),4,53,
+cannonball,0,53,
+cabrony,1,53,
+burninggryphon,1,53,
+bunnyhopps,3,53,
+bucking,0,53,
+bubble_filling,0,53,
+brushing_tail,0,53,
+brun_(brunalli),4,53,
+breezie_the_hedgehog_(archie),4,53,"breezie_the_hedgehog_(archie_comics),breezie_the_hedgehog_(comics)"
+bread-kun,4,53,
+brawl_stars,3,53,
+bmf_6666,1,53,
+blue_shell,0,53,
+blue_leotard,0,53,
+blue_(among_us),4,53,
+blue-rum,1,53,
+bloodstone,4,53,
+black_loincloth,0,53,
+biting_hand,0,53,
+biobrony,1,53,
+becquerel,4,53,
+beak_growth,0,53,
+battaph,1,53,
+bastet_(puzzle_and_dragons),4,53,"bastet_(p&d),bastet_(pnd),bastet_(puzzle_&_dragons)"
+baniflakes,1,53,
+banded_tail,0,53,
+banded_gecko,5,53,
+balls_through_fly,0,53,
+back_plates,0,53,
+axton,4,53,
+avery_(vir-no-vigoratus),4,53,
+aurora_(disambiguation),6,53,aurora
+auro_vee,4,53,
+askadolesentspikewebcam,1,53,
+ash_bunny_(skeleion),4,53,
+arms_around_shoulders,0,53,
+arlo_(amazingcanislupus),4,53,
+aria_t'loak,4,53,
+arcturusx1,1,53,
+aradia_megido,4,53,
+aqualine_(bzeh),4,53,
+april_(starfighter),4,53,
+apple_pie,0,53,
+aotsuki091,1,53,
+antediluvia,4,53,
+andromorph_impregnation,0,53,
+anapnea,1,53,
+anamniotic_egg,0,53,
+amy_(dicknation),4,53,
+amedama12321,1,53,
+alys_faiblesse_(zelripheth),4,53,
+alonsocas15,1,53,
+alice_(gold97fox),4,53,
+alejandrogsd_(artist),1,53,
+akira_(shane),4,53,
+air_force,0,53,
+air_drowning,0,53,
+ah_yes._me._my_girlfriend.,3,53,
+against_container,0,53,
+after_battle,0,53,
+adrakist,5,53,
+ada_wong_(resident_evil),4,53,
+ada_(fallout),4,53,
+9klipse,1,53,
+57mm,1,53,
+1950s,0,53,
+/co/,3,53,
+zorak_(character),4,52,
+zirilon,1,52,
+zeidre,1,52,
+yuujirou_(lagoon_lounge),4,52,
+yurai,1,52,
+yukira,4,52,
+ysera,4,52,
+ying_li_(lucariored),4,52,
+yenchey,1,52,
+yellow_neck,0,52,
+yellow_headband,0,52,
+yellow_dildo,0,52,
+yamacha012,1,52,
+xing_the_cheetah,4,52,
+xheten,1,52,
+wrist_fluff,0,52,
+worgen_(feral),5,52,
+woolier,1,52,
+witch_(puella_magi),5,52,
+witch_(left_4_dead),4,52,
+wireframe,0,52,
+wilderkin,5,52,
+wiggle_stereogram,7,52,
+wickedcake,1,52,
+wet_balls,0,52,
+werepony,5,52,
+waver-ring,1,52,
+water_bowl,0,52,"water-bowl,water-dish,water-dishes,water_bowls,water_dish,water_dishes,waterbowl,waterdish,waterdishes"
+wandrevieira1994,1,52,
+vivian_varker_(herny),4,52,
+vesperinox,1,52,sinfulbunny
+vendor,0,52,
+vanilluxe,5,52,
+valheru,4,52,
+unusual_nipples,0,52,
+unrealrui,1,52,"korakiart,ruiart,whitecorvo"
+uno_(unokoneko),4,52,
+unicuck,1,52,
+underwater_scenery,0,52,
+uncensored_version_at_source,7,52,
+ukimori,5,52,
+two_soyjaks_pointing,3,52,
+twili_z,1,52,
+tvcomrade,1,52,
+tunk_saray_lovesta,1,52,
+tsuraipossum,1,52,
+tsarina,4,52,
+trombone,0,52,
+triplesevens_(artist),1,52,
+translucent_balls,0,52,
+transgender_symbol,0,52,⚧
+trade_offer,3,52,
+toyger_chives,4,52,
+tos_tos_f_ski,1,52,
+titflaviy,1,52,
+tinypigdraws,1,52,
+tinntira,1,52,
+throh,5,52,
+thirsty,0,52,
+thigh_holster,0,52,
+thepandobo,1,52,
+theidiotmuffin,1,52,
+the_wild_thornberrys,3,52,wild_thornberrys
+the_nether_(minecraft),0,52,
+the_doctor,4,52,
+terry_cloth,4,52,
+terrador,4,52,
+terikressner,4,52,
+tenna_cale,4,52,
+tempesta_(scarywoof),4,52,
+teddy_bear_(species),5,52,
+teal_areola,0,52,
+teal_anus,0,52,
+taylor_(fuel),4,52,
+tatiana_tuschenko,4,52,
+tank_top_only,0,52,
+takoto,1,52,
+takaneru,1,52,
+taimanin_asagi,3,52,
+tailzkip,1,52,
+tacoghastly,1,52,
+tacofoxbrazil,1,52,
+synthean,1,52,
+sydney_o'connell,4,52,
+swallow_(disambiguation),6,52,swallow
+sw1tchbl4de,1,52,inker1on
+suri_alpaca_(kemono_friends),4,52,alpaca_suri_(kemono_friends)
+super_buu,4,52,
+suerte,4,52,
+subnautica_below_zero,3,52,
+submerged_arm,0,52,
+subaru,3,52,
+su1ka,1,52,
+stupidfox,4,52,
+stuggottzz,4,52,
+strawberry_dragon,4,52,
+stepmother_and_stepson,0,52,step-mother_and_step-son
+stefan_(smove),4,52,
+station,0,52,
+starbuck,4,52,
+star_sunglasses,0,52,
+stacked,0,52,
+spotted_legwear,0,52,
+spores,0,52,
+spocky87,1,52,
+spike_bulldog,4,52,"spike_(t&j),spike_(tom_&_jerry),spike_(tom_and_jerry)"
+soroka-ne-soroka,1,52,
+snowmutt,1,52,
+snekkuu,1,52,
+snap_feather,4,52,
+smokedpone,1,52,
+smiley_cindy_(skashi95),4,52,
+smiles,0,52,
+small_fangs,0,52,
+skyraptor,1,52,
+skyler_(diegojhol),4,52,
+skyeder0,1,52,
+sky_stinger_(mlp),4,52,
+sketchyjackie,1,52,
+sizzling,0,52,
+six~,4,52,
+sitting_on_grass,0,52,
+sis_(robin_hood),4,52,
+sirus,4,52,
+sinsxie,1,52,wigsey-nsfw
+simona,1,52,sbloodwing
+silverscarf,1,52,
+silverlonewolf,1,52,
+shy-bomb,4,52,
+shun_shirai,4,52,
+shoejob,0,52,
+shinywark,1,52,
+shimille,1,52,
+shellder_(slowking),5,52,
+sharing_scarf,0,52,shared_scarf
+shamerli,1,52,
+shading_eyes,0,52,
+severed_tail,0,52,
+semi-anthro_pred,0,52,
+seeq,5,52,
+sealguy,1,52,
+seachord,1,52,
+scittykitty,1,52,
+scat_inflation,0,52,
+scapewolf,1,52,
+scanner,0,52,
+sayuri,4,52,
+saxicoline,5,52,"old_world_chat,saxicolinae"
+saturn_(planet),0,52,
+satellite_dish,0,52,
+sasha_(maloo),4,52,
+sarammat,1,52,
+sarah_(sarah_and_duck),4,52,
+santa_dress,0,52,
+san_(princess_mononoke),4,52,
+sakamata_orca,1,52,
+sadistic_smile,0,52,
+sable_antelope,5,52,
+ryuryutwins,1,52,
+rylai_the_crystal_maiden,4,52,
+rubilocks,4,52,
+royal_ludroth,5,52,
+rottenrollz,1,52,
+roshea_(rosheatfreak),4,52,
+rorik_ironwill,4,52,
+roegadyn,5,52,
+rockstar_foxy_(fnaf),4,52,
+rocket_grunt,4,52,team_rocket_grunt
+repeated_internal_monologue,0,52,
+renardfoxx,1,52,renard_foxx
+rek'sai_(lol),4,52,
+reirei_(character),4,52,
+reed_(gvh),4,52,
+red_swimming_trunks,0,52,
+red_neck,0,52,
+recursive_penetration,0,52,
+realistic_feral,0,52,
+realistic_anatomy,0,52,
+reaction_shot,0,52,
+reaching_for_object,0,52,
+randomgirl1265,1,52,
+rainypaws,1,52,
+rainbow_thigh_highs,0,52,
+questzer,1,52,
+quad,0,52,
+qinus_axia,4,52,
+pussy_tickling,0,52,
+purple_antennae,0,52,purple_antenna
+punching_face,0,52,
+puar_(dragon_ball),4,52,
+ps1_controller,0,52,
+propped_up,0,52,
+princess_sherry,4,52,
+primal_rage,3,52,
+powers,0,52,
+potion_(pokémon),0,52,
+post_birth,0,52,
+popori,5,52,
+popemadara,1,52,
+pony-butt-express,1,52,
+pochizizi,1,52,
+pisces_kelp_(fursona),4,52,
+pink_thigh_socks,0,52,
+pink_goo,0,52,
+pink_elbow_gloves,0,52,pink_elbow_glove
+pinchibird,1,52,
+picket_fence,0,52,
+philfox,1,52,
+peterson,1,52,
+patsy_smiles,4,52,
+patreon_artist,0,52,
+pathway,0,52,
+patchouli_knowledge,4,52,
+papyrus_(underfell),4,52,
+pantvore,1,52,pantvore_(artist)
+panda_humanoid,5,52,giant_panda_humanoid
+painting_nails,0,52,
+oyster,5,52,
+oscar_statuette,0,52,oscar_statue
+orion_mckracken,4,52,
+orange_socks,0,52,
+orange_light,0,52,
+orange_hooves,0,52,
+open_dress,0,52,
+omori_(game),3,52,
+oliverfox,1,52,"severus_blackpaw,severusblackpaw"
+olive_cow,1,52,
+okoge_16,1,52,
+octobertiger,1,52,
+object_to_humanoid,0,52,
+nycteus,4,52,
+nsfwshamecave,1,52,nael
+nox_(sonicfox),4,52,
+noses_touching,0,52,
+norihito,1,52,
+noah_(fuze),4,52,
+niobe_(character),4,52,
+nina_neckerly,4,52,
+nimfa_dimaano,4,52,
+nibiki,1,52,
+ni_no_kuni_(series),3,52,
+neck_wound,0,52,
+nan_quest,3,52,
+nama,1,52,
+naked_ribbon,0,52,
+myebi,1,52,
+mustard_(fek),4,52,
+musharna,5,52,
+multicolored_spots,0,52,
+multicolored_leg_warmers,0,52,
+multi_handjob,0,52,
+ms-seven0,1,52,msseven
+mouse_hole,0,52,
+mouritzeen_(lenyavok),4,52,
+mood_lighting,0,52,
+monotone_neckerchief,0,52,
+monotone_earbuds,0,52,
+mommyulysses,1,52,
+mojiuwu,1,52,
+moffuriini_(artist),1,52,
+modern,0,52,
+miz_ma'm'selle_hepzibah,4,52,
+miu_(aas),4,52,
+mitsukurinid,5,52,mitsukurinidae
+mitokon_dorian,1,52,
+misplaced_spigot,1,52,"misplacedspigot,tits_mcgee"
+mismatched_socks,0,52,
+miriam_hutchins,4,52,
+mindfucklingskelly,1,52,
+milkibee,1,52,
+milftoon,3,52,
+micky_(disambiguation),4,52,micky
+michael345,1,52,
+mia_dyke_(character),4,52,
+mia_(artist),1,52,
+metal_claws,0,52,
+metal_balls,0,52,
+mervvin,1,52,
+mennsuke,1,52,
+melusine_(final_fantasy_xiv),4,52,
+mels_monster_(artist),1,52,
+melissa,4,52,
+megrodite,0,52,
+mcgack,4,52,
+mc1,1,52,
+mawarisaka3,1,52,
+masquerain,5,52,
+martin_(qckslvrslash),4,52,
+markus_(kadath),4,52,
+mama_bear,4,52,
+malcolm_douglas,1,52,
+mahalo_(mahalocheetah),4,52,
+magpie_(artist),1,52,"kawaiipiepie,lauren_magpie"
+mad_moxxi,4,52,
+mad_dummy,4,52,
+lucky_(mcnasty),4,52,
+lucky-neko,1,52,
+lucas_(littlerager),4,52,
+lola_(lewdua),4,52,
+lock_down_(monowono),4,52,
+lizzie_green_(dreamworks),4,52,
+littleslice-sfm,1,52,
+linda_(nekuzx),4,52,
+lifted_by_neck,0,52,
+lick_zack,4,52,rick_zack
+lf,1,52,
+lester_(risenpaw),4,52,
+leprechaun,5,52,
+leg_squeeze,0,52,
+leg_muscles,0,52,
+lbt9000,1,52,
+lavender_eyes,0,52,
+lash,4,52,
+lanwin,1,52,
+lanaya_the_templar_assassin,4,52,
+lacy_panties,0,52,
+lacey_(meesh),4,52,
+kyoshinhei,1,52,
+kyla,4,52,
+kt80,1,52,
+korurun,1,52,
+koppa_(shiren_the_wanderer),4,52,
+kooni,1,52,
+kohaku_sunwalker,4,52,
+kobold_orion,0,52,
+knotsafefurrwork,1,52,
+kingcreep105,1,52,
+kimihito_kurusu,4,52,
+keri_(nikora_angeli),4,52,
+kenjiii,1,52,
+keira_niobe,4,52,
+kay_rox,4,52,kay_(lightspirit)
+kastoluza,1,52,
+karine_(chirasul),4,52,
+kara_(dandarkheart),4,52,
+kali_(artist),1,52,
+kakukaku_shikajika_(daihatsu_motors),4,52,
+kaizooki,1,52,
+junk_food,0,52,
+josh_(chibitiger),4,52,
+jinzhan,1,52,lovemimi
+jina_choi,4,52,
+jessica_young_melis,4,52,
+jessica_ainsley,4,52,
+jellymon_(ghost_game),4,52,
+jazcabungcal,1,52,"jazthursharkdog,jrdabest03"
+jay_(raccoonbro),4,52,
+jasmine_(arizel),4,52,
+jamie_(tawog),4,52,
+jagged_teeth,0,52,
+jackajack21,1,52,
+itoruna_the_platypus,4,52,
+isomaru,1,52,
+inukoro_(kikurage),3,52,
+instinct_legoshi_(beastars),4,52,
+info,0,52,
+imperfect_cell,4,52,
+ike_(fire_emblem),4,52,
+iizuna,1,52,
+ignitus7,1,52,
+ice_humanoid,5,52,humanoid_ice
+ice_cave,0,52,
+hunter_(rubber),4,52,
+hunter_(father_of_the_pride),4,52,
+hungrysuccubus,1,52,
+hugging_plushie,0,52,
+hugging_leg,0,52,
+hot_skitty_on_wailord_action,3,52,
+hornyvoir,4,52,
+horlod,1,52,
+hope_blossoms_(colt_quest),4,52,
+hoot_(character),4,52,
+honk,0,52,
+honey-beest,1,52,
+honduran_white_bat,5,52,"caribbean_white_tent-making_bat,caribbean_white_tent_making_bat"
+home_on_the_range,3,52,
+holding_tablet_pen,0,52,
+holding_ruler,0,52,
+holding_plant,0,52,
+holding_object_with_tail,0,52,
+holding_mask,0,52,
+holding_diaper,0,52,
+holding_crowbar,0,52,
+holding_chain,0,52,
+hochune_meowku,4,52,
+hiore,1,52,
+highborn,3,52,
+heyriel,1,52,
+henkeiusagi,1,52,
+heffer_wolfe,4,52,
+heatzone,1,52,
+heartermobs,1,52,
+head_plate,0,52,
+haruz,4,52,
+harb_freton,4,52,
+hans_taubemann,4,52,
+hands_on_table,0,52,
+hands_on_crotch,0,52,
+halloween_2022,0,52,
+hakumimis,1,52,
+hair_curlers,0,52,
+hair_braid,0,52,
+hacking,0,52,
+gwen_lee,4,52,
+guzzle,4,52,
+green_armor,0,52,
+gray.wolf,1,52,
+goro_(leobo),4,52,
+goobit,5,52,
+golden_sun,3,52,
+goblin_shark,5,52,
+glistening_egg,0,52,shiny_egg
+glassesgator,1,52,
+glalie,5,52,
+gina_(lightsource),4,52,
+gigan,4,52,
+gerpuppy,1,52,
+germainethevixen,1,52,
+gene_trifell,4,52,
+geckzgo,1,52,
+gastropod_penis,0,52,
+gang_orca,4,52,
+gandharva,4,52,
+furasaur,1,52,
+fur_jacket,0,52,
+fundles,1,52,
+ftrashman_(artist),1,52,
+ftl:_faster_than_light,3,52,
+frontbend,0,52,
+foxy_(disambiguation),6,52,foxy
+fox_fury,1,52,foxfury
+fox_(bloody_roar),4,52,
+flygon_(artist),1,52,
+flushthebatsanta,1,52,
+fluffylambbooty,1,52,
+flatsfag,1,52,
+fixink,1,52,
+five_nights_at_candy's,3,52,
+fink_(artist),1,52,
+filler_shmazman,1,52,
+fieryashy,1,52,
+fey_(zavan),4,52,
+femacendramon,4,52,
+feathered_ears,0,52,
+fc32,1,52,
+fangs_bared,0,52,
+exercise_mat,0,52,
+evelynn_(stargazer),4,52,
+establishment_shot,0,52,
+erimad,1,52,
+enro,4,52,
+endermoonfur,1,52,
+emerald_blade_(oc),4,52,
+emerald_(ultilix),4,52,
+elsa_frankenteen,4,52,
+elijahelegia,1,52,
+edron_(mr-yiffy),4,52,
+eclair,0,52,
+duke_komarovski,4,52,duke_(duke-jarnunvosk)
+draringoa,1,52,
+dragonsaviour,1,52,
+dragon_hybrid,5,52,
+dracovish,5,52,
+dotsfa,1,52,
+dorugamon,5,52,
+donut_print,0,52,
+donut_(misterdonut),4,52,
+doki_doki_literature_club!,3,52,"ddlc,doki_doki_literature_club"
+dogslickingsoda,1,52,
+dlion0000,1,52,
+disclaimer,1,52,
+dirtywater,1,52,
+dining_room,0,52,
+diana_linda,4,52,
+diana_(lol),4,52,diana_(league_of_legends)
+detective_pikachu_(video_game),3,52,
+desmond_(zootopia_fan_character),4,52,
+dergorb,1,52,
+deretto_alexiel,4,52,
+deltav,1,52,
+dekotf,1,52,
+decay,0,52,
+deadly_nadder,5,52,
+darunia,4,52,
+dartboard,0,52,dart_board
+darkdraconica,1,52,
+dark_stockings,0,52,
+dante_(ghost_forger),4,52,
+danny_(no3512),4,52,
+dangling_arms,0,52,
+dangerking11,1,52,
+dakota_(kittyprint),4,52,dakota_(nightshade89)
+dadward,1,52,
+cutefckngbunny,1,52,
+crushtar,1,52,
+crossed_out_date,0,52,
+crook,0,52,
+crimson-flazey,1,52,
+cranidos,5,52,
+couple_(disambiguation),6,52,"couple,couples,lovers"
+connec,4,52,
+comorito,1,52,
+comet,0,52,
+colson_grainger,4,52,
+colossus_(shadow_of_the_colossus),5,52,
+colorcoroded,1,52,
+colleen_(masterofall),4,52,
+coffinberry,1,52,
+clutterstep_(oc),4,52,
+clovergame0,1,52,
+cloudpie,1,52,cloudpie_(artist)
+clothing_around_one_leg,0,52,
+cliffs,0,52,
+claudia_vial,4,52,
+cirez,4,52,
+christine_day,4,52,
+chirin_(ringing_bell),4,52,
+chip_(lightsoul),4,52,
+chioro,1,52,
+chinchy,1,52,
+chii_(nyapple),4,52,ozzy_(nyapple)
+chat_(bird),5,52,chat-thrush
+chastity_plug,0,52,
+charmin,3,52,
+charlotte_moore,4,52,
+charlotta_fenia,4,52,
+character_map,0,52,
+chaoscroc,1,52,
+ceremony,0,52,
+celestia_(last_origin),4,52,
+cddi_h,1,52,
+casting_spell,0,52,
+cassettecreams,1,52,
+caprice_art,1,52,
+cacnea,5,52,
+cabezilla,1,52,
+c-v-m,1,52,
+by-nc,3,52,cc-by-nc
+buttercup_(powerpuff_girls),4,52,
+buda_(kiwa_flowcat),4,52,
+brush_tail,0,52,
+brooke_(simplifypm),4,52,
+bro,0,52,
+box-cat,1,52,
+boony,4,52,
+bodily_fluids_pool,0,52,
+blueseamoon,1,52,
+blueblaster,1,52,
+blue_boxer_briefs,0,52,
+blue_bikini_bottom,0,52,
+blenderknight,1,52,
+blackdragon-sama,1,52,
+black_knee_highs,0,52,
+berserker_tamamo_cat,4,52,tamamo_cat
+ben_jackson,4,52,
+belted_boots,0,52,
+bellhop,0,52,
+belle_(cainesart),4,52,
+beans_(rango),4,52,
+batnaps,1,52,beelzbat
+azazel_(tboi),4,52,
+avocado_seed,1,52,avocadoseed
+avalee,4,52,
+automail,0,52,
+augusta,4,52,
+audrey_(herny),4,52,
+aubrey_leung,1,52,
+athoswolf1337,4,52,
+athiesh,4,52,
+ashley_williams,4,52,
+asexual_symbol,0,52,
+arttukorppu,1,52,
+arrow_hearted,1,52,
+ari_guardian,1,52,
+arcwolfdragon,1,52,
+apex_(starbound),5,52,
+anthro_scale,0,52,
+annetpeas,1,52,
+annaklava,1,52,
+anila_(granblue),4,52,
+aniel,4,52,
+angrylittlerodent,1,52,
+ananafruit,1,52,
+amiral_aesir,1,52,amiralaesir
+amanda_(artist),1,52,
+alvh-omega,1,52,
+allison_(danji-isthmus),4,52,
+allen_(allenr),4,52,
+alister_(art),1,52,
+alba_(character),4,52,
+aladdin_(disney),4,52,
+akaro_(lukiro),4,52,
+aita,4,52,
+against_locker,0,52,
+ace_(kamex),4,52,
+a-fitzga,1,52,
+9dtq0,1,52,
+8xenon8_(artist),1,52,
+8-bit,0,52,
+33:50,7,52,
+24cakes,1,52,
+1978,7,52,
+zouletsentiment,1,51,
+zokkili,1,51,
+zirius,1,51,
+zhean_li,1,51,
+zeym,1,51,
+zenrii,1,51,
+zana6_(artist),1,51,
+zagreus_(hades),4,51,
+zaaru,1,51,
+yuuyatails,1,51,yuuyatails_(artist)
+yunobo,4,51,
+yumi_yama,4,51,
+yukomaussi,1,51,"junomaussi,mylittlerainbow-time"
+yellow_talons,0,51,
+yasuaki023,1,51,
+xzorgothoth,1,51,
+xneostarx,1,51,
+xinwan_(artist),1,51,
+won_(madcow100),4,51,
+wolfthatmeows,1,51,
+willump_(lol),4,51,
+whisperer,1,51,
+wet_breasts,0,51,
+web_encasement,0,51,"chrysalis_encasement,chrysalis_trap,chrysalis_trapping,coccoon_encasement,coccoon_trap,coccoon_trapping,cocoon_encasement,cocoon_trap,cocoon_trapping,silk_encasement,spider_encasement,spider_encasing_prey"
+walkingstalker,3,51,
+vulpin,5,51,
+volkv_vseslav,4,51,
+vivian_(clockwork_journeys),4,51,
+visible_stench,0,51,
+vinny_van_yiffy,1,51,
+vexxus_(vxserenade),4,51,
+vector_(hsd),5,51,
+vasciel_aplisto,4,51,
+valz,4,51,
+urbanmonster,1,51,"citizen_monster,citizenmonster1,urban_monster,urbanmonster413"
+umbry00,1,51,
+uenii,1,51,
+u_lu_lu,1,51,
+typewriter,0,51,
+two-tone_body,0,51,
+twilightflopple,1,51,
+tsunderplane,4,51,
+tsunade,4,51,
+trough,0,51,
+tristan_growlagher_(spiff),4,51,
+tripping_balls,0,51,
+toysaurer,1,51,
+toxic0266,1,51,
+touching_arm,0,51,
+toucannon,5,51,
+torn_face,0,51,
+torakaka,4,51,
+top_knot,0,51,
+tontaro,1,51,
+tong,0,51,
+tin_can,0,51,
+throws_up_on_u,1,51,
+thoth,4,51,
+thedinosaurmann,1,51,
+the_man_from_the_window,3,51,
+the_dark_crystal,3,51,
+the_assistant,4,51,
+textbox,0,51,
+textbook,0,51,
+tetragon,1,51,
+teran,4,51,
+tentacle_sheath,0,51,
+tentacle_on_breast,0,51,
+temtem_lover,1,51,
+tee_k.o.,3,51,
+tanya_mousekewitz,4,51,
+tan_membrane,0,51,"beige_membrane,cream_membrane,peach_membrane"
+tamyra,1,51,nicoleships
+tailgrip,1,51,tailgrip_(artist)
+taffy_monster,5,51,
+t-bone_(extreme_dinosaurs),4,51,
+syukouakanaru,1,51,"trabel,シュコウアカナル,朱交,朱交赤成"
+sydney_bronson,4,51,
+swalot,5,51,
+swallowing_parasite,0,51,
+sushi_xisaru,4,51,
+surgeon,0,51,
+supki,1,51,
+supermare,0,51,
+sumo_ring,0,51,
+stupjam,1,51,
+strom_(nihilochannel),4,51,
+striped_headwear,0,51,
+striped_headgear,0,51,
+steve_stamatiadis,1,51,
+stern_look,0,51,
+sterling_(animal_crossing),4,51,
+squirting_dildo,0,51,
+spunky_(spunky),4,51,
+springer_spaniel,5,51,
+spotted_nose,0,51,
+spider_legs,0,51,
+spearmint_(character),4,51,
+space_vixen,3,51,
+space_shuttle,0,51,
+sonatadragon,1,51,
+sofia_(jagon),4,51,
+sockrateesy,1,51,
+socchinn,1,51,
+sober_(character),4,51,
+snow_white_and_the_seven_dwarfs,3,51,
+snoval,5,51,
+small_upper_body,0,51,
+sleep_bubble,0,51,
+skye_(jakethegoat),4,51,
+skin_ripping,0,51,
+skade,4,51,
+sixty,4,51,
+sinlesscelery,1,51,
+silver_(killerwolf1020),4,51,
+silhouetted_body,0,51,
+side_eye,0,51,
+shulk,4,51,
+shiratsuki,1,51,
+shiori_shi,4,51,
+shiki-kun-baka,1,51,
+shaved_ice,0,51,
+sharpy,1,51,banshee42ru
+sharkdark,1,51,
+shane_(copyright),3,51,
+shadowprints,1,51,
+setsuna_(redo_of_healer),4,51,
+self_mutilation,0,51,
+self_impregnation,0,51,autoimpregnation
+sei'ven,4,51,
+scout,0,51,
+scott_(rosheatfreak),4,51,
+scissorsrunner,1,51,
+scientific_name,0,51,
+scarletopalite,1,51,"blueborn,greybullet,greymelon,mistyopalite,mistyvns"
+scarlet_(scarlet-drake),4,51,
+scaled_underbelly,0,51,
+scalchop,0,51,
+saurian_(mortal_kombat),5,51,
+saucy_(sunhuiz),4,51,
+satanism,0,51,
+sashi_(syrinoth),4,51,
+sarustreeleafwolf,1,51,
+sammy_(codeine),4,51,
+samantha_snow,4,51,
+ryoken,1,51,
+rural,0,51,
+rumble_(movie),3,51,
+ruin,0,51,
+rufus_(the_dreamstone),4,51,
+rouen_(blazingfrostwolf),4,51,
+rotom_phone,4,51,"phone_rotom,phonerotom,rotomphone"
+rokan_(rokanartz),4,51,
+rodeo,0,51,
+rock_climbing,0,51,
+rock_band,0,51,
+robin_(submarine_screw),4,51,
+richard_conrad,4,51,
+reyn_goldfur,1,51,reyn_puppeh
+rex_(cat),5,51,rex_cat
+renge0101,1,51,
+reloading,0,51,
+relicanth,5,51,
+regnar,1,51,
+redo_of_healer,3,51,
+red_guy_(dhmis),4,51,
+red_(redeye),4,51,
+red-eyed_treefrog,5,51,"red-eyed_tree_frog,red_eyed_tree_frog,red_eyed_treefrog"
+randal_hawthorne,4,51,
+radiation_symbol_print,0,51,
+r'shiru_oddmane,4,51,
+queen_vinyl_da.i'gyu-kazotetsu,4,51,
+queen_haven_(mlp),4,51,
+quartz_(kitfox-crimson),4,51,
+pustyxox,1,51,
+purple_rope,0,51,
+purple_frill,0,51,
+punkpandora,1,51,punk-pandora
+punklestia_(mlp),4,51,
+ptosis,0,51,
+psychobun,1,51,
+proxicute,1,51,
+print,0,51,
+prince_tricky,4,51,
+pregnancy_tally,0,51,
+powfeen,1,51,lofitoffee
+pooping_in_mouth,0,51,
+poop_creature,5,51,
+poneboning,1,51,
+poncho_(artist),1,51,
+polidog_patrol,3,51,
+poland,0,51,
+poiuytrew,1,51,
+pixel-prism,1,51,
+pip_mcgraw,4,51,
+pink_eyelashes,0,51,
+pink_blood,0,51,
+philip_j._fry,4,51,philip_j_fry
+phasmid,5,51,"phasmatodea,stick-bug,stick_bug,stick_insect,stickbug"
+perineum_lick,0,51,taint_lick
+penny_pound,4,51,
+peeing_into_pool,0,51,
+pear_(don_ko),4,51,
+pcraxkers,1,51,
+pattern_boxers,0,51,
+partners,0,51,
+parkour,0,51,
+parapet,0,51,
+panel_gag,0,51,
+paleoart,0,51,
+paintbrush_tail,0,51,
+osaki_eru,1,51,"eru,eruwhite,oosaki_eru"
+orion_(jacobjones14),4,51,
+ocho,1,51,
+nuba_ball,1,51,
+noz_orlok,4,51,
+normal_kyurem,5,51,
+normal_castform,5,51,"castform_(normal),castform_(normal_form),castform_(normal_forme),castform_(original),castform_(original_form),castform_(original_forme),castform_(standard),castform_(standard_form),castform_(standard_forme),castform_normal,castform_normal_form,castform_normal_forme,castform_original,castform_original_form,castform_original_forme,castform_standard,castform_standard_form,castform_standard_forme,normal_form_castform,normal_forme_castform,original_castform,original_form_castform,original_forme_castform,standard_castform,standard_form_castform,standard_forme_castform"
+noh_mask,0,51,"no-men_mask,no_men_mask,nō-men_mask,omote,omote_mask"
+noahsense,1,51,
+no_game_no_life,3,51,
+nikolai_(the_smoke_room),4,51,
+niko_(paintchaser),4,51,
+nightingtail,1,51,nightingale_(artist)
+nicole_(foxnick12),4,51,
+nico_(foxmusk),4,51,
+neon_j.,4,51,
+nekonny_(fursona),4,51,
+neko_kaminari80,1,51,
+nebula_(fvt),4,51,
+naxther,4,51,
+natsu_(natsu_o3o),4,51,
+naskatan,4,51,
+naruto_shippuden,3,51,
+naomi,4,51,
+nanako,4,51,
+nabi,4,51,
+mythruna,1,51,
+myrina_(o_im_soniic),4,51,
+myoti,1,51,
+my_singing_monsters,3,51,msm
+mutt_moth,5,51,
+multicolored_sclera,0,51,"multicolored_eye_membrane,multicolored_eye_white,multicolored_eye_whites,multicolored_outer_eye,multicolored_sclerotic_coat,multicolored_white_of_the_eye,multicolored_white_of_the_eyes,multicolored_whites_of_the_eye,multicolored_whites_of_the_eyes"
+multicolored_necktie,0,51,multicolored_tie
+mrsorange,1,51,
+mrkashkiet,1,51,
+mrincred,1,51,
+moving,0,51,
+mourning,0,51,
+mooncheese,1,51,
+monster-chan,4,51,
+monotone_sweater,0,51,
+momiji_werefox,1,51,
+moana_waialiki,4,51,
+mizumew,1,51,
+misha_(colo),4,51,
+miranda_(heatboom),4,51,
+mira_(wetchop),4,51,mira_(hd01)
+minidress,0,51,
+milkybody,1,51,
+milkexplorer,1,51,
+mila.moraes,1,51,
+mighty_ducks,3,51,
+michelle_(disambiguation),6,51,michelle
+michael_caddell,1,51,"mike_caddell,romus_z,romusz"
+micah,4,51,
+miasma_velenosa_(miasmium),4,51,
+mew_(helixjack),4,51,
+message_box,0,51,
+mentaiko,1,51,
+meltan,5,51,
+mavi,4,51,
+mattumby,1,51,
+marshiro,1,51,
+marrazan,1,51,
+marie_rose,4,51,
+mantrinrus,1,51,
+mango,0,51,
+manestream_studios,1,51,
+mama_mango_(character),4,51,
+malyabay,4,51,
+magby,5,51,
+lynxia,1,51,
+lylas,1,51,
+lot_par,1,51,
+lonegreenorcacalf,1,51,
+lofiflavors,1,51,
+litho_sandoval,4,51,
+lilly_(disambiguation),4,51,lilly
+lilithrose,1,51,
+lexiedraw,1,51,
+leoafterhours,1,51,
+leo_(zourik),4,51,
+lemon_bread,4,51,
+leaf_pattern,0,51,
+lavender_(arizonathevixen),4,51,
+lariska_(diafilm),4,51,
+lance_(xevv),4,51,
+lagombi,5,51,snowbaron_lagombi
+lady_red_(wolfpack67),4,51,
+labbedog,1,51,
+kutar_g,1,51,
+kurt_the_thunderfloof,4,51,
+kung_fu_dino_posse,3,51,
+kousen,1,51,
+koska_(diafilm),4,51,
+komi-san_wa_komyushou_desu,3,51,
+kokobuttz,1,51,
+kittytitikitty,1,51,
+kithawkins,1,51,
+kit-bash,1,51,
+kimberly_ann_possible,4,51,
+killboo,1,51,
+kif_yppreah,4,51,
+kevin_(kadath),4,51,
+kawa,4,51,
+katzun,4,51,
+kasetsu_hanga,1,51,
+karatakewari,1,51,
+kaizer_(showkaizer),4,51,
+kaa_bakensobek,1,51,"kaa_(artist),kaa_starhunter"
+justin_(nimh),4,51,"justin(nimh),justin_(the_secret_of_nimh)"
+johanna_(paledrake),4,51,
+jim_(tfwnocatgirlgf),4,51,
+jetski,0,51,
+jericho_(ahoge),4,51,
+jeremy_(topazknight),4,51,
+jellicent,5,51,
+jay_malamute,1,51,jusu_kilappa
+jane_(jakethegoat),4,51,
+jamkitsune,1,51,
+jakeseeker,1,51,
+jake_thumpings,4,51,
+jajala,1,51,
+jagal,1,51,"casimirr,jagal_(artist)"
+jade_(batartcave),4,51,jade_(pelao0o)
+jacob_sheep,5,51,
+jack_skellington,4,51,
+jack_mulroney,1,51,
+iriai_inasa,1,51,
+ira-arn,1,51,
+inuiookawa,1,51,
+indiana_jones_(franchise),3,51,
+imminent_death_by_snu_snu,0,51,
+imato,1,51,
+ihara,1,51,
+ichigo,4,51,
+hynik_(artist),1,51,
+houzie,4,51,
+hot_breath,0,51,
+horus_wild,4,51,
+hopfel,1,51,
+hoodah,1,51,
+holding_mace,0,51,
+holding_back,0,51,
+highheeledjill,1,51,high-heeled_jill
+hellraiser,3,51,
+helena_(paledrake),4,51,
+heart_hat,0,51,
+hazelninetales,1,51,
+harpie_lady,4,51,
+haratuka,1,51,
+hanna_bee_(slb),4,51,
+hands_on_own_face,0,51,
+hands_on_another's_head,0,51,
+hanako_(ayaka),4,51,
+hamakei,5,51,
+haley_baxter,4,51,
+gwen_stacy,4,51,
+growing_up,0,51,
+groucho_(animal_crossing),4,51,
+greyofpta,1,51,
+grey_seer,4,51,
+grey_goggles,0,51,"gray_goggles,grey_googles"
+greenbeanyeen,1,51,
+green_backpack,0,51,
+greek_text,7,51,
+grandmother_and_granddaughter,0,51,"granddaughter/grandma,granddaughter/grandmother,granddaughter_and_grandma,granddaughter_and_grandmother,grandma/granddaughter,grandma_and_granddaughter,grandmother/granddaughter"
+graft_(artist),1,51,
+goss_harag,5,51,
+good_guy_loses,0,51,
+gold_dragon,5,51,golden_dragon
+gobtober,3,51,
+giselle_(open_season),4,51,
+gingersnaps_(oc),4,51,
+gin_(chunkyboardad),4,51,
+gatto_(kitty_pride),4,51,
+garigari,1,51,"dr_skinny,ガリガリ博士"
+gahowolf,1,51,
+furrowed_eyebrows,0,51,
+furrholic,1,51,
+furpics,1,51,
+funny_gay_rat,4,51,
+foxserx,1,51,
+foxey_(artist),1,51,
+forurune,1,51,
+forsakenmaddness,3,51,
+flybeeth,1,51,
+florin_eventide,4,51,flo_(hiccupsdoesart)
+flightless,1,51,
+flicklock,1,51,
+firenox1559,1,51,
+filled_condom_pullout,0,51,
+fetishbruary,0,51,
+felixspeagel,1,51,
+feces_on_tail,0,51,
+feces_on_balls,0,51,
+farath,4,51,
+fane_kobalt,4,51,
+fake,0,51,
+evlass,1,51,
+evilbunnyking,1,51,
+ember_(angstrom),4,51,
+elsifthewolf,4,51,
+elmo-san,1,51,
+electro_tiger,4,51,
+electric_razor,0,51,
+edgar_vladilisitsa,4,51,
+dusty_(balto),4,51,
+dusa_(hades),4,51,
+dumb-bell_(mlp),4,51,dumbbell_(mlp)
+dumb,0,51,
+due,0,51,
+dualsense,3,51,
+drying_hair,0,51,
+drakedragon,1,51,
+dragonewt,5,51,
+dragon's_lair,3,51,
+double_tail,0,51,
+doppledadko,1,51,
+doodlebunnyart,1,51,
+donation,0,51,
+dolph_(beastars),4,51,
+document,0,51,
+dizzydills,1,51,
+distraction,0,51,
+dirtyboy,1,51,
+diaper_bag,0,51,
+diana,4,51,
+detra,1,51,
+delilittle,1,51,
+decora_(fashion),0,51,
+dativyrose,1,51,
+daryl_nimble,4,51,
+darkcresentskymin,1,51,
+dark_the_xenodragon,4,51,
+dark_tatsuka,1,51,dark韃可
+darius_(kemo_coliseum),4,51,
+darius_(fullmetal_alchemist),4,51,
+darbo,4,51,
+danarius_valterian,4,51,
+cyndi,1,51,
+cyd_(animal_crossing),4,51,
+cum_on_ceiling,0,51,
+cum_inside_without_penetration,0,51,
+cum_in_bladder,0,51,
+cubble_chubb,1,51,"cubble_chubb_(artist),cubblechubb,cubblechubb_(artist),thatchubb"
+crystalvapor,1,51,
+crotch_cutout,0,51,
+crissrudolf,4,51,
+crisp_the_wolf,4,51,
+crazy-matroskin55,1,51,
+covering_erection,0,51,
+counter-strike,3,51,counter_strike
+countdarkhugs,1,51,
+corrin_(fire_emblem),4,51,
+con_badge,0,51,
+comet_the_dog,4,51,
+coiljob,0,51,
+code_geass,3,51,
+cocoa_(3mangos),4,51,
+cock_birth,0,51,
+coat_of_arms,0,51,
+clitellum,0,51,"annelid_belt,annelid_clitellum,annelid_clitelum,annelid_saddle,clitelum,earth_worm_belt,earth_worm_saddle,earthworm_belt,earthworm_saddle,saddle_(anatomy),saddle_(feature),worm_belt,worm_saddle"
+civibes,1,51,
+chips_(disambiguation),6,51,chips
+chipmunk_humanoid,5,51,
+chevronfox,1,51,
+chad_(meme),3,51,
+catherine_(datbadger),4,51,
+casy_the_wolfcat,4,51,
+carl_hendricks,4,51,
+capra_goofus,1,51,
+camwhoring,0,51,
+bǐnggān,4,51,"binggan,binggan_(diives)"
+buttpalace,1,51,
+butt_torture,0,51,
+business_dragon_(coolryong),4,51,
+bunny_slippers,0,51,
+buckskin,0,51,
+brown_shell,0,51,
+broken_weapon,0,51,
+brewster_(animal_crossing),4,51,
+breasts_and_teats,0,51,
+bouncing_ears,0,51,
+boss_(hamtaro),4,51,
+boku_(character),4,51,
+body_inflation,0,51,
+bobo_(bristol),4,51,
+boardmindless,1,51,
+blue_whale,5,51,
+blaze_(mglblaze),4,51,
+blaze_(agitype01),4,51,
+blacklight_(character),4,51,
+blackfang,4,51,
+black_blood,0,51,
+biomutant,3,51,
+big_blue_bubble,3,51,
+bedframe,0,51,
+becky_(disambiguation),4,51,becky
+beardie_(artist),1,51,
+bay,0,51,
+barricade_tape,0,51,
+barbary_macaque,5,51,
+bagel,0,51,
+backwards_cap,0,51,
+babylonian_mythology,3,51,
+b9tribeca,1,51,
+avalenna,4,51,
+aurora_(kamikazekit),4,51,
+ask_princess_molestia,3,51,
+artolius,1,51,
+ari_(caudamus),4,51,
+archspirigvit,1,51,
+arching_back,0,51,
+anyare_(character),4,51,
+anus_behind_thong,0,51,
+antylamon,5,51,
+anthromate,3,51,
+animal_bride,0,51,
+angelickiddy,1,51,
+andy_price,1,51,
+andalusian_horse,5,51,spanish_horse
+amarali_(artist),1,51,
+alexmakovsky,1,51,
+alexis_(breathoftime),4,51,
+alan_(beez),4,51,
+aether_foundation,3,51,
+aerobics,0,51,
+acacia,4,51,
+abyssal_(kancolle),5,51,
+a_z_artist,1,51,
+0711kdes,1,51,
+zwitterkitsune_(character),4,50,
+zsloth,1,50,
+zoqi,4,50,
+zipper_swimwear,0,50,
+zionnicoz,1,50,
+zebrov,1,50,
+zak_(dragon_tales),4,50,
+yuki_(quin-nsfw),4,50,
+yom_mido_plus,1,50,
+yaegerarts,1,50,
+yaco_puma,4,50,
+xodious,4,50,
+xdragoncam,1,50,
+x13,1,50,
+x-teal2,1,50,x-teal
+wrenzephyr2,1,50,
+wolfport,0,50,
+wishiwashi,5,50,
+wiping_sweat,0,50,
+willion,4,50,
+will-o-wish~,1,50,
+wildclaw_dragon,5,50,
+whyte_(daemon_lady),4,50,
+whitesky,1,50,
+werelion2003,3,50,
+weebl,1,50,
+wear,0,50,
+water_tower,0,50,
+warfarin_(arknights),4,50,
+wankerscramp,1,50,
+waniharu,1,50,わにはる
+voyagersscrapbook,1,50,
+vixy_(vixynyan),4,50,
+vivisection,0,50,
+villettio,1,50,
+vials,0,50,
+vascular,0,50,
+vargg,4,50,
+utilizator,1,50,
+unknownspy,1,50,
+tylowell,1,50,
+tylon,4,50,
+two_tone_elbow_gloves,0,50,
+two_tone_arm_warmers,0,50,
+two_handed_weapon,0,50,
+tuntematon,4,50,
+tullem,4,50,
+tucakeane,4,50,
+tsukaimon,5,50,
+trusting,0,50,
+trumbeak,5,50,
+truce,1,50,"holcomb,mudwolfy"
+triss_merigold,4,50,
+tricolor_fur,0,50,
+tremors,3,50,
+trashcamell,1,50,
+toxic_waste,0,50,
+touching_shoulder,0,50,
+touching_own_breast,0,50,
+tortoiseshell_cat,5,50,tortoise_shell_cat
+torchembers,1,50,melinae_ratel
+topony,1,50,
+tonomori_suguru,4,50,
+tom_(rq),4,50,
+tokyo_mew_mew,3,50,
+toha_a'nassura,4,50,
+timon's_ma,4,50,"timon's_mom,timon's_mother,timons_ma,timons_mom,timons_mother"
+timburr,5,50,
+thinking_pose,0,50,
+therealf1rebird,1,50,
+thenomeking,4,50,
+themanwithnobats,1,50,
+thelousy,1,50,
+thediyemi,1,50,
+the_quick_draw_mcgraw_show,3,50,
+the_mask,3,50,
+the_legend_of_zelda:_twilight_princess,3,50,
+the_fangs_palace,3,50,
+the_adversary,4,50,
+text_on_vest,0,50,
+tesslashy,1,50,
+terra,4,50,
+tenuousoddity,1,50,
+template93,1,50,
+technicolor_yawn,0,50,"rainbow_barf,rainbow_vomit"
+task_(the-minuscule-task),4,50,
+tan_underwear,0,50,beige_underwear
+tammy_vixen,4,50,
+talyxian,5,50,
+tales_of_androgyny,3,50,
+tala_grovehorn,4,50,
+taira_(totesfleisch8),4,50,
+sylvia_(ratherdevious),4,50,
+switchy_(joaoppereiraus),4,50,
+swfpony,1,50,
+suicidebones,1,50,
+suggestive_posing,0,50,
+studiofow,1,50,
+stiban_(character),4,50,
+stephen_wintre,4,50,
+star_tattoo,0,50,
+ssurface3d,1,50,
+sr-71,0,50,
+spoink,5,50,
+spartan_armor_(roman),0,50,
+space_dog,5,50,
+soukouryu,1,50,"soukoudragon,装甲,装甲龍"
+soleil_(keffotin),4,50,
+snuggelina,4,50,
+smug_nuggets,1,50,
+smaller_non-humanoid_machine,0,50,
+sleepysheepy17,1,50,
+skylordlysander,1,50,
+skeleslay,1,50,
+sine_(character),4,50,
+sin_cyan06,1,50,
+simple_eyebrows,0,50,
+silvana_(silviathepony),4,50,
+sigmarion,1,50,
+sibi_the_messtress,1,50,
+short_beak,0,50,
+shockwave,0,50,
+shinyuu_(character),4,50,
+shinki_(artist),1,50,
+shinekolt,1,50,
+shiki_taigen,4,50,
+shikakaka,1,50,
+shaymee_(lunaris_parukia),4,50,
+sextember,3,50,
+seth65,1,50,
+sentry_turret_(portal),4,50,
+sejha,1,50,"gdelscribe,gdelscribe_(artist)"
+sein,4,50,
+seductivesquid,1,50,
+security_uniform,0,50,
+sea_angel,5,50,
+scream_(artist),1,50,
+scp-173,4,50,
+scottieman,1,50,
+sco0t,1,50,
+scene_parody,0,50,
+sateco,1,50,
+sashacakes,1,50,
+saphine,1,50,
+santy,1,50,
+sakuroma_(retrospecter),4,50,
+sadomasochism,0,50,
+sa_ba_can,1,50,
+rusk07,1,50,
+ruruscube,1,50,
+rurik_(metalmilitiaman),4,50,
+rubido_(null-ghost),4,50,
+rriesgo,1,50,
+roy_(roy_mccloud),4,50,
+roobin,1,50,
+rolz,1,50,
+rokoa,4,50,
+rockstar_freddy_(fnaf),4,50,
+rockii,1,50,
+roamingthrough,1,50,
+rivia_green,4,50,
+riku_tachibana,4,50,
+rhyme,0,50,
+reyna_(lamont786),4,50,reyna_the_renamon
+renabu_(character),4,50,
+reggie_(thenowayout),4,50,
+red_apple,0,50,
+reality_undoer,1,50,
+razzlespup,1,50,
+razalor,1,50,
+raxastake,1,50,
+rawenski,1,50,shadow_rawen
+rasenxoru,1,50,
+rammionn,1,50,
+rakan_(lol),4,50,
+raditas,4,50,
+quiet269,1,50,
+queen_octavia_(teathekook),4,50,
+putting_on_clothes,0,50,
+purple_clitoris,0,50,purple_clit
+purmoral,1,50,
+pura_(crash_bandicoot),4,50,
+puppysky,4,50,
+pulling_down_pants,0,50,
+pukkunnnn,1,50,
+pui_pui_molcar,3,50,
+psithyrus,1,50,
+protective_gear,0,50,
+professor_venomous,4,50,
+pringles,3,50,
+princess_carry,0,50,
+prince_puck_(character),4,50,
+prancer,4,50,
+powerful,0,50,
+pouty,0,50,
+ponepony_(oc),4,50,
+pommyn64,4,50,
+pokéball_clothing,0,50,"poke_ball_clothing,pokeball_clothing,poké_ball_clothing"
+pointed_cross,0,50,
+plaguedoctorprincess,1,50,
+pix_(lol),4,50,pix_(league_of_legends)
+pipelining,0,50,
+pinktaco,1,50,
+pinknuss,1,50,
+pink_rathian,5,50,
+pig_sister_(study_partners),4,50,
+phyrexian,5,50,
+phoenix_wright,4,50,
+petal_(petal11),4,50,
+permagrin,0,50,
+pens,0,50,
+penny_(natani),4,50,
+penis_on_pussy,0,50,
+pekoe_(animal_crossing),4,50,
+pd_(artist),1,50,
+pbs_kids_(copyright),3,50,
+patrick_fitzgerald,4,50,
+pat_(bluey),4,50,
+pat,0,50,
+parovozik,1,50,
+parker_(kibbleztheyeen),4,50,
+pandyshera,1,50,
+painterly,0,50,
+paganee,1,50,
+pablo_palafox,1,50,
+p90,0,50,
+oz_(tas),4,50,
+oshawott222_(artist),1,50,
+ornateraven,1,50,
+orange_head,0,50,
+oral_fingering,0,50,
+open_jumpsuit,0,50,
+omez,1,50,
+olive_(olive1155),4,50,
+officialpeachbumz,1,50,
+nyreen_kandros,4,50,
+nova_(xen),4,50,
+nosepass,5,50,
+nom_nom_(wbb),4,50,
+noichi_53,1,50,
+nira_(unrealcereal),4,50,
+nipple_shield,0,50,
+ninjask,5,50,
+niking,1,50,
+nightwind,4,50,
+nerd_(character),4,50,
+neelam,4,50,
+naughtybigdog,1,50,
+nap_zack,4,50,
+nalica,4,50,
+myojinius,1,50,
+my_little_pony_'n_friends,3,50,
+mutlicolored_hair,0,50,
+mutagen,0,50,
+muscular_and_chubby_female,0,50,
+murlik,1,50,
+multicolored_pseudo_hair,0,50,
+multicolored_nails,0,50,
+mosasauroid,5,50,mosasaur
+moriarty_(sherlock_hound),4,50,
+mordecai_heller,4,50,
+moonlight_raven_(mlp),4,50,
+molten_freddy_(fnaf),4,50,
+moldred,3,50,
+mofumofu,1,50,"t4483667,もふもふ"
+mklxiv,1,50,
+mira_(1-upclock),4,50,milftar
+minze,1,50,
+minosuke_mino,4,50,
+minamikoboyasy,1,50,
+milk_can,0,50,
+mezzanine_(artist),1,50,
+meowscular_chef,4,50,
+meltingfoxy,1,50,
+melony,4,50,
+mega_mewtwo_x,5,50,
+meep_(artist),1,50,meep.
+mcmadmissile,1,50,
+matoran,5,50,
+matcharyu,1,50,
+marsupial_humanoid,5,50,
+marik_azemus,4,50,
+manumaru,4,50,
+mana_(manaozyfolf),4,50,
+mama_rabbit_(tmftw),4,50,
+makumo,1,50,
+magic_book,0,50,
+maggie_(kitty_bobo),4,50,
+maddencreatures,1,50,
+lynne,4,50,
+lustragon,1,50,
+lulemt,1,50,obpony
+luke_rider,4,50,
+lucknight,1,50,
+low_light,0,50,
+love_potion,0,50,
+lori_jackrabbit,4,50,
+loki_(tv_series),3,50,
+loki_(lowkeygoat),4,50,
+logan_sato,1,50,
+lipstick_on_breast,0,50,lipstick_on_breasts
+lionstorm,1,50,
+link_(linklynx),4,50,
+lightningknight,1,50,
+leon_(disambiguation),4,50,
+legends_of_chima,3,50,
+lazy_(elvche),4,50,
+lawn_mower,0,50,lawnmower
+lauralien,1,50,
+larrybay2,1,50,
+larger_pet,0,50,
+laptopgun,1,50,
+kyrie_(eleison),4,50,
+kumadasi,1,50,
+kullax,4,50,
+krishadraws,1,50,zeldrith
+koriarredondo,1,50,
+kordcross,1,50,
+kkatman,1,50,
+kiva_(partran),4,50,
+kitraandra,4,50,
+kit_fox,5,50,kitfox
+kissing_head,0,50,
+kiss_my_ass,0,50,
+killi_thaum,4,50,
+killer_croc,4,50,
+kieba,1,50,"doodleburr,kumafloof"
+ketzel99,1,50,
+kespuzzuo,1,50,
+keovi_(character),4,50,
+kennehbreen,1,50,
+kemokare,0,50,
+keleth,4,50,
+keil_kupfer,4,50,
+kebchach,1,50,
+kayla_(zoophobia),4,50,kayla_christling
+katt_vs._dogg,3,50,katt_loves_dogg
+katie_(echodiver),4,50,
+kastral,4,50,
+karen_(meme),3,50,
+kara_(karathefox),4,50,
+kapralpelikan,1,50,
+kaniku,1,50,
+kanakakia,1,50,
+kajex_surnahm,4,50,
+kaite,4,50,
+justvisitingg,1,50,
+justdavefnd,1,50,
+jupiter_(mastergodai),4,50,
+junkedart,1,50,
+juliantheturtle,1,50,
+juanonyx,1,50,
+jstarwolf13,1,50,
+jovi_cap,1,50,
+joe_dunn,4,50,
+jimmuarts,1,50,jimmuarts_(artist)
+jim_sugomi,1,50,
+jess_(azathura),4,50,
+jazzwolf,1,50,
+jayden_coultier_(zaush),4,50,
+jardenon,1,50,
+japanese_wolf,5,50,"honshu_wolf,honshū_wolf"
+jamie_(zootopia_fan_character),4,50,
+james_patterson_(author),3,50,
+jade_brewpaw,4,50,
+jade_(disambiguation),6,50,jade
+jabba_the_hutt,4,50,
+ishaway,1,50,
+isao_sakmat,4,50,
+irondragon5150,1,50,
+irc_(artist),1,50,
+inspector97,1,50,
+inari_okami,4,50,
+inabaart,1,50,
+implied_vaginal,0,50,
+ikusame,4,50,
+id_badge,0,50,
+hyper_triceps,0,50,
+huttsergreywolf,1,50,
+humanoid_penetrating_taur,0,50,hd/p/t
+housefly,5,50,
+horn_penetration,0,50,
+hop_(movie),3,50,
+hoodie_bodysuit,0,50,
+hooded_crow,5,50,"carog_liath,caróg_liath,danish_crow,gray_crow,grey_crow,hoodie_crow,scotch_crow"
+honey_(stagshack),4,50,
+holding_helmet,0,50,
+hipstar,4,50,
+hindu_mythology,3,50,indian_mythology
+himeros_(himeros),4,50,
+hidden_text,0,50,
+hidden_buxom,0,50,
+hicane_(character),4,50,
+hibris,1,50,
+hero_of_many_battles_zamazenta,5,50,"hero_of_many_battles_(zamazenta),hero_of_many_battles_zamazenta_form,hero_zamazenta,zamazenta_(hero),zamazenta_(hero_of_many_battles),zamazenta_(hero_of_many_battles_form),zamazenta_hero,zamazenta_hero_of_many_battles,zamazenta_hero_of_many_battles_form"
+heart_bra,0,50,"<3_bra,<3_bras,heart_bras,hearts_bra,hearts_bras"
+hauhau_mg,1,50,qwe741wsx123
+hatenna,5,50,"hattena,hattenna"
+hand_on_own_cheek,0,50,
+hand_mouth,0,50,
+hanar,5,50,
+hamsy,1,50,
+halvid9508,1,50,
+half_demon,5,50,
+half-dragon,5,50,
+hako,1,50,
+hair_trimming,0,50,"cutting_hair,hair_cutting,hair_trim,haircutting,trim_hair,trimming_hair"
+gynomorph_dominating_male,0,50,
+gusta_(gusta),4,50,
+grey_swimwear,0,50,"gray_swimsuit,gray_swimwear,grey_swimsuit"
+greldon,4,50,
+green_saliva,0,50,
+green_gem,0,50,
+gossifleur,5,50,
+goopy,0,50,
+gooey_(kirby),4,50,
+goddamnitrobin,1,50,
+glomp_(sound_effect),0,50,
+giving_up_the_ghost,0,50,
+girlfriend_(fnf),4,50,
+george_(bottler),4,50,
+general_(disambiguation),6,50,general
+gbwr,0,50,
+garrett_cooper,4,50,
+garret_(arofatamahn),4,50,
+gamesfan,1,50,
+fuurin_rei,4,50,
+fully_erect_inside_sheath,0,50,
+fuchikabi,1,50,
+fruit_bowl,0,50,
+frost,0,50,
+frecklethefox,1,50,
+frank-79,1,50,
+frame_blending,7,50,
+fozzey,1,50,
+forehead_kiss,0,50,
+foongus,5,50,foonguss
+fofa,4,50,
+flower_tattoo,0,50,
+flickering_sparkles,0,50,
+flay,4,50,
+fish_in_mouth,0,50,
+firewood,0,50,
+finfoka_starman,4,50,
+fido_(mlp),4,50,
+fenni,4,50,
+fappuccinoart,1,50,
+fanboy,0,50,
+fanatic-heretic-101,1,50,
+fake_pokémon_ears,0,50,
+f.l.u.d.d.,4,50,"f.l.u.d.d,flash_liquidizer_ultra_dousing_device,fludd"
+esmeralda_(disambiguation),4,50,esmeralda
+ennard_(fnafsl),4,50,
+ender_riens,4,50,
+enarane,1,50,
+emule,1,50,"emule_(artist),emulewd,emulewd_(artist)"
+emille_selachi,4,50,
+ember_mccleod,4,50,
+elysianelly,1,50,
+elsera,1,50,
+ellie_(cobalt_snow),4,50,
+elae_meltaea,3,50,
+ekran,3,50,
+einin,1,50,
+eiminsansan,1,50,
+egnahcio,1,50,
+dynamax_pokemon,5,50,
+dylian_hailford,4,50,
+dung_beetle,5,50,
+duck_lock,1,50,
+dress_removed,0,50,
+drcockula,1,50,
+drawfag,1,50,
+draki,4,50,
+drakengard,3,50,
+dracenmarx,3,50,
+donotdelete,1,50,david_nathan_dawkins
+dogbomber,1,50,
+dogbert,4,50,
+dipteran_humanoid,5,50,fly_humanoid
+diorionarh,1,50,
+diaper_disposal,0,50,
+diana_barron,1,50,
+desire_yoshi,4,50,
+dennis_pawers,1,50,
+denim_(artist),1,50,
+delorean,3,50,
+delinquent,0,50,
+deadlocked,1,50,
+dawkins_(101_dalmatians),4,50,
+darkeshi,1,50,
+darkburst_(artist),1,50,
+dark_brown_hair,0,50,
+dark_boots,0,50,
+dante_(101_dalmatians),4,50,
+dansyron,1,50,
+dani_(daniruu),4,50,
+dagantfus_(artist),1,50,
+d:<,0,50,
+cywolf49,1,50,
+cyrus_(repzzmonster),4,50,
+cynical_furo,1,50,
+curiousferret,4,50,
+cum_on_cake,0,50,
+cuisse,0,50,
+cuff_bracelet,0,50,
+crow_demon,5,50,
+crotch_crab,0,50,
+covered_eye,0,50,
+content_smile,0,50,
+companioncube,1,50,
+coiling_another,0,50,
+cobalt_canine,1,50,
+clover_(deltarune),4,50,
+clothing_by_feet,0,50,
+clock_tower,0,50,
+clitoris_rubbing,0,50,clit_rubbing
+cleo,4,50,
+circlea61,1,50,
+chronos_(dragalia_lost),4,50,
+chloe_(chloe.hydraconis),4,50,
+chingling,5,50,
+chili_pepper,0,50,"chile_pepper,chilli_pepper"
+cherry_pop,4,50,
+chelsea_(dkside41),4,50,
+cheetahpaws_(character),4,50,
+chase_the_otter,4,50,
+charlotte_(puella_magi_madoka_magica),4,50,"bebe_(madoka),bebe_(pmmm),bebe_(puella_magi_madoka_magica),charlotte_(madoka),charlotte_(pmmm)"
+ch40t1c,1,50,
+cecilia_rodica,4,50,
+cat_planet_cuties,3,50,asobi_ni_iku_yo!
+caracol,1,50,
+cannibalus,1,50,
+cancerdoge,1,50,
+cameron_(zootopia_fan_character),4,50,
+caltroplay,1,50,
+bureido,1,50,
+bunny_enid,4,50,
+bump_the_deer,4,50,
+bullstarhaku,1,50,
+brent,4,50,
+bravestarr,3,50,
+borges,1,50,
+blush_emoticon,0,50,
+blunted_horn,0,50,blunted_horns
+blue_jewelry,0,50,
+blue_egg,0,50,
+blue_(pokémon),4,50,blue_(pokemon)
+blue-wolfy,4,50,
+bludragoon,1,50,
+bloon,0,50,
+bloodsucker,5,50,
+blood_on_wall,0,50,
+black_soles,0,50,
+black_neckerchief,0,50,
+black_makeup,0,50,
+bindi,0,50,
+big_body,0,50,
+bento_box,0,50,
+benj24,1,50,
+belladonna_(all_dogs_go_to_heaven),4,50,belladonna_(adgth)
+bedhead,0,50,
+bead_bracelet,0,50,
+basi,4,50,
+bakufu,1,50,
+baku,1,50,
+backyardigans,3,50,
+back_stripes,0,50,
+axelegandersson,1,50,
+aurora_selachi,4,50,auroraselachi
+aurora_(purplebird),4,50,
+augie_doggie_and_doggie_daddy,3,50,
+assisted_autofellatio,0,50,
+ask-scylla,1,50,
+artamid,5,50,artamidae
+ars_goetia,3,50,
+arms_in_water,0,50,
+arm_fur,0,50,
+ari_yellow_bell,4,50,
+aohren,4,50,
+anus_mouth,0,50,
+angel_(lightsource),4,50,
+andythetanuki,1,50,
+amethyst_star_(mlp),4,50,"amethyst_star,sparkler_(mlp)"
+ambiguous_slit,0,50,
+alvaz,1,50,
+alucaje_(pixiv),1,50,
+alphabet_(mike_salcedo),3,50,
+alpha_blizz,4,50,
+alorias_(kasaiokami),4,50,
+alex_the_crocodile,4,50,
+aleon_the_hedgehog_(angeloid003),4,50,
+alecrc,1,50,
+ale,0,50,
+alabasterlion,1,50,
+akuann,1,50,アクアン
+aedollon,1,50,
+abuniverse,3,50,
+a0n,4,50,
+60_fps,0,50,
+11:15,7,50,
+zylothefusky,1,49,
+zulf,4,49,
+zo'dee,4,49,
+zinni,4,49,
+zero_escape,3,49,
+zephyr_(slates1n),4,49,
+zavian,1,49,
+young_justice,3,49,
+yoshioka_haru,4,49,
+yoona,1,49,よーな
+yetifish,1,49,
+yellowparrottw,1,49,
+yagatake_arashi,4,49,
+xiaoyaozhi,1,49,
+xennie,4,49,
+xelvy,1,49,
+x-red,1,49,
+wooden_shield,0,49,
+wood_elf,5,49,
+windows_xp,3,49,
+watching_from_afar,0,49,
+wao_(e-zoid),4,49,
+waffleirony,1,49,
+vorochi,1,49,
+volteer,4,49,
+vjmorales,1,49,
+vield_nevellinya,4,49,
+victor_(brushfire),4,49,
+vglewds,1,49,
+vent_art,0,49,
+venom_snake,4,49,
+valerie_veronica_winchester,4,49,
+val_mal,4,49,
+vaithun,1,49,
+urusei_yatsura,3,49,
+ursine_pussy,0,49,
+unusual_precum,0,49,
+two_tone_dildo,0,49,
+twistedg,1,49,
+tvard,1,49,
+turtlechan,1,49,
+trundle,4,49,
+trianglepapaya,1,49,
+treat,0,49,
+tranquill,5,49,
+trainer-kun,4,49,
+tragedy,0,49,
+tracy_(sugarnutz),4,49,
+touching_knee,0,49,
+touching_crotch,0,49,
+toonification,0,49,
+tod_d,1,49,
+tikki_(zonkey),4,49,
+tian-liao_lin,4,49,
+thwap,0,49,
+thirty_thirty,4,49,
+thelightsmen,1,49,
+thebravelittle,1,49,
+thebarabandit,1,49,
+thatphatbun,1,49,kay_wai
+text_on_briefs,0,49,
+tetrodotoxine,1,49,
+tesomu,1,49,
+tentacle_room,0,49,
+ten,1,49,
+tempson,1,49,
+teased,0,49,
+taweret,4,49,
+tamara,4,49,
+tall_girl,0,49,
+takakei1,1,49,
+tae,4,49,
+ta-ek,1,49,
+syn_(neurodyne),4,49,
+sylene_(blissey1),4,49,
+svadil_(character),4,49,
+supremekitten,1,49,
+supernatural,0,49,
+stubbornstallion,1,49,
+strength,0,49,
+sticks,0,49,
+stepfather,0,49,"step_dad,step_father,stepdad"
+stellizard,1,49,
+starberyl,1,49,
+star_decoration,0,49,
+squirrelpony,1,49,
+spotted_panties,0,49,
+speed,0,49,
+spectators,0,49,
+spanklet,1,49,
+spanish_fighting_bull,5,49,
+souffle_murdock,4,49,
+sorakan,1,49,"karakan,空缶"
+sora72iro_kaba9,1,49,
+snowers_(fan_character),4,49,
+snivybatt,1,49,
+sniffing_self,0,49,
+snegireva,1,49,
+snatcher_(ahit),4,49,
+smores_(ribbontini),4,49,
+smithy,0,49,
+small_moo,4,49,
+slit_knotting,0,49,
+sleep_talking,0,49,
+sitting_on_log,0,49,
+sirtoasterbutt,1,49,
+simon_7617118,1,49,
+sickeleye,1,49,
+shyama,4,49,
+shu-hoocooh,1,49,
+shoulder_angel,0,49,
+shiftry,5,49,
+sheori,4,49,
+sharemyshipment,1,49,
+shadowninja976,1,49,
+shadow2007x,1,49,
+sex_toy_in_nipple,0,49,
+seven_deadly_sins,3,49,
+sethy,4,49,
+seats,0,49,
+scourge_(warriors),4,49,
+scorpion_taur,5,49,
+scarred_for_life,0,49,
+scaroused,0,49,
+scarlanya,1,49,
+scaled_dragon,5,49,
+sardine_tin,0,49,
+sara_(spottyreception),4,49,
+sandlava,5,49,
+samurai_spirits,3,49,
+saltedtea,1,49,
+sakayasaka,1,49,byasaka
+sagadreams,1,49,
+sad_cat_dance,3,49,
+sachii_(resachii),4,49,
+sabah_(radarn),4,49,
+russo-ukrainian_war,3,49,russo-ukranian_war
+ruby_(chowdie),4,49,
+rose_(rosethegoat),4,49,
+rorix,1,49,
+ropnolc,1,49,
+rogialos,5,49,
+rodent_tail,0,49,
+rockstar_bonnie_(fnaf),4,49,
+ritz_(ritzcat),4,49,
+rimefang,4,49,
+ridleymorph,5,49,
+revealing_outfit,0,49,
+resting_on_condom,0,49,
+repgg,1,49,
+remonpie,1,49,
+relax_lion,1,49,
+reiji_tanukian,1,49,
+redcrystal,1,49,
+red_sky_fruit_strawberry_dragon,4,49,
+rebrokota,1,49,
+reallyreallybigbang,1,49,
+ravirr,1,49,"ravirr94,ravirr_94"
+ravi_whitefox,4,49,
+ramu,0,49,
+ram_(reptilligator),4,49,
+rahkshi,5,49,
+radiant_crown,0,49,
+rad-lizer,1,49,
+quiritum,1,49,
+quetzal,5,49,
+pussywillow_moonsugar,4,49,
+purple_slime,0,49,
+purple_gem,0,49,
+public_bath,0,49,
+psssh,0,49,
+pride_color_tank_top,0,49,
+predator_city,0,49,
+poz,0,49,
+pound_puppies,3,49,
+pot_leaf,0,49,
+pom_poko,3,49,
+pkay,4,49,
+pingumarci,1,49,
+ph0que,1,49,
+pettanko,0,49,
+perrox,1,49,
+percy_(lazysnout),4,49,
+penny_squirrel,4,49,
+penis_plug,0,49,cock_plug
+penis_on_paws,0,49,
+penis_on_back,0,49,
+penis_hot_dog,0,49,
+peewee,4,49,
+pc-doodle,1,49,
+pantyjob,0,49,
+panty_(pswg),4,49,
+p.chronos,1,49,
+oversized_weapon,0,49,
+otn_gag,0,49,
+osansyoup,1,49,
+ornate_hawk-eagle,5,49,ornate_hawk_eagle
+orenjisalmonpaw,1,49,"orenjisalmonpaw_(artist),sand1villalobos,sand1villalobos_(artist),villalobossand1,villalobossand1_(artist)"
+orangetaming,1,49,
+orange04,1,49,
+opstah,1,49,
+open_zipper,0,49,
+open_suit,0,49,
+opaline_(mlp),4,49,
+online,0,49,
+omoi,1,49,
+oki_(okami),4,49,
+okabe_masatsuna,4,49,
+octii,4,49,
+null_(nyanpyoun),1,49,
+nude_outside,0,49,
+nsfy_(artist),1,49,
+noupu1115,1,49,
+nose_steam,0,49,
+north_korea,0,49,
+noodle_(herpderplol),4,49,
+nomifuki,1,49,
+noctis_(kinkmasternero),4,49,
+no_wings,0,49,
+no_navel,0,49,
+nidrog,1,49,
+nezubunn,1,49,
+nexomon,3,49,
+nemonutkin,1,49,
+nelewdy,1,49,
+nekomellow,1,49,
+nejumipro,1,49,
+needler,0,49,
+nauiho,1,49,
+nanabi_ashiro,4,49,
+nairi:_tower_of_shirin,3,49,
+naganadel,5,49,
+mysteryboy18,1,49,
+multicolored_apron,0,49,
+muffin_(wuvmuffinz),4,49,
+mud_bath,0,49,
+ms._fortune_(toonstruck),4,49,"miss_fortune_(toonstruck),ms_fortune_(toonstruck)"
+mrmeatlovers,1,49,apizzatrash
+moonslurps,4,49,
+monotone_leash,0,49,
+molly_(hendak),4,49,
+mohitopaw,1,49,
+mocha_(mochalattefox),4,49,
+moba_(artist),1,49,
+mnty,1,49,
+mizue,1,49,
+mitei,1,49,
+missing_tail,0,49,
+mint_(disambiguation),6,49,"mint,mint_(character)"
+mina_(mlp),4,49,
+mighty_switch_force!,3,49,mighty_switch_force
+miasmagrowlmon,4,49,
+miagecko,1,49,
+meteorsmash,1,49,
+metallic_hair,0,49,
+mellany_mellons,4,49,
+megaprimatus_kong,5,49,
+mega_altaria,5,49,
+max_(james_howard),4,49,
+matzzacre,1,49,
+matching_outfits,0,49,
+mashiro_sssinohu,1,49,
+martina_(weaver),4,49,
+marine_explorer_buizel,4,49,"buizel_(psmd),explorer_buizel"
+marbola,1,49,
+manoreo,1,49,
+mangix_the_brewmaster,4,49,brewmaster_(dota)
+malivaughn,1,49,
+madame_le_floure_(mlp),4,49,
+madame_flurrie,4,49,
+m_ssk626,1,49,
+m115,1,49,
+lynn_white,4,49,
+lying_sex,0,49,
+luxx,1,49,
+lupisvulpes,3,49,
+lunchbox,0,49,lunch_box
+lumineon,5,49,
+lucifer_the_doom_bringer,4,49,
+lucas_(manedwolf),4,49,
+lorliz,1,49,
+lord_hater,4,49,
+long_teeth,0,49,
+llama_llama_(character),4,49,
+liver,0,49,
+linkxendo,4,49,
+linkaransfm,1,49,
+lilith_(disambiguation),4,49,lilith
+lifted_by_legs,0,49,
+lickagoat,1,49,
+lei_(pandashorts),4,49,
+leg_belt,0,49,
+leaving,0,49,
+leaf_censor,0,49,
+latricia,4,49,
+lara_(daniel156161),4,49,
+lair,0,49,
+lacrimal_caruncle,0,49,
+kylie_koopa,4,49,
+kyla_thompson,4,49,
+kuruko,1,49,
+kurobear,1,49,
+kuo0,1,49,
+kumamon,5,49,chackmon
+kristen_wolfheart,4,49,
+kougra,5,49,
+koufun,1,49,
+koko_(youki029),4,49,
+kobold_thief,4,49,
+knocking_on_door,0,49,
+knitting_needle,0,49,"knitting_needles,knitting_pin,knitting_pins"
+kitsune-2000,1,49,
+kitsuakari,1,49,
+kinnni-chan,1,49,kinnni_chan
+kiba_insugia,4,49,
+khan_maykr,4,49,
+keyholding,0,49,
+kennen4,1,49,tlsdn154
+ken_masters,4,49,
+katie_dodd,4,49,
+kate-nikki,1,49,
+kara_(raptor007),4,49,
+kaotikjuju,1,49,
+kamabokobun,1,49,
+kahvi_(coffeesoda),4,49,
+justin_(aaron),4,49,
+just_app1e,1,49,
+julius_(hugetime),4,49,julius_(hugejewels)
+joyce_(totesfleisch8),4,49,
+jorts_(artist),1,49,jortsart
+jonatanm,1,49,
+john_(johnithanial),4,49,
+jodia_(zhanbow),4,49,
+jim_hawkins,4,49,
+jiggling_butt,0,49,
+jewel_(whitekitten),4,49,
+jet_set_radio,3,49,
+jessica_(fejess96),4,49,
+jennifer_(abluedeer),4,49,
+jenjen_(oyenvar),4,49,
+jehu_(sihai's_legacy),4,49,
+javier_(photolol.03),4,49,
+jaspian,4,49,
+jameslewis,1,49,
+jacky_(ayaka),4,49,
+jackie_moo,4,49,
+j'naiah_terran,4,49,
+ivka,4,49,
+italian_flag,0,49,
+irie-mangastudios,1,49,
+iridescent_fur,0,49,
+internal_kiss,0,49,
+inflatable_dildo,0,49,
+in_the_air,0,49,
+ike_(animal_crossing),4,49,
+idess,1,49,
+human_on_machine,0,49,
+holding_dress,0,49,
+holding_arrow,0,49,
+hiveswap,3,49,hive_swap
+hidro_(nekuzx),4,49,
+hguy44,1,49,
+helga_(world_flipper),4,49,
+helga_(iskra),4,49,
+heinkel,4,49,
+heavy_truck,0,49,
+heart_cluster,0,49,
+heart_clip,0,49,
+head_in_pussy,0,49,
+hc_svnt_dracones,3,49,
+hazardouskink,1,49,
+hax_(artist),1,49,
+harusupu,1,49,ハルスプ
+harriet_(animal_crossing),4,49,
+hands_on_sides,0,49,
+hand_on_muzzle,0,49,
+hairy_ass,0,49,
+gulasauce_(artist),1,49,
+grizzly_(animal_crossing),4,49,
+grennadder,1,49,
+green_piercing,0,49,
+greaser,0,49,
+got_milk?,3,49,got_milk
+gooseberry_kobold,4,49,
+goodbadartist,1,49,
+goms,1,49,
+goldyura,5,49,
+goldenfur,3,49,
+gold_accessory,0,49,
+gokrakstyle,1,49,
+gohan,4,49,
+gobtober_2022,3,49,
+goatjeph,1,49,
+glury_the_unown,1,49,
+glistening_head,0,49,"head_shine,shining_head,shiny_head"
+glacierdragoon,1,49,
+giraffe_humanoid,5,49,
+genji,4,49,
+genchi,1,49,
+garter_snake,5,49,"garden_snake,gardensnake,gartersnake,thamnophis"
+garnet_til_alexandros_xvii,4,49,
+gaping_cervix,0,49,
+galidor-dragon,1,49,
+gakuran,0,49,
+fuzzycoma,1,49,
+furry_logic,0,49,
+furrreun,1,49,
+full_nelson_position,0,49,
+frosty_the_snowman,3,49,
+frostbound,1,49,
+frisbee_in_mouth,0,49,
+freshly_uprooted,1,49,
+frankuwu,1,49,
+franklin_(series),3,49,
+franarok,1,49,
+foxcyen,1,49,
+foughtdragon01,1,49,
+forced_vore,0,49,
+foot_on_table,0,49,
+food_pony,5,49,
+flying_saucer,0,49,
+flushed_away,3,49,
+fluid_on_breasts,0,49,
+fluffyslipper,1,49,
+floofy_(character),4,49,
+floating_crown,0,49,
+flashequestria,1,49,
+flagging,0,49,
+flag_in_mouth,0,49,
+fishyboner,1,49,
+ffl_paris,1,49,
+featheryboy,1,49,
+fayrofire,1,49,
+fauna_island,1,49,
+fart_tubes,0,49,
+fantum_fox,1,49,
+fanta_(carrotfanta),4,49,
+fairdahlia,1,49,
+face_on_breast,0,49,
+face_covered,0,49,
+f_(mike_salcedo),4,49,
+exusiai_(arknights),4,49,
+expression_print,0,49,
+exploud,5,49,
+explicit_text,0,49,
+eurotrish,4,49,
+ethrk,1,49,
+esferaosamael,1,49,
+erynerikard,1,49,
+eroskun,1,49,
+eroberry,1,49,
+equestria_trainers_society,3,49,
+eonbound,3,49,
+emerald_(yuureikun),4,49,
+else_(masterful),4,49,
+ellie_(diamonsion),4,49,
+elephant_humanoid,5,49,
+edricmarcry,1,49,
+dvenadtsat_(character),4,49,
+duskcy,1,49,
+duo_(character),4,49,
+duck_(sarah_and_duck),4,49,
+dubindore,1,49,
+drawable_(artist),1,49,
+drake239,1,49,
+dragostewolf,1,49,
+dragon_quest_x,3,49,
+draco,4,49,
+double_entendre,0,49,
+dorsal_crest,0,49,
+doral,4,49,
+dontbeazombie,1,49,
+donkboy,1,49,
+dollification,0,49,
+doctor_stable_(mlp),4,49,doctor_stable
+dive_ball,0,49,
+disembodied_finger,0,49,
+discarded_bra,0,49,
+diesis_schmitt,4,49,
+diesel_(ralarare),4,49,
+devyshirehell,1,49,goatdevilwhite17
+destiny_blackmoon,1,49,
+desert_iguana,5,49,dipsosaurus
+desert_angels,3,49,
+descension,4,49,
+decapodian_(futurama),5,49,decapodian
+dark_mane,0,49,
+darc_sowers,1,49,
+danny_cat,4,49,
+danger_dolan,4,49,
+dakuten,1,49,
+daggers,0,49,
+d4,0,49,
+d._e._belton_(artist),1,49,
+cyril_(spyro),4,49,
+curled,0,49,
+cure_(character),4,49,
+cum_on_torso,0,49,
+cum_on_egg,0,49,
+crop_top_hoodie,0,49,
+critter,0,49,
+crispcactus,1,49,
+cracticinae,5,49,
+countershade_perineum,0,49,
+cooked_alive,0,49,
+concession,3,49,
+colette,4,49,
+cold_warrior,4,49,
+cock_armor,0,49,
+coat_rack,0,49,
+cloud_kicker_(mlp),4,49,cloud_kicker
+chubby_beach,3,49,
+choice,0,49,
+chocola_the_chao,4,49,
+chiro_(skweekers),4,49,
+chi_chi's_mom,4,49,
+cheyenne_(inu-dono),4,49,
+checklist,0,49,
+chat_window,0,49,
+charlie_peaches_(raunchyhaunches),4,49,
+chakat-silverpaws_(character),4,49,
+cerdeorhys,1,49,
+cassidy_(kaviki),4,49,
+canon_grimaldy,4,49,
+camillia_(camychan),4,49,
+cam_(artist),1,49,
+calvin_klein,3,49,
+calculator,0,49,
+buublybutt,1,49,
+butch_wanikami,4,49,
+bumblebun,1,49,
+bullseye_(artist),1,49,
+bug_net,0,49,
+buckler,0,49,
+buck_(disambiguation),6,49,"buck,buck_(character),bucks,bucks_"
+broken_leg,0,49,
+brelo_(artist),1,49,
+breast_curtains,0,49,
+brave_(disney),3,49,
+brask_vovik,4,49,
+bokkun,4,49,
+bluepanda1,1,49,
+blueberrysnow,1,49,
+blue_crest,0,49,
+blood_on_tongue,0,49,
+blood_on_tail,0,49,
+blob_creature,5,49,
+blackberry_(purplealacran),4,49,
+blaccura,1,49,
+bikini_briefs,0,49,
+bigbang,1,49,
+big_stomach,0,49,
+beth_gabriel_(lemonfont),4,49,
+bdmon,1,49,
+battle_damage,0,49,
+baroque,4,49,
+bandit_(holidaypup),4,49,
+balooga,1,49,
+ball_joints,0,49,
+bakap,1,49,
+bailey_rosworth,4,49,
+back_focus,0,49,
+b.cat,1,49,twbcat
+azumanga_daioh,3,49,
+azulejo,1,49,
+azalea_(sylmin),4,49,
+axelwolf,1,49,
+avionscreator,1,49,
+australian_magpie,5,49,
+aurora_(haven_insomniacovrlrd),4,49,
+aurelia,4,49,
+astrix,4,49,
+asekeu,1,49,
+artykfrozt,1,49,
+articfox,1,49,
+arrowdark,1,49,
+arlo_the_alligator_boy,3,49,
+archdemon,5,49,
+aqua_(nekuzx),4,49,
+antonio_(animal_crossing),4,49,
+antler_removal,0,49,antlers_removal
+ano_delta,1,49,
+angelfish,5,49,
+angara,5,49,
+anakitsune,1,49,
+ampz,4,49,
+ami_(oonami),4,49,
+amelia_raevert,4,49,
+alduinred,1,49,
+airisubaka,1,49,
+air_bound,3,49,
+aimkid_(copyright),3,49,
+aikan_(sisco),4,49,
+aerotransor,1,49,
+aedbc,1,49,
+adelbert,4,49,
+abigail_(musikalgenius),4,49,
+aafox196,1,49,
+aafiya_khalil_(spiff),4,49,
+a.,4,49,
+7oy7iger,1,49,
+4rurui,1,49,
+zynn,4,48,
+zwei_(rwby),4,48,
+zortie,1,48,
+zhenzi_(diives),4,48,
+zero_winchester,1,48,
+zero_iii,4,48,
+zeph_boone,4,48,
+yoda's_species,5,48,
+yin_(cerivano),4,48,
+yellow_vest,0,48,
+yaarp,4,48,experiment_613
+xilimyth,4,48,
+xenoyia,4,48,
+ws,1,48,
+wronglayer,1,48,
+wreckage,0,48,
+wrath_(changing_fates),4,48,
+wolf_(minecraft),5,48,
+winter_(yuki-the-fox),4,48,
+willemsvdmerwe,1,48,
+whooperscooper,1,48,
+white_thigh_boots,0,48,
+white_sleeves,0,48,
+white_jewelry,0,48,
+whiner,1,48,
+wetwasabi,1,48,
+werehusky,5,48,
+welding,0,48,
+washing_hair,0,48,
+wasabi_(aimbot-jones),4,48,
+walked_in_on,0,48,
+waiter_tray,0,48,
+wadanohara_and_the_great_blue_sea,3,48,
+vulpecula,4,48,
+vorry,1,48,
+vice_the_raccoon,4,48,
+vesper_bat,5,48,"common_bat,vespertilionid,vespertilionidae"
+verra,4,48,
+val-cat,1,48,
+usagi_star,1,48,
+usada_pekora,4,48,
+ursula_(furronika),4,48,
+urine_on_tongue,0,48,
+upshirt,0,48,
+unseenpanther,4,48,
+unsatisfied,0,48,
+unmakeyourself_(artist),1,48,
+unknown_artist_(artist),1,48,
+unhappy_raccoon,3,48,
+underground_(artist),1,48,
+unconventionalrender,1,48,
+umiriko,4,48,
+tumugiv,1,48,
+tuca_(tuca_and_bertie),4,48,
+trpcafterdark,1,48,
+tropicana,1,48,
+trbox,1,48,
+translucent_bikini,0,48,"see-through_bikini,see-thru_bikini,see_through_bikini,see_thru_bikini,sheer_bikini,transparent_bikini"
+transfer_birthing,0,48,
+toumoro_22,1,48,
+tototlfluff,1,48,
+torture_device,0,48,
+tortuga,1,48,
+toned_muscles,0,48,
+tko-san,1,48,
+tip,0,48,
+tiny_waist,0,48,
+tight_swimsuit,0,48,
+tied_to_dildo,0,48,
+theartsygirl94,1,48,
+the_whiteboard,3,48,
+the_walking_dead,3,48,
+the_roop,1,48,
+tharakaos,1,48,
+thanris_(thanris),4,48,
+tezcatl,4,48,
+tentacless,1,48,
+tenchi-outsuno,1,48,
+teenagebratwurst,1,48,
+teddiette,0,48,
+tech_the_renamon,4,48,
+teal_shirt,0,48,
+tankdragon,1,48,
+tamira_(rimba_racer),4,48,
+tamandua,5,48,
+tallstar_(warriors),4,48,talltail_(warriors)
+talin,4,48,
+talen,4,48,
+takuya_yamashita,4,48,
+tahoma_(evergreendrgn),4,48,tahoma_(morto)
+taba_(angryelanoises),4,48,
+swoon_song_(mlp),4,48,
+swirl_pattern,0,48,
+sushiotter_(artist),1,48,
+surrealism,0,48,
+sugar_cube,0,48,
+strawbear,1,48,
+story_seeker,4,48,
+stories:_the_path_of_destinies,3,48,
+statue_of_liberty,4,48,
+stars_around_body,0,48,
+stardust_(tricktrashing),4,48,
+star-rod,1,48,
+standing_on_tail,0,48,
+st.boogie,1,48,st._boogie
+squirt_(sound_effect),0,48,
+squid_girl_(series),3,48,
+spider-man:_into_the_spider-verse,3,48,
+spell_tag,0,48,
+spanklet_chocoa,4,48,
+soviet_flag,0,48,
+sorcery,0,48,
+sonic-mj,1,48,
+solarbyte,1,48,
+sokajou,4,48,
+sog_(squishy),4,48,
+snowing_outside,0,48,
+snorkasaurus,5,48,
+snapping_turtle,5,48,"chelydrid,chelydridae"
+smeared_makeup,0,48,
+slime_sex,0,48,
+sleepsack,0,48,
+skylar_wing,4,48,
+siqko,1,48,
+sinsigat,1,48,
+silvermist_(notglacier),4,48,
+signal_line,0,48,
+sifaka,5,48,sifaka_lemur
+sienna,1,48,
+shybun,4,48,
+shuza_(famwammer),4,48,
+shurya,4,48,
+short_hair_with_long_locks,0,48,
+shoebill,5,48,"balaeniceps,balaenicipitid,balaenicipitidae"
+shironeko_(doukutsunezumi),4,48,
+shiny_celebi_(eotds),4,48,shiny_celebi_(pmd)
+shiny_(disambiguation),6,48,"shine,shiner,shiners,shines,shiney,shineys,shinies,shinin,shinin',shining,shiny,shinys,shyne"
+shinooka,1,48,
+shin_(negger),4,48,
+sheriff_hayseed,3,48,
+sheeque,1,48,
+sharing_dildo,0,48,
+shallot_(hhc),4,48,
+shaffer,1,48,
+severed_hand,0,48,
+serareldeer,1,48,
+sedyana,4,48,
+scp-811,4,48,
+science_experiment,0,48,
+schism,4,48,
+sath15,1,48,
+satanbear,1,48,萌の傻蛋熊
+sarge_(braford),4,48,
+sana_(armello),4,48,
+samantha_wolf,4,48,sam_(stripedwolf)
+sam_(samwiding),4,48,
+salem_saberhagen,4,48,
+sakisukem,1,48,
+sahash,5,48,
+rush_(mega_man),4,48,rush_(megaman)
+ruki_(character),4,48,
+rubble_(paw_patrol),4,48,
+rovindeer,1,48,
+roger_wynne,4,48,
+rocky_mountain_goat,5,48,mountain_goat
+rob_(robcivecat),4,48,
+rio_(miu),4,48,
+rindeadsong,1,48,
+rimentus_(character),4,48,
+riley_(boneitis),4,48,
+revertigo,1,48,
+rena_(raptor007),4,48,
+remnartx,1,48,
+rei_(breath_of_fire),4,48,
+regys_(carp),4,48,
+reese,4,48,
+redrosid,4,48,
+red_rose,0,48,
+red_helmet,0,48,
+red_(angry_birds),4,48,
+rearing_up,0,48,
+reaper_bird,4,48,
+raykayra,1,48,
+ravenpen15,1,48,"ravencomb21,ravenpen21"
+ranga_(that_time_i_got_reincarnated_as_a_slime),4,48,
+rammus_(lol),4,48,
+ralefov,1,48,
+rainbow_ears,0,48,
+race_track,0,48,
+r2-d2,4,48,r2d2
+quantum_lapiz,1,48,
+purple_neck,0,48,
+puquanah,4,48,
+puffel,5,48,
+pubic_feathers,0,48,
+projectile_cum,0,48,
+prisma_faerdo,4,48,
+princely_(princelykaden),4,48,
+priestofjashin,1,48,
+pride_color_footwear,0,48,"pride_colors_footwear,pride_colour_footwear,pride_colours_footwear,pride_flag_footwear,pride_footwear"
+presentation,0,48,
+precum_on_chest,0,48,
+plum_(viroveteruscy),4,48,
+planks,0,48,
+pixelkebab,1,48,
+piper_(smuttysquid),4,48,
+pink_(frowntown),4,48,
+piekiller,1,48,
+pie_(food),0,48,
+phrynosomatid,5,48,"phrynosomatidae,phrynosomatinae"
+phantomx999,1,48,
+peregrine,1,48,
+penny_(ceeb),4,48,
+penile_squirting,0,48,
+peeing_out_of_fear,0,48,
+paw_on_chest,0,48,
+partially_submerged_arm,0,48,
+parker_(theredhare_and_demicoeur),4,48,
+palossand,5,48,
+pagoda,0,48,
+over_table,0,48,
+outstretched_leg,0,48,
+orangegoon,1,48,
+orange_stockings,0,48,
+oraderg,1,48,thefoxcastle
+onionsan,4,48,
+okko,1,48,
+officer_higgins,4,48,
+odium,4,48,
+nyu_(nyufluff),4,48,
+nyonyoimpact,1,48,
+nova-aurora,4,48,
+norang94,1,48,
+nipple_zipper,0,48,
+new_york_city,0,48,
+neshi_(character),4,48,
+nerond,5,48,
+nekosnicker,1,48,
+nekodon_san,1,48,
+neiiio,1,48,
+nebula_(toonsexual),4,48,
+ncr_ranger_(fallout),4,48,
+natalie_(graphite),4,48,
+naiterion,1,48,
+nael_deus_darnus,4,48,
+mysticaldark,1,48,
+mutant_(franchise),3,48,
+muscular_calves,0,48,
+multicolored_jacket,0,48,
+mrmilky,1,48,
+mr.gayle,1,48,
+mpanda_kuma,1,48,
+mouse_(maynara),4,48,
+mostly_offscreen_male,0,48,
+morrigan_(dragon_age),4,48,
+morgan_(rattfood),4,48,
+morbidly_obese_gynomorph,0,48,
+moose_(kemono_friends),4,48,
+moonblood,5,48,
+monette,4,48,
+moles,0,48,
+mokko,3,48,
+mochi,0,48,
+mobian_chipmunk,5,48,
+mm_(kilinah),4,48,
+mixxiwuff,1,48,
+misty_(lewdfruit),4,48,
+miss_cougar_(new_looney_tunes),4,48,
+mipsmiyu,1,48,
+minoss,1,48,
+ming-ming,4,48,
+mine_yoshizaki,1,48,yoshizaki_mine
+mimi_(mr.smile),4,48,
+milochu,4,48,
+milo_(aliclan),4,48,
+milkette,4,48,
+milk_jug,0,48,
+mia_ryder,4,48,
+mephistopheles_(tas),4,48,
+meo_the_meowth,4,48,
+menma911,1,48,
+mel_price,4,48,
+meken,1,48,chillchell
+megan_(animal_crossing),4,48,
+mega_gallade,5,48,
+medjed,4,48,
+mechanical_bull,0,48,
+mayoooon_626,1,48,
+maximilo,1,48,
+maxillopod,5,48,maxillopoda
+maurice_(nexus),4,48,
+matthew_taranto,1,48,
+matidramon,1,48,
+maskedfurry,1,48,
+maruku,1,48,
+marty_shepard,4,48,
+marshall_(echofireant),4,48,
+mario_and_sonic_at_the_olympic_games,3,48,
+mapleblush,1,48,
+manokit,5,48,
+mandy_(tgaobam),4,48,
+makuhita,5,48,
+magnadramon,5,48,holydramon
+magic_aura,0,48,
+mac-10,0,48,
+lynn_(twokinds),4,48,
+loudred,5,48,
+lost_(series),3,48,
+looking_out_window,0,48,
+long_toes,0,48,
+long_mustache,0,48,
+loki_rel_zephyr,4,48,
+logo_print,0,48,
+locust_(gow),5,48,
+lisyra_(avelos),4,48,
+lily_foxworthy,4,48,
+likkezg,1,48,
+light_back,0,48,
+lifting_up,0,48,
+lifting_belly,0,48,
+libri,4,48,
+lewdbones,1,48,
+leostar,4,48,
+leloli,1,48,
+lekismon,5,48,
+leaning_on_tree,0,48,
+latex_dress,0,48,
+larretthekinkyferret,1,48,
+landing_strip,0,48,
+lagomorph_taur,5,48,
+kyouman,1,48,
+kumedaira,1,48,
+kralex,4,48,
+kouya_wulfhardt,4,48,
+kotaro_kurokawa,1,48,
+komi_shouko,4,48,
+kody_(pudgeruffian),4,48,
+kneeling_in_water,0,48,
+kneading,0,48,
+kitsunekit,1,48,
+kiro,4,48,
+kirena-kaya,1,48,
+kirby_star_allies,3,48,
+king_of_thorn,3,48,
+kid_buu,4,48,
+kia,4,48,
+ketu,4,48,
+kettlebell,0,48,
+keki_(kekitopu),4,48,
+keisatsu_dog_(sususuigi),4,48,
+keilani,4,48,
+keidragons,1,48,
+kcee,1,48,
+kaya_(twin_dragons),4,48,
+karyn_urtsakar,4,48,
+kanaking,1,48,
+kanagawa_kitsune,4,48,
+kampyo,4,48,
+kaiberu,1,48,
+kabuki_trim_furfrou,5,48,"furfrou_(kabuki),furfrou_(kabuki_form),furfrou_(kabuki_forme),furfrou_(kabuki_trim),furfrou_kabuki,furfrou_kabuki_form,furfrou_kabuki_forme,furfrou_kabuki_trim,kabuki_form_furfrou,kabuki_forme_furfrou,kabuki_furfrou"
+kabos,1,48,
+justduet,1,48,
+juno_lilikoi,4,48,
+jimsdaydream,1,48,
+jenn_(irkingir),4,48,
+jack_frost_(rotg),4,48,
+ivy_(paganee),4,48,
+ivan_(blackmailz),4,48,
+itf_transformation,0,48,
+isaribi,4,48,
+isaac_(trenchbound),4,48,
+inside_booth,0,48,
+implied_water,0,48,
+imminent_tickling,0,48,
+illis,1,48,
+ikuto_waon,4,48,ikuto_waoni
+igloo,0,48,
+id,0,48,
+ichiri,1,48,
+hyper_deltoids,0,48,
+human_on_monster,0,48,
+huge_wings,0,48,
+huge_sternocleidomastoid,0,48,
+honey_pussy_juice,0,48,
+honey_dip,4,48,honey_dip_(mlp)
+hole_in_ear,0,48,
+holding_scythe,0,48,
+holding_key,0,48,holding_keys
+hokin_the_bear,1,48,
+hitting_the_showers,3,48,
+hisuian_decidueye,5,48,
+himitsudragon,1,48,
+hideo_katashi,4,48,
+herba_(hasukii),4,48,
+helix_piercing,0,48,
+heatmor,5,48,
+heads_and_tails,3,48,
+hasukichi,1,48,
+haru_(hhc),4,48,
+haoming,1,48,
+hands_on_own_arms,0,48,
+hands_in_mouth,0,48,
+hand_spanking,0,48,
+hand_on_another's_leg,0,48,
+hamatnk,1,48,
+gunfire,0,48,
+groaning,0,48,
+grey_neckerchief,0,48,gray_neckerchief
+greenlion,1,48,lion_in_shadow
+grafaiai,5,48,
+graboid,5,48,"baby_graboid,dirt_dragon,grablite,shooter_(tremors),tu_lung"
+grabbing_pole,0,48,
+grabbing_own_breast,0,48,
+gozso-alako,1,48,
+goatboner_(artist),1,48,
+glowstone2001,1,48,
+glowing_orb,0,48,
+glistening_wings,0,48,shiny_wings
+glistening_teeth,0,48,shiny_teeth
+glare_(lighting),0,48,
+ginger_(elysian_tail),4,48,
+gigi_(sheepuppy),4,48,
+gibbon,5,48,"hylobatid,hylobatidae,hylobatidaen,lesser_ape,smaller_ape"
+giant_squid,5,48,
+gesugao,0,48,
+geomancing,1,48,
+gekishiro,1,48,"gekishiro1,げきしろ"
+gazebo,0,48,
+gasaiv,1,48,
+garrus_kayric,4,48,
+furry_sb,1,48,sbfurry
+furred_dragon_humanoid,5,48,"fluff_dragon_humanoid,furdragon_humanoid,furdrake_humanoid"
+furgonomic_footwear,0,48,
+fully_clothed_humanoid,0,48,
+fuketsudan,1,48,
+freenzy-plant,1,48,
+fr0stbit3,1,48,
+foulfrost,1,48,
+foretbwat,1,48,
+forced_erection,0,48,
+foot_on_shoulder,0,48,
+fluffyboobs,1,48,catbeansclub
+flop,0,48,
+flood_(halo),5,48,
+floatiesoda,1,48,
+flicky,5,48,
+flicking,0,48,
+flechette,4,48,
+flavia,4,48,
+flat_texture,0,48,
+flashing_light,0,48,
+flaminhotcheatoes,1,48,
+flamewolf22,1,48,tre_pinkney
+fizition,4,48,
+fizintine,1,48,
+fit_to_fat,0,48,
+fishnet_underwear,0,48,
+firael,1,48,
+fiona,4,48,
+finial,0,48,
+ferret-badger_(artist),1,48,
+fenefell,1,48,
+female_penetrating_herm,0,48,fm/p/h
+feet_over_edge,0,48,
+fawkesdrox,1,48,
+fatalsyndrome,1,48,
+fap_(sound_effect),0,48,
+fancy_rat,5,48,lab_rat
+familiarsaint,3,48,
+f0rever13,1,48,
+exv508,1,48,
+extreme_inflation,0,48,
+expressive,0,48,
+excessive,0,48,
+esmeralda_(riku9797),4,48,
+erza_scarlet,4,48,
+eri_(feral.),4,48,
+eraxa_(character),4,48,
+epsi110,1,48,
+epona_(quaraci),4,48,
+entering,0,48,
+enico,4,48,
+endie,4,48,
+emolga_1,1,48,
+emma_(shouk),4,48,
+emily_chan,1,48,silentreaper
+elmo,4,48,
+eixin,1,48,
+eggplantina,1,48,
+effects,0,48,
+ediblecrustables,1,48,
+e4hargus,1,48,
+dzk,1,48,
+drood,4,48,
+driver,0,48,
+dritazura,1,48,
+dripping_water,0,48,
+dragonslayer_ornstein,4,48,
+dragonflora,5,48,
+dragomar,4,48,
+draconic,5,48,
+draconian,5,48,
+douglas_(sqoon),4,48,
+dororo_(sgt._frog),4,48,
+dondon,1,48,
+dominic_pepe_(drboumboom32),4,48,
+doko_demo_issho,3,48,
+doctor_strange_(series),3,48,
+doctor_monifa,4,48,
+doberbrothers_comic,3,48,
+distantcognition,1,48,stingray970
+disaster_dragon,4,48,
+dexterlion,4,48,
+deus_ex,3,48,
+desoto_(disney),4,48,
+david_(misterstallion),4,48,
+daryl_(cringebird),4,48,
+dart_gun,0,48,
+darou,4,48,
+darknader,1,48,"breakingcloud,cloud_(artist),cloudypaws54"
+darkeye,4,48,
+dark_fingernails,0,48,
+darin,4,48,
+daelyhelaxon,1,48,
+daao_(petruz),4,48,
+curvy_anthro,0,48,
+cum_on_hips,0,48,
+cum_in_ears,0,48,
+cum_drenched,0,48,
+cuddlesong_(mlp),4,48,
+crotch_teats,0,48,
+courtney_brushmarke,4,48,
+cottonee,5,48,
+cotton_(locosaltinc),4,48,
+cote,1,48,
+cornelius_(commissioner),3,48,
+cookie_(diskofox),4,48,
+convenient_power,0,48,
+contemplating,0,48,
+conohacoconoka,1,48,
+combined_scene,0,48,
+combat_ready_(artist),1,48,
+colosseum,0,48,
+colored_fur,0,48,
+color_coded_thought_bubble,0,48,
+clown_paint,0,48,
+clothed_intersex_nude_female,0,48,nfci
+cloroxformius,1,48,cloroxformius_(artist)
+cloacal_vore,0,48,cloaca_vore
+cloaca_juice_string,0,48,
+clay_creature,5,48,
+city_wall,0,48,
+circa,1,48,
+cinn_delafontaine,4,48,
+chucklefish,3,48,
+chuck_(angry_birds),4,48,
+chromatophore,1,48,deeptriviality
+chigusa_amano,1,48,
+cheshire_cat_(disney),4,48,
+cheloniid,5,48,cheloniidae
+chase_(retriever),4,48,
+chacumera,1,48,
+cerberus_(resident_evil),5,48,
+celeste_(basketgardevoir),4,48,
+caust,4,48,
+caravan_stories,3,48,
+carapacian,5,48,
+canoe,0,48,
+buttonverse,3,48,
+butcher_knife,0,48,
+burstingseas,1,48,
+burntrap_(fnaf),4,48,
+burlington,4,48,
+burgerpocalypse,1,48,
+buns-n-spurs,1,48,
+bukka,4,48,
+brown_leash,0,48,
+brown_eartips,0,48,
+brown_antennae,0,48,brown_antenna
+broken_bed,0,48,
+breasts_in_face,0,48,
+breast_punch,0,48,"boob_punch,tit_punch"
+brawl_in_the_family,3,48,
+br'er_rabbit,4,48,brer_rabbit
+borahorn,4,48,
+boo_(boo3),4,48,
+boleroofbooty,1,48,
+blue_jockstrap,0,48,
+blue_head_tuft,0,48,
+blitza,4,48,
+blitz_the_seahawk,4,48,
+blissful,0,48,
+blemishine_(arknights),4,48,
+blastgoggles,4,48,
+blancmark,4,48,
+blake_(desidobie),4,48,
+black_thigh_boots,0,48,
+black_sex_toy,0,48,
+black_dragon,5,48,
+black_cloak,0,48,
+bixiekz,1,48,
+bird_cage,0,48,
+biplane,0,48,
+biological,1,48,
+bikini_bottom_removed,0,48,
+big_bird,4,48,
+beta_ray_bill,4,48,
+bellenightjoy,1,48,
+base,0,48,
+barndog,1,48,
+baileys,4,48,
+azl_l,1,48,
+axl_shoutmon,4,48,
+axel_the_tepig,4,48,
+awilddrawfagappears,1,48,
+awakeningwind,1,48,
+asiahao520,1,48,
+asakura_kento,1,48,
+arrhythmia,4,48,
+arokha_(human),4,48,
+arms_around_torso,0,48,
+arms_(game),3,48,
+armordragon,5,48,
+archie_otterdog,4,48,
+arbre_(hane),4,48,
+aquaticas,1,48,
+apple_fritter_(mlp),4,48,
+anubis_(whisperingfornothing),4,48,
+anifansy,1,48,
+anhotep,4,48,
+angel_the_mew_(character),4,48,
+anemonemisc,1,48,
+andr0ch,1,48,
+amano_jack,1,48,
+alsoan,5,48,
+all_tomorrows,3,48,
+alister_(sangreroja),4,48,
+alisa_(iskra),4,48,
+alex168wang,1,48,
+akuro,4,48,
+aklazzix,1,48,
+akasch,4,48,
+akam,1,48,
+ahegarou,1,48,
+agzil_mellah,4,48,
+aeldari,5,48,eldar
+accidentalaesthetics,1,48,
+abstractshadow,4,48,
+6_wings,0,48,"6_wing,6_winged,six_wing,six_winged,six_wings"
+6_toes,0,48,"6_toe,6_toed,six_toe,six_toed,six_toes"
+1jaz,1,48,"jaaaaaaaz,jaaaaaaaz_(artist)"
+11:10,7,48,
+zoe_(ralenfox),4,47,
+zepthehyerian,1,47,
+zephyrus_(phoe),4,47,
+zedwin,4,47,
+zary_(zarycolour),4,47,
+zafy_takada_(ludexus),4,47,
+yulia_(bakedbunny),4,47,
+yuio_maid_dress,3,47,
+yoshu_makato_(character),4,47,
+yellow_light,0,47,
+yboon,1,47,
+yami_(xxgato),4,47,
+xids,1,47,
+xeoniios,1,47,
+xenia_(linux_fox),4,47,
+xbc9,1,47,
+xaxoqual,4,47,
+wriggle_nightbug,4,47,
+wooden_door,0,47,
+woobat,5,47,
+wolfy_(chaoticicewolf),4,47,
+whitefenrril,1,47,
+white_high_heels,0,47,
+white_earbuds,0,47,
+white_blouse,0,47,
+what_a_twist,0,47,
+wet_butt,0,47,
+warriors_(game_series),3,47,
+wacom,3,47,
+w0lfmare,1,47,
+vore_planet,3,47,
+vonnir,1,47,
+voluptuousness,0,47,
+virginal_blood,0,47,
+vincent_(vincent),4,47,
+vimmy_(squishy),4,47,
+viewer_count,0,47,
+videri,4,47,
+vexxyvex,1,47,
+vespur,1,47,
+veiny_teats,0,47,
+veiled616,1,47,
+vanshart,1,47,
+valuthar,1,47,
+valez,4,47,
+vahnfox,1,47,
+usagichi_(vkontakte),4,47,
+unicorn_taur,5,47,
+uncle_penetrating_nephew,0,47,
+tysuga,1,47,
+tyramis_(kuroma),4,47,
+tylwing,1,47,
+tyler_(the_human_heart),4,47,
+two_tone_thigh_socks,0,47,
+two_tone_headphones,0,47,
+twisted,0,47,
+turria,1,47,
+turquoise_blitz,4,47,
+turbine,0,47,
+trish_kusanagi,4,47,
+toxel,5,47,
+towelthebear,1,47,
+toumitu,1,47,inumimi-syndrome
+touching_self,0,47,
+touching_belly,0,47,
+toto_(character),4,47,
+tosun,4,47,
+torres_(rimba_racer),4,47,
+toorin,1,47,
+tokeli,4,47,
+todd_(joelasko),4,47,
+tiredanon,1,47,
+thunderbolt_(101_dalmatians),4,47,
+thot,0,47,
+thesorapoi,1,47,
+the_seven_year_itch,3,47,
+the_one_who_waits,4,47,
+the-killer-wc,1,47,
+thatwhiskeredthing,1,47,clawsandpaws
+thanos,4,47,
+terryeternity,1,47,
+teramegagiga,1,47,
+tentacle_lick,0,47,"licking_tentacle,licking_tentacles"
+temptations_ballad_(visual_novel),3,47,
+technical_illustration,0,47,
+taz-mania,3,47,
+tapu_koko,5,47,
+taliesin-the-dragoon,1,47,
+tala_tearjerk,4,47,
+takorin,1,47,
+takeshi_kemo,1,47,
+tails_touching,0,47,
+tails_gets_trolled,3,47,
+tail_slap,0,47,
+tail_pouch,0,47,
+tail_expansion,0,47,
+tabitha_terleir,4,47,
+syna_the_umbreon,4,47,
+switch_(pakobutt),4,47,
+swimwear_only,0,47,
+sweet_treat_(gyro),4,47,
+surprised_pikachu,3,47,
+supercell_(company),3,47,
+super_robot_monkey_team_hyperforce_go,3,47,
+stypek_(artist),1,47,
+striped_balls,0,47,
+strider_auroch,4,47,
+steamy_feet,0,47,
+stcaipirinha,1,47,
+staring_into_eyes,0,47,
+star_hair_accessory,0,47,
+squishy_(character),4,47,
+sporeman_(artist),1,47,
+spiracles,0,47,
+special_feeling,3,47,
+sparkling_water,0,47,
+space_invaders,3,47,
+space_dogs,3,47,
+sorceress_(spyro),4,47,
+sonic_channel,3,47,
+solosis,5,47,
+solaire_of_astora,4,47,
+sodo_(breeze_in_the_clouds),4,47,
+snover,5,47,
+sneak,0,47,
+smallpanda,1,47,
+slushie,0,47,
+slug_(character),4,47,
+sloth_(kuroodod),4,47,
+skye_primis,4,47,
+skirt_around_one_leg,0,47,
+ski_pole,0,47,
+sinisk,1,47,
+silverqueen0,1,47,
+silver_fox_cn,1,47,
+silver723,1,47,
+sign_language,0,47,
+sign_(character),4,47,
+sierra_lowe,4,47,
+shīsā,5,47,"shisa,shisa_dog,shīsā_dog"
+shows,0,47,
+shoulder_hair,0,47,
+shortstacked,0,47,
+short_sleeved_shirt,0,47,
+shindorei,4,47,
+shep_(animal_crossing),4,47,
+shane_boder_(shaneandco),4,47,
+shadowbolts_uniform,0,47,
+shackles_only,0,47,
+sentry_gun_(team_fortress_2),4,47,
+scrublordman_(commissioner),3,47,
+screencap_redraw,0,47,
+scraffyraccoon,1,47,
+scottish_terrier,5,47,scottie
+scapula,0,47,
+savvel,4,47,
+sap,0,47,
+saliva_puddle,0,47,
+sal,4,47,
+sabudenego,1,47,
+ryou_tominaga,4,47,
+ryan_(ryanwolfeh),4,47,
+rupee,0,47,
+rozelyn_the_floatzel_(mischievous-skunk),4,47,
+roxie_(pokemon),4,47,roxie_(pokémon)
+rose_b_luck,4,47,
+ronte,4,47,
+rockhoof_(mlp),4,47,
+ritsukaxan_(character),4,47,
+rita_(sugarnutz),4,47,
+rio_(botter_dork),4,47,
+rexsatou,1,47,
+requiem,4,47,
+renga_sato,4,47,
+renabastet,4,47,
+removing_shirt,0,47,
+rehzi_(fluff-kevlar),4,47,
+redrainsfm,1,47,
+red_bodysuit,0,47,
+rebecca_darcwaters,4,47,becky_(viroveteruscy)
+rearhwhitetail,1,47,
+reabault,1,47,phenixryte23
+rd-rn00,1,47,
+raus,1,47,
+raota,1,47,
+rantanatan,1,47,
+ranged,0,47,
+randomobliquity_(artist),1,47,
+rana_(artist),1,47,
+ramzymo,1,47,
+raine_kirijo,4,47,
+raindrops_(mlp),4,47,
+ragnadope,1,47,
+raeford_(brogulls),4,47,
+racketraccoon,1,47,
+rachel_(nerdbayne),4,47,
+quill_wonderfowl,4,47,
+queen_regina,4,47,
+qiao,4,47,
+pussy_juice_on_sex_toy,0,47,
+pussy_juice_on_self,0,47,
+purple_sunglasses,0,47,
+puppypaws,1,47,
+pulling_sound_effect,0,47,
+pudding_(plaga),4,47,
+psycho_pass,3,47,
+programming,0,47,
+prisma_(fr0gv0re),4,47,
+print_accessory,0,47,
+princess_elise_the_third,4,47,"elise_(sonic),princess_elise,princess_elise_(sonic),princess_elise_iii,princess_elise_the_3rd"
+pride_color_penis,0,47,
+president,0,47,
+pov_handjob,0,47,
+pornstar_(meme),3,47,
+pornography_(artist),1,47,
+pomopuchi,1,47,tokiie
+police_tape,0,47,
+pokemania,1,47,
+pokebraix,1,47,
+pizza_hut,3,47,
+pinkypills_(artist),1,47,
+pink_fire,0,47,
+pink_choker,0,47,
+pidgeon_toed,0,47,
+pickle_juice,1,47,
+petit,1,47,
+peta,3,47,
+permavore,0,47,
+pericings,0,47,
+paws_on_balls,0,47,
+patrigue,4,47,
+parenthood,0,47,
+parakarry,4,47,
+pappel,4,47,
+panininha,1,47,
+paisley_meadows,4,47,
+outer_god_(h.p._lovecraft),5,47,
+otsu,1,47,
+oshaki,4,47,
+orgest,4,47,
+orgasm_display,0,47,
+orcasanddragons,1,47,
+oranguru,5,47,
+open-butt_dress,0,47,
+opal_weasel,1,47,
+ooh,0,47,
+one_tooth,0,47,
+one_shoulder_out,0,47,
+omni_(sonicfox),4,47,
+ollie_(pokefound),4,47,
+olivia_may_(blu),4,47,
+oliver_hornski,4,47,
+ochropus,4,47,
+object_in_urethra,0,47,
+obi-wan_kenobi,4,47,obiwan_kenobi
+nyasplush,1,47,
+nurukuro,4,47,
+nurah,4,47,
+nuk_sun,1,47,
+nsfwulf,1,47,
+noonun,1,47,mav_(artist)
+nook-lom,1,47,
+noogie,0,47,
+nimbus_(lateinshowing),4,47,
+niko_(kitroxas),4,47,
+nikita_(oc),4,47,
+nicole_(xelaaredn),4,47,
+nemesis_(resident_evil),4,47,
+neeshi_(vorekingdom),4,47,
+neatnick,1,47,
+nan_(nq),4,47,
+naitokitsune,1,47,
+nagafication,0,47,
+multi_tone_wings,0,47,
+multi_tone_skin,0,47,
+mudbriar_(mlp),4,47,
+mr_dark_and,1,47,"darkdarkdarkandy.wo.,mr.darkand,mr.darkfolk"
+mr.hakkai,4,47,
+mr._wolf_(toybox_pals),4,47,
+mousecat,1,47,
+mouezu,1,47,
+mossyfroot,1,47,
+mordechai,4,47,
+monoeye_(artist),1,47,
+momma_(ice_age),4,47,
+mixvariety,1,47,
+minka_mark,4,47,
+minimalism,0,47,
+mind_(disambiguation),6,47,mind
+mina_(sinister),4,47,
+mike_(doomhelm),4,47,
+mikazuki162,1,47,
+miho_shirakawa_(odd_taxi),4,47,
+miharushoka,1,47,kakushimi
+midnight_(yasmil),4,47,
+mia_(nanodarkk),4,47,
+merci,4,47,
+melon_frost,4,47,
+melissa_ratchowski,4,47,
+meleon,1,47,
+mei_ambers,4,47,
+megane_dragon,1,47,
+mega_venusaur,5,47,
+meeya_(furball),4,47,
+meeting_in_the_middle,0,47,
+meditite,5,47,
+maxine,4,47,
+max_(boredbun),4,47,max_(dominussfm)
+massive_thighs,0,47,
+mass_rape,0,47,
+masked_fox_(kame_3),4,47,
+marymouse,1,47,
+marriage_proposal,0,47,
+marmelmm,1,47,
+marines,0,47,
+marbearis,1,47,
+mamuru,1,47,
+malamin,1,47,麦芽糖
+makioraku,1,47,
+mad_hatter,4,47,
+macro710,1,47,
+lyralei_the_windranger,4,47,
+lynn_(deltav),4,47,
+lumpy_(htf),4,47,
+lopmon_(survive),4,47,
+ljrmr,1,47,"bluejrmr,ljrmr_(artist),rmrjl,rmrjl_(artist)"
+liuoie2,1,47,
+lip_fang,0,47,
+lionmom,1,47,
+light_socks,0,47,
+light_perineum,0,47,
+light_apron,0,47,
+liam_(tempestus_vulpis),4,47,
+lexibutt,1,47,
+lewdexpert,1,47,
+let_me_solo_her_(klein_tsuboi),4,47,
+lepovis,4,47,
+lemoncore,1,47,lemoncore_(artist)
+lee_(colt),1,47,
+leaf_wings,0,47,
+leaf_print_topwear,0,47,
+las_plagas_host_(resident_evil),5,47,
+landorus,5,47,
+lamont786,1,47,
+kyle_walden,4,47,
+kxflyer,1,47,
+kureto,1,47,
+kunaboto,1,47,
+kudalyn,1,47,
+krotsgier,4,47,
+kris_(radarn),4,47,
+kracker,1,47,
+kouda_(kemokin_mania),4,47,
+koto_(vorekingdom),4,47,
+koromaru,4,47,
+korfiorano,1,47,
+korbinite,5,47,
+kodacine,1,47,
+klump,4,47,
+kitterjitters,1,47,
+kitora,1,47,
+kit,4,47,
+kissing_tip,0,47,
+kiryu,1,47,
+kirby_triple_deluxe,3,47,
+kingofkof,3,47,
+kilow_(kilow21),4,47,
+kian_(seff),4,47,
+khloe_prower,4,47,
+key_disposal,0,47,"disposed_key,disposed_of_key,key_destruction,key_disposed_of,no_key"
+ketirz,1,47,
+ket_lesh,4,47,
+keomgong_danineun_manhwa,3,47,
+ken_(salkitten),4,47,
+kayz_(snepkayz),4,47,
+kaurimoon,1,47,
+kasusei,1,47,
+kandi,4,47,
+kaltt_deelohial,1,47,
+kalivero,1,47,
+kaitlin,4,47,
+kahunakilolani,1,47,
+kagamine_len,4,47,
+justsantiago,1,47,
+juniperskunk,3,47,
+julia_(werefox),4,47,
+jewish,0,47,jew
+jerrydamato,1,47,
+jasper_(bgklonewolf),4,47,
+jarek,4,47,
+jane_porter,4,47,
+jamie_(ldr),4,47,
+invisible_wall,0,47,
+inushishigami,1,47,
+insect_(petruz),4,47,
+in_trash,0,47,
+in_hand,0,47,
+imminent_impregnation,0,47,
+imaaahorny,1,47,
+ilovecosmo,1,47,
+hyperion_(character),4,47,
+hyper_condom,0,47,
+hot_dog_bun,0,47,
+horizon_zero_dawn,3,47,
+hood_up,0,47,
+holding_game_boy_color,0,47,
+hidoihito,1,47,
+hexuas,4,47,
+hermanworks,1,47,
+hello_nurse,4,47,
+head_on_arm,0,47,
+head_bump,0,47,
+haxton,4,47,
+hands_on_another's_waist,0,47,
+hamagiato,1,47,
+hair_over_face,0,47,
+hair_masturbation,0,47,
+gunzcon,1,47,
+gunya,1,47,
+gunther_(mating_season),4,47,
+gully,1,47,
+gulf,4,47,
+grey_scarf,0,47,gray_scarf
+gren_sacher,4,47,
+greed,0,47,
+gouki_(the_spicy_ninja_scrolls),4,47,
+gordon_(fuze),4,47,
+glittermiilk,1,47,
+glistening_shoulders,0,47,
+gimnie,1,47,
+giant_squirrel,5,47,
+gia_the_jaguar,4,47,
+gemerency,1,47,
+gear_(guilty_gear),5,47,
+garbledina,1,47,
+game_item,0,47,
+galis,4,47,
+futashi,1,47,
+furrypinups_(artist),1,47,"blakeblazer,furry_pinups"
+fullmetaldude,1,47,
+franset,1,47,
+foxie,4,47,
+foxart950,1,47,
+forceps,0,47,"forcep,pair_of_forceps"
+foot_grinding,0,47,
+fluffybunz,1,47,
+flower_(bambi),4,47,
+flora_(felino),4,47,
+floppy_disk,0,47,
+five_nights_at_freddy's:_the_day_shift,3,47,
+firelight_(mlp),4,47,
+fire_escape,0,47,
+findingdeb,1,47,
+final_fantasy_xv,3,47,
+file,0,47,
+fetishsketches,1,47,
+feruda_(farstaria),4,47,
+ferri_(enti123),4,47,
+fenalia,1,47,
+femlek_(elektr0),4,47,
+felinecanis,1,47,
+feeder,0,47,
+feather_bangs_(mlp),4,47,"feather_bangs,featherbangs,featherbangs_(mlp)"
+faye_(ipan),4,47,
+fantajii_dm_(artist),1,47,
+fanfic,0,47,
+fanch1,1,47,
+eyes_everywhere,0,47,
+extremius_amphibious,1,47,
+evon,3,47,
+everfree_forest,0,47,
+eve_hawthorne,4,47,
+eve_(tboi),4,47,
+eud,1,47,"elleciel-eud,elleciele,eud_(systemblue),le_ciel"
+esk,5,47,
+eshu-chan,1,47,
+escargoon,4,47,
+erin_(kawfee),4,47,
+entwined_tongues,0,47,
+elote_(enginetrap),4,47,
+eliza_(nelljoestar),4,47,
+elise_(lol),4,47,elise_(league_of_legends)
+elie_sugarpop_(oc),4,47,
+eipon_tarou,1,47,
+eggbot15,1,47,
+edgy,0,47,
+ecoas,1,47,
+echo,0,47,
+eating_flesh,0,47,
+dusk_acres,3,47,
+dumpling_(tricktrashing),4,47,
+drz_nsfw,1,47,
+drydude,1,47,
+drogon,4,47,
+drawsputin,1,47,
+drawing_pen,0,47,
+dragontherapist,1,47,
+dracolich,5,47,
+double_wrist_grab,0,47,
+doomer_(meme),3,47,
+dixievonfur,1,47,
+discardingsabot,3,47,
+discarded_condom,0,47,
+dirk_aukea,4,47,
+diantha_(pokémon),4,47,diantha_(pokemon)
+densantra_(deathhydra),4,47,
+den_(zerofox1000),4,47,
+demura,1,47,
+demonstration,0,47,
+deformed,0,47,
+davos,4,47,
+dashia,4,47,
+darrow0,1,47,
+darmanitan,5,47,
+darkpandax,1,47,
+dark_pit,4,47,
+dark_neck,0,47,
+danny_xander,4,47,
+dakota_(tartii),4,47,
+daclusia,1,47,
+custos_lunam,1,47,
+curved_beak,0,47,
+curiosity,0,47,
+cromren,1,47,
+croc_(crocdragon89),4,47,
+cristalwolf567,1,47,
+crimsoncolored,1,47,
+crat_(connivingrat),4,47,
+cornelia_(glacierclear),4,47,albino_snake_girlfriend
+connor_(snakemayo),4,47,
+commando_(risk_of_rain),4,47,
+colored_eyes,0,47,
+cole_the_shark,4,47,
+cobra_(petruz),4,47,
+coat_only,0,47,
+coal_(rakkuguy),4,47,
+clonecest,0,47,
+claire,4,47,
+cinnamon_buns_(oc),4,47,
+choco_monaca,1,47,
+chloe_thompson,4,47,
+chinchilla3333,1,47,
+chillhop,3,47,
+chess_piece,0,47,
+cheri_(animal_crossing),4,47,
+chelsea_larimore,4,47,
+chelsea_addison,4,47,
+charlotte_genevieve,4,47,
+charliebadtouch,1,47,
+charkonian_graotl_ard,4,47,
+chana,1,47,
+chain_bondage,0,47,
+cettus,1,47,
+ceph,4,47,
+casual_vore,0,47,
+capsule,0,47,
+caoscore,1,47,
+canada_day,3,47,
+callie_(furry_force),4,47,
+calib_peterson,4,47,
+caitlyn_(lol),4,47,
+cafe_(coffeefly),4,47,
+c-smut-run,1,47,
+button_skirt,0,47,
+butt_zipper,0,47,
+butt_scar,0,47,
+burning-heart-brony,1,47,
+burgess_shale_(lucidum),4,47,
+bun_(artist),1,47,bunnyblueart
+bugga_beau,1,47,
+bucentaur,5,47,
+brown_ear_tips,0,47,
+brooks,4,47,
+breezie_hedgebot_robotnik,4,47,"breezie_(adventures_of_sonic_the_hedgehog),breezie_(aosth),breezie_the_hedgehog_(adventures_of_sonic_the_hedgehog),breezie_the_hedgehog_(aosth)"
+breeze,0,47,
+bow_shoes,0,47,
+bow_bikini,0,47,
+both_hands_on_penis,0,47,
+boreuben,1,47,
+booty_ass_meme,3,47,
+boom-boom,4,47,
+bob_(yawg),4,47,
+blumagik,1,47,
+blue_piercing,0,47,
+blue_earrings,0,47,
+blue_armband,0,47,
+blue-eyed_black_lemur,5,47,"blue_eyed_black_lemur,sclater's_lemur"
+bladed_weapon,0,47,
+blacklight,0,47,
+blackgate_(game),3,47,
+black_sports_bra,0,47,
+black_apron,0,47,
+black_(among_us),4,47,
+bisected,0,47,
+biped_taur,5,47,
+bigtyme,1,47,
+bentley_turtle,4,47,bentley_(sly_cooper)
+bell_choker,0,47,
+beldum,5,47,
+bed_frame,0,47,
+beauty_mark_(oc),4,47,
+beat_up,0,47,
+batkini,0,47,
+bastien,4,47,
+barely_visible_creature,0,47,
+bank,0,47,
+bandaged_head,0,47,
+balls_shot,0,47,
+badwing,1,47,
+azzaraeus,1,47,
+azume,4,47,
+axela,4,47,
+axel_(character),4,47,
+awoogasm,1,47,
+avalondragon,4,47,
+autumus,4,47,
+aurus_(endertwinks),4,47,
+assault,0,47,
+asian_small-clawed_otter_(kemono_friends),4,47,"african_clawless_otter_(kemono_friends),asian_small_clawed_otter_(kemono_friends),cape_clawless_otter_(kemono_friends),groot_otter_(kemono_friends),oriental_small-clawed_otter_(kemono_friends),oriental_small_clawed_otter_(kemono_friends),small-clawed_otter_(kemono_friends),small_clawed_otter_(kemono_friends)"
+aruru,4,47,
+artz_(eevee),4,47,
+artsywoodpecker,1,47,
+artisipancake,1,47,
+artfight,3,47,
+artdexo2000,1,47,
+arnius,1,47,
+arm_to_leg,0,47,
+arlene_nicolai,4,47,arlene_(kabangeh)
+ark_celosar_(polokun),4,47,
+arineu_(artist),1,47,
+arin_(daxhush),4,47,
+araphre_(artist),1,47,
+aranami_kujira,4,47,
+apache_(artist),1,47,
+anubis_dark_desire,3,47,
+ant_humanoid,5,47,
+anontheanon,1,47,
+anna_(anjuneko),4,47,
+ann_gustave,4,47,
+anile_fryscora,4,47,
+anguirus,4,47,
+anglerfish_humanoid,5,47,
+anatake,1,47,
+anarchist,0,47,
+amy_untold,3,47,
+alula_(oneshot),4,47,
+alexis_(hacken),4,47,
+akyko_(ceehaz),4,47,
+akagi_(azur_lane),4,47,
+airpods,3,47,
+air_manipulation,0,47,"aero_kinesis,aerokinesis,air_bending,air_control,air_element_control,air_magic,airbending,anemo_kinesis,anemokinesis,atmosphere_control,atmosphere_manipulation,atmospheric_gas_manipulation,spirare_kinesis,spirarekinesis,wind_bending,wind_control,wind_manipulation,wind_mode,wind_release,windbending"
+aimf0324,1,47,
+ai_(digimon_tamers),4,47,
+african_wild_dog_(kemono_friends),4,47,
+aeris_roivas,4,47,
+ac_(aycee),4,47,
+abum,5,47,
+abigrock,1,47,
+a2,1,47,
+9:11,7,47,
+5ushiroll,1,47,
+4_hands,0,47,four_hands
+451kitkat,1,47,
+10ne-v,1,47,
+10art1,1,47,
+zweihander,0,46,
+zuri_(tlg),4,46,
+zterry,1,46,
+zippoorwhill_(mlp),4,46,"zippoorwhil,zippoorwhil_(mlp),zippoorwhill,zipporwhil,zipporwhil_(mlp),zipporwhill,zipporwhill_(mlp)"
+zimabel,1,46,
+zibanitu6969,1,46,
+zecho,1,46,
+zebra_humanoid,5,46,
+zaos_(anidra),4,46,
+zandra_(bitterstrawberries),4,46,
+zacks123,1,46,
+yukkoo,1,46,
+yellow_armor,0,46,
+xrayzebra4,1,46,
+xiin,1,46,
+xc,1,46,
+xaigatomon,1,46,xaipony_(artist)
+x-s_(lumen_fox),4,46,
+wrecking_ball,0,46,
+wolfy_the_werewolf,4,46,
+wisp_(wispeon),4,46,
+wishy_washy_(clexyoshi),4,46,
+wilson_(furry_force),4,46,
+william_adler,4,46,
+white_tentacles,0,46,white_tentacle
+white_sneakers,0,46,
+white_necklace,0,46,
+waynlag,1,46,
+waynekan,1,46,
+wafflemouse,4,46,
+vuaisu,1,46,
+voyuer,0,46,
+vorusuarts_(character),4,46,
+vorpale,1,46,
+voodoo_cum,0,46,
+void_(sssonic2),4,46,
+vladislav_(lynxoid),4,46,
+vixycore,1,46,
+vixen_(reindeer),4,46,
+vis_(bob0424),4,46,
+vinnig,4,46,
+vee_jay_(vjsins),4,46,
+vampirsttg,1,46,
+vampiricpig,1,46,
+v-neck_shirt,0,46,
+usul_(neopets),5,46,
+unusual_blood,0,46,
+under_paws,0,46,
+unconscious_male,0,46,
+ulvinne,4,46,
+ukkappa,1,46,
+udder_milking,0,46,
+tytus_the_arcanine,4,46,
+tuli_(metrohunter),4,46,
+tueetch_ambersnout,4,46,
+tuberosekotoki,1,46,
+triple_oral,0,46,
+tringa,1,46,
+tree_time,4,46,
+traknoch,1,46,
+traffic,0,46,
+touching_own_penis,0,46,
+topaz_lareme_(battler),4,46,
+toodamncycle,1,46,
+tongue_stuck,0,46,
+tomilixak,4,46,
+tobyfox,3,46,
+tj_hess,4,46,
+tina_(vrabo),4,46,
+tigerwolf_(gundam_build_divers),4,46,
+tiger_lily_(tito_lizzardo),4,46,
+thomas_(shane_frost),4,46,
+the_dark_brotherhood_(the_elder_scrolls),4,46,
+the_alby-cat,4,46,
+texasuberalles,1,46,
+testostepone,1,46,
+terrajou,4,46,
+tenyo_cat,4,46,
+tentacle_hood,0,46,
+tentacle_around_balls,0,46,
+tennis_net,0,46,
+telain,4,46,
+tek,4,46,
+teeveeomegas,1,46,
+teal_ears,0,46,
+tavyapl,1,46,
+tao_(beastars),4,46,
+tangletorn,3,46,
+tanager,5,46,"thraupid,thraupidae"
+tanae_(fvt),4,46,
+tan_head,0,46,
+tama_(world_of_final_fantasy),4,46,
+talia_(tasticstarlight),4,46,
+takum,4,46,
+takoyaki,0,46,
+tabi_(fnf),4,46,
+t_rex_(weaver),4,46,
+sylvia_sobaka,4,46,
+sylvia_(disambiguation),4,46,sylvia
+swordfight,0,46,
+sweet_strokes,4,46,skipsy_(character)
+sweden,0,46,
+sweat_pool,0,46,
+swan_lovejoy,4,46,
+sven_(pewdiepie),4,46,
+sven_(frozen),4,46,
+support,0,46,
+sunny_(tabuley),4,46,
+sunamori,1,46,
+summer_scorch,4,46,
+sukemyon,1,46,
+suizilla,1,46,
+sugarcave,1,46,
+sugarbeast,4,46,
+subsurface_scattering,0,46,
+styracosaurus,5,46,
+sturmovik_(hideki_kaneda),4,46,
+strauburi,1,46,
+strapped_in_dildo,0,46,
+steve_(rumble),4,46,
+starfleet_uniform,0,46,
+standing_over_viewer,0,46,
+stamina_bar,0,46,
+srmy_nkjd7,1,46,
+sprite_(soda),3,46,
+spots_(spotthecat),4,46,
+split_color_hair,0,46,
+splatterhouse,3,46,
+splatter,0,46,
+spiked_sex_toy,0,46,
+spiked_club,0,46,
+sparksstars,1,46,
+spaboofy,1,46,
+southnorth,1,46,
+souls,0,46,
+sophia_hellstrand,4,46,
+socko,1,46,
+snozzy,1,46,
+snowshoe_hare,5,46,
+snow_white,4,46,
+snapper,5,46,
+smaller_taur,0,46,
+small_claws,0,46,
+sleufoot,1,46,
+sleeveless_turtleneck,0,46,
+sky_(xxskyxx),4,46,
+sirdooblie,1,46,
+sir.smiley,4,46,
+sioteru,1,46,
+sigilyph,5,46,
+sif_(drxii),4,46,
+shrike_alvaron,4,46,
+shreddyfox,1,46,
+shoutaro,4,46,
+shou_(salkitten),4,46,
+shoroch,1,46,
+shironaga67,1,46,
+shiori_(anklav),4,46,
+shinyfoxguy,1,46,
+shingeki_no_bahamut,3,46,
+shikapandakuma,1,46,
+sheela_(rajak),4,46,
+shax_(artist),1,46,
+sharpie,3,46,
+shadow_(kingdom_hearts),5,46,
+seras_victoria,4,46,
+sentient_fat,0,46,
+sendra_(barzillai),4,46,
+sen_(looneyluna),4,46,
+self_exposure,0,46,
+seedot,5,46,
+seecle,1,46,
+sea_creature,5,46,
+scale_hair,0,46,"scaled_hair,scales_hair"
+sasha_(housepets!),4,46,
+sasha_(digitalpelican),4,46,
+sasha_(ariveil),4,46,
+sarah_(doomhelm),4,46,
+sanic,4,46,sanic_the_hedgehog
+samuel_ayers,4,46,
+samantha_(sil_blackmon),4,46,
+sam_(cuchuflin),4,46,
+sailor_collar,0,46,
+sadosaurus,1,46,
+sabbyth,4,46,
+s'thengir,4,46,
+s'more,0,46,"s'mores,smore"
+ryoku_(character),4,46,
+rurua,1,46,
+run_turn,4,46,
+rudgy_(aquilak),4,46,
+rubbermage,1,46,
+rtsfm,1,46,
+rotfell_the_fox,4,46,
+rosianna_rabbit,4,46,
+rori-hyena,1,46,
+rooty_(leakyroot),4,46,
+room_kinoko,1,46,
+ron9,1,46,
+rome_silvanus,4,46,
+robot_unicorn_attack,3,46,
+rixx_(yawg),4,46,
+rivas,4,46,
+ripster,4,46,
+riley_(disambiguation),4,46,riley
+rift_apart,0,46,
+rick_(rain-yatsu),4,46,
+richirichi,1,46,
+revy_(revy),4,46,
+restricted,0,46,
+resting_bitch_face,0,46,
+religious_symbols,0,46,
+reines_(doneru),4,46,
+reindeer_humanoid,5,46,
+regalia_(averyshadydolphin),4,46,
+red_pseudo_hair,0,46,
+red_goggles,0,46,red_googles
+red_alert_(series),3,46,
+really_vile,1,46,
+razor_blade,0,46,
+razi_(covertcanine),4,46,
+rawk_hawk,4,46,
+rawgreen,1,46,
+ravenousdash,1,46,
+raptie_(caedere),4,46,
+raphe_(anatomy),0,46,
+randomdragon_(character),4,46,
+rajak_(rajak),4,46,
+rainbow_party,0,46,
+raigor_stonehoof_the_earthshaker,4,46,
+rage_face,0,46,
+radishflavor,1,46,
+pyndan,4,46,
+pussy_tuft,0,46,
+pussy_juice_vore,0,46,
+purplemantis,1,46,
+pufftor,1,46,
+ps1_console,0,46,
+professordoctorc,1,46,
+profannytea,1,46,
+priya_parvati,4,46,
+prison_suit,0,46,
+prismatic_wolf,1,46,
+princess_coke,4,46,
+pride_color_tail,0,46,
+pride_color_necklace,0,46,
+predalien,5,46,
+popodunk,1,46,
+poor_yorick,1,46,
+ponegranate,1,46,
+pokebreeder_(mabit),4,46,
+plush_(mesoplush),4,46,
+platform_sandals,0,46,
+plastic_bottle,0,46,
+pigpen,0,46,
+petrovolt,1,46,
+perish_(artist),1,46,
+pennywise_the_dancing_clown,4,46,"pennywise,pennywise_(it)"
+penmark,1,46,"pen-mark,richard_haigh,richardah"
+penis_leg,0,46,
+penetrable_sex_toy_insertion,0,46,
+pegibruno,1,46,
+pearl_bracelet,0,46,
+pearl_(al_gx),4,46,
+pattern_elbow_gloves,0,46,
+pastel_(bigcozyorca),4,46,
+pashmina_(animal_crossing),4,46,
+partially/fully_submerged,0,46,
+paraphore,3,46,
+pansol_(kochapatsu),4,46,
+pale_scales,0,46,
+pafull,1,46,
+padraig_(masterofall),4,46,
+owl_beast_(the_owl_house),5,46,
+overcross,1,46,
+otis_(darkpenguin),4,46,
+ormtunge,1,46,
+orchidpony,1,46,
+orange_vest,0,46,
+orange_outline,0,46,
+orange_eyewear,0,46,
+oncha,1,46,
+on_bedding,0,46,
+olivia_(doctordj),4,46,
+olive_(xylious),4,46,
+older_sister,0,46,
+ohu,1,46,
+octonnibal,1,46,
+octacats,1,46,
+nyla,4,46,
+nyani_ga_nyander_nyander_kamen,3,46,
+nozabii,1,46,
+nova_spark,4,46,
+nova_rain,1,46,
+noodletheartist,1,46,
+noiz,1,46,
+nogicu,1,46,
+nme,1,46,"nme_greone,nmegreone,nmeto,んめ"
+nipple_cutouts,0,46,
+nilina_(felino),4,46,
+nilapony,4,46,
+nikku_(ra),1,46,
+nightwear,0,46,
+neumokun,1,46,
+neptune_(neptunia),4,46,
+neon-chan,1,46,
+necromancy,0,46,
+nathradas,1,46,
+narganimare,1,46,
+naomi_(sekai_no_hate_no_kissaten),1,46,
+myuri_(spice_and_wolf),4,46,
+mythological_fenghuang,5,46,"chinese_phoenix,fenghuang,fenghuang_(bird),fenghuang_(mythological),fenghuang_(mythology),fenghuang_(species)"
+mxxnkiddo,1,46,
+mutant:_year_zero,3,46,
+musky_butt,0,46,
+muskox,5,46,"musk-ox,musk_ox,oomingmak,ovibos,umingmak"
+multiple_inside,0,46,
+multicolored_t-shirt,0,46,
+ms._cotton,4,46,
+mrs._fox,4,46,mrs_fox
+mrs._cuddles,4,46,
+mrpenning,1,46,
+mr._shy_(mlp),4,46,mr_shy_(mlp)
+mouthmoth,1,46,
+moojuicers,1,46,
+monsterverse,3,46,
+monotone_headgear,0,46,
+momo_fox,1,46,
+molesting,0,46,
+mobian_lynx,5,46,
+mitsene,1,46,
+missing_poster,0,46,
+mireska_sunbreeze_the_dark_willow,4,46,
+mimic_dragon,5,46,
+miklia,1,46,
+miakameron,1,46,
+mey_mey,4,46,
+mexican_pacific_league,3,46,
+mercury_(mercuryf0x),4,46,mercury_(flamemist)
+menstruation,0,46,"menses,menstrual,menstrual_blood,monthly_period,period,vaginal_period"
+melvelvin,1,46,
+meiju_(ashnurazg),4,46,
+mega_gnar_(lol),4,46,mega_gnar_(league_of_legends)
+mauricebeverle2,1,46,
+mathew_porter,4,46,
+masmas,1,46,
+mark_(evane),4,46,
+margarita,0,46,
+marcusunderwood,1,46,
+malcolm_(applelover22),4,46,
+maharen,1,46,
+magnus_(bristol),4,46,
+magiculation,0,46,
+macross,3,46,
+mackenzie_(modeseven),4,46,
+m6,1,46,mali6
+m3nsfw,1,46,
+lurelin,1,46,
+lupycat,1,46,
+lupus5903,1,46,
+lugiaberry,1,46,
+luditima,1,46,
+lucky_(artist),1,46,
+loren_(lorenthepearlescent),4,46,
+lordwolfie,4,46,
+looking_at_dildo,0,46,
+loki_(artist),1,46,
+locust,5,46,
+live2d,3,46,
+listening_to_belly,0,46,listening_to_stomach
+lintu_(character),4,46,
+lined,0,46,
+lina_the_slayer,4,46,
+limon_picante_(oc),4,46,
+lil_tarap,1,46,
+lia-lioness,4,46,
+lexus_(lexusbun),4,46,
+lewdydoo,1,46,
+leviathan_the_tidehunter,4,46,
+let_me_out,0,46,
+legendanger,1,46,
+lee_(arknights),4,46,
+ledge,0,46,
+learning_curves,3,46,
+leanna_fennec,4,46,
+leaning_against_wall,0,46,
+lazyollie,1,46,
+layla_thompson,4,46,
+latex_bra,0,46,
+lana_(arnethorn),4,46,
+lady_kluck,4,46,
+lacera_viscera,4,46,
+kyla_gray_(zardoseus),4,46,
+kumazawow,1,46,
+kuma_richards,1,46,
+kukulkan,4,46,
+kudamon,5,46,
+kryn,4,46,
+kruk,1,46,
+krepht,1,46,
+kotetsu_redwood,4,46,
+kopk,1,46,
+kolu_(koluthings),4,46,
+koko_comet,1,46,
+kodiak_bear,5,46,kodiak_brown_bear
+kodiak079,3,46,
+knightthewolfal,1,46,
+kith0241,3,46,
+kitchen_sink,0,46,
+kit_mambo,4,46,
+kisu,1,46,
+kisses,0,46,
+kira_(copperback01),4,46,
+kimera,5,46,
+kidde_jukes,1,46,
+khaki_body,0,46,
+kgh786,1,46,
+keumano,1,46,
+kerry_(character),4,46,
+kerokamina,1,46,
+kenshiro_daimon_(odd_taxi),4,46,
+kemono_michi:_rise_up,3,46,
+keith_(black-kitten),4,46,
+kazashino,1,46,かざしの
+kawara_gawara,1,46,
+kavat,5,46,
+katja_(tigertau),4,46,
+kaspiy,1,46,
+kane_ridgescale,4,46,
+kanachirou,1,46,
+kamilazu,1,46,
+kaley_(lynxer),4,46,
+kaleesh,5,46,
+kabuki_(animal_crossing),4,46,
+jupiters,1,46,
+jraisins,1,46,
+joxdkauss,1,46,
+joshy_furret,4,46,
+jona_kazuo,1,46,
+jon_sanders,4,46,
+johnsergal,1,46,
+jig,1,46,
+jetmongrel,1,46,harshai
+jet_stream,4,46,
+jenny_(thelupinprincess),4,46,
+jde10,1,46,
+jayboppity,1,46,
+jay_(fizzyjay),4,46,
+jata_(housepets!),4,46,
+jajuka,4,46,
+jadenkaiba,1,46,
+jacob_(bosskubal567),4,46,
+jack_(gunwhale),4,46,
+jack_(bluey),4,46,
+jaal_ama_darav,4,46,
+irura0323,1,46,
+irregular_fetishes,1,46,
+ironwood,1,46,
+iridiu,4,46,
+inviting_to_sex,0,46,
+insanysage,1,46,
+indramon,5,46,
+indigo_eyes,0,46,
+inazuma_eleven_(series),3,46,
+imago_(oc),4,46,
+iijackie3678ii,1,46,
+ihcaris,1,46,
+ice_breathing,0,46,"breathing_ice,ice_breath"
+ice_(interspecies_reviewers),4,46,
+hunterz263,1,46,
+huge_serratus,0,46,
+huey_atalin,4,46,
+hoopoe,5,46,
+homekeys,1,46,
+holly_(abluedeer),4,46,
+hokolee32,1,46,
+hill_(father_hill),4,46,
+herzog_silverfang,4,46,
+hereticofdune,1,46,
+hentagon,1,46,
+helpy_(fnaf),4,46,
+helium2,1,46,
+hebiko,4,46,
+headphones_only,0,46,
+head_swap,0,46,
+hb_runo,1,46,
+hand_on_feet,0,46,
+hand_on_another's_hand,0,46,
+hakuhyogaki,1,46,
+haki_(bogexboog),4,46,
+hades_(thehades),4,46,
+gyrodoodle,1,46,
+gynomorph_penetrating_anthro,0,46,
+gyee,3,46,
+grub_(insect),5,46,
+group_transformation,0,46,
+groundhog,5,46,"groundpig,whistlepig,woodchuck"
+grinder,0,46,
+grey_suit,0,46,gray_suit
+grey_seam_underwear,0,46,gray_seam_underwear
+grey_headphones,0,46,
+green_antennae,0,46,green_antenna
+great_old_one_(h.p._lovecraft),5,46,
+great_horned_bunwolf,5,46,
+grace_manewitz_(mlp),4,46,janine_manewitz_(mlp)
+gothstoat,1,46,
+gordon_the_otter,4,46,
+golub_lol,1,46,
+godzilla_vs._kong,3,46,
+goat_demon_humanoid,5,46,
+glitch_(glitch308),4,46,
+glistening_headgear,0,46,shiny_headgear
+ginkko,1,46,
+gibberish,0,46,
+ggan_ggandi,1,46,
+genwyn,4,46,
+gemstones,0,46,
+gekko_(character),4,46,
+gardenia_(pokemon),4,46,gardenia_(pokémon)
+gambeson,0,46,
+fursecution,0,46,
+furry_mom_(wbnsfwfactory),4,46,
+fur_cape,0,46,
+fur_and_scales,0,46,
+freschrenders,1,46,
+foxyane,1,46,
+foxxxiny90,1,46,
+fox_next_door_(horokusa),4,46,
+four-clawed_gecko,5,46,"butiki,common_four-clawed_gecko,common_four_clawed_gecko,four_clawed_gecko,stump-toed_gecko,stump_toed_gecko,sugar_lizard,tender-skinned_house_gecko,tender_skinned_house_gecko"
+forced_knotting,0,46,
+flying_machine,0,46,
+fire_hose,0,46,
+fionafortunecookie,1,46,
+finland,0,46,
+featureless_nipples,0,46,
+farting_on_dick,0,46,
+faelyn,4,46,
+experiment_101,3,46,
+exadian_hybrid,5,46,
+eviljrgr,1,46,
+evgheshkafx,1,46,
+everquest_2,3,46,
+eve_(wall-e),4,46,
+eternatus,5,46,
+enzi,4,46,
+environment,0,46,
+engie_(liebro),4,46,
+elaine_applebottom,4,46,
+eirwen_vaan,4,46,
+edward_elric,4,46,
+edgeartstation,1,46,
+dubsthefox,4,46,
+dtella,5,46,"gehyra,web-toed_gecko,web_toed_gecko"
+drake_tigerclaw,1,46,
+dr_emery,1,46,"dr._emery,dr.emery,em_(artist)"
+dotrook,1,46,
+doodle_(doodledoggy),4,46,
+divifilly,1,46,
+dirtypawz_(artist),1,46,
+dio_leila,4,46,
+dimitri_trio_(101_dalmatians),4,46,
+dick_(peritian),4,46,
+di_gi_charat,3,46,
+deygira-blood,1,46,
+destiny_(milodesty),4,46,
+dervid_(taktian),4,46,
+derigrowl,1,46,"dericreations,purlexx,tirage,zotech"
+denim_skirt,0,46,
+demortum,1,46,
+democrat_donkey,4,46,
+demi-glenn,4,46,
+delidah,1,46,
+deliciousq,1,46,
+deiwea,4,46,
+definition,0,46,
+deck_(structure),0,46,
+dawn_(radarn),4,46,
+davis_motomiya,4,46,
+david_kawena,4,46,"david_(l&s),david_(las),david_(lilo_&_stitch),david_(lilo_and_stitch)"
+darkwingo,4,46,
+dark_ron,0,46,
+danica_(daniruu),4,46,
+daft_punk,3,46,
+cynlonyth,1,46,
+cuteosphere,1,46,
+curved_claws,0,46,
+curry_(parker_simmons),4,46,
+crossed_wrists,0,46,
+crona_(artist),1,46,"cronart,cronartxxx"
+covered_in_goo,0,46,
+couldnotparseline,1,46,
+corphish,5,46,
+cookie_(animal_crossing),4,46,
+confidence,0,46,
+cone,0,46,
+concoction_(artist),1,46,chaseface
+come_and_learn_with_pibby,3,46,
+combine,5,46,
+colton,4,46,
+coliser,1,46,
+cockjob,0,46,
+cockblock,0,46,
+cock_naga,0,46,
+clrfoolished,1,46,
+cloufy_(cloufy),4,46,
+circled_date,0,46,
+chuck_taylor_all_stars,3,46,
+chuck_(pokemon),4,46,chuck_(pokémon)
+chrona_(cat_busters),4,46,
+chromosomefarm,1,46,
+christmas_star,0,46,
+chris_(chrisbmonkey),4,46,
+chris_(chris13131415),4,46,
+chocola_(sayori),4,46,
+chmunk,4,46,
+chloe_culson_(ryltar),4,46,
+chillhop_raccoon,4,46,
+chili_(zummeng),4,46,
+cheetahmen,3,46,
+cheep_cheep,5,46,
+cesium,1,46,csium
+cerberus_(artist),1,46,
+cattivino,1,46,
+catch,0,46,
+castanic,5,46,
+casiika1,1,46,
+carmen_herrera,4,46,
+carissa,4,46,
+camazotz_(smite),4,46,
+callmebisky,1,46,
+c-trigger,1,46,
+bull_(noill),4,46,
+bucky_(the_sunfish),4,46,
+brown_bear_(kemono_friends),4,46,
+brazilian_flag,0,46,
+brazilian_carnival,3,46,
+boxer_(disambiguation),6,46,boxer
+bossy_the_bat,4,46,
+boryana,4,46,
+boom,0,46,
+boggartowl,1,46,
+body_tattoo,0,46,
+blushbrush,1,46,
+bluebear_(animal_crossing),4,46,
+blue_quills,0,46,
+blood_puddle,0,46,
+blanclauz,1,46,
+blacksheeptfs,1,46,
+blackaures,1,46,
+black_widow_(marvel),4,46,
+black_toe_claws,0,46,
+black_goggles,0,46,black_googles
+black-kalak,1,46,
+bitting,0,46,
+bitcoon,1,46,
+birdhouse,0,46,
+berrywoof,1,46,
+beronon,4,46,
+beep!,1,46,
+basculegion,5,46,
+barriss_offee,4,46,
+barnacle,5,46,"barnacles,cirripedia,cirripedian"
+bamga,4,46,
+bamboodog,1,46,
+balan_wonderworld,3,46,
+azzy,4,46,
+azel_(nickii),4,46,
+ayatori,1,46,
+autumn_sushi,1,46,
+auto_vore,0,46,self_vore
+atil,4,46,
+asymmetry,0,46,
+arty_stu_(fursona),4,46,
+articaartes,1,46,
+arterian_(character),4,46,
+arm_ring,0,46,
+are_ya_winning_son?,3,46,
+april_(eerieviolet),4,46,
+apawcalyptic,3,46,
+anteater_humanoid,5,46,
+ann_takamaki,4,46,"ann_(persona),takamaki_ann"
+ankle_crossing_thigh,0,46,
+animal_panties,0,46,
+ango76,1,46,
+angel_the_eevee,4,46,
+andy_(kaboozey),4,46,
+anal_toy,0,46,
+amputated_arm,0,46,
+amazon_milk_frog,5,46,"milk_frog,mission_golden-eyed_tree_frog,mission_golden_eyed_tree_frog"
+almond_(freckles),4,46,
+alex_(kittyprint),4,46,alex_(nightshade89)
+akittu,1,46,
+ainro,1,46,亜羅
+aerocats,3,46,
+adeleine_(kirby),4,46,
+adebola_melesi,4,46,
+acacia_(ashcozy),4,46,
+:v,0,46,
+8_tails,0,46,"8_tailed,eight_tailed,eight_tails"
+621_(number),0,46,
+300_(film),3,46,
+1985,7,46,
+1920s,0,46,"1920's,20's,20s"
+17:20,7,46,
+zuwardo,1,45,
+ziahna,4,45,
+zedeki,1,45,
+zed_(scales),4,45,
+zagz,1,45,
+zagiir,1,45,
+zach_(disambiguation),4,45,zach
+yuzutamago,1,45,
+yuwi-cyu,1,45,
+yuki_(side_b),4,45,
+youzora_samo18,1,45,
+yogin,1,45,
+yellow_thong,0,45,
+yellow_outline,0,45,
+yaquis_de_obregon,3,45,
+xxpoizenxx,1,45,
+xandrah,4,45,
+xanderdwulfe,1,45,
+wolfen,4,45,
+wo262,1,45,"wo!262,wotwosixtwo"
+wired_phone,0,45,
+winserferret,1,45,
+william_(misterstallion),4,45,
+wet_floor_sign,0,45,
+werecaprine,5,45,
+water_shuriken,0,45,
+water_fountain,0,45,
+wakan_tanka,4,45,
+wakamezake,0,45,
+voxell,4,45,
+vixy,4,45,
+vixel,1,45,
+vitaj,1,45,
+virushunter,1,45,
+viktor_(paladins),4,45,
+vale,4,45,
+under_covers_sex,0,45,
+unbakable,1,45,
+ulaan,4,45,
+ukiyo-e,0,45,
+two_tone_pawpads,0,45,"two-tone_paw_pad,two-tone_paw_pads,two-tone_pawpad,two-tone_pawpads,two_tone_paw_pad,two_tone_paw_pads,two_tone_pawpad,twotone_paw_pad,twotone_paw_pads,twotone_pawpad,twotone_pawpads"
+twix_(fluff-kevlar),4,45,
+turquoise_scales,0,45,
+tumiohax,1,45,
+tug_(brother_bear),4,45,
+tube_dress,0,45,
+trooper_(yifftrooper501),4,45,
+trixy_the_spiderfox_(character),4,45,
+tribez,3,45,
+triangle_(disambiguation),6,45,triangle
+torturedtorchic,1,45,
+toriko,4,45,
+tonza,4,45,
+tomatoztp,1,45,
+toggle,4,45,
+todding,1,45,
+tkfkd5362,1,45,
+tiny_panties,0,45,
+tintiai,1,45,
+tina_(caribbean_blue),4,45,
+timeless,3,45,
+throwing_clothing,0,45,
+thri-kreen,5,45,
+thoughtful,0,45,
+thigh_belt,0,45,
+thewizardstick,1,45,
+thevioletghost,1,45,
+tetisuka,1,45,
+tentacle_from_mouth,0,45,
+tenmathemaiden,1,45,
+ten_nekosupi,1,45,
+temmie_chang,1,45,"temmiechang,tuyoki"
+tem_(beastars),4,45,
+teddie_(persona),4,45,"kuma_(persona),kuma_(persona_4),teddie_(persona_4)"
+teabro,1,45,
+taunt,0,45,
+tan_handwear,0,45,beige_handwear
+talwyn_apogee,4,45,
+tales_from_valmeridia,3,45,
+taira,4,45,
+tail_wiggle,0,45,
+tactical_gloves,0,45,
+tabaluga,4,45,
+syntheticimagination,1,45,cat-meff
+sweet_chubbs,1,45,
+sweepyy,1,45,
+sweaty_head,0,45,
+suzuran_(arknights),4,45,
+surprise_transformation,0,45,
+strredwolf,4,45,
+storage_device,0,45,
+stevlong,1,45,
+stephanie,4,45,
+star_trek_the_original_series,3,45,
+star_ko,1,45,star-ko
+standing_on_object,0,45,
+stakeho_lder,1,45,
+srcook,1,45,
+squishymare,1,45,
+squee,0,45,
+square_eyes,0,45,
+sprawled,0,45,
+spotted_pawpads,0,45,"spotted_paw_pad,spotted_paw_pads,spotted_pawpad"
+spiritfarer,3,45,
+spikexen,1,45,
+spiked_tailband,0,45,
+spiked_bra,0,45,
+spiderman123,1,45,
+spelunky,3,45,
+spanking_butt,0,45,
+soy_sauce,0,45,
+sora_(tokifuji),4,45,
+sophitia_alexandra,4,45,
+sonja_wusky,4,45,
+sonic_frontiers,3,45,
+softcore_works,3,45,
+snowii,1,45,
+smush,0,45,
+smug_eyes,0,45,
+smoke_heart,0,45,
+sly_shadex,1,45,
+sliv'oth,4,45,
+slick_(fuze),4,45,
+slakoth,5,45,
+skipperz,1,45,
+sitting_on_car,0,45,
+sister_penetrating_brother,0,45,
+siren_head,4,45,
+sinful-spector,1,45,
+silverane,1,45,
+silver_shadowheart,1,45,
+shuuji_kayama,4,45,
+shoulderless_dress,0,45,
+short_twintails,0,45,
+shlop,0,45,
+shiny_skunk_(character),4,45,
+shin_maple_town_monogatari,3,45,
+shikame_akihiro,4,45,
+shichimi_(the_spicy_ninja_scrolls),4,45,
+shibasaki_saki,4,45,
+shelterinen,1,45,
+sheerheart,1,45,
+she-ra,4,45,
+sharu,4,45,
+shad,4,45,
+seylyn,1,45,
+sexual_frustration,0,45,
+sexual_dimorphism,0,45,
+sex_pet,0,45,
+severe_wound,0,45,
+sereth,4,45,
+sega_console,0,45,
+secretdwagon,1,45,
+seated_carry_position,0,45,
+seam_(deltarune),4,45,
+scrap_baby_(fnaf),4,45,
+scraner,4,45,
+sapphire_(oc),4,45,
+santiago_sara_(ecmajor),4,45,
+santagiera,1,45,
+sandbag,0,45,
+sammy_(disambiguation),6,45,sammy
+sam_(exelzior),4,45,
+salkafar,1,45,salkafar_dark
+sakura_hichuena,4,45,
+sailing,0,45,
+saijosatoru,1,45,
+safi_(safiru),4,45,
+saberstaff,0,45,
+rune,0,45,
+rouxls_kaard,4,45,
+roomi,4,45,
+rollingrabbit,1,45,bluewolf487
+rodricoro,1,45,
+rizcifra,1,45,
+rina_von_dan,4,45,
+rikuta_(nijie),1,45,
+riko_saikawa,4,45,
+riko,4,45,
+rho_(warg),4,45,
+rhianna_ravenclaw,4,45,
+reku,1,45,
+reimena,1,45,
+rei,4,45,
+regina_(dino_crisis),4,45,
+redphlannel,1,45,
+red_tail_tuft,0,45,
+red_boxers,0,45,
+red-eyes_black_dragon,4,45,
+razia_(narej),4,45,
+razeros,4,45,
+rayla_(the_dragon_prince),4,45,
+railcar,0,45,
+radish,0,45,
+rabbit_taur,5,45,bunnytaur
+quagsireofvp,1,45,
+pussy_towards_viewer,0,45,
+purra,1,45,purraparru
+punkcroc,1,45,
+pulp_fiction,3,45,
+pudú,5,45,"pudu,pudu_deer"
+pucacorgi,4,45,
+pseudo_manitou,1,45,
+property_damage,0,45,
+pronista,1,45,
+proann,1,45,
+print_footwear,0,45,
+princess_tiana,4,45,
+primagen,5,45,
+priley,4,45,
+prerendered_background,0,45,
+precum_on_foot,0,45,
+pre-transformation,0,45,
+portraits,0,45,
+popee_the_performer,3,45,
+pop_(htf),4,45,
+pondering_my_orb,3,45,
+polygonal_thought_bubble,0,45,
+pollard,4,45,
+poco_(pocoloco_coon),4,45,
+pocky_game,0,45,
+pocahontas,3,45,
+pleasure_bon_bon,3,45,
+pink_rabbit_(huitu_c),4,45,
+pink_bedding,0,45,
+pillow_talk,0,45,
+pigmyhippotam,1,45,
+pierre_collins,4,45,
+picking_teeth,0,45,
+phillip_(repeat),4,45,
+phillip-banks,1,45,
+petunia_(gabbah),4,45,
+percy_lynxoln_(callmewritefag),4,45,
+penguin_humanoid,5,45,
+pengi_nsfw,1,45,
+pekoneko,1,45,
+peggle,3,45,
+peeing_through_clothing,0,45,
+pattern_bedding,0,45,
+party_cannon,0,45,
+paper_seal,0,45,
+papaya_(artist),1,45,
+paizo,3,45,
+paint_(artist),1,45,
+page_(jay-r),4,45,
+ozzy_otter,4,45,
+owen_grady,4,45,
+out_of_focus,0,45,
+origin_story,0,45,
+oriental_magpie,5,45,"blue_magpie,green_magpie,oriental_blue_magpie,oriental_green_magpie"
+open_toe_shoes,0,45,
+ooredelen,1,45,
+one_way_mirror,0,45,
+one_in_one_out,0,45,
+omochao,4,45,
+ollydolphin,1,45,
+office_sex,0,45,
+offering_gift,0,45,
+odalia_blight,4,45,odalia_blight_(the_owl_house)
+observing,0,45,
+obscured_pussy,0,45,
+objects_in_condom,0,45,
+nubian_goat,5,45,"anglo-nubian_goat,anglo_nubian_goat"
+nu_(bikupan),4,45,
+nova_(purplebird),4,45,
+nottanj,1,45,nottenj
+noticing,0,45,
+nonyammychoko,1,45,
+noiverus,1,45,
+noctibus,1,45,
+nitram_hu,4,45,nitramhu
+nilo,4,45,
+nikujuu_uc,1,45,
+nikowari_(artist),1,45,
+nihlus_kryik,4,45,
+netogra,4,45,
+nemesisilit,1,45,"silentdeathfootsteps,ukdrogh"
+nekonorin,1,45,
+negativedye,1,45,
+neck_collar,0,45,
+nearl_(arknights),4,45,
+narrowed_eyebrows,0,45,
+naomi_(gvh),4,45,
+nana_noodleman,4,45,nana_(sing)
+n1k0,1,45,
+musical_keyboard,0,45,"keyboard_(instrument),keyboard_(musical_instrument)"
+musi,4,45,
+muscular/overweight,0,45,
+mu_plus,1,45,muplus
+mrbroomstic_(artist),1,45,
+mr_person,1,45,mrperson
+mr._jellybeans,1,45,
+moonlynxx,1,45,
+moodraw,1,45,
+mood,0,45,
+monotone_necktie,0,45,monotone_tie
+monokini,0,45,
+miyu_(rimefox),4,45,
+miyang_draws!,1,45,
+mimirin,4,45,
+milia_wars,3,45,
+mikituu,1,45,
+mikey_roo,4,45,
+middle_aged,0,45,
+metallica,3,45,
+metal_mask,0,45,
+mel_(mykegreywolf),4,45,
+mei_(sirbrownbear),4,45,
+mayor_swinton,4,45,
+maybell,4,45,
+maverick_(lonekeith),4,45,
+masterofwolves99,3,45,
+master_hand,4,45,
+massaging,0,45,
+masquerade_mask,0,45,"ball_room_mask,ballroom_mask,mardi_gras_mask,masquerade_ball_mask,venetian_mask"
+mason_(suck_mcjones),4,45,
+masked_dragon,5,45,
+mary_blissany,4,45,
+marsaovo,1,45,
+mars,0,45,
+maroon_hair,0,45,
+mark_patten,1,45,"markpatten,mrhide,mrhide-patten"
+marionette,0,45,
+marina_(noill),4,45,
+marikuishiyutaru,1,45,
+manifest_harmony,1,45,
+malaysian,0,45,
+mala_(malafox),4,45,
+magic:_the_gathering_card,0,45,
+lysander_hano,4,45,
+luna_(raptor007),4,45,
+lugiem,1,45,
+luger,0,45,
+luciamaribela,1,45,
+lotus_(seuchenkater),4,45,
+lostwisdom,1,45,
+lorenzo_(royluna),4,45,
+lordburqan,1,45,
+looking_seductive,0,45,
+looking_down_at_penis,0,45,
+long_braid,0,45,
+lollipop_in_mouth,0,45,
+logan_(misterstallion),4,45,
+log_(fox),4,45,
+llama_(parasitedeath),4,45,
+lileep,5,45,
+light_grey_fur,0,45,
+lier_magician,1,45,
+lexia,4,45,
+level_drain,0,45,
+letigre,4,45,
+leporid_taur,5,45,
+leo's_father_(vg_cats),4,45,
+lemonscent,1,45,
+leigh,4,45,
+leak,0,45,
+leaf_print_shirt,0,45,
+leaf_in_hair,0,45,
+lana's_mother,4,45,
+laionss,1,45,
+ladyfoxheart,1,45,
+kyu-bum_lee,1,45,
+kyoko_(cocolog),4,45,
+kyla_(nawka),4,45,
+kuroi_kamome,1,45,"goatling,guiltyseagull,kuroikamome"
+krylone,4,45,
+kresto,1,45,
+koncon,1,45,
+komatutororu,1,45,
+kodiakwolfy,4,45,
+klovs,1,45,
+kiva_(kiva),4,45,
+kitty_(meyou),4,45,
+kittehlazer,1,45,
+kit_ballard,4,45,
+kiruki,4,45,
+king_of_dinosaurs,4,45,
+kimero_(kimero_kat),4,45,
+keranas,4,45,
+keith_wilson,4,45,
+keith_(kitfox-crimson),4,45,
+katie_koopa_(character),4,45,
+katamari,3,45,
+karja,1,45,
+kareca,1,45,
+karate_akabon,1,45,
+kampfisken,1,45,
+kallus,1,45,
+kalida_(character),4,45,
+kakula,4,45,
+kaizeh,4,45,
+kadeki_(character),4,45,
+kaczy,1,45,
+kabeu_mariko,1,45,
+jyta,4,45,
+jones_boi,1,45,
+joel_(adondis),4,45,
+jessijinx,1,45,
+jazzax,1,45,
+jawless_fish,5,45,"agnatha,agnathan"
+jasmine_miller,4,45,
+jasmine_(kevinsano),4,45,
+janong,1,45,
+jamil_gonzalez,1,45,
+jack_pot_(mlp),4,45,
+izzybsides,1,45,
+izuna_(shinrabanshou),4,45,
+isiica_(ishton),4,45,
+irria,4,45,
+iridium_gloom,4,45,
+iorarua,4,45,
+invertebrate,0,45,
+interz,1,45,
+internal_frottage,0,45,
+indiana_jones,4,45,
+imminent_castration,0,45,
+imax,0,45,
+ilpion_(hyilpi),4,45,
+ijpalette-color,1,45,
+iggy_(ignigeno),4,45,
+icy_breeze,4,45,
+iamzavok,1,45,
+hypnofur,1,45,
+hunter_(destiny_2),4,45,
+huntail,5,45,
+hunicast,3,45,
+hunibun,4,45,
+huge_eyelashes,0,45,
+hubristhehorse,4,45,
+hookturn_(kitfox-crimson),4,45,
+holding_skull,0,45,
+hobo,0,45,
+hittoga,1,45,
+hisamehisame,1,45,
+hilda_(neurodyne),4,45,
+hikaru_sakuraba,1,45,
+hellbrain,1,45,
+heartszora,1,45,
+heartberry,4,45,
+heart_t-shirt,0,45,
+headlight_eyes,0,45,
+head_ornament,0,45,
+havesomemoore,1,45,
+hat-kun,4,45,
+hard_sex,0,45,
+hannibalazul,4,45,
+hand_over_shoulder,0,45,
+hand_on_own_hand,0,45,
+hand_focus,0,45,
+half_shaved_head,0,45,
+gwen_10,4,45,
+gumball_machine,0,45,
+gullet,0,45,
+guildmaster_wigglytuff,4,45,"wigglytuff_(eotds),wigglytuff_(pmd)"
+grotle,5,45,
+green_dragon_(untied_verbeger),4,45,
+great_knife_(silent_hill),0,45,
+greasymeta,1,45,hand5blue
+grea_(shingeki_no_bahamut),4,45,
+graycatluna,1,45,
+graphicbrat,1,45,
+gojo_preto,1,45,
+goat_tail,0,45,
+goat-chan_(enarane),4,45,
+glowing_runes,0,45,
+glitter_trap_boy_(character),4,45,
+ginzake_(mizuumi),1,45,
+gina_cattelli,4,45,
+gidoniko_(doneru),4,45,
+ghost_ship_games,3,45,
+generalgodzilla,1,45,
+general_barcode,1,45,
+gator_girl,4,45,
+garrett_(gamegod210),4,45,
+garmina_(curiousgarchomp),4,45,
+gamblefur,1,45,
+gaku_kodori,4,45,
+gage_(ft522),4,45,
+fzst,4,45,
+fyixa_(fyixen),4,45,
+furrytiger_2012,1,45,
+fur_ridge,0,45,
+funktilda,1,45,
+fray_(twinfoxes),4,45,
+frank_fathih,4,45,
+foxzor,1,45,
+foxtide888,1,45,
+foster-tony,1,45,
+fooga123,1,45,
+flyttic,1,45,
+flying_broomstick,0,45,
+flint_westwood,4,45,
+flam_kish,4,45,
+fist_in_palm,0,45,punching_hand
+fish_(thecatnamedfish),4,45,
+fiona_gummi_(fan_character),4,45,
+fidget_spinner,0,45,
+feryl,4,45,
+fergus_(101_dalmatians),4,45,
+fenris_williams,4,45,
+fender_mcbender,4,45,
+felhound_(warcraft),5,45,
+feeling_up,0,45,
+falcomon_(survive),4,45,
+eyrie_(neopets),5,45,
+exotic_species,5,45,
+eva_(disambiguation),4,45,
+eric_sacae,4,45,
+epithet,3,45,
+enen666,1,45,
+emmonsta,1,45,
+elyzalizah,1,45,
+elvaan,5,45,
+elliot_(fuf),4,45,
+elisasharky_(artist),1,45,
+electronic,0,45,
+eldrige,1,45,
+einrotica,1,45,
+egsaku,1,45,
+edric_blight,4,45,edric_blight_(the_owl_house)
+ebi_193,1,45,
+dust_the_otter,4,45,
+duke_nukem,4,45,
+duck_penis,0,45,
+duck_guy_(dhmis),4,45,
+drumstick_(food),0,45,
+drude,5,45,
+drazil,4,45,
+dragon_princess_ii,4,45,
+drabbella,1,45,
+doug_(101_dalmatians),4,45,
+doublade,5,45,
+dorulumon,5,45,
+distortion,0,45,
+discount,0,45,
+dinodoggo,1,45,
+digit_(chalo),4,45,
+diego_brando,4,45,
+diamond_sword,0,45,
+dexter's_mom,4,45,
+detachable_parts,0,45,
+demo,0,45,
+deltavinny,1,45,
+deep_rock_galactic,3,45,
+deathwing,4,45,
+dearmybrothers,1,45,
+deaddomovec,1,45,
+davirook,1,45,
+daroach,4,45,
+darkmask,4,45,
+darkartskai,1,45,
+dark_cloud_2,3,45,
+dancer_(reindeer),4,45,
+damaged_vehicle,0,45,
+daisukitsune,1,45,disktn1
+cynicallysly,1,45,
+cyndan,4,45,
+cup4eney,1,45,
+cum_on_mask,0,45,
+cum_on_chair,0,45,
+cuihongshi,1,45,
+cubewatermelon,1,45,
+ctrl-z,1,45,
+crown_prince_(gunfire_reborn),4,45,
+creepy_susie,4,45,
+crawdaunt,5,45,
+cowcatgames,1,45,
+cousin_dave,4,45,
+cottonsocks_minkelson,4,45,
+corriezodori,1,45,
+corpse_paint,0,45,
+copycatz_(artist),1,45,
+cookie_(touhou),3,45,cookie☆
+conor_emberthor,4,45,
+connor_(contron),4,45,
+connie_savannah,4,45,connie_(doctorconnie)
+commander_braithor,1,45,
+commander,4,45,
+comb,0,45,
+coldesthands,1,45,
+coffee_machine,0,45,
+coco_(vonark),4,45,
+clipped_wings,0,45,
+clenching,0,45,
+claydol,5,45,
+citrus_(character),4,45,
+cinnabyte,4,45,
+chubby_penis,0,45,
+chrimson,4,45,
+chloe_(abananaman),4,45,
+chiubear0214,1,45,
+chikorita_moon,1,45,
+cherry_(bds),4,45,
+cheepard_(character),4,45,
+chastity_key,0,45,
+ceruledge,5,45,
+cerberus_the_demogorgon,4,45,
+centrifuge,4,45,
+cd-i,3,45,
+cat_starfire,4,45,
+casque_(anatomy),0,45,"casque,casque_(cassowary),casque_(feature),casque_(horn_bill),casque_(hornbill),cassowary_casque,horn_bill_casque,horn_bill_ivory,hornbill_casque,hornbill_ivory"
+carvanha,5,45,
+cars_(disney),3,45,"cars_2,cars_3"
+carrie_(s2-freak),4,45,
+caribun,1,45,
+caramel_(food),0,45,
+caramel_(disambiguation),0,45,caramel
+camiod,1,45,
+camera_shake,0,45,
+calvin_bowling,1,45,
+callmedaddy,1,45,
+caleb_(kokuhane),4,45,
+cakeinferno,1,45,
+c-section_scar,0,45,"c-section_scars,c_section_scar,c_section_scars"
+bunny_(dure),4,45,
+bumpty_(artist),1,45,
+bull_shark,5,45,
+bruxish,5,45,
+bruno_(evane),4,45,
+bruised_face,0,45,
+bruce_morgan,1,45,
+brown_robe,0,45,
+breeze_(breeze_in_the_clouds),4,45,
+bredgroup,1,45,
+breast_mutilation,0,45,
+bravely_default,3,45,
+brave_fencer_musashi,3,45,
+brap,0,45,
+bragging,0,45,
+boxy_briar_(lil-potion-shop),4,45,
+botter,5,45,
+body_lick,0,45,
+body_grab,0,45,
+bodily_fluids_on_penis,0,45,
+bobby_pin,0,45,
+bluespaceling,1,45,
+blue_hamham,3,45,
+blocking,0,45,
+blacky,4,45,
+black_armbinder,0,45,"black_arm_binder,black_arm_binders,black_armbinders"
+bisonbull92,3,45,
+bimm,4,45,
+billy_brocas,4,45,
+bigbeanpole,1,45,
+big_weapon,0,45,
+big_mama_yena,1,45,
+big_daddy_(sing),4,45,
+bible_black,3,45,
+bewbchan,1,45,
+better_call_saul,3,45,
+beth_bunny_(ota),4,45,
+beret_girl,4,45,
+belly_scar,0,45,
+belly_punching,0,45,"belly_punch,stomach_punch"
+beleoci,1,45,
+beer_belly,0,45,
+becquerel_(timidauxiliator),4,45,
+bearra_(character),4,45,
+batty_(100_percent_wolf),4,45,
+baresenio,4,45,
+bano_akira,1,45,ばの
+balinese_cat,5,45,
+balaa,1,45,
+bakedanooki,1,45,
+badtiger,1,45,
+ayumi_(whitephox),4,45,
+ayerart,1,45,
+awoofy,5,45,garlfi
+avalon,4,45,
+autumnflower_(game),3,45,
+australian_kelpie,5,45,
+auri_(spikedmauler),4,45,
+aurawolf,4,45,
+august_(artist),1,45,
+aster_rhodes_ravier,4,45,
+askfrosty,1,45,
+asanagi,1,45,
+arturfox,1,45,
+arsemaus,1,45,arse_maus
+arimura_taishi,1,45,
+argiopa,4,45,
+aresanchor,1,45,
+aphexangel,1,45,
+annoying,0,45,
+annie_hill,4,45,
+annabee_(woebeeme),4,45,
+anjing_kampuss,1,45,
+animal_bride_1,3,45,
+andyaoa,1,45,
+andres_chung_jr,1,45,
+amy_the_mystgoose,4,45,
+amon_bars,4,45,
+ami_(personalami),4,45,
+amelia_(petruz),4,45,
+amadeusvirus,1,45,yummyv1rus
+alyph_ironclaws,4,45,
+altera,4,45,
+alpaca_taur,5,45,alpacataur
+alien_hominid_(character),4,45,
+alex_bell_(marmalademum),4,45,alex_(marmalademum)
+alex_(xanderblaze),4,45,
+alesander_arrietta,4,45,
+ale_vananice,1,45,
+alchemical_symbol,0,45,"alchemical_symbols,alchemy_symbol,alchemy_symbols"
+akweer,1,45,
+akuna,4,45,
+akudrache,1,45,
+aku_no_novi,1,45,
+akira_(disambiguation),4,45,akira
+akio_lizuka,4,45,
+ak-74,0,45,
+air_guitar,0,45,
+aidennguyen17,1,45,aidensuyen17
+ahobaka,1,45,
+against_bar_counter,0,45,
+affablesinger6,1,45,
+aether_employee,4,45,
+aerothefox,3,45,
+adultpartypunch,1,45,
+acne,0,45,
+9/11,3,45,
+6_ears,0,45,six_ears
+3_balls,0,45,"3_balled,3_testicles,three_balled,three_balls,three_testicles,triple_balls"
+16:13,7,45,
+13:15,7,45,
+zurezuredesigns,1,44,
+zipper_t._bunny,4,44,"zipper_t._bunny_(ac),zipper_t._bunny_(animal_crossing),zipper_t_bunny,zipper_t_bunny_(ac),zipper_t_bunny_(animal_crossing)"
+zilya-lya,1,44,
+zig_and_sharko,3,44,
+zerohours,1,44,
+zer0,4,44,
+zen_(character),4,44,
+zack_(fuze),4,44,
+youmadsin,1,44,
+yorusagi,1,44,lornext
+yonezmi,1,44,yonesuke
+yellow_helmet,0,44,
+yeehawt0wn,1,44,
+yashendwirh,1,44,
+yanamosuda,1,44,
+xwhitedreamsx,1,44,
+xvii_(artist),1,44,
+xj-6,4,44,"xj6,xj_6"
+xensoi,1,44,
+xenogon,5,44,
+xane,4,44,
+xander_(trigger12),4,44,
+wulg,5,44,
+woofmaple,1,44,
+wooden_box,0,44,
+winning_at_69,0,44,
+windows_(saku1saya),4,44,
+william_(tinypigdraws),4,44,
+wide_dicephalous,0,44,
+white_yoshi,5,44,
+whatwhatwhoa,1,44,
+weretober,0,44,
+wendy's_old_fashioned_hamburgers,3,44,
+weather,0,44,
+way_bad,4,44,
+watt,4,44,
+watercolor_lollipop,4,44,
+wasylthefox,1,44,
+wandering_nipple,0,44,
+waddles,4,44,
+vulgor_(far_beyond_the_world),4,44,
+vortiganshine,4,44,
+vixen_tamer,1,44,
+virus_(kittikary),5,44,
+violet_(femtoampere),4,44,
+vilous,3,44,
+viewed_from_above,0,44,
+videah,4,44,
+vic_(delirost),4,44,
+vial_furglitch,4,44,
+vi,4,44,
+version_comparison,0,44,
+vergo_(darkfox49),4,44,
+vegetable_humanoid,5,44,humanoid_vegetable
+veesocks,1,44,
+vcr,0,44,
+vargas_(fours),4,44,
+vanimateapp,3,44,
+vaikus,4,44,
+unhinged_jaw,0,44,
+ugnaughtsden,1,44,
+tylerayrton,1,44,
+two_tone_headgear,0,44,
+tutexl_(artist),1,44,
+tsunami_(wof),4,44,
+tsukasa-spirit-fox,3,44,
+troy_(rudragon),4,44,
+trotting,0,44,
+tristen,4,44,
+trickate,1,44,
+trauma,0,44,
+trapped_in_underwear,0,44,
+trapped_in_bubble,0,44,
+translucent_tongue,0,44,
+training_pants,0,44,
+toxicempress3,1,44,
+towel_on_lap,0,44,
+touching_panties,0,44,
+touching_own_thighs,0,44,
+touching_chin,0,44,
+totem_pole,0,44,
+toranoyouhei,1,44,
+toots_(character),4,44,
+toasty_toast,4,44,
+titandraugen,1,44,
+tirol,4,44,
+tinky_(character),4,44,
+tight_pussy,0,44,
+tibbs,1,44,
+this_lukk,1,44,
+this_is_fine,3,44,
+thick_body,0,44,
+thescarletdevil,1,44,
+thegamingzilla,1,44,
+the_rookie_(character),4,44,
+the_barrens,0,44,
+teratophilia_(artist),1,44,
+tentacles_in_ass,0,44,
+tediousramen,1,44,
+tealsick,1,44,
+tdk,1,44,
+tazel,4,44,
+tasteful-clopper,1,44,
+tartare,1,44,
+tammy_connelly,4,44,
+tami_(elfdrago),4,44,
+tamazuki_akiyama,1,44,"tamazuki,tamazukiakiyama,tamazukiakiyama_(artist),tamazukikemono"
+talyxian_stalker,5,44,
+takiune_(pixiv),1,44,
+taiarts,1,44,
+taga,1,44,
+t3gray,1,44,
+syrup_haislip,4,44,
+swedish_flag,0,44,
+sweater_around_waist,0,44,
+surgical_scar,0,44,
+supporting_breasts,0,44,
+sunny_(chalo),4,44,
+suburbs,0,44,"suburban,suburbia"
+submissive_focus,0,44,
+striped_butt,0,44,"striped_ass,striped_booty"
+storyboard,0,44,
+stormer_swiftpaws_(character),4,44,
+stomping_viewer,0,44,
+stilioweirdo,1,44,
+steelwings,4,44,
+steam_(software),3,44,
+stairway,0,44,
+spotted_dress,0,44,
+splishsplat,1,44,
+splashing_water,0,44,
+spitting_in_mouth,0,44,
+spirit_dream_eater,5,44,
+spiked_jacket,0,44,
+spiffydragon,1,44,
+speed_forme_deoxys,5,44,"deoxys_(speed),deoxys_(speed_form),deoxys_(speed_forme),deoxys_speed,deoxys_speed_form,deoxys_speed_forme,speed_deoxys,speed_form_deoxys"
+spassticus,1,44,
+spade_(creature_sp),4,44,spade_(flailingspade)
+soruton,1,44,
+soft_penis,0,44,
+snowdrake's_mother,4,44,snowdrakes_mother
+snowdrake,5,44,
+snow_serval,5,44,
+snoo,4,44,
+snailbail22,1,44,
+smithing,0,44,
+smarty_weasel,4,44,
+smartwatch,0,44,smart_watch
+smallcoffemaniac,1,44,
+slushee.,1,44,
+slowaf,1,44,
+slapstick70,1,44,
+skye_(skyebubblez242),4,44,
+skydancer_dragon,5,44,
+skull_print,0,44,
+skizu,1,44,
+sketchmantel,1,44,
+sketch-mantel,1,44,
+sixfour_(character),4,44,
+sin_the_hedgehog,4,44,
+sierra_(pumapaws),4,44,
+shy_smile,0,44,
+shrunken_city,0,44,
+shrinking_genitalia,0,44,
+shreddy_(shreddyfox),4,44,
+shota_orca_(marimo),4,44,
+shishi_dog,5,44,chinese_lion
+ship_deck,0,44,
+sharing_food,0,44,
+shared_reaction,0,44,
+shadowwolfhunter,1,44,
+sethos,4,44,
+seasonal,0,44,
+scott_pilgrim,3,44,
+scheknul,4,44,
+scarletseed,1,44,
+sauwastika,0,44,
+saturnspace,1,44,
+satori_komeiji,4,44,komeiji_satori
+sandstorm,0,44,
+samu_neko,1,44,
+samantha_wynn,4,44,
+sam_deko,4,44,
+salvatrix,4,44,
+salrith,4,44,
+sadleen,1,44,
+sad_eyes,0,44,
+russo,4,44,
+rugby_ball,0,44,
+ruby_pyrenees,4,44,
+roy_(chuki),4,44,
+rosecreates,1,44,
+roquemapache_(artist),1,44,
+roommates,3,44,
+rodney_(matchaghost),4,44,
+robert_hill,1,44,
+roast_chicken_leg,0,44,"chicken_drum_stick,chicken_drumstick,chicken_thigh"
+rips_(artist),1,44,
+rioeg,1,44,
+rigel_(kivwolf),4,44,
+rick_(rukifox),4,44,
+ricedawg,1,44,
+rib_lines,0,44,
+reuben_(artist),1,44,
+reploidmanxxx,1,44,
+redrocketsfm,1,44,
+rednoodle.inc,1,44,
+red_blood,0,44,
+red3engine,1,44,
+rebekah,4,44,
+rayjay,1,44,
+rat_ogre,5,44,
+rasticore_(svtfoe),4,44,
+raspberyl,4,44,
+rasmussen891,1,44,
+rapidstrike,1,44,
+rank,0,44,
+ralsei_with_a_gun,3,44,
+rainbow_neckerchief,0,44,
+rainbow_butterfly_unicorn_kitty,3,44,
+raiden_(metal_gear),4,44,
+raggedy_ann,4,44,
+raccoon24,1,44,
+r-z,1,44,
+quinlan_(halcyon),4,44,
+quickietime,0,44,
+questions_and_answers,0,44,
+quanno3,1,44,
+qiwaiz,1,44,
+pwslz,1,44,
+pussy_juice_on_bed,0,44,
+pussy_drip,0,44,
+purple_genitals,0,44,
+puppycorn,4,44,
+pup_(character),4,44,
+pulsating,0,44,
+puggy_(character),4,44,
+psy,4,44,
+protagonist_(repeat),4,44,
+prinplup,5,44,
+pride_color_body,0,44,
+preykill,1,44,
+portal_mask,0,44,
+pooping_on_self,0,44,
+pokéball_print,0,44,
+poker_face,0,44,
+plsgts,1,44,
+playpen,0,44,
+playful_distractions,3,44,
+plaid_background,0,44,"plaid_bg,tartan_background,tartan_bg"
+plache6,1,44,
+pisho,1,44,
+pink_butterfree,5,44,
+pikachu_belle,4,44,"belle_pikachu,madame_pikachu,pikachu_madame"
+piiunivers,1,44,
+phoenixe_(character),4,44,
+phantom_freddy_(fnaf),4,44,
+pewt_(synpentane),4,44,
+peridot_(jewelpet),4,44,peridot_(jewel_pet)
+performing,0,44,
+pera,4,44,
+penis_on_cheek,0,44,
+peephole,0,44,
+peanut_(peanutham),4,44,
+paul_(majin764),4,44,
+pate,1,44,
+past_meets_present,0,44,
+partial_color,0,44,
+parine,4,44,
+panties_around_thighs,0,44,
+palmedo,4,44,
+pacelic,1,44,
+ourflatcoat,1,44,"flatcoat,flatcoat_(artist),ourflatcoat_(artist)"
+otterly_(character),4,44,
+orange_speedo,0,44,
+orange_dildo,0,44,
+oral_on_backwards_penis,0,44,
+opius,1,44,
+opal_(jewelpet),4,44,opal_(jewel_pet)
+oliversart,1,44,
+olive_higgins,4,44,olive_(purrfect_apawcalypse)
+olia,4,44,
+okudami,1,44,
+officer_delgato,4,44,
+octaviados,1,44,
+nylla,4,44,
+not-a-comedian,1,44,albadune
+noroi,4,44,
+nirvanilla,1,44,
+nilemonitor,1,44,"ez,ez_(artist),michael_ezaiany"
+nightshade_(mlp),4,44,
+ness_(risenpaw),4,44,
+nephy_abdl_(peregrine),4,44,
+nekoforest_(nekoforest),4,44,
+neck_tied,0,44,
+neck_hug,0,44,
+nazuna_(icma),4,44,
+nawa,1,44,
+navel_vore,0,44,
+natasha_(gasaraki2007),4,44,
+nao_(taracod),4,44,
+nante-p,1,44,
+mzzrlaraz,1,44,
+mynameiscomic,1,44,
+myleene,4,44,
+mutant_to'kustar,5,44,
+muscle_car,0,44,
+murzikteijiro,1,44,
+multicolored_tuft,0,44,
+multicolored_ribbon,0,44,
+muhomora,1,44,
+mrsnek,1,44,
+mrbowater,1,44,
+moxie_the_mouse,4,44,
+mortal_rot,1,44,
+morning_star_(weapon),0,44,
+morgan_(lavasi),4,44,
+moofus,1,44,
+monotone_towel,0,44,
+monotone_bandanna,0,44,
+momma_jerbear,4,44,
+molest,0,44,
+mocha,4,44,
+mobian_fox,5,44,
+mirai_(hyperion),4,44,
+mio_(powfooo),4,44,
+milo_khembre,4,44,
+millipede,5,44,
+mike_the_charmander,4,44,
+mike_santos,1,44,
+midriff_top,0,44,
+michelle_(kostos_art),4,44,
+michael_tanuyama,4,44,
+mhicky_(mhicky93),4,44,
+mew_tuely_(fan_character),4,44,
+message_feed,0,44,
+men_in_black,3,44,
+melchior_leonall,4,44,
+mel_lancia,4,44,
+mechagodzilla,4,44,mecha_godzilla
+meatspin,3,44,
+mcl,1,44,
+maykr,5,44,
+maya_white,4,44,
+matile,5,44,
+matchstick_39,1,44,
+masanori,4,44,
+maryll,4,44,
+marvin_raptor,4,44,
+markydraws,1,44,
+mario_golf,3,44,
+marauder_(doom),5,44,
+mar_krishamun,4,44,
+mannysdirt,1,44,
+mandyfoxy,1,44,
+maleherm_on_top,0,44,
+magnum3000,1,44,
+mafty_(artist),1,44,
+madame_broode,4,44,
+lycaeous,4,44,
+lupanarium,3,44,
+lunar_new_year,3,44,
+lucy_lupa,4,44,
+lowemond,1,44,
+louis_(tpatf),4,44,
+loonyjams,1,44,
+looking_at_mouth,0,44,
+long_twintails,0,44,
+loggerhead_sea_turtle,5,44,loggerhead_turtle
+liz_(draconder),4,44,
+living_pool_toy,0,44,
+little.sparrow,1,44,so_ferny
+lionfish,5,44,
+lily_(zummeng),4,44,
+lightning_loons_(character),4,44,
+light_stripes,0,44,
+lidia_(hyperstorm_h),4,44,
+liara_(microphone),4,44,
+lewdssonk,1,44,sonikku_(artist)
+leonel_(danellz),4,44,
+leina_(sandwich-anomaly),4,44,
+leilani_(shortwings),4,44,
+leif_(bug_fables),4,44,
+ledyba,5,44,
+leaking_through_clothing,0,44,
+leafpath,1,44,
+lawgick,1,44,no_one
+latex_(character),4,44,
+lastik,1,44,
+laser_eyes,0,44,
+large_weapon,0,44,
+large_foreskin,0,44,
+large_feet,0,44,
+lara-su,4,44,
+languedoc,4,44,
+lana_baginsky_(furlana),4,44,
+lambent_panpan,4,44,
+lalee,4,44,
+l_buffer,1,44,
+kyubun_(character),4,44,
+kyle_kendricks_(forestdale),4,44,
+kyawei,1,44,grubbs
+kuroryushin-kuma,1,44,drakeniea
+kurorak,4,44,
+kumaneko,1,44,
+kukurikoko,1,44,
+kriyu,4,44,
+kowbold,5,44,
+koshiro_daimon_(odd_taxi),4,44,
+korndoggychub,1,44,
+koa_wolf,1,44,
+knux_(maestroknux),4,44,
+kiwi_cutie,1,44,kiwicutie
+kiwa,4,44,
+kitos_knightfall,4,44,
+kinkajou,5,44,
+kings-gz,1,44,
+kii_catano,4,44,
+kidcub,1,44,
+kiara_(blacky),4,44,
+khonorik,5,44,"khor'-tumak,khor'_tumak,khor-tumak,khor_tumak,polecat–mink_hybrid"
+keyshop_miss,1,44,
+kevinrogers,1,44,
+ketsa,1,44,
+ken17,1,44,
+kemorate,1,44,
+kelda,4,44,
+keith,4,44,
+keine_kamishirasawa,4,44,kamishirasawa_keine
+kazukio,1,44,
+kayla_angel,4,44,
+kawazu_fumi,1,44,川途
+kateri,4,44,
+karathefox,1,44,
+karasu_chan,1,44,
+kara_(furryneko),4,44,
+kapusta123,1,44,
+kappax,1,44,
+kale_(covertcanine),4,44,
+kakumatsurou,1,44,
+kailewds,1,44,
+kael_(diablo_the_rex),4,44,
+juwunipur,1,44,
+justin_(o_im_soniic),4,44,
+junk,0,44,
+jun_(pokefound),4,44,
+juicy_(sweet_temptation_club),4,44,
+juggalo,0,44,
+josey,4,44,
+jordan_the_chipmunk,4,44,
+jonah_(insomniacovrlrd),4,44,
+john_egbert,4,44,john_eggbert
+john002021,1,44,
+jockstrap_down,0,44,
+jinxed,3,44,
+jeanne_droue,1,44,
+jaunty7,1,44,
+jasper_(steven_universe),4,44,
+janet_q,4,44,
+jacob_(bluesh),4,44,
+jackie's_story,3,44,
+jack_(psychoticwalrus),4,44,
+jack_(david_hopkins),4,44,
+itimu,1,44,
+islate_(artist),1,44,
+island_kahuna_olivia,4,44,"olivia_(pokemon),olivia_(pokémon)"
+inspectornills,1,44,
+inowiseei,1,44,
+infinite_devotee,0,44,
+inereigan,1,44,
+implied_handjob,0,44,
+implied_fingering,0,44,
+imperial_guard,0,44,
+imminent_violence,0,44,
+ihzaak,1,44,
+idlecum,1,44,
+idel,1,44,
+icy_(foxfan88),4,44,
+ice_jogauni,5,44,
+i_animate_ponymotes,1,44,
+hyper_chode,0,44,
+hutt,5,44,
+humanoid_to_inanimate,0,44,
+humanoid_to_feral,0,44,
+honezika427,1,44,
+holding_surfboard,0,44,
+holding_rose,0,44,holding_roses
+holding_menu,0,44,
+holding_flashlight,0,44,
+hokkaido_nippon-ham_fighters,3,44,nippon-ham_fighters
+hitodama,0,44,
+hiryuuuuuuuuu,1,44,
+hippodrake,5,44,
+hildryn_(warframe),4,44,
+high_ponytail,0,44,
+herm_on_anthro,0,44,herm/anthro
+hellcat120,1,44,
+helios_husky,4,44,helioshusky
+helemaranth_(character),4,44,
+hehky,1,44,
+hebe_(pixiv),1,44,
+heart_ring_(hardware),0,44,
+harvey_beaks_(character),4,44,
+harlequin,0,44,
+hairy_feet,0,44,
+hair_bondage,0,44,
+guardians_of_ga'hoole,3,44,
+grubber_(mlp),4,44,
+grey_bandanna,0,44,gray_bandanna
+gravyfox,1,44,
+grate,0,44,
+grapploct,5,44,
+graedius_(linoone),4,44,
+grabbing_both_calves,0,44,
+gofenix,1,44,
+glowstick_bracelet,0,44,
+glorantha,3,44,
+glistening_beak,0,44,shiny_beak
+gio_madfang,4,44,
+ginmaruxx,1,44,
+gingerbread_cookie,0,44,gingerbread_cookies
+geoffrey_st._john,4,44,"geoffrey_(archie_sonic),geoffrey_(sonic),geoffrey_st_john"
+gearfox98,1,44,
+garrote,0,44,
+garroh,1,44,
+gaped,0,44,
+gangnam_style,3,44,
+gaming_headset,0,44,
+galina_(elmo-san),4,44,
+galen_dhaelos,4,44,
+furby_(species),5,44,
+fuck_request,0,44,
+frowning_at_viewer,0,44,
+frost_bright,4,44,
+frilly_skirt,0,44,frilled_skirt
+fourarms,4,44,
+foreskin_stretching,0,44,
+foot_on_tail,0,44,
+foolish,4,44,
+fond_feather_(mlp),4,44,
+floralfawn,1,44,
+floating_dildo,0,44,
+flax_(artist),1,44,
+fimoman,1,44,
+fenrir's_revenge,1,44,
+feline_fantasies,3,44,
+felicity_(angstrom),4,44,
+fakephilia,0,44,
+ewok,5,44,
+evelyn_(sff),4,44,
+escaping,0,44,
+eris_(cat_planet_cuties),4,44,eris_(asobi_ni_iku_yo!)
+eradragon,4,44,angeluscolourations
+ennfet,1,44,
+emu,5,44,
+emoticon_on_clothing,0,44,
+emberwood,1,44,
+elseirius,1,44,
+eliza_(vader-san),4,44,
+elf_(dragon's_crown),4,44,
+elena_(disambiguation),4,44,elena
+ela_(angryelanoises),4,44,
+eiscue,5,44,
+eel_insertion,0,44,
+e!,1,44,mindsedge
+dv-ch,1,44,
+ducklett,5,44,
+dribbling,0,44,
+drewscomics,1,44,
+dreadbear_(fnaf),4,44,
+dragonsnakeowo,1,44,
+dragon's_dogma,3,44,dragons_dogma
+dragollo,1,44,
+dragerys_kholodno,4,44,
+doppelgänger_(species),5,44,doppelganger_(species)
+dominique_(masterful),4,44,
+dolly_(nana_gel),4,44,
+dogga,4,44,
+doctor_zoidberg,4,44,zoidberg
+doctor_starline,4,44,"dr._starline,dr_starline"
+doc_(animal_crossing),4,44,
+divafox,4,44,
+disembodied_pussy,0,44,
+discordnight_(artist),1,44,
+dirt_path,0,44,
+dildo_series,0,44,
+dildo_riding,0,44,
+digimon_crest,0,44,
+diggy,4,44,
+dig_dug,3,44,
+dick_in_face,0,44,
+df43_(artist),1,44,
+desdemona_scales,4,44,
+derpybelle,4,44,
+demon_core,0,44,
+deijii,1,44,
+debby_katt,4,44,
+deam_nitrel,4,44,
+deadassspider,1,44,
+darksword-wolf,1,44,
+dark_queen_oriale,4,44,
+dakota_hazard,4,44,dakota_mecklenburg
+daedalusui,1,44,
+d-dog,4,44,"diamond_dog_(character),diamond_dog_(metal_gear)"
+cynthia_boggs,4,44,
+cynthia_(zaush),4,44,
+cynfall,4,44,
+cyndiquill200,1,44,
+cyclostomata,5,44,
+cum_on_teats,0,44,
+cthulhu666,1,44,
+crocodilchik,1,44,
+crashing,0,44,
+crabtopus,1,44,
+cowprint_lingerie,0,44,
+covered_in_blood,0,44,
+cosith,1,44,
+corwolf,4,44,
+coolmaster98,1,44,
+cooler_(dragon_ball),4,44,
+cooch_(supermansion),4,44,
+contour_smear_lines,0,44,
+compression_shorts,0,44,
+comparison_chart,0,44,
+cogwheel,0,44,
+cocoa_(las_lindas),4,44,
+clipped_ear,0,44,
+clerk,0,44,
+clasp,0,44,
+clara_bacou,1,44,
+circuitry,0,44,
+cinnamon_(yoko_darkpaw),4,44,
+cicada,5,44,cicada_(species)
+chymlaxi,5,44,
+chugging,0,44,
+chrono_eternae,4,44,
+chris_(doomhelm),4,44,
+cho'gath_(lol),4,44,chogath_(lol)
+chloe_von_einzbern,4,44,
+chizu_(rinnyrawr),4,44,
+chiyosuke_masin,1,44,
+chikachi,4,44,
+chiffon,4,44,
+chevrolet_camaro,3,44,
+chat_message,0,44,
+charlie_(wbb),4,44,
+cerebella,4,44,
+cathood,0,44,
+cat_peach,4,44,
+carolina_(mikrogoat),4,44,
+capuccinichan,1,44,
+captions,0,44,
+capte,1,44,
+can't_reach,0,44,
+calzone_(artist),1,44,
+callisto_(fisk_cerris),4,44,
+cafet'zin,4,44,
+butt_mouth,0,44,
+burume,1,44,
+burning_blaze,4,44,
+bundroid,5,44,
+bubblemummy,5,44,
+brown_kerchief,0,44,
+brokeguy21,1,44,
+breast_slap,0,44,"boob_slap,boob_slapping,boobs_slap,boobs_slapping,breast_slapping,breasts_slap,breasts_slapping,slapping_boob,slapping_boobs,slapping_breast,slapping_breasts,slapping_tit,slapping_tits,tit_slap,tit_slapping,tits_slap,tits_slapping"
+braver_(character),4,44,
+bra_lines,0,44,
+borotamago,1,44,
+boopmysnoot,1,44,
+blunt-katana,1,44,"blunt_katana,bluntkatana,hzblunte"
+blue_backpack,0,44,
+blue_anole,5,44,
+blinded,0,44,
+blakjakal,1,44,
+blackfrost,1,44,
+black_chair,0,44,
+bitfang,1,44,
+biker_cap,0,44,
+biggcuties,1,44,
+berryvapor,1,44,vaporberry
+bepo,4,44,
+bent_knees,0,44,
+benji_(benjipaws),4,44,
+bencoon_(character),4,44,
+belly_pinch,0,44,
+barghest,5,44,
+ban,1,44,
+baked_goods,0,44,
+backflip,0,44,
+aztrial,1,44,
+aziran,0,44,
+axis4s,1,44,
+award_ribbon,0,44,
+aurorabound,1,44,
+auri_(thehuskylord),4,44,
+aubrey_ferris,1,44,
+asutatinn61,1,44,
+aster_crowley,1,44,
+artyom_(duke-jarnunvosk),4,44,
+artrockt,1,44,
+arm_hug,0,44,
+arizel,4,44,
+ardy,4,44,
+ardanis_(sinister),4,44,
+archiblender,1,44,archibadzzz
+arashiin,4,44,
+apple_juice,0,44,
+apollo_(dirtypaws),4,44,
+apexyotie,1,44,
+anon_1515,1,44,
+animal_genitalia_on_humanoid,0,44,
+angelskitty,1,44,
+angel_costume,0,44,
+amputated_leg,0,44,
+amii,4,44,
+amethystdust_(character),4,44,
+amelia_(sandwich-anomaly),4,44,
+amberdrop,1,44,
+alyss,4,44,
+alvcard,4,44,
+altagrin,1,44,
+alice_(monster_girl_quest),4,44,
+alexis_(gutter-bunny),4,44,
+albixanad,1,44,
+akiru01,1,44,
+akaece,1,44,
+aizawasilk,1,44,
+airless,1,44,
+ahmes,1,44,
+agnes_(animal_crossing),4,44,
+after_fight,0,44,
+after_anal_masturbation,0,44,
+adeola_oshodi,4,44,
+adam's_apple,0,44,
+acme,3,44,
+acechan_f,1,44,
+ace_of_diamonds,0,44,
+abby_(jwinkz),4,44,
+7624cq,1,44,
+4622j,1,44,
+2snacks,1,44,
+1md3f4ul7,1,44,
+14:15,7,44,
+13:17,7,44,
+12-9,1,44,
+0ne_(only0neman),4,44,
+zuri_(the-shadow-of-light),4,43,
+zucchinifuzz,1,43,
+zosha_(armello),4,43,
+zinny_(duase),4,43,
+zin_teki,1,43,
+zhaqez,1,43,
+zelamir,1,43,
+zeitzbach,1,43,
+zaya_(ajdurai),4,43,
+zat_virgil,1,43,
+zadee,4,43,
+zack_magellan,4,43,
+yuuri_(character),4,43,
+yu_3,1,43,
+yellow_goggles,0,43,yellow_googles
+yellow_(among_us),4,43,
+year_of_the_goat,3,43,"year_of_the_ram,year_of_the_sheep"
+yasima,4,43,
+yanidesu,1,43,
+xionxiii,1,43,
+xierra099,1,43,
+xerawraps,1,43,
+xensilver,1,43,
+xeirla,1,43,
+wizardmon,5,43,
+wilczeu,1,43,
+white_tail_tuft,0,43,
+white_light,0,43,
+wheat_in_mouth,0,43,
+what_has_nature_done,0,43,
+wet_feet,0,43,
+wereshiba,1,43,
+weresheep,5,43,
+web_(disambiguation),6,43,"web,webbed,webbing,webs"
+wavy_mane,0,43,
+warmind,0,43,
+ward0r,1,43,
+wanpaku,4,43,
+vulkalu,1,43,
+vodcat,1,43,
+vicuña,5,43,"vicugna,vicuna"
+victoria_lancaster,4,43,
+vetom,4,43,
+verysoft,1,43,
+venison_belevik,4,43,
+velvetomo,1,43,
+velocity_sound_effect,0,43,
+veliren_rey,1,43,
+vega_(stargazer),4,43,
+vassago,4,43,
+vaptvulpe,3,43,
+vanilla_(sayori),4,43,
+valklou,4,43,
+vag_(pixiv),1,43,
+unusual_sperm_cell,0,43,
+untitled_goose_game,3,43,
+unown_a,5,43,
+university_tails,3,43,
+unison_birth,0,43,
+understall,0,43,
+uncertain,0,43,
+umbryte,1,43,
+ultrastax,1,43,
+uglyshadow,1,43,
+uchawi,4,43,
+two-piece_swimsuit,0,43,
+turned_on,0,43,
+tunx2,1,43,
+tumugi_topia,1,43,
+tsuki_wani,1,43,
+truedevirish,1,43,
+triplecorne,1,43,
+tovio_rogers,1,43,
+torn_handwear,0,43,
+torn_gloves,0,43,ripped_gloves
+tongue_bondage,0,43,
+tome_imp,5,43,
+toilet_man,1,43,
+todd_hayseed,4,43,
+tkupbook,1,43,
+tj_konesky_(dark_blue),4,43,
+tiger-paws,1,43,
+thylacine_penis,0,43,
+thunder_glass_shoes,0,43,
+thicco,4,43,
+theodrekr,1,43,
+thekoboldsummoner,1,43,
+the_creacher,1,43,
+the_addams_family,3,43,
+the-boar-house,1,43,
+teqa,1,43,
+temrin_(character),4,43,
+"tempus_""timey""_(tardistype50)",4,43,
+team_galactic,3,43,
+tcrakman,1,43,
+tanzy_(tanzanite),4,43,
+tanya_rhyne,4,43,
+tanathy,1,43,
+tan575,1,43,
+tamanuus,5,43,
+tallarra,1,43,
+takoma,4,43,
+tailhug_(artist),1,43,
+tahu,4,43,
+tahara_(altrue),4,43,
+swolptr,1,43,
+swire_(arknights),4,43,
+swedish,0,43,
+surly,4,43,
+supermansion,3,43,
+sunflower_seed,0,43,
+sumiwohakuneko,1,43,
+sulfur_snail_(artist),1,43,
+suimatsu,1,43,
+suguha_kirigaya,4,43,"kirigaya_suguha,leafa_(sao),leafa_(sword_art_online),suguha_(sao),suguha_(sword_art_online)"
+sugata1616,1,43,
+suenbroe,1,43,
+suchi_(character),4,43,
+subscribestar_link,0,43,
+strobe-totem_(artist),1,43,
+stoven_(xdarkspace),4,43,
+stirring,0,43,
+steller's_jay,5,43,"stellar's_jay,stellars_jay,stellers_jay"
+steel_eel_driver,5,43,
+starmilk,1,43,
+stargate,3,43,
+star_trek_the_next_generation,3,43,star_trek:_the_next_generation
+star_platinum,4,43,
+stained_glass_window,0,43,
+st3ph3n,1,43,
+squat_position,0,43,
+springfield,4,43,
+spiky_flair,4,43,
+sparks_99,1,43,
+sparklyblanket,1,43,
+spaicy,3,43,
+sp3ktr3,1,43,
+sonicsfan81,1,43,
+solatok_shadowscale,4,43,
+sockeye_salmon,5,43,
+snow_(snowier),4,43,
+snom,5,43,
+smollsaid,1,43,
+smol_boss_(penlink),4,43,
+small_anus,0,43,
+slot_machine,0,43,
+sleek,4,43,
+skye_prower,4,43,
+skelly,4,43,
+sir_pentious'_hat,4,43,
+silverdrool,1,43,
+sierra_starpaw,4,43,sierra.starpaw
+sibugaki_2810,1,43,
+sibo,4,43,
+shugr,5,43,
+shout,0,43,
+shockley23,1,43,
+shiroi,1,43,
+shi-niss,4,43,
+sheriff_woody_pride,4,43,"sheriff_woody,woody_(pixar),woody_(toy_story),woody_pride"
+sheep_demon_(hazbin_hotel),4,43,
+sheenny,1,43,
+sharkinwaves,1,43,
+shaky_legs,0,43,
+shaidan_(amocin),4,43,
+shadowwow,1,43,
+shadow-teh-wolf,4,43,
+setmann123,1,43,
+sergal_(untied_verbeger),4,43,
+seiren,1,43,
+sebastillion,4,43,
+scrape,0,43,
+schizoideh,1,43,stealth_mig-29
+scatterbug,5,43,
+satori_(verfyhi),1,43,
+satanickpaws,1,43,
+sans_(sanssouci),4,43,
+sandry_vallheim,4,43,
+sampson_(thyme),4,43,
+sammy_(ssammyg),4,43,
+sami01,1,43,
+samba,0,43,
+sally_(felino),4,43,
+sair,5,43,
+saigou_shirou,4,43,
+saffron,4,43,
+safari,3,43,
+sad_sun_knight,1,43,
+s_anima,1,43,
+ruth_failla_thomas_(the_dogsmith),4,43,
+ruby_the_bat_(ruby_savarin),4,43,
+ruby-milk,1,43,
+roy_(fire_emblem),4,43,
+rose_(deathhydra),4,43,
+rookitanuki,1,43,
+rockonvelzmor,1,43,
+roadkill_(zackdadawg),4,43,
+rithnok,4,43,
+rio_(artist),1,43,
+rikku_(kitsuneloverforever),4,43,
+riilu,1,43,
+ribbon_legwear,0,43,
+ribbed,0,43,
+rhys_wysios,4,43,
+rhode_island_red,5,43,
+revenant,5,43,
+rei98,1,43,
+redwix,1,43,
+redsaber,1,43,
+red_fox_(f3ral),4,43,
+red_clover_(artist),1,43,
+recombinant,0,43,
+razile,1,43,
+rayke,4,43,
+rating_scale,0,43,
+rashii,4,43,
+rankin/bass,3,43,
+rainingskys,1,43,
+rainbow_tongue,0,43,
+rainbow_colors,0,43,
+raikarou,1,43,
+raggedy,1,43,
+raedainfossa,1,43,
+radlionheart,1,43,
+radioactive_waste,0,43,
+radia_scherezade_(lolodepuzlo),4,43,
+rachel_wilson,4,43,
+quentinmimikyu,1,43,
+pussy_juice_on_food,0,43,
+purrcival,4,43,
+purple_jewelry,0,43,
+punstar,1,43,
+psydraggy_(artist),1,43,
+psydoux,1,43,
+protzermotzer,1,43,
+project_diva,3,43,
+prohibition_sign,0,43,
+primal_(infycharmander),4,43,
+post_vore_scat,0,43,
+popsicle_stick,0,43,
+pom-pom_oricorio,5,43,
+polishing,0,43,
+plump_anus,0,43,
+plumfsh,1,43,
+playzone,1,43,
+pinksyrup,1,43,
+pinkmoth,1,43,
+pink_tail_tuft,0,43,
+pichigani,1,43,
+piberius_w,1,43,
+photobomb,0,43,"photo_bomb,photo_bombed,photo_bombing,photobombed,photobombing"
+phoenix_vorster,4,43,
+pfft,0,43,
+peyton_(repzzmonster),4,43,
+peppermint_(talvi_is_here),4,43,
+penis_on_balls,0,43,
+penis_fondling,0,43,
+pelagice_(insomniacovrlrd),5,43,
+peculiar_doll,1,43,
+paprika_(series),3,43,
+panty_gag,0,43,
+padme_amidala,4,43,
+p700,0,43,
+ozzy_fitch,4,43,
+owl_boy_(study_partners),4,43,
+ovipositor_penetration,0,43,
+ouko_furinji,4,43,
+othinus,3,43,
+oscar_(snivybatt),4,43,
+orcinus,4,43,
+oral_transfer,0,43,
+options,0,43,
+oopsynsfw,1,43,
+ontsuna,1,43,
+one_panel_comic,7,43,
+on_face,0,43,
+oddertheotter,1,43,
+ocerydia_zoona,4,43,
+obese_taur,0,43,
+nya,0,43,
+nul,4,43,
+norve,4,43,
+noriko_(petruz),4,43,
+nookprint,1,43,
+nonuberis,1,43,
+nojo,1,43,
+nixx,1,43,
+nitefire,1,43,
+nintendo_button_symbol,0,43,
+nina_emerald_said,4,43,
+nigirizushi,0,43,
+nightmarebros,1,43,
+nightmare_star_(mlp),4,43,
+nightangeltdc,1,43,nightangeltdc_(artist)
+nighdruth_(character),4,43,
+nico_(sensopi),4,43,
+nichole_(bunnydewart),4,43,
+nexomon_(species),5,43,
+neos8,1,43,
+nemesis_qq-type,1,43,
+nehmkey,1,43,
+nea_(dewwydarts),4,43,
+naoki,1,43,
+name,4,43,
+mz._ruby,4,43,mz_ruby
+mycrys,1,43,
+mutual_fingering,0,43,
+mutt_(sessinoga),4,43,
+munna,5,43,
+multicolored_thong,0,43,
+multicolored_headset,0,43,
+multicolored_belt,0,43,
+mukitanuki,1,43,
+movie_night,0,43,
+moose_humanoid,5,43,
+moonlight_(ramsusxiii),4,43,
+momo_(momorodent),4,43,
+molte,4,43,
+mojito_(novusnova),4,43,
+mogy64,1,43,
+mob,0,43,
+mitsuharu_nene,1,43,
+misu_(dirtyrenamon),4,43,
+minior,5,43,
+mimicry_(fluffobuggo),4,43,
+mericella,4,43,
+merengue_z,1,43,
+meowscles_(ghost),4,43,ghost_meowscles
+melancholysanctuary,1,43,recycletiger
+me_and_my_teacher,3,43,
+mcpartyworld,1,43,
+mayobug,1,43,
+maverikat,4,43,
+maurick,4,43,
+matt_wolf,4,43,
+matatabi88,1,43,
+master_(gym_pals),4,43,
+maskedpuppy,1,43,
+mashie,4,43,
+maseru,1,43,
+masc0t361,1,43,
+maryvirgin,1,43,xepxyu
+markazian,5,43,
+mark_haynes,1,43,"alvin-earthworm,alvin_earthworm,rukaisho"
+maraschino,4,43,
+mantyke,5,43,
+mandrake_marshal,5,43,
+mana_dai_daries,4,43,
+mama_parappa,4,43,
+malu'kalea,4,43,
+maku_(masterofwolves99),4,43,
+magmortar,5,43,
+madrigal_(aquest),4,43,
+madlag,1,43,
+macbook,3,43,
+m._bison,4,43,
+lynxy_jones,4,43,
+lynn_(modeseven),4,43,
+lykina_(character),4,43,
+luxordtimet,3,43,
+lutari,5,43,
+lunaismaiwaifu,1,43,
+luna_(lunaris_parukia),4,43,
+lucy_(legend_of_lucy),4,43,
+lovernios,1,43,
+lovelitchi,4,43,
+lorenzo_(bowserboy101),4,43,
+loppu_(diives),4,43,
+loom,0,43,
+looking_at_screen,0,43,
+looking_at_muscles,0,43,
+looking_at_book,0,43,
+long_sheath,0,43,
+lomito_dankev,4,43,
+lina_(prsmrti),4,43,
+likemaniac_(character),4,43,
+lighthoof_(mlp),4,43,
+life_is_strange,3,43,
+leydon,4,43,
+lex-i,1,43,
+lewdewott,1,43,
+leroy27,4,43,
+leona_(lol),4,43,
+lemon_frost_(oc),4,43,
+leather_stockings,0,43,
+leaning_on_counter,0,43,
+laurella_the_eevee,4,43,
+laspyke,1,43,
+larvesta,5,43,
+lars_(0laffson),4,43,
+laphund_(artist),1,43,
+lance_(kloogshicer),4,43,
+lalox,1,43,
+kyoumoto_takayuki,1,43,
+kyell_gold,3,43,
+kuroinu:_kedakaki_seijo_wa_hakudaku_ni_somaru,3,43,
+krousser,4,43,
+kritterart,1,43,
+koyashaka,1,43,
+kosaa4,1,43,
+kookaburra,5,43,"dacelo,kookabura"
+koalarobot_(artist),1,43,
+knowntobite,3,43,
+klaue,4,43,
+kitty_(courage_the_cowardly_dog),4,43,"kitty_(courage),kitty_(ctcd)"
+kirsch,1,43,
+kirikaze_(eclipseprodigy),4,43,
+killerdragn,3,43,
+kikiluv,1,43,
+keysquid,1,43,
+keyhole_topwear,0,43,"key-hole_topwear,key_hole_topwear"
+kerillian,4,43,
+kei_(bonedra),4,43,
+keaton_(animal_crossing),4,43,
+kathy,4,43,
+kascz,1,43,
+kaohto_(character),4,43,
+kaminoan,5,43,
+kaede,4,43,
+k.o.,0,43,
+jz-jake,4,43,
+juno_clark,4,43,"juno_(jaibal),juno_(junopup)"
+jump_(blackbolt),4,43,
+juggermelon,1,43,
+joshua_reed,4,43,
+jordan_(brand),3,43,
+joonkorner,1,43,
+jojo_(nsf),4,43,
+joe_(joebluefox),4,43,
+jessica_(arknights),4,43,
+jay_fortissimo_(jforte91),4,43,
+jarvis_(darthandroid),4,43,
+japanese_audio,0,43,
+janna_(lol),4,43,
+jake_sully,4,43,
+jacqueline_(spoonyfox),4,43,jackie_(spoonyfox)
+jack_murdock,4,43,
+ixen,4,43,
+iruyo_the_dolphin,4,43,
+iridescent_scales,0,43,
+inukami,1,43,
+intox,1,43,jiralightstalker_(artist)
+interval,1,43,
+interior_view,0,43,
+instant_erection,0,43,
+inside_throat,0,43,
+inokuma,4,43,
+in_bread,0,43,
+identity_v,3,43,
+hyper_urine,0,43,
+hushhusky,1,43,
+huge_obliques,0,43,
+huge_horn,0,43,huge_horns
+hosemistress,4,43,
+horse_mane,0,43,
+horae_deerling,4,43,
+honey_(bluey),4,43,
+holding_feather_duster,0,43,
+holding_device,0,43,
+holding_(disambiguation),6,43,"held,hold,holding"
+higgington,1,43,coolhiggs
+hierro,4,43,
+hextaur,5,43,
+hews-hack,1,43,
+herinn_(vju79),4,43,
+heelpop,0,43,
+hearthian,5,43,
+head_only,0,43,
+haska,1,43,
+harem_clothing,0,43,
+handy_(htf),4,43,
+hands_on_neck,0,43,
+hand_on_own_tail,0,43,
+hand_in_pouch,0,43,
+guzzlord,5,43,
+grolar_bear,5,43,pizzly_bear
+grimmy,1,43,
+grey_beard,0,43,gray_beard
+green_tail_tip,0,43,
+greedo_(legendz),4,43,
+grave_gryphon,5,43,
+gold_(shiro-neko),4,43,
+glowing_plants,0,43,
+gigardrawz,1,43,
+giga_bowser,4,43,
+geferon_(geferon),4,43,
+gary_(jackaloo),4,43,
+garden_hose,0,43,
+garbage_(dogs_in_space),4,43,
+game_boy_advance,3,43,
+gaiasangel,1,43,
+gabrielle_lawson,4,43,
+g.f.d,1,43,
+fugue_(eeekay),4,43,
+fu_ren_chi,1,43,
+friday_(friday_otter),4,43,
+freefox,1,43,
+freddles_(fnaf),4,43,
+frde,1,43,"frdeart,seth_(artist)"
+frava8,1,43,
+franko_(negger),4,43,
+frankie_(spoonyfox),4,43,
+francesca-ictbs,1,43,
+flummery,4,43,
+flufdustbunny,1,43,
+flower_bow,0,43,
+floral_dress,0,43,
+flip_(kokuhane),4,43,
+flintex,1,43,flint_(artist)
+five_o'clock_shadow,0,43,
+fish_(nuclear_throne),4,43,
+fire_axe,0,43,"fireaxe,fireman_axe"
+finian_wren,4,43,
+finger_on_tongue,0,43,
+filing_cabinet,0,43,
+fight_cloud,0,43,
+ferret_cyan,1,43,
+feralyama,1,43,
+fencing,0,43,
+feet_on_desk,0,43,
+fantasy_creature,5,43,
+fang_(cr0wn),4,43,
+falz,4,43,
+fake_blood,0,43,
+fairycatcreation,1,43,
+fade_to_black,0,43,
+facebook_fox,4,43,
+eyanagi_eisuke,4,43,
+extinct,0,43,
+exposed_ass,0,43,
+ethan_(zourik),4,43,
+eruption,0,43,
+eric_doyle,4,43,
+erganyfox,1,43,
+eragon_(character),4,43,
+enso_t0324,1,43,
+enemy,0,43,
+emiko_(bludii),4,43,
+ellie_blue,4,43,
+eliza_(skullgirls),4,43,
+elf_costume,0,43,
+elbow_on_leg,0,43,
+elbow_grab,0,43,
+egyptian_god,5,43,
+easter_anal_beads,0,43,
+earth_light_carbuncle,4,43,earthlight_carbuncle
+ears_tied_back,0,43,
+ear_mouth,0,43,
+dzat,1,43,
+dudemantix,1,43,
+ducko,1,43,digitalduckstudios
+dualshock_2,3,43,
+drpepsi,1,43,
+drool_cutie,1,43,
+drell,5,43,
+draxler,4,43,
+draxi,4,43,
+drawponies,1,43,
+dragonlordfluffyxd,1,43,
+douglas_(guchiyama),4,43,
+doromiez,1,43,
+dorak_(artist),1,43,darkdragon009
+doon,1,43,
+doggydog,1,43,
+dobie,4,43,
+dlostarts,3,43,
+dissyshy,1,43,
+dirty-canvas,1,43,
+dire_leopard,5,43,
+dinner_table,0,43,
+diety,5,43,
+dicknipple_balls,0,43,
+dgfox,1,43,
+delbin_(spyro),4,43,
+dejah_thoris,4,43,
+dear_darling_(mlp),4,43,
+dci,1,43,
+daxxcat,4,43,
+davidkyatt,1,43,
+dave_(caelum_sky),4,43,
+darkzel,1,43,
+darkdragoon,1,43,
+dark_shadow,4,43,
+dark_armwear,0,43,
+daphne_dress,3,43,
+danny_thomas,4,43,
+dankev_(youtuber),4,43,
+dangernoodledraws,1,43,
+dance2forget,1,43,
+dal_(blazethefox),4,43,
+daisy-marshmallow,1,43,
+daison_the_fox,1,43,
+dagmar_(totesfleisch8),4,43,
+daffodil_squeaks_(character),4,43,
+daemon_of_khorne,5,43,
+cylent_nite,1,43,
+cygni,1,43,
+cyberkaps,1,43,
+customer,0,43,
+cupping_breasts,0,43,
+cupckpo,1,43,
+cum_bending,0,43,
+culixcupric_(sheep),4,43,
+ct,1,43,"coppertail,cotta"
+cryme_the_cheetah,1,43,
+crowded,0,43,
+crotch_fur,0,43,
+crifox,4,43,
+cow_(cow_and_chicken),4,43,
+court,0,43,
+corrupted_gem,5,43,
+cooper_dankev,4,43,
+cooked_food,0,43,
+conch,0,43,conch_shell
+command_to_swallow,0,43,
+comjuke,1,43,
+colors_(dirtypaws),4,43,
+collaborative_hand_heart,0,43,"collaborative_handheart,joined_hand_heart,joined_handheart"
+cloudy_jay,4,43,"c.j._(regular_show),c.j._(rs),c.j_(regular_show),c.j_(rs),cj_(regular_show),cj_(rs)"
+clothed_gynomorph_nude_female,0,43,clothed_dickgirl_nude_female
+cleaning_cock,0,43,
+claudia_(klausd),4,43,
+circlehead,5,43,
+chruscik_(dudelinooo),4,43,
+chocolate_bunny,0,43,chocolate_rabbit
+chirping,0,43,
+chilldog,1,43,
+cherri_(artist),1,43,
+cherise_chevron,4,43,
+chemical_hazard,4,43,
+cheese_wheel,0,43,
+champagne_bottle,0,43,
+cevelt,1,43,
+cathricorn,1,43,
+catbug,4,43,
+catbeecache,1,43,
+cat_(birdvian),4,43,
+caressing_head,0,43,
+caimon,4,43,
+cadblank,1,43,
+bullwinkle_j._moose,4,43,"bullwinkle,bullwinkle_j_moose"
+budded_cross,0,43,
+brown_panties,0,43,
+bridgette_o'shane,4,43,
+braix_(diives),4,43,
+bone_print,0,43,
+bone_collar_tag,0,43,
+bojog,1,43,
+bogrim,1,43,murkshadow
+bob_(biohazard),4,43,
+blutep_(artist),1,43,
+bluespice,1,43,
+blue_outfit,0,43,
+blue_neckwear,0,43,
+blue_headgear,0,43,
+blue_bed_sheet,0,43,
+blue-senpai,1,43,
+blocked_egg,0,43,
+blitzy_flair,4,43,
+bleeding-heart_monkey,5,43,"bleeding_heart_monkey,gelada_(monkey),gelada_baboon,gelada_monkey"
+blackshaya,1,43,
+black_pseudo_hair,0,43,
+black_eye_(disambiguation),6,43,black_eye
+black_diaper,0,43,
+bit555,3,43,
+birch,0,43,
+bionic_eye,0,43,bionic_eyes
+biology,0,43,
+big_shiba,4,43,
+big_muffintosh,1,43,
+bfkitsu1550,1,43,
+bess_project,3,43,
+berry_juice,0,43,
+berr,4,43,
+ben_(sssonic2),4,43,
+bella_(amphibia),4,43,
+beleth_(floraverse),4,43,
+begging_for_anal,0,43,
+beetlejuice,3,43,
+bcokami,1,43,
+bbq,0,43,
+balthazar_haxter,4,43,
+balloonie,0,43,
+bait,0,43,
+back_mane,0,43,
+ayah_(eradragon),4,43,
+awkward_moment,0,43,
+avalugg,5,43,
+assisted_oral,0,43,
+asper_(panzery25),4,43,
+art_deco,0,43,
+aromasensei,1,43,
+armiger_(bxrnstellar),4,43,
+arkgon,4,43,
+aretna,1,43,
+aquagalaxy,1,43,adoptaponyshadow
+aqua_grunt,4,43,team_aqua_grunt
+appmon,5,43,
+aodhan,4,43,
+anxiety,0,43,
+antlion,5,43,
+anthro_fingering_human,0,43,
+antena27,1,43,
+anon_fox,4,43,
+anon_bardos,1,43,
+animal_hood,0,43,
+aniapt_(manga),3,43,
+angst,0,43,
+angello_cauich,1,43,
+andrea_lexin,4,43,
+amira_winters,4,43,
+ambiguous_oral,0,43,
+amber_hill,1,43,vantid
+amara_(windborn),4,43,
+aman_(weibo),1,43,
+allosaurus_(artist),1,43,
+allopreening,0,43,
+alisa-walker,1,43,
+alcasar-reich,1,43,
+alaska_(gats),4,43,
+akula_(fenix-fox),4,43,
+akiru_cario,4,43,
+aipiepo,1,43,pie_(artist)
+agent_3_(splatoon),4,43,
+afuckingcamel-zenge-art_(artist),1,43,
+after_market_universe,3,43,
+aevyn,4,43,
+adriky1012,1,43,
+adopted_daughter,0,43,
+acrasia,4,43,
+acornart,1,43,
+acomfyblanket,1,43,
+ace_of_clubs,0,43,
+ace_combat,3,43,
+ace_(x1gameguy2007),4,43,
+abby_(polyle),4,43,
+aariel_(wolfyalex96),4,43,
+87sukiyaki,1,43,
+7-light-of-shadows-7,1,43,
+3_talons,0,43,
+15:16,7,43,
+11:12,7,43,
+007,3,43,
+zuekrz,1,42,kazie-ru
+zowslli,1,42,
+ziyana,4,42,
+zidanerfox,1,42,
+zephyrus_orgy,1,42,
+zephyr_(prestomajesto),4,42,
+zen_allen,1,42,
+zelo_lee,1,42,
+zeck_(icycoldfox),4,42,
+zarude,5,42,
+zarkayrin,1,42,wolgram
+zadrex,1,42,
+yzyhet,1,42,
+yumiki,4,42,
+yuel,4,42,
+yoshikage_kira,4,42,
+yellow_tail_feathers,0,42,
+yellow_spines,0,42,
+yellow_pseudo_hair,0,42,
+yellow_clitoris,0,42,yellow_clit
+yasha,4,42,
+yamcha_death_pose,3,42,
+yad,1,42,宿
+xsissa,1,42,
+xplaysx,1,42,
+xpfoddball,1,42,
+xenium,1,42,
+xanthos_(brushfire),4,42,
+wylderottie,4,42,
+wtfeather,1,42,
+wolf552906,1,42,
+wispowillo,1,42,
+white_undershirt,0,42,
+white_choker,0,42,
+white_bodysuit,0,42,
+wes_(dominus),4,42,
+werenimal,0,42,
+welcoming,0,42,
+walnutgecko,1,42,
+walnut,0,42,"wal_(nut),wal_nut,wall_(nut),wall_nut,wallnut"
+vox_glass,1,42,
+voui,1,42,
+volp3,1,42,
+vixieblues,1,42,
+vixie_(averyshadydolphin),4,42,
+vix_(quin-nsfw),4,42,
+vivian_(disambiguation),4,42,vivian
+vivi_(inline),4,42,
+virusotaku,1,42,
+violet_(zootopia),4,42,
+vibrating_cock_ring,0,42,
+veyll_(centum),4,42,
+veska,4,42,
+verd,4,42,
+veiny_legs,0,42,
+veiled_chameleon,5,42,"cone-head_chameleon,cone_head_chameleon,yemen_chameleon"
+vanillish,5,42,
+vampire_sunflower,4,42,vampire_flower
+vallus,1,42,
+valiance22,1,42,
+uvfox,1,42,
+urethral_knotting,0,42,
+urefunest,1,42,
+unown_text,7,42,
+unown_i,5,42,
+umine,1,42,
+ultimate_mating_league,3,42,
+two_tone_sweater,0,42,
+twin_tail_nojaloli_fox,4,42,"twin_tail_nojaloli_fox_(horokusa),twin_tail_nojarori_fox_(horokusa)"
+twilight-goddess,1,42,
+tuffalo,4,42,
+tuballkaindelparaiso_(artist),1,42,
+trial_captain_acerola,4,42,"acerola_(pokemon),acerola_(pokémon)"
+trencalos,1,42,
+trapmagius,1,42,
+translucent_breasts,0,42,
+tracy_(desidobie),4,42,
+traashmann,1,42,
+toxictigerex,1,42,
+touhoku_itako,4,42,
+toucan_sam's_nephews,4,42,
+totem.v,1,42,
+toroitimu,1,42,
+torn_bra,0,42,
+toragami_gaou,4,42,
+tora-chan_(horokusa),4,42,
+tokaga,1,42,
+tofu_(ralenfox),4,42,
+tight_swimwear,0,42,
+tic-tac-toe,0,42,
+throne_position,0,42,
+third_leg,0,42,
+therie_sah-van,4,42,
+the_valet_and_the_vixen,3,42,
+tentacle_growth,0,42,
+tenecayr,4,42,
+teepee,0,42,
+tears_of_desperation,0,42,
+teal_underwear,0,42,
+tanabata,3,42,
+tan_gloves,0,42,
+tamboribora,1,42,
+tailsrulz,1,42,"mark_thompson,mark_thompson_(artist),tailrulz,tailrulz_(artist),tailsrulz_(artist)"
+swomswom,1,42,
+swegabe,1,42,
+swapfell,3,42,
+swameliz,1,42,
+super_famicom,3,42,
+sunstripe,1,42,stripesun
+sunny_funny,4,42,
+sugekuma,1,42,
+suel,4,42,
+subliminal,0,42,
+stumbling,0,42,
+stuck_insertion,0,42,
+strobes,4,42,
+stripes-the-raccoon,1,42,"stripes_(artist),stripes_the_raccoon"
+strip_game,0,42,
+strapped_in_vibrator,0,42,
+strahinium,1,42,
+stormfly,4,42,
+stoney-pony,1,42,
+stereotype,0,42,
+stepping_on_head,0,42,
+stephen_inesty,4,42,
+steepled_fingers,0,42,
+stechow,1,42,
+starbearie,1,42,
+standby,1,42,
+stamper_pandragon,4,42,
+squiddy62,1,42,
+spy_x_family,3,42,
+sprrigs,4,42,
+spotted_tongue,0,42,
+sports_bikini,0,42,
+spookybooty,1,42,
+spinnerette_(webcomic),3,42,
+spiked_ring,0,42,
+spiggy-the-cat,1,42,suddenly-steinberg
+sperm_cell_with_face,0,42,
+spectrobes,3,42,
+spas-12,0,42,
+soulless_eyes,0,42,
+sosososleazy,1,42,
+sophia,4,42,
+sonic_prime,3,42,
+snapps,1,42,
+smog,0,42,
+smallfry_(splatoon),5,42,
+small_sheath,0,42,
+slit_nostrils,0,42,
+sleepyslut,1,42,
+sleeping_cap,0,42,
+slave_outfit,0,42,
+slaanesh_mark,0,42,
+sky_dragon_(cave_story),5,42,
+skinaflint,1,42,
+skandark,5,42,
+skag,5,42,
+siriusandpyri,1,42,
+sinaherib,1,42,
+shun_gonfano,4,42,
+shu_20625,1,42,
+shriek_dubois,4,42,
+shower_cap,0,42,
+short_glans,0,42,
+shlap,0,42,
+shirokyure_(watte),4,42,
+shinyillusionz,1,42,
+shibeari,1,42,
+shibara,1,42,
+sharkinn,1,42,
+shared_gag,0,42,
+shara_(anmtns),4,42,
+shadow_ball,0,42,
+shack,0,42,
+sex_toy_in_slit,0,42,
+sex_in_stomach,0,42,
+setup1337,1,42,
+setonanaki13,1,42,瀬戸七希
+seiren_(artist),1,42,
+sei_kuroneko_kishidan,3,42,
+scuted_hands,0,42,
+sarina_doyle,4,42,
+sara_(nekuzx),4,42,
+sapho_berga,1,42,
+sanory_(artist),1,42,
+sango_(inuyasha),4,42,
+sanae_kochiya,4,42,
+salmon_background,0,42,
+saliva_on_chest,0,42,
+salim_latif_soman,4,42,
+sakamoto_(nichijou),4,42,
+ryouta_sumeragi,1,42,
+ryouta_(leobo),4,42,
+roz-chan,4,42,
+roxi_ratt,4,42,
+rope_muzzle,0,42,
+roo_(valtik),4,42,
+rodd.y,1,42,
+rithnok_tatsukao_(rithnok),4,42,
+rickie_squirrel,4,42,
+rex_(furrybeefrex),4,42,
+reverie_(dreamsinscareden),4,42,
+resh,4,42,
+reptar,4,42,
+renaissanceofchaos,1,42,
+reis94618,1,42,
+red_vernal_(killioma),4,42,
+red_antennae,0,42,red_antenna
+red-eyed_crocodile_skink,5,42,red_eyed_crocodile_skink
+ratatouille,3,42,
+random_doom,3,42,
+randolph_(xuan_sirius),4,42,
+randall_(draugr),4,42,
+rampie,1,42,"endlesspie,piefact,piefactory,パイ"
+rae_(sabertooth621),4,42,
+racthetmechanic,1,42,
+racal_ra,1,42,
+quququl,1,42,
+quiet-ala,1,42,
+queen_of_spades_symbol,0,42,
+pyramids,0,42,
+putricia,1,42,
+pussy_transformation,0,42,
+puss_in_boots_(film),3,42,
+prykez,1,42,
+promiscuousmaractus,1,42,
+professor_squawkencluck,4,42,
+prison_guard,0,42,
+prismblush,3,42,
+princess_tempora,4,42,
+princess_hilda,4,42,
+pregnant_anthro,0,42,
+powree,1,42,froggiechan
+ponzu_tas,1,42,
+pizzacolt_(zhanbow),4,42,
+pixie_(brushfire),4,42,
+piston,0,42,
+pink_tail_tip,0,42,
+pink_pseudo_hair,0,42,
+pinguinolog,1,42,
+pinderhooks,1,42,
+pig_(angry_birds),4,42,
+phantasy_star,3,42,
+pervertedgiants,1,42,
+peru_body,0,42,
+persona_(species),5,42,
+pentagram_necklace,0,42,
+pengy_(pengi_nsfw),4,42,
+pen_in_mouth,0,42,
+pelvis,0,42,
+peeel,1,42,
+peachiekeenie,1,42,
+patty_(inkit89),4,42,
+pattern_apron,0,42,
+patricia_wagon,4,42,
+party_time,0,42,
+partially_submerged_arms,0,42,
+pardok,1,42,
+pants_undone,0,42,
+pants_pulled_down,0,42,
+painful_penetration,0,42,
+pablocomics,1,42,
+oumagadoki_zoo,3,42,oumagadoki_doubutsuen
+ottmutt,1,42,
+oswin_(password),4,42,
+orion_(aluminemsiren),4,42,
+orgasm_squirm,0,42,
+orgasm_command,0,42,
+orange_slice,0,42,
+ophelia_(gargoyles),4,42,
+omo_kemo,1,42,
+omni-ring,3,42,
+omega_(yitexity),4,42,
+oliver_cotter,4,42,
+oliver_(bowserboy101),4,42,
+odisia,1,42,
+obleacream,1,42,
+nyaongssi,1,42,
+nurg,4,42,
+notsafebear,1,42,
+nonamoth,1,42,
+noises,0,42,
+noble,0,42,
+nissei_(artist),1,42,
+niku_(gym_pals),4,42,
+nemo_nutkin_(character),4,42,
+nekowife,3,42,"cat_wife,catwife,neko_wife,neko_yome,nekoyome"
+neko_works,3,42,
+negigi,1,42,
+nausicaä_of_the_valley_of_the_wind,3,42,nausicaa_of_the_valley_of_the_wind
+nanasun,1,42,"7th,mussai002,nnsn"
+namelessimp,1,42,
+myifee,4,42,
+my_little_goat,3,42,
+murky_(heroes_of_the_storm),4,42,
+munax_od,1,42,
+multicolored_towel,0,42,
+multicolored_swimming_trunks,0,42,
+multicolored_arm_warmers,0,42,
+multi_tone_ears,0,42,
+mr_sadistokun,1,42,
+mozu,1,42,
+moshi_chan,1,42,
+mortimer_todd,1,42,
+morph,5,42,
+morelull,5,42,
+monotone_pillow,0,42,
+monotone_flesh,0,42,
+monotone_eyelids,0,42,
+monkeysuit,1,42,
+moni_(monidraws),4,42,
+momomo,1,42,
+momo_(characters),4,42,
+mommydom,0,42,
+molten_corgi,5,42,
+molly_hissleton,4,42,
+molly_(disambiguation),6,42,molly
+mjolnir_necklace,0,42,
+mirry92,1,42,
+miren,4,42,
+mint_(bittenhard),4,42,
+miner,0,42,
+minecart,0,42,mine_cart
+miles_lionheart,4,42,
+mikey_(scataraxia),4,42,
+miiverse,3,42,
+mewscaper,1,42,
+meowmere,1,42,
+mel_(dionysis),4,42,
+mega_moppa,1,42,
+mega_latias,5,42,
+meera,4,42,
+mebh_og_mactire,4,42,
+me_(master_elrest),4,42,
+mazia,4,42,
+may_(kojondian),4,42,
+maxhe,1,42,
+max_(frostedchase),4,42,
+matz,4,42,
+maternal,0,42,
+matelk,1,42,eyelessmike
+marshmallowvinyl,1,42,
+marquis_the_eevee,4,42,
+marco,4,42,
+marching_band_uniform,0,42,
+marblepan,1,42,
+maleherm/gynomorph,0,42,"d/mh,dickgirl/maleherm,gm/mh,gynomorph/maleherm,gynomorph_on_maleherm,maleherm/dickgirl,maleherm_on_dickgirl,maleherm_on_gynomorph,mh/d,mh/gm"
+maggie_(grimart),4,42,
+lynraccoon,0,42,
+lusyue,4,42,
+lunares_(freckles),4,42,
+lunar_regalia,3,42,
+lunagaron,5,42,
+luna_(buizanine),4,42,
+lowland_streaked_tenrec,5,42,
+lowered_pants,0,42,
+lotus_(disambiguation),6,42,"lotus,lotus_(character)"
+lorelei_cummins,4,42,lorelei_(xelaaredn)
+loboan,5,42,
+lizzyglizzy,1,42,
+living_train,5,42,
+live_on_cardliver_kakeru,3,42,
+lips_(soursylveon),4,42,
+lilyness,1,42,
+lilly_(inkit89),4,42,
+lillian_(sovulsen),4,42,
+liljdude,1,42,
+lilaira,1,42,
+lihzahrd,5,42,
+light_spots,0,42,
+lewdstuffstack,1,42,
+legs_around_head,0,42,
+leaf_pile,0,42,
+lazydoogan,1,42,
+laure_(thekite),4,42,
+latex_pants,0,42,
+laser_wisp,5,42,
+lance_hook,4,42,
+lalavi,1,42,
+laco,4,42,
+kwskkaruta,1,42,
+kururu,4,42,
+kurumiken,1,42,
+kure,1,42,
+kundofox,1,42,
+kumahachi0925,1,42,
+kuma_(darknetic),4,42,
+kukat,1,42,
+kubota_keita,1,42,
+krystamon_(character),4,42,
+krona,1,42,
+kris_maltoa,4,42,
+krimble,1,42,
+kricketune,5,42,
+kotorahime_neneko,4,42,
+kora_brandis,4,42,
+kopa,4,42,
+kolae_(character),4,42,
+kitsuneymg,1,42,
+kitsunal,1,42,
+kisaragi_(azur_lane),4,42,
+kingsnake,5,42,lampropeltis
+kimichika,1,42,
+kimako-desu,1,42,
+kiki's_delivery_service,3,42,
+kida_howlette_(character),4,42,
+kevwrite,1,42,
+kernelewdies,1,42,
+kelly_(ruribec),4,42,
+kay,4,42,
+kawa-v,1,42,
+kathy-lu_(character),4,42,
+kastmi,1,42,
+kasia88,1,42,
+kashe,1,42,
+karen_(redacted),4,42,
+kano,4,42,
+kangy_(tegerio),4,42,
+kane-neko,1,42,
+kaijusundae,1,42,
+kabula_(artist),1,42,
+jurann,4,42,
+junkieboi,1,42,
+june_(disambiguation),4,42,june
+josilver,1,42,
+joosiart,1,42,
+jojo218,1,42,
+johrnyreport,1,42,
+jirafona,1,42,
+jill_hopps,4,42,
+jiggy,0,42,
+jhoneilerld,1,42,
+jesse_(ciderward),4,42,
+jericko_(germanshepherd69),4,42,
+jayne_doe,4,42,
+jaws_(film),3,42,
+jaw_drop,0,42,
+javik,4,42,
+japanese_crested_ibis_(kemono_friends),4,42,"crested_ibis_(kemono_friends),toki_(kemono_friends)"
+japanda,1,42,
+janny_(ritts),4,42,
+jamster,3,42,
+james_flynn,4,42,
+jake_(warriors),4,42,
+jadeyarts,1,42,
+jackie_(brand_new_animal),4,42,
+jackheretherealone,1,42,
+ivybeth,1,42,
+ivalice_moogle,5,42,
+itaris,4,42,
+isolde_(rukis),4,42,
+iryx,4,42,
+inkersod,1,42,
+ink_bottle,0,42,"ink_bottles,inkbottle,inkbottles"
+inju_otoko,1,42,
+infrayellow,1,42,
+inflatable_bondage,0,42,
+infected,0,42,
+implied_rimming,0,42,
+imminent_crush,0,42,
+illarion_(talarath),4,42,
+ijiranaide_nagatoro-san,3,42,
+ichitro,4,42,
+ichigo_kurosaki,4,42,
+icelyon,1,42,
+ice_king,4,42,
+iavan,1,42,
+i'm_full_of_cum,3,42,
+huttser-coyote_(character),4,42,
+hurk,0,42,
+hotpie,1,42,
+horn_in_mouth,0,42,
+horde_symbol_(warcraft),0,42,
+holy,0,42,
+holographic,0,42,
+holding_in_mouth,0,42,
+holding_disposable_cup,0,42,
+hobkin_redux,5,42,
+hentaimimi,1,42,
+helen_parr,4,42,"elastigirl,mrs._incredible"
+held_upside_down,0,42,
+heigani,1,42,
+head_harness,0,42,
+harufeng,1,42,
+harry_campbell,4,42,
+harold_(harmarist),4,42,
+hands_on_tail,0,42,
+handjob_gesture,0,42,
+halondrix_(pasc),4,42,
+gyrfalcon,5,42,
+gunslingeratticus,1,42,
+gummybear_and_friends,3,42,
+grymmbadger,1,42,
+groenveld,1,42,
+grimoire,0,42,
+gou_(lagoon_lounge),4,42,
+gomtang,1,42,
+goldomond,4,42,
+glowing_hooves,0,42,
+glowhorn,1,42,
+ghost_hand,0,42,
+gentlemanpaux,1,42,
+genie_(disney),4,42,
+gawein-dragon,1,42,
+garen_(lol),4,42,
+gao_shiba,4,42,
+galloping,0,42,
+furrychrome,1,42,
+furrycandyshop,1,42,
+frozen_yoghurt,4,42,
+fritters,4,42,
+fringe_trim,0,42,
+foxibiki,1,42,
+foxialewd,1,42,
+forced_drinking,0,42,
+fluitaire,4,42,
+fluffy_penis,0,42,
+fluffy_(artist),1,42,
+floor_bondage,0,42,
+flint_(blazingflare),4,42,
+fjnm000,1,42,
+fino_(anthromate),4,42,
+fingering_through_clothing,0,42,
+fields,0,42,
+ferolepo,1,42,
+fennfeathers,1,42,
+felicario,4,42,
+feedfancier,1,42,
+feather_chibika,4,42,
+fattmana,1,42,
+fatpad,0,42,
+fake_paws,0,42,
+fabinella,4,42,
+exposed_crotch,0,42,
+excessive_blood,0,42,too_much_blood
+esprites,1,42,
+escuron,4,42,
+ero_jasper_(artist),1,42,exileanarkie
+eridan_ampora,4,42,
+enurubis,1,42,
+emmanuel_the_fox,4,42,
+emlan,1,42,
+emitting_precum,0,42,
+elvin,4,42,
+elizabeth_(nisetanaka),4,42,
+eel_(artist),1,42,
+edith_up,4,42,
+dynablade_savior,1,42,
+dusty's_poke'adventure,3,42,
+duffy,4,42,
+droopy_eyes,0,42,
+dravu,4,42,
+drangir,1,42,
+dragonsica,1,42,
+douglas_benson,4,42,
+double_forearm_grab,0,42,
+dot_nose,0,42,
+dobie-ace,1,42,
+dissection,0,42,
+dirk,4,42,
+diction,1,42,
+diana_(kyotoleopard),4,42,
+dez-fm,1,42,dezmondvulpin
+dexie93,1,42,
+detectiveneko,1,42,
+design_sheet,0,42,
+deriviera,1,42,
+denny_(dracojeff),4,42,
+denki_shougun,1,42,denki_shogun
+delta's_art,1,42,
+delbert_doppler,4,42,doctor_doppler
+dean_blitz,4,42,
+dc_simpson,1,42,
+darkgrim2,4,42,
+darkestmirrored,1,42,
+dark_grey_body,0,42,
+daisypayne_(artist),1,42,
+daisy_(insomniacovrlrd),4,42,
+dahlia-shark,4,42,
+cygnovum,4,42,
+cyborg_(dc),4,42,cyborg_(teen_titans)
+curtis_(awarebear),4,42,
+curtain_doggo_(photonoko),4,42,
+cupped_hands,0,42,
+cum_on_feathers,0,42,
+cum_on_car,0,42,
+cubcam,3,42,
+cringing,0,42,
+creed,4,42,
+crackajackin,1,42,
+couter,0,42,
+cookiekangaroo,1,42,"chaoswerewolf,norse-mischief"
+cookie_(nick-sona),4,42,
+controlled,0,42,
+computer_virus_(program),0,42,
+competitive,0,42,
+collision,0,42,
+collar_grab,0,42,
+cocoa,4,42,
+cloudtrotter,3,42,
+clothed_gynomorph_nude_male,0,42,clothed_dickgirl_nude_male
+cloacal_prolapse,0,42,
+cloacal_knotting,0,42,
+clitoris_leash,0,42,
+cidius,1,42,
+chowie_tanuki,4,42,
+chival_(character),4,42,
+cheese_singles,0,42,"american_cheese,cheese_single"
+cecilia_(gorbograndman),4,42,
+cd_player,0,42,
+catscatscatscatscats,1,42,
+catrina_(mlp),4,42,
+cassandra_(momiji),4,42,
+caslon,4,42,
+cashmerekangaroo,1,42,
+carrus,1,42,carrus_(artist)
+carnivine,5,42,
+carmine_(foxovh),4,42,
+carmen_(boolean),4,42,
+carl_(misterstallion),4,42,
+caramel_(dashboom),4,42,
+canvassolaris,1,42,
+canid_kaiba,1,42,
+camboody,1,42,
+caine_(cainesart),4,42,
+bumble_bee_(species),5,42,
+bull_sharkowski,4,42,
+bulge_nuzzling,0,42,
+bufl_(dafka),4,42,
+buffpup,4,42,
+bud_compson,4,42,
+bubbashiad,1,42,
+brown_scarf,0,42,
+broken_bottle,0,42,
+broderick_longshanks,4,42,
+britt,4,42,
+bringeall,1,42,
+brianna_(artica),4,42,
+borrowed_character,0,42,
+bonnie_(drawholic),4,42,
+bond,0,42,
+bomber,0,42,
+bodyxcount,1,42,
+blue_necklace,0,42,
+blue_boxers,0,42,
+blue-paint-sea,1,42,
+bloss,1,42,
+blood_on_belly,0,42,
+blitzthedurr,4,42,
+blaqink,1,42,mcityger
+black_tip_tail,0,42,
+black_insides,0,42,
+bizarre_song,4,42,
+biological_illustration,0,42,
+bigrbear,1,42,
+big-red_(character),4,42,
+betty_boop_(series),3,42,
+bent_beak,0,42,
+bengal_tiger_(kemono_friends),4,42,
+belly_stuffing,0,42,
+beelzebub_(helltaker),4,42,beezlebub_(helltaker)
+bec_(lobokosmico),4,42,
+bdone,1,42,
+barnyard,0,42,
+bamboo_structure,0,42,
+bad_pun,0,42,
+babynarwhal,1,42,
+baby_mario,4,42,
+azi,0,42,
+azenzeph,1,42,
+azael_dragonfang,4,42,
+awintermoose,1,42,
+awa_awa,1,42,
+avalonjay,0,42,
+aura_(aurathedanishhusky),4,42,
+aukives,1,42,
+atwistedfool,1,42,
+asusya,1,42,
+astrofenn,1,42,
+asterionblazing,1,42,rhandi-mask
+asriren,1,42,
+asme,1,42,
+ashley_graham_(resident_evil),4,42,
+artica_lagopus,4,42,
+arjinmoon,1,42,
+aria_(ryou),4,42,
+aranea_serket,4,42,
+appl,1,42,
+apoptosis,1,42,
+apex_(artist),1,42,
+aoba_(artist),1,42,
+ao_bai_(gunfire_reborn),4,42,
+anu,4,42,
+annoyance,1,42,
+annette_(lady_and_the_tramp),4,42,
+anna_(feuerfrei),4,42,
+animal_butchery_diagram,0,42,
+anidra,1,42,
+andromorph_on_feral,0,42,"andromorph/feral,cuntboy_on_feral,feral/andromorph,feral_on_andromorph"
+andrew_(dreamcastzx1),4,42,
+ana_(overwatch),4,42,
+amethese,4,42,
+alice_(disney),4,42,
+alice_(biohazard),4,42,
+alfie,3,42,
+akumu_(nightmareroa),4,42,
+adrian_crescent_(moonlight-trance),4,42,
+addy_otter,4,42,
+addison_rodgers,4,42,
+ace_trainer_(pokémon),4,42,ace_trainer_(pokemon)
+a_million_different_colors,3,42,
+^o^,0,42,
+147_(nobody147),4,42,
+11:14,7,42,
+zuphyx,1,41,
+zulu_(sleepysheepy17),4,41,
+zoom_in_transition,0,41,
+zombie_(character),4,41,
+zelminax,4,41,
+zarakon,1,41,
+zander_softpaws,4,41,
+yuri_(yuricrabking),4,41,
+yuki_(characters),4,41,
+yellow_text_box,0,41,
+xupo,1,41,
+ximorexx,1,41,
+xer'sai,5,41,
+xenoyparxi,1,41,
+xealacanth,1,41,
+x3,0,41,
+wyrt_(artist),1,41,
+wulframite,4,41,
+wrapping_paper,0,41,
+wound_penetration,0,41,
+worlds_collide,3,41,
+wood_container,0,41,
+wonderbunny,4,41,
+wolfie,4,41,
+wittle_digi,4,41,
+wisp_(dreamkeepers),4,41,
+wislow,4,41,
+wiping_tears,0,41,
+winstar,1,41,
+wight_bracken,4,41,
+white_text_box,0,41,
+white_necktie,0,41,white_tie
+white_headgear,0,41,
+white_crop_top,0,41,
+white-kano,1,41,カーノ
+whiskeypanda,1,41,
+wg_suru,1,41,
+wet_legs,0,41,
+wendover_(halcyon),4,41,
+wehrmacht,0,41,
+wayne_werewolf,4,41,
+waving_tail,0,41,
+watchmen,3,41,
+watching_movie,0,41,
+wanda_pierce,4,41,
+vvmilotic,1,41,
+void_lizard,1,41,
+vladcorail,1,41,
+vito,1,41,
+violet_(thea_sisters),4,41,
+victoriano_the_chief,1,41,
+veronica_(natani),4,41,
+verdilacs,1,41,
+vera-panthera,1,41,
+venvatio,1,41,
+venusfalls,1,41,
+venisin,1,41,
+veiny_nipples,0,41,
+veera_(infinitydoom),4,41,
+vani-fox_(character),4,41,
+valerie_oberlin_(monster_prom),4,41,
+ursine_ears,0,41,
+unsafescapewolf,1,41,
+undressing_between_scenes,0,41,
+underwear_pulled_down,0,41,
+un0sk,1,41,
+udkmyid,1,41,
+twoots,1,41,
+twin_brothers,0,41,
+twilight_(stitchy626),4,41,
+tuta,1,41,
+tuoni,1,41,
+tundra_dragon,5,41,
+tueddelkram,1,41,
+tsukasa,4,41,
+true_fossil_soul,1,41,
+trix_the_cat,1,41,
+triton,5,41,
+tricycle,0,41,
+trick_rex_(artist),1,41,
+tower_of_god,3,41,
+touching_own_knee,0,41,
+torture_rack,0,41,
+tornadus,5,41,
+torn_leg,0,41,
+tori2tea,1,41,
+topaz_(gem),0,41,
+tiger_blueberry,1,41,
+tibbers,4,41,
+thrumbo,5,41,
+thigh_pouch,0,41,
+thigh_bow,0,41,
+theironmountain,1,41,
+theflankbank,1,41,
+thebluebear27,1,41,
+the_sims,3,41,the_sims_3
+the_dark_side_of_the_moon_(album),3,41,
+the-crowfox,1,41,
+test_pattern,1,41,
+terry_(terryburrs),4,41,
+teot,1,41,
+tentacle_pussy,0,41,
+temrin_sanjem,4,41,
+tempura_puppy,1,41,
+teleport,0,41,
+teal_bottomwear,0,41,
+td_(artist),1,41,
+tawa_1908,1,41,
+taste_the_rainbow,0,41,
+tasmin_(natani),4,41,
+tao_2carat,1,41,
+tanuki_costume,0,41,"tanooki_costume,tanooki_suit,tanuki_suit"
+tantrum,0,41,
+tanna_nokka,4,41,
+tan_antennae,0,41,tan_antenna
+tail_around_pole,0,41,
+taiikodon,1,41,
+tahomich0,1,41,
+syphon,4,41,
+synad,1,41,
+sweet_potato,0,41,"sweet_potatoes,yam"
+sweeping,0,41,
+sush1d0g3,1,41,
+suplolnope,1,41,
+sun_(smu),4,41,
+sukedai_haniwa,1,41,
+suinmsg,3,41,
+suggestive_eating,0,41,
+sugahbite,1,41,
+suddenlytsumi,1,41,
+style_emulation,0,41,
+steamedvegetables,1,41,
+squeakie,1,41,
+spunkyrakune,4,41,
+spunky_(spunky_mutt),4,41,
+spoted_fur,0,41,
+spontaneous_erection,0,41,
+splitalien,1,41,
+spiritraptor_(character),4,41,
+spiked_tentacles,0,41,
+spelunker_sal_(character),4,41,
+special_week_(pretty_derby),4,41,
+soot,0,41,
+sonnano_ari,1,41,有梨
+sola,4,41,
+sokolas,1,41,
+socket,0,41,
+sock_puppet,0,41,
+snowberry,1,41,
+slit_licking,0,41,
+sleepywozzy,1,41,
+sleepy_rain_(character),4,41,
+slapping_own_butt,0,41,
+skunny,5,41,
+skunkhotel,1,41,
+skinless,0,41,
+skeksis,5,41,
+sitting_on_object,0,41,
+sion_allona,4,41,
+sinder,4,41,
+sin-chan,1,41,
+silver_fly,1,41,silverfly
+silkyfangs,1,41,
+sigrid_(snakedakyoot),4,41,
+sierra_(ashcozy),4,41,
+side_hug,0,41,
+shu_(dragon_ball),4,41,
+short_eyebrows,0,41,
+shoppaaaa,1,41,
+shockwave_(transformer),4,41,
+shiretsuna_(character),4,41,
+shinto,0,41,
+shiftylook,3,41,
+shide,0,41,
+sheryaugust,1,41,
+shepherd_(torata3220),4,41,
+shaneinvasion,1,41,
+shadowzero20,1,41,alluringming
+sevenserenity,1,41,
+servant_pup_(marimo),4,41,
+sergal_taur,5,41,sergaltaur
+sensiive,1,41,
+semajsttseb2,1,41,
+sebastian_horse,4,41,
+seath_the_scaleless,4,41,
+scootiebloom,1,41,
+sciamano240,1,41,
+scaled,0,41,
+satin,0,41,
+sasha_waybright,4,41,
+sapphire_(disambiguation),6,41,sapphire
+sambers,1,41,
+sam_(pronista),4,41,
+sam_(bts),4,41,
+sally_(e-01),4,41,
+sailing_ship,0,41,"sail_ship,sailship"
+safety_glasses,0,41,
+s-q,1,41,
+rutting,0,41,
+russell_(adondis),4,41,
+ruined_clothing,0,41,
+ruby_(unidentified-tf),4,41,
+roxy,4,41,
+roxadelic,4,41,
+rosemary_wells,3,41,
+rose_(kamikazekit),4,41,
+rokuya,1,41,
+rocky_(mlp),4,41,rockey_(mlp)
+robin_(twoscale),4,41,
+ringing,0,41,
+rin_(kittyrin),4,41,
+rift_(wolfywetfurr),4,41,
+rick_evans,4,41,
+richter,4,41,
+rhapsody_(lolodepuzlo),4,41,
+rexlabs,3,41,
+reverse_furry,0,41,
+revenant_(supersoupnova),5,41,
+renamom_(slickerwolf),4,41,
+red_sneakers,0,41,
+red_eyelids,0,41,
+reclining_pose,0,41,
+rebel,0,41,
+razzybun,1,41,
+razul,4,41,
+razinox,4,41,
+ransom,4,41,
+ranma_saotome,4,41,
+randagio_(fairy_musketeers),4,41,
+rain_(vanillayote),4,41,
+rachel_addison,4,41,
+raak,4,41,
+qurupeco,5,41,
+purple_eyeliner,0,41,
+puniko_(arekishi),4,41,
+pumex,1,41,
+pumapard,5,41,
+pulling_underwear_down,0,41,
+puddingpaw,1,41,"phoenixmagica,phoenixmagica_(artist),puddingpaw_(artist)"
+pubic_trail,0,41,
+prometheuzone,1,41,
+projectile,0,41,
+print_thigh_highs,0,41,
+princess_terria,4,41,
+princess_romy,4,41,
+pride_color_highlights,0,41,
+prey_focus,0,41,
+precum_on_leg,0,41,
+pplpvtr,1,41,
+power_ring,0,41,
+pouch_piercing,0,41,
+potoroo,5,41,
+posthuman,5,41,
+popi,4,41,
+popansfw,1,41,
+poochybig,1,41,
+ponyhidden,4,41,
+polteageist,5,41,
+polly_possum,4,41,
+pokémon_uranium,3,41,pokemon_uranium
+pointing_at_object,0,41,
+po_chf,1,41,
+plum_(artist),1,41,
+plini,4,41,
+playing_dead,0,41,
+plate_carrier,0,41,
+pizzle,1,41,
+pixie_and_brutus,3,41,
+pinki-husky,4,41,
+pink_tuft,0,41,
+pink_sheets,0,41,
+pink_fairy_armadillo,5,41,
+pingthehungryfox,1,41,
+pikaqoo,1,41,
+piippujalka,1,41,
+pepper0,1,41,
+penis_over_shoulder,0,41,
+penetrable_sex_toy_in_ass,0,41,
+penelope_(hamtaro),4,41,
+pecon,1,41,
+pdart,1,41,
+paul_webster,4,41,
+patecko,1,41,
+patchwork_monster,5,41,
+passing_out,0,41,
+party_popper,0,41,
+paper_towel,0,41,
+panties_around_tail,0,41,
+painted_penis,0,41,
+oversheep,1,41,
+ornate,0,41,
+orenjipiiru,1,41,wholesomeorenji
+oran_(hendak),4,41,
+oral_pretzel,0,41,
+ophelia_(nightfaux),4,41,
+olli_(lost-paw),4,41,
+okmt_redbull,1,41,
+okami_(masterokami),4,41,
+ohiekhe,1,41,
+officer_munroe,4,41,
+occhan,4,41,
+novaberry,1,41,
+notveryathletic,1,41,
+not_pulling_out,0,41,
+nootherway,1,41,
+nonbinary_bunny,1,41,
+noelle_(noelleneko),4,41,
+noel,4,41,
+no_evil,3,41,
+nilania,4,41,
+nikitak,5,41,
+night_vision,0,41,
+neroj,4,41,
+nemo_(k_busho),4,41,
+nematious_(character),4,41,
+neck_snap,0,41,
+ne0fox,4,41,
+nayshie,1,41,
+naughtyrobby,4,41,
+natsume_yuujinchou,3,41,yuujinchou
+narwhal_iv,1,41,
+nardo,4,41,
+nanashi-arts,1,41,
+mystical,0,41,
+muscleartguy,1,41,
+multi_snout,0,41,multi_muzzle
+mrkeypoo,1,41,
+mr-dna,1,41,
+moonrunes,1,41,
+montiga_(montiga),4,41,
+monstrovod,1,41,
+monopoly,3,41,
+monica_raybrandt,4,41,
+momu9172,1,41,
+mohalic,1,41,
+moenkin,1,41,
+moduckten,1,41,
+mobian_cat,5,41,
+mlpanon,1,41,
+mizaru,1,41,
+miss_moosie,1,41,
+minute,4,41,
+minttu_(loimu),4,41,
+minoru_mineta,4,41,
+minish_cap,3,41,
+mimizu,1,41,
+mimi-fox,1,41,
+milo_skunk,4,41,
+milo_(shortwings),4,41,
+mile_high_club,0,41,
+metro,0,41,
+mercy_(varaxous),4,41,
+mephistoscousin,4,41,
+meowolf222,1,41,
+meo_miou,1,41,
+mehawk,1,41,
+maximillianveers,1,41,maximillian_veers
+maxartwolf,1,41,
+maverickk_(artist),1,41,
+mat_(mbh98),4,41,
+masvino,1,41,
+mass_effect_3,3,41,
+masked_singer,3,41,"king_of_mask_singer,mask_singer,masked_singer's_king,masked_singers_king,mystery_music_show:_masked_singer's_king,mystery_music_show:_masked_singers_king,mystery_music_show_masked_singer's_king,mystery_music_show_masked_singers_king,the_king_of_mask_singer,the_mask_singer,the_masked_singer"
+markhor_(artist),1,41,
+maple_(cobat),4,41,
+maneframe,1,41,brendavid
+mandy_(nedoiko),4,41,
+mamesuke,1,41,
+malgam_(fidchellvore),4,41,
+magic_sword,0,41,
+magia_(kyuuri),4,41,
+madeleine_(caninelove),4,41,
+mackenzie_(bluey),4,41,
+mab,1,41,
+m-p-l,1,41,
+lylejones,1,41,lylej
+lutivian,1,41,
+luna_(dota),4,41,luna_the_moon_rider
+lottie_cummins_(thechavicgerman),4,41,
+lord_kass,4,41,
+loofah,0,41,
+long_term,0,41,
+lockpicking,0,41,
+lobs,1,41,
+lobo,4,41,
+living_statue,5,41,
+lisa_(disambiguation),4,41,lisa
+liona_mcgraw,4,41,
+lindwurm,5,41,
+lilac,4,41,
+lightz_raela,4,41,
+lightningwolt,1,41,
+light_flesh,0,41,
+lifted_by_self,0,41,
+lewdshark,1,41,
+leviathan103,1,41,
+lesdias,1,41,
+leomagna,1,41,
+lenore_(lamezone),4,41,
+lenika,1,41,
+lemonynade,3,41,
+lemonpuffs,4,41,
+lemon_hearts_(mlp),4,41,
+legendary_titans,5,41,
+leather_armwear,0,41,
+layetta,4,41,
+law_of_love,3,41,
+laurelhach23,1,41,
+larger_sleeping,0,41,
+landreu,4,41,
+lammy_(htf),4,41,
+laffulaffubread,1,41,
+ladycherrybomba,1,41,
+lady_wolf_(arbuzbudesh),4,41,
+kyoko_komurasaki,4,41,
+kyatune,1,41,
+kult2k,1,41,
+krystal_can't_enjoy_her_sandwich,3,41,
+konstantin_kholchev,1,41,
+komena_akamori,4,41,
+knottytracker,1,41,
+kiyo_mae,4,41,
+kix,4,41,
+kiu_piu,1,41,
+kitchen_cabinet,0,41,
+kissing_forehead,0,41,
+kisaragi_syoo,1,41,
+kirlan,4,41,
+kira_kathell,4,41,
+kinyama,1,41,
+king_of_the_hill,3,41,
+king_(kingbeast),4,41,
+kiko_kempt_(character),4,41,
+kerestan,1,41,
+kenta_(afuckingcamel),4,41,
+keel_(keeltheequine),4,41,
+kazami_karasu,1,41,
+kathu_thal,4,41,
+kate_summers,4,41,
+kate_(tach0012),4,41,
+kate_(morpheuskibbe),4,41,
+kapri_(kapri),4,41,"kapri_(kaprihorn),kapri_(kaprileak)"
+kaje,4,41,
+kaixo,4,41,
+kadath_(character),4,41,
+junkrat_(overwatch),4,41,
+joy_ravenhurst,4,41,
+jox,4,41,
+jon_jafari,4,41,
+johnbrain93,1,41,
+john_burroughs_(akiric),4,41,
+joey_(alfa995),4,41,
+joelbearb,1,41,
+jmacgregor,1,41,hobo-sensei
+jidane,1,41,
+jessica,4,41,
+jellyntical,1,41,
+jelly_bean,0,41,"jelly_beans,jellybean,jellybeans"
+jelli_(jellithepanda),4,41,
+jaz_(nanimoose),4,41,jasmine_(nanimoose)
+jarofslime_(artist),1,41,
+jade_(sleepingpowder),4,41,
+jackofak,1,41,
+jackle0rgy,1,41,
+ionai,1,41,
+io_(sepiruth),4,41,
+internet_explorer,3,41,
+inspector_gadget,4,41,
+indrel,5,41,
+indie,4,41,
+incubus!,3,41,
+inabayasuri,1,41,
+in_abyss,1,41,
+impossible_clothing,0,41,
+implied_fire,0,41,
+immoveableguide,1,41,
+imminent_spitroast,0,41,
+ilp0,1,41,
+ignis_rana,1,41,
+iggy_(graffitidragon),4,41,
+i3i2455_ivi394,1,41,
+hypno_goggles,0,41,
+humdrum_(mlp),4,41,
+hukuroushi,1,41,
+hugo_(jumperbear),4,41,
+huge_hamstrings,0,41,
+hoshizora_miyuki,4,41,
+hooki,1,41,
+hood_only,0,41,
+honest_radish,1,41,
+holding_trident,0,41,
+holding_revolver,0,41,
+holding_micro,0,41,
+holding_lighter,0,41,holding_lighters
+holding_coffee_cup,0,41,holding_coffee_cups
+hogswild,1,41,
+hofi-peak,1,41,
+hisuian_braviary,5,41,
+hiding_breasts,0,41,
+heineken,3,41,
+heather_moore,4,41,
+heads_together,0,41,
+head_in_hands,0,41,
+head_fur,0,41,
+hassana,4,41,
+hasani,4,41,
+hand_on_another's_thigh,0,41,
+halley,4,41,
+half-life_2,3,41,
+hair_over_shoulder,0,41,
+hadalmartian,1,41,
+gynomorph_anthro,0,41,
+guakomo_mewsworth,4,41,
+grow_(sound_effect),0,41,
+grogar_(mlp),4,41,
+gree,1,41,
+gothita,5,41,
+goolahan,1,41,
+goober_(cobat),4,41,
+gontadanuki,1,41,
+goldenfox,1,41,
+golden_fredina_(cally3d),4,41,
+goatboyalex,1,41,
+gluttony,0,41,
+glistening_object,0,41,shiny_object
+glazed_(artist),1,41,
+glaucus_atlanticus,5,41,
+ghq,1,41,
+germaine_(vixen),4,41,
+germaine,4,41,
+geno_(geckonori),4,41,
+genital_exam,0,41,
+gelato24,1,41,
+garuda,4,41,
+garr,4,41,
+gardemom,4,41,
+gantan,1,41,
+ganbanman,1,41,
+gal,0,41,
+gabu_art,1,41,
+gabiru_(that_time_i_got_reincarnated_as_a_slime),4,41,
+funnel_in_ass,0,41,
+fully_restrained,0,41,
+full-face_blush,0,41,
+fuck_penders,0,41,
+fritz,4,41,
+fr,1,41,
+foxy_(nekojita),4,41,
+fox-die,1,41,
+fourway_(artist),1,41,
+fortress,0,41,
+forestwalker,4,41,
+forehead,0,41,
+foot_on_belly,0,41,
+foot_insertion,0,41,
+flockdraw,3,41,
+flat_top,0,41,
+flash_animation,0,41,
+flame_bikini,0,41,
+flakes,1,41,
+flak_(foxyflak),4,41,
+fishnet_bodysuit,0,41,
+filigree,0,41,
+fifi_(somemf),4,41,
+ferngully,3,41,
+feral_armor,0,41,
+female_watching,0,41,
+feces_on_arm,0,41,feces_on_arms
+faye_(warcraft),4,41,
+farran_height_(artist),1,41,
+faogwolf,1,41,
+fantastic_four,3,41,
+fangs_on_penis,0,41,
+fake_mustache,0,41,
+fainting_goat,5,41,
+face_on_butt,0,41,
+exmoz,1,41,
+exalted,3,41,
+eve_(wolfpack67),4,41,
+essentialryu,1,41,
+esartist,1,41,
+erotic_asphyxiation,0,41,
+erdtree,0,41,
+erdno_(commissar_prick),4,41,
+enryuuchan,1,41,enryuu-chan
+empress_(ahit),4,41,
+emerging,0,41,
+ember_(bloodline),4,41,
+elliot_(fluke),4,41,
+ell,4,41,
+eljelicsnsfw,1,41,
+elisabeth_(eipril),4,41,
+elgiza,4,41,
+elemental_(disambiguation),6,41,"element,elemental,elementals,elements"
+elele,1,41,
+elek-tronikz,1,41,
+elcy,1,41,elcydog
+egging_(artist),1,41,
+eel_humanoid,5,41,
+eclairscollection,1,41,
+echidna_wars_dx,3,41,
+ear_over_eye,0,41,
+e-pon,1,41,
+dyzd1,1,41,
+dynx,5,41,
+dural,4,41,
+duality448,3,41,
+drunkarcher,1,41,
+drowned,0,41,
+drippy_dragon,4,41,
+dripping_urine,0,41,
+dripping_milk,0,41,
+driiadi,1,41,
+dress_aside,0,41,
+dream--chan,1,41,dreampaw
+dragoness31,1,41,
+domestic_pigeon,5,41,
+dognextdoor,1,41,
+doggydog_(character),4,41,
+djpeatz_(character),4,41,
+dividedwreck,1,41,
+disco_bear_(htf),4,41,
+digbox,1,41,
+diethyl,1,41,
+diesel_(komatose),4,41,
+dick_flattening,3,41,
+diamond_hakamo-o,4,41,
+diamond_eyes,0,41,
+dettyfenik,1,41,
+demisexual_pride_colors,0,41,"demisexual,demisexual_colors,demisexual_flag,demisexual_pride_flag"
+delirium_(tboi),4,41,
+daz1319,1,41,
+dayan,1,41,
+david_(anakuro),4,41,
+dashiesparkle,1,41,
+dashiathebunny,1,41,
+dark_socks,0,41,
+danua,4,41,
+dante_(dreiker),4,41,
+danneth,4,41,
+danielle_(lady_and_the_tramp),4,41,
+danganronpa_v3,3,41,
+danganronpa_2,3,41,
+damon_fallow,4,41,
+damakrell,1,41,
+cyth-swag,1,41,
+cynos-zilla,1,41,
+cum_tank,0,41,
+cuadra_side,1,41,
+cryska_wintergaze,4,41,
+crybleat,1,41,crybleat_(artist)
+crab_humanoid,5,41,
+crab_claw,0,41,
+cookie_monster,4,41,
+conquering_storm,4,41,bride_of_the_conquering_storm
+comic_(under(her)tail),4,41,
+colonel-gabbo,1,41,
+collaborative_rimming,0,41,"double_rimming,double_rimminmg"
+colin-tox,4,41,
+coke,0,41,
+cobby_(vju79),4,41,
+clever,0,41,
+claude_(iceblueeyes),4,41,
+clark_(smoothlabs),4,41,
+clarevoir,1,41,
+cinny_the_incineroar,4,41,
+chupa,0,41,
+chosen_undead,4,41,
+chloe,4,41,
+chivaran,1,41,
+chisai,4,41,
+chip_(animal_crossing),4,41,
+chikurako_kanoeki,4,41,
+chikiko,1,41,
+chest_floof,0,41,
+chessie_(shycyborg),4,41,
+chatot_(eotds),4,41,
+charlieleobo,1,41,
+cellina,4,41,
+cecropia_moth,5,41,
+catzakir,1,41,
+catalyst_(fortnite),4,41,
+cat_suit_(mario),0,41,
+carrying_character,0,41,
+carne_asada,4,41,
+cappy_(hamtaro),4,41,
+canine_sheath,0,41,
+canine_anatomy,0,41,
+candy_(artist),1,41,
+camellia_(halbean),4,41,
+calyx_forrester,4,41,
+caligae,0,41,
+calamity_mod,3,41,
+cake_slice,0,41,
+cairo_(bigmaster),4,41,
+caiem,1,41,
+buvanybu,1,41,
+butterbit,1,41,
+bunny_maloney,3,41,
+bunny_bloom,4,41,
+bunny_(averyshadydolphin),4,41,
+bunn_delafontaine,4,41,
+bunbun_npc_(undertale),4,41,
+brushie_brushie_brushie,3,41,
+bruce_(animal_crossing),4,41,
+brown_eye,0,41,
+broly,4,41,
+breezer_marais,4,41,
+breed_(biomutant),5,41,
+bowletta,4,41,
+boundlightning,1,41,
+boo,0,41,
+boeing,3,41,
+body_part_in_urethra,0,41,
+bodalack,1,41,
+bobo_(blazingcheecks),4,41,
+bluemeganium,1,41,
+blueblaze95,1,41,
+blue_mood,0,41,
+blue_guy_(da~blueguy),4,41,
+bloominrose,1,41,thorn_(artist)
+blinky_(pac-man),4,41,
+blanch,1,41,
+black_text_box,0,41,
+black_tears,0,41,
+black_mustache,0,41,
+bitty,4,41,
+biro_(inkplasm),4,41,
+bird_(petruz),4,41,
+bin,0,41,
+bilyonaire,4,41,
+bill_(dreamkeepers),4,41,
+biggslorp,1,41,
+big_mouth_(series),3,41,
+berzie_(oc),4,41,
+bell_earrings,0,41,
+beaver_and_steve,3,41,
+beast_sergal,5,41,
+baylong,1,41,
+battleborn,3,41,
+bastiodon,5,41,
+basti,4,41,
+barggmel,1,41,
+barboskiny,3,41,
+bandit_hermit_(gunfire_reborn),4,41,
+balros,4,41,
+ball_hug,0,41,
+baile_oricorio,5,41,
+baguette_(artist),1,41,
+backstory,0,41,
+baby_creeper,4,41,
+azzydrawsstuff,1,41,
+azzai,1,41,
+ayumi_(ayumixx),4,41,
+avy_(syvaron),4,41,
+augustus_(bcb),4,41,
+asura_(character),4,41,
+ast,1,41,
+ascaniololololol,1,41,
+arsenia,4,41,
+arrogance,4,41,
+arq_(ramul),4,41,
+armored_vehicle,0,41,
+arm_bite,0,41,
+arlo_beauregard,4,41,
+argigen,1,41,
+araizumi_funaka,4,41,
+aquasixio,1,41,
+aquariusfox,1,41,
+aoko_(ceehaz),4,41,
+anvel,0,41,
+anubis_rose_(character),4,41,
+anonymous_colorist,1,41,
+angsthewicked,1,41,angs
+angry_noises,3,41,angry_dog_noises
+andreia-chan,1,41,
+andee_(rvb_revolution),4,41,
+ammon,4,41,
+amira_(mlp),4,41,
+amezawa_koma,1,41,ponnzuame
+amber_wing,4,41,
+amber_(armello),4,41,
+amazon_(company),3,41,
+amaya_(bcb),4,41,
+amara,4,41,
+alyx_(alyxalyx),4,41,
+alternate_version_at_paywall,0,41,
+alternate_text_(artist),1,41,
+altair_(patto),4,41,
+alolan_muk,5,41,"alola_muk,muk_(alola_form),muk_(alolan_form)"
+alna_fratcher,1,41,alna
+aku_tojyo,1,41,"aku_tojyo_(artist),aku_toyjo,aku_toyjo_(artist),tojyo,tojyo1942,tojyo1942_(artist),tojyo_(artist),toyjo,toyjo_(artist),悪の東丈"
+akimi_(merunyaa),4,41,
+aix_(andreariel),4,41,
+agony,0,41,
+against_railing,0,41,against_rail
+acroth,4,41,
+achievement_unlocked,0,41,
+abdominal_scar,0,41,
+8_limbs,0,41,
+69_breast_suck,0,41,
+33xtc,1,41,
+1990,7,41,
+12_breasts,0,41,
+100:99,7,41,
+0onooo66,1,41,
+zote,4,40,
+zoruabydefault,1,40,
+zomboyde,1,40,
+zipzap,1,40,
+zilch1998,3,40,
+ziegelzeig_zoona,4,40,
+zeus_(bitterstrawberries),4,40,
+zennyc,1,40,
+zenko_(leobo),4,40,
+zelen,1,40,
+zekra_(ramul),4,40,
+zazush_(zazush-una),4,40,
+zarla,1,40,zarla-s
+zankytime,1,40,
+zane_(t-thewolf),4,40,
+zandalari_troll,5,40,
+yuuki-abe,1,40,
+yui.h,1,40,
+yellow_stockings,0,40,
+yellow_piercing,0,40,
+yeehaw_goth,1,40,
+xurkitree,5,40,
+xkoshiji,1,40,
+xander_(momiji),4,40,
+xanaeth,1,40,
+xaessya,4,40,
+x-zudomon,1,40,xzudomon
+workbench,0,40,
+woodenplankstudios,1,40,
+wolftrap546,1,40,
+wolfbuns,1,40,
+wildmons_(catcouch),5,40,wildmon_(catcouch)
+wildcardshuffle,1,40,7clubs
+wicka,1,40,
+whoreomatic,1,40,
+whitty_(fnf),4,40,
+white_pupil,0,40,
+white_lady_(hollow_knight),4,40,
+whateverthefox,1,40,
+weedwolf,1,40,
+wedding_night,0,40,
+weapon_trail,0,40,
+waltz,1,40,
+walter_rossi_(nanoff),4,40,
+wakeangel2001,1,40,
+waist_turned,0,40,
+waist_apron,0,40,
+voondahbayosh,1,40,
+vomi_agogo,4,40,
+volo_(pokemon),4,40,volo_(pokémon)
+volka,4,40,
+vole,5,40,
+virtue's_last_reward,3,40,
+vincent_(foxmcc),4,40,
+victor_mccain,4,40,
+vibrator_on_balls,0,40,
+verulence,1,40,
+vera_(pitoux2),4,40,
+ven_(yo-lander),4,40,
+veiny_dick,0,40,
+usada_hikaru,4,40,
+ursa_minor_(mlp),4,40,
+upright_straddle,0,40,
+united_galactic_federation_trooper,4,40,ugf_trooper
+uni_(arekishi),4,40,
+under_bed,0,40,
+unasunas,1,40,
+umireomi,1,40,
+ultrasound,0,40,ultrasonography
+ullamaliztli,1,40,
+ukkaritanuki,1,40,
+two_tone_pseudo_hair,0,40,
+twirling,0,40,
+tuoppi,4,40,
+tuomas_koivurinne,1,40,
+trixx_love,4,40,
+trisamaine_(viwrastupr),4,40,
+triku,1,40,
+toysky,4,40,
+toxapex,5,40,
+toxa,4,40,
+toro_inoue,4,40,
+torn_armwear,0,40,
+tooty,4,40,
+tootaloo,1,40,
+tongue_sex,0,40,
+tongue_in_throat,0,40,
+tolder,1,40,
+tnargraef,1,40,
+tj_(gothicskunk),4,40,
+tiuhu,1,40,
+tinky,1,40,
+tigerlukke,1,40,
+tieg_graywolf,4,40,
+tiburia,4,40,
+tiago_(rio),4,40,
+thunk_(gyro),4,40,
+thong_down,0,40,
+thomas_woolfe,4,40,
+thixxen,1,40,
+themaestronoob,1,40,
+thehuskyk9,4,40,
+thefoxydragon,1,40,
+theecchiqueen,1,40,
+the_stable,3,40,
+the_oblongs,3,40,
+the_good_dinosaur,3,40,
+the_ember,4,40,
+tentacle_creature,5,40,
+tenacitrus,1,40,
+teen_titans_go!,3,40,teen_titans_go
+teckit_vance,4,40,
+technicoloris,1,40,
+tecfront,1,40,
+teal_stripes,0,40,
+teal_mouth,0,40,
+tasla_venhyle,4,40,
+tapering_horn,0,40,tapered_horn
+tamlin123,1,40,
+tami_(poonani),4,40,
+tales_of_symphonia,3,40,
+taka_studio,1,40,
+t_(nimzy),4,40,
+säikky,1,40,saikky
+sybyl_(newd),4,40,
+sweating_towel_guy,3,40,
+svevato,1,40,
+superb_lyrebird,5,40,
+sum_kemono,1,40,
+subject_(artist),1,40,
+striped_hat,0,40,
+string_hair_bow,0,40,
+streex,4,40,
+strawberrypunchz,1,40,
+strabimon,5,40,
+stomach_storage,0,40,
+stirrup_leggings,0,40,
+stick_(satel),4,40,
+step,0,40,
+steffanni,4,40,
+starvinartmajor,1,40,
+star_after_text,0,40,
+star_(balto),4,40,
+stal,4,40,
+spiral_(thespiralaim),4,40,
+spinel_sun,4,40,
+spider-ham_(character),4,40,
+spelunky_2,3,40,
+speckled_fur,0,40,
+species_change,0,40,
+spacebender,3,40,
+space_hopper,0,40,
+sorrow,0,40,
+sonic_and_the_secret_rings,3,40,"satsr,sonic_and_the_secret_of_the_rings,sonic_wild_fire"
+solard0gg0,1,40,
+soddy,1,40,
+snow_angel,0,40,
+snartles,1,40,
+smeared_lipstick,0,40,
+slylock_fox_and_comics_for_kids,3,40,slylock_fox_&_comics_for_kids
+slitherette_(slither),4,40,
+slit_day,3,40,
+sliderspoint,1,40,
+sleepiitreat,1,40,
+skwovet,5,40,
+sketchy_knight,1,40,
+skai,4,40,
+skadog,1,40,
+sirevisconde,1,40,
+sirbrownbear,1,40,
+sint_(hfd4),4,40,
+sinser,1,40,
+single_glove,0,40,
+silvy,4,40,
+sillysinz,1,40,
+sierra_(sierraex),4,40,
+sienna_khan,4,40,sienna_khan_(rwby)
+siberian_cat,5,40,
+shyning_fingah,1,40,
+showering_together,0,40,
+short_tapering_penis,0,40,
+shira_snep,4,40,
+shikoku_ken,5,40,"japanese_wolfdog,kochi-ken,kochi_ken,mikawa-inu,mikawa_inu,shikoku-inu,shikoku-ken,shikoku_dog,shikoku_inu"
+shianko,1,40,akire-shiandiamond
+shenzel_(shenzel),4,40,
+sheera_castellar,4,40,
+shatter,0,40,
+shark_tooth,0,40,
+sharing_diaper,0,40,diaper_sharing
+shani,4,40,
+shaenarys,4,40,
+sexual_exploitation,0,40,
+seturou1010,1,40,
+servius_(vestina),4,40,
+service_dog,0,40,
+serpentine_(ninjago),5,40,
+serena_(lemondude),4,40,
+sella,4,40,
+sekiro:_shadows_die_twice,3,40,"sekiro_(game),sekiro_game,sekiro_shadows_die_twice,shadows_die_twice"
+sekhmet_(egyptianexo),4,40,
+seiji_(nakagami_takashi),4,40,
+seffie_(blazera),4,40,
+sebasdono,1,40,
+sealeo,5,40,
+sculpture_(artist),1,40,
+scale_knight_(medicinalsucc),4,40,
+savanity,1,40,
+saturn_ribbon,1,40,
+sat_v12,1,40,
+sasanoha6011,1,40,
+sarasa_arujine,4,40,
+sanjiseo,1,40,
+sandy_schreiber,1,40,
+sammy_mouse,4,40,
+sammi_(sammi_kay),4,40,
+sambun_(tim),4,40,
+samasan_(artist),1,40,
+samantha_stathis,4,40,
+samantha_(helios),4,40,
+sailby,1,40,
+sahara_(movie),3,40,
+safe_(container),0,40,
+saeki_makai,1,40,
+sade_(firestorm3),4,40,
+sabah_(character),4,40,
+ryhn,4,40,
+ryder_howell_(yitexity),4,40,
+ryan_(fluke),4,40,
+rxq,1,40,
+ruptured_colon,0,40,
+rune4,1,40,
+ruined_orgasm_(disambiguation),0,40,
+rubber_armwear,0,40,
+rousso,4,40,
+rotton,1,40,
+roora,4,40,
+rogue_fang,3,40,
+rogue_(character),4,40,
+rocket_league,3,40,
+robyn_(canaryprimary),4,40,
+riding_broom,0,40,
+rico_(madagascar),4,40,
+richter_belmont,4,40,
+rhode_arts,1,40,
+rey_(star_wars),4,40,
+revealing_breasts,0,40,
+rekohunter,4,40,
+redjasper,1,40,
+redintravenous,1,40,
+redbright_(artist),1,40,
+redbeanviolin,1,40,
+red_rug,0,40,
+red_magma_(oc),4,40,
+red_dead_(series),3,40,"rdr,rdr1,rdr2,red_dead_redemption,red_dead_redemption_2,red_dead_revolver"
+red_chest,0,40,
+red_boxer_briefs,0,40,
+red_(jay_naylor),4,40,
+razor_(swat_kats),4,40,
+razinoats,1,40,
+ray_the_buck,4,40,
+ray_(fuze),4,40,
+ratteguhncat,5,40,
+rasa_(duase),4,40,
+randoonest,1,40,
+ralph_(wbb),4,40,
+ralen_(ralenfox),4,40,
+raku_700,1,40,hanabi162271945
+rainedog,3,40,
+rainebow,1,40,
+rainbow_bracelet,0,40,
+quick_e,1,40,
+queen_susie,1,40,
+quas-quas,1,40,
+pushing_in,0,40,
+purple_suit,0,40,
+purple_lingerie,0,40,
+purple_bed,0,40,
+pulling_down_shorts,0,40,
+prismgirls,3,40,
+print_crop_top,0,40,
+pridestar_(furious),4,40,
+precum_bead,0,40,
+porygonleft,1,40,
+pool,0,40,
+pol6473,1,40,
+poking_penis,0,40,
+plant_antlers,0,40,
+pit_fighters,3,40,
+pinkie_pie_out_of_fucking_nowhere,0,40,
+pink_slime_(slime_rancher),5,40,
+pink_harness,0,40,
+pink_antlers,0,40,
+piercing_outline,0,40,
+physics,0,40,
+phreigya_pryntounia,4,40,
+phoebe_(felino),4,40,
+phasmophobia,3,40,
+petting_pov,0,40,
+pet_store,0,40,"pet-shop,pet-store,pet_shop,petshop,petstore"
+peskybatfish_(character),4,40,
+peppercorn_kiddo,1,40,aboulia
+pennant_banner,0,40,
+penis_size_comparison,0,40,
+pen_(shane_frost),4,40,
+patreon_ad,0,40,
+pathetic_(meme),3,40,
+passel_(ralek),4,40,
+pashmina,4,40,
+paper_airplane,0,40,paper_plane
+pan_gramercy,4,40,
+palm_civet,5,40,
+pakun,4,40,
+paint34,1,40,
+owlbert_(the_owl_house),4,40,
+owl_(boggartowl),4,40,
+overgrowth,3,40,
+orlando_(password),4,40,
+oreo_(terdburgler),4,40,
+orange_ringtail_thief,4,40,
+orange_briefs,0,40,
+oral_oviposition,0,40,
+operationfluff,1,40,
+open_bra,0,40,
+ooo_(^_^),1,40,
+obelisk,0,40,
+nule,1,40,
+nuan_(skecchiart),4,40,
+nsfw-hideous,1,40,
+nova_whitesail,4,40,
+nova_scotia_duck_tolling_retriever,5,40,
+not-fun,1,40,
+nonananana,1,40,
+noctilucent,4,40,
+nisikemo,1,40,
+nio_(patto),4,40,
+niic,4,40,
+nico_(screamoshaymin),4,40,nico_(shaymin)
+nick_flynn_(bigppfox1),4,40,
+nick_(kinaj),4,40,
+newgrounds_logo,0,40,
+nevan_nedall,4,40,
+netamikatze,1,40,
+neondonut,1,40,
+nelvaanian,5,40,
+negative_energy_(legacy),0,40,red_swirly_stuff_of_doom
+negachu,4,40,
+neesah,4,40,
+nearu_nikos,4,40,
+naxylos,1,40,
+nat10730,1,40,
+narutomaki,0,40,
+nanimoose_(character),4,40,
+nameplate,0,40,
+nail_file,0,40,
+my_little_pony:_tell_your_tale,3,40,
+mursa,1,40,
+multi_torso,0,40,
+mt800,1,40,
+mrjosh47,1,40,
+mranthony2,1,40,
+mr_samson,1,40,
+mottled_anus,0,40,mottle_anus
+motse,4,40,
+motion_of_the_ocean,3,40,
+mothernoroi,1,40,sangee-13-neuroy
+morgenergy,1,40,
+moot,4,40,
+moonestone,1,40,
+monroe_(winterspell),4,40,
+monotone_neckwear,0,40,
+momou,1,40,
+momo_(sy_noon),4,40,
+molly_mcalister,4,40,
+miw_(darkdoomer),4,40,
+mituni_(artist),1,40,
+mists_of_pandaria,3,40,
+mistleinn,1,40,
+missy_(napalm_express),4,40,
+missing_teeth,0,40,
+mismatched_pussy,0,40,
+mishka_(fishymishy),4,40,
+mirrorreach,1,40,
+minime_jones,4,40,
+minichin_chubby_day,3,40,
+minda,4,40,
+miles_(mascot),4,40,
+mikiron,1,40,
+mettaton_neo,4,40,
+meow_wow,5,40,
+mensies,1,40,
+melty_(lilo_and_stitch),4,40,"experiment_228,melty_(l&s),melty_(las),melty_(lilo_&_stitch),melty_(stitch)"
+melody_prower,4,40,
+melee,0,40,
+mega_pidgeot,5,40,
+mega_diancie,5,40,
+medieval_fantasy,0,40,
+meatier_shower,3,40,
+meadow_vivillon,5,40,
+may_(dewwydarts),4,40,
+maxine_dragon,4,40,
+mattiyyah_lion,1,40,
+matsu-sensei,1,40,graphiteknight
+mashiro_(solopipb),4,40,
+mashato_basuka,4,40,
+marsupial_genitalia,0,40,
+marlowws,1,40,
+marco_(kayla-na),4,40,
+mango_tango,4,40,
+maned_dragon,5,40,
+mallory_renard,4,40,
+malezor,1,40,
+magma_wolf,4,40,
+madslads,1,40,
+madrathefox,1,40,
+madnevil,1,40,
+lutecian,5,40,
+lupinossai,5,40,
+lupi_(playkids),4,40,
+lunar_duo,0,40,
+luketh,4,40,
+luis_(fuze),4,40,
+lucy_heartfilia,4,40,
+lucidlemon_(artist),1,40,
+low_framerate,0,40,
+lotus_heat,4,40,
+looking_back_at_self,0,40,
+lonewolf666,1,40,
+lol_religion,0,40,
+lokey,1,40,lokey_(artist)
+lizgal,4,40,
+livriel,1,40,
+living_watercraft,5,40,"living_water_borne_craft,living_water_borne_vessel,living_water_craft,living_water_vehicle,living_water_vessel,living_waterborne_craft,living_waterborne_vessel"
+living_puppet,5,40,
+little_shop_of_horrors,3,40,
+lisa_(tiger),4,40,
+lipecachorrinho,1,40,cachorrinhomarrom
+lily_(dfstarfield),4,40,
+lilly_rosebud,4,40,
+light_eyelids,0,40,
+lecture,0,40,
+leaves_on_ground,0,40,
+leaning_on_railing,0,40,
+leaf_crown,0,40,
+laser_sight,0,40,
+larathen_(character),4,40,
+lactating_honey,0,40,
+kyur4_th_ich,1,40,
+kynmedia,1,40,
+kumakuma,1,40,
+kui,1,40,
+kry,4,40,
+korosuke556,1,40,
+koreanmadfox,1,40,
+konishi,1,40,
+konami_yung,1,40,
+kokomo_niwa,1,40,
+koizumi_kobold,4,40,
+koh,1,40,
+kody_rowan_(character),4,40,
+kobato,3,40,
+kkmck,1,40,
+kiwi_(changing_fates),4,40,
+kita_(saku1saya),4,40,
+kiss_mark_on_face,0,40,
+kinoselynn,1,40,
+kejta,4,40,
+keira_(jak_and_daxter),4,40,
+kazuma_kaneko,1,40,
+kavik,4,40,
+katrosh,1,40,
+katie_(fish_birb),4,40,
+karai,4,40,
+kantra,4,40,
+kanicra,1,40,
+kaliancia,4,40,
+kaida_(bornvictim),4,40,
+kagamine_rin,4,40,
+jupiterfox,1,40,
+jugend,1,40,
+jseph,1,40,
+jonah_(vulapa),4,40,
+jo-ann_wolf,4,40,
+jman0525,1,40,
+jigglygirls,3,40,jiggly_girls
+jeza,4,40,
+jenny_(chris13131415),4,40,
+jeneviv_(dreamkeepers),4,40,
+jeison_(character),4,40,
+jdanieloart,1,40,
+jcharlesmachiavelli,1,40,
+janus_zephyrine,4,40,
+jagged_tail,0,40,
+ivalyth,4,40,
+isaac_clarke,4,40,
+isaac_(blackmailz),4,40,
+iron_maiden_(band),3,40,
+iris_(slypon),4,40,
+iorite_(doesnotexist),4,40,
+involved_expression,0,40,
+interrogation_room,0,40,
+instant_transformation,0,40,
+inq,4,40,
+infinitesimal,1,40,
+infected-ellis,1,40,
+iemier,4,40,
+ico_(fatzoimp),4,40,
+iceblueeyes3d,1,40,
+i_sexed_the_pumpkin,1,40,
+hyth,1,40,
+hutchyy,1,40,
+humplex,3,40,
+humping_toy,0,40,
+horny_police,0,40,
+horns_and_hooves,3,40,
+horitomo,1,40,
+hong_meiling,4,40,
+honey_dipper,0,40,
+homestar_runner,3,40,
+holding_shotgun,0,40,
+holding_club,0,40,
+hobb,1,40,
+hiyo_(hiyoratory),1,40,
+hercules_(disney),4,40,
+heiken,4,40,
+head_scarf,0,40,
+hayase_nagatoro,4,40,
+hawaiian,0,40,
+hat_kid,4,40,
+hano101,1,40,
+hand_out,0,40,
+hand_on_pole,0,40,
+hand_mark,0,40,
+gurranq_(elden_ring),4,40,
+gumpang0,1,40,
+grum_(grumbbuck),4,40,
+grimgrim,1,40,
+grey_speech_bubble,0,40,
+grey_frill,0,40,
+gregory_(gregory_horror_show),4,40,
+green_bedding,0,40,
+great_kitsune_(housepets!),4,40,
+gradiewoof,1,40,
+goro_(mappy),4,40,
+goofy_smile,0,40,
+gloveboxofdoom,1,40,
+glitchedweasel,1,40,
+glitch_(chip_'n_dale_rescue_rangers),4,40,
+glistening_fingers,0,40,
+glasses_tanuki_(youki029),4,40,
+glass_jar,0,40,
+ginger_snap_(mlp),4,40,
+gingatokkyu,1,40,
+giganotosaurus,5,40,
+ghost_of_a_tale,3,40,
+geno_(mario),4,40,
+gaymingwolfy,4,40,
+garamando,1,40,
+galarian_articuno,5,40,"articuno_(galar),articuno_(galar_form),articuno_(galarian),articuno_(galarian_form),galar_articuno"
+fuxi_(tas),4,40,
+fuwuart,1,40,
+furrypuddingthegreat,1,40,
+furbait_(artist),1,40,
+fuchur,1,40,
+from_the_back,0,40,
+freehdmcgee,1,40,
+foxlett,1,40,
+foxidro,1,40,
+forehead_tattoo,0,40,
+forcing,0,40,
+forbiddenlight,1,40,
+foot_on_balls,0,40,
+fongu,1,40,
+flynx,4,40,
+flutteringpie,1,40,
+flunky_(character),4,40,
+fluke_the_husky,4,40,
+fluffygirlfriend,1,40,"fluffy_gf,ponett"
+florentine,4,40,
+flat_(disambiguation),6,40,flat
+flashfire,1,40,
+flame_head,0,40,
+final_fantasy_unlimited,3,40,
+fever,0,40,
+fenris_(zephyxus),4,40,
+fenny_(furryfight_chronicles),4,40,
+fencepost,0,40,
+felineelement,1,40,
+feline-fattale,1,40,
+fearmywaffles,1,40,
+fawnbaby,1,40,lulufoxywho
+fastflight,1,40,
+farris,4,40,
+fancy_pigeon,5,40,
+fancy-fancy_(top_cat),4,40,
+faelis,1,40,
+eyazen,4,40,
+eve_azure_(pikmin117),4,40,
+ethancostas,1,40,
+esrb,3,40,
+escavalier,5,40,
+erica_(disney),4,40,
+emotes,0,40,
+emiramora,1,40,
+embarassment,0,40,
+eluku99,1,40,
+elawaxd,1,40,
+eins,4,40,
+edward_(school_days),4,40,
+edis_(edis_krad),4,40,
+edan_shepherd,4,40,
+ectasy26,1,40,
+echo_flower,0,40,
+dusknoir_(eotds),4,40,dusknoir_(pmd)
+dunce_cap,0,40,dunce_hat
+duality_(character),4,40,
+dreyol_(artist),1,40,
+drewby_(drewby),4,40,
+dress_down,0,40,
+drazelle_(artist),1,40,roxorigin
+drakeniea_tearfall,4,40,
+dragonrage,1,40,radek_jargon_(artist)
+dragon_dip,4,40,dd_(denise_hyena)
+dragga,1,40,
+double_bass,0,40,"acoustic_bass,bass_fiddle,bass_violin,bull_fiddle,contrabass,contrabbasso,doghouse_bass,standup_bass,string_bass,upright_bass"
+dorkly,3,40,
+doniroux,4,40,
+dominik_(lipton),4,40,
+doll_eye,3,40,
+doberman_moralist,1,40,dobermanmoralist
+doathejackalope,1,40,
+discarded_footwear,0,40,
+dildo_saddle,0,40,
+digos,3,40,
+diego_(blotch),4,40,
+diamond_ring,0,40,
+dhalo_(himeros),4,40,
+devildaddy,1,40,
+deviant_hearts,3,40,
+detruo,1,40,
+destroyed,0,40,
+destiny_(character),4,40,
+demidevimon,5,40,picodevimon
+demenmenabung,1,40,
+delivery_(disambiguation),6,40,"deliver,delivered,deliverer,deliverie,deliveried,deliveries,delivering,delivery,special_delivery"
+delia_ketchum,4,40,"ash's_mom,ashs_mom,delia_(pokemon),delia_(pokémon),mrs._ketchum,mrs_ketchum"
+deerie_(helluva_boss),4,40,deerie_(vivzmind)
+deaton,4,40,
+deannart,1,40,
+deadpan,0,40,
+dead_stray_bear,1,40,deadstraybear
+david_(beez),4,40,
+dasmuskel,1,40,daspyorno
+dasher_whitetail,4,40,
+darli_buni,1,40,
+darkghost,1,40,
+darkened_foreskin,0,40,
+dark_dress,0,40,
+dark441,3,40,
+danuelragon34,1,40,
+dankitty_(lavilovi),4,40,
+damnevildog,1,40,
+dameeji,4,40,
+dalia_(gazaster),4,40,
+d5ma,1,40,
+cyrie,1,40,
+cyndi_(character),4,40,
+cyera,4,40,
+cyberpunk_edgerunners,3,40,
+cupping_head,0,40,
+cupid_(reindeer),4,40,
+cunning_trickster_(balto),4,40,
+cum_on_cloaca,0,40,
+cum_in_jockstrap,0,40,
+crouching_reverse_cowgirl,0,40,
+croclady,4,40,
+crinaia,4,40,
+crimson_emberpaw,4,40,
+cranky_doodle_donkey_(mlp),4,40,"cranky_(mlp),cranky_doodle_donkey"
+countershade_anus,0,40,
+corporalcathead_(artist),1,40,
+coren_(desertwandererr),4,40,
+cora_valion,4,40,
+cooking_with_cum,0,40,
+convenience_store,0,40,
+control_bestow_therapy,0,40,
+conan_the_barbarian_(franchise),3,40,
+commander_star,1,40,
+colson,4,40,
+cold_insertion,0,40,
+coffeetoffee,1,40,
+coeurl,5,40,
+coco,4,40,
+cobbie,4,40,
+clubbed_tail,0,40,tail_club
+clown_costume,0,40,
+cloning,0,40,
+clockwork,0,40,
+cloacal_fisting,0,40,
+clenching_sheets,0,40,
+chum_(splatoon),5,40,
+chozogoat,1,40,
+chinad011,1,40,
+chimera_sui_generis,5,40,"chimeran_(ben_10),chimeran_(ben_ten),vilgaxian"
+chiko_(durg),4,40,
+chief_(zonkpunch),4,40,
+cheshire_cat_(mge),4,40,
+cherubimon_(good),5,40,
+chaz,4,40,
+character_plushie,0,40,
+chappystick,1,40,
+chaosangeldesu,1,40,
+changing_clothing,0,40,
+chamber,0,40,
+chakka_(s2-freak),4,40,
+ceobe_(arknights),4,40,
+cedargrove,1,40,
+cecilio_(ayaka),4,40,
+cbl_art,1,40,
+caught_on_camera,0,40,
+cattont,1,40,
+cat_form,0,40,
+casual_birthing,0,40,
+caster_thomas_edison,4,40,"caster_(fate/grand_order_-_thomas_edison),caster_(fate/grand_order_thomas_edison),caster_(fate_grand_order_-_thomas_edison),caster_(fate_grand_order_thomas_edison)"
+carnival_(disambiguation),6,40,"carnaval,carnavale,carnival,carnivale,carnivals,the_carnival"
+captain_style_cinderace,4,40,
+capras,1,40,
+candice_(medium-maney),4,40,
+camshow,0,40,
+cameronwolfe,1,40,
+cam_(kadath),4,40,
+calluna,4,40,
+calima,1,40,
+cale_lazuli,4,40,
+caffeine3,1,40,
+caelan_(far_beyond_the_world),4,40,
+c.j._(cjtheotter),4,40,
+byukanon,1,40,
+butterfly_knife,0,40,
+butt_clench,0,40,
+buru,1,40,
+burns,0,40,
+bunker,0,40,
+buffalo_(leobo),4,40,
+bruvelighe,4,40,
+brutis,4,40,
+brulee_(y11),4,40,
+bromeister2,1,40,
+broken_key,0,40,
+brickzero,4,40,
+breyt,4,40,
+breakersunny,1,40,
+bow_garter,0,40,
+borkthunder,1,40,
+bones_(artist),1,40,
+bombette,4,40,
+bombergirl,3,40,
+blue_wall,0,40,
+blue_legband,0,40,
+blue_high_heels,0,40,
+blue-ringed_octopus,5,40,"blue-ring_octopi,blue-ring_octopus,blue-ringed_octopi,blue_ring_octopi,blue_ring_octopus,blue_ringed_octopi,blue_ringed_octopus"
+blood_on_back,0,40,
+blitz_(modblitzwing),4,40,
+bk_(tokifuji),4,40,
+bishop_locke,4,40,
+bigbewbs,4,40,
+big_ear,0,40,
+bianca_(chainit),4,40,
+best_bes,1,40,
+berrypawnch,1,40,engrishman
+bernard_(the_rescuers),4,40,bernard_(rescuers)
+belle_the_tinkerer,4,40,
+beeb,4,40,
+bear_tail,0,40,
+basketball_shorts,0,40,
+baphis_(character),4,40,
+baji_(morobox),4,40,
+bailey_craig,4,40,bailey_(ritts)
+bae_bunny_(artist),1,40,
+badger_humanoid,5,40,
+ave,4,40,
+aureldrawsstuff,1,40,
+atlasf4,1,40,
+athestnox,1,40,wickednox
+astra_lupus,3,40,
+ashe_(overwatch),4,40,
+asfdmovie,0,40,
+asaridaton,1,40,
+arthos,4,40,
+arsenth_neodal,4,40,
+arlene_(amocin),4,40,
+argentina,0,40,
+argentas_(insomniacovrlrd),4,40,
+araçari,5,40,"aracari,aracari_toucan,araçari_toucan,pteroglossus"
+anubis_(puzzle_and_dragons),4,40,
+angel_kitsune,4,40,
+angel_(lechugansfw),4,40,
+andromorph_penetrating_male,0,40,"am/p/m,c/p/m,cboy_penetrating_male,cuntboy_penetrating_male,cuntman_penetrating_male"
+android_21,4,40,
+anal_pregnancy,0,40,"ass_pregnancy,butt_pregnancy,pregnant_ass,pregnant_butt"
+an-jun,4,40,
+amp,0,40,
+ammeris,4,40,
+ame_(angiewolf),4,40,
+amber_(scooby-doo),4,40,
+amanda_(mastergodai),4,40,
+almy,1,40,
+aliya_sari_(readerno31142),4,40,
+alien_hominid,3,40,
+alexios_(adastra),4,40,
+alex_ries,1,40,
+alex_(minecraft),4,40,
+albertcrow,1,40,
+alarmed,0,40,
+alan_(alanisawolf777),4,40,
+akenju,1,40,
+airlemi_(character),4,40,
+air_(disambiguation),6,40,air
+ailu_h0,1,40,
+aikon,1,40,
+against_bed,0,40,
+after_vaginal_masturbation,0,40,
+aeiou_(yoako),4,40,
+advice,0,40,
+adrian_weylin_(vorell),4,40,
+ad-games,1,40,
+ad-6-0001a,4,40,
+>:<,0,40,
+9x8bit,1,40,
+56_june,1,40,
+3apa3a,1,40,
+2414,1,40,
+2000mitrasi,1,40,
+1980,7,40,
+1960s,0,40,"60s,sixties"
+12:7,0,40,
+1107263,1,40,
+02_(kirby),4,40,
+zypett,1,39,
+zorgy,1,39,
+zombiate,1,39,
+zoids,3,39,
+zilvus,4,39,
+zhiibe,1,39,
+zharxart,1,39,
+zero_in_panel,0,39,
+zelda_(fuel),4,39,
+zee_(abz),4,39,
+yuuki_yuma,1,39,
+you_died_(meme),3,39,you_died
+yosshi_(yo41),1,39,
+yosshi,1,39,
+york_(yerkelayh),4,39,
+yokappa,1,39,
+yellow_scutes,0,39,
+yato_(yatofox),4,39,
+yasaikakiage,1,39,
+yang_(lilo_and_stitch),4,39,"experiment_502,yang_(l&s),yang_(las),yang_(lilo_&_stitch),yang_(stitch)"
+xyder,1,39,
+xoxo,0,39,
+xinnainai,1,39,
+xegoston,1,39,
+xazariel_(queen-of-sin),4,39,
+xanthe,4,39,
+xander,4,39,
+wynterhorn,1,39,
+wrastor,4,39,
+wotan888,1,39,
+woofersfm,1,39,
+wood_sign,0,39,
+wintech3112,1,39,
+wilhamena,4,39,
+who_(species),5,39,
+white_rose,0,39,
+white_oyster,3,39,
+weremagnus,1,39,
+weebl's_stuff,3,39,
+washing_hands,0,39,
+waitress_outfit,0,39,
+waffle_(megawaffle),4,39,
+wabutt,1,39,lewded
+vulpes_pawpad,4,39,
+vs_knight_ramune_and_40_fire,3,39,vs_knight_ramune_&_40_fire
+vojt,4,39,
+vivian_plums,4,39,
+viper-desires,1,39,
+violette_belle,4,39,
+vikavolt,5,39,
+video_game_cover,7,39,
+vhs_tape,0,39,
+vgbutts,3,39,vg_butts
+vertical,0,39,
+veris,4,39,
+venus_noire,1,39,
+velyash,1,39,
+vayron,5,39,
+vaping,0,39,
+valeera_sanguinar,4,39,
+ursk,1,39,
+urinal_peeking,0,39,
+underwater_tentacle_sex,0,39,
+ultrahand,1,39,ross_irving
+ultra-ryo,1,39,thenewguy
+ukulilia,1,39,
+tyruas,1,39,sonicrainboom93
+type_moll,1,39,
+two_toned_body,0,39,
+two_tone_pupils,0,39,
+two_piece,0,39,
+tweety_bird,4,39,tweety
+turkish_angora,5,39,
+tunemon,1,39,
+tsukemono,1,39,
+tsathoggua_(cthulhu),4,39,
+trigger_(wordcaster),4,39,
+triforce_clothing,0,39,
+trifocal_sequence,0,39,
+trashtail,1,39,
+training_dummy,0,39,
+trainer_kelly,4,39,
+tour_(jewelpet),4,39,tour_(jewel_pet)
+torn_skin,0,39,
+torn_fishnets,0,39,
+toridiaz,1,39,
+toren,4,39,
+toothed_whale_humanoid,5,39,
+tony_crynight,1,39,
+tongue_coil,0,39,
+tomo_(tmtm_mf_mf),1,39,
+tommy_(meesh),4,39,
+toggle_(artist),1,39,
+tobiwanz,4,39,
+toastii,1,39,
+tinycurlyq,1,39,
+tina_(jaeh),4,39,
+time_paradox,0,39,
+tiamat,4,39,
+threadwing_antlion,5,39,
+thorax,0,39,
+theunokcringe,1,39,
+thegworks,1,39,
+thefluffyrey69,1,39,
+the_tale_of_jasper_gold,3,39,
+the_mandalorian,3,39,"star_wars:_the_mandalorian,the_mandalorian_(series)"
+thatpeon,1,39,
+tentacle_legs,0,39,
+tempest,4,39,
+tealtentacles_(artist),1,39,
+tartii_(character),4,39,
+tanya_bellacrow,4,39,
+tanao,4,39,
+tan_pubes,0,39,
+tampon,0,39,
+takkju,4,39,
+tail_coiling,0,39,
+taffeta_silkin,4,39,
+t.d._kennelly,4,39,
+t-boy,1,39,
+syrenbytes,1,39,
+swimmer,0,39,
+sweetwater,4,39,
+swaying_hips,0,39,
+suzu_(quin-nsfw),4,39,
+suprised_eyes,0,39,
+supported_arms,0,39,
+summoning_square,1,39,
+subject_number,0,39,
+stunk_(interspecies_reviewers),4,39,
+striped_dildo,0,39,
+stomach_wound,0,39,
+stimia_(rampage0118),4,39,
+stellarhusky,4,39,
+stealth_the_series,3,39,
+stardragonhorse,1,39,まにの
+star-nosed_mole,5,39,star_nosed_mole
+squatlord,1,39,
+spraying,0,39,
+spooky_dune,1,39,
+spinal_plates,0,39,
+speech_scroll,0,39,
+sparkly_(sparklyblanket),4,39,
+sovrim_terraquian,4,39,
+sourspot,1,39,
+sorako,1,39,
+sonicfoxhound,1,39,
+songgoishtar,1,39,
+solahr,1,39,
+socks_million,4,39,
+soay_sheep,5,39,
+snip_(marking),0,39,
+smudged_makeup,0,39,
+smiyao,1,39,"adramskodorogurusomuae,oduramaduorudokunosuto,sumiyao,すみやお"
+smashing,0,39,
+smaggthesmug,1,39,
+slugger_(lilo_and_stitch),4,39,"experiment_608,slugger_(l&s),slugger_(las),slugger_(lilo_&_stitch),slugger_(stitch)"
+slenderdragon,4,39,
+sleeveless_clothing,0,39,
+sleepymaid,1,39,
+slammu,4,39,
+skyebold,1,39,
+sky_noctis,4,39,
+skull_bow,0,39,
+sketchy-replies,1,39,
+skakdi,5,39,
+skade_nsfw_(artist),1,39,
+sixshades,1,39,
+sitting_in_tree,0,39,
+sismicious,1,39,
+single_strap_swimwear,0,39,
+single_strap_swimsuit,0,39,
+simplepossum,1,39,"simpleopposum,toiny"
+silverfish_(artist),1,39,
+sillygoose,1,39,
+sieg_black,4,39,
+shupamikey,1,39,
+shune,1,39,
+shuma-gorath,4,39,
+shrinking_balls,0,39,
+shredder_(tmnt),4,39,
+short_arms,0,39,
+shnuzzlez,1,39,
+shiza_(deckerws),4,39,
+ship-wreck,1,39,
+shinju_(bittenhard),4,39,
+shining_(arknights),4,39,
+shibuya_2810,1,39,
+sherlock_(series),3,39,
+sheecktor,1,39,
+shazza_the_dingo,4,39,"shazza_(ty),shazza_(ty_the_tasmanian_devil),shazza_(ty_the_tazmanian_devil),shazza_the_dingo_(ty)"
+shaza_(artist),1,39,
+shaved_breasts,0,39,
+sharko,4,39,
+sharked.co,3,39,sharkidiot
+shapes,0,39,
+shamira,4,39,
+shado_(shadowolf17),4,39,
+serule_(fursona),4,39,
+sergio_the_buff,4,39,
+seraphsigil,1,39,"crocodilecrayons,wormsigil"
+separated_wing_tips,0,39,
+segainfinity,1,39,
+sefsefse,4,39,
+secaz,1,39,secazz
+sebastian_king,4,39,
+screwbulb,1,39,
+scp-1471-a-37,4,39,
+scaty,1,39,
+scarlett_(furball),4,39,
+scampi,4,39,
+saw_(movie),3,39,
+sarquiat,1,39,
+saran_kit,1,39,
+santiago_(o_im_soniic),4,39,
+sandy_(hamtaro),4,39,
+sandnite,4,39,
+sander_(dislyte),4,39,
+sand_dune,0,39,sand_dunes
+sample_(lilo_and_stitch),4,39,"experiment_258,sample_(l&s),sample_(las),sample_(lilo_&_stitch),sample_(stitch)"
+sammy_(9tales),4,39,
+samantha_snakes_(unknown6505),4,39,
+sally_sherry,4,39,
+sakura_kinomoto,4,39,
+sakura_(disambiguation),4,39,
+sakiiti,1,39,
+sakana_maru_(sakana_maru),4,39,
+sairine,1,39,
+sahara_(skimike),4,39,
+sabre_dacloud,4,39,
+saber_(bluepanda115),4,39,
+ryuu-neko,5,39,
+ryley_(arbiter_000),4,39,
+rydian,4,39,
+ryder_(techno-robot-fox),4,39,
+ryanshinyzard,4,39,
+rusoide,1,39,
+runsammya,1,39,
+rune_factory,3,39,
+rudy_(fansmut),4,39,
+rudethefox,1,39,
+ruby_(rodinsinker),4,39,
+rouge_(fossi3),4,39,
+rope_pull,0,39,"pulling_rope,rope_pulling,rope_tug,rope_tugging,tugging_rope"
+roder,1,39,
+robo_fizzarolli,4,39,robo_fizz
+roachtemi,4,39,
+rix,4,39,
+ripple,0,39,
+rikimaru_the_stealth_assassin,4,39,
+rifel,1,39,
+rick_(fuze),4,39,
+rhylith,4,39,
+rhonbon,1,39,
+rgb_(artist),1,39,
+reynardo,4,39,
+rey_(furlana),4,39,
+rex_(we're_back!),4,39,
+rex_(mouse),4,39,
+resting_on_balls,0,39,
+reptil,5,39,
+remi_beauclair,4,39,
+reed_(scuzzyfox),4,39,
+red_line_art,0,39,
+red_diaper,0,39,
+red_cum,0,39,
+reaver2kl4u,1,39,
+reaper_(disambiguation),6,39,reaper
+raven555,1,39,
+rattdawg,1,39,
+ramzi,1,39,
+rabbyrabbithole,1,39,
+ra'ghalek,4,39,
+quirkilicious,1,39,
+qarrezel,1,39,
+puyo_puyo_tetris,3,39,
+pussy_juice_collecting,0,39,
+purple_tail_tip,0,39,
+public_indecency,0,39,
+protective_eyewear,0,39,
+protagonist_(biomutant),4,39,
+prostate_exam,0,39,
+procreate,3,39,
+prince_phillip_(disney),4,39,
+primer_(artist),1,39,
+pride_color_tail_accessory,0,39,
+pride_color_socks,0,39,
+prehensile_wings,0,39,
+pov_crotch,0,39,
+poppy_mouse,4,39,
+popkage,1,39,
+poofy,0,39,
+polygamy,0,39,
+polly_polaris,4,39,
+police_lineup,0,39,
+polarisart,1,39,
+pofuilly,1,39,
+plush_stuffing,0,39,
+planet_insertion,0,39,
+planescape_(franchise),3,39,
+plaid_underwear,0,39,
+pixyl_(pixylbyte),4,39,
+pixi_(derideal),4,39,
+pinktabico,1,39,
+pinkle,1,39,
+pink_slime,0,39,
+pink_hairband,0,39,
+pimples,0,39,
+pijama,0,39,
+pet_shop_(jjba),4,39,
+performance_art,0,39,
+pento_(kamiyu),4,39,
+penis_resting_on_thigh,0,39,
+penis_out_of_underwear,0,39,
+penis_in_pseudo-penis,0,39,penis_in_pseudopenis
+penelopisspiss,1,39,
+peeling,0,39,
+peekeroro,1,39,
+pearboy_(oc),4,39,
+peach_(disambiguation),6,39,peach
+pcz,1,39,
+paxemerson,1,39,
+pawsy-paws,1,39,
+pawprint_clothing,0,39,
+paul_(sihai's_legacy),4,39,
+pastelpastel,1,39,
+passerina,5,39,
+partially_visible_genitals,0,39,
+pantsu_smiley,1,39,
+panteon013,1,39,
+pantaloons,0,39,
+paizli,4,39,
+oyashirothr43,1,39,
+owo_whatziss_(gloryworm),4,39,
+owo_whats_this,3,39,
+owlalope_(character),4,39,
+outerwear,0,39,
+otterboxed,1,39,
+otherthatguy,1,39,
+ornate_border,0,39,
+orion_(pheel),4,39,
+orgasm_from_kissing,0,39,
+orange_necktie,0,39,orange_tie
+opaque_glasses,0,39,
+olient,1,39,"olient_cele,オリー@けも☆マギ主催"
+olexa_vrane,4,39,
+okami_tokage,4,39,
+octojo,1,39,
+obui,1,39,
+object_behind_ear,0,39,
+nyx_(klifflod),4,39,
+numbered_anal_beads,0,39,
+noxy_(noxy),4,39,
+nott,4,39,
+notarch3y,1,39,
+noshishi,4,39,
+nose_bump,0,39,
+niwani_watori,1,39,
+nitefang,1,39,
+nipple_pump,0,39,nipple_pumps
+ninjin_clash_of_carrots,3,39,
+nina_cortex,4,39,
+nimtai,1,39,
+nikki_duma,4,39,
+nick_bondra,1,39,
+nicashee,4,39,
+netherrealm_studios,3,39,
+neri_(azura_inalis),4,39,
+neon-b,1,39,
+neira,4,39,
+neebaridge,1,39,
+navid_(serialfrost),4,39,
+navel_focus,0,39,
+nate_foster,1,39,
+nasido,4,39,
+naoto,1,39,
+naoki_(kameloh),4,39,
+nahami,1,39,
+mystic,4,39,
+myra_foxworthy,4,39,
+my_sweet_piano,4,39,"piano-chan,piano_(sanrio),piano_chan"
+my_little_pony_(2003),3,39,
+mutual_knotting,0,39,
+mutual_breastfeeding,0,39,
+multicolored_tattoo,0,39,multicolored_tattoos
+multicolored_bodysuit,0,39,
+multi_color_fur,0,39,
+mudokon,5,39,
+muddytiger,1,39,
+mr_roo_(artist),1,39,
+mr.shigglesworth,1,39,"mr-shigglesworth,mr-shigglesworth_(artist),mr.shigglesworth_(artist)"
+mr._chazokov,4,39,mr_chazokov
+mouth_covered,0,39,
+motherkarma69,1,39,
+mosquito_humanoid,5,39,
+mosasaurus,5,39,
+mootcookie_(artist),1,39,
+moonwulf,1,39,
+moonshine_(artist),1,39,
+monty_python,3,39,
+monstrifex,1,39,
+monotone_scarf,0,39,
+mondoro,1,39,
+mola_(zerofox),4,39,
+mokochii,1,39,kuromokonachan
+moesouna_gomi,1,39,
+miàntiáo,4,39,"miantiao,miantiao_(diives)"
+mitabi,1,39,
+mistral_(gyro),4,39,
+missing_anus,0,39,
+miss_jenine,4,39,
+miranda_doug,4,39,
+milk_on_floor,0,39,
+mikko,4,39,
+mike_(sing),4,39,mike_the_mouse
+midnite,1,39,
+middle_part,0,39,
+micro_focus,0,39,
+metaball,1,39,
+meme_face,0,39,
+melory,4,39,
+megara,4,39,
+meertak,1,39,
+meer-mah,4,39,
+meadow_(lightsoul),4,39,
+matthew_(articwuff),4,39,
+matt_rat,1,39,
+matt_(silverfox442),4,39,
+matija,4,39,
+massak_(fluff-kevlar),4,39,
+masonparker,1,39,masonparker_(artist)
+mascot_contest,0,39,
+mary_moonshine,4,39,
+marvellous_spatuletail,5,39,
+martin_(shortwings),4,39,
+marmar,1,39,
+marilyn_e,4,39,
+maria_(lichfang),4,39,maria_(zombieme)
+marcus_(marcus_of_the_cloud_forest),4,39,
+manila_doyle,4,39,
+maniani0122,1,39,
+mando,1,39,
+mammalian_dragon,5,39,
+making_porn,0,39,"making_a_porno,making_porno,making_pornography"
+maka_(anthemoftears),4,39,
+maiofu,1,39,
+magu,4,39,
+maenomeri,1,39,
+madkaniini,1,39,
+madara_(natsume_yuujinchou),4,39,
+lynxrush,1,39,
+lynx_(fortnite),4,39,
+lyla_(thehelmetguy),4,39,
+luvini,4,39,
+luna_(hunterx90),4,39,
+lumi_(felino),4,39,
+lumen_(9tales),4,39,
+luke_delfino_(character),4,39,
+ludd,4,39,
+lucy_fischer,4,39,
+luckywhispersjellyfish,1,39,
+lotusshade,1,39,
+lotorloon,1,39,
+loose_tie,0,39,
+loomster,4,39,
+lobodelamuerte_(character),4,39,hectoralbertweskerwolf
+lizard_queen,4,39,
+lira,4,39,
+lion_tamarin,5,39,
+lightening,0,39,
+light_source,0,39,
+lexustanuki,1,39,
+levaligress,1,39,
+leskarmory,1,39,
+leo_(leocario),4,39,
+lene_nezumi,4,39,
+lei_luo,4,39,
+legs_held_open,0,39,
+legos_(legos09),4,39,
+leg_out_of_water,0,39,
+leg_behind_head,0,39,
+leg_accessory,0,39,
+lee_the_meowth_(asderzx),4,39,
+leatificat,1,39,
+leaning_on_arm,0,39,
+lead,0,39,
+lazorchef,1,39,
+latina,0,39,
+larimar_(jewelpet),4,39,
+labramon,5,39,
+l4zily,1,39,
+kyubimaru,1,39,
+kurozu,1,39,clarion
+kuroshinki,1,39,
+kurnak,4,39,
+kupoklein,1,39,
+kumanaut,1,39,
+kuiskata_schwarzpfote,4,39,
+kristania,4,39,misty_(kacey)
+korak_sinatra,1,39,
+koopatrol,5,39,
+koopagirl,4,39,
+kokopelli-kid,1,39,
+kogiinu,1,39,
+kneejob,0,39,
+kknssd,1,39,
+kivuru,1,39,
+kit_(powfooo),4,39,
+kine_(absol),4,39,
+kily_(knives4cats),4,39,kily_(cercat)
+killergrizzly,1,39,
+kiku_(sango-kaku),4,39,
+khovita,5,39,
+kennythebobcat,1,39,
+kenjilokung,1,39,
+kella,4,39,
+kedamono_(popee_the_performer),4,39,
+kayoh,4,39,
+kawakami_rokkaku,1,39,
+katkichi,1,39,
+kaomoro,4,39,
+kalidragon,1,39,
+kalaztuz,4,39,
+kaku_renbo,4,39,
+kaiven,1,39,
+kaiuchiha15,1,39,
+kaijusamurai,1,39,matt_frank
+kacey_(kacey),4,39,
+justice_league,3,39,
+julmara_(character),4,39,
+jordan,4,39,
+jolteontravis,1,39,
+jjmanilla,1,39,
+jflare205,1,39,
+jet_(briefgarde),4,39,
+jeffk38uk,1,39,
+jecbrush,1,39,
+jeanette_(xelaaredn),4,39,
+jaye_(arknights),4,39,jaye_(arknigths)
+jax_bline,4,39,
+javigameboy,1,39,
+javarah,4,39,
+jasienorko,1,39,
+jake_(jakewolf00),4,39,
+jagonda,1,39,showdownas
+jacqueline_(analogpentium),4,39,
+jacklantern_11,1,39,
+jack_(cave_story),4,39,
+izzy_(oc),4,39,
+izanagi_creations,1,39,
+itadakicat,1,39,
+istaryl,4,39,
+issac_lazarus,1,39,
+ishishi,4,39,
+irpo_(shane_frost),4,39,
+invisible_partner,0,39,
+invidia_saunder,1,39,
+internal_glow_(penetration),0,39,
+insperatus,4,39,
+innocent_expression,0,39,
+ink_incuberia,4,39,
+inflation_bulb,0,39,"blood_pressure_pump,hand_bulb,pump_bulb,rubber_bulb,squeeze_bulb,squeeze_pump"
+infected_heart,1,39,
+in_vehicle,0,39,
+in_utero_penetration,0,39,turducken_position
+in_the_new_age,3,39,
+imp-tan_(hdoom),4,39,
+iida_(wonderslug),4,39,
+iida_(skweekers),4,39,
+igor_(character),4,39,
+iggy_bomb,1,39,
+ichigodawashi,1,39,
+ibukyu,1,39,
+hyper_birth,0,39,
+huilo_the_dick_totem_(totesfleisch8),4,39,
+huebris,1,39,
+hourglass_(disambiguation),0,39,hourglass
+hotpixa,1,39,
+hood_husky,4,39,
+honey_hunter,4,39,
+holding_other,0,39,
+holding_ice_cream_cone,0,39,
+holding_cheek,0,39,
+holding_cane,0,39,
+hillmyna,1,39,
+hetomy,1,39,
+heroesheaven,1,39,
+henrycharizardboi,1,39,
+henry_vargas,1,39,
+hemuchang,1,39,
+help!_my_dad_fucked_my_boyfriend,3,39,
+hellox2,1,39,
+helloanonmyoldfriend,1,39,
+helga_(cosmiclife),4,39,
+helena_soderberg,1,39,
+heimerdinger_(lol),4,39,
+heat_(vr_game),3,39,
+heart_swimwear,0,39,
+heart_gold_(dormin-kanna),4,39,
+headache,0,39,
+head_on_head,0,39,
+haxxyramdhan,1,39,
+hawkthorn,4,39,
+haruaneki,1,39,
+haru_(disambiguation),4,39,haru
+hard_love,4,39,
+hands_under_breasts,0,39,
+hand_print_on_butt,0,39,
+hamilton_loree,4,39,hamilton_(foxjump)
+half-vampire,5,39,
+hal_adhil,4,39,
+haku_(maneater),4,39,
+hakijagu1,1,39,
+haiku_(haikufox),4,39,
+h-picaso,1,39,
+gynomorph_dominating_female,0,39,
+gwen_(sirphilliam),4,39,
+gus_(peculiart),4,39,
+gur-gahar,1,39,
+gunnar_(spyro),4,39,
+gujira,1,39,
+grunge,0,39,
+grumpy_bear,4,39,
+grosspotoo,1,39,
+greying_hair,0,39,
+grey_dildo,0,39,gray_dildo
+green_jockstrap,0,39,
+green_eggs_and_ham_(animated_series),3,39,
+gravity,0,39,
+graphic_digestion,0,39,
+gradient_tongue,0,39,
+grabbing_both_shins,0,39,
+good_morning,0,39,
+gomadare_papi,1,39,
+gleipnir,3,39,
+giving_orders,0,39,
+ghostli,1,39,
+ghost_vehicle_(halo),0,39,
+gfox404,1,39,
+garrek,4,39,
+garlic_(character),4,39,
+gamer_chair,0,39,
+furry_rome,3,39,
+furrlough,3,39,
+furniture_damage,0,39,
+furii,1,39,
+fully_submerged_arms,0,39,
+fulconarts,1,39,
+fufucatu,1,39,
+fresh_coat_(mlp),4,39,
+frenulum_lick,0,39,
+forretress,5,39,
+foam_finger,0,39,
+flynn_moore,4,39,
+flowing_water,0,39,
+floating_hair,0,39,
+fleurfurr,1,39,
+flare_ultimus_(flareultimus),4,39,
+flaming_feathers,0,39,"feather_on_fire,feathers_on_fire,fire_feather,fire_feathered,fire_feathers,flame_feather,flame_feathered,flame_feathers,flaming_feather,flaming_feathered"
+fisa_(nekuzx),4,39,
+finnish_spitz,5,39,
+finimun,1,39,
+final_fantasy_v,3,39,
+filled_to_the_brim,0,39,
+filled_belly,0,39,
+fido_(housepets!),4,39,
+fennelseed,1,39,
+fenix_(cookiedraggy),4,39,
+female_fingering,0,39,
+feathered_hat,0,39,
+family_tensions,3,39,
+falcrus_(character),4,39,
+fairycosmo,1,39,
+fair,0,39,
+faeyyaa,1,39,
+fa_mulan_(disney),4,39,
+exige,1,39,
+excited_for_sex,0,39,
+ewan_j._redding,4,39,
+ev133,1,39,
+ette_(juniperskunk),4,39,
+ether_(character),4,39,
+esprit-arait,1,39,
+escuincle,1,39,
+erin_tannis,4,39,
+erica,4,39,
+ephorox,1,39,
+engraving,0,39,
+english_lop,5,39,
+ena_(eliana),4,39,
+elmer_fudd,4,39,
+elle,4,39,
+elicazzz,1,39,
+eijiro_kirishima,4,39,
+egodance7matsu,1,39,
+eggseru,1,39,
+efe,1,39,
+eerieeden,1,39,
+edible_dormouse,5,39,fat_dormouse
+ear_on_shoulder,0,39,
+dzina_(latiodile),4,39,
+dynotaku_(character),4,39,
+dynexia,1,39,
+drixx,4,39,
+dreiko94,1,39,
+dream_maker_watanabe,1,39,
+dream_luna,4,39,
+dreaddenimpirate,1,39,
+draw-till-death_(artist),1,39,
+draquarzi,1,39,
+dragon_quest_viii,3,39,dragon_quest_8
+dracthyr,5,39,
+draco_centauros,4,39,
+dowsing_rod,0,39,
+double_(skullgirls),4,39,
+dorrex,1,39,
+don_(dondon),4,39,
+dog_city,3,39,
+docks,0,39,
+djwolf,4,39,
+diver_(artist),1,39,
+disguised_changeling,0,39,
+disgruntled,0,39,
+disenchantment_(series),3,39,
+dirtyt's,1,39,
+dirty_blonde_hair,0,39,
+dillon_(aaron),4,39,
+dildo_in_cloaca,0,39,
+digs,1,39,
+devellix,1,39,mentalstar
+derry,4,39,
+denver_broncos,3,39,
+denim_vest,0,39,
+deimion,4,39,
+deedoss,1,39,
+dblack,1,39,
+dawkz,1,39,
+darkrobin,1,39,
+dare_(artist),1,39,
+danzer,4,39,
+daniela_paguro,4,39,
+daihatsu,3,39,
+cuttlefish,5,39,
+curiouscat96,4,39,
+curatrix,4,39,
+cumporeon,5,39,
+cum_on_socks,0,39,
+cum_on_bedding,0,39,
+cum_in_ovaries,0,39,
+cum_in_gills,0,39,
+cum_all_over,0,39,
+culu-bluebeaver,1,39,
+crystalwhisker,1,39,
+cryptocrisis,1,39,
+cronic,4,39,
+cream_belly,0,39,
+cracking_joints,0,39,
+counter-strike:_global_offensive,3,39,
+cotopes,1,39,
+coronamon,5,39,
+conjuration,0,39,
+common_dolphin,5,39,
+comment_chain,7,39,
+comicstormcreations,1,39,
+comfey,5,39,
+colydos,1,39,
+colorfulhoovednights,1,39,
+coat_markings,0,39,
+clyde_(lilo_and_stitch),4,39,"clyde_(l&s),clyde_(las),clyde_(lilo_&_stitch),clyde_(stitch),experiment_150"
+clementine_(bearlylegal),4,39,
+claudette_(lightsource),4,39,
+classic_knuckles,4,39,
+claire_wheeler,4,39,
+city_skyline,0,39,
+cinnablon,4,39,
+christopher_robin,4,39,
+chocolate_egg,0,39,chocolate_eggs
+chinigan,1,39,
+chest_rub,0,39,
+cheri_(lord_magicpants),4,39,
+cheesepuffs,1,39,cheesepuff
+checkerboard,0,39,
+chastity_bra,0,39,
+charlene_sinclair,4,39,
+chariot_(vehicle),0,39,
+ch4ng3,1,39,
+cecily_catherine,4,39,
+cecil_(luckyabsol),4,39,
+catin-milk,1,39,"yukiya_fox12,毛玉ゆきや"
+catherine_o'daisies,4,39,the_duchess_(tegerio)
+catfiddle,1,39,
+cassowary,5,39,
+cassie_gliese,4,39,
+caramel_(pawfeather),4,39,
+car_crash,0,39,
+camille846,4,39,
+calorie,1,39,
+c-string,0,39,
+buzz_brambles,4,39,
+buttercream_sundae,4,39,
+burlywood_face,0,39,
+bunnylace,1,39,
+bunny_(courage_the_cowardly_dog),4,39,"bunny_(courage),bunny_(ctcd)"
+bun_jay_(synpentane),5,39,
+bun_(character),4,39,
+bub_(bubble_bobble),4,39,
+brown_swimwear,0,39,brown_swimsuit
+bow_lingerie,0,39,
+both_cutie_marks,0,39,
+boopeep,1,39,
+bonnie_(pokémon),4,39,bonnie_(pokemon)
+bonnibel_(roommates),4,39,
+bone_tail,0,39,
+bondrewd,4,39,
+bolter,0,39,
+bolt-s_(artist),1,39,
+bollard,0,39,
+body_cast,0,39,
+blushing_at_viewer,0,39,
+bluewolfartista,1,39,
+bluejr,1,39,
+blue_tail_tuft,0,39,
+blue_lingerie,0,39,
+blue_line_art,0,39,
+blue_helmet,0,39,
+blue-the-unknown,1,39,bluetheunknown21
+blorsh,0,39,
+bloody_bat,4,39,
+blitzstar,4,39,
+blanca_(animal_crossing),4,39,
+blanc_de_hotot,5,39,
+blackymoon,4,39,
+biting_partner,0,39,
+billy_fore,1,39,
+bibit,4,39,
+bheni,4,39,
+bf-felz,1,39,
+between_the_lions,3,39,
+better_version_at_paywall,0,39,
+bestbake,1,39,
+bertie_(tuca_and_bertie),4,39,
+bent_over_surface,0,39,
+bent_over_bed,0,39,
+bennycartoonist,1,39,
+bending_down,0,39,
+belt_unbuckled,0,39,
+beelzebub,4,39,beezlebub
+bearing_fangs,0,39,
+bear_and_breakfast,3,39,
+bb-cumming,1,39,
+barbearian,1,39,
+baramx,1,39,
+bao_bao_(mao_mao:_heroes_of_pure_heart),4,39,"bao-bao_(heroes_of_pure_heart),bao-bao_(mao_mao),bao-bao_(mao_mao:_heroes_of_pure_heart),bao-bao_(mao_mao_heroes_of_pure_heart),bao_bao_(heroes_of_pure_heart),bao_bao_(mao_mao),bao_bao_(mao_mao_heroes_of_pure_heart),baobao_(heroes_of_pure_heart),baobao_(mao_mao),baobao_(mao_mao:_heroes_of_pure_heart),baobao_(mao_mao_heroes_of_pure_heart)"
+balance,0,39,
+bad_dragon_cumlube,0,39,
+baculum,0,39,
+azerta56,1,39,
+axoarts,1,39,
+avatar_(disambiguation),6,39,avatar
+autocannibalism,0,39,
+austin_(dkside41),4,39,
+ausjamcian_(character),4,39,
+aunt_holiday_(mlp),4,39,
+atalanta_(fate),4,39,
+asymmetrical_breasts,0,39,
+astrid_(sayuncle),4,39,
+astralynx,1,39,
+askar,4,39,
+asiagosandwich,1,39,
+ash_harden,4,39,
+asdfjkl03,1,39,
+artist-chan,1,39,
+array_(oc),4,39,
+arlen_tawny,4,39,
+argai,3,39,
+araneesama,1,39,
+arabian_horse,5,39,
+aomaroo,1,39,
+aoife,4,39,
+anthro_to_taur,0,39,
+anno_dorna,4,39,
+ankleband,0,39,
+anise_(wonderslug),4,39,
+android_(os),3,39,
+anal_access,0,39,
+anadukune,1,39,
+ampersand_ad,1,39,
+ambiguous_penetrating_anthro,0,39,
+alovion,1,39,
+allriane_(fursona),4,39,
+alligatorid_humanoid,5,39,
+algebralien,5,39,
+alexa_(10ne-v),4,39,
+albator_(fern/alba),4,39,
+alaitallon,1,39,
+agent_york,4,39,
+afoxywitch,1,39,
+addison_(arh),4,39,
+ace_the_bat-hound,4,39,
+ace-nb,3,39,
+accalia_(accalia),4,39,
+acaris_(character),4,39,
+acala,4,39,
+3dinoz,1,39,
+370ml,1,39,
+30clock,1,39,
+2d10,1,39,
+20:17,7,39,
+19:21,7,39,
+16:15,7,39,
+15:13,7,39,
+028-mendicantspire,1,39,
+00makumakuma00,1,39,
+zyria_the_dragon,4,38,
+zukaro,4,38,
+zombot,5,38,
+zombiehk,1,38,
+zokoira,1,38,
+zoe_(awr_hey),4,38,
+zeze,4,38,
+zerika_(artist),1,38,
+zepht7,1,38,
+zenon_s2017,1,38,
+zeighous,1,38,
+zed_(beef_supreme),4,38,
+zale_(purplebird),4,38,
+zach_(dj50),4,38,
+yùmǐ,4,38,yumi_(diives)
+yuuya_habu,4,38,
+yuuma_fujimori_(tsunderepanda),4,38,
+yuskenn,1,38,
+yunicoon,1,38,
+yumi_akiyama_(character),4,38,
+younger_sister,0,38,
+yellow-dragon,1,38,
+year_of_the_monkey,3,38,
+yamiji,1,38,
+yamano_taishou,4,38,
+yaise,1,38,
+yabby,1,38,yabbi_(얍비)
+xration,1,38,
+xenodragon,5,38,
+xbi,1,38,
+xander_the_blue_(artist),1,38,
+x_nipples,0,38,
+wrist_on_thigh,0,38,
+world_war,0,38,
+woof_(sound_effect),0,38,
+woodlouse,5,38,"oniscidea,oniscidean,wood_lice,wood_louse,woodlice"
+wolf-con-f,1,38,
+wizaria,1,38,
+winged_lemur,5,38,
+willow_tree,0,38,"willow_trees,willowtree,willowtrees"
+willing_vore,0,38,consensual_vore
+wii_u_gamepad,0,38,
+wiglett,5,38,
+whitebats,1,38,
+white_hairband,0,38,
+white_flag,0,38,
+white_dragon,5,38,
+white_curtains,0,38,
+werewolf_wednesday,4,38,
+wennie_(xpray),4,38,
+wendy_(wolfy-nail),4,38,
+weath_verncel,4,38,
+wave_(purplebird),4,38,
+water_spray,0,38,
+warthog_vehicle_(halo),0,38,
+wanda_(fop),4,38,"wanda_(fairly_oddparents),wanda_cosma,wanda_venus_cosma,wanda_venus_fairywinkle-cosma,wanda_venus_fairywinkle_cosma"
+vwpologt,1,38,
+vulapa_y_taljeek,4,38,
+vrbit_(comicanon),4,38,
+vogelrove,1,38,
+vlad_von_knottenburg,4,38,
+vivian_boo,4,38,
+vitamin_unknown,1,38,
+visorelle,1,38,
+vincent_(litterbox_comics),4,38,
+villainous_(series),3,38,
+viktor_vasko,4,38,
+vidfox,1,38,
+video_recording,0,38,
+vera_noyce,4,38,
+vanilla_(coffekitten),4,38,
+vallie_(ivy_trellis),4,38,
+valery_funika,4,38,
+unusual_sex_toy,0,38,
+untied_panties,0,38,
+unrealfox,1,38,
+undertaker,1,38,
+tyrse,4,38,
+tyba,4,38,
+two_tone_scarf,0,38,
+two_tone_eyewear,0,38,
+trist,4,38,
+trish_(hocolatemilk),4,38,
+triphallism,0,38,
+trinity_night,1,38,
+tree_bark,0,38,
+tredain,4,38,
+travon_(character),4,38,
+transformation_through_technology,0,38,
+trafalgar_law,4,38,
+tradcartoons_studios,3,38,
+torn_cape,0,38,
+tony_tony_chopper_(walk_point_form),4,38,
+toaster_aaa,1,38,
+tkraccoon,1,38,
+tip_tease,0,38,
+tidko,4,38,
+tibetan_sand_fox,5,38,tibetan_fox
+tiban,5,38,
+throwing_pokeball,0,38,
+thought,0,38,
+thor_(dildo),0,38,
+thick_nipples,0,38,
+theyands,1,38,
+therabbitd,1,38,
+thecynicalhound,1,38,
+the_texorcist,1,38,
+the_servant_omen,3,38,
+the_pooches,3,38,
+the_neon_children,3,38,
+the_legend_of_lucy,3,38,
+text_on_sign,0,38,
+tess_(wolfyne),4,38,
+tersethra,1,38,
+tequila,0,38,
+tennis_ball_gag,0,38,
+tekno_the_canary,4,38,
+ted_(mapdark),4,38,
+tass_the_bovine,1,38,
+tasha_voron,4,38,
+tangeluscious,1,38,
+tan_back,0,38,
+talidrawing,1,38,
+tailsoft,1,38,
+tail_around_another,0,38,
+tai,4,38,
+tabi-usagi-san,4,38,
+syakomon,5,38,
+super_mario_land,3,38,
+sunsetsarsaparilla,1,38,
+succubus_(book_of_lust),4,38,
+suboscine,5,38,
+suarez_(nanoff),4,38,
+striped_elbow_gloves,0,38,
+stone_carving,0,38,
+stoat_(inscryption),4,38,
+stitches_(animal_crossing),4,38,
+stitcheddolls,1,38,
+stinger_(bzeh),4,38,
+stasis,0,38,
+starri,1,38,
+stann_co,1,38,
+stangun,1,38,
+stahl_(stahlz),4,38,
+spy_vs_spy,3,38,
+spiritpaw,4,38,
+spiked_bat,0,38,spiked_baseball_bat
+spengbab,4,38,
+spectre_(titanfall),5,38,
+speccychicken,1,38,yggiiggy
+sowia,1,38,
+soupandbutter,1,38,
+sorrel-wolf,1,38,
+sorcerland,3,38,
+sonar_caspersky,4,38,
+somethingstarry,1,38,
+solo_jazz_pattern,3,38,"jazz_cup_design,jazz_cup_pattern,jazz_design,jazz_paper_cup,jazz_paper_cup_design,jazz_paper_cup_pattern,jazz_pattern,paper_cup_pattern,solo_jazz,solo_jazz_design"
+sofu_(pyritie),4,38,
+sniffing_clothes,0,38,
+smutbase,1,38,
+smurple_(grumbbuck),4,38,
+smonia,4,38,
+slingback_heels,0,38,
+slayer,4,38,
+slavid,4,38,
+skylar_(incorgnito),4,38,
+skxx_elliot,1,38,
+skaarl_(lol),4,38,
+sister_penetrating_sister,0,38,
+siraviena,1,38,
+simon_(braford),4,38,
+silversimba01,1,38,
+silver_ring,0,38,
+silver_(silverandcyanide),4,38,
+silby_(silbyaws),4,38,
+sigil_(fursona),4,38,
+sierra_(shinymelanie),4,38,
+sierra_(pearboy-ooh),4,38,
+shtarfish,1,38,not-reccomendable-for-work
+short_sleeve_hoodie,0,38,
+shiroisora,1,38,
+shikaruneko,4,38,
+shibori_kasu,1,38,
+sheva_alomar_(resident_evil),4,38,
+sherwind52,1,38,lewdsherwind
+sherry_birkin_(resident_evil),4,38,
+shepherd's_crook,0,38,
+she-ra:_princess_of_power,3,38,"she-ra_(cartoon),she-ra_(series),she-ra_princess_of_power,she_ra:_princess_of_power,she_ra_(cartoon),she_ra_(series),she_ra_princess_of_power,shera:_princess_of_power,shera_(cartoon),shera_(series),shera_princess_of_power"
+sharp_tooth,0,38,
+shard_(artist),1,38,
+shadowweregarurumon,5,38,blackweregarurumon
+shadow_chao,4,38,
+server_dingo,4,38,
+seoxys6,1,38,
+seminal_groove,0,38,
+scruff,0,38,
+scp-999,4,38,
+scarlena4,1,38,
+scaredy_squirrel_(character),4,38,
+sand_on_foot,0,38,
+samudra_aquarium,3,38,
+sammie_(spyingredfox),4,38,
+salix_the_mossdog,4,38,
+salem_(thydris),4,38,
+salamon,5,38,
+salah_(character),4,38,
+safe_stead,4,38,
+saeko_(renv),4,38,
+sabertooth-raccoon,1,38,
+runa_ravnsdal,4,38,
+ruka_(artist),1,38,
+ru_(final_fantasy_unlimited),4,38,
+roughlove69,1,38,
+rotoscoping,0,38,"roto-scope,roto-scoped,roto-scoping,roto_scope,roto_scoped,roto_scoping,rotoscope,rotoscoped"
+rose_(scalesindark),4,38,
+root_beer,0,38,
+rita_malone,4,38,rita_malone_(flushed_away)
+ripperelite,1,38,
+rionmaro,1,38,
+rika_ibori,4,38,
+richie_(yinller),4,38,
+riche,4,38,
+rezzybat,4,38,
+rexxar,4,38,
+retr0foxx,1,38,
+resting_on_partner,0,38,
+resting_on_arms,0,38,
+renezuo,1,38,
+remleiz_(remleiz),4,38,
+recorder_(musical_instrument),0,38,recorder
+rebeccacablah,1,38,nerv_(artist)
+raziya_(racheltheseeker),4,38,
+raytig12,1,38,
+raven_(psy101),4,38,
+raven_(bloodravenx),4,38,
+rango,4,38,
+rambler_(hhc),4,38,
+rainbow_scales,0,38,
+rai,4,38,
+rags_(youtuber),4,38,
+quickie,0,38,
+quarter_horse,5,38,red_quarter_horse
+quantum_shift,4,38,
+pussy_wound,0,38,
+pussy_stacking,0,38,
+purple_lightsaber,0,38,
+purple_bodysuit,0,38,
+punipaws,1,38,
+pulled_to_side,0,38,
+puflitos,1,38,
+psy_(angelthecatgirl),4,38,
+prywinko,1,38,
+projekt_red_(arknights),4,38,
+print_bedding,0,38,
+pride_color_tailband,0,38,
+priapup,1,38,
+pouncer_(httyd),4,38,
+postal_(artist),1,38,
+poppy_(mindnomad),4,38,
+pomeraninu,4,38,
+pokewanko,1,38,
+pokachu_(artist),1,38,
+pointed_nose,0,38,
+plumage_(artist),1,38,
+plapjax,1,38,
+pixiv_id_1806579,1,38,
+pixie_cut,0,38,
+pixie_(megami_tensei),4,38,
+piscine_wyvern,5,38,
+pirates_of_the_caribbean,3,38,"pirates_of_the_carabbean,pirates_of_the_carabbean_(disney),pirates_of_the_carabeian,pirates_of_the_carabeian_(disney),pirates_of_the_carbbiean,pirates_of_the_carbbiean_(disney),pirates_of_the_caribbean_(disney),pirates_of_the_caribbin,pirates_of_the_caribbin_(disney),pirates_of_the_caribean,pirates_of_the_caribean_(disney),pirates_of_the_carrabean,pirates_of_the_carrabean_(disney),pirates_of_the_carrabien,pirates_of_the_carrabien_(disney),pirates_of_the_carribbean,pirates_of_the_carribbean_(disney),pirates_of_the_carribbian,pirates_of_the_carribbian_(disney),pirates_of_the_carribean,pirates_of_the_carribean_(disney),pirates_of_the_carribien,pirates_of_the_carribien_(disney)"
+pink_headband,0,38,
+pig_brother_(study_partners),4,38,
+pia,4,38,
+photographing,0,38,
+phoebe_hane,4,38,
+petunia_pig,4,38,
+peter_rabbit_(series),3,38,
+performer,0,38,
+peppa_pig,3,38,
+pentagram_tattoo,0,38,
+penis_through_neckhole,0,38,
+penis_lift,0,38,
+peer_pressure_insemination,0,38,
+payphone,0,38,
+pauliusthemad,1,38,
+pattern_t-shirt,0,38,
+passionate_kiss,0,38,
+pascal_(jeffusherb),4,38,
+partial_69_position,0,38,
+parkerhd,4,38,
+panzer,0,38,
+panthera7uncia,1,38,
+palisman_(the_owl_house),5,38,
+paint_on_self,0,38,
+paint_(character),4,38,paint_character
+owlletta,1,38,
+outline_star,0,38,
+otusian,5,38,
+ottotheavocadoslayer,1,38,
+orphazoid,1,38,
+orange_tail_tip,0,38,
+orange_spikes,0,38,
+orange_mouth,0,38,
+orange_head_tuft,0,38,
+orange_chest,0,38,
+optical_illusion,0,38,
+opposable_toe,0,38,
+opa_wulfen,4,38,
+oozing,0,38,
+one_tone_fur,0,38,
+onat,1,38,
+on_stump,0,38,
+omericka,4,38,
+okasaira,1,38,
+oiled_up,0,38,
+oddciders,1,38,
+oddbuffet,1,38,
+obsius_(paledrake),4,38,
+obsidian_(lotusgoatess),4,38,
+object_in_penis,0,38,
+nu:_carnival,3,38,
+note_raygun,4,38,
+norse_runes,0,38,
+nomai,5,38,
+noir_(jennifer),4,38,
+nklove3104,1,38,
+nirik,5,38,
+nipple_size_difference,0,38,nipples_size_difference
+ninjakitty_(character),4,38,
+nincada,5,38,
+nikanuar,1,38,
+nicki_minaj,4,38,
+nick_(funkybun),4,38,
+ni3ls,1,38,
+neysa_(jaiyikendra),4,38,
+nerdy_(sirphilliam),4,38,
+nelly,1,38,
+nekinu_the_outsider,1,38,
+negsus,1,38,
+neginoheya,1,38,
+neckroo,1,38,
+nebby,4,38,
+ndrnight,1,38,
+ncpk,1,38,
+nav,4,38,
+naschethelion,1,38,
+nanojam,1,38,
+nagasone_(icma),4,38,
+nachiwanko,1,38,
+n647,1,38,
+mystgoose,5,38,
+myris,4,38,
+mylo_rabbit,4,38,
+myfi,4,38,
+munrei,1,38,
+multicolored_tailband,0,38,
+multicolored_cape,0,38,
+mulberrytarthorse,1,38,
+mrfarrow,1,38,
+mr._t._wink,4,38,
+mortalis_the_grim,4,38,
+morpheuskibbe,4,38,
+monster_sora_(character),4,38,
+monotone_pseudo_hair,0,38,
+monique_(tacodragon),4,38,
+money_in_thigh_highs,0,38,
+mokaru,4,38,
+mocha-wing,1,38,
+mlb,3,38,major_league_baseball
+mitsuko,4,38,
+mistresskari,4,38,
+minerva_(spinnerette),4,38,
+mindy_blaese,4,38,
+milkysodaa,1,38,
+milkdeliveryguy,1,38,
+mike_schmidt_(fnaf),4,38,
+mike_cubes,1,38,
+mighty_eagle,4,38,
+michael_jackson,4,38,
+mia_(aubrey_ferris),4,38,
+metal_tongue,0,38,
+merumeto,1,38,
+mekana,4,38,
+meka_(overwatch),4,38,
+meesh_(character),4,38,
+medabots_(models),5,38,
+mechari,5,38,
+mechamonkeyz,1,38,
+mcpippypants,1,38,
+max_(the_secret_life_of_pets),4,38,"max_(secret_life_of_pets),max_(slop),max_(tslop)"
+master_hellscythe,4,38,
+mast,0,38,
+maskedcube,1,38,
+maru_show,1,38,
+martin_(dosent),4,38,
+marion_(housepets!),4,38,
+marianokun,1,38,
+magenta_background,0,38,
+mace_tail,0,38,tail_mace
+macarroni,1,38,
+macabre_haze,4,38,
+m1911_pistol,0,38,
+lupin,5,38,
+luke_skywalker,4,38,
+lucy,4,38,
+lucky_skebe,3,38,
+lucine,4,38,
+lucian,4,38,
+luca_(chisara),4,38,
+lowergold,1,38,
+louvely,1,38,
+lord_foxhole,1,38,lordfoxhole
+lopearedquentin,1,38,
+looking_through_hole,0,38,
+looking_confused,0,38,
+long_feet,0,38,
+lollipop_chainsaw,3,38,
+lofihill,1,38,
+lockerobster,1,38,
+liz_(mykegreywolf),4,38,
+living_ranged_weapon,5,38,
+liowako,1,38,
+linorgoldenfish,1,38,
+limbs,0,38,
+lilith_(tboi),4,38,
+lhikan_(chrislhi),4,38,
+leynadtsio,1,38,
+lexi_(otterplop),4,38,
+leo-ravioleo,1,38,leofetishine
+leniovias,4,38,
+leanne_summers,4,38,leanne_(ritts)
+leading,0,38,
+laying_on_table,0,38,
+lapphund,5,38,
+language,0,38,
+lakalando,1,38,
+lagomorph_pussy,0,38,
+l0st,4,38,
+kyoob_(thegentlebro),4,38,
+kyle_(kaikaikyro),4,38,
+kurtcbrox,1,38,
+kuromiya,1,38,
+kuiskata_svahrem,4,38,
+ktn_kuta,1,38,
+krystune,1,38,
+krazyivan,1,38,
+kotalis,1,38,
+komokuu,4,38,
+kohi_(waruikoohii),4,38,
+koban_(coin),0,38,
+kobaltoco,1,38,
+klavinova_(mlp),4,38,
+kizu_the_wolf,4,38,
+kiyoshi_fox,3,38,
+kitty_jo,4,38,
+kittenpawprints,1,38,"clockworkquartet,clockworquartet,dinocasino,furrydino"
+kitsune_nyx,1,38,darkravenstear
+kitsuna_tyakoto,4,38,
+kiritsune,4,38,
+kirarise_(cocotama),4,38,
+kira_(disambiguation),4,38,
+kim_(fvt),4,38,
+killian,4,38,
+kiki-uma,1,38,
+kigekigahou,1,38,"sugai,スガイ"
+kiat_(cool.),4,38,
+kiartia,1,38,
+khaki_fur,0,38,
+khail,4,38,
+kevindragon,1,38,
+keros_(ssssnowy),4,38,
+kerespup,1,38,
+kenikenikeke,1,38,
+kelso-crazy,1,38,
+kc_(killedbycuriosity),4,38,
+kayla_(rysonanthrodog),4,38,
+kate_the_wolf,4,38,
+katauni_(ghost_forger),4,38,
+kasedries,1,38,
+karma,4,38,
+kangal,5,38,"anadolulu_karabaş,anatolian_karabash,anatolian_shepherd,anatolian_shepherd_dog,kangal_dog,karabas_(blackhead),karabas_blackhead,karabaş_(blackhead),karabaş_blackhead,sivas_kangal,turkish_shepherd,turkish_shepherd_dog"
+kanahu,1,38,
+kali_(ashnurazg),4,38,
+kalebur,4,38,
+kale_(critterclaws),4,38,
+kalapean,5,38,
+kaito_oji_churippa!,3,38,
+kaisgaru,5,38,
+kaibo_coldwind,4,38,
+jyrki,4,38,
+just-another-vore-artist,1,38,
+juncos_(jayfeath3r),4,38,
+judge,0,38,
+joshcraven,1,38,
+joly_(kitty_pride),4,38,
+jojo_(rainbowscreen),4,38,
+joel_the_lemur,4,38,
+joanna_hart,4,38,
+jewel_(insomniacovrlrd),4,38,
+jesterhoro,1,38,
+jero,4,38,
+jellyfish_sisters,4,38,
+jelly_(jacobthebobcat),4,38,
+jecsh,1,38,
+jazzynsfw,1,38,
+jax_(mels_monster),4,38,
+jason_(greyknight),4,38,
+jang_(tokifuji),4,38,
+jade_chan,4,38,
+jackie_(jackie's_story),4,38,
+jack_(walkingstalker),4,38,
+isshou,4,38,
+irae,1,38,
+involuntary_orgasm,0,38,
+inubito,1,38,
+interstellarmachine,1,38,
+internal_testicles,0,38,
+internal_sheath,0,38,
+inside_out,3,38,
+insert,0,38,
+innocent_smile,0,38,
+incest_marriage,0,38,
+imprisoned,0,38,
+illusiveelusive,1,38,
+ikaika,4,38,
+ichimatsu_matsuno,4,38,"ichimatsu,ichimatsu_(osomatsu)"
+ice1368,1,38,
+hythrojin,1,38,
+hypnosis_sex,0,38,
+human_taur,5,38,humantaur
+human_penetrating_machine,0,38,
+hugoriolu,1,38,
+houdini_(lilo_and_stitch),4,38,"experiment_604,houdini_(l&s),houdini_(las),houdini_(lilo_&_stitch),houdini_(stitch)"
+hotaru-mia,1,38,
+hoshino_kedama,1,38,
+horridus,4,38,
+hopper_(tnt),4,38,
+hoosier,4,38,
+holding_spatula,0,38,
+holding_pipe,0,38,
+hoho_(herbivore_high_school),4,38,
+hive_(destiny),5,38,
+hissoriing,1,38,
+hiding_penis,0,38,
+hidden_camera,0,38,
+heroes_of_might_and_magic_iii,3,38,
+herm_pred,0,38,
+heraldry,0,38,
+hera_syndulla,4,38,
+heidi_geathers,4,38,
+heffalumpjump,1,38,
+hedgehogblue02,1,38,
+heart_piercing,0,38,
+heart_keyhole_clothing,0,38,
+hayati,4,38,
+hatebit,1,38,
+hardenonn,1,38,
+hands_over_breasts,0,38,
+hands_on_forearms,0,38,
+hands_free_penetration,0,38,
+hand_on_own_chin,0,38,
+hand_on_another's_pussy,0,38,
+haison,1,38,
+gunblade,0,38,
+gulliver_(animal_crossing),4,38,
+gular_sac,0,38,"frog_sac,frog_sack,gular_pouch,gular_sack,throat_pouch,throat_sac,throat_sack,vocal_pouch,vocal_sac,vocal_sack"
+guiltyskull_(artist),1,38,
+gremlins,3,38,
+greentapok,1,38,
+green_wall,0,38,
+green_leotard,0,38,
+grazing,0,38,
+grace_kidder,4,38,
+grace_(changeling_tale),4,38,
+gothzilla,4,38,
+gopnik,0,38,
+goose_(untitled_goose_game),4,38,
+goldendoqqs,1,38,
+gold_spikes,0,38,
+gold_nose,0,38,
+god_of_destruction,5,38,
+gloved_hands,0,38,
+glistening_weapon,0,38,shiny_weapon
+glee,0,38,
+girly/girly,0,38,
+gilian,3,38,
+gigi_(animal_crossing),4,38,
+ghstkatt,1,38,
+ghetto_delphox,4,38,
+geowaffle,1,38,
+george_heartfields,4,38,
+gav,1,38,
+gaston_(animal_crossing),4,38,
+gasmask_(artist),1,38,disidi
+gary_(furry_force),4,38,
+gao_(kusosensei),4,38,
+game_boy_logo,0,38,
+gallardo,1,38,
+gale_(galeboomer),4,38,
+gagmanzx,1,38,
+gagged_talk,0,38,
+fwomp,0,38,
+furemani,1,38,白身
+furaiya,4,38,
+fur_pelt,0,38,
+fur_cloak,0,38,
+frock,0,38,
+frist_(character),4,38,
+frickabee,1,38,
+fresnel_(buyobutt),4,38,
+frenhm,1,38,
+francine_(karps),4,38,
+foxielove,1,38,
+forehead_protector,0,38,
+forehead_horn,0,38,
+fly_swatter,0,38,
+floral_topwear,0,38,
+flaviomodezto,1,38,
+flatwoods_monster,4,38,
+fire_background,0,38,
+finn_(funkybun),4,38,
+fingering_sheath,0,38,
+fhyrrain,3,38,
+feral_to_human,0,38,
+female_rimming_gynomorph,0,38,
+felox08,1,38,
+felix_cattelli,4,38,
+feces_on_chest,0,38,
+feast,0,38,
+faulds,0,38,
+fantine,1,38,
+familliar,1,38,
+falund,4,38,
+falseknees,1,38,
+falls-down-steps,1,38,
+fake_halo,0,38,
+eyeless_face,0,38,
+eye_shimmer,0,38,
+eye_of_ra,0,38,
+exhaustion,0,38,
+excelsus,4,38,
+evo_(oc),4,38,
+evian,1,38,
+euskuuy,1,38,euskuuy_(artist)
+euchre,4,38,
+esubatan_prpr,1,38,
+esperpenta,1,38,
+esperanza_(cimarron),4,38,
+eric_(silentiron),4,38,
+enzo_wolf,4,38,
+enzeru,4,38,
+en_1_9,1,38,
+elena_of_avalor,3,38,
+elena_(validheretic),4,38,
+elegant_dress,0,38,
+einraeslost,4,38,
+egg_transfer,0,38,
+ed_(eene),4,38,
+ed-fokk3r,1,38,
+dysart,1,38,
+dynafurryart,1,38,dynathecat
+dust_yang,1,38,
+duke_rocheister,4,38,
+dudedle,1,38,
+drinking_fountain,0,38,
+dreyol,4,38,
+dreadlord_jaina,4,38,
+drash_(character),4,38,
+drakeposting,3,38,
+drai_(artist),1,38,
+dragoon-rekka,1,38,
+draconder,1,38,
+dox_drakes,4,38,
+dota_underlords,3,38,
+dot_(mcnasty),4,38,
+dora_systeel,4,38,
+donkey_kong_country_tropical_freeze,3,38,
+domoipetti,1,38,
+dolero,4,38,
+dodgercr,4,38,
+doc_nickel,1,38,
+doc.b,1,38,
+dividing_ovum,0,38,
+disappearing,0,38,
+diamond_pickaxe,0,38,
+diablo_(character),4,38,
+devy_(devil-vox),4,38,
+deon_(deonwolf),4,38,
+denial_(disambiguation),0,38,denial
+demu,1,38,rhey
+death_battle,3,38,
+dearhotglues,1,38,
+dazzlekong,1,38,
+darksly-z,1,38,
+darkartist,1,38,
+dark_chest,0,38,
+dark_bowser,4,38,
+daniels_(twokinds),4,38,
+dangaroo,4,38,
+dame,4,38,
+dalarius_frin,4,38,
+dahr,1,38,
+dae_(daebelly),4,38,
+cynthia_(brian_mcpherson),4,38,
+cynnamin_(cynnamin),4,38,
+cyberblade,1,38,
+cyavian,5,38,
+custom_ink,4,38,
+curly_fur,0,38,
+curlers,0,38,
+curled_tongue,0,38,
+cum_stains,0,38,
+crystal_heart,0,38,
+crepe,0,38,
+crackers_(character),4,38,
+countershade_tentacles,0,38,countershade_tentacle
+corvus_humanoid,5,38,
+corrine_(naughty_skeleton),4,38,
+corneria,0,38,
+coontail_v1,4,38,
+construct,0,38,
+confessional,0,38,
+collette_(lady_and_the_tramp),4,38,
+college_football,3,38,
+cold_dream,4,38,
+colanukl,1,38,
+coffuu,1,38,
+codyferra,4,38,
+cobra_mcjingleballs,1,38,
+clip_(lilo_and_stitch),4,38,"clip_(l&s),clip_(las),clip_(lilo_&_stitch),clip_(stitch),experiment_177"
+claw_machine,0,38,
+clamperl,5,38,
+circumjacentity,1,38,
+cindy_(nekocrispy),4,38,
+cimche,1,38,
+cilia_whitewater,4,38,
+cielo,4,38,
+chompers_(fuze),4,38,
+chomper_(pvz),5,38,"chomper_(plants_versus_zombies),chomper_(plants_vs._zombies),chomper_(plants_vs_zombies)"
+chinese_cock_trap,0,38,
+chiko_mew,1,38,
+chigico_u,1,38,
+chiggedychew,1,38,
+chicken_costume,0,38,chicken_suit
+chibi_panda_(buddyfight),4,38,chibi_panda_buddyfight
+chev_(helios),4,38,
+chen_(arknights),4,38,
+chelsie_(kawa),4,38,
+cheezypb,1,38,
+cheese.crisp,1,38,
+chauvels,1,38,
+chatai,1,38,
+chastity_seal,0,38,
+charon2,1,38,
+charlotte_(brogulls),4,38,
+cerinian,5,38,
+celia_(penlink),4,38,
+cauguy,1,38,
+caucasian_mountain_dog,5,38,"caucasian_mastiff,caucasian_ovcharka,caucasian_shepherd,caucasian_shepherd_dog,kavkazskaya_ovcarka,kavkazskaya_ovčarka,კავკასიური_მეცხვარე_ძაღლი"
+cattsun,1,38,
+cat_keyhole_clothing,0,38,
+castagno,1,38,
+carnivorous_plant_humanoid,5,38,
+carduelis,1,38,
+cardiophilia,0,38,heart_fetish
+caracal_humanoid,5,38,
+captain_sale,4,38,
+captain_carrot_and_his_amazing_zoo_crew,3,38,
+canphem,1,38,
+canoweissmon,5,38,
+canopy,0,38,
+canndy_(neceet),4,38,
+candy_shop,0,38,
+caflec,4,38,
+cadillac,3,38,
+c-jen,4,38,
+byte_fantail_(character),4,38,
+buttplug_pull_out,0,38,
+buttdawg,1,38,thebuttdawg
+bunny_the_love_angel,4,38,
+bun_buns_(bun_buns),4,38,
+bumbleblues,1,38,
+bulletsoup,1,38,
+bruno_(gym_pals),4,38,
+brown_eyelids,0,38,
+bran_(bran-draws_things),4,38,
+bran_(beez),4,38,
+bra_straps,0,38,
+bow_armwear,0,38,
+boof,4,38,
+boman100,1,38,sexyinflationgirl_(artist)
+body_tearing,0,38,
+blurthefur,1,38,
+blue_shark,5,38,
+blue_scar,0,38,
+blue_crop_top,0,38,
+blue_(bluethegryphon),4,38,
+bloudin_(whatisdamatter),4,38,
+blade_runner_2049,3,38,
+blacksnake,1,38,
+blackgatomon_uver.,5,38,
+black_legband,0,38,
+black_hood,0,38,
+bjorn_(sturattyfur),4,38,
+birdsmooch,1,38,
+binch,4,38,
+bill_(capt_hairball),4,38,
+big_unflared_glans,0,38,
+bev_bighead,4,38,"beverly_bev_bighead,beverly_bighead"
+bestiality_girlfriend_catalog,3,38,
+berserker_ibaraki-douji,4,38,"berserker_(fate/grand_order_-_ibaraki-douji),berserker_(fate/grand_order_ibaraki-douji),berserker_(fate_grand_order_-_ibaraki-douji),berserker_(fate_grand_order_ibaraki-douji),berserker_ibaraki_douji"
+berettiger26,1,38,
+belly_hump,0,38,
+bedupolker,1,38,
+becoming_flaccid,0,38,
+bean_the_dynamite,4,38,
+bbb_aiueo,1,38,
+baru_x2,1,38,
+barefoot05,1,38,
+barbed_glans,0,38,
+banjo_(kihu),4,38,
+babrukus,4,38,
+babayana,1,38,
+baba_(tloz),5,38,baba_(zelda)
+azure_rathalos,5,38,"blue_rathalos,cyan_rathalos"
+azuli,4,38,
+aykos,4,38,
+ayasakiace,1,38,
+awkward_smile,0,38,
+avery_(itsmythos),4,38,
+autumn_sawsbuck,5,38,
+autumn_(praexon),4,38,
+aurora_(spacecamper),4,38,
+aura_(lazysnout),4,38,
+aubreganimations,1,38,
+attract,0,38,
+atsuineko,1,38,
+atmospheric,0,38,
+athletic_feral,0,38,
+assassyart,1,38,
+asira_(ashnar),4,38,
+ash_(st4rsbucks),4,38,
+ash_(abz),4,38,
+arty_(felino),4,38,
+arrogant,0,38,
+arm_frill,0,38,
+arin_hanson,4,38,
+arezu_(pokemon),4,38,arezu_(pokémon)
+arctic_ikume,4,38,
+april_marchand_may_(roommates),4,38,
+applin,5,38,
+apple_split_(mlp),4,38,
+apofiss,1,38,
+aoba_(kemo_coliseum),4,38,
+aoba_(beastars),4,38,
+antennae_piercing,0,38,"antenna_piercing,pierced_antenna,pierced_antennae"
+antelope_humanoid,5,38,
+anselme,1,38,
+animal_jam,3,38,
+angelus,4,38,
+anchor_symbol,0,38,
+amorousartist,1,38,
+amocin_(amocin),4,38,
+ambient_moth,5,38,
+alvin_(mamaduo),4,38,
+alvedo_vhiich,1,38,
+alterkitten,1,38,
+alphinaud_leveilleur,4,38,
+allysia_(killy),4,38,
+allymoodyneko,1,38,
+allorexx,1,38,
+alaynakgray,1,38,
+aki_the_reindeer,4,38,
+aimia492,1,38,
+ahkwatishiw,1,38,
+ahcocqui,1,38,
+after_oral_penetration,0,38,
+aestheticmachine,1,38,
+adelena_(thatonevocals),4,38,
+acipenseriformes,5,38,
+achievement,0,38,
+abe_(oddworld),4,38,
+abby_(cobalt_snow),4,38,
+abbie_(chelodoy),4,38,
+aaron_schmit,1,38,
+=3,0,38,
+8989to,1,38,
+80s_hair,0,38,
+4yd0_yctahobka,1,38,
+2b_(artist),1,38,
+21:17,7,38,
+/mlp/,3,38,
+zzavok,1,37,"finitevus,mai-pie,motobugg"
+zyro_(zyrothedragon),4,37,zyrothedragon
+zoma's_mom,4,37,
+zoe_(lol),4,37,
+zodiacnicola,1,37,
+zipper_(artist),1,37,
+zetsubouironfang,1,37,
+zesty_(zestibone),4,37,
+zest_(artist),1,37,
+zereno,1,37,
+zer0ember,1,37,
+zephyriwolf,1,37,
+zephyr_(a12),4,37,
+zeke_white,4,37,
+zannathedragon,1,37,
+zakurei,3,37,
+zabrak,5,37,
+yuras12,1,37,
+yinhu885,1,37,
+yelftea,1,37,
+xilver,4,37,
+xeros,4,37,
+xenahasaclit,1,37,
+xen_(kirbot12),4,37,
+xblueashesx,1,37,
+x'sara,4,37,
+writing_on_calendar,0,37,
+wrist_bow,0,37,
+woshua,4,37,
+woola,4,37,
+wolver,5,37,
+wish,0,37,
+wiping_face,0,37,
+wilson_percival_higgsbury,4,37,"wilson_(don't_starve),wilson_(dont_starve),wilson_higgsbury"
+will_williams,4,37,
+wiggling_hips,0,37,
+whitney_(pnc),4,37,whitney_ponikvar
+whitney_(dutch),4,37,
+white_leggings,0,37,
+white_glasses,0,37,
+white_fox_(utterangle),4,37,
+wet_floor,0,37,
+welling_tears,0,37,
+welding_mask,0,37,"welder's_helmet,welder's_mask,welder_helmet,welder_mask,welders_helmet,welders_mask,welding_helmet"
+weapon_glint,0,37,
+water_stone,0,37,
+warriors_all-stars,3,37,
+warfare_rouge,4,37,
+walter_white,4,37,
+wally,4,37,
+voskhodart,1,37,
+vitrex_(character),4,37,
+virdi_(elberik),4,37,
+vira_and_viana,4,37,
+vin_(ng_canadian),4,37,
+victor_9326,1,37,
+vic_senpai,1,37,
+viagra,3,37,
+vesper_(vesper_art),4,37,vesper_(vinyanko)
+velocirection,1,37,
+vecnarvi,1,37,
+vasmeth,4,37,
+vappy,4,37,
+vandell,4,37,
+vamrack,1,37,
+vampirism,0,37,
+vamp_(character),4,37,
+valravnconcorde,1,37,
+valkairis_sarikblod,4,37,jain_sahrik
+vaerinn,4,37,
+v7eemx,1,37,
+usb_cable,0,37,
+unregistereduser,1,37,
+unown_d,5,37,
+umani,1,37,うまに
+tyrnn,1,37,
+tyler_johnson,4,37,
+tygre_(artist),1,37,
+two_tone_apron,0,37,
+two_color_fur,0,37,
+twistedfurby,1,37,
+twinkle,0,37,
+tuton,4,37,
+turz,4,37,
+turquoise_tail,0,37,
+tsukasawa_takamatsu,1,37,maturigensou
+tria_(artist),1,37,
+trcfan,1,37,
+trandoshan,5,37,
+tram15vay,1,37,
+traffic_sign,0,37,
+tornwing,4,37,
+toriellove,1,37,
+tori_(elvche),4,37,
+toraz,4,37,
+toralei_stripe,4,37,
+top_tank_meme,0,37,
+toon_zelda,4,37,
+toned_calves,0,37,
+tonde,1,37,
+tolendare,4,37,
+tojo,4,37,
+tohtori_crow,1,37,
+tofudumps,1,37,
+toeless_socks_(marking),0,37,"toeless_sock_(marking),toeless_sock_(markings),toeless_sock_marking,toeless_sock_markings,toeless_socks_(markings),toeless_socks_marking,toeless_socks_markings"
+toby_(animal_crossing),4,37,
+titty_sprinkles_(oc),4,37,
+tiloucia_(biggreen),4,37,
+tigerblack,1,37,
+thyro,1,37,
+thumbelina_(movie),3,37,
+thrusting_forward,0,37,
+thewanderingfox,4,37,
+the_suicider_rat,3,37,
+the_nameless_guy,1,37,
+the_first_funky_fighter,3,37,
+tf4me,1,37,
+textured,0,37,
+text_on_legwear,0,37,
+terrarium,0,37,
+tentacle_plant,5,37,
+tentacle_eye,0,37,
+templar,0,37,
+temiree,1,37,
+teej_(sigma_x),4,37,
+technicolor_genitals,0,37,
+teal_seas,4,37,
+td_coltraine,3,37,
+tay_vee,4,37,
+tatiana_(crackiepipe),4,37,
+tarou_(taroumyaki),4,37,
+tar0,1,37,
+taori,4,37,
+tanuki_leaf,0,37,
+tannis_(tolerain),4,37,
+tangle,4,37,
+tammy_(study_partners),4,37,
+tamberlane_(comic),3,37,
+tamamo_fushimi,4,37,
+tallyna_(fursona),4,37,
+talking_tom,4,37,
+talbuk,5,37,
+takeo_(artist),1,37,
+tail_restraint,0,37,
+tahajin,4,37,
+tagxo_(artist),1,37,
+tabi_usagi,4,37,
+swimming_trunks_down,0,37,
+suzidragonlady,1,37,
+suzi_(susaroo),4,37,
+supported_arm,0,37,
+super_mario_bros._3,3,37,
+sunshine_light,4,37,
+sunnyleafeon_(mintyspirit),4,37,
+sudo,3,37,
+suchmim,1,37,
+studio_tar,1,37,
+striped_t-shirt,0,37,
+striker_vorster,4,37,
+stretching_legs,0,37,
+stomach_scar,0,37,
+stitchils,4,37,
+stickycunter,1,37,
+steel_shark_(character),4,37,
+stealth_suit,0,37,
+static_spark,4,37,
+stare_pris,4,37,
+star_(fvt),4,37,
+squating,0,37,
+spot_(mlp),4,37,
+spokle,1,37,
+spinstellar,1,37,
+spicychaikitten,1,37,
+spacekitten,1,37,
+sova,4,37,
+sosya142,1,37,
+sonicharinezumi,1,37,
+sonic_the_hedgehog_2_(film),3,37,
+somecrazybastard,1,37,
+sol_doliodos_(character),4,37,
+socks_with_sandals,0,37,
+sobeloart,1,37,
+snickers,3,37,
+snaphappy,1,37,
+snackhorse,1,37,
+smutphibian,1,37,
+smove,3,37,
+slow_motion,0,37,
+slipper,0,37,
+skylor_(crocodilianbooty),4,37,
+skin_fang,0,37,
+sketchyyvun,1,37,
+sirzi,1,37,
+silver_claws,0,37,
+silroidan,4,37,
+silavos,1,37,
+shrimp_(food),0,37,
+shoichi_urata,4,37,
+shirojackote,1,37,
+shinokorosha,1,37,
+shimazun,1,37,
+shima_laqi,1,37,
+shilly_(sachidog),4,37,
+shieltar,1,37,
+shi_yu_(lunarspy),4,37,
+sheryl_(artist),1,37,
+shertu,4,37,
+shein_li,4,37,
+sheila_richards,4,37,
+shawd_kaleb,4,37,"shawd_(character),shawd_kaleb_(character)"
+shared_condom,0,37,
+sframboob,1,37,
+senseibushido,1,37,bowser_(artist)
+senran_kagura,3,37,
+scrawny,0,37,
+scout_(willis180),4,37,
+scat_desperation,0,37,
+scary_monsters,4,37,
+satynapaper,1,37,
+satch,4,37,
+sassy_(sassylebraix),4,37,
+sarmon,1,37,
+saltyseaskunk,1,37,
+sally_cooper,4,37,
+sally_(doomthewolf),4,37,
+saintsucrose,1,37,
+sagemerric,1,37,
+sage_(critterclaws),4,37,
+sadasaka_usui,4,37,
+sacred_scarab,5,37,"sacred_scarab_beetle,scarab,scarabaeus_sacer,scarabs"
+ryo_yambe,1,37,
+rusty,4,37,
+ruffrunner_(httyd),4,37,
+rubbish_chameleon,1,37,
+rubber_band,0,37,
+rosy_maple_moth,5,37,
+roseonapot,1,37,
+roo_boy,1,37,
+rondonu,1,37,
+ronald_mcdonald,4,37,
+ron_spencer,1,37,
+romantic_dinner,0,37,
+rollerlane,1,37,
+rockyziger,1,37,
+riukykappa,1,37,
+rionquosue,4,37,
+rico_(sylvanedadeer),4,37,
+revenant_(doom),5,37,
+retehi,1,37,
+restrained_feet,0,37,
+ressue,1,37,
+renokim,1,37,
+remy,4,37,
+reliable_excavation_demolition,3,37,
+reho,1,37,
+red_sandals,0,37,
+red_feather_hair,0,37,
+red_chair,0,37,
+red_bikini_top,0,37,
+red_bed_sheet,0,37,
+reaching_towards_another,0,37,
+razzek,1,37,"razzek_(artist),zebits,zebits_(artist)"
+rayoriens,1,37,
+raum_(paladins),4,37,
+rainbow_shirt,0,37,
+raiden_(nuree_art),4,37,
+radiance_(hollow_knight),4,37,
+quelico,1,37,
+pussy_tongue,0,37,
+purplesplash1372,1,37,
+purple_eyelashes,0,37,
+puppynsfw,1,37,
+puff_the_dragonite,4,37,
+pshyzo,1,37,
+procyoni,1,37,
+prize,0,37,
+priscilla_anchorstream,4,37,
+princess_daphne,4,37,
+ppmp,1,37,
+post_digestion,0,37,
+pop_out,0,37,
+poofy_dragon,1,37,
+ponyboom,1,37,
+pokemon_plushie,0,37,
+pointed_tongue,0,37,
+playing_with_toys,0,37,
+playful_face,0,37,
+plastic_container,0,37,
+pixell,4,37,
+pink_cat_enthusiast,1,37,
+pineapple_pattern,0,37,
+pinball,0,37,
+pi,0,37,π
+phrisco,4,37,
+phone_guy_(fnaf),4,37,
+peter_potamus,4,37,
+perrserker,5,37,"perrzerker,purrserker,purrzerker"
+permanent_transformation,0,37,
+pepperuranus,1,37,
+pepper_the_poochyena,4,37,
+pepper_(disambiguation),6,37,pepper
+penthouse,0,37,
+penis_silhouette,0,37,
+pen_(pd),4,37,
+pectoral_vore,0,37,
+peaches,4,37,
+pbnjr014,1,37,
+pawgyle,1,37,
+patches_ito,4,37,patches_(purrfect_apawcalypse)
+party_favor,0,37,
+paradisaeid,5,37,"bird-of-paradise,bird-of-paradise_(bird),bird-of-paradise_(species),bird_of_paradise,bird_of_paradise_(bird),bird_of_paradise_(species),paradisaeidae,paradisaeidaen"
+painter,0,37,
+paddle-boat,1,37,
+pack_(container),0,37,
+pablofiorentino,1,37,
+p.r.e.g.,3,37,
+p.b._(daria_mcgrain),4,37,
+outlaw,0,37,
+otter-casey,4,37,
+oseterollicete,1,37,
+oro_(oro97),4,37,
+orintakoda,1,37,brother_orin
+orianna_(lol),4,37,
+orange_thigh_highs,0,37,
+oral_tube,0,37,
+onika,4,37,
+onene,5,37,
+onehundredandone,1,37,
+on_balloon,0,37,
+omni-tool,0,37,
+omelette,0,37,
+omega_symbol,0,37,
+oliver_(moth_sprout),4,37,
+oh_these?,3,37,
+offering_beverage,0,37,
+oda,4,37,
+octavia_(vidmas),4,37,octavia_(limebreaker)
+obstructed_eyes,0,37,
+obey,0,37,
+o_miso_n,1,37,
+nyaou,4,37,
+numairiaoi,1,37,
+nubs,1,37,
+novah_ikaro_(character),4,37,
+notnoponyatall,1,37,
+nonny18675309,1,37,
+nomad_(lw),4,37,
+nokama,4,37,
+noctilucent-arts,1,37,
+noah_(disambiguation),4,37,noah
+nns,1,37,
+nina_(passionatefloorromance),4,37,
+nikoyosan,1,37,
+nikki_(galactabee),4,37,
+nightmare_king_grimm,4,37,
+nightmare_fetish_fuel,0,37,
+nicolasthewolf,1,37,
+new_world_suboscine,5,37,
+net_stockings,0,37,
+nestkeeper,1,37,
+neokandra,1,37,
+neo-spacian_marine_dolphin,4,37,
+nemao,1,37,
+nekoeko,4,37,
+nanothehedgehog,1,37,
+mystia_lorelei,4,37,
+mutsukemo,1,37,
+musaparadise,1,37,
+musabo3neo,1,37,
+munsshy,1,37,chassty
+mtpcrew,1,37,
+mta_new_york_city_transit,0,37,
+mr_ultra,1,37,
+mr._grizz,4,37,mr_grizz
+mr,1,37,
+movie_set,0,37,
+motivation,0,37,
+mossdog,5,37,
+mori,4,37,
+morgue,0,37,
+mook,5,37,
+monster_on_male,0,37,
+mondo_cruz,4,37,
+moisty,1,37,moisty_(artist)
+moisture_(chichi),1,37,
+modo_tu_(character),4,37,
+mod_lemon,1,37,
+mlpboxing,1,37,"3dboxing,enola_san"
+mizusawa_nino,1,37,
+misty_striker,4,37,
+miss_bliss_(mhdrawin),4,37,
+mischief,4,37,
+mirri_cat_warrior,4,37,
+minty_(blizzyglaceon93),4,37,
+mint_(deessel),4,37,
+mind_reading,0,37,
+mikakitty,1,37,
+mia_woods,4,37,
+messy_mane,0,37,"disheveled_mane,frizzy_mane,unkempt_mane"
+meroune_lorelei_(monster_musume),4,37,
+meower_(skweekers),4,37,
+melody_(sakuradlyall),4,37,
+mellow_(wizzikt),4,37,
+melancholic,0,37,
+megan_fawkes,4,37,
+meepin~bloodeh,1,37,
+meanmotorscooter,1,37,
+maylene_(aj_the_flygon),4,37,
+max_raccoonism,4,37,
+matryoshka_sex,0,37,
+matilda_(starthemutts),4,37,
+mass_production_eva,5,37,
+mash_(artist),1,37,
+mary_antelope,4,37,
+marumori0619,1,37,
+marsupial_pussy,0,37,
+mao.j,1,37,
+mandalorian_armor,0,37,
+mandalorian,5,37,
+man0.,1,37,rengenosenaka
+maleherm_on_bottom,0,37,
+majimartbcn,1,37,
+magyo6,1,37,
+maegsker,1,37,
+madnessandgiovanni0595,1,37,
+madmanransom,1,37,
+madjoker,1,37,
+mackenzie_(theredhare),4,37,
+machinewithsoul,1,37,
+m3_(pixiv),1,37,
+lyeni,1,37,
+lya_(jarnqk),4,37,
+lwrottie,4,37,
+lukiro,1,37,
+luck_of_the_draw,3,37,
+lu_(f_draws),4,37,
+lowleg,0,37,
+lovrina_(pokémon),4,37,lovrina_(pokemon)
+louvelex,1,37,
+lorna_(sevenn),4,37,
+lordzid,1,37,
+lonnie_(she-ra),4,37,
+longclaw_(sonic),4,37,
+long_muzzle,0,37,
+lockheart,1,37,9volt
+liz_(tegerio),4,37,
+little_bear_(character),4,37,
+lithiumred,1,37,
+liomynx,1,37,
+limety,4,37,
+lily_(animal_crossing),4,37,
+lilkittenboi,4,37,
+lightningjolt,4,37,
+light_brown_body,0,37,
+lifi,4,37,
+licking_belly,0,37,
+licked_silly,0,37,
+liber_souvlakia,4,37,
+lewis_the_skeleton,4,37,
+letter_block,0,37,
+les_pooche,3,37,
+leleack12,1,37,
+legends_of_belial,3,37,
+legend_of_kay,3,37,
+leg_warmers_only,0,37,
+leg_torture,0,37,
+leg_fur,0,37,
+leatherlick,1,37,
+leather_armband,0,37,
+leaf_skirt,0,37,
+layla_(legend_of_queen_opala),4,37,
+laying_on_top,0,37,
+lauren_(hexxia),4,37,
+laquadia_(legend_of_queen_opala),4,37,
+lancer_artoria_alter,4,37,"lancer_(fate/grand_order_-_artoria_alter),lancer_(fate/grand_order_artoria_alter),lancer_(fate_grand_order_-_artoria_alter),lancer_(fate_grand_order_artoria_alter),lancer_artoria_pendragon_(alter),lancer_artoria_pendragon_alter"
+lamoz571,1,37,
+lambofanubis,1,37,
+lackofcomfort,1,37,
+lace_(hollow_knight),4,37,
+kylani,4,37,
+kwikdog,4,37,
+kuroda_(odd_taxi),4,37,
+kuroba,4,37,
+kura_(svarzye),4,37,
+kumi_pumi,1,37,kumi-pumi
+kuglu,1,37,
+krocial_(krocialblack),4,37,
+kour,1,37,
+kotone_(zelripheth),4,37,
+kory_bing,1,37,
+kondo_musashi,1,37,
+kokidius,1,37,
+knockabiller,1,37,
+kiwanoni,1,37,
+kittiara,1,37,
+kita,4,37,
+kirby_superstar,3,37,
+kinky-roo,0,37,
+kingdragyn,1,37,
+kigufox,4,37,
+khaki_shorts,0,37,
+key_rooki,1,37,
+kevin_bluepaw,4,37,kevinbluepaw
+kelvin_kombinat,1,37,
+kaokao,1,37,
+kangwolf,1,37,
+kammuraqi,1,37,
+kamber,4,37,
+kaiipwilde_(artist),1,37,
+kahnso_(ceeb),4,37,
+kaeku,1,37,
+kadrion,1,37,
+junketsu,4,37,
+junkersquawker,1,37,
+juniorjosi,1,37,
+junijoobs,1,37,
+juan_jo,1,37,
+journey_to_the_west,3,37,
+josel,1,37,
+jon_(redtwin),4,37,
+jojo_(coc),4,37,jojo_(corruption_of_champions)
+joeycwolf,4,37,
+jockstrap_pull,0,37,
+jezzlen,1,37,
+jen_(convel),4,37,
+jason_(disambiguation),4,37,jason
+januspeldragon,1,37,
+janslobonejo,1,37,
+james_silvani,1,37,
+james_di_benedetto,4,37,jim_(cnc)
+jam_(kokurou),4,37,
+jakob_(mechanicaldclaw),4,37,
+jake_thorndyke,4,37,
+jak_(boredbun),4,37,jak_(dominus)
+jaiden_animations,4,37,
+jacobgsd,4,37,
+jacksleight,1,37,
+jacko18,1,37,
+jackasss,1,37,
+iyako,1,37,
+itwasscatters,1,37,
+its_cerverus,1,37,
+isabella_mendez,4,37,
+iryanic,1,37,
+iridescent_hair,0,37,
+iradium_piros,4,37,
+internal_organs,0,37,
+instagram_logo,0,37,
+indian_giant_squirrel,5,37,
+inari,4,37,
+in_bucket,0,37,
+impmon_x,5,37,
+ig1119,1,37,
+icky_(chewycuticle),4,37,
+icedragondee_(artist),1,37,
+iaredumbo,1,37,iarensfwo
+i_am_nude,1,37,
+i.v._(ivycomb),4,37,
+huger_smot,1,37,
+hstudios,1,37,
+howler_monkey,5,37,"alouatta,alouattinae,howler_(monkey)"
+how_not_to_summon_a_demon_lord,3,37,
+houndgrey,1,37,
+houkaisp,1,37,
+horton_hears_a_who!_(film),3,37,
+horton_hears_a_who!,3,37,
+horn_ring_(piercing),0,37,
+hoops_(mlp),4,37,
+hooda,5,37,
+holmy_(show_by_rock!!),4,37,
+hollyleaf_(warriors),4,37,
+holding_swimwear,0,37,holding_swimsuit
+holding_shovel,0,37,
+holding_jewelry,0,37,
+holding_hose,0,37,
+holding_doughnut,0,37,
+holding_cheese,0,37,
+hiv,0,37,
+hileksel,1,37,
+higurashi_no_naku_koro_ni,3,37,
+herm_fingered,0,37,
+helena_sif_(elfox),4,37,
+heart_trim_furfrou,5,37,"furfrou_(heart),furfrou_(heart_form),furfrou_(heart_forme),furfrou_(heart_trim),furfrou_heart,furfrou_heart_form,furfrou_heart_forme,furfrou_heart_trim,heart_form_furfrou,heart_forme_furfrou,heart_furfrou"
+head_to_head,0,37,
+hase_popopo,1,37,
+hareluca,1,37,
+harbor,0,37,
+happy_ending,0,37,
+hansel_(101_dalmatians),4,37,
+hands_on_own_calves,0,37,
+hand_on_furniture,0,37,
+hanakatsuo10,1,37,
+hamu_ym,1,37,
+halabaluu,1,37,
+hael,1,37,
+gutsout_(artist),1,37,
+gusana,1,37,
+gundypip,1,37,gundycat
+guiche_ladder,0,37,
+gudao_(fate),4,37,
+gryx,1,37,
+groover,4,37,
+grimms_notes,3,37,
+greydaboy,1,37,
+grey_tentacles,0,37,"gray_tentacle,gray_tentacles,grey_tentacle"
+grey_pillow,0,37,gray_pillow
+grey_chastity_device,0,37,
+green_tattoo,0,37,green_tattoos
+green_seam_briefs,0,37,
+great_izuchi,5,37,
+grandfather_and_granddaughter,0,37,"granddaughter/grandfather,granddaughter/grandpa,granddaughter_and_grandfather,granddaughter_and_grandpa,grandfather/granddaughter,grandpa/granddaughter,grandpa_and_granddaughter"
+grabbing_forearms,0,37,
+gothicskunk,4,37,
+goldie_buckingham,4,37,goldie_bear
+gold_lipstick,0,37,
+goat_vr,3,37,
+gloomyacid,1,37,
+glassjawboxer,1,37,
+glamor,4,37,
+giratina_(artist),1,37,
+giras,5,37,
+giraffid_taur,5,37,
+gigalith,5,37,
+giant_candy,0,37,
+geronimo_stilton,4,37,
+genital_fluids_drip,0,37,
+gav_(ruddrbtt),4,37,
+gatchmon,5,37,
+garuo,4,37,
+gargoyle's_quest,3,37,
+gamzee_makara,4,37,
+gambit_farsight,4,37,
+galvanic_mechamorph,5,37,
+galener,4,37,
+gaby_shiba,4,37,
+fyriwolf666,1,37,
+fyrephase,1,37,
+fuzzybear,1,37,
+fuzzwolf,4,37,
+furiquarter,1,37,
+fuddyblog,1,37,
+frostedwarlock,1,37,
+frostedmountain,1,37,
+frieder1,1,37,
+freckles_on_face,0,37,
+foxygrandpaa,1,37,
+foxteru,1,37,
+four_(bfb),4,37,
+folklore,3,37,
+flyingrotten,1,37,
+floodlight,0,37,
+fliwirrel_(insomniacovrlrd),5,37,
+fleur_(fidchellvore),4,37,
+fleek_feather,4,37,
+flawedspirit,1,37,
+flash_effect,0,37,
+flash_(artist),1,37,
+flappydog_(character),4,37,
+fishnet_panties,0,37,
+fingertips_touching,0,37,
+final_fight,3,37,
+final_fantasy_xiii,3,37,
+filburt_shellbach,4,37,"filburt,filburt_(rml),filburt_(rocko's_modern_life),filburt_(rockos_modern_life),filburt_turtle"
+ferdinand_the_bull,4,37,
+feliccia,4,37,
+feet_on_chest,0,37,
+feedism,0,37,
+fagriel,4,37,
+faetomi,1,37,
+facing_forward,0,37,
+fabi_(fabifox),4,37,
+eyespots,0,37,
+extortion,0,37,
+evolving,0,37,
+evening_dress,0,37,
+eugene_gallardo,4,37,
+estranoh,1,37,
+equine_ears,0,37,
+epickitty_(character),4,37,
+eoki-san_(artist),1,37,
+enormous_(artist),1,37,
+england,0,37,
+ender,4,37,
+emiridian,1,37,
+ember_(blazikem),4,37,
+eliot_fanghanel,4,37,
+elena_(shastakovich),4,37,
+electric_plug,0,37,
+ekihnox,1,37,
+ehomaki,0,37,
+egg_from_mouth,0,37,
+edi,1,37,
+eddie_brock,4,37,
+ear_petting,0,37,
+dwzaafi,1,37,
+dvd_cover,7,37,
+dutch_shepherd,5,37,
+dusklight_(pornwhal),4,37,
+durant,5,37,
+dunkin_kk,4,37,
+duly_(character),4,37,
+dulcinea,4,37,
+ducktales_(1987),3,37,"classic_ducktales,duck_tales_(1987),duck_tales_1987,ducktales_(1987_series),ducktales_1987,ducktales_classic,old_ducktales,original_ducktales"
+duck_hunt_dog_(artist),1,37,
+dtkraus,1,37,
+drawz_art,1,37,
+drawmeaponynamedbob,1,37,
+drawful-s,1,37,
+drakons,4,37,
+dragontim_(character),4,37,
+dragon_quest_xi,3,37,
+dracmon_(survive),4,37,
+draca,4,37,
+dr._mario_(character),4,37,
+dong2fm,1,37,
+don_kennedy,4,37,
+dokuase,1,37,
+doki_adventures,3,37,
+doctor_fauna_(mlp),4,37,
+divine,0,37,
+discordriderr34,1,37,
+dirty-palms,1,37,
+dirt_(st4rsbucks),4,37,
+dirkstridoritos,1,37,
+dire_car,5,37,
+dinosaur_taur,5,37,"dino_taur,dinosaurtaur,dinotaur,saur_taur,saurtaur,saurus_taur,saurustaur"
+dingots,1,37,
+diji_(masterj291),4,37,
+diana_(daredemon7000),4,37,
+dial_m_for_monkey,3,37,
+dexter,4,37,
+deromofo,1,37,
+derelict,1,37,
+demon_costume,0,37,
+democrat,3,37,
+deme_0816,1,37,
+delightful_shiny_pie,1,37,delightfulshinypie
+deepak_(101_dalmatians),4,37,
+decaf,1,37,
+death_grips,3,37,
+deadgirl_neon_rosado,4,37,
+day_with_dna,0,37,
+daskingu,1,37,
+dart_(httyd),4,37,
+darksiders,3,37,
+dark_toes,0,37,
+daring,0,37,
+danielasdoodles,1,37,
+daniela_shepard,4,37,
+dana,4,37,
+dan_bear_(dan_the_bear),4,37,
+dan7821,1,37,
+dallas_burnside_(forestdale),4,37,
+dalek,5,37,
+daisy_train,0,37,
+cyan_cube,4,37,
+cummysonic,1,37,
+cum_on_claws,0,37,
+cum_in_partner's_clothing,0,37,
+crystal_(ajdurai),4,37,
+crocanine,5,37,
+croc:_legend_of_the_gobbos,3,37,
+crackle_(mlp),4,37,
+cora_(cora),4,37,
+commodor-richter,1,37,
+comet_stars,4,37,
+colt_(weaver),4,37,
+college_student,0,37,
+cogs90210,1,37,
+cocodrops_(artist),1,37,
+coco_(picturd),4,37,
+coach_kent,4,37,
+cloudcat,1,37,
+clothing_removed,0,37,
+clothes_rip,0,37,
+clenched_feet,0,37,
+cleateater,1,37,
+cinnamon_(wackywalrus270),4,37,
+church_(reccasenli),4,37,
+chocolate_chip_cookie,0,37,chocolate_chip_cookies
+chocolate_cake,0,37,
+chicken_coop,0,37,
+chibi-depraved,1,37,
+cheese_grater,0,37,
+cheek_spot,0,37,
+chasington,1,37,
+chacal_(character),4,37,
+ch3cooh1231,1,37,
+cervical_prolapse,0,37,
+cayde-6,4,37,
+cattle_prod,0,37,
+casual_ejaculation,0,37,
+caster_nitocris,4,37,"caster_(fate/grand_order_-_nitocris),caster_(fate/grand_order_nitocris),caster_(fate_grand_order_-_nitocris),caster_(fate_grand_order_nitocris)"
+cassandra_cat,4,37,
+casper_(dacad),4,37,
+carnecalary,1,37,
+cardboard_container,0,37,
+caramelix,1,37,
+caracara,5,37,"caracarinae,polyborinae"
+car_trunk,0,37,
+car_hood_pose,0,37,
+captain_eudora,4,37,
+cappuchino,1,37,
+candice_(pokemon),4,37,candice_(pokémon)
+camouflaged,0,37,
+cameroo,1,37,
+calli,1,37,
+caim_(evilfawx),4,37,
+c0sm0,1,37,
+buzz_lightyear_of_star_command,3,37,
+burping_in_face,0,37,
+bunny_(delta.dynamics),4,37,
+bumbleborb,1,37,
+bullzeye,4,37,
+bulky,0,37,
+bulkca1783,1,37,
+bubby,4,37,
+bubblecop,1,37,
+bu2ma,1,37,
+bros_being_bros,0,37,
+bride_of_frankenstein,4,37,frankenstein's_bride
+bree_(bikupan),4,37,
+breath_fog,0,37,
+breast_out,0,37,
+brak,4,37,
+bradley_baedjzer,4,37,
+bottomwear_around_one_leg,0,37,
+borg,5,37,
+booby_trap,0,37,
+boni_(artist),1,37,
+bolt_(fastener),0,37,
+boloid,1,37,
+boiling,0,37,
+body_penetration,0,37,
+boblios,1,37,
+blushmallet,1,37,
+blue_toad,4,37,
+bluari,1,37,
+blossom_(thousandfoldfeathers),4,37,
+bloocarrot,1,37,
+blockman3_(artist),1,37,
+blitzyflair,1,37,
+bleeding_dragon,1,37,
+blazing_dragons,3,37,
+blast,0,37,
+blake_(xenozaiko),4,37,
+blackmesajoe_(artist),1,37,
+blackfreeman,1,37,
+blackbuck,5,37,indian_antelope
+blackarachnia,4,37,
+black_rope,0,37,
+black_mage_(job),4,37,
+black_headset,0,37,
+black_eyepatch,0,37,
+bjyord,1,37,
+bitterjackal,1,37,
+biting_hair,0,37,
+binds,0,37,
+bikhai,4,37,
+bigcat,4,37,
+bigbidoof,1,37,
+big_vein,0,37,
+big_shoes,0,37,
+between_fingers,0,37,
+beth_callaway,4,37,
+besonik,1,37,besonik_(artist)
+beretta_92,0,37,
+benjamin_(fuel),4,37,
+ben_(shiuk),4,37,
+bemmer,4,37,
+belly_fluff,0,37,
+begging_for_sex,0,37,
+beep,0,37,
+beastsauc3,1,37,
+beargarbage,1,37,
+bearafterall,1,37,
+be_gentle,0,37,
+bdsm_suit,0,37,
+barbara_blacksheep,4,37,
+barack_obama,4,37,
+bancho,0,37,
+balloon-quilava,1,37,
+balljob,0,37,
+bakeware,0,37,
+back_toe,0,37,
+azalea_(insomniacovrlrd),4,37,
+avariceprism,1,37,
+autoerotic_asphyxiation,0,37,
+auramargaret,1,37,
+auburn_fur,0,37,
+aubry,4,37,
+atmosphere,0,37,
+athena_(f_draws),4,37,
+asmotheos,1,37,
+ask_dark_molestia,1,37,
+ashitarimai,1,37,
+ashardy,1,37,
+ash_(rksparkster),4,37,
+artybear,1,37,
+arrancar,5,37,
+aroohwahoou,1,37,
+arkross1999,1,37,
+argoth,1,37,
+arcing_light,1,37,
+aqua_(konosuba),4,37,
+anti-venom,4,37,
+anthro_fingering,0,37,
+annabelle_(amboyna),4,37,
+angus_(adios),4,37,
+amumu_(lol),4,37,
+amnesia_creations,1,37,
+ami_(disambiguation),4,37,ami
+alyx_vance,4,37,
+alterise,4,37,
+alma_(zummeng),4,37,
+alistorial,1,37,
+alice_(jamearts),4,37,
+alex_solis,1,37,
+albedo_anthropomorphics,3,37,
+alastor_(featheredpredator),4,37,
+akrennian,5,37,
+aisty_(mancoin),4,37,
+ahriman_harken,4,37,
+agron_u,1,37,
+agnaktor,5,37,
+african_wild_dog_humanoid,5,37,
+adnarai,1,37,
+actini,4,37,
+acidrenamon,4,37,
+a_certain_(franchise),3,37,
+:/,0,37,
+8598:6071,0,37,
+4te,1,37,
+4_talons,0,37,
+/trash/,3,37,
+zuppu11,1,36,
+zu_(rudragon),4,36,
+zs99,1,36,
+zor_(nya4),4,36,
+zoe_(cakeinferno),4,36,
+zodiac-z2,1,36,
+zip_(disambiguation),4,36,
+zeusdex,1,36,
+zettadragon,1,36,
+zephyrmon,5,36,
+zekken,4,36,
+zefirotreddi,1,36,
+zarana,4,36,
+zapper:_one_wicked_cricket,3,36,
+zamtrios,5,36,zamite
+zachseligson,1,36,
+yvette_(vikbys),4,36,
+yurel,4,36,
+yume_nikki,3,36,
+yukito_sinion,4,36,
+yuki_mitsuya_(odd_taxi),4,36,
+yuki-onna,5,36,"yuki-anesa,yuki-musume,yuki-ohna,yuki-onago,yuki-onba,yuki_anesa,yuki_musume,yuki_ohna,yuki_onago,yuki_onba,yuki_onna,yukifuri-baba,yukifuri_baba,yukifuribaba,yukijoro,yukijorō,yukimusume,yukinba,yukiohna,yukionago,yukionba,yukionna"
+ytrall,1,36,
+ysergrin,4,36,
+yonpii,1,36,
+yonachka_doki,1,36,
+yokaiduck,1,36,
+yiwol,1,36,
+yerbabuena,1,36,
+yellow_lightsaber,0,36,
+yellow_blush,0,36,
+yara_(karn_the_wolf),4,36,
+yannit,4,36,
+yairo,1,36,
+yaco_puma_striptease,3,36,
+xiel_milano,1,36,
+xiavier_(cydonia_xia),4,36,
+xeno_(darkfox49),4,36,
+xena_slatesight,4,36,
+xefino,1,36,
+wyldfire7,1,36,
+wrist_warmers,0,36,
+words_worth,3,36,
+wolftapioca,1,36,
+witcher,3,36,
+winterwarning,1,36,
+wing_embrace,0,36,
+windshield,0,36,
+wind_sprint_(mlp),4,36,
+wild_tapioca,1,36,
+what_has_art_done,0,36,
+wenni,1,36,
+weegboi,1,36,
+watermelon_bikini,0,36,
+warpjaw,5,36,
+wambiri,1,36,
+walas21,1,36,
+wake,4,36,
+waiter_suit,0,36,
+vulpesco,1,36,turbosock
+volkcreed,1,36,
+vixy_(artist),1,36,
+vixie_vixen,4,36,
+viper_king,4,36,
+vinicius,4,36,
+vincent,4,36,
+vietnam,0,36,
+video_game_reference,0,36,
+video_game_character,0,36,
+vickyvoo,1,36,
+vhyena,1,36,
+vern_(vernacularshark),4,36,
+vera_(shinori),4,36,
+veoros,1,36,
+velvet_pastry,4,36,
+velociprey,5,36,velocidrome
+veevei,1,36,
+vanessa_(liveforthefunk),4,36,
+vampirella,4,36,
+valuvial,1,36,
+valkoinen_2.0_(character),4,36,
+vaginal_blood,0,36,
+urine_from_mouth,0,36,
+unusual_threading,0,36,
+unusual_taur,5,36,
+uniporno,1,36,
+under_sheets,0,36,
+umbra-b3ar,1,36,
+tzulin,1,36,
+two_tone_necktie,0,36,two_tone_tie
+twin_tail,0,36,
+twig_the_velociraptor,4,36,
+tusk_ring,0,36,
+turuiemon,5,36,
+tuikinito,1,36,
+tt-n,1,36,
+truttle_(character),4,36,
+trixxie_firebush,4,36,
+tristan_(zummeng),4,36,
+trish_(4chan),4,36,
+treniea,1,36,
+translucent_raincoat,0,36,
+transformation_by_fictional_prop,0,36,
+totobun,1,36,
+total_drama_island,3,36,
+torionion,1,36,
+toragoru,1,36,
+topsy_(disney),4,36,
+tonywolf,1,36,
+tongue_on_balls,0,36,
+tomycase,1,36,
+timmy_turner,4,36,timantha_turner
+tigertau,4,36,
+tie-dye,0,36,
+tide_pod,3,36,tide_pods
+tickling_thighs,0,36,
+tickling_breasts,0,36,
+thumb_in_pocket,0,36,
+threskiornithid_humanoid,5,36,
+thighlet,0,36,
+theresa_(paperman),4,36,
+thereaven,1,36,
+thekingbros,1,36,
+theheckinlewd,1,36,
+thebrave,1,36,the_brave
+thea,1,36,
+the_shape_of_water,3,36,
+the_peter_potamus_show,3,36,
+the_neverending_story,3,36,
+the_legend_of_pipi,3,36,
+the_familiar_of_zero,3,36,
+tgee,1,36,
+text_on_toe_ring,0,36,
+terry_(furgeta),4,36,
+tentacletongue,4,36,
+tentacle_sex_in_water,0,36,
+tenjosan,1,36,
+tempest_wolf,5,36,
+temetnosce88,1,36,
+telltale,3,36,
+teeterglance,1,36,
+team_four_star,3,36,
+taystie_park,4,36,
+tayarinne,1,36,
+tapered_tail,0,36,
+tanz,4,36,
+tanya_quille,4,36,
+tan_jacket,0,36,
+tammy_(disambiguation),4,36,
+tak_(aeolus06),4,36,
+tailfro,0,36,
+tail_person,1,36,
+taiko_no_tatsujin,3,36,
+tack_(petokikka),4,36,
+tabby_slime,5,36,
+syri_(tits),4,36,
+syrahfairbairn,1,36,
+sydney_the_shinx,4,36,
+sword-dance,1,36,
+swollen_breasts,0,36,
+sweatysabel,1,36,
+sushipet,3,36,
+surgical_light,0,36,
+supon,1,36,
+sunburn,0,36,
+sunbetch,1,36,
+suggestive_clothing,0,36,
+stunk_hazard,4,36,
+stratocaster,3,36,
+stout,0,36,
+storm_shepherd,4,36,
+stories,3,36,
+sterlingsilver07,1,36,
+steffy-beff,1,36,
+staring_at_penis,0,36,
+star_wars:_the_clone_wars,3,36,
+star_ocean,3,36,
+ss,0,36,
+squeeze_tube,0,36,
+spotty.cat,1,36,
+spotted_salamander,5,36,"yellow-spotted_salamander,yellow_spotted_salamander"
+spitting_drink,0,36,
+spiked_shoulderpads,0,36,
+spiked_hairband,0,36,
+spider-ham,3,36,
+spanking_machine,0,36,
+spam_cat,4,36,
+spacebat,5,36,
+sozoronabi,1,36,
+soulsong_(celestial_wolf),4,36,
+sophie_the_swamp_witch,4,36,
+sonigiraldo,1,36,
+sofakinggood,1,36,
+snoot_challenge,3,36,
+snarf,4,36,
+smolthros,0,36,
+smokey_blokey,1,36,
+smashingrenders,1,36,
+slendytubbies,3,36,
+sleipnir,4,36,
+skylight,0,36,
+skorupi,5,36,
+skooma_whore,1,36,alphaex
+skipping,0,36,
+sister_of_battle,0,36,
+sirokitten,1,36,"sirokitten2,tora_kitten,とらキトン"
+sirmeo,1,36,
+sinamuna,1,36,
+silviara,4,36,
+silvervale,4,36,
+silversketch,1,36,
+silverfang725,1,36,
+silver_(silverlonewolf),4,36,
+sideways,0,36,
+sickle_sword,0,36,
+sibling_lust,0,36,
+shyphorra_(artist),1,36,
+shukin_hekon,4,36,
+shtoltz_(artist),1,36,
+shrapnel_(character),4,36,
+showing_leg,0,36,
+short_loop,0,36,
+shoot_(blackbolt),4,36,
+sho-n-d,1,36,
+shirt_pulled_up,0,36,
+shimakaze_(kancolle),4,36,
+shibakuro,4,36,
+shellyghast,1,36,
+sheeplygoatus,1,36,
+sheepish,1,36,
+sheath_ring,0,36,
+shea,4,36,
+shawn_burrowitz,4,36,
+shardfire,4,36,
+shapeshift,0,36,
+shano_541,1,36,
+shalkaii,4,36,
+shadry-chan,1,36,
+shadownight456,1,36,
+shadow_ieyasu,4,36,
+shadisfaction,1,36,
+shadarrius_(character),4,36,
+shabnack_(artist),1,36,
+sexism,0,36,
+setsubun,3,36,
+sek,4,36,
+seinfeld,3,36,
+seikox,1,36,
+seeds_of_chaos,3,36,
+sculpting,0,36,
+screws,0,36,
+scaleground,1,36,
+sauce-guy,1,36,
+sasha_(jay_wolfe),4,36,
+santa's_little_helper,4,36,
+sanikink,1,36,
+samuel_(renthedragon),4,36,
+sampson_(angrypotato96),4,36,
+samael_(nicoya),4,36,
+sam_rodoric,4,36,
+sam_(samwellgumgi),4,36,
+sam_(braford),4,36,
+sally_(tnbc),4,36,
+salamander_humanoid,5,36,
+sad_cube,4,36,
+sacrament,3,36,
+sabur,4,36,
+ryleth,4,36,
+rumiir,4,36,
+rufus_(powfooo),4,36,
+rubbing_chest,0,36,
+roza_barboskina,4,36,
+roxy_raccoon,4,36,roxy_(peggle)
+roukan,4,36,
+roswell_(password),4,36,
+rosie_(zhanbow),4,36,
+rosaline_(bronx23),4,36,
+roresu,1,36,
+rook_kawa,1,36,
+roberto_(rio),4,36,
+roachelle,1,36,
+ring_binder,0,36,
+rimi_(wittyusername),4,36,
+ricochet,0,36,
+richard_moore,1,36,
+richard_bartrop,1,36,r_j_bartrop
+rice_(artist),1,36,
+rib_(ribera),4,36,
+rfswitched,1,36,
+revad,4,36,
+rest,0,36,
+res_(housepets!),4,36,
+regsmutt,1,36,
+reggie_(mao_mao:_heroes_of_pure_heart),4,36,"reggie_(heroes_of_pure_heart),reggie_(mao_mao),reggie_(mao_mao_heroes_of_pure_heart)"
+redx331,1,36,
+red_sheets,0,36,
+red_(vono),4,36,
+rebecca_chambers_(resident_evil),4,36,
+razumi,4,36,
+rax_zenova,4,36,
+rapist_salandit_(not_a_furfag),4,36,
+ramp,0,36,
+rally_ryder,4,36,
+rakeesh,4,36,
+raiyk,1,36,
+rain_(rain420),4,36,
+raevild,1,36,
+rabin,1,36,
+raaru,4,36,
+qwert,1,36,
+qwell,1,36,
+quilt,0,36,
+questioning_heart,0,36,
+quantum0,1,36,
+putinforgod,1,36,
+purpurrot,1,36,
+purple_pseudo_hair,0,36,
+purple_armor,0,36,
+purple_apron,0,36,
+purenova,1,36,
+pulsemon,5,36,
+pull_up_bar,0,36,
+puffy_cloaca,0,36,
+puck_the_faerie_dragon,4,36,
+prom,0,36,
+priscilla_(zentagas),4,36,
+princess_ella,4,36,
+pride_color_t-shirt,0,36,
+pride_color_pants,0,36,
+pride_color_bracelet,0,36,
+precum_stain,0,36,
+prdarkfox,1,36,prdarkfox_(artist)
+praise_the_sun_(meme),3,36,
+pplover,1,36,
+powerinfinity,1,36,
+power_glove,0,36,
+posnno,1,36,
+ponyparty,1,36,
+pomsky,5,36,
+pole_between_cheeks,0,36,
+pointy_hair,0,36,
+pointing_at_pussy,0,36,
+pog,3,36,
+poetry,0,36,
+pn09,1,36,
+plug_after_use,0,36,
+plow,0,36,
+plasma_cutter,0,36,
+pize,1,36,
+pinching_cheeks,0,36,
+pikapika212,1,36,
+piebald_skin,0,36,pied_skin
+phietto,1,36,
+perinia,1,36,
+perfume_atomizer,0,36,
+pepooni,1,36,
+penis_monster,5,36,
+penis_between_thighs,0,36,
+pearl_earring,0,36,
+pawsy_(my_life_with_fel),4,36,
+paw_on_stomach,0,36,
+paw_mitts,0,36,
+pave,1,36,
+parumpee,1,36,
+palomine,1,36,
+palomap,1,36,
+paiku,4,36,
+pac-man_and_the_ghostly_adventures,3,36,
+owner,0,36,
+owen_(mels_monster),4,36,
+oversized_hoodie,0,36,
+outback,0,36,
+out_of_breath,0,36,
+oukaarts,1,36,
+osiris_(hyenafur),4,36,
+orio_(character),4,36,
+orgasm_from_frottage,0,36,
+orchid_(flower),0,36,
+orange_flower,0,36,
+olonia,4,36,
+oliver_(piercebrosnan),4,36,
+okadu,1,36,
+oiruse,1,36,
+oga_(plus-sized_elf),4,36,
+off_balance,0,36,
+octodontid,5,36,octodontidae
+oberon_(karnal),4,36,
+nyx_(characters),4,36,
+nuka-cola_quantum,0,36,
+nozoku,1,36,
+nova_(starcraft),4,36,
+nose_chain,0,36,
+noscium,1,36,
+nopon,5,36,
+nogard,4,36,
+nodis_node,1,36,
+noah_(ghost_forger),4,36,
+nivarra,1,36,
+niranna,1,36,
+nila_(purplealacran),4,36,
+nikovi_(chasm),4,36,
+nightmare_mangle_(fnaf),4,36,
+nightguard,0,36,
+nico-mo,1,36,
+new_super_mario_bros._u_deluxe,3,36,
+neveen_(kulkum),4,36,
+netherland_dwarf_rabbit,5,36,
+nerdcario,4,36,
+neoxyden,1,36,
+nenwef,4,36,
+nennachan,1,36,
+neboone,1,36,
+nchproductions,1,36,
+navel_tickling,0,36,
+navel_ejaculation,0,36,
+naughtycatnick,1,36,
+nathan_(roushfan5),4,36,
+narse_(character),4,36,
+nara_(masterj291),4,36,
+naomi_fox,4,36,
+nanas_friend,4,36,
+nameless_typhlosion,4,36,
+name_list,0,36,
+myiko,1,36,
+myaxx,4,36,
+myaddib,4,36,
+muzzle_flash,0,36,
+murderer,0,36,
+multicolored_dildo,0,36,
+multi_tone_topwear,0,36,
+mramp,1,36,
+mr._pig_(viroveteruscy),4,36,
+mr._mistoffelees,4,36,
+mouse_cursor,0,36,
+mottled_balls,0,36,
+moonbyrn,1,36,
+monterey_jack_(cdrr),4,36,
+monster_steven,4,36,
+momo_yaoyorozu,4,36,
+mole_on_butt,0,36,
+mochiri,1,36,
+mixterious,1,36,
+miu_vamcat_(character),4,36,
+mitzy_(mitzythebatpony),4,36,
+mith_(mith),4,36,
+missy_(pastelcore),4,36,
+misby,4,36,
+mirtash,1,36,
+minoru,4,36,
+minnie_shoof,4,36,
+milo_(twang),4,36,
+mike_(artist),1,36,
+mikaila_turkleson,1,36,
+microsoft_office,3,36,
+mia_mckibben,4,36,
+merri_(mario),4,36,
+mental_regression,0,36,
+melee_bishop,4,36,
+mega_manectric,5,36,
+mc_(kayla-na),4,36,
+mayte,4,36,
+maya_(omegaozone),4,36,
+maul,0,36,
+matt_hunter,4,36,
+marshall_lee,4,36,
+manticore_(mlp),4,36,
+malka,4,36,
+malga,1,36,
+male_teacher,0,36,
+magenta_(blue's_clues),4,36,
+madoa,4,36,
+madkaiser,1,36,
+mad_mew_mew,4,36,
+m_(doneru),4,36,
+lyra_somnium_(character),4,36,
+lux,4,36,
+lupin_iii,3,36,lupin_the_third
+luna_(thighness),4,36,
+lukabun,1,36,
+luckyruby,1,36,"chocobo_(artist),katui_fah,lucky_kung,lucky_ruby,luckykung,ruby_(artist)"
+luck_of_the_draw_1,3,36,
+luck_(film),3,36,
+lucareon,4,36,
+lou_(dofus),4,36,
+lotuschild,1,36,
+loporrit,5,36,
+looic_(oc),4,36,
+logitech_(character),4,36,
+locktober,3,36,
+lockheedskunk,1,36,
+lobotomy,0,36,
+lluisabadias,1,36,
+lizzard,5,36,
+literaldeerirl,1,36,
+liquorice_black,4,36,
+liquid_cheese,0,36,nacho_cheese
+lip_gloss,0,36,
+lin,4,36,
+lily_(gabbah),4,36,
+lilchu_(character),4,36,
+lil'bun,1,36,
+light_sky,0,36,
+light_mane,0,36,
+light_lips,0,36,
+lift_(disambiguation),6,36,lift
+liea,1,36,
+lewdware,1,36,
+lewdert,1,36,
+letrune,4,36,
+lethe_(eeekay),4,36,
+lemonbat,1,36,
+legs_on_furniture,0,36,
+leg_fluff,0,36,
+leather_cap,0,36,
+leafymyllee,1,36,
+lazy_eye,0,36,
+laying_on_breasts,0,36,
+lawychan,1,36,
+lavenderaraliya,1,36,
+lauri,4,36,
+latex_bodysuit,0,36,
+lapping,0,36,
+lana_(characters),4,36,
+lamm,1,36,"lamm_(artist),lammflaum,lammflaum_(artist)"
+lager_(artist),1,36,
+labrastroodle,1,36,
+l_(l2876),4,36,
+l077,1,36,
+kyoriichi,1,36,
+kyden,4,36,
+kyabetsu,1,36,
+kurtcbrox_(character),4,36,
+kuno_bloodclaw,4,36,
+ku,4,36,
+kriss_vector,0,36,
+kris_(pokemon),4,36,"crystal_(pokémon),kris_(pokémon),marina_(pokémon)"
+kori_(potoobrigham),4,36,
+koori_sirokuma,1,36,
+konkitty,1,36,
+knimzknov,1,36,
+knife_in_mouth,0,36,
+kneeling_over_dildo,0,36,
+kneeling_on_ground,0,36,
+knee_out_of_water,0,36,
+klace_(pokefound),4,36,
+kkhoppang,1,36,
+kizu,1,36,
+kix_(irootie),4,36,
+kitana,4,36,
+kit_darling,4,36,
+kit_(flitchee),4,36,
+kisu-no-hi,1,36,
+kipper0308,1,36,
+kinathefox,1,36,
+kimo,4,36,
+kimi_(caribbean_blue),4,36,
+kim_soohyun,4,36,
+killerwolf1020_(copyright),3,36,
+kilian_alexander_barker,4,36,
+kiba_inuzuka,4,36,
+ki'eruu,4,36,kieruu
+kf_furry_design,1,36,
+kemonogatari,3,36,
+kemono_tk,1,36,
+keebles,1,36,
+keatonnoir,1,36,
+kazukoto,1,36,
+kazie,4,36,
+kazgok,1,36,
+kayla,4,36,
+kawa_(rebouwu),4,36,
+katuro,1,36,
+katalina_molathi,4,36,
+kartana,5,36,
+karl_doberman,4,36,
+karidas_(rexroyale),4,36,
+karen_plankton,4,36,karen_(spongebob)
+karatachi,1,36,
+karasu_akitsuki,1,36,karasu_s
+kaga_(azur_lane),4,36,
+kaenidi,1,36,
+k-dromka,1,36,
+jyu_han,1,36,
+jumping_rabbit,3,36,
+jschlatt,3,36,
+joylewds,1,36,
+joy_(1-upclock),4,36,
+jonesy,4,36,
+jonah_(kiasano),4,36,
+joey_(kokuhane),4,36,
+jin_(mugenjin),1,36,
+jester_outfit,0,36,
+jestal_orccio_(dynamitegrizzly),4,36,
+jessica_(bae),4,36,
+jenny_(insomniacovrlrd),4,36,
+jekerela,1,36,
+jazz,4,36,
+jayce_(jayce0rangetail),4,36,
+jay-lel,4,36,
+jaxxy_fur,4,36,
+janet_(sailoranna),4,36,
+jake_fenton,4,36,
+jake_(jake-dragon),4,36,
+jailed,0,36,
+jade_verdi,4,36,
+jade_catkin,4,36,
+jackhammer,0,36,
+jack_salem,4,36,
+jace_(masterj291),4,36,
+j4kl,1,36,
+ituduki_aaa,1,36,
+ista_(avelos),4,36,
+iro_gomasio,1,36,
+inorog,4,36,
+inkwell_pony,1,36,
+infogrames,3,36,
+indy_jaws,4,36,
+indie_(character),4,36,
+in_heat_(game),3,36,
+implied_breast_expansion,0,36,
+ikorane,0,36,
+ida,4,36,
+ice_bag,0,36,
+ice_age_3,3,36,
+ibis_humanoid,5,36,
+iagu_viron,4,36,
+i2lsx,1,36,
+hypnotherapist,0,36,
+hym_(artist),1,36,
+husko,4,36,
+humongous_entertainment,3,36,
+hula_dancer,0,36,
+huge_size_difference,0,36,
+hubie360,1,36,
+housebroken,3,36,
+hotneon,1,36,
+horny_imp,1,36,
+hopping_gills,3,36,
+honey_pot,0,36,
+holding_tail_up,0,36,
+holding_skirt,0,36,
+holding_sack,0,36,
+holding_heart,0,36,
+holding_candle,0,36,holding_candles
+holding_baby,0,36,
+hockeywolf,4,36,
+hobbit,5,36,hobbits
+himbo_stitch,0,36,
+high_gear_(oc),4,36,
+high_cut_miko_outfit,0,36,
+hiding_pussy,0,36,
+hexapodal,0,36,
+herm_pov,0,36,
+hercules_beetle,5,36,
+helia_(coc),4,36,helia_(corruption_of_champions)
+hecatefroz,1,36,
+heart_sex_toy,0,36,
+heart_legwear,0,36,
+healer,0,36,
+hazeker,1,36,
+haumi,4,36,
+hastegan,1,36,
+hank_(bear_and_breakfast),4,36,
+handles_on_back,0,36,
+handle_bar,0,36,
+hand_in_diaper,0,36,
+halo_(device),0,36,
+hair_jewelry,0,36,
+habu_(duskguard),4,36,
+gyrodraws,1,36,
+gweek,1,36,tesso
+gunso_p,1,36,
+gulp5959,1,36,
+gully_(character),4,36,
+gui_(smuttysquid),4,36,
+greenaline,4,36,
+green_hood,0,36,
+green_helmet,0,36,
+green_armband,0,36,
+graskip,1,36,
+grandfather_clock,0,36,
+gourd_bottle,0,36,
+gomeisa,4,36,
+golden_lion_tamarin,5,36,"gold_lion_tamarin,gold_marmoset,golden_marmoset"
+gold_rings,0,36,
+gold_footwear,0,36,
+gokong,4,36,
+glowing_breasts,0,36,
+glistening_piercing,0,36,shiny_piercing
+glassshine,1,36,
+gladys_(animal_crossing),4,36,
+gladius,0,36,
+gherwinh_riel,4,36,
+georgina_tripplehorn,4,36,
+genista,4,36,
+gau_(pokesona),4,36,
+gaia_(kyvinna),4,36,
+gadthegod,1,36,
+gadsden_flag,0,36,
+g4cruf0,1,36,
+futaba_channel,3,36,
+furryporky,1,36,
+fur_tattoo,0,36,
+funfate,1,36,
+fukami,1,36,
+frozenfangs,1,36,
+frostyphox,1,36,
+front-print_briefs,0,36,
+fritzlesticks,1,36,
+fridge_(crittermatic),4,36,
+freddieindaboxx,1,36,
+foxlove,4,36,
+foxgirl_(glin720),4,36,
+foudubulbe,1,36,
+food_tray,0,36,
+food_stains,0,36,
+fondling_self,0,36,
+fluffyglitch,1,36,
+fluffy_pony,5,36,
+flemaly,1,36,
+fleety_(character),4,36,
+flasher,0,36,
+fireheart,4,36,
+finnish_flag,0,36,
+fenrir_ovekovoy,1,36,
+felicity_(rainbow_butterfly_unicorn_kitty),4,36,
+felicia_(felino),4,36,
+feet_on_belly,0,36,
+feegie,4,36,
+feathered_raptor,5,36,
+fat_hoodie,0,36,
+fast_and_furryious,1,36,
+fansl,1,36,"fansila6,fsl"
+fandom,0,36,
+fake_cat_tail,0,36,
+faith_(daq),4,36,
+faisan_(foxcall),4,36,
+face_punch,0,36,
+f-35,0,36,
+explosive_play,0,36,
+exclusive,0,36,
+eva_unit_01,4,36,
+escalator,0,36,
+eroquis,1,36,
+erma_felna:_edf,3,36,
+erizo,4,36,
+erch_toons,1,36,
+equestrian,5,36,
+ena_(taracod),4,36,
+emerald_(disambiguation),6,36,emerald
+elise_(thedeadwalk89),4,36,
+egretta,5,36,
+eevilish,1,36,
+eduardo,4,36,
+edge_argento,4,36,
+eddy_(eene),4,36,
+ed_(disambiguation),4,36,ed
+dutch_(skweekers),4,36,
+dusty_tomes,4,36,
+dusty_(dustwolf),4,36,
+dust_(dustwolf13),4,36,
+dusky_(oc),4,36,
+dun_(ponehanon),4,36,
+dumari,4,36,
+dull_eyes,0,36,
+du_amae,1,36,
+dsixzey,1,36,
+droll,4,36,
+dr._welps,1,36,
+doxhun,1,36,
+double_sex_toy,0,36,
+double_anal_penetration,0,36,
+dorabase,3,36,
+donny_squirrel,4,36,
+donburikazoku,1,36,
+donation_alert,0,36,
+doll_(character),4,36,
+dochyde,1,36,
+distance,0,36,
+dinosaur_(disney),3,36,
+dinobust,1,36,
+dim333,4,36,
+digestive_fluids,0,36,
+digestion_sequence,0,36,
+didi_(karakylia),4,36,
+dialogue_choice,0,36,
+diaboso,1,36,
+devil_may_cry_4,3,36,
+destijl,1,36,
+delta_(mating_season),4,36,
+del_(matchaghost),4,36,
+deacon_chaos,4,36,
+darylith,4,36,
+darkra,1,36,
+darkgate,1,36,
+darkfangcomics,3,36,
+dark_queen,4,36,
+daragh,4,36,
+dara_(kasdaq),4,36,
+daniel_(lechugansfw),4,36,
+dani_(lysergide),4,36,
+damsel,0,36,
+dalilallana100,1,36,
+czupone,4,36,
+cyrusthecat,1,36,
+cyrus_nightfire,4,36,
+cyra1172,1,36,
+cyberspace,0,36,
+cyancouatl,4,36,
+cyan_stripes,0,36,
+cyan_glans,0,36,
+cum_funnel,0,36,
+cum_container,0,36,
+crown_(usernamecrownisalreadytake),4,36,
+crinos,5,36,
+crime_scene,0,36,
+criegrrunov,1,36,
+crayonchewer,1,36,crayon-chewer
+crashwolf,1,36,
+cooney_(wherewolf),4,36,
+convicted-clown,1,36,"corkyorkyii,monopolymurder"
+complex_markings,0,36,
+commander_torque,4,36,
+collieh,1,36,
+cocofox,1,36,
+cocktail_shaker,0,36,
+cocked_bow,0,36,
+cobar_the_echidna,4,36,
+clyde_(pac-man),4,36,
+clubhouse,0,36,
+cloverleaf_tarragon,4,36,
+clothes_stolen,0,36,
+clara_(bussaca),4,36,
+cissa_(genus),5,36,
+cingal,4,36,
+cinders,4,36,
+chuchodraws,1,36,
+christmas_wreath,0,36,
+christmas_bori,5,36,
+chopsuey_(lilo_and_stitch),4,36,"chopsuey_(l&s),chopsuey_(las),chopsuey_(lilo_&_stitch),chopsuey_(stitch),experiment_621"
+chocobo_taur,5,36,
+chiroina,1,36,
+chip_(pickles-hyena),4,36,
+chico110,1,36,
+chezza,4,36,
+chewing_gum,0,36,
+cherno_(sarkethus),4,36,
+chemrat,4,36,
+chelsea_(meesh),4,36,
+cheese_slap,3,36,
+cheeky_(roommates),4,36,
+chatski,1,36,
+chara_(coalava),4,36,
+chano_(character),4,36,
+chameli_muthupalaniappan,4,36,chameli_(ritts)
+celine_(cuddlesong),4,36,
+caveira,4,36,
+cave_painting,0,36,
+catfistingparty_(artist),1,36,
+cataxdrk2020,1,36,
+catahoula,5,36,
+cassandra_(cd),4,36,
+cashmere_(cashmerix),4,36,
+carl_(thecosmicwolf33),4,36,
+cardinal_screen,1,36,
+cardfight!!_vanguard,3,36,cardfight_vanguard
+captricosakara,1,36,
+candace_flynn,4,36,candace_(phineas_and_ferb)
+caius,4,36,
+caelacanthe,1,36,
+byron_howard,1,36,
+byleth_(fire_emblem),4,36,
+byakko_(yu_yu_hakusho),4,36,
+butter_knife,0,36,
+bullydog,1,36,
+buchi,4,36,hirata_tadakatsu
+brutus_(pixie_and_brutus),4,36,
+bruhboi69,1,36,
+brown_sandals,0,36,
+brown_neckerchief,0,36,
+brown_goggles,0,36,brown_googles
+brooke_(gbg),4,36,
+bronzor,5,36,
+bronze,0,36,
+broken_mirror,0,36,
+bremen_avenue_experience,3,36,
+bree_(junk_planet),4,36,
+breaking_the_rules,0,36,
+brass_(medabots),4,36,
+brandon_(rxccoon),4,36,
+bran_(mitarashi),4,36,
+bradley_(dempsey),4,36,
+brace,0,36,
+bowling_alley,0,36,
+bonsly,5,36,
+boait,1,36,
+bluesxx,1,36,
+bluestar,4,36,
+blueclayman,1,36,
+blueblu,1,36,
+blue_headphones,0,36,
+blue_chair,0,36,
+blossoms,0,36,
+bloodstain,0,36,
+blood_stains,0,36,
+blood_everywhere,0,36,
+bloobiesus,1,36,
+blitz_games,3,36,
+blenafee_(keroro623),4,36,
+blanche_(animal_crossing),4,36,
+black_skull,0,36,
+black_knee_socks,0,36,
+black_backpack,0,36,
+bitting_lip,0,36,
+biskit_(animal_crossing),4,36,
+biscuit_(bizkit),4,36,
+bird_taur,5,36,
+bilberryfryst,4,36,
+betty_boop,4,36,
+beth_oakem,4,36,
+berriessparrowmouse,1,36,
+benign_light,1,36,
+belphemon_(rage_mode),5,36,
+bella_(screwroot),4,36,
+bell_gargoyle,4,36,
+bede_(pokémon),4,36,bede_(pokemon)
+beau_555,1,36,
+beastmaster,1,36,
+beast_mode,0,36,
+bastianmage,1,36,
+baronflint,1,36,
+bare_hands,0,36,
+banana_hammock,0,36,
+ballgagged,0,36,
+balder_(phoenix0310),4,36,
+bakvissie,1,36,bakvissie_(artist)
+bakura_(kitty_pride),4,36,
+baker,0,36,
+bakeneko,5,36,
+baelz_hakos,4,36,
+babysp00ks,1,36,
+aymint,1,36,
+axton_(ns22),4,36,
+avante_(character),4,36,
+ava,4,36,
+aurasai,4,36,
+atelier_(series),3,36,
+assless_pants,0,36,
+assistant_(nobody147),4,36,
+ass_blush,0,36,
+askscissortwilight,1,36,
+askatrash,4,36,
+askalin,1,36,andrejskalin
+ashley_blackwood,4,36,
+artsy-rc,1,36,
+artesderatzyu,1,36,
+art_progression,0,36,
+arsinoe,4,36,
+arm_flailing,0,36,
+arm_bent,0,36,
+arc_reactor,0,36,
+apimpnamedcheerilee,1,36,
+aphrodite_the_absol,4,36,
+anthro_on_semi-anthro,0,36,
+antar,4,36,
+ankle_bow,0,36,
+animal_abuse,0,36,
+angel_(wazzaldorp),4,36,
+andaluce,1,36,
+anal_probe,0,36,
+amoonguss,5,36,amoongus
+american_shorthair,5,36,
+amber_abbadon_lang,4,36,
+amanda_scratch,4,36,
+alperion,4,36,
+alluringcryptid,1,36,
+allosaurex,1,36,
+alistair_(kadath),4,36,
+alice_(waffl3sk4t),4,36,
+alexander_lynx,1,36,
+alexander_(mila.moraes),4,36,
+alert,0,36,
+alekksandar,1,36,alekksandar_(artist)
+aldgoat,5,36,
+alba_(blackfox85),4,36,
+alazak,1,36,
+alaskan_klee_kai,5,36,"alaskan_klee-kai,klee-kai,klee_kai"
+akibarx,1,36,
+akatadobuchiki,1,36,
+ajuka,1,36,
+aisuroma,1,36,
+air_puff,0,36,
+aiming_weapon,0,36,
+aife,4,36,
+ahundred,1,36,
+agralewyn,4,36,
+agidyne,1,36,
+against_pole,0,36,
+aeva_risis,1,36,
+aerosocks,1,36,
+aero_vonheart,4,36,
+aero_novara,4,36,
+adrien_maltoan,4,36,
+adleisio_(character),4,36,
+adeptus_astartes,0,36,
+adalfyre,1,36,adalfyre_(artist)
+abagail_cutersnoot,4,36,
+aaron_(bino668),4,36,
+1_fang,0,36,
+12:17,7,36,
+00kaori00,1,36,
+zylo_(zylothefusky),4,35,
+zyfoh,1,35,
+zotz,1,35,
+zoological_illustration,0,35,
+zombie_piglin,5,35,zombie_pigman
+ziyane,1,35,
+zetaxen,1,35,
+zeroitamae,4,35,
+zeal_raegus,4,35,
+zarniwoop,1,35,
+yuuichi_michimiya,4,35,
+yuu_h,1,35,
+yumi_(samechankawaii),4,35,
+yukras_abyss,1,35,
+yukiashi,4,35,
+young_adult,0,35,
+yoo_oona,1,35,
+yev-san,1,35,
+yellow_pillow,0,35,
+yellow_knot,0,35,
+yellow_jewelry,0,35,
+yayoihara,4,35,
+yak_humanoid,5,35,
+yaiba_(show_by_rock!!),4,35,
+y_incision,0,35,
+y5_(adventure_time),4,35,
+xxxbiliwinxxx,1,35,
+xero,1,35,
+xenon50mm,1,35,
+xarr,1,35,
+xan_camroth,4,35,
+wyatt_(wyatttfb),4,35,
+wool_clothing,0,35,
+woodstock_(peanuts),4,35,"woodstock_(charlie_brown),woodstock_(snoopy)"
+wood_crate,0,35,
+wolkewolf_(artist),1,35,
+wolftea42,1,35,
+wolfespada,1,35,strawberry_creme_goodra
+wolf_midna,4,35,
+wobbleblot_(artist),1,35,
+witcherbird,1,35,
+wishiwashi_(solo_form),5,35,
+winter_(nohmad),4,35,
+winston_(vaanxdragon),4,35,
+wing_size_difference,0,35,wings_size_difference
+wimbocs,1,35,
+wilderlove,1,35,
+wiitchguts,1,35,
+wide_waist,0,35,
+white_cape,0,35,
+whatsapp,3,35,
+weresciurid,5,35,weresquirrel
+wax_seal,0,35,
+war-bird,3,35,
+walnut225,1,35,
+wall_socket,0,35,
+walks-in-shadows_(lorzid),4,35,
+wakeful,4,35,
+voraciousollie,1,35,
+vonna_yar,4,35,
+volsar,4,35,
+voirath,1,35,
+vilka,4,35,
+victoriadaedra,1,35,
+ventress,4,35,
+venti_(genshin_impact),4,35,
+velvetdelusion,1,35,
+veiukket,1,35,
+veil_heartwood,4,35,
+vasta,4,35,
+vapebrowoeon,1,35,
+vans,3,35,
+vanita,4,35,
+vanellope_von_schweetz,4,35,
+valu,1,35,
+vakama,4,35,
+usashiro_mani,1,35,
+unwilling_vore,0,35,
+unusual_anus,0,35,
+unseen_undressing,0,35,
+unflared,0,35,
+underwear_wetting,0,35,
+underneath,0,35,
+unauthorized_edit,0,35,
+umbra_talons,4,35,
+ulven-f,1,35,
+uitinla,1,35,
+udontarai,1,35,
+tynamo,5,35,
+twinkleshine_(mlp),4,35,twinkle_shine_(mlp)
+twilightsaint,1,35,
+tweak,4,35,
+tusky,4,35,
+turned_away,0,35,
+tudduls,1,35,
+tt_(marcus_of_the_cloud_forest),4,35,
+tsunotori_pony,4,35,
+tsugumi_(shiredo),4,35,
+triangular_ears,0,35,
+trem_trrn,1,35,
+transportation,0,35,
+transformation_through_masturbation,0,35,
+tracey_volt_(swordfox),4,35,
+toy_block,0,35,
+touching_foot,0,35,
+torvid,4,35,
+torushitakara,1,35,
+torata3220,1,35,
+topless_to_nude,0,35,
+topazxwolf,1,35,
+tomi_(arino),4,35,
+toki,4,35,
+toei_animation,3,35,
+tobitobi90,1,35,
+toba_hiyoko,1,35,
+titankerberos,1,35,
+titan_(attack_on_titan),5,35,
+tira_dovi,4,35,
+tinkerwing_(sirholi),4,35,
+timmothy_arts,1,35,
+three_tone_face,0,35,
+this_big,0,35,
+thick_knot,0,35,
+thestarwarrior,1,35,
+these_are_all_cakes,3,35,
+therizinosaurid,5,35,
+thepainfultruth,1,35,
+thenamesmel,3,35,
+thelivingshadow,1,35,
+the_last_of_us_part_ii,3,35,
+the-wizard-of-art,1,35,
+thaismotosuwa,1,35,
+tgab,1,35,
+text_on_armwear,0,35,
+teren,4,35,
+tense,0,35,
+teenage_mutant_ninja_turtles_(2014),3,35,tmnt_2014
+teck,4,35,
+tattanbu,1,35,
+tasha_(nightfaux),4,35,
+tarquon,4,35,
+tan_boots,0,35,
+tammy_(worldf0x),4,35,
+tamashii,4,35,
+takenokogohan,1,35,
+tailskemon,4,35,
+tail_scar,0,35,
+tail_around_body,0,35,
+tabo_bear,1,35,
+tablekat,4,35,
+syo_you9,1,35,
+synth_(hax),4,35,
+swan_boat,0,35,
+svana_blackheart,4,35,
+sv3n,1,35,
+suzumaru,1,35,
+suspended_sex,0,35,
+suppository,0,35,
+superjail!,3,35,
+super_shadow,4,35,
+super_famicom_controller,0,35,
+sunny_(gf),4,35,
+suicide_squad,3,35,
+sui_(live-a-hero),4,35,
+succubus_costume,0,35,
+succ_the_succubus,4,35,
+su_(drawholic),4,35,
+styx_(of_orcs_and_men),4,35,
+stx70,1,35,
+stuck_feet,0,35,
+stripper_clothes,0,35,
+stretched_out_leg,0,35,
+strawberry_cheesecake_(glacierclear),4,35,
+stomach_ache,0,35,
+stew,0,35,
+steve_scriggins,4,35,
+stella_(cornchip21),4,35,
+stella_(aoino),4,35,
+stealthing,0,35,
+stated_price,0,35,
+staring_down,0,35,
+starhell,3,35,
+standing_behind,0,35,
+stained_underwear,0,35,
+squirting_sex_toy,0,35,
+squeaky,4,35,
+sprout_(plant),0,35,
+sprinkles_(thehoneybutter),4,35,
+spoony_(spoonyfox),4,35,
+splice_(artist),1,35,
+splat,0,35,
+spiralart_(artist),1,35,
+spicyteggy,1,35,
+spicykiwi,1,35,
+speech_emanata,0,35,
+species_name_in_narration,0,35,
+spaicy_chicross,4,35,
+space_core_(portal),4,35,
+soulstealer666,1,35,
+soulfire,4,35,
+soulasexypanda,1,35,
+soul_(undertale),4,35,
+sos_or_loss,1,35,
+sonic_colors,3,35,
+sonia_(blackmist333),4,35,
+sometimessmuthappens,1,35,
+soldier_76_(overwatch),4,35,
+soldering_iron,0,35,
+solana_(onefattycatty),4,35,
+sofia_(maikeru),4,35,
+snuggle_bunny,4,35,
+snow_balls,0,35,
+snorkmaiden,4,35,the_snork_maiden
+smoosho,1,35,
+smokeforears,1,35,
+smoke_pipe,0,35,
+smaller_maleherm,0,35,
+small_eyebrows,0,35,
+small_chest,0,35,
+smagloosh,1,35,
+slug_(wattchewant),4,35,
+slender_body,0,35,
+sleeve_dress,0,35,
+sleeve,0,35,
+slapstick,0,35,
+slang,0,35,
+skyversa,1,35,
+skylight_(artist),1,35,
+skylar_(swayzie),4,35,
+skittles_(candy),3,35,
+skippyarts,1,35,
+skin_deep,3,35,
+sitting_on_pillow,0,35,
+sirocco_(daikuhiroshiama),4,35,
+sirius_hoshi_s,1,35,
+sirikakire,1,35,
+sir_kavalier,4,35,
+sinfullysweet-tea,1,35,
+sinclare,4,35,
+silviaxrk,1,35,
+silverwing_(series),3,35,
+silk_dancing,0,35,ribbon_dancing
+sigrid_(loneclaw),4,35,
+shuki,4,35,
+shukaku,4,35,
+shows-his-scales,4,35,
+shota_equine_(marimo),4,35,
+shojiku,1,35,
+shoe_dangle,0,35,
+shmorky,1,35,dave_kelly
+shiyusu,1,35,"syus00,しゆす"
+shirokumani,1,35,
+shiraha_(no.1_machine),4,35,
+shinymagpie,1,35,
+shinji_ikari,4,35,"ikari_shinji,shinji_(evangelion)"
+shiiorina,1,35,
+sheriff_callie's_wild_west,3,35,sheriff_callies_wild_west
+shepherdart,1,35,
+sheena_falafel,4,35,
+sharkieee,1,35,
+shanutaka,1,35,
+shanaa,4,35,
+shan_chui_cha_(ffjjfjci),4,35,
+sha'an,4,35,
+sexykid,1,35,
+serina_(twistedlilheart),4,35,
+seraphim,1,35,
+sen_(mewgle),4,35,
+selina,4,35,
+seismic,1,35,
+seiryuuden,1,35,
+seelena_zorn_(iskra),4,35,
+sealed,0,35,
+scyler,4,35,
+scleriteaeaeaggadah,4,35,
+schwarzfox_(character),4,35,
+schwarz_(arknights),4,35,
+schnuffelinchen,4,35,
+scavy,1,35,
+scarlet_witch,4,35,
+sasha_(disambiguation),6,35,sasha
+sarah_(nb),4,35,
+sarah_(naughtymorg),4,35,
+sapphire_(wallooner97),4,35,
+sapphicwetpanties,1,35,
+sapphicneko,4,35,
+sandra_lionheart,4,35,
+sandra_(shave_n_haircut),4,35,
+samanthaweltzin,1,35,
+sakatagintoki117,1,35,
+saja1222,1,35,
+saiya_darkfire,4,35,
+s00t,1,35,
+ryuzka,1,35,
+ryuusei,4,35,
+rykin,4,35,
+russell_(xaus32),4,35,
+rura,1,35,
+roy_(fuze),4,35,
+roxy_(inkyfrog),4,35,
+rovoska,4,35,
+rose_(h2o2),4,35,
+roronoa_zoro,4,35,
+rogue_(marvel),4,35,rogue_(x-men)
+rockhopper_penguin,5,35,rockhopper
+rochestedorm,1,35,
+riptor,4,35,
+ringstudios,1,35,
+ringo_(scrublordman),4,35,
+ringing_bell,0,35,
+ringel,5,35,
+ring_eyes,0,35,
+rimi_(triuni),4,35,
+rilohn,4,35,
+ridgeback_dragon,5,35,
+rickter_stonesong,4,35,
+restrained_by_tentacles,0,35,
+rena_(kitfox_crimson),4,35,
+remy_(ketzio_and_gbb),4,35,
+remu-kun,4,35,
+rel_(nitramhu),4,35,
+reinhardt_(overwatch),4,35,
+reflective_clothing,0,35,
+redjet00,1,35,
+red_headkerchief,0,35,
+red_(redxbacon),4,35,
+red_(reddeadfox),4,35,
+raziel,4,35,
+raven_gardevoir_(ashraely),4,35,
+randomdud,1,35,
+randal_otomo,4,35,
+raine_(rainedog),4,35,
+rainbow_horn,0,35,rainbow_horns
+rain_(purplebird),4,35,
+raidy,4,35,
+ragscoon,4,35,
+radiant_glow,4,35,
+rachel_meeks,4,35,
+rabid_(webcomic),3,35,
+quetzal_(dragon_tales),4,35,
+queen_of_hearts_(card),0,35,
+quadruple_vaginal,0,35,
+quackrobo,1,35,
+qetesh,4,35,
+pussymon,3,35,
+pusheen_corp,1,35,
+pursuers_(outer_wilds),5,35,
+purple_condom,0,35,
+punch_bowl,0,35,
+pulling_shirt,0,35,
+pulled_pants,0,35,
+puddlepup,1,35,
+pteryon,1,35,
+psi,4,35,
+promotional_art,0,35,
+probopass,5,35,
+print_boxers,0,35,
+princess_of_moonbrooke,4,35,
+princess_alicia_acorn,4,35,
+pride_color_headwear,0,35,"pride_colors_headwear,pride_colour_headwear,pride_colours_headwear,pride_flag_headwear,pride_headwear"
+power_cord,0,35,
+portapotty,0,35,
+porsche,3,35,
+pork_butt,3,35,
+pokémon_art_academy,3,35,pokemon_art_academy
+pokoemon_(character),4,35,
+poffin,0,35,
+platinum_fox,0,35,
+plating,0,35,
+plaque,0,35,
+pixyfox23,1,35,
+pinkpunk95,1,35,
+pink_bracelet,0,35,
+pikachu_onesie,0,35,
+pihlaja,1,35,
+phessian,5,35,
+phatmewtwo,1,35,
+phantom_foxy_(fnaf),4,35,
+peter_(petafoster),4,35,
+pepin_(keke),4,35,
+peggy_lamb,4,35,
+peacock_(skullgirls),4,35,
+peachy-pudding,1,35,
+payday_(series),3,35,
+paw_on_butt,0,35,
+patxi_(fate),4,35,
+paradox,0,35,
+paprika_(pixelsketcher),4,35,
+paper_demon,1,35,paperdemon
+pantsuneko,1,35,
+panman11293,1,35,
+pancakebunny,1,35,
+pale-skinned_female,0,35,
+painting_body,0,35,
+paint_tool_sai,3,35,
+pablo_(pcraxkers),4,35,
+oversized_console,0,35,
+overlord_(game),3,35,
+ovens,1,35,
+otterface,4,35,
+ornithomimid,5,35,
+orctober,0,35,
+orcaxdragon,1,35,
+orbitpaws,1,35,
+orange_bow,0,35,
+open_underwear,0,35,
+open_top,0,35,
+open_skirt,0,35,
+oot,1,35,
+onyx_(ner0_kobold),4,35,
+onikisu,4,35,
+oneflymagpie,1,35,
+on_blanket,0,35,
+omen_(elden_ring),5,35,
+oinu-chan_(hanadaiteol),4,35,
+oily,0,35,
+ofuda_on_pussy,0,35,
+o-ring_swimsuit,0,35,
+nyankyun540,1,35,
+nuria_bernat,4,35,
+nt6969,1,35,
+not_texmex,1,35,
+noodlefreak88,1,35,
+nokoppa,1,35,
+nicroxes_(thony_dog),4,35,
+nero_(leobo),4,35,
+nereida,4,35,
+nekoshiba,1,35,jenafterdark
+neighbor,0,35,
+nei_(neytirix),4,35,
+neenbeanmachine,1,35,southerwigwam
+necromuncher,1,35,
+neck_piercing,0,35,
+nba,3,35,
+natural_disaster,0,35,
+natsuminyan,1,35,
+natasha_onyx,4,35,
+naraku_kimura,4,35,
+naomi_(r-mk),4,35,
+nanntaro,1,35,
+naked_twister,0,35,
+n64_(artist),1,35,
+mutsuki_(azur_lane),4,35,
+musimon,5,35,
+mulvan_treehugger,4,35,
+multicolored_tail_accessory,0,35,
+mugicaan1,1,35,
+mrkatman,1,35,
+mrardilla,1,35,nobody47
+mr_baton,1,35,
+mr._stanley,4,35,mr_stanley
+mr._pickles_(series),3,35,
+mozu_(gigantic),4,35,
+mottled_scales,0,35,"mottle_scale,mottle_scales,mottled_scale"
+motobug,5,35,
+mostly_nude_humanoid,0,35,
+mortar_and_pestle,0,35,
+morningpanda,1,35,
+moofah,5,35,moofa
+monta_(beartouma_0517),4,35,
+monsters_and_mutants,1,35,
+monotone_beard,0,35,
+monoth,1,35,
+monorchid,0,35,
+monochrome_kg,1,35,
+monica_(halbean),4,35,
+mongor,4,35,
+momo_(kiichi),4,35,
+molly_(kionant),4,35,
+mohg_lord_of_blood,4,35,
+missy_(pigburger),4,35,
+missile_launcher,0,35,
+miso-roll_(artist),1,35,
+misery,0,35,
+mirvanna,4,35,
+mini_comic,0,35,
+minacream,1,35,
+milly_(millcore),4,35,
+milki_max,4,35,
+milk_puddle,0,35,
+milftails,4,35,
+micset,4,35,
+mick,4,35,
+meushi_mattie_(matsu-sensei),4,35,
+metaletemon,5,35,
+mesidukainumaru,1,35,
+meru_(meru),4,35,
+melon22,1,35,
+melman_mankiewicz_iii,4,35,"melman_(madagascar),melman_mankiewicz,melman_mankiewicz_the_3rd,melman_mankiewicz_the_third,melman_the_giraffe"
+melieconiek,1,35,
+meisan0107,1,35,
+mega_medicham,5,35,
+mega_man_legends,3,35,
+mechanical_jaws,1,35,
+mechaclank,1,35,
+mecha_musume,0,35,
+maya_(ironkongstudios),4,35,
+mawliet,1,35,
+maverick_chocobo,4,35,
+mauricio,4,35,
+maulnarch_blooderfly,1,35,
+matt_lion,4,35,
+matixcs,1,35,
+massage_oil,0,35,
+masking_(artist),1,35,
+masa_(masamune),4,35,
+marya,4,35,
+maro,1,35,
+marius_(mynka),4,35,
+mariachi,0,35,
+marcyandmathy,1,35,
+marcus_(orbitalis),4,35,
+maple_(limebreaker),4,35,
+maple_(cyancapsule),4,35,
+many_eyes,0,35,
+mangybones,1,35,
+manaita,1,35,
+mametchi,5,35,
+mame_taro,1,35,
+maleherm_penetrating_herm,0,35,mh/p/h
+maishida,1,35,
+maia_(ipoke),4,35,
+mai_(kitty_pride),4,35,
+maggie_hudson,4,35,
+machina,1,35,
+lydus_(fingarfin),4,35,
+lyanti,1,35,
+lust_from_afar,3,35,
+lurry,1,35,
+luraknot,1,35,
+lupelle_drei,4,35,
+lunooky,1,35,
+lunatic_pangolin,1,35,
+luki13lol,1,35,
+luke,4,35,
+lucky_charms,3,35,
+lucioro,1,35,
+lubed,0,35,
+lu,4,35,
+lovely_mawile,1,35,
+love_live!,3,35,
+lostspotschee,1,35,
+losing_health,0,35,
+lora_mclaren,1,35,
+looking_over,0,35,
+looking_at_chest,0,35,
+longging,1,35,
+long_limbs,0,35,
+lola_(ashnar),4,35,
+lobo_serchwolf,1,35,
+lizab,1,35,
+living_scarecrow,5,35,
+living_cock_sleeve,0,35,
+litter,0,35,
+lit_cigarette,0,35,
+linzer_(artist),1,35,
+lincugunnis,1,35,
+limpurtikles,1,35,
+lila_becker,4,35,
+liina_(aruurara),4,35,
+lexy_(coachman),4,35,
+lexidia,4,35,
+lewdhorses,1,35,
+leokatana,1,35,
+leo_(leo_llama),4,35,
+leo's_mother_(vg_cats),4,35,
+lemonspark_nwt,1,35,
+lehran,4,35,
+legomorph,5,35,
+leg_bracelet,0,35,
+lee_(wherewolf),4,35,
+lederhosen,0,35,
+lani_(laniii),4,35,
+lang_yus,1,35,
+lando_mcflurry,4,35,
+laluka,4,35,
+laharl,4,35,
+lactating_in_cup,0,35,
+la_brea,4,35,
+kula,4,35,
+kralex_(artist),1,35,
+konu_eikuku_hentaru,1,35,
+knot_in_mouth,0,35,
+klem_hessit,4,35,
+kiyana_(marcodile),4,35,
+kitty_(averyshadydolphin),4,35,
+kitana_(unhappy_raccoon),4,35,
+kingdom_hearts_3,3,35,
+kimsan-stuff,1,35,
+kilala_lyko,4,35,
+kibi_(beastars),4,35,
+kiba_(wolf's_rain),4,35,kiba_(wolfs_rain)
+kib,4,35,
+keno9988,1,35,
+kemomoz,1,35,
+kelevra,4,35,
+kelda_(akairiot),4,35,
+keilink,1,35,
+kaysa,1,35,
+kayiko,1,35,
+kaydex,4,35,
+katrina_(animal_crossing),4,35,
+katiramoon,1,35,
+kat_(iseenudepeople),4,35,
+kasumi_(doa),4,35,
+kasdraws,1,35,cko
+karma_(torquewintress),4,35,
+karma_(kuroodod),4,35,
+karen_star,4,35,
+karamimame,1,35,
+kalkaph,4,35,
+kalahari_(character),4,35,
+kain,4,35,
+kai_kageo,1,35,
+kage,4,35,
+kaerfflow,1,35,
+k1ko,1,35,
+justwusky,4,35,
+justirri,1,35,
+justiceposting,1,35,
+justausernamesfm,1,35,
+junk_(desbjust),4,35,
+jun_(scj),4,35,
+jouigidragon,1,35,
+jonathan_stryker,4,35,
+joao_(joaoppereiraus),4,35,
+jasper_(jewelpet),4,35,jasper_(jewel_pet)
+jason_(joushi),4,35,
+jasmine_isis,4,35,
+jaquelindreamz,1,35,
+japananon,1,35,
+james_(w01fy),4,35,
+jaimeprecoz,1,35,
+jaguarundi,5,35,eyra
+jae_(comatose),4,35,
+jadedragoness,1,35,
+jackthekipper,3,35,
+jackiepancoon,1,35,
+jack_mauer,4,35,
+ivory_(derideal),4,35,
+ivolein,1,35,
+itty-bitty_(artist),1,35,
+isismasshiro,1,35,
+isabel_(doctorartemis),4,35,
+iri-neko,1,35,
+ino_yamanaka,4,35,yamanaka_ino
+inkyblot,1,35,
+inkay,5,35,
+indochinese_green_magpie,5,35,"yellow-breasted_magpie,yellow_breasted_magpie"
+indigo_cho,1,35,
+indigo_bunting,5,35,
+indigo,4,35,
+indian_flying_fox,5,35,"greater_indian_fruit_bat,indian_fruit_bat"
+india,0,35,
+incubus_(project_x),4,35,
+in_bottle,0,35,
+in_bag,0,35,
+igriega,1,35,
+ieyasu,1,35,
+ibukemono,1,35,
+ibispaintx,3,35,
+hyper_precum,0,35,
+hyenahyena,1,35,
+huxiaomai,1,35,
+hulksmash31_(artist),1,35,
+hulksmash31,1,35,
+hueroc,4,35,
+howllie,1,35,
+hot_beverage,0,35,
+hope_brielle,1,35,
+hoof_piercing,0,35,
+holly_hollister,4,35,
+holland_lop,5,35,
+holding_both_calves,0,35,
+hiroyuki_setogawa,1,35,
+hippowdon,5,35,
+hippiewolf,1,35,
+hinoraito,1,35,
+hindhoof,0,35,
+hikaru,4,35,
+hidden_mudkip,1,35,
+hiad,1,35,
+hey_kid_ever_had_ya_dick_sucked,3,35,
+heralds_of_the_avirentes,3,35,
+henjikotetsu,1,35,
+hemlockgrimsby,1,35,
+helga_vanilla,4,35,
+height,0,35,
+hedi_(echodot),4,35,
+hedgewolf,5,35,
+heavy_bottom,0,35,
+heart-shaped_princess_plug,0,35,
+hazyblackcat,1,35,
+hazel_dormouse,5,35,common_dormouse
+hayhorse,1,35,
+hatzu,4,35,
+hato_the_collie,4,35,
+harmony_(splatoon),4,35,paruko
+harddegenerate,1,35,
+hand_feet,0,35,
+hadalen_magic,0,35,
+h0y0n,1,35,
+gwen_(frisky_ferals),4,35,
+gun_play,0,35,
+gummi,4,35,
+gumbahgoo,1,35,
+gui_(character),4,35,
+group_portrait,0,35,
+gripping_penis,0,35,
+grinning_at_viewer,0,35,
+grey_wool,0,35,gray_wool
+grey_mask,0,35,gray_mask
+grey_goo,0,35,
+greg_universe,4,35,"greg_(steven_universe),gregory_demayo,gregory_greg_demayo,gregory_greg_universe,gregory_universe"
+green_knot,0,35,
+green_insides,0,35,
+green_antlers,0,35,
+grass_plain,0,35,
+goshhhh,1,35,
+gooeykazoo,1,35,
+goner_kid,4,35,
+gondwanagod,1,35,
+goblin_girl,4,35,
+goatdraw,1,35,kkyattyu
+glowing_mane,0,35,
+glowing_collar,0,35,
+glow_bracelet,0,35,
+glistening_headwear,0,35,shiny_headwear
+glenn_(chrono_trigger),4,35,"frog_(chrono_trigger),glen_(chrono_trigger),gren_(chrono_trigger),grenn_(chrono_trigger),kaeru_(chrono_trigger)"
+gigi_(mario),4,35,
+gigginox,5,35,
+gigachad,4,35,
+gift_wrapping,0,35,
+ggu_open,1,35,
+geumsaegi,4,35,
+george_lundgren,4,35,
+geb,4,35,
+gas_canister,0,35,
+garion,4,35,
+ganger,4,35,
+gamukami,1,35,がむかみ
+fuyu,1,35,
+furronymous,1,35,
+furrine,1,35,
+funko_pop!,3,35,
+fundoshi's_day,3,35,
+fully_clothed_to_mostly_nude,0,35,
+froggy_chair,0,35,
+frillious,1,35,
+frihskie,1,35,
+frfr,1,35,
+foxicube,1,35,
+foxglove_(roommates),4,35,
+fox_lee,1,35,
+fox7,1,35,
+foulard,0,35,
+forced_to_undress,0,35,
+forced_oviposition,0,35,
+flying_pig,5,35,"pigasus,winged_pig"
+fluzzbuzz,1,35,
+flower_on_tail,0,35,
+flower_knight_dakini,3,35,
+floor_mat,0,35,
+flight_goggles,0,35,
+flayre,4,35,
+flats,0,35,
+flan_(puppyemonade),4,35,
+fizwack,1,35,
+fire_eyes,0,35,
+fio_(pandashorts),4,35,
+feralkuro,1,35,
+feral_to_humanoid,0,35,
+feral_prosthetic_limb,0,35,
+feral_prosthetic_leg,0,35,
+felix_kjellberg,4,35,
+feligris,4,35,
+felicity_(stargazer),4,35,
+felicia_(flafty),4,35,
+feet_on_head,0,35,
+feeling,0,35,
+fawe,1,35,
+faust_tigre,4,35,
+faolan_aviternal,4,35,
+fantail_pigeon,5,35,
+famous_comics,1,35,
+fairy_tail-rella,4,35,
+face_humping,0,35,
+eye_shot,0,35,
+extant/extinct,0,35,
+evil_dead,3,35,
+everett_(copperback01),4,35,
+eve_(joaoppereiraus),4,35,
+evan_stanley,1,35,
+espro,4,35,
+espiozx,1,35,
+equius_zahhak,4,35,
+equine_sheath,0,35,
+endo_(artist),1,35,
+ender_malcolm,1,35,
+elwysprigg,1,35,
+ellen_heart,4,35,
+ell_(character),4,35,
+elbows_on_table,0,35,
+ela,4,35,
+eather,4,35,
+east_sea_gastrodon,5,35,"east_gastrodon,gastrodon_(east),gastrodon_(east_sea),gastrodon_east,gastrodon_east_sea"
+dustin_(fuze),4,35,
+dupe_(lilo_and_stitch),4,35,"dupe_(l&s),dupe_(las),dupe_(lilo_&_stitch),dupe_(stitch),experiment_344"
+dulcy,4,35,
+dress_bulge,0,35,
+drawsfigures,1,35,
+dramatical_murder,3,35,
+drago_(reddrago),4,35,
+dragged,0,35,
+draconia_chronicles,3,35,
+drac_the_derg,4,35,
+dr_lazarus_lamar,1,35,
+dr._viper_(swat_kats),4,35,
+dr._mundo_(lol),4,35,
+douglas_buttons,4,35,
+dome,0,35,
+doki_(character),4,35,
+dizzysauce_nsfw,1,35,
+dizzy_demon,1,35,
+dixie_mae_carlisle_(character),4,35,
+distorted_text,0,35,
+disappearing_clothing,0,35,
+disabledfetus,1,35,
+dinopotamus,5,35,
+dima_(artist),1,35,
+dildo_in_urethra,0,35,
+dildo_bicycle,0,35,
+digidredg,1,35,
+diego_(tithinian),4,35,
+diabolos,4,35,
+diablo_2,3,35,
+dewi_(securipun),4,35,
+dewey_teagarden,4,35,
+devil_horns_(disambiguation),6,35,"demon_horn,demon_horns,devil_horn,devil_horns"
+denaturedalbumin,1,35,
+demira_lilian,1,35,
+deltasomnium,1,35,iltedaliu
+degu,5,35,
+defalt,1,35,
+decepticon_insignia,0,35,
+dearest_deer,4,35,dom_doe
+dd159,1,35,
+daycare_attendant_(fnaf),4,35,
+day_gecko,5,35,phelsuma
+dave_(satina),4,35,
+daustmasana,1,35,
+darling,4,35,
+darkthorns,1,35,
+dark_whiskers,0,35,
+dark_meta_knight,4,35,
+dark_knee_highs,0,35,
+dark_clouds,0,35,
+dark-tojo,4,35,
+daniel_tibana,1,35,
+daniel_thompson,4,35,
+dane_(max_draws),4,35,
+dane_(falcon_mccooper),4,35,
+damageisreally,1,35,
+dahlia_(blen_bodega),4,35,dahlia_(regret_everything)
+d-class,4,35,
+cybera,1,35,
+cum4mekurogane,1,35,
+crystaline_tail,0,35,
+crossed_fingers,0,35,
+crop_(anatomy),0,35,
+crimson-karma,1,35,
+cremekuma,1,35,
+creamy_kitty,1,35,
+crane_game,0,35,
+country_lolita,0,35,
+cottoncanyon,1,35,
+costume_party_style_lucario,4,35,
+corvidbelow,1,35,
+corrin_(fire_emblem)_(male),4,35,
+corkiicorgii,1,35,desikari
+cork_board,0,35,
+cord_tail,0,35,
+coral_snake,5,35,
+cool_guys_don't_look_at_explosions,0,35,
+cookies_(miu),4,35,
+conjoined_at_midsection,0,35,
+condensation,0,35,
+concubine,0,35,
+concrete_floor,0,35,
+computer_tower,0,35,
+coloring_request,0,35,
+color_change,0,35,
+cm_august,1,35,
+cloak_and_dirk,1,35,
+classical_unicorn,0,35,
+claire_(batartcave),4,35,claire_(pelao0o)
+cinderella_(disney),4,35,
+cinder,4,35,
+churippa,4,35,
+chuchu_(show_by_rock!!),4,35,
+chubbachunks,1,35,
+chow_(animal_crossing),4,35,
+chompy_(pencils),4,35,
+chloe_(nerishness),4,35,
+chloe_(johnfoxart),4,35,
+chinese_food,0,35,
+chibibass,1,35,
+chestnut_hair,0,35,
+chess_(endernia),4,35,
+cheese_stick,4,35,
+charmin_bear,4,35,
+charly-sparks,1,35,
+charlotte_(nox),4,35,
+charkie,1,35,
+charizardtwo,4,35,
+charizard_seven,4,35,
+charger,0,35,
+chara_(kodardragon),4,35,
+chapu,4,35,
+cephalopod_shell,0,35,"ammonite_shell,nautilus_shell"
+cello2424,1,35,
+celia_(animal_crossing),4,35,
+catsockjus,1,35,
+cats_(movie),3,35,
+catherine_hopps_(siroc),4,35,
+cascoon,5,35,
+carver_(twokinds),4,35,
+carenath,4,35,
+cappuccino,1,35,"cappucola,chocolate-scotch,weedshibe"
+canister_(artist),1,35,
+cancer,0,35,
+callie_barker,4,35,
+calie_(s2-freak),4,35,
+caliburn,4,35,
+c91,1,35,
+c4tspajamas,1,35,
+buutymon,1,35,
+butt_only,0,35,
+bulletfang,1,35,
+bud_gutman,4,35,
+brushtail_possum,5,35,
+brittany_(angrypotato96),4,35,
+bribery,0,35,
+bria_cindertails,4,35,
+braiding_hair,0,35,
+boxification,0,35,
+bow_footwear,0,35,
+bottomwear_around_legs,0,35,
+bonfirefox,1,35,
+bokomon,5,35,
+boko,4,35,
+body_pattern,0,35,
+bluevanilla_(artist),1,35,
+bluesuedepuma,1,35,
+bluegirl91,1,35,
+blue_thigh_socks,0,35,
+blue_swimming_trunks,0,35,
+blue_skinsuit,0,35,
+blue_moon_(glacierclear),4,35,
+blue_dress_shirt,0,35,
+blue_(ruaidri),4,35,
+blood_tears,0,35,
+blood_on_fur,0,35,bloody_fur
+blood_on_claws,0,35,
+blond_fur,0,35,
+blitzwolfer,4,35,benwolf
+blinxis,4,35,
+blaze_(arknights),4,35,
+blackholedog1,1,35,
+black_headband,0,35,
+black_frill,0,35,
+black_back,0,35,
+blacephalon,5,35,ub_burst
+birrin,5,35,
+bilby_(dreamworks),3,35,
+big_brian,4,35,
+biepbot,4,35,
+beth_smith,4,35,
+bert,4,35,
+berry_valentine,4,35,
+belty42,1,35,
+belphemon,5,35,
+belly_press,0,35,
+being_gagged,0,35,
+beers,4,35,
+beefjerkie,1,35,
+beaver_tail,0,35,
+beartp,4,35,
+beamerbruh,1,35,beamboi
+bdsm_room,0,35,
+bay_breeze,4,35,
+bastet_(link2004),4,35,
+basil_h._kinsey,4,35,
+barrypark11,1,35,
+barroth,5,35,
+baron_the_raichu_(character),4,35,
+barkwoof,1,35,
+balto_star,4,35,
+balthor_(diablo_the_rex),4,35,
+ballet_dress,0,35,
+ball_jewelry,0,35,
+baehotline,1,35,
+badbeawzone,1,35,
+baby_mobile,0,35,
+azurtaker_(artist),1,35,
+azoth,4,35,
+ayah_(prince_vaxis),4,35,
+avro_lynx,4,35,
+averyfondoreo,1,35,
+autumn_(autumndeer),4,35,
+authorialnoice,1,35,
+auron_ardere,4,35,
+audiodude_(artist),1,35,
+atty,4,35,
+atticus_(treebarkdragon),4,35,
+atlass,4,35,
+atlas_the_fox,1,35,
+asty_(plushtrapboyuwu),4,35,
+astolpho,1,35,
+askareth,4,35,
+artonis_(character),4,35,
+armed,0,35,
+armadillidiid,5,35,"armadillidiidae,armadillidiidaen,doodle_bug,parson-pig,parson_pig,pill_bug,pillbug,potato_bug,roly-poly,roly_polies,roly_poly,roly_poly_bug,tiggy-hog,tiggy_hog"
+argentfang,4,35,
+aquaphilia,0,35,
+anz,1,35,
+antifa,0,35,
+anthony_sarkasuo,1,35,
+anpii,4,35,
+annyglaceon_(mintyspirit),4,35,
+annalie,4,35,
+anmtns,1,35,
+angusburgers,1,35,
+angela_flux,4,35,
+angel_(jaruskais),4,35,
+andy_walters,4,35,
+andre_(dosent),4,35,andré_(dosent)
+andre_(chirenbo),4,35,
+anailaigh,4,35,
+anagod,1,35,
+ami_(character),4,35,
+ambiguous_orifice,0,35,
+alyx_mcconville_(character),4,35,
+alternate,0,35,
+altered_beast,3,35,
+altelier_t,1,35,
+alone_in_the_woods,3,35,
+alma_elma,4,35,
+alley-kat-abra,4,35,
+allen_myriad,4,35,
+alisian,4,35,
+alice_the_rabbit,4,35,
+aless-sotan,4,35,
+alakayne_alembine,4,35,
+akairiot,1,35,
+ajhira_(personalami),4,35,
+agropuer,1,35,
+age_stated,0,35,
+afterglow_the_ampharos,4,35,
+accelgor,5,35,
+abunbot,1,35,
+abraxocleaner,1,35,
+abbey_walker_(pawpadcomrade),4,35,
+aaron_(war-bird),4,35,
+6/26,3,35,"6-26_(day),6/26_(day),626_(day),6_26_(day),obergefell_v._hodges,obergefell_v_hodges,obergefell_versus_hodges,obergefell_vs._hodges,obergefell_vs_hodges"
+1977,7,35,
+1967,7,35,
+1959,7,35,
+13:10,7,35,
+zyks_the_dragon,4,34,
+zwolf,1,34,
+zulius_(centaurworld),4,34,
+zuflux,4,34,
+zu,4,34,
+zorzero,1,34,
+zootopia:_crime_files,3,34,
+zoe_(foxydude),4,34,
+zhulya_(artist),1,34,
+zhu_(character),4,34,
+zero_two_(ditf),4,34,
+zephyri_q_wolf,4,34,
+zeedoor,1,34,
+ze,1,34,
+zardoseus,1,34,"charles-bill-tremper,charles_bill_tremper,charlesbilltremper,chase.tremper,chase_william_tremper,chasetremper,the--harbor--master,varikstneloyal"
+yxxzoid,1,34,
+yuuki_(princess_connect!),4,34,
+yule_(tas),4,34,
+yukiharu_kuri,4,34,
+yuki_(caribbean_blue),4,34,
+youmu_konpaku,4,34,konpaku_youmu
+yokkora,1,34,ヨッコラ
+yellow_diaper,0,34,
+yarnjelly,1,34,
+yanununununu,1,34,
+yakuza,3,34,
+yak_(kemono_friends),4,34,
+xjkenny,1,34,
+xingren_(diives),4,34,
+x_ten_ten_x,1,34,
+wulfenski_(artist),1,34,
+wulf_(danny_phantom),4,34,wulf
+writing_on_object,0,34,
+wolfman,4,34,
+wolfeenix,1,34,
+without_panties,0,34,
+wisps,0,34,
+winged_cat,5,34,
+wing_tuft,0,34,
+wii_nunchuk,0,34,
+wigwoo1,1,34,
+wi3llowbee,1,34,
+white_toe_claws,0,34,
+white_pikmin,5,34,
+white_genitals,0,34,
+white_beleth_(floraverse),4,34,
+white-winged_parakeet,5,34,
+whike,1,34,
+wes_(ultilix),4,34,
+wellek,1,34,
+weight_gain_drive,0,34,
+weers,1,34,
+wedding_garter,0,34,
+wector,1,34,
+webvampi,1,34,
+waterlogged_diaper,0,34,
+waterfall_tears,0,34,
+watdurgon,4,34,
+wafflebird,4,34,
+waackery,1,34,
+vvolfaith,1,34,
+vulva_spanking,0,34,
+vranda,4,34,
+violetghost,1,34,
+veis,4,34,
+veilhound,5,34,
+vander,4,34,
+vanasmuttin,1,34,
+vampirekitty,1,34,saerah_zirilli
+valkaveri,1,34,
+valencia_(jmh),4,34,
+vaaan,1,34,
+uther_(red-izak),4,34,
+usikuma6,1,34,
+urso,4,34,
+urban_rail_transit,0,34,"urban_rail_transport,urban_rail_transportation,urban_train_transit,urban_train_transport,urban_train_transportation"
+unown_s,5,34,
+unoryoku,1,34,
+unleashed,3,34,
+uneven_balls,0,34,
+underwear_gag,0,34,
+uncannystuff,1,34,
+umbradraws,1,34,
+udder_bra,0,34,
+tygriis,1,34,
+two_tone_pillow,0,34,
+two_tone_heels,0,34,
+twitching_tail,0,34,
+twindrags,1,34,
+turbo_mcgogo_(commissioner),3,34,
+tuqiri,4,34,
+tumbleweed,0,34,
+tuffy_mouse,4,34,"nibbles_(t&j),nibbles_(tom_&_jerry),nibbles_(tom_and_jerry),nibbles_mouse,tuffy_(t&j),tuffy_(tom_&_jerry),tuffy_(tom_and_jerry)"
+tuesday_(kyaramerucocoa),4,34,
+tsuchinoko,5,34,bachi_hebi
+tripartite_jaw,0,34,
+triatelx,1,34,
+treasure_map,0,34,
+travis_(sebafox),4,34,
+trapeze,0,34,
+toyslave344,1,34,
+toya_pup,4,34,
+toro29,1,34,"nikujirou,にくじろう"
+tonythetiger16,1,34,
+tomu,1,34,
+tom_sawyer,4,34,
+tom_(fuze),4,34,
+tofu_(miso_souperstar),4,34,
+tochinoko,1,34,
+tjin_(character),4,34,
+titan_(destiny),4,34,
+tiran,4,34,
+tina_(digitalpelican),4,34,
+timon-berkowitz,1,34,
+timid_cookie,4,34,
+tiger_costume,0,34,
+tiffany_turlington,4,34,
+tied_to_penis,0,34,
+tiaplate_(interspecies_reviewers),4,34,
+tia_(nastypasty),4,34,
+through_body,0,34,
+three_piece_suit,0,34,
+thiccc,1,34,
+thex-plotion,1,34,
+thepakshi,1,34,
+theordomalleus,1,34,
+thelastgherkin,1,34,
+theglassemperor,1,34,
+thecooler,1,34,
+theartofvero,1,34,
+the_wonderful_101,3,34,
+the_veterinarian,1,34,
+the_oni_(dbd),4,34,
+the_fox_(falvie),4,34,
+the_darwin_chronicles,3,34,
+the_battle_cats,3,34,
+thawb,0,34,
+thalia_grace,4,34,
+text_focus,0,34,
+tessa_rasputin,4,34,
+terror_mask,4,34,
+terri_and_terry_perry,4,34,
+teo_(world_flipper),4,34,
+tenebrisnoctus,1,34,
+tene_(character),4,34,
+tena_teardrop,4,34,
+tempest_(xsomeonex),4,34,
+temeraire_(series),3,34,
+tdph2dubnoxxthu,1,34,
+taxes,0,34,
+tavern_of_spear,3,34,
+taurus_(fairy_tail),4,34,
+tatum_(tolng),4,34,
+tattooing,0,34,
+tash0,1,34,
+taro_(inkplasm),4,34,
+tardor,1,34,
+taped_hands,0,34,
+tanta_(zaush),4,34,
+tankana,4,34,
+tani_(tani_da_real),4,34,
+tanga,0,34,
+tammy,4,34,
+takayuki_(takaneru),4,34,
+taj_(artist),1,34,
+tail_on_bed,0,34,
+taiko_drum,0,34,
+syrrik,4,34,
+synapsid,5,34,
+symbicort_commercial,3,34,
+syderyvuris,1,34,
+sweetsushi,1,34,
+sven_the_rogue_knight,4,34,
+sushi_(sootsprite),4,34,
+surrealtone,1,34,
+sunny_(wereshiba),4,34,
+sumner,4,34,
+sukoi_(artist),1,34,
+suckmycoccyx,1,34,
+subtle_motion_lines,0,34,
+stupid,0,34,
+studio_cutepet,1,34,cutepet
+studded_ring,0,34,
+strips,0,34,
+striped_head,0,34,
+streets,0,34,
+stranger,0,34,
+stockingshot56,1,34,
+sto-chan_(m-da_s-tarou),4,34,
+steve_(smsfoxx),4,34,
+steve-o,4,34,
+stephanie_lynn,1,34,
+stepbrother,0,34,"step-brother,step_brother"
+stellar_eclipse_(mlp),4,34,
+stella_(gasaraki2007),4,34,
+steelphox,1,34,
+starston,1,34,
+spqr,0,34,
+sports_tape,0,34,
+spoongod,1,34,
+spit_in_mouth,0,34,
+spiky_fur,0,34,
+spicedevil,1,34,
+spaughtyena,3,34,
+space_furries_(comic),3,34,
+soulyagami64,1,34,
+sorenstar,1,34,
+sopa11uri,1,34,
+somniumfox,1,34,
+softschwarz,1,34,
+sofia_fluttertail,4,34,
+snizard,1,34,
+smallsavant,1,34,
+slimecatt,1,34,
+skunkettemon,5,34,
+siurize,1,34,
+sitting_on_building,0,34,
+sister_bear,4,34,
+sini_(auriok),4,34,
+single_shoe,0,34,
+simon_(zourik),4,34,
+silverash_(arknights),4,34,
+silver_rain_(sergeantbuck),4,34,
+sibling_swap,0,34,
+sibi_(sibi_the_messtress),4,34,
+shugariosa,1,34,obragobra
+shoulder_cape,0,34,
+shogunfox,4,34,
+shirt_on_shirt,0,34,
+shirsha,1,34,
+shiro_lolita,0,34,
+shira_stargazer,1,34,
+shira_frozenmoon,4,34,
+shiny_(petokikka),4,34,
+shellos,5,34,
+shelgon,5,34,
+sheebu,1,34,
+shedding_skin,0,34,
+shawndlohawk,4,34,
+sharp_stallion,4,34,
+shammy,4,34,
+shamefulcafe,1,34,
+shakran,4,34,
+shabi96522,1,34,
+sex_on_floor,0,34,
+seven_the_synthehog,4,34,
+selkie,5,34,
+segufix,0,34,
+sebas_(smoothlabs),4,34,
+scramjet747,1,34,
+scotty_panthertaur,4,34,
+scott_visnjic,4,34,
+scarlett_the_red,1,34,scarlett-the-red
+saren_arterius,4,34,
+saraiah_(heraldinthedark),4,34,
+samoyed-chan_(kishibe),4,34,
+samantha_hochschild,4,34,
+samantha_(scruffyclasher),4,34,
+sally_pride,4,34,
+sallos_(character),4,34,
+saliva_as_lube,0,34,
+sakazuki,0,34,
+saitou_(yakantuzura),4,34,
+saffronic,1,34,
+sabrina_holtz,4,34,
+saberleo_(character),4,34,
+saba,4,34,
+ryuk,4,34,
+ryu_(breath_of_fire),4,34,
+rugia1992,1,34,
+ruby_pinch_(mlp),4,34,
+rubber_pony_tanja,4,34,
+rouken_(character),4,34,
+rougenine,1,34,
+rottentuttifrutti,1,34,
+roth_(beez),4,34,
+rotating,0,34,
+rose_sunsprite,4,34,
+roquemapache,4,34,
+root,4,34,
+rolled_up_pants,0,34,
+rodian,5,34,
+rock-g,4,34,
+robocop,4,34,
+robin_(rusheloc),4,34,
+robbie_the_rabbit_(silent_hill),4,34,
+rina_(klr-rio),4,34,
+riedel_scallion,4,34,
+richard_(indecent),4,34,
+ricardo_milos,4,34,
+reyriders,1,34,
+retoree_(show_by_rock!!),4,34,
+republican,3,34,
+renashe,1,34,
+renaphin,1,34,
+remi_(goopyarts),4,34,
+rekkit_the_rabbit,3,34,
+rekkit,4,34,
+reitounek,1,34,stousoni
+reina_(artist),1,34,
+regal-bowser,1,34,
+red_harness,0,34,
+red_felyne,4,34,
+red_crop_top,0,34,
+reboot_(character),4,34,
+reaction_contrast,0,34,
+razgriz_darkheart,4,34,
+raye_(in_abyss),4,34,
+raver_roo,1,34,
+raven-ark,1,34,
+ratipiko,1,34,
+rape_by_proxy,0,34,
+rangiku_matsumoto,4,34,
+rammie_(jschlatt),4,34,
+raiz,4,34,
+raivenderouthelion_(artist),1,34,
+raine_(raine1082),4,34,
+radial_(artist),1,34,
+rabbitholes,1,34,
+r.g.buzsz,1,34,
+r-series_astromech_droid,5,34,
+queencomplex,1,34,
+queen_scarlet_(mlp),4,34,
+queen_bea,4,34,
+quasarbearcat,1,34,
+quartz_(gittonsxv),4,34,
+quartet_(artist),1,34,
+quadsuit,0,34,
+pyroashes,1,34,
+pus,0,34,
+purpleninfy,1,34,
+purple_neckwear,0,34,
+purple_jockstrap,0,34,
+pupitar,5,34,
+pup1k,4,34,
+puck_(re:zero),4,34,"pack_(re:zero),pakku"
+protruding_teeth,0,34,
+prosthetic_ear,0,34,
+prison_bars,0,34,
+princess_vi,4,34,
+princess_aurora_(disney),4,34,aurora_(disney)
+pride_color_lineup,0,34,
+pride_color_fur,0,34,
+pride_color_bikini,0,34,
+pressing_button,0,34,
+pozy,4,34,
+portable_fan,0,34,
+popo_(telemonster),4,34,
+pontiac,3,34,
+polaris_(mousguy),4,34,
+poi,0,34,
+pluto_(woebeeme),4,34,
+playstation_vita,3,34,
+plains_zebra,5,34,
+pixiecatsupreme,1,34,
+pinniped_humanoid,5,34,
+pink_towel,0,34,
+pink_jockstrap,0,34,
+pimp_hat,0,34,
+pilot_uniform,0,34,
+pikachu_rock_star,4,34,"hard_rock_pikachu,pikachu_hard_rock,pikachu_rocker,pikachu_rockstar,rock_star_pikachu,rocker_pikachu,rockstar_pikachu"
+piecing,0,34,
+pickles_aplenty,4,34,pickles_(bojack_horseman)
+picco_(artist),1,34,
+phaser,0,34,
+petal_spark,4,34,
+pepper_shaker,0,34,
+pentagram_lingerie,0,34,
+pendulous_g,1,34,
+pelboy,1,34,
+peach_panda,4,34,
+peach88,1,34,
+pb_and_j_otter,3,34,
+pawpi,4,34,
+paula_fox,4,34,
+pattern_pajamas,0,34,
+paternity_mark,0,34,
+patched_clothing,0,34,
+pastries,0,34,
+partial_fur,0,34,
+paris_(pit_fighters),4,34,
+paraepa,1,34,
+p-body_(portal),4,34,
+owen_evans,4,34,
+outstretched_legs,0,34,
+outcast-stars,1,34,
+otama,1,34,
+osiimi,1,34,
+orangekissess,1,34,
+operculum,1,34,
+on_boat,0,34,
+omen_(blaidd),4,34,
+ollie_rabbit,1,34,
+okamiden,3,34,
+object_in_stomach,0,34,
+o.z.y.,1,34,
+nvidia,3,34,
+nude_herm,0,34,
+nubruki_(artist),1,34,
+nubbed_tentacles,0,34,
+novaray,1,34,
+notafurrytho,1,34,
+not_big_and_not_clever,3,34,
+not_(icma),4,34,
+nose_tuft,0,34,
+nose_art,0,34,
+nosantee,1,34,
+noodlybat_(artist),1,34,
+noelle_(oc),4,34,
+noa_(lunaris_parukia),4,34,
+niktarin,1,34,
+nightseeker_(oc),4,34,
+nigel_thornberry,4,34,"nigel_archibald_thornberry,sir_nigel_archibald_thornberry"
+nickolas,4,34,
+niccy,4,34,
+nevaro_blackfang,4,34,
+nes_zapper,0,34,
+nequamars,1,34,
+neotorakuma,1,34,
+nennsen,1,34,
+nelya,4,34,
+nekra,4,34,
+nekomonogatari,3,34,
+nedzu,4,34,
+neash_(character),4,34,
+near_death,0,34,
+nazu'lah_(yuricrabking),4,34,
+naze,1,34,
+navy_uniform,0,34,
+navos_(wordcaster),4,34,
+navik_gundyr_(ludexus),4,34,
+naughtybirdart,1,34,
+natsuakai,1,34,"izzyreddragon,natsukai"
+natchan,1,34,
+nasu,1,34,
+nanomachines,5,34,
+nano_(the_gamercat),4,34,nano_(gamercat)
+nangnam,1,34,
+nameless_lucario,4,34,
+naiacreations,1,34,
+nadja_coba,4,34,
+nach,1,34,
+mythra_(xenoblade),4,34,
+my_chemical_romance,3,34,
+mxgurl89,1,34,krissyfawx
+muriel_bagge,4,34,"muriel_(courage),muriel_(courage_the_cowardly_dog),muriel_(ctcd)"
+murakami_takashi,1,34,
+mummy_dragon,4,34,
+multiple_vaginal,0,34,
+muddy_maestro,4,34,
+mr2cats,1,34,
+mote_(bundle0sticks),4,34,
+morpeko_(hangry_mode),5,34,"hangry_mode_morpeko,hangry_morpeko,hungry_mode_morpeko,hungry_morpeko,morpeko_(hangry),morpeko_(hungry)"
+moro-no-kimi,4,34,
+morgan_(os),4,34,
+monstadog,1,34,
+monodie,1,34,
+momo_(mymyamoo),4,34,
+molly_(alex_spastic),4,34,
+molisen,1,34,
+moji,4,34,
+mobzylewd,1,34,
+mittensmcgee,1,34,
+mistrct,1,34,
+mirri,1,34,
+mirotic,1,34,
+mirlya_mil,4,34,
+miriam_beaks,4,34,
+minimap,0,34,mini_map
+mini_top_hat,0,34,
+minakaka_(spinneborg),4,34,
+milo_(mrtweek),4,34,
+milo_(gioven),4,34,
+milkywhy,1,34,
+mighty_endowed,4,34,
+midori_(artist),1,34,
+miazuma_shouki,1,34,
+metallic_tentacles,0,34,
+metal_bikini,0,34,
+mesh_clothing,0,34,
+merry_(ken_singshow),4,34,
+mercrantos,1,34,
+melly_(itsmemtfo4),4,34,
+mel_(character),4,34,
+mehajiki,0,34,
+megurine_luka,4,34,
+medusalewdles,1,34,
+maximus_(smartydragon),4,34,
+maxdigipower,1,34,
+mauve_(artist),1,34,
+mascara_(kung_fu_cat),4,34,
+mary_(thatwildmary),1,34,
+marlene_(madagascar),4,34,
+markus_(generaldegeneracy),4,34,
+marisa_the_vaporeon,4,34,
+marcy_wu,4,34,
+mana,4,34,
+maleabel,4,34,
+malana_(lei-lani),4,34,
+makeover,0,34,
+mags_(hambor12),4,34,
+magpie_igor,1,34,
+magma_admin_courtney,4,34,"courtney_(pokemon),courtney_(pokémon)"
+macyw,1,34,
+machine_penetrating,0,34,
+maccy_(character),4,34,
+lìzhī,4,34,lizhi_(diives)
+lunar_(nedoiko),4,34,
+lum,4,34,
+luluangel,1,34,
+lucky_beast,5,34,lucky_beast_(kemono_friends)
+lucidpariah,1,34,fuglybastard
+luci_(disenchantment),4,34,
+lucent_(oc),4,34,
+lucas_(sylvanedadeer),4,34,
+low_lighting,0,34,
+love_train,0,34,
+lotharemas,4,34,
+loose_noose,1,34,
+looking_bored,0,34,
+loculi,1,34,
+lobani,5,34,
+lizzykoopa,1,34,
+lizardsmooches,1,34,
+littlewolf112,3,34,
+littlebird,1,34,
+lintufriikki,1,34,
+lili_(character),4,34,
+light_armwear,0,34,
+lifted_by_leg,0,34,
+lifeguard_chair,0,34,
+licking_stomach,0,34,
+liche,1,34,
+libra_bethelon_(libra-11),4,34,
+li_(gunfire_reborn),4,34,
+lhjal2,1,34,
+lex_sergal,4,34,
+lewis_resmond,4,34,
+lewdaesthetics,1,34,
+levan_zan,1,34,
+leotard_under_shorts,0,34,
+leondraw,1,34,
+leonberger,5,34,gentle_lion_dog
+leo_(disambiguation),4,34,leo
+lens,0,34,
+lenomon,1,34,
+lena_the_kobold,4,34,
+leleo,1,34,
+legswithsnake,1,34,
+leg_stretch,0,34,
+leg_on_furniture,0,34,
+leg_bar,0,34,
+lecerf,1,34,
+leafs,0,34,
+leaf_bikini,0,34,
+layered_clothing,0,34,
+lavenda,4,34,
+laura_(drages),4,34,
+later_alligator,3,34,
+lass_(matsu-sensei),4,34,
+larger_sub,0,34,
+lao_tian_(character),4,34,
+lancer:_the_knights_of_fenris,3,34,
+ladonna,4,34,
+kyra_(invasormkiv),4,34,
+kyoujin_(character),4,34,
+kyameta,1,34,
+kya_(palkitos),4,34,
+kvnpoulsen,1,34,
+kuzuri,4,34,
+krugell,1,34,
+krispup,4,34,
+krillos,1,34,
+krid,1,34,
+kravn_(character),4,34,
+kranson,1,34,
+koshimoto,1,34,
+koron-dash,1,34,
+koraku_(baroque),4,34,
+kompeito,1,34,
+kokuryu,1,34,
+kodota,1,34,
+kochimel,1,34,
+klempner,1,34,
+kiwizerf,1,34,
+kittypony,4,34,
+kishin_the_nidoran,4,34,
+kirsten_odessa,4,34,kirsten_(foxjump)
+kirby_squeak_squad,3,34,
+kip_cat,1,34,
+kinkivas,1,34,
+kimoiworkshop_artist,1,34,
+killing_bites,3,34,
+khemia,3,34,
+keytran,1,34,
+kevab,1,34,
+kenshiki666,1,34,
+kenfoxx,1,34,
+keki_(rukifox),4,34,
+keke_(hotkeke1),4,34,
+keiko_matsuhani,4,34,
+kde,3,34,
+kd_gai,1,34,
+kazuhira,4,34,
+kaylink,1,34,
+kayadult,1,34,
+kawe,4,34,
+kavorog,4,34,
+kaspar_(character),4,34,
+kas_(ketzio_and_gbb),4,34,
+karo_(dreamkeepers),4,34,
+kamina_(gurren_lagann),4,34,
+kally_(tits),4,34,
+kaliber,1,34,
+kaito_(vocaloid),4,34,
+kaikaikyro,1,34,
+k-on!,3,34,
+junkochi,1,34,
+junkbag,1,34,"junktrashman,thejunkbag"
+junichi,4,34,
+jumneyarts,1,34,
+jowls,0,34,"jowel,jowels,jowely,jowly"
+joule_(soranotamashii),4,34,
+jorie_(thirteeenth),4,34,
+johann,4,34,
+joeyzliaotang,1,34,
+jo_crystal,0,34,
+jklind,1,34,
+jinx_(dc),4,34,jinx_(teen_titans)
+jingai_modoki,1,34,
+jilo_(character),4,34,
+jfbelen,4,34,
+jessie_(lapinbeau),4,34,
+jenga,0,34,
+jenevive_(chimangetsu),4,34,
+jeffr,1,34,lu3135
+jayrnski,1,34,
+jay_(draco32588),4,34,
+jargon_scott,1,34,
+janine_(bad_dragon),4,34,
+james_(confrontedwolf),4,34,
+jake_spidermonkey,4,34,
+jaggiekant,1,34,
+jaggard,5,34,
+jaffe,1,34,
+jaelen,4,34,
+izabell_carroll_(forestdale),4,34,
+itsfloofy,1,34,
+isabella_ryan,4,34,
+irregular_grid_layout,0,34,
+ioragabhar,4,34,
+ion-27,1,34,
+inudium,1,34,
+inosagi,1,34,
+inkedfur,3,34,
+inkbunny_(character),4,34,
+infiniteapple,1,34,
+infinite_precum,0,34,
+indexer,1,34,
+in_your_best_interests,3,34,
+impressionism,0,34,
+imperial_loser,1,34,
+ike_(eikasianspire),4,34,
+iiimirai,1,34,
+ihoundr,1,34,
+iguini,5,34,
+iggy,4,34,
+hypnotherapy,0,34,
+hybrid_pussy,0,34,
+hyacinthia,4,34,
+hun,1,34,
+huge_eyes,0,34,
+horse_mask,0,34,"creepy_horse_mask,horse_head_mask"
+hornynym,1,34,
+hormone_monster,5,34,hormone_monstress
+hoop_transformation,0,34,
+honey_x_scars,3,34,
+holly_(lammynatrix),4,34,
+holding_weights,0,34,
+holding_notebook,0,34,
+holding_mirror,0,34,
+holding_hip,0,34,
+holding_cookie,0,34,
+holding_bone,0,34,
+holding_balloon,0,34,
+hoka,1,34,
+hob,4,34,
+hiro_(frenky_hw),4,34,
+high_top_sneakers,0,34,
+hidenafox,1,34,
+heza_the_dormouse,4,34,
+herald_(cobat),4,34,
+hellcat,5,34,
+held_by_tail,0,34,
+heathermactavish,1,34,leoben
+heathenpixel,1,34,jojofluffy
+heart_bikini,0,34,
+head_rub,0,34,
+hashburrowns,1,34,lazycookieburr
+haru_(warden006),4,34,
+harry_potter_(character),4,34,
+harry_fishkopp,4,34,
+harkin_theflyinghog,1,34,
+hare_humanoid,5,34,
+hannahugs,1,34,
+hands_on_own_feet,0,34,
+hand_scar,0,34,
+han_wenqing_(tka),4,34,
+hall,0,34,
+hair_heart,0,34,
+hacker,0,34,
+gurobase,1,34,
+gunbunny,4,34,
+guadr,1,34,
+gtsdev,1,34,
+grizzlesbear,1,34,
+grey_shell,0,34,gray_shell
+grey_ring_piercing,0,34,
+grey_back,0,34,
+greenpolygon,1,34,
+green_leaves,0,34,
+green_headgear,0,34,
+green_eggs_and_ham,3,34,
+great_kilt,0,34,
+grayson_(ggponk),4,34,
+graybluestudios,1,34,
+grasping,0,34,
+gonnaneedabiggerboat,1,34,
+golden_wreath,0,34,
+golden_claws,0,34,
+gold_ship_(pretty_derby),4,34,
+gold_chastity_cage,0,34,
+goallonely,1,34,
+gnoshy0,1,34,
+glowing_halo,0,34,
+glowing_background,0,34,glowing_bg
+glowing_abdomen,0,34,
+glistening_water,0,34,shiny_water
+glistening_dress,0,34,shiny_dress
+glass_of_milk,0,34,
+glacey_(glaceonthepet),4,34,
+giovanni_(dablobkips),4,34,
+giorno_giovanna,4,34,
+ginsei,4,34,
+gidora_(artist),1,34,
+gianghanz,1,34,
+ghost_(nateac),4,34,
+ghost_(artist),1,34,
+gentials,0,34,
+genderfluid,0,34,
+gen_(baconking),4,34,
+gemsum,1,34,
+gavin_alvarez,4,34,
+gauged_labia,0,34,
+gardener,0,34,
+ganondork,1,34,
+game_piece,0,34,
+galarian_moltres,5,34,"galar_moltres,moltres_(galar),moltres_(galar_form),moltres_(galarian),moltres_(galarian_form)"
+gakuseigitsune,1,34,
+gaia_online,3,34,
+gabrielgryphon_(character),4,34,
+fyrien,4,34,
+fuzzywooly,1,34,
+furry_specific_accessory,0,34,
+furjoe0,1,34,
+furffles_paloosa,4,34,
+fugashi4090,1,34,
+fuel,0,34,
+frozentrovador,1,34,
+freddie_r._honeycomb,4,34,
+frankie_(blazethefox),4,34,
+foxy_harris,1,34,"akaikitsune,destinyfox,foxyharris"
+foxxi,4,34,
+foxifyer_(artist),1,34,
+foreshadowing,0,34,
+forced_to_creampie,0,34,
+forced_spreading,0,34,
+forced_perspective,0,34,
+forced_ejaculation,0,34,
+for_honor,3,34,
+food_clothing,0,34,
+folo,1,34,
+fluffymaiden,1,34,
+fluffydave,1,34,davefluffy
+fluffybastion,4,34,
+fluffy_duffy_(unknown6505),4,34,
+floating_object,0,34,
+flight_helmet,0,34,
+flexet_(photolol.03),4,34,
+flamyphantom1,1,34,
+fishsticker,1,34,
+fiship,1,34,
+fire_belly_newt,5,34,"cynops,fire_newt,firebelly_newt"
+final_fantasy_iv,3,34,
+filo_(the_rising_of_the_shield_hero),4,34,filo
+fgs,4,34,
+ffisf,1,34,
+fffftony,1,34,
+ferrothorn,5,34,
+feral_prosthetic_arm,0,34,
+fenriz278,1,34,
+felixf,1,34,
+felidre_(artist),1,34,
+feather_pen,0,34,
+fe'lis_(character),4,34,
+fayleh,1,34,
+fayga,4,34,
+faust,4,34,
+faris_(crackers),4,34,
+farellemoon,1,34,
+fareed,4,34,
+fantdragon,1,34,
+fallout_76,3,34,
+fae_(fire_emblem),4,34,
+facing_aside,0,34,
+face_in_pillow,0,34,
+eyvind_earle,1,34,
+exonite,1,34,
+exhaling,0,34,
+everyone_is_so_mean_to_me,3,34,
+eve,4,34,
+eva_(kleiny),4,34,
+etrola,1,34,
+ethereal,0,34,
+etcexera,1,34,
+erotibot,1,34,
+eric_dielli,4,34,
+eric_cartman,4,34,
+eracin,1,34,
+epulson,1,34,czudakx
+enticing,0,34,
+energizer,3,34,
+endivinity,1,34,"kullenuska,silverbirch"
+empty_eye_sockets,0,34,
+emboss0320,1,34,
+ember_the_firesmart_fox,4,34,
+emarosa,4,34,
+elsian,1,34,
+elosande,1,34,
+elnora_karkhov,4,34,
+ellie_(elliectric),4,34,
+ellie_(elicitie),4,34,
+elias_larranaga_(pluvioskunk),4,34,
+elfxorc,3,34,
+ekubo,1,34,
+eisekil,1,34,
+eggman_(artist),1,34,
+efa,4,34,
+edude,1,34,
+eddie_noodleman,4,34,eddie_(sing)
+ebiinari,1,34,thebluepopsicle30
+e1ectronicchimera,1,34,
+dyani-yahto,1,34,
+dug_(species),5,34,
+duel_masters,3,34,
+drug_paraphernalia,0,34,
+drion,4,34,
+dreamer69,1,34,
+drap_karnow,4,34,
+drakonika123,1,34,
+drako_swiftclaw,4,34,
+drake_terrys,4,34,
+dragon_booster,3,34,
+drag_(character),4,34,
+dorian_zibowski,4,34,
+doodledaeng,1,34,
+dolly_conner,4,34,
+doguma-sin,1,34,
+dodo_(dododragon),4,34,
+dodger_akame_(character),4,34,
+dirk_skunkdad,4,34,
+dinogoat,1,34,
+didichann,1,34,
+detroit:_become_human,3,34,
+desireeu,1,34,
+desdemona_(gargoyles),4,34,
+des_(falcon_mccooper),4,34,
+deragon,4,34,
+denise_(haiku_oezu),4,34,
+demonancer_(character),4,34,
+demi,4,34,
+delmin_(show_by_rock!!),4,34,
+dehaka,4,34,
+deepthroat_cockslut,4,34,
+deep_sea_creature_(artist),1,34,
+dead_rising,3,34,
+dawn_(zapher),4,34,
+david_crown,4,34,
+dark_panties,0,34,
+dark_link,4,34,
+dark-lunch,1,34,
+dani_taylor,4,34,
+danae_(character),4,34,
+dalrus_plaguefang_(character),4,34,
+daemon_of_tzeentch,5,34,
+d.a.r.e.,3,34,
+curl,0,34,
+cum_through_skirt,0,34,
+cum_through_pants,0,34,
+cum_between_legs,0,34,
+cuja,4,34,
+crystalshards,1,34,
+crotch_plate,0,34,
+cro_funky,4,34,
+creamsicle_(character),4,34,
+crazyman1337,1,34,
+crazykat,1,34,
+crazy_company,1,34,
+courtyard,0,34,
+coriander_(wonderslug),4,34,
+cords,0,34,
+coodee,1,34,
+conejoblanco,1,34,
+condom_box,0,34,
+comparing_butts,0,34,
+commander_ryun,4,34,
+comfei_puppy,1,34,
+colton_(animal_crossing),4,34,
+color_coded_text_box,0,34,
+colette_(thea_sisters),4,34,
+coffeekit,1,34,
+cloudman,1,34,
+clothing_insertion,0,34,
+cleo_(between_the_lions),4,34,
+cigarskunk,4,34,
+chrystaldraw,1,34,
+christina_mort,4,34,
+chris_(typhlosionboy),4,34,
+chipflake,4,34,
+chip_n'death,1,34,"chip_n_death,chipndeath"
+chill,0,34,
+cheerios,3,34,
+chase_(pokémon),4,34,"chase_(pokemon),let's_go_pikachu_trainer,lets_go_pikachu_trainer"
+charliebarkinq,1,34,
+charchu_(artist),1,34,
+chao_xiang,4,34,
+chamille,4,34,
+chainedbirds,1,34,
+ceaselesstiger,4,34,
+cayleth,1,34,
+carpemortem_(artist),1,34,
+carousel_boutique,0,34,
+caribbean_fox_(character),4,34,
+carbon_(zombieray10),4,34,
+carbine_(bmfm),4,34,
+caravan,0,34,
+captain_marvel,4,34,
+cane-mckeyton,1,34,
+cana_(artist),1,34,
+calendar_pinup,0,34,
+caleb_(ajdurai),4,34,
+cadslime,1,34,
+c_andreartz,1,34,
+c-3po,4,34,c3po
+bwcat,1,34,
+button_nose,0,34,
+butterflysneeze,1,34,
+butch_cat,4,34,"butch_cat_(t&j),butch_cat_(tom_&_jerry),butch_cat_(tom_and_jerry)"
+bust_chart,0,34,
+burning_alive,0,34,
+burned,0,34,
+burmy,5,34,
+burhuru,1,34,
+bungo_(beartouma_0517),4,34,
+bumblebee_(transformers),4,34,
+bulochka,1,34,
+bullsworth,4,34,
+bull_(torquewintress),4,34,
+buchineko,1,34,
+brubearbrown,1,34,
+brownie_pembroke,4,34,brownie_(purrfect_apawcalypse)
+brown_mustache,0,34,
+brisky~,1,34,
+bridget_(guilty_gear),4,34,
+breanna_(9tales),4,34,
+brandon_(sloss),4,34,
+branded_hem,0,34,
+bramblestar_(warriors),4,34,brambleclaw_(warriors)
+bramble_(katlovesshrimp),4,34,
+box_art,0,34,
+bottomless_andromorph,0,34,
+borges_(aoba),4,34,
+boost_wisp,5,34,
+bonnie_(satsumalord),4,34,
+bonnet_(fnafsl),4,34,
+bone_wings,0,34,
+bolas,0,34,
+body_inside_body,0,34,
+blythe_baxter,4,34,
+blvckmagic,1,34,
+blush_(blush-panda),4,34,
+blueroses,1,34,
+bluefield,1,34,
+bluedy_(estper),4,34,
+blue_goggles,0,34,blue_googles
+blue_crane,5,34,"paradise_crane,stanley_crane"
+blu,4,34,
+bloom_(warden006),4,34,
+bloodfart,1,34,
+bleat_(character),4,34,
+blazinahegao,1,34,
+blaketheflareon_(character),4,34,
+blackpatapon,1,34,
+blackberry_dragon,1,34,blackberrydragon
+black_tights,0,34,
+black_chastity_cage,0,34,
+black_cat_(marvel),4,34,black_cat_(spider_man)
+bkub,1,34,
+biting_own_finger,0,34,
+bitelickart,1,34,bitelickart_(artist)
+bird_dragon,5,34,
+bilebubble,1,34,
+big_boo,4,34,
+big-red,1,34,
+biakela,1,34,
+betty_boom_(character),4,34,
+benny_the_ball,4,34,"benjamin_ball,benjamin_benny_ball"
+bencoon,1,34,
+belt_only,0,34,
+belo4ka,1,34,
+belle_eve_(mlp),4,34,belle_eve
+beaver_(beaver_and_steve),4,34,beaver_(b&s)
+beatrix_dominatrix,4,34,
+bear-paws,3,34,
+bass_(artist),1,34,
+basilisk_(disambiguation),6,34,basilisk
+basil9,1,34,
+barrett_m82,0,34,
+barman,0,34,
+ballistic-cottontail,1,34,
+balios_(brushfire),4,34,
+bagpipes,0,34,
+badminton_racket,0,34,
+badcompzero,1,34,
+bad_english,0,34,
+backwards_virgin_killer_sweater,0,34,
+baby_bop,4,34,
+b._wolf,4,34,
+azwraith_the_phantom_lancer,4,34,
+azul,5,34,
+azazial,4,34,
+auzi,4,34,
+auro_(human),4,34,
+aureus,4,34,
+aurelian_valtois,4,34,
+aura_(moomanibe),4,34,
+attacked,0,34,
+astronaut_suit,0,34,
+assisted_penetration,0,34,
+ashley_(themuffinly),4,34,
+ashley_(sandslash),4,34,
+asella_(nelly63),4,34,
+asadama,1,34,thoks
+arvie,1,34,
+artisyone,1,34,
+artillery,0,34,
+artgerm,1,34,stanley_lau
+artemis_(nobby),4,34,
+arm_blades,0,34,
+arm_accessory,0,34,
+arinadler,1,34,
+arilopez550,1,34,
+argohazak,1,34,
+arcticsnow1,4,34,
+archerteamr_artist,1,34,
+archaeotter,1,34,
+aquafreeze,1,34,
+appoplexian,5,34,
+ape_escape,3,34,
+anythinggoes,1,34,
+answer,0,34,
+anothergamer,4,34,
+annabelle_ryan,4,34,
+animal_math,1,34,
+angel_(avante92),4,34,
+andvari,4,34,
+andrew_(dosent),4,34,
+anart_(cliffpadfoot),4,34,
+anal_impalement,0,34,
+ambrose_the_kobold,4,34,
+amber_(zaush),4,34,
+amber_(teckly),4,34,
+amaruu,1,34,
+amarissa_(abluedeer),4,34,
+aluxander01,1,34,
+alondight,4,34,
+alon,4,34,
+alice_yagami,1,34,
+alfred_j._kwak_(series),3,34,
+alexandra_reznova,4,34,
+alebrijeman,1,34,
+al_sensei908,1,34,
+akurara,4,34,
+akira_mizuhara,4,34,
+akira_(maririn),4,34,
+akashi_(azur_lane),4,34,
+akane_(akanisen),4,34,
+air_hose,0,34,
+ailah,1,34,
+ai_od,1,34,
+aging,0,34,
+agent_s_(animal_crossing),4,34,
+agalmatophilia,0,34,
+adullperson,1,34,
+ackie,4,34,
+aang,4,34,
+a_inc,1,34,
+<3_eyebrows,0,34,"<3_eyebrow,heart-shaped_eyebrow,heart-shaped_eyebrows,heart_eyebrow,heart_eyebrows,heart_shaped_eyebrows"
+7_tails,0,34,"7_tailed,seven_tailed,seven_tails"
+617foreverwithy,1,34,
+5j4c720,1,34,
+4ofswords,1,34,
+326,1,34,
+1984,7,34,
+18:25,7,34,
+13:19,7,34,
+0oita,1,34,
+0mr-wolf0,1,34,
+zurianima_(yagdrassyl),4,33,
+zuri_(oceansend),4,33,
+zukaro_travon,1,33,
+zovos,1,33,
+ziyi_angrec_arktändr,4,33,ziyi_angrec_arktandr
+zisak,1,33,
+ziggyhusky,4,33,
+zeus,4,33,
+zerokun135,1,33,
+zephyr_the_praimortis,4,33,
+zdemian,1,33,
+zala,4,33,
+zagredos_(spirit_bathouse),4,33,
+zaffwyn,4,33,
+zabi,4,33,
+yuski,1,33,
+yusarang,1,33,
+yuri_(giru),4,33,
+yuna_(ffx),4,33,
+yugyny_white,4,33,
+yssalia_(sarybomb),4,33,
+yolanda_camacho,4,33,
+yellow_belt,0,33,
+yari_litten_ve'rek,4,33,
+yang-mei_(sewlde),4,33,
+yamik64,1,33,
+yalen-the-untaggable,1,33,
+yaku_(yakushishi),4,33,
+yaking,1,33,
+xxomgx,1,33,
+xtious,4,33,
+xoc_onda,4,33,
+xinnai0485,1,33,
+ximen99_(artist),1,33,
+xbox_one_console,0,33,
+xannu,1,33,
+x-wingred,4,33,
+wyvern_humanoid,5,33,
+wyrdeer,5,33,
+wrists_to_legs,0,33,
+workout_clothes,0,33,
+wonderduck,1,33,
+wolferno_(character),4,33,
+wiring,0,33,
+willdrawforfood1,1,33,
+wild_knights_gulkeeva,3,33,
+white_talons,0,33,
+whisker_growth,0,33,
+whaleoil1,1,33,
+west_highland_white_terrier,5,33,"highland_terrier,poltalloch_terrier,roseneath_terrier,westie,white_roseneath_terrier"
+werewolferos,1,33,
+weredragon,5,33,
+weldbead,4,33,
+weiss_(darkfox49),4,33,
+weasely,1,33,
+weapon_swing,0,33,
+we_can_do_it!,3,33,
+waterside,0,33,
+wasabi_(artist),1,33,
+wanderlustzing,1,33,
+wanderer1988,1,33,talpimado1988
+wander_(shadow_of_the_colossus),4,33,
+volezor,1,33,
+vm94,1,33,
+vividred_operation,3,33,
+vivian_(bloodline),4,33,
+vitzeal,1,33,
+viper_rsr,3,33,
+viper_(cdsowden85),4,33,
+vicvance,1,33,
+vertigo_(primal_rage),4,33,
+verna_(milkscrew),4,33,
+vergundy,1,33,
+verde_okuro,4,33,
+venandi,5,33,
+vektor,4,33,
+varlastreak,1,33,
+val,4,33,
+vaguecreature,1,33,
+uxdragon,1,33,
+usbdongle,1,33,
+urbanica,1,33,
+untrustedshopkeeper,1,33,
+unown_w,5,33,
+unluckypaw,1,33,
+unknown_editor,1,33,
+unistar_(character),4,33,
+union_jack_bikini,0,33,
+umbra_(k3ta),4,33,
+ultama_lokshar_(artist),1,33,
+ulfric_(misterstallion),4,33,
+uchider,1,33,
+u.s._air_force,3,33,
+tyson_hesse,1,33,
+tych0,4,33,
+two_tone_jockstrap,0,33,
+tweezers,0,33,"thumb_forcep,thumb_forceps,tweezer"
+tussytot,1,33,
+tsukitate,4,33,
+true_love,0,33,
+trivial_pursuit_(oc),4,33,
+tristanalexander,1,33,
+trissyfen,1,33,
+trinitroid,1,33,
+tricorder,0,33,
+tribal_hunter,3,33,
+trench,0,33,
+trefoils_(character),4,33,
+traximus,4,33,
+transgressors-reworks,1,33,
+transformative_collar,0,33,
+transformation_pov,0,33,
+trang_(furry_force),4,33,
+tractor_beam,0,33,
+toyokuni,4,33,
+tourist,0,33,
+toshabi_(character),4,33,
+torte,1,33,
+tora_oekaki,1,33,
+tommy_(kiwabiscuitcat),4,33,
+toky,4,33,
+toepads,0,33,
+todd_howard,4,33,
+toastyscones,1,33,
+tiva_(mhicky93),4,33,
+tinto_(artist),1,33,
+tina_armstrong,4,33,
+tilobear,1,33,wyndsong
+tight_coat,0,33,
+tide_pool,0,33,
+ticklegasm,0,33,
+tia_(animal_crossing),4,33,
+ti-killa,1,33,
+thrown,0,33,
+throat_slitting,0,33,
+thornedog,1,33,
+thomas_(lonelycharart),4,33,
+thessus_(artist),1,33,
+thesneakyzone,1,33,"bait1288,doodlezone,thehiddenzone"
+therod-r,1,33,
+theparagon,1,33,
+theonyn,1,33,
+themirth,1,33,
+theawesomefoxguy,1,33,
+the_three_musketeers_(disney),3,33,
+the_red_angel,1,33,theredangel
+the_jetsons,3,33,
+the_fuzzy_princess,3,33,
+the_beatles,3,33,
+the_asset_(the_shape_of_water),4,33,amphibian_man
+text_on_belt,0,33,
+texas_toast,1,33,
+tetsu_hayami,4,33,
+teriyaki,1,33,
+tentaculeo,1,33,
+tentacles_in_pussy,0,33,
+tentacle_link,0,33,
+teknikolor,1,33,
+teckwolffr,0,33,
+teasing_with_tail,0,33,
+teabag,0,33,
+tasmaniandevil,1,33,
+tanen,4,33,
+tan_po_po_tan,1,33,
+tammy_(averyshadydolphin),4,33,
+tallyburd,1,33,john_sheppard
+takathekitty,4,33,
+takataka_(character),4,33,
+tail_whip,0,33,tail_strike
+tail_burst,0,33,
+tachidomatte,1,33,
+syntarsis,1,33,kessitar
+sylvanos,4,33,
+switch_charger,0,33,
+swift_wind_(she-ra),4,33,
+sweetroll,0,33,
+swaggy,4,33,
+sve_ulfrota,4,33,
+suzunaki_(pekoneko),4,33,
+sunny_(wof),4,33,
+sunny_(trash_character),4,33,
+suite,0,33,
+sugarcube_corner,0,33,
+sugarcat,1,33,
+styx_nacht_ii,4,33,
+streif,1,33,
+strained,0,33,
+straddling_leg,0,33,
+stingmon,5,33,
+steve_(beaver_and_steve),4,33,steve_(b&s)
+stepparent,0,33,"step_parent,step_parents,stepparents"
+stepdaughter,0,33,step_daughter
+stead_(connivingrat),4,33,
+starry-eyed_surprise,4,33,
+staravia,5,33,
+star_trim_furfrou,5,33,"furfrou_(star),furfrou_(star_form),furfrou_(star_forme),furfrou_(star_trim),furfrou_star,furfrou_star_form,furfrou_star_forme,furfrou_star_trim,star_form_furfrou,star_forme_furfrou,star_furfrou"
+stan_luckbun,4,33,
+stabbed_heart,0,33,
+st637,1,33,
+squishheart,1,33,
+squirrelflight_(warriors),4,33,
+squirm_(sound_effect),0,33,
+springhare,5,33,
+spring_bane,1,33,
+spotted_tentacles,0,33,
+spit_bridge,0,33,
+spiritpaw_(skyguy),4,33,
+spike_(the_land_before_time),4,33,"gentle_giant_spike,gentle_spike,spike_(land_before_time),spike_(lbt),spike_(tlbt)"
+speeddrop,1,33,
+speech_box,0,33,
+soothe_bell,0,33,
+sonictopfan,1,33,
+soendapuss,1,33,
+sock_gag,0,33,
+snub-nosed_monkey,5,33,"rhinopithecus,snub-nose_monkey,snub_nose_monkey,snub_nosed_monkey,snubnose_monkey,snubnosed_monkey"
+snow-wolf,1,33,
+snes_cartridge,0,33,
+snake_wyvern,5,33,
+smashbeaw,1,33,
+small_shirt,0,33,
+small_on_top,3,33,
+slushy_(lilo_and_stitch),4,33,"experiment_523,slushy_(l&s),slushy_(las),slushy_(lilo_&_stitch),slushy_(stitch)"
+slippery,0,33,
+slime_princess_(towergirls),4,33,
+sleveless_shirt,0,33,
+sleeveless_sweater,0,33,
+sleepy_(character),4,33,
+skyevixensartwork,1,33,
+skycroc,1,33,
+skull_panties,0,33,
+skin_pattern,0,33,
+sketchywolf-13,1,33,
+skateboard_girl,4,33,
+siwo_(artist),1,33,"shatikutiku,siwosiwosi"
+sitting_on_shoulder,0,33,
+sinthela,4,33,
+sindaraye,5,33,
+silvertale,1,33,
+sickyicky,1,33,
+shub-niggurath_(h.p._lovecraft),4,33,
+shock_beast17,1,33,
+shirt_pocket,0,33,
+shira_schattenklaue,4,33,
+shinobu_oshino,4,33,
+shin_mare,1,33,
+shikokubo,1,33,
+shieldon,5,33,
+shibadoodles,1,33,
+sher,4,33,
+shelly_(wirelessshiba),4,33,
+shawnstar,1,33,shawnghost
+shawn_guku_(shawnguku),4,33,
+shania,4,33,
+shamisen,0,33,
+shalulu_(enen666),4,33,
+shalonesk,1,33,
+shallow_rimming,0,33,
+shadow_kiana,4,33,
+sex_show,0,33,
+sentient_ooze_(roanoak),4,33,
+selling,0,33,
+self_spanking,0,33,
+seitora,1,33,
+segmented_horn,0,33,
+secret_desires,1,33,
+secret-pony,1,33,
+seaandsunshine,1,33,
+sea_cucumber,5,33,"holothurian,holothuroidea,holothuroidean"
+scp-682-b,4,33,
+scp-3887-b,4,33,
+scorbunny_(bluejuicyjuice),4,33,
+scarlet_(shiro-neko),4,33,
+save_the_princess,3,33,
+saturni,4,33,
+sashi,4,33,
+sarah_(disambiguation),4,33,sarah
+sanji_(one_piece),4,33,
+sangerla_(anselme),4,33,
+samuraijackin,1,33,
+samba_de_amigo,3,33,
+samantha_(seyferwolf),4,33,
+salon,0,33,
+salacious3d,1,33,
+sage_(kaerfflow),4,33,
+saberuneko,1,33,
+sabbern,4,33,
+sa1ntmax,1,33,
+ryu_(bonedra),4,33,
+ryo-ohki,4,33,ryo_ohki
+rydenan,1,33,
+ryan_(zourik),4,33,
+rusty_wollef,4,33,
+rusty_(bluey),4,33,
+russianbluenx01,1,33,
+rufflet,5,33,
+ruby_sahira_(haybuck),4,33,
+ruby_(nope797),4,33,
+ruby_(comfycreations),4,33,
+rubbery,0,33,
+rosy_the_rascal_(archie),4,33,
+rose_lizrova,4,33,
+room_701,0,33,
+rollriver,1,33,
+rogerbacon,1,33,
+rodecchi,1,33,
+rockblackhorn,4,33,
+robby_(beez),4,33,
+robbie_(mangeybones),4,33,
+rivets,0,33,
+river_(fuze),4,33,
+ringo_(kitfox-crimson),4,33,
+riley_(tits),4,33,
+rick_taylor,4,33,
+rick_griffin_(character),4,33,
+rhubella_rat,4,33,
+reyes_(sepulte),4,33,
+reversecall,1,33,
+retra,4,33,
+reisuke_(whiterabbit95),4,33,
+references,0,33,
+red_winds,4,33,
+red_button,0,33,
+red_baseball_cap,0,33,
+rebornica,1,33,"deoxy,deoxy_(artist),deoxyribonucleic"
+ravirus,4,33,
+ravenclaw_(siblings),4,33,
+ratdraws,1,33,
+rat_maze,0,33,
+rangstrom,4,33,
+rancid_kill,4,33,
+ramish,1,33,
+ram_(deeroni),4,33,
+raghan_(character),4,33,
+rabiah,4,33,
+qvq1024,1,33,
+quote's_mom_(quotefox),4,33,
+quiver_(arrows),0,33,
+queen-zelda,1,33,
+q14658091,1,33,
+pyrope_(genericdef),4,33,
+pussy_sweat,0,33,
+pushed,0,33,
+purplevulpes,1,33,
+purpledragonrei,1,33,
+purple_necklace,0,33,
+purple_hairband,0,33,
+purple_curtains,0,33,
+pup_(puppyluxe),4,33,pup_(princeluxio)
+pulling_arms,0,33,
+pull-ups,0,33,
+psychonauts,3,33,
+ps5_console,0,33,
+protatypo,1,33,
+pristine_(velociripper),4,33,
+print_mug,0,33,
+print_bra,0,33,
+pride_color_cape,0,33,
+precum_on_floor,0,33,
+precum_on_breasts,0,33,
+precum_inside,0,33,
+power_play,0,33,
+potatobud3,1,33,
+post_nut_clarity,0,33,
+polly_(sherlock_hound),4,33,
+polkscastle,1,33,
+poison_(final_fight),4,33,
+poi_(last_origin),4,33,
+pocket_pussies,3,33,
+po_(teletubbies),4,33,
+plug_(jewelry),0,33,plugs
+plasmoid_(lilo_and_stitch),4,33,"experiment_617,plasmoid_(l&s),plasmoid_(las),plasmoid_(lilo_&_stitch),plasmoid_(stitch)"
+planetside_2,3,33,
+plaid_stripes_(mlp),4,33,
+pj_saber,4,33,
+pizzalizzard,1,33,
+pizzacat_(zhanbow),4,33,
+pixiv_logo,0,33,
+pixels,0,33,
+pixel_flare,1,33,
+pinkyhemmit,4,33,
+pinkdiablo,1,33,
+pink_eyeliner,0,33,
+pink_berets,4,33,
+pineco,5,33,
+pike_(weapon),0,33,
+piilsud,1,33,
+phoksi_(phluks),4,33,
+petruz,1,33,
+petite-pumpkin,1,33,
+petina_demouse,4,33,
+pennicandies,1,33,
+penni-chan69,1,33,
+penis_sheet,0,33,
+penis_on_leg,0,33,
+pencil_holder,0,33,
+pearl_aurora,4,33,
+peaking,0,33,
+paws_(cyanroll),4,33,
+paw_on_leg,0,33,
+patoriotto,1,33,
+paradim,4,33,
+panquequecin,1,33,
+pango_(klonoa),4,33,
+ottiro,1,33,
+ottanta,1,33,
+otakuwolf,1,33,
+ose_(megami_tensei),4,33,
+oscar_(pickles-hyena),4,33,
+oscar_(liftzors),4,33,
+oreo_(kilinah),4,33,
+orenji_salmonpaw,4,33,
+orange_leaves,0,33,
+open_muzzle,0,33,
+onzeno,1,33,
+ondine,1,33,
+on_the_forest_trail,3,33,
+omyurice,1,33,
+olla,1,33,
+olchas,1,33,
+ohayou_milk,1,33,
+of_orcs_and_men,3,33,
+occam_(character),4,33,
+obese_herm,0,33,
+nyl2,1,33,
+nyago,4,33,
+nue_stargazer,4,33,
+nudging,0,33,
+notcuti,1,33,
+norn,5,33,
+nookdae,1,33,
+nomad_the_wolf,4,33,
+nobu_(nobusuke),4,33,
+no_way_fag,3,33,
+no.1_machine,1,33,
+nitro+chiral,3,33,
+nipple_tag,0,33,
+nipple_penetrating,0,33,
+nipple_oviposition,0,33,
+nintendarkland,1,33,
+ningerion,1,33,taelunder
+nina_(markie),4,33,
+nikki_kofi,4,33,
+nikki_emberson,4,33,
+nightwing_(shiro-neko),4,33,
+nighdruth,1,33,
+nigel_(zummeng),4,33,
+nezulet,1,33,
+new_york,0,33,
+neve_(naneve),4,33,
+nevan_nedall_(colorist),1,33,
+nermal_(garfield),4,33,
+nergal.bragi,1,33,
+nere,4,33,
+neopolitan_(rwby),4,33,
+nelone,1,33,
+necronomicon,4,33,
+navy_fur,0,33,
+natyss,4,33,
+narram,1,33,"narram's_universe,narram_art,narrams_universe"
+narcoticdream,1,33,
+naomi_(ajdurai),4,33,
+nanette,4,33,
+n'cathe,4,33,
+mythil_flower,1,33,
+mysa_(violetgarden),4,33,
+myles_(nuttinpurrsonal),4,33,
+my_little_fetish,3,33,
+mwako,4,33,
+multiplayer_game_screen,0,33,
+multicolored_heels,0,33,
+mukucookie,1,33,
+msnake,1,33,
+msdeadsoul,1,33,
+mrwhiskerz,1,33,
+mrs._stein,1,33,
+mrs._puff,4,33,
+mrplow34,1,33,
+mrawl,1,33,mrawl_(artist)
+mr-haitch,1,33,
+moxiepawler_(artist),1,33,
+mountainjade,1,33,
+mountainfolk,5,33,
+moujya,1,33,
+moronileon,1,33,
+moped,0,33,
+moonkin,5,33,
+monster_of_the_day,0,33,
+monotone_genital_slit,0,33,
+monotone_crest,0,33,
+monoglove,0,33,
+moa_(warframe),5,33,
+mnstr,1,33,
+mleth,1,33,
+mizuki_(samuraidemon),4,33,
+mistressmunchies,1,33,
+missing_wings,0,33,
+mishra,4,33,
+misha_(character),4,33,
+mira_(silent_hill),4,33,
+minotaur_(the_legend_of_pipi),4,33,
+miniature,0,33,
+minekoo2,1,33,oyasumineko_(artist)
+mime_(htf),4,33,
+millie_(jigglephysics),4,33,
+milky_(jewelpet),4,33,"milky_(jewel_pet),milky_quartz_(jewel_pet),milky_quartz_(jewelpet)"
+milkshake-lion,1,33,
+milkriot,1,33,
+milk_snake,5,33,milksnake
+mila_(president_alexander),4,33,
+mikojin,1,33,
+mike_(brownieclop),4,33,
+mikanishi,1,33,
+mika_(disambiguation),4,33,"mika,mika_(character),mika_(oc)"
+miffy,4,33,
+midsummernightsdream,1,33,
+mid_skb,1,33,
+micro_panties,0,33,"micro-panties,micropanties"
+michisamael,1,33,
+mewman,5,33,
+metro_2033,3,33,
+messy_sex,0,33,"disheveled_sex,unkempt_sex"
+messerschmitt,3,33,
+mervyn,4,33,
+merrymaladies,1,33,
+meowz,4,33,
+meowdolls,1,33,
+menebunny,1,33,
+melody_(zhanbow),4,33,
+melody_(lolodepuzlo),4,33,
+melanie_(diddlier),4,33,
+meirune,1,33,
+megi,1,33,
+mecanik_panik,1,33,
+mearu,1,33,swagtail
+meal,0,33,
+me_gusta,0,33,
+mavis_delcat,4,33,
+maude_o'dell,4,33,
+matydraws_(artist),1,33,
+matthias,4,33,
+matthew_gein,4,33,
+matthew_(ataildesired),4,33,
+matsuo_kunikuni,4,33,
+masada,4,33,
+marycitrus,1,33,
+mars_fidchell,4,33,
+mars_(solarlewds),4,33,
+marle_talbender_(darkflamewolf),4,33,
+mark_(fuze),4,33,
+mantis_lord,4,33,
+manlyshark,1,33,
+mango_pervdragon,4,33,
+mami_tomoe,4,33,"mami_(madoka),mami_(pmmm),mami_(puella_magi_madoka_magica),tomoe_mami"
+malcolm_(changeling_tale),4,33,
+malcolm_(amocin),4,33,
+mal_the_zigzagoon,4,33,
+mal,4,33,
+makaidos,4,33,
+majestic,0,33,
+maiya_(gundam_build_divers_re:rise),4,33,
+magictukai_aaaa,1,33,
+maggie_(zapper:_one_wicked_cricket),4,33,
+mackerel_(fish),5,33,
+macadam,1,33,
+lynn_badger,4,33,
+luu_(lonbluewolf),4,33,
+lutrine_penis,0,33,
+lust_(kuroodod),4,33,
+luriga_freefox,4,33,
+lunar_(series),3,33,
+lunamon,5,33,
+lunak,4,33,
+luna_wilde_(crewefox),4,33,
+lumi_(mrnutty12),4,33,
+lucy_black,4,33,
+louise_(the-minuscule-task),4,33,
+lotulist,1,33,
+looking_at_paw,0,33,
+longtailclops,5,33,
+longcoat,0,33,
+loah_wunny,1,33,
+littlebigplanet,3,33,little_big_planet
+little_man_(sloss),4,33,
+liquid_(negieggy),4,33,
+linkerluis,1,33,
+lin_elamura_(novaduskpaw),4,33,
+lilian_(solarlewds),4,33,
+lilac_fur,0,33,
+lia_(naexus),4,33,
+lewdamone,1,33,
+levi_(karisuto),4,33,
+leo_(leoafterhours),4,33,
+lemurfeature,1,33,
+leinad56,1,33,
+legolas_panthar,4,33,
+legacy_of_kain,3,33,
+legacy350,1,33,legacy_350
+leg_frill,0,33,
+leg_focus,0,33,
+leanfide,1,33,
+lazy_work_horse,1,33,
+lawrence_(honeyboyy),4,33,
+laura_(lddraws),4,33,
+latius,5,33,
+latex_dungeon,3,33,
+lashes,0,33,
+laser_beam,0,33,
+lars_(code-shark101),4,33,
+larathelabrat,1,33,ness_(artist)
+lapsushominum,1,33,
+lagny_the_opossum,4,33,
+lady_and_the_tramp_2,3,33,
+lacertius,4,33,
+lab_(disambiguation),6,33,lab
+kzy_r9877,1,33,
+kyuukon,1,33,
+kylefrommicrosoft,1,33,
+kylar_mclaughlin,4,33,
+kutv,1,33,
+kukan97,1,33,
+krixroos,1,33,
+krista,4,33,
+krinn,4,33,
+krillin,4,33,
+koviell,4,33,
+koro_(koro_kiama),4,33,
+kokumotsu,1,33,
+kokoni_(character),4,33,
+koala_kong,4,33,
+knotalot,1,33,
+knoah,4,33,
+knifefish,5,33,"gymnotiform,gymnotiforme,knife_fish,neotropical_knifefish,south_american_knifefish"
+klystron,4,33,
+kivalewds,1,33,
+kitunelovealt,1,33,
+kitsunemiko,4,33,
+kit_bash,4,33,
+kit_(ratchet_and_clank),4,33,
+kirillk,1,33,
+kinkybird,1,33,
+kinglom,1,33,
+king's_play,3,33,
+kim_(mykegreywolf),4,33,
+kiliminstra,1,33,
+kijima222,1,33,
+kiara_(burhuru),4,33,
+kestenan,4,33,
+kemokemono,1,33,
+kelv_(vdisco),4,33,
+keino_(firestarterwolf),4,33,
+kehto,4,33,
+keenora,4,33,
+kee,1,33,
+kcravenyote,1,33,
+kaz_(foxialewd),4,33,
+kayama_akimaru,1,33,
+kay_(legend_of_kay),4,33,
+katherine_(reindeer),4,33,
+kassidi_(moonfluffmf),4,33,
+karishad_(housepets!),4,33,
+kardia_(jigglephysics),4,33,
+karaken,4,33,
+kanie_(kanel),4,33,
+kana_(draugr),4,33,
+kampferwolf,1,33,rpgkampfer
+kaj,4,33,
+kaizen2582,1,33,
+kai'sa_(lol),4,33,
+kado,4,33,
+jyuri_(ziroro326),4,33,
+jyan_nashson,4,33,
+just_a_small_pup,1,33,
+julie_ann_irons,4,33,
+julee,4,33,
+juke_rivers,4,33,
+jue,0,33,
+juanp1arts,1,33,
+joshua_(longblueclaw),4,33,
+josh_kass,4,33,
+joon,1,33,
+jontron,3,33,
+jokku,1,33,
+joe_(physicswolf),4,33,
+joe_(fuze),4,33,
+joanna_the_goanna,4,33,"joanna_(rescuers),joanna_(the_rescuers),joanna_goanna"
+jinnoaka,4,33,
+jessica_(bcb),4,33,
+jeronmuh,1,33,
+jerma985,3,33,
+jericho_(ulfhednar),4,33,
+jeff_the_killer,4,33,
+jeancito93jean,1,33,
+jeana_(zombieray10),4,33,
+jberrserker,1,33,
+jay_(jackthespartan),4,33,
+jawsfm,1,33,
+jasmine_(draugr),4,33,
+japanese_meowstic,1,33,
+james_fox,4,33,
+james_(videah),4,33,
+jam_(juicydemon),4,33,
+jakob_(megfluff),4,33,
+jaijai,1,33,
+jahida_mccloud,4,33,
+jackson_grayman,4,33,
+jackiry,1,33,
+jacket_on_shoulders,0,33,
+jackalope_humanoid,5,33,
+izzy_izumi,4,33,koushiro_izumi
+ixum,1,33,mmoboys_(artist)
+ivona_(vrabo),4,33,
+israel_(artesderatzyu),4,33,
+island_kahuna_hapu,4,33,"hapu_(pokemon),hapu_(pokémon)"
+irkingir,1,33,
+iris-icecry,1,33,
+irda,4,33,
+iomar,1,33,
+invictus_(caticus),4,33,
+intravenous_drip,0,33,
+intersex_penetrating_anthro,0,33,
+implied_violence,0,33,
+impact_effect,0,33,
+immunefox,1,33,
+imminent_torture,0,33,
+img_(futaba),3,33,
+ignis,4,33,
+idian,4,33,
+ice_hair,0,33,"frozen_hair,icicle_hair"
+icarus_(darkgem),4,33,
+ibuo,1,33,
+i_was_banished_from_the_party_and_became_the_leader_of_the_strongest_female_dragon_party!,3,33,
+hypno-hatter,1,33,
+hyper_pubes,0,33,
+hunter_(swissdr4g0n),4,33,
+hunchback,0,33,
+human_and_animal_penis,0,33,
+human_and_animal_genitalia,0,33,
+hudson_(powfooo),4,33,
+htodinth,1,33,
+hoss,4,33,
+hospital_room,0,33,
+hormone_replacement_therapy,0,33,
+horaco,1,33,
+hoof_lick,0,33,licking_hooves
+homeless_bellwether,4,33,
+homage_(fallout_equestria),4,33,homage_(mlp)
+hollow_(minikane),4,33,
+holding_toothbrush,0,33,
+holding_teapot,0,33,"holding_tea_pot,holding_tea_pots,holding_teapots"
+holding_swim_ring,0,33,
+holding_cross,0,33,
+holding_art,0,33,
+hirame42,1,33,
+hindy-poo,1,33,
+himitsu,1,33,
+himawari_shinomiya,4,33,
+highland_psycrhen,5,33,
+hexapod,0,33,
+henkei,4,33,
+hellap,1,33,
+heartseeker_yuumi,4,33,
+hearts_around_penis,0,33,
+heartbreak,0,33,
+heart_with_emanata,0,33,
+heart_shaped_flare,0,33,
+heart_locket,0,33,
+heart_attack,0,33,
+haze_(cyberblade),4,33,
+hazardbarzard,3,33,
+harushipanda,1,33,
+harley_davidson,3,33,
+hank_hill,4,33,
+hands_over_mouth,0,33,
+hands_on_wrists,0,33,
+hands_in_hair,0,33,
+hand_on_tentacle,0,33,
+hand_on_own_waist,0,33,
+hana_uzaki,4,33,
+hana_(salkitten),4,33,
+hama_(ceehaz),4,33,
+halgalaz,1,33,
+hair_in_mouth,0,33,
+hainequem,1,33,
+gwen_fawkes,4,33,
+gundam_build_fighters,3,33,
+gumshoos,5,33,
+gueuzav,1,33,
+guayabajava,1,33,
+guardian_(twokinds),4,33,
+guacamolesenpai,1,33,
+growth_potion,0,33,
+grey_belt,0,33,gray_belt
+green_swimming_trunks,0,33,
+green_suit,0,33,
+green_outfit,0,33,
+grantly,4,33,
+grade_prostitution,0,33,
+gordon_ramsay,4,33,
+goodbiscuit,1,33,
+golden_snub-nosed_monkey,5,33,
+gold_lips,0,33,
+gold_areola,0,33,
+godseeker,4,33,
+glistening_skinsuit,0,33,"glistening_skin_suit,shiny_skin_suit,shiny_skinsuit"
+glass_wall,0,33,
+gio-joe,1,33,
+ginger_(jaeh),4,33,
+gina_(darkspot),4,33,
+ghrom,4,33,
+ghastly_stitches,4,33,
+gg_wild,4,33,
+geometry_dash,3,33,
+geodat64,1,33,
+genevieve_(proxer),4,33,
+genesis_controller,0,33,mega_drive_controller
+general_motors,3,33,
+gene_kruger,4,33,
+genderqueer_pride_colors,0,33,
+gemwist,1,33,
+gaz_(gazaster),4,33,
+garugirosonicshadow,1,33,
+garrus368,1,33,
+garage_door,0,33,
+game_over_screen,0,33,
+fuzz_fizz,4,33,
+futuristic_clothing,0,33,
+fushisha_o,1,33,
+funny_post_number,0,33,
+funnel_gag,0,33,
+fultemounte,1,33,
+fully_clothed_to_bottomless,0,33,
+fruit_dragon,5,33,
+frisky_(under(her)tail),4,33,
+frilly_bikini,0,33,frilled_bikini
+freetobegreene,1,33,
+fred_jones,4,33,"fred_(scooby),fred_(scooby-doo),fred_(scooby_doo),fred_(scoobydoo)"
+fred,4,33,
+fransi,1,33,
+fran_sinclair,4,33,
+foxy_kitsune,4,33,
+foxinjacket,1,33,"anabel_(artist),fox_in_jacket,the_domestic_vampire"
+foxhole,3,33,
+foshka,4,33,
+fortissima's_treasure_hunters,3,33,"fortissima_treasure_hunters,fortissimas_treasure_hunters"
+forsaken,4,33,
+foreskin_fingering,0,33,
+foot_torture,0,33,
+foot_on_breast,0,33,
+food_on_penis,0,33,
+fongsaunder,1,33,
+fluffy_bloodfang,4,33,
+floor_lamp,0,33,"floor_lamps,standing_lamp,standing_lamps"
+flint_(qoolbunart),4,33,
+flight_jacket,0,33,
+fliegen80s,1,33,
+flashing_penis,0,33,
+flaming_eyebrows,0,33,"fire_eyebrow,fire_eyebrows,flaming_eyebrow"
+fishnet_pantyhose,0,33,
+fishnet_footwear,0,33,
+firewolf,5,33,
+fer,1,33,
+fenton_crackshell,4,33,fenton_crackshell-cabrera
+fenekmon,4,33,
+femsuit,0,33,
+female_teacher,0,33,
+female_protagonist_(pokemon_sv),4,33,
+felinid,5,33,
+felicity_(9tales),4,33,
+felicia_sundew,4,33,
+feet_on_thighs,0,33,
+feet_on_furniture,0,33,
+fauxanne,4,33,
+fanzeem,1,33,erzhuxa
+fangame,0,33,
+falling_object,0,33,
+falinks,5,33,
+eyes_rolled,0,33,
+exploration,0,33,
+experiment_pod,0,33,experiment_pods
+event,0,33,
+eurasian_wolf,5,33,"grey_siberian_wolf,russian_wolf,siberian_wolf"
+ethernsfw,1,33,
+eros,4,33,
+energyvector,1,33,
+emoti,1,33,
+emofuri,3,33,
+emilythepenguin,1,33,
+emily_moegelvang,4,33,
+ember_mercury,4,33,
+emadbz,1,33,
+elmyra_duff,4,33,
+ellie_(zp92),4,33,
+electricity_creature,5,33,"electric_creature,electrical_creature,living_electric,living_electrical,living_electricity"
+election,0,33,
+einsamkeitus,1,33,
+eiji_kakihana_(odd_taxi),4,33,
+eggonaught,1,33,
+eden/fig_(viroveteruscy),4,33,
+echo_(overwatch),4,33,
+dwebble,5,33,
+duncan_(k-9),4,33,
+duke_(fritz_the_cat),4,33,
+druidogger,1,33,
+drawing_on_body,0,33,
+drakvir,4,33,
+drakians,4,33,
+drahgoon,1,33,
+dragster_hayashi,4,33,
+dragoooon1223,1,33,
+dragonboii78,1,33,
+dragon_soul_e,1,33,
+dragon_princess_iii,4,33,
+dragon_costume,0,33,
+dr.chips,1,33,
+dr._bowser,4,33,
+double_nipple_penetration,0,33,
+doodlebun,1,33,
+domi_(altowovurr),4,33,
+dokyudokyu1,1,33,
+dojo_kanojo_cho,4,33,
+dizzyt,1,33,geyn
+disembodied_torso,0,33,
+discworld,3,33,
+discarded_shirt,0,33,
+dis_the_fox,4,33,
+dimsun,1,33,
+digimon_data_squad,3,33,
+digidevil,5,33,
+dietshantytown,1,33,
+diboci,1,33,
+diane_henderson,4,33,
+dialuca01,4,33,
+dexdoggy,4,33,
+devious_grin,0,33,
+deus_(the_suicider_rat),4,33,
+deterex525,1,33,
+desmond_sutherland,4,33,
+desfrog,1,33,
+depravedstar,1,33,
+delilah_evona,4,33,
+dekitama_(artist),1,33,
+deee,1,33,
+decko,1,33,
+deathlyinnocent,1,33,
+death_star,0,33,
+dean_(9tales),4,33,
+darzycat,1,33,
+daru_brek,1,33,
+dark_tuft,0,33,
+dark_high_heels,0,33,
+dante_(jaeger),4,33,
+dani_(tegerio),4,33,
+dandy_(legendz),4,33,
+dandelion_(character),4,33,
+damien_hayabusa,4,33,
+dakota_(wiprogress),4,33,
+daikung,1,33,
+cyberdramon,5,33,
+cutesauce,1,33,
+cum_on_own_butt,0,33,"cum_on_own_ass,cum_on_own_booty"
+cum_on_diaper,0,33,
+cum_glazed,0,33,
+cum_burp,0,33,
+cum_blending,0,33,
+ctw36,1,33,charles_williams
+cryogonal,5,33,
+crumb_(buizel),4,33,
+coyate23,1,33,
+cow_suit,0,33,
+countershade_sheath,0,33,
+cosmic,1,33,
+corsack,1,33,
+cora_(shamelesss),4,33,
+copper_(character),4,33,
+cooper_(artist),1,33,
+controller_on_table,0,33,
+contessa_(animalympics),4,33,
+connie_(big_mouth),4,33,
+compact,0,33,
+colin_(moodyferret),4,33,
+cole_(temptations_ballad),4,33,
+coffilatte_(artist),1,33,
+cocoa_(cheesecaker),4,33,
+cock_udder,0,33,
+clothed_gynomorph,0,33,
+clarissa_arts,1,33,
+clara_(meesh),4,33,
+citag_(citagalpha),4,33,
+cirrus_(modeseven),4,33,
+ciroking,1,33,
+cinnamon_(freckles),4,33,
+cinicalvoice,1,33,
+chuckling,0,33,
+chrono-fur,1,33,
+chris_pratt,4,33,
+chloe_(jolo),4,33,
+chip_(chipchell),4,33,
+chikuwabu,1,33,
+chikin,5,33,
+chicken_(nuclear_throne),4,33,
+chica_(cobat),4,33,
+chevka,4,33,
+chest_wound,0,33,
+cherrie,4,33,
+checkhoff,1,33,
+checkered_kerchief,0,33,
+che_ri_ni,1,33,
+cent_sign,0,33,¢
+celtic_cross,0,33,
+celestian_(ashnurazg),4,33,
+ccruelangel,1,33,
+catarsi,1,33,
+catalyst_(xenoblade),4,33,
+cat-bee_(poppy_playtime),4,33,
+casey_(moot_point),4,33,
+carry_(scorpdk),4,33,
+carrotcaramel,1,33,"kyarottokyarameru,きゃろっときゃらめる"
+carbene_(viwrastupr),4,33,
+cannonball_prey,0,33,
+candylady,1,33,
+calamari,4,33,
+cacklin,5,33,
+bxb777,1,33,
+butt_touch,0,33,
+butt_kiss,0,33,
+butt_biting,0,33,
+busybunny,1,33,perkypossum
+burning_clothing,0,33,
+bunnynha,1,33,
+buckwulf_(artist),1,33,
+bride_of_frankestein_(film),3,33,
+brick_background,0,33,
+breast_poke,0,33,
+breast_massage,0,33,
+brandy,4,33,
+brain_freeze,0,33,
+boston_crab,0,33,
+boston.babe,1,33,
+bosom,0,33,
+boom_(seahawks),4,33,
+bonkieblues,1,33,
+bonelesswolf,1,33,
+bone_breaking,0,33,
+bon_bon_(ocaritna),4,33,
+bodbloat,1,33,
+bobtail,0,33,
+bobert_(character),4,33,
+boarball,1,33,
+blunderbuss,0,33,
+bluevmon,4,33,
+blowjob_face,0,33,
+blau,4,33,
+blackmoon1504,1,33,
+black_spines,0,33,
+black_outfit,0,33,
+black_leg_warmers,0,33,
+black_kyurem,5,33,
+black_fin,0,33,
+black_bowtie,0,33,
+birdpawss,1,33,
+biran,4,33,
+bimbo_deer,4,33,
+billieboypup,1,33,
+big_perineum,0,33,
+big_floppa,4,33,
+bichosan,1,33,
+betsuto,1,33,
+besthetz,1,33,
+ben_(rollingstoneeeeee),4,33,
+bellafray,4,33,
+beau_(starshippizza),4,33,
+bearhybrid,1,33,cunningfox
+bear-box_doodletimes,1,33,
+beam,0,33,
+beachwear,0,33,
+bboyhunter_(character),4,33,
+bb-8,4,33,
+barold_(animal_crossing),4,33,
+bare_sands,3,33,
+baralust,1,33,
+bane_(dc),4,33,bane_(batman)
+bandaged_ear,0,33,
+balloon_animal,0,33,
+ball_lift,0,33,
+bald_female,0,33,
+bajanic,1,33,
+bad_boy,0,33,
+azriel,4,33,
+azazel_(character),4,33,
+azafox,1,33,
+aysaflamepaw,1,33,
+avalath_tiger,1,33,
+auro_(auropaw),4,33,
+atta_catto,1,33,
+atrele_kasha,4,33,
+atpandotcom,1,33,
+atlas,4,33,
+atiratael,4,33,
+astroblush,1,33,
+aster,4,33,
+ashley_(shaymin),4,33,
+ashley_(igph),4,33,
+ashkor,4,33,
+artimas,1,33,
+arthur_draco,4,33,
+arm_around_head,0,33,
+arlene_(garfield),4,33,
+aries_(symbol),0,33,
+argent_cookie,1,33,
+arflin_(species),5,33,
+archigram,4,33,
+arched_soles,0,33,
+arboreal,1,33,
+arakupa,1,33,
+araceli_(bzeh),4,33,
+applause,0,33,
+apin59,1,33,
+aphid,5,33,
+anzox,4,33,
+anonyxnugax,1,33,
+ankie.,1,33,
+ankard,1,33,
+animal_bride_4,3,33,
+anima_(lord_salt),4,33,
+angrycabooseart,1,33,
+angrycaboose,1,33,
+andy_(heyitscousindave),4,33,
+androx,4,33,
+andrew_(bayron),4,33,
+ammy_fluff_(character),4,33,
+ambiguous_non-humanoid_creature,0,33,
+amarynceus,1,33,
+amarok_(bbd),4,33,
+amanda_payne,1,33,
+aman,4,33,amani
+amalthea,4,33,
+altoryu,4,33,
+altmer,5,33,
+alternate_version_at_patreon,0,33,
+alomomola,5,33,
+alolan_raticate,5,33,"alola_raticate,raticate_(alola_form),raticate_(alolan_form)"
+aloejuice0917,1,33,
+almudron,5,33,
+allister_carver,4,33,
+allie_(rimentus),4,33,
+alleros_(howlingampharos),4,33,
+alice_angel,4,33,
+alexis_velvet,4,33,
+alec's_meerkat,4,33,
+albert_wesker_(resident_evil),4,33,
+al_(littlerager),4,33,
+al'piano_(icma),4,33,
+akishycat,1,33,
+akelyx_(artist),1,33,
+aith_the_imp,4,33,
+ageaus,1,33,
+against_door,0,33,
+african_wild_ass,5,33,
+aevery,4,33,
+adam_(spottyadam),4,33,
+ace_(the_human_heart),4,33,
+aaa-its-spook,1,33,
+a_stranger12,1,33,
+a_cat_is_fine_too,3,33,
+934,1,33,
+82ma47u,1,33,
+65wata,1,33,
+6-9,4,33,
+25:18,7,33,
+zoey_(zoeyleafy),4,32,
+zipper_swimsuit,0,32,
+zionworldartist,1,32,
+ziom05,1,32,
+ziats_(ziats),4,32,
+zhengfox,1,32,
+zetal,4,32,
+zenyatta_(overwatch),4,32,
+zelinda,4,32,
+zebesian,5,32,
+zalgo_edit,0,32,
+zakiko,1,32,
+zach_(rmaster),4,32,
+zabi_(zabish),4,32,
+yuzuki_yukari,4,32,
+yunaki,1,32,
+yuki-the-fox,3,32,
+yoyofreakcj,1,32,cj
+ykoriana,1,32,
+yifftrooper501,1,32,
+yen_(character),4,32,
+yellow_apron,0,32,
+yay,0,32,
+yanyan,4,32,
+yang_(yin_yang_yo!),4,32,yang_(yin_yang_yo)
+yamausagi0619,1,32,
+yakiniku,1,32,
+xxxfurryneddyxxx,1,32,
+xneobeastx,1,32,
+xetem_ilekex,4,32,
+xerlexer,1,32,
+xenthra_(anotherpersons129),4,32,
+xenozaiko,1,32,
+xdtopsu01,1,32,
+xbox_series_x/s,3,32,"xbox_series_s_&_series_x,xbox_series_s_&_x,xbox_series_s_and_series_x,xbox_series_s_and_x,xbox_series_s|x,xbox_series_x_&_s,xbox_series_x_&_series_s,xbox_series_x_and_s,xbox_series_x_and_series_s,xbox_series_x|s"
+xan,4,32,
+x-mas,3,32,
+wuffe,1,32,
+wrist_on_knee,0,32,
+wookylee,1,32,
+wood_chair,0,32,
+winter_nights,4,32,
+winged_helmet,0,32,
+willie_munk,4,32,
+wildhound,1,32,
+whitestarfoxline,1,32,
+whiteartblood,1,32,
+white_tusks,0,32,
+white_spottytail_mage,4,32,
+white_scar,4,32,
+whisky_catfish,4,32,
+whis,4,32,
+whiluna,1,32,
+wendy,4,32,
+waterproof-pigeon,1,32,
+wasabi,0,32,wasabi_sauce
+walliscolours,1,32,
+walkway,0,32,
+wa_lolita,0,32,
+volcana,4,32,
+vix_blackhunt,4,32,
+vivi_(aseethe),4,32,
+virtigogun,1,32,
+vira_(foxxd),4,32,
+vip,0,32,
+vigil_nightwarden,4,32,
+vietnam_war,0,32,
+vicse,1,32,
+viana_(foxxd),4,32,
+vertigo_(character),4,32,
+vert_(vertywerty),4,32,
+vermeil_(arknights),4,32,
+verelle,4,32,
+vanthrys,4,32,
+vanilla_(glacierclear),4,32,
+vanessa_(raydio),4,32,
+valeria_(vestina),4,32,
+vaako-7,1,32,
+v_ig_v,1,32,
+ushimaru,1,32,
+us_state_flag,0,32,
+until_i_scream,1,32,until-i-scream
+unown_l,5,32,
+unobtrusive_watermark,0,32,
+unholysoul,1,32,
+undone_belt,0,32,
+una_(gargoyles),4,32,
+ufiara_(character),4,32,
+type_null,5,32,type:_null
+two_tone_pussy,0,32,
+two_tone_armor,0,32,
+turtle_humanoid,5,32,
+turquoise_ears,0,32,
+turquesa,4,32,
+tucker_(wanderlust),4,32,
+tsukiya_(rajx3523),1,32,
+tsonic,1,32,
+true_toad,5,32,"bufonid,bufonidae"
+trotsworth,1,32,
+tricolor,0,32,
+trell,4,32,
+translucent_water,0,32,
+translucent_thigh_highs,0,32,
+trajan,4,32,
+touching_nipples,0,32,
+touching_back,0,32,
+torn_jacket,0,32,
+torfur_(torfur),4,32,
+tor_dog,4,32,
+top_turned_bottom,0,32,
+tooth_ring,0,32,
+toonsxxx,1,32,
+toongstar,1,32,
+tonycrynight,1,32,
+toned_body,0,32,
+tonberry,5,32,
+tom_(isolatedartest),4,32,
+toku,1,32,徳
+toes_on_balls,0,32,
+todd_(vir-no-vigoratus),4,32,
+tmgt26,1,32,
+tleatlnox59,1,32,
+titallulah,1,32,
+tigershark,5,32,
+tiger_claw,4,32,
+tiffany_frost,4,32,tiffany_(jonas)
+through_window,0,32,
+through_underwear,0,32,
+throatpie,0,32,
+threaded_by_beads,0,32,
+thorthelizardgod,1,32,
+thorn_(ownintime),4,32,
+themasterdramon,1,32,
+thekzx,1,32,
+thefoxbro,1,32,
+thedracojayproduct,1,32,
+thecrowartist,1,32,
+thebunwiththescarf,1,32,
+the_sake_ninja,4,32,
+the_handler_(monster_hunter),4,32,
+the_giga_competition,3,32,
+the_book_of_life,3,32,
+thandor,1,32,
+tezukuri,1,32,
+text_on_helmet,0,32,
+text_on_choker,0,32,
+tetra_(tetrafox),4,32,
+terry_bogard,4,32,
+terrafirma,4,32,
+terence_(disney),4,32,
+tentacle_cum,0,32,
+tellico,1,32,
+teenluma,1,32,
+tech_tails_might,4,32,
+teal_spots,0,32,
+taryn_(demicoeur),4,32,
+tarnb,4,32,
+tapir_penis,0,32,
+tapeworm_(artist),1,32,
+tan_lips,0,32,
+tally_nihil_(artist),1,32,
+tala_(tala128),4,32,
+takoko_yakisoba_(combos_&_doodles),4,32,
+sydney_(trainer-sydney),4,32,
+sybil_vaadia,4,32,
+sword_pointing,0,32,
+swooning,0,32,
+swimming_in_cum,0,32,
+sweet_tomato,1,32,
+swamp_monster,5,32,
+swallowing_eggs,0,32,
+svellera,4,32,
+superedit,1,32,
+sunshine_lolita,4,32,
+sulfur_symbol,0,32,🜏
+suggestive_print,0,32,
+stripes_fur,0,32,
+striped_skirt,0,32,
+stringmouse,1,32,
+streamers,0,32,
+stone_guardians,3,32,
+stompsthecroc,1,32,
+stompdog,4,32,
+stickymon,1,32,
+stickyglobule,1,32,
+stepparent_and_stepchild,0,32,
+stars_around_head,0,32,
+starling_(bird),5,32,
+starlight_spark,1,32,
+stareo_(sona),4,32,
+star_the_shinx,4,32,
+star_rifle,1,32,
+star_lubanah,4,32,
+srklmsama,1,32,
+squizxy,1,32,
+squid_(minecraft),4,32,
+sports_uniform,0,32,
+spooky192_(pixiv),1,32,
+spiked_helmet,0,32,
+spike_piercing,0,32,
+spicy,0,32,
+spiceboybebop,1,32,
+spanish_audio,0,32,
+spam_(zoophobia),4,32,spam_o'brien
+sou_notamine,4,32,
+sosoft,1,32,
+soro,1,32,
+sophia_(wildroxann),4,32,
+somenity,1,32,
+solanum,4,32,
+snowcario_(artist),1,32,
+snoutless,1,32,
+sniffing_request,0,32,
+snake_arms,0,32,
+smokescreen117,1,32,
+smile_hd,0,32,
+slime_string,0,32,
+slime_(minecraft),5,32,
+sleeveless_vest,0,32,
+sleet_(sonic_underground),4,32,
+sleepysealion,1,32,
+sleepyscientist,1,32,
+sleepypandaburr,1,32,doodle_box
+skymill_studios,3,32,
+skwmt4,1,32,
+skurry_(coolperez8),4,32,
+skurry,4,32,
+skrill_(species),5,32,
+skitterpone,1,32,
+skirt_only,0,32,
+sitting_position,0,32,
+sitting_on_counter,0,32,
+sissy_boo,4,32,
+sirfy,1,32,
+sirdoomwolf,1,32,
+sippy_cup,0,32,
+sinua,4,32,
+silia_(elnadrin),4,32,
+sigu,1,32,
+side_slit_skirt,0,32,
+shy_worgen_lady,4,32,
+shoyru,5,32,
+showing_rear,0,32,
+shout_(artist),1,32,
+shira_skuehrem,4,32,
+shining_f,3,32,
+shin_kerron,1,32,
+shimomaro,1,32,
+shimo_hisae,4,32,
+shimenawa,0,32,
+shima_(lucaraixen),4,32,
+shiira,4,32,
+shelby_bunny,4,32,
+sheep_costume,0,32,
+shark_plush,0,32,
+shariea_(character),4,32,
+shadebunny,4,32,
+sfl-art,1,32,
+serule,1,32,
+sencha,4,32,
+selene_(f_draws),4,32,
+seeker,4,32,
+seeka,1,32,
+seabreeze_(mlp),4,32,
+sdawg,1,32,
+sdark391,1,32,
+scylez_art,1,32,
+scream_(movie),3,32,
+scrap,0,32,
+scorchedup,1,32,
+scoops,4,32,
+scissor_twilight,4,32,
+scarlett_(yitexity),4,32,
+savoy,4,32,
+sarichow,1,32,sarisweet
+saranya_deerwalker,4,32,
+sara_prowler,4,32,
+sansyonoki64,1,32,
+sande_(pixiv),1,32,
+san_jaguar,1,32,
+sammy-upvotes,1,32,
+samantha_(samantha-dragon),4,32,
+samanta_(artist),1,32,
+salvation,1,32,
+salugia,5,32,
+salnith,1,32,
+salami_(gazaster),4,32,
+saki_(saki),4,32,
+sage_(disambiguation),6,32,
+sadonghao,1,32,
+sabi_(pyrewerepyre),4,32,
+saberpaws,1,32,
+ryuingi_(character),4,32,
+runny_mascara,0,32,
+ruko,1,32,
+ruffled_bikini,0,32,
+ruef,1,32,
+rubi_(stemingbunbun),4,32,
+rubendevela,1,32,
+rubber_mask,0,32,
+rpg-7,0,32,
+royalbootlace,1,32,
+roxy_lalonde,4,32,
+roxburyfox,1,32,
+rovak,1,32,
+rossy_(rossy105),4,32,
+room_number,0,32,
+ronny_(kloogshicer),4,32,
+rokudenashi,1,32,
+rodann_(colonelyobo),4,32,
+robota_(tegerio),4,32,
+rob_(rgmbleh),4,32,
+rinkhet,1,32,
+rinjiro3,1,32,
+rilea,4,32,
+rigging,0,32,
+riesz,4,32,
+rielle,1,32,
+rico_(vandclash),4,32,
+rhysio,4,32,
+rex_(mario),5,32,
+revy_(mastergodai),4,32,
+reverse_gryphon,5,32,
+reticulated_giraffe_(kemono_friends),4,32,somali_giraffe_(kemono_friends)
+rentcg,1,32,
+renny_(mr.mortecai),4,32,
+rendy_maya,4,32,
+rena_dyne,4,32,
+removing_pants,0,32,
+release,0,32,
+regue_chicken,3,32,
+red_sunglasses,0,32,
+red_eyelashes,0,32,
+red_(redraptor16),4,32,
+red_(fuze),4,32,
+recreational_vehicle,0,32,rv
+razor_the_flying_fox-bat,4,32,
+razor_(-razor-),4,32,
+raylude,1,32,
+raux,1,32,
+ratteu,1,32,
+rath_(ben_10),4,32,rath_(ben_ten)
+ratboy,4,32,
+raspbeary,1,32,"milkydayy,raspbearyart"
+raptorsr,1,32,
+raphiel,1,32,
+rap,0,32,
+ralph_breaks_the_internet,3,32,
+rainstar,4,32,
+rainbow_pride_collar,0,32,
+raihan_(pokemon),4,32,raihan_(pokémon)
+ragnir_(brawlhalla),4,32,
+raf_art,1,32,
+radoslav_kovsai,4,32,
+radio4ctive,1,32,
+radbmaboo,1,32,
+rachael_wilde_(lildredre),4,32,
+r4c00n,1,32,
+r2-series_astromech_droid,5,32,
+r.j._(brok_the_investigator),4,32,
+quvr,1,32,
+quirc,4,32,
+quinn_akaelae,4,32,"quinn_""muerte""_akaelae"
+quib,1,32,
+queen_azshara_(warcraft),4,32,
+pzero,1,32,
+pyrite_(ironbunz),4,32,
+pyrce_(doxxyl),4,32,
+pussy_milking,0,32,
+purple_heels,0,32,
+purple_head,0,32,
+pup_(supersonicsoup),4,32,
+puipui,4,32,
+psalm,4,32,
+propaganda_poster,0,32,
+progress_display,0,32,
+program,0,32,
+professor_padraic_ratigan_(disney),4,32,
+princess_hippo_(toybox_pals),4,32,
+princess_and_conquest,3,32,
+primal_(biomutant),5,32,
+prieda_(tekandprieda),4,32,
+pride_color_belt,0,32,
+pranktail,1,32,
+port,0,32,
+ponyguy67,1,32,
+pomegranate,0,32,
+pointing_back,0,32,
+plinkiepoi,1,32,
+plink,4,32,
+playstation-tan,4,32,
+platinum_(arknights),4,32,
+pj1191,1,32,
+pixie_(pixie_and_brutus),4,32,
+piromane,1,32,
+pinwheel,0,32,
+pinky_out,0,32,"pinkie_extended,pinkie_out,pinkie_up,pinky_extended,pinky_up"
+pinkvain,1,32,
+pinktooth,1,32,
+pinkgermy,1,32,
+pink_spikes,0,32,
+pink_quartz_(gem),0,32,
+pink_lighting,0,32,
+pink_hair_bow,0,32,
+pink_genital_slit,0,32,
+pingas,3,32,
+pinereese,4,32,
+pig-man,4,32,
+piczel,3,32,
+picorna,1,32,
+phol,1,32,
+philippe_(oooinfin),4,32,
+phena,4,32,
+perry_(bilby),4,32,
+peregrine_pegs,1,32,
+penta_(cum.cat),4,32,
+penny_(bolt),4,32,
+penis_squeeze,0,32,
+pedi_supea_(a140fox),1,32,
+pearlcatcher_dragon,5,32,
+peach_(rodent_powered),4,32,
+pawsnfurs,1,32,
+pawneddyfurry,1,32,
+paula_(newtype_hero),4,32,
+pattern_hoodie,0,32,
+papa_bear,4,32,
+panty_wetting,0,32,
+pandaemondx,1,32,
+pancake_flattened,0,32,
+pampering,0,32,
+paige_(tits),4,32,
+pafu_(exed_eyes),4,32,
+pacho_(olimacdoodles),4,32,
+p0sporo,1,32,
+ozy,4,32,
+ozawk_(character),4,32,
+overflowing_cum,0,32,
+ostinlein,1,32,
+ortensia,4,32,
+orca_(dc),4,32,orca_(batman)
+orbs,0,32,
+orange_crest,0,32,
+optixpanda,1,32,leemur_o_fluff_(artist)
+open_hands,0,32,
+oomizuao,1,32,
+ookm,1,32,
+on_box,0,32,
+omega_squad_teemo,4,32,
+olivia_paprika,4,32,
+oliver_(striped_sins),4,32,
+olan_(nickii),4,32,
+oinari,1,32,
+ohgodwhy,1,32,
+ocean_floor,0,32,
+obmeiste,4,32,
+o_(takahirosi),4,32,
+numpia,1,32,
+null404err,1,32,
+nsfw-tofu,1,32,
+nsfuwu4,1,32,
+noxor,4,32,
+novrem_(shane_frost),4,32,
+notsafeforwank,1,32,
+nostracon,1,32,
+nom-sympony,1,32,
+nocturnsem,4,32,
+noctua_(grimart),4,32,
+noah-the-husker,1,32,
+nitropunkarts,1,32,screampunk
+nitro_squad,4,32,
+nir_kuromara,4,32,
+nimbus,4,32,
+nilla_(artist),1,32,
+niliu_chahui,1,32,
+nikki_(nikki_forever),4,32,
+nightshroud,1,32,
+nicol_bolas,4,32,
+nialus,1,32,
+nevos,4,32,
+nevolsky,1,32,
+nethartic,1,32,
+nepomuk,4,32,
+nemo,1,32,
+neilenk,1,32,
+neil_walker_(pawpadcomrade),4,32,
+neguchi69,1,32,dra529-burn
+neferkiti,5,32,neferkiti_(game_theory)
+nee,1,32,
+neck_growth,0,32,
+nattsu_(kuroma),4,32,
+nathrezim,5,32,
+naser_(gvh),4,32,
+nappana,1,32,
+nanodeath,1,32,
+naked-back_knifefish,5,32,"gymnotid,gymnotidae,naked_back_knifefish"
+nada_(nadacheruu),4,32,
+mzstallion,1,32,
+myxi,1,32,
+mythosart,1,32,
+mysterywhiteflame,1,32,
+myrotiggy,1,32,
+multiversus,3,32,
+multicolored_head,0,32,
+multi_tone_footwear,0,32,
+multi_nostril,0,32,
+muffin_top_(topwear),0,32,
+ms._ash_(character),4,32,
+mr._black_(brushfire),4,32,
+mozilla,3,32,
+mouth_piercing,0,32,
+mountain_kobold,5,32,
+morrigan_(morrigan_the_marwari),4,32,
+morissa_(black-kitten),4,32,
+moria_parrell,4,32,
+monotone_jacket,0,32,
+monika_(klausd),4,32,
+mongrelist,1,32,
+moneybags_(spyro),4,32,
+molkrom,1,32,
+moldsmal,4,32,
+miyakawa106,1,32,
+missmillerz,1,32,
+missdetrop,1,32,
+mismatched_sexual_dimorphism,0,32,
+misentes,1,32,
+miriam_(starfighter),4,32,
+miravine,4,32,
+mipedian,5,32,
+mintmonkey,4,32,
+mintgears,1,32,
+minminsemi,1,32,
+minion_(overlord),5,32,
+mind_alteration,0,32,
+mincheeto,1,32,
+minami_(piporete),4,32,
+mimicry,0,32,
+mimi_(disambiguation),0,32,
+milo_meow,4,32,
+milkydreams,1,32,
+mikalovesyou,1,32,
+miaska_aleksandrova,4,32,
+mia_(disambiguation),4,32,mia
+mfive_(artist),1,32,
+meulin_leijon,4,32,
+metjef,5,32,
+metang,5,32,
+metalockdown_(artist),1,32,
+metalgreymon,5,32,
+metal_tentacles,0,32,
+mercury_(dragalia_lost),4,32,
+meowmavi,1,32,
+melody_pianissima,4,32,
+melira_(pibby),4,32,
+megidramon,5,32,
+mega_sableye,5,32,
+mecha417,1,32,
+meatroza,1,32,
+max_thrash,4,32,
+mavrickzoo,1,32,
+matt_the_rain,1,32,
+matokiro,1,32,
+math_lady,3,32,
+mark_gilbert,4,32,
+marika_oniki,4,32,
+marianne_(avencri),4,32,
+mare_in_the_moon,0,32,
+marcille_donato,4,32,
+manzanita,4,32,
+manhole,0,32,
+manekanaineko,1,32,
+mandu_kuma,1,32,
+mandi_(touchmybadger),4,32,
+mamaduo_(character),4,32,
+major_motoko_kusanagi,4,32,"major_(ghost_in_the_shell),major_(gits),motoko_kusanagi"
+maid_collar,0,32,
+magic_carpet,0,32,flying_carpet
+madou_monogatari,3,32,
+madana9622,1,32,
+mac_(disambiguation),4,32,mac
+lynnelle,4,32,
+lynn_(arcsuh),4,32,
+lunacatmia,1,32,
+luna_(rex_santos),4,32,
+lumiere_(disney),4,32,
+lucy_bones,4,32,
+lucie_choquette,4,32,
+lucatiel,4,32,
+lowrider-girl,1,32,
+loremaster_(helltaker),4,32,
+lorelei_(pokémon),4,32,lorelei_(pokemon)
+loot,0,32,
+looping_line,0,32,
+looking_at_monitor,0,32,
+looking_at_laptop,0,32,
+long_toenails,0,32,
+lok_rebirth,3,32,
+locopelli,1,32,
+lizzy_(fish_birb),4,32,
+littlelionman,1,32,
+lirietrai,1,32,
+liquor_witch,4,32,
+lingguang,1,32,
+lindar_(spyro),4,32,
+lilly_snow,4,32,
+lilirulu,1,32,
+lightstep,1,32,
+lightly_breeze_(pony-way),4,32,
+licking_sheath,0,32,
+licking_sex_toy,0,32,
+lewxen,5,32,
+lewdity,1,32,
+lewdishsnail,1,32,
+leotoefinger,4,32,
+leona_spotts,4,32,
+lemmings,3,32,
+lem_(latiodile),4,32,
+leisure_bug,1,32,
+legwear_webbing_toes,0,32,
+legends_of_runeterra,3,32,
+leche,1,32,
+lazytown,3,32,lazy_town
+layered_heart_eyes,0,32,
+laxatives,0,32,
+lawnmower333,1,32,
+lavitzskall,4,32,
+lavenderrose,1,32,
+lavender_skin,0,32,
+laught,1,32,
+larc_(mana),4,32,
+lanie_bannister_(lildredre),4,32,
+landing_gear,0,32,
+lajiao_(diives),4,32,
+lady_like,4,32,
+ladonna_compson,4,32,
+labra_(jewelpet),4,32,"labra_(jewel_pet),labradorite_(jewel_pet),labradorite_(jewelpet)"
+labbit,5,32,
+kyrgz,1,32,
+kyoot_(snakedakyoot),4,32,
+kyepon,4,32,
+kushina13,1,32,
+kuroshiba_nagomi,4,32,
+kuronekotarou,1,32,kiura
+kureka_(trinity-fate62),4,32,
+kumotta,1,32,
+kumari,4,32,
+kuma_kun,1,32,
+kulbara,1,32,
+kricketot,5,32,
+krapinka,1,32,
+koyu_ruh,4,32,
+kourney,1,32,
+koukysato,1,32,
+korbendallas,1,32,
+kohaku_q,1,32,
+kogino,4,32,
+knee_spikes,0,32,
+kmicamica,1,32,
+klaudy,1,32,
+kiwa_biscuitcat,4,32,
+kissing_belly,0,32,
+kiss_mark_on_butt,0,32,
+kira_sher,4,32,
+kira_(kira),4,32,
+kiophen,1,32,
+kinipshun,1,32,
+king_of_hearts,0,32,
+kinbou_soukai,1,32,
+kimono_kemono,1,32,
+killystein,1,32,
+kill_bill,3,32,
+kijimaru,1,32,
+khaba024,1,32,
+kfutaba,1,32,
+keterok,1,32,
+kerfuffle_(mlp),4,32,
+kentah,4,32,
+kenny_(character),4,32,
+ken_dalton,4,32,
+kemper,4,32,
+keiko_(deadpliss),4,32,
+kazuhiro_nakata,4,32,
+kaze3481_(artist),1,32,
+kayalina,4,32,
+kaya_the_silverdragon_(character),4,32,
+katy_(piporete),4,32,
+kassis_orange,1,32,
+karou_(thekbear),4,32,
+kamikaze_otium,4,32,
+kali_(disambiguation),4,32,
+kaioshin,5,32,"core_person,shinjin_(dragon_ball)"
+kaiki_hito_ningen,1,32,
+kai_(kaidzsu),4,32,
+kai11k,1,32,
+kah,1,32,
+kagero_(tase),4,32,
+kadzu,1,32,
+ka92,1,32,
+jynx_prowler,4,32,
+justafallingstar,1,32,
+jumpyneko,1,32,
+joy,4,32,
+josef_(lafontaine),4,32,
+jord_(lazysnout),4,32,
+jojje,1,32,
+joji,4,32,
+john_(ziapaws),4,32,
+joey_(digitalpelican),4,32,
+joenobody,1,32,
+joaobear,1,32,
+jo_(amadeusdamiano),4,32,
+jjiinx_(character),4,32,
+jinx,4,32,
+jhonnyseitgut,1,32,
+jeffrey_burke,4,32,
+jedi_tunic,0,32,
+jeanne_d'arc_(fate),4,32,"jeanne_d'_arc_(fate),jeanne_d_arc_(fate),jeanne_darc_(fate)"
+jdarts,1,32,
+jay_(daria_mcgrain),4,32,
+jasper_(kazeattor),4,32,
+jaskenator7000,1,32,
+jarlium,1,32,
+jaquin,5,32,
+japanese_spitz,5,32,
+jamie_(mizzyam),4,32,
+jakusanseimk2,1,32,
+jakejoke,1,32,
+jago_dibuja,1,32,
+jaehnne,4,32,
+jade_faircrest,4,32,
+jackkdaw,1,32,
+jack_(colt3n),4,32,
+j_(oc),4,32,
+izzyrain,1,32,
+ivy_(sukebepanda),4,32,
+itohiro0305,1,32,
+isaac_(tboi),4,32,
+iron_nicole,4,32,
+irish_moon,4,32,
+iris_cottontail,4,32,
+iotto1026,1,32,
+ionyen,1,32,
+inukami_hikari,1,32,
+instant_noodle,0,32,
+inside_sex_toy,0,32,
+inputwo,1,32,wotca
+inky_(pac-man),4,32,
+ingrid_giraffe,4,32,
+ingrid_(extremedash),4,32,
+infested_(warframe),5,32,
+ineffective_bottomwear,0,32,
+indigo_skin,0,32,
+implied_penis,0,32,
+implied_bondage,0,32,
+imminent_cock_vore,0,32,
+imago,1,32,
+idrysse,4,32,
+ibispaint,3,32,
+iam3d,1,32,
+hyundai,3,32,
+hyper_moobs,0,32,
+hyoudou,4,32,
+huru,4,32,
+hunter_(the_owl_house),4,32,
+hunter_(resident_evil),5,32,
+huge_arthropod_abdomen,0,32,
+huffmother,4,32,
+hornymustardsauce,1,32,
+horn_lick,0,32,"horn_licking,horns_lick,licking_horn,licking_horns"
+horizontal_slit,0,32,
+hop_(pokémon),4,32,hop_(pokemon)
+hookfang_(httyd),4,32,
+homage,0,32,
+holly_(appledees),4,32,
+hollow_sex_toy,0,32,
+holding_shoes,0,32,holding_shoe
+holding_own_legs_up,0,32,
+holding_letter,0,32,
+holding_child,0,32,
+hocotatian,5,32,
+hmage_(character),4,32,
+hinget,1,32,
+hijabolic,1,32,
+highware,1,32,
+hiding_object,0,32,
+hetore,4,32,
+hestia_(danmachi),4,32,
+heron_pose,0,32,
+herex,4,32,
+herculesrazor,1,32,widjetarcs
+hellosummers,1,32,
+helen_(lightsource),4,32,
+helen_(johnbrittish),4,32,
+heart_keyhole_bra,0,32,
+headgrab,0,32,
+head_over_edge,0,32,
+head_nom,0,32,
+hazel_(nullbunny),4,32,
+harry_the_hypno_horse,4,32,
+harmonica,0,32,
+harley_quinn_(series),3,32,
+haraboudgg,1,32,
+hans_lewdington,1,32,
+hanging_by_legs,0,32,
+hand_tattoo,0,32,
+hamsterball,1,32,
+half-naked,0,32,
+hair_bows,0,32,
+gynomorph_rimming_gynomorph,0,32,
+gun_to_head,0,32,
+guffaw,1,32,
+gryphonification,0,32,
+growth_serum,0,32,
+grimoiren,1,32,
+grim,0,32,
+grey_apron,0,32,gray_apron
+green_smoke,0,32,
+green_rope,0,32,
+green_leash,0,32,
+green_jewelry,0,32,
+great_tit,5,32,
+graves_(lol),4,32,
+graphics_card,0,32,video_card
+granite,4,32,
+gramophone,0,32,
+grammi_gummi,4,32,
+gorn_(species),5,32,
+gorelion,4,32,
+goo_tail,0,32,
+gomchichan,1,32,
+golf_course,0,32,
+gold_trim,0,32,
+gold_ring_piercing,0,32,
+goigoi,4,32,
+goat_taur,5,32,
+gnollbard,4,32,
+glowing_vein,0,32,
+glowing_object,0,32,
+glistening_shoes,0,32,shiny_shoes
+glistening_fingernails,0,32,"glistening_finger_nail,glistening_finger_nails,glistening_fingernail,shiny_finger_nail,shiny_finger_nails,shiny_fingernail,shiny_fingernails"
+glasgow_smile,0,32,cheshire_grin
+glamrock,0,32,
+girok,1,32,
+giraffe_print,0,32,
+genesis_(kabier),4,32,
+gd-058,1,32,
+gaypornaficionado,1,32,
+gatoamante,1,32,
+gary_the_snail,4,32,"garold_gary_wilson_jr,garold_gary_wilson_jr.,garold_wilson_jr,garold_wilson_jr.,gary_(spongebob),gary_(spongebob_squarepants),gary_wilson_jr,gary_wilson_jr."
+gardy_(oofrowdy),4,32,
+game_boy_advance_sp,3,32,
+gabriel_gatto,4,32,
+gabmonteiro9389,1,32,
+gaafus,1,32,
+futsutsukamono,1,32,"ill-mannered_thing,ふつつかもの"
+furari@,1,32,
+funahashi_yugoro,1,32,"2784u56_(artist),yunohara_funabashi"
+fuega_(velociripper),4,32,
+fryaz_(f-r95),4,32,
+frostynoten,1,32,
+frontierbrain,1,32,
+frolov,1,32,
+froggiepaws,1,32,
+frogela_(artist),1,32,
+frikinky,1,32,
+frankier77,1,32,
+frankieancelotti,1,32,demoweasel
+frankie_(dragonfu),4,32,
+foxywolf,1,32,
+foxene_(character),4,32,
+food_stand,0,32,
+food_on_head,0,32,
+food_bikini,0,32,
+fnaf_the_alternative_story,3,32,
+floppy,0,32,
+flogging,0,32,
+floating_on_water,0,32,
+flo_munroe,4,32,
+flein_silvermane,4,32,
+flare_the_delphox,4,32,
+flamboyant,0,32,
+flag_cape,0,32,
+flaerion,4,32,
+fisk_black,4,32,
+fishnet_elbow_gloves,0,32,
+firestrot,1,32,
+fire_performance,0,32,
+fiona_(warcraft),4,32,
+fiona_(psyk),4,32,
+finn_(theredghost),4,32,
+finger_on_face,0,32,
+fineceru,1,32,
+filthy_perfection,1,32,
+filthy_frank,3,32,
+filth_hound,4,32,
+fever_low,4,32,
+fenrik,4,32,
+fenderquil,4,32,
+femrain_(marefurryfan),4,32,
+female/female_symbol,0,32,"lesbian_symbol,⚢"
+felix_(roadd),4,32,
+felicia_lake,4,32,
+feet_in_face,0,32,
+fbi,3,32,
+favonius,4,32,
+faux_(bloominrose),4,32,
+farcuf,1,32,
+fantasyisland,1,32,
+fantasy000,1,32,
+falkeart,1,32,
+fakerface45,1,32,
+fake_antennae,0,32,"antenna_hair_band,antenna_hairband,antennae_hair_band,antennae_hairband,fake_antenna,fake_antennaes,fake_antennas"
+eztli_(user_55),4,32,
+extormus,4,32,
+exposed_clitoris,0,32,
+exit,0,32,
+eve_softpaw,4,32,
+evanrude,1,32,
+evan,4,32,
+eurofurence,3,32,
+euphemism,0,32,
+eri_washington_(panzery25),4,32,
+ere-yandara,1,32,
+equine_penis_tongue,0,32,
+equalicus,1,32,
+enoughinnocent,3,32,
+energetic,0,32,
+endora_(sabrina_online),4,32,
+endless_cum,0,32,
+emynsfw06,1,32,
+emmy_(battle_fennec),4,32,
+emererre_(artist),1,32,
+emerald_tree_boa,5,32,green_tree_boa
+elmejorlecheroart,1,32,
+elm_(glue),4,32,
+ellie_(nightfaux),4,32,
+eliza_jones,4,32,
+elgyem,5,32,
+elfriede,4,32,
+electric_eel,5,32,electrophorus
+elafi,1,32,
+edy_(inkyfrog),4,32,
+edd_(eene),4,32,
+eastern_dragon_humanoid,5,32,"asian_dragon_humanoid,chinese_dragon_humanoid,japanese_dragon_humanoid,oriental_dragon_humanoid"
+ear_flick,0,32,
+dylan_roberts,4,32,
+dyers,4,32,
+dune_(series),3,32,
+dumbo,4,32,
+duke_stallion,4,32,
+dudey64,1,32,
+droste_effect,0,32,
+drin_(character),4,32,
+drax,4,32,
+drakethefox,1,32,
+draken,5,32,
+drakaar,1,32,
+dradicon,1,32,
+dr._simon,4,32,
+dr._jennifer_dogna,4,32,
+dowel_roddenbury,4,32,
+doridian,4,32,
+dontjudgemeimlonely,1,32,
+domino_sisters,5,32,
+dokarian,5,32,
+doggo:3,1,32,
+dogfurno999,1,32,
+dizrahk_(artist),1,32,disturbulator
+divine_wine,1,32,
+discommunicator,1,32,
+dirty_bottomwear,0,32,
+dimitri_1_(101_dalmatians),4,32,
+diesel_(evanskvrl),4,32,
+diaper_inflation,0,32,diaper_expansion
+diandre,4,32,
+dgenr,1,32,
+dew,0,32,
+devin_d_parlett,4,32,
+devin_arts,1,32,
+detonator,0,32,
+detective_gammei,4,32,
+desire,0,32,
+demonic_eyes,0,32,
+demi-human_(elden_ring),5,32,
+deltaflame,1,32,
+defensive,0,32,
+decker,4,32,
+decentperversion,1,32,
+debutante_trim_furfrou,5,32,
+dealia_devilbliss,4,32,
+dc_league_of_super-pets,3,32,
+dave_(beez),4,32,
+darsovin,1,32,
+darkeros,1,32,
+dariusaurelius,1,32,
+daren,4,32,
+darcian,4,32,
+dandon_fuga,1,32,
+damion,4,32,
+dakota_(rayliicious),4,32,
+daisy_(conker's_bad_fur_day),4,32,
+dafallen0ne,4,32,
+daedra,5,32,
+cybermananon,1,32,
+cut_(wound),0,32,
+cunny,4,32,
+cum_while_sheathed,0,32,
+cum_on_leggings,0,32,
+cub_(htf),4,32,
+crymini_(hazbin_hotel),4,32,"crymini_(vivzmind),crymini_(zoophobia)"
+crab_position,0,32,
+cozmo_boa,4,32,
+coway,1,32,
+cow_print_bikini,0,32,
+cortoony,1,32,
+cooper_(fuze),4,32,
+coombrain15,1,32,
+continent,0,32,
+conducting_baton,0,32,
+con_(thecon),4,32,
+computerdeathglare,1,32,
+coming_from_portal,0,32,
+combat_knife,0,32,
+collapse,0,32,
+coffee_bean,0,32,"coffee_beans,coffeebean,coffeebeans"
+cobal_(kamui_shirow),4,32,
+coatl_dragon,5,32,
+clover_(violetgarden),4,32,
+clogs,0,32,
+clitoris_lick,0,32,
+clip_studio_paint,3,32,
+cinnamon_(undertale),4,32,
+cinder_wing,4,32,
+cia_the_dark_sorceress,4,32,"cia_(loz),cia_(tloz),cia_(zelda),cia_the_sorceress"
+chloe_park,4,32,
+chloe_(alphanemesis93),4,32,
+chiropteran_demon,5,32,
+chick_montblanc,4,32,
+chewtoy,1,32,
+chestnut_mouth,0,32,
+chesschirebacon,1,32,
+cheshire_cat_(mcgee),4,32,
+cheetahlover,1,32,
+cheek,0,32,
+charlie_(disambiguation),4,32,charlie
+charge,0,32,
+chaos_star,0,32,
+chandra,4,32,
+chances,4,32,
+chakram,0,32,
+central,4,32,
+celeste_(disambiguation),6,32,celeste
+cavity_search,0,32,
+catninja13,1,32,
+cat_dragon,5,32,
+cassie,4,32,
+casey_(disambiguation),4,32,casey
+carnival_(artist),1,32,
+carboncopy612,1,32,
+carbon_(graphite),4,32,
+car_interior,0,32,
+captyns,1,32,captynz
+captain_hat,0,32,
+cappy_(cappyowo),4,32,
+candy_pail,0,32,
+candra,1,32,
+candii,4,32,
+candice_(quin-nsfw),4,32,
+camerannicephore,4,32,
+cally_(theenyface),4,32,
+calinbeast,1,32,
+cain_(superiorfoxdafox),4,32,
+cain_(pickles-hyena),4,32,
+cafe_cutie_soraka,4,32,
+cadaver_(skulldog),4,32,
+byletto,1,32,
+bydena,1,32,
+buzz_lightyear,4,32,
+bun-e,1,32,
+brushy_(cat-boots),4,32,
+brown_socks,0,32,
+brown_genitals,0,32,
+brown_facial_hair,0,32,
+brown_bra,0,32,
+bro_aniki,1,32,
+breeoche,1,32,
+breeder_queen,4,32,
+breast_transformation,0,32,
+branchata_(vkontakte),4,32,
+brainy_barker,4,32,
+boxmingle,1,32,
+bound_to_toilet,0,32,
+bottled_water,0,32,
+boredomwithfriends,1,32,
+bondage_theme_park,0,32,
+bonbon_(lanoya),4,32,
+bombird,1,32,
+bolf_(bo-lf),4,32,
+bluxen,4,32,
+bluelimelight,1,32,
+blueberry_(felino),4,32,
+bluebell,4,32,
+blue_choker,0,32,
+blue_back,0,32,
+blue-tailed_skink,5,32,blue_tailed_skink
+blitzit,1,32,
+bliss_(character),4,32,
+blinding_bangs,0,32,
+bless_online,3,32,
+bleitsell,5,32,
+blarf022,1,32,
+blackligerth,1,32,
+blackgryph0n,1,32,
+black_sandals,0,32,
+black_rose,0,32,
+black_light,0,32,
+black_leather,0,32,
+black_buttplug,0,32,
+bitters,4,32,
+birbdrain,1,32,
+big_outie_navel,0,32,
+biers,4,32,
+bianca_winter_(lilmousybianca),4,32,
+bhavfox,1,32,
+bfct,4,32,
+berri_(vdisco),4,32,
+beribeardraw,1,32,
+benedict_(battleborn),4,32,
+bencs,1,32,
+bells_(animal_crossing),0,32,
+belle_(lilo_and_stitch),4,32,"belle_(l&s),belle_(las),belle_(lilo_&_stitch),belle_(stitch),experiment_248"
+bell_bracelet,0,32,
+behind_another,0,32,
+beaver_humanoid,5,32,
+beatrix_(drzexxck),4,32,
+beam_rifle,0,32,
+battle_cat,4,32,
+bassel_(atrolux),4,32,
+bashira_o,1,32,
+barnyard_dawg,4,32,
+baren,4,32,
+barbedstudios,4,32,
+bar1,1,32,bar1scorpio
+banzay,4,32,
+banshee_(warframe),4,32,
+bangcanine,1,32,
+bang_(space_jam),4,32,
+bandaid_(oc),4,32,
+band-aid_on_knee,0,32,
+bamumu10,1,32,
+balancing_object,0,32,
+back_to_the_outback,3,32,
+back_horn,0,32,
+back_fat,0,32,
+baby_carrier,0,32,
+b_j_bear,1,32,michael_j_bear
+azzyjackal,1,32,
+azuki_(fortnite),4,32,
+azlech,1,32,
+azirik,1,32,
+ayla_(awesomenauts),4,32,
+awning,0,32,
+avastra,1,32,
+autobreastfeeding,0,32,
+austin_(backyardigans),4,32,
+atlantica0208,1,32,
+ateko_(sarybomb),4,32,
+asderat,1,32,
+artzilla60,1,32,
+arty_crop,0,32,
+arty_(stripedcrocodile),4,32,
+artimus_sendant,4,32,
+artdemonslair,1,32,
+armiv,1,32,
+arm_strap,0,32,
+arm_hold,0,32,
+arilace,1,32,
+aria_whittemore,4,32,
+arha,4,32,
+ardel,4,32,
+arctozolt,5,32,
+arcadepup,1,32,
+aqua_fur,0,32,
+aoshi_kn,1,32,
+anus_close-up,0,32,
+anormalzombie,1,32,
+anonopony,1,32,
+anonanim,1,32,
+anna,4,32,
+ankofox,1,32,
+animo_no.2,3,32,
+animal_crossing_pocket_camp,3,32,
+anhrmgzo,1,32,
+angel_lazzu,1,32,
+angel_(sayakat),4,32,
+angart_(artist),1,32,
+andybear,4,32,
+andromorph_on_bottom,0,32,
+andrea_(bzeh),4,32,
+amonomega_(character),4,32,
+amily_(coc),4,32,amily_(corruption_of_champions)
+american_kestrel,5,32,
+amenia_(teckly),4,32,
+amber_(spicyocean),4,32,
+alyxis,4,32,
+alyssa_kintana,4,32,
+altairxxx,1,32,
+alpha_worship,0,32,
+alpha_(james_howard),4,32,
+alolan_sandshrew,5,32,"alola_sandshrew,sandshrew_(alola_form),sandshrew_(alolan_form)"
+alliteration,0,32,
+allison_(slither),4,32,
+alice_the_witch,4,32,
+alexander_siegfried_wrong,4,32,
+alekseyvvcx,1,32,
+alec_(f1r3w4rr10r),4,32,
+aky,1,32,
+akita_stromfield,4,32,
+airy_(bravely_default),4,32,
+ahnassi,4,32,
+ahamkara_(species),5,32,
+agtaur,1,32,"taurakick,thespartankick"
+aetherel,4,32,
+aedus,4,32,
+adam_(pickles-hyena),4,32,
+ada_oz,1,32,
+achievement_overlay,0,32,
+abdominal_piercing,0,32,
+abby_(abby),4,32,
+8762e13,1,32,
+7nights,1,32,
+6suan,1,32,
+6heiang27,1,32,
+34no404,1,32,
+1_wing,0,32,
+15_the_cat_(character),4,32,
+13:12,7,32,
+zyndet_firefly,4,31,albeon_iceheart
+zuki,4,31,
+zorusky,1,31,
+zoo_52,3,31,
+zoey_v_(character),4,31,
+zoe_zamora,4,31,
+zodiark,4,31,
+zippo_lighter,0,31,
+zilvanv,1,31,
+zicygomar,1,31,
+zerpes,4,31,
+zero,4,31,
+zaylin,4,31,
+zawn_(character),4,31,
+zant,4,31,
+zaiel,1,31,
+yvette_(jigglephysics),4,31,
+yukibuster-z,1,31,
+yovi_thing,1,31,
+yiwei,4,31,
+yen_sign,0,31,¥
+yellow_tattoo,0,31,yellow_tattoos
+yaxerins,4,31,
+yaoifairyxxx,1,31,
+yan_wiah,1,31,
+yamsgarden,1,31,
+xaniya,4,31,
+xanadus,1,31,
+xalda_(future_ver.),4,31,
+wyverness,1,31,
+wynnoa_(tolerain),4,31,
+wxyjs1997,1,31,
+wunderhase,1,31,
+writting,0,31,
+wrist_spikes,0,31,
+worldoffizz,1,31,
+wooden_table,0,31,
+wontonrhino,1,31,
+wolfbear303,1,31,
+witchness,1,31,
+wisteria_bell,4,31,
+wisteria,4,31,
+winter_solstice_(oc),4,31,
+wind_dragon,5,31,
+wilsondlmb,1,31,
+wilm_(drawholic),4,31,
+willa_dragonfly,4,31,
+wildlifers,3,31,
+wii_console,0,31,
+whored_out,0,31,
+white_santa_(takataka),4,31,
+white_knee_socks,0,31,
+white_goo,0,31,
+white-beaked_dolphin,5,31,
+weyland_yutani,3,31,
+wet_tongue,0,31,
+werewolf_boyfriend_(2dredders),4,31,
+wereavian,5,31,
+welsh_sheepdog,5,31,"welsh_collie,welsh_sheep_dog"
+welcome_to_valhalla,3,31,
+weight_loss,0,31,
+weapon_holster,0,31,
+water_tentacles,0,31,
+water_nymph,5,31,
+water_breaking,0,31,
+warumono_tomii,1,31,
+wart_(mario),4,31,
+waist_belt,0,31,
+vyrenn,4,31,
+vverevvolf,4,31,
+voldrak,4,31,
+vivianne,4,31,
+vivian_(altrue),4,31,
+vird,1,31,
+vincent_(hynik),4,31,
+villagesman,1,31,
+viceviev,1,31,
+veryloudopossum,1,31,
+veiny_pussy,0,31,
+vdru7,1,31,
+varra_(dragon-tear),4,31,
+vanilla_(tirashanks),4,31,
+vales_(fvt),4,31,
+valavari,1,31,
+val_(valthejean),4,31,
+vacuum_pumping,0,31,
+v-sarg,1,31,
+ushio_and_tora,3,31,
+uro_99,1,31,
+urbanator,1,31,
+unwrapping,0,31,
+unusual_dildo,0,31,exotic_dildo
+untied_necktie,0,31,
+unguligrade_feet,0,31,
+underarm_carry,0,31,
+underage_drinking,0,31,
+umbralant,4,31,
+umadura_ero,1,31,
+ulysses_(pester),4,31,
+ulbrek,4,31,
+ugh_fine_i_guess_you_are_my_little_pogchamp,3,31,
+tylor,4,31,
+tygrus_(character),4,31,
+twiss_(armello),4,31,
+twinkletwilight,1,31,
+tweaker_(artist),1,31,
+turning_the_tables,0,31,
+tsarin,4,31,
+trunk_piercing,0,31,
+true_finch,5,31,
+traxex_the_drow_ranger,4,31,
+trash_bun_(itsded),4,31,
+track,0,31,
+"toys_""r""_us",3,31,toys_r_us
+toxic_soda,1,31,
+toumal,3,31,
+touching_cheek,0,31,
+toru_(koalcleaver),4,31,
+torausimuma7,1,31,
+too_fast,0,31,
+toned_thighs,0,31,
+tomo_(glacierclear),4,31,
+toe_ties,0,31,
+tltechelon,1,31,
+tizzian,5,31,
+tisha,4,31,
+tiny_(disambiguation),6,31,tiny
+tinsel_nanaja,4,31,tinsel_(dreamkeepers)
+tinder_skitty,4,31,
+tina_hart,4,31,
+tina_(nexus),4,31,
+timothy_fay,1,31,tim_kangaroo
+tied_to_tree,0,31,
+tiberious,4,31,
+thundurus_(incarnate_form),5,31,
+thumb_tack,0,31,
+throat_transfer,0,31,
+thomas_the_tank_engine,4,31,
+thigh_scar,0,31,
+thick_claws,0,31,
+theta_(ratte),4,31,
+the_sea_beast,3,31,
+the_scream,3,31,
+the_neon_children:_the_comic,3,31,
+the_life_and_times_of_juniper_lee,3,31,
+the_legendary_starfy_(series),3,31,
+the_gray_garden,3,31,
+the_goukou_zone,1,31,
+the_forest_girl_and_the_ocean_god,3,31,
+the_flash,4,31,
+the_dark_skull,1,31,
+the_blackblood_alliance,3,31,
+thatgrouchybadger,1,31,
+that's_kind_of_hot,3,31,
+tex_(txlegionnaire),4,31,
+tetz_(artist),1,31,
+tettyamansp,1,31,
+tetsuro,4,31,
+tetae,1,31,
+tess-27,1,31,
+teru_(naegi),4,31,
+terra_vi,4,31,
+terra_the_troodon_(character),4,31,
+termiteterror,1,31,"fungasm,fungasm_(artist),sodajoik,sodajoik_(artist),termiteterror_(artist)"
+tenzen,1,31,
+tentacle_on_penis,0,31,
+telkie_(patchkatz),4,31,
+tek-fox,4,31,
+tegu,5,31,"race_runner,race_runner_lizard,racerunner,racerunner_lizard,tegu_lizard,teiid,teiidae,whip_tail_lizard,whiptail_lizard"
+tee_(infernaltee),4,31,
+tedry_(fox_and_dragon),4,31,
+tedd77,1,31,
+technijui,1,31,
+team_instinct,3,31,
+tea_(teabunni),4,31,
+tdxlabs,3,31,
+taylorillustrated,1,31,
+taur_penetrating_feral,0,31,t/p/f
+tataporn,1,31,
+tastytoxins,1,31,
+tastelesssandwiches,1,31,
+tarantula_hawk_wasp,5,31,tarantula_hawk
+tara_strong,4,31,
+tan_shoes,0,31,
+takeshi1000,1,31,
+takeru,4,31,
+tail_through_keyhole,0,31,
+tail_sleeve,0,31,
+tail_hugging,0,31,
+tail_growth_in_pants,0,31,
+tail_flick,0,31,
+taethefox,1,31,
+syu,4,31,
+sypherus,1,31,
+sydney_van_der_boor,4,31,
+swift_(tenebscuro),4,31,
+sweet_yissus,1,31,
+suspension_bridge,0,31,
+susana_(evil-rick),4,31,
+suni-okida,1,31,
+sulking,0,31,
+suikoden,3,31,
+sugoi_dekai,0,31,
+submissive_and_breedable_(meme),3,31,
+subaryun,1,31,
+striped_beak,0,31,
+strifeheart_crescentmoon,4,31,
+stretcher,0,31,
+strelka,4,31,
+strangelymediocre,1,31,
+stoney_(tzarvolver),4,31,
+stole,0,31,
+steven_stone,4,31,
+steve_(stevolteon),4,31,
+stealth_facesitting,0,31,
+starryvolta,1,31,
+starfig,1,31,
+starayo,3,31,
+standing_missionary_position,0,31,
+stakataka,5,31,ub_assembly
+stadium_lighting,0,31,
+stacey_(toast-arts),4,31,
+spookysushi,1,31,
+spitbug,5,31,
+spirit_blossom_teemo,4,31,
+spiral_(character),4,31,
+spider_wasp,5,31,"pompilid,pompilid_wasp,pompilidae,spider-hunting_wasp,spider-wasp,spider_hunting_wasp"
+spicy_wahtte,1,31,
+sphinx_taur,5,31,sphinxtaur
+sphinx_humanoid,5,31,
+spanking649,1,31,
+souponmars,1,31,
+somnacanth,5,31,
+sollarian,1,31,
+solar_comet,4,31,
+solana_vakarian,4,31,
+soiling_bottomwear,0,31,
+snowy_(pokemon),4,31,snowy_(pokémon)
+snowflake_pattern,0,31,
+snootydogg,1,31,
+snek_(dragonsnakeowo),4,31,
+smudgedcat,4,31,
+smokepaw,4,31,
+smoke_from_belly,0,31,
+smappa,1,31,
+small_paws,0,31,
+small_cabbage_white,5,31,small_white_butterfly
+slow_transformation,0,31,
+slknight,1,31,
+slit_piercing,0,31,
+slicing,0,31,
+sleepysous,1,31,
+slaveofneworder,1,31,
+slashing_prices,4,31,
+skyffan,1,31,
+skye_rackham,4,31,
+skycrown,1,31,codybackbone
+sky_lantern,0,31,
+skunktail,4,31,
+skunket,1,31,skunket_(artist)
+skeeve,1,31,
+sinoh,4,31,
+silva_vernalis,4,31,
+silcoon,5,31,
+sigil_(symbol),0,31,
+sierra_the_eevee,4,31,
+side-tie_bottomwear,0,31,
+sibsy,1,31,
+shukinhekon,1,31,
+shoxxe,1,31,
+shoulder_plates,0,31,
+shorty-antics-27,1,31,
+shoresan,4,31,
+shootingstar,1,31,
+shit-tier-skunk,1,31,
+shiranai,4,31,
+shion_(that_time_i_got_reincarnated_as_a_slime),4,31,
+shiliu_(diives),4,31,
+shido_ya,1,31,
+sherlock_yack,3,31,
+she_scale,1,31,"dragonarica,yintero,zarya3d"
+sharpedo_bluff,0,31,
+sharparadise_(character),4,31,
+shani_uzuri,4,31,
+shamenando,1,31,
+shadel,5,31,
+shaded_background,0,31,
+shade_lord_(hollow_knight),4,31,
+shaaux_kautner,4,31,
+sereos_(character),4,31,
+seraphimkitsune,4,31,
+septicemic_(artist),1,31,
+selin,4,31,
+secret_agent,0,31,
+seamonsterping,1,31,
+scylia,4,31,
+scuty_(artist),1,31,
+scrappy-doo,4,31,scrappy_doo
+sawyer_snax,4,31,
+savage_dragon,3,31,
+saturdaii_(fauxcroft),4,31,
+sarah_(thepatchedragon),4,31,
+sand_cat_(kemono_friends),4,31,
+san_(san_renard),4,31,
+samsung_sam,4,31,
+samsti,1,31,
+sam_(cobalt_snow),4,31,
+salvia_carhina,4,31,
+salt_(artist),1,31,
+sally_foxheart,4,31,
+salisha,4,31,
+sale_(zelda),4,31,
+sailor_venus,4,31,
+saika076,1,31,
+sahary,1,31,
+sage_kuwa,4,31,
+safira,4,31,
+sadwhale,0,31,
+saddle_arabian_(mlp),3,31,
+sabatons,0,31,
+s_gringo,1,31,
+ryuta,1,31,
+ryss,4,31,
+ryks,1,31,
+ryev_alki,1,31,"dark_ryev,ryev_(artist)"
+russell_allen,1,31,
+rulean,1,31,
+rufus_(-rufus-),4,31,
+rozalin,4,31,
+royal_australian_mint,3,31,
+rotodisk,1,31,
+rosie_the_riveter,4,31,
+rosemary-the-skunk,1,31,
+rope_walking,0,31,
+roger_smith,4,31,
+roden_(rodenbeard),4,31,
+rockarboom,1,31,
+roboticized_masters,4,31,
+riven_of_a_thousand_voices,4,31,
+rithe,4,31,
+riolumon,4,31,
+riku_(kingdom_hearts),4,31,
+rika_brighella,4,31,
+riftryu,1,31,
+rickenbacker,1,31,
+ribbonne,1,31,
+riask,4,31,
+rhino_guard,4,31,
+rez,4,31,
+rex_(fours),4,31,
+retromander,1,31,
+restraint_device,0,31,
+resting_legs,0,31,
+reo_(ennismore),4,31,
+renoit,1,31,
+renamonpaws,1,31,
+remi_(lundi),4,31,
+remains,0,31,
+religious_symbol,0,31,
+regreto2,1,31,
+redviewer_55,1,31,
+red_thigh_socks,0,31,
+red_panda_qt,1,31,
+red_paint,0,31,
+red_goo,0,31,
+red_cap,0,31,
+recycling_symbol,0,31,
+rearview_mirror,0,31,
+reallycoykoifish,1,31,
+razz_(shinyumbra),4,31,
+razeth_(razeth),4,31,
+rayne,4,31,
+ray-pemmburge,1,31,
+rasta,0,31,
+ranno,4,31,
+raleigh_knight,4,31,
+rainingrush,1,31,
+rainfallcat,1,31,
+rainbow_lineup,0,31,
+rain_flower_(cafe_plaisir),4,31,
+railway,0,31,railroad
+raelia,4,31,
+raechel_jagger,4,31,
+rachel_the_raichu_(igph),4,31,
+rachel_(ninja_gaiden),4,31,
+rabbit_vibrator,0,31,
+queenrupti,1,31,
+queencold,1,31,
+queek_headtaker,4,31,
+quarterstaff,0,31,
+quagga,5,31,
+pussy_through_leghole,0,31,
+purplevelbeth,1,31,
+purple_high_heels,0,31,
+pull-up,0,31,
+ptsd,0,31,
+pseudo_pupils,0,31,
+ps3_console,0,31,
+prunuscerasus_(artist),1,31,
+princess_amore_(mlp),4,31,
+prince_gumball,4,31,
+prince_(gym_pals),4,31,
+pride_(kuroodod),4,31,
+precum_from_mouth,0,31,
+pozpoz,1,31,
+power_strip,0,31,
+power_line,0,31,
+pouting_lips,0,31,
+posduroo,1,31,
+pork_(cerealharem),4,31,
+polka_dot_bow,0,31,
+polarfoxpat,1,31,
+pokéball_necklace,0,31,"poke_ball_necklace,pokeball_necklace,poké_ball_necklace"
+plum_(miu),4,31,
+plebbles,1,31,
+pixels_bunni,4,31,
+pipinonopino,1,31,
+pinkuunegai,1,31,
+pink_wall,0,31,
+pinball_machine,0,31,
+pickle_rick,3,31,funniest_shit_ive_ever_seen
+phia_(impishhyena),4,31,
+phantom_chica_(fnaf),4,31,
+phanto,5,31,
+phantasy_star_online,3,31,
+petroid,5,31,
+petal_(kilinah),4,31,
+perfect_cell,4,31,
+peppy_spray,4,31,
+pepperpkmon88,1,31,
+pepperidge,4,31,
+penny_(ggh),4,31,
+penises_crossing,0,31,
+penis_rubbing,0,31,
+penis_in_tentacle,0,31,
+penis_harness,0,31,cock_harness
+peeing_underwater,0,31,
+peanut_(animal_crossing),4,31,
+peach-,1,31,
+pawkaf,4,31,
+paul_hayden,4,31,
+passionpit777,1,31,
+passenger_railcar,0,31,
+paralysis,0,31,
+paper_(mlp),4,31,
+panzerkampfwagen,0,31,
+pandora_(lopoddity),4,31,
+pandaking757,1,31,
+pandaischub,1,31,
+pancakes_(character),4,31,
+paintfox_(character),4,31,
+paige_(snapshotstami),4,31,
+paeonypetals,1,31,
+pacifica_northwest,4,31,
+overhead_lighting,0,31,
+outottered22_(artist),1,31,
+oushi,4,31,
+otorigin,1,31,
+oto,4,31,
+orphira,1,31,
+orange_fingernails,0,31,
+orange_boots,0,31,
+opstah_(characters),4,31,
+ooe_senbee,4,31,
+onojeff,1,31,
+oneko_takasuke,1,31,
+onagi,1,31,
+on_plate,0,31,
+on_another,0,31,
+omegamax,1,31,
+ollie_baysch,4,31,
+ollie_(spirit_bathouse),4,31,
+olivia_dusset,4,31,
+oliver_(colelucario),4,31,
+olive_the_other_reindeer,3,31,
+ohfour,4,31,
+oh_exploitable,0,31,
+ogura_anko,1,31,
+oglaf,1,31,
+odam,4,31,
+obscured_character,0,31,
+objection!,3,31,
+oban_star_racers,3,31,
+obamicon,3,31,
+o0aquadragon0o,1,31,
+nyanners,4,31,
+nuskalion,1,31,
+numbered_heart,0,31,
+number_3,4,31,
+nuggy_(anaugi),4,31,
+nospots,1,31,
+noruu,1,31,
+norijaga,1,31,
+nomozuni,4,31,
+nomax_(character),4,31,
+noboru_(sakamata),4,31,
+noah_mcmurphy,4,31,
+nissan_gtr,3,31,
+nippleless_clothing,0,31,
+nioh,3,31,
+ninjin_(ninjin_clash_of_carrots),4,31,
+nina_(breath_of_fire),4,31,
+nin_(kimacats),4,31,
+nila,4,31,
+nikole_(darkwolf),4,31,
+niko_(catlad),4,31,
+nightshirt,0,31,
+nightshadeink93,1,31,
+nico_fluff,4,31,
+nexuswolfy,4,31,
+nero,4,31,
+nerevar,1,31,
+nera_abey,4,31,
+neo_metal_sonic,4,31,
+nelvana,3,31,
+nekomata_ftnr,1,31,
+nekokat42,1,31,
+nefitail,1,31,
+neemon,5,31,
+nedrik,1,31,
+neck_fin,0,31,
+ne_(nefuraito336),1,31,
+nbowa,4,31,
+nazunita,1,31,
+nazi_flag,0,31,
+naviwavi,1,31,
+natasha_(spotty_the_cheetah),4,31,
+natalie_kintana,4,31,
+naruto_(series),3,31,
+narric_techna,4,31,
+nanney,4,31,
+naked_snake,4,31,big_boss
+naizuri,0,31,
+nadim_(elroc),4,31,
+n64_logo,0,31,
+mystery_(twisted-doctor),4,31,
+myriadmood,1,31,
+myoniis,1,31,
+muttgirl,1,31,
+musca,1,31,
+murasaki_nyaa,1,31,
+multicolored_coat,0,31,
+multicolored_bow,0,31,
+mrs._wilde_(weaver),4,31,"mrs_wilde(weaver),mrs_wilde_(weaver)"
+mr.russo,1,31,
+mr-punctual,1,31,
+moogie_(twistcmyk),4,31,
+montblanc,4,31,
+monster_card_(yu-gi-oh),0,31,
+monkey_wrench_(series),3,31,
+monarquis,1,31,
+molasses_(artist),1,31,
+mohuko_(komenuka_inaho),4,31,
+mobster,0,31,
+moaina,4,31,
+mitsuhakai,1,31,
+missypena,1,31,zimmay
+misogyny,0,31,
+mio_(zaggatar),4,31,
+mintybit,1,31,
+mindless,0,31,
+minato_yuu,1,31,
+milking_breasts,0,31,
+milftails_(herro),4,31,
+mild_hyper,0,31,
+miko_(wolf-skoll),4,31,
+mikeyama,1,31,
+mike_(disambiguation),4,31,mike
+mii_(character),4,31,
+mia_mackat,4,31,
+mgangalion,1,31,
+meturem,1,31,
+messer-aramis,1,31,
+merry_(animal_crossing),4,31,
+merore,1,31,
+mercury_gray,4,31,
+meme_pose,0,31,
+membranous_ears,0,31,
+melona,4,31,
+melissa_(locosaltinc),4,31,
+melfur,4,31,
+meicrackmon_vicious_mode,4,31,
+mega_scizor,5,31,
+mega_man_battle_network,3,31,
+medusabold,5,31,
+meadow_(meadow.dragon),4,31,
+mazda_mx-5,3,31,mazda_mx-5_miata
+maylis,4,31,
+may_harper,4,31,
+max_(pokémon),4,31,max_(pokemon)
+mattya604,1,31,
+matthews(razumi),4,31,
+matching_clothing,0,31,
+masturbating_under_clothing,0,31,
+mary_(hipcat),4,31,
+marwari,5,31,
+martin_bell,4,31,
+marte_(gaturo),4,31,
+marshal_(serbiansockfight),4,31,
+marius_(fursona),4,31,
+marcel_(higgyy),4,31,
+maraart,1,31,
+mangoicy_(character),4,31,
+malika,4,31,
+malicorne,1,31,
+maleherm_penetrating_female,0,31,mh/p/fm
+malani,4,31,
+making_faces,0,31,
+majira_strawberry,4,31,
+magic_spell,0,31,
+magic_item,0,31,
+maga_hat,0,31,
+madison_(creaturecorp),4,31,
+mablevi_eto,4,31,
+ma-xx,4,31,
+m9kndi,1,31,
+lyra_(pop'n_music),4,31,
+lynnsnowmew,1,31,
+lykus,4,31,
+lusty_symphony,4,31,
+lustfulaves,1,31,
+lunus,4,31,
+lulu_(grind3r),4,31,
+lukoi,1,31,
+luffsas,1,31,
+lucy_(cooliehigh),4,31,
+luckywhore_(velvetlamb),1,31,
+lucille_lilac,4,31,
+luciifer_zephyr,4,31,
+lucifuge,4,31,
+lucemon,5,31,
+lorddarke,1,31,
+lord_bathory_(thehades),4,31,
+loopy_tuberose,4,31,
+looking_happy,0,31,
+looking-back,0,31,
+lonich,4,31,
+longbow,0,31,
+london,0,31,
+lollipop_bunny,4,31,
+logifox,4,31,
+logan_(geckoguy123456789),4,31,
+liuke448,1,31,
+liquor_bottle,0,31,
+liminalbean,1,31,
+lime_(kemari),4,31,
+liloc_(species),5,31,
+lilli_(grimart),4,31,
+like_a_boss,0,31,
+lightria,1,31,"nyota,nyota82,swj6234,ニョタ"
+lightningkimba,3,31,
+light_streak,0,31,
+lifting_clothing,0,31,
+licking_lollipop,0,31,
+lexington_ulfric_izunia,4,31,
+lex_(servalex),4,31,
+lewa,4,31,
+leviathan-29,4,31,
+lettherebecolor,1,31,
+leopardus_humanoid,5,31,
+leonardo_aegis_(terraaegis8),4,31,
+lenora_(pokemon),4,31,lenora_(pokémon)
+leiks,4,31,
+lego_monkie_kid,3,31,
+legionaire,4,31,
+leg_on_side,0,31,
+lefcoyto,1,31,
+leera,4,31,
+ledge1606,1,31,
+lecia,4,31,
+learning,0,31,
+leandro_comics,1,31,
+lazzie,4,31,
+larroqm,1,31,
+lamprey,5,31,"lamprey_eel,petromyzontiform,petromyzontiforme"
+lamekun,1,31,
+laila_zephyrine,4,31,
+laiche,4,31,
+ladyjessica,4,31,
+ladyjekyll,1,31,jamie_l._holcomb
+lady_watamaraka,4,31,
+kyrieru,1,31,
+kyle_(topazknight),4,31,
+kuzco,4,31,
+kurasuto_(cottontail),4,31,
+kupocun,1,31,
+kung_fu_cat,3,31,
+kumbhker,1,31,
+kukri,0,31,
+krona999,1,31,
+krii,5,31,
+koutou,1,31,
+kosyo,1,31,
+komorebihebiart,1,31,
+komodo_joe,4,31,
+kolt,1,31,
+kodardragon_(character),4,31,
+kobe_(luka),4,31,
+klink,5,31,giaru
+kiwi_(mutantnight),4,31,
+kittypup,4,31,
+kitsuneinu,4,31,
+kirone,4,31,
+kiro_(kiroyal),4,31,
+king_louie,4,31,
+king_(fuze),4,31,
+kinfolk_(species),5,31,"kin-folk_(kindred_fates),kin-folk_(species),kin-folk_species,kin_folk_(kindred_fates),kin_folk_(species),kin_folk_species,kinfolk_(kindred_fates),kinfolk_species"
+kindred_fates,3,31,
+kindness,0,31,
+kind,0,31,
+kimpze_(character),4,31,
+kimaru,4,31,
+killpanda,1,31,
+kiday_(kiday),4,31,
+kiboshx,1,31,
+kenji_mikazuki,4,31,
+ken_(littlerager),4,31,
+kemonosuki,1,31,
+kemonngo,1,31,
+keglunek,1,31,
+keeroh,1,31,
+keaze,1,31,
+kea_(asaneman),4,31,
+kazemon,5,31,fairymon
+kazdruk,5,31,
+kattymouse,1,31,
+katie_(animal_crossing),4,31,
+katherine_(coc),4,31,katherine_(corruption_of_champions)
+katey_rune-fang,4,31,
+kasumi_(garasaki),4,31,
+kassc,1,31,
+karps_(fursona),4,31,
+kariga,4,31,
+karbik_(artist),1,31,
+kalta_(blokfort),4,31,
+kalika-tybera,1,31,
+kalibus,4,31,
+kaiti_(piporete),4,31,
+kaida_(kataou),4,31,
+kagami_hiiragi,4,31,hiiragi_kagami
+kaelith,4,31,
+kae_goldeye,4,31,
+kabalca,1,31,
+justice_(artist),1,31,
+julius_(warg),4,31,
+josh_(funkybun),4,31,
+jojo_quote,0,31,
+john_vithor,1,31,
+joeycwolf_(copyright),3,31,
+joe_(nanoff),4,31,
+jodi_(artist),1,31,
+jmy_(character),4,31,
+jingle_(animal_crossing),4,31,
+jiim_01,1,31,
+jhusky,4,31,
+jezebel_(crane),4,31,
+jenovasilver,1,31,
+jenel_silvermane,4,31,
+jekka,4,31,
+jeff,4,31,
+jc_(lafontaine),4,31,
+jazzumi,1,31,
+jay_(g-h-),4,31,
+jawful,1,31,
+jasmine_(loneclaw),4,31,
+jaryl_(character),4,31,
+jamie_(disambiguation),6,31,jamie
+jaltoid_(artist),1,31,
+jake_the_simipour,4,31,
+jairou,1,31,
+jadoube,4,31,
+jade_(takkin),4,31,
+jacobart,1,31,
+jackson_(zer0rebel4),4,31,
+izuna,4,31,
+izumi_mahiru,1,31,
+iviking,3,31,
+isaaclou,1,31,
+irishwolf_lythi,4,31,
+into_the_pit,3,31,
+inside_diaper,0,31,
+innunammi,1,31,
+infinumf_(artist),1,31,
+impim,5,31,
+imminent_suicide,0,31,
+illie_(cherryfox73),4,31,
+illfang_the_kobold_lord,4,31,"illfang,illfang_(sao),illfang_(sword_art_online),illfang_the_kobold,illfang_the_kobold_king"
+illaoi_(lol),4,31,
+igxxiii,1,31,
+icelyon_(character),4,31,
+iados,1,31,
+i_am_kat95,1,31,
+hypnotickitten,1,31,
+hypnolizard,5,31,
+hyper_vein,0,31,
+hyenalattes,1,31,
+hurdy,4,31,
+humanoid_penis_with_medial_ring,0,31,
+hornydragon,1,31,
+hook_tail,0,31,
+hooch_(cadaverrdog),4,31,
+honeyslushi,1,31,
+homo_the_domo,1,31,
+holding_switch,0,31,
+holding_sandwich,0,31,
+holding_package,0,31,
+holding_magazine,0,31,
+holding_jar,0,31,
+holding_fishing_rod,0,31,
+hobbs_(mchobbit),4,31,
+hisseefit,1,31,
+hinia,1,31,
+hilda_the_hyena,4,31,
+hilary_locke,4,31,
+hierozaki,1,31,
+hideaki_(character),4,31,
+heroine,0,31,
+heroin-burn,1,31,
+hero_(snofu),4,31,
+herm_on_humanoid,0,31,herm/humanoid
+herbert_p._bear,4,31,
+henri_pascal_(sobakistan),4,31,
+helios_(bakugan),4,31,
+held_by_leg,0,31,
+head_kiss,0,31,
+hazukashii_team,3,31,
+hazel_(lewdshiba),4,31,
+haylapick,1,31,
+harrison_maker,4,31,
+harriet_chesnut,4,31,harriet_(fox-pop)
+harima,4,31,
+hardmoden,1,31,
+harbingerofchange,1,31,
+happyraccoons,1,31,
+hanybe,1,31,
+hannah_artaje,4,31,
+hanging_upside_down,0,31,
+hands_in_water,0,31,
+hand_on_shoulders,0,31,
+hand_on_partner,0,31,
+hand_on_chair,0,31,
+han_drake,4,31,
+halu,1,31,
+hal_(artist),1,31,
+hair_twirl,0,31,
+hair_on_floor,0,31,
+hackel,4,31,
+hachisu,4,31,
+gwen,4,31,
+guronolock,1,31,
+gunzo,4,31,
+gumroad,3,31,
+gryf_(flir),4,31,
+grumpy_feathers,1,31,
+grovyle_(asbel_lhant),4,31,
+grossed_out,0,31,
+groovebird,1,31,
+gromit_(wallace_and_gromit),4,31,
+grizzlydafurry_(artist),1,31,
+greg_shepherd,4,31,
+green_eyelids,0,31,
+green_dragon,5,31,
+greatredfoxwolf,1,31,
+great_troubles,3,31,
+gralo,4,31,
+gradient_sky,0,31,
+gracidea_flower,0,31,
+gozer_(aronhilistix),4,31,
+goulingtfs,1,31,
+gordon_(sailewder),4,31,
+golfinho,1,31,
+gnollykins,1,31,
+gnarlton66,1,31,
+glowing_sword,0,31,
+glistening_text,0,31,
+glistening_exoskeleton,0,31,shiny_exoskeleton
+gingie,4,31,
+ginger_(r-mk),4,31,
+gimuza,1,31,
+gilly_(sssonic2),4,31,
+gikowinko,1,31,
+gigantamax_eevee,5,31,"g-eevee,g-max_eevee,g_eevee,g_max_eevee,gmax_eevee"
+ghouliegrim,1,31,
+ggponk,1,31,
+gerovort,1,31,
+gen_the_calico,4,31,
+gem_(gemkin),4,31,
+gelert_(neopets),5,31,
+gelatinous_cube,5,31,
+gay_bear,4,31,
+gavit,4,31,
+garrot,4,31,
+gamutfeathers,1,31,
+game_weapon,0,31,
+galvan_(ben_10),5,31,galvan_(ben_ten)
+galutine,1,31,
+g41_(girls_frontline),4,31,
+g1,3,31,
+fyre,4,31,
+fuzzdrake101,1,31,
+furcollector,1,31,
+fur_boots,0,31,
+full_frontal,0,31,
+fulguris,4,31,
+fuku_(garouzuki),4,31,
+fringillid,5,31,
+freja_vann,4,31,
+freddy_lupin_(100_percent_wolf),4,31,
+fratz,1,31,
+franchesca_(greycatr),4,31,
+fracture,4,31,
+fpsblyck,1,31,
+fox_(figgylicious),4,31,
+foule,0,31,
+forest_of_pixiv,3,31,
+forest_(fuze),4,31,
+foreskin_sheath,0,31,
+forearm_tuft,0,31,"forearm_tufts,forearms_tuft,forearms_tufts"
+footjob_pov,0,31,
+foooooxes,1,31,
+fooooly,1,31,
+flower_hairband,0,31,
+flourish_glade_(pananovich),4,31,
+flookz_(character),4,31,
+floaties,0,31,
+floaff,1,31,
+flexy_(dreamyart),4,31,
+flash_magnus_(mlp),4,31,
+flahne_(tits),4,31,
+fisher_(animal),5,31,fisher_cat
+fio,1,31,
+finnter_(e-zoid),4,31,
+fingers_spread,0,31,
+fidelis,4,31,
+feran_blackridge,4,31,
+fenrir_(rrowdybeast),4,31,
+fenghuang_(kung_fu_panda),4,31,fenghuang_(kfp)
+femboi_(lewd_can),4,31,
+female_student,0,31,
+felynn,5,31,
+fellock,4,31,
+felia,4,31,
+feger_(feger-jager),4,31,
+fawxythings,1,31,
+fatmanass,1,31,
+fatigue_(artist),1,31,
+fart_inflation,0,31,
+farrow_(mutant:_year_zero),4,31,
+farengar_dazus,4,31,
+fantasy_sword,0,31,
+fallout_venus,3,31,
+faith_miller,4,31,
+faith_(8chan),4,31,fate_(8chan)
+fairy_tail-snow,4,31,
+fade_(koboldwrangler),4,31,
+f-14,0,31,
+eyes_rolled_up,0,31,
+exposed_stomach,0,31,
+exiled-tiger,1,31,
+exedrus,1,31,
+everette,4,31,
+erk_gloom,4,31,
+eralion,4,31,
+enth,4,31,
+enig,1,31,
+enfrair,4,31,
+enderbendr,1,31,
+enaeric,1,31,
+emiechii,1,31,
+emerson_(edef),4,31,
+embarrassed_nude_anthro,0,31,
+emanuel_(ritts),4,31,
+ellie_rinette,4,31,
+elijah_zx,1,31,
+elijah_rayne,4,31,
+elias_bigby,4,31,
+elias_(wolfyama),4,31,
+elelite,1,31,
+electronic_musical_instrument,0,31,
+electric_toothbrush,0,31,
+elbows_together,0,31,
+elaismurnhem_afarman,4,31,
+eggmaker,4,31,
+egg_(food),0,31,
+efty,4,31,
+efilon_draghi_(nolife05),4,31,
+efenrai_(character),4,31,
+eden0130,1,31,
+echoeternal,1,31,
+echo_(echoic),4,31,
+eccentricchimera,1,31,
+ebony,4,31,
+ear_scratch,0,31,
+dysk3,1,31,
+dylan_(bgn),4,31,
+dusty_(baldrek),4,31,
+dustbiter_(hurricane),4,31,
+dungeon_ni_deai_wo_motomeru_no_wa_machigatteiru_darou_ka,3,31,
+dumas,4,31,
+dubudubudubudub,1,31,
+dront,1,31,
+drink_umbrella,0,31,
+drigo,4,31,
+dreamingnixy,1,31,
+drapzootopia,1,31,
+drake_(drake239),4,31,
+dragon_well,1,31,
+dragon_knight_leon,4,31,
+drago,4,31,
+draggot_(species),5,31,
+draft_(disambiguation),6,31,"draft,drafted,draftiness,drafting,drafts,drafty"
+dotaluit,1,31,
+dot_(dalmationcadet),4,31,
+doran_(pixiv_artist),1,31,
+doppelganger_(literary),0,31,
+doof_rabbit,1,31,
+doodling_selkie,1,31,"dsmm_(artist),selkie_(artist)"
+donovan_(kokuhane),4,31,
+donezumi,1,31,
+domino_mono,4,31,
+domino_(artist),1,31,
+doggie_daddy,4,31,
+doctor_noc,4,31,
+dizzi_(morhlis),4,31,
+dives_(kihu),4,31,
+distracting,0,31,
+displacement,0,31,
+discarded_shoes,0,31,
+dis,4,31,
+dirty_thoughts,0,31,
+dinnick_a'nnova,4,31,
+dildo_with_face,0,31,
+digital-maesma,1,31,
+dickneck,0,31,
+dickcamp,3,31,
+dibillboard,1,31,
+devin_(onta),4,31,
+derpster,4,31,
+denise_(meesh),4,31,
+demon_days,3,31,
+demidelerious,1,31,
+defiant,0,31,
+dayji_(talldoggo),4,31,
+davenachaffinch,1,31,
+dat_ass_(meme),3,31,
+dasaod,1,31,
+darkyamatoman,1,31,
+darkwolf79,1,31,
+darkpatito,1,31,
+dark_sheath,0,31,
+dark_jacket,0,31,
+dark_elven_forest_ranger,4,31,
+dark_elbow_gloves,0,31,
+darix,4,31,
+darigan_eyrie,5,31,
+dannycare,1,31,
+danielsung,1,31,
+dakota_thunders,4,31,
+d8,0,31,
+cybernetic_wing,0,31,
+cutscene,4,31,
+curved_arms,0,31,
+cum_peril,0,31,
+cum_from_gills,0,31,
+crystal_dynamics,3,31,
+crowjob_in_space,3,31,
+crow's_feet,0,31,
+crossed_bangs,0,31,
+croconut,1,31,
+critical_hit,0,31,
+cringecorecat,1,31,
+cringebird,1,31,cringebirdad
+crayola_foster,1,31,
+crashdoom,4,31,
+crashb,4,31,
+cow_print_thighhighs,0,31,
+cotton_(coc),4,31,cotton_(corruption_of_champions)
+cosmic_umbreon,4,31,
+corythosaurus,5,31,corythosaur
+cordie_(cliffside),4,31,
+copier,0,31,
+cookie_(strangerdanger),4,31,
+conversion,0,31,
+contingency,1,31,
+collectollider,1,31,
+collection_tank,0,31,
+colesutra,1,31,
+cody_(bastion),4,31,
+codras,1,31,
+cocoa_(drink),0,31,
+clyde_(blackbear),4,31,
+clovishusky,1,31,
+clothing_gain,0,31,
+clothed_breasts,0,31,
+cliffside_(series),3,31,"cliff-side_(cartoon),cliff-side_(series),cliff_side_(cartoon),cliff_side_(series),cliffside_(cartoon)"
+clenching_toes,0,31,
+cleavage_tuft,0,31,
+ciel_honda,4,31,
+cian_yo,1,31,
+chowba,5,31,
+chombie,1,31,
+chocomint_texa,1,31,texaaa
+choco-floof,1,31,
+chitgor_daimei,1,31,
+chinstrap_penguin,5,31,
+chin,0,31,
+chick+a_boom,3,31,
+chichu_littlepaw,4,31,
+chest_armor,0,31,
+chessy_(shaymin),4,31,
+chess_board,0,31,
+cherry_(ztwidashz),4,31,
+chelizi_(diives),4,31,
+chee_(gery),4,31,
+chatora_(pixiv),1,31,
+chatonbleu,1,31,
+chapiduh,1,31,
+channydraws,1,31,
+chana_kim,1,31,
+chairman_meow,4,31,
+chai_(kingschoolyou),4,31,
+ceridwen,4,31,
+censored_speech,0,31,
+celebrity_paradox,0,31,
+cedamuc1,1,31,
+cbear624,1,31,
+caww,1,31,
+catscratch,3,31,
+catober_2021,3,31,
+catober_2020,3,31,
+catherine_(alpha-wolf),4,31,
+catewolf,1,31,
+catastrophy,1,31,
+cat_marge,4,31,
+cat_face,4,31,
+castle_wall,0,31,
+carla_raymond,4,31,
+carex,1,31,
+capydiem,1,31,
+captain_oku_(cap.grolarbear),4,31,
+candy_cane_in_mouth,0,31,
+campfire_donut,1,31,
+calypso,4,31,
+calvin_(disambiguation),4,31,
+cadenza_vivace,4,31,
+cactuar,5,31,cactaur
+c'helpa_heartpaw,4,31,
+by-kanou,0,31,
+buttertoast,4,31,
+butch_(animal_crossing),4,31,
+burrow,0,31,
+bullyableshiba,1,31,
+buffzard_(character),4,31,
+bud_(animal_crossing),4,31,
+brukki_gunar,1,31,
+brown_yoshi,5,31,
+brown_chitin,0,31,
+brother_fingering_sister,0,31,
+brother_fingering_brother,0,31,
+bronze_(metal),0,31,
+bridge_position,0,31,
+bretta_(hollow_knight),4,31,
+breasts_press,0,31,
+breast_suppress,0,31,
+breast_kiss,0,31,breast_kissing
+brainsucks,1,31,
+boyaka,4,31,
+boxers_down,0,31,
+box-of-chalk,1,31,thelightforest
+bow_hairband,0,31,
+bongo_drum,0,31,
+boke_(bokensfw),4,31,
+bodyhair,0,31,
+blushy,0,31,
+blue_one-piece_swimsuit,0,31,
+blue_jumpsuit,0,31,
+blowup_doll,0,31,
+blowtorch,0,31,
+blossom_(solarbear954),4,31,
+bloomth,1,31,
+blank,4,31,
+blanford's_fox,5,31,
+blaise_shirazi,4,31,
+blackgriffin,1,31,
+black_slime,0,31,
+black_pantyhose,0,31,
+black_accessory,0,31,
+bithurga,4,31,
+bitesize_art,1,31,
+bindle,0,31,
+bikini_skirt,0,31,
+bigmsaxon,1,31,
+bigboy4025_(artist),1,31,
+big_toys,0,31,
+big_hipped,0,31,
+bhloopy,1,31,
+beth_(lordstormcaller),4,31,
+bennett_(clockwork_journeys),4,31,
+bec_the_rabbit,4,31,
+bebe_bernarde,1,31,
+beastmon,5,31,"bastemon,persiamon"
+beastcub,1,31,
+bearpatrol,1,31,
+bearbeer,1,31,
+beach_volleyball,0,31,
+bayjaw,1,31,
+bayernsfm,1,31,
+basdl2003,1,31,
+bare_skin,0,31,
+barachaser,1,31,
+barabird,3,31,
+baraaya,4,31,
+banshee,5,31,
+bandits,0,31,
+bambi's_mother,4,31,
+baltoy,5,31,
+ballon,0,31,
+ball_on_finger,0,31,
+baku_hosamo,1,31,
+bad_dragon_toy,0,31,
+bachri,1,31,
+azphyr,1,31,
+azhax,1,31,
+azerith,4,31,
+azaghal_(character),4,31,
+ayla_(chrono_trigger),4,31,
+aybr,1,31,
+avantaberrant,1,31,
+austin_(thomasthesharko),4,31,
+aunt_polly,4,31,
+augie_doggie,4,31,
+audria,4,31,
+audi,3,31,
+atlas_(portal),4,31,
+athletic_herm,0,31,
+asphalt,0,31,
+ashwyn_natharadas,4,31,
+ashlynn_(kayla-na),4,31,
+ashley_(warioware),4,31,
+asher_the_firefox,4,31,
+artemis_bloodfang,4,31,
+aron_(jay_naylor),4,31,
+aromantic_pride_colors,0,31,
+arm_on_table,0,31,
+aries_(cheetahmen),4,31,
+archie_(pokémon),4,31,archie_(pokemon)
+aoree,1,31,
+ao32686845,1,31,
+antzy,4,31,
+anthony_(tithinian),4,31,
+anorith,5,31,
+anonymoo,4,31,
+anniejwsh,1,31,
+annie_(jeso),4,31,
+ann_maren_(annmaren),4,31,
+ania_(fu8),4,31,
+angle,5,31,
+angela_(juvira),4,31,
+anal_beads_in_mouth,0,31,
+anaeya_elizabeth,4,31,
+ana_margarita_(leviantan581re),4,31,
+amputated_tail,0,31,
+amorphous,0,31,
+ambiguous_penetrating_intersex,0,31,ag/p/i
+ambient_bee,5,31,
+amayasenpai,1,31,
+amateurcooper,1,31,
+amani_the_mermaid,4,31,
+amagaeru_(hylathewet),1,31,
+alura,4,31,
+alpha_(demon),4,31,
+alpha_(character),4,31,
+almond_deer,1,31,
+alice_madness_returns,3,31,
+ali_apatosaurus,4,31,"ali_(land_before_time),ali_(lbt),ali_(the_land_before_time),ali_(tlbt),ali_apatosaur,ali_long-neck,ali_long_neck,ali_longneck"
+alfred_krastgon,4,31,
+alfred0sauce,1,31,
+alfa_quinto,4,31,
+alexy,4,31,
+alexi_(alexithewerewolf),4,31,
+alex_jager,4,31,
+alex_carter,4,31,
+alex_(lundi),4,31,
+alex_(extremexworld),4,31,
+alecks,4,31,
+ale-tie,1,31,
+akah'nen,4,31,
+ajun_(artist),1,31,
+ajder,1,31,
+aira,4,31,
+aidan_(koyote),4,31,
+after_cloacal,0,31,
+afro_puffs,0,31,
+aevsivs,4,31,
+aerynoustinne,1,31,
+aerusan,5,31,
+admiral_brickell,4,31,
+adam_summers_(forestdale),4,31,
+abraxas,4,31,
+aban_wrench,1,31,
+aarifleman,1,31,
+aamir_(puzzle_and_dragons),4,31,"aamir_(p&d),aamir_(puzzle_&_dragons)"
+a_bug's_life,3,31,"a_bugs_life,bug's_life,bugs_life"
+6_heads,0,31,"6_head,6_headed,six_head,six_headed,six_heads"
+60fps,0,31,
+5:9,7,31,
+5-prime,1,31,
+3_pussies,0,31,three_pussies
+20:27,7,31,
+1deathpony1,1,31,
+100_variations,0,31,
+0w0wer,1,31,
+zwishi,1,30,
+zoya_(monstercatpbb),4,30,
+zorro,4,30,
+zooshi_(character),4,30,
+zippy_(lunaris_parukia),4,30,
+zigs_(infinitydoom),4,30,
+ziggy_(wildering),4,30,
+zhiral,3,30,
+zeus_genus,5,30,
+zeroslash,1,30,
+zerbert,0,30,
+zen_allen_(zenallen),4,30,
+zeke_(trash_character),4,30,
+zapphira,4,30,
+zach_(gamerfox),4,30,
+z-crystal,0,30,
+yzmuya,1,30,fxuemo
+yvonne_(lolzguy),4,30,
+yuzuki_(kame_3),4,30,
+yuriyuri_(ccc),1,30,
+yuri_(xdyuxd),4,30,
+yumyumyeen,1,30,
+yukikiba,4,30,
+yuki_(enotou_moi),4,30,
+you_know_i_had_to_do_it_to_em,3,30,
+you0210_(artist),1,30,
+yoke,0,30,
+ymskk,1,30,
+yipkin,1,30,
+yian_kut-ku,5,30,yian_kut_ku
+yenene,4,30,
+yasumitsu,1,30,
+yapo,1,30,
+yamwamm,1,30,
+yamamura_sadako,4,30,
+yaldabroth,1,30,
+yaktan,4,30,
+xine,4,30,
+xexue,1,30,
+xavier_jascoe,4,30,
+x0009000x,1,30,
+wuffeet,1,30,
+woods_(dreamkeepers),4,30,
+wolky,4,30,
+wolfsrain88,1,30,
+wolfenstein,3,30,
+wolfen_deschain,1,30,
+wolf_of_dreams,3,30,
+woad,0,30,
+witchdagger,0,30,
+wired_headphones,0,30,
+wirberlwind,1,30,
+winged_yoshi,5,30,
+will_the_pokemon_trainer,4,30,
+will_(wolfpack67),4,30,
+wild_eevee,1,30,wildeevee
+wide_crotch,0,30,
+wia,1,30,
+whitehair,1,30,
+white_outerwear,0,30,
+white_cat_(taku),4,30,
+wells_(augensinum),4,30,
+wau,5,30,
+watersucc,1,30,
+watercolor_(artist),1,30,
+walmart,3,30,
+wall_press,0,30,
+wakasagihime,4,30,
+waitfurgodot,1,30,
+vpn,1,30,
+vore_day,3,30,
+voltu,4,30,
+visor_helmet,0,30,
+violeta_herrera,4,30,
+violet_(pnkng),4,30,
+violet_(limebreaker),4,30,
+vimz,1,30,
+viciouscroc,1,30,
+vespbee,1,30,
+velenor,1,30,
+var'kel,5,30,
+vampony,4,30,
+vakari,5,30,
+uwunice,1,30,
+utx,4,30,
+urine_in_hair,0,30,
+urine_exchange,0,30,
+urethral_vore,0,30,urethra_vore
+urethral_all_the_way_through,0,30,
+unsigned_nez,1,30,
+unown_g,5,30,
+unik,1,30,
+uneven_legs,0,30,
+underwear_removed,0,30,
+undermafia,3,30,
+unbuttoned_bottomwear,0,30,
+umbri,4,30,
+ulrich_milla,4,30,
+tzuni26,1,30,
+tyrartist,1,30,
+tyrannomon,5,30,
+typhoonteaser,1,30,
+two_tone_bow,0,30,
+two_tone_back,0,30,
+two_against_one,0,30,
+twitter_handle,0,30,
+twelve_forever,3,30,
+turquoise_penis,0,30,
+turned_around,0,30,
+tsutsun,1,30,
+tsuneko,4,30,
+tsuna0,1,30,
+trystan_(dissimulated),4,30,
+trolley,0,30,
+troglodyt-3d,1,30,
+trinity_(warframe),4,30,
+trinanya,1,30,
+trilobite,5,30,
+treehouse_of_horror,3,30,
+traz,4,30,
+trashdogeking,1,30,leelee
+trashbinpanda,1,30,
+traitmill,1,30,
+tracheal_tube,0,30,breathing_tube
+trace_(my_life_with_fel),4,30,
+torri,4,30,
+toriel_(altertale),4,30,
+tora_(toradoshi),4,30,
+tooni-pi,1,30,
+tony_amaretto,4,30,
+tony_(mrcrowely),4,30,
+tommy_(tommybunz),4,30,
+tom_(1ceberg),4,30,
+tokyo_yakult_swallows,3,30,
+tokeitime,1,30,
+toe_cleavage,0,30,
+tlacuicani-studio_(artist),1,30,
+tjdolphin,1,30,
+tina,4,30,
+tiki_torch,0,30,
+tight_speedo,0,30,
+tiff_(kirby),4,30,
+thurkitten,1,30,
+threatening_aura,0,30,
+thorny_gremlin,1,30,
+thingrei,1,30,
+thexiiilightning,1,30,
+thespanker_(artist),1,30,
+therapsid,5,30,
+theo_nyx,4,30,
+thejestermime,1,30,
+thehashbaron,1,30,
+thedax_(character),4,30,
+the_wuzzles,3,30,
+the_white_rabbit_(disney),4,30,
+the_very_definition_of_a_tragedy,3,30,
+the_intern,4,30,
+the_fifth_element,3,30,fifth_element
+the_batter_(off),4,30,
+the_almighty_tallest,4,30,
+thalis,4,30,
+thaksin,4,30,
+tesla_coil,0,30,
+terraraptor,1,30,
+tentacle_dog,5,30,
+tengu_geta,0,30,
+taylor_(onta),4,30,
+tarsier,5,30,"tarsiid,tarsiidae,tarsiidaen,tarsiiform,tarsiiforme"
+tanjil_skooma,4,30,
+tan_cheeks,0,30,
+taj_(kman),4,30,
+tail_pants,0,30,
+tail_on_penis,0,30,
+tail_eye,0,30,
+tabunie,4,30,
+syynx_(character),4,30,
+syria_(tid),4,30,
+syl_(psykrow),4,30,
+sye_(wolfmalro),4,30,
+sydney_(nobby),4,30,
+sybar14,1,30,
+swimming_pool_ladder,0,30,
+sweet_(deltarune),4,30,
+sverre_(tigerlover1),4,30,
+suspicious_spirit,1,30,
+sur'ri,5,30,
+supported_leg,0,30,
+superman_(series),3,30,
+superdry,3,30,
+sun_lotion,0,30,
+suki262,1,30,
+suitcase_bondage,0,30,
+sufficient_(artist),1,30,
+sue_lee,4,30,
+student_pup_(marimo),4,30,
+striped_kerchief,0,30,
+strigopoid,5,30,"new_zealand_parrot,strigopoidea"
+stretch_(alluringcryptid),4,30,
+strap_gap,0,30,
+stormdragonblue_(character),4,30,
+stockholm_syndrome,0,30,
+stihl,4,30,
+steve_(glassshine),4,30,
+static_electricity,0,30,
+star_tail,0,30,
+stack's_womb_marking,3,30,
+squid_girl_(squid_girl),4,30,
+squibble_(rabblet),4,30,
+squeanus,1,30,
+spoonfulofsuga,1,30,
+spitted,0,30,
+spitroast_(object),0,30,
+spiritual_stones,3,30,
+spiny,5,30,
+spider_(minecraft),5,30,
+sparky_sparkeroni_(mlp),4,30,
+spacefur,1,30,
+sp00nfulofcum,1,30,
+sourcherry,1,30,
+sorin_(cabura),4,30,
+soot_(ragamuffins),4,30,
+sonique,1,30,
+sonicaimblu19,1,30,
+solomonfletcher,1,30,
+sofie_(vdisco),4,30,
+snack_food,0,30,
+smoltober_2020,0,30,
+smoltober,0,30,
+smoking_during_sex,0,30,
+slumber_party,0,30,
+sluggylococcus,1,30,
+sleight_(jacksleight),4,30,
+sleeping_top,0,30,
+skullcat_(sar),5,30,
+skullbird,1,30,
+skull_kid_(character),4,30,
+skirt_flip,0,30,
+skillet91,1,30,
+skib,4,30,
+sitrus_berry,0,30,
+sinningsneasel,1,30,
+sinful_ink_(artist),1,30,
+silvertongue_(artist),1,30,
+silicas,4,30,
+sidney_(the_human_heart),4,30,
+sibithia_the_cat,4,30,
+shyny,3,30,
+showing_paws,0,30,
+shotien,1,30,
+shio_(quilava),4,30,
+shinozaki,4,30,
+shiinotic,5,30,
+shigouki,1,30,yongoki
+shelly_the_raptor,4,30,
+sheath_pull,0,30,
+shattered,0,30,
+shanty_(tfh),4,30,
+shamanbr96,1,30,
+shadowwolf,1,30,
+shadowfangz,1,30,
+shadow_dragon,5,30,
+shaded_sketch,0,30,
+sexual_exploration,0,30,
+sexual_assault,0,30,
+sex_talk,0,30,
+seth,4,30,
+serenity_pond_(shooterism),4,30,
+serenity_(leafysnivy),4,30,
+semi-colon,1,30,
+sebastian_(lemon_smoothie),4,30,
+scyra_(character),4,30,
+script,0,30,
+scissor_blade_(kill_la_kill),0,30,"scissor_blade_(klk),scissor_blades_(kill_la_kill),scissor_blades_(klk)"
+schutzstaffel,0,30,
+scarneck_(artist),1,30,
+scaled_belly,0,30,
+sasisage,1,30,
+sasaki,1,30,skeeter
+sarah_n._dippity,4,30,
+sangguri_32,1,30,
+sammy_(murrmomi),4,30,
+saltypantz,1,30,
+sakutake,1,30,
+sakukitty,1,30,
+sajophoe,1,30,
+sagittarii,4,30,
+saggy,0,30,
+saffron_(mdgusty),4,30,
+sad_tomato,1,30,
+sackboy,4,30,
+sabot_sauer,4,30,
+ryosuke_ishigami,4,30,
+rymogrime,1,30,
+ryker_(wildering),4,30,
+ryelletibun,1,30,
+ruzne,4,30,
+russell_(htf),4,30,
+rupira,4,30,
+rumble_randolph_(character),4,30,
+rudy_(kayla-na),4,30,
+roxie_roux,4,30,
+rory_(animal_crossing),4,30,
+rooster_(the_secret_life_of_pets),4,30,"rooster_(secret_life_of_pets),rooster_(slop),rooster_(tslop)"
+roochak,1,30,
+ronindude,1,30,
+roland,4,30,
+rocking,0,30,
+roc_(xenoblade),4,30,
+robunii,1,30,
+roaringmoon,1,30,
+roadside_romeo,3,30,
+riki_(reinkorn),4,30,
+righteous,1,30,
+ricky_(bleats),4,30,
+rickroll,3,30,
+rhino_(warframe),4,30,
+rhemora_(artist),1,30,
+reptilian_penis,0,30,
+replictuanione,1,30,
+rentham,1,30,
+registereduser,1,30,
+redvel_fett,1,30,
+redlynx369,1,30,
+red_fin,0,30,
+rear_pussy,0,30,
+reactorguardian,1,30,
+ray_cyber_tech_(character),4,30,
+raus_(recklessarts),4,30,
+raspberrydragon,1,30,
+raskvel,5,30,
+randy_d_raccoon,1,30,
+ran_ste-su_g'mindel,4,30,
+raidak5,1,30,
+radar_(thetwfz),4,30,
+rachellebun,1,30,
+rab_(liebeslied),4,30,
+quinn_(behniis),4,30,
+queen_yamul,4,30,
+quartermaster_(tnt),4,30,
+pyrite_(oc),4,30,
+pushing_out,0,30,
+purrgis,4,30,
+purple_leggings,0,30,
+purple_coat,0,30,
+public_aquarium,0,30,
+prowler,5,30,
+proportionally_endowed_male,0,30,
+prometheusblack,1,30,
+professor_marmalade,4,30,
+professor_fluff,1,30,
+privy,1,30,
+princess_syalis,4,30,
+princess_rei,1,30,"princess_rei_(artist),princessrei,princessrei_(artist)"
+prince_vaxis,4,30,
+primal_(granblue_fantasy),5,30,
+precum_while_penetrated,0,30,
+precum_on_stomach,0,30,
+powaito,1,30,
+pound_(space_jam),4,30,
+portal_autocunnilingus,0,30,
+porforever,1,30,
+pook_(nightdancer),4,30,
+pooh_(kaboozey),4,30,
+poo_creature,5,30,
+pony-thunder,1,30,
+ponpu,1,30,
+ponilove,1,30,
+pomegraniter,1,30,
+plug_when_not_in_use,0,30,
+pleasemoarr,1,30,
+playstation_5-tan,4,30,
+planet_of_the_apes,3,30,
+pirill-poveniy,1,30,
+piraka,5,30,
+pink_marky,1,30,
+pikachu_ph._d,4,30,"doctor_pikachu,ph._d_pikachu,ph.d_pikachu,ph_d_pikachu,phd_pikachu,pikachu_doctor,pikachu_ph.d,pikachu_ph_d,pikachu_phd,pikachu_professor,professor_pikachu"
+pickelhaube,0,30,
+phyore,4,30,dark_phyore
+phenna,4,30,
+phenique,4,30,
+phat_smash,1,30,
+phasing,0,30,
+perry_bible_fellowship,3,30,
+perineal_raphe,0,30,
+peri,4,30,
+percytheplatypus,4,30,
+pentabins,1,30,
+penny_prickles,1,30,
+penna,1,30,impenna
+penis_theft,0,30,
+penis_ring_(piercing),0,30,
+pencil_behind_ear,0,30,
+pedals_(pedalspony),4,30,
+pea_(food),0,30,"peas,peas_(food)"
+pdubbsquared,1,30,
+pche,1,30,
+paulgq,1,30,
+pattern_wall,0,30,
+patron,0,30,
+paskanaakka,1,30,
+partners_2541,3,30,
+parker_pierce,4,30,
+parfait_(dessert),0,30,
+paparazzi,0,30,
+pantyhose_down,0,30,
+panties_on_face,0,30,
+panties_off,0,30,
+pandadox,1,30,
+pamela_(thea_sisters),4,30,
+palpitoad,5,30,
+palace_pets,3,30,
+painted_hooves,0,30,
+paint_roller,0,30,
+otorize,1,30,
+oscar_(olimacdoodles),4,30,
+orlena,4,30,
+organic,0,30,
+orez_art,1,30,
+ordos,4,30,
+orcane,4,30,
+oqtozille,1,30,
+ookami,4,30,
+oofycolorful,1,30,colorfulcolor233
+onirin,1,30,
+onion_rings,0,30,onion_ring
+once_upon_a_forest,3,30,
+on_sand,0,30,
+on_log,0,30,
+on_butt,0,30,
+omnitrix,0,30,
+olli_(sharkrags),4,30,
+olive_(olive_the_other_reindeer),4,30,
+olive_(joaoppereiraus),4,30,
+okuri_yamainu,4,30,
+okazu,1,30,
+oculus_rift,3,30,
+octopussy,0,30,
+obelisk_the_tormentor,4,30,
+nyxie,5,30,
+nyowa,1,30,
+nurse_aloe,4,30,
+nubsy,1,30,
+nsfwoo,1,30,
+nox_(nox),4,30,
+nova_astralis,4,30,
+notus_(character),4,30,
+notfornothin,1,30,
+notebook_paper_background,0,30,
+nose_touching,0,30,
+norphen_(character),4,30,
+noodle_(sssonic2),4,30,
+noodle_(jolteon),4,30,
+nogitsune,5,30,yako_(fox)
+noctus,4,30,
+nocimon,1,30,
+nini_(abgallery),4,30,
+nignogs,1,30,
+nightwind005,1,30,
+nightmare_cupcake_(fnaf),4,30,
+nightmare_balloon_boy_(fnaf),4,30,
+nicholas_gurewitch,1,30,
+nessie_(submissivetrout),4,30,
+neonpeppermint,1,30,
+nelena,1,30,
+nekrall,4,30,
+needle_rifle,0,30,
+neckfluff,0,30,
+neckbeard,0,30,
+nebulilac,1,30,
+navel_play,0,30,
+naughtycactus,1,30,
+nat_(kingcreep105),4,30,
+nastylady,1,30,
+narox22,1,30,
+naofumi_iwatani,4,30,iwatani_naofumi
+naneki,4,30,
+nanbuskhan,1,30,
+nanase,4,30,
+nakota,4,30,
+nagi_(nagifur),4,30,
+nagawa_tomo,1,30,
+n._t._crotser,1,30,
+myuu_(rivvoncat),4,30,
+myfriendsmustntknow,1,30,
+musouduki,1,30,
+muskrat,5,30,
+murskme,1,30,
+multigenerational_incest,0,30,
+multifaker5,1,30,
+multi_pupil,0,30,
+muffin_top_(thigh_highs),0,30,
+mtcerber,1,30,
+ms._green_(m_m),4,30,
+mr._herriman,4,30,
+moth_lamp_(meme),3,30,"lamp_(meme),lamp_meme,lamp_moth_(meme),lamp_moth_meme,moth_lamp_meme,moth_meme"
+morticia_addams,4,30,
+morningstar_(artist),1,30,
+morelia_(snake),5,30,
+monsters_at_work,3,30,
+monotone_hoodie,0,30,
+monokosenpai,1,30,
+modern_mogal,3,30,
+mocca_(character),4,30,
+mizu,4,30,
+miyakofox,4,30,
+mix_2180,1,30,
+mitzi_may,4,30,
+mittz-the-trash-lord,1,30,
+mitsubishi,3,30,
+misha_makioraku,4,30,
+miserable,0,30,
+mirielle,4,30,
+miriamthebat,1,30,
+mirchancey,1,30,
+mircelio_(character),4,30,
+minoru_hyuga,4,30,
+mino,4,30,
+mini,0,30,
+ming_(shadowzero20),4,30,
+mimic_the_octopus,4,30,
+milo_(furfit),4,30,
+miller_westerveldt,4,30,miller_(ritts)
+milk_bath,0,30,
+milestone_celebration,0,30,
+miles_(miles-wolf),4,30,
+mikosake,1,30,
+miguel_(bgn),4,30,
+midnight_blossom,4,30,midnight_blossom_(mlp)
+miajou,4,30,
+mia_carpenter,4,30,mia_(terdburgler)
+metamorphosed_nermal_(kitty_pride),4,30,
+merle,4,30,
+merellyn,1,30,
+mercury_light_carbuncle,4,30,mercurylight_carbuncle
+merchandise,0,30,
+melynx,5,30,
+"melinda_lou_""wendy""_thomas",4,30,
+melfina,4,30,
+meegatsu,1,30,
+mechanical_pencil,0,30,
+mechanical_monster_factory,1,30,
+meadowbrook_(mlp),4,30,
+maylee,4,30,
+maximus_(thedominantdragon),4,30,
+maximilian_acorn,4,30,
+maxi-rover,1,30,dirty-maxi
+max_(maxpany),4,30,
+mawarisaka_(character),4,30,
+mato,4,30,
+marineangemon,5,30,
+marina_mandry,4,30,
+maria_(wffl),4,30,
+marcie_montis,1,30,
+manhandling,0,30,
+mandy_koopa_(slb),4,30,
+malzel_(kojimafire),4,30,
+malroth,1,30,
+mallowchu,1,30,
+malfestio,5,30,hororohoruru
+male_rimming_intersex,0,30,
+male_receiving,0,30,
+malawrist,1,30,
+mako_mankanshoku,4,30,"mako_(kill_la_kill),mako_(klk),mankanshoku_mako"
+mako_(ketoarticwolf),4,30,
+mako,4,30,
+makaronnie,1,30,
+major_mitchell's_cockatoo,5,30,"major_mitchells_cockatoo,pink_cockatoo"
+maiiyumi,1,30,
+magmarift,1,30,
+macaroni,0,30,
+macaron_(food),0,30,
+maaudaan_tg,1,30,
+maasdam_(zentagas),4,30,
+m_artifex,1,30,
+lyricwulf,4,30,
+lynxuki,0,30,
+lux_(character),4,30,
+luna_(jrock-11),4,30,
+luna_(jewelpet),4,30,"luna_(jewel_pet),moonstone_(jewel_pet),moonstone_(jewelpet)"
+lukinda,4,30,
+lucky_the_leprechaun,4,30,lucky_(lucky_charms)
+luce_the_greninja,4,30,
+lucariolover448,1,30,
+lsw249,1,30,
+lowgravity,1,30,
+lovehatealien,1,30,sourberryjuice
+lottie_(coc),4,30,lottie_(corruption_of_champions)
+lost_out_gi,1,30,
+lord_of_change,5,30,
+long_tails,0,30,
+long-sleeved_shirt,0,30,
+lolicept,1,30,
+loki_(cheatnow),4,30,
+logan_(disambiguation),4,30,logan
+lobotomy_corporation,3,30,
+lobita_(uwunice),4,30,
+loafofbirb,1,30,
+living_ship,5,30,
+lip_sync,0,30,
+lion-man,4,30,
+lino_the_lion,1,30,
+lincoln_loud,4,30,
+lilythekitsune,1,30,lilythekitsune_(artist)
+lilshark,1,30,
+liliel,4,30,
+light_swimwear,0,30,
+light_pawpads,0,30,"light_paw_pad,light_paw_pads,light_pawpad"
+light_blush,0,30,
+licking_abs,0,30,
+lia_(fluff-kevlar),4,30,
+lhacedor,1,30,
+lewdtober,0,30,
+lemonade_stand,0,30,
+legacy_(freschrenders),4,30,
+leg_over_butt,0,30,
+leg_blush,0,30,
+lef_(996cobalt),4,30,
+leather_hat,0,30,
+leashed_together,0,30,
+leaf_arms,0,30,
+lazlo,4,30,
+lauren_vanpelt,4,30,
+laurel_(bitterstrawberries),4,30,
+laura_(lewdcreamy),4,30,
+latiospegasus,1,30,
+latex_crop_top,0,30,
+larrydraws,1,30,
+lani_(bcb),4,30,
+lamneus,4,30,lamneus_(character)
+laguna_silverjaw,4,30,
+lagoon,0,30,
+laffykat22,1,30,
+lady_lo,4,30,
+lace_(hirurux),4,30,
+l00dpanda,1,30,
+kyssick,1,30,
+kyala,4,30,herpurpliness
+kushishekku,1,30,
+kuroamekemo,1,30,
+kuro_(tzug-12345),4,30,
+kubikitsune_(character),4,30,
+kryptonian,5,30,
+kroxy,4,30,
+krow_(miso_souperstar),4,30,
+krazu_wolfdoom,1,30,
+krazoa_spirit,5,30,
+krasnyakoiot_(artist),1,30,
+krahs_tsai,1,30,
+koutanagamori,1,30,
+kotaotake,1,30,
+kosame,1,30,
+kororoman,1,30,
+kora_(koro_kiama),4,30,
+koopa_shell,0,30,
+konqi,4,30,
+konbas,1,30,
+konazarame,1,30,
+kokido,1,30,
+koishi_komeiji,4,30,komeiji_koishi
+kohei_(otukimi),4,30,
+koharu_(blue_archive),4,30,
+koge_(kogenta_blackfang),4,30,
+kodos,4,30,
+knot_frottage,0,30,
+knight_armor,0,30,
+kludge,4,30,
+klavinova,1,30,
+kiyttani,3,30,
+kiwikltten,1,30,
+kittyplay,0,30,
+kitsyfluff,4,30,
+kitrosun,1,30,
+kitajiro2,1,30,
+kit_cat,4,30,
+kirinit,1,30,
+king_the_gengar_(character),4,30,
+king_of_red_lions,4,30,
+kikivuli,4,30,
+kiiro_endings,1,30,
+kigupony,1,30,
+khaosdog,1,30,
+khanco,4,30,
+keqing_(genshin_impact),4,30,
+kelani,4,30,
+kebi_(character),4,30,
+kb-unlimited,1,30,
+kazyan_(kazy0008),4,30,
+kazusa,4,30,
+kateshi,1,30,
+karu,4,30,
+karr'serath,4,30,
+karakusa.p,1,30,
+kansen,0,30,
+kami_cheetah_(aja_williams),4,30,
+kaku_(kluclew),4,30,
+kairithekat,1,30,
+kai_the_fox,4,30,
+kahix,1,30,
+kaen_nakayoshi,4,30,
+justdrox,4,30,
+july_shepherd_(nokamiwd),4,30,
+joshii,1,30,
+jolan_joestar,4,30,
+joid_(itisjoidok),4,30,
+john_wilde,4,30,
+john_bridges,1,30,
+joey_(oystercatcher7),4,30,
+joe_(disambiguation),6,30,joe
+joducus,4,30,
+jinny_(tinygaypirate),4,30,
+jessica_albert,4,30,
+jesse_(neus),4,30,
+jennifer_bourne,4,30,
+jaythefox333,1,30,
+jaycee_(miso_souperstar),4,30,
+janse,1,30,
+janet_(vhsdaii),4,30,
+jamie_knox_(jamiekaboom),4,30,
+james_t._kirk,4,30,"captain_kirk,james_t._kirk_(character),james_tiberius_kirk"
+james_cabello,1,30,
+james_bond,4,30,
+james_(kinojaggernov),4,30,
+jakiro_the_twin_headed_dragon,4,30,
+jacqueline_renier,4,30,
+jabot,0,30,
+izuchi,5,30,
+iynize,4,30,
+ivysaurite,1,30,
+it's_hip_to_fuck_bees,0,30,
+ishan,1,30,
+isaac_(colonel_klink),4,30,
+iron_kodiak,4,30,
+iris_(twokinds),4,30,
+irbeth,4,30,
+ira_(frozenartifice),4,30,
+inuboshi,1,30,
+interior_background,0,30,
+insides,0,30,
+inside_shoe,0,30,
+inkypig,4,30,
+ingrid_the_plague_doctor,3,30,
+ingrid_(harry_amoros),4,30,
+ingrid,4,30,
+infernaltee,1,30,
+inakagurashi,1,30,
+in_memoriam,0,30,
+implied_prostitution,0,30,
+illeroi,4,30,
+iideek,1,30,
+ichthys25,1,30,
+icecreamwolf,1,30,
+ice_bondage,0,30,
+icarus_the_phoenix,4,30,
+ian_(drawdroid),4,30,
+iamoddabellatay,1,30,"todd_l._milhouse,todddraws"
+iago_(disney),4,30,
+hypercawk,1,30,
+hyper_lactation,0,30,
+hybrid-no.1,1,30,
+htfcuddles,1,30,
+hotchkisstank,1,30,
+horse_lover,0,30,
+horn_point,5,30,
+hooked_penis,0,30,
+homolution,1,30,
+holly_(monster_rancher),4,30,
+holding_toy_gun,0,30,
+holding_ranged_weapon,0,30,
+holding_purse,0,30,
+holding_pie,0,30,
+holding_both_shins,0,30,
+hobbled,0,30,
+hitting_head,0,30,
+himuganeya,1,30,
+hildazard,4,30,
+hiddenmode,1,30,
+hicktown,4,30,
+hibiscus_(thecon),4,30,
+hera_(lunarmagic),4,30,
+henry_(henrycharizardboi),4,30,
+help_desk_(oc),4,30,
+helia_(tfzn),4,30,
+heart_eyewear,0,30,
+headboard_grab,0,30,
+hau_(pokémon),4,30,hau_(pokemon)
+harriet_morgan_(xmetalhusky),4,30,
+harpsichord_(artist),1,30,
+harley_(swifthusk),4,30,
+harkonner,1,30,
+hands_tied_behind_back,0,30,
+hands_on_own_ears,0,30,
+hallowedgears,1,30,
+halfbaked-hope,1,30,
+hagiasophia,1,30,
+gyro_gearloose,4,30,
+gutpunch,0,30,
+guratan_wa,1,30,
+gunma747j,1,30,
+gummibar,4,30,
+guiding_in,0,30,
+guepardoxart,1,30,
+gucci,3,30,
+guardian_dragon,5,30,
+grouse,5,30,"tetraonid,tetraonidae,tetraoninae"
+group_in_panel,0,30,
+group_bondage,0,30,
+grizzledcroc,1,30,
+grineer,5,30,
+grey_seam_briefs,0,30,
+green_towel,0,30,
+green_storm_(oc),4,30,
+green_screen,0,30,
+green_flames,0,30,
+green_bikini_bottom,0,30,
+grapple,0,30,
+grace_(chalo),4,30,
+gou,1,30,
+gosounokitsune_sonhaku,4,30,
+goris_(fallout),4,30,
+gorath_(character),4,30,
+gopher_chucks,1,30,
+gonzahermeg,1,30,
+gondola_(spurdo),4,30,
+goldlightyou,1,30,
+gold_pussy,0,30,
+goatboydraws,1,30,
+goagon,5,30,
+glistening_neck,0,30,
+gliding,0,30,
+glass_dildo,0,30,
+girtablilu,5,30,"aqrabuamelu,scorpion_man,scorpion_men"
+girros,5,30,
+gipsy_(chikiota),4,30,
+gioven_the_lucario,4,30,
+ginger_(inuki),4,30,
+gina_(satsumalord),4,30,
+gilian_(character),4,30,
+gidgeesheep,1,30,
+ghunter,1,30,
+ghost_rider,4,30,
+ghost_fox,4,30,
+geoff_(yoshi),4,30,
+genital_theft,0,30,
+genevieve_susalee,4,30,
+generic_rat_(brok_the_investigator),4,30,
+gelus,4,30,
+gaze_indicator,0,30,
+gauze,0,30,
+gatten,1,30,
+gashamon_(artist),1,30,
+garenn,4,30,
+ganten,1,30,
+gamgyuls,1,30,
+gamblepaws,1,30,
+gail_redmane,4,30,
+gahiji_jager_(mr.edoesart),4,30,
+gaby-t,1,30,
+g_(madhouse),4,30,
+fuzisawa,1,30,
+fuvi,1,30,
+futuretankcrc,1,30,
+futon_(artist),1,30,
+fushigiboshi_no_futagohime,3,30,
+furfurric,1,30,
+fully_submerged_leg,0,30,
+fujiweeb,1,30,
+fuckallofit,1,30,
+frost_(gyrodoodle),4,30,
+froggo_jay,4,30,
+fringedog,1,30,
+frilly_stockings,0,30,frilled_stockings
+freedom,0,30,
+fredrik,4,30,
+freaking_out,0,30,
+frazzle_rock_(mlp),4,30,
+frankie_(modjo),4,30,
+foxysoul,1,30,
+foxtrotarts,1,30,
+foxosexual_(lane),4,30,
+foxmelra,1,30,
+foxialist,1,30,
+fox_girl_(ehs),4,30,
+forest_fire,0,30,
+flyer_(pamphlet),0,30,
+flower_clip,0,30,
+floating_feet,0,30,
+floating_ears,0,30,
+fleetingember,1,30,
+flayra,4,30,
+flat_chastity_cage,0,30,
+flaring,0,30,
+flame_(pkmndiamond493),4,30,
+fjollettigeren,1,30,
+fireteam_epsilon,3,30,
+finnish_lapphund,5,30,
+finikart,1,30,
+filtrandez,1,30,trandafilov
+fidgit_(character),4,30,
+ff_glu,1,30,
+ferra_(battle_franky),4,30,
+fenikusu,1,30,ふぇに
+feng_lion,4,30,
+fenary,4,30,
+felris,1,30,
+fellatio_while_penetrated,0,30,
+felipe_rinehart,4,30,
+felicia_cat_(character),4,30,
+feet_on_penis,0,30,
+featureless_(disambiguation),6,30,featureless
+feather_mane,0,30,
+faymantra,1,30,
+fanny_(el_senor_erizo),4,30,
+fan_tail,0,30,
+fallen_tree,0,30,
+fairy_fighting,3,30,
+fafnir_stardust_(artist),1,30,
+ezzie,4,30,
+eyvindr,4,30,
+eyewear_around_neck,0,30,
+extra_fingers,0,30,
+evdokiya,4,30,
+escoria,1,30,
+eris_(tgaobam),4,30,"eris_(cartoon_network),eris_(gaobam)"
+eric_caracal,4,30,
+eradossfm,1,30,
+entoxia,1,30,
+enter_the_gungeon,3,30,
+enoki_(thompson-vonjung),4,30,
+enigma_(daltenigma),4,30,
+energy_shield,0,30,
+energizer_bunny,4,30,
+endium_(character),4,30,
+emoji_censorship,0,30,
+emi_(character),4,30,
+emerald_(viroveteruscy),4,30,
+embroidery,0,30,
+embriel,1,30,
+ember_(deathhydra),4,30,
+elsie,4,30,
+elsa_(brand_new_animal),4,30,
+eliza_(disambiguation),4,30,eliza
+eliatrope,5,30,
+elbow_on_table,0,30,
+ek_(artist),1,30,
+egohusky,1,30,satori_(artist)
+edo_(rabblet),4,30,
+easkull,5,30,
+e-c98,1,30,
+dymasyasilver,1,30,
+dusty-pixels,1,30,
+dusk_(duskdgn),4,30,
+duragan,1,30,
+dunn,4,30,
+duemeng,1,30,
+duda_(moki),4,30,
+dubwool,5,30,
+dru_(toto_draw),4,30,
+dress_bow,0,30,
+drchops,1,30,
+drakoilex,4,30,
+drako,4,30,
+dragon_quest_ii,3,30,dragon_quest_2
+dragon-storm,1,30,
+dormant_otter,1,30,
+doopnoop_(artist),1,30,
+donritzu,3,30,
+don_(slipco),4,30,
+don_(regular_show),4,30,
+dominion_tank_police,3,30,
+doggycoffee,1,30,
+doggiemonkey,1,30,
+dodogama,5,30,
+documentary,0,30,
+dmin,1,30,
+disbelief,0,30,
+director_himuro,4,30,
+dinamitecupcake,1,30,
+digitalfurbelow,1,30,
+digiknight,3,30,
+dieselpunk,0,30,
+dictator,0,30,
+dickarmdaryl_(artist),1,30,
+diapered-buns,1,30,
+diantha_(zaviel),4,30,
+diane_nguyen,4,30,
+di-fl,1,30,
+dhole_humanoid,5,30,
+dhole_(kemono_friends),4,30,
+dharma_(zeromccall),4,30,
+detectivebubble,1,30,
+denverend,1,30,
+denatri,4,30,
+demichan,1,30,
+delta_(jurassic_world),4,30,
+dekto_cat(oc),4,30,
+dei,1,30,
+degrees_of_kemono,3,30,
+deegee,1,30,
+debbie_(lewd_dorky),4,30,
+death_(tarot),0,30,
+deaddog2007,1,30,
+deadboltreturns,1,30,
+dawn_(decollie),4,30,
+dasoupguy,1,30,
+daruzenon,1,30,
+darkraifu,4,30,
+darkness_(konosuba),4,30,
+darkdragon23,4,30,
+dark_mask,0,30,
+dark_lighting,0,30,
+darama,1,30,
+dantez,1,30,
+danterain,1,30,dante_rain
+danny_(anakuro),4,30,
+dalmatian_father_(pickles-hyena),4,30,
+dalluwn,1,30,
+daisuke_amaya,1,30,
+dain_(dainthedeer),4,30,
+dagger_leonelli_(character),4,30,
+d_(comic),3,30,
+cynthia_ivory,4,30,
+cutting_chipset,4,30,
+cum_in_tube,0,30,
+cum_in_toilet,0,30,
+cubplay,3,30,
+crystal_lizard,5,30,
+crying_sound_effect,0,30,
+crustle,5,30,
+crusader,0,30,
+crunchyspoon,1,30,
+critter_catcher,1,30,
+crisis_(karbo),4,30,
+covering_up,0,30,
+course_number,0,30,
+cough,0,30,
+cosmo_(fop),4,30,"cosmo_(fairly_oddparents),cosmo_cosma,cosmo_julius_cosma"
+cosmic_mane,0,30,
+cosmic_(cosmicmewtwo),4,30,
+corwyn,1,30,
+cornfrosty,1,30,
+cornfield,0,30,
+cookie-pone,1,30,
+contraction,0,30,
+confusedewe,1,30,
+condom_belt,0,30,
+compsognathus,5,30,
+compsognathid,5,30,
+comparison_bet,0,30,
+collaborative_oral,0,30,
+cole_(fox_and_dragon),4,30,
+cold_yellowtail,1,30,
+colar,0,30,
+cohozuna,5,30,
+cobalt_(chris_sutor),4,30,
+cmaggot,1,30,
+clover_(1-upclock),4,30,
+cloud_quake,4,30,
+clothed_intersex,0,30,
+close_up_panel,0,30,
+clipped_wings_(oc),4,30,
+classyorange,1,30,
+claire_delua_(kittyprint),4,30,claire_delua_(nightshade89)
+cindy_(fnac),4,30,
+ciel_(nicobay),4,30,
+cider_(ciderbunart),4,30,
+chutkat,1,30,
+christy_(christykitsune),4,30,
+chris_(bluesh),4,30,
+chococlass,1,30,
+chocend,1,30,theguynooneremembers_(artist)
+chillyspicky,1,30,
+childhood,0,30,
+chickhawk96,1,30,
+chelostracks,1,30,
+cheesefries,1,30,
+cheek_pull,0,30,
+cheek_dots,0,30,
+chase_(character),4,30,
+charmcharmcharm,1,30,
+charlie_mandango,1,30,
+charlie_(gray_impact),4,30,
+chaosrruruus,1,30,gelada_(artist)
+chaos99,1,30,
+champagne_(jeremy_bernal),4,30,
+cellcone,1,30,
+cellar,0,30,
+celestiathegreatest,1,30,
+celestial_wolf,5,30,
+cedrato,1,30,
+cautious,0,30,caution
+catree,1,30,
+catober_2022,3,30,
+cataracts,0,30,
+cat_gloves,0,30,
+cat-sith_(sao),5,30,
+cartwheel,0,30,
+carrots_(starbirbz),4,30,
+carne_(inkplasm),4,30,
+carmine_acciai,4,30,
+carla_(rio),4,30,
+caramelthegoat,1,30,
+caramel_(basketgardevoir),4,30,
+captain-cheto,1,30,
+canime,1,30,
+candyshybat,1,30,
+candle_holder,0,30,
+cancer_(symbol),0,30,
+caltro,1,30,
+c-forge_(artist),1,30,
+bxblazexd,1,30,bxblazexd_(artist)
+butu_z,1,30,
+buoy,0,30,
+bunbunmuffins,1,30,
+bunbun_(tricksta),4,30,
+bun-bun_(aquabunny),4,30,
+bullbluedog,1,30,
+buck_(rsotart),4,30,
+brown_sofa,0,30,brown_couch
+brown_chair,0,30,
+brown_cape,0,30,
+brinstar,1,30,
+brian_(100_deeds),4,30,
+breezy_(lotp),4,30,
+breedingduties,1,30,
+breech_birth,0,30,
+breast_smothering,0,30,
+breast_reduction,0,30,
+breast_hug,0,30,
+brave-eliza,4,30,"brave_eliza,brave_elizabeth_bathory,brave_elizabeth_báthory,elizabeth_bathory_(brave),elizabeth_báthory_(brave)"
+brasslion's_lion_tribe,3,30,
+boyfriend_to_death,3,30,
+boxofmonsters,1,30,
+bovy_(character),4,30,
+bottlecap,0,30,
+bosomancer,1,30,
+booster_(fuze),4,30,
+bonkers_(vimhomeless),4,30,
+bones_in_stomach,0,30,
+bomb_collar,0,30,explosive_collar
+bodily_groan,0,30,
+bodily_fluids_from_penis,0,30,
+boc_the_seamster,4,30,
+bobskunk,4,30,
+bobby_(fluffy_gf),4,30,
+boba_fett,4,30,
+boa_hancock,4,30,
+blurgh,0,30,
+bluhellwulf,1,30,
+bluescr33m,1,30,
+bluekumabox,1,30,
+blue_sphere,0,30,
+blue_gums,0,30,
+blue_curtains,0,30,
+bloodletter,5,30,
+blood_on_stomach,0,30,
+blizzie_(blizziethelion),4,30,
+blink_(artist),1,30,
+blaze_monstrosity,4,30,
+blasphemy,0,30,
+blacktip_shark,5,30,
+blacksen,1,30,
+blackrabbitshone,1,30,
+black_wolf57,4,30,
+black_ring,0,30,
+black_powder_weapon,0,30,
+black_mascara,0,30,
+biznis_kitty,4,30,
+bito_(bitebox64),4,30,
+bileshroom,1,30,
+bike_(disambiguation),6,30,bike
+bigsub,0,30,
+big_mustache,0,30,
+bernie-buddy,1,30,
+ben_thompson,4,30,
+belzeber,4,30,
+behemoth_(disambiguation),5,30,"behemoth,behemoths,the_behemoth,the_behemoths"
+bedtime,0,30,
+bebatch,1,30,
+beatrice_(disambiguation),4,30,beatrice
+bbravaa,1,30,
+bayzan_(artist),1,30,
+baubles,0,30,
+batman_beyond,3,30,
+basculin,5,30,
+barrzalex,1,30,
+barelynsfw_(artist),1,30,
+barbed_girls,4,30,
+barbariank,1,30,
+baraqueen,1,30,
+bane_(species),5,30,
+balls_on_torso,0,30,
+balls_on_tail,0,30,
+ballroom,0,30,
+bakugan_(series),3,30,
+baiying,1,30,
+bahamut_(dnd),4,30,
+baggy_hoodie,0,30,
+bae_bunny,4,30,baebunny
+bad_rap,4,30,
+bad_friends,0,30,
+bad_breath,0,30,
+backbone_(game),3,30,
+back_pain,0,30,
+back-tie_dress,0,30,
+azzy184,1,30,
+azure_(lemonynade),4,30,
+aziran_(fluffybastion),4,30,
+ayumu_gouriki_(odd_taxi),4,30,
+ayeph,4,30,
+ayelet_ripley,1,30,ayelet
+aya_(thekite),4,30,
+axelshane,1,30,
+avocado,0,30,
+aviesergal,1,30,
+avery_(animal_crossing),4,30,
+avaetre,4,30,
+ava_seer,4,30,
+ava's_demon,3,30,
+aurochs_(kemono_friends),4,30,
+aurelia_(unbeholden),4,30,
+aulann,4,30,
+audition,0,30,
+athena_(megustalikey),4,30,
+athena_(blackmist333),4,30,
+atelierlily,1,30,
+astrid_(oughta),4,30,
+assassin_wolf_(puss_in_boots_2),4,30,
+askknight,1,30,
+asimos,1,30,
+asenak_(artist),1,30,
+as40728,1,30,
+arustuff,1,30,
+artomis,4,30,
+artians,1,30,
+artbeta,1,30,
+art_mercenaire,1,30,
+arm_wound,0,30,
+arm_pads,0,30,"arm-pads,arm_pad,armpads"
+arkham_(character),4,30,
+arin_(letodoesart),4,30,
+archy-,1,30,
+archaeologist_mawile,4,30,mawile_(psmd)
+arakune,4,30,
+arakkoa,5,30,
+aquatic_dragon_humanoid,5,30,water_dragon_humanoid
+applying_lube,0,30,
+apple_girl2000,1,30,
+apple_core,0,30,
+aorpheat,4,30,
+aoihitsuji,1,30,
+anus_behind_g-string,0,30,
+anubis_(lollipopcon),4,30,
+antif10,1,30,
+anthro_raping_anthro,0,30,
+anne_(arcnod),4,30,
+animal_strife,3,30,
+angry_koala,1,30,
+angel_the_hedgehog,4,30,
+andrew_swiftwing,4,30,
+andiiiematronic,1,30,
+ananace,4,30,
+ammo_box,0,30,
+ammi_(cinnahbunn),4,30,
+amimalcrossin,1,30,
+amayakasuneko,4,30,
+amatsukitsune,1,30,
+alyn_gryphon,1,30,
+alpog21_(artist),1,30,
+alix_(angelbreed),4,30,
+alive_(artist),1,30,
+alinu_(roadiesky),4,30,
+alice_the_slug,4,30,
+alex_the_demon_magnamon_(sveemon),4,30,
+aleutia,4,30,
+aleksai,4,30,
+akumademo,0,30,
+ajumia,4,30,
+aizenhower,1,30,
+aiza_(flashw),4,30,
+aiming_at_another,0,30,
+aiko_makura,4,30,
+ahzi,1,30,
+ahdrii,4,30,
+ageinu,1,30,
+aged,0,30,
+ag-wolf,4,30,
+after_cunnilingus,0,30,
+aegis_aurora,4,30,
+adriana_(usuario2),4,30,
+acidic_saliva,0,30,
+aceymari,1,30,
+ace_(lilo_and_stitch),4,30,"ace_(l&s),ace_(las),ace_(lilo_&_stitch),ace_(stitch),experiment_262"
+accalia_wynterrose,4,30,
+acara_(neopets),5,30,
+abyssal,4,30,
+abyss_kiryu,1,30,
+abtp,1,30,
+abigail_(redboard),4,30,
+abigail_(os),4,30,
+abel_(zerostar),4,30,
+aaron_(arlon3),4,30,
+:3c,0,30,
+7-car-pileup,1,30,
+3trees,1,30,
+3pac,1,30,
+2=8,1,30,
+20_(skushi),4,30,
+1uped-art,1,30,
+1978_rainbow_pride_colors,0,30,
+1920,7,30,
+18th_century,7,30,
+zzz3,1,29,
+zylo_(shining),4,29,
+zoosadism,0,29,
+zoom_out,0,29,
+zonuche,1,29,
+zipperhyena,1,29,
+zima_(arknights),4,29,
+zika,4,29,
+zettairesu,4,29,
+zett,4,29,
+zero3_delta,4,29,
+zephir,1,29,
+zennithm,1,29,
+zenith741,1,29,
+zebra10045,1,29,
+zangtober_2020,0,29,
+zamuzaza2,1,29,
+zafo,1,29,
+zachary_aethern,4,29,
+zach_the_wolf,4,29,
+yuka_(animal_crossing),4,29,
+yu_(derek_hetrick),4,29,
+yougrover,1,29,
+yotomoe,1,29,
+yimamiantang,1,29,
+yeneeko_matsuda,4,29,
+yellow_tail_tip,0,29,
+yellow_mongoose,5,29,red_meerkat
+yellow_heart,0,29,
+yellow_head,0,29,
+yellow_antlers,0,29,
+yasha_greenpaw,4,29,
+y-foxy,4,29,
+xin_(thibbycat),4,29,
+xeras_miro,4,29,
+xenphira_hollyvine,4,29,xenphira
+xemkiy_(character),4,29,
+xabelha,1,29,
+x_drake,4,29,
+wondershove,1,29,
+wolfeus,4,29,
+wolf_nanaki_(artist),1,29,
+wolf_in_sheep's_clothing,3,29,
+wisespeak,1,29,
+wisemans,1,29,
+wingzord,4,29,
+winged_kobold,5,29,
+windstraw_kidwell,4,29,
+windreg1,1,29,
+wicked-at-heart,1,29,
+whitewolf351,1,29,
+white_piercing,0,29,
+white_lipstick,0,29,
+whisper_(yo-kai_watch),4,29,
+weylen,4,29,
+wet_arms,0,29,
+weso,1,29,
+weon1119,1,29,
+weedymeadowfawn,1,29,
+weedwolfeatmeat,1,29,
+weaponized_breasts,0,29,
+wazzart,1,29,
+warp_star,0,29,
+warmth,0,29,
+warforged,5,29,
+wanipi,4,29,
+walking_on_water,0,29,
+waiting_in_line,0,29,
+wagwolftail,4,29,
+w.d_gaster,4,29,
+vtalfluffy,3,29,
+volleyball_court,0,29,
+vita_console,0,29,
+visitor,4,29,
+vishykin,1,29,
+vincent_(luvbites),4,29,
+villains,0,29,
+viga_(character),4,29,
+victoria_(asaneman),4,29,
+victoria_(arrkhal),4,29,
+vfcou,1,29,
+vetoknox,1,29,
+verusha_(tits),4,29,
+verelin,1,29,
+venus_the_hedgehog,4,29,
+veiny_neck,0,29,
+veiny_hands,0,29,
+vehicles,0,29,
+vausep,1,29,
+vaskurknsfw,1,29,
+varky,4,29,
+valvi369,1,29,
+valus_the_kobold,4,29,
+vaalhard,1,29,
+uthalla,4,29,
+utamu_d28,1,29,
+utage_(arknights),4,29,
+urine_on_fur,0,29,
+unicornblue,1,29,
+uneven_eyes,0,29,
+underwear_peeing,0,29,
+under_dress,0,29,
+unathi,5,29,
+tzarious,4,29,
+tynx,5,29,
+twomario_(artist),1,29,
+twokindswierdo,1,29,
+two-tone_scales,0,29,
+twisty_(oc),4,29,
+twinfox,1,29,
+twifoxy,1,29,
+tundra_(stellar_tundra),4,29,
+tucked_shirt,0,29,
+tsubasagahoshi,1,29,
+trying_not_to_laugh,0,29,
+trogon,5,29,
+trixie_(eg),4,29,
+tristana_gllant,1,29,
+trisha_(desmondpony),4,29,
+trig,4,29,
+tremor_(character),4,29,
+tree_humanoid,5,29,
+toynuke,1,29,
+touching_tail,0,29,
+touching_own_butt,0,29,
+touching_ears,0,29,
+torn_swimwear,0,29,
+tori_cro_(bistup),4,29,
+torc,0,29,
+top_down,0,29,
+tonsils,0,29,
+tongue_swirl,0,29,
+toiletmaw,1,29,
+togenanafushi,1,29,
+tj_(disambiguation),4,29,tj
+tirantherex,3,29,
+tips_touching,0,29,
+tinky_winky_(teletubbies),4,29,
+tina_rex,4,29,
+tigrsasha,1,29,
+tibolf,4,29,
+tiax,4,29,
+tiare_mehran,4,29,
+ti_(spazzyhusky),4,29,
+thundercats_roar,3,29,thunder_cats_roar
+thumb_in_waistband,0,29,
+thiscrispykat,1,29,
+this_egg_got_me_acting_unwise,3,29,
+thewildwolfy,1,29,
+themadrabbit,4,29,
+thefishe77,1,29,
+the_vermander_curse,3,29,
+the_mute_one,3,29,
+the_forest_of_love,3,29,
+the_feels,0,29,
+the_evil_within,3,29,
+the_cleveland_show,3,29,
+the_broadcaster,1,29,
+thanuki,1,29,
+text_outside_panel,0,29,
+tetsuox,4,29,
+testing,0,29,
+terry_(satsumalord),4,29,
+teriyaki_(character),4,29,
+tension,0,29,
+techno,5,29,
+team_lift,0,29,
+teacher_clothing,0,29,
+taylor_the_rat,4,29,
+tatugon,1,29,
+tatters,4,29,
+target_corporation,3,29,
+tapering_dildo,0,29,
+tap_dancing,0,29,tap_dance
+tanya_(disambiguation),4,29,
+tan_legwear,0,29,beige_legwear
+tan_kerchief,0,29,
+tan_dress,0,29,
+tales_of_the_abyss,3,29,
+takosen,1,29,
+takatiki,1,29,
+tacoma_(character),4,29,
+tacoma,1,29,
+tabuley_(character),4,29,
+synkardis,4,29,
+symbolhero,1,29,
+sx,1,29,skinnerx2710
+sweet_biscuit_(mlp),4,29,
+suzumusi114,1,29,
+suzume_514,1,29,
+super_soaker,3,29,
+sundown,0,29,
+summoner_(doom),5,29,
+sukarabe_ren,4,29,
+suicidalpixel,1,29,
+sugarsnap,1,29,
+stripes_(copyright),3,29,
+striker,4,29,
+storm_hawks,3,29,
+stop_motion,0,29,
+stoking,0,29,
+stickface,1,29,
+steven_ciervyena,1,29,
+stereographic_panorama,0,29,
+stephan_(spacebunz),4,29,
+stella-chan,4,29,
+steeb_the_boar,4,29,
+steam_deck,3,29,
+static_(animal_crossing),4,29,
+starving,0,29,
+starry,4,29,
+stargrave,1,29,
+starchild_(mass_effect),4,29,
+star_font,0,29,
+staples,0,29,
+stanley_(zer0rebel4),4,29,
+stained_diaper,0,29,
+stag_beetle,5,29,"lucanid,lucanidae,lucanidaen,stagbeetle"
+srfkkk,1,29,
+squchan,1,29,
+squaliform,5,29,squaliformes
+sprrigs-,1,29,
+sprinklepoo,1,29,
+springtail,4,29,
+spreader_gag,0,29,
+spread_thighs,0,29,
+spread_navel,0,29,
+spot_pig,0,29,
+spoon_in_mouth,0,29,
+splooge,1,29,
+splatypi,1,29,
+spider_bones,1,29,
+spicypepper,1,29,
+sparksreactor,1,29,
+sparkly_dress,0,29,
+spacedog,1,29,"am-pm,spacedog-am"
+south_africa,0,29,
+soulwing98,1,29,
+soulofmusashi,1,29,
+sora_(warsgrasp),4,29,
+sonya_(averyshadydolphin),4,29,
+sonic_wolfe,4,29,
+song_(raptor007),4,29,
+son_swap,0,29,
+someshittysketches,1,29,
+solopipb,1,29,
+solomonvolfovich,1,29,
+soloid,1,29,
+softscone,1,29,
+sodalite_(kitfox-crimson),4,29,
+snuggly,4,29,
+snare_trap,0,29,
+snarbolax,5,29,
+snakegood,1,29,
+snaildoki,1,29,
+smore's_(glacierclear),4,29,
+smilek,1,29,
+smallking,1,29,
+slithice_the_naga_siren,4,29,
+slipknot,3,29,
+slide_(sound_effect),0,29,
+sledge_bro,5,29,
+sky_(xenonwolf),4,29,
+sky_(shantae),4,29,
+skull_hair_accessory,0,29,
+skip_(skipperz),4,29,
+skewer,0,29,
+skal-tel,4,29,
+skaith,4,29,
+sixth_quadratus,1,29,
+sitting_on_character,0,29,
+sinister,0,29,
+sinatzeek,1,29,
+sillyfoxart,1,29,
+silly_straw,0,29,
+sigrid_(oblivion),4,29,
+siggurd_bjornson_(character),4,29,
+siegerabbit,1,29,
+sidmonthebear,1,29,
+sicklizardman,1,29,
+siakstuff,1,29,
+siaetto,4,29,
+shuna,5,29,
+shotgunning,0,29,
+shota_fong_(character),4,29,
+shoolmail,1,29,
+shoes_on,0,29,
+shiva_(oc),4,29,
+shit_eating_grin,0,29,
+shirt_(artist),1,29,
+shino_inuzuka_(full_bokko_heroes),4,29,
+shine_ali,1,29,
+shimazu_yoshihisa,4,29,
+sheldon_lee,4,29,sheldon_oswald_lee
+sheila_(rocko's_modern_life),4,29,"sheila_(rml),sheila_(rocko),sheila_(rockos_modern_life)"
+sheepish_grin,0,29,
+shedon,4,29,
+shear_(disambiguation),6,29,"shear,shears"
+shaving_cream,0,29,
+shard_(aquafreeze),4,29,
+shannon_boxman,4,29,"shannon_(ok_k.o!),shannon_(ok_k.o),shannon_(ok_k.o.!),shannon_(ok_k.o.!_lbh),shannon_(ok_k.o.!_let's_be_heroes),shannon_(ok_k.o.!_lets_be_heroes),shannon_(ok_k.o.),shannon_(ok_k.o._lbh),shannon_(ok_k.o._let's_be_heroes),shannon_(ok_k.o._lets_be_heroes),shannon_(ok_k.o_lbh),shannon_(ok_k.o_let's_be_heroes),shannon_(ok_k.o_lets_be_heroes),shannon_(ok_ko!),shannon_(ok_ko!_lbh),shannon_(ok_ko!_let's_be_heroes),shannon_(ok_ko!_lets_be_heroes),shannon_(ok_ko),shannon_(ok_ko_lbh),shannon_(ok_ko_let's_be_heroes),shannon_(ok_ko_lets_be_heroes)"
+shambles,1,29,
+shalien,4,29,
+shadowcloud,4,29,
+sexyspots,1,29,
+severed_testicle,0,29,
+severed_tail_(artist),1,29,
+seth_(laxerner),4,29,
+serendipity_the_pink_dragon,3,29,
+serendipity,4,29,
+serandite,4,29,
+ser_ori_tuft,4,29,
+sempers,1,29,
+selva,4,29,
+seliron_(character),4,29,
+selen_tatsuki,4,29,
+sechs_fuckheaven,4,29,
+sea_guardians,0,29,
+scylla,5,29,
+scribe_the_grey,4,29,
+scratching_self,0,29,
+schrodinger_(hellsing),4,29,
+schnuffelienchen,4,29,
+scarfshepherd,1,29,
+scalesnveins,1,29,
+sayo,1,29,"gabichan00,queendinies_(artist)"
+savaj_bunny,1,29,
+sashido_zerako,1,29,
+sasha_(sashaviel),4,29,
+saren_(saren662),4,29,
+sarah_(simplifypm),4,29,
+sara_aria,4,29,
+santa_coat,0,29,
+sandbox,0,29,
+sammy_(sammy73),4,29,
+samanya_mohatu,4,29,
+saltwater_crocodile,5,29,
+saliva_on_legs,0,29,
+sakura_(sacrificabominat),4,29,
+saina,1,29,
+sailor_jupiter,4,29,
+sahak_darkcloud,4,29,
+saebira,1,29,saebira_(artist)
+sadako_(leokingdom),4,29,
+sachiko,4,29,
+sabre_(disambiguation),6,29,sabre
+saber_artoria_pendragon,4,29,"saber_(fate/stay_night),saber_(fate_stay_night)"
+ryuzoku_seitai_chosa_han,1,29,
+ryuma210,1,29,
+rutilix_(live-a-hero),4,29,
+russell_rabbitt,4,29,
+rufen,4,29,
+rudolph_trnd,1,29,
+rudolph_the_red-nosed_reindeer:_the_movie,3,29,
+ruby_(salkitten),4,29,
+rpadi,3,29,
+roxy_(ziapaws),4,29,
+roumgu,1,29,
+rosie_(ionic44),4,29,
+rosa_pyle,4,29,
+roropull,1,29,
+roop_(the_roop),4,29,
+rod,0,29,
+rocket_wisp,5,29,
+roasting_marshmallow,0,29,
+roadkill,0,29,
+riorix,1,29,
+rio_(dangpa),4,29,
+rintrah_(marvel),4,29,
+rick_(raynadkins),4,29,
+richard_vulpes,4,29,
+richard_katellis,1,29,
+ricederp,1,29,
+ric-m,1,29,
+rho,4,29,
+revenfox,1,29,
+retweet,0,29,
+renu,4,29,
+ren_(aceren),4,29,
+remywolf,1,29,
+remi_(retrogear),4,29,
+remembering,0,29,
+regeneration,0,29,
+refraction,0,29,
+reese's,3,29,
+redevan_tauron,4,29,
+redboi,1,29,
+red_outfit,0,29,
+red_lantern_(series),3,29,
+red_boxing_gloves,0,29,
+red_bluster,5,29,
+rebecca_(black-husky),4,29,
+reathroch,1,29,
+re_jin37,1,29,
+rayna,4,29,
+rawnchyrancher,1,29,daftalchemist
+rankanri,1,29,
+ramune_(mayoi89g),4,29,
+ralph_(wreck-it_ralph),4,29,
+raito_buru_(miscon),4,29,
+raised_surface_support,0,29,
+raised_knee,0,29,
+rainer_(floofyrainer),4,29,
+rainbowdash2000,1,29,
+rainbow_power,0,29,
+raenix_(species),5,29,
+radroach_(fallout),5,29,
+quorum-s,1,29,quenchlesssatyr
+quixotically_erotic,1,29,quixoticallyerotic
+quirrel_(hollow_knight),4,29,
+qoppa,1,29,
+pussy_juice_on_object,0,29,
+puss_in_boots_2,3,29,
+pushpup,1,29,
+puppyloveimani,1,29,
+puni_101010,1,29,
+pulling_panties_down,0,29,
+puko_(aggretsuko),4,29,puko_(aggressive_retsuko)
+puggi,4,29,
+puffy_short_sleeves,0,29,
+pubbi,1,29,
+pseudo_pussy,0,29,
+ps4_controller,0,29,
+project_geeker,3,29,project_gkr
+privateotou,1,29,
+prism_bolt,4,29,
+priscilla_(slimshod),4,29,
+primeleap,3,29,
+prime-l,4,29,
+presenting_nipple,0,29,
+portia_(animal_crossing),4,29,
+porn_cover,0,29,"porno_cover,pornography_cover"
+pop_glace,1,29,
+pongotora,1,29,
+polygenerational_incest,0,29,
+pokeality_love,1,29,
+plum_the_red_panda,4,29,
+platinum_blonde_hair,0,29,
+pinning_down,0,29,
+pinky_(doom),5,29,
+pinkelephantfetish,1,29,
+pine_squirrel,5,29,
+pikanjo,1,29,
+piiu,1,29,
+pig_p0318,1,29,
+pietro_(deadpliss),4,29,
+pickynickit,1,29,
+photo_album,0,29,
+phelpsfilchat,1,29,
+phantom_thief,0,29,
+phalia_(the_cum_zone_trilogy),4,29,
+pfeffaroo,1,29,
+petrie,4,29,"panicky_petri,panicky_petrie,petri_(land_before_time),petri_(lbt),petri_(the_land_before_time),petri_(tlbt),petrie_(land_before_time),petrie_(lbt),petrie_(the_land_before_time),petrie_(tlbt)"
+pete's_dragon,3,29,
+petaro,1,29,
+pestonya_shortcake_wanko,4,29,
+perokisu,1,29,
+periwinkle_fur,0,29,
+percedal_(wakfu),4,29,
+peppermint_(disambiguation),0,29,peppermint
+pentrating,0,29,
+penis_slave,0,29,
+penis_over_breasts,0,29,
+peafowl_humanoid,5,29,"humanoid_peacock,humanoid_peafowl,peacock_humanoid"
+peacock_spider,5,29,maratus
+paws_on_hips,0,29,
+pasture,0,29,
+passport,0,29,
+parsujera,1,29,
+parkwillbark,1,29,
+para-dice,4,29,
+paqaaqap,1,29,
+panne,4,29,
+panda_(catkitte),4,29,
+pan_red,1,29,
+pan_(sxfpantera),4,29,
+palm_frond,0,29,
+pahpreeka,4,29,
+pahanrus2,1,29,pahanrus3
+ozone_griffox,4,29,
+ozone_(antoreakk),4,29,
+oxnard,4,29,
+owen_(adam_wan),4,29,
+overwritten,0,29,
+overnut_(artist),1,29,
+overgrown,0,29,
+ovelhadogelo,1,29,
+oval_rug,0,29,
+ourboiroy,1,29,
+ouija_board,0,29,
+ottersoup,1,29,
+otachi,4,29,
+oskar_(coffee.png),4,29,
+orenjimaru,1,29,
+orbulon,4,29,
+opal,4,29,
+ookamicasha,1,29,
+onxel,1,29,
+onigrift_(character),4,29,
+ongi,1,29,
+ondatra,1,29,
+on_hands,0,29,
+omi_softpaws,4,29,
+olaf_(animal_crossing),4,29,
+okochira,3,29,
+okamical,1,29,
+ogami_aratsuka,4,29,
+oculus_(brand),3,29,
+october_flixard_(character),4,29,
+oblivionfall's_cum_zone_trilogy,3,29,
+object_in_hair,0,29,
+obix,4,29,
+o'hare_(animal_crossing),4,29,"o-hare_(animal_crossing),o_hare_(animal_crossing),ohare_(animal_crossing)"
+nylonheretic,1,29,
+nyctilian,5,29,
+noxik,4,29,
+nox_(yajuu),4,29,
+nova-umbreon,1,29,
+nottesan,4,29,
+not_by_me,1,29,
+nooken,1,29,
+noodles_(character),4,29,
+noctobi,1,29,
+noah_(project_geeker),4,29,
+noah_(codymathews),4,29,
+nix,4,29,
+niwa0w0,1,29,
+nitroneato,1,29,
+nirmala,4,29,
+nipple_expansion,0,29,
+ningenzoo,1,29,kohn-nz
+ninfu_caracal,4,29,
+nilani_(pocket-sand),4,29,
+nikki_(pogonip),4,29,
+night_dress,0,29,
+nife_(character),4,29,
+nier,3,29,
+nessova_(only0neman),4,29,
+nerts,4,29,
+nell_(sneakyphox),4,29,
+nekrozs_(character),4,29,
+nekonote,1,29,
+neko_atsume,3,29,
+nekazzy,1,29,
+nekan,1,29,
+neck_pussy,0,29,
+ne_sun,1,29,
+ncaa,3,29,
+nautilusta,1,29,
+naughtyrodent,1,29,
+natsuco_7star,1,29,
+natasha_(mammaawd),4,29,
+nasuno_(yosuke),4,29,
+naotohirai,1,29,
+nanodirty,1,29,
+nanks_(artist),1,29,
+nami-li_sato,4,29,
+nadeah_fur,4,29,
+n0b0dy,1,29,
+n-kosi,1,29,
+mythological_nian,5,29,
+mysterymanbob,1,29,
+muzzle_feet,0,29,
+mustang-blaze,1,29,
+music_box,0,29,
+muscari,4,29,
+murphy_(perish),4,29,
+muroku,1,29,
+mumm-ra,4,29,
+multum,4,29,
+multiple_pred,0,29,
+multifurry,0,29,
+multicolored_shell,0,29,
+multi_tone_headwear,0,29,
+mugita_konomi,1,29,
+mstuarn,1,29,
+mrscroup,1,29,
+mroleoso,1,29,
+mrhart,1,29,
+mr._pickles,4,29,
+moziqiao,3,29,
+mozeeeeeeeee,1,29,
+movie_(disambiguation),6,29,movie
+mouse_princess,4,29,
+mother_goat,4,29,
+mosh_(oc),4,29,
+morghus,4,29,
+moonzy,3,29,
+moonabloom,1,29,
+mooexe,1,29,
+monstrous_nightmare,5,29,
+monspik,5,29,
+mondegreen,1,29,
+moe,0,29,
+modestyshorts,1,29,
+mizuiror18,1,29,
+mistress-honey,1,29,
+mistergre,1,29,
+misterbunny56,1,29,
+mishark,4,29,
+miranda_(wsad),4,29,
+mining_helmet,0,29,
+mindora,4,29,
+milkcat_(hataraki),4,29,
+mikeyex,1,29,
+mika_(lunarpanda8686),4,29,
+miitara,1,29,
+midriff_jacket,0,29,
+mi,4,29,
+metal_virus,0,29,
+meryl_(harvey_beaks),4,29,
+mermaid_position,0,29,
+mercy_leaf,4,29,
+mercury_ruslanovich,4,29,
+meoxie,1,29,
+mela_(neo_hajime),4,29,
+"meibelle_""belle""_renee_rougeux",4,29,
+megan_bryar,4,29,
+meena_(sing),4,29,meena_the_elephant
+mednia_vahl,4,29,
+medigun,0,29,
+medieval_shield,0,29,
+med121,1,29,
+mcarspec,1,29,
+mayoi89g,1,29,
+may_dog,1,29,
+mawile123,1,29,
+mawfulme,1,29,
+mautis_skunk,1,29,
+mauimoe,1,29,
+matthewbrandon,1,29,
+matt_(firekit),4,29,
+masami_yoshida,4,29,
+mary_muffin,4,29,
+marugome_rs,1,29,
+marth_wait,1,29,
+marshal_moo_montana,4,29,
+marlin,5,29,
+marko_comics,1,29,
+mark_(horse)_(aaron),4,29,
+marina_marshmallow,4,29,
+mari_(tailzkim),4,29,
+marcelo_canario,4,29,
+marble_(coc),4,29,marble_(corruption_of_champions)
+manbun,0,29,
+male_protagonist_(pokemon_sv),4,29,
+malboro,5,29,
+mako_030201,1,29,
+makkon,1,29,
+makare,4,29,
+maionios,4,29,
+maine,0,29,
+mailner,1,29,
+maiden,0,29,
+maicha_(briefgarde),4,29,
+magenta_(character),4,29,
+magatsuhinokami,1,29,
+mae_peppermint,4,29,
+mad_dog,4,29,
+mackeymike,1,29,
+lynx_taur,5,29,lynxtaur
+lykan_(endertwinks),4,29,
+lying_in_water,0,29,
+lycadio,1,29,
+luxury,0,29,
+lutz_(lutz-spark),4,29,
+luther_(luther-bat),4,29,
+lunge,0,29,
+luka_(lucario),4,29,
+lugio-france,1,29,
+ludwig_(lddraws),4,29,
+lucy_(alex.fetter),4,29,
+lucky_and_chocolate_charms,3,29,
+lucille_(kleiny),4,29,
+lpawz,1,29,lpawz_(artist)
+lowlysquid,1,29,
+louie_(jishwalob),4,29,
+lou_(stripes),4,29,
+lotus_(lotusgoatess),4,29,
+lotosu,1,29,
+lora_northstar,4,29,
+lopht_desarls,4,29,
+loose_socks,0,29,
+longboard,0,29,
+long_day_at_work,0,29,
+loki_roland,4,29,
+logo_censor,0,29,
+locke_(spoongod),4,29,
+lobi_top,1,29,
+lizzard_ych,1,29,
+littlemomoko,1,29,
+litsi,1,29,
+lit_fuse,0,29,
+lips_on_muzzle,0,29,
+linuell_s'eleross,4,29,
+linklynx,3,29,
+linhe_(mklancer00),4,29,
+lindy,4,29,
+linda_(james_howard),4,29,
+lime_fur,0,29,
+lilith_magne_(hazbin_hotel),4,29,"lilith_magne,lilith_magne_(vivzmind)"
+liko,4,29,
+light_panties,0,29,
+light_jewelry,0,29,
+lied_etal,1,29,
+libragon,4,29,
+lexi_redd,4,29,
+lex-icon,1,29,
+lewrancelaura,1,29,
+lewd_lotl,1,29,
+lewd_die,1,29,
+leno_woof,1,29,
+lennox,1,29,
+lena_lardoon,4,29,
+lemlem97,1,29,
+leif_(helvetia),4,29,
+legionoftoast,1,29,
+leather_jockstrap,0,29,
+leaning_on_desk,0,29,
+leaf_(animal_crossing),0,29,
+laying_on_pillow,0,29,
+lavshep,4,29,
+laurel_lightfoot,4,29,
+laturnor,4,29,
+latex_socks,0,29,
+lass_(pokemon),4,29,lass_(pokémon)
+larissa_(lowrider-girl),4,29,
+large_fangs,0,29,
+lap_pillow,0,29,
+lao_cia,1,29,
+lantu_(artist),1,29,
+lands_of_fire,3,29,
+landomcflurry,1,29,
+lancer_cú_chulainn_child_of_light,4,29,"lancer_cu_chulainn_(fate/stay),lancer_cu_chulainn_(fate_stay),lancer_cu_chulainn_(fate_stay_night),lancer_cu_chulainn_child_of_light,lancer_cú_chulainn_(fate/stay),lancer_cú_chulainn_(fate_stay),lancer_cú_chulainn_(fate_stay_night)"
+lance's_dad_(kloogshicer),4,29,
+lambert_(kemo_coliseum),4,29,
+laguz,5,29,
+ladysgusting,1,29,
+lad_(samwellgumgi),4,29,
+kvie_cloverhoof_(kvie),4,29,
+kusuda_korone,4,29,
+kushinadahime_(full_bokko_heroes),4,29,
+kuromu_(nekojita),4,29,
+kuro_lolita,0,29,
+kuro_(disambiguation),6,29,kuro
+kuritama,1,29,
+kuon_(telson),4,29,
+kumbomb,3,29,
+ktq15-2,3,29,
+ktdz,1,29,
+krista_van_hoorn,4,29,
+krideg,1,29,
+krazen,4,29,
+kraken_d'waggin,4,29,
+kouga0225,1,29,
+kotyami_(kotyami),4,29,
+kotya,1,29,
+kongthegrain,1,29,
+komugi_(lee),4,29,
+kojote,4,29,
+kobuchi_(524koki),1,29,
+ko-shu,1,29,
+kitsune_drifty,1,29,
+kitsoone,1,29,
+kisa_(donshadowwolf),4,29,
+kirk,4,29,
+kirisha,4,29,
+kirby's_return_to_dream_land,3,29,
+kinomikinobori,1,29,
+kinkykenku,1,29,
+kinglikeme,1,29,
+kinako_(artist),1,29,
+kimetsu_no_yaiba,3,29,
+kimber_di_furetti,4,29,
+khris_(shining),4,29,
+khoaprovip00,1,29,
+keyhole_lingerie,0,29,"key-hole_lingerie,key_hole_lingerie"
+kevin_(sff),4,29,
+keromasou,4,29,
+kenrito,4,29,
+kenny_mccormick,4,29,
+kenkudog,1,29,
+ken_ichijouji,4,29,
+kemofujin_(comic),3,29,
+kemofujin,4,29,
+kelly_(tits),4,29,
+keilet,4,29,
+keeb,1,29,
+keden,4,29,
+kc_(kingcreep105),4,29,
+kazzy,4,29,
+kayin,4,29,
+kaydee_ackland,4,29,
+kawiku,1,29,kawiko
+katie_killjoy_(hazbin_hotel),4,29,
+katherine_(sem-l-grim),4,29,
+karol_(lombaxtail),4,29,
+karma_(lol),4,29,
+kanokon,3,29,
+kangaroo-boy,1,29,kangaroo_boy
+kancho,0,29,
+kana_(ironkongstudios),4,29,
+kamechuu,1,29,
+kaishi_brek,1,29,
+kaiden,4,29,
+kabu_(pokemon),4,29,kabu_(pokémon)
+kabramari,1,29,
+jyaguti,1,29,
+jupiter_(dragalia_lost),4,29,
+jully_figthers,4,29,
+julia_(ungulatr),4,29,
+juicestandmango,1,29,
+juice_the_bug,4,29,
+judy_hopps_allegation_challenge,3,29,
+judging,0,29,
+jude_williams,4,29,
+jockey,0,29,
+jking1200,1,29,
+jimmy_the_fox,4,29,
+jetwave,1,29,
+jesse_pinkman,4,29,
+jess_(disambiguation),4,29,jess
+jerry_5779,1,29,
+jennifer_l_anderson,1,29,jlanderson
+jen_ambler,4,29,
+jelly_otter,4,29,
+javelin,0,29,
+jasmine_boingston,4,29,
+japanese_armor,0,29,
+jankingen,1,29,
+janeen_brotherthat,4,29,
+jammedvhs,1,29,
+jacket_around_waist,0,29,
+jack_sunshine_(oc),4,29,
+iwano.kal_(artist),1,29,
+iuncco13,1,29,
+isodoma,1,29,
+isaaclou_(character),4,29,
+iotran_(character),4,29,
+inward_slanted_eyebrows,0,29,
+inverted_color,0,29,
+intersex_pride_colors,0,29,
+inkgelato,1,29,
+infiniteshades,1,29,
+inferno,0,29,
+inferna_dragnis,4,29,
+industrial_ladder_piercing,0,29,
+inca-ren,5,29,
+imminent_scat,0,29,
+imiak,1,29,
+ikkakumon,5,29,
+igazella_(oc),4,29,
+ice_cooler,0,29,
+icarus_(tjin),4,29,
+hyakkin,1,29,matsumoto_katsuya
+huntress_(nutty_butty),4,29,
+hungover,0,29,
+hozunomi,1,29,
+howell_(ventkazemaru),4,29,
+hotlegmeme,1,29,
+horn_suck,0,29,"horn_sucking,horns_suck,horns_sucking,sucking_horn,sucking_horns"
+honeyson,1,29,
+holmssie,1,29,
+holly_(aygee),4,29,
+holimount,1,29,
+holding_pecs,0,29,
+hoisxi,1,29,
+hobgoblin,5,29,
+hiro_(toa),4,29,
+hindu,0,29,
+hinata_nekomiya,4,29,nekomiya_hinata
+highschool,0,29,
+hi-rez_studios,3,29,
+hex_(bleats),4,29,
+hermaeus_xerxes,1,29,
+herm_focus,0,29,
+heresy-darling,1,29,
+hentwi,1,29,
+hellfox,5,29,
+helio_(character),4,29,
+helen_sack_(savagelyrandom),4,29,
+height_reduction,0,29,
+hedax,1,29,
+hebleh,4,29,
+heather_mason_(silent_hill),4,29,
+heathcliff_rogers,4,29,
+heart_gem,0,29,
+heart_belt,0,29,
+headlamp,0,29,head_lamp
+hangetsu_(ko-gami),4,29,
+hang_in_there,3,29,
+hands_on_knee,0,29,
+hands_behind,0,29,
+hands_around_waist,0,29,
+handlebarsprites,1,29,
+hand_on_own_ear,0,29,
+halla,4,29,
+hajinn,3,29,
+hachura,1,29,
+h_the_raptor,4,29,
+gz_draws,1,29,
+gusset,0,29,
+gurdurr,5,29,
+gunnmx,1,29,
+grumpmuzzle,1,29,
+grounder_(adventures_of_sonic_the_hedgehog),4,29,grounder_(aosth)
+gronnulv,1,29,
+grey_robe,0,29,gray_robe
+grey_eyelids,0,29,
+grex,4,29,
+green_tree_python,5,29,
+green_mask,0,29,
+greavard,5,29,
+grease_stains,0,29,
+graphite_(graphite),4,29,
+granite_the_wolf,4,29,
+gothmeup,1,29,
+gorgonopsid,5,29,
+golub1ka,1,29,
+goldi,4,29,
+golden_keylime_(oc),4,29,
+gold-white-kott,1,29,
+gofer_(dudelinooo),4,29,
+goblintown,1,29,
+glowing_saliva,0,29,
+glowing_nails,0,29,
+glowing_feathers,0,29,glowing_feather
+glowing_antennae,0,29,"glowing_antenna,lantern_antenna,lantern_antennae,lantern_antennaes,lantern_antennas"
+gloop,0,29,
+glistening_elbow_gloves,0,29,shiny_elbow_gloves
+glenda_(trias),4,29,
+glaze_(thepianofurry),4,29,
+gku,1,29,
+giraffe_penis,0,29,
+giftheck,1,29,giftheck_(artist)
+ggashhhissh,1,29,
+get_stickbugged_lol,3,29,
+gepredators,1,29,
+geogreymon,5,29,
+gecko_(fallout),5,29,
+gbrushandpaint,1,29,
+gazing,0,29,
+gayrider8,1,29,
+gauge_piercing,0,29,
+gats_(stabstag),4,29,
+gary_(tinydeerguy),4,29,
+garth_(wyrt),4,29,
+garrodor,4,29,
+gardening_tools,0,29,
+gaogamon,5,29,
+gao_53937056,1,29,
+gamera_(series),3,29,
+gambit_(the_corvid),4,29,
+galleta_(dirtycookie),4,29,
+gajo,1,29,
+gabe_(onom),4,29,
+fynncat,4,29,
+futalova1,1,29,
+futalova,4,29,
+futaholic,1,29,
+furuki_rakuko,1,29,
+furtiv3,1,29,
+furryaoi,1,29,
+furry_pussy,0,29,
+furniture_noises,0,29,
+furel,4,29,
+furbeyond,1,29,
+fumei,4,29,
+fully_submerged_tentacles,0,29,
+fruit_clothing,0,29,
+fruit_bikini,0,29,
+frigidmidnight,1,29,
+frigadae,1,29,
+freezietype,1,29,
+freefraq,1,29,
+frankensteinsmonsterfucker,1,29,
+francis_(lost-paw),4,29,
+fozzie_bear,4,29,
+foxy_carter,4,29,foxycarter
+foxtrap,1,29,
+foxixus,1,29,
+fox_gungrave,1,29,
+fortune_(fortunefox),4,29,
+foreskin_inflation,0,29,
+forced_labor,0,29,
+footpaw_hands,0,29,
+foot_on_furniture,0,29,
+fluid_tap,0,29,
+fluffy_feet,0,29,
+flossy,4,29,
+florence_the_lioness,4,29,"florence_florrie,florence_florrie_the_lioness,florrie,florrie_(madagascar)"
+floral_markings,0,29,"floral-shaped_marking,floral-shaped_markings,floral_(marking),floral_(markings),floral_marking,floral_shaped_marking,floral_shaped_markings,flower-shaped_marking,flower-shaped_markings,flower_(marking),flower_(markings),flower_marking,flower_markings,flower_shaped_marking,flower_shaped_markings,flowers-shaped_marking,flowers-shaped_markings,flowers_(marking),flowers_(markings),flowers_marking,flowers_markings,flowers_shaped_marking,flowers_shaped_markings"
+flora_flowerpot,4,29,
+flarethedragon,1,29,
+flare_phoenix,4,29,
+flaming_head,0,29,
+flamey,4,29,
+flag_on_building,0,29,
+fiyawerks,1,29,
+five_nights_in_anime,3,29,
+fish_boy_(elranno),4,29,
+fireman's_carry,0,29,
+firecracker,0,29,
+fin_ring,0,29,
+fev_mutant_(fallout),5,29,
+feral_noises,0,29,
+fenwolf,4,29,
+felstalker_(warcraft),5,29,
+felix_(buckfelix47),4,29,
+feeding_bottle,0,29,
+fattydragonite,1,29,
+fatality,0,29,
+fantomcat,3,29,
+f-thefirst,1,29,
+ezzyecchi,1,29,
+ezreal_(lol),4,29,
+eye_torture,0,29,
+exuli,1,29,
+exposed_underwear,0,29,
+exposed_ribcage,0,29,
+evil_hare_(monster_rancher),5,29,
+etya_(eto_ya),4,29,
+esdeath,4,29,
+erro,4,29,
+erra_(tits),4,29,
+erovsaaaka,1,29,
+ernie,4,29,
+erma_felna,4,29,
+eris,4,29,
+erika_skuld,4,29,
+erik_(animal_crossing),4,29,
+enia,1,29,
+endymion_(endymionwr),4,29,
+endra,4,29,
+emukon,1,29,
+emsevell,1,29,
+emma_(emma),4,29,
+elwinne,1,29,
+elroc_(character),4,29,
+elnadrin,4,29,
+ellis_(bucklebunny),4,29,
+ella_(paw_patrol),4,29,
+elite_the_espeon,4,29,
+eli_(fleetwoodbrak),4,29,
+elex_the_smeargle,4,29,
+elemental_monkeys,0,29,
+electrical_outlet,0,29,
+elapid_(artist),1,29,
+elaine_budderbup,4,29,
+ekuhvielle,1,29,
+eifiemoth,1,29,
+eelektrik,5,29,
+edan_(irishkofi),4,29,
+dynomutt,4,29,
+duncan_the_aphid,4,29,
+duhey,4,29,
+dubcub,4,29,
+dt-b,4,29,
+drunkengeneral,1,29,
+drowtales,3,29,
+drew_(dislyte),4,29,
+drega,4,29,
+dreamtanker,1,29,
+drayl_(character),4,29,
+drayjay,4,29,
+drayce,4,29,
+draxial,4,29,
+dralighieri,1,29,
+drakloak,5,29,
+dragons:_rescue_riders,3,29,
+dragon696,1,29,
+dr.p,1,29,
+dr._heinz_doofenshmirtz,4,29,"dr._doofenshmirtz,heinz_doofenshmirtz"
+double_ended_arrow,0,29,
+double_cervical_penetration,0,29,
+dorothy_(artist),1,29,
+door_open,0,29,
+doomlard,1,29,
+donttouchmylasagna,1,29,
+dominic_(redrusker),4,29,
+domestication,0,29,
+dolar,1,29,
+dogfight,0,29,
+dodge_charger,3,29,
+dkdevil,1,29,
+dj_booth,0,29,
+dizzy_(animal_crossing),4,29,
+diva_(animal_crossing),4,29,
+discombobulation,1,29,
+discarded_dildo,0,29,
+dimitri_3_(101_dalmatians),4,29,
+dilgear_(character),4,29,
+dildo_in_slit,0,29,
+digital_watercolor,0,29,
+digimon_taur,5,29,"digi_taur,digimontaur,digitaur"
+digimaru,1,29,
+dieselblue,1,29,
+dier_von_dan,4,29,
+diaper_stuffing,0,29,diaper_entrapment
+diamondback_rattlesnake,5,29,
+diamond_(turbo_mcgogo),4,29,
+devilkitten_yami,1,29,
+deviliveb,1,29,
+devicre,1,29,
+detective_hat,0,29,
+detail,0,29,
+desktop_ponies,0,29,
+designjh,1,29,
+dervali,4,29,
+derpsickle,4,29,
+deren_(kagami_valgus),4,29,
+dendollae,1,29,
+demon_eyes,0,29,
+delvin_(character),4,29,
+delilah_aurelian_(fiftyfifthfleet),4,29,
+deku_baba,5,29,
+ddevil,1,29,
+daydream_kinamoto,4,29,
+dawn_wings_necrozma,5,29,ultra_lunala
+davide76,1,29,
+dasaki,4,29,
+darthhell,1,29,
+darkria,4,29,
+darkai_(character),4,29,
+dark_matter,4,29,
+daria,4,29,
+dante_(bgn),4,29,
+dante's_inferno,3,29,
+dale_(mykiio),4,29,
+dakr0819,1,29,
+daiwa_scarlet_(pretty_derby),4,29,
+daigo_kumano,4,29,
+d2_(marsminer),4,29,
+cylynix,1,29,
+cylus_karamele,4,29,
+cybersix_(copyright),3,29,
+cyberjoel,4,29,
+cyberamethyst,1,29,
+curtis_(dorkdonk),4,29,
+cum_on_tree,0,29,
+cum_on_sandwich,0,29,
+cum_on_gloves,0,29,
+cum_on_forehead,0,29,
+cum_in_urinal,0,29,
+cryowolf9,1,29,
+crouching_over_dildo,0,29,
+crosner_code,1,29,
+crop_top_jacket,0,29,
+crooked_glasses,0,29,
+croc_(petruz),4,29,
+crimestrikers,3,29,
+creature_from_the_black_lagoon,4,29,
+cream_(eto_rangers),4,29,
+crablouse,1,29,
+cozze_(macmegagerc),4,29,
+cow_(petruz),4,29,
+courtship,0,29,
+coshi-dragonite,1,29,
+cornish_rex,5,29,
+corgimarine,1,29,
+cooking_tongs,0,29,grilling_tongs
+controller_on_bed,0,29,
+commodore_international,3,29,
+commander_d,1,29,
+colored_eyelashes,0,29,
+color_scheme,0,29,
+cody_(thoshan),4,29,
+cocone,3,29,
+club3,1,29,
+clothing_store,0,29,
+clifford_tibbits,4,29,cliff_tibbits
+cleyran_maiden,4,29,
+clemont_(pokemon),4,29,clemont_(pokémon)
+cleft_chin,0,29,
+clcoon,1,29,clcoon_(artist)
+clara_(funkybun),4,29,
+city_scape,0,29,
+cinnamon_almond,4,29,
+chubbyfurries,1,29,
+christine_bayle,4,29,
+chris-sowden,1,29,
+chiralchimera,1,29,
+chillydog,5,29,
+chickira_(chick+a_boom),4,29,
+chi's_sweet_home,3,29,
+chevrolet_corvette,3,29,
+cherry_feyre,4,29,
+chateau_de_monster,3,29,
+charlystone,1,29,
+charlottefloof,1,29,
+charlotte_(bm),4,29,
+chance_(experiment),4,29,
+cerise_(delrar),4,29,
+centbair,4,29,
+cavasomnia,1,29,
+cattail_(pvz),5,29,"cattail_(plants_versus_zombies),cattail_(plants_vs._zombies),cattail_(plants_vs_zombies)"
+catherine_(wolfpack67),4,29,
+catapult,0,29,
+cassie_the_rock_vixen,4,29,
+cartoon_eyes,0,29,
+cara_black,4,29,carablack
+capital-h,1,29,
+caphound,1,29,
+cane_toad,5,29,canetoad
+cane-mckeyton_(character),4,29,
+candy_bucket,0,29,
+candide_(amazinky),4,29,
+canal,0,29,
+calot,5,29,
+calorath_(character),4,29,
+calliecho,1,29,
+caillie-ann,4,29,
+byser,1,29,
+byokiboy,1,29,
+byere,4,29,
+buzz_(animal_crossing),4,29,
+butt_witch,4,29,
+butt_window,0,29,
+butt_pinch,0,29,
+butt_on_fire,0,29,
+butt_envy,0,29,
+business_card,0,29,
+bushy,0,29,
+burryro,1,29,
+bunta_(sisiwaka_3),1,29,
+bugg_(artist),1,29,
+brummington_the_chipmunk,4,29,
+brown_wall,0,29,
+brother_bear_(character),4,29,
+brooke_reed,4,29,
+broken_neck,0,29,
+bro_bun_(hladilnik),4,29,
+brick_block,0,29,
+brew_sleeper,1,29,
+brevman,1,29,
+brett_booth,1,29,
+brazhnik,1,29,
+brandy_(avogadrotoast),4,29,
+boxice,1,29,
+bottomless_day_(rotten_robbie),3,29,
+bottom_with_big_penis,0,29,
+borkbawbaw,1,29,
+booou,1,29,
+boobytrapzap,1,29,
+bonk_(meme),3,29,
+bone_armor,0,29,
+bogard_(fate),4,29,
+bob's_burgers,3,29,
+blushi_(artist),1,29,
+bluse,1,29,
+bluestar_(warriors),4,29,
+bluescales,4,29,
+bluelikestea,1,29,
+blue_gills,0,29,
+bloxwhater,1,29,
+bloodline,3,29,
+bloodhound_(artist),1,29,
+blaze_(blaze125),4,29,
+blaki_daniel_raiper_virod_(blaki_raiper),4,29,
+blairtheglaceon,4,29,
+black_undergarments,0,29,
+black_saliva,0,29,
+black_pillow,0,29,
+black_lagoon,3,29,
+black_forest_cake,0,29,
+bit_(bit-small),4,29,
+birthnight,1,29,
+birth_of_venus,3,29,
+biotari,1,29,
+bikini_shorts,0,29,
+big_chungus,4,29,
+bibbidy,1,29,
+bia_(rio),4,29,
+beyond_good_and_evil_(game),3,29,"beyond_good_&_evil,beyond_good_and_evil"
+bexley_(scappo),4,29,
+beverage_bottle,0,29,
+betsythebeaver,1,29,
+bethany_blacksboro,4,29,
+bertha_(kazecat),4,29,
+bent_ears,0,29,
+ben_saint_james,4,29,
+bellylliumu,1,29,
+belly_noises,0,29,
+bellum-art,1,29,
+bee_movie,3,29,
+bee_(mykiio),4,29,
+beckerdobermans,1,29,
+beautifulpanda20,1,29,
+beau_(artist),1,29,
+bearlylegal,1,29,
+beaked_toad,5,29,"rhinella,rio_viejo_toad"
+beak_fuck,0,29,
+bbmbbf,1,29,
+battery_life,0,29,
+bapho_(keadonger),4,29,
+banryu,4,29,
+bam_(bambii_dog),4,29,
+bakabakeneko,1,29,
+baine_bloodhoof_(warcraft),4,29,
+bag_of_lewds,1,29,
+bader_(bear),4,29,
+babyfier,4,29,experiment_151
+baba_looey,4,29,
+b2u5n,1,29,
+azulatios,4,29,
+azhdarchid,5,29,
+aydan,4,29,
+ayame_(zillford),4,29,
+aviators,0,29,
+ava_(azura_inalis),4,29,
+austin_abel,4,29,
+aura_(character),4,29,
+attached,0,29,
+atlas_(impximon),4,29,
+astralantipode,1,29,
+ash_(fantastic_mr._fox),4,29,
+asarimaniac,1,29,
+arthur_bradley,4,29,
+arm_on_head,0,29,
+arius,1,29,
+aria_stormwood_(frooby),4,29,
+aria,4,29,
+ardi_pink,1,29,
+archivist-kayl,1,29,
+archibald_thorburn,1,29,
+archer_gilgamesh,4,29,
+araphre,4,29,
+araivis_edelveys_(character),4,29,
+araiguma,4,29,
+aptonoth,5,29,
+anthony_caligula,4,29,
+anther,0,29,
+anniehyena_(artist),1,29,
+ankle_boots,0,29,
+animal_skull,0,29,
+angus_(disney),4,29,
+angelicdevil,4,29,
+andy_the_horse,4,29,
+andromorph_on_human,0,29,"andromorph/human,cuntboy_on_human"
+andro'neesa,4,29,
+andres_(elfein),4,29,
+andgi,4,29,
+anal_pull_out,0,29,
+anahi_viron,4,29,
+amphissal,1,29,
+amia_(backlash91),4,29,
+amfy,1,29,
+amelia_(twokinds),4,29,
+amai_puwai_(character),4,29,
+aludrakijurorin,1,29,
+alternate_ending,0,29,
+alshir0,1,29,
+alpine_ibex,5,29,
+alolan_dugtrio,5,29,"alola_dugtrio,dugtrio_(alola_form),dugtrio_(alolan_form)"
+allegro,4,29,
+allay,5,29,allay_(minecraft)
+all-starwarrior,1,29,
+alice_the_vixen,4,29,
+alex_delobo_(character),4,29,
+alex_(ticktockfox),4,29,
+alebrije,5,29,
+aldaric,4,29,
+alchemy_stars,3,29,
+aki_(rilex_lenov),4,29,
+akazai,1,29,
+airlemi,1,29,"lsa2423063,神竞源"
+ailin_gardevoir,0,29,
+aiden_(disambiguation),6,29,aiden
+agumon_(survive),4,29,
+agouti-rex,1,29,
+agentmoose,1,29,
+affax,4,29,
+aeris_(foxxd),4,29,
+adventure_bonnie_(fnaf),4,29,
+admiration,0,29,
+adar_nasiykh,4,29,
+adamayster,1,29,
+adachilemon402,1,29,
+ada_carlia,4,29,
+ace_(ayukawataur),4,29,
+acanthurid,5,29,"acanthuridae,naso_(fish),surgeon_fish,surgeonfish,tang_(fish),unicorn_fish,unicornfish"
+absolutely_everything,0,29,
+abraham_roddenbury,4,29,
+aaros_(character),4,29,
+a,0,29,
+6strife9,1,29,
+3d_custom_girl,3,29,
+2tipsie4me,1,29,
+27:22,7,29,
+23:30,7,29,
+14:19,7,29,
+13:20,7,29,
+13:18,7,29,
+0.05,1,29,
+zygarde_complete_forme,5,28,"zygarde_100,zygarde_100_form,zygarde_100_forme,zygarde_complete,zygarde_complete_form"
+zozia,4,28,
+zoe_(tf4me),4,28,
+zmeya,4,28,
+zira_(ziravore),4,28,
+zillionaire,1,28,
+zhaeo,4,28,
+zeussunspot,1,28,
+zeus_female,4,28,
+zestycuke,1,28,
+zeshapyra,1,28,
+zerrex_(zerrexnarrius),4,28,
+zerg_queen_(starcraft),5,28,
+zenonclaw,1,28,
+zenobia,4,28,
+zeezee_(bewbchan),4,28,
+zeek,4,28,
+zarya_(overwatch),4,28,
+zapp_brannigan,4,28,
+zannos,4,28,
+zakoryu,1,28,
+zaiyaki,1,28,
+z0mbieraptor,1,28,
+yusioka,1,28,
+yulzana,1,28,
+yuki_nexus,4,28,
+yuan-ti,5,28,
+ysengrin,4,28,
+youzaiyouzai112,1,28,
+younger_andromorph,0,28,younger_cuntboy
+youhei79384157,1,28,
+yoshu_makato,1,28,
+yoon_soo-mi,4,28,"virgin-chan,virgin-chan_(colo),virgin_chan,virgin_chan_(colo)"
+ying_(paladins),4,28,
+yiga,5,28,
+yiffmachine,1,28,
+yellow_snow,0,28,
+yellow_loincloth,0,28,
+yellow_elephant,1,28,
+yellow_cape,0,28,
+yandere_trance,3,28,
+yaku_zorah,4,28,
+xoven,4,28,
+xenosaga,3,28,
+xavier_(1-upclock),4,28,
+xantouke,1,28,
+xanthus,4,28,
+xander_hewett,4,28,
+xama_pro,1,28,
+wormadam,5,28,
+world_of_warcraft,3,28,
+world_of_fizz,3,28,
+wooferwoof,1,28,
+wom-bat,1,28,
+wolfoxokamichan,1,28,
+wolfen_(wolfracer559),4,28,
+wolf_pack,0,28,
+wistfane,4,28,
+wiskar,4,28,
+wire_basket_muzzle,0,28,
+winter_(wolfmsk),4,28,
+wing_armor,0,28,
+wimpod,5,28,
+wilma_flintstone,4,28,
+wilfred_butterton,4,28,
+whitney_(aj_the_flygon),4,28,
+white_sports_bra,0,28,
+white_lab_coat,0,28,
+white_knee_highs,0,28,
+white_freckles,0,28,
+whirlott_(insomniacovrlrd),5,28,
+whiplash_(game),3,28,
+wheat_body,0,28,
+wetwoof,1,28,
+wetness,0,28,
+werewolfass,1,28,
+welcome_to_doozy,3,28,
+webb_(neko3240),4,28,
+weapon_arm,0,28,
+wckd,1,28,
+wayward_vagabond,4,28,"mayor_(homestuck),mayor_(hs),the_mayor_(homestuck),the_mayor_(hs),warweary_villein,wastelandic_vindicator,wizardly_vassal"
+warning_message,0,28,
+wappa_charlotte,4,28,
+vyriss,1,28,vyrissthevixen
+vorix,1,28,
+voogaroo,5,28,
+voodoo_inflation,0,28,
+volcasaur,4,28,
+vol'jin_(warcraft),4,28,
+viximon,5,28,
+vivi_(malis),4,28,
+virginia_(adastra),4,28,
+vintem,1,28,
+vincent_(random_doom),4,28,
+victoria_(sandwich-anomaly),4,28,
+vibrato,4,28,
+vibe_(hoodielazer),4,28,
+vertical_stereogram,7,28,
+versus,0,28,
+veronica_ishtani,4,28,
+velux,4,28,
+velos,4,28,
+velkiel_(artist),1,28,
+vek,4,28,
+vehicle_humanoid,5,28,humanoid_vehicle
+vegetoid,4,28,
+vega_(my_life_as_a_teenage_robot),4,28,vega_(mlaatr)
+vdezten,1,28,
+varzek_(character),4,28,
+vape_pen,0,28,
+vaos_(vaos_porpoise),4,28,
+vallshad,1,28,
+valeria,4,28,
+valentine_(skullgirls),4,28,
+vaginal_pull_out,0,28,
+urine_tube,0,28,
+urii,1,28,"ginpaku,うりい"
+uri_bennet_(ryltar),4,28,uri_renard_blanc_(ryltar)
+unwanted_attention,0,28,
+unown_t,5,28,
+unicorn_tail,0,28,
+undertale_au,0,28,
+uncensored_version_at_paywall,0,28,
+umigarasu,1,28,
+udaboutthatbass,1,28,
+ubernerdmaster,1,28,
+uba,1,28,
+tyler_mcrae,4,28,
+two_tone_eyebrows,0,28,
+two_tone_cape,0,28,
+twinkle_moondust,4,28,
+twilight_panda,4,28,
+twig_(umbra),4,28,
+tweaker,4,28,
+tsukunertov,4,28,
+tsukino_(show_by_rock!!),4,28,
+tsuki,4,28,
+tryst_(drxii),4,28,
+truth_or_dare,0,28,
+tritus,4,28,
+triste_miedo,4,28,
+trial_captain_kiawe,4,28,"kiawe_(pokemon),kiawe_(pokémon)"
+travis_(meesh),4,28,
+trashcanchampion,1,28,
+trapped_in_socks,0,28,
+translucent_pants,0,28,
+trancesequence,1,28,
+traditional_moogle,5,28,
+toy_mouse,0,28,
+toxy_squishy,1,28,
+toxic_waste_barrel,0,28,
+torn_flag,0,28,
+toongrowner,1,28,
+tooeks,1,28,
+tooca,4,28,
+tongue_down_throat,0,28,
+tokyo,0,28,
+togo_the_husker_(togothehusker),4,28,
+toast435,1,28,
+tkckid,1,28,
+title_drop,0,28,
+tirildraws_(artist),1,28,
+tiny_bunny,3,28,
+tingle,4,28,
+timet,4,28,
+tight_fit_(oc),4,28,
+tight_bikini,0,28,
+thr33y3dg0at,1,28,
+thorstone,1,28,
+thorsten_anzomi,4,28,
+thorinblender,1,28,
+thoran,4,28,
+third_person_dialogue,0,28,
+thiccrobots,1,28,
+thevixenmagazine,1,28,
+theviktor,1,28,
+thetransformistress,1,28,
+therizinosaurus,5,28,therizinosaurus_(species)
+thepurplemaniac,1,28,
+theo_(disambiguation),4,28,theo
+thenekoboi,1,28,
+theman,1,28,
+thefuraticalgamer,3,28,
+the_mole_(htf),4,28,
+the_mist_walker,1,28,
+the_melancholy_of_haruhi_suzumiya,3,28,suzumiya_haruhi_no_yuuutsu
+the_maid_(petokikka),4,28,
+the_cat_in_the_hat,4,28,
+the_cake,0,28,
+thb886,1,28,
+thatweirdguy,1,28,
+thaine_(character),4,28,
+tesshin_(ginga),4,28,
+terrykurosu,1,28,
+teres_(icma),4,28,
+tentacle_masturbation,0,28,
+tentacle_coil,0,28,
+tentacle_between_breasts,0,28,
+tent_through_fly,0,28,
+tensor,1,28,
+tensazangitsu,1,28,
+telim,4,28,
+taz_(facebook),4,28,
+tavit_khalil_(spiff),4,28,
+tassle,0,28,
+tarzan_(character),4,28,
+taran_zhu,4,28,
+tanzanite_(character),4,28,
+tanning_lotion,0,28,
+tank_girl,3,28,
+tani_d,1,28,
+tan_text,0,28,
+tan_(character),4,28,
+tamsey_(vdisco),4,28,
+taller_partner,0,28,
+takkusk,1,28,
+takashi_natsume,4,28,
+taiyo_no_hana,4,28,
+taiyaki,0,28,
+taint_bulge,0,28,
+tailverknk,1,28,
+tailor,0,28,
+tail_scarf,0,28,
+tail_pillow,0,28,
+tail_ovipositor,0,28,
+tahnee_monroe,4,28,
+taffyy_(character),4,28,
+tachaal,1,28,
+tabitha_wildcat,4,28,
+tabaritt,4,28,
+syringe_in_ass,0,28,
+switchblade_knife,0,28,
+switch_pro_controller,0,28,
+sweaty_neck,0,28,
+suzanne_hayabusa,4,28,
+suvi_(tinygaypirate),4,28,
+suspender_skirt,0,28,
+suspended_lotus_position,0,28,
+suspended_by_belly,0,28,
+surrendering,0,28,
+surge-on,1,28,
+supporting_head,0,28,
+superfilly,0,28,
+super_robot_wars,3,28,
+supa_huskey,4,28,
+sunny_bear,4,28,
+sunlight_carbuncle,4,28,
+sunelchikito,1,28,
+summer_sawsbuck,5,28,
+suea_sowwet,4,28,
+succ,0,28,
+suane_(suane_lightfurr),4,28,
+studded_anklet,0,28,
+stubby_legs,0,28,
+strongarm_(character),4,28,
+strangersfm,1,28,
+storm_(minotaur_hotel),4,28,
+stepsister,0,28,"step-sister,step_sister"
+stephen_(agidyne),4,28,
+stellarity_the_poochyena,4,28,
+steele,4,28,
+starwarriors,3,28,
+star_topwear,0,28,
+star_catcher_(pre-g4),4,28,"star_catcher_(mlp),starcatcher,starcatcher_(mlp),starcatcher_(pre-g4)"
+standard_mode_darmanitan,5,28,
+stacy_(satsumalord),4,28,
+sredrahs,1,28,
+squiggz_(artist),1,28,
+squellac,5,28,
+squash_(fruit),0,28,"squash_(food),squash_fruit"
+spritztheskusky,4,28,
+spotted_swimwear,0,28,
+spore,4,28,
+splattershot,0,28,
+spice_blase_(tastytales),4,28,
+sperm_cell_collision,0,28,
+spek,4,28,
+sp-rings,1,28,
+sonicsky2337,1,28,
+sonar_the_fennec,4,28,
+son-in-law,0,28,
+sollux_captor,4,28,
+solarflare,4,28,
+snowpaw2927,4,28,
+snowleandre_(artist),1,28,
+snowjune,1,28,
+snowfall,4,28,
+smsq,0,28,
+smogyday,1,28,
+smg4,3,28,
+smenco_(artist),1,28,
+slavekini,0,28,
+slasher_(dead_space),5,28,
+slam_tasmanian,4,28,
+skriddha,4,28,
+skidd_(character),4,28,
+sketchy_protogen,1,28,
+sixsome,0,28,
+sitting_together,0,28,
+sitting_on_wall,0,28,
+sir_scaliehole,1,28,
+sinnah,1,28,
+singe_(character),4,28,
+sin_(brok_the_investigator),4,28,
+silverware,0,28,
+silverray17,1,28,
+silverferak,1,28,
+silver_markings,0,28,
+silentyed,1,28,
+silber,1,28,
+shykactus,1,28,
+shutmon,5,28,
+shoulderless_topwear,0,28,
+shoulder_blush,0,28,
+shotbun_(anaugi),4,28,
+shorts_around_ankles,0,28,
+short_mane,0,28,
+shocking,0,28,
+shiv,0,28,
+shirojirou,4,28,
+shiro_to_kuro,3,28,
+shinano_(azur_lane),4,28,
+shimajiro,4,28,
+shilohsmilodon,1,28,shiloh_smilodon
+shiki,4,28,
+shield_moblin,5,28,
+sherlock_holmes,4,28,
+shepard_bellwether,4,28,
+shelly_(skullman_777),4,28,
+sheep_witch_(twf),4,28,
+shanet,4,28,tylette
+shameful-display,1,28,shamefuldisplay
+shaking_fist,0,28,
+shadow_(character),4,28,
+shadiel,4,28,
+sex_during_oviposition,0,28,
+severed_genitalia,0,28,
+seshafi,4,28,
+sergeres,4,28,
+serfass,1,28,
+seren_duskflare,4,28,
+septarian,5,28,
+senbi,4,28,
+sejuani_(lol),4,28,
+seeker_of_the_sun,5,28,
+seatohao,1,28,
+seashell_panties,0,28,
+seara_(fidchellvore),4,28,
+sealeen_(twokinds),4,28,
+seago,4,28,
+sdeekkk,1,28,
+scrub_brush,0,28,
+schopenhauer,1,28,
+school_daze,3,28,
+scath_skuehrem,4,28,
+scath_schattenklaue,4,28,
+sayunu,1,28,
+sawed-off_shotgun,0,28,"sawd-off,sawdoff_shotgun,sawed-off,sawedoff_shotgun,sawn-off,sawn-off_shotgun,sawnoff_shotgun"
+sassycat531,1,28,
+sasha_(jeremy_bernal),4,28,
+sapple,1,28,
+sapphire_(sagestrike2),4,28,
+sano_br,1,28,
+sandybelldf,1,28,
+sandy_katt,4,28,
+sandy_(eevee),4,28,
+samon_shiu,1,28,
+same_size_pred,0,28,
+sam_starfall,4,28,
+salmonmcclearn,1,28,
+saliva_on_tentacle,0,28,saliva_on_tentacles
+saliva_on_nipples,0,28,
+sakehabera,1,28,
+saitudon_(character),4,28,
+sailor_suit,0,28,
+saber_(raevocrei),4,28,
+saasmimz,1,28,
+saamuel_sylvester,4,28,
+saalim,4,28,
+s1_luna_(mlp),4,28,
+ryver,4,28,
+rythmyr,4,28,
+ryotsuke,1,28,
+ryoji,1,28,
+ryn_iiskra,4,28,
+rylex_silvermane,4,28,
+rye-beer,1,28,
+ruste_(w4g4),4,28,
+russian_hippie_vixen,4,28,
+runei_worth,4,28,
+ruhuyu_(show_by_rock!!),4,28,
+rudy_(animal_crossing),4,28,
+ruby_mello_(dynamitegrizzly),4,28,
+ruben_(zaviel),4,28,
+rubber_thigh_highs,0,28,
+roxie_raccoon,4,28,
+roxanne_(frostfur101),4,28,
+rowland_(bypbap),4,28,
+rotting_flesh,0,28,
+roneethestray,1,28,
+romaji_text,7,28,
+rodrick_(zourik),4,28,
+rodent_taur,5,28,
+rockman_(species),5,28,
+robin_savage,4,28,
+robin_(qlock),4,28,
+rob_(daisy-marshmallow),4,28,
+roasted,0,28,
+ritwell,1,28,
+ritjessian,4,28,
+rindou_(p41neko),1,28,
+rina_(runei),4,28,
+rileyfoxxo,1,28,
+riley_bunny,4,28,
+rikyuu_quartz,4,28,
+rika_(recklessarts),4,28,
+riderx,1,28,
+rickwulfk95,1,28,
+rhombulus_(svtfoe),4,28,
+rgb_lighting,0,28,
+rfta,1,28,
+repacking,0,28,
+renoahemiru,1,28,
+rengeki,1,28,
+renaa_railos,4,28,renaa_railos(characters)
+ren_itsuki,4,28,
+ren_hana,4,28,
+reina,4,28,
+rei39,1,28,ideamano
+regional_form_(fakémon),5,28,
+redxelxet,1,28,
+reddyeno5,1,28,
+reddragon,1,28,
+red_martian,5,28,
+red_(the_sea_beast),4,28,
+rebe-it,1,28,"aoi_no_harinezumi_(artist),aoinoharinezumi,arturo-it,arturo_it,laurait,pleinezenitude,rebe_it,rebeit"
+reassuring,0,28,
+razzle_(hazbin_hotel),4,28,razzle_(vivzmind)
+razar_(ilovdota2),4,28,
+raytee_lee,4,28,
+raylanda,4,28,
+raxel,1,28,
+rawr_(artist),1,28,
+ravica,1,28,
+rathos,4,28,
+ratchet_zufreur,4,28,
+ratchet_wolfe,4,28,
+rastacakez,1,28,
+raptor_jesus,4,28,
+rangers_(arknights),4,28,
+randolfsparks,1,28,
+ramenshopkenz,1,28,
+raising_arm,0,28,
+raised_swimwear,0,28,"raised_swimsuit,swimsuit_raised,swimwear_raised"
+raised_hackles,0,28,"hackle-raised,hackle_raised,hackleraised,hackles,hackles-raised,hackles_raised,hacklesraised,raised-hackle,raised-hackles,raised_hackle,raisedhackle,raisedhackles"
+raised_breast,0,28,
+raindancer,1,28,
+rainbowscreen_(character),4,28,
+rain-fox,1,28,
+rai_(shadowblade945),4,28,
+ragner,4,28,
+raella_(tluuvyen),4,28,
+radar_chart,0,28,
+rad_(notsorad),4,28,
+raccoonuki,1,28,
+r4t1cky,1,28,
+qurnix,1,28,
+qunke,1,28,
+qin_(character),4,28,
+puwma,4,28,
+purps,4,28,
+purple_wall,0,28,
+purple_makeup,0,28,
+purple_line_art,0,28,
+purple_bikini_top,0,28,
+puredarkness500,1,28,
+pulp_(artist),1,28,
+pugna,4,28,
+psycheapple,1,28,
+psicoyote,1,28,
+professor_layton_(series),3,28,
+prismara,1,28,
+priscillia_(xilrayne),4,28,
+primma_(windborn),4,28,
+pride_color_leg_warmers,0,28,
+prejudice,0,28,
+prawn,5,28,
+powerwild,5,28,
+potion_name,0,28,
+possumfox,4,28,
+popsicledog,1,28,
+ponytail_over_shoulder,0,28,
+polaris_(crackers),4,28,
+pokémon_ranger,3,28,pokemon_ranger
+pokemon_trainer_8,3,28,
+pointing_gun_at_viewer,0,28,
+pointing_at_mouth,0,28,
+pmd-unity,3,28,
+plexybot,1,28,
+plateon_blueneon_(character),4,28,
+pink_robe,0,28,
+pink_pacifier,0,28,
+pink_liqueur,1,28,
+pink_camisole,0,28,
+piao_miao,1,28,
+pianitchi,5,28,
+phallic_looking,0,28,
+petra_(hotkeke1),4,28,
+pet_door,0,28,"cat-door,cat_door,catdoor,dog-door,dog_door,dogdoor,doggie-door,doggie_door,doggiedoor,doggy-door,doggy_door,doggydoor,pet-door,petdoor"
+peru_fur,0,28,
+peril_(wof),4,28,
+penis_scar,0,28,
+penis_fingers,0,28,
+penis_across_breasts,0,28,
+pencilpiper,1,28,
+peekay,1,28,pee-kay
+pecs_on_glass,0,28,
+pearbottom_(oc),4,28,
+pawpadpup_(character),4,28,
+patty_dangao,4,28,
+pattern_tank_top,0,28,
+patrickgainher,1,28,
+passpartou,1,28,
+paramour-art,1,28,
+paprika_(miso_souperstar),4,28,
+pallid_bat,5,28,
+paintedawd,1,28,
+paddy_(artist),1,28,
+outtabellets,1,28,
+osopolar-kun,1,28,
+orokeu_kitsugami,4,28,
+ornithopod,5,28,
+orioz,1,28,
+orin331,1,28,
+orange_back,0,28,
+open_palm,0,28,
+ono,4,28,
+only-1-wayup,1,28,
+one-piece_suit,0,28,
+one,3,28,
+on_heel,0,28,
+omicronian,5,28,
+omi_slidefur,4,28,
+omgtkb,1,28,
+olivier_oswald,4,28,
+oliver_(ventkazemaru),4,28,
+olive_(conker's_bad_fur_day),4,28,
+okytheoky,1,28,
+okureya,4,28,
+oink,0,28,
+ohlordyit'sjordie,1,28,
+off_screen,0,28,
+odahviing,4,28,
+nyxt,4,28,
+nyupu,1,28,
+nyrumx,1,28,
+nude_to_clothed,0,28,
+nowi,4,28,
+nowax,1,28,
+nova_grimm,4,28,
+noteworthy_(mlp),4,28,
+norwegian_elkhound,5,28,norweigan_elkhound
+northern,0,28,
+nordic,0,28,
+nonchalant,0,28,
+non_fatal,0,28,
+nolidae,1,28,
+nokino_k,1,28,
+noise,0,28,
+noir_(petsoftthings),4,28,
+nobby,1,28,
+nn_197069,1,28,
+nippon_ichi,3,28,
+ninn,4,28,
+ninjatertel,1,28,
+nil_sunna,1,28,
+nikolaspascal,1,28,
+nikkisheep,1,28,
+nightmarionne_(fnaf),4,28,
+nightmare_at_freddy's,0,28,
+nighthead,1,28,
+nico26b,1,28,
+new_world_vulture,5,28,"cathartid,cathartidae"
+nero_(quin-nsfw),4,28,
+neon_noble,1,28,
+nekole,4,28,
+nekoama,1,28,
+neko_musume_michikusa_nikki,3,28,
+neifaren,1,28,
+negaren,4,28,
+necromancer_(etrian_odyssey),4,28,
+nchan_(caribbean_blue),4,28,
+national_geographic,3,28,
+natasha_(copperback01),4,28,
+narkoto_the_water_dragon,4,28,
+narico,1,28,
+naote,4,28,
+nanozapz,1,28,
+nangi,4,28,
+nana_(mithrilfoxsheppard),4,28,
+nakios,1,28,
+nail_(character),4,28,
+nadvgia,1,28,
+nadja_(borba),4,28,
+nadisha_(fvt),4,28,
+nada,4,28,
+nacht,1,28,
+nachan,1,28,
+mystery_science_theater_3000,3,28,mst3k
+mysterious,0,28,
+muted_colors,0,28,
+muscular_arm,0,28,
+mural,0,28,
+multicolored_stripes,0,28,
+multicolored_pupils,0,28,
+multicolored_knee_highs,0,28,
+multi_penis_bulge,0,28,
+mukou,1,28,
+muffin_top_(underwear),0,28,
+mrs._squirrel,4,28,
+moyoki,1,28,
+mousey_love_girls,3,28,
+moucchiato,1,28,candie
+mott_(animal_crossing),4,28,
+mothersatana,1,28,
+mother:_cognitive_dissonance,3,28,
+morose_ambrose,1,28,
+morikoke,1,28,
+mori_(wittyusername),4,28,
+moody_lighting,0,28,
+monty_python_and_the_holy_grail,3,28,
+monotone_whiskers,0,28,
+monotone_leotard,0,28,
+monotone_jewelry,0,28,
+mole_(disambiguation),6,28,mole
+mod_(glacierclear),4,28,
+mobile_suit_gundam,3,28,
+mizmage,1,28,
+mitzi_(seyferwolf),4,28,
+mitts,0,28,
+mistress_ruby,4,28,
+misterdavey,1,28,
+mister_handy_(fallout),5,28,
+missing_finger,0,28,
+missie_mouse,4,28,
+miss_minutes,4,28,
+mirror's_edge,3,28,mirrors_edge
+mirage_(warframe),4,28,
+minimal_color,0,28,
+minerva_(coc),4,28,
+minamoto_chizuru,4,28,
+milo_(pokemon),4,28,"gym_leader_milo,milo_(gym_leader),milo_(pokémon)"
+millie_(satsumalord),4,28,
+milky_bell_(slb),4,28,
+milkext,3,28,
+milk_tank,0,28,
+mila_(snackbunnii),4,28,
+mila_(powfooo),4,28,
+miko_(snowweaver),4,28,
+mikeknight19,1,28,
+mike_(ethersaga),4,28,
+mighty_mouse,3,28,
+midnight_rampager,1,28,
+metaphor,0,28,
+metal_skin,0,28,
+metal_shield,0,28,
+metal_bar,0,28,
+menmen,4,28,
+meltycream,1,28,
+mega_latios,5,28,
+meeko_(disney),4,28,
+medical_fetish,0,28,
+mecranord,5,28,
+meat_grinder,0,28,
+measuring_cup,0,28,
+mblade,4,28,
+mazumé,1,28,mazume
+mayu_(poduu),4,28,
+max_(fuze),4,28,
+maurice,4,28,
+mattdarey91sfm,1,28,
+matilda_(mlp),4,28,
+mastersounds,1,28,
+master_panda_(comic),3,28,
+masahiro,4,28,
+mary_jane_watson,4,28,
+marvispot84,1,28,
+marrok_(silentmike16),4,28,
+marooned,1,28,
+marjani_(character),4,28,
+marie_(gaturo),4,28,
+marie_(funkybun),4,28,
+marcus_caelesti,4,28,
+maple,4,28,
+mao_(chirenbo),4,28,
+manebaloart,1,28,
+mandela_catalogue,3,28,
+mana_(manahallowhound),4,28,
+mamoru's_mother_(mamoru-kun),4,28,
+malith_volskov,4,28,
+male_on_back,0,28,
+maldoando,1,28,
+mal_(hasukii),4,28,
+makochin,1,28,
+maiko_(dewott),4,28,
+maeko_(chimangetsu),4,28,
+macroceli,4,28,
+macbeth_plisskin,4,28,
+lynxwolf2,1,28,
+lynxwolf,1,28,
+lynofdeath,1,28,
+lykostherium,1,28,
+lvx,1,28,
+lusinka,1,28,
+luong_lao_shi,4,28,"lao_shi,lao_shi_long,lao_shi_luong,long_lao_shi"
+luniquekero,1,28,
+lunara_fenrus,4,28,
+luna_lupin,1,28,lunalupin
+lumunix,4,28,
+lumi_the_lizard,4,28,
+lukeskytera,1,28,
+lucy_moon,1,28,
+lucky_(legion_beast),4,28,
+lubanart,1,28,
+ltl,1,28,
+lovettica,1,28,
+loverslessthanthree,1,28,
+louis_mort,4,28,
+lotusthekat,1,28,
+lotta_lamour,4,28,"lotta_l'amour,princess_lotta_l'amour"
+loot_llama_(fortnite),4,28,"fortnite_llama,loot_lama_(fortnite),loot_llama"
+long_clitoris,0,28,
+loki_(fluff-kevlar),4,28,
+logan_thackeray,4,28,
+log_(dog),4,28,
+lizette,4,28,
+littlethieflyra,1,28,
+lisa_(feline_humanoid),4,28,
+linsaya,1,28,
+limayra,4,28,
+lillium,1,28,
+lillablu-e,4,28,
+likanen,1,28,
+light_machine_gun,0,28,
+light_headwear,0,28,
+light_gums,0,28,
+light_censorship,0,28,
+lifting_object,0,28,
+lifesaver,0,28,
+licking_back,0,28,
+libby_(tasteofchoklit),4,28,
+lewdbyaj,1,28,
+levin_(dinglederp),4,28,
+lesson,0,28,
+lessertaro,1,28,
+leroy_(joaoppereiraus),4,28,
+leora_(kibix1),4,28,
+leona_pryde,4,28,
+leo_altum,4,28,
+lentocn,1,28,
+lenalia,4,28,
+len4ik555,1,28,
+lemon_slice,0,28,
+lemon_curry,3,28,
+leila_(playkids),4,28,
+lazy_amp,1,28,
+lawlspasm,1,28,
+lava_skin,0,28,
+larikane,1,28,
+largehadronkalidah,1,28,
+large_anus,0,28,
+lapis_(endertau),4,28,
+lapis_(chowdie),4,28,
+langjingshen,1,28,
+landsec_(character),4,28,
+landlord_(wick),4,28,
+lancer_artoria_pendragon,4,28,
+laikacat,4,28,
+lahwhinie,4,28,
+lady_owl,1,28,
+lacgl,1,28,
+kyu,4,28,
+kylee_(kitfox-crimson),4,28,
+kusama,1,28,
+kuremura62213,1,28,
+kubasama_(artist),1,28,
+kthanid,1,28,
+kronilix,1,28,
+koume_keito,1,28,
+kouhaku773,1,28,
+korouxus,1,28,
+koromon,5,28,
+kori,4,28,
+kopa_(mlinzi),4,28,
+koogspup,1,28,
+kon_shearo,4,28,
+koku_(kokurou),4,28,
+kokojun_astraldusk,4,28,
+kodalynx,4,28,
+kobold_girl_(glacierclear),4,28,
+knuxy,1,28,
+knob,0,28,
+knighthoof_(oc),4,28,
+knife_sheath,0,28,
+kitti_belle,4,28,
+kitsunedark,1,28,
+kiska_romanov,4,28,
+kiri,4,28,
+kinoayuri,1,28,hosato
+king_penguin,5,28,
+kiloart,1,28,
+kiara_(kiaradog),4,28,
+kiahl,1,28,
+khraym,4,28,
+kevin_(animal_crossing),4,28,
+kesper,4,28,
+kesh_(talash),4,28,
+kerock-ketu,1,28,
+kenox,4,28,
+kelly_(delta.dynamics),4,28,
+keksy24,4,28,
+kazzypoof,1,28,
+kaze_and_the_wild_masks,3,28,
+kaylee_(xenium),4,28,
+kayla_(qckslvrslash),4,28,
+kathiras,4,28,
+kathai,1,28,
+kastronome,1,28,
+kassiradragon,4,28,
+kaspersa,1,28,
+kasai,4,28,
+karozagorus,4,28,
+karouart,1,28,
+karmal,4,28,
+karakina,1,28,
+kara_(chelodoy),4,28,
+kaosu0195,1,28,
+kaomoji,0,28,
+kantachibli,1,28,
+kanon,4,28,
+kanika,4,28,
+kamiyu_saeki,4,28,
+kamikazetiger,3,28,
+kami_the_cat,4,28,
+kama_citra,0,28,
+kalista_(lol),4,28,
+kajimaru_0507,1,28,
+kaittiolu,4,28,
+kaitoharo99,1,28,
+kaila_(scappo),4,28,
+kaiden_(epic_soul),4,28,
+kagekave,1,28,
+kafrizzzle,1,28,
+justinfox,1,28,
+jupiter_(planet),0,28,
+juice87,1,28,
+jugger_(character),4,28,
+juba,1,28,
+jt-metalli,1,28,
+joykill_(character),4,28,
+joshua_(ghostbane),4,28,
+joseph_joestar,4,28,
+jones_tsunamidusher,4,28,
+jonas_(starrfluff),4,28,
+jollysaunter,1,28,
+jolaris,4,28,
+johnny_test,4,28,
+johannes_cuthbert,4,28,
+johann_(t0l0k),4,28,
+joeadok,1,28,
+jinjo,5,28,
+jill_(chris13131415),4,28,
+jet_engine,0,28,
+jessicanyuchi,1,28,
+jessi_(slither),4,28,
+jerry_(undertale),4,28,
+jerome_(kokuhane),4,28,
+jeri_kleinlowe,1,28,
+jenokamui,1,28,
+jenni,4,28,
+jellyenvy,1,28,
+jeffron_purescale,4,28,
+jeff_(pronista),4,28,
+jebbthefoxy,1,28,
+jayri_(jayri-veradian-avieock),4,28,
+jawbreaker_hyena,4,28,
+jason_(yiffyhusky),4,28,
+jason_(mestiso),4,28,
+jasmine_(hexxia),4,28,
+jared_(likethisevenmatters),4,28,
+japanese_honorific,0,28,
+janitor_closet,0,28,
+jane_(wolfpack67),4,28,
+jamie_lamont,4,28,
+jamari,1,28,
+jake_(scorpdk),4,28,
+jaime_sidor,1,28,
+jahgo,1,28,
+jag_(artist),1,28,
+jack_(topazknight),4,28,
+itsmilo,1,28,
+it's_a_trap!,1,28,"kaye_darktail,kayedarktail"
+isofrieze,1,28,
+isithael,4,28,
+ironclaw_(rpg),3,28,
+iron_artist,0,28,
+iron-dullahan,1,28,iron_dullahan
+irollyouover,1,28,
+iridius,4,28,
+io_(jewelpet),4,28,"io_(jewel_pet),iorite_(jewel_pet),iorite_(jewelpet)"
+interest,0,28,
+interactive_porn_game,0,28,
+instant_orgasm,0,28,
+innards,0,28,
+inkohaulyc-1,1,28,
+inkoart,1,28,
+inkasylum,1,28,
+ink-dood,1,28,
+indigo_(useful_bear),4,28,
+incendramon,4,28,
+inayori,4,28,
+imminent_group_sex,0,28,
+imminent_cum,0,28,
+ikomochi,1,28,
+if_it_fits_it_sits,3,28,
+idiot_sandwich,3,28,
+icysage,1,28,
+ice_dildo,0,28,
+hyruzon,1,28,
+hypnotic_screen,0,28,
+hyperwave9000,1,28,
+hyogaryu,5,28,
+hydrowing,1,28,
+hwi-jeong_(ryonggay),4,28,
+hunter_(left_4_dead),4,28,
+howling_wolves,1,28,
+howl_(grimart),4,28,
+hoshicchi,1,28,
+horusla,1,28,
+horntfrog,1,28,
+hop_pop,4,28,
+hoof_shoes,0,28,
+holding_sponge,0,28,
+holding_snout,0,28,
+holding_lantern,0,28,
+hoikarnage,1,28,
+hockey_jersey,0,28,
+himerosy,1,28,
+hikaruthewolf,1,28,
+hielodogwolf,1,28,
+hibernotion_(comics),3,28,
+herzseele,1,28,
+herm/andromorph,0,28,"am/h,andromorph/herm,andromorph_on_herm,c/h,cboy/herm,cuntboy/herm,cuntboy_on_herm,h/am,h/c,herm/cboy,herm/cuntboy,herm_on_andromorph,herm_on_cuntboy"
+hello_kitty_panties,0,28,
+helena_douglas,4,28,
+helen_lorraine,4,28,
+heart_sticker,0,28,
+heart_penis,0,28,
+heart_lock,0,28,
+hazel_(typh),4,28,
+hawkfrost_(warriors),4,28,
+hatakeclarissarts,1,28,
+hashire_(character),4,28,
+hard_pressed,0,28,
+haradoshin,1,28,
+hanzou_(tetsunoshin),4,28,
+hanryo,4,28,
+hanekumo123,1,28,"yu_yun,羽雲"
+hands_on_shin,0,28,
+hands_on_another's_chest,0,28,
+hands_above_breasts,0,28,
+hand_under_clothing,0,28,
+hand_on_own_wrist,0,28,
+hand_crush,0,28,
+hanaarts,1,28,lanalopez92
+hammer_bro,5,28,
+hakubi,4,28,
+hajnalski,1,28,
+haita,1,28,
+hail-fanged_dragon,5,28,
+haefen,4,28,
+gū,4,28,gu_(diives)
+gwendolyn_ruby,4,28,
+gwen_(spiritfarer),4,28,
+guts_(berserk),4,28,
+gunter_(adventure_time),4,28,
+guitar_hero,3,28,
+guard_rail,0,28,
+group17,3,28,
+grizzlygus,3,28,
+gris_vala,4,28,
+grind,0,28,
+grey_necktie,0,28,gray_necktie
+grey_fin,0,28,gray_fin
+grey_chastity_belt,0,28,gray_chastity_belt
+grey_(raizinndx),4,28,
+green_necklace,0,28,
+green_grass,0,28,
+green_fundoshi,0,28,
+green_bikini_top,0,28,
+greed_(kuroodod),4,28,
+great_ones_(bloodborne),5,28,
+graystripe64,1,28,
+gravity_rush,3,28,
+graveyardcat,1,28,
+grani_(arknights),4,28,
+grace_(spotty_the_cheetah),4,28,
+grabbing_neck,0,28,
+google_search,3,28,
+gold_medal,0,28,
+gold_ear_piercing,0,28,
+gold_bangle,0,28,
+goatmystic,1,28,
+gluttony_(kuroodod),4,28,
+glowing_pussy_juice,0,28,
+glowing_clitoris,0,28,glowing_clit
+gloria_cow,4,28,
+glistening_rubber,0,28,
+glistening_pussy_juice,0,28,shiny_pussy_juice
+glistening_boots,0,28,shiny_boots
+gizee,4,28,
+giving_footjob_pov,0,28,
+gingerm,1,28,
+ginga,4,28,
+gindo,5,28,
+gilles_(peable),4,28,
+ghostface_(scream),4,28,
+gharne,1,28,
+geoffrey_the_giraffe,4,28,
+genital_size_difference,0,28,
+general_cataloupe,4,28,
+gene_starwind,4,28,
+geckomania,1,28,
+gdhusali,4,28,
+gdane,1,28,
+gaur_(gaurbeast),4,28,
+gatomon_x,5,28,
+gatobob,1,28,
+gaouu,1,28,
+gamer2,1,28,
+gale_frostbane,4,28,
+gala,4,28,
+gakor,4,28,
+gaiters,0,28,
+gaf1117,1,28,
+g-spot,0,28,
+fyacin,4,28,
+fuzzy_lumpkins,4,28,
+futuristic_gun,0,28,
+fursuit_head,0,28,
+furloid,3,28,
+funkydeer00,1,28,
+funhentai,3,28,
+fun_bun,4,28,
+fujiwara_no_mokou,4,28,
+frozunny_(insomniacovrlrd),5,28,
+frogger,3,28,
+frilly_penis,0,28,
+frilly_bow,0,28,
+freya_(zavan),4,28,
+freya,4,28,
+fred_flintstone,4,28,
+francis_(frenky_hw),4,28,
+fraggle_rock,3,28,
+foxmon_(dgfox),4,28,
+foxgirl83,4,28,
+foxdad,4,28,
+footjob_while_penetrating,0,28,
+folded_clothing,0,28,
+foamy_(artist),1,28,
+flying_car,0,28,
+fluffy_the_werewolf,4,28,
+fluffy_arms,0,28,
+flower_bed,0,28,
+flounder_(disney),4,28,
+flou,1,28,
+floccinaucinihilipilification,1,28,
+flintheart_glomgold,4,28,
+flint_(vir-no-vigoratus),4,28,
+flinch,0,28,
+fleurdeiris,1,28,isisdejohto
+flehmen_response,0,28,
+flash_gordon_(copyright),3,28,
+fisherman,0,28,
+firesalts,1,28,
+final_fantasy_fables,3,28,
+fin_scar,0,28,
+fidgeting,0,28,
+ffloofball,1,28,
+fetish_gear,0,28,
+fetalstar,1,28,
+ferris_(ferrissimulator),4,28,
+fennec_boy_(elranno),4,28,
+felix_gutman,4,28,
+felix_(noodle),4,28,
+feliraichu,4,28,
+feic,4,28,
+fatkylefat,1,28,
+fatigues,0,28,
+fard,1,28,
+fanny_mcphee,4,28,
+fan_dance,0,28,
+falling_cards,0,28,
+fall_from_grace,0,28,
+face_in_belly,0,28,
+facade,0,28,
+ezra_(dookfiend),4,28,
+extremely_distracting_watermark,0,28,extremely_annoying_watermark
+expecting,0,28,
+exoticbuni,1,28,
+evy_(fish_birb),4,28,
+everruler,1,28,
+euclid,0,28,
+eris_(legends_of_chima),4,28,
+eric_connors_(lildredre),4,28,
+equestria-election,1,28,
+epsilon_(akukeke),4,28,
+enwood_the_fox,4,28,
+ensafir,5,28,
+emufur,1,28,
+emporio_candycorn_(asderzx),4,28,
+emma_(t-bone),4,28,
+elva,4,28,
+elly,4,28,
+elliot_(pete's_dragon),4,28,
+ellen_(beastars),4,28,
+eliza_(averyshadydolphin),4,28,
+eleven_frame_image,0,28,
+element_(zapcatelement),4,28,
+elektro_(maxwell1394),4,28,
+elektra,4,28,
+electronic_device,0,28,
+electricfox777,3,28,
+elder_lemurian,5,28,
+elastico,4,28,experiment_345
+ekg,0,28,
+egg_from_penis,0,28,
+eclipse_(gabe),4,28,
+echto,1,28,
+echinoderma,1,28,
+earthworm_jim,4,28,
+ear_pussy,0,28,
+e-102_gamma,4,28,
+dzemon,1,28,
+dynamo-x,1,28,
+dusk_(drwhooves10),4,28,
+durpy337,1,28,
+duosion,5,28,
+dryad_(terraria),4,28,
+drunklion,3,28,
+drugbat,4,28,
+drinking_from_condom,0,28,
+drimogemon,5,28,
+dreit,4,28,
+draw_25_(meme),3,28,
+dragon-chan,1,28,
+dr4ch3n,1,28,
+downward_dog_pose,0,28,
+doughroom,1,28,
+double_entendre_(character),4,28,
+doriangolovka,1,28,
+door_knob,0,28,
+donburi,1,28,
+don't_tread_on_me,3,28,
+domina_(friskyfoxie),4,28,
+dolce_vita,4,28,
+dog_park,0,28,
+docu_(gcp),4,28,
+dobermann_(arknights),4,28,
+djano,1,28,
+distention,0,28,
+diskofox,3,28,
+disembodied_voice,0,28,
+disembodied_breasts,0,28,
+discheymera,1,28,
+discarded_swimwear,0,28,
+discarded_hat,0,28,
+dirtytabs,1,28,
+dingo_(sonic_underground),4,28,
+dinedon,4,28,
+didi_(artist),1,28,
+dhelmise,5,28,
+dezi,1,28,
+devlin_miski,4,28,
+devilbeing_(artist),1,28,
+detailed_penis,0,28,
+detachable_genitalia,0,28,
+derkeethus,4,28,
+"denise_""diesel""_reynolds",4,28,
+demarticusstone,1,28,
+delta_(hardtones),4,28,
+delphox_waitress,4,28,
+dekunobou-kizakura,1,28,
+defunctumbra,1,28,
+defense_forme_deoxys,5,28,"defence_deoxys,defence_form_deoxys,defence_forme_deoxys,defense_deoxys,defense_form_deoxys,deoxys_(defence),deoxys_(defence_form),deoxys_(defence_forme),deoxys_(defense),deoxys_(defense_form),deoxys_(defense_forme),deoxys_defence,deoxys_defence_form,deoxys_defence_forme,deoxys_defense,deoxys_defense_form,deoxys_defense_forme"
+defending,0,28,
+deel,1,28,
+dcbk,4,28,
+dating_app,0,28,
+darth_the_fox,4,28,
+darkadibuja,1,28,
+dark_grey_hair,0,28,
+darayajonjet,1,28,
+dangercat,1,28,
+dancingchar-fetish,1,28,
+dance_club,0,28,
+danae,4,28,
+damie_m,1,28,
+daloon,4,28,
+dakotasoftpaw,4,28,
+daikikaitou,1,28,
+daddy_pone,1,28,
+daddy-o,4,28,
+da_boz,1,28,
+d.j._(101_dalmatians),4,28,
+cynthia_(cynthiafeline),4,28,
+cut_antlers,0,28,
+cumulus_(character),4,28,
+cum_unplugged,0,28,
+cum_release,0,28,
+cum_on_soles,0,28,
+cum_on_hood,0,28,
+cuirass,0,28,
+cuehors,3,28,
+cue_ball,0,28,
+cuckoo_clock,0,28,
+cube_wisp,5,28,
+cube85,1,28,
+crossed_hooves,0,28,
+crimson,4,28,
+crimmharmony,1,28,
+crest_(heraldry),0,28,"crest_(heraldric),crest_(symbol),crest_heraldry,crest_symbol,heraldric_crest,heraldry_crest"
+cranky_kong,4,28,
+cracked_screen,0,28,
+courtney_gears,4,28,
+corpus_(warframe),4,28,
+coronavirus_(organism),5,28,
+cornflower,4,28,
+cornelious_raidon,4,28,
+corall_(quin_nsfw),4,28,
+coraline_loret,4,28,
+copper_top_(mlp),4,28,
+contagious,0,28,
+connie_yang,1,28,
+conicer,1,28,
+colored_seam_briefs,0,28,
+collection,0,28,
+collaborative_autofellatio,0,28,
+cold_penetration,0,28,
+coffeelsb,1,28,
+coconut_crab,5,28,"palm_thief,palm_thief_crab,robber_crab"
+cocoa_puffs,3,28,
+cock_tease,0,28,
+cloud_(amaterasu1),4,28,
+clexyoshi,1,28,
+cleophee_(wakfu),4,28,
+citrussluggo,1,28,
+cinnamoncookies,1,28,
+cinnameana,1,28,
+cigarillo,0,28,
+chubbypandabastard,1,28,
+christopherlee,1,28,
+chris_(silveredge),4,28,
+choki,1,28,
+chobi-pho,1,28,
+chip_(catmakinbiscuits),4,28,
+chimkenthighs,1,28,
+chilean_flag,0,28,
+chile,0,28,
+chief_gilbert,1,28,
+chichi,4,28,
+chibiemiko_(artist),1,28,
+chevre_(animal_crossing),4,28,
+chest_plates,0,28,
+cheryl_(capdocks),4,28,
+chelsea_myriad,4,28,
+checkered_neckerchief,0,28,
+chazore,4,28,
+chaud_magma,1,28,
+chase_cartwheel_(oc),4,28,
+charlotte_(redflare500),4,28,
+charlie_(jurassic_world),4,28,
+charlene_palmer,4,28,
+character_select,0,28,
+chaor,4,28,
+chakat_blacktail,4,28,
+chair_breaking,0,28,
+cetancodontamorph,5,28,cetancodont
+cerys_(nebula1701),4,28,
+cercy,4,28,
+celierra,4,28,
+celestiawept,1,28,
+cbreturn,1,28,
+catnapstar,1,28,
+catinatrash1,1,28,
+cat_stockings,0,28,
+cassidy_volt_(swordfox),4,28,
+cartoonjunkie,1,28,
+cardueline_finch,5,28,
+cardueline,5,28,
+cardboard_tube,0,28,
+carbinecat_(character),4,28,
+cape_vulture,5,28,
+cao_haze,4,28,
+caninereptile,0,28,
+candy_(candy.yeen),4,28,
+cancelled_comic,0,28,
+camilla_(fire_emblem),4,28,
+camchao,1,28,
+cam,4,28,
+cake_(deltarune),4,28,
+caffeinatedsins,1,28,
+buxom_gal,4,28,
+butthurt,0,28,
+butterdubious,1,28,
+butakoma_300g,1,28,
+bunnydewart,1,28,
+bunnyadmirer,4,28,
+bunny_boy_(artist),1,28,
+bunbuncreamery,1,28,
+buddy,4,28,
+bucketoflewds,1,28,
+brother_in_law,0,28,
+bronx_(gargoyles),4,28,bronx
+broken_halo,0,28,
+briefs_down,0,28,
+brennan_d_vries,1,28,
+breezy,4,28,
+breath_control,0,28,
+breaking_restraints,0,28,
+branch_(artist),1,28,
+braindps,1,28,
+brad_carbunkle,4,28,"brad_(mlaatr),bradley_brad_carbunkle,bradley_carbunkle"
+boys_taken,3,28,
+bow_wow_(mykendyke),4,28,
+bounty_(zethariel),4,28,
+boss_hosstrich,4,28,hosstrich
+bootz,4,28,
+boom_microphone,0,28,boom_mic
+bondage_straps,0,28,
+bonbonboy,1,28,
+bojiku,1,28,
+bog,0,28,
+body_oil,0,28,
+body_in_pussy,0,28,
+bod,4,28,
+blursed_image,0,28,
+blueryker,1,28,
+bluefoxsart,1,28,
+bluebell_(zuboko),4,28,
+blue_latex,0,28,
+blue_kimono,0,28,
+blue_cloak,0,28,
+blue_belt,0,28,
+blossomblaze,1,28,
+blood_on_eye,0,28,"blood_on_eyes,bloody_eyes"
+blitzstoat_(gyro),4,28,
+blake_dinewel,4,28,
+bladecham,1,28,
+blackwind_zero,1,28,
+black_sleeves,0,28,
+black_miniskirt,0,28,
+black_goat_(inscryption),4,28,
+bizarre,0,28,
+bittenbun,1,28,
+biscuit_(disambiguation),4,28,biscuit
+bipod,0,28,
+biowolfmlya,1,28,
+biollante,4,28,
+binario_(superbinario),4,28,
+biker_girl,0,28,
+bicolored_tail,0,28,
+beverage_in_sheath,0,28,
+benkei_(the_spicy_ninja_scrolls),4,28,
+ben56,1,28,
+belfast_(nondelismell),4,28,
+bee_(zombbh),4,28,
+bedpost,0,28,
+beavis_and_butt-head,3,28,
+beastman_(gurren_lagann),5,28,
+beachside,0,28,
+bathroom_floor,0,28,
+basil_(aristocrats),4,28,
+bargaining,0,28,
+barbed_knot,0,28,
+bantam_(character),4,28,
+bankmango,1,28,
+baniraad,1,28,
+balls_theft,0,28,
+ballboxing,0,28,
+bailee_(nikoyishi),4,28,
+baiken,4,28,
+bahm-bu,4,28,
+badmanbastich,1,28,
+backalleyfallz,1,28,
+back_side,0,28,
+aurora_(softestpuffss),4,28,
+aureliano,4,28,
+augustine_mayer,4,28,
+audience!,3,28,
+aubrin,1,28,
+atom,0,28,
+astr4ltr4in,1,28,
+assistant_mimi-chan,4,28,"assistant_mimi_chan,eurasian_eagle-owl_(kemono_friends),eurasian_eagle_owl_(kemono_friends),mimichan-joshu,mimichan_joshu"
+ashley_baird,4,28,
+ashi,1,28,
+asher_(bruteandbrawn),4,28,
+ashael,4,28,
+asha,4,28,
+arunax,4,28,
+arte_(r-mk),4,28,
+arrjaysketch,1,28,"arrjay,arrjay_(artist),arrjaysketch_(artist),tremaine,tremaine_(artist),tremaine_h_fox,tremaine_h_fox_(artist)"
+around_drum,1,28,
+arno_(terraapple),4,28,
+arlo,4,28,
+aries_(zodiac),4,28,
+argyle,4,28,
+archmage-rykarr,1,28,
+ara_(arzmx),4,28,
+aquarius_(scalier),4,28,
+aqua_(kingdom_hearts),4,28,
+aqua,4,28,
+april_strongarm,4,28,
+apolar_(apolar),4,28,
+aoiuchuu,1,28,
+anzu_the_raven_god,4,28,
+anubite,4,28,
+anubis_kruger_(character),4,28,
+anubis_(mge),4,28,
+anomalynexus,1,28,
+announcement,0,28,
+annie_(splatoon),4,28,
+annabelle_chambers,4,28,
+anna_matronic,1,28,
+animatedmau,1,28,
+angry_sun,4,28,
+anges,1,28,
+angelwingart,1,28,
+andromorph_lactation,0,28,
+andrew_(yiffyhusky),4,28,
+andrew_(dragondrawer),4,28,
+andean_mountain_cat,5,28,
+ancientbot,1,28,
+ancient_dragon_lansseax,4,28,
+anakin_skywalker,4,28,
+amber_ladoe_(sabre_dacloud),4,28,
+amber_(pwnycubed),4,28,
+amber_(ping-ether),4,28,
+amanda_toad,4,28,
+alyssa_(lizet),4,28,
+alysha_silverwing,4,28,
+alvia,4,28,
+alternate_timeline,0,28,
+altered_shadow,0,28,
+alter_ego,0,28,
+alpha_(mating_season),4,28,
+almighty_tallest_purple,4,28,
+allan_mcdougal,1,28,
+alexis_(ketzio_and_gbb),4,28,
+alexander_the_fox,4,28,
+alex_lcut,4,28,
+alex_(elliotte-draws),4,28,elliotte_(elijah-draws)
+al-x,4,28,
+aktiloth_(character),4,28,
+akira_the_singarti_hunter_(copyright),3,28,
+akinna,5,28,
+akachionmain,1,28,
+ajie-g-sketchbook,1,28,
+ajar_(sahara),4,28,
+aitchdouble,1,28,
+aileas_(fossi3),4,28,
+aife_(wolfpack67),4,28,
+ahkahna,1,28,
+ahab_(ahugebird),4,28,
+agent_washington,4,28,
+after_spanking,0,28,"after-spank,after-spanking,after_spank,afterspank,afterspanking,post-spank,post-spanking,post_spank,post_spanking,postspank,postspanking"
+african_mythology,3,28,
+aether_(slates1n),4,28,
+aerosouthpaws,1,28,
+adsouto,1,28,
+adrian_alexander,4,28,
+adria_(adleisio),4,28,
+acephlosion,1,28,
+ace_(kacey),4,28,
+acacia_prium,4,28,
+aboywithscales,1,28,
+abitriskay,1,28,
+abhishri,1,28,
+aazhie,1,28,
+aatrox_(lol),4,28,
+aaden_(angellove44),4,28,
+71er,1,28,
+5_panel_comic,0,28,
+5_horns,0,28,"5-horn,5-horned,5-horns,5_horn,5_horned,five-horn,five-horned,five-horns,five_horn,five_horned,five_horns"
+463_jun,1,28,
+2n5,1,28,
+2_phut_hon,3,28,
+20daysapple,1,28,
+1989,7,28,
+16.6_(artist),1,28,
+0ishi,1,28,
+/d/non,1,28,
+zusie,1,27,
+zulu_(zuluthelemur),4,27,
+zpd,0,27,
+zorgy_cuddles_(oc),4,27,
+zoecinno,1,27,
+zeydaan_(artist),1,27,reyn_the_lucario
+zeta,4,27,
+zenobia_benz,4,27,
+zenma,4,27,
+zenix,4,27,
+zenarator_(artist),1,27,
+zell_(jinu),4,27,
+zees1,1,27,
+zane_(gasaraki2007),4,27,
+zamora_(sisters),3,27,
+zalsfm,1,27,
+za_barro,1,27,
+yuriko_(mastergodai),4,27,
+yura_(onikuman),4,27,
+yukocamicats,1,27,
+yuki-menoko,1,27,
+yuel_(granblue_fantasy),4,27,
+yubi_clearsky,4,27,
+youli,4,27,
+yoshoblue,1,27,
+yoshi.kaoru,1,27,
+yorozpony,1,27,
+yellow_pop,3,27,
+yellow_eyelids,0,27,
+yellow_coat,0,27,
+yakushishi,1,27,yakushishi_(artist)
+yaku_(artist),1,27,
+yagaru,4,27,
+xxxl+,1,27,
+xtreme3246,1,27,
+xen,1,27,
+xdiegosilvax,1,27,
+xavier_(xamz),4,27,
+xander_moraine,4,27,
+xander_(madkaniini),4,27,
+wunp,1,27,
+wrist_bangle,0,27,
+wren_cronkowski,4,27,
+world_trade_center,0,27,
+woopo,1,27,
+wooden_house,0,27,
+wolfox09,1,27,
+wolfgirl_(artist),1,27,
+wolfdan86,1,27,
+wolf_maid,4,27,
+wofflemint,1,27,
+wisty,1,27,
+wisp_(partran),4,27,
+winnie_woodpecker,4,27,
+winged_pikmin,5,27,
+wing_ring,0,27,
+windshield_eyes,0,27,
+wigmania,1,27,
+whitney_(nedoiko),4,27,
+white_uniform,0,27,
+white_paint,0,27,
+whiskey_(redwhiskey),4,27,
+wham,0,27,
+wet_face,0,27,
+weak,0,27,
+washthescarf,1,27,
+wargreymon43,1,27,
+warden_(minecraft),5,27,
+wall-e_(character),4,27,
+waldo_(where's_waldo?),4,27,
+waffles_(artist),1,27,
+waffle_(artist),1,27,
+vynn_(icy-marth),4,27,
+vulpes-vulgaris,1,27,
+vswitch,1,27,aiswitch
+vox_(hazbin_hotel),4,27,vox_(vivzmind)
+vortex,0,27,
+vore_transformation,0,27,
+vore_sex,0,27,
+vond,4,27,
+voiceroid,3,27,
+vird-gi,1,27,
+violet_(polyvoir),4,27,
+vins-mousseux,1,27,sa-ryong
+vinnie_terrio,4,27,
+vilosa,4,27,
+vikemon,5,27,
+vika_(f-r95),4,27,
+vijounne,4,27,
+vii_rii_(vrart1),4,27,
+victoria_(lilo_and_stitch),4,27,victoria_(lilo_&_stitch)
+vicki_(brian_mcpherson),4,27,
+veruka_(random_doom),4,27,
+vergil_(devil_may_cry),4,27,
+vera_chase_(character),4,27,
+vega_frith,4,27,
+vat,0,27,
+varka,4,27,
+vari_(yufuria),4,27,
+vanity,0,27,
+vanessa_morrison_(vamoos),4,27,
+valyrie_(tolerain),4,27,
+valorant,3,27,
+valmont_barlowe,4,27,
+valkiria,1,27,
+vahn_yourdoom,1,27,
+v3nusbby,1,27,
+usagi1923,1,27,
+urine_on_own_face,0,27,
+update,0,27,
+unwanted_orgasm,0,27,
+unown_c,5,27,
+unoroute,1,27,
+underwear_pee,0,27,
+under_view,0,27,
+uncharted,3,27,
+umbra_(sagestrike2),4,27,
+ultrakill,3,27,
+ulfsaar_the_ursa_warrior,4,27,
+ucogi,0,27,
+u_rakaz,1,27,
+táng,4,27,tang_(diives)
+tyzain,1,27,
+typography,0,27,
+type-moon,3,27,
+tyobetyobe,1,27,
+tymid,4,27,
+tyltyl_and_mytyl's_adventurous_journey,3,27,
+tylersdad,1,27,
+two_tone_frill,0,27,
+two-tone_(101_dalmatians),4,27,"two_tone_(101_dalmatians),twotone_(101_dalmatians)"
+tux_the_penguin,4,27,
+tunderi,1,27,
+tserera,1,27,
+tron_bonne,4,27,
+trixie_(huffslove),4,27,
+tripping_the_rift,3,27,
+trinket_(artist),1,27,
+trgreta,1,27,
+trenya,4,27,
+translucent_heels,0,27,
+transition,0,27,
+trainer_card,0,27,
+tornking,1,27,elcoronel
+tori_atlis,4,27,
+topazice,1,27,
+topaz_(artist),1,27,
+tongueplay,0,27,
+tomoe,4,27,
+todd_sutherland,1,27,
+todd_(ttrf),4,27,
+toboe_(wolf's_rain),4,27,toboe_(wolfs_rain)
+to'pkek,4,27,
+tiny_terrible,0,27,
+tinder_wailord,4,27,
+timothy_brisby,4,27,timmy_brisby
+timewastedo,1,27,
+tiberius_(protogradius),4,27,
+thrumbo_(artist),1,27,
+thisdingo,1,27,
+this_isn't_my_horn,0,27,
+thinking_about_another,0,27,
+theshizl,1,27,
+thermalcake,1,27,
+theok_arts,1,27,
+themonstarmash,1,27,
+thekings_(artist),1,27,
+thedarkestt,1,27,
+theboundraccoon,1,27,
+theawkwarddork,1,27,
+the_vixen,3,27,
+the_urge_within,1,27,
+the_koopa_girls,3,27,
+the_house_(netflix),3,27,
+the_dazzlings_(eg),4,27,
+the_dakota_dude,4,27,
+the_creation_of_adam,3,27,
+the8bither0,1,27,
+thatdoggolinkie,1,27,
+thanatos_(character),4,27,
+texas_flag,0,27,
+testicular_exam,0,27,
+tesla_(brand),3,27,
+teseirei,1,27,
+terry_(disambiguation),4,27,terry
+terrorism,0,27,terrorist
+tera_(tera_tyrant),4,27,
+tenzen_miyabi,1,27,
+tengamanzero,1,27,
+teinwilde,1,27,
+tavix,4,27,
+tatsuo_kimura,4,27,
+tarkir_(character),4,27,
+tara_hills,4,27,
+tan_underbelly,0,27,
+tan_neckerchief,0,27,
+tamarik,4,27,
+tallula,4,27,
+takuma_momozuka,4,27,
+tako_(takopupper),4,27,
+taking_notes,0,27,
+tail_saga,3,27,
+tail_in_pants,0,27,
+tail_fellatio,0,27,
+tabby_(animal_crossing),4,27,
+ta777371,1,27,
+t.g.r.s.l,1,27,
+sylverow0,1,27,
+syllex,4,27,
+swirlzeez,1,27,
+sweaty_paws,0,27,sweaty_paw
+sweatergirl_(character),4,27,
+sweaterch,1,27,
+suslik_(species),5,27,
+supertito,1,27,
+supeario,1,27,
+sunnybakedham,1,27,
+sundae_(kei),4,27,
+sunbull,1,27,
+summercat,4,27,
+suicide_attempt,0,27,
+suda_8823,1,27,
+sucy_manbavaran,4,27,"sucy_(little_witch_academia),sucy_(lwa)"
+suction_cup_dildo,0,27,
+striped_shorts,0,27,
+striped_mane,0,27,
+streetwalker_tori,4,27,
+stormwolff,4,27,
+stormspike,1,27,
+starpeace,1,27,
+starlight_(disambiguation),4,27,"star_light,starlight"
+starfleet_insignia,0,27,
+starfleet,0,27,
+stardust_(vulpesfoxnik),4,27,
+starble,5,27,
+star_fox_zero,3,27,
+star_fox_assault,3,27,
+ssorobo,1,27,
+srgreja_(artist),1,27,
+spyro_legend_of_the_dragon,3,27,
+spyglass,0,27,
+spycrab,5,27,
+spunk3y_monk3y,1,27,
+sprite_cranberry,3,27,
+sprite_(homestuck),5,27,sprite_(hs)
+spottymichi,1,27,
+splash_(splishsplat),4,27,
+spiral_tail,0,27,
+spiral_dragon,5,27,
+spilled_milk,0,27,
+spiffybunny,1,27,"murdoxy,stellary"
+spica,1,27,
+spencer_(spencer),4,27,
+sparecoyote,1,27,
+spakka5,1,27,
+space_pirate_(species),5,27,
+southern_sergal,5,27,
+souslik,4,27,
+sour_kangaroo,4,27,
+soul_reaver,3,27,
+soul-gryph,1,27,
+sophie_(coc),4,27,sophie_(corruption_of_champions)
+soph_(my_life_with_fel),4,27,
+sonson,4,27,
+sonny_the_cuckoo_bird,4,27,
+sonny_horse_(romman08),4,27,
+solarium_(grimart),4,27,
+sobek_(character),4,27,
+snowhip,1,27,
+snotter,5,27,
+smalldom,0,27,
+slurp_juice,0,27,
+slime_(genshin_impact),5,27,
+sleuth,1,27,
+slerm,5,27,
+slave_ball,0,27,
+skyverchase,1,27,
+skyress,4,27,
+skylar_(terq),4,27,
+skitsniga,1,27,
+skirts,0,27,
+skiffkhariben,1,27,
+sketchfox,4,27,
+skeley,4,27,
+skala,4,27,
+skai_art,1,27,
+sitting_on_shoulders,0,27,
+sitting_on_pool_toy,0,27,
+sitting_on_butt,0,27,
+sirène_(devilman),4,27,"silen_(devil-man),silen_(devil_man),silen_(devilman),silene_(devil-man),silene_(devil_man),silene_(devilman),silèn_(devil-man),silèn_(devil_man),silèn_(devilman),silène_(devil-man),silène_(devil_man),silène_(devilman),siren_(devil-man),siren_(devil_man),siren_(devilman),sirene_(devil-man),sirene_(devil_man),sirene_(devilman),sirèn_(devil-man),sirèn_(devil_man),sirèn_(devilman),sirène_(devil-man),sirène_(devil_man)"
+sirocco,4,27,
+simplistic,0,27,
+simple_anus,0,27,
+simon_tesla,4,27,
+silverhawke,4,27,kukukaku
+silver_collar,0,27,
+silentsound,1,27,
+silel,4,27,
+sibluself,1,27,
+siberian_tiger_(kemono_friends),4,27,amur_tiger_(kemono_friends)
+shunori,1,27,
+shrawn,4,27,
+shonomi,1,27,
+shirou_(nikiciy),4,27,
+shiro_(nomifuki),4,27,
+shina_(bloody_roar),4,27,
+sherman,4,27,
+shelmet,5,27,
+sharp_tail,0,27,
+shared_thought_bubble,0,27,
+shard_the_metal_sonic,4,27,
+shanny_(nol),4,27,
+shakumi,1,27,
+shait,1,27,
+shadowverse,3,27,
+shadowkan666,1,27,
+shadow_dragmire,4,27,
+sfm_eclipse,1,27,
+sexy_robot_(hajime_sorayama),4,27,
+sewage_monster_(sakamata),4,27,
+severed_oral,0,27,
+sett_(lol),4,27,
+setsu_(omunikin),4,27,
+setoangel01,1,27,
+server_room,0,27,
+septicsyntax,1,27,
+semi-trailer_truck,0,27,"18-wheeler,18_wheeler,18wheeler,articulated-lorry,articulated-truck,articulated_lorry,articulated_truck,big-rig,big_rig,bigrig,eighteen-wheeler,eighteen_wheeler,eighteenwheeler,semi-lorry,semi-tractor,semi-tractor-trailer,semi-tractor-trailer_truck,semi-tractor_truck,semi-trailer,semi-truck,semi_lorry,semi_tractor,semi_tractor_trailer,semi_tractor_trailer_truck,semi_tractor_truck,semi_trailer,semi_trailer_truck,semi_truck,semilorry,semitractor,semitrailer,semitrailer_truck,semitruck,single_lorry,tractor-trailer,tractor-trailer_truck,tractor-truck,tractor_trailer,tractor_trailer_truck,tractor_truck,trailer_truck,transfer_truck,transport_truck"
+semi-anthro_penetrated,0,27,
+selinis,1,27,
+seepingooze,1,27,
+seamus_o_tuathail,4,27,seamus_o'tuathail
+scruff_grab,0,27,
+screen_light,0,27,
+scratch_gryph_(artist),1,27,
+scp_containment_breach,3,27,
+scott_pilgrim_vs._the_world,3,27,
+scipio_(khemia),4,27,
+scarlett,4,27,
+scarlet_(final_fantasy_vii),4,27,
+scar_(predator),4,27,
+scapulari,1,27,
+sawblade,0,27,
+sashimi,0,27,
+sashenka,4,27,
+sarzu_&_israz,4,27,
+sarine,4,27,
+sarier413,1,27,kokushoku_gaikotsu
+sareis_(manene),4,27,
+sarah_maple,4,27,
+sara_eclipsenight,4,27,
+saphistar-tries-to-art,1,27,
+santalol,1,27,
+sandy_carington,4,27,
+samson,4,27,
+sampsonwoof,1,27,
+salatranir,4,27,
+sakamoto_ahiru,1,27,
+saint_seiya,3,27,
+saimon,1,27,
+sagezilla,4,27,
+sadtoasterr,1,27,
+sabrewing_(character),4,27,
+sabineko,1,27,
+sabine_(ritts),4,27,
+sabbath,4,27,
+ryusei_(artist),1,27,
+rusty_(zoophobia),4,27,
+rushana,4,27,
+ruru_(tabris),4,27,
+runxforest,1,27,
+ruffling_hair,0,27,
+ruffled_panties,0,27,
+rudderbutts,3,27,
+ruby_necklace,0,27,
+rouwrf,1,27,
+rosie_o'gravy,4,27,
+rosemon,5,27,
+rori,4,27,
+rope_marks,0,27,
+rooth,4,27,
+robin_(silkysworld),4,27,
+robakusa,1,27,
+roadie_(roadiesky),4,27,
+rna_(artist),1,27,
+risk_(doublepopsicle),4,27,
+riley_o'shane,4,27,
+richart_(richartwf),4,27,
+ricardo_welkin,4,27,
+ribby_(character),4,27,
+rias_gremory,4,27,
+rho_art,1,27,
+rhinocerotoid_humanoid,5,27,"rhino_humanoid,rhinoceros_humanoid"
+rgtdwtbr,1,27,
+rezzy,1,27,
+rezzit,4,27,
+reynold,4,27,
+rexy_(jurassic_world),4,27,
+rexton_industries,1,27,
+rex_(rexsatou),4,27,
+rex_(nairi),4,27,
+reverse_sword_swallowing_position,0,27,
+reverse_forced_anal,0,27,
+renny_(darkwheel1),4,27,
+renee_(codecreatures),4,27,
+removing_condom,0,27,
+rel_(relightcharge),4,27,
+rekhit,4,27,
+reindeer_(petruz),4,27,
+rei_illustrator,1,27,
+rei_(guilty_gear),4,27,
+regina_(kadath),4,27,
+regi_marten,4,27,
+regalweasel,1,27,
+reference_guide,0,27,
+reed_waller,1,27,
+redrevolution,1,27,
+redmond,4,27,
+redkin,4,27,
+redhorn_(zerofox),4,27,
+red_wall,0,27,
+red_hair_tips,0,27,
+red_baron,4,27,
+recording_device,0,27,
+recipe,0,27,
+raymond_boxman,4,27,"raymond_(ok_k.o!),raymond_(ok_k.o),raymond_(ok_k.o.!),raymond_(ok_k.o.!_lbh),raymond_(ok_k.o.!_let's_be_heroes),raymond_(ok_k.o.!_lets_be_heroes),raymond_(ok_k.o.),raymond_(ok_k.o._lbh),raymond_(ok_k.o._let's_be_heroes),raymond_(ok_k.o._lets_be_heroes),raymond_(ok_k.o_lbh),raymond_(ok_k.o_let's_be_heroes),raymond_(ok_k.o_lets_be_heroes),raymond_(ok_ko!),raymond_(ok_ko!_lbh),raymond_(ok_ko!_let's_be_heroes),raymond_(ok_ko!_lets_be_heroes),raymond_(ok_ko),raymond_(ok_ko_lbh),raymond_(ok_ko_let's_be_heroes),raymond_(ok_ko_lets_be_heroes)"
+raya_(cheese),4,27,
+ravenpaw_(warriors),4,27,
+rattios,4,27,
+ranulfr_(nanonator3),4,27,
+ransom_(jijix),4,27,
+ranlunghsu,1,27,
+ramune,0,27,
+ramona_(the_prey),4,27,
+raised_shoulder,0,27,
+rainbow_theme,0,27,
+raid:_shadow_legends,3,27,
+rai_(nikuzi),4,27,
+raffle,0,27,
+rafer_grand_(artist),1,27,
+radiomann01_(artist),1,27,
+radiohead_(pixiv),1,27,
+radi_(klr-rio),4,27,
+rachelle_verity,4,27,
+rachel_(haven_insomniacovrlrd),4,27,
+rachel,4,27,
+raccoonpie,1,27,
+raccoonkind,1,27,
+rabbit_(skunk_fu),4,27,
+queen_(scalesindark),4,27,
+pyne_(artist),1,27,
+pushed_down,0,27,
+purple_saliva,0,27,
+purple_outfit,0,27,
+purple_lighting,0,27,
+purple_bikini_bottom,0,27,
+purple_(among_us),4,27,
+purochen,1,27,
+puppymachine,1,27,
+pupcatnip,1,27,
+pumpkin_carving,0,27,
+pullover,0,27,
+pulled_down,0,27,
+pudding_(jakkid13),4,27,
+psychokinesis,0,27,
+ps2_console,0,27,
+prints,0,27,
+princess_platinum_(mlp),4,27,
+princess_claire,4,27,
+princecoffeecakes,1,27,
+pride_color_scarf,0,27,
+pride_color_armband,0,27,
+pressing_breasts_together,0,27,
+predation_(game),3,27,
+powerplant,4,27,
+postscripting,1,27,
+postalroo,1,27,
+post-mortem,1,27,
+posey_(pre-g4),4,27,posey_(mlp)
+porrim_maryam,4,27,porrim
+porpoise,5,27,"phocoenid,phocoenidae"
+porncooby,1,27,
+popy,4,27,
+popgoes,3,27,
+poopysocks9,1,27,
+pooping_on_partner,0,27,
+poochi_(peculiart),4,27,
+ponydoodleday,1,27,
+pollenoxide,1,27,
+pokey_(mario),5,27,
+pokemon_egg,0,27,
+png_file,0,27,
+plush_(mushyplushy),4,27,
+plucking,0,27,
+playerunknown's_battlegrounds,3,27,pubg
+pitt_(organization1337),4,27,
+pinkeyesoda,1,27,
+pink_sunglasses,0,27,
+pink_outfit,0,27,
+pink_arm_warmers,0,27,
+pie_furry,1,27,
+phoebe_(sachasketchy),4,27,
+pheeni,4,27,
+pharaoh_hound,5,27,
+phantim,1,27,
+petra_(carrot_kiss),4,27,
+peppermint_butler,4,27,
+pepper_(lord_salt),4,27,
+penumbra_(ducktales),4,27,
+penis_sitting,0,27,
+peli_kan_(character),4,27,
+peewee_(mlp),4,27,
+pee_on_face,0,27,
+peacherry,1,27,
+pawprint_print,0,27,
+patra,4,27,
+patiroku,1,27,
+patch_(101_dalmatians),4,27,
+partial_penetration,0,27,
+paris_francaise,4,27,
+papyton,0,27,
+paper_bag_(oc),4,27,
+panty_peeing,0,27,
+panty_pee,0,27,
+pants_unzipped,0,27,
+pants_aside,0,27,
+pandeth_(pop'n_music),4,27,
+pan_flute,0,27,
+palecat,4,27,
+pale_clouded_yellow,5,27,
+paige_forsyth,4,27,
+paddling,0,27,
+owy,1,27,
+over_the_garden_wall,3,27,
+oscar_(chunkyboardad),4,27,
+oscar's_oasis,3,27,
+oroshi_(the_spicy_ninja_scrolls),4,27,
+orio_(orioles03),4,27,
+ordering_food,0,27,
+orbit,0,27,
+orange_foreskin,0,27,
+oral_fisting,0,27,
+oppaimagpie,1,27,
+ooshio7734,1,27,
+onyxia_(warcraft),4,27,
+onodera,1,27,
+offspring,0,27,
+officer_pai_(miso_souperstar),4,27,
+off,3,27,
+obakedazo,1,27,
+o-ring_top,0,27,
+nyx_(quin-nsfw),4,27,
+nymph-77,4,27,
+nurse_gazelle,4,27,
+nuna_tozzi,4,27,
+numbered_list,0,27,
+noxy_(dhole),4,27,
+notska_(character),4,27,
+norwegian_alfheim_dragon,5,27,
+northernironbelly,1,27,
+nora_wakeman,4,27,"dr._nora_wakeman,dr._noreen_nora_wakeman,dr._noreen_wakeman,dr._wakeman,dr_nora_wakeman,dr_noreen_nora_wakeman,dr_noreen_wakeman,dr_wakeman"
+nora_(tasanko),4,27,
+noodle_arms,0,27,
+nommz_(character),4,27,
+nokyel_(under(her)tail),4,27,
+noisemaker21,1,27,
+noire_kooshe,4,27,
+nodusfm,1,27,
+noctnoc,1,27,
+nobody_(kingdom_hearts),5,27,
+noah_(noah-the-husker),4,27,
+no-zp,1,27,
+nmvsolidus,1,27,
+nitsuj,4,27,
+nita_(brother_bear),4,27,
+nipple_leash,0,27,
+nipple_growth,0,27,
+ninomae_ina'nis,4,27,
+nimbletail,1,27,
+nikkora,1,27,
+nikko_(character),4,27,
+nikeneko,1,27,
+nik,4,27,
+nightynight,1,27,
+nightflower,4,27,
+nightfire,1,27,
+nigauritaruto,1,27,
+nice_cock_bro,3,27,
+niar_(potzm),4,27,
+nessysalmon,1,27,"shakekan,しゃけ"
+nessus,4,27,
+nephtys-ma'at,4,27,
+neormk,1,27,
+nenana-uso,1,27,
+nemane,1,27,
+nekochan90,1,27,
+natsuhakoura,1,27,
+natey_(ritts),4,27,
+naoren,1,27,
+nana,4,27,
+nahura,1,27,
+nafan,1,27,
+nadia_(littlebranch),4,27,
+nabooru,4,27,
+naatti_(artist),1,27,
+myrl_(wormy),4,27,
+myof,1,27,
+muzy_frile,4,27,
+murenase!_seton_gakuen,3,27,
+mune:_guardian_of_the_moon,3,27,
+multi_tone_hat,0,27,
+multi_star_reaction,0,27,
+multi_fuck,0,27,
+mukutamukumuku,1,27,清っくまもん
+muffin_top_(panties),0,27,
+mtmcats,1,27,
+mrundead,1,27,
+mr_chocolate_eclaire,4,27,
+mr.woodsman_(dalwart),4,27,
+mr._plagait,4,27,
+mow,1,27,
+mou3dayo,1,27,
+mossy,4,27,
+mospy_(artist),1,27,
+morihiko,4,27,
+mophingu,1,27,
+moongazeponies,1,27,
+moon_abani,4,27,
+monotone_fingerless_gloves,0,27,
+monotone_bow,0,27,
+monorus,1,27,
+monodelphis,5,27,"short-tailed_opossum,short_tailed_opossum"
+monkeycheese,1,27,
+monak,1,27,
+momo_(nekowife),4,27,
+momiji_the_dolf_(artist),1,27,
+momiji_(ninja_gaiden),4,27,
+moko_(artist),1,27,
+mojimojirou,1,27,
+mogu,5,27,
+moffle_(species),5,27,
+mkogwheel,1,27,
+mixplin,1,27,
+mistletoe_bow,0,27,
+missy_(tsampikos),4,27,
+misswerehog,1,27,
+missing_hand,0,27,
+miss-jessiie,1,27,
+mion_orz,1,27,
+minxen,5,27,
+mintymousyx_(artist),1,27,
+minty_(tatwuyan),4,27,
+minmiki,1,27,
+mime_(mimechan),4,27,
+milo_grant,4,27,
+milky_way,0,27,
+miles_(housepets!),4,27,
+mike_wolf,4,27,
+mika_(mikanishi),4,27,
+microshorts,0,27,micro_shorts
+microraptor,5,27,
+michael_williamson,4,27,
+mia_rose,4,27,
+mia_(smneff),4,27,
+mewgia,1,27,
+meus,4,27,
+meteorreb0rn,1,27,
+metal_gear_(robot),5,27,
+metal_fence,0,27,
+meph,4,27,
+mentos,3,27,
+mentally_troubled_eeveelutions,3,27,
+mellow_(furryfight_chronicles),4,27,
+melissa_(clarrygoldstein),4,27,
+melia_(indynd),4,27,
+meiluo_(fallenplum_tiger),4,27,
+megaherts,1,27,
+mega_mushroom,0,27,
+medicatedcannibal,1,27,
+meade,4,27,
+may_(the_man),4,27,
+max_mcconnor,4,27,
+max_and_ruby,3,27,
+master_oki_akai,1,27,
+massager,0,27,
+masquerade,0,27,
+mask_gag,0,27,
+masahiro_sakurai,4,27,
+marshall_(dangpa),4,27,
+marshadow_(zenith_form),5,27,
+mark_(stripes),4,27,
+marie_makise,4,27,
+marealeopard,1,27,
+mare_bello_fiore,4,27,
+marcus_techkat,4,27,
+manny_raibolt,4,27,
+manifest,1,27,
+mamau_(mamaubear),4,27,
+malech,4,27,
+makupatoo,1,27,
+makumba,1,27,
+makardraws,1,27,
+maka_drake,4,27,
+majike,1,27,
+magicorn,5,27,
+maeterlinck's_blue_bird,3,27,
+madoc,1,27,
+madelezabeth,1,27,
+mac_(whimsicalsquirrel),4,27,
+lysozyme,1,27,
+lyra_the_latias_(leviathin1),4,27,
+lycus_(ayx),4,27,
+luxain,4,27,
+lura_dura,1,27,
+lunasimia,1,27,
+lunamuenster,1,27,
+lukas_laine,4,27,
+lucy_loud,4,27,
+lucario_dealer,4,27,
+lube_on_hand,0,27,
+lorekeeper_(character),4,27,
+lordweegee64,1,27,
+lord_ocean,1,27,
+lord_friez,1,27,
+looking_into_eyes,0,27,
+long_fall_boots,0,27,
+lomo,4,27,
+lois_(housepets!),4,27,
+logan_(marvel),4,27,
+lobstersnail,1,27,
+lo-carbquine,1,27,"locarb,locarbquine"
+lluumi,1,27,
+liz_(funkybun),4,27,
+livly_(species),5,27,
+living_punching_bag,0,27,
+live_action,0,27,
+littletrixter,1,27,
+little_b0t,1,27,
+lissandra_(lol),4,27,
+lipstick_smear,0,27,
+lionheartcartoon,1,27,
+lionclaw,1,27,
+lionbear,5,27,
+lino_(manene),4,27,
+linkzerofurry_(artist),1,27,
+lindsey_ranger_(teckworks),4,27,
+lina_(saitama_seibu_lions),4,27,leona_(saitama_seibu_lions)
+lily_leblanc,4,27,
+lily_(sefeiren),4,27,
+lilly_goat,4,27,
+lilith_(sefeiren),4,27,
+lightnymfa,1,27,
+light_mouth,0,27,
+light_dress,0,27,
+lifted_by_ears,0,27,
+libra_(symbol),0,27,
+libido,1,27,
+liam_(silveredge),4,27,
+lexus_(a_story_with_a_known_end),4,27,
+levi_(betaetadelota),4,27,
+level-5,3,27,
+leppi_(hotkeke1),4,27,
+leo_zeke,1,27,t-bone-0
+leo_(dragonslash),4,27,
+lenny_herschel,4,27,
+lemonart,1,27,lemon_(artist)
+leif_plantar,4,27,
+leg_on_table,0,27,
+leg_cross,0,27,
+leenah,1,27,"leaphy,leeffi"
+leather_headgear,0,27,
+leaning_on_bed,0,27,
+leah_(leo_llama),4,27,
+lazo,4,27,
+law_enforcement,0,27,
+latex_handwear,0,27,
+latex_armwarmers,0,27,
+laser_sword,0,27,
+larkstarr,4,27,
+largo_slime,5,27,
+laon8130,1,27,
+land,0,27,
+lalieri,1,27,
+lalafox,5,27,
+lakebound,4,27,
+ladybugk,1,27,
+lady-darky,1,27,
+la_pockis,1,27,
+kythos,1,27,
+kyoka_jiro,4,27,
+kyler_underwood_(avok),4,27,
+kyelyn_(artist),1,27,
+kuso_800t,1,27,
+kurohachuurui,1,27,
+kuro_(brand_new_animal),4,27,
+ktrk5,1,27,
+kryotic,4,27,
+kris_(krisdabirb),4,27,
+korhiper,1,27,
+konrad_zengel,4,27,
+konghou,4,27,
+koneko_(spazzykoneko),4,27,
+kompakt,1,27,
+komanyachi,1,27,
+knpn,1,27,
+knox_(otter),4,27,
+knightsnipe,0,27,
+kleo_(fallout),4,27,
+kkcq20yk0db5mak,1,27,
+kiva,4,27,
+kituneno-lullaby,1,27,
+kitty_(plankboy),4,27,
+kitscat,1,27,
+kita'vali,0,27,
+kirianna,4,27,
+kirbee,4,27,
+kins_(brok_the_investigator),4,27,
+kiniax,1,27,
+kindakismet,1,27,
+kimpze,1,27,
+kimmy77,1,27,
+kiha_(coc),4,27,kiha_(corruption_of_champions)
+kigurumin,0,27,
+khramchee,1,27,
+keyhole_shirt,0,27,"key-hole_shirt,key_hole_shirt"
+kev,4,27,
+ketsueki_(character),4,27,"pikaslut,pikaslut_(character)"
+ketei_(character),4,27,
+kerun_(character),4,27,
+kennel,0,27,
+ken_(trufi_taskbe),4,27,"ken_(trufitaskbe),kenneth_the_pink_tiger"
+kelly(photolol.03),4,27,
+keenei_thunderhoof,4,27,
+keendeemiyavi_(artist),1,27,
+kda,3,27,
+kazibug,1,27,
+kaze_(kaze_and_the_wild_masks),4,27,
+kawa_the_asparagus,1,27,
+katzenfaust,1,27,
+katzeh,1,27,
+katilina_(artist),1,27,
+kathy_(yajuu),4,27,
+kathryn_(furgeta),4,27,
+katherine,4,27,
+katakana,0,27,
+karrablast,5,27,
+karishad,4,27,
+kara_(picti),4,27,
+kami_(queenkami),4,27,
+kamehameha,0,27,
+kamalia_mingan,4,27,
+kalama,1,27,
+kakashi_hatake,4,27,
+kain_(calamities156),4,27,
+kailee_(x13),4,27,
+kaicro,4,27,
+kadikadisake,1,27,
+kabaoum,4,27,
+kaala,4,27,
+justin_(braford),4,27,
+junthebun,1,27,
+juno_(sleepywozzy),4,27,
+junichi_(junryu),4,27,
+jun_rasenfox,1,27,
+jules_(joaobear),4,27,
+jude_(shmagaman),4,27,
+judd,4,27,
+ju-ki,1,27,
+josie_(os),4,27,
+jon_(sachidog),4,27,
+jolyne_cujoh,4,27,
+joker_(2019_film),3,27,
+john_fell,1,27,
+jobbold,3,27,
+joaquin_(tarkeen),4,27,
+jinsidraws,1,27,
+jewel_collar,0,27,
+jespassinthrough_(artist),1,27,
+jerome_(ginga),4,27,
+jean_jacket,0,27,
+jcheetah,1,27,
+jazz_hands,0,27,
+jaynator1,1,27,
+jay_guar_(callmewritefag),4,27,
+jave_the_13,1,27,
+jason_shiro,4,27,
+jasmine_(rowanakita),4,27,
+jasmine_(jaspixie),4,27,
+jakob_(gayburdy),4,27,
+jakiel_blacktusk,4,27,
+jakemi,4,27,
+jake_noel_(forestdale),4,27,
+jakashi,1,27,
+jagg,4,27,
+jae_the_bunny,4,27,
+jacqumo,1,27,
+jack_(jackwolf),4,27,
+jaber_(cadaverrdog),4,27,
+ja-punkster,1,27,
+izzy_skye,4,27,
+izumi_h27,1,27,
+izma_(coc),4,27,izma_(corruption_of_champions)
+izen_puppyfox,3,27,
+ivorden_bar,1,27,mesechi
+its-spot,1,27,
+isuckusuck,1,27,
+ishara,4,27,
+ironpotato,1,27,
+ironmouse,4,27,
+iron_collar,0,27,
+ira,4,27,
+iozen,4,27,
+internal_balls,0,27,
+insecure,0,27,
+inkbuns,1,27,
+inflation_fetish,0,27,
+infinibeans,1,27,
+indominusssd,3,27,
+in_a_gamepxv,1,27,
+imposing,0,27,
+imminent_orgy,0,27,
+imminent_hug,0,27,
+imay,4,27,
+illogical-dreams,1,27,
+illbarks,1,27,
+igocu,0,27,
+iestyn,4,27,
+icing_bag,0,27,
+icefire,1,27,
+ian_naxieas,4,27,
+ian_(scottieman),4,27,
+ian-exe,1,27,
+hypno_neet,1,27,
+hyena_(leobo),4,27,
+hyde_baysch,4,27,
+hydaus,1,27,
+hyacinth_macaw,5,27,hyacinthine_macaw
+hy_thegreykatt,1,27,hythegreykatt
+huniepop,3,27,
+humping_diaper,0,27,
+human_skull,0,27,
+human_on_semi-anthro,0,27,
+huey_rockard,4,27,
+howard_lotor,4,27,
+hotblooded_pinkie,3,27,
+horse-loving_dog_(marimo),4,27,
+horny-oni,1,27,
+horace_(armello),4,27,
+holrolly,1,27,
+holeymole,1,27,
+holding_water_gun,0,27,
+holding_object_with_feet,0,27,
+holding_fish,0,27,
+holding_feather,0,27,
+hogger,4,27,
+hizathri_(species),5,27,
+hivemind,0,27,
+hitman_(series),3,27,hitman
+hirume,4,27,
+hinoarashi,1,27,
+hikariviny,1,27,
+high_score_(artist),1,27,
+hex_sinstolus,1,27,
+hermvivi,4,27,
+hermione,4,27,
+heretichesh,1,27,
+henry_(mrrottson),4,27,
+hellsing_ultimate,3,27,
+helloggi,1,27,
+hel-ish,1,27,
+heidii_(ryarik),4,27,
+hector_(whyteyote),4,27,
+heckley,1,27,
+hebrew_text,7,27,
+heavy_draft,5,27,
+hearth,0,27,
+heart_sign,0,27,
+head_turned_sideways,0,27,
+head_n31,1,27,
+hc_hybriddave_(character),4,27,
+hawk_moth,5,27,sphinx_moth
+hasuki,1,27,
+hans_(hairypigcub),4,27,
+hands_on_own_belly,0,27,
+hand_on_own_neck,0,27,
+hand_on_moob,0,27,
+hackmon_(appmon),5,27,
+hachimaki,0,27,
+gwen_applebottom,4,27,
+gun_belt,0,27,
+gud_(fursona),4,27,
+guccigarf,1,27,
+guard_(squid_game),4,27,
+gruntilda_winkybunion,4,27,"gruntilda,gruntilda_(banjo-kazooie),gruntilda_(banjo_kazooie),gruntilda_(banjokazooie),gruntilda_(bk),grunty_(banjo-kazooie),grunty_(banjo_kazooie),grunty_(banjokazooie),grunty_winkybunion"
+grunt,5,27,
+ground_sloth,5,27,
+grizz_(croc),4,27,
+grilled_cheese,0,27,
+grey_scarborough,1,27,
+grey_floor,0,27,
+grey_antennae,0,27,"gray_antenna,gray_antennae,grey_antenna"
+green_turtleneck,0,27,
+green_elbow_gloves,0,27,green_elbow_glove
+green_chair,0,27,
+green_blanket,0,27,
+great_heron,5,27,ardea
+greasy_(character),4,27,
+grayson_reed,4,27,
+grayson,4,27,
+graybeast,1,27,
+gradient_inner_ear_fluff,0,27,
+goro_majima,4,27,
+gordrakk,4,27,
+gorchitsa_(artist),1,27,
+goodbye,0,27,
+gonzo0o,1,27,
+golett,5,27,
+gold_stripes,0,27,
+glitch_techs,3,27,
+glitch_(evir),4,27,
+glistening_pants,0,27,shiny_pants
+glistening_hat,0,27,shiny_hat
+glastrier,5,27,
+giselle,4,27,
+gio_(zannte),4,27,
+ginyu_force,4,27,
+ginn_tnrnrngnsr,1,27,
+gibbs_(onom),4,27,
+ghuraok,1,27,
+gforce,1,27,
+geworin,1,27,
+gertrude_(karps),4,27,
+genus_male,3,27,
+gemlin,5,27,
+geena_gonorah,4,27,
+gaza,4,27,
+gaybadgerncat,1,27,
+gash,0,27,
+garasaki_(copyright),3,27,
+ganym0,1,27,
+ganix,4,27,
+game_sword,0,27,
+gambit_the_scrafty,4,27,
+galia_(sandwich-anomaly),4,27,
+gale_(stilledfox),4,27,
+g0masolt,1,27,
+g-milk,0,27,
+fyodor_(naughtymorg),4,27,
+fucktoy,0,27,
+fuckplant,5,27,
+fuboku,1,27,
+frots,1,27,"fronnie,fronnie_(artist),frots_(artist)"
+frilly_swimwear,0,27,frilled_swimsuit
+friday_(crybringer),4,27,
+freyja_(merlin),4,27,
+freia_(frei22),4,27,
+frank_(animal_crossing),4,27,
+francine_(badgerben),4,27,
+foulmonster,1,27,
+forde_(ropnolc),4,27,
+foot_growth,0,27,
+fondue_(flowerimh),4,27,
+fomantis,5,27,
+flux_the_jolteon,4,27,
+flucky_bat,1,27,
+flowing_clothing,0,27,
+floe_(character),4,27,
+flint_(bad_dragon),4,27,
+flexing_pec,0,27,
+flexibility,0,27,
+flattered,0,27,
+flattened_breasts,0,27,
+flat_stomach,0,27,
+flashyscloset,1,27,
+flash_gordon,4,27,
+flammie_(furamit),4,27,
+fitz_(xandispin),4,27,
+fitz,4,27,
+firesmartcanada,3,27,
+fireflare,4,27,
+fire_fart,0,27,
+fingers_in_hair,0,27,
+film_grain,0,27,
+figmandor,4,27,
+fiffle,4,27,
+fiat,3,27,
+ferry_(granblue_fantasy),4,27,
+fern_plant,1,27,
+fen-fen,1,27,
+female/tentacles,0,27,
+felyn,1,27,
+felix_(feliscede),4,27,
+felix-kot,1,27,
+fearghus,4,27,
+fear_(terrorwing),4,27,
+fdj,1,27,
+fawndog,1,27,
+farley_(icma),4,27,
+far_cry_3,3,27,
+fantomartz,1,27,
+fang_out,0,27,
+fanbox,3,27,
+fanaloka,5,27,"malagasy_civet,striped_civet"
+fajeh,1,27,
+facesit,0,27,
+eyjafjalla_(arknights),4,27,
+eyefuck,0,27,
+eye_nipples,0,27,
+exposition,0,27,
+exploding_clothing,0,27,
+exodia_the_forbidden_one,4,27,exodia
+exited,0,27,
+ex_(welcome_to_doozy),4,27,
+eve_(difetra),4,27,
+evangelo,4,27,
+eva_anders,4,27,
+eva_(dewwydartz),4,27,
+erza_(repomorame),4,27,
+eromorudo,1,27,
+erikka,4,27,
+erika,4,27,
+erica_(igph),4,27,
+eric,4,27,
+erebus_(giygaswar),4,27,
+envtoxic,1,27,
+emma_martin,4,27,emma_(joaoppereiraus)
+emilios,1,27,
+elyse_kinslayer,4,27,
+elpis_dugan,4,27,
+elmutanto,1,27,
+ellowas,1,27,
+elle_ivory,4,27,
+eli_(captain_nikko),4,27,
+elfein_(character),4,27,
+elfane,5,27,
+elf_hat,0,27,
+elechtronshock,1,27,
+elan,4,27,
+elain_blackfish,4,27,
+el_brapitto,1,27,
+efoav,1,27,
+effie_the_skunk,4,27,
+effie_(oughta),4,27,
+eddie_holly,1,27,
+echinoderm_humanoid,5,27,
+ecchi_graffiti,1,27,
+eau_(eaumilski),4,27,
+earth_dragon,5,27,
+ear_ornament,0,27,
+dynamic,0,27,
+dymitr3,1,27,
+dwps,1,27,
+dusk_sharpclaw,4,27,
+dusk_mane_necrozma,5,27,ultra_solgaleo
+durlead,1,27,
+duraludon,5,27,
+dunnhier1,1,27,
+duke_(pnspi),4,27,
+duel_disk,0,27,duel_disc
+dropping_container,0,27,
+droogiesparrow,1,27,
+drgn8d,1,27,
+draven_(dravendergen),4,27,
+drakator,5,27,
+dragonium_(artist),1,27,
+draco_(zephyrthedrake),4,27,
+dr._nefarious,4,27,
+dovak,4,27,
+double_vaginal_penetration,0,27,
+dorian_(furdo),4,27,
+doragia,4,27,
+donshadowwolf,1,27,
+donovan_(lizard_soup),4,27,
+domina_vargas,4,27,
+dogo_argentino,5,27,argentine_dogo
+dobie_gray,4,27,
+dkqksms1004,1,27,
+dkjmn,1,27,
+dkase,1,27,
+dk.senie,1,27,
+diva_(evil-rick),4,27,
+distancedpsyche,1,27,
+dispenser_bottle,0,27,
+dirt_(mrdirt),4,27,
+dirittle,1,27,
+dinah_(vdisco),4,27,
+dimitri_(anthrodragon),4,27,
+didky,1,27,
+dex,4,27,
+dewo_(character),4,27,
+dewey_(deweyferret),4,27,
+devsisters,3,27,
+devinian,1,27,
+desmond_(bayron),4,27,
+desa,1,27,
+dershaltie,4,27,
+dennis_(zourik),4,27,
+dennis_(meesh),4,27,
+denim_(character),4,27,
+dems,4,27,
+demontower,3,27,
+dekamaster,4,27,
+deerfox_(hilda),5,27,
+decibel_(himeros),4,27,
+deathjingle,1,27,
+death_threat,0,27,
+deadlycomics,1,27,
+davin,4,27,
+dave_cheung,1,27,
+darumaka,5,27,
+darkfire,4,27,
+darkblue,1,27,
+dark_spyro,4,27,
+dark_prism,1,27,
+dark_back,0,27,
+danteslunte,1,27,
+dannydemon,1,27,
+danny_fenton,4,27,"daniel_danny_fenton,daniel_fenton,danny_fenton/phantom,danny_phantom_(character)"
+danny_(monstar),4,27,
+danilo_correa,1,27,
+danielpup,1,27,
+daniela_malfor_grey,4,27,
+danie_(moonski),4,27,
+dangling_leg,0,27,
+damien_(idontknow2),4,27,
+daisy_laine,4,27,daisylane
+daisuke,1,27,
+daimon,5,27,
+dagmar_barbara_guku,4,27,
+daflummify,1,27,
+dacsy,1,27,
+cyril_(modjo),4,27,
+cynthia_saito,4,27,
+cybera_(character),4,27,
+curvaceous_female,0,27,
+cum_spill,0,27,
+cubi_(rabbit),4,27,
+cryptidbits,1,27,
+cruising,0,27,
+crowne_(live-a-hero),4,27,
+crowhite,1,27,
+crow_humanoid,5,27,
+crockwad,1,27,
+creases,0,27,
+crazed,0,27,
+cracker,0,27,
+cracked_skin,0,27,
+cotton_(random_doom),4,27,
+cot,0,27,
+cosmicpussycat,1,27,
+cooper_(drmellbourne),4,27,
+cooking_with_shardfire,0,27,
+cookie_run_kingdom,3,27,
+controller_on_sofa,0,27,
+conjoined_at_belly,0,27,
+confetticakez,1,27,
+condom_strip,0,27,
+compound_bow,0,27,
+commander_feral,4,27,
+colton_(sparklepupfaeri),4,27,
+colin_(shortwings),4,27,
+cole_(colesutra),4,27,
+cogma,4,27,
+codedcells,1,27,
+coccui,1,27,
+cobalt_(rtzero),4,27,
+clothing_bulge,0,27,
+clothes_on_ground,0,27,
+clothes_falling_off,0,27,
+clone_trooper,4,27,
+cloaca_juice_drip,0,27,
+claire_voyance,4,27,
+claire_(xausr32),4,27,
+chung-sae,1,27,
+chuffo,4,27,
+chudlight,4,27,
+chuchu_(kirby),4,27,
+chriso_(iamdachriso),4,27,
+chris_redfield_(resident_evil),4,27,
+chopping_block,0,27,
+chloe_the_shark,4,27,
+chloe_the_copperhead,4,27,
+chisel,0,27,
+chippo,1,27,
+chipped_tooth,0,27,
+chiko_(dotkwa),4,27,
+chief_inquisitor,1,27,
+chi_(cat),4,27,
+chester_equine,4,27,
+chespaul,4,27,
+cherry_blossom_kid,1,27,
+chelsea,4,27,
+cheezar,1,27,
+cheetahs_(artist),1,27,
+checkered_sweater,0,27,
+chase_(frostedchase),4,27,
+charu,1,27,
+charo_(ayaka),4,27,
+charlotte_e_yeager,4,27,
+charlie_brown,4,27,charlie_brown_(character)
+chariot,3,27,
+charcoal_(doublepopsicle),4,27,
+chainilla_(artist),1,27,
+cgeta,1,27,
+cernunnos,4,27,
+cellan_(species),5,27,
+celeste_(roughfluff),4,27,
+celery,0,27,
+celebrity,0,27,
+cbd,1,27,
+caylleen,1,27,
+catwarrior_(artist),1,27,
+cato_(adastra),4,27,
+catalina_(zeromccall),4,27,
+cat_cutout,0,27,
+casidhe,4,27,
+carrot_panties,0,27,
+carrot_for_a_cock,0,27,
+caramel_kitteh_(character),4,27,
+caracal_(kemono_friends),4,27,
+captainhoers,1,27,
+captain's_hat,0,27,
+canine_skull,0,27,
+canadian_flag_bikini,0,27,
+camille_(scalie_schoolie),4,27,
+caiuslupus,4,27,
+cagney_carnation,4,27,
+caffeinecat,1,27,
+caduceus,0,27,
+cacuu,1,27,
+cabbit_(tenchi_muyo),5,27,
+caal-kain,4,27,
+c.t.elder,1,27,"changer-the-elder,changer_the_elder"
+bystander,0,27,
+byebyefr0g,1,27,
+buttsteak,1,27,
+burgundy_(artist),1,27,
+burenai,1,27,
+bunny_nebula,1,27,
+bubbluechy,1,27,
+brutus_(amazingawesomesauce),4,27,
+brown_cheeks,0,27,
+bronybyexception,1,27,
+bronco_buster,0,27,
+bridging,0,27,
+bridgie_the_heligator_(character),4,27,
+briar_(squishymare),4,27,
+breeding_mount_use,0,27,
+breasts_fondling,0,27,
+breast_sway,0,27,
+breakerpangolin,1,27,
+brandt_(desertkaiju),4,27,
+brachiosass,1,27,
+boypretties,1,27,
+boss_(kamui_shirow),4,27,
+borochi,1,27,
+boris_(spyro),4,27,
+boop_(musicarooey),4,27,
+boonedog,1,27,
+bonk_town,1,27,
+boneless_(mlp),4,27,
+boggle,1,27,
+body_rings,0,27,
+body_on_stake,0,27,
+body_of_water,0,27,
+bmxii,1,27,
+blushing_penis,0,27,
+bluechubbywolf,1,27,
+blueapple,1,27,
+blue_saliva,0,27,
+blue_mage,4,27,
+blue_leg_warmers,0,27,
+blue_kaito_(lightthatisblue),4,27,
+blue_ear_fins,0,27,
+blue_condom,0,27,
+bluberry712,1,27,
+bloodymascarade,1,27,
+bloody_bunny_(series),3,27,
+blood_spatter,0,27,
+blood_on_hair,0,27,
+blazekemono,1,27,
+blaze_(zabaniya),4,27,
+blaze_(blazethefox),4,27,
+blargg,5,27,
+blanka,4,27,
+blacktalons,1,27,
+blacktail_(doesnotexist),4,27,
+blacksmithing,0,27,
+blacksaw,1,27,
+black_sofa,0,27,black_couch
+black_sneakers,0,27,
+black_metal,3,27,
+black_and_brown,0,27,brown_and_black
+bizyvore,1,27,
+birshy,1,27,
+billy_(joaoppereiraus),4,27,
+bigjoppa,1,27,
+betlv,1,27,
+bestiality_pregnancy,0,27,
+best_princess,0,27,
+bertha_(fritz),4,27,
+berriiazul,1,27,
+berri_(h-key),4,27,
+berin_(character),4,27,
+bent_ear,0,27,
+ben_gally_(callmewritefag),4,27,
+ben_(disambiguation),6,27,ben
+belly_slap,0,27,
+bella_moore,4,27,
+belka,4,27,
+beefrequency,1,27,
+bed_hair,0,27,
+bc4life,1,27,
+bbn,1,27,
+battlefield_(series),3,27,
+battle_tiger,1,27,
+batnbun,3,27,
+bathroom_wall,0,27,
+batboybasil,1,27,
+bastoro,4,27,
+barsfrommars,1,27,
+barraki,5,27,
+barley_barrel_(mlp),4,27,
+bardeaux,1,27,
+barboros_(anothereidos_r),4,27,
+barbadosslim,1,27,
+barabybones,1,27,
+bandit_(mario),5,27,
+banana_split,0,27,
+banan_zielony_(dudelinooo),4,27,
+bammlander,3,27,
+balsut_(tomatoseasalt),4,27,
+baka,0,27,
+baikoko_island_(tansau),3,27,
+badfidhell,1,27,
+badendxxx,1,27,
+backwards,0,27,
+back_door_bat_(nokemop),4,27,
+azuo,1,27,
+azucana,1,27,
+azimoert,4,27,
+aze,1,27,
+azaeldragon,1,27,
+axis_powers_hetalia,3,27,
+axirpy,4,27,
+avi_(avibigshark),4,27,
+aven,5,27,
+autumn_(mr._fox),4,27,
+audlin,4,27,
+athkore,4,27,
+atalanta_(adleisio),4,27,
+astigmatism,4,27,
+ask-elyse,0,27,
+ashi_(samurai_jack),4,27,
+asher_saiph,4,27,
+ashentail,1,27,
+arzuros,5,27,
+artistnjc,1,27,skywalkergirl666
+artin_(bogexboog),4,27,
+artificial_arm,0,27,
+art_hoshi,1,27,
+arm_under_legs,0,27,
+arkkusx,1,27,
+arios,4,27,
+ario,1,27,
+aries_passadar,4,27,
+arianna,4,27,
+argylesockx,1,27,
+areumi_(zinfyu),4,27,
+arbiternidawi,1,27,
+arashi_maeda,4,27,
+aqui,1,27,
+apron_bow,0,27,
+appolonia,4,27,
+aomidori,1,27,
+aoi_tsuyomi,4,27,
+aoi_(ittla),4,27,
+annelid_humanoid,5,27,
+anisette_(noitro),4,27,
+animewave,1,27,
+angusart,1,27,
+angora_rabbit,5,27,
+angelpaw,1,27,
+angele_hidden,1,27,
+andre_(whimsicalsquirrel),4,27,
+anders_(amocin),4,27,
+anatomy_reference,0,27,
+anal_glands,0,27,
+amy-lynn_(scorpdk),4,27,
+ampallang,0,27,
+ameryukira,1,27,
+american_eskimo,5,27,american_eskimo_dog
+amerelle,4,27,
+amelyce,4,27,
+amelya,4,27,
+amelia_(xingscourge),4,27,
+amelia,4,27,
+amber_fauna,4,27,
+amber_(predation),4,27,
+amazonian,0,27,
+amamizu_sl,1,27,
+alyssia_byrne,4,27,
+alx_(alxringtail),4,27,alx_(lousy7)
+alternate_(species),5,27,
+alphathewerewolf,1,27,
+alonso_(alonsocas15),4,27,
+alli_(animal_crossing),4,27,
+alika,4,27,
+alibi,1,27,
+alfred_blaze_(character),4,27,
+alfafilly,1,27,
+alexa_woods,4,27,
+alexa_bloom,4,27,alexa_(jonas)
+albatross_(artist),1,27,
+alastair_snowpaw,4,27,
+aku_(artist),1,27,
+akkoarcade,1,27,
+akatosh_el_shota_furro,1,27,
+ajira,1,27,
+ajani_(artist),1,27,
+aiverich_(patto),4,27,
+aistarin,1,27,
+aircraft_carrier,0,27,
+aiden_(samwiding),4,27,
+aib_leyley,1,27,
+agzi,4,27,
+agiran,1,27,
+agent_orange,1,27,
+agatha_(vestina),4,27,
+aerith_(twokinds),4,27,
+adondis_(character),4,27,
+ado_(ryuto),4,27,
+acerola_(kemari),4,27,
+abruptolivecz,1,27,
+abrahamsillo,1,27,
+aaron_(avali),4,27,
+=w=,0,27,
+,1,27,
+9:5,7,27,
+25:32,7,27,
+2022_beijing_winter_olympics,3,27,
+1c_company,3,27,
+19:18,7,27,
+16th_century,7,27,
+1393_noam,1,27,
+11768hoshi,1,27,
+...!,0,27,
+zuba_(madagascar),4,26,zuba
+ztar4,4,26,
+zora_link,4,26,
+zonkeyshow,1,26,
+zombiesunlight,1,26,
+zita_(akittu),4,26,
+zipper_(character),4,26,
+zilkas,4,26,
+zhon_(himeros),4,26,
+zeriie,1,26,
+zephix_(aimbot-jones),4,26,
+zeniarmr,1,26,
+zelc-face,1,26,
+zeemf,1,26,
+zashi_(ashes),4,26,
+zanshin,4,26,
+zan_(citrinelle),4,26,
+zakurujay,1,26,
+zajice_(character),4,26,
+zaffre,4,26,
+zady,1,26,
+zabozamojo,1,26,
+z2727,1,26,
+yurii,4,26,
+yumich,1,26,
+yuke_(drxii),4,26,yoshiyuke
+yugklabs,1,26,
+youngtani,4,26,
+yotsubato!,3,26,
+yoru_(xienoan),4,26,
+yor_forger,4,26,
+yonaki,1,26,
+yogert,1,26,
+yellow_underbelly,0,26,
+yellow_toenails,0,26,
+yellow_neckwear,0,26,
+yellow_ear_frill,0,26,
+yeet,0,26,
+yayster,1,26,yayster_(artist)
+yarn_in_the_closet,3,26,
+yannirosegold,1,26,
+yamakake,1,26,
+yakinikuinu,1,26,
+yakami_hime_anime,3,26,
+yagi_mutsuki,1,26,
+xzk,1,26,
+xxmioxx,1,26,mi-eau
+xigua,4,26,
+xiao_ye,4,26,
+xenonnero,1,26,
+xavier_(foxbirb),4,26,
+xanthippos,1,26,
+wyla_(furball),4,26,
+wuzzle,5,26,
+wuhuaguo_(diives),4,26,
+wrist_scar,0,26,
+workerq,1,26,
+wolzard_sternheld,4,26,
+wolfen2,1,26,
+wolfcat95,1,26,
+winona_nelson,1,26,
+windzurartz,1,26,
+willow_park,4,26,"willow_(the_owl_house),willow_park_(the_owl_house)"
+willow_(theredhare),4,26,
+will_smith_slapping_chris_rock,3,26,
+whyteyote,3,26,
+whoriel,4,26,
+white_onesie,0,26,
+white_headband,0,26,
+white_glow,0,26,
+white_feather_(oc),4,26,
+white_chocolate_(glacierclear),4,26,
+whit3salmon_23,1,26,
+westonini,1,26,
+werther,4,26,
+werewolf_calendar,3,26,
+wendy_(bugzilla),4,26,
+weblure,1,26,
+wearing_goggles,0,26,
+warmers,0,26,
+wander_(powfooo),4,26,
+wall_pinned,0,26,
+wairu,4,26,
+waddle_doo,5,26,
+vulpevex,1,26,
+vongulli,1,26,
+voicelikecandy,1,26,
+vixy_hooves,4,26,
+vixult,5,26,vixult_(catcouch)
+vita,4,26,
+virtual_on,3,26,
+virmir_(character),4,26,
+virginwhore,1,26,
+viper_rat,4,26,
+vineshroom,0,26,"vine_shroom,vinesauce_mushroom"
+vigilante,0,26,
+vicky_(lazzzy_drawings),4,26,
+vick_(hoodie),4,26,
+verminlord,5,26,
+verbal_submission,0,26,
+venus_(smashmat),4,26,
+ventral_scales,0,26,
+venasii,1,26,
+velvetqueenh,1,26,
+velvet_scarlatina,4,26,velvet_scarlatina_(rwby)
+veloceryx,1,26,
+veiny_eye,0,26,
+veedramon,5,26,
+vaya,4,26,
+vashja,4,26,
+vapors,0,26,
+vancefluff,1,26,
+valtykeaton,1,26,
+valley_(oc),4,26,
+valiamoonseer,4,26,
+val_aikens,4,26,
+vaginal_wall,0,26,
+uzziah,4,26,
+uselessboy,1,26,raithiac
+ups_and_downs,3,26,
+updo,0,26,
+up_(film),3,26,
+untier,1,26,
+unown_o,5,26,
+unown_h,5,26,
+uniformvixen,1,26,
+unfairr,1,26,
+underview,0,26,
+underflowing_text,0,26,
+una,4,26,
+umbris_(character),4,26,
+uma_shika19,1,26,
+tyro_(darkeeveeon),4,26,
+tyrcola,1,26,
+tygger,1,26,
+tyelle_(character),4,26,
+tyabasira0518,1,26,
+twin_drills,0,26,
+twiggy_(oc),4,26,
+twelve_steps,1,26,
+tutu_(animal_crossing),4,26,
+turquoise_nipples,0,26,
+tsum_tsum,3,26,
+truck_bed,0,26,
+trolls_(film),3,26,
+trixie_(bluey),4,26,
+triskelion,0,26,triskelion_symbol
+tringa_(character),4,26,
+triggered,0,26,
+trigger_word,0,26,
+trick_moon,3,26,
+tribble,5,26,
+treyer_(character),4,26,
+treecky,4,26,
+tree_root,0,26,"tree_roots,treeroot,treeroots"
+translucent_belly,0,26,
+transformative_clothing,0,26,
+transformation_through_food,0,26,
+trahern,4,26,
+totodileweeb18,4,26,
+torn_coat,0,26,
+tori_saito,4,26,
+tori,4,26,
+topwear_aside,0,26,
+tongue_clamp,0,26,
+tom_(jmh),4,26,
+tokonuri,1,26,
+toko,4,26,トコ
+toga_himiko,4,26,
+tkup_(tkupbook),4,26,
+tizzle_bizzle,1,26,
+tito_tha_raccoon,1,26,
+titezi-pyrump-art,1,26,
+tiramisu_(kuroma),4,26,
+tiny_arms,0,26,
+tinstarsp,1,26,
+tigrar_shokan,5,26,
+tiger_sister_(kyuuri),4,26,
+tiffany_lyall,4,26,
+tiamat_(smite),4,26,
+ti-suger,1,26,
+three_wolf_moon,3,26,
+thoron,4,26,
+thirsty_(thirstydraws),4,26,
+thirsthound,1,26,
+thin_neck,0,26,
+thigh_thighs,0,26,
+thick_feathers,0,26,
+theta-life,3,26,
+thestinkywolf,1,26,
+thespacepon3,1,26,
+therianthrope,5,26,
+thepuph,1,26,
+theomegaridley,1,26,
+theodore_cooper,4,26,
+themanesex,1,26,
+thel,5,26,
+thekitsunegamer,1,26,
+thedemonfoxy,1,26,
+the_suit_(ponporio),4,26,
+the_pink_flamingos_(brand_new_animal),4,26,
+the_legend_of_luo_xiaohei,3,26,
+the_king_(armello),4,26,
+the_eric_andre_show,3,26,
+the_courier_(fallout),4,26,
+the_circle_game,0,26,
+the_boy_(the_last_guardian),4,26,
+thatdirgedude,1,26,
+that's_so_raven,3,26,
+tgtf234,1,26,
+texy,4,26,
+tetsuya_inoue,4,26,
+tether,0,26,
+tess_(frisky_ferals),4,26,
+terry_(slashysmiley),4,26,
+terri_the_dragon,1,26,
+teres_major,0,26,
+terantic,4,26,
+tentacles_laying_eggs,0,26,
+tentacles_in_water,0,26,
+tensa_hawthorne,4,26,
+temren_(jyto),4,26,
+template,0,26,
+tears_of_rage,0,26,
+teapuffu,1,26,
+teal_balls,0,26,
+tay_(powfooo),4,26,
+tattletail,3,26,
+tapering_glans,0,26,
+tape_recorder,0,26,
+tanzanite,1,26,
+tanpopo_hayabusa-maru,1,26,
+tank_(mykiio),4,26,
+tani_rinkan,4,26,
+tan_spikes,0,26,
+tan_frill,0,26,
+talan_(talan_strider),4,26,
+takoros_(character),4,26,
+takeshi_inoyama,4,26,
+taffetta,4,26,
+tables,0,26,
+syrinox,4,26,
+syndra_(lol),4,26,
+sylus-foxdragon,1,26,
+sykez,4,26,
+syberfox,1,26,
+swordsman,0,26,
+sweet_shalquoir,4,26,
+sweaty_ears,0,26,
+svix,4,26,
+suzune_(acky05),4,26,
+superlolian,1,26,
+super_soldier,0,26,
+sunset_nivaris,1,26,
+sunny_(sonne),4,26,
+sung_and_ama,1,26,
+summer_smith,4,26,
+sucker_punch,3,26,
+stubby_arms,0,26,
+stroking_head,0,26,
+strobe_lights,0,26,
+striped_hoodie,0,26,
+striped_antennae,0,26,striped_antenna
+strawberrywith4,1,26,
+straining_clothing,0,26,
+storm_devil,1,26,
+stoonbucko,1,26,
+stilts,0,26,
+stepmother_and_stepchild,0,26,
+stella_(gvh),4,26,
+stella_(balto),4,26,
+steaming_mad,0,26,
+steamedeggz,1,26,
+star_guardian_poppy_(lol),4,26,
+star_(mario_bros),0,26,
+stamin-up,1,26,
+stakeout,0,26,
+stained_bed_sheet,0,26,
+staggermidnight,1,26,
+squeeze_bottle,0,26,
+squeak,0,26,
+squadrick,4,26,
+spyke_(saurian),4,26,
+spritermx,1,26,
+sprinkler,0,26,
+spottedchai,1,26,
+spooks_(agrievousspooks),4,26,
+spitz_(princelykaden),4,26,
+spin_the_bottle,0,26,
+spiked_shoes,0,26,
+spike_spiegel,4,26,"spike_(cowboy_bebop),spike_spiegal"
+spike_(shade1),4,26,
+speech_bubble_shadow,0,26,
+spear_(primal),4,26,
+spaghetti_scene,0,26,
+space_rangers,3,26,
+southernyote,1,26,
+sorvete,4,26,
+sorisoru,1,26,
+sonya_mayers,4,26,
+sonicguru,1,26,
+sonic_shuffle,3,26,
+sollace,1,26,
+solita,4,26,
+sofunnyguy,1,26,
+softhanten,1,26,
+socarter,1,26,
+so_(artist),1,26,
+snufkin,4,26,
+snowycrystalangel,1,26,
+snowxwx,1,26,
+snout_(halcyon),4,26,
+sniffling,0,26,
+smolkaiju,1,26,
+smolevn,1,26,
+smokey_(trashtoonz),4,26,
+smirgel,4,26,
+smelly_paws,0,26,
+smashcuenta123,1,26,
+slutydox,1,26,
+slipped,0,26,
+slime_dragon,5,26,
+slifer_the_sky_dragon,4,26,
+sleepysuccubusstudios,1,26,
+skybrigidrain,1,26,
+skoll_wernersson,4,26,
+sketchyknight,1,26,
+skerpent,5,26,
+skapu,1,26,
+skal_maneater,4,26,
+sixfoot,1,26,
+six_(monferno),4,26,
+siv_(urw),4,26,
+sintastein,1,26,
+sinscaliecringe_(artistdragon),1,26,
+single_strap_topwear,0,26,
+simply-wrong,1,26,
+silverzar,1,26,
+silverbolt,4,26,
+silverblaze,4,26,
+silkworm205,1,26,
+silentpon3,1,26,
+sigil_of_baphomet,0,26,
+sierra_blakely,4,26,
+sierra11744,1,26,
+siekatar_(karmasrealm),4,26,
+shyghost,1,26,
+shuichi_kagaya,4,26,
+showcase,0,26,
+shovel_knight_(character),4,26,
+shoulder_fluff,0,26,
+shooting_range,0,26,firing_range
+shoe_laces,0,26,
+shirousagi,4,26,
+shino_(wolf),4,26,
+shimera,4,26,
+shilensis,4,26,
+shibatheinu,1,26,
+shiarah_(character),4,26,
+sheriff_callie,4,26,
+sheeply_vilakazi,4,26,
+sheanimale,1,26,
+shayde,4,26,
+shaver,0,26,
+shared_senses,0,26,
+shan_yao_jun,1,26,
+shadowhulk,1,26,
+sha'ra_(fariday),4,26,
+sexy_cloths,0,26,
+sex_position_request,0,26,
+seth'cor,4,26,
+sesquin,4,26,
+serum,0,26,
+senge_(lazydergenboi),4,26,
+self_hypnosis,0,26,
+selena_shadowpaw,4,26,
+selena_hala_(oc),4,26,
+sebastian_aji,4,26,
+sea_grass,0,26,
+sea_floor,0,26,
+scrunched_nose,0,26,
+scruffydraws,1,26,
+scrat_(ice_age),4,26,
+scp-860-2,4,26,
+scp-686,0,26,
+schmuccubus,1,26,
+scarlet_(oofrowdy),4,26,
+scarlet_(doctorpurple2000),4,26,
+scarlet_(coel3d),4,26,
+scamwich,1,26,
+scaledfox,1,26,
+scaffolding,0,26,scaffold
+sashikari,4,26,
+sars-cov-2,5,26,
+sarin_(saerro),4,26,
+sardonic_lynx,5,26,
+sarah_g_lato,4,26,
+sapphire_(flafty),4,26,
+sapphire_(artist),1,26,
+saph_(izzy223),4,26,
+sansan_ocha,1,26,
+sanmer,4,26,
+saniko,4,26,
+sandy_(kemono_friends),4,26,"tibetan_fox_(kemono_friends),tibetan_sand_fox_(kemono_friends)"
+sandra_(hardtones),4,26,
+sandra's_day,3,26,
+san_francisco,0,26,
+samuel_(disambiguation),4,26,samuel
+samantha_(disambiguation),4,26,samantha
+sam_jackson,4,26,
+sam_eeveelutions,1,26,
+saltyserpent,1,26,
+saltyqtip,1,26,
+sakitastar,1,26,
+saintbullart,1,26,
+sailor_mercury,4,26,
+sagwa_the_chinese_siamese_cat,3,26,
+sagitta_maverick_fur_hire,4,26,
+safi,4,26,
+ryuga_takagi,4,26,
+rx1213,1,26,
+ruum,1,26,
+rute_(driftlock),4,26,
+rurik_carpenter,4,26,
+ruran,1,26,
+rupey,4,26,
+running_water,0,26,
+runnerman360,1,26,
+runeechan,1,26,
+rune_(sloss),4,26,
+rum_chaser,4,26,
+ruhh-roh,1,26,
+ruby_silver_(dormin-kanna),4,26,
+ruby_fields,4,26,
+ruby_(makemon),4,26,
+rubonku,1,26,
+roushfan5,1,26,
+rosycoyote,1,26,
+rosie_severens,4,26,
+rope_knot,0,26,
+room_divider,0,26,
+rookiex,1,26,
+ronnie_(eldiman),4,26,
+rolls,0,26,
+rodraccoon,1,26,
+rockstar_chica_(fnaf),4,26,
+rock_paper_scissors,0,26,
+robotic_legs,0,26,
+robot_chicken,3,26,
+robinmg_45,1,26,
+roarak,4,26,
+roadkill_(sufficient),4,26,
+ripple_lighting,0,26,
+riosha,1,26,
+ring_on_leg,0,26,
+rilum_(kuromu),4,26,
+riller,4,26,
+rikku_(character),4,26,
+rikkoshaye,1,26,
+ridged_dildo,0,26,
+ric'axoarrth,4,26,
+rhys_(wannabe_pendragon),4,26,
+rgb,0,26,
+reynard_foxglove,4,26,
+reykoli,1,26,
+reykay,1,26,
+reverse_footjob,0,26,
+resurrection,0,26,
+restraining,0,26,
+renard_(coderenard),4,26,
+renae_(neo_geppetto),4,26,
+rena_(jilo),4,26,
+rena_(hinauchi),4,26,
+ren_(vee4eva),4,26,
+relolia,4,26,
+reiva_the_rabbit,4,26,
+reiane,4,26,
+redustheriotact,1,26,
+redsilver,1,26,
+redpandawaifu,1,26,
+rednight,1,26,
+redmiles_the_shark,4,26,
+redheadpika,1,26,
+reddalek,1,26,
+red_towel,0,26,
+red_sex_toy,0,26,
+red_gag,0,26,
+red_cup,0,26,
+red_backpack,0,26,
+record_smash,4,26,
+raythefox,1,26,
+rayn_luxray,4,26,
+raymond,4,26,
+raygon,4,26,
+raven_fields,4,26,
+ravegeam,4,26,
+ravan,1,26,
+rashouru,4,26,
+raphian,4,26,
+raphial,1,26,
+randompasserbyer,1,26,
+randomdrawpony,1,26,
+rams_(world_flipper),4,26,
+ram_satinga,1,26,
+raksha_silvermoon,4,26,
+raize_d'herian,4,26,"raize_d_herian,raize_dherian"
+rairru,1,26,
+rainbow_pride_penis,0,26,
+rainbow_bottomwear,0,26,
+raiden_tameemon,4,26,
+ragnar_(xnirox),4,26,
+radical,0,26,
+radanon,1,26,
+racist_slur,0,26,
+r-mk_(character),4,26,
+quick_bourne,4,26,
+quest_for_camelot,3,26,
+quake_champions,3,26,
+quadriceps,0,26,
+qigiu,1,26,
+q_(lynx),4,26,
+python_(thehades),4,26,
+pyroshay_(pyrojey),4,26,
+pussy_juice_on_clothing,0,26,
+purple_loincloth,0,26,
+purple_egg,0,26,
+pumpkin_rabbit,4,26,
+pumadime,1,26,
+puffy_(ayaka),4,26,
+puffkiss,0,26,
+pudding_(lancypants),4,26,
+public_park,0,26,
+pubbipaws,1,26,
+psychomittens,1,26,
+pseudo-penis_penetration,0,26,
+protein,0,26,
+prolapse_penetration,0,26,
+progenitor_(domehead),5,26,
+professor_konoha,4,26,"konoha-chan-hakase,konoha_chan_hakase,northern_white-faced_owl_(kemono_friends),northern_white_faced_owl_(kemono_friends),professor_konoha-chan,professor_konoha_chan"
+professor_birch,4,26,
+procene,4,26,
+print_pajamas,0,26,
+princess_luna_(eg),4,26,
+prince_of_peent,4,26,
+prince_hisan_(mlp),4,26,
+primal,0,26,
+premature_orgasm,0,26,
+precum_on_own_balls,0,26,
+precum_on_belly,0,26,
+powerofsin,1,26,
+power_up,0,26,
+potchi,1,26,
+poseidon,4,26,
+porthole,0,26,
+porn_star,0,26,"porn_actor,porn_actress,pornstar"
+poptop,5,26,
+poppy_(p-o-p-p-y),4,26,
+popon13,1,26,
+ponytail_(hair),0,26,
+ponyecho,1,26,
+pontik_(dannfirefeet),4,26,
+pompompurin,3,26,
+pollution,0,26,
+politepuppet,1,26,
+polarwave,1,26,
+pokéball_censor,0,26,"poke_ball_censor,poke_ball_censorship,pokeball_censor,pokeball_censorship,poké_ball_censor,poké_ball_censorship,pokéball_censorship"
+pokefusionman,1,26,
+pochowek,1,26,
+pochiro,4,26,
+plushie_pred,0,26,
+plotcore,1,26,
+place_mat,0,26,
+pixelannex,1,26,
+pixcello,1,26,
+pith,4,26,
+pit_bullterrier,4,26,
+piptin_rockard,4,26,
+piper_(animal_crossing),4,26,
+pipe_wrench,0,26,
+pintahyena,1,26,
+pinkiraspberry,4,26,
+pink_sandals,0,26,
+pink_leg_warmers,0,26,
+pink_kimono,0,26,
+pink_curtains,0,26,
+pink_bikini_bottom,0,26,
+pink_belt,0,26,
+pink_(among_us),4,26,
+pillow_fort,0,26,
+pierreperifel,1,26,
+piebald_scales,0,26,"piebald_scale,pied_scale,pied_scales"
+pickup_(disambiguation),6,26,"pick-up,pick_up,picked_up,picking_up,pickup"
+phuocthiencreation,1,26,
+phosbara,1,26,
+pholus_reborn,0,26,
+phoenix_adverdale,1,26,
+philosophy,0,26,
+pheromosa1111,1,26,
+petkitten,1,26,"kittybasket,kittyrawr,rawrninjaartist"
+peter_rabbit,4,26,
+petako,4,26,
+periodic_table,0,26,
+peresum,1,26,
+perci,4,26,
+pepper_mynt_(togothehusker),4,26,
+pepper_(lightsource),4,26,
+pentoolqueen,1,26,
+penny_darwin,4,26,
+penis_extension,0,26,
+penetrated_by_pumpkin,0,26,
+pencethehence,1,26,
+pekopekokuma,1,26,
+pee_on_floor,0,26,
+pecking,0,26,
+paz_(kkoart),4,26,
+pawberry,1,26,
+paw_on_back,0,26,
+paul_robertson,1,26,
+patriot_(presto),4,26,
+parfait_(nightdancer),4,26,
+parfait_(gothbunnyboy),4,26,
+paphvul,1,26,
+papers_please,3,26,
+pants_pee,0,26,
+pangaean-2,1,26,
+pandear,1,26,yutanarts
+pandarita,1,26,
+paloma,4,26,
+paldean_form,5,26,
+padjet_harrington,4,26,
+pacific_swallow,5,26,
+ozyosa,1,26,
+owlflame,4,26,
+owlel,1,26,
+over_9000,3,26,
+outrun,3,26,
+outcrosser,3,26,
+ostuffles,1,26,
+ortwin_rd,1,26,
+oro_(danji-isthmus),4,26,
+orgalorg,4,26,
+orange_tail_feathers,0,26,
+orange_blush,0,26,
+orange11803164,1,26,
+openlor,1,26,
+oni_unicorn,1,26,
+onedirtydog,1,26,
+ona,4,26,
+omnifob,1,26,
+olkl1234,1,26,
+olivershiny,1,26,
+olga_(mastergodai),4,26,
+oldmusic_(artist),1,26,
+okami_(artist),1,26,
+ohyuki,1,26,
+ogre_(dragon_quest_x),5,26,
+offmon,5,26,
+offended,0,26,
+octorok,5,26,
+obscurabuns,1,26,
+nyaur,1,26,
+nyabeyo,1,26,
+nyaasu,1,26,
+nusair,4,26,
+nurse_verity,4,26,
+nurse_bonesaw_(oc),4,26,
+nurro_denthyme,4,26,
+numbertwos,1,26,
+number_tattoo,0,26,
+nsfw_def,1,26,
+novery,1,26,
+nova_era,4,26,
+nova_(ketzio_and_gbb),4,26,
+norodoggo,1,26,
+norikowolf,1,26,
+noons_(character),4,26,
+noodlerain,1,26,
+noodledemon,1,26,
+nobinolife,1,26,
+no_ears,0,26,
+nixi,4,26,
+nitorou,1,26,
+nitani_(fursona),4,26,
+nina_(chalo),4,26,
+nile_crocodile,5,26,
+nikostargazer,4,26,
+nikonikonikolai,1,26,
+nikki_(redeye),4,26,
+nihilistdigby,1,26,
+nihaku,1,26,
+nightlinez,1,26,
+nightcrawler_(kaiju_paradise),4,26,
+night_howlers,0,26,
+nidhala_(ruaidri),4,26,
+nicole_(yourfavoritelemonade),4,26,
+nextime,1,26,
+newt_(animaniacs),4,26,
+new_years_eve,3,26,
+neve_(plattyneko),4,26,
+neutral_nt,1,26,
+nethervane_(artist),1,26,
+nessie_(oc),4,26,
+nery_(reaper3d),4,26,
+nerfocalypse,1,26,elatedsceptre
+neox,4,26,
+neonsheath,1,26,
+nenenero,1,26,
+nelsi_(dank_wankem),4,26,
+neji_neji,1,26,
+neil_(character),4,26,
+neff_(smneff),4,26,
+navanastra,1,26,
+nathan_(aogami),4,26,
+natasha_(kitfox-crimson),4,26,
+natalie_grayswift,4,26,
+naoma,4,26,
+naoki_wolf,1,26,"naoki_wolf_(artist),naokiwolf,naokiwolf_(artist)"
+nana_(peter_pan),4,26,
+nalesia,1,26,
+nachie,4,26,
+n_gata21,1,26,
+mythcomplex,1,26,
+myst_(wyldfire),4,26,
+myriapod_humanoid,5,26,
+myrian_(veo),4,26,
+mutlicolored_skin,0,26,
+muscat_(fuga),4,26,
+musachan,1,26,
+murphy_(ajmarekart),4,26,
+multicolored_sex_toy,0,26,
+multi_teat,0,26,
+mulipios,4,26,
+muli,4,26,
+mugibunbun,1,26,
+mud_sex,0,26,
+mtraon,1,26,
+mstr,4,26,
+mstdndkkkkk,1,26,
+msdk_max,1,26,
+mrs._toad,4,26,
+mrs._claus,4,26,
+mrmaxwell,4,26,
+mowgli_(character),4,26,
+moving_vehicle,0,26,
+motosuwa,1,26,
+mothux,1,26,
+morto,1,26,
+morethreedee,1,26,
+mordin_solus,4,26,
+moominpappa,4,26,
+moomanibe,1,26,
+monty_(glitchedskunk),4,26,
+monster_super_league,3,26,
+monster_love_hotel,3,26,
+monotone_frill,0,26,
+monica_(my_life_with_fel),4,26,
+moneyshot_(artist),1,26,
+moito,1,26,
+moe_(animal_crossing),4,26,
+mo-hiro,1,26,
+mizuchi_(beastars),4,26,
+miw_(lyenuv),4,26,
+mitzima,4,26,
+mithril07,1,26,mithril07_(artist)
+mistressbloodershy,1,26,bloodershydungeon
+mistic_hobo_(artist),1,26,
+missingphd,1,26,
+mirror_universe,0,26,
+mirig_(aygee),4,26,
+miraroo,4,26,
+miraaj_(crabble),4,26,
+minty_(mint_mobile),4,26,
+mint_mobile,3,26,
+ming,4,26,
+mineva,4,26,
+mindof,1,26,
+mimi_(rokukeshiba),4,26,
+mila_(spikedmauler),4,26,
+mila,4,26,
+miko_(character),4,26,
+mikhael_rosenburg_(oc),4,26,
+mikes,4,26,
+mike_(freehugz),4,26,
+mika_(feypanda),4,26,
+michael_(luskfoxx),4,26,
+mic_check,4,26,
+mia_(marbearis),4,26,
+mew_arts,1,26,mew_arts_(artist)
+meteorite,0,26,
+metallic_wings,0,26,
+metal_barrel,0,26,
+messy_clothing,0,26,"disheveled_clothes,disheveled_clothing,messy_clothes,unkempt_clothes,unkempt_clothing"
+meroulix_lebeau,4,26,
+meron_the_bat,4,26,
+mephit,5,26,
+mendo_(bgn),4,26,
+memoryhead,4,26,
+memory_loss,0,26,
+melody,4,26,
+melba_(animal_crossing),4,26,
+melanie_(cainesart),4,26,
+megusuri,1,26,
+mech_suit,0,26,
+meanwhile,0,26,
+maya_(petsoftthings),4,26,
+maxraiden,1,26,
+maximus_(kemo_coliseum),4,26,
+mawzzi,1,26,
+mavis_(slimshod),4,26,
+matchmakers_inc,3,26,
+masturbation_denial,0,26,
+mascot_costume,0,26,
+marzician,4,26,
+mary_ann,4,26,
+martin_(bird),5,26,
+marsh,0,26,
+marou,4,26,
+marm,1,26,
+marlo,4,26,
+marley_(meesh),4,26,
+maria_pappas,4,26,
+margay_(kemono_friends),4,26,
+marco_(marcofox),4,26,
+marci_avilov,4,26,
+marble_(kitfox-crimson),4,26,
+mara_(natura),4,26,
+mangus0723,1,26,
+mana_(skimike),4,26,
+maloo,4,26,
+malbavi,1,26,
+magnum_(artist),1,26,
+magihound,5,26,
+magic_undressing,0,26,
+maggie_(justkindofhere),4,26,
+maeven_hellhound,4,26,"maeven_(catcouch),maeven_hellhound_(catcouch)"
+maelice,1,26,
+mackenzie_(sprucy),4,26,
+m1_garand,0,26,
+lyla_the_honey_buzzard,4,26,
+lykoi,5,26,
+lykimowl,1,26,
+lykim,1,26,
+luxury_furart,1,26,
+lustrous-dreams,1,26,
+luminari,5,26,
+lumia_(raven_wolf),4,26,
+lulu_(disambiguation),4,26,lulu
+ludis-luteo,1,26,
+lucid_rose,4,26,
+luca_(nouyorus),4,26,
+lube_tube,0,26,
+lq_(character),4,26,
+loy_miyazaki,4,26,
+lowndrawthing,1,26,
+lovesick,0,26,
+loukaina,1,26,
+loox,4,26,
+looking_like_about_to_cum,0,26,
+looking_at_smartphone,0,26,
+looking_at_own_genitalia,0,26,
+lonelytear,1,26,
+lone-scarab,1,26,
+loinsavage,1,26,
+loading_screen,0,26,
+ll-ss,1,26,
+lizzy_(majp),4,26,
+living_smoke,5,26,"smoke_creature,smoke_monster"
+living_chair,0,26,
+livestock,0,26,
+little_moth_bro,4,26,
+lisse_(leah),4,26,
+linorange0212,1,26,
+lindsay_cibos,1,26,lcibos
+lily_(lagotrope),4,26,
+liglig,3,26,
+lightsongfox,4,26,
+light_yagami,4,26,
+license,0,26,
+liatris,4,26,
+lewdsidequest,1,26,
+levxrus,1,26,
+leveretry,1,26,
+leoniro_the_inklion,1,26,
+leongar,4,26,
+leofel_barraund,1,26,leofelbarraund
+leo_simensen_(s0uthw3st),4,26,
+lemonbastards,1,26,
+leksi_(artist),1,26,
+ledange,1,26,
+led_(ironkongstudios),4,26,
+leaning_on_elbows,0,26,
+leaning_on,0,26,
+layla_s.,4,26,
+lavin,4,26,
+laundry_machine,0,26,
+latiar_(character),4,26,
+latex_footwear,0,26,
+lanoro,0,26,
+laish,4,26,
+laid_down,0,26,
+lag,1,26,
+labyrinth,0,26,
+l_cut,4,26,
+kyrathehyena,1,26,
+kyou_(ittla),4,26,
+kylie,4,26,
+ky,4,26,
+kuraon,1,26,
+kuramafurrypaw,1,26,
+kumora_(code01),4,26,
+kumakai,1,26,
+kuma_(pixiv_881259),1,26,
+kulplant,1,26,
+kubwa_kalua,4,26,lady_kubwa
+kuavera,1,26,
+ksenik,1,26,
+kristofferson,4,26,
+kris_(zootopia),4,26,
+koyo_whitepaw,4,26,
+kotaro_kou_(kotarokou),4,26,
+kota_(hattonslayden),4,26,
+koro_(kokoro-doll),4,26,
+koriyama_meiko,4,26,
+kopaka,4,26,
+koobi,4,26,
+konory,1,26,
+komiger,4,26,
+kokosetto,1,26,
+kocia_pierdocia,4,26,
+kobold_(5e),5,26,
+knot_train,0,26,
+knight_captain_(ujishiyo),4,26,
+kiyoshi,1,26,
+kitsune_drifty_(character),4,26,
+kirron,1,26,
+kirianna_tatsukao_(rithnok),4,26,
+kirby's_dream_land_3,3,26,
+kingjnar,1,26,
+king_leonard,4,26,
+kinaisan22511,1,26,
+kin_(bloodborne),5,26,
+kimbies214,1,26,
+kilowolff,4,26,
+kiiro_the_scrafty,4,26,
+kieren,4,26,
+kidney,0,26,kidneys
+kidd_(animal_crossing),4,26,
+kiba_(bastion),4,26,
+ki_(kitsunewaffles-chan),4,26,
+khaz_(artist),1,26,
+khaybat,4,26,
+khat,4,26,
+khamira,4,26,
+ketlimur,1,26,
+kessler,4,26,
+kenvey,4,26,
+kenshin_midori,4,26,
+kenneth_(creaturecorp),4,26,
+ken_(sush1d0g3),4,26,
+kemonofluffy,1,26,
+keira_(sparrow),4,26,
+keetahspacecat,1,26,
+keene_(housepets!),4,26,
+keenadraws,1,26,
+kecha_wacha,5,26,
+kawacy,1,26,
+katrice_breewing,4,26,
+katie_(study_partners),4,26,
+katia_(demicoeur),4,26,
+kate_the_mecha-wolf,4,26,
+katauri_interactive,3,26,
+kasugai,1,26,
+karo-amu,5,26,
+karmasi,4,26,
+karin_kinako,1,26,
+kapricus,4,26,
+kamesu_micchacara,1,26,
+kalla_(snarlin),4,26,
+kali_(markie),4,26,
+kakithefox,1,26,
+kakaodieb,1,26,
+kais9,1,26,
+kael,4,26,
+k_pring,1,26,
+k-y-r-i-e,1,26,
+k-vrc,4,26,
+k-ho,1,26,
+jye,4,26,
+jxg,1,26,
+juubi,1,26,
+juniper_(dahwchooa),4,26,
+jull_(dota_underlords),4,26,
+jujutsu_kaisen,3,26,
+joze_osaka,1,26,
+jovejun,1,26,
+joveehusky,1,26,
+jomblluc,1,26,
+joltie,4,26,
+jojo_the_horse,4,26,
+johnwulffe,1,26,
+joe_(oh_so_hero!),4,26,
+jo_(poonani),4,26,
+jimmy_li,4,26,
+jigokuyouchien,3,26,
+jerome_blaze,4,26,
+jennifer_(longblueclaw),4,26,
+jen_starfall,4,26,
+jazzyz401,1,26,
+jaya_(vader120),4,26,
+jax_(yeen.queen),4,26,
+jaron,4,26,
+japanese_fire_belly_newt,5,26,japanese_firebelly_newt
+jamie_sharp,4,26,
+james_(masterjames),4,26,
+jake_(the_rescuers),4,26,jake_(rescuers)
+jaizub,1,26,
+jagg_(thatgryphonguy),4,26,
+jade_(mortal_kombat),4,26,
+jackoffrabbit,1,26,
+jackalopedewey,1,26,
+j_flores_draws,1,26,
+izzy_(thekzx),4,26,
+ivy_(eerieviolet),4,26,
+ivan_the_lucario_(character),4,26,
+itzal_eguzkia,4,26,
+iti_crossgender,0,26,
+itching,0,26,
+itazura_igen,1,26,
+itari,1,26,
+isis_(mythology),4,26,
+ishtar-san,4,26,
+irbeus,1,26,
+ipponyari_kazuto,4,26,
+inner_mouth,0,26,
+inking,5,26,
+ingo,4,26,
+ines_(eleode),4,26,
+indy_(vdisco),4,26,
+indigestion,0,26,
+inbetweenie_navel,0,26,
+improvised_lube,0,26,
+improvised_buttplug,0,26,improvised_butt_plug
+implied_homosexuality,0,26,
+impboyz,1,26,
+ike_(ironkongstudios),4,26,
+idolmaster_million_live!,3,26,
+ice_chip,4,26,
+iahfy,1,26,
+i4_kan,1,26,
+hyper_mess,0,26,
+hyper_flare,0,26,
+hyflin,1,26,
+huge_sword,0,26,
+huge_glans,0,26,
+hufnaar_(character),4,26,
+huffzie,4,26,
+howdy_(hamtaro),4,26,
+hot_water,0,26,
+hot_dog_wolf,1,26,1t0u
+hoshi_kubi,1,26,
+hornless,0,26,
+horitoy,1,26,
+hood_down,0,26,
+honeycoves,1,26,
+holographic_fur,0,26,
+holding_strapon,0,26,
+holding_scissors,0,26,
+holding_parasol,0,26,
+holding_nipples,0,26,
+holding_melon,0,26,
+holding_ladle,0,26,
+holding_feces,0,26,
+holding_doll,0,26,
+holding_belt,0,26,
+hmsm,1,26,bonitod3n
+hjkr,1,26,
+hippopotas,5,26,
+hilda_berg,4,26,
+hilda_(mossyartburger),4,26,
+hilda_(hilda),4,26,
+hikoero777,1,26,
+hiji,4,26,
+highschool_of_the_dead,3,26,
+hestis_(fidchellvore),4,26,
+herodotus_dent,4,26,
+hero_(anoxias),4,26,"anoxias,hero_wolf"
+heriyama,1,26,
+henkalya_(princehenkalya),4,26,
+hen_(thehenwithatie),4,26,
+help_me,0,26,
+hello.byeperson,1,26,
+hellfurred,1,26,
+held_by_legs,0,26,
+heart_thigh_highs,0,26,
+head_injury,0,26,
+head_in_hand,0,26,
+head_holding,0,26,
+hbo,3,26,
+haxx,4,26,
+haripo_(artist),1,26,
+hands_on_arm,0,26,
+hands_folded,0,26,
+handband,0,26,
+hand_on_lap,0,26,
+hand_fetish,0,26,
+hand_bra,0,26,
+halphelt,1,26,
+hally_(hally),4,26,
+half-orc,5,26,
+half-beak,0,26,
+haley_maruti,4,26,
+hackman23,1,26,
+ha11nu,1,26,
+gymnast_leotard,0,26,
+gyi.,1,26,
+gwynevere,4,26,
+gurimjang,1,26,
+guppy_(thatpuggy),4,26,
+guppy_(boi),4,26,
+gunn_casmar,4,26,
+gumi_(gumiboie),4,26,
+gufu_kandagawa,1,26,
+gudako_(fate),4,26,master_without_a_name
+guardian_(destiny),0,26,
+gthusky,1,26,
+grizzlyear34,1,26,
+grizard,4,26,
+greyfus,4,26,
+grey_rabbit_(huitu_c),4,26,
+grey_cape,0,26,gray_cape
+greepurl,1,26,
+greeny_(odisaodi),4,26,
+greening,1,26,
+green_day,3,26,
+grakerrbraconc,1,26,
+gradient_border,0,26,
+grabbing_own_ass,0,26,
+gorimondo_(kirby),4,26,
+goomanagarcha,1,26,
+gonda,1,26,
+gombee_s,1,26,
+goliath_deathclaw_(subbyclaw),4,26,
+golecko,1,26,
+goldyne,4,26,
+goldengryphon,1,26,
+golden_snub-nosed_monkey_(kemono_friends),4,26,golden_snub_nosed_monkey_(kemono_friends)
+gold_armwear,0,26,
+goatonomous,1,26,
+glowing_insides,0,26,
+glowing_head,0,26,
+glowing_hand,0,26,
+glistening_precum,0,26,shiny_precum
+glistening_food,0,26,shiny_food
+glacius_draconian,4,26,
+gkg,1,26,
+giovanni_(rabblet),4,26,
+giant_otter,5,26,
+ghostlyfoxy,1,26,
+ghost_thewolf,1,26,
+ghidorah_(species),5,26,
+genital_fluids_on_ground,0,26,
+genex,1,26,
+generalecchi,1,26,
+gem_(naughtymorg),4,26,
+gekko_(zelda),5,26,
+gayletrotter,1,26,
+gavrok,4,26,
+garoto_guloso,1,26,
+gargantuan,0,26,
+gandalf_the_grey,4,26,"gandalf,gandalf_the_white,olorin,olórin"
+gamora,4,26,
+gamepony-verysecret,1,26,
+galian-beast,1,26,
+gabriel_(gabriel1393),4,26,
+gabe_(character),4,26,
+fuzepony,4,26,
+fuusenroba,1,26,
+futaba_sakura,4,26,sakura_futaba
+funkybun_(character),4,26,
+full_exadian,5,26,
+fruit_basket,0,26,
+frostibunni,4,26,
+froen_(zi_ran),4,26,
+frilly_thigh_highs,0,26,
+friedrich_(poppy_opossum),4,26,
+foxxo,4,26,
+fossa_(artist),1,26,
+foreskin_worship,0,26,
+forecock,0,26,
+fooly_cooly,3,26,flcl
+font_change,0,26,
+flower_censor,0,26,
+flowbish,1,26,
+flowamai,1,26,
+flossing,0,26,
+florence_(deer),4,26,
+floofshark,5,26,
+floating_eyebrows,0,26,
+flip_the_frog,4,26,
+flickering_heart,0,26,
+flicker_show_(oc),4,26,
+fleetway_sonic_(character),4,26,
+flbl,1,26,
+flashquatsch,1,26,
+flare_pris,4,26,
+flare_(flarevrc),4,26,
+flaming_sword,0,26,
+flak_wizard,1,26,flak_wizard_(artist)
+fiuefey,1,26,
+firstletterj,1,26,
+firra,4,26,
+firepit,0,26,
+finnian_ennis,4,26,
+fimif,1,26,
+filled_and_plugged,0,26,
+fiarel,1,26,
+fhashe,4,26,
+fernando_vargas,1,26,
+feral_dominating_male,0,26,
+felix_(velvetlamb),4,26,
+felix_(kevintheradioguy),4,26,
+feet_paws,0,26,
+feet_on_butt,0,26,
+feet_on_breasts,0,26,
+father_fingering_son,0,26,
+fat_grab,0,26,
+farah_(ricochetcoyote),4,26,
+fappingff,1,26,
+fantharubi,1,26,fant_da_fanto
+fang_(magpie_magnetism),4,26,
+fancymisslady,1,26,
+falling_asleep,0,26,
+falkor,4,26,
+faleen,4,26,
+eyuzi,1,26,
+eyelid_pull,0,26,
+extradan,1,26,
+expressive_mask,0,26,
+exposed_wires,0,26,
+exposed_organs,0,26,
+expose,0,26,
+exodite,4,26,
+evil_bear,4,26,
+european_robin,5,26,"erithacus,erithacus_rubecula"
+ethan_(bastion),4,26,
+espinas,5,26,
+eschiver-monty,4,26,
+erogenous_change,0,26,
+eric_the_dragon,4,26,
+erial_kathranis,4,26,
+eren,4,26,
+epicfacepowwaa,1,26,
+epic93,1,26,
+ennis,4,26,
+empaws,1,26,
+emojis,0,26,
+ember_(disambiguation),6,26,ember
+elyssa_llewellyn,4,26,
+elude,4,26,
+ellen_ripley,4,26,
+eliza_(mastergodai),4,26,
+elinnayt,1,26,
+elera,0,26,
+elemental_games,3,26,
+electrode_pad,0,26,
+elbowing,0,26,
+elberik,4,26,
+elastrator,0,26,
+elana_(altrue),4,26,
+ela_novabay,4,26,
+eggs_(eggseru),4,26,
+egg_yolk,0,26,
+effie_(bypbap),4,26,
+edwiener,1,26,
+eduard_arts,1,26,
+eddie_(atlas_rysios),4,26,
+ecolo,4,26,
+eat_and_run,0,26,
+dynamictrigger22,1,26,
+dwarf_truffle,4,26,
+dutch_oven,0,26,
+dusty_rayne,4,26,
+dustin_(sfd),4,26,
+dubious,1,26,
+dualshock_1,3,26,
+dttart,1,26,
+dsl,0,26,
+drugging,0,26,
+droopy_dog,4,26,
+drew_gardner,1,26,
+dreamtheorem,1,26,
+drawstring_shorts,0,26,
+dramon,4,26,
+drakerogers,1,26,
+drake_(tasuric),4,26,
+drake-van-howler,4,26,
+dragoslav_berezovsky,4,26,
+dragon_nexus,1,26,
+dragon_(lol),5,26,
+doug_ramses,4,26,
+double_teamed,0,26,
+dorian_(dorian-bc),4,26,
+dominic_byrne,4,26,
+dominant_taur,0,26,"dom_taur,taur_dom,taur_dominant,taur_dominating,taur_domination,taurdom"
+domika,4,26,
+domehead_(commissioner),3,26,
+dokumushi,1,26,
+doggostar,1,26,
+dodgeball,0,26,
+docu_(divide),4,26,
+dnaxcat,3,26,
+dizzy_(guilty_gear),4,26,
+dizek_(character),4,26,
+ditto_(disambiguation),0,26,ditto
+discount-supervillain,1,26,
+dirtyhorror,1,26,
+dirtydooddoodlez,1,26,
+dirtiran,1,26,
+dipstick_feathers,0,26,
+digipixelfluff,1,26,
+dickpenis,4,26,
+diasis,4,26,
+deziree_aramura,4,26,
+dez_(ashura43),4,26,
+dexy_(jcdr),4,26,
+devilukez,1,26,
+detective_button,4,26,
+dennis_clark,1,26,
+demon_on_angel,0,26,
+dem,4,26,
+delta,4,26,
+delbi3d,1,26,
+dee_(kansyr),4,26,
+debreasted,0,26,
+deaf,0,26,
+dazzler,4,26,
+daystone,3,26,
+daxx_(dkmt12),4,26,
+dawn_crumhorn,4,26,
+das_(character),4,26,
+darktree,1,26,
+darkempiren,1,26,
+dark_skirt,0,26,
+dark_hooves,0,26,
+dark_armor,0,26,
+darius_koopa_(character),4,26,
+daphniir,4,26,
+danmachi,3,26,
+daniel_coppren,4,26,
+dangerouslygooey,1,26,
+damaged_ceiling,0,26,
+dairuga,4,26,
+dage,4,26,
+cyan_(skybluefox),4,26,cyan_caldwell
+cutelickart,1,26,
+curesnow,1,26,"curechung,cutekiyomi"
+cum_marking,0,26,
+cucco,5,26,
+cuadraws,1,26,
+cth,1,26,
+crossing_the_streams,0,26,
+cropped_topwear,0,26,
+crocodylid_humanoid,5,26,
+criticalhit64,3,26,
+crimsonrex,1,26,
+crimson_night,4,26,
+crimson_(al_gx),4,26,
+cresce,4,26,
+crankydove,1,26,
+craid,4,26,
+craftyandy,1,26,
+covering_own_breasts,0,26,
+covered_in_slime,0,26,
+couvert_(kishibe),4,26,
+corruption_(species),5,26,
+corazon_tea,4,26,
+coontail_v2,4,26,
+contra,3,26,
+containment,0,26,
+constance_johnson,4,26,
+connor_(zaush),4,26,
+colplasticat,1,26,
+colorwrath,1,26,
+colarix_(fursona),4,26,
+codytiger,4,26,
+coconut_(sayori),4,26,
+cocoa_(trout),4,26,
+coach_(animal_crossing),4,26,
+clutter,0,26,
+clover_(slimshod),4,26,
+clogged_toilet,0,26,
+cloe_(pixiecatsupreme),4,26,
+cloakedthief,3,26,
+cleopatra_jazz_(mlp),4,26,
+cleo_(twin_dragons),4,26,
+clementine_clevenger,4,26,
+clay_(enginetrap),4,26,
+claw_gloves,0,26,
+clare_tavin,4,26,
+clancy_(tokifuji),4,26,
+clairissa,4,26,
+claire_farron,4,26,
+clair_(proxer),4,26,
+cjrfm,3,26,
+cinnamon_(dashboom),4,26,
+cindy,4,26,
+cigarette_butt,0,26,
+cielo_rey,4,26,
+ciderbunart,1,26,
+chyme,0,26,
+chuck_(rocko's_modern_life),4,26,"chuck_(rml),chuck_(rocko),chuck_(rockos_modern_life)"
+chuck_(captain_nikko),4,26,
+chris_rahn,1,26,
+chisana,1,26,
+chill_(chillbats),4,26,
+chiger,4,26,
+chien,4,26,
+chestopher,4,26,
+chest_mouth,0,26,
+chest_bow,0,26,
+cheek_grab,0,26,
+charlie_corvinus_(charliecorvinus),4,26,
+chargin'_chuck,5,26,"chargin_chuck,charging_chuck"
+changed_remake,1,26,
+champion,0,26,
+challen,1,26,
+chains_(zoroark),4,26,
+cereus93,1,26,
+cereal_mascot,0,26,
+celtic_tattoos,0,26,
+celestbrook,1,26,
+ceiling_cat,3,26,
+cazinkwolf,1,26,
+cawaden,4,26,
+catsudon_(character),4,26,
+catbus,4,26,
+cat_pepper,1,26,
+cat_breakdancing_meme,3,26,sims_cat_breakdancing
+cassandra_hofmeister,4,26,
+cash_(character),4,26,
+casey_(starthemutts),4,26,
+carys_(nebula1701),4,26,
+carrydraws,1,26,
+carrots_(starman),4,26,
+carrot_cake,0,26,
+carnivore_cafe,3,26,
+carmen_hardon_(rampage0118),4,26,
+carla_(caninelove),4,26,
+care_bear_cousins,3,26,
+cardiaivy,1,26,
+caramelhooves,1,26,
+cannibal-prince,1,26,
+cameron_cress,4,26,
+cam_hartley,4,26,
+call,0,26,
+cage_muzzle,0,26,
+caffeine,0,26,
+c1a0,1,26,
+bzeh_(bzeh),4,26,
+buzz_the_bee,4,26,"buzz_bee,buzzbee"
+butt_rubbing,0,26,
+burlywood_ears,0,26,
+burl_(connivingrat),4,26,
+burgersnshakes,1,26,
+bullseye,0,26,
+bugbytes_(artist),1,26,
+bucklesandleather96,1,26,
+bruno_cancatbeans,4,26,
+bruno-dz,1,26,
+brownies,0,26,
+brown_speech_bubble,0,26,
+brown_floor,0,26,
+bronzebanana,1,26,
+bridget_(an_american_tail),4,26,
+brazilian,0,26,
+braum_(lol),4,26,
+brapion,4,26,
+brambles_(chowdie),4,26,
+braided_mustache,0,26,
+boyonomo,1,26,
+bored_draggy18,1,26,
+boobart,1,26,
+bonete,1,26,
+bone_print_clothing,0,26,
+bodskih,1,26,
+bodily_fluids_string,0,26,
+bobbycheez,1,26,
+bo_(nutty_bo),4,26,bo_(unboxyguy)
+blugrass,1,26,
+blufeather,1,26,
+bluesnowshoe,1,26,
+blue_roan_(marking),0,26,
+blue_paint,0,26,
+blue_leggings,0,26,
+blue_clitoral_hood,0,26,
+bloodstained:_ritual_of_the_night,3,26,
+bloodshot23,1,26,
+bloodscale_(imperatorcaesar),5,26,
+blood_on_shoulder,0,26,
+blood_on_ear,0,26,"blood_on_ears,bloody_ears"
+blood_bowl,3,26,
+bliss_(sssonic2),4,26,
+blepishepi,1,26,diaper.wolf
+blair_(titankerberos),4,26,
+blackstarv,1,26,
+black_straitjacket,0,26,
+bisected_body,0,26,
+birdramon,5,26,
+birbit,5,26,
+bino_(housepets!),4,26,
+bing,4,26,
+billy_li,4,26,
+bigok,1,26,
+big_daddy,4,26,
+big_ben,0,26,
+bia_(slipperyt),4,26,
+between_mouths,0,26,
+berserker,0,26,
+bernard_(bna_v5),4,26,
+ben_(benjipaws),4,26,
+bellyburster_(species),5,26,
+belly_pat,0,26,
+bellamy_(gasaraki2007),4,26,
+bell_necklace,0,26,
+belierchatre,1,26,
+belfryluna,1,26,
+being_photographed,0,26,
+beep_(character),4,26,
+beckham_(the-minuscule_task),4,26,
+bbrt534,1,26,
+baxxid,5,26,
+batch,1,26,
+bastefan16,1,26,
+basketball_jersey,0,26,
+barotrauma,3,26,
+barnaby_(overzen),4,26,
+bardis,4,26,
+barbie_(doll),3,26,"barbie,barbie_(series),barbie_doll"
+barakuma,1,26,
+baojun,4,26,
+banzai_bill,5,26,
+banishment,0,26,
+bananathief,1,26,
+balthazar_(thorphax),4,26,
+balls_in_clothing,0,26,
+bagelbytes,1,26,
+back_massage,0,26,
+baby_wipes,0,26,
+azazel_(syrios),4,26,
+azalea,4,26,
+axey,4,26,
+awakening,0,26,
+aw008166,1,26,
+aviator_jacket,0,26,
+averious,4,26,
+auzzie_(muskie),4,26,
+autotitfuck_under_clothes,0,26,
+autocloacalingus,0,26,"auto_cloacalingus,self_cloacalingus"
+aurora-chiaro,1,26,
+aurebesh,0,26,
+augen_sinum_(character),4,26,
+audrey_ii,4,26,
+audrey_(jay_naylor),4,26,
+atari_logo,0,26,
+astronautdk,1,26,
+astralis_(bzeh),4,26,
+assassination_classroom,3,26,
+ashlocke_(nukepone),4,26,
+ashley_(strider_orion),4,26,
+ashelin,4,26,
+ashdragonfire,1,26,
+ashalle,1,26,
+asena_(full_bokko_heroes),4,26,
+ascended,5,26,
+arume_lux,1,26,
+artsu_(artsu),4,26,
+artofadam8_(artist),1,26,
+artix_entertainment,3,26,
+artistorphy,1,26,
+arthropod_abdomen_fingering,0,26,
+arten_reichtum,4,26,
+art-act,1,26,
+arrow_(scuzzyfox),4,26,
+aro_rouon,4,26,
+arms_on_table,0,26,
+armorbun,4,26,
+armarouge,5,26,
+arm_out,0,26,
+arklai_(croxot),4,26,
+aristeia,4,26,
+arimah,4,26,
+ariiah,4,26,
+ariesartist,1,26,
+arexualex,1,26,
+arctic_dogs,3,26,
+arataki_itto_(genshin_impact),4,26,
+aquarius_(symbol),0,26,
+apron_aside,0,26,
+apple_buruma_project,3,26,
+apologetic,0,26,
+aooni,1,26,
+aoncyth,1,26,
+aoki_kanji,1,26,
+antoinette_(el_senor_erizo),4,26,
+anthea,4,26,
+antennae_grab,0,26,"antenna_grab,grabbing_antenna,grabbing_antennae"
+antelope_penis,0,26,
+annmaren,1,26,
+annais_gingerman_(cpt.maverick),4,26,
+anna_(orcasanddragons),4,26,
+animate,5,26,
+animalk,1,26,
+animal_(muppets),4,26,
+aniko_rose,4,26,
+anguiped,0,26,
+angrytotemwolf,1,26,
+angie_(disambiguation),4,26,angie
+angelthegamer,1,26,
+angela_(disambiguation),4,26,angela
+angel_(evangelion),5,26,
+angel_(badlandsdrws),4,26,
+andy_(lemendigogoat),4,26,
+andromedika,4,26,
+anatomical_diagram,0,26,
+anami_chan,1,26,
+anal_canal,0,26,
+ammy_rootpaws,1,26,
+amika_zhona_(kimmikammi),4,26,
+amiga_family,3,26,
+amber_(wallooner97),4,26,
+amber_(raphael),4,26,
+amber_(kanel),4,26,
+amanda_(mattythemouse),4,26,
+amamidori,1,26,
+aluminum,0,26,
+altruistic_complex,3,26,
+alphonse_elric,4,26,
+allyson,4,26,
+allister_(pokemon),4,26,allister_(pokémon)
+alligator_loki,4,26,
+allanor_(carenath),4,26,
+alice_reed,4,26,
+alexdraws,1,26,
+alex_kl5,1,26,
+alex_(my_life_with_fel),4,26,
+alex_(firefox42),4,26,
+aleanora,4,26,
+alastor_serperior,4,26,
+akrodraws,1,26,
+akiwarumono,1,26,
+akima_(eddiew),4,26,
+ake,4,26,
+akane_(candescence),4,26,akane_(nerosferos)
+akane-ichii-kitsune,1,26,
+akaname,4,26,
+aiya,4,26,
+aimee_major,1,26,
+aimee,4,26,
+aiko_(disambiguation),4,26,
+ahirulion,1,26,
+ahastar_(artist),1,26,
+agliecosystem,1,26,
+agent,0,26,
+after_tribadism,0,26,
+afrosoldier303,1,26,
+african_golden_wolf,5,26,
+aethis_stormlight,4,26,aurel_stormlight
+aeroingo,1,26,
+aeris_(hguy44),4,26,
+admiralgus1897,1,26,admiralbruh1897
+adelonda,4,26,
+acyace,1,26,
+abyss_(shirakaisuri),4,26,
+abstractunitorn,1,26,
+absolutestabber,1,26,
+absinthy,4,26,
+abby_(conrie),4,26,
+abby_(ballad),4,26,
+aar0njay,1,26,
+aamakuruu,1,26,
+a.v.i.a.n.,4,26,
+a-man1502,1,26,
+a'khyl,4,26,
+8haon8,1,26,
+8-pus,1,26,
+7gaku_7,1,26,
+7_eyes,0,26,"7_eyed,seven_eyed,seven_eyes"
+6:13,7,26,
+4rchf1end,1,26,
+3000vnd,1,26,
+25:23,0,26,
+25:16,7,26,
+23:26,7,26,
+1cassius1,1,26,
+17:19,7,26,
+1000_hours_in_ms_paint,0,26,
+zymonasyh,1,25,
+zucchini_(artist),1,25,
+zubuzz,1,25,
+zrin,4,25,
+zor,4,25,
+zony_foxttercoon,4,25,
+zoe_(hocolatemilk),4,25,
+zoe_(anjuneko),4,25,
+zodd,4,25,
+zigzagziggy,4,25,
+zigzagg,4,25,
+zhutia15,1,25,
+zero_chan,4,25,
+zerk,4,25,
+zephere,4,25,
+zentt,1,25,
+zener_(artist),1,25,
+zebradom,0,25,
+zaszthecroc,4,25,
+zappy,1,25,
+zambuka_(character),4,25,
+zahra_(garal),4,25,
+zahira,4,25,
+zack_spades,4,25,
+yuriguba,1,25,
+yuni_(yuniwolfsky),4,25,
+yung_yagili,4,25,
+yuna_kamihara,4,25,
+yuckydizzy,1,25,
+yoshito,4,25,
+yoshihiko_arai,1,25,
+yoshi-eats-your-pie,1,25,
+ymalke,4,25,
+yin_(lilo_and_stitch),4,25,"experiment_501,yin_(l&s),yin_(las),yin_(lilo_&_stitch),yin_(stitch)"
+yiffnotgif,1,25,
+yiff_moon,3,25,
+yellow_robe,0,25,
+yaungol,5,25,
+yasser_(lionbear),4,25,
+yasano,1,25,oddballlion
+yaph_(amodestmouse),4,25,
+xiztit,4,25,
+xiaoshun,1,25,
+xial,4,25,
+xenoyia_(artist),1,25,
+xan-gelx,1,25,
+x1x1,1,25,
+woozysfm,1,25,
+wolfmaster,1,25,
+wolfiya,4,25,
+wolfeddown,1,25,
+wmruckwr,1,25,
+wink_(mt),4,25,
+windblade,4,25,
+wick,4,25,
+whiteraff,1,25,
+white_fangs,0,25,
+whispy_woods,4,25,
+whip_collar,1,25,
+whimsun,4,25,
+wheeze,0,25,
+what_if,0,25,
+wethamster1,1,25,
+wet_hands,0,25,
+weremustelid,5,25,
+wen_yu_li,1,25,
+welcome_mat,0,25,
+wedge_sandals,0,25,
+wedding_gloves,0,25,
+wayayu17,1,25,
+wawo,1,25,
+wavebird_controller,0,25,
+watermelon_print,0,25,
+water_drip,0,25,
+warlus,1,25,
+wario_land,3,25,
+wangkingfun,1,25,
+walter_wolf,4,25,
+walt_(animal_crossing),4,25,
+wally_(mhdrawin),4,25,
+wakamolez,1,25,
+waismuth,1,25,
+vulcan,5,25,
+voyuerism,0,25,
+voyd,4,25,
+voy_barranca_abajo,1,25,
+voregence,1,25,
+voltek,1,25,
+volkswagen_beetle,3,25,
+volga_(thievery),4,25,
+void236,1,25,
+vlw4zegrsgtsi6e,1,25,
+vixx_(character),4,25,
+vix,4,25,
+virion_stoneshard,4,25,
+virginia_wolfe,4,25,
+virgil_(virgil_deer),4,25,
+vimmi_rayphont,4,25,
+viktor_balthis,4,25,
+victory_clint,1,25,
+vethuleion,4,25,
+vethehex,4,25,
+vera-01,4,25,
+ventuswill,4,25,
+velvet_(coldfrontvelvet),4,25,
+velow,1,25,
+vaulting,0,25,
+vanilla_(nilla),4,25,
+vamcat,5,25,
+valve_(mechanical),0,25,
+valnos,4,25,
+vagabundo,1,25,
+vada,1,25,
+v-line,0,25,
+usagine_(tenshoku_safari),4,25,
+ursa_(gummi_bears),4,25,
+urine_as_food,0,25,
+upgrade,0,25,
+unown_r,5,25,
+unonyx,1,25,
+university_tails_:welcome_to_carrington,3,25,
+unicronian,5,25,
+uni_puma,4,25,
+under_paw,0,25,
+uncle_grandpa,3,25,
+unbreakablebond,1,25,
+unafkennyart,1,25,
+umi_monogatari,3,25,
+umbrella_soldier_(resident_evil),4,25,
+uhokue,1,25,
+ucweb,3,25,
+tyni,4,25,
+two_tone_tank_top,0,25,
+two_tone_flesh,0,25,
+two_tone_coat,0,25,
+tuanyllej2,1,25,
+tsunomon,5,25,
+tryclyde,4,25,
+tron_lines,0,25,
+trix_(matetrix),4,25,
+triprat,4,25,
+triple-shot,1,25,
+trina_snowfox,4,25,
+translucent_thong,0,25,
+translucent_ovipositor,0,25,
+towel_drop,0,25,
+toumal_(character),4,25,
+touching_own_head,0,25,
+touching_own_chest,0,25,
+toshio_(joaoppereiraus),4,25,
+torpedo,0,25,
+torartlol,1,25,
+torakichi-gau,1,25,虎吉・ガウ
+topo_(musashi),4,25,
+tophire_gemhorn,4,25,
+tophatharry,1,25,
+toontown_rewritten,3,25,
+tookiethefox,4,25,
+tony_tony_chopper_(heavy_point_form),4,25,
+tommy_(tedizgrunt),4,25,
+tomcat_in_sky,1,25,
+tom_ree,1,25,
+tolesian_(domehead),4,25,
+tokaya,5,25,
+toilet_seat,0,25,
+toe_bondage,0,25,
+todoroki_shouto,4,25,
+toby_wilson,4,25,
+tobias_fretchman,4,25,
+tmnt_omawari3,1,25,
+tionerroroct,5,25,
+tim_thorpe,4,25,
+tiki_(fairy_fighting),4,25,
+tighs,0,25,
+tied_knot,0,25,
+tianshi,4,25,
+thundurus_(therian_form),5,25,
+thrisker,1,25,
+threaded_by_dildo,0,25,
+thokk's_daughter,4,25,
+theta_iota_kappa,3,25,
+thepasserbye,1,25,
+theo_marks,4,25,
+thenameisradio,1,25,
+thekaimaster07,1,25,
+the_world_ends_with_you,3,25,
+the_lizard_(marvel),4,25,
+the_last_supper,3,25,
+the_dragon_next_door,3,25,
+thankfullorris,1,25,
+testie,4,25,
+teshkava_(domehead),4,25,
+term_of_endearment,0,25,
+tengridus,1,25,
+tenga_egg,3,25,
+tempus_(under(her)tail),4,25,
+temeraire,4,25,
+teeka_(karno),4,25,
+tediz,5,25,
+team_fortress,3,25,
+team_flare,3,25,
+team_charm,4,25,
+teal_face,0,25,
+te,4,25,
+tawny_fur,0,25,
+taweret_(moon_knight),4,25,
+tatl_(tloz),4,25,"tatl_(loz),tatl_(zelda)"
+tateoftot,1,25,
+taski_(character),4,25,
+tarpit_(hungothenomster),4,25,
+tardigrade,5,25,water_bear
+tapu_bulu,5,25,
+taoz,1,25,
+tangotango,4,25,
+tan_panties,0,25,beige_panties
+tan_head_tuft,0,25,
+tammy_(tammycat),4,25,
+talus_(paladins),4,25,
+taliamirai,1,25,
+tales_of_elysium,3,25,
+tal_(gmeen),4,25,
+taithefox,4,25,
+tairak,1,25,
+tail_swirl,0,25,
+tail_over_shoulder,0,25,
+tail_muscles,0,25,
+taiko-sihori,1,25,
+taihab,1,25,taihab_(artist)
+taeko,4,25,
+tabor_(shellyochunks),4,25,
+tablet_computer,0,25,
+sz,1,25,
+syrusdragon,4,25,
+sync_(mith),4,25,
+sydney_(bastard),4,25,
+swirling_eyes,0,25,
+sweetvixsin,1,25,
+sweetspet,3,25,
+swedish_vallhund,5,25,"swedish_cow_dog,vastgotaspets,västgötaspets"
+sweat_stains,0,25,
+suspender_belt,0,25,
+susan_(tunesdesu),4,25,
+susake_kes,1,25,
+surody,4,25,
+surcoat,0,25,
+super_mario_3d_land,3,25,
+sunderance,0,25,
+suk0tto,1,25,
+subway_station,0,25,
+submissive_taur,0,25,taur_dominated
+string_bow_tie,0,25,
+streaky_the_supercat,4,25,
+strawkitty,4,25,
+strawberry_print,0,25,
+stormbreeze,4,25,
+storm_(artist),1,25,
+stomach_wraps,0,25,
+stomach_penetration,0,25,
+stigmata,1,25,
+steen,1,25,
+steelhead_(imnotadolphin),4,25,
+stealing_clothing,0,25,
+starpaint0011,1,25,
+starflight_(wof),4,25,
+star_shirt,0,25,
+star_bunny,4,25,
+standing_on_balls,0,25,
+stan_paprika,4,25,
+staghart,4,25,
+ssilmarie_(trinity-fate62),4,25,
+squeedrii_(artist),1,25,
+squeaky_toy,0,25,
+spur_(thepatchedragon),4,25,
+spur,1,25,
+spudtagus,4,25,
+spritedraws,1,25,
+sprite_sheet,0,25,
+spraying_water,0,25,
+spot_(skweekers),4,25,
+spook_(oc),4,25,
+sponsz,1,25,ponysponsz
+spiral_glasses,0,25,
+spicy_triangles,1,25,
+specky-arts,1,25,
+spanx,4,25,
+spacecuyo,1,25,
+souzousha,1,25,
+sorika_mai_selena,4,25,
+sora,4,25,
+somemf,1,25,
+solt,1,25,
+solin_(gigafucker),4,25,
+sol_(luvdiz),4,25,
+soiling_panties,0,25,
+soddo_(ironkongstudios),4,25,
+snowy,4,25,
+snowcone_(awintermoose),4,25,
+snow_wave,4,25,
+snow_taradien,4,25,
+snow_kitsune,1,25,
+snow_drift_(oc),4,25,
+snorlaxk,1,25,
+snoiller_fitzroy_(artist),1,25,
+snistrtaz,3,25,
+snippwapp,1,25,
+sniffles_(htf),4,25,
+snapai,1,25,
+snakehunter,1,25,
+snake_pony,5,25,
+smurli,1,25,
+smoothie_(artist),1,25,
+smoke_ring,0,25,
+smegma_in_pussy,0,25,
+small_glans,0,25,
+small_body,0,25,
+slylemur,1,25,
+slipe,1,25,
+slightly_artistic,3,25,
+sleeping_isotope,1,25,
+sleep_walking,0,25,
+skyress_(skrekdathird),4,25,
+skylor_(character),4,25,
+skye_(amorous),4,25,
+skye_(acetheeevee),4,25,
+skull_helmet,0,25,
+sizma,1,25,
+sixfour_(artist),1,25,
+sitala,4,25,
+siroihigenokoi,1,25,
+sirius_hoshi_skaarsgard,4,25,
+sirah,4,25,
+sir-prince,1,25,
+sips_n_scales,3,25,
+sinrar,1,25,
+single_strap_dress,0,25,
+single_earring,0,25,
+simina-cindy,1,25,
+simargl,1,25,
+silver_necklace,0,25,
+silkwing_(wof),5,25,
+sileynus,1,25,
+siekfried,1,25,
+sideways_baseball_cap,0,25,
+sibonisu_bohte,0,25,
+siam_(mbr),4,25,
+shorty_(breeze_in_the_clouds),4,25,
+shorter_male,0,25,
+shoronpo,4,25,
+shnitzel,4,25,
+shinnycoyote,1,25,
+shingo_(threes_axelred),4,25,
+shiaz,1,25,
+shetland_pony,5,25,
+sherr,1,25,
+shelty,4,25,
+shelter,0,25,
+shego,4,25,
+sheet_ghost,0,25,
+sheep_witch,4,25,
+shazetta,4,25,
+shawl_only,0,25,
+sharon_(naughtymorg),4,25,
+sharingan,0,25,
+sharik,4,25,
+shantika,4,25,
+shanghailion,4,25,
+shadowraiser,1,25,
+sexyhalofan,1,25,
+sexy_santa,0,25,
+sevk,1,25,
+seth_raymond,4,25,
+serengeti_(gideon),4,25,
+sephie_(sephieredzone),4,25,
+sentinelwinder,1,25,
+senrai,4,25,
+selyroth,4,25,
+seif,4,25,
+seesaw,0,25,
+sebastian_(askim_shepherd),4,25,
+sea_swirl_(mlp),4,25,sea_swirl
+scuba_diving,0,25,
+screen_eyes,0,25,
+scratchmarks,1,25,
+scotty_(klaus_doberman),4,25,
+scorpio_(symbol),0,25,
+scoot_(animal_crossing),4,25,
+schesta,1,25,
+scarab_locke,4,25,
+sarah_(dog_fox),4,25,
+sarah_(caninelove),4,25,
+sarah-belle,4,25,
+sandy_marton,3,25,
+sam_(jailbird),4,25,
+sam-fox_(character),4,25,
+salun_(pjt),4,25,
+saliva_on_tail,0,25,
+saliva_on_arms,0,25,
+salessi,4,25,
+sakkan,1,25,
+saittamicus,1,25,
+sai_(lovelymiyu),4,25,
+sahagin,5,25,
+sadieyule,1,25,
+sachi,4,25,
+sabbasarts,1,25,
+rylai_the_pokegirl,4,25,
+rykliss_(tolerain),4,25,
+ryke,4,25,
+ruun,4,25,
+ruttinren,1,25,
+rutile_(chemdragon),4,25,
+rumsshi,4,25,
+rufus_b._cobber,4,25,
+ruffythelion,1,25,
+ruck_the_rockruff,4,25,
+ruby_gloom_(series),3,25,
+ruby_caernarvon,4,25,
+ruby_(shockblast),4,25,
+ruberoidart,1,25,
+rubber_panties,0,25,
+roy_(9tales),4,25,
+roxy_(senorkah),4,25,
+roxie_(lizardlars),4,25,
+roxana_(ayx),4,25,
+rox,4,25,
+rovafur,1,25,
+rotsw,1,25,
+rotational_sound_effect,0,25,
+rosemary02,1,25,
+rosa_(gvh),4,25,
+rope_around_penis,0,25,
+ronnie_(chances),4,25,
+romeo_ellis,4,25,
+romaine,1,25,sharona
+roger98,1,25,
+rogenilinad,1,25,
+rodrick_(colelucario),4,25,
+rockytheprocy,1,25,
+rockin_candies,1,25,
+roberto_(twokinds),4,25,
+rionkion,1,25,
+rin_i9,1,25,
+rikoshi,4,25,
+riggles,4,25,
+rige21,1,25,
+rieko,1,25,
+riding_motorcycle,0,25,
+riceserpent,1,25,
+rexam-1,1,25,
+revy_(terrythetazzytiger),4,25,
+restluck,1,25,seiroukyou
+resin_drake,4,25,
+research,0,25,
+republican_elephant,4,25,
+reptillus_maximus,4,25,reptilius_maximus
+repent,4,25,
+renshi_vivieh_(lowkey_nottoast),4,25,
+rena_tamer,1,25,
+rena_(disambiguation),4,25,
+ren_(remanedur),4,25,
+relydazed,1,25,
+rekiz,4,25,
+reindeer_orisa_(overwatch),4,25,
+reflium,1,25,
+red_car,0,25,
+red_bikini_bottom,0,25,
+red_(aurawing),4,25,
+rectangle_rug,0,25,
+rebel_(nuclear_throne),4,25,
+reane,4,25,
+reality_warping,0,25,
+realistic_lighting,0,25,
+realis,4,25,
+reading_glasses,0,25,
+rbismut,1,25,
+razulia_(trololohstuffs),4,25,
+rayleigh,4,25,
+ravio,4,25,
+ratcatcher,1,25,
+rastafarian,0,25,rastafarianism
+ranshin,4,25,
+random-bard,1,25,
+rakai,4,25,
+raised_weapon,0,25,
+raised_bikini,0,25,bikini_raised
+rainbow_pawpads,0,25,"rainbow_paw_pad,rainbow_paw_pads,rainbow_pawpad"
+rainbow_claws,0,25,
+raina_(theafrodog),4,25,
+rain_the_vaporeon,4,25,
+rain_boots,0,25,
+raikon,4,25,
+raiden_(raidens_claws),4,25,
+raganzi,4,25,
+radley_heeler,4,25,radley_(bluey)
+rachel_j_corey,1,25,
+rabbit_hole_brothel,3,25,
+raaf_helder_(character),4,25,
+r3dstar69,1,25,
+quo_(rubbishdragon),4,25,
+quinny,4,25,
+quincy_(felino),4,25,
+quinarth_snowtide_(western),4,25,
+quetzalcoatlus,5,25,quetzalcoatlus_(species)
+queens_blade,3,25,
+queen_chrysalis_(idw),4,25,"queen_reversalis,reversalis"
+queen_(band),3,25,
+quasi-ghost,5,25,
+quasi,4,25,
+quarter_hearts_(mlp),4,25,
+pyry_(jzbthx),4,25,
+pyronica,4,25,
+pyro_wolfie,4,25,
+put,1,25,
+pustcat_vanie,1,25,
+pussy_juice_on_paw,0,25,
+pussy_expansion,0,25,
+pussy_dripping,0,25,
+puss_in_boots,4,25,
+pushing_sound_effect,0,25,
+purslane_(crushpepper),4,25,
+purple_kimono,0,25,
+pumpkin_pie,0,25,
+puma_(company),3,25,
+pullups,0,25,
+pticenoga_(natalie_de_corsair),4,25,
+pseudofaun,1,25,
+prydr,4,25,
+prototype_shadow_blitz,4,25,
+protein_shake,0,25,
+professor_genki,4,25,
+prismwind,4,25,
+print_sweater,0,25,
+print_handwear,0,25,
+princesssilverglow,1,25,
+prime_evil_diablo,4,25,
+priestess_tsah,4,25,
+pride_color_towel,0,25,
+pride_color_banner,0,25,
+pretztail,5,25,
+pretending,0,25,
+presenting_body,0,25,
+prepare_your_anus,0,25,
+precum_through_jockstrap,0,25,
+power_suit,0,25,
+pov_hands,0,25,
+pourwatter,1,25,
+possat,5,25,
+posessed,0,25,
+poppy_(sneel),4,25,
+ponyclopsasaurus,1,25,
+pom_(suger_phox),4,25,
+polecat_(artist),1,25,
+pointing_at_crotch,0,25,
+pogoo,1,25,
+poge_jirushi,1,25,
+pocki07,1,25,
+pocketfurry,1,25,
+plum_(purplebird),4,25,
+pluke,1,25,
+playing_game,0,25,
+playing_drum,0,25,playing_drums
+player,4,25,
+plate_mail,0,25,
+plaguerat_(character),4,25,
+plaguelizard,1,25,
+pknicky,1,25,
+pixwell,1,25,
+pinkthehedgehog,1,25,
+pinkboyjay,1,25,zorua_(artist)
+pink_text_box,0,25,
+pink_muzzle,0,25,
+pink_condom,0,25,
+pink_chest,0,25,
+pink_blanket,0,25,
+pink_accessory,0,25,
+pincerpencil,1,25,
+pin_no_ji,1,25,
+pilot_(shepbutt),4,25,
+piker_(thepatchedragon),4,25,
+piker,0,25,
+piggy_bank,0,25,
+pierre_(bunnybits),4,25,
+phusion,4,25,
+phonograph,0,25,
+phone_wallpaper,0,25,
+philoctetes,4,25,
+philadelphia_rainbow_pride_colors,0,25,
+phelia,4,25,
+phantomapfel,1,25,
+phantom_mangle_(fnaf),4,25,
+pgm-m,1,25,
+petite-symphony,1,25,
+persegan,1,25,
+perfectblue97,1,25,
+penis_in_stocking,0,25,
+pencil_sketch,0,25,
+peggy_(nanimoose),4,25,
+peeposleepr,1,25,
+peeper_(subnautica),5,25,
+peeing_on_belly,0,25,
+pectoral_fin,0,25,
+peachygho,1,25,
+pawprint_in_signature,0,25,
+pawknight,1,25,
+paul_defenbaugh,1,25,
+pascal_(animal_crossing),4,25,
+party_hard,0,25,
+partially_clothed_human,0,25,
+parrot_humanoid,5,25,
+paprika_shikiso,1,25,
+pandy_panda,4,25,
+pandam,1,25,
+pale_king_(hollow_knight),4,25,
+paldean_wooper,5,25,
+painted_underwear,0,25,
+paige_(paige),4,25,
+pahistenlistijat,3,25,
+pac-man_party,3,25,
+owler,1,25,
+owl_(winnie_the_pooh),4,25,
+overdose,0,25,
+overall_dress,0,25,
+ottlyoo,1,25,
+otn,0,25,
+orion_schilt,4,25,
+orchard_blossom_(mlp),4,25,
+orange_tattoo,0,25,orange_tattoos
+oral_and_nasal_mask,0,25,
+operator_(warframe),4,25,
+open_towel,0,25,
+open_flap,0,25,
+open_coveralls,0,25,
+open_blouse,0,25,
+op80918,1,25,
+onigli,1,25,
+one_ear_obstructed,0,25,
+omega,4,25,
+olivia_(zer0rebel),4,25,
+olivia_(disambiguation),4,25,olivia
+oliver_(disambiguation),4,25,oliver
+okura_0426,1,25,
+oil-paper_umbrella,0,25,
+official_alternate_costume,0,25,
+off_the_ground,0,25,
+odinwolf,4,25,
+odile_nightingale,4,25,
+odd_(oddbutokay),4,25,
+ocelotlrama,1,25,
+objectified,0,25,
+object_between_toes,0,25,
+nyxiettenyxstar,1,25,
+nyopu_(iwbitu),4,25,
+nynn,4,25,
+nycket,1,25,thunderequus
+nutria_(rodent),5,25,coypu
+nut-bar,1,25,
+nurse_valentine,4,25,
+nurse_sweetheart_(mlp),4,25,
+nurse_giraffe_(toybox_pals),4,25,
+number_on_t-shirt,0,25,
+nsfwbunniii,1,25,
+nouveau_howler,4,25,
+nora_leslie,4,25,
+noname_slow,1,25,
+noki_(hexteknik),4,25,
+noisebat,4,25,
+nodding_head,0,25,
+nobuyuki,1,25,
+no_shirt,0,25,
+no_man's_sky,3,25,
+nlex,1,25,
+nio_kasgami,1,25,
+ninja_suit,0,25,
+ninggeez,4,25,
+nina_snorlax,4,25,
+nilghais,4,25,
+nikkimory,1,25,
+nigazi,1,25,
+nidopug,1,25,
+nidinen,1,25,
+nickie_(dajinn),4,25,
+nic_(dewott),4,25,
+nia_teppelin,4,25,
+nexiv_foxclaw,1,25,
+netcrow,1,25,
+nessie,4,25,
+nemi_(dinodoggo),4,25,
+neck_penetration,0,25,
+nebri,4,25,
+naughtyxerigart,1,25,
+naughtyimp,1,25,
+naturism,0,25,
+natural_habitok,1,25,
+natasha_vladislaus,4,25,
+nantaly,1,25,
+name_plate,0,25,
+nalani,4,25,
+nala_(nana-yuka),4,25,
+nakku,1,25,
+najarala,5,25,tidal_najarala
+nairi_(character),4,25,
+nail_(evilthabad),4,25,
+nagano_tenzen,1,25,
+mythril_blackpaw,4,25,
+myranden,4,25,
+mynx,4,25,
+mxnster_fxcker,1,25,
+mutated,0,25,
+mutants,0,25,
+mummies_alive,3,25,
+mumimushu5,1,25,
+multicolored_robe,0,25,
+multicolored_helmet,0,25,
+multicolored_claws,0,25,
+mujina_uranoya,1,25,
+mu_surai,4,25,
+mtv,3,25,
+mt._lady,4,25,
+ms._tiger_(toybox_pals),4,25,
+ms._tammers,4,25,"ms_tammers,tammers_(mlaatr),tammy_(mlaatr)"
+ms._morgan_(nightfaux),4,25,
+mrjakkal,4,25,
+mr.takealook,1,25,
+mr._turnip_(mlp),4,25,"mr._turnips_(mlp),mr_turnip_(mlp),mr_turnips_(mlp)"
+mosilll,1,25,
+morrogh,4,25,
+morphing,0,25,
+mordaine,4,25,
+moofus_(character),4,25,
+monty_greymane,4,25,
+monte_(dinkysaurus),4,25,
+monsterbox,1,25,
+monotone_leggings,0,25,
+monotone_antlers,0,25,
+mono_(artist),1,25,
+monique_(animal_crossing),4,25,
+monanniverse,1,25,
+mona_(genshin_impact),4,25,
+mokotomuku77,1,25,
+moisha_rich,4,25,
+mohawkrex,1,25,
+modification,0,25,
+mochi_(rainbowscreen),4,25,
+mmorpg,0,25,
+mk_artichoke,1,25,
+mizutatsu_tsunami,4,25,
+mize_(ironkongstudios),4,25,
+miyanokoko,1,25,ここまん@宮野狐々
+miya,4,25,
+misspelling,0,25,
+miss_dagger,4,25,
+mise_en_abyme,0,25,
+misakatsuneko_(character),4,25,
+minty_(kurus),4,25,
+mint_(alfa995),4,25,
+mimy92sonadow,1,25,
+"mimi_""godiva""_dulcifer",4,25,
+millie_burtonburger,4,25,
+milkandcooki,4,25,
+milcery,5,25,
+mila_horny,1,25,
+miku_(lee),4,25,
+mike_griffon,1,25,
+mika_(skimike),4,25,
+miijiu,1,25,
+miia's_mother_(monster_musume),4,25,
+mii_fighter,4,25,
+miekyll,1,25,
+mia_helsinki,4,25,
+mgx0,1,25,
+mexicanjoe,1,25,
+metal_bucket,0,25,
+merlin_(lllmaddy),4,25,
+mercia_autumnflower,4,25,mercia_(autumnflower)
+meowing,0,25,
+megan_thorne,4,25,megan_(jonas)
+meetworp,1,25,
+mechwarrior,3,25,
+mazinga669,1,25,
+mayumochi,1,25,
+maya_(ratcha),4,25,
+may_abbagail,4,25,
+maxx777,1,25,
+maxiinne_sylver,4,25,
+mature_andromorph,0,25,mature_cuntboy
+matty_the_pink_snow_leopard,4,25,
+matt,4,25,
+matched_pair,0,25,
+masterxxxl,1,25,
+master_roshi,4,25,
+masking,0,25,
+mary_clydes,4,25,
+marumaru_hh,1,25,
+marty_martin,4,25,
+martin_miller,4,25,
+martian_(duck_dodgers),5,25,
+marshall_(shewiff),4,25,
+marrow,4,25,
+marlena_(empskit),4,25,
+marlboro,4,25,
+marketplace,0,25,
+marielle_oakem,4,25,
+mari_(omari),4,25,
+marci_mcadam,1,25,
+maple_flake,4,25,
+maple_dog,5,25,
+manjusha_immar,4,25,
+manicure,0,25,
+manazlash,1,25,
+manaworld,3,25,
+mama_llama,4,25,
+malorne,1,25,
+malocke_(himeros),4,25,
+malice_(rukaisho),4,25,
+male/tentacle,0,25,
+mal_lock,1,25,
+maku_(burrserk),4,25,
+mai_karmel,4,25,
+mahingan,4,25,
+magister_jezza,4,25,arcanist_jakko
+mag_(magpi),4,25,
+madoka_tagokoro,4,25,
+madoka_kaname,4,25,kaname_madoka
+maddy_(lllmaddy),4,25,
+maddie_(back_to_the_outback),4,25,
+macaroni_and_cheese,0,25,
+m60,0,25,
+m'shelle,4,25,
+lyra_(the-shadow-of-light),4,25,
+lyka_(gau),4,25,
+lying_on_tail,0,25,
+lyinart,1,25,
+lydia_mckraken,4,25,
+lycoris,1,25,
+lya,4,25,
+lveink,1,25,
+luni,4,25,
+lunge_(bitterstrawberries),4,25,
+lunarhoffen,1,25,
+luna_(chestnutluna),4,25,
+lumi_(fuze),4,25,
+lukemgh,1,25,
+luckystallion13,4,25,
+lucette,4,25,
+love_can_be_different_2,3,25,
+looking_at_tail,0,25,
+looking_at_clipboard,0,25,
+logic_loop,4,25,
+lock444,1,25,
+llydia_the_fluff_dragon_(darkflamewolf),4,25,
+lizardking,1,25,
+living_gun,5,25,gun_creature
+"lin_""croft""_moragan",4,25,
+lily_(theycalmehavoc),4,25,
+ligynkey,1,25,
+ligia,4,25,
+lightningheart,4,25,
+lightning_hunt,4,25,
+light_whiskers,0,25,
+light_outline,0,25,
+light_genitals,0,25,
+light_brown_hair,0,25,
+light_beak,0,25,
+liego,1,25,
+lid,0,25,
+licking_knife,0,25,
+libbie,4,25,
+liam_(codymathews),4,25,
+lexi_(disambiguation),6,25,"lexi,lexi_(unknown_artist)"
+lex_the_rabbit,4,25,
+lex_cypher,1,25,
+lex_(horny_imp),4,25,
+leviathan_(fortnite),4,25,
+levi_(disambiguation),4,25,levi
+lessy_blueberry,4,25,
+lesson_zero,0,25,
+leon_(rocko's_modern_life),4,25,"leon_(rml),leon_(rocko),leon_(rockos_modern_life)"
+leolex,4,25,
+leo_(symbol),0,25,
+leg_tucked_under,0,25,
+leg_braces,0,25,
+leeson_smith,4,25,
+leech_(kostos_art),4,25,
+leather_suit,0,25,
+leather_legband,0,25,
+layla_(ponehanon),4,25,
+laying_on_grass,0,25,
+lavtheghost,1,25,
+laurie_(personalami),4,25,
+latte_(vonnir),4,25,
+latotabo,1,25,
+lasterk,1,25,
+larger_semi-anthro,0,25,
+larger_fingered,0,25,
+laprine,5,25,
+langur,5,25,"leaf_monkey,lutung"
+lancer_buck_(colorist),1,25,
+lance_(lancefoxcia),4,25,
+lament_configuration,0,25,
+lambda,0,25,
+lady-t_(artist),1,25,
+lactation_denial,0,25,
+l0ad1ng,1,25,
+l.gecko,1,25,
+kyufuru,1,25,
+kyra_(cadray),4,25,
+kyoka_(princess_connect),4,25,
+kylie_(alphafox1234),4,25,
+kylee_(brian_mcpherson),4,25,
+kyle_furs,1,25,
+kyari_(adversarii),4,25,
+kwill_(infinitydoom),4,25,
+kuumar_(artca9),4,25,
+kuroonehalf,1,25,
+kuon_(cyanroll),4,25,
+kujo,1,25,
+kuja,1,25,
+kui_lin_chen,1,25,
+krossbreeder,1,25,
+kriwu,1,25,
+krispy_(character),4,25,
+krendius,4,25,
+krazoa,4,25,
+krall,5,25,
+koyukomu,1,25,
+korwin,4,25,
+korth,1,25,
+konno_tohiro,1,25,
+koen_the_fox,4,25,
+koebi,4,25,
+kobaj,4,25,
+knullmannen_(artist),1,25,
+klinklang,5,25,
+klaushy,1,25,
+kiwifox_(artist),1,25,
+kiwi_(ragsy),4,25,
+kitsune_(tee_k.o.),4,25,
+kito_(kitodiet),4,25,
+kissing_nose,0,25,
+kiss_(band),3,25,
+kirita,1,25,
+kirby:_canvas_curse,3,25,
+kira_kitira,1,25,
+kio_(keovi),3,25,
+kinuli,1,25,
+kinkangel,1,25,
+kingpillar,1,25,
+king_richard,4,25,
+kinaya_(dbd),4,25,
+kinar_(kinarofficial),4,25,
+kimen,4,25,
+kimchi_(wonderslug),4,25,
+kilroy_loka,4,25,
+killthe_demon,1,25,
+kiki,4,25,
+kiisa,4,25,
+kidlucid,1,25,
+ki_ko,4,25,
+khyn,5,25,
+kevsky_draws,1,25,
+kesh_(pojodan),4,25,
+keryo_wolfe,4,25,
+kerodash,1,25,kerosmash
+kerbaru,1,25,
+kengo_takabushi,4,25,
+kemomimi!,3,25,
+kell_dewclaw,4,25,"kell_dewclaw_(k&k),kell_dewclaw_(kevin_&_kell),kell_dewclaw_(kevin_and_kell)"
+kelbi,5,25,
+kel_(capracreep),4,25,
+kc_green,1,25,
+kawakyun1,1,25,
+kaufycream,1,25,
+katy,4,25,
+katsumizi,1,25,
+katja_(chimangetsu),4,25,
+kathy_(felino),4,25,
+kathrina_prowler,4,25,
+katherine_clawhauser_(mistermead),4,25,
+katherine_'kitty'_malak,4,25,
+karura_(artist),1,25,かるら
+kartoffelowo,4,25,
+kari,4,25,
+karen_(disambiguation),4,25,karen
+kane780302,1,25,
+kamrose_(stinger),4,25,
+kalystri,1,25,
+kalea_(lei-lani),4,25,
+kalashnikov,3,25,
+kaknifu,1,25,
+kajy,1,25,
+kaji_aldewolf,4,25,
+kairy_draws,1,25,
+kairiyu,4,25,
+kagesan,1,25,
+kagekitsoon,1,25,
+kael_(fenrisu),4,25,
+kadzukai,1,25,
+kaden_(fire_emblem),4,25,
+kabutoro,1,25,
+k_kp_18,1,25,
+justin_turner,4,25,
+just_woke_up,0,25,
+jungle_aleu,3,25,
+jumblehorse,1,25,
+juliet_starling,4,25,
+julie_delacroix,4,25,
+julesy,4,25,
+juanito_medina,1,25,
+jorlus,4,25,
+jordanfrechet,1,25,
+jonah_(alex.fetter),4,25,
+johnnyzzart,1,25,
+joellethenose,1,25,
+joecat,1,25,
+jmf32,1,25,
+jingu_sayoko,4,25,
+jimothy_finn,4,25,
+jill_(lemonfont),4,25,
+jiji_(kds),4,25,
+jiang_winters,4,25,
+jeto_calihan,1,25,
+jessotter_(artist),1,25,
+jessica_whiteclawz,4,25,
+jesse_(onta),4,25,
+jess_mcclover,4,25,
+jeryl,4,25,
+jenny92,1,25,
+jellycakeslice,1,25,
+jellse,1,25,
+jazzycard,1,25,"e_e_obeso,fatman84"
+jayce_(cursedmarked),4,25,
+jason_steiner,4,25,jason_(nostson)
+jasmine_the_bat,4,25,
+jasmine_(plankboy),4,25,
+jasmine,4,25,
+japanese_architecture,0,25,
+janaita,1,25,
+jahlee_lebeau,4,25,
+jaguatiric4,1,25,
+jagged_horn,0,25,
+jack_(biffyjack94),4,25,
+izzabelle_frost,4,25,
+ivory_(thellos),4,25,
+ivalician_moogle,5,25,
+itzkoaro,1,25,
+issah_wywin,4,25,
+islamic,0,25,"islam,muslim"
+isaac_einfalt,4,25,
+ironmania,4,25,
+iris_ar-cerra,4,25,
+inuarashi,1,25,
+introvertedpooch,1,25,
+interruption,0,25,
+inflated_breasts,0,25,
+infinite_anal_beads,0,25,
+inbis,4,25,
+in_30000,1,25,
+implied_gender_transformation,0,25,
+ice_face_eiscue,5,25,"cube_eiscue,eiscue_(ice_face),eiscue_ice_face,ice_cube_eiscue,ice_eiscue,original_eiscue"
+icandy,1,25,
+ian_(twile),4,25,
+hyperion_(bluepanda115),4,25,
+hyper_extensor_carpi,0,25,
+hymin_(hybrid-mind),4,25,
+hylogon,1,25,
+humilliation,0,25,
+humanoid_merfolk,5,25,
+hulder,1,25,
+hoverbike,0,25,
+house_martin,5,25,
+hot_headed_clover,1,25,
+hot_dog_costume,0,25,
+hoshiguma_(arknights),4,25,
+hoshi_kitsunuki,1,25,tsukikitsunetanuki
+horus_(tas),4,25,
+horshu,5,25,
+honeyking,1,25,
+honey_nut_cheerios,3,25,
+holding_watermelon,0,25,
+holding_organ,0,25,
+holding_newspaper,0,25,
+holding_in_feces,0,25,
+hog-nosed_snake,5,25,"heterodon,hog-nose_snake,hog_nose_snake,hog_nosed_snake,hognose_snake,hognosed_snake,north_american_hog-nose_snake,north_american_hog-nosed_snake,north_american_hog_nose_snake,north_american_hog_nosed_snake,north_american_hognose_snake,north_american_hognosed_snake"
+hodori,1,25,
+hoccult,1,25,
+hoatzin,5,25,
+hippothrombe,1,25,
+hiker_(thepatchedragon),4,25,
+hige_(wolf's_rain),4,25,hige_(wolfs_rain)
+hide_and_seek,0,25,
+hicheeras,1,25,
+hev_suit,0,25,
+hero_dekirumon,3,25,
+hermit_moth,1,25,
+herd,0,25,
+helvetica_(artist),1,25,
+helg,1,25,
+heavy_armor,0,25,
+heartz,1,25,
+heart_sweater,0,25,
+heart-of-a-dragoness,1,25,
+healin'_good_precure,3,25,
+headkerchief_only,0,25,
+head_pussy,0,25,
+hay_bed,0,25,
+haters_gonna_hate,0,25,
+hastur_the_king_in_yellow_(h.p._lovecraft),4,25,
+harper_(harperpibble),4,25,
+harmony_inkwell,4,25,
+harla,4,25,
+hands_on_lap,0,25,
+hands_around_neck,0,25,
+hand_pussy,0,25,
+hand_on_railing,0,25,
+hand_on_abs,0,25,
+hand_in_ass,0,25,
+hammer_(character),4,25,
+hamham_sexy_dragon,4,25,
+hair_on_breasts,0,25,
+hair_bite,0,25,
+hahli,4,25,
+hadva_(wub),4,25,
+hachi,4,25,
+h_s_050,1,25,
+h_rt2,1,25,
+gummy_(disambiguation),4,25,"gummy,gummy_(character)"
+guff_(fortnite),4,25,
+guess_i'll_die,3,25,
+guaxraccoon,1,25,
+guana,4,25,
+grunt_(madness_combat),5,25,
+grimmoro_(character),4,25,
+griff_(rtzero),4,25,
+grey_knot,0,25,
+green_hairband,0,25,
+grawlee,4,25,
+gravity_(character),4,25,
+grand_theft_auto:_san_andreas,3,25,"grand_theft_auto_san_andreas,gta:_san_andreas,gta_san_andreas"
+gradient_wings,0,25,
+gosannana,1,25,
+goro,4,25,
+good_and_bad_ones,0,25,
+goldenautilus,1,25,
+golden_wing,4,25,
+gold_mask,0,25,
+gokai-chibi,1,25,
+gnull,1,25,stuffedhyena
+gnorc,5,25,
+glyphid,5,25,
+glum_plum,4,25,
+glowing_frenulum,1,25,
+gloria,4,25,
+glistening_bodysuit,0,25,"glistening_body_suit,shiny_body_suit,shiny_bodysuit"
+glistening_back,0,25,
+glax,4,25,
+gittigiti,1,25,
+girls_laughing_(meme),3,25,
+ginny_clover,4,25,
+gingertail,1,25,
+ginger_(shyguy9),4,25,
+gillian,4,25,
+giles_(zerofox1000),4,25,
+ghetsis,4,25,
+gfea_(artist),1,25,
+george_(ponehanon),4,25,
+geode,0,25,
+genma_saotome,4,25,
+genital_swap,0,25,
+genital_fluids_on_body,0,25,
+genevieve_(micatra),4,25,
+gavel_(object),0,25,
+gate_(series),3,25,
+gas_pump,0,25,
+garret_beaux_(krawgles),4,25,
+gamera_(character),4,25,
+gamba,4,25,
+gallimimus,5,25,
+gaia_(charityssongbird),4,25,
+g5,0,25,
+fygar,5,25,
+fuya_(tempupupu),1,25,
+fuwadenki,1,25,
+furvilous,1,25,
+furbulous,0,25,
+fundy,4,25,
+funboy,1,25,
+fun_paste,0,25,
+full_body_view,0,25,
+fukami_youhei,4,25,
+froylan,4,25,
+frostwolf,4,25,
+frostbite80_(artist),1,25,
+fringe_clothing,0,25,
+fright_rider,4,25,
+freshie,4,25,
+fr0st,1,25,
+foxavril,1,25,
+fox4,1,25,
+forneus,4,25,
+formal_dress,0,25,
+foolgirl,1,25,
+folds,0,25,
+foglia_(wanderlust),4,25,
+fluorings,1,25,candyumbry
+fluffy_the_bringer_of_darkness,4,25,
+fluffy_clothing,0,25,
+flipper_hands,0,25,
+flat_shading,0,25,
+flashbang,0,25,
+flaming,0,25,
+flame_atronach,5,25,
+flaich,1,25,
+flag_bodypaint,0,25,
+fiworo,1,25,
+fish_police,3,25,
+firestormsix,1,25,
+fire_dancing,0,25,
+fiora_(lol),4,25,
+fio_germi,4,25,
+fingering_mouth,0,25,
+fillyphalanx,1,25,
+fiji_(johann),4,25,
+fighter_of_the_stars,1,25,
+fightbite,4,25,
+fetish_wear,0,25,
+fervent_entropy,3,25,
+fenrih,1,25,
+fennecsilvestre,1,25,
+female_virgin,0,25,
+felibold,4,25,
+feather_stride_(character),4,25,
+faux_pas,3,25,
+fast_food_restaurant,0,25,
+farfalle_(ehnu),4,25,
+fapplejackoff,1,25,
+fangirl,0,25,
+fanakfurry,1,25,
+fake_tiger_ears,0,25,
+f_is_for_family,3,25,
+ezra_(torgore),4,25,
+ezio_auditore,4,25,"ezio,ezio_auditore_da_firenze"
+eyebrows_off_head,0,25,
+exposed_skull,0,25,
+exposed_shoulder,0,25,
+explorer_badge,0,25,
+experimental,0,25,
+expectation_vs_reality,0,25,
+excessive_lube,0,25,
+evy,4,25,
+everstone_(artist),1,25,
+evan_(sharkrags),4,25,
+eva_(rio),4,25,
+european_wildcat,5,25,scottish_wildcat
+euf,0,25,
+etezarumonkey,1,25,
+esther_winchester_(cuphead),4,25,
+esmerelda_(scalie_schoolie),4,25,
+esme_belles_(artist),1,25,
+erubetie,4,25,
+errathimal_(zettra_thorn),4,25,
+eropersona,1,25,
+eroknight,1,25,
+erlik_(tfzn),4,25,
+erin_(skybluefox),4,25,erin_bennett
+eri_(mha),4,25,
+epicsubterfuge,1,25,
+epcot,3,25,"epcot_center,epcot_centre"
+eostex,1,25,
+enna_alouette,4,25,
+enigma_(psychosocial),4,25,
+enchantment,0,25,
+en_caul,0,25,
+emma_(hedgehogblue02),4,25,
+emile_(dichic),4,25,
+emboquo,1,25,
+elsr.lobo,1,25,
+elowyn,4,25,
+eloriya,4,25,
+ellkir_fox,1,25,
+eliza_(pwcsponson),4,25,
+elisawind,1,25,
+elisa_(teer),4,25,
+elias_yamamoto,4,25,
+elhuachicolero,1,25,
+eleutherodactylus,5,25,
+einar,4,25,
+egk513,1,25,
+edioretysa,1,25,
+eddy_dusty,1,25,
+eddie_(guffaw),4,25,
+ears_on_shoulders,0,25,
+ear_tunnel,0,25,
+ear_tattoo,0,25,
+ear_cuff,0,25,
+eamze,1,25,
+dystopia,0,25,
+dynogreeno,1,25,
+dusting,0,25,
+dusk_sarsis,4,25,
+duracell,3,25,
+duncan_(strahinium),4,25,
+duma_matambo,4,25,
+dudleyiez,1,25,
+dtmech,1,25,
+dsninja,1,25,
+dry_himbones,4,25,
+drug_addict,0,25,
+drowsy_(lilo_and_stitch),4,25,"drowsy_(l&s),drowsy_(las),drowsy_(lilo_&_stitch),drowsy_(stitch),experiment_360"
+dreamcast_controller,0,25,
+drawcia,4,25,
+draw&nap,1,25,
+draizara_(bzeh),4,25,
+dragomoo,4,25,
+drago_(animal_crossing),4,25,
+draccy,4,25,
+dovecoon,1,25,
+doubutsu_sentai_zyuohger,3,25,
+double_middle_finger,0,25,
+dorzian,5,25,
+dorsal_spikes,0,25,
+dorian_pavus,4,25,
+doom_(infinitydoom),4,25,
+doom12,1,25,
+donder_(donderthereindeer),4,25,
+doncogneetoe,1,25,
+dominika_(coc),4,25,dominika_(corruption_of_champions)
+dogseden,1,25,
+dodge_challenger,3,25,
+doctorconnie,1,25,theenglishhobo
+doctor's_coat,0,25,
+docked_ears,0,25,
+dna_(dnapalmhead),4,25,
+djako_hyena,1,25,
+dispari,4,25,
+discobunny,4,25,
+dipstick_arms,0,25,
+dipping,0,25,
+dimly_lit,0,25,
+dignity_or_debt,3,25,
+dichromatic_eyes,0,25,
+diaper_pail,0,25,
+diana_machado,4,25,diana_(katnay)
+diana_(idontknow2),4,25,
+dh29pcr,1,25,
+dexy_noland,4,25,
+dex-starr,4,25,
+deuce_swift_(dragon),4,25,
+derrick_(bgn),4,25,
+derpixon,1,25,
+derickk76,1,25,
+derekireba,1,25,
+dendrophilia,0,25,
+demontoid,1,25,
+demongirl_demoness,1,25,
+demiveemon,5,25,chibimon
+demi_human,5,25,
+dekxer,1,25,
+defiance,1,25,
+deerpuff,1,25,
+deerest_stag,1,25,
+deep_hukadune,1,25,ディープ
+deckland,1,25,
+dechroma,4,25,
+ddguy,1,25,
+dc_the_cyberfoxy_(character),4,25,
+db0rk,1,25,
+dazed-and-wandering,1,25,dw1482
+daxxe_(character),4,25,
+davec,4,25,
+dave_rapoza,1,25,
+dat,4,25,
+dasoowolf,1,25,
+dash_the_cheetah,4,25,
+daroondar,4,25,
+darkness789,1,25,
+darkhatboy,1,25,
+dark_neckwear,0,25,
+dark_green_hair,0,25,
+dark_eyeshadow,0,25,
+darius_aurelius,4,25,
+darii_(topazknight),4,25,
+dannydregorak,4,25,
+danny_(mptm),4,25,
+daniel_cooper_(blair93),4,25,
+danger_duck,4,25,
+dane_(character),4,25,
+danchundemei,1,25,
+daisy_(haven_insomniacovrlrd),4,25,
+daisy_(daisypayne),4,25,
+daigo-48,1,25,
+d'arcy,4,25,
+cyrus,4,25,
+cypress_(zavan),4,25,
+cussing,0,25,
+curtis_(sobeloart),4,25,
+cupofcoco,1,25,
+cum_on_window,0,25,
+cum_on_pubes,0,25,
+cum_on_photo,0,25,
+cum_on_collar,0,25,
+cum_in_own_hair,0,25,
+cubot,4,25,
+cruelpix,1,25,
+crown_(kemokin_mania),4,25,
+crocodile_humanoid,5,25,
+crilix,1,25,
+cricket_bat,0,25,
+crescentpapermoon,1,25,
+crazychocobunny,1,25,
+crasherchroma,1,25,
+crapemyrtlemarket,1,25,
+crabrawler,5,25,
+cottontail_fizz,4,25,
+cosmic-ray-the-protogen,4,25,
+cory_(hevymin),4,25,
+corpse-grinder,4,25,
+coren,4,25,
+copperajah,5,25,
+copper_(kemonogatari),4,25,
+contessa_skunk,4,25,
+connor_(hocolatemilk),4,25,
+connie-may_(blancmark),4,25,
+conical_beak,0,25,
+confectionery,0,25,"confection,confectionaries,confectionary,confectioneries,confections"
+conejito,4,25,
+compmq_(artist),1,25,
+common_coquí,5,25,"common_coqui,coqui,coquí"
+colorlesscupcake,1,25,
+collie_(mal-and-collie),4,25,
+coinn8,1,25,
+cogsworth,4,25,
+coco_grimalkin,4,25,coco_(purrfect_apawcalypse)
+cock_stocks,0,25,"cock_stock,cockade"
+coating,0,25,
+clyde_donovan_(artist),1,25,
+cloudsen,1,25,
+cloud_cuddler,4,25,
+clippers,0,25,
+clio_(moot_point),4,25,
+climbing_tree,0,25,
+cleopatra,4,25,
+clementine_(plantpenetrator),4,25,
+cleasach,4,25,
+claw_polish,0,25,
+classical_elements,0,25,"4_element,4_elements,classic_element,classic_elements,classical_element,four_element,four_elements,the_4_element,the_four_element,the_four_elements"
+citrus_fruit,0,25,
+cinderella_(copyright),3,25,
+cid_(vg_cats),4,25,
+cia_(ultilix),4,25,
+chyo,0,25,
+chunks_(bestdoggo),4,25,
+chubbybunns,1,25,
+chubby_face,0,25,
+chu_twst,1,25,
+christopherfoxman,4,25,
+chris_bunny,4,25,
+chizitx,1,25,
+chinchilla010,1,25,
+chin_balls,0,25,
+chimera_(mlp),4,25,
+chilon,1,25,
+child_murder,0,25,
+chikokuma,1,25,
+chikara,4,25,
+chiclet_(roommates),4,25,
+chicle_(inkit89),4,25,
+chewybun,1,25,
+chetty,1,25,
+chest_rig,0,25,
+chess_(chesshire),4,25,
+chesare,1,25,
+cherrybxnnie,1,25,
+chemicalcrux,1,25,
+cheese_(modeseven),4,25,
+cheers,0,25,
+cheeki,1,25,
+checkered_bandanna,0,25,
+charr_starz,1,25,
+charlie_(s1m),4,25,
+charcoal_(artwork),7,25,charcoal_art
+character_in_background,0,25,
+chaoticbrony,1,25,
+chanceyb,1,25,
+chan_ponchii,4,25,
+challenging,0,25,
+chad_(a_goofy_movie),4,25,
+cgu0906,1,25,
+cerebus,4,25,
+cenegan's_tentacles,4,25,
+celt,0,25,
+celsian,1,25,
+cattleya,4,25,
+cattle_(petruz),4,25,
+catherine_york_(callmewritefag),4,25,
+catherine_(video_game),3,25,
+cat_panties,0,25,
+cat_nose,0,25,
+carter_(major_carter),4,25,
+carrying_tail,0,25,
+carousel-cat,1,25,
+caroline_(animal_crossing),4,25,
+carol_danvers,4,25,
+carligercarl,1,25,
+carl_brutananadilewski,4,25,"carl_(aqua_teen_hunger_force),carl_(athf)"
+caribe,1,25,
+caressing_cheek,0,25,
+carbonoid,1,25,
+captain_kobold,1,25,
+captain_dragon,4,25,
+caprino_bencivenni,4,25,
+canvaskat,1,25,
+cantor_(hextra),4,25,
+canned_drink,0,25,
+canis_(canisfidelis),4,25,
+caning,0,25,
+canberra_(animal_crossing),4,25,
+camo_shorts,0,25,camouflage_shorts
+camo_shirt,0,25,
+camilla_(101_dalmatians),4,25,
+cameron_(azaleesh),4,25,
+callie_(wrinklynewt),4,25,
+calderian,5,25,
+cain,4,25,
+caim,4,25,
+cadmium,4,25,
+cadenza,1,25,
+c4th,1,25,
+buurgerboy,1,25,
+butter_sugoi,1,25,
+bushy_hair,0,25,
+burmese_python,5,25,
+bunniehkins,1,25,bunniehkins_(artist)
+bune,4,25,
+bruna_(brunalli),4,25,
+brubearbrown_(character),4,25,
+brown_glasses,0,25,
+brown_apron,0,25,
+brotha's,1,25,
+briznaburr,1,25,
+brightosaur,5,25,
+bridge_(the_man),4,25,
+brian_(thespiderbunny),4,25,
+brevity,1,25,
+brett_(bluefoxyboi),4,25,
+breeches,0,25,
+brannahgirl,1,25,
+brann,4,25,
+branding_mark,0,25,
+brain_creature,5,25,
+braided,0,25,
+boxxmore,1,25,
+bottomless_bar,3,25,
+bottom_swap,0,25,
+bossman1969,1,25,
+borsig,4,25,
+borophagine,5,25,"bone-crushing_dog,borophaginae"
+booty_bay_call,0,25,
+boot_licking,0,25,
+bonnie_valentine,4,25,
+bonbon_(hollandworks),4,25,
+bolo_tie,0,25,
+bolo_(shantae),4,25,
+body_tuft,0,25,
+body_stocking,0,25,
+bobblehead,0,25,
+bluetheboo,1,25,
+bluestripedrenulian,1,25,
+blues27xx,1,25,
+blue_text_box,0,25,
+blue_text_border,0,25,
+blue_sofa,0,25,blue_couch
+blue_onesie,0,25,
+blue_makeup,0,25,
+blue_exorcist,3,25,
+blowing_smoke,0,25,
+bloophyn,5,25,
+blood_on_floor,0,25,
+blood_on_breasts,0,25,
+blanca_(taphris),4,25,
+blackpuma,1,25,
+blackbird_(artist),1,25,
+black_sheep,4,25,
+black_outerwear,0,25,
+black_mesa,3,25,
+black_lotus,1,25,
+black_lives_matter,3,25,
+biting_arm,0,25,
+bill_katt_(8chan),4,25,
+bilabee_(character),4,25,
+bigplug,1,25,
+big_condom,0,25,
+big_bottom_lips,0,25,
+bibit_(cocotama),4,25,
+bf_109,0,25,
+betty_hare,4,25,
+beth_blosoms,4,25,
+beth_(masterj291),4,25,
+berty-j-a,1,25,"bertyja,dark-lamprey"
+beowulf_kennedy,1,25,
+benjithatfoxguy,1,25,
+benji,4,25,
+belgian_draft_horse,5,25,
+belfry_(tamberlane),4,25,
+behind_tree,0,25,
+behemuffin,1,25,
+behemothking,1,25,
+beetlepie,1,25,
+beetle_humanoid,5,25,
+bedtime_story,0,25,
+beatrix_(seisuke),4,25,
+beakbum,1,25,
+bbm,0,25,
+bbh_(disambiguation),6,25,
+batcountry,1,25,
+bastian_mccready,4,25,
+basilic_(character),4,25,
+bartlebyjones,1,25,
+bart_addams,4,25,
+barry_nexus,4,25,
+barong_(tas),4,25,
+barb_castor,4,25,
+barasaurus,1,25,
+bandi_(xen),4,25,
+balter_(connivingrat),4,25,
+balrog_(cave_story),4,25,
+ball_penetration,0,25,
+balderdash999,1,25,
+balantes_tueri,3,25,
+bailey_(boxollie),4,25,
+bailey_(autumnflower),4,25,
+baggy,0,25,
+badguyvivi,1,25,
+backstripe,0,25,
+backalley,0,25,
+back_fur,0,25,
+back_cover,7,25,
+baccus_loka,4,25,
+babe_(luck),4,25,
+babbuful,1,25,
+baal_(cult_of_the_lamb),4,25,
+azula_(avatar),4,25,
+azugarlic,1,25,
+aztodio,1,25,
+azi_4081,1,25,
+ayre,4,25,
+aym_(cult_of_the_lamb),4,25,
+axel_(animal_crossing),4,25,
+axel-rosered,1,25,
+avimedes,1,25,
+auto_(artist),1,25,
+aurora_(walurs),4,25,
+aurora_(sent33),4,25,
+auntie_lofty_(mlp),4,25,
+atusix,1,25,
+attempted_autofellatio,0,25,
+athletic_taur,0,25,
+atehrea,1,25,
+asuna_yuuki,4,25,"asuna_(sao),asuna_(sword_art_online),asuna_yūki,yuuki_asuna,yūki_asuna"
+astroodragon,1,25,
+astro_(the_jetsons),4,25,
+asta_windsong,4,25,
+ass_out,0,25,
+asrael_zogendral,4,25,
+asheru_(setting),3,25,
+ash_greytree,4,25,
+ash_(amazinggwen),4,25,
+asd5,1,25,
+artrogero_(artist),1,25,
+arms_on_knees,0,25,
+arm_length_gloves,0,25,
+arm_censor,0,25,
+arkeus,1,25,
+arkanumzilong,1,25,
+arihyena,4,25,
+aria_(buried_frog),4,25,
+arepo,4,25,
+arebeano,1,25,
+archie_(disambiguation),4,25,archie
+arachnymph,1,25,
+aqua_(innocentenough),4,25,
+april_(trololohstuffs),4,25,
+appleseed,3,25,
+apparatus,0,25,
+apollo_(cheetahmen),4,25,
+apluss,1,25,
+anu_and_syl,4,25,
+ante_flan,1,25,amplitude_frequency
+anomalocarid,5,25,"anomalocarida,anomalocaridid"
+annika_(pippuri),4,25,
+anna_henrietta,4,25,
+angel_(dragon_ball),5,25,
+andy_borrego_(zaush),4,25,
+andrewgtrez,1,25,
+andrew_reynart,4,25,
+anarchy_puppet,1,25,
+anarch,1,25,
+anal_training,0,25,
+amphithere,5,25,
+amper,1,25,
+amouge,4,25,
+amelie_(lf),4,25,
+ame_(daisuke_amaya),4,25,
+amber_(nebulilac),4,25,
+amarthgul,1,25,
+altin_(character),4,25,
+alpha-thunder,1,25,
+alpaccasneaky,1,25,
+allesey,1,25,
+alldropped,1,25,
+aliss_(tits),4,25,
+alice_myuu,4,25,
+alfonso_(animal_crossing),4,25,
+alfa_(alfa995),4,25,
+alexandrafire,1,25,
+alexandra_(baronvondrachen),4,25,
+alexalan,1,25,
+alex_nerpy_fox,4,25,
+aleuoliver,1,25,
+aldqueath,4,25,
+alcoholic,0,25,
+albinadainer,1,25,
+albert_(moordred),4,25,
+albeon,4,25,
+albana-the-dragoness,1,25,
+alan_powers,4,25,"brain_(arthur),the_brain_(arthur)"
+alamode,4,25,
+alaer,1,25,
+akieta_perrean,4,25,
+akari,1,25,
+akane_futaba,4,25,
+ajvulpes,1,25,
+aislinn_diarse,4,25,
+ailus_tochar,4,25,
+ailees,4,25,
+aika_(tomlloyd),4,25,
+agious,1,25,
+agent_4_(splatoon),4,25,
+against_structure,0,25,
+african_wildcat,5,25,
+african_golden_cat,5,25,
+aeryn_(thehelmetguy),4,25,
+aerial_silk,0,25,
+aegis_tunesmith,4,25,
+adrian_(adrianlombaxy),4,25,
+adra_(artist),1,25,
+adoptive_father,0,25,
+adam_lyon,4,25,
+adagio,4,25,
+acarine,5,25,"acari,acarina"
+acab,0,25,
+abyss_(scorp29),4,25,
+abstract_text,0,25,
+abryssle,4,25,
+abortion_mark,0,25,
+abacus,0,25,
+aaron_d'verse,4,25,
+aaron_(cyphernova),4,25,
+aarakocra_(dnd),5,25,
+a_walk_home,3,25,
+a-frame_sign,0,25,
+9_to_9,3,25,
+6ironknight9,1,25,
+5keys_x86,1,25,
+4040tinta,1,25,
+3dconfursion_(editor),1,25,
+32:27,0,25,
+327b_(artist),1,25,
+2vv7,1,25,
+2_stupid_dogs,3,25,two_stupid_dogs
+2_penis_bulge,0,25,
+1_finger,0,25,
+14:11,0,25,
+10den,1,25,
+10_legs,0,25,"10_legged,ten_legged,ten_legs"
+0v00w0paws_(artist),1,25,
+009w,1,25,
+/v/,4,25,
+zzu,1,24,
+zylk0r,4,24,
+zwerewolf,3,24,
+zuki_akula,4,24,
+zore_(moki),4,24,
+zoey_(mastergodai),4,24,
+zixh,1,24,
+zipper_sweater,0,24,
+zinovia_star,1,24,
+zidanemina,1,24,
+ziatimberwolf,1,24,
+zevashi_roach,5,24,
+zeurel,1,24,
+zetterburn,4,24,
+zero_(character),4,24,
+zeplich,1,24,
+zephyrgales,1,24,
+zeno_(komenuka_inaho),4,24,
+zenith,4,24,
+zenberu_gugu,4,24,
+zelaest,4,24,
+zefi,1,24,
+zeffin_(zefaa),4,24,
+zee-rage-man,1,24,
+zara_(ketzio_and_gbb),4,24,
+zara_(katnay),4,24,
+zandii_(thefreckleden),4,24,
+zakretian,5,24,
+zach_(housepets!),4,24,
+yuxare,1,24,
+yude_pea,1,24,
+yoshi00000091,1,24,
+yosha,1,24,
+yorunekomata,1,24,
+yori,4,24,
+yohei,4,24,
+yiffyraptor,1,24,
+yerolay,1,24,
+yennsee_miller,4,24,
+yellow_headgear,0,24,
+yellow_bracelet,0,24,
+year_of_the_horse,3,24,
+yeagar,1,24,
+yasha_(yashak),4,24,
+yark-wark,1,24,"ash_""yark""_foster,ash_foster,ash_yark_foster,team_prototype,teamprototype,yark_(artist),yark_artz,yark_wark,yarkartz,yarkwark"
+yanna_(character),4,24,
+xxxbattery,1,24,
+xxsparklinaangelnightxx,4,24,
+xsad_manx(artist),1,24,
+xous54,1,24,
+xolkuikani,1,24,
+xiopath,1,24,
+xiixxii,4,24,
+xiel_the_dragon,4,24,
+xenon_(xenonotter),4,24,
+xenogears,3,24,
+xena,4,24,
+xbox_series_x,3,24,xbox_series_x_console
+xandria,4,24,
+xamz,1,24,
+xaix,1,24,
+xaie,4,24,
+x_marking,0,24,
+wsad_(artist),1,24,
+wrist_tattoo,0,24,
+wrinkled_skin,0,24,
+woolly_rhinoceros,5,24,"coelodonta,woolly_rhino,woollyrhino,wooly_rhino,wooly_rhinoceros,woolyrhino"
+woofzilla,1,24,
+woodland,0,24,
+wood_pirate,4,24,
+wood_barrel,0,24,
+wolfertinger,1,24,
+wolf_(there_once_was_a_dog),4,24,
+wizardjpeg,1,24,
+witch_doctor_(terraria),4,24,
+windows_(disambiguation),6,24,windows
+winddragon_(character),4,24,
+wilma_the_sheep,4,24,
+willow-s-linda,1,24,
+wiley_farrel,4,24,
+wiggles_(squablodecomplash),4,24,
+wicklesmack,1,24,
+whiteshadowhare,1,24,
+whiteraven90,1,24,
+white_toenails,0,24,
+white_(among_us),4,24,
+white-snow-wolf,1,24,
+whelpsy,1,24,
+wheel_of_fortune_(tarot),0,24,
+whack,0,24,
+wet_paint_(character),4,24,
+weskers_(character),4,24,
+werepyre-warrior,1,24,
+werecoyote,5,24,
+wereblood,1,24,
+weirdoxs,1,24,
+weight_conscious,0,24,
+wediz_(sollyz),4,24,
+wedge_sneakers,0,24,
+watoson,1,24,
+water_sheep,4,24,
+water_lily_siren,4,24,
+wanko_to_kurasou,3,24,
+wallross,1,24,
+wakizashi,0,24,
+waketab_(character),4,24,
+waffle32547,1,24,
+vulpineadonis,1,24,
+vrogros_the_underlord,4,24,
+vrekkias,4,24,
+vr457,1,24,
+vortian,5,24,
+vonredwing,1,24,
+void_(feliscede),4,24,
+vix_(a_space_tail),4,24,
+vivien_martin,4,24,
+vivian_(greyskee),4,24,
+visual_commodity,1,24,
+viridianvariant,1,24,
+virgin_vs._chad,3,24,"virgin_versus_chad,virgin_vs_chad,virgin_walk"
+viperious,4,24,
+violet_(ronnie92),4,24,
+viola_(masterofall),4,24,
+vinlom,1,24,
+vincent_(gaiki),4,24,
+villdyr_(artist),1,24,
+villdyr,4,24,
+villainy,1,24,
+viktoria_(beyxer),4,24,
+vik,4,24,
+victoria_(p-headdy),4,24,
+victoria_(ibengmainee),4,24,
+victoria_(animal_crossing),4,24,
+vicky_(disambiguation),4,24,vicky
+vi-bellum_(hyilpi),4,24,
+vex_(destiny),5,24,
+vertical_mouth,0,24,
+vertical_69_position,0,24,
+verobunnsx,1,24,"miyamae-k,miyamae-k_(artist),miyamaek,miyamaek_(artist),verobunnsx_(artist)"
+vergewemyasb,1,24,
+vereynne,4,24,
+vercursar,3,24,
+venus_(nerdshark),4,24,
+ventilation,0,24,
+vensual99,1,24,
+velk,1,24,
+vehicle_transformation,0,24,
+vee_(veedway),4,24,vee_stripe
+vayne_(lol),4,24,
+vault_meat,4,24,
+vatz,3,24,
+varric,4,24,
+varnish_(artist),1,24,
+vaquita_shoujo,1,24,
+vandringar,1,24,
+vance_(istricer),4,24,
+valentina,4,24,
+vale_(character),4,24,
+val_raptyress,4,24,
+uzon,1,24,
+ushi-oni,5,24,
+urusee584,1,24,
+urumi_ushizaki,4,24,ushizaki_urumi
+urine_in_uterus,0,24,
+unusual_urine,0,24,
+unsheathing,0,24,
+unown_y,5,24,
+unown_v,5,24,
+unleashedbrony,1,24,
+uniqua,4,24,
+uni_(wazzaldorp),4,24,
+undyne_(underfell),4,24,
+underdog_(series),3,24,
+umyuta,1,24,
+ume_(ittla),4,24,
+ultra_marine,4,24,
+udder_expansion,0,24,
+tyler_(ccwoah),4,24,
+two_tone_swimming_trunks,0,24,
+two_best_sisters,3,24,
+twisted_spoon_position,0,24,
+twinkworshiper88,1,24,
+tv_lighting,0,24,
+tussamag,1,24,
+turquoise_background,0,24,
+tube_in_ass,0,24,
+tsumi,1,24,
+tsukiko,4,24,
+try-trial,1,24,
+tristian,4,24,
+tristan_(bluebunboi),4,24,
+trisha_rose_(bluelighthouse),4,24,
+trish_(strawkitty),4,24,
+trip_(artist),1,24,doxolove
+trinity,4,24,
+trianii,5,24,
+transparent_fabric,0,24,
+tramp_(brok_the_investigator),4,24,
+tragobear,1,24,
+toxy,4,24,
+toxicmilkyx,1,24,
+torathi,1,24,
+toothlessfan,1,24,
+toothandclaw,1,24,
+tongue_in_ear,0,24,
+toffeepaws,1,24,
+todd_chavez,4,24,
+tobias_wilson,4,24,
+toadie,1,24,
+tkil,0,24,
+tittybat,1,24,
+title_number,0,24,
+titanian,5,24,
+tirtouga,5,24,
+tired_look,0,24,
+timothy_(windpaw),4,24,
+timigi,1,24,"timigi_(artist),tincker"
+timber_(oc),4,24,
+tiggie,1,24,
+tigerlily,4,24,
+tiedup,0,24,
+tibleam,4,24,
+thotfox,3,24,
+thorn_paw,1,24,
+thomas_o'malley,4,24,
+thiccazthieves,1,24,
+there_once_was_a_dog,3,24,
+theotormon,4,24,
+thekrakenislaken,1,24,
+thedispenser69,1,24,
+thedecisivepanda,1,24,
+thebigblackcod,1,24,
+the_strange_show,3,24,
+the_minimighty_kids,3,24,
+the_itchy_and_scratchy_show,3,24,
+the_iron_giant,3,24,
+the_fool_(tarot),0,24,
+the_doll_(bloodborne),4,24,
+the_devil_(tarot),0,24,
+the-cog,1,24,
+thatoneweirdo,3,24,
+thane_krios,4,24,
+texshi,4,24,
+tex,1,24,
+tentacle_wrapped_around_leg,0,24,
+tentacle_suit,0,24,
+tennis_uniform,0,24,
+tenebris_umbra,1,24,
+temple_hunters,3,24,
+teknotyk,1,24,
+tecoco,1,24,
+techwear,0,24,
+teamfight_tactics,3,24,
+team_sonic_racing,3,24,
+teal_dress,0,24,
+tea_bag,0,24,
+taylor_(bastionshadowpaw),4,24,taylor_(bastion)
+tavi,4,24,
+tausen_lion,1,24,
+tauldir,4,24,
+tattoo_on_thigh,0,24,
+tattletail_(species),5,24,
+tatosi_wyrdghost_(character),4,24,
+tasha_(hayakain),4,24,
+tasha,4,24,
+taru_psd,1,24,
+tap,0,24,
+taoryu,1,24,
+tank_(animal_crossing),4,24,
+tango_(dance),0,24,
+tan_soles,0,24,
+tamara_(cuchuflin),4,24,
+talon_(mastergodai),4,24,
+tala_(teveriss),4,24,
+tail_between_buttocks,0,24,
+tachitamachi,1,24,
+tabaxitaxi,1,24,
+ta'lesy,4,24,
+syrra,4,24,
+syn_club,0,24,
+sylvia_(joaoppereiraus),4,24,
+sylon_lyonwolf,4,24,
+syk_renstrom,4,24,
+syd_(useful_bear),4,24,
+sycotei-b,1,24,
+sword_in_ground,0,24,
+sweetcorn,4,24,
+sweet_polly_purebred,4,24,
+swatbot,4,24,
+swallowtail_butterfly,5,24,
+swala,4,24,
+svetlana_belenkova_(renthedragon),4,24,
+sveta,4,24,
+suzuka_gozen,4,24,
+sushi1515,1,24,sushikawa
+surio,1,24,
+superkeen,1,24,
+super_mutant_(fallout),5,24,
+super_mario_bros_super_show,3,24,
+sunny_(thehenwithatie),4,24,
+sun_(fnaf),4,24,
+suhomei,5,24,
+sueliz,1,24,
+sudz,4,24,
+subarashi,1,24,
+stygian_(mlp),4,24,
+studded_leather,0,24,
+studded,0,24,
+striped_wall,0,24,
+striped_breasts,0,24,
+stray_(video_game),3,24,
+stratodraw,1,24,
+strategically_placed_hole,0,24,
+strangemodule,4,24,
+storyteller_(artist),1,24,
+storkules,4,24,
+stock_image,0,24,
+steward_(housepets!),4,24,
+stepping_on_tail,0,24,
+stephen_(twincash),4,24,
+steamy_breath,0,24,
+steampunk_goggles,0,24,
+steam_writing,0,24,
+statuette,0,24,
+stardust_kids,3,24,
+stardust,4,24,
+stardarkfurr,4,24,
+starcrossing,1,24,
+star_necklace,0,24,
+star_diaper,0,24,
+standing_over_dildo,0,24,
+stalker_(warframe),4,24,
+stained,0,24,
+staerk,1,24,
+stacy_(disambiguation),4,24,stacy
+squish_vaporeon,4,24,
+squirrelfromthesouth,1,24,
+squirrel_monkey,5,24,"saimiri,saimirinae,squirrel-monkey,squirrelmonkey"
+squidt10tickles,1,24,
+squeaks_(rimentus),4,24,
+sqjgg693,1,24,
+spyzslair,1,24,
+sprinting,0,24,
+splatterbunny,1,24,
+spikeheila,1,24,
+spiked_tongue,0,24,
+spiked_ball,0,24,
+sph,0,24,
+spetsnaz,3,24,
+spermelf,1,24,
+speedy_gonzales,4,24,
+sparkpad,1,24,
+spade_bulge,0,24,
+space_pirate,0,24,
+space_leaper:cocoon,3,24,
+space_fox,5,24,
+sowod,1,24,
+sovaka,1,24,
+soupcanz,1,24,
+soruchee,1,24,
+sora_jeon_(forestdale),4,24,
+sophie_(sophie-d),4,24,
+soldier_uniform,0,24,
+solar_panels,0,24,
+sol_emerald,0,24,
+sojin_advance,1,24,
+soft-dogs,1,24,
+soap_shoes,0,24,
+soap_dispenser,0,24,
+snowshoe,4,24,
+snowflake_print,0,24,
+snow_goose,5,24,
+snoop_(character),4,24,
+sn,1,24,
+smuppetfan69,1,24,
+smiling_at_another,0,24,
+smieska,1,24,
+smelling_flower,0,24,
+slipping_out,0,24,
+slim_humanoid,0,24,
+slightly_muscular_male,0,24,
+skye_roarx,4,24,
+skunkbutts,1,24,
+skitty_the_tigress,4,24,
+skips92,4,24,
+sketchmcreations,1,24,
+sissy_(jay_naylor),4,24,
+siogo,1,24,
+single_tooth,0,24,
+sinbanter,1,24,
+sina_(pokémon),4,24,
+simon11028,1,24,
+silvex,5,24,
+silverwing_(lugia),4,24,
+silvermidnight_(character),4,24,
+silowyi,4,24,
+silentjay,1,24,
+sigmaw,3,24,
+side_profile,0,24,
+sidd_(temptations_ballad),4,24,
+sianna,4,24,
+shy001,3,24,
+shugggie,1,24,
+shrunken_planet,0,24,
+shroak,1,24,
+shoop_da_whoop,3,24,
+shiro_shiba,4,24,
+shirakami,4,24,
+shimanto_youta,1,24,
+sheppi,1,24,
+shekka_(tits),4,24,
+shaved_fur,0,24,
+shauntal_(pokemon),4,24,shauntal_(pokémon)
+sharkzone,1,24,
+sharkcatsg,1,24,killerfishsg
+shards,0,24,
+shanegdraco,1,24,
+shameen,4,24,
+shadydog,4,24,
+shadowwalk,1,24,
+shadowrun,3,24,
+shadeofshinon,1,24,
+shack_(artist),1,24,
+sextuple_penetration,0,24,
+sex_pillow,0,24,
+servojob,1,24,
+serp_(mrsnek),4,24,
+serleena_(men_in_black),4,24,
+sergefoxpaws,1,24,
+sensei_(chisara),4,24,
+senphyro,1,24,
+senip,4,24,
+semirulalmite,1,24,
+sega_logo,0,24,
+seela,4,24,
+seeded_rivals,0,24,
+search_bar,0,24,
+sea_urchin_(artist),1,24,
+sculptris,3,24,
+scribbles,4,24,
+screw_the_shadow_walker,4,24,
+scorpia_(she-ra),4,24,
+schorl_tourmaline_(oc),4,24,
+schandbringer,1,24,
+scarf_(scafen),4,24,
+scalemail_bikini,0,24,
+sca_sii,1,24,
+savaj,4,24,
+saul_goodman,4,24,
+saul_(stripes),4,24,
+satomi_renshu,4,24,
+sassy_snake,4,24,
+sasha_(imbeethebunny),4,24,
+sarcy,1,24,
+sarcobutter,1,24,
+sara_(jeremy_mullins),4,24,
+sapphire_(hunterx90),4,24,
+sands_of_destruction,3,24,
+sandlake,1,24,
+san_(beastars),4,24,
+samuraidemon,3,24,
+samantha_(jay_naylor),4,24,
+samael,1,24,
+salt_pepper,1,24,
+salemcat,1,24,
+salad_pervert,1,24,
+saheul_s,1,24,
+sagegami,1,24,
+sachat,4,24,
+saburo_(character),4,24,
+sabrecat,5,24,
+s_h_o,1,24,
+ryuunosuke,4,24,
+ryuquir,4,24,
+ryukiro,1,24,
+ryokun,1,24,
+rykanokk,1,24,
+ruvark,1,24,
+rustin,1,24,
+rupert_(disambiguation),4,24,rupert
+rumpy_apode,0,24,
+rumiko_nonaka,4,24,
+rulespin,1,24,
+rukasu,1,24,
+rudolph_(blue_dragon),4,24,
+rudolf_(disambiguation),4,24,rudolf
+ruby_(max_and_ruby),4,24,
+ruby_(katai),4,24,
+ruby_(10livesleft),4,24,ruby_(cavix)
+royal_vixult,5,24,
+roxie_(lagotrope),4,24,
+rowing,0,24,
+rova,4,24,
+rose_(agidyne),4,24,
+rosa_sarsis,4,24,
+rory_(aquasnug),4,24,
+rope_bridge,0,24,
+rooftops,0,24,
+rolling_over,0,24,
+roggenrola,5,24,
+roger_(zoohomme),4,24,
+rodeo_(animal_crossing),4,24,
+rodent_(conker),4,24,
+rodd_(fuze),4,24,
+rockgods,3,24,
+rocketshibaa,1,24,
+robert8164,1,24,
+rjdog115,1,24,
+river_person_(undertale),4,24,
+risque,0,24,
+rinpa,4,24,
+rinku,1,24,
+rinehart_nye_(wynn),4,24,
+rikku_(final_fantasy),4,24,
+rikitakawi,4,24,
+riisago,1,24,
+rielity,1,24,
+ridged_tail,0,24,
+riddleheart,1,24,
+ricket,1,24,
+rick_softpaw,4,24,
+richard_pinkman,1,24,
+rhyzern,4,24,
+rhea_gale,4,24,
+rey_(makumo),4,24,
+revenant_(apex_legends),4,24,
+rettriverr,1,24,
+resplendent_quetzal,5,24,resplendant_quetzal
+resplendence,4,24,
+researcher,0,24,
+rerebrace,0,24,
+requested,0,24,
+renée_(animal_crossing),4,24,"renee_(ac),renee_(animal_crossing),renée_(ac)"
+remnant:_from_the_ashes,3,24,
+remi_(oouna),4,24,
+reiser,1,24,
+reez,4,24,
+reed_thomas_(the_dogsmith),4,24,
+reduncine,5,24,reduncinae
+red_wolf_of_radagon,4,24,
+red_leaves,0,24,
+red_corset,0,24,
+red_(red_loup),4,24,
+reallyhighriolu,1,24,
+ready_player_one,3,24,
+reading_newspaper,0,24,
+rc_(oc),4,24,
+raya_(ratld),4,24,
+ray_raider,1,24,
+rawrrarr,1,24,
+rawhell,1,24,
+ravy_(ravoilie),4,24,
+raven30_(artist),1,24,
+ratchet_(transformer),4,24,
+rassiart,1,24,
+raspberry_tuffcakes,4,24,
+raspberry_(fruit),0,24,
+rashida_(ordia),4,24,
+rar1990,1,24,
+rapid-rabbit,1,24,
+ranka_ookami,4,24,
+rancid_horace,4,24,
+rambi_(wayesh),4,24,
+rambamboo_(artist),1,24,
+rajas_ledies,1,24,
+raja_(keedot),4,24,
+raithvaneal,1,24,
+raio_owo,1,24,
+raine_bloodhoof,4,24,
+raijin_(mythology),4,24,
+raijin_(muramasa),4,24,
+rai_(dragon),4,24,
+ragna_the_bloodedge,4,24,
+raff_(kihu),4,24,
+radvengence,1,24,
+radiospeed14,1,24,
+rachel_winchester,4,24,
+rachel_raccoon_(zp92),4,24,
+raccoonbro,1,24,
+rabbit_plushie,0,24,
+r_anon_4,1,24,
+qīngjiǔ,4,24,qingjiu_(diives)
+queentexx,1,24,
+qaz,4,24,
+pyro_koshka,4,24,
+puzzle_bobble,3,24,
+pussy_juice_on_breast,0,24,
+pussy_freckles,0,24,
+purple_towel,0,24,
+purple_thigh_socks,0,24,
+purple_cloaca,0,24,
+purple_choker,0,24,
+punished_kain,1,24,
+pumpkinmon,5,24,
+pulling_down_underwear,0,24,
+promenthefus,1,24,
+principal,0,24,
+princess_timmothy,4,24,
+princess_stori,4,24,
+princess_(bunbunny),4,24,
+prince_naveen,4,24,
+primeviale,1,24,
+primal_(aquilak),4,24,
+pride_color_arm_warmers,0,24,
+pride_(changing_fates),4,24,
+presenting_underwear,0,24,
+present_box,0,24,
+precum_on_viewer,0,24,
+precum_on_finger,0,24,
+precum_ejaculation,0,24,
+ppsh-41,0,24,
+potyra_(felino),4,24,
+posey_(g5),4,24,
+pororikin,1,24,
+poper,1,24,
+pony-straponi,1,24,
+ponut_joe,1,24,
+pontiac_firebird,3,24,
+pon_(orionop),4,24,
+polo_jasso,1,24,
+polinagribova,1,24,
+pocky_and_rocky,3,24,
+pngtuber,3,24,
+plushie_transformation,0,24,
+plotting,0,24,
+plateau,0,24,
+plant_clothing,0,24,
+plague_doctor_(darkest_dungeon),4,24,
+pixie_(character),4,24,
+pixelzsinful,1,24,
+pippy_(uni_laocorn),4,24,
+piper,4,24,
+pip,4,24,
+pinn_(wanderlust),4,24,
+pinky_(mao_mao),4,24,
+pinklagoon,1,24,
+pinkieinprivate,1,24,
+pink_piercing,0,24,
+pink_cock,0,24,
+pink_bodysuit,0,24,
+pink_anal_beads,0,24,
+pikunamon,4,24,
+pikanodannna,1,24,
+pietro,4,24,
+pierre_(dirtypaws),4,24,
+pidge_(hoot),4,24,
+pickra,4,24,
+pichi_(suirano),4,24,
+picaipii,1,24,
+phyllis_cloverleaf_(mlp),4,24,
+phsueh,1,24,
+phoebe_(1pervydwarf),4,24,
+phew,0,24,
+pheo_(aubrie),4,24,
+phenax,4,24,
+phanterbull,4,24,
+peterandwhitney,1,24,jonathan_ponikvar
+petal_(kinac),4,24,
+pervynamek02,1,24,
+pervyangel,1,24,
+pertinax,4,24,
+persephone_(demonagogue),4,24,
+pern,3,24,
+percival_(fuze),4,24,
+pepper_westerly,4,24,
+pepper_(fuel),4,24,
+pentarch,1,24,
+penis_to_vagina_tf,0,24,
+penelope_white,4,24,
+pegasus_(misterstallion),4,24,
+peekabu,3,24,
+pecs_touching,0,24,
+pearypanda,1,24,peary_c
+peanertgallery,1,24,
+pazuzu,4,24,
+paxredemption,1,24,
+paw_holding,0,24,
+paw_frottage,0,24,
+pattern_pool_toy,0,24,
+patreon_censored,0,24,
+patches_(wanderlust),4,24,
+passigcamel,1,24,
+paranormal,0,24,
+paracanthurus,5,24,"blue_hippo_tang,blue_surgeon_fish,blue_surgeonfish,blue_tang,blue_tang_(fish),blue_tang_fish,flagtail_surgeon_fish,flagtail_surgeonfish,hippo_tang,pacific_regal_blue_tang,palette_surgeon_fish,palette_surgeonfish,regal_tang,royal_blue_tang"
+panty_raid,0,24,
+pandora_pig,4,24,
+pandaranohako,1,24,
+panda_dox,4,24,
+painted_cora,1,24,
+paige_(dreamkeepers),4,24,
+overzen_(characters),3,24,
+oval,0,24,
+out_of_character,0,24,
+oumi,1,24,
+orzero,1,24,
+orphelia,4,24,
+orobas_(artist),1,24,
+orions-tipp,1,24,
+orifice,0,24,
+oral_slit_play,0,24,
+ophie_(dorian-bc),4,24,
+ooo_(oooeygoooey),4,24,
+oob_(character),4,24,
+onlypaws,1,24,
+onisyra,1,24,
+onicristice,1,24,
+oni_horn,0,24,oni_horns
+one_arm_push-up,0,24,
+onde.pingvin,1,24,
+on_throne,0,24,
+on_elbow,0,24,
+on_crate,0,24,
+omzzimeow,1,24,
+ollie_the_otter,4,24,
+olexafox,1,24,
+oguu0319,1,24,
+odia_(aswake),4,24,
+obsidian_(dragon),4,24,
+oatmeal,0,24,
+nyx_(nightfaux),4,24,
+nyrex,4,24,
+nutshot,0,24,
+nurse_lingerie,0,24,
+nsfw-pony,1,24,
+noxia,4,24,
+now_serving,0,24,
+nougat_(character),4,24,
+notenoughpink,1,24,
+nopantsdog,1,24,
+nivawa_and_saitou,3,24,
+nitromethane,1,24,
+nisha_(pocket-sand),4,24,
+nirai,4,24,
+ninna_(ninnasaurio),4,24,
+ninfii_(syst),4,24,
+nine-tailed_fox_(kemono_friends),4,24,"kyubi_(kemono_friends),kyuubi_(kemono_friends),kyuubi_kitsune_(kemono_friends),kyūbi_(kemono_friends),nine_tailed_fox_(kemono_friends)"
+nikolai_zaccarin,4,24,
+niko_duskclaw,4,24,
+nikku_lunatique_(character),4,24,
+nikki_(demicoeur),4,24,
+nikita_(ashnurazg),4,24,
+niisa,4,24,
+nigel_ratburn,4,24,"mr._ratburn,mr_ratburn"
+nidawi,1,24,
+nicohhusky,1,24,
+nibbler,4,24,
+ni_no_kuni,3,24,
+ni-pul,4,24,ni_pul
+nhibao,1,24,
+nft_monkey,4,24,
+nezzux,1,24,
+newt_wolfbuck,1,24,
+neveyk,1,24,
+nether,0,24,
+nestor_(aaron),4,24,
+neros,4,24,
+nerfechi,1,24,
+neopteron,5,24,
+neon_fur,0,24,
+neon_(character),4,24,
+neo,4,24,
+nemuina,5,24,
+nekosuna5115,1,24,
+nekkouwu,1,24,
+nefer_(species),5,24,
+necrothant,1,24,
+nebula64,1,24,
+naughtybynature,1,24,
+naughtybrownies,1,24,
+nathy_(arbuzbudesh),4,24,
+natali,4,24,
+nata_(maxizz),4,24,
+nasal_vore,0,24,
+naoya,1,24,
+naomi_chen,1,24,"gunnerromantic,naomichen"
+nanten,4,24,
+nan_(nightfaux),4,24,
+nambroth,1,24,
+naili_(cyberkaps),4,24,
+nahyon_(character),4,24,
+nahida_(genshin_impact),4,24,
+nagatsuki,1,24,
+myra_(glacierclear),4,24,
+mw,1,24,
+mutton_chops,0,24,
+mushi,4,24,
+muscle_vein,0,24,
+mune_(guardian_of_the_moon),4,24,
+munch_(tribal_hunter),4,24,
+multiple_environments,0,24,
+multicolored_fire,0,24,
+multicolored_crop_top,0,24,
+multi_penis_handjob,0,24,
+mula_(character),4,24,
+mud_mask,0,24,
+mu-wolfmkii,1,24,
+mth_crossgender,0,24,
+mspaintponies,1,24,
+mskah,1,24,
+ms3ktn,1,24,
+ms._lily,4,24,"lily_(scalie_schoolie),ms.lily,ms_lily"
+ms._choco,4,24,
+mrxharlequinn,1,24,
+mrmick,1,24,
+mrdoccon,1,24,
+mrbooblover,1,24,
+mp4ort,1,24,
+moth_antennae,0,24,
+mossist,1,24,
+mort_(madagascar),4,24,
+mort3l,1,24,
+moonwatcher_(wof),4,24,
+moonlight_carbuncle,4,24,
+moominmamma,4,24,
+monkey_bars,0,24,
+monidraws,1,24,
+monet,4,24,
+mondo_media,3,24,
+mondealy,3,24,
+monchichiwa,1,24,
+momiji_the_dolf_(character),4,24,
+momiji_(makuran),4,24,
+mole_on_cheek,0,24,
+molasteak,1,24,
+moka_yume,4,24,
+mochi_tap_wonderland,3,24,
+mith_(furfit),4,24,
+misty_(oc),4,24,
+mistress_sherrie,4,24,
+mistmane_(mlp),4,24,
+mistel_(capaoculta),4,24,
+mismatched_humanoid_pussy,0,24,
+misa_(neonyx),4,24,
+miriam_(bloodstained),4,24,
+mirasuke_inhara,4,24,
+minty_(awful_lad),4,24,
+minina,4,24,
+miniblin,5,24,
+mindwipe,1,24,
+mimmy_white,4,24,mimmy_(hello_kitty)
+mimi_lafloo,4,24,
+mimechan,1,24,
+millhiore_f_biscotti,4,24,
+milk_(character),4,24,
+militia_(thefuckingdevil),4,24,
+milfnir,4,24,
+mikurulucky,1,24,"ladysomnambule,ladysomnambule_(artist),mikurulucky_(artist)"
+miko_kubota,4,24,
+miko_(abz),4,24,
+mikemon,5,24,
+mikachu_tuhonen,1,24,"infamousmustelid,infamousmustelid_(artist),mikachu_tuhonen_(artist),mikachutuhonen,mikachutuhonen_(artist)"
+mika_fadeneir,4,24,
+miji,1,24,
+mickey_(thibbycat),4,24,
+mexicommie,1,24,
+mettaton_ex_(underfell),4,24,
+metta,4,24,
+metal_armor,0,24,
+metadragonart,1,24,
+meru_(moroq),4,24,
+merrie_melodies,3,24,
+mermay,3,24,
+mercurio_(armello),4,24,
+mercilessmeep,1,24,
+mercedes,4,24,
+menu_screen,0,24,
+mentrix,4,24,
+memy,4,24,
+memory_card,0,24,
+mellojellowo,1,24,
+melffy_mommy,4,24,
+mel_doce_(virito),4,24,
+meiko_(vocaloid),4,24,
+meiko_(inuarashi),4,24,
+mega_tyranitar,5,24,
+mega_man_x_(character),4,24,
+meena_(zentt),4,24,
+meek,4,24,
+medusa_(fate),4,24,
+mcgruff_the_crime_dog,4,24,
+mazarku,1,24,
+mayor,4,24,
+mayku_(character),4,24,
+maya_(tasanko),4,24,
+maxwell_hopper,4,24,
+maxwell_(hamtaro),4,24,
+maximus21,1,24,
+maximignon,1,24,scaylid00d
+max_blackrabbit_(character),4,24,
+maundrill,4,24,
+maugrim,4,24,
+matt_(two_best_friends_play),4,24,
+mataki,4,24,
+maski_(author),1,24,
+mashup,0,24,
+mashed_potatoes,0,24,
+mary_silverlock,4,24,
+mary_(dnapalmhead),4,24,
+marshall123x_(artist),1,24,
+marinemarines2,1,24,
+marine_iguana,5,24,"galapagos_marine_iguana,galápagos_marine_iguana,saltwater_iguana,sea_iguana"
+marina_(misterz100),4,24,
+marie_kanker,4,24,
+maria_(alfa995),4,24,
+marco_(imperatorcaesar),4,24,
+march_gustysnows_(mlp),4,24,
+mara_(iseenudepeople),4,24,
+maplespyder_(character),4,24,
+mantis_shrimp,5,24,"prawn_killer,sea_locust,stomatopod,stomatopoda"
+manic47,1,24,ninjaspartankx5
+mandaryn,4,24,
+mancubus,5,24,
+mamaito,1,24,
+malo_1.1,5,24,
+mallory_(magos_rel),4,24,
+makucha,4,24,
+magra_(rezisa),4,24,
+magical_ondine,1,24,
+magical_castle,3,24,
+magic-violet,1,24,
+maggwai,1,24,magwaizzz
+maggie_(lunaris_parukia),4,24,
+madoka_starpunch,1,24,
+machine_penetrated,0,24,
+lynxie_(subtiltycypress),4,24,
+lyka_(neon_purple),4,24,
+luxianne,1,24,
+luvalind_blue,4,24,
+lusus_naturae,5,24,"lusii,lusus"
+lusarthel,1,24,
+lupar,1,24,
+luna_giraffe,4,24,
+lumadelun,1,24,
+lull_(skully),4,24,
+luke_(eye_moisturizer),4,24,
+lukaerd,1,24,
+luiz_(mr_fuwa),4,24,
+luigiman,1,24,
+lufeed,1,24,
+lucile_virmir,4,24,
+luca-chan,4,24,
+lube_on_anus,0,24,
+lovingpony,1,24,
+love_live!_school_idol_project,3,24,
+love_declaration,0,24,
+louis_(left_4_dead),4,24,
+lotus_(joechan1),4,24,
+lost_planet,3,24,
+long_breasts,0,24,
+lolita_channel,1,24,
+lokya,1,24,
+logie_(character),4,24,
+locked_up,0,24,
+lobe-finned_fish,5,24,"sarcopterygian,sarcopterygii"
+llewelyn,4,24,
+lizardbeth_(character),4,24,
+lissy,4,24,
+lipezkaya,1,24,
+lionbun1,1,24,
+linkette_(thatdoggolinkie),4,24,
+linhagen,1,24,
+liminal_spaces,0,24,
+lima_(brushfire),4,24,
+lilya_nida,4,24,
+lily_(sssonic2),4,24,
+lily_(giraffe),4,24,
+lilliane_(lizardlars),4,24,
+lil_doggy_(artist),1,24,
+lil-potion-shop,1,24,
+lightning_chaser,4,24,
+light_spikes,0,24,
+light_ring,0,24,
+light_(world_flipper),4,24,
+librarian_and_student,0,24,
+libra_(lazyhowl),4,24,
+lianne_becker,4,24,
+leylaligress,1,24,
+lewddale,1,24,
+lewd_teacher_(kikurage),4,24,
+letti_(higgyy),4,24,
+les_paul,3,24,
+leon_aokee,4,24,
+leo_abel,4,24,
+leo_(flynx-flink),4,24,
+legion_(character),4,24,
+leg_pull,0,24,
+leaf_dragon,5,24,
+lea_(milkiipetals),4,24,
+lazarus_(maxwellgrym),4,24,lazarus_(lazarus13)
+laure_(alexthecatte),4,24,
+laura_(ironkongstudios),4,24,
+laura_(fvt),4,24,
+larry_(father_of_the_pride),4,24,
+large_sheath,0,24,
+lapino,4,24,
+lani_aliikai,4,24,
+language_barrier,0,24,
+landylyn_(yitexity),4,24,
+land_of_the_lustrous,3,24,"hoseki_no_kuni,houseki_no_kuni,hōseki_no_kuni"
+lance_(radiantblaze),4,24,
+lahmu_(fate),5,24,
+lactating_ink,0,24,
+kyoponi,4,24,
+kyn_skyther,4,24,
+ky'lar_tarrez,4,24,
+kutcher,4,24,
+kurokey,1,24,
+kurogin_(artist),1,24,
+kuro_(nomifuki),4,24,
+kugi,1,24,
+krim_hue,1,24,
+krayxii,1,24,
+krath,4,24,
+kouryuu_densetsu_villgust,3,24,
+kouchainu,1,24,nekomonaka
+koro-sensei,4,24,
+kondas_peter,1,24,
+komiko,1,24,
+kolebania,1,24,
+koko_(luxurias),4,24,
+koi_(artist),1,24,isizuka_sam
+kogamaru,1,24,
+koekje,4,24,
+knox,4,24,
+knives_(yovi),4,24,
+knightashshadowborne,1,24,
+knight_(deepest_sword),4,24,
+klara_(monster_girl_gamu),4,24,
+kitty_tush,4,24,
+kitty1208,1,24,
+kittew,1,24,
+kitteh,1,24,
+kitsuneskyy,1,24,
+kit_airheart,4,24,
+kirilia_(shift),4,24,
+kira_dra_h,1,24,
+kinkycoyote,1,24,
+king_round,4,24,
+kindle_spirit_(eradragon),4,24,
+kimikun4,1,24,
+kimagure_monja,1,24,
+kim_soo_min,4,24,
+kikisinkspray,1,24,
+kiki_(nekopumpkin),4,24,
+kiki_(felino),4,24,
+kidsune,4,24,
+kibazoku,1,24,
+khora_(warframe),4,24,
+kharu,4,24,
+kfz114514,1,24,
+kezime,1,24,
+kevin_(disambiguation),4,24,kevin
+kerydragon,1,24,
+kers,4,24,
+kenta-san,1,24,
+kenshiro,4,24,
+kennykitsune,4,24,
+ken_cougr_(character),4,24,
+kemonahi,1,24,
+kemohero,0,24,
+keith_(monsieurkeit),4,24,
+kaysa99,1,24,
+kayla_(phoenix777),4,24,
+katya_(pistolpete),4,24,
+katrin,4,24,
+katinka_vexoria,4,24,
+kari_(0laffson),4,24,
+karhumies,1,24,
+karen_the_fox_(mexicommie),4,24,
+kanta_the_invincible,1,24,
+kalira,1,24,
+kalani_(9tales),4,24,
+kala_(buxbi),4,24,
+kakapo,5,24,
+kaia_(truekaia),4,24,
+kai_the_dewott,4,24,
+kai_(sheepuppy),4,24,
+kai_(mynka),4,24,
+kacheek,5,24,
+k/da,3,24,
+k-y_jelly,3,24,ky_jelly
+jurij_bajer,1,24,
+junn,4,24,
+juniper_skunktaur,4,24,
+julia_belle,4,24,
+juggy_topps,4,24,
+judo_(musclegutdaddy),4,24,
+judo_(bluey),4,24,
+jose_calixto,4,24,
+jojoesart,1,24,
+johmn,4,24,
+jocasta_(dogsmith),4,24,
+jinxy_falina,4,24,
+jinti,4,24,
+jimmy_corsac,4,24,
+jim_(jmh),4,24,
+jill_(joaoppereiraus),4,24,
+jibril,4,24,
+jessica_(aj_the_flygon),4,24,
+jerking_off_hand_motion,0,24,
+jenna_morgan,4,24,
+jen_(shutupjen),4,24,
+jemma_(jingx1),4,24,
+jde_ringtail,4,24,
+jaz_(redmoon83),4,24,
+jaycemonde,3,24,
+jay_(jaythefox333),4,24,
+jat_(thepatchedragon),4,24,
+jasper_(scappo),4,24,
+jake_(disambiguation),6,24,jake
+jake_(cavix),4,24,
+jaila,4,24,
+jaguar_(zootopia),4,24,
+jafar_(disney),4,24,
+jade_(tits),4,24,
+jacqueline_crowlie_(feldspartan),4,24,
+jackie_wilson,4,24,
+jack_of_hearts,0,24,
+jack_hunter,4,24,
+jack_(nepentz),4,24,
+izanagi,4,24,
+ivynathael_(artist),1,24,
+ivorystain,1,24,
+itsredcreator,1,24,
+itoril,1,24,itoril_(artist)
+itchy_itchiford,4,24,
+itch,0,24,
+itazura_kanemura,4,24,
+isoink,1,24,
+isabella_(coc),4,24,isabella_(corruption_of_champions)
+iris_(zepompom),4,24,
+irida_(pokemon),4,24,irida_(pokémon)
+insomnia,0,24,
+insignium,4,24,
+initial_d,3,24,
+inimus,1,24,
+inazuma_eleven_go,3,24,
+inanimate_insanity,3,24,
+impventure,0,24,
+implied_lesbian,0,24,
+impersonation,0,24,
+imobi,1,24,
+imminent_explosion,0,24,
+imminent_bukkake,0,24,
+iluq,1,24,
+iku-t0,1,24,
+icyfoxy,4,24,
+icicle_(character),4,24,
+ichthyosaur,5,24,
+ichorynth,5,24,
+icefoxx,4,24,
+ice_bucket,0,24,
+ice-hero,1,24,
+hyenas_dream_arts,1,24,
+hyaenodontid,5,24,
+hutoumei,1,24,
+hurt_expression,0,24,
+humpback_whale,5,24,
+human_princess,4,24,
+hoyeechun,1,24,
+howan_(show_by_rock!!),4,24,
+hound_wolf,1,24,
+host_hu,1,24,
+hoshi_(artist),1,24,
+hose_in_pussy,0,24,
+horuko_(mukutamukumuku),4,24,
+horseback_riding,0,24,
+hopelessness,0,24,
+hoof34,1,24,
+honey_(artca9),4,24,
+holo_(argorrath),4,24,
+hollyk,1,24,
+holly_(juicydemon),4,24,
+holding_mistletoe,0,24,
+holding_laboratory_glassware,0,24,
+holding_envelope,0,24,
+holding_bikini_bottom,0,24,
+holding_banana,0,24,
+hockless_socks,0,24,
+ho-oh_(artist),1,24,
+hnav,1,24,
+hira_(kimero_kat),4,24,
+himeko_mashima,4,24,
+hikerumin,1,24,
+hidden_content,0,24,
+hibernotion,1,24,
+hexfloog,1,24,
+hemo_the_alchemist,4,24,
+helm_(thehelmetguy),4,24,
+hellgoddess,1,24,
+heilos,1,24,
+hector_(firstloli),4,24,
+heavy_musk,0,24,
+heart_earrings,0,24,
+headwrap,0,24,
+head_gear,0,24,
+haz,4,24,
+haywood,4,24,
+hawkward,4,24,
+hastured_cake,1,24,
+harvey_(lysergide),4,24,
+harryharold,1,24,
+happy_holidays,0,24,
+happy_halloween,0,24,
+happstablook,4,24,
+hanuman_(tas),4,24,
+hanging_plant,0,24,
+hands_on_own_shins,0,24,
+hands_on_foot,0,24,
+handgunboi,1,24,
+hand_under_head,0,24,
+hand_on_own_balls,0,24,
+hand_on_dildo,0,24,
+hand_on_clothing,0,24,
+hand_on_another's_penis,0,24,
+hammy_(over_the_hedge),4,24,
+hal_(compfive),4,24,
+hakuoro,4,24,
+hairless_butt,0,24,
+haazbrinken,1,24,
+gwyndolin,4,24,
+guywiththepie,1,24,
+guiltytits,1,24,
+guillermo_del_toro,3,24,
+gugu-troll,1,24,
+guame_(gurren_lagann),4,24,
+gruntchovski,1,24,
+grung,1,24,
+grimmi,4,24,
+grim_tales_from_down_below,3,24,
+grim-kun,1,24,
+griffon_vulture,5,24,
+gretel_(cobatsart),4,24,
+greenfireartist,1,24,alexart1275
+green_sofa,0,24,green_couch
+green_makeup,0,24,
+green_eyelashes,0,24,
+green_belt,0,24,
+great_nix_fox,1,24,
+graventhax,1,24,
+grape_(wandering_lizardfolk),4,24,
+granoa,4,24,
+grand_piano,0,24,
+grabby_hands,0,24,
+goshawk,5,24,goswhawk
+gorgonzola,4,24,
+gompriest,1,24,
+golt,0,24,
+goldfur's_cogsverse,3,24,
+goldenrod_(artist),1,24,
+goldenrod,4,24,
+goldenbuckles,1,24,
+gold_hair_ornament,0,24,
+gold_dildo,0,24,
+gogeta,4,24,
+god_wanko,1,24,
+goatboy,1,24,
+go_dog_go!_(series),3,24,
+glowing_precum,0,24,
+glowing_heart,0,24,
+glowing_bracelet,0,24,
+glowing_armor,0,24,
+glistening_saliva,0,24,shiny_saliva
+glenn_(character),4,24,
+gix_nightstalker,4,24,
+gio_(da_goop),4,24,
+gio_(cadaverrdog),4,24,
+gingerbread_house,0,24,
+giggi,5,24,
+giganaut,1,24,
+ghost_(wolfpack67),4,24,
+ghost_(character),4,24,
+ghidori,4,24,
+geta_(aeznon),4,24,
+genesis_chrysocyon,4,24,
+genesis,4,24,
+gendoempertags,1,24,
+gaspar_(asderzx),4,24,
+gantus_(furryfight_chronicles),4,24,
+game_cover,0,24,
+gall,1,24,
+gabrielle_(gangstaguru),4,24,
+gabe_goat,4,24,
+gabbslines,1,24,
+fwuffyfurry,1,24,
+fuzz,0,24,
+futuregalaxea,1,24,
+futomomomoe,1,24,
+furrytan,1,24,
+furry_fandom,0,24,
+furrlex,1,24,
+furcon,0,24,
+furanh,1,24,
+full_nelson_(arms_held),0,24,
+frostypuppy,1,24,
+front_horn,0,24,
+froggywithfries,1,24,fappywithfries
+frisky,4,24,
+frilly_garter,0,24,
+friesian_(kemono_friends),4,24,"friesian_cattle_(kemono_friends),holstein_(kemono_friends),holstein_friesian_cattle_(kemono_friends)"
+frieda_(icma),4,24,
+frictional_sound_effect,0,24,
+freya_vix,4,24,
+frenchie_(greycat_r),4,24,
+free_hugs,0,24,
+foxxz,4,24,
+foxstar,4,24,
+foxeye,4,24,
+fox_ear,0,24,
+foot_on_knee,0,24,
+foot_on_ankle,0,24,
+food_in_urethra,0,24,
+folxmon,4,24,
+fn_fal,0,24,
+flutter,4,24,
+fluffysteambunny,1,24,
+flower_tail,0,24,
+flower_bracelet,0,24,
+flow_(splatoon),4,24,
+florida,0,24,
+flin,4,24,
+fleetway,3,24,
+flecks,1,24,
+flatrat,1,24,
+flaming_fur,0,24,
+fjoora_(artist),1,24,
+firon_(puzzle_and_dragons),4,24,"firon_(p&d),firon_(puzzle_&_dragons)"
+fiona_(flight_rising),4,24,
+filolial,5,24,
+filbo_fiddlepie,4,24,
+feralfelony,1,24,
+feo_ul,4,24,
+fennex,1,24,
+fencing_foil,0,24,
+felony_(feral.),4,24,
+felixgryphon,4,24,
+feerone,1,24,
+feef,4,24,
+feces_on_breasts,0,24,
+feather_accessory,0,24,
+fearsfortears,1,24,
+fawful,4,24,
+fattytober,3,24,
+fangmon,5,24,
+falrissa_lothe,4,24,
+falchion,0,24,
+failed_attempt,0,24,
+fahada,4,24,
+face_closeup,0,24,
+fa20xx,1,24,
+ezequiel,4,24,
+existenc3,1,24,
+exercise_ball_dildo,0,24,
+exasperated,0,24,
+evil_counterpart,0,24,
+evan_(cloud_meadow),4,24,
+european_hare_(kemono_friends),4,24,brown_hare_(kemono_friends)
+eugene_(animal_crossing),4,24,
+etherwuther,1,24,
+ethelas,1,24,
+eth_(artist),1,24,
+espimon,5,24,
+esofaoul_(character),4,24,
+eskaria145,1,24,
+escort,0,24,
+escape_from_tarkov,3,24,
+erich_von_talonitz,4,24,
+equine_satyr,5,24,
+equid_satyr,5,24,
+eocvevo,1,24,
+entwined_legs,0,24,"entwined_leg,entwining_leg,entwining_legs,interlaced_leg,interlaced_legs,interlacing_leg,interlacing_legs,interlinked_leg,interlinked_legs,interlinking_leg,interlinking_legs,interlocked_leg,interlocked_legs,interlocking_leg,interlocking_legs,intertwined_leg,intertwined_legs,intertwining_leg,intertwining_legs,leg_entwined,leg_entwining,leg_interlaced,leg_interlacing,leg_interlinked,leg_interlinking,leg_interlocked,leg_interlocking,leg_intertwined,leg_intertwining,leg_twined,legs_entwined,legs_entwining,legs_interlaced,legs_interlacing,legs_interlinked,legs_interlinking,legs_interlocked,legs_interlocking,legs_intertwined,legs_intertwining,legs_twined,twined_leg,twined_legs"
+entity,5,24,
+entey_(fursona),4,24,
+ena_(achakura),4,24,
+emma_fletcher,4,24,
+emma_(chocochu),4,24,
+emilysome,1,24,
+ember_starwillow,4,24,
+elmont,1,24,
+ellisarts,1,24,
+ellie_(disambiguation),4,24,ellie
+ellia_(shift),4,24,
+elise,4,24,
+elemental_hero_neos,4,24,
+electrode_on_breasts,0,24,
+electrocardiogram,0,24,
+eldrazi,5,24,
+eldelascosquillas,1,24,
+elbow_gloves_only,0,24,
+elastic,0,24,
+eirin_yagokoro,4,24,yagokoro_eirin
+eggs_(salamikii),4,24,
+eggplants,1,24,
+egg_in_nipples,0,24,
+edsomez,1,24,
+edragar,4,24,
+edel_(azelyn),4,24,
+eddy_hare,4,24,
+eclipser,1,24,
+echolocaution,3,24,
+echo_(notsafeforweh),4,24,
+echo_(jurassic_world),4,24,
+ebony_(blitza),4,24,
+earth_manipulation,0,24,"dirt_magic,earth_bending,earth_doton,earth_element_control,earth_magic,earth_release,earthbending,geo_kinesis,geokinesis,mud_magic,rock_magic,seismo_kinesis,seismokinesis,terra_kinesis,terrakinesis"
+earth_(plaguedogs123),4,24,
+ear_jewelry,0,24,
+eagle_orion,4,24,
+e.m.m.i.,4,24,
+dyani,4,24,
+duuz_delax_rex,4,24,
+durarara!!,3,24,
+dungeons_and_dragons_(animated),3,24,
+dudewhatthefuck_(artist),1,24,
+dualberettas,1,24,
+dtfrisk345,1,24,
+drucifer,4,24,
+drooped_ears,0,24,
+drooling_pre,0,24,
+drifting,0,24,
+drew_(drewbat),4,24,
+drew_(barabird),4,24,
+drekkorwolfsoul,1,24,
+dreiker_(character),4,24,
+dreamous,4,24,
+drax_the_destroyer,4,24,
+dragonmassiel,4,24,
+draconic_burners,1,24,
+doug_(ews),4,24,
+donna_(milkbrew),4,24,
+donkey_kong_country_2,3,24,
+donation_message,0,24,
+dominion69,1,24,
+dokri,5,24,
+dojerodesigns,1,24,
+dogu,1,24,
+dogbit,1,24,
+dj_hazardous,4,24,
+dixydelightful,1,24,
+disk,0,24,
+disgruntled_(artist),1,24,
+disembodied_wings,0,24,
+disembodied_legs,0,24,
+discorded,0,24,
+discarded_weapon,0,24,
+discarded_briefs,0,24,
+dipingxiangtr.d,1,24,
+dink_the_little_dinosaur,3,24,
+dingyote,1,24,sachicoon
+dimitri_(sinistermongoose),4,24,
+difis,1,24,
+dickwolf,5,24,
+diane_(drako1997),4,24,
+diana_(sailor_moon),4,24,
+diana_(jamearts),4,24,
+dialated_pupils,0,24,
+diagamon,1,24,
+diabolusridens,1,24,
+devilstophat,1,24,
+derpibooru,3,24,
+dereck_dingo,4,24,
+deputy_rust,1,24,
+deodorant,0,24,
+dentist_(artist),1,24,
+denim_jeans,0,24,
+dendoro,1,24,
+dena_bunny,4,24,
+demalyx,4,24,
+delsin_(jush),4,24,
+defenestration,0,24,
+defecating,0,24,
+deepspacebug,1,24,"chittercg,chittercg_(artist),deepspacebug_(artist)"
+dee_dee,4,24,
+debbita,4,24,
+deaux_(bloominrose),4,24,
+deadpotato,1,24,
+de.su,1,24,
+ddlg,0,24,
+davias00,1,24,
+dauntless,3,24,
+dathomirian,5,24,
+darth_maul,4,24,
+darkprincess04,1,24,
+darkestmbongo,1,24,
+darkdukewolf,1,24,
+dark_nz,4,24,
+dark_cloud,3,24,
+dariuswhitefur,4,24,
+darellzark_(artist),1,24,
+darell-sama,1,24,
+darcie_(yeagar),4,24,
+danny_(bluewulv),4,24,
+daniel_porter_jr.,4,24,
+damaris_reunallat,4,24,
+damalu,1,24,
+dalmin,5,24,
+dakotaraptor,5,24,
+dakota_(serarel),4,24,
+dakota_(cavix),4,24,
+daigasso_band_brothers,3,24,
+dahn,4,24,
+daebelly,1,24,
+daddy_topps,4,24,"cera's_dad,ceras_dad,daddy_tops,mister_three_horn,mister_threehorn,mr._three_horn,mr._threehorn,mr_three_horn,mr_threehorn,topps_(land_before_time),topps_(lbt),topps_(the_land_before_time),topps_(tlbt),toppsy_(land_before_time),toppsy_(lbt),toppsy_(the_land_before_time),toppsy_(tlbt),tops_(land_before_time),tops_(lbt),tops_(the_land_before_time),tops_(tlbt),topsy_(land_before_time),topsy_(lbt),topsy_(the_land_before_time),topsy_(tlbt)"
+dad_joke,0,24,
+da1k1ra,1,24,
+d-pad_(whitewolf20xx),4,24,
+cyth_(artlegionary),4,24,
+cyrano_(animal_crossing),4,24,
+cyan_hooves,0,24,
+cyan_(among_us),4,24,
+cuson,1,24,
+curlypie,1,24,
+cupping_cheek,0,24,
+cum_play,0,24,
+cum_on_stockings,0,24,
+cum_on_own_sheath,0,24,
+cum_between_toes,0,24,
+crying_child_(fnaf),4,24,
+cryena,1,24,
+crybitur,1,24,
+crown_of_thorns,0,24,
+crosswind,4,24,
+cropped_tank_top,0,24,
+cronum,1,24,
+crisisaura,1,24,
+cri-c4t,1,24,
+cresxart,1,24,
+cremia,4,24,
+creamylewds,1,24,
+cream_(repomorame),4,24,
+cowqet,4,24,
+cow_ears,0,24,
+cottontail_rabbit,5,24,"cotton_tail_rabbit,sylvilagus"
+cordelia,4,24,
+corbin,4,24,
+constance_(scataraxia),4,24,
+constance_(glopossum),4,24,
+consentual,0,24,
+coming_out,0,24,
+colored_underwear,0,24,
+colored_pupils,0,24,
+colonel-strawberry,1,24,
+collection_cup,0,24,
+cole_(nitw),4,24,
+cole_(disambiguation),4,24,
+coldersy,1,24,
+cog,0,24,
+coffeelove68,1,24,
+coelophysis,5,24,
+codename:_kids_next_door,3,24,kids_next_door
+cocoa_(toba),4,24,
+cock_on_breasts,0,24,
+cmy2k,1,24,
+closetcanibal,1,24,
+clopmaestroman,1,24,
+clitoral_penetration,0,24,
+clear_sky_(mlp),4,24,
+clarinet,0,24,
+clarice_(pokyuii),4,24,
+claire_(akitokit),4,24,
+cj_(jelomaus),4,24,
+citrina,4,24,
+circular_saw,0,24,
+circuit_board,0,24,
+cipher_(zerohours),4,24,
+cinnkin,1,24,
+cinnamonrug,1,24,
+cinnamon_(sinamuna),4,24,
+cinderella,4,24,
+cinder_fall,4,24,cinder_fall_(rwby)
+chuunibyou_demo_koi_ga_shitai!,3,24,
+chrono_bluewing,4,24,
+chromie_(warcraft),4,24,
+christie_(doa),4,24,
+christian_weston_chandler,4,24,
+chris_sketch,1,24,
+chompa_(character),4,24,
+chocoscorner,1,24,
+chocobo_(series),3,24,
+cho!cho!,1,24,
+chizi_(character),4,24,
+chise_hatori,4,24,
+chika_(denyfake),4,24,
+chicken_thief_(hexteknik),4,24,farm_raider_(hexteknik)
+cheren_(pokémon),4,24,cheren_(pokemon)
+chef_cheiro_(artist),1,24,
+cheer_bear,4,24,
+cheekles,1,24,
+checker_pattern,0,24,
+cheaty_(opqhlak),4,24,
+chataya,4,24,
+chase_shinien,1,24,
+chase_(chasedatotter),4,24,
+charonnix,1,24,
+charmandrigo,1,24,
+charlotte_carlota,4,24,
+charliemcarthy,1,24,
+charco,1,24,
+character_off_screen,0,24,
+char_(character),4,24,
+chao_pyon_pyon,4,24,
+chandraken,1,24,
+chakisuu,1,24,
+chainsword,0,24,
+chad_(black-kitten),4,24,
+cervine_antlers,0,24,
+cere'qul_(rokoka),4,24,
+cephalopussy,0,24,
+centorea's_mother_(monster_musume),4,24,
+centipede_humanoid,5,24,
+celia,4,24,
+celeste_(s0c0m3),4,24,
+cecildeatrio,1,24,
+cdt2s,1,24,
+catboyjail,1,24,
+cat_noir,4,24,
+cat_n1p,1,24,
+cat_boy,0,24,
+cashmere_(artist),1,24,
+cartoon_gloves,0,24,
+carl_gould,4,24,
+carine_(character),4,24,
+cardboard_cutout,0,24,
+carbon_fiber,0,24,
+caramel_(insomniacovrlrd),4,24,
+carafalsa,1,24,fakerface_(artist)
+cara_mitten,1,24,
+captain_mooncat,1,24,
+captain_hopp,4,24,
+capricorn_(zodiac),4,24,
+capri_pants,0,24,
+cap'n_(deltarune),4,24,
+canine_tail,0,24,
+camilla_(igph),4,24,
+calloway_calversian,4,24,
+callistofox,1,24,callistokitsune
+caleb_(fuze),4,24,
+calamity_salers,4,24,
+calamity_(chalchiotlique),4,24,
+calamath_(himynameisnobody),4,24,
+cai_(notsafeforweh),4,24,
+caerulus,4,24,
+cactua,1,24,
+c0draw,1,24,
+byakkotiggeh,4,24,
+byakkotig,1,24,
+bxhrd,1,24,
+buzzling,4,24,
+buttface,0,24,
+butt_hat,0,24,
+bushwoolies,5,24,
+bullet_casing,0,24,
+bular,4,24,
+buick_skylark,1,24,
+bugatti,3,24,
+bugafterdark,1,24,
+buffalo_bull_(orix_buffaloes),4,24,
+buffalo_(kink),4,24,
+buck_(catastrophe),4,24,
+bubble_helmet,0,24,
+bruhsugga,1,24,
+brozoi,1,24,
+brown_tank_top,0,24,brown_tanktop
+brown_outerwear,0,24,
+brown_ear,0,24,
+brown_dildo,0,24,
+broken_object,0,24,
+brock_pearson,4,24,
+brittany_(monarquis),4,24,
+brigitte_(overwatch),4,24,
+bright_(character),4,24,
+brent_abbott,4,24,
+brene_(infinitydoom),4,24,
+breeze_(tajem),4,24,
+breast_to_breast,0,24,
+brandy_(virushunter),4,24,
+brandon_(ok_k.o.!_lbh),4,24,"brandon_(ok_k.o!),brandon_(ok_k.o),brandon_(ok_k.o.!),brandon_(ok_k.o.!_let's_be_heroes),brandon_(ok_k.o.!_lets_be_heroes),brandon_(ok_k.o.),brandon_(ok_k.o._lbh),brandon_(ok_k.o._let's_be_heroes),brandon_(ok_k.o._lets_be_heroes),brandon_(ok_k.o_lbh),brandon_(ok_k.o_let's_be_heroes),brandon_(ok_k.o_lets_be_heroes),brandon_(ok_ko!),brandon_(ok_ko!_lbh),brandon_(ok_ko!_let's_be_heroes),brandon_(ok_ko!_lets_be_heroes),brandon_(ok_ko),brandon_(ok_ko_lbh),brandon_(ok_ko_let's_be_heroes),brandon_(ok_ko_lets_be_heroes)"
+box_cutter,0,24,
+bowrbbear,1,24,
+bow_kori,4,24,
+bow_bottomwear,0,24,
+bouncing_bed,0,24,
+boss_fight,0,24,
+boonieboo0,1,24,
+booki_(character),4,24,
+bonnie_(my_life_with_fel),4,24,
+bonnie_(dirkstridoritos),4,24,
+bonesandfeathers,1,24,
+bodystocking,0,24,
+bodyslam,0,24,
+body_stickers,0,24,
+body_builder,0,24,
+boater_hat,0,24,
+bo4a,1,24,
+blush_face,0,24,
+bluevon,1,24,
+bluetick_coonhound,5,24,
+blueberry_(artist),1,24,
+blueberry_(apinkgrape),4,24,
+bloowolfy,1,24,
+bloody_bunny,4,24,
+blood_string,0,24,
+blixer,4,24,
+blaster_pistol,0,24,
+blanket_grab,0,24,
+blackpaw,4,24,
+blackm3sh,1,24,
+blackhornet,1,24,
+blackeevee,1,24,
+blackadder,1,24,
+black_swimming_trunks,0,24,
+black_serafuku,0,24,
+black_cheeks,0,24,
+black_cat_(colo),4,24,
+bix707,1,24,
+biting_object,0,24,
+bitesize,4,24,
+bites_(squishy),4,24,
+biru_(diamonsion),4,24,
+birman_cat,5,24,
+birdofgrain,1,24,
+biphony_(rubbish_chameleon),4,24,
+biotics,0,24,
+bino,4,24,
+big_navel,0,24,
+big_moth_bro,4,24,
+biche,1,24,
+beta_morgana_(persona),4,24,
+berurun,5,24,bellboyant
+berrythedragon,1,24,
+berry_wabeet_(slb),4,24,
+bernie_(demdoe),4,24,
+beringel_(rwby),5,24,
+bergmite_(elpatrixf),4,24,
+bent_backwards,0,24,
+beluga_damiens,4,24,
+bellna,4,24,
+behemoth_(dauntless),5,24,
+beepsweets,1,24,
+becka,4,24,
+bechamel_(puffquff),4,24,
+bec_blanche,4,24,
+beau_(markwulfgar),4,24,
+beastrancers,3,24,
+beast_(pikmin),5,24,
+bear_(game),3,24,
+bbwpokedex,1,24,
+bb_(fate),4,24,
+battle_beast,3,24,
+batman_vs._teenage_mutant_ninja_turtles,3,24,
+batboy,4,24,
+basalt_(inkplasm),4,24,
+barry_cox,4,24,
+baron_puddin_paws,1,24,baronpuddinsplace
+barley_(wonderslug),4,24,
+barbara_the_bat,4,24,
+bangboodoragon,1,24,
+bandaged_face,0,24,
+balloon_popping,0,24,
+ball_punching,0,24,
+balasar_(character),4,24,
+bakari_(character),4,24,
+baggy_bottomwear,0,24,
+baby_tiragon,4,24,
+baby_looney_tunes,3,24,
+b0rn_t0_die,1,24,
+azzul,4,24,
+azurioad,1,24,
+azure_(nekocrispy),4,24,
+azurai,4,24,
+azura_(fyoshi),4,24,
+azon_azimuth,4,24,
+ayyk92,1,24,
+aya,4,24,
+axel_hell,1,24,
+avalon_(avali),0,24,
+atronach,5,24,
+atomic_bomb,1,24,
+aten_(ratte),4,24,
+atari_mitsuku,1,24,
+asvinkart-34,1,24,
+asuros,1,24,
+astral_girl,1,24,
+asskoh,1,24,
+ass-stalker,1,24,
+aspen_(klayter),4,24,
+aspect_of_lust,4,24,
+asmartboy,1,24,
+ashee_cakes_(ashee),4,24,
+ash_graven_(final_space),4,24,
+arrowshady,1,24,
+arms_on_breasts,0,24,
+armlet_(marking),0,24,
+arm_under_breast,0,24,
+arm_at_side,0,24,
+arm_around_legs,0,24,
+arietesthedeer,4,24,
+ares165,1,24,
+areola_outline,0,24,
+arcturas_callahan,4,24,
+arcticneu,1,24,ノーイ
+arcenaux,4,24,
+arcana_heart,3,24,
+arcana,4,24,
+arcadius0505,1,24,
+arabic,0,24,
+aonik,1,24,
+anya_(droll3),4,24,
+anthromage,1,24,
+anthro_penetrating_ambiguous,0,24,
+anthony_stone,4,24,
+anor_nikimura,4,24,
+annvee,1,24,
+annie_(mochashep),4,24,
+anna_puma,4,24,
+anna_(kayla-na),4,24,
+anjogatobr,1,24,
+anisava,3,24,
+animal_birthing_human_baby,0,24,
+angela_(walter_sache),4,24,
+angel_links,3,24,
+angel_grimalkin,4,24,angel_(purrfect_apawcalypse)
+anekhmet,4,24,
+andre_taslim,4,24,
+andie,4,24,
+ancestralpotato,1,24,
+anarietta,1,24,
+anaconda_(song),3,24,
+ana_(shadowtrickss),4,24,
+amy_sharkiri_(character),4,24,
+amy_kupfer,4,24,
+amunet_(ducktales),4,24,
+amorecadenza,1,24,
+amby,1,24,
+ambrose_stark,4,24,
+amberblaze,1,24,
+amber_fur,0,24,
+amber_(orgunis),4,24,
+amber_(cafe_plaisir),4,24,
+amarok_black_(character),4,24,
+alphs,1,24,
+alopex_(tmnt_2012),4,24,
+alma_(elfdrago),4,24,
+alli_the_luxray,4,24,
+all_might,4,24,
+all-starwarriors,1,24,
+alkipunch,1,24,
+alicefrainer,1,24,
+alfred_alfer,4,24,alfred_alfie
+alexis_bishop_(lildredre),4,24,
+alejandro_(xenoforge),4,24,
+alarm_cock,0,24,
+akr,1,24,
+akitakacbr,1,24,
+akemi_(character),4,24,
+akaighoul,1,24,
+aiyana,4,24,
+aisukuriimu,4,24,
+airotf,1,24,
+aimyneko,1,24,
+aigis_(persona),4,24,
+ahmenset,4,24,
+agitated,0,24,
+agentdiego007,3,24,
+afoxinabox,1,24,
+adventure_chica_(fnaf),4,24,
+adrian_(snowstormbat),4,24,
+adam_(gvh),4,24,
+adalore,1,24,
+acordviridis,4,24,
+acidskunkwolf,1,24,
+acci,1,24,
+abyssalchimo,1,24,
+abyssa,1,24,
+abysmal0,1,24,
+aburaage,0,24,
+absurd_dumbbell,0,24,
+abathur_(starcraft),4,24,
+aarondrawsarts,1,24,
+aanthony_(artist),1,24,
+88grzes,1,24,
+404bot,1,24,havoc
+3drb,0,24,
+3_nipples,0,24,
+343_industries,3,24,
+2_talons,0,24,
+28gooddays,1,24,
+19:20,7,24,
+15:17,7,24,
+13titoazazel,1,24,
+1235_(artist),1,24,
+11:16,7,24,
+10_nipples,0,24,
+102_dalmatians,3,24,
+023,1,24,
+zuzulf,4,23,
+zuul_(ulfhednar),4,23,
+zulie_(vareoth),4,23,
+zoyler_(character),4,23,
+zoroak88,1,23,
+zola_(etrius_van_randr),4,23,
+zol_(naniwacomteg),1,23,
+ziz_(artist),1,23,
+zivvles,4,23,
+zipper_hoodie,0,23,
+zinny_(scalesindark),4,23,
+zik,4,23,
+zetsho,1,23,
+zeta_(fluff-kevlar),4,23,
+zeso_(itari),4,23,
+zero_(kitsunezero),4,23,
+zenva,4,23,
+zell_usagi,4,23,
+zasshu,1,23,
+zaruku,1,23,saruku_(サルク)
+zantra_(character),4,23,
+zack_(pundercracker),4,23,
+z-t00n,1,23,
+yvonne_(ritts),4,23,
+yuyuko_saigyouji,4,23,saigyouji_yuyuko
+yuyami_gaoka,1,23,
+yunartsn,1,23,
+yournightlydesires,1,23,
+you_are_umasou,3,23,
+yora,1,23,
+yokogami,1,23,
+yigyuki,1,23,
+yiffler,1,23,
+yiff_field_technology,0,23,
+yenoc,4,23,
+yattermang,1,23,
+yamikadesu,3,23,
+yamato_burr,4,23,
+yamasan,1,23,
+yakyarts,1,23,
+y_r_k_4,1,23,
+y_(doneru),4,23,
+xtermination,1,23,
+xranzem,1,23,
+xiao_(chimangetsu),4,23,
+xeánica,4,23,xeanica
+xerneas_(neutral_mode),5,23,"neutral_mode_xerneas,neutral_xerneas,xerneas_(neutral),xerneas_neutral_mode"
+xenon_archer,4,23,
+xena_warrior_princess,3,23,
+xartknight,1,23,
+wyatt_the_fox,4,23,
+wulfusweid,1,23,
+writing_on_self,0,23,
+wristlet,0,23,
+wrestling_belt,0,23,
+wolfi-hitory,1,23,
+wolfgang_von_kraftman,4,23,
+wolfenfury,1,23,
+wolfalon_(analon),4,23,
+wittnv,1,23,
+wire_(character),4,23,
+winnigrette,1,23,
+wilt,4,23,
+willian_shion,1,23,
+wildtail_(artist),1,23,
+wildberry-poptart,1,23,
+wikipedia,3,23,
+wiggler_(mario),5,23,
+wiener-fag,1,23,
+wicpers,1,23,
+whoa_nelly_(mlp),4,23,
+whitetail-designs,1,23,
+whitedragon103,1,23,
+whiteboard_marker,0,23,
+white_kimono,0,23,
+white_helmet,0,23,
+whirlipede,5,23,
+whenwolvescryout,1,23,
+when_you_see_it,0,23,
+wergis,1,23,
+werew0lfyiff,1,23,
+werepuppy,1,23,deathpuppy
+werecervid,5,23,
+weisdrachen,1,23,broke-pegasus
+weeeeps,1,23,
+wavemaster,4,23,
+watergazer_wolf,1,23,
+warrnet_(character),4,23,
+warriorcunt,1,23,
+walnusstinte,1,23,
+waero,1,23,
+vullaby,5,23,
+vrischika,4,23,
+vox_(lithiumred),4,23,
+voronoi,1,23,
+vorelord_(character),4,23,
+vonder,4,23,
+volume,0,23,
+volkmar,4,23,
+volcanion,5,23,
+voidsylphid,1,23,
+vladimir_(disambiguation),4,23,vladimir
+vixys,4,23,
+vixxier,1,23,
+vivianne_(neerishia),4,23,
+vitamin_connection,3,23,
+vitamin_(species),5,23,
+visibel,1,23,
+virus,4,23,
+virian_(trigaroo),4,23,
+vinnie_(starbearie),4,23,
+vincewolf,1,23,
+vince_(angellove44),4,23,
+vin_(tanith),4,23,
+villainshima,4,23,
+viewtiful_joe_(series),3,23,
+victoriana,0,23,
+victoria,4,23,
+vhitany,1,23,
+veskie,4,23,
+veronica_(disambiguation),6,23,veronica
+vergence,4,23,
+vera_(mlp),4,23,
+vendant,1,23,
+velvetine,4,23,
+velvet_(velvetomo),4,23,velvetomo_(character)
+veevobyte,1,23,"shishibyte,shishibyte_(artist),veevobyte_(artist)"
+varossion,4,23,
+varanidius,1,23,
+varagod,1,23,
+vanir,4,23,
+vam,5,23,
+valcyrie,4,23,
+vahnfox_(character),4,23,
+vaginal_transfer,0,23,
+vaginal_knot_hanging,0,23,
+vacant_eyes,0,23,
+used_tissue,0,23,
+ursid_taur,5,23,"bear_taur,beartaur"
+uranus_(plaguedogs123),4,23,
+up_to_window,0,23,
+unnamed_old_ram_(furfragged),4,23,
+unknown_language,7,23,
+unguligrade_hands,0,23,
+undone_shirt,0,23,
+underwear_around_thighs,0,23,
+undercover,0,23,
+un_do,1,23,
+umbreonthewhovian,1,23,
+umbrella_drink,0,23,
+ulyssia,4,23,
+ultradog_(undertale),4,23,
+ultima_weapon,4,23,
+ulbandi,1,23,ublandi
+uga_buga,4,23,
+tyson_clawing,4,23,
+tyrvari,5,23,
+tyrrain,4,23,
+tyins_darkwulf,4,23,
+tydrian_(character),4,23,
+two_tone_stripes,0,23,
+twinkie,3,23,
+twarda8,1,23,
+tutankabron2uv,1,23,
+tundra_(polarlights),4,23,
+tumbler,0,23,
+tukk_ordo,4,23,
+tukino,1,23,
+tsurime,0,23,
+troya_jackson_(eradragon),4,23,
+troubled_(artist),1,23,
+trixie's_mom_(idw),4,23,"showcase_(idw),spectacle_(idw),trixies_mom_(idw)"
+triclops,5,23,
+triangle_(musical_instrument),0,23,
+trexpel,1,23,
+travis_mayer,1,23,
+trashtoonz_(character),4,23,
+translucent_membrane,0,23,transparent_membrane
+toxybabu,1,23,
+towel_whip,0,23,
+touching_neck,0,23,
+toruu_(character),4,23,
+torute,1,23,
+torso_over_edge,0,23,
+toronn,1,23,
+tora_(uat),4,23,
+toothless_mouth,0,23,
+tooth_removal,0,23,
+toontown,3,23,
+tonya,4,23,
+tomtornados,1,23,
+tomotomo15,1,23,
+tomomitartini,1,23,
+tomobiki_subaru,4,23,
+tommy_the_buizel,4,23,
+tomcat_(artist),1,23,
+tom_cervo,4,23,
+toejam_and_earl,3,23,toejam_&_earl
+toe_grab,0,23,
+tobias_wolf,4,23,
+to_the_moon,0,23,
+titord,1,23,
+tira,4,23,
+tips_(gats),4,23,
+timothy_squirrel-woolfe,4,23,
+tim_goodman,4,23,
+tilo,4,23,
+tikka,1,23,
+tickling_anus,0,23,
+tiara_(mario),4,23,
+tia_(lunarspy),4,23,
+throughmyshadow,1,23,
+thor_volt_(swordfox),4,23,
+thomas_carter,4,23,
+thieu_(thieutheowl),4,23,
+theseus9,1,23,
+theoverloader,1,23,
+themadsurgeon,1,23,
+theinexplicablebrony,1,23,
+thed4rk1ord,1,23,
+theblackvixen,1,23,
+theartrix,1,23,
+the_x-files,3,23,
+the_red_guy,4,23,
+the_oatmeal,1,23,
+the_cowlorado_kid,4,23,
+the_coalition,0,23,
+the_anthropomorphologist,1,23,
+the-nsfw-diner,1,23,
+thatblackcopfromdawnofthedead,1,23,thatblackcopfromdawnofthedead_(artist)
+thalomine,1,23,
+thalia_(niveusaurum),4,23,
+thad,4,23,
+text_on_crop_top,0,23,
+tethys_(xasaviko),4,23,
+tetarga,1,23,
+terry_(masterful),4,23,
+terream,4,23,
+terrance_(jessimutt),4,23,
+terran_(yoshifinder),4,23,
+terito,1,23,
+terezifaps,1,23,
+teresa_(scalie_schoolie),4,23,
+terak,4,23,
+tentaclemonsterchu,1,23,
+tenta_(tentabat),4,23,
+tenshio,1,23,
+tender_(diadorin),4,23,
+tenchi_muyo_gxp,3,23,
+ten_of_hearts,0,23,
+tempting_moonlight,4,23,
+tempest_streamrider_(oc),4,23,
+telethia_(scorpdk),4,23,
+tekuho,1,23,
+technoblade,4,23,
+teal_pupils,0,23,
+teacup_cake_(ralek),4,23,
+taurus_(zodiac),4,23,
+taur_transformation,0,23,
+taupy_toplan,4,23,
+tate,4,23,
+tarn_(transformers),4,23,
+tarja_esterdottir,4,23,
+tarik,4,23,
+tap_shoes,0,23,
+tanookin,4,23,
+tamurross,1,23,
+tammy_(puppkittyfan1),4,23,tammy_(puppychan48)
+tamina,4,23,
+tamaki_(warriors),4,23,
+tali,4,23,
+taki_(dragon),4,23,
+takao_(azur_lane),4,23,
+tail_on_balls,0,23,
+taiki_(piporete),4,23,
+tagumi,1,23,
+taffeta_(bdsm.exe),4,23,
+tabaticbloom,1,23,
+t9fox,1,23,
+t-fruit,1,23,
+syscod,1,23,
+synth_(iahfy),4,23,
+synth-crador,5,23,
+sylus_(kyro),4,23,
+sykur,4,23,
+syakomon_(survive),4,23,
+swing_set,0,23,
+sweet_temptation,3,23,
+sweet_(asderzx),4,23,
+svetlin_velinov,1,23,
+suyohara,1,23,
+suutooroo,1,23,
+superpower,0,23,
+superheroinecomixxx,3,23,
+super_kubo,1,23,
+supaucat,1,23,
+sunnyslash,1,23,
+sunlover611,1,23,
+summer_hat,0,23,
+sultry_gaze,0,23,
+suibelly,1,23,
+sugarsaturn,1,23,
+succulent,0,23,
+subtler,1,23,
+substance_painter_(software),0,23,
+submissive_maleherm,0,23,maleherm_dominated
+stygimoloch,5,23,
+sturm_(granblue_fantasy),4,23,
+stupidsmut,1,23,
+stupidsexyrobes,1,23,
+strongbana,1,23,
+striped_dolphin,5,23,
+stripe_rose,4,23,
+stri,1,23,
+stretched_mouth,0,23,
+strawberry_poison-dart_frog,5,23,"strawberry_poison_dart_frog,strawberry_poison_frog"
+strawbearer,1,23,
+str1ker878,1,23,
+storyman,1,23,
+stoop,4,23,
+stomping_pov,0,23,
+sting_chameleon,4,23,
+stepsiblings,0,23,
+stella_(disambiguation),6,23,stella
+starrberry,1,23,
+starlyfly,1,23,
+starlight_blossom,4,23,
+starfy,4,23,
+stardust_(shyvrc),4,23,
+star_rod,0,23,
+star_fox_2,3,23,
+standard,0,23,
+stand_stats_graph,0,23,
+stan_melgar,4,23,
+stallion_(character),4,23,
+stacyroseland,1,23,
+ssalbulre,1,23,
+sr_pelo,1,23,
+sr_panda_86,1,23,
+squire_(salamikii),4,23,
+spy_fox_(series),3,23,"spy_fox_(franchise),spy_fox_(game),spy_fox_game"
+spunky_(rocko's_modern_life),4,23,"spunky_(rml),spunky_(rocko),spunky_(rockos_modern_life)"
+spudenski,1,23,
+spreading_self,0,23,
+spoutpout,4,23,
+spotmini,4,23,
+sports_bike,0,23,
+splodyhead,4,23,experiment_619
+splinter_cell,3,23,
+splayed_fingers,0,23,
+splashes,0,23,
+spittle,0,23,
+spirals,0,23,
+spiked_harness,0,23,
+spice_(powfooo),4,23,
+spark:_a_space_tail,3,23,
+spain,0,23,
+sp00nzie,4,23,
+southernsteed,1,23,
+soul_harmony,4,23,
+sotoraggian,5,23,
+sophia_(aruurara),4,23,
+sony_pictures,3,23,
+sonny_glitter,4,23,
+soniethedog,1,23,
+soiling_clothing,0,23,
+sodafroggz_(artist),1,23,
+soda_(dogslickingsoda),4,23,
+snuggydoug,1,23,
+snowball22,1,23,
+snow_penis,0,23,
+snow_(kobu_art),4,23,
+snootbooper,1,23,
+snifit,5,23,"sniffet,sniffit"
+sniff_(moomin),4,23,
+sneak_attack,0,23,
+snak3,1,23,
+smusserd,1,23,
+smoke_(fuze),4,23,
+smiling_friends,3,23,
+smelling_balls,0,23,
+smarticus,4,23,
+small_breast_angst,0,23,
+slimy_(character),4,23,
+slave_clothing,0,23,
+slamming,0,23,
+skyfire_(arknights),4,23,
+sky_(seyumei),4,23,
+skunkinsly,1,23,
+skull_kid_(species),5,23,
+skinny_gynomorph,0,23,
+skimmywolf,1,23,
+skeleton_princess,4,23,
+skeleton_costume,0,23,
+skarneti,4,23,
+skarlett_cynder_(artist),1,23,
+sivir_(lol),4,23,
+sitting_on_fence,0,23,
+sitku,4,23,
+sisalian,5,23,
+sirius,4,23,
+siri_sfm,1,23,
+simplepale,1,23,
+simon-fox_(character),4,23,
+silvia,4,23,
+silverwolf,4,23,
+silver_(jishinu),4,23,
+silphymon,5,23,
+silly_soda,1,23,
+silkysworld,1,23,
+silkycurve,1,23,
+silenus,5,23,
+silent-fly,1,23,
+sigurd_von_hosenfeld,1,23,
+sibi_(yoko_arika),4,23,
+shrunk,0,23,
+shoyu_(velow),4,23,
+short_sword,0,23,
+shopping_basket,0,23,
+shoe_removal,0,23,
+shmny,1,23,
+shizuko_izumi,4,23,
+shishigumi_(beastars),4,23,
+shiro_kamaitachi,4,23,
+shiro_(akishycat),4,23,
+shiranui_(okami),4,23,
+shinto_shrine,0,23,
+shia_(infinitydoom),4,23,
+sherlock_davis,1,23,
+shen_(sihai's_legacy),4,23,
+shelby_(simplifypm),4,23,
+shazy_(artist),1,23,
+shay_(brok_the_investigator),4,23,
+shattered_roxanne_wolf_(fnaf),4,23,
+sharksky,4,23,
+shane_(wolfpack67),4,23,
+shadowcat,4,23,
+shadowboxer,1,23,
+sh-4rk,1,23,
+sfm-brew,1,23,
+sexygoatgod,1,23,
+sewer_monster,0,23,
+seti,4,23,
+serpy,4,23,
+serket_(full_bokko_heroes),4,23,
+sergld,1,23,
+sergaelic,1,23,
+serenity_the_gardevoir,4,23,
+serena_lockheart,4,23,
+seraph_(seraph),4,23,
+seraph_(oldmancassius),4,23,
+sera_(tits),4,23,
+sequins,0,23,
+sensu_oricorio,5,23,
+sending_nudes,0,23,
+semper_fidelis,3,23,
+seminophagia_(copyright),3,23,
+self_milking,0,23,
+self_cleaning,0,23,
+selena_(omniman107),4,23,
+sek_(species),5,23,
+seductivefeline,1,23,
+seashell_bikini,0,23,
+sean_(nikoh),4,23,
+se-4258,4,23,
+scutley_(skullman_777),4,23,
+screenshot_edit,0,23,
+scratched,0,23,
+scp-2703,4,23,
+scotty_(ghastlyscotty),4,23,
+scottish_flag,0,23,
+scotland,0,23,
+scorch_(megustalikey),4,23,
+sciphan,1,23,
+schwarz_(mattman),4,23,
+sazemek,1,23,
+sayori,1,23,
+saucepan,0,23,
+sassparilla_(chikn_nuggit),4,23,sody_pop's_mother_(chikn_nuggit)
+sarissa_(siansaar),4,23,
+saria_(arknights),4,23,
+sarahsilver,1,23,
+sarah_(vulpisshadowpaws),4,23,
+sandra_(sandra97),4,23,
+sandels,0,23,
+sandal,0,23,
+samson_(zentt),4,23,
+samantha_nishimura,4,23,
+samantha_(redtwin),4,23,
+samantha_(adventure_time),4,23,
+sam_the_angel_fox,4,23,
+sam_schrade,4,23,
+sam_(desidobie),4,23,
+salvador_bear,1,23,
+sakuramoto,1,23,
+saintxtail,1,23,
+sails,0,23,
+sailornyan,4,23,
+sage_freehaven,4,23,
+saffron_(ratte),4,23,
+saeto15,1,23,
+sable_(disambiguation),6,23,sable
+saane_(monster_musume),4,23,
+rye_(ryew0lf),4,23,
+ryder_(seintaur),4,23,
+ruthie_(grimmagent),4,23,
+rupie_(artist),1,23,
+ruperteverton,1,23,
+runelocks,1,23,
+rules,0,23,
+rufus,4,23,
+rudy,4,23,
+ruby_(mikrogoat),4,23,
+rubber_duck_on_head,0,23,
+rtas_'vadum,4,23,
+royalboy_zafara,5,23,
+royal-pain-in-the-ass,1,23,pain_(artist)
+roxy_the_t-rex,4,23,
+rowanhardt,4,23,
+rowan_(fujoshiineko),4,23,
+rowan_(animal_crossing),4,23,
+roundscape_adorevia,3,23,
+rounded_ears,0,23,
+roughlady,1,23,
+rough_riders,3,23,
+rosycozy,1,23,
+roolthelion,1,23,
+rook_(nimratu),4,23,
+rondineviola,1,23,
+ronci,1,23,
+romanthony,3,23,
+rolly_(101_dalmatians),4,23,
+rokume_(beastars),4,23,
+rodent_teeth,0,23,
+roden,5,23,
+rocky_(pocky_and_rocky),4,23,
+rockset,1,23,
+robotic_hand,0,23,
+robotboy,3,23,
+robin_tinderfox,4,23,
+riyote,4,23,
+riviena,4,23,
+rivenlod_rygers,4,23,
+riptide_(disambiguation),4,23,
+rippage,0,23,
+rings_on_legs,0,23,
+rings_on_arms,0,23,
+ringmaster,0,23,
+rin_(nihilochannel),4,23,
+rimle_mike,1,23,
+rileykit,1,23,
+riley_(kadath),4,23,
+rieka_(character),4,23,
+rick_astley,4,23,
+ri'ven,4,23,
+rheyare,4,23,
+rex_kitsune,4,23,
+revolver_ocelot,4,23,
+revision,0,23,
+resper_(character),4,23,
+renvra_(tits),4,23,
+renmunk,4,23,
+rena_ayama_(character),4,23,
+reituki,1,23,
+regunya,1,23,
+regina_kukklitaat_santkitankni,4,23,
+rednax,4,23,
+redick,4,23,
+redheadpika_(character),4,23,
+red_sonja,4,23,
+red_light_dreams,3,23,
+red_headphones,0,23,
+red_arm_warmers,0,23,
+red_(captaincob),4,23,
+rebecca_pawlson,4,23,
+rear_pawjob,0,23,
+reanimatedrabbit,1,23,
+reality,0,23,
+ready_(disambiguation),6,23,ready
+razz,4,23,
+raytraced,0,23,
+raysh,1,23,
+rayray72,1,23,
+ray_(sususuigi),4,23,
+rawrden,1,23,
+ravyn,4,23,
+rau_(ventkazemaru),4,23,
+ratchet_lomu,4,23,
+raoni_(felino),4,23,
+randalwuff,4,23,
+rak_wraithraiser,4,23,
+raine_riverwind,4,23,
+rainbow_pubes,0,23,
+rainbow_panties,0,23,
+rainbow_gradient,0,23,
+rainbow_factory_(mlp_fanfic),3,23,
+rainbow_(sadflowerhappy),4,23,
+rai_the_raichu_(character),4,23,
+ragna_(hollandworks),4,23,
+rafael_(rio),4,23,
+radracer,1,23,
+rachelle_(vdisco),4,23,
+rachel_gates,4,23,
+rachel1987,1,23,
+racecar_bed,0,23,
+rabies,0,23,
+rabbu,4,23,
+quival,1,23,
+quinn_(lol),4,23,quinn_(league_of_legends)
+quilaru11,1,23,
+quest,0,23,
+queen_of_spades,0,23,
+queen_la,4,23,
+qalcove_(character),4,23,
+pyrrha_nikos,4,23,pyrrha_nikos_(rwby)
+pyrexia,4,23,
+pyre_(litten),4,23,
+pute_819,1,23,
+pussy_to_pussy,0,23,
+pussy_juice_on_stomach,0,23,
+pussy_juice_on_spreader_bar,0,23,
+purple_smoke,0,23,
+purple_mascara,0,23,
+purple_gums,0,23,
+puppeteer,0,23,
+punnchy,1,23,
+pumpkin_spice_(artca9),4,23,
+pump_(sound_effect),0,23,
+puku216,1,23,
+puck,4,23,
+pton,1,23,
+pseudo_clothing_removed,0,23,
+promotion,0,23,
+professor_layton,4,23,
+professor_augustine_sycamore,4,23,"professor_sycamore,sycamore_(pokemon),sycamore_(pokémon)"
+privon,1,23,
+print_sports_bra,0,23,
+prince_rutherford_(mlp),4,23,
+prince_illusion,4,23,
+primal_zerg,5,23,
+prim_hemline_(mlp),4,23,
+pride_color_tattoo,0,23,
+pride_color_hat,0,23,
+prezer0,1,23,
+pretaxrat159,1,23,
+pressing_against,0,23,
+precum_on_butt,0,23,
+ppt_(ppt),4,23,
+ppdraw,1,23,
+poyu,1,23,
+pouch_vore,0,23,
+pouch_teats,0,23,
+potira,1,23,
+potara_earrings,0,23,
+postiche_beard,0,23,
+pooka_(dig_dug),5,23,
+poofy-shark,1,23,
+ponymaan,1,23,invisibleguy-ponyman
+poniidesu,1,23,
+polly-lolly,1,23,
+polka_dot_bra,0,23,
+poli'ahu_(dragalia_lost),4,23,
+polar_bear_(ice_climber),4,23,
+pokohyo,1,23,
+pokemon_sage,3,23,gen_/vp/
+pocahontas_(character),4,23,
+pluto_ellipse,4,23,
+plus_sign,0,23,
+plumpdragon,1,23,
+playing_with_yarn,0,23,
+plastron,1,23,
+planning,0,23,
+planetary_macro,0,23,
+pkpk_arrow,1,23,
+pixelated_background,0,23,
+pixaltrix,1,23,
+pioky,4,23,
+pink_smoke,0,23,
+pink_neckwear,0,23,
+pink_nail_polish,0,23,
+pink_ball_smoke,1,23,
+pineconedraws,1,23,
+pina_colada,0,23,
+pilgrim,0,23,
+pikachu_hoodie,0,23,
+physical_exam,0,23,
+phun,4,23,
+phoenix-of-a-down,1,23,
+philljonskimax,1,23,
+phil_(disambiguation),4,23,phil
+phil_(dank_wankem),4,23,
+phawxxy_(fursona),4,23,
+petplayer976,1,23,
+peterdamart,1,23,
+pete_(housepets!),4,23,
+pestilence_(plaga),4,23,
+pesky_dust,4,23,
+persephone_(artist),1,23,
+percy_(trashtoonz),4,23,
+pepper_ann_(las_lindas),4,23,
+pencil_point,4,23,
+pedro_of_the_treetops,4,23,pedro_(one_piece)
+peasant,0,23,
+peanutsatiety,1,23,
+peakjump,1,23,
+peachtree_(hoodielazer),4,23,
+peach_(wasen),4,23,
+paula_(1-upclock),4,23,
+patty-plmh,1,23,
+patipiti_f,1,23,
+pasufani,4,23,
+pascal_(yggdrasill00),4,23,
+particle_effects,0,23,
+partial_penectomy,0,23,
+part,0,23,
+paran0id42,1,23,
+paragoomba,5,23,
+panty_birth,0,23,
+panduh,1,23,
+pandadough,1,23,
+pandacouch,1,23,
+panda_tail,0,23,
+pancake_(toontown),4,23,
+pallet,0,23,
+paleface,1,23,
+paint_palette,0,23,
+pain_elemental,5,23,
+padzyan,1,23,
+padawanko,1,23,
+pachastuff,1,23,pachadraws
+overshirt,0,23,
+overlai,1,23,
+outertale,3,23,
+otterlythicc,1,23,
+otokoter,1,23,ter_(artist)
+otakurec37,1,23,
+otaku,0,23,
+osmosis_jones,3,23,
+osahar_(securipun),4,23,
+orphy_(artistorphy),4,23,
+order_compulsive_(character),4,23,
+orbot,4,23,
+orange_thong,0,23,
+orange_seam_briefs,0,23,
+orange_mask,0,23,
+orange_jockstrap,0,23,
+oral_tugging,0,23,
+open_bodysuit,0,23,
+oozutsu_cannon,1,23,
+oonzucht,5,23,
+on_top_of_penis,0,23,
+on_leg,0,23,
+omnishambles,1,23,
+omega_wolfblood,4,23,
+oliver_masthay,4,23,
+olive_eyes,0,23,
+olimarpuke-chan,1,23,
+oleanderin,1,23,
+oil_rig,0,23,
+ogigayatsu_sadamasa_(full_bokko_heroes),4,23,
+offering_panties,0,23,
+oddeyes,1,23,
+oddends,1,23,
+oddball_(101_dalmatians),4,23,
+odd_keystone,0,23,
+odaibako,0,23,
+octopus_merfolk,5,23,
+ocean_orca,4,23,
+o_0@isogashitsu,1,23,
+nylon_stockings,0,23,
+nya_pose,0,23,
+nutlety,1,23,
+nutcracker,0,23,
+nurja,4,23,
+nova_(okochira),4,23,
+nova_(apollo),4,23,
+notsafeforcurt,1,23,
+north_american_river_otter,5,23,
+noonetocareabout,1,23,
+nooks,1,23,
+nonchalant_(oc),4,23,
+non_canon,0,23,
+nokucroc,1,23,
+nojgumm,1,23,
+noita,3,23,
+noel_vermillion,4,23,
+noebert_laimable,4,23,
+nocure21o,1,23,
+nobby_(character),4,23,
+no_tes,1,23,
+no_lube,0,23,
+nnightbear_b,1,23,
+niv-mizzet,4,23,
+nitori_kawashiro,4,23,
+ninjav,1,23,
+nimble_(toongstar),4,23,
+niku_1987,4,23,
+niko_stargazer,1,23,
+niki_(character),4,23,
+niki2ki884,1,23,
+nightfox,4,23,
+night_striker,4,23,
+night_akula,4,23,
+nifsara,4,23,
+nidochi,4,23,
+nictitating_membranes,0,23,
+nicole_(jmh),4,23,
+nicole_(cole),4,23,
+nicoguer,1,23,
+nickle_(artca9),4,23,
+nick_(left_4_dead),4,23,
+nhornissa,1,23,
+nezerith_(character),4,23,
+nevermind,3,23,
+netuk,1,23,
+netty,4,23,
+nero_(devil_may_cry),4,23,
+nerf_(toy),3,23,
+neopets:_the_darkest_faerie,3,23,
+neon_(floraverse),4,23,"dr._neon,kid_neon"
+nemoskii_stripey,4,23,
+nelya_rhys_(character),4,23,
+neksu_(pokesona),4,23,
+nekosatsu,1,23,
+nekonelle,4,23,
+nekogaki0324,1,23,
+negaduck,4,23,
+nedd_bear_(fnaf),4,23,
+nazi_salute,0,23,
+naz'akh,4,23,
+nayoshi744,1,23,
+naviheart,1,23,
+naurin,4,23,
+naturist,0,23,
+natia,4,23,
+nate_(animal_crossing),4,23,
+natany,4,23,
+natalie_(greymaria),4,23,
+nastypoke_(character),4,23,
+narrow_arms,0,23,
+naritsu,1,23,
+nanokyuu,1,23,
+name_strikethrough,0,23,
+namabito,1,23,
+naka_(artist),1,23,
+nak_anust,1,23,
+naive_sex,0,23,
+naesyroc,1,23,
+nadine_(dalmatiannadine),4,23,
+nadialilium,1,23,
+naaby,1,23,
+mysticwaffle032,1,23,
+myrrh,4,23,
+mynx_(akiomai),4,23,
+my_little_pony_(2009),3,23,
+muzzzzz,1,23,
+muttninja,1,23,
+muscles_mouse,4,23,"freddie_mouse,muscles_(t&j),muscles_(tom_&_jerry),muscles_(tom_and_jerry)"
+muscle_man_(regular_show),4,23,
+murasaki14134,1,23,
+multimedia_(artist),1,23,
+multicolored_neck,0,23,
+multicolored_earbuds,0,23,
+multicolored_diaper,0,23,
+multi_tone_butt,0,23,
+multi_genitalia_bulge,0,23,
+muffy_vanderschmere,4,23,
+muffin_(bluey),4,23,
+mschalk,1,23,
+ms._marvel,4,23,
+ms._battleberry,4,23,
+ms._ants,4,23,
+mrs_bartender,4,23,
+mrs._fillyjonk,4,23,
+mr._mordaut,4,23,
+movie_slate_(character),4,23,
+mount_fuji,0,23,
+mother_rabbit,4,23,
+morissey_(ratte),4,23,
+mooncake_(final_space),4,23,
+moon_knight,4,23,
+monzaemon,5,23,
+monotone_thigh_socks,0,23,
+monotone_thigh_boots,0,23,
+monotone_piercing,0,23,
+monooki333,1,23,
+monkey_wrench,0,23,
+monchi,1,23,
+monado,0,23,
+molly_(animal_crossing),4,23,
+mollusk_merfolk,5,23,
+mokadu,4,23,
+moka_(character),4,23,
+mogpon,1,23,
+mogli,4,23,
+mog_(artist),1,23,
+moemon,3,23,
+moe_(artist),1,23,
+modern_warfare_(series),3,23,
+mochi_taichi,1,23,
+mochi_(ahkrin),4,23,
+mocha_(teavern),4,23,
+mlinzi_(series),3,23,
+mizu_(lazysnout),4,23,
+miya_(skimike),4,23,
+mixiorca,1,23,
+mixer1981,4,23,
+mitgard-knight,1,23,
+missy_(triatelx),4,23,
+missing,0,23,
+missaria,1,23,
+miss_throbyn,4,23,
+miss_moth,4,23,
+miss_minerva,4,23,
+miss_k,4,23,
+misha_(misha),4,23,
+misery_(cave_story),4,23,
+minty_(ertis),4,23,
+minigun_(artist),1,23,
+minerva_(s-q),4,23,
+mina_(driftlock),4,23,
+min_min,4,23,
+mimiru_(mantist),4,23,
+mimic_princess,4,23,
+miloart,1,23,
+millymay,1,23,
+millicent_liondeath,4,23,
+mijak_(thony_dog),4,23,
+miguel_(mleonheart),4,23,
+mightyworld,1,23,
+middrilo,4,23,
+mick_fries,4,23,
+michelle_(sachidog),4,23,
+michael_whelan,1,23,
+mia_and_me,3,23,
+mewlin_(species),5,23,
+mettaton_(underfell),4,23,
+metroidvania,0,23,
+metapuns,1,23,
+metallicumbrage,1,23,
+messysketch,1,23,
+merga,4,23,
+mercy_f._hare,4,23,
+meowscles_(toon),4,23,toon_meowscles
+mentalraven,1,23,
+memory_erasure,0,23,
+melody_(sobakistan),4,23,
+melissa_raccoon,4,23,
+melanth_(artist),1,23,
+melanie_summers,4,23,
+mel_(furryfight_chronicles),4,23,
+meiying,4,23,
+megasonic17,1,23,
+megaomega,1,23,
+meet_and_fuck,3,23,
+meena_the_kobold,4,23,
+medusa_(kid_icarus),4,23,
+mechanical_tail,0,23,
+mecha_sonic,4,23,
+mayo850921,1,23,
+may_(uassault),4,23,
+max_(oversheep),4,23,
+max_(deltax3),4,23,
+max_(baefeather),4,23,
+matthew_nguyen,4,23,
+matthew_(oop1oop2),4,23,
+matter_manipulator,0,23,
+mathewmii,1,23,
+mary_the_raccoon,4,23,
+mary_(disambiguation),6,23,mary
+marv,4,23,
+mars_(itswolven),4,23,
+mars.cacxtus,1,23,
+mark_folks,4,23,
+mark_(disambiguation),4,23,mark
+marie_(fredek666),4,23,
+maria_lys,4,23,
+maria_calaveras,4,23,
+marble_(kiwa_flowcat),4,23,
+maphi_assassin,1,23,
+maoochao,1,23,
+mallory_mcmallard,4,23,
+malihus,4,23,
+male_student,0,23,
+malachiexe,1,23,
+makwa,4,23,
+makisy,1,23,
+makima_(chainsaw_man),4,23,
+magpie_(twokinds),4,23,
+magnificentsexygals,1,23,
+maggy,4,23,
+madu_(anaid),4,23,
+madeline_gevaudan,4,23,
+maddie_(manicmoon),4,23,
+macsboredworld,1,23,
+mackles,1,23,
+mac_(foster's),4,23,
+maachi,1,23,マーチ
+m4a1,0,23,
+lyra_(zepompom),4,23,
+lylia_faith,1,23,
+lydia_(lobokosmico),4,23,
+luxioboi22,1,23,
+lurking,0,23,
+lupinchopang27,1,23,
+lunatik,4,23,
+lunarnook,4,23,
+lunar_cipher,1,23,
+lunamoth,1,23,
+lumina_flowlight,4,23,
+lucy_(thisaccountdoesexist),4,23,
+luckytama,4,23,
+luckypupa,1,23,
+lucky_shelf,1,23,
+lucky_(disambiguation),6,23,lucky
+lucina_(fire_emblem),4,23,
+lucie_(camperschaf),4,23,
+luca_(thegoldenjackal),4,23,
+lstvz,1,23,
+lou_(world_flipper),4,23,ruu_(world_flipper)
+lori_(loshon),4,23,
+loretta_horn,4,23,
+looking_down_at_stomach,0,23,
+looking_at_console,0,23,
+lontra,5,23,new-world_river_otter
+londys,4,23,
+lolscarletxi,1,23,
+lolli,4,23,
+loligo_(rudragon),4,23,
+loiosh,4,23,
+logyn,4,23,
+location_sign,0,23,
+lo-fi,0,23,
+lizard_taur,5,23,
+liz_(meggchan),4,23,
+living_furniture,5,23,
+littlenapoleon_(character),4,23,
+littering,0,23,
+litchie_d,1,23,
+lionta,1,23,
+lingling,4,23,
+linea_nigra,0,23,
+lily_opossum,4,23,
+lily_long,4,23,
+lily_lace_(mlp),4,23,
+lily_(sakuradlyall),4,23,
+lilly_(dbd),4,23,
+lillayfran,1,23,
+lilim_(mge),4,23,
+lilian_(tenebscuro),4,23,
+likeablemouse,1,23,
+light_elbow_gloves,0,23,
+light_(rukaisho),4,23,
+lifted_by_arms,0,23,
+lidiya,4,23,
+liczka,1,23,
+licking_candy,0,23,
+library_of_ruina,3,23,
+liamhowardfluffyboy,1,23,
+lexor_komuga,1,23,
+lex_(lurdanjo),4,23,
+lewdcario,1,23,
+leveensky,1,23,
+leslie_(experiment626),4,23,
+lesbian_correction,0,23,
+leonor_(kida_kuro_mu),4,23,
+leon_schafer,4,23,
+leo_(milkbrew),4,23,
+lengry,1,23,
+lemon_zest_(eg),4,23,
+leiton,4,23,
+legs_over_shoulders,0,23,
+legacy_of_the_phoenix,3,23,
+lee_sin_(lol),4,23,
+lee_(heffalumpjump),4,23,
+leblanc_(lol),4,23,
+leaking_pussy_juice,0,23,
+lea_(son2j),4,23,
+lawachurl,5,23,
+lava_shark,5,23,
+laura,4,23,
+latex_mask,0,23,
+latex_fox,1,23,
+las_vegas,0,23,
+laruh,4,23,
+lars_(the_human_heart),4,23,
+lari_(larikane),4,23,
+lap_of_luxury,3,23,
+lana_(bonifasko),4,23,
+lament,1,23,
+lamborghini_countach,3,23,
+lala_(monster_musume),4,23,
+lahja,4,23,
+lady_lovegreen,4,23,
+lady_haurse,4,23,
+labramon_(survive),4,23,
+kyubi,4,23,
+kyssani_(tolerain),4,23,
+kyron_farspire,4,23,
+kyosuke_fujiwara,1,23,
+kyle_(critterdome),4,23,
+kvn_poulsen,4,23,
+kusarigama,0,23,
+kururur444,1,23,
+kurtis496,1,23,
+kunalyn,4,23,
+kumiho_(purplelemons),4,23,
+kumatta,4,23,
+kumatora_(earthbound),4,23,
+kumagoro,4,23,
+krunchycroc,1,23,
+kripperok,1,23,
+krina,4,23,
+kriegerstein,1,23,
+kret,4,23,
+krawk_(neopets),5,23,
+kraso_(xxsparcoxx),4,23,
+kouya_ni_kemono_doukokusu,3,23,
+kotep,4,23,
+kosa,4,23,
+koro_fumei,4,23,
+korg_(gabshiba),4,23,
+koppa_(liquoriceblack),4,23,
+konsuke,1,23,
+konicoon,1,23,
+kon_(habitualboomer),4,23,
+kohaku_(dagasi),4,23,
+kobbers,1,23,
+kobb,1,23,
+knotty_curls,4,23,
+klaskk,1,23,
+kizi0n,1,23,
+kiwi_(artist),1,23,
+kittykero,1,23,
+kittyfox,5,23,
+kitty_is_not_a_cat,3,23,
+kitty_gel,4,23,
+kitty-face,4,23,
+kittfoxx,1,23,
+kitsumy_(azura_inalis),4,23,
+kitigaru,1,23,
+kirya_gilbert,4,23,
+kirion_pegu,4,23,
+kirai,4,23,
+kira_swiftpaw,4,23,
+kintsuki_soran,1,23,
+kintaro,4,23,
+kint,1,23,
+kimber_(devin_arts),4,23,
+kim_wang_jyang,1,23,
+killbeat,4,23,
+kiffin,4,23,
+kibby,4,23,
+khodu,1,23,
+khiv,4,23,
+kevintrentin,1,23,
+kesis_(fluff-kevlar),4,23,
+kennedy_miller,4,23,
+kemira,1,23,
+kellsmiley,1,23,
+kel_(028-mendicantspire),4,23,
+keita_elyssar,4,23,
+keema,4,23,
+keco,4,23,
+kdkilo,1,23,
+kaxlene,1,23,
+katy_the_cat_(unico),4,23,
+katazaki,1,23,
+katanagirl,1,23,
+kat_bishop_(bishopsquared),4,23,
+kat_(mazume),4,23,
+kat_(crazywolf45),4,23,
+kat_(aabsurdity),4,23,
+kassidy_(medrifogmatio),4,23,
+kasloth,1,23,
+karleen,4,23,
+karissa_(character),4,23,
+kardukk_(artist),1,23,
+karadur,4,23,
+kao_the_kangaroo,3,23,
+kanj'isha,5,23,
+kanaya_azami,4,23,
+kamora,4,23,
+kalonezhno,1,23,
+kaliptro2,1,23,
+kaleina_(ricegnat),4,23,
+kaleb_(copperback01),4,23,
+kale_(hhc),4,23,
+kaku_mui,1,23,獲無為
+kaijumi,4,23,
+kaibootsu,1,23,
+kai_pallis,4,23,
+kahlu,1,23,
+kago_shintaro,1,23,
+kaaz,4,23,
+k_riko_oekaki,1,23,
+k'horr,4,23,
+junk_planet,3,23,
+jungle_menace,4,23,
+julia_(waffl3sk4t),4,23,
+jujubeeluv,1,23,
+joxen,4,23,
+jovial_evil,1,23,
+joshie_(calahootheyeen),4,23,
+jordan_wolf,1,23,
+jora,4,23,
+jonasii,4,23,
+joker_fox,4,23,
+joey_(sentharn),4,23,
+jocelyn,4,23,
+joanne_maple_(conadolpomp),4,23,
+jim_rat,4,23,
+jey_caroot,4,23,
+jetta_(nicnak044),4,23,
+jessica_(housepets!),4,23,
+jeremy_(nimh),4,23,jeremy_(the_secret_of_nimh)
+jenine_(dorian-bc),4,23,
+jen_dover,4,23,
+jen,4,23,
+jefflink,1,23,
+jean_luc_(bluey),4,23,
+jean-philippe,4,23,
+jazzymongoose,1,23,jocoserious
+jayshark,1,23,
+jay_(dontjudgemeimlonely),4,23,
+jasmine_rivers_(akiric),4,23,
+jasbun07,1,23,
+jasafarid,4,23,
+jared_dillon,1,23,
+jane_crocker,4,23,
+jamsire,1,23,
+jamie_(jailbird),4,23,
+james_newland,1,23,
+jalak,4,23,
+jakuson_z,1,23,
+jagged,1,23,
+jaethebunny,1,23,
+jade_(whitekitten),4,23,
+"jade_""cascade""",4,23,
+jade-sapphire,4,23,
+jacob_(treebarkdragon),4,23,
+jackolen,1,23,
+jacklyn_grayman,4,23,
+jaberwocky,4,23,
+jaana_kettu,4,23,
+j.f,1,23,
+izora,4,23,
+ivo_the_shark,4,23,
+itzcharlie,1,23,
+itsjustflesh,1,23,
+itsa_winter,1,23,
+itachi_guma,1,23,
+issac_(cadaverrdog),4,23,
+isabella_(cheru),4,23,
+irresistible_love,3,23,
+iron_maiden,0,23,
+ira_aetheria,4,23,
+inuyama_kensin,1,23,
+inu_to_kuma,3,23,
+intravenous_bag,0,23,
+interlacing,7,23,
+intense_stare,0,23,
+insomnicon,4,23,
+insect_penetrated,0,23,
+inquisitorspurius,1,23,
+infinite_urine,0,23,
+infernox-ratchet,1,23,
+indecent_exposure,0,23,
+incense_burner,0,23,
+inafox,1,23,
+impressionist_background,0,23,
+implied_bisexual,0,23,
+impa_the_ginger_tyrant,4,23,
+imminent_inflation,0,23,
+illiyanora_(himynameisnobody),4,23,
+ill_fitting_clothing,0,23,
+ignitioncrisis,1,23,
+iglioatelle,1,23,
+idaialo,1,23,
+ichibo,4,23,
+ice_wings,0,23,
+ibee,1,23,
+hypnoticdragon_(character),4,23,
+hyper_potion_(pokémon),0,23,
+hylics,3,23,
+hyaenodon,5,23,hyenadon
+huttser,4,23,
+humanoid_genetalia,0,23,
+human_on_demon,0,23,
+human_dominating_feral,0,23,
+hugging_arm,0,23,
+huffy,0,23,
+hsnkz809,1,23,
+hozure,1,23,
+howl_(miso_souperstar),4,23,
+howie_(vasuki),4,23,
+how_this_all_happened_(kabangeh),3,23,
+hovercraft,0,23,"acv,air-cushion_vehicle,air_cushion_vehicle,aircushion_vehicle,hover_craft"
+hottopicpiss,1,23,
+hotrod_(fuze),4,23,
+hotline_bling,3,23,
+hotchkiss,1,23,
+hoshie,4,23,
+hoser,4,23,
+horn_spikes,0,23,spiked_horn
+hooves_in_air,0,23,
+hooktail,4,23,
+honeycomb_(pattern),0,23,
+honeybunnie,1,23,
+honey_badger_humanoid,5,23,ratel_humanoid
+hole_in_chest,0,23,
+holding_test_tube,0,23,
+holding_soap,0,23,
+holding_ring,0,23,
+holding_power_tool,0,23,
+holding_necklace,0,23,
+holding_map,0,23,
+holding_chainsaw,0,23,
+hockey_puck,0,23,
+hobbesdawg,4,23,
+hk416,0,23,
+hitomi_uzaki,4,23,
+hiromoru,1,23,
+hippopotamus_humanoid,5,23,hippo_humanoid
+hippopotamid_humanoid,5,23,
+hip_check,0,23,
+hip_bump,0,23,
+hinatawolf,1,23,
+hinako_iroiro,1,23,
+himitsuarts,1,23,
+himeka_(ro),4,23,
+hildale,1,23,
+hhhori,1,23,
+hey_arnold!,3,23,hey_arnold
+hexanchiform,5,23,hexanchiformes
+hex_degoli,4,23,
+hetaya,4,23,
+herroverdober,1,23,
+hero:_108,3,23,
+hellomyboi1028,1,23,
+hella_(oriole),4,23,
+helios_(talarath),4,23,
+helena_(hugetime),4,23,
+heathcliff,4,23,
+heater_shield,0,23,
+heart_ears,0,23,
+heart_box,0,23,
+heart_balloon,0,23,
+hearing_aid,0,23,
+headwind,0,23,
+head_gem,0,23,
+hbky1101,1,23,
+hazker,1,23,
+hazelnut_yui_(character),4,23,
+haveneuh,1,23,
+hatori,1,23,
+hary96,1,23,
+harvic,4,23,
+harlem_(character),4,23,
+hanna_(sketchmantel),4,23,
+hank_j._wimbleton,4,23,
+hands_on_own_shin,0,23,
+hands_on_mouth,0,23,
+handles_on_thighs,0,23,
+handlebars,0,23,
+hand_on_own_shoulder,0,23,
+hand_on_own_pussy,0,23,
+hand_on_legs,0,23,
+hand_covering_face,0,23,
+hand_between_breasts,0,23,
+half-moon_glasses,0,23,
+hakashe_(inukon_geek),4,23,
+hair_decoration,0,23,
+hailey_(peculiart),4,23,
+hadriae,1,23,
+gyan_nightwolf,1,23,
+gwen_mcgallway_(clickclock),4,23,
+gunsforeyes,1,23,
+gunhild_(securipun),4,23,
+gummigo,1,23,
+guard_position,0,23,
+grunkle_stan,4,23,
+griff_(gargoyles),4,23,
+greyfox_(artist),1,23,
+grey_talons,0,23,gray_talons
+grey_mouth,0,23,
+grey_headset,0,23,
+grey_headgear,0,23,
+gretchen_(camp_lazlo),4,23,
+green_paint,0,23,
+green_headband,0,23,
+green_goggles,0,23,green_googles
+green_fart,0,23,
+great_blue_heron,5,23,"great-blue_heron,great-white_heron,great_white_heron"
+grayson_starbone,4,23,
+granite_(jewelpet),4,23,granite_(jewel_pet)
+gradient_legs,0,23,
+gooning,0,23,
+good_end,0,23,
+gonster,1,23,
+golem_princess,4,23,
+golan_the_insatiable,3,23,
+gojirag,1,23,
+gohma,4,23,
+gluttonace,1,23,
+gluepaw,1,23,
+glowing_piercing,0,23,
+glowing_lips,0,23,
+gloria_(heartermobs),4,23,
+glistening_pecs,0,23,
+glistening_fruit,0,23,
+glistening_bra,0,23,shiny_bra
+gitani,4,23,
+girlnani_(nanimoose),4,23,
+girder,0,23,
+gimmick_(tekandprieda),4,23,
+gill_penetration,0,23,
+gilbert_(tomierlanely),4,23,
+giant_enemy_crab,4,23,
+ghost_aldaine,4,23,
+gflouf,1,23,
+george_(tch),4,23,
+genyokuenbou_(pixiv),1,23,
+genital_raphe,0,23,
+gemini_(symbol),0,23,
+gelato_(latotabo),4,23,
+gecko_humanoid,5,23,
+gaypyjamas,1,23,
+gay_bar,0,23,
+gawgaw,4,23,
+gavin_(unimpressive),4,23,
+gavin_(invasormkiv),4,23,
+gasket_(paw_patrol),4,23,
+garyl,4,23,
+garnett,4,23,
+garbatge,1,23,
+gapao0520,1,23,
+gaoemon3,1,23,
+ganesha,4,23,ganesh
+gamibri,1,23,
+gallonegro,1,23,
+galeo_(icma),4,23,
+gala_(animal_crossing),4,23,
+gael_(windborn),4,23,
+gabriel1393,1,23,
+g.i._joe_(hasbro),3,23,"g.i._joe:_(franchise),g.i._joe:_(hasbro),g.i._joe:_franchise,g.i._joe:_hasbro,g.i._joe:_psas,g.i._joe:_renegade,g.i._joe:_renegades,g.i._joe:_renegadess,g.i._joe_(franchise),g.i._joe_franchise,g.i._joe_hasbro,g.i._joe_psa,g.i._joe_psas,g.i._joe_renegade,g.i._joe_renegades,g.i._joe_renegadess,g.i.joe_(franchise),g.i.joe_(hasbro),g.i.joe_franchise,g.i.joe_hasbro,g.i.joe_psa,g.i.joe_psas,g.i.joe_renegade,g.i.joe_renegades,g_i_joe_(franchise),g_i_joe_(hasbro),g_i_joe_franchise,g_i_joe_hasbro,g_i_joe_psa,g_i_joe_psas,g_i_joe_renegade,g_i_joe_renegades,gi_joe_(franchise),gi_joe_(hasbro),gi_joe_franchise,gi_joe_hasbro,gi_joe_psa,gi_joe_psas,gi_joe_renegade,gi_joe_renegades"
+fyonna_(twinkle-sez),4,23,
+fuzz_wright,4,23,
+furry_in_a_hurry,1,23,
+furry_bomb,3,23,
+furia_(zuboko),4,23,
+furball_shirokm,1,23,
+funnel_in_mouth,0,23,
+full_stop,1,23,
+frottingotter,1,23,
+frostwing,4,23,
+frilly_topwear,0,23,
+frilled_shark,5,23,
+friends_(panken),3,23,
+friddscat,1,23,
+friday_night_funkin'_minus,3,23,
+freezer,0,23,
+freemindstuff,1,23,
+frannie_funbun,4,23,
+frankie_(naughty_skeleton),4,23,
+frank_(amwulf),4,23,
+francesca_(aj_the_flygon),4,23,
+fractal,0,23,
+foxykin,1,23,
+foxxy_love,4,23,
+foxie_(friskyfoxie),4,23,
+foxfawl,1,23,
+foulserpent,1,23,
+foshu,1,23,
+foriko,4,23,
+forced_presenting,0,23,forced_presentation
+forced_69,0,23,
+footband,0,23,
+foot_in_pussy,0,23,
+folded_hands,0,23,
+flut_flut,4,23,
+fluffylai,1,23,
+fluffybunz's_fursona,4,23,
+fluffy_shoulders,0,23,
+fluffboye,1,23,
+flag_patch,0,23,
+flag_on_vehicle,0,23,
+fizzymola,1,23,
+fixxxer,1,23,
+five_night's_at_bonnie's,3,23,
+fishstick_(fortnite),4,23,
+fiona_(wolfpack67),4,23,
+finest-elite,1,23,
+filolial_queen,5,23,
+fight_league,3,23,
+figgylicious,1,23,
+fierywitherrose,3,23,
+fiddlesticks_(mlp),4,23,
+fiber_(fiberr),4,23,
+ffen,4,23,
+fertility_pills,0,23,
+ferelay,1,23,
+ferdinand_the_folf,4,23,
+feralsuit,0,23,
+feonna_starglaze,4,23,
+fenndragon,0,23,
+fenimp_(coc),4,23,fenimp_(corruption_of_champions)
+feminist,0,23,
+female_friend_(panken),4,23,
+felicia_(terryburrs),4,23,
+felibot,4,23,
+feinreil_111,1,23,
+federico_panella,1,23,
+feces_on_tongue,0,23,
+feces_on_self,0,23,
+feces_covered,0,23,
+fearingfun_(character),4,23,
+faye_valentine,4,23,faye_(cowboy_bebop)
+fatale,4,23,
+farsek,1,23,
+fapchop,1,23,
+fang_matos,4,23,
+fan_colored,0,23,
+familiar_(helelos),4,23,
+falstaff,4,23,
+falseflag,1,23,
+falcon_punch,0,23,
+fake_equine_ears,0,23,"fake_equine_ear,fake_horse_ear,fake_horse_ears"
+fail_zero,4,23,
+faellin,1,23,
+face_on_chest,0,23,
+face_kick,0,23,
+fabian_(zoophobia),4,23,
+eyeswings,1,23,
+eyebrow_spikes,0,23,
+eye_chart,0,23,
+extyrannomon,5,23,
+external,0,23,
+expressive_sound_effect,0,23,
+exposing_reflection,0,23,
+explosive_mines,0,23,"explosive_mine,landmine"
+existential_crisis,0,23,
+evilkitty3,1,23,
+evil_eyes,0,23,
+eversong_interrogations,3,23,
+eve_(coffinberry),4,23,
+eva_(sem-l-grim),4,23,
+eva_(mr-yiffy),4,23,
+european_rabbit,5,23,
+eugen_(iskra),4,23,
+ethan_(thaine),4,23,
+ethan_(arknights),4,23,
+estix,4,23,
+esmareld,4,23,
+eskimo,0,23,
+escher_drxii,4,23,
+esacosaverde,1,23,
+ernesto_(rebeldragon101),4,23,
+eris_bird,4,23,
+erin_(9tales),4,23,
+erection_under_speedo,0,23,
+epicyon,5,23,
+enit_(alacarte),4,23,
+enigma_(artist),1,23,
+engy_(character),4,23,
+encanto_(2021),3,23,
+emily_(10livesleft),4,23,emily_(cavix)
+emeraldeye,1,23,
+emerald_necklace,0,23,
+emerald_mist,4,23,
+emellond,1,23,
+elle_andrews,4,23,
+elix,4,23,
+elgato17,1,23,
+elenazilla,1,23,
+eldritch,0,23,
+elcnusmedy,1,23,
+eggshell,0,23,
+eddie_(ice_age),4,23,
+ed_(nidogatr),4,23,
+ed_(fuze),4,23,
+echo_saber,1,23,
+earthowl,1,23,
+ear_bow_(anatomy),0,23,
+dz'isu,5,23,
+dylarts,1,23,
+dxoz,1,23,
+dutcher,4,23,
+dustybeau_(artist),1,23,
+dusky_the_dusky,4,23,
+dullehan,1,23,
+dulce_ratoncita,1,23,
+duduka,4,23,
+duamutef,4,23,
+dry_bowser,4,23,
+druid_(feral),0,23,
+dropped,0,23,
+drinking_horn,0,23,
+dreamy,0,23,
+drawindonkey,1,23,
+drasna_(pokemon),4,23,drasna_(pokémon)
+drasami,4,23,
+dralam,1,23,
+drakku,4,23,
+drakkmac,1,23,
+drake_(musician),4,23,
+dragonketsu,1,23,
+dragoneater,1,23,
+dragonbros,3,23,
+dracostar,4,23,
+dracaris,4,23,
+dr.tanner,1,23,
+dr.francat,1,23,
+dr._heros_sooniecher_(heroicones),4,23,
+doraemonbasil,1,23,
+donryu_(character),4,23,
+donkey_kong_64,3,23,
+donguri306,1,23,
+dolores_(apoetofthefall),4,23,
+doinks-ahoy,1,23,
+doghead_(dungeon_fighter),4,23,
+doggy_(disambiguation),6,23,doggy
+dlpeattie,1,23,
+divadale_(snakedakyoot),4,23,
+distended_stomach,0,23,
+discarded_pants,0,23,
+dipped_tail,0,23,
+dio_uryyy,1,23,
+dimitri_2_(101_dalmatians),4,23,
+dillon_blake_jr,4,23,dillon_(ritts)
+different_artstyle,0,23,
+diego_(sniffur),4,23,
+didi,4,23,
+diasfox,1,23,
+dexter_(littlerager),4,23,
+devourer,5,23,
+deviantart_logo,0,23,
+deva_(kri5),4,23,
+desertyrain_minrok,4,23,
+dershep,4,23,
+derpynaut,1,23,
+derimiko,1,23,
+denise_hyena,1,23,
+denim_(hirurux),4,23,
+denext25,1,23,
+demi-human,0,23,
+demfox19240,1,23,
+demarticus_stone,4,23,
+demani,4,23,
+delphinium,4,23,
+delfina,4,23,
+deepfriedlemons,1,23,"deep_friedlime,deep_friedlime_(artist),deepfriedlemons_(artist),deepfriedlime,deepfriedlime_(artist)"
+decorating,0,23,
+deathpwny,1,23,
+deathlock-san,4,23,
+dc_super_hero_girls,3,23,
+dazed_(artist),1,23,
+dawn_(character),4,23,
+dave_(martythemarten),4,23,
+date_rape,0,23,
+darlan_bunnit,4,23,
+darkneji,1,23,
+darklycan,1,23,
+darkelfaqua,1,23,
+darkarlett_(character),4,23,
+dark_urine,0,23,
+dark_hare,4,23,
+dark_belt,0,23,
+darius,4,23,
+darcknessart,1,23,
+dantewolfguy,1,23,
+dante_(thelaststarfighter),4,23,
+danny_(nitw),4,23,dan_(nitw)
+danny_(disambiguation),4,23,danny
+danish_flag,0,23,
+danimate,1,23,
+daniel_goldcoin,1,23,
+danelda,4,23,
+dancrescentwolf,1,23,
+dan_(fuf),4,23,
+damian,4,23,
+dakota_(baito),4,23,
+daisy_smata,4,23,
+daisy_moore,4,23,
+dahliathefox,1,23,
+daelin,4,23,
+cyran,1,23,
+cynik,1,23,
+cycloned,1,23,
+cyclical_arrow,0,23,
+cybunny,5,23,
+cyborg_taur,5,23,
+cyan_fox_cody,4,23,
+curus_keel,4,23,
+curly,4,23,
+cupcake_(character),4,23,
+cunnilingus_request,0,23,
+cumbreon,4,23,
+cum_rocket,0,23,
+cum_on_building,0,23,
+cum_gushing,0,23,
+cum_blockage,0,23,
+cubi_(dragon),4,23,
+crystal_dragon,5,23,
+crowned_pigeon,5,23,
+crotchless_swimwear,0,23,"crotchless_swim_suit,crotchless_swim_wear,crotchless_swimsuit"
+crotch_zipper,0,23,
+crotch_markings,0,23,
+crosshair_eyes,0,23,
+crocwife,1,23,
+croconaw_(asbel_lhant),4,23,
+crescentcanine,1,23,
+creepy_castle,3,23,
+crayfish,5,23,crawfish
+crash_(ice_age),4,23,
+coyrin,1,23,
+cow_horns_crown,0,23,
+cotton_le_sergal_(character),4,23,
+corpsmanwelt,1,23,
+coraline_(oblivion_zero),4,23,
+copper_plume_(oc),4,23,
+constipation,0,23,
+comoro_flying_fox,5,23,"livingstone's_fruit_bat,livingstones_fruit_bat"
+cometu,1,23,
+comet_(fvt),4,23,
+colours_(colouringbook),4,23,
+coloring_book,0,23,colouring_book
+college_tem_(jyto),4,23,
+collapsed_dorsal_fin,0,23,
+coldfire,4,23,
+cohock_(splatoon),5,23,
+cocothemunchkin,1,23,
+cocooned,0,23,
+coco_(pixar),3,23,
+cockroach_humanoid,5,23,roach_humanoid
+cockatrice_(mlp),4,23,
+cock_teasing,0,23,
+cock_in_ass,0,23,
+cobalt_(disambiguation),4,23,cobalt
+clubviacavo,1,23,
+cloud_weaver,4,23,
+clothed_intersex_nude_herm,0,23,
+clothed_ambiguous_nude_male,0,23,"c?nm,nmc?"
+close_call,0,23,
+cloacal_piercing,0,23,cloaca_piercing
+clingyhyena,1,23,
+cling,0,23,
+clevzx,1,23,
+cleo_(sharkrags),4,23,
+clemikou,1,23,
+clayton_(amwulf),4,23,
+classic_doom,3,23,
+clara_hopper,4,23,
+claire_gillard,4,23,
+citrine1105,1,23,
+cinnamon_(dankflank),4,23,
+chuy_draws,1,23,
+chronormu_(warcraft),4,23,
+chron_(ahnik),4,23,
+chocolate_cum,0,23,
+chobin_hood,4,23,
+chloe_(zaush),4,23,
+chlamydoselachid,5,23,chlamydoselachidae
+chiquita_(lexoastonov),4,23,
+chicken_wings,0,23,
+chiba_tetsutarou,1,23,
+chester_(extracurricular_activities),4,23,
+chest_torture,0,23,
+chest_fuzz,0,23,
+cherub_(homestuck),5,23,"cherub_(hs),homestuck_cherub"
+cherish,4,23,
+chen_shi_(white_cat_legend),4,23,
+chelsea_(maddeku),4,23,
+cheese_a,1,23,
+chedx,1,23,
+cheat_accusation,0,23,
+chazwolf,4,23,
+chasey_ultra_beast_goodra,1,23,
+charlotte's_web,3,23,
+char_(nonarycubed),4,23,
+champions_online,3,23,
+chakra,0,23,
+ceylidh_(scoota),4,23,
+cerberus_(cerberus),4,23,
+ceo,0,23,
+centiskorch,5,23,
+cells_at_work!,3,23,
+ccced,1,23,
+caucasian,0,23,
+catsstuff,1,23,
+catholic,0,23,
+catbed_(artist),1,23,
+casey_(tuke),4,23,
+casey_(clementyne),4,23,
+casey_(chris13131415),4,23,
+carved_horn,0,23,"carved_horns,engraved_horn,engraved_horns"
+cartoonsaur,1,23,
+carrudra,1,23,
+caribbean_fox,1,23,
+car_accident,0,23,
+captain_qwark,4,23,
+captain_courage,4,23,captain_courage_(mlp)
+captain_(willplay1a),4,23,
+captain_(kemono_friends),4,23,
+canned_food,0,23,
+canine_plushie,0,23,
+candor,4,23,
+camo_headgear,0,23,
+callmedarky,1,23,
+callisto_(yakushishi),4,23,
+calling_out,0,23,
+callie_(vtechgamez88),4,23,
+caliginousmane,1,23,
+cali_(kittyprint),4,23,cali_(nightshade89)
+caleb_(dingah),4,23,
+calazotauvu,1,23,
+cal_(kumammoto),4,23,
+cake_top_(cake_top),4,23,
+cake_(honey-beest),4,23,
+cait_sith_(tas),4,23,
+cail_(exelzior),4,23,
+caelo_stellar,4,23,
+cael_o'donnell,4,23,
+cadmus_(cadmus),4,23,
+cabronpr,1,23,
+cabal_(destiny),5,23,
+bärmey_jäçar,4,23,barmey_jacar
+bylisboa,1,23,
+by_moan,1,23,
+buttplug_leash,0,23,
+button_(control),0,23,
+bust-a-move,3,23,
+bus_stop_sign,0,23,
+bunnysuitconman,1,23,
+bunnyqueen,1,23,
+bunniecope,1,23,
+bumped_tentacles,0,23,
+bullstorm,1,23,
+bullet-blast-43,1,23,
+bulbawhore,4,23,
+buffet,0,23,
+bucky_(sunnyhoneybone),4,23,
+bucket_of_semen,0,23,
+bubbles_(character),4,23,
+bubble_speech,0,23,
+bryta_(zummeng),4,23,
+brynja_(coc),4,23,
+brushwork,1,23,
+brunorust,1,23,
+brucie_(word360),4,23,
+bruce_wayne,4,23,
+brown_cum,0,23,
+brown_bandanna,0,23,
+brostone_brohoof,1,23,
+broken_zipper,0,23,
+britney_(lordstormcaller),4,23,
+breast_bow,0,23,
+breakup,0,23,
+break_(disambiguation),6,23,break
+bramdon_(supplesee),4,23,
+brain_dead_13,3,23,braindead_13
+brady_(armorine),4,23,
+bpflyingcircus,1,23,
+box_tie,0,23,
+bowrb_(character),4,23,
+bow_skirt,0,23,
+bow_apron,0,23,
+bottles_(banjo-kazooie),4,23,"bottles_(banjo_kazooie),bottles_(banjokazooie),bottles_(bk),bottles_the_mole"
+boss_battle,0,23,
+bored_ape_yacht_club,3,23,
+boom-boom_beagle,4,23,
+bonniegame31,1,23,
+bondage_ring,0,23,
+body_stack,0,23,
+body_part_in_cloaca,0,23,
+bodily_fluids_on_face,0,23,
+bob_ross,4,23,
+bob_(overwatch),4,23,
+blyze,4,23,
+bluezeru,1,23,
+blue_pussy_juice,0,23,
+blue_bunting,5,23,
+bloom_(rodinsinker),4,23,
+bloody_tears,0,23,
+bloodsoakedsnow,1,23,
+blitzy-arts,1,23,
+blazer_(dark441),4,23,
+blancathewolfdog,3,23,
+blaine_(truegrave9),4,23,
+blackwolf,1,23,
+blackrose_(.hack),4,23,"blackrose_(dot-hack),blackrose_(dot_hack)"
+blackchain,1,23,
+black_sleeveless_shirt,0,23,
+black_scutes,0,23,
+biting_political_commentary,0,23,
+biting_pear_of_salamanca,4,23,
+biscus,4,23,
+birdie_the_early_bird,4,23,
+biolumine,1,23,
+binbogusa,1,23,
+bimbo_bread,3,23,
+big_teres_major,0,23,
+bhaskara,4,23,
+betty_the_monitor,4,23,
+betting,0,23,
+berndem-bones,1,23,
+berial,4,23,
+ben_(fuze),4,23,
+belovedfoxx,1,23,
+bellyboi13,1,23,
+behind_view,0,23,
+beats_(monster_hunter),4,23,
+beastsurvivor,1,23,
+beast_machines,3,23,
+bear_(sayuncle),4,23,
+beach_bar,0,23,
+battybuttguy_(artist),1,23,
+bathroom_sink,0,23,
+bastiel_(character),4,23,
+baseball_base,0,23,
+bartending_crow,1,23,
+baron_the_raichu,1,23,
+bariumfox,1,23,
+barechested,0,23,
+bane_(identity_v),4,23,
+bandoned,1,23,
+bandetto,4,23,
+band-aid_on_nipple,0,23,
+baiko,4,23,
+bai_se_(aennor),4,23,
+baggi,5,23,great_baggi
+baera,4,23,
+baeowulf,1,23,
+badcactus,1,23,cactusburglar
+back_spots,0,23,
+baby_blue_(phoberry),4,23,
+b0nf1r3,1,23,
+azureblues,4,23,
+azure_velour_(mlp),4,23,
+azure_muneca,4,23,
+axie_(ad_axie),4,23,
+awp,0,23,
+awoken,5,23,
+awkward_pose,0,23,
+avilon_(fursona),4,23,
+aviansie,5,23,
+avelos_(character),4,23,
+ava_shaw,4,23,
+autobot_insignia,0,23,
+austin_(lonmo),4,23,
+aurora_starling,4,23,
+aurora_(insomniacovrlrd),4,23,
+aurelius,4,23,
+aukoon,1,23,
+aubrey_(character),4,23,
+atomic_corenthal,4,23,
+atinka8,1,23,
+ata_(anaid),4,23,
+asteyr,4,23,
+assistant,4,23,
+aspev,1,23,
+asotil,4,23,
+aside_glance,0,23,
+ashley_(ashleypikachu),4,23,
+ashe_(lol),4,23,ahshe_(lol)
+ash_the_gecko,4,23,
+ash_louren,1,23,
+asarkadraws,1,23,
+asahina_yasuyoshi,4,23,
+arylena_(character),4,23,
+arulouprouge,1,23,
+artorias_(artist),1,23,
+artofrhues,1,23,
+artificial_turf,0,23,
+artararam,1,23,
+arnold_(software),3,23,
+armpit_focus,0,23,
+armess,1,23,
+armenfilm,3,23,
+armeline_zobelpelz,4,23,
+arm_scales,0,23,
+arkdoggo,1,23,
+arjuna_(character),4,23,
+arisel_uwu,1,23,
+ariana_'ari'_(darkflamewolf),4,23,
+ariadne,4,23,
+ari_(kalofoxfire),4,23,
+arcade_stick,0,23,
+arc_nova,4,23,
+arbitgon,4,23,
+arashi_(leobo),4,23,
+ara_(buta99),4,23,
+apollo_(artist),1,23,
+apollo,4,23,
+any_dragonn,1,23,
+antonella_kahrman,4,23,
+anthroraptor,1,23,
+antarctic_press,3,23,
+ano,4,23,
+anne_(cocolog),4,23,
+ankle_crossing_shin,0,23,
+animal_limbs,0,23,
+aniki_faux_(character),4,23,
+angelgatomon_(character),4,23,
+anfys,4,23,
+andromorph_on_anthro,0,23,"andromorph/anthro,cuntboy_on_anthro"
+android_lillia,4,23,
+andersonchii,1,23,
+ancesra_(ancesra),4,23,
+analog_raccoon,1,23,
+anajir,4,23,
+anahita_(monster_girl_gamu),4,23,
+amphy,4,23,
+amoniaco,1,23,
+ammo_fetish,0,23,
+amerok,4,23,
+amelia_ves,4,23,
+amber_(that_thicc),4,23,
+amber_(sequential_art),4,23,
+alyx_(sheela),4,23,
+aluminum_can,0,23,
+aludiana_(sinister),4,23,
+alternate_gender,0,23,
+alq,1,23,
+alphazion,3,23,
+alphaschakal,4,23,
+almighty_tallest_red,4,23,
+alma_(impaledwolf),4,23,
+alittlepony,1,23,
+alfa_quinto_(character),4,23,
+alexw95,1,23,
+alexandros,4,23,
+alexandrevla,1,23,
+alexandraflordicharlotte,1,23,
+alex_winter_(artist),1,23,
+alex_(pickles-hyena),4,23,
+alekthebeasty,1,23,
+aldy_(aldyderg),4,23,
+aldharoku,1,23,
+aldemar,4,23,
+albinodragon,1,23,
+alacorna,0,23,
+akane_(nandred),4,23,
+akacia,1,23,
+aji_arts,1,23,
+aisha_(longinius),4,23,
+ahwu_sensei,1,23,
+ahegao8,1,23,
+against_vehicle,0,23,
+afika,5,23,
+afelinesguiltypleasure,1,23,
+aero,4,23,
+adventure_freddy_(fnaf),4,23,
+adventure_foxy_(fnaf),4,23,
+adry53,1,23,
+adoohay,1,23,
+adcoon,1,23,
+acus,1,23,
+acid_trip,0,23,
+abzollozdol,1,23,
+abu_(aladdin),4,23,
+absolut_vodka,3,23,
+abc_insects,3,23,
+abby_(caldariequine),4,23,
+a_clockwork_orange,3,23,
+>:|,0,23,
+9:13,7,23,
+7_heads,0,23,"7_head,7_headed,seven_head,seven_headed,seven_heads"
+5toes,0,23,
+5gomashio,1,23,
+427deer,1,23,veeight
+32rabbitteeth,1,23,
+2d,0,23,
+24:23,7,23,
+20:21,7,23,
+180_penis,0,23,
+15:22,7,23,
+15:11,0,23,
+14:17,7,23,
+11natrium,1,23,
+10_limbs,0,23,
+zvn,1,22,
+zoot_suit,0,22,
+zoorama_comics,3,22,zoorama
+zoomer_(nanoff),4,22,
+zoey_(boolean),4,22,
+zoe_(jay_naylor),4,22,
+ziude_(character),4,22,
+zipper_skirt,0,22,
+zillion_ross,1,22,imaginatively_unimaginative
+zidonuke,4,22,
+zicker,1,22,
+zevtibull,1,22,"zevti_bull,zevti_bull_(artist),zevtibull_(artist)"
+zetamath,1,22,
+zerospanda,1,22,
+zephyr_(warframe),4,22,
+zenia_wolf,1,22,
+zekit,1,22,
+zeke_(chewycuticle),4,22,
+zeal_(fleetwoodbrak),4,22,
+zazpihuts,1,22,
+zazi,4,22,
+zayne_kingsley,4,22,
+zayne_camacho,4,22,
+zatanna,4,22,
+zarra_(artist),1,22,
+zanji_zamamura,4,22,
+zanakil,1,22,
+zaiksmckraven,1,22,
+zack_the_dragon,4,22,
+z-ton,1,22,
+z-littlequeen,1,22,
+yuqoi,1,22,
+yunicoon_(character),4,22,
+yukon,4,22,
+yuki_(tooboe_bookmark),4,22,
+yuka_(layer),4,22,
+ysabelle_kentuck,4,22,
+yotiecoyote,4,22,yotie
+yori_the_raunikayle,4,22,
+yonsia,1,22,
+yodi_(oc),4,22,
+yiffy_foxy,1,22,
+yellow_necklace,0,22,
+yellow_head_tuft,0,22,
+yeeta_the_puppy,4,22,
+year_of_the_snake,3,22,
+year_of_the_rabbit,3,22,year_of_the_hare
+yaya_han,1,22,
+yasiplay,1,22,
+yarre_(darkdiviner16),4,22,
+yans_the_furret,4,22,
+yakizu_asaki,4,22,
+yahg,5,22,
+yafath,1,22,
+y_inuwashi,1,22,
+xxxyamayidaqi,1,22,
+xxsanitariumxx,1,22,
+xmobile,1,22,
+xiaoman_(yogin),4,22,
+xerhom,3,22,
+xcometx,1,22,
+x-cross,1,22,
+wynne_patton,4,22,
+wrongcable,1,22,
+wovstah,1,22,starchildebrite
+worship_play,0,22,
+wordsworth,4,22,
+wooden_post,0,22,
+wolvar,5,22,
+witch_(stitch!),4,22,"experiment_610,witch_(l&s),witch_(las),witch_(lilo_&_stitch),witch_(lilo_and_stitch),witch_(stitch)"
+wingsandfire72,1,22,
+windea,5,22,
+willowbee,4,22,
+willow_(zwerewolf),4,22,
+wildkicheko,1,22,
+wiishyishii,1,22,
+wiggler,5,22,
+whoops,0,22,
+whitexterior,1,22,
+white_spy,4,22,
+white_rug,0,22,
+white_fang_(tenebscuro),4,22,
+white_day,3,22,
+white_bed_sheet,0,22,
+wheresmyale,1,22,
+where's_waldo?,3,22,
+whan,1,22,
+wet_floor_bot_(fnaf),4,22,
+wesleyfoxx,4,22,
+werewolf_costume,0,22,
+wendy_(bluey),4,22,
+weathervane,0,22,
+weaselchu,1,22,
+wdj,1,22,
+wayward_martian,1,22,
+wax_creature,5,22,
+water_spirit,5,22,
+wasim_(meesh),4,22,
+washing_partner,0,22,
+wash,0,22,
+warlock_(destiny_2),0,22,
+warhammer_(weapon),0,22,
+wangsworth,4,22,
+waltt,4,22,
+wally_wallechinsky,4,22,
+wallswallswalls,1,22,
+wafer,0,22,
+waa153,1,22,
+vulprofox,1,22,
+vss_vintorez,0,22,
+vreayu,1,22,
+vonark,1,22,
+voltybee,1,22,
+void_monster,5,22,
+vixlries,1,22,
+vix_archaser,4,22,
+vivi_(schmuccubus),4,22,
+vivi_(brain_dead_13),4,22,
+vivamus_lican.,1,22,
+vista,4,22,
+virile_andromorph,0,22,
+viridian_dawn,4,22,
+vinny_griffin,4,22,
+vina,4,22,
+videl,4,22,
+vicuna_dog,4,22,
+victorneko,1,22,
+victoria_(pockediginut),4,22,
+victoria_(mrmadhead),4,22,
+vicky_(fop),4,22,"vicky_(the_fairly_oddparents),vicky_the_babysitter"
+vezaur,4,22,
+verbal_consent,0,22,
+vene,1,22,
+velvet_(odin_sphere),4,22,
+vellacraptor,1,22,
+veiny_wings,0,22,
+vega,4,22,
+vavelu,1,22,
+varix,1,22,
+varga,4,22,
+vann_(felwinn),4,22,
+vanity_(furniture),0,22,
+vanguard,4,22,
+vanga,4,22,
+vance_sloan,4,22,
+vampire_the_masquerade,3,22,
+vampi,1,22,etrii
+valor_(eonshinato),4,22,
+valley_(grimart),4,22,
+valkyrie_the_corrupt_sergal,4,22,
+valeria_fills,1,22,
+vacuum_tube,0,22,
+v-v,1,22,
+usb_drive,0,22,
+usagina_(sergiroth),4,22,
+urine_in_condom,0,22,
+urine_from_nose,0,22,
+urethral_candle,0,22,
+unstableimagination,1,22,
+unichrome-uni,1,22,
+uni_hkdm_gsg,1,22,
+undine,5,22,
+undergroundj,1,22,
+under_butt,0,22,
+uncle_chuck,4,22,
+unattendedmilk_(artist),1,22,
+umejiru,1,22,
+umbu_yvynya,4,22,
+uktemperance,4,22,
+ukagaka,3,22,
+udon,0,22,
+uchimaru,1,22,
+u5rilla_ktzk,1,22,
+tzitzi-ya-ku,5,22,tzitzi_ya_ku
+tyr,4,22,
+tygrysiolowek,1,22,
+tya.,1,22,
+two_tone_loincloth,0,22,
+two_tone_headset,0,22,
+two-tone_tail,0,22,
+twitching_anus,0,22,
+twilight_(series),3,22,
+twi,4,22,
+tuxie,4,22,
+turnsky,1,22,
+turning_back,0,22,
+turner_(grafton),4,22,
+tunky_(furryfight_chronicles),4,22,
+tumblr_ask,0,22,
+tukamos_(character),4,22,
+tsukiji,1,22,
+tsukamototgg,1,22,
+tsavo_(slightly_damned),4,22,
+trumpeter_swan,5,22,
+true_fire,4,22,
+trishabeakens,1,22,
+trina_park_(sketchybug),4,22,
+trimean,1,22,
+triforce_symbol,0,22,
+trevor_(sailoranna),4,22,
+tremble_(oc),4,22,
+treesong,4,22,
+treads,0,22,
+tre_(chuki),4,22,
+trashpandalucas,1,22,
+translucent_curtains,0,22,
+transformation_transition_frame,0,22,
+transformation_transition_effect,0,22,
+tradition,0,22,
+tracy_mombaro,4,22,
+trace_raymes,4,22,trace_(daswuetend)
+toynnies,1,22,
+toxi,4,22,
+toukiden,3,22,
+touching_own_crotch,0,22,
+touch_fluffy_tail,0,22,
+toria,4,22,
+topwear_down,0,22,
+toonlancer,1,22,
+tonycomics,3,22,
+tongue_on_foot,0,22,
+tomodachi,1,22,
+tommy_(tornato33),4,22,
+tomimi_(arknights),4,22,
+tolbi_angara,4,22,
+tokyo_disneyland,3,22,
+tokumaru_(cocotama),4,22,
+tokiya_sakuba,1,22,
+toilet_sharing,0,22,
+todviorns,1,22,
+tobias_(fox),4,22,
+tlailaxu,3,22,
+tiredbrony,1,22,
+tio,4,22,
+tinbash,1,22,
+tin_woodman,4,22,"the_tin_man,the_tin_wood_man,the_tin_woodman,the_tin_woods_man,the_tin_woodsman,tin_man,tin_woodsman"
+timothy_goes_to_school,3,22,
+tiluta,1,22,
+tigra_watanabe,1,22,
+tigmint,4,22,
+tight_highs,0,22,
+tigerfur,1,22,
+tigeraf,1,22,
+tiberius_(mlp),4,22,
+thweatted,1,22,
+thrusters,0,22,
+thrushes,1,22,
+throw_net,0,22,
+throbbing_pussy,0,22,
+throatspit,1,22,
+thought_bubble_outside_panel,0,22,
+thomas_and_friends,3,22,
+thistle_candytufts,4,22,
+thirty8ght,1,22,
+third_reich,0,22,
+think_tank_(fallout),5,22,
+therealnaffy,1,22,
+theodous,4,22,
+theodore_winters,4,22,
+themauvestorm,1,22,
+thematelija,1,22,
+thehungrysuccubus,1,22,
+thehiggles,1,22,
+theflerffyburr,1,22,
+thedrunk,1,22,
+thebmeister,1,22,
+the_wall_(album),3,22,
+the_tower_(tarot),0,22,
+the_stare,0,22,
+the_queen's_corgi,3,22,
+the_lovers_(tarot),0,22,
+the_king_of_fighters,3,22,
+the_get_along_gang,3,22,get_along_gang
+the_fimbul_pack,1,22,
+the_f_tales,3,22,
+the_eighth_sign,3,22,
+the_dark_one,4,22,
+thatcatzoey,1,22,
+tharja_(fire_emblem),4,22,
+thalia_(milkriot),4,22,
+thal_verscholen,4,22,
+text_on_thigh_highs,0,22,
+tess_sovany,4,22,
+terverai,1,22,
+terri_(morkai88),4,22,
+terra_kane,4,22,terra_(terdburgler)
+tera_zip,1,22,
+teporingo_(species),5,22,
+tentacle_on_head,0,22,
+tenna1869,1,22,
+tengzai05,1,22,
+tempus_incurvo,4,22,
+telroth,4,22,
+teioh,4,22,
+teikaku,1,22,
+teddy_winters,4,22,
+tea_kettle,0,22,
+tavia,4,22,
+taurus_(symbol),0,22,
+tarumeow,1,22,
+tanya_(satsumalord),4,22,
+tanya_(dullpoint),4,22,
+tantrum_bunny,4,22,
+tannim,4,22,
+tan_eyelids,0,22,
+tammy_(starfighter),4,22,
+talpimado,4,22,
+tal_rex,4,22,
+takezamurai,1,22,
+takaoka_motofumi,1,22,
+tails_of_iron,3,22,
+tailblade,0,22,
+tailbiter,1,22,
+tail_under_clothing,0,22,
+tail_scales,0,22,
+tail_decoration,0,22,
+tae_(pkuai),4,22,
+t_(doneru),4,22,
+t2death,1,22,
+t-four,4,22,
+szaeravar,4,22,
+syrup_(kumalino),4,22,
+syrinoth_(character),4,22,
+synx_ryugami,1,22,
+synthesizer,0,22,"synth_(instrument),synth_(musical_instrument),synth_instrument,synthesiser"
+synandcynaria,1,22,
+symbiotic,0,22,
+sylvester_merrimen,4,22,
+sylox,4,22,
+sy_freedom,4,22,
+sweethellgirl,1,22,
+sweetapple_(mxxnkiddo),4,22,
+swamp_(character),4,22,
+sus,0,22,
+surprise_oral,0,22,
+suri_(disambiguation),4,22,
+supreme_kai_of_time,4,22,
+superbusty,1,22,
+superboo,1,22,
+summer_(summerlong),4,22,
+suggestive_print_clothing,0,22,
+sucking_anus,0,22,
+sucked_and_plowed,0,22,
+submerged_hand,0,22,
+subjectdie_(artist),1,22,
+stuck_to_butt,0,22,
+stuck_balls,0,22,
+stripetease,1,22,
+striped_tank_top,0,22,
+striped_neckwear,0,22,
+striped_knee_socks,0,22,
+stripe-faced_fruit_bat,5,22,"stripe_faced_fruit_bat,styloctenium"
+street_corner,0,22,
+streaks_skunk,4,22,
+strawberry_milk_(artist),1,22,
+strawberry_milk,0,22,
+strangethings,1,22,
+storytelling,0,22,
+storm_(marvel),4,22,storm_(x-men)
+stonedshiba,1,22,
+stink_bug,5,22,
+stiletto_fly,5,22,
+sticky_(stickysheep),4,22,
+stick_legs,0,22,
+steven,4,22,
+steaming_body,0,22,
+starling_(snowrose),4,22,
+staredown,0,22,
+stardustpony,1,22,
+stanley_(disambiguation),4,22,stanley
+stalafarnahe,1,22,
+squall_leonhart,4,22,
+sprocket_(oc),4,22,
+spottedleaf_(warriors),4,22,
+spotted_chest,0,22,
+spotted_breasts,0,22,
+spotted_bikini,0,22,
+spoopy-abby,1,22,
+spooniel,1,22,
+spooderdoodler,1,22,
+spock,4,22,
+spitting_out,0,22,
+spitshy,1,22,
+spirit_(kioreii),4,22,
+spinel_(steven_universe),4,22,
+spikes_wisp,5,22,
+spiked_back,0,22,
+spike_elatha,4,22,
+spices,0,22,
+spicedrake,1,22,
+specter_koen,4,22,
+speckledsage,1,22,
+spats_(lilo_and_stitch),4,22,"experiment_397,spats_(l&s),spats_(las),spats_(lilo_&_stitch),spats_(stitch)"
+sparxus,4,22,
+sparky_fritz,4,22,sparky_(purrfect_apawcalypse)
+sparkly_eyes,0,22,
+sparkchu01,1,22,
+sparkchu,4,22,
+spark_(sparkitty),4,22,
+spaghetti_top,0,22,
+spacian,5,22,
+spa_ponies_(mlp),4,22,
+soraru_(sorafoxyteils),4,22,
+sorajona,1,22,
+sora_(arknights),4,22,
+sonjaarashi,1,22,
+sonitweek,1,22,
+sonikey0_0,1,22,
+sonic_legacy,3,22,
+solo_intersex,0,22,
+soleo_the_solgaleo,4,22,
+sole_(saltyman66),4,22,
+sol_(fidchellvore),4,22,
+sohmder,5,22,
+sogravid,1,22,
+soggygoat,1,22,
+softuftos,1,22,
+soda_inflation,0,22,
+sockings,0,22,
+soccer_net,0,22,
+snowmads,4,22,
+snoway,1,22,
+snickersthecat,1,22,
+snail_humanoid,5,22,
+snackable,1,22,
+smutbank08,1,22,
+smelling_penis,0,22,
+small_fry,5,22,
+slurpee,0,22,
+slickpuppy,1,22,
+slick,0,22,
+sleepyscreen,1,22,
+sleeper_hold,0,22,
+slash_(tmnt),4,22,
+slapping_own_belly,0,22,
+slapfuzzy,1,22,
+skypup,4,22,
+skyfall,4,22,
+skrap,4,22,
+skmnt01,1,22,
+skiefire,4,22,
+skellymor,1,22,
+skellisquid,1,22,
+skaereth,4,22,
+sirkiller,1,22,
+siren_(the_binding_of_isaac),4,22,
+siren_(lightwolf27),4,22,
+sir_dragon,4,22,
+sipuha,1,22,
+sinker_(lilo_and_stitch),4,22,"experiment_602,sinker_(l&s),sinker_(las),sinker_(lilo_&_stitch),sinker_(stitch)"
+sinia,4,22,
+single_strap_shirt,0,22,
+sin_teal,1,22,
+simoon,1,22,
+silveryfeather,1,22,
+silverwolf_(character),4,22,
+silverwolf16,4,22,
+silverthings,1,22,
+silverfish,5,22,
+silver_stiletto_fly,5,22,
+silver_mane,0,22,
+silver_clothing,0,22,
+silver_(kemonogatari),4,22,
+silky_sifaka,5,22,
+silksong,3,22,
+silk_lace_(oc),4,22,
+silk_(dreamkeepers),4,22,
+siljan_clawson,4,22,
+silica_(forktongue),4,22,
+sikur,5,22,
+sierra_(exelzior),4,22,
+siela_(velannal),4,22,
+siegebeast,1,22,
+side_table,0,22,
+sicks_(sc0rpio),4,22,
+si_(lady_and_the_tramp),4,22,
+shutupjen,1,22,
+shuttlecock,0,22,
+shui,4,22,
+shrike_(shaymin),4,22,
+showoff,0,22,
+shoru_(character),4,22,
+shon_(shonarts),4,22,
+shiverfox,1,22,
+shivah,4,22,
+shirley_robins,4,22,
+shira_seskai,4,22,
+shinobu,4,22,
+shinkei_shinto_(artist),1,22,
+shinigami,5,22,
+shikyotis,1,22,
+sheyza,4,22,
+sheta,4,22,
+sheriff_(artist),1,22,
+shepy_vilkavos,4,22,
+shenandoah,4,22,
+shembreopheline,1,22,
+shellvi,1,22,
+sheilah_(5h3i1ah),4,22,
+sheela_(supamerch),4,22,
+shayla_(tatanos),4,22,
+shaw_(arknights),4,22,
+shaved_tail,0,22,
+shaun_the_sheep,3,22,
+shatteter,1,22,
+sharkliver,1,22,
+shampoo_(ranma_1/2),4,22,
+shallowwin,1,22,
+shalinka_(character),4,22,
+shahra_genie_of_the_ring,4,22,"genie_of_the_ring_(sonic),shahra,shahra_the_ring_genie"
+shadowraine,1,22,
+shadowcat_(artist),1,22,
+shaded_color,0,22,
+shabby_blue,1,22,
+sex_club,0,22,
+sex_and_the_furry_titty,3,22,
+seungnyangi,4,22,
+seto_kaiba,4,22,
+set_beast,0,22,
+servants,0,22,
+serratia,4,22,
+serenity_stinkbug,4,22,
+sereina,4,22,
+seregir,4,22,
+seras_(ratherdevious),4,22,
+serarokusu,1,22,
+sequel,0,22,
+seppuku_(artist),1,22,
+sephra,1,22,
+senholl,4,22,
+seleccion_canina,3,22,
+seirsinclair,4,22,
+secret_d_devil,1,22,
+sebulba,4,22,
+sebastian_(angels_with_scaly_wings),4,22,sebastian_(awsw)
+scylez,4,22,
+scrotum_ladder,0,22,
+scrotal_raphe,0,22,
+scratching_sound_effect,0,22,
+scratchdex,1,22,
+scrapgoat,5,22,
+score_(mlp),4,22,
+scorchingnova,1,22,
+scorbunny_(artist),1,22,
+sazzy,4,22,
+satyn,4,22,
+satoru_iwata,4,22,
+satanick,4,22,
+sasha_(trunchbull),4,22,
+saros_(copperback01),4,22,
+sari_sumdac,4,22,
+sarah_handlebach_(spiff),4,22,
+sandy_rivers,4,22,
+sandopoliszone,1,22,
+sandbag_(super_smash_bros.),4,22,
+sanaki_koga,4,22,
+san_(tigerinspace),4,22,
+sammy_darkeye,4,22,
+sami_(character),4,22,
+samantha_drazelle,4,22,
+sam_(tiquana),4,22,
+sairisha,4,22,
+saintmuerte,1,22,
+saigordon,1,22,
+sagari,0,22,
+sacredsun519,1,22,
+sachicoon_(char),4,22,
+sabre_(tabbysabby),4,22,
+saberspark,3,22,
+s.wolf,1,22,
+ryuko_tatsuma,4,22,
+ryme,1,22,
+ryanburr,1,22,
+ryan_(sing),4,22,
+ry_o,1,22,
+ry-u,1,22,
+ruth_evans,4,22,
+rushdownbirdie,1,22,
+rush_eloc_(rusheloc),4,22,
+running_towards_viewer,0,22,running_at_viewer
+running_eyeliner,0,22,
+runawaydanish,1,22,
+rumuu_magnalac,4,22,
+rukh_(gekko),4,22,
+rugby_uniform,0,22,
+rufus_(capra_goofus),4,22,
+rudy_(yourfavoritelemonade),4,22,
+rudinn,5,22,rudinn_(deltarune)
+rudeus_greyrat,4,22,
+rubbing_face,0,22,
+rubber_underwear,0,22,
+roukan_(pegasus),4,22,
+rougefetus,1,22,
+rosetta_(jludragoon),4,22,
+rose_the_lopunny,4,22,
+rose_(disambiguation),6,22,rose
+ron_falco,4,22,
+ron_(greenpanunk),4,22,
+rommy_winterlight,4,22,
+rometwin_(artist),1,22,
+roksanath,1,22,
+rokka_(doneru),4,22,
+rogbiejoke,1,22,
+rodney_(snoopjay2),4,22,
+roder_vasquez,1,22,"5mentarios,r_96"
+rockk,1,22,
+rocket-lawnchair,1,22,
+robloxian,5,22,
+robin_(shiro-neko),4,22,
+robin_(funkybun),4,22,
+rivus,1,22,
+rivibaes_(oc),4,22,
+riverta,4,22,
+riu,1,22,
+rita_(zer0rebel4),4,22,
+rissma_(maewix),4,22,
+riroryder,1,22,
+ripushko,1,22,
+rip_slyme,4,22,
+riocynn_ra'ak,4,22,
+ringofriend,1,22,
+rin_tōsaka,4,22,"rin_tohsaka,rin_tosaka,tohsaka_rin,tosaka_rin,tōsaka_rin"
+rimmed_silly,0,22,
+rim_lighting,0,22,
+riley_(jendays),4,22,
+rienn,4,22,
+rick_(kirby),4,22,
+ricebunny,1,22,
+rhino_penis,0,22,
+rex_(samanator_club),4,22,
+revy_(black_lagoon),4,22,
+revna_(garal),4,22,
+resting_on_arm,0,22,
+resistance,0,22,
+reshimom_(thiccwithaq),4,22,
+rennar,4,22,
+ren_winterfox_(artist),1,22,
+remmm,4,22,
+reminnoir,1,22,
+remadi,4,22,
+reinderworld,1,22,
+reigan,1,22,
+reia,4,22,
+rega,4,22,
+reed,4,22,
+redriver24816_(artist),1,22,
+reddoshirousagi06,1,22,
+red_wristband,0,22,
+red_sun,0,22,
+red_accessory,0,22,
+red-striped_basculin,5,22,"red-stripe_basculin,red-stripe_form_basculin,red-striped_form_basculin,red_basculin,red_form_basculin,red_stripe_basculin,red_stripe_form_basculin,red_striped_basculin,red_striped_form_basculin"
+rebecca_(cyberpunk_edgerunners),4,22,
+realistic_hypnosis,0,22,
+real-warner,1,22,
+rd_carpet,1,22,
+razor_mouse,4,22,
+raziel_(fleetwoodbrak),4,22,
+raylor_7,1,22,
+rawrzky,4,22,
+raven_quicksilver,4,22,
+raven_baxter,4,22,
+ratopombo,1,22,
+ratchetsly,1,22,
+rat_(petruz),4,22,
+raquel_wyld_(hth),4,22,
+range_weapon,0,22,
+ranek,4,22,
+randrana,4,22,
+rananya_(vrabo),4,22,
+ramuchoppu,1,22,
+ralian_(character),4,22,
+rakshani,5,22,
+raksha_noroi,4,22,
+raising_shirt,0,22,
+rainier_(artist),1,22,
+raindrop,0,22,
+rainbow_earring,0,22,rainbow_earrings
+raikuma,1,22,
+raiju,5,22,raijū
+rafin,4,22,
+raffle_prize,0,22,
+rafaknight-rk,1,22,"elesis-knight_elesis-knight_(artist),rafaknight"
+raelmon,4,22,taihourmon
+rachel_walker_(pawpadcomrade),4,22,
+racer,0,22,
+raccoon_ears,0,22,
+rabbit_panties,0,22,
+quiver_(quivster),4,22,
+quinton_(maxl8),4,22,
+quick_draw_mcgraw,4,22,quickdraw_mcgraw
+quest_(xenoyia),4,22,
+queen_kaliendra,4,22,
+quantum_deathclaw_(fallout),5,22,
+quadruple_handjob,0,22,
+pythor_(ninjago),4,22,
+pyronite,5,22,
+pygmy_hippopotamus,5,22,pygmy_hippo
+pussy_heart,0,22,
+pussy_fins,0,22,
+purrsia,4,22,
+purrcilla_(kazukio),4,22,
+purple_sleeves,0,22,
+purple_lactation,0,22,
+purple_genital_slit,0,22,
+purple_armband,0,22,
+purery_(archtype),5,22,
+pup_(grisser),4,22,
+punky,4,22,
+punichu,1,22,
+puncture_wound,0,22,
+pulling_down_shirt,0,22,
+pudutoast,1,22,
+ptolemy,4,22,
+psychofuchs,4,22,
+psychodjinn,1,22,
+pseudonymous,1,22,
+prunella_deegan,4,22,
+prowl_(transformer),4,22,
+print_skirt,0,22,
+print_gloves,0,22,
+princess_smolder_(mlp),4,22,
+princess_celestia_(eg),4,22,
+princess_(harvey_beaks),4,22,
+pride_color_thong,0,22,
+pride_color_stockings,0,22,
+pride_(undeadkitty13),4,22,
+prey_for_me_(comic),3,22,
+prescott,4,22,
+pregnant_growth,0,22,
+pred_quest,3,22,
+prairie_(kemono_friends),4,22,"black-tailed_prairie_dog_(kemono_friends),black_tailed_prairie_dog_(kemono_friends),prairie_dog_(kemono_friends)"
+prairie,0,22,
+pozzing,0,22,
+power_(chainsaw_man),4,22,
+potato_no,1,22,
+potap,4,22,
+portal_gag,0,22,
+popcornkitten,1,22,
+pool_tube,0,22,
+pooky_(raichupuppy),4,22,
+pony_of_shadows_(mlp),4,22,
+pocket_square,0,22,
+po_ni,1,22,
+platrev,1,22,
+platform_reverse_wheelbarrow,0,22,
+pixelstarpony,1,22,
+pixel_(the_gamercat),4,22,pixel_(gamercat)
+pinkpossum,1,22,
+pink_leggings,0,22,
+pimientanas,1,22,
+pilot_(artist),1,22,
+pillow_talk_(oc),4,22,
+pijay,4,22,
+piganenuwu,1,22,
+pig_fat_bat,1,22,
+phyrna_(petruz),4,22,
+phinci,1,22,
+pharos.e,1,22,
+pharaas,4,22,
+phantom_balloon_boy_(fnaf),4,22,
+phallusfantasy,1,22,
+phalloi,0,22,
+pex_(9tales),4,22,
+peteko,1,22,
+perserika_(doneru),4,22,
+persephone,4,22,
+pepper_spray,0,22,
+penny_(mao_mao:_heroes_of_pure_heart),4,22,"penny_(heroes_of_pure_heart),penny_(mao_mao),penny_(mao_mao_heroes_of_pure_heart)"
+penis_on_ass,0,22,
+penis_down,0,22,
+penguin_(mario),5,22,
+pembroke,1,22,
+pegasus_humanoid,5,22,pterippus_humanoid
+pee_in_a_cup,0,22,
+peachan,1,22,
+pb_(theycallhimcake),4,22,
+pawziclawzi,1,22,
+pawprint_background,0,22,"paw-print_background,paw-print_bg,paw-prints_background,paw-prints_bg,paw_background,paw_print_background,paw_print_bg,paw_prints_background,paw_prints_bg,pawprint_bg,pawprints_background,pawprints_bg"
+pattern_jacket,0,22,
+pathfinder:_wrath_of_the_righteous,3,22,
+pastel_colors,0,22,
+pascalthepommie,1,22,
+parasyte_(series),3,22,
+paranoiddroid,1,22,
+paragon,3,22,
+papilla,0,22,
+pao_pao_(crimsoncolored),4,22,
+panorama,0,22,
+panne_(oc),4,22,
+panja,4,22,
+pangaea_(upai),4,22,
+pandadough_lewdles,1,22,
+panda_shade,4,22,
+pakobutt,1,22,
+paintball,0,22,
+paiirupie,1,22,
+pagrynga,1,22,
+paddlefish,5,22,
+paceplusle,1,22,
+p-balloon,0,22,
+oxocrudo,1,22,
+owen_miles,4,22,
+ouka_(.hack),4,22,"ouka_(dot-hack),ouka_(dot_hack)"
+ouijaa_(artist),1,22,
+ott_(brok_the_investigator),4,22,
+ortensia_(artist),1,22,
+orona,4,22,
+orange_frill,0,22,
+ophelia_(critterdome),4,22,
+opening_shirt,0,22,
+ono_kitsune,4,22,
+one-two,4,22,
+on,0,22,
+omegaterasu_(artist),1,22,
+omaha_the_cat_dancer_(franchise),3,22,
+olivie_rosestar,4,22,
+olaf_(frozen),4,22,
+okapi_(kemono_friends),4,22,"congolese_giraffe_(kemono_friends),zebra_giraffe_(kemono_friends)"
+ofstrial,1,22,
+oddwarg,1,22,
+oddthesungod,1,22,
+oceanus_shenron,4,22,
+oceanrider,4,22,
+ocean_serenity,4,22,
+ocdraco,1,22,ahkdrakoh
+object_humanoid,5,22,
+o_hashi2020,1,22,
+o-ring_dress,0,22,
+o-kemono_(character),4,22,
+nyuuchandiannepie,1,22,
+nykka,4,22,
+nyarengadget,1,22,
+nya_(crocodilianbooty),4,22,
+ny-4n,4,22,
+nutty_(el_senor_erizo),4,22,
+nuse,0,22,
+nunu_(lol),4,22,
+null_(nefariousnull),4,22,
+nsfwkingrian,1,22,
+noxy_(dragon),4,22,
+nox_(disambiguation),6,22,"nox,nox_(character)"
+novelty_clothing,0,22,
+nova_(hijinxfantasy),4,22,
+nova_(bad_dragon),4,22,
+notedwolf,1,22,
+norwegian_text,7,22,
+northern_lights_(coca-cola),4,22,
+nordic_runes,0,22,
+nope_wpng,1,22,
+noma,1,22,
+nod,0,22,
+nipples_visible_through_clothing,0,22,
+nipple_kiss,0,22,
+nintendoland,3,22,
+nintendo_ds_console,0,22,
+nintendo_3ds_console,0,22,
+ninja_fiction,1,22,
+nine,4,22,
+nikodavis,1,22,
+nikki_(phenyanyanya),4,22,
+nikki23,4,22,
+nikki,4,22,
+nikaido_(dorohedoro),4,22,
+nightwing,5,22,
+nightsharky,4,22,
+nifela,4,22,
+nietzab,1,22,
+nico_(sarammat),4,22,
+nick_(chana_kim),4,22,
+ni_no_kuni_2,3,22,
+nezumickey,1,22,
+nezudomo,1,22,
+nerif_(nerif),4,22,
+neovixtadiz_(artist),1,22,
+neon_lights_(mlp),4,22,
+neoma_(reign-2004),4,22,
+neofi,1,22,
+neo_mecha,1,22,
+nellonello,1,22,
+nelizar,4,22,
+neko_musume,4,22,
+neesha,4,22,
+nectarine_wynne,4,22,
+neba,1,22,
+neapolitan_ice_cream_(skateryena),4,22,
+naya_(nuree_art),4,22,
+navel_jewelry,0,22,
+naughty_(bear213),4,22,
+naturalist_panther,4,22,
+natsuki_(my_little_goat),4,22,
+natasha_(phyerphox),4,22,
+nastasia,4,22,
+narin_(cafe_plaisir),4,22,
+nareth_(character),4,22,
+napoleon_(random_doom),4,22,
+nanochetha,1,22,
+nanites,0,22,
+nancy,4,22,
+nameless_(venustiano),4,22,
+namba,4,22,
+naia,5,22,
+nah_(prequel),4,22,
+nagamo-kun,4,22,
+naga_(korra),4,22,"naga_(avatar:_legend_of_korra),naga_(avatar_legend_of_korra),naga_(legend_of_korra)"
+nado_(character),4,22,
+nachorocket69,1,22,
+naburus,1,22,
+nabo_(olimacdoodles),4,22,
+nablacah,1,22,
+n-prophet,1,22,
+myuu_(arisumeria),1,22,
+mysterydad,1,22,
+mysterybbq,1,22,
+myre,4,22,
+mx_ragam,1,22,
+muttmonster,1,22,
+musky_feet,0,22,
+musketeer,0,22,
+multicolored_knee_socks,0,22,
+multi_urethra,0,22,
+muffle,1,22,
+msi,3,22,
+ms._endive,4,22,
+mr_dog,1,22,
+mr._williams_(rotten_robbie),4,22,
+moyexingchen,1,22,
+mousetache,1,22,
+mouse_sully,1,22,
+mouse_lemur,5,22,
+motorcycle_club,0,22,
+motor_vehicle,0,22,
+mother_penetrating_daughter,0,22,
+mother_mountain,4,22,
+mostly_nude_gynomorph,0,22,
+morumotto,1,22,
+morse_code,0,22,
+morpha,4,22,
+mooshroom,5,22,
+moonbane_(artist),1,22,
+moon_symbol,0,22,
+monty_(thehades),4,22,
+monster_sex,0,22,
+monster_penis,0,22,
+monroe_(character),4,22,
+monotone_vest,0,22,"mono-tone_waist_coat,mono-tone_waistcoat,mono_tone_waist_coat,mono_tone_waistcoat,monotone_waist_coat,monotone_waistcoat"
+monotone_fin,0,22,
+monotone_briefs,0,22,
+monotone_accessory,0,22,
+monita_(nintendoland),4,22,
+monique_bellemare_(lildredre),4,22,
+monikano,1,22,モニカノ
+monica_(disambiguation),4,22,monica
+mona_lisa_(artwork),3,22,
+momomiya_ichigo,4,22,
+mom_(roy_mccloud),4,22,
+molly_(oc),4,22,
+molly_(cyancapsule),4,22,
+mogma,5,22,
+mocha_(cinnamoroll),4,22,
+mo-ji_(spunkie),4,22,
+mkonstantinov,1,22,
+mkb_56,1,22,
+mizuriba,1,22,
+mizu_(pixiv),1,22,
+mitzi_(ajmarekart),4,22,
+mitsy_fields_(wsad),4,22,
+mitch_beiro,1,22,
+mistysnugglebug,1,22,
+mistressmayhem,1,22,
+misskin,1,22,
+miss_kitty_mouse_(artist),1,22,
+miss_b,4,22,
+miscellanea,4,22,
+misato_katsuragi,4,22,"katsuragi_misato,misato_(evangelion)"
+mirufuaa,1,22,
+miriam_smyth,4,22,
+miragoldra_(character),4,22,
+minish,5,22,
+minicomic,0,22,
+mini-ham,4,22,
+mind_simplification,0,22,
+milo_nettle_(character),4,22,
+millie_p_geot,4,22,
+milla_(borisalien),4,22,
+milkylewdy,1,22,
+milkpudding,1,22,
+miles_edgeworth,4,22,
+mildly_muscular_women_think_they're_gods,3,22,
+mikka,4,22,
+mikiluque,1,22,
+mike_(sleepysheepy17),4,22,
+miia_disain,4,22,
+mightywheelchair,1,22,
+mieu,4,22,
+midnightmuser,1,22,
+midnight_mist,4,22,
+middy_(midrushnic),4,22,
+micro_on_nipple,0,22,
+michelle_(stoopix),4,22,
+mfus,1,22,
+mewverns,1,22,
+mew_ichigo,4,22,
+metalhead,0,22,
+messier_87,0,22,
+messiah_rundall,4,22,
+mesperal,1,22,
+merygryph,4,22,
+meruka-kun,4,22,
+meru_(artist),1,22,
+merry_(inline),4,22,
+merri_(howlart),4,22,
+merial_mcminnus,4,22,
+meowpoo,1,22,
+menzo,4,22,
+memjioof,1,22,
+meltgar,1,22,
+melrose,4,22,
+melonyan,4,22,
+melony_(arizel),4,22,
+melon's_mom,4,22,
+melody_rose1991,1,22,
+mellea_(melleacomic),4,22,
+melinda_pastor_(lildredre),4,22,
+melanie_(fiercedeitylynx),4,22,
+mel_(polar),4,22,
+meguru_salmon,1,22,
+megan_(two-ts),4,22,
+meammy,1,22,
+meadow_(angart),4,22,
+mcsib,1,22,
+mbvgfw1108,1,22,mbvgfw
+maysnowos,1,22,
+maya_the_bee,4,22,
+maya_(gats),4,22,
+may_(disambiguation),4,22,
+maxis_core,4,22,
+maxima_(inukon_geek),4,22,
+max_(shining),4,22,
+max_(max_and_ruby),4,22,
+max_(dacad),4,22,
+maw-malice,1,22,
+mattings,1,22,
+matt_draggot,4,22,
+matt_(sleepywozzy),4,22,
+matsu,1,22,
+mating_bite,0,22,
+mathematics,0,22,
+matchstick,0,22,
+masoka_(softestpuffss),4,22,
+martuguma,1,22,
+marshmallowfury,1,22,marshmallow_maurice
+marqslewds,1,22,
+maroon_background,0,22,
+marlene_(peable),4,22,
+mario_tennis,3,22,
+marinette_dupain-cheng,4,22,
+margaret_bodark,4,22,
+marci,1,22,
+marcaneg,1,22,alice_marcaneg
+marble_(thalomine),4,22,
+maraschinoo,1,22,
+marahute_(the_rescuers),4,22,marahute_(rescuers)
+maple_parapet,4,22,
+manotaur,5,22,
+manhole_cover,0,22,
+mangrove_(mangrovefox),4,22,
+mango_(h2o2),4,22,
+manehattan,0,22,
+maneater,1,22,
+mandie_(psakorn_tnoi),4,22,
+mandakatt,4,22,
+mamori_sweets,4,22,
+mammoth_humanoid,5,22,
+mamako_oosuki,4,22,
+mama_charmeleon,4,22,
+malwolf,4,22,
+maltese,5,22,
+malladus_(char),4,22,
+malina_(kazukio),4,22,
+male_fingering_herm,0,22,
+makoh,4,22,
+maki,4,22,
+maite_terranova,4,22,
+magnus_(zerofox),4,22,
+magical_tattoo,0,22,
+madjick,4,22,
+madam_dragon_(shirokoma),4,22,
+machid,4,22,
+macher,4,22,
+macchiato_fox,1,22,
+ma_wen,1,22,
+lythrion,5,22,
+lyndane,4,22,
+lyle~b,4,22,
+lylah,4,22,
+lyla_no'uka,4,22,
+lydia_deetz,4,22,
+lvl,1,22,
+lv_l,1,22,
+luxiger,1,22,
+lustful_desires,3,22,
+lupe_(ferdinand),4,22,
+luoco,4,22,
+lundsfryd,1,22,
+lunarwolf,1,22,
+luna_star,4,22,
+lun_(pixiv),1,22,
+luminousdazzle,1,22,
+luke_(james_howard),4,22,
+luft_(luftraptor),4,22,
+ludock,1,22,
+lucy_(school_days),4,22,
+lucky_(blondefoxy),4,22,
+lucidartdvc,1,22,
+lucemon_(rookie),5,22,
+luca_shoal,4,22,
+luca_(nyucs),1,22,
+lowland_psycrhen,5,22,
+low_cut_shirt,0,22,
+lovelybonez,1,22,brenbonez8
+lorret_(infinitydoom),4,22,
+longing,0,22,
+lonestarwolfoftherange,3,22,
+lomi_loiselle(lolodepuzlo),4,22,
+logic,0,22,
+lockhart,4,22,
+location_now,1,22,
+lobowupp,1,22,
+lobo_(marcofox),4,22,
+loaf_(dogs_in_space),4,22,
+lizzles,5,22,
+lizard_(bless_unleashed),5,22,
+lizaosan,1,22,
+liz_climo,1,22,
+littlecherryfox,4,22,
+lite_(character),4,22,
+lisa_sandefach,4,22,
+lipstick_on_pussy,0,22,
+lionrion,1,22,
+linnaea_(silviathepony),4,22,
+linked_collars,0,22,
+link_(rito_form),4,22,
+limp_wrist,0,22,
+limb_regression,0,22,
+lily_(7th-r),4,22,
+lilandria,4,22,
+likri,1,22,
+light_tail_feathers,0,22,
+light_speedo,0,22,
+light_shoes,0,22,
+light_nails,0,22,
+light_foreskin,0,22,
+lifting_person,0,22,
+lifeguard_(lilo_and_stitch),4,22,"lifeguard_(l&s),lifeguard_(las),lifeguard_(lilo_&_stitch)"
+lidigeneer_(lidigeneer),4,22,
+licorice,0,22,
+licking_body,0,22,
+lezagrad,5,22,
+leylahshan,1,22,
+lexpads,1,22,
+lex_kempo,4,22,
+lex_(cougarnoir),4,22,
+lewdsharx,1,22,
+lewdpen,1,22,
+lewdkitten,1,22,
+levitus,4,22,
+levi_sheppy,0,22,
+lesley_(funkybun),4,22,
+leshy_(cult_of_the_lamb),4,22,
+leroy_(allenh13),4,22,
+leorajh_(aurastrasza),4,22,
+leonmitchelli_galette_des_rois,4,22,
+leon_the_cat,4,22,
+lenora_(specter01),4,22,
+lenny_(asnnonaka),4,22,
+lennox_raides_(character),4,22,
+lenmue0,1,22,
+lemonscentedbiscut,1,22,
+lemon_kobold,4,22,
+lemmy,4,22,
+legwear_pull,0,22,
+learning_the_mirrors,3,22,
+leafpool_(warriors),4,22,
+layered_heart_pupils,0,22,
+lavenderhush,1,22,
+lavaar,1,22,
+laura_(joaoppereiraus),4,22,
+las_plagas_parasite_(resident_evil),5,22,
+large_axe,0,22,
+laramee_(aj_the_flygon),4,22,
+lapis_(jewelpet),4,22,"lapis_(jewel_pet),lapis_lazuli_(jewel_pet),lapis_lazuli_(jewelpet)"
+lancer_tamamo-no-mae,4,22,
+lana_(heellana),4,22,
+lady_weavile,4,22,
+lady_rain,4,22,
+lady_luna,1,22,
+labba94,1,22,
+labatate,1,22,
+laa-laa_(teletubbies),4,22,
+kyuu,4,22,
+kyuta,4,22,
+kyros,4,22,
+kyria,4,22,
+kyree,4,22,
+kyn,4,22,
+kyisha,4,22,
+kuyo_blackstone,4,22,
+kutan,1,22,
+kusacakusaet,1,22,
+kurona_(neko_musume_michikusa_nikki),4,22,
+kuroka,4,22,
+kuro_(kuronell),1,22,
+kurai_(kuraibre),4,22,
+kumamoto_(character),4,22,
+kumakichi_(tukihime00),1,22,
+kudo_the_fox,1,22,
+ktn999999999,1,22,
+kristoff_(frozen),4,22,
+krista_blonde,4,22,
+kouya_(kekkaishi),4,22,
+kosack,4,22,
+koruri_(shiredo),4,22,
+korn,3,22,
+koriko_(kanikui),1,22,
+koriah,4,22,
+kopy_k,1,22,
+kona_(fluff-kevlar),4,22,
+kompakt_(kompakt),4,22,
+komekko_okomeya,1,22,
+koma_(artist),1,22,
+kogitune,1,22,
+koda_kattt,1,22,
+koan_mascus_(rithnok),4,22,
+knight_princess,4,22,
+knight_knight,4,22,
+knick_knack,3,22,
+kmmm,1,22,
+kizzneth_(character),4,22,
+kizzneth,4,22,
+kizrae,1,22,
+kiwii_(orgunis),4,22,
+kiwi_(oc),4,22,
+kitty_softpaws,4,22,
+kitty_(animal_crossing),4,22,
+kitsune_(overwatch),4,22,
+kitsu_(gau),4,22,
+kitkat_(ethan64),4,22,
+kirydos,4,22,
+kirli,4,22,
+kirionek,1,22,kiri_lewd
+kira_(staffkira2891),4,22,
+kipper,1,22,
+kioreii_(character),4,22,
+kinoko.kemono,1,22,
+kink_pride_colors,0,22,
+kineris_(artist),1,22,
+kine_(kirby),4,22,
+kindle_wolf,4,22,
+kina_jardine_(kinojaggernov),4,22,
+kin_(kinshiratsuki),4,22,
+kimiko_(tahlian),4,22,
+kimadesigns,1,22,
+kim_knightwood,4,22,
+killing_floor,3,22,
+killercod,4,22,
+kilka_k,1,22,
+kila_ilo_(character),4,22,
+kila_ilo,3,22,
+kiko_goat,5,22,
+kijiji_(schmuccubus),4,22,
+khyaber_(character),4,22,
+khemra'khet,4,22,
+khaba,4,22,
+keypad,0,22,
+keyboard-draws,1,22,
+kernkraftwerks,1,22,attack1942
+kena,1,22,
+kemonoda_isuki,1,22,
+kemoduelist,1,22,
+keltre_(ragnya),4,22,
+kelshin,4,22,
+kelpy_(character),4,22,
+keke_(kirby),4,22,
+keiko_ayano,4,22,"ayano_keiko,silica_(sao),silica_(sword_art_online)"
+keiko_(artica),4,22,
+kehta00,1,22,
+kazza,4,22,
+kawaguchi_youhei,1,22,tomodaworeru
+katzu,4,22,
+kattotang,1,22,
+katt,4,22,
+katsoda,1,22,
+kati,4,22,
+kate_hanami,4,22,
+kason_(spindaspinda),4,22,
+karmi_(pencil_bolt),4,22,
+karma_(character),4,22,
+karen_(ike_marshall),4,22,
+karate_belt,0,22,
+karabela,4,22,
+kara_hops,4,22,
+kannoie,1,22,
+kangoo_draws,1,22,
+kanerudo,0,22,
+kaneoya_sachiko,1,22,
+kamek_sans,1,22,
+kaltt,0,22,
+kalliope_(impishhyena),4,22,
+kalaski,4,22,
+kal_noven,4,22,
+kakukaku,1,22,
+kaki_no_tane1,1,22,
+kaitendo,1,22,muneneko_(cathcuper)
+kaijin_(thatrandomlurkingguy),4,22,
+kai_ken,5,22,"kai_dog,tiger_dog,tora_inu"
+kai_(x13),4,22,
+kai_(beastars),4,22,
+kael_artherion,4,22,
+k2146938,1,22,
+jyueng,1,22,
+justwannadraw,1,22,
+justfox,4,22,
+just_(justkindofhere),4,22,
+juno_(tabunnie),4,22,
+juniper_montage_(eg),4,22,
+june_(blackknife12),4,22,
+julius_(tush),4,22,
+julian_(cadaverrdog),4,22,
+julia_(boralis),4,22,
+julia,4,22,
+jukani,5,22,
+jra'gaana_(furball),4,22,
+journey_into_imagination,3,22,
+josomez,1,22,
+josie_mouse,4,22,
+josie_(spacepoptart),4,22,
+josiah_(themuffinly),4,22,
+josephine_(dovecoon),4,22,
+joseph1105,1,22,
+jorani,4,22,
+jon_bliss,1,22,
+jomasfaceisugly,1,22,
+joltink,1,22,
+jolie_sparks,4,22,
+jolbee,1,22,
+john_bull_(mlp),4,22,
+john_(lemon_smoothie),4,22,
+jmi_(character),4,22,
+jko_2,1,22,
+jinsariakhavra,1,22,
+jill_bridges,1,22,
+jiggly_(kazecat),4,22,
+jiara_jaro_(coltron20),4,22,
+jetta,4,22,
+jet_brasshide,4,22,
+jessica_valerie_(nightfaux),4,22,
+jessica_(eradragon),4,22,
+jesie,1,22,
+jesam_(jesam),4,22,
+jeremy_(rokukeshiba),4,22,
+jenner_(nimh),4,22,jenner_(the_secret_of_nimh)
+jeff_winters,4,22,
+jeddy,4,22,
+jazz_(stargazer),4,22,
+jaze_(gau),4,22,
+jay_the_cat,4,22,
+jaxon_(fuze),4,22,
+jaundice_rossenfield,4,22,
+jasper_(critterdome),4,22,
+jason_canty,1,22,
+jasmine_leaf_(mlp),4,22,
+japa_wolf,1,22,japawolf
+janet_(trias),4,22,
+janemoroh,1,22,
+jammyjams,1,22,
+jamie_(trololohstuffs),4,22,
+james_(shewiff),4,22,
+jakaroo_(yeenajust),4,22,
+jaeger_(lewddragons),4,22,
+jadeart9,1,22,
+jade_(fvt),4,22,
+jacktwf,4,22,
+jacklyn_brown,1,22,
+jack_in_the_box,0,22,
+jack_black,4,22,
+iyarin,1,22,
+ixbalam,1,22,
+ivlis,4,22,
+itou_yuuji,1,22,
+itou_ei,1,22,
+ishioto,1,22,
+isabella_(hoodielazer),4,22,
+isaac_bishop_(bishopsquared),4,22,
+ironhawk,1,22,
+irongut,4,22,
+iris_cowsnake,4,22,
+iris_(inkaaay),4,22,
+ipetro,4,22,
+iono_(pokemon),4,22,
+introducingemy,1,22,
+intersex_penetrating_feral,0,22,
+instrument_(disambiguation),6,22,"holding_instrument,instrument,instruments"
+inspirational,0,22,
+injuries,0,22,
+infurmary,1,22,
+inflatable_chair,0,22,
+infinitoa,1,22,
+indonesian_text,7,22,
+indarkwaters,1,22,
+inase_shin'ya,1,22,
+in_pool,0,22,
+implied_audience,0,22,
+imp_(not_safe_for_reality),4,22,
+imotaco,1,22,
+imminent_murder,0,22,
+imightbemick,1,22,
+imactuallygarbage,1,22,
+iluka,4,22,
+illidan_stormrage_(warcraft),4,22,
+illian_(komodo_dragon)_(ritts),4,22,
+ikunsfw17,1,22,
+igni,4,22,
+iggy_(ignatius_husky),4,22,
+identity_disc,0,22,
+ice_penis,0,22,
+ian_veldime,4,22,
+iaguara_bishop,1,22,
+i_quillian,1,22,
+i_can_see_forever,0,22,
+i_can't_fap_to_this,3,22,
+hyper_brachioradialis,0,22,
+hyena-kun_(manadezimon),4,22,
+hybridmink,1,22,
+hyacinth_hippo,4,22,
+huzzhuz,1,22,huzkywarrior
+huskeeburn21,1,22,
+huntervaners,1,22,
+hunter_(redfeatherstorm),4,22,
+humping_leg,0,22,
+humorous_sound_effects,0,22,
+human_to_monster,0,22,
+hululu,4,22,humboldt_penguin_(kemono_friends)
+huge_aerola,0,22,
+huang_(takataka),4,22,
+house_plant,0,22,
+hot_wax,0,22,
+horth,4,22,
+horse_tack,0,22,
+horse_satyr,5,22,
+horn_in_pussy,0,22,
+hoookerii,1,22,
+hoodie_vest,0,22,
+hooded_cape,0,22,
+honi_do,1,22,
+homemosaco,1,22,
+homealone,1,22,
+holly_(ews),4,22,
+holly_(arkus0),4,22,
+holiday_card,0,22,
+holding_wrists,0,22,
+holding_stack,0,22,
+holding_mushroom,0,22,
+holding_crossbow,0,22,
+holding_close,0,22,
+holding_building,0,22,
+hmeme,1,22,
+hitomi_(doa),4,22,
+hitman_x3z,1,22,
+hirohiko_araki,1,22,
+hip_hop,0,22,
+himbocuga,4,22,
+heresy,0,22,
+hensa_(waitress),4,22,
+heletamera,4,22,
+helena_(graith),4,22,
+heketa_(diives),4,22,
+heckler_and_koch,3,22,
+hearts_around_symbol,0,22,
+heartbreaker_(fortnite),4,22,
+heart_graffiti,0,22,
+heart_footwear,0,22,
+headmaster,1,22,
+hcg,1,22,
+hazmat,0,22,
+hazel_(cherrybxnnie),4,22,
+hazed,1,22,
+hazard,1,22,
+hayrider,1,22,
+hawthorne_foxington,4,22,
+harvey_(stiban),4,22,
+haruki_genia,1,22,
+haru_(cainethelongshot),4,22,
+harth_(tloz),4,22,"harth_(loz),harth_(zelda)"
+harijizo,1,22,
+haramaki,0,22,
+happie_(character),4,22,
+hanzotitmada,1,22,
+hansi_bello,4,22,
+hanging_out,0,22,
+hands_on_torso,0,22,
+handless,0,22,
+hanbei,4,22,
+hamster_wheel,0,22,
+hamster_ball,0,22,
+hairy_armpits,0,22,
+hair_covering_nipples,0,22,
+haika,1,22,
+haganef,1,22,
+hachisan5656,1,22,
+h3llvixn,1,22,
+gymnasium,0,22,
+gym_mat,0,22,
+gwyardon,4,22,
+gwendolyn_mai,4,22,
+gurney,0,22,
+gureeookami,1,22,
+gun_in_mouth,0,22,
+gumbo_(colo),4,22,
+gulanerido_(artist),1,22,
+guarana_(fruit),0,22,
+greypolf,4,22,
+green_boxer_briefs,0,22,
+green_(my_life_with_fel),4,22,
+grandfather_penetrating_grandson,0,22,
+graded_throat,0,22,
+gracile_capuchin,5,22,"cebus,gracile_capuchin_monkey"
+gothpanda,1,22,
+golden_axe,3,22,
+golde_(golde),4,22,
+gold_lily_(mlp),4,22,gold_lily
+gokushiki_kasuta,4,22,
+goat_costume,0,22,
+gnome_(warcraft),5,22,
+gnj97,1,22,
+glytch_koore,4,22,
+glurch,0,22,
+glowing_necklace,0,22,
+globalpredatorx,1,22,
+glitcher,1,22,
+glider_(artist),1,22,
+glassfish,1,22,
+glass_mug,0,22,
+glacialpain,1,22,
+gjall,4,22,
+gio_(electroporn),4,22,
+ginger_(bittenhard),4,22,
+gigi,4,22,
+gid_g11,1,22,
+giantmosquito,1,22,
+giant_salamander,5,22,"cryptobranchid,cryptobranchidae"
+ghostfire,1,22,
+geosaiko1267,1,22,
+genital_fluids_on_self,0,22,
+genesis_yuya_kono_(desertpunk06),4,22,
+genesis_starwind_(genesisstarwind),4,22,
+genesis_console,0,22,mega_drive_console
+generalkbee,1,22,
+gender_edit,0,22,
+gelfling,5,22,
+gaviid,5,22,
+gauged_tongue,0,22,
+gartie,1,22,
+gart,1,22,
+gardei_(lucyfercomic),4,22,
+garakutea,1,22,
+gao_mikado,4,22,
+gantz,3,22,
+gamorrean,5,22,
+gamma_(scorpdk),4,22,
+gaminggoru,1,22,
+gamer_girl,0,22,
+game_shield,0,22,
+game_boy_advance_console,0,22,
+galore_(flight_rising),4,22,
+galena_galao,4,22,
+galaxytrail,3,22,
+gaek,1,22,
+fyrefly,1,22,
+fuzzyhead12,1,22,
+fuzon-s,1,22,
+fuxiao_(ffjjfjci),4,22,
+fushiana_ai,1,22,
+furrymang453,1,22,
+furred_monster,5,22,
+furrawin,1,22,
+furmarks,0,22,
+fureezy,1,22,
+funnymouth,1,22,
+fumufumu_(character),4,22,
+fumonpaw,1,22,
+fuchi,4,22,
+fruit_pool_toy,0,22,
+frozesolidfox,1,22,
+frottage_in_slit,0,22,
+frog_ulti,4,22,
+frazzledragon,4,22,
+fran_(batartcave),4,22,
+foxworks,1,22,
+foxmccloud287,1,22,
+forzenta,5,22,
+forklift,0,22,
+forgottenscales,1,22,
+forging,0,22,
+fooyuta,1,22,
+foot_on_stomach,0,22,
+foot_on_bulge,0,22,
+foot_on_breasts,0,22,
+foot_in_ass,0,22,
+food_on_feet,0,22,
+flytrap_humanoid,5,22,"venus_fly_trap_humanoid,venus_flytrap_humanoid"
+flying_v,3,22,
+flushing,0,22,
+fluffy_(metal-renamon),4,22,
+fluffabie,1,22,
+flowerxl,1,22,
+floppy_breasts,0,22,
+flexing_flexor_carpi,0,22,
+fleur_ladouce,4,22,
+fletcher_collins,4,22,
+flesh-odium,1,22,
+flesh-amare,1,22,
+flash_draw_(character),4,22,
+flare_gun,0,22,
+flaming_weapon,0,22,
+five_nights_at_freddy's:_fazbear_frights,3,22,
+firewalker_(fortnite),4,22,
+fire_sword,0,22,
+fire_alchemist,4,22,
+fingers_on_face,0,22,
+fingers_on_butt,0,22,
+final_froggit,4,22,
+figurines,0,22,
+figure_skates,0,22,
+figment,4,22,
+fighting_vipers,3,22,
+figaro_(artist),1,22,
+ffenics,4,22,
+ferivyr_(shift),4,22,
+ferionion,1,22,
+feralmoonlight,1,22,
+feral_dominating_female,0,22,
+fenrir_(granblue_fantasy),4,22,
+fendalton_sinclaire,4,22,
+felixleong,1,22,
+feha_(killergrizzly),4,22,
+faust1173,1,22,
+fauna_fox,4,22,
+father_fingering_daughter,0,22,
+fast_food_(food),0,22,
+fashion_show,0,22,
+farting_in_mouth,0,22,
+farly_(firenor),4,22,
+farah_amalur,4,22,
+faraday_(fluff-kevlar),4,22,
+faolan_(abluedeer),4,22,
+fantasy_world,0,22,
+fantasy_fulfillment,0,22,
+fallynangel,1,22,
+faiz_(character),4,22,
+faithandfreedom,1,22,
+fahrencrysis,1,22,
+fafnir_(little_witch_academia),4,22,
+fae_dragon,5,22,
+faceless_herm,0,22,
+fa_plastilinka,1,22,
+f-a,1,22,
+f-22_raptor,0,22,
+eyes_watering,0,22,
+eyebrow_scar,0,22,
+eye_of_providence,5,22,
+experience_bar,0,22,
+existence,3,22,
+exhaling_smoke,0,22,
+evolved,0,22,
+evelyn_(whygena),4,22,
+evarist,4,22,
+evan_(thaine),4,22,
+eustace_bagge,4,22,"eustace_(courage),eustace_(courage_the_cowardly_dog),eustace_(ctcd)"
+eurovision_song_contest,3,22,
+ether_(dragon),4,22,
+ethan_forestfox,1,22,
+esmeralda_(disney),4,22,
+escaflowne,3,22,
+erron_buchanan,4,22,
+erohd,1,22,
+eris_lee,4,22,
+eriklechugaa,1,22,
+erection_under_loincloth,0,22,
+epithymia,1,22,
+entwined_penises,0,22,
+enduranthill,1,22,
+end,0,22,
+encapsulated_vore,0,22,
+ena_(lm),4,22,
+emiwcat,1,22,
+embryo,0,22,
+ember_asche,4,22,ember_(klinkitty)
+elsa_(we're_back!),4,22,
+ellipse_censor,0,22,
+elidi_(hazardezlizzie),4,22,
+eli-sin-g_(artist),1,22,
+eleventh_doctor,4,22,
+elbestia_(character),4,22,
+elayne,4,22,
+elalvaradog,1,22,
+ekko1939,1,22,
+eikthynir_(eikthynir_the_deer),4,22,
+eighteight,4,22,
+eight_(dont_jinxit),4,22,
+ehryel,1,22,"candybrat,x-arielle"
+egg_from_nipples,0,22,
+egg_creature,5,22,
+edwina,4,22,
+edwee,4,22,
+edryn_(coc),4,22,edryn_(corruption_of_champions)
+eddie_(cedamuc1),4,22,
+ecto-luvr,1,22,
+ebnet,1,22,ebnet_(artist)
+easter_butt,0,22,
+earthia_the_seedrian,4,22,
+e_convenient,1,22,
+e1m8,1,22,
+dzyer,1,22,
+dweller_(jagged),5,22,
+duskmoor,1,22,
+duplighost,5,22,
+dunceneygak,1,22,
+dummy_(undertale),4,22,
+duckman,3,22,
+dromaeo,1,22,dromaeo-tsar
+drinking_pussy_juice,0,22,"drink_pussy_juice,eating_pussy_juice,pussy_juice_drinking,pussy_juice_eating,pussy_juice_swallow,pussy_juice_swallowing,swallowing_pussy_juice"
+drinking_beer,0,22,
+drena,4,22,
+drawfurry,1,22,
+drall,4,22,
+drakel_phyrohell,4,22,
+dragoshi,4,22,
+dragonsushi,1,22,
+dragonlord,4,22,
+dragonboy618,1,22,
+draeus,4,22,
+draculaura,4,22,
+draco_flames_(dracoflames),4,22,
+dracanine,5,22,
+dr._k,4,22,
+doverstar,1,22,
+doug_(series),3,22,
+double_fine_productions,3,22,
+double_dildo_harness,0,22,
+dorak_(character),4,22,dorak_(dorak)
+doppleganger_(artist),1,22,
+doopliss,4,22,
+donovan_dmc,4,22,
+donitkitt,1,22,
+donabe,1,22,
+don_leonardo,4,22,
+don_(blitzthedurr),4,22,
+dolor_voidsong,4,22,
+dolfengra,4,22,
+dolf,4,22,
+doitsuken,1,22,
+doggette_(bahnbahn),4,22,
+doe-shmo,1,22,
+dodoro_(zoohomme),4,22,
+doctor_n._gin,4,22,"doctor_n-gin,doctor_n_gin,dr._n-gin,dr._n._gin,dr._n_gin,dr_n-gin,dr_n._gin,dr_n_gin,n-gin,n._gin,n_gin"
+doc,4,22,
+do_you_love_your_mom_and_her_two-hit_multi-target_attacks,3,22,
+djoser_(dislyte),4,22,
+dj_mixer,1,22,
+diving_helmet,0,22,
+divequest,3,22,
+disturbia,1,22,
+disney's_house_of_mouse,3,22,
+diskwuzting,1,22,
+dirty_fur,0,22,
+dior,1,22,
+dinotopia,3,22,
+din,4,22,
+digimon_humanoid,5,22,
+dieff,1,22,
+dickie_(yawg),4,22,
+diaper_down,0,22,
+diane_evans,4,22,
+diamonikon,1,22,
+diamond_pattern,0,22,
+dia,4,22,
+deumos,4,22,
+detergent_pod,0,22,
+detergent,0,22,
+detectivecoon,1,22,
+destruction_of_property,0,22,
+desmond_fallout_(desmondfallout),4,22,
+desamistesae_fafratarello_flumendo_styx,4,22,
+derracias-35,1,22,
+deormynd_(character),4,22,
+densetsu_tenspirits,4,22,
+deneira_(diamondstorm),4,22,
+dendy_(ok_k.o.!_lbh),4,22,"dendy_(ok_k.o!),dendy_(ok_k.o),dendy_(ok_k.o.!),dendy_(ok_k.o.!_let's_be_heroes),dendy_(ok_k.o.!_lets_be_heroes),dendy_(ok_k.o.),dendy_(ok_k.o._lbh),dendy_(ok_k.o._let's_be_heroes),dendy_(ok_k.o._lets_be_heroes),dendy_(ok_k.o_lbh),dendy_(ok_k.o_let's_be_heroes),dendy_(ok_k.o_lets_be_heroes),dendy_(ok_ko!),dendy_(ok_ko!_lbh),dendy_(ok_ko!_let's_be_heroes),dendy_(ok_ko!_lets_be_heroes),dendy_(ok_ko),dendy_(ok_ko_lbh),dendy_(ok_ko_let's_be_heroes),dendy_(ok_ko_lets_be_heroes)"
+demoniccat1,1,22,
+demon_king_(in_30000),4,22,
+deltaswap,0,22,
+delta3814,1,22,
+delta2094,1,22,
+dekoude,1,22,
+defago,1,22,
+deesamane,1,22,
+deeriojim,1,22,deeriojims
+deebu,1,22,
+dee_(character),4,22,
+decomposition,0,22,
+deaththehusky,4,22,
+deanii,1,22,
+dea_(conrie),4,22,
+dawnwalkerwolf,1,22,
+dave_walker,4,22,
+darwin's_fox,5,22,
+darkuangel,1,22,
+darksilvania,1,22,
+darkling,5,22,
+darkk,1,22,
+darkin,5,22,
+darkened_glans,0,22,
+daphne_maer,4,22,
+dante-ml,1,22,
+dannon-5,1,22,
+danil4h,1,22,
+dandan,4,22,
+danananana,1,22,
+damalia,1,22,beth_zaiken
+dakota_(dackdeer),4,22,
+dakini_(flower_knight_dakini),4,22,
+dailevy,1,22,
+dafnier,4,22,
+daddy_mug,0,22,
+d12,0,22,
+czgoldedition,1,22,
+cynical_wonders,1,22,
+cynamon_(dudelinooo),4,22,
+cybernetic_ear,0,22,
+cya_(cya_cya_),4,22,
+cursive_writing,0,22,
+cura,1,22,
+cunnilingus_through_clothing,0,22,
+cumming_dildo,0,22,
+cum_pump,0,22,
+cum_on_eyes,0,22,
+cum_in_milking_machine,0,22,
+cum_in_fleshlight,0,22,
+cubow_(character),4,22,
+cube666dice,1,22,
+cubbi_gummi,4,22,
+ctabb,1,22,
+crystallos,1,22,"sallos,wackyiguana,wackyiguaner"
+crystal_panier,4,22,
+crystal_necklace,0,22,
+crustacean_taur,5,22,
+crummles,4,22,
+crucified,0,22,
+crimsonbugeye,1,22,
+crimson_viper,4,22,
+creaturecandy,1,22,
+creation,0,22,
+crazy-go-lucky_(artist),1,22,
+crazed_look,0,22,
+cracky45,1,22,
+cptn,1,22,
+countershade_head,0,22,
+costume_party,0,22,
+cosmo_(pc-doodle),4,22,
+corvisquire,5,22,
+cooper_(ritzcat),4,22,
+cool_(star_fox),4,22,
+convention_room,0,22,
+convel,4,22,
+continue_screen,0,22,
+constance_jotkowska_(coyotek),4,22,
+connor_walker_(leviantan581re),4,22,
+congee-painting,1,22,
+complex_shading,0,22,
+colordude,1,22,
+coldarsenal,1,22,
+coffune,1,22,
+cody_hedgie,4,22,
+cody_(pizzakittynyan),4,22,
+codelizard,4,22,
+coconomi,1,22,
+cock_corset,0,22,
+clown_shoes,0,22,
+clove,4,22,
+clouded_(fa),1,22,
+clothes_bursting,0,22,
+cloe,4,22,
+cleo_(dingah),4,22,
+clawitzer,5,22,
+clarissa_(101_dalmatians),4,22,
+clapperboard,0,22,
+claire_dearing,4,22,
+cj_fauxx~,1,22,
+city_of_nodd,3,22,
+citrus_tree,0,22,"citrus_trees,citrustree,citrustrees"
+citrine_(purplebird),4,22,
+citail,3,22,
+ciro_(charityssongbird),4,22,
+ciril_kastion,4,22,
+cinnie_(wizpig),4,22,
+cinnamon_(spice),0,22,
+cillian_girl,1,22,
+cigarette_burn,0,22,
+chura_chu,1,22,
+chunkyoreo,1,22,
+chubby_(chunknudies),4,22,
+chronoa,4,22,
+chronicles_of_narnia,3,22,
+chrissy_(disambiguation),4,22,chrissy
+chris_(disambiguation),6,22,chris
+chostrawbie,1,22,
+chokaso,1,22,
+chlomaki,4,22,
+chloe_(aruurara),4,22,
+chiyumilk,1,22,
+chistokrovka,1,22,
+chiro_(zerochill),4,22,
+chinese_flag,0,22,
+chicken_run,3,22,
+chicken_humanoid,5,22,
+chestfur,0,22,
+chernobyl,0,22,
+chenannanm,1,22,
+chell_(fursona),4,22,
+chef_sigmund_bautz,4,22,
+cheekbones,0,22,
+chastity_ring,0,22,
+charry,1,22,
+charlyhorse,1,22,
+charjabug,5,22,
+char,4,22,
+chango_the_cow,4,22,
+chaikodog,1,22,
+cetacean_taur,5,22,
+cestus,0,22,
+ceri,4,22,
+ceraph_(coc),4,22,ceraph_(corruption_of_champions)
+cephalopod_merfolk,5,22,
+centurion,0,22,
+cd_case,0,22,
+caution_sign,0,22,
+catsithx_(character),4,22,
+cathy_kitana,4,22,
+cat_city,3,22,
+castle_crashers,3,22,
+casting_mold,0,22,
+casting_couch_series,3,22,
+cassie_evans,4,22,
+cassia_(seff),4,22,
+carrot_kingdom,3,22,
+carrion_(character),4,22,
+carpeted_floor,0,22,
+carolina_panthers,3,22,
+carmella_bun,4,22,
+caribooty,4,22,
+cariboops,1,22,
+cargo,0,22,
+carcass,0,22,
+capybarian,5,22,
+captain_sharkbait,4,22,
+capoeira,0,22,
+candy_the_skitty,4,22,
+camo_underwear,0,22,camouflage_underwear
+cam_(petruz),4,22,
+calligraphy,0,22,
+calli_(scalie_schoolie),4,22,
+calciumchloride,1,22,
+cage_(artist),1,22,
+bythebook,1,22,"peter_anckorn,peteranckorn"
+bwrd,1,22,
+butusan_p,1,22,
+butterscotch_(hoodie),4,22,
+butterfly_monarch_(karatachi),4,22,
+buttercupbabyppg,1,22,
+bushtit,5,22,"aegithalid,aegithalidae,bush_tit,long-tail_tit,long-tailed_tit,long_tail_tit,long_tailed_tit"
+burnt-toast,1,22,
+burning_eyes,0,22,
+bulge_under_clothes,0,22,
+buiron,4,22,
+bueno,3,22,
+brush_stroke_(character),4,22,
+brunchpup,1,22,
+bruin,4,22,
+brucks_(steamedvegetables),4,22,
+broxoles,1,22,
+brown_cloak,0,22,
+brow_hair,0,22,
+bronto_thunder,4,22,
+bridget_(latchkey_kingdom),4,22,
+breel_(housepets!),4,22,
+breeding_request,0,22,
+bree_(bender),4,22,
+breast_shrinking,0,22,
+breast_pull,0,22,
+bras_d'honneur,0,22,"bras_d_honneur,bras_dhonneur,iberian_slap,italian_salute"
+brandishing,0,22,
+brandi_(teer),4,22,
+brall_(pinkshonen),4,22,
+brakka_(oop),4,22,
+brain_dump,3,22,
+bragotiger,1,22,
+bra_removed,0,22,
+boytaurs,1,22,
+boxing_trunks,0,22,
+bow_swimwear,0,22,
+boston_dynamics,3,22,
+bosstones22,1,22,
+bosmer,5,22,
+booze_roo,4,22,
+boog_(open_season),4,22,
+bonybones,1,22,
+bon_bon,4,22,
+body_odor,0,22,
+body_encapsulation,0,22,
+bobby_(maple_town),4,22,
+bob_vorsh_(jack),4,22,
+boa_only,0,22,"naked_boa,nude_boa"
+bo_(domovoi_lazaroth),4,22,
+blurau,1,22,
+bluizer,1,22,
+bluesnesscasual,1,22,
+blueberry_(disambiguation),6,22,blueberry
+blue_tunic,0,22,
+blue_sweatshirt,0,22,
+blue_arm_warmers,0,22,
+blu_(bludoe),4,22,
+blowhole_penetration,0,22,
+blossom_(character),4,22,
+bloomz,1,22,
+bloodred739,1,22,
+blood_on_armor,0,22,
+blood_infestation,1,22,
+blindwatchman,1,22,
+bleu_(bleuwolfy),4,22,
+blblchiyori,1,22,
+blake_(haven_insomniacovrlrd),4,22,
+blacky_the_stallion,4,22,
+blacksmith_hammer,0,22,
+blackshepard,4,22,
+blackagumon,5,22,
+black_uniform,0,22,
+black_tip_reefshark,5,22,
+black_one-piece_swimsuit,0,22,
+black_fundoshi,0,22,
+black_dot_eyes,0,22,
+black_crown,0,22,
+black_and_tan,0,22,tan_and_black
+bkmat55,1,22,"bkmat,bkmat55_(artist),bkmat_(artist)"
+bitcoin,3,22,
+bird_skull,0,22,
+bird_feces,0,22,bird_poop
+biosuit,0,22,
+bina_(sv_grart),4,22,
+billsabouman,4,22,
+bill_(left_4_dead),4,22,
+big_shirt,0,22,
+beth_(nightfaux),4,22,
+berry_(strawberrytfs),4,22,
+beretta,3,22,
+bepisfox,4,22,
+bentayga,4,22,
+benji_silver,4,22,
+ben_the_dragon,1,22,
+ben_morbez,1,22,
+belly_on_table,0,22,
+belly_lentel,4,22,
+belly_hat,0,22,
+bellumnsfw,1,22,
+bellgrey_(redfeathers),4,22,
+bella_(fluffyglitch),4,22,
+bella_(devil-vox),4,22,
+bell_on_tail,0,22,
+bell_(overgrown_lizards),4,22,
+begami,1,22,
+becca_(sandwich-anomaly),4,22,
+beat_saber,3,22,
+bea_(toomuchdynamite),4,22,
+bdrd,1,22,
+bb-series_astromech_droid,5,22,
+baywatch,3,22,
+baurus_(pickles-hyena),4,22,
+bate_(artist),1,22,
+bassy_(bassybefuddle),4,22,
+bassfxlimit,1,22,
+bass_(fish),5,22,
+barry_torres,4,22,
+barracuda,5,22,
+baroshi_(baroshi),4,22,
+baron_(zerofox1000),4,22,
+barghest_(scappo),4,22,
+barbie_(helluva_boss),4,22,barbie_(vivzmind)
+banzai.puppy,1,22,
+banoffee_(unknownlifeform),4,22,
+bangerofsticks,1,22,
+bandeau_bikini,0,22,
+ball_robot,5,22,
+balance_beam,0,22,
+bakuel,1,22,
+baeu_(dasonjetiri),4,22,
+badminton,0,22,
+baddoganimations,1,22,
+backwards_text,0,22,
+baby_(svtfoe),4,22,
+babie_fluff,1,22,
+babidi,4,22,
+azura_(loneguardian),4,22,
+azmut,1,22,
+azentaru_(r-a-s-p),4,22,
+aysu_(roxannetheokami),4,22,
+axle,4,22,
+axel_gear,4,22,
+avery_(disambiguation),4,22,avery
+ava_mccracken_(pirin-apex),4,22,
+auya,4,22,
+autumn_(kumacat),4,22,
+auroraweaver,1,22,
+aurelius_(pasc),4,22,
+aurel_(majp),4,22,
+aukai,4,22,
+astradoll,1,22,
+associated_student_bodies,3,22,asb
+ashinowen,4,22,
+arty,4,22,
+arttmadness,1,22,
+artolvrsmth,1,22,
+artificial_incident,3,22,
+artha-amberose,1,22,
+artemis_(pokesona),4,22,
+artamis_snowpaw,4,22,
+arrokuda,5,22,
+arrin,4,22,
+armored_trico_(the_last_guardian),4,22,
+armored_armadillo,4,22,
+arkomi,1,22,
+arkblon,4,22,
+ark_noir_(character),4,22,
+archer_emiya,4,22,"archer_(fate/stay_night),archer_(fate_stay_night),archer_shirou_emiya"
+arabian_wolf,5,22,
+apulaz,1,22,
+appule,4,22,
+apophis,4,22,
+apolo18,1,22,
+apollo_(jay_naylor),4,22,
+aphis_(bepinips),4,22,
+ape_humanoid,5,22,
+anyyuum,1,22,
+anxiouslynx,1,22,
+anoroth,1,22,
+anoningen,1,22,
+anomalocaris,5,22,
+annabelle_(thekite),4,22,
+annabelle_(madmax),4,22,
+anna_firecraft,4,22,
+ankle_spikes,0,22,
+ankle_ring,0,22,
+aniu_(balto),4,22,
+anirichie,1,22,
+animal_body,0,22,
+angry_platypus,1,22,
+angelo_(siperianhusky),4,22,
+angelbite_piercing,0,22,angel_bite_piercing
+angel_in_the_forest,3,22,
+anduin_wrynn_(warcraft),4,22,
+andrealphus_(helluva_boss),4,22,
+andrea_(dj50),4,22,
+andira_(granblue_fantasy),4,22,
+ancestor_and_descendant,0,22,
+anatomy_of,3,22,
+ampwave,5,22,
+amora_the_t-rex,4,22,
+amishrakk_(rule63),4,22,
+ami_(ellistia),4,22,
+amemati_0,1,22,
+ambrose_(maxydont),4,22,
+amarimo,1,22,
+amao,4,22,
+amanda_(flufflewdzthings),4,22,
+amaki_tsukishiro,4,22,
+am_(lady_and_the_tramp),4,22,
+alyssa_bandicoot_(oc),4,22,
+alykia_lumine,4,22,
+alurian,5,22,
+alulu_(paperman),4,22,
+alternate_eye_color,0,22,
+alrik,4,22,
+aloy,4,22,
+alotie,4,22,
+alolan_grimer,5,22,"alola_grimer,grimer_(alola_form),grimer_(alolan_form)"
+allo_(dinosaucers),4,22,
+allistair,4,22,
+allie_(tajem),4,22,
+allentrap,1,22,
+allaros,1,22,
+alina_volkova_(renthedragon),4,22,
+alice_(cayo),4,22,
+algooriginal,1,22,
+alexzandr_sokolov,4,22,
+alexander_silverfang,4,22,
+alex_young,4,22,
+alex_maxwell,4,22,
+alex_(everbolt),4,22,
+aleksi,4,22,
+alastair_(alastair),4,22,
+alargewoodenbadger,1,22,
+aladar,4,22,
+akiidiamondheart_(artist),1,22,
+akiba_(skweekers),4,22,
+ajun_(character),4,22,
+aisu_kyo,4,22,
+airi,4,22,
+aiden_(sphynxx11),4,22,
+aiden_(gekko),4,22,
+aidan_(sryer),4,22,
+aiareck_arpia,4,22,
+ai_(puyo_puyo),4,22,"ai_(puyo_puyo_tetris),ai_(tetris)"
+ahsan,4,22,
+ahgot,1,22,
+ahava,4,22,
+afterlife,0,22,
+after_titfuck,0,22,"after_boob_fuck,after_boob_job,after_boobjob,after_breast_fuck,after_breast_job,after_paizuri,after_tit_fuck,after_tit_job,after_titfucking,after_titjob,after_titty_fuck,after_tittyfuck"
+after_bath,0,22,
+af,1,22,
+aetherscale_(artist),1,22,
+aero_the_acro-bat_(series),3,22,
+aero_(aeromagazines),4,22,
+aeon-a302h311_(character),4,22,
+action_shot,0,22,
+acting,0,22,
+ace_(acewolfy),4,22,
+acacia_stormwood_(frooby),4,22,
+above,0,22,
+abomination_(darkest_dungeon),4,22,
+abel,4,22,
+a_pony,4,22,
+a_(livinlovindude),4,22,
+a-pose,0,22,
+6_penises,0,22,
+612,4,22,
+60:47,7,22,
+5groo5,1,22,
+44shio,1,22,
+2_coleslaw,1,22,
+29:25,7,22,
+12:11,7,22,
+1111122,1,22,
+10hmugen,1,22,
+/co/nrad,4,22,
+¿quieres?,3,21,"perro_chabo_truste,quieres?,quieres_meme"
+zzyzx,4,21,
+zucker_(animal_crossing),4,21,
+zororeene,4,21,
+zoomswish,1,21,
+zoom_zephyrwing_(mlp),4,21,
+zoom_(ori-doggo),4,21,
+zonked,0,21,
+zombiedolly,1,21,
+zofia_squirrel,4,21,
+zlden,1,21,
+zipping_up,0,21,
+zi-tei,4,21,
+zhongli_(genshin_impact),4,21,
+zgrate,4,21,
+zeso,1,21,
+zeroviks_(artist),1,21,
+zero_(vavacung),4,21,
+zephyrflash,1,21,
+zell_(animal_crossing),4,21,
+zelendur,1,21,
+zelena_(thatonevocals),4,21,
+zee,4,21,
+zazz,4,21,
+zandar_skonk,4,21,
+zaide_(ashkelling),4,21,
+zahra_borngen,4,21,
+zaer_(vju79),4,21,
+zabumaku,1,21,
+z_tsuruo,1,21,
+yuuki_(varknakfrery),0,21,
+yuri_the_lion,4,21,
+yseult,4,21,
+yourfur,1,21,
+you_may_spank_it_once,3,21,
+yorunoko,1,21,
+yopo9810,1,21,
+yobot,1,21,
+yingpingu,3,21,
+yelping,1,21,
+yellowstumps,1,21,
+yellow_jockstrap,0,21,
+yellow_hairband,0,21,
+yellow_flesh,0,21,
+yellow_fins,0,21,
+yellow_crop_top,0,21,
+yellow_bodysuit,0,21,
+yazoo,4,21,
+yarne,4,21,
+yao_(takataka),4,21,
+yana_(jelomaus),4,21,
+yamer,1,21,
+yamame_kurodani,4,21,kurodani_yamame
+yaky_(yakyarts),4,21,
+yakumodaisuki,1,21,
+yacker,4,21,
+xniclord789x,1,21,
+xj-4,4,21,"xj4,xj_4"
+xizana,1,21,
+xena_(megustalikey),4,21,
+xeinzeru,1,21,
+xedgewolfx,1,21,
+xbox_software,0,21,
+xbox_original,3,21,
+xandra_(xandertheblue),4,21,
+x3dreturns,1,21,
+wuwutim,1,21,
+wurzzie,1,21,
+wuffypie,1,21,
+writings,0,21,
+wrinkled_nose,0,21,
+wrigglingwyvern,1,21,
+wrig_(grimart),4,21,
+wred,1,21,
+worn_clothing,0,21,
+wormhole,0,21,
+wolfplot,3,21,
+wolfgang_(fuze),4,21,
+wokky,1,21,
+wizbooty,1,21,
+withered,0,21,
+wish_(splishsplat),4,21,
+windfall_(book),3,21,
+willy_(oddjuice),4,21,
+willow_(vdisco),4,21,
+wilcar92,1,21,
+wikiwarrior,4,21,
+whysoseriouss,1,21,
+whitescale_sisters,4,21,
+white_skinsuit,0,21,
+white_shell,0,21,
+white_rhinoceros,5,21,"square-lipped_rhinoceros,square_lipped_rhinoceros,white_rhino"
+white_mustache,0,21,
+white_lightsaber,0,21,
+white_eyelids,0,21,
+white_boxers,0,21,
+whcardinal,1,21,
+whaddon_(character),4,21,
+werner_werman,4,21,
+werner,4,21,
+wendy_(beatleboy62),4,21,
+wellbredkitsune,1,21,
+wei_yenwu_(arknights),4,21,
+weezer,3,21,
+weeds,0,21,
+wdl,1,21,
+wayne_(hylics),4,21,
+wavy_eyebrows,0,21,
+waterwang,1,21,
+waterbot,5,21,
+waterbaby_(centaurworld),4,21,
+watch_dogs,3,21,
+watamote,3,21,
+warumonzaemon,5,21,
+ward,0,21,
+war_beast,5,21,
+wanwan_paradise,0,21,
+wallace_(wallace_and_gromit),4,21,
+wallabee,4,21,
+walking_cane,0,21,
+wadjet_(kiala_tiagra),4,21,
+wacky_races,3,21,
+vyncent_(omegaozone),4,21,
+vulstice_(infinitedge2u),4,21,
+vue,4,21,
+vonya,4,21,
+volvagia,4,21,
+volumetric_lighting,0,21,
+volkswagen_bus,3,21,
+volcanic_eruption,0,21,
+vizza,1,21,
+vixen_mighty_(itsjojo),4,21,
+viven,1,21,
+visible_ribcage,0,21,
+virdemis,1,21,
+violet_(character),4,21,
+victor_(igiveyoulemons),4,21,
+vicar,1,21,
+vibramare,4,21,
+vex_(vexlynx),4,21,
+verro,4,21,
+vernon_hunter,4,21,
+verna_floplock,4,21,
+verk_(presto),4,21,
+verbrand,4,21,
+veranica_(blazethefox),4,21,
+venus_impera,4,21,
+venny,1,21,
+venicethehedgehog,1,21,
+venezuela,0,21,
+ven,4,21,
+vehicle_crash,0,21,
+vee,4,21,
+veck,1,21,
+vebli,4,21,
+vaporblush,1,21,possumblush
+vanthi,1,21,
+vantablack_fur,0,21,
+vanna_(jomokin),4,21,
+vamptod,1,21,
+vampire_squid,5,21,"vampyromorphid,vampyromorphida,vampyromorphidan"
+valkyr_gersemi,4,21,
+valdroxx_studios,3,21,
+vailet_deer,1,21,
+vaginapenis,0,21,
+vae_(character),4,21,
+vadytwy,1,21,
+v1sage,1,21,
+urian_(nateday),4,21,
+urban_(artist),1,21,
+urate,0,21,
+uramenu,1,21,
+unzipping_pants,0,21,
+unusual_clothing,0,21,"exotic_clothing,exotic_wear"
+unsettling,0,21,
+unown_n,5,21,
+unnamed_rabbit,4,21,
+unixcat,1,21,
+unintentionally_funny,0,21,
+undressing_spell,0,21,
+uncle_sam,4,21,
+umixign,1,21,
+umbreeunix,1,21,
+umaterasu_(metalling),4,21,
+ultron,4,21,
+ultamisia,1,21,
+ukrainian_text,7,21,
+ujanskiy,1,21,
+uglycoal,1,21,
+tyskha,4,21,
+tysavarin,1,21,
+twodeepony,1,21,
+two_tone_jewelry,0,21,
+twitchdawoof,4,21,twitchwolf
+twime777,1,21,
+tuuwa,4,21,
+tutori,4,21,
+tuti_(tutifruti),4,21,
+tute_(character),4,21,
+turtle_(wof),4,21,
+turf_tiger,5,21,
+tur0_dx,1,21,
+tundra_wolf,5,21,
+tuke_(brother_bear),4,21,
+tuatara,5,21,
+ttrop,1,21,
+tsurugi_hagane_(artist),1,21,
+tsumeno,1,21,
+tsukasa_hiiragi,4,21,hiiragi_tsukasa
+tsuda_delcat,4,21,
+tsk03,1,21,
+tsen,4,21,
+true_cobra,5,21,"naja_(genus),naja_(snake),naja_snake"
+trout,5,21,
+trophy_necklace,0,21,
+trick-or-treating,0,21,
+tribo,1,21,
+tribdinosaur,1,21,
+treeing_dog,5,21,"cur_(hunting_dog),cur_hunting_dog,treeing_cur"
+tree_of_harmony,0,21,
+tre_(vasuki),4,21,
+trash_inu,4,21,
+translucent_tank_top,0,21,
+translucent_nightgown,0,21,
+translucent_horn,0,21,"see-through_horn,see-through_horns,see_through_horn,see_through_horns,seethrough_horn,seethrough_horns,sheer_horn,sheer_horns,translucent_horns,transparent_horn,transparent_horns"
+transformative_mask,0,21,
+tram,0,21,
+trainer_penelope,4,21,
+tounge_fucking,0,21,
+touhoufan,1,21,
+touching_bulge,0,21,
+total-krazen,1,21,
+toshi_xyrho,4,21,
+torusop,1,21,
+torsten_knot_(knotthere),4,21,
+toriel_(underswap),4,21,
+torben,4,21,
+toraneko,1,21,
+tony_keys,4,21,
+tony_(katnay),4,21,
+tongue_depressor,0,21,
+tongmung24,1,21,
+tomahawk,0,21,
+toimo_2610,1,21,
+todd_bronson,4,21,
+tj_(teej),4,21,
+tiziri,1,21,
+tito_(disney),4,21,
+tired_of_this_shit,0,21,
+tip_showing,0,21,
+tina_(avencri),4,21,
+timingtf_(artist),1,21,
+tight_coupling,3,21,
+tiffany_carrell,4,21,
+tickling_clit,0,21,
+thunder_twist,4,21,
+threyon_(threyon),4,21,
+thorn_(neoshard),4,21,
+thorn_(jigrasmut),4,21,
+this_is_sparta_(meme),3,21,
+thimble,0,21,
+thick_collar,0,21,
+theslowesthnery,1,21,
+themimicartist,1,21,
+thekc,1,21,
+thehuskyk9_(artist),1,21,
+thehurdygurdyman,1,21,
+thehobbyhorse,1,21,
+thecapedmanlloyd,1,21,thecapedmanlloyd_(artist)
+thebombshell5,1,21,
+thebluevibrava,1,21,
+thebestfox,4,21,
+the_sun_(tarot),0,21,
+the_succubus_hunt,3,21,
+the_silence_of_the_lambs,3,21,
+the_magic_school_bus,3,21,
+the_coloniser,4,21,
+the0blank0slate,1,21,
+thatorion,3,21,
+thatonegojimun,1,21,
+thatboi_limo,1,21,
+that_pool,0,21,
+thandra_(tolerain),4,21,
+text_box_prompt,0,21,
+teth,0,21,
+testicle_vore,0,21,
+tessa,4,21,
+tesla,4,21,
+terru,4,21,
+termite,5,21,"isoptera,isopteran,termitoid,termitoidae"
+terah,4,21,
+tenth_doctor,4,21,
+tentacle_on_leg,0,21,
+tentacle/female,0,21,
+tenshimi,1,21,
+tempuralobster,1,21,
+tempest_the_dolphin,4,21,
+tekkymunster,1,21,
+teenage_mutant_ninja_turtles_(2007),3,21,tmnt_2007
+techboy1423,1,21,
+td-4,4,21,
+taylorthefox24,1,21,
+tay_the_bear,4,21,
+tay_tengry,4,21,
+taw,4,21,
+tatsune,1,21,
+tastytales,1,21,
+tascom,1,21,
+tantlysa,1,21,
+tano_(far_beyond_the_world),4,21,
+tankers,4,21,
+tankarank,1,21,tankard_(artist)
+tango_gunma,1,21,
+tamatamako,1,21,
+talking_tom_and_friends_(series),3,21,
+takeyama_yu,4,21,
+take_a_number,0,21,
+takara,3,21,
+takame,1,21,
+taitang_tai3,1,21,
+tail_grinding,0,21,
+taichiharuki,1,21,
+tai_(viskasunya),4,21,
+tagger_fox,4,21,
+tachiyawolf,1,21,
+t-ace_juice,1,21,
+sy'ros,4,21,
+swiftnicity,1,21,
+swift_apex,4,21,
+sweberra,5,21,
+sweaty_skin,0,21,
+svenno,1,21,
+suzumiya11,1,21,
+suramo,1,21,
+sura_(ratte),4,21,
+superlavplov,1,21,
+super_bowl,3,21,
+sun_lounger,0,21,
+summer_breeze,4,21,
+summer_(101_dalmatians),4,21,
+sukep,1,21,
+sugoi-chan,1,21,
+succubat_(dragon_quest),5,21,
+subject_67_(helltaker),4,21,
+sub_fox,4,21,
+styx_(nextel),4,21,
+styx_(baronvonjackal),4,21,
+striped_neckerchief,0,21,
+striped_chest,0,21,
+striped_bow,0,21,
+stress,0,21,
+strayed_anima,1,21,
+strawberry_blonde,0,21,
+storm_twirl_(oc),4,21,
+sting_12,1,21,
+stickypad,1,21,
+steph_chan,1,21,
+stepfather_and_stepchild,0,21,
+stefano_the_sea_lion,4,21,
+starwolf_(wolfofdreams),4,21,
+starfinga,1,21,
+starburn,4,21,
+star_bright,4,21,
+star_before_text,0,21,
+staino,1,21,
+stained_panties,0,21,
+srfennec,1,21,
+squishy_kitty_(artist),1,21,
+squid_baron,4,21,
+squarepeg3d,1,21,
+spud,4,21,
+sprocco_(artist),1,21,
+spotify,3,21,
+spitting_on_face,0,21,
+spitfiremlp,4,21,
+spiritwhitewolf,1,21,
+spiritual,0,21,
+spindle_(mlp),4,21,
+spiked_chastity_device,0,21,
+spike_(lilo_and_stitch),4,21,"experiment_319,spike_(l&s),spike_(las),spike_(lilo_&_stitch),spike_(stitch)"
+sphincter,0,21,
+sphenacodontid,5,21,
+spencer's_goanna,5,21,"spencer's_monitor,spencers_goanna,spencers_monitor"
+specs,4,21,
+spear_tail,0,21,
+sparkle_star,4,21,
+spanking_(artist),1,21,
+spanish,0,21,
+spade_(freedom_planet),4,21,
+spackered,1,21,
+space-kid,1,21,
+sousuke_(lagoon_lounge),4,21,
+soup_(dasoupguy),4,21,
+sosarin,4,21,
+soren_kisamora,1,21,
+sora_(gargoyles),4,21,
+soothingbunny,1,21,
+sonja,4,21,
+song_sehee,4,21,
+sona_(wouhlven),4,21,
+someniceguy,1,21,wossogsd
+somber,0,21,
+soleil_(avyweathery),4,21,
+solar_(aspect.tribal.wolf),4,21,
+sofia_(darkriderx),4,21,
+sodabox,1,21,
+so_deep,0,21,
+snowball_(s2-freak),4,21,
+snow_(amazinggwen),4,21,
+snout_lick,0,21,
+snoofing,0,21,
+snocotan,1,21,
+sniffing_own_armpit,0,21,
+smuttybacon,1,21,
+smut,0,21,
+smokey_the_menish,1,21,
+smogville,1,21,
+smogslog,1,21,
+smite_(artist),1,21,
+slyus_(fursona),4,21,
+slyphin_drakil,4,21,
+slink_(character),4,21,
+sleeplesskiwi,1,21,
+sleepingwoolf,1,21,
+sled_team,0,21,
+slavcat,4,21,
+slaughter,0,21,
+slam_dunk,0,21,
+skurvy,1,21,
+skunkworth,1,21,
+skuell,1,21,
+skuddbutt,1,21,
+skrekdathird,1,21,
+skinny_humanoid,0,21,
+skill,0,21,
+sketchkat_(character),4,21,
+skellinore_(mlp),4,21,
+skahyoonk,4,21,
+sitting_on_breasts,0,21,
+sitting_on_belly,0,21,
+sirod_(character),4,21,
+sinister_taz,4,21,
+singarti,0,21,
+simple_pussy,0,21,
+simetra_kuro,4,21,
+simejinameko,1,21,
+silverzard,4,21,
+silver_reichtum,4,21,
+silver_penis,0,21,
+silver_ears,0,21,
+silver_(oxsilverxo),4,21,
+silkenpaws,4,21,
+sige315,1,21,
+sidje,1,21,
+shyny_destiny,4,21,
+shylar,4,21,
+shurikoma_(artist),1,21,
+shun_sunohara,4,21,
+shuifi_(shuifi),4,21,
+shuffy_(character),4,21,
+shuffy,1,21,
+shroudedmouse,1,21,
+shroom_girl,4,21,
+shrimp_humanoid,5,21,
+shredder_(hocolatemilk),4,21,
+showingoff,0,21,
+showers_the_vaporeon,4,21,
+shortsword,0,21,
+short_female,0,21,
+shocket_raccoon,4,21,
+shivra,1,21,
+shirukawaboulevard,1,21,
+shirou_emiya,4,21,emiya_shirou
+shirothedragon123,1,21,
+shiron_(jude-shyo),4,21,
+shira_(furryfight_chronicles),4,21,
+shiny_latex,0,21,
+shinrai-fidelis,1,21,
+shiningloardaaa,4,21,
+shinepaw,1,21,"shinepawart,shinepawpony"
+shine_(ownfanatic60),4,21,
+shikan,4,21,
+shibusun,1,21,
+shian_(hzangrasraxian),4,21,
+shi_ba_ki_chi,1,21,
+shero-chan,1,21,
+sheol_(artist),1,21,
+shenshepa,1,21,
+sheepwithcrystallicfur,1,21,
+sheath_pressing,0,21,
+sharkmaps,1,21,
+sharing_beverage,0,21,
+shanikafaceless,1,21,
+shalya_(needintetnsfw),4,21,
+shakuto,1,21,
+shaker,0,21,
+shady_daze_(mlp),4,21,
+shadow_fox,4,21,
+shade_(character),4,21,
+sexualyeti,1,21,
+sevota,4,21,
+sevie,1,21,
+seres_(seresdragon),4,21,
+serenaught,1,21,
+serb,1,21,
+seong_mi-na,4,21,
+sensetivewhiskers,1,21,
+senphyro_(character),4,21,
+senorita_tlacua,1,21,
+senaelik,1,21,
+semi-anthro_penetrating,0,21,
+selo,4,21,
+selena_crone,4,21,
+selara,4,21,
+sela,4,21,
+seizure,0,21,
+seel_dingo_(character),4,21,
+sebris,4,21,
+season,0,21,
+seashore,0,21,
+seanmalikdesigns,1,21,
+screencap_(artist),1,21,
+scottish_accent,0,21,
+scott_calico_(scottc),4,21,
+scoob!_(movie),3,21,
+sciencefox,1,21,
+schwarzwalder,4,21,
+scholar_(final_fantasy),4,21,
+schmierfink,1,21,
+schizowolf,1,21,
+schizoid,1,21,
+schermann,1,21,
+scarleteyedragon,1,21,
+scarlet_dragoon,1,21,
+scarlet_(wof),4,21,
+scalefish_520,1,21,
+saz,4,21,
+savannah_pendragon,4,21,
+savannah_(saxa),4,21,
+saucepit_(artist),1,21,
+sasha_moss,4,21,
+sasha_(eradragon),4,21,
+saradrawsart,1,21,
+sans_(altertale),4,21,
+sanguine_(sanguinederg),4,21,
+sangluna,1,21,
+sanbi_(reku),4,21,
+sammy_(chalo),4,21,
+sammy_(cainesart),4,21,
+sammi_the_yordle,4,21,
+samia_of_the_shifting_sands,4,21,
+sam_wolfff,1,21,
+sam_(kaspa),4,21,
+salga_0310,1,21,
+salazbok,4,21,
+sakura_(shima_shima_tora_no_shimajirou),4,21,
+sakuhuu,1,21,
+saina_heart,4,21,
+saimelon,1,21,
+sailor_mars,4,21,
+sahakyants,3,21,
+sagittarius_(symbol),0,21,
+saffus,4,21,
+safeword_(character),4,21,
+safety_cat,4,21,
+sabrina:_the_animated_series,3,21,
+saberspark_(character),4,21,
+ryusei_iouko,4,21,
+ryou_(ryoudrake),4,21,
+ryka_(ultilix),4,21,
+ryden_dire,1,21,
+rydah_hazard,4,21,
+rutkotka,1,21,
+rusty_(air_bound),4,21,
+rusti,4,21,
+rustbust,1,21,
+rupert_bear,3,21,
+rune_nigrala,4,21,
+rune_(~hey_yo~),4,21,
+rum_tum_tugger,4,21,
+rue_(no_9),4,21,
+rubykila,1,21,
+ruby_(othinus),4,21,
+ruby_(deonwolf),4,21,
+rubikang,5,21,
+royal_cicada,1,21,
+roxanne_(skarlett_cynder),4,21,
+rowan,4,21,
+round_bed,0,21,
+roseee_(artist),1,21,
+roople,4,21,
+ronnie_crow,1,21,
+ronni_(rayliicious),4,21,
+roland_(tehweenus),4,21,
+rokutenachimutsu,1,21,
+rokh_(artist),1,21,
+rodin,1,21,
+roderick_(tamerkoh),4,21,
+rod_(animal_crossing),4,21,
+rocky_road,1,21,
+rocks_and_bugs_and_things,3,21,rocks_&_bugs_&_things
+rockosedits,1,21,
+rockin,4,21,
+rocco_(kiwa_biscuitcat),4,21,
+robonyan,4,21,
+robocattnsfw,1,21,
+robbie_the_mouse,4,21,
+riznben_(artist),1,21,
+riyo,4,21,
+rivercoon,1,21,
+rivak,1,21,
+risque_phantom,1,21,scaly_phantom
+riso_bianca,1,21,
+ripy_(oc),4,21,
+rip_kackel,4,21,
+rin,4,21,
+riley_(tinydeerguy),4,21,
+riley_(pokémon),4,21,riley_(pokemon)
+rile-reptile,1,21,
+riku_usi,1,21,
+riilu_(character),4,21,
+rico_ro-ni,4,21,
+ricky_(zerofox1000),4,21,
+ricky_(libra-11),4,21,
+richard_(rikarda),4,21,
+rhythm_game,0,21,
+rhari_(character),4,21,
+rey,4,21,
+rex_(magpiehyena),4,21,
+rex_(bgn),4,21,
+reverse_prayer,0,21,
+revelion,1,21,
+revankitty,3,21,
+restrained_to_wall,0,21,
+rené_(boosterpang),4,21,rene_(boosterpang)
+renx,1,21,
+renji_(cocotama),4,21,
+remusa_(liarborn),4,21,
+rely_(thatguywithmultiplecharacters),4,21,
+rekodo_vekod,4,21,
+rekkulani_(colorshy),4,21,
+reiner55,1,21,
+reindog_(multiversus),4,21,
+reiko_(tofuubear),4,21,
+regal,4,21,
+reece_silvermane_(silverhorsey),4,21,
+redgi_(tails_of_iron),4,21,
+redeyedwolf,1,21,
+reddandwhyte,1,21,
+red_sleeves,0,21,
+red_pubic_hair,0,21,
+red_outerwear,0,21,
+red_one-piece_swimsuit,0,21,
+red_ear_fluff,0,21,
+red_bag,0,21,
+recycling_bin,0,21,
+receptionist,0,21,
+rebecca_(disambiguation),4,21,rebecca
+reagan_long,1,21,
+razuya.torazaki,1,21,
+razorkitana,1,21,
+raz_(nanimoose),4,21,
+rayverak,1,21,
+rayndancer,1,21,
+ray_van_siegheart,4,21,
+rawlee,4,21,
+raven_hawkfeather,4,21,
+raven_(artist),1,21,
+ravager_(naruever),4,21,
+ravage,4,21,
+raunchyninja,1,21,
+rattlesnake_jake,4,21,
+rasik,1,21,
+rasher_(animal_crossing),4,21,
+rash_almose,4,21,
+rarehare,1,21,
+raph,4,21,
+randytheartdog,1,21,darknessyin
+rakkigaru,1,21,
+rails,0,21,
+raijin_(shaftboop),4,21,
+raichamonolith,5,21,
+raibear,4,21,
+ragora57,1,21,
+rage_grenade,1,21,
+radjin_(radjinwolf),4,21,
+radiation.,1,21,
+rada_(woadedfox),4,21,
+raceplay,0,21,
+quija,4,21,
+queen_vanessa_(ahit),4,21,
+queen_toasty,4,21,
+queen_of_cats,4,21,"fat_tat_cat,fat_tat_cat_(ready_player_one)"
+quatre_aaaa,1,21,"間間山(虚無病),間間山_(ままさん),間間山(ままさん)"
+quasar,4,21,
+pythor_(fan_character),4,21,
+puzzleplush,1,21,
+putty,1,21,
+pussy_juice_on_own_tongue,0,21,
+pussy_juice_on_arm,0,21,
+pussy_juice_everywhere,0,21,
+purple_shell,0,21,
+purple_piercing,0,21,
+purple_headband,0,21,
+puppenstein,1,21,
+punch_(drink),0,21,
+puma_tuler,4,21,
+puffinza,1,21,
+puffer_puff,1,21,
+protocol_droid,5,21,
+proteus_(proteusiii),4,21,
+protective_cup,0,21,
+professor_hubert,4,21,
+prints_(character),4,21,
+print_bow,0,21,
+princess_flame,4,21,
+prince_waddle,4,21,
+primehunterwolf,1,21,
+pride_color_gloves,0,21,
+pressing_against_cheek,0,21,
+preschoolkaiju,1,21,
+pred,0,21,
+precum_on_sheath,0,21,
+precum_on_bed,0,21,
+praxxwhal_(artist),1,21,
+powerless,0,21,
+poundbandana,1,21,
+potes,1,21,
+potateymatey,1,21,
+poprocks_(oc),4,21,
+poppy_(flower),0,21,
+pop_cat,3,21,
+ponnyattu,1,21,
+polyanthrope,0,21,
+polross,4,21,
+pokemonartist,1,21,
+poke_bean,0,21,pokebean
+poison_gas,0,21,
+poison_control,3,21,
+pohatu,4,21,
+pog_benis,1,21,
+plume_(mxplume),4,21,
+plug_suit,0,21,
+platypet_(temtem),5,21,
+platinum_hair,0,21,
+plantar_overflexion,0,21,
+plant_transformation,0,21,
+planet_devourer,5,21,
+planet_coaster,3,21,
+pix_(piczel),4,21,
+pivv,4,21,
+piraya_piranha,5,21,"black-tailed_piranha,black_tailed_piranha,king_emperor_piranha,piraya,rio_sao_francisco_piranha,rio_são_francisco_piranha,san_francisco_piranha"
+pipsy_the_mouse,4,21,pipsy
+piper_(bralios),4,21,
+pinopino,1,21,
+pinniped_pussy,0,21,
+pinky_(lewdpurplgoo),4,21,
+pinklepickle,1,21,
+pink_visor,0,21,
+pink_neck,0,21,
+pink_bow_(anatomy),0,21,
+pinecone_chicken,1,21,
+pilot_(titanfall),4,21,
+pico_(ayame_emaya),4,21,
+pickle_barrel_(mlp),4,21,
+phylla_(coc),4,21,
+photographing_another,0,21,
+phoneris,5,21,
+phirae,4,21,
+phazyn,1,21,
+phantom_marionette_(fnaf),4,21,
+petticoat,0,21,
+petpet_(neopets),5,21,"pet_pet_(neopet),pet_pet_(neopets),pet_pets_(neopet),pet_pets_(neopets),petpet,petpet_(neopet),petpets,petpets_(neopet),petpets_(neopets)"
+pesakd,1,21,
+personal_training,0,21,
+perico,4,21,
+peony_(fvt),4,21,
+penumbraart,1,21,
+pelycosaur,5,21,
+peg_(disney),4,21,
+peep_and_the_big_wide_world,3,21,
+pedal,4,21,
+pearl_(disambiguation),6,21,pearl
+pear_of_anguish,0,21,
+peachykeen,1,21,
+peaches_(ice_age),4,21,
+pd04140298,1,21,
+pawronica_(fursona),4,21,
+paw_sandwich,0,21,
+paula_(animal_crossing),4,21,
+patchwork_clothing,0,21,
+patapon,3,21,
+pat_(later_alligator),4,21,
+part_of_a_set,0,21,
+parma15,1,21,
+parinton,4,21,
+papriko,1,21,
+papermintus,1,21,
+papermint,0,21,
+panzercaptjason,1,21,
+pants_off,0,21,
+panties_pull,0,21,
+panther_(kaiju_paradise),4,21,
+panini_(panininha),4,21,
+pandafox_(artist),1,21,
+pan_(mythology),4,21,pan_(diety)
+palemoonwendigo,1,21,
+painted_text,0,21,
+paintball_gun,0,21,
+pachy_squirrel,4,21,
+paarthurnax,4,21,
+oyabun_to_fushigina_kusuri,3,21,
+owlboy,3,21,
+ovulation,0,21,
+overkill,0,21,
+outbreak_company,3,21,
+ouma_tokiichi,1,21,
+otamom,4,21,
+oswald_(ahnik),4,21,
+ostrich_feather,0,21,
+ossifrago,4,21,
+osoalex,1,21,
+osiosi,4,21,
+oscar_(purrloin),4,21,
+osabakitina,1,21,
+oriondreams,1,21,"ranblush,wolfmoondesires"
+orion_(jackalope),4,21,
+orgasmic_birth,0,21,
+organ_removal,0,21,
+orca_taur,5,21,orcataur
+orangesoiree,1,21,soiree
+orange_speech_bubble,0,21,
+orange_eyelids,0,21,
+ora,4,21,
+onegathos,1,21,
+onecherry,1,21,
+one_paw_up,0,21,
+on_snout,0,21,
+on_hay,0,21,
+omiya599,1,21,
+olyvia_cross_(sexyblaziken),4,21,
+ollie_(overgrown_lizards),4,21,
+olga_discordia,4,21,
+oktavia_(roadkilla12),4,21,
+oko-san,1,21,
+okamy,1,21,
+oinking,0,21,
+oh_joy_sex_toy,3,21,
+odette_zephyr,4,21,
+octo-risotto,1,21,
+ocean_blues,0,21,
+occultgay,1,21,
+obsidian_(rubberbuns),4,21,
+object_entrapment,0,21,
+nyx_(icebounde),4,21,
+nyoko_(mallowchu),4,21,
+nyan_(one-punch_man),4,21,"nyaan_(1-pm),nyaan_(1-punch),nyaan_(1-punch_man),nyaan_(1_punch),nyaan_(1pm),nyaan_(1punch),nyaan_(1punch_man),nyaan_(o-pm),nyaan_(one-punch),nyaan_(one-punch_man),nyaan_(one_punch),nyaan_(one_punch_man),nyaan_(onepunch),nyaan_(onepunch_man),nyaan_(opm),nyan_(1-pm),nyan_(1-punch),nyan_(1-punch_man),nyan_(1_punch),nyan_(1pm),nyan_(1punch),nyan_(1punch_man),nyan_(o-pm),nyan_(one-punch),nyan_(one_punch),nyan_(one_punch_man),nyan_(onepunch),nyan_(onepunch_man),nyan_(opm)"
+nur_(0laffson),4,21,
+nuki,4,21,
+nuezou,1,21,
+nue_houjuu,4,21,
+nucleon_(fakemon),5,21,
+nuclear_bomb,0,21,
+nroc-nuika,1,21,
+nova_(nova_umbreon),4,21,
+notyoursagittarius,1,21,
+notrip,1,21,
+notification,0,21,
+noticeboard,0,21,
+noteworthy_(oc),4,21,
+norris_pole_(character),4,21,
+norna,4,21,
+norenuko,1,21,
+nordvarg1,1,21,
+nora_(rain-yatsu),4,21,
+noquelle,1,21,
+noodleartz,1,21,
+nomi_no_sukune,4,21,
+nolegal,1,21,
+noisemaker,0,21,
+noctulov,1,21,
+noct_(noctilus),4,21,
+nobody_(oc),4,21,
+noahdoesart,1,21,
+noah_valerian,4,21,
+no_more_heroes,3,21,
+niwan,1,21,
+nitro_(anothereidos_r),4,21,
+nisimawari,1,21,
+nishi_yoshi,4,21,
+nipple_vibrator,0,21,
+nipple_tentacles,0,21,
+nipple_bow,0,21,
+ninu_kenage,4,21,
+nintendo_seal,0,21,
+nintendo_ds_lite,3,21,
+ninanidorina,1,21,
+nina,4,21,
+nilomne,1,21,
+nikkii,4,21,
+nikki_(balto),4,21,
+night_fumei,4,21,
+ng,0,21,
+nexybutt,1,21,
+netsuki,1,21,
+nessei,4,21,
+ness_(larathelabrat),4,21,
+nerf_blaster,0,21,"nerf_gun,nerfgun"
+nephthys,4,21,
+nepal_house_martin,5,21,
+neonxhusky,4,21,
+neondragon,1,21,
+neon_dark_(destiny-yuuei),4,21,
+neolykos,4,21,
+nen_nen_koro4,1,21,
+nemnth,4,21,
+nemi_(tenshoku_safari),4,21,
+nelly_(neceet),4,21,
+nearie,4,21,
+ncimpuu,1,21,
+naval_uniform,0,21,
+nausicaä,4,21,nausicaa
+naughtywrens,1,21,
+native_voyage,1,21,
+nathaniel_vinkolt,4,21,
+nate_(ritts),4,21,
+natalie_(jindragowolf),4,21,
+nashiru,1,21,
+nasharan,1,21,
+narci_(moreuselesssource),4,21,
+naranjou,1,21,
+naoki_(snao),4,21,
+nana_(fadey),4,21,
+nan_(nanexis),4,21,
+nago_(kirby),4,21,
+nadya_(blutroyale93),4,21,
+nadia,4,21,
+naamah_(slb),4,21,
+n_(doneru),4,21,
+mytmyt,1,21,
+myth_(eihwaz_algiz),4,21,
+mysticfluff,1,21,
+mysticat_(youtuber),4,21,
+mystery_machine,0,21,
+mysfortune,1,21,
+myoukky,1,21,
+myan_(artist),1,21,
+muzzle_in_anus,0,21,
+mushroompus,1,21,
+mushroom_glans,0,21,
+murdoch_byrnes,4,21,
+multiple_subs_one_dom,0,21,
+multicolored_glans,0,21,
+multicolored_choker,0,21,
+multicolored_armband,0,21,
+mugheyart,1,21,
+muggsart,1,21,
+mufksin,1,21,
+mudraptor,5,21,
+ms._dolly,4,21,
+mr_zero,1,21,
+mr_hdclobin,1,21,
+mr_darkness,4,21,
+moyses_damasceno,1,21,
+moyoron,1,21,
+moxymax,1,21,
+mox,4,21,
+movie_screen,0,21,
+motiyuki,1,21,
+moth_(creepy_castle),4,21,
+mostima_(arknights),4,21,
+mossy_(nirvana3),4,21,
+mosny,1,21,
+mosfet_(character),4,21,
+moschus_troll,5,21,
+moro,4,21,
+morapandita,1,21,
+moonlit_ace,4,21,
+monty_mole,5,21,
+monte_(worgenrouge),4,21,
+monster_sam,1,21,
+monster_(fnf),4,21,lemon_demon_(fnf)
+monotone_thong,0,21,
+monotone_belt,0,21,
+monocerus,1,21,
+monique_santifcer,4,21,
+momo_(sirbrownbear),4,21,
+mommy_(sloss),4,21,
+mole_under_mouth,0,21,
+mofuringu,1,21,
+modular_anatomy,0,21,
+mob_mentality,3,21,
+moa_(show_by_rock!!),4,21,
+mlavieer,1,21,
+mlarty,4,21,
+mknrhsm,1,21,
+mixels,3,21,
+mitsui-jun,1,21,
+mirx,4,21,
+mioki,1,21,
+minx_lyra,4,21,
+mint_(goldenbuckles),4,21,
+mindofor,1,21,
+milvusb,1,21,
+milly_(a_dusty_wolf),4,21,
+millis_(icma),4,21,
+mikoto_(ff),4,21,mikoto_(final_fantasy)
+mikasa_ackerman,4,21,
+mikami49,1,21,
+mighty_no._9,3,21,
+midnightsultry,1,21,
+michelle_lewis,4,21,
+micco_(grimart),4,21,
+mhfap!,3,21,
+mewgia_(species),5,21,
+metroid_prime_2,3,21,
+metalgarurumon,5,21,
+metal_chastity_belt,0,21,
+messiah,4,21,
+merlock,4,21,
+merlin_(orphen-sirius),4,21,
+meraze,1,21,
+mentalkitty,1,21,
+memphis,4,21,
+mellow_(character),4,21,
+melis,4,21,
+melanie_mortrose,4,21,
+mei_lian_(magiace),4,21,
+megan_(al_gx),4,21,
+megamilk_(character),4,21,
+mega_beedrill,5,21,
+meesha_ghostseeker,4,21,
+mead_(kuiperfrog),4,21,
+maya_(secretly_saucy),4,21,
+maya,4,21,
+maxim_tomato,0,21,
+maxa',1,21,
+maverick_(mega_man),5,21,
+maurito,1,21,
+matty_(castbound),4,21,
+mattaku_mousuke,1,21,
+massjoinment,0,21,
+masotan,4,21,
+mashuu,4,21,
+mascara_smear,0,21,
+mary_blue,4,21,
+mary_(bloopertrooper),4,21,
+marvofun,1,21,
+martin_the_warrior,4,21,
+marti_dumont,4,21,
+marshal_blue,4,21,
+marsey_naarin,1,21,
+mars_(planet),0,21,
+marrubi,4,21,
+marnie_(grimart),4,21,
+marilith,5,21,
+mariel_(tch),4,21,
+marie_(ni_jikan),4,21,
+maria_notte,4,21,
+mari,4,21,
+margot_mallard,4,21,
+margarine_(deumosden),4,21,
+mareef,4,21,
+marcus_(azathura),4,21,
+marco_and_marty,3,21,
+marcie_(animal_crossing),4,21,
+marc_debauch,1,21,
+maomaogames,3,21,
+maodun,1,21,
+manure,0,21,
+mantis-x,1,21,
+mango_the_pikachu,4,21,
+mangchi,1,21,
+mame02550912,1,21,
+malpo_(carrot_kiss),4,21,
+maleherm_penetrating_maleherm,0,21,mh/p/mh
+maleherm_penetrating_male,0,21,mh/p/m
+male_taur,0,21,
+male_non-humanoid_creature,0,21,
+male_friend_(panken),4,21,
+malayan_tapir,5,21,"asian_baku,asian_tapir,asiatic_baku,asiatic_tapir,badak_tampung,cipan,indian_baku,indian_tapir,malay_baku,malay_tapir,malayan_baku,malaysian_baku,malaysian_tapir,oriental_baku,oriental_tapir,piebald_baku,piebald_tapir,tenuk"
+maki_(malegardevoir),4,21,
+make_america_great_again,3,21,
+mak.s,1,21,
+maisie_(hocolatemilk),4,21,
+mairusu-paua,1,21,
+magnetism,0,21,
+magic_show,0,21,
+magic_hat,0,21,
+magic_blast,0,21,
+mae_marten,4,21,
+mae_magritte_(artist),1,21,
+made_grizzly,3,21,
+maddox,4,21,
+maddison_rivers,4,21,
+maarzdud,1,21,
+ma'ara,4,21,
+m249,0,21,
+lyritha,4,21,
+lyra_belle,4,21,
+lynne_(mousey_love),4,21,
+lynn_(orang111),4,21,
+lyncario,1,21,
+lyle_(icehawk),4,21,
+lykan_varion,4,21,
+lying_on_glass,0,21,
+luxatile,1,21,
+lux_hearths,4,21,
+lustre_(drxii),4,21,
+lustfulhunter,1,21,
+lushminda,1,21,
+lurker_bot,1,21,
+lupis_wolfe,4,21,
+luo_xiaohei,4,21,
+lunimoonvb,1,21,
+luneiumbreon_(mintyspirit),4,21,
+lunati,1,21,
+lunarthunderstorm,1,21,
+luna_(overwatch),4,21,
+lumpy_touch,1,21,
+lumozze,1,21,
+lumi_(cypress),4,21,
+lulucien,1,21,
+lulitadarkrose,1,21,
+luke_(s1m),4,21,
+lucian_(forestmaster),4,21,
+lucas_lightfoot_(zaush),4,21,
+lubed_anus,0,21,
+lube_on_breasts,0,21,
+lt._surge,4,21,"lieutenant_surge,lightning_lieutenant,lightning_lieutenant_lt._surge,lightning_lieutenant_lt_surge,lightning_lieutenant_surge,lt_surge"
+lovemilliesm,1,21,
+love_triangle,0,21,
+louiz,1,21,
+louie_(pixiv),1,21,
+loui,1,21,
+lordfriez,1,21,
+lord_darcia_iii,4,21,"lord_darcia_the_3rd,lord_darcia_the_third"
+looking_scared,0,21,
+lonnie,4,21,
+long_feathers,0,21,
+lokio,4,21,
+log_draws,1,21,
+local_candybot,1,21,
+loba,4,21,
+llunablue,4,21,
+llama_mama_(thehoneybutter),4,21,
+lizard_taro,1,21,
+liursinho,1,21,
+liunkaya,4,21,liunkaya_redwing
+littlenaughtypony,1,21,
+little_dragon,1,21,
+little_bits,4,21,
+liskis,1,21,
+linni-fight,1,21,
+linnea,4,21,
+linkz_artz,1,21,
+lincoln,4,21,
+limni,4,21,
+limehazard,1,21,
+lilly_(oc),4,21,
+lilibet_adams_(candygurl),4,21,
+liliana86973943,1,21,
+lil_(katnay),4,21,
+lil-red_(character),4,21,
+likeshine,1,21,
+lightning_mcqueen,4,21,
+lightning_flash_(oc),4,21,
+light_stockings,0,21,
+light_natsuko,1,21,
+light_from_below,0,21,
+light_fast_luz_negra_(whygenamoon),4,21,
+ligerbull_(species),5,21,
+lick_kiss,0,21,
+li'l_melon,4,21,
+li'l_judd,4,21,lil_judd
+lett,4,21,
+les_kassos,3,21,
+leora,4,21,
+leopold_(zummeng),4,21,
+leopard_(changed),4,21,
+leonoy,1,21,
+leo_(zodiac),4,21,
+leo_(pikanodannna),4,21,
+leo_(kuroodod),4,21,
+lenora_(tomlloyd),4,21,
+lena_(thekite),4,21,
+lena,4,21,
+lemonlycan,1,21,
+lemmy_(sapphinarose),4,21,
+leg_shaking,0,21,
+leg_on_thigh,0,21,
+leg_on_head,0,21,
+leg_between_thighs,0,21,
+leeeee_l,1,21,
+lee_(zark),4,21,
+lee_(disambiguation),4,21,lee
+leash_training,3,21,
+lea_heatherholm,4,21,
+lea_(whisperingfornothing),4,21,
+lazypopluck,1,21,
+layndon,1,21,
+layan_irfan,4,21,
+lavy_(blitza),4,21,
+lavedor_chimera,5,21,
+lauren_aza,4,21,
+lauren_(tfp),4,21,
+laura_(soft_rain),4,21,
+latiass_(character),4,21,
+lars_(anti_dev),4,21,
+lara_(mozu),4,21,
+lane_(kilinah),4,21,
+lalana,4,21,
+lakritz_(quin-nsfw),4,21,
+laila_myrhe,4,21,
+la_verenjena-kchonda,1,21,
+kzarren,4,21,
+kyro_fox,0,21,
+kyro_(phoenix2014),4,21,
+kyreli_(limebreaker),4,21,
+kynosura,1,21,
+kyle_twilight,1,21,
+kyaptainkiddo,1,21,
+kuruitty,1,21,
+kuropapu,1,21,
+kuroneko_coffee,1,21,
+kuroki_tomoko,4,21,
+kurimi_(lunarspy),4,21,
+kuridora,1,21,
+kuranaga15,1,21,
+kurama_(kuramasocalfox),4,21,
+kumatann,1,21,
+krow,4,21,
+kroq_gar,4,21,
+kragith,4,21,
+koto_(yu_yu_hakusho),4,21,
+korol,1,21,
+koriander_(goodtuber420),4,21,
+kooshmeister,1,21,
+konrad_titor,4,21,
+konnestra,1,21,twerkingnasus
+konayu_craft,1,21,
+komolord,1,21,
+komahu,1,21,
+koki_(skunkhotel),4,21,
+koi_(carrot_kiss),4,21,
+kohana,4,21,
+kogawa_kenji,1,21,
+kog_smut,1,21,
+koda_jd,1,21,
+knot_squeeze,0,21,
+knightsfm,1,21,
+knia_(devil-vox),4,21,
+kloseddoors,1,21,
+klesha,5,21,
+klaue_the_lion,4,21,
+kizuna_ai,4,21,
+kiwikiwi555,1,21,
+kitsune_mom_(othinus),4,21,
+kitajadner,1,21,
+kit_(james_howard),4,21,
+kit_(fortnite),4,21,
+kiss_on_forehead,0,21,
+kisakarou,1,21,
+kirika_(peach88),4,21,
+kira_(nekogirl1257),4,21,
+kira_(hellshound),4,21,
+kingatrandom_(kar),4,21,
+king_noble,4,21,
+kimbyfox,1,21,
+killerbunnys,4,21,
+kikira1203,1,21,
+kielah_(altrue),4,21,
+kidkuo,1,21,
+khyther_pyroxen_(ragingmoonbeam),4,21,
+khronosz,1,21,
+khloe_(dichromate),4,21,
+khalo_(jelomaus),4,21,
+khaki_tail,0,21,
+khaki_leaf,1,21,
+khaki_face,0,21,
+kfc_bucket,0,21,
+kezmmar,1,21,
+kevlar_productions,1,21,
+kensukethecat,1,21,
+kenny_(fleetwoodbrak),4,21,
+kenko,4,21,
+kemmy_(a_walk_home),4,21,
+kemik_(whaddon),4,21,
+kelvin_(bad_dragon),4,21,
+kelnich,1,21,
+kela_(chuckybb),4,21,
+kejqi,4,21,
+keith2002,1,21,
+keitai_denjuu_telefang,3,21,
+keilah_(altrue),4,21,
+kei_anbie,4,21,
+keeyrow,1,21,
+keep_your_hands_off_eizouken!,3,21,
+keenfox,1,21,
+keeby,4,21,
+kazumichi_irie,4,21,
+kazard,4,21,
+kayuna_starbreeze_(character),4,21,
+kayle_(ravencrafte),4,21,
+kayla_orca,1,21,
+katya_zhang,4,21,
+katkhol,1,21,
+katja_(baldrek),4,21,
+kathleen_rosetail,4,21,
+katerine_flores,4,21,
+katanimate,1,21,
+katahira_masashi,1,21,
+kasakir_(rainbowdash1x),4,21,
+karmanseph,1,21,
+karl_gustav_gjertsen,1,21,
+kaos,4,21,
+kamochiruu,1,21,
+kamina_(kordcross),4,21,
+kale_(kipper0308),4,21,
+kakau221,1,21,
+kaizermelvon,1,21,
+kaiza_teira,1,21,
+kaia_(ulfhednar),4,21,
+kagen_the_wolf,4,21,
+kagami,1,21,
+kaddo,1,21,
+kaceymeg,1,21,
+kabalmystic_(artist),1,21,
+k'joor_(artist),1,21,
+jzarko_(artist),1,21,
+jusu-tengu,1,21,
+justtoast,1,21,
+justicecaptainv,1,21,
+justaweirdogirl,1,21,
+juniper_(coffeefly),4,21,
+junibuoy_(character),4,21,
+jujichanchan,1,21,
+juan_carlos_bodoque,4,21,
+jrahars,0,21,
+jousterl,4,21,
+josia,4,21,
+josh_(paintfox),4,21,
+joseph_jacinto_mora,1,21,
+jooughust,1,21,
+joona_(colarix),4,21,
+john_thomas,1,21,
+john_(zaush),4,21,
+jogger,0,21,
+job_interview,0,21,
+joanna_watterson,4,21,
+jixer,4,21,
+jira_lightstalker,4,21,
+jinny,4,21,
+jim_(disambiguation),1,21,jim
+jillas,4,21,
+jib_kodi_(artist),1,21,"jib_kodi,jibbin_kodiyak,jibkodi"
+jiang_ziya,3,21,
+jhony.,1,21,
+jggjqm522,1,21,
+jf-049,1,21,
+jessie_(fuze),4,21,
+jessie-fennec_(character),4,21,
+jeremiah_(seth-iova),4,21,
+jenny_fenmore,4,21,
+jelly_zafara,5,21,
+jeanne_(hyenahonk),4,21,
+jean_(artist),1,21,
+jayfeather_(warriors),4,21,
+jaydin_eversnow,4,21,
+javadog,4,21,
+jasper_(disambiguation),4,21,jasper
+jarlarild,3,21,
+jared_(lipton),4,21,
+janemba,4,21,
+jane_cottontail,4,21,
+jane_(wobblelava),4,21,
+jamesthedoc,1,21,
+jade_(sequential_art),4,21,
+jacob_(disambiguation),4,21,jacob
+jacktheripper2008,1,21,
+jackash,1,21,
+jack_hoo_(artist),1,21,
+jack-in-the-box-sfm,1,21,
+jacfox,1,21,
+jace_beleren,4,21,
+j_rudeart,1,21,
+iya,4,21,
+ixion,4,21,
+ivy_terroir,4,21,
+ivory_(blitza),4,21,
+ivisska,4,21,
+ivan_jarogniew,4,21,
+iv_line,0,21,
+itsdatskelebutt,1,21,
+isuno,1,21,
+isuku,4,21,
+issack_wink,1,21,
+isabel_(atomic417),4,21,
+iridi_(malberrybush),4,21,
+iravo_(arcanine),4,21,
+ioshiazul,1,21,
+invisibility,0,21,
+inuwanko,1,21,
+inutonotawamure,3,21,
+integra,4,21,
+instinct,0,21,
+insect_princess,4,21,
+inklingbear_(artist),1,21,
+infraspinatus,0,21,
+inflating,0,21,
+indy_(nopetrol),4,21,
+incision,0,21,
+impending,0,21,
+imaajfpstnfo,1,21,
+illuminated,0,21,
+ilan1985,1,21,
+ikuze,1,21,
+ikenna,4,21,
+ikenbako,1,21,
+igor_kieryluk,1,21,
+ignituspanda,0,21,
+igarashi_ta,1,21,
+ifra,1,21,
+idlerawr,1,21,
+ideal_(copyright),3,21,
+idascu,4,21,idascumon
+icy_vinyl,1,21,
+icon_of_sin_(doom),4,21,
+ickyfig,1,21,
+icelandic_horse,5,21,
+icarus_berrys_(ludexus),4,21,
+icarus_(dragon_ball),4,21,
+ibm,3,21,
+ian_mcconville,1,21,
+hyrule,0,21,
+hyprknetc,1,21,
+hypnoticdragon,1,21,
+hyper_genetalia,0,21,
+hy_eight,4,21,
+huthro,1,21,
+husky_inu,5,21,
+huskrblight,1,21,
+husk,0,21,
+huntik,3,21,
+hunterandom,1,21,
+hunson_abadeer,4,21,
+hungerynano,1,21,
+humvee,3,21,
+hotdog_costume,0,21,
+hot-juice,3,21,
+horus_(puzzle_and_dragons),4,21,"horus_(p&d),horus_(pnd),horus_(puzzle_&_dragons)"
+horsecat,1,21,
+hornedrat,1,21,
+hooty_(the_owl_house),4,21,
+honeymooo,1,21,
+homotherium,5,21,"scimitar_cat,scimitar_toothed_cat"
+holy_water,0,21,
+hollydaysheep,1,21,
+hollow-dragon,1,21,
+hole_in_pants,0,21,
+holding_wood,0,21,
+hissmiss,1,21,
+hippopotamus_(kemono_friends),4,21,hippo_(kemono_friends)
+himmel_(oc),4,21,
+him_army,1,21,
+hilt,0,21,
+hikkoro_wyvern,4,21,
+higgo,4,21,
+higemorigen,1,21,
+hidden97,1,21,
+hibakiti,1,21,
+hex,4,21,
+heterogeneous_tentacles,0,21,
+herseyfox,1,21,
+herr_wozzeck,3,21,
+herding,0,21,
+helping_hand,0,21,
+hellodoctor,1,21,
+hellhorse,5,21,
+hellena_(black-husky),4,21,
+helicopter_ears,0,21,
+hekate_(tas),4,21,
+hek,1,21,
+heist,0,21,
+heim_(bjark),4,21,
+heavy_ball,0,21,
+heartbeat_line,0,21,
+heart_wall,0,21,
+heart_bedding,0,21,
+heart_apron,0,21,
+heads_up_display,0,21,
+headlight,0,21,
+headband_ears,0,21,
+hazama,1,21,
+hawthorn,1,21,
+hawking_(leglegleg),4,21,
+hatch,0,21,
+hasshaku-sama,4,21,
+harper_del,1,21,
+harper_(nicnak044),4,21,
+harold_(bunnicula),4,21,
+harmonidemicum,1,21,
+harmond_(talespin),4,21,
+harasaki,1,21,
+hank_(meesh),4,21,
+hanes,3,21,
+handcannon,0,21,hand_cannon
+hand_on_nose,0,21,
+hand_on_nipples,0,21,
+hand_on_door,0,21,
+hand_on_counter,0,21,
+hanakusotokyo,1,21,
+halston,4,21,
+haley_(bcb),4,21,
+haku_hyogaki,4,21,
+gynomorph_rimming_female,0,21,
+gynomorph_penetrating_maleherm,0,21,"d/p/mh,dgirl_penetrating_maleherm,dickgirl_penetrating_maleherm,gm/p/mh,newhalf_penetrating_maleherm,shemale_penetrating_maleherm"
+gynomorph_penetrating_feral,0,21,
+gynomorph/male/gynomorph,0,21,
+gwen_(sharkrags),4,21,
+gut0002,1,21,牙戸
+gunshowcomic,3,21,
+gunpowder_(nongenerous),4,21,
+gunma_(gunma747j),4,21,
+guennol_lioness,4,21,
+guardian_(zelda),5,21,
+groupie,0,21,
+grogu,4,21,"baby_yoda,the_child_(star_wars),the_child_(the_mandalorian)"
+griz_sylverwing,4,21,
+grimmjow_jaegerjaquez,4,21,
+grimlock,4,21,
+grilder123,1,21,
+grey_the_eevee,4,21,
+grey_outfit,0,21,gray_outfit
+grey_matter,4,21,
+grey_loincloth,0,21,gray_loincloth
+grey_ear_ring,0,21,
+greninjohns,4,21,
+greiser,1,21,
+greenwind-bell,1,21,
+greenie_(greenigote),4,21,
+green_bracelet,0,21,
+green_blue_eyes,0,21,
+graros,1,21,
+grandifloru,1,21,
+grand_general_amarkovek,4,21,
+graham_(tuke),4,21,
+gradient_scales,0,21,
+grace_(codingcat),4,21,
+gosuzun,4,21,
+goron_link,4,21,
+gorgoroth,4,21,
+gordo,5,21,
+gordian,1,21,
+goo_penis,0,21,
+golem_(minecraft),0,21,
+goldfishdog,1,21,
+gold_wings,0,21,
+gold_shoes,0,21,
+gohgw1,1,21,
+glowing_arms,0,21,
+glottis,0,21,
+gloria_(slither),4,21,
+glistening_shirt,0,21,shiny_shirt
+glistening_goggles,0,21,"shining_goggles,shiny_goggles"
+glas,4,21,
+glans_in_mouth,0,21,
+gladiatrix,0,21,
+glace,4,21,
+giovanni_(hungothenomster),4,21,
+ginger_(sinister),4,21,
+gign-3208,1,21,
+gibly,1,21,
+ghostlewds,1,21,
+ghirahim,4,21,
+ghen_(artist),1,21,
+geriel_(iztli),4,21,
+geramime,1,21,
+george_o._pillsburry,4,21,
+gedan,4,21,
+gdn0522,1,21,
+garrts,1,21,
+garrett_the_turtle_(character),4,21,
+garlic_bread,0,21,
+garbagegarage,1,21,
+gappu,1,21,
+gap_teeth,0,21,
+ganler,1,21,
+gameralfa117,1,21,
+galondria,4,21,
+gale_and_gloria,4,21,
+gale_(slither),4,21,
+galarian_weezing,5,21,"galar_weezing,weezing_(galar_form),weezing_(galarian_form)"
+gaku_(hhc),4,21,
+g_atmosphere,1,21,
+fuzzy_door_productions,3,21,
+fuzzballfox,1,21,
+fuzzball_(fuzzballfox),4,21,
+furisukiii,1,21,
+furiorid,4,21,
+fur-what-loo,1,21,
+fullbloodlion,3,21,
+fuenzesunny,1,21,
+fu-do,1,21,
+fryegg,1,21,
+frumplechuck,1,21,
+frothing,0,21,
+froste,1,21,
+frocta,4,21,
+frizzy_(ern),4,21,
+fried_shrimp,0,21,
+frey_(vdisco),4,21,
+freckles_on_thighs,0,21,
+fray_(icy_vixen),4,21,
+frau_streusel,4,21,
+frappeholic,1,21,
+franklin_turtle,4,21,
+franco_(offwhitelynx),4,21,
+francis_(left_4_dead),4,21,
+foxyhunter,1,21,
+foxxfire_(character),4,21,
+foxryk,1,21,"dipshitdoggy,foxryk_(artist)"
+foxnose,1,21,
+foxfeather,1,21,
+foxero,1,21,
+fox_(persona_4),4,21,
+four_tone_fur,0,21,
+four,4,21,
+fou'luko_(treble_wulph),4,21,
+fossil_fighters,3,21,
+foreground_sparkles,0,21,
+foot_on_own_penis,0,21,
+foot_on_arm,0,21,
+foot_kiss,0,21,
+folly,4,21,
+foggy_(foggyshades),4,21,
+foaming,0,21,
+flying_afro,1,21,
+fluid-body,0,21,
+fluffychuck91,1,21,
+fluffy_hypocrite,1,21,
+fluffihoodie,1,21,
+florence_nightingale_(fate/grand_order),4,21,
+flo_financier,4,21,flo_(solatorobo)
+flicker_feather_(oc),4,21,
+flamberry_(artist),1,21,
+fizzy_pop_(mlp),4,21,
+five_(character),4,21,
+fitletter_(character),4,21,
+fishingferal,1,21,
+fishcat,5,21,
+fiona_(phantomfin),4,21,
+finn_(shewiff),4,21,
+finding_dory,3,21,
+film_reel,0,21,
+fight_message,0,21,
+field_(squirrel),4,21,
+fidgit,1,21,
+fibh,4,21,
+ffefox,4,21,
+fetch_(fnaf),4,21,
+fetal_kick,0,21,
+festive_winter,4,21,
+festivale,0,21,
+feoi,4,21,
+fenra_gray,4,21,
+fella_(aimkid),5,21,
+felix_(modeseven),4,21,
+felicity,4,21,
+feedies,1,21,
+fazbear_and_friends,3,21,
+faye_(sloppy),4,21,
+faxy_(pillo),4,21,
+fatecoyote,4,21,
+fate_(zafara),4,21,
+fat_legs,0,21,
+fanta,3,21,
+fan_(fnaf),4,21,
+fallopian_penetration,0,21,
+fallen_leaves,0,21,
+fall_of_eden,3,21,
+falconry,0,21,
+factorio,3,21,
+fabric_creature,5,21,
+fa'lina,4,21,
+f-16,0,21,
+ezra_(otterjunk),4,21,
+ezmeralda,4,21,
+eyes_closing,0,21,
+eyelid_pull_taunt,0,21,
+eyebot,5,21,
+eye_half_closed,0,21,
+eye_gouge,0,21,
+extacy_devil,1,21,
+explosive_pone,4,21,
+evros,5,21,
+evil_varby,4,21,
+evil_anaunara,1,21,
+evana,4,21,
+evan_(windpaw),4,21,
+eva_(sahara),4,21,
+eurasian_blue_tit,5,21,blue_tit
+eugene_arenhaus,1,21,
+esteban,1,21,
+esatu,1,21,
+eryx_(eyru),4,21,
+erosky,1,21,
+eros_(comic),3,21,
+ero_trap_dungeon,3,21,
+erin-fox_(character),4,21,
+equinox_(warframe),4,21,
+enthusiastic,0,21,
+entalonus,4,21,
+engrid,4,21,
+emoticon_(renard),4,21,
+emoshy,4,21,
+emoc,4,21,
+emmerich_(evkenn),4,21,
+emma_withers,4,21,
+emit,1,21,
+emily_geiger,4,21,
+emarcanine,4,21,
+elysia_(shadowkitteh123),4,21,
+elusion_(elusionair),4,21,
+elslowmo,1,21,
+eloise_(dnapalmhead),4,21,
+elodoart,1,21,
+elma_(sleepiness18),4,21,
+ellispony,1,21,
+ellis_(left_4_dead),4,21,
+ellis1342,1,21,
+ellie_(maddeku),4,21,
+ellian,4,21,
+elh_mimaiya,4,21,
+electrical_hair,0,21,"electric_hair,electric_hairs,electrical_hairs,electricity_hair,electricity_hairs,lightning_hair,lightning_hairs"
+electa_(mrrrn),4,21,
+elder_titan_the_worldsmith,4,21,
+elder_scruffy,4,21,
+el-recondite,1,21,
+eighty_stevedore_nido,4,21,
+egsaku_(character),4,21,
+eggmanfan91,1,21,
+egg_transformation,0,21,
+eduuux,1,21,
+edjit_(character),4,21,
+edgar_(iskra),4,21,
+ed_(zourik),4,21,
+ecf,4,21,
+eastlog,1,21,
+earl_of_lemongrab,4,21,lemongrab
+dyz_(nukepone),4,21,
+dys_(character),4,21,
+dynamo,1,21,
+dusto,1,21,
+dust_bunny,5,21,
+dusk_fonce,4,21,
+dunks,1,21,
+duncan_(dark_nurse),4,21,
+ducatislo_(artist),1,21,
+dskn,1,21,
+dsketch3r_(artist),1,21,
+dsana,1,21,
+drummer,0,21,
+dronis_(psyphix),4,21,
+driveway,0,21,
+drip_(kumalino),4,21,
+dreamcast_console,0,21,
+dreadfalls,0,21,
+drawg_t,1,21,
+drawersden,1,21,
+drawer_(artist),1,21,
+drakien,4,21,
+drake_(dreyk-daro),4,21,
+dragonwrath,3,21,
+dragonking007,1,21,
+dragonfish,5,21,
+dragon_quest_iii,3,21,dragon_quest_3
+dragon_otter,5,21,
+dragon_land,0,21,
+dr._fox,4,21,
+doughnut_box,0,21,
+doug_(daxhush),4,21,
+dotted_outline,0,21,
+dosey_doe,4,21,
+dorothy_gale,4,21,"dorothy_(oz),dorothy_(the_wizard_of_oz),dorothy_(the_wonderful_wizard_of_oz),dorothy_(wizard_of_oz),dorothy_(wonderful_wizard_of_oz)"
+doodledan86,1,21,
+donovan,4,21,
+donacutie,4,21,
+don't_dead_open_inside,0,21,
+domny,1,21,
+dominohyena,1,21,
+domino's_pizza,3,21,
+dominictheraccoon,4,21,
+dolphysoul,1,21,
+dolphin_humanoid,5,21,
+dolan,4,21,
+dokara,1,21,
+dog_princess,4,21,
+do-rag,0,21,
+djynn_flyssa,4,21,
+divan,0,21,
+dismembered,0,21,
+disaster,0,21,
+dipp3rman,1,21,
+dinobot_(species),5,21,
+dimitri,4,21,
+dildo_on_tail,0,21,
+dildo_in_nipple,0,21,
+digitamamon,5,21,
+digimonforever,1,21,
+digimon_tri,3,21,
+diemewtu,1,21,
+dibbun_(ordosan),4,21,
+diaper_on_face,0,21,
+diana_(huffslove),4,21,
+diamond_(fours),4,21,
+dhahabu,4,21,
+dexter_(hamtaro),4,21,
+devon_the_sobble,4,21,
+devil_may_cry_5,3,21,
+detailed_clothing,0,21,
+detached_oral,0,21,
+detachable_pussy,0,21,
+detachable_legs,0,21,detached_leg
+desligar,1,21,
+desecration_of_graves,0,21,
+derago,4,21,
+denki,4,21,
+denise_dippens_(character),4,21,
+demonpact_clarice,3,21,
+demibunny,0,21,
+demacianyordle,1,21,
+delloknon,1,21,
+defense_stat_(yu-gi-oh),0,21,
+deer_spots,0,21,
+deer_in_a_onesie_(artist),1,21,
+deer_bambi,1,21,
+deepstroke,1,21,
+deepfur,1,21,
+deep_swallow,0,21,
+deep_blue_sea_light_white_foam,3,21,
+deelohial,4,21,
+dedran,4,21,
+deathbringer_(wof),4,21,
+deal,0,21,
+deaglen,1,21,
+ddzarts,1,21,
+dazzle_(hazbin_hotel),4,21,dazzle_(vivzmind)
+dawnwashere,1,21,
+dawngate,3,21,
+david_(disambiguation),6,21,david
+dat_boi,3,21,
+darkwolfie,1,21,
+darkshiner8,1,21,
+darkky,5,21,
+dark_vilani,4,21,
+dark_talbain,4,21,
+darius_shah,4,21,
+darigan_neopet,5,21,
+dankwart,1,21,
+daniel_senicourt,4,21,
+daniel_ottmaw,4,21,
+dangus-llc,1,21,
+dangerously,1,21,
+danger_rangers,3,21,
+danger_n00dle,4,21,
+dan_(paintfox),4,21,
+dalamadur,5,21,shah_dalamadur
+daku,5,21,
+daisy_(furel),4,21,
+daisy_(animal_crossing),4,21,
+dai0,1,21,
+dadingo,4,21,
+dabura,4,21,
+d3monstar,1,21,
+cyrus_(klutztron),4,21,
+cyrucrem,1,21,
+cybeeyoru,1,21,
+cy_(sssonic2),4,21,
+cwasaunt,1,21,
+curled_penis,0,21,curly_penis
+curiousgarchomp,1,21,
+cups_on_ears,0,21,
+cupcake_(oriole),4,21,
+cumfall,0,21,
+cum_on_toy,0,21,
+cum_on_topwear,0,21,
+cum_on_plushie,0,21,
+cum_on_magazine,0,21,
+cum_on_knee,0,21,
+cum_on_computer,0,21,
+cum_as_lube,0,21,
+cueliton,1,21,
+cuchufflay,1,21,
+cubeychou,1,21,
+cubber_(artist),1,21,
+ctfbm,1,21,
+crystal_glaze_(oc),4,21,
+cryfvck,1,21,
+crouchingli0n,1,21,
+croiyan_(character),4,21,
+crimson_crescent_(nolollygagging),4,21,
+crimson_(crimsoncreaturecreations),4,21,
+crazyeyes,1,21,
+cray,4,21,
+crashflash,1,21,
+crabominable,5,21,
+cpr,0,21,
+coyzoi,1,21,
+cowlink_(cashier:3),4,21,
+cowdere,4,21,
+courtains,0,21,
+couchcrusader,1,21,
+cotton_candy_(glacierclear),4,21,
+cosmicfs_(artist),1,21,
+corrector_yui,3,21,
+cornelia_(kosa),4,21,
+coral_leaf_(oc),4,21,
+coppertonepretty,1,21,
+coper_(rudragon),4,21,
+cooper_(cooper),4,21,
+cool_cat,4,21,
+cookieglory,1,21,
+cookie_(solfanger),4,21,
+coo_(kirby),4,21,
+conicaw,4,21,
+con5710_(copyright),3,21,
+component,0,21,
+como,4,21,
+colt_bronco,4,21,
+coloredprinter,1,21,
+collar_on_penis,0,21,
+collaborative_ball_licking,0,21,
+coladezorro,1,21,
+coif,0,21,
+cocoankimo,1,21,
+cobra_bubbles99,1,21,
+coattails,0,21,
+cmos,4,21,
+cloudshywolf,1,21,
+cloud_nine_(fortnite),4,21,
+clothed_anthro_nude_anthro,0,21,
+clint_(lelewinter),4,21,
+cliff_side,0,21,
+client,0,21,
+clay_(wof),4,21,
+clauren_(scottieman),4,21,
+claragonza3,1,21,
+clara_(cainesart),4,21,
+clamories,1,21,
+claire_(golderoug),4,21,
+citrine,4,21,
+cinccina_(lucyfercomic),4,21,
+chuy_(character),4,21,
+chuck_fenmore,4,21,
+chuchu_(dragoon-rekka),4,21,
+chub-united,1,21,
+chsim662iawh7ai,1,21,
+chronoreaper,1,21,
+chrom,4,21,
+chris_dunn,1,21,
+chris_deck_(character),4,21,
+chorpion,4,21,
+chocolatekitsune_(character),4,21,
+chocochipviv,1,21,vivyx
+chiwidth,1,21,
+chingilin,1,21,
+chibetto,1,21,
+chi_(fumblingfoxpaws),4,21,
+chewythewolf,4,21,
+cherrysnak,1,21,
+chelsea_(zaush),4,21,
+cheeky_smile,0,21,
+cheefurraacc,1,21,
+cheddy_(galcheddy),4,21,
+cheagle,5,21,
+chazthewolf,1,21,
+charmandrigo_(character),4,21,
+charles_(bunjirou),4,21,
+charlene_(mousey_love),4,21,
+character_on_plate,0,21,
+chane-ko,1,21,
+champagne_(tabunnie),4,21,
+chairoi_tategami,3,21,
+chaclaveloz,1,21,
+certo_mistle,4,21,
+cerberus_(houtengeki),4,21,
+cell_(cells_at_work!),5,21,
+ceiling_decoration,0,21,
+cb129,1,21,
+caylen_(retrospecter),4,21,
+cattus_the_one_blade,4,21,
+catscratch08th,1,21,
+cath_palug,4,21,"fou-kun,fou_(fate),fou_kun"
+catface_(character),4,21,
+catboy_(character),4,21,
+catahoula_cur,5,21,"catahoula_hog_cur,catahoula_hog_dog,catahoula_hound,catahoula_leopard_cur,catahoula_leopard_dog,catahoula_leopard_hound,louisiana_catahoula,louisiana_catahoula_leopard_cur,louisiana_catahoula_leopard_dog"
+cat_(maynara),4,21,
+castinly,1,21,
+cassidy_(spoonyfox),4,21,
+cassidy_(croxot),4,21,
+cassandra_(tailsrulz),4,21,
+cashew_(sif),4,21,
+cartoonmeat,1,21,
+carthan_night,4,21,
+carpo,4,21,
+caressing_belly,0,21,
+card_in_mouth,0,21,
+carbon,4,21,
+carbie_(atrolux),4,21,
+captain_spade,1,21,
+capris,0,21,
+capricorn_(symbol),0,21,
+cape_fox,5,21,
+cantina,0,21,
+cantando_pollas,1,21,
+cannonball_(game),3,21,
+candy_(nightdancer),4,21,
+candies,0,21,
+campus,0,21,
+calvin_(das),4,21,
+cally_(clydeli),4,21,
+cake_(artist),1,21,
+caenis_(fate),4,21,
+caely,1,21,
+cactus_flower,0,21,
+caan_(james_howard),4,21,
+c_j,1,21,
+button-up,0,21,
+buttgrab,0,21,
+busty_boy,0,21,
+buster_whelp_of_the_destruction_swordsman,4,21,
+businessman,0,21,
+bushycat,1,21,
+burrow_(cartoon),3,21,
+burrbito,1,21,
+burnide,4,21,
+buried_alive,0,21,
+bupkus_(space_jam),4,21,
+bunzerk,1,21,
+bunic,1,21,
+bunbijou,1,21,
+bun_cover,0,21,
+bullsquid,5,21,
+bukibun,1,21,
+buenos_dias_mandy,3,21,buenos_dias_x
+bucket_hat,0,21,
+brush_(artist),1,21,
+brown_hood,0,21,
+brown_headgear,0,21,
+brown_backpack,0,21,
+brown_(among_us),4,21,
+brooke_marlow,4,21,
+bromance,0,21,
+brimstone_(jasafarid),4,21,
+bridget_e_wilde,1,21,bewildered
+briard,5,21,"berger_briard,berger_de_brie"
+breastmilk,0,21,
+breaker-of-oaths,1,21,
+breadbitch420,1,21,
+braxia_(artist),1,21,
+brave_ulysses,1,21,
+brass,0,21,
+brandyftw,1,21,
+bramble_(mlp),4,21,
+bralios,4,21,
+bowen_whitehooves,4,21,
+boutonniere,0,21,
+bound_waist,0,21,
+botamon,5,21,
+bonznsfw,1,21,
+bone_piercing,0,21,
+boldbeaux,1,21,
+bohemian_shepherd,5,21,
+body_part_transformation,0,21,
+body_part_in_penis,0,21,
+bob_trumpet,4,21,
+bluwolfie42,1,21,
+blup,0,21,
+bluewoman,1,21,
+bluestream,1,21,
+bluefire,4,21,
+blue_wristband,0,21,
+blue_nail_polish,0,21,
+blue_inner_pussy,0,21,
+bloodplay,0,21,
+blood_blockade_battlefront,3,21,
+blood_bag,0,21,
+blink_(tsampikos),4,21,
+blanko_(space_jam),4,21,
+blacksmith_tongs,0,21,
+blackheartspiral,1,21,
+blackgabumon,5,21,
+black_earbuds,0,21,
+black_doom,4,21,
+black_boxers,0,21,
+black_boxer_briefs,0,21,
+biscuit_(carrot),4,21,
+bird_d,1,21,
+bioluminescent_eyes,0,21,
+binacle,5,21,
+billy_(juvira),4,21,
+billie_bust_up,3,21,
+bignikafan28_(artist),1,21,
+big_shimmershell_green,4,21,
+big_pawpads,0,21,
+bfg,0,21,
+bewyx,1,21,
+bevor,0,21,
+betty_rubble,4,21,
+betty_lu,4,21,
+beta_girafarig,5,21,
+bessy_(back_at_the_barnyard),4,21,
+berserker_retro,4,21,
+berry_(skye3337),4,21,
+berinvalar,3,21,
+beowulf_(skullgirls),4,21,
+bennemonte,1,21,
+benji_(archonwanderer),4,21,
+belun,1,21,
+belly_up,0,21,
+belladonna_van_eycker,4,21,
+belladonna_goldbloom,4,21,
+bell_the_otter,1,21,
+belinda_(skecchiart),4,21,
+behold_my_girth,1,21,
+begging_not_to_stop,0,21,
+beeprlae16,1,21,
+bee_and_puppycat,3,21,
+bee_(gremm),4,21,
+bed_curtains,0,21,
+becky_thatcher,4,21,
+bechamel_(fuzzamorous),4,21,
+beastess,4,21,
+bear_in_the_big_blue_house,3,21,
+bear_(bear_in_the_big_blue_house),4,21,
+bbn791013,1,21,
+battletech,3,21,
+bath_toy,0,21,
+bastinado,0,21,
+basil_(ritts),4,21,
+basic_instinct,3,21,
+bartending,0,21,
+barry_the_pizza_bear,4,21,
+barry_(eroborus),4,21,roz's_dad_(eroborus)
+barrett,3,21,
+barret_wallace,4,21,
+barnikan,1,21,
+barefoot_sandals,0,21,
+banny_(twf),4,21,
+bani,4,21,
+bandy_(squishy),4,21,
+banbaro,5,21,
+balloonicorn_(tf2),4,21,
+ball_clamp,0,21,
+bailey_(kirbot12),4,21,
+badgefox,1,21,
+backstreet,0,21,
+background_signs,0,21,
+babysteps,1,21,
+baby_shark,3,21,
+b_(doneru),4,21,
+b.b._hood,4,21,
+azumi_kix,1,21,
+azashar,4,21,
+ayzutho,4,21,
+axtrosis,4,21,
+axle_(tricktrashing),4,21,
+awanata_lighthoof,4,21,
+avimcmillan,4,21,
+avery_(peculiart),4,21,
+average_artist,1,21,
+autumntree,1,21,
+autofrottage,0,21,auto_frottage
+auto_ball_lick,0,21,"auto_ball_licking,auto_balls_lick,auto_balls_licking,licking_own_balls,self_ball_lick,self_ball_licking,self_balls_lick,self_balls_licking"
+austiniousi,1,21,
+ausen,4,21,
+aurora_(shai_dreamcast),4,21,
+aurochs_humanoid,5,21,
+aureskarispriomnis,1,21,
+aturn,1,21,
+attack_stat_(yu-gi-oh),0,21,
+atsukosfm_(artist),1,21,
+atlas-66,1,21,
+atlantis:_the_lost_empire,3,21,
+athosart,1,21,ilicatoo
+atelier_sol_aer,1,21,
+asuraa,1,21,
+astral_projection,0,21,
+astra,4,21,
+assassin_of_black,4,21,"assassin_jack_the_ripper,assassin_jack_the_ripper_legendary_serial_killer,assassin_jack_the_ripper_the_legendary_serial_killer,assassin_of_""black"",assassin_of_black_jack_the_ripper"
+assassin_cartuja,4,21,
+asking_for_more,0,21,
+ask-colorsound,1,21,
+ask-a-deathclaw_(artist),1,21,
+ashra-nour,4,21,
+ashley_(pickles-hyena),4,21,
+ashendra,4,21,
+ash_(yeahbeezii),4,21,
+ash_(jackaldoc),4,21,
+asdfasfasda,1,21,
+aru_(dinogaize),4,21,
+artwithmoira,1,21,
+artificer_(voriof1),4,21,
+art_class,0,21,
+art_by_cherep,1,21,
+arorcinus,1,21,
+armor_plates,0,21,
+armlock,0,21,
+arm_torture,0,21,
+arm_fluff,0,21,
+arlorian_sloane,4,21,
+arkant_monanza,4,21,
+arizona_iced_tea,3,21,
+ariku,1,21,
+arik_(dttart),4,21,
+arianna_(ariannafray),4,21,
+aria_calliope,4,21,
+arclun,4,21,
+arcee_(unicorn_lord),4,21,
+arador_(aradortd),4,21,
+aquarius_(bgn),4,21,
+apple_watch,3,21,
+apollo_caelum,4,21,
+aphelion_darkmoon,4,21,
+apep,4,21,
+apelairplane,1,21,
+aoi_futaba,4,21,
+aoba_seragaki,4,21,
+antrimbull,1,21,
+antoreakk_(character),4,21,
+anton_limurie,4,21,
+ansart,1,21,
+anon_(koorivlf),4,21,
+annoy_(character),4,21,
+animatedjames,1,21,
+angie_(character),4,21,
+angelfs,1,21,
+angel_jones,4,21,
+anfani_(artist),1,21,
+anesthesia,0,21,
+andrea_(deminothedragon),4,21,
+andorian,5,21,
+andes,4,21,
+anakaris,4,21,
+anajlis,4,21,
+anahi_(felino),4,21,
+amy_the_zangoose,4,21,
+amy_lawrence,4,21,
+amiga_(computer),3,21,
+amidasuke,1,21,
+ameyamadenshin,1,21,
+amethyst_aria,4,21,
+american_red_squirrel,5,21,
+american_psycho,3,21,
+ambulantes_omnigus,5,21,
+amber_wind_(character),4,21,
+amari,4,21,
+amanda_caracal,4,21,
+amakagew,1,21,
+alynna_(molag),4,21,
+alt_h34,4,21,
+alphabittle_blossomforth_(mlp),4,21,
+almondhusky,1,21,
+ally_(ally),4,21,
+alkalinearts,1,21,
+alistair_(toothpasta),4,21,
+alirfesta_felastis,4,21,
+alicia_carver,4,21,
+alicia_(ricochetcoyote),4,21,
+alf,3,21,
+alex_winter,4,21,
+alex_abrahams,4,21,
+alex_(jewelpet),4,21,
+alex_(alexanderthewolf),4,21,
+aleph,4,21,
+aleks_(armorine),4,21,
+aldi,1,21,
+alasiri_kivuli,4,21,
+alabaster_(supki),4,21,
+akl,5,21,
+akito_yagami,1,21,
+akio_(domovoi_lazaroth),4,21,
+akino-kamihara,1,21,
+akelun,1,21,
+airwolf1987,1,21,
+airport_security,0,21,
+aidan_(apollo13),4,21,
+agua,4,21,
+agoti,4,21,
+against_chalkboard,0,21,
+against_car,0,21,
+afurreak,1,21,
+aero_the_acro-bat,4,21,
+aerial_explorer_archen,4,21,"archen_(psmd),explorer_archen"
+aelia_the_hedgehog_(angeloid003),4,21,
+adynamical,1,21,
+adolyn,4,21,
+adjusting_swimsuit,0,21,
+adequality,1,21,
+achievement_hunter,3,21,
+accipitriform_humanoid,5,21,
+acceptance,0,21,
+acai_berry,0,21,
+abraxis,4,21,
+abel_peerce,4,21,
+aaaamory,1,21,
+a_user_to_remember_(artist),1,21,
+a_centaur's_life,3,21,
+[in]vader,1,21,
+9is,1,21,
+8-xenon-8,1,21,
+7_horns,0,21,"7-horn,7-horned,7-horns,7_horn,7_horned,seven-horn,seven-horned,seven-horns,seven_horn,seven_horned,seven_horns"
+581rsiy,1,21,
+570rm_(oc),4,21,
+55level,1,21,
+2:5,7,21,
+21:32,7,21,
+20:13,0,21,
+1dog,4,21,
+18:13,0,21,
+17:12,7,21,
+1461_1641,1,21,
+1183,1,21,
+00fantasy00,1,21,
+"""big_mama""_rosie_(blackfox85)",4,21,
+zytkal,1,20,
+zyena,4,20,
+zucchini,0,20,courgette
+zone_system,4,20,
+zoe_pandora_(seuchenkater),4,20,
+zoe_(chimangetsu),4,20,
+zimmer_(pyroashes),4,20,
+zikaur,1,20,
+zhu,4,20,
+zhh,1,20,
+zhenyaburnt_(character),4,20,
+zevrant_bapt_(artist),1,20,
+zetrocci,1,20,
+zerdaofdebauchery,1,20,
+zentaisfm,1,20,
+zenerotic3dx,1,20,
+zena,4,20,
+zellith,4,20,
+zeeka_(character),4,20,
+zed_(lol),4,20,zed_(league_of_legends)
+zea_(character),4,20,
+zaunis,1,20,
+zaun-derground,1,20,
+zato,4,20,
+zaria_(t.n.),4,20,
+zara_(omitme),4,20,
+zaqwavi,4,20,
+zano_zevash_(runawaydanish),4,20,
+zana_zamora,4,20,
+zalasly,1,20,
+zajji,4,20,
+zaina,4,20,
+zaflep,1,20,
+yuzpoco,1,20,
+yuta_urabe,4,20,
+yurimatsue,1,20,
+yuriko_(aidagull),4,20,
+yuri_catsuki_(yitexity),4,20,
+yura_inaho,1,20,"appelcoppe,celmiu,yulapin,yurano,いなほ_ゆら"
+yuna_(kalofoxfire),4,20,
+yun,4,20,yunchan
+yully_yullington,4,20,
+yukomori,1,20,
+ysa,4,20,
+yotsuba_koiwai,4,20,
+yori_the_goldyura,4,20,
+yoonia,4,20,
+yikes,0,20,
+yes,3,20,
+yen_tokk,1,20,
+year_of_the_dragon,3,20,
+ybhk77,1,20,
+yasgul_nightfur,4,20,
+yanni,4,20,
+yamowl,1,20,
+yaj_leaf,1,20,
+yabi,1,20,
+xyotic,1,20,
+xray32p,1,20,
+xnightmelody,1,20,
+xk2x,1,20,
+xibalbapiixan,1,20,
+xelophus,4,20,
+xedrykthedragon,4,20,
+xcopyen002,1,20,
+xassassinx,1,20,
+xander_olivieri,4,20,
+wyatttfb,3,20,
+wulven_game_studios,3,20,
+wuk_kathell_(psychofuchs),4,20,
+wryn_bilyong,4,20,
+wrist_accessory,0,20,
+wrath_of_the_tiger,3,20,
+wraith_fades,1,20,
+workout_outfit,0,20,
+wondering,0,20,
+wolgensim,1,20,
+wolfurryon,1,20,
+wolfpack_x,3,20,
+wok,0,20,
+winston_(roller-2009),4,20,
+winklwink,1,20,
+wings_on_head,0,20,
+wind_turbine,0,20,
+wind_demon,5,20,
+wilma_(vdisco),4,20,
+willsonpoke,1,20,
+willow,4,20,
+wiizeru3950,1,20,
+wigglelines_(artist),1,20,
+white_sandals,0,20,
+white_one-piece_swimsuit,0,20,
+white_bow_(anatomy),0,20,
+whisker_dots,0,20,
+whinnie,1,20,
+whew,0,20,
+wet_feathers,0,20,
+western_spotted_skunk,5,20,
+weshweshweshh,1,20,
+werepokémon,5,20,werepokemon
+wendy_carter,4,20,
+weight_rack,0,20,
+weevil,5,20,"curculionoid,curculionoidea,curculionoidean,weevils"
+wayne_reynolds,1,20,
+watermelon_popsicle,0,20,
+was_scepter,0,20,
+warriors,0,20,
+warped_text,0,20,
+warlord-of-noodles,1,20,
+war_wolf,4,20,
+walzrj,1,20,
+waltodile,1,20,
+walnut_(pixiv),1,20,
+w0lfb0ne,1,20,
+vyxx_(rimba_racer),4,20,
+vyti,4,20,
+vulniir,4,20,
+vulnec,1,20,
+vox_(space_station_13),5,20,
+votm,1,20,
+vote,0,20,
+vonce_(bgn),4,20,
+volmise,1,20,
+volg_(shining),4,20,
+vokster,4,20,
+vixen_logic,3,20,
+vivienne_(jwinkz),4,20,
+vivid-day_(artist),1,20,
+viviana_(lord_salt),4,20,
+vivian_(sugslimic),4,20,
+vitruvia_(oc),4,20,
+viriden,1,20,
+virgina_cowell,4,20,
+virgin_mary,4,20,
+virgin_(interspecies_reviewers),4,20,
+violet_(proxer),4,20,
+viktor_(fuze),4,20,
+vik_hollow,4,20,
+viego_(lol),4,20,
+video_games_awesome,3,20,
+victoria_tallcos,4,20,
+victoria_crowned_pigeon,5,20,
+viata,4,20,
+vesnys,4,20,
+veronicaskunkette,1,20,
+vera_(species),5,20,
+vensaru,1,20,
+venomoussausage,1,20,
+ven_(avelos),4,20,
+velouria,4,20,
+vellus_(vulpinelover1990),4,20,
+veevulpes,1,20,
+veerr_(orphen-sirius),4,20,
+veemecelli,1,20,
+vayhl'ayne_(undauntedvaliance),4,20,
+vasili,4,20,
+varry,4,20,
+varcey,1,20,
+vaporizer,0,20,
+vanexa_(zoophobia),4,20,
+vanessa_(zebra),4,20,
+valion_(irishderg),4,20,
+valesti,4,20,
+valerie_valentine_(strawberrycrux),4,20,
+valentine_jakobsson,4,20,
+valence,4,20,
+vaelophis_nyx,4,20,
+vaalgarth,1,20,
+usopp,4,20,
+urine_splatter,0,20,
+urethral_sex,0,20,
+urethral_piercing,0,20,
+urai,4,20,
+unusual_ovaries,0,20,
+unown_u,5,20,
+unnamed_old_wolf_(furfragged),4,20,
+unnam3d,1,20,
+unicat,4,20,
+uni0421,1,20,
+unfoe363,1,20,
+underwear_outline,0,20,
+uncle_orange_(mlp),4,20,uncle_orange
+unagimaru,1,20,
+umbra_(disambiguation),6,20,umbra
+uloth,4,20,
+ukiki,4,20,
+uchu_sentai_kyuranger,3,20,
+u_(doneru),4,20,
+tyurru,4,20,
+tyrana,4,20,
+tylenn,1,20,
+two_tone_piercing,0,20,
+two_tone_mask,0,20,
+two_tone_knee_highs,0,20,
+two_tone_helmet,0,20,
+two_tone_anus,0,20,
+twistedskunk,1,20,
+twin_sisters,0,20,
+twilight_(mlp),4,20,
+twig_(hilda),4,20,
+tusk_(dota),4,20,
+turtonator,5,20,
+turtlepaws,1,20,
+turo_of_akesh,4,20,
+tundra_snowpaw,4,20,
+tsavo_(artist),1,20,
+tsaotsaow,1,20,
+trunks_(dragon_ball),4,20,
+trophy_head,0,20,
+trochilinae,5,20,typical_hummingbird
+trixie_glimmer_smith,4,20,
+tritoneternal_(artist),1,20,
+tristian_oakenrod,4,20,
+trip_hamston,4,20,
+trinketsworkshop,1,20,
+trinket_(character),4,20,
+trinity_foxxen,4,20,
+trinity_(furbakirkie),4,20,
+tree_trunks,4,20,
+trapped_in_footwear,0,20,
+translucent_head,0,20,
+transformation_while_penetrated,0,20,
+trani,4,20,
+tracker_(paw_patrol),4,20,
+toxicsoul77,1,20,
+towel_on_penis,0,20,
+toughset_(character),4,20,
+torta_(ugly_tortilla),4,20,
+torso_reversal,0,20,
+torri_biggs,4,20,
+torn_suit,0,20,
+torch_light,0,20,
+toraneko38,1,20,
+tooundone,1,20,
+tootsie_pop,3,20,
+toonvasion,1,20,
+toontk,1,20,
+toonpower,1,20,
+toofy_(character),4,20,
+tongues_touching,0,20,
+tongue_on_face,0,20,
+tona_(kishibe),4,20,
+tomoyokinomoto,1,20,"mrspreinz,pwips,pwips-swan,pwips_swan,pwipsicle"
+tomoe_ame,4,20,
+tom_(summontheelectorcounts),4,20,
+tokki-bam,1,20,
+tohuku2,1,20,
+tohko_saito,1,20,
+tohfu_(tohfu),4,20,
+tofutiles,1,20,
+toast_in_mouth,0,20,
+toadsworth,4,20,
+tl;dr,0,20,
+tippycat,1,20,
+tinyfawks,4,20,
+tinycat,1,20,
+tina_(e-01),4,20,
+timetime726,1,20,
+timesplitters,3,20,
+timer_suit,0,20,
+tilitea,4,20,
+tigress_(artist),1,20,
+tight_bra,0,20,
+tifu,1,20,
+tiaz-sfm,1,20,
+thundernawr,1,20,blake.zekky
+thresher_(lilo_and_stitch),4,20,"experiment_544,thresher_(l&s),thresher_(las),thresher_(lilo_&_stitch),thresher_(stitch)"
+thin_beak,0,20,
+thewugoddess,1,20,
+theuseless,1,20,
+thesquidycipher,1,20,
+thespel,4,20,
+theshadydoodles,1,20,
+therealfate,1,20,
+thera,1,20,
+thepluto_nsfw,1,20,
+theonyn_(artist),1,20,
+thenompage,1,20,
+thelly,4,20,
+thelapdragon,1,20,
+their_name_(series),3,20,
+theia,4,20,
+thedrawingblonde,1,20,
+thecruelseasons,1,20,
+the_winged_dragon_of_ra,4,20,winged_dragon_of_ra
+the_valbadorisians,0,20,
+the_starry_night,3,20,
+the_prisoner_(outer_wilds),4,20,
+the_magician_(tarot),0,20,
+the_great_wave_off_kanagawa,3,20,"kanagawa_wave,the_great_wave,the_great_wave_(painting),the_wave_(painting),under_a_wave_off_kanagawa"
+the_dog's_days_of_summer,3,20,
+the_cathouse_tale,3,20,
+the_broker,4,20,
+the-star-hunter,1,20,
+the-j-man,1,20,
+thatnav,1,20,
+that_j,1,20,
+that1greenbro,1,20,
+thalya_(jyan),4,20,
+terrorbird,5,20,
+terrance_(saberterranced),4,20,
+terra_cruxis,3,20,
+tera_(hatsumiilkshake),4,20,
+tepidtea,1,20,
+tentacle_clothing,0,20,
+ten_(beastars),4,20,
+teitokuchan,1,20,vokatron19
+teevo,1,20,
+teela,4,20,
+tectael,4,20,
+technicolor_nipples,0,20,
+team_sonic,0,20,
+team_mystic,3,20,
+teal_eyeshadow,0,20,
+tcw_(character),4,20,
+taymankill,4,20,
+tayla,4,20,
+taya,4,20,
+tay_(tayjayee),4,20,
+taxis,4,20,
+tav,4,20,
+tauric_chest_genitalia,0,20,
+tattered_ears,0,20,
+tatsumaru,1,20,
+tars_tarkas,4,20,
+tarathiellyris,1,20,
+tara_hart,4,20,
+tara_(spacecamper),4,20,
+taqiyah,0,20,
+taorena_(evil-sprite),4,20,
+tanno_maru,1,20,
+tanjia,4,20,
+tammy_(fukmin-dx),4,20,
+taming,0,20,
+tameraali,1,20,studiofruke
+tambre_the_ferret,4,20,
+tamara_(scootshako),4,20,
+tamara_(castbound),4,20,wolfmom_(castbound)
+tamalesyatole,1,20,
+tamaki_(rilex_lenov),4,20,
+taliyah_(lol),4,20,
+talimingi,1,20,
+talii_soliiele,4,20,
+tale_(taleofnobody),4,20,
+taki_(joey),4,20,
+tail_transformation,0,20,
+taihoumon,4,20,
+tagawa_mi,1,20,
+tadashi_hoso,4,20,
+tactical_snake,1,20,tacticalsnake
+tachi-e,0,20,
+tacha_encre,4,20,
+tabris,1,20,
+t'ai_fu:_wrath_of_the_tiger,3,20,
+syrus,4,20,
+syrupcoyote,1,20,
+synzin_(character),4,20,
+sylvee_(diives),4,20,
+sylve0n_(user),4,20,
+swunnel_(insomniacovrlrd),5,20,
+sword_swing,0,20,
+swollen_diaper,0,20,
+swix,4,20,
+swinging_weapon,0,20,
+swimwear_around_legs,0,20,
+swift_sketch_(character),4,20,
+sweetfiction,1,20,
+svd,0,20,
+suwako_moriya,4,20,moriya_suwako
+sussurro_(arknights),4,20,
+suridora-chan,4,20,
+surf's_up_2:_wavemania,3,20,
+supersly-mouseguy,1,20,
+supercell,4,20,
+super_meat_boy,3,20,
+sunoga_(character),4,20,
+sunnyside,4,20,
+sunny4sunnly,1,20,
+suki_(milkybody),4,20,
+sukeban,0,20,
+sui_(pokémon_gold_beta),5,20,"beta_suicune,sui_(beta_pokemon),sui_(beta_pokémon),sui_(gold_beta),sui_(pokemon_gold_beta),suicune_(pokemon_gold_beta)"
+suephy,1,20,
+subject_34252,4,20,
+stultus_(character),4,20,
+stress_relief,0,20,
+streets_of_rage,3,20,
+street-panit2015,1,20,
+streachybear,1,20,
+strays_in_paradise,3,20,
+strawberry_(glacierclear),4,20,
+stonks,3,20,
+stonebolt,1,20,
+stone_(video_game),3,20,
+stone_(character),4,20,
+steve_du,4,20,
+stepping_on_genitals,0,20,
+steppe_in_the_right_direction,3,20,
+stepparent_and_stepson,0,20,
+stephen_mcguffin,4,20,
+steller's_sea_eagle,5,20,"stellar's_sea_eagle,stellars_sea_eagle,stellers_sea_eagle"
+stegobold,5,20,
+steamy_(oc),4,20,
+steam_from_nostrils,0,20,
+state_of_flux,3,20,
+starwolf_(species),5,20,
+starhill_magic_erotica,3,20,
+stargazer_(goldfur),4,20,
+starbomb,3,20,
+star_ringer,1,20,
+star_in_pupils,0,20,
+star_citizen,3,20,
+stan_marsh,4,20,
+ssthisto_(artist),1,20,
+ssb_(artist),1,20,
+srgriko,1,20,
+squirting_milk,0,20,
+sprucethedeer,1,20,
+spotting,0,20,
+spore_(game),3,20,
+spirit_tracks,3,20,
+spiral_light,4,20,
+spiny_shell_(mario_kart),0,20,blue_shell_(mario_kart)
+spiked_body,0,20,
+spike_(animal_crossing),4,20,
+spicyrooster,1,20,
+sphaded,1,20,
+spent,0,20,
+spells,0,20,
+speedl00ver,1,20,
+sparra,4,20,
+sparks_pichu,4,20,
+sparkle_the_rabbit,4,20,
+spanki_the_kangadra,4,20,
+spaghettistorm,1,20,
+spacestation,0,20,
+spacegodzilla,4,20,"astro_godzilla,astrogodzilla,crystal_godzilla,crystalgodzilla,space_godzilla"
+space_cat,5,20,
+soul_nero,1,20,
+soruagreninja,1,20,
+sophie_(daniel156161),4,20,
+sonic_robo_blast_2,3,20,
+soji_(3wafers),4,20,
+softshikioni,1,20,
+socks_(rainbowskunkbutt),4,20,
+sochi_2014,3,20,
+snyperfox,1,20,
+snoot_(artist),1,20,
+snoop_dogg,4,20,
+snofu_ad,1,20,
+snesflint,1,20,
+sneaking_suit,0,20,
+snake_metal_(artist),1,20,
+smudge,1,20,
+smozumi_(insomniacovrlrd),5,20,
+smol_aamon_(james_howard),4,20,
+smoker_(left_4_dead),4,20,
+smilodon_fatalis,5,20,
+smile_(kiaren),4,20,
+slumber_nox,4,20,
+slimedagger,1,20,
+slay_the_princess_(meme),3,20,
+slave_sale,0,20,
+slate_(thecomposingwolf),4,20,
+slashweilerdog,1,20,
+skydiggitydive,1,20,
+skydeertoons,1,20,
+skullhead,0,20,
+skull_pattern,0,20,
+skootch,4,20,
+skarlet(plaguedwolf),4,20,
+sjru,4,20,
+sir_lintcelot_(mlp),4,20,
+sinthetic,1,20,
+sinelesh,1,20,
+sinclaire,4,20,
+sin_(uluri),4,20,
+simone_(roz_gibson),4,20,
+silverslime,1,20,
+silver_eyebrows,0,20,
+silver_(alopex),4,20,
+silkie_chicken,5,20,
+silgrian,5,20,
+silentcario,1,20,
+silent_refuge_(oc),4,20,
+silas_(ratte),4,20,
+sigoogle,1,20,
+sigmabunn,1,20,
+side_beta_(greninja),4,20,
+sibling_rivalry,0,20,
+shut_up_and_take_my_money,3,20,
+shukura_(cosmiclife),4,20,
+shuffahlong,1,20,
+shrug_(clothing),0,20,
+shower_drain,0,20,
+shoulderless_clothing,0,20,
+shoulder_spots,0,20,
+shota_cow_(cheesecrumbles),4,20,
+short_fingers,0,20,
+shokly~,1,20,
+shoki,4,20,
+shoelace_(artist),1,20,
+shinotsuku,1,20,
+shinai,0,20,
+shikaari,4,20,
+shexyo,1,20,
+sheriff_dogo,4,20,
+shera_l_greenwood,4,20,
+shennanigma,1,20,"10eleven,shennanigma_(artist)"
+shell_casings,0,20,
+sheepgnyook,1,20,
+shay_(heatzone),4,20,
+shaxs,4,20,
+shaundi_(darkwolf),4,20,
+sharpe,4,20,
+sharna,4,20,
+shark_tale,3,20,
+shalone,4,20,
+shadow_weaver,4,20,
+shadic80,1,20,
+shadethehellhound,4,20,
+shades_of_elysium,3,20,
+shadeii,1,20,
+shaded_line_art,0,20,
+shade-shark,1,20,"shadeshark,夏呇"
+sgt._biggs_(dnapalmhead),4,20,
+seyia,4,20,
+sex_doll_holes,0,20,
+seval,4,20,
+setta_flamowitz,4,20,
+setrixart,1,20,
+serith,4,20,
+serina_franizzi,4,20,
+serin,4,20,
+sergeant_gates,4,20,
+serenity_(arctic),4,20,
+sera_(disambiguation),6,20,"sera,sera_(character)"
+septimus_(smartydragon),4,20,
+septer,1,20,
+senseidezzy,1,20,
+senpaiworks,1,20,
+selonian,5,20,
+sekk'ral's_father,4,20,
+seiryu_(kemono_friends),4,20,"blue_dragon_(kemono_friends),seiryuu_(kemono_friends)"
+seiko_(thaasteo),4,20,
+seigen33,1,20,
+sebastien_(whyteyote),4,20,
+scrunchy,0,20,
+scroll_in_mouth,0,20,
+scribblesock,1,20,
+screeching,0,20,
+scout_(joshuamk2),4,20,
+sceptile_(artist),1,20,
+scatrat,1,20,
+scar_over_eye,0,20,
+sayrina_vakesen,4,20,
+saya26,1,20,えろ豆
+sauri_(s.a.u.r.i),3,20,
+satoss,1,20,
+sato_(artist),1,20,
+satine,4,20,
+sat_(character),4,20,
+sashiki,4,20,
+sasha_(dawnlux),4,20,
+sasako_(shirokuma_cafe),4,20,
+sapphire_(deonwolf),4,20,
+sapla_(character),4,20,
+sapient_melon,1,20,
+saoul,4,20,
+sandypants,1,20,
+sandworm,5,20,
+sandra_(macmegagerc),4,20,
+sandpiper,5,20,sand_piper
+sandbags,0,20,
+sand_cat_humanoid,5,20,
+samson_(hugetime),4,20,
+samjpeg,1,20,
+salome_(one_piece),4,20,
+saline,0,20,
+sale,0,20,
+sairu,4,20,
+sailorsyaoran,1,20,
+saffryn,4,20,
+saffina_(zhanbow),4,20,
+sadnicole,1,20,
+sabrina_(disambiguation),4,20,
+sable_(ivory-raven),4,20,
+sable_(characters),4,20,
+saar_(artist),1,20,
+ryusuke,4,20,
+ryuichi_kiwamelu,4,20,
+ryudamon,5,20,
+ryn-protogen_(character),4,20,
+ryker_(mr_wolffy),4,20,
+rydia,4,20,
+rush,4,20,
+rupee_(character),4,20,
+runt,4,20,
+rukia_kuchiki,4,20,
+ruined_pussy,0,20,
+ruffled_skirt,0,20,
+ru_melbourne,4,20,
+roxxy_(darkkfear),4,20,
+roxanne_(snivybatt),4,20,
+rouge_flare_(character),4,20,
+ross_beckers,4,20,
+roshi_(sgtroshi),4,20,
+rose_tattoo,0,20,
+rose_(skaii-flow),4,20,
+rose_(pvz),4,20,"rose_(plants_versus_zombies),rose_(plants_vs._zombies),rose_(plants_vs_zombies)"
+rorykenneigh,1,20,
+rory_(kadath),4,20,
+ropang,1,20,
+ronff,1,20,
+romantic_polycule,0,20,
+roman_(arbor_fox),4,20,
+rokonrico,1,20,
+rokanoss,4,20,
+roguekitty,4,20,
+rogerwoof,1,20,
+rock_wall,0,20,
+robotic_arms,0,20,
+robo_(robosylveon),4,20,
+robo-sama,1,20,
+robi,1,20,
+robhinsha,1,20,
+rob_durham,1,20,
+rkar,4,20,
+rixxie,4,20,
+ristin,4,20,
+risew,4,20,
+risenne,4,20,
+riscke,1,20,
+ririmaru,1,20,
+ripto,4,20,
+rinyabjorn,1,20,
+rinko_iori,4,20,
+rinkaru,4,20,
+rin_zandatsu,4,20,
+rimedown,1,20,
+rima_(princess_connect!),4,20,
+riki_(ginga),4,20,
+rikeesh,4,20,
+rift_dragon,5,20,
+riffen,1,20,
+ridley_roux,4,20,
+rider117,1,20,reach025
+ricky_(ricky945),4,20,
+richard_(goofygoobersama),4,20,
+ricci_(curiousitykills),4,20,
+ribbonfemale,1,20,
+ribbon_(cocotama),4,20,
+rhizza_(la_ninya),4,20,
+rezzic,4,20,
+rexiwiksi,1,20,
+rex_(tyrannosharkusrex),4,20,
+rex_(bad_dragon),4,20,
+reuben_(yawg),4,20,
+rettub_bear,1,20,
+reticulated_python,5,20,
+reno_(tempowolfy),4,20,
+rene_(renethehuskypup),4,20,
+ren_winterfox_(character),4,20,
+ren_izayoi,1,20,
+remote_vibrator,0,20,
+reizu47,1,20,
+reilion,4,20,
+reiklo,4,20,
+reiji_(reijikitty),4,20,
+red_vox,3,20,
+red_genitals,0,20,
+red_beanie,0,20,
+red_(all_dogs_go_to_heaven),4,20,red_(adgth)
+red8ean,1,20,
+rebelgandre,1,20,
+reaper_(djijey_hellfire),4,20,
+re-nightmare,3,20,
+rdnw0519,1,20,
+ravicor,4,20,
+raunikayle,5,20,
+rathain_kuromaru,4,20,
+rasuku@07,1,20,
+rastafariansfm,1,20,
+rashishibe,1,20,
+raseme,4,20,
+rascal_(thehades),4,20,
+rapper,0,20,
+raolinn,4,20,
+ransomone,1,20,
+ranken,1,20,
+randomkooldude,1,20,
+ramen_mao,1,20,
+rainhues_(artist),1,20,
+raine_whispers,4,20,
+rainbow_nails,0,20,
+rahel_efrayim,4,20,
+rafiq_(zsisron),4,20,
+radiohead,3,20,radiohead_(band)
+radiodelta,1,20,honeydog
+rachael_the_blind,4,20,
+raccoon_taur,5,20,raccoontaur
+r_rvuv18,1,20,
+r0ckya,1,20,
+r'hael,4,20,
+quiz_magic_academy,3,20,
+quiver_silvertongue,4,20,
+quintus_(handsdownhound),4,20,
+quinn,4,20,
+quineas,4,20,
+quinarth_snowtide_(eastern),4,20,
+quillcy,4,20,
+quill-tail,1,20,
+quil_(yodishy),4,20,
+quick_ball,0,20,
+quelyntr,1,20,
+queen_polistae,4,20,
+quantumdot,4,20,
+quadruple_collaborative_fellatio,0,20,
+quada_platt,4,20,
+qu'eii,5,20,
+qt_(space_dandy),4,20,
+qiyana_(lol),4,20,
+qa'a,4,20,
+pyrope,4,20,
+pyra_(lyorenth-the-dragon),4,20,
+pussy_urethra_vore,0,20,
+pussy_urethra,0,20,
+purplethecharmander,1,20,
+purplegriffin,1,20,
+purple_wristband,0,20,
+purple_sofa,0,20,purple_couch
+purple_rug,0,20,
+purple_rubber,0,20,
+pupwolf,1,20,
+puppet_strings,0,20,
+punishedgen,1,20,
+pumpkin_lily,4,20,
+pulsar_(character),4,20,
+pulling_tie,0,20,
+pulley,0,20,
+pull_up,0,20,
+pukupukudragon,1,20,
+pufftor_the_dragon,4,20,
+puffedup,1,20,
+psychotalbain,4,20,
+psychic_energy,0,20,
+psychemon,5,20,
+prosthetic_wings,0,20,
+proposition,0,20,
+projector_screen,0,20,
+procyonid_taur,5,20,
+print_baseball_cap,0,20,
+princess_fluttershy,0,20,
+prince_gamon,4,20,
+primocreatore,1,20,
+pride_color_handwear,0,20,"pride_colors_handwear,pride_colour_handwear,pride_colours_handwear,pride_flag_handwear,pride_handwear"
+prehensile_holding,0,20,
+prairie_dog_humanoid,5,20,
+pox,4,20,
+powan_po40,1,20,
+pots,0,20,
+potetecyu_to,1,20,
+postal_(series),3,20,
+popporunga,1,20,
+poppet_(conker),4,20,
+pop_candy,4,20,
+pookahforhire,1,20,
+ponehanon_(character),4,20,
+pon,4,20,
+polly_(birdie),4,20,
+polar_bear_dog,5,20,
+pokéwalker,0,20,"poke-walker,poke_walker,pokewalker,poké-walker,poké_walker"
+pokies,0,20,
+pokemon_rgby,3,20,
+pokedollar_sign,0,20,
+pokarin_(cocotama),4,20,
+pointy_fingers,0,20,
+pointedfox_(character),4,20,
+pogo_(joaoppereiraus),4,20,
+pochacco,4,20,
+plush_humping,0,20,
+plump_cloaca,0,20,
+plum_(shellyochunks),4,20,
+plaza,1,20,
+playtime_with_gnar,3,20,
+platonic,0,20,
+platformer,0,20,
+plasma,0,20,
+plant_cloak_wormadam,5,20,"grass_cloak_wormadam,grass_form_wormadam,grass_forme_wormadam,grass_wormadam,grassy_cloak_wormadam,grassy_form_wormadam,grassy_forme_wormadam,grassy_wormadam,leaf_cloak_wormadam,leaf_form_wormadam,leaf_forme_wormadam,leaf_wormadam,leafy_cloak_wormadam,leafy_form_wormadam,leafy_forme_wormadam,leafy_wormadam,plant_form_wormadam,plant_forme_wormadam,plant_wormadam,wormadam_(grass),wormadam_(grass_cloak),wormadam_(grass_form),wormadam_(grass_forme),wormadam_(grassy),wormadam_(grassy_cloak),wormadam_(grassy_form),wormadam_(grassy_forme),wormadam_(leaf),wormadam_(leaf_cloak),wormadam_(leaf_form),wormadam_(leaf_forme),wormadam_(leafy),wormadam_(leafy_cloak),wormadam_(leafy_form),wormadam_(leafy_forme),wormadam_(plant),wormadam_(plant_cloak),wormadam_(plant_form),wormadam_(plant_forme),wormadam_grass,wormadam_grass_cloak,wormadam_grass_form,wormadam_grass_forme,wormadam_grassy,wormadam_grassy_cloak,wormadam_grassy_form,wormadam_grassy_forme,wormadam_leaf,wormadam_leaf_cloak,wormadam_leaf_form,wormadam_leaf_forme,wormadam_leafy,wormadam_leafy_cloak,wormadam_leafy_form,wormadam_leafy_forme,wormadam_plant,wormadam_plant_cloak,wormadam_plant_form,wormadam_plant_forme"
+plant_cloak_burmy,5,20,"burmy_(grass),burmy_(grass_cloak),burmy_(grass_form),burmy_(grass_forme),burmy_(grassy),burmy_(grassy_cloak),burmy_(grassy_form),burmy_(grassy_forme),burmy_(leaf),burmy_(leaf_cloak),burmy_(leaf_form),burmy_(leaf_forme),burmy_(leafy),burmy_(leafy_cloak),burmy_(leafy_form),burmy_(leafy_forme),burmy_(plant),burmy_(plant_cloak),burmy_(plant_form),burmy_(plant_forme),burmy_grass,burmy_grass_cloak,burmy_grass_form,burmy_grass_forme,burmy_grassy,burmy_grassy_cloak,burmy_grassy_form,burmy_grassy_forme,burmy_leaf,burmy_leaf_cloak,burmy_leaf_form,burmy_leaf_forme,burmy_leafy,burmy_leafy_cloak,burmy_leafy_form,burmy_leafy_forme,burmy_plant,burmy_plant_cloak,burmy_plant_form,burmy_plant_forme,grass_burmy,grass_cloak_burmy,grass_form_burmy,grass_forme_burmy,grassy_burmy,grassy_cloak_burmy,grassy_form_burmy,grassy_forme_burmy,leaf_burmy,leaf_cloak_burmy,leaf_form_burmy,leaf_forme_burmy,leafy_burmy,leafy_cloak_burmy,leafy_form_burmy,leafy_forme_burmy,plant_burmy,plant_form_burmy,plant_forme_burmy"
+pixen_(akeya),4,20,
+pixel_sunglasses,0,20,
+pistol_holster,0,20,
+pirotess,4,20,
+piris,4,20,
+pirates,0,20,
+pink_tights,0,20,
+pink_line_art,0,20,
+pink_egg,0,20,
+pink_backpack,0,20,
+pinhead,4,20,
+pinabble,1,20,
+pikkun_moriya,4,20,
+pikie_folfuwu,4,20,
+pika-cola,0,20,
+piia,1,20,
+pietro_(animal_crossing),4,20,
+pieman24601,1,20,
+pie_chart,0,20,
+physical_abuse,0,20,
+phyllis_(animal_crossing),4,20,
+phonics_fox,4,20,
+pholidine,5,20,
+pharos,4,20,
+phantom_spirit_battle_academy,3,20,
+phaeton99,1,20,
+petunia_petals_(mlp),4,20,
+petunia_(raichupuppy),4,20,
+pettankochan,1,20,pettankochanv
+petrus_(petruslol),4,20,
+perry_(hextra),4,20,
+perninae,5,20,
+perfect_chaos,4,20,
+pepperoach,1,20,
+peppa_pig_(character),4,20,
+pepe,4,20,
+pentagram_top,0,20,
+penny_(dork_boi),4,20,
+penny_(blazethefox),4,20,
+penis_under_dress,0,20,
+penis_popsicle,0,20,
+penelope_(ironkongstudios),4,20,
+peeing_into_river,0,20,
+peddles,4,20,
+pec_frottage,0,20,
+pebthedrabold,1,20,
+pazek,1,20,
+pawp,4,20,
+paw_markings,0,20,
+pattie_(pencil_bolt),4,20,
+pattern_vest,0,20,
+pattern_pillow,0,20,
+patsy_bennett,4,20,
+patrick_(lunchmeat),4,20,
+patricia_(dav-19),4,20,
+party_sex,0,20,
+party_pat,4,20,
+partner,0,20,
+partially_retracted_sheath,0,20,
+partial_thought_bubble,0,20,
+parfait_(artist),1,20,
+parasoul,4,20,
+paramedic,0,20,
+parallaxmlp,1,20,
+panty_brabbit,4,20,
+panon_rabbit,5,20,
+pango_(animal_crossing),4,20,
+pandskyy,1,20,"cowpudge,cowpudge_(artist),gentlepyro,gentlepyro_(artist),miorjah,miorjah_(artist),pandskies,pandskies_(artist),pandsky,pandsky_(artist),pandskyy_(artist)"
+pandapower897,4,20,
+panakotta,1,20,
+paisley_(nobby),4,20,
+paimon_(genshin_impact),4,20,
+paigeforsyth,1,20,
+pages,0,20,
+padlocked_collar,0,20,
+paddedbandit,1,20,cas
+pack_(rudragon),4,20,
+pacificside18,1,20,
+p.r.o._pokeball,3,20,
+oxiel_(character),4,20,
+owlhaus,1,20,
+ovnee,5,20,
+overcast_form_cherrim,5,20,
+otmgirls,4,20,
+otakon_(artist),1,20,
+osprey-hawk_(artist),1,20,
+oshiso_sio,1,20,
+orthrus,5,20,
+orikomi_(character),4,20,
+origami-orange,1,20,
+oriental_longhair,5,20,
+orcus_challenge,0,20,
+orca_(pochincoff),4,20,
+orbical,1,20,
+ophelia_(fiftyfifthfleet),4,20,
+onua,4,20,
+onion_(powfooo),4,20,
+onikumo,4,20,
+oni_draws,1,20,
+on_barrel,0,20,
+omaha_the_cat_dancer,4,20,
+ollie_(possumassss),4,20,
+oliverror,1,20,
+oliver_(rockk),4,20,
+oldsoup,1,20,
+okiyumi_kase,1,20,
+okapi_humanoid,5,20,
+oil_drum,0,20,
+oil_cum,0,20,
+offscreen_female,0,20,
+octopus_tadashi,1,20,
+october_flixard,1,20,
+ocelot_humanoid,5,20,
+ocellus_(dragon_form),4,20,
+o_(doneru),4,20,
+nyoronyan,1,20,
+nursery_mobile,0,20,
+numberfour_(character),4,20,
+numa,1,20,
+nuitt,1,20,
+ntm.,1,20,
+nt00,1,20,
+nozdraws,1,20,
+novel,0,20,
+novaquinmat,1,20,
+novah_ikaro,1,20,
+notorious_(character),4,20,
+nostril_penetration,0,20,
+norwegian_flag,0,20,
+nora_(fallout),4,20,
+noodle_(gorillaz),4,20,
+nonneim,1,20,
+nokia1124_a,1,20,
+noir_(demicoeur),4,20,
+nogisuke523,1,20,
+nodekokito,1,20,
+nobox05,1,20,
+no_teeth,0,20,
+nixi_(athighhighguy),4,20,
+niveus_(character),4,20,
+nitro_(nitro38304647),4,20,
+nirai_(artist),1,20,
+nipple_clamp_pull,0,20,
+nipha,4,20,
+niola_(character),4,20,
+nintendo_dsi,3,20,
+nintendo_ds_lite_console,0,20,
+ninjato,0,20,
+nina_(lavabath),4,20,
+nina_(dre621),4,20,
+nikraria,1,20,
+nikki_(pkfirefawx),4,20,
+niki,4,20,
+nijtus,1,20,
+nightstalker400,4,20,
+nightlyflare,1,20,
+night_stalker_girl_(wuzy2121),4,20,
+nigerian_dwarf_goat,5,20,nigerian_dwarf
+nico_oyabin,1,20,
+niccu,4,20,
+nibutani_shinka,4,20,
+nibblonian,5,20,
+nian_(arknights),4,20,
+niamh_(chimangetsu),4,20,
+ni_ki,1,20,it_came_to_(artist)
+neybulot,4,20,
+newton's_cradle,0,20,
+new_year_2021,3,20,
+new_testament_sd_gundam_gaiden,3,20,
+neverdream,1,20,
+nerine_(fvt),4,20,
+nerdthatdraws,1,20,
+neone,1,20,
+neondos,1,20,
+neon_fox,1,20,
+nekokun28,1,20,
+nekohaiku,4,20,
+neko_majin,1,20,
+negativskill,1,20,
+neecheecoyote,1,20,
+necrofeline,1,20,
+neck_accessory,0,20,
+nebbii_(laniii),4,20,
+nayeli,4,20,
+nattya,1,20,
+natsumi_oni,4,20,
+natsumi_hinata,4,20,
+native_american_clothing,0,20,
+nathan_mouse,4,20,
+nate_croou,4,20,
+nate,4,20,
+natalya_gremory,4,20,
+nat-cha,1,20,"a-lesbillion,a_lesbillion,inkblot-rabbit,inkblot_rabbit,nat_cha,natnatcha87,nats_creations,natsuki's_commishes,natsuki's_commissions,natsukis_commishes,natsukis_commissions,natsukiscommishes,natty-cha,natty_cha"
+nash_(chris13131415),4,20,
+naoto_shirogane,4,20,
+nanuk,4,20,
+nanodox,1,20,
+nameless_(chaosie),4,20,
+name_in_background,0,20,
+nalia_mare,4,20,
+nahvedzii,4,20,
+nae,4,20,
+nacked,0,20,
+nabbiekitty,1,20,
+myria_(salverion),4,20,
+myanie,1,20,
+my_pig_princess,3,20,
+mushni,4,20,
+muscle_inflation,0,20,
+murtaugh_(stray),4,20,
+murasaki_yuri,1,20,
+munchy_(diskodeath),4,20,
+munchbucket,1,20,
+multiple_penises_pictured,0,20,
+multicolored_baseball_cap,0,20,
+mugenillustrations,1,20,
+mtmnkmn125,1,20,
+mssafiru,1,20,
+msi_dragon_lucky,4,20,
+ms._kitty,4,20,
+ms._heavybottom,4,20,
+ms._b_(jooshy),4,20,
+mrs._pig_(toybox_pals),4,20,
+mrfoxluck,1,20,
+mr._wolf_(takemoto_arashi),4,20,
+mr._conductor,4,20,
+mp_40,0,20,
+mp7,0,20,
+mozyz,4,20,
+mouth_fetish,0,20,
+mousesix,1,20,
+mouser,4,20,
+mousepaw,4,20,
+motaluliart,1,20,animota
+mortar,0,20,
+mordle,5,20,
+mooshmouse,1,20,
+moose_(sh-4rk),4,20,
+moonmist,4,20,
+moongator,1,20,
+moon_(fnaf),4,20,
+monster_under_your_bed,5,20,
+monster_cereals,3,20,
+monsoona,4,20,
+monotone_speedo,0,20,
+monotone_mask,0,20,
+monotone_armor,0,20,
+monopod,0,20,
+monkeywithaafro,1,20,
+moneyhustard96,1,20,
+mona_(averyshadydolphin),4,20,
+momoka_kobashigawa_(athiesh),4,20,
+momikacha,1,20,
+molinatwins,1,20,
+mokarakom,4,20,
+mokamoka,1,20,
+mogul_khan_the_axe,4,20,
+mofuko,1,20,"mofuko_(artist),mofupaws,mofupaws_(artist),mogepaw,mogepaw_(artist)"
+modifiedlast,4,20,
+modest,0,20,
+mobile-kun,1,20,
+mizukage_(artist),1,20,
+miyamae_porin,1,20,
+mix_(ikkykrrk),4,20,
+mitzi_(characters),4,20,
+mitsu_(derek_hetrick),4,20,
+mistress_filth,4,20,
+miss_heart,4,20,
+miss-mundany_(photolol.03),4,20,
+misha_(galacticmichi),4,20,
+misgendering,0,20,
+mirufosky,4,20,
+mircelio,4,20,
+minyerva,4,20,
+minoir,4,20,
+mini_giantess,0,20,
+mingo_kodoku,1,20,
+mingi,4,20,
+minami_(remanedur),4,20,
+milly_(millydeer),4,20,
+milkmaker,1,20,
+miles_(milesupshur47),4,20,
+mikeowolee,1,20,
+mikeluckas,1,20,
+mike-,1,20,
+mikah_(nevekard),4,20,mikah_(drakeven)
+mighty_(dinogaize),4,20,
+mifa_(character),4,20,
+miezekatze,4,20,
+mierumonaru,1,20,
+michael_myers,4,20,
+micaxiii,1,20,
+mgalekgolo,5,20,
+mg_42,0,20,
+meziro001,1,20,
+mey-mey,4,20,
+meteorsmash_(character),4,20,
+metasighty,1,20,
+metal_detector,0,20,
+metal_amy,4,20,
+messier_87_(personification),4,20,
+mesopotamian_mythology,3,20,
+mesemmon,4,20,
+mercy_(amorous),4,20,
+meng_ziya,1,20,
+memoriesforgotten,1,20,
+melting_flesh,0,20,
+melmetal,5,20,
+mellony_(p4nter),4,20,
+mellie_(only0neman),4,20,
+melanie_santander,4,20,
+megan_williams,4,20,
+mega_aggron,5,20,
+meeko,4,20,
+medium_length_hair,0,20,
+mc_skat_kat_and_the_stray_mob,3,20,
+maya_turner,4,20,
+maxirobe,5,20,
+maxcoyote,4,20,
+max_yunlong,1,20,
+max_the_terrible,4,20,
+mawhee,4,20,
+mauviecakes,1,20,
+matt_the_hedgehog,4,20,
+matoro,4,20,
+massive_nipples,0,20,
+massacre,0,20,
+maskopatol,1,20,
+marytoad,1,20,
+marty_mcfly,4,20,
+martial_eagle,5,20,polemaetus
+martha_(i69himdaily),4,20,
+marsha_(marshalepochi),4,20,
+marsh666,1,20,
+maroon_body,0,20,
+marisama,1,20,
+margaret_never_(catd),4,20,
+marg_(raichu),4,20,
+marcie_roo,4,20,
+marching_band,0,20,
+marazhu,4,20,
+mara_(spwalo),4,20,
+maple_(modeseven),4,20,
+map_bot_(fnaf),4,20,
+mao_lee_(sirjzau),4,20,
+mantis_arms,0,20,
+mannack,1,20,
+mandolin,0,20,
+manba_(character),4,20,
+manawolf,1,20,
+mamma,5,20,
+malph,4,20,
+mallory_gwynn,4,20,
+male_taking_female_virginity,0,20,
+makuta_teridax,4,20,
+makogrey,4,20,
+maja_(syntech),4,20,
+mahjong,0,20,
+mahalia_(spwalo),4,20,
+magius_(diives),4,20,
+magical_creature,5,20,
+magic_kingdom,3,20,
+magic_collar,0,20,
+maghost,1,20,
+mage_bun_(niking),4,20,
+magdalia_(fvt),4,20,
+mae_ga_mienu,1,20,
+macintosh,3,20,
+macie_(phsuke),4,20,
+mabeelz,1,20,
+mabari,5,20,
+m1_abrams,0,20,
+m-preg,1,20,
+lynxon,0,20,
+lynx_blue_(foxette),4,20,
+lydia_(ferro_the_dragon),4,20,
+lycos,4,20,
+luxro,4,20,
+lus,4,20,
+lurdanjo_mistaro_(lurdanjo),4,20,
+luqi_(jarnqk),4,20,
+luos,4,20,
+luo_(drdiccpicc),4,20,
+luniel,1,20,
+lune_(lunecatta),4,20,
+lunalin,5,20,
+luna_(vkontakte),4,20,
+luna-v,1,20,
+lumid_(baebot),4,20,
+lumi,4,20,
+lumekat,1,20,
+lukas_artair,1,20,
+luckywolf_(character),4,20,
+lucky_the_liolf,4,20,
+luckus_(character),4,20,
+luck_dragon,5,20,
+lucille,4,20,
+luchodraws,1,20,
+lucas_(lucastheshep),4,20,
+lucas_(elchilenito),4,20,
+luanova,4,20,
+luaky,1,20,
+low_pants,0,20,
+louise_(elvche),4,20,
+loudspeaker,0,20,
+lostipants,1,20,
+lost_soul,5,20,
+losing,0,20,
+los_pintin,3,20,
+lorna_(miso_souperstar),4,20,
+loopus,1,20,
+loona_(infinitydoom),4,20,
+looking_from_above,0,20,
+longtail_carpet_shark,5,20,"bamboo_shark,hemiscylliid,hemiscylliidae"
+long_pussy,0,20,
+long_pigtails,0,20,
+london_(spinnerette),4,20,london_(spinerette)
+lolu,4,20,
+lolphi,4,20,
+loketoki,4,20,
+lizardpuke,1,20,
+liz_(wolflance),4,20,
+liz_(arh),4,20,
+living_image,0,20,
+little_sister,4,20,
+little_shewolf,3,20,
+little_kings,3,20,
+linkoblin,4,20,
+linden_mcconville_(character),4,20,
+lime_dream,4,20,
+lilmothiit,5,20,
+lilly_(dividedwreck),4,20,
+lilac_sky_(mlp),4,20,
+lilac_(mgl139),4,20,
+lil_char_and_the_gang,0,20,
+likemaniac,1,20,
+light_rim_alliot,4,20,
+licks,0,20,
+licking_food,0,20,
+licking_floor,0,20,
+licking_arm,0,20,
+liberty_(paw_patrol),4,20,
+liam_(stareostar),4,20,
+li'l_cheese_(mlp),4,20,
+lgag006k043_(artist),1,20,
+lexibeetz,1,20,
+lexi_(portzebie),4,20,
+lex_(dragonicious),4,20,
+lewdxcube,1,20,
+lewdloaf,1,20,
+lewdlagoon,1,20,
+levy_(longlevy),4,20,
+leopold_(waitforrain),4,20,
+lenna_(balmungofsky),4,20,
+lemontwist,4,20,
+legs_lifted,0,20,
+legend_of_the_three_caballeros,3,20,
+leech_humanoid,5,20,
+leben_schnabel,4,20,
+leaned_back,0,20,
+leandre_snow,4,20,
+lean_body,0,20,
+leah_(tiratel),4,20,
+lazuli_(hamtaro),4,20,
+lazarus_(wulfenski),4,20,
+lavosvsbahamut,1,20,
+lauir,4,20,
+lateri,5,20,
+lateef_(spyro),4,20,
+lassodraw,1,20,
+lassie_(krillos),4,20,
+laserflip,1,20,
+lars_grant-west,1,20,
+lars_(mrmaxwell),4,20,
+larret_barret,4,20,
+large_nose,0,20,
+landis_manx,4,20,
+lancer_buck,4,20,
+laika_(koishi_chikasa),4,20,
+laenei,5,20,
+la.xtc,1,20,
+kyu-maru,1,20,
+kyra_(nightargen),4,20,
+kyoro_chan_(series),3,20,
+kyma_(character),4,20,
+kyleth,4,20,
+kylee_(shaytalis),4,20,
+kyle_(ruaidri),4,20,
+kygen,1,20,
+kyary_pamyu_pamyu_tv,3,20,
+kyaru,4,20,
+kuufuku,4,20,
+kutto,4,20,
+kuto,1,20,
+kusa_(iridiumx),4,20,
+kuros,5,20,
+kuroorcas,1,20,
+ksuwabe,1,20,
+krystamon,0,20,
+krystal_carol_(chriskwolf),4,20,
+kriin,5,20,
+kousen_(kousenzephyr),4,20,
+kougi,4,20,
+kothorix,4,20,
+korone_(setonanaki13),4,20,
+korial,1,20,
+konu,4,20,
+konsumo,1,20,
+kongiku,4,20,
+komusou_(jinrikisha),1,20,
+koidelcoyote,1,20,
+kogarasumaru24,1,20,
+koda_(supahuskey),4,20,
+koda_(squishy),4,20,
+kobold_garden,3,20,
+koachellla,1,20,
+ko-nya,5,20,"ko_nya,konya,meowsy"
+knrin,1,20,
+klynolder,1,20,
+kizgin,4,20,
+kiyochii,1,20,
+kittyq,1,20,
+kittenyartz,1,20,
+kittensnark,1,20,
+kithara,4,20,
+kit_(latexshiftingvixen),4,20,
+kishu,4,20,
+kirsenter,1,20,
+kiriu,4,20,
+kirf,1,20,
+kirby's_dream_land_2,3,20,
+kira-minami,1,20,
+kippz,1,20,
+kion_(cryptidkion),4,20,
+kinyua,4,20,
+kintoki_sakata,4,20,
+kino_(character),4,20,
+kinakomochi_199,1,20,
+kimmy,4,20,
+kimblee_(artist),1,20,
+kilroy_was_here,3,20,
+kilcodo,1,20,
+kiko_(tohupo),4,20,
+kiera_southpaw,4,20,
+kiddy,4,20,
+kid_icarus_uprising,3,20,
+kiba_(leokingdom),4,20,
+kiala'reaom,4,20,
+ki-software,1,20,
+khopesh_aeterno,4,20,
+khenbish_(minotaur_hotel),4,20,
+kg,4,20,
+kevin_murphy,4,20,
+kevin_(housepets!),4,20,
+kete_wawakari,4,20,
+kero_(luniquekero),4,20,
+kerem_beyit,1,20,kerembeyit
+kenzie_wong,4,20,
+kemono_giga,3,20,
+kemo-chan_(8chan),4,20,
+kbo_league,3,20,
+kawasemi27,1,20,
+kawahagimizuki,1,20,
+katlo,4,20,
+katiana_(ruaidri),4,20,
+kathy_(mrrottson),4,20,
+kate_sweetblood,4,20,
+kat_chipmunk,4,20,
+kassi_nalani,4,20,
+karrnade,1,20,
+karri,4,20,
+karky,4,20,
+karkow,1,20,
+kapetoelo,1,20,
+kao,4,20,
+kanzakietc,1,20,"kanzaki_etc,kanzaki_etc.,柑咲_etc,柑咲_etc.,柑咲etc,柑咲etc."
+kanpachi,4,20,
+kandy_kotton,4,20,
+kanderous,4,20,
+kanak,4,20,
+kanada_(character),4,20,
+kamuii_(lyreska),4,20,
+kammy_koopa,4,20,
+kami_(disambiguation),4,20,
+kame,1,20,
+kamawa_nui,1,20,
+kaliyah_(charr),4,20,
+kaleido-art,1,20,
+kal'tsit_(arknights),4,20,
+kaiya_(jewelpet),4,20,"kaiya_(jewel_pet),kyanite_(jewel_pet),kyanite_(jewelpet)"
+kaito_shinonome,4,20,
+kailys_(character),4,20,
+kaiko_(kaikotheshark),4,20,
+kahei_yattsu,1,20,"kahei,kahei_(artist),kahei_yattsu_(artist),kaheiyattsu,kaheiyattsu_(artist)"
+kagehara_hanzow,1,20,
+kabuto0495,1,20,
+ka'eo_o_coileain,4,20,
+justinblong2003,1,20,
+justin_bieber,4,20,
+justeen,4,20,
+jurassic_world:_dominion,3,20,
+jupiter_jyohti,1,20,
+june_(tenpoundhammer),4,20,
+julienne_(reapcreates831),4,20,
+julie_rayne,4,20,
+juliart15,1,20,
+jules_(dutch),4,20,
+jujehyu,5,20,jujehyu_(spacebender)
+judgement_(tarot),0,20,
+judge_dredd,4,20,
+jt_(limitedvision),4,20,
+jozzz,1,20,
+josue_pereira,1,20,
+joshua_(frostedchase),4,20,
+josephsuchus,1,20,
+joltrex,1,20,
+jokjaebissi,1,20,
+joey_(housepets!),4,20,
+joel_breton,4,20,
+joanna_marshall,4,20,
+jnkyrd,1,20,
+jiver_thistle,1,20,
+jitterclaws,1,20,
+jimjamdoodles,1,20,
+jimines,1,20,
+jigjig,1,20,
+jgbun,1,20,
+jezzel_(hth),4,20,
+jezekin,4,20,
+jewzeepapercraft,1,20,
+jeurantaes,4,20,
+jessica_hubbard,4,20,
+jersey_cattle,5,20,"jersey_(cow),jersey_cow"
+jeri_(poethewondercat),4,20,
+jenny_(domovoi),4,20,
+jennifer_(greg_panovich),4,20,
+jennifer_(chris94),4,20,
+jenna_(aj_the_flygon),4,20,
+jeff_(zp92),4,20,
+jedader,4,20,
+jeannine_geroux,4,20,
+jazzhands,1,20,
+jay_lurker_(ayejaykay),4,20,
+jay_(sammfeatblueheart),4,20,
+jay_(chowdie),4,20,
+jax_rabbit,4,20,
+jason_(mobilemutt),4,20,
+jaqueline_(show_by_rock!!),4,20,
+japes,1,20,
+japanese_wolf_(kemono_friends),4,20,honshu_wolf_(kemono_friends)
+japanese_sword,0,20,
+japanese_house,0,20,
+japanese_food,0,20,
+jankin,4,20,
+jane_(avencri),4,20,
+jandaya,5,20,"aratinga,jandaia"
+james_bunny,4,20,
+jakepankeke,1,20,
+jail_bars,0,20,
+jaidreamsicle,4,20,
+jager_the_wolf,4,20,
+jadeitor,1,20,
+jadegullyzone,1,20,
+jacky_breeze,4,20,
+jacket_over_leotard,0,20,
+jackaye,4,20,
+jack_(joaoppereiraus),4,20,
+jack_(jackaloo),4,20,
+jacelyn_dracorris,4,20,
+izok_(xenoguardian),4,20,
+ivy_(sweetfilthyfun),4,20,
+ivy_(sparrowl),4,20,
+ivee_rose,4,20,
+ivan_(ivan9402),4,20,
+itsthenutzone,1,20,
+ironraptor,1,20,
+ireland,0,20,
+io_ths,1,20,
+inverted_belly_button,0,20,
+inusawa,1,20,
+inufaiya,1,20,
+insert_(artist),1,20,
+inora_weissklaue,4,20,
+inochi,1,20,
+innerevil,1,20,
+inky_(amazinky),4,20,
+inferno_sabercat,4,20,
+indigo_fur,0,20,
+indifferent,0,20,
+index_key_nine,1,20,
+inazuma_eleven,3,20,
+inari_(leilan),4,20,
+ina_arazu,1,20,
+in_need_of_a_hospital,0,20,
+improper_sexual_barrier_device_usage,0,20,
+improper_condom_usage,0,20,
+impregnation_kink,0,20,
+imoya,4,20,
+imminent_spanking,0,20,
+imdudrjsmi,1,20,
+imaslowperson,1,20,
+ill825_(artist),1,20,
+ikana_makarti,4,20,
+iguana_(genus),5,20,
+igrushka_(polyle),4,20,
+igneel_(fairy_tail),4,20,
+icycario,1,20,
+icewolf,1,20,
+ice_cream_on_breasts,0,20,
+icaxhu,4,20,
+ian_the_wolf,4,20,
+iain_(zhanbow),4,20,
+i_want_you,3,20,
+i'm_sorry_jon_(creepypasta),3,20,
+hyper_glans,0,20,
+hyper_flexor_carpi,0,20,
+hypebae_(jinu),4,20,
+hyness_(kirby),4,20,
+hyde,5,20,
+husqi,4,20,
+huskershep,4,20,
+hurikata_judodo,4,20,
+hunter_the_tiger,4,20,
+hunter_slime,5,20,
+hunter_(destiny),4,20,
+humping_air,0,20,
+human_penetrating_ambiguous,0,20,
+human_brain_to_dog_brain,0,20,
+hugh_(taz-mania),4,20,
+hubert_ellis,4,20,
+huan_tian_xue_lang,1,20,
+hrfidy,1,20,
+how2101,1,20,
+hover_wisp,5,20,
+house_of_the_dead,3,20,
+hotney_(cocotama),4,20,
+hose_in_nipple,0,20,
+hork-bajir,5,20,
+hooked_eyewear,0,20,
+honorboundnoob,1,20,
+honeyu,1,20,
+honey_pie_(character),4,20,
+honey_milk_(character),4,20,
+homura_akemi,4,20,"akemi_homura,homura_(madoka),homura_(pmmm),homura_(puella_magi_madoka_magica)"
+holiday_dressed,0,20,
+holding_watering_can,0,20,
+holding_pussy,0,20,
+holding_paddle,0,20,
+holding_media_case,0,20,
+holding_golf_club,0,20,
+holding_frying_pan,0,20,
+holding_drawing,0,20,
+holding_by_tail,0,20,
+holding_bomb,0,20,
+hoi~poi,1,20,
+hog_badger,5,20,
+hodgepodgedl,1,20,
+ho-oh_(025aki),4,20,
+hiyaudon,1,20,
+hive43,1,20,
+hitotsuki_nebura,1,20,
+hitbass,1,20,
+hisone_to_masotan,3,20,
+hiro_(piporete),4,20,
+hirari_(hhc),4,20,
+hip_focus,0,20,
+hinzen,1,20,
+himuhino,1,20,
+hildahyena,1,20,
+highpups,1,20,
+high_heels_leggings,0,20,
+hickory_(hhc),4,20,
+hesh,4,20,
+hermit_(.hack),4,20,"hermit_(dot-hack),hermit_(dot_hack)"
+hentai9ja,1,20,
+hennin,0,20,
+hendersimp,1,20,
+helluva_exterminator,3,20,
+hellovivirose,1,20,
+helloiamyourfriend,1,20,
+helensan,1,20,helensanowo
+helen_wheels,4,20,
+heinz,3,20,
+hei-matau,0,20,
+hecate_(megami_tensei),4,20,
+heavenly_nostrils,3,20,
+heats_flamesman,4,20,
+hearto,4,20,
+heart_thong,0,20,
+heart_shaped_bed,0,20,
+heart_on_butt,0,20,
+head_scar,0,20,
+head_bob,0,20,
+head_bag,0,20,
+hazel_lulamoon,4,20,
+hazel_byrne,4,20,
+hay_pile,0,20,
+hauptmann_meade,4,20,
+harvek,1,20,
+haruhi_suzumiya,4,20,suzumiya_haruhi
+harper_(fairdahlia),4,20,
+harassment,0,20,
+hans_faffing,4,20,
+hanging_streamer,0,20,
+hanging_feces,0,20,
+hane_w_maxwell_(hane),4,20,
+hands_on_own_head,0,20,
+hands_on_own_chest,0,20,
+hands_on_desk,0,20,
+hands_on_chin,0,20,
+hands_on_bed,0,20,
+hands_crossed,0,20,
+hand_out_of_water,0,20,
+hand_on_desk,0,20,
+hamton_landrace,4,20,
+halphyos,1,20,
+half_asleep,0,20,
+half-demon,5,20,
+haley,4,20,
+hakuginnosora,1,20,
+hair_expansion,0,20,
+hailegabriel,1,20,
+hades_(disney),4,20,
+h_(doneru),4,20,
+gyshka,1,20,
+gvz_7,1,20,
+guojun2333,1,20,
+gunter_(galaxy_fight),4,20,
+gunslinger,0,20,
+gum-k,1,20,
+gullet_(character),4,20,
+guitar_strap,0,20,
+guido_anchovy,4,20,
+guglehupf,1,20,
+gtf_transformation,0,20,"dickgirl_to_female_tf,dickgirl_to_female_transformation,dtf_tf,dtf_transformation,gtf_tf,gynomorph_to_female_tf,gynomorph_to_female_transformation"
+gryphon1,1,20,
+gruziya,4,20,
+grubbin,5,20,
+gritou,4,20,
+grimal,1,20,
+grim_aloe,4,20,
+griffsnuff,1,20,
+greykenny_wolfz_(artist),1,20,
+grey_tail_tuft,0,20,
+grey_scutes,0,20,gray_scutes
+grey_kangaroo,5,20,gray_kangaroo
+grey_jewelry,0,20,gray_jewelry
+grey_bedding,0,20,
+greggory,4,20,
+greenery,0,20,
+green_neckwear,0,20,
+green_line_art,0,20,
+green_lantern_ring,0,20,
+green_fin,0,20,
+green_(among_us),4,20,
+greece,0,20,
+great_sword_(monster_hunter),0,20,
+great_sword,0,20,
+great-uncle,0,20,
+graveyardshift,1,20,
+gratiel,1,20,
+gran,4,20,
+graith_ilesanmi,4,20,
+grain,0,20,
+grace_persia,4,20,
+grace_(shining),4,20,
+grabbing_wrist,0,20,
+graaz,4,20,
+gothabsol,1,20,
+goose_(maverick),4,20,
+gooeythedragon,1,20,
+gooey_goon,1,20,
+goodwolf,1,20,
+goober.,1,20,vinniee
+gold_headwear,0,20,
+gold_chastity_device,0,20,
+golan_the_insatiable_(character),4,20,
+goiaba,1,20,
+goatmancer,4,20,
+gnabgnoffe,1,20,
+glu_(artist),1,20,
+glowing_lines,0,20,
+glowing_egg,0,20,
+gloria_vixen,4,20,
+glomiagui,1,20,
+glimt,4,20,
+glek_tarssza,4,20,
+glazirka,1,20,
+gladys_hippo,4,20,
+giovanna_(guilty_gear),4,20,
+ginkgosan,1,20,
+gingerbread,0,20,
+ginger_(hotbrotkuroi),4,20,
+gindan,1,20,
+gil_softpaws,1,20,
+gibbi_(derek_hetrick),4,20,
+gibbet,0,20,
+giant_man,4,20,
+ghostart,1,20,
+geyser,0,20,
+gewahren_(austrum),4,20,
+gentlebun,4,20,
+genetic-enigma,1,20,
+generator,0,20,
+general_taboo_(copyright),3,20,
+general_sonov,4,20,
+general_buta,1,20,
+gen_(inuki),4,20,
+geminii,4,20,
+geki-mcclain,4,20,
+geffen,4,20,
+gear_(foxgear),4,20,
+gavial_(arknights),4,20,
+gatekeeper,1,20,
+garreth_(thedgamesd),4,20,
+garf_of_finland,1,20,
+ganymede_(overwatch),4,20,
+ganghandog,1,20,
+game_gear,3,20,
+gambit,4,20,
+gallantmon,5,20,
+gale_(lordy_dia),4,20,
+gaijin_entertainment,3,20,
+gagged_top,0,20,
+gachimuchi,3,20,
+gaara,4,20,
+futaba_(mamoru-kun),4,20,
+furyraptor23,1,20,
+furufoo,1,20,
+fursona_(birdpaw),4,20,
+furry_outpost,1,20,
+furmazing,1,20,
+furclad,0,20,
+fumizuki_(arknights),4,20,
+fully_clothed_taur,0,20,
+fuel_tank,0,20,
+fudge_the_otter,4,20,
+fuckemall,1,20,
+fruitful_melody,4,20,
+frozen_pop_(oc),4,20,
+frostpaw,4,20,
+frostleaf_(arknights),4,20,
+frilly_collar,0,20,
+friendship_is_kindness,0,20,
+frezezyk,1,20,
+freya_(tanrowolf),4,20,
+freya_(elise_larosa),4,20,
+freelime,1,20,
+frawdoe,1,20,
+francisco_goya,1,20,
+francesco,1,20,
+foxyreine_(artist),1,20,
+foxy_caine,4,20,
+fox_girl_(ruaidri),4,20,
+four_of_hearts,0,20,
+fortunae,1,20,
+form,0,20,
+forgotten_realms,3,20,
+forced_arousal,0,20,
+for_the_better_right?,3,20,
+foldblank,1,20,
+foaling,0,20,
+fluttershyspy,3,20,
+flutterpink_3d,1,20,
+fluffyvulps,1,20,
+fluffies,0,20,
+fluff_softpaux,4,20,
+flower_wreath,0,20,
+flower_on_ear,0,20,
+flow_the_riolu,4,20,
+flipnote_studio_3d,3,20,
+flexing_brachioradialis,0,20,
+flat_shaded,0,20,
+flare_(purplebird),4,20,
+flamen_famae,1,20,malix12
+fizzy_pop_the_popplio,4,20,
+fixing,0,20,
+firefighter_boots,0,20,
+fire_poi,0,20,
+finn_the_wolf,4,20,
+filmon,5,20,
+filemonte,1,20,
+file_folder,0,20,
+fiberopticfeline,1,20,
+fetter,0,20,
+fethry_duck,4,20,
+ferretface99,1,20,
+fermrviper,1,20,
+feral_menace,4,20,
+fera_(disambiguation),6,20,fera
+fenwick_art,1,20,
+fenton_(dizzyvixen),4,20,
+fent,1,20,
+fenrirwolfen,1,20,
+fenrir_(kobold_adventure),4,20,
+fendrako,4,20,
+fen,4,20,
+femtoampere,1,20,
+femdymion_(endymionwr),4,20,
+felix_(felixfox),4,20,
+felipo_(captain_nikko),4,20,
+felicia_fox,4,20,
+feet_above_head,0,20,
+featureless_ass,0,20,
+featherscale,1,20,
+feather_antennae,0,20,
+fear_and_loathing_in_las_vegas,3,20,
+fazar,1,20,
+fay_feline,1,20,
+fatcat17,1,20,
+fastspeedy,1,20,
+farv_(funkyknife),4,20,
+farnese_de_vandimion,4,20,
+faris_scherwiz,4,20,
+fappingfang2,1,20,
+fapmasterflex,1,20,
+faolan,4,20,
+fan_rotom,5,20,"air_form_rotom,air_forme_rotom,air_rotom,electric_fan_form_rotom,electric_fan_forme_rotom,electric_fan_rotom,fan_form_rotom,fan_forme_rotom,fly_form_rotom,fly_forme_rotom,fly_rotom,flying_form_rotom,flying_forme_rotom,flying_rotom,rotom_(air),rotom_(air_form),rotom_(air_forme),rotom_(electric_fan),rotom_(electric_fan_form),rotom_(electric_fan_forme),rotom_(fan),rotom_(fan_form),rotom_(fan_forme),rotom_(fly),rotom_(fly_form),rotom_(fly_forme),rotom_(flying),rotom_(flying_form),rotom_(flying_forme),rotom_air,rotom_air_form,rotom_air_forme,rotom_electric_fan,rotom_electric_fan_form,rotom_electric_fan_forme,rotom_fan,rotom_fan_form,rotom_fan_forme,rotom_fly,rotom_fly_form,rotom_fly_forme,rotom_flying,rotom_flying_form,rotom_flying_forme"
+familiar_travels,3,20,
+famale,4,20,
+falord,1,20,
+fallingwaterx,1,20,
+falko3458,1,20,
+fade_panel,0,20,
+f-14_tomcat,0,20,
+ezra_(trashy_panda),4,20,
+ez_katka,4,20,
+extra_mouth,0,20,
+exposed_thighs,0,20,
+exo_stranger,4,20,
+exadian,5,20,
+evil_crash,4,20,
+everestdragon,4,20,
+eve_the_familiar,4,20,
+eve_(alpha_and_omega),4,20,
+evasolo,1,20,
+eva_(swordfox),4,20,
+europamaxima,1,20,
+euphoria,0,20,
+eunnieverse,1,20,
+etya_(dmin),4,20,
+ethereal_wings,0,20,
+ether,0,20,
+espurrito,1,20,
+esotericer,1,20,
+esonver,1,20,
+esmeralda_(cerebro),4,20,
+esmentiras,1,20,
+escape_pod,0,20,
+erise,4,20,
+erin_whyte_(zener),4,20,
+erin_(dualitydot),4,20,
+erilas_(twokinds),4,20,
+erika_(xcxeon),4,20,
+eri_(artist),1,20,
+equine_mane,0,20,
+epistaxiophilia,1,20,
+eon,4,20,
+envious,0,20,
+enny_gima,4,20,
+ennix,1,20,
+enkiefa,1,20,
+enemy_quest,3,20,
+enecoo,1,20,sallymon
+end0609,1,20,
+emma_white,4,20,emma_(ritts)
+emily_valia,4,20,
+emily_anderson,4,20,emily_(terdburgler)
+emeraldfur,1,20,
+emasculator,0,20,
+emad,4,20,
+elvian,5,20,
+eloy_(husky92),4,20,
+elitedog,1,20,
+electrocat,1,20,
+electricity_breathing,0,20,"breathing_electricity,breathing_lightning,electric_breath,electric_breathing,electrical_breath,electricity_breath,electrokinetic_breath,electrokinetic_breathing,lightning_breath,lightning_breathing,thunder_breath,thunder_breathing"
+eld's_deer,5,20,
+elcoyote,4,20,
+elbow_deep_in_a_horse,0,20,
+einthebusinessdeer,1,20,
+eiko_carol,4,20,
+ehri_(rashchaos),4,20,
+egyptian_plover,5,20,
+eggsac,0,20,
+eggman_logo,0,20,
+egglaying_advise,0,20,
+efu,4,20,
+eevo_(author),1,20,
+eetoro_(artist),1,20,
+eente,1,20,
+education,0,20,
+ederex,4,20,
+edana_(partran),4,20,
+echowolf800,1,20,
+echo_(doubleecho),4,20,
+echidna_penis,0,20,
+eccentricspider,1,20,
+earthist,1,20,
+earlybirdspecial,1,20,
+dynamonk_(insomniacovrlrd),5,20,
+dynamoheart_(artist),1,20,
+dyluck,4,20,
+dustfalconmlp,3,20,
+dunothewolf,1,20,
+dumbification_to_dog_brain,0,20,
+dualitydot,1,20,
+drqube,1,20,
+dromarch,4,20,
+dristen,4,20,
+drinking_alcohol,0,20,
+drider_princess,4,20,
+dreamertooth_(character),4,20,
+dreadqueen_rathian,5,20,
+drdubz,1,20,
+drawing_program,0,20,
+drawesome,1,20,
+drash,1,20,
+draken_sjacharytiss,4,20,
+draken_(character),4,20,
+drake26,4,20,
+draik_(neopets),5,20,
+dragorii,5,20,
+dragk_(character),4,20,
+dracouro,1,20,
+draco's_proyects,1,20,
+dracenfer,3,20,
+double_trouble_(she-ra),4,20,
+double_barrel_shotgun,0,20,
+dotty_(jovi_cap),4,20,
+dorulykos,4,20,
+dori_green,1,20,
+doregami,1,20,
+dopple_(dopple477),4,20,
+dope-dingo,1,20,
+doomfister,1,20,
+donnie_(yoko_arika),4,20,
+donkizari,4,20,
+donkey_taur,5,20,
+don_the_bear,4,20,
+dominator,0,20,
+dominant_male_submissive_male,0,20,
+dom_turn_sub,0,20,
+dolphin_tail,0,20,
+dolcisprinkles,1,20,
+dogtanian,4,20,
+dogfuji15,1,20,
+docu_(gas),4,20,
+doctor_strange,4,20,
+dj_octavio,4,20,
+dj_acid,4,20,
+dizzy_knight_(character),4,20,
+divio,4,20,
+dividebyezer0,1,20,
+dive_to_the_heart,0,20,
+diva_(artist),1,20,
+distraught,0,20,
+dispenser_(team_fortress_2),4,20,
+disintegration,0,20,
+dishonored,3,20,
+disciplewinter,4,20,
+discario,4,20,
+discarded_bikini,0,20,
+dirtyero,1,20,
+dirty_pair,3,20,
+dirty_bristles,1,20,
+dipstick_wings,0,20,
+dipstick_legs,0,20,
+dinner_date_by_rex_equinox,3,20,
+dimorphodon,5,20,
+dimetrodon,5,20,
+dildo_as_gift,0,20,
+digested,0,20,
+diesel_(101_dalmatians),4,20,
+dice_magica_(oc),4,20,
+diara,4,20,
+dexter_(demicoeur),4,20,
+dewbon,4,20,
+devon_(panken),4,20,
+devil_children,3,20,
+desmond,4,20,
+derplight,1,20,
+dennis_(hotel_transylvania),4,20,
+demitails,3,20,
+demdoq,1,20,
+delphine_(officialbitwave),4,20,
+deli_(character),4,20,
+deirdre_(animal_crossing),4,20,
+deezchief,1,20,
+deerwalker,1,20,
+deerdigger,4,20,
+deborah_dopplar,4,20,
+dean_(libra11),4,20,
+dclxvi-heaven,1,20,
+dbear,4,20,
+dawnrn,1,20,
+dawn_(skullreaper134),4,20,
+davo_(katnay),4,20,
+davidthewolfx10_(artist),1,20,
+david_(xenoforge),4,20,
+david_(dalwart),4,20,
+darts_(azurox),4,20,
+darkshadow,1,20,
+darkglider,1,20,
+darkfox,4,20,
+dark_violet_(character),4,20,
+dark_shorts,0,20,
+dark_mouth,0,20,
+dark_helmet,0,20,
+dark_eyewear,0,20,
+dark-moltres_(character),4,20,
+darius_(snowdarius),4,20,
+daringdashie,1,20,
+danzz,4,20,
+dante_(itsdante),4,20,
+dani_(devoid-kiss),4,20,
+dani86,1,20,
+dancers,0,20,
+danaroo,4,20,
+dan_(meesh),4,20,
+damon,4,20,
+damien,4,20,
+daire,4,20,
+daikanu,1,20,
+daiazuma,1,20,
+dahlia_(xenoblade),4,20,
+daffytitanic,1,20,
+da_shangzhi_zhi,1,20,
+d-gate,1,20,
+cyrion100,3,20,
+cypress_(weavilead),4,20,
+cynosure,1,20,cutedementia
+cyberwuffy,1,20,
+cyberunique,1,20,
+cybersix,4,20,
+custom,0,20,
+cursedcorvid,1,20,
+curious~red~fox_(artist),1,20,
+curb,0,20,
+cup_on_ear,0,20,
+cum_squirting,0,20,
+cum_on_skirt,0,20,
+cum_on_face_mask,0,20,
+cum_on_book,0,20,
+cum_inside_butt,0,20,
+cum_inflated_butt,0,20,
+cum_in_own_slit,0,20,
+cum_in_brain,0,20,
+cum_from_slit,0,20,
+cum_drunk,0,20,
+cuddlemander,5,20,
+cuddle_knight,4,20,
+cubs_at_play,3,20,
+ctb-36,1,20,
+cslucaris,1,20,
+crystal_wings,0,20,
+crystal_(ori-doggo),4,20,
+cryptid_(call_of_duty),5,20,
+cryodrgnate,1,20,
+crustonpie,1,20,
+crossybear_(artist),1,20,
+crism200_(artist),1,20,
+cresty_(white_crest),4,20,
+crescera,4,20,
+crenelations,0,20,
+creatures,3,20,
+crazy_miru,1,20,
+crawl,0,20,
+cpt.lovers,1,20,
+cowardly_lion,4,20,
+covering_own_face,0,20,
+cosmo_(sweerpotato),4,20,
+cosmic_noodle,1,20,
+cosmic_frill,0,20,
+corona_(beer),3,20,
+cornnica,4,20,
+cormorant,5,20,
+corey_the_rabbit,4,20,
+cool_cat_(series),3,20,
+content_disclaimer,0,20,
+connie_maheswaran,4,20,connie_(steven_universe)
+conjoined_at_penis,0,20,
+conjoined_at_genitalia,0,20,
+concrete_building,0,20,
+concept,0,20,
+commerson's_dolphin,5,20,"commerson_dolphin,commersons_dolphin,jacobita,panda_dolphin,piebald_dolphin,skunk_dolphin"
+commentary_request,0,20,
+coma,0,20,
+colliefleur,4,20,
+collector,5,20,
+collaborative_penis_lick,0,20,
+coliseum,0,20,
+colifox,1,20,
+cole's_sister_(colesutra),4,20,
+coffle,0,20,
+coffeline,1,20,gatocafeinado
+coelacanth,5,20,
+cody_the_coelophysis_(character),4,20,
+cody_(rocketraccoon),4,20,
+coco1sb,1,20,
+cobra0281,1,20,
+coaster,0,20,
+coalcat,1,20,
+coal-heart,1,20,
+clyde_(disambiguation),6,20,clyde
+clutterdrop,1,20,
+clutching,0,20,
+clove_vaughn,4,20,
+clothes_dryer,0,20,
+clothed_male_nude_ambiguous,0,20,"cmn?,n?cm"
+cloth_(saint_seiya),0,20,
+closing_door,0,20,
+clitoris_clamp,0,20,
+cleverfoxman,1,20,
+clemenceau_(cakewasgood),4,20,
+clay_acier,4,20,
+claw_foot_bathtub,0,20,
+clary_(creamgag),4,20,
+claptrap,4,20,
+claire_(nikoyishi),4,20,
+claire_(cloudtrotter),4,20,
+clair_sewall,4,20,
+citrox,4,20,
+citi-skies,1,20,
+ciggybunny,1,20,
+cielorey,4,20,
+cid_(oc),4,20,
+ciara,4,20,
+chucky_(child's_play),4,20,
+chrome_pony,4,20,
+chroma_(chromamancer),4,20,
+christmas_card,0,20,
+chris_wolfe,4,20,
+chris_(mapdark),4,20,
+chonies_(dogs_in_space),4,20,
+chocolatechilla,1,20,
+chloe_(nakagami_takashi),4,20,
+chiv,4,20,
+chinese_paddlefish,5,20,
+chinese_finger_trap,0,20,
+chimerastories,1,20,
+chimeracocks,1,20,
+chilli_(aomori),4,20,
+child's_play,3,20,
+chih-lin_zhou,4,20,
+chico,1,20,
+chibitakumi,4,20,
+cheunchin,1,20,
+chest_eye,0,20,
+cherryfurvixen,1,20,
+cherry_fox904,1,20,
+chelsea_fortuna,4,20,
+chase_(meesh),4,20,
+charrie_shirazi,4,20,
+charlotart,1,20,
+charlie_(charkie),4,20,
+charli_(rickgriffin),4,20,
+charcoal,4,20,
+character_creator,0,20,
+chaoskomori,1,20,
+changeling_hive,0,20,
+chamomilearts,1,20,
+chaco_(cocotama),4,20,
+cerealkat,1,20,
+censorrottie,1,20,
+celesti,4,20,
+celandinefox,1,20,
+cedricktheluxray,4,20,
+cece,4,20,
+cdrspark,1,20,
+cd_projekt_red,3,20,
+ccgumi10,1,20,
+caydedraws,1,20,
+cavewoman,0,20,
+cavalina,4,20,
+caught_and_continued,0,20,
+catlion3,1,20,
+cathleen_keiser,4,20,
+catchphrase,0,20,
+castell,1,20,
+cassidy_civet,4,20,
+cassi_dupuis,4,20,
+cassandra_(soul_calibur),4,20,
+cass_(falcon_mccooper),4,20,
+cashmere_(tfh),4,20,
+carseat,0,20,
+caroline_(fiercedeitylynx),4,20,
+carmen_sandiego,4,20,
+carmen_(tawog),4,20,
+cardigan_welsh_corgi,5,20,
+carbonite,0,20,
+captaincassidy,1,20,
+captain_toad,4,20,
+captain_emily,4,20,
+cap'n_cuttlefish,4,20,"capn_cuttlefish,craig_cuttlefish"
+cantaloupe,0,20,
+canopic_jar,0,20,
+cannons,0,20,
+cannibalharpy,1,20,
+cannibal,4,20,
+candy_bowl,0,20,
+candlebars,1,20,
+candle_the_saluki,4,20,
+camp14,1,20,
+camo_headwear,0,20,camouflage_headwear
+calvin_the_buck,4,20,
+calira_(mcfan),4,20,
+cali_(reign-2004),4,20,
+cala_(viper_rsr),4,20,
+caim_(chu-tora),4,20,
+caffeinatedhornfox,1,20,
+cadia_(sandwich-anomaly),4,20,
+cadence_the_goodra,4,20,
+cadek_fenrir,4,20,
+cackling-beast,1,20,
+cachorroamor,1,20,
+cabby_(angrycaboose),4,20,
+c-fed,1,20,
+byzantine,0,20,
+buzz_(brawl_stars),4,20,
+button_down_shirt,0,20,
+butt_imprint,0,20,
+butcha-u,1,20,
+burning_wolf_(fortnite),4,20,
+burglar,0,20,
+bunsen_burner,0,20,
+bundefault,1,20,
+bumps,0,20,
+bull_(petruz),4,20,
+bulge_through_clothing,0,20,
+buffy-sugo,4,20,
+buckled_boots,0,20,
+buckitponydoodles,1,20,
+bubblehermit,1,20,
+bryce_(marmalademum),4,20,
+brutus_(markwulfgar),4,20,
+brushy,4,20,
+bruised_leg,0,20,
+brucebadger,1,20,
+brown_scabbard,0,20,
+brown_muzzle,0,20,
+brown_heels,0,20,
+brotherhood_of_steel_(fallout),4,20,
+brooke_(dullpoint),4,20,
+bronco,0,20,
+brisskwinds,1,20,
+brimstone_(zer0rebel4),4,20,
+bridget,4,20,
+bridal_carry_position,0,20,
+brian_cochen,4,20,
+brellom,1,20,
+breioom,1,20,
+breasts_strap,0,20,
+breasts_on_lap,0,20,
+breast_worship,0,20,
+breast_suckling,0,20,
+breakfast_in_bed,0,20,
+brandy_(hamtaro),4,20,
+bran_(strangerdanger),4,20,
+braisewolf,4,20,
+bra_up,0,20,
+bozlerart,1,20,
+bound_leg,0,20,
+bottom_bunk_filling_meme_(tofudumps),3,20,
+bothan,5,20,
+boobcat,1,20,
+boney_(earthbound),4,20,
+bondage_suit,0,20,
+bonbonbear,1,20,
+bonbon,4,20,
+bombstaticz,1,20,daniela-3
+bolt_striker,4,20,
+bokken,0,20,
+bobo_(claweddrip),4,20,
+bob_(disambiguation),4,20,bob
+blush_(artist),1,20,
+bluestorm,4,20,
+bluechance,1,20,
+blueberry_(miu),4,20,
+blue_uniform,0,20,
+blue_spines,0,20,
+blue_rubber,0,20,
+blue_pacifier,0,20,
+blue_moon,0,20,
+blue_lines,0,20,
+blue_bird,5,20,
+blue_baseball_cap,0,20,
+blue_b,1,20,
+blue-striped_basculin,5,20,"blue-stripe_basculin,blue-stripe_form_basculin,blue-striped_form_basculin,blue_basculin,blue_form_basculin,blue_stripe_basculin,blue_stripe_form_basculin,blue_striped_basculin,blue_striped_form_basculin"
+blowgun,0,20,
+blood_on_nose,0,20,
+blood_on_balls,0,20,
+blood_covered,0,20,
+blix,4,20,
+blitzpony,1,20,
+blinian,1,20,
+blind_penguin,1,20,
+blaze_dragoness,4,20,
+blanket_(character),4,20,
+blackheart_xi,1,20,
+blackberry_(fruit),0,20,
+black_tubes,0,20,
+black_tip_ears,0,20,
+black_spy,4,20,
+black_pepper,0,20,"black_peppercorn,pepper_(spice),peppercorn"
+black_liquid,0,20,
+black_bridal_gauntlets,0,20,
+bixby,4,20,
+bit_(crankyconstruct),4,20,
+biscuit_(food),0,20,
+bird_jesus_(twitch_plays_pokémon),4,20,"aaabaaajss,abba_jesus,bird_jesus,bird_jesus_(tpp),bird_jesus_(twitch_plays_pokemon),bird_jesus_(twitch_pokemon),bird_jesus_(twitch_pokémon)"
+birb_allegro,1,20,
+binky_bunny,4,20,
+bilkaya,1,20,
+bigtimekudo,1,20,
+bigdaddyrhino,4,20,
+bigchuru,1,20,
+big_snout,0,20,
+big_sex_toy,0,20,
+big_pepper,1,20,
+big_papa_(paradisebear),4,20,
+big_infraspinatus,0,20,
+big_collar,0,20,
+big_bertha,4,20,
+big_bad_(fall_guys),4,20,
+bifurcated,0,20,
+bibarel_rei,1,20,
+bianca_(animal_crossing),4,20,
+betsumon,5,20,
+bethany_genisse,4,20,
+betamon,5,20,
+berserker_minamoto_no_raikou,4,20,"berserker_(fate/grand_order_-_raikou),berserker_(fate/grand_order_raikou),berserker_(fate_grand_order_-_raikou),berserker_(fate_grand_order_raikou)"
+bernie_sennenhund,4,20,
+benzo,4,20,
+bent_over_counter,0,20,
+benson_(juanmao1997),4,20,
+bengt_(pewdiepie),4,20,
+bellspurgebells,1,20,
+belle_(disambiguation),6,20,belle
+bellanette,4,20,
+belladonna_(prismatic_wolf),4,20,
+belia,4,20,
+beembo,4,20,
+becky_wilde_(visiti),4,20,
+bechology,1,20,
+beatrice_horseman,4,20,
+beat_bladesman_fur_hire,4,20,
+bearbun,1,20,
+bayoshii,1,20,
+batty,4,20,
+batsy,4,20,
+batako,1,20,
+bastet_(full_bokko_heroes),4,20,
+basil_(juanmao1997),4,20,
+baseball_tiger,4,20,
+bart_(juanmao1997),4,20,
+baroness_von_bon_bon,4,20,
+barn-flakes,1,20,
+bark!_(artist),1,20,
+barely_visible_knot,0,20,
+barawerewolf,1,20,
+baothghalach,1,20,
+banjies,1,20,
+bangam_academy_(copyright),3,20,
+banded_arms,0,20,
+banana_magazine,0,20,
+bamboo_forest,0,20,
+baltomutt,1,20,
+ball_rest,0,20,
+ball_jointed_doll,0,20,
+baliyo,4,20,
+balan_(balan_wonderworld),4,20,
+balaa_(character),4,20,
+baitong9194,1,20,
+bagworm_(artist),1,20,
+baggy_(artist),1,20,
+baelin_vitrin,4,20,
+bade_(rain-horse),4,20,
+background_smoke,0,20,
+backdrop,0,20,
+babs,4,20,
+b4llistikb34n,1,20,
+azulalapis,1,20,
+ayndrew,1,20,
+ayloulou,1,20,
+aylornia,1,20,
+avii_cinderfeather,4,20,
+aviation,0,20,
+avery_(ozawk),4,20,
+automatic_weapon,0,20,
+aurora_(sulferdragon),4,20,
+aurinaka,4,20,
+atv,0,20,
+atticus_(infinity_train),4,20,
+atta_(gahowolf),4,20,
+atlas_(avali),4,20,
+athyn,4,20,
+atari_controller,0,20,
+asylum_demon,4,20,
+asura_(rinkai),4,20,
+astropandaart,1,20,
+astro_(astro_ferret),4,20,
+assassination,0,20,
+ass_drill,0,20,
+aspenbear,1,20,
+ashley_nichols,1,20,
+ashley_(sockrateesy),4,20,
+aseysh,1,20,
+aryte,4,20,
+artsyrobo,1,20,
+artsy,1,20,
+artiskarushi,1,20,
+arti_(alfredblaze),4,20,
+arthurleoufdu60,1,20,
+artejaxton,1,20,
+art_dump,0,20,
+art_(herr_wozzeck),4,20,
+arnold_the_pitbull,4,20,
+arne,5,20,
+arms_over_edge,0,20,
+arms_down,0,20,
+armbands_(marking),0,20,
+arma_(demon's_crest),4,20,
+arm_wrapping,0,20,
+arm_on_chest,0,20,
+arm_between_breasts,0,20,
+arkthewoff,4,20,
+arkkin,5,20,
+arkanum_zilong,1,20,
+aria_the_espeon,4,20,
+aria_snow,4,20,
+ares,4,20,
+arekusanderu,4,20,
+arden,4,20,
+ardana_(oc),4,20,
+arctovish,5,20,
+archilycant,1,20,
+archangel,5,20,
+arch_(goodornot),4,20,
+arcas,4,20,
+arbok_(livinlovindude),4,20,
+araquanid,5,20,
+aralyn,4,20,
+araelkins,1,20,
+aquilus,4,20,
+aquarius_(zodiac),4,20,
+apus,4,20,
+appleseed_(artist),1,20,
+apefromspace3,1,20,
+aoshi2012,1,20,
+aoi_(calli),4,20,
+anus_expansion,0,20,
+anthrocon,3,20,
+ante_(ante_flan),4,20,
+anne,4,20,
+annamaria,4,20,
+anlysia,4,20,
+ankles_together,0,20,
+ankle_jewelry,0,20,
+anju,4,20,
+anitech,1,20,
+animal_hat,0,20,
+angelica_(ashkelling),4,20,
+andy_vazquez_(usuario2),4,20,
+anastasia_(kalahari),4,20,
+anabelle_(animal_crossing),4,20,
+ana_rose,4,20,
+amy_sasahara,4,20,
+amy_(flash_draw),4,20,
+amp_(metrochief),4,20,
+amp_(amphissal),4,20,
+amour,4,20,
+amorey,4,20,
+among_us_eyes,3,20,
+amon_(epicbassface),4,20,
+ammodytes,4,20,
+amidnarasu,1,20,
+amethystos,1,20,
+american_staffordshire_terrier,5,20,"american_staffordshire,amstaff,staffordshire_terrier"
+amelia_(mistpirit),4,20,
+ambrosine_(snowyfeline),4,20,
+ambiguous_penetrating_ambiguous,0,20,ag/p/ag
+ambience,0,20,
+amberflame,1,20,
+amber_(gem),0,20,
+amailemon,1,20,
+amabie,5,20,
+alyx_(tiredfeathers),4,20,
+alundra,4,20,
+aluminum_container,0,20,
+alto,1,20,
+alternate_cutie_mark,0,20,
+alphamon,5,20,
+alpha_(aisu),4,20,
+alpacinosbaby,1,20,
+alnasl_(lark),4,20,
+alligator_snapping_turtle,5,20,
+alliance,0,20,
+allergic_reaction,0,20,
+alkhimow,1,20,
+aliv141,1,20,
+alina_(winter.kitsune),4,20,
+alien_queen,4,20,
+alice_(tsubasa1110),4,20,
+alice_(insomniacovrlrd),4,20,
+alex_the_dilophosaurus,4,20,
+alex_(daria_mcgrain),4,20,
+alessandra_(scream),4,20,
+albalbalb,1,20,
+alator,1,20,
+alabaster_(daikuhiroshiama),4,20,
+al-an_(subnautica),4,20,
+akuma_caracal,4,20,
+akor,1,20,
+akki_cnmn,1,20,
+akitary,1,20,
+akina_(eradragon),4,20,
+akeroh,4,20,
+akatsuki_no_guuru,1,20,
+akasiosio,1,20,
+akali,4,20,
+ajishio,1,20,
+ainoko,4,20,
+aiden_(kadiboudacz),4,20,
+aiassis,4,20,
+aianchor,1,20,
+agura_(pixiv),1,20,
+aggressive_humping,0,20,
+agentagnes,1,20,
+against_object,0,20,
+afterword,0,20,
+affectos,1,20,
+afezeria1844,1,20,
+aeywon,4,20,
+aethial,4,20,
+aether_(genshin_impact),4,20,
+aedira,4,20,
+advent,5,20,
+adult_on_baby,0,20,
+adrien_warmher,4,20,
+adrian_skunk,4,20,
+adreea,4,20,
+adjustedbicuspid,1,20,
+adam_flint,4,20,
+acira_selvrica,4,20,
+acesential,1,20,
+acediaxailem,1,20,
+ace_(lumar),4,20,
+accidental_penetration,0,20,
+abyss_dragon_(kiryu),4,20,
+abyss,0,20,
+absinthe_(drink),0,20,
+abigail_hardscrabble,4,20,
+abel_(dmfa),4,20,
+abby_and_gale,4,20,
+abby_(lordy_dia),4,20,
+abbi_(slates1n),4,20,
+abbbbbbk(,4,20,"abby_(tpp),abby_(twitch_plays_pokemon),abby_(twitch_plays_pokémon),abby_(twitch_pokemon),abby_(twitch_pokémon)"
+aaru_(tenrake_chaya),1,20,
+aarqon,1,20,
+aaron_(fuf),4,20,
+aaron_(caldariequine),4,20,
+a-02,1,20,
+<:<,0,20,
+8ud,4,20,
+6kix,1,20,
+5tarex,1,20,
+4_tentacles,0,20,
+3sdice,1,20,
+37:18,7,20,18.5:9
+31_minutos,3,20,
+30:23,0,20,
+2wuff,1,20,
+2ll2l,1,20,
+17th_century,7,20,
+15:14,7,20,
+1234hdpa,1,20,
+10_souls,3,20,
+0c95yzr015ps0j5,1,20,
+0611_shokun,1,20,
+zuri_(colty8),4,19,
+zurdo_(zurdomon),4,19,
+zunaha,1,19,
+zspartancats,1,19,
+zombieartz,1,19,
+zoel_no_one,1,19,
+zoe-chan,1,19,
+ziggy_fox_(character),4,19,
+ziggy_(character),4,19,
+ziffir_(character),4,19,
+zhirone,1,19,
+zev_(votm),4,19,
+zeus_(zeuspegasus13),4,19,
+zertia_amurova,4,19,
+zerr,1,19,
+zerozero,1,19,
+zero_(ninetales12300),4,19,
+zephyra_(suicune),4,19,
+zender,4,19,
+zenandkoi,1,19,
+zen_(unusualboo54),4,19,
+zem_(artist),1,19,
+zelue,1,19,
+zelryem,4,19,
+zeke_wolf,4,19,
+zebra_hunny,4,19,
+zealot,1,19,
+zatani,4,19,
+zaruko,1,19,
+zarry_dawn_takayama,4,19,
+zaron_naku_(zaron-naku),4,19,
+zarland_rex,4,19,
+zapperthecat,1,19,
+zapped,0,19,
+zanky,4,19,
+zani_toshkin,4,19,
+zanclife,1,19,
+zamzi_(votm),4,19,
+zak'thar,4,19,
+zahra_(dragonlordfluffyxd),4,19,
+zaff,1,19,
+zack_the_bearded_dragon,0,19,
+yuzuruha,4,19,
+yuuneechan801,1,19,
+yushi_ketsalkoatl,1,19,
+yusa_(polygonheart),4,19,
+yumi_leaf,4,19,
+yule,0,19,
+yulazzle_(evov1),4,19,
+yuki_(yukithemalo),4,19,
+yuki_(mewyfox),4,19,
+yui_(taracod),4,19,
+yugo_ogami,4,19,
+yoshirotoga,1,19,
+yolfrin,4,19,
+yoghurt_(pazymomo),4,19,
+yiri_(milkand),4,19,
+yiga_clan,0,19,
+yeon-kun,1,19,
+yellow_seam_briefs,0,19,
+yellow_sandals,0,19,
+yellow_guy_(dhmis),4,19,
+yamuretsu,1,19,
+yamino,1,19,
+yakob_(farran_height),4,19,
+xymor,1,19,magister_(artist)
+xxhotspotxx,1,19,
+xxcougarxx,1,19,
+xx56su_x,1,19,
+xiuhcoatl_(laziestsloth),4,19,
+xin_(salkitten),4,19,
+xhias,4,19,
+xersa_thorne,4,19,
+xepher,4,19,
+xenny_(moonrunes),4,19,
+xeniyy,1,19,
+xanadu7,1,19,
+xana7274,1,19,
+wywyrm,1,19,
+wyfoo,1,19,
+wurt,4,19,
+wulfondraws,1,19,
+wuldonyx,4,19,
+writing_utensil_in_hair,0,19,
+wr_(pixiv),1,19,
+world_gates,3,19,
+woo_long,4,19,
+wolingopaws,3,19,
+wolfie-feral,4,19,
+wolf_(wolfkidd),4,19,
+wolf_(sekiro),4,19,
+withered_golden_freddy_(fnaf),4,19,
+witcher_(character),4,19,
+witch_(eneirem),4,19,
+wishful_thinking,0,19,
+wipes,0,19,
+winx_club,3,19,
+wing_hold,0,19,
+willson,1,19,
+wild_dog_(disambiguation),6,19,wild_dog
+wilcanyx,4,19,
+wiitenuant,1,19,
+wiiffler,4,19,
+whyra,1,19,
+whump,0,19,
+whosadaman,1,19,
+whooosaku,1,19,
+white_rope,0,19,
+white_fatalis,5,19,
+white_abdomen,0,19,
+whirlpool,0,19,
+whiplash_(doom),5,19,
+wet_dildo,0,19,
+wet_chest,0,19,
+westt,4,19,
+western_fence_lizard,5,19,western_spiny_lizard
+west_(westfox),4,19,
+west_(nettsuu),4,19,
+wereskunk,5,19,
+weremephitid,5,19,
+weiss_(trololohstuffs),4,19,
+weightlessness,0,19,
+wedding_clothing,0,19,
+wedding_cake,0,19,
+weasyl,3,19,
+weapon_play,0,19,
+weapon_over_shoulder,0,19,
+watergirl,4,19,
+war_thunder,3,19,
+walker,0,19,
+wajirogi,1,19,
+waiting_room,0,19,
+waffles_the_raccoon,4,19,
+wachi_(character),4,19,
+w_(doneru),4,19,
+vyotl,1,19,
+vul,4,19,
+vix_(vixiennevixen),4,19,
+vivian_(valtik),4,19,
+vivian_(quin-nsfw),4,19,
+vivian_(coonkun),4,19,
+virus_(dr._mario),4,19,
+virile_pussy,0,19,
+virgil_(missingkeys),4,19,
+virenth_(character),4,19,
+viper_tobi-kadachi,5,19,
+violet_vortex,4,19,
+vinta_lycaon,4,19,
+vindictus,3,19,
+vincent_lynx,4,19,
+viiperfish,1,19,
+vihor405,1,19,
+vick_timber,4,19,
+vi_(peepance),4,19,
+vhaari,4,19,
+vexa,4,19,
+vestforlast,1,19,
+vesara,4,19,
+versailles,4,19,
+verminshy,1,19,
+verdrusk,1,19,
+vera_(shewiff),4,19,
+ventes,4,19,
+ven_(yeeven),4,19,
+vela_zevon,4,19,
+vel'gahrus,4,19,
+vektra_hektorian,4,19,
+vekrott,1,19,
+vegashasfrozenover,1,19,
+vasco_(vdisco),4,19,
+vaporunny,0,19,
+vanira,4,19,
+vanadiumvalor,1,19,
+vampirechicken,1,19,
+vald_(kuroma),4,19,
+vader_(vader-san),4,19,
+uziah_(darkfox49),4,19,
+uwasa,1,19,
+utility_line,0,19,
+ursula_(toto_draw),4,19,
+uroko,1,19,
+uri'danus,4,19,
+uramiinu,1,19,
+urakumaworld,1,19,
+unsuspecting_victim,0,19,
+uns,1,19,
+unoservix,1,19,
+unodostres123f,1,19,
+uni-boy,1,19,
+underlust,3,19,
+under_armour,3,19,
+una_olor_(moonjava),4,19,
+ultimate_chicken_horse,3,19,
+ukhansson,1,19,
+ugly_cat_(catkitte),4,19,
+ugly_americans,3,19,
+ueno_ebi_sen,1,19,
+udyr_(lol),4,19,
+udderfuck,0,19,
+tylan_hopkins,4,19,
+twoheadedtigress,1,19,
+two_toned,0,19,
+two_tone_towel,0,19,
+two_tone_robe,0,19,
+twitter_username,1,19,
+twiglet,4,19,
+turquoise_clothing,0,19,
+turdus,5,19,
+tuonen-joutsen,1,19,
+tuni,4,19,
+tumorhead,1,19,
+tuggs,4,19,
+tuff,4,19,
+tuesdaylust,1,19,
+tucked_tail,0,19,
+tubing,0,19,
+tube_socks,0,19,
+ttaki,1,19,
+tsume_shiro,4,19,
+tsukasa_kudamaki,4,19,
+tsubami,4,19,
+tsargoth,4,19,
+tryan,1,19,
+trouble:_the_final_chapter,3,19,
+tropical_beverage,0,19,
+troll_(feral),5,19,
+triple_amputee,0,19,
+trigun,3,19,
+trent_(fuze),4,19,
+trembletits,1,19,
+translucent_furniture,0,19,
+transformative_necklace,0,19,
+trancua,1,19,
+tragedy-wolf,1,19,
+traditional_dress,0,19,
+trademark,0,19,
+tracy_(anaugi),4,19,
+tracker_(knottytracker),4,19,
+tp10,1,19,
+tousoni3,1,19,
+totallytits,1,19,
+toryex,1,19,
+torso_injury,0,19,
+torisan,1,19,
+torakuta_(character),4,19,
+torakitchen,1,19,
+tora,4,19,
+top_gun,3,19,
+tonytapetasfm,1,19,
+tongue_in_penis,0,19,
+tomhoshino,1,19,
+tokomon,5,19,
+toilet_paper_dispenser,0,19,
+todd_lockwood,1,19,
+todd_(character),4,19,
+toby_fennec,4,19,
+toby_(tatertots),4,19,
+tlatophat,1,19,
+tito_lizzardo_(character),4,19,
+tiriosh,4,19,
+tipped_ears,0,19,
+tinhotarou,1,19,
+timon_and_pumbaa,3,19,
+timmy_hepper,4,19,
+timer_display,0,19,
+tile_ceiling,0,19,
+tikko_(trashtikko),4,19,
+tikki_(miraculous_ladybug),4,19,
+tiki_bar,0,19,
+tight_tank_top,0,19,
+tigerott,4,19,
+tiffico,1,19,
+tiffany,4,19,
+tiff_crust,4,19,"tiff_krust,tiffany_crust,tiffany_krust,tiffany_tiff_crust,tiffany_tiff_krust"
+tieria,1,19,
+tiercel,4,19,
+tied_balls,0,19,
+tianzhen_xianhua,4,19,
+tia_(karmandel),4,19,
+ti_(tigerti),4,19,
+thux-ei,1,19,
+thunderchaser,1,19,
+thunder_(mlp),4,19,
+thornybush,1,19,
+third_wheel_drive,0,19,
+thigh_lick,0,19,
+thiccino_(mincheeto),4,19,
+theunderdog,1,19,darksilence
+theslateguardian,1,19,chase_shift
+thescorchingdragon,1,19,
+theo_(knights_college),4,19,
+thenicestperson,1,19,
+themed,0,19,
+thellos,4,19,
+theirin,1,19,
+thefastza,1,19,
+theeyzmaster,1,19,
+thebadnewsbear,1,19,
+the_wedding_of_mrs._fox_(gftc),3,19,
+the_star_(tarot),0,19,
+the_snorks,3,19,
+the_moon_(tarot),0,19,
+the_marshmallow_times,3,19,
+the_hookaloof,1,19,
+the_heist,3,19,
+the_empress_(tarot),0,19,
+the_dream_of_the_fisherman's_wife,3,19,
+the_draft_horse,1,19,
+the_doraemons,3,19,
+the_bombshells_(sexyblaziken),4,19,
+the_baskervilles,3,19,
+thatwhitefox,1,19,
+thatdarndragon,1,19,
+that_reddish_dragoness_(merrunz),4,19,
+tetora,1,19,
+tetongu,1,19,
+teto_(ghibli),4,19,
+terwin,4,19,
+tertia_decima,1,19,
+terry_(foxxx321),4,19,
+terra_branford,4,19,
+termiboi,1,19,
+terara_(cherrypretzel),4,19,
+tenur,4,19,
+tenrec_hero,3,19,
+tennegrin,5,19,
+tenebear,1,19,
+tenderness,0,19,
+tendaji,4,19,
+tempist,4,19,
+tedo,4,19,
+teddybearlumpkins,1,19,
+team_(disambiguation),6,19,team
+teagan,4,19,
+teacup_gryphon,5,19,
+tea_tree_(donglysfm),4,19,
+tea_set,0,19,
+tayrawhite,1,19,
+tategami_wolf,4,19,
+task_list,0,19,
+taq,4,19,
+taphonomy,1,19,
+taped_on_glasses,0,19,
+tanya_(jadebrewpaw),4,19,
+tank_(left_4_dead),4,19,
+tamias,1,19,
+tamerlane92,4,19,
+tam_steelpaw,4,19,
+talos_(gummigo),4,19,
+talon_(gargoyles),4,19,
+talo_tsurrat_(nimratu),4,19,
+talking_bella,4,19,
+tali_tigerfish,4,19,
+tal_rex_(artist),1,19,
+taku_(balto),4,19,
+taki_tanuki,3,19,
+taki_(soul_calibur),4,19,
+tajaran,5,19,
+tailsltx,1,19,
+tai_tai_kun,1,19,
+tacophox,1,19,
+tabitha_morris,4,19,
+tabitabi,1,19,
+tabard_only,0,19,
+syunnpei_nakata,0,19,
+sytheras,4,19,
+system_shock,3,19,
+syndra_(bbd-works),4,19,
+syn_(character),4,19,
+sylver_tsuki,4,19,
+sylvaur,1,19,
+swimwear_around_one_leg,0,19,
+sweer-tomato,1,19,
+swan_girl_(study_partners),4,19,
+svetlana_(cnc),4,19,
+sven_(tzarvolver),4,19,
+suzie_(sindiewen),4,19,
+suv,0,19,
+suspiciously_wealthy_furry,4,19,
+surfacing,0,19,
+superomegawolf3700,4,19,
+supernatural_(tv_show),3,19,
+super_powers,0,19,
+sunoko24,1,19,
+sunny_(bunnynamedsunny),4,19,
+sungho,1,19,
+sundance_(sheer),4,19,
+sumiso,1,19,
+sulfurado,1,19,
+sukyu_juju,4,19,
+sukiyo,1,19,
+sukhoi,3,19,
+sugarjester,1,19,
+sugar_bits,3,19,
+sugar_(kitfox-crimson),4,19,
+sucker_(anatomy),0,19,
+succubamon,4,19,
+styx,4,19,
+stupidgit,1,19,
+stumpy,1,19,
+studio_killers,3,19,
+studded_nipple_ring,0,19,
+studded_cock_ring,0,19,
+structure,0,19,
+striped_jacket,0,19,
+stripe_(pinkbutterfree),4,19,
+streuner,4,19,
+streetwear,0,19,
+strapon_with_face,0,19,
+stranillafennebi,1,19,
+strange-fox_(fursona),4,19,
+stout_heart,4,19,
+story_delight,1,19,totaldestruction77
+stormy,4,19,
+stormfeder,1,19,
+storage,0,19,
+stop_gesture,0,19,
+stookybum,1,19,
+stone_lantern,0,19,stone_lanterns
+still,0,19,
+stick_arms,0,19,
+steroids,0,19,
+stepladder,0,19,
+stephen_mavis,4,19,
+stella_asher,4,19,
+steel_(artist),1,19,
+statistics,0,19,
+starskipper,4,19,
+starling_fox,4,19,
+starburst_pupil,0,19,
+star_dragoner_jackknife,4,19,"findar_the_100th,jack_(buddyfight),jackknife_dragon,jackknife_dragon_(buddyfight)"
+stairfacts,1,19,
+stacy_richards,4,19,
+stacy_(gvh),4,19,
+stacia,4,19,
+st_storynode,1,19,
+sssir8,1,19,
+squirm,0,19,
+squeezing_breast,0,19,
+squeezable,1,19,
+spykezap,4,19,
+springbun,1,19,
+spread_sheath,0,19,
+spotted_skirt,0,19,
+spotted_headgear,0,19,
+spotted_feet,0,19,
+spookyboi,1,19,
+spookiarts,1,19,
+splendidsplend8,1,19,
+spirit_dragon_(housepets!),4,19,
+spiny_lizard,5,19,"fence_lizard,sceloporus"
+spinning_on_penis,0,19,
+spiked_arms,0,19,
+spicydurassno,1,19,
+spicybunboi,1,19,
+spellsx,1,19,
+speedhumps,1,19,
+speed_bag,0,19,
+spectrum_spectralis,4,19,
+spazz_(stripes),4,19,
+spaz_jackrabbit,4,19,
+spawnofchernobog,1,19,
+sparx_(badgrrl),4,19,
+sparklepaws,1,19,
+spark_kusemurai,4,19,
+space_needle,0,19,"space_needle_building,the_space_needle"
+soza,4,19,
+soya_akane,4,19,
+sousaphone,0,19,
+soup_du_silence,1,19,
+soun,4,19,
+sotcho,1,19,
+sorren,4,19,
+sora_(aresanchor),4,19,
+soppip,4,19,
+sophiepoof,1,19,
+sooxand,1,19,
+sonic_characters_walking_into_stores,3,19,
+somesortacreature,1,19,
+somarin,4,19,
+solidcolorart,1,19,
+soleil_(animal_crossing),4,19,
+sol_badguy,4,19,
+soji_gr,1,19,
+software,0,19,
+softscale,1,19,
+soft_bondage,0,19,
+sofia_(hige22),4,19,
+sockhungryclutz,1,19,
+social_media_milestone,0,19,
+snowy_cheetah,4,19,
+snowkari,4,19,
+snowflakesheep,1,19,
+snowdrop,4,19,
+snooow,1,19,
+snicker,0,19,
+snek_ad,1,19,
+smokestack,0,19,
+smoke_grenade,0,19,
+smiley-fakemon,1,19,smiley_fakemon
+smiler_(the_backrooms),5,19,
+smallbu,3,19,
+slut_print,0,19,
+slush_(sound_effect),0,19,
+slurred_speech,0,19,
+slipperyt,1,19,
+slinx_(character),4,19,
+slime_(svtfoe),4,19,
+slim_human,0,19,
+sleepylp_(copyright),3,19,
+sleeping_on_another,0,19,
+slave_crest,0,19,
+slap_up_party_arad_senki,3,19,
+skyriderplus,1,19,
+sky(mindoffur),4,19,
+skushi,1,19,
+skull_clip,0,19,
+skrelp,5,19,
+skottichan,1,19,"jaggyd,lexikimble"
+skintight_bodysuit,0,19,
+skihi,4,19,
+skaarj,5,19,
+sk4ndalous,1,19,
+situth,4,19,
+sitarra,4,19,
+siro_komainu,1,19,
+siripim,1,19,
+siren_(biffalo),4,19,
+sirdeeviant,1,19,
+sirareyubi,1,19,
+sinzui,1,19,
+simsmaster,1,19,
+simion,4,19,
+simba_(simba09),4,19,
+silvvy,4,19,
+silverplatin,1,19,
+silverbunny,1,19,
+silver_face,0,19,
+silver_(lightdragon92),4,19,
+silvac,4,19,
+silva_(renthedragon),4,19,
+silence_suzuka_(pretty_derby),4,19,
+sika,4,19,
+sigil_(torfur),4,19,
+sigh-otter,1,19,
+siergiej,4,19,
+sideroca_(arknights),4,19,
+side-blotched_lizard,5,19,"side-blotch_lizard,side_blotch_lizard,side_blotched_lizard,uta_(lizard),uta_lizard"
+sich_rich,1,19,
+shylily,4,19,
+shybred,1,19,
+shy_(notsoshy),4,19,
+shuttle,0,19,
+shutters,0,19,
+shushikitty,1,19,
+shrinking_belly,0,19,
+shpo,1,19,
+shower_masturbation,0,19,
+shoulder_holster,0,19,
+shorter_female,0,19,
+shori_d,1,19,
+shockstarbaby,1,19,
+shlone,4,19,
+shizuya,4,19,
+shiva'thir_(s-nina),4,19,
+shiroashi,1,19,
+shiro_the_kitten,4,19,
+shirley_(joaoppereiraus),4,19,
+shiratsuki_shiori,1,19,
+shion_humine,1,19,
+shiny-lilligant,1,19,
+shinonizaru,1,19,
+shin_godzilla,4,19,
+shimomo,4,19,
+shimmi_(artist),1,19,
+shifty.imp,1,19,
+shiftandatu,0,19,
+sheyk,3,19,
+shenti,4,19,
+shen_art,1,19,
+shelly_tar,1,19,
+sheico,1,19,
+sheena,4,19,
+sheathed_knife,0,19,
+sheath_peek,0,19,
+shay_(borba),4,19,
+shaved_hair,0,19,
+sharley,1,19,
+sharing_milkshake,0,19,
+sharicgshep,1,19,
+shanika,4,19,
+shamira_(doomthewolf),4,19,
+shalill,4,19,
+shadowovermars,1,19,
+shadowhide,1,19,
+shadowball,1,19,
+shade_midnight,4,19,
+shade_demonshy,4,19,
+sex_or_die,0,19,
+settlement,0,19,
+setouchi,1,19,
+seth_(fumiko),4,19,"seth_(fumi),seth_(fumikotik),seth_(great_troubles),seth_(stardust_kids)"
+sergeant_(xenopera),4,19,
+serene,0,19,
+serbert_(iwanttodie),4,19,
+sepp,4,19,
+sephirothiel,4,19,
+seme87,1,19,
+self_threading,0,19,
+self_empl0yed,1,19,
+selena_(leilan),4,19,
+sejantlamb,1,19,
+seiya_(aggretsuko),4,19,
+sei,4,19,
+seestaar,1,19,
+secretary_tammy,4,19,"tammy_(t.u.f.f._puppy),tammy_(t.u.f.f_puppy),tammy_(tuff_puppy)"
+sebastian_(disambiguation),6,19,sebastian
+seasalt_(seniorseasalt),4,19,
+searchlight,0,19,
+sean_(pickles-hyena),4,19,
+sean_(archmage_of_amber),4,19,
+seadramon,5,19,
+seabreeze_gladius_(seabreeze629),4,19,
+sdteddybear,1,19,
+scuttlebug,5,19,
+scratchy_(the_simpsons),4,19,
+scrapper_(splatoon),5,19,
+scp-1471-a-96,4,19,
+scourge_beast_(bloodborne),5,19,
+scott_(bit-bite),4,19,
+scones_(artist),1,19,
+scironex,1,19,
+sciigglescrafty,1,19,
+schlurpin,1,19,
+scepera,4,19,
+scarlet_(avinz),4,19,
+scarification,0,19,
+scarfy,5,19,
+scampikek,1,19,
+scales_and_honor,3,19,
+scalenes,0,19,
+sayu_(nsr),4,19,
+sawhorse,0,19,
+saucy_(character),4,19,
+satoshi_(pixiv),1,19,
+satomi_(purplelemons),4,19,
+sashimi_(gynoidherring),4,19,
+sarah_hawkins,4,19,
+sarah_(acebird1234),4,19,
+sapphynhoa,1,19,
+sapphicslob,1,19,
+sanmamiya,1,19,
+sane_(skbld),4,19,
+sandyrex,1,19,
+sandwich_grill,1,19,
+sandvich_(team_fortress_2),0,19,sandvich
+sandra_and_woo,3,19,
+sand_sculpture,0,19,
+sanctioned13,1,19,
+sanas,4,19,
+sanaa,4,19,
+samuel_(themuffinly),4,19,
+sampson_(alex.fetter),4,19,
+sambers_(character),4,19,
+samantha_(beepunz),4,19,
+sam_sheepdog,4,19,
+sam_(grimart),4,19,
+saltorii,1,19,
+sally_(fumingstone),4,19,
+sallice_(brolaren),4,19,
+saliva_on_head,0,19,
+saliva_on_body,0,19,
+sal_(password),4,19,
+sakurayahonpo,1,19,
+sairo,4,19,
+saika,4,19,
+sai_(cyphrus9),4,19,
+sahlohkin_(editor),1,19,
+sagittarius_(zodiac),4,19,
+sage_the_sloth,4,19,
+sagabel,1,19,
+safiel,4,19,
+safety_moth,4,19,
+sadie_(morph),4,19,
+sad_zarya,1,19,
+sabrena_valiche,4,19,
+sabergin,1,19,
+s-dash,1,19,
+rythmit,1,19,
+ryshokka_syre,4,19,
+ryokuchaism,1,19,
+ryna_o'brian,4,19,
+rymora,4,19,
+ryka,4,19,
+ryder_the_pirate_(possumgod),4,19,
+ryanbuffet,1,19,
+ryan_grant,4,19,
+ryan_(disambiguation),4,19,ryan
+ryan_(azeiron),4,19,
+ruuji,1,19,
+ruu_(tsukune_minaga),4,19,
+ruth_(hi-ku),4,19,
+rurydrawings,1,19,
+runde,1,19,
+ruick,4,19,
+ruhisu,1,19,
+ruffled_fur,0,19,
+rudziel,1,19,
+ruby_ring,0,19,
+ruby_panda(artist),1,19,
+ruby_(chooy64),4,19,
+ruby-throated_hummingbird,5,19,ruby_throated_hummingbird
+rubtox,1,19,
+rubis_(azserfy),4,19,
+rubbing_crotch,0,19,
+rubber_dress,0,19,
+roz_stripe,1,19,
+roycnat,1,19,
+roy_mason,4,19,
+roy-land,1,19,
+roxy_walters,4,19,
+roxy_(peculiart),4,19,
+roxley,4,19,
+roxanne_(pokemon),4,19,roxanne_(pokémon)
+rowyin,4,19,
+roulette,0,19,
+rouen_(eipril),4,19,
+rossihype,1,19,
+rossali_(character),4,19,
+rosemarie,4,19,
+rosefinch,5,19,
+rose_the_foxxo,4,19,
+rosco_(shadowdog),4,19,
+roquet,4,19,
+roper,5,19,
+rope_collar,0,19,
+rooter_(anti_dev),4,19,
+rookie_(club_penguin),4,19,
+rookidee,5,19,
+rook_(greyrook),4,19,
+roodboy,4,19,
+rommel_(gundam_build_divers),4,19,
+romeo_(cosmiclife),4,19,
+rolling_thunder,1,19,
+rokurokubi,5,19,
+rokki,4,19,
+rokkerth,1,19,
+roki_(hirokix),1,19,
+roj_(vju79),4,19,
+rogerrog,1,19,
+rodimus,4,19,
+rod_(r_96),4,19,
+rock_star,0,19,
+rock_lee,4,19,
+rock_drake,5,19,
+robyn_(shakotanbunny),4,19,
+robuttschei,1,19,
+robert_(rov),4,19,
+roarwolf,1,19,
+roantiger,4,19,
+rit_(zi_ran),4,19,
+risorahn,4,19,
+rinny_(character),4,19,
+ringo-0,1,19,
+rineka,1,19,
+rin_(frenky_hw),4,19,
+rimpala,1,19,
+rime_(9tales),4,19,
+rime,4,19,
+riley_(hitsuji),4,19,
+riku,1,19,
+rikka_(rajak),4,19,
+rika_(rilex_lenov),4,19,
+riilitha,4,19,
+riesling,4,19,
+ricka_(wolfling),4,19,
+rhys,4,19,
+rhnn531136,1,19,
+rhineheim,1,19,
+rez_(ldr),4,19,
+reyna_(reynafox),4,19,reyna_(forfaox)
+revythemagnificent,1,19,
+reversible,0,19,
+reverse_(reversecall),4,19,
+reversal_of_the_heart,3,19,
+reverend_wolf_(jam),4,19,
+revan_grey,4,19,
+resin,0,19,
+resi_(summon_night),4,19,
+reptilies-conder,1,19,
+replicant,5,19,
+renepolumorfous,1,19,
+rena_benden,4,19,
+remus_(davosyeen),4,19,
+remekeirstead,1,19,
+relic,0,19,
+reinamon,4,19,
+reign_(scfiii),4,19,
+rei_darkblade,4,19,
+rehqwq,1,19,
+reginald_(zaviel),4,19,
+regenerator_(resident_evil),5,19,
+regalia_(artist),1,19,
+reenub,1,19,
+rednef,4,19,
+red_lizard_(skiesofsilver),4,19,
+red_leggings,0,19,
+red_(vixen_logic),4,19,
+red_(transistor),4,19,
+record_of_ragnarok,3,19,
+reclining_on_bed,0,19,
+receipt,0,19,
+rebreather_bag,0,19,
+reboot,3,19,
+rebis,1,19,
+rebel_born,3,19,
+rebecca_knight,4,19,
+rea,1,19,
+razakwolf,4,19,
+raz_von_coon,4,19,
+raz_buckner,4,19,
+raz_(dafuzz),4,19,
+ray_the_snivy,4,19,
+ray_neon,4,19,
+raven2dx,1,19,
+ravat_larak,4,19,
+rauke,4,19,
+rate,0,19,
+rataraa_(r-a-s-p),4,19,
+rasp777,1,19,
+raphial_(character),4,19,
+raphael_yppreah,4,19,
+ransaryong,1,19,
+ranpan21,1,19,
+randis,1,19,
+rancor,5,19,
+rampage_(game),3,19,
+ramires,1,19,
+raitos,4,19,
+rainbow_brite,3,19,
+rainbow_arm_warmers,0,19,
+rain_(doublepopsicle),4,19,
+raijen,4,19,
+raidouzero,1,19,
+rai_(lagoon_lounge),4,19,
+rahne,4,19,
+raf_grassetti,1,19,
+rae_(gunnmx),4,19,
+rachelle,4,19,
+rach_(dobieshep),4,19,
+racecarart,1,19,
+raccoon_douglas_(character),4,19,
+qwerty-0,1,19,
+qwert5,1,19,
+quokka,5,19,
+quinnofhearts,1,19,
+quincy_goatee,4,19,
+queen_diana,4,19,
+queen_callista,4,19,
+quasi99,1,19,
+quad_breasts,0,19,
+qaoxia,1,19,
+pyrogatto,1,19,
+pylate,1,19,
+pussy_juice_in_own_mouth,0,19,
+pussy_creature,5,19,
+puruuni,1,19,
+pursuit,0,19,
+purple_teeth,0,19,
+purple_pussy_juice,0,19,
+purple_nail_polish,0,19,
+purple_heart_(neptunia),4,19,
+purple_beard,0,19,
+punk_mur,4,19,
+pumzie_(character),4,19,
+puff_moonwatcher,4,19,
+public_place,0,19,
+ptptpt,1,19,
+psycho_(character),4,19,
+psicarii,1,19,
+pseudo_balls,0,19,
+prowler_(doom),5,19,
+prototype_(game),3,19,
+promotional_video,0,19,
+prometheus_(dingo),4,19,
+princess_nidra,4,19,
+priestrevan,1,19,
+pride_color_sticker,0,19,
+pride_color_palette,0,19,
+pride_color_hoodie,0,19,
+price_for_freedom_avarice,3,19,
+pred_pov,0,19,
+precum_on_body,0,19,
+precum_in_pussy,0,19,
+powfooo_(character),4,19,
+powerline_(goof_troop),4,19,
+poverty_(p9),1,19,
+potato_(artist),1,19,oneboredpotato
+posterbunbun,4,19,
+posionjoke,1,19,
+porn_bunny,4,19,
+pork_baozu,1,19,
+porika,1,19,
+poptart_the_tiger,4,19,
+popple,4,19,
+ponytail_pull,0,19,
+ponytail_grab,0,19,
+pongpongrun,1,19,
+poncho_(animal_crossing),4,19,
+pompom_(b-ern),4,19,
+pomme,4,19,
+pom_(seel_kaiser),4,19,
+polybius,3,19,
+polkin,1,19,
+polki,1,19,
+poleon,4,19,
+polarpandemonium,1,19,
+pokémon_underwear,0,19,
+poku,1,19,
+pokemutt,1,19,
+poju_(geir),4,19,
+poisondynamite,1,19,
+pod_042,4,19,
+pm,0,19,
+plushifications,1,19,
+plus5pencil,1,19,
+ploommy,1,19,
+plasma_grunt,4,19,team_plasma_grunt
+planter,0,19,
+planes,3,19,
+plaid_apron,0,19,
+pixiepowderpuff,1,19,
+pixie_and_dixie_and_mr._jinks,3,19,pixie_and_dixie_and_mr_jinks
+pivot,4,19,
+pistol_(mochashep),4,19,
+pisces_(zodiac),4,19,
+pisces_(symbol),0,19,
+piru_(girokett),4,19,
+pirate_costume,0,19,
+piping_bag,0,19,
+pinstripe_pants,0,19,
+pinoren,1,19,
+pinned_arm,0,19,
+pink_teeth,0,19,
+pink_shell,0,19,
+pink_labia_minora,0,19,
+pink_headphones,0,19,
+pink_dress_shirt,0,19,
+pincurchin,5,19,
+pin_the_tail_on_the_donkey,0,19,
+pilot_hat,0,19,
+pikaristar,1,19,
+pihii3,1,19,
+pidge_(hladilnik),4,19,
+pickles_(picklesjars),4,19,
+pick-up_line,0,19,"pick-up-line,pick_up_line,pickup-line,pickup_line"
+pianta_(super_mario_sunshine),5,19,
+photoshop_grass_brush,0,19,
+photographed_drawing,0,19,
+photocopying_character,0,19,
+phoebe_(pokemon),4,19,phoebe_(pokémon)
+philomela_smithwrought,4,19,
+petsuit,0,19,
+peter_moosebridge,4,19,
+peppermintwolf,1,19,
+peppermint_(candy),0,19,peppermint_candy
+pepper_ebonson,4,19,
+pepper_(squirrelman),4,19,
+pepper_(graceful_k9),4,19,
+penis_pushing_uvula,0,19,
+penis_in_nose,0,19,
+penis_hair,0,19,
+penelope_weiss,4,19,
+pencil_in_hair,0,19,
+peleng,5,19,
+pegleg_pete,4,19,
+peebee,4,19,
+pedals,0,19,
+paw_censor,0,19,
+pavel_(fleetwoodbrak),4,19,
+paul_kidd,1,19,
+pattern_furniture,0,19,
+patch_the_akita,4,19,
+pat_(outta_sync),4,19,
+pastry_donkey,1,19,
+partb_(artist),1,19,
+parasyte,5,19,
+paranoid,0,19,
+papyrus_(material),0,19,
+paprika_(sapphinarose),4,19,
+paper_paws,1,19,
+paper_chain,0,19,
+pants_around_ankle,0,19,
+pantheon_(lol),4,19,
+pandaj_(artist),1,19,
+panazel_maria,4,19,
+pamf,1,19,
+palidoozy,1,19,
+pained_look,0,19,
+padded_sergal,4,19,
+packing_peanuts,0,19,
+packaged_console,0,19,
+pacato,4,19,
+p812p,1,19,
+p4n1,1,19,
+overmare,1,19,
+out_of_position,3,19,
+ouisch,1,19,
+ouija,0,19,
+otterkari,4,19,
+osomatsu_matsuno,4,19,"osomatsu_(character),osomatsu_(osomatsu)"
+osnach_kristina,1,19,
+orion_(tricktrashing),4,19,
+orion_(theirishwah),4,19,
+orinvega,1,19,
+orias_art,1,19,
+orangetavi,1,19,
+orange_pillow,0,19,
+orange_antennae,0,19,orange_antenna
+orange_(among_us),4,19,
+oppka,4,19,
+open_container,0,19,
+opal_(steven_universe),4,19,
+oozee,1,19,
+onyx_kingstone,4,19,
+onmodel3d,1,19,
+onibi,1,19,
+on_ceiling,0,19,
+omu,4,19,
+omegapex,1,19,
+omega_wasp,5,19,
+omatic,1,19,
+omarururu,1,19,
+olympia_vale,4,19,
+olive_(olivepup_00),4,19,
+oka_takeshi,1,19,
+oitsukigami_(onmyoji),4,19,
+ohmudak,1,19,
+oh_my,0,19,
+ogren,4,19,
+officer_jackson,4,19,
+ocean_jewel,1,19,twistedpeppermintstars
+object_in_uterus,0,19,
+o_woe,1,19,
+o-ring_loincloth,0,19,
+nyx_neferu,4,19,
+nyto,1,19,
+nyna,4,19,
+nymera,4,19,
+nwopi,1,19,
+nurple,1,19,
+nure-onna,5,19,
+nun_bun_(niking),4,19,
+num8,4,19,
+nukki_snowpaw,4,19,
+nukisan_wolf,1,19,
+nudiedoodles,1,19,
+nude_andromorph,0,19,
+nsfw_comix,1,19,
+nrj_275,1,19,
+nowolf,4,19,
+novanbean_(artist),1,19,
+nova_(srmthfg),4,19,
+notquitehuman,1,19,
+notes_of_hearts,3,19,
+nose_tube,0,19,
+nose_plugs,0,19,
+norway,0,19,
+noraneko,1,19,
+noki-uri,4,19,
+nokamarau,3,19,
+noivern_(asbel_lhant),4,19,
+noise-tanker,1,19,
+noctis_(crazed-xeno),4,19,
+no_smoking,0,19,
+nitzleplick,1,19,
+niqab,0,19,
+nippleless_bra,0,19,
+nipple_milking,0,19,
+ningukt,1,19,"ukata,うかた"
+nikolokinina,1,19,
+nikita_(disambiguation),4,19,
+niki_(dofunut),4,19,
+niina_(woadedfox),4,19,
+nightcorelights,1,19,
+nico_(bastriw),4,19,
+nican,4,19,
+nialaaaaaaa,1,19,弐新
+next_door,0,19,
+newworld-9,1,19,
+new_blood_interactive,3,19,
+netflix_and_chill,0,19,
+net_ball,0,19,
+nerscyra,1,19,
+nerior,1,19,
+nerian,1,19,
+nerf_now!!,3,19,
+nerd-mode,1,19,
+neptune_(plaguedogs123),4,19,
+neomi_(golderoug),4,19,
+neoanton_(artist),1,19,neoanton
+nelson_jenkins,4,19,
+nekomata_(smt),4,19,
+nekojara,4,19,
+nekogirl1257,1,19,
+neko_(strawberryneko),4,19,
+nekan_(character),4,19,
+neesha_(pilpil),4,19,
+nazuuuu,1,19,
+nazi_armband,0,19,
+naza_(character),4,19,
+nauko,1,19,
+nature_spirit,5,19,
+natascha_maxim,4,19,
+natalya_(peachnatto),4,19,
+natalie_(d3rped),4,19,
+narynn,1,19,
+narwhal_tan,4,19,
+nar'een,4,19,
+napkit,1,19,
+naomisnaughtynook,1,19,
+nao901,1,19,
+nano-risk,1,19,rengrimm
+naniwadou,1,19,
+nani_(velociripper),4,19,
+nancy_(macmegagerc),4,19,
+nanaki777,1,19,
+nanadagger,1,19,
+namjalicious,1,19,
+name_in_heart,0,19,
+namazu,5,19,
+nakase,1,19,
+nakajima_konta,1,19,
+nagisabus,1,19,
+nagasaki_wonderful_polyester,1,19,cco00oo
+nabbit,4,19,
+naanahstnil,1,19,
+mywool,1,19,
+mysticsabreonic,1,19,mysticsabreonic_(artist)
+mystic_spring_oasis,0,19,
+mysthick_(mr_valentine00),4,19,
+mynt_(kittery),4,19,
+mxxxiii,1,19,
+mutual_slit_penetration,0,19,
+mustard_(artist),1,19,welcometothevoid
+muse,4,19,
+murdoc,4,19,
+mumble,4,19,
+multiple_vibrators,0,19,
+multicolored_vest,0,19,
+multicolored_sunglasses,0,19,
+multicolored_rug,0,19,
+multicolored_chest,0,19,
+mulmangcho,4,19,
+mrfroggy,1,19,
+mrerrant,1,19,
+mrdannyboy,1,19,
+mr._polywoo,4,19,
+mr._blue_(artist),1,19,
+mouse_guard,3,19,
+mottec,1,19,
+motion_blur_trail,0,19,
+moth_(artist),1,19,
+mosin_nagant,0,19,
+morusaart,1,19,
+moro_(fiddleafox),4,19,
+mori_calliope,4,19,
+morgana_(the_pirate's_fate),4,19,
+morgan_(horncatte),4,19,
+morbius,3,19,
+morbidly_obese_taur,0,19,
+moonshot,4,19,
+moon_ball,0,19,
+moodang,1,19,
+moodam,4,19,
+mooco_(artist),1,19,
+moo_(atryl),4,19,
+monstrousfrog,1,19,
+monster_legends,3,19,
+monotone_toenails,0,19,
+monotone_foreskin,0,19,
+monolith,0,19,
+monodog,4,19,
+monkey_(dial_m_for_monkey),4,19,
+monitors,0,19,
+monica_blackwater_(wsad),4,19,
+mona_(spittfire),4,19,
+moloch_gidianni,4,19,
+mokuri,4,19,
+mokka_(mokkabron),4,19,
+mojito_(aronhilistix),4,19,
+moeflavor_cheerleader_uniform,3,19,
+mo_(momamo),4,19,
+mmtora,1,19,
+mmorroxzks,1,19,
+mmebianca,1,19,
+mjrn,4,19,
+mizuki_(shycyborg),4,19,
+mizu_fei,4,19,
+mixing_console,0,19,
+mixing,0,19,
+mixel_(species),5,19,
+mixed,5,19,
+misterkittens_(character),4,19,
+mister-mediocre,1,19,
+mismatched_eyes,0,19,
+misfits_(band),3,19,
+mirtilo,1,19,
+mirror_dragon,5,19,
+miroku_(inuyasha),4,19,
+mirnehviir,4,19,
+miriizah,4,19,
+minus_sakuroma_(retrospecter),4,19,
+mint_(redketto),4,19,
+minor_human,1,19,
+minion_of_set,0,19,
+minguu,1,19,
+mindnomad,1,19,
+mina_heartfields,4,19,
+mina_(spyingredfox),4,19,
+milo_the_chimera,4,19,
+millie_the_cow,4,19,
+millie_(wildoscar),4,19,
+miller_(iriedono),4,19,
+mila_(the_pirate's_fate),4,19,
+mikkel_(srlmikl),4,19,
+mikan_(friita),4,19,
+mika_(hootsalot),4,19,
+miicchii,1,19,
+mii_(jungle_de_ikou),4,19,
+migi_(aggretsuko),4,19,
+mig_(interspecies_reviewers),4,19,
+mig-21,0,19,
+midori_(basketgardevoir),4,19,
+midnightcap,1,19,
+michizuki,1,19,
+michelle_jocasta,4,19,
+michael_afton,4,19,eggs_benedict_(fnafsl)
+mexican_dress,0,19,
+mewcia,4,19,
+metty_(ludexus),4,19,
+metronome_bat,4,19,
+metallic_clothing,0,19,
+metal_plates,0,19,
+merun_connor,4,19,
+meresankh,4,19,
+mererna,4,19,
+mercenary_villain_(live-a-hero),4,19,
+mercedes_(jwinkz),4,19,
+meow's_father_(space_dandy),4,19,
+mempha,4,19,
+meloncat,5,19,
+melissa_(chipndeath),4,19,
+melide,4,19,
+meli_shadowhoof,4,19,
+meilani_(ajdurai),4,19,
+mei_(tree-san),4,19,
+megantereon,5,19,
+megan_(disambiguation),4,19,megan
+megalosaurid,5,19,
+mega_salamence,5,19,mega_salamance
+mega,4,19,
+meelix,4,19,
+medival,0,19,
+mecho,1,19,
+mean_twilight_(mlp),4,19,
+mcstuffins,1,19,
+mazrogal,4,19,
+may_hem,4,19,
+maximirusupauaa,1,19,
+max_(angstrom),4,19,
+mavy_(alicethedeer),4,19,
+maverick_(betaetadelota),4,19,
+maurice_fournier,4,19,
+mau_(drgnhybrid),4,19,
+mattthetooncat,1,19,
+mattie_(meanmetal),4,19,
+matix,4,19,
+mating_plug,0,19,
+matilda_(bbd),4,19,
+matii,4,19,
+mati_(matixcs),4,19,
+matches,0,19,
+mason_(thefutureiseuro),4,19,
+mashakseh,1,19,
+maschinenpistole_40,0,19,
+maschinengewehr_42,0,19,
+mary_lee_walsh,4,19,
+mary_(dulce_ratoncita),4,19,
+marsze5,1,19,
+mars_(mars),4,19,
+marleau,4,19,
+mark8may,1,19,
+marina_fae,4,19,
+marii_(character),4,19,
+marigold_(flower),0,19,
+marie_flumtunn,4,19,
+marie_(1-upclock),4,19,
+mariam_hachmi,1,19,
+mariah_(brian_mcpherson),4,19,
+maria_rose_(kittyq),4,19,
+margay_humanoid,5,19,
+marcus_(lafontaine),4,19,
+marchingball,1,19,
+marc258,3,19,
+manor,0,19,
+manaozyfolf,1,19,
+mana_inuyama,4,19,
+malurid,5,19,"australasian_wren,maluridae,maluridaen"
+maltaur,1,19,
+malia,4,19,
+male_swimwear,0,19,
+makoto_aki,4,19,
+makia,4,19,
+makelovepony,3,19,
+makasia,1,19,
+maintenance,0,19,
+mail-order-superhero,1,19,
+maiky_atk,1,19,
+mai_(jay_naylor),4,19,
+maguwhite_(artist),1,19,
+maguwhite,4,19,
+magpiehyena_(character),4,19,
+magnus,4,19,
+maggie_lee,4,19,
+magellan,4,19,
+magazine_pouch,0,19,
+magami_tobazu,1,19,
+madkat_miro,4,19,
+madartraven,1,19,
+maculata,4,19,
+mackmcstacks,1,19,
+macaroon,0,19,
+lyric,4,19,
+lynraccoon_(artist),1,19,
+lying_on_lap,0,19,
+lycanthropy,0,19,
+lx_(salaciouslx),4,19,
+lvl100gardevoir,1,19,
+lux_(oc),4,19,
+luvi_(chikiota),4,19,
+luri,4,19,
+lunheaven,1,19,
+lunarstells,1,19,
+lunar_apologist,1,19,
+luna_(rundown),4,19,
+luna_(lunarnight),4,19,
+lumber,0,19,
+lumarten,1,19,
+lukehusky,4,19,
+luke_(walkingstalker),4,19,
+lugen,4,19,
+lucy_(samanator_club),4,19,
+lucifer_(hazbin_hotel),4,19,"lucifer_(vivzmind),lucifer_magne"
+lucidsuicide,1,19,
+lucaswolfox,4,19,
+luca_(reiyun),4,19,
+luc_(shadowponi),4,19,
+lsd_(vrabo),4,19,
+low_tier_god,3,19,
+louie_(pikmin),4,19,
+lore_of_unity_(copyright),3,19,
+lopsidedworld,1,19,
+loporny,1,19,
+loose_pants,0,19,
+lookbacktofour_(artist),1,19,
+long_gone_gulch,3,19,
+long-eared_hedgehog,5,19,
+london_sylvasta,4,19,
+lolliponybrony,1,19,
+locote68,1,19,
+lockheedskunk_(character),4,19,
+lobotalow,1,19,
+lobby,0,19,
+lizzy_(arcsuh),4,19,
+liuki,4,19,
+littlewoodlouse,1,19,
+littlebrowndog,1,19,
+little_shibe,4,19,
+little_buddy_(splatoon),4,19,
+lithulraptor,5,19,
+lithla,1,19,lilithlauda
+lise_project,4,19,
+liquids,0,19,
+lionsgate,3,19,
+lio_mynx,4,19,
+linh_khanh_ngo,4,19,
+ling-ling,4,19,ling_ling
+lindy_(buxbi),4,19,
+linda_romanovna_romanovich,4,19,
+linaraya,1,19,
+lin_(bioticemu),4,19,
+lily_johnson_(adrunkdragon),4,19,
+lily_(adam_wan),4,19,
+lilmousybianca,1,19,
+lilbit,4,19,
+lilac_(pyritie),4,19,
+lilac_(character),4,19,
+lighttrap,1,19,
+lightnife,1,19,
+light_grey_body,0,19,
+ligernekoka,1,19,
+life_drawing,0,19,
+licking_precum,0,19,
+lichen,0,19,
+libredrone,5,19,
+liberty_spikes,0,19,
+lias_(playswithfire),4,19,
+lian_(artist),1,19,
+lexxure,4,19,
+lexas_(ludexus),4,19,
+lewin_(bukkbuggy),4,19,
+lettup,1,19,
+letai,0,19,
+lestat,4,19,
+leothealligator,4,19,
+leona_(flafty),4,19,
+leo_(artist),1,19,
+lenny_fenmore,4,19,
+lenni_(boundedyoshi),4,19,
+lena_(tafelkreide),4,19,
+lemon_(character),4,19,
+leliea,4,19,
+leis,4,19,
+leika_(zaush),4,19,
+leigh_madigan_(siroc),4,19,
+legsy_(character),4,19,
+legs_closed,0,19,
+legionnaire,0,19,
+leg_wound,0,19,
+leaves_(carpetwurm),4,19,
+leather_thigh_highs,0,19,
+leapfrog,0,19,leap_frog
+leader,0,19,
+leacrea,4,19,
+le_gris,4,19,
+lazyphantasmagoria,1,19,
+lazurek,5,19,
+lazuli_(slightly_damned),4,19,
+lazlowo,1,19,
+laying_on_tail,0,19,
+lavender_lily,1,19,
+lavender_(ymbk),4,19,
+laven,4,19,
+lattechino,1,19,
+latex_corset,0,19,
+laser_rifle,0,19,
+large_teeth,0,19,
+lara,1,19,
+lapis_(oc),4,19,
+laphria,5,19,
+lao_leopard,4,19,
+lane_(accelo),4,19,
+landorus_(incarnate_form),5,19,
+lance_o'rourke,4,19,
+lanae,4,19,
+lamty8,1,19,
+lamont_(fursona),4,19,
+lambda_(character),4,19,
+lalupine_(artist),1,19,
+lakilolom,1,19,
+laila_(roadside_romeo),4,19,
+lafitte,1,19,
+lady_azure_(wolfpack67),4,19,
+lacuna_kessinger,4,19,
+lackofa,1,19,
+lace_lingerie,0,19,
+kyra_sable,4,19,
+kyoujinbe,1,19,
+kyosumari,1,19,
+kyoro_chan,4,19,
+kyoishi_nazuna,4,19,
+kylo_ren,4,19,
+kylie_bevy,4,19,
+kyli_(character),4,19,
+kyle_r._fish,4,19,
+kyle_hutchings,1,19,
+kyle_broflovski,4,19,
+kybou_(maned_ferret),4,19,
+kwami,5,19,
+kuwsh,1,19,
+kuwi,1,19,kowi
+kuroshiki,1,19,
+kurohanya_(niliu_chahui),4,19,
+kuritotte_nage_tarou,1,19,
+kurama_the_braixen,4,19,
+kumu,4,19,
+kumogakure_kohaku,1,19,
+kumiko_(aleron),1,19,
+kumakan,1,19,
+kuma-arts,1,19,
+kulipari,3,19,
+kukuruyoart,1,19,
+ktyco,1,19,
+ksstt,1,19,
+krun,4,19,
+kristin_e,1,19,
+kris,4,19,
+kripi,1,19,
+krev_(kkrevv),4,19,
+kraven-gothly_(character),4,19,
+kraaisha,1,19,
+koralia,4,19,
+kora_(going_canine),4,19,
+kooky_fox,4,19,
+koneko_toujou,4,19,
+komuros,4,19,
+kokichi_ouma,4,19,
+kojot,1,19,
+koiffu,1,19,
+ko_(kodus),4,19,
+knock_roman,1,19,
+kmhr_889012,1,19,
+klubba,4,19,
+klenn_(sleepywozzy),4,19,
+kivata,4,19,
+kittysune,5,19,
+kittery,1,19,
+kiss_mark_on_chest,0,19,
+kiseki_(asleepycat3654),4,19,
+kisagi,1,19,
+kiroki,1,19,
+kiriko_(overwatch),4,19,
+kiri_(sky),4,19,
+kira_(kirakitten),4,19,
+kinkysashimi,1,19,
+kinkykaida,1,19,
+kinjagh_(character),4,19,
+kingceon,4,19,
+king_quince,1,19,
+king_of_spades,0,19,
+king_boom_boo,4,19,
+kinaeris,4,19,
+kinachi_(lugiaberry)_(character),4,19,
+killwi,4,19,
+kiisu_(tsukune_minaga),4,19,
+kif_kroker,4,19,
+kian_(doesnotexist),4,19,
+kez,4,19,
+keycock,1,19,
+kevin_(leobo),4,19,
+ketzio_(character),4,19,
+kettle_helmet,0,19,
+ketofur,1,19,
+kersync,1,19,
+kerry,4,19,
+kerothestrange,1,19,kerothestrange_(artist)
+kerocat,1,19,
+kergiby,4,19,
+kenta_kitagawa,4,19,
+kenjn,1,19,
+kelkko,4,19,
+kelisah,1,19,
+keith_(seyumei),4,19,
+kedasky,4,19,
+keane303,1,19,
+kdjade,1,19,
+kazy_(kaze87),4,19,
+kazuya_mishima,4,19,
+kazuya,4,19,
+kazuma_kiryu,4,19,
+kazuma_ikezawa,4,19,
+kazecat_(character),4,19,
+kaylee_(jwinkz),4,19,
+kayjack,4,19,
+kaya,4,19,
+kawasaki,3,19,
+katscarlettkat,1,19,
+katputze,1,19,
+katojana,4,19,
+katie_(roof_legs),4,19,
+kataou,4,19,
+kassandra_(knockedoutdragon),4,19,
+kass_(neracoda),4,19,
+kashra,4,19,
+kashjew,4,19,
+karya,4,19,
+karina.gk,1,19,
+karat.3l,1,19,
+karamatsu_matsuno,4,19,"karamatsu,karamatsu_(osomatsu)"
+kao_(kao_the_kangaroo),4,19,
+kansi,4,19,
+kang_(vdisco),4,19,
+kamushek228,1,19,
+kamiya_tomoe,1,19,
+kalo_89,1,19,
+kallistos,4,19,
+kakalon,1,19,
+kajio,1,19,
+kaizar,1,19,
+kairi,4,19,
+kaionart,1,19,
+kailey_(murnakia),4,19,
+kaige_(harmonydescent),4,19,
+kacey_(black-kitten),4,19,
+justbilly_(artist),1,19,
+jushara_(character),4,19,
+juniku_sushi,1,19,
+jungle_de_ikou,3,19,
+june_(arzdin),4,19,
+june_(animal_crossing),4,19,
+jumper_cable,0,19,
+jumi,1,19,
+juicyman,1,19,
+jugem_(pencils),4,19,
+jubilations,1,19,
+juanjo_guarnido,1,19,
+josuke_higashikata,4,19,
+josie_sweet,4,19,
+joshua_(fezmangaka),4,19,
+josh_(darkrusty),4,19,
+joseph_(zerolativity),4,19,
+jopperseyin,1,19,
+jolene_(paper_mario),4,19,
+joker_(playing_card),0,19,
+johnny_(kralex),4,19,
+john_(ginga),4,19,
+john_(demireality),4,19,
+johedveigd,1,19,
+joeleo55515,1,19,
+joel_(litterbox_comics),4,19,
+joe_(skaii-flow),4,19,
+jocelyn_(transmousky),4,19,
+jocello,4,19,
+jixter,1,19,
+jinxy_(fvt),4,19,
+jingle_bell_collar,0,19,
+jin3_z,1,19,
+jimp88,1,19,
+jiggly_plush,1,19,
+jigglebonez,1,19,
+jiggle_physics,0,19,
+jhin_(lol),4,19,
+jewel_(himynameisnobody),4,19,
+jet_asakura,4,19,
+jesterwing,1,19,
+jester_the_banette,4,19,
+jester_lavorre,4,19,
+jessie_(uzon),4,19,
+jerr,4,19,
+jennika_(tmnt),4,19,
+jenna_begay,4,19,
+jenna_(dragoness_jenna),4,19,
+jel_(musuko42),4,19,
+jecht,4,19,
+jecca_qua,4,19,
+jcfireescape,1,19,
+jay_(colonel_klink),4,19,
+jasper_(shikokubo),4,19,
+jasonstrom,1,19,
+jason_(sexydragon201),4,19,
+jasmine_winters,4,19,
+janis_the_witch,4,19,
+janice_brooks,4,19,
+jamison_(seyferwolf),4,19,
+james_(creaturecorp),4,19,
+jalapeno_(frontrox),4,19,
+jakubshark,1,19,
+jakob_maximillian,4,19,
+jake_(t0l0k),4,19,
+jaime_(dmitrys),4,19,
+jah,1,19,
+jaguarfootprint,1,19,
+jade_(rysonanthrodog),4,19,
+jacob_(mobilemutt),4,19,
+jaclyn_(revertigo),4,19,
+jackie_(arknights),4,19,
+jack_(fuze),4,19,
+izara_(cyancapsule),4,19,
+ivana_(warenscape),4,19,
+ivan_(libra11),4,19,
+iuno,1,19,
+itaki.,1,19,
+it's_always_sunny_in_philadelphia,3,19,
+ismadeus,4,19,
+isis_(oc),4,19,
+isabella_kane,4,19,
+iron_golem_(minecraft),5,19,
+iris_(hyacinth),4,19,
+iri_rin,4,19,
+iona_itova,4,19,
+intoxicat2,1,19,
+intersex_anthro,0,19,
+internal_screaming,0,19,
+inriganan,1,19,
+inktober_2018,3,19,
+inkling_(squid_form),5,19,
+infernaltanuki,1,19,
+inert-ren,1,19,"inert-ren_(artist),inert_ren,inert_ren_(artist),striderden,striderden_(artist)"
+inari_(mofuaki),4,19,
+in_package,0,19,
+implied_watersports,0,19,
+impiousred,1,19,
+imminent_titfuck,0,19,
+imminent_popping,0,19,
+imminent_gore,0,19,
+imminent_fisting,0,19,
+imminent_attack,0,19,
+imaginaricide,1,19,
+iluluna12,1,19,
+illian_(ritts),4,19,
+ill-fitting_clothes,0,19,
+ikima_(smileeeeeee),4,19,
+ijdraws,1,19,
+igrath_winters,4,19,
+igniz,4,19,
+ignitus_(artist),1,19,
+icykatsura,1,19,
+icefumy,4,19,
+ice_hockey,0,19,
+ibuki_notsu,1,19,
+i-si-u,1,19,
+hypno_(disambiguation),6,19,hypno
+hyper_quads,0,19,
+hymn_(aogami),4,19,
+hyhy_(onepunchhyper),4,19,
+hyenakay,1,19,
+hybrid_eyes,0,19,
+huntress_(lewdewott),4,19,
+hunting_day,3,19,
+hunterdog5by5,1,19,
+huniepi,4,19,
+humon,1,19,
+humanoid_to_taur,0,19,
+htc_vive,3,19,
+howl_(shikokubo),4,19,
+how_to_draw,0,19,
+hover_effects,0,19,
+househead,4,19,
+house_gecko,5,19,hemidactylus
+hotvr_(artist),1,19,
+hot_wheels,3,19,
+hoses,0,19,
+horstachio,5,19,
+horn_cap,0,19,"horn_caps,horns_cap,horns_caps"
+hopeful,0,19,
+hoof_holding,0,19,
+honwell,1,19,
+honeytongue,1,19,
+honey_creature,5,19,
+honey-beam,1,19,
+honei,4,19,
+hollywood,0,19,
+holly_(disambiguation),6,19,holly
+holding_strap,0,19,
+holding_racket,0,19,
+holding_kiseru,0,19,
+holding_game_case,0,19,
+holding_dumbbell,0,19,
+hodgepodge_(krolik),4,19,
+hivewing_(wof),5,19,
+hirsche_(diaperedglowwolf),4,19,
+hiro_(luraiokun),4,19,
+hiro_(ditf),4,19,
+hip_flask,0,19,
+hiorou,1,19,
+hinge,0,19,
+hilde_(70_seas),4,19,
+hidarin_(aggretsuko),4,19,
+hibuki_crossbone,4,19,
+hfps,1,19,
+hero_(dragon_quest),4,19,
+here's_johnny,0,19,
+henna,0,19,
+henko,1,19,
+heni,1,19,
+helixel,1,19,
+helen_(sinister),4,19,
+hecatta,1,19,
+heart_song,4,19,
+heart_line,0,19,
+heart_envelope,0,19,
+heart_dress,0,19,
+heart_ahoge,0,19,
+heal_ball,0,19,
+head_tattoo,0,19,
+hazel_(slightlysimian),4,19,
+hawker_hurricane_(hideki_kaneda),4,19,
+hawk_(notbad621),4,19,
+hauyne,1,19,
+hatershatesarea,1,19,
+harvesting,0,19,
+harold_(traver009),4,19,
+harlequin_great_dane,5,19,
+hannibal_lecter,4,19,
+hannah_the_usul,4,19,
+hanging_from_rope,0,19,
+hands_on_own_knee,0,19,
+hand_taur,5,19,
+hand_on_another's_crotch,0,19,
+hand_eye,0,19,
+hananners,1,19,
+hanaface,1,19,cookiehana
+hamze,1,19,
+half_thong,0,19,
+hakutaku,5,19,bai_ze
+haku_kagami,4,19,
+haku_(snoiifoxxo),4,19,
+hakarisquish,4,19,
+hajime_(fiddleafox),4,19,
+hait,0,19,
+hairspray,0,19,
+hairs,0,19,
+hairpiece,0,19,
+hair_wraps,0,19,
+h_box,1,19,
+h.v.lukas,1,19,
+gyroido,1,19,
+gwyn_(sait0moriyama),4,19,
+gwendolin,4,19,
+gwen_(bran-draws-things),4,19,
+guy-am-i,4,19,
+gutter,0,19,
+guthor,4,19,
+gusho,4,19,
+gus_(incredible_crocodile),4,19,
+gurofur,1,19,
+gur_(gur-gahar),4,19,
+gunfire_games'_the_ashes_(franchise),3,19,
+gunfire_games,3,19,
+gultch_(kilinah),4,19,
+guiding_penis,0,19,
+guarding,0,19,
+guardians_of_pondonia,3,19,
+gryphon_pred,0,19,
+group_oviposition,0,19,
+ground_vehicle,0,19,
+groove_(cattanooga_cats),4,19,
+grocery_shopping,0,19,
+grimm's_fairy_tale_classics,3,19,
+grim_(character),4,19,
+griff_(mrbirdy),4,19,
+griff,4,19,
+grey_bodysuit,0,19,
+gretchen_(style_wager),4,19,
+gretal,4,19,
+gregorean,1,19,
+gregarity,1,19,
+greevixor,1,19,
+green_dress_shirt,0,19,
+green_crop_top,0,19,
+greek_clothing,0,19,
+great_girros,5,19,
+graystripe_(warriors),4,19,
+grant_(musclesnstripes),4,19,
+grandtickler,1,19,
+grandeclound,1,19,
+gradient_skin,0,19,
+gradient_clothing,0,19,
+gracylioness,4,19,
+grace_(disney),4,19,
+grace,4,19,
+grabbing_hand,0,19,
+gow_gow_beast,1,19,
+gosalyn_waddlemeyer,4,19,
+gori-chan,4,19,
+gorezing,1,19,
+goreless_castration,0,19,
+goose_(roommates),4,19,
+goose_(animal_crossing),4,19,
+goodnites,3,19,
+gonzo_(muppets),4,19,
+gong,0,19,
+golf_swing,0,19,
+goldie,4,19,
+goldfish_crackers,3,19,
+goldendale,4,19,
+golden_gate_bridge,0,19,
+gold_piercings,0,19,
+gold_legband,0,19,
+gold_kitty_gel,4,19,
+gold_(kemonogatari),4,19,
+going_canine,3,19,
+gob_bluth_sfm,1,19,
+goat-soap,1,19,
+gluestudd,1,19,
+glowing_nostrils,0,19,
+glowing_flower,0,19,
+glowing_deathclaw_(fallout),5,19,
+glowing_crystal,0,19,
+glorper,1,19,
+gloom_(disambiguation),6,19,"gloom,gloomy"
+glint_kusemurai,4,19,
+glimmer_alma-yu,4,19,
+glass_cage,0,19,
+glacier_(suirano),4,19,
+ginger_(pogothebullterrier),4,19,
+gina_marie,4,19,
+gin,4,19,
+gilbert_(chief_gilbert),4,19,
+gil_(ritts),4,19,
+giji_eizan,1,19,
+gibussfm,1,19,
+ghosty223,1,19,
+ghostlydoodles,1,19,
+ghastgirl,4,19,
+ggs_ovo,1,19,
+gfr,0,19,
+gfc,1,19,
+geshache,1,19,
+gerdur_(thecosmicwolf33),4,19,
+geraldine_(scalie_schoolie),4,19,
+geometric_shapes,0,19,
+gentlemandemon,1,19,
+genji_(geng),4,19,
+genital_hooks,0,19,
+genghis_rex,4,19,
+gemini_the_sergal,4,19,
+geemo,4,19,
+gayle_(animal_crossing),4,19,
+gaycoon69,1,19,
+gay_farting_raptor,1,19,
+gavin_(sirgallade),4,19,
+gavin_(gloebis),4,19,
+gavi_(tinymunch),4,19,
+gashadog,4,19,
+gara'ha_ironbane,4,19,
+gantogan1216,1,19,
+gangsta,0,19,
+gaming_console,0,19,
+game_boy_advance_sp_console,0,19,
+galaxy_dragon,5,19,
+galaxia_(ronaldo_souza),3,19,
+gaius_devore,4,19,
+gaddy_cloud_mouse_(character),4,19,
+gabu_(silverzar),4,19,
+gabrilis,1,19,
+gabriella_(ehs),4,19,
+gabe_walker_(pawpadcomrade),4,19,
+gabby_(meltingfoxy),4,19,
+g_clef,0,19,
+g36,0,19,
+fuzzy_(artist),1,19,
+futuristic_suit,0,19,
+fusing,0,19,
+furxette,4,19,
+furry_fever_magazine_(preteen),3,19,
+furry_fever_magazine,3,19,
+furfreakchaz,1,19,
+fumdux,4,19,
+fukura,4,19,
+fugueraven,1,19,
+fu_manchu,0,19,
+fruitbat,5,19,
+frost_rotom,5,19,"cold_form_rotom,cold_forme_rotom,cold_rotom,fridge_form_rotom,fridge_forme_rotom,fridge_rotom,frige_form_rotom,frige_forme_rotom,frige_rotom,frost_form_rotom,frost_forme_rotom,ice_form_rotom,ice_forme_rotom,ice_rotom,refridgerator_form_rotom,refridgerator_forme_rotom,refridgerator_rotom,refrigerator_form_rotom,refrigerator_forme_rotom,refrigerator_rotom,rotom_(cold),rotom_(cold_form),rotom_(cold_forme),rotom_(fridge),rotom_(fridge_form),rotom_(fridge_forme),rotom_(frige),rotom_(frige_form),rotom_(frige_forme),rotom_(frost),rotom_(frost_form),rotom_(frost_forme),rotom_(ice),rotom_(ice_form),rotom_(ice_forme),rotom_(refridgerator),rotom_(refridgerator_form),rotom_(refridgerator_forme),rotom_(refrigerator),rotom_(refrigerator_form),rotom_(refrigerator_forme),rotom_cold,rotom_cold_form,rotom_cold_forme,rotom_fridge,rotom_fridge_form,rotom_fridge_forme,rotom_frige,rotom_frige_form,rotom_frige_forme,rotom_frost,rotom_frost_form,rotom_frost_forme,rotom_ice,rotom_ice_form,rotom_ice_forme,rotom_refridgerator,rotom_refridgerator_form,rotom_refridgerator_forme,rotom_refrigerator,rotom_refrigerator_form,rotom_refrigerator_forme"
+frost_norde,1,19,
+front_clip_bra,0,19,
+frisky_(bluey),4,19,
+freya_manibrandr,1,19,
+frenchfry_(lilo_and_stitch),4,19,"experiment_062,frenchfry_(l&s),frenchfry_(las),frenchfry_(lilo_&_stitch),frenchfry_(stitch)"
+freezing_blizzard_(oc),4,19,
+freedomfightersonic,1,19,
+freakfur,1,19,
+franklyfurry,1,19,
+fraggle,5,19,
+foxyofthepiratecove,1,19,
+foxy_loxy_(1943),4,19,
+foxy_flavored_cookie,3,19,
+foxy_(planet_coaster),4,19,
+foxxylatte,1,19,
+fox_squirrel_(ghibli),5,19,
+forest_hill,3,19,
+foreground_silhouette,0,19,
+forced_handjob,0,19,
+foamy,4,19,
+fmirsokp,1,19,
+flying_broom,0,19,
+flurrabell,4,19,
+flugel,4,19,
+flu_(character),4,19,
+flower_in_fur,0,19,
+flower_(magnificent-arsehole),4,19,
+florence_greentail,4,19,
+flora_(animal_crossing),4,19,
+flodragon,4,19,
+flipping_viewer_off,0,19,
+flint,4,19,
+flazy,4,19,
+flausch-katzerl,1,19,
+flat_breasts,0,19,
+flaktaryd,1,19,
+fk_the_husky,4,19,
+fiveam,1,19,
+fists_clenched,0,19,
+fishtoonz,1,19,
+fishnet_tights,0,19,
+firetail_taevarth,4,19,
+fire_demon,5,19,
+finn_heartlin,4,19,
+finn_(birdpup),4,19,
+finger_grab,0,19,
+filmcow,3,19,
+fiishdude,1,19,
+fiddlesticks_(lol),4,19,
+fiddle,0,19,
+fidcario_(fidchellvore),4,19,
+fetishes,0,19,
+ferrez,4,19,
+ferragon,5,19,
+ferne_(abductkaz),4,19,
+feridae,5,19,
+feranya,1,19,
+fenris_ragnulf,4,19,
+fenki,4,19,
+fendyn,4,19,
+female_dominating_gynomorph,0,19,
+felngo,5,19,
+felisal_(nuree_art),4,19,
+felid_demon,5,19,
+federico,1,19,
+fecundation,0,19,
+feces_in_urethra,0,19,
+feather_necklace,0,19,
+fayne,4,19,
+fayn,4,19,
+fawkesvtrot,1,19,
+faux_filot,4,19,
+fat_cat,4,19,
+faszlindel,1,19,
+fast_food_employee,0,19,
+fart_tank,0,19,
+farbi,1,19,
+fapmew,1,19,
+fangora_dracula,4,19,
+fanet,1,19,
+fancy_foxx,4,19,
+family_tree,0,19,
+famas,0,19,
+falling_skies,4,19,
+falling_petals,0,19,
+fala_(thelonecrow),4,19,
+fake_nose,0,19,
+fairywren,5,19,"fairy-wren,fairy_wren,malurus"
+fairy_penguin,5,19,"blue_penguin,little_blue_penguin"
+fairbanks_(night_physics),4,19,
+faikie,1,19,
+facial_wound,0,19,
+facial_paint,0,19,
+facedown_doggy,0,19,
+face_farting,0,19,
+f0xb0y01,1,19,
+eylof,4,19,
+eyepiece,0,19,
+exvarn,1,19,
+extreme_sports,0,19,
+expressionism,0,19,
+exposed_heart,0,19,
+excidium,4,19,
+evon_allure,4,19,
+evil_twin,0,19,
+everna,4,19,
+event_log,0,19,
+evee_(evon),4,19,
+evangle,1,19,
+evangeline_(stylish_apollo),4,19,
+evamal_(soulwing98),4,19,
+eusin,4,19,
+eudoant_(housepets!),4,19,
+esper,5,19,
+eslira_(paper_trail),4,19,
+eske,4,19,
+esha_(style_wager),4,19,
+erinyes,4,19,
+erin_(inkplasm),4,19,
+erica_(hexxia),4,19,
+eric_the_moogle,4,19,
+erethizontid,5,19,"erethizontidae,new_world_porcupine"
+erectile_dysfunction,0,19,
+erdrick,4,19,
+engineer_cap,0,19,
+enf-lover,1,19,
+endymion,4,19,
+encounter,0,19,
+enamorus,5,19,
+emperor_(kemono_friends),4,19,emperor_penguin_(kemono_friends)
+emily_walker_(pawpadcomrade),4,19,
+elysabith_(elysabith_maxima),4,19,
+elven_forest_maker,4,19,
+eltravis,1,19,
+elspeth_fauwin,4,19,
+elpandamangrande,1,19,
+elly_(blitza),4,19,
+ellie_the_elephant,4,19,
+ellie_(tmack),4,19,
+ellie_(ellieraccoon),4,19,
+elleseve,4,19,
+elizabeth_black,4,19,
+eliza_gardis,4,19,
+elina_(qb),4,19,
+elias,4,19,
+eli,4,19,
+eleonore,1,19,
+elecrockin,1,19,
+eleanor_'elly'_zhi,4,19,
+eldritch_being,0,19,
+elden_beast_(elden_ring),4,19,
+el_zeta,1,19,
+egyptian_wolf,5,19,
+eek!_the_cat,3,19,
+edgar_(ahnik),4,19,
+edbwolf,1,19,
+ed_farcevol,1,19,
+ectonurite,5,19,
+ecn,1,19,
+eclipsa_butterfly,4,19,
+echoiness,4,19,
+ebony_(jwinkz),4,19,
+earcw,1,19,
+eagle_(petruz),4,19,
+e-122-psi,1,19,
+dylan_(disambiguation),4,19,dylan
+duzell,1,19,
+dustpan,0,19,
+dustin_(madcow100),4,19,
+dust_particles,0,19,
+dump_truck_ass,0,19,
+duke_(bgn),4,19,
+duk,4,19,
+dudley,4,19,
+ducktape,1,19,
+ducking,0,19,
+dsks1214,1,19,
+dsch,1,19,
+dry_grass,0,19,
+drxeno,4,19,
+dripping_tongue,0,19,
+drip_(meme),3,19,
+driflewd,1,19,
+driae,1,19,
+dresella_(brushfire),4,19,
+drednox,4,19,
+dreamy_daze_(oc),4,19,
+drdeadman,1,19,
+drazelle,4,19,
+drayke_eternity_(character),4,19,
+drawstring_clothing,0,19,
+drawdroid,1,19,
+drakonishimurasan,0,19,
+drakecreator,1,19,
+drake_(drakesapphire),4,19,
+drakanoms,1,19,
+dragonryuusuki,1,19,
+dragonmom_(rayka),4,19,
+dragonmaid_lorpar,4,19,
+drago-flame,1,19,
+dracuss_(xxbriskxx),4,19,
+dracos,4,19,
+dr._mink,4,19,
+dpbleu,1,19,
+dov_leidang,4,19,
+doubt,0,19,
+dorri_lawless,4,19,
+doomrior,1,19,
+doommusk,1,19,
+donovan_(tjloog),4,19,
+donotcry,1,19,
+donation_incentive,0,19,
+donamer,4,19,
+don_wada,4,19,
+dokta,1,19,
+dohyo,0,19,
+doggu_(modjo),4,19,
+dog_(there_once_was_a_dog),4,19,
+dodgyrom,1,19,dodgyrommer
+dobiesketch,1,19,
+doberman_bouncer_(hyaku),4,19,
+dobbernsfw,1,19,
+djuuicebox,1,19,
+disnomia,1,19,
+disma_(trigaroo),4,19,
+dishonesty,0,19,
+disheveled,0,19,
+disembodied_limb,0,19,
+discocci,1,19,
+discarded_diaper,0,19,
+dimitrescu_sisters,4,19,
+digisushi,1,19,
+digimon_xros_wars,3,19,
+diaper_lover,0,19,
+diana_artemis,4,19,diana_(rebelsqurl)
+diamond_armor,0,19,
+dia_(viswey),4,19,
+dhey,4,19,
+devon_(disambiguation),4,19,
+detan,5,19,
+desiree_roche,4,19,
+depraved_(species),5,19,
+dental_gag,0,19,
+dennis_(sandwich-anomaly),4,19,
+demoniccompendium,1,19,
+demon_bunny_(daf),4,19,
+demizuposuka,1,19,
+demirae_royale,4,19,
+delphine_(skidd),4,19,
+delivery_uniform,0,19,
+deflated,0,19,
+deedee_(kostos_art),4,19,
+dee_(appledees),4,19,
+dedoggyskullz,1,19,
+decky_(pongodecky),4,19,
+decayed,0,19,
+debt,0,19,
+dear_hustler,0,19,
+dean_(daria_mcgrain),4,19,
+deadair3d,1,19,
+ddm004,1,19,
+dcon,1,19,
+dawrklawst,1,19,
+dawn_(tabuley),4,19,
+daughter-of-fantasy,1,19,
+dating_profile,0,19,
+dashik_(ulitochka),4,19,
+dart_(frstr4706),4,19,
+darsi,4,19,
+darku,1,19,
+darkseid,4,19,
+darkomi,1,19,
+dark_tank_top,0,19,
+dark_green_fur,0,19,
+dark_gaia_minion,5,19,
+dark_exoskeleton,0,19,
+dark_circles,0,19,
+darius_(lol),4,19,darius_(league_of_legends)
+darek,4,19,
+darasv,4,19,
+darashi_kuso,4,19,
+daphne_lage,1,19,
+daoru-drawing,1,19,
+dantiscus,1,19,
+danpinneon,1,19,
+danny_(zackdadawg),4,19,
+danni3120,4,19,
+dani_trix,4,19,
+dan_scott,1,19,
+dan_lansdowne,4,19,
+damien_woof,4,19,
+dam,0,19,
+dalian_(sentharn),4,19,
+dahlia_(chimangetsu),4,19,
+daddyfox,1,19,
+d-ser,1,19,
+d'narl,4,19,
+cyradia,4,19,
+cynocephaly,1,19,
+cyanbluric,1,19,
+cut_man,4,19,
+currypuppy,1,19,
+curling_tail,0,19,
+curled_antennae,0,19,"curled_antenna,curly_antenna,curly_antennae"
+cura_(curacougar),4,19,
+cupid_bee,5,19,"fallin_love_love_bee,fallin_lovelove_bee"
+cum_on_skin,0,19,
+cum_on_own_head,0,19,
+cum_on_mirror,0,19,
+cum_on_hip,0,19,
+cum_on_chest_fluff,0,19,
+cum_inflated_balls,0,19,
+cuix,4,19,
+cueio,4,19,
+ctog,1,19,
+crystalhaze,1,19,
+crystalcheese,1,19,
+crystal_(kochapatsu),4,19,
+crystal_(blitza),4,19,
+crypt_of_the_necrodancer,3,19,
+crynevermore,1,19,
+crumble_(character),4,19,
+crowsfire,1,19,
+crowley,1,19,
+crow_(bc999),4,19,
+crossplay,0,19,
+cross-fox,4,19,
+cro-iba,1,19,
+cris_art,1,19,
+crestysaurus,5,19,
+creeper_hoodie,0,19,
+creep!anon,4,19,
+creedence,4,19,
+crealle,1,19,
+crazyaniknowit,1,19,
+crazy_face,0,19,
+crazy-go-lucky_(character),4,19,
+cr2,4,19,
+cowprintsoda,1,19,
+cow_print_armwear,0,19,
+covering_butt,0,19,
+cotton_paws_(artist),1,19,
+cosmic_latte_(albinoraynedeer),4,19,
+coryanimations,1,19,
+corvus_(corvuscantum),4,19,
+cornelius_keiser,4,19,
+corey_(pickles-hyena),4,19,
+coppertone_pose,0,19,
+coppertheshark18,1,19,
+copper_(leglegleg),4,19,
+cookie_dough,0,19,
+cookbook,0,19,
+contracting_balls,0,19,
+containment_cell,0,19,
+construction_beam,0,19,
+constance_mayflower_(character),4,19,
+connychiwa,1,19,
+conkerbirdy,1,19,
+competitive_bet,0,19,
+common_side-blotched_lizard,5,19,"common_side-blotch_lizard,common_side_blotch_lizard,common_side_blotched_lizard"
+common_rosefinch,5,19,
+commissar-k,1,19,
+command_to_relax,0,19,
+comet_(comet_woofer),4,19,
+comaofsouls,1,19,
+colourbellystuff_(artist),1,19,
+colour_crusader,1,19,hannes
+colored_sperm_cell,0,19,
+colored_edit,0,19,
+colfax,1,19,
+cole_(animal_crossing),4,19,
+cold_alcohol,1,19,
+cohasset,4,19,
+cogs_fixmore,4,19,
+cody_hida,4,19,
+cock_bondage,0,19,
+coatl_(spotty_the_cheetah),4,19,
+coal_(jewelpet),4,19,coal_(jewel_pet)
+coach_edgar,4,19,
+cm,1,19,
+clypse,4,19,
+clyde_(wasen),4,19,
+cluny_the_scourge,4,19,
+clovie22,1,19,
+clover_(luckyabsol),4,19,
+clothing_penetration,0,19,
+clothed_herm_nude_intersex,0,19,
+closed_hands,0,19,
+closed_door,0,19,
+clit_clamp,0,19,
+clipboard_on_lap,0,19,
+cleaning_pussy,0,19,
+clay_sculpture,0,19,
+clawsofslash,1,19,
+claustrophobia,0,19,
+claricelovev,1,19,
+clara_(masterj291),4,19,
+clap,0,19,
+claire_(djinthepurpleraccoon),4,19,
+circus_tent,0,19,
+circle_game,3,19,
+cinny_(h-key),4,19,
+cinnamon_(chris_sutor),4,19,
+cinna_(qualzar),4,19,
+cindy_(wanderlust),4,19,
+cinder_block,0,19,
+ciirka,1,19,
+chu_ren,4,19,
+chronicles_of_darkness,3,19,
+chromethefox,1,19,
+chroma_(famwammer),4,19,
+christopherlee_(character),4,19,
+chopping,0,19,
+chompingbit,1,19,
+chocky_(pop'n_music),4,19,
+chlorophytum,4,19,
+chloe_(bluey),4,19,
+chiro_(ventkazemaru),4,19,
+chirinuruwoo,1,19,
+chintora0201,1,19,
+chindy_(rick_griffin),4,19,
+chill_(dr._mario),4,19,
+chiffon_(cinnamoroll),4,19,
+chicken_little_(2005),3,19,
+chickadee,5,19,
+chhips,4,19,
+chespa,4,19,
+cheryl_(hunter12396),4,19,
+cherryfox,1,19,
+cherryfiller,4,19,
+cherryblossomgames,3,19,
+cherry_berry_(mlp),4,19,
+cherry_agency,1,19,
+chernobog_kuzarnak,4,19,
+cherish_ball,0,19,
+cheotdo,1,19,
+chene_(musuko42),4,19,
+cheelai,4,19,
+cheating_husband,0,19,
+chaw_(redrusker),4,19,
+chase_(askim_shepherd),4,19,
+charr_(maririn),4,19,
+charop_(nokamiwd),4,19,
+charon_(ketzio_and_gbb),4,19,
+charmin_ultra_soft_mom,4,19,
+charm_(czu),4,19,
+charlotte_(lumieart),4,19,
+charlotte_(bunnybits),4,19,
+charlie_shepherd,4,19,
+charlie_(insomniacovrlrd),4,19,
+chaosllama,1,19,
+chaosdraws,1,19,
+chaos_iyoji,1,19,
+chaos_elfilis,4,19,
+chancellor_neighsay_(mlp),4,19,
+chance_longfang,4,19,
+chance,4,19,
+chal,4,19,
+chakka,4,19,
+chaina,1,19,
+chadbull,4,19,
+ceylis,4,19,
+ceya,1,19,
+ceto,4,19,
+cetitan,5,19,
+ceschi,1,19,
+cervyderia_deer,5,19,
+cephvik,1,19,
+cephalophilia_(artist),1,19,
+censer,0,19,
+cenies,1,19,
+celeste_(buurgerboy),4,19,
+celesseshading,1,19,
+celeblu,4,19,
+cecilia_(fanatiq),4,19,
+catwoman_(artist),1,19,
+catti,1,19,
+catstruction,1,19,
+cathrin_(telepurte),4,19,
+catherine_(jamearts),4,19,
+caterwaul,3,19,
+caterpija,4,19,
+cassie_bark,4,19,
+cassandra_vatz,4,19,
+cassandra_pines,4,19,
+casimirevore,1,19,
+cashen,4,19,
+cartoon_violence,0,19,
+carolina_vanburin_(chasm006),4,19,
+carmesi,4,19,
+carmen_sandiego_(franchise),3,19,
+carlia_(coltron20),4,19,
+cargo_ship,0,19,"cargo-ship,cargoship,freight-liner,freight_liner,freighter,freighter_ship,freightliner"
+carah_(smoreflavored),4,19,
+carabiner,0,19,
+car_battery,0,19,
+capsaicin,0,19,
+caprice_calicae,4,19,
+cannonball_(lilo_and_stitch),4,19,"cannonball_(l&s),cannonball_(las),cannonball_(lilo_&_stitch),cannonball_(stitch),experiment_520"
+canind,5,19,
+candlesstyx,1,19,
+cam_selic,4,19,
+calista_(tomlloyd),4,19,
+calika,4,19,
+california,0,19,
+caldalera,1,19,caldalera_(artist)
+calculus,0,19,
+calbeck,1,19,
+cake_(pastry_donkey),4,19,
+caffeinekobold,1,19,
+cafe_(coffeebeangoat),4,19,
+caelthar,4,19,
+caelicus_dawnus,4,19,
+cable_transport,0,19,
+cabarts,1,19,
+byghosteduard,1,19,
+byakurai_tora,4,19,
+buttplug_in_pussy,0,19,butt_plug_in_pussy
+butt_rub,0,19,
+butt_close-up,0,19,
+busty_mindy,4,19,
+burlywood_tail,0,19,
+burgus_(chozogoat),4,19,
+bunny_(oc),4,19,
+bunnie,4,19,
+bunibelol,1,19,
+bunbury,1,19,
+bullpup,0,19,
+builders_league_united,3,19,
+buck_(tenebscuro),4,19,
+bruno_liljefors,1,19,
+brown_suit,0,19,
+brown_eyelashes,0,19,
+brown_briefs,0,19,
+brook_(one_piece),4,19,
+broken_tusk,0,19,
+brohan,1,19,
+brittany_spaniel,5,19,
+brisineo,1,19,
+briareos,4,19,
+breath_of_the_wild_2,3,19,
+breast_wound,0,19,
+breast_spots,0,19,
+brea,4,19,
+braxx,4,19,
+bravo_(character),4,19,
+braixen_vesta_(kitsunekotaro),4,19,
+brace_yourself_games,3,19,
+boxphox,1,19,
+box_of_cuteness,0,19,
+box_fan,0,19,
+bovine_balls,0,19,
+bound_to_urinal,0,19,
+bottomless_ambiguous,0,19,
+borok,4,19,
+boondox,4,19,
+boob_grope,0,19,
+bonnie_the_raichu,4,19,
+bonnie_(pulp),4,19,
+bones_(jirashi),4,19,
+bonbon_(missyonu),4,19,
+bolt_jenkins,4,19,
+boghog,1,19,
+body_spikes,0,19,
+bodily_fluids_on_ground,0,19,
+bob_(extrasizedbob),4,19,
+bmbrigand,1,19,
+blueseidon,1,19,
+bluenoise,1,19,
+blueberrygrizzly,1,19,
+bluebean_the_mew,4,19,
+blue_yes,0,19,
+blue_virus_(dr._mario),5,19,
+blue_lights,0,19,
+blue_dragon,3,19,
+blue_bat,4,19,
+blue_and_grey,7,19,"blue_and_gray,gray_and_blue,grey_and_blue"
+blossom_(sinfulwhispers15),4,19,blossom_(sinfuldreams15)
+blood_warpaint,0,19,
+blood_trail,0,19,
+blood_sucking,0,19,
+blood_on_sword,0,19,
+blood_moon_(character),4,19,
+blizzarian,5,19,
+blizz_braidy,4,19,
+blinki_the_wolf,4,19,
+blinker_hood,0,19,
+blindstash,1,19,
+blazingblazen,1,19,
+blazermate,5,19,
+blazen_the_dragon,4,19,
+blastoiseanimator,1,19,
+blastoiise,1,19,
+blasticheart_(artist),1,19,
+blakeroats,1,19,blanham17
+blake_zekrom,4,19,
+bladder_vore,0,19,
+blackwingedheart87,1,19,
+black_facial_hair,0,19,
+black-kitten_(character),4,19,
+bjorn_(bjornsquirrel),4,19,
+bit_synergy,1,19,
+bismukky,1,19,
+biohazard_marking,0,19,
+biography,0,19,
+billy_hatcher_and_the_giant_egg,3,19,
+billie_(billie_bust_up),4,19,
+bike_pump,0,19,
+bik_(vader-san),4,19,
+bigdudeart,1,19,
+big_top_(animal_crossing),4,19,
+big_chin,0,19,
+bianca_(shootysyvleon),4,19,
+beverly_bear,4,19,
+beverly_(sloss),4,19,
+bethellium,3,19,
+best_fiends,3,19,
+beshte,4,19,
+berriesandcoffee,1,19,
+bep_(roundcado),4,19,
+benny_(wanderer-of-time),4,19,
+bending_over_position,0,19,
+ben_(nikoh),4,19,
+ben_(ethan86),4,19,
+bellydancing,0,19,
+belle_nightjoy_(oc),4,19,
+belle_(aygee),4,19,
+belladonna_amcanus,4,19,
+bella_grace,4,19,
+bell_pepper,0,19,
+bell_biscotti,4,19,
+beizel_(oop),4,19,
+beer_pong,0,19,
+beejay_bearkowitz,4,19,
+beegirl_(vhsdaii),4,19,
+becky_fieldman,4,19,
+beatrix_lebeau,4,19,
+beatrix_(yaoifairy),4,19,
+beatrix,4,19,
+bearnard,4,19,
+bdsmtoall,1,19,
+baxter_mikasa,4,19,
+baw0sox,1,19,
+battle_chasers,3,19,
+batmilk,1,19,
+bathroom_tiles,0,19,
+bath_mat,0,19,
+bat_(cave_story),5,19,
+barracks,0,19,
+barely_visible_genital_slit,0,19,"barely_visible_slit,subtle_genital_slit,subtle_slit"
+barely_contained_breasts,0,19,
+bardofox,1,19,
+barber_chair,0,19,
+barbaracle,5,19,
+barbara_(behniis),4,19,
+baph,4,19,
+bansanv3,1,19,
+bani_temari,4,19,
+bangle_(animal_crossing),4,19,
+bandit_princess,4,19,
+balrapha_(keroro623),4,19,
+balorkin,1,19,
+ball_rub,0,19,
+bakemon,5,19,
+baizhu,1,19,
+badwagon_(artist),1,19,
+bad_joke,0,19,
+backfire,0,19,
+back-print_briefs,0,19,
+b_(nargacuga),4,19,
+azuriae,4,19,
+azureparagon,1,19,
+azure_(star),1,19,
+azure_(shiro-neko),4,19,
+azuracoon,1,19,
+azune_tonkotsu,4,19,
+ayane_(doa),4,19,
+aya_(ayanyoki),4,19,
+axxxonn,1,19,
+awkwardlytrashy,1,19,
+awkwardberd,1,19,
+awe,1,19,
+avarien,4,19,
+ava_lugg,1,19,
+autumn_snow,1,19,
+autgo_(artist),1,19,
+aussie,4,19,
+ausfer,1,19,
+aurum_(lupinator),4,19,
+auraakita,4,19,
+audio_(connivingrat),4,19,
+athletics,0,19,
+athena_(atom605),4,19,
+astronomy,0,19,
+astor_the_peacock,1,19,
+asmodeus_(shinrabanshou),4,19,
+asian_palm_civet,5,19,
+ashwolf,4,19,
+ashenbooper,1,19,
+ash_williams,4,19,
+asfr,0,19,
+asasel_raudthendel,4,19,
+asakitty,1,19,
+aruhs,1,19,
+arugeri,1,19,
+aru,4,19,
+artyskox,4,19,
+arthro,4,19,
+arther_(artca9),4,19,
+artham,4,19,
+artemis_(vestina),4,19,
+artakura,1,19,
+arta_shrike,4,19,
+art_gallery,0,19,
+arson,0,19,
+army_helmet,0,19,
+armalita_(macmegagerc),4,19,
+arm_on_hip,0,19,
+arm_in_arm,0,19,
+arm_behind,0,19,
+ark_gullwing,4,19,
+ark-32_(artist),1,19,
+arin_michaelis,4,19,
+arianna_(jackpothaze),4,19,
+ari_the_talonflame,4,19,
+arf,0,19,
+arcticdunx,1,19,
+arcten_sorrenan_talematros,4,19,
+archvile_(doom),5,19,
+architect_(subnautica),5,19,
+archer_of_red,4,19,"archer_atalanta,archer_of_""red"""
+arcc_(character),4,19,
+arcane,0,19,
+arashi_kumo,4,19,
+ara_chibi,1,19,
+aquaticneon,1,19,
+aquamarine_hair,0,19,
+april,4,19,
+apollo_hale,4,19,
+aorumi,1,19,
+aoi_shibuya,4,19,
+aoi_k3,1,19,
+anus_transformation,0,19,
+anubislaughed,1,19,
+ante90,1,19,
+antaeus,1,19,
+answering,0,19,
+ansel_(arknights),4,19,
+annukarts,1,19,
+announcer,0,19,
+anka,4,19,
+animal_boxing,3,19,
+angie_(magolobo),4,19,
+angerelic,1,19,
+angemon,5,19,
+andrus,4,19,
+andrewsarchus,5,19,
+andhalm,1,19,
+anderhorlo,1,19,
+anat,4,19,
+anastasya,4,19,
+anarchyhyena,4,19,
+amputated_limb,0,19,
+amplitude,1,19,
+amnesia,0,19,
+amin_(misterstallion),4,19,
+ameve,4,19,"american_beaver_(kemono_friends),north_american_beaver_(kemono_friends),north_american_beaver_(kemono_friends_game)"
+american_robin,5,19,
+amenimhet,1,19,
+amelie_sanders,4,19,
+amelia_gideon,4,19,
+amelia_auburn,4,19,
+ameb-stuff,1,19,
+ambiguous_penetrating_feral,0,19,
+ambiguous_background,0,19,
+ambient_dragonfly,5,19,
+amberli,1,19,
+amber_(snoot_game),4,19,
+amber_(kurtassclear),4,19,
+amazonamazon,1,19,
+amauta,1,19,
+amatsu_(mh),5,19,"amatsu_(monster_hunter),amatsumagatsuchi"
+alucard_(castlevania),4,19,
+alpha_werehimbo,1,19,
+alp-luachra,5,19,
+allmate,5,19,
+alli_paeonia,1,19,
+alli,4,19,
+allfather,1,19,
+all_saints_street,3,19,
+all0412,1,19,
+alke,1,19,
+alister_(character),4,19,
+alisa_(vhsdaii),4,19,
+alipes,1,19,
+alicorn-without-horn,1,19,
+alice_tamamo,4,19,
+alexander_wolf_gear_(character),4,19,
+alexa_(gomibin),4,19,
+alex_bunny,4,19,
+alex_bluebird,1,19,
+alex_(syntech),4,19,
+alex_(spikedmauler),4,19,
+alecia_lewis_(animew),4,19,
+albion_(albion2000),4,19,
+albedo_(whygenamoon),4,19,
+alauthshae,4,19,
+alarice,4,19,
+alannah_(foulcritter),4,19,
+alador_blight,4,19,alador_blight_(the_owl_house)
+alabama_hot_pocket,0,19,
+aku-aku,4,19,
+ako_(character),4,19,
+ako_(ceehaz),4,19,
+akira_slide,3,19,
+akame_(ginga),4,19,
+aislinn_(blaze-lupine),4,19,
+aisha_neavi_(akelyx),4,19,
+airliner,0,19,
+aion_(city),4,19,
+ai_(fumblingfoxpaws),4,19,
+ahruon,1,19,
+aguila_la_serie_animada,3,19,
+aggathos_(amocin),4,19,
+aganenaga,1,19,
+after_autofellatio,0,19,
+aerona,4,19,
+aeromagazines,1,19,
+aela_the_huntress,4,19,
+aegwinn,1,19,
+adventure_funtime_foxy_(fnaf),4,19,
+adu_bunny,4,19,
+adobe_photoshop,3,19,
+adler_(feber12),4,19,
+adjusting_hat,0,19,
+aditimalal,1,19,
+adetokunbo_(colt_quest),4,19,
+addison,4,19,
+adamai_(wakfu),4,19,
+ace_king,4,19,
+acaedus,4,19,
+abygail,4,19,
+absalon422,1,19,
+abraham_lincoln,4,19,
+abortishi,1,19,
+abigail_williams_(fate),4,19,
+abe_yukio,1,19,
+abakan,4,19,
+aardwolf_(kemono_friends),4,19,"civet_hyena_(kemono_friends),maanhaar_jackal_(kemono_friends)"
+a_traveling_wolf,1,19,
+a.o.kigahara,4,19,
+a-25_(renthedragon),4,19,
+>:c,0,19,
+8-teenplus,1,19,
+6_balls,0,19,
+69_standing,0,19,
+5240mosu,1,19,
+50:59,7,19,
+4rch,1,19,
+3drod,1,19,
+3d_horsey_3d,1,19,
+30mrknowitall,1,19,
+2yakitori2,1,19,
+29_da2,1,19,
+20:23,0,19,
+20:19,7,19,
+17:25,0,19,
+15.ai,3,19,
+12takase14,1,19,
+11:13,7,19,
+0phanim,1,19,
+0fupera0,1,19,
+06222_(hallowedgears),4,19,
+zyla_garthori_(zylo_garoh),4,18,
+zuriel_(spacesharkarzul),4,18,
+zuri,4,18,
+zsky,1,18,
+zoya_(swissdr4g0n),4,18,
+zoltan_(yawg),4,18,
+zodopop,1,18,
+zizi_(zz22),1,18,
+zizi_(lagotrope),4,18,
+ziroverse,1,18,
+zira_(marko),4,18,
+zipper_leotard,0,18,
+zipp_(blazingcheecks),4,18,
+zimp,4,18,
+zhid13arts,1,18,
+zhen_(megatome),4,18,
+zeydaan,4,18,
+zet13,1,18,
+zerperay,1,18,
+zero_zero.exe_(oc),4,18,
+zerig,4,18,
+zenvist,1,18,
+zenith_(phantom1snake),4,18,
+zeltara,4,18,
+zelas_(cirez),4,18,
+zel_(seraziel),4,18,
+zeke_(diarmaidhutchence),4,18,
+zeka_(alanisawolf777),4,18,
+zeachy,1,18,
+zareonianwolf,1,18,
+zahara_(providentia),4,18,
+zachary_(starthemadman),4,18,
+zach_weiner,1,18,
+zach_(felino),4,18,
+zach_(bloodhawk),4,18,
+yung_venuz,4,18,
+yukipuppo,1,18,
+yuki_(yukitallorean),4,18,
+yuki_(dirtyscoundrel),4,18,
+yudhaikeledai,1,18,
+yu_yu_(ceehaz),4,18,
+yororo,1,18,
+yongzhe,4,18,
+ymir_the_tusk,4,18,
+ylwkirby,1,18,
+yin-kurama,4,18,
+yikomega,1,18,
+yibsy,1,18,
+yellow_wall,0,18,
+yellow_ring,0,18,
+yellow_mask,0,18,
+yellow_high_heels,0,18,
+yellow_eyelashes,0,18,
+yellow_back,0,18,
+yellow_armband,0,18,
+yeila,4,18,
+yeeeebis,1,18,
+yasha_(rukaisho),4,18,
+yare_yare_daze,0,18,
+yarart,1,18,
+yaman,1,18,
+yamaha,3,18,
+yakitora_(catsudon),4,18,
+yakimo,1,18,
+yakeera_(hoofen),4,18,
+xylex,4,18,
+xxzerkkandragonxx,1,18,
+xx0morgan0xx,1,18,
+xushibeetle,1,18,
+xurina,4,18,
+xlef,1,18,
+xkcd,3,18,
+xiao_hao_er,1,18,
+xiao_(dark_cloud),4,18,
+xera_(tinnies),4,18,
+xain_russell,1,18,
+wyatt_(gilded_crown),4,18,
+wufrick,1,18,
+wsman,1,18,
+wrist_restraint,0,18,
+wrinkles_in_clothes,0,18,
+worms_(series),3,18,
+woolly_mammoth_(kemono_friends),4,18,mammoth_(kemono_friends)
+wood_door,0,18,
+wonderland,0,18,
+wolfwireless_(character),4,18,
+wolfie_(wolfpack_x),4,18,
+wolfdave,4,18,
+wocky_(neopets),5,18,
+wnhr08,1,18,
+witnesstheabsurd,1,18,
+witchpuppy,4,18,
+wink_emoticon,0,18,
+winding_key,0,18,
+wind_dragon_(kame_3),4,18,
+willian_(zourik),4,18,
+wild_spice_(oc),4,18,
+wild_horse,5,18,
+wielder_(character),4,18,
+widow,4,18,
+wide_shoulders,0,18,
+whiteyonggari_(artist),1,18,
+whitelister,1,18,
+whitebunny,4,18,
+white_swimming_trunks,0,18,
+white_lion_(kemono_friends),4,18,
+white_jeans,0,18,
+white_floor,0,18,
+white_bracelet,0,18,
+white_bow_tie,0,18,
+whimsalot,4,18,
+wheover,1,18,
+what_did_i_do_to_deserve_this_my_lord?,3,18,
+wet_shorts,0,18,
+wet_bed,0,18,
+wesley_(thekazbat),4,18,
+werewolf_the_forsaken,3,18,
+wereshark,5,18,
+wererat_(ben300),4,18,
+werefish,5,18,
+welfi,1,18,
+water_clouding,0,18,
+wat_son_(artist),1,18,
+waspinator,4,18,
+wasabikitten,1,18,
+wartorn,3,18,
+warmspaceman,1,18,
+warly,4,18,
+warhammer_age_of_sigmar,3,18,
+wardell_(animal_crossing),4,18,
+wants_a_hug,0,18,
+wani,4,18,
+walnut_(character),4,18,
+vynn_(itswolven),4,18,
+vulcan_(dragonfer),4,18,
+vore_comics,1,18,
+volteer_(binturongboy),4,18,
+volkitsu_(insomniacovrlrd),5,18,
+voka,4,18,
+voidirium,1,18,
+void_(atomic_cat),4,18,
+viz,3,18,
+vivi_(vivee),4,18,
+viv_the_game,3,18,
+vitally_(character),4,18,
+viskal,5,18,
+virteil,1,18,
+virgin_blood,0,18,
+violetrosefall,1,18,
+violet_(r-mk),4,18,
+vinni_the_husky,4,18,
+vincent_violeta,4,18,
+vincent_valentine,4,18,
+vincent_(bobert),4,18,
+village_leader_yoshi,4,18,
+vile,1,18,
+view_shake,0,18,
+vietnamese_text,7,18,
+vide,1,18,
+vicki_valentine,4,18,
+viciouscabaret,1,18,
+vibrator_in_urethra,0,18,
+vibing,0,18,
+vet,0,18,
+vesta_(animal_crossing),4,18,
+veskin,4,18,
+verysleepycat,1,18,
+vertopaz,1,18,
+verrest,1,18,
+verolzy,1,18,
+vermeilbird,1,18,
+veravia_(dank_wankem),4,18,
+vera_(jelomaus),4,18,
+venus_(planet),0,18,
+venturesofthevashizzle,1,18,
+ventrus_kovarik,4,18,
+vel_(jigrasmut),4,18,
+vehicle_interior,0,18,
+vea_(hasukii),4,18,
+varmint,5,18,
+vanille,4,18,
+vanillaram,4,18,
+van_vader,4,18,
+vamira_(goopyarts),4,18,
+vamero,4,18,
+vambre,4,18,
+valor_(valorvevo),4,18,
+vallent,4,18,
+valerok,1,18,
+valerie_(whateverthefox),4,18,
+valerie_(certifiedhyena),4,18,
+valeford,4,18,
+vajramon,5,18,
+vailwolf,1,18,
+vagelio,1,18,
+vados,4,18,
+vadim_(renthedragon),4,18,
+v1_(ultrakill),4,18,
+uyasotz_(professor_fluffytail),4,18,
+uta-inu,1,18,
+usmc,0,18,
+urska_jinx,4,18,
+ursi_(alfredblaze),4,18,
+uri_(artist),1,18,
+upside_down_face,0,18,
+ups,3,18,united_parcel_service
+unusual_form,0,18,
+unrequited_love,0,18,
+unown_x,5,18,
+unknownlewder,1,18,
+unknownhornyartist,1,18,
+unknown_year,0,18,
+unknown_position,0,18,
+ungatox3,1,18,
+uncanny_resemblance,0,18,
+unbuttoning,0,18,
+unagiga,1,18,
+umber_(oskube),4,18,
+ukon_vasara,1,18,
+ueno_musashi,1,18,
+ubernewtype,1,18,
+ube_(anibusvolts),4,18,
+uav,0,18,
+tysuga_(character),4,18,
+tylon_(character),4,18,
+twobey,1,18,
+two_tone_thigh_boots,0,18,
+two_tone_leg_warmers,0,18,
+two_tone_bow_(anatomy),0,18,
+twitter_bird,4,18,
+twitching_toes,0,18,
+twitch_otyolf,4,18,
+twisted-doctor,1,18,
+twilight_elderflower,4,18,
+twig_(ncs),4,18,
+tv_show,0,18,
+tv_series,0,18,
+tuubi,1,18,toohbic
+tutmut,1,18,
+tuskarr,5,18,
+turnbuckle,0,18,
+turnabout,0,18,
+turkey_baster,0,18,
+tuck_carbunkle,4,18,"tuck_cornelius_carbunkle,tucker_carbunkle,tucker_tuck_cornelius_carbunkle"
+tube_gag,0,18,
+tsumetoro,1,18,
+tsume_(wolf's_rain),4,18,tsume_(wolfs_rain)
+tsukushi_akihito,1,18,
+tsukuda_0018,1,18,
+tsimh'ir_(iirien),4,18,
+tron:_legacy,3,18,
+trixie_triceratops,4,18,
+tristan_beaner,4,18,
+tripp_pants,0,18,
+triple_sevens_(triplesevens),4,18,
+trinityinyang,1,18,
+trickster.puppy,1,18,
+triangular_body,0,18,
+tria_(the_land_before_time),4,18,"tria_(land_before_time),tria_(lbt),tria_(tlbt)"
+trent_(gunmouth),4,18,
+trefoil,0,18,
+trashdog420,1,18,vanishingact
+trap_princess,4,18,
+transparent_latex,0,18,
+translucent_handwear,0,18,"translucent_hand_wear,transparent_hand_wear,transparent_handwear"
+translucent_border,0,18,
+transistor,3,18,
+transformation_by_magical_item,0,18,
+transfaled_(fwexz),1,18,
+tram_pararam,1,18,
+traga,4,18,
+tracy_mcallister_(lildredre),4,18,
+tpf1990,1,18,
+tozias_silverfang,4,18,
+toxyc,1,18,
+toxic_(ravefurrypower12),4,18,
+tox_(greendragontea),4,18,
+tower_of_pimps,0,18,
+touching_shin,0,18,
+touching_own_stomach,0,18,
+toucat,5,18,
+torrent_(artist),1,18,
+torrapat,4,18,elpatrixf's_fursona
+torqueemup,1,18,
+toronto_maple_leafs,3,18,
+tornadus_(incarnate_form),5,18,
+torn_sweater,0,18,
+tormund,4,18,
+tori_(penlink),4,18,
+toraji,1,18,
+top_lift,0,18,
+toothy,4,18,
+toodles_(casanova_cat_1951),0,18,
+tonythegoat,1,18,
+tongue_visible,0,18,
+tongue_suck,0,18,
+tongue_mouth,0,18,
+tongue_insertion,0,18,
+tomskeleton,1,18,
+tombstonejoe,1,18,
+tomato_sauce,0,18,
+tom_(onykr),4,18,
+tolild,1,18,
+toka_(artist),1,18,
+tohaakart,1,18,
+togalay,1,18,
+tofuxal,1,18,
+toby_wolfkat,4,18,
+toboki,1,18,
+tobi_(artist),1,18,
+toastiparty,1,18,
+to_live_and_let_di,3,18,
+tj_tiger,1,18,
+tj_(nightdancer),4,18,
+tixnen,1,18,
+titania_(knightoiuy),4,18,
+titana_(jewelpet),4,18,
+titan_(spyro),4,18,
+tinynasties_(artist),1,18,
+tinycactus,1,18,
+timothyt,4,18,
+timmy_(allesok),4,18,
+timejumpingfox,1,18,
+timber_wolfwood_(boomerangt3h1337),4,18,
+tight_bodysuit,0,18,
+tiger_electronics,3,18,
+tiger_boy_(latotabo),4,18,
+tied-up,0,18,
+tickling_toes,0,18,
+thunder_dragon_(kame_3),4,18,
+thoshan,4,18,
+thorn193,1,18,
+thomas_green,4,18,
+thoat,5,18,
+thinker_pose,0,18,
+thetigress,1,18,
+thesoldierofspades,1,18,
+thesheerking,1,18,
+thesharkmaster,1,18,
+theseus,4,18,
+thermostat,0,18,
+theotakux,4,18,
+theo_winters,4,18,
+themagicbrew,1,18,
+thelxlbloodlxlprince,1,18,
+thegoldensmurf,1,18,
+thecreatorseye,1,18,
+thechamba,1,18,lastscionz
+the_ugly_duckling,3,18,
+the_punisher,4,18,
+the_one_piece_is_real,3,18,
+the_negative,1,18,
+the_little_dog,4,18,
+the_legend_of_zelda:_ocarina_of_time,3,18,
+the_koopa_trooper,1,18,
+the_big_dog,4,18,
+the_adventure_of_xefino,3,18,
+the-impeccable-dan,3,18,
+thatguyssins,1,18,
+that1cactus,1,18,
+tharronis,4,18,
+thanator,5,18,
+tf2_demo_2004,1,18,
+text_input_box,0,18,
+texell,4,18,
+tetsu_kiri,1,18,
+testicle_in_urethra,0,18,
+tess_(bcb),4,18,
+terupancake,1,18,
+terry_(zzinhimsum),4,18,
+terri_(lordflawn),4,18,
+terran_marine_(starcraft),4,18,
+terishaeilian,1,18,
+teppuru_(cocotama),4,18,
+tenzing,1,18,
+tentacular_(rumble),4,18,
+tentacle_oviposition,0,18,
+tentacle_in_balls,0,18,
+tenser_(oc),4,18,
+tenkowski,4,18,
+ten_of_spades,0,18,
+templado,1,18,
+telltale-sheriff,1,18,
+tehsquishyray,1,18,
+teela_smothers,4,18,
+teeh,0,18,
+tearing_topwear,0,18,
+teal_countershading,0,18,
+td_(character),4,18,
+taylor_tuckerman,4,18,
+tawzy,1,18,
+taurus666,1,18,taurus_666
+tattoo_on_neck,0,18,
+tartan_underwear,0,18,
+target_(artist),1,18,
+tar_pit,0,18,
+tapiokaauwaaaaa,1,18,
+tao_trio,0,18,
+tanos,4,18,
+tanio_(character),4,18,
+tani_(cranihum),4,18,
+tango_gao,1,18,
+tangdroid,1,18,
+tanek_eros,4,18,
+tan_muzzle,0,18,
+tan_beard,0,18,
+tammy_(thecatnamedfish),4,18,
+tamahana,1,18,
+tama_(the_lion_king),4,18,
+talisin_(far_beyond_the_world),4,18,
+talikatailstudios,1,18,
+talia_(qckslvrslash),4,18,
+tala_(wolfizen),4,18,
+takla,1,18,
+takena_nagao,3,18,
+tak-tik_(kobold_adventure),4,18,
+taizo_hori,4,18,
+tails_(mlp),4,18,
+tail_box,1,18,
+tagane,1,18,
+tacodebeef,1,18,
+tabusa,1,18,"fomalhaut,haut,tabusa9,vaylen"
+tabreon,4,18,
+taboo_dragoo,4,18,
+table_tennis_paddle,0,18,
+t_kohaku2016,1,18,
+t-bone_(swat_kats),4,18,
+t-abyss_virus_mutant_(resident_evil),5,18,
+system_of_a_down,3,18,
+synthsparkle,1,18,
+symph_(velociripper),4,18,
+sylux,4,18,
+sylas_(armello),4,18,
+syforg,1,18,
+sword_(artist),1,18,
+swollen_vulva,0,18,
+swimsuit_removed,0,18,
+sweet_braixen,4,18,
+sweatpants_(artist),1,18,
+sweaterbrat,1,18,"applebun,applebun_(artist),cyanpunk,cyanpunk_(artist),dumkitsune,dumkitsune_(artist),dumtanuki,dumtanuki_(artist),milklapine,milklapine_(artist),mintsheep,mintsheep_(artist),pix_pet,pix_pet_(artist),pixelpet,pixelpet_(artist),pixsweaterz,pixsweaterz_(artist),sweaterbrat_(artist),sweaterz,sweaterz_(artist)"
+sven_(notsafeforhoofs),4,18,
+sven,4,18,
+svaros_atulass_(domehead),4,18,
+sushi_(nitro),4,18,
+susan_steel,4,18,
+susan_(wolfpack67),4,18,
+surprise_attack,0,18,
+sunshine_smiles_(mlp),4,18,
+sunny_frostwolf,1,18,
+sundari,4,18,
+sun_cream,0,18,
+sumica_(chace),4,18,
+sulisia,4,18,
+sujiotheram,1,18,
+sujio,4,18,
+suihei_kamomeno,4,18,
+suggestive_nozzle,0,18,
+sugar_(slovenskiy),4,18,
+sue-chan,4,18,
+suddenly_penis,0,18,
+suction_device,0,18,
+succubamon_x,4,18,
+suami,4,18,
+stuart_little_(film),3,18,
+striped_pillow,0,18,
+striped_hands,0,18,
+striped_bandanna,0,18,
+strength_(tarot),0,18,
+straycat,1,18,
+strawberry_saal,1,18,
+stratamax,4,18,
+strachinthesack,1,18,
+story_in_comments,7,18,
+storm_dragon,5,18,
+stock,4,18,
+stitchu,4,18,
+stirrup_thigh_socks,0,18,
+stinkworm,1,18,
+stickybreadbarbarian,1,18,
+stickerboard_(tf2_demo_2004),4,18,
+sth,0,18,
+stew_(mosquitostew),4,18,
+steve_prescott,1,18,
+stella_(garuda_six),4,18,
+stelard_actek,4,18,
+steel_(qoolbunart),4,18,
+steel-toe_boots,0,18,
+startgenk9,1,18,
+starpaw_(character),4,18,
+starcrosser,4,18,
+star_the_spineless_hedgehog,4,18,
+standing_on_shoulders,0,18,
+staindog,1,18,
+sspore,1,18,
+srxnico97,1,18,
+sr_biock,1,18,
+squilliam_fancyson,4,18,
+squiddly_diddly,4,18,
+squeakerbat,1,18,
+square_penis,0,18,
+spring_(hydrology),0,18,
+spreading_butt_cheeks,0,18,
+spotted_headwear,0,18,
+spotted_cheeks,0,18,
+sportwear,0,18,
+spookspk,1,18,
+spoctor_theory,4,18,
+split_(kilinah),4,18,
+splatcum,1,18,
+spiritofthwwolf,1,18,
+spiritfoxcat,5,18,
+spinner_(spyro),4,18,
+spider_strumpet,1,18,
+spectrum_storm,4,18,
+spectrophilia,0,18,
+specimen_17_(nightfaux),4,18,
+species_name_in_message,0,18,
+species_(franchise),3,18,
+spayed,0,18,
+spawn,4,18,
+sparkscut,1,18,
+spare_(sparecoyote),4,18,
+spade_shaped_flare,0,18,
+spacemanspiff37,1,18,
+spacegaylien,1,18,
+spacefluuff,1,18,
+space_heater,0,18,
+soup-erb,1,18,
+soulharvest,1,18,
+sou,1,18,
+soronous,1,18,
+soren_(gogh),4,18,
+sora_(skulkers),4,18,
+sophie_(bobert),4,18,
+soomir,1,18,
+soolossean,5,18,
+sonya_(villainous_muse),4,18,
+sonnyfox,1,18,
+sonimad_(artist),1,18,
+sonia_(rukaisho),4,18,
+somnolentdoll,1,18,
+somnax,1,18,
+solvi,4,18,
+solairethedragon,3,18,
+soiled_panties,0,18,
+softnesspoint,1,18,
+soft_gore,0,18,
+socks_(sockrateesy),4,18,
+socks_(bluey),4,18,
+soaking,0,18,
+so_sorry_(character),4,18,
+snowdon,0,18,
+snowblind,4,18,
+snow_(cerberus),4,18,
+snout_size_difference,0,18,
+snork,5,18,
+snorgastic,1,18,
+snood_(anatomy),0,18,"avian_snood,bird_snood,snood_(avian),snood_(bird),snood_(feature),snood_(turkey),turkey_snood"
+sniglets,3,18,
+snackoon,3,18,
+smutty_pancakes,1,18,
+smooth_penis,0,18,
+smock,0,18,
+smirnov,4,18,
+smiley_(sherlock_hound),4,18,
+smidgefish,1,18,
+smashmeerkat,4,18,
+smartaldebaran,1,18,
+small_bikini,0,18,
+slogan,0,18,
+slog,1,18,
+slivian,5,18,
+slinky,0,18,
+slim_figure,0,18,
+slickfox,1,18,
+sledding,0,18,
+slb94,1,18,
+slavic_mythology,3,18,
+slashy_slashy,1,18,
+slaanesh,4,18,
+skytea,1,18,
+skyler_(lukario),4,18,
+skyla_the_flygon,4,18,
+skye_(shark7),4,18,
+sky_chaser_(character),4,18,
+skweex,4,18,
+skritt,5,18,
+skrime,4,18,
+skotha_(miso_souperstar),4,18,
+skooma,0,18,
+skoda_(monstercatpbb),4,18,
+skink_hisshiss,1,18,
+skimpy_bottomwear,0,18,
+skie_(trueglint360),4,18,
+skbld,1,18,
+size,0,18,
+sis's_gamble,3,18,
+sirens,0,18,
+sirang_(herbivore_high_school),4,18,
+siphonjob,0,18,
+sinni_toivonen_(meggersnuff),4,18,
+sinicore,1,18,
+sinica,4,18,
+singedrac,1,18,
+sindy,4,18,
+sinclaire_(dasa),4,18,
+simx,1,18,
+silvershadowheart,1,18,
+silver_veil,4,18,
+sillydraco_(sillydraco),4,18,
+siliciaart,1,18,
+silence,0,18,
+sil'fer_riptide,4,18,
+sikes,1,18,
+sikafox,1,18,
+sihan,1,18,
+sigur024,1,18,
+signet,1,18,
+sicle,4,18,
+shy_expression,0,18,
+shuu_(pkuai),4,18,
+shush_(lilo_and_stitch),4,18,"experiment_234,shush_(l&s),shush_(las),shush_(lilo_&_stitch),shush_(stitch)"
+shumpy,1,18,
+shult_(world_flipper),4,18,
+shountar,1,18,
+short_tail_feathers,0,18,
+shoko_contane,1,18,
+shoka_attenborough,4,18,
+shocker,0,18,
+shockandterror,1,18,
+shoa_mien,4,18,
+shirt_behind_head,0,18,
+shir0anko,1,18,
+shippo_(horitomo),4,18,
+shinzu_nanaya,4,18,
+shinazuka,1,18,
+shin_megami_tensei_v,3,18,
+shin_(las_lindas),4,18,
+shiloh_(shicho),4,18,
+shikoku_(artist),1,18,
+shiki_2p,1,18,
+shijima,1,18,
+shiina_(dansharkman),4,18,
+shigoni,5,18,
+shield_(character),4,18,
+shibi,1,18,
+shiana,4,18,
+sheyvon,4,18,
+sheridan_college,3,18,
+shentuqaq,1,18,
+shelby,4,18,
+sheepypeepy,1,18,
+sheath_knotting,0,18,
+shaye,4,18,
+shattered_glamrock_chica_(fnaf),4,18,
+sharp_fingers,0,18,
+sharonkos,1,18,
+sharkie19,1,18,
+sharkfloof,1,18,
+shard_glacia,4,18,
+shao_kahn,4,18,
+shaman_king,3,18,
+shale_(eaumilski),4,18,
+shale_(avelos),4,18,
+shadowsky,4,18,
+shadowpanther,4,18,
+shadowdog,5,18,
+shadow_dedede,4,18,
+shadow-gate,1,18,
+shade_vasmir,4,18,
+sgt-jz,1,18,
+sfmmations,1,18,
+sex_toy_on_tail,0,18,
+seva_(agitype01),4,18,
+setsunacross,4,18,
+seth_(sethyhusky),4,18,
+sesh,4,18,
+serguz,4,18,
+sergeantdraenei,1,18,
+sergal_gustaf7,1,18,
+serena_(artemis_the_sylveon),4,18,
+seph491,3,18,
+sendraxmon,1,18,
+selwyn,4,18,
+seledrex,4,18,
+segawa_(games),3,18,
+seffy,4,18,
+sedgewick_sable,4,18,
+secret_photo_challenge,3,18,
+sebi,4,18,
+sebastian_(disney),4,18,
+seal_of_solomon,0,18,
+seal_humanoid,5,18,
+seal_brown_horse_(kemono_friends),4,18,"black_thoroughbred_(kemono_friends),seal_brown_thoroughbred_(kemono_friends)"
+sea_of_thieves,3,18,
+sd_gundam_sangokuden,3,18,
+scuted_feet,0,18,
+scratching_post,0,18,
+scleria_(m3reel),4,18,
+schitz_(character),4,18,
+scheme0241,1,18,
+schematic,0,18,
+scavenger_(rain_world),5,18,
+scam,0,18,
+scaliecrocs,1,18,
+sayuupi,1,18,
+savarin_draws,1,18,
+savant_(kintarius),4,18,
+saurgon,1,18,
+saucewetdream,1,18,
+saturday_morning_breakfast_cereal,3,18,smbc
+satomi,1,18,
+sato_leone_(character),4,18,
+saskatoon_ikunuvik_santkitankni,4,18,
+sasha_dunkelshade,4,18,
+sasha_demogorgon,1,18,
+sasha_(sashashark),4,18,
+sarydragon,1,18,
+sarus,4,18,
+sarukaiwolf,1,18,
+sari,0,18,
+sargavien,5,18,
+saphir_glitzern,4,18,
+santo_fabbro,1,18,
+saneperson,1,18,
+sandra_storm,4,18,
+sandra_(samkin),4,18,
+sandio,4,18,
+sanae_nagatsuki,4,18,
+samuel_hayden,4,18,
+samiweasel,1,18,
+samantha_potts,4,18,
+sam_fischer,4,18,
+sam_(steamyfur),4,18,
+sam_(hakya11),4,18,
+sam_(coffee_demon),4,18,
+sam-i-am,4,18,
+salvador_(gabu_art),4,18,
+salty-paws,4,18,
+salacious_crumb,4,18,
+sakalis_aklond,4,18,
+sagorashi,1,18,
+sagisou,4,18,
+sage116,1,18,
+sadie_(triprat),4,18,
+sadie,4,18,
+sadako_yamamura,4,18,
+sacrier,5,18,
+sachiko_(urw),4,18,
+sachiho,4,18,
+sabi_(character),4,18,
+saber_suzuka_gozen,4,18,"saber_(fate/extra_ccc_fox_tail),saber_(fate_extra_ccc_fox_tail),saber_tate_eboshi"
+s_ouo,1,18,
+ryxinel,1,18,
+ryuzaki,4,18,
+ryuumaou_(0oita),4,18,
+ryuu'ka_te'kuian,4,18,
+ryoku_kun,4,18,
+ryoku7,1,18,
+rynnion,4,18,
+rye_muro,1,18,
+rye_(darkcresentskymin),4,18,
+rydan_(firenor),4,18,
+ryanne_ahegao,4,18,
+ryan_(sebafox),4,18,
+rushics,1,18,
+rupert_(family_guy),4,18,
+rulion,1,18,
+rukuria,1,18,
+rufus_(kim_possible),4,18,
+ruffed_lemur,5,18,
+rue_(oneshot),4,18,
+rue_(characters),4,18,
+rubydusk,1,18,
+ruby_(buffbumblebee),4,18,
+rubi_(coc),4,18,rubi_(corruption_of_champions)
+rubber_fox_lady,4,18,
+rubber_fox_guy,4,18,
+rubber_drone,0,18,
+rozeypozey,1,18,
+royce_(hurst),4,18,
+royaloppai,1,18,
+roy_wolverine,1,18,
+roxie_raptor,4,18,
+roxie_mcterrier,4,18,
+roxas_avidan,4,18,
+roxanne_(bunnydewart),4,18,
+rowan_blackwell,4,18,
+rouse,4,18,
+rougetsu,4,18,
+rot,0,18,
+rosse_(kaidzsu),4,18,
+roseboy,4,18,
+rose_moonfeather,1,18,
+rosamia,4,18,
+rory_(shadowponi),4,18,
+rooney_(animal_crossing),4,18,
+roodkat,1,18,
+ron_(wolfy-nail),4,18,
+ron_(nexus),4,18,
+romeo_(roadside_romeo),4,18,
+romanwildernessofpain,1,18,
+roman_(woadedfox),4,18,
+rollfox,1,18,
+rogue621,1,18,
+roger_(artbyyellowdog),4,18,
+rodan_r18,1,18,
+roco_(character),4,18,
+rocketwolfy,1,18,
+rockethaslanded,1,18,
+robot_dog,5,18,
+robber,0,18,
+rob_(newtype_hero),4,18,
+roast_chicken,0,18,
+rmmlusitania,1,18,
+rj,4,18,
+rizo_(parker_simmons),4,18,
+riyvka,4,18,
+riverwalker,4,18,
+rita_(pyredaemos),4,18,
+risqueraptor,1,18,
+riskyribs,1,18,
+risangdrawstuff,1,18,
+risa_(spyingredfox),4,18,
+ririten_yuyuten,4,18,
+ripped_sleeves,0,18,
+riot,0,18,
+rioichi_cooper,4,18,
+rinnik,1,18,
+rinnegan,0,18,
+ringtail-du-jour,0,18,
+rindimo,1,18,
+rileyavocado,1,18,
+riley_(rickgriffin),4,18,
+rikken_talot,4,18,
+riggle,4,18,
+rigeli_xenogon,4,18,
+riffraff666,1,18,
+rhodyn_(shibiru),4,18,
+rhino_(bolt),4,18,
+rezura_(darfix),4,18,
+reyna,4,18,
+reylobo,1,18,
+rexar_(rrrex),4,18,
+rex_(sabretoothed_ermine),4,18,
+rev_the_scorbunny,4,18,
+retracted_penis,0,18,
+resint5,1,18,
+reshiram_nerd,4,18,
+reruponzu,1,18,
+reptoid,5,18,
+repoussoir,0,18,
+reomm,1,18,
+renka_(lotus_flame)_(ymbk),4,18,
+rena_(yukkooart),4,18,
+remi,4,18,
+remember_the_flowers,3,18,
+relic_the_pika,4,18,
+rel_(lumen_fox),4,18,
+reinal,4,18,
+reina_(reinabaird),4,18,
+rein_stockings_(demon_ascended),4,18,
+reimon-master-ii,1,18,
+reiku,4,18,
+reia_(zerrexnarrius),4,18,
+rei'ok_(superpianoman929),4,18,
+rehreh,1,18,
+regislowstart,1,18,
+regigi9,1,18,
+reformed_inu,4,18,
+redsunatdawn,1,18,
+redflingfox,1,18,
+redd_(redd),4,18,
+redcoatcat,1,18,
+red_virus_(dr._mario),5,18,
+red_pupil,0,18,
+red_piercing,0,18,
+red_overalls,0,18,
+red_bed,0,18,
+red_(rq),4,18,
+red_(bigmaster),4,18,
+reclining_chair,0,18,
+reaper_(mass_effect),5,18,
+reala,4,18,
+rca_connector,0,18,
+razor_the_shark,4,18,
+razor_(razor231),4,18,
+razor-the-cross-fox,1,18,
+raydenryu_(artist),1,18,
+raw_meat,0,18,
+ravenemore,1,18,
+ravager,5,18,
+rasi,4,18,
+raridashdoodles,1,18,
+rape_horse,4,18,
+ranxfanx,1,18,
+ranfox,4,18,
+randy_(lolly-pup),4,18,
+rand_(breath_of_fire),4,18,
+ramchi,1,18,
+rambi_the_rhinoceros,4,18,
+rakisha_(character),4,18,
+rainy4k,1,18,
+raine_(bundadingy),4,18,
+raine,4,18,
+rainbowfoxy,1,18,
+rainbow_tattoo,0,18,rainbow_tattoos
+rainbow_highlights,0,18,
+raike,4,18,
+raiju_(mge),4,18,
+rah-kisara,1,18,
+ragemasher,1,18,
+rafters,0,18,
+rafale_champion_fur_hire,4,18,
+rafael_(dank_wankem),4,18,
+raevis,4,18,
+radruler,4,18,
+radish_spirit,4,18,
+radin_nightfire,4,18,
+radic,4,18,
+radiant_star,4,18,
+radian,1,18,
+racoonadillo,4,18,
+rachete,0,18,
+racebalto,1,18,
+raccoon_mints,1,18,
+rabidpepper,1,18,
+rabbot,1,18,
+r1ce,1,18,
+r.j._(katnay),4,18,
+r-no71,1,18,"arnaud_tegny,rno71"
+qwe0916555838,4,18,
+quote_the_audino,4,18,
+quota,0,18,
+quinn_(scappo),4,18,
+quillmoon,1,18,
+quillan_(artist),1,18,
+quiet,4,18,
+queen_of_spew,1,18,
+queen_kallan_(the-minuscule-task),4,18,
+quark19601,1,18,
+qtippywastaken,1,18,
+pzf_(artist),1,18,
+pwned,0,18,
+pvithe,4,18,
+pussycat_(takena_nagao),4,18,
+pussy_juice_on_own_face,0,18,
+purple_tail_feathers,0,18,
+purple_spines,0,18,
+purple_insides,0,18,
+purple_crop_top,0,18,
+purcy,4,18,
+punk_rock,3,18,
+puncture,0,18,
+pulling_up_clothing,0,18,
+pugilismx,1,18,
+puffbreon,4,18,
+pudgybear,3,18,
+pudge_the_fish,4,18,"pudge_(l&s),pudge_(las),pudge_(lilo_&_stitch),pudge_(lilo_and_stitch)"
+puddomega,1,18,
+public_display,0,18,
+puberty,0,18,
+psyertitan,1,18,
+psychoninetales,1,18,
+psy-crow,4,18,psycrow
+przewalski's_horse,5,18,"mongolian_wild_horse,przewalski_horse,przewalskis_horse"
+prydri,1,18,
+protaktyn,1,18,
+protagonist_(underfell),4,18,frisk_(underfell)
+professor_sada,4,18,
+prodigy_skyfire,4,18,
+privatepomegranate,1,18,
+priscilla_(psychotic_walrus),4,18,
+print_socks,0,18,
+print_armwear,0,18,
+princessyiris,1,18,
+prince_thirash,4,18,
+prince_aurora,4,18,
+primitive,0,18,
+pride_color_crop_top,0,18,
+prehistoric_predation,1,18,
+prehensile_tailed_rat,5,18,
+prayer,0,18,
+powerline,4,18,
+pov_footjob,0,18,
+possumbones,1,18,
+posallion,1,18,
+porter_(pudgybear),4,18,
+portal_autorimming,0,18,
+porscha,4,18,
+pops_maellard,4,18,
+popo_(draco32588),4,18,
+ponyquarantine,1,18,
+ponponka,1,18,
+ponker,1,18,
+poneebutz,1,18,
+polar_shock,1,18,
+pokeball_vore,0,18,
+pointy_thought_bubble,0,18,
+poe,5,18,
+poco,1,18,
+plusion_d,1,18,
+plushtail,1,18,
+plum_(bobcann),4,18,
+plexel,4,18,
+playyfox,1,18,
+playing_with_self,0,18,
+playboy_bunny_logo,0,18,
+play_comic,0,18,
+pko,1,18,
+piranha-man,4,18,
+pipsqueak_(redrabbu),4,18,
+pinto,5,18,
+pinksatin,4,18,
+pink_vest,0,18,
+pink_sneakers,0,18,
+pink_seam_underwear,0,18,
+pink_lightsaber,0,18,
+pink_frill,0,18,
+pink_corset,0,18,
+pink_coat,0,18,
+pineapple_(character),4,18,
+pilgor_(goat_simulator),4,18,a_goat_(fortnite)
+pieu-a-taupe,1,18,
+piercing_fetish,0,18,
+pie_slice,0,18,
+pidgopidgey_(artist),1,18,
+pico_(series),3,18,
+phrost,4,18,
+phrika_(bradkliedsdale),4,18,
+phoebe_(mipsmiyu),4,18,
+phillbeep_beepbop,1,18,
+phantom_ruby,0,18,
+phantom_hand,0,18,
+phanto-katt,1,18,
+phanero,4,18,
+pfp,0,18,
+pewbutt,1,18,
+petri,4,18,
+petra_(chochi),4,18,
+petghost,1,18,
+peterlangtonsfm,1,18,
+peteeliot,4,18,
+pet_toy,0,18,"pet-toy,pettoy"
+peru_tail,0,18,
+peru_ears,0,18,
+personality_change,0,18,
+personal_space_invasion,0,18,
+percy_(disambiguation),4,18,percy
+pepsiman_(character),4,18,
+peppercorn_(freckles),4,18,
+pepper_(cooliehigh),4,18,
+pepegle,1,18,
+penumbra,4,18,
+penthouse_comix,3,18,
+penny_the_skunk,4,18,
+penny_the_bat,4,18,
+penis_with_tongue,0,18,
+penis_under_clothing,0,18,
+penis_toes,0,18,
+penis_inflation,0,18,
+penis_in_uterus,0,18,
+penis_boop,0,18,
+pegasusmon,5,18,
+pearl_the_succubus_(sirjzau),4,18,
+peargor,1,18,
+pear_duchess,1,18,
+peanut_(bunnyboi0108),4,18,
+paws_on_penis,0,18,
+paws_in_socks,0,18,
+paw_growth,0,18,
+paul_(donkey),4,18,
+pattern_floor,0,18,
+patrick_(drks),4,18,
+patricia_(plankboy),4,18,
+pat_(fervidus),4,18,
+pastel_goth,0,18,
+pastel_(character),4,18,
+partlyclowder,1,18,
+partially_visible_anus,0,18,
+parking,0,18,
+paper_child,0,18,
+papasan_chair,0,18,
+panty_theft,0,18,
+panties_on_foot,0,18,
+pangolin_humanoid,5,18,
+pandyland,1,18,
+pan_(hicanyoumooforme),4,18,
+paige_kelly,4,18,
+padfoot_squarepants,1,18,
+packaging,0,18,
+pacifier_in_pussy,0,18,
+pac-person,5,18,
+pablo_(backyardigans),4,18,
+p_(nargacuga),4,18,
+p-47_thunderbolt,0,18,
+ozzy-wildwind,1,18,
+ozzie_(over_the_hedge),4,18,ozzy_(over_the_hedge)
+oxocandykissesoxo,1,18,
+oxide,1,18,
+outlawshark_97,1,18,
+outfit_reference,0,18,
+outdoors_nudity,0,18,
+ou_sakuraba_(shinobe),4,18,
+otto_(cracky),4,18,
+otonaru_(artist),1,18,
+osha_violation,0,18,
+oscar_(knights_college),4,18,
+orz_can,1,18,
+orphilia_orca,4,18,
+orka_(josun),4,18,
+orivarsa_(artist),1,18,
+orgasm_from_licking,0,18,
+organ_(musical_instrument),0,18,
+orchid_(artca9),4,18,
+orcanist,3,18,
+orb_(orbitalis),4,18,
+orange_swimming_trunks,0,18,
+orange_ribbon,0,18,
+orange_heart,0,18,
+orange_(character),4,18,
+orange.slice,1,18,
+ophelia_(chimangetsu),4,18,
+open_wound,0,18,
+open_crotch,0,18,
+oogami,4,18,
+onsti,1,18,
+on_nose,0,18,
+on_heels,0,18,
+omnimon,5,18,
+omega256,1,18,
+olva_(enen666),4,18,
+olly,1,18,"olly_(artist),sketchhedgie,sketchhedgie_(artist)"
+olivia_(snoot_game),4,18,
+olibur,1,18,
+olga_hulhova,4,18,
+oldmusic,4,18,
+older_fingered,0,18,
+old_speckled_hen,3,18,
+old_rylai_design,4,18,
+oktomato,1,18,
+okory,4,18,
+okaeri,1,18,
+oishi,4,18,
+ohh25,1,18,
+ohelladarian_(artist),1,18,
+office_desk,0,18,
+odenzzi,1,18,
+octavia_(warframe),4,18,
+oclao,1,18,
+oca,1,18,
+oarfish,5,18,
+o_squeaks_o,1,18,
+nyarmarr,1,18,
+nyakki,4,18,
+nuzzles,0,18,
+nuwa_a_a_a,1,18,
+nutella,3,18,
+nunyahbis,1,18,
+number_1,4,18,
+null_and_void,1,18,
+nuke_(oc),4,18,
+nukafoxy3,1,18,
+nue,5,18,
+noxcuro,1,18,
+nox_(bad_dragon),4,18,
+nova_(cynnnibun),4,18,
+notravi,1,18,
+nostalgicrogue,1,18,
+nosmir,1,18,
+noriaki_kakyoin,4,18,
+nora_valkyrie,4,18,nora_valkyrie_(rwby)
+noozy,4,18,
+nootkep,1,18,
+nonja,1,18,
+non-mammal_lactation,0,18,
+nom_(themostrealdeal),4,18,
+noir_young,1,18,
+nocturne,0,18,
+nivv_(pmd433),4,18,
+nitsludge,1,18,
+nitska,4,18,
+nitrile,1,18,
+nitef_(nelly63),4,18,
+nismyfform,1,18,
+nippy,4,18,
+nintendo_switch_lite,3,18,
+ninja739,1,18,
+ninja-8004,1,18,
+ninevah,4,18,
+nimmeth,4,18,
+nimaru,1,18,
+nilo_(cardinilo),4,18,
+nillykfox,1,18,
+nilchi_tso,4,18,
+nikolaosflamel,1,18,
+nikko_tsukino,4,18,
+nikita_perovskia,4,18,
+nika_(flamespitter),4,18,
+nii,4,18,
+nightshade,4,18,
+nightonix,1,18,
+night_lark,4,18,
+nicotine-mayhem,1,18,
+nicole_corbin,4,18,
+nicole_(satsumalord),4,18,
+nicole_(nic-m-lyc),4,18,
+nick_(lewdcreamy),4,18,
+nia_(febii),4,18,
+newsboy_cap,0,18,
+neurotically_yours,3,18,
+neru,1,18,
+nero_(miu),4,18,
+nerian_(character),4,18,
+nerds,3,18,
+nephewly,1,18,
+neovagina,0,18,
+neoprene,0,18,
+neophyte-zero,1,18,
+neoartcore,1,18,
+neo_noir,0,18,
+neo_(neoarcadianx),4,18,
+nenekoko_(crap-man),4,18,
+nemona_(pokemon),4,18,nemona_(pokémon)
+nelsha_(artist),1,18,
+nelly_(whateverthefox),4,18,
+nelliel_tu_odelschwanck,4,18,
+nekr0ns,1,18,
+neisa,1,18,
+neigh,0,18,
+negotiation,0,18,
+negablind,1,18,
+neff_(altered_beast),4,18,
+ned_horseman,4,18,
+necron,5,18,
+ndnode,1,18,
+nbc,3,18,
+nayoko_the_kitten,1,18,
+nave,4,18,
+naughty_rabbit,3,18,
+natsu_dragneel,4,18,
+nathing,1,18,nothing41
+natalia_ruyemov_(darkflamewolf),4,18,
+nasheru,1,18,
+narodii,1,18,
+nappa,4,18,
+napkinthief,1,18,
+naomi_rudemo_(ajdurai),4,18,
+naomi_heart,4,18,
+naomi_(plankboy),4,18,
+nanosuit,0,18,
+nani-nani,1,18,
+nanashi_(shirogane_usagi),4,18,
+nanaimo_barr,4,18,
+named,0,18,
+nakmor_drack,4,18,
+nainen_(avelos),4,18,
+nadiya_(vdisco),4,18,
+nadine_hasina_(anheledir),4,18,
+nadialycaon,1,18,
+nadia_(moonsword),4,18,
+nadenka_(jwinkz),4,18,
+nabi_(hodalryong),4,18,
+na-nu-na-12,1,18,
+mythos_(artist),1,18,
+mystique_(marvel),4,18,
+myrmidon,5,18,
+mutilated,0,18,
+musth,0,18,
+mustang_r,1,18,
+musical_note_(marking),0,18,"music_note-shaped_marking,music_note-shaped_markings,music_note_(marking),music_note_(markings),music_note_marking,music_note_markings,music_note_shaped_marking,music_note_shaped_markings,music_notes-shaped_marking,music_notes-shaped_markings,music_notes_(marking),music_notes_(markings),music_notes_marking,music_notes_markings,music_notes_shaped_marking,music_notes_shaped_markings,musical_note-shaped_marking,musical_note-shaped_markings,musical_note_(markings),musical_note_marking,musical_note_markings,musical_note_shaped_marking,musical_note_shaped_markings,musical_notes-shaped_marking,musical_notes-shaped_markings,musical_notes_(marking),musical_notes_(markings),musical_notes_marking,musical_notes_markings,musical_notes_shaped_marking,musical_notes_shaped_markings"
+murphythebat,1,18,
+murderwolf,4,18,
+murasaki_kikyou,4,18,
+munne,4,18,
+munch_(glacierclear),4,18,
+mulu,4,18,
+multiple_colors,0,18,
+multi_medial_ring,0,18,
+muhyo,4,18,
+muffinvinvin,1,18,
+muffin_top_(legwear),0,18,
+muffin_the_eevee,4,18,
+mtn_transformation,0,18,
+ms05591410,1,18,
+mrs._pteranodon,4,18,
+mrs._discord,4,18,
+mrguy820,1,18,
+mrdu3,1,18,
+mrblack86,1,18,
+mr_santello_(nitw),4,18,
+mr.ant,1,18,
+mr._sheep_(toybox_pals),4,18,
+mow_rotom,5,18,"grass_form_rotom,grass_forme_rotom,grass_rotom,lawn_mower_form_rotom,lawn_mower_forme_rotom,lawn_mower_rotom,lawnmower_form_rotom,lawnmower_forme_rotom,lawnmower_rotom,mow_form_rotom,mow_forme_rotom,mower_form_rotom,mower_forme_rotom,mower_rotom,mowing_form_rotom,mowing_forme_rotom,mowing_rotom,rotom_(grass),rotom_(grass_form),rotom_(grass_forme),rotom_(lawn_mower),rotom_(lawn_mower_form),rotom_(lawn_mower_forme),rotom_(lawnmower),rotom_(lawnmower_form),rotom_(lawnmower_forme),rotom_(mow),rotom_(mow_form),rotom_(mow_forme),rotom_(mower),rotom_(mower_form),rotom_(mower_forme),rotom_(mowing),rotom_(mowing_form),rotom_(mowing_forme),rotom_grass,rotom_grass_form,rotom_grass_forme,rotom_lawn_mower,rotom_lawn_mower_form,rotom_lawn_mower_forme,rotom_lawnmower,rotom_lawnmower_form,rotom_lawnmower_forme,rotom_mow,rotom_mow_form,rotom_mow_forme,rotom_mower,rotom_mower_form,rotom_mower_forme,rotom_mowing,rotom_mowing_form,rotom_mowing_forme"
+movi,4,18,
+mouse_ears,0,18,
+mountaincat,1,18,
+motocross,0,18,
+mothpony,5,18,
+mother-in-law_and_son-in-law,0,18,
+mot_fursona,4,18,
+mossyhuldra,1,18,
+mosinro,1,18,
+mosca_juanin,1,18,
+mosa69vosa,1,18,
+morgana,4,18,
+morgan_(thecon),4,18,
+morgan_(gorbograndman),4,18,
+morenor,1,18,
+morena_(cholericat),4,18,
+mordecai_(modern_bird),4,18,
+moparskunk,4,18,
+moonstar_wolf,4,18,
+moonraige,1,18,
+moonpearl,1,18,
+moonlit-comet,1,18,moonlit-comet_(artist)
+moonbug,1,18,tsukikalynn
+moonbeam,0,18,"beam_of_moonlight,beams_of_moonlight,moon_beam,moon_beams,moonbeams,moonlight_beam,moonlight_beams,moonlight_ray,moonlight_rays,ray_of_moonlight,rays_of_moonlight"
+moohanky,1,18,
+monstrous,0,18,
+monster_musume_no_oisha-san,3,18,
+monster+,1,18,
+monotone_markings,0,18,
+monotone_choker,0,18,
+monotone_blouse,0,18,
+monk's_spade,0,18,
+monika_(doki_doki_literature_club!),4,18,"monika_(ddlc),monika_(doki_doki_literature_club)"
+momo-the-bunny,1,18,
+mommyvoir,4,18,
+mommafrederika,1,18,
+mom_jeans,0,18,
+molten,0,18,
+molly_mange,4,18,
+molly_(ozzybear),4,18,
+molly_(joaoppereiraus),4,18,
+molly_(cobaltdawg),4,18,
+mollie_(molliemare),4,18,
+mold_(fungus),0,18,
+mokvwap,5,18,
+mokhadesign,1,18,effydesign
+mokamoshi,1,18,
+moira_(abluedeer),4,18,
+mohuten,1,18,
+moebell,1,18,
+moe_(splatoon),4,18,
+modestwold,1,18,
+mocho,4,18,
+mocha_(frackhead),4,18,
+moai,4,18,
+mo_ne,1,18,
+mizers,1,18,
+mixed_martial_arts,0,18,
+misuraroi,1,18,
+mistersfm,1,18,
+missy_(cobaltdawg),4,18,
+miss_moosie_(character),4,18,
+miss_cake,4,18,
+mismatched_pupils,0,18,
+mismatched_balls,0,18,
+misha_(mischips),4,18,
+misfortunate-rai,1,18,
+misaeldm,1,18,
+miriam_kourlassos,4,18,
+miragepotato,1,18,
+mini_nuke,0,18,
+mimolet,1,18,
+mimizuku_kemo,1,18,
+mimic_(artist),1,18,
+mimi_(pop'n_music),4,18,
+milo_(t0l0k),4,18,
+milka,3,18,
+milarvozmido,1,18,
+mila_(doa),4,18,
+mikro,4,18,
+mikey_(jay_naylor),4,18,
+mike12,1,18,
+mikanyeye,1,18,
+mika_the_cat,4,18,
+mika_(castbound),4,18,
+miike_akunai,1,18,
+mii_gunner,4,18,
+mietere,1,18,
+midorileopard,4,18,
+midnightdraven,1,18,
+midnight_shadow_(ethereal_bitch),4,18,
+midna01,1,18,
+mickathia,4,18,
+michellka,1,18,
+miaugames21,1,18,
+mia_the_lynx,4,18,
+mia_miller_(guak),4,18,
+mia_(komilk),4,18,
+mhu'tiki,4,18,
+mezmaroon,1,18,
+mewwie,1,18,
+metal_hand,0,18,
+metal_chair,0,18,
+metal_bra,0,18,
+messy_bed,0,18,
+merlin_(bird),5,18,
+meratrix,5,18,
+meowstic_(artist),1,18,
+mental_breakdown,0,18,
+menorah,0,18,
+melody_takano,4,18,
+melody_(btt),4,18,
+melkormancin,1,18,
+melany,4,18,
+melancollie,1,18,
+mekh,1,18,
+megabait_(artist),1,18,
+mega_aerodactyl,5,18,
+meep,4,18,
+meenah_peixes,4,18,
+medievil_(game),3,18,
+medaka_ken'ichi,1,18,
+mechslip,1,18,
+meato,4,18,
+meat_bun,0,18,
+mayternity,3,18,
+maya_(poegryn),4,18,
+may_(vexxy),4,18,
+maxyg,1,18,
+maxsta,1,18,
+maxine_caulfield,4,18,
+maximilian,4,18,
+max_servanoubiis,4,18,
+max_(yawg),4,18,
+mawl,4,18,
+mauta_(scrubbed),4,18,
+maus_(deltarune),5,18,
+matthias_(redwall),4,18,
+matteh,4,18,
+matron_trim_furfrou,5,18,"furfrou_(matron),furfrou_(matron_form),furfrou_(matron_forme),furfrou_(matron_trim),furfrou_matron,furfrou_matron_form,furfrou_matron_forme,furfrou_matron_trim,matron_form_furfrou,matron_forme_furfrou,matron_furfrou"
+matilda_the_armadillo,4,18,
+mathfetish,1,18,
+masuda_(hipcat),4,18,
+master_shake,4,18,"shake_(aqua_teen_hunger_force),shake_(athf)"
+mascot_(abigrock),4,18,
+masa20washi,1,18,
+marumu_5656,1,18,
+marten_skunk,4,18,
+marmenuar,1,18,
+maritan,1,18,
+mario_tennis_aces,3,18,
+marine_mammal,5,18,
+marie_(tetetor-oort),4,18,
+marie_(cally3d),4,18,
+mariachi_suit,0,18,
+maria_(gats),4,18,
+marcy's_lewd_images,1,18,
+march_hare_(disney),4,18,
+maplepuff,4,18,
+maplefox,1,18,
+mantivvhore,1,18,
+mango_(omny87),4,18,
+manafox,1,18,
+mamaramz,4,18,
+mamaminxmeat,1,18,
+malkin_(tentabat),4,18,
+malin_(character),4,18,
+malin(dustin_c),4,18,
+malibupup,1,18,
+maleherm/andromorph,0,18,"am/mh,andromorph/maleherm,andromorph_on_maleherm,c/mh,cuntboy/maleherm,maleherm/cuntboy,maleherm_on_andromorph,maleherm_on_cuntboy,mh/am,mh/c"
+male_draconcopode,0,18,
+malcolm_(stripes),4,18,
+malady,4,18,
+maikox,1,18,
+maidfrills,1,18,
+mahorang,1,18,
+maheike,1,18,
+magician's_quest:_mysterious_times,3,18,
+magic_(haflinger),4,18,
+maggie_(disney),4,18,
+mage_hat,0,18,
+maeve_(fluffcat),4,18,
+maddock,4,18,
+maddie_fenton,4,18,"madeline_fenton,madeline_maddie_fenton"
+madboart,1,18,
+mackenya,4,18,
+machinedramon,5,18,
+machinari,1,18,
+maceduu,1,18,
+ma-star_mastiff,4,18,
+m5mona,1,18,
+lysander_(eltigero),4,18,
+lyren,4,18,
+lyra_swiftail,4,18,lyra_(super_lucky's_tale)
+lynxette,1,18,
+lyla_lay,4,18,
+lycheepuddn,1,18,
+luzella,4,18,
+luxxy_zorua,4,18,
+luxure_the_bat,4,18,
+lutherine,1,18,
+lust_(yamikadesu),4,18,
+lupinator,1,18,
+lupa_(huffslove),4,18,
+luna_muenster_(fursona),4,18,
+luna_maindo,4,18,
+luna_(sonicfox),4,18,
+lumi_(petsoftthings),4,18,
+lumi_(coc),4,18,lumi_(corruption_of_champions)
+luke_(69bea),4,18,
+ludicrousdisplay,1,18,
+lucy_(pixiekirin),4,18,
+lucky_(bluey),4,18,
+lucille_(crayzee609),4,18,
+lucas_(littlebluewolfleo),4,18,
+ltamerica,1,18,
+lq-84_fenrir,5,18,
+lowestpolygon,1,18,
+lowered_panties,0,18,
+low_battery,0,18,
+loud_sex,0,18,
+lotus_orsetto,4,18,
+lospa_mog,1,18,
+loretofaron,1,18,
+loose_necktie,0,18,
+longtailshorttemper,1,18,
+longinus_bluewolf,4,18,
+long_john_silver,4,18,
+lomethoron,4,18,
+lolly-pup,3,18,
+loki_(charr),4,18,
+lokelani_anela,4,18,
+loincloth_down,0,18,
+lockheed_martin,3,18,
+lockhart_(lord_salt),4,18,
+lock_(character),4,18,
+loafbeaw,1,18,
+lizardsharkragon,1,18,
+liviuh,0,18,
+living_airplane,5,18,
+livesmutanon,1,18,
+liuthekitty775,1,18,
+lisobelka,4,18,
+lisa_raccoon,4,18,
+linus_(devin),4,18,
+linart,1,18,
+lime_(unigan),4,18,
+lilyamae,1,18,
+lily_(crystalscar),4,18,
+lilmissbunbun,1,18,
+lillith_(oomizuao),4,18,
+lilit_(f-r95),4,18,
+lila_(dtjames),4,18,
+likho,5,18,
+light_shine_(solratic),4,18,
+light_hat,0,18,
+ligerjazz,1,18,
+lifted_by_clothing,0,18,
+lift_and_carry,0,18,
+life's_dream,3,18,
+liervey,4,18,
+lidia_(tunesdesu),4,18,
+licking_thigh,0,18,
+licking_claws,0,18,
+liba,4,18,
+liam_mchowl,4,18,
+liafurr,1,18,
+li'l_lightning,4,18,
+leyna_(ssice),4,18,
+lexie_dragonwolf,4,18,
+lewdtale,1,18,
+lew-legend,1,18,
+lev_(rubonku),4,18,
+leucochloridium_paradoxum,5,18,
+letter_(disambiguation),6,18,
+lester_(trashtoonz),4,18,
+lester_(penlink),4,18,
+lesbian_thoughts,0,18,
+lerk,4,18,
+leopold_the_cat_(series),3,18,
+leopard_print_panties,0,18,
+leo_nine,4,18,
+leo_(imperiallion),4,18,
+leo19969525,1,18,
+lenya_(lenyavok),4,18,
+lencerie,0,18,
+lenbasisky,1,18,
+len_(tsukihime),4,18,
+lemondrop_(character),4,18,
+lemme_smash,3,18,
+leida,4,18,
+legs_on_sofa,0,18,
+legoguy9875,1,18,
+lector_(fairy_tail),4,18,
+lech_bear,4,18,
+leather_skirt,0,18,
+leah_(diablo_3),4,18,
+le_chumsky,4,18,
+lazyyysheep,1,18,
+lazywolf,4,18,
+layered_star,0,18,
+lawealewd,1,18,
+laurent_(vexxy),4,18,
+lauren_(thelazerbird),4,18,
+lattie,4,18,
+latte_(artist),1,18,
+laskey,4,18,
+larger_non-humanoid_machine,0,18,
+larger_maleherm,0,18,
+laranxart,1,18,
+laralila,1,18,
+lapras_paradise,3,18,
+lanllan,1,18,
+lani_anela,4,18,
+lani_(flamespitter),4,18,
+landidzu,1,18,
+landen_(twokinds),4,18,
+lana_the_white_sorceress,4,18,"lana_(loz),lana_(tloz),lana_(zelda),lana_the_sorceress,the_sorceress_of_the_woods,the_white_sorceress"
+lalalalack,1,18,"lack,lackxlack,sakuma_yuta,yuta_sakuma"
+laguna_(mikrogoat),4,18,
+laestir,4,18,
+ladychimaerad,0,18,
+lady_gaga,3,18,
+lactaphilia,0,18,
+lachlan765,1,18,
+laced_underwear,0,18,
+kzlion,1,18,
+kyro_(eraquis),4,18,
+kyre,4,18,
+kyou_039,1,18,
+kylie_griffin,4,18,
+kyle_(monster_hunter_stories),4,18,
+kyghosk,1,18,
+kurosilverfang,1,18,
+kuronezumiinu,1,18,
+kuroji,1,18,
+kurogin,4,18,
+kunarremon,4,18,
+kumo_(ratte),4,18,
+kuki1210,1,18,
+kt-draws,1,18,
+kskillz,1,18,
+krystal_(k9wolf),4,18,
+kreme_d._kookie,4,18,
+kreios,4,18,
+kraxah,4,18,
+kraorozkurogane,1,18,
+krakenkatz,1,18,
+krahs_(krahs_tsai),4,18,
+koyo_draka,1,18,
+koyi,4,18,
+kouji_(keatonvelox),4,18,
+kory_(sunnyhoneybone),4,18,
+koru_(diamobster),4,18,
+korikakumon,5,18,
+korichi_(character),4,18,
+korboryn,4,18,
+kooskia_(artist),1,18,
+koosh,4,18,
+koori,4,18,
+komilk,1,18,
+komikoe,1,18,
+komari_azuul_(character),4,18,
+komanokura,1,18,
+koloni,1,18,
+kokuba_hoeguro,4,18,
+kojiki_(dragon),4,18,
+koiicho,1,18,
+koi(bunny),4,18,
+knotted_cord_end,0,18,
+knock_out_(transformer),4,18,
+knee_guards,0,18,
+knee_brace,0,18,
+klafenrui,5,18,
+kizzneth_(artist),1,18,
+kiyoshi_(frostyhusky),4,18,
+kiyana_(yeenaroo),4,18,
+kittydoki,1,18,
+kitty_bobo,4,18,
+kitty_(kajortoq),4,18,
+kitticlub,1,18,"moriya,shintani,森谷"
+kite_shield,0,18,
+kite_(bird),5,18,
+kit_the_tanuki,4,18,
+kisort,1,18,
+kirya,4,18,
+kirtapsart,1,18,
+kiro-kat,1,18,
+kirin_(armor),0,18,
+kio_kakazu,4,18,
+kink_shaming,0,18,
+kingsman_the_secret_service,3,18,
+kingsley_(riverglaive),4,18,
+kingly_(character),4,18,
+king_of_all_kaiju,3,18,
+king_leonidas_(300),4,18,
+kina_jardine,4,18,
+kimun_kamui_(gammachaos),4,18,
+kimota,4,18,
+killing_floor_2,3,18,
+kiihra_(zp92),4,18,
+kielarts,1,18,
+kid_cosmic,3,18,
+kid-suburbia,1,18,
+khuanzg,1,18,
+khnum_(serious_sam),5,18,
+khepri,4,18,
+khass,1,18,
+khalida,4,18,
+khaa'ther,5,18,
+kevin_j_taylor,1,18,
+keranidae,5,18,
+kensuke,4,18,
+kenshinho_arts,1,18,
+kenja_giraffe,4,18,
+kendall_(sirkain),4,18,
+ken_warren_(akiric),4,18,
+ken_lopez,1,18,
+kemonowolf,4,18,
+kemonononono,1,18,
+kemo_cafe,1,18,
+kekinfuntimes,1,18,
+kekai_kotaki,1,18,
+keisuke_hirama,4,18,
+keggy,4,18,
+keet,4,18,
+keera,4,18,
+keenan_vale,4,18,
+keagan_(icy-marth),4,18,
+kcstando,1,18,
+kazu_shioda,4,18,
+kazrune,1,18,
+kazoo,0,18,
+kazenui,4,18,
+kazanari,1,18,
+kazamafox,3,18,
+kayshira,4,18,
+kaylana_lobinski,4,18,
+kayla_squirrel,4,18,
+kawaiiredpandas,1,18,
+katrina,4,18,
+katie_(jamoart),4,18,
+katida_mannigan,4,18,
+kate_brown,4,18,
+kate_(lunarbloodwolf),4,18,
+kat_phoenix,4,18,
+kasha,5,18,
+kartokoi,1,18,
+karras,1,18,
+karo,4,18,
+karian,4,18,
+kari_(partran),4,18,
+karen_(pokemon),4,18,karen_(pokémon)
+kaptivate,1,18,
+kanon_(148bpm),1,18,
+kane_(kfdp),4,18,
+kanako_yasaka,4,18,yasaka_kanako
+kallenz,1,18,
+kalappoi,1,18,
+kakitsubata0510,1,18,
+kaji_inariyoki,4,18,
+kaihlan,1,18,
+kaida_(louart),4,18,
+kai_(twin_dragons),4,18,
+kaerf_(kaerfflow),4,18,
+kadeathnas,1,18,
+kadeart,1,18,
+kade_(furrybarioth),4,18,
+k-cxvii,1,18,
+jzbthx,1,18,
+jyujiro,1,18,
+justin_starr,4,18,
+justin_arcmoore_(timejumpingfox),4,18,
+juniper_(potoobrigham),4,18,
+juniper_(disambiguation),4,18,
+julie_(aliclan),4,18,
+julian_(tserossa),4,18,
+juken_sentai_gekiranger,3,18,
+jukaroism,0,18,
+jude_(artist),1,18,
+juan_yun,4,18,
+jotie,4,18,
+josendall_art,1,18,
+jos_bobot,1,18,
+jojo_hernandez,1,18,
+joey_(disambiguation),6,18,joey
+joe_(meesh),4,18,
+jobbythehong,1,18,
+joaquincarre,1,18,
+jnstudio,1,18,
+jioxsae,1,18,
+jin,4,18,
+jillian_(tenpoundhammer),4,18,
+jill_hopkins,4,18,
+jezebel,4,18,
+jezabelle,4,18,
+jex_(boredbun),4,18,jex_(dominus)
+jewellier_(artist),1,18,
+jessotter,4,18,
+jessie_(limebreaker),4,18,
+jessica_reiland,4,18,
+jesse_(crocdragon89),4,18,
+jesoran,1,18,
+jerzy_rysiecki,4,18,
+jerry_(dogs_in_space),4,18,
+jennit_prepper_dill,4,18,
+jenna_(rick_griffin),4,18,
+jen_(mykegreywolf),4,18,
+jeffrey_(kadath),4,18,
+jeff_johnson,1,18,
+jazzline_the_parasaurolophus,4,18,
+jaytrap,1,18,
+jayron,1,18,
+jaykuma,1,18,
+jay_riolu,4,18,
+jaxfenrir,4,18,
+jasper_fur,1,18,jasperbro
+jason_(slightlysimian),4,18,
+jasmin_(a1rheart),4,18,
+jarv_(artist),1,18,
+jane_jetson,4,18,
+jane_(risingdragon),4,18,
+james_(poweron),4,18,
+james_(ghs),4,18,
+jam_uo,1,18,
+jakiebean,1,18,
+jake_the_cowboy,4,18,
+jaguar_print,0,18,
+jager_(qckslvrslash),4,18,
+jagan_(ratld),4,18,
+jaeh_(character),4,18,
+jade_marshall,4,18,
+jade_cocoon_2,3,18,
+jacques,4,18,
+jackthespartan,1,18,
+jacklyn_sheen,4,18,
+jackiehinny,1,18,
+jackie_lynn_thomas,4,18,
+jack_sparrow,4,18,
+jack_(sanssketches16),4,18,
+jabberwock_(full_bokko_heroes),4,18,
+j5a4,1,18,
+j.w._kennedy,1,18,
+izzy_(doomhelm),4,18,
+iyzeekiil,1,18,
+ixion_ferre,4,18,
+ivy_(nexcoyotlgt),4,18,
+ivory_(btt),4,18,
+ivan_(diarmaidhutchence),4,18,
+itchy_(the_simpsons),4,18,
+isea_(turkojar),4,18,
+isabelle_nowak,4,18,
+isa_(himynameisnobody),4,18,
+iroquois,0,18,
+irontom,1,18,
+irene_rita_sandburg_(nightfaux),4,18,
+iremi,1,18,
+irelia_(lol),4,18,
+ioscythe,1,18,
+inyouchuu,3,18,
+inverted_stripes,0,18,
+invasion,0,18,
+inugami,5,18,
+into_the_wild_(game),3,18,
+interphore,3,18,
+ink_bendy,4,18,demon_bendy
+ingvas,1,18,
+infra,4,18,
+infographic,0,18,
+indivisible,3,18,
+indianapolis_colts,3,18,
+indian_cobra,5,18,"asian_cobra,binocellate_cobra,spectacled_cobra"
+in_sky,0,18,
+imply,1,18,
+implied_growth,0,18,
+implied_fart,0,18,
+implied_chastity,0,18,
+implications,0,18,
+impending_anal,0,18,
+imnotsue,1,18,
+imminent,0,18,
+imaspacebar,1,18,
+image_sequence,0,18,
+imac,3,18,
+ilyad_12,1,18,
+ilyad_(ilyad_12),4,18,
+ilovefox,1,18,
+ilovefeetandpaw,1,18,
+illustrator,0,18,
+iller,1,18,
+ikutoshi,4,18,
+iku_(ikitsunyan),4,18,
+ike_(altitude_attitude),1,18,
+ika_(ikakins),4,18,
+iheart7968,1,18,
+igor_scuttle,4,18,
+ifrit_(arknights),4,18,
+iflops,1,18,
+identification,0,18,
+identical_twins,0,18,
+idate,4,18,
+icy_(blitza),4,18,
+icepanther,4,18,
+icelectric,4,18,
+iced-tea_(artist),1,18,
+ice_cream_parlor,0,18,
+i_(doneru),4,18,
+hyra_akiyuki,4,18,
+hypno_fox_(ruaidri),4,18,
+hyperfalcon,4,18,
+hyper_potion,0,18,
+hyosube,4,18,
+hylidaeoff,1,18,
+hybridance,1,18,
+hyanna-natsu,1,18,
+hyaenid_taur,5,18,
+hurricane_(catastrophe),4,18,
+humongousaur,4,18,
+humanoid_genitalia_on_feral,0,18,
+humanoid_equine_penis,0,18,
+human_to_semi-anthro,0,18,
+human_skin_color,0,18,
+hugo_(horrorbuns),4,18,
+hugging_breasts,0,18,
+hryssar_kulazak,4,18,
+hozorak,1,18,
+hotcrossbunnie,1,18,"cookieshark,shewolf2118"
+hot_dog_guy,4,18,
+hornyarcticwolf,4,18,
+hoplophilia,0,18,
+hooked_tail,0,18,
+hooded_skunk,5,18,
+hong_kong_phooey,3,18,
+honey_buzzard,5,18,
+honey_(mewmus),4,18,
+holographic_clothes,0,18,
+holly_day_(randomnutz),4,18,
+hollow_body,0,18,
+hollow_armour,4,18,
+holding_whisk,0,18,
+holding_thong,0,18,
+holding_skateboard,0,18,
+holding_shorts,0,18,
+holding_lube,0,18,
+holding_hooves,0,18,
+holding_handbag,0,18,
+holding_case,0,18,
+holding_award,0,18,holding_awards
+holding_alcohol,0,18,
+hokora,0,18,
+hohan,4,18,
+hmiokun,1,18,
+hiraki_(artist),1,18,
+hina_(dinogaize),4,18,
+hime_(character),4,18,
+hikka-fin,4,18,
+high_tech,0,18,
+higgsfigs,1,18,
+higaku,4,18,
+hiding_cards,0,18,
+hexcat,1,18,
+hexadoodle,1,18,
+hero_(dq5),4,18,
+henry_(virgo_the_virgo),4,18,
+henry_(nq),4,18,
+henry_(disambiguation),1,18,henry
+henriette_ronner-knip,1,18,
+hemo,1,18,
+helpdeskgirl,4,18,
+hellaverse,3,18,
+heifer_(artist),1,18,
+heidi_(eye_moisturizer),4,18,
+heian_(aaassstaro),4,18,
+heffy038,1,18,
+hector_morgan,4,18,
+hector_(tolok),4,18,
+heatblast,4,18,
+heart_taker,4,18,
+heart_diaper,0,18,
+headpat,0,18,
+headless_horseman,4,18,
+hdoomguy,1,18,
+hazel_punkin,4,18,
+hayato_(makemon),4,18,
+hayashi_(artist),1,18,
+hawkeye,4,18,
+hatsuse_izuna,4,18,
+hati-skm,1,18,
+harpy_(terraria),5,18,
+harness_grab,0,18,
+harmony_(mlp),4,18,
+harecandy,1,18,
+happy_frog_(fnaf),4,18,
+hanya,1,18,
+hank_pym,4,18,
+hanging_by_limb,0,18,
+hands_on_own_tail,0,18,
+hand_on_panties,0,18,
+hand_on_belt,0,18,
+hand_in_crotch,0,18,
+hamohabu,1,18,
+hammond,4,18,
+halvor_(spyro),4,18,
+hallas,1,18,
+haku_(bullstarhaku),4,18,
+haiyan,1,18,
+haithe,1,18,
+hairball,0,18,
+hair_roller,0,18,
+hailey_marie,4,18,
+h.komaki,1,18,
+gyu.sa-ai'le_drone,3,18,
+gyoza,0,18,
+gynomorph_raping_male,0,18,
+gylin,1,18,
+gyfu,1,18,
+guttatus,4,18,
+guttahpup,1,18,
+gutsybeast,1,18,
+gus_porter,4,18,"gus_(the_owl_house),gus_porter_(the_owl_house)"
+gus,4,18,
+gurdy_(final_fantasy),4,18,
+gunter_(sing),4,18,
+gunshward,1,18,
+gummybanana,1,18,
+guile,4,18,
+guido_mista,4,18,
+gui44,1,18,
+guggimon,4,18,
+gsuus_(artist),1,18,
+gryblak,1,18,
+gruffi_gummi,4,18,
+grondraws,1,18,
+gritzoz,1,18,
+grimmla,1,18,oukamiyoukai
+grim_fandango,3,18,
+grey_pseudo_hair,0,18,
+grey_jeans,0,18,
+grey_(sheep_and_wolves),4,18,
+greer,4,18,
+greennie,1,18,
+green_scutes,0,18,
+green_pussy_juice,0,18,
+green_loincloth,0,18,
+green_lizard_(rain_world),5,18,
+green_leggings,0,18,
+green_gills,0,18,
+green_genitals,0,18,
+green_beard,0,18,
+great_wroggi,5,18,
+grawiorum,1,18,
+gravityinbound,1,18,
+grauchen_(character),4,18,
+grasmann,1,18,
+granite_(horse)_(granitethewolf),4,18,
+grang34,1,18,
+gradius,3,18,
+grace_saberklaww_(bjkgreywolf),4,18,
+grace_o'malley,4,18,
+grabbing_table,0,18,
+grabber,5,18,
+gorrym,1,18,
+gorix_the_hipponian,4,18,
+gooseworx,1,18,
+goo_ovipositor,0,18,
+gongon,4,18,
+gomapurin,1,18,
+golden_flower,0,18,
+golden_body,0,18,
+gold_weapon,0,18,
+gold_pawpads,0,18,
+gold_hoard,0,18,
+gold_cuffs,0,18,
+godbird,1,18,
+goatis_(squishy),4,18,
+goat_legs,0,18,
+goat_(halcyon),4,18,
+glowing_veins,0,18,
+glayva_(kuroma),4,18,
+glamburger,0,18,
+glade,0,18,
+gin_(foxdaemon),4,18,
+gillou,4,18,
+gikoko,1,18,
+gigiolliwilli,1,18,
+gigi_(earthclan),4,18,
+gigantamax_sandslash,5,18,
+gigantamax_inteleon,5,18,"g-inteleon,g-max_inteleon,g_inteleon,g_max_inteleon,gmax_inteleon"
+ghosty_cult,1,18,
+ghostface,4,18,
+ghost-pepper,1,18,
+gheyblin,1,18,
+get_along_shirt,3,18,
+gert_(hayven_celestia),4,18,
+gert,4,18,
+gerpuppy_(character),4,18,
+genjipan,1,18,
+genevieve_tsai,1,18,
+genevieve_(mlp),4,18,
+gen_mo'kai,5,18,"gen_mo_kai,gen_mokai"
+gelato_(general-irrelevant),4,18,
+geico,3,18,
+gearboy,1,18,
+gazelle_humanoid,5,18,
+gay_male_pride_colors,0,18,
+gautreau,4,18,
+gatgat,1,18,
+gasscuss,1,18,
+garuganto,4,18,
+gargantua_dragon,4,18,
+gaogao,4,18,
+ganton3,1,18,
+ganador_(character),4,18,
+game_disc,0,18,
+galian_beast,5,18,
+gak,0,18,
+gaia1234,1,18,
+gahana_(jaeh),4,18,
+gaenamon,4,18,
+gabriela_(impaledwolf),4,18,
+g_gundam,3,18,
+fyrassa_weissklaue,4,18,
+fuzzy_opossum,4,18,
+fuyusen,4,18,
+fuyo,4,18,
+fuwa_fuwa_foof,3,18,
+fushark,1,18,
+fuscus,4,18,
+fusae,4,18,
+furythewolf,4,18,
+fursuiter,0,18,
+furseiseki_(character),4,18,
+furryjacko,1,18,
+furry_shades_of_gay,3,18,
+furred_clothing,0,18,
+fur_fighters,3,18,
+fukuoka_softbank_hawks,3,18,
+fuki_(ews),4,18,
+fudgy_fart,1,18,
+fudge,4,18,
+frosoda,1,18,
+frontier_brain,0,18,
+frogtied_arms,0,18,
+friti_(maiza),4,18,
+fridge_(daneasaur),4,18,
+friday_(anuvia),4,18,
+freyja_valkyrie,4,18,
+freyja_fenrirsdottir,4,18,
+freya_(stormwolf),4,18,
+frenchthenhen,1,18,
+freelancer89,1,18,
+freekilli,1,18,
+freedom_(bleats),4,18,
+freckles_(psy101),4,18,
+frat_boy,0,18,
+franky_(palchamon),4,18,
+francis_(gearfox98),4,18,
+foxyxxx,1,18,
+foxysquirrel,4,18,
+foxydraws,1,18,
+foxy-noxy,1,18,
+foxman,4,18,
+foxhound,5,18,fox_hound
+fourofour,1,18,
+four_tone_body,0,18,
+foulei,4,18,
+fossil_(remains),0,18,"fossil_(object),fossils"
+fortune_cookie,0,18,
+forevernyte,1,18,
+forest_spirit,5,18,
+forces_of_nature_trio,0,18,
+forced_feeding_cum,0,18,
+fondestfriend,1,18,
+flying_peach,0,18,
+flutti,1,18,
+flush,0,18,
+flurry_(animal_crossing),4,18,
+fluffygraywolf,4,18,
+fluffybuck,1,18,
+fluff_(vammzu),4,18,
+floriaselle,4,18,
+florian,4,18,
+flora-tea,1,18,
+floatrand,1,18,
+floating_torso,0,18,
+flitter_feather_(oc),4,18,
+flippy,4,18,
+flint_(house_of_immortals),4,18,
+flightsuit,0,18,
+fleurina,4,18,
+fleur_(rimentus),4,18,
+flessia,1,18,
+flesh_vortex,0,18,
+flawn,1,18,
+flawless_glow,4,18,
+flavus_(vestina),4,18,
+flat_tail,0,18,
+flapple,5,18,
+flamingo1986,1,18,flamingo_1986
+flades,1,18,
+fiveish,1,18,
+fishnet_dress,0,18,
+fishingmanmax,1,18,
+fish_egg,0,18,
+firing_gun,0,18,
+fireworks_team_leader,4,18,firework_team_leader
+fire_emblem_sacred_stones,3,18,
+fire-penguin-disco-panda,1,18,
+fire-fox-sf,1,18,
+fiool,1,18,
+fiona_flash,4,18,
+fiona_fawnbags_(dullvivid),4,18,
+fio_(avencri),4,18,
+fingers_on_own_penis,0,18,
+finger_curl,0,18,
+filthy_animal,1,18,
+film_(connivingrat),4,18,
+fight_stick,0,18,
+fiery_eyes,0,18,
+fibonacci,4,18,
+fever_dream,4,18,
+fever_(dr._mario),4,18,
+ferroseed,5,18,
+ferrilo,1,18,
+fernin,3,18,
+fern_(kahaku),4,18,
+feral_lemma,1,18,
+fenneklns,1,18,
+fennecseed,1,18,
+fengzhou,1,18,
+femmy_(smokyjai),4,18,
+female_rimming_intersex,0,18,
+female_penetrating_ambiguous,0,18,"f/p/?,f/p/ag,fm/p/ag"
+fem147_(nobody147),4,18,
+felnid,5,18,
+feljerx,1,18,
+felix_radziwill_(kinrovaldis),4,18,
+feliora,4,18,
+felide,0,18,
+felicity_fluff,4,18,
+felicity_(monian),4,18,
+felarya,3,18,
+feith-zr,1,18,
+feces_on_feet,0,18,
+feces_on_belly,0,18,
+fazil_(fazilhyena),4,18,
+fayde,4,18,
+fawzi,4,18,
+fatima_(thebigmansini),4,18,
+fatglaz,1,18,
+fatfur,0,18,
+faris_djinn,4,18,
+fapdragon69_(artist),1,18,
+faolancelebsul,4,18,
+fao,4,18,
+fang_(luxurias),4,18,
+fang_(fuf),4,18,
+famicom,3,18,
+famfrit,1,18,
+fallie_(9tales),4,18,
+fallenfoxie,1,18,
+fake_coco,4,18,
+failinis_(full_bokko_heroes),4,18,
+faeon,4,18,
+faarah,4,18,
+ezpups,1,18,
+ezili,4,18,
+ez'yra,4,18,
+eyes_on_wings,0,18,
+eyebot_(fallout),5,18,
+extrart,1,18,
+exto,1,18,
+exposing_pussy,0,18,
+explosive_in_ass,0,18,
+expansion_sequence,0,18,
+evil_egg,4,18,
+eve_(maskedfurry),4,18,
+evasidelights,1,18,
+evangeline_claire,4,18,
+ethan_coyote,4,18,
+ethan_blade,4,18,
+ethan_(roof_legs),4,18,
+etalus,4,18,
+esthela,4,18,
+espen_(thatlynxbrat),4,18,
+esmeralda_(nightfaux),4,18,
+esel_(fairy_musketeers),4,18,
+errortale,3,18,
+erra,4,18,
+erkerut,1,18,
+erika_the_elephant,4,18,
+eproc-the-philius,1,18,
+eoss_air,1,18,
+eolas_(dogsrnice),4,18,
+envy_(kuroodod),4,18,
+enraged,0,18,
+enigma_(species),5,18,
+eneeku,1,18,
+endoereanart,1,18,
+endertwinks_(species),5,18,
+endcoon,1,18,
+end_roll,3,18,
+enclosure,0,18,
+enatias,4,18,
+emyko_the_cat,4,18,
+empty_sheath,0,18,
+empty-10,1,18,
+employee_uniform,0,18,
+emily_youcis,1,18,
+emikochan_(character),4,18,
+emergence,3,18,
+emberly_(emberlyy),4,18,
+ember_(coc),4,18,ember_(corruption_of_champions)
+emailty,1,18,
+elvis_presley,4,18,
+elvira_vasnetsov_(sabre_dacloud),4,18,
+elvendays,1,18,
+elu,4,18,
+elounziphora,4,18,
+eljado,1,18,
+elizabeth_shaw_(prometheus),4,18,
+elite:dangerous,3,18,
+eleutheria_avarta,4,18,
+elena_(teckly),4,18,
+element_of_kindness,0,18,
+electrode_on_pussy,0,18,
+el_muzzle_rover,1,18,
+el_caballo_oscuro,1,18,
+ein_(cowboy_bebop),4,18,
+eighth_note,0,18,
+eidolon,5,18,
+egg_pawn,5,18,
+egg_carton,0,18,
+edward_wong_hau_pepelu_tivruski_iv,4,18,"ed_(cowboy_bebop),ed_appledelhi,edward_(cowboy_bebop),edward_appledelhi,edward_wang_hwe_pepel_cybulski_4th,edward_wang_hwe_pepel_cybulski_fourth,edward_wang_hwe_pepel_cybulski_the_4th,edward_wang_hwe_pepel_cybulski_the_fourth,edward_wong_hau_pepelu_tivruski_4th,edward_wong_hau_pepelu_tivruski_fourth,edward_wong_hau_pepelu_tivruski_the_4th,edward_wong_hau_pepelu_tivruski_the_fourth,edward_wong_hau_pepelu_tivruski_the_iv,edward_wong_hau_pepelu_tivrusky_4th,edward_wong_hau_pepelu_tivrusky_fourth,edward_wong_hau_pepelu_tivrusky_iv,edward_wong_hau_pepelu_tivrusky_the_4th,edward_wong_hau_pepelu_tivrusky_the_fourth,edward_wong_hau_pepelu_tivrusky_the_iv,francoise_appledelhi,françoise_appledelhi,radical_edward"
+eddga_go,1,18,
+echo_(oc),4,18,
+ebolavirus_(organism),5,18,
+ebola_(organism),5,18,
+easter_belly,0,18,
+ear_warmers,0,18,
+ear_spots,0,18,
+ear_bondage,0,18,
+e.b.,4,18,
+dykie_(mykendyke),4,18,
+dyan,4,18,
+dwynwen_gel,4,18,
+dv0r,1,18,
+dusthiel,1,18,
+duros_(species),5,18,
+duracell_bunny,4,18,
+duncan_(rotten_robbie),4,18,
+duke_(disambiguation),4,18,duke
+duckyeah,1,18,
+ducktapeani,1,18,
+drying_body,0,18,
+drsouthpaws,1,18,
+dropping_weapon,0,18,
+drmyro,1,18,
+drive,3,18,
+drew_(dfrag),4,18,
+dreik_(drakeraynier),4,18,
+dreamflowerbunny,1,18,
+drawligator,1,18,
+draugr,5,18,
+dratina,4,18,
+drascua_(photolol.03),4,18,
+drake_(thizorac),4,18,
+dragonwrought_kobold,5,18,
+dragonnom,1,18,
+dragonichigo,1,18,
+dragonfly_wings,0,18,
+dragon_lord_torch_(mlp),4,18,
+dracopuma,4,18,
+draconis0868,1,18,
+draco122,4,18,
+dozer_(extracurricular_activities),4,18,
+doubleofox,4,18,
+doubledip,4,18,experiment_002
+doshigato,1,18,
+dorkass,1,18,
+doragy,1,18,
+doomer_bear,4,18,
+doodlewill,1,18,
+donnydoggo,1,18,
+dondoko_mztr,1,18,
+doncorneo,1,18,
+domestic_violence,0,18,
+domestic_silk_moth,5,18,
+domestic_goose,5,18,
+domestic_abuse,0,18,
+doily,0,18,
+dogo,4,18,
+dodongo,5,18,
+dodo_mpa,1,18,
+doc_mcrascal,4,18,
+djagokemono,3,18,
+diva_(velociripper),4,18,
+ditzz,1,18,
+ditb,1,18,
+disponito,1,18,
+disney_junior,3,18,
+disko_(diskofox),4,18,
+disastercat,1,18,
+dirtyjace,1,18,
+dirtydonutshop,1,18,
+dirt_secret,1,18,
+dion_(doneru),4,18,
+dinner_bath_or_me,3,18,"newlywed's_three_questions,shinkonsantaku,this_that_or_me"
+dimitri_lousteau,4,18,
+digos-01,4,18,
+digital_flinch,1,18,
+digimon_fusion,3,18,
+digimon_costume,0,18,
+digifun_in_the_forest,0,18,
+diesel_(muzz),4,18,
+diesel_(jrbn1),4,18,
+diego_(thatgryphonguy),4,18,
+dick_sucking_lips,0,18,
+dice_akita,4,18,
+dial,0,18,
+devolution,0,18,
+devilman_(character),4,18,"devil-man_(character),devil-man_(devil-man),devil-man_(devil_man),devil-man_(devilman),devil_man_(character),devil_man_(devil-man),devil_man_(devil_man),devil_man_(devilman),devilman_(devil-man),devilman_(devil_man)"
+devil_mask_(mskah),4,18,
+devidramon,5,18,
+destroy,0,18,
+desta_(theonewithoutaname),4,18,
+desiree_(danny_phantom),4,18,
+deshee,4,18,
+deserae_(kaerfflow),4,18,
+deriee_(artist),1,18,
+depsu,1,18,
+demyxanthony,1,18,demden
+demorgorgon,1,18,
+demise,4,18,
+dementia_(villainous),4,18,
+delta_spats,1,18,
+deja-blu,1,18,
+deikan_kalibran,4,18,
+degener4te,1,18,
+deflating,0,18,
+decaf_(character),4,18,
+dearonnus,1,18,
+dead_end:_paranormal_park,3,18,
+dea_(the_witch_of_taal),4,18,
+dbz_kz_(artist),1,18,
+daylis_qulios,4,18,
+dawn_chorus,3,18,
+davis_(disambiguation),4,18,davis
+davie_(yawg),4,18,
+dave_elliott,1,18,
+dashraptor,1,18,
+dash,4,18,
+darren_(adonis),4,18,
+darrell_boxman,4,18,"darrel_(ok_k.o!),darrel_(ok_k.o),darrel_(ok_k.o.!),darrel_(ok_k.o.!_lbh),darrel_(ok_k.o.!_let's_be_heroes),darrel_(ok_k.o.!_lets_be_heroes),darrel_(ok_k.o.),darrel_(ok_k.o._lbh),darrel_(ok_k.o._let's_be_heroes),darrel_(ok_k.o._lets_be_heroes),darrel_(ok_k.o_lbh),darrel_(ok_k.o_let's_be_heroes),darrel_(ok_k.o_lets_be_heroes),darrel_(ok_ko!),darrel_(ok_ko!_lbh),darrel_(ok_ko!_let's_be_heroes),darrel_(ok_ko!_lets_be_heroes),darrel_(ok_ko),darrel_(ok_ko_lbh),darrel_(ok_ko_let's_be_heroes),darrel_(ok_ko_lets_be_heroes),darrel_boxman,darrell_(ok_k.o!),darrell_(ok_k.o),darrell_(ok_k.o.!),darrell_(ok_k.o.!_lbh),darrell_(ok_k.o.!_let's_be_heroes),darrell_(ok_k.o.!_lets_be_heroes),darrell_(ok_k.o.),darrell_(ok_k.o._lbh),darrell_(ok_k.o._let's_be_heroes),darrell_(ok_k.o._lets_be_heroes),darrell_(ok_k.o_lbh),darrell_(ok_k.o_let's_be_heroes),darrell_(ok_k.o_lets_be_heroes),darrell_(ok_ko!),darrell_(ok_ko!_lbh),darrell_(ok_ko!_let's_be_heroes),darrell_(ok_ko!_lets_be_heroes),darrell_(ok_ko),darrell_(ok_ko_lbh),darrell_(ok_ko_let's_be_heroes),darrell_(ok_ko_lets_be_heroes)"
+darkrainbowdragon,1,18,
+darkmaya,1,18,
+darkkoushirou,1,18,
+darkalex,1,18,
+dark_tentacles,0,18,
+dark_matter_swordsman,4,18,
+dark_knee_socks,0,18,
+dark_crest,0,18,
+dark_chocolate_(glacierclear),4,18,
+darius_(zp92),4,18,
+daria_stone,4,18,
+dante_(ds_dirty),4,18,
+danoodle,1,18,
+danneroni,1,18,
+danimarion,1,18,
+danielle_(useful_bear),4,18,
+daniela_dimitrescu,4,18,
+damncheezy,1,18,
+damagefox,1,18,
+daleesa,4,18,
+dakota_haven,4,18,
+dagney,4,18,
+daffodil_(flower),0,18,
+cyrus_rhodes,4,18,
+cyprus_(cy),4,18,
+cynthia_russo,4,18,
+cynthia_muunas,4,18,
+cynrot,1,18,
+cynicaljackfish,1,18,
+cynder_dreamcast,4,18,
+cutievomit,1,18,
+cutie_mark_buttplug,0,18,
+customization,0,18,
+curtis_(bgn),4,18,
+cupping_face,0,18,
+cupcakecreature,1,18,
+cup_noodles,3,18,
+cum_through_toes,0,18,
+cum_in_suit,0,18,
+cum_heart,0,18,
+cum_from_anal,0,18,
+cubism,0,18,
+csi,3,18,
+crysta,4,18,
+crysis,3,18,
+cryptocurrency,0,18,
+cryophase,1,18,
+crushed_pelvis,0,18,
+crushabelle,4,18,
+crowlix,1,18,
+crow_fadeclaw,4,18,
+crossed_hands,0,18,
+cross_adder,5,18,"common_adder,common_european_adder,common_european_viper,common_viper,european_adder,swedish_viper,vipera_berus"
+crosoe_(xial),4,18,
+cropped_legs,0,18,
+crocodile_tail,0,18,
+crixalis_the_sand_king,4,18,
+crimsonwolf1902,1,18,
+crescent_moon_(marking),0,18,"crescent_moon-shaped_marking,crescent_moon-shaped_markings,crescent_moon_(markings),crescent_moon_marking,crescent_moon_markings,crescent_moon_shaped_marking,crescent_moon_shaped_markings,crescent_moons-shaped_marking,crescent_moons-shaped_markings,crescent_moons_(marking),crescent_moons_(markings),crescent_moons_marking,crescent_moons_markings,crescent_moons_shaped_marking,crescent_moons_shaped_markings"
+crazy-fox,1,18,
+craftsman,1,18,
+cradle,0,18,
+cozy_cum_(artist),1,18,
+cozy_(artist),1,18,
+cowsgomoose,1,18,
+cowdevon,4,18,
+covering_head,0,18,
+covered_in_scat,0,18,
+count_behetoven,4,18,
+coughee_aholic,1,18,
+cottontailjack,1,18,
+cosmikirby,1,18,
+corromon,1,18,
+cornstick,1,18,
+corneuscorn,1,18,
+corgwn,4,18,
+coraline_(autumnbloom11),4,18,
+coraldragon,4,18,
+copyright_request,3,18,
+copypasta,0,18,
+cookie_dough_(mlp),4,18,
+cookie_(cookiestealer),4,18,
+control_room,0,18,
+contemplative,0,18,
+consumstra_(cresce_zoroark),4,18,
+consuming_genitalia,0,18,
+constrained,0,18,
+conny_valentine_(tirashanks),4,18,
+conner_cooper,4,18,
+coniferous_tree,0,18,
+compet,5,18,
+commandramon,5,18,
+commando,0,18,
+come_at_me_bro,0,18,
+combine_assassin,4,18,
+color_banding,0,18,
+colonel_sanders,4,18,
+colmillo_de_fuego,3,18,
+coller,0,18,
+collaring,0,18,
+colette_laitier_(oc),4,18,
+cole_(colesense),4,18,
+colby_catalina,4,18,
+cogfoxz,4,18,
+cocoa_(miso_souperstar),4,18,
+coal_(breeze_in_the_clouds),4,18,
+clumzor,1,18,
+cloud_tail,4,18,
+cloud_(mt),4,18,
+cloud8doesstuff,1,18,
+clothing_rack,0,18,
+cloche,0,18,
+climbing_ladder,0,18,
+clifton_catalina,4,18,
+cleric_beast_(bloodborne),5,18,
+clenched_toes,0,18,
+cleaning_rag,0,18,
+claws_in_mouth,0,18,
+clauncher,5,18,
+clarissa_(ixbalam),4,18,
+civil_war,0,18,
+circled_text,0,18,
+cinnamon_stick,0,18,
+cinnamon_(bunwithmemes),4,18,
+cinnabunny,4,18,
+cinderella_3d,3,18,
+chupian,5,18,
+chuck_(netreek),4,18,
+chubby_ambiguous,0,18,
+chryseum,1,18,
+chronocelebi,1,18,
+chrissy_(zoran),4,18,
+chris_o'neill,4,18,
+chris_griffin,4,18,
+chris_(sayuncle),4,18,
+choker_bell,0,18,
+chocofox_colin,4,18,
+chloe_price,4,18,
+chloe_(animatedmau),4,18,
+chitafokkusu,1,18,
+chip_(crittermatic),4,18,
+chimera46,1,18,
+chickenzaur,1,18,
+chicken_little_(1943),3,18,
+chicken_(cow_and_chicken),4,18,
+chicka_the_plusle,4,18,
+chick_(gabrielofcreosha),4,18,
+chetchaka,1,18,chetchaka_(artist)
+chest_spikes,0,18,
+cherry_miyoko,4,18,
+cherit,4,18,
+chen_xi-wang,4,18,
+chelsea_daniels,4,18,
+checkered_bottomwear,0,18,
+cheadle_yorkshire,4,18,
+che'doro_(ur_irrelephant),4,18,
+chazer_n,1,18,
+chase_stone,1,18,
+charlotte_(baconbakin),4,18,
+charlie_buckwood_(character),4,18,
+chanoko,1,18,
+chancellor_bayn,4,18,
+chalkbunny,1,18,
+chala_(shycyborg),4,18,
+chai_t._(sachasketchy),4,18,
+cfoxblu,1,18,
+certhioid,5,18,certhioidea
+cero_(sssonic2),4,18,
+cerealbowlsystem,1,18,
+cerdiplex,1,18,
+cephalo,1,18,
+celia_mae,4,18,
+celebritybangmatch,0,18,
+cecile_beaumont,4,18,
+cecile_(cecildeatrio),4,18,
+cc_(artist),1,18,
+catsune,5,18,
+catopuma,5,18,
+catnippackets,1,18,
+catn1p,1,18,
+catherine_frensky,4,18,
+catherine_(gregory_horror_show),4,18,
+castle_of_the_royal_pony_sisters,0,18,
+cassthesquid,1,18,
+cassandra_dimitrescu,4,18,
+cass_(cracker),4,18,
+caschfatal,1,18,
+carrying_underwear,0,18,
+carrus_olivia,4,18,
+carousel_horse,0,18,
+carolina_anole,5,18,"american_anole,american_green_anole,green_anole,red-throated_anole,red_throated_anole"
+carmen,4,18,
+carmelpony,1,18,
+carlfrost_(character),4,18,
+carbine,0,18,
+carapaceon,5,18,
+caramel_(halbean),4,18,
+captainelderly,1,18,
+captain_shears,4,18,
+captain_(character),4,18,
+candywolfie,3,18,
+candy_(carifoxleopard),4,18,
+candela,4,18,
+cancer_(disease),0,18,
+camo_hat,0,18,camouflage_hat
+cammie,4,18,
+camih,1,18,
+camelid_pussy,0,18,
+callie_maggotbone,4,18,
+callie,4,18,
+call_of_duty:_ghosts,3,18,
+california_sea_lion,5,18,
+caleb_the_suicune,4,18,
+cake-fox,1,18,
+caitlin_(pokemon),4,18,caitlin_(pokémon)
+cain_(atrocityatwork),4,18,
+caiden_coldthorn,4,18,
+caelum,1,18,afancysinner
+cable_(deathlyinnocent),4,18,
+c4d_max,1,18,
+butter-t,1,18,
+butlova,1,18,
+bushy_(8chan),4,18,
+bush_(f-r95),4,18,
+buruukoori,1,18,
+burter,4,18,
+burnrice8,1,18,
+burger_(pantvore),4,18,
+buns_with_cinnamon,1,18,
+bunny_girl,0,18,
+bullet_(blazblue),4,18,
+bulkhead,4,18,
+bugabuzz_(insomniacovrlrd),5,18,
+budpup,1,18,
+buckram_(hirurux),4,18,
+buck_richards,4,18,
+bubbling,0,18,
+bryce-roo,4,18,
+brutus_miller_(nood1e),4,18,
+bruno_de'marco,4,18,
+bruno_(pokemon),4,18,bruno_(pokémon)
+bruin_(reynard_cycle),4,18,
+brownie,0,18,
+brown_wool,0,18,
+brown_tentacles,0,18,brown_tentacle
+brooks_(vdisco),4,18,
+brooding,0,18,
+broken_chair,0,18,
+broken_building,0,18,
+britney_stalizburg,4,18,
+brickshoes,1,18,
+brian_woods_(akiric),4,18,
+brian_edwards,1,18,
+breechcloth,0,18,
+breathing_tube_(disambiguation),0,18,
+breaking_glass,0,18,
+breadnwine,1,18,
+bravobunny,1,18,
+braukoly,1,18,
+brandon_(nsf),4,18,
+bramble_patch,4,18,
+bradydalton,1,18,
+bracelet_(marking),0,18,
+bozo_lummox,4,18,
+boxer_hockey,3,18,
+bowling_shirt,0,18,
+bottomless_to_nude,0,18,
+bottle_of_milk,0,18,
+boriselo,4,18,
+bope,3,18,
+booklesslibrary,1,18,
+book_on_lap,0,18,
+boobdollz,1,18,
+bonesaw,0,18,
+bones_(deermary),4,18,
+bondofox_(artist),1,18,
+bomb_boy_(breeze_in_the_clouds),4,18,
+bolthouse,1,18,
+boldore,5,18,
+boki,1,18,
+body_in_hand,0,18,
+bodbloat_(character),4,18,
+bobcatt,1,18,
+bobby_beagle,4,18,
+bo_beep,4,18,
+blutep_(character),4,18,
+blurr,4,18,
+bluerockcandy,4,18,
+bluepanda,1,18,
+blueberg,1,18,
+blue_sunglasses,0,18,
+blue_soles,0,18,
+blue_sandals,0,18,
+blue_precum,0,18,
+blue_outerwear,0,18,
+blue's_dad_(phoberry),4,18,
+blu_rent,1,18,
+bloomara,5,18,
+bloodymrr,1,18,
+blood_on_shirt,0,18,
+blomp,0,18,
+blizbel_blueberry,4,18,
+blitz_(its_blitz),4,18,
+blitz_(disambiguation),6,18,blitz
+blaze_(wof),4,18,
+blauehexe,1,18,
+blake_(trooper036),4,18,
+bladedragoon7575,1,18,
+blade_(angelskitty),4,18,
+blackdiaraikia,1,18,raikadelanoche
+black_wrist_warmers,0,18,
+black_undershirt,0,18,
+black_teats,0,18,
+black_footed_cat,5,18,
+black_fire,0,18,
+black_dress_shirt,0,18,
+black_chitin,0,18,
+black_butler,3,18,
+black-phoenix,1,18,
+black-chested_buzzard-eagle,5,18,"black-chested_buzzard_eagle,black_buzzard-eagle,black_buzzard_eagle,black_chested_buzzard-eagle,black_chested_buzzard_eagle,chilean_blue_eagle,grey_buzzard-eagle,grey_buzzard_eagle"
+bjorn_jr,4,18,
+bjorn_drakkinder,4,18,
+bjorn_(grizzbjorn),4,18,
+bj_(character),4,18,
+bittersweet,0,18,
+bittercream,1,18,
+bitbiteroo,1,18,
+bisou_(keffotin),4,18,
+bisection,0,18,
+birthday_card,0,18,
+birdfellow,1,18,
+billie_the_unicorn,4,18,
+billie_eilish,4,18,
+bikusen,4,18,
+big_penis_penetrated,0,18,
+bianca_(m05),4,18,
+beth_(sinister),4,18,
+bert_raccoon,4,18,
+berrypowder,1,18,
+berryannoyed,1,18,
+bernice_(seldom),4,18,
+beowulf,1,18,
+bent_down,0,18,
+benjamin_heche,4,18,
+benjamin_franklin,4,18,
+bengt,4,18,
+bend_penis,0,18,
+ben_bullworth,4,18,
+ben_(skianous),4,18,
+belly_valve,0,18,
+belfezon,1,18,
+belenos,5,18,
+belatro,4,18,
+bela_dimitrescu,4,18,
+being_undressed,0,18,
+beichtstuhl,1,18,
+beffica_winklesnoot,4,18,
+beetleback,1,18,
+beefeater,1,18,
+becky_(johnny_bravo),4,18,
+beatrice_wilkins,4,18,
+beard_ring,0,18,
+bear_pride_colors,0,18,
+bean_koma,1,18,
+beach_style_garchomp,4,18,
+beach_sex,0,18,
+bcm13,1,18,
+bazz,4,18,
+bazaar_(character),4,18,
+bayth,1,18,
+bayson,1,18,
+bayshore,4,18,
+battleblock_theater,3,18,
+battle_rifle,0,18,
+batteryacid6969,1,18,
+bat_(shape),0,18,
+basilthedragon,1,18,
+basao,1,18,
+bartol,1,18,
+bartholomew_(losthexer),4,18,
+barret_(shirteater18),4,18,
+barley_(elliotte-draws),4,18,barley_(elijah-draws)
+bar_(oc),4,18,
+banske,4,18,
+banrai_(character),4,18,
+banjokazoo123,1,18,
+banditails,4,18,
+banded_body,0,18,
+bananagaari,1,18,
+banana_stem,4,18,
+bamboo_pattern,0,18,
+bamboo_object,0,18,
+balue,4,18,
+balpanther,1,18,ばるぱんさー
+ballbopper,1,18,
+bakedpotateos,1,18,
+bajkow,4,18,
+bajer_(jurij_bajer),4,18,
+baggashame,1,18,
+bad_company,0,18,
+bactrian,5,18,bactrian_camel
+backless_outfit,0,18,
+bachy,4,18,
+baby_(super_monkey_ball),4,18,
+baalsama,4,18,
+azziz,4,18,
+azuu,1,18,
+azurin,4,18,
+azure_(buckshot1130),4,18,
+azlyn_(character),4,18,
+azazelazzy,1,18,
+aymbord,1,18,
+ayame_(winged_leafeon),4,18,
+axel_winterveil,4,18,
+axel_(axelthewerewolf),4,18,
+axakatl,4,18,
+awkwa,1,18,
+averil_(mewgle),4,18,
+average,1,18,
+avengedog,1,18,
+ava_(manedwolf),4,18,
+autumnbramble,1,18,
+autumn_vector,4,18,
+auroraki,1,18,
+aurora_otter,4,18,
+aurora_larone,4,18,
+auriette,4,18,
+aura_thorne_(auramargaret),4,18,
+aura_bella_fiora,4,18,
+audri,4,18,
+aubrey_(fiftyfifthfleet),4,18,
+atzi,4,18,
+atticus_(thepipefox),4,18,
+athene_(bird),5,18,
+atenebris,1,18,
+atari_2600,3,18,
+atalis_(7th-r),4,18,
+atacama,1,18,
+at_night,0,18,
+asura_(dirtyero),4,18,
+astrosquid,1,18,
+astri,4,18,
+astralgloom,1,18,
+astral_chain,3,18,
+astraea_(lunar_leopard),4,18,
+asti_(lexoastonov),4,18,
+assisted_titfuck,0,18,
+assisted,0,18,
+assertive_dominant,0,18,
+asparagus,0,18,
+asmon_(plushtrapboyuwu),4,18,
+asianpie,1,18,
+asian_golden_cat,5,18,"asiatic_golden_cat,temminck's_cat,temmincks_cat"
+asher_tail,1,18,
+ashee,1,18,
+ashadan,4,18,
+ash_fox_(skeleion),4,18,
+ash_(captain_nikko),4,18,
+asesimio,1,18,
+asasel_rotschweif,4,18,
+as109,1,18,
+aryaline,4,18,
+arwuld,4,18,
+arurri,4,18,
+arung98,1,18,
+artkizu,1,18,
+artistafrustrado,1,18,
+artisan-garden,1,18,
+artifact_the_fox,4,18,
+artichoke_(buddy_thunderstruck),4,18,
+arthur_suydam,1,18,
+arthropod_abdomen_growth,0,18,
+artesian,5,18,
+arokh,4,18,
+arnoldthehero,1,18,
+arm_bow,0,18,
+ari_bat,4,18,
+arhan,4,18,
+arcori,4,18,
+arch_noven,4,18,
+arcade_game,0,18,
+aquillsfantasy,1,18,
+april_dawn,4,18,
+april_(psy101),4,18,
+apollo_the_cougar,4,18,
+apollo_diamond,4,18,
+aperture,3,18,
+apep_(caribou),4,18,
+aoba_(flowofies),4,18,
+antonya_flynn,4,18,
+anti-materiel_rifle,0,18,
+anthrootterperson,1,18,
+anthem,3,18,
+anotherdragon,1,18,amberdragon
+anonymousinvader24,1,18,
+anomorashiaccount,1,18,
+anna_(validheretic),4,18,
+anlaki,4,18,
+anklecuffs,0,18,
+ankhwav,1,18,
+animarie_toons,1,18,
+animal_detective_kiruminzoo,3,18,
+angry_look,0,18,
+angel_(cigarskunk),4,18,
+angel_(artist),1,18,
+andy_234,1,18,
+andromorph_penetrating_andromorph,0,18,"am/p/am,am/p/c,andromorph_penetrating_cboy,andromorph_penetrating_cuntboy,c/p/am,c/p/c,cboy_penetrating_andromorph,cboy_penetrating_cboy,cboy_penetrating_cuntboy,cboy_penetrating_cuntman,cuntboy_penetrating_andromorph,cuntboy_penetrating_cboy,cuntboy_penetrating_cuntboy,cuntboy_penetrating_cuntman,cuntman_penetrating_cboy,cuntman_penetrating_cuntboy,cuntman_penetrating_cuntman"
+andrewryanart,1,18,
+andrew_saitou,4,18,
+andrea_rossi_(hazardtime),4,18,
+andrea_(dreamcastzx1),4,18,
+andre_(alex_kitsune),4,18,
+andogg,1,18,"aishyu,alphastars,andiemations,vanilla_pupcake,vanilla_pupcakes,vanillapupcake,vanillapupcakes"
+anatomy_chart,0,18,
+anakoluth,1,18,
+anabel_calamity,4,18,
+ana_(speeds),4,18,
+amy_(xen),4,18,
+amy_(disambiguation),6,18,amy
+amrien,4,18,
+amoren_cinteroph,4,18,
+amica_mea,3,18,
+ameliawhirled,4,18,
+ambiguous_character,0,18,
+ambient_ladybug,5,18,
+amber_(dtld),4,18,
+amaya,4,18,
+amateru_kai,1,18,
+amaterasu_(curiousgarchomp),4,18,
+amandovakin,1,18,
+amanda_amada,1,18,
+amanda_(disambiguation),4,18,amanda
+amand4,1,18,
+alyssa_moffettis,4,18,
+alternate_view,0,18,
+alternate_version_in_description,0,18,
+alten,1,18,
+altart,1,18,
+alsem,1,18,
+alrenna,4,18,
+alphanea_tolman,4,18,
+alolan_diglett,5,18,"alola_diglett,diglett_(alola_form),diglett_(alolan_form)"
+alohi,4,18,
+alma_(skecchiart),4,18,
+allveryhushhush,1,18,thehushhush
+allotheria,5,18,
+allegrosky,1,18,
+alira_darkboob_dakimakura,4,18,
+alina_(zanamaoria),4,18,
+alienaliart,1,18,
+alice_(night_physics),4,18,
+alexis_watterson_(rubythepinkdragon),4,18,
+alexander_dragon,4,18,
+alexa_(ferretfyre),4,18,
+alex_hiro,1,18,
+alex_(alcitron),4,18,
+alden_(piopio1949),4,18,
+alcatras45,1,18,
+alcander,4,18,
+alban_(spyro),4,18,
+akyri,4,18,
+akuji_(furball),4,18,
+akki_(acidapluvia),4,18,
+akitsu,4,18,
+akira666,1,18,
+akiione,1,18,
+akia,4,18,
+akatosh,4,18,
+akamina,4,18,
+akame_ga_kill!,3,18,
+aisaredogtoneko,1,18,
+aila_(ailaanne),4,18,
+aiila_(impracticalart),4,18,
+aidenmonster,1,18,
+ah'lina_the_lioness,4,18,
+agent_spect-hare,4,18,
+agate_(punkinbuu),4,18,
+against_chair,0,18,
+afterhumanity333,1,18,
+after_sex_cuddling,0,18,
+afoxens,1,18,
+afc,1,18,
+aetherioux_(nuree_art),4,18,
+aether,4,18,
+aeriatlas,5,18,
+aerial_lift,0,18,
+aeluvia_(pandiaurora),4,18,
+adult_baby,0,18,
+adriofthedead,1,18,
+adora_(bloons),4,18,
+adjustable_wrench,0,18,
+adellia_(coc),4,18,
+addiekilos,1,18,
+ada_pintin,4,18,
+actor,0,18,
+actioncoaster,1,18,
+ace_hart,4,18,
+ace_(air_bound),4,18,
+accidental_nudity,0,18,
+accidental_kiss,0,18,
+accidental_digestion,0,18,
+academic_dress,0,18,
+abyss_mage,5,18,
+abyss_(redeye),4,18,
+abx50,1,18,
+abigail_(galloviking),4,18,
+abigael_(1-upclock),4,18,
+abbihors,1,18,
+abandonment,0,18,
+aaahh!!!_real_monsters,3,18,"aaahh!_real_monsters,aaahh_real_monsters,ah!!!_real_monsters,ah!_real_monsters,ah_real_monsters"
+a_big_fish,1,18,
+a-signature,1,18,
+96_gatefield,1,18,
+7jq3cm79rx6otm1,1,18,
+720p,0,18,
+6_panel_comic,0,18,
+67marshmallows,1,18,
+5usdok,1,18,
+4k_resolution,0,18,
+4_ira,1,18,
+3yo4yo5yo,1,18,
+3rr0r_the_protogen,4,18,
+3k2xv,1,18,
+3:7,7,18,
+2b-labs,1,18,
+27:20,0,18,
+25:27,0,18,
+22:15,7,18,
+20thx5150,1,18,
+16:19,7,18,
+12:19,7,18,
+12-9_(character),4,18,
+10hwan,1,18,
+zxara_amador,4,17,
+zvxtriad,1,17,
+zummi_gummi,4,17,
+zulana,1,17,
+zuko,4,17,
+ztragon_(character),4,17,
+zsparkonequus,1,17,
+zotter,1,17,
+zorah_zsasz_(artist),1,17,
+zool,4,17,
+zombitrix,1,17,
+zokuarts,1,17,
+zhephyreart,1,17,
+zhenelov,4,17,
+zhearun,1,17,
+zfou,1,17,
+zettdot,1,17,
+zeta_(pocketmob),4,17,
+zerothezeraora,1,17,
+zero_(loui),4,17,
+zera_(zerarick),4,17,
+zepi,4,17,
+zephyrus_(cooner),4,17,
+zephhyr,1,17,
+zepher_(todex),4,17,
+zeph,4,17,
+zenon0917,1,17,
+zennybluegenesis,1,17,
+zeltrexarts,1,17,
+zell23,1,17,
+zeke_(narija),4,17,
+zeke_(barazokudex),4,17,
+zeiram0034,1,17,
+zeg_yoros,1,17,
+zefa,1,17,
+zavir,1,17,
+zavender,4,17,
+zarakon_(character),4,17,
+zane_lepagi,4,17,
+zalgo_(artist),1,17,
+zafiro_(final_fantasy),4,17,
+zaemon,1,17,
+zael,4,17,
+z_j1341,1,17,
+yuuka_kazami,4,17,"kazami_yuuka,yuka_kazami"
+yurochka,1,17,
+yuno,4,17,
+yuna_snowleopard,4,17,
+yukimaru_(artist),1,17,
+yuka_(chimangetsu),4,17,
+yueliafreecs,1,17,
+yu_nurukami,4,17,
+young_male,0,17,
+yoshils_(character),4,17,
+yoshiikirablr,1,17,
+yoro,0,17,
+yonaga,1,17,
+yolabayola1,1,17,
+yinwa,4,17,
+yian_garuga,5,17,
+yellow_gem,0,17,
+years,0,17,
+yasha_(tanukiarts),4,17,
+yanutorie,1,17,
+yan_(hopelesshighschool),4,17,
+yami_kyubi_(yo-kai_watch),4,17,
+yamato_(lagoon_lounge),4,17,
+yamaimonoki,1,17,
+yala,4,17,
+yaddoriart,1,17,
+xylophone,0,17,
+xylene,4,17,
+xuliang,1,17,
+xotjr257,1,17,
+xn-dragon,1,17,
+xl_swat,1,17,
+xjal,4,17,
+xiaozhuang_(leeksaltboy),4,17,
+xhantus404,4,17,
+xenonfox_(fursona),4,17,
+xavier_(fox_sinz),4,17,
+xandry,1,17,
+xander_(sonne),4,17,
+xander_(ajp),4,17,
+xanafar,1,17,
+xanadu_corona,1,17,
+x_mouth,0,17,
+wysdrem,1,17,zeliv
+wyrmly,1,17,
+wulver,5,17,
+wulfie_(teddytime),4,17,
+wuffs,1,17,
+wuffkitty,4,17,
+wu_li-hua_(pltnm06ghost),4,17,
+wroggi,5,17,
+wrist_blades,0,17,
+wrathia_bellarmina,4,17,
+wrath,0,17,
+wrapped_arms,0,17,
+wool_(artist),1,17,
+wooden_leg,0,17,
+wondo,1,17,
+womchi,1,17,
+wolvindra,1,17,
+wolke_(character),4,17,
+wolfyportal,4,17,
+wolfwars_(bytewaretheproto),1,17,
+wolfos,5,17,
+wolfindex,1,17,
+wolfe2150,1,17,
+wolfarion_(character),4,17,
+wolf_guard_(wolfpack67),4,17,
+wolf_daddy_(fangdangler),4,17,
+wkeeble12,1,17,
+wizardglitter,1,17,
+wiwolf,1,17,
+wispsings,1,17,
+wish_me_mell,3,17,
+wisconsin_badgers,3,17,
+wired_mouse,0,17,
+winterfloof,1,17,
+wingston,1,17,
+wings_folded,0,17,
+wing_spots,0,17,
+willow_allison,4,17,
+wijnruit,4,17,
+whitewolf,4,17,
+whitestar1802,1,17,
+whitemagetifa,1,17,
+whitecat-blackcat,1,17,
+white_tuxedo,0,17,
+white_neckwear,0,17,
+white_dildo,0,17,
+white_cat,4,17,
+white_boxer_briefs,0,17,
+whiskey_glass,0,17,
+whip_spider,5,17,"amblypygi,tailless_whip_scorpion"
+wheezy,4,17,
+wet_towel,0,17,
+wet_belly,0,17,
+werewerewire,5,17,
+wepwawet,4,17,
+wenge,4,17,
+wendy_carlyle,4,17,
+wendy_(rainbowsprinklesart),4,17,
+welsh_springer_spaniel,5,17,
+welcome,0,17,
+ween,1,17,
+weedum-ja,4,17,
+wattyo,1,17,
+watou12,1,17,
+waterwuff,4,17,
+watermelonthecat,1,17,
+water_pistol,0,17,
+wash_cloth,0,17,
+wasd999,1,17,wasd_999
+wartenberg_wheel,0,17,
+wanko_ekaki1212,1,17,
+walkingmelonsaaa,1,17,
+walker_(solosandwich),4,17,
+waist_cuff,0,17,
+vvulfbara,1,17,
+vulpiedy,1,17,
+vulpeschild,1,17,
+vrass,1,17,
+vomiting_blood,0,17,
+vombavr,1,17,
+volt_(voltaicharbor32),4,17,
+volt_(muscleramvolt),4,17,
+volkkiiroi,1,17,
+vogel,4,17,
+vodyanoy5,1,17,
+vixin_mccloud,1,17,
+vixdojofox,1,17,
+vivian_makara,4,17,
+vivash,1,17,
+vitaen,5,17,
+visara,4,17,
+virtua_fighter,3,17,
+virginia,4,17,
+virensere,1,17,
+vira,4,17,
+violet_(sequential_art),4,17,
+violet_(jwinkz),4,17,
+viny,4,17,
+vincollie,4,17,
+vike_mike,1,17,
+vidnix_(artist),1,17,
+victor_faust,4,17,
+victor_(wsad),4,17,
+victor,4,17,
+vhubnh3,1,17,
+vexx,4,17,
+veteran_valentine_bear,4,17,
+vesalius,4,17,
+versa_nadeen,4,17,
+veronica_(the_weaver),4,17,
+veronica_(phoenix777),4,17,
+vera_oberlin_(monster_prom),4,17,
+venus_(voregence),4,17,
+venus_(bug_fables),4,17,
+vennominaga_the_deity_of_poisonous_snakes,4,17,
+venir_(character),4,17,
+venezuelan_poodle_moth,5,17,
+vendiri,5,17,
+venamon,4,17,
+velouria_ebylon_(orannis0),4,17,
+velocity_(gdq),4,17,"velocity_(games_done_quick),velocity_(sgdq),velocity_(summer_games_done_quick)"
+veldrak,4,17,
+vektorthedrakat(artist),1,17,
+veezara,4,17,
+varryance,4,17,
+variks,4,17,
+vardastouch,1,17,
+vaporeon249,1,17,
+vantablackbox,1,17,
+vans_aqua,4,17,
+vanquished_(meme),3,17,
+vanillapaw,4,17,
+vanblod,4,17,
+valinye,4,17,
+valery,4,17,
+valerie_price,4,17,
+valerie_(saybin),4,17,
+valencia_alexandre,4,17,
+valeena_(dharsii),4,17,
+vala_(coc),4,17,vala_(corruption_of_champions)
+val'kyr,5,17,
+vahruunir_(titania),4,17,
+vaginal_musk,0,17,
+vaeldrath,4,17,
+vademon,5,17,
+vaart,1,17,
+v-olk,1,17,
+uthor_(darksideofdiscovery),4,17,
+uthav,1,17,
+ushi,4,17,
+uroboros_lichi,1,17,
+urine_on_sheath,0,17,
+urine_in_container,0,17,
+uriko,4,17,
+ureos_(artist),1,17,
+upside_down_kiss,0,17,
+upholstery,0,17,
+upgrade_(ben_10),4,17,upgrade_(ben_ten)
+unusualsombrero,1,17,
+unspecific_species,5,17,
+unsomnus,1,17,
+unown_m,5,17,
+unknown_showhey,1,17,
+uniko,4,17,
+unhooked_bra,0,17,
+underworld_(films),3,17,
+under_clothing,0,17,
+under-rim_eyewear,0,17,
+uncolored_eyes,0,17,
+unclasped_bra,0,17,
+unaroused,0,17,
+ultros,4,17,
+ueyama_michirou,1,17,
+tyzya,4,17,
+two_tone_vest,0,17,
+two_tone_neckwear,0,17,
+two_tone_necklace,0,17,
+two_tone_glans,0,17,
+two_tone_cheeks,0,17,
+two_of_spades,0,17,
+two_(bfb),4,17,
+two-san,1,17,
+twipie,4,17,
+twiggy,1,17,
+twiggish,4,17,
+twentydollarnaughty,1,17,
+tween,0,17,
+turquoisephoenix,1,17,
+turquoise_face,0,17,
+turquoise_areola,0,17,
+tundra_amethyst,4,17,
+tummi_gummi,4,17,
+tug,4,17,
+tteum93,1,17,
+tsurugi_kyousuke,4,17,
+tsurugi23,1,17,
+true-artist-mas,1,17,
+troy_(twavish),4,17,
+trowzer,4,17,
+tron_legacy,3,17,
+trojan,3,17,
+trisngid,1,17,
+trisha_(liebeslied),4,17,
+triptych,0,17,
+trinity_(trinity-fate62),4,17,
+trilobite_(prometheus),5,17,
+trik_(flufferderg),4,17,
+trickster,0,17,
+trial_captain_sophocles,4,17,"sophocles_(pokemon),sophocles_(pokémon)"
+trevor_philips,4,17,
+trespassing,0,17,
+tree_pose,0,17,
+tredlocity,1,17,
+treble_(treblehusky),4,17,
+trazsha,4,17,
+trashgriffin,1,17,
+trashbag,0,17,
+transphobia,0,17,
+translucent_sheet,0,17,
+transcender,5,17,
+trainerselva,1,17,
+tragulid,5,17,"chevrotain,mouse-deer,mouse_deer,tragulidae,tragulus"
+toyholes,0,17,
+toulouse_(aristocats),4,17,
+touching_waist,0,17,
+touching_own_hair,0,17,
+touching_own_arm,0,17,
+touching_ankle,0,17,
+tortimer_(animal_crossing),4,17,
+torso_tied,0,17,
+torque_wrench_(mlp),4,17,
+torn_apart,0,17,
+toriel_(horrortale),4,17,
+torian_(nimorga),4,17,
+torajiro_(taimanin_asagi),4,17,
+torajimaneko,1,17,
+topwear_grab,0,17,
+topaz_(kalahari),4,17,
+top_wing,3,17,
+top_(disambiguation),0,17,top
+toots_(tom_and_jerry),4,17,
+toola_roola_(mlp),4,17,
+tony_tony_chopper_(monster_point_form),4,17,
+tonka_(nik159),4,17,
+tonguing,0,17,
+tomotsuka_haruomi,1,17,
+tomocreations,1,17,tomoyuki
+tomei_(zerofox1000),4,17,
+toka_drachek,4,17,
+toichi,4,17,
+togemon,5,17,
+toe_leash,0,17,
+tobyreole,1,17,
+toby_(cirruskitfox),4,17,
+tobibrocki,1,17,
+tkdchamp02,1,17,
+tjk,1,17,
+tittydispenser,1,17,
+tire_track,0,17,
+tinypwbble,1,17,
+tinydevil,1,17,
+tiny_fox_(sorrynothing),4,17,
+timothy_mouse,4,17,
+time_progression,0,17,
+timber_pony,5,17,
+tilla_(vivzmind),4,17,
+tikory_(kdtre),4,17,
+tigonking2.0,1,17,
+tight_briefs,0,17,
+tigershorky,1,17,
+tiger-chan,4,17,
+tieradler,1,17,
+tictac,1,17,
+tickling_genitals,0,17,
+tialasakura,4,17,
+thunderhax,1,17,
+thumbs_in_pockets,0,17,
+thumbs1,1,17,
+thrash,4,17,
+thomas_(disambiguation),4,17,thomas
+thirstfur,1,17,
+thin_legs,0,17,
+thick_shaft,0,17,
+thick_lines,0,17,
+thick_fingers,0,17,
+thiccacuga,1,17,
+theviado,1,17,
+theuniverseofcmed,3,17,
+theriolumon,1,17,
+theo_(neotheta),4,17,
+thenornonthego,1,17,
+themadshepherd,1,17,
+thelivingmachine02,1,17,
+thelegendcreator,1,17,
+thekoboldking,1,17,
+thehoraco,1,17,
+thedeirdre96,1,17,
+thecuckingfunts,1,17,
+thebes_(velociripper),4,17,
+the_worst_unicorn,1,17,
+the_underworld,3,17,
+the_tortoise_and_the_hare,3,17,
+the_rocky_horror_picture_show,3,17,
+the_rake,4,17,
+the_princess_jessie,4,17,
+the_prince_(trick_moon),4,17,
+the_pizza_company,3,17,
+the_onion,3,17,
+the_magic_of_insight,0,17,
+the_hierophant_(tarot),0,17,
+the_hanged_man_(tarot),0,17,
+the_emoji_movie,3,17,
+the_birds_and_the_bees,3,17,"bird_and_bee,bird_and_bee_talk,bird_and_the_bee,bird_and_the_bee_talk,birds_and_bees,birds_and_bees_talk,birds_and_the_bees,birds_and_the_bees_talk,the_bird_and_bee,the_bird_and_bee_talk,the_bird_and_the_bee,the_bird_and_the_bee_talk,the_birds_and_bees,the_birds_and_bees_talk,the_birds_and_the_bees_talk"
+thatmoondragon,1,17,
+thanatos_laige,4,17,
+thai_bangkaew,5,17,"bangkaew,thai_bangkaew_dog"
+thadius,4,17,
+tetra_(wetwaffls),4,17,
+terubby,1,17,
+terry_(terrythetazzytiger),4,17,
+terrorbird_(pet_foolery),4,17,
+terror_dog,5,17,
+terrance_(simplephobiaxd),4,17,
+terran_rex_(character),4,17,
+teridax_(character),4,17,
+tents,0,17,
+tentacles_penetrating_female,0,17,
+tentacles_from_penis,0,17,
+tentacle_sounding,0,17,
+tentacle_milking,0,17,
+tenko_ganbaru!_muchimuchi_tora_musume_wa_hna_yume_o_miru_no_ka?,3,17,
+tendril_(dreamkeepers),4,17,
+temperature,0,17,
+temperance_(tarot),0,17,
+tellarasa,1,17,
+tekup1n,1,17,
+tekai,4,17,
+teive,4,17,
+teeteeh_(asderzx),4,17,
+teddy_ruxpin_(series),3,17,
+teckolote,1,17,
+team_valor,3,17,
+teal_nails,0,17,
+teacher_on_student,0,17,
+tazmanian_devil,5,17,
+tayun_x2,1,17,
+tattletail_(character),4,17,
+tass_(character),4,17,
+tarnar,1,17,
+target_strike,4,17,
+tara,4,17,
+tao_zee,4,17,
+tanzmitmir,1,17,
+tanya_(tanyakapton),4,17,
+tanukisan,1,17,
+tanookiluna,1,17,
+tank_model_vixen,4,17,
+tania,4,17,
+tangybutts,1,17,
+tangobunny,4,17,
+tangles_(bnbigus),4,17,
+tanglefox,1,17,
+tangent,4,17,
+tanemon,5,17,
+tan_t-shirt,0,17,
+tan_pseudo_hair,0,17,
+tan_fangs,0,17,
+tan_bra,0,17,
+tame,0,17,
+tamagoro,1,17,
+tallow,4,17,
+taller_male,0,17,
+tales_of_the_folly,3,17,
+talba,4,17,
+talarath,4,17,
+tako_(character),4,17,
+taking_it_way_too_far,0,17,
+takanuva,4,17,
+taistone_tw,1,17,
+tail_strap,0,17,
+tail_sock,0,17,
+tail_on_arm,0,17,
+tail_coat,0,17,
+tail_claws,0,17,tail_claw
+tail_brush,0,17,
+tail_between_breasts,0,17,
+tail_around_balls,0,17,
+taiga_(traceymordeaux),4,17,
+taiga_(shyning_fingah),4,17,
+taelsin,4,17,
+taeko_(odd_taxi),4,17,
+tackykat,1,17,
+tacimur,1,17,
+table_tennis,0,17,
+tabitha_(disambiguation),4,17,tabitha
+t_t_792,1,17,
+syuriusuhusky,1,17,
+sysygy,1,17,
+synfull,1,17,
+sycamorph_(editor),1,17,
+switch_(device),0,17,
+swirlything,1,17,
+swings,0,17,
+swinefolk_(darkest_dungeon),5,17,
+sweettooth115,1,17,
+sweetpotato_(artist),1,17,
+sweet_queen,1,17,
+sven_hayden,4,17,
+suzie_wong,4,17,
+sursiq,1,17,
+superstreamteam,1,17,
+superagro,1,17,
+super_star,0,17,
+sunny_miami,4,17,
+sunlessnite,1,17,
+sundaecorner,1,17,
+sunblock,0,17,
+sun_parakeet,5,17,sun_conure
+sumari_(character),4,17,
+sukala-ap,1,17,
+suikawari,0,17,
+suicide_furs,1,17,
+suggestion,0,17,
+sugas,4,17,
+sugar_the_lopunny,4,17,
+succu-pie,1,17,
+sucaciic,1,17,
+submit,0,17,
+subject_9,3,17,
+styxl,4,17,
+stun_baton,0,17,
+studded_wristband,0,17,
+strive,1,17,
+striped_furniture,0,17,
+strawberry_sunrise_(mlp),4,17,
+strawbeary_j,4,17,
+strannik,4,17,
+stranded,0,17,
+storyshift,3,17,
+steven_(drstiesel),4,17,
+steve_(blue's_clues),4,17,
+stepping_on_chest,0,17,
+stellos,1,17,
+stella_delacroix,4,17,
+stefani_stilton,4,17,
+steel_tundra,3,17,
+steel_snake,1,17,
+steampunkseahorse,1,17,
+starspangledbanger,1,17,
+starreuges,1,17,
+starr_(cynicalstarr),4,17,
+starkdust,1,17,
+starfield,0,17,
+star_print_hat,0,17,
+star_collar_tag,0,17,
+stankbank,1,17,
+standing_on_chair,0,17,
+standing_in_urine,0,17,
+stahl_(stalvelle),4,17,
+stage_act,0,17,
+squishy_the_panda,4,17,
+squishing_cheeks,0,17,
+squigglevision,0,17,
+spy_fox,4,17,
+spxwlf,1,17,
+sputnik_(artist),1,17,
+spurdo,4,17,
+spunkzoid,1,17,
+spunky_shep,4,17,
+spruce,0,17,
+sprioc,4,17,
+spotxy,1,17,
+spotted_head,0,17,
+spots_the_kobold,4,17,
+spooky_(lilo_and_stitch),4,17,"experiment_300,spooky_(l&s),spooky_(las),spooky_(lilo_&_stitch),spooky_(stitch)"
+spoof_(artist),1,17,
+sponge_bath,0,17,
+splitsy,4,17,
+split_dress,0,17,
+splatterparrot,1,17,
+spit_fetish,0,17,
+spit_bubble,0,17,
+spiral_marking,0,17,
+spiked_legwear,0,17,
+spiked_chastity_cage,0,17,
+spicysausages,1,17,
+spicysaturns,1,17,
+sperm_cell_with_facial_features,0,17,
+spellcasterknight,1,17,
+spazer86,1,17,
+sparkz_(wanderer-of-time),4,17,
+sparkling_object,0,17,
+sparkling_clothing,0,17,
+spacewoof,1,17,
+spacemvtt,1,17,
+spaceballs,3,17,space_balls
+space_channel_5,3,17,
+soyjak,3,17,
+sosalkis,1,17,
+soraa_(character),4,17,
+sora_(eosets),4,17,
+sophie_calliwell,4,17,
+sophia_(warfaremachine),4,17,
+sonic_the_hedgehog_series,3,17,
+sonia_(omniman907),4,17,
+somekindajackal,1,17,
+solutions_unlimited,3,17,
+solitarybagel,1,17,
+solient,1,17,solios
+solar_system,0,17,
+solar_flare_(mlp),4,17,
+solaceopossum,1,17,solaceopossum_(artist)
+sokka,4,17,
+sofka,4,17,
+sofia_(sofiathedragon),4,17,
+sofeia,4,17,
+snowy_elizabeth,4,17,
+snowmoonstone,1,17,
+snowball_(overwatch),4,17,
+snow_cone,0,17,
+snorlax_gf_(word360),4,17,
+snorkeling,0,17,
+snipperclips,3,17,
+sniffy_(drachenfyr),4,17,
+snax_(honeypotsheep),4,17,
+snarling_darling,1,17,
+smokiiie,1,17,
+smash_invitation,0,17,
+smaller_sleeping,0,17,
+smaller_semi-anthro,0,17,
+small_torso,0,17,
+small_hat,0,17,
+small_flare,0,17,
+slydollis,1,17,
+slyblue7,1,17,
+slw,1,17,
+sludgetoons,1,17,
+sloppysnuffer,1,17,
+slimer,4,17,
+slimedrippy,1,17,
+slig,5,17,
+slawomir_maniak,1,17,
+slaver,0,17,
+slash_(slashster),4,17,
+slappyfrog,1,17,
+slappy_(youwannaslap),4,17,
+slab,0,17,
+skyline_comet,1,17,
+skylarkie,1,17,
+skye_wilson,1,17,
+skull_dragon,5,17,
+skozz_(rock_dog),4,17,
+skle,1,17,
+sketchylimesliv,1,17,
+skellos,3,17,
+skelette,4,17,
+skeleton_(minecraft),5,17,
+skelbely_(character),4,17,
+skech_(character),4,17,
+skadi_(arknights),4,17,
+skade_the_fox,4,17,
+sirocco_(phosaggro),4,17,
+sirboss,1,17,
+sinz0ne,1,17,
+sinsmonster,1,17,
+sinonthefox,4,17,
+single_thighhigh,0,17,
+single_stocking,0,17,
+sindel,4,17,
+simplified_mind,0,17,
+simplified_brain,0,17,
+simplex,0,17,
+simon_supronimo,4,17,
+simba_silvus,4,17,
+sima_naoteng,1,17,
+silvia_pinewood_(dalwart),4,17,
+silvia_emberfrost,4,17,
+silvermist,4,17,
+silvera,4,17,
+silver_soldier_(oc),4,17,
+silver_foxxo,1,17,
+silver_fox_(species),5,17,
+silvarion,1,17,
+silus_bauer,4,17,
+silly_werewolf,4,17,
+silkworm,5,17,
+signal_reception_bar,0,17,
+siege_whitemutt,4,17,
+siber_(thegoldenjackal),4,17,
+siamogale_melilutra,5,17,
+shutterflye,1,17,
+shroomsworth,4,17,
+shoulder_massage,0,17,
+shorty-stories,1,17,
+shorthair,0,17,
+shortcat,4,17,
+shoggoth_(h.p._lovecraft),5,17,
+sho99614288,1,17,
+shizumi_aoki,4,17,
+shizuma_luxray,4,17,
+shiva,4,17,
+shitora_(chimangetsu),4,17,
+shirt_pulled_down,0,17,
+shirou_muffin,1,17,
+shirou_motoori,4,17,
+shirou_kenta,4,17,
+shiro_(mastergodai),4,17,
+shiro_(deadly_kiten),4,17,
+shira_wolven,4,17,
+shira_(vuko-jebina),4,17,
+shiofeifei,1,17,
+shinjuku_rockets,3,17,
+shinjody,1,17,
+shineymagic,1,17,
+shiba_carmine,4,17,
+shiacoft_(fursona),4,17,
+sheru,1,17,"shieru,しぇる"
+sherri_aura,4,17,
+shenscalybutt,4,17,
+shen_lei_fan,4,17,
+sheepfloof,1,17,
+sheep_(homosheep),4,17,
+sheega,4,17,
+sheath_bulge,0,17,
+shattered_glass,3,17,
+sharpt00th,1,17,
+sharkguts,1,17,
+sharkfurryman,1,17,
+shark_dating_simulator_xl,3,17,
+shark-chan,4,17,
+shari,4,17,
+shanti_(jungle_book),4,17,
+shanti,1,17,
+shadow_the_husky,4,17,
+shade_(scalesindark),4,17,
+shabu_(gau),4,17,
+sh_disney,1,17,
+seydaschu_(character),4,17,
+sex_toy_as_gift,0,17,
+severed_scrotum,0,17,
+severed_equine_penis,0,17,
+seth_(xeo_snow),1,17,
+seth_(tokifuji),4,17,
+sesame_seeds,0,17,
+sesame_(sesame),4,17,
+serving_dessert,0,17,
+serious_business,0,17,
+seraotoro,1,17,
+sepiakfox,1,17,
+senura,1,17,
+sent33,1,17,
+senryo,4,17,
+semiceri,4,17,
+semi-rimless_eyewear,0,17,
+semi-perfect_cell,4,17,
+selkie_(chimangetsu),4,17,
+selk_(nightfaux),4,17,
+seline_ro,4,17,
+selina_(steveshep),4,17,
+sekiyu_(spartan),1,17,
+sekai_anela,4,17,
+seigwestwood,4,17,
+seidouryu,1,17,
+sefurry,4,17,
+sedire_(deiser),4,17,
+security_puppet_(fnaf),4,17,
+security_breach:_fury's_rage,3,17,
+seb,4,17,
+seateal,1,17,
+searow_azen_(bbbuuu),4,17,
+scylla_(proteus),4,17,
+scud_the_disposable_assassin,3,17,
+scruffmuhgruff,1,17,
+scruffkerfluff,1,17,
+scrotum_rope,0,17,
+scribe,0,17,
+scrapheap_(artist),1,17,
+scp-2845,4,17,
+scourgesolace_(artist),1,17,
+scott_williams,4,17,
+scorpion_(mortal_kombat),4,17,
+scorchio_(neopets),5,17,
+schwarzer,4,17,
+schnapps_(character),4,17,
+schipperke,5,17,
+scheriff,1,17,
+scenario,0,17,
+scarlett_roo,4,17,
+scarlet_emerald,4,17,
+scaled_wings,0,17,
+scaled_balls,0,17,
+sbi_arki,1,17,
+sax,1,17,
+savannah_(yarpi),4,17,
+savannah_(animal_crossing),4,17,
+sausages,0,17,
+sauda,4,17,
+saucytoast,1,17,
+saucererzz,1,17,
+satyq,1,17,
+saturday_night_live,3,17,
+satomi_(pixiv),1,17,
+sasha_(melodyfox),4,17,
+saras,4,17,
+sarakatka,1,17,
+sarai_(nnecgrau),4,17,
+sarah_lebrecque,4,17,
+sarah_bou,4,17,
+sara_(knuddelbock),4,17,
+sapphire_(steven_universe),4,17,
+sapling,0,17,
+sanuki_(artist),1,17,
+sanicbaddie,1,17,
+sanguine_morning,0,17,
+sand_witch_(coc),4,17,sand_witch_(corruption_of_champions)
+sand-filled-scarecrow,1,17,theartofscarecrows
+sammy_fox,4,17,
+sammy_(spikedmauler),4,17,
+samkin_(character),4,17,
+samantha_scales,4,17,
+samagram93,1,17,
+samaella,1,17,
+sam_corenthal,4,17,
+sam_(tinydeerguy),4,17,
+salt_bae,3,17,
+salmon_(food),0,17,
+saliva_on_feet,0,17,
+salireths_(character),4,17,
+salamander_(void_lizard),4,17,
+salak_(kobold),4,17,
+salaciouscarnival,1,17,
+sake_hachimitsu,4,17,
+sahara_(buckshot1130),4,17,
+sagis,4,17,
+sage_orphe,4,17,
+sage_(zer0rebel4),4,17,
+sagal,4,17,
+saffron_(demicoeur),4,17,
+sadiend,4,17,
+sabotage,0,17,
+sable_koslova_(heroicones),4,17,
+sabiba_(squablodecomplash),3,17,
+saberleo,1,17,
+saberkung,1,17,
+sabella,4,17,
+saban's_oliver_twist,3,17,
+saban's_adventures_of_oliver_twist,3,17,
+s4ssy,4,17,
+s'irissi_nunh,4,17,
+ryusekikuri,1,17,
+rythaze,1,17,
+ryokoneko,1,17,
+ryoko_sakmat,4,17,
+ryoken_(character),4,17,
+rye_osland,4,17,
+rye,4,17,
+ryderriro,1,17,
+ruth_sucubus,4,17,
+runerigus,5,17,runergius
+rune_riddle,4,17,
+run_over,0,17,
+rumia,4,17,
+ruinworld,3,17,
+rugyam_(windborn),4,17,
+ruffled_swimsuit,0,17,
+ruedeath,1,17,
+rudolf_concard,4,17,
+rude_awakening,0,17,
+ruby_(flafty),4,17,
+rubi,4,17,
+ruben_jorgenson,4,17,
+ruairi,4,17,
+rrkk,1,17,
+roymanx,1,17,
+royce_hayes,4,17,
+roxxie_schnee,4,17,
+roxanne_valentine,4,17,
+roxanne_poisontail_(coc),4,17,"roxanne_(coc),roxanne_poisontail_(corruption_of_champions)"
+roundpeach,1,17,
+round_teeth,0,17,
+rottenorange,1,17,
+rotorooter,4,17,
+rosy_(balto),4,17,
+rosie_love,4,17,
+rosie_(disambiguation),4,17,rosie
+rose_(danji-isthmus),4,17,
+rosaline_lanistark,4,17,
+rory_(foulsbane),4,17,
+rope_suspension,0,17,
+rooks,4,17,
+rook_(skidd),4,17,
+rook_(lazymoose),4,17,
+ronin_(innovator_aegis),4,17,
+ronda_(brogulls),4,17,
+rom-art,1,17,
+rolls-royce,3,17,rolls_royce
+rolled_up_shirt,0,17,
+roll,0,17,
+rogerwoof_(character),4,17,
+rodney_(animal_crossing),4,17,
+rockblackhorn_(artist),1,17,
+rockabilly,0,17,
+rocher_(nyquil),4,17,
+rob_rios,1,17,
+roary_(paoguu),4,17,
+rnohitodayo,1,17,
+riza_wildman,4,17,
+river_(fuel),4,17,
+riuzzaki,1,17,
+ritz_the_rat,4,17,
+ritz_(video_game),3,17,
+ritoning8810,1,17,
+riou_(whiterabbit95),4,17,
+rinkae,1,17,
+rimscrummy,1,17,
+riky,4,17,
+riki_(xenoblade),4,17,
+riisuu,1,17,
+rigbutt,1,17,
+riff-raff,4,17,riffraff
+ries,4,17,
+rickytea,1,17,
+richyminer,1,17,
+richard_hunter,4,17,
+rich,0,17,
+rhen_(jelomaus),4,17,
+reznoo,1,17,
+rezno,4,17,
+reymur,1,17,
+reycovert,1,17,
+rexa_(character),4,17,
+revodo,1,17,
+reth_(grimart),4,17,
+restroom_sign,0,17,
+resting_head,0,17,
+resourceful_rat,4,17,
+resondog,1,17,
+rese_y.,1,17,
+rept_(character),4,17,
+reonarudo16sei,1,17,
+renny,4,17,
+renesi,4,17,
+renato,4,17,
+renatii,4,17,
+renaka_(avali),4,17,
+ren_(rabbity),4,17,
+remyl,1,17,
+rem_(re:zero),4,17,
+rekuuza,4,17,
+reinhardt_kurogane,4,17,
+reimon,1,17,
+reikomatsu_(artist),1,17,
+regina_(darkdragonv0942),4,17,
+regal_fulton,4,17,
+reese_q,4,17,
+redmiles,1,17,
+redguard,5,17,
+red_note,1,17,
+red_hair_tie,0,17,
+red_bracelet,0,17,
+red_beans_(pencil_bolt),4,17,
+red_ascot,0,17,
+record_melodie,4,17,
+rebecca_alexandrite,4,17,
+reality_revision,0,17,
+ready_to_pop,0,17,
+reading_magazine,0,17,
+re1o,1,17,
+rckke,1,17,
+razuul,4,17,
+razputin_aquato,4,17,raz_(psychonauts)
+razgar,1,17,
+raycoon,4,17,
+raura_lotty,4,17,
+raulec_(vju79),4,17,
+ratwell,1,17,
+ratha_grim,4,17,
+ratau_(cult_of_the_lamb),4,17,
+rasputitsa_(petruz),4,17,
+rarakie_(character),4,17,
+randall_munroe,1,17,
+ranaecho,1,17,
+ramzo_hiryuga_(braziliandog),4,17,
+rammstein,3,17,
+ram_(burquina),4,17,
+raknar,4,17,
+rainbow_road,0,17,
+rainbow_blood,0,17,
+rain_imp,5,17,
+rail_grinding,0,17,
+raichiyo33,1,17,
+rahka,4,17,
+rahi,5,17,
+ragyō_kiryūin,4,17,"kiryuin_ragyo,kiryūin_ragyō,ragyo_(kill_la_kill),ragyo_(klk),ragyo_kiryuin,ragyō_(kill_la_kill),ragyō_(klk)"
+ragtouran,1,17,
+ragna_(felino),4,17,
+raferafe,1,17,
+raeal_the_protogen,4,17,
+rachel_(calithya),4,17,
+rabidclone,1,17,
+rabanochan,1,17,
+r3n0.mon_(dothemonkey94),4,17,
+r'hed_skulker,4,17,
+quix,4,17,
+quiggles,4,17,
+quiet-storm,4,17,
+quicktime_event,0,17,qte
+quick_brown_fox_jumps_over_the_lazy_dog,4,17,
+quez,4,17,
+quetzadrake,1,17,
+queenie_(trexqueen),4,17,
+queen_valentina,4,17,
+queen-corgi,1,17,
+quebec_(solatorobo),4,17,
+qmelon,1,17,
+qiqirn,5,17,
+qethwyrm666,1,17,
+q-bert,3,17,
+pyro,4,17,
+pwnagespartan,1,17,
+pussy_circumcision,0,17,"clitoral_circumcision,clitoris_circumcision,female_circumcision,labia_circumcision,vaginal_circumcision"
+pushuke,1,17,
+puru_(fidchellvore),4,17,
+purplelove_(artist),1,17,
+purpleleoart,1,17,
+purpleflamensfw,1,17,
+purple_demon,5,17,
+purple_belt,0,17,
+puppydreams,1,17,kunook
+pupete,1,17,
+pumpkin_basket,0,17,
+pumpkin_anal_beads,0,17,
+pulled,0,17,
+puku2315,1,17,
+puff_hare,4,17,
+ptolemy_xii,4,17,
+prussian,0,17,
+protopet,5,17,
+proton_pack,0,17,
+prostate_play,0,17,
+prolapse_piercing,0,17,
+projections_(comic),3,17,
+professor_aurea_juniper,4,17,"juniper_(pokemon),juniper_(pokémon),professor_juniper"
+print_thong,0,17,
+print_pillow,0,17,
+princessnapped,1,17,
+princess_tutu,3,17,
+princess_andromeda,4,17,
+prince_lune,4,17,
+priestess_(goblin_slayer),4,17,
+pride_lands,0,17,
+precum_pooling,0,17,
+ppshex,1,17,
+pozimi_(kaedwuff),4,17,
+powersurge_(character),4,17,
+power_slide,0,17,
+pow,0,17,
+potionaholic,1,17,
+portia_(portia),4,17,
+porcine_pussy,0,17,
+popuko,4,17,
+poptart_(character),4,17,
+poor,0,17,
+pony.mov,3,17,
+pompsadoodle,1,17,
+pomf_(meme),3,17,
+polyamory_pride_colors,0,17,
+pokémon_refresh,3,17,pokemon_refresh
+pokie_(pokiedragon25),4,17,
+pokesymbiote,1,17,
+pokemon_geographic,3,17,
+pokebreeder,1,17,
+pokeartmaster95,1,17,
+pocketss,1,17,
+pluto_(plaguedogs123),4,17,
+plow_pose,0,17,
+plesioth,5,17,
+plasdurock,4,17,
+planking,0,17,
+plank_(character),4,17,
+pirta_(the_whiteboard),4,17,
+pircings,0,17,
+pirachu,4,17,
+pinkuh_(character),4,17,
+pink_talons,0,17,
+pink_slippers,0,17,
+pink_mask,0,17,
+pink_headgear,0,17,
+pink_head,0,17,
+pink_floor,0,17,
+pingqiong_xiansheng,1,17,
+pilot_suit,0,17,
+pillowfight,3,17,
+pillow_(cocotama),4,17,
+pilk,3,17,
+pigutao,1,17,pigutou
+pig_cop,5,17,
+piers_(pokemon),4,17,piers_(pokémon)
+pierced_clothing,0,17,
+piecesofeden,1,17,
+pidgedouglas,1,17,
+pickpocket,0,17,
+picarto,3,17,
+pia_(utouchmyweird),4,17,
+phyra,4,17,
+phoxhunt,3,17,
+phonecall,0,17,
+phone_connector,0,17,
+pholewd,1,17,phosphra
+philikkahn,5,17,
+phi_(chalo),4,17,
+phara_gearheart_(redace83),4,17,
+pg_enaena,1,17,
+pey,1,17,
+petunia_(titallulah),4,17,
+petri_dish,0,17,
+petra_(rogue-numbers),4,17,
+petra,4,17,
+pervenche,1,17,
+persephone_(furgeta),4,17,
+perjury_(hallowedgears),4,17,
+peri_(fluffydisk42),4,17,
+performapal_whim_witch,4,17,
+percy_howl,4,17,
+pepper_charizard,4,17,
+pent,4,17,
+penis_wrap,0,17,
+penis_spots,0,17,
+penis_scarf,0,17,
+penis_pull,0,17,
+penis_on_table,0,17,
+penis_on_feet,0,17,
+penis_circumcision,0,17,"foreskin_circumcision,male_circumcision,penile_circumcision"
+penile_papules,0,17,
+penelo,4,17,
+pendoraaaa1,1,17,
+pencil_(disambiguation),0,17,"pencil,pencils"
+peggy_pig,4,17,
+peeing_on_breasts,0,17,
+pecs_expansion,0,17,
+pec_flexing,0,17,
+peanut_otter,4,17,
+peanut_butter_(puppkittyfan1),4,17,peanut_butter_(puppychan48)
+peachcupp,1,17,
+peach_ring,1,17,
+pd,1,17,
+pca,0,17,
+pbs,3,17,"pbs_kids,public_broadcasting_service"
+pawkets,4,17,
+pawbeanshq,1,17,
+patterned_underwear,0,17,
+patterned_clothing,0,17,
+pattern_sofa,0,17,
+pattern_neckwear,0,17,
+patarina,4,17,
+pasteldawg,1,17,baronessa
+pasteldaemon,1,17,
+partlysmith,1,17,
+parker_webb,4,17,
+paranoiya,1,17,
+paradox-sin,1,17,
+paper_hat,0,17,
+panther_king,4,17,
+pandoza,1,17,
+panchi_(panchi),4,17,
+pan_sizzle,4,17,
+pam_(wrinklynewt),4,17,
+painted_sketch,0,17,
+painted_on_underwear,0,17,
+pafu_(artist),1,17,
+padmenvy,1,17,
+paddle_ball,0,17,
+padded_walls,0,17,
+pabst_blue_ribbon,3,17,
+pablo_(off),4,17,
+ozarkozarkozark,1,17,
+oxytoto,1,17,
+owlizard,1,17,
+oval_(little_hareboy),4,17,
+outlanders,3,17,
+otis_(back_at_the_barnyard),4,17,
+othoxon,1,17,
+ostrich_penis,0,17,
+ossadipesce,1,17,
+osaruyan,1,17,
+orthodontic_headgear,0,17,
+orphanage,0,17,
+orionm,1,17,
+oridore,1,17,
+organic_transformed_flyer,5,17,
+orf_(character),4,17,
+oreos,4,17,
+oreo_(max_draws),4,17,
+orangestheasd_(artist),1,17,
+orange_lightsaber,0,17,
+orange_belt,0,17,
+optibyte,1,17,
+ophelia_(soaskep),4,17,
+open_sweater,0,17,
+open_boxers,0,17,
+opal_(tsudanym),4,17,
+ooze_(resident_evil),5,17,
+onisyra_(character),4,17,
+onioneyedgoat,1,17,
+oniblonde,1,17,
+onewa,4,17,
+onai,4,17,
+on_arm,0,17,
+omegahusky,4,17,
+olympia_(winged_leafeon),4,17,
+olivia_(screwroot),4,17,
+oliver_(sssonic2),4,17,
+oliver_(eddie),4,17,
+older_taur,0,17,
+okane_akemi,4,17,
+okami-the-wolf,1,17,
+ohnobbsan,1,17,
+ohio_heat,3,17,
+ofdark,1,17,
+odradek,0,17,
+odin_(disambiguation),4,17,odin
+octoling_boy,4,17,
+octipop,1,17,
+ocram_(protogen),4,17,
+ocifernsty,1,17,
+ochika_yorumo,1,17,
+observerz,1,17,
+observerdoz,1,17,
+object_on_shoulder,0,17,
+oag_(artist),1,17,
+nzuri,1,17,
+nyx_(kiwinyx),4,17,
+nyminex,4,17,
+nykun,4,17,
+nyarlathotep_(h.p._lovecraft),4,17,
+nyami_(pop'n_music),4,17,
+nuse_shark_(slightlysimian),4,17,
+nurse_snowheart_(mlp),4,17,
+numa_(ouroporos),4,17,
+null-ghost_(character),4,17,
+nuebark,1,17,
+nsfyosu_(artist),1,17,
+nowego_(artist),1,17,
+nova_zircon,4,17,
+nova_eevee,4,17,
+noupie,1,17,
+notde_(oc),4,17,
+nosebleed_(artist),1,17,
+norumgt,1,17,
+nori-3,1,17,
+nora_leonall,4,17,
+nora_(disambiguation),6,17,
+nopulant,1,17,
+nonexdog,1,17,
+nohl_onyxstone,4,17,
+noelmoogle,4,17,
+nobody_in_particular,1,17,
+noble_major,4,17,
+nkiru,4,17,
+nitronic,1,17,
+nitoma,5,17,
+nishiki_(artist),1,17,
+nishala_(xeila),4,17,
+nipple_suction,0,17,
+nipple_stud,0,17,"nipple_studs,nipplestud,nipplestuds"
+nipper,4,17,
+ninjabunneh,1,17,
+ninja_sex_party,3,17,
+ninja-max,1,17,
+nine_frame_staggered_grid,0,17,
+nimbl_kitty,4,17,
+nikkosha,1,17,
+nihon_(character),4,17,
+nightrose_desires,1,17,
+nightlight,0,17,
+nighjilax,1,17,
+nigel_stup,4,17,
+nieve_(dragonwingeddestroyer),4,17,
+nicothepinkhusky,1,17,
+nicole_o'connor,4,17,
+nicolas_brunet,1,17,
+nico_(disambiguation),4,17,
+nickfurrydoge,1,17,
+nick_(riel),4,17,
+niamh_(coc),4,17,
+nezumo6,1,17,
+nexusthelife,1,17,
+nextstep,1,17,
+newd_(fursona),4,17,
+neuron_activation,3,17,
+nether_dragon,5,17,
+nes_cartridge,0,17,
+nery,4,17,
+nero_claudius_(fate),4,17,
+nephlite,1,17,
+neoshadow,5,17,
+neon_white,3,17,
+neode_lucid,4,17,
+neo_nakamura,1,17,
+nekozuki,1,17,
+nekololisama,1,17,
+neilos0526,1,17,
+negija,1,17,
+nefarious.cum,1,17,
+need_for_speed,3,17,
+neck_wraps,0,17,
+neck_rolls,0,17,
+nazorad,1,17,
+navy_hair,0,17,
+nautilusbomb,1,17,
+naughty_ram,1,17,
+nattybear,4,17,
+natsu_no_koucha,1,17,
+nathan_(kostos_art),4,17,
+nate_the_behemoth,4,17,natethebehemoth
+natasha_(vainovalkea),4,17,
+natalie_mouse,4,17,
+natalie_(titaniumninetales),4,17,
+nashi_(shikami),4,17,
+narky_sawtooth_(artist),1,17,
+nariklei,4,17,
+nanostar,1,17,
+nano99,4,17,
+nanja_korev,4,17,
+nanda,4,17,
+nanafuse,4,17,
+nana_(nyazriel),4,17,
+nameless_lynx_(kolk),4,17,
+nalu_ame021,1,17,
+nalleh_(brunalli),4,17,
+nala_(nightnight),4,17,
+nakourou,4,17,
+nakigara,1,17,
+nagoshinikake,1,17,
+naerian,5,17,
+mzstallion_(character),4,17,
+myuseru_foaran,4,17,myucel_foalan
+mythology_(character),4,17,
+mystfell,3,17,
+mysterycrab,1,17,
+mysq,1,17,
+myra_mire_(tekandprieda),4,17,
+mylimo,4,17,
+myka_haskins,4,17,
+my_little_pony_tales,3,17,
+my_eyes_are_up_here,3,17,
+muzzle_in_sheath,0,17,
+muw,4,17,
+mutual_sniffing,0,17,
+musky_balls,0,17,
+mushbun_(character),4,17,
+musapan,1,17,
+munchies_(bleats),4,17,
+multiple_sketches,0,17,
+multicolored_thigh_boots,0,17,
+multi_penis_outline,0,17,
+mudwuff,1,17,
+mudskipper,5,17,
+mudhound,1,17,
+mucci,1,17,
+ms._hina,4,17,
+ms._haley_(canisfidelis),4,17,
+mrwastemaster1,1,17,
+mrs_granite_(kitfox-crimson),4,17,
+mrs._salmon,4,17,
+mrramone,1,17,
+mrmongoose,1,17,
+mrdannyloco,1,17,
+mr_jugger,1,17,
+mr._owl,4,17,
+mr._jinks,4,17,mr_jinks
+moxsully,1,17,
+motthew_(woebeeme),4,17,
+mothmom_(slb),4,17,
+moth_(menyang),4,17,
+mostly_nude_human,0,17,
+mosquitostew,1,17,
+mortred_the_phantom_assassin,4,17,
+morsyr,1,17,
+morl3y,1,17,
+morkep,4,17,
+morino8484,1,17,
+morinkashi,1,17,
+mori_(umbra_saeculi),4,17,
+morguebuddy,1,17,
+morgra,4,17,
+mopping,0,17,
+moose_bmd,1,17,
+moopy,1,17,
+moonaries,4,17,
+moon_fresh_(f-r95),4,17,
+montezuma_(artist),1,17,
+monte_the_horse,4,17,
+monstrenoir,1,17,
+monotone_exoskeleton,0,17,
+monochroact,1,17,
+monique_(oc),4,17,
+monica_(juvira),4,17,
+money_in_garter,0,17,
+monbetsu_kuniharu,1,17,
+monaka_(chisara),4,17,
+mon_calamari,5,17,
+momocha,1,17,
+momo_(aruurara),4,17,
+mommy_mearest,4,17,"mommy_mearest_(fnf),mommy_must_murder,mother_(fnf),the_mom_(fnf)"
+momiji_hanamura,4,17,
+molly~,1,17,
+mokuzu,1,17,
+mokaityv,1,17,
+moka_(see_is_see),4,17,
+mojio_(pixiv),1,17,
+moitasart,1,17,
+mog,4,17,
+mofumi_corvus,1,17,
+modestgliscor,1,17,
+moche,1,17,
+mocha_(velocity2001),4,17,
+mobian_wolf,5,17,
+mizat11,1,17,
+miyuki,4,17,
+miyako,4,17,
+miu_(nekuzx),4,17,
+mityayach,1,17,
+misty_fly_(mlp),4,17,
+mistress_(nitram_hu),4,17,
+missy_(renthedragon),4,17,
+missthunderkin,1,17,
+missnips,1,17,
+missing_texture,0,17,
+misscrex,1,17,
+miss-yazriel,1,17,"miss-yazriel_(artist),miss._yazriel,miss_yazriel,missyazriel,missyazriel_(artist)"
+misfrost,4,17,
+minty_(mlp),4,17,
+minomonsters_inc.,3,17,"mino_monsters_inc.,mino_monsters_incorporated,minomonsters_inc,minomonsters_incorporated"
+mink_(dragon_half),4,17,
+minion_(lol),5,17,
+minh_(jay_naylor),4,17,
+mingu,4,17,
+mingo_kodoku_(character),4,17,
+ming_lao,4,17,
+minerum,4,17,
+mindmechanica,1,17,
+mina_(rilex_lenov),4,17,
+mime22165,1,17,
+millie,4,17,
+millennium_item,0,17,
+millenia,4,17,
+milkydynamike,1,17,
+milhouse_(gvh),4,17,
+miles_drexel,4,17,
+mikobeako,1,17,
+mikho_(fursona),4,17,
+mikeyracc,4,17,
+mike_(slayermike471),4,17,
+mikan_gyuunyuu,1,17,
+mii_(interspecies_reviewers),4,17,
+migosp,4,17,
+mighty_milky_way,3,17,
+midnight_heartbreak_(fearingfun),4,17,
+midnight_(character),4,17,
+midni_(solarkness),4,17,
+micro_on_penis,0,17,
+michii_yuuki,1,17,
+michelle_sterling,4,17,
+michelangelo_di_lodovico_buonarroti_simoni,1,17,
+miama,4,17,
+mia_(fizzystevie),4,17,
+meyora,4,17,
+mevisto,1,17,
+metalocalypse,3,17,
+metal_jaw,0,17,
+metal_gear_solid_v,3,17,
+mess1ah_(character),4,17,
+mesh_underwear,0,17,
+merrytail,1,17,
+merrill,4,17,
+mermaid_princess,4,17,
+mercury_(woebeeme),4,17,
+merbull,5,17,
+menagerie,1,17,
+meltyautumn,1,17,
+melody_(gabe),4,17,
+mell,4,17,
+melissa_richards,4,17,grape_(terdburgler)
+mel_(ombwie),4,17,
+mej_(character),4,17,
+megas_xlr,3,17,
+meganekko,0,17,
+megalosaurus,5,17,
+megablack0x,1,17,
+mega_steelix,5,17,
+meershroom,1,17,
+meem,4,17,
+medication,0,17,
+mechspazer,1,17,
+mech_bun_(niking),4,17,
+meaty_pussy,0,17,
+measuring_muscle,0,17,
+mean_twilight_sparkle_(mlp),4,17,
+mclaren,3,17,
+mcic,1,17,
+mbhen114_(artist),1,17,
+mbc,1,17,
+mazin,4,17,
+mazafu,1,17,
+mayu_(mayuka),4,17,
+mayghely,1,17,
+may_rikios_(character),4,17,
+maxie_(pokémon),4,17,maxie_(pokemon)
+matty,4,17,
+matterhorn_(arknights),4,17,
+matt_(mattumby),4,17,
+matilda_the_lopunny,4,17,
+matilda_(raphael),4,17,
+matching_underwear,0,17,
+matau_(bionicle),4,17,
+mastiff_(takemoto_arashi),4,17,
+master-rainbow,1,17,
+mast3r-rainb0w,1,17,
+marudi,1,17,
+marty_the_marten,4,17,
+martian_vixen,5,17,
+marth_(fire_emblem),4,17,
+marototori,1,17,
+maro_(marothedarkrabbit),4,17,
+markybuns_(markydraws),4,17,
+mark_parisi,1,17,
+mark_of_evil,0,17,
+mario_strikers,3,17,
+mario-reg,1,17,
+marin_(zelda),4,17,
+maria_(satsumalord),4,17,
+margarita_paranormal,3,17,
+marcus_(disambiguation),4,17,marcus
+mara_bluufin,4,17,
+maple_pericrest,4,17,
+many_teeth,0,17,
+mango_(roommates),4,17,
+mandrake_major,5,17,
+mandragora_(plant),0,17,mandragora
+manacle,0,17,
+mana_dragon,5,17,
+malmad,1,17,
+malletspace,1,17,
+malibu,4,17,
+maleherm/ambiguous,0,17,"ambiguous/maleherm,ambiguous_on_maleherm"
+male_top_male_bottom,0,17,
+male/null,0,17,
+malcus_pine,1,17,
+malaysian_text,7,17,
+makuro,1,17,
+mak_(character),4,17,
+majora_(dragon_ball),4,17,
+mai_(azuraracon),4,17,
+mahler,4,17,
+magnus_(magnusvesper),4,17,magnus_vesper_(character)
+magicalzombie,1,17,
+magic_stone,0,17,
+mafundi,4,17,
+mafumofu_(cat_busters),4,17,
+mae_pai,4,17,
+mae_(characters),4,17,
+madreyarts,1,17,
+madotsuki,4,17,
+madmark,1,17,
+madison_(lathander),4,17,
+maddison_ashbury,4,17,
+madame_aubergine_(kobold_quest),4,17,
+mackeygraphics,1,17,
+machathree,1,17,
+machapestudio,1,17,
+mach_3939,1,17,
+ma'at_(franubis),4,17,
+m9,0,17,
+m._tiss,4,17,
+m'lai_saraath,4,17,
+lythweird,1,17,
+lytasima,4,17,
+lysandre_(pokémon),4,17,"lysander_(pokemon),lysander_(pokémon),lysandre_(pokemon)"
+lynn_(bunybunyboi),4,17,
+lyle_jones,4,17,
+lyjzet,4,17,
+lxzylux,1,17,
+luxor,4,17,
+lux_(nekuzx),4,17,
+lux_(cadaverrdog),4,17,
+lustre,4,17,
+lustful_eyes,0,17,
+lustaking,1,17,
+luntik,4,17,
+lunie_enderfield,4,17,
+lunar_silver_star_story,3,17,
+lunalight,5,17,
+luna_and_sol,4,17,
+luna_(vulumar),4,17,
+luna_(raccoon),4,17,
+lumi_(syntaxblue),4,17,
+luisdawolf,1,17,
+lui_ilwija,4,17,
+luea_(jewelpet),4,17,
+ludowoodo,1,17,
+lucy_kennicot,4,17,
+lucy_(chinkilla),4,17,
+lucija_incast,4,17,
+lucas_(kamyuelo),4,17,
+lowered_tail,0,17,
+lowe,4,17,
+low-tied_long_hair,0,17,
+lovely,4,17,
+love_freak,1,17,
+lorelei_(monster_girl_gamu),4,17,
+lordaku,1,17,
+loppe_(coc),4,17,
+looking_relieved,0,17,
+loodlenoodleart,1,17,
+longsleeve,0,17,
+long_vulva,0,17,
+long_play_(mlp),4,17,
+long_horse_(trevor_henderson),4,17,
+long_cloaca,0,17,
+lonelymonster,1,17,
+loincloth_pull,0,17,
+lofnirv,1,17,
+loen,4,17,
+lobco,4,17,
+ln'eta_(sucker_for_love),4,17,
+lizzie,4,17,
+lizardseraphim,1,17,
+lizardman_(soul_calibur),4,17,
+liza_snow,4,17,
+living_with,3,17,
+lits,1,17,
+lisa_the_joyful,3,17,lisa:_the_joyful
+lippie,4,17,
+lip_spike,0,17,
+liottaofthelake,1,17,
+linkin_park,3,17,
+ling_xiaoyu,4,17,
+lineage_(series),3,17,
+lina_reinard,4,17,
+lin_lee,4,17,
+lin_(lindelon),4,17,
+lime_(rakkuguy),4,17,
+lime_(fellout),4,17,
+lily_bovine,4,17,
+lily_(ninon),4,17,
+lilavi,1,17,
+lilac_body,0,17,
+lightluxcollie,1,17,
+light_wall,0,17,
+light_fixture,0,17,
+light_fingernails,0,17,
+light-skinned_gynomorph,0,17,
+lifting_other,0,17,
+lifted_clothing,0,17,
+life_support,0,17,
+liena_blackheart,4,17,
+licking_ice_cream,0,17,
+lexy_horne,4,17,
+lewdliege,1,17,
+levi_(character),4,17,
+letin,1,17,
+lethargicdeer,1,17,lethargicdeer_(artist)
+lester_(jethrobuck),4,17,
+leroythewartortle,4,17,
+leotard_peek,0,17,
+leopard_print_swimwear,0,17,
+leonne_(fvt),4,17,
+leogon7,4,17,
+lenny_(neopets),5,17,
+len_laggrus,4,17,
+lemonadepikachu,1,17,
+leman,1,17,
+lehna_(kitfox-crimson),4,17,
+legs_on_bed,0,17,
+leg_ribbon,0,17,
+leg_on_sofa,0,17,
+leg_growth,0,17,
+leftyfornsfw,1,17,
+leelee_(pink_fox),4,17,
+ledove,1,17,
+lecso,4,17,
+lecon,4,17,
+leash_in_own_mouth,0,17,
+leapinllama,1,17,
+leano_(beastars),4,17,"reano_(beastars),renoa_(beastars)"
+leaning_on_doorway,0,17,
+le,4,17,
+lazyprocrastinator,1,17,
+lazei,1,17,"lazei-artist,lazei3,lazei3_(artist),lazei_(artist),lazei_artist"
+layla_agatha_clarke,4,17,
+layla,4,17,
+lavy_(lavenderaraliya),4,17,
+laura_baecker,4,17,
+laura_(derideal),4,17,
+latte_(kekitopu),4,17,
+latex_skirt,0,17,
+larry_needlemeyer,4,17,
+larry_(yinller),4,17,
+larry_(leviantan581re),4,17,
+largo_bullhoss,4,17,
+lara_byrne,4,17,
+lapis_(gem),0,17,
+lantern_corps,3,17,
+lander-laon,1,17,
+lance_(pokémon),4,17,lance_(pokemon)
+lance's_mom_(kloogshicer),4,17,
+laika_kitsune,4,17,
+laguna_crale,4,17,
+lafcream,1,17,
+laelia_(vestina),4,17,
+lace_choker,0,17,
+kyudude,1,17,
+kylie_steel_(lildredre),4,17,
+kyabe2d0g145,1,17,
+kxxxta,1,17,
+kvernikovskiy,1,17,
+kvasir,4,17,
+kuzure-chan,4,17,
+kuva_(kameloh),4,17,
+kusacwolf,4,17,
+kusac_(neoshark),4,17,
+kurotama,1,17,
+kuro_harvey,4,17,
+kurisu,1,17,
+kura,4,17,
+kuperseeper,1,17,
+kumo_(cyber_zai),4,17,
+kuku_(artist),1,17,
+kryadrawgin,1,17,
+kruteria,1,17,
+kruncha,4,17,
+krucification,1,17,
+krita_(disambiguation),4,17,krita
+kristof_hendricks,4,17,
+kris_prowler,4,17,
+kris_fletcher,4,17,
+kras,0,17,
+krait_(guild_wars),5,17,
+kragg,4,17,
+koziu_(artist),1,17,
+kowakian_monkey-lizard,5,17,
+kovu_wolfszahn,4,17,
+kourii_raiko,4,17,
+koumoru_doumoru,4,17,
+kougyou,1,17,
+kototani_kaiki,1,17,
+kotetsu_oshima,4,17,
+kord_(character),4,17,
+konoha,4,17,
+konoeikreations,1,17,
+konar_(runescape),4,17,
+komuro,1,17,
+komodo_moe,4,17,
+kolka_(sneel),4,17,
+koko,4,17,
+koira_(nik159),4,17,
+kogar_tg,1,17,
+koda_the_renamon,4,17,
+kobold_(warcraft),5,17,
+ko1chan,1,17,
+knightrider,4,17,
+knee_blush,0,17,
+kloprower,4,17,
+klingon,5,17,
+klar,1,17,
+kiwi_(slavedemorto),4,17,
+kittenboogers_(character),4,17,
+kitten_kaboodle,4,17,
+kitsukky,1,17,
+kito_(sorahate),1,17,
+kiteless,4,17,
+kitai_su,1,17,
+kissy_missy,4,17,
+kirunixxx,1,17,
+kirukato,1,17,
+kiro_(kilometers),4,17,
+kirly_(oofrowdy),4,17,
+kingtoby19_(artist),1,17,
+king_aspen_(mlp),4,17,
+kindei_(character),4,17,
+kindbunny20mx,1,17,
+kim_reed,4,17,
+killigan,4,17,
+kikatsu,1,17,
+kida_nedakh,4,17,
+kibacpup,1,17,
+kiashigetsnasty,1,17,
+kiaayo,4,17,
+ki,4,17,
+khoryall,1,17,
+khoo_fuk_lung,1,17,
+khonshu,4,17,
+keyhole_dress,0,17,"key-hole_dress,key_hole_dress"
+keven,4,17,
+kesh,4,17,
+kesara_riku,4,17,
+keru_(slither),4,17,
+kernhd,1,17,
+kerchak,4,17,
+kenzie_(dj50),4,17,
+kenuky,1,17,
+kentrosaurus,5,17,
+kenshi,3,17,
+kenkou,1,17,
+kendall_(aaron),4,17,
+kendall,4,17,
+kemonozuki825,1,17,
+kemonogami,1,17,
+kemo,1,17,
+kelsey_paige,4,17,
+kein,4,17,
+keilthemongrel,1,17,
+kei_(that_kei_guy),4,17,
+keese,5,17,
+keero_(synex),4,17,
+keeperaft,1,17,
+keeper_utonagan,4,17,
+keda,4,17,
+keane_fumei,4,17,
+kazuzufur,4,17,
+kayde_seargrin,4,17,
+kawarayane,1,17,
+kawaiishinitai,1,17,
+katzuwu,1,17,
+katze,4,17,
+katya_(7th-r),4,17,
+katy_(invasormkiv),4,17,
+katrinastar,1,17,
+katia_(colty8),4,17,
+katherine_turner,4,17,
+katelynntheg,1,17,
+katekawetha,1,17,
+kate_(chalo),4,17,
+kasumi_goto,4,17,
+kasuga_dn,1,17,
+kassidey,4,17,
+kars_(jjba),4,17,
+karoline,4,17,
+karolin_adalin,4,17,
+karmen16,1,17,
+karmall,4,17,
+karla,4,17,
+karisandra,4,17,
+karimu_(mlinzi),4,17,
+kari_(cainesart),4,17,
+karen_(joseph1105),4,17,
+karen_(adonis),4,17,
+karely_raptor_a,4,17,
+karate_outfit,0,17,
+karasumareko,1,17,
+kanye_west,4,17,
+kanoodlebin,1,17,
+kannae,1,17,
+kandou_jan_(gekiranger),4,17,
+kamari_(marvae),4,17,
+kamari_(iipaw),4,17,
+kalt-jn,1,17,
+kallz,1,17,
+kalechip,1,17,
+kakothecruiser,1,17,
+kaju_inu,1,17,
+kajari,1,17,
+kairo_achell_(character),4,17,
+kaineko_h,1,17,
+kaibutsu_oujo,3,17,
+kaia_bloodrave,1,17,_kaia_
+kai_anela,4,17,
+kahze,1,17,
+kahlith,5,17,
+kagetashi,1,17,
+kabotya_to_rantan,1,17,
+k_(doneru),4,17,
+k12,1,17,
+k'sara,4,17,
+k'_fumei,4,17,
+jym,4,17,
+justine_(blattarieva),4,17,
+justathereptile,1,17,
+justahoot,1,17,
+juno_(bard-bot),4,17,
+junko_enoshima,4,17,
+june_(extremedash),4,17,
+june_(dragon),4,17,
+july_soleil,4,17,
+julie_(disambiguation),4,17,julie
+julia_soliman,4,17,
+jovial,1,17,
+joseph_stalin,4,17,
+jorge_(ysergrin),4,17,
+jordie_(ohlordyit'sjordie),4,17,
+jonhs_figthers,4,17,
+jonas_(adrital),4,17,
+johnny_lionface,3,17,
+johnny_cage,4,17,
+johjoh_dodo,1,17,
+joe_(insomniacovrlrd),4,17,
+jochico,1,17,
+jo_phoenix,4,17,
+jngart,1,17,
+jk-kino,1,17,
+jinny_(repeat),4,17,
+jinnosound,1,17,
+jim_the_lamb,4,17,
+jigsaw_puzzle,0,17,
+jessi,4,17,
+jesseaike,4,17,
+jess_(ajdurai),4,17,
+jesie_(character),4,17,
+jerry_(rotten_robbie),4,17,
+jerry_(raptoral),4,17,
+jeroba_(artist),1,17,
+jeremiah_(jeanned),4,17,
+jenny_(imanika),4,17,
+jenny_(hood's_mad_animals),4,17,
+jennifer_applebottom,4,17,
+jen_(permavermin),4,17,
+jazzthetiger,1,17,
+jazlyn,4,17,
+jaymes_o'hare,4,17,
+jayden_(black-kitten),4,17,
+jay_(wm149),4,17,
+jay_(jaywolve),4,17,
+java_(tsunderepanda),4,17,
+jason_draconis,4,17,
+jason_and_andrew,3,17,
+jasmine_serna,4,17,
+jarpanda,1,17,
+jaq_(jaqrabbit),4,17,
+janga,4,17,
+jane_(disambiguation),4,17,jane
+jane_(ansible),4,17,
+jamie_(thethirdchild),4,17,
+jakegr_(character),4,17,
+jaiden_(rainbowscreen),4,17,
+jackmeowy,4,17,
+jack_talon,4,17,
+jaci_(ketzio_and_gbb),4,17,
+jab_(street_sharks),4,17,
+ja'ren,4,17,
+j_hughes,1,17,
+izzy_ryan,4,17,
+iyarin_(iyarin),4,17,
+ixamidyne,1,17,
+ivypool_(warriors),4,17,
+ivorylace,1,17,
+ivory_(feyhearts),4,17,
+itsrainingsome,1,17,
+isteltheblue,1,17,
+isono,1,17,
+isle_of_dogs,3,17,
+isamu_yoshi,1,17,
+isaac_(flicklock),4,17,
+isa_sturmi,4,17,
+irving,4,17,
+iruka_rui,1,17,
+iris_the_sylveon,4,17,
+iridescent_feathers,0,17,
+ire_(blackmist333),4,17,
+ione_(animal_crossing),4,17,
+ioki,1,17,vappoki
+inzoreno,4,17,
+inugamihito,1,17,
+interxpecial,1,17,
+intersection,0,17,
+international_renamon_appreciation_month,3,17,
+internal_slit,0,17,
+intercom,0,17,
+intense_face,0,17,
+insanitylittlered,1,17,
+inkfall,1,17,
+injector,0,17,
+inhibitor_ring,0,17,
+infycharmander_(character),4,17,
+inessa_(marthedog),4,17,
+indigobx,1,17,
+indigo_(fursdd),4,17,
+inctastic,1,17,
+imptumb,1,17,
+impiccato,1,17,
+imp_(she-ra),4,17,
+imogen_jones,4,17,
+imminent_toying,0,17,
+imminent_footjob,0,17,
+imminent_bondage,0,17,
+imdrunkontea,1,17,
+iliketurtles65,1,17,
+iggeist,4,17,
+igawa_asagi,4,17,
+ifthemainecoon,1,17,
+iemyr_a_wolf,4,17,
+ieldest,4,17,
+iceberglonely,1,17,
+icebanshee,1,17,
+ice_rink,0,17,
+ice_cream_van,0,17,"ice-cream_truck,ice-cream_van,ice_cream_truck,icecream_truck,icecream_van"
+ian_lightfoot,4,17,
+ian_(disambiguation),6,17,ian
+iamthemisukitty,1,17,
+hyper_trapezius,0,17,
+hydrox,4,17,
+hydromel,5,17,
+hydraulic_press,0,17,
+huuta_2929,1,17,
+husky_(slayersarge),4,17,
+hurting,0,17,
+hunkinkalv,1,17,
+humo,1,17,
+human_loona_(vivzmind),4,17,
+huldra,5,17,
+hula_girl,0,17,
+hukoshi,1,17,
+huge_infraspinatus,0,17,
+hplovehorse,1,17,
+howl_(fuf),4,17,
+hover_hand,0,17,
+house.m.d.,3,17,
+hoshiko,1,17,
+horsemorseee,1,17,
+horsebro,4,17,
+hornyan,4,17,
+horizon-fucker,1,17,
+hoplite,0,17,
+hooker's_sea_lion,5,17,"new_zealand_sea_lion,whakahao"
+hoof_polish,0,17,
+hood's_mad_animals,3,17,
+honey_blossom,4,17,
+honey_(doodlebun),4,17,
+home_grown_dogs,3,17,
+holographic_display,0,17,
+holding_trophy,0,17,holding_trophies
+holding_shower_head,0,17,
+holding_pumpkin,0,17,
+holding_pointer,0,17,
+holding_pizza_box,0,17,
+holding_mouth_open,0,17,
+holding_lightsaber,0,17,
+holding_handcuffs,0,17,
+holding_flask,0,17,
+holding_cord,0,17,
+holding_chocolate,0,17,
+holding_basketball,0,17,
+holden_(ridentem),4,17,
+hiyori_(shiredo),4,17,
+hitaikakushi,0,17,
+hitachi_(tamacolle),4,17,
+hind,4,17,
+hieronymus_bosch,3,17,
+hierarchy_play,0,17,
+hiding_behind_wall,0,17,
+hiding_behind_tree,0,17,
+hiding_behind_another,0,17,
+hidden_blade,0,17,
+hhl_castro,4,17,
+heydonnie,1,17,
+hevisaurus,3,17,
+hetra,4,17,
+herzspalter,1,17,
+hero's_daughter_(dragon_quest_v),4,17,
+hernia_check,0,17,
+hermitcraft,3,17,
+herm_penetrating_ambiguous,0,17,h/p/ag
+heratio1000,1,17,
+hera_(kzerach),4,17,
+her_imperious_condescension,4,17,
+henry_waters,4,17,
+hendrik,4,17,
+helper_drone_(vader-san),5,17,
+helmeet_(helmeet),4,17,
+hellmatio,4,17,
+helix_(freefall),4,17,
+helioture,1,17,
+heles,4,17,
+heidi_(dr_nowak),4,17,
+heels_only,0,17,
+hearts_around_object,0,17,
+heartlandraco,4,17,
+heart_shadow,0,17,
+heart_hoodie,0,17,
+heart_freckles,0,17,"<3-shaped_freckle,<3-shaped_freckles,<3_freckle,<3_freckles,<3_shaped_freckle,<3_shaped_freckles,heart-shaped_freckle,heart-shaped_freckles,heart_freckle,heart_shaped_freckle,heart_shaped_freckles,hearts-shaped_freckle,hearts-shaped_freckles,hearts_freckle,hearts_freckles,hearts_shaped_freckle,hearts_shaped_freckles"
+heart_cutout_furniture,0,17,
+hc4art,1,17,
+hazel_luvsol,4,17,
+hay_in_mouth,0,17,
+hawthorn_(nemui.),4,17,
+hati_(full_bokko_heroes),4,17,
+hat_over_one_eye,0,17,
+harumi_(harumi),4,17,
+hartery,1,17,
+harpoon_gun,0,17,
+harimog-dragon,1,17,
+hardlight,0,17,
+hardcorecandystore,1,17,
+happy_barker,4,17,
+haplor_(hellaverse),4,17,
+hannah_(zer0rebel4),4,17,
+hankofficer,1,17,
+hanji1st,1,17,
+hanging_stars,0,17,
+hanging_from_ceiling,0,17,
+hang_glider,0,17,
+hanfu,0,17,
+handprint_(marking),0,17,"handprint-shaped_marking,handprint-shaped_markings,handprint_(markings),handprint_marking,handprint_markings,handprint_shaped_marking,handprint_shaped_markings,handprints-shaped_marking,handprints-shaped_markings,handprints_(marking),handprints_(markings),handprints_marking,handprints_markings,handprints_shaped_marking,handprints_shaped_markings"
+handcuffed_together,0,17,
+hand_on_weapon,0,17,
+hand_on_udder,0,17,
+hand_on_glans,0,17,
+hand_covering_pussy,0,17,
+hammerspace_vore,0,17,
+hamadryas_baboon,5,17,
+hallucinating,0,17,
+halley_labs,3,17,
+halfmoon_(oc),4,17,
+haley_cheetah,4,17,
+"hala_(""dark_mia"")",4,17,
+haku_mikiriyami,4,17,
+hairy_stomach,0,17,
+hair_over_edge,0,17,
+hair_in_water,0,17,
+hair_elastic,0,17,
+hair_dangle,0,17,
+hair_censor,0,17,
+haineko,4,17,
+hadanin,5,17,
+hacksaw,0,17,
+hackmon,5,17,
+hachiemon_(inuyasha),4,17,
+h_(character),4,17,
+gzi,4,17,
+gyrurr,4,17,
+gwyn_diesel,1,17,
+gutsumi,1,17,
+gustine_(vdisco),4,17,
+guoba_(genshin_impact),4,17,
+gunn_(yuguni),4,17,
+guldyr_einarsson,4,17,
+gulby_the_goo_dragon,4,17,
+guillion,1,17,
+gud0c,1,17,
+guardianmoose,1,17,
+guard_dog,0,17,
+gscot,1,17,
+grove,0,17,
+group_shot,0,17,
+groping_bulge,0,17,
+grey_neckwear,0,17,gray_neckwear
+grey_lipstick,0,17,gray_lipstick
+grey_cheeks,0,17,
+grey_(dreamtanker),4,17,
+greta,4,17,
+greinne_o'malley_(slb),4,17,
+gregg,4,17,
+greer_(ladygreer),4,17,
+greenwolf,5,17,
+green_sweatshirt,0,17,
+green_head_tuft,0,17,
+green_fingerless_gloves,0,17,
+green_choker,0,17,
+gree_alvord,4,17,
+greatest_dog,4,17,
+gray_bear,1,17,
+grassy_field,0,17,
+graffitidragon,1,17,
+grace_(creamgag),4,17,
+grabbing_hands,0,17,
+gourami_humanoid,5,17,
+gothope,1,17,
+gothic_cheese,1,17,
+gotalex,1,17,
+goretober,3,17,
+gorefield_(creepypasta),4,17,
+goofy_time,3,17,
+gomogomo,1,17,
+gomikuz539s,1,17,
+gomi,4,17,
+goldilocks,4,17,
+goldie_delicious_(mlp),4,17,
+goldeyedwolf,1,17,
+gold_transformation,0,17,
+gold_rathian,5,17,
+gold_nose_ring,0,17,
+gold_hairband,0,17,
+gold_dress,0,17,golden_dress
+gohei,0,17,
+godzuki,4,17,
+godje_(nightdancer),4,17,
+goddamncat,1,17,
+gobiiform,5,17,
+gnaw_(character),4,17,
+glowing_ring,0,17,
+glowing_face,0,17,
+glowing_drool,0,17,
+glowing_blush,0,17,
+gloveboxpoptart,1,17,
+gloria_(greasymojo),4,17,
+gloating,0,17,
+glitchwolf,4,17,
+glitchslime,1,17,
+glistening_ring,0,17,shiny_ring
+glistening_helmet,0,17,shiny_helmet
+glimmer_(she-ra),4,17,
+glassfur,1,17,
+glasses_in_mouth,0,17,
+glacia_(ben300),4,17,
+girrominox,4,17,
+giroofficial,1,17,
+gingerrey,1,17,
+gina_(mlp),4,17,
+gin_(garouzuki),4,17,
+gilroy_goat,4,17,
+gigasaddle,1,17,
+gigapon,1,17,
+gigantamax_pikachu,5,17,"g-max_pikachu,g-pikachu,g_max_pikachu,g_pikachu,gmax_pikachu"
+gigantamax_machamp,5,17,"g-machamp,g-max_machamp,g_machamp,g_max_machamp,gmax_machamp"
+gibson,3,17,
+gib_(james_howard),4,17,
+giana_sisters,3,17,
+ghouly,4,17,
+ghostnerdy,1,17,
+ghostdonut,1,17,
+ghost_puppy,4,17,
+ghost_princess,4,17,
+gerbor,1,17,
+genevieve_quicksilver,4,17,
+generic_fox_(flying_fox),4,17,
+general_zera,4,17,
+gene_(kloogshicer),4,17,
+gellie_(snackbunnii),4,17,
+gekkowizard,1,17,
+geisha_lips,0,17,
+geegeet,1,17,
+geboku,1,17,
+gaziter,1,17,
+garvan,1,17,
+garudaexe,1,17,
+garrrzzz,1,17,
+garron_crendrel,4,17,
+garrison_cap,0,17,
+gargling,0,17,
+gammoth,5,17,gamuto
+gamestop,3,17,
+games_done_quick,3,17,"gdq,sgdq,summer_games_done_quick"
+gamecube_logo,0,17,
+galvatron,4,17,
+galena,4,17,
+galaxolotl,5,17,
+galarian_corsola,5,17,"corsola_(galar_form),corsola_(galarian_form),galar_corsola"
+galah,5,17,"galah_cockatoo,pink_and_grey_cockatoo,rose-breasted_cockatoo,rose_breasted_cockatoo"
+galack,1,17,
+gaillen_(oc),4,17,
+gag_sequence,0,17,
+gabriel_(superdragon468),4,17,
+gabby_(voregence),4,17,
+g-sci_(snowfyre),4,17,
+g-elric,1,17,
+füchschen,3,17,fuchschen
+fuzzyfelt,1,17,
+fuzedragon,4,17,
+fuzballarts,1,17,
+fuun,1,17,
+futaro,1,17,
+fusion_dance,0,17,
+fusilier,1,17,
+furry_bb,1,17,
+furrniture,1,17,
+furlasziv,1,17,
+fur_lined_clothing,0,17,
+fungiart,1,17,
+fume_hood_(character),4,17,
+fullmetal_pangu,3,17,
+full_metal_alchemist,3,17,
+fujy50,1,17,
+fruitybootyraptor,1,17,
+frozenaardvark,1,17,
+frozen_hydra,5,17,
+frosty_roy,1,17,
+frosting_on_paws,0,17,
+frosting_on_butt,0,17,
+frontal-mesh_swimsuit,0,17,
+frizzy_fox,4,17,
+frisky_beast,3,17,
+frilly_shirt,0,17,frilled_shirt
+friendly_unit93,1,17,
+freyja,4,17,
+free_birds,3,17,
+freddy_mask_(fnaf),0,17,
+freddy_in_space_2,3,17,
+freakinglargeoof,1,17,
+francine_sikorska,4,17,
+fran_stanowsky,4,17,
+fran_(furlana),4,17,
+foxyruby,1,17,
+foxmaster5,1,17,
+foxlite,1,17,
+foxlightning,4,17,
+foxisource,1,17,
+foxin,4,17,
+foxfencer,1,17,
+foxalbiazul,4,17,
+fowel,1,17,
+forza,3,17,
+formula_1,3,17,
+forked_horn,0,17,
+forever_and_ever,3,17,
+forever_alone,0,17,
+footjob_on_balls,0,17,
+foot_out_of_water,0,17,
+foot_on_pussy,0,17,
+foofyscoop,1,17,
+fontozzio_anima,5,17,
+folded_diaper,0,17,
+foilage,0,17,
+fofl,1,17,
+flynn_rider,4,17,
+flying_monkey,5,17,"flying_monkeys,winged_monkey,winged_monkeys"
+fly_(disambiguation),6,17,"flier,fliers,fly,flyer,flyers"
+fluoresca_neon,4,17,
+florvian_(frooby),5,17,
+florence_(blitzpitz),4,17,
+floral_bottomwear,0,17,
+flops,1,17,
+floopdog,4,17,
+flock,0,17,
+flith,0,17,
+flick,1,17,
+flaumy,4,17,
+flared_nostrils,0,17,
+flapping_ears,0,17,
+flamoa_(insomniacovrlrd),5,17,
+flabby,0,17,
+fizzystevie,1,17,
+five_of_hearts,0,17,
+fisk24,1,17,
+first_kiss,0,17,
+finn_(siegblack),4,17,
+fingerless_gloves_only,0,17,
+finger_over_mouth,0,17,
+finger_on_nipple,0,17,
+finger_on_cheeks,0,17,
+fin_hair,0,17,
+fight_club,3,17,
+fibber,4,17,experiment_032
+fey_tas,1,17,
+festeringfungus,1,17,
+ferox_(noobularfur),4,17,
+ferno_shirazi,4,17,
+feriowind,1,17,
+fenrir_(fenrir_lunaris),4,17,
+fenn_(felino),4,17,
+fenkitty,5,17,
+fen_redwolf_(artist),1,17,
+femmebunny,1,17,
+female_explorer,4,17,
+felvis_(character),4,17,
+felpur,4,17,
+felice-chan,1,17,
+felfi,1,17,
+fee_(harvey_beaks),4,17,
+feb,4,17,
+featherless,0,17,
+feather_hat,0,17,
+fawnix,1,17,
+fatalafterdark,1,17,
+fastfooddemon,1,17,
+fascism,0,17,
+farex,4,17,
+fandroit,1,17,
+fancy_dress,0,17,
+faith_(icirculate-sound),4,17,
+face_rub,0,17,
+f.i.l.o.s.,4,17,
+ezra_(profqueerman),4,17,
+eziel,4,17,
+eyshadow,0,17,
+eyewear_glint,0,17,
+eye_growth,0,17,
+eye_covering,0,17,
+exposed_balls,0,17,
+excitation,0,17,
+eviltyto,1,17,
+evie,4,17,
+eve_odis,4,17,
+eve_(avyweathery),4,17,
+eve_(angelthecatgirl),4,17,
+eva_(pearboy-ooh),4,17,
+eunomia,4,17,
+ether-core,1,17,
+esupu,1,17,
+estelle_(spacestrawberry),4,17,
+espy,1,17,
+esi_sharpclaw,4,17,
+erwyn,4,17,
+ershd,1,17,
+erotic_toon_all-stars_xxx,3,17,
+ero_roxy,1,17,
+erika_(asaneman),4,17,
+erection_under_swimwear,0,17,
+erection_in_underwear,0,17,
+erbmaster,1,17,
+eran_morkon,4,17,
+equinox_341,1,17,relmediocre_(artist)
+epic_derzito,1,17,
+eowin,1,17,
+ensemble_stars,3,17,
+enid_(hendak),4,17,
+engineer_(factorio),4,17,
+enclave_(fallout),4,17,
+enamorus_(incarnate_form),5,17,
+enamored,0,17,
+emily_art,1,17,
+emily_(xausr32),4,17,
+emily_(r3drunner),4,17,
+emilia_grimms,4,17,
+emi_(angryelanoises),4,17,
+embermint,1,17,
+ember_(nightdancer),4,17,
+elsa_(housebroken),4,17,
+elronya,1,17,
+elmore_munk,4,17,
+elma_(interspecies_reviewers),4,17,
+ellie_the_wolf,4,17,
+elizabeth_(megustalikey),4,17,
+elinsy_(melianah),4,17,
+elie_(sciencesamurott),4,17,
+elguason,1,17,
+elephant_toes,0,17,
+electrojac,0,17,
+electricjolt,1,17,
+eleanor_(queue),4,17,
+elasid,1,17,
+elaine_(rilex_lenov),4,17,
+ekumaru,1,17,
+efefski,1,17,
+eddie_santiago,4,17,
+ebreenu,4,17,
+ebony_the_umbreon,4,17,
+ebby,4,17,
+ear_motion,0,17,
+eaja940343,1,17,
+eadoo,4,17,
+e-cigarette,0,17,
+dyna_(tattoorexy),4,17,
+dy-2861,4,17,
+dustyscooter,1,17,
+duskshield,1,17,
+duskinwolf,1,17,wingrazor
+dusk_ball,0,17,
+dusk_(nightdancer),4,17,
+durri,5,17,
+dudios,1,17,
+duckworth,4,17,
+duckoo,1,17,
+dual_weapon,0,17,
+dual,0,17,
+dstitan,1,17,
+drusa,4,17,
+drunk_bun_(undertale),4,17,
+drug_usage,0,17,
+drithique,4,17,
+drinking_tea,0,17,
+drinking_coffee,0,17,
+drex,4,17,
+drememoto,1,17,
+dream_theater,3,17,
+draw-fiend,1,17,
+drantyno,1,17,
+dramatic_pose,0,17,
+dramarilla,4,17,
+drakirion,4,17,
+drake_tigerclaw_(character),4,17,
+drakang,1,17,
+draigy_icer,4,17,
+dragonlovers,1,17,
+dragon_knight,0,17,
+dragon_half,3,17,
+dr._wolf_(diafilm),4,17,
+dr._facilier,4,17,
+doupperart_(artist),1,17,
+doug_shablowski,4,17,
+doublebite_(artist),1,17,
+double_slit_penetration,0,17,
+double-zr-tap,1,17,
+dorian_(sleepyinu),4,17,
+donya_desmond,4,17,
+dontpanic,4,17,
+don_(megacoolbear),4,17,
+dom_(beastars),4,17,
+dolphinproject,1,17,
+dollstaff,1,17,
+dodome-iro_mayonnaise,1,17,
+docu_(gb),4,17,
+docdraw_(artist),1,17,
+dltoon,1,17,
+djego_electrolf,4,17,
+djali,4,17,
+dixie_(hazardburn),4,17,
+distortion_world,0,17,
+distant_owl,1,17,
+disregard67,1,17,
+disgaea_5,3,17,
+dirtykitty,1,17,
+dirty_platypi,1,17,
+dirt_road,0,17,
+dirt_bike,0,17,
+dirt_(siroc),4,17,
+dirii,4,17,
+dire_tank,5,17,
+dioni5,1,17,
+dinayre,4,17,
+din_(chalo),4,17,
+dimple,0,17,
+dildo_(bad_dragon),0,17,
+digital_pen,0,17,
+diforland,1,17,
+diego_(begonia-z),4,17,
+diclitorism,0,17,
+diaperdork,1,17,
+diaper_masturbation,0,17,
+diaper_check,0,17,
+diana_(hoodielazer),4,17,
+dia_(1-upclock),4,17,
+dh-arts,1,17,
+dewpider,5,17,
+devin_(derpybro),4,17,
+devil-v,1,17,
+deviantchump,1,17,
+determined_tiger_monkey_cow,0,17,
+detailed_pussy,0,17,
+detached_hand,0,17,
+dersheltie,1,17,hirayuki_setogawa
+derilect_(artist),1,17,
+derekdragon,1,17,
+derby,0,17,
+deo_(sorrynothing),4,17,
+demonlorddante,1,17,
+delux,1,17,
+deltra,4,17,
+delsol,1,17,
+delphixander,1,17,
+deliverymutt,1,17,
+delilah_(lps),4,17,
+delight,4,17,
+del_(animal_crossing),4,17,
+deepdarkfantasies,1,17,
+deedlit,4,17,
+dee,1,17,
+ded_moroz,4,17,
+debbie_(yinller),4,17,
+deanosaior_(character),4,17,
+deadmau5,3,17,
+deadass02,1,17,
+daybreak_(oc),4,17,
+dawnleaf,4,17,
+dawnallies,1,17,
+dawn_of_fire,3,17,"msm:_dof,msm_dof,my_singing_monsters:_dawn_of_fire,my_singing_monsters_dawn_of_fire"
+davin_tormach,4,17,
+david_bowie,4,17,
+davian_tul,4,17,
+data_(vhsdaii),4,17,
+dashaloo,1,17,
+dash_(doberman),4,17,
+dasek_(neytirix),4,17,
+darwin-sensei_kemonomusumetachi_ga_gakuen_de_omochi_desu!,3,17,
+darrius_skyler,4,17,
+darkvulpes,1,17,
+darkterror_the_faceless_void,4,17,
+darksonic250,1,17,
+darkpony_(character),4,17,
+darkgoku,1,17,
+darkcoat_azan,4,17,
+darkartistkaiser,1,17,
+dark_perineum,0,17,
+dark_knight_ingrid,3,17,
+dark_bra,0,17,
+dareddakka,1,17,
+dantalian_letrou_(character),4,17,
+danny_sexbang,4,17,
+danny_(101_dalmatian_street),4,17,
+danniemango,1,17,
+daniel_silverwolf,4,17,
+danicommissions,1,17,
+dani_(pandam),4,17,
+dani_(daniskunk),4,17,
+dangling_flip_flop,0,17,
+dandy_(space_dandy),4,17,
+damon_(grimart),4,17,
+damned_baron,1,17,
+damingo_(character),4,17,
+damian_weir,4,17,
+damian_(frostedchase),4,17,
+damasco25,1,17,
+dallas_the_swolgi,4,17,
+dakka_(gummigo),4,17,
+dagmell,1,17,
+daften,4,17,
+dabloons,1,17,
+daarken,1,17,
+da_xxx_cat,1,17,
+da3riusus,1,17,
+d_big_hammer,1,17,
+d_(doneru),4,17,
+d_(artist),1,17,
+d-6alaxy,1,17,
+d'vorah,4,17,
+czero,4,17,
+cyrus_hyperion,4,17,
+cynthia_ezaar,4,17,
+cyn,4,17,
+cyborg_kuro-chan,3,17,
+cybert,1,17,
+cyberpaws,4,17,
+cybernetic_jaw,0,17,
+cyberkitt,1,17,
+cuteycutey,1,17,
+cut_throat,0,17,
+currency,0,17,
+cummed_on,0,17,
+cumeoart,1,17,"shaily,sonic-vnn"
+cum_on_own_shoulder,0,17,
+cum_on_city,0,17,
+cum_on_bottomwear,0,17,
+cum_in_slime,0,17,
+cum_in_coffee,0,17,
+cubi21,1,17,
+cubby,4,17,
+ctahrpoe,1,17,
+crux_(artist),1,17,
+crust_pants,0,17,
+crumpled_paper,0,17,
+crow_(brawl_stars),4,17,
+crotch_fins,0,17,
+crossguard_lightsaber,0,17,
+crossed,3,17,
+crop_top_sweater,0,17,
+crocpond,3,17,
+crius_quintilian,4,17,
+critterclaws_(character),4,17,
+crikeydave,1,17,"crikeydaveart,supacrikeydave"
+creator_(artist),1,17,
+crazybluedog.exe_(artist),1,17,
+crayonzii,1,17,
+cracked_horn,0,17,
+cowey,4,17,
+coughing_cum,0,17,
+cosmic_penis,0,17,galaxy_penis
+corona-chan,4,17,
+corkii_(character),4,17,
+cori_(oc),4,17,
+copperboyart,1,17,
+coppahhead,1,17,
+copic,0,17,
+coolboy01fa,1,17,
+controls,0,17,
+controller-tan,3,17,
+contraption,0,17,
+conscious-aberration,1,17,
+conquistabear,1,17,
+connie,4,17,
+concealed_weapon,0,17,
+con_(concon18),4,17,
+common_loon,5,17,
+combat_gloves,0,17,
+columns,0,17,
+colt_1911,0,17,
+color_coded_message_box,0,17,
+colonial_organism,5,17,
+collegiate,0,17,
+colin_(twokinds),4,17,
+colaxpepsi,1,17,
+coelhoposa_(artist),1,17,
+cody_(zp92),4,17,
+coco_(ramudey),4,17,
+cockyroaches,1,17,
+clovercoin,1,17,
+clover_(dr.bubblebum),4,17,
+cloud_coffee,1,17,
+clitoridectomy,0,17,clitorectomy
+clit_dick,0,17,
+clippypony,1,17,
+clione,5,17,sea_butterfly
+cletus_(helluva_boss),4,17,
+clementine_ravenheart,4,17,
+clementine_(the_walking_dead),4,17,
+clei0te,1,17,
+clear_latex,0,17,
+cleanplague,1,17,
+clayman778,1,17,
+clash_of_clans,3,17,
+clarisse_(yawg),4,17,
+clarissa_chipmunk,4,17,
+clare_(artist),1,17,
+citron_crested_cockatoo,5,17,
+cinnamon6,1,17,
+cici,4,17,
+cicely,4,17,
+churning,0,17,
+chuluun,4,17,
+chuckline_(character),4,17,
+chrono_stygian,4,17,
+chrono,4,17,
+christmas_outfit,0,17,
+christmas_ornaments,0,17,
+chris_the_lucario,4,17,
+chris_martin_(renthedragon),4,17,
+chris_kirster,4,17,
+chris_(leviantan581re),4,17,
+chris_(bastion),4,17,
+chopper_atbong,4,17,
+chocolate_on_penis,0,17,
+chocolat_(tetetor-oort),4,17,
+chloe_wintermane,4,17,
+chirei,4,17,
+chips_(dryadex),4,17,
+chin_on_head,0,17,
+chiharu,4,17,
+chief_thunderhooves_(mlp),4,17,chief_thunderhooves
+chief_(fath),4,17,
+chicory_a_colorful_tale,3,17,
+chibi_(nuk_sun),4,17,
+chibear,4,17,
+chiakitasso,1,17,
+cheshire_fox,4,17,
+cherrufox,1,17,
+cherloin,1,17,
+cheezedoodle96,1,17,
+cheesy_(cheese_cake),4,17,
+cheek_blush,0,17,
+cheap_thrills,3,17,
+chazori,4,17,
+charm_(chochi),4,17,
+charlotte_(e254e),4,17,
+charlie_the_unicorn_(series),3,17,
+charlie_(hi-ku),4,17,
+charlie-spaice-doggy,1,17,charlie-spaice
+charli_(charli_sox),4,17,
+charles_(haazbrinken),4,17,
+chaospunk420,1,17,
+chamie,1,17,
+chalem,4,17,
+chalcy_(tanenjo),4,17,
+chaine_redfield,4,17,
+cessily_(lotorloon),4,17,
+certifiedanal,1,17,
+certificate,0,17,
+cerberus966,1,17,
+ceowolf,1,17,
+celestias_servant_interview,1,17,
+celera_prime,1,17,
+cecil,4,17,
+ceanoth,4,17,
+ccc_chisel,1,17,
+cbasej,1,17,
+caylen,4,17,
+caulifla_(dragon_ball),4,17,
+caudal_fin,0,17,
+catzino,1,17,
+catura_(granblue),4,17,shatora
+catsnoot,1,17,
+catligula,4,17,
+catlex,1,17,
+catibou,5,17,
+catherine_(zombieray10),4,17,
+catfood-mcfly,1,17,
+cat_ribeiro,5,17,
+cassiuskitsune,4,17,
+cassandra_(sek-raktaa),4,17,
+casey_(chip_at_night),4,17,
+casenpoint,1,17,
+caryfurry,1,17,
+cart_pull,0,17,
+carrying_weapon,0,17,
+carrotia_the_rabbit,4,17,
+carrot_in_pussy,0,17,
+carrie_wabeet_(slb),4,17,
+carol_(stareostar),4,17,
+carny,1,17,
+carnivate,1,17,
+carnelian_(arknights),4,17,
+carla_(ocaritna),4,17,
+caretaker,0,17,
+capture,0,17,
+captein,1,17,
+captain_crocodile,4,17,
+canin,4,17,
+cane_(flicklock),4,17,
+candy_cane_in_ass,0,17,
+candice,4,17,
+camy,4,17,
+camille_wallaby,4,17,
+camila_valencia,4,17,
+camera_lights,0,17,
+calima_(character),4,17,
+calesote514,1,17,
+calamus,4,17,
+cake_batter,0,17,
+caisson,4,17,
+cailey,4,17,
+caidoberman,4,17,
+caek,4,17,
+caedere_(character),4,17,
+cachomon,1,17,
+cabaret,0,17,
+buxom,0,17,
+butterfliess,1,17,
+butterball,4,17,
+buttcheecks,0,17,
+butt_spots,0,17,
+burumisu,1,17,
+burning_shadow_(oc),4,17,
+buriburiri2,1,17,
+bunnyboi0108,1,17,
+bunkakke,1,17,
+bunilla_(bunillabunbun),4,17,
+bungee_jumping,0,17,
+bullseye_(target),4,17,
+buddhism,0,17,
+budakurosawa,1,17,
+bubbletea,4,17,
+brutus_(megacoolbear),4,17,
+bruno_rhynox,4,17,
+brunis_(khemia),4,17,
+bruce_(disambiguation),4,17,bruce
+brown_quills,0,17,
+brooke_(partran),4,17,
+broken_table,0,17,
+broken_screen,0,17,
+brit_crust,4,17,"brit_krust,brittany_brit_crust,brittany_brit_krust,brittany_crust,brittany_krust"
+brim,4,17,
+brianogrowler_(character),4,17,
+bri_(lavenderpandy),4,17,
+bri_(kalash),4,17,
+brenda_(puffinza),4,17,
+bredlay,4,17,
+breast_tissue,0,17,
+breast_outline,0,17,
+breast_impregnation,0,17,
+brawl,0,17,
+braska,4,17,
+braith,4,17,
+brai-brai_(fulconarts),4,17,
+brahmin_(fallout),5,17,
+braces_(juvira),4,17,
+box_cat_(cat_face),4,17,
+box_bondage,0,17,
+bow_gloves,0,17,
+boulder_(mr.smile),4,17,
+boudica_buffkin,4,17,
+bottomwear_around_ankles,0,17,
+bootypatootie,1,17,
+boots_removed,0,17,
+boots_(marking),0,17,
+boogeestro,1,17,
+booga,4,17,
+bonworth_(roommates),4,17,
+bones-n-boners,1,17,
+bonefiend,1,17,
+bon_(dirittle),4,17,
+bombini,1,17,
+boeing_747,3,17,
+body_weapon,0,17,
+body_between_toes,0,17,
+boccob_(nexus),4,17,
+bobythedragon,4,17,
+boba_bearstein,4,17,
+boardwalkfogg,1,17,
+blukek,1,17,
+bluewollvieh,1,17,
+bluevelo,1,17,
+bluepencilpony,1,17,
+blueberry_cum,0,17,
+blue_wool,0,17,
+blue_wolf,0,17,
+blue_hair_tie,0,17,
+blue_canine_penis,0,17,
+blue_and_white_striped_panties,0,17,
+blue_(lockworkorange),4,17,
+blowing_up,0,17,
+blooper_(artist),1,17,
+bloona,4,17,
+bloodycat,1,17,
+bloodmoon_(ferro_the_dragon),4,17,
+bloodmoon,0,17,
+bloat_(sound_effect),0,17,
+blitzcrank_(lol),4,17,
+blissrooster,1,17,
+blindjackk,1,17,
+blin_(overgrown_lizard),4,17,
+blaxat_(artist),1,17,
+blake_aurora,4,17,
+bladder_press,0,17,
+blacky_(cloppermania),4,17,
+blackxeno_(artist),1,17,
+blacksad:_under_the_skin,3,17,
+blackmist333,4,17,
+blackggggum,1,17,
+blackeyes,0,17,
+black_panther_(marvel),3,17,
+black_jumpsuit,0,17,
+black_heron,5,17,
+black_hat_(villainous),4,17,
+black_freckles,0,17,
+black_feather_hair,0,17,
+black_delphox,1,17,
+black_bit_gag,0,17,
+black_abdomen,0,17,
+biscuit_(pastelwolf),4,17,
+birthday_party_at_club_yiff,3,17,
+biolizard,4,17,
+billy_thumperson,4,17,
+billy_the_puppet,4,17,
+billford,4,17,
+bikendi,4,17,
+big_t-dick,0,17,
+big_penis_humiliation,0,17,big_penis_shaming
+big_male,0,17,
+bifurcated_genitalia,0,17,
+bident,0,17,
+bianchi/caramel_(yourfavoritelemonade),4,17,
+bianca_(tits),4,17,
+bianca_(lui-ra),4,17,
+beyblade,3,17,
+betilla_zanders_(wub),4,17,
+besttrashking,1,17,
+bestia_(tboi),4,17,
+bersek,4,17,
+berryrpgmakerb,1,17,
+bernbirk,1,17,
+berlioz_(aristocats),4,17,
+bening,4,17,
+ben-ben,1,17,
+belphione,1,17,
+bellies,0,17,
+bellbottoms,0,17,
+bella_(sweet_temptation_club),4,17,
+beitris,4,17,
+behaving_like_a_cat,0,17,
+beer_keg,0,17,
+bedside,0,17,
+bebetterbop,1,17,
+beberne,1,17,
+beatrixx,4,17,
+beatrix_(legend_of_queen_opala),4,17,
+beaten_up,0,17,
+beastbehavior,1,17,
+bearlyfeline,1,17,
+bear_and_bunny_boo,3,17,
+beam_(lexiabee),4,17,
+bea,4,17,
+baterco_(baterco),4,17,
+batarian,5,17,
+bastet_(world_of_darkness),5,17,
+bashko,1,17,
+basha_(uzon),4,17,
+basenji,5,17,"african_barkless_dog,ango_angari,avuvi,congo_dog,zande_dog"
+bartstarter,1,17,
+barry_nauticus,4,17,
+barry_b._benson,4,17,
+barricade,0,17,
+barnabe,4,17,
+barely_visible_teeth,0,17,
+barely_sly,1,17,
+baps_fucks~,1,17,
+baphowet,1,17,
+banished_(artist),1,17,
+banhammer,0,17,
+banderole,0,17,
+banded_legs,0,17,
+bandana_(character),4,17,
+banana_pone_(oc),4,17,
+banana_costume,0,17,
+bal_shaloc,4,17,
+bailey_(colonelyobo),4,17,
+bagman,4,17,
+bad_bird,4,17,
+backstab,0,17,
+back_torture,0,17,
+baaz,5,17,
+ba-u,5,17,
+azure_(azureparagon),4,17,
+azuki_merun11,1,17,
+ayra,4,17,
+aylie,4,17,
+ayah_(chalo),4,17,
+axelthedino,4,17,
+awoo!_(asonix),4,17,
+avsaroke,1,17,
+avok_(character),4,17,
+avie,4,17,
+avery_kaiser_(averythekitty),4,17,
+avantauie,4,17,
+avalon487_(artist),1,17,
+ava_(luircin),4,17,
+author's_note,0,17,
+auroror,4,17,
+aurorafang,1,17,
+aurora_(petirep),4,17,
+august_(hocolatemilk),4,17,
+auditorium,0,17,
+auden_(zhanbow),4,17,
+auburn_eyes,0,17,
+aubrey_(aubrey_leung),4,17,
+atypi,1,17,
+athena_(gop),4,17,
+athena0023,1,17,
+atari_console,0,17,
+astrally,1,17,
+astral_37,1,17,
+assel_asakura,1,17,
+aspen_tree,0,17,"aspen_trees,aspentree,aspentrees"
+asmadeus,1,17,
+askos,4,17,
+asking_to_stop,0,17,
+asian_water_monitor,5,17,"common_water_monitor,kabaragoya_monitor,malayan_water_monitor,no-mark_lizard,no_mark_lizard,rice_lizard,ring_lizard,two-banded_monitor,two_banded_monitor,water_monitor"
+ashtoreth,1,17,
+ashton_shea,4,17,
+ashley_wind,4,17,
+ashielf,4,17,
+asher_(hyena),4,17,
+ash_darkfire,4,17,
+ash_(dirittle),4,17,
+asami_(squiidwave),4,17,
+arwyn,4,17,
+artywitch,1,17,
+artybozu,1,17,
+artwolfe,1,17,
+artkett1412,1,17,
+artiecanvas,1,17,
+arthur_(ghosts_'n_goblins),4,17,
+artemis_(fellarts),4,17,
+arta_aere,4,17,
+arsis,4,17,
+arsi_tigrion,1,17,
+arrowhead,0,17,"arrow-head,arrow-heads,arrow_head,arrow_heads,arrowheads"
+arrius_(sunhuiz),4,17,
+army_of_darkness,3,17,
+arms_pulled_back,0,17,
+armpitcore420,1,17,
+armeddillo,1,17,
+armadyl,4,17,
+arma,4,17,
+arm_belt,0,17,
+arloste,4,17,
+arlo_the_dinosaur,4,17,
+arlo_davis(dustin_c),4,17,
+arleana,4,17,
+arkeis-pokemon,1,17,
+ariel_(batboyexe),4,17,
+arianfis,1,17,
+ari_(btd),4,17,
+argonautical,1,17,
+argentea,4,17,
+ardor_imp,5,17,
+ardent_(misterstallion),4,17,
+archer_(series),3,17,
+archaeologist,0,17,
+archaeoceti,5,17,
+arcanum42,1,17,
+arc_lastat,4,17,
+arawnn,4,17,
+aqua_admin_shelly,4,17,"shelly_(pokemon),shelly_(pokémon)"
+appledipz,1,17,
+apple_pattern,0,17,
+apollo_(nephisdragon),4,17,
+apocalis,1,17,
+apex_the_hedgehog,4,17,
+anza_shattergaze,4,17,
+antoinette_(medium-maney),4,17,
+anthro_fox_(artist),1,17,
+anthony_(tero-dragon),4,17,
+antarctic_coral,1,17,
+antabaka,1,17,
+ansel,4,17,
+anolise,4,17,
+annakitsun3,1,17,
+anna_the_sergal,4,17,
+ankle_warmers,0,17,
+ankle_chain,0,17,
+aniyah,4,17,
+anita_(tcitw),4,17,
+animun,4,17,
+animaanthro_(artist),1,17,
+angelus_draco,4,17,
+angelina_ballerina,3,17,
+angelina_(arknights),4,17,
+angelan,4,17,
+angela_(jewelpet),4,17,angela_(jewel_pet)
+anesthetics,1,17,
+andy_dingo_wolf,4,17,
+andy_(andybunny),4,17,
+androgymess,1,17,
+andrea_(9_to_9),4,17,
+anal_wall,0,17,
+anak_zahard,4,17,
+anadapta,1,17,
+anabelle_(3mangos),4,17,
+amycow,1,17,
+amiona_(oc),4,17,
+amilina,4,17,
+american_curl,5,17,
+amenii_(code-shark),4,17,
+amelia_(joaoppereiraus),4,17,
+ambiguous_fingering,0,17,
+amberley,4,17,
+amber_kingsley,4,17,
+amazon_hunters,3,17,
+amaranthine_(suirano),4,17,
+amarandith,4,17,
+amalia,4,17,
+alyx_(cobra0281),4,17,
+alyona_fuchs,4,17,
+alvaro,4,17,
+alst,4,17,
+alpha_(petruz),4,17,
+alma_(deffend),4,17,
+allen_(oddottallen),4,17,
+alkatoster,1,17,
+alitica,4,17,
+alipixel,1,17,
+alini_(grimart),4,17,
+alika_(mcfli),4,17,
+alien_soldier,3,17,
+alicia_(jay_naylor),4,17,
+alice_vayne_(trejo_the_zoroark),4,17,
+alice_dare,4,17,
+alice_(leobo),4,17,
+aliasred,1,17,
+aliana_(spyingredfox),4,17,
+alfiepha,1,17,
+alfas,1,17,
+alexis_crossman,4,17,
+alexis,4,17,
+alexia_gottard,4,17,
+alexi_(gideon),4,17,
+alexandra_railen,4,17,
+alexander_matthew_quillback_(bluefurryboy),4,17,
+alex_art's,1,17,
+alex_(whimsicalsquirrel),4,17,
+alex_(usefulspoon),4,17,
+alex_(paraepa),4,17,
+alessandradc,1,17,
+aleen'zeta,4,17,
+alecto_(himeros),4,17,
+aldyn,4,17,
+album_art,0,17,
+albinoraven666fanart,1,17,
+alana,4,17,
+alan_foreman,1,17,
+alakser,1,17,
+akm,0,17,
+akira_blaze,4,17,
+akiha_gongen,4,17,
+akatsuki,0,17,
+akasha_(chsnake5050),4,17,
+akainu7,1,17,
+aiws,1,17,
+aisu_art,1,17,
+aisle,0,17,
+airon_(norhia),4,17,
+aiponda_(character),4,17,
+aion_(show_by_rock!!),4,17,
+ainz_ooal_gown,4,17,
+ainara_merino,4,17,
+ahyoka_(character),4,17,
+ahams_(character),4,17,
+agender_pride_colors,0,17,
+aganju_(character),4,17,
+after_tail_masturbation,0,17,
+aether_fang,4,17,
+aesop,3,17,
+aelyx,1,17,
+aellynh,4,17,
+aedsin_(tinygaypirate),4,17,
+adventure_withered_chica_(fnaf),4,17,
+adrianna_(white_tiger_hunting),4,17,
+adrian_shephard,4,17,
+adognamedkayne,1,17,
+adjusting,0,17,
+adios_(pixiv),1,17,
+adapted_costume,0,17,
+adamios_(character),4,17,
+adamant_unicorn,1,17,
+ada'hy,4,17,
+acting_like_a_cat,0,17,
+acnologia_(fairy_tail),4,17,
+acidslash28,1,17,
+achiga,1,17,
+aced,4,17,
+acacia_tree,0,17,
+aca_(character),4,17,
+abyssal_lagiacrus,5,17,
+absorbed,0,17,
+abelard,1,17,
+abby_(winter.fa),4,17,
+abby,4,17,
+abababab,1,17,
+aaron_(wolfie-pawz),4,17,
+aardwolf_humanoid,5,17,
+aalto_eskola,4,17,
+a_vwxyz,1,17,
+<3_necklace,0,17,
+9999_td,1,17,
+8zeon,1,17,
+84akuma,1,17,akuma4z8
+7hewolfboy,1,17,
+773mimisuke,1,17,
+44_cats,3,17,
+3_tongues,0,17,"3_tongued,three_tongued,three_tongues"
+34qucker,1,17,
+2ch.so,1,17,
+2_thumbs,0,17,
+2_penis_outline,0,17,
+26regionsfm,1,17,
+22:25,7,17,
+2.doe,1,17,
+1i3,1,17,
+1ce_h00ves,1,17,
+19:14,7,17,
+1881,7,17,
+16:23,0,17,
+13uckaroo,1,17,
+121gigawatts,1,17,
+01phoenix01,1,17,
+!!_(artist),1,17,
+zyvo,1,16,
+zygarde_cell,5,16,
+zydrationx,1,16,
+zychronos,4,16,
+zxz328,1,16,
+zwiebelprinz,1,16,
+zusie_vorare,1,16,
+zuri_(zwerewolf),4,16,
+zuny_(zourik),4,16,
+zunknown,1,16,
+zumidraws,1,16,
+zuago,1,16,
+zool_(series),3,16,
+zoli,4,16,
+zoey_the_emolga,4,16,
+zoey_(iamaneagle),4,16,
+zock,4,16,
+zoarvek,1,16,
+zirac,4,16,
+zipsha,1,16,
+zipper_panties,0,16,
+zion_fox,4,16,
+zimzid,1,16,
+zilch,1,16,
+zik_(kostos_art),4,16,
+zig,4,16,
+zhu_bajie,4,16,
+zhora,4,16,
+zhet_illuma,4,16,
+zhampy,1,16,"art_zhampy,artzhampy,gooey_dragon,gooeydragon,square_zham,squareheart,squarezham,zhampip"
+zeya_(character),4,16,
+zetrystan,1,16,
+zetaz_(coc),4,16,
+zerobadguy,1,16,
+zero_one_(character),4,16,
+zero_(sonic),4,16,
+zeradias,1,16,
+zephyrius,4,16,
+zephryn_(miso_souperstar),4,16,
+zeog,1,16,
+zenpei,1,16,
+zeno,4,16,
+zenithfoxie,1,16,
+zemlya,1,16,
+zelles,1,16,
+zehfox,1,16,
+zefyren,4,16,
+zeeme,4,16,
+zedian,5,16,
+zecora's_hut,0,16,
+zeanlain,1,16,
+zeak_(johnithanial),4,16,
+zeachy_(zeachy),4,16,
+zdrer456,1,16,
+zazazazazazawa,1,16,
+zau_the_tenrec,4,16,
+zasha_(cosmicmewtwo),4,16,
+zanity,1,16,
+zane_krutiz,4,16,
+zalvine,4,16,
+zakk,4,16,
+zagul_(artist),1,16,
+zagara_(starcraft),4,16,
+zack_(srmko),4,16,
+zack3d,1,16,
+z_(doneru),4,16,
+yyy,0,16,
+yvonne_jockalong,4,16,
+yvette_(oc),4,16,
+yuuyuu,1,16,
+yuuryuu,4,16,
+yuureidooru,1,16,
+yuujin_oozora,4,16,
+yutanpoko,1,16,
+yuripeach,1,16,
+yure16,1,16,
+yuku_(jewelpet),4,16,yuku_(jewel_pet)
+yukiko_noroi,4,16,
+yukifuri_tsuyu,1,16,
+yuezeng-mn,1,16,
+yuemanhuaikong,1,16,
+ysilla,4,16,
+ys_kzoo,1,16,
+yosemite_sam,4,16,
+yordraw_ocs,0,16,
+yookey,1,16,
+yokoshimako,1,16,
+yodelinyote,1,16,
+yo_bigbear,1,16,
+ymxa,1,16,
+yksel,4,16,
+yiss,4,16,
+yipthecoyotepup,1,16,
+yikarichi,1,16,
+yezi_fff,1,16,
+yetinsane,1,16,
+yellowquagsire,1,16,
+yellowcrom,1,16,
+yellow_virus_(dr._mario),5,16,
+yellow_toad,4,16,
+yellow_sunglasses,0,16,
+yellow_suit,0,16,
+yellow_heels,0,16,
+yellow_genitals,0,16,
+yeego,1,16,
+yayen_silverspirit,4,16,
+yashy_(bcb),4,16,
+yanuna,4,16,
+yannlian,1,16,
+yana_movchan,1,16,
+yamada_(gotyui),1,16,
+yajirobe,4,16,
+yagarai,4,16,
+yaazu,4,16,
+y40ifan,1,16,
+y0ku_drake,1,16,
+xythan_(character),4,16,
+xripy,1,16,
+xmintshakex,1,16,
+xiro,4,16,
+xipe_totec_(roquemapache),4,16,
+xieril,1,16,
+xenxen,4,16,
+xenosaga428,1,16,
+xenoblade_chronicles_x,3,16,
+xenoblade_(series),3,16,
+xelsword,1,16,
+xan_(character),4,16,
+x_(doneru),4,16,
+wyvern_(kingdom_hearts),5,16,wyvern_(heartless)
+wyre_(artist),1,16,
+wyldstyle,4,16,
+wyatt,4,16,
+wunder,4,16,
+wulfanite,1,16,
+wrought,5,16,
+wristwatch_only,0,16,
+wrath_(gorath),4,16,
+wooden_bench,0,16,
+wood_sora,1,16,
+wonder_parade,3,16,
+wolvy,4,16,
+wolframclaws,1,16,
+wolflope,0,16,
+wolfiescootaloo,4,16,
+wolfhound,5,16,
+wolfenwares,1,16,
+wolfe,5,16,
+wolfade,1,16,
+wiwirawr,1,16,
+wishiwashi_(school_form),5,16,
+winter_jacket,0,16,
+wing_hurricane,4,16,
+winemomicorn,1,16,
+wind-up_toy,0,16,
+willy_fog,4,16,
+willy_duwitt,4,16,
+willing_amputee,0,16,
+will_(eightane),4,16,
+wildegems,1,16,
+wide_open,0,16,
+wide_legged_boat_pose,0,16,
+wickedjuti,1,16,wickedj
+whoismonday,1,16,
+whiteweasel,1,16,
+white_tiger_(kemono_friends),4,16,
+white_spines,0,16,
+white_neck_frill,0,16,
+white_fire,0,16,
+white_eyeshadow,0,16,
+whispa_(pollard),4,16,
+when_i_meet_you,3,16,
+wheatmutt,4,16,
+what's_wrong_big_boy?,3,16,
+whale_shark_(jon_bliss),4,16,
+wevemos,1,16,
+wetbun,1,16,
+west_(genericdefault),4,16,
+wessel_(tetetor-oort),4,16,
+werewolfovna,1,16,
+werechipmunk,5,16,weremunk
+wendy_(td),4,16,
+wenddy_fields,4,16,
+welding_goggles,0,16,
+weirdcathq,1,16,
+weird_(dr._mario),4,16,
+weekendereturns,1,16,
+web_gag,0,16,
+weatherly,1,16,
+wazumi,4,16,
+water_the_cat,4,16,
+water_breathing,0,16,"breathing_water,hydrokinetic_breath,hydrokinetic_breathing,water_breath"
+watching_video,0,16,
+warren_(fuze),4,16,
+warp0fwrath,1,16,
+wappah,1,16,
+waniramirez,1,16,
+wander_bliss,4,16,
+wallstapless,1,16,
+waldvogel,1,16,
+waldemar_a1,1,16,
+wakky,1,16,
+wakewolf_(character),4,16,
+wahuku18,1,16,
+w-ry_(artist),1,16,
+vymbiosis,1,16,
+vyle_(character),4,16,
+vvoolfe,1,16,
+vrisoka,1,16,
+voredom,1,16,
+voraciousmoga,1,16,
+voodoothur,1,16,
+vomleben,1,16,
+vomits_(artist),1,16,
+voltrixy,4,16,
+volleyball_uniform,0,16,
+vladiverse,1,16,
+vladimir_(animal_crossing),4,16,
+vixx,1,16,
+vivisexxion,1,16,
+vitalis,1,16,
+virtual,0,16,
+virginia_(pebthedrabold),4,16,
+violet_(scalie_schoolie),4,16,
+violet_(peskybatfish),4,16,
+vindskera,4,16,
+vin_(patto),4,16,
+vin4art,1,16,
+vil,4,16,
+viktura_(beyxer),4,16,
+vikara,4,16,
+viggen,4,16,
+viel_(avelos),4,16,
+victoria_(limebreaker),4,16,
+vibrations,0,16,
+vexhaul_ramousa,1,16,
+vetrofroza,1,16,
+veroth,4,16,
+veronica_(michael_caddell),4,16,
+veromir,4,16,
+verena_mistrunner,4,16,
+velocesmells,1,16,
+velhara,4,16,
+velen,4,16,
+veldora_tempest,4,16,
+veibae,4,16,
+vehicle_collision,0,16,
+vehementcreations,1,16,
+veeyo,4,16,
+vee_lowland,4,16,
+vee_(the_owl_house),4,16,
+vector_trace,0,16,
+vechy_(burnhazard),4,16,
+vault-tec_logo,0,16,
+varrio10,1,16,
+varium_(character),4,16,
+variant,5,16,
+vanessa_richtenstein,4,16,
+vanessa_(yarpi),4,16,
+vanessa_(foxovh),4,16,
+vanessa_(blazethefox),4,16,
+van_lin,4,16,
+vampire_the_masquerade_bloodlines,3,16,
+valy_j._thunderbeast,1,16,
+valus_(shadow_of_the_colossus),4,16,
+valorice,4,16,
+valkiria_(oc),4,16,
+valkeera,1,16,
+valheim,3,16,
+valek_(mintdoq),4,16,
+val_(scottyboy76567),4,16,
+vaeros,4,16,
+vadise,4,16,
+vacoda,4,16,
+v_(doneru),4,16,
+usukawa,1,16,
+usingincognito,1,16,
+usavich,3,16,
+ursa_(max72590),4,16,
+urikire,1,16,
+uriel_(toms_mark),4,16,
+uriel2sb,1,16,
+urethral_reroute,0,16,
+urethral_birth,0,16,
+unwanted_penetration,0,16,
+unknown_scientist_(character),4,16,
+university_of_wisconsin,3,16,
+unichromacorn,1,16,
+uni_(uniparasite),4,16,
+underwear_on_floor,0,16,
+underwear_around_tail,0,16,
+unc_p,1,16,
+unagiga_hitotsu,1,16,
+umeda,4,16,
+ulti_(one_piece),4,16,
+ulna_moon,1,16,
+ufc,3,16,
+udon_(character),4,16,
+uchida_shuusann,1,16,
+uav_drone,0,16,
+tzerin,4,16,
+tyrii_ta'lana,4,16,
+tyr_beauregard_(nhecs),4,16,
+type_zero_werewolf,1,16,
+tylon_(artist),1,16,
+tyke_(colorist),1,16,
+tyhat,1,16,
+tyger_(psimatrix),4,16,
+two_tone_sky,0,16,
+two_tone_earbuds,0,16,
+two_tone_ear,0,16,
+two_tone_bodysuit,0,16,
+two_moons,0,16,
+twinkleslut,1,16,
+twilight_(eric_schwartz),4,16,
+twelve_frame_image,0,16,
+tweet,0,16,
+twain,4,16,
+tuzzleton,1,16,
+tuxedowolfo,1,16,
+tuxedomobster_(artist),1,16,
+tuxedo_mask,4,16,
+turtle-sketches,1,16,
+turikikaka_(taokakaguy),4,16,
+turi_shadowscale,4,16,
+tungro,4,16,
+tummysoup,1,16,
+tuft_grab,0,16,
+tuck_(colelucario),4,16,
+tsukumiya_amane,1,16,
+trystan_madwolf,4,16,
+trish_(rainbowsprinklesart),4,16,
+tris_(pandashorts),4,16,
+trigger,3,16,
+triforce_shirt,0,16,
+triforce_on_hand,0,16,
+trevor_moses,4,16,
+travis_(sulferdragon),4,16,
+trauma0001,1,16,
+trap_door,0,16,
+transparent_tail,0,16,
+translucent_robe,0,16,
+translucent_container,0,16,
+transformation_through_vore,0,16,
+transfer_student_(hearthstone),4,16,
+trance_(dragon),4,16,
+trainer_go_(igph),4,16,
+train5,1,16,
+tracy_yardley,1,16,
+toyota_supra,3,16,
+toy_train,0,16,
+town_hall,0,16,
+towai,1,16,shado9
+tourmaline_(kitfox-crimson),4,16,
+touhou_josuke,1,16,
+touching_own_hand,0,16,
+tora_(shadowjumper),4,16,
+tor@,1,16,
+topaz_(jewelpet),4,16,topaz_(jewel_pet)
+toothsnatcher,4,16,
+toodles_(salt_water_tabby_1947),4,16,
+tony_stark,4,16,
+tonic_(dezmine21),4,16,
+tongue_heart,0,16,
+tongue_hanging_out,0,16,
+tongue_flick,0,16,
+tongue_around_neck,0,16,
+tondra,4,16,
+tomoko_(artist),1,16,
+tommie_(hyenajaws),4,16,
+tommah,4,16,
+tolec,5,16,
+toilet_vore,0,16,
+tohilewd_(character),4,16,
+tohidetoblaze,1,16,
+tofuboyz,1,16,
+tofu_(crayola_foster),4,16,
+toedi,1,16,
+toe_stops,0,16,
+toddnet,1,16,
+toby_(black-kitten),4,16,
+tobias_aurora,4,16,
+toastii_(character),4,16,
+toasterdraws_(artist),1,16,
+titi-chan_(donezumi),4,16,
+tism_kevin,4,16,
+tiredfeathers,1,16,
+tirami,4,16,tiramy
+tion,0,16,
+tinrobo,1,16,
+timber_(t1wb3r),4,16,
+timaeus,4,16,
+tillkunkun,1,16,
+tilerin,4,16,
+tiled_background,0,16,
+tiku,1,16,
+tigresa_(yuuyatails_oc),4,16,
+tiger_moth,5,16,
+tiffany_(speeds),4,16,
+tifa_(artist),1,16,
+tied_apron,0,16,
+tie_(l-a-v),4,16,
+tidus_(afk_arena),4,16,
+tickling_ears,0,16,
+tiarhlu,1,16,
+thunder-hoof,4,16,
+through_door,0,16,
+thresh_(lycangel),4,16,
+threads,0,16,
+threaded_by_tail,0,16,
+thoumeco,1,16,
+thoth_(smite),4,16,
+thorn_(wolf7664),4,16,
+thighs,6,16,
+thigh_lines,0,16,
+thigh_blush,0,16,
+thexlewdxmoose,1,16,
+thesplashmaster,1,16,
+thepipefox,1,16,
+theo_(insomniacovrlrd),4,16,
+themightylost,1,16,
+thelittlesnake,1,16,
+thelittlemetermaid,1,16,
+thelaughingkitsune,1,16,
+theking_salt,1,16,
+thehellwolf,1,16,
+thefriendlyelephant,1,16,
+theblueneon,1,16,
+thebest,0,16,
+the_xoo,3,16,
+the_wolf_king_(changed),4,16,
+the_venture_bros.,3,16,
+the_v00d00,1,16,
+the_uninvited_guest,3,16,
+the_underburbs,3,16,
+the_talk,0,16,
+the_soda_bug,1,16,
+the_siren,4,16,
+the_scary_teacher,3,16,
+the_rubber_baron,4,16,
+the_raf,1,16,
+the_pit,1,16,
+the_original_starwalker,4,16,
+the_mystery_of_caketropolis,3,16,
+the_meaning_of_liff,3,16,
+the_little_virgin_charmander,0,16,
+the_lieutenant,4,16,
+the_kitty_named_terra,1,16,thekittynamedterra
+the_high_priestess,4,16,high_priestess
+the_emperor_(tarot),0,16,
+the_dirdy_birdy,3,16,
+the_crown_of_leaves,3,16,
+the_bad_otter_(artist),1,16,
+the_adventures_of_jimmy_neutron:_boy_genius,3,16,"adventures_of_jimmy_neutron,jimmy_neutron_boy_genius,the_adventures_of_jimmy_neutron,the_adventures_of_jimmy_neutron_boy_genius"
+thayrustback,1,16,
+thatroodboy,0,16,
+that_one_bug_that_looks_like_a_croissant_that_you_can_freeze_and_use_as_a_platform,5,16,
+thanks_i_hate_it,0,16,
+thael,1,16,
+textured_clothing,0,16,
+text_on_dress,0,16,
+text_in_background,0,16,
+tethubire,1,16,
+test_tube_rack,0,16,
+test001,1,16,
+tesseract,4,16,
+tess_tealsa,4,16,
+tess_(pokyuii),4,16,
+tesla_(the_wayward_astronomer),4,16,
+teskine,1,16,
+terrifying,0,16,
+terminal_display,0,16,
+terek,4,16,
+tentacle_from_ass,0,16,
+tempest_kitty,4,16,
+telomere,1,16,
+telephone_wire,0,16,
+teknoslade,1,16,
+tekkua,1,16,
+teenosix,1,16,
+teenager_on_child,0,16,
+teal_inner_ear,0,16,
+teaf,1,16,
+tcs1992,1,16,
+tbkeesuu,1,16,
+taylor_swift,4,16,
+taylor_(meesh),4,16,
+taylor_(kamyuelo),4,16,
+taya.zh,1,16,
+tay_mizami,4,16,
+tay_(tayferret),4,16,
+tasmanian_devil_humanoid,5,16,
+taslin,4,16,
+tasakeru,3,16,
+taradoggo,1,16,
+tapping_fingers,0,16,
+tape_gagged,0,16,
+tanya_(library_of_ruina),4,16,
+tanuki_mario,4,16,
+tanro,4,16,
+tank_(container),0,16,
+tangopack,1,16,
+tan_text_box,0,16,
+tan_skirt,0,16,beige_skirt
+tan_shell,0,16,
+tan_loincloth,0,16,
+tan_highlights,0,16,
+tamuran_spearwing,4,16,tamuran
+tamakko,1,16,
+tama_(pixiv),1,16,
+tam_tam_(character),4,16,
+talon_(primal_rage),4,16,
+tall_ears,0,16,
+talis_(species),5,16,
+tales_of_the_rubro_suns,3,16,
+talegas,1,16,
+tala,4,16,
+takumi-exe,1,16,
+taki'toh,4,16,
+takedaconomi2,1,16,
+taka_(artist),1,16,
+taiwanese,0,16,
+taitang_(character),4,16,
+tairenukitty,1,16,
+tail_fin_scar,0,16,
+tai_fu,4,16,
+taghyrt,4,16,
+taffy,4,16,
+tad334,1,16,
+tactopod,5,16,
+tacita_(chimangetsu),4,16,
+tachihana_mitsuba,4,16,
+tabby_fur,0,16,
+tabbiewolf,1,16,
+tabbia,4,16,
+tabb_(petruz),4,16,
+ta'rall,5,16,
+t_roppart1,1,16,
+syntiset,1,16,
+symbolicproto,1,16,
+sylvia_(iamaneagle),4,16,
+sylvi_(b-intend),4,16,
+sylveonfuckoff,1,16,
+sylen,4,16,
+sybillotus,1,16,
+sybil_(deathhydra),4,16,
+syaoran_li,4,16,
+swords_of_justice,5,16,
+sword_of_omens,0,16,
+swifty_(arctic_dogs),4,16,
+sweetie_belle_(eg),4,16,
+sweet_haze_(character),4,16,
+sweat_droplets,0,16,
+swamp_imp,5,16,
+swallowing_object,0,16,
+swallowing_fart,0,16,
+suzune,0,16,
+survion,1,16,
+suro964708,1,16,
+surik,4,16,
+supporting,0,16,
+superplastic,3,16,
+superboll,1,16,
+super_famicom_console,0,16,
+sunsoft,3,16,
+sunsetrey_(artist),1,16,
+sunike,4,16,
+sundae_(oc),4,16,
+sun_glare,0,16,
+summer_(vader-san),4,16,
+summer_(rismic),4,16,
+summer_(ignis_rana),4,16,
+suki_nipps,4,16,
+sugarcookiedoe_(artist),1,16,
+suffocate,0,16,
+succubus_(disgaea),4,16,
+subito_kurai,4,16,
+subaru_impreza,3,16,
+suama_(kekitopu),4,16,
+su-a,5,16,
+styx:_shards_of_darkness,3,16,
+sturgeon,5,16,
+sturaptor,1,16,
+stupidretard,1,16,
+studio_klawz,1,16,
+stubborn,0,16,
+strix_(decent.),4,16,
+stripy,0,16,
+striped_sofa,0,16,
+streetsalami,1,16,
+straye_aspen,4,16,
+stratus_(character),4,16,
+stormy_(stormwx_wolf),4,16,
+stormvermin,0,16,
+storm_spark,4,16,
+storm_drake,5,16,
+stoner_rat_(sssonic2),4,16,
+stevie_choo,1,16,
+stereo_plair,4,16,
+stel_(stellizard),4,16,
+steffi_(alyrise),4,16,
+steele_ferrum,4,16,
+steam_controller,0,16,
+steam_breath,0,16,
+statufication,0,16,
+stated_gender,0,16,
+starmanshine,1,16,
+starling_(species),5,16,
+starkiller,1,16,
+stardragon_(ventkazemaru),4,16,
+starchaser,4,16,
+star_sapphire,3,16,
+standing_on_stool,0,16,
+stan_(zhanbow),4,16,
+st4rvy_(artist),1,16,
+sssilver,1,16,
+squireash,1,16,
+squire_(fursona),4,16,
+squiggalaimon,1,16,
+squeakydweeb,1,16,"the-mac-suicune,the-man-suicune"
+spykie,1,16,
+spunk_(tukamos),4,16,
+sprinklespegasister,1,16,
+spotted_hyena_humanoid,5,16,
+spotted_hands,0,16,
+spotid,1,16,
+spookysauces,1,16,
+spooky_team_leader,4,16,
+splapp-me-do,1,16,
+spike_(mario),5,16,
+spiffygreen,1,16,
+spherification,0,16,
+spelling_error,0,16,
+spell900,3,16,
+spectral_dog,5,16,"black_dog,black_dog_(ghost),black_dog_(mythology)"
+specter_l,1,16,
+spec_(senatorwong),4,16,
+spats_(zwijgen),4,16,
+sparky_the_shapeshifter,4,16,
+sparky_(shockwolf117),4,16,
+sparky_(disambiguation),6,16,"sparky,sparky_(artist),sparky_(character),sparky_(disney),sparky_(species)"
+sparks_(cheesecaker),4,16,
+sparkling_cider_(character),4,16,
+sparkle_(purplealacran),4,16,
+spargue,4,16,
+spacefoxy,1,16,
+space_dynamics,1,16,
+space_cyan,1,16,
+space-tanuki,1,16,
+southparktaoist,1,16,
+south_korean_flag,0,16,
+south_american_tapir,5,16,"anta,brazilian_tapir,lowland_tapir,maned_tapir,sachavaca"
+sound_wave,0,16,
+sound_voltex,3,16,
+souma_(makemon),4,16,
+soulspade,1,16,
+soul-the-mysterious,1,16,
+soul-of-akira,1,16,
+sorrel_(muhny),4,16,
+soren_flamel,4,16,
+sora_(digimon),4,16,
+sophie_(xausr32),4,16,
+sophia_rexis_(artist),1,16,
+sophia_(warborntaco),4,16,
+sophia_(spitfire420007),4,16,
+sonyu_tainkong,4,16,
+sonu_sox,1,16,
+sonichomeboy_(copyright),3,16,
+sonic_popsicle,0,16,
+sonic_chao,4,16,
+sondinker_fazbear's,1,16,
+somesadguyig,1,16,
+solus_fortunes,4,16,
+solstice_dewinter,4,16,
+soldering,0,16,
+solcarn_talonrend,4,16,
+sola_(sukiya),4,16,
+sokatak,4,16,
+soildweller,1,16,
+sohan_(lunasimia),4,16,
+softpaw,3,16,softpaw_magazine
+softbeeplease,3,16,
+soda_sheath,0,16,
+snowypenguin,4,16,
+snowy_(oc),4,16,
+snoww_ball_bun_bun,4,16,
+snowflake_(flarethefolf),4,16,
+snow_(past413),4,16,
+snarfu,1,16,
+smolseto,1,16,
+smol-mama_(artist),1,16,
+smokes_(fuf),4,16,
+smisa,1,16,
+smileygremlin,1,16,
+smackedapple,1,16,
+slyasafoxibou,1,16,
+slut_print_clothing,0,16,
+slumped,0,16,
+slug_wife,4,16,
+sludgegutss,1,16,
+slocik,1,16,
+slit_vore,0,16,
+slifertheskydragon,1,16,
+sleeper_shark,5,16,
+slave_maker,3,16,
+slava,4,16,
+sl4gg,1,16,
+skyline_(comic),3,16,
+skylanders_trap_team,3,16,
+skye_lee,4,16,
+skye_(paladins),4,16,
+skye_(146tym),4,16,
+skullgoat777,1,16,
+skull_hat,0,16,
+skofi_(artist),1,16,
+skifi,1,16,
+skeet_(artist),1,16,
+skateboard_trick,0,16,
+skarner_(lol),4,16,
+skanderp,4,16,
+sixgui,1,16,
+siveth_(dragonheart),4,16,
+sitting_on_tongue,0,16,
+sitting_on_bulge,0,16,
+sirosir,1,16,
+siridel,4,16,
+sir_razalus,1,16,
+sir_gawain_(sonic_and_the_black_knight),4,16,"gawain_(satbk),gawain_(sonic),gawain_(sonic_and_the_black_knight),sir_gawain_(satbk),sir_gawain_(sonic)"
+sir_daniel_fortesque,4,16,
+sinserenity,1,16,
+sinopa_(m18wolf),4,16,
+sinligereep,1,16,
+simulated_amputation,0,16,
+simple-creature,1,16,
+silverfishnsfw_(artist),1,16,
+silverblazebrony,1,16,
+silver_(darkzerojack),4,16,
+sil_(species),4,16,
+siku_(artica),4,16,
+sight,0,16,
+sidney_(spiritpaw),4,16,
+sidescreen_character,0,16,
+siberian_weasel,5,16,kolonok
+siatea,1,16,
+si-lee,4,16,
+shyshyoctavia,1,16,
+shutter_bug_(mlp),4,16,
+shuffling,0,16,
+shryland,1,16,
+shreddy117,1,16,
+shou_ronpo,4,16,
+shosho,1,16,
+shorty_brachiosaurus,4,16,"shorty_(land_before_time),shorty_(lbt),shorty_(the_land_before_time),shorty_(tlbt),shorty_brachiosaur"
+shortbred,1,16,
+shorn,0,16,
+shorky_the_shork,4,16,
+shoe_loss,0,16,
+shiya,4,16,
+shivali_the_eternal,4,16,
+shirt_paunch,0,16,
+shirosirius,3,16,
+shirahoshi,4,16,
+shiraha_mato,1,16,
+shion_(kaiyaruki),4,16,
+shinya_(ririmaru),4,16,
+shining_pearl,4,16,
+shina_(pocketmob),4,16,
+shimon_(artist),1,16,
+shilo,4,16,
+shillon0610,1,16,
+shikoba,4,16,
+shiina,4,16,
+shihari,4,16,
+shield_potion,0,16,
+shibasemi,1,16,柴蝉
+shetland_sheep,5,16,
+shetland,5,16,
+sherri_(kaoselitelocust),4,16,
+shepard,4,16,
+shep_(anaugi),4,16,
+shem,4,16,
+sheila_(ukan_muri),4,16,
+sheila_(garyu_ryuto),4,16,
+sheila_(fidchellvore),4,16,
+sheenie,1,16,
+shawna_(sandslash),4,16,
+shaun_the_sheep_(character),4,16,
+sharpdressedreptile,1,16,
+shark_costume,0,16,
+sharadin_(artist),1,16,
+shantae_(mermaid_form),4,16,
+shakugan_no_shana,3,16,
+shahvee,4,16,
+shadow_beast,5,16,
+shades_of_gray,3,16,
+shade_silverwing,4,16,
+shad-ows,4,16,
+sgtklark_(artist),1,16,
+sextoon,3,16,
+sex_robot,0,16,
+seven_of_hearts,0,16,
+sevech,1,16,
+sevdea,4,16,
+sethmetparriere,1,16,
+sesra,4,16,
+serylis,4,16,
+service_cart,0,16,
+service_animal,0,16,
+serris_(varuna-the-magnificent),4,16,
+serril,4,16,
+sereneandsilent,1,16,
+serenade,0,16,
+serena,1,16,
+seraph_(kyogre),4,16,
+serakuma,3,16,
+sera-fuku,1,16,
+sensoria_(colt_quest),4,16,
+sennie_(character),4,16,
+sendek,4,16,
+selrock,1,16,
+seliron,1,16,
+selina_(shaytalis),4,16,
+select_screen,0,16,
+seldom_seen_species_sunday,3,16,
+seiya_(lagoon_lounge),4,16,
+segmented_penis,0,16,
+segmented_legs,0,16,
+seeumai,1,16,
+security_footage,0,16,
+secretkitsune_(character),4,16,
+secretions,0,16,
+seashell_necklace,0,16,
+sea_urchin_humanoid,5,16,urchin_humanoid
+se'al,4,16,
+sdstash,1,16,
+scyfox,4,16,
+sct-trigger1221,1,16,
+scruffytoto,1,16,
+scrub_jay,5,16,aphelocoma
+scrafd,4,16,
+scp-953,4,16,
+scp-1472,4,16,
+scottish_mythology,3,16,
+scissor-tailed_flycatcher,5,16,
+schyllu_(artist),1,16,
+scene_reference,0,16,
+scathacha,4,16,skasaha
+scary_godmother,3,16,
+scarneck_(character),4,16,
+scarlette,4,16,
+scarlet_side,1,16,
+scar_the_dragon,4,16,
+scanning,0,16,
+scalywanderer,1,16,
+scale_(sobakistan),4,16,
+sauer_kraut_(character),4,16,
+sasiak_(character),4,16,
+sasha_akulova,4,16,
+sasha_akula,4,16,
+sasha_(doxhun),4,16,
+sasa_(coffeechicken),4,16,
+sarx,4,16,
+sarou,4,16,
+sarmoti,4,16,
+saritaaaaaaa82,1,16,
+sarenrae,4,16,
+sardine,5,16,
+sarah_blackmane,4,16,
+sapphire_(makemon),4,16,
+sapphire-gale,1,16,
+sao_satoru,1,16,
+sandy18569215,1,16,
+sandy,4,16,
+sandune,1,16,
+sandrah_nektros,4,16,
+sandaconda,5,16,sandacobra
+sand_on_butt,0,16,
+samuel_(repeat),4,16,
+samson_(disney),4,16,
+sammy_(in_heat),4,16,
+sammi_(sammy73),4,16,
+sam_pines,4,16,
+sam_(imafetish),4,16,
+sam0120,1,16,
+salome,4,16,
+saliva_drop,0,16,
+salem_(rwby),4,16,
+salamander-14,4,16,
+sakura_kasugano,4,16,
+sakaya,1,16,
+sakanaeroi,1,16,
+saiyonara10,1,16,
+saiwai_hiroshi,1,16,
+sairlan_(mirroidal),4,16,
+sageofosiris,1,16,
+saeko_asakura,4,16,
+sacha_pony,1,16,
+sacha_(fursdd),4,16,
+sabre_(sabrethewolf),4,16,
+saber_nero_claudius,4,16,"playable_saber_(fate/extra),playable_saber_(fate_extra),saber_nero_claudius_caesar_augustus_germanicus"
+ryzydnsfw,1,16,
+ryulabo,1,16,
+ryu_(riptideshark),4,16,
+ryoutani_kana,1,16,
+ryokuichi_(nikiciy),4,16,
+ryoko_hakubi,4,16,
+ryoga_hibiki,4,16,
+ryies,4,16,
+ruuji_niravi,4,16,
+ruth-tay,1,16,archir
+rusty_(rustys_ad),4,16,
+runiclodges,1,16,
+runapiero00,1,16,
+rufuta_hachitani,4,16,
+ruffy_(fuf),4,16,
+rudy_(dogfluid),4,16,
+ruby_69r,1,16,
+ruby_(lady_and_the_tramp),4,16,
+rubilax_(wakfu),4,16,
+ruben_sling,1,16,
+rubber_elbow_gloves,0,16,
+rozen_maiden,3,16,
+roy_mustang,4,16,
+roxy_(fuf),4,16,
+roxy_(101_dalmatians),4,16,
+roxie_(gwizzly),4,16,
+roxie,4,16,
+roxia_(dtjames),4,16,
+rowan_(muskydusky),4,16,
+rowan_(fasttrack37d),4,16,
+rousk_(artist),1,16,kelaii
+rottedpaint,1,16,
+rosse_chan,1,16,
+rosechuhorrors,1,16,
+rose_softpaws,4,16,
+rosa_(the_house),4,16,
+rosa_(arknights),4,16,
+roque_(khrunkisillegal),4,16,
+rootaur,3,16,
+rookery,4,16,
+roocat,1,16,
+rome_(artist),1,16,
+romantic_night,0,16,
+romanes,4,16,
+rohansart,1,16,
+rohan_furries,1,16,
+rogue_mei_ling,4,16,"mei_ling_(fox),mei_ling_(kfp_loa),mei_ling_(kung_fu_panda:_legends_of_awesomeness),mei_ling_(kung_fu_panda_legends_of_awesomeness),mei_ling_(legends_of_awesomeness),mei_ling_(rogue)"
+roger_(zp92),4,16,
+roger_(juvira),4,16,
+rodyn,4,16,
+rodney_waters,4,16,
+rodjim,1,16,
+rocoroco1115,1,16,
+rocky_ramos,4,16,
+rocket_monkeys,3,16,
+rock_and_rule,3,16,
+robotbarista,1,16,
+robot_neoanthropinae_polynian,3,16,
+robocheezits,4,16,
+robinv,4,16,
+robin_(jarnqk),4,16,
+robin_(disambiguation),6,16,"robin,robin_(character)"
+roberta_ursalina,4,16,
+robbyj88,1,16,
+robbie_rotten,4,16,
+rmmlusitania_(character),4,16,
+rkzrok,1,16,
+river_zora,5,16,
+rito_(olimacdoodles),4,16,
+rita_cloudy,4,16,
+risl_zxc,1,16,
+ripper,5,16,ripper_(metroid)
+ripjaws,4,16,
+riperils,1,16,
+ripa_ria357,1,16,
+rinthalox,1,16,
+ringed_penis,0,16,
+ringcon_controller,0,16,
+ring_toss,0,16,
+rinar_(zafara),4,16,
+rina_(3mangos),4,16,
+riley_abbott,4,16,
+rikuo,4,16,
+rikufanattic,1,16,
+riko_suzuki,4,16,
+rika_(retehi),4,16,
+ridgeone1,1,16,
+rico_cavour,4,16,
+ricky_wulff,1,16,
+rickochet,1,16,
+richter_(lilo_and_stitch),4,16,"experiment_513,richter_(l&s),richter_(las),richter_(lilo_&_stitch),richter_(stitch)"
+rich_(zoruaboyrich),4,16,
+ricardo_marasco,4,16,
+ria_(piilsud),4,16,
+ri_tsukino,4,16,ri_(terdburgler)
+rhoxy_phosynth,4,16,
+rhea_(nenerhea),4,16,
+rhashana,4,16,
+rha,1,16,
+review,0,16,
+reverse_suspension_bridge_position,0,16,
+revena,4,16,
+revcinnamon_(artist),1,16,
+reunion,0,16,
+retrotard,1,16,
+retrorayfloof,1,16,
+retracted,0,16,
+reticle,0,16,
+reshy,1,16,
+repairing,0,16,
+renzey,4,16,
+rennie,4,16,
+renee_kathrin_furwing,4,16,
+rene_fromage,4,16,
+rene_buford,1,16,
+renakhnamon,4,16,renakhnamon_(dragonzeye)
+rena_(cainesart),4,16,
+ren_(nom-sympony),4,16,
+ren_(ian_mcconville),4,16,
+ren_(artist),1,16,
+remus_(twokinds),4,16,
+remus_(turbothunder),4,16,
+remi_hotate,4,16,
+reiko_u,1,16,
+reijis,1,16,
+regio,4,16,
+regina_harrington,4,16,
+redrime,1,16,
+redditor34,1,16,
+red_velvet_cake_(glacierclear),4,16,
+red_spines,0,16,
+red_smoke,0,16,
+red_rubber,0,16,
+red_labia_minora,0,16,
+red_flag,0,16,
+red_dragon,0,16,
+red_chicken,1,16,
+red_antlers,0,16,
+red_(eightysix),4,16,
+red-crested_cardinal,5,16,red_crested_cardinal
+recording_studio,0,16,
+rebell_(ceehaz),4,16,
+rebecca_(kadath),4,16,
+rebeca_garcia,4,16,
+rebar,0,16,
+realistics_sl,1,16,
+rcbrock,1,16,
+rayon_(rkelic),4,16,
+rayne_anisakis,4,16,
+rayne_(rvyne),4,16,
+ray_(sayakat),4,16,
+raven_the_artist,1,16,
+raven_(shadowfox89666),4,16,
+ratuta_(artist),1,16,
+rattail_(hairstyle),0,16,
+rathfoks,1,16,
+rateruto,1,16,
+rasshu,4,16,
+raspy,4,16,
+rask_(aphelion1),4,16,
+rasied_tail,0,16,
+rasha_(artist),1,16,
+rascal_redtail,4,16,
+rarth_dragon_(royartorius),4,16,
+rara,1,16,
+raptie_(rocik),4,16,
+raniko,1,16,
+randomrandom,1,16,
+random_crow,1,16,
+random_(scandalwaitingtohappen),4,16,
+randall_(batartcave),4,16,
+ramsey_(tgd),4,16,
+ramone_(patto),4,16,
+ramensalt,1,16,
+ralph_e._wolf,4,16,
+ralord,1,16,
+ralloonx,1,16,
+rajha,4,16,
+raivn_anarki,1,16,
+raithial,1,16,
+raisin,0,16,raisins
+rainhyena,4,16,
+raine_(rainebow),4,16,
+raine_(jintally),4,16,
+rainbow_trout,5,16,
+rainbow_skin,0,16,
+raikugan,1,16,
+raiinbowraven,1,16,
+raiden_shogun_(genshin_impact),4,16,
+raid,4,16,
+rage_of_bahamut,3,16,
+ragark_heller,4,16,
+raelynn,4,16,
+radio_comix,3,16,
+radiation_symbol_(marking),0,16,"radiation_symbol-shaped_marking,radiation_symbol-shaped_markings,radiation_symbol_(markings),radiation_symbol_marking,radiation_symbol_markings,radiation_symbol_shaped_marking,radiation_symbol_shaped_markings,radioactive_symbol-shaped_marking,radioactive_symbol-shaped_markings,radioactive_symbol_(marking),radioactive_symbol_(markings),radioactive_symbol_marking,radioactive_symbol_markings,radioactive_symbol_shaped_marking,radioactive_symbol_shaped_markings"
+racingtime244,1,16,
+rachni_queen,5,16,
+rachni,5,16,
+rachel_(sashi138),4,16,
+rachel_(jishinu),4,16,
+raccoondrew,1,16,
+rabbitinafoxden,1,16,
+ra_(vikozlav),4,16,
+quynzel,1,16,
+quwa,4,16,
+quinst,1,16,
+quinn_(ishton),4,16,
+question_block,0,16,
+quel'thinaru_(kalemendrax),4,16,
+queen_of_hearts_(alice_in_wonderland),4,16,
+quazy,4,16,
+quakebrothers,1,16,
+qper_(pinkshonen),4,16,
+qing_yan_(gunfire_reborn),4,16,
+qaitlynne,4,16,
+pyzayt,4,16,
+pyron_(darkstalkers),4,16,
+pyro_(phirewuffie),4,16,
+pylon_(dangerpylons),4,16,
+pussy_squish,0,16,
+pururart,1,16,
+purrpl_(artist),1,16,
+purri,1,16,
+purple_inner_pussy,0,16,
+purple_helmet,0,16,
+purple_boxer_briefs,0,16,
+purity_seal,0,16,
+purah,4,16,
+puppycat,4,16,
+pupbea,4,16,
+pun_(quipshark),4,16,
+pulling_bra,0,16,
+pull_string,0,16,
+pukopop,1,16,
+puffpuff_sugar,1,16,
+pucksterv,1,16,
+ptolema,4,16,
+pterro,1,16,
+psychobat,1,16,
+psarius,1,16,
+prowling,0,16,
+prototype,0,16,
+proton_jon,4,16,
+protectron_(fallout),5,16,
+prostethics,0,16,
+promise,0,16,
+projectdreameryt,1,16,
+project_zomboid,3,16,
+professor_keswick,4,16,"keswick_(t.u.f.f._puppy),keswick_(t.u.f.f_puppy),keswick_(tuff_puppy),professor_keswick_jr,professor_keswick_jr."
+prism,0,16,
+priscilla_(scary),4,16,
+print_stockings,0,16,
+princess_calla,4,16,
+princepuck,1,16,
+primal_legends,3,16,
+priestess_hollie,4,16,
+presenting_bra,0,16,
+preschooler_(pokemon),4,16,preschooler_(pokémon)
+prep_and_landing,3,16,prep_&_landing
+precum_on_clothing,0,16,
+preciosa_salvador,4,16,
+pre_leaking,0,16,
+ppandogg,1,16,
+powerpuff_girls_z,3,16,
+powering_up,0,16,
+pound,0,16,
+pouncefox,1,16,
+potty_chair,0,16,
+posscat,1,16,
+poss_(verybatty),4,16,
+poshfox,4,16,
+porsche_911,3,16,
+porniky,1,16,
+pope,4,16,
+pooping_on_food,0,16,
+ponyhospital,1,16,
+ponpokora,1,16,
+ponpo_ko5,1,16,
+polyamorous,0,16,
+pokémon_stadium,3,16,"pokemon_stadium,pokemon_stadium_2,pokémon_stadium_2"
+pokémon_poster,0,16,
+pokota,4,16,
+pokiedragon25,1,16,
+poketalesof,1,16,
+pokenerd8,1,16,
+poizen,4,16,
+poivre_moulu,1,16,
+poison_mushroom,0,16,
+point_and_click_game,0,16,
+plump_ass,0,16,
+plumbing,0,16,
+plumber's_crack,0,16,
+plio_(dinosaur),4,16,
+playzholder,1,16,
+playing_prince,3,16,
+playing_flute,0,16,
+plant_tail,0,16,
+planet_popstar,0,16,
+plains_zebra_(kemono_friends),4,16,"burchell's_zebra_(kemono_friends),burchells_zebra_(kemono_friends),common_zebra_(kemono_friends)"
+pizzeria,0,16,
+pizza_pony,5,16,
+pixel_ripley,4,16,
+pissy_badger,1,16,
+piscciss_volann,5,16,
+pirate_lolita,0,16,
+piper_(lizet),4,16,
+pinstripe_bottomwear,0,16,
+pinku_shika,4,16,
+pinko_(cocotama),4,16,
+pinkerie,1,16,
+pink_wristband,0,16,
+pink_suit,0,16,
+pink_ear,0,16,
+pink_cape,0,16,
+pink_buttplug,0,16,
+pine_(bombergirl),4,16,
+pierrezaius,1,16,
+picking_flowers,0,16,
+pichetlepichet,1,16,
+pi_(thepiguy24),4,16,
+phytophile,1,16,
+phrozt,1,16,
+phoenix-d,4,16,
+phoebe_(crackiepipe),4,16,
+phlegethon,4,16,
+pharaohmone,5,16,pharaohmone_(catcouch)
+phantomjac,1,16,
+phantomfuz,1,16,
+phantastus,1,16,dirty-bird
+pete's_dragon_(2016),3,16,
+petal_(imadeej),4,16,
+pervertdemondragon,1,16,
+perversion,0,16,
+peru_face,0,16,
+personel,1,16,
+perrine_h_clostermann,4,16,
+perkins_jonathan_lotty,4,16,
+pequedark-velvet,1,16,
+pepper_(sci),4,16,
+peone,4,16,
+penis_fluid,0,16,
+penis_against_cheek,0,16,
+penile_ovipositor,0,16,
+penguru_086,1,16,
+pekopon_q,1,16,
+pekoms,4,16,
+peer_pressure,0,16,
+peep_(patbww),4,16,
+pee_shivers,0,16,
+peashooter_(artist),1,16,
+peachyowlnights,1,16,
+peachlee,1,16,
+pda,0,16,
+paying,0,16,
+pawscape,0,16,
+paw_mark,0,16,
+paw_imprint,0,16,
+paula_(earthbound),4,16,
+paula,4,16,
+pattan,1,16,
+pathfinder_(oc),4,16,
+pastrydog,1,16,
+pasiphae_(krackdown9),4,16,
+paru,4,16,
+partially_submerged_hand,0,16,
+partially_exposed_breasts,0,16,
+parororo,1,16,
+panzerkampfwagen_vi,0,16,
+panties_around_finger,0,16,
+panna_(bahnbahn),4,16,
+panika,1,16,
+pandemonium_company,3,16,
+pandablubb,1,16,
+panda_team_leader,4,16,
+pamagiche,1,16,
+palisade_(halcyon),4,16,
+palette_jam_(artist),1,16,
+painwheel,4,16,
+painted_body_writing,0,16,
+paint_drip,0,16,
+paige_(inkay),4,16,
+padtheo,1,16,
+pacwhal,1,16,
+pac-worlder,5,16,
+p._j._berri,4,16,
+oz_kangaroo,4,16,
+owen_hobbs,4,16,
+outdoor_shower,0,16,
+ouijaa_(character),4,16,
+otterspace,0,16,
+ottermajor,1,16,
+otesei,1,16,
+oscar_montahugh,4,16,oscar_(katt_vs._dogg)
+orthan,1,16,
+orion_(orionfell),4,16,
+orihata,1,16,
+orhey_(artist),1,16,
+orbitlobster,1,16,
+orb-weaver_spider,5,16,"araneid,araneidae,orb-weaver,orb_weaver,orb_weaver_spider"
+orange_urine,0,16,
+oral_focus,0,16,
+oracle,4,16,
+open_box,0,16,
+oota_suketomo_(full_bokko_heroes),4,16,
+oomanagarcha,1,16,
+ookamiwoof,1,16,
+oogie_boogie,4,16,
+onyxtanuki_(artist),1,16,
+onix331,4,16,
+oniei,1,16,
+oni-noboru,1,16,
+onelovelydovely,1,16,
+one_is_silver,3,16,
+one_boot_on,0,16,
+one-starry-knight,1,16,
+on_the_floor,0,16,
+on_hand,0,16,
+omoris,5,16,
+omniscient_reader_(webtoon),3,16,
+omich_(v1d2p3d),4,16,
+olinguito,5,16,
+olgoi_khorkhoi,4,16,
+olenaminko,1,16,
+okami_(shirokuma_cafe),4,16,
+okakasand,1,16,
+ohnarev,1,16,
+odes,1,16,
+octonauts,3,16,
+ocon,1,16,
+ocean_sunfish,5,16,"mola_fish,molid,molidae"
+object_between_legs,0,16,
+obese_human,0,16,
+obeke,4,16,
+oatz,4,16,
+o_melly_g_(artist),1,16,
+o96657637,1,16,
+nyx_(kemokin_mania),4,16,
+nyume,4,16,
+nyte,4,16,
+nyra,4,16,
+nyatrix,1,16,
+nyantarou,1,16,
+nyansky-m,1,16,
+nyanhiro,1,16,
+nya_mooon,1,16,
+nuttyporntastic,1,16,
+nuttymrgecky,1,16,
+nuru_(starbound),4,16,
+nurthug,3,16,
+number3p,1,16,
+nullart,1,16,
+nuggets,1,16,
+nu-ray,5,16,
+noxavious,1,16,
+now_kiss,3,16,
+novacwolf,4,16,
+nova_(delta.dynamics),4,16,
+noubott,1,16,
+not_it,1,16,
+nostalgia_critic,4,16,
+nose_bubble,0,16,
+norwegian_lundehund,5,16,"lundehund,norsk_lundehund,norwegian_puffin_dog"
+normandy_sr2,0,16,
+nordulv,1,16,
+noppe-bo,1,16,
+nophixe,1,16,
+nopes,1,16,
+noom_(species),5,16,
+noodles_(dunkin_kk),4,16,
+nonspon_(grimart),4,16,
+non-humanoid_animate_inanimate,0,16,
+nolan_(bgn),4,16,
+nokonorii,1,16,
+noemie_(bast45),4,16,
+noeden,1,16,
+no_heroes_allowed!,3,16,
+no_entry,1,16,
+nixx_(character),4,16,
+nix_hellhound,1,16,
+niu-ka,1,16,
+nitros_oxide,4,16,
+nishiko24,1,16,
+ninjin_(thehenwithatie),4,16,
+nine_of_hearts,0,16,
+nine-the-foxaroo,1,16,
+nimzana,4,16,
+nimbuswhitetail_(artist),1,16,
+nils_rinkan,4,16,
+nikogeyer,1,16,
+nikki_(evehly),4,16,
+nikki_(dakkpasserida),4,16,
+nikan_(cainesart),4,16,
+nika_(delki),4,16,
+nika-rain,1,16,
+nika,4,16,
+nightrobbery,1,16,
+nightfury2020,1,16,
+nightdancer,1,16,
+nightcrow,1,16,
+nightcat,1,16,
+night_light,0,16,
+nifty,1,16,
+nifaumo,1,16,
+nicole,4,16,
+nicoco,1,16,
+nickolai,4,16,
+nickdales,1,16,
+nichirinko,1,16,
+nib,4,16,
+ni_magniy,1,16,
+nexx,4,16,
+newcomersshit,1,16,
+nevermown,1,16,
+neverman,1,16,
+nev,1,16,
+neutranurse,4,16,
+nestle,3,16,
+neried_(boomerangt3h1337),4,16,
+neri,4,16,
+nepkari,1,16,
+nephuel_(character),4,16,
+neonluv,1,16,
+neonicink,1,16,
+neogeen_(character),4,16,
+neo_von_reinherz,4,16,
+nelnal,1,16,
+nelly_(sligarthetiger),4,16,
+nelli_(whimsicalsquirrel),4,16,
+nekotobi,1,16,
+nekeisha_(igph),4,16,
+negaposi,1,16,
+neet,0,16,
+neera_bel'dear,4,16,
+neekophobia,1,16,
+nazaki-cain,1,16,
+naughty_charizard,4,16,
+naudiz_(artist),1,16,
+naudak,1,16,
+nathan_w,1,16,
+nathan_granier,4,16,
+nathan_fawe,4,16,
+nathan_(devin),4,16,
+natethecat24,1,16,
+nate_(lizet),4,16,
+nate_(character),4,16,
+nat_(vesperinox),4,16,
+naranja,4,16,
+nanokindred,1,16,
+nanja,4,16,
+nani_pelekai_(experiment),4,16,
+nando_wolf,1,16,
+nancho,4,16,
+namiki_te,1,16,
+namichi,4,16,"common_vampire_bat_(kemono_friends),common_vampire_bat_ex_(kemono_friends),vampire_bat_(kemono_friends)"
+nameless-fairy,1,16,
+nakry_(chimangetsu),4,16,
+nakil_(nakil),4,16,
+nahald,4,16,
+nagami_yuu,1,16,unagimay
+naga_(monster_rancher),4,16,
+nadia_(boomerangt3h1337),4,16,
+nadar_(wander_crown),4,16,
+naarkerotics,4,16,
+mythbusters,3,16,
+mysteryrose,1,16,
+myakoda,1,16,myakoda_(srtist)
+mxst16344,1,16,
+muttley,4,16,
+mutedlavender,1,16,
+mutalisk_(starcraft),5,16,
+music_poster,0,16,
+music_conductor,0,16,
+muse_aluveaux_(character),4,16,
+murakumo-tigerx,1,16,
+multiple_realities,0,16,
+multiple_persona,0,16,
+multiple_panel,0,16,
+multicolored_sandals,0,16,
+multicolored_frill,0,16,
+multi_tone_shirt,0,16,
+multi_impale,0,16,
+muky-cuddly,1,16,
+muffinsforever,1,16,
+muffin_top_(bra),0,16,
+mtmh_transformation,0,16,
+mslooukachi,1,16,
+ms.bunlee_(character),4,16,
+ms._rufus,4,16,
+ms._n_(character),4,16,
+ms._k,4,16,
+ms._cabbage_(mcsweezy),4,16,
+mrs._yorushika,4,16,
+mrs._potts,4,16,
+mrs._bell_(marmalademum),4,16,alex's_mom_(marmalademum)
+mrmapolomi,1,16,
+mrkirboy,1,16,
+mrdarkness7070,1,16,
+mr_hippo_(fnaf),4,16,
+mr_awoo,1,16,
+mowang_yu,1,16,
+mouse_pad,0,16,
+moura_(king_pangolin),4,16,
+motorboat_(boat),0,16,"motor_boat,power_boat,powerboat,speed_boat,speedboat"
+motiif,1,16,
+mothiva_(bug_fables),4,16,
+mother_(s2-freak),4,16,
+moss_(blvejay),4,16,
+moscow,0,16,
+mortarion,4,16,
+morris_(kazamafox),4,16,
+morocco_mole,4,16,
+morning_star,0,16,
+morem_(imperator_caesar),4,16,
+morel_(scalesindark),4,16,
+mordu,1,16,
+moowool,4,16,
+moonshine,0,16,
+monument,0,16,
+monty_(baron_montesque),4,16,
+monoxromatik,1,16,idioticbat
+monotone_t-shirt,0,16,
+monotone_loincloth,0,16,
+monotone_gums,0,16,
+monotone_cape,0,16,
+monkey_island,3,16,
+monarchyvore,1,16,
+molly_(wolf-dragon-art),4,16,
+molly_(proxer),4,16,
+molly_(insomniacovrlrd),4,16,
+mokey_fraggle,4,16,
+moeouji,1,16,
+moby_lick,4,16,
+moaja,1,16,
+mmwoodcock,1,16,
+mlp:_incestuous,3,16,
+mlg,0,16,
+mknskhnbs,1,16,
+miya_(bluepegasi),4,16,
+mixpint,1,16,
+miu_shinonome,4,16,
+mitri_rukin,4,16,
+misuta_kyatto,4,16,
+mistress_ruby_(artist),1,16,
+mistie,4,16,
+missymuscle,1,16,
+miss_kitty_(passionatefloorromance),4,16,
+misha_(vigil132),4,16,
+misaki_futtsu,1,16,
+misaka_mikoto,4,16,
+miravi,1,16,
+miradge,1,16,
+mira_(meng_mira),4,16,
+mintypresh,1,16,
+minty_(angelthegamer),4,16,
+mint_leaf_(food),0,16,
+mint_hair,0,16,
+minerva_(salty_nebula),4,16,
+mina_(zp92),4,16,
+mimimarie,1,16,
+mimi_her,4,16,
+mimi_(nana_gel),4,16,
+mimi_(irootie),4,16,
+milo_angelus,4,16,
+milo_(disambiguation),4,16,milo
+milliemonster,1,16,"milliesketches,nexaferret"
+millie_(zat_virgil),4,16,
+millie_(fish_birb),4,16,
+milked,0,16,
+milk_the_sylveon_(toxicmilkyx),4,16,
+milk_pool,0,16,
+milk_drop,4,16,
+milfighters,3,16,
+milffet,4,16,
+mildred_(artist),1,16,
+mila_(samoyena),4,16,
+mikey_barker_(extra_duty),4,16,
+mikes_bunny_(twokinds),4,16,
+mikeiscool12345,1,16,
+mikasune,4,16,
+mightyena2010,1,16,
+mighty_blue,4,16,
+miel_the_bumblebee,4,16,
+midnight_(goldfur),4,16,
+midiroo,1,16,
+michelle_(majisuta),4,16,
+michael_(disambiguation),4,16,michael
+mic,0,16,
+mia_(tira_shanks),4,16,
+mia_(hal),4,16,
+meyk_the_lynx,4,16,
+mewt_(character),4,16,
+mewt,4,16,
+methra_(timeblader),4,16,
+methamphetamine,0,16,
+metalstorm,3,16,
+metal_gear_ray,4,16,
+metal_family,3,16,
+metal-head-rush,1,16,
+mesmer,0,16,
+merunmohu,1,16,
+mershark,5,16,
+mermaidyn,4,16,
+merida,4,16,
+merfur,0,16,
+meowstress,4,16,
+mental_play,0,16,
+memorial,0,16,
+meltina,1,16,
+melody_rose,1,16,
+mellow,1,16,
+mellis,1,16,
+melissa_(daniothewolf),4,16,
+melina_(murnakia),4,16,
+meli_luminati,1,16,
+melanpsycholia,1,16,
+melanie_(ungulatr),4,16,
+mel_(icma),4,16,
+mei_yagi,4,16,
+meguri_megureba_meguru_toki!?,3,16,
+mega_man_zx,3,16,
+mega0923xxx,1,16,
+meeper,4,16,
+medikkuu,1,16,
+medicine_ball,0,16,
+mecharm,1,16,
+mechanical_arms,0,16,
+mcnims,1,16,
+mazzacho,1,16,
+maywynne,4,16,
+mayor_manx,4,16,
+mayor_cock,4,16,
+maylehh,1,16,
+mayfield,3,16,
+mayer0,1,16,
+maya_(skimike),4,16,
+may_lestoat,4,16,
+may_(guilty_gear),4,16,
+maxxy,4,16,
+maxi_(demondawgy96),4,16,
+mauxie_(herny),4,16,
+maustown,3,16,
+matthew-fox,1,16,
+mattbyles,1,16,
+matt_quickfoot,4,16,
+matroskin,4,16,
+matrix_fang,4,16,
+mathilda_(jamoart),4,16,
+mathilda_(animal_crossing),4,16,
+materia,0,16,
+master_yi_(lol),4,16,
+master_and_disciple,0,16,
+massive_ornary_air_blimp,4,16,
+massive_balls,0,16,
+masked_palm_civet,5,16,
+mask_madness,0,16,
+maselkov,4,16,
+marylin_(suirano),4,16,
+mary_thumperson,4,16,
+mary_the_vaporeon,4,16,
+mary_(joaoppereiraus),4,16,
+marvelous_managerie,1,16,
+marty_lou,4,16,
+martin_brisby,4,16,
+marsupial_taur,5,16,
+marshy,4,16,
+marshallleea,1,16,
+marrok_(hurst),4,16,
+maroon_clothing,0,16,
+marmalade_(maxblackrabbit),4,16,
+markusha,4,16,
+mariya_(aleksikashvets),4,16,
+marimo_chorobon,1,16,
+marigold,4,16,
+marble_floor,0,16,
+maple926,1,16,
+mantlepiece,0,16,
+mantid_(warcraft),5,16,klaxxi
+mantarou,1,16,
+maniacxvii,1,16,
+maniacalmercury,4,16,
+manhua,4,16,
+mandemolition,1,16,nintendoart
+mance_azure/stoutline,4,16,
+mana_symbol,0,16,
+mana_(sub-res),4,16,
+malva_(spotty.cat),4,16,
+malone_(angel_patoo),4,16,
+malodora,4,16,
+malkah_(ahegaokami),4,16,
+malik_(spycies),4,16,
+malfurion_stormrage_(warcraft),4,16,
+male_squirting,0,16,
+male_non-humanoid_animate_inanimate,0,16,
+male_breasts,0,16,
+makura,4,16,
+makootter,1,16,
+maki_hashiba_(character),4,16,
+maka_albarn,4,16,
+majorpiece,1,16,
+maia_(heliofox),4,16,
+magnolia_(shaymin),4,16,
+magma_(sparkpad),4,16,
+magic_wisp,0,16,
+magic_shield,0,16,
+magic_ring,0,16,
+magic_hand,0,16,
+magenta_johnson,4,16,
+magenta-magic,1,16,
+mafuyu,1,16,
+maeve_(paladins),4,16,
+maenchu,1,16,
+mae_(artist),1,16,
+madrik,4,16,
+madeline_(cainethelongshot),4,16,
+madeleine_(skweekers),4,16,
+maddy_(badmatt),4,16,
+macropod_taur,5,16,"macropodid_taur,macropodidtaur,macropodtaur"
+macropod_humanoid,5,16,
+macho,0,16,
+machine_sex,0,16,
+maase,4,16,
+m203,0,16,
+m14,0,16,
+lyupercal_(artist),1,16,
+lythi,4,16,
+lyser,4,16,
+lysargente,1,16,
+lysander,4,16,
+lyndoi_(character),4,16,
+lyla_(nephewly),4,16,
+lying_on_tongue,0,16,
+lxkate,1,16,
+lvlv,1,16,
+luxoh,1,16,
+luxo_jr.,4,16,"luxo_jr,pixar_lamp"
+luxo,3,16,
+luxe,4,16,
+lutra_draconis,5,16,
+luthy,1,16,
+luteplayer,1,16,
+lute_(artist),1,16,
+lusty38,1,16,
+lustronomer,1,16,
+lupin_(sandalinvite),4,16,
+lupe_toucan,4,16,
+lunaticthewabbit,1,16,
+lunaloveslife,4,16,
+luna_santiago_(lildredre),4,16,
+luna_(yuu17),4,16,
+luna_(ucrodevil),4,16,
+luna_(mighty_milky_way),4,16,
+luna_(arbiter6172),4,16,
+lumen_(neytirix),4,16,
+lumana_(capdocks),4,16,
+lula_(leah),4,16,
+lukart96,1,16,
+luka_(disambiguation),6,16,luka
+lucio_(overwatch),4,16,
+lucifur,4,16,
+lucifer_(dante's_inferno),4,16,
+lucienne_(arcana),4,16,
+lucid_mirage,4,16,
+lucas_graciano,1,16,
+lucaloo,1,16,
+low_detail_friend_(zzx),4,16,
+love_sushi,1,16,
+love_in_the_woods,3,16,
+lot_of_cum,0,16,
+losira,1,16,
+losipher,1,16,
+lorenz_(freakyy-dragon),4,16,
+lorena_loveless,4,16,
+loredana,5,16,
+loporeon,0,16,
+loomins,1,16,
+looking_at_watch,0,16,
+looking_at_sheath,0,16,
+looking_at_plant,0,16,
+looking_at_own_hand,0,16,
+lontaring,1,16,
+long_sword,0,16,
+lonely_animation,1,16,
+lolepopenon,1,16,
+logtut,1,16,
+loftwing,5,16,
+locke_(r-a-s-p),4,16,
+lizzardinho,1,16,
+lizielewddle_(character),4,16,
+lizard_slave_girl_(ruaidri),4,16,
+littlepuppet,1,16,
+littleclown,1,16,
+littlebadwolf,1,16,
+little_laughters,3,16,
+little_cartoon,1,16,
+lita_(tekandprieda),4,16,
+lisacat89,1,16,
+lisa_hamilton,4,16,
+lisa_(goblinhordestudios),4,16,
+linus_bechtholdt,4,16,
+lintw,3,16,
+link_hogthrob,4,16,
+link:_the_faces_of_evil,3,16,
+linda_gronyvsky,4,16,
+linda_(code-shark101),4,16,
+lina_inverse,4,16,
+lin_(nekuzx),4,16,
+lilj,4,16,
+liliana,4,16,
+liking,0,16,
+lighter_dong,0,16,
+light_underbelly,0,16,
+light_tentacles,0,16,
+light_df,4,16,
+light_beard,0,16,
+ligax,1,16,
+lif_(lundi),4,16,
+liefeldianabomination,1,16,
+liaua_(giik),4,16,
+liana_(remarkably_average),4,16,
+liam_(hextra),4,16,
+lex_vasili,4,16,
+lewdpunch,1,16,
+lethe_(fire_emblem),4,16,
+leota_(smilingscorpio),4,16,
+leooodh,1,16,
+leoketsal,5,16,
+leo_(itswolvesandowls),4,16,
+lenny_(doomlard),4,16,
+lemeonlemon,1,16,
+leggings_down,0,16,
+leg_holster,0,16,
+leeksaltboy,1,16,
+lee_(character),4,16,
+led,4,16,
+leather_wrist_cuffs,0,16,
+leather_mask,0,16,
+leather_bracer,0,16,
+leash_towards_viewer,0,16,
+leamatt,1,16,
+leafy_(blitza),4,16,
+leaf_nose,0,16,
+leaf_(company),1,16,
+laviniarevolution556,1,16,
+laurlaur,1,16,
+latte_art,0,16,
+latex_goo,0,16,
+late,0,16,
+lasgun,0,16,
+lars_(polarisstar),4,16,
+large_glasses,0,16,
+lap_sex,0,16,
+lanza,4,16,
+lansane,1,16,
+lanmana,1,16,
+lani_(southwind),4,16,
+landorus_(therian_form),5,16,
+lando_(cum_sexer),1,16,
+landmaster,0,16,
+lamsain,4,16,
+lamashtu,4,16,
+lake_halliwell,4,16,
+ladychi,1,16,
+lady_liberty,4,16,
+lady_ann,4,16,
+ladiesman217,1,16,
+lada,3,16,
+lactating_chocolate_milk,0,16,
+l_(doneru),4,16,
+l4rsinator,1,16,
+kyuritizu,1,16,
+kyuna_wolf,4,16,
+kyu_(ashi),4,16,
+kytinn,5,16,
+kyna_(scorpdk),4,16,
+kymera,5,16,
+kvi5v,1,16,
+kuwani,4,16,
+kuso_miso_technique,3,16,kusomiso_technique
+kurt_(rokito),4,16,"kurt_(great_troubles),kurt_(rkt),kurt_(rokitou),kurt_(stardust_kids)"
+kurt_(chris13131415),4,16,
+kurosaki,1,16,
+kuro_(senatorwong),4,16,
+kuro_(doko_demo_issho),4,16,
+kurita,1,16,
+kuo,1,16,gasupatyo
+kuno_(disambiguation),6,16,kuno
+kunei,4,16,
+kumo,4,16,
+kuma_(character),4,16,
+kuja_(final_fantasy),4,16,
+kuitsuku,1,16,
+kuchisake-onna,5,16,kuchisake_onna
+kubikiri,1,16,
+krysi,4,16,
+krowzi,1,16,
+kripps,4,16,
+kria,4,16,
+kresta_(kresta),4,16,
+kreis_(icma),4,16,
+krang,4,16,
+koyot,4,16,
+kowoshake,1,16,
+kovuthehusky,4,16,
+kouga_talbain,4,16,
+kotobuki529,1,16,
+koto_(pixiv_2766446),1,16,
+koshka,4,16,
+koshamain,4,16,
+koros_whitefang,4,16,
+korno,4,16,
+kooriki,1,16,
+konokono,1,16,
+konbon_art,1,16,loodfoks
+kokoro_(doa),4,16,
+kokitsune,1,16,
+koimii,1,16,
+koifishkid,4,16,
+koi_(character),4,16,
+kohaku_(jewelpet),4,16,"amber_(jewel_pet),amber_(jewelpet),kohaku_(jewel_pet)"
+koenigmutt,1,16,
+kodiak_convel,4,16,
+knoxisnotdead,1,16,
+kly,4,16,
+klup,1,16,
+kkkkkkasgai,1,16,
+kiwifeline,1,16,
+kiwi_(potoobrigham),4,16,
+kiwi95,1,16,
+kiw,1,16,
+kivouackian,5,16,
+kitsunia,1,16,
+kitsune_no_kurayami,1,16,
+kitsune_bothan,4,16,
+kisaofthesnow,1,16,
+kisa,4,16,
+kiruk,4,16,
+kirisuto,1,16,
+kinumi_kokuryu,4,16,
+kintari,4,16,
+kinkypinkink,1,16,
+kings_of_hell,3,16,
+kingrusty,4,16,
+king_salmonid,5,16,
+king_hippo,4,16,
+king_(character),4,16,
+kindergarten,0,16,
+kimidori_(nakagami_takashi),4,16,
+kimi_yagami,4,16,
+kilm,5,16,
+killjoy08,1,16,
+killhubi,1,16,
+kiku_(ssu_open),4,16,
+kiittn,1,16,
+kiety,4,16,
+kiefer,4,16,
+kichi,4,16,
+khralzar,1,16,
+khay_(titusw),4,16,
+khajira_(cynthiafeline),4,16,
+kgfantasy,1,16,
+kev_walker,1,16,
+kettle21,1,16,
+ketsu_(taiger),4,16,
+ketikake,1,16,
+ketchup_(animal_crossing),4,16,
+kesong_(diives),4,16,
+keryo_wolfe_(character),4,16,
+kerubero-kun,4,16,
+kersona,4,16,
+kerokamina_(lemur),4,16,
+kenzu,4,16,
+kendo,0,16,
+kendall_collins,1,16,
+kenailykos,1,16,
+kemokko_lovers,3,16,
+kemokemo_bobbob,1,16,
+kemokemo0924,1,16,
+kelly,4,16,
+kello_(mamaubear),4,16,
+keldric_usugi_(fursona),4,16,
+kekani,1,16,
+keith_parkinson,1,16,
+kecafur,1,16,
+keanu_reeves,4,16,
+kdvc,4,16,
+kdd,1,16,
+kazuma_muramasa,1,16,
+kazukio_(character),4,16,
+kazasuzu,1,16,
+kaysi_(manicpandaz),4,16,
+kaylyn_(raichupuppy),4,16,
+kayashima_soru,1,16,
+kayana,4,16,
+kay-kay(kaibawolf),4,16,
+kavan,4,16,
+kattman,1,16,
+katricia,4,16,
+katnappe,4,16,
+katherine_(gorsha_pendragon),4,16,
+katherine_(complex_vortex),4,16,
+kate_lucent_(themeshow101),4,16,
+kate_(theterm),4,16,
+kate_(thechallengeclub),4,16,
+kate_(disambiguation),4,16,kate
+kataokasan,1,16,
+kat_(gravity_rush),4,16,
+kasse,1,16,
+karus,4,16,
+karuge,4,16,
+karma_the_kobold,4,16,
+karla_maria_bustos_soto,4,16,
+karin_nazuna,4,16,
+kariginu,0,16,
+karen_(rar1990),4,16,
+kardas_fox,4,16,
+kantus,4,16,
+kanto05,1,16,
+kano_makoto,1,16,banoakira
+kannon_(donkey_kong),4,16,
+kangaroo_humanoid,5,16,
+kanchal_(interspecies_reviewers),4,16,
+kamu_(kamudragon),4,16,
+kammy_(kammysmb),4,16,
+kaminakirei,1,16,
+kamilia,4,16,
+kamaboko,1,16,
+kalil,4,16,
+kaliera_(koralia),4,16,
+kaliak,4,16,
+kale_(dragondruid),4,16,
+kala_(scrubbed),4,16,
+kala_(petruz),4,16,
+kala_(gummybear_and_friends),4,16,
+kal_(world3nder),4,16,
+kaiser_dragonstro,1,16,
+kaiser_(saintkaiser),4,16,
+kaimee,1,16,
+kai_(nanodox),4,16,
+kahlua_caribou,1,16,
+kaguya_houraisan,4,16,houraisan_kaguya
+kageroh,1,16,
+kaga_(kancolle),4,16,
+kaerukirai_i,1,16,
+kaeku_(character),4,16,
+kaefertaxi,1,16,
+kaede_(tits),4,16,
+kadisurmik,1,16,
+kade_(softscale),4,16,
+kadar,4,16,
+kacey_(lonely_howler),4,16,
+kabuki,4,16,
+kaara,4,16,
+kaahla,4,16,
+ka'zar,1,16,
+k-dra61,1,16,
+jzerosk,1,16,
+jyushimatsu_matsuno,4,16,"jyushimatsu,jyushimatsu_(osomatsu)"
+jynx_hedgefox,4,16,
+jynx_(greg_panovich),4,16,
+jwp,0,16,
+jvbax,1,16,
+justinefox,1,16,
+juri_(yu_yu_hakusho),4,16,
+jurgen_georg,4,16,
+junxiong_0814,1,16,
+junipurr,4,16,
+junior_(puddlepup),4,16,
+junex2,1,16,
+jun_(disambiguation),4,16,jun
+jumbogumbo,1,16,
+juliska,4,16,
+juki_zu,1,16,
+jukan_ace_no.007-4,3,16,
+jublee,1,16,
+jubee_(sqoon),4,16,
+jr_(zeusralo),4,16,
+jp_shibayama,4,16,
+jovia,4,16,
+joseph_corbeau,4,16,
+jordan_(1ceberg),4,16,
+jonathan_alexander,4,16,
+jollibee,3,16,
+johnmigleart,1,16,
+john_harrington,1,16,
+john_(disambiguation),4,16,john
+johan_memoris,1,16,
+jogging_outfit,0,16,
+joey_(cewljoke),4,16,
+joelchan,1,16,
+jobix,4,16,
+jo_(lavenderpandy),4,16,
+jo_(kumammoto),4,16,
+jjfrenchie,1,16,
+jitzu,4,16,
+jinyeon,1,16,
+jinora,4,16,
+jin_(chalo),4,16,
+jimix_cruz,1,16,
+jim-medic-dude,1,16,
+jilocasin,4,16,
+jillian_(aj_the_flygon),4,16,
+jezz,4,16,
+jeza_schal,4,16,
+jettrax,4,16,
+jeto_(jeto_calihan),4,16,
+jessica_(coaster14),4,16,
+jermaine_the_dog,4,16,
+jeremy_(disambiguation),4,16,jeremy
+jeffurr,1,16,
+jeffrey_thomas,1,16,
+jeanned,3,16,
+jean_wayne_tyson,4,16,
+jcthornton,1,16,
+jazzy_(xingscourge),4,16,
+jazzwolf_(character),4,16,
+jazzcafe,4,16,
+jazlion,4,16,
+jay_(jaymutts),4,16,
+jay_(jaykat),4,16,
+jax_(jax_the_bat),4,16,
+jasmine_the_hedgehog,4,16,
+jarreth_(moodyferret),4,16,
+jarp-art,1,16,
+jampantz,1,16,
+jammer,4,16,
+james_and_the_giant_peach,3,16,
+james_(bluepegasi),4,16,
+jambo,1,16,
+jalm,1,16,
+jaller,4,16,
+jalka,4,16,
+jakoon,5,16,
+jake-dragon_(artist),1,16,
+jaiden_(retrohearts),4,16,
+jaiden_(jaiden),4,16,
+jaiden_(finalsalamander),4,16,
+jadedhyrt,1,16,
+jade_moontail,4,16,
+jacqui_(satsumalord),4,16,
+jackie_motidzuki,4,16,
+jack_of_spades,0,16,
+jack_bishop_(character),4,16,
+jac0,4,16,
+jac,4,16,poolhall20
+jabberwocky,5,16,
+j_kee,4,16,
+j.a.m,4,16,
+izzatakiwa,1,16,
+izumi_yoshikazu,1,16,
+iyarashii_kuni_no_alice,3,16,iyarashii_kuni_no-alice
+ivy_(twokinds),4,16,
+ivory_nightrider,4,16,
+ivory_(siden),4,16,
+itspencilguy,1,16,
+itsdhani,1,16,
+itsdetectiveliz,1,16,the-evil-bunny23
+issilora,4,16,
+issac_(potatoflamingo),4,16,
+ishikkoro,1,16,
+ishi,1,16,
+isetaari,4,16,
+isazicfazbear,1,16,
+iron_sunsetscales,4,16,
+iroha_(maroon),4,16,
+iroh,4,16,
+iro_ame_(amewaagada),1,16,
+irish_flag,0,16,
+iris_(luskfoxx),4,16,
+iri_sorrowcaller,4,16,
+irene_(vdisco),4,16,
+irdestheone,1,16,
+irakaz,4,16,
+ioniq_5,3,16,
+ionicisaac,1,16,
+ion7,1,16,
+iokshinka,1,16,
+inuxi,1,16,
+insect_penis,0,16,
+inkboiii,1,16,
+inicka,1,16,
+inflated_balloon,0,16,
+infinite_milk,0,16,
+infested-wraith,1,16,
+ineffective_loincloth,0,16,
+indigoanonymous,1,16,
+indidere,1,16,
+incline_press,0,16,
+in_awe,0,16,
+impractical_clothing,0,16,
+imminent_vaginal_penetration,0,16,
+ikanamay,1,16,
+ignoring_another,0,16,
+ifris_(coc),4,16,ifris_(corruption_of_champions)
+idlehq,1,16,
+ida_huggler,4,16,
+ichthyocentaur,5,16,
+icha-icha,1,16,
+icehawk,3,16,
+iced_tea,0,16,ice_tea
+icecreamtiger,1,16,
+icecreamdraws,1,16,
+ice_horn,0,16,
+ice_block,0,16,
+ibaraki,1,16,
+ia190,1,16,
+i_want_to_believe,3,16,
+i.d.e.k.a,3,16,
+hyusky,4,16,
+hystericalhyena,4,16,
+hyro_soriuki,4,16,
+hyro0o0,1,16,
+hyponova,1,16,
+hyper_smegma,0,16,
+hyper_abs,0,16,
+hyde360,1,16,
+hustenblut,1,16,
+huskyking,1,16,
+hunkahunka,4,16,experiment_323
+hunk_(legendary_defender),4,16,
+hungarian_sheepdog,5,16,"hungarian_sheep_dog,komondor"
+humio,1,16,
+humbird0,1,16,
+human_ears,0,16,
+hugowolf,4,16,
+huglust,1,16,
+hughoftheskies,1,16,
+hugeboss,1,16,
+huge_teres_major,0,16,
+huey_(adios),4,16,
+hshmoto,1,16,
+hrom,1,16,
+howleen_wolf,4,16,
+hot_topic,3,16,
+horusthealtruist,1,16,
+horror_(nuclear_throne),4,16,
+hornyori,1,16,orikomi
+horn_(musical_instrument),0,16,"horn_(instrument),horn_instrument"
+hoppopotamus_(the_wuzzles),4,16,
+hoof_growth,0,16,
+hoodee,1,16,
+honey_kiss_(character),4,16,
+honey_gel,4,16,
+honey_(mao_mao:_heroes_of_pure_heart),4,16,"honey_(heroes_of_pure_heart),honey_(mao_mao),honey_(mao_mao_heroes_of_pure_heart)"
+honey_(ever700),4,16,
+homri,1,16,
+holo_eden,1,16,
+holly_cipher,4,16,
+holly_(lunaris_parukia),4,16,
+holly_(elpatrixf),4,16,
+holly_(character),4,16,
+hollryn,4,16,
+holding_wallet,0,16,
+holding_goblet,0,16,
+holding_by_neck,0,16,
+hokromaki,1,16,
+hivrya,4,16,
+hispanic,0,16,
+hirona,4,16,
+hime_cut_(character),4,16,
+himbo_reuben,0,16,
+hilde_(creatiffy),4,16,
+high_tights,0,16,
+hide_(disambiguation),6,16,hide
+hiccupby,1,16,
+hi_five_ghost,4,16,
+hexacult_(character),4,16,
+hevy_(character),4,16,litten_(hevymin)
+hetare,4,16,
+hershel_dweller_(jagged),4,16,
+heroin,0,16,
+hero_neisan,1,16,
+herms85,1,16,
+herissmon,5,16,
+henryisraptor,1,16,
+henry_squirrelman,4,16,
+help!_i'm_a_fish,3,16,
+hellstorm,4,16,
+hekk,1,16,
+heithingur,4,16,
+hector_(gearfox98),4,16,
+heavyweight_animation_physics,0,16,
+hearts_desire,4,16,
+heartless_symbol,0,16,
+hearter_(heartermobs),4,16,
+heart_crop_top,0,16,
+heart_bulge,0,16,
+heart_bottomwear,0,16,
+healing_vore,0,16,
+heads,0,16,
+head_on_table,0,16,
+head_explosion,0,16,
+head_covering,0,16,
+head_board,0,16,
+hbnoob,1,16,
+hazelnut_yui_(hazelkisses),4,16,
+hazel_verday,4,16,
+hazel_(fufila321),4,16,
+hayseed_turnip_truck_(mlp),4,16,
+hawtlava,1,16,
+havoc_(im_havociy),4,16,
+havick_(artist),1,16,
+hauoli47,1,16,
+hatsuga,1,16,
+hathy,5,16,
+hathor,4,16,
+haruthedog,1,16,
+harukaze110,1,16,
+haruhixros,1,16,
+haru_(kanevex),4,16,
+haru_(huffslove),4,16,
+harse_(whimsicalsquirrel),4,16,
+harryelpanda,1,16,
+harley_(jesarux),4,16,
+happy_eyes,0,16,
+happy_(dogs_in_space),4,16,
+hanging_by_ankles,0,16,
+handsockz,1,16,
+hands_over_eyes,0,16,
+hands_on_hands,0,16,
+hand_wound,0,16,
+hand_under_breasts,0,16,
+hand_over_crotch,0,16,
+hand_on_collar,0,16,
+hand-feet,0,16,
+hanariel,1,16,
+hamster_(hamsteroftime),4,16,
+halfworlder,5,16,
+halationart,1,16,
+haiae,1,16,
+haghard,1,16,
+hagen,4,16,
+hacho,1,16,
+gyokuto_(tee_k.o.),4,16,
+gynomorph/female/gynomorph,0,16,
+gwen_quy_hoa,4,16,
+guyver,3,16,
+guyinslippers,1,16,
+gusty8787,1,16,
+gurgling_noise,0,16,
+gun_smoke,0,16,
+gummisputter,1,16,
+guchico,1,16,
+guardrail,0,16,
+gryll,4,16,
+gruntus,4,16,
+grocery,0,16,
+grinellda_(coc),4,16,
+grim-owl,1,16,
+grigori_(artist),1,16,
+griffinphillis,1,16,
+grid_floor,0,16,
+greywolfnsfw,1,16,
+greygarou_(artist),1,16,
+grey_sofa,0,16,"gray_couch,gray_sofa,grey_couch"
+grey_leggings,0,16,gray_leggings
+grey_langur,5,16,gray_langur
+grey_cloak,0,16,
+grey_chastity_cage,0,16,gray_chastity_cage
+grey_chair,0,16,
+grey_bow,0,16,gray_bow
+greisen,1,16,
+gregory,4,16,
+greg_(disambiguation),4,16,greg
+greenmonkey_(character),4,16,
+greenland_shark,5,16,
+green_whiskers,0,16,
+green_roon_(character),4,16,
+green_latex,0,16,
+green_kco,1,16,
+green_iguana,5,16,american_iguana
+green_bowtie,0,16,
+green_beanie,0,16,
+green_apple,0,16,
+great_fox,0,16,
+greasedmonkey,1,16,
+grayson_(air_bound),4,16,
+grayish,1,16,"grayish_(artist),grayishdraws,grayishdraws_(artist)"
+gray_meadows,4,16,
+gravity_hammer,0,16,
+graveyards,1,16,
+gravel_(arknights),4,16,
+gravel,0,16,
+graphite,0,16,
+grapefruit,0,16,
+granny_fricker,1,16,
+grabbing_railing,0,16,
+gothic_lolita_with_dragon,3,16,
+gothgoblin,1,16,
+gorrister,1,16,
+gorilla_grodd,4,16,
+gordon_shumway,4,16,
+gooeygaster,1,16,gemfuzz
+goo_in_mouth,0,16,
+gomi_(gomitin),1,16,
+gomez_addams,4,16,
+goldie_(delta.dynamics),4,16,
+golden_kamuy,3,16,
+goldar,4,16,
+gold_watch,0,16,
+gold_heels,0,16,
+gold_ears,0,16,
+gold_bell,0,16,
+gol,4,16,
+gokong_bull,5,16,
+gojiro7,1,16,
+goggles_on_face,0,16,
+godzilla_1998,3,16,
+goddess_dracoona,4,16,
+goblin_slayer_(character),4,16,
+goatwithsauce,1,16,
+gmodpon-e,1,16,
+gluneria_fullin,4,16,
+glowing_tail_tip,0,16,
+glowing_screen,0,16,
+glowing_milk,0,16,
+glowing_feet,0,16,
+gloved,0,16,
+glistening_panties,0,16,shiny_panties
+glistening_muscles,0,16,
+glistening_headphones,0,16,
+glawin,4,16,
+glamrock_foxy_(fnaf),4,16,
+glaice,4,16,
+giulia_marcovaldo,4,16,
+gitch,4,16,
+gisela,4,16,
+gir_(invader_zim),4,16,
+gio_el33,1,16,
+gingersnaps,4,16,
+ginger_fur,0,16,
+ginger_feathershy,4,16,
+ginger_(oddbaillie),4,16,
+ginga_densetsu_riki,3,16,
+gin_sanada_(character),4,16,
+gill_fingering,0,16,
+gideon_hoss_(gideon),4,16,
+gfount,1,16,
+gewalt,1,16,
+geva,4,16,
+gestal,4,16,
+gerroodie,1,16,
+gerra,4,16,
+gerard_manesworth,1,16,
+gerard_burn,1,16,
+george_floyd_protest,3,16,
+geoff_(kemono_friends),4,16,"geoffroy's_cat_(kemono_friends),geoffroys_cat_(kemono_friends)"
+geo_wolf,4,16,
+gentlemen,3,16,
+gensuke,1,16,
+genryuusai,4,16,
+genital_fluids_on_penis,0,16,
+genital_fluids_on_own_penis,0,16,
+genital_close-up,0,16,
+genderplay,0,16,
+gem_(ballad),4,16,
+geigra,5,16,
+geico_gecko,4,16,
+gee_cupcake,4,16,
+gear_(gearslavehorse),4,16,
+gazimondefense,1,16,
+gaze_(artist),1,16,
+gaudibuendia,1,16,
+gathering_power,0,16,
+gash_(thegreatmatsutzu),4,16,
+garuda_(warframe),4,16,
+garet_farendan,4,16,
+garcelle_(reign-2004),4,16,
+garbonzobear,1,16,
+garbear,1,16,
+gamta,4,16,
+gaming_bet,0,16,
+gambian_pouched_rat,5,16,
+galdelic,1,16,
+gaius_baltar,4,16,
+gaia,4,16,
+gaelstrom_valence,4,16,
+gabrieel_thewphaingarm,4,16,
+gable,1,16,
+gaben_(infinitydoom),4,16,
+gabby_mcstabberson,4,16,
+gaatofuu,1,16,
+gaaranear,1,16,
+g_fuel,3,16,
+g.river,1,16,
+g'raha_tia,4,16,
+g'nisi,4,16,
+fuzzy_dice,0,16,
+fuyuki_(kimacats),4,16,
+futzi01,1,16,
+furry_dude69,1,16,
+furry-specific_jewelry,0,16,
+furgeon,3,16,
+furancis_(furry_force),4,16,
+fur_bikini,0,16,
+funtime_cupcake_(fnaf),4,16,
+fully_clothed_human,0,16,
+fukari,1,16,
+fukami_retsu_(gekiranger),4,16,
+fugofuga,4,16,
+fugaku_(pixiv),1,16,
+fuegodelalma,1,16,
+fucked_unconscious,0,16,
+fubuki_(rushthewolf),4,16,
+fruit_slice,0,16,
+frozarcold,1,16,
+frowney_face,0,16,
+frostnova_(arknights),4,16,
+froid_frostpocket_(deepfriedlasereyes),4,16,
+fringecore,1,16,
+frilly_bottomwear,0,16,
+frenzy,4,16,
+fremder,4,16,
+freja_(amakuchi),4,16,
+freezy_tailrazor,4,16,
+freedom_games,3,16,
+freeclaw,4,16,
+freakuency,4,16,
+fraternal_twins,0,16,
+frankie_watterson,4,16,
+frankenstein_costume,0,16,
+francisca_valero,4,16,
+foxy_pyro,4,16,
+foxsnacks,1,16,
+foxlau,1,16,
+foxboy83_(character),4,16,
+forthington,4,16,
+forshu,1,16,
+forgon,4,16,
+forgetch,1,16,
+foreseth_(character),4,16,
+forced_cum_expulsion,0,16,
+fopsyfoxy,1,16,
+food_cart,0,16,
+fn_scar,0,16,
+flyssa_(altharin),4,16,
+flying_fish,5,16,
+flurry_(character),4,16,
+flurfuchs,1,16,
+fluorescent,0,16,
+fluffy_panther,4,16,
+flow,4,16,
+floral_swimwear,0,16,
+flora_(scottykat),4,16,
+floofy_tail,0,16,
+floating_tail,0,16,
+floating_legs,0,16,
+flir_(reindeer),4,16,
+flipper_and_lopaka,3,16,
+flipface4,3,16,
+flat_spin,4,16,
+flasker,1,16,
+flarefox,1,16,
+flani,4,16,
+flaming_back,0,16,
+flakjackal,1,16,
+fitz_cadrey,4,16,
+fisk_(angry_cat),4,16,
+fishnet_tailwear,0,16,
+fishnet_leotard,0,16,
+firrothe,4,16,
+firefly_lamp,0,16,firefly_lantern
+fire_emblem_path_of_radiance,3,16,
+firaxalos,4,16,
+fingers_on_leg,0,16,
+finder_(lilo_and_stitch),4,16,"experiment_158,finder_(l&s),finder_(las),finder_(lilo_&_stitch),finder_(stitch)"
+finamuw,1,16,
+finalflight,1,16,
+filling_up,0,16,
+figlock,4,16,
+fightstick,0,16,
+fightinlove,1,16,
+fighting_is_magic,3,16,
+field_(character),4,16,
+feyrin,4,16,
+fexa_stem,5,16,
+feuriah,4,16,
+fetch_with_ruff_ruffman,3,16,
+festifuss,1,16,
+ferroth,1,16,
+ferric_(oblong_pomegranate),4,16,
+ferran_baker,4,16,
+ferolux_(character),4,16,
+fernandlp,1,16,
+fergurina,4,16,
+fenris_high,3,16,
+fenrir_shino,1,16,
+fen_the_dewott,4,16,
+felix_tile_the_cat,1,16,felixtilethecat
+felix_(binturongboy),4,16,
+felidae_(film),3,16,
+felicia_banks,4,16,
+feifei,4,16,
+feher_(feher),4,16,
+feeling_chest,0,16,
+feedtheboss,1,16,
+fecto_forgo,4,16,
+feces_on_anus,0,16,
+fdisk,4,16,
+faydra_(neoshark),4,16,
+fawks_silvarin,4,16,
+faun_(wartorn),5,16,
+fates_of_the_unicorns,0,16,
+fatbatdaddycat,1,16,
+fasha,4,16,
+farrah_(zeekzag),4,16,
+farorest,1,16,
+far_cry_5,3,16,
+fappy_(character),4,16,
+fapin,1,16,
+fantina_(pokemon),4,16,fantina_(pokémon)
+fanservice_fox,4,16,
+famicom_controller,0,16,
+falcore_rigo,4,16,
+faith_(floppingshark),4,16,
+fairyfud,1,16,
+fairbank,4,16,
+fadri,1,16,
+facial_expression,0,16,
+faceoff,0,16,
+face_in_sheath,0,16,
+face_in_shadow,0,16,
+f_(doneru),4,16,
+eye_veins,0,16,
+eye_ridges,0,16,
+exposed_breast_tissue,0,16,
+exotica,4,16,
+exoskellet,1,16,
+exodus_the_emperor,4,16,
+exepresso,1,16,
+exam_room,0,16,
+evilenchantress,1,16,
+evil_con_carne,3,16,
+evie_(ninon),4,16,
+ever_given,4,16,
+evelyn_(pazymomo),4,16,
+evanight,1,16,
+eva_earlong,4,16,
+eurasian_tree_sparrow,5,16,
+eugene_(flick),4,16,
+ethan_the_lizard,4,16,
+etching,0,16,
+essy_ferguson,4,16,
+esearu,1,16,
+erudier,1,16,
+ernest_penfold,4,16,
+erisa,4,16,
+eris_(finitez),4,16,
+erin_english,1,16,
+erin_daedricon,4,16,
+erin_(stargazer),4,16,
+erika_valentine,4,16,
+erik_cooper,4,16,
+erica_(tonytoran),4,16,
+erica_(dehelleman),4,16,
+erez_(rmwx),4,16,
+er,0,16,
+equi,0,16,
+epic_fail,0,16,
+entitropy,1,16,
+entelodont,5,16,entelodontid
+enola_(mlpboxing),4,16,
+enir,1,16,
+english_springer_spaniel,5,16,
+enema_pump,0,16,
+endless_space_2,3,16,
+enderselyatdark,1,16,
+en,4,16,
+empress_(artist),1,16,
+emphatic_sound_effects,0,16,
+emperorneuro,1,16,
+emmy_the_robot,3,16,
+emma_(xavierwolf),4,16,
+emma_(machattack),4,16,
+eminem,4,16,
+emerallis,4,16,
+emerald_ink,4,16,
+emerald_(makemon),4,16,
+emerald_(character),4,16,
+ember_(snowviper),4,16,
+emanuela_(dragonmaster2653),4,16,
+elvis_impersonator,0,16,
+elsa,4,16,
+eloise_corduroy,4,16,
+elodie,4,16,
+elly_(wolfelysia),4,16,
+elliot_(zp92),4,16,
+elliot_(strawkitty),4,16,
+elizabeth_malmsteen,4,16,
+elizabeth_(jmf),4,16,
+elita-one,4,16,
+elise_(omniman907),4,16,
+eligecos,1,16,
+elias_(adyrtityger),4,16,
+eletricity,0,16,
+elentari_(el_senor_erizo),4,16,
+electra_(chimangetsu),4,16,
+elbow_sleeves,0,16,
+elberik_(elberik),4,16,
+elakan,1,16,
+ekuboon,1,16,
+eko,4,16,
+eina_(character),4,16,
+egypturnash,1,16,
+eggplant_nacl,1,16,
+eggerland,3,16,
+egg_sack,0,16,
+egg_mobile,0,16,
+eevachu,1,16,
+eee,0,16,
+edward_(srmko),4,16,
+edukart21,1,16,
+edouard_elrich,4,16,
+edith_marshall_(pirin-apex),4,16,
+edith_(laxleo),4,16,
+edimay,1,16,
+ed_shapeshifter,1,16,
+ed_(pepperchan),4,16,
+eclosya_(elysios),4,16,
+echinozoan_humanoid,5,16,
+echelon_kayari,4,16,
+eating_(activity),0,16,
+earthshine,4,16,
+earlybird,1,16,
+ear_head,0,16,
+e-why,1,16,
+dzel_(artist),1,16,
+dynomutt_dog_wonder,3,16,
+dyna_blade_(species),5,16,
+dyna_blade,4,16,
+dylan_hafertepen,4,16,
+dydoe_piercing,0,16,
+duty_(linyxart),4,16,
+dutch_(cadaverrdog),4,16,
+dustyfoxy,4,16,
+dustyangart,1,16,
+dusty_fox,4,16,
+dustin_(zeromccall),4,16,
+dust_werehyena,4,16,
+dusk_(maw-malice),4,16,
+duoduoduo,1,16,
+duo_theus,4,16,
+dunkin'_donuts,3,16,
+dungeon_island,3,16,
+duna_nichs,4,16,
+dulce_isis,1,16,
+duke_doberman,4,16,
+duduk,5,16,
+dudey_101,1,16,
+duchess_(housepets!),4,16,
+dubstep,0,16,
+dtiberius,1,16,
+drust,4,16,
+drops,4,16,
+drognarus,4,16,
+drizzler_(splatoon),5,16,
+drizer,1,16,
+drigon,1,16,
+driftwood,0,16,
+dreycothewyrm,1,16,
+dreemurr_skelememer,1,16,
+dreaming_dusk,1,16,
+drayven_alder,4,16,
+drap,4,16,
+dranixparemoon,1,16,
+drakesapphire,4,16,
+drake_griffin,4,16,
+dragov,4,16,
+dragonpone,1,16,
+dragonoid_(bakugan),5,16,
+dragonlord_(dragon_form),4,16,
+dragon_moray,5,16,"dragon_moray_eel,leopard_moray,leopard_moray_eel"
+dragon_kazooie,4,16,
+dragon_enigma,4,16,
+dragibuz,1,16,
+draekos_(character),4,16,
+draco_cretel,4,16,
+drackhan_nakrehz,4,16,
+dra,4,16,
+dr._erika_cane,1,16,"dr-cane,dr_erika_cane,erika_cane"
+downbutton,4,16,
+doujinpearl,1,16,
+double_team,0,16,
+double_dragon,3,16,
+dory_(finding_nemo),4,16,
+dorje,4,16,
+dopple_(oc),4,16,
+dopephish,1,16,
+donnadoll18,1,16,
+don't_stop,0,16,
+dok-tah,1,16,
+dohade,1,16,
+doguu,1,16,
+doctorbotspank,1,16,
+doctor_papaya,4,16,
+doctor_glitch_characters,0,16,
+dmv_pig_(zootopia),4,16,
+dk_741,1,16,
+dizzie,4,16,
+dita_(olexey_oleg),4,16,
+distorted_speech_bubble,0,16,
+disney_channel,3,16,
+dishwasher1910,1,16,
+discount_price,0,16,
+discarded_shorts,0,16,
+discarded_armor,0,16,
+dirk_axolonso,4,16,
+director's_chair,0,16,
+dina_(salty_nebula),4,16,
+dimpster,1,16,
+dilfcanine,4,16,
+dildo_penetrating,0,16,
+digitan_(porforever),4,16,
+diego_(poulet-7),4,16,
+dieff_(nexus),4,16,
+dibeyku,1,16,
+diane_(lemendigogoat),4,16,
+dhui,1,16,
+deztyle,1,16,
+deyogee,1,16,
+devin-da-husker,4,16,
+develon_(bubble_bobble),4,16,
+detailed_painting,0,16,
+dessa,4,16,
+desmona,4,16,
+desira_(tobicakes),4,16,
+desertstar668,1,16,
+derrick_haster,4,16,
+derpyharpy,1,16,
+derose,1,16,
+denton_(extra_duty),4,16,
+denotec,1,16,
+dennyhooves,1,16,blu3berry_muffin
+denise_dixon_(character),4,16,
+demokratis,1,16,
+demitri_art,1,16,
+demi-fiend,4,16,"demi_fiend,demifiend,hitoshura"
+delta_hooves,4,16,
+delion_kiaw,1,16,
+del.e.ted_(character),4,16,
+dejected,0,16,
+deivi_dragon,4,16,
+deimos-remus,1,16,
+deimanca,4,16,
+deggy,4,16,
+deeso,4,16,
+deepbluefox,1,16,
+deedeelapin,4,16,
+decker_o'reilly,4,16,
+debushachi_(bake_gosut),4,16,
+debbie_(worldf0x),4,16,
+deathdream,1,16,
+deathalice,1,16,
+death's-head_hawkmoth,5,16,"death's_head_hawkmoth,deaths-head_hawkmoth,deaths_head_hawkmoth"
+dcpip,1,16,
+dchooi,1,16,
+dcau,0,16,
+dawson_(d4wson),4,16,
+dauxycheeks,1,16,dauxyfiles
+datfur,1,16,
+datblangry,1,16,
+dasyuromorph_humanoid,5,16,
+daskun,1,16,
+darris,4,16,
+darky_(darkdraconica),4,16,
+darktief,1,16,
+darkstalker_(wof),4,16,
+darkeiya,1,16,
+dark_thigh_boots,0,16,
+dark_taranza,4,16,
+dark_sonic,4,16,
+dark_forest,0,16,
+dark_bodysuit,0,16,
+darius_nifflehiem,4,16,
+dariana_(quetzaly),4,16,
+daria_(tunesdesu),4,16,
+daram,1,16,
+danzer_(reptilligator),4,16,
+dantem_(character),4,16,
+dante_jacques,4,16,dante_(skidd)
+danny_the_salamander,4,16,
+danjira,4,16,
+danielle,4,16,
+daniella_(doctordj),4,16,
+daniel_sabin,1,16,
+daniel_king,4,16,
+dania_(zhanbow),4,16,
+dani3019,1,16,
+dango_ya,1,16,
+dane_lockhart,4,16,
+damonwolf,4,16,
+damon_(damon3d),4,16,
+damian_(piercingnightfall),4,16,
+damascus,4,16,
+dallas,4,16,
+dakkar107,1,16,
+dakamor,4,16,
+dajae,4,16,
+daiyousei,4,16,
+daisy_the_donkey,4,16,
+daisy_(zer0rebel4),4,16,
+daisukebear,1,16,
+dainichi,4,16,
+dagar_(ludwig_bullworth_jackson),4,16,
+daerevmiir,4,16,
+daddy_dearest_(fnf),4,16,
+d_body,0,16,
+d-art,1,16,
+cynthia_(behniis),4,16,
+cylnx,1,16,
+cyclops_(marvel),4,16,
+cycilla,4,16,
+cyberrodrigo,1,16,
+cyber_(stitch!),4,16,"cyber_(l&s),cyber_(las),cyber_(lilo_&_stitch),cyber_(lilo_and_stitch),cyber_(stitch),experiment_000,experiment_zero"
+cutting_clothing,0,16,
+curtained_hair,0,16,
+cupcakesponyazz,1,16,
+cupcakesnstuff,1,16,
+cum_through_panties,0,16,
+cum_on_camera,0,16,
+cum_on_bulge,0,16,
+cum_in_nostrils,0,16,
+cum_in_abdomen,0,16,
+cryptozoology,0,16,
+cryptin,1,16,
+cryophoenix,5,16,
+crowmatose,1,16,
+crow_t._robot,4,16,
+crotchless_leotard,0,16,
+crossed_equestria,3,16,
+crossbow_bolt,0,16,crossbow_bolts
+crocodile_clip,0,16,
+crimsonoutlands,1,16,
+creamycat,1,16,
+creamin_peaches,1,16,
+crazydonkey,1,16,
+craine_(zerk),4,16,
+craft_rabbit_(artist),1,16,
+crab_(pixiv_id_12272845),1,16,
+cousin_and_cousin,0,16,
+courtney_(dmitrys),4,16,
+courtesyart,1,16,
+country_bear_jamboree,3,16,
+cotton_(f0xb0y),4,16,
+cosmokokshwa,1,16,
+correggio,4,16,
+corona_cummins_(thechavicgerman),4,16,
+coromon_(series),3,16,
+coromon,5,16,
+corgz,1,16,
+corgidile,5,16,
+coraline_(kikokitty),4,16,
+cooper's_hawk,5,16,"big_blue_darter,quail_hawk,striker_hawk,swift_hawk"
+coolyiffer,1,16,
+cookie_cat,4,16,
+conrad_jotkowski_(coyotek),4,16,
+conop-8888,1,16,
+connor_(domin8ter225),4,16,
+conner_(sketchytoasty),4,16,
+conner_(eldiman),4,16,
+conjoined_at_butt,0,16,
+conga_line,0,16,
+conformitywhore,1,16,
+confederate,0,16,
+condom_packet_strip,0,16,
+condom_dispenser,0,16,
+computer_olympics,1,16,
+comical,0,16,
+comet_(bronson_twist),4,16,
+colucolu,1,16,
+collin_(tokifuji),4,16,
+cole_kennecott,4,16,
+coin_flip,0,16,
+coiling_self,0,16,
+codythefennec,1,16,
+cockwaffle,4,16,
+cocamo,4,16,
+cobbled,0,16,
+cobalt_(fidchellvore),4,16,
+clyde_(o.rly),4,16,
+clutching_stomach,0,16,
+cluelewd,1,16,
+clubette,4,16,
+clovershroom,1,16,
+cloudxmoe,1,16,
+cloud_(breakingcloud),4,16,
+clothed_female_nude_ambiguous,0,16,"cfn?,n?cf"
+clothed_ambiguous_nude_female,0,16,"c?nf,nfc?"
+clivef,1,16,
+clitoris_pull,0,16,
+clippit,4,16,clippy_(office_assistant)
+clawing_wall,0,16,
+clawblr,1,16,
+claw_(world_flipper),4,16,kuro_(world_flipper)
+claude_(disambiguation),6,16,claude
+claire_(spikedmauler),4,16,
+clacking,0,16,
+citemer,1,16,
+cindy_barnetta,4,16,
+cindi_savaan,4,16,
+cilan_(pokemon),4,16,cilan_(pokémon)
+cigua,1,16,
+cigarette_kitty,1,16,
+cicada_block,0,16,"semi-don,semi_don"
+churro,0,16,
+chungu,4,16,
+chuck_(adios),4,16,
+chrosswaffle,1,16,
+chrome_(felino),4,16,
+chroma_(warframe),4,16,
+chroma,4,16,
+christine_delfaux,4,16,
+chouboy,1,16,
+chocolate_heart,0,16,
+chocolate_covered,0,16,
+chocolate_(glacierclear),4,16,
+chloe_wehn,4,16,
+chloe_(resua),4,16,
+chloe_(hunglee),4,16,
+chiti_the_chiti,1,16,
+chita,4,16,
+chisa_(durlead),4,16,
+chiropteradaemonicus,1,16,
+chio,1,16,
+chinook_(cuphead),4,16,
+chimeranira,1,16,
+children's_book,0,16,
+chickenhare_and_the_hamster_of_darkness,3,16,
+chibimu,1,16,
+chibi_totoro,4,16,
+chest_horn,0,16,
+chest_freckles,0,16,
+chernabog,4,16,
+chenler,4,16,
+chen_(chubbachunks),4,16,
+chen_(cherrikissu),4,16,
+cheezi,4,16,
+cheewuff,5,16,
+cheek_marks,0,16,
+checkers,0,16,
+cheche,1,16,
+chaz_dono_and_friends,3,16,
+chaz_(kihu),4,16,
+chaurus,5,16,
+charmcaster,4,16,
+charlotte_(raydio),4,16,
+charliechomp,1,16,
+charlie_(xotjr257),4,16,
+charles_ramirez,4,16,
+charlatan-of-doom,1,16,
+charging_up,0,16,
+character_sheet_(rpg),0,16,
+chapter_two_creations,0,16,
+chanting,0,16,
+chameleon_tail,0,16,
+chaiyufener,1,16,
+chadzime,1,16,
+cervidian94,1,16,
+cerv_the_rat,4,16,
+cereal_bowl,0,16,
+cerberus_(housepets!),4,16,
+cerberus_(hades),4,16,
+celsty,1,16,
+cell_proliferation,0,16,
+celibatys,1,16,
+celestialoddity,1,16,
+celestia_(fvt),4,16,
+celeste_(xinnova2),4,16,
+cedric_(suutooroo),4,16,
+cazador_(fallout),5,16,
+cawkbox,1,16,"cawkbox_(artist),squawk-box,squawk-box_(artist),sqwkbx,sqwkbx_(artist),sqwkdraws,sqwkdraws_(artist)"
+catsuit_(disambiguation),6,16,catsuit
+cats_vs._cucumbers,3,16,
+cats_attacks!,3,16,
+catflower,1,16,
+catcall,0,16,
+cat78952,1,16,
+castration_threat,0,16,
+casting,0,16,
+cassanya_(eddiew),4,16,
+cassandra_(koveliana),4,16,
+cashumeru,1,16,
+cashmere_goat,5,16,
+casey_(bagelcollector),4,16,
+cas_(casvoiceacts),4,16,
+carter_(carterthedeer),4,16,
+carrymeow,1,16,
+carrie_(buttblenderer),4,16,
+caroline_bellanoir,4,16,
+caroline_(aj_the_flygon),4,16,
+carol_(sagestrike2),4,16,
+caro_(dryden),4,16,
+carneline_(kaiju_paradise),4,16,
+carl_clover,4,16,
+caressing_breasts,0,16,
+cardinal-tanager,5,16,"cardinal_tanager,paroaria"
+caramell_sundoffe,4,16,
+caramel_(shiro_snep),4,16,
+cara_becker,4,16,
+car_destruction,0,16,
+car_collision,0,16,
+captain_hook,4,16,
+capsut,1,16,
+capitalism,0,16,
+caoimhe,4,16,
+canvy_(artist),1,16,
+cantershirecommons,1,16,
+cannifilic,1,16,
+candyproto,1,16,candy_protogen
+candy_the_mommy_tigress,4,16,
+candice_(bundadingy),4,16,
+candi,4,16,
+camila_(cosia),4,16,
+cameron_wilson,4,16,cameron_(arches)
+cameron_(psychpsyo),4,16,
+cameo_(javeloz),4,16,
+cambion,5,16,
+camaris,4,16,
+calvin_sable,4,16,
+calvin_(typedude),4,16,
+calurio,1,16,
+cally_b,1,16,
+callnsfw,1,16,
+calibos,1,16,
+calena,1,16,
+cakenameless,1,16,
+cailey_steud,4,16,
+caballeron_(mlp),4,16,"caballeron,doctor_caballeron,doctor_caballeron_(mlp)"
+cab_(toomuchdynamite),4,16,
+c_(doneru),4,16,
+c3rmen,1,16,
+c.q._cumber,4,16,cq_cumber
+c-virus_mutant_(resident_evil),5,16,
+buzz_bomber,5,16,
+bushi,5,16,
+burger_lingerie,0,16,
+buns_rabbot,4,16,
+bunnyman,4,16,
+bummerdude,1,16,
+bulveetox,1,16,
+bullethoundx,1,16,
+bullet_holes,0,16,
+bulging_thighs,0,16,
+bulge_kiss,0,16,
+bulge_(artist),1,16,
+bulborb,5,16,
+buissonrenard,1,16,
+bughemoth,1,16,
+bucky_badger,4,16,
+buck_(icehawk),4,16,
+bubbles_rosechu,4,16,
+bubble-t,1,16,
+bubba_varmint,4,16,
+bu_(milkytiger1145),4,16,
+bryant_(adam_wan),4,16,
+brutus_(whimsicalsquirrel),4,16,
+brute_tigrex,5,16,
+brutamod,1,16,
+bruno_dondurma,4,16,
+brun_(armello),4,16,
+bruised_stomach,0,16,
+brownbunny,4,16,
+brooklyn_nine-nine,3,16,
+brookin,4,16,
+brooke_(luvbites),4,16,
+brooke_(lunarkeys),4,16,
+bronto_burt,5,16,
+broken_pencil,0,16,
+brody_abel,4,16,
+brine,4,16,
+brilis,1,16,
+brightchimeradragon,1,16,
+bridgette_(partran),4,16,
+bridget_malcolm_(lildredre),4,16,
+bridgecat,1,16,
+briannacherrygarcia,1,16,
+brian_the_sylveon,4,16,
+bremen,4,16,
+breeze_the_chameleon,4,16,
+breeding_post,0,16,
+breed_of_calamity,5,16,the_breed_of_calamity
+breb_(tsavo),4,16,
+breath_sound,0,16,
+breasts_on_face,0,16,
+breast_on_head,0,16,
+breaking_in,0,16,
+brass_(artist),1,16,
+brasive,1,16,
+brandy_(inuzu),4,16,
+brandon_(nb),4,16,
+brainfuck,0,16,
+boysa_228,1,16,
+boxus,4,16,
+box_(gloveboxofdoom),4,16,
+bowerbird,5,16,
+bow_clothing,0,16,
+bound_ears,0,16,
+bouncing_hair,0,16,
+bounce_house,0,16,
+boulders,0,16,
+bosssergal,4,16,
+bootleg,3,16,
+boob_hug,0,16,
+boob_bailin,0,16,
+bonnie_(swinging),4,16,
+bonnie_(speeds),4,16,
+bonika_(bonifasko),4,16,
+bones_in_cum,0,16,
+bolt_bunny,4,16,
+bolero,0,16,
+boilerroo,1,16,kettle_(artist)
+boiler,0,16,
+bohrok,5,16,
+boederman,1,16,
+body_in_ass,0,16,
+bobbi,4,16,
+boarwhore,1,16,
+blumb,1,16,
+blugloo,4,16,
+bluffings,5,16,
+blueshift_(novawolfy),4,16,
+blues4th,1,16,
+bluemette,4,16,
+blue_tights,0,16,
+blue_stream,4,16,
+blue_sneakers,0,16,
+blue_chastity_cage,0,16,
+blsh,1,16,
+blood_on_head,0,16,
+blood_from_wound,0,16,"bleeding_gash,bleeding_wound"
+blocked_orgasm,0,16,
+bloating,0,16,
+bleddyn,4,16,
+blazewing117,1,16,
+blaze_(disambiguation),4,16,blaze
+blake_(saltedcaramelfox),4,16,
+blake_(gasaraki2007),4,16,
+blaize_(blaizedew),4,16,
+blackprincebeast,1,16,
+black_sweatshirt,0,16,
+black_jaguar_(kemono_friends),4,16,black_panther_(kemono_friends)
+black_haku_(yasser),4,16,
+black_flower,0,16,
+black_and_pink,0,16,pink_and_black
+bjyord_(fursona),4,16,
+bixbytes,1,16,
+bitshift,1,16,
+biting_own_hand,0,16,
+bishopi,1,16,
+bishop,0,16,
+biscuits_(artist),1,16,
+biscuit_(aennor),4,16,
+birth_control,0,16,"contraceptive,fertility_control"
+birdbf,1,16,
+bird_bath,0,16,
+bioniclechicken,1,16,
+bioluminescent_tongue,0,16,
+bing_dwen_dwen,4,16,
+bimbo_(character),4,16,
+billy_(fredek666),4,16,
+billie_(pinky_and_the_brain),4,16,
+biko97,1,16,
+bikini_top_only,0,16,
+bigdogenzo,1,16,
+big_tuft,0,16,
+big_text,0,16,
+big_sis_(artist),1,16,
+big_scalenes,0,16,
+big_mama_(razy),4,16,
+big_forehead,0,16,
+bifurcation,0,16,
+bifurcated_penis,0,16,
+bianka,1,16,
+bg,1,16,
+beyra_kusovai,4,16,
+bewitching_yuumi,4,16,
+betta_humanoid,5,16,
+beth_cavener_stichter,1,16,
+beth_(keeb),4,16,
+beta_yoshi,5,16,
+besty_(character),4,16,
+besitius,4,16,
+beryl_(fvt),4,16,
+bert_(tolok),4,16,
+berry_(tokifuji),4,16,
+bernice_florence_hufnagel_(duckman),4,16,
+bern,4,16,
+beohaze,1,16,beohaze_(artist)
+benten_(tas),4,16,
+benny_(toomuchdynamite),4,16,
+benki_wars,3,16,
+ben_(lafontaine),4,16,
+bellows,0,16,
+bellfa,1,16,
+bellend,1,16,
+bell_bottoms,0,16,
+belisssyma,1,16,
+beetle_jay_(1-upclock),4,16,
+beckett,4,16,
+becca_idaho,4,16,
+beavis,4,16,
+beau_(catsudon),4,16,
+beatrice_(loneclaw),4,16,
+beatrice_(lechugansfw),4,16,
+beatnik,0,16,
+beast_trail,3,16,
+beast_man_(masters_of_the_universe),4,16,
+bearwithabroom,1,16,
+bearking,4,16,
+bearclops_(mao_mao:_heroes_of_pure_heart),4,16,"bear-clops_(heroes_of_pure_heart),bear-clops_(mao_mao),bear-clops_(mao_mao:_heroes_of_pure_heart),bear-clops_(mao_mao_heroes_of_pure_heart),bear_clops_(heroes_of_pure_heart),bear_clops_(mao_mao),bear_clops_(mao_mao:_heroes_of_pure_heart),bear_clops_(mao_mao_heroes_of_pure_heart),bearclops_(heroes_of_pure_heart),bearclops_(mao_mao),bearclops_(mao_mao_heroes_of_pure_heart)"
+bayuki_wethergreen,4,16,
+bayard,4,16,
+bax_(savanity),4,16,
+bawleon,1,16,
+battlesuit_girls_(copyright),3,16,
+battle_ready,0,16,
+battle_bears,3,16,
+bathroom_control,0,16,
+bat-eared_fox_(kemono_friends),4,16,bat_eared_fox_(kemono_friends)
+baster,0,16,
+basset,4,16,
+base_progression,4,16,
+barricade_(character),4,16,
+barred_window,0,16,
+barnabus_(keroro623),4,16,
+barbed_equine_penis,0,16,
+barbara_gordon,4,16,
+barabeer,1,16,
+baphomet_(disambiguation),0,16,"baffometi,bafometz,baphomet,baphometh,sabbatic_goat"
+bani-chan,1,16,
+bandaged_foot,0,16,
+band_logo,0,16,
+banana_joe,4,16,
+bamshark,1,16,
+bambi_(clumzor),4,16,
+balrog,4,16,
+balls_growth,0,16,
+ballet_high_heels,0,16,"ballet_heel,ballet_heels,ballet_high-heel,ballet_high-heels,ballet_high_heel,ballet_highheel,ballet_highheels"
+ball_in_mouth,0,16,
+ball_holding,0,16,
+baldur's_gate,3,16,
+baldi's_basics_in_education_and_learning,3,16,
+balberit,1,16,
+bakugan_battle_brawlers,3,16,
+bajoran,5,16,
+baicha,1,16,
+baggy_armwear,0,16,
+badmella,4,16,
+bad_posture,0,16,
+backstreetcrab,1,16,
+backseam,0,16,
+back_facing_viewer,0,16,
+baat,4,16,
+b_dog,1,16,b-dog
+b2xa1,1,16,
+azure_ebonwing,4,16,
+azure_(dredjir),4,16,
+azure-arts,1,16,
+azuras,4,16,
+azu,4,16,
+azalea_(ajna),4,16,
+az_paipai,1,16,
+axel_(axeltheaussie),4,16,
+avory_lo'raven,4,16,
+avianna,4,16,
+avesriim,5,16,
+avenu,1,16,
+avenger_gorgon,4,16,"avenger_(fate/grand_order_-_gorgon),avenger_(fate/grand_order_gorgon),avenger_(fate_grand_order_-_gorgon),avenger_(fate_grand_order_gorgon)"
+avablanched,1,16,
+ava_chimera,4,16,
+autumn_(zer0rebel4),4,16,
+austroraptor,5,16,
+australian_raven,5,16,
+austen_mengler,1,16,
+auron_denengrad,4,16,
+aurene,4,16,
+aurellia_darkwater,4,16,
+auggie_(fleetwoodbrak),4,16,
+atsidas,1,16,
+atlas_jkb,1,16,
+atlas_(wulfenski),4,16,
+atlas_(d0ct0r-d),4,16,
+athene_(hulahula11),4,16,
+athavan,1,16,
+ateri,4,16,
+ateoyh,1,16,
+atari_cx40,0,16,
+asylum_(character),4,16,
+astro,4,16,
+astraldrgn,1,16,
+asterisukusuku,3,16,
+astella,4,16,
+assisted_spreading,0,16,
+assisted_handjob,0,16,
+asp_the_wyvern,4,16,
+ashlynn,4,16,
+ashley_(character),4,16,
+asheko,4,16,
+ash_mongoose,4,16,
+aryentai,1,16,
+artur_oink,1,16,
+arttransor,1,16,
+arts-la-huska,1,16,
+artic1010,1,16,
+arthurtng,1,16,
+arthur_(disambiguation),4,16,"arthur,arthur_(artist),arthur_(character)"
+artharuhi,1,16,
+artair_(roanoak),4,16,
+aroni_sketched_(artist),1,16,
+aron_(grumpy_gray_guy),4,16,
+armorine_(armorine),4,16,
+armored_gloves,0,16,
+armored_core_(series),3,16,
+arm_over_breasts,0,16,
+arm_out_of_water,0,16,
+arm_on_breasts,0,16,
+arkdoggo_(character),4,16,
+arianna_fumei,4,16,
+ari_(lancefoxcia),4,16,
+ari_(k0yangi),4,16,
+argylefricker,1,16,
+argyle_starshine_(mlp),4,16,
+areytel,4,16,
+areye,4,16,
+arexo,1,16,
+arenidean,5,16,
+arekusuwulf,1,16,
+ardex_(ardex),4,16,
+arcius,4,16,
+archive_dump,0,16,
+arches_(game),3,16,
+arch_(archwolf),4,16,
+arcario,4,16,
+arcan_(character),4,16,
+arcaide,4,16,
+arc,4,16,
+aquapaulo,1,16,
+aquamarine_eyes,0,16,
+aquamarine_(steven_universe),4,16,
+apu_spills_his_nuggies,3,16,apu_spills_his_tendies
+apple_rose_(mlp),4,16,
+apple_(animal_crossing),4,16,
+apothem,4,16,
+aphrodite_(deity),4,16,
+aphelionhelios,1,16,
+aphast,4,16,
+apex_(apexavian),4,16,
+aperio_cavus_(xpsm140),4,16,
+aod23,1,16,
+anzhyra,1,16,
+anzen,4,16,
+anya,4,16,
+anunit,4,16,
+antelope_horn,0,16,antelope_horns
+anshinmama,1,16,"maximummama,あんしんママ"
+annie_(shouk),4,16,
+anna_sama,4,16,
+ann_maren_(thedeirdre96),4,16,
+anita_bigtime,4,16,
+animal_print_swimwear,0,16,
+animal_ear_headband,0,16,
+anima_(anothereidos_r),4,16,
+anihilator,4,16,
+ani_(majisuta),4,16,
+angry_eyebrows,0,16,
+angelowo,1,16,
+angelfluff,4,16,
+angelfennecfox,4,16,
+angeldarien,1,16,
+angela_bloodpaw,4,16,
+angel_lucian,4,16,
+angel_(appledoze),4,16,
+andy_(cora),4,16,
+andrewthewolf2018,1,16,
+andrew_(zourik),4,16,
+andrew_(anew742),4,16,
+andre_(acheroth),4,16,
+anders_(infernal-beggar),4,16,
+ander_(discreet_user),4,16,
+ancient_aliens,3,16,
+anaya,4,16,
+anarchoshark,1,16,
+anarchism,0,16,
+anal_juice_on_finger,0,16,
+anal_full_nelson,0,16,
+anaheron,1,16,
+amy_labelle,4,16,
+amy_arklin,4,16,
+amy_(peculiart),4,16,
+amy_(lysergide),4,16,
+amos,4,16,
+amora_(cindersticks),4,16,
+amiga,4,16,
+amethyst_sniper,4,16,
+ambunny,1,16,
+ambrosine_(tentabat),4,16,
+ambiguous_masturbation,0,16,
+ambient_cat,5,16,
+ambient_barnacle,5,16,ambient_barnacles
+amber_scorch,4,16,
+amber_(ziggie13),4,16,
+amber_(frostedchase),4,16,
+amber_(anjuneko),4,16,
+amber_(9_to_9),4,16,
+amauchi,1,16,
+amanda13parker,1,16,
+ama_(abluedeer),4,16,
+always_pray_before_eating,3,16,
+altohearts,1,16,
+alsnapz,1,16,
+alps_sarsis,4,16,
+alphonse_(verrazzano),4,16,
+alonsy,1,16,
+allies_(axis4s),4,16,
+alix_spadau,4,16,
+alistar_drennisk,4,16,
+alison_acton,1,16,
+alina,4,16,
+aliester_(character),4,16,
+alicia_(biglovealicia),4,16,
+alice_okai,4,16,
+alice_lee,4,16,alice_(terdburgler)
+alice_(housamo),4,16,
+alice_(heavensdoor),4,16,
+alice_(foxtalon),4,16,
+alexis_cowell,4,16,
+alexis_(sleeps-darkly),4,16,
+alexis_(gherwinh),4,16,
+alexia_(robthehoopedchipmunk),4,16,
+alexgoneloco,1,16,
+alexandria_(kieran1231),4,16,
+alexander_(bullstarhaku),4,16,
+alex_(shm128iii),4,16,
+aleshanee,4,16,
+alejandro_(husky92),4,16,
+aleister_(aspen),4,16,
+alebehemut,1,16,
+alcasar,1,16,
+albine,0,16,
+albertosgt65,1,16,
+alamo_(blade_kitten),4,16,
+alain_(wardraws),4,16,
+akuma_(street_fighter),4,16,
+akkcre,1,16,
+akira_nikaidou,4,16,
+akila_(blakaholic),4,16,
+akiko_(iniquity),4,16,
+akashi_duela,4,16,
+ak12,0,16,
+airlock,0,16,
+airfield,0,16,
+airamdenhial,1,16,
+aimkid,1,16,
+aids,0,16,
+aiden_(viverack),4,16,
+ai,0,16,
+ahrah,4,16,
+ahkrin,4,16,
+ahegao_clothing,0,16,
+aguila_(aguila),4,16,
+agrossian,5,16,
+agro_alba_(character),4,16,
+agnes_(fantastic_mr._fox),4,16,
+agnaktor_(pixiv),1,16,
+age_chart,0,16,
+after_party,0,16,
+after_handjob,0,16,
+after_fingering,0,16,
+after_eating,0,16,
+after2,1,16,
+aeznon,4,16,
+aetos_swallowtail_(aetos),4,16,
+aesirfeather,1,16,
+aeron,4,16,
+aeromorpha380,1,16,
+adventures_of_lolo,3,16,
+adventure_fredbear_(fnaf),4,16,
+adumbkobold,1,16,
+adrien_(kyoriichi),4,16,
+adrianne,4,16,
+adrian_(disambiguation),4,16,adrian
+adolphus_amor_(rekohunter),4,16,
+adhiguna,1,16,
+addie_(medium_maney),4,16,
+acupa,1,16,
+actualblueblu,1,16,
+acrystra,4,16,
+ackee,1,16,
+acerzzz,1,16,
+acequorthon,4,16,
+ace_(claweddrip),4,16,
+accers,1,16,
+abyss_the_squid,4,16,
+absinthe_(vixennation),4,16,
+abortion_by_cock,0,16,
+abigail_(mcnasty),4,16,
+abezguaz,1,16,
+abelet_flint,4,16,
+abby_(comatose),4,16,
+>:3c,0,16,
+8_horns,0,16,"8-horn,8-horned,8-horns,8_horn,8_horned,eight-horn,eight-horned,eight-horns,eight_horn,eight_horned,eight_horns"
+80s_clothing,0,16,
+774nanash,1,16,774_(nanashi)
+66wolfreak99,1,16,
+5_square_meters,1,16,
+5_arms,0,16,"5_armed,five_armed,five_arms"
+4_paws,0,16,
+49almond,1,16,
+3gs,1,16,
+3dgspot,1,16,
+32:25,7,16,
+3033,1,16,
+2_tentacles,0,16,
+26:27,7,16,
+1909,7,16,
+1800000burn,1,16,
+17:15,0,16,
+16:17,7,16,
+14_breasts,0,16,
+11calebe,1,16,
+1184268486_(artist),1,16,
+1010nuntaso,1,16,
+0xbeef,1,16,
+0g0p0g0,1,16,
+.,0,16,
+zyonji,1,15,
+zylo_(sonicgamer),4,15,
+zyicia,4,15,
+zweikopfeinhorn,1,15,
+zutabo,1,15,
+zume_(luka),4,15,
+zul_(quarian),4,15,
+zuel,4,15,
+zubamon,5,15,
+zsisron_(character),4,15,
+zowie_(yawg),4,15,
+zoryan,1,15,
+zooks_(character),4,15,
+zonatta_(lynofdeath),4,15,
+zombies_in_soup,1,15,
+zombieaddict,1,15,
+zombie_apocalypse,0,15,
+zoey_soul,4,15,
+zoe_(huffslove),4,15,
+zobbie265,1,15,
+zlarr_(alaska_zz),4,15,
+zixxxous,1,15,
+zix_(zhali_z),4,15,
+ziuki,1,15,
+zigzag_teeth,0,15,
+zibeline,1,15,
+zia_(hel-ish),4,15,
+zhuang_(kokurou),4,15,
+zhag,1,15,
+zeya_(saneaz),4,15,
+zeveth,1,15,
+zesh,4,15,
+zerena,4,15,
+zerab,1,15,
+zepiwolf,1,15,
+zephyr_(rubberbutt),4,15,
+zeonart,1,15,
+zenki1118,1,15,
+zemata,1,15,
+zekiel_(fatzoimp),4,15,
+zeke_(stylish_apollo),4,15,
+zeke_(furryyoyoer),4,15,
+zeezee,4,15,
+zeevaff,1,15,
+zeerus,1,15,
+zeena_(long_dong),4,15,
+zeek_(deadbeat_hyena),4,15,
+zee_(velociripper),4,15,
+zebra_shark,5,15,
+zaros_drahkiin,4,15,
+zara_sudekai,4,15,
+zaos_(artist),1,15,
+zander,4,15,
+zan_partizanne_(kirby),4,15,
+zambiie,1,15,
+zaks,4,15,
+zahn,4,15,
+zag_(zaggy),4,15,
+zafina_(coffee_demon),4,15,
+zadkiel,4,15,
+zack_(koorivlf),4,15,
+yuzubull,1,15,
+yuusha_to_maou,3,15,
+yutari,1,15,
+yuseimutu,1,15,
+yury,1,15,
+yuri_catslash,4,15,
+yukinari_ism,1,15,
+yukihyo,1,15,
+yuki_tal_lorean,4,15,
+yuif0x,1,15,
+yoyo_(yoyoswebs),4,15,
+your_buddy,4,15,
+young_weird_(retropony),4,15,
+you_yu_kongkong,1,15,
+yoshiman1118,1,15,
+yoshika_miyako,4,15,miyako_yoshika
+yoshi_rukavi,4,15,
+yorutamago,1,15,
+yonk,1,15,
+yojigen,1,15,
+yobi_the_five_tailed_fox,3,15,"ch-onnyonyou_youbi,ch-ŏnnyŏnyŏu_yŏubi,ch_onnyonyou_youbi,ch_ŏnnyŏnyŏu_yŏubi,cheonnyeon-yeowoo_yeowoobi,cheonnyeon_yeowoo_yeowoobi,chonnyonyou_youbi,chŏnnyŏnyŏu_yŏubi,ch‘onnyonyou_youbi,ch‘ŏnnyŏnyŏu_yŏubi,yobi:_the_five_tailed_fox,천년여우_여우비"
+yobi_(yobi_the_five_tailed_fox),4,15,"yobi_(five_tailed_fox),yobi_(the_five_tailed_fox),yobi_(yobi)"
+yo_zee,1,15,
+yngwie_(zelripheth),4,15,
+yinepu,1,15,
+yiffoliousstank,1,15,
+yiff_grenade,0,15,
+yeti_(yetinsane),4,15,
+yes_maybe_idk,1,15,
+yellowdelivery,1,15,
+yellowanubiz,1,15,
+yellow_shell,0,15,
+yellow_leotard,0,15,
+yellow_latex,0,15,
+yellow_bowtie,0,15,
+yellow_blood,0,15,
+yellow04,4,15,
+yash_(kitfox-crimson),4,15,
+yaroul_(character),4,15,
+yanshe,4,15,
+yank,0,15,
+yamathegod,1,15,
+yaljes,1,15,
+yako,1,15,
+yakkul,4,15,
+yagi_(artist),1,15,
+xyena_(daemon_lady),4,15,
+xx-starduster-xx,1,15,
+xvarchonvx,1,15,
+xuu,1,15,
+xorall,1,15,
+ximba,1,15,
+xiaoli_(obessivedoodle),4,15,
+xiao_yue,4,15,
+xiao_yagari,4,15,
+xi_jinping,4,15,
+xhioru_(xhioru),4,15,
+xeon_(xeono),4,15,
+xenolith0,1,15,
+xenoblade_chronicles_3,3,15,
+xenia_(bluenovember),4,15,
+xenax,1,15,
+xen34,4,15,
+xechil,4,15,
+xbox_original_console,0,15,
+xayr,4,15,
+xandy,4,15,
+xander_oakes,4,15,
+xander_greene,4,15,
+x-23,4,15,
+wyraach,4,15,
+wyldelyn,1,15,
+wuvvums,1,15,
+wusagi_(unrealplace),4,15,
+wulfrick,4,15,
+wrynn_(wizardjpeg),4,15,
+wreath_bow,0,15,
+wortzenhein,4,15,
+world_of_fortune,3,15,
+woozybits,1,15,
+woolie_(two_best_friends_play),4,15,
+wooden_body,0,15,
+woodcut,0,15,
+wood_paneling,0,15,
+wood_desk,0,15,
+wood_alchemist,4,15,
+woo_(character),4,15,
+won7373kr,1,15,
+wolfychu,4,15,
+wolftale,4,15,
+wolfsbane_(x-men),4,15,
+wolfgang_jaeger_(readerno31142),4,15,
+wolfang_(transformers),4,15,
+wolf_(drawholic),4,15,
+wizard101,3,15,
+wiping_brow,0,15,
+winterweather,1,15,
+winter_schnee,4,15,winter_schnee_(rwby)
+winter_night,4,15,
+winston_whitetail,4,15,
+winnie_(ajk),4,15,
+winged_leafeon,4,15,
+winged_heart,0,15,
+windows_95,3,15,
+william_(disambiguation),6,15,william
+wildflowers,0,15,
+wild_thunder06,1,15,
+wild_life,3,15,
+wicked_silly,4,15,
+wick_(tarkeen),4,15,
+whyv3rn303,1,15,
+whorlywhorl,1,15,
+white_wristband,0,15,
+white_seam_boxer_briefs,0,15,
+white_bomber,4,15,
+white_blanket,0,15,
+wheat_fur,0,15,
+wet_swimwear,0,15,
+wet_head,0,15,
+werewolf_(arceronth),4,15,
+wereturtle,5,15,
+weregin,4,15,
+werebunny,5,15,
+welt,0,15,
+well_dressed,0,15,
+welfin_(hunter_x_hunter),4,15,
+welding_torch,0,15,
+wayn_animation,1,15,
+wavy_arrow,0,15,
+waving_flag,0,15,
+watermelon_half,0,15,
+water_alchemist,4,15,
+watakofu,1,15,
+wata-ridley,1,15,
+wassow,4,15,
+wasp_wings,0,15,
+wasabimayo1129,1,15,
+warwolf47,1,15,
+waruneko968,1,15,
+warring_kingdoms_azir,4,15,
+warren,4,15,
+waroo_(presto),4,15,
+warbeast,4,15,
+wanting_more,0,15,
+wanderer_(mana),4,15,
+walter_john_wolf,4,15,
+walking_together,0,15,
+waldo,4,15,
+waku_waku_7,3,15,
+waist_tuft,0,15,
+vyxsin,4,15,
+vyx_laren,4,15,
+vyn,4,15,
+vulskaran,5,15,
+vulpivoid,1,15,
+vrael_(death's_gambit),4,15,
+voronin7,1,15,
+voreg,1,15,
+vore_tether,0,15,
+vomiting_on_another,0,15,
+volvo_(car),3,15,
+volta_(ori-doggo),4,15,
+volodar,4,15,
+void_termina,4,15,
+vocabulary,1,15,
+vkak_(artist),1,15,
+vivien13,1,15,
+vivian_(trash_kobold),4,15,
+vitruvian_man,3,15,
+vitpla,1,15,
+vishy,4,15,
+virgo_(symbol),0,15,
+virginia_kissless,4,15,
+violet_parr,4,15,
+violet_(sssonic2),4,15,
+violet_(pyrowildcat),4,15,
+violet_(gmeen),4,15,
+violent_hellsinger_the_4th_(oc),4,15,
+viola_(pokemon),4,15,viola_(pokémon)
+vinyl_bakon,4,15,
+vinslet,4,15,
+vincentthefox,4,15,
+vincent_walker,4,15,
+vincent_doggts,4,15,
+vincent_b_smith_(character),4,15,
+viewtiful_joe,4,15,
+victus_(victdrag),4,15,
+victoria_voss,4,15,
+victoria_(feline),4,15,
+vicoon,1,15,
+vibrant_vision_(oc),4,15,
+vian,1,15,
+vezok,4,15,
+vexio_(lumocity),4,15,
+vesrin,1,15,
+very_long_ears,0,15,
+vertix,1,15,
+veronica_downing,4,15,
+verna_corbin,1,15,
+vermin_eto,4,15,
+verina_(enroshiva),4,15,
+verb0ten,1,15,
+veran,4,15,
+ventilator,0,15,
+velkiel,4,15,
+velexane,1,15,
+veledar,4,15,
+velcro,0,15,
+veiled_lioness,1,15,
+vee_(huffslove),4,15,
+vay,4,15,
+vawfag,1,15,
+vathran,4,15,
+vash_the_stampede,4,15,
+varesh,4,15,
+varco_brerengor,4,15,
+vanyan,4,15,
+vanishing,0,15,
+vanessa_(meesh),4,15,
+van_halen,3,15,
+vampire_king,4,15,
+vam_(vamquix),4,15,
+valor_(lol),4,15,valor_(league_of_legends)
+valkyrie-girl,1,15,
+valkyria,4,15,
+valerie_(grizzlygus),4,15,
+vale_safi,4,15,
+vacant_stare,0,15,
+va-11_hall-a,3,15,
+v.e.l.a.,4,15,
+v-m,1,15,
+uwubanana,4,15,
+usui,1,15,
+usaru_(betsuto),4,15,
+usagi_is_justice,3,15,
+ursa_major_(mlp),4,15,
+urine_on_shoulder,0,15,
+urine_on_paws,0,15,
+urine_on_chin,0,15,
+urine_flood,0,15,
+uri,4,15,
+urban_legend,3,15,
+upplet,0,15,
+upper_crust_(mlp),4,15,
+uosaasou,1,15,
+untied_bow_tie,0,15,
+unown_b,5,15,
+unost,1,15,
+unnamed_tarsier_(sing),4,15,
+unnamed_purple_cat_(ducky),4,15,
+unity_(cardinilo),4,15,
+uniforms,0,15,
+unidentifiedcanid,1,15,
+undone_tie,0,15,
+underwere_(doggieo),4,15,
+underwear_theft,0,15,
+uncomfortabledrawingfurries,1,15,
+unbread_yimori,1,15,
+umineko_no_naku_koro_ni,3,15,
+umbra_ashael,4,15,
+umami_stale,4,15,
+uluru,0,15,
+ultraman,4,15,
+ulforceveedramon,5,15,alforcev-dramon
+uhotdog,1,15,
+ugly_sweater,0,15,
+ugas,5,15,
+ugarasi12,1,15,
+u_got_that,3,15,
+u31,1,15,
+tyvulpine,4,15,
+tysiek,4,15,
+tyric,4,15,
+tymime,1,15,
+tylor_tuskmon,4,15,
+tybalt_draws,1,15,
+ty_the_protogen,4,15,
+ty_lee,4,15,
+two_tone_shell,0,15,
+two-ton-neko,1,15,
+twizz,4,15,
+twisted_fate_(lol),4,15,
+twilon,4,15,
+tvorsk,4,15,
+tuskforce,1,15,
+turtle-head,1,15,
+turntable_(disambiguation),6,15,"turntable,turntables"
+turma_do_cueio,3,15,
+turkburg,1,15,
+turborumpquest,1,15,
+turbo_fink,4,15,
+tunnels,0,15,
+tundra_(tundrathehyena4),4,15,
+tuna_(food),0,15,
+tumor,0,15,
+tulip_olsen,4,15,
+tulin_(zelda),4,15,
+tugging_collar,0,15,
+tuff_(kirby),4,15,
+tube_in_mouth,0,15,
+trynity,4,15,
+true_griffin_(ffxiv),5,15,
+trixie_(btt),4,15,
+tritus_(laestir),4,15,
+tristastrange01,1,15,
+tris,4,15,
+triple_fellatio,0,15,
+trile,1,15,
+trickshot,4,15,
+trick_rex_(character),4,15,
+trick_or_treatment,4,15,
+trial,0,15,
+trevor_(disambiguation),4,15,trevor
+treppan_(character),4,15,
+trembling_for_pleasure,0,15,
+trejo_the_zoroark,1,15,
+trebor_dnalget,4,15,
+travois,0,15,
+travis_(1-upclock),4,15,
+traveller_(kame_3),4,15,
+trauron,4,15,
+trash_of_this_galaxy,1,15,
+trash_kobold_(artist),1,15,
+transparent_speech_bubble,0,15,
+translucent_object,0,15,
+trannywolf,1,15,
+tralalabara_(character),4,15,
+toyuri_angrm,1,15,
+toyota_corolla,3,15,
+toxyc_(toxyc),4,15,
+tourniquet,0,15,
+touchscreen,0,15,
+touching_own_knees,0,15,
+touching_knees,0,15,
+torso_length_tattoo,0,15,
+torso_(hjk098),1,15,
+tornado_turbulence,4,15,
+torn_leotard,0,15,
+torn_headwear,0,15,
+torgon,5,15,
+torchbug,4,15,
+torch_song_(mlp),4,15,
+tootsie_flute_(mlp),4,15,
+toot_thunderthighs,4,15,
+tool_(band),3,15,
+too_early_for_this,0,15,
+tonyg79,1,15,
+tonilyn,4,15,
+toniko_pantoja,1,15,
+toni_(kathy-lu),4,15,
+tongues_in_cheeks,0,15,
+tongues_everywhere,0,15,
+tongue_riding,0,15,
+tongue_on_breast,0,15,
+tongue_in_slit,0,15,
+toned_legs,0,15,
+tomochan,1,15,
+tom_wachowski,4,15,
+tom_lucitor,4,15,
+tom_di_blues,4,15,
+tokon,1,15,
+togy,1,15,
+todex_(character),4,15,
+toby_(disambiguation),4,15,toby
+tobin_(pickles-hyena),4,15,
+tlan_atolm,4,15,
+tkitty,1,15,talbotlynx
+tiye_(userpass),4,15,
+tito_curmudgeon,1,15,
+tire_marks,0,15,
+tiny_toons_looniversity,3,15,
+tinkerbull,4,15,
+tina_fountain_heart,4,15,
+timmy-22222001,1,15,
+timewarp_(character),4,15,
+tim_the_bear,4,15,
+tim_hortons,3,15,
+tim_(mouthmoth),4,15,
+til_geiger,4,15,
+tikory,4,15,
+tightrope,0,15,"tight-rope,tight_rope"
+tigertwins,1,15,
+tigersaber,1,15,
+tiffany_(tleatlnox59),4,15,
+tied_topwear,0,15,
+tidalwave,4,15,
+tibetan_spaniel,5,15,
+tiberius_larone,0,15,
+tiangou,1,15,
+thunderhawk03,1,15,
+thuban,4,15,
+throwing_knives,0,15,
+three_tone_clothing,0,15,
+threading_plushie,0,15,
+thieves_with_tails,3,15,
+thetunnahaddict,1,15,
+thetarget,1,15,
+thesquarestart,1,15,
+thepinkfury,1,15,
+theofficialwheel,1,15,
+theo_(xl_swat),4,15,
+theneonfox,1,15,
+theinspiredsphynx,1,15,
+thehornedking43,1,15,
+thedigital-devil,1,15,
+thealtoid,1,15,
+the_widow,4,15,
+the_thing_(marvel),4,15,
+the_riddler,4,15,
+the_professor_(lucyfercomic),4,15,
+the_other_onez,1,15,
+the_osusky,1,15,
+the_marvelous_misadventures_of_flapjack,3,15,
+the_making_of_shota_mike,3,15,
+the_little_monkey_king,1,15,
+the_high_priestess_(tarot),0,15,
+the_g0lden_0ne,1,15,
+the_donkey_king,3,15,
+the_dog_(tawog),4,15,
+the_devil_and_daniel_mouse,3,15,
+the_clan,0,15,
+the_cake_is_a_lie,3,15,
+the_black_cauldron,3,15,
+the_bard,4,15,
+thaldrin,4,15,
+text_on_elbow_gloves,0,15,
+tex_(maxiscutetbh),4,15,
+tetsucabra,5,15,drilltusk_tetsucabra
+tetrami_(tabbyseraph),4,15,
+tethered,0,15,
+tess_(mordwyl),4,15,
+terry_belle,4,15,
+terry_(thorsoneyja),4,15,
+terrethemageslayer,1,15,
+teppuko,1,15,
+tentaclebaka,1,15,
+tentacle_piercing,0,15,pierced_tentacle
+tentacle_on_male,0,15,
+tentacle_around_wings,0,15,
+tentacle_around_thigh,0,15,
+tengwar_text,7,15,
+tengloom,4,15,
+tenderheart_bear,4,15,
+tender_(character),4,15,
+teka,1,15,
+tek_otter,4,15,
+teidar_rosca,4,15,
+techno.,1,15,
+teat_fondling,0,15,
+team17,3,15,
+teaandzebrastripes,1,15,
+te_(character),4,15,
+tbsktbwa,1,15,
+taz_(arts_of_indiego),4,15,
+taylor_(dragonteeth),4,15,
+tawani,4,15,
+taviturnip,1,15,
+tauros_(character),4,15,
+taur_on_top,0,15,
+tattorack,1,15,
+tatae_(tetae),4,15,
+tata_(jewelpet),4,15,"tata_(jewel_pet),turquoise_(jewel_pet),turquoise_(jewelpet)"
+tartra_(exed_eyes),4,15,
+tarn,4,15,
+tarja_(spacebender),4,15,
+tarimel,1,15,
+target_practice,0,15,
+tareme,0,15,
+tareck,4,15,
+tarantad0,1,15,
+taranis,4,15,
+taped_tail,0,15,
+tanukimodoki,1,15,
+tanuki_(zzu),4,15,
+tanuki553,1,15,
+tannou,4,15,
+taniom,4,15,
+tangerine,4,15,
+tan_hoodie,0,15,
+tammy_(fnaf_oc),4,15,
+tammy_(dimwitdog),4,15,
+tami,4,15,
+tamer_the_swampkingdefender_(tamersan),4,15,
+talvitwister,1,15,
+tallulah_(chimangetsu),4,15,
+talking_sperm_cell,0,15,
+talisa_pierce,4,15,
+tal_(snowweaver),4,15,
+takajoh,1,15,
+taira_(nanibeya),1,15,
+tailpipe,0,15,
+tailola,4,15,
+tailjob_while_penetrated,0,15,
+tailesi,1,15,
+tail_inflation,0,15,
+tail_curled,0,15,
+taiki_kudou,4,15,
+taiga_(shotaiga),4,15,
+tahl_(roninsong),4,15,
+tag_(rimba_racer),4,15,
+tachikawa,1,15,
+table_dance,0,15,
+tabitha_(wsad),4,15,
+tabino,1,15,
+t_zulu,1,15,
+t-shirt-meme,0,15,
+sythrawolf,1,15,
+syntharia_desire,1,15,
+synnabunn,4,15,
+symphony_(petite-symphony),4,15,
+symphonie,4,15,
+symbol_on_belly,0,15,
+sylvya_felstorm,4,15,
+sylvia_(flatflyer),4,15,
+sylverlight,4,15,
+sylas_(sigmaw),4,15,
+sya'rid,5,15,
+swushi,4,15,
+swootydoo,1,15,
+swoop,4,15,
+swinging_tail,0,15,
+swemu,1,15,
+sweet_slumber,1,15,
+sweet_(the_gamercat),4,15,sweet_(gamercat)
+sweaty_taint,0,15,
+sweaty_hands,0,15,
+svenfluffotter,4,15,
+sven_(deep_sea_creature),4,15,
+suzy_lu,4,15,
+suzette_(el_senor_erizo),4,15,
+suzanne_winters,4,15,
+susan_(underscore-b),4,15,
+survival,0,15,
+surprsied,0,15,
+surprise_penis,0,15,
+suraguma,1,15,
+superb_fairywren,5,15,"superb-fairy-wren,superb_fairy_wren"
+super_mario_maker,3,15,
+super_janemba,4,15,
+sunoth,4,15,
+sunny_castform,5,15,"castform_(fire),castform_(fire_form),castform_(fire_forme),castform_(sun),castform_(sun_form),castform_(sun_forme),castform_(sunny),castform_(sunny_form),castform_(sunny_forme),castform_fire,castform_fire_form,castform_fire_forme,castform_sun,castform_sun_form,castform_sun_forme,castform_sunny,castform_sunny_form,castform_sunny_forme,fire_castform,fire_form_castform,fire_forme_castform,sun_castform,sun_form_castform,sun_forme_castform,sunny_form_castform,sunny_forme_castform"
+sunny_bunny,4,15,
+sunk00_(artist),1,15,
+sunflower_sea_star,5,15,"sunflower_seastar,sunflower_star,sunflower_starfish"
+sunflower_kid,4,15,
+sunbed,0,15,
+sun_wukong_(rwby),4,15,
+sumo_samo,1,15,
+summer_the_hybrid,4,15,
+sumi_(wingmandraws),4,15,
+sumairu_(skashi95),4,15,
+sumac_spirit,4,15,
+sullivan,1,15,kesame
+sukusuku_hakutaku,5,15,
+sukouri_(furoticon),4,15,
+sukki_ironclaw,4,15,
+sugar_moonlight_(mlp),4,15,
+suez_canal,0,15,
+sue_(mokaityv),4,15,
+sucrose_(genshin_impact),4,15,
+submarinejesus,1,15,
+sublamy123,1,15,
+su_ji-hoon_(tinypigdraws),4,15,
+styrofoam,0,15,
+stylish,0,15,
+stump_caps,0,15,
+studded_armband,0,15,
+striva_voros,4,15,
+stripes_tail,0,15,
+striped_egg,0,15,
+striker_(shizari),4,15,
+strap_pull,0,15,
+straight_tail,0,15,
+straight_flush,0,15,
+strafy_(character),4,15,
+strade_(gatobob),4,15,"strade_(boyfriend_to_death),strade_(btd)"
+stormhoof1,1,15,
+stomach_bulges,0,15,
+stomach_(organ),0,15,
+stinkybuns,1,15,
+stink_clouds,0,15,
+stickdora,1,15,
+steven_stinkman,4,15,
+stephastated,1,15,
+stepfather_and_stepson,0,15,
+step_stool,0,15,
+stella_(wasen),4,15,
+stella_(btpoke),4,15,
+station_3,3,15,
+stasya_sher,1,15,
+starsfirefly,1,15,
+starly_(the_legendary_starfy),4,15,
+starbeli,1,15,
+stanley_(doodledoggy),4,15,
+standing_on_table,0,15,
+stanchion,0,15,
+stalker_(subnautica),5,15,
+stacy_(mellow_tone),4,15,
+squishfox,1,15,
+squirrel_boy,3,15,
+squire,0,15,
+squat_rack,0,15,
+squarewave29,1,15,
+spycies,3,15,
+sprixie_princess,4,15,
+sprixie,5,15,
+spotted_armwear,0,15,
+spotte,4,15,
+spot_(101_dalmatians),4,15,
+spoopy,0,15,
+spoongoon,1,15,
+splitterpic,1,15,
+split_screen_multiplayer,0,15,
+spittor,4,15,
+spiral_arrow,0,15,
+spip_(beebreal),4,15,
+spilled_alcohol,0,15,
+spillage,0,15,
+spiked_knuckles,0,15,
+spicynutcola,1,15,
+spicydrag0n,1,15,
+spicemanart,1,15,
+spencer_(extracurricular_activities),4,15,
+spectrum_dash,4,15,
+spectrum_(riiko),4,15,
+specterheart13,1,15,
+sparx_aries,4,15,
+sparky0w0,1,15,
+sparkling_sky,4,15,
+sparkbox,1,15,
+spacenoise,1,15,
+spacehorndog,1,15,
+soya_1st,1,15,
+southern_tamandua_(kemono_friends),4,15,"collared_anteater_(kemono_friends),lesser_anteater_(kemono_friends)"
+souryu-7,1,15,
+soulsfm,1,15,
+soulhunter_amras,1,15,
+soul_evans_(soul_eater),4,15,
+soris_(ranthfox),4,15,
+sophymn,1,15,
+sophia_(xxsparcoxx),4,15,
+soos,4,15,
+sons_of_the_nile,3,15,
+sono_(sonomatic),4,15,
+sonata,4,15,
+son_penetrated,0,15,
+something_to_do_with_love,3,15,
+solid_color,0,15,
+soliana,1,15,
+solena_(character),4,15,
+sokz,1,15,
+sokob,4,15,
+softtailed,1,15,
+sock_transformation,0,15,
+soccer_player,0,15,
+sobeit,1,15,
+sobakaya,1,15,
+so_delicious,0,15,
+snu_snu,0,15,
+snowflake_frostfang,4,15,
+snow_golem,5,15,
+snow_bunny,4,15,
+snow_(uthstar01),4,15,
+snoozer_(hamtaro),4,15,
+snittle,5,15,
+sneavile,1,15,
+sneaselsnee,1,15,
+snakearms,0,15,
+snake_hands,0,15,
+smugbinch,1,15,
+smiz,1,15,
+smelling_anus,0,15,
+smegma_on_face,0,15,
+smeared_mascara,0,15,
+smallrize,1,15,
+smallcats,1,15,
+small_breast_humiliation,0,15,
+small_arms,0,15,
+sludge_(mlp),4,15,
+sloth_bear_(brand_new_animal),4,15,
+slomnir,1,15,
+slit_skirt,0,15,
+slit_chastity,0,15,
+sling_bag,0,15,
+slimyylolitrash,1,15,
+slime_on_penis,0,15,
+slime_on_leg,0,15,
+slider_(control),0,15,
+slendid_(character),4,15,
+skynaya,1,15,
+skylar_(jinu),4,15,
+skyfifer_(character),4,15,
+skye_bridges,4,15,
+sky_furglitch,4,15,
+sky_doll,5,15,
+sky_children_of_the_light,3,15,
+skunksly,4,15,
+skunkelle,1,15,
+skull_tattoo,0,15,
+skotter_(taras),4,15,
+skollchan,1,15,
+skinny_intersex,0,15,
+skimpy_underwear,0,15,
+ski_lift,0,15,
+sketchstick,1,15,
+skaven_(artist),1,15,
+sizaru,1,15,
+sitting_on_partner,0,15,
+sitshl,4,15,
+sisco_(character),4,15,
+sirocco_(dragoncrescent),4,15,
+siren_(apparatus),0,15,
+sir_cordiale,4,15,
+siqlyprince,1,15,
+sio,4,15,
+sin_matter,1,15,
+sin_(draco32588),4,15,
+simpleshivers,1,15,
+simple_colors,0,15,
+simon_(gurren_lagann),4,15,
+silvertail,1,15,
+silvereyes_valentino,4,15,
+silver_tendril,4,15,
+silver_lies,4,15,
+silver_bracelet,0,15,
+silver_(chris_sutor),4,15,
+sillybirb,1,15,
+silanth,1,15,
+silana,4,15,
+sil_(bloodline),4,15,
+sigma_(character),4,15,
+sifyro's_bestiary,3,15,
+sienna_(character),4,15,
+sidnie,4,15,
+sibling_romance,0,15,
+sibeor_(sibeorhusky),4,15,
+siambei,1,15,
+shzuu-kenzu,1,15,
+shyv_zyrelia,4,15,
+shyra,4,15,
+shuu,1,15,
+shuffle_cats,3,15,
+shred_venita,4,15,
+shota_mike,4,15,
+shota_fox_(hane),4,15,
+shortalls,0,15,
+short_shift,4,15,
+short_height,0,15,
+shooks,4,15,
+shoksyu,1,15,
+shoko_(pokemon),4,15,
+shizuku_(yagi),4,15,
+shizimiru,4,15,
+shizi_(changed),4,15,
+shiyan_429,1,15,
+shit_just_got_real,0,15,
+shish_kebab,0,15,"shish-kabob,shish-kebab,shish_kabob"
+shirorisu_p,1,15,
+shirokuma_210,1,15,
+shiro_snep,4,15,
+shiro_(pikanodannna),4,15,
+shiriak,4,15,
+shinypokerus,1,15,
+shinonome_1r,1,15,
+shinchiichu,1,15,
+shina_eastmen_(lildredre),4,15,
+shin_pads,0,15,
+shiku_(character),4,15,
+shikigami,5,15,"shiki-no-kami,shiki_no_kami"
+shii_(shinigamiinochi),4,15,
+shigenori_soejima,1,15,
+shicks_(grimart),4,15,
+shey_(thewrittenvixen),4,15,
+sheretsa,4,15,
+shepsky,5,15,
+shenvalor,1,15,
+shenaniwhagons,1,15,
+shen_(russetpotato),4,15,
+shelsie,4,15,
+shelbysmol,1,15,
+sheila_(seriousb),4,15,
+sheidan_(mirroidal),4,15,
+sheena_ink,1,15,
+sheath_backwards,0,15,
+she-rex,4,15,
+shay,4,15,
+shaved_sides,0,15,
+shasuryu_shasha,4,15,
+sharkrikka,1,15,
+sharkle_(nitw),4,15,
+shara_ishvalda,5,15,
+shantae_(spider_form),4,15,
+shantae_(harpy_form),4,15,
+shanta-ra,1,15,
+shane_(satsumalord),4,15,
+shana_(shakugan_no_shana),4,15,
+shana_(frisky_ferals),4,15,
+shamefulsuccubus,1,15,
+shakey_olive,4,15,
+shadowkeeper,4,15,
+shadow_warp,4,15,
+shadow_kirby,4,15,
+shadow_(sona),4,15,
+shadeyzilla,1,15,
+sfmarvel,1,15,
+sfmanski,1,15,
+sewn_eye,0,15,"eye_sewn_closed,eye_sewn_shut,eye_stitched_closed,eye_stitched_shut,eyes_sewn_closed,eyes_sewn_shut,eyes_stitched,eyes_stitched_closed,eyes_stitched_shut,sewn_eyes,stitched_eye,stitched_eye_lid,stitched_eye_lids,stitched_eyelid,stitched_eyelids,stitched_eyes"
+sevenpaperplates,1,15,
+sev,4,15,
+seth_(pickles-hyena),4,15,
+sesshomaru,4,15,
+serizawa_kamo,4,15,
+serenity_(shifty),4,15,
+seraphis_zurvan,4,15,
+sepulveda,4,15,
+senyarnaven_(artist),1,15,
+senpaikitten,1,15,
+seni_mistrunner,4,15,
+semi-anthro_prey,0,15,
+selvinia,4,15,
+selvia,4,15,
+self_search,0,15,
+self_gore,0,15,
+selenica_rae,4,15,
+selendis,4,15,
+selena_(karnator),4,15,
+sekhmet_(last_origin),4,15,
+seito_akai,4,15,
+seishou,4,15,
+seishin_yukiyama,4,15,
+seinobyte,1,15,
+segy,4,15,
+sega_saturn,3,15,
+sefastpone,1,15,
+seelas,1,15,
+sedona_(fyixen),4,15,
+securitron_(fallout),5,15,
+second_chance_(game),3,15,
+secluded,0,15,
+sebin,4,15,
+sebastien_grainger,4,15,
+seba,4,15,
+seb_the_red_panda,4,15,
+sean_platter,1,15,
+sean_hicks,1,15,
+sean_'bae'_cody,4,15,
+sea_slug_humanoid,5,15,
+scrux_(character),4,15,
+scritt_(character),4,15,
+script_(sus_muk),4,15,
+screech_owl,5,15,"megascops,screech-owl"
+scratching_back,0,15,
+scp-745,4,15,
+scp-1991,4,15,
+scp-106,4,15,
+scott_(scottthefox94),4,15,
+scott_(gingatokkyu),4,15,
+scorpion_(position),0,15,
+scorpan,4,15,
+scooter_(luxury_gin),4,15,
+sci-twi,4,15,
+schizophrenia,0,15,
+schattenflamme,1,15,
+scene_girl,0,15,
+scarlitt,4,15,
+scarletgreninja,1,15,
+scarletbite,1,15,
+scarlet_darkpaw,4,15,
+scarlet_ann_starfox,4,15,
+scar_whitedream,4,15,
+scar_across_eye,0,15,
+scale_(disambiguation),0,15,scale
+sayuri_x_nanase,3,15,
+sayfate,1,15,
+sawsta,1,15,
+sawacoe,1,15,
+saveraedae,1,15,
+savannah_(sentharn),4,15,
+savak,4,15,
+saturn_devouring_his_son,3,15,
+sattytsukumo,1,15,"sattiaris,sattiaris_(artist)"
+satisfactory_(game),3,15,
+satire_(character),4,15,
+satinsquid_(artist),1,15,
+satellite_city,3,15,
+sashabunny,4,15,
+sascha_(tig),4,15,
+saryn_(kokoro-doll),4,15,
+saru-mars,1,15,
+sariana_(aj_the_flygon),4,15,
+sardonyx_(steven_universe),4,15,
+sarah_garnet,4,15,
+sarah_furry,1,15,
+sapphireamoerlevad,4,15,
+sapphire_(jiggleton),4,15,
+saphamia,1,15,
+sanya_(banterghost),4,15,
+sans_(errortale),4,15,
+sand_shark,5,15,"odontaspidid,odontaspididae,sandshark"
+samuel_(fairy_tail),4,15,
+samuel-white,1,15,
+samsung_lions,3,15,
+samonaa2,1,15,
+sambot,1,15,
+sambakza,1,15,
+samantha_(seriousb),4,15,
+samantha_(jwinkz),4,15,
+sam_scribbles,1,15,
+saltyicecream,1,15,
+saltydanshark,1,15,
+saltire,0,15,
+salthanath,4,15,
+salsen,1,15,
+salmiakki_(wonderslug),4,15,
+sally_(andybunny),4,15,
+saliva_on_shoulder,0,15,
+saleos,4,15,
+sakurakazuki,1,15,
+sakura_matō,4,15,"mato_sakura,matou_sakura,matō_sakura,sakura_mato,sakura_matou,sakura_tohsaka,sakura_tōsaka,tohsaka_sakura,tōsaka_sakura"
+sakura_ichigoko,4,15,
+sakita_hiroshi,4,15,
+saki_nomura,4,15,
+sake_letigre,4,15,
+sakari_(whitekitten),4,15,
+saintsupervoid,1,15,
+saiga_antelope,5,15,
+sahri_(voronin7),4,15,
+sagwa_miao,4,15,
+sage_(sagejwood),4,15,
+safety_helmet,0,15,
+safero,1,15,
+saelia,4,15,
+sadness_(inside_out),4,15,
+saddle_blanket,0,15,
+sabtastic,1,15,
+sabryna_saberclaw,4,15,
+sabrina_north,4,15,
+sable_serviette,1,15,
+saber_of_red,4,15,"mordred_saber_of_red,saber_mordred,saber_mordred_the_knight_of_treachery"
+saber_(taoren),4,15,
+saber-panda,1,15,
+ryuukei8569,1,15,
+rylee_(zoroark),4,15,
+ryland_(sloss),4,15,
+ryder_(paw_patrol),4,15,
+ryan_kyo,4,15,
+ryan_(ceeb),4,15,
+rvldlufsyyusigc,1,15,
+ruubeszdraws,1,15,
+ruu_(dragon),4,15,
+rusturak,4,15,
+russian_cooking_oil_commercial,3,15,
+russec,1,15,
+rusa,1,15,
+rupti,1,15,
+rupert_(random_doom),4,15,
+rupees,0,15,
+runa-solaris,1,15,
+rump_roast,0,15,
+rumash,1,15,
+rule1of1coldfire,1,15,
+ruby_fox,4,15,
+ruby_(lunar),4,15,
+ruben_(wonderslug),4,15,
+rtf-m,1,15,
+royuko_ten,1,15,
+roxy_prog,1,15,
+roxie_pepper,4,15,
+roxie_(plankboy),4,15,
+roxi,4,15,
+roxanne's_dad,4,15,
+router,0,15,
+round_number,0,15,
+rotteen,4,15,
+rotor,0,15,
+rosutoriano,1,15,
+rosie_(breegulleagle),4,15,
+roshin,1,15,
+roselia_(adtot),4,15,
+rose_(wolfyhero),4,15,
+rose_(mira),4,15,
+rose_(genoblader),4,15,
+roscoe_(shade_okami),4,15,
+rosanna_(beatleboy62),4,15,
+rosana_(tvma),4,15,
+rosalind,4,15,
+rosa_(sssonic2),4,15,
+rorschach,4,15,
+rope_necklace,0,15,
+rood_(roodboy),4,15,
+rood,1,15,
+romulus_(twokinds),4,15,
+roe_(pancake),4,15,
+rocrocot,1,15,
+rocky_(disambiguation),6,15,rocky
+rockstar_(jakescorp),4,15,
+rock_the_bull,4,15,
+rock_pikmin,5,15,
+rochelle_(left_4_dead),4,15,
+robtopgames,3,15,
+robotic_penis,0,15,
+robot_pony,0,15,
+robert_zimmeruski,4,15,
+robert_(dark441),4,15,
+rob_schrab,1,15,rob_schrad
+roarey,4,15,
+roan_(lace),4,15,
+roald_(animal_crossing),4,15,
+river_(riverence),4,15,
+riux_xxx,1,15,
+rithvik,4,15,
+ristar,4,15,
+risovach,1,15,
+riseson,1,15,
+risenshiney,1,15,
+ripy_(reznoo),4,15,
+riptide_(tba),4,15,
+ripple_(supersoupnova),4,15,
+riona_cadenza,4,15,
+rio_2016,3,15,
+rio_(diives),4,15,
+rio7,1,15,
+rinzy_(character),4,15,
+ringo_pumila_(character),4,15,
+ringlid,4,15,
+ringing_phone,0,15,
+rin_(mightymightyena),4,15,
+rimmon_(whiterabbit95),4,15,
+rillo_(furgeon),4,15,
+riley_winters,4,15,
+rika_(danielssj),4,15,
+rigwarl_the_bristleback,4,15,
+rigen_jalquiks,4,15,
+rigel-wolf_(character),4,15,
+riff_(rock_dog),4,15,
+ridley_the_bat,4,15,
+rider_habetrot,4,15,
+rider_(centaurworld),4,15,
+ricsimane,1,15,
+ricochetx,1,15,
+rico-chan,4,15,
+rico,4,15,
+rick_deckard,4,15,
+rick_arthur,4,15,
+rick_(disambiguation),4,15,rick
+richie_(deer),4,15,
+riceball,0,15,
+ricardo_rabbit,4,15,
+ribbontini_(character),4,15,
+rhyxa,4,15,
+rhythmicslither,1,15,
+reyne,4,15,
+rey_(dogrey),4,15,
+rey_(bluenovember),4,15,
+rexymagic,4,15,
+rexthefox,4,15,
+rexcanis,4,15,
+rexarum_(artist),1,15,
+rex_akumu,4,15,
+rex_(rexroyale),4,15,
+revy_lagoon,1,15,
+revolution,0,15,
+reversal,0,15,
+retl_(artist),1,15,
+ressie,1,15,
+ressen,1,15,
+rescue_tube,0,15,
+requiel_(erebonbon),4,15,
+repkor,4,15,
+renrink,1,15,
+renora_(thatpeon),4,15,
+reno_(brawlhalla),4,15,
+renaud_(character),4,15,
+renaslut,4,15,
+renakitty_fuzzball_(fuzzballfox),4,15,
+rena_maru,4,15,
+ren'is,4,15,
+remoblockade,1,15,
+reirou,1,15,
+reileigh,4,15,
+reidon,4,15,
+reggie_(littlerager),4,15,
+reggie_(disambiguation),6,15,reggie
+reg,4,15,
+reese_vecat,4,15,
+reed_(lazysnout),4,15,
+redthegamr,1,15,
+redigo,1,15,
+redhead_(character),4,15,
+redcrest_(spring),4,15,
+redcladhero,1,15,
+redbone_(redboner),4,15,
+red_thigh_boots,0,15,
+red_miniskirt,0,15,
+red_hair_accessory,0,15,
+red_fraggle,4,15,
+red_facial_hair,0,15,
+red_cloth,0,15,
+red_blindfold,0,15,red_blind_fold
+rebellion,0,15,
+rebel_nightwolfe,1,15,
+rebecca_(foxfencer),4,15,
+rebbaca,4,15,
+reaper_leviathan_(subnautica),5,15,
+realm_of_earth_defence_force,3,15,
+rdafterdark,1,15,
+rcj1418,1,15,
+rayley_(character),4,15,
+rayke_(character),4,15,
+raychel_(thetabbyneko),4,15,
+raybee,1,15,
+ray_vanhem,4,15,
+ray_the_pangoose,4,15,
+raven_(squoosh),4,15,
+raven_(sheico),4,15,
+raukue_(character),4,15,
+rattykai,1,15,
+ratteu_(character),4,15,
+ratt,4,15,
+rathkin,1,15,
+ratguil,4,15,
+ratatatat74,1,15,
+raptorial_(anatomy),0,15,
+rapping,0,15,
+rapier4,4,15,
+ransu_33,1,15,
+ranger_wolf_(adam_wan),4,15,
+ranger_squirrel,1,15,
+ranger_(artist),1,15,
+randomchick144,1,15,
+random_meat_vendors,0,15,
+random_generator,0,15,
+ramzo89,1,15,
+ramoncrimson935,1,15,
+rallex,4,15,
+rainbow_rodent,4,15,
+rainbow_pawz,1,15,
+rainbow_jewelry,0,15,
+rainbow_handwear,0,15,
+rainbow_gloves,0,15,
+rainbow_dosh,1,15,
+raili(dash4462),4,15,
+raika_(plus-sized_elf),4,15,
+raiders_of_the_lost_ark,3,15,
+raichu_rick,4,15,
+rai_(kilinah),4,15,
+rahuhe_(artist),1,15,
+ragnarokkr,1,15,
+raglan_sleeves,0,15,
+rage_boner,0,15,
+rafasanruby,1,15,
+raeffe,1,15,
+radx26,1,15,
+radopossum,1,15,
+radish_kobold,4,15,
+radiant_hope_(mlp),4,15,
+radek_(lordwolfie),4,15,
+rachael_(steveshep),4,15,
+rachael_(bobert),4,15,
+race_swap,0,15,
+rac,1,15,
+rabidrabbit56,4,15,
+ra'tiki,4,15,
+r_e_g_i_t,1,15,
+r30b0m0,1,15,
+r1zmy,1,15,
+quintuple_vaginal,0,15,
+quilver,4,15,
+quickfeet,4,15,
+quentelia,4,15,
+quelea_(canaryprimary),4,15,
+queen_isis,4,15,
+qualuon,5,15,
+pyroscale,4,15,
+putting_on_socks,0,15,
+putting_on_condom,0,15,
+pussy_zipper,0,15,
+pussy_juice_drool,0,15,
+pussy_jewelry,0,15,
+pussy_in_pussy,0,15,
+pushing_object,0,15,
+pushing_down_penis,0,15,
+purr.in.ink,1,15,
+purple_text_border,0,15,
+purple_outerwear,0,15,
+purple_kecleon_(character),4,15,
+purple_head_tuft,0,15,
+purple_guy_(fnaf),4,15,
+purple_goggles,0,15,purple_googles
+purple_corset,0,15,
+purple_antlers,0,15,
+puririn,4,15,
+puretails,1,15,
+puppy_(puppynsfw),4,15,
+punkrockvampire,1,15,
+punimon,5,15,
+pumpkin_knights,1,15,
+pulling_on_clothes,0,15,
+pulling_down,0,15,
+pukara,1,15,
+puffy_genital_slit,0,15,
+puffs_(pawsuteru),4,15,
+pucconici,1,15,
+public_execution,0,15,
+pubby,1,15,
+psychoticbubble,1,15,
+psychic_connections,3,15,
+psionic_ahnor_(heralds_of_the_avirentes),4,15,
+psijic,4,15,
+pseudo_clothing_lift,0,15,
+prune_(melonleaf),4,15,
+proxythehusky,1,15,
+provence_(arknights),4,15,
+proteusiii,1,15,
+protest_sign,0,15,
+protagonist_(outer_wilds),4,15,
+prostate_penetration,0,15,
+promiscuous_youth,0,15,
+promedio,1,15,
+probing,0,15,
+private_session,0,15,
+priscilla_(desertpunk06),4,15,
+princess_rari,1,15,
+prince_of_persia,3,15,
+prince_of_all_cosmos,4,15,
+prince_komali,4,15,
+prince_(gayrider8),4,15,
+prince_(ahit),4,15,
+primitive_fish,0,15,
+primaldialga1992,1,15,
+pride_color_shorts,0,15,
+prices,0,15,
+prey_(game),3,15,
+pressing,0,15,
+prescription,0,15,
+prep,0,15,
+pregnant_expansion,0,15,
+prawst,1,15,
+prairiemon,5,15,
+prafalc,1,15,
+powrshield,1,15,
+pownlown,1,15,
+potyakitune3,1,15,
+potatonebula,1,15,
+potatokamaos,1,15,
+posthuman_studios,3,15,
+possumtool,1,15,
+possible_death,0,15,
+portal_fellatio,0,15,
+poroo-mi,1,15,
+porcelain,0,15,
+pop_art,0,15,
+poop_hose,0,15,
+poogyl,1,15,
+ponyfound,0,15,
+ponutsmith,1,15,
+poni_parade,3,15,
+pokébuki_style_espeon,4,15,pokebuki_style_espeon
+pokko,4,15,
+pokemug,0,15,
+pokemon_contest,3,15,
+pokecider,1,15,
+pointy_tongue,0,15,
+points,0,15,
+pointing_at_butt,0,15,
+pogo_stick,0,15,
+pocket_mortys,3,15,
+pocket_knife,0,15,
+pochawanko,4,15,
+po-li,4,15,
+pluto,4,15,
+plumpkin_everclear_(ittybittykittytittys),4,15,
+pleasantfurrini,1,15,
+playing_accordion,0,15,
+player_one,4,15,
+player_id,0,15,
+playboy_suit,0,15,
+play_fight,0,15,
+platinum_dragoness,4,15,
+plasmoid,5,15,
+plant_manipulation,0,15,"agro_kinesis,agrokinesis,arbor_kinesis,arborkinesis,botanical_control,botanical_manipulation,botano_kinesis,botanokinesis,chloro_kinesis,chlorokinesis,flora_kinesis,flora_manipulation,florakinesis,leaf_speak,leafspeak,phyllo_kinesis,phyllokinesis,phyto_kinesis,phytokinesis,plant_bending,plant_life_manipulation,plantbending,plantlife_manipulation"
+plan,0,15,
+plague_doctor_(parasitedeath),4,15,
+pj_berri,4,15,
+pizze,1,15,
+pizza_slut,3,15,
+pixie_willow,1,15,
+pits,1,15,
+pita_potato,1,15,
+pisipisi,1,15,
+pintino,1,15,
+pinot_noir,4,15,
+pinkgagy,1,15,
+pink_text_border,0,15,
+pink_elephant_(dumbo),4,15,
+ping_(superpingmc),4,15,
+pineapple_print,0,15,
+pineapple_(steel_cat),4,15,
+pig_goat_banana_cricket,3,15,
+piercing_glint,0,15,
+pictogram,0,15,
+pi9o,1,15,
+physically_impossible,0,15,
+phrase,4,15,
+phone_ringing,0,15,
+phipaw,0,15,
+philippe_(disney),4,15,
+pharus,4,15,
+phantom_shitter,0,15,
+phantom_1,4,15,
+petunia_(dyna_soar),4,15,
+peter_the_panda,4,15,
+pepper_(miu),4,15,
+pepper_(ketsa),4,15,
+pepper_(gumnutz),4,15,
+penumbra_(penumbra.loran),4,15,
+pentazer,4,15,
+penis_peek,0,15,
+pela_(spikedmauler),4,15,
+pegasus_taur,5,15,"pegasustaur,pterippus_taur"
+peely,4,15,
+peeing_through_panties,0,15,
+peeing_during_sex,0,15,
+pee_inside,0,15,
+pee_circulation,0,15,
+pedro_trezzi,4,15,
+pedicure,0,15,
+pechi,1,15,
+pec_growth,0,15,
+pebblemakes,1,15,
+pearly_the_manta_ray,4,15,
+peach_panther_(kemono_friends),4,15,pink_panther_(kemono_friends)
+payday_2,3,15,
+pawsman,1,15,
+paws_only,0,15,
+paw_on_breast,0,15,
+patti_(chris_chan),4,15,
+patrol_cap,0,15,
+patrick_(a_walk_home),4,15,
+pathesis,1,15,
+pateko,1,15,ぱてこ
+partial_fursuit,0,15,
+parsee_mizuhashi,4,15,
+parking_meter,0,15,
+parker_(kingparked),4,15,
+parasitiform,5,15,"anactinotrichid,anactinotrichida,parasitiforme,parasitiformes"
+papules,0,15,
+paperbagpony,1,15,
+paper_boat,0,15,
+panzie,3,15,
+pants_being_undone,0,15,
+pannonfur,1,15,
+pangdillo,5,15,
+pandora_whitepaw,4,15,
+panda_(jujutsu_kaisen),4,15,
+panapana,1,15,
+pan_hesekiel_shiroi,1,15,
+pan_(dragon_ball),4,15,
+pale_penis,0,15,
+pala,4,15,
+pakyart15,1,15,
+pakkun,4,15,
+pairo,1,15,
+painted-on_mouth,0,15,
+paige_(dj50),4,15,
+pagie_(artist),1,15,
+pagan,0,15,
+paddedpastelprincess,1,15,
+pachira_(magical_pokaan),4,15,
+pabu_(artist),1,15,
+pa'u_oricorio,5,15,
+p3ntavus,1,15,
+ozzan,1,15,
+ozone737,1,15,
+owlfoxxxy,1,15,
+outline_text,0,15,
+out_of_order,0,15,
+ottmaw,1,15,
+otternito,1,15,
+osmoru,1,15,
+os-tan,3,15,os_tan
+orphen,4,15,
+orignal_character,4,15,
+orgasm_request,0,15,
+orgasm_meter,0,15,
+oreo_(whisperfoot),4,15,
+orelia_ratescu,4,15,
+orchidea_(slb),4,15,
+orca24a,1,15,
+orby_(snowstormbat),4,15,
+orbital_habitat,0,15,
+orbeetle,5,15,
+orange_tree,0,15,"orange_trees,orangetree,orangetrees"
+orange_pussy_juice,0,15,
+orange_neckwear,0,15,
+orange_goggles,0,15,orange_googles
+opium,0,15,
+opheober,1,15,
+ophelia_(disambiguation),4,15,ophelia
+opferziege,1,15,
+open_lab_coat,0,15,
+open_dress_shirt,0,15,
+ookami_(wolf_children),4,15,
+onom,3,15,
+onigiri450,0,15,
+one_way_or_another,3,15,
+onaka_itai,1,15,
+on_stack,0,15,
+on_ship,0,15,
+on_fore_legs,0,15,
+on_battlements,0,15,
+omurice-kun,1,15,
+om,1,15,
+olympia_(rivals_of_aether),4,15,
+olivia_deidre,4,15,
+olerr,1,15,
+oldur,4,15,
+oktiwolfik,4,15,
+ojutai,4,15,
+ohnine,4,15,
+oh-onii,1,15,
+oguchi_no_magami_(full_bokko_heroes),4,15,
+octoped,5,15,
+octomush,1,15,
+ocpa_(interspecies_reviewers),4,15,
+obstructed_eye,0,15,
+obsidian,4,15,
+obhan,1,15,
+nyx_(jadony),4,15,
+nythe,4,15,
+nyool_(artist),1,15,
+nymphographic,1,15,
+nykun.,1,15,
+nuzlocke,3,15,
+nuxta_kidlat,4,15,
+nuju,4,15,
+nspg,1,15,
+nsfjude,4,15,
+nsfani,0,15,
+npczoey,1,15,
+npc_trainer,4,15,
+noxseban,1,15,
+novabytes,1,15,
+nova_the_lucario_(character),4,15,
+nova_(lunarmihari),4,15,
+nova_(ashking),4,15,
+noseplay,0,15,
+nose_bondage,0,15,
+nortllos,1,15,
+nora_the_alolan_ninetales,4,15,
+noozeng,4,15,
+nooseplay,0,15,
+noogatdelight_(artist),1,15,
+nolly,4,15,
+noir_(sayakat),4,15,
+noctoon,1,15,
+nobu_baka,1,15,
+noboru,4,15,
+noah_(falcon_mccooper),4,15,
+noa,4,15,
+no-face,4,15,kaonashi
+niya,4,15,
+nix_(jewelpet),4,15,"nix_(jewel_pet),nyx_(jewel_pet),nyx_(jewelpet),sardonyx_(jewel_pet),sardonyx_(jewelpet)"
+nivun_(nivunfur),4,15,
+nivomi,4,15,
+nivawa_(nivawa_and_saitou),4,15,
+nith_(uru),4,15,
+nissan_skyline,3,15,
+nisha_(kobraa),4,15,
+nips_(oc),4,15,
+nipple_jewelry,0,15,
+nipple_analogue,0,15,
+niobe_panteiro,4,15,
+ningigi_(artist),1,15,
+nine-doodles,1,15,
+ninavor,4,15,
+nina_valentine,4,15,
+nina_keller_(kazukio),4,15,
+nina_(nikcesco),4,15,
+nina_(miso_souperstar),4,15,
+nimit,4,15,
+nile,0,15,
+nildusk_(ninstarrune),4,15,
+nilaia,4,15,
+nila_(telepurte),4,15,
+nikukyu,1,15,
+nikki_(verysofisticated),4,15,
+niiya,1,15,
+nii_otter,4,15,
+nightvision_goggles,0,15,
+nightmoonrising_(artist),1,15,
+nightingale,5,15,
+nightfall_(ultrayanto),4,15,
+night_owl_zz,1,15,
+nidi_(donotcry),4,15,
+nicole_evans,4,15,
+nicodemus,4,15,
+nico_(rio),4,15,
+nicky_vicious,4,15,
+nezuseishy,5,15,
+nezuko_kamado,4,15,
+nexrese,4,15,
+nexis3d,1,15,
+newt_(shiro-neko),4,15,
+news_article,0,15,"news_clip,news_clipping,newspaper_clip,newspaper_clipping"
+new_world_blackbird,5,15,
+nero_the_mana,4,15,
+nerinontter,1,15,
+nera_(code-shark),4,15,
+neondragonjay,4,15,
+nennau,4,15,
+nemi_(ecchinemi),4,15,
+nelly_gnu,4,15,
+nelly_(domasarts),4,15,
+nellie_(blackfox85),4,15,
+nella_(sssonic2),4,15,
+nekrozs,1,15,
+nekros_(warframe),4,15,
+nekros_(character),4,15,
+nekotsuki_th,1,15,
+nekono_shippo75,1,15,
+neiri,4,15,
+nega_shantae,4,15,
+neera_(neerahyena),4,15,
+neckline,0,15,
+neck_spots,0,15,
+neck_chain,0,15,
+near_(zaviel),4,15,
+neapolitan_fur,0,15,
+neamo,1,15,
+neala-appaloosa,1,15,
+nayru,4,15,
+navy_hat,0,15,
+nautolan,5,15,
+nathugar,4,15,
+nathalie,4,15,
+nate_(fuze),4,15,
+natasha_klopov,4,15,
+natasha_(creatiffy),4,15,
+nataliya,4,15,
+nat_(drool_cutie),4,15,
+nash_(artist),1,15,
+naschethedoggo,1,15,
+nascentdoom,1,15,
+nasal,0,15,
+narr8,3,15,
+nargacuga_girl,4,15,
+naomi_ritter,4,15,
+naomi_(ltskittles),4,15,
+naomi_(carbuncle),4,15,
+nanobite,1,15,
+nalz,4,15,
+nala_urbff,1,15,
+najti,1,15,
+naji_(lemondeer),4,15,
+naima,1,15,
+nagasava,1,15,
+nadjarelish,1,15,
+nachtmahr,1,15,
+naaka,4,15,
+n3xxys,1,15,
+n00bn00b,1,15,
+mythril_(ultilix),4,15,
+mythological_mandrake,5,15,mandrake
+mythless,1,15,
+mystique_sonia,4,15,
+mystery-grizzly,1,15,
+myra_(anamosus),4,15,
+myra,4,15,
+mynth,1,15,
+myconid,5,15,
+mya_(tangletorn),4,15,
+muzzle_held,0,15,
+mutsuju,1,15,
+mushroom_penis,0,15,
+muscular_dom,0,15,
+mumimilkshakes,1,15,
+mumbo_jumbo_(banjo-kazooie),4,15,"mumbo_(banjo-kazooie),mumbo_(banjo_kazooie),mumbo_(banjokazooie),mumbo_(bk),mumbo_jumbo_(banjo_kazooie),mumbo_jumbo_(banjokazooie),mumbo_jumbo_(bk)"
+multicolored_loincloth,0,15,
+multicolored_fingerless_gloves,0,15,
+multicolored_anus,0,15,
+multicolored_accessory,0,15,
+multi_tone_hands,0,15,
+multi_genitalia_outline,0,15,
+mulgore,4,15,
+mulberry_(mulberrytarthorse),4,15,
+mugging,0,15,
+mtapartstuff,1,15,
+ms_lesser_(teckit),4,15,
+ms._brown_(m_m),4,15,
+mryia,4,15,
+mrmidknight200,0,15,
+mrhl,1,15,
+mr_freckle,1,15,
+mr._weaselbrat_(buddy_thunderstruck),4,15,
+mr._stenchy,4,15,"experiment_254,mr_stenchy"
+mr._pickels_(htf),4,15,
+mr._jawsum,4,15,
+mouth_eye,0,15,
+mouth_coming_off_face,0,15,
+mottirimoto,1,15,
+mother_brain,4,15,
+mosha,1,15,
+mortimer_mouse,4,15,
+mortified,0,15,
+moritani,1,15,
+morinth,4,15,
+morgore,1,15,
+mordona,4,15,
+moosebeam,1,15,
+moonbeamcat,1,15,
+monsters_of_the_sea_2,3,15,
+monster_pony,0,15,
+monster_dog,5,15,
+monster_(monster_hunter),0,15,
+monotone_ring,0,15,
+monotone_ribbon,0,15,
+monotone_knee_highs,0,15,
+monotone_crop_top,0,15,
+monotone_antennae,0,15,
+monokurosekai06,1,15,
+monnsfw,1,15,
+monika_livingstone,1,15,
+monica_(cutiemonica),4,15,
+monarch_com,1,15,
+momo_(sub-res),4,15,
+momentaii,1,15,
+molniya,4,15,
+mokako,1,15,
+mohrahk,4,15,
+mog_(puzzle_bobble),4,15,
+mniampyra,1,15,
+mm007,1,15,
+ml,1,15,
+mizuki_(kutan),4,15,
+mixureru,1,15,
+mituhatiko,1,15,みつはちこ
+mitternacht,4,15,
+mithobits,1,15,
+mitch-kun_(artist),1,15,
+mitch,4,15,
+misutaaurufu,1,15,
+mistrel-fox,1,15,
+mister-saturn,1,15,
+miss_spider,4,15,
+miss.rainbow_dream-panda,4,15,
+miss.chievous,1,15,
+misfitscribbles,1,15,
+mischief_makers,3,15,
+mischevious,0,15,
+miscell,1,15,
+miriam_mendelsohn_(turning_red),4,15,
+mira_singue_(lomidepuzlo),4,15,
+mira_(vladimirpootis),4,15,
+mio_(addickted),4,15,
+minun_(artist),1,15,
+minty_ferret_(fursona),4,15,
+minontui,1,15,
+minion_uniform,0,15,
+minilla,4,15,"baby_godzilla,chibi_godzilla,godzilla_jr,godzilla_jr.,godzilla_junior,junior_(godzilla),junior_godzilla,little_godzilla,little_one_(godzilla),milla_(godzilla),minya_(godzilla),son_of_godzilla"
+mina_draco,4,15,
+min'theron,4,15,
+mimisia2367pony,1,15,
+mimic12455,1,15,
+mimi_(tophatmahoney),4,15,
+mimaz,1,15,
+millkydad,1,15,
+milkyaster,1,15,
+military_beret,0,15,
+miles_kjeller,4,15,
+mikuhoshi,1,15,
+miksu4542,1,15,
+mikomistar,1,15,
+miko_(accelo),4,15,
+mikewulf,1,15,
+mikecrack,4,15,
+mike_the_tiger,4,15,
+mike_black,4,15,
+mike_(furgeon),4,15,
+mik0_(artist),1,15,
+miina,4,15,
+miharu_okami,1,15,
+mighty_morphin_power_rangers,3,15,
+midnytesketch,1,15,
+midnightlion,4,15,
+microphone_in_pussy,0,15,
+micks,4,15,
+mickkeh,1,15,
+mick_(meesh),4,15,
+michelle_(fidchellvore),4,15,
+mibiki,3,15,
+miami,0,15,
+mhhm48759902,1,15,
+metro_cat,4,15,
+metal_legs,0,15,
+metal_head,0,15,
+metal_gear_(series),3,15,
+merryweatherey,1,15,
+merou_(itari),4,15,
+merdreck,4,15,
+merchant_(miso_souperstar),4,15,
+mephitis,0,15,
+meowser_jr.,4,15,
+melting_clothes,0,15,
+melting_(marking),0,15,
+melrat,1,15,
+meloditchi,5,15,
+mellyarts,1,15,
+meljellow,1,15,
+melita_curphy,1,15,
+melisandre_higginbottom,4,15,
+melisa_(missn),4,15,
+melina_(foxyrexy),4,15,
+melina_(elden_ring),4,15,
+melany_erembour,4,15,
+mei_lee_drawing_in_notebook,3,15,mei_lee_writing_in_her_notebook
+mei_(rmaster),4,15,
+mehlahphuse,4,15,
+megavolt,4,15,
+megatron_(beast_wars),4,15,
+megadeth,3,15,
+mega_alakazam,5,15,
+mega_(artist),1,15,
+meep_(lol),5,15,
+meena,4,15,
+mee0118,1,15,
+mediamaster_127,1,15,
+mecha_fist,0,15,
+meani,4,15,
+mean_look,0,15,
+meadow_(character),4,15,
+mcdkmoon,1,15,
+maze_mix,1,15,
+mayogii,1,15,
+maynard0,1,15,
+maykl,4,15,
+maydendressup,3,15,
+maya_(earthclan),4,15,
+maya_(borderlands),4,15,
+may_duck,4,15,
+maxym_(bloopertrooper),4,15,
+maxi,4,15,
+max_(zoroark),4,15,
+max_(mgl139),4,15,
+maws,4,15,
+mawhandling,0,15,
+mavie_(quin-nsfw),4,15,
+maverick_ryders_levin,4,15,
+mattgreenholt,1,15,
+matt_stewart,1,15,
+matilda_(gilbertthepony2),4,15,
+mathias_blackwolf,1,15,mathiasblack
+matching_outfit,0,15,
+masterp123,1,15,
+masquerade_(artist),1,15,
+masiewtf,1,15,
+mashi,1,15,"萬獅,雷歐813"
+masao,1,15,
+marysquid,1,15,
+mary_(wetchop),4,15,
+mary_(neboone),4,15,
+mary_(mary_an_absol),4,15,
+maruzu,1,15,
+marusuke,1,15,
+martiigr5,1,15,
+marthagreydragoness,1,15,
+marshy_(artist),1,15,
+marshmallow_(lunarmarshmallow),4,15,
+marshall_(disambiguation),6,15,marshall
+mars_(plaguedogs123),4,15,
+marrqq,1,15,
+marredpink,1,15,
+marlon_bundo,4,15,
+marko_asward,4,15,
+mark_(marvolk),4,15,
+mark_(jackaloo),4,15,
+mark_(gloebis),4,15,
+marja-leena,4,15,
+maritsu_loli_succubus_youmaen,3,15,
+marith_(helelos),4,15,
+marissa,4,15,
+marion_undyne,4,15,
+marilla_(megustalikey),4,15,
+marigold_(arizel),4,15,
+maria_arvana,4,15,
+maria_(tas),4,15,
+maria,4,15,
+marcy_(marcy's_lewd_images),4,15,
+marcus_(arcarc),4,15,
+marco_marcowitz,4,15,
+marco_(riku9797),4,15,
+marco_(marcopt1),4,15,
+marcius,4,15,
+march_hare,4,15,
+marcfox,1,15,
+marathon_sex,0,15,
+maranma,4,15,
+maranello_(viper_rsr),4,15,
+maple_(jayrnski),4,15,
+mao_(tsurugi),4,15,
+manual,0,15,
+manolion,4,15,
+manny_(character),4,15,
+manick,4,15,
+mangohyena,1,15,
+mango_(turkinwif),4,15,
+maneymaw,4,15,
+mambo_(zp92),4,15,
+malory_(dirtyrenamon),4,15,
+mallow_(bloobiesus),4,15,
+mallory_(disambiguation),6,15,mallory
+mallie_rosenwald,4,15,
+malice_(pinkmoth),4,15,
+malevolified,1,15,
+male_dominating_humanoid,0,15,
+mal_(malshky),4,15,
+makoroll,1,15,
+maki_ressa_ponya,4,15,
+makani,1,15,
+majuv,1,15,
+majorra,1,15,
+mainarts,1,15,
+maiev_shadowsong,4,15,
+maidenless_(meme),3,15,
+maica_(1-upclock),4,15,
+mahsira,1,15,
+mahkara,1,15,
+magmaxox,1,15,
+magma_grunt,4,15,team_magma_grunt
+magician's_red,4,15,
+magicat,1,15,
+maggie_simpson,4,15,
+madras_isadore,4,15,
+madraak,4,15,
+maddy_(starbirbz),4,15,
+maddie_(furf),4,15,
+maddie_(animal_crossing),4,15,
+madame_pom,4,15,
+mad_(series),3,15,
+macro_pov,0,15,
+macro_male,0,15,
+macgregor9797,4,15,
+mabinogi,3,15,
+mab_(dmfa),4,15,
+m16a1,0,15,
+m-oni,1,15,
+lyrin,4,15,
+lyra_(disambiguation),4,15,lyra
+lynette_(oc),4,15,
+lymee_(interspecies_reviewers),4,15,
+lyla_(ehs),4,15,
+lyin,4,15,
+lydia_(disambiguation),0,15,
+lyco_wolf_(character),4,15,
+lycanwolf,4,15,
+lyca_(tempestryder),4,15,
+lwr,4,15,
+lvst,1,15,
+lux_the_rabbit,4,15,
+luvbi,4,15,
+luther_heat,4,15,
+lupin_(lupin's_tales),4,15,
+lupin_(final_fantasy),5,15,
+lupin's_tales,3,15,
+lunarnobis,1,15,
+lunaris_(solarpancake),4,15,
+lunar_eclipse,0,15,
+lunaexhibitix,1,15,
+lunabara,1,15,
+luna_mystique,4,15,
+luna_lovegood,4,15,
+luna_flint,4,15,
+lumpy_space_denizen,5,15,
+lumira_(portals_of_phereon),4,15,
+lumi_(snowyzi),4,15,
+luluwoo,1,15,
+lulu_(mcnasty),4,15,
+lukiru,1,15,
+lukehealy,1,15,
+luke_reinhard,4,15,
+lucyrabbit,4,15,
+lucy_(kfdp),4,15,
+luckyfur,1,15,
+lucky_the_cockatoo,4,15,
+lucinda_(skacoon),4,15,
+lucille_lucien_(fiftyfifthfleet),4,15,
+lucie_(sketchytoasty),4,15,
+lucia,5,15,
+lucas_(zourik),4,15,
+lthsins,1,15,
+lowersun_(melianah),4,15,
+low_ponytail,0,15,
+love_bubble,0,15,
+louis_(ice_age),4,15,
+louiehaas,1,15,
+lotus_the_baphomet,4,15,
+lotus_(whitefeathersrain),4,15,
+lotus_(ketzio_and_gbb),4,15,
+lotus-tree_dragon_(ymbk),4,15,
+lost_silver,3,15,
+loss_of_virginity,0,15,
+losing_control,0,15,
+lorrian,4,15,
+lorisoid,5,15,"lorisiform,lorisiforme,lorisoidea,lorisoidean"
+lore4697,1,15,
+lorddragonmaster,1,15,
+lord_reptilian,4,15,
+lord_(character),4,15,
+lorath_(jagon),4,15,
+lor,4,15,
+lopez_(animal_crossing),4,15,
+loops_boops,1,15,
+looking_nervious,0,15,
+looking_each_other,0,15,
+looking_at_prey,0,15,
+longth,4,15,
+long_scarf,0,15,
+lola_souza,4,15,
+logan_(fox),4,15,
+locke_surnahm,4,15,
+loading,0,15,
+load,0,15,
+lloyd6675,1,15,
+lizzie_yates,4,15,
+lizard_woman_(character),4,15,
+living_shadow,5,15,
+living_cum,5,15,
+littledreamycat,1,15,
+little_egret,5,15,
+little_bo_peep,4,15,
+litmus2,1,15,
+lisfilm,3,15,
+lisa400,1,15,
+liquidxlead,1,15,
+lionet,1,15,
+lionel_(kishiri106_18),4,15,
+linxsysart,1,15,
+linkle_(artist),1,15,
+lilya_nida_(artist),1,15,
+lily_squirrel,4,15,
+lily_(silverfox442),4,15,
+lily_(sff),4,15,
+lily_(draugr),4,15,
+lilly_sallaris,4,15,
+lilly_kangaroo,4,15,
+lilly_evergreen,4,15,
+lilith_(gamila),4,15,
+lilith_(diablo),4,15,
+lilith_(borderlands),4,15,
+lilicia_(joshuad),4,15,
+lilcone,1,15,
+lil_house,1,15,
+likeshine_(character),4,15,
+like_family_by_henbe,3,15,
+lightyear_(film),3,15,
+lightsaber_polearm,0,15,
+lighter_(character),4,15,
+light_piercing,0,15,
+light_neckwear,0,15,
+light_(connivingrat),4,15,
+lieutenant,0,15,
+liesl_whyte,4,15,
+liebling_(artist),1,15,
+library_velk_anon,1,15,
+lian_(species),5,15,
+liam_(duo),4,15,
+liaka_(meredies),4,15,
+liaaqila,1,15,
+lhiri,4,15,
+lhira_(chrislhi),4,15,
+lexros_rayzr,4,15,
+lewlem,1,15,
+lewdtoonyguy,1,15,
+lewdlilies,1,15,
+levionb123,1,15,
+levi_(zaush),4,15,
+lever_action,0,15,
+lev_(xeono),4,15,
+lev_(ghangaji),4,15,
+leslie_dipietro,4,15,
+leslie_(furfragged),4,15,
+leria_v,1,15,
+leopold_the_cat,4,15,
+leopold_butters_stotch,4,15,
+leonstar,1,15,
+leonardo_(dragonasis),4,15,
+leonard_(sequential_art),4,15,
+leona_(lionalliance),4,15,
+lentoto,1,15,
+lenna_charlotte_tycoon,4,15,
+lena_(droll3),4,15,
+lemur_humanoid,5,15,
+lemon_demon,3,15,
+lemon_bounce,4,15,
+lemon_andy,1,15,
+leisure_suit,0,15,
+leiland_snowpaw,4,15,
+leila_(zaggatar),4,15,
+leila_(tits),4,15,
+leila_(suger_phox),4,15,
+leila,4,15,
+leigu_bear,1,15,
+lei_yun,4,15,
+legs_held,0,15,
+legoshi's_chimera_(beastars),4,15,
+leg_support,0,15,
+leeta_wolf_(character),4,15,
+lee_(oreocakes),4,15,
+leather_bra,0,15,
+leashed_gynomorph,0,15,
+leaning_on_fence,0,15,
+leaning_aside,0,15,
+leafy_boi,1,15,
+leaf_pubes,0,15,
+le_quack,4,15,
+lazyraincrafts,1,15,
+lazarus,4,15,
+lavah,1,15,
+laur,1,15,
+latex_outfit,0,15,
+latara,4,15,
+laszlo_stollar,4,15,
+lasso_(lasso),4,15,
+lass,4,15,
+lasair,4,15,
+large_gape,0,15,
+lar_gibbon,5,15,
+lappy_(astral_chain),4,15,
+landylachs,1,15,
+lance_anders,4,15,
+lana_jamisson,4,15,
+lamarkey,1,15,
+laki,4,15,
+lakashb12,1,15,
+laizd,1,15,
+laika_(pj1191),4,15,
+laersect,4,15,
+ladywitchfox,1,15,
+ladypot,0,15,
+lady-tragedy,1,15,
+labbeh,4,15,
+l33t_(labbit1337),4,15,
+kyururu,4,15,kyururu_(kemono_friends)
+kyuranya_(darfix),4,15,
+kyulix,4,15,
+kyrie_burnheart,1,15,
+kyomiqc,1,15,
+kyomana,1,15,
+kyokj,1,15,
+kyoki,4,15,
+kyngal,0,15,
+kyle_(sleepytoy),4,15,
+kyera_angelus,4,15,
+kyari,4,15,
+kyara_(tanenjo),4,15,
+kut_kurry,1,15,
+kusty,1,15,
+kusho,4,15,
+kura_rikko,1,15,
+kumbhira_(granblue),4,15,
+kumandra,0,15,
+kumama,4,15,
+kudagitsune,5,15,
+kubwa,4,15,
+ksapphire8989,1,15,
+ks2020202,1,15,
+krystedez,1,15,
+krossan_(artist),1,15,
+krisztina,4,15,
+kristy_winters_(lildredre),4,15,
+kris_(koyote),4,15,
+kris_(excitedcargoyle),4,15,
+krieg_gsd,4,15,
+krevaan_(cometfox),4,15,
+kreic_(character),4,15,
+kreddits,1,15,
+kraken_d'orca,4,15,
+kovicat,4,15,
+kou_(granblue_fantasy),4,15,
+kot_leopold,3,15,
+korzair_lion,4,15,
+koryse,1,15,
+korrus,4,15,
+korrie_(character),4,15,
+kornepheross,1,15,
+koriinu,1,15,
+korath,4,15,
+kookiet,4,15,
+kommi_hornblow,4,15,
+kolin_novak,4,15,
+kokushiki,1,15,
+koku_(tattoorexy),4,15,
+kokonoe_kokoro,4,15,
+kody_fryzma,1,15,
+kodayu,1,15,
+koda_kins_(koda-kins),4,15,
+kockasfulu_nyul,4,15,
+ko-mori,3,15,
+knoll-noru,1,15,
+knightcaptainalexandr,1,15,
+kneeling/standing,0,15,
+knee_bent,0,15,
+klipspringer,5,15,
+klimiont,1,15,
+klaus_(world_flipper),4,15,
+klandagi,4,15,
+kkittynomore,1,15,
+kjm_video,1,15,
+kittyfred,1,15,
+kitty_shoelace,1,15,
+kitsunekakko,1,15,
+kitsune_(hotel_transylvania),4,15,
+kitsona,1,15,
+kitou_en,1,15,
+kitonkurai,1,15,
+kite_(kitedafennec),4,15,
+kit_renard,4,15,
+kisuki,4,15,
+kisuka,4,15,
+kissyfur,3,15,
+kissing_feet,0,15,
+kishirika_kishirisu,4,15,
+kishiri106_18,1,15,
+kish_fox,4,15,
+kirrol,1,15,
+kirino03,1,15,
+kirchen,1,15,
+kirby's_dream_land,3,15,
+kirani_art,1,15,
+kiraco,1,15,
+kira_(skipsy),4,15,
+kip_(sigma_x),4,15,
+kio,1,15,
+kinta,1,15,
+kinos_tigre,4,15,
+kinnachan456,1,15,
+kinksty,1,15,
+kinix,1,15,
+kinglazereth,1,15,
+kingkapwn,4,15,
+kingbee,1,15,
+king_knight,4,15,
+king_gelatinous,4,15,
+kin,3,15,
+kimber_(blackfox85),4,15,
+kimaru_nodeka_(varnaabsolute),4,15,
+kim(racingtime244),4,15,
+kilowog,4,15,
+kilo_(fishbook5),4,15,
+killigan's_treasure,3,15,
+killcuspid,1,15,
+kikuro,1,15,
+kikis-art-journey,1,15,
+kiki_(miracle_star),4,15,
+kiki_(arachnymph),4,15,
+kikagaro,1,15,
+kiirono,1,15,
+kieth,4,15,
+kiesan,1,15,
+kieran_eelrex,4,15,
+kien-biu,1,15,
+kichigai,1,15,
+kibbychuu,1,15,
+kiba_wolfbane,4,15,
+kiba_(nav),4,15,
+kian_donavah_(nokamiwd),4,15,
+ki_haru,1,15,
+ki_(kithetiger),4,15,
+khorax,4,15,
+khexxi,1,15,
+khary_randolph,1,15,
+khana,4,15,
+khan_(jeanx),4,15,
+khagra_(character),4,15,
+kevin_(godzilla),4,15,
+ketuusage2,1,15,
+kettimurr,1,15,
+ketsu_(dragonketsu),4,15,
+ketrindarkdragon,1,15,
+ketchup_bottle,0,15,
+keshacarami,1,15,
+keryth,1,15,
+kerot,4,15,
+kerime_(trololohstuffs),4,15,
+keni_kun_sama,1,15,
+kendra_nails,4,15,
+kenaihand,1,15,
+kemonoruka_(artist),1,15,
+kelly_(character),4,15,
+keldia,4,15,
+keith_(lightsource),4,15,
+keilia_kalamity_ogre,4,15,
+keeva,4,15,
+kazumafox,4,15,
+kaylin_crest,4,15,
+kawakami_masaki,1,15,
+kawaiihuguri,1,15,
+kavidex_raeys,4,15,
+katya_(borba),4,15,
+katy_o'kitty,4,15,
+katou,1,15,
+kato1995kk126,1,15,
+kathmandu,1,15,
+katherine_(katmorgan),4,15,
+kate_(tomlad),4,15,
+kate_(pino.noir),4,15,
+kate_(8chan),4,15,
+kat_(meowth),4,15,
+kassataina_vodyana,4,15,
+kasier_relkin,4,15,
+kartobes,1,15,
+karoshi_satan,1,15,
+karina_(macmegagerc),4,15,
+karen_(frosty),4,15,
+karbik_(fursona),4,15,
+kara_(daloaf),4,15,
+kaprikaaz,1,15,catrinathedemon
+kankri_vantas,4,15,
+kang,4,15,
+kanehei,4,15,
+kane_herkel,4,15,
+kane_(crocobu),4,15,
+kandikatkay,1,15,
+kanata,1,15,
+kamina_shades,0,15,
+kamasutra,0,15,
+kalua,4,15,
+kalt_(spwalo),4,15,
+kalmlyhere,1,15,
+kallamar_(cult_of_the_lamb),4,15,
+kalira_(acnoisbae),4,15,
+kalia_(kaggy1),4,15,
+kalenai,4,15,
+kalah_(plankboy),4,15,
+kala_(raljoy),4,15,
+kaiya_jounetsu,4,15,
+kain_vanderhilt,4,15,
+kaimon_(km-15),4,15,
+kaikiato,1,15,
+kaiduka_akuta,1,15,
+kagura,4,15,
+kage_(naffy),4,15,
+kage_(faolanwolfsavor),4,15,
+kaezer_greer_(ragingmoonbeam),4,15,
+kaan_rawy,1,15,
+k9onion,1,15,
+jämthund,5,15,"jamthund,swedish_elkhound"
+juugoya_runa,1,15,
+jutorry,1,15,
+justin_daniels,4,15,
+justice_league_unlimited,3,15,
+jupiter_symbol,0,15,
+junkiesnewb,1,15,
+jumwo,4,15,
+jumping_jackal,5,15,
+julian_marcel,4,15,
+judo,0,15,
+judasyfox,1,15,
+juacamo,1,15,
+ju,4,15,
+jt,1,15,
+jovo,1,15,
+jovalic,1,15,
+josh_(suddenlyjosh),4,15,
+jorm,4,15,
+jordan_rinehart,4,15,
+jordan_bouchard_(marmalademum),4,15,
+joraglove,1,15,
+jonathan_the_awesome,1,15,
+jon_wildmane,4,15,
+jollux_(artist),1,15,
+joker,4,15,
+jojo_(best_fiends),4,15,
+johnathan_(smallcircles),4,15,
+johann_bodin,1,15,
+joeyh3,1,15,
+joen,4,15,
+joe_wolf,4,15,
+jo_(modern_bird),4,15,
+jiru_(pomegraniter),4,15,
+jirs,1,15,
+jinn24149477,1,15,
+jingle,4,15,
+jimmy_two-shoes,3,15,
+jiminy_cricket,4,15,
+jillgglypuff,4,15,
+jill_(disambiguation),6,15,jill
+jill_(blackfox85),4,15,
+ji_(jishinu),4,15,
+jhussethy,1,15,
+jhall,1,15,
+jeykey95,1,15,
+jewl_(puppkittyfan1),4,15,jewl_(puppychan48)
+jewelry_glint,0,15,
+jetstarred,1,15,
+jetoma,4,15,
+jetn,1,15,
+jethro_von_mews,4,15,
+jet_fighter,0,15,
+jessoji,1,15,
+jessie_lockhart,4,15,
+jessie_(znr),4,15,
+jessica_jack,4,15,
+jess_(starbearie),4,15,
+jeschke_(character),4,15,
+jeremy_(twang),4,15,
+jera_(homolution),4,15,
+jenz,4,15,
+jensen_(character),4,15,
+jenny_foxworth,4,15,
+jenny_(purplelemons),4,15,
+jenn_(jackaloo),4,15,
+jen_(scottc),4,15,
+jen-iii,1,15,
+jeffieb19,1,15,
+jdan-s,1,15,
+jbcoyote_(artist),1,15,
+jayde_(caeleste),4,15,
+jay_feroux,4,15,
+jax_(lol),4,15,jax_(league_of_legends)
+jawbreaker,0,15,
+jathan_lancet,4,15,
+jason_tripps,3,15,
+jason_felix_(character),4,15,
+jaribka,1,15,
+japanese_boar,5,15,"inoshishi,white-moustached_pig,white_moustached_pig,yama_kujira"
+january3rd,1,15,
+janine_(socksthesneaky),4,15,
+jane_(artca9),4,15,
+jandan,1,15,
+janarr,4,15,
+jamie_(tenpoundhammer),4,15,
+jake_(nerishness),4,15,
+jake_(airu),4,15,
+jaid,4,15,
+jaeger,5,15,
+jade_the_valkyria_dragon,4,15,
+jade_(airheart),4,15,
+jacqueline_(characters),4,15,
+jackle_app,1,15,
+jackie_hiero,4,15,
+jackie_(sergiroth),4,15,
+jackal_squad,4,15,
+jackace_(artist),1,15,
+jack_(theredhare),4,15,
+jack_(ajdurai),4,15,
+jabberwock,5,15,
+jabari_(megajeff1989),4,15,
+jab,1,15,
+ja'rah,4,15,
+j_(shmallow),4,15,
+j.b._chimpanski,4,15,j.b._chimpanski_(fortnite)
+j-m,1,15,
+izaart,1,15,
+iyx,1,15,
+iw2kmsrn,1,15,
+ivy_rose,4,15,
+ivana_golyera,4,15,
+ius-iuris,1,15,
+itsunny,4,15,
+itsthedoodleden,1,15,
+itsover900o,1,15,
+ithan_van_gurp,1,15,
+itg_crossgender,0,15,
+isuruki_kotetsu,1,15,
+istysaya,4,15,
+issiki_kikaidou,1,15,
+issac_(e254e),4,15,
+island_kahuna_nanu,4,15,"nanu_(pokemon),nanu_(pokémon)"
+iskai,5,15,
+ishiga,4,15,
+isfy,1,15,
+isadora,1,15,
+isabelleorgasms,1,15,
+isabelle_(r-mk),4,15,
+isaac_(cheesecrumbles),4,15,
+irudana,1,15,
+iriska_(bonifasko),4,15,
+iris_the_cat,4,15,
+iridon,4,15,
+io-sera,4,15,
+invocation,0,15,
+intruder,0,15,
+intersex_rimming_male,0,15,
+internal_monologue_outside_panel,0,15,
+internal_handjob,0,15,
+intake,0,15,
+instructor,0,15,
+inside_sock,0,15,
+ino,1,15,
+inn_sisters,0,15,
+inku_the_shiba_inu,4,15,
+inklion,0,15,
+inkinesss,1,15,
+inkfang,1,15,
+inkeranon,1,15,
+inkblot123,1,15,
+inian,4,15,
+ingrid_(urw),4,15,
+infectious,0,15,
+indigo_body,0,15,
+indeigo,1,15,
+incubus-rising,1,15,
+in_space,0,15,
+in-and-awoo,3,15,
+imsofckinlost,1,15,
+improvised_toilet,0,15,
+improvised_partner,0,15,
+impregnation_failure,0,15,
+implied_threesome,0,15,
+imperfectflame,1,15,
+impending_transformation,0,15,
+imminent_snuff,0,15,
+imiak_(character),4,15,
+imari_(nerosasto),4,15,
+imako-chan,1,15,
+ilorek,4,15,
+ileomaru,1,15,
+ikura-maru,1,15,
+ikouzhy,1,15,
+iko_(trias),4,15,
+ikit_claw,4,15,
+ike_(ikeywike),4,15,
+ike,4,15,
+iie_efg,1,15,
+ignisbatt,1,15,
+iggy_(bornvictim),4,15,
+idobata_hp,1,15,
+idea_bulb,0,15,
+ichi,4,15,
+iceleomon,5,15,snowleomon
+icecapers,1,15,icecapers_(artist)
+ice_scream,3,15,
+ice_cream_sundae,0,15,
+ice_cream_(tokifuji),4,15,
+ice_cap,4,15,
+ibsn,1,15,
+ibityuttyu,1,15,"aimitsu,yr_aimt"
+iamzoey,1,15,
+hypnobazaar,1,15,
+hyper_lower_lip,0,15,"giant_bottom_lip,giant_bottom_lips,giant_lower_lip,giant_lower_lips,hyper_bottom_lip,hyper_bottom_lips,hyper_lower_lips"
+hyper_drive,0,15,
+hyoushi_maigo,1,15,
+huron_(kauli),4,15,
+hunting_rifle,0,15,
+hunter_(knotsosfw),4,15,
+hungrysohma16,1,15,
+human_skin_colored_horn,0,15,
+hugging_tongue,0,15,
+hugging_partner,0,15,
+huge_resolution,0,15,
+huge_mouth,0,15,
+huge_egg,0,15,
+huge_cumshot,0,15,
+hug_invitation,0,15,
+huey_(huehuecoyotl),4,15,
+hu_tao_(genshin_impact),4,15,
+hti_crossgender,0,15,
+htg_crossgender,0,15,htd_crossgender
+htf_crossgender,0,15,
+hryssar,4,15,
+howling_at_the_moon,0,15,
+hours,4,15,
+hot_dog_princess,4,15,hotdog_princess
+hot-shelter,1,15,witbutch
+horseshoe_crab,5,15,"xiphosura,xiphosuran"
+hornpot,4,15,
+hope_brielle_(character),4,15,
+hope(n_forever),1,15,
+hop_(dragon_ball),4,15,
+honnomusi323,1,15,
+honey_(kaiven),4,15,
+honda_civic,3,15,
+homura_(rushthewolf),4,15,
+homura,1,15,
+holly_(igph),4,15,
+holding_vita,0,15,
+holding_tree,0,15,
+holding_torso,0,15,
+holding_teddy_bear,0,15,
+holding_smoking_pipe,0,15,
+holding_quill,0,15,
+holding_butterfly_net,0,15,
+holding_briefcase,0,15,
+holding_banner,0,15,
+hoksho,5,15,
+hohoro,1,15,
+hochudeneg,1,15,
+hiwa_bakurou,4,15,
+hitoshi_ariga,1,15,
+hishi_amazon_(pretty_derby),4,15,
+hirple,4,15,
+hirokitty,1,15,
+hiro-sama,1,15,
+hirichie,1,15,
+hipsterkatart,1,15,
+hip_window,0,15,
+hinyo842998,1,15,
+hindpaw_(artist),1,15,
+himitsu_chan,4,15,
+himegoto123,1,15,
+hika_(character),4,15,
+hiiro_h,1,15,
+highforce059,1,15,
+high_impact_(character),4,15,
+hieda_no_akyuu,4,15,
+hido,4,15,
+hidewolff,1,15,
+hide_dragon,0,15,
+hiddenrynk,1,15,
+hidalgo_(fursona),4,15,
+hibiki_otsuki,4,15,
+hexuas_sword,4,15,
+hexa,4,15,
+hex_pen_(oc),4,15,
+hex_(satanic-furry),4,15,
+herrerfx,1,15,
+herrah,4,15,
+heroes_(disambiguation),3,15,heroes
+herm_penetrating_andromorph,0,15,"h/p/am,h/p/c,herm_penetrating_cboy,herm_penetrating_cuntboy,herm_penetrating_cuntman"
+hentai_shinshi,1,15,
+hemicorporectomy,0,15,
+hello_kiki,3,15,
+helios,4,15,
+helen-ink,1,15,
+heket_(cult_of_the_lamb),4,15,
+heiter_alium,4,15,
+heffalump,5,15,
+heel_fur,0,15,
+hedges,0,15,
+hedgehogtheluh,1,15,
+heckel_(coc),4,15,
+heavyteeth,1,15,
+heartshot,0,15,
+heartbunny,1,15,
+headset_(character),4,15,
+headphone_jack,0,15,
+head_mouth,0,15,
+hazard_drake,4,15,
+haysel,4,15,
+haya_(dandarkheart),4,15,
+hawthorne_(rhari),4,15,
+hawkpelt,4,15,
+haw,4,15,
+havney,4,15,
+hashioaryut,1,15,
+haruba_(kurorak),4,15,
+harriet_(kitfox-crimson),4,15,
+harpyqueen,1,15,
+harley,4,15,
+hareboy_(little_hareboy),4,15,
+happa,1,15,
+hanon_(editor),1,15,
+hanna_(jknewlife),4,15,
+hands_on_furniture,0,15,
+hand_on_underwear,0,15,
+hand_on_pelvis,0,15,
+hand_on_jaw,0,15,
+hand_in_clothing,0,15,
+hand_above_breast,0,15,
+hanageruge,1,15,
+hanagasa,1,15,
+haley_saito,4,15,
+hakuro_(ginga),4,15,
+hakuri,4,15,
+hakonsfm,1,15,
+hair_strands,0,15,
+hair_horn,0,15,hair_horns
+hair_flip,0,15,
+hailstorm,4,15,
+hagakure_toru,4,15,
+haforien_(character),4,15,
+hadkwa_(character),4,15,
+habiyeru,1,15,
+habenerohero,1,15,
+haado,1,15,
+h_raptor,4,15,
+h-yena,1,15,
+gyuumu,1,15,
+gyro_(ner0_kobold),4,15,
+gynomorph_fingering_male,0,15,
+gwenllian_reece,4,15,
+guzu_kuo,1,15,
+guyfuy,1,15,
+gustave_le_grand_(mlp),4,15,
+gusta,1,15,
+gurugano,1,15,
+guppo,1,15,
+gumnutz:_a_juicy_tale,3,15,
+gullible,0,15,
+guardianofire,1,15,
+gsg9,3,15,
+grypher,1,15,
+gryf,1,15,
+grunn_(dreamkeepers),4,15,
+grubbutts,1,15,
+growly,4,15,
+growlchu,4,15,
+groaning_balls,0,15,
+grizzly_(character),4,15,
+gripping_tail,0,15,
+grimm_child,4,15,
+grimhilde,4,15,
+grim_foxy_(fnaf),4,15,
+griggle,4,15,
+griffon_(hexthegon),4,15,
+griffnfox,1,15,
+grey_torso,0,15,
+grey_boxer_briefs,0,15,
+grey_(catbed),4,15,
+grendel_(word360),4,15,
+greentea,4,15,
+greenpidge_(artist),1,15,
+green_sheets,0,15,
+green_milk,0,15,
+green_leg_warmers,0,15,
+green_headphones,0,15,
+green_feces,0,15,green_poop
+green_boxers,0,15,
+green_ball_gag,0,15,
+green_back,0,15,
+greater_basilisk,5,15,
+great_red_siberian,4,15,
+grayffo,4,15,
+gray_(atelier_iris),4,15,
+gravy_(rimscrummy),4,15,
+grasswind,4,15,
+grant_(sirgallade),4,15,
+grand_theft_auto:_vice_city,3,15,"grand_theft_auto_vice_city,gta_vc,gta_vice_city,gtavc,vice_city"
+grancoon_(infernal-beggar),4,15,
+gradient_dildo,0,15,
+gracie_(sweetcupcake),4,15,
+gow_the_bangkaew,4,15,
+gothic_architecture,0,15,
+goth_(character),4,15,
+gorillakingh_(artist),1,15,
+good4life4ever,1,15,
+goobermation,1,15,
+goober_mcdoober,4,15,
+goo_string,0,15,
+gondola_lift,0,15,
+gondola_(boat),0,15,
+golly_gopher,4,15,
+goldie_(sirholi),4,15,
+golden_sword,0,15,
+golden_labrador,5,15,
+golden_egg,0,15,
+golden_earrings,0,15,
+golden_eagle_(wod),4,15,
+golden_delicious,4,15,
+gold_topwear,0,15,
+gold_shackles,0,15,
+gold_neckwear,0,15,
+gogo_tomago,4,15,
+goddesses-of-i-c-e,1,15,
+goddess_ishtar,1,15,
+goat_simulator,3,15,
+glydon_(super_mario_odyssey),4,15,
+glowing_eyebrows,0,15,
+glowing_antlers,0,15,
+gloedik,1,15,
+glitch-,1,15,
+glistening_sheath,0,15,shiny_sheath
+glistening_cup,0,15,shiny_cup
+gleam_volcanins,4,15,
+glaucous_grey,1,15,
+glacier_up_sun,1,15,
+gisel_geller,4,15,
+girgrunny,1,15,
+gingerbeer,1,15,
+ginger_(chicken_run),4,15,
+ginger-dilettante,1,15,
+gin_sanada,1,15,
+gideon's_bestiary,3,15,
+gibudibu,1,15,
+giblet,5,15,
+giakouworks,1,15,
+ghostly,0,15,
+ghostbun,1,15,
+ghost_stories_(anime),3,15,
+ghost_(starcraft),4,15,
+ghaaro,4,15,
+geth_prime,5,15,
+gertie,4,15,
+german_suplex,0,15,
+german_spitz,5,15,"deutscher_spitz,deutscher_spitze,german_spitze"
+genu,1,15,
+genital_fluids_pool,0,15,
+genital_fluids_from_penis,0,15,
+genesys_(lamont786),4,15,
+generalbutch,1,15,
+general_(rank),0,15,
+gendrome,5,15,
+gemini_(zodiac),4,15,
+gear_(dhalo),4,15,
+gavin_(dradmon),4,15,
+gathering_wood,0,15,
+garth_(character),4,15,
+garnet_(frostburn),4,15,
+ganz,4,15,
+gangerr,4,15,
+gameboy_advance,3,15,gameboy_advanced
+game_box,0,15,
+galina_arktandr,4,15,
+galaga,3,15,
+gaius_(argon_vile),4,15,
+gadel_al'gera,4,15,
+gaaabbi,4,15,
+g_(doneru),4,15,
+g-raven,1,15,
+fystilago,4,15,
+furvo,1,15,
+furry,6,15,
+furries_tetras,1,15,
+furred_tail,0,15,
+furred_boots,0,15,
+furewix,1,15,
+furby_birby,1,15,
+fur_scarf,0,15,
+fur-trimmed_jacket,0,15,
+funn_the_gardevoir,4,15,
+fully,0,15,
+fullbody_suit,0,15,
+fukkusu,4,15,
+fujiyama,1,15,
+fujiqaq,1,15,
+ftrccn,1,15,
+fruit_punch,0,15,
+frozen_soul,4,15,
+frozen_horn,0,15,
+frosty_winds,4,15,
+frostwyrm,5,15,
+frostclaw,1,15,
+frostborn,4,15,
+frostbite_(character),4,15,
+frost_(sftsl),4,15,
+fringie,1,15,
+frilly_socks,0,15,
+frilly_pillow,0,15,
+freyja_(pinkpantypirate),4,15,
+freya_aeternum,4,15,
+freefallen,1,15,
+free_flow_layout,0,15,
+fredkakes,1,15,
+frederick,4,15,
+freddy_frostbear,4,15,
+freakazoid!,3,15,
+frea_(pickles-hyena),4,15,
+frau_gidean,4,15,
+frappuccino,0,15,
+frankenjade,1,15,
+francesca_lucchini,4,15,
+foxie_group_pty_ltd,3,15,
+foxie_(foxie_group_pty_ltd),4,15,
+foxgoo,1,15,
+foxbl,1,15,
+fox_plushie,0,15,
+four_of_spades,0,15,
+fountain_malchemy,1,15,
+foster_(crayonzii),4,15,
+fortune_(flamespitter),4,15,
+forced_pull_out,0,15,
+foot_tickling,0,15,
+foot_on_sofa,0,15,
+foot_on_body,0,15,
+foot_hug,0,15,
+fmakitties,3,15,
+flying_princess_pony_head,4,15,
+fluffy_elbows,0,15,
+florina_(mlp),4,15,
+floramon_(survive),4,15,
+flora_(caffeinatedsins),4,15,
+floopysnow,4,15,
+flog,0,15,
+flint_king_(character),4,15,
+flexing_butt,0,15,
+fleufy,1,15,
+flesh_dreadlocks,0,15,
+flashwing,4,15,
+flaros_overfield_(artist),1,15,milanise7en
+flare-zen,1,15,
+flannaganthered,1,15,
+flamin-hoots,1,15,
+flamewar_(transformers),4,15,
+flamedrake,4,15,
+flag_on_sand_castle,0,15,
+fizzyspidercider2,1,15,
+fitna_(the_donkey_king),4,15,
+fisticuffsclub,1,15,
+fire_ruby,0,15,
+fire_princess,4,15,
+fire_flare_(mlp),4,15,
+fire_dragon_(kame_3),4,15,
+fire_belt,0,15,
+fips,1,15,
+fiona_(whateverthefox),4,15,
+finrod,4,15,
+finish_line,0,15,
+fingerguns,0,15,
+finger_on_lip,0,15,
+fineola,4,15,
+fineeve_the_wolf_soldier,4,15,
+final_fantasy_iii,3,15,
+final_fantasy_i,3,15,
+final_fantasy_crystal_chronicles,3,15,
+fin_the_fox,4,15,
+filumbitu,1,15,
+film_strip,0,15,
+fifi_(smurli),4,15,
+fiend_(the_witcher),5,15,
+fey96,1,15,
+ferin,1,15,
+feral_to_inanimate,0,15,
+fer.al,3,15,
+fenvix_drake,4,15,
+fenthesloth,4,15,
+fenrox,1,15,
+fenrakk,4,15,
+fenomenan,5,15,
+fennefox,1,15,
+fennec_taur,5,15,
+fennah,3,15,
+fen_(chemicalcrux),4,15,
+femcel_bun,4,15,
+female_fingering_herm,0,15,
+felyveon,4,15,
+felixfellow,1,15,
+felineblack_(artist),1,15,
+felicia_hardy,4,15,
+felicia_(jwinkz),4,15,
+felibug,4,15,
+feladi,4,15,
+feildmarshallwolf,1,15,
+fedoguck,1,15,
+feazelbal,1,15,
+fazzer12,1,15,
+fayroe,4,15,
+faye_(rockerbobo),4,15,
+faux_paw,4,15,
+fatalglory128,1,15,
+farrah_(ceeb),4,15,
+faronir,1,15,
+farmd,3,15,
+farley_(kyaramerucocoa),4,15,
+farionelle,1,15,
+faraday_(warfaremachine),4,15,
+fangz_the_bat-dragon,4,15,
+fan_no_hitori,1,15,
+falyx,4,15,
+fallouttabby,1,15,
+falling_star,0,15,
+fall_in_love_with_creatures!_kokonoe_kokoro,3,15,
+fala_delamere,4,15,
+faith_connors,4,15,
+fafaqweqwe,4,15,
+fading,0,15,
+faded,0,15,
+facing_partner,0,15,
+face_latch,0,15,
+f-kn,1,15,
+f-euphrates,1,15,
+f-15,0,15,
+ezume_90,1,15,
+ezri,4,15,
+ezorenge,1,15,
+ezechiel,4,15,
+eyvind,4,15,
+eyeofcalamity_(character),4,15,
+eyegis-garr,1,15,
+eyebrow_slits,0,15,
+eye_flame,0,15,
+extremelydevious,1,15,
+extra_legs,0,15,
+exposed_hips,0,15,
+exposed_glans,0,15,
+exposed_bra,0,15,
+explosivegent,1,15,
+explicit_source,0,15,
+expansion_while_penetrating,0,15,
+exosuit,0,15,
+exodai,4,15,
+excelia_(roninsong),4,15,
+ewenkarma,1,15,
+ewan_(techorb),4,15,
+evo_cyber_mink_(oc),4,15,
+evion,1,15,
+eviemuller,4,15,
+evie_(latchk3y),4,15,
+everyman,4,15,
+everhood,3,15,
+evelyn_(notjustone),4,15,
+ett01024,1,15,
+esthervanhulsen,1,15,
+esperanto_text,7,15,
+esha_(rukis),4,15,
+errol_(fauxpawe),4,15,
+eromangaka,1,15,
+erilo_crown,4,15,
+erijt,1,15,
+erickatailsko,1,15,
+eric1947,1,15,
+eress,1,15,
+era_(artist),1,15,
+epsilon_eagle_(character),4,15,
+eponymous,1,15,
+epoch_the_deer,4,15,
+epaulette_shark,5,15,
+eos_(ffxiv),4,15,
+eon54,1,15,
+envoy_(kokoro-doll),4,15,
+environmental_suit,0,15,
+entrogos,4,15,
+enster_(artist),1,15,
+enguarde,4,15,
+engi,5,15,
+enenra,4,15,
+endiu,4,15,
+endigo,4,15,
+enderpup,5,15,
+enchanted,3,15,
+emperor_awesome,4,15,
+emokuro,4,15,
+emilytf,1,15,
+emily_(xmetalhusky),4,15,
+emil-gee,1,15,
+emiiz,1,15,
+emerycallahan,1,15,
+ember_gleam_(oc),4,15,
+ember_folf,4,15,
+ember_(mcfli),4,15,
+ember_(emberbraix),4,15,
+emad_the_cubone,4,15,
+em805,1,15,
+elzy,1,15,
+eltonel,1,15,
+ellyna_(tolerain),4,15,
+ellie_(paige),4,15,
+elli_(livinthelife0friley),4,15,
+ellery,4,15,
+elle_(ooo-belise-ooo),4,15,
+elizabeth_larranaga_(pluvioskunk),4,15,
+eliza_esposito,4,15,
+eliza_(darkeeveeon),4,15,
+elixir_(artist),1,15,
+elisalevin,1,15,
+elijah_husky,4,15,
+elie-s_den,1,15,
+eliana,4,15,
+eli_(shabadablue),4,15,
+elfox691,1,15,
+elesh_norn,4,15,
+elaine_claire,4,15,
+ekz,1,15,
+eikichi,1,15,
+eight_frame_grid,0,15,
+eggy-b-official,1,15,
+eerie,4,15,
+edith_(hioshiru),4,15,
+eda_(terrythetazzytiger),4,15,
+eclypseskunk,4,15,
+eclipse_phase,3,15,
+eclair_martinozzi,4,15,
+echo_(kouryuuorochi),4,15,
+ebony_the_cat,4,15,
+ebony_(awoogasm),4,15,
+eazilyamewzed,1,15,
+eastern_quoll,5,15,
+earth_ookami_iram,1,15,
+earth_fox,4,15,
+earth_day,3,15,
+earl_polar,4,15,
+ear_bell,0,15,
+eabha,4,15,
+e_(doneru),4,15,
+dédépinel,1,15,
+duvet,0,15,
+dutch_flag,0,15,
+dustoxin,1,15,
+dust-kun,1,15,
+dus_the_tsukaimon,4,15,
+durr,4,15,
+durpy,1,15,
+duncan_(tomierlanely),4,15,
+dumper,1,15,
+dumdog,1,15,
+duke_of_dangers_(artist),1,15,
+duffy_and_friends,3,15,
+duckydeathly,1,15,
+dubstepina,1,15,
+drum_skunk,1,15,
+dropping_writing_utensil,0,15,
+drom,5,15,
+driverbunny37,1,15,
+drip_(sound_effect),0,15,
+drinking_own_milk,0,15,
+drill_sergeant,0,15,
+drewski,4,15,
+dreigon_dragark,4,15,
+dreamy_eyes,0,15,
+dreamcreatures,3,15,
+dream_weaver_pony,1,15,
+dream_serpent,5,15,
+dream_demon_(cresce_zoroark),5,15,
+dreadlord,5,15,
+draya_(windborn),4,15,
+drakez,1,15,
+draken_(idgcaptainrussian94),4,15,
+drakemohkami_(character),4,15,
+drained,0,15,
+drain_pipe,0,15,
+drahi,1,15,
+dragonicxs,1,15,
+dragoncrescent,1,15,
+dragon_ball_heroes,3,15,
+dragon171,1,15,
+dragocorn,1,15,
+drag_queen,0,15,
+draconicdeity,1,15,
+draco_(pizzacat),4,15,
+doves_(artist),1,15,
+douglas_pope,4,15,
+douglas_cat,4,15,
+doug_(ac_stuart),4,15,
+double_fingering,0,15,
+double_colon_(djdavid98),4,15,paamayim_nekudotayim
+double_cherry,0,15,
+dottelk,1,15,
+dotil,1,15,
+doppleganger,0,15,
+doomcup_(doomcup),4,15,
+doom_3,3,15,
+doodlersand,1,15,
+donal_(kathy-lu),4,15,
+don_(pyro29),4,15,
+domuz_al_khinzir,4,15,
+domi-0,4,15,
+dolphy_(character),4,15,
+dollop_(daredemon7000),4,15,
+dolehest,5,15,
+doktor_blutwurst,4,15,
+dogz777,1,15,
+dogsdontwipe,1,15,
+dog_son,4,15,
+dobroch,1,15,
+doberman_(paoguu),4,15,
+dn,1,15,
+dma,1,15,
+dm-artworks,1,15,
+dljoe,1,15,
+djannetur,1,15,
+dizzydemonad,1,15,
+dizzy_(bluepegasi),4,15,
+ditzy,0,15,
+distoorted,1,15,
+distant_star,3,15,
+disko,1,15,
+dishwasher,0,15,
+discordthequimera,1,15,
+disastral,1,15,
+disarmed,0,15,
+dirty_ass_to_mouth,0,15,
+dipsy_(teletubbies),4,15,
+dinosaur_costume,0,15,
+dinonugget_bird,1,15,
+ding_dong,4,15,
+dilgearwolfang,1,15,
+dildo_bite,0,15,
+digimon_adventure_02,3,15,
+digeri_dingo,4,15,
+diffver,4,15,
+dietyofdooky,1,15,
+diegodadingo,4,15,
+diaper_grope,0,15,
+diana_the_dragoness,4,15,
+diana_(toms_mark),4,15,
+diamond_pupils,0,15,
+dhanisani,1,15,
+deyla_(joxdkauss),4,15,
+dexter_cockburn,1,15,
+dexter_(powfooo),4,15,
+devon_(thatotherguythere),4,15,
+devin_vazquez,4,15,devin_(foxjump)
+devfoxnsfw,1,15,
+desualpha,1,15,
+destinee,4,15,
+desolatespace,1,15,
+desmond_sesson,4,15,
+desktop_dragon,4,15,
+designer_clothes,0,15,
+derpsky,4,15,
+derfisch_(character),4,15,
+denny,4,15,
+denak,4,15,
+demont,4,15,
+demonetta,4,15,
+demitri_cheetah,4,15,
+delldogzone,1,15,
+delin_gri,4,15,
+delilah_(luffluff0218),4,15,
+defeated_heroine,0,15,
+deetr,1,15,
+deep_web_debauchery,0,15,
+deep_sea,0,15,
+deegecamaro,1,15,
+deadbrain,1,15,
+dd,4,15,
+dazith,4,15,
+daysi,4,15,
+daysha_candice,4,15,
+daylock_(viroveteruscy),4,15,
+day_of_the_tentacle,3,15,
+davion_the_dragon_knight,4,15,
+david_(bad_dragon),4,15,
+dave_(st.boogie),4,15,
+dave_(disambiguation),4,15,dave
+datguyphil,1,15,
+dasinbun,1,15,
+dashintrash,1,15,
+das-leben,1,15,
+dart_(gau),4,15,
+daro_silvertail,4,15,
+darmengine,1,15,
+darkydoge,1,15,
+darkspeeds,1,15,
+darkpolygon,1,15,
+darkmesna,3,15,
+darkjaguar01,4,15,
+darkinian,4,15,
+darkhunter5168,1,15,
+darkeater_midir,4,15,
+darkbearcave,1,15,
+darkandlife,0,15,
+darkan,1,15,ebon_fox
+dark_vest,0,15,
+dark_tattoo,0,15,
+dark_pubes,0,15,
+dark_leash,0,15,
+dark_fancypants,4,15,
+dark_aldebaran,1,15,
+dardranac,4,15,
+darcy_macdonnel,4,15,
+danund81,1,15,
+danny_(rpadi),4,15,
+danny_(gayrider8),4,15,
+daniella_(cayo),4,15,
+daniel_(disambiguation),4,15,daniel
+dani_miranda,4,15,
+dani,4,15,
+danganronpa_another,3,15,
+dandycupcake,4,15,
+dandi_(character),4,15,
+dan_spring,4,15,
+dan_(fuze),4,15,
+dan_(danmag),4,15,
+damoart,1,15,
+damien_lareme_(battler),4,15,
+damien_ahtreides_(character),4,15,
+damian_(candy_foxy),4,15,
+dakota_(pink),4,15,
+dakota_(7th-r),4,15,
+dairy,0,15,
+daiquiri_(daiquiripanda),4,15,
+daiquiri_(boot),4,15,
+daihara_bakunyu,4,15,
+daha_(zex),4,15,
+dagootter,1,15,
+daggersnaps,1,15,
+daddy_(steel_cat),4,15,
+dactyl_(damaratus),4,15,
+cyril_sneer,4,15,
+cyril_(co6268),4,15,
+cypherwolfarts,1,15,
+cymbal_(character),4,15,
+cyclonus,4,15,
+cybershota,1,15,
+cx,4,15,
+cvoponylynx,1,15,
+cuttoncandyhair,1,15,
+cutting_wood,0,15,
+cushypen,3,15,
+curved_arm,0,15,
+cursing-cockatoo,1,15,
+cupcake_sugarplum,4,15,
+cum_on_shoe,0,15,
+cum_on_own_nipples,0,15,
+cum_on_neckerchief,0,15,
+cum_on_groin,0,15,
+cum_on_chastity_cage,0,15,
+cum_on_blanket,0,15,
+cum_in_tail,0,15,
+cum_in_intestines,0,15,
+cum_from_rimming,0,15,
+cum_from_own_nose,0,15,
+cuddling_tail,0,15,
+cucked,0,15,
+cuchuflehest,1,15,
+crystal_knight_(artist),1,15,
+crystal_cave,0,15,
+crying_chopper,3,15,
+crushed_can,0,15,
+crumpets_(sabotfennec),4,15,
+cruella_de_vil,4,15,"cruella_de_ville,cruella_devil,cruella_deville"
+crowarian,1,15,
+crow_(show_by_rock!!),4,15,
+crotchless_bikini,0,15,
+crossed_belts,0,15,
+cromwell_(clockwork_journeys),4,15,
+croissant_(plaga),4,15,
+crius_(offline_user),4,15,
+critters_(comic_book),3,15,
+crest_of_courage,0,15,
+creepson,4,15,
+creamy_(creamygrapes),4,15,
+crazy_hand,4,15,
+crazy_frog,4,15,
+crazee_dayzee,5,15,
+crash_landing,0,15,
+crab_taur,5,15,crabtaur
+coyote_humanoid,5,15,
+cowgirl_style,0,15,
+cow_outfit,0,15,
+cove,0,15,
+covac,4,15,
+cousin_penetrating_cousin,0,15,
+cotingid,5,15,"cotinga,cotingidae"
+corvusthefox,1,15,
+corvus_(dreamy_pride),4,15,
+corset_armor,0,15,
+corsage,0,15,
+corpsly,4,15,
+cornelia_(quest_for_fun),4,15,
+corgeh,1,15,
+corey_powell,4,15,
+coremindsdark,1,15,
+corded_writing_utensil,0,15,
+coral_(tabuley),4,15,
+cooper_cat,4,15,
+coomer_wojak,3,15,coomer
+coolsamsc,1,15,
+cookies_and_cream_(glacierclear),4,15,
+conversation_wheel,0,15,
+contractions,0,15,
+contract_(moonrunes),3,15,
+constricted,0,15,
+constance_blacksheep,4,15,
+conny_(chimangetsu),4,15,
+conniesky3,1,15,
+connie_(luxarman),4,15,
+condiment_container,0,15,
+concealing_penis,0,15,
+conan_the_barbarian,4,15,
+comparing_muscles,0,15,
+commissioner_name,0,15,
+comments,0,15,
+commando125,1,15,
+commander_shadowsun,4,15,
+commander_kitty,3,15,
+columbine,0,15,
+colored_tongue,0,15,
+color_fur,0,15,
+collinscorpio,1,15,
+collar_shirt,0,15,
+colinleighton,4,15,
+colin_and_sam,3,15,
+coldsteel_the_hedgeheg,4,15,
+colacatinthehat,1,15,
+coitus_interruptus,0,15,
+codymcdowd,1,15,
+cody_raccoon,4,15,
+cody_abtrack,4,15,
+cody_(codythefennec),4,15,
+codingcat,0,15,
+coconut_(artist),1,15,
+cocoa_(modeseven),4,15,
+coco_(hataraki),4,15,
+cobrat,5,15,
+coast_(gabumon),4,15,
+coach_(left_4_dead),4,15,
+cly_(dotkwa),4,15,
+cloudypouty,1,15,
+cloudboyo,1,15,
+cloud_song_(game),3,15,
+clothes_iron,0,15,
+cloth_(hollow_knight),4,15,
+clobbopus,5,15,
+cliopatra,4,15,
+cliffheart_(arknights),4,15,
+clementine,4,15,
+clear,4,15,
+clawed,0,15,
+clamp_(lagotrope),4,15,
+clam_(camp_lazlo),4,15,
+claire_the_umbreon_(astralrunes),4,15,
+claire_ann_fuchs,4,15,
+claire_(foxdad),4,15,
+clair_de_lune_(mlp),4,15,
+civasco,1,15,
+citrusfumes,1,15,
+citrus_raei,4,15,
+cira_nova,1,15,
+cinnamon_bun_(adventure_time),4,15,
+cinderpelt_(warriors),4,15,
+cigardoesart,1,15,
+churnurg,1,15,
+chunwukong,1,15,
+chuck_norris,4,15,
+chubbiepeachie,1,15,
+chrystal(dragoness),0,15,
+christopher_(rumakis),4,15,
+christina_(droll3),4,15,
+christina,4,15,
+chrissy_(bigger-pp),4,15,
+chris_weller,4,15,
+choi_fox,4,15,
+chocolate_on_breasts,0,15,
+chocolate_fountain,0,15,
+cho,1,15,
+chiton,0,15,
+chip's_mom_(disney),4,15,
+chinstrap_beard,0,15,
+china-kitty,1,15,lowena_ko
+chin_stud,0,15,
+chimpyevans,4,15,
+chimera_(twokinds),4,15,
+chimera-song,1,15,
+chilly_(derek_hetrick),4,15,
+chilean,0,15,
+chica_(mastergodai),4,15,
+chezz_daem,1,15,
+cheyenne_(os),4,15,
+chess_buncoon,1,15,
+cherryvincent,1,15,
+cherry_(puppkittyfan1),4,15,cherry_(puppychan48)
+cherise_(aj_the_flygon),4,15,
+chelsea_the_gardevoir,4,15,
+chelicarae,4,15,
+cheetu_(hunter_x_hunter),4,15,
+cheetor,4,15,
+cheetah_(kemono_friends),4,15,
+cheeseus_(cheeseuschrist),4,15,
+cheega_(edricmarcry),4,15,
+chebylamb,1,15,
+cheburashka,3,15,
+chazzychanz,1,15,
+chat_interface,0,15,
+chase_(alphathewerewolf),4,15,
+charly_(mpff),4,15,
+charlotte_(rt001),4,15,
+charlieartsy,1,15,
+charlie_o'conner,4,15,
+charles_the_stray_kitty,4,15,
+charlene_davidson,4,15,
+charging_battery,0,15,
+chantico_(full_bokko_heroes),4,15,
+changing_color,0,15,
+chandlerwildlifeart,1,15,
+chance_(stripes),4,15,
+chameleonark2307,1,15,
+chalkzone,3,15,chalk_zone
+chakat_midsnow,4,15,
+chainchomped,1,15,
+chaihuliang,1,15,
+chad_(bgn),4,15,
+cetana,4,15,
+ceres_(jindragowolf),4,15,
+cephei_grant,4,15,
+cephalofille,1,15,
+cellien,5,15,cerulean_(kemono_friends)
+celine_foxx,4,15,
+cedar_(puppitoys),4,15,
+cedar,4,15,
+cecili_(tloz),4,15,"cecili_(botw),cecili_(loz),cecili_(zelda)"
+cavalry_(artist),1,15,
+catto_(artist),1,15,
+cattheanimator,1,15,
+catnel,1,15,
+catherine_du_bois,4,15,
+cathar,5,15,
+catfish_(conker's_bad_fur_day),4,15,
+cat_piranha_plant,5,15,
+cat_fish_(pun),5,15,
+cat_and_rat_games,3,15,
+cassandra_alexandra,4,15,
+cassandra_(tegerio),4,15,
+cass_(disambiguation),4,15,cass
+cartoonwolf,1,15,
+carthage_(carthagetech),4,15,
+carriepika_(artist),1,15,
+carpallove,1,15,
+caroling,0,15,
+carolina_eade,1,15,
+carmen_(simplifypm),4,15,
+carlos_(the-killer-wc),4,15,
+cargocat,1,15,
+card_in_hat,0,15,
+caraiothecario,1,15,
+car_door,0,15,
+capt_spacecat,1,15,
+canvas_(wolftang),4,15,
+canie,4,15,
+candys_killer,1,15,
+candydoggo_(zero_ninetails),4,15,
+candice_lee,4,15,
+cammy_(street_fighter),4,15,
+calypso_(bludraconoid),4,15,
+calrin_bolfrey,4,15,
+cally3d,1,15,
+calix_(fatponelover),4,15,
+caleo_(caleodrahirit),4,15,
+calacene,4,15,
+cai,1,15,
+caencel,1,15,
+caduceus_staff,0,15,
+cadfourne,1,15,
+cade_(spiralstaircase),4,15,
+cade,4,15,
+cad_bane,4,15,
+c-moon,1,15,
+by_the_book,3,15,
+buttermilk_village,3,15,
+butterbear_(the_wuzzles),4,15,
+butt_out_of_water,0,15,
+buster_maru,4,15,
+busky,4,15,
+burrows_(captain_nikko),3,15,
+burrowing_owl,5,15,
+burping_up_skull,0,15,
+burly,0,15,
+burbur_(wiprogress),4,15,
+bups,4,15,
+bunnycomb,5,15,
+bunny_hood,0,15,
+bunky,5,15,
+bune_(lapinbeau),4,15,
+bulph,1,15,
+buice_(doesnotexist),4,15,
+bugchomps,1,15,
+bug_catcher,4,15,
+budweiser,3,15,
+bud_the_hyena_(dc),4,15,
+bucky_(hladilnik),4,15,
+bubblegum_(ivy_trellis),4,15,
+bubble_wand,0,15,
+bsan94,1,15,
+brynne_(sharkrags),4,15,
+bryn_(brynthebun),4,15,
+brutus,4,15,
+brunwid_(tanenjo),4,15,
+bruno_bucciarati,4,15,
+brundir_orinhelm,4,15,
+bruki_(character),4,15,
+bruised_arm,0,15,
+bruce_(hattonslayden),4,15,
+brownie_(creature),5,15,
+brown_whiskers,0,15,
+brown_helmet,0,15,
+brotherhood,0,15,
+bronze_dragon,5,15,
+brokententacle,1,15,
+broken_collar,0,15,
+brochu,4,15,
+broadcast,0,15,
+britney_(chaclaveloz),4,15,
+brit_(joaoppereiraus),4,15,
+brin,5,15,
+bright_eyes_(pound_puppies),4,15,
+brick_(zaviel),4,15,
+brett_skylar,4,15,
+breast_pockets,0,15,
+breast_birth,0,15,
+breana_(upai),4,15,
+brdzandbiscuits,1,15,
+brasa_(jerome_jacinto),4,15,
+branhield_scarrvender,4,15,
+brandon_(nocturniarhoden),4,15,
+brain_slug,5,15,
+brain_matter,0,15,
+bracciotoon,1,15,
+bozo,4,15,
+box_turtle,5,15,
+bow_leg_warmers,0,15,
+bouqet,0,15,
+bouncing_moobs,0,15,
+bossk,4,15,
+bort_(gabshiba),4,15,
+boo_(super_mario_sunshine),5,15,
+bonnie_(terubby),4,15,
+bonnie_(disambiguation),6,15,"bonnie,bonnie_(artist),bonnie_(character),bonnie_(disney)"
+bonestheskelebunny01,1,15,
+bomb_(angry_birds),4,15,
+bolgan,5,15,
+boldtober,0,15,
+boing_(keke),4,15,
+boiler_room,0,15,
+boh,4,15,
+bogrim's_tournament,0,15,
+bogleech,1,15,scythemantis
+body_bag,0,15,
+bobo,1,15,
+blushing_yokai,1,15,
+blursedart,1,15,
+bluey_(mew),4,15,
+bluetooth,0,15,
+bluetashi,1,15,
+blues_the_mew,4,15,
+bluecloud,1,15,
+bluecatdown,1,15,
+blueberry_pancake_(oc),4,15,
+blueberry_(bitfly),4,15,
+blue_rubber_suit,0,15,
+blue_rat,0,15,
+blue_hotpants,0,15,
+blue_headset,0,15,
+blue_genital_slit,0,15,
+blue_fins,0,15,
+blue_diamond_(steven_universe),4,15,
+blue_avian_(marimo),4,15,
+blue_accessory,0,15,
+blue_(evilfoxyfull),4,15,
+bloodrayne,3,15,
+bloodcifer,1,15,
+blood_dripping,0,15,
+blood_dragon,5,15,
+blood-asp0123,1,15,
+blonde_facial_hair,0,15,
+blitzenoo,1,15,
+blessed_image,0,15,
+bleach_(object),0,15,
+blaze_(mlp),4,15,
+blak_dragon,1,15,
+blaire_(animal_crossing),4,15,
+blaion,1,15,
+blacksteel,4,15,
+blackjack_(card_game),0,15,
+blackcachomon,1,15,
+black_tiara,0,15,
+black_shoe,0,15,
+black_knee_boots,0,15,
+black_heron_(ducktales),4,15,
+black_frost,4,15,
+black_desert_online,3,15,
+black_cherries,3,15,
+black_cat_(mad_rat_dead),4,15,
+black_and_white_background,0,15,white_and_black_background
+black-fur,0,15,
+black-billed_magpie,5,15,black_billed_magpie
+biscuit_(deerbiscuit),4,15,
+birds_nest,0,15,
+birdbath,0,15,
+binkybunny,1,15,
+binky_barnes,4,15,
+bill_goodfellowe,4,15,
+bill_(sweet_temptation_club),4,15,
+bilbo_baggins,4,15,
+bigtacodragon,1,15,
+bigroodraws,1,15,
+bigfrogs,1,15,
+big_tummy,0,15,
+big_red_(aellynh),4,15,
+big_egg,0,15,
+big_beard,0,15,
+bicci,5,15,
+bibi_wilde,4,15,
+bianca's_daughter_(dq),4,15,
+bezilon,4,15,
+beverage_(artist),1,15,
+bethany_(disambiguation),4,15,bethany
+beth_(redustheriotact),4,15,
+beta_pup,1,15,
+beta_(petruz),4,15,
+bertha_(evil-rick),4,15,
+bernd,4,15,
+berg(pe++),4,15,
+beret_rabbit,4,15,
+berbecmic,1,15,
+benzbt,1,15,
+benton,4,15,
+benroyaz,1,15,
+benny_the_squirrel,4,15,
+belwulf,1,15,
+belly_outline,0,15,
+belle_(mewgle),4,15,
+belladonna_(tegerio),4,15,
+behemon,1,15,
+beer_tap,0,15,
+beek,1,15,
+beefsteak,1,15,
+beefburner,1,15,
+beebee,4,15,
+bed_grab,0,15,
+becca_(disambiguation),4,15,becca
+beatrix_potter,1,15,
+beastofoblivion,1,15,
+beastly_bahamut,4,15,
+beardo_(ok_k.o.!_lbh),4,15,
+bearapologist,1,15,
+beanii,1,15,
+beanie_only,0,15,
+bean_(furthain),4,15,
+beamshot,4,15,
+beach_house,0,15,
+bea_(nightfaux),4,15,
+be_kon_box,1,15,
+bcguro,1,15,
+baze,4,15,
+baxter_cole,4,15,
+battle_spirits,3,15,
+batspid2,1,15,
+bat_print,0,15,
+bastet_(smite),4,15,
+basin,0,15,
+bartok,4,15,
+barry_0_7,1,15,
+barry_(pokémon),4,15,barry_(pokemon)
+barrel_the_brave,4,15,
+barovar_sunwhisper_(character),4,15,
+baroness_(blackfox85),4,15,
+bared_fangs,0,15,
+barbarian_tk,1,15,
+bar_chair,0,15,
+banksy5057,1,15,
+banded_fur,0,15,
+bamboogecko,1,15,
+balpal,1,15,
+balls_fetish,0,15,
+ball_leash,0,15,
+badroy_(character),4,15,
+badly_resized,0,15,
+baddemona,1,15,
+baddataartist,1,15,
+badboyhalo,4,15,
+bad_boy_blacky,1,15,
+bad_batter_(off),4,15,bad!batter_(off)
+baconbirbb,1,15,
+backless_topwear,0,15,
+back-tie_swimsuit,0,15,
+baby_oil,0,15,
+baby_bowser,4,15,
+ba_r_u,1,15,
+azzy_the_trash_panda,4,15,
+azzy_fox,4,15,
+azzieworks,1,15,
+azure_(disambiguation),6,15,azure
+azasuke_wind,1,15,
+azaries_amnera,4,15,
+azalea_(satina),4,15,
+azaiah_bardot_(orange),4,15,
+ayukisa,1,15,
+ayotizza,1,15,
+aydenwusky,4,15,
+ayase,4,15,
+ayame_(droll3),4,15,
+axolotl_tf,1,15,
+axolewdl,1,15,
+axis_(axis),4,15,
+axia,1,15,
+axer,4,15,
+axel_(sad_tomato),4,15,
+avk,4,15,
+avalock_clops,4,15,
+avalanche,0,15,
+av_malina,1,15,
+australian_hat,0,15,
+aurys,4,15,
+aurothos,4,15,
+aurelia_(vanguard),4,15,
+aunt_posey,4,15,
+atsumori999,1,15,
+atlaswolf,4,15,
+atlas_(heat),4,15,
+atimon,1,15,
+athrasil_(character),4,15,
+ataruman,1,15,
+asymmetrical_ears,0,15,
+asuraludu,1,15,
+astro_catmew,1,15,
+asterix,3,15,
+asralore,1,15,
+aspekt,4,15,
+asmr,0,15,
+asimofu,1,15,
+asicah,1,15,
+ashley_(codyfox),4,15,
+ashfordkingston,1,15,
+asher_(spyro),4,15,
+ashendon,1,15,
+ashe_colter,4,15,
+ash_the_fox,4,15,
+ash_(warframe),4,15,
+ash_(ashkor_erebos),4,15,
+asdaft,1,15,
+asclepia,4,15,
+asagi_009c9e,1,15,
+asaba_(shibaemonxsk),4,15,
+aryll_(tanukiyasha),4,15,
+aryan_(species),5,15,
+arvo_(sovulsen),4,15,
+artpixza,1,15,
+artkimono,1,15,
+artistawesome,1,15,
+arthur_korsky,4,15,
+artemis_(flaviagrandville),4,15,
+artan_(artankatana),4,15,
+arrow_(amberreaper),4,15,
+arrived_le,1,15,
+arousal_marker,0,15,
+aroma_(kazecat),4,15,
+arnsil,1,15,
+arnika,4,15,
+armt,1,15,
+armolin,5,15,
+arm_on_stomach,0,15,
+arm_in_portal,0,15,
+arm_back,0,15,
+arlo_(capt_hairball),4,15,
+arlina_(character),4,15,
+arkon,4,15,
+aritak_(character),4,15,
+arinel,4,15,
+arian_(frenky_hw),4,15,
+arian_(coc),4,15,
+aria_(rilex_lenov),4,15,
+aria_(aogami),4,15,
+ardent_strikers,0,15,
+arctica,4,15,
+archer_nikola_tesla,4,15,"archer_(fate/grand_order_-_tesla),archer_(fate/grand_order_tesla),archer_(fate_grand_order_-_tesla),archer_(fate_grand_order_tesla)"
+arandomdog,1,15,
+arackniss_(vivzmind),4,15,
+arabian_oryx,5,15,white_oryx
+arabel_(maddeku),4,15,
+ar-ameth,1,15,
+aqua_admin_matt,4,15,"matt_(pokemon),matt_(pokémon)"
+apricotsammi,1,15,
+apple_bloom_(eg),4,15,
+apollo_(pantheggon),4,15,
+apollo_(cherrikissu),4,15,
+apokripha,1,15,
+aphros_(pantheggon),4,15,
+aphex_twin,3,15,
+aoi_(valerie-v),4,15,
+anyadesmond,1,15,
+anya_(cosmiclife),4,15,
+anus_kiss,0,15,
+antonio_otter,1,15,
+anthro_peeing_on_anthro,0,15,
+antenna_bow,0,15,
+antay_(hevinsane),4,15,
+antama,1,15,
+anrock3,1,15,
+annya,1,15,
+annah_squeaks,4,15,
+annabelle_(nikolokinina),4,15,
+anna_(kinaj),4,15,
+anjila,1,15,
+anja_(haflinger),4,15,
+anise_(skidd),4,15,
+animosus5,4,15,
+animethegreat,1,15,
+animalcomic96,1,15,
+anika_shayne,4,15,
+anii,0,15,
+ani-droids,3,15,
+angus_tanuki,4,15,
+angus_scattergood,4,15,
+angry_video_game_nerd,4,15,"avgn,james_rolfe"
+angol,5,15,
+angels,0,15,
+angelo_(hungothenomster),4,15,
+angelanddevil,1,15,
+angel_wings_(mlp),4,15,
+angel_demon,0,15,
+angel_blanco,1,15,
+angel_(vorechestra),4,15,
+angel_(angel_patoo),4,15,
+anela_twins_(character),4,15,
+andy_(roninsong),4,15,
+andrew_(solo_legend),4,15,
+anbs-01,4,15,
+anarchity,1,15,
+anal_transfer,0,15,
+anakoluth_(character),4,15,
+ana_nassa,4,15,
+amy_(terrible_the_drawfag),4,15,
+amy_(mifmaf),4,15,
+amy_(huffslove),4,15,
+amy_(cow),4,15,
+amulet_of_mara,0,15,
+amuh_(arfventurer),4,15,
+amplitude_(character),4,15,
+amostheartman,1,15,
+amon_harken,4,15,
+ammena_(characters),4,15,
+amish,0,15,
+amiriari78,1,15,
+amethyst_(teri_kressner),4,15,
+amberuzkaa,1,15,
+amber_(drenmar),4,15,
+amao_kakeru,4,15,
+amanra_(fuzzikayu),4,15,
+amanda_(aj_the_flygon),4,15,
+amana_sy,4,15,
+amamiya,1,15,
+alyah_(uchoa),4,15,
+alviaalcedo,1,15,
+alvacraft,4,15,
+alulu_(kemono_friends),4,15,african_golden_wolf_(kemono_friends)
+alteya,1,15,
+alterissue,1,15,
+alrik_(coachmika),4,15,
+alpineping,1,15,
+alpha_(citagalpha),4,15,
+allie_flendor,1,15,
+allergy,0,15,
+alissa_(batartcave),4,15,
+alison_(unse),4,15,
+aliradan,4,15,
+alinivar,4,15,
+alien:_isolation,3,15,
+alice_(zourik),4,15,
+alice_(iginger),4,15,
+alice_(cat_busters),4,15,
+alfredo_cook,4,15,
+alfielofa,1,15,
+alexis_(sabertooth621),4,15,
+alexis-faustus,1,15,
+alexia_trust,4,15,
+alexia_(drxii),4,15,
+alexandliberty,1,15,
+alex_tsvik,1,15,
+alex_the_demon_veemon_(sveemon),4,15,
+alex_ahad,1,15,
+alex_(snek_ad),4,15,
+alex_(emeraldeye),4,15,
+alex_(disregard67),4,15,
+alex_(character),4,15,
+alex_(alexaxes),4,15,
+alex-dep-998,1,15,
+alertmode,1,15,
+aleksandr_(suave_senpai),4,15,
+alek,4,15,
+alegory,1,15,
+aldyderg,1,15,
+alderaie,1,15,
+alder_(fuf),4,15,
+alcyone,1,15,
+alcander_(wakatanka4),4,15,
+albion_(game),3,15,
+albeck,4,15,
+alan_sylvasta,4,15,
+alan_(blackbear),4,15,
+alakiaiiro,1,15,
+alain_(summontheelectorcounts),4,15,
+aladeen,1,15,
+akulatraxas,4,15,
+aku_(akuwolf),4,15,
+akira_(dragon),4,15,
+akiannakatt,1,15,
+akiak,1,15,
+aki_silvertail,4,15,
+akern_hashvar_(character),4,15,
+akeela_wolf,1,15,
+akbal_(coc),4,15,akbal_(corruption_of_champions)
+akatan_(character),4,15,
+akantor,5,15,
+ak74,0,15,
+ajonny,1,15,
+aivelin,1,15,
+airless_(character),4,15,
+aine_(jotunneko),4,15,
+aiko_mikko_(furisukiii),4,15,
+aiden_ashleys,4,15,
+ahotandsweatydog,1,15,
+agustin_(kiwabiscuitcat),4,15,
+agnes_(hambor12),4,15,
+aglert,1,15,
+agent-a,4,15,
+agamnentzar,1,15,
+after_dark_(comic),3,15,
+aeturnus,4,15,
+aestas,1,15,
+aery,4,15,
+aeroveedramon,5,15,
+aero_(dragon),4,15,
+aello,1,15,
+aebafuti,1,15,
+adventure_withered_freddy_(fnaf),4,15,
+adventure_withered_foxy_(fnaf),4,15,
+adventure_tails,3,15,
+adrovmike,1,15,
+adrim_(character),4,15,
+adrianna_(dragonlordfluffyxd),4,15,
+adrian_banner,4,15,
+adres_(derideal),4,15,
+adopted_brother,0,15,
+adolphbartels,1,15,
+admiring_self,0,15,
+admiral,0,15,
+adlerokonma,1,15,
+adler_(wunderknodel),4,15,
+adjusting_eyewear,0,15,
+adelaide_(squirrel),4,15,
+addison_(zoophobia),4,15,
+adamthefool,1,15,
+adair,4,15,
+ada-1,4,15,
+acus_(character),4,15,
+actor_allusion,0,15,
+acorn_(oc),4,15,
+achak,4,15,
+acecomix,1,15,
+ace_anderson,4,15,
+ace_(rq),4,15,
+ac_doodlebot,1,15,
+abyssaldemon,3,15,
+abstract_module,4,15,
+abonzabay,1,15,
+abbie_(cainesart),4,15,
+abbey,0,15,
+ababababa_nova,1,15,
+aaron_holm,4,15,
+aarkangel,1,15,
+a_song_of_ice_and_fire,3,15,
+a_real_magic_skeleton,4,15,"arms_(ok_k.o!),arms_(ok_k.o),arms_(ok_k.o.!),arms_(ok_k.o.!_lbh),arms_(ok_k.o.!_let's_be_heroes),arms_(ok_k.o.!_lets_be_heroes),arms_(ok_k.o.),arms_(ok_k.o._lbh),arms_(ok_k.o._let's_be_heroes),arms_(ok_k.o._lets_be_heroes),arms_(ok_k.o_lbh),arms_(ok_k.o_let's_be_heroes),arms_(ok_k.o_lets_be_heroes),arms_(ok_ko!),arms_(ok_ko!_lbh),arms_(ok_ko!_let's_be_heroes),arms_(ok_ko!_lets_be_heroes),arms_(ok_ko),arms_(ok_ko_lbh),arms_(ok_ko_let's_be_heroes),arms_(ok_ko_lets_be_heroes),rms_(ok_k.o!),rms_(ok_k.o),rms_(ok_k.o.!),rms_(ok_k.o.!_lbh),rms_(ok_k.o.!_let's_be_heroes),rms_(ok_k.o.!_lets_be_heroes),rms_(ok_k.o.),rms_(ok_k.o._lbh),rms_(ok_k.o._let's_be_heroes),rms_(ok_k.o._lets_be_heroes),rms_(ok_k.o_lbh),rms_(ok_k.o_let's_be_heroes),rms_(ok_k.o_lets_be_heroes),rms_(ok_ko!),rms_(ok_ko!_lbh),rms_(ok_ko!_let's_be_heroes),rms_(ok_ko!_lets_be_heroes),rms_(ok_ko),rms_(ok_ko_lbh),rms_(ok_ko_let's_be_heroes),rms_(ok_ko_lets_be_heroes)"
+a_google_user_1902_l,1,15,
+a_christmas_carol,3,15,
+a8taka_ism,1,15,
+a.m.o.s.,4,15,
+@entropic-doodles,1,15,
+7_fingers,0,15,"7_finger,7_fingered,seven_finger,seven_fingered,seven_fingers"
+6:11,0,15,
+4ort,1,15,
+3po-series_protocol_droid,5,15,
+3d_effect,0,15,
+33:40,0,15,
+31:37,7,15,
+3.14_(pixiv),1,15,
+2drr,1,15,
+2d-dungeon,1,15,
+260,1,15,
+2-d_(felino),4,15,
+1988,7,15,
+1918,7,15,
+17:21,0,15,
+17:14,0,15,
+16_breasts,0,15,
+12tails,3,15,
+0000cid,1,15,
+zync,1,14,
+zveno,1,14,
+zushou_(character),4,14,
+zuron,1,14,
+zulzul,1,14,
+zryderace,4,14,
+zoshu_hesui_(destruteka),4,14,
+zorrestrella,3,14,
+zorodora,1,14,
+zombie_walk,0,14,
+zokucyoo,1,14,
+zoiby,1,14,
+zoefox,4,14,
+zoe_z'gord_(monster_prom),4,14,
+zoe_monroe,4,14,
+zipi,4,14,
+zillastudio,1,14,
+ziio_martukon,1,14,
+zigfried,4,14,
+zia_(ym88),4,14,
+zhroi_(blazikem),4,14,
+zhongzi,4,14,
+zhanebx,1,14,
+zeus_(ducktales),4,14,
+zerothehorse,1,14,
+zerofox,4,14,
+zerobyte,4,14,
+zera_'jin_(character),4,14,
+zephyr_(arcrose),4,14,
+zenywolf,1,14,
+zeny,1,14,
+zentreya,4,14,
+zenith_(zenitho_o),4,14,
+zenia_(character),4,14,
+zeni_the_drabold,4,14,
+zenakumi,4,14,
+zel_vilkoinen_(zelripheth),4,14,
+zel_(chunknudies),4,14,
+zekkymzn,1,14,
+zekestar,4,14,
+zekee,4,14,
+zeke_fierceclaw,4,14,
+zeezy_(character),4,14,
+zed,4,14,
+zebbunny,4,14,
+zaruchen,1,14,
+zarohidehire,1,14,
+zap_apple,0,14,
+zander_(rocketraccoon),4,14,
+zah'ari_(character),4,14,
+zafiro_(cristali),4,14,
+zaclyn,1,14,
+zack_(zkelle),4,14,
+zack's_mom_(thezackrabbit),4,14,
+zacharie_(off),4,14,
+zabanya,1,14,
+z-ring,0,14,
+yuzhou,1,14,
+yuuki_nobuteru,1,14,
+yutyrannus,5,14,
+yuswith2354,1,14,
+yurnero_the_juggernaut,4,14,
+yurikoschneide,1,14,
+yuri_arisato,1,14,
+yumi_pop_(oc),4,14,
+yume_(kittymoo),4,14,
+yulara,4,14,
+yuko_(darkwolf),4,14,
+yukitashi,1,14,
+yukinari_(character),4,14,
+yuki-zakuro,1,14,
+yukayuu,1,14,
+yukage,1,14,
+yuh_(yopy),4,14,
+yuffie,4,14,
+ypsilon,4,14,
+yoyo_(fred_perry),4,14,
+yourfren,1,14,
+younger_taur,0,14,
+yotsunoha_legs,3,14,
+yosh_(character),4,14,
+yookie_(character),4,14,
+yolei_inoue,4,14,
+yokothewolf,4,14,
+yiga_blademaster,5,14,
+yiff_in_hell,0,14,
+yeshka,4,14,
+yellow_towel,0,14,
+yellow_swimming_trunks,0,14,
+yellow_slime,0,14,
+yellow_sex_toy,0,14,
+yellow_rabbit_(huitu_c),4,14,
+yellow_outfit,0,14,
+yellow_goo,0,14,
+yellow_choker,0,14,
+yellow_backpack,0,14,
+yekongsky,1,14,
+yekkusu,4,14,
+yeaunganimation,1,14,
+yeamurumi,1,14,
+yasmine_(s1m),4,14,
+yanina_(photolol.03),4,14,
+yang_yondaime,4,14,
+yana_(jwp),4,14,
+yan_(character),4,14,
+yamainudo,1,14,
+yakibuta,1,14,
+yabbang2,1,14,
+xylem,1,14,
+xvifnaf,1,14,
+xue_softpaw,4,14,
+xoxo_(fred_perry),4,14,
+xonxt,1,14,
+xochimazatl,4,14,
+xnxiaoniu,1,14,
+xionix,4,14,
+xiao_weiba,1,14,
+xery_the_mew,4,14,
+xdraws,1,14,
+xb-70,3,14,
+xavier_the_tribeless,4,14,
+xaren1234,1,14,
+xanyog,1,14,
+xaafw,0,14,
+x08201214,1,14,
+wyatt_(razeth),4,14,
+wyatt_(buccaneer),4,14,
+wwwazxc,1,14,
+wukune_(wukune),4,14,
+wringing,0,14,
+wrestling_gear,0,14,
+wrenn_(vju79),4,14,
+wred_(character),4,14,
+wow!_wow!_wubbzy!,3,14,
+wounded_demon,1,14,
+worth1000,3,14,
+world_witches_series,3,14,
+woolly_mammoth,5,14,"wool_mammoth,woollymammoth,wooly_mammoth,woolymammoth"
+woodwose,4,14,
+wooden_bucket,0,14,
+woobin94,1,14,
+woo_yay,0,14,
+woo_(sandra_and_woo),4,14,
+wonka_(artist),1,14,
+wonka,3,14,
+wonder_woman_(series),3,14,
+women_want_me_fish_fear_me,3,14,
+wolfschulte,1,14,
+wolfo,4,14,
+wolfie_canem,4,14,
+wolfie_(thb886),4,14,
+wizzrobe,5,14,
+wistful,0,14,
+wisp_(lonely_wisp),4,14,
+wishing_well,0,14,
+wintersgardencomic,1,14,
+wintergreene,1,14,
+winfox,3,14,
+wine_barrel_(oc),4,14,
+willows_wimper,3,14,
+willow_(jonas),4,14,
+willow_(anibaruthecat),4,14,
+wildside,1,14,
+wild_hair,0,14,
+wild_(ionic44),4,14,
+widdlywham,1,14,
+whitestia,1,14,
+white_top,0,14,
+white_tights,0,14,
+white_arm_warmers,0,14,
+whistleglass,1,14,
+whimsey_weatherbe_(pre-g4),4,14,"whimsey_weatherbe,whimsey_weatherbe_(mlp)"
+wheat_grass_(mlp),4,14,
+what_is_love,3,14,
+wetcircuits,1,14,
+wetchannel,1,14,
+wet_sheets,0,14,
+westhoff,1,14,
+werewolf_of_fever_swamp,4,14,
+werecattle,5,14,werecow
+werebovine,5,14,
+wenyu,1,14,
+wendy_marvell,4,14,
+weibo_logo,0,14,
+weaver_rail,0,14,
+wdf,1,14,
+wcd1959_(artist),1,14,
+wayne_(species),5,14,
+wawor,1,14,
+water_ciramantep,4,14,
+wang_(char),4,14,
+wan_wan_games,3,14,
+wan1357,1,14,
+wallflower_(character),4,14,
+waggles,3,14,
+waffles_(caramelthegoat),4,14,
+waddling,0,14,
+w_techo300,1,14,
+w_(arknights),4,14,
+vuvuzela,0,14,
+vulpinemutt,1,14,
+vox_(voxelcubed),4,14,
+vortex_the_fox,4,14,
+volus,5,14,
+voltage890,4,14,
+volt_(warframe),4,14,
+vodkaroo,1,14,
+vivian_(parooty),4,14,
+vivian_(meek),4,14,
+vivi_(oofrowdy),4,14,
+vivi_(fred_perry),4,14,
+vita_minmi,1,14,"possess_k,pozesuke,ビタみんみー,ポゼ助,脳廻"
+visk,4,14,
+virena_vaie,4,14,
+violet_volt_(swordfox),4,14,
+violet_(foxiwan),4,14,
+vinylrooster,1,14,
+vinicius_(mascot),4,14,
+vine_(website),3,14,
+vincent_(montsegur),4,14,
+vince_(kadath),4,14,
+vin_(bugmag),4,14,
+vilya,1,14,
+vilikir,1,14,
+vilf,1,14,
+vileraven,1,14,
+viktoriya_(dandarkheart),4,14,
+viktor0r,1,14,
+vigil_(oc),4,14,
+viera_(vanillazelle),4,14,
+video_player,0,14,
+victoria_(sura-resch),4,14,
+vicky_(las_vacaciones_de_vicky),4,14,
+vicky_(doginacafe),4,14,
+vicky_(deedoss),4,14,
+vice_grip,0,14,
+vibrator_on_feet,0,14,
+vibrator_in_cloaca,0,14,
+vibes_raccoon,4,14,
+vibe_check,3,14,
+vheissu,4,14,
+verti,4,14,
+verloren,4,14,
+vera_wright,4,14,
+venus_(plaguedogs123),4,14,
+ventus_the_sox,4,14,
+velvet_worm,5,14,
+velvet_quill,4,14,
+velene_(aj_the_flygon),4,14,
+velemir,4,14,
+vekke,1,14,
+vekium,4,14,
+veil_(devil_children),4,14,
+vaxasaurian,5,14,
+vauban_(warframe),4,14,
+vatkin_(species),5,14,
+vatkin,3,14,
+varus_(lol),4,14,varus
+varro,4,14,
+varra_(fefquest),4,14,
+varim_(character),4,14,
+variant_(artist),1,14,
+varia_suit,0,14,
+vappyvap_(artist),1,14,
+vanillatea,1,14,
+vanillahellen,1,14,
+vanilla_(tetetor-oort),4,14,
+vanessa_love,4,14,
+vandy,1,14,
+vancu,4,14,
+van_helsing,3,14,
+vami'nadom,4,14,
+valkenhayn_r._hellsing,4,14,
+valencia,4,14,
+valdotpng,1,14,
+vaccination,0,14,
+vaanrose,1,14,
+uzikowa,1,14,
+uxorite,5,14,
+utaurule,1,14,
+usury40,1,14,
+usp,0,14,
+usatarou,1,14,
+ursula_victoria_and_hannah,4,14,
+ursula_(sura-resch),4,14,
+urine_through,0,14,piss_through
+urine_on_clothing,0,14,
+urine_bath,0,14,piss_bath
+uriex,1,14,
+upotte!!,3,14,
+unusual_ears,0,14,
+unown_p,5,14,
+unown_f,5,14,
+unknown_substance,0,14,
+unit6,4,14,
+ungulate_anthro,0,14,
+underwear_fetish,0,14,
+under_table_pov,0,14,
+under_feet,0,14,
+uncolored_clothing,0,14,
+unbuttoned_underwear,0,14,
+unbodied,4,14,
+unbalanced,0,14,
+unadi,4,14,
+umbrafox,1,14,
+umarun-k,1,14,
+ultaki,4,14,
+ulsi,4,14,
+ulala,4,14,
+uke,0,14,
+uiojk,1,14,
+uhe,1,14,
+uber,3,14,
+u_r_simgle,3,14,
+tzc,1,14,
+tyrone_(disambiguation),4,14,tyrone
+tyr_remora,1,14,
+typelord,1,14,
+tyneen_(monkey_wrench),4,14,
+tylertmk,1,14,
+tyger_(tygerstkuan),4,14,
+two_tone_sex_toy,0,14,
+two_tone_ribbon,0,14,
+two_tone_knee_socks,0,14,
+two_of_diamonds,0,14,
+twitch_thot,0,14,
+twilo,1,14,
+tvmob,1,14,
+turquoise_skin,0,14,
+turen_(guglehupf),4,14,
+tullius,4,14,
+tuftydoggo,4,14,
+tuesday_(juanmao1997),4,14,
+tsurugi_muda,1,14,
+tsune-hime,4,14,
+tsuki_uzaki,4,14,
+tsubasa,1,14,"つばさ,つばさ@復帰"
+trunk_penetration,0,14,
+trunk_growth,0,14,
+truelolzor,1,14,
+trueglint360,3,14,
+trowelhands,1,14,
+troubledviper,1,14,
+tron_clothing,0,14,
+trist10,1,14,
+tripwire_(character),4,14,
+triply,4,14,
+triple_titfuck,0,14,
+triple_cumshot,0,14,
+trinity_(shenzel),4,14,
+trigon,4,14,
+triforce_topwear,0,14,
+triforce_tattoo,0,14,
+tricia,4,14,
+tri_force_heroes,3,14,
+trezhurisland,1,14,travis_orams
+treevil,1,14,
+travis_the_hedgehog_(moorsheadfalling),4,14,
+trast113,1,14,
+transformation_by_pokéball,0,14,
+trakker,1,14,
+tragerotica,1,14,
+tracking_collar,0,14,
+tracking,0,14,
+toyosatomimi_no_miko,4,14,
+toy_insertion,0,14,
+toxstar_(character),4,14,
+toweling_off,0,14,
+tousled,0,14,
+tough_bippy,3,14,
+touching_anus,0,14,
+tottotonero,1,14,
+tosin_afolabi_(slither),4,14,
+torn_hoodie,0,14,
+torn_belt,0,14,
+torisanshou,1,14,
+tori_(sheer),4,14,
+topi_(topicoatl),4,14,
+tony_(disambiguation),4,14,tony
+tongue_hug,0,14,
+tongue_between_breasts,0,14,
+tomoshibi_hidekazu,1,14,
+tommyowo,1,14,
+tomek1000_(character),4,14,
+tomas_(hambor12),4,14,
+tom_trench_(hazbin_hotel),4,14,
+tolerie,4,14,
+tokyo_express,4,14,
+tokkileul,1,14,
+toki_(bran-draws-things),4,14,
+tohgjen,1,14,
+toffe,4,14,
+toejam,4,14,
+toe_shoes,0,14,
+toe_markings,0,14,
+tody_(togaed),4,14,
+todomatsu_matsuno,4,14,"todomatsu,todomatsu_(osomatsu)"
+todd_tweed,4,14,
+todd_(sherlock_hound),4,14,
+todd_(housepets!),4,14,
+tobito,1,14,
+tobikara10,1,14,
+tobi_locke,4,14,
+to_love-ru,3,14,
+to_heart_2,3,14,
+tm32,1,14,
+tkongingi,1,14,
+tiye_(quin-nsfw),4,14,
+titania_(warframe),4,14,
+titan_(indecent),4,14,
+tiramizu_(artist),1,14,
+tina_(zp92),4,14,
+til_death,4,14,
+tigonking2.0_(character),4,14,
+tight_armwear,0,14,
+tiger_kid_(kyuuri),4,14,
+tiger_and_bunny,3,14,
+tiger_(petruz),4,14,
+tidal_wave,0,14,
+tickling_butt,0,14,
+tickle_footjob,0,14,
+tick_(arachnid),5,14,"ixodoid,ixodoidea,ixodoidean,tick_(animal)"
+tibert,4,14,
+tiban_kevin,4,14,
+tia00701,1,14,
+thump,0,14,
+through_floor,0,14,
+through,0,14,
+throt_the_unclean,4,14,
+thriller_(music_video),3,14,
+threis,4,14,
+thoughtvision,1,14,
+thorax_(body_part),0,14,
+thomas_norstein,4,14,
+thomas_cancatbeans,4,14,
+thomas_(ratcha),4,14,
+thine,4,14,
+thigh_pinch,0,14,
+thick_outline,0,14,
+thiccturtles,1,14,
+thewormouroboros,1,14,
+thessa_(shycyborg),4,14,
+theros_the_dragon,4,14,
+theredraptor,4,14,
+thepersonwhoateme,1,14,
+theodore_ashsilver,4,14,
+theme,0,14,
+them_nasties,1,14,
+thelia,4,14,
+theformlpganon,1,14,
+thedrainpipe,1,14,
+thedevilslettuce,1,14,
+thecuriousfool,1,14,
+thearashi,1,14,
+the_world_(tarot),0,14,
+the_thinker,3,14,
+the_tales_of_avalon,3,14,
+the_spider_(destiny),4,14,
+the_snooge,4,14,
+the_mummy,3,14,
+the_mitchells_vs_the_machines,3,14,
+the_mighty_b!,3,14,"mighty_b,mighty_b!,the_mighty_b"
+the_matkat,1,14,
+the_lils,4,14,
+the_legends_of_treasure_island,3,14,
+the_coast_is_near,1,14,the_coast_is_safe
+the_boys,3,14,
+the-urocyon,1,14,
+the-lazy-llama,1,14,
+thatotherwhaleoil,1,14,
+thatgtaguy,1,14,
+thatched_roof,0,14,thatch_roof
+tharsisgoat,1,14,
+thanekats,1,14,
+thane_corst,1,14,
+thai_cat,5,14,
+teyk,4,14,
+teygrim,1,14,
+tetrax_shard,4,14,
+testicle_storage,0,14,
+tess_(wolfpack67),4,14,
+terri_(lavenderpandy),4,14,
+terlaknem,5,14,
+teriyaki_(drachenfyr),4,14,
+teresa_hopps_(siroc),4,14,
+tentacles_around_wrists,0,14,
+tentacle_penetrated,0,14,
+tentacle_beard,0,14,
+tenkoles,1,14,
+tenewuff,1,14,
+temporin,0,14,
+temari,4,14,
+telvin,4,14,
+television_show,0,14,
+teldrisa_yalnagosa,4,14,
+tekk_(confu5ed),4,14,
+teguso,4,14,
+teepa,4,14,
+teensytinykobold,1,14,
+tedi,4,14,
+teat_growth,0,14,
+teat_expansion,0,14,
+tearing_shirt,0,14,
+teal_swimwear,0,14,
+tay_(mantist),4,14,
+taun_we,4,14,
+taryk_(zaxelle),4,14,
+tarrex,4,14,
+taro_jinbe,1,14,
+taro_(thekoboldsummoner),4,14,
+tarkus_j._queen,4,14,
+tarasa,4,14,
+taped_vibrator,0,14,
+tapcha,1,14,
+tangerin4yon,1,14,
+tanek_woofer,4,14,
+tandem_(frindle),4,14,
+tan_vest,0,14,
+tamaraw,5,14,mindoro_dwarf_buffalo
+tamago,1,14,たまご
+talking_during_sex,0,14,
+tala_(abananaman),4,14,
+takura_mahiro,1,14,
+takisan_oekaki,1,14,
+takiro_(character),4,14,
+taki_takoyakis,1,14,
+takanashi_kiara,4,14,
+takahiro_(thathornycat),4,14,
+tak_(thetak),4,14,
+tailtrance,1,14,
+tail_squeeze,0,14,
+tail_rub,0,14,
+tail_plates,0,14,
+tail_first,0,14,
+tail_around,0,14,
+tahlia_(ruaidri),4,14,
+tagar1k,1,14,
+tag_hell,0,14,
+tafumi,1,14,
+taeonyx,4,14,
+tactimoose,1,14,
+table_flip,0,14,
+tabitha_(skunkworks),4,14,
+tabia_(blackfox85),4,14,
+tabaluga_(series),3,14,
+ta-nightfuryart'97,1,14,
+t0kyto,1,14,
+szremna,1,14,
+szaris,1,14,
+syncbanned,1,14,
+symbol_on_accessory,0,14,
+sylvia_drake,4,14,
+sylvia_(kaboozey),4,14,
+sybil_(dullyarts),4,14,
+sybaricat,1,14,
+swoomy,1,14,
+swollen_anus,0,14,
+swiss_flag,0,14,
+swine_chopper_(darkest_dungeon),4,14,
+sweetreat,1,14,
+sweetlynight,1,14,
+swarmcreator,1,14,
+swallowing_saliva,0,14,
+swad_parcey,4,14,
+sven_(sv3n),4,14,
+suzy,4,14,
+suzuki,3,14,
+suspense,0,14,
+susie_cottontail,4,14,
+surprise_vore,0,14,
+supernova_(artist),1,14,
+super_em_dog,1,14,
+sundew_(wof),4,14,
+sumomone_(show_by_rock!!),4,14,
+summer_breeze_(oc),4,14,
+suiro_(character),4,14,
+suikoden_tierkreis,3,14,
+sugar_morning,1,14,
+succubus_kerrigan,4,14,
+succubus_(project_x),4,14,
+submissive_police_officer,0,14,
+submissive_penetrated,0,14,
+submersible_fox,4,14,
+sub-zero,4,14,
+stygiandragon,1,14,
+strix_(genus),5,14,earless_owl
+stripetail,4,14,
+striped_towel,0,14,
+striped_feet,0,14,
+striped_cheeks,0,14,
+strigi_(character),4,14,
+streetfair,1,14,
+strawberry_shortcake,4,14,
+strawberry_(artist),1,14,
+straight_pride_colors,0,14,
+stormy_(character),4,14,
+storm_(kitfox-crimson),4,14,
+storm_(d35tr0y3r1),4,14,
+storks,3,14,
+store_clerk,0,14,
+stonjourner,5,14,
+stonehide_lawachurl,4,14,
+stone_(sinkingstone),4,14,
+stoker,4,14,
+stitch_triverse,3,14,
+stina,4,14,
+stickii,4,14,
+stick_bug_(impishhyena),4,14,
+steven_purifoy,1,14,
+steven_huang,1,14,
+steven_belledin,1,14,
+steve_(dalwart),4,14,
+stepping_on_viewer,0,14,
+stephen_locke,4,14,
+step_ladder,0,14,
+stella_dallas_(all_dogs_go_to_heaven),4,14,stella_dallas_(adgth)
+stella_(missebony),4,14,
+stella_(inkyfrog),4,14,
+stela,4,14,
+steelwhite_(character),4,14,
+steele_o'connell,4,14,
+steef,5,14,
+steamroller,0,14,
+stealth-brock,1,14,
+steal,4,14,
+stc3000,1,14,
+stay_tuned,3,14,
+stay_puft_marshmallow_man,4,14,
+starselle,1,14,
+stars_(artist),1,14,
+starraisins,1,14,
+starr_(stargazer),4,14,
+stargate_(device),0,14,
+stargalaxy,1,14,
+stare_into_the_abyss,0,14,
+starburst_crusader,1,14,
+starblazer,4,14,
+star_pair,0,14,
+stanton_(furgeon),4,14,
+stacy_(evehly),4,14,
+ssstation05,1,14,
+ssn_inc,1,14,
+srusu_rskuzu_(character),4,14,
+srnecka,1,14,
+squire_flicker,4,14,
+squeezing_knot,0,14,
+squeezed,0,14,
+squeedrii,4,14,
+squeal,0,14,
+squeaks,4,14,
+square_paws,0,14,
+square_head,0,14,
+springs_rings,1,14,
+spring_(summerlong),4,14,
+spring_(device),0,14,
+spreading_pouch,0,14,
+sprawling,0,14,
+spotty-servine,1,14,frozenspoots
+sponson,1,14,
+sploderman,1,14,
+split_the_room,3,14,
+split_head,0,14,
+spirit_malloye,4,14,
+spiky_ears,0,14,
+spikes_(6pklion),4,14,
+spiffo,4,14,
+sphinxskulls,1,14,octoberadopts
+sphinx_princess,4,14,
+spectrumbeat,1,14,
+spectrepaw,3,14,
+spartan-029,1,14,
+sparrowmon,5,14,
+sparkles_of_want,0,14,
+sparklecare,3,14,
+spanky_ham,4,14,
+spanish_flag,0,14,
+spamton_neo,4,14,
+spaceport,0,14,
+southern_fox_squirrel,5,14,
+sossybritches_(artist),1,14,
+sora4026,4,14,
+sophie_stalizburg,4,14,
+sophia_tutu,4,14,
+sopheira,4,14,
+sootsprite,1,14,
+sonicluxhedgeman,1,14,
+sonic_the_hedgehog_(ova),3,14,
+sonia_acorn,4,14,
+somessedup,1,14,
+somcrule,1,14,
+somberday,1,14,
+solux,1,14,
+solus_(owlboy),4,14,
+solfanger,3,14,
+sol_paws,4,14,
+sohornyraccoon,1,14,
+softpawcafe,1,14,
+sockplay,0,14,
+snowy_(snowcario),4,14,
+snows_no_nos,1,14,
+snowpupcreations,1,14,
+snowmobile,0,14,
+snowfluffy,4,14,
+snoozincopter,1,14,
+snootygoo,1,14,
+sniffing_pussy,0,14,
+sneakymouse,1,14,
+snak3-charm3r,1,14,
+snails_(eg),4,14,
+snail3n,1,14,
+smilingscorpio,1,14,
+smart,0,14,
+smalls_the_cat,4,14,
+slytherin,0,14,
+slurp_(artist),1,14,
+slugmanoctavious,1,14,
+slobbyslapper,1,14,
+sliver_(magic:_the_gathering),5,14,"sliver_(magic),sliver_(magic_the_gathering),sliver_(mtg)"
+slitherspawn,5,14,
+slime_in_navel,0,14,
+slime_dragon_(regalbuster),5,14,
+slim_tail,0,14,
+sliceofpiecomics,1,14,
+sleepibytes,1,14,
+slav,0,14,
+slash,0,14,
+slanwanco,1,14,
+slackerthehacker,1,14,
+skylar_stellarwing,4,14,
+skylar_ockerby,4,14,
+skye_blue,4,14,
+sky_shatter,4,14,
+skuttz_(oc),4,14,
+skunkly_a_bear_(weaver),4,14,
+skunkiss,1,14,
+skull_(symbol),0,14,
+skizato,1,14,
+skiyte_tide,4,14,
+skippysbonezone,1,14,
+ski_goggles,0,14,
+sketch_(character),4,14,
+skeletal_hand,0,14,
+skanra,4,14,
+sjyk,4,14,
+sixcolors,1,14,
+sitting_on_seat,0,14,
+sirwogdog,1,14,
+sirufi,1,14,
+sirkowski_(artist),1,14,
+siris_le_osiris,4,14,
+sirairo116,1,14,
+sirachi,4,14,
+sir_charles,4,14,
+siomizu7777,1,14,
+single_panel,0,14,
+sinestro_corps,3,14,
+sincrescent_(character),4,14,
+sin_(sinnerscasino),4,14,
+simple_minded,0,14,
+simontentaclefox,4,14,
+simonsaysgreen,1,14,
+simone_(dofus),4,14,
+simkaye,1,14,
+simba09,4,14,
+sima_(vkontakte),4,14,
+silverspecs,1,14,
+silveroppai,1,14,
+silver_rathalos,5,14,
+silver_hooves,0,14,
+silver_crown,0,14,
+silhouetted_genitals,0,14,
+siko01hero,1,14,
+signal,0,14,
+sidorovich,4,14,
+siangian,1,14,
+siamese_cat_guard,4,14,
+shuichi_saihara,4,14,
+shuffle001,1,14,
+shou,1,14,
+shoji_(character),4,14,
+sho_t_utpr,1,14,
+shmazman,1,14,
+shkurka,4,14,
+shizari,4,14,
+shiwashiwa_no_kinchakubukuru,1,14,
+shiveneve,4,14,
+shishi_(pixiv),1,14,
+shirt_tug,0,14,
+shirogane_usagi,1,14,
+shion_ikigai,4,14,
+shina_(pro2000g),1,14,
+shimmer_(shimmer~),4,14,
+shimmer,4,14,
+shimipan,1,14,
+shikkoku_neko,1,14,
+shiki_digi,1,14,
+shigeru_miyamoto,4,14,
+shermy_axolotl,4,14,
+shermie,4,14,
+shenjii_(baikobits),4,14,
+shelly_(mehdrawings),4,14,
+shelby_(chimangetsu),4,14,
+sheersha_(rinkae),4,14,
+shchavel,1,14,
+shazarc,1,14,
+shay_niles,1,14,
+shawn_(ajdurai),4,14,
+sharky_(serex),4,14,
+sharks_illustrated,3,14,
+shark_(warfaremachine),4,14,
+sharing_cum,0,14,
+shari_(lazysnout),4,14,
+shaonics,4,14,
+shantotto,4,14,
+shamelesschity,1,14,
+shale,4,14,
+shaking_balls,0,14,
+shagau,1,14,
+shaedow4774,1,14,
+shadownight,4,14,
+shadowfang,4,14,
+shadowclaw_sisters,4,14,
+shadow_war,3,14,
+shadow_puppet,0,14,
+shadow_monster,5,14,
+shadow_(josendall),4,14,
+shadings,0,14,
+shade_(shade_the_wolf),4,14,
+sfmdemon,1,14,
+sexual_violence_with_the_birds_and_the_bees,3,14,
+sexual_icecream,1,14,
+sex_pistols,3,14,
+sex_montage,0,14,
+sewage_aqua,1,14,
+severus_snape,4,14,
+setting,0,14,
+servitude,0,14,
+seri_vampni,4,14,
+sergeyfoxx,1,14,
+sergevna_(character),4,14,
+serenityunited,1,14,
+sequestro,1,14,
+sequential,0,14,
+septer_(septer),4,14,
+sephora_(morrigan_the_marwari),4,14,
+sepheris,4,14,
+sentinel,5,14,
+sentai,4,14,
+sensopi,1,14,
+senna,4,14,
+selty,1,14,
+selling_cum,0,14,
+selineamethyst,1,14,
+self_sucking,0,14,
+self_humiliation,0,14,
+selena_illyana,4,14,
+sekki,1,14,
+sejha_(character),4,14,
+seija,4,14,
+segway,0,14,
+seer_(hollow_knight),4,14,
+seele_koch,4,14,
+seed_(kitfox-crimson),4,14,
+sectional_sofa,0,14,
+second_heaven,1,14,
+seaspray_(mlp),4,14,
+sean_waald,1,14,
+sean_kelley,4,14,
+sean_e._andersen,1,14,
+sea_emperor_leviathan_(subnautica),5,14,
+scribblescritch,1,14,
+screwbones,1,14,
+scout_(miko-chan),4,14,
+scotch_whiskey,0,14,
+scotch_hideyoshi,1,14,
+scorpio_(zodiac),4,14,
+scooby-dee,4,14,
+scofa,1,14,
+sckhar_leviathan,4,14,
+sciurid_taur,5,14,"squirrel_taur,squirreltaur"
+scifer,1,14,
+schwarze_katze,4,14,
+scenebuild,0,14,
+scat_transformation,0,14,
+scarrrrly,1,14,
+scarlett_redd,4,14,
+scarlett_drop,4,14,
+scarecrow_(the_wonderful_wizard_of_oz),4,14,"scarecrow_(oz),scarecrow_(the_wizard_of_oz),scarecrow_(wizard_of_oz),scarecrow_(wonderful_wizard_of_oz)"
+scarecrow_(dc),4,14,scarecrow_(batman)
+scardelita_sanchez,4,14,
+scalesunchained,1,14,
+sayame,1,14,
+saya_darkmoon,4,14,saya-darkmoon
+sawao,1,14,
+savvskyler,1,14,
+savaran_(kuroma),4,14,
+savannah_(character),4,14,
+savaj_(nightnight),4,14,
+satyriac,5,14,
+saturday_supercade,3,14,
+satou_kazuma,4,14,
+satoshijoga1,1,14,
+satoshi_(nakagami_takashi),4,14,
+satori_(character),4,14,
+satin_djofulsdottir,4,14,
+satan_goat_(judas_and_jesus),4,14,
+sassy_dolly,1,14,
+saskia,4,14,
+sashimired,1,14,
+sashatf,1,14,
+sasha_yuki,4,14,
+saryn_(srinon),4,14,
+sarah_jaffe,1,14,
+sarah_(poweron),4,14,
+sarah_(fish_birb),4,14,
+sarah_(box-s),4,14,
+sara_ryder,4,14,
+sara_(sonic),4,14,
+sapphire_(chooy64),4,14,
+sapphire_(1pervydwarf),4,14,
+saoiirse,1,14,
+santiago_(nq),4,14,
+sanssketches16,1,14,
+sanguine_(jkbscopes),4,14,
+sandra_(zerofox1000),4,14,
+sandman_(pawfficer_sandman),4,14,
+sandbar_shark,5,14,
+sanco_(kitchiki),4,14,
+sammy_(spindaspinda),4,14,
+sami_(pixiv),1,14,
+samantha_weltzin,4,14,
+samantha_evans,4,14,
+samantha_(zourik),4,14,
+sam_(theidiotmuffin),4,14,
+sam_(character),4,14,
+salvana,4,14,
+saltie_(kemono_friends),4,14,"salt-water_crocodile_(kemono_friends),salt_water_crocodile_(kemono_friends),saltwater_crocodile_(kemono_friends)"
+sally_(shiiorina),4,14,
+saliva_on_perineum,0,14,
+saki,4,14,
+sakaki,4,14,
+sailorpalin,1,14,
+sahar,1,14,
+sagittarius_position,0,14,
+sagat,4,14,
+safiri,1,14,
+safir_(zebrazag),4,14,
+safari_shirt,0,14,
+sadie_(amnesia_creations),4,14,
+sabrina_(kendraeevee),4,14,
+sabine_(erynerikard),4,14,
+sabertoothed_weasel,5,14,
+ryuukiba,1,14,
+ryuujinzero,1,14,
+ryuno,1,14,
+ryuji_sakamoto,4,14,"sakamoto_ryuji,skull_(persona),skull_(persona_5)"
+ryo_sumiyoshi,1,14,
+ryo_(ryoredux),4,14,
+ryke_sellwing,4,14,
+ryiah,4,14,
+ryff,4,14,
+rye_(ryv3r),4,14,
+rycee,4,14,
+ryan_barger,1,14,
+ry,4,14,
+ruu_(skweekers),4,14,
+rutt,4,14,
+rutile,4,14,
+ruth,4,14,
+runolfur_(ruaidri),4,14,
+runebear_(elden_ring),5,14,
+rumor_honeybottoms,4,14,queen_bee_(cuphead)
+ruminant,5,14,
+ruger181,1,14,
+rufus_armstrong,4,14,
+rufio,1,14,
+ruddy,0,14,
+rubberhose,0,14,
+rubberbark,1,14,
+roza_(kasloth),4,14,
+roza,4,14,
+royal_nod,1,14,
+roxanne_hearne,4,14,
+roxanne_(drmellbourne),4,14,
+round_eyewear,0,14,
+roughed_up,0,14,
+rough_texture,0,14,
+rough_animation,0,14,
+rotarr_(character),4,14,
+rosti,1,14,
+rosie_(neoshard),4,14,
+rosemary_parker_(character),4,14,
+roseinthewoods,1,14,clover~
+rose_quartz_universe,4,14,rose_quartz_(steven_universe)
+rose_(kyotoleopard),4,14,
+rosaline_hopps_(siroc),4,14,
+rosalina_(ponehanon),4,14,
+rope_snake,4,14,
+rook_(character),4,14,
+ronnie_(desubox),4,14,
+rolrae,1,14,
+rollers,0,14,
+roliga,4,14,
+rokujushichi67,1,14,
+rokko_kuma,4,14,
+rojoslushy,1,14,
+rofu_kagazaki,1,14,
+rodent-blood,1,14,
+rocky_king_(character),4,14,
+rockpup241,1,14,
+rocker_(kemono_friends),4,14,"rockhopper_(kemono_friends),rockhopper_penguin_(kemono_friends),southern_rockhopper_penguin_(kemono_friends)"
+robyn_(denike),4,14,
+robinstic_(robinstic),4,14,
+robin_bechauf,4,14,
+robin_(dr-icesidio),4,14,
+robert_the_husky,1,14,
+robert_iza,1,14,
+robby_angel,4,14,
+roadside,0,14,
+roadkill_(meat_sweat),4,14,
+rixan_(folvondusque),4,14,
+rivka_(sausysandwich),4,14,
+rivin,4,14,
+riushi_(riushi),4,14,
+ritter_(krazykit),4,14,
+rita_(pokemon_snap),4,14,
+ristar_(game),3,14,
+rising_sun,0,14,
+riot_(artist),1,14,
+rimle,1,14,
+riley_(sweaterbrat),4,14,
+riley_(ruth66),4,14,
+riley_(phazon-harbinger),4,14,
+rikkor,5,14,
+rike_(p4nter),4,14,
+rika_(constanasty),4,14,
+right-hook_dog,4,14,"macho_dog,migi_fukku_inu,muki-muki_inu,muki-muki_shiba,muki-muki_shiba_inu,muki_muki_inu,muki_muki_shiba,muki_muki_shiba_inu,right_hook_dog,the_macho_dog,the_right-hook_dog,the_right_hook_dog,ムキムキ犬,右フック犬"
+rifykoh_miniota,4,14,
+rift_(thelawlrift),4,14,
+ridge_(artist),1,14,
+riddle,0,14,
+ricky,4,14,
+richard_(timidwithapen),4,14,
+rice_hat,0,14,
+ribbed_tongue,0,14,
+ribbed_horn,0,14,ribbed_horns
+rhonda,4,14,
+rhizu,4,14,
+reyrey_(character),4,14,
+reynard_(coderenard),4,14,
+reydam,1,14,
+rexin,1,14,redhixen
+rex_the_agumon,4,14,
+rex_(takemoto_arashi),4,14,
+rex_(fuze),4,14,
+rewop,1,14,
+revy_(rickytea),4,14,
+revy_(redfunbun),4,14,
+revonnahgander,5,14,
+retsofnsfw,1,14,
+retro_computer,0,14,
+rethnick,1,14,
+renta,1,14,
+renee_(kmorrisoncartoons),4,14,
+renald_(shane_frost),4,14,
+renakunisaki,1,14,
+ren_(dmmd),4,14,
+removing_shoes,0,14,
+remmy_(doomlard),4,14,
+remix,0,14,
+reki_(artist),1,14,
+reito_(hewge),4,14,
+reid_the_cat,4,14,
+rei_(jaysilverfox),4,14,
+reflective,0,14,
+reeysth,1,14,
+reesha_(rovelife),4,14,
+reese_doberman,4,14,
+redwin_blazeson,4,14,
+redtail,4,14,
+redrantem,1,14,
+redmatzoo,1,14,
+redline_husky,4,14,
+redisius_(baldrek),4,14,
+redchetgreen,1,14,
+redahfuhrerking,1,14,
+red_vs._blue,3,14,
+red_undergarments,0,14,
+red_sweatshirt,0,14,
+red_mohawk,0,14,
+red_m&m,4,14,
+red_lens,0,14,
+red_head_tuft,0,14,
+red_crest,0,14,
+red_beleth_(floraverse),4,14,
+red_balloon,0,14,
+red_alert_(0r0ch1),4,14,
+red-capped_cardinal,5,14,
+rebeltaxi,1,14,
+rebel_starbird,0,14,
+rean_yasuda,4,14,
+realsupersand,1,14,
+raythos_oruda,4,14,
+raymond_swanland,1,14,
+raye_(jwinkz),4,14,
+ray_the_zangoose,4,14,
+ray_(rayliicious),4,14,
+ravn_kravits,1,14,
+ravine,0,14,
+ravefox,4,14,
+rave_redfang,4,14,
+rave_pants,0,14,
+rauta2,1,14,
+raudegil,1,14,
+rau_werner,4,14,
+rattrap,4,14,
+ratchet_scram,4,14,
+raquel,4,14,
+raposa_sq,1,14,
+rantz,4,14,
+ranelle_otomo,4,14,
+rancidarts,1,14,
+ran'ou_(tamago_no_kimi),1,14,
+ramen_noodles,0,14,
+ralian_(artist),1,14,
+rakeesh_sorrel,4,14,
+raised_abdomen,0,14,"abdomen_lift,abdomen_lifted,abdomen_lifting,abdomen_raised,abdomen_up,lift_abdomen,lifted_abdomen,lifting_abdomen"
+rainybleuu,1,14,
+rainter13,1,14,
+raincloud,0,14,
+rainbow_cloak,0,14,
+rainbow_cat_and_blue_rabbit,3,14,
+raiettei_(character),4,14,
+raidoku,4,14,
+rags_(lupisvulpes),4,14,
+ragnir,4,14,
+rady_jargon,4,14,
+radio_art107,1,14,
+radio_antenna,0,14,
+rachelfictionkin,1,14,
+rachel_minoka,4,14,
+rabu_(character),4,14,
+rabbit_innkeeper,4,14,
+ra_celestia_(idw),4,14,
+r_(doneru),4,14,
+r-e-l-o-a-d,1,14,
+ququ,4,14,
+quinn_ink,4,14,
+quinn_(furgeta),4,14,
+quinn_(character),4,14,
+quill_quote,4,14,
+quill_(moss),4,14,
+queue_(hairstyle),0,14,
+questyrobo,1,14,
+quesadilla,0,14,
+queening,0,14,
+queenie,4,14,
+queen_fiere,4,14,
+queen_bianca_(bug_fables),4,14,
+quartz_(gem),0,14,
+qu_ppy,1,14,
+q_(doneru),4,14,
+pyromane,4,14,
+pyro_jack_(megami_tensei),4,14,
+push_tyber,1,14,
+purple_rose,0,14,
+purple_leg_warmers,0,14,
+purple_fingerless_gloves,0,14,
+purple_cat,4,14,
+pupuliini,1,14,
+puppyboy,1,14,
+puppet_boon,4,14,
+pumpkinskittle08,1,14,
+pudding_(justkindofhere),4,14,
+pua,4,14,
+psycho_(movie),3,14,
+psistorm,4,14,
+pseudo_tail,0,14,
+pseudo-scrotum,0,14,
+proud-lion,1,14,
+prompto_argentum,4,14,
+professor_sugarcube_(oc),4,14,
+proboscis_monkey,5,14,
+probable_trash,1,14,
+priya_mangal_(turning_red),4,14,
+privatepsy,4,14,
+prismosis,1,14,
+priscilla_(disambiguation),4,14,priscilla
+priscilla_(afelinesguiltypleasure),4,14,
+print_bandanna,0,14,
+principal_rena,4,14,
+princess_selenia,4,14,
+princess_komand'r,4,14,"black_fire_(dc),black_fire_(teen_titans),blackfire_(dc),blackfire_(teen_titans),komand'r,komand-r,komand_r,komandr,princess_komand-r,princess_komand_r,princess_komandr"
+princess_(alpha_and_omega),4,14,
+prince_eric_(disney),4,14,
+prince_bee,4,14,
+pride_color_thigh_socks,0,14,
+pride_color_sweater,0,14,
+pride_color_elbow_gloves,0,14,
+pride_color_dress,0,14,
+price_rate,0,14,
+premono,1,14,
+predator/prey_play,0,14,
+poutcheck,4,14,
+potatos_(portal),4,14,
+pot_belly,0,14,
+posing_pouch,0,14,
+pornuploader,1,14,
+porco_rosso,3,14,
+poppy_bros_jr.,5,14,
+popo_(pixiv),1,14,
+popeye,3,14,
+pop2hotzz,1,14,
+pooltoy_transformation,0,14,
+ponyoptica,1,14,
+ponce,4,14,
+pon_(ponpokora),4,14,
+poly_(toot),4,14,
+polterkitty,4,14,
+poltergeist,5,14,
+pollyanna_(purplebird),4,14,
+polka_dot_clothing,0,14,
+policeman,0,14,
+polaris_(gazaster),4,14,
+pokémon_trainer_hat,0,14,
+pokill_(pokill99),4,14,
+pokeshima,1,14,
+pokeball_panties,0,14,
+poison_(street_fighter),4,14,
+pointing_at_breasts,0,14,
+poinsettia,0,14,
+pogonip,1,14,
+pocket_(trick_moon),4,14,
+pochita_(chainsaw_man),4,14,
+poch4n,1,14,
+plumpeachplus,1,14,
+plooshytooshy,1,14,
+pleasure_meter,0,14,
+player_two,4,14,
+platygon,1,14,
+plant_(nuclear_throne),4,14,
+pkm,0,14,
+pixiv_id_21948327,1,14,
+pixiepawn,1,14,
+piukute062,1,14,
+pittman,1,14,
+pistols,0,14,
+piporinton,1,14,
+pinta,4,14,
+pino_(anothereidos_r),4,14,
+pinkookie,1,14,
+pinkleo,4,14,
+pink_scar,0,14,
+pink_phone,0,14,
+pink_gold_peach,4,14,
+pink_blindfold,0,14,pink_blind_fold
+pink_bikini_top,0,14,
+ping_wing,4,14,
+pineapple_kobold,4,14,
+pineapple_dragon,5,14,
+pinching_belly,0,14,
+pigrita,5,14,
+piggy_noah,1,14,
+piffmiff,1,14,
+pietro.sergal,4,14,
+pierrot_costume,0,14,
+picture_taking,0,14,
+pictish,0,14,
+picori,5,14,
+pico_(newgrounds),4,14,
+pickle_raye,1,14,
+pibou,1,14,
+pibby,4,14,
+phuram,1,14,
+photocopying_breasts,0,14,
+phone_camera,0,14,
+phenris,1,14,
+phasing_through_wall,0,14,
+phase_shift,4,14,
+pharma_(transformers),4,14,
+pez_wolf,1,14,
+petty_the_platypet,4,14,
+peter_puppy,4,14,
+pet_rock,0,14,
+perry_(knotfunny),4,14,
+perineum_bulge,0,14,
+perdu_(marthedog),4,14,
+pepperyena,1,14,
+pepperbun,1,14,
+penumbra.loran,1,14,
+pentagram_print,0,14,
+penny_arcade,3,14,
+penny_(ethan64),4,14,
+penkaari,5,14,
+penelope_penny_bun,4,14,
+penelope_(hypnofur),4,14,
+pendragon,4,14,
+peikani,1,14,
+peg,1,14,
+peeing_on_ass,0,14,
+pedrohander,1,14,
+peachypop34,1,14,
+peaches_collisky,4,14,
+peach_(deonwolf),4,14,
+payot,0,14,
+pawsitively,1,14,
+pawsie,4,14,
+pawplants,1,14,
+pavlov_(possumpecker),4,14,
+patting_back,0,14,
+patti_chandler,4,14,
+patrick_fillion,3,14,
+patchcaacaa,1,14,
+patapony13,1,14,
+pat_highwind_(character),4,14,
+passenger_pigeon,5,14,passenger_pidgeon
+partner_as_porn,0,14,
+particle,0,14,
+parma_(diadorin),4,14,
+parker_(allaboutcox),4,14,
+parental_advisory,3,14,
+parasite_infection,3,14,
+parasin,1,14,
+paranoia_agent,3,14,
+paradise_pd,3,14,
+paper_stack,0,14,
+panrill,1,14,
+panic_(hercules),4,14,
+pangya,3,14,
+panda_german_shepherd,5,14,panda_shepherd
+pancheir,4,14,
+pampers,3,14,
+palelady,1,14,
+paisley_pattern,0,14,
+painted-on_face,0,14,
+paigescribe,1,14,
+pagani,3,14,
+paddle_tail,0,14,
+paddedpaws,1,14,
+p_(doneru),4,14,
+p.b_(plaguebrought),4,14,
+p!k@ru,1,14,
+ozzythegoat15,1,14,
+ozu,1,14,
+oxie,4,14,
+oxford_shirt,0,14,
+owlfkz,1,14,
+owen_(jonhy2g),4,14,
+owashi,1,14,
+outward_slanted_eyebrows,0,14,
+out-of-frame_censoring,0,14,
+oul'taras,4,14,
+ou_chan_(taimanin_asagi),4,14,
+otter_tail,0,14,
+other_side,0,14,
+ota_dragonclaw,1,14,
+oso_sairenji,4,14,
+oshima_(umi_monogatari),4,14,
+osheen,4,14,
+oscar_the_grouch,4,14,
+orville_elephant_(fnaf),4,14,
+ornate_clothing,0,14,
+oriform,1,14,
+orga_(godzilla),4,14,"orga_(kaiju),orga_(toho)"
+orexo,4,14,
+orc_princess,4,14,
+orc_boi_(dross),4,14,
+orangeandbluecream,1,14,
+orange_suit,0,14,
+orange_diaper,0,14,
+orange_co.,1,14,
+orange_cat_(merrunz),4,14,
+oraderg_(character),4,14,
+ophidicism,0,14,
+opheliabun,4,14,
+ophelia_poensis,4,14,
+open_back_dress,0,14,
+open_anus,0,14,
+oof3001,1,14,
+onissarle_(artist),1,14,
+onigensou_(artist),1,14,
+oneeyedsheep,1,14,
+onakanau,1,14,
+on_snow,0,14,
+on_paw,0,14,
+on_mat,0,14,
+on_bar_counter,0,14,
+omegawolf_(mystbunny),4,14,
+omega_swiftwing,4,14,
+omake,0,14,
+oliver_(trashtoonz),4,14,
+oliver_(ollydolphin),4,14,
+oldoldman,1,14,
+old_god_(warcraft),5,14,
+ol'wen_lion,4,14,
+okko_(house_of_immortals),4,14,
+okapi_taur,5,14,okapitaur
+ok_ko19,1,14,
+ohmymarton,1,14,
+oh_shit,0,14,
+oh_no,0,14,ohno
+oh_my_goddess!,3,14,"aa!_megami-sama,ah_my_goddess!"
+oh.chert,1,14,
+ofuda_on_breast,0,14,
+officer_grizzoli,4,14,
+office_phone,0,14,
+offering_self,0,14,
+odysseusut,1,14,
+odvunir,1,14,stormy_franks
+ocher_fur,0,14,
+ocelotfire,1,14,jackaljonas
+obsidian_ramirez,4,14,
+object_in_tail,0,14,
+obelys,1,14,
+nystre,1,14,
+nyss,4,14,
+nyosaku,1,14,
+nyoro~n,0,14,
+nyne,1,14,
+nyeele_(character),4,14,
+nycto,4,14,
+nyaruh,1,14,
+nutmeg,4,14,
+nuru_(givo),4,14,
+nursery_rhyme,0,14,
+nuro,4,14,
+nurko,4,14,
+nurarihyon_no_mago,3,14,
+numenumenumerugon,1,14,
+nukikrueger,1,14,
+nuke_(toynuke),4,14,
+nt_robo,1,14,
+nsfw_spells,3,14,
+np447235,1,14,
+novuly,5,14,
+nova_wraeith,4,14,
+nova_(fvt),4,14,
+notloccomics,1,14,
+nostalgia_(company),3,14,
+normla_(mcnasty),4,14,
+nori,0,14,
+noodle_(jestrab),4,14,
+noni_(oc),4,14,
+non-mammal_teats,0,14,
+non-fatal,0,14,
+nomipolitan,1,14,
+noka_(kimadesigns),4,14,
+noisette,4,14,
+noir_(heliofox),4,14,
+noice_face_eiscue,5,14,"eiscue_(no_ice),eiscue_(no_ice_face),eiscue_(noice),eiscue_(noice_face),eiscue_no_ice,eiscue_no_ice_face,eiscue_noice,eiscue_noice_face,melted_eiscue,no_ice_cube_eiscue,no_ice_eiscue,no_ice_face_eiscue,noice_eiscue"
+nogitsun8,1,14,
+noelle_(goolahan),4,14,
+nodin,4,14,
+noctome,4,14,
+noah_morgan,4,14,
+noah_(kevintheradioguy),4,14,
+no_name,4,14,
+nix_(mick-fries),4,14,
+nisi_diamondfire,4,14,
+nippon_3000_police_department,3,14,
+nipples_tied,0,14,
+nipple_fisting,0,14,"fist_nipple,fist_nipples,fisting_nipple,fisting_nipples,nipple_fist,nipples_fist,nipples_fisting"
+nipple_eyes,0,14,
+nineveh_(xxsparcoxx),4,14,
+ninetailfoxsoul,1,14,
+nines_(nines),4,14,
+ninebuttom,1,14,
+nimbi,5,14,
+niloc_drewney,1,14,
+nikus_b,1,14,
+nikoli_argos,4,14,
+nikoi_(catlad),0,14,
+niko_(xintro),4,14,
+nikki_(nikkisix),4,14,
+niicmunter,1,14,
+niickokett,1,14,
+nii_the_sourou,1,14,
+nightvision,0,14,
+nightshade_w0lf,4,14,
+nigel_(drcaptain),4,14,
+nicksfurry,1,14,
+nickelweiss,1,14,
+nickelcatengine,1,14,
+nickel,4,14,
+nick_stadler,1,14,
+nick_(syynx),4,14,
+nick_(dudeg),4,14,
+nialus_deninhime,4,14,
+niah_(oc),4,14,
+ngth,1,14,
+nganlamsong,1,14,
+nezuney,1,14,
+new_life,1,14,
+nevora,4,14,
+neve_lachance,4,14,
+nethgoorat,1,14,
+nethany,4,14,
+nest_ball,0,14,
+nessa_(character),4,14,
+nerox,4,14,
+nero_lucia,4,14,
+nerm_(1-upclock),4,14,
+nerkie_(character),4,14,
+nephthys_the_vulture,4,14,
+nephthys_(quin-nsfw),4,14,
+nephilia,1,14,
+neon_(chisara),4,14,
+neoeclipse,1,14,
+neo_(neocloud88h),4,14,
+nenkoket,1,14,
+nel_(nanimoose),4,14,
+nekoru,1,14,
+neith_(smite),4,14,
+neil_(disambiguation),5,14,neil
+negimeki_shirako,1,14,
+neera,4,14,
+neeli_(cholericat),4,14,
+needle_panda,4,14,
+ned_(anheledir),4,14,
+necrophia,1,14,
+necromeowncer,1,14,
+necklase,0,14,
+neck_expansion,0,14,
+nebari,4,14,
+nawt_(space_jam),4,14,
+navel_tattoo,0,14,
+navel_feather,0,14,
+navel_birth,0,14,
+naughtiusmaximus,1,14,
+natsumi_(dolphysoul),4,14,
+natmaxex,1,14,
+nathanandersonart,1,14,
+natasha_riot,4,14,
+natasha_(generaldegeneracy),4,14,
+natascha_(arcrose),4,14,
+natalie_(huffslove),4,14,
+nashira,4,14,
+naru_(ori),4,14,
+narm,4,14,
+nariki_(monster_hunter),4,14,
+narc,1,14,
+naphta,4,14,
+naoru,4,14,
+nanaki779,1,14,
+nan_(animal_crossing),4,14,
+nakiri,4,14,
+naiva_smith,4,14,
+nagasumi_devil,4,14,
+nadia_(control_freak),4,14,
+nabile,4,14,
+na'meh_(huffslove),4,14,
+mythos_(dmfa),5,14,
+myth_(mythruna),4,14,
+myste,4,14,
+myrtle_(retro_parasite),4,14,
+mylo_denmrind,1,14,
+mycaelis,4,14,
+my_little_pony:_make_your_mark,3,14,
+my_food_looks_funny,3,14,
+muzz_(muzz),4,14,
+mutual_anal,0,14,
+mutt_matt_(matsu-sensei),4,14,
+mutagen_(character),4,14,
+mustachedbain,1,14,
+muscular_wings,0,14,
+muscular_bottom,0,14,
+murgal,5,14,
+mummy_wrap,0,14,
+multiverseequine,1,14,
+multiple_perspectives,0,14,
+multicolored_sneakers,0,14,
+multicolored_lingerie,0,14,"multi-colored_lingerie,multi-coloured_lingerie,multi_colored_lingerie,multi_coloured_lingerie,multicoloured_lingerie"
+multicolored_headdress,0,14,
+multicolored_goggles,0,14,multicolored_googles
+multicolored_cloak,0,14,
+multicolored_cheeks,0,14,
+multicolored_abdomen,0,14,
+multi_uterus,0,14,
+multi_udder,0,14,
+multi_tone_shoes,0,14,
+multi_tone_legwear,0,14,
+multi_teeth,0,14,
+multi_nose,0,14,
+muinu,1,14,
+muffinlicious,1,14,
+muck,5,14,
+mspaox,1,14,
+ms._skullnick,4,14,
+ms,3,14,
+mrusuk_crop_top,3,14,
+mrs._ra'pe,4,14,
+mrs._poodle_(hladilnik),4,14,
+mrbooshmaster,1,14,
+mrblack1986,1,14,
+mr_oolong,1,14,
+mr.wormdwideweb,1,14,
+mr.d1,4,14,
+mr._rabbit,4,14,
+mr._host_(wolfofdreams),4,14,
+mr._coco_(splatoon),4,14,
+mr._amino,4,14,
+mozzarella_(artist),1,14,
+mozukubotan,1,14,
+mozilla_firefox_(character),4,14,
+moya_(dawngate),4,14,
+mova_(himeros),4,14,
+mouth_markings,0,14,
+mouth_lock,0,14,
+mountain_aj,4,14,
+mound,0,14,
+motor_oil,0,14,
+mother_fingering_son,0,14,
+moth-eatn,1,14,
+mossly,1,14,
+morvern,4,14,
+morris_(rabbity),4,14,
+morph_ball,0,14,
+mordwyl,1,14,
+moosh-mallow,1,14,
+moorish_idol,5,14,
+moonpill,1,14,
+moonlyrain,1,14,
+moona-lissa,4,14,
+moogan,1,14,
+moofooroo,1,14,
+moochiemcg,1,14,
+monsterchow,1,14,
+monroe_piercing,0,14,
+monokuro,1,14,
+monogamy,0,14,
+mono_(higoro),4,14,
+monkey_king_(lego_monkie_kid),4,14,
+monke_brush,1,14,
+monike_(school_days),4,14,
+momiji_(hossinator),4,14,
+moldofficial,1,14,
+moksu_(character),4,14,
+mokiro,1,14,
+mojita_(scappo),4,14,
+moisture,0,14,
+moistcavitymap,1,14,
+moira_(overwatch),4,14,
+modmad,1,14,
+mochimochi,3,14,
+mocha_(the_dogsmith),4,14,
+mobius,3,14,
+mobile_trace_suit,0,14,
+mm_zuku,1,14,
+mizuryu_kei,1,14,
+mizuiro_chizu,4,14,
+mizuiro_(character),4,14,
+mizu_(onetiredbear),4,14,
+miyu_hamada,4,14,
+miyu_edelfelt,4,14,
+miyotomori,1,14,
+mitzy_kandari_(ionic44),4,14,
+mitzi_(the_queen's_corgi),4,14,
+mitu_mao,1,14,
+mitsuru_kirijo,4,14,kirijo_mitsuru
+mithrie,1,14,
+misty_(half-dude),4,14,
+mistresslutea,1,14,
+mistral,4,14,
+misterfyrryman,1,14,
+mister_ekiz,1,14,
+misstwipietwins,1,14,
+miss_muffet,4,14,
+mismatched_legwear,0,14,
+mirrogui,4,14,
+mirothefox,1,14,
+mirochaos,4,14,
+mirial_mon_siviel,4,14,
+mintrimo,1,14,
+minnigan,1,14,
+minion,4,14,
+minimoy,5,14,
+minimandy,4,14,
+miniature_horse,5,14,mini_horse
+mindy,4,14,
+mimikiwi102,1,14,
+milly_(tailzkim),4,14,
+millon,4,14,
+millie_(zantanerz),4,14,
+millerotic,1,14,
+milkypaws,1,14,
+milkman,0,14,
+milk_belly,0,14,
+milftamy,1,14,
+miles_silus_kane,4,14,
+mikz,4,14,
+miko_(blattarieva),4,14,
+mikicat,1,14,
+mikau,4,14,
+mikan_(wanko),4,14,
+mika_(mikothemoth),4,14,
+mii_brawler,4,14,
+miguel_(rainbow_butterfly_unicorn_kitty),4,14,
+migelo,4,14,
+miencest,3,14,
+miemon,4,14,
+mie_matsuki,4,14,
+midori_(catwithbenefits),4,14,
+midnight_rush,4,14,
+midnight_(artist),1,14,
+middy,4,14,
+mictlantechutli,1,14,
+mickey_mouse_ears,0,14,
+mick_jones,1,14,
+michelle_wittmann,4,14,
+michelle_(ouaf),4,14,
+michafrar,1,14,
+miao_ying,4,14,
+mia_(igph),4,14,
+mezo_shoji,4,14,
+mewtwox_(colorist),1,14,
+mewitti,1,14,
+mew-me,1,14,
+metropex,1,14,
+metriaus_(artist),1,14,
+meteora_butterfly,4,14,
+metamorphosis,0,14,
+meshi-oshi,1,14,
+meryu,4,14,
+meringue_(shikaro),4,14,
+meria,4,14,
+meredies,1,14,
+meracle_chamlotte,4,14,
+menon,1,14,
+mene,4,14,
+mendezsfm,1,14,
+melon_dragon,4,14,
+melissa_kjeller,4,14,
+melissa_dehaan,1,14,
+melantha_(arknights),4,14,
+melanie_(ketzio_and_gbb),4,14,
+mekalai_sadiki,4,14,
+meirro,1,14,
+meian_blackheart,4,14,
+meh,0,14,
+meghan_brown_(furry!meghan),4,14,
+megamors,1,14,
+megalonyx,5,14,
+meg_(chickenhare),4,14,
+meela_(digitoxici),4,14,
+meeko_(pixiv),1,14,
+medama_yagi,4,14,
+mechasheep,1,14,
+mechadendrites,0,14,
+mechacockzilla,1,14,
diff --git a/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/tags/extra-quality-tags.csv b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/tags/extra-quality-tags.csv
new file mode 100644
index 0000000000000000000000000000000000000000..0c7779a02f5dd06dc59d9f6f83668cdf0432955a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/tags/extra-quality-tags.csv
@@ -0,0 +1,6 @@
+masterpiece,5,Quality tag,,
+best_quality,5,Quality tag,,
+high_quality,5,Quality tag,,
+normal_quality,5,Quality tag,,
+low_quality,5,Quality tag,,
+worst_quality,5,Quality tag,,
diff --git a/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/tags/temp/emb.txt b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/tags/temp/emb.txt
new file mode 100644
index 0000000000000000000000000000000000000000..db6e31e5c0b734148ad2df8828c0809477720049
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/tags/temp/emb.txt
@@ -0,0 +1 @@
+1ucy1iu,"1ucy1iu",v1
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/tags/temp/hyp.txt b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/tags/temp/hyp.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/tags/temp/known_lora_hashes.txt b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/tags/temp/known_lora_hashes.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/tags/temp/lora.txt b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/tags/temp/lora.txt
new file mode 100644
index 0000000000000000000000000000000000000000..11b35ec07a4c95e912dfc4f2bfe58b623bf310c9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/tags/temp/lora.txt
@@ -0,0 +1,125 @@
+D' Vana Tendi (Star Trek Lower Decks).safetensors,"d' vana tendi (star trek lower decks)",
+Tsunade.safetensors,"tsunade",
+Beatrix Amerhauser.safetensors,"beatrix amerhauser",
+Ochiai.safetensors,"ochiai",
+Sakura[Boruto]V2.safetensors,"sakura[boruto]v2",
+bunnyayumi - V3.safetensors,"bunnyayumi - v3",
+bunnyayumi-000001.safetensors,"bunnyayumi-000001",
+bunnyayumi-000002.safetensors,"bunnyayumi-000002",
+bunnyayumi-000003.safetensors,"bunnyayumi-000003",
+bunnyayumi-000004.safetensors,"bunnyayumi-000004",
+bunnyayumi.safetensors,"bunnyayumi",
+Roserayy-000001.safetensors,"roserayy-000001",
+Roserayy-000002.safetensors,"roserayy-000002",
+Roserayy-000003.safetensors,"roserayy-000003",
+Roserayy-000004.safetensors,"roserayy-000004",
+Roserayy-000005.safetensors,"roserayy-000005",
+Roserayy.safetensors,"roserayy",
+STTLDV1.safetensors,"sttldv1",
+Roserayy - NAI_X_SD-000001.safetensors,"roserayy - nai_x_sd-000001",
+Roserayy - NAI_X_SD-000002.safetensors,"roserayy - nai_x_sd-000002",
+Roserayy - NAI_X_SD-000003.safetensors,"roserayy - nai_x_sd-000003",
+Roserayy - NAI_X_SD-000004.safetensors,"roserayy - nai_x_sd-000004",
+Roserayy - NAI_X_SD-000005.safetensors,"roserayy - nai_x_sd-000005",
+Roserayy - NAI_X_SD.safetensors,"roserayy - nai_x_sd",
+Psycheswings-000001.safetensors,"psycheswings-000001",
+Psycheswings-000002.safetensors,"psycheswings-000002",
+Psycheswings-000003.safetensors,"psycheswings-000003",
+Psycheswings.safetensors,"psycheswings",
+gwy_ther.safetensors,"gwy_ther",
+gwy_ther - V2-000001.safetensors,"gwy_ther - v2-000001",
+Sano-br.safetensors,"sano-br",
+android_18_v110.safetensors,"android_18_v110",
+potasticpanda-000001.safetensors,"potasticpanda-000001",
+potasticpanda-000002.safetensors,"potasticpanda-000002",
+potasticpanda-000003.safetensors,"potasticpanda-000003",
+potasticpanda.safetensors,"potasticpanda",
+clothesUpdate.safetensors,"clothesupdate",
+Brananaxx.safetensors,"brananaxx",
+Brananaxx - V2.safetensors,"brananaxx - v2",
+Reinbach Style.safetensors,"reinbach style",
+Asura Style - V3.safetensors,"asura style - v3",
+Asura Style.safetensors,"asura style",
+Asura Style - V2.safetensors,"asura style - v2",
+marinkitagawas1-lora-nochekaiser.safetensors,"marinkitagawas1-lora-nochekaiser",
+Azula.safetensors,"azula",
+kochou_shinobu_v1.2.safetensors,"kochou_shinobu_v1.2",
+ryuwan | ryuwanshoy - Style LoRA.safetensors,"ryuwan | ryuwanshoy - style lora",
+ryuwan | ryuwanshoy - Style LoRA - V2.safetensors,"ryuwan | ryuwanshoy - style lora - v2",
+ryuwan | ryuwanshoy - Style LoRA - V3.safetensors,"ryuwan | ryuwanshoy - style lora - v3",
+Detnox Style.safetensors,"detnox style",
+hinata-000065.safetensors,"hinata-000065",
+D-art | 18dart3 Style-V2.safetensors,"d-art | 18dart3 style-v2",
+Manitu Style V2.safetensors,"manitu style v2",
+vn_simp Style V2.safetensors,"vn_simp style v2",
+Vicky_v1b.safetensors,"vicky_v1b",
+camilanoceda.safetensors,"camilanoceda",
+Masterchefguy_(Artist) Style V2.safetensors,"masterchefguy_(artist) style v2",
+Hi-Top Converse-000001.safetensors,"hi-top converse-000001",
+Hi-Top Converse-000002.safetensors,"hi-top converse-000002",
+Hi-Top Converse-000003.safetensors,"hi-top converse-000003",
+Hi-Top Converse-000004.safetensors,"hi-top converse-000004",
+Hi-Top Converse-000005.safetensors,"hi-top converse-000005",
+Hi-Top Converse-000006.safetensors,"hi-top converse-000006",
+Hi-Top Converse-000007.safetensors,"hi-top converse-000007",
+Hi-Top Converse.safetensors,"hi-top converse",
+Rachel Shea-000002.safetensors,"rachel shea-000002",
+DoompyPomp Style.safetensors,"doompypomp style",
+fugtrup Style.safetensors,"fugtrup style",
+d.va_v1.safetensors,"d.va_v1",
+Miwa_Kasumi-10.safetensors,"miwa_kasumi-10",
+hex_maniac_v1.safetensors,"hex_maniac_v1",
+ph-Style.safetensors,"ph-style",
+milkywarm-000003.safetensors,"milkywarm-000003",
+Ellie-The-Empress.safetensors,"ellie-the-empress",
+hillary_clinton_v1.safetensors,"hillary_clinton_v1",
+miak.safetensors,"miak",
+aoc-1.1.safetensors,"aoc-1.1",
+Elitenappa-Style_V5.safetensors,"elitenappa-style_v5",
+gwen_1.5.safetensors,"gwen_1.5",
+Mjj-Style.safetensors,"mjj-style",
+Shibuya-Kaho-V4.safetensors,"shibuya-kaho-v4",
+BunnyAyumi.safetensors,"bunnyayumi",
+kimono.safetensors,"kimono",
+Kimono Dress by Stable Yogi.safetensors,"kimono dress by stable yogi",
+NameSpace-Style-V3.safetensors,"namespace-style-v3",
+Trinity-Morisette.safetensors,"trinity-morisette",
+Janineaam.safetensors,"janineaam",
+Shibuya-Kaho-V2.safetensors,"shibuya-kaho-v2",
+Gwy_ther69-000010.safetensors,"gwy_ther69-000010",
+Chanel Uzi-000010.safetensors,"chanel uzi-000010",
+Chanel Uzi V2.safetensors,"chanel uzi v2",
+StephaniE23-Style-SDV2.safetensors,"stephanie23-style-sdv2",
+StephaniE23-Style.safetensors,"stephanie23-style",
+ColdArsenal Style.safetensors,"coldarsenal style",
+Amethyst-10v6.safetensors,"amethyst-10v6",
+eu03 [MockAi - v1.0].safetensors,"eu03 [mockai - v1.0]",
+Mossacannibalis-Style.safetensors,"mossacannibalis-style",
+Mossacannibalis-Style_V2.safetensors,"mossacannibalis-style_v2",
+WoeSenpai | Alexandra Cohen.safetensors,"woesenpai | alexandra cohen",
+Psycheswings 2.0.safetensors,"psycheswings 2.0",
+Jenny Babas-000016.safetensors,"jenny babas-000016",
+Naruho Style | なるほど - スタイル.safetensors,"naruho style | なるほど - スタイル",
+Naruho Style | なるほど - スタイル - V2.safetensors,"naruho style | なるほど - スタイル - v2",
+xoangel444-V2.safetensors,"xoangel444-v2",
+virgoart1509.safetensors,"virgoart1509",
+Corvids-v1.safetensors,"corvids-v1",
+Odisia Style.safetensors,"odisia style",
+Odisia-Style_vpred.safetensors,"odisia-style_vpred",
+Sylessae Style.safetensors,"sylessae style",
+Fey Morningstar | fey.the.red - V2-000015.safetensors,"fey morningstar | fey.the.red - v2-000015",
+cocokauai01.safetensors,"cocokauai01",
+evulart-Style_V2.safetensors,"evulart-style_v2",
+erupsai2-Style.safetensors,"erupsai2-style",
+pumpkincakezz.safetensors,"pumpkincakezz",
+Urcarta | @urct | 裏方 - Style-000010.safetensors,"urcarta | @urct | 裏方 - style-000010",
+Urcarta | @urct | 裏方 - Style-000013.safetensors,"urcarta | @urct | 裏方 - style-000013",
+Urcarta | @urct | 裏方 - Style.safetensors,"urcarta | @urct | 裏方 - style",
+Duskfall Portal Crew Style.safetensors,"duskfall portal crew style",
+philtomato-Style.safetensors,"philtomato-style",
+[V2]_Boob-Stack.safetensors,"[v2]_boob-stack",
+[V2]_Kenjaku.safetensors,"[v2]_kenjaku",
+AFTRMRKT | briansumcreative - Style.safetensors,"aftrmrkt | briansumcreative - style",
+tatumiserao | Chisato Tatumi | 巽千沙都 - Style.safetensors,"tatumiserao | chisato tatumi | 巽千沙都 - style",
+inkuusan | inkerton-kun.safetensors,"inkuusan | inkerton-kun",
+nemuriyu | @nemuriyu | 理由 .safetensors,"nemuriyu | @nemuriyu | 理由 ",
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/tags/temp/lyco.txt b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/tags/temp/lyco.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/tags/temp/umi_tags.txt b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/tags/temp/umi_tags.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/tags/temp/wc.txt b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/tags/temp/wc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/tags/temp/wc_yaml.json b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/tags/temp/wc_yaml.json
new file mode 100644
index 0000000000000000000000000000000000000000..9e26dfeeb6e641a33dae4961196235bdb965b21b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/tags/temp/wc_yaml.json
@@ -0,0 +1 @@
+{}
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/tags/temp/wce.txt b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/tags/temp/wce.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c1f9b5faa5c2f63601de30370a77abeff16465c3
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/a1111-sd-webui-tagcomplete/tags/temp/wce.txt
@@ -0,0 +1,210 @@
+/content/gdrive/MyDrive/sd/stable-diffusion-webui/extensions/stable-diffusion-webui-wildcards/wildcards
+various.HairStyles.txt,"various.hairstyles.txt"
+various.clothing.txt,"various.clothing.txt"
+size.breasts.txt,"size.breasts.txt"
+length.hair.txt,"length.hair.txt"
+skin-tone.txt,"skin-tone.txt"
+various.shots.txt,"various.shots.txt"
+locations.beautiful.txt,"locations.beautiful.txt"
+3d-term.txt,"3d-term.txt"
+actors.txt,"actors.txt"
+actress.txt,"actress.txt"
+adj-architecture.txt,"adj-architecture.txt"
+adj-beauty.txt,"adj-beauty.txt"
+adj-general.txt,"adj-general.txt"
+adj-horror.txt,"adj-horror.txt"
+alien.txt,"alien.txt"
+angel.txt,"angel.txt"
+animal.txt,"animal.txt"
+artist-anime.txt,"artist-anime.txt"
+artist-black-white.txt,"artist-black-white.txt"
+artist-botanical.txt,"artist-botanical.txt"
+artist-cartoon.txt,"artist-cartoon.txt"
+artist-concept.txt,"artist-concept.txt"
+artist-csv.txt,"artist-csv.txt"
+artist-c.txt,"artist-c.txt"
+artist-dig1.txt,"artist-dig1.txt"
+artist-dig2.txt,"artist-dig2.txt"
+artist-dig3.txt,"artist-dig3.txt"
+artist-director.txt,"artist-director.txt"
+artist-fantasy.txt,"artist-fantasy.txt"
+artist-fareast.txt,"artist-fareast.txt"
+artist-fineart.txt,"artist-fineart.txt"
+artist-horror.txt,"artist-horror.txt"
+artist-n.txt,"artist-n.txt"
+artist-nudity.txt,"artist-nudity.txt"
+artist-photographer.txt,"artist-photographer.txt"
+artist-scifi.txt,"artist-scifi.txt"
+artist-scribbles.txt,"artist-scribbles.txt"
+artist-special.txt,"artist-special.txt"
+artist-surreal.txt,"artist-surreal.txt"
+artist.txt,"artist.txt"
+artist-ukioe.txt,"artist-ukioe.txt"
+artist-weird.txt,"artist-weird.txt"
+aspect-ratio.txt,"aspect-ratio.txt"
+background-color.txt,"background-color.txt"
+background.txt,"background.txt"
+bangs.txt,"bangs.txt"
+bdsm.txt,"bdsm.txt"
+bdsm-type.txt,"bdsm-type.txt"
+belt.txt,"belt.txt"
+biome.txt,"biome.txt"
+bird.txt,"bird.txt"
+blonde.txt,"blonde.txt"
+body-fit.txt,"body-fit.txt"
+body-heavy.txt,"body-heavy.txt"
+body-light.txt,"body-light.txt"
+body-poor.txt,"body-poor.txt"
+bodyshape2.txt,"bodyshape2.txt"
+bodyshape.txt,"bodyshape.txt"
+body-short.txt,"body-short.txt"
+body-tall.txt,"body-tall.txt"
+braids.txt,"braids.txt"
+bra.txt,"bra.txt"
+breastsize.txt,"breastsize.txt"
+camera-manu.txt,"camera-manu.txt"
+camera.txt,"camera.txt"
+cat.txt,"cat.txt"
+celeb.txt,"celeb.txt"
+civilization.txt,"civilization.txt"
+class.txt,"class.txt"
+clothing-female.txt,"clothing-female.txt"
+clothing-male.txt,"clothing-male.txt"
+clothing.txt,"clothing.txt"
+corset.txt,"corset.txt"
+cosmic-galaxy.txt,"cosmic-galaxy.txt"
+cosmic-nebula.txt,"cosmic-nebula.txt"
+cosmic-star.txt,"cosmic-star.txt"
+cosmic-term.txt,"cosmic-term.txt"
+costume-female.txt,"costume-female.txt"
+costume-male.txt,"costume-male.txt"
+cumplay.txt,"cumplay.txt"
+decade.txt,"decade.txt"
+deity.txt,"deity.txt"
+detail.txt,"detail.txt"
+dinosaur.txt,"dinosaur.txt"
+dog.txt,"dog.txt"
+dress.txt,"dress.txt"
+earrings.txt,"earrings.txt"
+emoji-combo.txt,"emoji-combo.txt"
+emoji.txt,"emoji.txt"
+expression.txt,"expression.txt"
+eyecolor.txt,"eyecolor.txt"
+eyeliner.txt,"eyeliner.txt"
+fantasy-creature.txt,"fantasy-creature.txt"
+fantasy-setting.txt,"fantasy-setting.txt"
+fantasy.txt,"fantasy.txt"
+female-adult.txt,"female-adult.txt"
+female-young.txt,"female-young.txt"
+fetish.txt,"fetish.txt"
+film-genre.txt,"film-genre.txt"
+fish.txt,"fish.txt"
+flower.txt,"flower.txt"
+focal-length.txt,"focal-length.txt"
+food.txt,"food.txt"
+forest-type.txt,"forest-type.txt"
+fruit.txt,"fruit.txt"
+f-stop.txt,"f-stop.txt"
+furniture.txt,"furniture.txt"
+game.txt,"game.txt"
+gem.txt,"gem.txt"
+gender-ext.txt,"gender-ext.txt"
+gender.txt,"gender.txt"
+gen-modifier.txt,"gen-modifier.txt"
+genre.txt,"genre.txt"
+hairaccessory.txt,"hairaccessory.txt"
+hair-color.txt,"hair-color.txt"
+hair-female-short.txt,"hair-female-short.txt"
+hair-female.txt,"hair-female.txt"
+hairlength.txt,"hairlength.txt"
+hair-male.txt,"hair-male.txt"
+hd.txt,"hd.txt"
+headwear-female.txt,"headwear-female.txt"
+headwear-male.txt,"headwear-male.txt"
+high-heels.txt,"high-heels.txt"
+horror.txt,"horror.txt"
+identity.txt,"identity.txt"
+interior.txt,"interior.txt"
+iso-stop.txt,"iso-stop.txt"
+landscape.txt,"landscape.txt"
+legwear.txt,"legwear.txt"
+lingerie.txt,"lingerie.txt"
+lipstick-shade.txt,"lipstick-shade.txt"
+lipstick.txt,"lipstick.txt"
+location.txt,"location.txt"
+makeup.txt,"makeup.txt"
+male-adult.txt,"male-adult.txt"
+male-young.txt,"male-young.txt"
+monster.txt,"monster.txt"
+movement.txt,"movement.txt"
+nationality.txt,"nationality.txt"
+national-park.txt,"national-park.txt"
+neckwear.txt,"neckwear.txt"
+neg-weight.txt,"neg-weight.txt"
+noun-beauty.txt,"noun-beauty.txt"
+noun-fantasy.txt,"noun-fantasy.txt"
+noun-general.txt,"noun-general.txt"
+noun-horror.txt,"noun-horror.txt"
+noun-landscape.txt,"noun-landscape.txt"
+noun-romance.txt,"noun-romance.txt"
+noun-scifi.txt,"noun-scifi.txt"
+occupation.txt,"occupation.txt"
+oil-painting.txt,"oil-painting.txt"
+panties.txt,"panties.txt"
+photoshoot-type.txt,"photoshoot-type.txt"
+photo-term.txt,"photo-term.txt"
+planet.txt,"planet.txt"
+pop-culture.txt,"pop-culture.txt"
+pop-location.txt,"pop-location.txt"
+portrait-type.txt,"portrait-type.txt"
+public.txt,"public.txt"
+punk.txt,"punk.txt"
+purse.txt,"purse.txt"
+quantity.txt,"quantity.txt"
+race.txt,"race.txt"
+render-engine.txt,"render-engine.txt"
+render.txt,"render.txt"
+robot.txt,"robot.txt"
+rpg-Item.txt,"rpg-item.txt"
+scenario2.txt,"scenario2.txt"
+scenario-fantasy.txt,"scenario-fantasy.txt"
+scenario-romance.txt,"scenario-romance.txt"
+scenario-scifi.txt,"scenario-scifi.txt"
+scenario.txt,"scenario.txt"
+scifi.txt,"scifi.txt"
+sculpture.txt,"sculpture.txt"
+setting.txt,"setting.txt"
+sex-act.txt,"sex-act.txt"
+sex-position.txt,"sex-position.txt"
+sex-toy.txt,"sex-toy.txt"
+ship.txt,"ship.txt"
+site.txt,"site.txt"
+skin-color.txt,"skin-color.txt"
+still-life.txt,"still-life.txt"
+style.txt,"style.txt"
+subject-fantasy.txt,"subject-fantasy.txt"
+subject-horror.txt,"subject-horror.txt"
+subject-romance.txt,"subject-romance.txt"
+subject-scifi.txt,"subject-scifi.txt"
+subject.txt,"subject.txt"
+subreddit.txt,"subreddit.txt"
+suit-female.txt,"suit-female.txt"
+suit-male.txt,"suit-male.txt"
+superhero.txt,"superhero.txt"
+supermodel.txt,"supermodel.txt"
+swimwear.txt,"swimwear.txt"
+technique.txt,"technique.txt"
+time.txt,"time.txt"
+train.txt,"train.txt"
+tree.txt,"tree.txt"
+tribe.txt,"tribe.txt"
+trippy.txt,"trippy.txt"
+underwater.txt,"underwater.txt"
+watercolor.txt,"watercolor.txt"
+water.txt,"water.txt"
+wave.txt,"wave.txt"
+wh-site.txt,"wh-site.txt"
+color.txt,"color.txt"
+-----
+/content/gdrive/MyDrive/sd/stable-diffusion-webui/extensions/sd-dynamic-prompts/wildcards
+-----
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/put extensions here.txt b/AiAF/Backup-SD-Extensions-Folder/put extensions here.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/.github/FUNDING.yml b/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/.github/FUNDING.yml
new file mode 100644
index 0000000000000000000000000000000000000000..6d0af7885427407541e59b781dc19c2872b6915b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/.github/FUNDING.yml
@@ -0,0 +1,3 @@
+# These are supported funding model platforms
+
+custom: ["https://www.paypal.me/JeJongen"]
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/.github/ISSUE_TEMPLATE/bug_report.yml b/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/.github/ISSUE_TEMPLATE/bug_report.yml
new file mode 100644
index 0000000000000000000000000000000000000000..d55765a7a1a78d703c7a031830029fab0dfafd15
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/.github/ISSUE_TEMPLATE/bug_report.yml
@@ -0,0 +1,60 @@
+name: 🐛 Bug report
+description: If something isn't working as expected, please report a bug here.
+title: "[Bug]: "
+labels: ["bug"]
+
+body:
+ - type: markdown
+ attributes:
+ value: |
+ *Please fill this form with as much information as possible!*
+ - type: textarea
+ id: what-did
+ attributes:
+ label: Describe the bug.
+ description: A clear and concise description of what the bug is.
+ validations:
+ required: true
+ - type: textarea
+ id: steps
+ attributes:
+ label: Steps to reproduce the problem.
+ description: Precise step by step instructions on how to reproduce the bug.
+ value: |
+ 1. Go to ....
+ 2. Press ....
+ 3. ...
+ validations:
+ required: true
+ - type: textarea
+ id: what-should
+ attributes:
+ label: Expected behavior
+ description: A clear and concise description of what you expected to happen.
+ validations:
+ required: true
+ - type: textarea
+ id: sysinfo
+ attributes:
+ label: System info
+ description: Information about your system and the versions that were used.
+ value: |
+ * Extension version:
+ * OS:
+ * SD-WebUI version:
+ * Python:
+ validations:
+ required: true
+ - type: textarea
+ id: logs
+ attributes:
+ label: Console logs
+ description: Please share the complete cmd/terminal logs from the time the error occurred, ensuring you include all associated error messages.
+ render: Shell
+ validations:
+ required: true
+ - type: textarea
+ id: misc
+ attributes:
+ label: Additional information
+ description: Please provide any relevant additional info or context.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/.github/ISSUE_TEMPLATE/config.yml b/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/.github/ISSUE_TEMPLATE/config.yml
new file mode 100644
index 0000000000000000000000000000000000000000..95d64503d645d008eaac35b1985cfe4c6dbb2a02
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/.github/ISSUE_TEMPLATE/config.yml
@@ -0,0 +1,8 @@
+blank_issues_enabled: false
+contact_links:
+ - name: "🌟 Feature Request"
+ url: "https://github.com/BlafKing/sd-civitai-browser-plus/discussions/new?category=ideas"
+ about: "Feature requests are handled in the Discussions tab under 'Ideas'."
+ - name: "❓ Question"
+ url: "https://github.com/BlafKing/sd-civitai-browser-plus/discussions/new?category=q-a"
+ about: "If you have questions, please ask them in the Discussions tab under 'Q&A'."
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/.gitignore b/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..7b62f12d5a8d4c6748d03cb47e3a05b7e7ed6516
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/.gitignore
@@ -0,0 +1,2 @@
+__pycache__
+.vscode
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/LICENSE b/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/LICENSE
new file mode 100644
index 0000000000000000000000000000000000000000..0ad25db4bd1d86c452db3f9602ccdbe172438f52
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/LICENSE
@@ -0,0 +1,661 @@
+ GNU AFFERO GENERAL PUBLIC LICENSE
+ Version 3, 19 November 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc.
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU Affero General Public License is a free, copyleft license for
+software and other kinds of works, specifically designed to ensure
+cooperation with the community in the case of network server software.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+our General Public Licenses are intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ Developers that use our General Public Licenses protect your rights
+with two steps: (1) assert copyright on the software, and (2) offer
+you this License which gives you legal permission to copy, distribute
+and/or modify the software.
+
+ A secondary benefit of defending all users' freedom is that
+improvements made in alternate versions of the program, if they
+receive widespread use, become available for other developers to
+incorporate. Many developers of free software are heartened and
+encouraged by the resulting cooperation. However, in the case of
+software used on network servers, this result may fail to come about.
+The GNU General Public License permits making a modified version and
+letting the public access it on a server without ever releasing its
+source code to the public.
+
+ The GNU Affero General Public License is designed specifically to
+ensure that, in such cases, the modified source code becomes available
+to the community. It requires the operator of a network server to
+provide the source code of the modified version running there to the
+users of that server. Therefore, public use of a modified version, on
+a publicly accessible server, gives the public access to the source
+code of the modified version.
+
+ An older license, called the Affero General Public License and
+published by Affero, was designed to accomplish similar goals. This is
+a different license, not a version of the Affero GPL, but Affero has
+released a new version of the Affero GPL which permits relicensing under
+this license.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU Affero General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Remote Network Interaction; Use with the GNU General Public License.
+
+ Notwithstanding any other provision of this License, if you modify the
+Program, your modified version must prominently offer all users
+interacting with it remotely through a computer network (if your version
+supports such interaction) an opportunity to receive the Corresponding
+Source of your version by providing access to the Corresponding Source
+from a network server at no charge, through some standard or customary
+means of facilitating copying of software. This Corresponding Source
+shall include the Corresponding Source for any work covered by version 3
+of the GNU General Public License that is incorporated pursuant to the
+following paragraph.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the work with which it is combined will remain governed by version
+3 of the GNU General Public License.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU Affero General Public License from time to time. Such new versions
+will be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU Affero General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU Affero General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU Affero General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+
+ Copyright (C)
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published
+ by the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If your software can interact with users remotely through a computer
+network, you should also make sure that it provides a way for users to
+get its source. For example, if your program is a web application, its
+interface could display a "Source" link that leads users to an archive
+of the code. There are many ways you could offer source, and different
+solutions will be better for different programs; see section 13 for the
+specific requirements.
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU AGPL, see
+ .
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/README.md b/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..764972f9dddb6168de6493ba95a2f881a8130c15
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/README.md
@@ -0,0 +1,441 @@
+
+
+
+---
+### Extension for [Automatic1111's Stable Difussion Web UI](https://github.com/AUTOMATIC1111/stable-diffusion-webui)
+
+
+Features 🚀
+Browse all models from CivitAI 🧩
+
+* Explore a wide range of models at your fingertips.
+
+Check for updates and installed models 🔄
+
+* Easily spot new updates and identify already installed models while browsing.
+* Ability to scan all installed models for available updates.
+
+Download any Model, any version, and any file 📥
+
+* Get the specific model version and file you need hassle-free.
+
+Automatically assign tags to installed models 🏷️
+
+* Assign tags by scanning all installed models for automatic use in image generation.
+
+High-speed downloads with Aria2 🚄
+
+* Maximize your bandwidth for lightning-fast downloads.
+
+Sleek and Intuitive User Interface 🖌️
+
+* Enjoy a clutter-free, user-friendly interface, designed to enhance your experience.
+
+Actively maintained with feature requests welcome 🛠️
+
+* Feel free to send me your feature requests, and I'll do my best to implement them!
+
+
+
+
+Known Issues 🐛
+
+Incompatible Extension
+
+* This extension is currently not compatible with [SignalFlagZ's CivBrowser](https://github.com/SignalFlagZ/sd-webui-civbrowser) please uninstall it if you're experiencing issues.
+
+
+Unable to download / Frozen download
+
+**If you're experiencing issues with broken or frozen downloads, there are two possible solutions you can try:**
+
+1. **Revert to the old download method**:
+ A solution could be to disable the "Download models using Aria2" feature.
+This will switch back to the old download method, which may resolve the issue.
+
+ 
+
+2. **Disable Async DNS for Aria2**:
+ If you're using a DNS manager program like PortMaster, try turning on the "Disable Async DNS for Aria2" option.
+
+ 
+
+These settings can be found under the "Settings" tab in Web-UI and then under the "Civit AI" tile.
+
+
+
+
+
+
+
+# How to install 📘
+
+Automatic Installation:
+
+
+
+
+Manual Installation:
+
+1. Download the latest version from this site and unpack the .zip
+
+
+2. Navigate to your extensions folder (Your SD folder/webui/extensions)
+3. Place the unpacked folder inside the extensions folder
+4. Restart SD-WebUI
+
+# Preview 👀
+
+https://github.com/BlafKing/sd-civitai-browser/assets/9644716/ea873c3e-a7e4-44a8-907a-e9bddf13bc55
+
+
+(Theme used: [Lobe](https://github.com/canisminor1990/sd-webui-lobe-theme))
+
+# Changelog 📋
+
+v1.15.2
+
+* New setting: Custom save images location
+* New setting: Default sub folders
+ - Any sub folders you have will be able to be selected as default, per content type.
+ - If a content type doesn't appear, then it means there are no subfolders in that type.
+* Bug fix: Unreleased models caused a crash, now hidden by default since they can't be used.
+
+---
+v1.15.1
+
+* New setting: Show console logs during update scanning.
+* Bug fix: Scan for update no longer prints incorrect info about outdated models.
+* Bug fix: Removed bad logic which triggered the same function multiple times.
+* Cleanup: Optimized functions and improved the speed of selecting models.
+
+---
+v1.15
+
+* Feature: Filter option to show favorited models. (requires personal API key)
+* Feature: Back to top button when viewing model details.
+* New setting: Page navigation as header. (keeps page navigation always visible at the top)
+* Bug fix: Aria2 now restarts when UI is reloaded.
+* Bug fix: SHA256 error fixed if .json files don't contain it.
+* Bug fix: Cleaned up javascript code.
+
+---
+v1.14.7
+
+* New setting: Hide early access models (EA models are only downloadable by supporters)
+* New setting: Personal CivitAI API key (Text field to insert personal API key)
+ - Useful for CivitAI supporters, you can use your own API Key to allow downloading Early Access models
+* Bug fix: Extension now works with `no gradio queue` flag.
+* Bug fix: Auto disable Aria2 on MacOS due to incompatibility.
+* Bug fix: Now properly works on SD.Next again.
+* Bug fix: Download progression and cancelling is no longer broken on old download method.
+* Bug fix: Extension now correctly downloads models where it is required to be logged in.
+* Bug fix: Extension no longer attempts to install already installed requirements.
+
+---
+v1.14.6
+
+* Bug fix: Removed pre-load of default page, caused issues for some users.
+* Bug fix: Fixed internal model naming, caused issues when model names included '
+* Bug fix: Different host for .svg icons, caused issues with MalwareBytes.
+* Bug fix: Preview saving was broken due to passing the wrong file path.
+
+---
+v1.14.5
+
+* Feature: Base Model filter now impacts search results.
+* Feature: Ability to input model URL into search bar to find corresponding model.
+* Bug fix: Adetailer models now get placed in the correct folder
+
+---
+v1.14.4
+
+* Bug fix: Page slider broke the Next Page button when loaded from "Update Models".
+* Bug fix: "Save settings as default" button inserted broken .json data.
+* Bug fix: Triggering "Scan for available updates" twice resulted in an error.
+
+---
+v1.14.3
+
+* Bug fix: LORA content type was broken when "Treat LoCon as LORA" was turned on.
+
+---
+v1.14.2
+
+* Feature: Custom page handling when scanning models.
+* Bug fix: Model scan feature now works for large model count (+900)
+* Bug fix: Better broken .json error handling
+
+---
+v1.14.1
+
+* Bug fix: Gifs did not display properly.
+* Bug fix: Video's no longer save as preview since they cannot be used.
+* Bug fix: Filter window was not hidden by default.
+
+---
+v1.14
+
+* Feature: Redesign of UI.
+* Feature: New dropdown with filter settings.
+* Feature: Button to save current filter settings as default. (requires restart)
+* Feature: Tag box can now be typed in to save custom tags.
+* Feature: Delete function removes any unpacked files.
+
+---
+v1.13
+
+* Feature: Updated available content types:
+ - Upscaler
+ - MotionModule
+ - Wildcards
+ - Workflows
+ - Other
+* Feature: Videos can now also be displayed on preview cards and in the model info.
+* Feature: Automatically scans upscaler type by looking through model's description.
+* Feature: Automatically identify correct folder for wildcards based on extension.
+* Bug fix: Version ID got saved instead of correct Model ID after download.
+
+---
+v1.12.5
+
+* Bug fix: [Installed] tag was only assigned to latest installed version.
+* Bug fix: Folder location didn't update when selecting different version/file.
+* Bug fix: Version scanning didn't properly scan sha256 in uppercase.
+
+---
+v1.12.4
+
+* Feature: You can now refresh by pressing Ctrl+Enter and Alt+Enter.
+* Bug fix: Auto unpack feature was unpacking unintended archives, now only unpacks .zip.
+
+---
+v1.12.3
+
+* New setting: Option to toggle automatically unpacking .zip models.
+* Bug fix: Error wasn't catched when file path was incorrect.
+
+---
+v1.12.2
+
+* Feature: Able to download multiple files from each version.
+* Bug fix: Models did not get deleted properly when in nested folders.
+* Bug fix: Wrong sha256 was being saved after downloading.
+* Bug fix: Wrong default folder was used when installed model got selected.
+
+---
+v1.12.1
+
+* Feature: File deletion now uses both SHA256 and file name to detect correct file.
+* New setting: Option to toggle automatically inserting 2 default sub folders.
+* New setting: Option to toggle installing LoCON's in LORA folder.
+* Bug fix: Default file was incorrect when selecting a model.
+* Bug fix: Next Page caused an error when changing content type.
+
+---
+v1.12
+
+* Feature: Ability to load all selected installed models into browser in Update Models tab.
+* Feature: Installed/outdated models check is now done using SHA256 + file name.
+* Feature: Ability to select multiple content Types when searching and scanning.
+* Feature: Greatly improved speed of model scanning if model ID is saved in .json
+
+---
+v1.11.2
+
+* Feature: Redesign of model page by [ManOrMonster](https://github.com/ManOrMonster)
+* Model page changes (https://github.com/BlafKing/sd-civitai-browser-plus/pull/33)
+
+ - Redesigned the look of the model page.
+ - Added link to model page on CivitAI. Click on model name to open.
+ - Added link to uploader/creator page on CivitAI. Click creator name to open.
+ - Added CivitAI avatar display.
+ - Separate description section.
+ - First sample image is marked with data attribute and downloaded as preview image instead of grabbing first in model HTML. This guarantees that the first sample image (not avatar or image in description) is used when downloading the model.
+ - Sample images are marked with data attribute so that only they are downloaded when using "Save Images" (no description images or avatar).
+ - Removed trained tags from info since they are displayed above.
+ - Each sample image has its own section.
+ - Sample images zoom in when clicked, zoom out when clicking anywhere.
+ - Forced width is removed from sample image URLs so that nice big images can be viewed.
+ - Metadata is arranged so that the most commonly used data is at the top, no more searching for prompts.
+ - Extra metadata is in accordion labeled "More details...". This is especially useful to hide insanely large ComfyUI JSON.
+
+
+
+---
+v1.11.1
+
+* Feature: Error detection during Aria2 downloads.
+* Bug fix: Avoid starting Aria2 RPC multiple times with better port check.
+* Bug fix: Fixed dynamic tile status updates after deleting/downloading.
+---
+
+v1.11
+
+* Feature: Ability to scan all installed models for available updates.
+* Feature: Model ID and sha256 get saved to .json after scanning or downloading a model.
+* Bug fix: Fixed crash when base model is not found.
+* Bug fix: No longer overwrite sha256 and model ID in existing .json.
+---
+
+v1.10.1
+
+* Bug fix: Fixed pathing for Unix systems
+* Bug fix: Extra checks to prevent deleting unintentional files.
+* Feature: Models get moved to trash instead of fully deleted.
+---
+v1.10
+
+* Feature: Update tags for all installed models!
+* Feature: Tabs for Browsing and updating Tags.
+* Feature: Buttons to select which folders to update tags in.
+---
+v1.9.4
+
+* Feature: Added Civit AI settings tab
+ - New setting: Disable downloading with Aria2. (will use old download method instead)
+ - New setting: Disable using Async DNS. (can fix issues for some users who use DNS managing programs)
+ - New setting: Show Aria2 logs in the CMD.
+ - New setting: Set the amount of connections when downloading a model with Aria2.
+ (The optimal connection count is different per user, try to find the lowest option which still gives you full bandwidth speed)
+---
+v1.9.3
+
+* Feature: Included Motrix Aria2 version.
+* Feature: Max connections per server set to 64 and split file set 64.
+* Feature: Aria2 is now shipped with this extension for Linux as well.
+---
+
+v1.9.2
+
+* Cleanup: Split up script into multiple files for improved oversight/readability.
+* Cleanup: Centered model icons
+---
+
+v1.9.1
+
+* Bug fix: Added back old download function if aria2 fails.
+---
+
+v1.9
+
+* Feature: Faster downloads by using Aria2.
+* Feature: More info about current download: Speed, ETA, File Size and % completion.
+---
+
+v1.8.1
+
+* Feature: Sub Folder list now contains 2 default options: `/{Model name}` & `/{Model name}/{Version name}`
+---
+
+v1.8
+
+* Feature: Ability to download different file types per version.
+* Feature: NSFW Toggle is now dynamic.
+* Feature: Version list now dynamically updates after download.
+* Cleanup: Rearranged/Resized UI elements.
+* Bug fix: Downloading models now uses file ID instead of names.
+* Bug fix: NSFW Toggle no longer hides images tagged as "Soft".
+* Bug fix: Fixed each model load running twice.
+---
+
+v1.7.2
+
+* Bug fix: Download button did not get re-enabled properly.
+* Bug fix: Tile status did not get updated properly when download failed.
+---
+
+v1.7.1
+
+* Feature: Base Model filtering dims tiles instead of hiding.
+* Bug fix: NSFW Blur increases with tile size.
+* Bug fix: Dynamic tile status after installation & deletion now correctly detects other versions.
+---
+
+v1.7
+
+* Feature: Introduced seperate download progress bar, browse while downloading.
+* Feature: no more force refresh after installing, cancelling and deleting.
+* Feature: Added toggle to sort Tiles by date.
+* Feature: Dynamic changing of tile borders after installation & deletion.
+* Removal: 'Auto delete old version' removed since it relied on a reload.
+---
+
+v1.6
+
+* Bug fix: Page count is now always correclty read when refreshing.
+(You can fill in the page number you'd like to visit and press refresh to go to that page)
+* Feature: 'Filter Base Model' to dynamically hide any unselected Base models.
+(Please note: This does not impact search results, since the CivitAI API does not yet support this)
+---
+
+v1.5
+
+* Feature: Slider to change tile size.
+* Feature: Download Folder textbox which can be used to define a custom download path.
+* Feature: Sub Folder Dropdown to select any available subfolder(s) as download location.
+* Feature: Display a timed out message instead of an error icon.
+* Bug fix: Nested files can now be detected as installed or outdated.
+* Bug fix: Auto selects corresponding folder of any installed models.
+* Bug fix: Better cancellation logic to prevent downloads from continuing.
+---
+
+v1.4
+
+* Feature: Download progress bar is now on web page instead of CMD.
+* Feature: Added Cancel and Delete buttons.
+* Feature: Download button will now change according to circumstances:
+ - Cancel button if there's a current download.
+ - Delete button if the selected version is installed.
+* Cleanup: Better margin fixes with theme detection.
+* Bug fix: Delete option now also removes .json files.
+* Bug fix: Buttons are now disabled during download. (except cancel button)
+---
+
+v1.3.1
+
+* Bug fix: Fixed tag saving bugs/oversights.
+* Bug fix: Trained tags display now do not include the model itself.
+---
+
+v1.3
+
+* Feature: 'Save Tags' button saves tags to a .json file which gets used in image creaton.
+ (If a LORA with saved tags is used it will automatically input all tags into the txt box in image creation)
+* Feature: 'Save tags after download' toggle to automatically save .json tags.
+* Cleanup: Removed "Get model info" button.
+* Cleanup: Removed download link box.
+* Cleanup: Removed "No" from search options.
+* Cleanup: Added border radius to cards.
+* Cleanup: Improved padding based on if Lobe theme is being used.
+---
+
+v1.2
+
+* Feature: Automatically saves preview image when downloading a model.
+* Feature: Added [installed] text suffix for any versions that are installed in the 'Version' tab.
+* Cleanup: Changed 'Model Filename' from a dropbox to a textbox.
+* Cleanup: Made bottom textboxes non typeable.
+* Cleanup: Disabled bottom buttons when no model is selected.
+* Bug fix: Margin error on the latest tile.
+* Bug fix: Version checking is now case sensitive.
+* Bug fix: Default verison in version tab shows installed version.
+---
+
+v1.1
+
+* Feature: Dropdown box which can filter by time period.
+* Cleanup: 'Content type' changed from buttons to a dropdown box.
+* Bug fix: Fixed tiles not reloading when already pressed.
+---
+
+v1.0
+
+* Feature: 'Refresh' now reloads the current page unless any options have been changed.
+* Feature: Made the page refresh after a download and made it load during one.
+* Feature: Orange glow for any outdated installed packages.
+* Feature: 'Delete old version after download' option.
+* Feature: Ability to manually fill in a page number to load the corresponding page.
+* Cleanup: Removed new folder option.
+* Cleanup: Made the glow around frames always visible without hovering.
+* Pulled fork from: [SignalFlagZ's Fork](https://github.com/SignalFlagZ/sd-civitai-browser) [v1.1.0](https://github.com/SignalFlagZ/sd-civitai-browser/releases/tag/1.1.0)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/aria2/lin/aria2 b/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/aria2/lin/aria2
new file mode 100644
index 0000000000000000000000000000000000000000..b93f84f39353b2784d18c91d1525d8f12f904aa6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/aria2/lin/aria2
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:6f50816471fbd5e91c04df6cf6f995c6279d295b70187f313e6d3b04f65769fc
+size 9926088
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/aria2/running b/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/aria2/running
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/aria2/win/aria2.exe b/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/aria2/win/aria2.exe
new file mode 100644
index 0000000000000000000000000000000000000000..5485d42b9ba6f54ef5dfa6c71150ea725737d493
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/aria2/win/aria2.exe
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:098a065ab71f639bf7048e790c870756fd6e83de9cc678915bbd07077d473fa2
+size 8136704
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/install.py b/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/install.py
new file mode 100644
index 0000000000000000000000000000000000000000..4836f46f994ce43029d742cc19e12cf4d45b20a6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/install.py
@@ -0,0 +1,13 @@
+import launch
+from pathlib import Path
+
+aria2path = Path(__file__).resolve().parents[0] / "aria2"
+
+for item in aria2path.iterdir():
+ if item.is_file():
+ item.unlink()
+
+if not launch.is_installed("send2trash"):
+ launch.run_pip("install send2trash", "requirements for CivitAI Browser")
+if not launch.is_installed("zip_unicode"):
+ launch.run_pip("install ZipUnicode", "requirements for CivitAI Browser")
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/javascript/civitai-html.js b/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/javascript/civitai-html.js
new file mode 100644
index 0000000000000000000000000000000000000000..be769749922dbd222361b243393003611a1ab958
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/javascript/civitai-html.js
@@ -0,0 +1,391 @@
+"use strict";
+
+// Selects a model by pressing on card
+function select_model(model_name) {
+ var civitaiDiv = document.getElementById('civitai_preview_html');
+ let model_dropdown = gradioApp().querySelector('#eventtext1 textarea');
+ if (model_dropdown && model_name) {
+ let randomNumber = Math.floor(Math.random() * 1000);
+ let paddedNumber = String(randomNumber).padStart(3, '0');
+ model_dropdown.value = model_name + "." + paddedNumber;
+ updateInput(model_dropdown);
+ observer.unobserve(civitaiDiv);
+ observer.observe(civitaiDiv);
+ }
+}
+
+// Changes the card size
+function updateCardSize(width, height) {
+ var styleSheet = document.styleSheets[0];
+ var dimensionsKeyframes = `width: ${width}em !important; height: ${height}em !important;`;
+
+ var fontSize = (width / 8) * 100;
+ var textKeyframes = `font-size: ${fontSize}% !important;`;
+
+ addOrUpdateRule(styleSheet, '.civmodelcard img', dimensionsKeyframes);
+ addOrUpdateRule(styleSheet, '.civmodelcard .video-bg', dimensionsKeyframes);
+ addOrUpdateRule(styleSheet, '.civmodelcard figcaption', textKeyframes);
+}
+
+// Toggles NSFW display
+function toggleNSFWContent(hideAndBlur) {
+ const sheet = document.styleSheets[0];
+
+ const toggleRule = (selector, rules) => addOrUpdateRule(sheet, selector, rules);
+
+ toggleRule('.civcardnsfw', hideAndBlur ? 'display: block;' : 'display: none;');
+ toggleRule('.civnsfw img', hideAndBlur ? 'filter: none;' : 'filter: blur(10px);');
+
+ const dateSections = document.querySelectorAll('.date-section');
+ dateSections.forEach((section) => {
+ const cards = section.querySelectorAll('.civmodelcard');
+ const nsfwCards = section.querySelectorAll('.civmodelcard.civcardnsfw');
+ section.style.display = !hideAndBlur && cards.length === nsfwCards.length ? 'none' : 'block';
+ });
+
+}
+
+// Updates site with css insertions
+function addOrUpdateRule(styleSheet, selector, newRules) {
+ for (let i = 0; i < styleSheet.cssRules.length; i++) {
+ let rule = styleSheet.cssRules[i];
+ if (rule.selectorText === selector) {
+ rule.style.cssText = newRules;
+ return;
+ }
+ }
+ styleSheet.insertRule(`${selector} { ${newRules} }`, styleSheet.cssRules.length);
+}
+
+// Updates card border
+function updateCard(modelNameWithSuffix) {
+ const lastDotIndex = modelNameWithSuffix.lastIndexOf('.');
+ const modelName = modelNameWithSuffix.slice(0, lastDotIndex);
+ const suffix = modelNameWithSuffix.slice(lastDotIndex + 1);
+ let additionalClassName = '';
+ switch(suffix) {
+ case 'None':
+ additionalClassName = '';
+ break;
+ case 'Old':
+ additionalClassName = 'civmodelcardoutdated';
+ break;
+ case 'New':
+ additionalClassName = 'civmodelcardinstalled';
+ break;
+ default:
+ console.error('Unknown suffix', suffix);
+ return;
+ }
+ const parentDiv = document.querySelector('.civmodellist');
+ if (parentDiv) {
+ const cards = parentDiv.querySelectorAll('.civmodelcard');
+ cards.forEach((card) => {
+ const onclickAttr = card.getAttribute('onclick');
+ if (onclickAttr && onclickAttr.includes(`select_model('${modelName}')`)) {
+ card.className = `civmodelcard ${additionalClassName}`;
+ }
+ });
+ }
+}
+
+// Enables refresh with alt+enter and ctrl+enter
+document.addEventListener('keydown', function(e) {
+ var handled = false;
+
+ if (e.key !== undefined) {
+ if ((e.key == "Enter" && (e.metaKey || e.ctrlKey || e.altKey))) handled = true;
+ } else if (e.keyCode !== undefined) {
+ if ((e.keyCode == 13 && (e.metaKey || e.ctrlKey || e.altKey))) handled = true;
+ }
+
+ if (handled) {
+ var currentTabContent = get_uiCurrentTabContent();
+ if (currentTabContent && currentTabContent.id === "tab_civitai_interface") {
+
+ var refreshButton = currentTabContent.querySelector('#refreshBtn');
+ if (!refreshButton) {
+ refreshButton = currentTabContent.querySelector('#refreshBtnL');
+ }
+ if (refreshButton) {
+ refreshButton.click();
+ }
+
+ e.preventDefault();
+ }
+ }
+});
+
+function BackToTop() {
+ const c = Math.max(document.body.scrollTop, document.documentElement.scrollTop);
+ if (c > 0) {
+ window.requestAnimationFrame(BackToTop);
+ document.body.scrollTop = c - c / 8;
+ document.documentElement.scrollTop = c - c / 8;
+ }
+}
+
+// Function to adjust alignment of Filter Accordion
+function adjustFilterBoxAndButtons() {
+ const element = document.querySelector("#filterBox") || document.querySelector("#filterBoxL");
+ if (!element) return;
+
+ const childDiv = element.querySelector("div:nth-child(3)");
+ if (!childDiv) return;
+
+ const isLargeScreen = window.innerWidth >= 1250;
+ const isMediumScreen = window.innerWidth < 1250 && window.innerWidth > 915;
+ const isNarrowScreen = window.innerWidth < 800;
+ const modelBlocks = document.querySelectorAll("#civitai_preview_html .model-block");
+
+ if (modelBlocks) {
+ modelBlocks.forEach(modelBlock => {
+ if (isNarrowScreen) {
+ modelBlock.style.flexWrap = "wrap";
+ modelBlock.style.justifyContent = "center";
+ } else {
+ modelBlock.style.flexWrap = "nowrap";
+ modelBlock.style.justifyContent = "flex-start";
+ }
+ });
+ }
+
+ childDiv.style.marginLeft = isLargeScreen ? "0px" : isMediumScreen ? `${1250 - window.innerWidth}px` : "0px";
+ element.style.justifyContent = isLargeScreen || isMediumScreen ? "center" : "flex-start";
+
+ const pageBtn1 = document.querySelector("#pageBtn1");
+ const pageBtn2 = document.querySelector("#pageBtn2");
+ const pageBox = document.querySelector("#pageBox");
+ const pageBoxMobile = document.querySelector("#pageBoxMobile");
+
+ if (window.innerWidth < 530) {
+ childDiv.style.width = "300px";
+ if (pageBoxMobile) {
+ pageBtn1 && pageBoxMobile.appendChild(pageBtn1);
+ pageBtn2 && pageBoxMobile.appendChild(pageBtn2);
+ pageBoxMobile.style.paddingBottom = "15px";
+ }
+ } else {
+ childDiv.style.width = "400px";
+ if (pageBox) {
+ pageBtn1 && pageBox.insertBefore(pageBtn1, pageBox.firstChild);
+ pageBtn2 && pageBox.appendChild(pageBtn2);
+ pageBoxMobile.style.paddingBottom = "0px";
+ }
+ }
+}
+
+// Calls the function above whenever the window is resized
+window.addEventListener("resize", adjustFilterBoxAndButtons);
+
+// Function to trigger refresh button with extra checks for page slider
+function pressRefresh() {
+ setTimeout(() => {
+ const input = document.querySelector("#pageSlider > div:nth-child(2) > div > input");
+ if (document.activeElement === input) {
+ input.addEventListener('keydown', function(event) {
+ if (event.key === 'Enter' || event.keyCode === 13) {
+ input.blur();
+ }
+ });
+ input.addEventListener('blur', function() {
+ return;
+ });
+
+ return;
+ }
+
+ let button = document.querySelector("#refreshBtn");
+ if (!button) {
+ button = document.querySelector("#refreshBtnL");
+ }
+ if (button) {
+ button.click();
+ } else {
+ console.error("Both buttons with IDs #refreshBtn and #refreshBtnL not found.");
+ }
+ }, 200);
+}
+
+// Update SVG Icons based on dark theme or light theme
+function updateSVGIcons() {
+ const isDark = document.body.classList.contains('dark');
+ const filterIconUrl = isDark ? "https://gistcdn.githack.com/BlafKing/a20124cedafad23d4eecc1367ec22896/raw/04a4dae0771353377747dadf57c91d55bf841bed/filter-light.svg" : "https://gistcdn.githack.com/BlafKing/686c3438f5d0d13e7e47135f25445ef3/raw/46477777faac7209d001829a171462d9a2ff1467/filter-dark.svg";
+ const searchIconUrl = isDark ? "https://gistcdn.githack.com/BlafKing/3f95619089bac3b4fd5470a986e1b3bb/raw/ebaa9cceee3436711eb560a7a65e151f1d651c6a/search-light.svg" : "https://gistcdn.githack.com/BlafKing/57573592d5857e102a4bfde852f62639/raw/aa213e9e82d705651603507e26545eb0ffe60c90/search-dark.svg";
+
+ const element = document.querySelector("#filterBox, #filterBoxL");
+ const childDiv = element?.querySelector("div:nth-child(3)");
+
+ if (childDiv) {
+ childDiv.style.cssText = `box-shadow: ${isDark ? '#ffffff' : '#000000'} 0px 0px 2px 0px; display: none;`;
+ }
+
+ const style = document.createElement('style');
+ style.innerHTML = `
+ #filterBox > div:nth-child(2) > span:nth-child(2)::before,
+ #filterBoxL > div:nth-child(2) > span:nth-child(2)::before {
+ background: url('${filterIconUrl}') no-repeat center center;
+ background-size: contain;
+ }
+ `;
+ document.head.appendChild(style);
+
+ const refreshBtn = document.querySelector("#refreshBtn, #refreshBtnL");
+ const targetSearchElement = refreshBtn?.firstChild || refreshBtnL?.firstChild;
+
+ if (targetSearchElement) {
+ targetSearchElement.src = searchIconUrl;
+ }
+}
+
+// Creates a tooltip if the user wants to filter liked models without a personal API key
+function createTooltipOnHover() {
+ const toggle4L = document.getElementById('toggle4L');
+ const toggle4 = document.getElementById('toggle4');
+
+ if (toggle4L || toggle4) {
+ const targetElement = toggle4L || toggle4;
+
+ const tooltip = document.createElement('div');
+ tooltip.className = 'tooltip';
+ tooltip.textContent = 'Requires an API Key\nConfigurable in CivitAI settings tab';
+ tooltip.style.cssText = 'display: none; text-align: center; white-space: pre;';
+
+ targetElement.addEventListener('mouseover', () => {
+ tooltip.style.display = 'block';
+ });
+
+ targetElement.addEventListener('mouseout', () => {
+ tooltip.style.display = 'none';
+ });
+
+ targetElement.appendChild(tooltip);
+ }
+}
+
+// Changes the Tab title
+function changeTabTitle() {
+ const tabElement = document.getElementById('rc-tabs-0-tab-tab_civitai_interface');
+ if (tabElement) {
+ tabElement.textContent = 'CivitAI Browser+';
+ }
+ }
+
+// Function that closes filter dropdown if clicked outside the dropdown
+function setupClickOutsideListener() {
+ var filterBox = document.getElementById("filterBoxL") || document.getElementById("filterBox");
+ var filterButton = filterBox.getElementsByTagName("div")[1];
+ var dropDown = filterBox.getElementsByTagName("div")[2];
+
+ function clickOutsideHandler(event) {
+ var target = event.target;
+ if (!filterBox.contains(target)) {
+ if (!dropDown.contains(target)) {
+ if (filterButton.className.endsWith("open")) {
+ filterButton.click();
+ }
+ }
+ }
+ }
+ document.addEventListener("click", clickOutsideHandler);
+}
+
+// Create hyperlink in settings to CivitAI account settings
+function createLink(infoElement) {
+
+ const existingText = "(You can create your own API key in your CivitAI account settings, Requires UI reload)";
+ const linkText = "CivitAI account settings";
+
+ const [textBefore, textAfter] = existingText.split(linkText);
+
+ const link = document.createElement('a');
+ link.textContent = linkText;
+ link.href = 'https://civitai.com/user/account';
+ link.target = '_blank';
+
+ while (infoElement.firstChild) infoElement.removeChild(infoElement.firstChild);
+
+ infoElement.appendChild(document.createTextNode(textBefore));
+ infoElement.appendChild(link);
+ infoElement.appendChild(document.createTextNode(textAfter));
+}
+
+// Function to update the visibility of backToTopDiv based on the intersection with civitaiDiv
+function updateBackToTopVisibility(entries) {
+ var backToTopDiv = document.getElementById('backToTopContainer');
+ var civitaiDiv = document.getElementById('civitai_preview_html');
+
+ if (civitaiDiv.clientHeight > 0 && entries[0].isIntersecting && window.scrollY !== 0) {
+ backToTopDiv.style.visibility = 'visible';
+ } else {
+ backToTopDiv.style.visibility = 'hidden';
+ }
+}
+
+// Options for the Intersection Observer
+var options = {
+ root: null,
+ rootMargin: '0px 0px -60px 0px',
+ threshold: 0
+};
+
+// Create an Intersection Observer instance
+const observer = new IntersectionObserver(updateBackToTopVisibility, options);
+
+function handleCivitaiDivChanges() {
+ var civitaiDiv = document.getElementById('civitai_preview_html');
+ observer.unobserve(civitaiDiv);
+ observer.observe(civitaiDiv);
+}
+
+document.addEventListener("scroll", handleCivitaiDivChanges)
+
+// Create the accordion dropdown inside the settings tab
+function createAccordion() {
+ var containerDiv = document.querySelector("#settings_civitai_browser_plus > div > div");
+ var subfolders = containerDiv.querySelectorAll("[id$='subfolder']");
+ if (containerDiv == null || subfolders.length == 0) {
+ return;
+ }
+ var accordionContainer = document.createElement('div');
+ accordionContainer.id = 'settings-accordion';
+ var toggleButton = document.createElement('button');
+ toggleButton.id = 'accordionToggle';
+ toggleButton.innerHTML = 'Default sub folders▼
';
+ toggleButton.onclick = function () {
+ accordionDiv.style.display = (accordionDiv.style.display === 'none') ? 'block' : 'none';
+ toggleButton.lastChild.style.transform = accordionDiv.style.display === 'none' ? 'rotate(90deg)' : 'rotate(0)';
+ };
+
+ accordionContainer.appendChild(toggleButton);
+ var accordionDiv = document.createElement('div');
+ accordionDiv.classList.add('accordion');
+ accordionDiv.append(...subfolders);
+ accordionDiv.style.display = 'none';
+ accordionContainer.appendChild(accordionDiv);
+ containerDiv.appendChild(accordionContainer);
+}
+
+// Runs all functions when the page is fully loaded
+function onPageLoad() {
+ const divElement = document.getElementById('setting_custom_api_key');
+ var civitaiDiv = document.getElementById('civitai_preview_html');
+ const infoElement = divElement?.querySelector('.info');
+ if (!infoElement) {
+ return;
+ }
+
+ observer.observe(civitaiDiv);
+ clearInterval(intervalID);
+ updateSVGIcons();
+ adjustFilterBoxAndButtons();
+ createTooltipOnHover();
+ changeTabTitle();
+ setupClickOutsideListener();
+ createLink(infoElement);
+ updateBackToTopVisibility([{isIntersecting: false}]);
+ createAccordion();
+}
+
+// Checks every second if the page is fully loaded
+let intervalID = setInterval(onPageLoad, 1000);
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/scripts/__pycache__/civitai_api.cpython-310.pyc b/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/scripts/__pycache__/civitai_api.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..0ac2b650ddec60100762196d9c62795c6887fefc
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/scripts/__pycache__/civitai_api.cpython-310.pyc differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/scripts/__pycache__/civitai_download.cpython-310.pyc b/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/scripts/__pycache__/civitai_download.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..0f2f6c06eea5166ae7007e8103490e7019f2115f
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/scripts/__pycache__/civitai_download.cpython-310.pyc differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/scripts/__pycache__/civitai_file_manage.cpython-310.pyc b/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/scripts/__pycache__/civitai_file_manage.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..2d86e355c2839829e08615b5f23c25c017064588
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/scripts/__pycache__/civitai_file_manage.cpython-310.pyc differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/scripts/__pycache__/civitai_global.cpython-310.pyc b/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/scripts/__pycache__/civitai_global.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..0a1b0f133e51a536c80364c9a0ad33427ba0333a
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/scripts/__pycache__/civitai_global.cpython-310.pyc differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/scripts/__pycache__/civitai_gui.cpython-310.pyc b/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/scripts/__pycache__/civitai_gui.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..29dea68bb272cb55b17fc8d0fd2f05998cbf7c59
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/scripts/__pycache__/civitai_gui.cpython-310.pyc differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/scripts/civitai_api.py b/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/scripts/civitai_api.py
new file mode 100644
index 0000000000000000000000000000000000000000..872a4932ee8ad36a921ff6f5955c7b9c7fffd796
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/scripts/civitai_api.py
@@ -0,0 +1,996 @@
+import requests
+import json
+import gradio as gr
+import urllib.request
+import urllib.parse
+import urllib.error
+import os
+import re
+import datetime
+from collections import defaultdict
+from modules.shared import cmd_opts, opts
+from modules.paths import models_path, extensions_dir, data_path
+from html import escape
+import scripts.civitai_global as gl
+import scripts.civitai_download as _download
+
+gl.init()
+
+def update_dl_url(trained_tags, model_id=None, model_name=None, model_version=None):
+ if model_version and "[Installed]" in model_version:
+ model_version = model_version.replace(" [Installed]", "")
+
+ if model_id:
+ dl_url = None
+ for item in gl.json_data['items']:
+ if item['name'] == model_name:
+ for model in item['modelVersions']:
+ if model['name'] == model_version:
+ for file in model['files']:
+ if int(file['id']) == int(model_id):
+ dl_url = file['downloadUrl']
+ gl.json_info = model
+
+ return (
+ gr.Textbox.update(value=dl_url), # Download URL
+ gr.Button.update(interactive=True if trained_tags else False), # Save Tags Button
+ gr.Button.update(interactive=True if model_version else False), # Save Images Button
+ gr.Button.update(interactive=True if model_version else False) # Download Button
+ )
+ else:
+ return (
+ gr.Textbox.update(value=None), # Download URL
+ gr.Button.update(interactive=True if trained_tags else False), # Save Tags Button
+ gr.Button.update(interactive=True if model_version else False), # Save Images Button
+ gr.Button.update(interactive=True if model_version else False) # Download Button
+ )
+
+def contenttype_folder(content_type, desc=None, fromCheck=False):
+ use_LORA = getattr(opts, "use_LORA", False)
+ folder = None
+ if desc:
+ desc = desc.upper()
+ else:
+ desc = "PLACEHOLDER"
+
+ if content_type == "modelFolder":
+ folder = os.path.join(models_path)
+
+ if content_type == "Checkpoint":
+ if cmd_opts.ckpt_dir:
+ folder = cmd_opts.ckpt_dir
+ else:
+ folder = os.path.join(models_path,"Stable-diffusion")
+
+ elif content_type == "Hypernetwork":
+ if cmd_opts.hypernetwork_dir:
+ folder = cmd_opts.hypernetwork_dir
+ else:
+ folder = os.path.join(models_path, "hypernetworks")
+
+ elif content_type == "TextualInversion":
+ if cmd_opts.embeddings_dir:
+ folder = cmd_opts.embeddings_dir
+ else:
+ folder = os.path.join(data_path, "embeddings")
+
+ elif content_type == "AestheticGradient":
+ folder = os.path.join(extensions_dir, "stable-diffusion-webui-aesthetic-gradients", "aesthetic_embeddings")
+
+ elif content_type == "LORA":
+ if cmd_opts.lora_dir:
+ folder = cmd_opts.lora_dir
+ else:
+ folder = folder = os.path.join(models_path, "Lora")
+
+ elif content_type == "LoCon":
+ folder = os.path.join(models_path, "LyCORIS")
+ if use_LORA and not fromCheck:
+ if cmd_opts.lora_dir:
+ folder = cmd_opts.lora_dir
+ else:
+ folder = folder = os.path.join(models_path, "Lora")
+
+ elif content_type == "VAE":
+ if cmd_opts.vae_dir:
+ folder = cmd_opts.vae_dir
+ else:
+ folder = os.path.join(models_path, "VAE")
+
+ elif content_type == "Controlnet":
+ folder = os.path.join(models_path, "ControlNet")
+
+ elif content_type == "Poses":
+ folder = os.path.join(models_path, "Poses")
+
+ elif content_type == "Upscaler":
+ if "SWINIR" in desc:
+ if cmd_opts.swinir_models_path:
+ folder = cmd_opts.swinir_models_path
+ else:
+ folder = os.path.join(models_path, "SwinIR")
+ elif "REALESRGAN" in desc:
+ if cmd_opts.realesrgan_models_path:
+ folder = cmd_opts.realesrgan_models_path
+ else:
+ folder = os.path.join(models_path, "RealESRGAN")
+ elif "GFPGAN" in desc:
+ if cmd_opts.gfpgan_models_path:
+ folder = cmd_opts.gfpgan_models_path
+ else:
+ folder = os.path.join(models_path, "GFPGAN")
+ elif "BSRGAN" in desc:
+ if cmd_opts.bsrgan_models_path:
+ folder = cmd_opts.bsrgan_models_path
+ else:
+ folder = os.path.join(models_path, "BSRGAN")
+ else:
+ if cmd_opts.esrgan_models_path:
+ folder = cmd_opts.esrgan_models_path
+ else:
+ folder = os.path.join(models_path, "ESRGAN")
+
+ elif content_type == "MotionModule":
+ folder = os.path.join(extensions_dir, "sd-webui-animatediff", "model")
+
+ elif content_type == "Workflows":
+ folder = os.path.join(models_path, "Workflows")
+
+ elif content_type == "Other":
+ if "ADETAILER" in desc:
+ folder = os.path.join(models_path, "adetailer")
+ else:
+ folder = os.path.join(models_path, "Other")
+
+ elif content_type == "Wildcards":
+ folder = os.path.join(extensions_dir, "UnivAICharGen", "wildcards")
+ if not os.path.exists(folder):
+ folder = os.path.join(extensions_dir, "sd-dynamic-prompts", "wildcards")
+
+ return folder
+
+def api_to_data(content_type, sort_type, period_type, use_search_term, current_page, base_filter, only_liked, search_term=None, timeOut=None, isNext=None):
+ if current_page in [0, None, ""]:
+ current_page = 1
+ if search_term != gl.previous_search_term or gl.tile_count != gl.previous_tile_count or gl.inputs_changed or gl.contentChange:
+ gl.previous_search_term = search_term
+ gl.previous_tile_count = gl.tile_count
+ gl.file_scan = False
+ api_url = f"https://civitai.com/api/v1/models?limit={gl.tile_count}&page=1"
+ else:
+ api_url = f"https://civitai.com/api/v1/models?limit={gl.tile_count}&page={current_page}"
+
+ if timeOut:
+ if isNext:
+ next_page = str(int(current_page) + 1)
+ else:
+ if current_page not in [1, 0, None, ""]:
+ next_page = str(int(current_page) - 1)
+ api_url = f"https://civitai.com/api/v1/models?limit={gl.tile_count}&page={next_page}"
+
+ if period_type:
+ period_type = period_type.replace(" ", "")
+ query = {'sort': sort_type, 'period': period_type}
+
+ types_query_str = ""
+
+ if content_type:
+ types_query_str = "".join([f"&types={type}" for type in content_type])
+
+ query_str = urllib.parse.urlencode(query, quote_via=urllib.parse.quote)
+
+ if types_query_str:
+ query_str += types_query_str
+
+ if use_search_term != "None" and search_term:
+ search_term = search_term.replace("\\","\\\\")
+ if "civitai.com" in search_term:
+ match = re.search(r'models/(\d+)', search_term)
+ model_number = match.group(1)
+ query_str = f"&ids={urllib.parse.quote(model_number)}"
+ elif use_search_term == "User name":
+ query_str += f"&username={urllib.parse.quote(search_term)}"
+ elif use_search_term == "Tag":
+ query_str += f"&tag={urllib.parse.quote(search_term)}"
+ else:
+ query_str += f"&query={urllib.parse.quote(search_term)}"
+
+ if base_filter:
+ for base in base_filter:
+ query_str += f"&baseModels={urllib.parse.quote(base)}"
+
+ if only_liked:
+ query_str += f"&favorites=true"
+
+ full_url = f"{api_url}&{query_str}"
+
+ if gl.file_scan:
+ highest_number = max(gl.url_list_with_numbers.keys())
+ full_url = gl.url_list_with_numbers.get(int(current_page))
+ nextPage = int(current_page) + 1
+ prevPage = int(current_page) - 1
+ data = request_civit_api(full_url)
+ data["metadata"]["currentPage"] = current_page
+ data["metadata"]["totalPages"] = highest_number
+ if not nextPage > highest_number:
+ data["metadata"]["nextPage"] = gl.url_list_with_numbers.get(nextPage)
+ if not prevPage == 0:
+ data["metadata"]["prevPage"] = gl.url_list_with_numbers.get(prevPage)
+ else:
+ data = request_civit_api(full_url)
+
+ return data
+
+def model_list_html(json_data, model_dict):
+ hide_early_access = getattr(opts, "hide_early_access", True)
+ filtered_items = []
+ current_time = datetime.datetime.utcnow()
+
+ for item in json_data['items']:
+ versions_to_keep = []
+
+ for version in item['modelVersions']:
+ if not version['publishedAt']:
+ continue
+ if hide_early_access:
+ early_access_days = version['earlyAccessTimeFrame']
+ if not early_access_days == 0:
+ continue
+ else:
+ published_at = datetime.datetime.strptime(version['publishedAt'], "%Y-%m-%dT%H:%M:%S.%fZ")
+ adjusted_date = published_at + datetime.timedelta(days=early_access_days)
+ if not current_time > adjusted_date:
+ continue
+ versions_to_keep.append(version)
+
+ if versions_to_keep:
+ item['modelVersions'] = versions_to_keep
+ filtered_items.append(item)
+
+ json_data['items'] = filtered_items
+
+ gl.contentChange = False
+ HTML = ''
+ sorted_models = {}
+ existing_files = set()
+ existing_files_sha256 = set()
+ model_folders = set()
+
+ for item in json_data['items']:
+ model_folder = os.path.join(contenttype_folder(item['type'], item['description']))
+ model_folders.add(model_folder)
+
+ for folder in model_folders:
+ for root, dirs, files in os.walk(folder):
+ for file in files:
+ existing_files.add(file)
+ if file.endswith('.json'):
+ json_path = os.path.join(root, file)
+ with open(json_path, 'r') as f:
+ try:
+ json_file = json.load(f)
+ if isinstance(json_file, dict):
+ sha256 = json_file.get('sha256')
+ if sha256:
+ existing_files_sha256.add(sha256.upper())
+ else:
+ print(f"{gl.print} Invalid JSON data in {json_path}. Expected a dictionary.")
+ except Exception as e:
+ print(f"{gl.print} Error decoding JSON in {json_path}: {e}")
+
+ for item in json_data['items']:
+ for k, model in model_dict.items():
+ if model_dict[k].lower() == item['name'].lower():
+ model_name = escape(item["name"].replace("\\", "\\\\").replace("'", "\\'"), quote=True)
+
+ nsfw = ""
+ installstatus = ""
+ baseModel = ""
+ try:
+ if 'baseModel' in item['modelVersions'][0]:
+ baseModel = item['modelVersions'][0]['baseModel']
+ except:
+ baseModel = "Not Found"
+
+ try:
+ if 'updatedAt' in item['modelVersions'][0]:
+ date = item['modelVersions'][0]['updatedAt'].split('T')[0]
+ except:
+ baseModel = "Not Found"
+
+ if gl.sortNewest:
+ if date not in sorted_models:
+ sorted_models[date] = []
+
+ if any(item['modelVersions']):
+ if len(item['modelVersions'][0]['images']) > 0:
+ if item["modelVersions"][0]["images"][0]['nsfw'] not in ["None", "Soft"]:
+ nsfw = "civcardnsfw"
+ media_type = item["modelVersions"][0]["images"][0]["type"]
+ image = item["modelVersions"][0]["images"][0]["url"]
+ if media_type == "video":
+ image = image.replace("width=", "transcode=true,width=")
+ imgtag = f'
'
+ else:
+ imgtag = f'
'
+ else:
+ imgtag = f'
'
+
+ installstatus = None
+
+ for version in reversed(item['modelVersions']):
+ for file in version.get('files', []):
+ file_name = file['name']
+ file_sha256 = file.get('hashes', {}).get('SHA256', "").upper()
+
+ name_match = file_name in existing_files
+ sha256_match = file_sha256 in existing_files_sha256
+ if name_match or sha256_match:
+ if version == item['modelVersions'][0]:
+ installstatus = "civmodelcardinstalled"
+ else:
+ installstatus = "civmodelcardoutdated"
+ model_card = f'
' \
+ + imgtag \
+ + f'{item["name"]} '
+
+ if gl.sortNewest:
+ sorted_models[date].append(model_card)
+ else:
+ HTML += model_card
+
+ if gl.sortNewest:
+ for date, cards in sorted(sorted_models.items(), reverse=True):
+ HTML += f'
{date} '
+ HTML += '
'
+ for card in cards:
+ HTML += card
+ HTML += '
'
+
+ HTML += '
'
+ return HTML
+
+def update_prev_page(content_type, sort_type, period_type, use_search_term, search_term, current_page, base_filter, only_liked):
+ return update_next_page(content_type, sort_type, period_type, use_search_term, search_term, current_page, base_filter, only_liked, isNext=False)
+
+def update_next_page(content_type, sort_type, period_type, use_search_term, search_term, current_page, base_filter, only_liked, isNext=True):
+ use_LORA = getattr(opts, "use_LORA", False)
+
+ if content_type:
+ if use_LORA and 'LORA & LoCon' in content_type:
+ content_type.remove('LORA & LoCon')
+ if 'LORA' not in content_type:
+ content_type.append('LORA')
+ if 'LoCon' not in content_type:
+ content_type.append('LoCon')
+
+ if gl.json_data is None or gl.json_data == "timeout":
+ timeOut = True
+ return_values = update_model_list(content_type, sort_type, period_type, use_search_term, search_term, current_page, base_filter, only_liked, timeOut, isNext)
+ timeOut = False
+
+ return return_values
+
+ gl.pageChange = True
+
+ current_inputs = (content_type, sort_type, period_type, use_search_term, search_term, gl.tile_count, base_filter)
+ if gl.previous_inputs and current_inputs != gl.previous_inputs:
+ gl.inputs_changed = True
+ else:
+ gl.inputs_changed = False
+
+
+ gl.previous_inputs = current_inputs
+
+ if not gl.file_scan:
+ if gl.inputs_changed or gl.contentChange:
+ return_values = update_model_list(content_type, sort_type, period_type, use_search_term, search_term, current_page, base_filter, only_liked)
+ return return_values
+
+ if isNext:
+ if gl.json_data['metadata']['nextPage'] is not None:
+ gl.json_data = request_civit_api(gl.json_data['metadata']['nextPage'])
+ else:
+ gl.json_data = None
+ else:
+ if gl.json_data['metadata']['prevPage'] is not None:
+ gl.json_data = request_civit_api(gl.json_data['metadata']['prevPage'])
+ else:
+ gl.json_data = None
+ else:
+ highest_number = max(gl.url_list_with_numbers.keys())
+ if isNext:
+ if gl.json_data['metadata']['nextPage'] is not None:
+ currentPage = int(gl.json_data['metadata']['currentPage'])
+ nextPage = currentPage + 2
+ prevPage = currentPage
+ pageCount = currentPage + 1
+ gl.json_data = request_civit_api(gl.json_data['metadata']['nextPage'])
+
+ gl.json_data["metadata"]["totalPages"] = highest_number
+ if not nextPage > highest_number:
+ gl.json_data["metadata"]["nextPage"] = gl.url_list_with_numbers.get(nextPage)
+ if not prevPage == 0:
+ gl.json_data["metadata"]["prevPage"] = gl.url_list_with_numbers.get(prevPage)
+ gl.json_data["metadata"]["currentPage"] = pageCount
+ else:
+ gl.json_data = None
+ else:
+ if gl.json_data['metadata']['prevPage'] is not None:
+ currentPage = int(gl.json_data['metadata']['currentPage'])
+ nextPage = currentPage
+ prevPage = currentPage - 2
+ pageCount = currentPage -1
+ gl.json_data = request_civit_api(gl.json_data['metadata']['prevPage'])
+
+ gl.json_data["metadata"]["totalPages"] = highest_number
+ if not nextPage > highest_number:
+ gl.json_data["metadata"]["nextPage"] = gl.url_list_with_numbers.get(nextPage)
+ if not prevPage == 0:
+ gl.json_data["metadata"]["prevPage"] = gl.url_list_with_numbers.get(prevPage)
+ gl.json_data["metadata"]["currentPage"] = pageCount
+ else:
+ gl.json_data = None
+
+ if gl.json_data is None:
+ return
+
+ if gl.json_data == "timeout":
+ HTML = 'The Civit-API has timed out, please try again. The servers might be too busy or down if the issue persists.
'
+ hasPrev = current_page not in [0, 1]
+ hasNext = current_page == 1 or hasPrev
+ model_dict = {}
+
+ if gl.json_data != None and gl.json_data != "timeout":
+ (hasPrev, hasNext, current_page, total_pages) = pagecontrol(gl.json_data)
+ model_dict = {}
+ try:
+ gl.json_data['items']
+ except TypeError:
+ return gr.Dropdown.update(choices=[], value=None)
+
+ for item in gl.json_data['items']:
+ model_dict[item['name']] = item['name']
+ HTML = model_list_html(gl.json_data, model_dict)
+
+ page_string = f"Page: {current_page}/{total_pages}"
+
+ return (
+ gr.Dropdown.update(choices=[v for k, v in model_dict.items()], value="", interactive=True), # Model List
+ gr.Dropdown.update(choices=[], value=""), # Version List
+ gr.HTML.update(value=HTML), # HTML Tiles
+ gr.Button.update(interactive=hasPrev), # Prev Page Button
+ gr.Button.update(interactive=hasNext), # Next Page Button
+ gr.Slider.update(value=current_page, maximum=total_pages, label=page_string), # Page Count
+ gr.Button.update(interactive=False), # Save Tags
+ gr.Button.update(interactive=False), # Save Images
+ gr.Button.update(interactive=False), # Download Button
+ gr.Textbox.update(interactive=False, value=None), # Install Path
+ gr.Dropdown.update(choices=[], value="", interactive=False), # Sub Folder List
+ gr.Dropdown.update(choices=[], value="", interactive=False) # File List
+ )
+
+def pagecontrol(json_data):
+ current_page = f"{json_data['metadata']['currentPage']}"
+ total_pages = f"{json_data['metadata']['totalPages']}"
+ hasNext = False
+ hasPrev = False
+ if 'nextPage' in json_data['metadata']:
+ hasNext = True
+ if 'prevPage' in json_data['metadata']:
+ hasPrev = True
+ return hasPrev, hasNext, current_page, total_pages
+
+def update_model_list(content_type, sort_type, period_type, use_search_term, search_term, current_page, base_filter, only_liked, timeOut=None, isNext=None, from_ver=False, from_installed=False):
+ use_LORA = getattr(opts, "use_LORA", False)
+
+ if content_type:
+ if use_LORA and 'LORA & LoCon' in content_type:
+ content_type.remove('LORA & LoCon')
+ if 'LORA' not in content_type:
+ content_type.append('LORA')
+ if 'LoCon' not in content_type:
+ content_type.append('LoCon')
+
+ if not from_ver and not from_installed:
+ gl.ver_json = None
+ if not gl.pageChange and not gl.file_scan:
+
+ current_inputs = (content_type, sort_type, period_type, use_search_term, search_term, gl.tile_count, base_filter)
+
+ if gl.previous_inputs and current_inputs != gl.previous_inputs:
+ gl.inputs_changed = True
+ else:
+ gl.inputs_changed = False
+
+ gl.previous_inputs = current_inputs
+
+ gl.json_data = api_to_data(content_type, sort_type, period_type, use_search_term, current_page, base_filter, only_liked, search_term, timeOut, isNext)
+ if gl.json_data == "timeout":
+ HTML = 'The Civit-API has timed out, please try again. The servers might be too busy or down if the issue persists.
'
+ hasPrev = current_page not in [0, 1]
+ hasNext = current_page == 1 or hasPrev
+ model_dict = {}
+
+ if gl.json_data is None:
+ return
+
+ if gl.pageChange:
+ gl.pageChange = False
+
+ gl.contentChange = False
+
+ if from_installed or from_ver:
+ gl.json_data = gl.ver_json
+
+ if gl.json_data != None and gl.json_data != "timeout":
+ if not from_ver:
+ (hasPrev, hasNext, current_page, total_pages) = pagecontrol(gl.json_data)
+ else:
+ current_page = 1
+ total_pages = 1
+ hasPrev = False
+ hasNext = False
+ model_dict = {}
+ for item in gl.json_data['items']:
+ model_dict[item['name']] = item['name']
+
+ HTML = model_list_html(gl.json_data, model_dict)
+ else:
+ current_page = 1
+ total_pages = 1
+
+ page_string = f"Page: {current_page}/{total_pages}"
+
+ return (
+ gr.Dropdown.update(choices=[v for k, v in model_dict.items()], value="", interactive=True), # Model List
+ gr.Dropdown.update(choices=[], value=""), # Version List
+ gr.HTML.update(value=HTML), # HTML Tiles
+ gr.Button.update(interactive=hasPrev), # Prev Page Button
+ gr.Button.update(interactive=hasNext), # Next Page Button
+ gr.Slider.update(value=current_page, maximum=total_pages, label=page_string), # Page Count
+ gr.Button.update(interactive=False), # Save Tags
+ gr.Button.update(interactive=False), # Save Images
+ gr.Button.update(interactive=False), # Download Button
+ gr.Textbox.update(interactive=False, value=None), # Install Path
+ gr.Dropdown.update(choices=[], value="", interactive=False), # Sub Folder List
+ gr.Dropdown.update(choices=[], value="", interactive=False) # File List
+ )
+
+def update_model_versions(model_name):
+ # Use a dictionary to store the item names and types
+ item_names_and_types = {item['name']: (item['type'], item['description']) for item in gl.json_data['items']}
+
+ if model_name is not None:
+ # Lookup the selected content type and description from the dictionary
+ selected_content_type, desc = item_names_and_types.get(model_name, (None, None))
+
+ if selected_content_type is None:
+ print(f"{gl.print} Model name not found in json_data. (update_model_versions)")
+ return
+
+ versions_dict = defaultdict(list)
+ installed_versions = set()
+
+ model_folder = os.path.join(contenttype_folder(selected_content_type, desc))
+ gl.main_folder = model_folder
+
+ item = next((item for item in gl.json_data['items'] if item['name'] == model_name), None)
+ if item is None:
+ return
+ versions = item['modelVersions']
+
+ version_files = set()
+ for version in versions:
+ versions_dict[version['name']].append(item["name"])
+ for version_file in version['files']:
+ file_sha256 = version_file.get('hashes', {}).get('SHA256', "").upper()
+ version_filename = version_file['name']
+ version_files.add((version['name'], version_filename, file_sha256))
+
+ for root, _, files in os.walk(model_folder):
+ for file in files:
+ if file.endswith('.json'):
+ try:
+ json_path = os.path.join(root, file)
+ with open(json_path, 'r') as f:
+ json_data = json.load(f)
+ if isinstance(json_data, dict):
+ if 'sha256' in json_data:
+ sha256 = json_data.get('sha256', "").upper()
+ for version_name, _, file_sha256 in version_files:
+ if sha256 == file_sha256:
+ installed_versions.add(version_name)
+ break
+ except Exception as e:
+ print(f"{gl.print} failed to read: \"{file}\": {e}")
+
+ for version_name, version_filename, _ in version_files:
+ if file == version_filename:
+ installed_versions.add(version_name)
+ break
+
+ version_names = list(versions_dict.keys())
+ display_version_names = [f"{v} [Installed]" if v in installed_versions else v for v in version_names]
+ default_installed = next((f"{v} [Installed]" for v in installed_versions), None)
+ default_value = default_installed or next(iter(version_names), None)
+
+ return (
+ gr.Dropdown.update(choices=display_version_names, value=default_value, interactive=True) # Version List
+ )
+ else:
+ return (
+ gr.Dropdown.update(choices=[], value=None, interactive=False) # Version List
+ )
+
+def update_model_info(model_name=None, model_version=None):
+ BtnDown = True
+ BtnDel = False
+ if model_version and "[Installed]" in model_version:
+ model_version = model_version.replace(" [Installed]", "")
+ if gl.isDownloading:
+ BtnDown = False
+ BtnDel = False
+ if model_name and model_version:
+ output_html = ""
+ output_training = ""
+ output_basemodel = ""
+ img_html = ""
+ model_desc = ""
+ dl_dict = {}
+ allow = {}
+ file_list = []
+ model_filename = None
+ file_id_value = None
+ sha256_value = None
+ for item in gl.json_data['items']:
+ if item['name'] == model_name:
+ content_type = item['type']
+ desc = item['description']
+ model_folder = os.path.join(contenttype_folder(content_type, desc))
+ model_uploader = item['creator']['username']
+ uploader_avatar = item['creator']['image']
+ if uploader_avatar is None:
+ uploader_avatar = ''
+ else:
+ uploader_avatar = f' '
+ tags = item['tags']
+ if item['description']:
+ model_desc = item['description']
+ if item['allowNoCredit']:
+ allow['allowNoCredit'] = item['allowNoCredit']
+ if item['allowCommercialUse']:
+ allow['allowCommercialUse'] = item['allowCommercialUse']
+ if item['allowDerivatives']:
+ allow['allowDerivatives'] = item['allowDerivatives']
+ if item['allowDifferentLicense']:
+ allow['allowDifferentLicense'] = item['allowDifferentLicense']
+ for model in item['modelVersions']:
+ if model['name'] == model_version:
+ if model['trainedWords']:
+ output_training = ",".join(model['trainedWords'])
+ output_training = re.sub(r'<[^>]*:[^>]*>', '', output_training)
+ output_training = re.sub(r', ?', ', ', output_training)
+ output_training = output_training.strip(', ')
+ if model['baseModel']:
+ output_basemodel = model['baseModel']
+ for file in model['files']:
+ dl_dict[file['name']] = file['downloadUrl']
+
+ if not model_filename:
+ model_filename = file['name']
+ file_id_value = file.get('id', 'Unknown')
+ sha256_value = file['hashes'].get('SHA256', 'Unknown')
+
+ size = file['metadata'].get('size', 'Unknown')
+ format = file['metadata'].get('format', 'Unknown')
+ fp = file['metadata'].get('fp', 'Unknown')
+ sizeKB = file.get('sizeKB', 0) * 1024
+ filesize = _download.convert_size(sizeKB)
+
+ unique_file_name = f"{size} {format} {fp} ({filesize})"
+ file_list.append(unique_file_name)
+
+ model_url = model['downloadUrl']
+ model_main_url = f"https://civitai.com/models/{item['id']}"
+ img_html = ''
+ first_image = True
+ for index, pic in enumerate(model['images']):
+ # Change width value in URL to original image width
+ image_url = re.sub(r'/width=\d+', f'/width={pic["width"]}', pic["url"])
+ if pic['type'] == "video":
+ image_url = image_url.replace("width=", "transcode=true,width=")
+ if first_image and pic['type'] != "video":
+ # Set a data attribute on the first image to designate it as preview
+ preview_attr = f'data-preview-img={image_url}'
+ first_image = False
+ else:
+ preview_attr = ''
+ nsfw = 'class="model-block"'
+
+ if pic['nsfw'] not in ["None", "Soft"]:
+ nsfw = 'class="civnsfw model-block"'
+
+ img_html += f'''
+
+
+
+ '''
+
+ # Check if the pic is an image or video
+ if pic['type'] == "video":
+ img_html += f' '
+ else:
+ img_html += f' '
+
+ img_html += '''
+
+
+ '''
+
+ if pic['meta']:
+ img_html += '
'
+ # Define the preferred order of keys
+ preferred_order = ["prompt", "negativePrompt", "seed", "Size", "Model", "clipSkip", "sampler", "steps", "cfgScale"]
+ # Loop through the keys in the preferred order and add them to the HTML
+ for key in preferred_order:
+ if key in pic['meta']:
+ value = pic['meta'][key]
+ img_html += f'{escape(str(key))} {escape(str(value))} '
+
+ # Check if there are remaining keys in pic['meta']
+ remaining_keys = [key for key in pic['meta'] if key not in preferred_order]
+
+ # Add the rest
+ if remaining_keys:
+ img_html += f"""
+
+
+
+
More details...
+
+ """
+ for key, value in pic['meta'].items():
+ if key not in preferred_order:
+ img_html += f'
{escape(str(key))} {escape(str(value))} '
+ img_html = img_html + ' '
+
+ img_html += ' '
+
+ img_html = img_html + '
'
+ img_html = img_html + '
'
+ output_html = f'''
+
+
+
+
+
+ Version
+ {escape(str(model_version))}
+ Base Model
+ {escape(str(output_basemodel))}
+ CivitAI Tags
+ {escape(str(tags))}
+ License
+ {escape(str(allow))}
+ Download Link
+ {model_url}
+
+
+
Description
+ {model_desc}
+
+
+ {img_html}
+ '''
+
+ default_file = file_list[0] if file_list else None
+
+ folder_location = "None"
+ default_subfolder = "None"
+ sub_folders = ["None"]
+
+ for root, dirs, files in os.walk(model_folder):
+ for filename in files:
+ if filename.endswith('.json'):
+ json_file_path = os.path.join(root, filename)
+ with open(json_file_path, 'r') as f:
+ try:
+ data = json.load(f)
+ sha256 = data.get('sha256')
+ if sha256:
+ sha256 = sha256.upper()
+ if sha256 == sha256_value:
+ folder_location = root
+ BtnDown = False
+ BtnDel = True
+ break
+ except Exception as e:
+ print(f"{gl.print} Error decoding JSON: {str(e)}")
+ else:
+ for filename in files:
+ if filename == model_filename:
+ folder_location = root
+ BtnDown = False
+ BtnDel = True
+ break
+
+ if folder_location != "None":
+ break
+
+ insert_sub = getattr(opts, "insert_sub", True)
+ try:
+ sub_folders = ["None"]
+ for root, dirs, _ in os.walk(model_folder):
+ for d in dirs:
+ sub_folder = os.path.relpath(os.path.join(root, d), model_folder)
+ if sub_folder:
+ sub_folders.append(f'{os.sep}{sub_folder}')
+
+ sub_folders.remove("None")
+ sub_folders = sorted(sub_folders)
+ sub_folders.insert(0, "None")
+ if insert_sub:
+ model_name = model_name.replace('/', '').replace('\\', '')
+ model_version = model_version.replace('/', '').replace('\\', '')
+ sub_folders.insert(1, os.path.join(os.sep, model_name))
+ sub_folders.insert(2, os.path.join(os.sep, model_name, model_version))
+
+ list = set()
+ sub_folders = [x for x in sub_folders if not (x in list or list.add(x))]
+ except:
+ sub_folders = ["None"]
+
+ default_sub = sub_folder_value(content_type, desc)
+ if folder_location == "None":
+ folder_location = model_folder
+ if default_sub != "None":
+ folder_path = folder_location + default_sub
+ else:
+ folder_path = folder_location
+ else:
+ folder_path = folder_location
+ relative_path = os.path.relpath(folder_location, model_folder)
+ default_subfolder = f'{os.sep}{relative_path}' if relative_path != "." else default_sub if BtnDel == False else "None"
+
+ return (
+ gr.HTML.update(value=output_html), # Model Preview
+ gr.Textbox.update(value=output_training, interactive=True), # Trained Tags
+ gr.Textbox.update(value=output_basemodel), # Base Model Number
+ gr.Button.update(visible=BtnDown, interactive=BtnDown), # Download Button
+ gr.Button.update(visible=BtnDel, interactive=BtnDel), # Delete Button
+ gr.Dropdown.update(choices=file_list, value=default_file, interactive=True), # File List
+ gr.Textbox.update(value=model_filename), # Model File Name
+ gr.Textbox.update(value=file_id_value), # Model ID
+ gr.Textbox.update(value=sha256_value), # SHA256
+ gr.Textbox.update(interactive=True, value=folder_path if model_name else None), # Install Path
+ gr.Dropdown.update(choices=sub_folders, value=default_subfolder, interactive=True) # Sub Folder List
+ )
+ else:
+ return (
+ gr.HTML.update(value=None), # Model Preview
+ gr.Textbox.update(value=None, interactive=False), # Trained Tags
+ gr.Textbox.update(value=''), # Base Model Number
+ gr.Button.update(visible=BtnDown), # Download Button
+ gr.Button.update(visible=BtnDel, interactive=BtnDel), # Delete Button
+ gr.Dropdown.update(choices=None, value=None, interactive=False), # File List
+ gr.Textbox.update(value=None), # Model File Name
+ gr.Textbox.update(value=None), # Model ID
+ gr.Textbox.update(value=None), # SHA256
+ gr.Textbox.update(interactive=False, value=None), # Install Path
+ gr.Dropdown.update(choices=None, value=None, interactive=False) # Sub Folder List
+ )
+
+def sub_folder_value(content_type, desc=None):
+ use_LORA = getattr(opts, "use_LORA", False)
+ if content_type in ["LORA", "LoCon"] and use_LORA:
+ folder = getattr(opts, "LORA_LoCon_subfolder", "None")
+ elif content_type == "Upscaler":
+ for upscale_type in ["SWINIR", "REALESRGAN", "GFPGAN", "BSRGAN"]:
+ if upscale_type in desc:
+ folder = getattr(opts, f"{upscale_type}_subfolder", "None")
+ folder = getattr(opts, "ESRGAN_subfolder", "None")
+ else:
+ folder = getattr(opts, f"{content_type}_subfolder", "None")
+ if folder == None:
+ return "None"
+ return folder
+
+def update_file_info(model_name, model_version, file_metadata):
+ if model_version and "[Installed]" in model_version:
+ model_version = model_version.replace(" [Installed]", "")
+ if model_name and model_version:
+ for item in gl.json_data['items']:
+ if item['name'] == model_name:
+ content_type = item['type']
+ desc = item['description']
+ for model in item['modelVersions']:
+ if model['name'] == model_version:
+ for file in model['files']:
+ file_id = file.get('id', 'Unknown')
+ file_name = file.get('name', 'Unknown')
+ sha256 = file['hashes'].get('SHA256', 'Unknown')
+ metadata = file.get('metadata', {})
+ file_size = metadata.get('size', 'Unknown')
+ file_format = metadata.get('format', 'Unknown')
+ file_fp = metadata.get('fp', 'Unknown')
+ sizeKB = file.get('sizeKB', 0) * 1024
+ filesize = _download.convert_size(sizeKB)
+
+ if f"{file_size} {file_format} {file_fp} ({filesize})" == file_metadata:
+ installed = False
+ folder_location = "None"
+ model_folder = os.path.join(contenttype_folder(content_type, desc))
+ for root, _, files in os.walk(model_folder):
+ if file_name in files:
+ installed = True
+ folder_location = root
+ break
+
+ if not installed:
+ for root, _, files in os.walk(model_folder):
+ for filename in files:
+ if filename.endswith('.json'):
+ with open(os.path.join(root, filename), 'r') as f:
+ try:
+ data = json.load(f)
+ if "sha256" in data:
+ if data.get('sha256').upper() == sha256:
+ folder_location = root
+ installed = True
+ break
+ except Exception as e:
+ print(f"{gl.print} Error decoding JSON: {str(e)}")
+ default_sub = sub_folder_value(content_type, desc)
+ if folder_location == "None":
+ folder_location = model_folder
+ if default_sub != "None":
+ folder_path = folder_location + default_sub
+ else:
+ folder_path = folder_location
+ else:
+ folder_path = folder_location
+ relative_path = os.path.relpath(folder_location, model_folder)
+ default_subfolder = f'{os.sep}{relative_path}' if relative_path != "." else default_sub if installed == False else "None"
+
+ return (
+ gr.Textbox.update(value=file['name']), # Update model_filename Textbox
+ gr.Textbox.update(value=file_id), # Update ID Textbox
+ gr.Textbox.update(value=sha256), # sha256 textbox
+ gr.Button.update(interactive=False if installed else True, visible=False if installed else True), # Download Button
+ gr.Button.update(interactive=True if installed else False, visible=True if installed else False), # Delete Button
+ gr.Textbox.update(interactive=True, value=folder_path if model_name else None), # Install Path
+ gr.Dropdown.update(value=default_subfolder, interactive=True) # Sub Folder List
+ )
+
+ return (
+ gr.Textbox.update(value=None), # Update model_filename Textbox
+ gr.Textbox.update(value=None), # Update ID Textbox
+ gr.Textbox.update(value=None), # sha256 textbox
+ gr.Button.update(interactive=False, visible=True), # Download Button
+ gr.Button.update(interactive=False, visible=False), # Delete Button
+ gr.Textbox.update(interactive=False, value=None), # Install Path
+ gr.Dropdown.update(choices=None, value=None, interactive=False) # Sub Folder List
+ )
+
+def request_civit_api(api_url=None):
+ api_key = getattr(opts, "custom_api_key", "")
+ if not api_key:
+ api_key = "eaee11648ef4c72efb2333d5ebc68b98"
+ headers = {
+ 'Authorization': f'Bearer {api_key}'
+ }
+ try:
+ response = requests.get(api_url, headers=headers, timeout=(10,30))
+ response.raise_for_status()
+ except Exception as e:
+ print(f"{gl.print} Error: {e}")
+ return "timeout"
+ else:
+ response.encoding = "utf-8"
+ try:
+ data = json.loads(response.text)
+ except json.JSONDecodeError:
+ print(f"{gl.print} The CivitAI servers are currently offline. Please try again later.")
+ return "timeout"
+ return data
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/scripts/civitai_download.py b/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/scripts/civitai_download.py
new file mode 100644
index 0000000000000000000000000000000000000000..538caa5956c6526107f737b3d594cbe235a0d580
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/scripts/civitai_download.py
@@ -0,0 +1,526 @@
+import requests
+import gradio as gr
+import time
+import subprocess
+import threading
+import os
+import re
+import random
+import platform
+import socket
+import stat
+import json
+import time
+from pathlib import Path
+from modules.shared import opts, cmd_opts
+from modules.paths import extensions_dir
+import scripts.civitai_global as gl
+import scripts.civitai_api as _api
+import scripts.civitai_file_manage as _file
+try:
+ from zip_unicode import ZipHandler
+except:
+ print(f"{gl.print} Python module 'ZipUnicode' has not been imported correctly, please try to restart or install it manually.")
+
+def random_number(prev):
+ number = str(random.randint(10000, 99999))
+
+ while number == prev:
+ number = str(random.randint(10000, 99999))
+
+ return number
+
+gl.init()
+current_sha256 = None
+rpc_secret = "R7T5P2Q9K6"
+try:
+ queue = not cmd_opts.no_gradio_queue
+except AttributeError:
+ queue = not cmd_opts.disable_queue
+except:
+ queue = True
+
+def start_aria2_rpc():
+ start_file = os.path.join(aria2path, '_')
+ running_file = os.path.join(aria2path, 'running')
+ null = open(os.devnull, 'w')
+
+ if os.path.exists(running_file):
+ try:
+ if os_type == 'Linux':
+ env = os.environ.copy()
+ env['PATH'] = '/usr/bin:' + env['PATH']
+ subprocess.Popen("pkill aria2", shell=True, env=env)
+ else:
+ subprocess.Popen(stop_rpc, stdout=null, stderr=null)
+ time.sleep(1)
+ except Exception as e:
+ print(f"{gl.print} Failed to stop Aria2 RPC : {e}")
+ else:
+ if os.path.exists(start_file):
+ os.rename(start_file, running_file)
+ return
+ else:
+ with open(start_file, 'w'):
+ pass
+
+ try:
+ show_log = getattr(opts, "show_log", False)
+ aria2_flags = getattr(opts, "aria2_flags", "")
+ cmd = f'"{aria2}" --enable-rpc --rpc-listen-all --rpc-listen-port=24000 --rpc-secret {rpc_secret} --check-certificate=false --ca-certificate=" " --file-allocation=none {aria2_flags}'
+ subprocess_args = {'shell': True}
+ if not show_log:
+ subprocess_args.update({'stdout': subprocess.DEVNULL, 'stderr': subprocess.DEVNULL})
+
+ subprocess.Popen(cmd, **subprocess_args)
+ if os.path.exists(running_file):
+ print(f"{gl.print} Aria2 RPC restarted")
+ else:
+ print(f"{gl.print} Aria2 RPC started")
+ except Exception as e:
+ print(f"{gl.print} Failed to start Aria2 RPC server: {e}")
+
+aria2path = Path(__file__).resolve().parents[1] / "aria2"
+os_type = platform.system()
+
+if os_type == 'Windows':
+ aria2 = os.path.join(aria2path, 'win', 'aria2.exe')
+ stop_rpc = "taskkill /im aria2.exe /f"
+ start_aria2_rpc()
+elif os_type == 'Linux':
+ aria2 = os.path.join(aria2path, 'lin', 'aria2')
+ st = os.stat(aria2)
+ os.chmod(aria2, st.st_mode | stat.S_IEXEC)
+ stop_rpc = "pkill aria2"
+ start_aria2_rpc()
+
+class TimeOutFunction(Exception):
+ pass
+
+def download_start(download_start, model_name, model_filename, version, sha256):
+ global current_sha256, current_id
+ gl.last_version = version
+ gl.current_download = model_filename
+ gl.cancel_status = False
+ gl.recent_model = model_name
+ if sha256:
+ current_sha256 = sha256.upper()
+ for item in gl.json_data['items']:
+ if item['name'] == model_name:
+ current_id = item['id']
+ number = random_number(download_start)
+ return (
+ gr.Button.update(interactive=False, visible=False), # Download Button
+ gr.Button.update(interactive=True, visible=True), # Cancel Button
+ gr.Textbox.update(value=number), # Download Start Trigger
+ gr.HTML.update(value='
') # Download Progress
+ )
+
+def download_finish(model_filename, version, model_name):
+ gr_components = _api.update_model_versions(model_name)
+ if gr_components:
+ version_choices = gr_components['choices']
+ else:
+ version_choices = []
+ prev_version = gl.last_version + " [Installed]"
+
+ if prev_version in version_choices:
+ version = prev_version
+ Del = True
+ Down = False
+ else:
+ Del = False
+ Down = True
+
+ if gl.cancel_status:
+ Del = False
+ Down = True
+
+ return (
+ gr.Button.update(interactive=model_filename, visible=Down), # Download Button
+ gr.Button.update(interactive=False, visible=False), # Cancel Button
+ gr.Button.update(interactive=Del, visible=Del), # Delete Button
+ gr.HTML.update(value='
'), # Download Progress
+ gr.Dropdown.update(value=version, choices=version_choices)
+ )
+
+def download_cancel(delete_finish, model_name, list_versions, model_filename, sha256):
+ gl.cancel_status = True
+ gl.download_fail = True
+
+ while True:
+ if not gl.isDownloading:
+ _file.delete_model(delete_finish, gl.current_download, model_name, list_versions, sha256)
+ break
+ else:
+ time.sleep(0.5)
+
+ return (
+ gr.Button.update(interactive=model_filename, visible=True), # Down Button
+ gr.Button.update(interactive=False, visible=False), # Cancel Button
+ gr.HTML.update(value='
') # Download Progress
+ )
+
+def convert_size(size):
+ for unit in ['bytes', 'KB', 'MB', 'GB']:
+ if size < 1024:
+ return f"{size:.2f} {unit}"
+ size /= 1024
+ return f"{size:.2f} GB"
+
+def get_download_link(url):
+ api_key = getattr(opts, "custom_api_key", "")
+ if not api_key:
+ api_key = "eaee11648ef4c72efb2333d5ebc68b98"
+ headers = {
+ 'Authorization': f'Bearer {api_key}'
+ }
+
+ response = requests.get(url, headers=headers, allow_redirects=False)
+ if 300 <= response.status_code <= 308:
+ download_link = response.headers["Location"]
+ return download_link
+ else:
+ return None
+
+def download_file(url, file_path, install_path, progress=gr.Progress() if queue else None):
+ disable_dns = getattr(opts, "disable_dns", False)
+ split_aria2 = getattr(opts, "split_aria2", 64)
+
+ max_retries = 5
+ gl.download_fail = False
+ aria2_rpc_url = "http://localhost:24000/jsonrpc"
+
+ download_link = get_download_link(url)
+ if not download_link:
+ print(f"{gl.print} Couldn't retrieve download link")
+ gl.download_fail = True
+ return
+
+ if os.path.exists(file_path):
+ os.remove(file_path)
+
+ file_name = os.path.basename(file_path)
+
+ if disable_dns:
+ dns = "false"
+ else:
+ dns = "true"
+
+ options = {
+ "dir": install_path,
+ "max-connection-per-server": str(f"{split_aria2}"),
+ "split": str(f"{split_aria2}"),
+ "async-dns": dns,
+ "out": file_name
+ }
+
+ payload = json.dumps({
+ "jsonrpc": "2.0",
+ "id": "1",
+ "method": "aria2.addUri",
+ "params": ["token:" + rpc_secret, [download_link], options]
+ })
+
+ try:
+ response = requests.post(aria2_rpc_url, data=payload)
+ data = json.loads(response.text)
+ if 'result' not in data:
+ raise ValueError(f'Failed to start download: {data}')
+ gid = data['result']
+ except Exception as e:
+ print(f"{gl.print} Failed to start download: {e}")
+ gl.download_fail = True
+ return
+
+ while True:
+ if gl.cancel_status:
+ payload = json.dumps({
+ "jsonrpc": "2.0",
+ "id": "1",
+ "method": "aria2.remove",
+ "params": ["token:" + rpc_secret, gid]
+ })
+ requests.post(aria2_rpc_url, data=payload)
+ if progress != None:
+ progress(0, desc=f"Download cancelled.")
+ time.sleep(2)
+ return
+
+ try:
+ payload = json.dumps({
+ "jsonrpc": "2.0",
+ "id": "1",
+ "method": "aria2.tellStatus",
+ "params": ["token:" + rpc_secret, gid]
+ })
+
+ response = requests.post(aria2_rpc_url, data=payload)
+ status_info = json.loads(response.text)['result']
+
+ total_length = int(status_info['totalLength'])
+ completed_length = int(status_info['completedLength'])
+ download_speed = int(status_info['downloadSpeed'])
+
+ progress_percent = (completed_length / total_length) * 100 if total_length else 0
+
+ remaining_size = total_length - completed_length
+ if download_speed > 0:
+ eta_seconds = remaining_size / download_speed
+ eta_formatted = time.strftime("%H:%M:%S", time.gmtime(eta_seconds))
+ else:
+ eta_formatted = "XX:XX:XX"
+ if progress != None:
+ progress(progress_percent / 100, desc=f"Downloading: {file_name} - {convert_size(completed_length)}/{convert_size(total_length)} - Speed: {convert_size(download_speed)}/s - ETA: {eta_formatted}")
+
+ if status_info['status'] == 'complete':
+ print(f"{gl.print} Model saved to: {file_path}")
+ if progress != None:
+ progress(1, desc=f"Model saved to: {file_path}")
+ time.sleep(2)
+ gl.download_fail = False
+ return
+
+ if status_info['status'] == 'error':
+ if progress != None:
+ progress(0, desc=f"Encountered an error during download of: \"{file_name}\" Please try again.")
+ gl.download_fail = True
+ time.sleep(2)
+ return
+
+ time.sleep(0.25)
+
+ except Exception as e:
+ print(f"{gl.print} Error occurred during Aria2 status update: {e}")
+ max_retries -= 1
+ if max_retries == 0:
+ if progress != None:
+ progress(0, desc="An error occurred while downloading the file, please try again.")
+ time.sleep(2)
+ gl.download_fail = True
+ return
+ time.sleep(5)
+
+def info_to_json(install_path, unpackList=None):
+ json_file = os.path.splitext(install_path)[0] + ".json"
+ if os.path.exists(json_file):
+ try:
+ with open(json_file, 'r') as f:
+ data = json.load(f)
+ except Exception as e:
+ print(f"{gl.print} Failed to open {json_file}: {e}")
+ else:
+ data = {}
+
+ data['modelId'] = current_id
+ data['sha256'] = current_sha256
+ if unpackList:
+ data['unpackList'] = unpackList
+
+ with open(json_file, 'w') as f:
+ json.dump(data, f, indent=4)
+
+def download_file_old(url, file_path, progress=gr.Progress() if queue else None):
+ gl.download_fail = False
+ max_retries = 5
+ if os.path.exists(file_path):
+ os.remove(file_path)
+
+ downloaded_size = 0
+ tokens = re.split(re.escape('\\'), file_path)
+ file_name_display = tokens[-1]
+ start_time = time.time()
+ last_update_time = 0
+ update_interval = 0.25
+
+ download_link = get_download_link(url)
+ if not download_link:
+ print(f"{gl.print} Couldn't retrieve download link")
+ gl.download_fail = True
+ return
+
+ while True:
+ if gl.cancel_status:
+ if progress != None:
+ progress(0, desc=f"Download cancelled.")
+ time.sleep(2)
+ return
+ if os.path.exists(file_path):
+ downloaded_size = os.path.getsize(file_path)
+ headers = {"Range": f"bytes={downloaded_size}-"}
+ else:
+ headers = {}
+ with open(file_path, "ab") as f:
+ while gl.isDownloading:
+ try:
+ if gl.cancel_status:
+ if progress != None:
+ progress(0, desc=f"Download cancelled.")
+ time.sleep(2)
+ return
+ try:
+ if gl.cancel_status:
+ if progress != None:
+ progress(0, desc=f"Download cancelled.")
+ time.sleep(2)
+ return
+ response = requests.get(download_link, headers=headers, stream=True, timeout=4)
+ if response.status_code == 404:
+ if progress != None:
+ progress(0, desc="File returned a 404, file is not found.")
+ time.sleep(3)
+ gl.download_fail = True
+ return
+ total_size = int(response.headers.get("Content-Length", 0))
+ except:
+ raise TimeOutFunction("Timed Out")
+
+ if total_size == 0:
+ total_size = downloaded_size
+
+ for chunk in response.iter_content(chunk_size=1024):
+ if chunk:
+ if gl.cancel_status:
+ if progress != None:
+ progress(0, desc=f"Download cancelled.")
+ time.sleep(2)
+ return
+ f.write(chunk)
+ downloaded_size += len(chunk)
+ elapsed_time = time.time() - start_time
+ download_speed = downloaded_size / elapsed_time
+ remaining_size = total_size - downloaded_size
+ if download_speed > 0:
+ eta_seconds = remaining_size / download_speed
+ eta_formatted = time.strftime("%H:%M:%S", time.gmtime(eta_seconds))
+ else:
+ eta_formatted = "XX:XX:XX"
+ current_time = time.time()
+ if current_time - last_update_time >= update_interval:
+ progress(downloaded_size / total_size, desc=f"Downloading: {file_name_display} {convert_size(downloaded_size)} / {convert_size(total_size)} - Speed: {convert_size(int(download_speed))}/s - ETA: {eta_formatted}")
+ last_update_time = current_time
+ if gl.isDownloading == False:
+ response.close
+ break
+ downloaded_size = os.path.getsize(file_path)
+ break
+
+ except TimeOutFunction:
+ if progress != None:
+ progress(0, desc="CivitAI API did not respond, retrying...")
+ max_retries -= 1
+ if max_retries == 0:
+ if progress != None:
+ progress(0, desc="Unable to download file due to time-out, please try to download again.")
+ time.sleep(2)
+ gl.download_fail = True
+ return
+ time.sleep(5)
+
+ if (gl.isDownloading == False):
+ break
+
+ gl.isDownloading = False
+ downloaded_size = os.path.getsize(file_path)
+ if downloaded_size >= total_size:
+ if not gl.cancel_status:
+ print(f"{gl.print} Model saved to: {file_path}")
+ if progress != None:
+ progress(1, desc=f"Model saved to: {file_path}")
+ time.sleep(2)
+ gl.download_fail = False
+ return
+
+ else:
+ if progress != None:
+ progress(0, desc="Download failed, please try again.")
+ print(f"{gl.print} File download failed: {file_name_display}")
+ gl.download_fail = True
+ time.sleep(2)
+ if os.path.exists(file_path):
+ os.remove(file_path)
+
+def download_create_thread(download_finish, url, file_name, preview_html, create_json, trained_tags, install_path, model_name, list_versions, progress=gr.Progress() if queue else None):
+ gr_components = _api.update_model_versions(model_name)
+ gl.cancel_status = False
+ use_aria2 = getattr(opts, "use_aria2", True)
+ unpack_zip = getattr(opts, "unpack_zip", False)
+ name = model_name
+
+ number = random_number(download_finish)
+
+ if gl.isDownloading:
+ gl.isDownloading = False
+ return
+
+ gl.isDownloading = True
+ if not os.path.exists(install_path):
+ os.makedirs(install_path)
+
+ path_to_new_file = os.path.join(install_path, file_name)
+
+ if use_aria2 and os_type != 'Darwin':
+ thread = threading.Thread(target=download_file, args=(url, path_to_new_file, install_path, progress))
+ else:
+ thread = threading.Thread(target=download_file_old, args=(url, path_to_new_file, progress))
+ thread.start()
+ thread.join()
+
+ if not gl.cancel_status or gl.download_fail:
+ if os.path.exists(path_to_new_file):
+ unpackList = []
+ if unpack_zip:
+ try:
+ if path_to_new_file.endswith('.zip'):
+ directory = Path(os.path.dirname(path_to_new_file))
+ zip_handler = ZipHandler(path_to_new_file)
+
+ for original_name, decoded_name in zip_handler.name_map.items():
+ unpackList.append(decoded_name)
+
+ zip_handler.extract_all(directory)
+ zip_handler.zip_ref.close()
+
+ print(f"{gl.print} Successfully extracted {file_name} to {directory}")
+ os.remove(path_to_new_file)
+ except Exception as e:
+ print(f"{gl.print} Failed to extract {file_name} with error: {e}")
+ if create_json:
+ _file.save_json(file_name, install_path, trained_tags)
+ if not gl.cancel_status:
+ info_to_json(path_to_new_file, unpackList)
+ _file.save_preview(file_name, install_path, preview_html)
+
+
+ base_name = os.path.splitext(file_name)[0]
+ base_name_preview = base_name + '.preview'
+
+ if gl.download_fail:
+ for root, dirs, files in os.walk(install_path):
+ for file in files:
+ file_base_name = os.path.splitext(file)[0]
+ if file_base_name == base_name or file_base_name == base_name_preview:
+ path_file = os.path.join(root, file)
+ os.remove(path_file)
+ if gl.cancel_status:
+ print(f'{gl.print} Cancelled download of "{file_name}"')
+ else:
+ print(f'{gl.print} Error occured during download of "{file_name}"')
+
+ if gl.isDownloading:
+ gl.isDownloading = False
+
+ (model, _, _) = _file.card_update(gr_components, name, list_versions, True)
+
+ if not gl.cancel_status:
+ modelName = model
+ else:
+ modelName = None
+
+ gl.cancel_status = False
+
+ return (
+ gr.HTML.update(), # Download Progress HTML
+ gr.Textbox.update(value=modelName), # Current Model
+ gr.Textbox.update(value=number) # Download Finish Trigger
+ )
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/scripts/civitai_file_manage.py b/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/scripts/civitai_file_manage.py
new file mode 100644
index 0000000000000000000000000000000000000000..3bd8c6401958988de467bf0b346ce1e7499dc143
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/scripts/civitai_file_manage.py
@@ -0,0 +1,751 @@
+import json
+import gradio as gr
+import urllib.request
+import urllib.parse
+import urllib.error
+import os
+import io
+import re
+import time
+import shutil
+import requests
+import hashlib
+from pathlib import Path
+from modules.shared import cmd_opts, opts
+import scripts.civitai_global as gl
+import scripts.civitai_api as _api
+import scripts.civitai_file_manage as _file
+import scripts.civitai_download as _download
+try:
+ from send2trash import send2trash
+except:
+ print(f"{gl.print} Civit AI: Python module 'send2trash' has not been imported correctly, please try to restart or install it manually.")
+
+gl.init()
+
+no_update = False
+from_ver = False
+from_tag = False
+from_installed = False
+try:
+ queue = not cmd_opts.no_gradio_queue
+except AttributeError:
+ queue = not cmd_opts.disable_queue
+except:
+ queue = True
+
+def delete_model(delete_finish, model_filename, model_name, list_versions, sha256=None):
+ deleted = False
+ gr_components = _api.update_model_versions(model_name)
+ model_name_search = model_name
+
+ (model_name, ver_value, ver_choices) = _file.card_update(gr_components, model_name, list_versions, False)
+ if model_name_search is not None:
+ selected_content_type = None
+ for item in gl.json_data['items']:
+ if item['name'] == model_name_search:
+ selected_content_type = item['type']
+ desc = item['description']
+ break
+
+ if selected_content_type is None:
+ print(f"{gl.print} Model name not found in json_data. (delete_model)")
+ return
+
+ model_folder = os.path.join(_api.contenttype_folder(selected_content_type, desc))
+
+ # Delete based on provided SHA-256 hash
+ if sha256:
+ sha256_upper = sha256.upper()
+ for root, _, files in os.walk(model_folder):
+ for file in files:
+ if file.endswith('.json'):
+ file_path = os.path.join(root, file)
+ try:
+ with open(file_path, 'r') as json_file:
+ data = json.load(json_file)
+ file_sha256 = data.get('sha256', '').upper()
+ except Exception as e:
+ print(f"{gl.print} Failed to open: {file_path}: {e}")
+ file_sha256 = "0"
+
+ if file_sha256 == sha256_upper:
+ unpack_list = data.get('unpackList', [])
+ for unpacked_file in unpack_list:
+ unpacked_file_path = os.path.join(root, unpacked_file)
+ if os.path.isfile(unpacked_file_path):
+ try:
+ send2trash(unpacked_file_path)
+ print(f"{gl.print} File moved to trash based on unpackList: {unpacked_file_path}")
+ except:
+ os.remove(unpacked_file_path)
+ print(f"{gl.print} File deleted based on unpackList: {unpacked_file_path}")
+
+ base_name, _ = os.path.splitext(file)
+ if os.path.isfile(file_path):
+ try:
+ send2trash(file_path)
+ print(f"{gl.print} Model moved to trash based on SHA-256: {file_path}")
+ except:
+ os.remove(file_path)
+ print(f"{gl.print} Model deleted based on SHA-256: {file_path}")
+ delete_associated_files(root, base_name)
+ deleted = True
+
+ # Fallback to delete based on filename if not deleted based on SHA-256
+ file_to_delete = os.path.splitext(model_filename)[0]
+ if not deleted:
+ for root, dirs, files in os.walk(model_folder):
+ for file in files:
+ current_file = os.path.splitext(file)[0]
+ if file_to_delete == current_file:
+ path_file = os.path.join(root, file)
+ if os.path.isfile(path_file):
+ try:
+ send2trash(path_file)
+ print(f"{gl.print} Model moved to trash based on filename: {path_file}")
+ except:
+ os.remove(path_file)
+ print(f"{gl.print} Model deleted based on filename: {path_file}")
+ delete_associated_files(root, current_file)
+
+ number = _download.random_number(delete_finish)
+
+ return (
+ gr.Button.update(interactive=True, visible=True), # Download Button
+ gr.Button.update(interactive=False, visible=False), # Cancel Button
+ gr.Button.update(interactive=False, visible=False), # Delete Button
+ gr.Textbox.update(value=number), # Delete Finish Trigger
+ gr.Textbox.update(value=model_name), # Current Model
+ gr.Dropdown.update(value=ver_value, choices=ver_choices) # Version List
+ )
+
+def delete_associated_files(directory, base_name):
+ for file in os.listdir(directory):
+ current_base_name, ext = os.path.splitext(file)
+ if current_base_name == base_name or current_base_name == f"{base_name}.preview":
+ path_to_delete = os.path.join(directory, file)
+ try:
+ send2trash(path_to_delete)
+ print(f"{gl.print} Associated file moved to trash: {path_to_delete}")
+ except:
+ os.remove(path_to_delete)
+ print(f"{gl.print} Associated file deleted: {path_to_delete}")
+
+def save_preview(file_name, install_path, preview_html):
+ if not os.path.exists(install_path):
+ os.makedirs(install_path)
+ img_urls = re.findall(r'data-preview-img=[\'"]?([^\'" >]+)', preview_html)
+
+ if not img_urls:
+ print(f"{gl.print} No images found, preview won't be saved.")
+ return
+
+ name = os.path.splitext(file_name)[0]
+ opener = urllib.request.build_opener()
+ opener.addheaders = [('User-agent', 'Mozilla/5.0')]
+ urllib.request.install_opener(opener)
+
+ img_url = urllib.parse.quote(img_urls[0], safe=':/=')
+ filename = f'{name}.preview.png'
+ try:
+ with urllib.request.urlopen(img_url) as url:
+ preview_path = os.path.join(install_path, filename)
+ with open(preview_path, 'wb') as f:
+ f.write(url.read())
+
+ print(f"{gl.print} Preview image saved to: {preview_path}")
+ except Exception as e:
+ print(f'{gl.print} Error downloading preview image: {e}')
+
+def save_images(preview_html, model_filename, model_name, install_path):
+ image_location = getattr(opts, "image_location", r"")
+ if image_location:
+ install_path = Path(image_location)
+
+ if not os.path.exists(install_path):
+ os.makedirs(install_path)
+ img_urls = re.findall(r'data-sampleimg="true" src=[\'"]?([^\'" >]+)', preview_html)
+
+ name = os.path.splitext(model_filename)[0]
+
+ opener = urllib.request.build_opener()
+ opener.addheaders = [('User-agent', 'Mozilla/5.0')]
+ urllib.request.install_opener(opener)
+
+ HTML = preview_html
+ for i, img_url in enumerate(img_urls):
+ filename = f'{name}_{i}.png'
+ filenamethumb = f'{name}.png'
+ if model_name is not None:
+ for item in gl.json_data['items']:
+ if item['name'] == model_name:
+ if item['type'] == "TextualInversion":
+ filename = f'{name}_{i}.preview.png'
+ filenamethumb = f'{name}.preview.png'
+ HTML = HTML.replace(img_url,f'"{filename}"')
+ img_url = urllib.parse.quote(img_url, safe=':/=')
+ try:
+ with urllib.request.urlopen(img_url) as url:
+ with open(os.path.join(install_path, filename), 'wb') as f:
+ f.write(url.read())
+ if i == 0 and not os.path.exists(os.path.join(install_path, filenamethumb)):
+ shutil.copy2(os.path.join(install_path, filename),os.path.join(install_path, filenamethumb))
+ print(f"{gl.print} Downloaded images.")
+
+ except urllib.error.URLError as e:
+ print(f'Error: {e.reason}')
+ path_to_new_file = os.path.join(install_path, f'{name}.html')
+ with open(path_to_new_file, 'wb') as f:
+ f.write(HTML.encode('utf8'))
+ path_to_new_file = os.path.join(install_path, f'{name}.civitai.info')
+ with open(path_to_new_file, mode="w", encoding="utf-8") as f:
+ json.dump(gl.json_info, f, indent=4, ensure_ascii=False)
+
+def save_json(file_name, install_path, trained_tags):
+ if not trained_tags:
+ return trained_tags
+
+ trained_tags = trained_tags.split(',')
+ trained_tags = [tag.strip() for tag in trained_tags if not (tag.strip().startswith('<') and ':' in tag.strip() and tag.strip().endswith('>'))]
+ trained_tags = ', '.join(trained_tags).strip()
+ if trained_tags.endswith(','):
+ trained_tags = trained_tags[:-1]
+
+ if not os.path.exists(install_path):
+ os.makedirs(install_path)
+
+ name = os.path.splitext(file_name)[0]
+ file_name = f'{name}.json'
+
+ path_to_new_file = os.path.join(install_path, file_name)
+
+ if os.path.exists(path_to_new_file):
+ try:
+ with open(path_to_new_file, 'r') as f:
+ content = json.load(f)
+ content["activation text"] = trained_tags
+ except Exception as e:
+ print(f"{gl.print} Failed to open {path_to_new_file}: {e}")
+ else:
+ content = {"activation text": trained_tags}
+
+ with open(path_to_new_file, 'w') as f:
+ json.dump(content, f)
+
+ print(f"{gl.print} Tags saved to: {path_to_new_file}")
+
+ return trained_tags
+
+def card_update(gr_components, model_name, list_versions, is_install):
+ version_choices = gr_components['choices']
+
+ if is_install and not gl.download_fail and not gl.cancel_status:
+ version_value_clean = list_versions + " [Installed]"
+ version_choices_clean = [version if version + " [Installed]" != version_value_clean else version_value_clean for version in version_choices]
+
+ else:
+ version_value_clean = list_versions.replace(" [Installed]", "")
+ version_choices_clean = [version if version.replace(" [Installed]", "") != version_value_clean else version_value_clean for version in version_choices]
+
+ first_version_installed = "[Installed]" in version_choices_clean[0]
+ any_later_version_installed = any("[Installed]" in version for version in version_choices_clean[1:])
+
+ if first_version_installed:
+ model_name += ".New"
+ elif any_later_version_installed:
+ model_name += ".Old"
+ else:
+ model_name += ".None"
+
+ return model_name, version_value_clean, version_choices_clean
+
+def list_files(folders):
+ model_files = []
+
+ extensions = ['.pt', '.ckpt', '.pth', '.safetensors', '.th', '.zip', '.vae']
+
+ for folder in folders:
+ if folder and os.path.exists(folder):
+ for root, _, files in os.walk(folder):
+ for file in files:
+ _, file_extension = os.path.splitext(file)
+ if file_extension.lower() in extensions:
+ model_files.append(os.path.join(root, file))
+
+ model_files = sorted(list(set(model_files)))
+ return model_files
+
+def gen_sha256(file_path):
+ json_file = os.path.splitext(file_path)[0] + ".json"
+
+ if os.path.exists(json_file):
+ try:
+ with open(json_file, 'r') as f:
+ data = json.load(f)
+
+ if 'sha256' in data:
+ hash_value = data['sha256']
+ return hash_value
+ except Exception as e:
+ print(f"{gl.print} Failed to open {json_file}: {e}")
+
+ def read_chunks(file, size=io.DEFAULT_BUFFER_SIZE):
+ while True:
+ chunk = file.read(size)
+ if not chunk:
+ break
+ yield chunk
+
+ blocksize = 1 << 20
+ h = hashlib.sha256()
+ length = 0
+ with open(os.path.realpath(file_path), 'rb') as f:
+ for block in read_chunks(f, size=blocksize):
+ length += len(block)
+ h.update(block)
+
+ hash_value = h.hexdigest()
+
+ if os.path.exists(json_file):
+ try:
+ with open(json_file, 'r') as f:
+ data = json.load(f)
+
+ if 'sha256' not in data:
+ data['sha256'] = hash_value
+
+ with open(json_file, 'w') as f:
+ json.dump(data, f, indent=4)
+ except Exception as e:
+ print(f"{gl.print} Failed to open {json_file}: {e}")
+ else:
+ data = {'sha256': hash_value}
+ with open(json_file, 'w') as f:
+ json.dump(data, f, indent=4)
+
+ return hash_value
+
+def tags_save(api_response, file_paths):
+ for item in api_response.get('items', []):
+ for model_version in item.get('modelVersions', []):
+ for file in model_version.get('files', []):
+ file_name = file.get('name', '')
+
+ for file_path in file_paths:
+ base_name = os.path.basename(file_path)
+
+ if file_name == base_name:
+ trained_words = model_version.get('trainedWords', [])
+
+ if not trained_words:
+ break
+
+ if isinstance(trained_words, list):
+ trained_tags = ",".join(trained_words)
+ trained_tags = re.sub(r'<[^>]*:[^>]*>', '', trained_tags)
+ trained_tags = re.sub(r', ?', ', ', trained_tags)
+ trained_tags = trained_tags.strip(', ')
+ else:
+ trained_tags = trained_words
+
+ json_file = os.path.splitext(file_path)[0] + '.json'
+ if os.path.exists(json_file):
+ with open(json_file, 'r') as f:
+ try:
+ content = json.load(f)
+ except:
+ content = {}
+
+ content["activation text"] = trained_tags
+ with open(json_file, 'w') as f:
+ json.dump(content, f, indent=4)
+ else:
+ content = {"activation text": trained_tags}
+ with open(json_file, 'w') as f:
+ json.dump(content, f, indent=4)
+
+ print(f"{gl.print} Tags saved in {json_file}")
+
+def get_models(file_path):
+ modelId = None
+ json_file = os.path.splitext(file_path)[0] + ".json"
+
+ if os.path.exists(json_file):
+ try:
+ with open(json_file, 'r') as f:
+ data = json.load(f)
+
+ if 'modelId' in data:
+ modelId = data['modelId']
+ except Exception as e:
+ print(f"{gl.print} Failed to open {json_file}: {e}")
+
+ if not modelId:
+ model_hash = gen_sha256(file_path)
+ by_hash = f"https://civitai.com/api/v1/model-versions/by-hash/{model_hash}"
+
+ try:
+ if not modelId:
+ response = requests.get(by_hash, timeout=(10,30))
+ if response.status_code == 200:
+ data = response.json()
+ modelId = data.get("modelId", "")
+ if os.path.exists(json_file):
+ try:
+ with open(json_file, 'r') as f:
+ data = json.load(f)
+
+ if 'modelId' not in data:
+ data['modelId'] = modelId
+
+ with open(json_file, 'w') as f:
+ json.dump(data, f, indent=4)
+ except Exception as e:
+ print(f"{gl.print} Failed to open {json_file}: {e}")
+ else:
+ data = {'modelId': modelId}
+ with open(json_file, 'w') as f:
+ json.dump(data, f, indent=4)
+
+ return modelId
+ except requests.exceptions.Timeout:
+ print(f"{gl.print} Request timed out for {file_path}. Skipping...")
+ except Exception as e:
+ print(f"{gl.print} An error occurred for {file_path}: {str(e)}")
+
+def version_match(file_paths, api_response):
+ updated_models = []
+ outdated_models = []
+ sha256_hashes = {}
+ for file_path in file_paths:
+ json_path = f"{os.path.splitext(file_path)[0]}.json"
+ if os.path.exists(json_path):
+ with open(json_path, 'r') as f:
+ try:
+ json_data = json.load(f)
+ sha256 = json_data.get('sha256')
+ if sha256:
+ sha256_hashes[os.path.basename(file_path)] = sha256.upper()
+ except Exception as e:
+ print(f"{gl.print} Failed to open {json_path}: {e}")
+
+ file_names_and_hashes = set()
+ for file_path in file_paths:
+ file_name = os.path.basename(file_path)
+ file_name_without_ext = os.path.splitext(file_name)[0]
+ file_sha256 = sha256_hashes.get(file_name, "").upper()
+ file_names_and_hashes.add((file_name_without_ext, file_sha256))
+
+ for item in api_response.get('items', []):
+ model_versions = item.get('modelVersions', [])
+
+ if not model_versions:
+ continue
+
+ for idx, model_version in enumerate(model_versions):
+ files = model_version.get('files', [])
+ match_found = False
+ for file_entry in files:
+ entry_name = os.path.splitext(file_entry.get('name', ''))[0]
+ entry_sha256 = file_entry.get('hashes', {}).get('SHA256', "").upper()
+
+ if (entry_name, entry_sha256) in file_names_and_hashes:
+ match_found = True
+ break
+
+ if match_found:
+ if idx == 0:
+ updated_models.append((f"&ids={item['id']}", item["name"]))
+ else:
+ outdated_models.append((f"&ids={item['id']}", item["name"]))
+ break
+
+ return updated_models, outdated_models
+
+def file_scan(folders, ver_finish, tag_finish, installed_finish, progress=gr.Progress() if queue else None):
+ global from_ver, from_installed, no_update
+ update_log = getattr(opts, "update_log", True)
+ gl.scan_files = True
+ no_update = False
+ if from_ver:
+ number = _download.random_number(ver_finish)
+ if from_tag:
+ number = _download.random_number(tag_finish)
+ if from_installed:
+ number = _download.random_number(installed_finish)
+
+ if not folders:
+ if progress != None:
+ progress(0, desc=f"No folder selected.")
+ no_update = True
+ gl.scan_files = False
+ from_ver, from_installed = False, False
+ time.sleep(2)
+ return (gr.HTML.update(value='
'),
+ gr.Textbox.update(value=number))
+
+ folders_to_check = []
+ for item in folders:
+ if item == "LORA & LoCon":
+ folder = _api.contenttype_folder("LORA")
+ if folder:
+ folders_to_check.append(folder)
+ folder = _api.contenttype_folder("LoCon", None, True)
+ if folder:
+ folders_to_check.append(folder)
+ elif item == "Upscaler":
+ folder = _api.contenttype_folder(item, "SwinIR")
+ if folder:
+ folders_to_check.append(folder)
+ folder = _api.contenttype_folder(item, "RealESRGAN")
+ if folder:
+ folders_to_check.append(folder)
+ folder = _api.contenttype_folder(item, "GFPGAN")
+ if folder:
+ folders_to_check.append(folder)
+ folder = _api.contenttype_folder(item, "BSRGAN")
+ if folder:
+ folders_to_check.append(folder)
+ folder = _api.contenttype_folder(item, "ESRGAN")
+ if folder:
+ folders_to_check.append(folder)
+ else:
+ folder = _api.contenttype_folder(item)
+ if folder:
+ folders_to_check.append(folder)
+
+ total_files = 0
+ files_done = 0
+
+ files = list_files(folders_to_check)
+ total_files += len(files)
+
+ if total_files == 0:
+ if progress != None:
+ progress(1, desc=f"No files in selected folder.")
+ no_update = True
+ gl.scan_files = False
+ from_ver, from_installed = False, False
+ time.sleep(2)
+ return (gr.HTML.update(value='
'),
+ gr.Textbox.update(value=number))
+
+ updated_models = []
+ outdated_models = []
+ all_model_ids = []
+ file_paths = []
+
+ for file_path in files:
+ if gl.cancel_status:
+ if progress != None:
+ progress(files_done / total_files, desc=f"Saving tags cancelled.")
+ no_update = True
+ gl.scan_files = False
+ from_ver, from_installed = False, False
+ time.sleep(2)
+ return (gr.HTML.update(value='
'),
+ gr.Textbox.update(value=number))
+ file_name = os.path.basename(file_path)
+ if progress != None:
+ progress(files_done / total_files, desc=f"Processing file: {file_name}")
+ model_id = get_models(file_path)
+ if model_id != None:
+ all_model_ids.append(f"&ids={model_id}")
+ file_paths.append(file_path)
+ files_done += 1
+
+ all_items = []
+
+ all_model_ids = list(set(all_model_ids))
+
+ def chunks(lst, n):
+ for i in range(0, len(lst), n):
+ yield lst[i:i + n]
+
+ if not from_installed:
+ model_chunks = list(chunks(all_model_ids, 500))
+
+ base_url = "https://civitai.com/api/v1/models?limit=100"
+ url_list = [f"{base_url}{''.join(chunk)}" for chunk in model_chunks]
+
+ for url in url_list:
+ while url:
+ if progress != None:
+ progress(1, desc=f"Sending API request...")
+ response = requests.get(url, timeout=(10,30))
+ if response.status_code == 200:
+ api_response = response.json()
+
+ all_items.extend(api_response['items'])
+ metadata = api_response.get('metadata', {})
+ url = metadata.get('nextPage', None)
+ else:
+ print(f"{gl.print} Error: Received status code {response.status_code} with URL:")
+ print(url)
+ break
+
+ api_response['items'] = all_items
+
+ if from_ver:
+ updated_models, outdated_models = version_match(file_paths, api_response)
+
+ updated_set = set(updated_models)
+ outdated_set = set(outdated_models)
+ outdated_set = {model for model in outdated_set if model[0] not in {updated_model[0] for updated_model in updated_set}}
+
+ all_model_ids = [model[0] for model in outdated_set]
+ all_model_names = [model[1] for model in outdated_set]
+
+ if update_log:
+ for model_name in all_model_names:
+ print(f'{gl.print} "{model_name}" is currently outdated.')
+
+ if len(all_model_ids) == 0:
+ no_update = True
+ gl.scan_files = False
+ from_ver = False
+ return (
+ gr.HTML.update(value='No updates found for selected models.
'),
+ gr.Textbox.update(value=number)
+ )
+
+ model_chunks = list(chunks(all_model_ids, gl.tile_count))
+
+ base_url = "https://civitai.com/api/v1/models?limit=100"
+ gl.url_list_with_numbers = {i+1: f"{base_url}{''.join(chunk)}" for i, chunk in enumerate(model_chunks)}
+
+ api_url = gl.url_list_with_numbers.get(1)
+ response = requests.get(api_url, timeout=(10,30))
+ if response.status_code == 200:
+ response.encoding = "utf-8"
+ gl.ver_json = json.loads(response.text)
+
+ # Modify the metadata
+ highest_number = max(gl.url_list_with_numbers.keys())
+ gl.ver_json["metadata"]["totalPages"] = highest_number
+
+ if highest_number > 1:
+ gl.ver_json["metadata"]["nextPage"] = gl.url_list_with_numbers.get(2)
+
+ if from_ver:
+ gl.scan_files = False
+ return (
+ gr.HTML.update(value='Outdated models have been found. Please press the button above to load the models into the browser tab
'),
+ gr.Textbox.update(value=number)
+ )
+
+ if from_installed:
+ gl.scan_files = False
+ return (
+ gr.HTML.update(value='Installed models have been loaded. Please press the button above to load the models into the browser tab
'),
+ gr.Textbox.update(value=number)
+ )
+
+ if from_tag:
+ tags_save(api_response, file_paths)
+ if progress != None:
+ progress(1, desc=f"All tags succesfully saved!")
+ time.sleep(2)
+ return (
+ gr.HTML.update(value='
'),
+ gr.Textbox.update(value=number)
+ )
+
+def save_tag_start(tag_start):
+ global from_tag, from_ver, from_installed
+ from_tag, from_ver, from_installed = True, False, False
+ number = _download.random_number(tag_start)
+ return (
+ gr.Textbox.update(value=number),
+ gr.Button.update(interactive=False, visible=False),
+ gr.Button.update(interactive=True, visible=True),
+ gr.Button.update(interactive=False, visible=True),
+ gr.Button.update(interactive=False, visible=True),
+ gr.HTML.update(value='
')
+ )
+
+def save_tag_finish():
+ global from_tag
+ from_tag = False
+ return (
+ gr.Button.update(interactive=True, visible=True),
+ gr.Button.update(interactive=True, visible=True),
+ gr.Button.update(interactive=True, visible=True),
+ gr.Button.update(interactive=False, visible=False)
+ )
+
+def start_ver_search(ver_start):
+ global from_ver, from_tag, from_installed
+ from_ver, from_tag, from_installed = True, False, False
+ number = _download.random_number(ver_start)
+ return (
+ gr.Textbox.update(value=number),
+ gr.Button.update(interactive=False, visible=False),
+ gr.Button.update(interactive=True, visible=True),
+ gr.Button.update(interactive=False, visible=True),
+ gr.Button.update(interactive=False, visible=True),
+ gr.HTML.update(value='
')
+ )
+
+def finish_ver_search():
+ return (
+ gr.Button.update(interactive=True if no_update else False, visible=True if no_update else False),
+ gr.Button.update(interactive=True if no_update else False, visible=True if no_update else False),
+ gr.Button.update(interactive=True if no_update else False, visible=True if no_update else False),
+ gr.Button.update(interactive=False, visible=False),
+ gr.Button.update(interactive=False if no_update else True, visible=False if no_update else True)
+ )
+
+def load_to_browser():
+ global from_ver, from_installed
+ _ = None
+ if from_ver:
+ (lm,lv,lh,pp,np,p,st,si,dm,ip,sf,fl) = _api.update_model_list(_,_,_,_,_,_,_,_,_,_,True)
+ if from_installed:
+ (lm,lv,lh,pp,np,p,st,si,dm,ip,sf,fl) = _api.update_model_list(_,_,_,_,_,_,_,_,_,_,False,True)
+
+ gl.file_scan = True
+ from_ver, from_installed = False, False
+ return (
+ gr.Button.update(interactive=True, visible=True),
+ gr.Button.update(interactive=True, visible=True),
+ gr.Button.update(interactive=True, visible=True),
+ gr.Button.update(interactive=False, visible=False),
+ gr.Button.update(interactive=False, visible=False),
+ lm,lv,lh,pp,np,p,st,si,dm,ip,sf,fl,
+ gr.HTML.update(value='
')
+ )
+
+def start_installed_models(installed_start):
+ global from_installed, from_ver, from_tag
+ from_installed, from_ver, from_tag = True, False, False
+ number = _download.random_number(installed_start)
+ return (
+ gr.Textbox.update(value=number),
+ gr.Button.update(interactive=False, visible=False),
+ gr.Button.update(interactive=True, visible=True),
+ gr.Button.update(interactive=False, visible=True),
+ gr.Button.update(interactive=False, visible=True),
+ gr.HTML.update(value='
')
+ )
+
+def finish_installed_models():
+ return (
+ gr.Button.update(interactive=True if no_update else False, visible=True if no_update else False),
+ gr.Button.update(interactive=True if no_update else False, visible=True if no_update else False),
+ gr.Button.update(interactive=True if no_update else False, visible=True if no_update else False),
+ gr.Button.update(interactive=False, visible=False),
+ gr.Button.update(interactive=False if no_update else True, visible=False if no_update else True)
+ )
+
+def cancel_scan():
+ gl.cancel_status = True
+
+ while True:
+ if not gl.scan_files:
+ gl.cancel_status = False
+ return
+ else:
+ time.sleep(0.5)
+ continue
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/scripts/civitai_global.py b/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/scripts/civitai_global.py
new file mode 100644
index 0000000000000000000000000000000000000000..98ea51c83e5e15cd7451b7a19043de7615e5d4ca
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/scripts/civitai_global.py
@@ -0,0 +1,37 @@
+from modules.shared import cmd_opts
+import json
+
+try:
+ with open(cmd_opts.ui_config_file, 'r') as f:
+ config = json.load(f)
+ tile_count_value = config["civitai_interface/Tile count:/value"]
+except:
+ tile_count_value = 15
+
+def init():
+ global last_version, current_download, cancel_status, recent_model, json_data, json_info, main_folder, previous_search_term, previous_tile_count, previous_inputs, download_fail, sortNewest, contentChange, inputs_changed, isDownloading, pageChange, tile_count, old_download, scan_files, ver_json, file_scan, url_list_with_numbers, print
+ print = ('\033[96mCivitAI Browser+\033[0m:')
+
+ cancel_status = None
+ recent_model = None
+ json_data = None
+ json_info = None
+ main_folder = None
+ previous_search_term = None
+ previous_tile_count = None
+ previous_inputs = None
+ last_version = None
+ current_download = None
+ ver_json = None
+ url_list_with_numbers = None
+
+ file_scan = False
+ scan_files = False
+ download_fail = False
+ sortNewest = False
+ contentChange = False
+ inputs_changed = False
+ isDownloading = False
+ pageChange = False
+ old_download = False
+ tile_count = tile_count_value
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/scripts/civitai_gui.py b/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/scripts/civitai_gui.py
new file mode 100644
index 0000000000000000000000000000000000000000..d2b09a1b1eaad86b05876edcab7eb079d7ff5531
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/scripts/civitai_gui.py
@@ -0,0 +1,820 @@
+import gradio as gr
+from modules import script_callbacks, shared, ui_settings
+import os
+import json
+import fnmatch
+import re
+from modules.shared import opts, cmd_opts
+from modules.paths import extensions_dir
+import scripts.civitai_global as gl
+import scripts.civitai_download as _download
+import scripts.civitai_file_manage as _file
+import scripts.civitai_api as _api
+
+gl.init()
+
+def saveSettings(ust, ct, pt, st, bf, cj, td, ol, sn, ss, ts):
+ config = cmd_opts.ui_config_file
+
+ # Create a dictionary to map the settings to their respective variables
+ settings_map = {
+ "civitai_interface/Search type:/value": ust,
+ "civitai_interface/Content type:/value": ct,
+ "civitai_interface/Time period:/value": pt,
+ "civitai_interface/Sort by:/value": st,
+ "civitai_interface/Base model:/value": bf,
+ "civitai_interface/Save tags after download/value": cj,
+ "civitai_interface/Divide cards by date/value": td,
+ "civitai_interface/Liked models only/value": ol,
+ "civitai_interface/NSFW content/value": sn,
+ "civitai_interface/Tile size:/value": ss,
+ "civitai_interface/Tile count:/value": ts
+ }
+
+ # Load the current contents of the config file into a dictionary
+ try:
+ with open(config, 'r') as file:
+ data = json.load(file)
+ except:
+ print(f"{gl.print} Cannot save settings, failed to open \"{file}\"")
+ print("Please try to manually repair the file or remove it to reset settings.")
+ return
+
+ # Remove any keys containing the text `civitai_interface`
+ keys_to_remove = [key for key in data if "civitai_interface" in key]
+ for key in keys_to_remove:
+ del data[key]
+
+ # Update the dictionary with the new settings
+ data.update(settings_map)
+
+ # Save the modified content back to the file
+ with open(config, 'w') as file:
+ json.dump(data, file, indent=4)
+ print(f"{gl.print} Updated settings to: {config}")
+
+def on_ui_tabs():
+ use_LORA = getattr(opts, "use_LORA", False)
+ page_header = getattr(opts, "page_header", False)
+ lobe_directory = None
+
+ for root, dirs, files in os.walk(extensions_dir):
+ for dir_name in fnmatch.filter(dirs, '*lobe*'):
+ lobe_directory = os.path.join(root, dir_name)
+ break
+
+ # Different ID's for Lobe Theme
+ component_id = "togglesL" if lobe_directory else "toggles"
+ toggle1 = "toggle1L" if lobe_directory else "toggle1"
+ toggle2 = "toggle2L" if lobe_directory else "toggle2"
+ toggle3 = "toggle3L" if lobe_directory else "toggle3"
+ refreshbtn = "refreshBtnL" if lobe_directory else "refreshBtn"
+ filterBox = "filterBoxL" if lobe_directory else "filterBox"
+ if page_header:
+ header = "headerL" if lobe_directory else "header"
+ else:
+ header = "header_off"
+
+ api_key = getattr(opts, "custom_api_key", "")
+ if api_key:
+ toggle4 = "toggle4L_api" if lobe_directory else "toggle4_api"
+ show_only_liked = True
+ else:
+ toggle4 = "toggle4L" if lobe_directory else "toggle4"
+ show_only_liked = False
+
+ if use_LORA:
+ content_choices = ["Checkpoint", "TextualInversion", "LORA & LoCon", "Poses", "Controlnet", "Hypernetwork", "AestheticGradient", "VAE", "Upscaler", "MotionModule", "Wildcards", "Workflows", "Other"]
+ else:
+ content_choices = ["Checkpoint", "TextualInversion", "LORA", "LoCon", "Poses", "Controlnet", "Hypernetwork", "AestheticGradient", "VAE", "Upscaler", "MotionModule", "Wildcards", "Workflows", "Other"]
+
+ with gr.Blocks() as civitai_interface:
+ with gr.Tab(label="Browser", elem_id="browserTab"):
+ with gr.Row(elem_id="searchRow"):
+ with gr.Accordion(label="", open=False, elem_id=filterBox):
+ with gr.Row():
+ use_search_term = gr.Radio(label="Search type:", choices=["Model name", "User name", "Tag"], value="Model name", elem_id="searchType")
+ with gr.Row():
+ content_type = gr.Dropdown(label='Content type:', choices=content_choices, value=None, type="value", multiselect=True, elem_id="centerText")
+ with gr.Row():
+ base_filter = gr.Dropdown(label='Base model:', multiselect=True, choices=["SD 1.4", "SD 1.5", "SD 2.0", "SD 2.0 768", "SD 2.1", "SD 2.1 768", "SD 2.1 Unclip", "SDXL 0.9", "SDXL 1.0", "Other"], value=None, type="value", elem_id="centerText")
+ with gr.Row():
+ period_type = gr.Dropdown(label='Time period:', choices=["All Time", "Year", "Month", "Week", "Day"], value="All Time", type="value", elem_id="centerText")
+ sort_type = gr.Dropdown(label='Sort by:', choices=["Newest","Most Downloaded","Highest Rated","Most Liked"], value="Most Downloaded", type="value", elem_id="centerText")
+ with gr.Row(elem_id=component_id):
+ create_json = gr.Checkbox(label=f"Save tags after download", value=False, elem_id=toggle1, min_width=171)
+ show_nsfw = gr.Checkbox(label="NSFW content", value=False, elem_id=toggle2, min_width=107)
+ toggle_date = gr.Checkbox(label="Divide cards by date", value=False, elem_id=toggle3, min_width=142)
+ only_liked = gr.Checkbox(label="Liked models only", value=False, interactive=show_only_liked, elem_id=toggle4, min_width=163)
+ with gr.Row():
+ size_slider = gr.Slider(minimum=4, maximum=20, value=8, step=0.25, label='Tile size:')
+ tile_slider = gr.Slider(label="Tile count:", minimum=1, maximum=100, value=15, step=1, max_width=100)
+ with gr.Row(elem_id="save_set_box"):
+ save_settings = gr.Button(value="Save settings as default", elem_id="save_set_btn")
+ search_term = gr.Textbox(label="", placeholder="Search CivitAI", elem_id="searchBox")
+ refresh = gr.Button(label="", value="", elem_id=refreshbtn, icon="placeholder")
+ with gr.Row(elem_id=header):
+ with gr.Row(elem_id="pageBox"):
+ get_prev_page = gr.Button(value="Prev page", interactive=False, elem_id="pageBtn1")
+ page_slider = gr.Slider(label='Current page', step=1, minimum=1, maximum=1, value=1, min_width=80, elem_id="pageSlider")
+ get_next_page = gr.Button(value="Next page", interactive=False, elem_id="pageBtn2")
+ with gr.Row(elem_id="pageBoxMobile"):
+ pass # Row used for button placement on mobile
+ with gr.Row():
+ list_html = gr.HTML(value='Click the search icon to load models. Use the filter icon to filter results.
')
+ with gr.Row():
+ download_progress = gr.HTML(value='
', elem_id="DownloadProgress")
+ with gr.Row():
+ list_models = gr.Dropdown(label="Model:", choices=[], interactive=False, elem_id="quicksettings1", value=None)
+ list_versions = gr.Dropdown(label="Version:", choices=[], interactive=False, elem_id="quicksettings", value=None)
+ file_list = gr.Dropdown(label="File:", choices=[], interactive=False, elem_id="file_list", value=None)
+ with gr.Row():
+ with gr.Column(scale=4):
+ install_path = gr.Textbox(label="Download folder:", interactive=False, max_lines=1)
+ with gr.Column(scale=2):
+ sub_folder = gr.Dropdown(label="Sub folder:", choices=[], interactive=False, value=None)
+ with gr.Row():
+ with gr.Column(scale=4):
+ trained_tags = gr.Textbox(label='Trained tags (if any):', value=None, interactive=False, lines=1)
+ with gr.Column(scale=2, elem_id="spanWidth"):
+ base_model = gr.Textbox(label='Base model: ', value='', interactive=False, lines=1, elem_id="baseMdl")
+ model_filename = gr.Textbox(label="Model filename:", interactive=False, value=None)
+ with gr.Row():
+ save_tags = gr.Button(value="Save tags", interactive=False)
+ save_images = gr.Button(value="Save images", interactive=False)
+ download_model = gr.Button(value="Download model", interactive=False)
+ cancel_model = gr.Button(value="Cancel download", interactive=False, visible=False)
+ delete_model = gr.Button(value="Delete model", interactive=False, visible=False)
+ with gr.Row():
+ preview_html = gr.HTML(elem_id="civitai_preview_html")
+ with gr.Row(elem_id="backToTopContainer"):
+ back_to_top = gr.Button(value="↑", elem_id="backToTop")
+ with gr.Tab("Update Models"):
+ with gr.Row():
+ selected_tags = gr.CheckboxGroup(elem_id="selected_tags", label="Scan for:", choices=content_choices)
+ with gr.Row():
+ save_all_tags = gr.Button(value="Update assigned tags", interactive=True, visible=True)
+ cancel_all_tags = gr.Button(value="Cancel updating tags", interactive=False, visible=False)
+ with gr.Row():
+ tag_progress = gr.HTML(value='
')
+ with gr.Row():
+ ver_search = gr.Button(value="Scan for available updates", interactive=True, visible=True)
+ cancel_ver_search = gr.Button(value="Cancel updates scan", interactive=False, visible=False)
+ load_to_browser = gr.Button(value="Load outdated models to browser", interactive=False, visible=False)
+ with gr.Row():
+ version_progress = gr.HTML(value='
')
+ with gr.Row():
+ load_installed = gr.Button(value="Load all installed models", interactive=True, visible=True)
+ cancel_installed = gr.Button(value="Cancel loading models", interactive=False, visible=False)
+ load_to_browser_installed = gr.Button(value="Load installed models to browser", interactive=False, visible=False)
+ with gr.Row():
+ installed_progress = gr.HTML(value='
')
+
+ #Invisible triggers/variables
+ model_id = gr.Textbox(value=None, visible=False)
+ dl_url = gr.Textbox(value=None, visible=False)
+ event_text = gr.Textbox(elem_id="eventtext1", visible=False)
+ download_start = gr.Textbox(value=None, visible=False)
+ download_finish = gr.Textbox(value=None, visible=False)
+ tag_start = gr.Textbox(value=None, visible=False)
+ tag_finish = gr.Textbox(value=None, visible=False)
+ ver_start = gr.Textbox(value=None, visible=False)
+ ver_finish = gr.Textbox(value=None, visible=False)
+ installed_start = gr.Textbox(value=None, visible=None)
+ installed_finish = gr.Textbox(value=None, visible=None)
+ delete_finish = gr.Textbox(value=None, visible=False)
+ current_model = gr.Textbox(value=None, visible=False)
+ current_sha256 = gr.Textbox(value=None, visible=False)
+
+ # Global variable to detect if content has changed.
+ def save_tags_btn(tags, file):
+ if tags and file: btn = True
+ else: btn = False
+ return gr.Button.update(interactive=btn)
+
+ def changeInput():
+ gl.contentChange = True
+
+ def ToggleDate(toggle_date):
+ gl.sortNewest = toggle_date
+
+ def update_tile_count(slider_value):
+ gl.tile_count = slider_value
+
+ def select_subfolder(sub_folder):
+ if sub_folder == "None":
+ newpath = gl.main_folder
+ else:
+ newpath = gl.main_folder + sub_folder
+ return gr.Textbox.update(value=newpath)
+
+ # Javascript Functions #
+
+ list_models.select(
+ fn=None,
+ inputs=[list_models],
+ _js="(list_models) => select_model(list_models)"
+ )
+
+ preview_html.change(
+ fn=None,
+ _js="() => adjustFilterBoxAndButtons()"
+ )
+
+ back_to_top.click(
+ fn=None,
+ _js="() => BackToTop()"
+ )
+
+ page_slider.release(
+ fn=None,
+ _js="() => pressRefresh()"
+ )
+
+ download_finish.change(
+ fn=None,
+ inputs=[current_model],
+ _js="(modelName) => updateCard(modelName)"
+ )
+
+ delete_finish.change(
+ fn=None,
+ inputs=[current_model],
+ _js="(modelName) => updateCard(modelName)"
+ )
+
+ list_html.change(
+ fn=None,
+ inputs=[show_nsfw],
+ _js="(hideAndBlur) => toggleNSFWContent(hideAndBlur)"
+ )
+
+ show_nsfw.change(
+ fn=None,
+ inputs=[show_nsfw],
+ _js="(hideAndBlur) => toggleNSFWContent(hideAndBlur)"
+ )
+
+ list_html.change(
+ fn=None,
+ inputs=[size_slider],
+ _js="(size) => updateCardSize(size, size * 1.5)"
+ )
+
+ size_slider.change(
+ fn=None,
+ inputs=[size_slider],
+ _js="(size) => updateCardSize(size, size * 1.5)"
+ )
+
+ # Gradio components Logic #
+ trained_tags.input(
+ fn=save_tags_btn,
+ inputs=[trained_tags, model_filename],
+ outputs=[save_tags]
+ )
+
+ save_settings.click(
+ fn=saveSettings,
+ inputs=[
+ use_search_term,
+ content_type,
+ period_type,
+ sort_type,
+ base_filter,
+ create_json,
+ toggle_date,
+ only_liked,
+ show_nsfw,
+ size_slider,
+ tile_slider
+ ]
+ )
+
+ toggle_date.input(
+ fn=ToggleDate,
+ inputs=[toggle_date]
+ )
+
+ tile_slider.release(
+ fn=update_tile_count,
+ inputs=[tile_slider],
+ outputs=[]
+ )
+
+ content_type.change(
+ fn=changeInput,
+ inputs=[]
+ )
+
+ sub_folder.select(
+ fn=select_subfolder,
+ inputs=[sub_folder],
+ outputs=[install_path]
+ )
+
+ ver_search.click(
+ fn=_file.start_ver_search,
+ inputs=[ver_start],
+ outputs=[
+ ver_start,
+ ver_search,
+ cancel_ver_search,
+ load_installed,
+ save_all_tags,
+ version_progress
+ ]
+ )
+
+ ver_start.change(
+ fn=_file.file_scan,
+ inputs=[
+ selected_tags,
+ ver_finish,
+ tag_finish,
+ installed_finish
+ ],
+ outputs=[
+ version_progress,
+ ver_finish
+ ]
+ )
+
+ ver_finish.change(
+ fn=_file.finish_ver_search,
+ outputs=[
+ ver_search,
+ save_all_tags,
+ load_installed,
+ cancel_ver_search,
+ load_to_browser
+ ]
+ )
+
+ cancel_ver_search.click(
+ fn=_file.cancel_scan
+ )
+
+ load_installed.click(
+ fn=_file.start_installed_models,
+ inputs=[installed_start],
+ outputs=[
+ installed_start,
+ load_installed,
+ cancel_installed,
+ ver_search,
+ save_all_tags,
+ installed_progress
+ ]
+ )
+
+ installed_start.change(
+ fn=_file.file_scan,
+ inputs=[
+ selected_tags,
+ ver_finish,
+ tag_finish,
+ installed_finish
+ ],
+ outputs=[
+ installed_progress,
+ installed_finish
+ ]
+ )
+
+ installed_finish.change(
+ fn=_file.finish_installed_models,
+ outputs=[
+ ver_search,
+ save_all_tags,
+ load_installed,
+ cancel_installed,
+ load_to_browser_installed
+ ]
+ )
+
+ load_to_browser_installed.click(
+ fn=_file.load_to_browser,
+ outputs=[
+ ver_search,
+ save_all_tags,
+ load_installed,
+ cancel_installed,
+ load_to_browser_installed,
+ list_models,
+ list_versions,
+ list_html,
+ get_prev_page,
+ get_next_page,
+ page_slider,
+ save_tags,
+ save_images,
+ download_model,
+ install_path,
+ sub_folder,
+ file_list,
+ installed_progress
+ ]
+ )
+
+ load_to_browser.click(
+ fn=_file.load_to_browser,
+ outputs=[
+ ver_search,
+ save_all_tags,
+ load_installed,
+ cancel_ver_search,
+ load_to_browser,
+ list_models,
+ list_versions,
+ list_html,
+ get_prev_page,
+ get_next_page,
+ page_slider,
+ save_tags,
+ save_images,
+ download_model,
+ install_path,
+ sub_folder,
+ file_list,
+ version_progress
+ ]
+ )
+
+ save_all_tags.click(
+ fn=_file.save_tag_start,
+ inputs=[tag_start],
+ outputs=[
+ tag_start,
+ save_all_tags,
+ cancel_all_tags,
+ load_installed,
+ ver_search,
+ tag_progress
+ ]
+ )
+
+ tag_start.change(
+ fn=_file.file_scan,
+ inputs=[
+ selected_tags,
+ ver_finish,
+ tag_finish,
+ installed_finish
+ ],
+ outputs=[
+ tag_progress,
+ tag_finish
+ ]
+ )
+
+ tag_finish.change(
+ fn=_file.save_tag_finish,
+ outputs=[
+ ver_search,
+ save_all_tags,
+ load_installed,
+ cancel_all_tags
+ ]
+ )
+
+ cancel_all_tags.click(
+ fn=_file.cancel_scan
+ )
+
+ download_model.click(
+ fn=_download.download_start,
+ inputs=[
+ download_start,
+ list_models,
+ model_filename,
+ list_versions,
+ current_sha256
+ ],
+ outputs=[
+ download_model,
+ cancel_model,
+ download_start,
+ download_progress
+ ]
+ )
+
+ download_start.change(
+ fn=_download.download_create_thread,
+ inputs=[
+ download_finish,
+ dl_url,
+ model_filename,
+ preview_html,
+ create_json,
+ trained_tags,
+ install_path,
+ list_models,
+ list_versions
+ ],
+ outputs=[
+ download_progress,
+ current_model,
+ download_finish
+ ]
+ )
+
+ cancel_model.click(
+ fn=_download.download_cancel,
+ inputs=[
+ delete_finish,
+ list_models,
+ list_versions,
+ model_filename,
+ current_sha256
+ ],
+ outputs=[
+ download_model,
+ cancel_model,
+ download_progress
+ ]
+ )
+
+ download_finish.change(
+ fn=_download.download_finish,
+ inputs=[
+ model_filename,
+ list_versions,
+ list_models
+ ],
+ outputs=[
+ download_model,
+ cancel_model,
+ delete_model,
+ download_progress,
+ list_versions
+ ]
+ )
+
+ delete_model.click(
+ fn=_file.delete_model,
+ inputs=[
+ delete_finish,
+ model_filename,
+ list_models,
+ list_versions,
+ current_sha256
+ ],
+ outputs=[
+ download_model,
+ cancel_model,
+ delete_model,
+ delete_finish,
+ current_model,
+ list_versions
+ ]
+ )
+
+ save_tags.click(
+ fn=_file.save_json,
+ inputs=[
+ model_filename,
+ install_path,
+ trained_tags
+ ],
+ outputs=[trained_tags]
+ )
+
+ save_images.click(
+ fn=_file.save_images,
+ inputs=[
+ preview_html,
+ model_filename,
+ list_models,
+ install_path
+ ],
+ outputs=[]
+ )
+
+ list_versions.select(
+ fn=_api.update_model_info,
+ inputs=[
+ list_models,
+ list_versions
+ ],
+ outputs=[
+ preview_html,
+ trained_tags,
+ base_model,
+ download_model,
+ delete_model,
+ file_list,
+ model_filename,
+ model_id,
+ current_sha256,
+ install_path,
+ sub_folder
+ ]
+ )
+
+ file_list.input(
+ fn=_api.update_file_info,
+ inputs=[
+ list_models,
+ list_versions,
+ file_list
+ ],
+ outputs=[
+ model_filename,
+ model_id,
+ current_sha256,
+ download_model,
+ delete_model,
+ install_path,
+ sub_folder
+ ]
+ )
+
+ model_id.change(
+ fn=_api.update_dl_url,
+ inputs=[
+ trained_tags,
+ model_id,
+ list_models,
+ list_versions
+ ],
+ outputs=[
+ dl_url,
+ save_tags,
+ save_images,
+ download_model
+ ]
+ )
+
+ # Define common page load inputs
+ common_inputs = [
+ content_type,
+ sort_type,
+ period_type,
+ use_search_term,
+ search_term,
+ page_slider,
+ base_filter,
+ only_liked
+ ]
+
+ # Define common page load outputs
+ common_outputs = [
+ list_models,
+ list_versions,
+ list_html,
+ get_prev_page,
+ get_next_page,
+ page_slider,
+ save_tags,
+ save_images,
+ download_model,
+ install_path,
+ sub_folder,
+ file_list
+ ]
+
+ # Map triggers to their corresponding functions
+ trigger_function_map = {
+ refresh.click: _api.update_model_list,
+ search_term.submit: _api.update_model_list,
+ get_next_page.click: _api.update_next_page,
+ get_prev_page.click: _api.update_prev_page
+ }
+
+ # Loop through the dictionary and bind each trigger to its function
+ for trigger, function in trigger_function_map.items():
+ trigger(fn=function, inputs=common_inputs, outputs=common_outputs)
+
+ def update_models_dropdown(model_name):
+ model_name = re.sub(r'\.\d{3}$', '', model_name)
+ ret_versions = _api.update_model_versions(model_name)
+ (html, tags, base_mdl, DwnButton, DelButton, filelist, filename, id, current_sha256, install_path, sub_folder) = _api.update_model_info(model_name,ret_versions['value'])
+ return gr.Dropdown.update(value=model_name),ret_versions,html,tags,base_mdl,filename,install_path,sub_folder,DwnButton,DelButton,filelist,id,current_sha256,
+
+ event_text.change(
+ fn=update_models_dropdown,
+ inputs=[
+ event_text
+ ],
+ outputs=[
+ list_models,
+ list_versions,
+ preview_html,
+ trained_tags,
+ base_model,
+ model_filename,
+ install_path,
+ sub_folder,
+ download_model,
+ delete_model,
+ file_list,
+ model_id,
+ current_sha256
+ ]
+ )
+
+ return (civitai_interface, "Civitai Browser+", "civitai_interface"),
+
+def subfolder_list(folder, desc=None):
+ if folder == None:
+ return
+ try:
+ model_folder = _api.contenttype_folder(folder, desc)
+ sub_folders = ["None"]
+ for root, dirs, _ in os.walk(model_folder):
+ for d in dirs:
+ sub_folder = os.path.relpath(os.path.join(root, d), model_folder)
+ if sub_folder:
+ sub_folders.append(f'{os.sep}{sub_folder}')
+
+ sub_folders.remove("None")
+ sub_folders = sorted(sub_folders)
+ sub_folders.insert(0, "None")
+
+ list = set()
+ sub_folders = [x for x in sub_folders if not (x in list or list.add(x))]
+ except:
+ return None
+ return sub_folders
+
+def make_lambda(folder, desc):
+ return lambda: {"choices": subfolder_list(folder, desc)}
+
+def on_ui_settings():
+ section = ("civitai_browser_plus", "CivitAI Browser+")
+
+ if not (hasattr(shared.OptionInfo, "info") and callable(getattr(shared.OptionInfo, "info"))):
+ def info(self, info):
+ self.label += f" ({info})"
+ return self
+ shared.OptionInfo.info = info
+
+ shared.opts.add_option("use_aria2", shared.OptionInfo(True, "Download models using Aria2", section=section).info("Disable to use the old download method"))
+ shared.opts.add_option("disable_dns", shared.OptionInfo(False, "Disable Async DNS for Aria2", section=section).info("Useful for users who use PortMaster or other software that controls the DNS"))
+ shared.opts.add_option("show_log", shared.OptionInfo(False, "Show Aria2 logs in console", section=section).info("Requires UI reload"))
+ shared.opts.add_option("split_aria2", shared.OptionInfo(64, "Number of connections to use for downloading a model", gr.Slider, lambda: {"maximum": "64", "minimum": "1", "step": "1"}, section=section).info("Only applies to Aria2"))
+ shared.opts.add_option("aria2_flags", shared.OptionInfo(r"", "Custom Aria2 command line flags", section=section).info("Requires UI reload"))
+ shared.opts.add_option("insert_sub", shared.OptionInfo(True, "Insert [/Model Name] & [/Model Name/Version Name] as default sub folder options", section=section))
+ shared.opts.add_option("use_LORA", shared.OptionInfo(False, "Treat LoCon's as LORA's", section=section).info("SD-WebUI v1.5 and higher treats LoCON's the same as LORA's, Requires UI reload"))
+ shared.opts.add_option("unpack_zip", shared.OptionInfo(False, "Automatically unpack .zip after downloading", section=section))
+ shared.opts.add_option("hide_early_access", shared.OptionInfo(True, "Hide early access models", section=section).info("Early access models are only downloadable for supporter tier members, Requires API key"))
+ shared.opts.add_option("custom_api_key", shared.OptionInfo(r"", "Personal CivitAI API key", section=section).info("You can create your own API key in your CivitAI account settings, Requires UI reload"))
+ shared.opts.add_option("page_header", shared.OptionInfo(False, "Page navigation as header", section=section).info("Keeps the page navigation always visible at the top, Requires UI reload"))
+ shared.opts.add_option("update_log", shared.OptionInfo(True, 'Show console logs during update scanning', section=section).info('Shows the "is currently outdated" messages in the console when scanning models for available updates"'))
+ shared.opts.add_option("image_location", shared.OptionInfo(r"", "Custom save images location", section=section).info("Overrides the download folder location when saving images."))
+
+ use_LORA = getattr(opts, "use_LORA", False)
+
+ def has_folders(input, desc=None):
+ if input == None:
+ return False
+ try:
+ path = any(entry.is_dir() for entry in os.scandir(_api.contenttype_folder(input, desc)))
+ except:
+ return False
+ return path
+
+ # Default sub folders
+ folders = [
+ "Checkpoint",
+ "LORA & LoCon" if use_LORA else "LORA",
+ "LoCon" if not use_LORA else None,
+ "TextualInversion",
+ "Poses",
+ "Controlnet",
+ "Hypernetwork",
+ "MotionModule",
+ ("Upscaler", "SWINIR"),
+ ("Upscaler", "REALESRGAN"),
+ ("Upscaler", "GFPGAN"),
+ ("Upscaler", "BSRGAN"),
+ ("Upscaler", "ESRGAN"),
+ "VAE",
+ "AestheticGradient",
+ "Wildcards",
+ "Workflows",
+ "Other"
+ ]
+
+ for folder in folders:
+ if folder == None:
+ continue
+ desc = None
+ if isinstance(folder, tuple):
+ folder_name = " - ".join(folder)
+ setting_name = folder[1]
+ folder = folder[0]
+ desc = folder[1]
+ else:
+ folder_name = folder
+ setting_name = folder
+ if folder == "LORA & LoCon":
+ folder = "LORA"
+ setting_name = "LORA_LoCon"
+
+ if has_folders(folder, desc):
+ shared.opts.add_option(f"{setting_name}_subfolder", shared.OptionInfo("None", folder_name, gr.Dropdown, make_lambda(folder, desc), section=section))
+
+script_callbacks.on_ui_tabs(on_ui_tabs)
+script_callbacks.on_ui_settings(on_ui_settings)
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/style.css b/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/style.css
new file mode 100644
index 0000000000000000000000000000000000000000..c96d9e68d3548eb92fac309c460a86b857711026
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-civitai-browser-plus-1.15.2/style.css
@@ -0,0 +1,539 @@
+.civmodellist {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: center;
+}
+
+.civmodellist figure {
+ margin: 6px;
+ transition: transform .3s ease-out, box-shadow 0.3s ease;
+ cursor: pointer;
+ border-radius: 10px;
+}
+
+.civmodelcard {
+ position: relative;
+}
+
+.civmodelcard:hover {
+ transform: scale(1.1, 1.1);
+ position: relative;
+ z-index: var(--layer-5);
+ box-shadow: 0px 0px 1px 3px whitesmoke;
+}
+
+.civmodelcardinstalled {
+ box-shadow: 0px 0px 1px 3px aquamarine;
+}
+
+.civmodelcardoutdated {
+ box-shadow: 0px 0px 1px 3px orange;
+}
+
+.civmodelcard:hover figcaption{
+ bottom: initial;
+ background-color: rgba(32, 32, 32, 0.9);
+}
+
+.civmodelcard img, .civmodelcard .video-bg {
+ width: 8em;
+ height: 12em;
+ object-fit: cover;
+ border-radius: 10px;
+}
+
+.civmodelcard figcaption {
+ position: absolute;
+ bottom: 5px;
+ text-align: center;
+ width: 8em;
+ word-break: break-word;
+ background-color: rgba(32, 32, 32, 0.5);
+ color: white !important;
+}
+
+#quicksettings > div{
+ max-width: None !important;
+ width: auto !important;
+}
+
+#togglesL{
+ margin-top: 3px;
+}
+
+#toggles{
+ margin-top: -10px;
+}
+
+#backToTopContainer {
+ position: fixed;
+ bottom: 0;
+ right: 0;
+ display: flex;
+ justify-content: flex-end;
+ z-index: 150;
+ pointer-events: none;
+ margin: 20px 51px 20px 20px;
+}
+
+#backToTop {
+ margin: 0;
+ max-width: 60px;
+ min-width: unset;
+ z-index: 200;
+ pointer-events: auto;
+}
+
+#browserTab {
+ position: relative;
+}
+
+#browserTab > div > #header {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ background-color: var(--neutral-950);
+ z-index: 60;
+}
+
+#browserTab > div > #header, #browserTab > div > #header_off {
+ display: flex;
+ flex-direction: column;
+ padding-top: 15px;
+ margin-top: -15px;
+}
+
+#toggle1, #toggle2, #toggle3, #toggle4, #toggle4_api{
+ margin-top: 5px;
+ margin-right: 0px;
+ margin-left: 0px;
+ display: flex;
+ justify-content: center;
+}
+
+#toggle1L, #toggle2L, #toggle3L, #toggle4L, #toggle4L_api{
+ display: flex;
+ justify-content: center;
+}
+
+#centerText, #searchType {
+ text-align: center;
+}
+
+#browserTab {
+ min-height: 650px;
+}
+
+#searchBox > label > textarea {
+ padding-top: 11px !important;
+}
+
+#searchBox {
+ max-width: 800px;
+ align-self: center;
+}
+
+#baseMdl {
+ min-width: 100px !important;
+ max-width: 100px !important;
+}
+
+#spanWidth {
+ display: flex !important;
+ flex-direction: row;
+}
+
+#spanWidth > div {
+ flex-wrap: nowrap;
+}
+
+.gradio-container-3-32-0 .prose :last-child {
+ margin-bottom: auto !important;
+}
+
+.date-section {
+ display: block;
+ width: 100%;
+ margin-bottom: 5px;
+ text-align: center;
+}
+
+.card-row {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: center;
+}
+
+#selected_tags {
+ text-align: center;
+}
+
+#pageBtn1, #pageBtn2 {
+ max-width: 120px !important;
+ min-width: 50px !important;
+}
+
+#pageSlider {
+ max-height: 44px;
+}
+
+#pageSlider > div:nth-child(2) {
+ max-height: 25px;
+}
+
+#pageBoxMobile {
+ display: flex;
+ justify-content: space-between;
+}
+
+#pageBox {
+ display: flex;
+ justify-content: center;
+ align-self: center;
+ max-width: 950px !important;
+}
+
+#pageBox > div:first-child {
+ align-items: end;
+}
+
+#refreshBtn, #refreshBtnL {
+ align-self: end;
+ height: 42px !important;
+ min-height: 42px !important;
+ max-height: 42px !important;
+ max-width: 42px !important;
+ min-width: 42px !important;
+ width: 42px !important;
+ padding: 0px !important;
+}
+
+#refreshBtn > img,
+#refreshBtnL > img {
+ margin: unset;
+}
+
+#searchRow {
+ max-width: 800px;
+ align-self: center;
+}
+
+#save_set_box {
+ display: flex;
+ justify-content: center;
+}
+
+#save_set_btn {
+ max-width: 220px !important;
+ min-width: 220px !important;
+ margin-bottom: -6px;
+ padding: 5px;
+ height: unset !important;
+ min-height: 35px !important;
+}
+
+#searchType > div:nth-child(3) {
+ justify-content: center;
+}
+
+/* Customized Accordion Filter */
+
+#filterBox,
+#filterBoxL {
+ align-self: end;
+ height: 42px;
+ max-width: 42px;
+ padding: unset !important;
+ margin: 0px !important;
+ display: flex;
+ justify-content: center;
+}
+
+#filterBox {
+ background: var(--button-secondary-background-fill);
+}
+
+#filterBoxL {
+ background: var(--input-background-fill);
+}
+
+#filterBox:hover,
+#filterBoxL:hover {
+ background: var(--button-secondary-background-fill-hover);
+}
+
+#filterBox .label-wrap.open,
+#filterBoxL .label-wrap.open{
+ border-bottom: unset !important;
+ background: var(--button-secondary-background-fill-hover);
+ border-radius: 7px !important;
+ height: 40px;
+}
+
+#filterBox > div:nth-child(3),
+#filterBoxL > div:nth-child(3) {
+ padding: 20px;
+ position: absolute;
+ border-radius: 10px;
+ width: 300px;
+ z-index: 100 !important;
+ margin-top: 55px;
+}
+
+#toggle4 > div:nth-child(3), #toggle4L > div:nth-child(3) {
+ box-shadow: var(--body-text-color) 0px 0px 2px 0px;
+ color: var(--body-text-color);
+ border-radius: 3px;
+ padding: 10px;
+ position: absolute;
+ z-index: 50;
+ margin-top: 30px;
+}
+
+#toggle4 > label > span, #toggle4L > label > span {
+ color: var(--neutral-400);
+}
+
+#filterBox > div:nth-child(3), #toggle4 > div:nth-child(3) {
+ background: var(--background-fill-primary);
+}
+
+#filterBoxL > div:nth-child(3), #toggle4L > div:nth-child(3) {
+ background: var(--neutral-950);
+}
+
+#filterBox > div:nth-child(2),
+#filterBoxL > div:nth-child(2) {
+ padding: 10px !important;
+}
+
+#filterBox .gradio-slider input[type="number"],
+#filterBoxL .gradio-slider input[type="number"] {
+ width: 70px !important;
+}
+
+#pageBox .gradio-slider input[type="number"] {
+ width: 5em !important;
+}
+
+#filterBox > div:nth-child(2) > span:nth-child(1),
+#filterBoxL > div:nth-child(2) > span:nth-child(1) {
+ display: none;
+}
+
+#filterBox > div:nth-child(2) > span:nth-child(2),
+#filterBoxL > div:nth-child(2) > span:nth-child(2) {
+ transform: rotate(0deg) !important;
+ transition: 0s !important;
+ display: inline-block;
+ width: 24px;
+ height: 24px;
+ font-size: 0;
+ color: transparent;
+ overflow: hidden;
+}
+
+#filterBox > div:nth-child(2) > span:nth-child(2)::before,
+#filterBoxL > div:nth-child(2) > span:nth-child(2)::before {
+ content: "";
+ display: block;
+ width: 100%;
+ height: 100%;
+}
+
+/* End of Custom Accordion */
+
+/* Custom settings Accordion */
+#settings-accordion {
+ border: 1px solid var(--block-border-color);
+ border-radius: 8px;
+ margin: 15px 0px 2px 0px;
+ padding: 8px 8px;
+}
+
+#accordionToggle {
+ width: 100%;
+ display: flex;
+ font-size: 12pt;
+ justify-content: space-between;
+}
+
+#selected_tags > div {
+ justify-content: center;
+ padding-top: 10px;
+ padding-bottom: 20px;
+}
+
+#civitai_preview_html .model-block {
+ box-shadow: 0px 0px 1px 3px #3339ff30;
+ border-radius: 10px;
+ padding: 1px 20px 10px;
+ margin-bottom: 20px;
+}
+
+#civitai_preview_html .model-block code {
+ white-space: pre-wrap;
+}
+
+#civitai_preview_html .model-block dl {
+ overflow-wrap: anywhere;
+}
+
+#civitai_preview_html .sampleimgs .model-block img,
+#civitai_preview_html .sampleimgs .model-block video {
+ padding-top: 1em;
+ max-width: 20em;
+ cursor: zoom-in;
+ transition: max-width 0.1s;
+}
+
+/* Preview Image zoom */
+#civitai_preview_html .zoom-radio {
+ display: none!important;
+}
+
+/* Style for when the image is clicked (radio button checked) */
+#civitai_preview_html .zoom-radio:checked + label > img,
+#civitai_preview_html .zoom-radio:checked + label > video {
+ max-width: 95vw;
+ max-height: 95vh;
+ padding-top: 0px;
+ cursor: zoom-out;
+ position: fixed;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+ z-index: 1000; /* Higher than the overlay */
+ pointer-events: none; /* Allow clicks to penetrate through to the overlay for resetting */
+}
+
+/* Overlay for resetting zoomed state */
+#civitai_preview_html .zoom-overlay {
+ display: none;
+ position: fixed;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ background: rgba(0, 0, 0, .5);
+ z-index: 999; /* Below the zoomed image */
+ cursor: zoom-out;
+}
+
+#civitai_preview_html .zoom-radio:checked + label + .zoom-overlay {
+ display: block;
+ pointer-events: all; /* Capture click events when displayed */
+}
+
+#civitai_preview_html .zoom-img-container {
+ min-width: 20em;
+}
+
+#civitai_preview_html .model-uploader {
+ border-bottom: 1px solid;
+ padding-bottom: 10px;
+ }
+
+#civitai_preview_html .model-description {
+ border-top: 1px solid;
+ padding-bottom: 10px;
+ margin-bottom: 10px;
+ }
+
+/*Avatar CSS mostly copied from CivitAI, but 48px instead of 32px*/
+#civitai_preview_html .avatar {
+ user-select: none;
+ overflow: hidden;
+ width: 48px;
+ height: 48px;
+ min-width: 48px;
+ border-radius: 48px;
+ text-decoration: none;
+ border: 0;
+ padding: 0;
+ background-color: rgba(0,0,0,0.31);
+ display: inline-block!important;
+ margin-left: 5px!important;
+ vertical-align: middle;
+}
+
+#civitai_preview_html .avatar img {
+ object-fit: cover;
+ width: 100%;
+ height: 100%;
+ display: block;
+ overflow-clip-margin: content-box;
+ overflow: clip;
+ border-style: none;
+}
+
+#civitai_preview_html dt {
+ font-size: medium;
+ color: #80a6c8!important;
+}
+
+#civitai_preview_html dd {
+ padding: 0px 0px 10px 10px;
+}
+
+/*CSS accordion for toggling extra metadata*/
+/*-----------------------------------------*/
+#civitai_preview_html .accordionCheckbox {
+ position: absolute;
+ opacity: 0;
+ z-index: -1;
+}
+
+#civitai_preview_html .tabs {
+ border-radius: 10px;
+ overflow: hidden;
+}
+
+#civitai_preview_html .tab {
+ width: 100%;
+ color: white;
+ overflow: hidden;
+ margin-left: -15px;
+}
+
+#civitai_preview_html .tab-label {
+ display: flex;
+ padding: 1em;
+ font-weight: bold;
+ cursor: pointer;
+ font-size: large;
+}
+
+/* Icon */
+#civitai_preview_html .tab-label::before {
+ content: "❯";
+ width: 1em;
+ height: 1em;
+ text-align: center;
+ transition: all 0.3s;
+}
+
+#civitai_preview_html .accordionCheckbox:checked + .tab-label::before {
+ transform: rotate(90deg);
+}
+
+#civitai_preview_html .tab-content {
+ max-height: 0;
+ padding: 0 1em;
+ transition: all 0.3s;
+}
+
+#civitai_preview_html .tab-close {
+ display: flex;
+ justify-content: flex-end;
+ padding: 1em;
+ font-size: 0.75em;
+ cursor: pointer;
+}
+
+#civitai_preview_html .accordionCheckbox:checked ~ .tab-content {
+ max-height: 100vh;
+ padding: 1em;
+}
+/*-----------------------------------------*/
+/*End CSS accordion for toggling extra metadata*/
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/.eslintrc.js b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/.eslintrc.js
new file mode 100644
index 0000000000000000000000000000000000000000..d099f97cbe47fda95d552d923977c64da1128add
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/.eslintrc.js
@@ -0,0 +1,19 @@
+module.exports = {
+ env: {
+ browser: true,
+ es2021: true,
+ },
+ extends: ["airbnb-base", "prettier"],
+ plugins: ["prettier"],
+ rules: {
+ "class-methods-use-this": "off",
+ "max-classes-per-file": "off",
+ "no-console": "off",
+ "no-param-reassign": "off",
+ "prettier/prettier": "error",
+ curly: ["error", "all"],
+ },
+ parserOptions: {
+ ecmaVersion: "latest",
+ },
+};
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/.github/CONTRIBUTING.md b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/.github/CONTRIBUTING.md
new file mode 100644
index 0000000000000000000000000000000000000000..1ced92b72dff09c348f5a8d673f03c37a2736c2a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/.github/CONTRIBUTING.md
@@ -0,0 +1,130 @@
+# GitHub Etiquette
+borrowed from [Open source etiquette](https://github.com/kossnocorp/opensource.how)
+
+## Don't be mean!
+
+Be nice!
+
+## Don't be bossy!
+
+ It takes just a few seconds to type "Any updates on this?" but it takes much
+ more time and energy to write a report back to you. First of all, you're not
+ maintainers' boss, and they owe you nothing, not to mention a report.
+
+ These minutes could have been spent on something meaningful, so you not only
+ steal time from the maintainer, but also the whole community.
+
+ Don't write like a boss: "Why this isn't merged?" "What's the ETA?" "It blocks
+ us!" "What are the blockers?".
+
+## Don't demand!
+
+ Never demand anything from maintainers. Always keep in mind that maintainers'
+ work is an act of goodwill — even labor backed by the community rarely pays
+ more than minimum wage, so communicate accordingly.
+
+ If you need a piece of information or help, say it politely. If you want to
+ have something done, never push.
+
+ First of all, you could have different priorities. You and your colleagues
+ might be aligned on the same goal, but maintainers can have a different focus.
+ Secondly, you might have a different perspective on the problem. Be ready to
+ accept a rejection of your proposal, feature, or bug report. Yes, sometimes,
+ bugs are features!
+
+## Don't be noisy!
+
+ Comments like "I also have this error" and "+1" are never helpful. It's
+ especially tempting to type such comment when it's a critical issue, but that
+ adds additional pressure and distraction.
+
+ If you want the get the attention of the maintainer, at least contribute
+ something. If the issue lacks stack trace or reproductions steps, add it.
+ Don't feel capable of opening a PR? Create a minimal repo with the demo of the
+ error.
+
+## Don't rush!
+
+ Take your time before reporting a bug or asking a question. First, make sure
+ you're not missing anything. Read the docs, Google the problem, search the
+ issues, double-check, and only then reach for help.
+
+ When you do reach for help, make sure that you provide as much information as
+ possible. Proactively present library versions, code example, reproduction
+ steps, etc. Describe the problem in detail. Don't wait for the maintainers to
+ ask you for that. Provide or at least offer to provide a minimal reproducible
+ example. This way, you'll minimize the effort that they have to put to help
+ you, which would maximize your chances to prompt response.
+
+ It's easy for you to assume that all they need is a short description of the
+ problem as the maintainers know their thing the best and provide additional
+ information only when they ask you. But in that's just a time steal and the
+ best way to get rightfully ignored.
+
+## Don't be emotional!
+
+ When the deadline is approaching and you still have a lot to do, a bug or
+ unexpected behavior in the code you don't control is annoyance at least. Never
+ show it!
+
+ The maintainer has a different perspective and might not be aware of the
+ problem even if you feel like everything is broken. If you want to get help,
+ then be calm, objective, and patient.
+
+## Don't patronize!
+
+ Never assume that the maintainer is less experienced or knowledgeable or
+ straight stupid. That better approach, tool, or decision that you have in mind
+ might have been considered or even planned. They have full context and had
+ much more time than you to think everything through, so more likely, it's you
+ who's confused.
+
+ It's reasonable to think that the maintainer is an expert in the subject, and
+ you're not. Even if you find an objectively low-quality code, don't assume the
+ authors' experience or skills.
+
+ If you disagree with the direction, instead of arguing, it's better to
+ consider an alternative. Some prefer functional programming, some
+ object-oriented code, but that doesn't mean that latter or former are wrong.
+ The maintainer should be able to decide what trade-off to choose regardless of
+ your needs or views.
+
+## Don't forget to say thanks!
+
+ Simple words of gratitude and praises are often the sole motivator that makes
+ open-source authors keep going, so don't be shy and say it!
+
+ Do you want to see a pull-request merged, much-needed feature implemented and
+ long-awaiter release shipped? Instead of reminding how much work is on their
+ plate by asking "any news" or showing dissatisfaction (which only kills the
+ motivation), say how their work is essential. Tell how much you value them.
+ Tweet kind words about them and their project. Sometimes that's the best you
+ can do.
+
+## Don't cause drama!
+
+ Never post comments that might cause a drama or emotionally hurt maintainers.
+
+ You might be upset about maintainers intrusively asking for donations. You
+ might be frustrated by the lack of attention to your issue. You might be
+ dissatisfied with the quality of the project. You might know the better
+ alternative. You might think that's enough for you to post a comment demanding
+ to remove annoying ads or announce that you're moving to another solution. No,
+ it's not.
+
+ For you, that would be a simple message, but on another end, it might ruin the
+ day or strip out the motivation to continue. That's not the right way to treat
+ people that decided to give something for you for free, even if it's not good
+ enough.
+
+## Don't surprise!
+
+ If you plan to contribute great work to a project, communicate it first. Your
+ vision might differ from the maintainers' one, or it could collide with their
+ plans or ongoing work. The worst way you could help them is to create more
+ work.
+
+ If you get rejected, be understanding and not try to cause the feeling of
+ guilt. It's already hard for maintainers to say no, so don't make it harder.
+ Feel free to clarify your intention if you think they misunderstood you but
+ never start an argument.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/.github/ISSUE_TEMPLATE/bug_report.md b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/.github/ISSUE_TEMPLATE/bug_report.md
new file mode 100644
index 0000000000000000000000000000000000000000..5d7a6c100612df9eff18a07939d40eb34414bc3b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/.github/ISSUE_TEMPLATE/bug_report.md
@@ -0,0 +1,31 @@
+
+**Before opening a new issue**
+
+Make sure that you have had a look at the [troubleshooting section](https://github.com/adieyal/sd-dynamic-prompts#troubleshooting) of the project's README file.
+
+**Describe the bug**
+
+A clear and concise description of what the bug is.
+
+**To Reproduce**
+Steps to reproduce the behaviour, include the prompt you used if applicable:
+1. Go to '...'
+2. Click on '....'
+3. Scroll down to '....'
+4. See error
+
+Also mention which checkboxes have been set.
+
+**What version of the extension and dynamicprompts library do you have installed?**
+
+These can be found under the Need Help? accordion.
+
+**Are you using a local install or a colab?**
+
+If a colab, which one?
+
+**Expected behaviour**
+A clear and concise description of what you expected to happen.
+
+**Additional context**
+Add any other context about the problem here.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/.github/workflows/test.yml b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/.github/workflows/test.yml
new file mode 100644
index 0000000000000000000000000000000000000000..8dff4c57f5951d30eed04cb385cfdce63bda0755
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/.github/workflows/test.yml
@@ -0,0 +1,30 @@
+name: Test
+
+on:
+ push:
+ branches:
+ - main
+ pull_request:
+ branches:
+ - main
+
+jobs:
+ lint:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - uses: pre-commit/action@v3.0.0
+ test:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - name: Set up Python ${{ matrix.python-version }}
+ uses: actions/setup-python@v4
+ with:
+ python-version: "3.10"
+ cache: "pip"
+ - name: Install dependencies
+ run: |
+ python -m pip install pytest-cov
+ python install.py
+ - run: pytest --cov --cov-report=term-missing .
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/.gitignore b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..92c996b32e3b359e88cbf7d2248f9908fa420a1f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/.gitignore
@@ -0,0 +1,7 @@
+*.pyc
+.coverage
+.env
+.vscode
+\.*.sw*
+node_modules
+wildcards
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/.pre-commit-config.yaml b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/.pre-commit-config.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..1f961c539f6c129a580ff150912ae8806d0111ec
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/.pre-commit-config.yaml
@@ -0,0 +1,20 @@
+repos:
+ - repo: https://github.com/charliermarsh/ruff-pre-commit
+ rev: v0.0.259
+ hooks:
+ - id: ruff
+ args:
+ - --fix
+ - repo: https://github.com/pre-commit/pre-commit-hooks
+ rev: v4.4.0
+ hooks:
+ - id: end-of-file-fixer
+ exclude: ^collections/.*
+ - id: trailing-whitespace
+ exclude: ^collections/.*
+ - repo: https://github.com/psf/black
+ rev: 23.1.0
+ hooks:
+ - id: black
+ args:
+ - --quiet
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/LICENSE b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/LICENSE
new file mode 100644
index 0000000000000000000000000000000000000000..e1814833954812f465ce75181acee35953637d08
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2022 Adi Eyal
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/README.md b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..22fe395ebde78d83d7a595189d133cbde34b6283
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/README.md
@@ -0,0 +1,335 @@
+# Stable Diffusion Dynamic Prompts extension
+A custom extension for [AUTOMATIC1111/stable-diffusion-webui](https://github.com/AUTOMATIC1111/stable-diffusion-webui) that implements an expressive template language for random or combinatorial prompt generation along with features to support deep wildcard directory structures.
+
+Looking for ComfyUI nodes? Find them [here](https://github.com/adieyal/comfyui-dynamicprompts).
+
+
+
+
+
+
+
+
+
+## Table of Contents
+
+ * [Basic Usage](#basic-usage)
+ * [Online resources](#online-resources)
+ * [Installation](#installation)
+ * [Configuration](#configuration)
+ * [Troubleshooting](#troubleshooting)
+ * [Compatible Scripts](#compatible-scripts)
+ * [Template syntax](#template-syntax)
+ * [Fuzzy Glob/recursive wildcard file/directory matching](#fuzzy-globrecursive-wildcard-filedirectory-matching)
+ * [Combinatorial Generation](#combinatorial-generation)
+ * [Combinatorial Batches](#combinatorial-batches)
+ * [Increasing the maximum number of generations](#increasing-the-maximum-number-of-generations)
+ * [Fixed seed](#fixed-seed)
+ * [Magic Prompt](#magic-prompt)
+ * [Other models](#other-models)
+ * [I'm feeling lucky](#im-feeling-lucky)
+ * [Attention grabber](#attention-grabber)
+ * [Write prompts to file](#write-prompts-to-file)
+ * [Jinja2 templates](#jinja2-templates)
+ * [WILDCARD_DIR](#wildcard_dir)
+ * [Collections](#collections)
+ * [Dynamic Prompts and Random Seeds](#dynamic-prompts-and-random-seeds)
+ * [Without Dynamic Prompts Enabled](#without-dynamic-prompts-enabled)
+ * [With Dynamic Prompts Enabled in Random/Standard Mode](#with-dynamic-prompts-enabled-in-randomstandard-mode)
+ * [Variation Seeds with Dynamic Prompts](#variation-seeds-with-dynamic-prompts)
+ * [Combinatorial Mode with Variation Strength > 0](#combinatorial-mode-with-variation-strength--0)
+
+
+## Basic Usage
+Using this script, the prompt:
+
+ A {house|apartment|lodge|cottage} in {summer|winter|autumn|spring} by {2$$artist1|artist2|artist3}
+
+Will produce any of the following prompts:
+
+- A **house** in **summer** by **artist1**, **artist2**
+- A **lodge** in **autumn** by **artist3**, **artist1**
+- A **cottage** in **winter** by **artist2**, **artist3**
+- ...
+
+This is especially useful if you are searching for interesting combinations of artists and styles.
+
+You can also pick a random string from a file. Assuming you have the file seasons.txt in WILDCARD_DIR (see below), then:
+
+ __seasons__ is coming
+
+Might generate the following:
+
+- Winter is coming
+- Spring is coming
+- ...
+
+You can also use the same wildcard twice
+
+ I love __seasons__ better than __seasons__
+
+- I love Winter better than Summer
+- I love Spring better than Spring
+
+More complete documentation can be found [here](docs/SYNTAX.md).
+Prefer a tutorial? Click here
+Need a wildcard library? We've got you [covered](https://github.com/adieyal/sd-dynamic-prompts#collections).
+
+## Online resources
+You can find a list of tutorials and wildcard packs [here](docs/resources.md)
+
+## Installation
+
+The extension can be installed directly from within the **Extensions** tab within the Webui
+
+
+You can also install it manually by running the following command from within the webui directory:
+
+ git clone https://github.com/adieyal/sd-dynamic-prompting/ extensions/dynamic-prompts
+
+## Configuration
+You can find various settings to change Dynamic Prompt's behaviour in the Settings tab in the Dynamic Prompts section.
+
+### Changing syntax
+In case of a syntax clash with another extension, Dynamic Prompts allows you to change the definition of variant start and variant end. By default these are set to `{` and `}` respectively. , e.g. `{red|green|blue}`. In the settings tab, you can change these two any string, e.g. `` or even `::red|green|blue::`.
+
+
+
+By default, wildcards start with `__`(double underscore) and end with `__`. You can change this in the settings tab under wildcard wrap.
+
+
+### Wildcard settings
+
+
+Dynamic Prompts automatically de-duplicates and sorts wildcard files before using them. If you would prefer to disable this functionality, you can uncheck the checkboxes in the settings tab.
+
+
+
+Checking the "shuffle wildcards" checkbox will randomize the order of the wildcards, ensuring that running the combinatorial model will produce different images on different runs.
+
+
+## Troubleshooting
+If you encounter an issue with Dynamic Prompts, follow these steps to resolve the problem:
+
+1. Check that you have installed the latest version of both the Dynamic Prompts extension and library. To check the installed versions, open the **Need Help? accordion** in the Dynamic Prompts section of txt2image. You can find the latest version number of the extension [here](https://github.com/adieyal/sd-dynamic-prompts/blob/main/docs/CHANGELOG.md) and the library [here](https://github.com/adieyal/dynamicprompts/blob/main/CHANGELOG.md?plain=1).
+
+2. If the versions do not match, update the extension in the extensions tab and restart the webui. The extension should automatically update the library.
+
+3. If the above step does not work, you might need to manually update the library using the following command:
+
+```shell
+python -m pip install -U dynamicprompts[attentiongrabber,magicprompt]
+```
+
+4. Restart the webui and check. If the webui uses a different python binary, find the correct path to the python binary and run:
+
+```shell
+/path/to/python/binary/python -m pip install -U dynamicprompts[attentiongrabber,magicprompt]
+```
+
+5. If the Wildcard UI does not show, it could be due to an outdated library version. Check for errors in the terminal and update the library as described in step 3.
+
+6. If you get an error message saying "No values found for wildcard some/wildcard", ensure that the file wildcard.txt is in extensions/sd-dynamic-prompts/wildcards/some/. The full path is required, as relative paths are not currently supported.
+
+7. If the issue persists, search for solutions in the [issues section](https://github.com/adieyal/sd-dynamic-prompts/issues?q=is%3Aissue) on GitHub and the [discussion forum](https://github.com/adieyal/sd-dynamic-prompts/discussions). If you cannot find a solution, create a new issue and give it a descriptive name, such as "Wildcard values are being ignored in prompt templates". Provide the necessary context, including the versions of the Dynamic Prompts extension and library, and mention the operating system or colab being used. If there is an error in the terminal, copy and paste the entire text or take a screenshot.
+
+8. Finally, it is essential to test and apply any fixes we release. Your feedback is valuable, as an issue that works in our environment may not work in yours.
+
+## Compatible Scripts
+Dynamic Prompts works particularly well with X/Y Plot - setting Dynamic Prompts to combinatorial mode while using X/Y Plot, lets you exhaustively test prompt and paramter variations simultaneously.
+
+
+## Template syntax
+Documentation can be found [here](docs/SYNTAX.md)
+
+### Fuzzy Glob/recursive wildcard file/directory matching
+In addition to standard wildcard tokens such as `__times__` -> `times.txt`, you can also use globbing to match against multiple files at once.
+For instance:
+
+`__colors*__` will match any of the following:
+- WILDCARD_DIR/colors.txt
+- WILDCARD_DIR/colors1.txt
+- WILDCARD_DIR/nested/folder/colors1.txt
+
+`__light/**/*__` will match:
+- WILDCARD_DIR/nested/folder/light/a.txt
+- WILDCARD_DIR/nested/folder/light/b.txt
+
+but won't match
+- WILDCARD_DIR/nested/folder/dark/a.txt
+- WILDCARD_DIR/a.txt
+
+You can also used character ranges `[0-9]` and `[a-z]` and single wildcard characters `?`. For more examples see [this article](http://pymotw.com/2/glob/).
+
+## Combinatorial Generation
+Instead of generating random prompts from a template, combinatorial generation produced every possible prompt from the given string. For example:
+`I {love|hate} {New York|Chicago} in {June|July|August}`
+
+will produce:
+- I love New York in June
+- I love New York in July
+- I love New York in August
+- I love Chicago in June
+- I love Chicago in July
+- I love Chicago in August
+- I hate New York in June
+- I hate New York in July
+- I hate New York in August
+- I hate Chicago in June
+- I hate Chicago in July
+- I hate Chicago in August
+
+If a `__wildcard__` is provided, then a new prompt will be produced for every value in the wildcard file. For example:
+`My favourite season is __seasons__`
+
+will produce:
+- My favourite season is Summer
+- My favourite season is August
+- My favourite season is Winter
+- My favourite season is Sprint
+
+
+
+You also arbitrarily nest combinations inside wildcards and wildcards in combinations.
+
+Combinatorial generation can be useful if you want to create an image for every artist in a file. It can be enabled by checking the __Combinatorial generation__ checkbox in the ui. In order to prevent accidentially producing thousands of images, you can limit the total number of prompts generated using the **Max Generations** slider. A value of 0 (the default) will not set any limit.
+
+### Combinatorial Batches
+The combinatorial batches slider lets you repeat the same set of prompts a number of times with different seeds. The default number of batches is 1.
+
+### Increasing the maximum number of generations
+By default, the __Batch count__ silder of automatic1111 has a maximum value of 100. This can limit the maximum number of generations when using combinatorial generation. You can change the maximum value of this slider by editing ui-config.json and change:
+
+ txt2img/Batch count/maximum": 100
+
+to something larger like:
+
+ txt2img/Batch count/maximum": 1000
+
+## Fixed seed
+Select this if you want to use the same seed for every generated image. If there are no wildcards then all the images will be identical. It is useful if you want to test the effect of a particular modifier. For example:
+
+ A beautiful day at the beach __medium/photography/filmtypes__
+
+That way you can isolate the effect of each film type on a particular scene. Here are some of the results:
+
+
+## Magic Prompt
+Use one of a number of prompt generation models to spice up your prompt.
+
+Using [Gustavosta](https://huggingface.co/Gustavosta/MagicPrompt-Stable-Diffusion)'s MagicPrompt model, Trained on 80,000 prompts from [Lexica.art](lexica.art), it can help give you interesting new prompts on a given subject. Here are some automatically generated variations for "dogs playing football":
+
+> dogs playing football, in the streets of a japanese town at night, with people watching in wonder, in the style of studio ghibli and makoto shinkai, highly detailed digital art, trending on artstation
+
+> dogs playing football, in the background is a nuclear explosion. photorealism. hq. hyper. realistic. 4 k. award winning.
+
+> dogs playing football, in the background is a nuclear explosion. photorealistic. realism. 4 k wideshot. cinematic. unreal engine. artgerm. marc simonetti. jc leyendecker
+
+This is compatible with the wildcard syntax described above.
+
+### Other models
+* [daspartho/prompt-extend (~500mb)](https://huggingface.co/daspartho/prompt-extend)
+* [succinctly/text2image-prompt-generator (~600mb)](https://huggingface.co/succinctly/text2image-prompt-generator) - Trained on Midjourney prompts
+* [microsoft/Promptist (~500mb)](https://huggingface.co/microsoft/Promptist) - Read the paper [here](https://arxiv.org/abs/2212.09611)
+* [AUTOMATIC/promptgen-lexart (~300mb)](https://huggingface.co/AUTOMATIC/promptgen-lexart) - Finetuned using 134,819 prompts from lexica.art
+* [AUTOMATIC/promptgen-majinai-safe (~300mb)](https://huggingface.co/AUTOMATIC/promptgen-majinai-safe) - 1,654 prompts from majinai.art
+* [AUTOMATIC/promptgen-majinai-unsafe (~300mb)](https://huggingface.co/AUTOMATIC/promptgen-majinai-unsafe) - 825 prompts from majinai.art (NSFW)
+* [Gustavosta/MagicPrompt-Dalle](https://huggingface.co/Gustavosta/MagicPrompt-Dalle)
+* [kmewhort/stable-diffusion-prompt-bolster (~500mb)](https://huggingface.co/kmewhort/stable-diffusion-prompt-bolster),
+* [Ar4ikov/gpt2-650k-stable-diffusion-prompt-generator (~500mb)](Ar4ikov/gpt2-650k-stable-diffusion-prompt-generator),
+* [Ar4ikov/gpt2-medium-650k-stable-diffusion-prompt-generator (~1.4gb)](https://huggingface.co/Ar4ikov/gpt2-medium-650k-stable-diffusion-prompt-generator),
+* [crumb/bloom-560m-RLHF-SD2-prompter-aesthetic (~1.1gb)](https://huggingface.co/crumb/bloom-560m-RLHF-SD2-prompter-aesthetic),
+* [Meli/GPT2-Prompt (~500mb)](https://huggingface.co/Meli/GPT2-Prompt),
+* [DrishtiSharma/StableDiffusion-Prompt-Generator-GPT-Neo-125M (~550mb)](https://huggingface.co/DrishtiSharma/StableDiffusion-Prompt-Generator-GPT-Neo-125M)
+
+The first time you use a model, it is downloaded. It is approximately 500mb and so will take some time depending on how fast your connection is. It will also take a few seconds on first activation as the model is loaded into memory. Note, if you're low in VRAM, you might get a Cuda error. My GPU uses less than 8GB but YMMV.
+
+
+
+
+You can control the maximum prompt length with the __Max magic prompt length__ slider. __Magic prompt creativity__ can adjust the generated prompt but you will need to experiment with this setting.
+
+Use the __Magic prompt blocklist regex__ to filter out keywords. For example, if you want to avoid prompts containing Greg Rutkowski, add his name to this field.
+
+If you are generating many prompts using Magic Prompt, then increasing the __Magic Prompt batch size__ can improve significantly improve prompt generation speed. This may only be noticeable if you are not generating images as well since image generation is much slower than prompt generation.
+
+
+## I'm feeling lucky
+Use the [lexica.art](https://lexica.art) API to create random prompts. Useful if you're looking for inspiration, or are simply too lazy to think of your own prompts. When this option is selected, the prompt in the main prompt box is used as a search string. For example, prompt "Mech warrior" might return:
+
+* A large robot stone statue in the middle of a forest by Greg Rutkowski, Sung Choi, Mitchell Mohrhauser, Maciej Kuciara, Johnson Ting, Maxim Verehin, Peter Konig, final fantasy , 8k photorealistic, cinematic lighting, HD, high details, atmospheric,
+* a beautiful portrait painting of a ( ( ( cyberpunk ) ) ) armor by simon stalenhag and pascal blanche and alphonse mucha and nekro. in style of digital art. colorful comic, film noirs, symmetry, brush stroke, vibrating colors, hyper detailed. octane render. trending on artstation
+* symmetry!! portrait of a robot astronaut, floral! horizon zero dawn machine, intricate, elegant, highly detailed, digital painting, artstation, concept art, smooth, sharp focus, illustration, art by artgerm and greg rutkowski and alphonse mucha, 8 k
+
+
+
+Leaving the prompt box blank returns a list of completely randomly chosen prompts.
+
+## Attention grabber
+This option randomly selects a keyword in your prompt and adds a random amount of emphasis. Below is an example of how this affects the prompt:
+
+ a portrait an anthropomorphic panda mage casting a spell, wearing mage robes, landscape in background, cute, dnd character art portrait, by jason felix and peter mohrbacher, cinematic lighting
+
+
+
+Tick the __Fixed seed__ checkbox under __Advanced options__ to see how emphasis changes your image without changing seed.
+
+
+## Write prompts to file
+Check the write prompts to file checkbox in order to create a file with all generated prompts. The generated file is a slugified version of the prompt and can be found in the same directory as the generated images, e.g. outputs/txt2img-images
+
+
+## Jinja2 templates
+[Jinja2 templates](https://jinja.palletsprojects.com/en/3.1.x/templates/) is an experimental feature that enables you to define prompts imperatively. This is an advanced feature and is only recommended for users who are comfortable writing scripts.
+
+To enable, open the advanced accordion and select __Enable Jinja2 templates__.
+
+
+You can read about them in more detail here
+
+## WILDCARD_DIR
+The extension looks for wildcard files in WILDCARD_DIR. The default location is /path/to/stable-diffusion-webui/extensions/sd-dynamic-prompts/wildcards. It can also be manually defined in the main webui config.json under wildcard_dir. When in doubt, the help text for the extension in the webui lists the full path to WILDCARD_DIR
+
+## Collections
+The collections directory contains modifier libraries that you can use as is or to bootstrap your own. To get started, either use the Wildcard Manager tab to copy a one or more collections to your wildcards folder, or you can manually copy the files across. Three collections are bundled with the dynamic prompts extension.
+
+- [jumbo](https://github.com/adieyal/sd-dynamic-prompts/tree/main/collections/jumbo)
+- [parrotzone](https://github.com/adieyal/sd-dynamic-prompts/tree/main/collections/parrotzone)
+- [devilkkw](https://github.com/adieyal/sd-dynamic-prompts/tree/main/collections/devilkkw)
+
+Jumbo is a very large collection of wildcards across many categories including aesthetics, appearance, artists, medium, style, and time. It is a work in progress, but aims to provide good coverage of various modifier categories.
+
+Parrotzone is a far smaller and more manageable collection sourced from https://proximacentaurib.notion.site/e28a4f8d97724f14a784a538b8589e7d?v=42948fd8f45c4d47a0edfc4b78937474.
+
+Devilkkw focuses more on character building, clothes, gestures, food, etc
+
+If you're using a Unix/Linux O/S, you can easily create a symlink to the relevant collection rather than copying it across if you don't plan to alter it. E.g.
+
+ ln -sr collections/parrotzone wildcards/
+
+You can also download additional extensions by running `python _tools/download_collections.py` from within the extension's root directory, i.e. `extensions/sd-dynamic-prompts/`
+
+## Dynamic Prompts and Random Seeds
+Random seeds play an important role in controlling the randomness of the generated outputs. Let's discuss how Dynamic Prompts works with random seeds in different scenarios.
+
+### Without Dynamic Prompts Enabled
+
+1. If the seed is set to -1: A random seed is picked. This seed is used to generate the first image, then the next image is created using seed + 1, and this pattern continues for subsequent images.
+2. If the seed is set to a specific number greater than -1: The process is similar to the one above, but starts with the user-specified seed.
+3. If the variation seed is defined, but variation strength is zero: The process remains the same as in the previous two points.
+4. If the variation seed is set to a number greater than 0: Every image is generated using the same initial seed (randomly selected or set by the user). The variation seed is either random (if set to -1) or the value chosen by the user. The first image is generated with the variation seed, the next with variation seed + 1, and so on.
+
+### Using With Dynamic Prompts Enabled in Random/Standard Mode:
+
+1. If the seed is set to -1: The process is similar to the first point in the previous section. However, the prompt is also selected using the same seed (if the random prompt generator is used).
+2. If the seed is set to a number greater than -1: The process is similar to the second point in the previous section. However, the difference is that a random prompt is also generated using the chosen seed (if the prompt generator is used).
+3. If the fixed seed checkbox is checked: The same seed is used for all images and prompts. This means the same image is generated repeatedly (this is useful for combinatorial generation).
+4. If both the fixed seed and unlink seed from prompt checkboxes are checked: A random seed is used for the prompt, but the same seed is used for all images. This setting can be useful if you want to see how different prompts affect the generation of the same image.
+
+### Variation Seeds with Dynamic Prompts
+
+1. Variation strength set to 0: Variations are ignored.
+2. Variation set to a number > 0: A variation seed is assigned to every image, incrementing by one each time. However, only 1 prompt is generated since you are looking for variations of the same image.
+
+### Combinatorial Mode with Variation Strength > 0
+In this case, it only generates the first image for you, which is probably not what you want. To get the desired results, you might need to adjust the settings or use a different mode.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/_tools/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/_tools/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/_tools/download_collections.py b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/_tools/download_collections.py
new file mode 100644
index 0000000000000000000000000000000000000000..d1b0a74c28613266bc4a60f786d09ebd3e2263dc
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/_tools/download_collections.py
@@ -0,0 +1,212 @@
+from __future__ import annotations
+
+import argparse
+import json
+import os
+import re
+import shutil
+import tempfile
+import urllib.request
+import zipfile
+from pathlib import Path
+
+
+def load_repositories(filename: str = "repositories.json") -> list[dict[str, str]]:
+ tools_dir = get_tools_dir()
+ repsitories_path = tools_dir / filename
+
+ with open(repsitories_path) as f:
+ return json.load(f)
+
+
+def get_wildcard_dir() -> Path:
+ current_path = Path.cwd()
+ if current_path.name == "_tools":
+ current_path = current_path.parent
+
+ collections_dir = current_path / "wildcards"
+
+ if not collections_dir.exists():
+ print(
+ "Could not find the collections directory. You should run this from the root of the repository",
+ )
+ exit(1)
+
+ return collections_dir
+
+
+def get_tools_dir() -> Path:
+ current_path = Path.cwd()
+ if current_path.name == "_tools":
+ current_path = current_path.parent
+
+ tools_dir = current_path / "_tools"
+
+ if not tools_dir.exists():
+ print(
+ "Could not find the _tools directory. You should run this from the root of the repository",
+ )
+ exit(1)
+
+ return tools_dir
+
+
+def download_pantry(url: str, target_subdirectory: Path, filename: str):
+ filepath = target_subdirectory / filename
+
+ try:
+ with urllib.request.urlopen(url) as response:
+ with open(filepath, "wb") as f:
+ shutil.copyfileobj(response, f)
+ print(f"Successfully downloaded {filename}")
+ except urllib.error.HTTPError as e:
+ print(f"Error downloading {filename}: {e.code} {e.reason}")
+
+
+def download_from_zip(url: str, destination_path: Path, root_directory: str = ""):
+ with urllib.request.urlopen(url) as response:
+ with tempfile.NamedTemporaryFile(delete=False) as tmp_file:
+ shutil.copyfileobj(response, tmp_file)
+ tmp_file_path = tmp_file.name
+
+ with tempfile.TemporaryDirectory() as tmp_dir:
+ with zipfile.ZipFile(tmp_file_path, "r") as zip_ref:
+ zip_ref.extractall(tmp_dir)
+
+ found_subdirectory = False
+ for root, dirs, _ in os.walk(tmp_dir):
+ if root_directory in dirs:
+ found_subdirectory = True
+ source_dir = os.path.join(root, root_directory)
+ if destination_path.exists():
+ overwrite = input(
+ f"The directory {destination_path} already exists. Overwrite? (y/n) ",
+ )
+ if overwrite.strip().lower() != "y":
+ print("Skipping directory copy.")
+ return
+ else:
+ shutil.rmtree(destination_path)
+ shutil.copytree(source_dir, destination_path)
+ print(f"Copied {source_dir} to {destination_path}")
+ break
+
+ if not found_subdirectory:
+ print(
+ f"Could not find the '{root_directory}' root_directory in the downloaded archive.",
+ )
+
+ os.remove(tmp_file_path)
+
+
+def download_from_web(url: str, destination_path: str):
+ """
+ Currently limited to downloading pages that look like: https://rentry.org/NAIwildcards/raw
+ """
+
+ def download_text_file(url):
+ with urllib.request.urlopen(url) as response:
+ content = response.read().decode("utf-8")
+ return content
+
+ def extract_raw_urls(content):
+ url_descriptions = []
+ urls = re.findall(
+ r"(\w[\w\s-]*)\s-\s(https?://(?:pastebin\.com|rentry\.org)/\S+)",
+ content,
+ )
+ for description, url in urls:
+ if "pastebin.com" in url:
+ raw_url = url.replace("pastebin.com/", "pastebin.com/raw/")
+ else:
+ raw_url = url.rstrip("/") + "/raw"
+
+ file_name = description.strip().replace(" ", "_").lower() + ".txt"
+ url_descriptions.append((file_name, raw_url))
+
+ return url_descriptions
+
+ def download_and_save_files(url_descriptions, save_directory):
+ for file_name, raw_url in url_descriptions:
+ with urllib.request.urlopen(raw_url) as response:
+ file_path = destination_path / file_name
+ with open(file_path, "wb") as file:
+ shutil.copyfileobj(response, file)
+ print(f"Downloaded and saved {file_name}")
+
+ content = download_text_file(url)
+ raw_urls = extract_raw_urls(content)
+ download_and_save_files(raw_urls, destination_path)
+
+
+def show_menu(repositories: list[dict[str, str]]) -> tuple[str, str, str]:
+ repositories = [list(row.values()) for row in repositories]
+ for index, (name, _, _, _) in enumerate(
+ repositories,
+ ):
+ print(f"{index + 1}. {name}")
+ while True:
+ try:
+ choice = int(input("Select a collection to download: "))
+ if 1 <= choice <= len(repositories):
+ return (
+ repositories[choice - 1][1], # url
+ repositories[choice - 1][2], # root_directory
+ repositories[choice - 1][3], # target_subdirectory
+ )
+ else:
+ print("Invalid choice, please try again.")
+ except ValueError:
+ print("Invalid choice, please try again.")
+
+
+def download_and_copy(url: str, root_directory, destination_path: Path):
+ if url.endswith((".json", ".yaml")):
+ filename = url.split("/")[-1]
+ download_pantry(url, destination_path, filename)
+ elif url.endswith(".zip"):
+ download_from_zip(url, destination_path, root_directory)
+ else:
+ try:
+ download_from_web(url, destination_path)
+ except Exception as e:
+ print(f"Error downloading file: {url}\n{e}")
+
+
+def parse_args():
+ parser = argparse.ArgumentParser(
+ description="Download collections from a given list.",
+ )
+ parser.add_argument(
+ "--name",
+ help="Specify the collection name to bypass the menu.",
+ type=str,
+ )
+ return parser.parse_args()
+
+
+def download_by_name(collection_name: str):
+ repositories = load_repositories()
+ repo = next(
+ (repo for repo in repositories if repo["name"] == collection_name),
+ None,
+ )
+ if repo:
+ return repo["url"], repo["root_directory"], repo["target_subdirectory"]
+ else:
+ print(f"Collection '{collection_name}' not found.")
+ exit(1)
+
+
+if __name__ == "__main__":
+ repositories = load_repositories()
+ args = parse_args()
+ collection_name = args.name
+
+ if collection_name:
+ url, root_directory, target_subdirectory = download_by_name(collection_name)
+ else:
+ url, root_directory, target_subdirectory = show_menu(repositories)
+
+ destination_path = get_wildcard_dir() / target_subdirectory
+ download_and_copy(url, root_directory, destination_path)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/_tools/import_noodle_soup_prompts.py b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/_tools/import_noodle_soup_prompts.py
new file mode 100644
index 0000000000000000000000000000000000000000..6313898897da255c1c5f5a71a07ba655e8ea32e3
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/_tools/import_noodle_soup_prompts.py
@@ -0,0 +1,5 @@
+from download_collections import download_and_copy, download_by_name
+
+if __name__ == "__main__":
+ url, subdirectory, target_subdirectory = download_by_name("Noodlesoup Prompts")
+ download_and_copy(url, subdirectory, target_subdirectory)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/_tools/repositories.json b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/_tools/repositories.json
new file mode 100644
index 0000000000000000000000000000000000000000..0d9950d8a65f7f0873862d69ccbded1c25d35331
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/_tools/repositories.json
@@ -0,0 +1,26 @@
+[
+ {
+ "name": "Noodlesoup Prompts",
+ "url": "https://raw.githubusercontent.com/WASasquatch/noodle-soup-prompts/main/nsp_pantry.json",
+ "root_directory": "",
+ "target_subdirectory": ""
+ },
+ {
+ "name": "MJ Reference Wildcards",
+ "url": "https://github.com/Mossbraker/mj_reference_wildcards/archive/refs/heads/main.zip",
+ "root_directory": "v4",
+ "target_subdirectory": "mj_reference_wildcards"
+ },
+ {
+ "name": "DevilKKW's Wildcards",
+ "url": "https://github.com/devilkkw/StableDiffusion/archive/refs/heads/main.zip",
+ "root_directory": "Wildcards",
+ "target_subdirectory": "devilkkw"
+ },
+ {
+ "name": "NAIwildcards",
+ "url": "https://rentry.org/NAIwildcards/raw",
+ "root_directory": "",
+ "target_subdirectory": "nai"
+ }
+]
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/baroque/baroque.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/baroque/baroque.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6c2cb0c9fbc8dee135e2f8b18a5e8dd49a335ecd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/baroque/baroque.txt
@@ -0,0 +1,11 @@
+__artists/European Art/baroque/italian_baroque_painters__
+__artists/European Art/baroque/french_baroque_painters__
+__artists/European Art/baroque/british_baroque_painters__
+__artists/European Art/baroque/czech_baroque_painters__
+__artists/European Art/baroque/danish_baroque_painters__
+__artists/European Art/baroque/german_baroque_painters__
+__artists/European Art/baroque/greek_baroque_painters__
+__artists/European Art/baroque/netherlandish_baroque_painters__
+__artists/European Art/baroque/flemish_baroque_painters__
+__artists/European Art/baroque/quadratura__
+__artists/European Art/baroque/spanish_baroque_painters__
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/baroque/bentvueghels.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/baroque/bentvueghels.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6e6bf4ffa174ba65ed84da60a7d4bf6fdae7b982
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/baroque/bentvueghels.txt
@@ -0,0 +1,114 @@
+Abraham Brueghel
+Abraham Genoels
+Adriaen Foly
+Adriaen Honich
+Adriaen van der Cabel
+Albertus Clouwet
+Albert van Spiers
+Andries Both
+Anthoni Schoonjans
+Augustinus Terwesten
+Bartholomeus Appelman
+Bartholomeus Breenbergh
+Bernard de Bailliu
+Bonaventura van Overbeek
+Carel de Vogelaer
+Caspar van Wittel
+Christian Reder
+Cornelis Bloemaert
+Cornelis de Bruijn
+Cornelis Schut
+Cornelis van Poelenburgh
+Cornelis van Rijssen
+Cornelis van Slingeland
+Daniel Mijtens the Younger
+Daniel Seiter
+David Beck
+David de Coninck
+Dirck van Baburen
+Domenicus van Wijnen
+Ezaias Terwesten
+Franciscus de Neve (II)
+Francis van Bossuit
+Francoys Dancx
+Frans Beeldemaker
+Franz Ludwig Raufft
+Franz Werner von Tamm
+Gaspar de Witte
+Gerard van Kuijl
+Hans IV Jordaens
+Hendrick Mommers
+Hendrik Frans van Lint
+Herman van Swanevelt
+Hubertus Quellinus
+Ignatius Croon
+Isaac de Moucheron
+Jacob de Decker
+Jacob de Heusch
+Jacob Ferdinand Voet
+Jacob Leyssens
+Jacob Toorenvliet
+Jacobus de Baen
+Jacob van der Does
+Jacob van Staverden
+Jacques Blondeau
+Jacques Vaillant (painter)
+Jan Asselijn
+Jan Baptist Brueghel
+Jan Baptist Weenix
+Jan Boeckhorst
+Jan Dirksz Both
+Jan Erasmus Quellinus
+Jan Frans van Bloemen
+Jan Fyt
+Jan Linsen
+Jan Theunisz Blanckerhoff
+Jan van Bijlert
+Jan van Bunnik
+Jean Baptiste Assenede
+Jean Ducamps
+Joachim von Sandrart
+Johannes Glauber
+Johannes Gottlieb Glauber
+Johannes Jansz. van Bronckhorst
+Johann Liss
+Johann Wilhelm Baur
+Johan Teyler
+Johan Zierneels
+Karel Dujardin
+Karel Škréta
+Leonaert Bramer
+Luigi Primo
+Mattheus Terwesten
+Matthias Withoos
+Nicolaas Piemont
+Nicolaes Latombe
+Norbert van Bloemen
+Otto Marseus van Schrieck
+Paulus Bor
+Philipp Peter Roos
+Philips de Momper the Elder
+Pieter Anthonisz. van Groenewegen
+Pieter de Zeelander
+Pieter Fris
+Pieter Hofman
+Pieter Mulier II
+Pieter van Bloemen
+Pieter van der Hulst (IV)
+Pieter van Laer
+Pieter Verbrugghen the Younger
+Reinier van Persijn
+Robbert Duval (1639–1732)
+Samuel Dirksz van Hoogstraten
+Simon Ardé
+Theodoor Wilkens
+Theodor van der Schuer
+Thomas Mathisen
+Tyman Arentsz. Cracht
+Willem Doudijns
+Willem Gabron
+Willem van Aelst
+Willem van Bemmel
+Willem van Ingen
+Wouter Crabeth II
+Wybrand de Geest
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/baroque/british_baroque_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/baroque/british_baroque_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..257578141383140ebec8a1b34770e8ad2d72c461
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/baroque/british_baroque_painters.txt
@@ -0,0 +1,8 @@
+Alexander Cooper
+Cornelius Johnson
+Godfrey Kneller
+Jan Griffier
+Joan Carlile
+John Hayls
+Mary Beale
+Richard Gibson
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/baroque/czech_baroque_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/baroque/czech_baroque_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..563662e62246674076b465342ae8ce38a9f9c9a1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/baroque/czech_baroque_painters.txt
@@ -0,0 +1,5 @@
+Petr Brandl
+Jan Kryštof Liška
+Wenzel Lorenz Reiner
+Karel Škréta
+Anton Stevens
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/baroque/danish_baroque_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/baroque/danish_baroque_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e885cbd71e774be52ae91ca428683218e2cee692
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/baroque/danish_baroque_painters.txt
@@ -0,0 +1,12 @@
+Adriaen Foly
+Andreas Brünniche
+Andreas Møller
+Benoît Le Coffre
+Bernhard Keil
+Ebbe Ulfeldt
+Heinrich Jansen
+Jacques d'Agar
+Johan Jacob Bruun
+Jürgen Ovens
+Lambert van Haven
+Pieter Isaacsz
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/baroque/dutch_goldenage_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/baroque/dutch_goldenage_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..cc4386b15840653fba8a1986780318b88bd768fe
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/baroque/dutch_goldenage_painters.txt
@@ -0,0 +1,828 @@
+Aart Jansz Druyvesteyn
+Abraham Beerstraaten
+Abraham Begeyn
+Abraham Bloemaert
+Abraham Bosschaert
+Abraham Casembroot
+Abraham de Heusch
+Abraham de Verwer
+Abraham de Vries
+Abraham Diepraam
+Abraham Furnerius
+Abraham Hondius
+Abraham Lambertsz van den Tempel
+Abraham Mignon
+Abraham Staphorst
+Abraham Storck
+Abraham Susenier
+Abraham van Beijeren
+Abraham van Calraet
+Abraham van Cuylenborch
+Abraham van den Hecken
+Abraham van der Haagen
+Abraham van der Hoef
+Abraham van Diepenbeeck
+Abraham van Dijck
+Abraham Willaerts
+Abraham Wuchters
+Adam Colonia
+Adam de Colone
+Adam Pynacker
+Adam van Breen
+Adam Willaerts
+Adriaan Bloemaert
+Adriaan Gerritsz de Vrije
+Adriaen Backer
+Adriaen Coorte
+Adriaen Cornelisz Beeldemaker
+Adriaen Cornelisz van Linschoten
+Adriaen Hanneman
+Adriaen Hendriksz Verboom
+Adriaen Honich
+Adriaen Jansz Kraen
+Adriaen Oudendijck
+Adriaen van der Burch
+Adriaen van der Cabel
+Adriaen van der Spelt
+Adriaen van der Werff
+Adriaen van de Velde
+Adriaen van de Venne
+Adriaen van Eemont
+Adriaen van Gaesbeeck
+Adriaen van Nieulandt
+Adriaen van Ostade
+Adriaen Verdoel
+Adriana Spilberg
+Aelbert Cuyp
+Aert Anthoniszoon
+Aert de Gelder
+Aert Jansz Marienhof
+Aert Pietersz
+Aert van der Neer
+Aert van Waes
+Albert Eckhout
+Albert Jansz. Klomp
+Albert Meijeringh
+Albert van Spiers
+Aleijda Wolfsen
+Alexander Westerhout
+Alida Withoos
+Allaert van Everdingen
+Ambrosius Bosschaert
+Ambrosius Bosschaert II
+Andries Beeckman
+Andries Both
+Andries Vaillant
+Anna Cornelia Holt
+Anna Maria van Schurman
+Anna Ruysch
+Anthonie Beerstraaten
+Anthonie de Lorme
+Anthonie Hals
+Anthonie Jansz. van der Croos
+Anthonie Leemans
+Anthonie Palamedesz.
+Anthonie van Borssom
+Anthonie Verstraelen
+Anthony Vreem
+Antonie Waterloo
+Arent Arentsz
+Arnold Houbraken
+Arnoldus van Anthonissen
+Arnold van Ravesteyn
+Arnout Elsevier
+Ary de Vois
+Ary Huybertsz Verveer
+Balthasar van der Ast
+Balthasar van der Veen
+Balthazar Gerbier
+Bamboccianti
+Barend Bispinck
+Barend Graat
+Barend van der Meer
+Barend van Eijsen
+Barend van Someren
+Barent Avercamp
+Barent Fabritius
+Barent Gael
+Barent van Kalraet
+Bartholomeus Appelman
+Bartholomeus Assteyn
+Bartholomeus Breenbergh
+Bartholomeus Maton
+Bartholomeus Meyburgh
+Bartholomeus Molenaer
+Bartholomeus van Bassen
+Bartholomeus van der Helst
+Bartram de Fouchier
+Bastiaan Govertsz van der Leeuw
+Benjamin Gerritsz Cuyp
+Bentvueghels
+Bernardus van Schijndel
+Bernard Vaillant
+Caesar van Everdingen
+Carel de Moor
+Carel Fabritius
+Carel van Savoyen
+Caspar Netscher
+Caspar van Wittel
+Catharina Oostfries
+Catharina van Knibbergen
+Charles Cornelisz. de Hooch
+Christiaan Coevershoff
+Christiaen Jansz van Bieselingen
+Christiaen Striep
+Christiaen van Couwenbergh
+Christoffel Pierson
+Christoffel Puytlinck
+Christoffel van den Berghe
+Claes Corneliszoon Moeyaert
+Claes Dirksz van der Heck
+Claes Isaacsz. van Swanenburg
+Claes Jacobsz van der Heck
+Claes Pietersz van der Meulen
+Claes van Beresteyn
+Claes van Heussen
+Clara Peeters
+Claude de Jongh
+Confrerie Pictura
+Constantijn à Renesse
+Cornelia van Marle
+Cornelis Beelt
+Cornelis Biltius
+Cornelis Bisschop
+Cornelis Bloemaert
+Cornelis Brisé
+Cornelis Brouwer
+Cornelis Claesz van Wieringen
+Cornelis de Bie
+Cornelis de Heem
+Cornelis de Man
+Cornelis Droochsloot
+Cornelis Dusart
+Cornelis Engelsz
+Cornelis Gerritsz Decker
+Cornelis Holsteyn
+Cornelis IJsbrantsz Cussens
+Cornelis Jacobsz Delff
+Cornelis Ketel
+Cornelis Kick
+Cornelis Kruys
+Cornelis Liefrinck
+Cornelis Pietersz Bega
+Cornelis Saftleven
+Cornelis Snellinck
+Cornelis Stooter
+Cornelis Symonsz van der Schalcke
+Cornelis van der Meulen
+Cornelis van der Voort
+Cornelis van Haarlem
+Cornelis van Poelenburgh
+Cornelis van Slingeland
+Cornelis Verbeeck
+Cornelis Vroom
+Cornelius Janson van Ceulen the Younger
+Cornelius Johnson
+Crijn Hendricksz Volmarijn
+Daniël de Blieck
+Daniël Mijtens
+Daniel Mijtens the Younger
+Daniël Schellinks
+Daniel Thivart
+Daniël Tomberg
+Daniel Vertangen
+Daniel Vosmaer
+David Bailly
+David Beck
+David Colijns
+David Cornelisz de Heem
+David Davidsz de Heem
+David de Haen
+David de Meyne
+David van der Plas
+David Vinckboons
+Diana Glauber
+Dionys Verburg
+Dirck Bleker
+Dirck Cornelis de Hooch
+Dirck Dalens the Elder
+Dirck de Bray
+Dirck de Quade van Ravesteyn
+Dirck Ferreris
+Dirck Govertsz
+Dirck Hals
+Dirck Helmbreker
+Dirck van Baburen
+Dirck van Bergen
+Dirck van Delen
+Dirck van der Lisse
+Dirck van Santvoort
+Dirck Wijntrack
+Dirk Dalens
+Dirk de Vrije
+Dirk Maas
+Dirk Meerkerk
+Dirk Pietersz
+Dirk Rafaelsz Camphuysen
+Dirk Stoop
+Dirk Valkenburg
+Dirk van Hoogstraten
+Domenicus van Wijnen
+Dominicus van Tol
+Douwe Juwes de Dowe
+Dutch Golden Age painting
+Egbert van der Poel
+Egbert van Heemskerck
+Eglon van der Neer
+Elias van den Broeck
+Elias Vonck
+Emanuel de Witte
+Emanuel Murant
+Esaias Boursse
+Esaias van de Velde
+Eva van Marle
+Everard Crijnsz. van der Maes
+Evert Collier
+Evert Oudendijck
+Evert van Aelst
+Ferdinand Bol
+Fijnschilder
+Floris van Dyck
+Floris van Schooten
+Franciscus Carree
+François van Knibbergen
+François Verwilt
+Francoys Dancx
+Frans Beeldemaker
+Frans de Hulst
+Frans Hals
+Frans Hals the Younger
+Frans Menton
+Frans Pietersz de Grebber
+Frans Post
+Frans van Mieris the Elder
+Frans Withoos
+Frederik de Moucheron
+Gabriël Metsu
+Geertgen Wyntges
+Geertruydt Roghman
+Gerard de Lairesse
+Gerard Donck
+Gerard Edema
+Gerard Hoet
+Gerard Houckgeest
+Gerard Pietersz van Zijl
+Gerard Soest
+Gerard ter Borch
+Gerard ter Borch the Elder
+Gerard van Deynen
+Gerard van Honthorst
+Gerard van Kuijl
+Gerbrand van den Eeckhout
+Gerret Willemsz. Heda
+Gerrit Battem
+Gerrit Berckheyde
+Gerrit Claesz Bleker
+Gerrit de Hooch
+Gerrit de Wet
+Gerrit Dou
+Gerrit Gerritsz Cuyp
+Gerrit Lundens
+Gerrit Pietersz Sweelink
+Gerrit van Santen
+Gerrit van Uylenburgh
+Gerrit Willemsz Horst
+Gesina ter Borch
+Gijsbert d'Hondecoeter
+Gijsbert Verhoek
+Gillis d'Hondecoeter
+Gillis Gillisz. de Bergh
+Gillis Rombouts
+Gillis Schagen
+Godfried Schalcken
+Govert Dircksz Camphuysen
+Govert Flinck
+Govert van der Leeuw
+Guillam Dubois
+Guilliam du Gardijn
+Hans de Jode
+Hans Gillisz. Bollongier
+Hans Goderis
+Hans IV Jordaens
+Harmen Hals
+Harmen Steenwijck
+Heerman Witmont
+Heiman Dullaert
+Hendrick Avercamp
+Hendrick Berckman
+Hendrick Bloemaert
+Hendrick Bogaert
+Hendrick Cornelisz. van Vliet
+Hendrick Cornelisz Vroom
+Hendrick Couturier
+Hendrick Danckerts
+Hendrick de Meijer
+Hendrick Dubbels
+Hendrick Fromantiou
+Hendrick Goltzius
+Hendrick Goudt
+Hendrick Mommers
+Hendrick ten Oever
+Hendrick ter Brugghen
+Hendrick van Anthonissen
+Hendrick van der Burgh
+Hendrick van Someren
+Hendrick van Streeck
+Hendrik Carré
+Hendrik Gerritsz Pot
+Hendrik Graauw
+Hendrik Heerschop
+Hendrik Martenszoon Sorgh
+Hendrik Rietschoof
+Hendrik Schoock
+Hendrik van Minderhout
+Hendrik van Steenwijk II
+Hendrik Verschuring
+Henry Ferguson
+Hercules Seghers
+Herman Doncker
+Herman Naiwincx
+Herman Saftleven
+Herman van Aldewereld
+Herman van der Mast
+Herman van Swanevelt
+Herman Verelst
+Horatius Paulijn
+Hubert van Ravesteyn
+Huchtenburg
+Huijgh Pietersz. Voskuijl
+Huybrecht Jacobsz Grimani
+Isaac Claesz. van Swanenburg
+Isaac Colonia
+Isaac de Jouderville
+Isaac Ducart
+Isaac Elias
+Isaack Gilsemans
+Isaack Luttichuys
+Isaac Koedijck
+Isaac Koene
+Isaack van Ruisdael
+Isaac Paling
+Isaac Sailmaker
+Isaac van Duynen
+Isaac van Ostade
+Isaak van Nickelen
+Isac Vromans
+Israel Covyn
+Jacob Adriaensz Backer
+Jacob Adriaensz Bellevois
+Jacob Biltius
+Jacob Block
+Jacob de Decker
+Jacob de Gheyn II
+Jacob de Gheyn III
+Jacob de Heusch
+Jacob de Wet II
+Jacob de Wolf
+Jacob Duck
+Jacob Esselens
+Jacob Gerritsz. Cuyp
+Jacob Gerritsz. Loef
+Jacob Gillig
+Jacob Isaacsz. van Swanenburg
+Jacob Jansz. Coeman
+Jacob Jansz van Velsen
+Jacob Knijff
+Jacob Koninck
+Jacob Lambrechtsz. Loncke
+Jacob Levecq
+Jacob Marrel
+Jacob Moelaert
+Jacob Ochtervelt
+Jacob Potma
+Jacob Pynas
+Jacob Rotius
+Jacob Salomonsz van Ruysdael
+Jacob Toorenvliet
+Jacobus de Baen
+Jacobus Mancadan
+Jacobus Storck
+Jacob van Bunnik
+Jacob van Campen
+Jacob van der Does
+Jacob van der Roer van Dordrecht
+Jacob van der Sluys
+Jacob van der Ulft
+Jacob van Geel
+Jacob van Loo
+Jacob van Moscher
+Jacob van Musscher
+Jacob van Ruisdael
+Jacob van Staverden
+Jacob van Walscapelle
+Jacob Vosmaer
+Jacob Vrel
+Jacob Willemsz Delff the Younger
+Jacob Willemszoon de Wet
+Jacques de Claeuw
+Jacques Vaillant
+Jacques Waben
+Jan Abrahamsz Beerstraaten
+Jan Adriaensz van Staveren
+Jan Aelbertsz Riethoorn
+Jan Albertsz Rotius
+Jan Ariens Duif
+Jan Asselijn
+Jan Baptist van Fornenburgh
+Jan Baptist Weenix
+Jan Claesz
+Jan Claesz Rietschoof
+Jan Coelenbier
+Jan Daemen Cool
+Jan Damesz de Veth
+Jan Davidsz. de Heem
+Jan de Baen
+Jan de Bisschop
+Jan de Bray
+Jan de Groot
+Jan den Uyl
+Jan de Visscher
+Jan Dirksz Both
+Jan Franse Verzijl
+Jan Frans van Douven
+Jan Gabrielsz Sonjé
+Jan Gerritsz van Bronckhorst
+Jan Gillisz van Vliet
+Jan Goedart
+Jan Griffier
+Jan Hackaert
+Jan Hals
+Jan Harmensz. Muller
+Jan Hoogsaat
+Jan Jansz Buesem
+Jan Jansz. de Stomme
+Jan Janszoon de Heem
+Jan Jansz. Treck
+Jan Jansz van de Velde
+Jan Janz Slop
+Jan Karel Donatus van Beecq
+Jan Lagoor
+Jan Lievens
+Jan Linsen
+Jan Looten
+Jan Maertz Engelsman
+Jan Martszen de Jonge
+Jan Matham
+Jan Meerhout
+Jan Micker
+Jan Miense Molenaer
+Jan Moninckx
+Jan Olis
+Jan Philipsz van Bouckhorst
+Jan Porcellis
+Jan Pynas
+Jan Savery
+Jan Snellinck
+Jan Soukens
+Jan Steen
+Jan Tengnagel
+Jan Theunisz Blanckerhoff
+Jan Vaillant
+Jan van Aken
+Jan van Assen
+Jan van Bijlert
+Jan van Bunnik
+Jan van Call
+Jan van de Cappelle
+Jan van den Bergh
+Jan van der Heyden
+Jan van der Lijs
+Jan van de Velde
+Jan van Goyen
+Jan van Hoogstraten
+Jan van Kessel
+Jan van Leyden
+Jan van Mieris
+Jan van Neck
+Jan van Nickelen
+Jan van Noordt
+Jan van Oolen
+Jan van Ossenbeeck
+Jan van Pee
+Jan van Ravesteyn
+Jan Verkolje
+Jan Vermeer van Haarlem
+Jan Vermeer van Haarlem the Elder
+Jan Vermeer van Utrecht
+Jan Victors
+Jan Vonck
+Jan Weenix
+Jan Wijnants
+Jan Willemsz Lapp
+Jan Willemsz. van der Wilde
+Jan Wils
+Jan Worst
+Jan Woutersz Stap
+Jan Wouwerman
+Jan Wyck
+Jasper van den Bos
+Jelle Reyners
+Jeronimus Sweerts
+Jeronymus van Diest
+Joachim Govertsz Camphuysen
+Joachim von Sandrart
+Joachim Wtewael
+Joanna Koerten
+Joan van der Spriet
+Job Adriaenszoon Berckheyde
+Johan Bara
+Johan Danckerts
+Johan le Ducq
+Johannes Borman
+Johannes Bosschaert
+Johannes Buns
+Johannes Colaert
+Johannes Cornelisz Verspronck
+Johannes Fabritius
+Johannes Glauber
+Johannes Gottlieb Glauber
+Johannes Jansz. van Bronckhorst
+Johannes Leemans
+Johannes Lingelbach
+Johannes Moreelse
+Johannes Mytens
+Johannes Spilberg
+Johannes Thopas
+Johannes van Bronckhorst
+Johannes van der Aeck
+Johannes van der Beeck
+Johannes van der Bent
+Johannes van Haensbergen
+Johannes van Wijckersloot
+Johannes Vermeer
+Johannes Vingboons
+Johannes Vollevens
+Johannes Withoos
+Johan Starrenberg
+Johan Teyler
+Johan van Nes
+Johan Zierneels
+John Verelst
+Joost Cornelisz Droochsloot
+Joost van Geel
+Joris van der Haagen
+Joris van Schooten
+Joseph de Bray
+Josua de Grave
+Jozef Oostfries
+Judith Leyster
+Julius Porcellis
+Jürgen Ovens
+Juriaen Jacobsze
+Juriaen van Streeck
+Justus van Huysum
+Karel Dujardin
+Karel Slabbaert
+Karel van der Pluym
+Karel van Mander
+Karel van Mander III
+Karel van Mander the Younger
+Krzysztof Lubieniecki
+Lambert Doomer
+Lambert Jacobsz
+Laurens Craen
+Leendert van Beijeren
+Leendert van der Cooghen
+Leonaert Bramer
+Leonard Knijff
+Lieve Verschuier
+Lodewijk van der Helst
+Louis-Abraham van Loo
+Ludolf Bakhuizen
+Ludolf de Jongh
+Ludowyk Smits
+Maerten Boelema de Stomme
+Magdalena van den Hecken
+Marcellus Laroon
+Marcus de Bye
+Margaretha de Heer
+Margaretha van Godewijk
+Maria de Grebber
+Maria Schalcken
+Maria Sibylla Merian
+Maria van Oosterwijck
+Maria Withoos
+Marten Heemskerck van der Heck
+Martin Mijtens the Elder
+Martinus Lengele
+Martinus Nellius
+Martin Zaagmolen
+Mathieu Dubus
+Mattheus Wijtmans
+Matthias Jansz van den Bergh
+Matthias Stom
+Matthias Withoos
+Matthijs Harings
+Matthijs Naiveu
+Matthijs Wulfraet
+Meindert Hobbema
+Melchior d'Hondecoeter
+Michiel Carree
+Michiel Jansz. van Mierevelt
+Michiel Maddersteg
+Michiel Nouts
+Michiel van Musscher
+Moses ter Borch
+Moses van Uyttenbroeck
+Nicolaas Piemont
+Nicolaas Roosendael
+Nicolaes de Giselaer
+Nicolaes de Helt Stockade
+Nicolaes de Kemp
+Nicolaes de Vree
+Nicolaes Gillis
+Nicolaes Hals
+Nicolaes Lachtropius
+Nicolaes Lastman
+Nicolaes Latombe
+Nicolaes Maes
+Nicolaes Molenaer
+Nicolaes Pickenoy
+Nicolaes Pieterszoon Berchem
+Nicolaes van Gelder
+Nicolaes Willingh
+Nicolas van Houy
+Nikolaus Knüpfer
+N.L. Peschier
+Otto Hoynck
+Otto Marseus van Schrieck
+Otto van Veen
+Palamedes Palamedesz.
+Paulus Bor
+Paulus Moreelse
+Paulus Potter
+Pauwels van Hillegaert
+Peter Danckerts de Rij
+Peter Lely
+Peter Wtewael
+Petrus Staverenus
+Philip de Koninck
+Philips Angel I
+Philips Angel II
+Philips Wouwerman
+Philip Tideman
+Pieter Anthonisz. van Groenewegen
+Pieter Borsseler
+Pieter Claesz
+Pieter Codde
+Pieter Coopse
+Pieter Cornelisz van Rijck
+Pieter Cornelisz van Slingelandt
+Pieter Cornelisz van Soest
+Pieter Cornelisz Verbeeck
+Pieter Crijnse Volmarijn
+Pieter de Bloot
+Pieter de Grebber
+Pieter de Hooch
+Pieter de Molijn
+Pieter de Neyn
+Pieter de Putter
+Pieter de Ring
+Pieter de Ruelles
+Pieter de Valck
+Pieter de Zeelander
+Pieter Dircksz Santvoort
+Pieter Donker
+Pieter Feddes van Harlingen
+Pieter Fris
+Pieter Gallis
+Pieter Gerritsz van Roestraten
+Pieter Hermansz Verelst
+Pieter Holsteyn I
+Pieter Holsteyn II
+Pieter Isaacsz
+Pieter Jacobsz. Duyfhuysen
+Pieter Janssens Elinga
+Pieter Jansz
+Pieter Jansz. Saenredam
+Pieter Jansz van Asch
+Pieter Jansz van Ruyven
+Pieter Lastman
+Pieter Leermans
+Pieter Legouch
+Pieter Moninckx
+Pieter Mulier II
+Pieter Mulier the Elder
+Pieter Nason
+Pieter Nijs
+Pieter Peutemans
+Pieter Pietersz II
+Pieter Pietersz Nedek
+Pieter Post
+Pieter Quast
+Pieter Soutman
+Pieter Steenwijck
+Pieter Symonsz Potter
+Pieter van Anraedt
+Pieter van Berendrecht
+Pieter van Bronckhorst
+Pieter van den Bosch
+Pieter van der Hulst
+Pieter van der Leeuw
+Pieter van der Werff
+Pieter van Laer
+Pieter van Mierevelt
+Pieter van Noort
+Pieter Verhoek
+Pieter Withoos
+Pieter Wouwerman
+Quirijn van Brekelenkam
+Rafaël Govertsz Camphuysen
+Reinier Nooms
+Rembrandt
+Reyer Claesz Suycker
+Reyer van Blommendael
+Reynier Covyn
+Reynier Hals
+Reynier van Gherwen
+Richard Brakenburgh
+Richard van Bleeck
+Robbert Duval
+Rochus van Veen
+Roeland van Laer
+Roelant Roghman
+Roelant Savery
+Roelof Jansz van Vries
+Roelof Koets
+Roger de Piles' artists from Germany and the Low Countries
+Rombout van Troyen
+Romeyn de Hooghe
+Salomon de Bray
+Salomon Koninck
+Salomon Mesdach
+Salomon Rombouts
+Salomon van Ruysdael
+Samuel Dirksz van Hoogstraten
+Sara Saftleven
+Sara van Baalbergen
+Simon de Vlieger
+Simon Du Bois
+Simon Germyn
+Simon Kick
+Simon Luttichuys
+Simon Pietersz Verelst
+Simon van der Does
+Susanna van Steenwijk
+Sybrand van Beest
+Theodoor van Thulden
+Theodor Roos
+Theodor van der Schuer
+Thomas de Keyser
+Thomas Heeremans
+Thomas Wijck
+Tyman Arentsz. Cracht
+Utrecht Caravaggism
+Vincent van der Vinne
+Vincenzo Armanno
+Wallerant Vaillant
+Warnard van Rijsen
+Werner van den Valckert
+Wilhelm Breckvelt
+Wilhelmus Beurs
+Willem Bartsius
+Willem Claesz. Heda
+Willem Cornelisz Duyster
+Willem de Heusch
+Willem de Poorter
+Willem Doudijns
+Willem Drost
+Willem Eversdijck
+Willem Frederiksz van Royen
+Willem Gillisz Kool
+Willem Hendrik Wilhelmus van Royen
+Willem Hondius
+Willem Jacobsz Delff
+Willem Kalf
+Willem Ormea
+Willem Pieterszoon Buytewech
+Willem Romeyn
+Willem Schellinks
+Willem van Aelst
+Willem van Bemmel
+Willem van den Bundel
+Willem van der Vliet
+Willem van de Velde the Elder
+Willem van de Velde the Younger
+Willem van Diest
+Willem van Drielenburg
+Willem van Honthorst
+Willem van Ingen
+Willem van Nieulandt II
+Willem Verschuring
+Willem Wissing
+William Gouw Ferguson
+Wouter Crabeth II
+Wouter Knijff
+Wybrand de Geest
+Zacharias Blyhooft
+Zacharias Paulusz
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/baroque/flemish_baroque_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/baroque/flemish_baroque_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c43eee1f7179294d219c595ab9c8750f280f6836
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/baroque/flemish_baroque_painters.txt
@@ -0,0 +1,199 @@
+Abraham Brueghel
+Abraham Casembroot
+Abraham Genoels
+Abraham Godijn
+Abraham Govaerts
+Abraham van Blijenberch
+Abraham van Diepenbeeck
+Adam de Colone
+Adam de Coster
+Adriaen Brouwer
+Adriaen de Bie
+Adriaen Frans Boudewijns
+Adriaen van Bloemen
+Albert Flamen
+Alexander Adriaenssen
+Alexander Casteels the Elder
+Alexander Casteels the Younger
+Alexander Coosemans
+Ambrosius Bosschaert
+Ambrosius Brueghel
+Andries Benedetti
+Andries Bosman
+Andries Daniels
+Andries de Coninck
+Andries van Eertvelt
+Anna Francisca de Bruyns
+Anthonie Crussens
+Anthony van Dyck
+Anton Goubau
+Anton Gunther Gheringh
+Antwerp school
+Artus Claessens
+Augustin Coppens
+Bamboccianti
+Bentvueghels
+Bernaert de Bridt
+Bertholet Flemalle
+Carel Fonteyn
+Carel van Falens
+Charles Emmanuel Biset
+Christoffel van den Berghe
+Constantijn Francken
+Cornelis Bol
+Cornelis de Baellieur
+Cornelis de Bryer
+Cornelis Norbertus Gijsbrechts
+Daniel van den Dyck
+David de Coninck
+Diego de Borgraf
+Dominicus Claessens
+Elias van den Broeck
+Engelbert Ergo
+Erasmus de Bie
+Ferdinand van Apshoven the Elder
+Ferdinand van Apshoven the Younger
+Franciscus Gijsbrechts
+Franciscus Hamers
+François Duchatel
+Frans Badens
+Frans Cuyck van Myerop
+Frans Denys
+Frans Francken III
+Frans Francken the Younger
+Frans Geffels
+Frans van Everbroeck
+Frederik Bouttats the Elder
+Gaspar de Crayer
+Gaspar van Eyck
+George Geldorp
+Gérard Edelinck
+Gilles Hallet
+Gilliam Dandoy
+Gillis Backereel
+Gillis II Coignet
+Godfriedt van Bochoutt
+Gommaert van der Gracht
+Gonzales Coques
+Gonzales Franciscus Casteels
+Gualterus Gysaerts
+Guglielmo Borremans
+Guillam Forchondt the Elder
+G. van Deynum
+Hendrick Andriessen
+Hendrick de Clerck
+Hendrick van Balen the Elder
+Hendrik van der Borcht the elder
+Hieronymus Francken II
+Hieronymus Francken III
+Hieronymus Galle
+Ignatius Croon
+Isabella Francken
+Izaak Godijn
+Jacob Caproens
+Jacob de Bie
+Jacob de Formentrou
+Jacob Denys
+Jacob Foppens van Es
+Jacob Franquart
+Jacob Peter Gowy
+Jacques Backereel
+Jacques d'Arthois
+Jacques de l'Ange
+Jacques Fouquier
+Jan Anthonie Coxie
+Jan Anton van der Baren
+Jan Baptist Boel the Younger
+Jan Baptist Bonnecroy
+Jan Baptist Borrekens
+Jan Baptist Bosschaert
+Jan Baptist Brueghel
+Jan Baptist de Crépu
+Jan Baptist van Deynum
+Jan Boeckhorst
+Jan Brueghel the Elder
+Jan Brueghel the Younger
+Jan Carel van Eyck
+Jan Cossiers
+Jan Coxie
+Jan de Herdt
+Jan Dirven
+Jan Frans van Bloemen
+Jan Fyt
+Jan Pauwel Gillemans the Elder
+Jan Pauwel Gillemans the Younger
+Jan Pieter Brueghel
+Jan van Balen
+Jan van Buken
+Jan van Dalen
+Jan van den Hecke
+Jan van Essen
+Jasper Broers
+Jasper Geeraards
+Jean Baptiste Assenede
+Jean Baptiste de Champaigne
+Jean Ducamps
+Jean-Guillaume Carlier
+Joannes de Cordua
+Joannes van der Brugghen
+Johann Baptiste Bouttats
+Joos van Craesbeeck
+Joris van Bredael
+Laureys a Castro
+Lodewijk de Vadder
+Louis de Caullery
+Louis Finson
+Lucas Achtschellinck
+Lucas Franchoys the Elder
+Lucas Franchoys the Younger
+Marcus Gheeraerts the Younger
+Marie Duchatel
+Melchior Hamers
+Michel Bouillon
+Michele Desubleo
+Michiel II Coignet
+Nicasius Bernaerts
+Nicolaas van Eyck
+Nicolaes Cave
+Norbert van Bloemen
+Osias Beert
+Ottmar Elliger
+Pauwels Casteels
+Pedro de Campolargo
+Peeter Gijsels
+Peeter van Bredael
+Peter Franchoys
+Peter Frans Casteels
+Peter van Boucle
+Peter van Halen
+Philip Fruytiers
+Philip Gyselaer
+Philippe de Champaigne
+Philips Brueghel
+Philip van Dapels
+Pieter Boel
+Pieter Bout
+Pieter Brueghel the Younger
+Pieter Casteels II
+Pieter Hardimé
+Pieter van Aelst
+Pieter van Avont
+Pieter van Bloemen
+Pieter van der Borcht
+Sebastiaen van Aken
+Sebastian Castro
+Simon Ardé
+Simon Hardimé
+Simon Johannes van Douw
+Theodoor Aenvanck
+Theodoor Boeyermans
+Thomas van Apshoven
+Vigor Boucquet
+Vincent Adriaenssen
+Vincenzo Armanno
+Walther Damery
+Wenceslas Cobergher
+Wilhelm Schubert van Ehrenberg
+Willem Backereel
+Willem Gabron
+Willem van Haecht
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/baroque/french_baroque_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/baroque/french_baroque_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..74034570ebf0b26a0b7fb44043ef9daf4304e41c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/baroque/french_baroque_painters.txt
@@ -0,0 +1,54 @@
+Charles Errard
+Charles Le Brun
+Charles Mellin
+Claude Deruet
+Claude-Guy Hallé
+Claude Lorrain
+Claude Mellan
+Daniel Hallé
+Eustache Le Sueur
+Francisque Millet
+François de Nomé
+François de Troy
+François Perrier
+François Puget
+François Stella
+Gaspard Dughet
+Georges de La Tour
+Henri Testelin
+Hyacinthe Rigaud
+Isaac Oliver
+Jacob van Schuppen
+Jacques Blanchard
+Jacques d'Agar
+Jacques des Rousseaux
+Jacques Restout
+Jacques Stella
+Jean Bérain the Elder
+Jean de Beaugrand
+Jean Jouvenet
+Jean LeClerc
+Laurent de La Hyre
+Le Nain
+Louis-Abraham van Loo
+Louis Cretey
+Louise Moillon
+Madeleine Boullogne
+Michel Serre
+Monsù Desiderio
+Nicolas Guibal
+Nicolas Mignard
+Nicolas Poussin
+Nicolas Tournier
+Philippe de Champaigne
+Pierre Bourguignon
+Pierre Mignard
+Pierre Rabon
+Pieter Dubordieu
+Quentin Varin
+Raymond Lafage
+Sebastian Stoskopff
+Sébastien Bourdon
+Simon Vouet
+Trophime Bigot
+Vincent Malo
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/baroque/german_baroque_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/baroque/german_baroque_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9d91ea652de08130dccaec1475f5693fa73b84e6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/baroque/german_baroque_painters.txt
@@ -0,0 +1,60 @@
+Anna Katharina Block
+Anton Mirou
+Benjamin Block
+Bentvueghels
+Christian Berentz
+Christopher Paudiß
+Cosmas Damian Asam
+Daniel Blok
+David Klöcker Ehrenstrahl
+Ernst Stuven
+Franz Joachim Beich
+Franz Ludwig Raufft
+Franz Werner von Tamm
+Franz Wulfhagen
+Georg Anton Urlaub
+Georg Hainz
+Godfrey Kneller
+Hendrik van der Borcht II
+Hendrik van der Borcht the elder
+Isaak Soreau
+Jacob Christoph Le Blon
+Jacob Ernst Thomann von Hagelstein
+Jacob Marrel
+Jan Boeckhorst
+Joachim von Sandrart
+Johann Baptist Zimmermann
+Johann Carl Loth
+Johannes Spilberg
+Johann Georg Fischer
+Johann Georg Melchior Schmidtner
+Johann Georg Stuhr
+Johann Heinrich Roos
+Johann Hulsman
+Johann Liss
+Johann Melchior Roos
+Johann Oswald Harms
+Johann Ulrich Mayr
+Johann Wilhelm Baur
+Johann Zacharias Kneller
+Joseph Anton Merz
+Joseph Ignaz Appiani
+Jürgen Ovens
+Louise Hollandine of the Palatinate
+Ludolf Bakhuizen
+Maria Dorothea Wagner
+Maria Sibylla Merian
+Matthias Scheits
+Michael Conrad Hirt
+Michael Willmann
+Nikolaus Knüpfer
+Ottmar Elliger
+Philipp Peter Roos
+Philip Tideman
+Pieter Schoubroeck
+Salomon Adler
+Sebastian Stoskopff
+Simon Peter Tilemann
+Susanna Mayr
+Theodor Roos
+Willem van Bemmel
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/baroque/greek_baroque_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/baroque/greek_baroque_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..dff1ce6b6a617ab71c37b73e0736a7043e9936b0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/baroque/greek_baroque_painters.txt
@@ -0,0 +1,13 @@
+Belisario Corenzio
+Efstathios Karousos
+Elias Moskos
+Emmanuel Tzanes
+Ioannis Korais
+Konstantinos Tzanes
+Nikolaos Doxaras
+Nikolaos Kallergis
+Nikolaos Koutouzis
+Panagiotis Doxaras
+Philotheos Skoufos
+Spiridione Roma
+Theodore Poulakis
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/baroque/italian_baroque_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/baroque/italian_baroque_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..37324a6972cb5d4569f7131e40a50a6729948934
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/baroque/italian_baroque_painters.txt
@@ -0,0 +1,198 @@
+Agostino Beltrano
+Agostino Bonisoli
+Alessandro Albini
+Alessandro Badiale
+Alessandro Baratta
+Alessandro Bardelli
+Alfonso Aldiverti
+Ambrogio Besozzi
+Andrea Barbiani
+Andrea Belvedere
+Andrea dell'Asta
+Angelica Veronica Airola
+Aniella di Beltrano
+Aniello Ascione
+Anton Domenico Bamberini
+Anton Giuseppe Barbazza
+Antonia Bertucci-Pinelli
+Antonio Amorosi
+Antonio Bacci
+Antonio Baldi
+Antonio Balestra
+Antonio Barbalonga
+Antonio Baroni
+Antonio Bellucci
+Antonio Beltrami
+Antonio Bonfanti
+Antonio de Bellis
+Atanasio Bimbacci
+Aurelio Barili
+Baldassare Aloisi
+Baldassare Bianchi
+Bartolomeo Baderna
+Bartolomeo Barbiani
+Bartolomeo Bassi
+Bartolomeo Bettera
+Bartolomeo Biscaino
+Benedetto Bandiera
+Bernardino Bono
+Camillo Berlinghieri
+Carlo Amalfi
+Carlo Ascenzi
+Carlo Biffi
+Carlo Bolognini
+Carlo Girolamo Bersotti
+Ciro Adolfi
+Clemente Bocciardo
+Dionisio Boldo
+Domenico Ambrogi
+Domenico Bettini
+Domenico Bocciardo
+Domenico de Benedettis
+Domenico Maria Bonavera
+Ercole Bazzicaluva
+Ercole Gaetano Bertuzzi
+Faustino Bocchi
+Federico Bencovich
+Federico Bianchi
+Ferrante Amendola
+Ferrante Bacciocchi
+Filippo Abbiati
+Filippo d'Angeli
+Fra Bonaventura Bisi
+Francesco Albani
+Francesco Allegrini da Gubbio
+Francesco Ange
+Francesco Antonozzi
+Francesco Appiani
+Francesco Aviani
+Francesco Barbieri
+Francesco Bassi
+Francesco Bernardi
+Francesco Boccaccino
+Francesco Bonifaccio
+Francesco Borgani
+Gennaro Basile
+Giacinto Bellini
+Giacinto Boccanera
+Giacomo Adolfi
+Giacomo Alberelli
+Giacomo Alboresi
+Giacomo Antonio Arland
+Giacomo Anziani
+Giacomo Apollonio
+Giacomo Argente
+Giacomo Bargone
+Giacomo Barri
+Giacomo Bolognini
+Giacomo Boni
+Gian Lorenzo Bernini
+Gioacchino Assereto
+Giorgio Alberino
+Gioseffo Maria Bartolini
+Giovanni Andrea Ansaldo
+Giovanni Andrea Biscaino
+Giovanni Andrea Podestà
+Giovanni Baglione
+Giovanni Battista Alberoni
+Giovanni Battista Amigazzi
+Giovanni Battista Baiardo
+Giovanni Battista Barbiani
+Giovanni Battista Barca
+Giovanni Battista Belloti
+Giovanni Battista Benaschi
+Giovanni Battista Bertusio
+Giovanni Battista Bolognini
+Giovanni Battista Bonacina
+Giovanni Bernardino Azzolini
+Giovanni Biliverti
+Giovanni Carlo Aliberti
+Giovanni Francesco Bagnoli
+Giovanni Francesco Bassotti
+Giovanni Giacomo Barbelli
+Giovanni Girolamo Bonesi
+Giovanni Lorenzo Bertolotti
+Giovanni Raffaele Badaracco
+Giovenale Boetto
+Girolamo Bonini
+Giulio Benso
+Giulio Cesare Angeli
+Giulio Cesare Begni
+Giulio Giacinto Avellino
+Giuseppe Agellio
+Giuseppe Alberti
+Giuseppe Angeli
+Giuseppe Angelini
+Giuseppe Arrighi
+Giuseppe Avanzi
+Giuseppe Badaracco
+Giuseppe Bazzani
+Giuseppe Bonati
+Giuseppe Bonito
+Guido Ubaldo Abbatini
+Isidoro Bianchi
+Jacopo Baccarini
+Jacopo Bambini
+Jacopo Barbello
+Kaspar Anton von Baroni-Cavalcabo
+Laura Bernasconi
+Lazzaro Baldi
+Leonardo dell'Arca
+Lionello Bononi
+Lodovico Bertucci
+Lorenzo Bergonzoni
+Luca Antonio Bistega
+Luca Barbieri
+Luigi Baccio del Bianco
+Marcantonio Bellavia
+Marco Antonio Bassetti
+Marco Bandinelli
+Maria Maddalena Baldacci
+Mario Balassi
+Martino Altomonte
+Matteo Bonechi
+Matteo Borboni
+Mattia Battini
+Mattia Benedetti
+Mauro Aldrovandini
+Michele Blasco
+Niccolò Bambini
+Niccolò Berrettoni
+Niccolò Billy
+Nicola Bertucci
+Onofrio Avellino
+Orazio Bianchi
+Ottavio Amigoni
+Paolo Albertoni
+Paolo Alboni
+Paolo Anesi
+Paolo Antonio Barbieri
+Paolo Bianchi
+Paolo Biancucci
+Paolo Bonomino
+Paolo Emilio Besenzi
+Paolo Vincenzo Bonomini
+Pasquale Bellonio
+Pier Francesco Battistelli
+Piermaria Bagnadore
+Pietro Adami
+Pietro Andrea Barbieri Pucciardi
+Pietro Antonio Avanizi
+Pietro Antonio Avanzini
+Pietro Aquila
+Pietro Avogadro
+Pietro Bellotti
+Pietro Bianchi
+Pietro Francesco Alberti
+Pietro Paolo Baldini
+Pietro Paolo Bonzi
+Pompeo Aldrovandini
+Scipione Angelini
+Sebastiano Bombelli
+Simone Barabino
+Sisto Badalocchio
+Stefano Amadei
+Tiburzio Baldini
+Tommaso Aldrovandini
+Valerio Baldassari
+Vittorio Bigari
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/baroque/netherlandish_baroque_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/baroque/netherlandish_baroque_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..94e3033e00e1f94dc5ea89bc3238c5027d75850d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/baroque/netherlandish_baroque_painters.txt
@@ -0,0 +1,2 @@
+__dutch_goldenage_painters__
+__bentvueghels__
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/baroque/quadratura.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/baroque/quadratura.txt
new file mode 100644
index 0000000000000000000000000000000000000000..16d1b0e984ecd29b1271852c61ed357e2bc0a757
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/baroque/quadratura.txt
@@ -0,0 +1,74 @@
+Agostino Carlini
+Agostino Collaceroni
+Agostino Mitelli
+Alberto Carlieri
+Alessandro Baratta
+Angelo Michele Colonna
+Antonio Bonetti
+Antonio Maria Panni
+Antonio Rolli
+Baldassare Bianchi
+Bartolo Ceru
+Bartolomeo Bassi
+Carlo Bolognini
+Carlo Moscatiello
+Cesare Baglioni
+Cristoforo Rosa
+Domenico Ambrogi
+Domenico Bruni
+Domenico Carnovale
+Domenico Ghislandi
+Domenico Santi
+Enrico Haffner
+Faustino Trebbi
+Filippo Maccari
+Flaminio Innocenzo Minozzi
+Francesco Costa
+Francesco Quaini
+Francesco Veau
+Fra Simone da Carnuli
+Gaetano Alemani
+Gerolamo Mengozzi Colonna
+Giacomo Alboresi
+Giacomo Torelli
+Giovanni Antonio Caldelli
+Giovanni Battista Alberoni
+Giovanni Battista Caccioli
+Giovanni Battista Crosato
+Giovanni Battista Gaulli
+Giovanni Benedetto Paolazzi
+Giovanni Giacomo Monti
+Giovanni Maria Cerva
+Giovanni Niccolò Servandoni
+Giovanni Paderna
+Girolamo Curti
+Girolamo Pellizoni
+Giulio Trogli
+Giuseppe Alabardi
+Giuseppe Antonio Landi
+Giuseppe Dallamano
+Giuseppe Melani
+Giuseppe Natali
+Giuseppe Turbini
+Gregorio De Ferrari
+Jacopo Antonio Mannini
+Jacopo Chiavistelli
+Lorenzo del Moro
+Lorenzo Pavia
+Luca Antonio Bistega
+Luigi Quaini
+Marcantonio Chiarini
+Mattia Benedetti
+Mauro Aldrovandini
+Ottavio Viviani
+Paolo Ballarini
+Paolo Brozzi
+Petronio Fancelli
+Pier Francesco Battistelli
+Pietro Anderlini
+Pietro Capelli
+Pietro Carattoli
+Pietro Paltronieri
+Rinaldo Botti
+Stefano Orlandi
+Tommaso Sandrino
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/baroque/rococco.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/baroque/rococco.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5db12ce24d505de770ddc003f4f1e19ece391366
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/baroque/rococco.txt
@@ -0,0 +1,86 @@
+Adélaïde Victoire Hall
+Alessandro Magnasco
+Alexander Roslin
+Andien de Clermont
+Andrea Casali
+Angelica Le Gru Perotti
+Angelo Mozzillo
+Anna Maria Hilfeling
+Anna Rajecka
+Antoine Watteau
+Antonio Balestra
+Antonio Beccadelli (painter)
+Antonio Bellucci
+Antonio Liozzi
+Antonio Rossi (painter)
+Balthasar Denner
+Bartolomeo Nazari
+Bartolomeo Pedon
+Bellino Bellini
+Carlo Carlone
+Charles-Amédée-Philippe van Loo
+Charles Joseph Flipart
+Charles-Joseph Natoire
+Corrado Giaquinto
+Daniel Hisgen
+Domenico Corvi
+Elia Interguglielmi
+Élisabeth Vigée Le Brun
+Étienne Jeaurat
+Flora Yukhnovich
+Francescantonio Coratoli
+Francesco Fernandi
+Francesco Monti (Bologna)
+Francesco Zugno
+François Boucher
+François Guérin (artist)
+František Jakub Prokyš
+Gaetano Gandolfi
+Gaspare Traversi
+Georgije Tenecki
+Giambattista Pittoni
+Giambettino Cignaroli
+Giampietro Zanotti
+Giorgio Anselmi
+Giovanni Antonio Greccolini
+Giovanni Battista Cipriani
+Giovanni Battista Lorenzi (painter)
+Giovanni Battista Tiepolo
+Giovanni Domenico Cignaroli
+Giovanni Domenico Ferretti
+Giovanni Domenico Tiepolo
+Giuseppe Baldrighi
+Giuseppe Bazzani
+Giuseppe Bonito
+Giuseppe Dallamano
+Giuseppe Marchesi
+Giuseppe Nogari
+Gottlieb Welté
+Jacopo Amigoni
+Jean-Baptiste Charpentier the Elder
+Jean-Baptiste Pater
+Jean-Baptiste Pillement
+Jean-Baptiste-Siméon Chardin
+Jean-Baptiste van Loo
+Jean François de Troy
+Jean-Honoré Fragonard
+Johann Jakob Zeiller
+Joseph Ignaz Appiani
+François Boucher
+Lorenzo Baldissera Tiepolo
+Lorenzo De Caro
+Louis-Jean-François Lagrenée
+Louis-Michel van Loo
+Marcello Leopardi
+Margareta Christina Giers
+Nicola Antonio Monti
+Nicola Peccheneda
+Paolo Anesi
+Peter Adolf Hall
+Pier Leone Ghezzi
+Pietro Capelli
+Placido Costanzi
+Sebastiano Ricci
+Thomas Gainsborough
+Ulrika Pasch
+William Delacour
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/baroque/spanish_baroque_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/baroque/spanish_baroque_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a82d7f4312ce725557cb9e96301ef06395a95137
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/baroque/spanish_baroque_painters.txt
@@ -0,0 +1,157 @@
+Agustín del Castillo
+Agustin Gasull
+Agustín Leonardo
+Alardo de Popma
+Alejandro de Loarte
+Alejandro González Velázquez
+Alonso de Llera Zambrano
+Alonso Miguel de Tovar
+Ambrosio Martínez Bustos
+Andrea López Caballero
+Andrés Amaya
+Andrés Leyto
+Andrés Marzo
+Andrés Pérez
+Antonio Bisquert
+Antonio del Castillo y Saavedra
+Antonio de Pereda
+Antonio de Puga
+Antonio Fernández Arias
+Antonio González Velázquez
+Antonio L'Horfelin
+Antonio Palomino
+Antonio Ponz
+Antonio Richarte
+Antonio Vela Cobo
+Bartolomé Esteban Murillo
+Bartolomé Pérez
+Bartolomé Román
+Benevides Juan Ramirez
+Benito Manuel Agüero
+Bernardo Germán de Llórente
+Bernardo Polo
+Blas de Ledesma
+Buonaventura Ligli
+Carlos Luis de Ribera y Fieve
+Claudio Coello
+Clemente de Torres
+Cristóbal de León
+Cristóbal de Villalpando
+Cristóbal García Salmerón
+Cristóbal López
+Cristóbal Valero
+Cristóbal Vela
+Diego de Leyva
+Diego Polo the Younger
+Diego Velázquez
+Diego Vidal de Liendo
+Esteban Márquez de Velasco
+Eugenio Caxés
+Evaristo Muñoz
+Felipe de León
+Felipe Diricksen
+Felipe Gil de Mena
+Felipe Ramírez
+Félix Castello
+Fernando Márquez Joya
+Francisco Agullo
+Francisco Barrera
+Francisco Caro
+Francisco Collantes
+Francisco de Aguirre
+Francisco de Burgos Mantilla
+Francisco de Reyna
+Francisco de Zurbarán
+Francisco Herrera the Elder
+Francisco Llamas
+Francisco Lopez Caro
+Francisco Preciado
+Francisco Rizi
+Francisco Salmerón
+Francisco Varela
+Gerónimo Antonio de Ezquerra
+Geronimo de Bobadilla
+Gerónimo Ramírez
+Giovanni Do
+Gregorio Bausá
+Ignacio de Iriarte
+Ignacio de León Salcedo
+Ignacio de Ries
+Isaac Lievendal
+Isidoro de Redondillo
+Jaime López
+Jaime Mosen Ponz
+Jerónimo Jacinto de Espinosa
+Joaquim Juncosa
+Joaquín Inza y Ainsa
+José Antolínez
+José de Ledesma
+Josefa de Óbidos
+Josef Lopez
+Josef Ramírez
+José Leonardo
+Jose Risueño
+José Romeo
+Juan Antonio García de Bouzas
+Juan Antonio Ribera
+Juan Bautista Maíno
+Juan Bautista Martínez del Mazo
+Juan Bautista Ravanals
+Juan Caro de Tavira
+Juan Carreño de Miranda
+Juan de Alfaro y Gámez
+Juan de Arellano
+Juan de Espinosa
+Juan del Castillo
+Juan de Licalde
+Juan de Loaysa y Giron
+Juan de Peñalosa
+Juan de Valdés Carasquilla
+Juan de Valdés Leal
+Juan Fernández el Labrador
+Juan García de Miranda
+Juan Martín Cabezalero
+Juan Rizi
+Juan Rodríguez Juárez
+Juan Valdelmira de Leon
+Juan van der Hamen
+Juan Vicente Ribera
+Jusepe de Ribera
+Lorenzo Quiros
+Lucas de Valdés
+Luis González Velázquez
+Luis Paret y Alcázar
+Luis Tristán
+Maria de Abarca
+Mateo Cerezo
+Mateo Gilarte
+Miguel Posadas
+Mosen Vicente Bru
+Niccolò Granello
+Nicolás de la Quadra
+Nicolás de Villacis
+Orazio Cambiasi
+Pablo Legote
+Pablo Pontons
+Pablo Rabiella
+Pedro Atanasio Bocanegra
+Pedro de Campolargo
+Pedro de Camprobín
+Pedro de Moya
+Pedro de Obregón
+Pedro Orrente
+Pedro Pozo
+Pedro Ramírez
+Pedro Rodriguez de Miranda
+Roque Ponce
+Sebastián de Llanos y Valdés
+Sebastián Herrera Barnuevo
+Simón de León Leal
+Teodoro Ardemans
+Tomas de Aguiar
+Tomás Francisco Prieto
+Tomás Yepes
+Vicente Castelló
+Vicente Giner
+Vicente Guirri
+Vincenzo Carducci
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/classical/classical.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/classical/classical.txt
new file mode 100644
index 0000000000000000000000000000000000000000..854c21052a115e7e5c90f77e8d5d6dc25296a1c3
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/classical/classical.txt
@@ -0,0 +1,9 @@
+Minoan art
+Aegean art
+Cycladic art
+Ancient Greek art
+Mycenaean art
+Cycladic art
+Ancient Egyptian art
+Roman Art
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/medieval/gothic.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/medieval/gothic.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ae1578fff99324340d2938139012d3f3b035ed43
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/medieval/gothic.txt
@@ -0,0 +1,95 @@
+Agostino di Giovanni
+Albertus Pictor
+Allegretto Nuzi
+Altichiero
+Andrea da Firenze
+Andrea Pisano
+André Beauneveu
+Arnau Bassa
+Arnolfo di Cambio
+Bartolo di Fredi
+Benedetto Antelami
+Bernat Martorell
+Bernt Notke
+Bonaventura Berlinghieri
+Bonino da Campione
+Claus Sluter
+Cola Petruccioli
+Daniel Mauch
+Duccio di Buoninsegna
+Evrard d'Orleans
+Ferrer Bassa
+Fra Angelico
+Fra Guglielmo
+Gano di Fazio
+Gentile da Fabriano
+Gherardo Starnina
+Gil de Siloé
+Giottino
+Giovanni Bon
+Giovanni da Balduccio
+Giovanni da Campione
+Giovanni da Milano
+Giovanni del Biondo
+Giovanni Pisano
+Giusto de Menabuoi
+Goro di Gregorio
+Guariento di Arpo
+Guido Bigarelli
+Henning von der Heide
+Henri Bellechose
+Hermann Jean and Paul Limbourg
+Hermen Rode
+Jacobello Dalle Masegne
+Jacomart
+Jacopo Bellini
+Jacopo del Casentino
+Jacquemart de Hesdin
+Jan Goraj
+Jan Polack
+Jaume Huguet
+Jean de Liege
+Jean Malouel
+Jean Pucelle
+Jörg Syrlin the Elder
+Jörg Syrlin the Younger
+Lluís Borrassà
+Lorenzo Maitani
+Lorenzo Monaco
+Maestro Esiguo
+Master of Saint Veronica
+Master of San Francesco Bardi
+Master of San Jacopo a Mucciana
+Master of Schloss
+Master of the Berswordt Altar
+Master of the Dominican Effigies
+Master of the Drapery Studies
+Master of the Franciscan Crucifixes
+Master of the Passion of Christ
+Master of the Rebel Angels
+Master of the Rinuccini Chapel
+Mastro Guglielmo
+Meister Hartmann
+Melchior Broederlam
+Michel Erhart
+Niccolo di Pietro Gerini
+Nicola Pisano
+Nicolaus Haberschrack
+Nicolo da Bologna
+Niklaus Weckmann
+Nino Pisano
+Pere Johan
+Pere Oller
+Pere Serra
+Peter Parler
+Puccio Capanna
+Puccio di Simone
+Segna di Buonaventure
+Simone Martini
+Stefano da Verona
+Taddeo di Bartolo
+Theodoric of Prague
+Tino da Camaino
+Upper Rhenish Master
+Veit Stoss
+Vitale da Bologna
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/medieval/medieval.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/medieval/medieval.txt
new file mode 100644
index 0000000000000000000000000000000000000000..daba7e68bc42dc9f31254b8e4593126787eb1346
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/medieval/medieval.txt
@@ -0,0 +1,3 @@
+Byzantine
+__artists/European Art/medieval/romanesque__
+__artists/European Art/medieval/gothic__
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/medieval/romanesque.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/medieval/romanesque.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a5f30342fa27df0fd8a1139d00bcb4bfe9ed8ed3
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/medieval/romanesque.txt
@@ -0,0 +1,33 @@
+Arnau Cadell
+Benedetto Antelami
+Berlinghiero Berlinghieri
+Byzantios
+Calcarius
+Claricia
+Dunstan
+Ende
+Gislebertus
+Guda
+Hegvald
+Herrad of Landsberg
+Horder
+Hugo d'Oignies
+Lucchese School
+Majestatis
+Master Hugo
+Master Mateo
+Master of Cabestany
+Master of Pedret
+Master of Taüll
+Master of the Registrum Gregorii
+Nicholas of Verdun
+Notker Physicus
+Othelric
+Radovan
+Renier de Huy
+Roger of Helmarshausen
+Sigraf
+Spearhafoc
+Tove
+Vgo
+Wiligelmo
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/abstract_expressionism/abstract_expressionism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/abstract_expressionism/abstract_expressionism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a9f45e0e8b18d96a69e8e6a1c2a225ae4c323d2e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/abstract_expressionism/abstract_expressionism.txt
@@ -0,0 +1,395 @@
+Abdul Djalil Pirous
+Adja Yunkers
+Adolf Bierbrauer
+Adolph Gottlieb
+Ad Reinhardt
+Agnes Martin
+Ahmad Sadali
+Albert Alcalay
+Albert Irvin
+Albert Kotin
+Alexander Bogen
+Alexander Calder
+Alexander McNeish
+Alexandre Istrati
+Alex Salaueu
+Alfonso A. Ossorio
+Alfred L. Copley
+Alfred Leslie
+Alfred Russell
+Alfred Russell
+Al Held
+Alice Baber
+Alma Thomas
+Amanda Snyder
+Angela Gegg
+Anna-Eva Bergman
+Anne Ryan
+Annick Gendron
+Anthony Benjamin
+Arshile Gorky
+Arthur Sarkissian
+Ashot Avagyan
+Aubrey Williams
+Balcomb Greene
+Barbara Januszkiewicz
+Barnett Newman
+Barrie Cooke
+Baruj Salinas
+Batia Grossbard
+Beauford Delaney
+Ben Culwell
+Boris Mirski Gallery
+Bradley Walker Tomlin
+Brian Wall
+Byron McClintock
+Calvert Coggeshall
+Captain Beefheart
+Carle Hessay
+Charles Alston
+Charles Cajori
+Charles Pollock
+Charles Ragland Bunnell
+Charles Seliger
+Charlotte Park
+Charlotte Park
+Christine Ay Tjoe
+Christopher Oywecha
+Cleve Gray
+Clyfford Still
+Conrad Marca-Relli
+Cora Kelley Ward
+Corinne Michelle West
+Cy Twombly
+Dan Berger
+David Budd
+David Geiser
+David Hare
+David Hare
+David Lund
+David Park
+David Park
+David Sawin
+David Simpson
+David Simpson
+David Smith
+David Smith
+David Stromeyer
+Dick Wray
+Donald P. Olsen
+Dorothy Dehner
+Dorothy Heller
+Dusti Bongé
+Earle M. Pilgrim
+Earl Kerkam
+Ed Clark
+Edo Murtić
+Edward Corbett
+Edward Corbett
+Edward Dugmore
+Elaine de Kooning
+Elaine Hamilton-O'Neal
+Eleanor Hilowitz
+Eligio Pichardo
+Elmer Bischoff
+Emerson Woelffer
+Emiko Nakano
+Emil Schumacher
+Enrico Donati
+Ernest Briggs
+Esteban Vicente
+Estelle Asmodelle
+Eugène de Kermadec
+Evelyn Buff-Segal
+Evgeny Chubarov
+Ezio Martinelli
+Félix Anaut
+Frances Kornbluth
+Franck de Las Mercedes
+Frank Lobdell
+Franz Kline
+Fred Mitchell
+Fred Mitchell
+Friedel Dzubas
+Fritz Bultman
+Fritz Faiss
+Fuller Potter
+Gandy Brodie
+Geoffrey de Groen
+George Johnson
+George Johnson
+George McNeil
+George McNeil
+George Morrison
+George Morrison
+George Rickey
+Georges Mathieu
+George Stillman
+Georgina Hunt
+Gerome Kamrowski
+Giorgio Cavallon
+Grace Hartigan
+Gretna Campbell
+Hale Woodruff
+Hans Burkhardt
+Hans Hartung
+Hans Hofmann
+Harold Frank
+Harold Shapinsky
+Harold Zisla
+Harry Jackson
+Harry Jackson
+Hassel Smith
+Hedda Sterne
+Helen Berman
+Helene Herzbrun
+Helen Frankenthaler
+Henrietta Dubrey
+Herbert Ferber
+Hollis Jeffcoat
+Hortense Gordon
+Hugh Mesibov
+Ibram Lassaw
+Ion Țuculescu
+Isamu Noguchi
+Jack Boynton
+Jack Bush
+Jack Coulter
+Jack Hooper
+Jack Hooper
+Jackson Pollock
+Jack Tworkov
+Jack Whitten
+Jacob Kainen
+Jacques Grinberg
+Jacques Hérold
+Jacques Hurtubise
+Jacques Hurtubise
+Jakob Weidemann
+James Bishop
+James Brooks
+James Brooks
+James Budd Dixon
+James Clifford
+James Clifford
+James Gahagan
+James Kelly
+James Kelly
+James Kelsey
+James Kelsey
+James Rosati
+James Siena
+James Verbicky
+Jane Frank
+Jane Freilicher
+Janet Sobel
+Janice Biala
+Jay Meuser
+Jean Dubuffet
+Jean-Paul Riopelle
+Jeppesen Victor Martin
+Jérôme Btesh
+Jimmy Ernst
+Joan Mitchell
+Joe Overstreet
+Joe Stefanelli
+Joe Stefanelli
+John Altoon
+John Chamberlain
+John Chamberlain
+John Copnall
+John Ferren
+John Harrison Levee
+John Hultberg
+John Levee
+John Opper
+John von Wicht
+Jonas Lundh
+Jon Schueler
+José María Sicilia
+Josep Guinovart
+Joseph Cornell
+Joseph Glasco
+Joseph Goto
+Joseph Pisani
+Judith Godwin
+Jules Olitski
+Julio Rosado del Valle
+Julius Hatofsky
+Kathleen Gemberling Adkison
+Kenneth Noland
+Kenneth O. Goehring
+Kenzo Okada
+Kevin Connor
+Kevin Connor
+Kinuko Emi
+Knox Martin
+Kwon Jung Ho
+Lawrence Calcagno
+Lee Hall
+Lee Hall
+Lee Krasner
+Leo Amino
+Leonor Antunes
+Lester Johnson
+Lester Johnson
+Lilly Fenichel
+Linda Lindeberg
+Lise Gervais
+Lola Liivat
+Louise Bourgeois
+Louise Nevelson
+Louis Schanker
+Louis Siegriest
+Luc Leestemaker
+Ludwig Merwart
+Luke Frost
+Lundy Siegriest
+Mala Breuer
+Malcolm Morley
+Manouchehr Yektai
+Manoucher Yektai
+Manuel Chabrera
+Mark di Suvero
+Mark Rothko
+Mark Tobey
+Marla Olmstead
+Marlene Tseng Yu
+Mary Abbott
+Mary Abbott
+Mary Callery
+Matsumi Kanemitsu
+Max Shertz
+Melville Price
+Mercedes Matter
+Merton Simpson
+Michael Goldberg
+Michael Goldberg
+Michael Loew
+Michelle Gregor
+Milton Resnick
+Minas Avetisyan
+Mino Argento
+Minoru Kawabata
+Miriam Laufer
+Mochtar Apin
+Morris Graves
+Morris Louis
+Nanno de Groot
+Natalia Dumitresco
+Natalie Edgar
+Nathan Oliveira
+Natvar Bhavsar
+Nela Arias-Misson
+Nicholas Hondrogen
+Nicholas Marsicano
+Nicolas Carone
+Nína Tryggvadóttir
+Norman Bluhm
+Norman Lewis
+Norman Lewis
+Onyeka Ibe
+Otto Fried
+Otto Nebel
+Painters Eleven
+Pascal Foucart
+Pat Passlof
+Patricia Hermine Sloane
+Patricio Moreno Toro
+Paul Burlin
+Paul-Émile Borduas
+Paul Giudicelli
+Paul Horiuchi
+Paul Jenkins
+Paul Jenkins
+Paul Wonner
+Perle Fine
+Peter Voulkos
+Philip Guston
+Philip Pavia
+Philippe Pastor
+Phillip Pavia
+Phyllis Wiener
+Piergiorgio Colautti
+Ralph Rosenborg
+Raoul Hague
+Raymond P. Spillenger
+Ray Parker
+Reuben Tam
+Rhea Carmi
+Richard Diebenkorn
+Richard Keyes
+Richard Lippold
+Richard Mayhew
+Richard Pousette-Dart
+Richard Stankiewicz
+Robert De Niro Sr.
+Robert De Niro, Sr.
+Robert Goodnough
+Robert Motherwell
+Robert Richenburg
+Ronan Walsh
+Ronnie Landfield
+Rosemarie Beck
+Roy Newell
+Ruth Asawa
+Sam Francis
+Sam Glankoff
+Samuel Bookatz
+Samuel E. Vázquez
+Sarai Sherman
+Seong Moy
+Serge Poliakoff
+Sergey Bashkirov
+Seymour Boardman
+Seymour Fogel
+Seymour Lipton
+Silvio Formichetti
+Simeon Braguin
+Sonia Gechtoff
+Sonya Rapoport
+Srihadi Soedarsono
+Stanley Twardowicz
+Stephen Greene
+Stephen Greene
+Susan Mohl Powers
+Sydney Ball
+Sylvia Lark
+Taro Yamamoto
+Taro Yamamoto
+Terry Frost
+The Club
+The Club
+The Irascibles
+Theodore Conrath
+Theodore Odza
+Theodore Roszak
+Theodoros Stamos
+Theophilus Brown
+Thomas Sills
+Thornton Willis
+Todd Williamson
+Toko Shinoda
+Tom Boutis
+Tom Savage
+Tom Savage
+Umi Dachlan
+Vincent Cavallaro
+Vincent Pepi
+Virginia Cuppaidge
+Vivian Springford
+Walter Darby Bannard
+Walter Kuhlman
+Wilhelmina Weber Furlong
+Willem de Kooning
+William Baziotes
+William H. Littlefield
+William Melton Halsey
+William Ronald
+William Scharf
+William Walton
+William Walton
+Windsor Utley
+Yiannis Maltezos
+Yuki Katsura
+Zoe Longfield
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/american_impressionism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/american_impressionism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..fefa86e911e54782f0e52acfe7271ca62e1851d8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/american_impressionism.txt
@@ -0,0 +1,88 @@
+Abram Molarsky
+Albert Henry Krehbiel
+Alson S. Clark
+Anna Huntington Stanley
+Arthur Hill Gilbert
+Carl Eytel
+Catherine Wiley
+Charles S. Kaelin
+Childe Hassam
+Christian von Schneidau
+Clara Elsene Peck
+Clark Voorhees
+Colin Campbell Cooper
+Daniel Garber
+Dennis Miller Bunker
+Edgar Alwin Payne
+Edmund Charles Tarbell
+Edmund Greacen
+Edward Charles Volkert
+Edward Francis Rook
+Edward Henry Potthast
+Edward Simmons
+Edward Willis Redfield
+Frank DuMond
+Frank Nuderscher
+Frank Weston Benson
+Frederick Carl Frieseke
+Fred Wagner
+Fritz Poock
+George Herbert Baker
+George Loftus Noyes
+George Sotter
+George W Dinckel
+Guy Rose
+Hayley Lever
+J. Alden Weir
+Johann Berthelsen
+John Elwood Bundy
+John Henry Twachtman
+John Joseph Enneking
+John Leslie Breck
+John Noble Barlow
+John Singer Sargent
+John White Alexander
+Joseph DeCamp
+Joseph Kleitsch
+J. Ottis Adams
+Julian Onderdonk
+Laura Muntz Lyall
+Leonard Ochtman
+Lilla Cabot Perry
+Lucy Bacon
+Marilyn Bendell
+Marion Wachtel
+Martha Walter
+Mary Agnes Yerkes
+Mary Cassatt
+Matilda Browne
+Otto Stark
+Paul Cornoyer
+Paul Sawyier
+Pedro Figari
+Porfirio Salinas
+Reynolds Beal
+Richard Edward Miller
+Richard Gruelle
+Robert F. Gault
+Robert Reid
+Robertson Kirtland Mygatt
+Robert Vonnoh
+Robert William Wood
+Sueo Serisawa
+T. C. Steele
+Theodore Earl Butler
+Theodore Lukits
+Theodore Robinson
+Thomas Dewing
+Thomas P. Barnett
+Tim Solliday
+Van Dearing Perrine
+Victor Matson
+Warren Eugene Brandon
+Willard Metcalf
+William Langson Lathrop
+William McGregor Paxton
+William Merritt Chase
+William Samuel Horton
+Wilson Irvine
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/art_nouveau.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/art_nouveau.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5e9e5f1e4c623bdf9bab9692513c43c418a10595
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/art_nouveau.txt
@@ -0,0 +1,145 @@
+Abel Pann
+Adolf Michael Boehm
+Adolfo Hohenstein
+Adolphe Willette
+Aladár Körösfői-Kriesch
+Alexandre Benois
+Alois Delug
+Alois Hans Schram
+Alphonse Mucha
+Amelia Bauerle
+Annie French
+Anselmo Govi
+Antonio Fabrés
+Antonio Juez Nieto
+Archibald Knox (designer)
+Arnold Lyongrün
+Arthur Frank Mathews
+Austin Osman Spare
+Bela Čikoš Sesija
+Bronisława Janowska
+Bror Geijer Göthe
+Cesare Laurenti (painter)
+Charles Rennie Mackintosh
+Clara Weaver Parrish
+Constant Detré
+Duilio Cambellotti
+Edith Soterius von Sachsenheim
+Edvard Munch
+Egon Schiele
+Elenore Abbott
+Élisabeth Sonrel
+Eliseu Visconti
+Emanuel Vidović
+Emmi Walther
+Ernst Linck
+Erwin Puchinger
+Erwin Stolz
+Eugen Jettel
+Fedir Krychevsky
+Felician Myrbach
+Fernand Toussaint
+Fidus
+Fidushaus
+Francis Jourdain
+Franz Stuck
+Franz von Matsch
+Friedrich König (painter)
+Fritz Mackensen
+Fujishima Takeji
+Galileo Chini
+Georges de Feure
+Gerda Wegener
+Giorgio Ceragioli (sculptor)
+Gojmir Anton Kos
+Gustav Hahn
+Gustav Klimt
+Hans Tichy
+Hans Unger
+Hede von Trapp
+Henri Bellery-Desfontaines
+Henri de Toulouse-Lautrec
+Henri Thiriet
+Henry van de Velde
+Herbert MacNair
+Ion Theodorescu-Sion
+Ivan Milev
+Jaak van Wijck
+J. A. G. Acke
+Jane Atché
+Janis Rozentāls
+Jan Toorop
+Jean Crotti
+Jean de Bosschère
+Jean Dupas
+Jean-Edouard de Castella
+Jean Rouppert
+Jens Lund
+Johann Victor Krämer
+Johan Thorn Prikker
+John Duncan (painter)
+Josef Maria Auchentaller
+Jules Chéret
+Julius Exter
+Kamisaka Sekka
+Karel Vítězslav Mašek
+Konrad Mägi
+Konstantin Korovin
+Konstantin Somov
+Konstanty Laszczka
+Lascăr Vorel
+Léon Bakst
+Leo Putz
+Léo Schnug
+Lucien Lévy-Dhurmer
+Ludwig Fahrenkrog
+Ludwig von Hofmann
+Ludwik Konarzewski
+Marcel Janco
+Marcello Dudovich
+Margaret Macdonald Mackintosh
+Maria Yakunchikova
+Martin Battersby
+Maurice Langaskens
+Maximilian Liebenwein
+Max Kurzweil
+Mihail Simonidi
+Mikalojus Konstantinas Čiurlionis
+Mikhail Vrubel
+Mirko Rački
+Octavian Smigelschi
+Olaf Lange
+Oskar Zwintscher
+Osmar Schindler
+Otto Eckmann
+Prince Eugen, Duke of Närke
+Raphael Kirchner
+Robert Burns (artist)
+Roberto Montenegro
+Robert Pötzelberger
+Rudolf Otto von Ottenfeld
+Sascha Schneider
+Stefan Filipkiewicz
+Ștefan Luchian
+Sydney Long
+Theo Nieuwenhuis
+Théophile Steinlen
+Thomas Theodor Heine
+Tomislav Krizman
+Valentin Držkovic
+Victor Borisov-Musatov
+Victor Prouvé
+__vienna_secession__
+Viktor Oliva
+Vojtěch Hynais
+Vojtěch Preissig
+Wacław Szymanowski
+Wilhelm Bernatzik
+Wilhelm Dachauer
+William Brown Macdougall
+Wojciech Weiss
+Xavier Gosé
+Yelena Polenova
+Ze'ev Raban
+__mir_iskusstva__
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/cloisonnism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/cloisonnism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..76dc0c8cbfdb92d0209eb634b9d7b7cd8f511902
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/cloisonnism.txt
@@ -0,0 +1,3 @@
+Émile Bernard
+Paul Sérusiero
+Louis Anquetin
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/cobs_art_colony.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/cobs_art_colony.txt
new file mode 100644
index 0000000000000000000000000000000000000000..58074280217dfa1c8a58d2b8a93371285bf31ca0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/cobs_art_colony.txt
@@ -0,0 +1,19 @@
+Alice Judson
+Allen Tucker
+Charles Ebert
+Dorothy Ochtman
+Edward Clark Potter
+Elmer Livingston MacRae
+Emil Carlsen
+Ernest Lawson
+Genjiro Yeto
+George Wharton Edward
+Henry Fitch Taylor
+J. Alden Weir
+John Henry Twachtman
+Kerr Eby
+Leonard Ochtman
+Mary Robinson Ebert
+Mina Fitch Ochtman
+Robert Reid
+Theodore Robinson
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/divisionism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/divisionism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9d9abbf7a7e5b495cb2493ab793b9e8e9ec4f86c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/divisionism.txt
@@ -0,0 +1,36 @@
+Adriano Baracchini Caputi
+Angelo Morbelli
+Antonio Discovolo
+Arturo Noci
+Benvenuto Benvenuti
+Carlo Cressini
+Cesare Maggi
+Cesare Monti
+Corrado Michelozzi
+Daniele Ranzoni
+Divisionism
+Emilio Longoni
+Enrico Lionne
+Gaetano Previati
+Georges Seurat
+Gino Severini
+Giovanni Battista Crema
+Giovanni Segantini
+Giovanni Sottocornola
+Giuseppe Carozzi
+Giuseppe Cominetti
+Giuseppe Pellizza da Volpedo
+Giuseppe Viner
+Guglielmo Amedeo Lori
+Henri-Edmond Cross
+Jean Metzinger
+Leonardo Dudreville
+Llewelyn Lloy
+Matteo Olivero
+Paul Signac
+Plinio Nomellini
+Robert Antoine Pinchon
+Robert Delaunay
+Serafino Macchiati
+Umberto Boccioni
+Vittore Grubicy de Dragon
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..90261d7e85a6ed9b7d6c313bb7b327758fe23aae
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism.txt
@@ -0,0 +1,15 @@
+__artists/European Art/modern/expressionism/abstract_impressionism__
+__artists/European Art/modern/expressionism/american_expressionist_painters__
+__artists/European Art/modern/expressionism/american_figurative_expressionism__
+__artists/European Art/modern/expressionism/austrian_expressionist_painters__
+__artists/European Art/modern/expressionism/belgian_expressionist_painters__
+__artists/European Art/modern/expressionism/british_expressionist_painters__
+__artists/European Art/modern/expressionism/diebrucke__
+__artists/European Art/modern/expressionism/expressionism__
+__artists/European Art/modern/expressionism/finnish_expressionist_painters__
+__artists/European Art/modern/expressionism/french_expressionist_painters__
+__artists/European Art/modern/expressionism/german_expressionist_painters__
+__artists/European Art/modern/expressionism/indian_expressionist_painters__
+__artists/European Art/modern/expressionism/russian_expressionist_painters__
+__artists/European Art/modern/expressionism/slovakian_expressionist_painters__
+__artists/European Art/modern/expressionism/spanish_expressionist_painters__
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism/abstract_impressionism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism/abstract_impressionism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0985f5a872a25077c4dbd909b3ead6c09ead416c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism/abstract_impressionism.txt
@@ -0,0 +1,343 @@
+Mary Abbott (artist)
+Kathleen Gemberling Adkison
+Charles Alston
+John Altoon
+Leo Amino
+Félix Anaut
+Leonor Antunes
+Mochtar Apin
+Mino Argento
+Nela Arias-Misson
+Estelle Asmodelle
+Ashot Avagyan
+Minas Avetisyan
+Christine Ay Tjoe
+B
+Alice Baber
+Sydney Ball
+Walter Darby Bannard
+Sergey Bashkirov
+William Baziotes
+Rosemarie Beck
+Anthony Benjamin
+Dan Berger
+Anna-Eva Bergman
+Helen Berman
+Natvar Bhavsar
+Janice Biala
+Adolf Bierbrauer
+Elmer Bischoff
+Norman Bluhm
+Seymour Boardman
+Alexander Bogen
+Dusti Bongé
+Samuel Bookatz
+Paul-Émile Borduas
+Boris Mirski Gallery
+Louise Bourgeois
+Tom Boutis
+Jack Boynton
+Simeon Braguin
+Mala Breuer
+Ernest Briggs
+Gandy Brodie
+James Brooks (painter)
+Theophilus Brown
+Jérôme Btesh
+David Budd
+Evelyn Buff-Segal
+Fritz Bultman
+Charles Ragland Bunnell
+Hans Burkhardt
+Paul Burlin
+Jack Bush
+C
+Charles Cajori
+Lawrence Calcagno
+Mary Callery
+Gretna Campbell
+Captain Beefheart
+Rhea Carmi
+Nicolas Carone
+Vincent Cavallaro
+Giorgio Cavallon
+Manuel Chabrera
+John Chamberlain (sculptor)
+Evgeny Chubarov
+James Clifford (artist)
+The Club (fine arts)
+Calvert Coggeshall
+Piergiorgio Colautti
+Kevin Connor (artist)
+Theodore Conrath
+Barrie Cooke
+Alfred L. Copley
+John Copnall
+Edward Corbett (artist)
+Jack Coulter
+Ben Culwell
+Virginia Cuppaidge
+D
+Umi Dachlan
+Geoffrey de Groen
+Elaine de Kooning
+Willem de Kooning
+Robert De Niro Sr.
+Dorothy Dehner
+Richard Diebenkorn
+James Budd Dixon
+Enrico Donati
+Henrietta Dubrey
+Edward Dugmore
+Natalia Dumitresco
+E
+Natalie Edgar
+Kinuko Emi
+Jimmy Ernst
+F
+Fritz Faiss
+Lilly Fenichel
+Herbert Ferber
+Perle Fine
+Seymour Fogel
+Silvio Formichetti
+Pascal Foucart
+Sam Francis
+Harold Frank
+Jane Frank
+Helen Frankenthaler
+Jane Freilicher
+Otto Fried
+Luke Frost
+Terry Frost
+Wilhelmina Weber Furlong
+G
+James Gahagan
+Sonia Gechtoff
+Angela Gegg
+David Geiser
+Annick Gendron
+Lise Gervais
+Paul Giudicelli
+Sam Glankoff
+Joseph Glasco
+Judith Godwin
+Kenneth O. Goehring
+Michael Goldberg (painter)
+Robert Goodnough
+Hortense Gordon
+Arshile Gorky
+Cleve Gray
+Balcomb Greene
+Stephen Greene (artist)
+Michelle Gregor
+Jacques Grinberg
+Nanno de Groot
+Batia Grossbard
+Josep Guinovart
+Philip Guston
+H
+Lee Hall (artist)
+William Melton Halsey
+Elaine Hamilton-O'Neal
+David Hare (artist)
+Grace Hartigan
+Hans Hartung
+Julius Hatofsky
+Al Held
+Dorothy Heller
+Jacques Hérold
+Helene Herzbrun
+Carle Hessay
+Eleanor Hilowitz
+Hans Hofmann
+Nicholas Hondrogen
+Jack Hooper (artist)
+Georgina Hunt
+Jacques Hurtubise (painter)
+I
+Onyeka Ibe
+The Irascibles
+Albert Irvin
+Alexandre Istrati
+J
+Harry Jackson (artist)
+Barbara Januszkiewicz
+Hollis Jeffcoat
+Paul Jenkins (painter)
+George Johnson (artist)
+Lester Johnson (artist)
+K
+Jacob Kainen
+Yuki Katsura
+Minoru Kawabata
+James Kelly (abstract expressionist artist)
+James Kelsey (sculptor)
+Earl Kerkam
+Eugène de Kermadec
+Richard Keyes
+Franz Kline
+Frances Kornbluth
+Albert Kotin
+Lee Krasner
+Walter Kuhlman
+Kwon Jung Ho
+L
+Ronnie Landfield
+Sylvia Lark
+Franck de Las Mercedes
+Ibram Lassaw
+Miriam Laufer
+Luc Leestemaker
+John Levee
+Norman Lewis (artist)
+Lola Liivat
+Linda Lindeberg
+Seymour Lipton
+William H. Littlefield
+Michael Loew
+Zoe Longfield
+Morris Louis
+David Lund
+Jonas Lundh
+M
+Yiannis Maltezos
+Conrad Marca-Relli
+Nicholas Marsicano
+Agnes Martin
+Jeppesen Victor Martin
+Knox Martin
+Ezio Martinelli
+Georges Mathieu
+Richard Mayhew
+Byron McClintock
+George McNeil (artist)
+Alexander McNeish
+Ludwig Merwart
+Hugh Mesibov
+Jay Meuser
+Fred Mitchell (artist)
+Joan Mitchell
+Malcolm Morley
+George Morrison (artist)
+Robert Motherwell
+Edo Murtić
+N
+Emiko Nakano
+Otto Nebel
+Roy Newell
+Barnett Newman
+Isamu Noguchi
+Kenneth Noland
+O
+Theodore Odza
+Jules Olitski
+Nathan Oliveira
+Marla Olmstead
+Donald P. Olsen
+John Opper
+Alfonso A. Ossorio
+Joe Overstreet
+Christopher Oywecha
+P
+Painters Eleven
+Charlotte Park (artist)
+David Park (painter)
+Pat Passlof
+Philippe Pastor
+Patricia Hermine Sloane
+Philip Pavia
+Vincent Pepi
+Eligio Pichardo
+Earle M. Pilgrim
+Abdul Djalil Pirous
+Joseph Pisani
+Serge Poliakoff
+Charles Pollock
+Jackson Pollock
+Fuller Potter
+Richard Pousette-Dart
+Susan Mohl Powers
+Melville Price
+R
+Sonya Rapoport
+Milton Resnick
+Robert Richenburg
+William Ronald
+Julio Rosado del Valle
+James Rosati
+Ralph Rosenborg
+Mark Rothko
+Alfred Russell (artist)
+Anne Ryan
+S
+Ahmad Sadali
+Alex Salaueu
+Baruj Salinas
+Arthur Sarkissian
+Tom Savage (painter)
+David Sawin
+Louis Schanker
+William Scharf
+Emil Schumacher
+Charles Seliger
+Seong Moy
+Harold Shapinsky
+Sarai Sherman
+Max Shertz
+Toko Shinoda
+José María Sicilia
+Louis Siegriest
+Lundy Siegriest
+James Siena
+David Simpson (artist)
+Merton Simpson
+David Smith (sculptor)
+Hassel Smith
+Amanda Snyder
+Janet Sobel
+Srihadi Soedarsono
+Raymond P. Spillenger
+Vivian Springford
+Theodoros Stamos
+Joe Stefanelli (painter)
+Hedda Sterne
+Clyfford Still
+George Stillman
+David Stromeyer
+T
+Alma Thomas
+Mark Tobey
+Bradley Walker Tomlin
+Patricio Moreno Toro
+Nína Tryggvadóttir
+Ion Țuculescu
+Stanley Twardowicz
+Jack Tworkov
+U
+Windsor Utley
+V
+Samuel E. Vázquez
+James Verbicky
+Esteban Vicente
+W
+Brian Wall
+Ronan Walsh
+William Walton (painter)
+Cora Kelley Ward
+Jakob Weidemann
+Corinne Michelle West
+Jack Whitten
+Phyllis Wiener
+Aubrey Williams
+Todd Williamson
+Thornton Willis
+Paul Wonner
+Dick Wray
+Y
+Taro Yamamoto (artist)
+Manoucher Yektai
+Marlene Tseng Yu
+Adja Yunkers
+Z
+Harold Zisla
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism/american_expressionist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism/american_expressionist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f570e51e4463cabeba1584457edcc4852e449219
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism/american_expressionist_painters.txt
@@ -0,0 +1,60 @@
+Adolph Gottlieb
+Arthur Polonsky
+Benny Andrews
+Boris Deutsch
+Byron Randall
+Charles Demuth
+Clara Ledesma
+David Geiser
+David Park
+David Sawin
+Elaine de Kooning
+Eligio Pichardo
+Elmer Bischoff
+Emmy Lichtwitz Krasso
+Eugene Biel-Bienne
+Fay Peck
+Frank Lobdell
+Frank Okada
+Gene Beery
+Grace Hartigan
+Harold Garde
+Harry Jackson
+Hassel Smith
+Ida Kohlmeyer
+Jack Hooper
+Jacques Kupfermann
+James Bishop
+Jan Müller
+Joan Brown
+Joe Petruccio
+John Beardman
+Joyce Reopel
+Justin McCarthy
+Kevin Larmee
+Lourdes Gomez-Franca
+Lyn Brockway
+Martha Elizabeth Burchfield Richter
+Melanie Kent Steinhardt
+Mel Zabarsky
+Michelle Gregor
+Morris Graves
+Nathan Oliveira
+Norris Embry
+Paul Wonner
+Red Jordan Arobateau
+Renée Radell
+Richard Diebenkorn
+Rudolf Hess
+Russell Frantom
+Sacha Moldovan
+Sally Michel Avery
+Sam Francis
+Sherman Drexler
+Sylvia Dwyer
+Theophilus Brown
+The Ten
+Wilhelmina Weber Furlong
+Willem de Kooning
+William Johnson
+__american_figurative_expressionism__
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism/american_figurative_expressionism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism/american_figurative_expressionism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7a26f909676daf0dadc84d0e21b4906c0f5cb75b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism/american_figurative_expressionism.txt
@@ -0,0 +1,25 @@
+Henrietta Berk
+Elmer Bischoff
+Boris Mirski Gallery
+Joan Brown
+Theophilus Brown
+Elaine de Kooning
+Robert De Niro Sr.
+Charles Demuth
+Richard Diebenkorn
+Sherman Drexler
+Leon Golub
+Michelle Gregor
+Grace Hartigan
+Jack Hooper
+Wolf Kahn
+Frank Lobdell
+Marcia Marcus
+Nathan Oliveira
+David Park
+Renée Radell
+Seymour Rosofsky
+Hassel Smith
+James Weeks
+Paul Wonner
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism/austrian_expressionist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism/austrian_expressionist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f85161058f67a2a5e76f1b8c84d4ac2cda4ae2b4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism/austrian_expressionist_painters.txt
@@ -0,0 +1,10 @@
+Agnes Muthspiel
+Albin Egger-Lienz
+Aloys Wach
+Anton Kolig
+Egon Schiele
+Eugene Biel-Bienne
+Fritz Schwarz-Waldegg
+Josef Gassler
+Oskar Kokoschka
+Richard Gerstl
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism/belgian_expressionist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism/belgian_expressionist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7e0f37018e9cd69a4cb0e35f14c36112569ae300
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism/belgian_expressionist_painters.txt
@@ -0,0 +1,8 @@
+Albert Servaes
+Ernest Welvaert
+Frits Van den Berghe
+Gustave De Smet
+Gustave Van de Woestijne
+James Ensor
+Jean Brusselmans
+Marie Howet
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism/british_expressionist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism/british_expressionist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2c98651c348a9b61d0f9c3d53f401f90f5477dd0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism/british_expressionist_painters.txt
@@ -0,0 +1 @@
+Oskar Kokoschka
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism/diebrucke.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism/diebrucke.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2b4ea21ceb6d2b799c1b75bf00f9347af932cd64
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism/diebrucke.txt
@@ -0,0 +1,7 @@
+Emil Nolde
+Erich Heckel
+Ernst Ludwig Kirchner
+Fritz Bleyl
+Karl Schmidt-Rottluff
+Max Pechstein
+Otto Mueller
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism/expressionism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism/expressionism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2c24376156c33b2caff1a1614e05c12e7d516d42
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism/expressionism.txt
@@ -0,0 +1,287 @@
+Abraham Rattner
+Affandi
+Ahmed Al Safi
+Albert Bloch
+Albert Kotin
+Albert Servaes
+Albert Tucker
+Albin Amelin
+Alexej von Jawlensky
+Alexis Gritchenko
+Alex Salaueu
+Alfred Henry Maurer
+Alfred Kubin
+Alice Neel
+Alvar Cawén
+Amadeo de Souza Cardoso
+Ambroz Testen
+Amedeo Modigliani
+Anita Malfatti
+Anita Rée
+Anto Carte
+António Carneiro
+Arnold Peter Weisz-Kubínčan
+Arthur G. Dove
+Auguste Mambour
+August Macke
+August Strindberg
+Aurél Bernáth
+Axel Törneman
+Beauford Delaney
+Ben Shahn
+Ben-Zion
+Bernard Buffet
+Berta Hansson
+Bill Sienkiewicz
+Broncia Koller-Pinell
+Carlos Enrique Polanco
+Carl Eugen Keel
+Carl Hofer
+Carola Richards
+Charles Blackman
+Charles Burchfield
+Chaïm Soutine
+Christian Rohlfs
+Christoph Voll
+Clifton Pugh
+Clyfford Still
+Conrad Felixmüller
+Constant Permeke
+Cuno Amiet
+Cyprián Majerník
+Cândido Portinari
+Daniel Jouseff
+David Aronson
+David Burliuk
+David Larwill
+Di Cavalcanti
+Dorothea Tanning
+EC Bell
+Earle M. Pilgrim
+Eduard Wiiralt
+Edvard Munch
+Edvard Weie
+Egon Schiele
+Einar Hákonarson
+Einer Johansen
+Elaine de Kooning
+Elfriede Lohse-Wächtler
+Emilio Giuseppe Dossena
+Emily Carr
+Emil Nolde
+Emmy Worringer
+Erich Heckel
+Erland Cullberg
+Ernst Barlach
+Ernst Ludwig Kirchner
+Ester Almqvist
+Esther Rolick
+Eugen von Kahler
+Evert Lundquist
+Ewa Gargulinska
+Ezio Martinelli
+Fedir Manailo
+Feliks Topolski
+Floris Jespers
+Folke Heybroek
+Francis Bacon
+Frank Auerbach
+Franz Marc
+Frits Van den Berghe
+Fritz Ascher
+Fritz Bleyl
+Frédéric Fiebig
+Gabriele Münter
+Gen Paul
+Georges Gimel
+Georges Rouault
+George Biddle
+George Bouzianis
+George Grosz
+Georg Tappert
+Gojmir Anton Kos
+Gregorio Prestopino
+Guglielmo Pizzirani
+Gustave De Smet
+Gustave Van de Woestijne
+Hale Woodruff
+Hanns Katz
+Harold Elliott
+Harry Shoulberg
+Harry Sternberg
+Heinrich Brocksieper
+Heinrich Campendonk
+Hendrik Werkman
+Henryk Gotlib
+Henry Gorski
+Henry Ossawa Tanner
+Herbert Siebner
+Herman Kruyder
+Hilaire Vanbiervliet
+Horia Bernea
+Howard Hodgkin
+Hyman Bloom
+Iberê Camargo
+Ichiro Fukuzawa
+Ilka Gedő
+Ion Țuculescu
+Iosif Iser
+Irma Stern
+Irving Kriesberg
+Isaac Grünewald
+Issachar Ber Ryback
+Ivan Albright
+Ivan Milev
+Jack B. Yeats
+Jack Levine
+Jacques Démoulin
+Jalmari Ruokokoski
+James Ensor
+Jane Peterson
+Jan Sluyters
+Jan Trampota
+Jan Wiegers
+Jay Milder
+Jean-Michel Basquiat
+Johann Robert Schürch
+John Houston
+John Hoyland
+John Lowrie Morrison
+John Perceval
+John Walker
+Josef Gassler
+Joseph Kutter
+Joseph Stella
+Joy Hester
+János Mattis-Teutsch
+Kahlil Gibran
+Kai Fjell
+Kandinsky
+Karen Holtsmark
+Karina Baluyut
+Karl Schmidt-Rottluff
+Karl Zerbe
+Katharina Grosse
+Kathy Muehlemann
+Konrad Krzyżanowski
+Konrad Mägi
+Kuno Veeber
+Käthe Kollwitz
+Kārlis Padegs
+Kōshirō Onchi
+Lasar Segall
+Lascăr Vorel
+Lawrence Calcagno
+Lazar Ličenoski
+Leander Engström
+Leonard Baskin
+Leon Kossoff
+Leo Gestel
+Leo Putz
+Louise Robert
+Lou Albert-Lasard
+Lucian Freud
+Ludwig Meidner
+Luis Filcer
+Lyonel Feininger
+Magda Cordell McHale
+Maggie Laubser
+Marcel Caron
+Marcel Janco
+Marc Chagall
+Marek Żuławski
+Marianne von Werefkin
+Marie-Thérèse Auffray
+Marino Tartaglia
+Marsden Hartley
+Martiros Saryan
+Mathias Goeritz (German émigré to Mexico)
+Maxwell Bates
+Max Beckmann
+Max Kaus
+Max Pechstein
+Max Weber
+Milton Avery
+Mstislav Dobuzhinsky
+Mário Eloy
+Nanno de Groot
+Natalia Goncharova
+Nedim Kufi
+Nicholas Marsicano
+Nicolae Tonitza
+Niklāvs Strunke
+Nikolai Triik
+Nikolaos Lytras
+Norris Embry
+Oskar D'Amico
+Oskar Herman
+Oskar Kokoschka
+Otto Dix
+Otto Mueller
+Patrick Heron
+Paula Modersohn-Becker
+Paul Hartal
+Paul Klee
+Peris Carbonell
+Peter Blume
+Petre Hârtopeanu
+Petre Iorgulescu-Yor
+Philip Evergood
+Philip Guston
+Philip Iverson
+Rahel Szalit-Marcus
+Raquel Forner
+René Beeh
+Richard Gerstl
+Rico Lebrun
+Roberto Matta
+Roberto Melli
+Robert Colquhoun
+Robert Motherwell
+Rolf Nesch
+Rufino Tamayo
+Scuola Romana
+Shalva Kikodze
+Sidney Nolan
+Silvia Cambir
+Stanisław Frenkiel
+Stuart Davis
+Suzanne Perlman
+Tahia Halim
+Theodore Conrath
+Theo van der Horst
+Tinus van Doorn
+Tivadar Kosztka Csontváry
+Tyko Sallinen
+Vadim Meller
+Vera Nilsson
+Vidosava Kovačević
+Vilko Gecan
+Vilmos Aba-Novák
+Vincent van Gogh
+Wassily Kandinsky
+Werner Neuhaus
+Wilhelmina Weber
+Wilhelmina Weber Furlong
+Wilhelm Lehmbruck
+Willem Hofhuizen
+Willem de Kooning
+William Gropper
+Wolfgang Degenhardt
+Wolf Kibel
+Wäinö Aaltonen.
+Yasuo Kuniyoshi
+Yitzhak Frenkel
+Yuichiro Ando
+Zvi Malnovitzer
+__american_expressionist_painters__
+__austrian_expressionist_painters__
+__belgian_expressionist_painters__
+__british_expressionist_painters__
+__finnish_expressionist_painters__
+__french_expressionist_painters__
+__german_expressionist_painters__
+__indian_expressionist_painters__
+__rusian_expressionist_painters__
+__slovakian_expressionist_painters__
+__spanish_expressionist_painters__
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism/finnish_expressionist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism/finnish_expressionist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..095cf6a02eaaef5a35cdeb2e3e30d325efc1590a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism/finnish_expressionist_painters.txt
@@ -0,0 +1,6 @@
+Alvar Cawén
+Ellen Thesleff
+Ilmari Aalto
+Marcus Collin
+November Group (Finland)
+Väinö Kunnas
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism/french_expressionist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism/french_expressionist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8e3474085121ed78761c92399641d47c77c9dfa7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism/french_expressionist_painters.txt
@@ -0,0 +1,7 @@
+Chaïm Soutine
+Claire Bertrand (painter)
+Francis Gruber
+Gen Paul
+Georges Gimel
+Georges Rouault
+Lou Ros
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism/german_expressionist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism/german_expressionist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..265e71bdd5f68960c59e182c1f5c1d0cbbb11c46
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism/german_expressionist_painters.txt
@@ -0,0 +1,88 @@
+Adolf Erbslöh
+Alexander Mohr
+Alexej von Jawlensky
+August Macke
+Bernhard Hoetger
+Carle Hessay
+Carl Heidenreich
+Carl Rabus
+Cesar Klein
+Christian Rohlfs
+Christian Schad
+Conrad Felixmüller
+Curt Echtermeyer
+Curt Stoermer
+Dora Bromberger
+Doramaria Purschian
+Egon Tschirch
+Elfriede Lohse-Wächtler
+Else Hertzer
+Else Meidner
+Else Sehrig-Vehling
+Emil Nolde
+Erich Buchholz
+Erich Heckel
+Erich Kahn
+Ernst Ludwig Kirchner
+Franz Bronstert
+Franz Marc
+Franz Monjau
+Franz Nölken
+Friedrich von Bömches
+Fritz Stuckenberg
+Gabriele Münter
+George Grosz
+Georg Philipp Wörlen
+Georg Schrimpf
+Georg Tappert
+Hanns Bolz
+Hans Brasch
+Hedwig Marquardt
+Heinrich Campendonk
+Heinrich Nauen
+Heinrich Stegemann
+Heinz Tetzner
+Hermann Sehrig
+Hermann Stenner
+Julo Levin
+Karl Caspar
+Karl Hofer
+Karl Schmidt-Rottluff
+Käthe Kollwitz
+Käthe Schuftan
+Lette Valeska
+Lovis Corinth
+Ludwig Meidner
+Margret Hofheinz-Döring
+Maria Caspar-Filser
+Marta Worringer
+Max Beckmann
+Max Dungert
+Max Kaus
+Max Pechstein
+Oskar Moll
+Otto Dix
+Otto Gleichmann
+Otto Hettner
+Otto Illies
+Otto Lange
+Otto Mueller
+Otto Neumann (artist)
+Paula Modersohn-Becker
+Paul Gösch
+Peter August Böckstiegel
+Peter Ludwigs
+Philipp Bauknecht
+Pol Cassel
+Ricarda Jacobi
+Richard Simon (painter)
+Robert Friedrich Karl Scholtz
+Rolf Nesch
+Rudolf Kortokraks
+Selma Des Coudres
+Steffen Thomas
+Walter Gramatté
+Wenzel Hablik
+Wilhelm Morgner
+Willy Jaeckel
+__diebrucke__
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism/indian_expressionist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism/indian_expressionist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a271dc37be3c55e57b8f863475637ab5b2a41f86
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism/indian_expressionist_painters.txt
@@ -0,0 +1,10 @@
+Cheenu Pillai
+Devender Singh
+F. N. Souza
+Ganesh Pyne
+Gurcharan Singh (painter)
+Jangarh Singh Shyam
+S. H. Raza
+Sohan Qadri
+Sunil Das
+Tyeb Mehta
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism/russian_expressionist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism/russian_expressionist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..468ff1ce9d75bfc0c43c6c7a538d7cbd9046cba6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism/russian_expressionist_painters.txt
@@ -0,0 +1,3 @@
+Wassily Kandinsky
+Natta Konysheva
+Nikolai Vasilievich Kuzmin
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism/slovakian_expressionist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism/slovakian_expressionist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f742247bdc35e7fa344872ec75032653ff387a0e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism/slovakian_expressionist_painters.txt
@@ -0,0 +1 @@
+Julius Podlipny
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism/spanish_expressionist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism/spanish_expressionist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..21c994e567a0905c2265f12d61f251cc25e79c91
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/expressionism/spanish_expressionist_painters.txt
@@ -0,0 +1,6 @@
+Antonio Rodríguez Luna
+Antón Lamazares
+Esperanza Zabala
+José Guerrero
+José Gutiérrez Solana
+Ramón Castellano de Torres
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/fauvism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/fauvism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..50e5283f6109e4aa650845cbbdc92ebabc45c901
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/fauvism.txt
@@ -0,0 +1,26 @@
+Albert Marquet
+André Derain
+August acke
+{Balthus|Balthasar Klossowski}
+Charles Camoin
+David Davidovich Burliuk
+Edgar Degas
+Francis Picabia
+Georges Braque
+Georges Rouault
+Henri Matisse
+Jan Sluyters
+Joan Miro
+Kazimir Severinovich Malevich
+Konstantinos Parthenis
+Louis Valtat
+Marc Chagall
+Marcel Duchamp
+Maurice De Vlaminck
+Max Beckmann
+Natalia Sergeevna Goncharova
+Piet Mondrian
+Pyotr Konchalovsky
+Raoul Dufy
+Roger De La Fresnaye
+{Sonia Delaunay|(Sarah Ilinitchna Stern}
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/hagenbund.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/hagenbund.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4131c3bd844a31bad8541e952fef3c192e986396
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/hagenbund.txt
@@ -0,0 +1,181 @@
+Adolf Gross
+Adolf Lunt
+Albert Reuss
+Alexander Demetrius Goltz
+Alfons Purtscher
+Alfred Cossmann
+Alfred Keller
+Alfred Loeb
+Alfred Wesemann
+Alfred Zoff
+Alois Leopold Seibold
+Anders Zorn
+Anna Lesznai
+Anny Schröder-Ehrenfest
+Anton Bleichsteiner
+Anton Peschka
+Artur Oscar Alexander
+August Hoffmann von Vestenhof
+Augustin Roth
+Béni Ferenczy
+Bettina Ehrlich
+Bohumír Jaroněk
+Carl Fahringer
+Carl Olof Larsson
+Carry Hauser
+Clemens von Pausinger
+Eduard Amseder
+Eduard Gaertner
+Eduard Kasparides
+Eduard Thöny
+Elsa Kalmár von Köveshazi
+Emanuel Franz Hegenbarth
+Emerich Schaffran
+Emil Strecker
+Ernst Paar
+Ernst Paye
+Ernst Wagner
+Erwin Lang
+Eugen Sturm-Skrla
+Extraordinary Members
+Felix Albrecht Hart
+Ferdinand Dorsch
+Ferdinand Ludwig Graf
+Ferdinand Michl
+Ferdinand Schirnböck
+Ferdinand Staeger
+Ferdinand Stransky
+Ferdinand von Rezniček
+Franz Barwig
+Franziska Zach
+Franz Lerch
+Franz Polzer
+Franz Thiele
+Frieda Salvendy
+Friedrich Aduatz
+Friedrich von Knapitsch
+Friedrich von Radler
+Fritz Berthold Neuhaus
+Fritz Gross
+Fritz Hegenbart
+Fritz Schwarz-Waldegg
+Georg Ehrlich
+Georg Jung
+Georg Mayer-Marton
+Georg Merkel
+Georg Pevetz
+Georg Philipp Wörlen
+Gino Parin
+Gottfried Richter
+Gotthardt Kuehl
+Gustav Bamberger
+Gustav Gurschner
+Hans Bren
+Hans Hloucal
+Hans Letz
+Hans Ranzoni der Ältere
+Hans Sidonius Becker
+Hans von Hayek
+Hans Wilt
+Heinrich Lefler
+Heinrich Revy
+Heinrich Tomec
+Heinrich von Zügel
+Heinrich Zita
+Heinz Steiner
+Henryk Uziembło
+Herbert Schaffgotsch
+Heribert Potuznik
+Hermine Aichenegg
+Hildegard Jone-Humplik
+Hugo Baar
+Imre Simay
+Jacob Glasner
+Jacob Low
+Johanna Kampmann-Freund
+Johannes Fischer
+Johann Nepomuk Geller
+Johann Rathausky
+Josef Dobner
+Josef Floch
+Josef Heu
+Josef Humplik
+Josef Karl Rumpold
+Josef Straka
+Josef Tautenhayn
+Joseph Urban
+Josep Johann Beyer
+Julius Paul Junghanns
+Kark Ludwig Hassmann
+Karl Alexander Wilke
+Karl Hauk
+Karl Huck
+Karl Josef Gunsam
+Karl Markus
+Karl Mediz
+Karl O'Lynch, Alm Landschaft
+Karl O'Lynch von Town
+Karl Pippich
+Karl Stemolak
+Kazimierz Sichulski
+Konrad Widter
+Leo Delitz
+Leopold Blauensteiner
+Leopold Burger
+Leopold Gottlieb
+Lilly Steiner
+Lois Pregartbauer
+Ludvík Kuba
+Ludwig Heinrich Jungnickel
+Ludwig von Zumbusch
+Maria Fischer
+Maximilian Kahrer
+Maximilian Reinitz
+Maximilian Suppantschitsch
+Michael Powolny
+Nora Purtscher-Wydenbruck
+Oskar Felgel
+Oskar Laske
+Otto Bariedl
+Otto Barth
+Otto Bruenauer
+Otto Hoffmann
+Otto Rudolf Schatz
+Paul Johann Ress
+Peter Breithut
+Raimund Germela
+Raoul Frank
+Richard Drasche-Wartinberg
+Richard Lux
+Robert Fink
+Robert Kloss
+Robert Kohl
+Robert Oerley
+Robert Pajer-Gartegen
+Robert Phillipi
+Robert Schiff
+Robin Christian Andersen
+Rolf Eugen Heger
+Rudolf Buchner
+Rudolf Fanner
+Rudolf Junk
+Rudolf Konopa
+Rudolf Pointner
+Rudolf Sieck
+Rudolf Tropsch
+Rudolph Bachmann
+Sigmund Walter Hampel.
+Theodore Fried
+Theodor Kern
+Theodor Stundl
+Thomas Dobner
+Thomas Riss
+Tibor Gergely
+Viktor Echhardt von Eckardsburg
+Viktor Planckh
+Viktor Tischler
+Wilhelm Hedger
+Wilhelm Kaufmann
+Wilhelm Klier
+Wilhelm Wodnansky
+Wunibald Deininger
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/heidelberg_school.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/heidelberg_school.txt
new file mode 100644
index 0000000000000000000000000000000000000000..161c43c7e4afd11e06474e12d1a793785ad692bd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/heidelberg_school.txt
@@ -0,0 +1,21 @@
+Albert Henry Fullwood
+Arthur Streeton
+Charles Conder
+Charles Douglas Richardson
+Clara Southern
+David Davies
+Emanuel Phillips Fox
+Ethel Carrick Fox
+Frederick McCubbin
+Ina Gregory
+Jane Price
+Jane Sutherland
+John Llewellyn Jones
+John Mather
+Julian Ashton
+Leon Pole
+Louis Abrahams
+Tom Humphrey
+Tom Roberts
+Tudor St. George Tucker
+Walter Withers
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1e4a74bed19edb1df584d773f3574c01b2f4b226
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism.txt
@@ -0,0 +1,97 @@
+Adele Williams
+Alfred Sisley
+Ali Nemah o Neema
+Androniqi Zengo Antoniu
+Antonín Hudeček
+Armand Guillaumin
+Auguste Renoir
+Benedicto Ducat
+Berthe Morisot
+Camille Pissarro
+Claude Monet
+Darío Suro
+Derric Van Rensburg
+Diego Rivera
+Dina Nath Walli
+Edgar Degas
+Édouard Manet
+Emilio Boggio
+Emil Wiesel
+Enrico Risi
+Erin Hanson
+Ethel Carrick
+Farid Mansour
+François Gall
+Frédéric Bazille
+Fujishima Takeji
+Fyodor Zakharov
+Gustave Caillebotte
+Henri Matisse
+Henri Michel-Lévy
+Henri Rousseau
+Hugo Mühlig
+Ilya Repin
+Iso Rae
+Ivan Trush
+James Ensor
+John Henry Twachtman
+Jozef Teodor Mousson
+Juan Luna
+Leonid Afremov
+Leonid Mezheritski
+Lin Hejie
+Mary Cassatt
+Mary Perkins Taylor
+Mary Teasdel
+Max Liebermann
+Michalis Oikonomou
+Milo Milunović
+Otto Schneider
+Paul Burman
+Paul Cézanne
+Paul-Émile Pissarro
+Pierre-Auguste Renoir
+Serhii Vasylkivsky
+Sophia Laskaridou
+Spiros Pizanis
+Takanori Kinoshita
+Thomas Kinkade
+Tonal Impressionism
+Van Dearing Perrine
+Van Gogh
+Vasyl Krychevsky
+William Glackens
+__artists/European Art/modern/impressionism/american_impressionist_painters__
+__artists/European Art/modern/impressionism/austrian_impressionist_painters__
+__artists/European Art/modern/impressionism/autstralian_impressionist_painters__
+__artists/European Art/modern/impressionism/belgian_impressionist_painters__
+__artists/European Art/modern/impressionism/brazilian_impressionist_painters__
+__artists/European Art/modern/impressionism/british_impressionist_painters__
+__artists/European Art/modern/impressionism/canadian_impressionist_painters__
+__artists/European Art/modern/impressionism/chinese_impressionist_painters__
+__artists/European Art/modern/impressionism/czech_impressionist_painters__
+__artists/European Art/modern/impressionism/dutch_impressionist_painters__
+__artists/European Art/modern/impressionism/egyptian_impressionist_painters__
+__artists/European Art/modern/impressionism/german_impressionist_painters__
+__artists/European Art/modern/impressionism/hungarian_impressionist_painters__
+__artists/European Art/modern/impressionism/icelandic_impressionist_painters__
+__artists/European Art/modern/impressionism/indian_impressionist_painters__
+__artists/European Art/modern/impressionism/irish_impressionist_painters__
+__artists/European Art/modern/impressionism/italian_impressionist_painters__
+__artists/European Art/modern/impressionism/latvian_impressionist_painters__
+__artists/European Art/modern/impressionism/lebanese_impressionist_painters__
+__artists/European Art/modern/impressionism/luxembourgian_impressionist_painters__
+__artists/European Art/modern/impressionism/mexican_impressionist_painters__
+__artists/European Art/modern/impressionism/norweigian_impressionist_painters__
+__artists/European Art/modern/impressionism/polish_impressionist_painters__
+__artists/European Art/modern/impressionism/romanian_impressionist_painters__
+__artists/European Art/modern/impressionism/russian_impressionist_painters__
+__artists/European Art/modern/impressionism/serbian_impressionist_painters__
+__artists/European Art/modern/impressionism/slovenian_impressionist_painters__
+__artists/European Art/modern/impressionism/soviet_impressionist_painters__
+__artists/European Art/modern/impressionism/spanish_impressionist_painters__
+__artists/European Art/modern/impressionism/swedish_impressionist_painters__
+__artists/European Art/modern/impressionism/swiss_impressionist_painters__
+__artists/European Art/modern/impressionism/ten_american_painters__
+__artists/European Art/modern/impressionism/turkish_impressionist_painters__
+__artists/European Art/modern/impressionism/ukranian_impressionist_painters__
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/american_impressionism/baum_circle.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/american_impressionism/baum_circle.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c2b8674a3d0ec0413affca40685c0b513a7155c5
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/american_impressionism/baum_circle.txt
@@ -0,0 +1,3 @@
+Arlington Nelson Lindenmuth
+John E. Berninger
+Karl Buesgen
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/american_impressionism/boston_school.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/american_impressionism/boston_school.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7149f49d4333847edb07543bf2aa4db0f559fc64
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/american_impressionism/boston_school.txt
@@ -0,0 +1,16 @@
+Aldro Hibbard
+Edmund C. Tarbell
+Elizabeth Okie Paxton
+Frank Weston Benson
+Frederic Porter Vinton
+Gertrude Fiske
+Gretchen Woodman Rogers
+John Joseph Enneking
+Joseph DeCamp
+Laura Coombs Hills
+Lilian Westcott Hale
+Lilla Cabot Perry
+Marguerite Stuber Pearson
+Philip Leslie Hale
+R. H. Ives Gammell
+William McGregor Paxton
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/american_impressionism/pennsylvania_impressionist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/american_impressionism/pennsylvania_impressionist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e13349a22ff70ec128b26b36efcb4d967196699b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/american_impressionism/pennsylvania_impressionist_painters.txt
@@ -0,0 +1,20 @@
+Charles Rosen
+Daniel Garber
+Edward Willis Redfield
+Fern Coppedge
+George Sotter
+Harry Leith-Ross
+Henry B. Snell
+Herbert Pullinger
+John Fulton Folinsbee
+John Wells James
+L. Birge Harrison
+Mary Elizabeth Price
+Morgan Colt
+Nate Dunn
+Rae Sloan Bredin
+Robert Spencer
+Roy Cleveland Nuse
+Walter Elmer Schofield
+Walter Emerson Baum
+William Langson Lathrop
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/american_impressionist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/american_impressionist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6791452de81b92cf0887a137becdd4a344ad9bad
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/american_impressionist_painters.txt
@@ -0,0 +1,202 @@
+Abby Williams Hill
+Abram Molarsky
+Adele Williams
+Agnes Millen Richmond
+Albert Clinton Conner
+Albert Henry Krehbiel
+Alphonse Maureau
+Alson S. Clark
+André Gisson
+Anita Miller Smith
+Anita Willets-Burnham
+Anna Althea Hills
+Anna Huntington Stanley
+Annie Traquair Lang
+Anni von Westrum Baldaugh
+Arlington Nelson Lindenmuth
+Armin Hansen
+Arthur Hill Gilbert
+Arthur Prince Spear
+Augustus Dunbier
+August Gay
+Baum Circle
+Brendan O'Connell
+Carl Eytel
+Carl Graf
+Carl Hoppe
+Carl Thorp
+Catherine Wiley
+Charles Arthur Fries
+Charles Fremont Conner
+Charles Harold Davis
+Childe Hassam
+Christian von Schneidau
+Clark Voorhees
+Clifton Wheeler
+Colin Campbell Cooper
+Daniel Garber
+Dennis Miller Bunker
+Dorothy Morlan
+Dulah Marie Evans
+Edith Mitchill Prellwitz
+Edmund C. Tarbell
+Edmund Greacen
+Edward Charles Volkert
+Edward Dufner
+Edward Francis Rook
+Edward Henry Potthast
+Edward L. Loper Sr.
+Edward Simmons
+Edward Willis Redfield
+Effie Anderson Smith
+Eleanor Norcross
+Elizabeth Charleston
+Elizabeth Horman
+Elmer Wachtel
+Emile Gruppe
+Emil Bisttram
+Emil Carlsen
+Emma B. King
+Emma Mendenhall
+Ernest Lawson
+Esther Rose
+Ethel Blanchard Collver
+Ettore DeGrazia
+Eugene Paul Ullman
+Everett Warner
+E. Charlton Fortune
+Felix F. de Crano
+Fern Coppedge
+Francisco Oller
+Francis Focer Brown
+Frank Cuprien
+Frank DuMond
+Frank Harmon Myers
+Frank J. Girardin
+Frank Nuderscher
+Frederick Carl Frieseke
+Fred Wagner
+George Gallo
+George Gardner Symons
+George Herbert Baker
+George Loftus Noyes
+George Newell Bowers
+George Wharton Edwards
+Granville Redmond
+Guy Rose
+Harry Hoffman
+Hayley Lever
+Helene Hibben
+Helen Turner
+Henry B. Snell
+Henry Mortikar Rosenberg
+Henry Prellwitz
+Henry Salem Hubbell
+Herman Rose
+Ira J. Deen
+Irving Ramsey Wiles
+Jack Coggins
+James Abbott McNeill Whistler
+James Carroll Beckwith
+Jane Peterson
+Jennie V. Cannon
+Jessie Arms Botke
+Johann Berthelsen
+John Elwood Bundy
+John E. Berninger
+John Francis Murphy
+John Fulton Folinsbee
+John F. Carlson
+John Joseph Enneking
+John Leslie Breck
+John Willard Raught
+Joseph DeCamp
+Joseph Kleitsch
+Joseph Raphael
+Joseph Thurman Pearson Jr.
+Julian Onderdonk
+J. Alden Weir
+J. Ottis Adams
+Karl Buesgen
+Kate Freeman Clark
+Kathryn E. Cherry
+Lars Jonson Haukaness
+Lawrence Harris
+Lawton S. Parker
+Leonard Ochtman
+Lewis Henry Meakin
+Lilla Cabot Perry
+Lindsay Dawson
+Louis Ritman
+Lucy Bacon
+Lucy Hayward Barker
+Marian T. MacIntosh
+Marilyn Bendell
+Marion Wachtel
+Martha Walter
+Martinus Andersen
+Mary Bradish Titcomb
+Mary Cassatt
+Mary Curtis Richardson
+Mary Elizabeth Price
+Mary Perkins Taylor
+Mathias Alten
+Matilda Auchincloss Brownell
+Matilda Browne
+Maurice Braun
+M. Evelyn McCormick
+Mārtiņš Krūmiņš
+Nate Dunn
+Orlando Gray Wales
+Otto Stark
+Paulette Van Roekens
+Paul Dougherty
+Paul R. Schumann
+Paul Sawyier
+Peter Alfred Gross
+Philip Leslie Hale
+Porfirio Salinas
+Reynolds Beal
+Richard E. Miller
+Richard Gruelle
+Richard H. Bassett
+Rita Asfour
+Robert B. Sherman
+Robert Malcolm Rucker
+Robert Marshall Root
+Robert Philipp
+Robert Reid
+Robert Vonnoh
+Roger Wilson Dennis
+Rowena Meeks Abdy
+Roy Cleveland Nuse
+Samuel Burtis Baker
+Simon Baus
+Stokely Webster
+Sueo Serisawa
+Svend Rasmussen Svendsen
+Theodore Earl Butler
+Theodore Robinson
+Thomas Darnell
+Thomas Dewing
+Thomas Lorraine Hunt
+Thomas P. Barnett
+T. C. Steele
+Walter Emerson Baum
+Walter Hixon Isnogle
+Warren Eugene Brandon
+Wilhelmina Weber Furlong
+Willard Metcalf
+William Chadwick
+William Forsyth
+William H. Clapp
+William Langson Lathrop
+William McGregor Paxton
+William Merritt Chase
+William Moise
+William Starkweather
+Wilson Irvine
+__american_impressionism/baum_circle__
+__american_impressionism/boston_school__
+__american_impressionism/pennsylvania_impressionist_painters__
+__american_impressionism/ten_american_painters__
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/austrian_impressionist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/austrian_impressionist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f8dbb45e5f6953fecc4e4248dfba11b108d67275
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/austrian_impressionist_painters.txt
@@ -0,0 +1,3 @@
+Heinz Anger
+Maximilian Liebenwein
+Wilhelm Bernatzik
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/autstralian_impressionist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/autstralian_impressionist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..46ab55097ab36a6be8e2873328e59472f3998aaf
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/autstralian_impressionist_painters.txt
@@ -0,0 +1,7 @@
+Alfred Coleman
+Arthur Baker-Clack
+Emma Minnie Boyd
+Jane Sutherland
+John Russell
+Kathleen O'Connor
+Will Ashton
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/belgian_impressionist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/belgian_impressionist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f1b836cb1815417cde9fa65490d76e2eee02a72e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/belgian_impressionist_painters.txt
@@ -0,0 +1,13 @@
+Ernest Welvaert
+Evert Larock
+Frantz Charlet
+Fritz de Brouckère
+Georges Lebacq
+Guillaume Vogels
+Henry Luyten
+Jef Dutilleux
+Jenny Montigny
+Juliette Wytsman
+Leo Van Paemel
+Pieter Franciscus Dierckx
+Rodolphe Wytsman
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/brazilian_impressionist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/brazilian_impressionist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b82c63ef5b45a8b635d670f9bc42966fdc109077
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/brazilian_impressionist_painters.txt
@@ -0,0 +1,2 @@
+Eliseu Visconti
+Georgina de Albuquerque
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/british_impressionist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/british_impressionist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6aea06293f8eace8eba64fffd77fcb137e80730e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/british_impressionist_painters.txt
@@ -0,0 +1,35 @@
+Albert Julius Olsson
+Alexander Mann
+Alfred Sisley
+Algernon Talmage
+Amy Katherine Browning
+Arthur Diehl
+Charles W. Bartlett
+Dawson Dawson-Watson
+Dugald Sutherland MacColl
+Edward Stott
+Frederick Hall
+George Paul Chalmers
+Gladys Maccabe
+Henry Tonks
+Jack Coggins
+James Campbell Noble
+John Alexander Ford
+John Henderson
+John Menzies
+John Noble Barlow
+Joseph Franklin Kershaw
+Joseph Henderson
+Joseph Morris Henderson
+Leslie Hunter
+Paul Fordyce Maitland
+Philip Wilson Steer
+Robert McGregor
+Roy Petley
+Sydney Starr
+Victor Noble Rainbird
+Walter Sickert
+Wilfrid de Glehn
+William McTaggart
+William Stott
+Wynford Dewhurst
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/canadian_impressionist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/canadian_impressionist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b8d15c7f215f7ed656f51af6f46e95a55ff13669
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/canadian_impressionist_painters.txt
@@ -0,0 +1,42 @@
+Alberta Cleland
+Arthur Dominique Rozaire
+Arthur Lismer
+A. Y. Jackson
+Clarence Gagnon
+David Milne
+Edwin Holgate
+Emily Carr
+Ernest Lawson
+Euphemia McNaught
+Florence Carlyle
+Franklin Brownell
+George Agnew Reid
+Helen McNicoll
+Henri Beau
+Henry Mortikar Rosenberg
+James Wilson Morrice
+J. E. H. MacDonald
+J. M. Barnsley
+John Young Johnstone
+Joseph-Charles Franchère
+Kathleen Morris
+Lars Jonson Haukaness
+Laura Muntz Lyall
+Lawren Harris
+Lionel LeMoine FitzGerald
+Mabel May
+Marc-Aurèle de Foy Suzor-Coté
+Mary Alexandra Bell Eastlake
+Maurice Cullen
+Ottilie Palm Jost
+Paul Peel
+Prudence Heward
+Raoul Barré
+Robert Harris
+Robert Kost
+Samir Sammoun
+Sophie Pemberton
+Tom Thomson
+William Blair Bruce
+William Brymner
+William H. Clapp
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/chinese_impressionist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/chinese_impressionist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f58bd5afdeddc605799e45dee981da568b65c8ab
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/chinese_impressionist_painters.txt
@@ -0,0 +1 @@
+Wu Guanzhong
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/czech_impressionist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/czech_impressionist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d99b1ab49423bff6d57cc2ec36e59297a823ad43
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/czech_impressionist_painters.txt
@@ -0,0 +1,5 @@
+Antonín Chittussi
+Antonín Slavíček
+Jan Slavíček
+Václav Radimský
+Valentin Držkovic
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/dutch_impressionist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/dutch_impressionist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3d652549e94a9d25fa9abc12c81b46172a0c640a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/dutch_impressionist_painters.txt
@@ -0,0 +1,12 @@
+Erik Hoppe
+Harald Giersing
+Jens Søndergaard
+Karl Bovin
+Knud Agger
+Niels Lergaard
+Olaf Rude
+Oluf Høst
+Sigurd Swane
+Theodor Philipsen
+Viggo Rørup
+Vilhelm Lundstrøm
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/egyptian_impressionist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/egyptian_impressionist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8857e8a3eb79f24ce979abfd88ac503f29a193a2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/egyptian_impressionist_painters.txt
@@ -0,0 +1,2 @@
+Chafik Charobim
+Tahia Halim
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/german_impressionist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/german_impressionist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a106950eb6a66048480d5eafcdda79d5ebd6caf8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/german_impressionist_painters.txt
@@ -0,0 +1,46 @@
+Annot
+Arnold Lyongrün
+Arthur Langhammer
+Arthur Siebelist
+August Deusser
+August Lemmer
+August von Brandis
+Carl August Heinrich Ferdinand Oesterley
+Carl Ernst Bernhard Jutz
+Carl Geist
+Charles Johann Palmié
+Curt Herrmann
+Ernst Oppler
+Eugen Bracht
+Friedrich Eckenfelder
+Georg Arnold-Graboné
+Georg Burmester
+Gotthardt Kuehl
+Hans am Ende
+Hans von Hayek
+Heinrich Breling
+Heinrich von Zügel
+Helene Cramer
+Karl Caspar
+Karl Walther
+Leo Putz
+Lesser Ury
+Lovis Corinth
+Ludwig Dettmann
+Maria Caspar-Filser
+Max Dauthendey
+Max Liebermann
+Max Rabes
+Max Schlichting
+Max Slevogt
+Molly Cramer
+Osmar Schindler
+Otto Heichert
+Otto Reiniger
+Paul Klimsch
+Philipp Franck
+Robert Weise
+Rudolf Höckner
+Theo von Brockhusen
+Thomas Herbst
+Waldemar Rösler
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/hungarian_impressionist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/hungarian_impressionist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..52f75dd4fe557de23406ae5f1319789522459eba
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/hungarian_impressionist_painters.txt
@@ -0,0 +1,4 @@
+Ernő Tibor
+Károly Ferenczy
+László Paál
+Pál Szinyei Merse
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/icelandic_impressionist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/icelandic_impressionist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d1378b76a1a22d81919c7bc64fe4572a1d63ee9a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/icelandic_impressionist_painters.txt
@@ -0,0 +1 @@
+Ásgrímur Jónsson
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/indian_impressionist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/indian_impressionist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1cf08a222344ea00603efd42411e3909fd743233
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/indian_impressionist_painters.txt
@@ -0,0 +1 @@
+Ananta Mandal
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/irish_impressionist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/irish_impressionist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4a4f60a4c18d675d36e8eb02f38892a2e4e2e442
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/irish_impressionist_painters.txt
@@ -0,0 +1,11 @@
+Aloysius O'Kelly
+Egerton Coghill
+Frank McKelvey
+Frank O'Meara
+Gerard Byrne
+John Lavery
+Nathaniel Hill
+Roderic O'Conor
+Sheila McClean
+Walter Osborne
+William John Leech
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/italian_impressionist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/italian_impressionist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..223120aa3d51cbfd92015f2a86e167116fe82007
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/italian_impressionist_painters.txt
@@ -0,0 +1,3 @@
+Eliseu Visconti
+Federico Zandomeneghi
+Giuseppe De Nittis
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/latvian_impressionist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/latvian_impressionist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e75f77a1d87f3bef2086bd18ce49e55460316cd8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/latvian_impressionist_painters.txt
@@ -0,0 +1 @@
+Mārtiņš Krūmiņš
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/lebanese_impressionist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/lebanese_impressionist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..547aa105eb41b7727b563a81a73ddcc537003afd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/lebanese_impressionist_painters.txt
@@ -0,0 +1,2 @@
+Farid Mansour
+Omar Onsi
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/luxembourgian_impressionist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/luxembourgian_impressionist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..096dc3a8d7cbdcd38ff7094e0b2719b73d317049
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/luxembourgian_impressionist_painters.txt
@@ -0,0 +1,3 @@
+Dominique Lang
+Frantz Seimetz
+Joseph Kutter
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/mexican_impressionist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/mexican_impressionist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4eb0d73676dad0e1579161940274e940cf01cab3
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/mexican_impressionist_painters.txt
@@ -0,0 +1,2 @@
+Francisco Romano Guillemin
+Joaquín Clausell
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/norweigian_impressionist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/norweigian_impressionist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..bc64296ed8e50cb1c14a33d5718dcaefdcf3c174
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/norweigian_impressionist_painters.txt
@@ -0,0 +1,5 @@
+Frits Thaulow
+Lars Jonson Haukaness
+Marie Løkke
+Svend Rasmussen Svendsen
+Thore Heramb
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/polish_impressionist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/polish_impressionist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..cbf521f6933d08f9046d876000c81b7675239d8b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/polish_impressionist_painters.txt
@@ -0,0 +1,5 @@
+Jan Ciągliński
+Józef Pankiewicz
+Julian Fałat
+Marcin Kitz
+Władysław Podkowiński
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/romanian_impressionist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/romanian_impressionist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..42749bbaf251baec316331dfb48361f8c3188b9d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/romanian_impressionist_painters.txt
@@ -0,0 +1,5 @@
+Ion Theodorescu-Sion
+Nicolae Dărăscu
+Nicolae Grigorescu
+Ștefan Luchian
+Vasile Hutopilă
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/russian_impressionist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/russian_impressionist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b20fa42ce463474245c4c2d2d5b56f45e9c36aec
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/russian_impressionist_painters.txt
@@ -0,0 +1,24 @@
+Alexei Savrasov
+Constantin Kousnetzoff
+Constantin Westchiloff
+Dmitry Shcherbinovsky
+Emil Wiesel
+Evgenia Antipova
+Gennady Pasko
+Igor Grabar
+Joseph Pavlishak
+Konstantin Korovin
+Konstantin Yuon
+Leonid Steele
+Mikhail Demyanov
+Nikolai Clodt von Jürgensburg
+Nikolai Vasilievich Kuzmin
+Nikolay Dosekin
+Sergei Lednev-Schukin
+Sergei Vinogradov (painter)
+Sergey Vasilyevich Gerasimov
+Stanislav Zhukovsky
+Valentin Serov
+Vladimir Kozlovsky
+Vlady Kibalchich Rusakov
+Zinaida Serebriakova
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/serbian_impressionist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/serbian_impressionist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4634b9cb93f801442019531fcee1edc4b1af2d1f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/serbian_impressionist_painters.txt
@@ -0,0 +1,7 @@
+Beta Vukanović
+Dragomir Glišić
+Kosta Josipović
+Kosta Miličević
+Mališa Glišić
+Milan Milovanović (painter)
+Vidosava Kovačević
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/slovenian_impressionist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/slovenian_impressionist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b25ce99960c5b8eeb05d51374464e8a8b37ce1ed
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/slovenian_impressionist_painters.txt
@@ -0,0 +1,4 @@
+Ivan Grohar
+Matej Sternen
+Matija Jama
+Rihard Jakopič
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/soviet_impressionist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/soviet_impressionist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e05e19d59ec38172cd8081d7f0254a2618fb8b9c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/soviet_impressionist_painters.txt
@@ -0,0 +1,11 @@
+Alexander Semionov
+Alexei Voshchakin
+Arkady Plastov
+Dmitry Shcherbinovsky
+Evgenia Antipova
+Gennady Pasko
+Igor Grabar
+Joseph Pavlishak
+Leonid Steele
+Nikolay Dosekin
+Rafail Levitsky
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/spanish_impressionist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/spanish_impressionist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d9e30a8549a8d48cb94d20a6bd1a7144e114bc73
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/spanish_impressionist_painters.txt
@@ -0,0 +1,12 @@
+Adolfo Guiard
+Alberto Pla y Rubio
+Eliseu Meifrèn
+Ignacio Pinazo Camarlench
+Joaquín Sorolla
+Jorge Aguilar-Agon
+Laureano Barrau
+Marceliano Santa María Sedano
+Martín Rico
+Pablo Uranga
+Ramon Pichot
+Ricard Canals
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/swedish_impressionist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/swedish_impressionist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ab6bb2b6cb7698b20eaa2ceba84658c59216da00
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/swedish_impressionist_painters.txt
@@ -0,0 +1,4 @@
+Anders Zorn
+Birger Simonsson
+Ivan Aguéli
+Richard Bergh
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/swiss_impressionist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/swiss_impressionist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f428302b2d4ea65a186c8d95a82c7e29d107441f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/swiss_impressionist_painters.txt
@@ -0,0 +1,4 @@
+Adolf Robbi
+Julius Voegtli
+Louise Catherine Breslau
+Martha Burkhardt
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/ten_american_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/ten_american_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8bd6575e9b5daa7cd367c5c89293b59ebb7c6d40
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/ten_american_painters.txt
@@ -0,0 +1,10 @@
+Childe Hassam
+Edmund C. Tarbell
+Edward Simmons
+Frank W. Benson
+John Henry Twachtman
+Joseph Rodefer DeCamp
+Robert Reid
+Thomas Wilmer Dewing
+Willard Leroy Metcalf
+and J. Alden Weir
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/turkish_impressionist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/turkish_impressionist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ee1485b5626f3d19a7362b0d798ad0297a998915
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/turkish_impressionist_painters.txt
@@ -0,0 +1,6 @@
+Elif Naci
+Erkan Geniş
+Naim Uludoğan
+Nazlı Ecevit
+Nazmi Ziya Güran
+Şevket Dağ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/ukranian_impressionist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/ukranian_impressionist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1f402ed13b6003b3535bd9f8ce3da4c16a84f1fc
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/impressionism/ukranian_impressionist_painters.txt
@@ -0,0 +1,5 @@
+Fyodor Zakharov
+Ivan Trush
+Mykola Burachek
+Serhii Vasylkivsky
+Vasyl Krychevsky
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/les_nabis.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/les_nabis.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5a665f00d5b7275ca8c387c445a3527deb338adb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/les_nabis.txt
@@ -0,0 +1,17 @@
+Aristide Maillol
+Édouard Vuillard
+Félix Vallotton
+Georges Lacombe
+Henri-Gabriel Ibels
+Jan Verkade
+József Rippl-Rónai
+Ker-Xavier Roussel
+Lugné-Poe
+Marguérite Sérusier
+Maurice Denis
+Maxime Dethomas
+Meyer de Haan
+Paul Ranson
+Paul Sérusier
+Pierre Bonnard
+Rene Georges Hermann-Paul
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/luminism_impressionism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/luminism_impressionism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5c6865ea82101eb92c108c6863f2734b8a02bae5
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/luminism_impressionism.txt
@@ -0,0 +1,19 @@
+Emile Claus
+Théo van Rysselberghe
+Adriaan Jozef Heymans
+Anna Boch
+Évariste Carpentier
+Guillaume Van Strydonck
+Leon de Smet
+Jenny Montigny
+Anna De Weert
+George Morren
+Modest Huys
+Georges Buysse
+Marcel Jefferys
+Yvonne Serruys
+Juliette Wytsman
+Jan Toorop
+Leo Gestel
+Jan Sluijters
+Piet Mondriaan.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/mir_iskusstva.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/mir_iskusstva.txt
new file mode 100644
index 0000000000000000000000000000000000000000..afab7eb383ec90c1285c5e6baa22ecc87acbf7bb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/mir_iskusstva.txt
@@ -0,0 +1,28 @@
+Albert Benois
+Alexandre Benois
+Alexandre Jacovleff
+Anna Ostroumova-Lebedeva
+Arkady Rylov
+Boris Kustodiev
+Eugene Lanceray
+Heorhiy Narbut
+Igor Grabar
+Ivan Bilibin
+Jury Annenkov
+Konstantin Bogaevsky
+Konstantin Korovin
+Konstantin Somov
+Konstantin Yuon
+Kuzma Petrov-Vodkin
+Leon Bakst
+Martiros Sarian
+Mikhail Nesterov
+Mikhail Vrubel
+Mstislav Dobuzhinsky
+Nicholas Roerich
+Pyotr Konchalovsky
+Serge Sudeikin
+Sirak Skitnik
+Vilhelms Purvitis
+Yeghishe Tadevosyan
+Zinaida Serebriakova
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/modern_art.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/modern_art.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ff821975cbf342f0e7fa7ff4958e000650da4719
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/modern_art.txt
@@ -0,0 +1,18 @@
+__artists/European Art/modern/impressionism__
+__artists/European Art/modern/expressionism__
+__artists/European Art/modern/abstract_expressionism/abstract_expressionism__
+__artists/European Art/modern/american_impressionism__
+__artists/European Art/modern/cobs_art_colony__
+__artists/European Art/modern/heidelberg_school__
+__artists/European Art/modern/luminism_impressionism__
+__artists/European Art/modern/tonalism__
+__artists/European Art/modern/post_impressionism__
+__artists/European Art/modern/les_nabis__
+__artists/European Art/modern/cloisonnism__
+__artists/European Art/modern/synthetism__
+__artists/European Art/modern/neo_impressionism__
+__artists/European Art/modern/art_nouveau__
+__artists/European Art/modern/russion_avantgarde__
+__artists/European Art/modern/young_poland__
+__artists/European Art/modern/hagenbund__
+__artists/European Art/modern/fauvism__
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/neo_impressionism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/neo_impressionism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f74fe3a2c496e1a01213264de51370453b341196
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/neo_impressionism.txt
@@ -0,0 +1,22 @@
+Albert Dubois-Pillet
+Anna Boch
+Camille Pissarro
+Charles Angrand
+Georges Lemmen
+Georges Seurat
+Henri-Edmond Cross
+Henri Matisse
+Henry van de Velde
+Hippolyte Petitjean
+Jan Toorop
+Jean Metzinger
+Léo Gausson
+Lucien Pissarro
+Maximilien Luce
+Paul Signac
+Robert Antoine Pinchon
+Robert Delaunay
+Théo van Rysselberghe
+Willy Finch
+__pointilism__
+__divisionism__
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/pointilism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/pointilism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0e837f2d2d6ea33c646c8bb61d20cfae01c4c06c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/pointilism.txt
@@ -0,0 +1,18 @@
+Albert Dubois-Pillet
+Alfred William Finch
+Camille Pissarro
+Charles Angrand
+Chuck Close
+Georges Lemmen
+Georges Seurat
+Henri Delavallée
+Henri-Edmond Cross
+Hippolyte Petitjean
+Jan Toorop
+Jean Metzinger
+John Roy
+Louis Fabien
+Maximilien Luce
+Paul Signac
+Théo van Rysselberghe
+Vincent van Gogh
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/post_impressionism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/post_impressionism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3943cc1b12e3326181dd8d7627511f9686ff73f7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/post_impressionism.txt
@@ -0,0 +1,162 @@
+Abel Lauvray
+Abram Molarsky
+Adrien Bas
+Albert André
+Albert Dubois-Pillet
+Albert Malet
+Aleksander Żyw
+Alexandru Bogdan-Pitești
+Alfred Swieykowski
+Alfred William Finch
+André Hallet
+Anna Boch
+Anthony Eyton
+Antun Motika
+Arthur Sachs
+Augustus John
+Birger Sandzén
+Cesáreo Bernaldo de Quirós
+Charles Angrand
+Charles Cottet
+Charles Laval
+Charles Prendergast
+Charles Reiffel
+Cleo
+Constant Detré
+Diane Esmond
+Édouard Vuillard
+Eduardo Viana
+Eero Snellman
+Élisabeth Chaplin
+Émile Bernard
+Émile Jourdan
+Émile Schuffenecker
+Émilie Charmy
+Emilio Caraffa
+Emily Carr
+Ernest Jean-Marie Millard de Bois Durand
+Ethel Carrick
+Eugène Chigot
+Eugenio Da Venezia
+Fernando Fader
+Folke Heybroek
+Francesc d'A. Planas Doria
+François Mathieu
+Frank Bramley
+Frank C. Penfold
+Fritz Friedrichs
+Gaston La Touche
+George Morren
+Georges Dufrénoy
+Georges Lemmen
+Georges Seurat
+Grace Cossington Smith
+Gustave Loiseau
+Harry Lachman
+Heidrun Huwyler
+Helen Stewart
+Henri Delavallée
+Henri de Toulouse-Lautrec
+Henri-Edmond Cross
+Henriette Tirman
+Henri-Jean Guillaume Martin
+Henri Lebasque
+Henri Le Sidaner
+Henri Matisse
+Henri Ottmann
+Henri Rivière
+Henri Rousseau
+Henry Lamb
+Hippolyte Petitjean
+Huib Luns
+Igor Grabar
+Ion Theodorescu-Sion
+Isidre Nonell
+James Michalopoulos
+Jan Autengruber
+Jan Cornelis Hofman
+Jan Toorop
+Jāzeps Grosvalds
+Jean Marchand
+Jean Metzinger
+Jeanne Pelisson-Mallet
+John Foulger
+József Rippl-Rónai
+Jules-Alexandre Grün
+Jules-Émile Zingg
+Julius von Ehren
+Juti Ravenna
+Ker-Xavier Roussel
+Konstantin Gorbatov
+Lajos Jámbor
+Lascăr Vorel
+László Dombrovszky
+Leo Gestel
+Léon Pourtau
+Léon Printemps
+Louis Dewis
+Louis Hayet
+Louis Vivin
+Lucien Biva
+Lucien Pissarro
+Madeleine Caudel
+Manuel Jardim
+Marcel Janco
+Marin Georgescu
+Mario Puccini
+Marius Borgeaud
+Martín Malharro
+Maurice Asselin
+Maurice Denis
+Maurice Prendergast
+Maximilien Luce
+Michael Matusevitch
+Mikhail Vrubel
+Miloš Jiránek
+Miroslav Kraljević
+Mogens Ballin
+Muhittin Sebati
+Nico Klopp
+Nicolae Tonitza
+Nikolaos Dragoumis
+Odilon Redon
+Oskar Herman
+Otto Weber
+Paul Cézanne
+Paule Gobillard
+Paul Gauguin
+Paul Madeline
+Paul Ranson
+Paul Sérusier
+Paul Signac
+Petre Hârtopeanu
+Pierre Bonnard
+Pío Collivadino
+Qiu Ti
+Ramón Silva
+René Auberjonois
+René Coucke
+René Schützenberger
+Richard Maguet
+Richard Ranft
+Robert Antoine Pinchon
+Robert Falk
+Sacha Moldovan
+Santiago Rusiñol
+Sonia Lewitska
+Sosthène Weis
+Stanley Royle
+Ștefan Dimitrescu
+Ștefan Luchian
+Suzanne Eisendieck
+Théo van Rysselberghe
+Thomas William Marshall
+Victor Borisov-Musatov
+Vincent van Gogh
+Vladimir Becić
+Vlaho Bukovac
+Wacław Zawadowski
+Wilhelmina Weber Furlong
+Włodzimierz Zakrzewski
+Wyndham Lewis
+Yvonne Canu
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/russion_avantgarde.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/russion_avantgarde.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3f79e308688cffdc7fad54b81edebc41ffd9d4ee
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/russion_avantgarde.txt
@@ -0,0 +1,39 @@
+Adolf Milman
+Aleksandra Ekster
+Alexander Archipenko
+Alexander Bogomazov
+Alexander Kuprin
+Alexander Osmerkin
+Aristarkh Lentulov
+Artur Fonvizin
+David Burliuk
+Elena Guro
+El Lissitzky
+Eugène Konopatzky
+Gustav Klutsis
+Ilya Chashnik
+Ilya Mashkov
+Ivan Kliun
+Ivan Puni
+Kazimir Malevich
+Kliment Red'ko
+Lazar Khidekel
+Liubov Popova
+Marc Chagall
+Max Penson
+Mikhail Larionov
+Mikhail Matyushin
+Moisey Feigin
+Natalia Goncharova
+Naum Gabo
+Nina Genke-Meller
+Paul Mansouroff
+Pavel Filonov
+Pyotr Konchalovsky
+Robert Falk
+Sergei Arksentevich Kolyada
+Solomon Nikritin
+Vadim Meller
+Vasily Kandinsky
+Vladimir Baranoff-Rossine
+Vladimir Burliuk
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/synthetism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/synthetism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5150b840f2f2ba6137351f4b720f3a0c4aeb82a4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/synthetism.txt
@@ -0,0 +1,5 @@
+Paul Sérusier
+Paul Gauguin
+Émile Bernard
+Charles Laval
+Cuno Amiet
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/tonalism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/tonalism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7b4328932a89da63f7b78a95bde42582eb8d1834
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/tonalism.txt
@@ -0,0 +1,42 @@
+Albert Pinkham Ryder
+Alexander Helwig Wyant
+Angel De Cora
+Arthur Frank Mathews
+Arthur Hoeber
+Bruce Crane
+Charles Melville Dewey
+Charles Warren Eaton
+Clarice Beckett
+Clark Greenwood Voorhees
+Colin Colahan
+Dwight William Tryon
+Edith Loring Getchell
+Edward Mitchell Bannister
+Edward Steichen
+Elliott Daingerfield
+Emanuele Cavalli
+Fausto Pirandello
+Frank Nuderscher
+George Inness
+Granville Redmond
+Henry Farrer
+Henry Ward Ranger
+James McNeill Whistler
+Jean-Charles Cazin
+John Francis Murphy
+John Twachtman
+Joseph Allworthy
+L. Birge Harrison
+Leon Dabo
+Max Meldrum
+Paul Cornoyer
+Percy Gray
+Percy Leason
+Ralph Albert Blakelock
+Raymond Dabb Yelland
+Robert Crannell Minor
+Thomas Dewing
+William Keith
+William Sartain
+Willis Seaver Adams
+Xavier Martinez
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/vienna_secession.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/vienna_secession.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2ed770c51a1231b893bb3eb5782093ecf1f2bf39
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/vienna_secession.txt
@@ -0,0 +1,16 @@
+Alfred Roller
+Bertold Löffler
+Cuno Amiet
+Egon Schiele
+Fernand Khnopff
+Franz Sedlacek
+Gustav Klimt
+Joseph Urbania
+Józef Mehoffer
+Koloman Moser
+Maximilian Pirner
+Max Kurzweil
+Oskar Kokoschka
+Richard Gerstl
+Rudolf von Alt
+Wojciech Weiss
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/young_poland.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/young_poland.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4155b9ad2be17a4b12e22a83ba3707b18ba140b1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/modern/young_poland.txt
@@ -0,0 +1,28 @@
+Ferdynand Ruszczyc
+Jacek Malczewski
+Jan Bukowski
+Jan Raszka
+Jan Stanisławski
+Jan Talaga
+Józef Mehoffer
+Józef Pankiewicz
+Julian Fałat
+Karol Frycz
+Kazimierz Sichulski
+Konstanty Brandel
+Konstanty Laszczka
+Leon Wyczółkowski
+Ludwik Konarzewski
+Maurycy Lilien
+Olga Boznańska
+Stanisław Wyspiański
+Teodor Axentowicz
+Teofil Terlecki
+Wacław Szymanowski
+Witold Wojtkiewicz
+Władysław Ślewiński
+Włodzimierz Przerwa-Tetmajer
+Wojciech Gerson
+Wojciech Kossak
+Wojciech Weiss
+Xawery Dunikowski
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/american_barbizon_school.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/american_barbizon_school.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9ff8e01379ddde87828c3d256239923d66dd388b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/american_barbizon_school.txt
@@ -0,0 +1,21 @@
+Alexander Helwig Wyant
+Alexis Jean Fournier
+Childe Hassam
+Edward Mitchell Bannister
+George Inness
+Henry Golden Dearth
+Henry Ossawa Tanner
+Henry Ward Ranger
+Homer Dodge Martin
+Homer Watson
+Horatio Walker
+John Francis Murphy
+Joseph Foxcroft Cole
+Maria a'Becket
+Robert Crannell Minor
+Thomas Eakins
+William Keith
+William Morris Hunt
+Wilson Irvine
+Winckworth Allan Gay
+Winslow Homer
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/barbizon_school.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/barbizon_school.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5f591599fb0556a71481248f26ea25bef9e7a656
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/barbizon_school.txt
@@ -0,0 +1,14 @@
+Eugène Boudin
+Hippolyte Boulenger
+Paul Cornoyer
+Gustave Courbet
+Pierre Emmanuel Damoye
+Constant Dutilleux
+Antonio Fontanesi
+Nicolae Grigorescu
+Winckworth Allan Gay
+H. I. Marlatt
+Adolphe Joseph Thomas Monticelli
+Paul Trouillebert
+Albert Charpin
+Charles Olivier de Penne
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/biedermeier.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/biedermeier.txt
new file mode 100644
index 0000000000000000000000000000000000000000..72e8f2d228bd23ce35db43ff353c1fda04672118
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/biedermeier.txt
@@ -0,0 +1,3 @@
+Josef Navrátil
+Antonín Machek
+Antonín Mánes.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/hague_school.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/hague_school.txt
new file mode 100644
index 0000000000000000000000000000000000000000..63a3ac6e6216e083d987d00c6114e9e1d49445c9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/hague_school.txt
@@ -0,0 +1,45 @@
+Adrianus Hendrikus Witjens
+Albert Neuhuys
+Andreas Schelfhout
+Anthonie Waldorp
+Anthon Van Rappard
+Anton Mauve
+Arnold Hendrik Koning
+Barend Cornelis Koekkoek
+Bartholomeus Van Hove
+Bernard De Hoog
+Bernard J. Blommers
+Charles Rochussen
+David Adolph Constant Artz
+Floris Arntzenius
+George Hendrik Breitner
+George Jan Hendik Poggenbeek
+Gerard Bilders
+Gerrit Van Houten
+Hendrik Van de Sande Bakhuysen
+Hendrik Willem Mesdag
+Herman Jacob Van der Voort in de Betouw
+Herman Johannes Van der Weele
+Hubertus Van Hove
+Isaac Israëls
+Jacob Jan van der Maaten
+Jacob Maris
+Jan Hendrik Weissenbruch
+Jan Hillebrand Wijsmuller
+Johannes Bosboom
+Johannes Evert Hendrik Akkeringa
+Johannes Hubertus Leonardus De Haas
+Johannes Warnardus Bilders
+Jozef Israëls
+Julius Van de Sande Bakhuyzen
+Matthijs Maris
+Paul Joseph Constantin Gabriël
+Philip Sadée
+Pieter Frederik Van Os
+Sina Mesdag-van Houten
+Taco Mesdag
+Théophile De Bock
+Willem Bastiaan Tholen
+Willem De Zwart
+Willem Maris
+Willem Roelofs
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/macchiaioli.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/macchiaioli.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d083515040e31507adec70cdd9d29d712b25b8c5
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/macchiaioli.txt
@@ -0,0 +1,5 @@
+Giuseppe Abbati
+Vito D'Ancona
+Giovanni Fattori
+Silvestro Lega
+Telemaco Signorini
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/neoclassical.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/neoclassical.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e2d157f807faa62cdc76dac400cd62d8334634ff
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/neoclassical.txt
@@ -0,0 +1,12 @@
+__artists/European Art/neoclassical/neoclassical/american_neoclassical_painters__
+__artists/European Art/neoclassical/neoclassical/belgian_neoclassical_painters__
+__artists/European Art/neoclassical/neoclassical/british_neoclassical_painters__
+__artists/European Art/neoclassical/neoclassical/french_neoclassical_painters__
+__artists/European Art/neoclassical/neoclassical/german_neoclassical_painters__
+__artists/European Art/neoclassical/neoclassical/italian_neoclassical_painters__
+__artists/European Art/neoclassical/neoclassical/neoclassical__
+__artists/European Art/neoclassical/neoclassical/portuguese_neoclassical_painters__
+__artists/European Art/neoclassical/neoclassical/return_to_order__
+__artists/European Art/neoclassical/neoclassical/romanian_neoclassical_painters__
+__artists/European Art/neoclassical/neoclassical/russian_neoclassical_painters__
+__artists/European Art/neoclassical/neoclassical/spanish_neoclassical_painters__
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/neoclassical/american_neoclassical_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/neoclassical/american_neoclassical_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..bc0655d806a5d2780248ae34be96c938f588f636
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/neoclassical/american_neoclassical_painters.txt
@@ -0,0 +1,5 @@
+Bruno Civitico
+Rembrandt Peale
+Sarah Miriam Peale
+John Trumbull
+John Vanderlyn
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/neoclassical/belgian_neoclassical_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/neoclassical/belgian_neoclassical_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4ea19dcd2bb31220babeff9702195cd0f03a9c50
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/neoclassical/belgian_neoclassical_painters.txt
@@ -0,0 +1,5 @@
+Pieter van Hanselaere
+François-Joseph Navez
+Joseph Denis Odevaere
+Joseph-Benoît Suvée
+Matthias de Visch
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/neoclassical/british_neoclassical_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/neoclassical/british_neoclassical_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..67fc472a8b49200f7b561a20bd025a7641e9432b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/neoclassical/british_neoclassical_painters.txt
@@ -0,0 +1,3 @@
+John Hamilton Mortimer
+Dorothy Tennant
+Herbert William Weekes
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/neoclassical/french_neoclassical_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/neoclassical/french_neoclassical_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e8b515fd5951ae3523ae9076c7f699f4167b0e4f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/neoclassical/french_neoclassical_painters.txt
@@ -0,0 +1,31 @@
+Adélaïde Binart
+Alexandre Cabanel
+Antoine-Jean Gros
+Charles-Louis Clérisseau
+Charles Thévenin
+Élisabeth Vigée Le Brun
+Éloi Firmin Féron
+François-André Vincent
+François-Édouard Picot
+François Guérin (artist)
+François-Guillaume Ménageot
+Georges Rouget
+Guillaume Guillon-Lethière
+Guillaume-Joseph Roques
+Jacques Amans
+Jacques-Louis David
+Jacques Stella
+Jean-Antoine-Théodore Giroust
+Jean-Auguste-Dominique Ingres
+Jean-Charles Nicaise Perrin
+Jean-François Pierre Peyron
+Joseph André Cellony
+Joseph-Noël Sylvestre
+Louis Jean Desprez
+Louis René Vialy
+Marie-Guillemine Benoist
+Merry-Joseph Blondel
+Pierre Bouillon
+Pierre Subleyras
+Raymond Monvoisin
+Thomas Degeorge
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/neoclassical/german_neoclassical_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/neoclassical/german_neoclassical_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0bbc599b152c447f117f923d1ee11b6e4b84e6a9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/neoclassical/german_neoclassical_painters.txt
@@ -0,0 +1,7 @@
+Anselm Feuerbach
+Anna Rosina de Gasc
+Leo von Klenze
+Anton Raphael Mengs
+Gottlieb Schick
+Karl Friedrich Schinkel
+Johan Zoffany
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/neoclassical/italian_neoclassical_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/neoclassical/italian_neoclassical_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4d7c1a1db227eda35bea42ce96e63e79fe22450e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/neoclassical/italian_neoclassical_painters.txt
@@ -0,0 +1,136 @@
+Adeodato Malatesta
+Agostino Comerio
+Agostino Panozzi
+Alfonso Chierici
+Andrea Appiani
+Andrea Celestini
+Angelo Monticelli
+Antonio Bresciani
+Antonio Cavallucci
+Antonio Concioli
+Antonio Marini
+Antonio Paticchi
+Antonio Peracchi
+Antonio Raffaele Calliano
+Antonio Zucchi
+Baldassare Calamai
+Bartolomeo Pinelli
+Benedetto dal Buono
+Biagio Martini
+Camillo Guerra
+Carlo De Notaris
+Carlo Giuseppe Ratti
+Carlo Maria Mariani
+Carlo Maria Viganoni
+Cesare Maffei
+Christopher Unterberger
+Cosroe Dusi
+Costanzo Angelini
+Domenico Corvi
+Domenico De Angelis
+Domenico Udine Nani
+Domenico Vantini
+Emidio Pallotta
+Eugenio Agneni
+Fedele Fischetti
+Felice Giani
+Felice Schiavoni
+Filippo Bigioli
+Filippo Marsigli
+Filippo Prosperi
+Francesco Alberi
+Francesco Corneliani
+Francesco Fontanesi
+Francesco Giangiacomo
+Francesco Montanari
+Francesco Nenci
+Francesco Pascucci
+Francesco Sabatelli
+Francisco Preciado
+Gaetano Callani
+Gallo Gallina
+Gaspare Gabrielli
+Gaspare Landi
+Gaspare Mattioli
+Gasparo Martellini
+Gennaro Maldarelli
+Giacomo Berger
+Gioacchino Giuseppe Serangeli
+Giorgio Berti
+Giorgio Fuentes
+Giovanni Battista Biscarra
+Giovanni Battista Borghesi
+Giovanni Battista Canal
+Giovanni Battista Cassevari
+Giovanni Battista Cecchi
+Giovanni Battista Ercole
+Giovanni Battista Frulli
+Giovanni Battista Piranesi
+Giovanni Battista Sangiorgi
+Giovanni Carlo Bevilacqua
+Giovanni De Min
+Giovanni Gaibazzi
+Girolamo Dal Pane
+Giulio Cesare Ferrari
+Giuseppe Appiani
+Giuseppe Bezzuoli
+Giuseppe Bossi
+Giuseppe Cammarano
+Giuseppe Collignon
+Giuseppe Gandolfo
+Giuseppe Gherardi
+Giuseppe Guizzardi
+Giuseppe Jarmorini
+Giuseppe Levati
+Giuseppe Mazzola
+Giuseppe Patania
+Giuseppe Sabatelli
+Giuseppe Sogni
+Giuseppe Turchi
+Giuseppe Velasquez
+Ignazio Hugford
+Jean-Baptiste Frédéric Desmarais
+Lamberto Cristiano Gori
+Laurent Pécheux
+Liberale Cozza
+Luigi Agricola
+Luigi Catani
+Luigi Crespi
+Luigi Persico
+Luigi Rubio
+Luigi Sabatelli
+Marcello Leopardi
+Mariano Rossi
+Michelangelo Fumagalli
+Michele Plancher
+Napoleone Angiolini
+Natale Schiavoni
+Nazario Nazari
+Nicola Cianfanelli
+Nicola Contestabili
+Nicola Mónti
+Odoardo Fischetti
+Odorico Politi
+Pasquale Ciaramponi
+Pasquale Saviotti
+Pietro Angeletti
+Pietro Benvenuti
+Pietro Bettelini
+Pietro Gonzaga
+Pietro Labruzzi
+Pietro Ròi
+Pietro Saja
+Pio Panfili
+Pompeo Batoni
+Prospero Minghetti
+Raffaele Ciappa
+Raffaelle Giovannetti
+Romoaldo Turini
+Salvatore Lo Forte
+Sante Cattaneo
+Sante Pacini
+Stanislao Campana
+Vicenza Giovanna Rovisi
+Vincenzo Brenna
+Vincenzo Camuccini
+Vincenzo Valdrè
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/neoclassical/portuguese_neoclassical_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/neoclassical/portuguese_neoclassical_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..631d8d8cfb7b14558575056d5adde9092723c30d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/neoclassical/portuguese_neoclassical_painters.txt
@@ -0,0 +1,2 @@
+Domingos Sequeira
+Vieira Portuense
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/neoclassical/return_to_order.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/neoclassical/return_to_order.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8b79b66208f385bfcd4d0304d8c7d55011d0061b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/neoclassical/return_to_order.txt
@@ -0,0 +1,8 @@
+Jean Cocteau
+Pierre Dumont
+Auguste Herbin
+André Lhote
+Jean Metzinger
+Pablo Picasso
+Diego Rivera
+Gino Severini
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/neoclassical/romanian_neoclassical_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/neoclassical/romanian_neoclassical_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f5c7df31829fc4fee6c6e82ea4681a53fbb710b7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/neoclassical/romanian_neoclassical_painters.txt
@@ -0,0 +1 @@
+Gheorghe Tattarescu
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/neoclassical/russian_neoclassical_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/neoclassical/russian_neoclassical_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5d3dc21e5ae866b0cbd9da5d8d05a140e04fe42b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/neoclassical/russian_neoclassical_painters.txt
@@ -0,0 +1,4 @@
+Karl Bryullov
+Fyodor Gordeyev
+Fyodor Matveyev
+Semyon Shchedrin
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/neoclassical/spanish_neoclassical_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/neoclassical/spanish_neoclassical_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6d6cf392cd64a376da8637c45a57c43668727a9f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/neoclassical/spanish_neoclassical_painters.txt
@@ -0,0 +1,4 @@
+Francisco Agustín y Grande
+Francisco Bayeu y Subías
+Antonio Carnicero
+José de Madrazo y Agudo
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/norwich_school.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/norwich_school.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7b8940563429a52688d6d893d0850932a78745c1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/norwich_school.txt
@@ -0,0 +1,45 @@
+Alfred George Stannard
+Alfred Priest
+Alfred Stannard
+Anthony Sandys
+Arthur James Stark
+Charles Hodgson
+Daniel Coppin
+David Hodgson
+Edward Thomas Daniell
+Edwin Cooper
+Eloise Harriet Stannard
+{Emily Stannard|Emily Coppin}
+Frederick George Cotman
+Frederick Ladbrooke
+Frederick Sandys
+George Vincent
+Henry Bright
+Henry Ninham
+Horace Beevor Love
+James Bulwer
+James Sillett
+James Stark
+{John Berney Crome|Young Crome}
+John Berney Ladbrooke
+John Cantiloe Joy
+{John Crome|Old Crome}
+John Joseph Cotman
+John Middleton
+John Ninham
+John Sell Cotman
+John Thirtle
+Joseph Clover
+Joseph Geldart
+Joseph Stannard
+Maria Margitson
+Miles Edmund Cotman
+Obadiah Short
+Robert Dixon
+Robert Ladbrooke
+Robert Leman
+Samuel David Colkett
+Thomas Lound
+Victoria Susannah Colkett
+William Joy
+William Philip Barnes Freeman
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/pre_raphaelite_brotherhood.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/pre_raphaelite_brotherhood.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5211b96aed135f17ee15615b2247946c3f678129
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/pre_raphaelite_brotherhood.txt
@@ -0,0 +1,33 @@
+Anthony Frederick Augustus Sandys
+Arthur Hughes
+Charles Allston Collins
+Dante Gabriel Rossetti
+Edward Burne-Jones
+Edward Robert Hughes
+Elizabeth Siddal
+Emma Sandys
+Evelyn De Morgan
+Ford Madox Brown
+Frank Cadogan Cowper
+Frederic, Lord Leighton
+Frederic Shields
+Henry Holiday
+Henry Wallis
+James Collinson
+John Brett
+John Everett Millais
+John William Godward
+Louisa, Marchioness of Waterford
+Lucy Madox Brown
+Marie Spartali Stillman
+Mary Lizzie Macomber
+May Morris
+Richard Burchett
+Robert Braithwaite Martineau
+Simeon Solomon
+Thomas Seddon
+Thomas Woolner
+Walter Deverell
+William Holman Hunt
+William Lindsay Windus
+William Morris
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/realism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/realism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..bb201cb93fca8b3dcaa2eae2dc36d9fef28aae65
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/realism.txt
@@ -0,0 +1,131 @@
+Adam Stefanović
+Adrià Pina
+Alan Shuptrine
+Aleksandr Makovsky
+Alexander Evgenievich Ponomarev
+Alexander Grigoriev
+Alexander Osmerkin
+Alex Colville
+Alfons Dunin-Borkowski
+Alton Tobey
+Álvaro Casanova Zenteno
+Ananta Mandal
+Andrew Micallef
+Ans Markus
+Antonio Guzmán Capel
+Antonio López García
+Anton Mauve
+Apollon Mokritsky
+Archibald Herman Müller
+Archibald Kay
+August Schneider
+Bikash Bhattacharjee
+Bo Bartlett
+Bruno Civitico
+Carl Ludwig Jessen
+Clark Hulings
+Columbano Bordalo Pinheiro
+Conor Walton
+Conrad Hommel
+David Campbell (painter)
+Derek Buckner
+Dmitri Sinodi-Popov
+Dolors Vázquez Aznar
+Dragan Malešević Tapi
+Eduardo Sívori
+Ernesto de la Cárcova
+Eugenio Cruz Vargas
+Fidelia Bridges
+Franz Eisenhut
+Fyodor Vasilyev
+Geoff Williams (painter)
+George W. Maynard
+Giovanni Fattori
+Harijadi Sumodidjojo
+Harold Weston
+Harry Jackson (artist)
+Heinrich Mücke
+Henrik Weber
+Henry E McDaniel
+Henry Herbert La Thangue
+Henry Jones Thaddeus
+Herbert Badham
+Hippolyte Boulenger
+İbrahim Balaban
+Iman Afsarian
+Iman Maleki
+Isaac Soyer
+Jack Coggins
+Jacques Hnizdovsky
+Jean Carolus
+Joe Dunne (artist)
+Johann Gottfried Steffan
+Joram Rozov
+Josef Dande
+Josip Račić
+Kent Bellows
+Kitty Lange Kielland
+Konstantin Trutovsky
+Leopold Pilichowski
+Luitpold Adam
+Lyndall Bass
+Manuel Lopes Rodrigues
+Marcus Beilby
+Mathurin Janssaud
+Mauritz de Haas
+Mikhail Clodt von Jürgensburg
+Mór Than
+Naim Uludoğan
+Nasrollah Sarvari
+Nazlı Ecevit
+Neil Faulkner (painter)
+Nestor Leynes
+Nicolae Vermont
+Octav Băncilă
+Pablo Runyan
+Paja Jovanović
+Paul Meltsner
+Paul Winstanley
+Pavel Petrović
+Pedro Weingärtner
+Rackstraw Downes
+Raphael Soyer
+R. B. Sprague
+Rebecca Gabriel
+Robert C. Jackson
+Robert Kost
+Sarah Haffner
+Simon Hollósy
+Simon Kozhin
+Stan Masters
+Stephen Namara
+Svetislav Jovanović
+Takanori Kinoshita
+Tanya Davis (artist)
+Theodor Martens
+Thomas Eakins
+Tully Filmus
+Uroš Predić
+Valeri Larko
+Vasily Vereshchagin
+Veloso Salgado
+Victor Martinez Malaga
+Vidosava Kovačević
+Walter Daniel Batley
+Wilhelm Leibl
+William B. T. Trego
+William Glackens
+William Nichols (artist)
+Winslow Homer
+__artists/European Art/neoclassical/realism/american_realism__
+__artists/European Art/neoclassical/realism/british_realism__
+__artists/European Art/neoclassical/realism/bulgarian_realism__
+__artists/European Art/neoclassical/realism/finnish_realism__
+__artists/European Art/neoclassical/realism/french_realism__
+__artists/European Art/neoclassical/realism/hungarian_realism__
+__artists/European Art/neoclassical/realism/norwegian_realism__
+__artists/European Art/neoclassical/realism/peredvizhniki__
+__artists/European Art/neoclassical/realism/portuguese_realism__
+__artists/European Art/neoclassical/realism/russian_realism__
+__artists/European Art/neoclassical/realism/slovenian_realism__
+__artists/European Art/neoclassical/realism/soviet_realism__
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/realism/american_realism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/realism/american_realism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f2fc3b3be42f4899b8a3f837b642628161cf3164
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/realism/american_realism.txt
@@ -0,0 +1,56 @@
+Alice Dalton Brown
+Allan Gorman
+Andrew Wyeth
+Bernard Safran
+Bill Martin
+Bruno Civitico
+Camille Engel
+Catherine Murphy
+C.K. Chatterton
+David Fairrington
+Devon Rodriguez
+Edward Everett
+Edward Hopper
+Edward Leigh Chase
+Elizabeth Saltonstall
+Francis Quirk
+Frank Swift Chase
+F. Scott Hess
+Gainor Roberts
+George Bellows
+Harold Bruder
+Harry Shokler
+Henry Ossawa Tanner
+Inez Storer
+Irving Ramsey Wiles
+Jack Beal
+James N. Rosenberg
+Jim Abeita
+John Englehart
+John Mecray
+John Paul Strain
+John Register
+Juan Gonzalez
+Julia Cornelia Slaughter
+Karl Stecher
+Lawrence Beall Smith
+Leigh Behnke
+Lenore Chinn
+Manon Cleary
+Nathlie Provosty
+Paul Collins
+Robert Brackman
+Robert Jessup
+Rockwell Kent
+Ron Kleemann
+Sherrie Wolf
+Sherry Wolf
+Shirley Gorelick
+Sidney Goodman
+Stephen Cornelius Roberts
+Theodore Czebotar
+Thomas Furlong
+Wade Reynolds
+William Bliss Baker
+William Morris Hunt
+William Wolk
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/realism/british_realism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/realism/british_realism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2ddc4f62b52ed4bf008868def2373387946ad740
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/realism/british_realism.txt
@@ -0,0 +1,8 @@
+William Coldstream
+Ralph Hedley
+John Frederick Herring Sr.
+Edward Middleditch
+Raoul Millais
+James Pollard
+Nicholas Charles Williams
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/realism/bulgarian_realism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/realism/bulgarian_realism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..37a433120e10a906b32bd4074247fad65975d852
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/realism/bulgarian_realism.txt
@@ -0,0 +1,3 @@
+Dimitar Dobrovich
+Konstantin Shtarkelov
+Dechko Uzunov
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/realism/finnish_realism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/realism/finnish_realism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d0e984d7ba6029f1017cee3e2bfb1544486de3f9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/realism/finnish_realism.txt
@@ -0,0 +1,2 @@
+Adolf von Becker
+Eero Järnefelt
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/realism/french_realism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/realism/french_realism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e016d663916ca385bd34bff72e6720777ebed67f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/realism/french_realism.txt
@@ -0,0 +1,37 @@
+Adolphe Appian
+Albert Charpin
+Alexandre Antigna
+Antoine Guillemet
+Antoine Vollon
+Armand Laroche
+Charles-François Daubigny
+Charles Joshua Chaplin
+Édouard Manet
+Émile Friant
+Émilie Desjeux
+Félix Lionnet
+Félix Ziem
+Francis Tattegrain
+François Bonvin
+François-Louis Français
+Georges Petetin
+Gustave Courbet
+Henri Nicolas Vinet
+Jean-Baptiste-Camille Corot
+Jean-François Millet
+Jean-François Raffaëlli
+Joseph Ducreux
+Jules Breton
+Julien Dupré
+Julien Le Blant
+Louis-Frédéric Schützenberger
+Louis-Nicolas Cabat
+Paul Alexandre Protais
+Paul de Longpré
+Paul Gervais
+Paul Philippoteaux
+Rosa Bonheur
+Théodore Rousseau
+Théodule Ribot
+Théophile Poilpot
+William-Adolphe Bouguereau
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/realism/hungarian_realism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/realism/hungarian_realism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..dd8b49288106f8b29c089b594c3db051e0ef5728
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/realism/hungarian_realism.txt
@@ -0,0 +1,3 @@
+László Dombrovszky
+Károly Ferenczy
+Tivadar Zemplényi
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/realism/norwegian_realism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/realism/norwegian_realism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..970f4fcb0967511f5f7cb5cd593a7f3c37c155f6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/realism/norwegian_realism.txt
@@ -0,0 +1,2 @@
+Hans Gude
+Hans Heyerdahl
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/realism/peredvizhniki.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/realism/peredvizhniki.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4ea474dd9e360dfa5d48e8b5c2704f8143d78952
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/realism/peredvizhniki.txt
@@ -0,0 +1,63 @@
+Abram Arkhipov
+Afanasy Razmaritsyn
+Aleksey Afanas'ev
+Alexander Beggrov
+Alexander Litovchenko
+Alexei Savrasov
+Alexei Stepanov
+Alexey Bogolyubov
+Andrei Ryabushkin
+Antonina Rzhevskaya
+Apollinary Vasnetsov
+Arkhip Kuindzhi
+Dmitry Shcherbinovsky
+Emily Shanks
+Fyodor Bronnikov
+Grigoriy Myasoyedov
+Illarion Pryanishnikov
+Ilya Ostroukhov
+Ilya Repin
+Isaac Levitan
+Ivan Bogdanov
+Ivan Gorokhov
+Ivan Kramskoi
+Ivan Pokhitonov
+Ivan Shishkin
+Khariton Platonov
+Klavdy Lebedev
+Konstantin Makovsky
+Konstantin Pervukhin
+Konstantin Savitsky
+Konstantīns Visotskis
+Leonid Pasternak
+Lukian Popov
+Mikhail Nesterov
+Mykola Pymonenko
+Nikolai Bodarevsky
+Nikolai Dmitriyevich Kuznetsov
+Nikolai Ge
+Nikolai Orlov
+Nikolai Shulpinov
+Nikolai Yaroshenko
+Nikolai Zagorsky
+Nikolay Bogdanov-Belsky
+Nikolay Dubovskoy
+Nikolay Kasatkin
+Nikolay Makovsky
+Pavel Brullov
+Rafail Levitsky
+Sergei Korovin
+Sergei Vinogradov
+Sergey Ivanov
+Valentin Serov
+Valery Jacobi
+Vasily Pereplyotchikov
+Vasily Perov
+Vasily Polenov
+Vasily Surikov
+Vasily Volkov
+Vassily Maximov
+Viktor Vasnetsov
+Viktor Zarubin
+Vitaly Tikhov
+Vladimir Makovsky
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/realism/portuguese_realism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/realism/portuguese_realism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..06437a19263b6c54adc6faa41ec4fb3c4e4970c8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/realism/portuguese_realism.txt
@@ -0,0 +1,2 @@
+Carlos Bonvalot
+Miguel Ângelo Lupi
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/realism/russian_realism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/realism/russian_realism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..fc643199411340fb7751dc7b754d2a156b7adb0d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/realism/russian_realism.txt
@@ -0,0 +1,31 @@
+Abram Arkhipov
+Alexei Korzukhin
+Alexei Savrasov
+Arkady Plastov
+Boris Sholokhov
+Gavriil Gorelov
+Grigoriy Myasoyedov
+Illarion Pryanishnikov
+Ilya Repin
+Joseph Pavlishak
+Konstantin Korovin
+Konstantin Savitsky
+Lukian Popov
+Mikhail Nesterov
+Nikolai Clodt von Jürgensburg
+Nikolai Sychov
+Nikolai Vasilievich Kuzmin
+Pavel Fedotov
+Pyotr Ivanovich Sholokhov
+Svetlana Solo
+Tatiana Badanina
+Valery Jacobi
+Vasily Perov
+Vasily Polenov
+Vassily Maximov
+Vladimir Kozlovsky
+Vladimir Orlovsky
+Yelena Zhukova
+Yury Kataev
+__peredvizhniki__
+__soviet_realism__
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/realism/slovenian_realism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/realism/slovenian_realism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c9137e45f3ce5290a77f8aa9663a0d8aba794360
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/realism/slovenian_realism.txt
@@ -0,0 +1,3 @@
+Anton Ažbe
+Ivana Kobilca
+Gojmir Anton Kos
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/realism/soviet_realism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/realism/soviet_realism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..012abfc647140d9ce29131f794eec046cba68e4b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/realism/soviet_realism.txt
@@ -0,0 +1,13 @@
+Semion Abugov
+Fedor Antonov
+Abram Arkhipov
+Tatiana Badanina
+Gavriil Gorelov
+Alexander Grigoriev
+Yury Kataev
+Stepan Mamchich
+Elena Marttila
+Mikhail Nesterov
+Arkady Plastov
+Nikolai Sychov
+Yelena Zhukova
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..cf0baf1352cece8c03045d43ec2d1004b7f361b6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism.txt
@@ -0,0 +1,22 @@
+__artists/European Art/neoclassical/romanticism/american_romantic_painters__
+__artists/European Art/neoclassical/romanticism/armenian_romantic_painters__
+__artists/European Art/neoclassical/romanticism/austrian_romantic_painters__
+__artists/European Art/neoclassical/romanticism/belgian_romantic_painters__
+__artists/European Art/neoclassical/romanticism/brazilian_romantic_painters__
+__artists/European Art/neoclassical/romanticism/british_romaintic_painters__
+__artists/European Art/neoclassical/romanticism/bulgarian_romantic_painters__
+__artists/European Art/neoclassical/romanticism/danish_romantic_painters__
+__artists/European Art/neoclassical/romanticism/dutch_romantic_painters__
+__artists/European Art/neoclassical/romanticism/french_romantic_painters__
+__artists/European Art/neoclassical/romanticism/german_romantic_painters__
+__artists/European Art/neoclassical/romanticism/hungarian_romantic_painters__
+__artists/European Art/neoclassical/romanticism/irish_romantic_painters__
+__artists/European Art/neoclassical/romanticism/italian_romantic_painters__
+__artists/European Art/neoclassical/romanticism/luminism__
+__artists/European Art/neoclassical/romanticism/norwegian_romantic_painters__
+__artists/European Art/neoclassical/romanticism/polish_romantic_painters__
+__artists/European Art/neoclassical/romanticism/portuguese_romantic_painters__
+__artists/European Art/neoclassical/romanticism/romanian_romantic_painters__
+__artists/European Art/neoclassical/romanticism/russian_romantic_painters__
+__artists/European Art/neoclassical/romanticism/spanish_romantic_painters__
+__artists/European Art/neoclassical/romanticism/swiss_romantic_painters__
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/american_romantic_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/american_romantic_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..97630ef2d79e1f3b85de70570568a98efc1efb1a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/american_romantic_painters.txt
@@ -0,0 +1,7 @@
+Edwin Deakin
+Asher Brown Durand
+Daniel Charles Grose
+William Morris Hunt
+Richard T. Scott
+John Trumbull
+__artists/European Art/neoclassical/romanticism/hudson_river_school__
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/armenian_romantic_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/armenian_romantic_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7636f0da608e74b4c6d53f4fe92e66367373fc65
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/armenian_romantic_painters.txt
@@ -0,0 +1 @@
+Ivan Aivazovsky
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/austrian_romantic_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/austrian_romantic_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9330c39fda7a4fce419fcfc50390cf3a3a9ba3a7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/austrian_romantic_painters.txt
@@ -0,0 +1,4 @@
+Joseph von Führich
+Franciszek Ksawery Lampi
+Moritz von Schwind
+Eduard von Steinle
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/belgian_romantic_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/belgian_romantic_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..990faa90940ece91b5e1e477a275dafe368fbe52
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/belgian_romantic_painters.txt
@@ -0,0 +1,6 @@
+Édouard De Bièfve
+Louis Gallait
+Nicaise de Keyser
+Adèle Kindt
+Ferdinand Pauwels
+Gustaaf Wappers
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/brazilian_romantic_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/brazilian_romantic_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1bcbcc71199dc21a80114f97dc1a44fd7cbaea6e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/brazilian_romantic_painters.txt
@@ -0,0 +1,4 @@
+Pedro Américo
+Victor Meirelles
+Manuel de Araújo Porto-Alegre
+Pedro Weingärtner
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/british_romaintic_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/british_romaintic_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..93feec63190dfc043663fdef9f272a582d8c1b58
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/british_romaintic_painters.txt
@@ -0,0 +1,3 @@
+__artists/European Art/neoclassical/romanticism/english_romantic_painters__
+__artists/European Art/neoclassical/romanticism/pre_raphaelite_painters__
+__artists/European Art/neoclassical/romanticism/scottish_romantic_painters__
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/bulgarian_romantic_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/bulgarian_romantic_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e543e074e6d424be7816b24da28893af4ba48a31
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/bulgarian_romantic_painters.txt
@@ -0,0 +1,2 @@
+Dimitar Dobrovich
+Dechko Uzunov
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/danish_romantic_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/danish_romantic_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..05d3b38b8476b28944fe4b3136289dd501902902
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/danish_romantic_painters.txt
@@ -0,0 +1,8 @@
+Christen Dalsgaard
+Johannes Flintoe
+Vilhelm Kyhn
+Johan Ludwig Lund
+Ludvig Abelin Schou
+P. C. Skovgaard
+Ludvig August Smith
+Frederik Sødring
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/dusseldorf_school.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/dusseldorf_school.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2facbbe3b9d1f0e494f922048c0edfa27feca375
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/dusseldorf_school.txt
@@ -0,0 +1,200 @@
+Adam Eberle
+Adolf Bierbrauer
+Adolf Mosengel
+Albert Arnz
+Albert Baur
+Albert Kindler
+Alfred Rethel
+Alice Creischer
+Alois Plum
+Anatol Herzfeld
+Andreas Achenbach
+Andreas Bloch
+Andreas Gursky
+Anna Blume
+Anna Heidenhain
+Anselm Feuerbach
+Anselm Kiefer
+Ants Laikmaa
+Arnold Böcklin
+August Cappelen
+August Neven du Mont
+Axel Hütte
+Bengt Nordenberg
+Bernard Lokai
+Bernd and Hilla Becher
+Berndt Lindholm
+Bernhard Hoetger
+Bettina Pousttchi
+Bhalchandra Dattatray Mondhe
+Blinky Palermo
+Brigitte Jurack
+Candida Höfer
+Carl Becker
+Carl Emanuel Conrad
+Carl Ernst Christoph Hess
+Carl Heinrich Hermann
+Carl Hertel
+Carlo Mense
+Carl Schmitz-Pleis
+Carl von Perbandt
+Caspar Scheuren
+Chen Ruo Bing
+Christian Ludwig Bokelmann
+Christoph Büchel
+David Edward Cronin
+David Ostrowski
+Dolly Buster
+Driss Ouadahi
+Dudley Hardy
+Eduard Frederich
+Eduard Kaempffer
+Eduard Wilhelm Pose
+Elger Esser
+Émile V. Schlesser
+Enoch Wood Perry Jr.
+Erik Johan Löfgren
+Ernst te Peerdt
+Erwin Heerich
+Eugene von Guerard
+Eugen Kampf
+Ferdinand von Rayski
+Franz Ittenbach
+Friedrich Geselschap
+Friedrich Klein-Chevalier
+Friedrich Martersteig
+Fritz Neuhaus
+Ged Quinn
+Georg Bergmann
+Georg Burmester
+George Henry Hall
+Georg Klusemann
+Georg Macco
+Georg Meistermann
+Georg Saal
+Gerhard Richter
+Gisbert Flüggen
+Gottfried Brockmann
+Gotthard Graubner
+Gregor von Bochmann the Younger
+Günter Grass
+Gustav Graef
+Hans Dahl
+Hans-Jörg Holubitschka
+Heinrich Christoph Kolbe
+Heinrich Freudweiler
+Heinrich Hermanns
+Heinrich Lauenstein
+Heinz Mack
+Helmuth Liesegang
+Hendrik Krawen
+Henry Ritter
+Hermann Fuechsel
+Hermann Ottomar Herzog
+Hermann Scherenberg
+Hermann Schmiechen
+Hilla Becher
+Horst Gläsker
+Horst Keining
+Hugo Crola
+Imi Knoebel
+Isa Genzken
+Jacob Ritsema
+Jårg Geismar
+Jems Robert Koko Bi
+Johan Fredrik Eckersberg
+Johannes Hüppi
+Johann Georg Meyer
+Johann Peter von Langer
+Johann Wilhelm Preyer
+Johann Wilhelm Schirmer
+John Whetton Ehninger
+Jörg Immendorff
+Jörg Sasse
+Josef Pallenberg
+Joseph Beuys
+Joseph Charles Cogels
+Joseph Fay
+Joseph Stanislaus Ostoja-Kotkowski
+Julian Klein von Diepold
+Karl Janssen
+Karl Kahl
+Katharina Fritsch
+Kjell Nupen
+Konrad Klapheck
+Kuno Gonschior
+Lars Hertervig
+Laurenz Berges
+Lewis Edward Herzog
+Lina von Perbandt
+Lorenz Clasen
+Lothar Hempel
+Ludger Gerdes
+Margret Rey
+Markus Lüpertz
+Martin Pfeifle
+Max Eduard Giese
+Meinrad Iten
+Michael Buthe
+Michael Reisch
+Michail Pirgelis
+Monika Baer
+Norbert Müller-Everling
+Odd Nerdrum
+Olof Jernberg
+Orlando Mohorović
+Oskar Freiwirth-Lützow
+Ottmar Hörl
+Otto Boyer
+Otto Heichert
+Otto Knille
+Otto Mengelberg
+Otto Piene
+Otto Reinhold Jacobi
+Paul Müller-Kaempff
+Peter Angermann
+Peter Janssen
+Peter Molitor
+Peter Philippi
+Philipp Franck
+Rainer Ganahl
+Rainer Maria Latzke
+Ralf Brück
+Ralf König
+Renata Jaworska
+Rissa
+Robert Cauer the Elder
+Robert Engels
+Rudolf Jordan
+Sigmar Polke
+Simone Nieweg
+Sonja Alhäuser
+Stefan Ettlinger
+Stefan Kürten
+Taco Scheltema
+Tatjana Doll
+Theobald von Oer
+Theodor Hosemann
+Thomas Demand
+Thomas Huber
+Thomas Ruff
+Thomas Theodor Heine
+Tina Juretzek
+Udo Dziersk
+Ulrich Leman
+Ulrike Arnold
+Ulrike Rosenbach
+Ursula Benser
+Ursula Reuter Christiansen
+Walter Ophey
+Werner Heuser
+Wilhelm Bernatzik
+Wilhelm Camphausen
+Wilhelm Degode
+William Hahn
+Willy Hamacher
+Willy Reetz
+Willy von Beckerath
+Wolfgang Binding
+Yoshitomo Nara
+Yury Kharchenko
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/dutch_romantic_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/dutch_romantic_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c209ea5bcce4d392d3d96f24cec9287b3a4b84c1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/dutch_romantic_painters.txt
@@ -0,0 +1,5 @@
+Carel Jacobus Behr
+Louis Meijer
+Wijnand Nuijen
+Ary Scheffer
+Salomon Verveer
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/english_romantic_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/english_romantic_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3f5bd638adb7e04ebe21570b77f743f05d0ac58c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/english_romantic_painters.txt
@@ -0,0 +1,22 @@
+Alfred East
+Arthur Elsley
+Charles Gough
+Edward Calvert
+Edward Villiers Rippingille
+Edwin Long
+Frederick Richard Lee
+George Dawe
+George Shalders
+James Baker Pyne
+James Johnson
+J. M. W. Turner
+John Constable
+John Lee
+John Martin
+John Robert Cozens
+Richard Parkes Bonington
+Samuel Palmer
+Thomas Lawrence
+William Blake
+William Lee Hankey
+William West
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/french_romantic_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/french_romantic_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..45fef38fa20e73bcf30eb53b1c3dbb1eee9e9e64
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/french_romantic_painters.txt
@@ -0,0 +1,28 @@
+Louis Boulanger
+Louis René Boulanger
+Alexandre Cabanel
+Madame Cavé
+Théodore Chassériau
+Léon Cogniet
+Alexandre-Marie Colin
+Alfred Dehodencq
+Eugène Delacroix
+Paul Delaroche
+Eugène Devéria
+Adèle Ferrand
+Théodore Géricault
+Anne-Louis Girodet de Roussy-Trioson
+Auguste-Barthélemy Glaize
+Joseph Latour
+Eugène de Malbos
+Charles-Raphaël Maréchal
+Auguste Migette
+Victor Nehlig
+Édouard Pingret
+Pierre-Paul Prud'hon
+Léon Riesener
+Guillaume-Joseph Roques
+Jean Rouppert
+Ary Scheffer
+Xavier Sigalon
+Joseph-Noël Sylvestre
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/german_romantic_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/german_romantic_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2865ab02783b2f3179dd560b6a934eb0b08a8741
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/german_romantic_painters.txt
@@ -0,0 +1,23 @@
+Alexander von Kotzebue
+Andreas Achenbach
+Bernhard Plockhorst
+Carl Joseph Begas
+Carl Julius von Leypold
+Carl Spitzweg
+Caspar David Friedrich
+Clemens Bewer
+Eberhard Georg Friedrich von Wächter
+Eduard Bendemann
+Franz Ittenbach
+Franz Pforr
+Franz Xaver Winterhalter
+Friedrich Lange
+Friedrich Wilhelm Schadow
+Gerhard von Kügelgen
+Heinrich Reinhold
+Johannes Veit
+Johann Friedrich Overbeck
+Konrad Eberhard
+Philipp Otto Runge
+__artists/European Art/neoclassical/romanticism/nazarene_painters__
+__artists/European Art/neoclassical/romanticism/dusseldorf_school__
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/hudson_river_school.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/hudson_river_school.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b5731246e4eee6c639f274e294c98febcd17705f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/hudson_river_school.txt
@@ -0,0 +1,63 @@
+Albert Bierstadt
+Albert Fitch Bellows
+Alexander Helwig Wyant
+Alfred Thompson Bricher
+Alvan Fisher
+Asher Brown Durand
+Charles Baker
+Charles Herbert Moore
+Daniel Charles Grose
+David Johnson
+Edmund Darch Lewis
+Eliza Pratt Greatorex
+Evelina Mount
+Ferdinand Richardt
+Francis Augustus Silva
+Frederic Edwin Church
+George Herbert McCord
+George Inness
+Harriet Cany Peale
+Hermann Fuechsel
+Hermann Ottomar Herzog
+Homer Dodge Martin
+James Augustus Suydam
+James McDougal Hart
+James Renwick Brevoort
+Jasper Francis Cropsey
+Jervis McEntee
+Jesse Talbot
+Johann Hermann Carmiencke
+John Dodgson Barrow
+John Frederick Kensett
+John William Casilear
+Julie Hart Beers
+Lockwood de Forest
+Martin Johnson Heade
+Mary Blood Mellen
+Mary Josephine Walters
+Paul Weber
+Ralph Albert Blakelock
+Ransome Gillett Holdridge
+Régis François Gignoux
+Robert Duncanson
+Robert G. L. Leonori
+Robert S. Duncanson
+Robert Walter Weir
+Samuel Colman
+Sanford Robinson Gifford
+Susie M. Barstow
+Thomas Cole
+Thomas Doughty
+Thomas Hill
+Thomas Moran
+Thomas Prichard Rossiter
+William Bliss Baker
+William Guy Wall
+William Hart
+William Louis Sonntag
+William Mason Brown
+William Moore Davis
+William Sidney Mount
+William Stanley Haseltine
+William Trost Richards
+Worthington Whittredge
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/hungarian_romantic_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/hungarian_romantic_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5760470403ea2b6ca64615a5ad2b418ede20bba2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/hungarian_romantic_painters.txt
@@ -0,0 +1,3 @@
+József Molnár
+Constantin Daniel Rosenthal
+Octavian Smigelschi
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/irish_romantic_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/irish_romantic_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c47c4251a5c4f1117d933a5e153a0070dc948200
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/irish_romantic_painters.txt
@@ -0,0 +1,2 @@
+James Barry
+Francis Danby
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/italian_romantic_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/italian_romantic_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a3351fed4c605978f6e5c99e48dcd2a806a14179
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/italian_romantic_painters.txt
@@ -0,0 +1,10 @@
+Alfonso Simonetti
+Andrea Gastaldi
+Francesco Hayez
+Giovanni Servi
+Giuseppe Molteni
+Letterio Subba
+Pietro Aldi
+Scipione Vannutelli
+Tranquillo Cremona
+__artists/European Art/neoclassical/romanticism/purismo__
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/luminism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/luminism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c6de204df43f49ad8a320b8510a176373802cd0c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/luminism.txt
@@ -0,0 +1,18 @@
+Albert Bierstadt
+Alfred Thompson Bricher
+April Gornik
+David Johnson
+Fitz Hugh Lane
+Frederic Edwin Church
+George Harvey
+James Augustus Suydam
+James Doolin
+Jasper Cropsey
+John F. Kensett
+John Frederick Kensett
+Martin Johnson Heade
+Raymond Dabb Yelland
+Robert Salmon
+Sanford Gifford
+Steven DaLuz
+Worthington Whittredge
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/nazarene_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/nazarene_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..dc20369c6883ed20104877673ed0ef6f82375b49
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/nazarene_painters.txt
@@ -0,0 +1,49 @@
+Amalie Bensinger
+Carl Eggers
+Carl Georg Christian Schumacher
+Carl Gottlieb Peschel
+Carl Joseph Begas
+Claudius Schraudolph the Elder
+Eberhard Georg Friedrich von Wächter
+Eduard Jakob von Steinle
+Eduard von Steinle
+Ernst Deger
+Eugene von Guerard
+Ferdinand Olivier
+Franz Ittenbach
+Franz Pforr
+Franz Theobald Horny
+Friedrich Lange
+Friedrich Olivier
+Friedrich Wilhelm Schadow
+Gebhard Flatz
+Giuseppe Hyzler
+Gustav Jäger
+Johann Anton Ramboux
+Johann David Passavant
+Johannes Veit
+Johann Friedrich Overbeck
+Johann Jakob Jung
+Johann Michael Wittmer
+Johann Scheffer von Leonhardshoff
+Johann von Schraudolph
+Josef Führich
+Josef von Hempel
+Joseph Anton Fischer
+Joseph Anton Settegast
+Joseph von Führich
+Jovan Isailović Jr.
+Julius Schnorr von Carolsfeld
+Karl Müller
+Karl von Blaas
+Konrad Eberhard
+Leopold Kupelwieser
+Ludwig Schnorr von Carolsfeld
+Ludwig Vogel
+Marie Ellenrieder
+Matthias Goebbels
+Matthias Schraudolph
+Peter von Cornelius
+Philipp Veit
+Theodor Rehbenitz
+Vincenzo Hyzler
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/norwegian_romantic_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/norwegian_romantic_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e9bce1108361eabcc5f04b61251508d02747e88f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/norwegian_romantic_painters.txt
@@ -0,0 +1,4 @@
+Peder Balke
+Johan Christian Dahl
+Thomas Fearnley
+Hans Gude
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/polish_romantic_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/polish_romantic_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e2349912e4618d9b8e01f848e931dbca3c8883ab
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/polish_romantic_painters.txt
@@ -0,0 +1 @@
+Franciszek Ksawery Lampi
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/portuguese_romantic_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/portuguese_romantic_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..060c2e6c1ef2a45ae6510e11598e111a4580eda3
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/portuguese_romantic_painters.txt
@@ -0,0 +1,2 @@
+Miguel Ângelo Lupi
+Luís de Meneses, 2nd Viscount of Meneses
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/pre_raphaelite_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/pre_raphaelite_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..714a4f088fd5296a2cb14a82a452f175db10e5a3
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/pre_raphaelite_painters.txt
@@ -0,0 +1,74 @@
+Alice Boyd
+Arthur Hughes
+Cave Thomas
+Charles Allston Collins
+Charles Edward Hallé
+Charles Herbert Moore
+Charles William Mitchell
+Daniel Alexander Williamson
+Daniel Maclise
+Dante Gabriel Rossetti
+Edward Arthur Fellowes Prynne
+Edward Burne-Jones
+Edward La Trobe Bateman
+Edward Robert Hughes
+Elihu Vedder
+Élisabeth Sonrel
+Elizabeth Siddal
+Emma Sandys
+Evelyn De Morgan
+Ford Madox Brown
+Frank Cadogan Cowper
+Frederick Sandys
+Frederick Smallfield
+Frederic Leighton
+Frederic Shields
+Frederic William Burton
+George Price Boyce
+Georgiana Burne-Jones
+Gustav Pope
+Henry Holiday
+Henry Meynell Rheam
+Henry Treffry Dunn
+Henry Wallis
+Isobel Lilian Gloag
+James Abbott McNeill Whistler
+James Campbell
+James Collinson
+Jane Benham Hay
+Joanna Mary Boyce
+John Brett
+John Collier
+John Duncan
+John Everett Millais
+John Jewell Penstone
+John Lee
+John Melhuish Strudwick
+John Mulcaster Carrick
+John Roddam Spencer Stanhope
+John William Waterhouse
+Kate Bunce
+Louisa Beresford
+Lucy Madox Brown
+Marian Collier
+Maria Zambaco
+Marie Spartali Stillman
+Mary Lizzie Macomber
+Michael Frederick Halliday
+Pauline, Lady Trevelyan
+Richard Burchett
+Robert Braithwaite Martineau
+Rosa Brett
+Simeon Solomon
+Sophie Gengembre Anderson
+Thomas Cooper Gotch
+Thomas Seddon
+Valentine Cameron Prinsep
+Walter Deverell
+William Davis
+William Gale
+William Hole
+William Holman Hunt
+William James Webbe
+William Lindsay Windus
+Wyke Bayliss
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/purismo.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/purismo.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a433979e74d3ffd4f7a7b3d0e62a0208185048bb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/purismo.txt
@@ -0,0 +1,13 @@
+Alessandro Franchi
+Amos Cassioli
+Antonio Bianchini
+Antonio Ciseri
+Bartolomeo Pinelli
+Cesare Maccari
+Costantino Brumidi
+Friedrich Overbeck
+Giambattistia Gigola
+Giovanni De Min
+Luigi Mussini
+Pietro Tenerani
+Tommaso Minardi
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/romanian_romantic_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/romanian_romantic_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a4693da096822d1ea308ee558eaf56718e1e9192
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/romanian_romantic_painters.txt
@@ -0,0 +1,4 @@
+Constantin Daniel Rosenthal
+Octavian Smigelschi
+Gheorghe Tattarescu
+Henric Trenk
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/russian_romantic_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/russian_romantic_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d50e547ce4a1f7d45f9dbede261f1df92885becc
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/russian_romantic_painters.txt
@@ -0,0 +1,8 @@
+Ivan Aivazovsky
+Karl Bryullov
+Orest Kiprensky
+Karl von Kügelgen
+Nikolai Vasilievich Kuzmin
+Ernst Lissner
+Vasily Tropinin
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/scottish_romantic_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/scottish_romantic_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2846739f996b6c71478ef052128a4c18255cfc8d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/scottish_romantic_painters.txt
@@ -0,0 +1 @@
+R. R. McIan
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/spanish_romantic_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/spanish_romantic_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7fa81105e3125ea2beb8874f22d6b379006dd1d9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/spanish_romantic_painters.txt
@@ -0,0 +1,9 @@
+Jorge Aguilar-Agon
+Antonio Brugada
+Antonio Cabral Bejarano
+Antonio María Esquivel
+Francisco Goya
+Asensio Julià
+Eugenio Lucas Velázquez
+Federico de Madrazo y Kuntz
+La maja vestida
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/swiss_romantic_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/swiss_romantic_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b1e44868025c69db2876166285f31c00e7f88b77
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism/swiss_romantic_painters.txt
@@ -0,0 +1 @@
+Henric Trenk
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism_to_modern_art.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism_to_modern_art.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6649fc83f19f48b6695dd1d0e97e003c9b281495
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/romanticism_to_modern_art.txt
@@ -0,0 +1,9 @@
+__artists/European Art/neoclassical/norwich_school__
+__artists/European Art/neoclassical/biedermeier__
+__artists/European Art/neoclassical/realism__
+__artists/European Art/neoclassical/realism__
+__artists/European Art/neoclassical/hague_school__
+__artists/European Art/neoclassical/american_barbizon_school__
+__artists/European Art/neoclassical/spanish_electicism__
+__artists/European Art/neoclassical/macchiaioli__
+__artists/European Art/neoclassical/pre_raphaelite_brotherhood__
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/spanish_electicism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/spanish_electicism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b21420d8b159992854362aad71dcd7116c06d6a2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/neoclassical/spanish_electicism.txt
@@ -0,0 +1,4 @@
+Antonio Gisbert
+Cano de la Peña
+Francisco Pradilla Ortiz
+José Casado del Alisal
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/cusco_school.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/cusco_school.txt
new file mode 100644
index 0000000000000000000000000000000000000000..eb5f9683c5bd9c9f055bd50539afa6eb031f35f7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/cusco_school.txt
@@ -0,0 +1,9 @@
+Ángel arcabucero
+Antonio Sinchi Roca Inka
+Basilio Santa Cruz Pumacallao
+Bernardo Bitti
+Diego Quispe Tito
+Luis de Riaño
+Marcos Zapata
+Master of Calamarca
+Palacio de San Carlos, Bogotá
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/dutch_mannerist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/dutch_mannerist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..dd654da55c034c36eaa077f9da01fde82b485c52
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/dutch_mannerist_painters.txt
@@ -0,0 +1,8 @@
+Abraham Bloemaert
+Anthonie Blocklandt van Montfoort
+Cornelis van Haarlem
+Dirck Hendricksz
+Hendrick Goltzius
+Karel van Mander
+Marinus van Reymerswaele
+Pieter Bruegel the Elder
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/early_netherlandish_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/early_netherlandish_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3796b281e246f11700b023c72ce5e3da7b9b8905
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/early_netherlandish_painters.txt
@@ -0,0 +1,118 @@
+Adriaen Isenbrandt
+Adriaen van Overbeke
+Aelbrecht Bouts
+Aert van den Bossche
+Agnes van den Bossche
+Albert van Ouwater
+Ambrosius Benson
+André Beauneveu
+Antwerp Mannerism
+Barend Dircksz
+Barthélemy d'Eyck
+Colijn de Coter
+Cornelis Engebrechtsz.
+Dieric Bouts
+Dieric Bouts the Younger
+Dirck Barendsz
+Dirck Jacobsz.
+Geertgen tot Sint Jans
+Gerard David
+Hans Clemer
+Hans Memling
+Henri Bellechose
+Hieronymus Bosch
+Hubert van Eyck
+Hugo van der Goes
+Jacob Bellaert
+Jacob Cornelisz van Oostsanen
+Jacob van Laethem
+Jacob van Utrecht
+Jacques Coene
+Jacques Daret
+Jan Crans
+Jan de Beer
+Jan Mertens the Younger
+Jan Mostaert
+Jan Provoost
+Jan van Amstel
+Jan van Coninxloo
+Jan van der Asselt
+Jan van der Elburcht
+Jan van Dornicke
+Jan van Eeckele
+Jan van Eyck
+Jean Bondol
+Jean Clouet
+Jean de Looz
+Jean Hey
+Jean Malouel
+Joachim Patinir
+Joos de Beer
+Josse Lieferinxe
+Juan de Flandes
+Justus van Gent
+Lambert Lombard
+Lieven de Witte
+Lieven van Lathem
+Limbourg brothers
+Lucas Adriaens
+Luís Alimbrot
+Marcellus Coffermans
+Master of 1499
+Master of 1518
+Master of Affligem
+Master of Alkmaar
+Master of Anthony of Burgundy
+Master of Delft
+Master of Jannecke Bollengier
+Master of Margaret of York
+Master of Mary of Burgundy
+Master of Saint Giles
+Master of the 1540s
+Master of the Amsterdam Death of the Virgin
+Master of the André Virgin
+Master of the Antwerp Adoration
+Master of the Baroncelli Portraits
+Master of the Brandon Portrait
+Master of the Brunswick Diptych
+Master of the Dresden Prayerbook
+Master of the Embroidered Foliage
+Master of the Female Half-Lengths
+Master of the Figdor Deposition
+Master of the Holy Blood
+Master of the Jardin de vertueuse consolation
+Master of the Khanenko Adoration
+Master of the Legend of Saint Barbara
+Master of the Legend of Saint Catherine
+Master of the Legend of Saint Lucy
+Master of the Legend of Saint Ursula (Bruges)
+Master of the Legend of the Magdalen
+Master of the Lille Adoration
+Master of the Llangattock Epiphany
+Master of the Llangattock Hours
+Master of the Lübeck Bible
+Master of the Mansi Magdalen
+Master of the Morrison Triptych
+Master of the Plump-Cheeked Madonnas
+Master of the Prado Adoration of the Magi
+Master of the Prayer Books of around 1500
+Master of the Saint Bartholomew Altarpiece
+Master of the Tiburtine Sibyl
+Master of the Vienna Chroniques d'Angleterre
+Master of the View of Saint Gudula
+Master of the Von Groote Adoration
+Master of Zweder van Culemborg
+Masters of Dirc van Delf
+Melchior Broederlam
+Michael Sittow
+Petrus Christus
+Pierre Coustain
+Pieter Claeissens the Elder
+Pieter van Coninxloo
+Quentin Matsys
+Robert Campin
+Rogier van der Weyden
+Simon Marmion
+Van Eyck
+Vrancke van der Stockt
+Willem Vrelant
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/english_mannerist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/english_mannerist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..973952d0198832b44b4beeda0af7fb91aedf96fb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/english_mannerist_painters.txt
@@ -0,0 +1,4 @@
+Hans Eworth
+Bartolommeo Penni
+Luca Penni
+William Scrots
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/flemish_mannerist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/flemish_mannerist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..35c2e5a882f267767d9a9bf54d5a080a8dfa326c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/flemish_mannerist_painters.txt
@@ -0,0 +1,26 @@
+Adam van Noort
+Ambroise Dubois
+Ambrosius Benson
+Bartholomeus Spranger
+Denis Calvaert
+Frans Floris
+Gillis van Coninxloo
+Hans Bol
+Hans Eworth
+Hendrick de Clerck
+Hendrick van den Broeck
+Isaak van den Blocke
+Jacob de Backer
+Jan Matsys
+Jan Sanders van Hemessen
+Joos de Momper
+Joos van Cleve
+Joris Hoefnagel
+Karel van Mander
+Maerten de Vos
+Otto van Veen
+Peter Candid
+Pieter Bruegel the Elder
+Pieter Coecke van Aelst
+Stradanus
+William Scrots
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/french_mannerist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/french_mannerist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..28f50463d7e7a2834b29e77811cbcb00bad31cfd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/french_mannerist_painters.txt
@@ -0,0 +1,9 @@
+Ambroise Dubois
+Antoine Caron
+Francesco Primaticcio
+François Quesnel
+Luca Penni
+Marc Duval
+Martin Fréminet
+Master of Flora
+Toussaint Dubreuil
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/german_mannerist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/german_mannerist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..685f41d82027241232d53dacfc28a8a46e225a8d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/german_mannerist_painters.txt
@@ -0,0 +1,4 @@
+Hans von Aachen
+Wendel Dietterlin
+Adam Elsheimer
+Hans Rottenhammer
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/german_renaissance.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/german_renaissance.txt
new file mode 100644
index 0000000000000000000000000000000000000000..365f7125ea2f089b45804104ec1d64478151fd1e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/german_renaissance.txt
@@ -0,0 +1,90 @@
+Absolon Stumme
+Albrecht Dürer
+Bartholomäus Zeitblom
+Bernhard Strigel
+Bernt Notke
+Berthold Landauer
+Caspar Isenmann
+Conrad Fyoll
+Conrad von Soest
+Derick Baegert
+Friedrich Herlin
+Fritz Herlen
+Gabriel Mälesskircher
+Georg Glockendon
+Giovanni d'Alemagna
+Hans Abel
+Hans Bornemann
+Hans Burgkmair
+Hans Döring
+Hans Hirtz
+Hans Holbein the Elder
+Hans Multscher
+Hans Pleydenwurff
+Hermen Rode
+Hinrik Bornemann
+Hinrik Funhof
+Jacob Acker
+Jakob Beinhart
+Jan Polack
+Jerg Ratgeb
+Johannes Stenrat
+Johann Koerbecke
+Johann von Soest (painter)
+Jörg Breu the Elder
+Jörg Stocker
+Jost Haller
+Konrad Witz
+Lucas Moser
+Ludwig Schongauer
+Mair von Landshut
+Martin Schaffner
+Martin Schongauer
+Master Bertram
+Master Francke
+Master of Kirchdrauf
+Master of Liesborn
+Master of Saint Veronica
+Master of the Aachen Altar
+Master of the Altarpiece of the Ten Commandments
+Master of the Bamberg Altar
+Master of the Berswordt Altar
+Master of the Bützow Altarpiece
+Master of the Darup Altarpiece
+Master of the Drapery Studies
+Master of the Fröndenberger Altarpiece
+Master of the Golden Altar
+Master of the Heisterbach Altarpiece
+Master of the Imhoff Altar
+Master of the Iserlohn Altarpiece
+Master of the Karlsruhe Passion
+Master of the Legend of Saint Bruno
+Master of the Life of the Virgin
+Master of the Lippborg Passion
+Master of the Malchin Altar
+Master of the Mornauer Portrait
+Master of the Ortenberg Altarpiece
+Master of the Pähl Altarpiece
+Master of the Pallant Altarpiece
+Master of the Regular Canons' Altarpiece
+Master of the Saint Augustine Altarpiece
+Master of the Saint Bartholomew Altarpiece
+Master of the Schöppingen Altarpiece
+Master of the Schotten Altarpiece
+Master of the Tennenbach Altar
+Master of the Tucher Altarpiece
+Master of the Wasservass Calvary
+Master of the Worcester Panel
+Master W. B.
+Matthias Grünewald
+Michael Wolgemut
+Paul Lautensack
+Roger de Piles'
+Rueland Frueauf the Younger
+Sebald Bopp
+Stefan Lochner
+Thoman Burgkmair
+Ulrich Apt the Elder
+Ulrich Füetrer
+Wilm Dedeke
+Wolfgang Katzheimer
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/italian_mannerist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/italian_mannerist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..866a1c4eb6e681b05e7326807f389b2f2c123c69
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/italian_mannerist_painters.txt
@@ -0,0 +1,157 @@
+Agostino Tassi
+Alessandro Allori
+Alessandro Ardente
+Alfonso Aldiverti
+Andrea Boscoli
+Andrea Schiavone
+Andrea Semini
+Antonino Spatafora
+Antonio Badile
+Antonio Bernieri
+Antonio Semini
+Antonio Vassilacchi
+Antonio Viviani
+Arcangelo Salimbeni
+Ascensidonio Spacca
+Baldassare Aloisi
+Bartolommeo Penni
+Benedetto Pagni
+Benvenuto Tisi
+Bernardino Campi
+Bernardino Cesari
+Bernardino India
+Bernardo Bitti
+Biagio Pupini
+Bonifazio Veronese
+Bronzino
+Camillo Ballini
+Camillo Procaccini
+Carlo Caliari
+Carlo Portelli
+Carlo Urbino
+Cesare Arbasia
+Cesare Aretusi
+Cesare Nebbia
+Cigoli
+Cristofano Allori
+Cristofano Gherardi
+Cristoforo Agosta
+Cristoforo Ambrogini
+Cristoforo Casolani
+Cristoforo Roncalli
+Daniele Crespi
+Decio Termisani
+Denis Calvaert
+Domenico Beccafumi
+Domenico Riccio
+Domenico Tintoretto
+Ercole dell'Abate
+Fabrizio Santafede
+Federico Barocci
+Federico Zuccari
+Felice Damiani
+Felice Riccio
+Fermo Guisoni
+Francesco Bacchiacca
+Francesco Bassano the Younger
+Francesco Brenti
+Francesco Brina
+Francesco Cavazzoni
+Francesco Imparato
+Francesco Menzocchi
+Francesco Primaticcio
+Francesco Ragusa
+Francesco Torbido
+Francesco Xanto Avelli
+Giacomo Alboresi
+Giacomo Barucco
+Giacomo Rocca
+Gian Paolo Lomazzo
+Giorgio Picchi
+Giorgio Vasari
+Giovanni Antonio di Amato the younger
+Giovanni Baglione
+Giovanni Balducci
+Giovanni Battista Castello
+Giovanni Battista Crespi
+Giovanni Battista da Ponte
+Giovanni Battista Naldini
+Giovanni Battista Ricci
+Giovanni Battista Trotti
+Giovanni Biliverti
+Giovanni Bizzelli
+Giovanni Bonagrazia
+Giovanni de' Vecchi
+Giovanni Giacomo Pandolfi
+Giovanni Maria Butteri
+Giovanni Pietro de Pomis
+Giovita Brescianino
+Girolamo da Ponte
+Girolamo Genga
+Girolamo Imparato
+Girolamo Macchietti
+Girolamo Siciolante da Sermoneta
+Giuliano Bugiardini
+Giulio Bruni
+Giulio Romano
+Giuseppe Arcimboldo
+Giuseppe Bramieri
+Giuseppe Cesari
+Giuseppe Porta
+Giuseppe Salerno
+Giuseppe Valeriano
+Gregorio Pagani
+Guglielmo Caccia
+Il Sodoma
+Ippolito Andreasi
+Ippolito Borghese
+Jacopo Bassano
+Jacopo Bertoia
+Jacopo Borbone
+Jacopo da Empoli
+Jacopo Zucchi
+Lattanzio Gambara
+Lazzaro Tavarone
+Leandro Bassano
+Lelio Orsi
+Livio Agresti
+Lorenzo Sabbatini
+Luca Cambiaso
+Luca Penni
+Lucia Anguissola
+Ludovico Buti
+Ludovico Carracci
+Luzio Dolci
+Marcello Venusti
+Marco Pino
+Matteo Balducci
+Michelangelo Anselmi
+Michele Tosini
+Mirabello Cavalori
+Niccolò Circignani
+Niccolò dell'Abbate
+Orazio Samacchini
+Ottavio Semini
+Palma il Giovane
+Panfilo Nuvolone
+Paolo Camillo Landriani
+Paolo Farinati
+Pier Francesco Mazzucchelli
+Pietro Faccini
+Pietro Negroni
+Pirro Ligorio
+Pontormo
+Prospero Fontana
+Raffaellino da Reggio
+Raffaellino del Colle
+Rosso Fiorentino
+Scarsellino
+Scipione Pulzone
+Simone Peterzano
+Sofonisba Anguissola
+Taddeo Zuccari
+Teodoro Ghisi
+Tintoretto
+Vespasiano Strada
+Vincenzo Campi
+Vincenzo La Barbera
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/italian_renaissance.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/italian_renaissance.txt
new file mode 100644
index 0000000000000000000000000000000000000000..53815034a2745591969dcb8c80b5d65bb6cee7e9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/italian_renaissance.txt
@@ -0,0 +1,2 @@
+__artists/European Art/renaissance/italian_renaissance_painters__
+__artists/European Art/renaissance/italian_renaissance_sculptors__
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/italian_renaissance_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/italian_renaissance_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..cf72db5e094e7d0e08e05689d4172bb3e5580e9e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/italian_renaissance_painters.txt
@@ -0,0 +1,199 @@
+Agostino Cottolengo
+Alessandro Alberti
+Alessandro Bernabei
+Alessandro Casolano
+Alessandro Mazzola
+Alesso Baldovinetti
+Alesso di Benozzo
+Andrea Busati
+Andrea del Brescianino
+Andrea del Castagno
+Andrea di Aloigi
+Andrea di Bartolo
+Anselmo Canera
+Ansuino da Forlì
+Antonello Crescenzio
+Antonello da Messina
+Antonio Aleotti
+Antonio Beduschi
+Antonio Boselli
+Antonio Bruno
+Antonio Capulongo
+Antonio Circignani
+Antonio Crescenzio
+Antonio da Faenza
+Antonio Foler
+Apollonio di Giovanni di Tommaso
+Aurelio Buso
+Baldassare Carrari
+Baldassare d'Anna
+Baldassarre di Biagio
+Bartolomeo Bonascia
+Bartolomeo Caporali
+Bartolomeo di Cassino
+Bartolomeo di Giovanni
+Battista Dossi
+Benedetto Bonfigli
+Benedetto Caliari
+Benedetto Rusconi
+Bernardino Brozzi
+Bernardino Butinone
+Bernardino de' Conti
+Bernardino Ferrari
+Biagio Betti
+Biagio d'Antonio
+Boccaccio Boccaccino
+Bonifacio Bembo
+Buonamico Buffalmacco
+Camillo Capelli
+Camillo Filippi
+Carlo Crivelli
+Cennino Cennini
+Cesare Bernazano
+Cosimo Daddi
+Cristoforo Ciocca
+Cristoforo Diana
+Denis Calvaert
+Domenico Alfani
+Domenico Balestrieri
+Domenico Beccafumi
+Domenico Beceri
+Domenico Caprioli
+Domenico del Barbieri
+Domenico Falcini
+Domenico Mancini
+Domenico Veneziano
+Domiziano Domiziani
+Donato da Formello
+Dono Doni
+Dosso Dossi
+Durante Alberti
+Elena Anguissola
+Filippo Bellini
+Filippo di Antonio Filippelli
+Floriano Ferramola
+Forlivese school of art
+Fra Bartolomeo
+Fra Diamante
+Francesco Bacchiacca
+Francesco Beccaruzzi
+Francesco Bianchi
+Francesco Bonsignori
+Francesco Curradi
+Francesco da Cotignola
+Francesco del Cossa
+Francesco Dominici
+Gabriele Caliari
+Gandolfino d'Asti
+Gentile Bellini
+Giacomo Coltrini
+Gianetto Cordegliaghi
+Gian Gheramo Dalle Catene
+Gioseffo Danedi
+Giovanni Agostino da Lodi
+Giovanni Alberti
+Giovanni Ambrogio Bevilacqua
+Giovanni Angelo Criscuolo
+Giovanni Angelo d'Antonio
+Giovanni Antonio Bazzi
+Giovanni Antonio Boltraffio
+Giovanni Battista Averara
+Giovanni Battista Bertani
+Giovanni Battista Caporali
+Giovanni Battista Cremonini
+Giovanni Battista Cungi
+Giovanni Bellini
+Giovanni Buonconsiglio
+Giovanni Cariani
+Giovanni Cianfanini
+Giovanni Contarini
+Giovanni Filippo Criscuolo
+Giovanni Francesco Caroto
+Giovanni Maria Baldassini
+Giovanni Maria Falconetto
+Giovanni Paolo Cavagna
+Giovanni Stefano Danedi
+Girolamo Bonsignori
+Girolamo Buratti
+Girolamo Colleoni
+Girolamo Comi
+Girolamo Danti
+Giuliano Bugiardini
+Giulio Angolo del Moro
+Giulio Caporali
+Giustino Episcopio
+Ippolito Costa
+Jacopo Bellini
+Jacopo Bertucci
+Jacopo Coppi
+Lavinia Fontana
+Lazzaro Bastiani
+Lazzaro Calvi
+Leonardo Corona
+Leonardo di Bisuccio
+Leon Battista Alberti
+Lorenzo Canozzi
+Lorenzo Costa
+Lorenzo Costa the Younger
+Lorenzo d'Alessandro
+Luca Cattapane
+Ludovico Brea
+Luigi Benfatto
+Luigi Carboni
+Luigi Donato
+Marcello Figolino
+Marcello Fogolino
+Marco Angolo del Moro
+Marco Bigio
+Marco Dente
+Mariangiola Criscuolo
+Mariotto Albertinelli
+Maturino da Firenze
+Melozzo da Forlì
+Michelangelo Aliprandi
+Michele Alberti
+Niccolò Appiani
+Nicola Filotesio
+Odoardo Fialetti
+Organtino di Mariano
+Orlando Flacco
+Orsino Carota
+Paolo Caylina the Younger
+Paolo Moranda Cavazzola
+Pellegrino Aretusi
+Pier Angelo Basili
+Pier Antonio Bernabei
+Piero di Cosimo
+Pietro Damini
+Pietro di Bagnara
+Pietro Facchetti
+Pietro Paolo Agabito
+Pietro Paolo Baldinacci
+Polidoro da Caravaggio
+Pompeo Cesura
+Pompeo Cocchi
+Raffaello Botticini
+Raffaello del Brescianino
+Raimondo Epifanio
+Salvatore Fontana
+Sandro Botticelli
+Sebastiano Florigerio
+Sigismondo Benini
+Sigismondo Foschi
+Silvestro de Buoni
+Sofonisba Anguissola
+Sollecito Arisi
+Spinello Aretino
+Stefano Falzagalloni
+Tommaso Barnabei
+Tommaso de Aleni
+Vincenzo Ansaloni
+Vincenzo degli Azani
+Vincenzo Foppa
+Vitale da Bologna
+Vittore Belliniano
+Vittore Carpaccio
+Zanetto Bugatto
+__artists/European Art/renaissance/quattrocento_painters__
+__artists/European Art/renaissance/italian_mannerist_painters__
+{Raffaello Santini|Raphael}
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/italian_renaissance_sculptors.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/italian_renaissance_sculptors.txt
new file mode 100644
index 0000000000000000000000000000000000000000..12dd2453836dfbf28fcb1c6e123b10e8e219870d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/italian_renaissance_sculptors.txt
@@ -0,0 +1,109 @@
+Adriano Fiorentino
+Agnolo Aniello Fiore
+Agostino di Duccio
+Alessandro Leopardi
+Andrea Bregno
+Andrea Ciccione
+Andrea della Robbia
+Andrea del Verrocchio
+Andrea Ferrucci
+Andrea Riccio
+Andrea Sansovino
+Angelo Aniello Fiore
+Anichini family
+Antonello Gagini
+Antonio Bamboccio
+Antonio del Pollaiuolo
+Antonio Federighi
+Antonio Lombardo
+Antonio Mangiacavalli
+Antonio Rizzo
+Antonio Rossellino
+Baccio Bandinelli
+Baccio d'Agnolo
+Baccio da Montelupo
+Bartolomeo Bellano
+Benedetto Buglioni
+Benedetto da Maiano
+Benedetto da Rovezzano
+Bernardino delle Croci
+Bernardo Rossellino
+Bertoldo di Giovanni
+Cinquecento
+Cristoforo di Geremia
+Cristoforo Foppa
+Cristoforo Mantegazza
+Cristoforo Solari
+Dello di Niccolò Delli
+Desiderio da Settignano
+Domenico Fancelli
+Domenico Gagini
+Donatello
+Filippo Brunelleschi
+Fra Giovanni da Verona
+Francesco da Sangallo
+Francesco di Valdambrino
+Francesco Laurana
+Francesco Paciotto
+Francesco Solari
+Gasparo Cairano
+Gaudenzio Ferrari
+Gian Giacomo Dolcebuono
+Giovanni Alberghetti
+Giovanni Antonio Amadeo
+Giovanni Battagio
+Giovanni Boscoli
+Giovanni Cristoforo Romano
+Giovanni Dalmata
+Giovanni da Maiano
+Giovanni della Robbia
+Giovanni di Stefano (sculptor)
+Giovanni Francesco Rustici
+Giovanni Maria Mosca
+Girolamo della Robbia
+Giuliano da Maiano
+Giuliano da Sangallo
+Guido Mazzoni (sculptor)
+Guiniforte Solari
+Isabella Discalzi Mazzoni
+Jacopo da Trezzo
+Jacopo della Quercia
+Jacopo Sansovino
+Leonardo da Vinci
+Leon Battista Alberti
+Lorenzetto
+Lorenzo di Credi
+Lorenzo Ghiberti
+Luca della Robbia
+Master of the Barbarigo Reliefs
+Master of the Marble Madonnas
+Matteo Civitali
+Michelangelo
+Michelozzo
+Mino da Fiesole
+Mino del Reame
+Nanni di Banco
+Donatello
+Niccolò dell'Arca
+Niccolò di Giovanni Fiorentino
+Nicolao Civitali
+Pagno di Lapo Portigiani
+Paolo Romano
+Pier Jacopo Alari Bonacolsi
+Pietro Antonio Solari
+Pietro Lombardo
+Pietro Paolo Agabito
+Pietro Torrigiano
+Quattrocento
+Silvestro dell'Aquila
+Simone di Nanni Ferrucci
+Simone Ferrucci
+Simone Ghini
+Simone Moschino
+Tamagnino
+Tomasso Amici
+Tommaso Malvito
+Trecento
+Tullio Lombardo
+Vincenzo Onofri
+Vittore Gambello
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/mannerism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/mannerism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f5c8530832e65c3d4a158dcddaf52c3b8d84b55d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/mannerism.txt
@@ -0,0 +1,9 @@
+__artists/European Art/renaissance/italian_mannerist_painters__
+__artists/European Art/renaissance/dutch_mannerist_painters__
+__artists/European Art/renaissance/perivian_mannerist_painters__
+__artists/European Art/renaissance/english_mannerist_painters__
+__artists/European Art/renaissance/flemish_mannerist_painters__
+__artists/European Art/renaissance/french_mannerist_painters__
+__artists/European Art/renaissance/german_mannerist_painters__
+__artists/European Art/renaissance/polish_mannerist_painters__
+__artists/European Art/renaissance/cusco_school__
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/peruvian_mannerist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/peruvian_mannerist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b502d90dab1acf8cc3c1bb7bb41d12f4c445d020
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/peruvian_mannerist_painters.txt
@@ -0,0 +1,8 @@
+Angelino Medoro
+Antonio Sinchi Roca Inka
+Basilio Santa Cruz Pumacallao
+Bernardo Bitti
+Diego Quispe Tito
+Leonardo Jaramillo
+Marcos Zapata
+Matteo Pérez
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/polish_mannerist_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/polish_mannerist_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..aaa5dc6e2b3c2c378568718a693e43236f22578b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/polish_mannerist_painters.txt
@@ -0,0 +1,2 @@
+Isaak van den Blocke
+Martin Kober
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/quattrocento_painters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/quattrocento_painters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a0276d05f26c76ae571b7993c81832814c693987
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/quattrocento_painters.txt
@@ -0,0 +1,91 @@
+Alesso Baldovinetti
+Aliguccio Ciccarelli
+Alvise Vivarini
+Andrea del Castagno
+Andrea Mantegna
+Angelo Puccinelli
+Antonello da Messina
+Antonio Alberti
+Antonio da Fabriano
+Antonio del Massaro
+Antonio del Pollaiuolo
+Baldassare Estense
+Bartolomeo Caylina
+Bartolomeo di Tommaso
+Bartolomeo Vivarini
+Benedetto Bonfigli
+Benedetto da Fiesole
+Benozzo Gozzoli
+Bittino da Faenza
+Bonifacio Bembo
+Bono da Ferrara
+Buono de' Buoni
+Carlo Crivelli
+Cosimo Rosselli
+Cosmè Tura
+Cristoforo Moretti
+Dello di Niccolò Delli
+Domenico di Cecco
+Domenico di Michelino
+Domenico Ghirlandaio
+Domenico Veneziano
+Felice Scotto
+Filippo di Matteo Torelli
+Filippo Lippi
+Fra Angelico
+Fra Carnevale
+Fra Diamante
+Francesco Botticini
+Francesco dai Libri
+Francesco d'Antonio
+Francesco del Cossa
+Francesco di Giorgio Martini
+Francesco Pesellino
+Galasso Galassi
+Gentile Bellini
+Gherardo Starnina
+Giovanni Bellini
+Giovanni Boccati
+Giovanni da Oriolo
+Giovanni di Paolo
+Giovanni di Piamonte
+Giovanni Francesco Toscani
+Girolamo Bonsignori
+Girolamo di Benvenuto
+Gregorio di Cecco
+Ippolito del Donzello
+Jacobello del Fiore
+Jacopo Bedi
+Jacopo Bellini
+Jacopo da Montagnana
+Jacopo d'Avanzi
+Jacopo Zabolino
+Lippo d'Andrea
+Lorenzo da Viterbo
+Lorenzo di Niccolò
+Marco Zoppo
+Mariotto di Nardo
+Masaccio
+Matteo di Giovanni
+Michele Ciampanti
+Neri di Bicci
+Niccolò Antonio Colantonio
+Ottaviano Nelli
+Paolo Schiavo
+Paolo Uccello
+Pier Antonio Mezzastris
+Pier Francesco Fiorentino
+Piero della Francesca
+Piero del Pollaiuolo
+Pietro Perugino
+Prospero da Piazzola
+Rocco Zoppo
+Rossello di Jacopo Franchi
+Sandro Botticelli
+Sano di Pietro
+Silvestro de Buoni
+Taddeo Crivelli
+Troso da Monza
+Tuccio d'Andria
+Vincenzo Foppa
+Zanobi Strozzi
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/renaissance.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/renaissance.txt
new file mode 100644
index 0000000000000000000000000000000000000000..756e43fdc64025667fe0d2a6bd1da77b73ff974f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/European Art/renaissance/renaissance.txt
@@ -0,0 +1,3 @@
+__artists/European Art/renaissance/italian_renaissance__
+__artists/European Art/renaissance/early_netherlandish_painters__
+__artists/European Art/renaissance/german_renaissance__
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Japanese Art/nihonga/heisei_era.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Japanese Art/nihonga/heisei_era.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d06a2fd3f4300cb6d21437253d8c2f0b1e97b248
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Japanese Art/nihonga/heisei_era.txt
@@ -0,0 +1,4 @@
+Matsui Fuyuko
+Nishida Shun'ei
+Gotō Jin
+Noguchi Tetsuya
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Japanese Art/nihonga/meiji_era.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Japanese Art/nihonga/meiji_era.txt
new file mode 100644
index 0000000000000000000000000000000000000000..eddca469536e8d91a939ff6b0945d99a3b70c17f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Japanese Art/nihonga/meiji_era.txt
@@ -0,0 +1,11 @@
+Hishida Shunsō
+Kawai Gyokudō
+Maeda Seison
+Hirata Shōdō
+Otake Chikuha
+Shimomura Kanzan
+Takeuchi Seihō
+Tomioka Tessai
+Uemura Shōen
+Yasuda Yukihiko
+Yokoyama Taikan
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Japanese Art/nihonga/nihonga.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Japanese Art/nihonga/nihonga.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b64f6a9ea63edf4b8ac6aa3a0b032ce63be8f3ea
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Japanese Art/nihonga/nihonga.txt
@@ -0,0 +1,4 @@
+__artists/Japanese Art/nihonga/meiji_era__
+__artists/Japanese Art/nihonga/taisho_era__
+__artists/Japanese Art/nihonga/showa_era__
+__artists/Japanese Art/nihonga/heisei_era__
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Japanese Art/nihonga/showa_era.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Japanese Art/nihonga/showa_era.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a85ae2bd4f530283bb001dc24e43b670d5740529
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Japanese Art/nihonga/showa_era.txt
@@ -0,0 +1,22 @@
+Fuku Akino
+Dōmoto Inshō
+Higashiyama Kaii
+Hirayama Ikuo
+Fumiko Hori
+Kataoka Tamako
+Katō Eizō
+Katō Tōichi
+Kitazawa Rakuten
+Koizumi Junsaku
+Kobayashi Kokei
+Katayama Bokuyō
+Gakuryō Nakamura
+Ogura Yuki
+Okuda Gensō
+Okumura Togyū
+Sugiyama Yasushi
+Tanaka Isson
+Uchida Aguri
+Yamaguchi Kayō
+Tomohide Dote
+Reiji Hiramatsu
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Japanese Art/nihonga/taisho_era.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Japanese Art/nihonga/taisho_era.txt
new file mode 100644
index 0000000000000000000000000000000000000000..09053a3a2172149bd0e7da963a679a6e01589a73
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Japanese Art/nihonga/taisho_era.txt
@@ -0,0 +1,7 @@
+Hayami Gyoshū
+Itō Shinsui
+Kaburaki Kiyokata
+Kawabata Ryūshi
+Murakami Kagaku
+Takehisa Yumeji
+Tsuchida Bakusen
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Japanese Art/ukiyoe.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Japanese Art/ukiyoe.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c7f81e14f97a20b4163d8e9bdb1fbb787be611b4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Japanese Art/ukiyoe.txt
@@ -0,0 +1,105 @@
+Adachi Ginkō
+Bertha Lum
+Bunchō
+Chōkōsai Eishō
+Eiichi Kotozuka
+Eishi
+Eishōsai Chōki
+Furuyama Moromasa
+Gatōken Shunshi
+Gigadō Ashiyuki
+Gihachiro Okuyama
+Hanabusa Itchō
+Harukawa Eizan
+Hasegawa Chikuyō
+Hirosada II
+Hiroshige
+Hiroshige II
+Hiroshige III
+Hiroshi Yoshida
+Hishikawa Moronobu
+Hokkei
+Ishikawa Toyonobu
+Iwasa Matabei
+Kabukidō Enkyō
+Kaigetsudō Ando
+Kanbun Master
+Kanō Hideyori
+Katsukawa Shunchō
+Katsukawa Shun'ei
+Katsukawa Shunkō I
+Katsukawa Shunshō
+Katsushika Ōi
+Kawamata Tsunemasa
+Kawamata Tsuneyuki
+Kawanabe Kyōsai
+Keisai Eisen
+Kikukawa Eizan
+Kitao Shigemasa
+Kobayashi Eitaku
+Kobayashi Kiyochika
+Kōgyo Tsukioka
+Konishi Hirosada
+Koryūsai
+Kunisada
+Kuniyasu
+Miyagawa Chōki
+Miyagawa Chōshun
+Miyagawa Isshō
+Natori Shunsen
+Nishikawa Sukenobu
+Nishimura Shigenaga
+Ogata Gekkō
+Okumura Masanobu
+Okumura Toshinobu
+Ōoka Shunboku
+Roy Ragle
+Ryūkōsai Jokei
+Ryusai Shigeharu
+Sadahide
+Santō Kyōden
+Sawa Sekkyō
+Sharaku
+Shiba Kōkan
+Shunbaisai Hokuei
+Shunkōsai Hokushū
+Shunman
+Shunshosai Hokucho
+Sugimura Jihei
+Suzuki Harunobu
+Torii Kiyohiro
+Torii Kiyomasu
+Torii Kiyomasu II
+Torii Kiyomitsu
+Torii Kiyomoto
+Torii Kiyonaga
+Torii Kiyonobu I
+Torii Kiyonobu II
+Torii Kiyotsune
+Toriyama Sekien
+Toshihide Migita
+Toyohara Kunichika
+Toyohiro
+Tsukimaro
+Tsukioka Settei
+Tsukioka Yoshitoshi
+Urakusai Nagahide
+Utagawa Kunimasa
+Utagawa Kunimasu
+Utagawa Kunisada II
+Utagawa Kunisada III
+Utagawa Kuniyoshi
+Utagawa Sadafusa
+Utagawa Shigenobu
+Utagawa Toyoharu
+Utagawa Toyokuni
+Utagawa Toyokuni II
+Utagawa Yoshiiku
+Utagawa Yoshitora
+Utamaro
+Yamamoto Shōun
+Yanagawa Nobusada
+Yanagawa Shigenobu
+Yanagawa Yukinobu
+Yashima Gakutei
+Yoshida Hanbei
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Japanese Art/yoga/meiji_era.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Japanese Art/yoga/meiji_era.txt
new file mode 100644
index 0000000000000000000000000000000000000000..81fb7995a4b8e45f7f6fe96351fee1c5f92f6ac4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Japanese Art/yoga/meiji_era.txt
@@ -0,0 +1,7 @@
+Asai Chū
+Fujishima Takeji
+Kawamura Kiyoo
+Kenkichi Sugimoto
+Kuroda Seiki
+Takahashi Yuichi
+Yamamoto Hōsui
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Japanese Art/yoga/taisho_era.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Japanese Art/yoga/taisho_era.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9b6829cd6bb4e51b839d90312bb756b24f454623
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Japanese Art/yoga/taisho_era.txt
@@ -0,0 +1,2 @@
+Kuwashige Giichi
+Ryūsei Kishida
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Japanese Art/yoga/yoga.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Japanese Art/yoga/yoga.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8acfc291b78496310a9d64ecbdf697148b12129a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Japanese Art/yoga/yoga.txt
@@ -0,0 +1,2 @@
+__artists/Japanese Art/yoga/meiji_era__
+__artists/Japanese Art/yoga/taisho_era__
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/albania.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/albania.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5a85eb4c4412c593864330618e44b52b6b1db971
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/albania.txt
@@ -0,0 +1,15 @@
+Jani Zengo
+Kristo Sulidhi
+Kolë Idromeno
+Mati Kodheli
+Kel Marubi
+Gegë Marubi
+Refik Veseli
+Rifo Dobra
+Burim Myftiu
+Fadil Berisha
+Bajazid Doda
+Mimoza Veliu
+Gjon Mili
+George Tames
+Emin Kadi
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/algeria.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/algeria.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2e2da5edd044831b49f48f8f3a9419bbe6b1e13e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/algeria.txt
@@ -0,0 +1 @@
+Hocine Zaourar
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/argentina.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/argentina.txt
new file mode 100644
index 0000000000000000000000000000000000000000..67d9ccc832c24f4edd7cf9adee4ece269b731aee
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/argentina.txt
@@ -0,0 +1,24 @@
+Gustavo Aguerre
+Horacio Coppola
+Sara Facio
+Esteban Gonnet
+Annemarie Heinrich
+Alejandro Kuropatwa
+Adriana Lestido
+Grete Stern
+Nora Aslan
+Delfina Blaquier
+Alicia D'Amico
+Sara Facio
+Annemarie Heinrich
+Gaby Herbstein
+Adriana Lestido
+Matilde Marín
+Ana Portnoy
+Constanza Portnoy
+Romina Ressia
+Grete Stern
+Susana Thénon
+Luciana Val
+Agustina Vivero
+Helen Zout
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/armenia.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/armenia.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5f241ae3f3eaddcf58d101d29648917fbac01e20
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/armenia.txt
@@ -0,0 +1,7 @@
+Ida Kar
+Ohannes Kurkdjian
+Gabriel Lekegian
+Jean Pascal Sébah
+Pascal Sébah
+Van Leo
+Samvel Sevada
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/australia.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/australia.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c29d240bc7104612156deeba78761e0fac6e8a80
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/australia.txt
@@ -0,0 +1,120 @@
+Adam Ferguson
+Alex Cearns
+Alexia Sinclair
+Alice Mills
+Andrew Rovenko
+Andrew Stark
+Anne Ferran
+Anne Geddes
+Anne Zahalka
+Ashley Gilbertson
+Barbara McGrady
+Barcroft Capel Boake
+Barry Kay
+Beverley Clifford
+Bill Gekas
+Bill Henson
+Brenda L Croft
+Bronwyn Kidd
+Carol Jerrems
+Chantal Dunbar
+Charles Kerry
+Charles Page
+Charles Woolley
+Cillín Perera
+C. Moore Hardy
+Damien Parer
+Daniel Berehulak
+Daniel Marquis
+Darryn Lyons
+David Adams
+Destiny Deacon
+Elsie Rosaline Masson
+Emily Florence Cazneau
+Ernest Gustav Brandon-Cremer
+Euphemia Eleanor Baker
+Francis Reiss
+Frank Hurley
+Frederick Frith
+Graham Howe
+Hans Hasenpflug
+Harold Cazneaux
+Harriet Brims
+Heather George
+Hedda Morrison
+H. H. Tilbrook
+Ian Wallace
+Inger Vandyke
+Izzy Orloff
+Jack Atley
+Jacky Redgate
+Jacqueline Mitelman
+Jane Burton
+Jarrod Castaing
+Jeff Carter
+Jim Fenwick
+John Englart
+John Everingham
+John Raymond Garrett
+Joyce Evans
+June Newton
+Juno Gemes
+Kate Breakey
+Kate Geraghty
+Katrin Koenning
+Ken Duncan
+Leah King-Smith
+Leonie Reisberg
+Lillian Dean
+Lillian Louisa Pitts
+Liz Ham
+Louisa Anne Meredith
+Louisa Elizabeth How
+Lyn Hancock
+Maggie Diaz
+Margaret Michaelis-Sachs
+Mark Gray
+Max Dupain
+May and Mina Moore
+Merris Hillard
+Mireille Eid
+Narelle Autio
+Neil Davis
+Neville Coleman
+Odette England
+Olegas Truchanas
+Olive Cotton
+Pamela Lofts
+Pat Brassington
+Patrick Brown
+Paul B. Kidd
+Pegg Clarke
+Peter Bainbridge
+Peter Dombrovskis
+Peter Lik
+Peter Milne
+Polixeni Papapetrou
+Polly Borland
+Ponch Hawkes
+Rebecca Shanahan
+Robert Rosen
+Robyn Stacey
+Rose Simmonds
+Rozalind Drummond
+Ruby Spowart
+Russell James
+Ruth Hollick
+Ruth Maddison
+Sam Hood
+Sandy Edwards
+Sarah Bahbah
+Sarah Chinnery
+Steven Siewert
+Sue Ford
+Suzanna Clarke
+Tracey Moffatt
+Tracey Shelton
+Trent Parke
+Virginia Coventry
+Willie Phua
+Wolfgang Sievers
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/austria.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/austria.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9e505c3a3dff0f806efeab630b678d4cc99bb10b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/austria.txt
@@ -0,0 +1,31 @@
+Andreas Bitesnich
+Anna Koppitz
+Baron Raimund von Stillfried
+Birgit Jürgenssen
+Claire Beck
+David Uzochukwu
+Dora Kallmus
+Ernst Haas
+Friedl Kubelka
+Gerti Deutsch
+Gottfried Helnwein
+Gustl French
+Hanna Putz
+Hella Katz
+Herbert Bayer
+Inge Morath
+Josef Hoflehner
+Julia Spicker
+Karin Mack
+Lisette Model
+Lotte Meitner-Graf
+Lukas Beck
+Manfred Baumann
+Margaret Michaelis-Sachs
+Margherita Spiluttini
+Marina Faust
+Stillfried & Andersen
+Susanne Stemmer
+Trude Fleischmann
+Wilhelm J. Burger
+Willy Puchner
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/azerbijan.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/azerbijan.txt
new file mode 100644
index 0000000000000000000000000000000000000000..fa3cbac33afe2da4ec1af5c3485a91628ec55211
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/azerbijan.txt
@@ -0,0 +1 @@
+Rena Effendi
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/bangladesh.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/bangladesh.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6d659155a3cece7d3459c90ece66b0c7be52d4f7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/bangladesh.txt
@@ -0,0 +1,23 @@
+Aftab Ahmed
+Gazi Nafis Ahmed
+Naib Uddin Ahmed
+GMB Akash
+Taslima Akhter
+Shahidul Alam[1]
+K M Asad
+Manzoor Alam Beg
+Andrew Biraj
+Hasan Saifuddin Chandan
+Amanul Haque
+Mohammad Rakibul Hasan
+Anwar Hossain
+Mohammad Ponir Hossain
+Sayeeda Khanam
+Nasir Ali Mamun
+Sarker Protick
+Probal Rashid
+Jashim Salam
+Bijon Sarkar
+Rashid Talukder
+Munem Wasif
+Munir Uz Zaman
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/belgium.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/belgium.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b83d5026508162d99f34fabeb933db1aa52e1a37
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/belgium.txt
@@ -0,0 +1,15 @@
+Anthony Asael
+Jean-Marie Bottequin
+Isidore Jacques Eggermont
+Martine Franck
+Harry Gruyaert
+Victor Guidalevitch
+Carl de Keyzer
+Eugene Lemaire
+Marcel Mariën
+Filip Naudts
+Herman van den Boom
+Germaine Van Parys
+Max Pinckers
+Wim Tellier
+Stephan Vanfleteren
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/benin.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/benin.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9b87f89dd182adb3d27d0bba629cdf46aeef29ad
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/benin.txt
@@ -0,0 +1 @@
+Mayeul Akpovi
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/brazil.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/brazil.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5dc4236c4dad56001dd62bccf139837b7c0d5027
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/brazil.txt
@@ -0,0 +1,9 @@
+Miguel Rio Branco
+Marc Ferrez
+Vik Muniz
+Arthur Omar
+Sebastião Salgado
+Sérgio Valle Duarte
+Cássio Vasconcellos
+Guy Veloso
+Gustavo Chams
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/cambodia.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/cambodia.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4a9fe47d2ada9b60a9de7a64d7a24a631d35ff82
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/cambodia.txt
@@ -0,0 +1 @@
+Dith Pran
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/cameroon.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/cameroon.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4524e6e1d7d4a052d93c368910a6afb5bcc92578
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/cameroon.txt
@@ -0,0 +1,4 @@
+Joseph Chila
+Angèle Etoundi Essamba
+Samuel Fosso
+Jacques Toussele
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/canada.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/canada.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0731599bae9caa21c452cc033c7a4705a3c6df3b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/canada.txt
@@ -0,0 +1,171 @@
+Adriene K. Veninger
+Alexandra Morrison
+Aline Gubbay
+Alix Cléo Roubaud
+Althea Thauberger
+Amber Bracken
+Angela Grauerholz
+April Hickox
+Arnaud Maggs
+Arwa Abouon
+Barbara Astman
+Barbara Spohr
+Bill Cunningham
+Blossom Caron
+BMarian Penner Bancroft
+Bob Peterson
+Brian Wood
+Bryan Adams
+Byron Harmon
+Caitlin Cronenberg
+Carol Dunlop
+Chantal duPont
+Charlotte Rosshandler
+Chrystal Callahan
+Claire Beaugrand Champagne
+Clara Dennis
+Clara Gutsche
+Clara Sipprell
+Cynthia Chalk
+Dana Claxton
+Deanna Bowen
+Diane Borsato
+Dianne Bos
+Dominique Rey
+Donald Weber
+Donna Laframboise
+Dorothy Benson
+Edith Hallett Bethune
+Edith Maybin
+Edith Watson
+Edward Burtynsky
+Elaine Ling
+Elaine Stocki
+Élise L'Heureux
+Elsie Holloway
+Erin Combs
+Erin Shirreff
+Evelyn Andrus
+Farah Nosh
+Faye Schulman
+Fiona Bowie
+Floria Sigismondi
+Frederick Dally
+Fred Herzog
+Freeman Patterson
+Geneviève Cadieux
+George Barker
+Geraldine Moodie
+Gisèle Lamoureux
+Gladys Reeves
+Hannah Maynard
+Heidi Hollinger
+Helen McCall
+Henrietta Constantine
+Henrietta Gilmour
+Holly King
+Ian Lloyd
+Indrani Pal-Chaudhuri
+Isabelle Hayeur
+Jane Eaton Hamilton
+Janieta Eyre
+Jean Gainfort Merrill
+Jeff Wall
+Jennifer Alleyn
+Jenny Pike
+Jessica Eaton
+Jessie Tarbox Beals
+Jill Culiner
+Jill Greenberg
+Jin-me Yoon
+Joanne Jackson Johnson
+Jo-Anne McArthur
+John Hryniuk
+Joi Arcand
+Judith Lodge
+Julie Doiron
+Julie Enfield
+Julie Moos
+June Clark
+June Sauer
+Karin Bubaš
+Kay Burns
+Lana Šlezić
+Larry Towell
+Laura Letinsky
+Leah Singer
+Léna Mill-Reuillard
+Leonard Frank
+Lesia Maruschak
+Lillian B. Allen
+Lori Blondeau
+Lorraine Gilbert
+Lorraine Monk
+Lynne Cohen
+Madame Gagné
+Margaret Malandruccolo
+Margaret Watkins
+Marianna Knottenbelt
+Marie-Alice Dumont
+Marie-Jeanne Musiol
+Marlene Creates
+Mary Spencer
+Mattie Gunterman
+Melissa Auf der Maur
+Meryl McMaster
+Mia Matthes
+Michael Ernest Sweet
+Michelle Groskopf
+Millie Gamble
+Minna Keene
+Moyra Davey
+Nadia Myre
+Nancy Davenport
+Nancy Petry
+Naomi Harris
+Nathalie Daoust
+Nicholas Morant
+Nina Raginsky
+Peter Pitseolak
+Petra Collins
+Raphael Mazzucco
+Raymonde April
+Raymond Henry St. Arnaud
+Reva Brooks
+Richard Maynard
+Rita Leistner
+Roberta Bondar
+Robert Bourdeau[1]
+Robert Burley
+Robert Polidori
+Roloff Beny
+Rosalie Favell
+Rosetta Ernestine Carr
+Roy Arden
+Ruth Kaplan
+Sally Davies
+Sally Elizabeth Wood
+Samra Habib
+Sam Tata
+Sandra Semchuk
+Sara Angelucci
+Sheila McKinnon
+Shelagh Alexander
+Shelley Niro
+Sorel Cohen
+Stéphanie Colvey
+Sunil Gupta
+Susan Dobson
+Susan McEachern
+Sylvie Bélanger
+Sylvie Readman
+Tenille Campbell
+Tess Boudreau
+Thelma Pepper
+Theodosia Bond
+Valerie Jodoin Keaton
+Vikky Alexander
+Violet Keene
+Yousuf Karsh
+Yucho Chow
+Zahra Kazemi
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/chile.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/chile.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2753fcb006175715bd6b8e8c5329e6ea162fa330
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/chile.txt
@@ -0,0 +1,4 @@
+Ricardo Carrasco
+Jesús Inostroza
+Carlos Reyes-Manzo
+Valeria Zalaquett
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/china.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/china.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d83b1257e91a88dcd92c1d62904c549050ade4b4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/china.txt
@@ -0,0 +1,52 @@
+Cang Xin
+Chen Man
+Chen Wei
+Cui Xiuwen
+Feng Li
+Feng Xuemin
+Fu Bingchang
+Guo Yingguang
+He Chengyao
+Hong Cheong
+Hou Bo
+Joey Pang
+John Yu Shuinling
+Lai Afong
+Lang Jingshan
+Liu Xia
+Liu Xucang
+Li Zhensheng
+Lu Guang
+Lu Houmin
+Luo Yang
+Ma Liuming
+Miao Xiaochun
+Mu Qing
+O Zhang
+Ren Hang
+Sam Tata
+Sha Fei
+Shao Hua
+Shen Wei
+Stephen Chow
+Sun-chang Lo
+Tang Ying Chi
+Tchan Fou-li
+Tian Yuan
+Tong Cheong
+Wang Fuchun
+Wang Qingsong
+Wong Wo Bik
+Wu Shanzhuan
+Xiao Hui Wang
+Xiao Zhuang
+Xing Danwen
+Xu Xiaobing
+Yang Fudong
+Yijun Liao
+Yushi Li
+Zhang Jingna
+Zhao Xiaoding
+Zheng Guogu
+Zhuang Xueben
+Zhu Lan Qing
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/colombia.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/colombia.txt
new file mode 100644
index 0000000000000000000000000000000000000000..34766eeecac68bfbabf18689581802702bea1eec
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/colombia.txt
@@ -0,0 +1,5 @@
+Ricardo Acevedo Bernal
+Jesús Abad Colorado
+Miguel Gómez
+Nereo López
+Leo Matiz
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/croatia.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/croatia.txt
new file mode 100644
index 0000000000000000000000000000000000000000..55dc3b8aede3d2fdecf60907fd2f7d7e2447f435
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/croatia.txt
@@ -0,0 +1,3 @@
+Tošo Dabac
+Damir Hoyka
+Viktor Đerek
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/cuba.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/cuba.txt
new file mode 100644
index 0000000000000000000000000000000000000000..bc75d7eae9cabb251e4b081fe8fe06cb60ef7393
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/cuba.txt
@@ -0,0 +1,2 @@
+Luis Castaneda
+Alberto Korda
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/czech_republic.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/czech_republic.txt
new file mode 100644
index 0000000000000000000000000000000000000000..93cbc6c930d6e2b2831d63f78df686351c63bdd5
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/czech_republic.txt
@@ -0,0 +1,18 @@
+Karel Cudlín
+František Drtikol
+Libuše Jarcovjáková
+Viktor Kolář
+Rudolf Koppitz
+Josef Koudelka
+Antonín Kratochvíl
+Rudolf Franz Lehnert
+Markéta Luskačová
+Frank Plicka
+Karel Plicka
+Jan Saudek
+Ignác Šechtl
+Josef Jindřich Šechtl
+Marie Šechtlová
+Jindřich Štreit
+Josef Sudek
+Miroslav Tichý
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/denmark.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/denmark.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1d84b86ccb400c645f1c845191875667b6f102df
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/denmark.txt
@@ -0,0 +1,50 @@
+Amalie Claussen
+Anton Melbye
+Astrid Kruse Jensen
+Benedicte Wrensted
+Bodil Hauschildt
+Caroline Hammer
+Charlotte Hanmann
+Claus Bjørn Larsen
+Erling Mandelmann
+Frederikke Federspiel
+Georg Emil Hansen
+Helena Christensen
+Jacob Aue Sobol
+Jacob Holdt
+Jacob Riis
+Jan Grarup
+Jens Fink-Jensen
+Jesper Høm
+Jette Bang
+Joakim Eskildsen
+Johanne Hesbeck
+Julie Edel Hardenberg
+Julie Laurberg
+Keld Helmer-Petersen
+Ken Hermann
+Kirsten Klein
+Klaus Thymann
+Krass Clement
+Kristen Feilberg
+Lars Schwander
+Leif Schiller
+Louise Thomsen
+Ludvig Grundtvig
+Mads Alstrup
+Marianne Grøndahl
+Mari Bastashevski
+Mary Steen
+Mary Willumsen
+Morten Bo
+Per Bak Jensen
+Pia Arke
+Reg Balch
+Rigmor Mydtskov
+Rudolph Striegler
+Sigvart Werner
+Sisse Brimberg
+Sophia Kalkau
+Thora Hallager
+Tina Enghoff
+Viggo Rivad
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/drc.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/drc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4902d95c7a5c4f6f5533f4280844b9875cdac7d1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/drc.txt
@@ -0,0 +1,2 @@
+Gosette Lubondo
+Joseph Makula
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/ecuador.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/ecuador.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9804b3ca554afcf7b1a16ec2a9025baaa1271a94
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/ecuador.txt
@@ -0,0 +1,2 @@
+Hugo Cifuentes
+Isadora Romero
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/egypt.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/egypt.txt
new file mode 100644
index 0000000000000000000000000000000000000000..52513492e5613f896346517f97fd9d4ebbe2fd2b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/egypt.txt
@@ -0,0 +1,7 @@
+W. Hanselman
+Sherif Sonbol
+Ayman Lotfy
+Lara Baladi
+Laura El-Tantawy
+Nermine Hammam
+Huda Lutfi
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/eritrea.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/eritrea.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c37afcbb9d5796c1e466d6d61d822190818c9dfa
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/eritrea.txt
@@ -0,0 +1 @@
+Senayt Samuel
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/estonia.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/estonia.txt
new file mode 100644
index 0000000000000000000000000000000000000000..71890735815ffc12381f1ce7b6b1c584562808b4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/estonia.txt
@@ -0,0 +1,4 @@
+Kaupo Kikkas
+Jaan Künnap
+Johannes Pääsuke
+Urmas Tartes
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/ethiopia.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/ethiopia.txt
new file mode 100644
index 0000000000000000000000000000000000000000..dc162aaf027f59054d3ae5f94888fff9f7e97514
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/ethiopia.txt
@@ -0,0 +1 @@
+Aïda Muluneh
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/finland.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/finland.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0a9cf1a8eadee4908a5f6f3a2eb71f05ec429a76
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/finland.txt
@@ -0,0 +1,10 @@
+Elina Brotherus
+Joakim Eskildsen
+Ismo Hölttö
+Aino Kannisto
+Marjaana Kella
+Ola Kolehmainen
+Sirkka-Liisa Konttinen
+Santeri Levas
+Susanna Majuri
+Arno Rafael Minkkinen
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/france.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/france.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7ca7407710536f26cd91c3f18a0651ab1f8330d5
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/france.txt
@@ -0,0 +1,189 @@
+Adeline Boutain
+Adolphe Braun
+Agnès Varda
+Alan Aubry
+Albert Spaggiari
+Albert Willecomme
+Alexandra Boulat
+Alex Strohl
+Alfred Beau
+Alix Marie
+Anaïs Napoleón
+André-Adolphe-Eugène Disdéri
+André Giroux
+André Ostier
+Ange Leccia
+Ann Ray
+Antoine Claudet
+Antoine Fauchery
+Antoine Tempé
+Ariane Lopez-Huici
+Auguste and Louis Lumière
+Auguste François
+Auguste-Rosalie Bisson
+Bénédicte Kurzen
+Benedicte Van der Maar
+Bernard Cahier
+Bernard Faucon
+Bettina Rheims
+Brassaï
+Brigitte Lacombe
+Bruno Barbey
+Bruno Braquehais
+Bruno de Monès
+Camille Lepage
+Camille Silvy
+Catherine Leroy
+Charles Marville
+Chloé Tallot
+Christine Spengler
+Christophe Beauregard
+Clark and Pougnaud
+Claude Batho
+Claude Cahun
+Claudine Doury
+Constant Puyo
+Dani Olivier
+Delphine Diallo
+Denise Bellon
+Désiré Charnay
+Dominique Darbois
+Dominique Issermann
+Dominique Roman
+Dora Maar
+Edouard Baldus
+Edouard Boubat
+Édouard Delessert
+Emile Gsell
+Emmanuelle Riva
+Eric Lafforgue
+Étienne-Jules Marey
+Eugène Atget
+Evrard Wendenbaum
+Félix Bonfils
+Fernand Fonssagrives
+Flore
+Florence Henri
+Franck Vogel
+Françoise Demulder
+Françoise Huguier
+Françoise Nuñez
+Frédéric Lagrange
+Gaëlle Ghesquière
+Gaspard-Pierre-Gustave Joly de Lotbinière
+Geneviève Élisabeth Disdéri
+Genevieve Hafner
+Georges-Louis Arlaud
+Georges Rousse
+Georgette Chadourne
+Gérard Rancinan
+Germaine Chaumel
+Germaine Krull
+Gilles Peress
+Gisèle Freund
+Gustave Le Gray
+Guy Bourdin
+Hedi Slimane
+Henri Cartier-Bresson
+Henri Huet
+Henri Le Secq
+Henri-Victor Regnault
+Hércules Florence
+Herman Puig
+Hippolyte Arnoux
+Hippolyte Bayard
+Irina Ionesco
+Isabelle Massieu
+Jacques Alexandre
+Jacques Bourboulon
+Jacques Henri Lartigue
+Janine Niépce
+Jean-Baptiste Frénet
+Jean-Baptiste Mondino
+Jean-Baptiste Tournassoud
+Jean Baudrillard
+Jean Chamoux
+Jean-Christian Bourcart
+Jean-François Jonvelle
+Jean-François Lepage
+Jean Louis Marie Eugène Durieu
+Jean-Louis Schoellkopf
+Jeanloup Sieff
+Jean-Marc Bustamante
+Jean-Marie Villard
+Jean-Michel Voge
+Jean-Philippe Charbonnier
+Jean Philippe Piter
+Jenny de Vasson
+John Launois
+Joseph Nicéphore Niépce
+Joseph-Philibert Girault de Prangey
+Jules Gervais-Courtellemont
+Jules Itier
+Kate Polin
+Laure Albin Guillot
+Laurent Benaïm
+Laurent Biancani
+Leila Alaoui
+Léon Gimpel
+Lise Sarfati
+Louis Arthur Ducos du Hauron
+Louis-Camille d'Olivier
+Louis Désiré Blanquart-Evrard
+Louise Laffon
+Louis-Jacques Daguerre
+Louis Legrand
+Luc Delahaye
+Lucien Hervé
+Marc Riboud
+Marguerite Bornhauser
+Marie-Lydie Cabanis Bonfils
+Martine Barrat
+Maxime Du Camp
+Mayotte Magnus
+Michel Poivert
+Mohamed Bourouissa
+Muammer Yilmaz
+Nadar
+Natacha Lesueur
+Natalia Turine
+Olivier Grunewald
+Olivier Roller
+Olympe Aguado
+Pascal Meunier
+Patrick Demarchelier
+Paul de Cordon
+Philippe Echaroux
+Pierre de Vallombreuse
+Pierre Dubreuil
+Pierre et Gilles
+Pierre Toutain-Dorbec
+Réhahn
+Robert Doisneau
+Sabine Pigalle
+Sarah Moon
+Serge Brunier
+Serge Lutens
+Sophie Calle
+Sophie Delaporte
+Sophie Ristelhueber
+Stéphane Sednaoui
+Stéphanie Di Giusto
+Suzanne Doppelt
+Suzanne Lafont
+Thomas Devaux
+Valérie Belin
+Valérie Jouve
+Véronique de Viguerie
+Vincent Fournier
+Vincent Goutal
+Vincent Munier
+Vivienne Chandler
+Wilfrid Esteve
+Willy Ronis
+Wols
+Xavier Veilhan
+Yann Arthus-Bertrand
+Yohann Gozard
+Yvette Troispoux
+Yvonne Chevalier
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/gambia.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/gambia.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0466b530a79e46e5320b86ba83163bef8ed6cfd8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/gambia.txt
@@ -0,0 +1 @@
+Khadija Saye
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/georgia.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/georgia.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1bbc8fe2c194a5d8e7614e285a2eb650e9b6588c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/georgia.txt
@@ -0,0 +1 @@
+Irakly Shanidze
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/germany.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/germany.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b944cb3893f8e205b7e21cc0a095101c3001807a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/germany.txt
@@ -0,0 +1,201 @@
+Abisag Tüllmann
+Adolf de Meyer
+Aenne Biermann
+Albert Renger-Patzsch
+Alex Kempkens
+Alice Lex-Nerlinger
+Andreas Bohnenstengel
+Andreas Gursky
+Angelika Platen
+Anja Niedringhaus
+Anna and Bernhard Blume
+Anna Blume
+Anna Werner
+Annegret Soltau
+Anne-Katrin Purkiss
+Annelise Löffler
+Annemarie Heinrich
+Anne Menke
+Annette Kelm
+Anne Winterer
+Arwed Messmer
+Astrid Kirchherr
+August Sander
+Barbara Klemm
+Barbara Luisi
+Barbara Probst
+Bernd and Hilla Becher
+Bertha Beckmann
+Bertha Wehnert-Beckmann
+Bertha Zillessen
+Bettina Pousttchi
+Bettina von Zwehl
+Burkhard Schittny
+Candida Höfer
+Carla Bartheel
+Cathleen Naundorf
+Charles Paul Wilp
+Charlotte Joël
+Christa Frieda Vogel
+Christian von Alvensleben
+Chris von Wangenheim
+Claudia Fährenkemper
+Claudia Reinhardt
+Clemens Kalischer
+Dieter Appelt
+Dorothy Bohm
+Edmund Collein
+Elfriede Reichelt
+Elger Esser
+Elisabeth Hase
+Ella Bergmann-Michel
+Ellen Auerbach
+Ellen von Unwerth
+Elsa Thiemann
+Else Seifert
+Emilie Bieber
+Erich Consemüller
+Erich Salomon
+Erna Lendvai-Dircksen
+Ernst Heinrich Landrock
+Esther Haase
+Esther Levine
+Eva Sandberg-Xiao
+Evelyn Richter
+Felix H. Man
+Franz Fiedler
+Franz Grainer
+Frauke Eigen
+Frieda Riess
+Fritz Henle
+Gerda Taro
+Germaine Krull
+Gertrud Arndt
+Gertrude Fehr
+Giorgio Sommer
+Gisèle Freund
+Gladys Chai von der Laage
+Gottfried Jäger
+Grete Stern
+Guglielmo Plüschow
+Gundula Schulze Eldowy
+Hannah Höch
+Hanni Schwarz
+Hans Bellmer
+Hansel Mieth
+Hans G. Lehmann
+Hans Namuth
+Harald Hauswald
+Hedda Morrison
+Heinrich Brocksieper
+Heinrich Hoffmann
+Heinrich Kühn
+Heinrich Tønnies
+Heji Shin
+Helga Paris
+Helmut Gernsheim
+Helmut Newton
+Henning von Berg
+Herbert List
+Herbert Tobias
+Hildegard Ochse
+Hildegard Ochse (1935-1997]
+Hildegard Rosenthal
+Hilla Becher
+Ilse Bing
+Ingeborg Kahlenberg
+Jeanne Mandello
+Jenny Bossard-Biow
+Johanna Keimeyer
+John Gutmann
+John Heartfield
+Jörg Sasse
+Josef H. Neumann
+Juergen Teller
+Julia Gunther
+Juliane Herrmann
+Jutta Vialon
+Karl Blossfeldt
+Karl Lagerfeld
+Karsten Mosebach
+Karsten Thormaehlen
+Katharina Behrend
+Katharina Sieverding
+Käthe Buchler
+Katja Rahlwes
+Katrin Korfmann
+Kristian Liebrand
+Laurenz Berges
+Leni Riefenstahl
+Li Osborne
+Lisa Larsen
+Lisel Haas
+Liselotte Grschebina
+Liselotte Strelow
+Loretta Lux
+Lotte Herrlich
+Lotte Jacobi
+Louise Abel
+Lucia Moholy
+Madeline Winkler-Betzendahl
+Margret Nissen
+Marianne Breslauer
+Marianne Wex
+Marie Goslich
+Marie Kundt
+Marta Hoepffner
+Max Burchartz
+Melanie Manchot
+Michael Poliza
+Michael Ruetz
+Michael Schmidt
+Michael Wolf
+Minya Diez-Dührkoop
+Monika Kropshofer
+Nanna Heitmann
+Oliver Mark
+Otto Steinert
+Otto Wunderlich
+Patrick Bienert
+Peter Bialobrzeski
+Peter Cornelius
+Peter Guttman
+Peter Leibing
+Peter Lindbergh
+Peter Thomann
+Regina Relang
+Rosemarie Clausen
+Roswitha Hecke
+Rut Blees Luxemburg
+Ruth Bernhard
+Ruth Wilhelmi
+Sabine Hornig
+Sandra Hastenteufel
+Sibylle Bergemann
+Siegfried Hansen
+Simone Nieweg
+Sonya Noskowiak
+Sophia Goudstikker
+Stefanie Schneider
+Tata Ronkholz
+Thomas Bak
+Thomas Kellner
+Thomas Ruff
+Thomas Struth
+Thyra Schmidt
+Tina Bara
+Tobias Zielony
+Traude Bührmann
+Ursula Arnold
+Ursula Richter
+Ursula Schulz-Dornburg
+Ursula Wolff Schneider
+Uta Barth
+Walde Huth
+Walter Ballhause
+Walter Peterhans
+Wanda von Debschitz-Kunowski
+Wilhelm von Gloeden
+Willy Matheisl
+Wolfgang Tillmans
+Yva
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/greece.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/greece.txt
new file mode 100644
index 0000000000000000000000000000000000000000..02dd4a9da774dae541af1efc5b991ad089618c55
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/greece.txt
@@ -0,0 +1,14 @@
+Filippos Margaritis
+Leonidas Papazoglou
+Nelly's, Elli Souyioultzoglou-Seraïdari
+Yiorgos Depollas
+Mary Kay
+Yannis Kontos
+Vassilis Makris
+John Stathatos
+Dimitris Yeros
+Nikos Economopoulos
+Vassilis Makris
+Ianna Andreadis
+Tzeli Hadjidimitriou
+Johan Lolos
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/hong_kong.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/hong_kong.txt
new file mode 100644
index 0000000000000000000000000000000000000000..76eb3bc3aff6ce2457c440818667ae98a3dcd9b2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/hong_kong.txt
@@ -0,0 +1,2 @@
+Basil Pao
+Ho Fan
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/hungary.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/hungary.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c614db6cc0c0c238ee0a64cb64fbf8291568b499
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/hungary.txt
@@ -0,0 +1,13 @@
+Brassaï
+Cornell Capa
+Robert Capa
+Stephen Glass
+Zoltán Glass
+Lucien Hervé
+Judith Karasz
+André Kertész
+Imre Kinszki
+László Moholy-Nagy
+Martin Munkácsi
+Nickolas Muray
+Carol Szathmari
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/iceland.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/iceland.txt
new file mode 100644
index 0000000000000000000000000000000000000000..46da44f3c98a494411da2f410b3a77322ee31d35
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/iceland.txt
@@ -0,0 +1,2 @@
+Nökkvi Elíasson
+Ragnar Axelsson
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/india.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/india.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4b913f0c93dc4cfe272436d482cbd99abe1bd803
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/india.txt
@@ -0,0 +1,20 @@
+Darogha Ubbas Alli
+Subhankar Banerjee
+Pablo Bartholomew
+Poulomi Basu
+Dimpy Bhalotia
+Sutapa Biswas
+Lala Deen Dayal
+Dhaval Dhairyawan
+Sunil Dutt
+Sohrab Hura
+Atul Kasbekar
+Yatin Patel
+Altaf Qadri
+Raghu Rai
+Dabboo Ratnani
+Vicky Roy
+Benu Sen
+Raghubir Singh
+Swarup Chatterjee
+Kamran Yusuf
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/indonesia.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/indonesia.txt
new file mode 100644
index 0000000000000000000000000000000000000000..178a0ec85134dbe444d2b08180493e33ef6862db
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/indonesia.txt
@@ -0,0 +1 @@
+Kassian Cephas
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/iran.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/iran.txt
new file mode 100644
index 0000000000000000000000000000000000000000..851f5dc80aec7f1930f5dd710a30fb12fa9651dc
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/iran.txt
@@ -0,0 +1,15 @@
+Abbas
+Hoda Afshar
+Reza Deghati
+Manoocher Deghati
+Kaveh Golestan
+Mohammad Reza Domiri Ganji
+Bahman Jalali
+Nasrollah Kasraian
+Mohammadreza Mirzaei
+Hossein Rajabian
+Mitra Tabrizian
+Newsha Tavakolian
+Jahangir Razmi
+Ali Khan Vali
+Alfred Yaghobzadeh
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/iraq.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/iraq.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c16023b9d8e97410d40cc9ab1267262f0bd33c61
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/iraq.txt
@@ -0,0 +1 @@
+Alaa Al-Marjani
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/ireland.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/ireland.txt
new file mode 100644
index 0000000000000000000000000000000000000000..bbed6d4d8259190e5c0d0ac06ff0462ef664c698
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/ireland.txt
@@ -0,0 +1,5 @@
+Kevin Abosch
+Enda Bowe
+Bob Carlos Clarke
+Eamonn Doyle
+Tony O'Shea
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/israel.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/israel.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d1ee0128bdd27fd91ab796fd265a726d0abbcc97
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/israel.txt
@@ -0,0 +1,7 @@
+Micha Bar-Am
+Rafael Ben-Ari
+Michal Chelbin
+Nadav Kander
+Ziv Koren
+Alex Levac
+Roie Galitz
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/italy.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/italy.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9f63ac5e92158bc21d35695396a9864a242408a7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/italy.txt
@@ -0,0 +1,42 @@
+Fratelli Alinari
+Olivo Barbieri
+Antonio Beato
+Felice Beato
+Gianni Berengo Gardin
+Giacomo Brogi
+Giacomo Brunelli
+Letizia Battaglia
+Romano Cagnoni
+Ilario Carposio
+Stefano Cerio
+Elio Ciol
+Nicolò Degiorgis
+Yvonne De Rosa
+Antonio Faccilongo
+Adolfo Farsari
+Franco Fontana
+Piero Gemelli
+Luigi Ghirri
+Mario Giacomelli
+Gianfranco Gorgoni
+Mimmo Jodice
+Duccio Malagamba
+Fosco Maraini
+Enrico Martino
+Tina Modotti
+Ugo Mulas
+Pino Musi
+Dianora Niccolini
+Giuseppe Palmas
+Dino Pedriali
+Paolo Pellizzari
+Secondo Pia
+Fabio Ponzio
+Felice Quinto
+Vittorio Sella
+Frederick Sommer
+Alberto Terrile
+Oliviero Toscani
+Luigi Veronesi
+Massimo Vitali
+Vincenzo Laera
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/jamaica.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/jamaica.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d8c54357ab6d78f97156e4e5db5b1402e8d01456
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/jamaica.txt
@@ -0,0 +1 @@
+Ester Anderson
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/japan.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/japan.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6e12ddea91da0963cfd88d307f2796450a3bf488
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/japan.txt
@@ -0,0 +1,158 @@
+Aizō Morikawa
+Akihide Tamura
+Akira Komoto
+Akira Satō
+Akira Toriyama
+Akito Tsuda
+Ariko Inaoka
+Asahachi Kōno
+Atsushi Fujiwara
+Aya Kida
+Bishin Jumonji
+Bukō Shimizu
+Chizu Ono
+Cozue Takagi
+Daidō Moriyama
+Eiko Yamazawa
+Ei-Q
+Emi Anrakuji
+Fusako Kodama
+Fuyuki Hattori
+Genzō Kitazumi
+Genzō Maeda
+Gyokusen Ukai
+Hakuyō Fuchikami
+Hikoma Ueno
+Hiroh Kikai
+Hiromix
+Hiroshi Sugimoto
+Hiroshi Watanabe
+Hiroshi Yamazaki
+Hisae Imai
+Hisaji Hara
+Hitomi Watanabe
+Horie Kuwajirō
+Ihei Kimura
+Ikkō Narahara
+Issei Suda
+Kaietsu Takagi
+Kanbei Hanaya
+Kansuke Yamamoto
+Kaoru Usui
+Katsuji Fukuda
+Katsu Naito
+Kazumasa Ogawa
+Kei Ito
+Kei Orihara
+Ken Domon
+Kensuke Kazama
+Kenzō Tamoto
+Kineo Kuwabara
+Kishin Shinoyama
+Kiyoshi Koishi
+Kiyoshi Nishiyama
+Kohei Yoshiyuki
+Kōji Satō
+Kōshirō Onchi
+Kosuke Okahara
+Kōtarō Tanaka
+Kozaburō Tamamura
+Kuichi Uchida
+Kunié Sugiura
+Kusakabe Kimbei
+Manji Terashima
+Mari Katayama
+Masanori Ashida
+Masao Gozu
+Masao Horino
+Masataka Takayama
+Masato Seto
+Matsusaburō Yokoyama
+Meison Kobayashi
+Michiko Kon
+Michiko Matsumoto
+Mieko Shiomi
+Mika Ninagawa
+Mikiko Hara
+Minayoshi Takada
+Minoru Minami
+Mitsuaki Iwagō
+Mitsugu Ōnishi
+Mitsutarō Fuku
+Miwa Yanagi
+Miyako Ishiuchi
+Miyuki Matsuda
+Motoichi Kumagai
+Nakaji Yasui
+Naonori Kohira
+Narutoshi Furukawa
+Noboru Ueki
+Nobuyoshi Araki
+Noriyoshi Shibata
+Ōno Benkichi
+Ōri Umesaka
+Osamu Hayasaki
+Rihei Tomishige
+Rika Noguchi
+Rinko Kawauchi
+Rosō Fukuhara
+Ruiko Yoshida
+Ryoko Suzuki
+Ryūa Kojima
+Ryuichi Ishikawa
+Sakae Tamura
+Seiji Kurata
+Seiki Kayamori
+Seiryū Inoue
+Seiyo Ogawa
+Shigeichi Nagano
+Shigeru Tamura
+Shiho Fukada
+Shima Ryū
+Shinichiro Kobayashi
+Shinzō Fukuhara
+Shinzo Maeda
+Shisei Kuwabara
+Shizuka Yokomizo
+Shōji Ueda
+Shōmei Tōmatsu
+Shunkichi Kikuchi
+Susumu Matsushima
+Tadahiko Hayashi
+Tadashi Takamura
+Tadasuke Akiyama
+Taiji Arita
+Taikichi Irie
+Takanobu Hayashi
+Takashi Amano
+Takashi Kijima
+Takashi Okamura
+Takeji Iwamiya
+Taku Aramasa
+Teisuke Chiba
+T. Enami
+Terushichi Hirai
+Tetsuya Ichimura
+Tohru Nogami
+Tokihiro Satō
+Tōkoku Shimizu
+Tokujirō Kameya
+Tokuko Ushioda
+Tomio Kondō
+Tomizo Yoshikawa
+Tomoko Miyamoto
+Tomoko Sawada
+Toyoko Tokiwa
+Tōyō Miyatake
+Tsuneko Sasamoto
+Yasuko Kotani
+Yasushi Nagao
+Yasuyoshi Chiba
+Yōnosuke Natori
+Yoshihiko Itō
+Yoshino Ōishi
+Yoshiyasu Suzuka
+Yūhi Miyazaki
+Yuki Onodera
+Yurie Nagashima
+Yutaka Takanashi
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/kenya.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/kenya.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e58de725b183829fc7f62a350e2645d51764822b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/kenya.txt
@@ -0,0 +1,3 @@
+Mohamed Amin
+Mimi Cherono Ng'ok
+Priya Ramrakha
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/korea.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/korea.txt
new file mode 100644
index 0000000000000000000000000000000000000000..39f5bc7f6d090254d13ddb3d523d260578bfd486
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/korea.txt
@@ -0,0 +1,14 @@
+Jun Ahn
+Bae Bien-u
+Chan-Hyo Bae
+Bae Doona
+Ina Jang
+Atta Kim
+Kim Jung-man
+Miru Kim
+Jungjin Lee
+Nikki S. Lee
+Park Jung-geun
+Park Nohae
+Soi Park
+Yoo Byung-eun
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/latvia.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/latvia.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d5ce91ee5455fc465700aff3d6f02ae3e5d4d0a5
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/latvia.txt
@@ -0,0 +1 @@
+Philippe Halsman
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/lebanon.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/lebanon.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5f1d7e11ee432d5f3d04d1fa6702df9602daea00
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/lebanon.txt
@@ -0,0 +1,2 @@
+Nadim Asfar
+Gregory Buchakjian
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/lithuania.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/lithuania.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4b1af3245a50b4d79831a0f1710c8710ad6a6bbf
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/lithuania.txt
@@ -0,0 +1,5 @@
+Izis Bidermanas
+Vytautas Stanionis
+Kęstutis Stoškus
+Antanas Sutkus
+Stanislovas Žvirgždas
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/luxembourg b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/luxembourg
new file mode 100644
index 0000000000000000000000000000000000000000..ab89acea8579f657550e1e45ebeecd7cd09971da
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/luxembourg
@@ -0,0 +1,2 @@
+Mark Divo
+Marianne Majerus
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/mali.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/mali.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2cd1add9e67fb8a8a01794887c7801efbadb65ed
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/mali.txt
@@ -0,0 +1,3 @@
+Alioune Bâ
+Seydou Keïta
+Malick Sidibé
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/mexico.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/mexico.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e2b19cfff4a8000f70efee1df24a8f30f59d5236
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/mexico.txt
@@ -0,0 +1,27 @@
+Alejandro Cartagena
+Ambra Polidori
+Ana Casas Broda
+Blanca Charolet
+Carmen Castilleja
+Christa Cowrie
+Colette Álvarez Urbajtel
+Cristina Goettsch Mittermeier
+Daisy Ascher
+Daniela Rossell
+Dulce Pinzon
+Edgar de Evia
+Enrique Metinides
+Graciela Iturbide
+J. Michael Seyfert
+Lola Álvarez Bravo
+Lourdes Grobet
+Manuel Álvarez Bravo
+María García
+Mariana Yampolsky
+Maya Goded
+Paulina Lavista
+Rubén Ortiz Torres
+Sergio Dorantes
+Teresa Margolles
+Virginia Morales
+Yael Martínez
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/namibia.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/namibia.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d7c2c74e7e5abd77235817df554582ec48a0ae27
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/namibia.txt
@@ -0,0 +1 @@
+Margaret Courtney-Clarke
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/netherlands.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/netherlands.txt
new file mode 100644
index 0000000000000000000000000000000000000000..69ad3ae15d747bf46d8ee7bd4dbe6580e0a5816c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/netherlands.txt
@@ -0,0 +1,55 @@
+Ad Konings
+Alexine Tinne
+Angèle Etoundi Essamba
+Ania Bien
+Annemarie Spilker
+Annemie Wolff
+Ans Westra
+Anton Corbijn
+Ata Kandó
+Awoiska van der Molen
+Bertien van Manen
+Carla van de Puttelaar
+Carli Hermès
+Charlotte Pothuis
+Dana Lixenberg
+Desiree Dolron
+Eddy Posthuma de Boer
+Ed van der Elsken
+Ellen Spijkstra
+Emmy Andriesse
+Erwin Olaf
+Eva Besnyö
+Flore Zoé
+Frans Lanting
+Hans Aarsman
+Hellen van Meene
+Henricus Jacobus Tollens
+Henze Boekhout
+Ine Lamers
+Inez van Lamsweerde
+Iwan Baan
+Jacqueline Hassink
+Jeroen Kramer
+José Manuel Rodrigues
+Karl Hammer
+Katharina Behrend
+Levi van Veluw
+Lucie Blachet
+Margi Geerlinks
+Margriet Smulders
+Maria Antonia Merkelbach
+Maria Austria
+Maria Hille
+Marijke van Warmerdam
+Marrie Bot
+Melanie Bonajo
+Paul Cupido
+Rahi Rezvani
+Renée Scheltema
+Rineke Dijkstra
+Rob Hornstra
+Sacha de Boer
+Sophia Goudstikker
+Violette Cornelius
+Viviane Sassen
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/new_zealand.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/new_zealand.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c9d5312fcb7d4104d044d6cdd2e8945fc6ae0fd2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/new_zealand.txt
@@ -0,0 +1,50 @@
+Adele Younghusband
+Alexis Hunter
+Alice Brusewitz
+Alyson Hunter
+Amy Merania Harper
+Anne Geddes
+Anne Noble
+Ann Shelton
+Ans Westra
+Brian Brake
+Christine Webster
+Claire Harris
+Eileen Olive Deste
+Elizabeth Greenwood
+Elizabeth Pulman
+Emily Florence Cazneau
+Eunice Harriett Garlick
+Fiona Clark
+Fiona Pardington
+Geoff Moon
+Gil Hanley
+Gillian Chaplin
+Harriet Sophia Cobb
+Harvey Benge
+Janet Bayly
+Jane Ussher
+Jessie Buckland
+Judy Darragh
+Ken Griffiths
+Laurence Aberhart
+Mabel Tustin
+Margaret Matilda White
+Margaret Moth
+Marie Shannon
+Marion Kirker
+Mark Adams
+Marti Friedlander
+May and Mina Moore
+Nellie Ferner
+Norah Carter
+Peter Bush
+Rhondda Bosworth
+Roberta Thornley
+Robina Nicol
+Robin Morrison
+Rosaline Margaret Frank
+Ruth McDowall
+Suzanna Clarke
+Thelma Rene Kent
+Yvonne Todd
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/nigeria.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/nigeria.txt
new file mode 100644
index 0000000000000000000000000000000000000000..04b72704b3b1434babeb35c8665495e94353beeb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/nigeria.txt
@@ -0,0 +1,43 @@
+Aisha Augie-Kuta
+Akintunde Akinleye
+Andrew Esiebo
+Anny Robert
+David Uzochukwu
+George Da Costa
+Herzekiah Andrew Shanu
+James Iroha Uchechukwu
+J. D. 'Okhai Ojeikere
+Kelechi Amadi-Obi
+Rotimi Fani-Kayode
+Solomon Osagie Alonge
+Tam Fiofori
+Tidiani Shitou
+Toyin Sokefun-Bello
+George Da Costa
+Herzekiah Andrew Shanu
+Solomon Osagie Alonge
+J. D. 'Okhai Ojeikere
+Tidiani Shitou
+Tam Fiofori
+Rotimi Fani-Kayode
+Kelechi Amadi-Obi
+Akintunde Akinleye
+James Iroha Uchechukwu
+Andrew Esiebo
+Toyin Sokefun-Bello
+Aisha Augie-Kuta
+Anny Robert
+David Uzochukwu
+Fati Abubakar
+Jenevieve Aken
+Lola Akinmade Åkerström
+Aisha Augie-Kuta
+Yetunde Ayeni-Babaeko
+TY Bello
+Sokari Ekine
+Yagazie Emezi
+Fati Abubakar
+Emily Nkanga
+Amarachi Nwosu
+Ifeoma Onyefulu
+Taiye Selasi
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/norway.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/norway.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f346d1e91ca280f8b4e023cd5efc81ae4d369b39
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/norway.txt
@@ -0,0 +1,30 @@
+Agnes Nyblin
+Anders Beer Wilse
+Anne Helene Gjelstad
+Anne Krafft
+Augusta Solberg
+Catherine Cameron
+Elisabeth Helmer
+Elisabeth Meyer
+Gunnar Høst Sjøwall
+Hanneli Mustaparta
+Hulda Marie Bentzen
+Johanna Ullricka Bergstrøm Skagen
+Jonas Bendiksen
+Kåre Kivijärvi
+Karoline Frogner
+Knud Knudsen
+Knut Bry
+Kristin Lodoen Linder
+Louise Abel
+Luca Kleve-Ruud
+Marie Høeg
+Marie Magdalene Bull
+Marie Thomsen
+Marthine Lund
+Mimi Frellsen
+Mimsy Møller
+Rasmus Pedersen Thu
+Rolf Aamot
+Severin Worm-Petersen
+Tina Signesdottir Hult
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/pakistan.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/pakistan.txt
new file mode 100644
index 0000000000000000000000000000000000000000..968f513f24889b1def51ed4ab694fd363a033d3c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/pakistan.txt
@@ -0,0 +1,5 @@
+Farah Mahbub
+Tapu Javeri
+Zaigham Zaidi
+Huma Mulji
+Adnan Kandhar
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/palestine.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/palestine.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8a2fbee7853b3badefdf1396be03201ca233ba70
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/palestine.txt
@@ -0,0 +1,3 @@
+Karimeh Abbud
+Yousef Khanfar
+Khalil Raad
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/panama.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/panama.txt
new file mode 100644
index 0000000000000000000000000000000000000000..00439e60b70bfb917339d77ef1764cd37105a712
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/panama.txt
@@ -0,0 +1 @@
+José Luis Rodríguez Pittí
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/peru.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/peru.txt
new file mode 100644
index 0000000000000000000000000000000000000000..cb3ae5b5acb83fce8e3fb672046698ec9c4aa62e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/peru.txt
@@ -0,0 +1,3 @@
+Martín Chambi
+Mario Testino
+Pedro Jarque
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/poland.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/poland.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2fcd4adc5d06dfb6c68d554dfd622e33411cf791
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/poland.txt
@@ -0,0 +1,58 @@
+Mariusz Adamski
+Mirosław Araszewski
+Leon Barszczewski
+Andrzej Baturo
+Zdzisław Beksiński
+Joshua Budziszewski Benor
+Paweł Bielec
+Wilhelm Brasse
+Sylwester Braun
+Zbigniew Brym
+Jan Bułhak
+Michał Cała
+Erazm Ciołek
+Jacenty Dędek
+Zbigniew Dłubak
+Maksymilian Fajans
+Janusz Gajos
+Edward Hartwig
+Mariusz Hermanowicz
+Ryszard Horowitz
+Zuzanna Janin
+Mieczysław Karłowicz
+Bogdan Konopka
+Ewa Kuryluk
+Eugeniusz Lokajski
+Andrzej Majewski
+Michal Martychowiec
+Maciej Michalski
+Justyna Mielnikiewicz
+Rafał Milach
+Chris Niedenthal
+Szymon Niemiec
+Kazimierz Nowak
+Krzysztof Olszewski
+Stanisław Julian Ostroróg
+Stanisław Julian Ignacy Ostroróg
+Andrzej Pawłowski
+Jarosław Pijarowski
+Joanna Piotrowska
+Wojciech Plewiński
+Robert Pranagal
+Włodzimierz Puchalski
+Henryk Ross
+Eva Rubinstein
+Wilhelm Russ
+Walery Rzewuski
+Jeanloup Sieff
+David Seymour
+Tomasz Sobecki
+Rosław Szaybo
+Stefan Themerson
+Jerzy Tomaszewski
+Jacek Tylicki
+Piotr Uklański
+Stanisław Ignacy Witkiewicz
+Casimir Zagourski
+Joanna Zastróżna
+Artur Żmijewski
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/portugal.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/portugal.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c574b623044b5c935f83b6ea87226b50c7a6d28b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/portugal.txt
@@ -0,0 +1,7 @@
+Helena Almeida
+Joshua Benoliel
+Daniel Blaufuks
+Ana Dias
+Frederick William Flower
+Eduardo Gageiro
+José Manuel Rodrigues
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/romania b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/romania
new file mode 100644
index 0000000000000000000000000000000000000000..893f8fde24052da829db779581e2364ec133da58
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/romania
@@ -0,0 +1,2 @@
+Ioan Mihai Cochinescu
+Eddy Novarro
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/russia.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/russia.txt
new file mode 100644
index 0000000000000000000000000000000000000000..97c6da7a3aa0a32e4ea95c762b04a62cd8d9cce6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/russia.txt
@@ -0,0 +1,15 @@
+Alexey Brodovitch
+George Hoyningen-Huene
+Yevgeny Khaldei
+Rafail Sergeevich Levitsky
+Sergei Lvovich Levitsky
+El Lissitzky
+Pyotr Otsup
+Gueorgui Pinkhassov
+Irina Popova
+Sergei Mikhailovich Prokudin-Gorskii
+Mark Redkin
+Alexander Rodchenko
+Nicolas Tikhomiroff
+Alexey Titarenko
+Roman Vishniac
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/sierra_leone.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/sierra_leone.txt
new file mode 100644
index 0000000000000000000000000000000000000000..148b16ea0495c00195c3a4e4bd4c9117cf909a4d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/sierra_leone.txt
@@ -0,0 +1 @@
+Alphonso Lisk-Carew
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/singapore.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/singapore.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3d6bfa328aba9becfb41e4141b6e7bde0e6be96b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/singapore.txt
@@ -0,0 +1,4 @@
+John Clang
+Sim Chi Yin
+Teo Bee Yen
+Marjorie Doggett
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/slovakia.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/slovakia.txt
new file mode 100644
index 0000000000000000000000000000000000000000..06363d2360e58d9a4dbf16651d66fcc5a0330590
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/slovakia.txt
@@ -0,0 +1,12 @@
+Sarah Avni
+Irena Blühová
+Yuri Dojc
+Peter Frolo
+Dezo Hoffmann
+Patrik Jandak
+Jozef Božetech Klemens
+Martin Kollar
+Eduard Nepomuk Kozič
+Tono Stano
+Silvia Vaculíková
+Robert Vano
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/slovenia.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/slovenia.txt
new file mode 100644
index 0000000000000000000000000000000000000000..89ff6bf427c4a10a02602855759f6f553067f2cf
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/slovenia.txt
@@ -0,0 +1,12 @@
+Irena Blühová
+Boštjan Burger
+Gojmir Anton Kos
+Matevž Lenarčič
+Marijan Lipovšek
+Marko Modic
+Veno Pilon
+Ernest Pogorelc
+Marko Prezelj
+Janez Avguštin Puhar
+Benka Pulko
+Janko Ravnik
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/south_africa.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/south_africa.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ce3d4219127d081c2c9a2552a362de8e80764917
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/south_africa.txt
@@ -0,0 +1,40 @@
+Omar Badsha
+Steve Bloom
+Steven Bosch
+Kevin Carter
+James Chapman
+Ernest Cole
+Vera Elkan
+Arthur Elliott
+Abrie Fourie
+Caroline Gibello
+David Goldblatt
+Bob Gosani
+Anton Hammerl
+Sam Haskins
+Pieter Hugo
+Phumzile Khanyile
+Alf Kumalo
+Carla Liesching
+Ambrose Lomax
+David Lurie
+Peter Magubane
+Michael Meyersfeld
+Eric Miller
+Nandipha Mntambo
+Santu Mofokeng
+Billy Monk
+Zwelethu Mthethwa
+Zanele Muholi
+Sam Nzima
+Obie Oberholzer
+Henrik Purienne
+Andrzej Sawa
+Jürgen Schadeberg
+Thabiso Sekgala
+Lindokuhle Sobekwa
+Austin Stevens
+Richardt Strydom
+Guy Tillim
+Gisèle Wulfsohn
+Paul Yule
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/spain.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/spain.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1af1b65f598f0076bbcb091b6406525dfe864032
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/spain.txt
@@ -0,0 +1,36 @@
+Amalia López Cabrera
+Amalia Ulman
+Ana Arce
+Anaïs Napoleón
+Benedicta Sánchez
+Carlota Guerrero
+Chema Madoz
+Colita
+Cristina de Middel
+Cristina García Rodero
+Cristina Martín Lara
+Cristina Otero
+Delmi Álvarez
+Eulalia Abaitua Allende-Salazar
+Francisco Boix
+Inka Martí
+Irene Cruz
+Isabel Muñoz
+Isidoro Gallo
+Joan Colom
+Joan Fontcuberta
+Joaquín del Palacio
+Josefa Pla Marco
+José Ortiz-Echagüe
+Laia Abril
+Lua Ribeira
+Marcel·lí Gausachs
+Marqués de Santa María del Villar
+Nath-Sakura
+Ouka Leele
+Pedro Madueño
+Pilar Albarracín
+Pilar Aymerich i Puig
+Rogelio Bernal Andreo
+Txema Salvans
+Xavi Bou
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/sri_lanka.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/sri_lanka.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8bd2cad2ed9f097a78cf112f1984d9548af91583
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/sri_lanka.txt
@@ -0,0 +1 @@
+Lionel Wendt
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/suriname.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/suriname.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0c67006051d24bd3b1a17e0c7ee7afcac9bdc3d1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/suriname.txt
@@ -0,0 +1,2 @@
+Augusta Curiel
+Gustaaf Martinus Oosterling
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/sweden.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/sweden.txt
new file mode 100644
index 0000000000000000000000000000000000000000..433dd04af5ec60a974e73444060c82959917c653
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/sweden.txt
@@ -0,0 +1,51 @@
+Åke Ericson
+Anders Petersen
+Anna Clarén
+Anna Riwkin-Brick
+Annika Larsson
+Arvida Byström
+Beata Bergström
+Berit Wallenberg
+Bertha Valerius
+Brita Sofia Hesselius
+Caroline Hebbe
+Caroline von Knorring
+Edit Kindvall
+Elisabeth Ohlson
+Elise Arnberg
+Emma Schenson
+Gerry Johansson
+Gunnie Moberg
+Hanna Ferlin
+Hedda Ekman
+Hedvig Söderström
+Hélène Edlund
+Helene Schmitz
+Hilda Sjölin
+Ida Trotzig
+Ingrid Falk
+Jack Mikrut
+Jan Töve Johansson
+Jens Assur
+Johanna Hald
+Katarina Pirak Sikku
+Kristina Schmid
+Lennart Nilsson
+Lina Jonn
+Lotten von Düben
+Maria Friberg
+Marianne Greenwood
+Maria Tesch
+Marie Kinnberg
+Martin Bogren
+Mathilda Ranch
+Mattias Klum
+Olga Segerberg
+Olof Jarlbro
+Oscar Gustave Rejlander
+Rosalie Sjöman
+Selma Jacobsson
+Sofia Ahlbom
+Tuija Lindström
+Victor Hasselblad
+Wilhelmina Lagerholm
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/switzerland.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/switzerland.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5b0866f6bf2caa6ae7ee33b6bddd8aba5c287575
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/switzerland.txt
@@ -0,0 +1,11 @@
+Werner Bischof
+René Burri
+Michel Comte
+Hans Feurer
+Robert Frank
+Johann Baptist Isenring
+Alwina Gossauer
+Helmar Lerski
+Pierre Rossier
+Didier Ruef
+Roman Signer
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/syria.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/syria.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c60dc536024ccf50e5752e48c2b5008abd85f151
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/syria.txt
@@ -0,0 +1 @@
+Bengin Ahmad
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/taiwan.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/taiwan.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2bfd7427ae313b4fa9097ef1cb1e65f33d7eb1c5
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/taiwan.txt
@@ -0,0 +1 @@
+Chien-Chi Chang
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/thailand.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/thailand.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1ed37be23f1615c5b7403808ada5da7ab06c56f8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/thailand.txt
@@ -0,0 +1 @@
+Francis Chit
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/turkey.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/turkey.txt
new file mode 100644
index 0000000000000000000000000000000000000000..bfca8fec27f8b80f5450fec12c45fa7b19687306
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/turkey.txt
@@ -0,0 +1,6 @@
+Ömer Asan
+Bahaettin Rahmi Bediz
+Ara Güler
+Yıldız Moran
+Pascal Sébah
+Uğur Uluocak
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/uganda.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/uganda.txt
new file mode 100644
index 0000000000000000000000000000000000000000..abfca7ccd58c19c072ae387fa003e2884715dd93
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/uganda.txt
@@ -0,0 +1 @@
+Zarina Bhimji
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/ukraine.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/ukraine.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f84b8d063b2a5dc7429d9660179a80decc9d9ba9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/ukraine.txt
@@ -0,0 +1,19 @@
+Igor Chekachkov
+Oleksandr Chekmenyov
+Mstyslav Chernov
+Maxim Dondyuk
+Yuri Kosin
+Igor Kostin
+Nikolai Kozlovsky
+Boris Mikhailov
+Rita Ostrovskaya
+Ihor Podolchak
+Roman Pyatkovka
+Yuri Rost
+Jury Rupin
+Vasiliy Ryabchenko
+Arsen Savadov
+Anton Solomoukha
+Anya Teixeira
+Anastasia Vlasova
+Yelena Yemchuk
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/united_kingdom.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/united_kingdom.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d4e9d768254d1f3cb6309360a87ec72a14404294
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/united_kingdom.txt
@@ -0,0 +1,380 @@
+Abbie Trayler-Smith
+Adama Jalloh
+Adam Fuss
+Agnes Warburg
+Albert Watson
+Alexander Bassano
+Alexander Gardner
+Alex Boyd
+Alfred Buckham
+Alfred Horsley Hinton
+Alfred Maudslay
+Alice Hughes
+Alice Seeley Harris
+Alicia Bruce
+Alison Webster
+Allan Chappelow
+Allan Warren
+Alys Tomlinson
+Amanda Eliasch
+Amelia Ellis
+Amelia Troubridge
+Amy Flagg
+Andrea Jones
+Andrew Catlin
+Andy Goldsworthy
+Andy Sewell
+Angus McBean
+Anna Atkins
+Anna Fox
+Ann Kelley
+Anthony F. Kersting
+Anthony Jones
+Antony Armstrong-Jones, 1st Earl of Snowdon known as "Snowdon"
+Anya Teixeira
+Araminta de Clermont
+Ashley Perry Abraham
+Augusta Mostyn
+Bert Hardy
+Bill Brandt
+Bill Jackson
+Bob Mazzer
+Brian David Stevens
+Brian Griffin
+Candice Farmer
+Care Johnson
+Carla Borel
+Caroline Emily Nevill
+Catherine Yass
+Catriona Fraser
+Cecil Beaton
+Charles Jones
+Charles Roscoe Savage
+Charles Settrington
+Charles Shepherd
+Charles T. Scowen
+Chloe Dewe Mathews
+Chris Craymer
+Chris Dorley-Brown
+Chris Killip
+Chris Steele-Perkins
+Christina Broom
+Cindy Buxton
+Clare Strand
+Claudette Holmes
+Clementina Hawarden
+Clive Barda
+Constance Fox Talbot
+Corinne Day
+Craig Easton
+Daniel Marquis
+Daniel Meadows
+Darren Heath
+Dave McKean
+David Bailey
+David Hamilton
+David Hockney
+David Hurn
+David Octavius Hill
+David Redfern
+David Stewart
+Deborah Anderson
+Derry Moore, 12th Earl of Drogheda
+Dominic Rouse
+Donald Mennie
+Don McCullin
+Donovan Wylie
+Doreen Spooner
+Dorothy Bohm
+Dorothy Wilding
+Douglas Corrance
+Douglas Webb
+Duncan Macpherson
+Eadweard Muybridge
+Eamonn McCabe
+Edith Rimmington
+Edith Tudor-Hart
+Edwin Smith
+Eileen Perrier
+Eileen Ramsay
+Elaine Constantine
+Eleanor Hardwick
+Ella Sykes
+Ellen Rogers
+Elsbeth Juda
+Emily Allchurch
+Emma Barton
+Emma Turner
+E.R. Hall
+Eric Hosking
+Ethel Booty
+Etheldreda Laing
+Eva Grant
+Eveleen Tennant
+Fay Godwin
+Fiona Adams
+Florence Farmborough
+Francis Bedford
+Francis Frith
+Francis Meadow Sutcliffe
+Franki Raffles
+Fred Archer
+Frederick Christian Palmer
+Frederick H. Evans
+Frederick Hollyer
+Gary Knight
+Gayle Chong Kwan
+Gemma Booth
+George Beldam
+George Davison
+George Dixon Abraham
+George Georgiou
+George Perry Abraham
+George Rodger
+George Washington Wilson
+Georgina Cook
+Georgina Masson
+Gerald Drucker
+Gerry Badger
+Gillian Wearing
+Grace Robertson
+Graham Diprose
+Graham Finlayson
+Graham Nash
+Graham Ovenden
+Graham Smith
+Hamish Brown
+Hannah Collins
+Hannah Starkey
+Harrison Marks
+Harry Benson
+Harry Burton
+Heather Agyepong
+Heather Angel
+Henry Bond
+Henry Collen
+Henry Peach Robinson
+Henry Taunt
+Herbert Bowyer Berkeley
+Hilary Stock
+Hilda Mabel Canter
+Homer Sykes
+Horace Roye
+Horatio Ross
+Howard Grey
+Hugh Cecil
+Hugh Welch Diamond
+Humphrey Spender
+Iain MacMillan
+Jack Latham
+James Kenny
+James Robertson
+James Valentine
+Jamie Hawkesworth
+Jane Bown
+Jane Martha St. John
+Janette Beckman
+Jane Wigley
+Janine Wiedel
+Jason Evans
+Jeanie Welford
+Jean Straker
+Jemima Stehli
+Jem Southam
+Jessie Mann
+Jill Furmanovsky
+Jill Posener
+Jim Lee
+Jimmy Nelson
+Joan Craven
+Joe Cornish
+John Blakemore
+John Bulmer
+John Deakin
+John Eastman Palmer
+John Everard
+John French
+John Jabez Edwin Mayall
+John McMurtrie
+John Muir Wood
+John Papillon
+John Spinks
+John Stezaker
+John Thomson
+John Topham
+Jo Metson Scott
+Jonathan Olley
+Joseph McKeown
+Jo Spence
+J. R. Black
+Julia Margaret Cameron
+Juno Calypso
+Kate Barry
+Kate Holt
+Ken Grant
+Ken Griffiths
+Keturah Anne Collings
+Khadija Saye
+Larry Burrows
+Laura Pannack
+Leah Gordon
+Lena Connell
+Lewis Carroll
+Lewis K. Bush
+Linda McCartney
+Linnaeus Tripe
+Lisa Barnard
+Lorna Yabsley
+Lotte Meitner-Graf
+Mabel Bent
+Madame Yevonde
+Malcolm Arbuthnot
+Marc Bryan-Brown
+Marco Secchi
+Marc Vallée
+Marc Wilson
+Margaret Mitchell
+Maria Mochnacz
+Marilyn Stafford
+Marjorie Baker
+Mark Neville
+Mark Power
+Martin Masai Andersen
+Martin Parr
+Mary Dillwyn
+Mary Fitzpatrick
+Mary Georgina Filmer
+Mary McCartney
+Mary Rosse
+Maud Sulter
+Maxine Walker
+Melanie Friend
+Mert and Marcus
+Michael Busselle
+Michael Kenna
+Mick Rock
+Minnie Weisz
+Misan Harriman
+Mitra Tabrizian
+Muriel Darton
+Nadine Ijewere
+Natasha Caruana
+Neeta Madahar
+Nick Knight
+Nick Turpin
+Nick Waplington
+Nigel Barker
+Nik Szymanek
+Norman Parkinson
+Nudrat Afza
+Olive Edis
+Olivia Arthur
+Olivia Wyndham
+Pamela Hanson
+Patrick Lichfield
+Patrick Ward
+Paula Rae Gibson
+Paul Graham
+Paul Hart
+Paul Joyce
+Paul Kenny
+Paul Reas
+Paul Yule
+Pennie Smith
+Penny Lancaster
+Pepita Seth
+Perry Ogden
+Peter Dazeley
+Peter Fraser
+Peter Henry Emerson
+Peter Wickens Fry
+Philip Jones Griffiths
+Philippa Scott
+Pogus Caesar
+Polly Braden
+Rankin
+Raymond Moore
+Rebecca Lilith Bathory
+Rhonda Wilson
+Richard Beard
+Richard Billingham
+Richard Pare
+Robert Blomfield
+Robert Fairer
+Robert Howlett
+Robert Ormerod
+Roger Fenton
+Roger Mayne
+Ron Davies
+Rory Lewis
+Ross Halfin
+Sally Soames
+Sam Haskins
+Sam Taylor-Wood
+Samuel Bourne
+Sarah Angelina Acland
+Sarah Anne Bright
+Sarah Pickering
+Scarlett Carlos Clarke
+Shirley Baker
+Shona Auerbach
+Siân Davey
+Simon Marsden
+Sonia Boyce
+Sophie Gerrard
+Sophy Rickett
+Stephen McLaren
+Stephens Orr
+Steve Hiett
+Steve Parish
+Stuart Franklin
+Stuart Griffiths
+Stuart Heydinger
+Sue Arrowsmith
+Susan Derges
+Suze Randall
+Sydney Newton
+Syd Shelton
+Terence Donovan
+Terri Quaye
+Thomas Foster Chuck
+Thomas Hodges
+Tim Hetherington
+Timothy Allen
+Tim Page
+Tish Murtha
+Tom Ang
+Tom Hunter
+Tom Stoddart
+Tony Boxall
+Tony Ray-Jones
+Val Wilmer
+Vanessa Winship
+Venetia Dearden
+Victor Burgin
+Victor Sloan
+Vinca Petersen
+Vivienne
+Walter Bird
+Walter B. Woodbury
+W. & D. Downey
+Wendy McMurdo
+Will Burrard-Lucas
+William Carrick
+William Clarridge
+William de Wiveleslie Abney
+William Eastman Palmer & Sons
+William Fox Talbot
+William Hayes
+William H. Illingworth
+William Notman
+William Saunders
+William Umpleby Kirk
+Yevonde
+Yishay Garbasz
+Yvonne Gregory,
+Zana Briski
+Zarina Bhimji
+Ziki Robertson
+Zoë Buckman
+Zoë Dominic
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/united_states.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/united_states.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f856d4b36e5cd10172e8c812e1e0a987fa9457d7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/united_states.txt
@@ -0,0 +1,1119 @@
+Aaron Huey
+Aaron Siskind
+A. Aubrey Bodine
+Abelardo Morell
+Abigail Heyman
+Abraham Aronow
+Acacia Johnson
+Adelaide Hanscom
+Adelaide Hanscom Leeson
+Adrien Broom
+Adrienne French
+Aimé Dupont
+Alan Diaz
+Alan Pogue
+Albert K. Dawson
+Alec Soth
+Alexander Black
+Alexandra Hedison
+Alfred A. Hart
+Alfred Cheney Johnston
+Alfred Eisenstaedt
+Alfred Shea Addis
+Alfred Stieglitz
+Alice Austen
+Alice Boughton
+Alisa Wells
+Alison Brady
+Alison Rossiter
+Alison Wright
+Al J Thompson
+Allan Arbus
+Allan Grant
+Allan Sekula
+Alma Lavenson
+Al Rockoff
+Alvin Langdon Coburn
+Ami Vitale
+Amy Arbus
+Amy Elkins
+Amy Stein
+Amy Toensing
+Andrea Blanch
+Andrea Booher
+Andrea Modica
+Andreas Feininger
+Andrea Star Reese
+Andre D. Wagner
+André Kertész
+Andres Serrano
+Andrew D. Bernstein
+Andrew J. Russell
+Andrew Prokos
+Andy Warhol
+Angela Cappetta
+Ania Bien
+Anita Pollitzer
+Anne Brigman
+Anne Collier
+Anne Fishbein
+Anne Noggle
+Annie Leibovitz
+Annie Wells
+Ann Mandelbaum
+Ann Rosener
+Annu Palakunnathu Matthew
+Ansel Adams
+Anthony Goicolea
+Anthony Suau
+Arnold E. Samuelson
+Arnold Genthe
+Arnold Newman
+Arny Freytag
+Art Hupy
+Arthur Clarence Pillsbury
+Arthur E. Scott
+Arthur Leipzig
+Arthur Meyerson
+Arthur Rothstein
+Arthur Tress
+Art Wolfe
+Asahel Curtis
+Ashley Gilbertson
+Autumn de Wilde
+Barbara Bosworth
+Barbara Davidson
+Barbara DuMetz
+Barbara Gluck
+Barbara Kasten
+Barbara Kruger
+Barbara Morgan
+Barbara Rosenthal
+Barbara Traub
+Barbra Walz
+Barry Edmonds
+Bea Nettles
+Beatrice Tonnesen
+Belle Johnson
+Ben Brody
+Benjamin Hoff
+Benjamin Lowy
+Ben Martin
+Ben Rose
+Ben Willmore
+Berenice Abbott
+Bernard Pierre Wolff
+Bernis von zur Muehlen
+Berry Berenson
+Bert Morgan
+Beth Green
+Bette Garber
+Bettina Cirone
+Bettye Lane
+Bill Aron
+Bill Atkinson
+Bill Biggart
+Bill Cunningham
+Bill Eppridge
+Bill Foley
+Bill Genaust
+Bill Groethe
+Bill Hudson
+Bill Owens
+Bill Schwab
+Bill Thomas
+Bill Travis
+Bill Wynne
+Billy Name
+Binh Danh
+Blake Andrews
+Blanche Reineke
+Bob Gomel
+Bob Gruen
+Bob Henriques
+Bob Shell
+Bob Walker
+Bob Willoughby
+Brad Mangin
+Brad Temkin
+Brenda Ann Kenneally
+Brett Weston
+Brian Skerry
+Brian Smith
+Brian Ulrich
+Brian Walski
+Bruce Charlesworth
+Bruce Davidson
+Bruce Gilden
+Bruce Hall
+Bruce Weber
+Bruce Wrighton
+Bryan Schutmaat
+Bud Lee
+Bunny Yeager
+Burk Uzzle
+Camille Solyagua
+Carleton Watkins
+Carl Giers
+Carl Mydans
+Carlo Gentile
+Carl Van Vechten
+Carol Beckwith
+Carol Guzy
+Caroline Gurrey
+Carol M. Highsmith
+Carol Newsom
+Carolyn Cole
+Carolyn Drake
+Carrie Mae Weems
+Cassandra Zampini
+Catharine Weed Barnes
+Catherine Leroy
+Catherine Opie
+Catriona Fraser
+Chad States
+Chanell Stone
+Chansonetta Stanley Emmons
+Charles Barthold
+Charles Belden
+Charles C. Ebbets
+Charles Clegg
+Charles Fenno Jacobs
+Charles Harbutt
+Charles Howard
+Charles Moore
+Charles O'Rear
+Charles Sheeler
+Charlie Cole
+Charlotte Brooks
+Charlotte Rosshandler
+Cherie Roberts
+Cheryl Diaz Meyer
+Cheryl Machat Dorskind
+Chip Berlet
+Chris Faust
+Chris Gulker
+Chris Hondros
+Chris McCaw
+Christian Patterson
+Christopher Boffoli
+Christopher Burkett
+Christopher Makos
+Christopher Morris
+Christopher Williams
+Cindy Sherman
+Clarence John Laughlin
+Clarence Williams
+Clay Geerdes
+Clay Myers
+Clifton C. Edom
+Clint Grant
+Cole Weston
+Collier Schorr
+Connie Imboden
+Conrad Friberg
+Consuelo Kanaga
+Cork Graham
+Cornell Capa
+Craig F. Walker
+Craig Semetko
+Craig Snyder
+Cris Alexander
+Cristina Mittermeier
+Cynthia Elbaum
+Dallas Kinney
+Damon Winter
+Dana Stone
+Dan Budnik
+D'Angelo Lovell Williams
+Daniel Arnold
+Daniel Davis Jr.
+Daniel Lorenzetti
+Daniel Nicoletta
+Daniel S. Mitchell
+Daniel Wakefield Smith
+Danny Lyon
+Dan Weiner
+Darius Kinsey
+David Alan Harvey
+David Armstrong
+David Bacon
+David Brandon Geeting
+David Burnett
+David Carol
+David C. Turnley
+David Doubilet
+David Douglas Duncan
+David Drew Zingg
+David Hilliard
+David Hobby
+David Hume Kennerly
+David H. Wells
+David Johnson
+David LaChapelle
+David Leeson
+David Levinthal
+David Michael Kennedy
+David Muench
+David Plowden
+David Pokress
+David Scherman
+David Seymour
+Dawn Wirth
+Dayna Smith
+Dean Chamberlain
+Deanna Templeton
+Deanne Fitzmaurice
+Debbie Grossman
+Deborah Bright
+Deborah Copaken
+Deborah Dancy
+Deborah Turbeville
+Deborah Willis
+Debra Bloomfield
+Delphine Fawundu
+Devin Allen
+Dewitt Jones
+Diana Davies
+Diana Mara Henry
+Diana Markosian
+Diana Walker
+Diane Arbus
+Diane MacKown, portraits
+Dickey Chapelle
+Dina Litovsky
+Dirck Halstead
+Dixie Sheridan
+Dona Ann McAdams
+Don Donaghy
+Don Hogan Charles
+Donna Ferrato
+Don Ultang
+Don Worth
+Doris Ulmann
+Dorothea Lange
+Dorothy Meigs Eidlitz
+Dorothy Norman
+Douglas Hopkins
+D Stevens
+Duane Michals
+Dudley Edmondson
+Dulah Marie Evans
+Dustin Satloff
+Dutton & Michaels
+Ed Darack
+Eddie Adams
+Edie Harper
+Edith Irvine
+Editta Sherman
+Ed Kashi
+Ed Kolenovsky
+Ed Rice
+Edward Bierstadt
+Edward Caraballo
+Edward S. Curtis
+Edward Steichen
+Edward Weston
+Edyth Carter Beveridge
+E. Jane Gay
+E. J. Bellocq
+Eleanor Antin
+Eleanor Butler Alexander-Roosevelt
+E. Lee Spence
+Elinor Carucci
+Eliot Porter
+Eli Reed
+Elizabeth Axtman
+Elizabeth Buehrmann
+Elizabeth Flint Wade
+Elizabeth Gill Lui
+Elizabeth Heyert
+Elizabeth Parker McLachlan
+Elizabeth Siegfried
+Ellei Johndro
+Ellen Auerbach
+Ellen Brooks
+Ellen Carey
+Elle Pérez
+Elliott Erwitt
+Elliott Landy
+Elsa Dorfman
+Ema Spencer
+Emma Justine Farnsworth
+Emme Gerhard
+Emmet Gowin
+Emy Kat
+Erica Baum
+Erich Hartmann
+Eric Minh Swenson
+Eric Treacy
+Erika Langley
+Erika Larsen
+Erin Schaff
+Erin Trieb
+Ernest Withers
+Ernst Haas
+Erwin Blumenfeld
+Estevan Oriol
+Esther Bubley
+Esther Henderson
+Esther Henderson Abbott
+Eudora Welty
+Eugene de Salignac[3]
+Eugene Richards
+Eva Fuka
+Evan Amos
+Evan Vucci
+Eva Rubinstein
+Eva Watson-Schütze
+Eve Arnold
+Evelyn Cameron
+Evelyn Hockstein
+Everette Dixie Reese
+Eve Sonneman
+Ezra Stoller
+Felice Frankel
+F. Holland Day
+Flip Schulke
+Florence Meyer
+Frances Benjamin Johnston
+Francesca Woodman
+Francesco Scavullo
+Frank Espada
+Frank Gohlke
+Frank Jay Haynes
+Frank Rinehart
+Fred E. Miller
+Fred Hultstrand
+Fred Zinn
+Gaetano Faillace
+Gail Albert Halaban
+Galen Rowell
+Garry Winogrand
+Gary L. Howe
+Gay Block
+George Azar
+George Barris
+George Edward Anderson
+George Fiske
+George F. Mobley
+George Hurrell
+George Krause
+George Platt Lynes
+George Strock
+George Tice
+George W. Ackerman
+Gerald Davis
+Gerald P. Pulley
+Gerd Ludwig
+Gertrude Käsebier
+Gertrude Samuels
+Gillian Laub
+Gina Osterloh
+Gitel Steed
+Gordon Matta-Clark
+Gordon Parks
+Greg Gorman
+Gregory Crewdson
+Greta Pratt
+Gretchen Garner
+Gulnara Samoilova
+Hal Buell
+Hal Gould
+Hal Prewitt
+Hannah Wilke
+Hansel Mieth
+Harold Eugene Edgerton
+Harper B. Smith
+Harriet Chalmers Adams
+Harrison Forman
+Harry Callahan
+Harry Gamboa, Jr.
+Harry Koundakjian
+Harry Mattison
+Heinz Kluetmeier
+Helen Brush Jenkins
+Helen Gatch
+Helen Johns Kirtland
+Helen K. Garber
+Helen Levitt
+Helen Messinger Murdoch
+Henry Holmes Smith
+Henry Wessel, Jr.
+Herbert Randall
+Herb Greene
+Herb Ritts
+Herb Scharfman
+Herman Leonard
+Hillary Hauser
+Hiro
+Honey Lee Cottrell
+Horst P. Horst
+Howard Schatz
+Howard Sochurek
+H. Reid
+Hugh Edwards
+Hy Peskin
+I. C. Rapoport
+Ike Altgens
+Imogen Cunningham
+Ira Block
+Ira Wilmer Counts Jr.
+Irina Rozovsky
+Irving Penn
+Isa Leshko
+I. W. Taber
+Jack Birns
+Jack Delano
+Jack Dykinga
+Jack E. Boucher
+Jack Pierson
+Jacob Riis
+Jacqueline Livingston
+Jacques Leiser
+Jamel Shabazz
+James Bidgood
+James Fee
+James Foley
+James Nachtwey
+James Reuel Smith
+James Van Der Zee
+Jamie Baldridge
+Jana Schneider
+Jane Evelyn Atwood
+Jane Fulton Alt
+Jane Hamilton-Merritt
+Jane Reece
+Jan Groover
+Janine Wiedel
+Jason Eskenazi
+Jason Pramas
+Jay Maisel
+Jeanne Dunning
+Jean Pagliuso
+Jeff Antebi
+Jeff Cowen
+Jeff Dunas
+Jeff Jacobson
+Jeff Mermelstein
+Jeff Widener
+Jennifer Graylock
+Jerilyn Lee Brandelius
+Jerome Liebling
+Jerome Zerbe
+Jerry Avenaim
+Jerry Berndt
+Jerry Cooke
+Jerry Interval
+Jerry Uelsmann
+Jesse Freidin
+Jessica Dimmock
+Jessie Tarbox Beals
+Jet Lowe
+Jill Enfield
+Jill Freedman
+Jill Greenberg
+Jill Mathis
+Jim Brandenburg
+Jim Cummins
+Jim Dow
+Jim French
+Jim Goldberg
+Jim Laughead
+Jim Marshall
+Jimmy Hare
+J Malan Heslop
+Joan Almond
+Joan Cassis
+Joan E. Biren
+Joan Marcus
+Joanne Leonard
+Joan Redmond
+Jock Sturges
+Joe Deal
+Joel Meyerowitz
+Joel-Peter Witkin
+Joel Sartore
+Joel Sternfeld
+Joe McNally
+Joe O'Donnell
+Joe Rosenthal
+Johan Hagemeyer
+John Baldessari
+John Benton-Harris
+John Bigelow Taylor
+John Chiara
+John Dominis
+John Engstead
+John Filo
+John G. Morris
+John Gossage
+John G. Zimmerman
+John Harding
+John Hoagland
+John H. White
+John K. Hillers
+John L. Gihon
+John Loengard
+John McBride
+John Moran
+Johnny Rozsa
+John Paul Edwards
+John Pezzenti
+John Pfahl
+John Ranard
+John Rich
+John Schwartz
+John Sexton
+John S. Johnston
+John Stanmeyer
+John Szarkowski
+John Trobaugh
+John Vachon
+John Veltri
+John V. Robinson
+Jona Frank
+Jonathan Mannion
+Jordan Doner
+José Moré
+Joseph Costa
+Joseph Dankowski
+Joseph Holmes
+Joseph Knaffl
+Joseph Rodriguez
+Joseph Ruttenberg
+Joseph Szabo
+Joshua Lutz
+Joyce Tenneson
+J. R. Eyerman
+J. Ross Baughman
+Judith Joy Ross
+Judy Dater
+Jules T. Allen
+Julia Ann Rudolph
+Julie Blackmon
+Julien Bryan
+Julius Shulman
+Jun Fujita
+Justine Kurland
+Justine Schiavo-Hunt
+Justin Merriman
+Kalliope Amorphous
+Ka-Man Tse
+Karen Graffeo
+Karen Halverson
+Karen Knorr
+Karen T. Borchers
+Kate Brooks
+Kate Cordsen
+Kate Matthews
+Kate Simon
+Kathryn Abbe
+Kathryn Tucker Windham
+Kathy Vargas
+Katy Grannan
+Kay Lahusen
+Kei Orihara
+Keisha Scarville
+Keith Carter
+Ken Light
+Ken Lubas
+Ken Marcus
+Kenneth Dupee Swan
+Kenneth Jarecke
+Kevin Ou
+Kevin P. Coughlin
+Khalik Allah
+Kiino Villand
+Kim Komenich
+Kim Weston
+Kristen Ashburn
+Kyle Cassidy
+Kyle Thompson
+Lana Z Caplan
+Lara Jo Regan
+Larry Clark
+Larry C. Price
+Larry Fink
+Larry Sultan
+Laura Adams Armer
+Laura Aguilar
+Laura Gilpin
+Laura McPhee
+Laura Wilson
+Lauren Greenfield
+Lawrence Beitler
+Lawrence Denny Lindsley
+Lawrence Fried
+Layla Love
+Lee Friedlander
+Lee Isaacs
+Lee Lockwood
+Lee Miller
+Lee Nye
+Leigh Wiener
+Lena Herzog
+Lennette Newell
+Leonard Fink
+Leonard Freed
+Leonard McCombe
+Leo Seltzer
+Les Stone
+Lester Balog
+Lewis Baltz
+Lewis Hine
+Lida Moser
+Lili Almog
+Liliane de Cock
+Lillian Bassman
+Linda Connor
+Linda McCartney
+Linda Wolf
+Lindsey Ross
+Lisa Law
+Lisette Model
+Lisl Steiner
+Liza Ryan
+Lizbeth Marano
+Liz Nielsen
+Lois Conner
+Lois Greenfield
+Loomis Dean
+Lora Webb Nichols
+Loren Cameron
+Lori Grinker
+Lorna Simpson
+Lorne Resnick
+Lou Dematteis
+Louisa Bernie Gallaher
+Louise Arner Boyd
+Louise Boyle
+Louise Dahl-Wolfe
+Louise Martin
+Louise Rosskam
+Louis Stettner
+Lucas Samaras
+Lucian Perkins
+Lucien Aigner
+Lucienne Bloch
+Lucy Wallace Porter
+Luke Somers
+Lynn Davis
+Lynne Bentley-Kemp
+Lynne Cohen
+Lynn Geesaman
+Lynn Johnson
+Lynn Saville
+Lynsey Addario
+Maggie Diaz
+Maggie Steber
+Maggie Taylor
+Malerie Marder
+Man Ray
+Manuel Rivera-Ortiz
+Marc Bryan-Brown
+Marcey Jacobson
+Marcia Reed
+Margaret Bourke-White
+Margaret Hall
+Margrethe Mather
+Marian Hooper Adams
+Marie Cosindas
+Marie Hansen
+Marie Hartig Kendall
+Marie Hartig Kendall[2]
+Marilyn Bridges
+Marilyn Nance
+Marilyn Silverstone
+Marion Carpenter
+Marion Ettlinger
+Marion E. Warren
+Marion Post Wolcott
+Marjorie Content
+Marjory Collins
+Mark Feldstein
+Mark Klett
+Mark Robert Halper
+Mark Ruwedel
+Mark Seliger
+Mark Steinmetz
+Martha Cooper
+Martha Holmes
+Martha Rosler
+Martine Barrat
+Marvin Breckinridge Patterson
+Mary Anne Fackelman-Miner
+Mary Chind-Willie
+Mary Devens
+Mary Ellen Mark
+Mary Frey
+Mary Lou Foy
+Mary Morgan Keipp
+Masumi Hayashi
+Mathew Brady
+Matt Black
+Matthew Knisely
+Matthew Naythons
+Matthew Rolston
+Mattie Edwards Hewitt
+Max Desfor
+Max Vadukul
+Maxwell MacKenzie
+Max Yavno
+Mayme Gerhard
+Meghan Boody
+Melanie Einzig
+Melanie Pullen
+Melissa Shook
+Melissa Springer
+Mell Kilpatrick
+Mellon Tytell
+Melodie McDaniel
+Melvin Sokolsky
+Merry Moor Winnett
+Meryl Meisler
+Micah Albert
+Michael Evans
+Michael Forster Rothbart
+Michael Jang
+Michael O'Brien
+Michael Richard
+Michael Schennum
+Michael Williamson
+Michel du Cille
+Mickey Smith
+Miguel Gómez
+Mike Brodie
+Milton Rogovin
+Mimi Plumb
+Minor White
+Miru Kim
+Mitch Epstein
+Mitch Kern
+M.J. Alexander
+Mollie Fly
+Moneta Sleet Jr.
+Monika Merva
+Monte Zucker
+Morris Schwartz
+Morton D. May
+Myra Albert Wiggins
+Myron Davis
+Nadine Blacklock
+Najlah Feanny
+Nancy Borowick
+Nancy Ford Cones
+Nancy Lee Andrews
+Nancy Manter
+Nancy M. Stuart
+Nancy Rexroth
+Nan Goldin
+Naomi Savage
+Nat Finkelstein
+Nathan Lyons
+Neal Slavin
+Neil Folberg
+Neil Leifer
+Nellie Stockbridge
+Nicholas Nixon
+Nicholas Teliatnikow
+Nick Meyer
+Nic Nicosia
+Nikki Kahn
+Nina Alovert
+Nina Berman
+Nina Howell Starr
+Nina Leen
+Nora Herting
+Oliver F. Atkins
+Olivia Parker
+Oscar G. Mason
+Otto Hagel
+O. Winston Link
+Paola Gianturco
+Pat Martin
+Patrick Farrell
+Patrick McMullan
+Paula Bronstein
+Paula Gately Tillman
+Paul Caponigro
+Paul Chesley
+Paulette Tavormina
+Paul Fusco
+Paul Henderson
+Pauline Kruger Hamilton
+Paul McDonough
+Paul Outerbridge
+Paul Raphaelson
+Paul Strand
+Paul Taggart
+Paul Vathis
+Penelope Umbrico
+Penny De Los Santos
+Penny Wolin
+Perla de Leon
+Peter Hill Beard
+Peter Menzel
+Peter Stackpole
+Peter Turnley
+Pete Souza
+Phil Borges
+Philip Hyde
+Philip-Lorca diCorcia
+Philip Perkis
+Pinky Bass
+Pipo Nguyen-duy
+Pirie MacDonald
+Pirkle Jones
+Polly Chandler
+Polly Smith
+Preston Gannaway
+Priit Vesilind
+Rachel Cox
+Rachel Raab
+Rachel Sussman
+Raeanne Rubenstein
+Rahim Fortune
+Raissa Venables
+Ralph Gibson
+Ralph Morse
+Ralph Steiner
+Ramona d'Viola
+Raúl De Molina
+Raymond Meeks
+R.C. Hickman
+Rebecca Lepkoff
+Rebecca Matlock
+Rebecca Norris Webb
+Reid Blackburn
+Renée C. Byer
+Renée Cox
+Richard Avedon
+Richard Drew
+Richard Misrach
+Richard Prince
+Richard Saunders
+Rick Loomis
+Rick Smolan
+Rita Reed
+Robert Adams
+Robert A. Sengstacke
+Robert Benecke
+Robert Dawson
+Robert E. Gilka
+Robert Glenn Ketchum
+Robert Halmi
+Robert Mapplethorpe
+Robert ParkeHarrison
+Robert Riger
+Robert Van Lierop
+Rocky Schenck
+Rodelio Astudillo
+Rodney Lough Jr.
+Rodney Smith
+Rolando Gomez
+Ronald A. Edmonds
+Ron Galella
+Ron Harris
+Ron Haviv
+Roni Horn
+Rory Doyle
+Rosalind Fox Solomon
+Rosamond W. Purcell
+Rose Clark
+Rose Mandel
+Roy DeCarava
+Roy Neel
+Roy Stryker
+Roy Stuart
+Roz Joseph
+Rudolf Eickemeyer, Jr.
+Russ Adams
+Russell Klika
+Russell Lee
+Ruth Bernhard
+Ruth Gruber
+Ruth Harriet Louise
+Ruth-Marion Baruch
+Ruth Matilda Anderson
+Ruth Orkin
+Ruth Robertson
+Ryan Spencer Reed
+Sal Lopes
+Sally Mann
+Sally Stapleton
+Salvatore Vasapolli
+Sam Abell
+Sama Raena Alshaibi
+Samuel Rosenberg
+Sandra Eisert
+Sandra Stark
+Sandra Weiner
+Sandy Skoglund
+Santi Visalli
+Sarah Charlesworth
+Sarah Choate Sears
+Sarah J. Eddy
+Sarah Ladd
+Sarah Louise Judd
+Saul Leiter
+Scott Strazzante
+Scout Tufankjian
+Sean Flynn
+Shane Lavalette
+Shane T. McCoy
+Sharon Farmer
+Sharon Wohlmuth
+Sheila Pree Bright
+Sheldon Dick
+Sherrie Levine
+Shirley Burden
+Shirley Burman
+Sima Diab
+Skip Bolen
+Slim Aarons
+Sonia Handelman Meyer
+Sonja Bullaty
+Spencer Platt
+Spencer Tunick
+Spider Martin
+Stacy Kranitz
+Stacy Pearsall
+Stan Grossfeld
+Stan Honda
+Stanley Forman
+Stanley Greene
+Stanley Stellar
+Stanley Tretick
+Stefanie Schneider
+Stephanie Pfriender Stylander
+Stephanie Sinclair
+Stephen Alvarez
+Stephen Mosher
+Stephen Shames
+Stephen Shore
+Steve Giovinco
+Steve Mandel
+Steve McCurry
+Steven Meisel
+Steven Underhill
+Steve Raymer
+Steve Schapiro
+Stewart Shining
+Stuart Klipper
+Summer A. Smith
+Susana Raab
+Susan Bank
+Susan Burnstine
+Susan Crocker
+Susan Eakins
+Susan Ford
+Susan Ford Bales
+Susan Hacker Stang
+Susan Lipper
+Susan Meiselas
+Susan Mikula
+Susan Ressler
+Suzanne Arms
+Suzy Gorman
+Sylvia Plachy
+Talia Chetrit
+Tama Hochbaum
+Tamara Lackey
+Tappan Adney
+Tara Haelle
+Taro Yamasaki
+Taryn Simon
+Ted Croner
+Ted Jackson
+Tee Corinne
+Terri Weifenbach
+Terry Deglau
+Terry Richardson
+Texas Isaiah
+Theodor Jung
+Thérèse Bonney
+Thomas C. Roche
+Thomas E. Askew
+Thomas E. Franklin
+Thomas J. Kelly III
+Thomas John Shillea
+Thomas Joseph Wynne
+Thomas Laird
+Thomas Roma
+Thomas Tulis
+Timothy Greenfield-Sanders
+Timothy Lee Barnwell
+Timothy O'Sullivan
+Tina Barney
+T. M. Schleier
+Todd Heisler
+Todd Hido
+Tod Papageorge
+Tom Arma
+Tom Gralish
+Tom Howard
+Tom Marcello
+Tom Stone
+Toni Frissell
+Trude Fleischmann
+Tyler Hicks
+Tyler Mitchell
+Vanessa Beecroft
+Victoria Cabezas
+Victor Prevost
+Vijat Mohindra
+Vincent Laforet
+Virginia Schau
+Vivian Maier
+Walker Evans
+Walter Iooss
+Walt Zeboski
+Warren Faidley
+Warren T. Thompson
+Waswo X. Waswo
+Weegee
+Wendi Schneider
+Wendy Sue Lamm
+Werner Wolff
+W. Eugene Smith
+Whitney Hubbs
+Wilda Gerideau-Squires
+William A. Barnhill
+William Albert Allard
+William Bell
+William Campbell
+William Christenberry
+William Claxton
+William Eggleston
+William Garnett
+William George Wadman
+William George Wilson
+William Heick
+William Henry Jackson
+William H. Rau
+William Hundley
+William Klein
+William McKenzie Morrison
+William M. Gallagher
+William P. Gottlieb
+William Snyder
+William Wegman
+Will McBride
+Will Steacy
+Wilson Hicks
+Winfield Parks
+Winifred Hall Allen
+Wright Morris
+Wynn Bullock
+Yasuhiro Ishimoto
+Yasuo Kuniyoshi
+Yelena Yemchuk
+Yvette Borup Andrews
+Zaida Ben-Yusuf
+Zak Noyle
+Zoe Leonard
+Zoe Lowenthal Brown
+Zoe Strauss
+Zora J. Murff
+Zoriah Miller
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/venezuela.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/venezuela.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3b08d95c9a04f4d4bc1c3cd22099b625afcdb4ee
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/venezuela.txt
@@ -0,0 +1,3 @@
+Ricardo Gómez Pérez
+Alejandro López de Haro
+Ronaldo Schemidt
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/vietnam.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/vietnam.txt
new file mode 100644
index 0000000000000000000000000000000000000000..372e3991e931328088ce16d75ba45a8a737d0f95
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/by_country/vietnam.txt
@@ -0,0 +1 @@
+Huynh Cong Ut
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/photographers.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/photographers.txt
new file mode 100644
index 0000000000000000000000000000000000000000..443feac286743f1e3c10a816eb927a6b10bdecb0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/Photography/photographers.txt
@@ -0,0 +1,87 @@
+__artists/Photography/by_country/albania__
+__artists/Photography/by_country/albania__
+__artists/Photography/by_country/algeria__
+__artists/Photography/by_country/argentina__
+__artists/Photography/by_country/armenia__
+__artists/Photography/by_country/australia__
+__artists/Photography/by_country/austria__
+__artists/Photography/by_country/azerbijan__
+__artists/Photography/by_country/bangladesh__
+__artists/Photography/by_country/belgium__
+__artists/Photography/by_country/benin__
+__artists/Photography/by_country/brazil__
+__artists/Photography/by_country/cambodia__
+__artists/Photography/by_country/cameroon__
+__artists/Photography/by_country/canada__
+__artists/Photography/by_country/chile__
+__artists/Photography/by_country/china__
+__artists/Photography/by_country/colombia__
+__artists/Photography/by_country/croatia__
+__artists/Photography/by_country/cuba__
+__artists/Photography/by_country/czech_republic__
+__artists/Photography/by_country/denmark__
+__artists/Photography/by_country/drc__
+__artists/Photography/by_country/ecuador__
+__artists/Photography/by_country/egypt__
+__artists/Photography/by_country/eritrea__
+__artists/Photography/by_country/estonia__
+__artists/Photography/by_country/ethiopia__
+__artists/Photography/by_country/finland__
+__artists/Photography/by_country/france__
+__artists/Photography/by_country/gambia__
+__artists/Photography/by_country/georgia__
+__artists/Photography/by_country/germany__
+__artists/Photography/by_country/greece__
+__artists/Photography/by_country/hong_kong__
+__artists/Photography/by_country/hungary__
+__artists/Photography/by_country/iceland__
+__artists/Photography/by_country/india__
+__artists/Photography/by_country/indonesia__
+__artists/Photography/by_country/iran__
+__artists/Photography/by_country/iraq__
+__artists/Photography/by_country/ireland__
+__artists/Photography/by_country/israel__
+__artists/Photography/by_country/italy__
+__artists/Photography/by_country/jamaica__
+__artists/Photography/by_country/japan__
+__artists/Photography/by_country/kenya__
+__artists/Photography/by_country/korea__
+__artists/Photography/by_country/latvia__
+__artists/Photography/by_country/lebanon__
+__artists/Photography/by_country/lithuania__
+__artists/Photography/by_country/luxembourg
+__artists/Photography/by_country/mali__
+__artists/Photography/by_country/mexico__
+__artists/Photography/by_country/namibia__
+__artists/Photography/by_country/netherlands__
+__artists/Photography/by_country/new_zealand__
+__artists/Photography/by_country/nigeria__
+__artists/Photography/by_country/norway__
+__artists/Photography/by_country/pakistan__
+__artists/Photography/by_country/palestine__
+__artists/Photography/by_country/panama__
+__artists/Photography/by_country/peru__
+__artists/Photography/by_country/poland__
+__artists/Photography/by_country/portugal__
+__artists/Photography/by_country/romania
+__artists/Photography/by_country/russia__
+__artists/Photography/by_country/sierra_leone__
+__artists/Photography/by_country/singapore__
+__artists/Photography/by_country/slovakia__
+__artists/Photography/by_country/slovenia__
+__artists/Photography/by_country/south_africa__
+__artists/Photography/by_country/spain__
+__artists/Photography/by_country/sri_lanka__
+__artists/Photography/by_country/suriname__
+__artists/Photography/by_country/sweden__
+__artists/Photography/by_country/switzerland__
+__artists/Photography/by_country/syria__
+__artists/Photography/by_country/taiwan__
+__artists/Photography/by_country/thailand__
+__artists/Photography/by_country/turkey__
+__artists/Photography/by_country/uganda__
+__artists/Photography/by_country/ukraine__
+__artists/Photography/by_country/united_kingdom__
+__artists/Photography/by_country/united_states__
+__artists/Photography/by_country/venezuela__
+__artists/Photography/by_country/vietnam__
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/README.md b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..4875f99f16bf12c25d9cc802268d0e4108e4d2b1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/README.md
@@ -0,0 +1 @@
+A large, but very incomplete list of artists by movement and period. It was previously part of the jumbo collection
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/genre/anime.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/genre/anime.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0e4ff3479f96dbdd7b84961e3033a663ecf1beb2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/genre/anime.txt
@@ -0,0 +1,119 @@
+Akemi Takada
+Akihiko Yamashita
+Akihiro Yamada
+Akio Sugino
+Akio Watanabe
+Akira Toriyama
+Akira Yasuda
+Aoi Nishimata
+Atsuko Nakajima
+Ayumi Kurashima
+Buriki
+Chie Uratani
+Eiji Suganuma
+Falcoon
+Fumikane Shimada
+Fumio Hisamatsu
+Fumitoshi Oizaki
+Futoshi Nishiya
+Gekidan Inu Curry
+Go Nagai
+Hajime Watanabe
+Haruhiko Mikimoto
+Hayao Miyazaki
+Hidenori Matsubara
+Hiroshi Ogawa
+Hiroshi Ōsaka
+Hiro Suzuhira
+Hiroyuki Imaishi
+Hiroyuki Kitazume
+Hisashi Hirai
+Ikuko Itoh
+Kantoku
+Kaoru Shintani
+Katsuya Kondō
+Katsuya Terada
+Kazuchika Kise
+Kazuhide Tomonaga
+Kazuko Shibuya
+Kazuko Tadano
+Kazune Kawahara
+Kazuo Komatsubara
+Kazushi Hagiwara
+Kazuto Nakazawa
+Kazuya Kuroda
+Keita Amemiya
+Kenichi Sonoda
+Kenichi Yoshida
+Ken Ishikawa
+Kia Asamiya
+Kinu Nishimura
+Koichi Ohata
+Kōsuke Fujishima
+Kristof Serrand
+Kumiko Takahashi
+Mamoru Nagano
+Masakazu Katsura
+Masaki Kajishima
+Masami Ōbari
+Masashi Ando
+Michi Himeno
+Miki Tori
+Mitsuo Iso
+Mitsuru Ishihara
+Moto Hagio
+Motosuke Takahashi
+Mutsumi Inomata
+Naoki Yamamoto
+Narumi Kakinouchi
+Naru Nanao
+Nobuhiro Watsuki
+Nobuteru Yūki
+Norio Shioyama
+Osamu Tezuka
+QP:flapper
+Range Murata
+Sachiko Kamimura
+Sakura Asagi
+Satoshi Urushihara
+Sayuri Ichiishi
+Shiki Kawabata
+Shingo Adachi
+Shingo Araki
+Shotaro Ishinomori
+Sunaho Tobe
+Susumu Matsushita
+Suzuhito Yasuda
+Takahiro Kimura
+Takami Akai
+Takehiko Itō
+Tetsuya Endo
+Tetsuya Nishio
+Tomonori Kogawa
+Tony Taka
+Toshihiro Kawamoto
+Toshiki Hirano
+Toshiyuki Kubooka
+Toyoo Ashida
+Tsukasa Dokite
+Tsukasa Kotobuki
+Tsunako
+Ugetsu Hakua
+Yasuhiro Irie
+Yasuomi Umetsu
+Yasuo Ōtsuka
+Yōichi Kotabe
+Yōji Kuri
+Yoko Kikuchi
+Yoshifumi Kondō
+Yoshihiko Umakoshi
+Yoshikazu Yasuhiko
+Yoshitaka Amano
+Yoshitoshi ABe
+Yoshiyuki Sadamoto
+Yui Haga
+Yukiko Horiguchi
+Yumiko Ōshima
+Yun Kōga
+Yuriko Chiba
+Yuu Kamiya
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/genre/fantasy.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/genre/fantasy.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a694f837790de75df3b797b92dbf66e24e3a8107
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/genre/fantasy.txt
@@ -0,0 +1,264 @@
+Abdul Qadim Haqq
+Adam Rex
+Adrian Smith
+Alan Gutierrez
+Alan Lee
+Alan M. Clark
+Alexander Kostetsky
+Alicia Austin
+André Vazzios
+Angus McBride
+Anne Stokes
+Ann Mari Sjögren
+Arthur Rackham
+Attila Adorjany
+Barclay Shaw
+Baron von Lind
+Barry Windsor-Smith
+Ben Wootten
+Bob Eggleton
+Bob Larkin
+Boris Vallejo
+Brad W. Foster
+Brian Froud
+Brothers Hildebrandt
+Bruce Pennington
+Cam de Leon
+Carla Morrow
+Carl Blechen
+Carl Critchlow
+Carl Lundgren
+Carlo Bocchio
+Charles Vess
+Chris Achilléos
+Chris Baker
+Christopher Shy
+Chuck Whelon
+Cicely Mary Barker
+Ciruelo Cabral
+Clara Elsene Peck
+Claudio Bergamin
+Cliff Nielsen
+Clive Barker
+Clyde Caldwell
+Craig Mullins
+Cyril Parfitt
+Dærick Gröss Sr.
+Daniel Dos Santos
+Daniel Maclise
+Danny Flynn
+Darrell K. Sweet
+Dave Dorman
+David A. Trampier
+David B. Mattingly
+David C. Sutherland III
+Davidé Fabbri
+David S. LaForce
+David Wenzel
+Diarmuid Byron O'Connor
+Disney's Nine Old Men
+Donato Giancola
+Don Ivan Punchatz
+Don Maitz
+Earl Norem
+Edd Cartier
+Edmund Dulac
+Edward Frederick Brewtnall
+Edward Mason Eggleston
+Érica Awano
+Erol Otus
+Fanny Cory
+Francis Tsai
+Frank Brunner
+Frank C. Papé
+Frank Frazetta
+Frank Walls
+Frank Wu
+Frazer Irving
+Fritz Baumgarten
+Gary Chalk
+Gary Ruddell
+Geoff Taylor
+George Barr
+George Underwood
+Gerald Brom
+Gervasio Gallardo
+Glenn Chadbourne
+Greg Broadmore
+Greg Hildebrandt
+Hajime Sorayama
+Harry Clarke
+Hayao Miyazaki
+Horus Engels
+H. R. Giger
+H. R. Millar
+H. R. Van Dongen
+Iain McCaig
+Ian Miller
+Ida Rentoul Outhwaite
+Ilene Meyer
+Ionicus
+Irvin Bomb
+J. Allen St. John
+James C. Christensen
+Jarosław Musiał
+Jasmine Becket-Griffith
+Jason Ebeyer
+Jean-Baptiste Monge
+Jean-Pascal Fournier
+Jean Pierre Targete
+Jeff Butler
+Jeff Dee
+Jeff Easley
+Jeff Laubenstein
+Jeff Miracola
+Jeffrey Catherine Jones
+Jef Murray
+Jennell Jaquays
+Jeremy Caniglia
+Jesper Myrfors
+Jessie Willcox Smith
+Jill Bauman
+Jim Fitzpatrick
+Jim Roslof
+Jody Lee
+Joe Jusko
+John Anster Fitzgerald
+John Atkinson Grimshaw
+John Blanche
+John Dollar
+John Giunta
+John Howe
+John Jude Palencar
+John Picacio
+John Sibbick
+John Zeleznik
+Jon Foster
+Joseph Noel Paton
+Josh Kirby
+J. R. R. Tolkien
+Julie Bell
+Julie Dillon
+Jurgen Ziewe
+Kamome Shirahama
+Kay Nielsen
+Keith Parkinson
+Kelly Freas
+Ken Kelly
+Kevin Long
+Kevin Siembieda
+Kevin Wasden
+Kev Walker
+Kinuko Y. Craft
+Kyle S. Hunter
+Kylie InGold
+Larry Dixon
+Larry Elmore
+Laura Roslof
+Lee Brown Coye
+Lee Moyer
+Leo and Diane Dillon
+Leo Hao
+Les Edwards
+Liz Danforth
+Lubov
+Lucio Parrillo
+Luis Royo
+Magali Villeneuve
+Makoto Shinkai
+Marcelo Cassaro
+Margaret Brundage
+Mark Poole
+Mark Smylie
+Mark Zug
+Martin Hanford
+Matt Cavotta
+Matt Fox
+Matt Stawicki
+Max Magnus Norman
+Meredith Dillman
+Michael Fishel
+Michael Kaluta
+Michael Parkes
+Michael Whelan
+Mike Ploog
+Monte Michael Moore
+Murray Tinkelman
+Naohisa Inoue
+Naoyuki Kato
+Nathália Suellen
+Ned Dameron
+Nene Thomas
+Nina Petrovna Valetova
+Oscar Chichoni
+Patrick J. Jones
+Patrick Woodroffe
+Paul Bonner
+Pauline Baynes
+Paul Julian
+Paul Kidby
+Paul Youll
+Petar Meseldžija
+Peter Andrew Jones
+Peter Lloyd
+Quinton Hoover
+Rade Tovladijac
+Rafael Garres
+Randy Post
+Rebecca Guay
+Richard Anderson
+Richard Corben
+Richard Dadd
+Richard Doyle
+Robin Jacques
+Robin Wood
+Rodney Matthews
+Roger Dean
+Roger Hane
+Roger Raupp
+Romas Kukalis
+Ron Spencer
+Ron Walotsky
+Rovina Cai
+Rowena Morrill
+Russ Nicholson
+Scott Gustafson
+Seb McKinnon
+Shusei Nagaoka
+Sidney Sime
+Stephanie Pui-Mun Law
+Stephan Martinière
+Stephen Fabian
+Stephen Hickman
+Stephen Youll
+Steve Ellis
+Steve Fiorilla
+Susan Van Camp
+Taehoon Oh
+Ted Nasmith
+Terese Nielsen
+Thomas Canty
+Thomas Kidd
+Tim Bradstreet
+Tim Hildebrandt
+Timothy Truman
+Tim White
+Todd Lockwood
+Tom Grindberg
+Tom Wham
+Tony DiTerlizzi
+Vena Kava
+Veronica V. Jones
+Vicente Segrelles
+Vincent Di Fate
+Vincent Dutrait
+Virgil Finlay
+Warwick Goble
+Wayne Barlowe
+Wendy Froud
+William M. Timlin
+William Stout
+Wojciech Siudmak
+Yasuyuki Honne
+__artists/genre/fantasy/tolkien__
+Yoshitaka Amano
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/genre/fantasy/tolkien.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/genre/fantasy/tolkien.txt
new file mode 100644
index 0000000000000000000000000000000000000000..59341819fe32e409eb87cfae59859c85909e5f11
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/genre/fantasy/tolkien.txt
@@ -0,0 +1,36 @@
+Alan Lee
+Angus McBride
+Anke Eißmann
+Barbara Remington
+Brian Lee Durfee
+Brothers Hildebrandt
+Colleen Doran
+Daniel Falconer
+Darrell K. Sweet
+David Wenzel
+Eric Fraser
+Greg Hildebrandt
+Horus Engels
+Ian Miller
+Inger Edelfeldt
+Jack Gaughan
+Jef Murray
+Jenny Dolfen
+Jimmy Cauty
+John Blanche
+John Howe
+Lívia Rusz
+Margrethe II of Denmark
+Michael Hague
+Michael Kaluta
+Milein Cosman
+Molly Knox Ostertag
+Pauline Baynes
+Paul R. Gregory
+Rob Inglis
+Rodney Matthews
+Ted Nasmith
+Tim Hildebrandt
+Tim Kirk
+Tom Jung
+Tove Jansson
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/genre/horror.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/genre/horror.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1798631b65d1938c39a477091a235dfe74f16d88
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/genre/horror.txt
@@ -0,0 +1,40 @@
+Abby Howard
+Alan M. Clark
+Alex McVey
+Ashley Wood
+Basil Gogos
+Ben Templesmith
+Bernie Wrightson
+Bob Eggleton
+Caravaggio
+Charles Addams
+Clive Barker
+Dave Dorman
+Dave McKean
+Derek Riggs
+Eldritch
+Emily Carroll
+Eric Millikin
+Frank Wu
+Frazer Irving
+Gahan Wilson
+Gerald Brom
+H. R. Giger
+Jeff Lee Johnson
+Jill Bauman
+John Coulthart
+John Jude Palencar
+John Kenn Mortensen
+John Picacio
+Junji Ito
+Karoly Grosz
+Lee Brown Coye
+Les Edwards
+Otto Dix
+Sam Shearon
+Shinya Kumazaki
+Stephen Gammell
+Stephen Kasner
+Tim Jacobus
+T. M. Wright
+Virgil Finlay
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/anime.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/anime.txt
new file mode 100644
index 0000000000000000000000000000000000000000..08a7dbe5e0db184d7a89ca616f5f78eef658c949
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/anime.txt
@@ -0,0 +1,768 @@
+Yoshitoshi ABe (安倍 吉俊)
+Chako Abeno (阿倍野ちゃこ)
+Mitsuru Adachi (あだち 充)
+Tsutomu Adachi (あだち 勉)
+Tadashi Agi (亜樹 直)
+Wanyan Aguda (完顏阿骨打)
+Yu Aida (相田 裕)
+Koji Aihara (相原 コージ)
+Miki Aihara (相原 実貴)
+Mizuho Aimoto (愛本 みずほ)
+Haruka Aizawa (あいざわ 遥)
+Michiyo Akaishi (赤石 路代)
+Ken Akamatsu (赤松 健)
+Fujio Akatsuka (赤塚 不二夫)
+Katsu Aki (克・亜樹)
+Nami Akimoto (秋元 奈美)
+Osamu Akimoto (秋本 治)
+Matsuri Akino (秋乃 茉莉)
+George Akiyama (ジョージ 秋山)
+Tamayo Akiyama (秋山 たまよ)
+Risu Akizuki (秋月 りす)
+Akira Amano (天野 明)
+Kozue Amano (天野 こずえ)
+Shiro Amano (天野 シロ)
+Yōichi Amano (天野 洋一)
+Yoshitaka Amano (天野 喜孝)
+Mogura Anagura (あなぐらもぐら)
+Masahiro Anbe (安部 真弘)
+Jiro Ando (安藤慈朗)
+Natsumi Ando (安藤 なつみ)
+Yuma Ando (安藤 夕馬)
+Moyoco Anno (安野 モヨコ)
+Nobuyuki Anzai (安西 信行)
+Futaba Aoi (葵 二葉)
+Yasuko Aoike (青池 保子)
+Kotomi Aoki (青木 琴美)
+Mitsue Aoki (青木 光恵)
+Takao Aoki (青木 たかお)
+Ume Aoki (蒼樹 うめ)
+Yūji Aoki (青木 雄二)
+Takako Aonuma (青沼貴子)
+Gosho Aoyama (青山 剛昌)
+Hideki Arai (新井 秀樹)
+Kiyoko Arai (あらい きよこ)
+Hiromu Arakawa (荒川 弘)
+Naoshi Arakawa (新川 直司)
+Hirohiko Araki (荒木 飛呂彦)
+Kanao Araki (あらきかなお)
+Keiichi Arawi (あらゐけいいち)
+Keitarō Arima (有馬 啓太郎)
+Kyoko Ariyoshi (有吉 京子)
+Hiroshi Aro (田母神慈宏)
+Hiroyuki Asada (浅田 弘幸)
+Sakura Asagi (あさぎ 桜)
+Yū Asagiri (あさぎり 夕)
+Yuya Asahina (朝比奈 ゆうや)
+Masashi Asaki (朝基 まさし)
+George Asakura (ジョージ朝倉)
+Kia Asamiya (麻宮 騎亜)
+Inio Asano (浅野 いにお)
+Hinako Ashihara (芦原 妃名子)
+Hitoshi Ashinano (芦奈野 ひとし)
+Haro Aso (麻生羽呂)
+Izumi Aso (麻生 いずみ)
+Min Ayahana (彩花 みん)
+Rando Ayamine (綾峰 欄人)
+Hideo Azuma (吾妻 ひでお)
+Kiyohiko Azuma (あずま きよひこ)
+Mayumi Azuma (東 まゆみ)
+Ryō Azumi (あずみ 椋)
+B
+Ippongi Bang (一本木 蛮)
+Daichi Banjou (万乗大智)
+Barasui (ばらスィ)
+Boichi
+Frédéric Boilet (フレデリック・ボワレ)
+Buronson (武論 尊)
+C
+Carnelian
+Tartan Check (たあたんちぇっく)
+Akio Chiba (ちばあきお or 千葉 亜喜生)
+Kiyokazu Chiba (千葉きよかず or 千葉潔和名義)
+Tetsuya Chiba (ちば てつや)
+Nanae Chrono (黒乃 奈々絵)
+E
+Tatsuya Egawa (江川 達也)
+Hisashi Eguchi (江口 寿志)
+Eiki Eiki (影木 栄貴)
+Tatsuma Ejiri (江尻 立真)
+Emura (絵夢羅)
+Hiroki Endo (遠藤 浩輝)
+Shunji Enomoto (榎本俊二)
+Kei Enue (えぬえ けい)
+Est em (えすとえむ)
+F
+Mihona Fujii (藤井 みほな)
+Rino Fujii (藤井理乃)
+Tatsuki Fujimoto (藤本 タツキ)
+Ryu Fujisaki (藤崎 竜)
+Tooru Fujisawa (藤沢 とおる)
+Kōsuke Fujishima (藤島 康介)
+Kazuhiro Fujita (藤田 和日郎)
+Kazuko Fujita (藤田 和子)
+Maguro Fujita (藤田 まぐろ)
+Cocoa Fujiwara (藤原 ここあ)
+Hiro Fujiwara (藤原 ヒロ)
+Yoshihide Fujiwara (藤原芳秀)
+Tsubasa Fukuchi (福地翼)
+Eiichi Fukui (福井 英一)
+Nobuyuki Fukumoto (福本伸行)
+Haruka Fukushima (フクシマ ハルカ)
+Sho Fumimura (史村 翔)
+Kou Fumizuki (文月 晃)
+Haruichi Furudate (古舘 春一)
+Minoru Furuya (古谷 実)
+Mitsutoshi Furuya (古谷三敏)
+Usamaru Furuya (古屋 兎丸)
+Fujiko Fujio (ふじお ふじ)
+G
+Hiroshi Gamō (ガモウひろし)
+Keiji Gotoh (後藤圭二)
+GotoP (ごとP)
+H
+Moto Hagio (萩尾 望都)
+Kazushi Hagiwara (萩原 一至)
+Ryusuke Hamamoto (畑中 純)
+Youko Hanabusa (英 洋子)
+Pink Hanamori (花森 ぴんく)
+Kazuichi Hanawa (花輪和一)
+Hidenori Hara (原秀則)
+Taira Hara (はら たいら)
+Tetsuo Hara (原 哲夫)
+Yutaka Hara (原 ゆたか)
+Sunao Hari (針 すなお)
+Etsumi Haruki (はるき 悦巳)
+Shohei Harumoto (東本 昌平)
+Nanae Haruno (榛野 なな恵)
+Nana Haruta (春田なな)
+Machiko Hasegawa (長谷川 町子)
+Takashi Hashiguchi (橋口 たかし)
+Mitsuo Hashimoto (はしもと みつお or 橋本 光男)
+Kenjiro Hata (畑 健二郎)
+Jun Hatanaka (畑中 純)
+Bisco Hatori (葉鳥 ビスコ)
+Akiko Hatsu (波津 彬子)
+Mitsuru Hattori (はっとりみつる)
+Miki Hayasaka (早坂未紀)
+Fumino Hayashi (林 ふみの)
+Q Hayashida (林田 球)
+Shizuru Hayashiya (林家 志弦)
+Reine Hibiki (ひびき 玲音)
+Yukari Higa (緋賀 ゆかり)
+Akiko Higashimura (東村 アキコ)
+Asa Higuchi (ひぐち アサ)
+Daisuke Higuchi (樋口 大輔)
+Tachibana Higuchi (樋口 橘)
+You Higuri (氷栗 優)
+Aoi Hiiragi (柊 あおい)
+Hidekaz Himaruya (日丸屋 秀和)
+Akira Himekawa (姫川 明)
+Hideshi Hino (日野 日出志)
+Matsuri Hino (樋野 まつり)
+Hisashi Hirai (平井久司)
+Kouta Hirano (平野 耕太)
+Hiroshi Hirata (平田 弘史)
+Rei Hiroe (広江 礼威)
+Kenshi Hirokane (弘兼 憲史)
+Hiroyuki (artist)
+Tatsuya Hiruta (蛭田達也)
+Saki Hiwatari (日渡 早紀)
+Tsukasa Hojo (北条 司)
+Yutori Hōjō (方條 ゆとり)
+Yukine Honami (穂波 ゆきね)
+Yuji Horii (堀井 雄二)
+Kōhei Horikoshi (堀越 耕平)
+Katsura Hoshino (星野 桂)
+Kōichirō Hoshino (星野倖一郎)
+Lily Hoshino (星野 リリィ)
+Yukinobu Hoshino (星野 之宣)
+Mochiru Hoshisato (星里 もちる)
+Chieko Hosokawa (細川 智栄子)
+Fujihiko Hosono (細野 不二彦)
+Yumi Hotta (ほった ゆみ)
+I
+Yukari Ichijo (一条 ゆかり)
+Masato Ichishiki (一式 まさと)
+Aguri Igarashi (五十嵐 あぐり)
+Daisuke Igarashi (五十嵐 大介)
+Mikio Igarashi (いがらし みきお)
+Satsuki Igarashi (いがらし 寒月)
+Yumiko Igarashi (いがらし ゆみこ)
+Akihisa Ikeda (池田晃久)
+Riyoko Ikeda (池田 理代子)
+Ryoichi Ikegami (池上 遼一)
+Gō Ikeyamada (池山田 剛)
+Satomi Ikezawa (池沢理美)
+Ryo Ikuemi (いくえみ 綾)
+Mia Ikumi (征海 未亜)
+Ichiko Ima (今 市子)
+Kami Imai (今井 神)
+Koji Inada (稲田 浩司)
+Riichiro Inagaki (稲垣 理一郎)
+Kazurou Inoue (井上 和郎)
+Santa Inoue (井上 三太)
+Takehiko Inoue (井上 雄彦)
+Kira Inugami (狗神 煌)
+Sekihiko Inui (犬威赤彦)
+Hajime Isayama (諫山 創)
+Sui Ishida (石田 スイ)
+Hisaichi Ishii (いしい ひさいち)
+Takashi Ishii (石井 隆)
+Ken Ishikawa (石川 賢)
+Yūgo Ishikawa (石川優吾)
+Shotaro Ishinomori (石ノ森 章太郎)
+Osamu Ishiwata (石渡 治)
+Makoto Isshiki (一色まこと)
+Isutoshi (いすとし)
+Keisuke Itagaki (板垣 恵介)
+Akihiro Ito (伊藤 明弘)
+Akira Itō (伊藤 彰)
+Junji Ito (伊藤 潤二)
+Noizi Ito (いとうのいぢ)
+Takehiko Ito (伊東 岳彦)
+Risa Itō (伊藤 理佐)
+Shimpei Itoh (伊藤 伸平)
+Natsumi Itsuki (樹 なつみ)
+Hitoshi Iwaaki (岩明 均)
+Mariko Iwadate (岩館 真理子)
+Yuji Iwahara (岩原 裕二)
+Hisae Iwaoka (岩岡ヒサエ)
+Takashi Iwashige (いわしげ 孝)
+Toshiaki Iwashiro (岩代 俊明)
+Mann Izawa (井沢 満)
+Kaneyoshi Izumi (和泉 かねよし)
+J
+Judal (ジュダル)
+K
+Yuna Kagesaki
+Naoyuki Kageyama (影山 なおゆき)
+Shintaro Kago
+Hiroyuki Kaidō
+Sōsuke Kaise
+Shinobu Kaitani (甲斐谷忍)
+Ikki Kajiwara
+Kakifly (creator of K-On!)
+Narumi Kakinouchi (垣野内 成美)
+Teruo Kakuta
+Yuhki Kamatani
+Atsushi Kamijo (上條 敦士)
+Akimine Kamijyo (上条 明峰)
+Futago Kamikita (上北実那)
+Kazuo Kamimura
+Yoko Kamio (神尾 葉子)
+Yozaburo Kanari (金成 陽三郎)
+Akira Kanbe
+Muneyuki Kaneshiro (金城宗幸)
+Aya Kanno
+Yasuhiro Kanō
+Masaomi Kanzaki (神崎 将臣)
+Junko Karube
+Manavu Kashimoto
+Kazue Kato (加藤和恵)
+Kazuhiko Kato (加藤 一彦)
+Motohiro Katou
+Susumu Katsumata
+Masakazu Katsura (桂 正和)
+Yukimaru Katsura
+Kaiji Kawaguchi (かわぐち かいじ)
+Kazune Kawahara
+Masatoshi Kawahara
+Yumiko Kawahara (川原 由美子)
+Mika Kawamura (川村 美香)
+Noboru Kawasaki (川崎 のぼる)
+Tadashi Kawashima
+Mizuki Kawashita (河下 水希)
+Kazumi Kazui
+Funatsu Kazuki (一輝ふなつ)
+Maki Kazumi
+Izumi Kazuto
+Toshie Kihara
+Moto Kikaku
+Minori Kimura
+Sakura Kinoshita
+Shimoku Kio
+Yuki Kiriga
+Izumi Kirihara
+Kōji Kiriyama
+Masashi Kishimoto (岸本 斉史)
+Seishi Kishimoto (岸本 聖史)
+Yukito Kishiro (木城 ゆきと)
+Miyuki Kitagawa
+Taku Kitazaki (北崎 拓)
+Rakuten Kitazawa (北沢 楽天)
+En Kitō
+Mohiro Kitoh
+Mohiro Kitoh (鬼頭 莫宏)
+Kazuhiro Kiuchi
+Totan Kobako
+Jin Kobayashi (小林 尽)
+Kentarō Kobayashi
+Kiyochika Kobayashi (小林 清親)
+Makoto Kobayashi (小林 まこと)
+Miyuki Kobayashi (小林 深雪)
+Motofumi Kobayashi
+Toshihiko Kobayashi
+Yoshinori Kobayashi (小林 善範)
+Kazuma Kodaka
+Koge-Donbo (コゲどんぼ)
+Kazuo Koike
+Maya Koikeda
+Akira Kojima
+Goseki Kojima (小島 剛夕)
+Kō Kojima
+Naoshi Komi (古味直志)
+Ayumi Komura
+Satoshi Kon (今 敏)
+Fumiyo Kōno
+Takeshi Konomi (許斐 剛)
+Rikdo Koshi
+Tsukasa Kotobuki (ことぶき つかさ)
+Yun Kouga (高河 ゆん)
+Keito Koume
+Hirano Kouta (平野 耕太)
+Yū Koyama (小山 ゆう)
+Tite Kubo (久保 帯人)
+Eisaku Kubonouchi
+Masashi Kudō
+Kōji Kumeta (久米田 康治)
+Shosuke Kurakane (倉金 章介)
+Fusako Kuramochi (くらもち ふさこ)
+Yuki Kure
+Yōji Kuri
+Iou Kuroda (黒田 硫黄)
+Masami Kurumada (車田 正美)
+Hidenori Kusaka (日下 秀憲)
+Nari Kusakawa
+Kei Kusunoki (楠 桂)
+Michiharu Kusunoki
+Jiro Kuwata (桑田 二郎)
+M
+Henmaru Machino (町野 変丸)
+Jun Maeda (麻枝 准)
+Toshio Maeda
+Takeshi Maekawa (前川 たけし)
+Miyako Maki (牧 美也子)
+Yoko Maki (槙 ようこ)
+Johji Manabe
+Suehiro Maruo (丸尾 末広)
+Usune Masatoshi
+Hiro Mashima (真島 ヒロ)
+Kōsuke Masuda
+Hiroshi Masumura
+Sanami Matoh (真東 砂波)
+Yūsei Matsui
+Izumi Matsumoto (まつもと 泉)
+Jiro Matsumoto (松本 次郎)
+Katsuji Matsumoto
+Leiji Matsumoto (松本 零士)
+Nina Matsumoto
+Taiyo Matsumoto (松本 大洋)
+Temari Matsumoto (松本 テマリ)
+Tomo Matsumoto (マツモト トモ)
+Akemi Matsunae
+Hino Matsuri (樋野 まつり)
+Susumu Matsushita (松下 進)
+Tokihiko Matsuura (松浦聡彦)
+Seiji Matsuyama (松山 せいじ)
+Mineo Maya (魔夜峰央)
+Meimu
+Yuki Midorikawa
+Mitsukazu Mihara
+Rei Mikamoto
+Haruhiko Mikimoto
+Ryoji Minagawa (皆川 亮二)
+Kazuka Minami (南 かずか)
+Maki Minami
+Yū Minamoto
+Suu Minazuki
+Nobuaki Minegishi
+Kazuya Minekura (峰倉 かずや)
+Juri Misaki
+Norifusa Mita (三田紀房)
+Ryūsuke Mita
+Takuya Mitsuda (満田 拓也)
+Suzue Miuchi (美内 すずえ)
+Kentaro Miura (三浦 建太郎)
+Mitsuru Miura (三浦 みつる)
+Shirow Miwa
+Riko Miyagi (宮城 理子)
+Tomochika Miyano
+Kaho Miyasaka (宮坂 香帆)
+Hayao Miyazaki (宮崎 駿)
+Hakase Mizuki
+Kyoko Mizuki (水木 杏子)
+Shigeru Mizuki (水木 しげる)
+Eita Mizuno
+Hideko Mizuno (水野 英子)
+Junko Mizuno (水野 純子)
+Tohko Mizuno
+Megumi Mizusawa (水沢めぐみ)
+Shinji Mizushima
+Setona Mizushiro (水城 せとな)
+Jun Mochizuki (望月 淳)
+Mokona
+Takeaki Momose
+Hideki Mori
+Kaoru Mori (森 薫)
+Taishi Mori (モリ タイシ)
+George Morikawa (森川 ジョージ)
+Ai Morinaga (森永 あい)
+Milk Morinaga
+Morishige
+Masanori Morita(森田 まさのり
+Daisuke Moriyama (森山 大輔)
+Milk Morizono (森園 みるく)
+Daijiro Morohoshi (諸星 大二郎)
+Hagio Moto (萩尾望都)
+Kyousuke Motomi (Creator of Dengeki Daisy)
+Natsumi Mukai (迎 夏生)
+Kenichi Muraeda
+Glen Murakami (水沢めぐ帆)
+Maki Murakami (村上 真紀)
+Motoka Murakami (村上 もとか)
+Range Murata
+Yusuke Murata (Illustrator of Eyeshield 21 and One Punch Man)
+Wataru Murayama
+Mayumi Muroyama
+N
+Go Nagai (永井 豪)
+Mamoru Nagano
+Shinji Nagashima
+Takeru Nagayoshi
+An Nakahara
+Aya Nakahara (中原アヤ)
+Masahiko Nakahira
+Tsuyoshi Nakaima
+Hisaya Nakajo (中条 比紗也)
+Hikaru Nakamura (Creator of Saint Young Men and Arakawa Under the Bridge)
+Shungiku Nakamura (Creator of Junjou Romantica and Sekai-ichi Hatsukoi)
+Yoshiki Nakamura (仲村佳樹)
+Nio Nakatani (仲谷鳰)
+Keiji Nakazawa
+Shingo Nanami
+Kiriko Nananan (魚喃 キリコ)
+Aoi Nanase (七瀬 葵)
+Akira Narita
+Hanaharu Naruko
+Yuri Narushima (なるしま ゆり)
+Yoshinori Natsume (夏目 義徳)
+Tsubaki Nekoi
+Nekojiru
+Yasuhiro Nightow (内藤 泰弘)
+Tsutomu Nihei (弐瓶 勉)
+Tomoko Ninomiya
+Keiko Nishi (西 炯子)
+Yoshiyuki Nishi
+Hiroyuki Nishimori
+Sou Nishimura
+Yoshinobu Nishizaki
+Youka Nitta
+Makoto Niwano
+Toshio Nobe
+Shinbo Nomura
+Eiji Nonaka (野中 英次)
+Charlie Nozawa
+O
+Miho Obana (小花 美穂)
+Takeshi Obata (小畑 健)
+Eiichiro Oda (尾田 栄一郎)
+Hideji Oda
+Etsushi Ogawa (小川 悦司)
+Akane Ogura (小椋アカネ)
+Saori Oguri (小栗 左多里)
+Tsuyoshi Ōhashi
+Tsugumi Ohba (大場 つぐみ)
+Oh! great aka Ito Ogure (大暮 維人)
+Mineko Ohkami (押上 美猫)
+Nanase Ohkawa
+Shinobu Ohtaka
+Kendi Oiwa
+Hiroi Oji
+Megumu Okada
+Okama
+Lynn Okamoto (岡本 倫)
+Reiko Okano (岡野 玲子)
+Takeshi Okano
+Kyoko Okazaki (岡崎 京子)
+Mari Okazaki (おかざき真里)
+Takashi Okazaki (Creator of Afro Samurai)
+Hiroya Oku (奥 浩哉)
+Atsushi Ōkubo (Creator of Soul Eater and Fire Force)
+Hitoshi Okuda (奥田 ひとし)
+One (Creator of One Punch Man, Mob Psycho 100 and Makai No Ossan)
+Hiromu Ono (小野弥夢)
+Natsume Ono
+Toshihiro Ono (小野 敏洋)
+Mamoru Oshii (押井守)
+Towa Oshima (大島 永遠)
+Yasuichi Oshima
+Yumiko Ōshima
+Katsuhiro Otomo (大友 克洋)
+Minami Ozaki (尾崎 南)
+Mari Ozawa
+Akira Oze
+R
+Marimo Ragawa (羅川 真里茂)
+Makoto Raiku (雷句 誠)
+Ryō Ramiya (蘭宮 涼)
+Koshi Rikdo (六道 神士 Rikudō Kōshi)
+Robico (ろびこ)
+Noboru Rokuda (六田登)
+S
+Yoshiyuki Sadamoto (貞本 義行)
+Fumi Saimon (柴門 ふみ)
+Chiho Saito (さいとう ちほ)
+Takao Saito (さいとう たかを)
+Rin Saitō
+Mayu Sakai
+Yasuko Sakata (坂田 靖子)
+Ken'ichi Sakemi
+Harold Sakuishi
+Ashika Sakura (さくら あしか)
+Momoko Sakura (さくら ももこ)
+Koharu Sakuraba
+Kanoko Sakurakoji (桜小路 かのこ)
+Minene Sakurano
+Erica Sakurazawa (桜沢 エリカ)
+Hiroaki Samura (沙村 広明)
+Riku Sanjo (三条 陸)
+Tetsuya Saruwatari
+Hiroshi Sasagawa
+Ryo Sasaki
+Ayato Sasakura
+Daisuke Satō (Co-creator of Highschool of the Dead)
+Shio Satō (佐藤 史生)
+Shōji Satō (Co-creator of Highschool of the Dead)
+Shūhō Satō
+Machiko Satonaka (里中 満智子)
+Yoshio Sawai (澤井 啓夫)
+Shizuru Seino (清野 静流)
+Kōji Seo
+Takako Shigematsu
+Shuichi Shigeno (しげの 秀一)
+Hiroshi Shiibashi (椎橋寛)
+Ayumi Shiina (椎名 あゆみ)
+Takashi Shiina
+Satoshi Shiki
+Mitsutoshi Shimabukuro
+Kazuhiko Shimamoto (島本 和彦)
+Reiko Shimizu (清水 玲子)
+Yuki Shimizu (志水 ゆき)
+Takako Shimura
+Rize Shinba (神葉 理世)
+Mayu Shinjo (新條まゆ)
+Chie Shinohara (篠原 千絵)
+Tōru Shinohara (篠原とおる)
+Mizuo Shinonome
+Hiromu Shinozuka
+Kaoru Shintani (新谷 かおる)
+Motoei Shinzawa (新沢 基栄)
+Etorouji Shiono (塩野干支郎次)
+Yuji Shiozaki
+Kaiu Shirai (白井 カイウ)
+Sanpei Shirato (白土 三平)
+Kotobuki Shiriagari (しりあがり 寿)
+Masamune Shirow (士郎 正宗)
+Yōko Shōji
+Kouyu Shurei (珠黎 こうゆ)
+Smelly
+Masahito Soda (曽田 正人)
+Toshinori Sogabe
+Kenichi Sonoda (園田 健一)
+Mitsuyoshi Sonoda (園田 光慶)
+Hideaki Sorachi (空知 英秋)
+Fuyumi Soryo (惣領 冬実)
+Keiko Suenobu
+Yuki Suetsugu
+Mitsuru Sugaya
+Ken Sugimori
+Yukiru Sugisaki (杉崎 ゆきる)
+Hinako Sugiura
+Shigeru Sugiura (杉浦 茂)
+Shiho Sugiura
+Natsuki Sumeragi (皇 なつき)
+Yukiko Sumiyoshi
+Hiro Suzuhira
+Jirō Suzuki
+Julietta Suzuki
+Nakaba Suzuki (鈴木 央)
+Atsushi Suzumi
+Karin Suzuragi
+T
+Yūki Tabata (田畠裕基)
+Higuchi Tachibana (樋口 橘)
+Yutaka Tachibana (橘裕)
+Haruko Tachiiri (たちいり ハルコ)
+Megumi Tachikawa (立川 恵)
+Kaoru Tada (多田 かおる)
+Gengoroh Tagame (田亀 源五郎)
+Suihō Tagawa (田河 水泡)
+Akemi Takada (高田明美)
+Rie Takada (高田 りえ)
+Yuzo Takada (高田 裕三)
+Nobuyuki Takagi (高木 信孝)
+Hiroshi Takahashi (高橋 ヒロシ)
+Kazuki Takahashi (高橋 和希)
+Koji Takahashi (高橋 幸慈)
+Rumiko Takahashi (高橋 留美子)
+Shin Takahashi (高橋 しん)
+Tsutomu Takahashi (高橋 ツトム)
+Yoichi Takahashi (高橋 陽一)
+Yoshihiro Takahashi (高橋よしひろ)
+Yōsuke Takahashi (高橋 葉介)
+Ryo Takamisaki (鷹岬 諒)
+Hinako Takanaga (高永 ひなこ)
+Mitsuba Takanashi (高梨 みつば)
+Shizue Takanashi (たかなししずえ)
+Ichigo Takano (高野苺)
+Hiroshi Takashige (たかしげ 宙)
+Kazusa Takashima (高嶋 上総)
+Misako Takashima, most known as Misako Rocks!
+Rica Takashima (高嶋 リカ)
+Natsuki Takaya (高屋 奈月)
+Yoshiki Takaya (高屋 良樹)
+Hiroyuki Takei (武井 宏之)
+Kentaro Takekuma (竹熊 健太郎)
+Keiko Takemiya (竹宮 惠子)
+Izumi Takemoto (竹本 泉)
+Mick Takeuchi (竹内未来)
+Naoko Takeuchi (武内 直子)
+Takashi Takeuchi (武内 崇)
+Tony Takezaki (トニーたけざき)
+Namuchi Takumi (たくみなむち)
+Hiroyuki Tamakoshi (玉越 博幸)
+Ryūhei Tamura (田村 隆平)
+Shigeru Tamura (田村 茂)
+Yumi Tamura (田村 由美)
+Yellow Tanabe (田辺イエロウ)
+Kunihiko Tanaka (田中 久仁彦)
+Masashi Tanaka (田中政志)
+Arina Tanemura (種村 有菜)
+Tomoko Taniguchi (たにぐち 智子)
+Jirō Taniguchi (谷口 ジロー)
+Makoto Tateno (立野 真琴)
+Retsu Tateo (館尾冽)
+Yoshihiro Tatsumi (辰巳 ヨシヒロ)
+Katsuya Terada (寺田 克也)
+Yuji Terajima (寺嶋 裕二)
+Buichi Terasawa (寺沢 武一)
+Daisuke Terasawa (寺沢大介)
+Reiko Terashima (寺島令子)
+Yū Terashima (寺島優)
+Takashi Teshirogi (てしろぎ たかし)
+Osamu Tezuka (手塚 治虫)
+Keiko Tobe (戸部 けいこ)
+Yana Toboso (枢 やな)
+Izumi Tōdō (東堂 いづみ)
+Yoshihiro Togashi (冨樫 義博)
+Hari Tokeino (時計野 はり)
+Kōichi Tokita (ときた 洸一)
+Masaya Tokuhiro (徳弘正也)
+Hitoshi Tomizawa (富沢 ひとし)
+Tono (との)
+Yoshiki Tonogai (外海良基)
+Miki Tori (とり·みき)
+Akira Toriyama (鳥山 明)
+Kei Toume (冬目 景)
+Ema Tōyama (遠山 えま)
+Masami Tsuda (津田 雅美)
+Mikiyo Tsuda (つだみきよ)
+Yoshiharu Tsuge (つげ 義春)
+Yumi Tsukirino (つきりの ゆみ)
+Sakura Tsukuba (筑波 さくら)
+Jirō Tsunoda (つのだ じろう)
+Tsunomaru (つの丸)
+Kenji Tsuruta (鶴田 謙二)
+Midorikawa Tsuyoshi (緑川毅志)
+U
+Shungicu Uchida
+Hajime Ueda
+Masashi Ueda (植田 まさし)
+Miwa Ueda (上田 美和)
+Rinko Ueda (上田 倫子)
+Toshiko Ueda
+Kimiko Uehara
+Riichi Ueshiba
+U-Jin (遊人)
+Haruto Umezawa
+Kazuo Umezu (楳図 かずお)
+Chica Umino (羽海野 チカ)
+Akinobu Uraka
+Naoki Urasawa (浦沢 直樹)
+Yuki Urushibara (漆原 友紀)
+Satoshi Urushihara
+Satoshi Urushihara (うるし原 智志)
+Yoshito Usui (臼井 儀人)
+Kyosuke Usuta
+Hiroyuki Utatane (うたたね ひろゆき)
+W
+Shinji Wada
+Tamiki Wakaki
+Masako Watanabe (わたなべ まさこ)
+Taeko Watanabe (渡辺 多恵子)
+Seizō Watase
+Yuu Watase (渡瀬 悠宇)
+Kaworu Watashiya
+Nobuhiro Watsuki (和月 伸宏)
+Y
+Yuu Yabuchi (やぶうち 優)
+Kentaro Yabuki (矢吹 健太朗)
+Chitose Yagami (八神千歳)
+Hiroki Yagami (八神 ひろき)
+Yu Yagami (矢上 裕)
+Norihiro Yagi (八木 教広)
+Kou Yaginuma (柳沼行)
+Akihiro Yamada (山田 章博)
+J-ta Yamada (山田J太)
+Keiko Yamada (山田 圭子)
+Murasaki Yamada (やまだ紫)
+Nanpei Yamada (山田 南平)
+Reiji Yamada (山田玲司)
+Ryoko Yamagishi (山岸 凉子)
+Masakazu Yamaguchi (山口 譲司)
+Tsubasa Yamaguchi (山口つばさ)
+Ebine Yamaji (やまねえびね)
+Hideo Yamamoto (山本 英夫)
+Naoki Yamamoto (山本 直樹)
+Satoshi Yamamoto (山本サトシ)
+Sumika Yamamoto (山本 鈴美香)
+Yamato Yamamoto (山本ヤマト)
+Yasuhito Yamamoto (山本康人)
+Ayano Yamane (やまね あやの or 山根 綾乃)
+Sharin Yamano (山野車輪)
+Jūzō Yamasaki (やまさき 十三)
+Ikuto Yamashita (山下 いくと)
+Kazumi Yamashita (manga artist)
+Waki Yamato (大和 和紀)
+Housui Yamazaki (山崎 峰水)
+Kimio Yanagisawa (柳沢 きみお)
+Takashi Yanase (やなせ たかし)
+Kentarō Yano (矢野 健太郎)
+Yasu (ヤス (イラストレーター)
+Suzuhito Yasuda (ヤスダ スズヒト)
+Yoshikazu Yasuhiko (安彦 良和)
+Kōichirō Yasunaga (安永航一郞)
+Chao Yat (草日)
+Ai Yazawa (矢沢 あい)
+Nao Yazawa (谷沢 直)
+Mitsuteru Yokoyama (横山 光輝)
+Hideyuki Yonehara (米原 秀幸)
+Yoshihiro Yonezawa (米澤 嘉博)
+Akimi Yoshida (吉田 秋生)
+Tatsuo Yoshida (吉田 竜夫)
+Miki Yoshikawa (吉河 美希)
+Kagami Yoshimizu (美水 かがみ)
+Fumi Yoshinaga (よしなが ふみ)
+Akihito Yoshitomi (吉富 昭仁)
+Mine Yoshizaki (吉崎 観音)
+Seimu Yoshizaki (芳崎 せいむ)
+Wataru Yoshizumi (吉住 渉)
+Toshiki Yui (唯 登詩樹)
+Kaori Yuki (由貴 香織里)
+Masami Yuki (ゆうき まさみ)
+Nobuteru Yūki (結城 信輝)
+Yukiwo (ユキヲ)
+Makoto Yukimura (幸村 誠)
+Sumomo Yumeka (夢花 李)
+Tsutae Yuzu (つたえ ゆず)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a067c2381ff610f1087a5f7333be50ad3069a963
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books.txt
@@ -0,0 +1,16 @@
+__artists/illustrations/childrens_books/american_illustrators__
+__artists/illustrations/childrens_books/argentine_illustrators__
+__artists/illustrations/childrens_books/australian_illustrators__
+__artists/illustrations/childrens_books/austrian_illustrators__
+__artists/illustrations/childrens_books/belgian_illustrators__
+__artists/illustrations/childrens_books/brazilian_illustrators__
+__artists/illustrations/childrens_books/british_illustrators__
+__artists/illustrations/childrens_books/bulgarian_illustrators__
+__artists/illustrations/childrens_books/canadian_illustrators__
+__artists/illustrations/childrens_books/chinese_illustrators__
+__artists/illustrations/childrens_books/colombian_illustrators__
+__artists/illustrations/childrens_books/czech_illustrators__
+__artists/illustrations/childrens_books/danish_illustrators__
+__artists/illustrations/childrens_books/dutch_illustrators__
+__artists/illustrations/childrens_books/egyptian_ilustrators__
+__artists/illustrations/childrens_books/irish_illustrators__
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/american_illustrators.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/american_illustrators.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8bfc488c060ca52edef91fe21c0511a66634e66e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/american_illustrators.txt
@@ -0,0 +1,445 @@
+Aaron Becker
+Adam Rex
+Adrienne Adams
+Agnes Tait
+Al Hartley
+Alice and Martin Provensen
+Alice Bolam Preston
+Allen Say
+Alton Raible
+Al Wiseman
+Andy Luckey
+Anna Dewdney
+Ann Grifalconi
+Antonio Frasconi
+Antonio Sotomayor
+Anton Loeb
+Armstrong Sperry
+Arnold Lobel
+Arnold Spilka
+Ashley Bryan
+Austin Peck
+Barbara Cooney
+Barbara Latham
+Barbara McClintock
+Barry Johnson
+Beatien Yazz
+Ben Hatke
+Beni Montresor
+Bernarda Bryson Shahn
+Bernard Waber
+Berta and Elmer Hader
+Bessie Pease Gutmann
+Bethany Barton
+Beth Krommes
+Betsy Lewin
+Bill Peet
+Blair Lent
+Blanche Fisher Wright
+Bob Staake
+Bonibel Butler
+Bonnie Christensen
+Bonnie Shemie
+Brandon Dorman
+Brett Helquist
+Brian Biggs
+Brian Floca
+Brian Pinkney
+Brian Selznick
+Brock Cole
+Bruce Degen
+Carmen L. Browne
+Carole Byard
+Carol Heyer
+Carson Ellis
+Charles Buckles Falls
+Charles L. Bartholomew
+Charles Santore
+Charlotte Dean
+Charlotte Harding
+Chris Appelhans
+Chris Raschka
+Chris Soentpiet
+Christopher Denise
+Christopher Manson
+Christopher Myers
+Chris Van Allsburg
+Clara Elsene Peck
+Clare Turlay Newberry
+Clayton Knight
+Clement Hurd
+Clifford Beck
+Colleen Madden
+Corinne Malvern
+Corydon Bell
+Crockett Johnson
+Cyndy Szekeres
+Daniel Brustlein
+Dan Santat
+Dave Gantz
+Dave Keane
+David Biedrzycki
+David Catrow
+David Díaz
+David Macaulay
+David Shannon
+David Small
+David Wiesner
+David Wisniewski
+Dav Pilkey
+Denise Brunkus
+Denise Fleming
+Denys Cazet
+Diana Magnuson
+Diane Stanley
+Dirk Zimmer
+Donald Crews
+Donald Robertson
+Don Brown
+Don Freeman
+Don Tate
+Dorothy Grider
+Dorothy P. Lathrop
+Doug Cushman
+Dr. Seuss
+Dugald Stewart Walker
+Duncan Tonatiuh
+E. B. Bensell
+E. B. Lewis
+E. C. Stoner
+Ed Emberley
+Edgar Parin d'Aulaire
+Ed Young
+Eleanor Campbell
+Eleanore Barté
+Elenore Abbott
+Elizabeth Olds
+Elizabeth Orton Jones
+Elizabeth Shippen Green
+Eliza Wheeler
+Ellen Raskin
+Eloise Wilkin
+Emily Arnold McCully
+Emily Fiegenschuh
+Emily Winfield Martin
+Emma J. Virján
+Eric Rohmann
+Eric Shansby
+Erik P. Kraft
+Erin E. Stead
+Esther Averill
+Esther Brann
+Ethel Hays
+Eugene Yelchin
+Evaline Ness
+Ezra Jack Keats
+Fahmida Azim
+Fanny Cory
+Felicia Bond
+Feodor Stepanovich Rojankovsky
+Florence White Williams
+Frances Beem
+Francine Haskins
+Frank Tashlin
+Frederick Richardson
+Fritz Kredel
+Fritz Siebel
+Gahan Wilson
+Gail E. Haley
+Garth Williams
+Gene Barretta
+Geoffrey Hayes
+George and Doris Hauman
+Gerald Kelley
+Gerald McDermott
+Ginnie Hofmann
+Gisella Loeffler
+Glen Rounds
+Grace Paull
+Grant Snider
+Gris Grimly
+H. A. Rey
+Harold Berson
+Harry Bliss
+Helen Alden Knipe
+Helen Knipe Carpenter
+Helen Sewell
+Henry Cole
+Hilary Knight
+Hildegard Woodward
+Holly Keller
+Holly Meade
+Ida Waugh
+Ilse Plume
+Ingri and Edgar Parin d'Aulaire
+Innosanto Nagara
+Irene Lieblich
+Jackie Urbanovic
+Jack Kent
+Jacqueline Rogers
+James Daugherty
+James Horvath
+James Marshall
+James Ransome
+James Stevenson
+James Warhola
+Jan Berenstain
+Jan Brett
+Jane Aaron
+Jane Breskin Zalben
+Jane Dyer
+Janell Cannon
+Janina Domańska
+Jan Spivey Gilchrist
+Jason Chin
+Javaka Steptoe
+Jeanette Winter
+Jean Marzollo
+Jerome Lagarrigue
+Jerry Craft
+Jerry Pinkney
+Jessie Willcox Smith
+Jim Flora
+J. M. Condé
+Joan Holub
+John Alcorn
+John Parra
+John R. Neill
+John Robbins
+John Rocco
+John Schoenherr
+John Steptoe
+John Steven Gurney
+Jon J Muth
+Jon Klassen
+Joseph A. Smith
+Joseph Low
+J. Otto Seibold
+Joy Buba
+Judith Byron Schachner
+Judith Hunt
+Judith Inglese
+Julia Gran
+Kadir Nelson
+Karen Carr
+Karla Kuskin
+Karl Larsson
+Kate Seredy
+Katherine Milhous
+Kay Chorao
+Kaylani Juanita
+Keiko Kasza
+Kelly Murphy
+Kelly Oechsli
+Kevin Henkes
+Kinuko Y. Craft
+Kurt Werth
+Lane Smith
+Laura Freeman
+Laura Numeroff
+Laura Vaccaro Seeger
+Leo and Diane Dillon
+Leonard Everett Fisher
+Leonard Weisgard
+Leo Politi
+Leslie W. Bowman
+LeUyen Pham
+Lisa Brown
+Lois Ehlert
+Loren Long
+Lorin Morgan-Richards
+Loryn Brantz
+Louis Darling
+Louis Glanzman
+Louis Rhead
+Louis Slobodkin
+Lucy Fitch Perkins
+Ludwig Bemelmans
+Luther D. Bradley
+Lydia Louisa Anna Very
+Lynd Ward
+Lynne Avadenka
+Lynne Barasch
+Lynne Cherry
+Mabel Betsy Hill
+Maginel Wright Enright
+Maira Kalman
+Malcah Zeldis
+Manon Kahle
+Marc Brown
+Marcia Brown
+Marc Simont
+Margaret G. Hays
+Margot Austin
+Margot Tomes
+Margot Zemach
+Margret Rey
+Marie Hall Ets
+Marie Schubert
+Marjorie Priceman
+Marjorie Torrey
+Mark Buehner
+Mark Shasha
+Marla Frazee
+Martin Lemelman
+Mary Azarian
+Mary Blair
+Mary Jane Auch
+Mary R. Bassett
+Matthew Gray Gubler
+Matthew Reinhart
+Maud and Miska Petersham
+Maud Humphrey
+Maurice Sendak
+Maya Christina Gonzalez
+M. B. Goffstein
+Megan Lloyd
+Melissa Sweet
+Mercer Mayer
+Michaela Goade
+Michael Allen Austin
+Michael McCurdy
+Michael Paraskevas
+Mike Curato
+Mike Manley
+Mike Perry
+Mike Thaler
+Milo Winter
+Mischa Richter
+Molly Bang
+Molly Idle
+Molly Leach
+Monica Gesue
+Mordicai Gerstein
+Mo Willems
+Myrtle Sheldon
+Nancy Ekholm Burkert
+Nancy Elizabeth Wallace
+Natalie Babbitt
+Neecy Twinem
+Nicholas Mordvinoff
+Nicolas Sidjakov
+Nikki McClure
+Nikkolas Smith
+Noa Denmon
+Nonny Hogrogian
+Norman Bridwell
+Nura Woodson Ulreich
+Oge Mora
+Oskar Lebeck
+Patrice Barton
+Patricia Polacco
+Patrick O'Brien
+Paul Bransom
+Paul Galdone
+Paul Goble
+Paul O. Zelinsky
+Peggy Adler
+Peggy Rathmann
+Pete Oswald
+Peter Brown
+Peter Catalanotto
+Peter Newell
+Peter Parnall
+Peter Spier
+Peter Wells
+Petra Mathers
+Philip C. Stead
+Rachel Isadora
+Rachell Sumpter
+Rafael López
+Rainey Bennett
+Randy DuBurke
+Reginald Bathurst Birch
+Remy Charlip
+Reynold Ruffins
+R. Gregory Christie
+Ricardo Cortés
+Richard Cuffari
+Richard Egielski
+Richard Erdoes
+Richard Hefter
+Richard Staples Dodge
+Robert Byrd
+Robert Lawson
+Robert McCloskey
+Robert Sabuda
+Robert Waldo Brunelle Jr.
+Robert Weinstock
+Rob Gilbert
+Robin Preiss Glasser
+Roger Bollen
+Roger Duvoisin
+Ron Palillo
+Rosemary Wells
+Roy Doty
+Ruth Carroll
+Ruth Heller
+Ruth Rosekrans Hoffman
+Ruth Sanderson
+Sally J. Smith
+Salvatore Murdocca
+Sam Glanzman
+Sam Savitt
+Santiago Cohen
+Sarah McIntyre
+Sarah Stilwell Weber
+Scott Fischer
+Scott Gustafson
+SD Nelson
+S. D. Schindler
+Shane Evans
+Sheila Greenwald
+Simms Taback
+Sol Eytinge Jr.
+Stan Berenstain
+Steele Savage
+Stephen Gammell
+Steven Kellogg
+Stoo Hample
+Susan Guevara
+Susan Meddaugh
+Synthia Saint James
+Taro Yashima
+Tasha Tudor
+Ted CoConis
+Tedd Arnold
+Ted Lewin
+Thacher Hurd
+Thomas B. Allen
+Thomas Handforth
+Tibor Gergely
+Timothy B. Ering
+Tom Feelings
+Tomie dePaola
+Tony DiTerlizzi
+Tracy Dockray
+Trina Schart Hyman
+True Williams
+T. S. Sullivant
+Uri Shulevitz
+Vee Guthrie
+Ve Elizabeth Cadie
+Vera Williams
+Victo Ngai
+Victoria Jamieson
+Victor Juhasz
+Violet Moore Higgins
+Virginia Frances Sterrett
+Virginia Lee Burton
+Wallace Tripp
+Walter Francis Brown
+Walt McDougall
+Wanda Gág
+Wesley Dennis
+Wilfrid S. Bronson
+William Donahey
+William Joyce
+William Pène du Bois
+William Steig
+William Wallace Denslow
+Willie Ito
+Winifred Milius Lubell
+Wuanita Smith
+Yumi Heo
+Zina Saunders
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/argentine_illustrators.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/argentine_illustrators.txt
new file mode 100644
index 0000000000000000000000000000000000000000..529603540333450e8ad021f5c89a709b6b8c5d02
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/argentine_illustrators.txt
@@ -0,0 +1,2 @@
+Agi Lamm
+Isol
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/australian_illustrators.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/australian_illustrators.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b7664d8fdfbc88472254608d51640c534c861ca2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/australian_illustrators.txt
@@ -0,0 +1,37 @@
+Alison Lester
+Ann James
+Axel Poignant
+Bob Graham
+Deborah Niland
+Desmond Digby
+Elizabeth Honey
+Felice Arena
+Freya Blackwood
+Gabrielle Wang
+Gregory Rogers
+Harold Gaze
+Ida Rentoul Outhwaite
+Inga Moore
+Jane Tanner
+Jan Ormerod
+Jeannie Baker
+Jenny Hale
+Jeremy Geddes
+Judy Horacek
+Kaye Kessing
+Kerry Argent
+Kilmeny Niland
+Kim Gamble
+Leslie Gordon Chandler
+Margaret Horder
+Margaret Senior
+Narelle Oliver
+Pamela Lofts
+Patricia Mullins
+Peter Gouldthorpe
+Pixie O'Harris
+Robert Ingpen
+Shaun Tan
+Shirley Barber
+Sophie Blackall
+Tohby Riddle
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/austrian_illustrators.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/austrian_illustrators.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6e0390f527cbce4cd689f5701808ff82ee808db4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/austrian_illustrators.txt
@@ -0,0 +1,12 @@
+Andreas Untersberger
+Bettina Ehrlich
+Elizabeth Burger Monath
+Emil Weiss
+Erwin Moser
+Felicitas Kuhn
+Fritz Wegner
+Helmut Kollars
+Johann Schönberg
+Lisbeth Zwerger
+Robert Sedlacek
+Uriel Birnbaum
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/belgian_illustrators.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/belgian_illustrators.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c30d669526d9c2956fd84381b70cd2cb67f99777
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/belgian_illustrators.txt
@@ -0,0 +1,11 @@
+André Sollie
+Carll Cneut
+Gabrielle Vincent
+Gerda Dendooven
+Ingrid Godon
+Jan Bosschaert
+Jeanne Hebbelynck
+Kitty Crowther
+Koen Fossey
+Marcel Marlier
+Ray Goossens
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/brazilian_illustrators.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/brazilian_illustrators.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b83ba6ef4cf673e13e2b1086d9b6172bbbbd447a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/brazilian_illustrators.txt
@@ -0,0 +1,3 @@
+Elvira Vigna
+Eva Furnari
+Roger Mello
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/british_illustrators.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/british_illustrators.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1ca6f2a9a9528a7a94dbcd688bc78757e2d567b7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/british_illustrators.txt
@@ -0,0 +1,213 @@
+Agnes Clara Tatham
+Alan Marks
+Alfred Bestall
+Alfred Pearse
+Alice B. Woodward
+Andy Parker
+Angela Barrett
+Angie Sage
+Anita Jeram
+Anne Anderson
+Anne Grahame Johnstone
+Anthony Browne
+Anthony Lewis
+Archibald Webb
+Arthur Rackham
+Babette Cole
+Beatrix Potter
+Beryl Cook
+Bettina Ehrlich
+Brian Pilkington
+Brian Wildsmith
+Caroline Binch
+Catherine Rayner
+Cecil Mary Leslie
+Charles H. M. Kerr
+Charles Joseph Staniland
+Charles Mills Sheldon
+Charles Murray Padday
+Charles Robinson
+Charlotte Voake
+Chris Mould
+Chris Riddell
+Christian Birmingham
+Christine Roche
+Colin McNaughton
+Conrad Heighton Leigh
+C. Walter Hodges
+Dapo Adeola
+David Hughes
+David Macaulay
+David McKee
+David Roberts
+Dean & Son
+Debi Gliori
+Dee Shulman
+Denys Watkins-Pitchford
+Diane Goode
+Douglas Relf
+Edgar Alfred Holloway
+Edgar Giberne
+Edmund Evans
+Ed Vere
+Edward Ardizzone
+Edward Frank Gillett
+E. H. Shepard
+Eleanor Vere Boyle
+Elys Dolan
+Emily Gravett
+Emma Chichester Clark
+Emma Dodd
+Eric Hill
+Eric Winter
+Ernest Aris
+Ernest Prater
+Errol Le Cain
+Eve Garnett
+Florence Meyerheim
+Franciszka Themerson
+Frank C. Papé
+Fritz Wegner
+George Worsley Adamson
+Georgie Ripper
+Gerald Rose
+Gordon Browne
+Graham Howells
+Graham Oakley
+Guy Parker-Rees
+Hal Hurst
+Harold H. Piffard
+Harold Jones
+Harrison Weir
+Harry B. Neilson
+Harry Rountree
+Helen Binyon
+Helen Cooper
+Helen Oxenbury
+Helen Stratton
+Henry M. Paget
+Hilda Boswell
+Honor C. Appleton
+Horace William Petherick
+H. R. Millar
+Hugh Lofting
+Ionicus
+Ivy Wallace
+Jac Jones
+Jackie Morris
+Jacqui Hawkins
+Jago
+James Ayton Symington
+James Mayhew
+Jane Mary Dealy
+Jane Ray
+Janet Ahlberg
+Janet and Anne Grahame Johnstone
+Janet Grahame Johnstone
+Jan Pieńkowski
+Jean Adamson
+Jessica Ahlberg
+Jessie M. King
+Jim Kay
+Joan G. Robinson
+Joan Kiddell-Monroe
+Joanne Cole
+John Burningham
+John George Sowerby
+John Harris
+John Jellicoe
+John Kelly
+John Lawrence
+John Leigh-Pemberton
+John Reinhard Weguelin
+John Shelley
+John Strickland Goodall
+John Tenniel
+John Worsley
+Kate Greenaway
+Kate Pankhurst
+Kathleen Guthrie
+Kay Nixon
+Knife and Packer
+Korky Paul
+Lancelot Speed
+Lance Thackeray
+Lauren Beard
+Lauren Child
+Leslie Wood
+Liz Pichon
+Lynn Breeze
+Mabel Dearmer
+Magdalen Eldon
+Margaret Gordon
+Margaret Tarrant
+Margery Gill
+Mary Francis Ames
+Mary Shepard
+Mary Tourtel
+Maud Tindal Atkinson
+Melanie Walsh
+Michael Foreman
+Mike Perkins
+Mike Phillips
+Millicent Sowerby
+Mini Grey
+Molly Blake
+Molly Brett
+Monica Walker
+Morag Hood
+Neal Layton
+Nick Sharratt
+Oliver Jeffers
+Oscar Wilson
+Pat Hutchins
+Pauline Baynes
+Peggy Fortnum
+Penny Dann
+Peter Barrett
+Philip Reeve
+Phillida Gili
+Phyllis Chase
+Polly Dunbar
+Racey Helps
+Rebecca Cobb
+Rebecca Elgar
+Reginald Bathurst Birch
+Richard Caton Woodville Jr.
+Robert J. Kirkpatrick
+Robin Koontz
+Robin Lawrie
+Rodney Peppé
+Rosa C. Petherick
+Rosalie K. Fry
+Sally Gardner
+Sara Fanelli
+Sarah Gibb
+Sarah McIntyre
+Savile Lumley
+Sidney Paget
+Solomon Joseph Solomon
+Stanley Herbert
+Stanley L. Wood
+Stephen Biesty
+Sue Heap
+Susan Varley
+Sydney Prior Hall
+Thomas Crane
+Thomas Henry
+Thomas Taylor
+Tony Ross
+Trekkie Parsons
+V. H. Drummond
+Victor Ambrus
+Walter Ernest Webster
+Walter Paget
+Warwick Hutton
+Watson Charlton
+Wendy Meddour
+Will G. Mein
+William Barnes Wollen
+William Grill
+William Heysham Overend
+William Rainey
+William Stobbs
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/bulgarian_illustrators.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/bulgarian_illustrators.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d530e35a46a6865c3515f222e55be547c45a7f64
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/bulgarian_illustrators.txt
@@ -0,0 +1,2 @@
+Iassen Ghiuselev
+Todor Dinov
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/canadian_illustrators.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/canadian_illustrators.txt
new file mode 100644
index 0000000000000000000000000000000000000000..917e3daeb6b365ee7d0ae1c13dd3e9b03eb9bc2c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/canadian_illustrators.txt
@@ -0,0 +1,63 @@
+Alice Priestley
+Allen Sapp
+Ange Zhang
+Ann Blades
+Anne DeGrace
+Bonnie Shemie
+Brenda Clark
+Cécile Gagnon
+Charles van Sandwyk
+Christine Roche
+Danielle Simard
+Dayal Kaur Khalsa
+Douglas Tait
+Elise Gravel
+Elizabeth Cleaver
+F. C. Gordon
+Gary Clement
+Gina Calleja
+Ginette Anfousse
+Guillaume Perreault
+Heather Collins
+Hélène Desputeaux
+Ian Wallace
+Irene Luxbacher
+Janet Perlman
+Jan Thornhill
+Jillian Tamaki
+Joanne Fitzgerald
+Jon Klassen
+Julie Rocheleau
+Kady MacDonald Denton
+Kim LaFave
+Laura Fernandez
+Leanne Franson
+Leo Yerxa
+Ludmila Zeman
+Margaret Bloy Graham
+Marie-Louise Gay
+Michael Martchenko
+Muriel Wood
+Oleg Lipchenko
+Pam Hall
+Patrick Jenkins
+Philippe Béha
+Richard Jacobson
+Robert Lougheed
+Rob Gonsalves
+Rudolf Stussi
+Ruth Heller
+Scot Ritchie
+Sheldon Cohen
+Stéphane Jorisch
+Stéphane Poulin
+Suzanne Duranceau
+Sydney Smith
+Thao Lam
+The Fan Brothers
+Torill Kove
+Trisha Romance
+Tyler Clark Burke
+Wallace Edwards
+Willow Dawson
+Yayo
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/chinese_illustrators.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/chinese_illustrators.txt
new file mode 100644
index 0000000000000000000000000000000000000000..00a9520b926f5c8cf6a0625210300c16cc2b2283
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/chinese_illustrators.txt
@@ -0,0 +1,8 @@
+Dawu Yu
+Ed Young (illustrator)
+Feng Zikai
+He Zhihong
+Song Nan Zhang
+Xiong Liang
+Yu Rong
+Zhu Chengliang
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/colombian_illustrators.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/colombian_illustrators.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9d296f3500eaf16356a0cdee4a4055e6ddbdc156
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/colombian_illustrators.txt
@@ -0,0 +1 @@
+Claudia Rueda
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/czech_illustrators.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/czech_illustrators.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f9f4cc71f5862d7d8e8454767ee3f9fa2e73d111
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/czech_illustrators.txt
@@ -0,0 +1,10 @@
+Adolf Born
+Dagmar Berková
+Emil Weiss
+Helena Zmatlíková
+Jan Kubíček
+Květa Pacovská
+Ludmila Zeman
+Ondřej Sekora
+Štěpán Zavřel
+Vhrsti
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/danish_illustrators.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/danish_illustrators.txt
new file mode 100644
index 0000000000000000000000000000000000000000..bd3bc2a2a9d57e06e3799319e2d573f8e72396fe
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/danish_illustrators.txt
@@ -0,0 +1,10 @@
+Bolatta Silis-Høegh
+Christel Marott
+Ib Spang Olsen
+Ingrid Vang Nyman
+Irene Hedlund
+Kay Nielsen
+Lilian Brøgger
+Louis Moe
+Ole Lund Kirkegaard
+Vilhelm Pedersen
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/dutch_illustrators.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/dutch_illustrators.txt
new file mode 100644
index 0000000000000000000000000000000000000000..626eba7d7a2e8dfc8143f34e13a56da3e3887cab
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/dutch_illustrators.txt
@@ -0,0 +1,36 @@
+Annemarie van Haeringen
+Annet Schaap
+Anton Pieck
+Carol Voges
+Daan Remmerts de Vries
+Dick Bruna
+Fiel van der Veen
+Fiep Westendorp
+Fleur van der Weel
+Flor Silvester
+Geerten Ten Bosch
+Harmen van Straaten
+Harmsen van der Beek
+Harriët van Reek
+Henrieke Goorhuis
+Henriette Willebeek le Mair
+Jaap Lamberton
+Jan Jutte
+Jan Kruis
+Jenny Dalenoord
+Jet Boeke
+Joke van Leeuwen
+Judith Ten Bosch
+Mance Post
+Margriet Heymans
+Marije Tolman
+Marjolein Bastin
+Martijn van der Linden
+Max Velthuijs
+Nans van Leeuwen
+Phiny Dick
+Rie Cramer
+Sijtje Aafjes
+Sylvia Weve
+Thé Tjong-Khing
+Tonke Dragt
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/egyptian_ilustrators.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/egyptian_ilustrators.txt
new file mode 100644
index 0000000000000000000000000000000000000000..88f31ae1431e101609e1f4fa598ed3b8e5a5ea55
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/egyptian_ilustrators.txt
@@ -0,0 +1 @@
+Bahgat Osman
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/irish_illustrators.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/irish_illustrators.txt
new file mode 100644
index 0000000000000000000000000000000000000000..463ad4abd38ba493544dcb4d6f8faf72609f7b4b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/childrens_books/irish_illustrators.txt
@@ -0,0 +1,7 @@
+Elizabeth Shaw
+Jon Berkeley
+Marie-Louise Fitzpatrick
+Mary Arrigan
+Oliver Jeffers
+P. J. Lynch
+Sinéad Ní Uallacháin
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/manga.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/manga.txt
new file mode 100644
index 0000000000000000000000000000000000000000..71c269130de5546fae9aae03c8c2c9f6bf2b82cf
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/illustrations/manga.txt
@@ -0,0 +1,99 @@
+Ai Morinaga
+Ai Yazawa
+Akimi Yoshida
+Akira Toriyama
+Bunjūrō Nakayama
+Chako Abeno
+Chie Shinohara
+Chiho Saito
+Eiki Eiki
+Ema Tōyama
+Fujihiko Hosono
+Fujiko Fujio
+Fumi Yoshinaga
+Go Nagai
+Gosho Aoyama
+Hakase Mizuki
+Hidefumi Kimura
+Hideo Azuma
+Hideyuki Kurata
+Hiro Mashima
+Hiromu Arakawa
+Hiroyuki Sawano
+Hiroyuki Takei
+Hisaichi Ishii
+Ichirō Sakaki
+Ikki Kajiwara
+Inio Asano
+Jiro Kuwata
+Jiro Taniguchi
+Kaiji Kawaguchi
+Kaori Yuki
+Kaoru Shintani
+Katsuhiro Otomo
+Kazuhiko Shimamoto
+Kazumasa Hirai
+Kazuo Koike
+Kei Sanbe
+Keiko Takemiya
+Ken Akamatsu
+Ken Ishikawa
+Kia Asamiya
+Kiyohiko Azuma
+Kōichi Tokita
+Kōji Kumeta
+Kōsuke Fujishima
+Leiji Matsumoto
+Masakazu Katsura
+Masami Kurumada
+Masami Yuki
+Masamune Shirow
+Mayu Shinjo
+Mikiyo Tsuda
+Mitsukazu Mihara
+Mitsuru Adachi
+Mitsuru Hattori
+Mitsuteru Yokoyama
+Moto Hagio
+Nanae Chrono
+Naoki Urasawa
+Natsuki Takaya
+Natsumi Itsuki
+Nisio Isin
+Nobuhiro Watsuki
+Nobuyuki Fukumoto
+Oh! great
+Oji Hiroi
+Osamu Tezuka
+Peach-Pit
+Riyoko Ikeda
+Rumiko Takahashi
+Ryoichi Ikegami
+Ryukishi
+Ryōji Minagawa
+Satoru Akahori
+Setona Mizushiro
+Shigeru Mizuki
+Shin Kibayashi
+Shotaro Ishinomori
+Shunji Enomoto
+Shūzō Oshimi
+Suehiro Maruo
+Taiyō Matsumoto
+Takao Saito
+Takehiko Inoue
+Takeshi Obata
+Tamayo Akiyama
+Tatsuya Egawa
+Tooru Fujisawa
+Tsukasa Hojo
+Tsutomu Nihei
+Yoshihiro Tatsumi
+Yoshihiro Togashi
+Yoshiyuki Okamura
+You Higuri
+Yukari Higa
+Yukiru Sugisaki
+Yun Kōga
+Yuu Watase
+Yū Koyama
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/abstract.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/abstract.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f8366010801ddcb1ea561d52d5ad404d51c10c65
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/abstract.txt
@@ -0,0 +1,13 @@
+# Originally sourced from https://aiartcreation.fandom.com/wiki/Collection:_Abstract
+Albert Gleizes
+Alexander Calder
+Asger Jorn
+Bob Orsillo
+Clyfford Still
+Gerhard Richter
+Jackson Pollock
+Jim Harris
+Kandinsky
+Kazimir Malevich
+Mikalojus Konstantinas Čiurlionis
+Tavar Zawacki
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/alternative.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/alternative.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6bc4a751a9c4c982d78dbdfb43398e2261e939dd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/alternative.txt
@@ -0,0 +1,10 @@
+# Originally sourced from https://aiartcreation.fandom.com/wiki/Collection:_Alternative_Mediums
+Alexander Calder
+Anselm Kiefer
+Dale Chihuly
+Jean Tinguely
+Lotte Reiniger
+Louis Comfort Tiffany
+Mihoko Ogaki
+Ruth Asawa
+William Morris
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/architecture.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/architecture.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a7b71959bcb30459ece374d785c6716054d1a96e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/architecture.txt
@@ -0,0 +1,16 @@
+# Originally sourced from https://aiartcreation.fandom.com/wiki/Collection:_Architecture
+Ai Weiwei
+Anthony Million
+Canaletto
+Edwin Deakin
+Ferdinand Knab
+François Schuiten
+Friedensreich Hundertwasser
+Giles Gilbert Scott
+Giovanni Paulo Panini
+Guido Borelli
+Hugh Ferriss
+I. M. Pei
+Jim Buckels
+Le Corbusier
+Mark Fearnley
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/cartoonists.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/cartoonists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f571c690f96b71f22da237dbc5c932a081992681
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/cartoonists.txt
@@ -0,0 +1,45 @@
+# Originally sourced from https://aiartcreation.fandom.com/wiki/Collection:_Cartoonists
+Alex Hirsch
+Alex Toth
+Bill Peet
+Bill Watterson
+Charles Addams
+Charles Schulz
+Dav Pilkey
+David Revoy
+Don Bluth
+Doug TenNapel
+Gary Panter
+Herge
+Honoré Daumier
+J. G. Quintel
+Jamie Hewlett
+Jim Davis
+Josh Bayer
+Katsuhiro Otomo
+Lotte Reiniger
+Louis Glackens
+Mad Magazine
+Makoto Shinkai
+Matt Groening
+Mitsuru Adachi
+Naoko Takeuchi
+Nick Park
+Osamu Tezuka
+Quentin Blake
+Ralph Bakshi
+Rebecca Sugar
+Richard Williams
+Rose O’Neill
+Roz Chast
+Rube Goldberg
+Scott McCloud
+Sergio Aragones
+Seth MacFarlane
+Spike Milligan
+Tex Avery
+TheOdd1sOut
+Thomas Nast
+Tomer Hanuka
+Walt Disney
+Winsor McCay
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/childrensbooks.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/childrensbooks.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f11f13bffe564614036ac461d7e3632dbab57d14
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/childrensbooks.txt
@@ -0,0 +1,34 @@
+# Originally sourced from https://aiartcreation.fandom.com/wiki/Collection:_Children%27s_Books
+Alexander Jansson
+Anne Yvonne Gilbert
+Arthur Rackham
+Beatrix Potter
+Bill Peet
+Charles Schulz
+Chris Van Allsburg
+Clement Hurd
+Dav Pilkey
+Edward Ardizzone
+E. H. Shepard
+Eleanor Vere Boyle
+Emilia Dziubak
+Eric Carle
+Ernest Howard Shepard
+Floyd Cooper
+Herge
+Howard Pyle
+Ida Rentoul Outhwaite
+Jim Harris
+John Kenn Mortensen
+Julia Donaldson
+Lisa Frank
+Mark Crilley
+Maurice Sendak
+Oliver Jeffers
+Quentin Blake
+Richard Scarry
+Stan and Jan Berenstain
+Stephen Gammell
+Tim Jacobus
+Walter Crane
+William Steig
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/colourful.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/colourful.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a38ee0ea1730bc47157d09065a5041a0964e7e19
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/colourful.txt
@@ -0,0 +1,73 @@
+# originally sourced from https://aiartcreation.fandom.com/wiki/Collection:_Colorful
+Adrian Cox
+Alex Horley Orlandelli
+Ali Nemah o Neema
+Amanda Sage
+Andre Masson
+Andy Warhol
+Anna and Elena Balbusso
+Bob Eggleton
+Charley Harper
+Clement Hurd
+Dale Chihuly
+Dan Mumford
+Eric Carle
+Esao Andrews
+Franz Marc
+Friedensreich Hundertwasser
+Georgia O'Keeffe
+Georgy Kurasov
+Gustavo Silva Nuñez
+Henri Matisse
+Henri Rousseau
+Herge
+Jackson Pollock
+Jacob Lawrence
+James Christensen
+James Gurney
+Jeff Lee Johnson
+Jim Buckels
+Jim Burns
+Jim Harris
+Jim Murray
+John Register
+John Stephens
+Jonathan Green
+Josephine Wall
+Joyce Ballantyne Brand
+Juan Gris
+Kamal Rao
+Kandinsky
+Kaori Someya
+Katharina Grosse
+Kerem Beyit
+Kusama
+Lisa Frank
+Loish
+Louis Comfort Tiffany
+Mad Magazine
+Marianne North
+Mark Crilley
+Mark Ryden
+Martine Johanna
+Matt Groening
+Michael Cheval
+Michael Whelan
+Mike Davis
+Moebius
+Natalia Rak
+NEVERCREW
+Nicola Scott
+Noah Bradley
+P. Craig Russell
+Phil Epp
+Picasso
+Quentin Blake
+Takashi Murakami
+Tenhundred
+Tim Mcdonagh
+Tim White
+Tom Everhart
+Wil Cormier
+Yoshitaka Amano
+Yuko Shimizu
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/comicbooks.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/comicbooks.txt
new file mode 100644
index 0000000000000000000000000000000000000000..824112eaff3887e00600818662a79e2df9992818
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/comicbooks.txt
@@ -0,0 +1,42 @@
+# originally sourced from https://aiartcreation.fandom.com/wiki/Collection:_Comic_Books
+Aleksi Briclot
+Alex Horley Orlandelli
+Alex Ross
+Alex Toth
+Artgerm
+Bernie Wrightson
+Bill Sienkiewicz
+Bob Eggleton
+CAFU
+Dave McKean
+Doug TenNapel
+Fiona Staples
+François Schuiten
+Fumi Yoshinaga
+Geof Darrow
+Herge
+Jack Kirby
+Jeffrey Smith
+Jim Davis
+Josh Bayer
+Juan Giménez
+Junji Ito
+Kaja Foglio
+Kengo Hanazawa
+Mad Magazine
+Michael Kaluta
+Mitsuru Adachi
+Moebius
+Neil Gaiman
+Nicola Scott
+Osamu Tezuka
+OsamuTezuka
+P. Craig Russell
+Phillipe Druillet
+Riccardo Federici
+Simon Bisley
+Steve Dillon
+Steve Ditko
+Wally Wood
+Walt Simonson
+Will Eisner
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/digitalart.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/digitalart.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e1caab790cb2ecb67088f316af8fb41d54dff8e5
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/digitalart.txt
@@ -0,0 +1,21 @@
+# Originally sourced from https://aiartcreation.fandom.com/wiki/Collection:_Digital_Art
+Alexander Jansson
+Anato Finnstark
+Anna Dittmann
+Antoine Collignon
+Aykut Aydogdu
+Bastien Lecouffe Deharme
+Brian Despain
+Charles Csuri
+Christian Schloe
+Dan Mumford
+David Revoy
+Juhani Jokinen
+Kerem Beyit
+Loish
+Marc Simonetti
+Michael Vincent Manalo
+Peter Mohrbacher
+Ross Tran
+Shigeru Miyamoto
+TheOdd1sOut
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/fantasy_scifi.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/fantasy_scifi.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b44a402a4c8f325fc8e60f87908d141000cb6969
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/fantasy_scifi.txt
@@ -0,0 +1,78 @@
+# Originally sourced from https://aiartcreation.fandom.com/wiki/Collection:_Fantasy_/_Sci-Fi
+Alan Lee
+Aleksi Briclot
+Alex Horley Orlandelli
+Anato Finnstark
+Anne Stokes
+Anne Yvonne Gilbert
+Antoine Collignon
+Barclay Shaw
+Bastien Lecouffe Deharme
+Bob Eggleton
+Boris Vallejo
+Brian Despain
+Brian Froud
+Chris Foss
+Dan Mumford
+Dariusz Zawadzki
+David A. Hardy
+David Mattingly
+David Revoy
+Drew Struzan
+Edmund Dulac
+Frank Frazetta
+Georges Méliès
+Gerald Brom
+Greg Rutkowski
+Gustave Dore
+H. R. Giger
+Ida Rentoul Outhwaite
+Igor Kieryluk
+Ivan Bilibin
+J.R.R. Tolkien
+James Christensen
+James Gurney
+Jan Urschel
+Jeff Lee Johnson
+Jim Burns
+Jim Murray
+Johannes Voss
+John Harris
+John Stephens
+Jon Foster
+Josephine Wall
+Juan Giménez
+Juhani Jokinen
+Kaja Foglio
+Kelly Freas
+Kerem Beyit
+Marc Simonetti
+Michael C. Hayes
+Michael Parkes
+Michael Whelan
+Noah Bradley
+Peter Mohrbacher
+Phillipe Druillet
+Ralph McQuarrie
+Rodney Matthews
+Simon Stålenhag
+Ray Harryhausen
+Raymond Swanland
+Rebecca Guay
+Rob Gonsalves
+Roger Dean
+Ron Spears
+Ron Spencer
+Scott M. Fischer
+Stephan Martiniere
+Syd Mead
+Tim Hildebrandt
+Tim Mcdonagh
+Tim White
+Todd Lockwood
+Vladimir Gvozdariki
+Wil Cormier
+Winona Nelson
+Wojciech Siudmak
+Yoshitaka Amano
+Zack Stella
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/figurative.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/figurative.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2c8831e2e0a681b170191c667aee9f826a171cce
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/figurative.txt
@@ -0,0 +1,108 @@
+# Originally sourced from https://aiartcreation.fandom.com/wiki/Collection:_Portraiture/Figurative
+Alan Lee
+Albert Dorne
+Alberto Vargas
+Alex Ross
+Ali Nemah o Neema
+Alphonse Mucha
+Amanda Sage
+Andrea Kowch
+Andrew Wyeth
+Anna and Elena Balbusso
+Anna Dittmann
+Anna Marinova
+Anne Stokes
+Anne Yvonne Gilbert
+Archibald Motley Jr.
+Arnold Friberg
+Artemisia Gentileschi
+Artgerm
+Auguste Renoir
+Aykut Aydogdu
+Bastien Lecouffe Deharme
+Bill Sienkiewicz
+Boris Vallejo
+Brent Lynch
+Bruce Wolfe
+C215
+Caravaggio
+Carl Heinrich Bloch
+Charles Edward Chambers
+Christian Schloe
+Dan Witz
+David Revoy
+Derek Gores
+Diego Velázquez
+Drew Struzan
+Egon Schiele
+Eurika Urbonaviciute
+Floyd Cooper
+Fra Angelico
+Francisco de Goya
+Frank Frazetta
+Frida Kahlo
+Georgy Kurasov
+Gerald Brom
+Giuseppe Arcimboldo
+Grant Wood
+Greg Olsen
+Greg Rutkowski
+Gustav Klimt
+Gustavo Silva Nuñez
+Hannah Hoch
+Hans Holbein the younger
+Henry Fuseli
+Honoré Daumier
+Howard Chandler Christy
+Jacques-Louis David
+James Elliott Bama
+Jan Van Eyck
+Jan Vermeer
+Jeff Lee Johnson
+John Butler Yeats
+Jon Foster
+Josephine Wall
+Joyce Ballantyne Brand
+Józef Mehoffer
+Julie Heffernan
+Kaja Foglio
+Kamal Rao
+Käthe Kollwitz
+Kengo Hanazawa
+Kerem Beyit
+Lawrence Alma-Tadema
+Leonardo da Vinci
+Loish
+Maarten van Heemskerck
+Mad Magazine
+Margaret Keane
+Mark Arian
+Mark Crilley
+Mark Ryden
+Mark Spain
+Martine Johanna
+Matt Groening
+Michael C. Hayes
+Michael Parkes
+Michelangelo
+Mort Künstler
+Natalia Rak
+Nicola Scott
+Norman Rockwell
+Odd Nerdrum
+Peter Lindbergh
+Philip Pearlstein
+Pino Daeni
+Poen de Wijs
+Raphael
+Richard Westmacott
+Rolf Armstrong
+Ross Tran
+Sam Spratt
+Sandra Kuck
+Sandro Botticelli
+Simon Dewey
+Stephen Mackey
+Titian
+Vladimir Tretchikoff
+Wang Niandong
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/graffiti.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/graffiti.txt
new file mode 100644
index 0000000000000000000000000000000000000000..651e22430df112e3c8c78de0d4a811bcbf8dc008
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/graffiti.txt
@@ -0,0 +1,9 @@
+# Originally sourced from https://aiartcreation.fandom.com/wiki/Collection:_Graffiti
+Banksy
+C215
+David Choe
+ETAM Cru
+Jean-Michel Basquiat
+Natalia Rak
+NEVERCREW
+Tenhundred
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/graphic.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/graphic.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6e53cc233b38e9a4409ed1488f1a920d33bf8a6d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/graphic.txt
@@ -0,0 +1,34 @@
+# Originally sourced from https://aiartcreation.fandom.com/wiki/Collection:_Graphic_(Line,_Pattern,_Color)
+A.B. Frost
+Aaron Douglas
+Albert Dorne
+Alphonse Mucha
+Andy Warhol
+Anne Yvonne Gilbert
+Aubrey Beardsley
+Banksy
+C215
+Charley Harper
+Dan Mumford
+Dave McKean
+Egon Schiele
+Emory Douglas
+ETAM Cru
+Frank Miller
+Gorillaz
+H. R. Giger
+Jean-Michel Basquiat
+Jeffrey Smith
+Josh Bayer
+Käthe Kollwitz
+Le Gun
+Mark Fearnley
+Natalia Rak
+Neil Gaiman
+Rick Griffin
+Saul Bass
+Shepard Fairey
+Takashi Murakami
+Tim Mcdonagh
+Tom Everhart
+Victor Moscoso
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/h.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/h.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3c905eea207a7e4e334c3a9976409751e35f55f0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/h.txt
@@ -0,0 +1,6 @@
+Johannes Warnardus,Bilders
+Barend Cornelis,Koekkoek
+Andreas,Schelfhout
+Hendrik,Van de Sande Bakhuysen
+Bartholomeus,Van Hove
+Hubertus,Van Hove
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/hyperreaslism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/hyperreaslism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4bf9eca7bc08df2fe9db034442fcc3cc33054ead
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/hyperreaslism.txt
@@ -0,0 +1,29 @@
+# Originally sourced from https://aiartcreation.fandom.com/wiki/Collection:_(Hyper)_Realism
+Andrea Kowch
+Andrew Wyeth
+Anna Marinova
+Dan Witz
+Duane Hanson
+Édouard Manet
+Edward Hopper
+Everett Shinn
+George Ault
+Gustavo Silva Nuñez
+Ilya Repin
+Ivan Shishkin
+James Elliott Bama
+James Gurney
+John Register
+Kamal Rao
+Lucien Rudaux
+Mark Arian
+Michael C. Hayes
+Mort Künstler
+Norman Rockwell
+Philip Pearlstein
+Poen de Wijs
+Rob Gonsalves
+Ron Mueck
+Thomas Hart Benton
+Thomas Kinkade
+William Glackens
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/illustrators.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/illustrators.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0416b3f99508d56f295e6bb4c9f94c730661b4d6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/illustrators.txt
@@ -0,0 +1,117 @@
+# Originally sourced from https://aiartcreation.fandom.com/wiki/Collection:_Illustrators
+Alan Lee
+Albert Dorne
+Alberto Vargas
+Aleksi Briclot
+Alex Horley Orlandelli
+Alexander Jansson
+Alphonse Mucha
+Anato Finnstark
+Anna and Elena Balbusso
+Anna Dittmann
+Anne Yvonne Gilbert
+Arnold Friberg
+Artgerm
+Arthur Rackham
+Aubrey Beardsley
+Bastien Lecouffe Deharme
+Beatrix Potter
+Bill Watterson
+Brian Froud
+Charles Edward Chambers
+Charley Harper
+Chris Van Allsburg
+Clement Hurd
+Daniel Merriam
+Daniel Minter
+Dave McKean
+David Choe
+David Mattingly
+Drew Struzan
+E. H. Shepard
+Edmund Dulac
+Edward Ardizzone
+Eleanor Vere Boyle
+Emilia Dziubak
+Emory Douglas
+Eric Carle
+Ernest Howard Shepard
+Ernst Haeckel
+Everett Shinn
+Fiona Staples
+Floyd Cooper
+Frank Frazetta
+Franklin Booth
+Fumi Yoshinaga
+Gary Panter
+Geof Darrow
+Gorillaz
+Gustave Dore
+Henri Rousseau
+Herge
+Hokusai
+Howard Pyle
+Igor Kieryluk
+Ivan Bilibin
+J.R.R. Tolkien
+James Gurney
+Jeff Lee Johnson
+Jim Burns
+Jim Davis
+Jim Harris
+Jim Murray
+Johannes Voss
+John Kenn Mortensen
+Jon Foster
+Josephine Wall
+Kate Greenaway
+Kay Nielsen
+Kerem Beyit
+Lisa Frank
+Loish
+Mad Magazine
+Marc Simonetti
+Maria Sibylla Merian
+Mark Crilley
+Mark Ryden
+Mary Hallock Foote
+Maurice Sendak
+Maxfield Parrish
+Michael Whelan
+Mort Künstler
+Natalia Rak
+Norman Rockwell
+P. Craig Russell
+Peter Mohrbacher
+Phillipe Druillet
+Pino Daeni
+Quentin Blake
+Rafal Olbinski
+Raymond Swanland
+Rebecca Guay
+Rob Jefferson
+Rockwell Kent
+Rodney Matthews
+Roger Dean
+Rolf Armstrong
+Ron Spears
+Ron Spencer
+Rose O’Neill
+Sam Spratt
+Santiago Caruso
+Scott M. Fischer
+Stephen Gammell
+Sydney Prior Hall
+Tadahiro Uesugi
+Tim Jacobus
+Tim Mcdonagh
+Todd Lockwood
+Tomer Hanuka
+Victo Ngai
+Walter Crane
+Wendell Minor
+William Blake
+Winona Nelson
+Yoshitaka Amano
+Yuko Shimizu
+Zack Stella
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/landscapes.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/landscapes.txt
new file mode 100644
index 0000000000000000000000000000000000000000..06098949e878d27b329cda0b94c840be19f924ec
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/landscapes.txt
@@ -0,0 +1,45 @@
+# Originally sourced from https://aiartcreation.fandom.com/wiki/Collection:_Landscapes
+Agnes Lawrence Pelton
+Albert Bierstadt
+Alfred Jacob Miller
+Andrew Wyeth
+Anthony Million
+Bob Ross
+Bruegel the Elder
+Caspar David Friedrich
+Claude Lorrain
+Claude Monet
+Edwin Deakin
+Emily Carr
+Ferdinand Knab
+George Inness
+Georgia O'Keeffe
+Giovanni Paulo Panini
+Hokusai
+Ivan Aivazovsky
+Ivan Shishkin
+J.R.R. Tolkien
+Jacques-Laurent Agasse
+Jakub Schikaneder
+Jim Buckels
+Joachim Patinir
+John Constable
+Juhani Jokinen
+Lucien Rudaux
+Marc Simonetti
+Marianne North
+Martin Johnson Heade
+Max Ernst
+Max Liebermann
+Noah Bradley
+Peter Doig
+Phil Epp
+Philipp Otto Runge
+Pieter Bruegel the Elder
+Rockwell Kent
+Roger Brown
+Roger Dean
+Simon Bening
+Terry Redlin
+Thomas Cole
+William Turner
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/mixedmedia.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/mixedmedia.txt
new file mode 100644
index 0000000000000000000000000000000000000000..685247e192e5305e41025bdad82b50f86ab07eb9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/mixedmedia.txt
@@ -0,0 +1,18 @@
+# Originally sourced from https://aiartcreation.fandom.com/wiki/Collection:_Collage/Mixed_Media
+Alexander Jansson
+Anselm Kiefer
+Bill Sienkiewicz
+Daniel Minter
+Dave McKean
+Derek Gores
+Eric Carle
+Floyd Cooper
+Georges Braque
+Giuseppe Arcimboldo
+Hannah Hoch
+Joseph Cornell
+Kara Walker
+Max Ernst
+Michael Vincent Manalo
+Otto Dix
+Toshiyuki Enoki
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/modern_greek.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/modern_greek.txt
new file mode 100644
index 0000000000000000000000000000000000000000..35c50bdd8dc7346c512380570bae8c8dd55f1a10
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/modern_greek.txt
@@ -0,0 +1,23 @@
+Constantine Andreou
+Thodoros Papadimitriou
+Giorgio de Chirico
+Jannis Kounellis
+Electros Vekris
+Theodoros Stamos
+{Panayiotis Vassilakis|Takis}
+Chryssa Vardea-Mavromichali
+Constantin Xenakis
+Hermon di Giovanno
+Panayiotis Varotsos
+Dimitris Mytaras
+Spyros Vassiliou
+Alekos Fassianos
+Theocharis Mores
+Dimitris Koukos
+Nikos Stratakis
+Steven Antonakos
+Kostas Tsoklis
+Nikos Hadjikyriakos-Ghikas
+Thanassis Stephopoulos
+Aggelika Korovessi
+Yiannis Melanitis
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/modern_pop.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/modern_pop.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7328c657dd74261340750323969f05d854400b6c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/modern_pop.txt
@@ -0,0 +1,57 @@
+# Originally sourced from https://aiartcreation.fandom.com/wiki/Collection:_Modern_Art/Pop_Art
+Aaron Douglas
+Agnes Lawrence Pelton
+Ai Weiwei
+Albert Gleizes
+Ali Nemah o Neema
+Andre Masson
+Andy Warhol
+Anselm Kiefer
+Archibald Motley Jr.
+Asger Jorn
+Brent Lynch
+Charles Csuri
+Charley Harper
+Constantin Brâncuși
+Diego Rivera
+Édouard Manet
+Edvard Munch
+Edward Hopper
+Egon Schiele
+El Anatsui
+Emil Nolde
+Emily Carr
+Franz Marc
+Franz Sedlacek
+Frida Kahlo
+Friedensreich Hundertwasser
+Georges Braque
+Georgia O'Keeffe
+Gerhard Richter
+Gorillaz
+Grant Wood
+Gustav Klimt
+Hannah Hoch
+Henri Matisse
+Jackson Pollock
+Jacob Lawrence
+James Ensor
+Jean-Michel Basquiat
+Jonathan Green
+Joseph Cornell
+Juan Gris
+Kandinsky
+Katharina Grosse
+Leonid Afremov
+Lisa Frank
+Mark Ryden
+Max Ernst
+Otto Dix
+Peter Doig
+Picasso
+Pierre Bonnard
+Roy Lichtenstein
+Takashi Murakami
+Tom Everhart
+Wifredo Lam
+William Glackens
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/pen_ink.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/pen_ink.txt
new file mode 100644
index 0000000000000000000000000000000000000000..cb30f0f0567186b0473848c4430c5434607f4744
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/pen_ink.txt
@@ -0,0 +1,42 @@
+# Originally sourced from https://aiartcreation.fandom.com/wiki/Collection:_Pen_and_Ink/Prints
+A.B. Frost
+Aaron Douglas
+Albert Dorne
+Albrecht Dürer
+Alex Toth
+Arthur Rackham
+Aubrey Beardsley
+Bernie Wrightson
+Bruegel the Elder
+CAFU
+Charles Schulz
+Edward Ardizzone
+Ernest Howard Shepard
+Fiona Staples
+Frank Miller
+Franklin Booth
+Geof Darrow
+Gustave Dore
+Honoré Daumier
+Hokusai
+John Kenn Mortensen
+Jonathan Green
+Josh Bayer
+Junji Ito
+Kara Walker
+Käthe Kollwitz
+Katsushika Ōi
+Kengo Hanazawa
+Laurie Lipton
+Le Gun
+Leonardo da Vinci
+Louis Maurer
+M. C. Escher
+Mary Hallock Foote
+Neil Gaiman
+Osamu Tezuka
+Otto Dix
+Rembrandt
+Rube Goldberg
+Stuart Patience
+William Blake
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/photography.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/photography.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b6cd314dd36da1337fe8503641072d65607e3e26
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/photography.txt
@@ -0,0 +1,20 @@
+# Originally sourced from https://aiartcreation.fandom.com/wiki/Collection:_Photography
+Anthony Million
+Bob Orsillo
+Dan Witz
+David Fincher
+Denis Villeneuve
+Dmitriy Yoav Reinshtein
+Georges Méliès
+Gregory Crewdson
+Jeff Wall
+Mark Fearnley
+Nick Park
+Peter Lindbergh
+Ray Harryhausen
+Robert Capa
+Roger Ballen
+Sally Mann
+Tim Burton
+Wes Anderson
+Wim Wenders
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/plants_animals.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/plants_animals.txt
new file mode 100644
index 0000000000000000000000000000000000000000..79b2c14b5b61548adeb7ccb5b7172fc9dd1bfd6f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/plants_animals.txt
@@ -0,0 +1,22 @@
+# Originally sourced from https://aiartcreation.fandom.com/wiki/Collection:_Plants_and_Animals
+Archibald Thorburn
+Beatrix Potter
+Charley Harper
+Courtney Mattison
+Dmitriy Yoav Reinshtein
+Emil Nolde
+Eric Carle
+Ernst Haeckel
+Franz Marc
+Georgia O'Keeffe
+Giuseppe Arcimboldo
+Henri Rousseau
+Jacques-Laurent Agasse
+James Gurney
+Louis Maurer
+Louis Wain
+Maria Sibylla Merian
+Marianne North
+Shaun Tan
+Sophie Ryder
+Terry Redlin
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/scifi.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/scifi.txt
new file mode 100644
index 0000000000000000000000000000000000000000..45abd5dbc6cd3ef290e2ee739601d1343724da74
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/scifi.txt
@@ -0,0 +1,69 @@
+# Originally sourced from https://www.scifi-art.info/scifi-artists.html
+Alan Gutierrez
+Alan Pollack
+Arthur Haas
+Barclay Shaw
+Bob Eggleton
+Boris Vallejo
+Bruce Jensen
+Bruce Pennington
+Chris Foss
+Chris Moore
+Darrel K. Sweet
+Dave Seeley
+David B. Mattingly
+David Palumbo
+David Schleinkofer
+Dawid Michalczyk
+Dominic Harman
+Donato Giancola
+Don Maitz
+Duane Myers
+Duncan Long
+Eric Wilkerson
+Franco Brambilla
+Frank Kelly Freas
+Fred Gambino
+Gabor Szikszai
+Gary Tonge
+Greg Bridges
+Henry Richard van Dongen
+Hubert Rogers
+James Beveridge
+James Warhola
+Jerome Podwil
+Jim Burns
+John Berkey
+John Harris
+John Schoenherr
+John Zeleznik
+Julie Dillon
+Kevin Ward
+Les Edwards
+Marc Gabbana
+Marek Okon
+Mark Salwowski
+Matt Stawicki
+Melvyn Grant
+Michael Whelan
+Pascal Blanche
+Patrick J. Jones
+Patrick Turner
+Paul Alexander
+Paul Lehr
+Paul Youll
+Peter Andrew Jones
+Peter Elson
+Philippe Bouchet
+Richard Hescox
+Romas Kukalis
+Ron Walotsky
+Scott Grimando
+Stephan Martiniere
+Stephen Hickman
+Stephen Youll
+Tim White
+Vicente Segrelles
+Vincent Di Fate
+Wayne Haag
+Zoltan Boros
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/sculpture.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/sculpture.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ca265a08a5e014be4ae3629d891e74651a5998b3
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/sculpture.txt
@@ -0,0 +1,24 @@
+# Originally sourced from https://aiartcreation.fandom.com/wiki/Collection:_Sculpture
+Ai Weiwei
+Alexander Calder
+Anselm Kiefer
+Auguste Rodin
+Bruce Wolfe
+Constantin Brâncuși
+Courtney Mattison
+Dale Chihuly
+Duane Hanson
+El Anatsui
+Ernst Barlach
+Jean Tinguely
+Kara Walker
+Katharina Grosse
+Kusama
+Michelangelo
+Mihoko Ogaki
+Nick Park
+Ray Harryhausen
+Richard Westmacott
+Ron Mueck
+Ruth Asawa
+Sophie Ryder
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/surreal.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/surreal.txt
new file mode 100644
index 0000000000000000000000000000000000000000..71f6060415b954f4f46140fffa3a708e56e31a61
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/surreal.txt
@@ -0,0 +1,53 @@
+# Origianlly sourced from https://aiartcreation.fandom.com/wiki/Collection:_Surreal/Symbolic
+Adrian Cox
+Aleister Crowley
+Alex Grey
+Alexander Calder
+Amanda Sage
+Andre Masson
+Aykut Aydogdu
+Brian Despain
+Christian Schloe
+Daniel Merriam
+Edvard Munch
+Esao Andrews
+Eurika Urbonaviciute
+Francis Bacon
+Franz Sedlacek
+Frida Kahlo
+George Ault
+Giorgio de Chirico
+Giuseppe Arcimboldo
+Gustav Klimt
+Hieronymus Bosch
+James Christensen
+James Ensor
+Jeffrey Smith
+John Stephens
+Joseph Cornell
+Josephine Wall
+Julie Heffernan
+Le Gun
+Leonora Carrington
+Margaret Keane
+Mark Ryden
+Max Ernst
+Michael Cheval
+Mikalojus Konstantinas Čiurlionis
+Mike Davis
+Odilon Redon
+Picasso
+Rafal Olbinski
+Remedios Varo
+Roberto Matta
+Salvador Dalí
+Santiago Caruso
+Siegfried Zademack
+Stuart Patience
+Tomasz Setowski
+Valeriy Kot
+Vladimir Kush
+William Blake
+William Morris
+Yves Tanguy
+Zdzisław Beksinski
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/symbolism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/symbolism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0f7a6c8a20d54cd3e3f978259cc5543bd2cdb379
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/symbolism.txt
@@ -0,0 +1,70 @@
+Alexander Nikolaevich Volkov
+Alexandru Bogdan-Pitești
+Ancell Stronach
+Anselmo Bucci
+Arkady Rylov
+Arnold Böcklin
+Arthur Bowen Davies
+Artur Fonvizin
+August Malmström
+Beda Stjernschantz
+Bela Čikoš Sesija
+Carl Rabus
+Cecile Walton
+Cesare Laurenti
+Charles Conder
+Constantin Kousnetzoff
+Eduard Puterbrot
+Edvard Munch
+Eleanor Spiess-Ferris
+Elihu Vedder
+Erwin Puchinger
+Erwin Stolz
+Fedir Krychevsky
+Gaetano Previati
+Gaston Bussière
+George Frederic Watts
+George Washington Lambert
+Giovanni Segantini
+Guido Marussig
+Gustav Klimt
+Helmer Osslund
+Henri Fantin-Latour
+Herbert Crowley
+Hugo Simberg
+Ignat Bednarik
+Ion Theodorescu-Sion
+Ivan Milev
+Jacek Malczewski
+Jan Frans De Boever
+Jan Toorop
+Jens Lund
+Joan Brull
+John Duncan
+Josefina Mařáková
+Josef Váchal
+Kahlil Gibran
+Karel Hlaváček
+Kazimierz Stabrowski
+Louis Welden Hawkins
+Mahirwan Mamtani
+Marcel Janco
+Max Kurzweil
+Mikalojus Konstantinas Čiurlionis
+Mikhail Nesterov
+Mikhail Vrubel
+Nicholas Roerich
+Octavian Smigelschi
+Olaf Lange
+Paul Ranson
+Pierre Marcel-Béronneau
+Rex Slinkard
+Romaine Brooks
+Rupert Bunny
+Ștefan Luchian
+Stewart Carmichael
+Sydney Long
+Tivadar Csontváry Kosztka
+Victor Borisov-Musatov
+Viktor Vasnetsov
+Ze'ev Raban
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/the_ancients.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/the_ancients.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6ddfb5a469203d7d4dbf0004e4c9e32c8cc2f7cc
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/artists/unfiled/the_ancients.txt
@@ -0,0 +1,10 @@
+Edward Calvert
+Frederick Tatham
+Samuel Palmer
+George Richmond
+Francis Oliver Finch
+Henry Walter
+Welby Sherman
+John Giles
+Arthur Tatham
+Julia Tatham
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/README.md b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..6144b2b43c5186c4af50bbf4fe4b33565df2c174
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/README.md
@@ -0,0 +1,11 @@
+A large wildcards library kindly contributed by [@devilkkw](https://github.com/devilkkw).
+
+Find their other work below:
+
+#### HuggingFace
+###### [KKW FANTAREAL V1.0](https://huggingface.co/devilkkw/KKW_FANTAREAL_V1.0 "kkw models")
+
+#### Civitai
+###### [KKW FANTAREAL V1.0](https://civitai.com/models/3782/kkw-fantareal-v10 "kkw models")
+
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/animals_categories.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/animals_categories.txt
new file mode 100644
index 0000000000000000000000000000000000000000..bb9afa7659fcbc5bbbf1f92243d8531f7b3baeb4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/animals_categories.txt
@@ -0,0 +1,9 @@
+Bird
+Bug
+Cat
+Crustacean
+Dog
+Fish
+Bug
+Reptile
+Whale
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/animals_types_aquatic_cambrian.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/animals_types_aquatic_cambrian.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b8875f46490dbf052237ec8a4eb37ba8bd0b4f95
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/animals_types_aquatic_cambrian.txt
@@ -0,0 +1,5 @@
+Anomalocaris
+Hallucigenia
+Opabinia
+Pambdelurion
+Xidazoon
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/animals_types_aquatic_crustacean.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/animals_types_aquatic_crustacean.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6ce40ce399f8137c38cb3f46165aa4aee8a727d7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/animals_types_aquatic_crustacean.txt
@@ -0,0 +1,8 @@
+Crab
+Crayfish
+Hermit crab
+Horseshoe crab
+Isopod
+Cymothoa exigua
+Lobster
+Shrimp
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/animals_types_aquatic_fish.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/animals_types_aquatic_fish.txt
new file mode 100644
index 0000000000000000000000000000000000000000..60cdb7d17a6667f722a872ed72d7f6376621b165
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/animals_types_aquatic_fish.txt
@@ -0,0 +1,44 @@
+Alligator gar
+Angelfish
+Anglerfish
+Arapaima
+Arowana
+Bichir
+Butterflyfish
+Catfish
+Carp
+Goldfish
+Koi
+Clownfish
+Coelacanth
+Dunkleosteus
+Eel
+Leopard eel
+Moray eel
+Flying fish
+Lamprey
+Leafy Seadragon
+Manta ray
+Needlefish
+Oarfish
+Oilfish
+Puffer fish
+Sailfish
+Saury
+Sawfish
+Seahorse
+Shark
+Edestus
+Goblin shark
+Great white shark
+Hammerhead shark
+Helicoprion
+Saw shark
+Whale shark
+Siamese fighting fish
+Swordfish
+Sunfish
+Surgeonfish
+Regal blue tang
+Yellow tang
+Tuna
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/animals_types_aquatic_invertebrate.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/animals_types_aquatic_invertebrate.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ba7673487b2593f8bf404e5c9f373ea06a3af4cb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/animals_types_aquatic_invertebrate.txt
@@ -0,0 +1,12 @@
+Abalone
+Clam
+Coral
+Cuttlefish
+Octopus
+Oyster
+Sea anemone
+Sea cucumber
+Sea slug
+Sea urchin
+Squid
+Starfish
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/animals_types_aquatic_whale.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/animals_types_aquatic_whale.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4308edb29b0a2cd564379533b4408bf2ad809b23
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/animals_types_aquatic_whale.txt
@@ -0,0 +1,6 @@
+Beluga whale
+Blue whale
+Dolphin
+Humpback whale
+Narwhal
+Orca
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/animals_types_cat.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/animals_types_cat.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4e291c60edddc4e48a183994739012d209080471
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/animals_types_cat.txt
@@ -0,0 +1,7 @@
+Black cat
+Kitten
+Cheetah
+Leopard
+Lion
+Panther
+Tiger
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/animals_types_dog.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/animals_types_dog.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e671960aecf2cc9efd6617629644fa05e90390cd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/animals_types_dog.txt
@@ -0,0 +1,2 @@
+Puppy
+Wolf
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/animals_types_insects.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/animals_types_insects.txt
new file mode 100644
index 0000000000000000000000000000000000000000..793a23ead5afc1b6b26d5764ce9c0aa72e757221
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/animals_types_insects.txt
@@ -0,0 +1,29 @@
+Ant
+Bee
+Beetle
+Butterfly
+Caterpillar
+Centipede
+Cicada
+Cockroach
+Cricket
+Cave cricket
+Dragonfly
+Firefly
+Fireflies
+Fly
+Grasshopper
+Ladybug
+Leucochloridium paradoxum
+Millipede
+Mosquito
+Moth
+Pillbug
+Wasp
+Arachnid
+Spider
+Scorpion
+Camel spider
+Amblypygi
+Larva
+Maggot
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/animals_types_large.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/animals_types_large.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d316314707d43fc97dfcbdafcd60d4ee609fae4d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/animals_types_large.txt
@@ -0,0 +1,12 @@
+Alpaca
+Bear
+Bull
+Cow
+Deer
+Elephant
+Giraffe
+Gorilla
+Horse
+Kangaroo
+Mammoth
+Panda
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/animals_types_medium.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/animals_types_medium.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7170d13e89648fc2a207b96843d7871ec64937e1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/animals_types_medium.txt
@@ -0,0 +1,14 @@
+Boar
+Echidna
+Fox
+Red fox
+Goat
+Hedgehog
+Monkey
+Platypus
+Pig
+Piglet
+Rabbit
+Angora rabbit
+Sheep
+Lamb
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/animals_types_reptile_and_amphibian.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/animals_types_reptile_and_amphibian.txt
new file mode 100644
index 0000000000000000000000000000000000000000..238e3702a37e7b34aec33a2857360923ce604327
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/animals_types_reptile_and_amphibian.txt
@@ -0,0 +1,11 @@
+Crocodile
+Frog
+Tadpole
+Iguana
+Lizard
+Frill-necked lizard
+Snake
+Turtle
+Salamander
+Axolotl
+Hellbender
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/animals_types_rodent.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/animals_types_rodent.txt
new file mode 100644
index 0000000000000000000000000000000000000000..31fdc0f34a117b820df36a0c47253bdffb99ae4c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/animals_types_rodent.txt
@@ -0,0 +1,10 @@
+Beaver
+Capybara
+Chipmunk
+Ferret
+Guinea pig
+Hamster
+Mouse
+Naked mole rat
+Squirrel
+Weasel
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/birds_main.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/birds_main.txt
new file mode 100644
index 0000000000000000000000000000000000000000..016bc96260e06931be7986d570e362caa3a23ce2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/birds_main.txt
@@ -0,0 +1 @@
+bird
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/birds_mythological.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/birds_mythological.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e9b2050ee8ab745b3745c9b4183ccf9d0d90f2b6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/birds_mythological.txt
@@ -0,0 +1 @@
+Phoenix
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/birds_real.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/birds_real.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9590ac42697ce0fe8191118367a3dcc725a23277
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/birds_real.txt
@@ -0,0 +1,179 @@
+Albatross
+Southern Royal Albatross
+Barred Buttonquail
+Blue Jay
+Bluebird
+Blue-footed Booby
+Cassowary
+Southern Cassowary
+Chick
+Chicken
+Rooster
+Cockatiel
+Cockatoo
+Blue-eyed Cockatoo
+Major Mitchell's Cockatoo
+Palm Cockatoo
+Sulphur-crested Cockatoo
+Yellowtip Cockatoo
+Condor
+Andean Condor
+Cormorant
+Crane (animal)
+Black Crowned Crane
+Grey Crowned Crane
+Red-crowned Crane
+Siberian Crane
+Crow
+Carrion Crow
+Cuckoo
+Dodo (bird)
+Duck
+Duckling
+Mallard
+Dusky Thrush
+Eagle
+Bald Eagle
+Haast's Eagle
+Little Egret
+Emu
+Falcon
+Peregrine Falcon
+Finch
+Eurasian Bullfinch
+Japanese Grosbeak
+Double-barred Finch
+Gouldian Finch
+Java Sparrow
+Zebra Finch
+Flamingo
+Frogmouth
+Blue-and-white Flycatcher
+Hill Blue Flycatcher
+Narcissus Flycatcher
+Verditer Flycatcher
+Yellow-rumped Flycatcher
+Goose
+Greater White-Fronted Goose
+Canada goose
+Hawk
+Goshawk
+Japanese Sparrowhawk
+Harris's Hawk
+Heron
+Chinese Pond Heron
+Great Blue Heron
+Grey Heron
+Hummingbird
+Japanese Bush Warbler
+Japanese Robin
+Japanese White-eye
+Common Kingfisher
+Crested Kingfisher
+Kookaburra
+Kiwi
+Southern Brown Kiwi
+Kori Bustard
+Lilac-breasted Roller
+Long-tailed Widowbird
+Magpie
+Azure-winged Magpie
+Black-throated Magpie-Jay
+Taiwan Blue Magpie
+Meadow Bunting
+Moa (animal)
+South Island Giant Moa
+Nightingale (bird)
+Northern Cardinal
+Northern Lapwing
+Nuthatch
+Oriental Dollarbird
+Black-headed Oriole
+Black-naped Oriole
+Osprey
+Ostrich
+Owl
+Snowy Owl
+Southern Boobook
+Parakeet
+Golden Parakeet
+Jandaya Parakeet
+Rose-ringed Parakeet
+Parrot
+African Grey Parrot
+Black-headed Parrot
+Eclectus Parrot
+Kakapo
+Kea (animal)
+Lovebird
+Macaw
+Blue-and-yellow Macaw
+Hyacinth Macaw
+Red-and-green Macaw
+Scarlet Macaw
+Pacific Parrotlet
+Yellow-headed Amazon
+Peacock
+Pelican
+Penguin
+Adelie Penguin
+African Penguin
+Emperor Penguin
+Fiordland Penguin
+Galapagos Penguin
+Humboldt Penguin
+Little Penguin
+Rockhopper Penguin
+Yellow-eyed Penguin
+Anthropornis
+Pheasant
+Copper Pheasant
+Ijima Copper Pheasant
+Golden Pheasant
+Green Pheasant
+Lady Amherst's Pheasant
+Pheasant-tailed Jacana
+Pigeon
+Dove
+Fantail Pigeon
+Passenger Pigeon
+White-bellied Green Pigeon
+Plover (animal)
+Puffin
+Quail
+Japanese Quail
+Raggiana Bird-of-paradise
+Red-flanked Bluetail
+Blue-fronted Redstart
+Daurian Redstart
+Resplendent Quetzal
+Roadrunner (animal)
+Ryukyu Minivet
+Seagull
+Secretarybird
+Shoebill
+Siberian Rubythroat
+Sparrow
+Eurasian Tree Sparrow
+House Sparrow
+Stork
+Oriental Stork
+Swallow
+Tree Swallow
+Swan
+Black Swan (bird)
+Takahe
+Great Tit
+Japanese Tit
+Long-tailed Tit
+Toucan
+Vulture
+Black-backed Wagtail
+Grey Wagtail
+White Wagtail
+Japanese Wagtail
+White-bellied Go-away-bird
+White-cheeked Starling
+Woodpecker
+Great Spotted Woodpecker
+Yellow Bittern
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/cats_behavior.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/cats_behavior.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6a6fb7ed5862688636e60542df695b4e672ecb66
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/cats_behavior.txt
@@ -0,0 +1,5 @@
+cat loaf
+kneading
+nuzzling
+scratching
+stretching
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/cats_breeds.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/cats_breeds.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c87b0175e342a2df0e57b2731609b071a0e3655f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/cats_breeds.txt
@@ -0,0 +1,4 @@
+norwegian forest cat
+persian cat
+ragdoll (cat)
+siamese cat
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/cats_coat.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/cats_coat.txt
new file mode 100644
index 0000000000000000000000000000000000000000..01c26e61a9c25838953c4dcd469746549d453734
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/cats_coat.txt
@@ -0,0 +1,9 @@
+black cat
+brown cat
+calico
+grey cat
+orange cat
+pink cat
+purple cat
+tortoiseshell cat
+white cat
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/cats_felines.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/cats_felines.txt
new file mode 100644
index 0000000000000000000000000000000000000000..171daad5c06c6094860991416b5ca5be70f9e0e6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/cats_felines.txt
@@ -0,0 +1,10 @@
+black panther
+cheetah
+cougar
+jaguar
+leopard
+leopard cat
+chinese leopard cat
+lion
+serval
+tiger
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/cats_main.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/cats_main.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5d5b306e57150daee82d4324efba33bca060dbfe
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/cats_main.txt
@@ -0,0 +1 @@
+cat
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/cats_misc.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/cats_misc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..92dcca73e7867c878d7a5dbda921cdba5d218552
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/cats_misc.txt
@@ -0,0 +1,4 @@
+cathead
+giant cat
+kitten
+too many cats
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/cats_places.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/cats_places.txt
new file mode 100644
index 0000000000000000000000000000000000000000..97eade7ba6147700b4ab7e3bfc39f6373925b630
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/cats_places.txt
@@ -0,0 +1,7 @@
+cat between legs
+cat in mouth
+cat on ass
+cat on head
+cat on lap
+cat on person
+cat on shoulder
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/cats_related.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/cats_related.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3ac9fec530c8453baa8e5f6ab9728d6ec8552a91
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/cats_related.txt
@@ -0,0 +1,45 @@
+cat bag
+cat band
+cat band footwear
+cat band gloves
+cat ear legwear
+cat boy
+cat bra
+cat button
+cat choker
+cat costume
+cat cutout
+cat cutout panties
+cat ear bikini
+cat ear headphones
+cat ear panties
+cat earrings
+cat ears
+slit pupils
+cat feet
+cat girl
+cat gloves
+cat hair
+cat hair ornament
+cat hat
+cat helmet
+cat hood
+cat lingerie
+cat mask
+cat nose
+cat ornament
+cat pajamas
+cat panties
+cat pasties
+cat paw
+cat paws
+cat pendant
+cat print
+cat skull
+cat slippers
+cat symbol
+cat tail
+cat thigh strap
+barbed tongue
+cat zipper
+whiskers
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/dog_breeds.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/dog_breeds.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8159035c6a9f1d9e19471e219c472c32a935f759
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/dog_breeds.txt
@@ -0,0 +1,38 @@
+Afghan hound
+Akita Inu
+Australian Kelpie
+Beagle
+Bernese mountain dog
+Border collie
+Borzoi
+Boston terrier
+Briard
+Bulldog
+Bull terrier
+Chihuahua
+Chinese crested dog
+Chow Chow
+Dachshund
+Dalmatian
+Dingo
+Doberman
+English springer spaniel
+German shepherd
+Golden retriever
+Great Dane
+Greyhound
+Husky
+Irish setter
+Japanese spitz
+Maltese
+Mastiff
+Old English Sheepdog
+Papillon
+Pomeranian
+Poodle
+Pug
+Shar Pei
+Shiba inu
+St. Bernard
+Welsh corgi
+Yorkshire Terrier
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/dog_canines.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/dog_canines.txt
new file mode 100644
index 0000000000000000000000000000000000000000..699eedc3b343f4c1f7d939007e7e8f18bdd91d89
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/dog_canines.txt
@@ -0,0 +1,2 @@
+Hyena
+Wolf
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/dog_misc.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/dog_misc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..99f2c4188996c266f2ab38c4dbbc6c29f4d59bb8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/dog_misc.txt
@@ -0,0 +1,9 @@
+animal
+pet
+animalization
+dog on head
+dog walking
+guide dog
+no humans
+pack of dogs
+puppy
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/dog_related.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/dog_related.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0e5aefd7a8a9f5dd447559f77508ba850edd0de9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/dog_related.txt
@@ -0,0 +1,5 @@
+dog costume
+dog ears
+dog hat
+dog paws
+dog tail
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/dogs_main.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/dogs_main.txt
new file mode 100644
index 0000000000000000000000000000000000000000..edca36dbf175e05aa8a8ec594f22cbf219725111
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/dogs_main.txt
@@ -0,0 +1 @@
+dog
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/ears_animal.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/ears_animal.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b7d9ebdcb674b5954ba6f9adde17d7c72c0fd7ef
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/ears_animal.txt
@@ -0,0 +1,27 @@
+animal ears
+bat ears
+bear ears
+rabbit ears
+cat ears
+cow ears
+deer ears
+dog ears
+fake animal ears
+ferret ears
+fox ears
+goat ears
+horse ears
+kemonomimi mode
+lion ears
+monkey ears
+mouse ears
+panda ears
+pikachu ears
+pig ears
+raccoon ears
+sheep ears
+squirrel ears
+tiger ears
+wolf ears
+fake animal ears
+hair ears
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/groups_animals.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/groups_animals.txt
new file mode 100644
index 0000000000000000000000000000000000000000..828b84779bac94d87ae72e4cd5e73901e2d4d0c7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/animals/groups_animals.txt
@@ -0,0 +1,2 @@
+pack of dogs
+too many cats
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/attire/attire_headwear.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/attire/attire_headwear.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b405aae427e305326f9a25ca0990e465d6a0c5fa
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/attire/attire_headwear.txt
@@ -0,0 +1,15 @@
+balaclava
+crown
+hair bow
+hair ribbon
+hairband
+headband
+forehead protector
+sweatband
+hachimaki
+mongkhon
+headdress
+maid headdress
+tiara
+veil
+honggaitou
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/attire/attire_jewelry_and_accessories_head_and_face.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/attire/attire_jewelry_and_accessories_head_and_face.txt
new file mode 100644
index 0000000000000000000000000000000000000000..faeafb9b734c872f36baf576ea6fdb6ffbc818b4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/attire/attire_jewelry_and_accessories_head_and_face.txt
@@ -0,0 +1,12 @@
+earrings
+hoop earrings
+stud earrings
+earclip
+glasses
+monocle
+hair ornament
+hairclip
+hairpin
+mask
+plague doctor mask
+surgical mask
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/attire/attire_jewelry_and_accessories_limbs.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/attire/attire_jewelry_and_accessories_limbs.txt
new file mode 100644
index 0000000000000000000000000000000000000000..77141889a7f329c6592dcef30d2a819d7ccda3c0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/attire/attire_jewelry_and_accessories_limbs.txt
@@ -0,0 +1,29 @@
+anklet
+arm belt
+armband
+armlet
+bracelet
+bangle
+spiked bracelet
+bridal gauntlets
+detached sleeves
+arm warmers
+fingernails
+gloves
+boxing gloves
+elbow gloves
+fingerless gloves
+bridal gauntlets
+spiked gloves
+yugake
+mittens
+leg belt
+ring
+claw ring
+wedding ring
+wedding ring
+thighlet
+wide sleeves
+wristband
+wrist cuffs
+wrist scrunchie
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/attire/attire_jewelry_and_accessories_neck_and_shoulders.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/attire/attire_jewelry_and_accessories_neck_and_shoulders.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4c4ba7117387b637b482cf9cc925be0165fed393
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/attire/attire_jewelry_and_accessories_neck_and_shoulders.txt
@@ -0,0 +1,17 @@
+ascot
+bowtie
+choker
+collar
+epaulettes
+feather boa
+lapels
+lapel pin
+neck ruff
+neckerchief
+necklace
+necktie
+tie clip
+neck ribbon
+scarf
+shawl
+stole
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/attire/attire_jewelry_and_accessories_torso_and_misc.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/attire/attire_jewelry_and_accessories_torso_and_misc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4638299e1672aa25d2cccfd52ac2f19b197ccc5d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/attire/attire_jewelry_and_accessories_torso_and_misc.txt
@@ -0,0 +1,20 @@
+aiguillette
+badge
+belly chain
+belt
+buckle
+sam browne belt
+boutonniere
+brooch
+buttons
+large buttons
+button badge
+corsage
+pentacle
+piercing
+sarong
+suspenders
+tassel
+watch
+pocket watch
+zipper
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/attire/attire_legs_and_feet.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/attire/attire_legs_and_feet.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e47dd4be39112e7bfa0abdd0ae62122966767915
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/attire/attire_legs_and_feet.txt
@@ -0,0 +1,18 @@
+garter belt
+garter straps
+legwear garter
+kneehighs
+leggings
+leg warmers
+over-kneehighs
+pantyhose
+thighband pantyhose
+socks
+ankle socks
+bobby socks
+loose socks
+tabi
+toe socks
+tube socks
+thighhighs
+thigh strap
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/attire/attire_other.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/attire/attire_other.txt
new file mode 100644
index 0000000000000000000000000000000000000000..bbb655b7f622cb3ac3f878a806a2d324814a3340
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/attire/attire_other.txt
@@ -0,0 +1,12 @@
+dress flower
+flower trim
+frills
+fur trim
+gathers
+gold trim
+lace trim
+ribbon trim
+see-through
+silver trim
+taut shirt
+torn clothes
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/attire/attire_pants_and_bottomwear.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/attire/attire_pants_and_bottomwear.txt
new file mode 100644
index 0000000000000000000000000000000000000000..35260324e6b6fce9a66ac70984c8ede1f5c864fa
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/attire/attire_pants_and_bottomwear.txt
@@ -0,0 +1,36 @@
+bloomers
+buruma
+chaps
+kilt
+pants
+bell-bottoms
+capri pants
+detached pants
+jeans
+cutoff jeans
+lowleg pants
+pants rolled up
+pelvic curtain
+petticoat
+sarong
+shorts
+bike shorts
+denim shorts
+dolphin shorts
+gym shorts
+lowleg shorts
+micro shorts
+short shorts
+shorts under skirt
+skirt
+bubble skirt
+high-waist skirt
+high-low skirt
+long skirt
+lowleg skirt
+microskirt
+miniskirt
+overall skirt
+plaid skirt
+pleated skirt
+suspender skirt
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/attire/attire_shirts_and_topwear.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/attire/attire_shirts_and_topwear.txt
new file mode 100644
index 0000000000000000000000000000000000000000..298b7e13aca58ab027c9bbd05cee0b954bf99294
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/attire/attire_shirts_and_topwear.txt
@@ -0,0 +1,66 @@
+blouse
+frilled shirt
+sleeveless shirt
+bustier
+crop top
+camisole
+cardigan
+cardigan vest
+coat
+duffel coat
+fur coat
+fur-trimmed coat
+long coat
+overcoat
+peacoat
+raincoat
+yellow raincoat
+transparent raincoat
+trench coat
+winter coat
+compression shirt
+corset
+dress
+halterneck
+criss-cross halter
+halterneck
+hoodie
+jacket
+blazer
+cropped jacket (bolero)
+letterman jacket
+safari jacket
+suit jacket
+sukajan
+trench coat
+poncho
+raglan sleeves
+sash
+shoulder sash
+stole
+shirt
+collared shirt
+dress shirt
+off-shoulder shirt
+sleeveless shirt
+striped shirt
+t-shirt
+shrug
+surcoat
+sweater
+pullover
+turtleneck
+sleeveless turtleneck
+sweater dress
+ribbed sweater
+aran sweater
+tabard
+tailcoat
+tank top
+stringer
+tube top
+bandeau
+underbust
+vest
+sweater vest
+waistcoat
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/attire/attire_shoes_and_footwear.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/attire/attire_shoes_and_footwear.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7b861399920eec2cf4fe1aecddc2419e24343a0b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/attire/attire_shoes_and_footwear.txt
@@ -0,0 +1,44 @@
+boots
+ankle boots
+armored boots
+knee boots
+high heel boots
+lace-up boots
+rubber boots
+thigh boots
+cowboy boots
+spurs
+cross-laced footwear
+flats
+footwear ribbon
+high heels
+loafers
+kiltie loafers
+mary janes
+platform footwear
+pointy footwear
+pumps
+sandals
+clog sandals
+cross-laced sandals
+flip-flops
+gladiator sandals
+geta
+okobo
+waraji
+zouri
+oxfords
+saddle shoes
+monk shoes
+slippers
+animal slippers
+ballet slippers
+crocs
+uwabaki
+sneakers
+high tops
+converse
+toeless footwear
+uwabaki
+winged footwear
+wedge heels
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/attire/attire_styles_and_patterns_patterns.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/attire/attire_styles_and_patterns_patterns.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3dbaa386206aec8685f5486ed712e3cb03b4cb39
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/attire/attire_styles_and_patterns_patterns.txt
@@ -0,0 +1,10 @@
+argyle
+camouflage
+checkered
+floral print
+pinstripe pattern
+plaid
+polka dot
+striped
+multicolored stripes
+double vertical stripe
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/attire/attire_styles_and_patterns_prints.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/attire/attire_styles_and_patterns_prints.txt
new file mode 100644
index 0000000000000000000000000000000000000000..41d3a05619e602fbf3b3b3a1247815d184f2dc86
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/attire/attire_styles_and_patterns_prints.txt
@@ -0,0 +1,40 @@
+animal print
+bat print
+bear print
+butterfly print
+cow print
+leopard print
+tiger print
+snake print
+clover print
+crescent print
+floral print
+rose print
+cherry blossom print
+sunflower print
+morning glory print
+food print
+fruit pattern
+apple print
+blueberry print
+cherry print
+kiwi print
+lemon print
+pineapple print
+orange print
+strawberry print
+watermelon print
+leaf print
+maple leaf print
+moon print
+musical note print
+paw print
+petal print
+piano print
+sparkle print
+triangle print
+space print
+starry sky print
+star print
+wave print
+wing print
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/attire/attire_swimsuits_and_bodysuits.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/attire/attire_swimsuits_and_bodysuits.txt
new file mode 100644
index 0000000000000000000000000000000000000000..70c98b2cc8f857e63e275f8f651696aba982b572
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/attire/attire_swimsuits_and_bodysuits.txt
@@ -0,0 +1,36 @@
+bikesuit
+racing suit
+bodystocking
+bodysuit
+jumpsuit
+short jumpsuit
+leotard
+strapless leotard
+playboy bunny
+swimsuit
+competition swimsuit
+slingshot swimsuit
+school swimsuit
+bikini
+leaf bikini
+string bikini
+micro bikini
+side-tie bikini bottom
+lowleg bikini
+thong bikini
+venus bikini
+sports bikini
+tankini
+criss-cross halter
+swim briefs
+jammers
+legskin
+rash guard
+robe
+bathrobe
+open robe
+kesa
+romper
+sarong
+tunic
+unitard
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/attire/attire_traditional_clothing.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/attire/attire_traditional_clothing.txt
new file mode 100644
index 0000000000000000000000000000000000000000..22a18844b20e87b6dc252f6db40a6c060e2da06f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/attire/attire_traditional_clothing.txt
@@ -0,0 +1,42 @@
+chinese clothes
+changpao
+china dress
+fengguan
+hanfu
+longpao
+tangzhuang
+dirndl
+japanese clothes
+fundoshi
+yamakasa
+geta
+hakama
+hakama skirt
+hakama short skirt
+hakama pants
+kimono
+furisode
+layered kimono
+short kimono
+uchikake
+yukata
+haori
+happi
+chanchanko
+dotera
+hanten
+kimono skirt
+miko
+nontraditional miko
+sarashi
+Midriff sarashi
+Chest sarashi
+Budget sarashi
+Undone sarashi
+straw cape
+mino boushi
+tabi
+tasuki
+korean clothes
+hanbok
+vietnamese dress
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/attire/attire_uniforms_and_costumes.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/attire/attire_uniforms_and_costumes.txt
new file mode 100644
index 0000000000000000000000000000000000000000..bfcddd4f0d56333ac39a734fe9dd69249599b0b1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/attire/attire_uniforms_and_costumes.txt
@@ -0,0 +1,64 @@
+apron
+armor
+armored dress
+bikini armor
+band uniform
+cape
+capelet
+hood
+shoulder cape
+cassock
+cheerleader
+costume
+ghost costume
+gym uniform
+buruma
+habit
+harem outfit
+loincloth
+hazmat suit
+hev suit
+kigurumi
+animal costume
+bear costume
+boar costume
+cat costume
+cow costume
+dog costume
+monkey costume
+mouse costume
+panda costume
+penguin costume
+pig costume
+rabbit costume
+reindeer costume
+seal costume
+sheep costume
+tiger costume
+maid
+miko
+nontraditional miko
+military uniform
+overalls
+pajamas
+pilot suit
+plugsuit
+sailor
+santa costume
+school uniform
+serafuku
+sailor dress
+gakuran
+meiji schoolgirl uniform
+shosei
+suit
+business suit
+pant suit
+skirt suit
+tuxedo
+track suit
+sweatpants
+sweatshirt
+tutu
+waitress
+cowboy western
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/audio/audio_genre.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/audio/audio_genre.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7ead14669f1ba3212284e1a87b912ee0c9cdea75
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/audio/audio_genre.txt
@@ -0,0 +1,4 @@
+Heavy Metal
+Jazz
+K-pop
+Punk
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/audio/audio_instruments_brass.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/audio/audio_instruments_brass.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6a94c3345e05248469d9c6e0ddb5a880be7aa264
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/audio/audio_instruments_brass.txt
@@ -0,0 +1,9 @@
+bugle
+euphonium
+flugelhorn
+french horn
+sousaphone
+trombone
+bass trombone
+trumpet
+tuba
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/audio/audio_instruments_keyboard.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/audio/audio_instruments_keyboard.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b421731fa150b6e04c88c49545eb1d5e5d76b555
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/audio/audio_instruments_keyboard.txt
@@ -0,0 +1,16 @@
+accordion
+concertina
+melodica
+harpsichord
+keyboard
+keytar
+synthesizer
+organ
+electric organ
+pipe organ
+piano
+piano keys
+clavia nord
+fender rhodes
+grand piano
+upright piano
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/audio/audio_instruments_other.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/audio/audio_instruments_other.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7344e2bb95999849a34478adaddfd7cbc2b563da
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/audio/audio_instruments_other.txt
@@ -0,0 +1,2 @@
+jaw harp
+theremin
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/audio/audio_instruments_percussion.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/audio/audio_instruments_percussion.txt
new file mode 100644
index 0000000000000000000000000000000000000000..dad6f1b135898a188b7cd2171af9688ab3d1b523
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/audio/audio_instruments_percussion.txt
@@ -0,0 +1,20 @@
+bell
+cowbell
+handbell
+jingle bell
+castanets
+cymbals
+drum
+bongo drums
+conga drums
+drumsticks
+taiko drum
+timpani
+tsuzumi
+maracas
+marimba
+pyeongyeong
+sistrum
+tambourine
+triangle
+xylophone
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/audio/audio_instruments_strings.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/audio/audio_instruments_strings.txt
new file mode 100644
index 0000000000000000000000000000000000000000..cda526924b633557e997346599527d2588aef361
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/audio/audio_instruments_strings.txt
@@ -0,0 +1,33 @@
+banjo
+balalaika
+bass guitar
+bow
+cello
+double bass
+electric double bass
+erhu
+gayageum
+guitar
+acoustic guitar
+electric guitar
+guqin
+guzheng
+harp
+lyre
+kantele
+kokyuu
+koto
+lute
+biwa lute
+mandolin
+morin khuur
+pipa
+ruan
+sitar
+shamisen
+tonkori
+ukulele
+viola
+violin
+wolgeum
+yueqin
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/audio/audio_instruments_woodwinds.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/audio/audio_instruments_woodwinds.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8916ef6ccfe28769a06086c4a8e93073d1454059
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/audio/audio_instruments_woodwinds.txt
@@ -0,0 +1,13 @@
+bagpipes
+bassoon
+clarinet
+crumhorn
+electric wind instrument
+flute
+bass flute
+fife
+harmonica
+oboe
+ocarina
+recorder
+saxophone
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/audio/audio_misc.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/audio/audio_misc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1417ec3169d11a2ca6da89bb7e0f0b692ee6d102
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/audio/audio_misc.txt
@@ -0,0 +1,17 @@
+audio visualizer
+horn
+vuvuzela
+instrument
+instrument case
+guitar case
+playing instrument
+music
+notes
+musical note
+spoken musical note
+treble clef
+bass clef
+sheet music
+music stand
+singing
+karaoke
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/audio/audio_places.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/audio/audio_places.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6547b73f8cde1bdd0273a6ce7407e3bcdb94ec90
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/audio/audio_places.txt
@@ -0,0 +1,4 @@
+concert
+radio booth
+recording studio
+stage
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/audio/audio_playback_media.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/audio/audio_playback_media.txt
new file mode 100644
index 0000000000000000000000000000000000000000..474bc9dc9e7516a527f4287d6157356f287df740
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/audio/audio_playback_media.txt
@@ -0,0 +1,3 @@
+cassette tape
+cd
+record
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/audio/audio_playback_other.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/audio/audio_playback_other.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7af6aa64d65125b767c9b5bfa7c316387d9c02aa
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/audio/audio_playback_other.txt
@@ -0,0 +1,10 @@
+amplifier
+tube amplifier
+megaphone
+microphone
+microphone stand
+pop filter
+studio microphone
+vintage microphone
+boom microphone
+mixing console
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/audio/audio_playback_players.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/audio/audio_playback_players.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0e51f6b0f4713b6aecacc63a8b08e1f0a9095c8b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/audio/audio_playback_players.txt
@@ -0,0 +1,9 @@
+cd player
+digital media player
+ipod
+iphone
+phonograph
+turntable
+radio
+stereo
+walkman
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/audio/audio_playback_speakers_and_headphones.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/audio/audio_playback_speakers_and_headphones.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0d3baefdc68320ebdc4109da967ee6458763c865
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/audio/audio_playback_speakers_and_headphones.txt
@@ -0,0 +1,12 @@
+earphones
+earbuds
+earpiece
+ear protection
+earmuffs
+headphones
+behind-the-head headphones
+bunny headphones
+cat ear headphones
+headphones for animal ears
+headset
+speaker
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/audio/audio_professions.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/audio/audio_professions.txt
new file mode 100644
index 0000000000000000000000000000000000000000..93c8eb9e986bd43e44749ab85819c38b1c6566fb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/audio/audio_professions.txt
@@ -0,0 +1,4 @@
+conductor
+dj
+guitar girl
+idol
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/background/backgrounds_colors.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/background/backgrounds_colors.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4b4a541b9c16c39e0cbfdfba04a9b19724b36100
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/background/backgrounds_colors.txt
@@ -0,0 +1,16 @@
+aqua background
+beige background
+black background
+blue background
+brown background
+green background
+grey background
+lavender background
+orange background
+pink background
+purple background
+red background
+sepia background
+tan background
+white background
+yellow background
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/background/backgrounds_multiple_colors.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/background/backgrounds_multiple_colors.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a812871b4fe19c0ba00ff009027d27825dae4cfd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/background/backgrounds_multiple_colors.txt
@@ -0,0 +1,5 @@
+gradient background
+multicolored background
+rainbow background
+heaven condition
+two-tone background
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/background/backgrounds_other.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/background/backgrounds_other.txt
new file mode 100644
index 0000000000000000000000000000000000000000..29789fc24d17b2490fe190185b51398af958a8cf
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/background/backgrounds_other.txt
@@ -0,0 +1,22 @@
+background text
+backlighting
+blending
+blurry background
+card background
+chibi inset
+drama layer
+fiery background
+flag background
+floral background
+fruit background
+heart background
+imageboard colors
+lace background
+mosaic background
+paneled background
+photo background
+projected inset
+simple background
+starry background
+transparent background
+zoom layer
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/background/backgrounds_patterns.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/background/backgrounds_patterns.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7ddfc64b07e2918ed5c583f495bb130889174395
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/background/backgrounds_patterns.txt
@@ -0,0 +1,14 @@
+argyle background
+checkered background
+food-themed background
+halftone background
+honeycomb background
+paw print background
+plaid background
+polka dot background
+simple background
+snowflake background
+spiral background
+strawberry background
+striped background
+sunburst background
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/ass_anatomy.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/ass_anatomy.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2b190a14eedc17b68829fe525933c8983e90ad1c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/ass_anatomy.txt
@@ -0,0 +1,8 @@
+ass
+ass expansion
+bad ass
+flat ass
+huge ass
+spread ass
+butt crack
+wedgie
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/ass_and_hands.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/ass_and_hands.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0866d23bc590e7ac3d9a5e9c9e304be96d9eeabb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/ass_and_hands.txt
@@ -0,0 +1,8 @@
+anal fingering
+anal fisting
+ass grab
+ass smack
+covering anus
+covering ass
+groping
+hand on own ass
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/ass_and_heads.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/ass_and_heads.txt
new file mode 100644
index 0000000000000000000000000000000000000000..da25ed06df3d59e3a853a87629d520c10be5ad22
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/ass_and_heads.txt
@@ -0,0 +1,3 @@
+ass biting
+smelling ass
+head on ass
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/ass_anus_anatomy.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/ass_anus_anatomy.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b6c0eb2dbc8c954cabe932448e657a463cb21efe
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/ass_anus_anatomy.txt
@@ -0,0 +1,5 @@
+anal hair
+anus
+no anus
+spread anus
+tiny anus
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/ass_misc.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/ass_misc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f65cf50f0ee603e4c1d52ce84caa19347dc13ffb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/ass_misc.txt
@@ -0,0 +1,10 @@
+anal
+anal hook
+ass-to-ass
+ass cutout
+ass on glass
+ass ache
+ass focus
+ass shake
+ass visible through thighs
+x anus
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/ass_with_cum.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/ass_with_cum.txt
new file mode 100644
index 0000000000000000000000000000000000000000..eb6d44a8b0ec5e8380fb2d98071c06431ee79840
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/ass_with_cum.txt
@@ -0,0 +1,2 @@
+cum in ass
+cum on ass
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/body_parts_appendages.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/body_parts_appendages.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6864b7c05f20094b454a1a169886fa449f4da905
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/body_parts_appendages.txt
@@ -0,0 +1,24 @@
+thick arms
+biceps
+feet
+bad feet
+barefoot
+dirty feet
+soles
+hands
+palms
+doll joints
+robot joints
+knees
+kneepits
+legs
+long legs
+slim legs
+tail
+tentacles
+thighs
+groin tendon
+thick thighs
+toes
+ninja toes
+wings
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/body_parts_head.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/body_parts_head.txt
new file mode 100644
index 0000000000000000000000000000000000000000..001f473bae3b19479d021fd1f003df0afc9faf68
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/body_parts_head.txt
@@ -0,0 +1,11 @@
+ear focus
+face
+forehead
+forehead mark
+beard
+mustache
+head wings
+lips
+nape
+tongue
+long tongue
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/body_parts_torso_lower.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/body_parts_torso_lower.txt
new file mode 100644
index 0000000000000000000000000000000000000000..61c0a09c0632eae2d50b0851e2a0c01e94bbfdd9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/body_parts_torso_lower.txt
@@ -0,0 +1,43 @@
+anus
+ass
+cloaca
+dimples of venus
+groin
+wide hips
+intestines
+liver
+narrow waist
+pubic hair
+pussy
+cleft of venus
+clitoris
+fat mons
+labia
+mons pubis
+no pussy
+penis
+bulge
+disembodied penis
+erection
+extra penises
+foreskin
+flaccid
+gigantic penis
+large penis
+small penis
+multiple penises
+huge penis
+veiny penis
+perineum
+prostate
+pseudopenis
+stomach
+abs
+belly
+navel
+obliques
+stomach (organ)
+testicles
+no testicles
+uterus
+cervix
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/body_parts_torso_upper.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/body_parts_torso_upper.txt
new file mode 100644
index 0000000000000000000000000000000000000000..804ff4f6273d759f85123dbf1eba0de579f052a7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/body_parts_torso_upper.txt
@@ -0,0 +1,19 @@
+areolae
+large areolae
+glands of montgomery
+armpits
+back
+breasts
+collarbone
+heart
+lungs
+neck
+long neck
+nipples
+covered nipples
+inverted nipples
+no nipples
+puffy nipples
+small nipples
+pectorals
+ribs
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/breasts_and_other_body_parts_docking.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/breasts_and_other_body_parts_docking.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9fc18cf65996b6bf47bf85ac65c97e473e42c091
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/breasts_and_other_body_parts_docking.txt
@@ -0,0 +1,3 @@
+asymmetrical docking
+symmetrical docking
+nipple-to-nipple
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/breasts_and_other_body_parts_hands.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/breasts_and_other_body_parts_hands.txt
new file mode 100644
index 0000000000000000000000000000000000000000..00bed9c27c14218bfca44b29fc14a333e2c3633f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/breasts_and_other_body_parts_hands.txt
@@ -0,0 +1,21 @@
+breast hold
+breast grab
+flat chest grab
+guided breast grab
+breast lift
+breast poke
+breast press
+breast pull
+breast punch
+breast slap
+breast squeeze
+breast suppress
+groping
+arm between breasts
+hand in bra
+nipple flick
+nipple press
+nipple push
+nipple pull
+nipple rub
+nipple tweak
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/breasts_and_other_body_parts_head.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/breasts_and_other_body_parts_head.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e91ab812816743338398c9900dc05e29a9a558ba
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/breasts_and_other_body_parts_head.txt
@@ -0,0 +1,6 @@
+breast smother
+breast pillow
+breasts on head
+face to breasts
+face to pecs
+head between breasts
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/breasts_and_other_body_parts_mouth.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/breasts_and_other_body_parts_mouth.txt
new file mode 100644
index 0000000000000000000000000000000000000000..86509ee8b9ba35166a267c7356c36c3c718e3c23
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/breasts_and_other_body_parts_mouth.txt
@@ -0,0 +1,8 @@
+breast biting
+breastfeeding
+breast sucking
+self breast sucking
+mutual breast sucking
+nursing handjob
+nipple biting
+licking nipple
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/breasts_and_other_body_parts_penis.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/breasts_and_other_body_parts_penis.txt
new file mode 100644
index 0000000000000000000000000000000000000000..681289917f3d1528ff975bb7db48eee8c817e842
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/breasts_and_other_body_parts_penis.txt
@@ -0,0 +1,9 @@
+paizuri
+cooperative paizuri
+naizuri
+cooperative naizuri
+paizuri under clothes
+paizuri over clothes
+penis to breast
+penis under breasts
+nipple penetration
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/breasts_and_other_body_parts_toys.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/breasts_and_other_body_parts_toys.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4bd547473254a6b9d646a72e8fa9296777ebb32b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/breasts_and_other_body_parts_toys.txt
@@ -0,0 +1,17 @@
+nipple clamps
+nipple leash
+nipple piercing
+areola piercing
+nipple bar
+nipple bells
+nipple chain
+nipple lock
+nipple rings
+nipple stretcher
+nipple tag
+nipple plug
+nipple sleeves
+nipple torture
+tied nipples
+nipple ribbon
+vibrator on nipple
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/breasts_clothes_for.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/breasts_clothes_for.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7a958827022004c7d8e9f97f21c775128aacd5ee
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/breasts_clothes_for.txt
@@ -0,0 +1,27 @@
+bandeau
+bikini
+bikini bottom only
+cupless bikini
+bra
+cupless bra
+hand in bra
+no bra
+nursing bra
+shelf bra
+breastless clothes
+breast curtain
+bustier
+center opening
+chest binder
+Cinderella bust
+cleavage cutout
+corset
+framed breasts
+nipple cutout
+nippleless clothes
+panties on breasts
+plunging neckline
+rei no himo
+sarashi
+taut shirt
+underbust
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/breasts_descriptions.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/breasts_descriptions.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7c542d9b0c324c80ee5e834a99cf7508438f17b2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/breasts_descriptions.txt
@@ -0,0 +1,10 @@
+asymmetrical breasts
+bouncing breasts
+breasts apart
+floating breasts
+hanging breasts
+perky breasts
+sagging breasts
+unaligned breasts
+veiny breasts
+pointy breasts
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/breasts_main.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/breasts_main.txt
new file mode 100644
index 0000000000000000000000000000000000000000..06b07ad92507d4980b2d33cc35331adaf5d1b6fc
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/breasts_main.txt
@@ -0,0 +1 @@
+breasts
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/breasts_misc.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/breasts_misc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f6c69f29c47b4fe3fcbca43bfee93c4c99328469
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/breasts_misc.txt
@@ -0,0 +1,32 @@
+alternate breast size
+between breasts
+card between breasts
+arm between breasts
+head between breasts
+necktie between breasts
+person between breasts
+breast bondage
+tied breast
+breast mousepad
+breast implants
+breast rest
+carried breast rest
+breasts on glass
+bust cup
+covering breasts
+cum on breasts
+food on breasts
+chocolate on breasts
+lactation
+breast milk
+breast pump
+lactating into cup
+lactation through clothes
+milking machine
+nipple injection
+object on breast
+bubble tea challenge
+headphones on breasts
+Tawawa challenge
+object on pectorals
+oppai challenge
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/breasts_sizes_ranges.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/breasts_sizes_ranges.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7a8fe5943927180bc3eeee8a3c941409bc2fd71d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/breasts_sizes_ranges.txt
@@ -0,0 +1,6 @@
+flat chest
+small breasts
+medium breasts
+large breasts
+huge breasts
+gigantic breasts
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/breasts_sizes_scenes_revolving_around.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/breasts_sizes_scenes_revolving_around.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9ed06b4a91d35dd8d77f20684270b8754460259e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/breasts_sizes_scenes_revolving_around.txt
@@ -0,0 +1,16 @@
+breast conscious
+breast envy
+breast awe
+flat envy
+breast expansion
+breast reduction
+breast padding
+breast size switch
+bust chart
+bust measuring
+flying button
+looking at breasts
+convenient breasts
+inconvenient breasts
+oversized breast cup
+weighing breasts
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/breasts_visibilty_parts.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/breasts_visibilty_parts.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8283536862e8c02a2c819dfe1e6c542772c04e4b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/breasts_visibilty_parts.txt
@@ -0,0 +1,21 @@
+areolae
+areola slip
+dark areolae
+glands of montgomery
+large areolae
+light areolae
+backboob
+bursting breasts
+cleavage
+nipples
+dark nipples
+covered nipples
+inverted nipples
+long nipples
+nipple slip
+no nipples
+puffy nipples
+small nipples
+nipple hair
+sideboob
+underboob
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/breasts_visibilty_whole.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/breasts_visibilty_whole.txt
new file mode 100644
index 0000000000000000000000000000000000000000..66aa2dfa1680931b1201ecd797eaedd80aabb42b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/breasts_visibilty_whole.txt
@@ -0,0 +1,5 @@
+breast slip
+breastless clothes
+breasts out
+impossible shirt
+one breast out
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/ears_misc.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/ears_misc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..71bf21c706c20cc38d1df5ee11d9061151b2a6fa
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/ears_misc.txt
@@ -0,0 +1,8 @@
+covering ears
+ear biting
+ear grab
+ear pull
+ear wiggle
+hand on ear
+holding ears
+licking ear
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/ears_number.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/ears_number.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6dd31ba815bb69c795118d712c4499651d56680f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/ears_number.txt
@@ -0,0 +1 @@
+extra ears
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/ears_objects.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/ears_objects.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9bd9729932e5fbdff5b72206fa69cbdf1c63a813
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/ears_objects.txt
@@ -0,0 +1,6 @@
+ear piercing
+ear protection
+earrings
+single earring
+headphones
+behind ear
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/ears_other.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/ears_other.txt
new file mode 100644
index 0000000000000000000000000000000000000000..107def8a43f4326f81f443d73ce02142a3603bfe
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/ears_other.txt
@@ -0,0 +1,3 @@
+pointy ears
+long pointy ears
+robot ears
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_accessories.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_accessories.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2b52e63f43a16ee02197de134ccff7ee4a02b9d4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_accessories.txt
@@ -0,0 +1,16 @@
+covering eyes
+hair over eyes
+hair over one eye
+bandage over one eye
+blindfold
+hat over eyes
+eyepatch
+eyelashes
+colored eyelashes
+fake eyelashes
+eyes visible through hair
+glasses
+makeup
+eyeliner
+eyeshadow
+mascara
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_around.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_around.txt
new file mode 100644
index 0000000000000000000000000000000000000000..63eac617e9fe7be35c91c7b7403390ad4679e4bd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_around.txt
@@ -0,0 +1,7 @@
+bags under eyes
+aegyo sal
+bruised eye
+flaming eyes
+glowing eyes
+glowing eye
+mako eyes
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_closed.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_closed.txt
new file mode 100644
index 0000000000000000000000000000000000000000..860e6e93b9c626eb25a363a1194aa5b2c859b2c0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_closed.txt
@@ -0,0 +1,7 @@
+blinking
+closed eyes
+wince
+one eye closed
+;<
+;>
+;p
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_emotions_and_expressions.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_emotions_and_expressions.txt
new file mode 100644
index 0000000000000000000000000000000000000000..762d551d9bfa3bd6f357c2c48feb9f1a4fc451c5
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_emotions_and_expressions.txt
@@ -0,0 +1,17 @@
+> <
+X3
+XD
+DX
+O o
+0 0
+3 3
+6 9
+@ @
+^ ^
+^o^
+| |
+|| ||
+= =
++ +
+. .
+
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_gazes.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_gazes.txt
new file mode 100644
index 0000000000000000000000000000000000000000..fc2efb9f58828fcc7ce1d1f8033ac3dd25b54f66
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_gazes.txt
@@ -0,0 +1,16 @@
+eye contact
+looking afar
+looking at another
+looking at breasts
+looking at hand
+looking at mirror
+looking at phone
+looking at viewer
+looking away
+looking back
+looking down
+looking outside
+looking over eyewear
+looking through legs
+looking to the side
+looking up
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_iris_colors.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_iris_colors.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6d1486ec53ab390eb2a309d5c8a8c60f06f33c87
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_iris_colors.txt
@@ -0,0 +1,13 @@
+aqua eyes
+black eyes
+blue eyes
+brown eyes
+green eyes
+grey eyes
+orange eyes
+purple eyes
+pink eyes
+red eyes
+white eyes
+yellow eyes
+amber eyes
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_iris_form.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_iris_form.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d4489196b6de0b5ec2ab9c3995544d24a26cb461
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_iris_form.txt
@@ -0,0 +1,4 @@
+@ @
+dashed eyes
+Pac-man eyes
+ringed eyes
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_iris_multiple_colors.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_iris_multiple_colors.txt
new file mode 100644
index 0000000000000000000000000000000000000000..23ef4a52a7aceaf39f153688526ee9eaf9ea9f2c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_iris_multiple_colors.txt
@@ -0,0 +1,2 @@
+heterochromia
+multicolored eyes
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_misc.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_misc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8f95b077309fa1ff198673784283086283bfa1c8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_misc.txt
@@ -0,0 +1,20 @@
+akanbe
+asymmetrical irises
+big eyes
+blind
+cross-eyed
+drawn on eyes
+eyeball
+eye beam
+eye poke
+eye pop
+half-closed eyes
+persona eyes
+shading eyes
+squinting
+staring
+uneven eyes
+upturned eyes
+wall-eyed
+wide-eyed
+wince
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_more_appearance_animal.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_more_appearance_animal.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c5cf2faecd47396488fdcdf177e54ff8f7533823
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_more_appearance_animal.txt
@@ -0,0 +1,5 @@
+amphibian eyes
+button eyes
+cephalopod eyes
+compound eyes
+horizontal pupils
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_more_appearance_other.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_more_appearance_other.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c9f5d88ceb0df8fd5be5c10cb2b7fb1655d91e03
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_more_appearance_other.txt
@@ -0,0 +1,2 @@
+eye reflection
+text in eyes
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_more_appearance_series_specific.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_more_appearance_series_specific.txt
new file mode 100644
index 0000000000000000000000000000000000000000..423015c91415a9f766423c52ca1988fe80d31af7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_more_appearance_series_specific.txt
@@ -0,0 +1,3 @@
+Geass
+Sharingan
+Mangekyou Sharingan
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_more_appearance_stylistic.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_more_appearance_stylistic.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b454dc45427e93980433d92cbaf2f1a1a123f7b3
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_more_appearance_stylistic.txt
@@ -0,0 +1,12 @@
+crazy eyes
+empty eyes
+dashed eyes
+heart-shaped eyes
+Nonowa
+solid circle eyes
+o o
+0 0
+jitome
+tareme
+tsurime
+sanpaku
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_number.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_number.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1578f8fdf9e0dd20c5fae7158ea1f8390a52a2d8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_number.txt
@@ -0,0 +1,5 @@
+missing eye
+one-eyed
+third eye
+extra eyes
+no eyes
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_pupils.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_pupils.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3a32da01d33cf60e3e0e87eea45e6c41fe070fb5
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_pupils.txt
@@ -0,0 +1,12 @@
+constricted pupils
+dilated pupils
+horizontal pupils
+no pupils
+slit pupils
+symbol-shaped pupils
++ +
+diamond-shaped pupils
+flower-shaped pupils
+heart-shaped pupils
+star-shaped pupils
+mismatched pupils
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_sclera.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_sclera.txt
new file mode 100644
index 0000000000000000000000000000000000000000..03500a3af1898ae58e4bf43aafa1359326b68d11
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/eyes_sclera.txt
@@ -0,0 +1,10 @@
+blue sclera
+black sclera
+blank eyes
+bloodshot eyes
+green sclera
+mismatched sclera
+no sclera
+orange sclera
+red sclera
+yellow sclera
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/face_drawing_styles.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/face_drawing_styles.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d84c7693983a2df5e1f96fd4c001e064f7cac5ce
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/face_drawing_styles.txt
@@ -0,0 +1,12 @@
+constricted pupils
+cross-eyed
+dot mouth
+dot nose
+mouth drool
+no nose
+no mouth
+rectangular mouth
+sideways mouth
+split mouth
+wavy mouth
+wide-eyed
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/face_emotes.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/face_emotes.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d60475a1f56c83c4c3afa5742de3937587f2ee18
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/face_emotes.txt
@@ -0,0 +1,57 @@
+;)
+:d
+;d
+xd
+d:
+:3
+;3
+x3
+3:
+uwu
+:p
+;p
+:q
+;q
+>:)
+>:(
+:t
+:i
+:/
+:|
+:x
+:c
+c:
+:<
+;<
+:<>
+:>
+:>=
+:o
+;o
+o3o
+(-3-)
+>3<
+o o
+0 0
+| |
+. .
+solid circle eyes
+heart-shaped eyes
+^ ^
+^o^
+\(^o^)/
+^q^
+> <
+xd [ XD ]
+x3
+>o<
+@ @
+> @
++ +
++ -
+= =
+=^=
+=v=
+
+<|> <|>
+Drawing
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/face_emotions.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/face_emotions.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3f5e3ec1f31cdbd82ffe1fd2880c1510d250c19f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/face_emotions.txt
@@ -0,0 +1,61 @@
+angry
+anger vein
+annoyed
+clenched teeth
+annoyed
+blush
+blush stickers
+embarrassed
+full-face blush
+nose blush
+bored
+closed eyes
+confused
+crazy
+determined
+disappointed
+disdain
+disgust
+despair
+drunk
+envy
+expressionless
+evil
+facepalm
+flustered
+frustrated
+furrowed brow
+grimace
+guilt
+happy
+kubrick stare
+lonely
+nervous
+nosebleed
+one eye closed
+open mouth
+parted lips
+pain
+pout
+raised eyebrow
+rape face
+rolling eyes
+sad
+depressed
+frown
+gloom (expression)
+tears
+scared
+panicking
+worried
+serious
+sigh
+sleepy
+tired
+sulking
+surprised
+thinking
+pensive
+v-shaped eyebrows
+wince
+upset
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/face_looking_at.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/face_looking_at.txt
new file mode 100644
index 0000000000000000000000000000000000000000..12473fe887f1d30c555aa8c9dcf19661b8a3c12c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/face_looking_at.txt
@@ -0,0 +1,4 @@
+food awe
+breast awe
+penis awe
+staring
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/face_main.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/face_main.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c4148e1601281850ebf5238dbfea8a54d2ebf34c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/face_main.txt
@@ -0,0 +1 @@
+expressions
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/face_misc.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/face_misc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..09693dbde873317bb57e2814231ec82a26a3c660
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/face_misc.txt
@@ -0,0 +1,10 @@
+awesome face
+face of the people who sank all their money into the fx
+foodgasm
+henohenomoheji
+nonowa
+portrait
+profile
+smiley face
+troll face
+uso da
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/face_sexual.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/face_sexual.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0d3512dbca29c68d216495fa4e169b97d7a074a5
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/face_sexual.txt
@@ -0,0 +1,9 @@
+afterglow
+ahegao
+fucked silly
+aroused
+fucked silly
+in heat
+naughty face
+seductive smile
+torogao
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/face_smile.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/face_smile.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0bedc0f4ff15285583d9d036c6c8b270cc7dfcd9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/face_smile.txt
@@ -0,0 +1,11 @@
+crazy smile
+evil smile
+fingersmile
+forced smile
+glasgow smile
+grin
+evil grin
+light smile
+sad smile
+seductive smile
+stifled laugh
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/face_smile_main.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/face_smile_main.txt
new file mode 100644
index 0000000000000000000000000000000000000000..36d697f0bedb4243011969ebfd89c246d3a66f60
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/face_smile_main.txt
@@ -0,0 +1 @@
+smile
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/face_smug.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/face_smug.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a5c71f077a398140e5bcfc134348973031cc1111
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/face_smug.txt
@@ -0,0 +1,4 @@
+doyagao
+smirk
+smug
+troll face
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/face_smug_main.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/face_smug_main.txt
new file mode 100644
index 0000000000000000000000000000000000000000..76f5daaa2b58759c9f698a2f1db00bbee1ee5377
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/face_smug_main.txt
@@ -0,0 +1 @@
+smug
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/face_surprised_scared_sad.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/face_surprised_scared_sad.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2bba8514e784b4ae4428e48213f6657d3797e765
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/face_surprised_scared_sad.txt
@@ -0,0 +1,12 @@
+^^^
+color drain
+depressed
+despair
+gloom (expression)
+horrified
+screaming
+sobbing
+turn pale
+trembling
+wavy mouth
+upset
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/face_surprised_scared_sad_main.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/face_surprised_scared_sad_main.txt
new file mode 100644
index 0000000000000000000000000000000000000000..684c3a0ffe199e39f92bbe7e8f4221cd689d2880
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/face_surprised_scared_sad_main.txt
@@ -0,0 +1,3 @@
+surprised
+scared
+sad
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_actions.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_actions.txt
new file mode 100644
index 0000000000000000000000000000000000000000..73613057f2065f8738c42638f10e3a6113f7f484
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_actions.txt
@@ -0,0 +1,16 @@
+grabbing another's hair
+hairdressing
+cutting hair
+brushing hair
+heartbreak haircut
+hand in own hair
+adjusting hair
+bunching hair
+hair flip
+grabbing another's hair
+hair tucking
+holding hair
+ruffling hair
+hair twirling
+hair sex
+whipping hair
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_color.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_color.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b129bc395378996fdeb727047e3433f1186f7978
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_color.txt
@@ -0,0 +1,18 @@
+aqua hair
+black hair
+blonde hair
+blue hair
+light blue hair
+dark blue hair
+brown hair
+light brown hair
+green hair
+dark green hair
+light green hair
+grey hair
+orange hair
+pink hair
+purple hair
+light purple hair
+red hair
+white hair
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_color_misc.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_color_misc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7c9f5b22021f26df2f4414d39c04280734e72f7f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_color_misc.txt
@@ -0,0 +1,8 @@
+multicolored hair
+colored inner hair
+gradient hair
+rainbow hair
+split-color hair
+streaked hair
+two-tone hair
+colored tips
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_color_multiple.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_color_multiple.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7c9f5b22021f26df2f4414d39c04280734e72f7f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_color_multiple.txt
@@ -0,0 +1,8 @@
+multicolored hair
+colored inner hair
+gradient hair
+rainbow hair
+split-color hair
+streaked hair
+two-tone hair
+colored tips
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_facial.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_facial.txt
new file mode 100644
index 0000000000000000000000000000000000000000..888aa89ba03880199e6d4156ee79833f50bf4716
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_facial.txt
@@ -0,0 +1,7 @@
+facial hair
+beard
+bearded girl
+goatee
+mustache
+fake mustache
+stubble
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_fantasy.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_fantasy.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3a4ae160709a120fdb7373b80de30e1e751211bd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_fantasy.txt
@@ -0,0 +1,10 @@
+Liquid Hair
+Cloud Hair
+Chocolate Hair
+Plant Hair
+Crystal Hair
+Fiery hair
+Prehensile hair
+helicopter hair
+tentacle hair
+living hair
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_misc.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_misc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a3387ed7fd68645a8d7b79e258e218d21ce87fbb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_misc.txt
@@ -0,0 +1,5 @@
+detached hair
+severed hair
+floating hair
+hair spread out
+wet hair
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_objects_accessories.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_objects_accessories.txt
new file mode 100644
index 0000000000000000000000000000000000000000..debbd657f606fa4c667331eebf8ebed08dfe2235
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_objects_accessories.txt
@@ -0,0 +1,20 @@
+bun cover
+hairpods
+chopsticks
+comb
+hair ornament
+hair bell
+hair bobbles
+hair bow
+hair ribbon
+hairclip
+hairpin
+hair flower
+hair tubes
+kanzashi
+hair tie
+hairband
+hair weapon
+headband
+scrunchie
+wig
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_objects_care.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_objects_care.txt
new file mode 100644
index 0000000000000000000000000000000000000000..27312470aee9c83f7539161e4c8301f5ef43f744
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_objects_care.txt
@@ -0,0 +1,3 @@
+hair brush
+hair dryer
+shampoo
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_styles_back.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_styles_back.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1762d0600b5c2afad64c81acdffe95a7696ad02b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_styles_back.txt
@@ -0,0 +1 @@
+lone nape hair
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_styles_front.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_styles_front.txt
new file mode 100644
index 0000000000000000000000000000000000000000..65494bc7bfaa24412f981518fa5fbc9e4d1f6077
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_styles_front.txt
@@ -0,0 +1,12 @@
+bangs
+asymmetrical bangs
+blunt bangs
+hair over eyes
+hair over one eye
+parted bangs
+swept bangs
+hair between eyes
+hair intakes
+single hair intake
+sidelocks
+widow's peak
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_styles_length.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_styles_length.txt
new file mode 100644
index 0000000000000000000000000000000000000000..056021cadb3eb388f05a19549e03cf0badbf91dd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_styles_length.txt
@@ -0,0 +1,9 @@
+very short hair
+short hair
+medium hair
+long hair
+very long hair
+absurdly long hair
+big hair
+bald
+bald girl
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_styles_long.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_styles_long.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c96085ab3cbca8949fb1f64e7c15d4159c274224
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_styles_long.txt
@@ -0,0 +1,4 @@
+cornrows
+dreadlocks
+hime cut
+mullet
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_styles_medium.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_styles_medium.txt
new file mode 100644
index 0000000000000000000000000000000000000000..83581b3477408f8dfd0562f36cd502c3342985c8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_styles_medium.txt
@@ -0,0 +1,2 @@
+bob cut
+flipped hair
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_styles_misc.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_styles_misc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..588e921ab5b4329d332fac2922490962559c4880
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_styles_misc.txt
@@ -0,0 +1,5 @@
+alternate hairstyle
+hair down
+hair up
+asymmetrical hair
+sidecut
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_styles_over_the_body.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_styles_over_the_body.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4f6db96a7723de708f2df12f458bb5af59fa2279
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_styles_over_the_body.txt
@@ -0,0 +1,8 @@
+hair bikini
+hair censor
+hair in mouth
+hair over breasts
+hair over one breast
+hair over crotch
+hair over shoulder
+hair scarf
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_styles_short.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_styles_short.txt
new file mode 100644
index 0000000000000000000000000000000000000000..fea2f7b5ad5b81d124ae0a6d1bf3cf24b0432906
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_styles_short.txt
@@ -0,0 +1,8 @@
+bowl cut
+buzz cut
+chonmage
+crew cut
+flattop
+okappa
+pixie cut
+undercut
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_styles_tall.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_styles_tall.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f837857ff8375bf31db0812ee36e119965a8ff1c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_styles_tall.txt
@@ -0,0 +1,6 @@
+afro
+huge afro
+beehive hairdo
+pompadour
+quiff
+shouten pegasus mix mori
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_styles_texture.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_styles_texture.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b10ddee052217679025fccf80115714633531cd0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_styles_texture.txt
@@ -0,0 +1,9 @@
+curly hair
+drill hair
+twin drills
+hair flaps
+messy hair
+pointy hair
+ringlets
+spiked hair
+wavy hair
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_styles_tied.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_styles_tied.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b115f2153e7409d29b583e584efe868bdf5ceb0f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_styles_tied.txt
@@ -0,0 +1,46 @@
+bow-shaped hair
+braid
+braided bangs
+front braid
+side braid
+french braid
+crown braid
+single braid
+multiple braids
+twin braids
+low twin braids
+tri braids
+quad braids
+hair bun
+braided bun
+single hair bun
+double bun
+cone hair bun
+doughnut hair bun
+heart hair bun
+triple bun
+cone hair bun
+hair rings
+half updo
+one side up
+two side up
+low-braided long hair
+low-tied long hair
+mizura
+multi-tied hair
+nihongami
+ponytail
+folded ponytail
+front ponytail
+high ponytail
+short ponytail
+side ponytail
+split ponytail
+topknot
+twintails
+low twintails
+short twintails
+uneven twintails
+tri tails
+quad tails
+quin tails
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_styles_top.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_styles_top.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b5acecacf89b5e25bcd395b35f8bf6281352a3e4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hair_styles_top.txt
@@ -0,0 +1,8 @@
+ahoge
+heart ahoge
+huge ahoge
+antenna hair
+comb over
+hair pulled back
+hair slicked back
+mohawk
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hands_strange.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hands_strange.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c8f666edd3b53f32fa5dee119ed4db558f10ae84
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hands_strange.txt
@@ -0,0 +1 @@
+hand mouth
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hands_where_above_neck.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hands_where_above_neck.txt
new file mode 100644
index 0000000000000000000000000000000000000000..855d0108529c35bf0cab72f6e099512d3c006f53
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hands_where_above_neck.txt
@@ -0,0 +1,12 @@
+hand on ear
+adjusting eyewear
+hand on another's head
+hand on own head
+hand on own forehead
+hand on another's face
+hand on own face
+hands on another's face
+hands on own face
+hand on another's cheek
+hand on own cheek
+hand on headwear
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hands_where_breasts.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hands_where_breasts.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7a0b0134a8c7e64923d96b8017eafe4789ab0e91
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hands_where_breasts.txt
@@ -0,0 +1,13 @@
+breast hold
+breast grab
+flat chest grab
+guided breast grab
+breast lift
+breast poke
+breast press
+breast squeeze
+breast suppress
+groping
+arm between breasts
+hand in bra
+nipple tweak
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hands_where_lower_body.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hands_where_lower_body.txt
new file mode 100644
index 0000000000000000000000000000000000000000..864f127276b53b629430039846da48d930f20cb1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hands_where_lower_body.txt
@@ -0,0 +1,6 @@
+hand on own ass
+hands on ass
+hands on hips
+hand on own knee
+hands on own knees
+hand between legs
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hands_where_members.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hands_where_members.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e53516884f3597031308424a1140e2b41d3f8b84
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hands_where_members.txt
@@ -0,0 +1,3 @@
+hands on feet
+holding hands
+hand on another's hand
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hands_where_somewhere_else.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hands_where_somewhere_else.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d3050b3db1e05adb0406050e43e5d0dbea3beb87
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hands_where_somewhere_else.txt
@@ -0,0 +1,2 @@
+hand in pocket
+hands in pockets
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hands_where_upper_body.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hands_where_upper_body.txt
new file mode 100644
index 0000000000000000000000000000000000000000..02131bf64b9090108364f0c9ade153741a45ea32
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-1/hands_where_upper_body.txt
@@ -0,0 +1,5 @@
+hand on another's chest
+hand on own chest
+hands on hips
+hand on another's shoulder
+hand on own shoulder
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/legwear_action.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/legwear_action.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3bab988efb218041ff673bf2d8d02a4f8161cf06
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/legwear_action.txt
@@ -0,0 +1,5 @@
+adjusting legwear
+holding legwear
+pulling off legwear
+putting on legwear
+removing legwear
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/legwear_bands.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/legwear_bands.txt
new file mode 100644
index 0000000000000000000000000000000000000000..037eb1df012d9917b86d2677718a8c24fe27a136
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/legwear_bands.txt
@@ -0,0 +1,6 @@
+animal ear legwear
+bat legwear
+bear band legwear
+bunny ear legwear
+cat ear legwear
+horn band legwear
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/legwear_colors.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/legwear_colors.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6f1b7f4297763af8743731292014d6757173927c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/legwear_colors.txt
@@ -0,0 +1,15 @@
+aqua legwear
+beige legwear
+black legwear
+blue legwear
+brown legwear
+green legwear
+grey legwear
+lavender legwear
+orange legwear
+pink legwear
+purple legwear
+red legwear
+tan legwear
+white legwear
+yellow legwear
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/legwear_main.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/legwear_main.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4b34ada851423e6d8e9b207224f0667e6f2a6cdf
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/legwear_main.txt
@@ -0,0 +1,7 @@
+socks
+kneehighs
+over-kneehighs
+thighhighs
+pantyhose
+leggings
+detached leggings
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/legwear_misc.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/legwear_misc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..176fa42d59fac28956e954c022086d75a74902ef
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/legwear_misc.txt
@@ -0,0 +1,13 @@
+alternate legwear
+uneven legwear
+dirty legwear
+in legwear
+layered legwear
+legwear past ankles
+legwear removed
+legwear under shorts
+mismatched legwear
+no legwear
+taut legwear
+torn legwear
+wet legwear
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/legwear_multiple_colors.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/legwear_multiple_colors.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7948a089d68230088151c407df575bb55d102d3c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/legwear_multiple_colors.txt
@@ -0,0 +1,3 @@
+gradient legwear
+multicolored legwear
+two-tone legwear
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/legwear_pattern.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/legwear_pattern.txt
new file mode 100644
index 0000000000000000000000000000000000000000..090348e0206308e8880f7ec47949d49b61801d35
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/legwear_pattern.txt
@@ -0,0 +1,13 @@
+american flag legwear
+argyle legwear
+camouflage legwear
+checkered legwear
+gingham legwear
+plaid legwear
+polka dot legwear
+print legwear
+rainbow legwear
+striped legwear
+diagonal-striped legwear
+vertical-striped legwear
+pinstripe legwear
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/legwear_style.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/legwear_style.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d9cc6c6387d1231df55dfa282ccd6b3632a1428e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/legwear_style.txt
@@ -0,0 +1,33 @@
+aran legwear
+armored legwear
+bow legwear
+cross-laced legwear
+fishnet legwear
+fluffy legwear
+frilled legwear
+knit legwear
+lace legwear
+lace-up legwear
+latex legwear
+legwear bell
+o-ring legwear
+pleated legwear
+ribbed legwear
+ribbon legwear
+seamed legwear
+back-seamed legwear
+front-seamed legwear
+side-seamed legwear
+see-through legwear
+shiny legwear
+side-tie legwear
+spiked legwear
+studded legwear
+toeless legwear
+bridal legwear
+stirrup legwear
+trimmed legwear
+fur-trimmed legwear
+lace-trimmed legwear
+ribbon-trimmed legwear
+zipper legwear
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/neck_and_neckwear_actions.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/neck_and_neckwear_actions.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e390fbe24c3b818299e674a779404dd66b957959
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/neck_and_neckwear_actions.txt
@@ -0,0 +1,7 @@
+arm around neck
+arms around neck
+hand on another's neck
+hand on own neck
+neck biting
+necking
+kissing neck
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/neck_and_neckwear_anatomy.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/neck_and_neckwear_anatomy.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f7a863f8d83fc356a5bba174cd4ebb7e45d5839f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/neck_and_neckwear_anatomy.txt
@@ -0,0 +1,4 @@
+collarbone
+nape
+neck
+long neck
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/neck_and_neckwear_attire_accessories_objects.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/neck_and_neckwear_attire_accessories_objects.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5c55092bfa9c1757c5c41ec0d99a1eb48324ad4b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/neck_and_neckwear_attire_accessories_objects.txt
@@ -0,0 +1,38 @@
+ascot
+bolo tie
+bowtie
+choker
+ribbon choker
+collar
+neck bell
+animal collar
+spiked collar
+studded collar
+pet cone
+feather boa
+goggles around neck
+headphones around neck
+jabot
+lanyard
+neckerchief
+necklace
+chain necklace
+flower necklace
+lei
+friendship charm
+pearl necklace
+pendant
+amulet
+locket
+magatama
+pentacle
+neck ribbon
+neck ruff
+necktie
+necktie between breasts
+necktie on head
+necktie grab
+necktie removed
+scarf
+stole
+cross tie
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/neck_and_neckwear_collar.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/neck_and_neckwear_collar.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a66bd2d56d5c9c7d7448477a35eb2905c1b1fbd1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/neck_and_neckwear_collar.txt
@@ -0,0 +1,14 @@
+collar grab
+collar tug
+adjusting collar
+collared shirt
+detached collar
+fur collar
+high collar
+open collar
+popped collar
+sailor collar
+turtleneck
+sleeveless turtleneck
+v-neck
+wing collar
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/neck_and_neckwear_styles_colors.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/neck_and_neckwear_styles_colors.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6d0fbe0a3e701936424a98d92f6c667642aa8017
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/neck_and_neckwear_styles_colors.txt
@@ -0,0 +1,12 @@
+aqua neckwear
+black neckwear
+blue neckwear
+brown neckwear
+green neckwear
+grey neckwear
+orange neckwear
+pink neckwear
+purple neckwear
+red neckwear
+white neckwear
+yellow neckwear
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/neck_and_neckwear_styles_patterns.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/neck_and_neckwear_styles_patterns.txt
new file mode 100644
index 0000000000000000000000000000000000000000..bc167d592c3e8e3ba6c017f1376dee8c7b895041
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/neck_and_neckwear_styles_patterns.txt
@@ -0,0 +1,3 @@
+checkered neckwear
+plaid neckwear
+striped neckwear
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_by_gender.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_by_gender.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5bdba1f8c983d1dcbe4528b376f80effaf240cab
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_by_gender.txt
@@ -0,0 +1,4 @@
+CFNF
+CFNM
+CMNF
+CMNM
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_complete.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_complete.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0223a252adaca9e429b96aa19a8f345c6e553ecd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_complete.txt
@@ -0,0 +1,2 @@
+completely nude
+nude
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_dressing_covering_body_parts.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_dressing_covering_body_parts.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d9c3a518432a1121d5033827c378628579127d11
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_dressing_covering_body_parts.txt
@@ -0,0 +1,12 @@
+covering
+covering anus
+covering ass
+covering breasts
+covering crotch
+covering head
+covering ears
+covering one eye
+covering eyes
+covering face
+covering mouth
+nude cover
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_misc.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_misc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a37ec772b0fff5f7d678566ca0a7c8b7d1626d7d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_misc.txt
@@ -0,0 +1,3 @@
+nude modeling
+tan
+tanlines
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_naughty_points_of_view.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_naughty_points_of_view.txt
new file mode 100644
index 0000000000000000000000000000000000000000..fd8409d25dd12d5cf55ee35a062b54f97b094816
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_naughty_points_of_view.txt
@@ -0,0 +1,4 @@
+downblouse
+downpants
+pantyshot
+upskirt
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_partial_any_clothes.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_partial_any_clothes.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2f87fb8742f855c0d15a4964e55ae5b9a8fce7e8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_partial_any_clothes.txt
@@ -0,0 +1,12 @@
+clothing aside
+clothes down
+open clothes
+revealing clothes
+see-through
+unbuttoned
+undressing
+unfastened
+untied
+untying
+unzipped
+unzipping
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_partial_exposed_breasts.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_partial_exposed_breasts.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8657ce440eba2caa2132d5f4c57c4690966b6b2f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_partial_exposed_breasts.txt
@@ -0,0 +1,8 @@
+breastless clothes
+one breast out
+breast slip
+breasts out
+bra lift
+no bra
+bra pull
+topless
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_partial_exposed_breasts_parts_of.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_partial_exposed_breasts_parts_of.txt
new file mode 100644
index 0000000000000000000000000000000000000000..435753d753dd4078c97aa225dd429c217ce6c879
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_partial_exposed_breasts_parts_of.txt
@@ -0,0 +1,6 @@
+backboob
+cleavage
+cleavage cutout
+sideboob
+underboob
+underboob cutout
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_partial_exposed_chest.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_partial_exposed_chest.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f8cb436f37b7bce1fc49ce00fed52dd34958a195
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_partial_exposed_chest.txt
@@ -0,0 +1,21 @@
+center opening
+open coat
+open collar
+dress pull
+open hoodie
+open jacket
+leotard pull
+kimono down
+kimono pull
+pajamas pull
+open robe
+shirt aside
+topless male
+no shirt
+open shirt
+shirt lift
+shirt pull
+shirt slip
+sweater lift
+top pull
+open vest
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_partial_exposed_head_or_neck.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_partial_exposed_head_or_neck.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4e8956803c09bb327985c9e75bd0276cad649989
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_partial_exposed_head_or_neck.txt
@@ -0,0 +1 @@
+hood down
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_partial_exposed_nipples.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_partial_exposed_nipples.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c6e1388bd040227e93f14c8f7f69bc1f22b72fe8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_partial_exposed_nipples.txt
@@ -0,0 +1,4 @@
+areola slip
+nipple slip
+nippleless clothes
+nipples
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_partial_exposed_shoulders_and_arms.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_partial_exposed_shoulders_and_arms.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1b091305c93a1b52f0f06bb6875c07b4ee1840d7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_partial_exposed_shoulders_and_arms.txt
@@ -0,0 +1,12 @@
+armpits
+armpit cutout
+bare arms
+arm cutout
+bare shoulders
+off shoulder
+shoulder cutout
+sleeves rolled up
+sleeveless
+low-cut armhole
+sleeves pushed up
+sleeves rolled up
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_partial_exposed_torso.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_partial_exposed_torso.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d1c1fc8996302ced3db6bed7608aa3f0c5c625d0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_partial_exposed_torso.txt
@@ -0,0 +1,11 @@
+barefoot
+bare legs
+dress lift
+hip vent
+leg cutout
+thigh cutout
+side slit
+no pants
+shoe pull
+sock pull
+zettai ryouiki
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_partial_focus_on_exposed_ass_or_crotch.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_partial_focus_on_exposed_ass_or_crotch.txt
new file mode 100644
index 0000000000000000000000000000000000000000..113e40637a39963aa1ebf03bb27750779cbcd63d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_partial_focus_on_exposed_ass_or_crotch.txt
@@ -0,0 +1,32 @@
+ass cutout
+bottomless
+buruma pull
+buruma aside
+clitoris slip
+clothing aside
+crotch cutout
+dress aside
+leotard aside
+hakama pull
+kimono lift
+yukata lift
+no panties
+panties aside
+pants pull
+open pants
+pants pull
+panty lift
+panty pull
+pussy peek
+pussy peek
+pantyhose pull
+shorts aside
+open shortsn
+shorts pull
+skirt around one leg
+skirt around ankles
+open skirt
+skirt pull
+skirt lift
+swimsuit aside
+bikini aside
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_partial_focus_on_exposed_legs_or_feet.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_partial_focus_on_exposed_legs_or_feet.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d1c1fc8996302ced3db6bed7608aa3f0c5c625d0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_partial_focus_on_exposed_legs_or_feet.txt
@@ -0,0 +1,11 @@
+barefoot
+bare legs
+dress lift
+hip vent
+leg cutout
+thigh cutout
+side slit
+no pants
+shoe pull
+sock pull
+zettai ryouiki
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_partial_misc.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_partial_misc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1c789f9097f26f60b0347fc2aa163f36e67418e1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_partial_misc.txt
@@ -0,0 +1,16 @@
+bikini aside
+bikini pull
+cape lift
+lifting covers
+open bikini
+open bra
+open kimono
+robe slip
+strap lift
+strap pull
+strap slip
+swimsuit aside
+swimsuit pull
+open towel
+towel slip
+male underwear pull
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_partial_specific_clothes_or_ornaments_being_worn_as_exceptions.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_partial_specific_clothes_or_ornaments_being_worn_as_exceptions.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d1c1fc8996302ced3db6bed7608aa3f0c5c625d0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_partial_specific_clothes_or_ornaments_being_worn_as_exceptions.txt
@@ -0,0 +1,11 @@
+barefoot
+bare legs
+dress lift
+hip vent
+leg cutout
+thigh cutout
+side slit
+no pants
+shoe pull
+sock pull
+zettai ryouiki
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_touching_clothes.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_touching_clothes.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4ce491df2d6825c88e1dc64f515e1432f511ad17
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/nudity_touching_clothes.txt
@@ -0,0 +1,11 @@
+adjusting clothes
+clothes grab
+apron grab
+collar grab
+necktie grab
+skirt grab
+collar tug
+dress tug
+shirt tug
+skirt tug
+wringing clothes
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_and_body_parts_breasts.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_and_body_parts_breasts.txt
new file mode 100644
index 0000000000000000000000000000000000000000..eca174d53acc231a2fc324cc0c716d5c8d8df15d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_and_body_parts_breasts.txt
@@ -0,0 +1 @@
+panties on breasts
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_and_body_parts_hands.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_and_body_parts_hands.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ad4a64409035345ad12473d2b25bfdebf5f57f8d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_and_body_parts_hands.txt
@@ -0,0 +1,3 @@
+adjusting panties
+hand in panties
+holding panties
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_and_body_parts_head.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_and_body_parts_head.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a868cf943bbc0f7d25707dc5cab297afde996ba5
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_and_body_parts_head.txt
@@ -0,0 +1,4 @@
+panties in mouth
+panties on head
+panty gag
+licking panties
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_and_body_parts_legs.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_and_body_parts_legs.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8b5d83db7f229ee85baf003c2cabb165e39d157b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_and_body_parts_legs.txt
@@ -0,0 +1,3 @@
+panties around ankles
+panties around one leg
+panty pull
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_and_body_parts_misc.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_and_body_parts_misc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..06277438f6abe228272c98e4ab028b7dc42baeb9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_and_body_parts_misc.txt
@@ -0,0 +1,6 @@
+panties around tail
+panties aside
+panties removed
+panty lift
+trefoil
+smelling underwear
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_and_body_parts_penis.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_and_body_parts_penis.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1390267d82c8c7d2a8e89bae1bbdf1448778f502
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_and_body_parts_penis.txt
@@ -0,0 +1,3 @@
+panties on penis
+panties on penis
+penis in panties
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_and_fluids.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_and_fluids.txt
new file mode 100644
index 0000000000000000000000000000000000000000..12a83c142ee9219949fa535646a15aab857728ae
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_and_fluids.txt
@@ -0,0 +1,5 @@
+blood on panties
+cumdrip onto panties
+cum in panties
+stained panties
+wet panties
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_and_objects.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_and_objects.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d20c78267218644727974bb1d519a2526e30e810
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_and_objects.txt
@@ -0,0 +1 @@
+vibrator under panties
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_appearance_additional.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_appearance_additional.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c545eabfa37dc39cdd687bb9c9b02789d35b34b1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_appearance_additional.txt
@@ -0,0 +1,5 @@
+bow panties
+crotch seam
+frilled panties
+side-tie panties
+string panties
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_appearance_colors.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_appearance_colors.txt
new file mode 100644
index 0000000000000000000000000000000000000000..cd554840bb14320beeeb202b06eccc090160d216
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_appearance_colors.txt
@@ -0,0 +1,12 @@
+aqua panties
+black panties
+blue panties
+brown panties
+green panties
+grey panties
+orange panties
+pink panties
+purple panties
+red panties
+white panties
+yellow panties
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_appearance_incomplete.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_appearance_incomplete.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9550a25f55149f4b0ee4cf1c02182a43dd2d2ed4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_appearance_incomplete.txt
@@ -0,0 +1,4 @@
+backless panties
+c-string
+crotchless panties
+strapless bottom
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_appearance_lowleg_highleg.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_appearance_lowleg_highleg.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6f9caf0b2c52fbda13fb1f8dd3dd1d531d5d9d65
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_appearance_lowleg_highleg.txt
@@ -0,0 +1,2 @@
+lowleg panties
+highleg panties
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_appearance_materials.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_appearance_materials.txt
new file mode 100644
index 0000000000000000000000000000000000000000..bf2944ec59df7ff11f538ccd7078da59a236ef9a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_appearance_materials.txt
@@ -0,0 +1,2 @@
+latex panties
+leaf panties
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_appearance_multiple_colors.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_appearance_multiple_colors.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8e25e949125aeaca294567e93a86d575e6faf46f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_appearance_multiple_colors.txt
@@ -0,0 +1 @@
+multicolored panties
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_appearance_patterns_and_prints.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_appearance_patterns_and_prints.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d1b6d237f065c9e0dd44606f4ca8f31dce628163
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_appearance_patterns_and_prints.txt
@@ -0,0 +1,12 @@
+bear panties
+bunny panties
+cat panties
+checkered panties
+lace panties
+lace-trimmed panties
+plaid panties
+polka dot panties
+print panties
+strawberry panties
+striped panties
+vertical-striped panties
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_appearance_sizes.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_appearance_sizes.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4d5683f01cb17bdd3a58cd099285d38739b76cf4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_appearance_sizes.txt
@@ -0,0 +1,2 @@
+loose panties
+micro panties
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_main.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_main.txt
new file mode 100644
index 0000000000000000000000000000000000000000..58bf36cdfdd0292d4e04b855d61df8210024f91e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_main.txt
@@ -0,0 +1 @@
+panties
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_number.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_number.txt
new file mode 100644
index 0000000000000000000000000000000000000000..09a79ce48a3bf70041e72b0d110c2b84e225a270
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_number.txt
@@ -0,0 +1,2 @@
+multiple panties
+no panties
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_with_other_clothes.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_with_other_clothes.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a701a8e34c8c3d69af9caf7b1c848c6a9aaa634b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/panties_with_other_clothes.txt
@@ -0,0 +1,10 @@
+panties over bike shorts
+panties under bike shorts
+panties over pantyhose
+panties under pantyhose
+panties under buruma
+pantylines
+pantyshot
+implied pantyshot
+upskirt
+Panties a
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/piercings_general_locations_body.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/piercings_general_locations_body.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f31623571c77c46a0888534125d043d84ad15f9e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/piercings_general_locations_body.txt
@@ -0,0 +1,11 @@
+Areola piercing
+Back piercing
+Corset piercing
+Collarbone piercing
+Navel piercing
+Nipple piercing
+Nipple bar
+Nipple chain
+Nipple lock
+Nipple rings
+Nipple stretcher
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/piercings_general_locations_head_and_facial.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/piercings_general_locations_head_and_facial.txt
new file mode 100644
index 0000000000000000000000000000000000000000..149031477271b76a18949c034501b553ff2e3e17
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/piercings_general_locations_head_and_facial.txt
@@ -0,0 +1,11 @@
+Ear piercing
+Industrial piercing
+Eyebrow piercing
+Anti-eyebrow piercing
+Eyelid piercing
+Lip piercing
+Labret piercing
+Neck Piercing
+Nose piercing
+Bridge piercing
+Tongue piercing
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/piercings_genital_female.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/piercings_genital_female.txt
new file mode 100644
index 0000000000000000000000000000000000000000..08209a5d322ded94a2f79f7c274b36cceb87820a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/piercings_genital_female.txt
@@ -0,0 +1,4 @@
+Clitoris piercing
+Clitoris ring
+Labia piercing
+Fourchette piercing
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/piercings_genital_male.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/piercings_genital_male.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c38a384fb1b9cd4dc4d4ba3ba78c1ca2e2ab67e7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/piercings_genital_male.txt
@@ -0,0 +1,9 @@
+Penis piercing
+Ampallang
+Dydoe
+Foreskin piercing
+Frenulum piercing
+Lorum piercing
+Prince Albert
+Guiche piercing
+Scrotum piercing
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/piercings_main.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/piercings_main.txt
new file mode 100644
index 0000000000000000000000000000000000000000..82858b5916090a35da527ecc5197788c4fb45054
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/piercings_main.txt
@@ -0,0 +1,2 @@
+Piercing
+Piercing through clothes
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/piercings_misc.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/piercings_misc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..77fdf366ddea54586e78ac6cb54fbf066ac9172b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/piercings_misc.txt
@@ -0,0 +1,3 @@
+Captive bead ring
+Linked piercing
+Plug (piercing)
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/pussy_adornments.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/pussy_adornments.txt
new file mode 100644
index 0000000000000000000000000000000000000000..fca057a9b0d877413799d5dca2fe283b1cf2c076
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/pussy_adornments.txt
@@ -0,0 +1,2 @@
+Clitoris piercing
+Clitoris ring
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/pussy_anatomy.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/pussy_anatomy.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ce4711113c76d7d19e55a497223707ff791fcd69
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/pussy_anatomy.txt
@@ -0,0 +1,8 @@
+Clitoris
+Erect clitoris
+Cleft of venus
+Labia
+Fat mons
+Pubic hair
+Pussy
+No pussy
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/pussy_attire.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/pussy_attire.txt
new file mode 100644
index 0000000000000000000000000000000000000000..42bed55ad5aa4b5f88a70582c52e3c633d880feb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/pussy_attire.txt
@@ -0,0 +1,5 @@
+Bandaid on pussy
+Maebari
+Panties
+Strapless bottom
+Swimsuit
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/pussy_fluids.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/pussy_fluids.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9beb83a50474868bc667262d4c0d4bcdee2ab975
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/pussy_fluids.txt
@@ -0,0 +1,5 @@
+Cum in pussy
+Cum on pussy
+Pussy juice
+Pussy juice puddle
+Pussy juice trail
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/pussy_hands_on.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/pussy_hands_on.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3c86ae1d7150725b2710bfe72350a6c969540500
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/pussy_hands_on.txt
@@ -0,0 +1,4 @@
+Clitoris tweak
+Covering crotch
+Hand between legs
+Spread pussy
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/pussy_sexual_objects_and_acts.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/pussy_sexual_objects_and_acts.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c00237244756c17af333270743c353de7b59819c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/pussy_sexual_objects_and_acts.txt
@@ -0,0 +1,3 @@
+Vaginal
+Gun in pussy
+Phone in pussy
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/pussy_under_clothes.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/pussy_under_clothes.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d36173a6a0d6f70af787ee11acf41535142e60d5
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/pussy_under_clothes.txt
@@ -0,0 +1,2 @@
+Cameltoe
+Spread pussy under clothes
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/pussy_visible_parts.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/pussy_visible_parts.txt
new file mode 100644
index 0000000000000000000000000000000000000000..fea0ff0a70b9de494a7130466d7b7ff8c18fb9dd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/pussy_visible_parts.txt
@@ -0,0 +1,3 @@
+Clitoris slip
+Pussy peek
+Pussy peek
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/shoulders_anatomy.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/shoulders_anatomy.txt
new file mode 100644
index 0000000000000000000000000000000000000000..bfafbd7fc6943ab1381e812a2d45ad40c5d55260
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/shoulders_anatomy.txt
@@ -0,0 +1,3 @@
+Broad shoulders
+Nape
+Shoulder blades
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/shoulders_attire_clothing_desgined_to_leave_shoulders_asymmetrical_necklines.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/shoulders_attire_clothing_desgined_to_leave_shoulders_asymmetrical_necklines.txt
new file mode 100644
index 0000000000000000000000000000000000000000..48b519e212d65d6cb1caef0f02bbfc19281c34e6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/shoulders_attire_clothing_desgined_to_leave_shoulders_asymmetrical_necklines.txt
@@ -0,0 +1,3 @@
+Single-shoulder shirt
+Single-shoulder dress
+Single-shoulder sweater
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/shoulders_attire_clothing_desgined_to_leave_shoulders_bare_low_and_wide_cut_necklines.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/shoulders_attire_clothing_desgined_to_leave_shoulders_bare_low_and_wide_cut_necklines.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a06f62f0f9be4a2a9befb0ccf5d47bca02924966
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/shoulders_attire_clothing_desgined_to_leave_shoulders_bare_low_and_wide_cut_necklines.txt
@@ -0,0 +1,8 @@
+Off-shoulder shirt
+Off-shoulder dress
+Off-shoulder sweater
+Off-shoulder jacket
+Off-shoulder coat
+Off-shoulder bikini
+Off-shoulder one-piece swimsuit
+Off-shoulder leotard
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/shoulders_attire_clothing_desgined_to_leave_shoulders_bare_sleeveless.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/shoulders_attire_clothing_desgined_to_leave_shoulders_bare_sleeveless.txt
new file mode 100644
index 0000000000000000000000000000000000000000..705e00f8282747880ce6b56850e26d56c3fbac7f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/shoulders_attire_clothing_desgined_to_leave_shoulders_bare_sleeveless.txt
@@ -0,0 +1,5 @@
+Sleeveless shirt
+Sleeveless dress
+Sleeveless sweater
+Sleeveless jacket
+Sleeveless coat
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/shoulders_attire_clothing_desgined_to_leave_shoulders_bare_strapless.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/shoulders_attire_clothing_desgined_to_leave_shoulders_bare_strapless.txt
new file mode 100644
index 0000000000000000000000000000000000000000..be07be8fc75b9d240933c87ed841f64682b46df9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/shoulders_attire_clothing_desgined_to_leave_shoulders_bare_strapless.txt
@@ -0,0 +1,7 @@
+Tube top
+Strapless shirt
+Strapless dress
+Strapless bra
+Strapless bikini
+Strapless swimsuit
+Strapless leotard
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/shoulders_attire_exposed.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/shoulders_attire_exposed.txt
new file mode 100644
index 0000000000000000000000000000000000000000..39198be18bd2ac1f7027efc1e4728a26bbd03087
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/shoulders_attire_exposed.txt
@@ -0,0 +1,3 @@
+Bare shoulders
+Off shoulder
+Strap slip
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/shoulders_attire_for.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/shoulders_attire_for.txt
new file mode 100644
index 0000000000000000000000000000000000000000..cc0293d82dafb588d0299f714b38198a4e3d69ee
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/shoulders_attire_for.txt
@@ -0,0 +1,4 @@
+Epaulettes
+Pauldrons
+Puffy sleeves
+Shoulder pads
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/shoulders_attire_other.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/shoulders_attire_other.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5fcae6554b1e6183d493307fbda7bbbbb190e7ab
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/shoulders_attire_other.txt
@@ -0,0 +1,2 @@
+Jacket on shoulders
+Shirt on shoulders
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/shoulders_with_somethinge_else_animals.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/shoulders_with_somethinge_else_animals.txt
new file mode 100644
index 0000000000000000000000000000000000000000..546b22cb22a728385d8fe18a7eb735046343bde0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/shoulders_with_somethinge_else_animals.txt
@@ -0,0 +1,2 @@
+Bird on shoulder
+Cat on shoulder
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/shoulders_with_somethinge_else_hands.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/shoulders_with_somethinge_else_hands.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7823e7734a4c547ff5b03176ce729145c28c470b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/shoulders_with_somethinge_else_hands.txt
@@ -0,0 +1,6 @@
+Arm around neck
+Arm on shoulder
+Hand on shoulder
+Hands on shoulder
+Hands on shoulders
+Shoulder massage
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/shoulders_with_somethinge_else_misc.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/shoulders_with_somethinge_else_misc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6c73455e6e9030c62c715b0d0b0fdf4d3474c9e8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/shoulders_with_somethinge_else_misc.txt
@@ -0,0 +1,3 @@
+Hair over shoulder
+Over shoulder
+Shoulder bag
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/shoulders_with_somethinge_else_objects.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/shoulders_with_somethinge_else_objects.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d45c72448a6e86769f52e37041ffa2754de12311
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/shoulders_with_somethinge_else_objects.txt
@@ -0,0 +1,3 @@
+Towel around neck
+Weapon over shoulder
+Sword over shoulder
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/shoulders_with_somethinge_else_touching.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/shoulders_with_somethinge_else_touching.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f49a65732508bf88bb4ee07db8e543570dde043d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/shoulders_with_somethinge_else_touching.txt
@@ -0,0 +1,5 @@
+Carrying over shoulder
+Fireman's carry
+Piggyback
+Shoulder carry
+Standing on shoulder
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/skin_color_abnormal.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/skin_color_abnormal.txt
new file mode 100644
index 0000000000000000000000000000000000000000..088675032c83ccf4bfd5714d736167b652dc2889
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/skin_color_abnormal.txt
@@ -0,0 +1,10 @@
+Black skin
+Blue skin
+Green skin
+Grey skin
+Orange skin
+Pink skin
+Purple skin
+Red skin
+White skin
+Yellow skin
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/skin_color_misc.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/skin_color_misc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ab9ee965045549c89893ced6a9159ceaad983883
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/skin_color_misc.txt
@@ -0,0 +1,2 @@
+Colored skin
+Shiny skin
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/skin_color_normal.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/skin_color_normal.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e3ad81a14aec18512af952f555063a52519893dc
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/skin_color_normal.txt
@@ -0,0 +1,5 @@
+Dark skin
+Pale skin
+Tan
+Tanlines
+Sun tattoo
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/water_wet.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/water_wet.txt
new file mode 100644
index 0000000000000000000000000000000000000000..59421aeb87f6672ad6a0fcddcf119736872a20d4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/body-2/water_wet.txt
@@ -0,0 +1,10 @@
+Wet
+Wet clothes
+Wet dress
+Wet skirt
+Wet shirt
+Wet shirt
+Wet panties
+Wet swimsuit
+Wet towel
+Wet hair
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/bra_colors.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/bra_colors.txt
new file mode 100644
index 0000000000000000000000000000000000000000..07fa0cd32d935301d8c710f8557f50aea9ee7321
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/bra_colors.txt
@@ -0,0 +1,12 @@
+aqua bra
+black bra
+blue bra
+brown bra
+green bra
+grey bra
+orange bra
+pink bra
+purple bra
+red bra
+white bra
+yellow bra
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/bra_main.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/bra_main.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4e77327a92f76e9fd95a1c1d23ddd557d3354aab
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/bra_main.txt
@@ -0,0 +1 @@
+bra
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/bra_misc.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/bra_misc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f34e13a0ee63582e0a9a8720cc49332b09a75be7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/bra_misc.txt
@@ -0,0 +1,11 @@
+adjusting bra
+bra lift
+bra on ass
+bra on head
+bra pull
+bra removed
+bra strap
+holding bra
+no bra
+open bra
+torn bra
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/bra_models.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/bra_models.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a511f6275aa0d04c79009de184cc7daa5f39c9fe
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/bra_models.txt
@@ -0,0 +1,12 @@
+adhesive bra
+beltbra
+bow bra
+bridgeless bra
+cupless bra
+frilled bra
+shelf bra
+sports bra
+strapless bra
+training bra
+front-tie bra
+front-hook bra
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/bra_multiple_colors.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/bra_multiple_colors.txt
new file mode 100644
index 0000000000000000000000000000000000000000..52fb22985dcb5ebd5b7f0535b5a67950cd379a6b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/bra_multiple_colors.txt
@@ -0,0 +1 @@
+multicolored bra
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/bra_patterns_and_prints.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/bra_patterns_and_prints.txt
new file mode 100644
index 0000000000000000000000000000000000000000..056a4ada2c1eae97f0a60bf10555fb4e0c4c2ee7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/bra_patterns_and_prints.txt
@@ -0,0 +1,9 @@
+checkered bra
+lace bra
+lace-trimmed bra
+plaid bra
+polka dot bra
+print bra
+strawberry bra
+striped bra
+vertical-striped bra
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/dress_appearance_colors.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/dress_appearance_colors.txt
new file mode 100644
index 0000000000000000000000000000000000000000..674e3b137ed33e4b335a42aa32acded46a801638
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/dress_appearance_colors.txt
@@ -0,0 +1,13 @@
+aqua dress
+black dress
+blue dress
+brown dress
+green dress
+grey dress
+orange dress
+pink dress
+purple dress
+red dress
+sepia dress
+white dress
+yellow dress
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/dress_appearance_models.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/dress_appearance_models.txt
new file mode 100644
index 0000000000000000000000000000000000000000..83fb7963b211cbec1a51b1b531308237386378ad
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/dress_appearance_models.txt
@@ -0,0 +1,24 @@
+cake dress
+china dress
+coat dress
+cocktail dress
+denim dress
+dirndl
+evening gown
+flowing dress
+funeral dress
+gown
+mermaid dress
+negligee
+nightgown
+pencil dress
+pinafore dress
+sailor dress
+santa dress
+sundress
+sweater dress
+tennis dress
+trapeze dress
+tube dress
+vietnamese dress
+wedding dress
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/dress_appearance_multiple_colors.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/dress_appearance_multiple_colors.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0052bbd317cef7f11f06e0f73515e0ef5dbd7e8d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/dress_appearance_multiple_colors.txt
@@ -0,0 +1,2 @@
+multicolored dress
+two-tone dress
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/dress_appearance_other.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/dress_appearance_other.txt
new file mode 100644
index 0000000000000000000000000000000000000000..93d7df64fa17fb186acd42b3f6e4a22e68f2c122
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/dress_appearance_other.txt
@@ -0,0 +1,26 @@
+armored dress
+backless dress
+collared dress
+frilled dress
+fur-trimmed dress
+half-dress
+halter dress
+highleg dress
+high-low skirt
+hobble dress
+impossible dress
+lace-trimmed dress
+latex dress
+layered dress
+long dress
+off-shoulder dress
+pleated dress
+plunging neckline
+ribbed dress
+ribbon-trimmed dress
+short dress
+side slit
+taut dress
+see-through dress
+sleeveless dress
+strapless dress
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/dress_appearance_patterns_and_prints.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/dress_appearance_patterns_and_prints.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1bf59fba7f467ad520bf38917bf055978c756530
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/dress_appearance_patterns_and_prints.txt
@@ -0,0 +1,9 @@
+argyle dress
+checkered dress
+flag dress
+plaid dress
+polka dot dress
+print dress
+striped dress
+vertical-striped dress
+pinstripe dress
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/dress_misc.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/dress_misc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ebbdd07dc1e8a985de3f6475912bb3a22498d26a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/dress_misc.txt
@@ -0,0 +1,11 @@
+crinoline
+dress flip
+dress grab
+dress lift
+dress pull
+dress tug
+open dress
+skirt basket
+tied dress
+torn dress
+wet dress
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/sleeves_colors.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/sleeves_colors.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f361100767e36242a5ec8d1af39afc430d34f411
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/sleeves_colors.txt
@@ -0,0 +1,12 @@
+aqua sleeves
+black sleeves
+blue sleeves
+brown sleeves
+green sleeves
+grey sleeves
+orange sleeves
+pink sleeves
+purple sleeves
+red sleeves
+white sleeves
+yellow sleeves
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/sleeves_lack_thereof.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/sleeves_lack_thereof.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1dcf794f7c87b7be31120658c991f517a1be5850
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/sleeves_lack_thereof.txt
@@ -0,0 +1,9 @@
+sleeveless
+sleeveless shirt
+sleeveless dress
+sleeveless duster
+sleeveless hoodie
+sleeveless jacket
+sleeveless kimono
+sleeveless shirt
+sleeveless turtleneck
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/sleeves_lenght.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/sleeves_lenght.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d5ceaded8dacc560d5abb797da01c3c4597196d5
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/sleeves_lenght.txt
@@ -0,0 +1,5 @@
+short sleeves
+long sleeves
+sleeves past wrists
+sleeves past fingers
+sleeves past elbows
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/sleeves_misc.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/sleeves_misc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2a37bd71a02fcd261b0693d11fc34ce3ea1c0211
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/sleeves_misc.txt
@@ -0,0 +1,6 @@
+nipple sleeves
+no detached sleeves
+single sleeve
+sleeve cuffs
+up sleeve
+See also
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/sleeves_prints.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/sleeves_prints.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c8a46440a11c12ed7b9c5a58303e461e54cd4563
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/sleeves_prints.txt
@@ -0,0 +1,5 @@
+print sleeves
+checkered sleeves
+plaid sleeves
+polka dot sleeves
+striped sleeves
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/sleeves_styled.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/sleeves_styled.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a914e2a55e5ece52c0e010cc9a7a6d2a092df19d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/sleeves_styled.txt
@@ -0,0 +1,3 @@
+sleeves rolled up
+sleeves pushed up
+sleeves rolled up
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/sleeves_styles.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/sleeves_styles.txt
new file mode 100644
index 0000000000000000000000000000000000000000..bf152e2c8a895fd10c7863b71df14eaa47a9bbfd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/sleeves_styles.txt
@@ -0,0 +1,22 @@
+uneven sleeves
+bell sleeves
+detached sleeves
+compression sleeve
+elbow sleeve
+single detached sleeve
+lace-up sleeves
+layered sleeves
+long sleeves
+mismatched sleeves
+puff and slash sleeves
+puffy sleeves
+puffy detached sleeves
+puffy long sleeves
+puffy short sleeves
+raglan sleeves
+ribbed sleeves
+see-through sleeves
+short sleeves
+short over long sleeves
+torn sleeves
+wide sleeves
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/sleeves_trims.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/sleeves_trims.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b22ba94310a6d545e1e3eed29a94165d35c2f386
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/sleeves_trims.txt
@@ -0,0 +1,5 @@
+feather-trimmed sleeves
+frilled sleeves
+fur-trimmed sleeves
+lace-trimmed sleeves
+ribbon-trimmed sleeves
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/swimsuit_colors.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/swimsuit_colors.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c450e05a67187a4d87e706d57fabf3ae7eb72835
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/swimsuit_colors.txt
@@ -0,0 +1,14 @@
+aqua one-piece swimsuit
+black one-piece swimsuit
+blue one-piece swimsuit
+brown one-piece swimsuit
+green one-piece swimsuit
+grey one-piece swimsuit
+orange one-piece swimsuit
+pink one-piece swimsuit
+red one-piece swimsuit
+purple one-piece swimsuit
+white one-piece swimsuit
+yellow one-piece swimsuit
+gold one-piece swimsuit
+silver one-piece swimsuit
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/swimsuit_male.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/swimsuit_male.txt
new file mode 100644
index 0000000000000000000000000000000000000000..59dda0c4a8a3969bcc5a1f879018bf468d2b8c90
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/swimsuit_male.txt
@@ -0,0 +1,6 @@
+jammers
+legskin
+swim briefs
+swim trunks
+loincloth
+fundoshi
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/swimsuit_misc.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/swimsuit_misc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..83a4a333d26e020e6c324610756bf6d7a70a1dbd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/swimsuit_misc.txt
@@ -0,0 +1,16 @@
+adjusting swimsuit
+bikini lift
+bikini bottom only
+bikini top only
+hand under swimsuit
+impossible swimsuit
+swim cap
+swimsuit aside
+bikini aside
+swimsuit costume
+swimsuit pull
+bikini pull
+swimsuit under clothes
+swimsuit cover-up
+torn swimsuit
+sarong
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/swimsuit_styles.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/swimsuit_styles.txt
new file mode 100644
index 0000000000000000000000000000000000000000..52cb1db4466183bbf7ce8f1bc93be1af59bbc447
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/swimsuit_styles.txt
@@ -0,0 +1,13 @@
+bow swimsuit
+frilled swimsuit
+frilled bikini
+highleg swimsuit
+highleg bikini
+polka dot swimsuit
+polka dot bikini
+striped one-piece swimsuit
+striped bikini
+white one-piece swimsuit
+white bikini
+g-string
+thong
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/swimsuit_types.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/swimsuit_types.txt
new file mode 100644
index 0000000000000000000000000000000000000000..dfaaa867c222e323c70c3f70861d6cf826f8da1e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/swimsuit_types.txt
@@ -0,0 +1,23 @@
+bikini
+bikini skirt
+checkered bikini
+leaf bikini
+lowleg bikini
+micro bikini
+o-ring bikini
+o-ring top
+o-ring bottom
+shell bikini
+side-tie bikini bottom
+sports bikini
+string bikini
+tankini
+thong bikini
+rash guard
+old-fashioned swimsuit
+one-piece swimsuit
+casual one-piece swimsuit
+dress swimsuit
+competition swimsuit
+school swimsuit
+slingshot swimsuit
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/water_clothes.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/water_clothes.txt
new file mode 100644
index 0000000000000000000000000000000000000000..07a13fd69638d654ec7c3cbe12150bb1e68ed390
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/clothes/water_clothes.txt
@@ -0,0 +1,3 @@
+Bikini
+Goggles
+Swimsuit
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/colors/colors_collections.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/colors/colors_collections.txt
new file mode 100644
index 0000000000000000000000000000000000000000..694cbd73060f90a580b0764bde70424d36557dbd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/colors/colors_collections.txt
@@ -0,0 +1,2 @@
+rainbow
+rainbow order
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/colors/colors_dominant_palettes.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/colors/colors_dominant_palettes.txt
new file mode 100644
index 0000000000000000000000000000000000000000..999b1d184a261502c56c537929d9c7b4f7bb03c4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/colors/colors_dominant_palettes.txt
@@ -0,0 +1,16 @@
+anime coloring
+flat color
+gradient
+ff gradient
+greyscale
+high contrast
+inverted colors
+monochrome
+color drain
+multiple monochrome
+spot color
+muted color
+pale color
+partially colored
+pastel colors
+sepia
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/colors/colors_dominant_specific.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/colors/colors_dominant_specific.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2f02e665f36f9b09566922b41fe3d7fa92aeee0d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/colors/colors_dominant_specific.txt
@@ -0,0 +1,12 @@
+aqua theme
+black theme
+blue theme
+brown theme
+green theme
+grey theme
+orange theme
+pink theme
+purple theme
+red theme
+white theme
+yellow theme
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/colors/colors_misc.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/colors/colors_misc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9601836e5f608f0d2898cfb8392d088a703ea686
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/colors/colors_misc.txt
@@ -0,0 +1,4 @@
+color connection
+colorized
+colorful
+spot color
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/composition/image_composition_angle_perspective_depth.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/composition/image_composition_angle_perspective_depth.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c7132a96d10ab3859c1275a35a98d706dc1e2083
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/composition/image_composition_angle_perspective_depth.txt
@@ -0,0 +1,13 @@
+atmospheric perspective
+dutch angle
+fisheye
+from above
+from behind
+from below
+panorama
+perspective
+pov
+rotated
+sideways
+upside-down
+vanishing point
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/composition/image_composition_composition.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/composition/image_composition_composition.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f81484247450678318d730e639e84a38f068020d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/composition/image_composition_composition.txt
@@ -0,0 +1,41 @@
+afterimage
+border
+framed
+outside border
+fading border
+rounded corners
+viewfinder
+chart
+bust chart
+character chart
+reference sheet
+diagram
+move chart
+relationship graph
+seating chart
+stats
+collage
+column lineup
+cropped
+fake scrollbar
+head out of frame
+out-of-frame censoring
+outside border
+glitch
+isometric
+letterboxed
+pillarboxed
+lineup
+mosaic art
+photomosaic
+negative space
+omake
+partially underwater shot
+social media composition
+symmetry
+polar opposites
+rotational symmetry
+tachi-e
+trim marks
+zoom layer
+projected inset
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/composition/image_composition_flaws.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/composition/image_composition_flaws.txt
new file mode 100644
index 0000000000000000000000000000000000000000..aec7ecea0b9449dfc0a17dc9ab564a644ef22c8a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/composition/image_composition_flaws.txt
@@ -0,0 +1,53 @@
+Artifacts
+gif artifacts
+jpeg artifacts
+aliasing
+scan artifacts
+bleed through
+crease
+vhs artifacts
+bad aspect ratio
+blurry
+censored
+uncensored
+decensored
+derivative work
+photo-referenced
+reference photo
+reference work
+screencap redraw
+duplicate
+pixel-perfect duplicate
+error
+bad reflection
+extra digits
+typo
+lossless-lossy
+lossy-lossless
+image macro
+md5 mismatch
+moire
+third-party edit
+detexted
+hard translated
+nude filter
+poorly drawn
+anatomical nonsense
+bad anatomy
+bad feet
+bad hands
+bad proportions
+quality
+ranguage
+resized
+downscaled
+image sample
+upscaled
+waifu2x
+reversed
+solid color thumbnail
+unmoving pattern
+watermark
+third-party watermark
+web address
+extraction
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/composition/image_composition_focus.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/composition/image_composition_focus.txt
new file mode 100644
index 0000000000000000000000000000000000000000..473935c7d0e032d3a49fa12e01da40936f731c07
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/composition/image_composition_focus.txt
@@ -0,0 +1,23 @@
+animal focus
+armpit focus
+ass focus
+back focus
+book focus
+breast focus
+cloud focus
+eye focus
+food focus
+foot focus
+hand focus
+hip focus
+male focus
+navel focus
+other focus
+pectoral focus
+solo focus
+tank focus
+text focus
+thigh focus
+weapon focus
+vehicle focus
+wind chime focus
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/composition/image_composition_format.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/composition/image_composition_format.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2e34dde65bbadac786b24ad6a343dabbe2dcbbbe
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/composition/image_composition_format.txt
@@ -0,0 +1,86 @@
+3d
+animated
+animated png
+flash
+video
+music video
+animated gif
+easytoon
+non-repeating animation
+looping animation
+roulette animation
+live2d
+archived file
+artbook
+calendar (medium)
+card (medium)
+comic
+1koma
+2koma
+3koma
+4koma
+multiple 4koma
+5koma
+borderless panels
+manga
+eromanga
+left-to-right manga
+right-to-left comic
+silent comic
+corrupted file
+cover
+album cover
+character single
+cover page
+doujin cover
+dvd cover
+fake cover
+video game cover
+magazine cover
+manga cover
+fake screenshot
+game cg
+gyotaku (medium)
+highres
+absurdres
+incredibly absurdres
+lowres
+icon
+logo
+kirigami
+lineart
+no lineart
+outline
+tall image
+wide image
+mosaic art
+photomosaic
+oekaki
+official art
+phonecard
+photo
+papercraft
+paper child
+paper cutout
+pixel art
+postcard
+poster
+revision
+has bad revision
+has artifacted revision
+has censored revision
+has cropped revision
+has downscaled revision
+has lossy revision
+has watermarked revision
+scan
+anime screencap
+shitajiki
+tegaki
+transparent background
+triptych (art)
+vector trace
+tileable
+wallpaper forced
+widescreen
+official wallpaper
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/composition/image_composition_framing_body.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/composition/image_composition_framing_body.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8048f0a808cfc2dccbae5cbe89fa858d4b696f25
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/composition/image_composition_framing_body.txt
@@ -0,0 +1,18 @@
+face
+portrait
+upper body
+lower body
+cowboy shot
+feet out of frame
+full body
+wide shot
+very wide shot
+close-up
+cut-in
+cropped legs
+head out of frame
+cropped torso
+cropped arms
+cropped shoulders
+profile
+group profile
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/composition/image_composition_other_patterns.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/composition/image_composition_other_patterns.txt
new file mode 100644
index 0000000000000000000000000000000000000000..19fa73f8b3fee267cb4edddf94c7de68e1983447
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/composition/image_composition_other_patterns.txt
@@ -0,0 +1,17 @@
+animal print
+cow print
+leopard print
+tiger print
+zebra print
+shark print
+argyle
+checkered
+fleur de lis
+floral print
+gingham
+houndstooth
+meandros
+paisley
+plaid
+polka dot
+striped
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/composition/image_composition_styles.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/composition/image_composition_styles.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b784a257d4e2c3462ad6a595402278733daa9625
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/composition/image_composition_styles.txt
@@ -0,0 +1,21 @@
+abstract
+art deco
+art nouveau
+fine art parody
+flame painter
+impressionism
+ligne claire
+nihonga
+sumi-e
+ukiyo-e
+minimalism
+realistic
+photorealistic
+sketch
+style parody
+List of style parodies
+surreal
+traditional media
+* (medium)
+faux traditional media
+unfinished
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/composition/image_composition_subject_matter.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/composition/image_composition_subject_matter.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0f60b89c86b6eec3a909a6de906bf0c742451304
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/composition/image_composition_subject_matter.txt
@@ -0,0 +1,9 @@
+cityscape
+everyone
+absolutely everyone
+landscape
+nature
+no humans
+off-topic
+scenery
+still life
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/composition/image_composition_techniques.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/composition/image_composition_techniques.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ce8e481b2cc1cb263e1463838518cba542f007bb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/composition/image_composition_techniques.txt
@@ -0,0 +1,33 @@
+backlighting
+blending
+bloom
+bokeh
+caustics
+chiaroscuro
+chromatic aberration
+chromatic aberration abuse
+diffraction spikes
+depth of field
+dithering
+drop shadow
+emphasis lines
+film grain
+foreshortening
+gradient
+halftone
+image fill
+lens flare
+lens flare abuse
+motion blur
+motion lines
+multiple monochrome
+optical illusion
+anaglyph
+exif thumbnail surprise
+open in internet explorer
+open in winamp
+stereogram
+scanlines
+silhouette
+speed lines
+vignetting
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/composition/image_composition_traditional_japanese_patterns.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/composition/image_composition_traditional_japanese_patterns.txt
new file mode 100644
index 0000000000000000000000000000000000000000..18ca8d8f76a2e03cf999f895b11796955762f27a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/composition/image_composition_traditional_japanese_patterns.txt
@@ -0,0 +1,19 @@
+asa no ha (pattern)
+egasumi
+genjiguruma
+goshoguruma
+igeta (pattern)
+kagome (pattern)
+kanoko (pattern)
+karakusa (pattern)
+kikumon
+kikkoumon
+kojitsunagi (pattern)
+sakuramon
+sayagata
+seigaiha
+shima (pattern)
+shippou (pattern)
+uchiwa design
+uroko (pattern)
+yagasuri
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/emoji/emoji.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/emoji/emoji.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e83bb2c904e425cda1ce300a5d756e2d18644640
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/emoji/emoji.txt
@@ -0,0 +1,1281 @@
+©
+®
+‼
+⁉
+™
+ℹ
+↔
+↕
+↖
+↗
+↘
+↙
+↩
+↪
+⌚
+⌛
+⌨
+⏏
+⏩
+⏪
+⏫
+⏬
+⏭
+⏮
+⏯
+⏰
+⏱
+⏲
+⏳
+⏸
+⏹
+⏺
+Ⓜ
+▪
+▫
+▶
+◀
+◻
+◼
+◽
+◾
+☀
+☁
+☂
+☃
+☄
+☎
+☑
+☔
+☕
+☘
+☝
+☠
+☢
+☣
+☦
+☪
+☮
+☯
+☸
+☹
+☺
+♈
+♉
+♊
+♋
+♌
+♍
+♎
+♏
+♐
+♑
+♒
+♓
+♠
+♣
+♥
+♦
+♨
+♻
+♿
+⚒
+⚓
+⚔
+⚖
+⚗
+⚙
+⚛
+⚜
+⚠
+⚡
+⚪
+⚫
+⚰
+⚱
+⚽
+⚾
+⛄
+⛅
+⛈
+⛎
+⛏
+⛑
+⛓
+⛔
+⛩
+⛪
+⛰
+⛱
+⛲
+⛳
+⛴
+⛵
+⛷
+⛸
+⛹
+⛺
+⛽
+✂
+✅
+✈
+✉
+✊
+✋
+✌
+✍
+✏
+✒
+✔
+✖
+✝
+✡
+✨
+✳
+✴
+❄
+❇
+❌
+❎
+❓
+❔
+❕
+❗
+❣
+❤
+➕
+➖
+➗
+➡
+➰
+➿
+⤴
+⤵
+⬅
+⬆
+⬇
+⬛
+⬜
+⭐
+⭕
+〰
+〽
+㊗
+㊙
+🀄
+🃏
+🅰
+🅱
+🅾
+🅿
+🆎
+🆑
+🆒
+🆓
+🆔
+🆕
+🆖
+🆗
+🆘
+🆙
+🆚
+🈁
+🈂
+🈚
+🈯
+🈲
+🈳
+🈴
+🈵
+🈶
+🈷
+🈸
+🈹
+🈺
+🉐
+🉑
+🌀
+🌁
+🌂
+🌃
+🌄
+🌅
+🌆
+🌇
+🌈
+🌉
+🌊
+🌋
+🌌
+🌍
+🌎
+🌏
+🌐
+🌑
+🌒
+🌓
+🌔
+🌕
+🌖
+🌗
+🌘
+🌙
+🌚
+🌛
+🌜
+🌝
+🌞
+🌟
+🌠
+🌡
+🌤
+🌥
+🌦
+🌧
+🌨
+🌩
+🌪
+🌫
+🌬
+🌭
+🌮
+🌯
+🌰
+🌱
+🌲
+🌳
+🌴
+🌵
+🌶
+🌷
+🌸
+🌹
+🌺
+🌻
+🌼
+🌽
+🌾
+🌿
+🍀
+🍁
+🍂
+🍃
+🍄
+🍅
+🍆
+🍇
+🍈
+🍉
+🍊
+🍋
+🍌
+🍍
+🍎
+🍏
+🍐
+🍑
+🍒
+🍓
+🍔
+🍕
+🍖
+🍗
+🍘
+🍙
+🍚
+🍛
+🍜
+🍝
+🍞
+🍟
+🍠
+🍡
+🍢
+🍣
+🍤
+🍥
+🍦
+🍧
+🍨
+🍩
+🍪
+🍫
+🍬
+🍭
+🍮
+🍯
+🍰
+🍱
+🍲
+🍳
+🍴
+🍵
+🍶
+🍷
+🍸
+🍹
+🍺
+🍻
+🍼
+🍽
+🍾
+🍿
+🎀
+🎁
+🎂
+🎃
+🎄
+🎅
+🎆
+🎇
+🎈
+🎉
+🎊
+🎋
+🎌
+🎍
+🎎
+🎏
+🎐
+🎑
+🎒
+🎓
+🎖
+🎗
+🎙
+🎚
+🎛
+🎞
+🎟
+🎠
+🎡
+🎢
+🎣
+🎤
+🎥
+🎦
+🎧
+🎨
+🎩
+🎪
+🎫
+🎬
+🎭
+🎮
+🎯
+🎰
+🎱
+🎲
+🎳
+🎴
+🎵
+🎶
+🎷
+🎸
+🎹
+🎺
+🎻
+🎼
+🎽
+🎾
+🎿
+🏀
+🏁
+🏂
+🏃
+🏄
+🏅
+🏆
+🏇
+🏈
+🏉
+🏊
+🏋
+🏌
+🏍
+🏎
+🏏
+🏐
+🏑
+🏒
+🏓
+🏔
+🏕
+🏖
+🏗
+🏘
+🏙
+🏚
+🏛
+🏜
+🏝
+🏞
+🏟
+🏠
+🏡
+🏢
+🏣
+🏤
+🏥
+🏦
+🏧
+🏨
+🏩
+🏪
+🏫
+🏬
+🏭
+🏮
+🏯
+🏰
+🏳
+🏴
+🏵
+🏷
+🏸
+🏹
+🏺
+🏻
+🏼
+🏽
+🏾
+🏿
+🐀
+🐁
+🐂
+🐃
+🐄
+🐅
+🐆
+🐇
+🐈
+🐉
+🐊
+🐋
+🐌
+🐍
+🐎
+🐏
+🐐
+🐑
+🐒
+🐓
+🐔
+🐕
+🐖
+🐗
+🐘
+🐙
+🐚
+🐛
+🐜
+🐝
+🐞
+🐟
+🐠
+🐡
+🐢
+🐣
+🐤
+🐥
+🐦
+🐧
+🐨
+🐩
+🐪
+🐫
+🐬
+🐭
+🐮
+🐯
+🐰
+🐱
+🐲
+🐳
+🐴
+🐵
+🐶
+🐷
+🐸
+🐹
+🐺
+🐻
+🐼
+🐽
+🐾
+🐿
+👀
+👁
+👂
+👃
+👄
+👅
+👆
+👇
+👈
+👉
+👊
+👋
+👌
+👍
+👎
+👏
+👐
+👑
+👒
+👓
+👔
+👕
+👖
+👗
+👘
+👙
+👚
+👛
+👜
+👝
+👞
+👟
+👠
+👡
+👢
+👣
+👤
+👥
+👦
+👧
+👨
+👩
+👪
+👫
+👬
+👭
+👮
+👯
+👰
+👱
+👲
+👳
+👴
+👵
+👶
+👷
+👸
+👹
+👺
+👻
+👼
+👽
+👾
+👿
+💀
+💁
+💂
+💃
+💄
+💅
+💆
+💇
+💈
+💉
+💊
+💋
+💌
+💍
+💎
+💏
+💐
+💑
+💒
+💓
+💔
+💕
+💖
+💗
+💘
+💙
+💚
+💛
+💜
+💝
+💞
+💟
+💠
+💡
+💢
+💣
+💤
+💥
+💦
+💧
+💨
+💩
+💪
+💫
+💬
+💭
+💮
+💯
+💰
+💱
+💲
+💳
+💴
+💵
+💶
+💷
+💸
+💹
+💺
+💻
+💼
+💽
+💾
+💿
+📀
+📁
+📂
+📃
+📄
+📅
+📆
+📇
+📈
+📉
+📊
+📋
+📌
+📍
+📎
+📏
+📐
+📑
+📒
+📓
+📔
+📕
+📖
+📗
+📘
+📙
+📚
+📛
+📜
+📝
+📞
+📟
+📠
+📡
+📢
+📣
+📤
+📥
+📦
+📧
+📨
+📩
+📪
+📫
+📬
+📭
+📮
+📯
+📰
+📱
+📲
+📳
+📴
+📵
+📶
+📷
+📸
+📹
+📺
+📻
+📼
+📽
+📿
+🔀
+🔁
+🔂
+🔃
+🔄
+🔅
+🔆
+🔇
+🔈
+🔉
+🔊
+🔋
+🔌
+🔍
+🔎
+🔏
+🔐
+🔑
+🔒
+🔓
+🔔
+🔕
+🔖
+🔗
+🔘
+🔙
+🔚
+🔛
+🔜
+🔝
+🔞
+🔟
+🔠
+🔡
+🔢
+🔣
+🔤
+🔥
+🔦
+🔧
+🔨
+🔩
+🔪
+🔫
+🔬
+🔭
+🔮
+🔯
+🔰
+🔱
+🔲
+🔳
+🔴
+🔵
+🔶
+🔷
+🔸
+🔹
+🔺
+🔻
+🔼
+🔽
+🕉
+🕊
+🕋
+🕌
+🕍
+🕎
+🕐
+🕑
+🕒
+🕓
+🕔
+🕕
+🕖
+🕗
+🕘
+🕙
+🕚
+🕛
+🕜
+🕝
+🕞
+🕟
+🕠
+🕡
+🕢
+🕣
+🕤
+🕥
+🕦
+🕧
+🕯
+🕰
+🕳
+🕴
+🕵
+🕶
+🕷
+🕸
+🕹
+🖇
+🖊
+🖋
+🖌
+🖍
+🖐
+🖕
+🖖
+🖥
+🖨
+🖱
+🖲
+🖼
+🗂
+🗃
+🗄
+🗑
+🗒
+🗓
+🗜
+🗝
+🗞
+🗡
+🗣
+🗯
+🗳
+🗺
+🗻
+🗼
+🗽
+🗾
+🗿
+😀
+😁
+😂
+😃
+😄
+😅
+😆
+😇
+😈
+😉
+😊
+😋
+😌
+😍
+😎
+😏
+😐
+😑
+😒
+😓
+😔
+😕
+😖
+😗
+😘
+😙
+😚
+😛
+😜
+😝
+😞
+😟
+😠
+😡
+😢
+😣
+😤
+😥
+😦
+😧
+😨
+😩
+😪
+😫
+😬
+😭
+😮
+😯
+😰
+😱
+😲
+😳
+😴
+😵
+😶
+😷
+😸
+😹
+😺
+😻
+😼
+😽
+😾
+😿
+🙀
+🙁
+🙂
+🙃
+🙄
+🙅
+🙆
+🙇
+🙈
+🙉
+🙊
+🙋
+🙌
+🙍
+🙎
+🙏
+🚀
+🚁
+🚂
+🚃
+🚄
+🚅
+🚆
+🚇
+🚈
+🚉
+🚊
+🚋
+🚌
+🚍
+🚎
+🚏
+🚐
+🚑
+🚒
+🚓
+🚔
+🚕
+🚖
+🚗
+🚘
+🚙
+🚚
+🚛
+🚜
+🚝
+🚞
+🚟
+🚠
+🚡
+🚢
+🚣
+🚤
+🚥
+🚦
+🚧
+🚨
+🚩
+🚪
+🚫
+🚬
+🚭
+🚮
+🚯
+🚰
+🚱
+🚲
+🚳
+🚴
+🚵
+🚶
+🚷
+🚸
+🚹
+🚺
+🚻
+🚼
+🚽
+🚾
+🚿
+🛀
+🛁
+🛂
+🛃
+🛄
+🛅
+🛋
+🛌
+🛍
+🛎
+🛏
+🛐
+🛠
+🛡
+🛢
+🛣
+🛤
+🛥
+🛩
+🛫
+🛬
+🛰
+🛳
+🤐
+🤑
+🤒
+🤓
+🤔
+🤕
+🤖
+🤗
+🤘
+🦀
+🦁
+🦂
+🦃
+🦄
+🧀
+#⃣
+*⃣
+0⃣
+1⃣
+2⃣
+3⃣
+4⃣
+5⃣
+6⃣
+7⃣
+8⃣
+9⃣
+🇦🇨
+🇦🇩
+🇦🇪
+🇦🇫
+🇦🇬
+🇦🇮
+🇦🇱
+🇦🇲
+🇦🇴
+🇦🇶
+🇦🇷
+🇦🇸
+🇦🇹
+🇦🇺
+🇦🇼
+🇦🇽
+🇦🇿
+🇧🇦
+🇧🇧
+🇧🇩
+🇧🇪
+🇧🇫
+🇧🇬
+🇧🇭
+🇧🇮
+🇧🇯
+🇧🇱
+🇧🇲
+🇧🇳
+🇧🇴
+🇧🇶
+🇧🇷
+🇧🇸
+🇧🇹
+🇧🇻
+🇧🇼
+🇧🇾
+🇧🇿
+🇨🇦
+🇨🇨
+🇨🇩
+🇨🇫
+🇨🇬
+🇨🇭
+🇨🇮
+🇨🇰
+🇨🇱
+🇨🇲
+🇨🇳
+🇨🇴
+🇨🇵
+🇨🇷
+🇨🇺
+🇨🇻
+🇨🇼
+🇨🇽
+🇨🇾
+🇨🇿
+🇩🇪
+🇩🇬
+🇩🇯
+🇩🇰
+🇩🇲
+🇩🇴
+🇩🇿
+🇪🇦
+🇪🇨
+🇪🇪
+🇪🇬
+🇪🇭
+🇪🇷
+🇪🇸
+🇪🇹
+🇪🇺
+🇫🇮
+🇫🇯
+🇫🇰
+🇫🇲
+🇫🇴
+🇫🇷
+🇬🇦
+🇬🇧
+🇬🇩
+🇬🇪
+🇬🇫
+🇬🇬
+🇬🇭
+🇬🇮
+🇬🇱
+🇬🇲
+🇬🇳
+🇬🇵
+🇬🇶
+🇬🇷
+🇬🇸
+🇬🇹
+🇬🇺
+🇬🇼
+🇬🇾
+🇭🇰
+🇭🇲
+🇭🇳
+🇭🇷
+🇭🇹
+🇭🇺
+🇮🇨
+🇮🇩
+🇮🇪
+🇮🇱
+🇮🇲
+🇮🇳
+🇮🇴
+🇮🇶
+🇮🇷
+🇮🇸
+🇮🇹
+🇯🇪
+🇯🇲
+🇯🇴
+🇯🇵
+🇰🇪
+🇰🇬
+🇰🇭
+🇰🇮
+🇰🇲
+🇰🇳
+🇰🇵
+🇰🇷
+🇰🇼
+🇰🇾
+🇰🇿
+🇱🇦
+🇱🇧
+🇱🇨
+🇱🇮
+🇱🇰
+🇱🇷
+🇱🇸
+🇱🇹
+🇱🇺
+🇱🇻
+🇱🇾
+🇲🇦
+🇲🇨
+🇲🇩
+🇲🇪
+🇲🇫
+🇲🇬
+🇲🇭
+🇲🇰
+🇲🇱
+🇲🇲
+🇲🇳
+🇲🇴
+🇲🇵
+🇲🇶
+🇲🇷
+🇲🇸
+🇲🇹
+🇲🇺
+🇲🇻
+🇲🇼
+🇲🇽
+🇲🇾
+🇲🇿
+🇳🇦
+🇳🇨
+🇳🇪
+🇳🇫
+🇳🇬
+🇳🇮
+🇳🇱
+🇳🇴
+🇳🇵
+🇳🇷
+🇳🇺
+🇳🇿
+🇴🇲
+🇵🇦
+🇵🇪
+🇵🇫
+🇵🇬
+🇵🇭
+🇵🇰
+🇵🇱
+🇵🇲
+🇵🇳
+🇵🇷
+🇵🇸
+🇵🇹
+🇵🇼
+🇵🇾
+🇶🇦
+🇷🇪
+🇷🇴
+🇷🇸
+🇷🇺
+🇷🇼
+🇸🇦
+🇸🇧
+🇸🇨
+🇸🇩
+🇸🇪
+🇸🇬
+🇸🇭
+🇸🇮
+🇸🇯
+🇸🇰
+🇸🇱
+🇸🇲
+🇸🇳
+🇸🇴
+🇸🇷
+🇸🇸
+🇸🇹
+🇸🇻
+🇸🇽
+🇸🇾
+🇸🇿
+🇹🇦
+🇹🇨
+🇹🇩
+🇹🇫
+🇹🇬
+🇹🇭
+🇹🇯
+🇹🇰
+🇹🇱
+🇹🇲
+🇹🇳
+🇹🇴
+🇹🇷
+🇹🇹
+🇹🇻
+🇹🇼
+🇹🇿
+🇺🇦
+🇺🇬
+🇺🇲
+🇺🇸
+🇺🇾
+🇺🇿
+🇻🇦
+🇻🇨
+🇻🇪
+🇻🇬
+🇻🇮
+🇻🇳
+🇻🇺
+🇼🇫
+🇼🇸
+🇽🇰
+🇾🇪
+🇾🇹
+🇿🇦
+🇿🇲
+🇿🇼
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/focus/focus_body_parts.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/focus/focus_body_parts.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d382914753597505e190984344dc5719b1af22fb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/focus/focus_body_parts.txt
@@ -0,0 +1,11 @@
+armpit focus
+ass focus
+back focus
+breast focus
+eye focus
+foot focus
+hand focus
+hip focus
+navel focus
+pectoral focus
+thigh focus
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/focus/focus_gender.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/focus/focus_gender.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2ff6e82ca69a078217080e55073c631639fbfe38
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/focus/focus_gender.txt
@@ -0,0 +1,2 @@
+male focus
+other focus
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/focus/focus_objects.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/focus/focus_objects.txt
new file mode 100644
index 0000000000000000000000000000000000000000..59e4432ac6d11bbcd9be4069de3ec63dd0940a6f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/focus/focus_objects.txt
@@ -0,0 +1,9 @@
+animal focus
+book focus
+cloud focus
+food focus
+text focus
+vehicle focus
+tank focus
+weapon focus
+wind chime focus
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/focus/focus_other.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/focus/focus_other.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a13173a36cc840a8d2d0e8906b89862318b05457
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/focus/focus_other.txt
@@ -0,0 +1,2 @@
+solo focus
+text focus
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_actions.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_actions.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e7108c10e3e4eafcca57c925f19da64400b6cef3
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_actions.txt
@@ -0,0 +1,36 @@
+cannibalism
+cooking
+baking
+barbecue
+chocolate making
+grilling
+roasting
+cupping glass
+dishwashing
+drinking
+drunk
+eating
+feeding
+force-feeding
+incoming food
+flipping food
+food fight
+foodgasm
+full mouth
+hanging food
+hungry
+hunger hallucination
+in food
+licking
+picnic
+pouring
+decantering
+shop
+shopping
+shinkon santaku
+spill
+tasting
+toast in mouth
+the last supper
+vore
+whisking
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_breads.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_breads.txt
new file mode 100644
index 0000000000000000000000000000000000000000..01c591ee65c943428ec8b9404e1b8f699610e909
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_breads.txt
@@ -0,0 +1,45 @@
+bread
+baguette
+biscuit
+bread bun
+bread crust
+bread eating race
+japari bun
+melon bread
+toast
+cereal
+cracker
+arare
+senbei
+croissant
+empanada
+noodles
+pasta
+lasagne
+spaghetti
+black spaghetti
+spaghetti and meatballs
+ramen
+cup ramen
+jirou
+soba
+yakisoba
+italian (niigata)
+yakisobapan
+soumen
+udon
+kitsune udon
+pancake
+pancake stack
+rice
+curry rice
+fried rice
+omurice
+onigiri
+rice on face
+rice paddy
+rice porridge
+nanakusa-no-sekku
+risotto
+scone
+waffle
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_condiments.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_condiments.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a8f75e5f67310d49e4e36c6def68f007444d1224
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_condiments.txt
@@ -0,0 +1,19 @@
+furikake
+honey
+jam
+marmalade
+ketchup
+mayonnaise
+mustard
+peanut butter
+pepper shaker
+salt shaker
+sauce
+hot sauce
+soy sauce
+sugar (food)
+sugar cube
+syrup
+chocolate syrup
+strawberry syrup
+wasabi
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_dairy.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_dairy.txt
new file mode 100644
index 0000000000000000000000000000000000000000..12a0b0f914be4d4771174fb3c1c0d3759f5a18e9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_dairy.txt
@@ -0,0 +1,20 @@
+butter
+cheese
+smoked cheese
+swiss cheese
+cream
+whipped cream
+eggnog
+kefir
+milk
+baby bottle
+condensed milk
+chocolate milk
+milk bottle
+milk carton
+milk churn
+milk mustache
+milkshake
+strawberry milk
+yakult
+yogurt
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_drink_containers.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_drink_containers.txt
new file mode 100644
index 0000000000000000000000000000000000000000..67c18128409ab0471acb1eaed4c597f5341d1725
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_drink_containers.txt
@@ -0,0 +1,32 @@
+bottle
+soda bottle
+can
+cup
+mug
+sakazuki
+yunomi
+drinking glass
+champagne coupe
+champagne flute
+cocktail glass
+hurricane glass
+shot glass
+snifter
+wine glass
+coffee cup
+coffee mug
+coffee pot
+coffee press
+gourd
+jar
+jug
+juice box
+beer mug
+canned tea
+saucer
+teacup
+teapot
+long spout teapot
+side handle teapot
+tea set
+thermos
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_drink_main.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_drink_main.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9a7ddc33ac7d5da29c8b6877196d473847929cdd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_drink_main.txt
@@ -0,0 +1,57 @@
+alcohol
+beer
+non-alcoholic beer
+guinness (beer)
+champagne
+cocktail
+caesar (drink)
+cocktail umbrella
+margarita
+martini
+liquor
+sake
+tequila
+vodka
+whiskey
+wine
+coffee
+cafe au lait
+canned coffee
+coffee beans
+dandelion coffee
+georgia max coffee
+latte art
+starbucks
+juice
+amazake
+lemonade
+orange juice
+milk
+soda
+7up
+calpis
+coca-cola
+dr pepper
+fanta
+melon soda
+mountain dew
+pepsi
+pepsi ice cucumber
+ramune
+root beer
+soda can
+tea
+barley tea
+black tea
+bubble tea
+darjeeling tea
+earl grey tea
+green tea
+herbal tea
+iced tea
+milk tea
+rose hip tea
+spear mint tea
+tropical drink
+blue hawaii
+water
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_fruit.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_fruit.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a134017fadaf3e4ddd57c5991e89b3115ce7811f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_fruit.txt
@@ -0,0 +1,69 @@
+akebia fruit
+apple
+apple bunny
+apple core
+apple peel
+bitten apple
+candy apple
+golden apple
+green apple
+red apple
+avocado
+banana
+banana boat
+banana peel
+banana popsicle
+banana slice
+chocolate banana
+gel banana
+on banana
+berry
+blackberry
+blueberry
+raspberry
+strawberry
+cacao fruit
+cherry
+chinese lantern
+dragon fruit
+fig
+fruit bowl
+fruit cup
+gooseberry
+grapefruit
+grapes
+currant
+grape stomping
+kiwi
+kiwi slice
+lemon
+lemon slice
+lemonade
+lime
+lime slice
+lychee
+mango
+mangosteen
+melon
+cantaloupe
+honeydew
+muskmelon
+watermelon
+olive
+orange
+mandarin orange
+orangette
+orange juice
+orange slice
+papaya
+peach
+pear
+nashi pear
+persimmon
+pineapple
+plum
+pomegranate
+rambutan
+starfruit
+umeboshi
+yuzu (fruit)
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_main.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_main.txt
new file mode 100644
index 0000000000000000000000000000000000000000..393b93cfcc4ec8bf0db1ba8524c7534747cf6b4d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_main.txt
@@ -0,0 +1 @@
+food
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_meal.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_meal.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ff01db081c656cb64b17e612b38a24348b54a4eb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_meal.txt
@@ -0,0 +1,73 @@
+canned food
+cooking oil
+crumbs
+curry
+curry rice
+dumpling
+jiaozi
+shumai
+tang yuan
+croquette
+fish and chips
+flour
+fondue
+french fries
+french toast
+burger
+megamac
+hot dog
+corn dog
+katsu
+katsudon
+konnyaku
+meal
+breakfast
+dim sum
+dinner
+feast
+lunch
+bento
+okosama lunch
+party
+birthday party
+tea party
+baozi
+nabe
+oden
+sukiyaki
+narutomaki
+okonomiyaki
+omelet
+pizza
+holding pizza
+pizza box
+pizza delivery
+pizza slice
+ribs (food)
+salad
+salt
+salt shaker
+sandwich
+soup
+miso soup
+zouni soup
+sushi
+conveyor belt sushi
+gunkanmaki
+inarizushi
+makizushi
+nigirizushi
+sushi geta
+taco
+takoyaki
+takuan
+tamagokake gohan
+tempura
+shrimp tempura
+tofu
+aburaage
+mapo tofu
+stinky tofu
+twice cooked pork
+unadon (food)
+zongzi
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_meat.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_meat.txt
new file mode 100644
index 0000000000000000000000000000000000000000..73a2eca75dabf361f490a46ad9cd40f3e5415c2b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_meat.txt
@@ -0,0 +1,41 @@
+bacon
+boned meat
+chicken
+chicken leg
+chicken nuggets
+fried chicken
+yakitori
+crab
+egg
+broken egg
+egg laying
+egg yolk
+eggshell
+eggshell hat
+fried egg
+century egg
+hardboiled egg
+scrambled egg
+roe
+caviar
+ikura
+fish
+fish bone
+sashimi
+katsuo no tataki
+gyuudon
+hamburger steak
+kamaboko
+kebab
+lobster
+meatball
+pork
+ham
+sausage
+shrimp
+shrimp tempura
+steak
+tako-san wiener
+kani-san wiener
+turkey
+turkey leg
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_misc.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_misc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8261863d56008f4e527df0e2604228a9689cb510
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_misc.txt
@@ -0,0 +1,6 @@
+bad food
+food
+food-themed clothes
+food-themed hair ornament
+food girls
+oversized food
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_professions_and_establishments.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_professions_and_establishments.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b68c311fbf63ce116b0548da4cac963c87e9e9a4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_professions_and_establishments.txt
@@ -0,0 +1,38 @@
+apron
+naked apron
+bakery
+butler
+chef
+chef hat
+toque blanche
+flat top chef hat
+food stand
+ice cream stand
+yatai
+kitchen
+maid
+restaurant
+bar
+bartender
+cafe
+barista
+maid cafe
+cafeteria
+conveyor belt sushi
+diner
+fast food
+izakaya
+menu
+angel mort
+anna miller
+bronze parrot
+hooters
+koubeya
+yoshinoya
+tavern
+yakiniku
+supermarket
+market
+groceries
+waitress
+waiter
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_sexual.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_sexual.txt
new file mode 100644
index 0000000000000000000000000000000000000000..76d05aacc719d40b7ce2fd6a9e5337838b68ecee
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_sexual.txt
@@ -0,0 +1,14 @@
+cum on food
+food on body
+bust cup
+chocolate on body
+chocolate on breasts
+naked chocolate
+cream on body
+food as clothes
+chocolate clothes
+food between breasts
+food on breasts
+nyotaimori
+nantaimori
+wakamezake
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_snacks.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_snacks.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9fb6f86672d0d5a5090f2cb6ba885ae771c9b5c1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_snacks.txt
@@ -0,0 +1,9 @@
+chikuwa
+chips
+bugles
+doritos
+potato chips
+pringles
+popcorn
+pretzel
+umaibou
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_sweets.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_sweets.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ef556c7b1685684383b48bd06810a32464d7e612
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_sweets.txt
@@ -0,0 +1,156 @@
+anmitsu
+mitsumame
+batter
+bread
+anpan
+cinnamon roll
+gumball
+hot cross bun
+melon bread
+noppo bread
+pastry box
+cake
+baumkuchen
+birthday cake
+black forest cake
+charlotte cake
+cheesecake
+rare cheesecake
+brownie
+chocolate cake
+chocolate framboise
+christmas cake
+cupcake
+fondant au chocolat
+layer cake
+madeleine
+mille-feuille
+mont blanc
+opera cake
+pound cake
+red velvet cake
+cake slice
+stollen
+strawberry shortcake
+swiss roll
+strawberry swiss roll
+tiramisu
+wedding cake
+yule log
+candy
+candy cane
+chitose ame
+cigarette candy
+creme egg
+jelly bean
+kitkat
+konpeitou
+lollipop
+chupa chups
+shaped lollipop
+swirl lollipop
+m&m's
+marble chocolate
+nerunerunerune
+pinata
+tootsweets
+candy apple
+caramel
+chewing gum
+chocolate
+apollo chocolate
+chocolate bar
+chocolate cake
+chocolate fountain
+heart-shaped chocolate
+chocolate marquise
+chocolate syrup
+kinoko no yama
+takenoko no sato
+white chocolate
+churro
+cookie
+checkerboard cookie
+chocolate chip cookie
+country ma'am
+gingerbread cookie
+gingerbread house
+gingerbread man
+pocky
+sandwich cookie
+oreo
+thumbprint cookie
+thumbprint cookie
+toppo
+wafer
+wafer stick
+cotton candy
+cream
+bavarois
+icing
+crepe
+dorayaki
+dough
+doughnut
+chocolate doughnut
+french cruller
+sakura french
+old-fashioned doughnut
+gelatin
+ice cream
+banana split
+coolish
+ice cream cone
+waffle cone
+ice cream float
+ice cream sandwich
+parfait
+strawberry parfait
+single scoop
+double scoop
+triple scoop
+quadruple scoop
+too many scoops
+soft serve
+sprinkles
+sundae
+imagawayaki
+marshmallow
+mooncake
+muffin
+pastry
+chocolate cornet
+cream puff
+eclair
+macaron
+pie
+apple pie
+popsicle
+popsicle stick
+tupet
+watermelon bar
+pudding
+custard
+pudding a la mode
+shaved ice
+slushie
+tanghulu
+tart
+blueberry tart
+fruit tart
+strawberry tart
+wagashi
+baozi
+momiji manjuu
+mochi
+dango
+ichigo daifuku
+kashiwa mochi
+namagashi
+sakura mochi
+songpyeon
+suama
+taiyaki
+uirou
+warabimochi
+youkan
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_sweets_main.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_sweets_main.txt
new file mode 100644
index 0000000000000000000000000000000000000000..83b5603b4c14a816dee9576013225d6f74652ff5
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_sweets_main.txt
@@ -0,0 +1,3 @@
+Sweets
+Snacks
+Dessert
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_utensils.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_utensils.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6e260480f6db5ccb8de8abddfe5d51d00f363969
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_utensils.txt
@@ -0,0 +1,84 @@
+baking sheet
+bamboo steamer
+basket
+picnic basket
+shopping basket
+shopping cart
+bottle
+squeeze bottle
+bowl
+plate
+saucer
+sakazuki
+cake pan
+chopsticks
+chopstick rest
+coffee grinder
+cookie cutter
+cutting board
+dishes
+drinking straw
+bendy straw
+crazy straw
+heart straw
+egg carton
+food wrapper
+fork
+spork
+frying pan
+gravy boat
+griddle
+grill
+kabayaki
+shichirin
+honey dipper
+hot plate
+ice cream scoop
+kitchen scale
+knife
+butter knife
+cleaver
+kettle
+ladle
+lunchbox
+bento
+makisu
+measuring cup
+mess kit
+microwave
+milking machine
+mini flag
+mixer
+napkin
+oven
+brick oven
+oven mitts
+pastry bag
+peel
+plate
+holding plate
+plate stack
+pot
+honeypot
+cauldron
+recipe
+refrigerator
+rice cooker
+rolling pin
+serving dome
+sink
+spatula
+serving spatula
+spoon
+shamoji
+chinese spoon
+stove
+takeout container
+oyster pail
+toaster
+tongs
+tray
+cake stand
+tiered tray
+whisk
+wok
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_vegetable.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_vegetable.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f517f226b4273ee309985f42d180b4d6fd276fa7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/food/food_vegetable.txt
@@ -0,0 +1,52 @@
+asparagus
+beans
+red bean paste
+nattou
+bitter melon
+broccoli
+cabbage
+bok choy
+carrot
+cauliflower
+coconut
+corn
+cucumber
+pickle
+eggplant
+garlic
+kimchi
+lettuce
+mint
+mushroom
+onion
+onion rings
+spring onion
+parsley
+plant
+almond
+chestnut
+peanut
+pepper
+bell pepper
+green pepper
+red pepper
+yellow pepper
+chili pepper
+habanero pepper
+jalapeno pepper
+pepper shaker
+potato
+radish
+daikon
+seaweed
+hijiki
+nori
+squash
+pumpkin
+jack-o'-lantern
+sweet potato
+yakiimo
+tomato
+cherry tomato
+turnip
+warabi
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/games/board_games_main.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/games/board_games_main.txt
new file mode 100644
index 0000000000000000000000000000000000000000..59b063c0838f34dc52d494426b3594944bf44e87
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/games/board_games_main.txt
@@ -0,0 +1,10 @@
+chess
+game of life
+go
+kai-awase
+mahjong
+monopoly
+reversi
+settlers of catan
+shogi
+tic-tac-toe
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/games/board_games_pieces.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/games/board_games_pieces.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5880c585df251586987b7da439e9f42071fdd930
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/games/board_games_pieces.txt
@@ -0,0 +1,6 @@
+board
+chessboard
+cards
+chess piece
+dice
+living piece
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/games/game_activities_board.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/games/game_activities_board.txt
new file mode 100644
index 0000000000000000000000000000000000000000..376a29af5241d6daa16f75c48a46811f97594f52
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/games/game_activities_board.txt
@@ -0,0 +1,9 @@
+board game
+chess
+go
+mahjong
+monopoly
+reversi
+shogi
+tabletop rpg
+tic-tac-toe
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/games/game_activities_card.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/games/game_activities_card.txt
new file mode 100644
index 0000000000000000000000000000000000000000..69bce0edd31093b26b43660e38b92870fbe8a68b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/games/game_activities_card.txt
@@ -0,0 +1,6 @@
+card game
+hanafuda
+playing card
+solitaire
+tarot
+uno
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/games/game_activities_group.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/games/game_activities_group.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e73ff2465f97231e64eab3cc508272a08ced4b10
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/games/game_activities_group.txt
@@ -0,0 +1,21 @@
+airsoft
+Daruma-san ga koronda
+goldfish scooping
+hanetsuki
+hide and seek
+hopscotch
+jump rope
+double dutch
+kendama
+kibasen
+king game
+leap frog
+obi spin
+paintball
+playing games
+playing sports
+olympics
+racing
+scavenger hunt
+tug of war
+twister
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/games/game_activities_hand.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/games/game_activities_hand.txt
new file mode 100644
index 0000000000000000000000000000000000000000..95916125ee9d23904f2e4b3f041cd29d10bc5cb5
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/games/game_activities_hand.txt
@@ -0,0 +1,4 @@
+cat's cradle
+forehead flick
+rock paper scissors
+pen spinning
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/games/game_activities_mechanical.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/games/game_activities_mechanical.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b7a843ed6afe5b7e5bf08a8bba0e9ebad978c285
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/games/game_activities_mechanical.txt
@@ -0,0 +1,5 @@
+crane game
+pachinko
+pop-up pirate
+video game
+whac-a-mole
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/games/game_activities_places.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/games/game_activities_places.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a233476b4c5205639231e8d56ca51e51ae2a6539
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/games/game_activities_places.txt
@@ -0,0 +1,5 @@
+arcade
+card
+casino
+casino token
+dice
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/games/game_activities_puzzle.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/games/game_activities_puzzle.txt
new file mode 100644
index 0000000000000000000000000000000000000000..de9cf9c536b74593c1c9b6d53e73b87174253923
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/games/game_activities_puzzle.txt
@@ -0,0 +1,7 @@
+crossword puzzle
+jenga
+metal puzzle
+puzzle
+jigsaw puzzle
+sliding puzzle
+rubik's cube
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/gesture/gestures_one_hand_one_open_finger.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/gesture/gestures_one_hand_one_open_finger.txt
new file mode 100644
index 0000000000000000000000000000000000000000..83d79e02a25eb81817a7da21113d2ee7a88a3a63
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/gesture/gestures_one_hand_one_open_finger.txt
@@ -0,0 +1,17 @@
+akanbe
+slit throat
+index finger raised
+middle finger
+pinky out
+beckoning
+pointing
+pointing at self
+pointing at viewer
+pointing down
+pointing forward
+pointing up
+kamina pose
+saturday night fever
+shushing
+thumbs down
+thumbs up
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/gesture/gestures_one_hand_three_open_fingers.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/gesture/gestures_one_hand_three_open_fingers.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1c970f6d40ba590e51a31c4402b7524b00d5e04f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/gesture/gestures_one_hand_three_open_fingers.txt
@@ -0,0 +1,4 @@
+\m/
+middle w
+ok sign
+money gesture
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/gesture/gestures_one_hand_two_open_fingers.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/gesture/gestures_one_hand_two_open_fingers.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6c62f25831c72884efcc7d290564601b0824a245
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/gesture/gestures_one_hand_two_open_fingers.txt
@@ -0,0 +1,8 @@
+\n/
+crossed fingers
+fox shadow puppet
+finger gun
+finger heart
+inward v
+shaka sign
+two-finger salute
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/gesture/gestures_one_hand_variable_number_of_open_fingers.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/gesture/gestures_one_hand_variable_number_of_open_fingers.txt
new file mode 100644
index 0000000000000000000000000000000000000000..21dccd5f61ed6d137215f9050b3d8544bafd7db8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/gesture/gestures_one_hand_variable_number_of_open_fingers.txt
@@ -0,0 +1,13 @@
+beckoning
+stroking own chin
+cunnilingus gesture
+fellatio gesture
+handjob gesture
+hat tip
+oral invitation
+oral simulation
+shocker (gesture)
+v
+v over eye
+v over mouth
+w
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/gesture/gestures_one_hand_whole_closed_hand.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/gesture/gestures_one_hand_whole_closed_hand.txt
new file mode 100644
index 0000000000000000000000000000000000000000..49a95f007e071cc0abad620c5e02af0630409534
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/gesture/gestures_one_hand_whole_closed_hand.txt
@@ -0,0 +1,5 @@
+clenched hand
+fig sign
+paw pose
+power fist
+raised fist
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/gesture/gestures_one_hand_whole_open_hand.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/gesture/gestures_one_hand_whole_open_hand.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a1ce26bd9411e5d354ca93df98708194c036143d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/gesture/gestures_one_hand_whole_open_hand.txt
@@ -0,0 +1,11 @@
+\||/
+claw pose
+open hand
+ohikaenasutte
+facepalm
+reaching
+salute
+spread fingers
+straight-arm salute
+vulcan salute
+waving
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/gesture/gestures_other.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/gesture/gestures_other.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ecb4b05971b71dc28a49b34dc703427baafb7048
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/gesture/gestures_other.txt
@@ -0,0 +1,10 @@
+air guitar
+bowing
+curtsey
+heart tail
+heart tail duo
+kuji-in
+shrugging
+toe-point
+victory pose
+orchid fingers
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/gesture/gestures_two_hands.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/gesture/gestures_two_hands.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8be2a9aaae070392d4d1c4ed45149ed974ec7c0a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/gesture/gestures_two_hands.txt
@@ -0,0 +1,27 @@
+air quotes
+bunny pose
+carry me
+clenched hands
+cupping hands
+double v
+fidgeting
+finger counting
+finger frame
+fist bump
+fist in hand
+hand glasses
+own hands clasped
+heart arms
+heart hands
+heart hands duo
+heart hands trio
+high five
+horns pose
+noogie
+palm-fist greeting
+palm-fist tap
+penetration gesture
+pinky swear
+shadow puppet
+tsuki ni kawatte oshioki yo
+steepled fingers
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/group/groups_by_gender_boys.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/group/groups_by_gender_boys.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5b94be6f7e5d356d5e1020ecf9751d1927def92e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/group/groups_by_gender_boys.txt
@@ -0,0 +1,7 @@
+multiple boys
+1girl
+2boys
+3boys
+4boys
+5boys
+6+boys
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/group/groups_by_gender_girls.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/group/groups_by_gender_girls.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b2f33a839db45804487d5169559890306cca5be8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/group/groups_by_gender_girls.txt
@@ -0,0 +1,7 @@
+multiple girls
+1girl
+2girls
+3girls
+4girls
+5girls
+6+girls
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/group/groups_by_gender_other.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/group/groups_by_gender_other.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b342bc2be8407aeae1e8dd0cd812afc7cdcbb542
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/group/groups_by_gender_other.txt
@@ -0,0 +1,7 @@
+multiple others
+1other
+2others
+3others
+4others
+5others
+6+others
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/group/groups_everyone.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/group/groups_everyone.txt
new file mode 100644
index 0000000000000000000000000000000000000000..19cbe953d770811886b2f6a698016ce4798f757c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/group/groups_everyone.txt
@@ -0,0 +1,2 @@
+absolutely everyone
+everyone
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/group/groups_main.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/group/groups_main.txt
new file mode 100644
index 0000000000000000000000000000000000000000..cda38e46331bc21545734fbd557e648b92f41547
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/group/groups_main.txt
@@ -0,0 +1,5 @@
+dual persona
+multiple persona
+clone
+crossover
+look-alike
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/fire_actions.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/fire_actions.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0558c03298b7f8b216ef4e67e21c7b508419210e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/fire_actions.txt
@@ -0,0 +1,4 @@
+breathing fire
+burning
+explosion
+pyrokinesis
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/fire_body_parts.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/fire_body_parts.txt
new file mode 100644
index 0000000000000000000000000000000000000000..86b8699eff35feed470b1d5e8a90a0279acd44ff
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/fire_body_parts.txt
@@ -0,0 +1,5 @@
+fire body
+fiery hair
+fiery tail
+fiery wings
+flame-tipped tail
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/fire_colors.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/fire_colors.txt
new file mode 100644
index 0000000000000000000000000000000000000000..dcf22e2e0d5c827a2429ae235a642d2bbc286b99
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/fire_colors.txt
@@ -0,0 +1,6 @@
+black fire
+blue fire
+green fire
+pink fire
+purple fire
+white fire
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/fire_forms.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/fire_forms.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8aae3abd334d48d78905ee669d0ad336062d70ae
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/fire_forms.txt
@@ -0,0 +1,5 @@
+campfire
+fireball
+fireworks
+fireflies
+flame
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/fire_main.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/fire_main.txt
new file mode 100644
index 0000000000000000000000000000000000000000..69b21656c0ecea94332352c454ba30bf1e0586bb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/fire_main.txt
@@ -0,0 +1 @@
+fire
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/fire_misc.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/fire_misc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a358b90cadb44b50d817ac119f75fd731e9c6085
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/fire_misc.txt
@@ -0,0 +1,2 @@
+fire flower
+no fire
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/fire_objects.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/fire_objects.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ed6b40c4985d1eb1cdf104ec86a595477d6dc830
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/fire_objects.txt
@@ -0,0 +1,4 @@
+fire extinguisher
+fire hydrant
+fireplace
+flamethrower
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/flowers_main.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/flowers_main.txt
new file mode 100644
index 0000000000000000000000000000000000000000..770b409536b76dd37863f6dd86562939f7b63f93
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/flowers_main.txt
@@ -0,0 +1 @@
+flower
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/flowers_misc.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/flowers_misc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8762ca98f3e152edcaee5e83c980b19f207b4d4e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/flowers_misc.txt
@@ -0,0 +1,29 @@
+bouquet
+coughing flowers
+field
+flower field
+meadow
+flower (symbol)
+flower bed
+flower bracelet
+flower in mouth
+flower necklace
+flower on head
+flower on liquid
+flower trim
+floral print
+hair flower
+hanafuda
+hat flower
+holding flower
+garden
+gardening
+lei
+on flower
+outdoors
+petals
+rose petals
+petals on liquid
+smelling flower
+wreath
+head wreath
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/flowers_species.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/flowers_species.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4af186a501cdf2bf0192d3ac1bb4622af9d42956
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/flowers_species.txt
@@ -0,0 +1,151 @@
+Alstroemeria (flower)
+Amaryllis (flower)
+Anemone
+Angel's trumpet
+Anthurium
+Azalea
+Baby's-breath
+Begonia
+Bellflower
+Chinese bellflower
+Bird of paradise flower
+Black-eyed Susan
+Bleeding heart
+Blueberry blossoms
+Bougainvillea
+Calla lily
+Camellia
+Carnation
+Red carnation
+Chamomile
+Cherry blossoms
+Chinese lantern
+Chrysanthemum
+Clivia
+Clematis
+Clover
+Columbine
+Cockscomb (flower)
+Cornflower
+Cosmos
+Crocus
+Cymbidium
+Daffodil
+Dahlia
+Daisy
+Dimorphotheca
+Dandelion
+Dianthus
+Dipsacaceae
+Dusty miller
+Edelweiss
+Epiphyllum
+Eustoma
+Flax
+Forget-me-not
+Forsythia
+Four o'clock (flower)
+Foxglove
+Freesia
+Fuchsia
+Hawthorn (plant)
+Hellebore
+Hibiscus
+Heliconia
+Hollyhock
+Hyacinth
+Hydrangea
+Genista (flower)
+Gentiana (flower)
+Geranium
+Gerbera
+Gladiolus
+Gloriosa (flower)
+Grass lily
+Great burnet
+Jasmine
+Iris
+Kalanchoe
+Kerria japonica
+Lantana (flower)
+Larkspur
+Lavender
+Lilac
+Lily
+Tiger lily
+Lily of the valley
+Lisianthus (flower)
+Magnolia
+Marigold
+Marsh marigold
+Mimosa (flower)
+Morning glory
+Moonflower
+Gourd blossom
+Nemophila
+Nigella
+Oleander
+Orange blossoms
+Orchid
+Oncidium
+Osmanthus
+Gold osmanthus
+Pansy
+Passion flower
+Paulownia
+Peach blossom
+Pentas (flower)
+Peony
+Perennial
+Periwinkle
+Petunia (flower)
+Pieris japonica
+Plant
+Clover
+Lotus
+Lily pad
+Potted plant
+Plum blossoms
+Plumeria
+Poinsettia
+Pomegranate flower
+Poppy
+Portulaca
+Potato flower
+Potentilla
+Rafflesia
+Ranunculus
+Buttercup
+Rapeseed blossoms
+Red ginger
+Reimu
+Rhododendron
+Rose
+Black rose
+Blue rose
+Brown rose
+Green rose
+Grey rose
+Orange rose
+Pink rose
+Purple rose
+Red rose
+White rose
+Yellow rose
+Multicolored rose
+Rudbeckia
+Snapdragon
+Snowdrop
+Spathiphyllum
+Spider lily
+Strawberry blossoms
+Sunflower
+Thistle
+Trumpet creeper
+Tulip
+Water lily flower
+Wax flower
+Wisteria
+Wolfsbane
+Violet
+Zinnia
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/plant_actions.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/plant_actions.txt
new file mode 100644
index 0000000000000000000000000000000000000000..947ae0da4f52f557203420841b2f769c3e5cbdab
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/plant_actions.txt
@@ -0,0 +1,2 @@
+farming
+gardening
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/plant_locations.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/plant_locations.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3a0e86ba079b57610913013160bc3952bb83a933
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/plant_locations.txt
@@ -0,0 +1,6 @@
+farm
+field
+garden
+greenhouse
+nature
+outdoors
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/plant_misc.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/plant_misc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d6170e134aa124025a30645231b4beadcba44f12
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/plant_misc.txt
@@ -0,0 +1,13 @@
+bare tree
+floral arch
+foliage
+piranha plant
+plant boy
+plant girl
+plant monster
+plant wings
+potted plant
+flower pot
+hanging plant
+planter
+topiary
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/plant_parts.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/plant_parts.txt
new file mode 100644
index 0000000000000000000000000000000000000000..67b62f5e539d571a4fe08971f80ee54f478102ac
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/plant_parts.txt
@@ -0,0 +1,11 @@
+branch
+branch
+flower
+fruit
+petals
+rose petals
+plant cell
+roots
+aerial root
+seed
+tree stump
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/plant_types.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/plant_types.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ec2ea4b0bc5cf95a51e302be897930f563bf33ad
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/plant_types.txt
@@ -0,0 +1,21 @@
+bush
+rose bush
+carnivorous plant
+pitcher plant
+venus flytrap
+clover
+flower
+grass
+bamboo
+herb
+cattail
+marijuana
+holly
+moss
+seaweed
+succulent plant
+agave
+cactus
+tree
+vines
+ivy
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/tree_action.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/tree_action.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7b87d34d9adcb38dcfd1a4a7dd412f05bd6ee497
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/tree_action.txt
@@ -0,0 +1,5 @@
+against tree
+in tree
+sitting in tree
+outdoors
+under tree
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/tree_habitats.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/tree_habitats.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ea69f84575e6f82a1895a797a0f7782a8450c3a8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/tree_habitats.txt
@@ -0,0 +1,3 @@
+forest
+rainforest
+jungle
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/tree_misc.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/tree_misc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..608170d2dc19c1eae2ba40788e6a698aa3f878e7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/tree_misc.txt
@@ -0,0 +1,5 @@
+autumn
+bare tree
+giant tree
+treehouse
+tree shade
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/tree_parts.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/tree_parts.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ee3a0c2d75906eaf8158032d28a8da51d773d45b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/tree_parts.txt
@@ -0,0 +1,7 @@
+branch
+leaf
+log
+petals
+roots
+stick
+tree stump
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/tree_types.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/tree_types.txt
new file mode 100644
index 0000000000000000000000000000000000000000..22bf48239ab0bf647184625888e348ccde9252a1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/tree_types.txt
@@ -0,0 +1,14 @@
+baobab
+bonsai
+cherry blossoms
+christmas tree
+fir tree
+fruit tree
+ginkgo
+ginkgo nut
+maple leaf
+palm tree
+coconut tree
+pine tree
+plum blossoms
+willow
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/water_geography_bodies.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/water_geography_bodies.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3be4aedc98f36a12f6a7e8fe4da5c97d6da821bd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/water_geography_bodies.txt
@@ -0,0 +1,4 @@
+Lake
+Ocean
+River
+Stream
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/water_geography_landforms.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/water_geography_landforms.txt
new file mode 100644
index 0000000000000000000000000000000000000000..721230eedfff259f257c2f337d62e2b2c25a9d35
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/water_geography_landforms.txt
@@ -0,0 +1,2 @@
+Beach
+Island
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/water_ice.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/water_ice.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c6ed9caa9c6a2a3c1a8efd324377193de70bb234
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/water_ice.txt
@@ -0,0 +1,3 @@
+Ice
+Ice sculpture
+Ice flower
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/water_main.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/water_main.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d42f85e4bb994b2246e6cd0a9569cec38756594a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/water_main.txt
@@ -0,0 +1,2 @@
+Water
+Underwater
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/water_meteorology.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/water_meteorology.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8b1e55b2c195add86c1a0a90e33778429521269a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/water_meteorology.txt
@@ -0,0 +1,2 @@
+Rain
+Snow
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/water_misc.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/water_misc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5935690350a0c77381d7404af43b3f2cbccd3376
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/water_misc.txt
@@ -0,0 +1,20 @@
+Bath
+Bathtub
+Mixed bathing
+Drinking
+Freediving
+Hydrokinesis
+Pool
+Poolside
+Glass
+Bottle
+Cup
+Mug
+Shower (place)
+Showering
+Spilling
+Splashing
+Swimming
+Umbrella
+Wading
+Washing
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/water_steam.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/water_steam.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7dfcb8af3d6df35d9757f31076de9f4f7366f21d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/nature and elements/water_steam.txt
@@ -0,0 +1 @@
+Steam
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/eyewear_eyewear_frame_colors.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/eyewear_eyewear_frame_colors.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4534ce24e23c74aaab3f771bc28acec34819ad02
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/eyewear_eyewear_frame_colors.txt
@@ -0,0 +1,12 @@
+aqua-framed eyewear
+black-framed eyewear
+blue-framed eyewear
+brown-framed eyewear
+green-framed eyewear
+grey-framed eyewear
+orange-framed eyewear
+pink-framed eyewear
+purple-framed eyewear
+red-framed eyewear
+white-framed eyewear
+yellow-framed eyewear
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/eyewear_eyewear_lens_colors.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/eyewear_eyewear_lens_colors.txt
new file mode 100644
index 0000000000000000000000000000000000000000..84615288e1e063c5c8870b353a1b4163e7c079d2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/eyewear_eyewear_lens_colors.txt
@@ -0,0 +1,8 @@
+blue-tinted eyewear
+brown-tinted eyewear
+green-tinted eyewear
+orange-tinted eyewear
+pink-tinted eyewear
+purple-tinted eyewear
+red-tinted eyewear
+yellow-tinted eyewear
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/eyewear_eyewear_misc.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/eyewear_eyewear_misc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b375c970e12050fe416cd90d48696667c2845c64
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/eyewear_eyewear_misc.txt
@@ -0,0 +1,16 @@
+adjusting eyewear
+crooked eyewear
+eyewear on head
+eyewear on headwear
+eyewear removed
+eyewear hang
+eyewear in mouth
+holding eyewear
+looking for glasses
+eyewear strap
+eyewear switch
+eyewear view
+hand on eyewear
+looking over eyewear
+no eyewear
+removing eyewear
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/eyewear_eyewear_types.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/eyewear_eyewear_types.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7cc756c0a3a4db3e864c02cdf8ebacab6706fa79
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/eyewear_eyewear_types.txt
@@ -0,0 +1,9 @@
+heart-shaped eyewear
+round eyewear
+rectangular eyewear
+rimless eyewear
+semi-rimless eyewear
+over-rim eyewear
+under-rim eyewear
+teardrop-framed glasses
+triangular eyewear
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/eyewear_glasses_misc.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/eyewear_glasses_misc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8e4c9a9c3c8e6b52ded7da1aa29af7a88f55e809
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/eyewear_glasses_misc.txt
@@ -0,0 +1 @@
+bespectacled
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/eyewear_glasses_types.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/eyewear_glasses_types.txt
new file mode 100644
index 0000000000000000000000000000000000000000..12b9b9ab501757c2b78e8e417fb7fc9189e06e65
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/eyewear_glasses_types.txt
@@ -0,0 +1,20 @@
+aviator sunglasses
+3d glasses
+coke-bottle glasses
+diving mask
+fancy glasses
+heart-shaped eyewear
+star-shaped eyewear
+teardrop-framed glasses
+flight goggles
+funny glasses
+lorgnette
+nodoka glasses
+opaque glasses
+opera glasses
+pince-nez
+safety glasses
+shooting glasses
+ski goggles
+x-ray glasses
+scouter
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/eyewear_main.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/eyewear_main.txt
new file mode 100644
index 0000000000000000000000000000000000000000..86c02c8bf892091ec22b845e286eeb89c4bc529e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/eyewear_main.txt
@@ -0,0 +1,4 @@
+glasses
+monocle
+sunglasses
+goggles
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/eyewear_sunglasses.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/eyewear_sunglasses.txt
new file mode 100644
index 0000000000000000000000000000000000000000..033c35521a03788a4bbb1c1d67dbbad34f2d47d5
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/eyewear_sunglasses.txt
@@ -0,0 +1,3 @@
+aviator sunglasses
+kamina shades
+simon shades
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/headwear_accessories.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/headwear_accessories.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2750539ec4ab446123193cc9968d5b7faf5a4b5f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/headwear_accessories.txt
@@ -0,0 +1,18 @@
+adrian helmet
+american football helmet
+baseball helmet
+bicycle helmet
+brodie helmet
+diving helmet
+dragoon helmet
+hardhat
+headlamp
+helm
+horned helmet
+kabuto
+motorcycle helmet
+pickelhaube
+pith helmet
+stahlhelm
+tank helmet
+winged helmet
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/headwear_actions.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/headwear_actions.txt
new file mode 100644
index 0000000000000000000000000000000000000000..10b8267b2befdf00796d98d2c1849c7f437c0538
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/headwear_actions.txt
@@ -0,0 +1,18 @@
+adjusting headwear
+backwards hat
+sideways hat
+hat removed
+hand on headwear
+hands on headwear
+hat basket
+hat loss
+hat on chest
+hat over eyes
+hat over one eye
+hat removed
+hat tip
+holding hat
+torn hat
+no headwear
+putting on headwear
+tilted headwear
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/headwear_colors.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/headwear_colors.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c4660d7ab55fd3fbf9e18c43459c3b5010eca3ae
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/headwear_colors.txt
@@ -0,0 +1,11 @@
+black headwear
+blue headwear
+brown headwear
+green headwear
+grey headwear
+orange headwear
+pink headwear
+purple headwear
+red headwear
+white headwear
+yellow headwear
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/headwear_crowns.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/headwear_crowns.txt
new file mode 100644
index 0000000000000000000000000000000000000000..cc589f52877afd7af3028455990c6396092e747e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/headwear_crowns.txt
@@ -0,0 +1,6 @@
+circlet
+diadem
+mian guan
+mini crown
+saishi
+tiara
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/headwear_hats_brimless.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/headwear_hats_brimless.txt
new file mode 100644
index 0000000000000000000000000000000000000000..473d5faef49ca20e6da400a9252e01386e4ea2ac
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/headwear_hats_brimless.txt
@@ -0,0 +1,37 @@
+baseball cap
+budenovka
+cabbie hat
+deerstalker
+kepi
+mao cap
+peaked cap
+shako capbashlik
+dixie cup hat
+dunce cap
+chef hat
+flat top chef hat
+toque blanche
+beret
+beanie
+fez hat
+fur hat
+bearskin cap
+papakha
+ushanka
+garrison cap
+kippah
+mian guan
+mitre
+mortarboard
+nightcap
+nurse cap
+party hat
+sailor hat
+sajkaca
+santa hat
+mini santa hat
+songkok
+tam o' shanter
+tate eboshi
+tokin hat
+tsunokakushi
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/headwear_hats_misc.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/headwear_hats_misc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..96ff5e4ede3cca01fc3b397543e4768cf9b240cb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/headwear_hats_misc.txt
@@ -0,0 +1,14 @@
+animal hat
+hat with ears
+deviruchi hat
+bear hat
+bunny hat
+cat hat
+dog hat
+fox hat
+pelt
+penguin hat
+wolf hat
+eggshell hat
+pumpkin hat
+Helmets
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/headwear_hats_with_brim.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/headwear_hats_with_brim.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5c60b460e401c51c3e4efb53fbbacff84efe3fdc
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/headwear_hats_with_brim.txt
@@ -0,0 +1,28 @@
+bicorne
+boater hat
+bowler hat
+bucket hat
+campaign hat
+cloche hat
+cowboy hat
+straw hat
+ajirogasa
+rice hat
+fedora
+female service cap
+flat cap
+gat
+mob cap
+pillow hat
+pirate hat
+pith helmet
+porkpie hat
+shampoo hat
+sombrero
+sun hat
+top hat
+mini top hat
+tricorne
+witch hat
+mini witch hat
+wizard hat
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/headwear_hats_with_ear_flaps.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/headwear_hats_with_ear_flaps.txt
new file mode 100644
index 0000000000000000000000000000000000000000..765ae51425b53b7553a6af53435bc7a3ae5d312f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/headwear_hats_with_ear_flaps.txt
@@ -0,0 +1,4 @@
+deerstalker
+budenovka
+papakha
+ushanka
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/headwear_hats_with_visor.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/headwear_hats_with_visor.txt
new file mode 100644
index 0000000000000000000000000000000000000000..32ab18e8bf27f22c14b06ce8c6e1ac2344e10181
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/headwear_hats_with_visor.txt
@@ -0,0 +1,8 @@
+baseball cap
+budenovka
+cabbie hat
+deerstalker
+kepi
+mao cap
+peaked cap
+shako cap
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/headwear_helmets.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/headwear_helmets.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2750539ec4ab446123193cc9968d5b7faf5a4b5f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/headwear_helmets.txt
@@ -0,0 +1,18 @@
+adrian helmet
+american football helmet
+baseball helmet
+bicycle helmet
+brodie helmet
+diving helmet
+dragoon helmet
+hardhat
+headlamp
+helm
+horned helmet
+kabuto
+motorcycle helmet
+pickelhaube
+pith helmet
+stahlhelm
+tank helmet
+winged helmet
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/headwear_non_specific_styles.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/headwear_non_specific_styles.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1812d56a82e285cc3b1541427795329811dbc9a8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/headwear_non_specific_styles.txt
@@ -0,0 +1,9 @@
+checkered headwear
+frilled hat
+military hat
+mini hat
+multicolored headwear
+police hat
+print headwear
+school hat
+straw hat
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/headwear_not_headwear.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/headwear_not_headwear.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8978052c5d0803468ef943920d2f5caeb48031b8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/headwear_not_headwear.txt
@@ -0,0 +1,12 @@
+hair bow
+hair ribbon
+hairband
+headband
+forehead protector
+sweatband
+hachimaki
+nejiri hachimaki
+mongkhon
+headdress
+maid headdress
+veil
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/headwear_other.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/headwear_other.txt
new file mode 100644
index 0000000000000000000000000000000000000000..473398218b1141373e918d207100e1ae02806f16
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/headwear_other.txt
@@ -0,0 +1,24 @@
+aviator cap
+balaclava
+bandana
+bonnet
+dalachi
+habit
+head scarf
+hijab
+jester cap
+keffiyeh
+okosozukin
+shower cap
+shufa guan
+visor cap
+veil
+object on head
+bowl hat
+bloomers on head
+book on head
+bra on head
+bucket on head
+food on head
+panties on head
+traffic cone on head
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/headwear_types.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/headwear_types.txt
new file mode 100644
index 0000000000000000000000000000000000000000..429bb577c85d0041c73b4b467ec7405259c1ba34
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/headwear_types.txt
@@ -0,0 +1,4 @@
+crown
+hat
+helmet
+Colors
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/injury_coverings.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/injury_coverings.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6761e3d2e80aed9825fed3825c0aca0022ccc154
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/injury_coverings.txt
@@ -0,0 +1,15 @@
+bandaid
+bandaid on knee
+bandaid on arm
+bandaid on leg
+bandaid on face
+bandaid on cheek
+bandaid on ear
+bandaid on forehead
+bandaid on nose
+bandages
+bandage on face
+bandage over one eye
+eyepatch
+sarashi
+sling (medical)
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/injury_misc.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/injury_misc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4048f3a8ee1807c249bbba5c2a839c48a8cc5d64
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/injury_misc.txt
@@ -0,0 +1,12 @@
+Doctor
+Nurse
+Hospital
+first aid
+intravenous drip
+surgery
+syringe
+amputee
+pill
+drugs
+guro
+organs
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/injury_visible.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/injury_visible.txt
new file mode 100644
index 0000000000000000000000000000000000000000..902c5c4855b74dae115018cfea2e99121d6c627e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/injury_visible.txt
@@ -0,0 +1,20 @@
+blood
+bleeding
+blood on bandages
+bruise
+bruised eye
+cuts
+deep wound
+head bump
+missing eye
+nosebleed
+scar
+scratches
+stitches
+scrape
+sprain
+stab
+impaled
+severed limb
+amputee
+track marks
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/sex_objects_BDSM.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/sex_objects_BDSM.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c2ed45ac364e58b11d1425545c9be9aede2a7e6f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/sex_objects_BDSM.txt
@@ -0,0 +1,41 @@
+blindfold
+bondage outfit
+chain
+nipple chain
+chastity belt
+chastity bra
+chastity cage
+Clamp
+clitoris clamp
+nipple clamps
+tongue clamp
+collar
+cuffs
+shackles
+handcuffs
+hobble
+gag
+ball gag
+bit gag
+cleave gag
+panty gag
+plug gag
+ring gag
+tape gag
+gimp suit
+leash
+clitoris leash
+leash on penis
+nipple leash
+nose hook
+piercing
+pillory
+stocks
+rope
+crotch rope
+sounding
+spreader bar
+whip
+riding crop
+wooden horse
+judas cradle
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/sex_objects_fluids.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/sex_objects_fluids.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9d96910615462678e0183947929c91d4a8565f84
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/sex_objects_fluids.txt
@@ -0,0 +1,5 @@
+aphrodisiac
+enema
+lotion
+lotion bottle
+lube
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/sex_objects_sex_toys.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/sex_objects_sex_toys.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0021f0e8a2f8105f4179e80a216b5c253e728da4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/sex_objects_sex_toys.txt
@@ -0,0 +1,48 @@
+anal beads
+anal tail
+artificial vagina
+tenga
+butt plug
+aneros
+butt plug tail
+cock ring
+dildo
+double dildo
+huge dildo
+dragon dildo
+horse dildo
+spiked dildo
+strap-on
+suction cup dildo
+dildo riding
+food insertion
+dildo gag
+mask challenge (meme)
+dildo harness
+dildo under panties
+prostate massager
+breast pump
+clitoris pump
+sex machine
+too many sex toys
+sounding
+catheter
+urethral beads
+vibrator
+bunny vibrator
+butterfly vibrator
+egg vibrator
+hitachi magic wand
+remote control vibrator
+riding machine
+sybian
+public vibrator
+vibrator under clothes
+vibrator in leg garter
+vibrator in thighhighs
+vibrator in thigh strap
+vibrator under panties
+vibrator under pantyhose
+vibrator on nipple
+vibrator in anus
+vibrator on penis
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/sports_equpment.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/sports_equpment.txt
new file mode 100644
index 0000000000000000000000000000000000000000..400dac76fbf1ad3adf7ed375121bb3746de7de2d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/sports_equpment.txt
@@ -0,0 +1,34 @@
+Ball
+Beachball
+Bowling ball
+Billiard ball
+American football
+Golf ball
+Marble
+Rugby ball
+Soccer ball
+Tennis ball
+Jersey
+Uniform
+Sportswear
+Baseball cap
+baseball jersey
+baseball uniform
+basketball uniform
+hockey sweater
+Tennis uniform
+Baseball bat
+Bowling glove
+Bowling pin
+Cue stick
+Golf club
+Hoop
+Juggling club
+Pool table
+Racket
+Badminton racket
+Table tennis paddle
+Tennis racket
+Ribbon
+Ribbon baton
+Rope
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/tail_and_objects.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/tail_and_objects.txt
new file mode 100644
index 0000000000000000000000000000000000000000..282c41e3da5808f71873cde578675e4a6ef6dac2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/tail_and_objects.txt
@@ -0,0 +1,6 @@
+Tail bell
+Tail bow
+Tail ornament
+Tail piercing
+Tail ribbon
+Tail ring
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/tail_and_sex.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/tail_and_sex.txt
new file mode 100644
index 0000000000000000000000000000000000000000..050fc58b8c1c1dbbcdd8684da831da38c317a4ee
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/tail_and_sex.txt
@@ -0,0 +1,6 @@
+Anal tail
+Butt plug tail
+Penis tail
+Tailjob
+Tail masturbation
+Tail rape
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/tail_main.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/tail_main.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9c2a8bac7ca350a08ad68e582c2d132161c12b43
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/tail_main.txt
@@ -0,0 +1 @@
+Tail
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/tail_misc.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/tail_misc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a786f93e62a3e47391f4e44146fb071fd621b47d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/tail_misc.txt
@@ -0,0 +1,20 @@
+Fake tail
+Heart tail
+Heart tail duo
+Holding another's tail
+Holding own tail
+Holding with tail
+Intertwined tails
+Panties around tail
+Prehensile tail
+Stiff tail
+Tail between legs
+Tail biting
+Tail censor
+Tail grab
+Tail fondling
+Tail pull
+Tail raised
+Tail stand
+Tail wagging
+Tail wrap
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/tail_number.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/tail_number.txt
new file mode 100644
index 0000000000000000000000000000000000000000..fb6474b0102f215f0a9df03432dc7c78aee276e7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/tail_number.txt
@@ -0,0 +1,2 @@
+Multiple tails
+No tail
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/tail_types_elemental.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/tail_types_elemental.txt
new file mode 100644
index 0000000000000000000000000000000000000000..dd8f61fa58bbe377b09555bebf7f898dd8a91402
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/tail_types_elemental.txt
@@ -0,0 +1 @@
+Fiery tail
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/tail_types_mammals.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/tail_types_mammals.txt
new file mode 100644
index 0000000000000000000000000000000000000000..16dc3b7f5cc51de05fc73a0d9c7e14068487db7b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/tail_types_mammals.txt
@@ -0,0 +1,18 @@
+Bear tail
+Rabbit tail
+Cat tail
+Cow tail
+Deer tail
+Dog tail
+Ermine tail
+Fox tail
+Horse tail
+Leopard tail
+Lion tail
+Monkey tail
+Mouse tail
+Pig tail
+Sheep tail
+Squirrel tail
+Tiger tail
+Wolf tail
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/tail_types_other_animals.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/tail_types_other_animals.txt
new file mode 100644
index 0000000000000000000000000000000000000000..07fa7ec34135d008f18c6b58a59f5e2c87d7db2f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/tail_types_other_animals.txt
@@ -0,0 +1,4 @@
+Fish tail
+Scorpion tail
+Snake tail
+Tadpole tail
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/tail_types_supernatural.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/tail_types_supernatural.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5cabc158bd2614e228e130a27fbc75a2148ceb72
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/tail_types_supernatural.txt
@@ -0,0 +1,4 @@
+Demon tail
+Dragon tail
+Ghost tail
+Pikachu tail
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_armor_futuristic.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_armor_futuristic.txt
new file mode 100644
index 0000000000000000000000000000000000000000..af4da36513da35c490b9e82f922cdf18d9b83cfb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_armor_futuristic.txt
@@ -0,0 +1,7 @@
+Beam shield
+Exoskeleton
+Power armor
+Power suit
+Gravity Suit
+SEVA Suit
+Power suit
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_armor_modern.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_armor_modern.txt
new file mode 100644
index 0000000000000000000000000000000000000000..fa817cae266b964cc970612f1a99121007059a7c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_armor_modern.txt
@@ -0,0 +1,3 @@
+Bulletproof vest
+Riot shield
+Shin guards
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_artificial_life.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_artificial_life.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9820400bf6270d37113e7cebc15afbe1322b4a29
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_artificial_life.txt
@@ -0,0 +1,10 @@
+Cyber elves
+Mecha-drago
+Transformers
+Autobot
+Aerialbot
+Protectobot
+Decepticon
+Combaticon
+Constructicon
+Stunticon
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_computers.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_computers.txt
new file mode 100644
index 0000000000000000000000000000000000000000..896c9cc998d0698c4efe7e4ca7916e63058ec680
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_computers.txt
@@ -0,0 +1,18 @@
+Computer
+Laptop
+Computer chip
+Keyboard
+Mouse
+Mousepad (object)
+Ass mousepad
+Breast mousepad
+Monitor
+Curved monitor
+Multiple monitors
+RAM
+Tablet
+Trackball
+Screen
+Floating screen
+Touchscreen
+USB
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_costumes.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_costumes.txt
new file mode 100644
index 0000000000000000000000000000000000000000..92d1724f85ba687f4bd20d67dd4e1576caf9fb74
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_costumes.txt
@@ -0,0 +1,2 @@
+Neko cyber
+Transforming clothes
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_descriptions.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_descriptions.txt
new file mode 100644
index 0000000000000000000000000000000000000000..97e81d30ca43a3ccfadcf076a35f6acab2a65343
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_descriptions.txt
@@ -0,0 +1,6 @@
+Clockwork
+Glowing
+Mechanical
+Neon trim
+Radioactive
+Transformation
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_holograms.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_holograms.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e5eec798e4554fce3a05de905303c9d5d7e83eb0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_holograms.txt
@@ -0,0 +1,5 @@
+Hologram
+Holographic interface
+Holographic keyboard
+Holographic touchscreen
+Holographic monitor
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_jobs.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_jobs.txt
new file mode 100644
index 0000000000000000000000000000000000000000..37a607662e96febf1cc1056fcc54508a2d2444d3
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_jobs.txt
@@ -0,0 +1,4 @@
+Engineer
+Mechanic
+Pilot
+Programming
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_mecha.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_mecha.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ff4e5d9a08ea9a05f0adff03e10e7ade8259f461
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_mecha.txt
@@ -0,0 +1,15 @@
+Power suit
+Plugsuit
+Exoskeleton
+Mecha
+Gundam
+Mechanization
+Sand mecha
+Mechanical broom
+Power glove
+Projector
+Jetpack
+Striker unit
+Helicopter ears
+Helicopter hair
+Utility belt
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_medical.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_medical.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a0c5b0101713abbed09704ad0d9d945fb87cbbcc
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_medical.txt
@@ -0,0 +1,7 @@
+Bandages
+Electrodes
+Gauze
+Pill
+Stretcher
+Syringe
+X-ray
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_parts_electronic.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_parts_electronic.txt
new file mode 100644
index 0000000000000000000000000000000000000000..97e93c240b4c4172dd45cd88f2dbcecc94188529
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_parts_electronic.txt
@@ -0,0 +1,9 @@
+Bolt
+Crank
+Gears
+Mechanical parts
+Nut
+Piston
+Rotary switch
+Screw
+Tube
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_parts_main.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_parts_main.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6ead7cb304d004b4c81b25ba54daaf9f9a77e16f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_parts_main.txt
@@ -0,0 +1 @@
+Machine
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_parts_mechanical.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_parts_mechanical.txt
new file mode 100644
index 0000000000000000000000000000000000000000..97e93c240b4c4172dd45cd88f2dbcecc94188529
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_parts_mechanical.txt
@@ -0,0 +1,9 @@
+Bolt
+Crank
+Gears
+Mechanical parts
+Nut
+Piston
+Rotary switch
+Screw
+Tube
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_personal_communication.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_personal_communication.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2792573d562d61bc0631be6396728a3ced9978e9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_personal_communication.txt
@@ -0,0 +1,22 @@
+Microphone
+Microphone stand
+Studio microphone
+Vintage microphone
+Phone
+Cellphone
+Cordless phone
+Cellphone radio bar
+Cellphone strap
+Corded phone
+Payphone
+Phone booth
+Smartphone
+iPhone
+Phonecard
+Speaker
+Earpiece
+Robot ears
+Earphones
+Headphones
+Walkie-talkie
+Headset
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_places.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_places.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0c9798006e44c11cbd35eda2bb7df9967e27a2b0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_places.txt
@@ -0,0 +1,4 @@
+City
+Cityscape
+Cybertron
+Death Star
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_prosthetics.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_prosthetics.txt
new file mode 100644
index 0000000000000000000000000000000000000000..aa9c69c960669ef1323e703808c90e29cda59385
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_prosthetics.txt
@@ -0,0 +1,9 @@
+Automail
+Cybernetic
+Doll joints
+Mechanical foot
+Mechanical parts
+Mechanical wings
+Single mechanical arm
+Nobiiru arm
+Severed limb
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_radio.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_radio.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1a90d1a5ed9df69aa18fe58acb2e209bdb503ccd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_radio.txt
@@ -0,0 +1,8 @@
+Radio
+Stereo
+Radio tower
+Satellite dish
+Radio booth
+Radio telescope
+Field radio
+Radio antenna
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_robots.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_robots.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e330854a8e9424503d57f177f4c8bfafc32eda9f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_robots.txt
@@ -0,0 +1,10 @@
+Android
+Robot joints
+Mechanical parts
+Robot ears
+Cyborg
+Mecha
+Mechanical dragon
+Replicant
+Robot
+Robot animal
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_scientific.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_scientific.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ca42dafa5c0009eae38760f5e3b20d4f926a244e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_scientific.txt
@@ -0,0 +1,2 @@
+Electricity
+Plasma
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_space.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_space.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e67cf457eff69b14b635a9ba1b19a4e67751c644
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_space.txt
@@ -0,0 +1,18 @@
+Satellite
+Satellite cannon
+Space station
+International space station
+Space Elevator
+Space fountain
+Black Hole
+Space helmet
+Space sword
+Space colony
+Spacecraft
+Spacecraft interior
+Space capsule
+Space train
+Spacesuit
+Space uniform
+Space shuttle
+Space
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_themes.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_themes.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5c5c422ce2dbd648f00ebbf953fa9ce22db701ab
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_themes.txt
@@ -0,0 +1,8 @@
+Science fiction
+Cyberpunk
+Steampunk
+Fantasy
+Mechanization
+Personification
+Mecha musume
+OS-tan
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_tools.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_tools.txt
new file mode 100644
index 0000000000000000000000000000000000000000..342e65a26ffede4f5e55935105eb353456a15cfe
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_tools.txt
@@ -0,0 +1,10 @@
+Drill
+Hammer
+Mallet
+Pliers
+Screwdriver
+Electric screwdriver
+Wrench
+Adjustable wrench
+Combination wrench
+Double sided wrench
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_vehicles_aerospace.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_vehicles_aerospace.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0c454feac51c9c71ce1b08e918f3fec2a192badd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_vehicles_aerospace.txt
@@ -0,0 +1,12 @@
+Airplane
+Bomber
+Helicopter
+Jet
+Fighter jet
+Spacecraft
+Rocket ship
+Space Shuttle
+Tie Fighter
+Tie Interceptor
+UFO
+Flying saucer
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_vehicles_land.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_vehicles_land.txt
new file mode 100644
index 0000000000000000000000000000000000000000..48b3daebd90447c6cc2787c6189fd72de459e074
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_vehicles_land.txt
@@ -0,0 +1,23 @@
+Ambulance
+Bus
+Car
+Police car
+Taxi
+Jeep
+Tank
+Trailer
+Train
+Streetcar
+Aerial tram
+Truck
+Concrete mixer truck
+Dump truck
+Haul truck
+Flatbed truck
+Fire truck
+Garbage truck
+Monster truck
+Pickup truck
+Semi truck
+Tank truck
+Van
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_vehicles_naval.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_vehicles_naval.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a8ed7cd8c78768e2b17a555ba2f429e9aced4a3a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_vehicles_naval.txt
@@ -0,0 +1,3 @@
+Ship
+Battleship
+Submarine
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_vehicles_power_sources.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_vehicles_power_sources.txt
new file mode 100644
index 0000000000000000000000000000000000000000..17b8c2df2311a54e2dfbc2b76a7b636db18bff43
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/technology_vehicles_power_sources.txt
@@ -0,0 +1,2 @@
+Engine
+Jet engine
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/water_vehicles.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/water_vehicles.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8a3a024f3bfb6b533113c35f2ee2585443fac3b1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/water_vehicles.txt
@@ -0,0 +1,6 @@
+Boat
+Rowboat
+Sailboat
+Ship
+Battleship
+Submarine
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/wings_colors.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/wings_colors.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9d8b9d8a41d08e197c968ad5b3eb7b7e4ca0faed
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/wings_colors.txt
@@ -0,0 +1,4 @@
+Black wings
+Gradient wings
+Red wings
+white wings
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/wings_main.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/wings_main.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8607ab3b490d4e28432e28d8229fcfd74e5724d3
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/wings_main.txt
@@ -0,0 +1,2 @@
+Wings
+Alternate wings
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/wings_misc.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/wings_misc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..821189eda458a33e76b38952ae02e54bf831e3a4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/wings_misc.txt
@@ -0,0 +1,12 @@
+bloody wings
+Bowed wings
+Flapping
+Glowing wings
+Heart wings
+Torn wings
+Wing censor
+Wing grab
+Wing hug
+Wing umbrella
+Wingjob
+wing ribbon
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/wings_number.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/wings_number.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b8566a65ae09b6e3b9704190ec02f28d8632a7d5
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/wings_number.txt
@@ -0,0 +1,3 @@
+Multiple wings
+No wings
+Single wing
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/wings_sizes.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/wings_sizes.txt
new file mode 100644
index 0000000000000000000000000000000000000000..055b924e3d3e7f2790655aef9cc7728a0a5c007c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/wings_sizes.txt
@@ -0,0 +1,2 @@
+Large wings
+mini wings
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/wings_types_elemental.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/wings_types_elemental.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b12bf07fa1a7aa860b5cc64c485d03ee01a8ba0e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/wings_types_elemental.txt
@@ -0,0 +1,6 @@
+Bat wings
+energy wings
+Fiery wings
+Ice wings
+light hawk wings
+liquid wings
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/wings_types_false.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/wings_types_false.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9b10fcbaf5aeb7df2bb39ee2516b2a501b46f03d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/wings_types_false.txt
@@ -0,0 +1,2 @@
+artificial wings
+Fake wings
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/wings_types_insects.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/wings_types_insects.txt
new file mode 100644
index 0000000000000000000000000000000000000000..efa1e28d952b816d5d1ddf081d580bb31531bcfd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/wings_types_insects.txt
@@ -0,0 +1,4 @@
+insect wings
+Butterfly wings
+ladybug wings
+moth wings
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/wings_types_other.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/wings_types_other.txt
new file mode 100644
index 0000000000000000000000000000000000000000..94b8707e9da42ea1e7f034e5833f1dcc6f27c2dd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/wings_types_other.txt
@@ -0,0 +1,5 @@
+Hair wings
+Mechanical wings
+metal wings
+Plant wings
+feathered wings
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/wings_types_supernatural.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/wings_types_supernatural.txt
new file mode 100644
index 0000000000000000000000000000000000000000..fa4e62319c297f18db49c0695022c8d3ab1357ba
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/wings_types_supernatural.txt
@@ -0,0 +1,4 @@
+Angel wings
+Demon wings
+Dragon wings
+Fairy wings
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/wings_where_attached.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/wings_where_attached.txt
new file mode 100644
index 0000000000000000000000000000000000000000..bf57acbc005313ab689971276072ef4b14dd5462
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/object/wings_where_attached.txt
@@ -0,0 +1,10 @@
+Ankle wings
+Detached wings
+Head wings
+Low wings
+Leg wings
+wing ears
+Winged bag
+winged hat
+Winged helmet
+Winged footwear
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_arms_basic.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_arms_basic.txt
new file mode 100644
index 0000000000000000000000000000000000000000..14081afe632920f4df09fb131a8660bf12bc10ad
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_arms_basic.txt
@@ -0,0 +1,13 @@
+arm behind back
+arms behind back
+arm up
+arm behind head
+victory pose
+arms up
+\o/
+arms behind head
+outstretched arm
+outstretched arms
+spread arms
+arm at side
+arms at side
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_arms_specific.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_arms_specific.txt
new file mode 100644
index 0000000000000000000000000000000000000000..449a4ece979342bf637214bc4ed27f581adb31c5
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_arms_specific.txt
@@ -0,0 +1,10 @@
+airplane arms
+crossed arms
+flexing
+praise the sun
+reaching
+shrugging
+t-pose
+a-pose
+v arms
+w arms
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_basic.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_basic.txt
new file mode 100644
index 0000000000000000000000000000000000000000..271068ba9d02108cc20ff19b396bbc65995a2d1d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_basic.txt
@@ -0,0 +1,28 @@
+kneeling
+one knee
+lying
+crossed legs
+fetal position
+on back
+on side
+on stomach
+sitting
+butterfly sitting
+crossed legs
+figure four sitting
+indian style
+hugging own legs
+lotus position
+seiza
+sitting on lap
+sitting on person
+straddling
+thigh straddling
+upright straddle
+wariza
+yokozuwari
+standing
+balancing
+crossed legs
+legs apart
+standing on one leg
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_carrying.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_carrying.txt
new file mode 100644
index 0000000000000000000000000000000000000000..580570393ed7ee75b595487afc8db470d3fbccfd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_carrying.txt
@@ -0,0 +1,12 @@
+baby carry
+carrying
+carried breast rest
+carrying over shoulder
+carrying under arm
+child carry
+fireman's carry
+piggyback
+princess carry
+shoulder carry
+sitting on shoulder
+standing on shoulder
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_foot_position.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_foot_position.txt
new file mode 100644
index 0000000000000000000000000000000000000000..bd51838cd1358bf3a361ebdf111bb67c4b625c7a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_foot_position.txt
@@ -0,0 +1,5 @@
+dorsiflexion
+pigeon-toed
+plantar flexion
+tiptoes
+tiptoe kiss
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_hand_position.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_hand_position.txt
new file mode 100644
index 0000000000000000000000000000000000000000..18ccc01cca0f3f98ad978c9f2605f138b47342db
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_hand_position.txt
@@ -0,0 +1,2 @@
+stroking own chin
+outstretched hand
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_hands_touching_each_other.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_hands_touching_each_other.txt
new file mode 100644
index 0000000000000000000000000000000000000000..df27af7c4941bb0a87a8b88adbc46eb4ac3ff330
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_hands_touching_each_other.txt
@@ -0,0 +1,4 @@
+interlocked fingers
+own hands clasped
+own hands together
+star hands
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_head.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_head.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0d8e77bf70caa54d0c886b59390dfebb2d279e9f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_head.txt
@@ -0,0 +1,2 @@
+head down
+head tilt
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_hips.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_hips.txt
new file mode 100644
index 0000000000000000000000000000000000000000..88e44493cad1969e1258599c89db2fc17d092816
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_hips.txt
@@ -0,0 +1 @@
+contrapposto
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_hugging_main.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_hugging_main.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5067a77ae1c29d912970b2e5b8bf19348b102f0c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_hugging_main.txt
@@ -0,0 +1 @@
+hug
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_hugging_one_character.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_hugging_one_character.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5d79957bfd3c49f455cabdc142877111794070ba
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_hugging_one_character.txt
@@ -0,0 +1,4 @@
+hugging own legs
+object hug
+tail hug
+wing hug
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_hugging_two_characters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_hugging_two_characters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4e82b418be813db617df9aaed38b28d55cdfc209
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_hugging_two_characters.txt
@@ -0,0 +1,3 @@
+arm hug
+hug from behind
+waist hug
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_knee_location.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_knee_location.txt
new file mode 100644
index 0000000000000000000000000000000000000000..398e12c5423c7a133a61f8afddd97f950cf73ee5
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_knee_location.txt
@@ -0,0 +1,2 @@
+knees together feet apart
+knees apart feet together
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_leg_location.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_leg_location.txt
new file mode 100644
index 0000000000000000000000000000000000000000..107923db6bb72b5b7d4ca9d645f25e1213ad3db6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_leg_location.txt
@@ -0,0 +1,13 @@
+crossed ankles
+folded
+leg up
+legs up
+knees to chest
+legs over head
+leg lift
+outstretched leg
+split
+pigeon pose
+standing split
+spread legs
+watson cross
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_movement_of_the_body.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_movement_of_the_body.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f548bb16fef6541117e4e71bdbb666d14269ab8e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_movement_of_the_body.txt
@@ -0,0 +1,6 @@
+balancing
+crawling
+jumping
+running
+walking
+wallwalking
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_other_whole_body.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_other_whole_body.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4190ea30b51febe0034c2ec44ec48953358a1e56
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_other_whole_body.txt
@@ -0,0 +1,64 @@
+all fours
+top-down bottom-up
+prostration
+chest stand
+cowering
+crucifixion
+faceplant
+fighting stance
+battoujutsu stance
+full scorpion
+reclining
+squatting
+stretching
+superhero landing
+upside-down
+handstand
+headstand
+yoga
+scorpion pose
+all fours
+top-down bottom-up
+prostration
+chest stand
+cowering
+crucifixion
+faceplant
+fighting stance
+battoujutsu stance
+full scorpion
+reclining
+squatting
+stretching
+superhero landing
+upside-down
+handstand
+headstand
+yoga
+scorpion pose
+animal pose
+bunny pose
+horns pose
+paw pose
+claw pose
+archer pose
+bras d'honneur
+body bridge
+contrapposto
+dojikko pose
+gendou pose
+inugami-ke no ichizoku pose
+jojo pose
+letter pose
+ojou-sama pose
+saboten pose
+symmetrical hand pose
+victory pose
+villain pose
+zombie pose
+arched back
+bent over
+leaning back
+leaning forward
+slouching
+twisted torso
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_poses.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_poses.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0a61d0972da54337d07d1f75c3276483d768cdf4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_poses.txt
@@ -0,0 +1,20 @@
+animal pose
+bunny pose
+horns pose
+paw pose
+claw pose
+archer pose
+bras d'honneur
+body bridge
+contrapposto
+dojikko pose
+gendou pose
+inugami-ke no ichizoku pose
+jojo pose
+letter pose
+ojou-sama pose
+saboten pose
+symmetrical hand pose
+victory pose
+villain pose
+zombie pose
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_rest_points.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_rest_points.txt
new file mode 100644
index 0000000000000000000000000000000000000000..733f00fc8b6e624f1fccccfc7822ef569bf6aa52
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_rest_points.txt
@@ -0,0 +1,2 @@
+arm support
+head rest
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_three_characters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_three_characters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..639cef8d5c0b8d8e39ce4a820dfcb7689b51b3a1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_three_characters.txt
@@ -0,0 +1,2 @@
+circle formation
+group hug
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_torso.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_torso.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8a9eaa9c0678fd7e68348b5b3c3c3bf6579c7867
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_torso.txt
@@ -0,0 +1,6 @@
+arched back
+bent over
+leaning back
+leaning forward
+slouching
+twisted torso
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_two_characters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_two_characters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0c2722d6a81075726cc5f21a87b8162e9220fd34
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/posture_two_characters.txt
@@ -0,0 +1,7 @@
+back-to-back
+cheek-to-cheek
+eye contact
+forehead-to-forehead
+heads together
+holding hands
+leg lock
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_before.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_before.txt
new file mode 100644
index 0000000000000000000000000000000000000000..bdcfbc6597086dfd36877217f4d54f2766087cd7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_before.txt
@@ -0,0 +1 @@
+presenting
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_ageplay.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_ageplay.txt
new file mode 100644
index 0000000000000000000000000000000000000000..533abbe9ad79687c2573e5839416e895e0c86d6e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_ageplay.txt
@@ -0,0 +1,6 @@
+diaper
+adult baby
+loli
+shota
+toddlercon
+mature female
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_animal_play.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_animal_play.txt
new file mode 100644
index 0000000000000000000000000000000000000000..eb664b2ddef114fb151cce50cc03186bc54611b4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_animal_play.txt
@@ -0,0 +1,4 @@
+leash pull
+pet play
+human dog
+pony play
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_body_types.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_body_types.txt
new file mode 100644
index 0000000000000000000000000000000000000000..32427ccb3674d3c5f43cac2cd064ad301d39570f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_body_types.txt
@@ -0,0 +1,10 @@
+giant
+giantess
+miniboy
+minigirl
+muscular
+muscular female
+plump
+curvy
+fat
+skinny
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_bondage.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_bondage.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c25b01c0259acf73520271eb7b2d705345a79d8a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_bondage.txt
@@ -0,0 +1,28 @@
+bdsm
+asphyxiation
+strangling
+bondage
+breast bondage
+predicament bondage
+shibari
+spreader bar
+suspension
+femdom
+assertive female
+clothed female nude male
+sitting on face
+humiliation
+body writing
+neglect play
+public use
+tally
+rope walking
+slave
+spanked
+torture
+clitoris torture
+nipple torture
+nipple pull
+ball busting
+tickle torture
+wax play
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_breasts.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_breasts.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a1afd5dc0bc564919efca2077945a47761395b1a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_breasts.txt
@@ -0,0 +1,8 @@
+breasts
+breast expansion
+gigantic breasts
+breast smother
+multiple breast smother
+lactation
+breastfeeding
+lactation through clothes
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_cum_play.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_cum_play.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6f9c96d70ededa16849958925bee3b48c550fbaa
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_cum_play.txt
@@ -0,0 +1,31 @@
+cum
+bukkake
+cumdump
+cum bath
+cumdrip
+cum pool
+cum inflation
+cum in ass
+cum in clothes
+cum in cup
+cum in mouth
+cum in throat
+cum on tongue
+cum in pussy
+cum in urethra
+cum on body
+cum on hair
+cum on ass
+cum on pussy
+cum on breasts
+cum on fingers
+cum on clothes
+cum on glasses
+cum on food
+ejaculation
+ejaculating while penetrated
+pull out
+facial
+autofacial
+felching
+gokkun
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_exhibitionism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_exhibitionism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4449421bf5019e4d3e18288f45f543a3e555d07a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_exhibitionism.txt
@@ -0,0 +1,17 @@
+exhibitionism
+clothed sex
+public indecency
+public nudity
+zenra
+public vibrator
+stealth masturbation
+stealth sex
+cheating
+cuckolding
+netorare
+prostitution
+public use
+voyeurism
+caught
+peeping
+walk-in
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_extreme_mutilation.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_extreme_mutilation.txt
new file mode 100644
index 0000000000000000000000000000000000000000..841e7c82c64f229ad09bf0e86871fea02553e799
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_extreme_mutilation.txt
@@ -0,0 +1,5 @@
+guro
+amputee
+double amputee
+quadruple amputee
+triple amputee
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_extreme_scat_and_urination.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_extreme_scat_and_urination.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3c67f903d7b80d68082cc6fe46b94b15a95e6848
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_extreme_scat_and_urination.txt
@@ -0,0 +1,8 @@
+scat
+enema
+peeing
+drinking pee
+golden shower
+peeing on viewer
+have to pee
+peeing self
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_facial_expressions.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_facial_expressions.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b131a72459d19f95e7b721ab739c1f114397ebd6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_facial_expressions.txt
@@ -0,0 +1,5 @@
+:>=
+fucked silly
+ahegao
+torogao
+naughty face
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_gender_play.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_gender_play.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9e47fac07caef90719713531f1fe5493011b45bd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_gender_play.txt
@@ -0,0 +1,11 @@
+crossdressing
+otoko no ko
+reverse trap
+futanari
+implied futanari
+full-package futanari
+futa with female
+futa with futa
+futa with male
+male futanari
+no testicles
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_incest.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_incest.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c43755260444503e684949c7e4341ce0d9730cf9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_incest.txt
@@ -0,0 +1,2 @@
+incest
+twincest
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_misc.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_misc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..fc7484b2d2dadcab50ae469299ab79491109a65f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_misc.txt
@@ -0,0 +1,42 @@
+anatomy
+conjoined
+extra arms
+extra breasts
+extra penises
+bestiality
+Knotting
+condom
+used condom on penis
+condom left inside
+used condom
+defloration
+nantaimori
+nyotaimori
+wakamezake
+bust cup
+female ejaculation
+Pussy juice
+human furniture
+forniphilia
+human toilet
+Mecha on girl
+pregnant
+birth
+impregnation
+unbirthing
+selfcest
+smelling
+smelling feet
+smelling clothes
+smelling underwear
+smelling pantyhose
+tentacles
+consensual tentacles
+tentacle gagged
+tentaclejob
+tentacle sex
+tentacles in thighhighs
+tentacles under clothes
+tentacles on male
+too many tentacles
+vore
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_rape.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_rape.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ca40c1303b6c543f2407b3446dcc7a646cf3c91d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_rape.txt
@@ -0,0 +1,6 @@
+rape
+femdom rape
+imminent rape
+molestation
+chikan
+compensated molestation
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_smother.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_smother.txt
new file mode 100644
index 0000000000000000000000000000000000000000..35f6afbf0f133d3ed2845517ae5b7a7dc40f4239
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_smother.txt
@@ -0,0 +1,4 @@
+smother
+asphyxiation
+breast smother
+sitting on face
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_views.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_views.txt
new file mode 100644
index 0000000000000000000000000000000000000000..837f733ea3a5225fa204c963e1fdca1718e06785
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_fetishes_views.txt
@@ -0,0 +1,3 @@
+cross-section
+internal cumshot
+x-ray
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_group_sex.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_group_sex.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e19d8861d274afb15f217d18d32273a3fc33f4e4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_group_sex.txt
@@ -0,0 +1,17 @@
+group sex
+bisexual
+bisexual female
+bisexual male
+daisy chain
+gangbang
+double penetration
+triple penetration
+love train
+cooperative fellatio
+cooperative footjob
+multiple breast smother
+orgy
+reverse spitroast
+spitroast
+teamwork
+threesome
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_penetration_and_insertion.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_penetration_and_insertion.txt
new file mode 100644
index 0000000000000000000000000000000000000000..be0c367d545e4a265628ae7cb0a16b5c27cd09fe
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_penetration_and_insertion.txt
@@ -0,0 +1,60 @@
+object insertion
+vaginal object insertion
+anal object insertion
+large insertion
+stomach bulge
+food insertion
+animal insertion
+multiple insertions
+urethral insertion
+sounding
+cervical penetration
+nipple penetration
+nosejob
+fingering
+anal fingering
+prostate milking
+fingering through clothes
+fingering through panties
+implied fingering
+fisting
+anal fisting
+self fisting
+sex
+after sex
+after anal
+after buttjob
+after fellatio
+after fingering
+after frottage
+after insertion
+after masturbation
+after oral
+after paizuri
+after rape
+after urethral
+after vaginal
+afterglow
+clothed after sex
+anal
+double anal
+imminent anal
+pegging
+triple anal
+clothed sex
+guided penetration
+happy sex
+imminent penetration
+implied sex
+navel sex
+sex from behind
+skull fucking
+ear sex
+penis in eye
+tentacle sex
+underwater sex
+vaginal
+after vaginal
+double vaginal
+imminent vaginal
+triple vaginal
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_same_sex.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_same_sex.txt
new file mode 100644
index 0000000000000000000000000000000000000000..22031804f16175107e86223a0c925fa3dbfd8490
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_same_sex.txt
@@ -0,0 +1,9 @@
+yaoi
+bara
+implied yaoi
+bulges touching
+penises touching
+testicles touching
+yuri
+implied yuri
+tribadism
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_stimulation.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_stimulation.txt
new file mode 100644
index 0000000000000000000000000000000000000000..cf004a24a573aef96025ef8c13531b8920fb76ea
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sex_acts_stimulation.txt
@@ -0,0 +1,77 @@
+footjob
+double footjob
+implied footjob
+cooperative footjob
+shoejob
+feet
+licking foot
+foot worship
+smelling feet
+frottage
+armpit sex
+grinding
+backjob
+buttjob
+double grinding
+kneepit sex
+paizuri
+Pecjob
+cooperative paizuri
+naizuri
+paizuri over clothes
+paizuri on lap
+paizuri under clothes
+thigh sex
+groping
+ass grab
+breast grab
+guided breast grab
+pectoral grab
+guided pectoral grab
+nipple tweak
+crotch grab
+guided crotch grab
+grabbing own breast
+torso grab
+hairjob
+handjob
+caressing testicles
+double handjob
+cooperative handjob
+nursing handjob
+reach-around
+two-handed handjob
+masturbation
+clothed masturbation
+crotch rub
+building sex
+pillow sex
+teddy bear sex
+table sex
+implied masturbation
+male masturbation
+mutual masturbation
+stealth masturbation
+tail masturbation
+tail
+tail insertion
+tail masturbation
+tailjob
+oral
+anilingus
+trombone
+breast sucking
+cunnilingus
+autocunnilingus
+implied cunnilingus
+fellatio
+autofellatio
+cum swap
+deepthroat
+implied fellatio
+irrumatio
+cooperative fellatio
+multiple penis fellatio
+sitting on face
+testicle sucking
+licking testicle
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sexual_positions_bondage.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sexual_positions_bondage.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6d1361d636ec349ebc542a2760bca09f62369851
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sexual_positions_bondage.txt
@@ -0,0 +1,17 @@
+box tie
+bound arms
+bound feet
+bound legs
+bound calves
+bound knees
+bound thighs
+bound torso
+bound wrists
+frogtie
+hogtie
+separated arms
+separated legs
+separated wrists
+shrimp tie
+strappado
+suspension
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sexual_positions_main.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sexual_positions_main.txt
new file mode 100644
index 0000000000000000000000000000000000000000..fe31ae54e296b2baf2fb611d38c72f9ac0e451b1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sexual_positions_main.txt
@@ -0,0 +1,26 @@
+69
+doggystyle
+bent over
+prone bone
+top-down bottom-up
+spitroast
+spooning
+on side
+girl on top
+amazon position
+cowgirl position
+reverse cowgirl position
+reverse upright straddle
+upright straddle
+boy on top
+anvil position
+folded
+knees to chest
+legs over head
+legs up
+missionary
+mating press
+suspended congress
+reverse suspended congress
+full nelson
+piledriver
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sleeves_actions.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sleeves_actions.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1b40543bcc6a3b25609675c3beb2647875c67b4b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/pose/sleeves_actions.txt
@@ -0,0 +1,5 @@
+arm out of sleeve
+hands in opposite sleeves
+pinching sleeves
+pinching sleeves
+sleeve grab
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/var/jobs.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/var/jobs.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5200330647652dd4b1190622a8d38edcee93daa7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/var/jobs.txt
@@ -0,0 +1,76 @@
+actor
+actress
+alchemist
+artist painter
+astronaut
+athlete
+bartender
+bodyguard
+burglar
+butler
+cashier
+chef
+chemist
+conductor
+construction worker
+croupier
+cyclist
+dentist
+dj
+doctor
+dominatrix
+driver
+engineer
+farmer
+firefighter
+flight attendant
+florist
+geisha
+guard
+hacker
+hikikomori
+idol
+janitor
+judge
+librarian
+lifeguard
+lumberjack
+maid
+mechanic
+merchant
+miko
+miner
+monk
+musician
+ninja
+nun
+nurse
+school nurse
+office lady
+pilot
+police
+politician
+priest
+prisoner
+prostitution
+sailor
+salaryman
+samurai
+scientist
+shepherd
+slave
+soldier
+officer
+standard-bearer
+spy
+stripper
+teacher
+terrorist
+trucker
+train attendant
+train conductor
+waiter
+waitress
+warrior
+wizard
+witch
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/var/prints_patterns.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/var/prints_patterns.txt
new file mode 100644
index 0000000000000000000000000000000000000000..309837b24fb9b60aebf55e3e7f99fa84ceadaaa0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/var/prints_patterns.txt
@@ -0,0 +1,22 @@
+Argyle
+Asa No Ha
+Camouflage
+Checkered
+Honeycomb
+Houndstooth
+Pinstripe pattern
+Plaid
+Gingham
+Polka dot
+Sayagata
+Seigaiha
+Striped
+Vertical stripes
+Diagonal stripes
+Horizontal Stripes
+Colored stripes
+Multicolored stripes
+Tiger stripes
+Double vertical stripe
+Invasion stripes
+Yagasuri
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/var/prints_patterns_specific.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/var/prints_patterns_specific.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e85750cc229843a44af34e8b0b3f87bf5f3a27dd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/var/prints_patterns_specific.txt
@@ -0,0 +1,17 @@
+Animal print
+Bat print
+Bear print
+Bird print
+Cow print
+Leopard print
+Tiger print
+Snake print
+Zebra print
+Flag print
+Floral print
+Cherry blossom print
+Hand print
+Leaf print
+Musical note print
+Piano print
+Watermelon print
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/var/prints_patterns_things.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/var/prints_patterns_things.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7cf84f9c133c0f95ed8d9189f3fde58a2c3092c1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/var/prints_patterns_things.txt
@@ -0,0 +1,4 @@
+patterned hair
+patterned clothing
+patterned
+patterned background
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/var/prints_print_items.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/var/prints_print_items.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ae476e294436270748fcba3d7c1a69c5cbc9a5f5
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/var/prints_print_items.txt
@@ -0,0 +1,14 @@
+Print eyepatch
+Print footwear
+Print gloves
+Print hakama
+Print headwear
+Print kimono
+Print legwear
+Print neckwear
+Print panties
+Print shirt
+Print shorts
+Print swimsuit
+Print bikini
+Print umbrella
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/var/sports_list.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/var/sports_list.txt
new file mode 100644
index 0000000000000000000000000000000000000000..71d7cf7f378ef4b11f77a38fa2739e986b932bb1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/var/sports_list.txt
@@ -0,0 +1,23 @@
+American football
+Badminton
+Baseball
+Basketball
+Billiards
+Boxing
+Bowling
+Croquet
+Field Hockey
+Golf
+Gymnastics
+Rhythmic Gymnastics
+Ice hockey
+Kabaddi
+Kemari
+Lacrosse
+Rugby
+Sepak Takraw
+Soccer
+Table tennis
+Tennis
+Volleyball
+Water polo
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/var/sports_main.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/var/sports_main.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8432ac833f9795ddd1a8e5fb3cd9f6bbf53a19a5
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/var/sports_main.txt
@@ -0,0 +1 @@
+Playing sports
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/var/verbs_and_gerunds_ambiguous.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/var/verbs_and_gerunds_ambiguous.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9b186729c8dc2734b6cd29db18104bc391dc9bd0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/var/verbs_and_gerunds_ambiguous.txt
@@ -0,0 +1,12 @@
+bullying
+egg laying
+pegging
+penises touching
+pipelining
+sounding
+symmetrical docking
+asymmetrical docking
+prostate milking
+squatting
+taunting
+teasing
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/var/verbs_and_gerunds_gerunds.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/var/verbs_and_gerunds_gerunds.txt
new file mode 100644
index 0000000000000000000000000000000000000000..502c0570762b9b0d5e7a329f3236da69eed75f52
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/var/verbs_and_gerunds_gerunds.txt
@@ -0,0 +1,87 @@
+battle
+bleeding
+blowing
+bowling
+boxing
+mind control
+breast padding
+building
+model building
+bullfighting
+burning
+camping
+carving
+cheating
+clapping
+cling
+breast clinging
+crossdressing
+dating
+2D dating
+dissolving
+drawing
+child drawing
+drowning
+face stretching
+fading
+fencing
+fishing
+flashing
+mooning
+streaking
+flexing
+foreshortening
+frottage
+goldfish scooping
+grilling
+hiking
+hitchhiking
+horseback riding
+kidnapping
+kiss
+necking
+knitting
+marching
+masturbation
+misunderstanding
+mixed bathing
+mooning
+painting
+drawing on another's face
+panicking
+pose
+pouting
+racing
+filming
+recording
+relationshipping
+rotting
+rowing
+scolding
+lecturing
+sewing
+shoplifting
+skating
+figure skating
+ice skating
+skiing
+slapping
+smother
+stalking
+straddling
+pillow straddling
+thigh straddling
+swimming
+freediving
+tail wagging
+theft
+tribadism
+tucking
+unbirthing
+voyeurism
+wedding
+welding
+wrestling
+arm wrestling
+writing
+yawning
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/var/verbs_and_gerunds_verbs.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/var/verbs_and_gerunds_verbs.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b5c2eba8c82b4971c8d8fec1d973c06433687f99
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/devilkkw/var/verbs_and_gerunds_verbs.txt
@@ -0,0 +1,334 @@
+aiming
+aiming at viewer
+animal milking
+apologizing
+applying makeup
+balancing
+bathing
+beckoning
+begging
+biting
+ass biting
+breast biting
+cheek biting
+ear biting
+finger biting
+foreskin biting
+glove biting
+hand biting
+head biting
+lip biting
+nail biting
+penis biting
+tail biting
+thumb biting
+blinking
+blocking
+bouncing
+bouncing breasts
+bowing
+breaking
+breastfeeding
+breathing
+heavy breathing
+panting
+bubble blowing
+bumping
+carrying
+catching
+charging
+chasing
+cheering
+stroking own chin
+cleaning
+dishwashing
+sweeping
+climbing
+comforting
+concentrating
+cooking
+baking
+chocolate making
+roasting
+stirring
+coughing
+covering
+cowering
+crawling
+crushing
+crying
+sobbing
+cuddling
+cupping
+cutting
+wrist cutting
+dancing
+pole dancing
+diaper changing
+digging
+diving
+dodging
+dragging
+dreaming
+dressing
+forced dressing
+undressing
+drinking
+drinking
+dripping
+driving
+drooling
+dropping
+drying
+dual wielding
+quadruple wielding
+triple wielding
+dying
+ear cleaning
+eating
+chewing
+swallowing
+tasting
+eavesdropping
+elbowing
+drawing on another's face
+fainting
+falling
+fanning
+fan speaking
+fanning crotch
+fanning face
+feeding
+pov feeding
+fidgeting
+fighting
+fingering
+anal fingering
+firing
+fisting
+anal fisting
+flailing
+flapping
+flirting
+floating
+flying
+gardening
+watering
+giving
+glaring
+glowing
+grabbing
+grinding
+double grinding
+groping
+hairdressing
+brushing hair
+hair tucking
+hair twirling
+hanging
+hatching
+healing
+hiding
+hitting
+holding
+humping
+dry humping
+imagining
+imitating
+juggling
+jumping
+hopping
+pouncing
+kicking
+kneeing
+knocking
+landing
+laughing
+giggling
+launching
+leaning
+licking
+licking armpit
+licking breast
+licking another's cheek
+licking cum
+licking ear
+licking eye
+licking another's face
+licking finger
+licking floor
+licking foot
+licking blade
+licking leg
+licking navel
+licking nipple
+licking panties
+licking testicle
+licking thigh
+lifting
+looking
+looking at viewer
+looking away
+looking back
+looking down
+looking up
+lying
+measuring
+bust measuring
+penis measuring
+waist measuring
+melting
+mind reading
+moaning
+multitasking
+nose picking
+opening
+pantsing
+patting
+peeing
+bedwetting
+peeking
+peeling
+peeping
+headpat
+petting
+pinching
+cheek pinching
+pitching
+playing
+pointing
+pointing at viewer
+poking
+cheek poking
+polishing
+pouring
+decantering
+praying
+presenting
+programming
+protecting
+pulling
+punching
+pushing
+rappelling
+reaching
+reading
+reloading
+repairing
+resisting
+resting
+riding
+broom riding
+umbrella riding
+ripping
+roaring
+rolling
+rubbing
+crotch rub
+running
+scratching
+screaming
+searching
+shading eyes
+shaking
+sharing
+shaving
+shopping
+shouting
+shushing
+singing
+sinking
+sitting
+reclining
+sketching
+skipping
+slashing
+sleeping
+sliding
+slipping
+smelling
+smelling clothes
+smelling pantyhose
+smelling underwear
+smoking
+sneezing
+snowing
+spanking
+spilling
+spinning
+pen spinning
+spitting
+splashing
+spooning
+spraying
+squeezing
+squinting
+squirting liquid
+stacking
+standing
+staring
+stepping
+stomping
+strangling
+struggling
+studying
+sucking
+blood sucking
+breast sucking
+self breast sucking
+finger sucking
+thumb sucking
+toe sucking
+sulking
+summoning
+sunbathing
+surfing
+broom surfing
+sky surfing
+swaying
+swinging
+tail fondling
+talking
+sleep talking
+tapping
+teaching
+text messaging
+thinking
+throwing
+tickling
+foot tickling
+touching
+training
+trembling
+trolling
+tugging
+twitching
+tying
+scarf tying
+shoe tying
+untying
+typing
+unsheathing
+unzipping
+vomiting
+wading
+skinny dipping
+waiting
+walking
+dog walking
+rope walking
+wallwalking
+warming
+washing
+body soaping
+watching
+watching television
+waving
+whipping
+whisking
+whispering
+whistling
+working
+wringing
+zipping
+unzipping
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/README.md b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..6e41015e53990515ac875185dc3eb7f25921e228
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/README.md
@@ -0,0 +1 @@
+This is a pretty large set of modifiers and artists. It's a work in progress and will likely always be incomplete. Beware that Stable Diffusion may not be able to identify a proportion of the artists in the database. See this [issue](https://github.com/adieyal/sd-dynamic-prompts/issues/28) for a discussion. You can either use the collection as is, or use it as a way to bootstrap your own collection.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/aesthetics/colours.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/aesthetics/colours.txt
new file mode 100644
index 0000000000000000000000000000000000000000..aa1376ac960a847d68e89bad7f3fbef59669ce80
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/aesthetics/colours.txt
@@ -0,0 +1,13 @@
+black
+blue
+brown
+cyan
+green
+grey
+orange
+pink
+purple
+red
+violet
+white
+yellow
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/aesthetics/colours/black.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/aesthetics/colours/black.txt
new file mode 100644
index 0000000000000000000000000000000000000000..13520c513eb74ab23862ada78872855dbe13cfb8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/aesthetics/colours/black.txt
@@ -0,0 +1,20 @@
+Bistre
+Black
+Black bean
+Black olive
+Café noir
+Charcoal
+Dark purple
+Ebony
+Eerie black
+Jet
+Licorice
+Midnight blue
+Night
+Onyx
+Outer space
+Raisin black
+Rich black
+Russian violet
+Smoky black
+Taupe
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/aesthetics/colours/blue.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/aesthetics/colours/blue.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c4fb210eaf39c6b0bea8544f2802414d35fbcbdd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/aesthetics/colours/blue.txt
@@ -0,0 +1,92 @@
+Aero
+Air Force blue
+Air superiority blue
+Alice Blue
+Argentinian Blue
+Azul
+Azure
+Baby blue
+Berkeley Blue
+Bice blue
+Bleu de France
+Blue
+Blue (Crayola)
+Blue-gray
+Blue (Munsell)
+Blue (NCS)
+Bondi blue
+Brandeis blue
+Byzantine blue
+Cambridge blue
+Carolina blue
+Celestial Blue
+Celtic Blue
+Cerulean
+Chefchaouen Blue
+Chrysler blue
+Cobalt blue
+Columbia blue
+Cornflower blue
+Dark blue
+Deep Sky Blue
+Delft Blue
+Denim
+Dodger blue
+Duke blue
+Egyptian blue
+Electric indigo
+Federal blue
+French Blue
+Glaucous
+Green-blue
+Honolulu Blue
+Ice blue
+Indigo
+Indigo dye
+International Klein Blue
+Jordy Blue
+Lapis Lazuli
+Light blue
+Light Sky Blue
+Majorelle Blue
+Marian blue
+Maya blue
+Medium blue
+Medium slate blue
+Midnight blue
+Navy blue
+Neon blue
+Non-photo blue
+Oxford Blue
+Palatinate blue
+Pale azure
+Penn Blue
+Periwinkle
+Persian blue
+Phthalo blue
+Picton Blue
+Polynesian blue
+Powder blue
+Prussian blue
+Resolution Blue
+RISD Blue
+Royal Blue
+Ruddy Blue
+Sapphire
+Savoy blue
+Silver Lake Blue
+Sky blue
+Space cadet
+Steel blue
+Tang Blue
+True Blue
+Tufts Blue
+UCLA Blue
+Ultramarine
+United Nations Blue
+Uranian Blue
+Violet-blue
+Vista Blue
+Yale Blue
+YInMn Blue
+Zaffre
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/aesthetics/colours/brown.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/aesthetics/colours/brown.txt
new file mode 100644
index 0000000000000000000000000000000000000000..21c17eb31f6e3ebda58a952959934fe7e29bb898
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/aesthetics/colours/brown.txt
@@ -0,0 +1,66 @@
+Auburn
+Beaver
+Beige
+Bistre
+Black bean
+Black olive
+Bole
+Bone
+Bronze
+Brown
+Brown sugar
+Buff
+Burgundy
+Burnt sienna
+Burnt umber
+Camel
+Caput mortuum
+Caramel
+Chamoisee
+Chestnut
+Chocolate
+Citron
+Cocoa Brown
+Coffee
+Copper
+Cordovan
+Coyote
+Desert sand
+Drab dark brown
+Dun
+Earth yellow
+Ecru
+Fallow
+Fawn
+Field drab
+Fulvous Golden brown
+Goldenrod
+Harvest gold
+Khaki
+Kobicha
+Lion
+Liver
+Mahogany
+Maroon
+Ochre
+Raw umber
+Red-brown
+Redwood
+Rufous
+Russet
+Rust
+Sand
+Sandy brown
+Satin sheen gold
+Seal brown
+Sepia
+Sienna
+Sinopia
+Tan
+Taupe
+Tawny
+Umber
+Van Dyke
+Walnut brown
+Wenge
+Wheat
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/aesthetics/colours/cyan.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/aesthetics/colours/cyan.txt
new file mode 100644
index 0000000000000000000000000000000000000000..543318c3df2becf698a835f150ea3dd8d789bc98
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/aesthetics/colours/cyan.txt
@@ -0,0 +1,35 @@
+Alice blue
+Aqua
+Aquamarine
+Azure
+Blue-green
+Capri
+Caribbean Current
+Celeste Cerulean
+Cyan
+Dark cyan
+Electric blue
+Fluorescent cyan
+Jungle green
+Keppel Ice blue
+Light cyan
+Light sea green
+Mint
+Mint green
+Moonstone
+Myrtle Green
+Pacific cyan
+Persian green
+Pine green
+Process Cyan
+Robin egg blue
+Sea green
+Skobeloff
+Sky blue
+Spring green
+Teal
+Tiffany Blue
+Turquoise
+Verdigris
+Vivid sky blue
+Zomp
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/aesthetics/colours/green.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/aesthetics/colours/green.txt
new file mode 100644
index 0000000000000000000000000000000000000000..10984a42bf852ad097e05cc57e5147db2964cf0d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/aesthetics/colours/green.txt
@@ -0,0 +1,66 @@
+Apple green
+Aquamarine
+Asparagus
+Avocado
+Bright green
+British racing green
+Brunswick green
+Cal Poly green
+Castleton green
+Celadon
+Chartreuse
+Cyan
+Dark green
+Dark moss green
+Dark pastel green
+Dark spring green
+Dartmouth green
+Emerald Erin
+Fern green
+Forest green
+Green
+Green-yellow
+Harlequin
+Honeydew
+Hooker's green
+Hunter green
+India green
+Islamic green
+Jade
+Jungle green
+Kelly green
+Lawn green
+Light green
+Lime
+Lime green
+Malachite
+Mantis
+Midnight green
+Mindaro
+Mint
+Moss green
+Myrtle green
+Neon green
+Office green
+Olive
+Olivine Pakistan green
+Paris green
+Pear
+Persian green
+Pigment green
+Pine green
+Pistachio
+Reseda green
+Robin egg blue
+Sage
+Screamin' green
+Sea green
+SGBUS green
+Shamrock green
+Spring bud
+Spring green
+Tea green
+Teal
+Turquoise
+Viridian
+Yellow-green
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/aesthetics/colours/grey.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/aesthetics/colours/grey.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c11cfa68cb3fb26219fc0503ef630424ed17e5f6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/aesthetics/colours/grey.txt
@@ -0,0 +1,20 @@
+White smoke
+Platinum
+Timberwolf
+Silver
+French grey
+Ash grey
+Rose quartz
+Cinereous
+Cadet grey
+Cool grey
+Taupe grey
+Battleship grey Grey
+Slate grey
+Dim grey
+Davy's grey
+Payne's grey
+Glaucous
+Gunmetal
+Feldgrau
+Dark slate grey
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/aesthetics/colours/orange.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/aesthetics/colours/orange.txt
new file mode 100644
index 0000000000000000000000000000000000000000..895073f90d98df998c6e485e21ff8772c0c6e0bd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/aesthetics/colours/orange.txt
@@ -0,0 +1,37 @@
+Aerospace orange
+Alloy orange
+Amber
+Apricot
+Atomic tangerine
+Brown
+Burnt orange
+Butterscotch
+Carrot orange
+Champagne
+Coral
+Dark orange
+Desert sand
+Engineering orange
+Flame
+Giants orange
+Gold
+Golden Gate Bridge
+Goldenrod
+Hunyadi yellow
+Light orange
+Mahogany
+Melon
+Orange
+Papaya whip
+Peach
+Persian orange
+Persimmon
+Princeton orange
+Pumpkin Safety orange
+Saffron Spanish orange
+Tangelo
+Tangerine
+Tawny
+Tiger’s Eye
+UT orange
+Xanthous
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/aesthetics/colours/pink.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/aesthetics/colours/pink.txt
new file mode 100644
index 0000000000000000000000000000000000000000..77f5abf9f8689438f31ebe1cc3f23cc9956a020e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/aesthetics/colours/pink.txt
@@ -0,0 +1,66 @@
+Amaranth
+Amaranth pink
+Baker-Miller pink
+Blush
+Brilliant rose
+Brink pink
+Carnation pink
+Cerise
+Champagne pink
+Cherry blossom pink
+China rose
+Coral
+Coral pink
+Cordovan
+Cyclamen
+Deep pink
+Dogwood rose
+Fairy Tale
+Folly
+French rose
+Fuchsia
+Fuchsia rose
+Heliotrope
+Hollywood cerise
+Hot magenta
+Hot pink
+Lavender blush
+Lavender pink
+Magenta Mexican pink
+Mimi Pink
+Misty rose
+Mountbatten pink
+Old rose
+Orchid pink
+Pale Dogwood
+Peach
+Persian pink
+Persian rose
+Phlox
+Pink
+Pompadour
+Puce
+Raspberry
+Raspberry rose
+Razzle dazzle rose
+Razzmatazz
+Red-violet
+Rose
+Rose
+Rose Bonbon
+Rose ebony
+Rose pink
+Rose quartz
+Rose red
+Rose taupe
+Rose vale
+Rosewood
+Rosy brown
+Salmon pink
+Seashell
+Shocking pink
+Tea rose
+Telemagenta
+Thulian pink
+Tickle me pink
+Ultra pink
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/aesthetics/colours/purple.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/aesthetics/colours/purple.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9a8bd6a546150a578b5712f74df71e97debfcb10
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/aesthetics/colours/purple.txt
@@ -0,0 +1,63 @@
+African violet
+Amethyst
+Blue-violet
+Burgundy
+Byzantium
+Caput mortuum
+Cerise
+Chinese violet
+Dark purple
+Dark violet
+Eggplant
+Electric indigo
+Electric purple
+Electric violet
+Eminence
+English violet
+Fairy Tale
+Fandango
+French mauve
+French violet
+Fuchsia Grape
+Heliotrope
+Indigo
+Iris
+Japanese violet
+Lavender
+Lavender blush
+Lilac
+Magenta
+Majorelle Blue
+Mardi Gras
+Mauve
+Mauveine
+Medium slate blue
+Mountbatten pink
+Mulberry
+Murrey
+Orchid
+Palatinate
+Pale purple
+Periwinkle
+Persian indigo
+Phlox
+Pink lavender
+Plum
+Pomp and Power
+Puce
+Purple
+Purpureus
+Rebecca purple
+Red-violet
+Royal purple
+Russian violet
+Slate blue
+Steel pink
+Tekhelet
+Thistle
+Tropical indigo
+Tyrian purple
+Ultra Violet
+Veronica
+Violet
+Wisteria
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/aesthetics/colours/red.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/aesthetics/colours/red.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c65d893d37bb72091f299cc1dc73e5e040d32bd4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/aesthetics/colours/red.txt
@@ -0,0 +1,66 @@
+Amaranth purple
+Barn red
+Bittersweet
+Bittersweet shimmer
+Blood red
+Bright pink
+Burgundy
+Candy apple red
+Cantaloupe melon
+Cardinal
+Carmine
+Cerise
+Chili red
+Chocolate cosmos
+Cinnabar
+Claret
+Coquelicot
+Coral pink
+Cordovan
+Cornell red
+Crimson
+Dark red
+Falu red
+Fire brick
+Fire engine red
+Folly
+Garnet
+Imperial red
+Indian red
+Jasper
+Light coral
+Light red
+Madder
+Mahogany
+Maroon
+Misty rose
+Off-red
+Old rose
+OU crimson
+Penn red
+Persian red
+Pink
+Poppy
+Red
+Red
+Red-brown
+Redwood
+Rojo
+Rose
+Rose ebony
+Rose red
+Rose taupe
+Rose vale
+Rosewood
+Rosy brown
+Rust
+Rusty red
+Salmon
+Salmon pink
+Scarlet
+Syracuse red-orange
+Tea rose
+Tomato
+Turkey red
+Vermilion
+Wine
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/aesthetics/colours/violet.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/aesthetics/colours/violet.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9701a93d36f93d52ff4a9c74915f68f8ec3fa616
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/aesthetics/colours/violet.txt
@@ -0,0 +1,34 @@
+African Violet
+Amaranth
+Amaranth purple
+Baker-Miller Pink
+Cerise
+Chinese
+Crimson
+Dark Magenta
+Eggplant
+English Violet
+Fandango
+Finn
+Fuchsia
+Hot magenta
+Magenta
+Magenta dye
+Magenta haze
+Mulberry
+Orchid
+Plum
+Purple
+Purple pizzazz
+Quinacridone magenta
+Raspberry
+Razzle dazzle rose
+Red-Violet
+Rose
+Rose pink
+Rose quartz
+Shocking pink
+Sky magenta
+Steel pink
+Telemagenta
+Violet
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/aesthetics/colours/white.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/aesthetics/colours/white.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4dae6582a8db137f1f0c7738ec9634a9f109a34f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/aesthetics/colours/white.txt
@@ -0,0 +1,39 @@
+Alabaster
+Alice blue
+Anti-flash white
+Antique white
+Azure white
+Baby powder
+Beige
+Bone
+Champagne
+Cornsilk
+Cosmic latte
+Cream
+Dutch white
+Eggshell
+Flax
+Floral white
+Ghost white
+Honeydew
+Isabelline
+Ivory
+Lavender blush
+Lemon chiffon
+Linen
+Magnolia
+Mint cream
+Misty rose
+Navajo white
+Nyanza
+Old lace
+Papaya whip
+Parchment
+Peach
+Pearl
+Platinum
+Seasalt
+Seashell
+Snow
+Vanilla White
+White smoke
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/aesthetics/colours/yellow.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/aesthetics/colours/yellow.txt
new file mode 100644
index 0000000000000000000000000000000000000000..52bec53320bbfb4b52f838c8132104d35dab7d64
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/aesthetics/colours/yellow.txt
@@ -0,0 +1,50 @@
+Amber
+Apricot
+Arylide yellow
+Aureolin
+Beige
+Buff
+Canary
+Champagne
+Chartreuse
+Citrine
+Citron
+Cosmic latte
+Cream
+Dark goldenrod
+Ecru
+Flax
+Gamboge
+Gold
+Gold
+Goldenrod
+Harvest gold
+Icterine
+Ivory
+Jasmine
+Jonquil
+Khaki
+Lemon chiffon
+Lemon-lime
+Light yellow
+Lion
+Maize
+Mikado yellow
+Mindaro
+Mustard
+Naples yellow
+Navajo white
+Old gold
+Olive
+Papaya whip
+Peach-yellow
+Pear
+Saffron
+School bus yellow
+Selective yellow
+Stil de grain yellow
+Straw
+Sunglow Sunset
+Vanilla
+Wheat
+Yellow
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/aesthetics/general_aesthetics.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/aesthetics/general_aesthetics.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2b77621448cbb033b97e45db00ec6c98ec1599ab
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/aesthetics/general_aesthetics.txt
@@ -0,0 +1,649 @@
+# Originally sourced from https://aesthetics.fandom.com/wiki/List_of_Aesthetics
+# Also, have a look at this great study by @Jonseed - https://www.reddit.com/r/StableDiffusion/comments/zon9zn/648_aesthetic_modifiers_study_based_on_aesthetics/
+'70s Disco
+2-Tone
+1950's Suburbia
+2000's Autumn
+2014 Girly Tumblr
+2K Animecore
+Abstract Tech
+Acid Pixie
+Acidwave
+Adventure Pulp
+Adventurecore
+Aetherpunk
+Afrofuturism
+Afro-Victorian
+After Hours
+Agropeople
+Alien
+Alternative
+Americana
+Analog Horror
+American Pioneers
+American Revolution
+American Thanksgiving
+American Tourist Traps
+Ancient Egypt
+Androgynous
+Anemoiacore
+Angelcore
+Anglocore
+Anglo Gothic
+Angura Kei
+Animecore
+Antique Grunge
+Anti-Fashion
+Arcade
+Arcadecore
+Art Academia
+Arts and Crafts Movement
+Art Deco
+Art Hoe
+Art Nouveau
+Asian Baby Girl
+Athlete
+Atompunk
+Auroracore
+Autumn
+Avant Apocalypse
+Avant-garde
+Babycore
+Babygirl
+Back-to-School
+Baddie
+Ballet Academia
+Baltic Violence Tumblr
+Barbiecore
+Bardcore
+Baroque
+Bastardcore
+BDSM
+Beach Bunny
+Beach Day
+Beatnik
+Biker
+Bimbocore
+Biohazard
+Biopunk
+Bizarro Fiction
+Black-Holed Meme
+Bloomcore
+Bodikon
+Bohemian
+Bombacore
+Bookstore Girl
+Bosozoku
+Boujee
+Breakcore
+Britpop
+Brocore
+Bronzepunk
+Bunni Frog
+Bubble Bujo
+Bubble Goth
+Bubblegum Bitch
+Bubblegum Witch
+Cabincore
+Cagole
+Camp
+Campcore
+Candycore
+Cargopunk
+Carnivalcore
+Cartelcore
+Cartooncore
+Casino
+Cassette Futurism
+Celtic
+Changelingcore
+Chaotic Academia
+Chav
+Cheiron Crush
+Cherry Emoji Twitter
+Chic Modernist
+Cholo
+Christcore
+Christian Girl Autumn
+Christmas
+Chunyu
+City Pop
+Classic Academia
+Classic Lolita
+Classicism
+Cleancore
+Clockpunk
+Cloudcore
+Clowncore
+Club
+Club Kids
+Coastal Grandmother
+Cutecore
+Coffee House/Cafe
+Coffinwood
+Colourful Black
+Comfy/Cozy
+Common White Girl
+Concore
+Constructivism
+Corporate
+Corporate Memphis
+Corporate Punk
+Cottagecore
+Cottagegore
+Coquette Academia
+Coquette
+Country
+Cozy Childhood Hideaway
+C-Pop
+Crackhead
+Craftcore
+Cripplepunk
+Crowcore
+Crustpunk
+Cryptid Academia
+Cryptidcore
+Cubism
+Cuddle Party
+Cultcore
+Cult Party Kei
+Cyber Minimalism
+Cyberdelic
+Cyber Fairy Grunge
+Cyberghetto
+Cybergoth
+Cybergrunge
+CyberneticPunk
+Cyberparadism
+Cyberpop
+Cyberprep
+Cyberpunk
+Danish Pastel
+DarkErrorcore
+Dark Academia
+Dark Fantasy
+Dark Naturalism
+Dark Nautical
+Dark Nymphet
+Dark Paradise
+Darkcore
+Darkest Academia
+Daydreampunk
+Dazecore
+De Stijl
+Deathcore
+Deathrock
+Decopunk
+Decora
+Delicate Sweet
+Desertwave
+Desi Romantic Academia
+Dethereal
+Devilcore
+Dieselpunk
+Diner
+Dionysism
+Dolly Kei
+Downtown Girl
+Dracopunk
+Dragoncore
+Drain
+Dreamcore
+Dreamy
+Drugcore
+Dual Kawaii
+Duckcore
+Dullcore
+Dungeon Synth
+E-Boy
+E-Girl
+Earthcore
+ElectroPop 08
+Electro Swing
+Emo
+English Major
+Equestrian
+Erokawa
+Ethereal
+Europunk
+Expressionism
+Fairy Academia
+Fairy Grunge
+Fairy Kei
+Fairy Tale
+Fairycore
+Fanfare
+Fantasy
+Fantasy Astronomy
+Fashwave
+Farmer's Daughter
+Fauvism
+Fawncore
+Femboy
+Femcel Weeaboo
+Femme Fatale
+Feralcore
+Film Noir
+Flapper
+Folk Punk
+Foodie
+Forestpunk
+French Girl
+French Girly
+Frogcore
+Frutiger Aero
+Funky Seasons
+Furry
+Futago
+Futurism
+Gadgetpunk
+Game Night
+Gamercore
+Gamine
+Geek
+Gen X Soft Club
+Ghostcore
+Girl-Next-Door
+Glam Girl
+Glam Rock
+Glitchcore
+Gloomcore
+Glowwave
+Goblin Academia
+Goblincore
+Golden Age of Detective Fiction
+Golden Hour
+Gopnik
+Gorecore
+Gorpcore
+Goth
+Gothcore
+Gothic
+Gothic Lolita
+Grandmillenial
+Grandparentcore
+Greaser
+Green Academia
+Grifes
+Grindhouse
+Groundcore
+Grunge
+Gull Girl
+Gurokawa
+Gyaru
+Hackercore
+Halloween
+Hallyu
+Happycore
+Hatecore
+Hauntology
+Haussmann Paris
+Health Goth
+Heatwave
+Heistcore
+Hellenic
+Hermaphroditus
+Hermitpunk
+Hexatron
+Hi-NRG
+High School Dream
+Hikecore
+Hime Lolita
+Hip-Hop
+Hipness Purgatory
+Hippie
+Hipster
+Hispanicore
+Historical Americana
+Holosexual
+Honeycore
+Horror
+Horror Academia
+Hot Topic
+Hustlewave
+Hydrogen
+Hyperpop
+Icepunk
+Imaginarium
+Impressionism
+Indie
+Indie Kid
+Indie Sleaze
+Indicolite
+Internet Academia
+Italo Disco
+Italian Mafia
+Jamcore
+Japanese High School
+Jersey Shore
+Joyride
+Juggalo
+Jungle Grunge
+Junglecore
+Karasu Zoku
+Kawaii
+Kawaii Gamer
+Key West Kitten
+Kidcore
+Kid Science
+Kimoicore
+Kinderwhore
+Kingcore
+King Gas
+Knightcore
+Kogal
+Kuromicore
+La Sape
+Labcore
+Laborwave
+Lagenlook
+Larme Kei
+Late 2000s Elementary School
+Libertywave
+Light Academia
+Lightcore
+Lightningwave
+Lil Girl
+Liminal Space
+Lit Kid
+Lo-Fi
+Lobotomy-Chic
+Lolita
+Long Island
+Lounge
+Lovecore
+Lunarpunk
+Macaute
+Mad Scientist
+Magewave
+Magical Girls
+Maidcore
+Mallgoth
+Mall Ninja
+Maximalism
+McBling
+Meatcore
+Medicalcore
+Medieval
+MTV Green Sky
+Memphis
+Mermaid
+Metal
+Metalcore
+Metalheart
+Metrosexual
+Miami Metro
+Midwest Emo
+Midwest Gothic
+Military
+Milk
+Miniaturecore
+Minimalism
+Minivan Rock
+Miscellaneous Academia
+Mizuiro Kaiwai
+Mod
+Modern Brazil
+Modernism
+Mori Kei
+Morute
+Mote Kei
+Mulchcore
+Mushroomcore
+Mosscore
+Ms Paint
+Musical Academia
+Mythpunk
+Nanopunk
+Naturecore
+Nautical
+Nazi Chic
+Neko
+Neo-Romanism
+Neo-Tokyo
+Nerd
+Nerdcore
+New England Gothic
+New Age
+New Money
+New Romantic
+New Wave
+Nihilcore
+Nintencore
+Normcore
+Northerness
+Nostalgiacore
+Nuclear
+Nu-Goth
+Nymphet
+Ocean Academia
+Ocean Grunge
+Old Hollywood
+Old Memecore
+Old Money
+Old Web
+Onii Kei
+Oshare Kei
+Otaku
+Otherkin
+Pachuco
+Pale Grunge
+Paleocore
+Palewave
+Paramilitary
+Party Animal
+Party Kei
+Pastel
+Pastel Academia
+Pastel Goth
+Pastel Punk
+PC Music
+Peach
+Pearly
+Peoplehood
+Photorealism
+Pink Parisian
+Pink Princess
+Pin-up
+Pinterest Coquette
+Pirate
+Pixel Cutie
+Pixiecore
+Plaguecore
+Plant Mom
+Playboy
+Pop
+Pop Art
+Pop Kei
+Post-Apocalyptic
+Post-Impressionism
+Post-Punk
+Post-rock
+Powwow Step
+Prairiecore
+Pre-Raphaelite
+Prehistoricore
+Preppy
+Pretty preppy
+Pride flags
+Princecore
+Princesscore
+Printcore
+Progressive Academia
+Psychedelica
+Punk
+Purism
+Quality Tumblr
+Queencore
+Queer Academia
+Queercore
+R&B
+Racaille
+Ragecore
+Rainbowcore
+Rainy Day
+Randumb
+Rangercore
+Ratcore
+Ravencore
+Raver
+Real Life Super Hero
+Realism
+Reefwave
+Regency
+Regional Gothic
+Retro-Futurism
+Rivethead
+Roaring 20s
+Robotics Kid
+Rock
+Rockabilly
+Rococo
+Roguecore
+Rollerwave
+Roma
+Romantic Academia
+Romantic Goth
+Romantic Italian
+Romanticism
+Rotcore
+Royalcore
+Rusticcore
+Sad people
+Salon Kei
+Salvagepunk
+Sandalpunk
+Sanriocore
+Scene
+Schizowave
+Schoolgirl Lifestyle
+Science Academia
+Scoutcore
+Scrapbook
+Scrapper
+Seapunk
+Selkiecore
+Shabby Chic
+Shanzhai
+Shā mǎ tè
+Sharpies
+Shibuya Punk
+Shironuri
+Shoegaze
+Sigilkore
+Sizz
+Skater
+Skinheads
+Sleepycore
+Slimepunk
+Sloanies
+Slutcore
+Snowdrop
+Snow Bunny
+Soft Apocalypse
+Soft Grunge
+Soft indie
+Soft Macabre
+Softie
+Soggy
+Solarpunk
+Southern Belle
+Southern Gothic
+Sovietwave
+Spacecore
+Space Cowboy
+Steampunk
+Tacticool
+Takenokozoku
+Tanbi Kei
+Technical Scene
+Technocore
+Technozen
+Techwear
+Teddies
+Teenqueen
+Teethcore
+Terrorwave
+Teslapunk
+That Girl
+Theatre Academia
+Theatre Kids
+Thrasher
+Thriftcore
+Tiki
+Tinkercore
+Tinycore
+Tomboy
+Trad Goth
+Traditional Korean
+Trailer Park Princess
+Trashcore
+Traumacore
+Trenchcore
+Trendercore
+Trillwave
+Tropical
+Tumblewave
+Tupinipunk
+Tweencore
+Twee
+Ukiyo-e
+Unicorncore
+Urban Fantasy
+Urbancore
+Utopian Scholastic
+VARIOUSXYZ
+Vacation Dadcore
+Valentine's Day
+Vampire
+Vaporwave
+Vectorheart
+Vibrant Academia
+Victorian
+Victorian Goth
+Viking
+Villagecore
+Villaincore
+Vintage British Sportsman
+Vintage Parisian
+Virgo's Tears
+Visual Kei
+VSCO
+VSCO Preppy
+Voidcore
+Voidpunk
+Vorticism
+Vulture Culture
+Wabi-Sabi
+Waif
+Waldorf
+Wanderlust
+Warmcore
+Weathercore
+Web Creep
+Weeaboo
+Weirdcore
+Werewolf
+Western
+Wetcore
+Wild Child
+Winter
+Winter Fairy Coquette
+Witchy Academia
+Witch House
+Witchcore
+Wizardcore
+Wonderland
+Woodland Goth
+Wormcore
+Writer Academia
+Wuxia
+Y2K
+Yakuza
+Yami Kawaii
+Yandere
+Yankeecore
+Yanki
+Youthquake
+Yume Kawaii
+Zombie Apocalypse
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/appearance/adjectives.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/appearance/adjectives.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6a32143708e425b540f18691f65df827ca596ea9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/appearance/adjectives.txt
@@ -0,0 +1,338 @@
+# originally sourced from:
+# - https://www.smore.com/st133-art-vocabulary-adjectives
+# - https://github.com/jtkelm2/stable-diffusion-webui-1/blob/main/scripts/wildcards/adjective.txt
+abandoned
+abhorrent
+abrasive
+absorbing
+abstract
+acclaimed
+accomplished
+adorable
+adroit
+aesthetic
+aesthetically pleasing
+aggressive
+ancient
+angular
+apocalyptic
+appealing
+artistic
+aspiring
+astonishing
+atmospheric
+authentic
+avant-garde
+average
+award-winning
+awe-inspiring
+balanced
+baroque
+beautiful
+biomechanical
+blue
+bold
+boorish
+boring
+boundless
+brilliant
+candid
+capricious
+ceramic
+characteristic
+classic
+clockwork
+cloudy
+cluttered
+cold
+collectable
+colorful
+colossal
+complementary
+complex
+conceptual
+conscious
+contemplative
+contemporary
+controversial
+conversational
+cool
+cozy
+creative
+cromulent
+cute
+cyberpunk
+daring
+dazzling
+deafening
+decorative
+deeply thoughtful
+delicate
+delicious
+delightful
+dense
+detailed
+deteriorating
+dieselpunk
+dilapidated
+dimensional
+dire
+disciplined
+disgusting
+disruptive
+distinctive
+distinguished
+divine
+draconian
+dramatic
+dreamlike
+dreamy
+dusty
+dynamic
+dystopian
+eclectic
+efficacious
+elastic
+elegant
+elevated
+elevating
+elite
+elusive
+emergent
+emerging
+emotional
+emotionally charged
+enchanted
+energetic
+engaging
+engrossing
+enigmatic
+epic
+epochal
+ethereal
+evil
+evocative
+exceptional
+exotic
+explosive
+expressive
+extraordinary
+extreme
+fallacious
+fascinating
+feigned
+festive
+fiery
+figural
+figurative
+flowery
+fluid
+foggy
+frantic
+freelance
+fresh
+fruit-flavored
+functional
+funny
+futuristic
+gentle
+ghastly
+ghostly
+giant
+gigantic
+glamorous
+glib
+glowing
+good
+gorgeous
+graceful
+granular
+groovy
+grouchy
+gruesome
+grumpy
+harsh
+hesitant
+holistic
+honest
+honorable
+human
+hyper-creative
+hyperdetailed
+icy
+ignorant
+illuminated
+imaginative
+impassioned
+impeccable
+impressionist
+impressive
+incredibly detailed
+infused
+inspirational
+inspired
+instinctive
+intellectual
+intense
+intensive
+interesting
+intuitive
+inventive
+jealous
+kindhearted
+labyrinthine
+layered
+level
+lifelike
+literal
+luminous
+lush
+lyrical
+macho
+maniacal
+masterpiece
+matte
+mature
+meandering
+meek
+metallic
+mind-bending
+minimalist
+modular
+moody
+mosaic-like
+moving
+mysterious
+mystical
+narrative
+nasty
+natural
+neat
+nonchalant
+noxious
+nutty
+old
+oppressive
+organic
+original
+otherworldly
+overwrought
+painterly
+paradoxical
+parched
+passionate
+pastel
+peaceful
+personal
+petrified
+phenomenal
+pictorial
+playful
+potent
+pretty
+primordial
+profound
+provoking
+psychadelic
+psychotic
+puny
+pure
+radiant
+rainbow
+realistic
+refined
+refreshing
+remarkable
+repressive
+resonant
+resourceful
+retrofuturistic
+revealing
+rich
+rickety
+ridiculous
+romantic
+rounded
+ruined
+rusty
+saturated
+sculptural
+secret
+semi-abstract
+sensual
+serene
+serious
+shadowy
+shaky
+sharp
+shiny
+signature
+simple
+skilled
+skillful
+slimy
+smart
+soft
+sophisticated
+sparse
+spiritual
+sprawling
+squealing
+steampunk
+stimulating
+stirring
+stone
+striped
+studied
+stunning
+sturdy
+sublime
+substantive
+superficial
+supersized
+supple
+surreal
+sweltering
+swirling
+symbolic
+tactile
+talented
+tangible
+tasteful
+terrifying
+textile
+thought-provoking
+thundering
+timeless
+tiny
+touching
+tough
+traditional
+tranquil
+tremendous
+twisted
+unadvised
+unappetizing
+unconventional
+underwater
+unexpected
+unforgettable
+unique
+universal
+unnatural
+unpredictable
+untidy
+unusual
+uptight
+varied
+vengeful
+vibrant
+visionary
+visual
+visually stimulating
+voyeuristic
+warlike
+weird
+wispy
+witty
+zany
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/appearance/appearance.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/appearance/appearance.txt
new file mode 100644
index 0000000000000000000000000000000000000000..95b501116c9bd7e15f619b68159b21907981f5b6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/appearance/appearance.txt
@@ -0,0 +1,24 @@
+# Originally sourced from https://aiartcreation.fandom.com/wiki/Modifier_Taxonomy#Appearance
+Cluttered
+Colourful
+Destructive
+Detailed
+Elaborate
+Flat shading
+Groovy
+Holographic
+Iridescent
+Maximalist
+Wooden
+Minimalist
+Ominous
+Parallax
+Polished
+Psychedelic
+Rough
+Shimmering
+Skeuomorphic
+Smooth
+Stipple
+Tessellated
+Wavy
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/appearance/haircolour.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/appearance/haircolour.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3dc2b28559f9100d7f2174e6958f4c8b14a599bb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/appearance/haircolour.txt
@@ -0,0 +1,22 @@
+Auburn
+Black
+Blond
+Blue black
+Brunette
+Burgundy
+Butterscotch
+Caramel
+Chestnut
+Golden
+Gray
+Grey
+Honey
+Jet black
+Mahogany
+Maroon
+Platinum
+Red
+Redhead
+Silver
+Strawberry blond
+White
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/appearance/size.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/appearance/size.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b734882a72cd18f526781d8f8defdf8d21ba5ef6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/appearance/size.txt
@@ -0,0 +1,19 @@
+big
+dainty
+enormous
+gargantuan
+giant
+gigantic
+huge
+itty bitty
+large
+little
+massive
+micro
+miniscule
+minuscule
+small
+teeny
+tiny
+wee
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd.txt
new file mode 100644
index 0000000000000000000000000000000000000000..acdf1f21bdd713bff5d1451299ea5de6a08eb6f1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd.txt
@@ -0,0 +1,15 @@
+__creatures/adnd/aberration__
+__creatures/adnd/beast__
+__creatures/adnd/celestial__
+__creatures/adnd/construct__
+__creatures/adnd/dragon__
+__creatures/adnd/elemental__
+__creatures/adnd/fey__
+__creatures/adnd/fiend__
+__creatures/adnd/giant__
+__creatures/adnd/humanoid__
+__creatures/adnd/monstrosity__
+__creatures/adnd/ooze__
+__creatures/adnd/plant__
+__creatures/adnd/swarm__
+__creatures/adnd/undead__
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd/aberration.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd/aberration.txt
new file mode 100644
index 0000000000000000000000000000000000000000..517a87551305951df52b8f2d44300709a9cabb79
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd/aberration.txt
@@ -0,0 +1,18 @@
+Aboleth
+Beholder
+Blue Slaad
+Chuul
+Cloaker
+Flumph
+Gibbering Mouther
+Grell
+Intellect Devourer
+Mind Flayer
+Nothic
+Otyugh
+Red Slaad
+Slaad Tadpole
+Spectator
+Death Slaad
+Gray Slaad
+Green Slaad
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd/beast.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd/beast.txt
new file mode 100644
index 0000000000000000000000000000000000000000..772b85bbf28450d5b3228372273635a69b9ba79a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd/beast.txt
@@ -0,0 +1,89 @@
+Allosaurus
+Ankylosaurus
+Ape
+Axe Beak
+Baboon
+Badger
+Bat
+Black Bear
+Blood Hawk
+Boar
+Brown Bear
+Camel
+Cat
+Constrictor Snake
+Crab
+Crocodile
+Deer
+Dire Wolf
+Draft Horse
+Eagle
+Elephant
+Elk
+Flying Snake
+Frog
+Giant Ape
+Giant Badger
+Giant Bat
+Giant Boar
+Giant Centipede
+Giant Constrictor Snake
+Giant Crab
+Giant Crocodile
+Giant Eagle
+Giant Elk
+Giant Fire Beetle
+Giant Frog
+Giant Goat
+Giant Hyena
+Giant Lizard
+Giant Octopus
+Giant Owl
+Giant Poisonous Snake
+Giant Rat
+Giant Scorpion
+Giant Sea Horse
+Giant Shark
+Giant Spider
+Giant Toad
+Giant Vulture
+Giant Wasp
+Giant Weasel
+Giant Wolf Spider
+Goat
+Hawk
+Hunter Shark
+Hyena
+Jackal
+Killer Whale
+Lion
+Lizard
+Mammoth
+Mastiff
+Mule
+Octopus
+Owl
+Panther
+Plesiosaurus
+Poisonous Snake
+Polar Bear
+Pony
+Pteranodon
+Quipper
+Rat
+Raven
+Reef Shark
+Rhinoceros
+Riding Horse
+Saber-Toothed Tiger
+Scorpion
+Sea Horse
+Spider
+Stirge
+Tiger
+Triceratops
+Tyrannosaurus Rex
+Vulture
+Warhorse
+Weasel
+Wolf
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd/celestial.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd/celestial.txt
new file mode 100644
index 0000000000000000000000000000000000000000..58cf9ae2166f871866273d2adbbb7e823fbeacf4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd/celestial.txt
@@ -0,0 +1,7 @@
+Couatl
+Deva
+Pegasus
+Planetar
+Solar
+Unicorn
+Empyrean
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd/construct.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd/construct.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4ba22dca49fa17cee5e0b26aa5f4d2310fdd6342
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd/construct.txt
@@ -0,0 +1,16 @@
+Animated Armor
+Clay Golem
+Duodrone
+Flesh Golem
+Flying Sword
+Helmed Horror
+Homunculus
+Iron Golem
+Monodrone
+Pentadrone
+Quadrone
+Rug of Smothering
+Scarecrow
+Shield Guardian
+Stone Golem
+Tridrone
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd/dragon.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd/dragon.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0398c99423ee8f57d0794ecb6cf942306f34b59b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd/dragon.txt
@@ -0,0 +1,45 @@
+Dragon Turtle
+Faerie Dragon
+Pseudodragon
+Wyvern
+Young Red Shadow Dragon
+Adult Black Dragon
+Adult Blue Dragon
+Adult Green Dragon
+Adult Red Dragon
+Adult White Dragon
+Ancient Black Dragon
+Ancient Blue Dragon
+Ancient Green Dragon
+Ancient Red Dragon
+Ancient White Dragon
+Black Dragon Wyrmling
+Blue Dragon Wyrmling
+Green Dragon Wyrmling
+Red Dragon Wyrmling
+White Dragon Wyrmling
+Young Black Dragon
+Young Blue Dragon
+Young Green Dragon
+Young Red Dragon
+Young White Dragon
+Adult Brass Dragon
+Adult Bronze Dragon
+Adult Copper Dragon
+Adult Gold Dragon
+Adult Silver Dragon
+Ancient Brass Dragon
+Ancient Bronze Dragon
+Ancient Copper Dragon
+Ancient Gold Dragon
+Ancient Silver Dragon
+Brass Dragon Wyrmling
+Bronze Dragon Wyrmling
+Copper Dragon Wyrmling
+Gold Dragon Wyrmling
+Silver Dragon Wyrmling
+Young Brass Dragon
+Young Bronze Dragon
+Young Copper Dragon
+Young Gold Dragon
+Young Silver Dragon
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd/elemental.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd/elemental.txt
new file mode 100644
index 0000000000000000000000000000000000000000..67d76a280fc75be318096d749ab74e14d0394b4e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd/elemental.txt
@@ -0,0 +1,23 @@
+Air Elemental
+Azer
+Dao
+Djinni
+Dust Mephit
+Earth Elemental
+Efreeti
+Fire Elemental
+Fire Snake
+Galeb Duhr
+Gargoyle
+Ice Mephit
+Invisible Stalker
+Magma Mephit
+Magmin
+Marid
+Mud Mephit
+Salamander
+Smoke Mephit
+Steam Mephit
+Water Elemental
+Water Weird
+Xorn
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd/fey.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd/fey.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0ce1984010177d6cfac92a8289ae608accdf61d6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd/fey.txt
@@ -0,0 +1,7 @@
+Blink Dog
+Dryad
+Green Hag
+Pixie
+Satyr
+Sea Hag
+Sprite
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd/fiend.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd/fiend.txt
new file mode 100644
index 0000000000000000000000000000000000000000..22ae6f48d1050a083722de593e4c1c009eb033c0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd/fiend.txt
@@ -0,0 +1,36 @@
+Cambion
+Hell Hound
+Night Hag
+Nightmare
+Rakshasa
+Quasit
+Yochlol
+Balor
+Barlgura
+Chasme
+Dretch
+Glabrezu
+Goristro
+Hezrou
+Manes
+Marilith
+Nalfeshnee
+Shadow Demon
+Vrock
+Imp
+Barbed Devil
+Bearded Devil
+Bone Devil
+Chain Devil
+Erinyes
+Horned Devil
+Ice Devil
+Lemure
+Pit Fiend
+Spined Devil
+Gnoll Fang of Yeenoghu
+Succubus
+Arcanaloth
+Mezzoloth
+Nycaloth
+Ultroloth
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd/giant.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd/giant.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7401a46653228a935306bdfef0020e751b06c644
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd/giant.txt
@@ -0,0 +1,13 @@
+Cloud Giant
+Cyclops
+Ettin
+Fire Giant
+Fomorian
+Frost Giant
+Half-Ogre
+Hill Giant
+Ogre
+Oni
+Stone Giant
+Storm Giant
+Troll
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd/humanoid.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd/humanoid.txt
new file mode 100644
index 0000000000000000000000000000000000000000..325d045cb2326940bd21354e28d7f0454165958c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd/humanoid.txt
@@ -0,0 +1,71 @@
+Aarakocra
+Acolyte
+Archmage
+Assassin
+Bandit
+Bandit Captain
+Berserker
+Commoner
+Cult Fanatic
+Cultist
+Druid
+Gladiator
+Guard
+Knight
+Mage
+Noble
+Priest
+Scout
+Spy
+Thug
+Tribal Warrior
+Veteran
+Bullywug
+Duergar
+Drow
+Drow Elite Warrior
+Drow Mage
+Drow Priestess of Lolth
+Githyanki Knight
+Githyanki Warrior
+Githzerai Monk
+Githzerai Zerth
+Gnoll
+Gnoll Pack Lord
+Deep Gnome (Svirfneblin)
+Bugbear
+Bugbear Chief
+Goblin
+Goblin Boss
+Hobgoblin
+Hobgoblin Captain
+Hobgoblin Warlord
+Grimlock
+Werebear
+Wereboar
+Wererat
+Weretiger
+Werewolf
+Half-Red Dragon Veteran
+Kenku
+Kobold
+Winged Kobold
+Kuo-toa
+Kuo-toa Archpriest
+Kuo-toa Whip
+Lizard King/Queen
+Lizardfolk
+Lizardfolk Shaman
+Merfolk
+Orc
+Orc Eye of Gruumsh
+Orc War Chief
+Orog
+Quaggoth
+Sahuagin
+Sahuagin Baron
+Sahuagin Priestess
+Jackalwere
+Thri-kreen
+Troglodyte
+Yuan-ti Pureblood
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd/monstrosity.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd/monstrosity.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d39e7a947a88f86da765eebc422838da0fbf6963
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd/monstrosity.txt
@@ -0,0 +1,51 @@
+Abominable Yeti
+Androsphinx
+Ankheg
+Basilisk
+Behir
+Bulette
+Carrion Crawler
+Centaur
+Chimera
+Cockatrice
+Darkmantle
+Death Dog
+Displacer Beast
+Drider
+Ettercap
+Gorgon
+Grick
+Grick alpha
+Griffon
+Guardian Naga
+Gynosphinx
+Harpy
+Hippogriff
+Hook Horror
+Hydra
+Lamia
+Manticore
+Medusa
+Merrow
+Minotaur
+Owlbear
+Peryton
+Phase Spider
+Piercer
+Purple Worm
+Remorhaz
+Roc
+Roper
+Rust Monster
+Spirit Naga
+Umber Hulk
+Winter Wolf
+Worg
+Yeti
+Young Remorhaz
+Yuan-ti Abomination
+Yuan-ti Malison
+Doppelganger
+Mimic
+Kraken
+Tarrasque
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd/ooze.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd/ooze.txt
new file mode 100644
index 0000000000000000000000000000000000000000..bcc1554a98a7d3574b77b105c01916304a549396
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd/ooze.txt
@@ -0,0 +1,4 @@
+Black Pudding
+Gelatinous Cube
+Gray Ooze
+Ochre Jelly
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd/plant.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd/plant.txt
new file mode 100644
index 0000000000000000000000000000000000000000..646f43e8b9bf1c18b2c9c40bdeac69b453704ef0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd/plant.txt
@@ -0,0 +1,14 @@
+Awakened Shrub
+Awakened Tree
+Gas Spore
+Myconid adult
+Myconid Sovereign
+Myconid sprout
+Needle Blight
+Quaggoth spore servant
+Shambling Mound
+Shrieker
+Treant
+Twig Blight
+Vine Blight
+Violet Fungus
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd/swarm.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd/swarm.txt
new file mode 100644
index 0000000000000000000000000000000000000000..762abdb568941b2fbba403fdfacf284f4d2b4623
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd/swarm.txt
@@ -0,0 +1,6 @@
+Swarm of Bats
+Swarm of Insects
+Swarm of Poisonous Snakes
+Swarm of Quippers
+Swarm of Rats
+Swarm of Ravens
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd/undead.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd/undead.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3f1ce664d7657844c3a9f6a19a9b4328a8cacf84
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/adnd/undead.txt
@@ -0,0 +1,28 @@
+Adult Blue Dracolich
+Banshee
+Beholder Zombie
+Bone Naga
+Crawling Claw
+Death Knight
+Death Tyrant
+Demilich
+Flameskull
+Ghast
+Ghost
+Ghoul
+Lich
+Minotaur Skeleton
+Mummy
+Mummy Lord
+Ogre Zombie
+Revenant
+Shadow
+Skeleton
+Specter
+Vampire Spawn
+Warhorse Skeleton
+Wight
+Will-o'-Wisp
+Wraith
+Zombie
+Vampire
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8cd63fed2f712c7126a8aeae35d8961d2164cd22
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals.txt
@@ -0,0 +1,135 @@
+# Sourced from https://github.com/dariusk/corpora/blob/master/data/animals/common.json
+aardvark
+alligator
+alpaca
+antelope
+ape
+armadillo
+baboon
+badger
+bat
+bear
+beaver
+bison
+boar
+buffalo
+bull
+camel
+canary
+capybara
+cat
+chameleon
+cheetah
+chimpanzee
+chinchilla
+chipmunk
+cougar
+cow
+coyote
+crocodile
+crow
+deer
+dingo
+dog
+donkey
+dromedary
+elephant
+elk
+ewe
+ferret
+finch
+fish
+fox
+frog
+gazelle
+gila monster
+giraffe
+gnu
+goat
+gopher
+gorilla
+grizzly bear
+ground hog
+guinea pig
+hamster
+hedgehog
+hippopotamus
+hog
+horse
+hyena
+ibex
+iguana
+impala
+jackal
+jaguar
+kangaroo
+koala
+lamb
+lemur
+leopard
+lion
+lizard
+llama
+lynx
+mandrill
+marmoset
+mink
+mole
+mongoose
+monkey
+moose
+mountain goat
+mouse
+mule
+muskrat
+mustang
+mynah bird
+newt
+ocelot
+opossum
+orangutan
+oryx
+otter
+ox
+panda
+panther
+parakeet
+parrot
+pig
+platypus
+polar bear
+porcupine
+porpoise
+prairie dog
+puma
+rabbit
+raccoon
+ram
+rat
+reindeer
+reptile
+rhinoceros
+salamander
+seal
+sheep
+shrew
+silver fox
+skunk
+sloth
+snake
+squirrel
+tapir
+tiger
+toad
+turtle
+walrus
+warthog
+weasel
+whale
+wildcat
+wolf
+wolverine
+wombat
+woodchuck
+yak
+zebra
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds.txt
new file mode 100644
index 0000000000000000000000000000000000000000..32de17dac9d2046be9baa5df6da81775205a1e37
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds.txt
@@ -0,0 +1,299 @@
+Accentor
+African Barbet
+African Parrot
+African Warbler
+Albatross
+Anhinga
+Antpitta
+Antthrushe
+Apostlebird
+Asian Barbet
+Asitie
+Auk
+Australasian Robin
+Australasian Treecreeper
+Australo-Papuan Bellbird
+Avocet
+Barn-Owl
+Batise
+Bearded Reedling
+Bee-eater
+Bellmagpie
+Berrypecker
+Bird-of-Paradise
+Bittern
+Boatbill
+Boobie
+Bowerbird
+Bristlebird
+Bristlehead
+Broadbill
+Bulbul
+Bushshrike
+Bush Warbler
+Bustard
+Buttonquail
+Caracaras
+Cardinal
+Cassowary
+Chachalaca
+Chat-Tanager
+Chickadee
+Cisticola
+Cockatoo
+Coot
+Cormorant
+Cotinga
+Courser
+Crab-Plover
+Crane
+Crescentchest
+Crested Berrypecker
+Crested Shrikejay
+Crow
+Cuban Warbler
+Cuckoo
+Cuckoo-roller
+Cuckooshrike
+Cupwing
+Curassow
+Dapple-throat
+Dipper
+Donacobius
+Dove
+Drongo
+Duck
+Eagle
+Egret
+Egyptian Plover
+Emu
+Erpornis
+Euphonia
+Fairy-bluebird
+Fairy Flycatcher
+Fairywren
+Falcon
+Fantail
+Finch
+Finfoot
+Flamingo
+Flowerpecker
+Flufftail
+Frigatebird
+Frogmouth
+Gallinules
+Gannet
+Gnatcatcher
+Gnateater
+Goose
+Grassbird
+Grebe
+Ground Babbler
+Ground-Hornbill
+Ground-Roller
+Grouse
+Guan
+Guineafowl
+Gull
+Hamerkop
+Hawaiian Honeyeater
+Hawk
+Helmetshrike
+Heron
+Hispaniolan Tanager
+Hoatzin
+Honeyeater
+Honeyguide
+Hoopoo
+Hornbill
+Hummingbird
+Hyliota
+Hylocitrea
+Hypocolius
+Ibis
+Ibisbill
+Ifrita
+Indigobird
+Iora
+Jacamar
+Jacana
+Jaeger
+Jay
+Jewel-babbler
+Kagu
+Kingfisher
+Kinglet
+Kite
+Kiwi
+Lapwing
+Lark
+Laughingthrush
+Leafbird
+Leaf Warbler
+Limpkin
+Logrunner
+Longbill
+Longspur
+Long-tailed Tit
+Loon
+Lyrebird
+Magellanic Plover
+Magpie
+Magpie Goose
+Malagasy Warbler
+Manakin
+Megapode
+Melampitta
+Mesites
+Mitrospingid Tanagers
+Mockingbird
+Monarch Flycatcher
+Motmot
+Mottled Berryhunter
+Mousebird
+Murr
+New World Barbet
+New World Quail
+New World Sparrow
+New World Vultur
+New World Warbler
+New Zealand Parrot
+New Zealand Wren
+Nicator
+Nightjar
+Northern Storm-Petrel
+Nuthatch
+Oilbird
+Old World Bunting
+Old World Flycatcher
+Old World Oriole
+Old World Parrot
+Old World Sparrow
+Olive Warbler
+Osprey
+Ostrich
+Ovenbird
+Owl
+Owlet-nightjar
+Oxpecker
+Oystercatcher
+Painted-Snipe
+Palmchat
+Pardalotes
+Parrotbill
+Pelican
+Penduline-Tit
+Penguin
+Petrel
+Pheasant
+Pigeon
+Pipit
+Pitta
+Plains-wanderer
+Ploughbill
+Plovers
+Potoo
+Pratincole
+Przevalski's Pinktail
+Pseudo-Babbler
+Puerto Rican Tanager
+Puffbird
+Puffin
+Quail-thrush
+Rail-babbler
+Rails
+Reed Warbler
+Rhea
+Rockfowl
+Rockjumper
+Roller
+Royal Flycatcher
+Sandgrouse
+Sandpiper
+Sapayoa
+Satinbird
+Scimitar-Babbler
+Scimitarbill
+Screamer
+Scrub-bird
+Secretarybird
+Seedsnipe
+Seriema
+Shag
+Sharpbill
+Shearwater
+Sheathbill
+Shoebill
+Shrike
+Shrike-Babbler
+Shrike-tit
+Silky-flycatcher
+Sittella
+Skimmer
+Skua
+Snow Bunting
+Southern Storm-Petrel
+Spiderhunter
+Spindalise
+Spoonbill
+Spotted Elachura
+Starling
+Stilt
+Stitchbird
+Stork
+Sugarbird
+Sunbird
+Sunbittern
+Swallow
+Swift
+Sylviid Warbler
+Tanager
+Tapaculos
+Tern
+Thick-knee
+Thornbill
+Thrasher
+Thrushes
+Thrush-Tanager
+Tinamous
+Tit
+Tit Berrypecker
+Titmouse
+Tityra
+Todie
+Toucan
+Toucan-Barbet
+Tree-Babbler
+Treecreeper
+Treeswift
+Trogon
+Tropicbird
+Troupial
+Trumpeter
+Turaco
+Typical Antbird
+Tyrant Flycatcher
+Vanga
+Vireo
+Wagtail
+Wallcreeper
+Waterfowl
+Wattlebird
+Wattle-eye
+Waxbill
+Waxwing
+Weaver
+Wedgebill
+Whipbird
+Whistler
+White-eyes
+Whitehead
+White-winged Chough
+Woodcreeper
+Woodhoopo
+Woodpecker
+Woodswallow
+Wren
+Wrenthrush
+Yellow-breasted Chat
+Yuhina
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Accipitriformes/hawks,_eagles,_and_kites.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Accipitriformes/hawks,_eagles,_and_kites.txt
new file mode 100644
index 0000000000000000000000000000000000000000..193c0c48c818536e34f74080b21d9d9c7ab9b08a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Accipitriformes/hawks,_eagles,_and_kites.txt
@@ -0,0 +1,414 @@
+# Originally sourced from Clements Checklist v2022
+Pearl Kite
+Black-winged Kite
+Black-winged Kite (African)
+Black-winged Kite (Asian)
+Black-shouldered Kite
+White-tailed Kite
+Letter-winged Kite
+Scissor-tailed Kite
+African Harrier-Hawk
+Madagascar Harrier-Hawk
+Palm-nut Vulture
+Madagascar Serpent-Eagle
+Bearded Vulture
+Bearded Vulture (Eurasian)
+Bearded Vulture (African)
+Egyptian Vulture
+Hook-billed Kite
+Hook-billed Kite (Hook-billed)
+Hook-billed Kite (Grenada)
+Cuban Kite
+Gray-headed Kite
+White-collared Kite
+European Honey-buzzard
+Sulawesi Honey-buzzard
+Philippine Honey-buzzard
+Oriental Honey-buzzard
+Oriental Honey-buzzard (Northern)
+Oriental Honey-buzzard (Indomalayan)
+European x Oriental Honey-buzzard (hybrid)
+European/Oriental Honey-buzzard
+Swallow-tailed Kite
+Black-breasted Kite
+Long-tailed Honey-buzzard
+Black Honey-buzzard
+Square-tailed Kite
+African Cuckoo-Hawk
+Madagascar Cuckoo-Hawk
+Jerdon's Baza
+Pacific Baza
+Black Baza
+Red-headed Vulture
+White-headed Vulture
+Cinereous Vulture
+Lappet-faced Vulture
+Hooded Vulture
+White-backed Vulture
+White-rumped Vulture
+Indian Vulture
+Slender-billed Vulture
+Rüppell's Griffon
+White-backed Vulture/Rüppell's Griffon
+Himalayan Griffon
+Eurasian Griffon
+Rüppell's/Eurasian Griffon
+Himalayan/Eurasian Griffon
+Cape Griffon
+White-backed Vulture/Cape Griffon
+Gyps sp.
+old world vulture sp.
+Nicobar Serpent-Eagle
+Sulawesi Serpent-Eagle
+Mountain Serpent-Eagle
+Crested Serpent-Eagle
+Crested Serpent-Eagle (Crested)
+Crested Serpent-Eagle (Andaman)
+Crested Serpent-Eagle (Central Nicobar)
+Crested Serpent-Eagle (Ryukyu)
+Crested Serpent-Eagle (Natuna)
+Crested Serpent-Eagle (Simeulue)
+Crested Serpent-Eagle (Nias)
+Crested Serpent-Eagle (Mentawai)
+Crested Serpent-Eagle (Bawean)
+Philippine Serpent-Eagle
+Andaman Serpent-Eagle
+Philippine Eagle
+Congo Serpent-Eagle
+Bateleur
+Short-toed Snake-Eagle
+Beaudouin's Snake-Eagle
+Black-chested Snake-Eagle
+Brown Snake-Eagle
+Fasciated Snake-Eagle
+Banded Snake-Eagle
+snake-eagle sp.
+Bat Hawk
+New Guinea Eagle
+Crested Eagle
+Harpy Eagle
+Crowned Eagle
+Legge's Hawk-Eagle
+Wallace's Hawk-Eagle
+Mountain Hawk-Eagle
+Mountain Hawk-Eagle (nipalensis)
+Mountain Hawk-Eagle (orientalis)
+Blyth's Hawk-Eagle
+Javan Hawk-Eagle
+Pinsker's Hawk-Eagle
+Sulawesi Hawk-Eagle
+Philippine Hawk-Eagle
+Changeable Hawk-Eagle
+Changeable Hawk-Eagle (Crested)
+Changeable Hawk-Eagle (Changeable)
+Flores Hawk-Eagle
+Nisaetus sp.
+Martial Eagle
+Rufous-bellied Eagle
+Black Hawk-Eagle
+Ornate Hawk-Eagle
+Black-and-white Hawk-Eagle
+Black-and-chestnut Eagle
+Spizaetus sp.
+Long-crested Eagle
+Black Eagle
+Lesser Spotted Eagle
+Indian Spotted Eagle
+Greater Spotted Eagle
+Lesser x Greater Spotted Eagle (hybrid)
+Lesser/Greater Spotted Eagle
+Indian/Greater Spotted Eagle
+Wahlberg's Eagle
+Booted Eagle
+Pygmy Eagle
+Little Eagle
+Ayres's Hawk-Eagle
+Tawny Eagle
+Steppe Eagle
+Tawny/Steppe Eagle
+Spanish Eagle
+Imperial Eagle
+Gurney's Eagle
+Golden Eagle
+Wedge-tailed Eagle
+Cassin's Hawk-Eagle
+Verreaux's Eagle
+Bonelli's Eagle
+African Hawk-Eagle
+Aquila sp.
+Clanga/Aquila sp.
+Lizard Buzzard
+Tiny Hawk
+Semicollared Hawk
+Dark Chanting-Goshawk
+Eastern Chanting-Goshawk
+Pale Chanting-Goshawk
+Gabar Goshawk
+Black-collared Hawk
+Snail Kite
+Slender-billed Kite
+Double-toothed Kite
+Rufous-thighed Kite
+Mississippi Kite
+Plumbeous Kite
+Mississippi/Plumbeous Kite
+Grasshopper Buzzard
+White-eyed Buzzard
+Rufous-winged Buzzard
+Gray-faced Buzzard
+Eurasian Marsh-Harrier
+African Marsh-Harrier
+Eastern Marsh-Harrier
+Eurasian/Eastern Marsh-Harrier
+Papuan Marsh-Harrier
+Eastern/Papuan Marsh-Harrier
+Swamp Harrier
+Reunion Harrier
+Malagasy Harrier
+Long-winged Harrier
+Spotted Harrier
+Black Harrier
+Cinereous Harrier
+Hen Harrier
+Northern Harrier
+Hen/Northern Harrier
+Pallid Harrier
+Hen x Pallid Harrier (hybrid)
+Pied Harrier
+Montagu's Harrier
+Hen/Montagu's Harrier
+Pallid/Montagu's Harrier
+harrier sp.
+Gray-bellied Hawk
+Crested Goshawk
+Sulawesi Goshawk
+African Goshawk
+African Goshawk (Banded)
+African Goshawk (Red-chested)
+African Goshawk (Bioko)
+African Goshawk (Ethiopian)
+African Goshawk (Eastern)
+African Goshawk (Pemba)
+African Goshawk (Southern)
+Chestnut-flanked Sparrowhawk
+Shikra
+Shikra (African)
+Shikra (Asian)
+Nicobar Sparrowhawk
+Levant Sparrowhawk
+Chinese Sparrowhawk
+Frances's Sparrowhawk
+Spot-tailed Goshawk
+Variable Goshawk
+Variable Goshawk (Lesser Sundas)
+Variable Goshawk (Variable)
+Gray Goshawk
+Brown Goshawk
+Variable/Brown Goshawk
+Black-mantled Goshawk
+Pied Goshawk
+New Caledonia Goshawk
+Fiji Goshawk
+Moluccan Goshawk
+Slaty-mantled Goshawk
+Imitator Sparrowhawk
+Gray-headed Goshawk
+New Britain Goshawk
+Red-thighed Sparrowhawk
+Little Sparrowhawk
+Japanese Sparrowhawk
+Small Sparrowhawk
+Besra
+Japanese Sparrowhawk/Besra
+Crested Goshawk/Besra
+Rufous-necked Sparrowhawk
+Collared Sparrowhawk
+Brown Goshawk/Collared Sparrowhawk
+New Britain Sparrowhawk
+Vinous-breasted Sparrowhawk
+Madagascar Sparrowhawk
+Ovambo Sparrowhawk
+Eurasian Sparrowhawk
+Levant/Eurasian Sparrowhawk
+Rufous-breasted Sparrowhawk
+Rufous-breasted Sparrowhawk (Ethiopian)
+Rufous-breasted Sparrowhawk (Rufous-breasted)
+Sharp-shinned Hawk
+Sharp-shinned Hawk (Caribbean)
+Sharp-shinned Hawk (Northern)
+Sharp-shinned Hawk (Madrean)
+Sharp-shinned Hawk (White-breasted)
+Sharp-shinned Hawk (Plain-breasted)
+Sharp-shinned Hawk (Rufous-thighed)
+Cooper's Hawk
+Sharp-shinned/Cooper's Hawk
+Gundlach's Hawk
+Bicolored Hawk
+Bicolored Hawk (Bicolored)
+Bicolored Hawk (Spotted)
+Chilean Hawk
+Bicolored/Chilean Hawk
+Black Goshawk
+Henst's Goshawk
+Northern Goshawk
+Northern Goshawk (Eurasian)
+Northern Goshawk (American)
+Cooper's Hawk x Northern Goshawk (hybrid)
+Eurasian Sparrowhawk/Northern Goshawk
+Cooper's Hawk/Northern Goshawk
+Meyer's Goshawk
+Accipiter sp.
+Chestnut-shouldered Goshawk
+Red Goshawk
+Doria's Goshawk
+Long-tailed Hawk
+Red Kite
+Red Kite (Red)
+Red Kite (Cape Verde)
+Black Kite
+Black Kite (Black)
+Black Kite (Black-eared)
+Black Kite (Yellow-billed)
+Red/Black Kite
+Whistling Kite
+Brahminy Kite
+Black/Brahminy Kite
+Bald Eagle
+Golden/Bald Eagle
+White-tailed Eagle
+Pallas's Fish-Eagle
+Steller's Sea-Eagle
+Bald Eagle x Steller's Sea-Eagle (hybrid)
+White-bellied Sea-Eagle
+Sanford's Sea-Eagle
+African Fish-Eagle
+Madagascar Fish-Eagle
+Lesser Fish-Eagle
+Gray-headed Fish-Eagle
+Lesser/Gray-headed Fish-Eagle
+Haliaeetus sp.
+Crane Hawk
+Crane Hawk (Blackish)
+Crane Hawk (Gray)
+Crane Hawk (Banded)
+Plumbeous Hawk
+Slate-colored Hawk
+Common Black Hawk
+Common Black Hawk (Common)
+Common Black Hawk (Mangrove)
+Cuban Black Hawk
+Rufous Crab Hawk
+Savanna Hawk
+White-necked Hawk
+Great Black Hawk
+Great Black Hawk (Northern)
+Great Black Hawk (Southern)
+Common/Great Black Hawk
+Solitary Eagle
+Chaco Eagle
+Buteogallus sp.
+Barred Hawk
+Roadside Hawk
+Roadside Hawk (Cozumel I.)
+Roadside Hawk (Northern)
+Roadside Hawk (Southern)
+Harris's Hawk
+Harris's Hawk (Harris's)
+Harris's Hawk (Bay-winged)
+White-rumped Hawk
+White-tailed Hawk
+Variable Hawk
+Variable Hawk (Puna)
+Variable Hawk (Red-backed)
+Variable Hawk (Variable)
+Variable Hawk (Juan Fernandez)
+Black-chested Buzzard-Eagle
+Geranoaetus sp.
+Mantled Hawk
+White Hawk
+White Hawk (Snowy)
+White Hawk (White-shouldered)
+White Hawk (Black-winged)
+White Hawk (Black-tailed)
+Gray-backed Hawk
+Semiplumbeous Hawk
+Black-faced Hawk
+White-browed Hawk
+Bermuda Hawk
+Gray Hawk
+Gray-lined Hawk
+Gray/Gray-lined Hawk
+Red-shouldered Hawk
+Red-shouldered Hawk (lineatus Group)
+Red-shouldered Hawk (extimus)
+Red-shouldered Hawk (elegans)
+Common Black x Red-shouldered Hawk (hybrid)
+Ridgway's Hawk
+Broad-winged Hawk
+Broad-winged Hawk (Northern)
+Broad-winged Hawk (Caribbean)
+Red-shouldered x Broad-winged Hawk (hybrid)
+Red-shouldered/Broad-winged Hawk
+Hawaiian Hawk
+Short-tailed Hawk
+White-throated Hawk
+Swainson's Hawk
+Galapagos Hawk
+Zone-tailed Hawk
+Rufous-tailed Hawk
+Red-tailed Hawk
+Red-tailed Hawk (calurus/alascensis)
+Red-tailed Hawk (borealis)
+Red-tailed Hawk (abieticola)
+Red-tailed Hawk (calurus/abieticola)
+Red-tailed Hawk (Harlan's)
+Red-tailed Hawk (Krider's)
+Red-tailed Hawk (fuertesi)
+Red-tailed Hawk (kemsiesi/hadropus)
+Red-tailed Hawk (costaricensis)
+Red-tailed Hawk (fumosus)
+Red-tailed Hawk (socorroensis)
+Red-tailed Hawk (umbrinus)
+Red-tailed Hawk (jamaicensis)
+Red-tailed Hawk (solitudinis)
+Red-shouldered x Red-tailed Hawk (hybrid)
+Rough-legged Hawk
+Swainson's x Rough-legged Hawk (hybrid)
+Red-tailed x Rough-legged Hawk (hybrid)
+Ferruginous Hawk
+Red-tailed x Ferruginous Hawk (hybrid)
+Common Buzzard
+Common Buzzard (Western)
+Common Buzzard (Corsican)
+Common Buzzard (Azores)
+Common Buzzard (Canary Is.)
+Common Buzzard (Cape Verde)
+Common Buzzard (Steppe)
+Himalayan Buzzard
+Common/Himalayan Buzzard
+Eastern Buzzard
+Common/Himalayan/Eastern Buzzard
+Himalayan/Eastern Buzzard
+Mountain Buzzard
+Forest Buzzard
+Elgin Buzzard (undescribed form)
+Madagascar Buzzard
+Socotra Buzzard
+Long-legged Buzzard
+Long-legged Buzzard (Northern)
+Long-legged Buzzard (Atlas)
+Common x Long-legged Buzzard (hybrid)
+Common/Long-legged Buzzard
+Upland Buzzard
+Long-legged x Upland Buzzard (hybrid)
+Long-legged/Upland Buzzard
+Red-necked Buzzard
+Augur Buzzard
+Augur Buzzard (Augur)
+Augur Buzzard (Archer's)
+Jackal Buzzard
+Buteo sp.
+Geranoaetus/Buteo sp.
+Buteo/eagle sp.
+hawk sp.
+eagle sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Accipitriformes/osprey.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Accipitriformes/osprey.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c614dd738a70fb205e4f7dd2fe52dfb18317656c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Accipitriformes/osprey.txt
@@ -0,0 +1,6 @@
+# Originally sourced from Clements Checklist v2022
+Osprey
+Osprey (haliaetus)
+Osprey (carolinensis)
+Osprey (ridgwayi)
+Osprey (Australasian)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Accipitriformes/secretarybird.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Accipitriformes/secretarybird.txt
new file mode 100644
index 0000000000000000000000000000000000000000..942c86d51b9e8bd0210bae834e5966811e5dc40c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Accipitriformes/secretarybird.txt
@@ -0,0 +1,2 @@
+# Originally sourced from Clements Checklist v2022
+Secretarybird
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Anseriformes/ducks,_geese,_and_waterfowl.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Anseriformes/ducks,_geese,_and_waterfowl.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3863738e27b2a69d9b51218c202f47fa17e9cef8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Anseriformes/ducks,_geese,_and_waterfowl.txt
@@ -0,0 +1,433 @@
+# Originally sourced from Clements Checklist v2022
+Spotted Whistling-Duck
+Plumed Whistling-Duck
+White-faced Whistling-Duck
+Spotted x White-faced Whistling-Duck (hybrid)
+Black-bellied Whistling-Duck
+Black-bellied Whistling-Duck (fulgens)
+Black-bellied Whistling-Duck (autumnalis)
+West Indian Whistling-Duck
+Black-bellied x West Indian Whistling-Duck (hybrid)
+Fulvous Whistling-Duck
+White-faced x Fulvous Whistling-Duck (hybrid)
+Black-bellied x Fulvous Whistling-Duck (hybrid)
+Wandering Whistling-Duck
+Plumed x Wandering Whistling-Duck (hybrid)
+Lesser Whistling-Duck
+Fulvous/Lesser Whistling-Duck
+Wandering x Lesser Whistling-Duck (hybrid)
+whistling-duck sp.
+White-backed Duck
+Bar-headed Goose
+Emperor Goose
+Snow Goose
+Bar-headed x Snow Goose (hybrid)
+Ross's Goose
+Snow x Ross's Goose (hybrid)
+Snow/Ross's Goose
+Graylag Goose
+Graylag Goose (European)
+Graylag Goose (Siberian)
+Graylag Goose (Domestic type)
+Bar-headed x Graylag Goose (hybrid)
+Swan Goose
+Swan Goose (Domestic type)
+Graylag x Swan Goose (hybrid)
+Greater White-fronted Goose
+Greater White-fronted Goose (Greenland)
+Greater White-fronted Goose (Eurasian)
+Greater White-fronted Goose (Western)
+Greater White-fronted Goose (Tule)
+Bar-headed x Greater White-fronted Goose (hybrid)
+Emperor x Greater White-fronted Goose (hybrid)
+Snow x Greater White-fronted Goose (hybrid)
+Ross's x Greater White-fronted Goose (hybrid)
+Lesser White-fronted Goose
+Greater/Lesser White-fronted Goose
+Taiga Bean-Goose
+Tundra Bean-Goose
+Taiga/Tundra Bean-Goose
+Pink-footed Goose
+Domestic goose sp. (Domestic type)
+Anser sp.
+Brant
+Brant (Dark-bellied)
+Brant (Atlantic)
+Brant (Black)
+Brant (Gray-bellied)
+Brant (Dark-bellied x Black)
+Brant (Atlantic x Black)
+Snow Goose x Brant (hybrid)
+Barnacle Goose
+Bar-headed x Barnacle Goose (hybrid)
+Emperor x Barnacle Goose (hybrid)
+Snow x Barnacle Goose (hybrid)
+Ross's x Barnacle Goose (hybrid)
+Graylag x Barnacle Goose (hybrid)
+Greater White-fronted x Barnacle Goose (hybrid)
+Lesser White-fronted x Barnacle Goose (hybrid)
+Pink-footed x Barnacle Goose (hybrid)
+Cackling Goose
+Cackling Goose (Aleutian)
+Cackling Goose (Richardson's)
+Cackling Goose (minima)
+Cackling Goose (Taverner's)
+Emperor x Cackling Goose (hybrid)
+Snow x Cackling Goose (hybrid)
+Ross's x Cackling Goose (hybrid)
+Brant x Cackling Goose (hybrid)
+Greater White-fronted x Cackling Goose (hybrid)
+Barnacle x Cackling Goose (hybrid)
+Canada Goose
+Canada Goose (moffitti/maxima)
+Canada Goose (occidentalis/fulva)
+Canada Goose (canadensis Group)
+Bar-headed x Canada Goose (hybrid)
+Swan Goose x Canada Goose (hybrid)
+Pink-footed x Canada Goose (hybrid)
+Greater White-fronted x Canada Goose (hybrid)
+Graylag x Canada Goose (hybrid)
+Domestic goose sp. x Canada Goose (hybrid)
+Snow x Canada Goose (hybrid)
+Ross's x Canada Goose (hybrid)
+Barnacle x Canada Goose (hybrid)
+Cackling/Canada Goose
+Snow/Ross's x Cackling/Canada Goose (hybrid)
+Hawaiian Goose
+Red-breasted Goose
+Greater White-fronted x Red-breasted Goose (hybrid)
+Brant x Red-breasted Goose (hybrid)
+Barnacle x Red-breasted Goose (hybrid)
+Branta sp.
+goose sp.
+Cape Barren Goose
+Freckled Duck
+Blue-winged Goose
+Mute Swan
+Graylag Goose x Mute Swan (hybrid)
+Black Swan
+Mute x Black Swan (hybrid)
+Black-necked Swan
+Trumpeter Swan
+Mute x Trumpeter Swan (hybrid)
+Tundra Swan
+Tundra Swan (Whistling)
+Tundra Swan (Bewick's)
+Tundra Swan (Whistling x Bewick's)
+Trumpeter x Tundra Swan (hybrid)
+Trumpeter/Tundra Swan
+Whooper Swan
+Mute x Whooper Swan (hybrid)
+Trumpeter x Whooper Swan (hybrid)
+Tundra/Whooper Swan
+swan sp.
+Coscoroba Swan
+Knob-billed Duck
+Comb Duck
+Hartlaub's Duck
+Orinoco Goose
+Andean Goose
+Upland Goose
+Upland Goose (White-breasted)
+Upland Goose (Bar-breasted)
+Kelp Goose
+Ashy-headed Goose
+Ruddy-headed Goose
+Chloephaga sp.
+Radjah Shelduck
+Egyptian Goose
+Mauritius Shelduck
+Reunion Shelduck
+Ruddy Shelduck
+Egyptian Goose x Ruddy Shelduck (hybrid)
+South African Shelduck
+Australian Shelduck
+Paradise Shelduck
+Common Shelduck
+Ruddy x Common Shelduck (hybrid)
+Crested Shelduck
+Spur-winged Goose
+Spur-winged Goose (Northern)
+Spur-winged Goose (Southern)
+Flying Steamer-Duck
+Flightless Steamer-Duck
+Flightless Steamer-Duck (Chiloe form)
+Falkland Steamer-Duck
+White-headed Steamer-Duck
+steamer-duck sp.
+Crested Duck
+Spectacled Duck
+Muscovy Duck
+Muscovy Duck (Domestic type)
+Green Pygmy-Goose
+Cotton Pygmy-Goose
+African Pygmy-Goose
+Ringed Teal
+Wood Duck
+Common Shelduck x Wood Duck (hybrid)
+Mandarin Duck
+Wood x Mandarin Duck (hybrid)
+Maned Duck
+Finsch's Duck
+Brazilian Teal
+Blue Duck
+Torrent Duck
+Salvadori's Teal
+Baikal Teal
+Garganey
+Blue-billed Teal
+Silver Teal
+Puna Teal
+Blue-winged Teal
+Cinnamon Teal
+Blue-winged x Cinnamon Teal (hybrid)
+Blue-winged/Cinnamon Teal
+Red Shoveler
+Cape Shoveler
+Australasian Shoveler
+Northern Shoveler
+Garganey x Northern Shoveler (hybrid)
+Blue-winged Teal x Northern Shoveler (hybrid)
+Cinnamon Teal x Northern Shoveler (hybrid)
+Gadwall
+Gadwall (Common)
+Gadwall (Coues's)
+Northern Shoveler x Gadwall (hybrid)
+Falcated Duck
+Baikal Teal x Falcated Duck (hybrid)
+Gadwall x Falcated Duck (hybrid)
+Eurasian Wigeon
+Gadwall x Eurasian Wigeon (hybrid)
+American Wigeon
+Wood Duck x American Wigeon (hybrid)
+Blue-winged Teal x American Wigeon (hybrid)
+Northern Shoveler x American Wigeon (hybrid)
+Gadwall x American Wigeon (hybrid)
+Eurasian x American Wigeon (hybrid)
+Eurasian/American Wigeon
+Chiloe Wigeon
+Eurasian x Chiloe Wigeon (hybrid)
+Amsterdam Duck
+African Black Duck
+Yellow-billed Duck
+Meller's Duck
+Pacific Black Duck
+Laysan Duck
+Hawaiian Duck
+Philippine Duck
+Indian Spot-billed Duck
+Eastern Spot-billed Duck
+Indian/Eastern Spot-billed Duck
+Mallard
+Mallard (Domestic type)
+Muscovy Duck x Mallard (hybrid)
+Wood Duck x Mallard (hybrid)
+Northern Shoveler x Mallard (hybrid)
+Gadwall x Mallard (hybrid)
+Eurasian Wigeon x Mallard (hybrid)
+American Wigeon x Mallard (hybrid)
+Yellow-billed Duck x Mallard (hybrid)
+Mallard x Pacific Black Duck (hybrid)
+Mallard x Hawaiian Duck (hybrid)
+Mallard x Indian Spot-billed Duck (hybrid)
+Mallard x Eastern Spot-billed Duck (hybrid)
+Mallard/Pacific Black Duck
+Mallard/Hawaiian Duck
+Mallard/Indian Spot-billed Duck
+Mallard/Eastern Spot-billed Duck
+Mexican Duck
+Mallard x Mexican Duck (hybrid)
+Mallard/Mexican Duck
+American Black Duck
+American Wigeon x American Black Duck (hybrid)
+Mallard x American Black Duck (hybrid)
+Mallard/American Black Duck
+Mottled Duck
+Mottled Duck (Florida)
+Mottled Duck (Gulf Coast)
+Mallard x Mottled Duck (hybrid)
+Mallard/Mottled Duck
+Mallard x Mexican/Mottled Duck (hybrid)
+Mexican x Mottled Duck (hybrid)
+Mexican/Mottled Duck
+American Black/Mottled Duck
+Cape Teal
+White-cheeked Pintail
+White-cheeked Pintail (White-cheeked)
+White-cheeked Pintail (Galapagos)
+Mallard x White-cheeked Pintail (hybrid)
+Red-billed Duck
+Northern Pintail
+Baikal Teal x Northern Pintail (hybrid)
+Gadwall x Northern Pintail (hybrid)
+Eurasian Wigeon x Northern Pintail (hybrid)
+American Wigeon x Northern Pintail (hybrid)
+Mallard x Northern Pintail (hybrid)
+American Black Duck x Northern Pintail (hybrid)
+Eaton's Pintail
+Yellow-billed Pintail
+Yellow-billed Pintail (South Georgia)
+Yellow-billed Pintail (South American)
+Green-winged Teal
+Green-winged Teal (Eurasian)
+Green-winged Teal (American)
+Green-winged Teal (Eurasian x American)
+Baikal x Green-winged Teal (hybrid)
+Garganey x Green-winged Teal (hybrid)
+Garganey/Green-winged Teal
+Blue-winged x Green-winged Teal (hybrid)
+Cinnamon x Green-winged Teal (hybrid)
+Gadwall x Green-winged Teal (hybrid)
+Eurasian Wigeon x Green-winged Teal (hybrid)
+American Wigeon x Green-winged Teal (hybrid)
+Mallard x Green-winged Teal (hybrid)
+Northern Pintail x Green-winged Teal (hybrid)
+Andean Teal
+Andean Teal (Merida)
+Andean Teal (Andean)
+Yellow-billed Teal
+Yellow-billed Teal (flavirostris)
+Yellow-billed Teal (oxyptera)
+Yellow-billed Pintail/Yellow-billed Teal
+Andean/Yellow-billed Teal
+Mauritius Duck
+Andaman Teal
+Sunda Teal
+Gray Teal
+Pacific Black Duck x Gray Teal (hybrid)
+Chestnut Teal
+Pacific Black Duck x Chestnut Teal (hybrid)
+Gray x Chestnut Teal (hybrid)
+Gray/Chestnut Teal
+Bernier's Teal
+Auckland Islands Teal
+Campbell Islands Teal
+Brown Teal
+Mallard x Brown Teal (hybrid)
+Anas sp.
+teal sp.
+dabbling duck sp.
+Pink-eared Duck
+Marbled Teal
+Pink-headed Duck
+White-winged Duck
+Red-crested Pochard
+Mallard x Red-crested Pochard (hybrid)
+Southern Pochard
+Rosy-billed Pochard
+Canvasback
+Redhead
+Mallard x Redhead (hybrid)
+Canvasback x Redhead (hybrid)
+Common Pochard
+Mallard x Common Pochard (hybrid)
+Red-crested x Common Pochard (hybrid)
+Ring-necked Duck
+Mallard x Ring-necked Duck (hybrid)
+Canvasback x Ring-necked Duck (hybrid)
+Redhead x Ring-necked Duck (hybrid)
+Ferruginous Duck
+Red-crested Pochard x Ferruginous Duck (hybrid)
+Common Pochard x Ferruginous Duck (hybrid)
+Madagascar Pochard
+Baer's Pochard
+Ferruginous Duck x Baer's Pochard (hybrid)
+Ferruginous Duck/Baer's Pochard
+Hardhead
+Gray Teal x Hardhead (hybrid)
+Tufted Duck
+Mallard x Tufted Duck (hybrid)
+Red-crested Pochard x Tufted Duck (hybrid)
+Common Pochard x Tufted Duck (hybrid)
+Ring-necked x Tufted Duck (hybrid)
+Ferruginous x Tufted Duck (hybrid)
+New Zealand Scaup
+Greater Scaup
+Redhead x Greater Scaup (hybrid)
+Ring-necked Duck x Greater Scaup (hybrid)
+Tufted Duck x Greater Scaup (hybrid)
+Lesser Scaup
+Redhead x Lesser Scaup (hybrid)
+Ring-necked Duck x Lesser Scaup (hybrid)
+Tufted Duck x Lesser Scaup (hybrid)
+Greater/Lesser Scaup
+Canvasback x scaup sp. (hybrid)
+Redhead x scaup sp. (hybrid)
+Ring-necked Duck x scaup sp. (hybrid)
+Tufted Duck x scaup sp. (hybrid)
+Aythya sp.
+Steller's Eider
+Labrador Duck
+Spectacled Eider
+King Eider
+Spectacled x King Eider (hybrid)
+Common Eider
+Common Eider (Eurasian)
+Common Eider (Faeroe Is.)
+Common Eider (Pacific)
+Common Eider (Dresser's)
+Common Eider (Northern)
+Common Eider (Hudson Bay)
+Mallard x Common Eider (hybrid)
+King x Common Eider (hybrid)
+King/Common Eider
+eider sp.
+Harlequin Duck
+Surf Scoter
+Velvet Scoter
+White-winged Scoter
+Stejneger's Scoter
+Surf x White-winged Scoter (hybrid)
+Velvet/White-winged/Stejneger's Scoter
+White-winged/Stejneger's Scoter
+Common Scoter
+Black Scoter
+Surf/Black Scoter
+Common/Black Scoter
+scoter sp.
+Long-tailed Duck
+Bufflehead
+Common Goldeneye
+Bufflehead x Common Goldeneye (hybrid)
+Bufflehead x goldeneye sp. (hybrid)
+Barrow's Goldeneye
+Common x Barrow's Goldeneye (hybrid)
+Common/Barrow's Goldeneye
+Smew
+Common Goldeneye x Smew (hybrid)
+Hooded Merganser
+Wood Duck x Hooded Merganser (hybrid)
+Bufflehead x Hooded Merganser (hybrid)
+Common Goldeneye x Hooded Merganser (hybrid)
+Barrow's Goldeneye x Hooded Merganser (hybrid)
+goldeneye sp. x Hooded Merganser (hybrid)
+Smew x Hooded Merganser (hybrid)
+Auckland Islands Merganser
+Common Merganser
+Common Merganser (Eurasian)
+Common Merganser (North American)
+Common Eider x Common Merganser (hybrid)
+Hooded x Common Merganser (hybrid)
+Brazilian Merganser
+Red-breasted Merganser
+Ring-necked Duck x Red-breasted Merganser (hybrid)
+Common x Red-breasted Merganser (hybrid)
+Common/Red-breasted Merganser
+Scaly-sided Merganser
+merganser sp.
+Black-headed Duck
+Masked Duck
+Ruddy Duck
+Andean Duck
+Andean Duck (andina)
+Andean Duck (ferruginea)
+Masked/Ruddy Duck
+White-headed Duck
+Ruddy x White-headed Duck (hybrid)
+Maccoa Duck
+Lake Duck
+Andean/Lake Duck
+Blue-billed Duck
+Musk Duck
+duck sp.
+waterfowl sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Anseriformes/magpie_goose.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Anseriformes/magpie_goose.txt
new file mode 100644
index 0000000000000000000000000000000000000000..537fd16ca14a24b30c2e0454b34c533d79570598
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Anseriformes/magpie_goose.txt
@@ -0,0 +1,2 @@
+# Originally sourced from Clements Checklist v2022
+Magpie Goose
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Anseriformes/screamers.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Anseriformes/screamers.txt
new file mode 100644
index 0000000000000000000000000000000000000000..39783f08eb533105979f5779e3fe058c1496bbc6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Anseriformes/screamers.txt
@@ -0,0 +1,4 @@
+# Originally sourced from Clements Checklist v2022
+Horned Screamer
+Southern Screamer
+Northern Screamer
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Apterygiformes/kiwis.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Apterygiformes/kiwis.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2c7d677a779116d2405a1b23571e10f83d216a5f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Apterygiformes/kiwis.txt
@@ -0,0 +1,9 @@
+# Originally sourced from Clements Checklist v2022
+Southern Brown Kiwi
+Southern Brown Kiwi (South I.)
+Southern Brown Kiwi (Stewart I.)
+Okarito Brown Kiwi
+North Island Brown Kiwi
+Little Spotted Kiwi
+Great Spotted Kiwi
+kiwi sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Bucerotiformes/ground-hornbills.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Bucerotiformes/ground-hornbills.txt
new file mode 100644
index 0000000000000000000000000000000000000000..25dfe03035bf8bea0015166227d2744a76382d04
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Bucerotiformes/ground-hornbills.txt
@@ -0,0 +1,3 @@
+# Originally sourced from Clements Checklist v2022
+Abyssinian Ground-Hornbill
+Southern Ground-Hornbill
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Bucerotiformes/hoopoes.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Bucerotiformes/hoopoes.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6124af697bf81e5488604bcd4315f17b00b09d3b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Bucerotiformes/hoopoes.txt
@@ -0,0 +1,7 @@
+# Originally sourced from Clements Checklist v2022
+Eurasian Hoopoe
+Eurasian Hoopoe (Eurasian)
+Eurasian Hoopoe (Central African)
+Eurasian Hoopoe (African)
+Madagascar Hoopoe
+St. Helena Hoopoe
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Bucerotiformes/hornbills.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Bucerotiformes/hornbills.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4a3b313f31d64610ef5315ffe3145c1aebbc240d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Bucerotiformes/hornbills.txt
@@ -0,0 +1,81 @@
+# Originally sourced from Clements Checklist v2022
+Red-billed Dwarf Hornbill
+Crowned Hornbill
+Bradfield's Hornbill
+African Pied Hornbill
+African Pied Hornbill (Western)
+African Pied Hornbill (Congo)
+Hemprich's Hornbill
+African Gray Hornbill
+Pale-billed Hornbill
+Lophoceros sp.
+Eastern Yellow-billed Hornbill
+Southern Yellow-billed Hornbill
+Jackson's Hornbill
+Von der Decken's Hornbill
+Monteiro's Hornbill
+Southern Red-billed Hornbill
+Damara Red-billed Hornbill
+Southern x Damara Red-billed Hornbill (hybrid)
+Tanzanian Red-billed Hornbill
+Western Red-billed Hornbill
+Northern Red-billed Hornbill
+Tockus sp.
+White-crowned Hornbill
+White-crested Hornbill
+White-crested Hornbill (White-cheeked)
+White-crested Hornbill (Dark-cheeked)
+Black Dwarf Hornbill
+Black Dwarf Hornbill (Western)
+Black Dwarf Hornbill (Eastern)
+Black-casqued Hornbill
+Yellow-casqued Hornbill
+Black-casqued/Yellow-casqued Hornbill
+Silvery-cheeked Hornbill
+Black-and-white-casqued Hornbill
+Brown-cheeked Hornbill
+White-thighed Hornbill
+Trumpeter Hornbill
+Piping Hornbill
+Piping Hornbill (Western)
+Piping Hornbill (Eastern)
+Helmeted Hornbill
+Rufous Hornbill
+Rufous Hornbill (Northern)
+Rufous Hornbill (Southern)
+Rhinoceros Hornbill
+Great Hornbill
+Rhinoceros/Great Hornbill
+Bushy-crested Hornbill
+Brown Hornbill
+Rusty-cheeked Hornbill
+Indian Gray Hornbill
+Malabar Gray Hornbill
+Indian/Malabar Gray Hornbill
+Sri Lanka Gray Hornbill
+Black Hornbill
+Sulu Hornbill
+Malabar Pied-Hornbill
+Oriental Pied-Hornbill
+Malabar/Oriental Pied-Hornbill
+Palawan Hornbill
+Rufous-necked Hornbill
+Knobbed Hornbill
+Sumba Hornbill
+Wreathed Hornbill
+Plain-pouched Hornbill
+Wreathed/Plain-pouched Hornbill
+Narcondam Hornbill
+Blyth's Hornbill
+Sulawesi Hornbill
+Sulawesi Hornbill (Dwarf)
+Sulawesi Hornbill (Sanford's)
+Wrinkled Hornbill
+Writhe-billed Hornbill
+Writhed Hornbill
+Visayan Hornbill
+Luzon Hornbill
+Mindoro Hornbill
+Samar Hornbill
+Mindanao Hornbill
+hornbill sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Bucerotiformes/woodhoopoes_and_scimitarbills.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Bucerotiformes/woodhoopoes_and_scimitarbills.txt
new file mode 100644
index 0000000000000000000000000000000000000000..01babf01eeb1765b1e0ec174239d8d8f65237eee
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Bucerotiformes/woodhoopoes_and_scimitarbills.txt
@@ -0,0 +1,18 @@
+# Originally sourced from Clements Checklist v2022
+Green Woodhoopoe
+Violet Woodhoopoe
+Violet Woodhoopoe (Violet)
+Violet Woodhoopoe (Grant's)
+Green/Violet Woodhoopoe
+Black-billed Woodhoopoe
+White-headed Woodhoopoe
+White-headed Woodhoopoe (bollei/jacksoni)
+White-headed Woodhoopoe (Oku)
+woodhoopoe sp.
+Forest Scimitarbill
+Forest Scimitarbill (Western)
+Forest Scimitarbill (Eastern)
+Black Scimitarbill
+Common Scimitarbill
+Abyssinian Scimitarbill
+woodhoopoe/scimitarbill sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Caprimulgiformes/frogmouths.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Caprimulgiformes/frogmouths.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7ea33a346f1ed7883c32a5e22ad643c1884f4fc7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Caprimulgiformes/frogmouths.txt
@@ -0,0 +1,23 @@
+# Originally sourced from Clements Checklist v2022
+Tawny Frogmouth
+Marbled Frogmouth
+Marbled Frogmouth (Marbled)
+Marbled Frogmouth (Plumed)
+Papuan Frogmouth
+Solomons Frogmouth
+Large Frogmouth
+Dulit Frogmouth
+Philippine Frogmouth
+Gould's Frogmouth
+Sri Lanka Frogmouth
+Hodgson's Frogmouth
+Sumatran Frogmouth
+Bornean Frogmouth
+Javan Frogmouth
+Blyth's Frogmouth
+Blyth's Frogmouth (Indochinese)
+Blyth's Frogmouth (Blyth's)
+Palawan Frogmouth
+Sunda Frogmouth
+Batrachostomus sp.
+frogmouth sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Caprimulgiformes/hummingbirds.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Caprimulgiformes/hummingbirds.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ae53845904ce93f63f3f19989e1b493922ffdd2a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Caprimulgiformes/hummingbirds.txt
@@ -0,0 +1,536 @@
+# Originally sourced from Clements Checklist v2022
+Crimson Topaz
+Fiery Topaz
+Crimson/Fiery Topaz
+White-necked Jacobin
+Black Jacobin
+White-tipped Sicklebill
+Buff-tailed Sicklebill
+Saw-billed Hermit
+Hook-billed Hermit
+Bronzy Hermit
+Rufous-breasted Hermit
+Band-tailed Barbthroat
+Pale-tailed Barbthroat
+Sooty Barbthroat
+Broad-tipped Hermit
+White-bearded Hermit
+White-whiskered Hermit
+Green Hermit
+Tawny-bellied Hermit
+Koepcke's Hermit
+Needle-billed Hermit
+Straight-billed Hermit
+Straight-billed Hermit (bourcieri)
+Straight-billed Hermit (major)
+Long-billed Hermit
+Long-billed Hermit (Central American)
+Long-billed Hermit (Baron's)
+Mexican Hermit
+Mexican Hermit (Jalisco)
+Mexican Hermit (Mexican)
+Long-tailed Hermit
+Long-billed/Long-tailed Hermit
+Great-billed Hermit
+Great-billed Hermit (Great-billed)
+Great-billed Hermit (Amazonian)
+Great-billed Hermit (Margaretta's)
+Pale-bellied Hermit
+Dusky-throated Hermit
+Maranhao Hermit (unrecognized species)
+Streak-throated Hermit
+Little Hermit
+Tapajos Hermit
+Minute Hermit
+Cinnamon-throated Hermit
+Black-throated Hermit
+Stripe-throated Hermit
+Gray-chinned Hermit
+Gray-chinned Hermit (Porculla)
+Gray-chinned Hermit (Gray-chinned)
+Reddish Hermit
+White-browed Hermit
+Reddish/White-browed Hermit
+Buff-bellied Hermit
+Sooty-capped Hermit
+Planalto Hermit
+Scale-throated Hermit
+hermit sp.
+Green-fronted Lancebill
+Blue-fronted Lancebill
+White-throated Daggerbill
+Geoffroy's Daggerbill
+White-throated/Geoffroy's Daggerbill
+Hyacinth Visorbearer
+Hooded Visorbearer
+White-vented Violetear
+Sparkling Violetear
+Brown Violetear
+Mexican Violetear
+Lesser Violetear
+Lesser Violetear (Costa Rican)
+Lesser Violetear (Andean)
+Sparkling/Lesser Violetear
+violetear sp.
+Horned Sungem
+Tooth-billed Hummingbird
+Purple-crowned Fairy
+Black-eared Fairy
+White-tailed Goldenthroat
+Tepui Goldenthroat
+Green-tailed Goldenthroat
+Fiery-tailed Awlbill
+Ruby-topaz Hummingbird
+Jamaican Mango
+Black-throated Mango
+Black-throated Mango (Black-throated)
+Black-throated Mango (Ecuadorian)
+Green-throated Mango
+Green-breasted Mango
+Veraguan Mango
+Hispaniolan Mango
+Puerto Rican Mango
+Green Mango
+mango sp.
+Purple-throated Carib
+Green-throated Carib
+Purple-throated/Green-throated Carib
+Orange-throated Sunangel
+Longuemare's Sunangel
+Merida Sunangel
+Amethyst-throated Sunangel
+Gorgeted Sunangel
+Tourmaline Sunangel
+Little Sunangel
+Purple-throated Sunangel
+Purple-throated Sunangel (Purple-throated)
+Purple-throated Sunangel (Brilliant)
+Royal Sunangel
+Heliangelus sp.
+Green-backed Firecrown
+Juan Fernandez Firecrown
+Green-backed/Juan Fernandez Firecrown
+Wire-crested Thorntail
+Black-bellied Thorntail
+Coppery Thorntail
+Green Thorntail
+Racket-tipped Thorntail
+Tufted Coquette
+Dot-eared Coquette
+Frilled Coquette
+Short-crested Coquette
+Rufous-crested Coquette
+Spangled Coquette
+Butterfly Coquette
+Festive Coquette
+Peacock Coquette
+Black-crested Coquette
+White-crested Coquette
+thorntail/coquette sp.
+Ecuadorian Piedtail
+Peruvian Piedtail
+Speckled Hummingbird
+Speckled Hummingbird (melanogenys Group)
+Speckled Hummingbird (maculata)
+Speckled Hummingbird (inornata)
+Long-tailed Sylph
+Violet-tailed Sylph
+Venezuelan Sylph
+Red-tailed Comet
+Bronze-tailed Comet
+Gray-bellied Comet
+Ecuadorian Hillstar
+Blue-throated Hillstar
+Green-headed Hillstar
+Black-breasted Hillstar
+Green-headed/Black-breasted Hillstar
+Andean Hillstar
+White-sided Hillstar
+Wedge-tailed Hillstar
+Oreotrochilus sp.
+Mountain Avocetbill
+Black-tailed Trainbearer
+Green-tailed Trainbearer
+Black-tailed/Green-tailed Trainbearer
+Black-backed Thornbill
+Purple-backed Thornbill
+Rufous-capped Thornbill
+Olivaceous Thornbill
+Blue-mantled Thornbill
+Bronze-tailed Thornbill
+Rainbow-bearded Thornbill
+Buffy Helmetcrest
+Blue-bearded Helmetcrest
+White-bearded Helmetcrest
+Green-bearded Helmetcrest
+helmetcrest sp.
+Bearded Mountaineer
+Bearded Mountaineer (Western)
+Bearded Mountaineer (Eastern)
+Perija Metaltail
+Tyrian Metaltail
+Tyrian Metaltail (Santa Marta)
+Tyrian Metaltail (Costa)
+Tyrian Metaltail (Merida)
+Tyrian Metaltail (Tyrian)
+Tyrian Metaltail (septentrionalis)
+Tyrian Metaltail (smaragdinicollis)
+Long-tailed Sylph x Tyrian Metaltail (hybrid)
+Viridian Metaltail
+Viridian Metaltail (recisa)
+Viridian Metaltail (Viridian)
+Viridian Metaltail (Ecuadorian)
+Viridian Metaltail (Black-throated)
+Violet-throated Metaltail
+Neblina Metaltail
+Coppery Metaltail
+Fire-throated Metaltail
+Scaled Metaltail
+Black Metaltail
+metaltail sp.
+Greenish Puffleg
+Buff-thighed Puffleg
+Hoary Puffleg
+Black-breasted Puffleg
+Gorgeted Puffleg
+Glowing Puffleg
+Black-thighed Puffleg
+Turquoise-throated Puffleg
+Coppery-bellied Puffleg
+Sapphire-vented Puffleg
+Sapphire-vented Puffleg (Sapphire-vented)
+Sapphire-vented Puffleg (Coppery-naped)
+Golden-breasted Puffleg
+Blue-capped Puffleg
+Colorful Puffleg
+Emerald-bellied Puffleg
+Marvelous Spatuletail
+Shining Sunbeam
+White-tufted Sunbeam
+Shining x White-tufted Sunbeam (hybrid)
+Shining/White-tufted Sunbeam
+Purple-backed Sunbeam
+Black-hooded Sunbeam
+Bronzy Inca
+Brown Inca
+Black Inca
+Collared Inca
+Collared Inca (Collared)
+Collared Inca (Vilcabamba)
+Green Inca
+Gould's Inca
+Violet-throated Starfrontlet
+Violet-throated Starfrontlet (Huanuco)
+Violet-throated Starfrontlet (Apurimac)
+Violet-throated Starfrontlet (Cuzco)
+Violet-throated Starfrontlet (Bolivian)
+Rainbow Starfrontlet
+White-tailed Starfrontlet
+Dusky Starfrontlet
+Buff-winged Starfrontlet
+Perija Starfrontlet
+Golden-bellied Starfrontlet
+Merida Starfrontlet
+Blue-throated Starfrontlet
+Coeligena sp.
+Mountain Velvetbreast
+Sword-billed Hummingbird
+Great Sapphirewing
+Buff-tailed Coronet
+Chestnut-breasted Coronet
+Velvet-purple Coronet
+Buff-tailed x Velvet-purple Coronet (hybrid)
+White-booted Racket-tail
+Peruvian Racket-tail
+Rufous-booted Racket-tail
+Rufous-booted Racket-tail (Anna's)
+Rufous-booted Racket-tail (Adda's)
+Peruvian/Rufous-booted Racket-tail
+Rufous-gaped Hillstar
+Green-backed Hillstar
+Purple-bibbed Whitetip
+Rufous-vented Whitetip
+Velvet-browed Brilliant
+Pink-throated Brilliant
+Rufous-webbed Brilliant
+Black-throated Brilliant
+Black-throated Brilliant (Black-throated)
+Black-throated Brilliant (Black-breasted)
+Gould's Jewelfront
+Fawn-breasted Brilliant
+Green-crowned Brilliant
+Empress Brilliant
+Buff-tailed Coronet x Empress Brilliant (hybrid)
+Violet-fronted Brilliant
+Brazilian Ruby
+Giant Hummingbird
+Violet-chested Hummingbird
+Scissor-tailed Hummingbird
+Rivoli's Hummingbird
+Talamanca Hummingbird
+Long-billed Starthroat
+Plain-capped Starthroat
+Long-billed/Plain-capped Starthroat
+Stripe-breasted Starthroat
+Blue-tufted Starthroat
+Fiery-throated Hummingbird
+Green-throated Mountain-gem
+Green-breasted Mountain-gem
+Amethyst-throated Mountain-gem
+Amethyst-throated Mountain-gem (Amethyst-throated)
+Amethyst-throated Mountain-gem (Violet-throated)
+Blue-throated Mountain-gem
+White-bellied Mountain-gem
+Purple-throated Mountain-gem
+White-throated Mountain-gem
+White-throated Mountain-gem (Blue-tailed)
+White-throated Mountain-gem (Gray-tailed)
+Purple-throated x White-throated Mountain-gem (hybrid)
+Purple-throated/White-throated Mountain-gem
+Garnet-throated Hummingbird
+Sparkling-tailed Hummingbird
+Amethyst Woodstar
+Peruvian Sheartail
+Short-tailed Woodstar
+Purple-collared Woodstar
+Oasis Hummingbird
+Chilean Woodstar
+Peruvian Sheartail x Chilean Woodstar (hybrid)
+Slender-tailed Woodstar
+White-bellied Woodstar
+Little Woodstar
+Gorgeted Woodstar
+Santa Marta Woodstar
+Esmeraldas Woodstar
+Rufous-shafted Woodstar
+Chaetocercus sp.
+Magenta-throated Woodstar
+Purple-throated Woodstar
+woodstar sp.
+Slender Sheartail
+Mexican Sheartail
+Lucifer Hummingbird
+Beautiful Hummingbird
+Lucifer/Beautiful Hummingbird
+Ruby-throated Hummingbird
+Black-chinned Hummingbird
+Lucifer x Black-chinned Hummingbird (hybrid)
+Ruby-throated x Black-chinned Hummingbird (hybrid)
+Ruby-throated/Black-chinned Hummingbird
+Bahama Woodstar
+Inagua Woodstar
+Vervain Hummingbird
+Bee Hummingbird
+Anna's Hummingbird
+Lucifer x Anna's Hummingbird (hybrid)
+Black-chinned x Anna's Hummingbird (hybrid)
+Costa's Hummingbird
+Lucifer x Costa's Hummingbird (hybrid)
+Black-chinned x Costa's Hummingbird (hybrid)
+Anna's x Costa's Hummingbird (hybrid)
+Anna's/Costa's Hummingbird
+Calliope Hummingbird
+Black-chinned x Calliope Hummingbird (hybrid)
+Anna's x Calliope Hummingbird (hybrid)
+Rufous Hummingbird
+Black-chinned x Rufous Hummingbird (hybrid)
+Anna's x Rufous Hummingbird (hybrid)
+Calliope x Rufous Hummingbird (hybrid)
+Allen's Hummingbird
+Anna's x Allen's Hummingbird (hybrid)
+Rufous x Allen's Hummingbird (hybrid)
+Rufous/Allen's Hummingbird
+Broad-tailed Hummingbird
+Calliope x Broad-tailed Hummingbird (hybrid)
+Rufous x Broad-tailed Hummingbird (hybrid)
+Bumblebee Hummingbird
+Wine-throated Hummingbird
+Volcano Hummingbird
+Volcano Hummingbird (Purple-throated)
+Volcano Hummingbird (Heliotrope-throated)
+Volcano Hummingbird (Rose-throated)
+Scintillant Hummingbird
+Glow-throated Hummingbird
+Selasphorus sp.
+Anna's Hummingbird x Selasphorus sp. (hybrid)
+Dusky Hummingbird
+Cuban Emerald
+Brace's Emerald
+Elegant Emerald (unrecognized species)
+Hispaniolan Emerald
+Puerto Rican Emerald
+Blue-headed Hummingbird
+Broad-billed Hummingbird
+Black-chinned x Broad-billed Hummingbird (hybrid)
+Anna's x Broad-billed Hummingbird (hybrid)
+Tres Marias Hummingbird
+Broad-billed/Tres Marias Hummingbird
+Turquoise-crowned Hummingbird
+Broad-billed x Turquoise-crowned Hummingbird (hybrid)
+Dusky/Turquoise-crowned Hummingbird
+Broad-billed/Turquoise-crowned Hummingbird
+Golden-crowned Emerald
+Cozumel Emerald
+Canivet's Emerald
+Canivet's Emerald (Canivet's)
+Canivet's Emerald (Salvin's)
+Blue-tailed Emerald
+Chiribiquete Emerald
+Red-billed Emerald
+Glittering-bellied Emerald
+Short-tailed Emerald
+Narrow-tailed Emerald
+Green-tailed Emerald
+Coppery Emerald
+Garden Emerald
+Western Emerald
+Riccordia/Cynanthus/Chlorostilbon sp.
+White-eared Hummingbird
+Xantus's Hummingbird
+Wedge-tailed Sabrewing
+Wedge-tailed Sabrewing (Curve-winged)
+Wedge-tailed Sabrewing (Wedge-tailed)
+Wedge-tailed Sabrewing (Long-tailed)
+Rufous Sabrewing
+Violet-headed Hummingbird
+Emerald-chinned Hummingbird
+Antillean Crested Hummingbird
+Antillean Crested Hummingbird (Lesser Antilles)
+Antillean Crested Hummingbird (St. Vincent)
+Antillean Crested Hummingbird (Barbados)
+Antillean Crested Hummingbird (Grenadines and Grenada)
+Green-crowned Plovercrest
+Purple-crowned Plovercrest
+Santa Marta Blossomcrown
+Tolima Blossomcrown
+Gray-breasted Sabrewing
+Gray-breasted Sabrewing (largipennis)
+Gray-breasted Sabrewing (obscurus)
+Outcrop Sabrewing
+Diamantina Sabrewing
+Violet Sabrewing
+Rufous-breasted Sabrewing
+Buff-breasted Sabrewing
+Napo Sabrewing
+Lazuline Sabrewing
+Santa Marta Sabrewing
+White-tailed Sabrewing
+Bronze-tailed Plumeleteer
+White-vented Plumeleteer
+White-vented Plumeleteer (White-vented)
+White-vented Plumeleteer (Blue-bellied)
+White-vented Plumeleteer (Ecuadorian)
+Violet-capped Woodnymph
+Long-tailed Woodnymph
+Crowned Woodnymph
+Crowned Woodnymph (Northern/Colombian Violet-crowned)
+Crowned Woodnymph (Northern Violet-crowned)
+Crowned Woodnymph (Colombian Violet-crowned)
+Crowned Woodnymph (Green-crowned/Emerald-bellied)
+Crowned Woodnymph (Green-crowned)
+Crowned Woodnymph (Emerald-bellied)
+Fork-tailed Woodnymph
+Violet-capped/Fork-tailed Woodnymph
+Snowcap
+Coppery-headed Emerald
+White-tailed Emerald
+Violet-capped Hummingbird
+Pirre Hummingbird
+Mexican Woodnymph
+White-tailed Hummingbird
+Blue-capped Hummingbird
+Stripe-tailed Hummingbird
+Black-bellied Hummingbird
+Scaly-breasted Hummingbird
+Scaly-breasted Hummingbird (Robert's)
+Scaly-breasted Hummingbird (Cuvier's)
+Buffy Hummingbird
+Tumbes Hummingbird
+Spot-throated Hummingbird
+Many-spotted Hummingbird
+Swallow-tailed Hummingbird
+Sombre Hummingbird
+Olive-spotted Hummingbird
+Red-billed Streamertail
+Black-billed Streamertail
+Red-billed x Black-billed Streamertail (hybrid)
+Red-billed/Black-billed Streamertail
+Violet-crowned Hummingbird
+Broad-billed x Violet-crowned Hummingbird (hybrid)
+Green-fronted Hummingbird
+Green-fronted Hummingbird (Green-fronted)
+Green-fronted Hummingbird (Cinnamon-sided)
+Green-fronted Hummingbird (villadai)
+Azure-crowned Hummingbird
+Azure-crowned Hummingbird (Azure-crowned)
+Azure-crowned Hummingbird (Mosquitia)
+Blue-vented Hummingbird
+Berylline Hummingbird
+Berylline Hummingbird (Northern)
+Berylline Hummingbird (Sumichrast's)
+Rivoli's x Berylline Hummingbird (hybrid)
+Blue-tailed Hummingbird
+Snowy-bellied Hummingbird
+Steely-vented Hummingbird
+Guanacaste Hummingbird (unrecognized species)
+Indigo-capped Hummingbird
+Chestnut-bellied Hummingbird
+Green-bellied Hummingbird
+Copper-tailed Hummingbird
+Copper-rumped Hummingbird
+Saucerottia sp.
+Cinnamon Hummingbird
+Cinnamon Hummingbird (Tres Marias Is.)
+Cinnamon Hummingbird (Mainland)
+Buff-bellied Hummingbird
+Buff-bellied Hummingbird (Yucatan)
+Buff-bellied Hummingbird (Northern)
+Rufous-tailed Hummingbird
+Rufous-tailed Hummingbird (Rufous-tailed)
+Rufous-tailed Hummingbird (Escudo)
+Cinnamon x Rufous-tailed Hummingbird (hybrid)
+Buff-bellied/Rufous-tailed Hummingbird
+Honduran Emerald
+Azure-crowned Hummingbird x Honduran Emerald (hybrid)
+Rufous-tailed Hummingbird x Honduran Emerald (hybrid)
+Mangrove Hummingbird
+Amazilia Hummingbird
+Amazilia Hummingbird (White-throated)
+Amazilia Hummingbird (Green-throated)
+Amazilia Hummingbird (Blue-throated)
+Andean Emerald
+Versicolored Emerald
+Versicolored Emerald (Versicolored)
+Versicolored Emerald (Rondonia)
+Shining-green Hummingbird
+Golden-tailed Sapphire
+Sapphire-throated Hummingbird
+Sapphire-bellied Hummingbird
+Shining-green/Sapphire-throated/Sapphire-bellied Hummingbird
+Humboldt's Sapphire
+Blue-headed Sapphire
+White-chested Emerald
+Plain-bellied Emerald
+White-throated Hummingbird
+Glittering-throated Emerald
+Sapphire-spangled Emerald
+Sapphire-spangled Emerald (Sapphire-spangled)
+Sapphire-spangled Emerald (Spot-vented)
+Glittering-throated/Sapphire-spangled Emerald
+Rufous-throated Sapphire
+Gilded Hummingbird
+White-bellied Hummingbird
+White-bellied Hummingbird (chionogaster)
+White-bellied Hummingbird (hypoleuca)
+Green-and-white Hummingbird
+White-bellied/Green-and-white Hummingbird
+Purple-chested Hummingbird
+Blue-chested Hummingbird
+Charming Hummingbird
+White-bellied Emerald
+Blue-throated Goldentail
+White-chinned Sapphire
+Violet-bellied Hummingbird
+Blue-chinned Sapphire
+Bogota Sunangel (hybrid)
+hummingbird sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Caprimulgiformes/nightjars_and_allies.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Caprimulgiformes/nightjars_and_allies.txt
new file mode 100644
index 0000000000000000000000000000000000000000..dda07ee7842952e35ab206dce290cd87d97b05d1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Caprimulgiformes/nightjars_and_allies.txt
@@ -0,0 +1,127 @@
+# Originally sourced from Clements Checklist v2022
+Spotted Nightjar
+Solomons Nightjar
+New Caledonian Nightjar
+White-throated Nightjar
+Diabolical Nightjar
+Papuan Nightjar
+Archbold's Nightjar
+Malaysian Eared-Nightjar
+Great Eared-Nightjar
+Collared Nightjar
+Nacunda Nighthawk
+Least Nighthawk
+Sand-colored Nighthawk
+Lesser Nighthawk
+Common Nighthawk
+Antillean Nighthawk
+Common/Antillean Nighthawk
+nighthawk sp.
+Short-tailed Nighthawk
+Short-tailed Nighthawk (Short-tailed)
+Short-tailed Nighthawk (nattereri)
+Rufous-bellied Nighthawk
+Band-tailed Nighthawk
+Band-tailed Nighthawk (Band-tailed)
+Band-tailed Nighthawk (latifascia)
+Bahian Nighthawk
+Blackish Nightjar
+Pygmy Nightjar
+Band-winged Nightjar
+Band-winged Nightjar (Tepui)
+Band-winged Nightjar (Rufous-naped)
+Band-winged Nightjar (atripunctata)
+Band-winged Nightjar (Austral)
+Band-winged Nightjar (longirostris)
+Band-winged Nightjar (Mocha)
+Tschudi's Nightjar
+Common Pauraque
+Scrub Nightjar
+White-winged Nightjar
+Sickle-winged Nightjar
+Swallow-tailed Nightjar
+Lyre-tailed Nightjar
+Todd's Nightjar
+Little Nightjar
+Roraiman Nightjar
+Cayenne Nightjar
+White-tailed Nightjar
+Spot-tailed Nightjar
+Ladder-tailed Nightjar
+Scissor-tailed Nightjar
+Hydropsalis sp.
+Long-trained Nightjar
+Jamaican Pauraque
+Least Pauraque
+Eared Poorwill
+Yucatan Poorwill
+Ocellated Poorwill
+Choco Poorwill
+Common Poorwill
+Chuck-will's-widow
+Rufous Nightjar
+Rufous Nightjar (South American)
+Rufous Nightjar (St. Lucia)
+Rufous Nightjar (Northern)
+Cuban Nightjar
+Hispaniolan Nightjar
+Tawny-collared Nightjar
+Yucatan Nightjar
+Silky-tailed Nightjar
+Buff-collared Nightjar
+Eastern Whip-poor-will
+Dusky Nightjar
+Mexican Whip-poor-will
+Eastern/Mexican Whip-poor-will
+Puerto Rican Nightjar
+Antrostomus sp.
+Brown Nightjar
+Pennant-winged Nightjar
+Standard-winged Nightjar
+Red-necked Nightjar
+Jungle Nightjar
+Gray Nightjar
+Jungle/Gray Nightjar
+Palau Nightjar
+Eurasian Nightjar
+Red-necked/Eurasian Nightjar
+Sombre Nightjar
+Rufous-cheeked Nightjar
+Egyptian Nightjar
+Nubian Nightjar
+Nubian Nightjar (Nubian)
+Nubian Nightjar (Torrid)
+Nubian Nightjar (Socotra)
+Sykes's Nightjar
+Golden Nightjar
+Large-tailed Nightjar
+Timor Nightjar (undescribed form)
+Andaman Nightjar
+Mees's Nightjar
+Jerdon's Nightjar
+Philippine Nightjar
+Sulawesi Nightjar
+Donaldson-Smith's Nightjar
+Fiery-necked Nightjar
+Fiery-necked Nightjar (Black-shouldered)
+Fiery-necked Nightjar (Fiery-necked)
+Montane Nightjar
+Montane Nightjar (Abyssinian)
+Montane Nightjar (Rwenzori)
+Indian Nightjar
+Madagascar Nightjar
+Swamp Nightjar
+Plain Nightjar
+Star-spotted Nightjar
+Nechisar Nightjar
+Savanna Nightjar
+Freckled Nightjar
+Bonaparte's Nightjar
+Salvadori's Nightjar
+Itombwe Nightjar
+Bates's Nightjar
+Long-tailed Nightjar
+Slender-tailed Nightjar
+Square-tailed Nightjar
+Caprimulgus sp.
+nightjar sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Caprimulgiformes/oilbird.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Caprimulgiformes/oilbird.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0c0659c66dbadf42e4e9af65a891e551351cc0b8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Caprimulgiformes/oilbird.txt
@@ -0,0 +1,2 @@
+# Originally sourced from Clements Checklist v2022
+Oilbird
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Caprimulgiformes/owlet-nightjars.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Caprimulgiformes/owlet-nightjars.txt
new file mode 100644
index 0000000000000000000000000000000000000000..dc4a9d5b8bc3a5089226886e1e4d89d312bc2436
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Caprimulgiformes/owlet-nightjars.txt
@@ -0,0 +1,14 @@
+# Originally sourced from Clements Checklist v2022
+New Caledonian Owlet-nightjar
+Feline Owlet-nightjar
+Starry Owlet-nightjar
+Wallace's Owlet-nightjar
+Mountain Owlet-nightjar
+Moluccan Owlet-nightjar
+Australian Owlet-nightjar
+Vogelkop Owlet-nightjar
+Barred Owlet-nightjar
+Barred Owlet-nightjar (Barred)
+Barred Owlet-nightjar (Diamond's)
+Barred Owlet-nightjar (Dwarf)
+owlet-nightjar sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Caprimulgiformes/potoos.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Caprimulgiformes/potoos.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1c20670de6ba7da196251463ed1fde10ccf7ba6d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Caprimulgiformes/potoos.txt
@@ -0,0 +1,11 @@
+# Originally sourced from Clements Checklist v2022
+Rufous Potoo
+Great Potoo
+Long-tailed Potoo
+Common Potoo
+Northern Potoo
+Northern Potoo (Middle American)
+Northern Potoo (Caribbean)
+Andean Potoo
+White-winged Potoo
+potoo sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Caprimulgiformes/swifts.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Caprimulgiformes/swifts.txt
new file mode 100644
index 0000000000000000000000000000000000000000..198dd05227f93a232506d4f1d49f5bf5d65f1b80
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Caprimulgiformes/swifts.txt
@@ -0,0 +1,162 @@
+# Originally sourced from Clements Checklist v2022
+Black Swift
+Black Swift (borealis)
+Black Swift (costaricensis)
+Black Swift (niger)
+White-chested Swift
+Rothschild's Swift
+Sooty Swift
+White-fronted Swift
+White-chinned Swift
+Spot-fronted Swift
+Great Dusky Swift
+Cypseloides sp.
+Chestnut-collared Swift
+Tepui Swift
+White-collared Swift
+White-naped Swift
+Biscutate Swift
+Streptoprocne sp.
+Philippine Spinetailed Swift
+Papuan Spinetailed Swift
+Madagascar Spinetail
+Sao Tome Spinetail
+White-rumped Needletail
+Mottled Spinetail
+Black Spinetail
+Silver-rumped Needletail
+Sabine's Spinetail
+Cassin's Spinetail
+Bat-like Spinetail
+Gray-rumped Swift
+Gray-rumped Swift (phaeopygos)
+Gray-rumped Swift (occidentalis)
+Gray-rumped Swift (Ash-rumped)
+Gray-rumped Swift (Gray-rumped)
+Band-rumped Swift
+Band-rumped Swift (aetherodroma)
+Band-rumped Swift (spinicaudus)
+Band-rumped Swift (aethalea)
+Costa Rican Swift
+Lesser Antillean Swift
+Pale-rumped Swift
+Chimney Swift
+Vaux's Swift
+Vaux's Swift (Vaux's)
+Vaux's Swift (Yucatan)
+Vaux's Swift (Richmond's)
+Vaux's Swift (aphanes)
+Chimney/Vaux's Swift
+Chapman's Swift
+Ashy-tailed Swift
+Sick's Swift
+Short-tailed Swift
+Short-tailed Swift (Short-tailed)
+Short-tailed Swift (Tumbes)
+Chaetura sp.
+White-throated Needletail
+Silver-backed Needletail
+Brown-backed Needletail
+Purple Needletail
+Hirundapus sp.
+Waterfall Swift
+Pygmy Swiftlet
+Bornean Swiftlet
+Christmas Island Swiftlet
+Cave Swiftlet
+Plume-toed Swiftlet
+Gray-rumped Swiftlet
+Ridgetop Swiftlet
+Gray-rumped/Ridgetop Swiftlet
+Tenggara Swiftlet
+Drab Swiftlet
+Glossy Swiftlet
+Drab/Glossy Swiftlet
+Satin Swiftlet
+white-bellied swiftlet sp.
+Seychelles Swiftlet
+Mascarene Swiftlet
+Indian Swiftlet
+Sulawesi Swiftlet
+Halmahera Swiftlet
+Seram Swiftlet
+Philippine Swiftlet
+Mountain Swiftlet
+White-rumped Swiftlet
+Australian Swiftlet
+Himalayan Swiftlet
+Himalayan Swiftlet (Himalayan)
+Himalayan Swiftlet (Indochinese)
+Volcano Swiftlet
+Whitehead's Swiftlet
+Bare-legged Swiftlet
+Mayr's Swiftlet
+Ameline Swiftlet
+Uniform Swiftlet
+Mossy-nest Swiftlet
+Palau Swiftlet
+Mariana Swiftlet
+Caroline Islands Swiftlet
+Atiu Swiftlet
+Polynesian Swiftlet
+Marquesan Swiftlet
+Black-nest Swiftlet
+White-nest Swiftlet
+Germain's Swiftlet
+White-nest/Germain's Swiftlet (Edible-nest Swiftlet)
+Three-toed Swiftlet
+dark swiftlet sp.
+swiftlet sp.
+Scarce Swift
+Alpine Swift
+Mottled Swift
+Alexander's Swift
+Common Swift
+Plain Swift
+Nyanza Swift
+Pallid Swift
+Common/Pallid Swift
+Plain/Pallid Swift
+African Swift
+African Swift (Bioko)
+African Swift (African)
+Common/African Swift
+Forbes-Watson's Swift
+Bradfield's Swift
+Malagasy Swift
+Pacific Swift
+Salim Ali's Swift
+Blyth's Swift
+Cook's Swift
+Pacific/Cook's Swift
+fork-tailed swift sp.
+Dark-rumped Swift
+Little Swift
+Little Swift (Little)
+Little Swift (Bannerman's)
+Little Swift (Indian)
+House Swift
+Little/House Swift
+Horus Swift
+Horus Swift (Horus)
+Horus Swift (Brown-rumped)
+White-rumped Swift
+Bates's Swift
+Apus sp.
+White-throated Swift
+White-tipped Swift
+Andean Swift
+White-tipped/Andean Swift
+Lesser Swallow-tailed Swift
+Great Swallow-tailed Swift
+Asian Palm Swift
+African Palm Swift
+Malagasy Palm Swift
+Malagasy Palm Swift (Comoro)
+Malagasy Palm Swift (Madagascar)
+Antillean Palm Swift
+Pygmy Palm Swift
+Fork-tailed Palm Swift
+large swift sp.
+small swift sp.
+swift sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Caprimulgiformes/treeswifts.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Caprimulgiformes/treeswifts.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5448d0050dfcf43c81e9c6bd175965721b54ca96
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Caprimulgiformes/treeswifts.txt
@@ -0,0 +1,6 @@
+# Originally sourced from Clements Checklist v2022
+Crested Treeswift
+Gray-rumped Treeswift
+Whiskered Treeswift
+Moustached Treeswift
+treeswift sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Cariamiformes/seriemas.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Cariamiformes/seriemas.txt
new file mode 100644
index 0000000000000000000000000000000000000000..61d0293290e5c66a523094bc3f3ac2edce7f585f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Cariamiformes/seriemas.txt
@@ -0,0 +1,3 @@
+# Originally sourced from Clements Checklist v2022
+Red-legged Seriema
+Black-legged Seriema
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Casuariiformes/cassowaries_and_emu.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Casuariiformes/cassowaries_and_emu.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a80f83131026383033a5c35b24f0aa103efaf56c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Casuariiformes/cassowaries_and_emu.txt
@@ -0,0 +1,5 @@
+# Originally sourced from Clements Checklist v2022
+Southern Cassowary
+Dwarf Cassowary
+Northern Cassowary
+Emu
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Cathartiformes/new_world_vultures.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Cathartiformes/new_world_vultures.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7f601f4483c7ab74a390591695757b45359bbec8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Cathartiformes/new_world_vultures.txt
@@ -0,0 +1,13 @@
+# Originally sourced from Clements Checklist v2022
+California Condor
+Andean Condor
+King Vulture
+Black Vulture
+Turkey Vulture
+Turkey Vulture (Northern)
+Turkey Vulture (Tropical)
+Turkey Vulture (South Temperate)
+Lesser Yellow-headed Vulture
+Greater Yellow-headed Vulture
+Cathartes sp.
+new world vulture sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/auks,_murres,_and_puffins.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/auks,_murres,_and_puffins.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ebb7a9e9753e74edd47a932bc5193c29b69a35f2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/auks,_murres,_and_puffins.txt
@@ -0,0 +1,41 @@
+# Originally sourced from Clements Checklist v2022
+Dovekie
+Common Murre
+Thick-billed Murre
+Common x Thick-billed Murre (hybrid)
+Common/Thick-billed Murre
+Razorbill
+large alcid sp.
+Great Auk
+Black Guillemot
+Black Guillemot (mandtii)
+Black Guillemot (grylle Group)
+Pigeon Guillemot
+Pigeon Guillemot (snowi)
+Pigeon Guillemot (columba Group)
+Black/Pigeon Guillemot
+Spectacled Guillemot
+Long-billed Murrelet
+Marbled Murrelet
+Kittlitz's Murrelet
+Scripps's Murrelet
+Guadalupe Murrelet
+Scripps's/Guadalupe Murrelet (Xantus's Murrelet)
+Craveri's Murrelet
+Scripps's/Craveri's Murrelet
+Scripps's/Guadalupe/Craveri's Murrelet
+Ancient Murrelet
+Japanese Murrelet
+murrelet sp.
+Cassin's Auklet
+Parakeet Auklet
+Least Auklet
+Whiskered Auklet
+Crested Auklet
+Rhinoceros Auklet
+auklet sp.
+Atlantic Puffin
+Horned Puffin
+Tufted Puffin
+puffin sp.
+alcid sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/buttonquail.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/buttonquail.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6d89f9636609d1ac997416dedc8c1f51397c5081
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/buttonquail.txt
@@ -0,0 +1,20 @@
+# Originally sourced from Clements Checklist v2022
+Small Buttonquail
+Red-backed Buttonquail
+Black-rumped Buttonquail
+Fynbos Buttonquail
+Yellow-legged Buttonquail
+Spotted Buttonquail
+Barred Buttonquail
+Madagascar Buttonquail
+Black-breasted Buttonquail
+Chestnut-backed Buttonquail
+Buff-breasted Buttonquail
+Painted Buttonquail
+New Caledonian Buttonquail
+Luzon Buttonquail
+Sumba Buttonquail
+Red-chested Buttonquail
+Little Buttonquail
+buttonquail sp.
+Quail-plover
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/crab-plover.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/crab-plover.txt
new file mode 100644
index 0000000000000000000000000000000000000000..df7c9fc1ed617434d3cc8e537bf2c819ae7888ca
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/crab-plover.txt
@@ -0,0 +1,2 @@
+# Originally sourced from Clements Checklist v2022
+Crab-Plover
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/egyptian_plover.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/egyptian_plover.txt
new file mode 100644
index 0000000000000000000000000000000000000000..18f8d431336a2daf595f3f2e41b362df428ebf04
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/egyptian_plover.txt
@@ -0,0 +1,2 @@
+# Originally sourced from Clements Checklist v2022
+Egyptian Plover
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/gulls,_terns,_and_skimmers.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/gulls,_terns,_and_skimmers.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2e2ea8998be91ba2f306d608e865755577ed0b4e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/gulls,_terns,_and_skimmers.txt
@@ -0,0 +1,234 @@
+# Originally sourced from Clements Checklist v2022
+Swallow-tailed Gull
+Black-legged Kittiwake
+Black-legged Kittiwake (tridactyla)
+Black-legged Kittiwake (pollicaris)
+Red-legged Kittiwake
+Black-legged/Red-legged Kittiwake
+Ivory Gull
+Sabine's Gull
+Saunders's Gull
+Slender-billed Gull
+Bonaparte's Gull
+Andean Gull
+Brown-hooded Gull
+Brown-hooded Gull (White-winged)
+Brown-hooded Gull (Dark-winged)
+Black-billed Gull
+Silver Gull
+Silver Gull (Silver)
+Silver Gull (Red-billed)
+Black-billed/Silver Gull
+Gray-hooded Gull
+Brown-hooded/Gray-hooded Gull
+Hartlaub's Gull
+Gray-hooded x Hartlaub's Gull (hybrid)
+Black-headed Gull
+Slender-billed/Black-headed Gull
+Slender-billed x Black-headed Gull (hybrid)
+Brown-headed Gull
+Slender-billed x Brown-headed Gull (hybrid)
+Black-headed/Brown-headed Gull
+Little Gull
+Ross's Gull
+Dolphin Gull
+Gray Gull
+Laughing Gull
+Gray-hooded x Laughing Gull (hybrid)
+Franklin's Gull
+Bonaparte's x Franklin's Gull (hybrid)
+Laughing/Franklin's Gull
+Lava Gull
+Mediterranean Gull
+Black-headed x Mediterranean Gull (hybrid)
+Black-headed/Mediterranean Gull
+Relict Gull
+White-eyed Gull
+Sooty Gull
+Pallas's Gull
+Audouin's Gull
+Belcher's Gull
+Olrog's Gull
+Black-tailed Gull
+Pacific Gull
+Heermann's Gull
+Common Gull
+Common Gull (European)
+Common Gull (Russian)
+Common Gull (Kamchatka)
+Black-headed x Common Gull (hybrid)
+Mediterranean x Common Gull (hybrid)
+Short-billed Gull
+Common/Short-billed Gull
+Ring-billed Gull
+Black-headed x Ring-billed Gull (hybrid)
+Laughing x Ring-billed Gull (hybrid)
+Franklin's x Ring-billed Gull (hybrid)
+Common x Ring-billed Gull (hybrid)
+Western Gull
+Yellow-footed Gull
+Western/Yellow-footed Gull
+California Gull
+California Gull (californicus)
+California Gull (albertaensis)
+Herring Gull
+Herring Gull (American)
+Herring Gull (Vega)
+Herring Gull (Mongolian)
+Herring Gull (European)
+Ring-billed x Herring Gull (hybrid)
+California x Herring Gull (hybrid)
+Yellow-legged Gull
+Yellow-legged Gull (atlantis)
+Yellow-legged Gull (michahellis)
+Herring/Yellow-legged Gull
+Caspian Gull
+Herring x Caspian Gull (hybrid)
+Yellow-legged x Caspian Gull (hybrid)
+Herring/Yellow-legged/Caspian Gull
+Yellow-legged/Caspian Gull
+Armenian Gull
+Yellow-legged/Caspian/Armenian Gull
+Iceland Gull
+Iceland Gull (Thayer's)
+Iceland Gull (kumlieni)
+Iceland Gull (thayeri/kumlieni)
+Iceland Gull (glaucoides)
+Iceland Gull (glaucoides/kumlieni)
+Iceland Gull (Thayer's x Iceland)
+Herring x Iceland Gull (hybrid)
+Herring/Iceland Gull
+Lesser Black-backed Gull
+Lesser Black-backed Gull (fuscus)
+Lesser Black-backed Gull (intermedius)
+Lesser Black-backed Gull (graellsii)
+Lesser Black-backed Gull (Heuglin's)
+Lesser Black-backed Gull (Steppe)
+Lesser Black-backed Gull (taimyrensis)
+Lesser Black-backed Gull (intermedius/graellsii)
+Ring-billed x Lesser Black-backed Gull (hybrid)
+Herring x Lesser Black-backed Gull (hybrid)
+Yellow-legged x Lesser Black-backed Gull (hybrid)
+Herring/Lesser Black-backed Gull
+Yellow-legged/Lesser Black-backed Gull
+Slaty-backed Gull
+Herring x Slaty-backed Gull (hybrid)
+Glaucous-winged Gull
+Western x Glaucous-winged Gull (hybrid)
+Herring x Glaucous-winged Gull (hybrid)
+Herring/Glaucous-winged Gull
+Slaty-backed x Glaucous-winged Gull (hybrid)
+Western/Glaucous-winged Gull
+Glaucous Gull
+Herring x Glaucous Gull (hybrid)
+Slaty-backed x Glaucous Gull (hybrid)
+Glaucous-winged x Glaucous Gull (hybrid)
+white-winged gull sp.
+Great Black-backed Gull
+Herring x Great Black-backed Gull (hybrid)
+Yellow-legged x Great Black-backed Gull (hybrid)
+Glaucous x Great Black-backed Gull (hybrid)
+Kelp Gull
+Kelp Gull (dominicanus)
+Kelp Gull (austrinus)
+Kelp Gull (judithae)
+Kelp Gull (vetula)
+Kelp Gull (melisandae)
+Herring x Kelp Gull (hybrid)
+Larus sp.
+gull sp.
+Brown Noddy
+Black Noddy
+Black Noddy (americanus)
+Black Noddy (melanogenys)
+Black Noddy (minutus Group)
+Brown/Black Noddy
+Lesser Noddy
+Black/Lesser Noddy
+Gray Noddy
+Blue-gray Noddy
+White Tern
+White Tern (Atlantic)
+White Tern (Pacific)
+White Tern (Little)
+Sooty Tern
+Gray-backed Tern
+Bridled Tern
+Sooty/Bridled Tern
+Aleutian Tern
+Little Tern
+Least Tern
+Little/Least Tern
+Yellow-billed Tern
+Australian Fairy Tern
+Little x Australian Fairy Tern (hybrid)
+Little/Australian Fairy Tern
+Peruvian Tern
+Saunders's Tern
+Little/Saunders's Tern
+Damara Tern
+Sternula sp.
+Large-billed Tern
+Gull-billed Tern
+Gull-billed Tern (Gull-billed)
+Gull-billed Tern (Australian)
+Caspian Tern
+Inca Tern
+Black Tern
+Black Tern (Eurasian)
+Black Tern (American)
+White-winged Tern
+Whiskered Tern
+Black-fronted Tern
+Chlidonias sp.
+Roseate Tern
+White-fronted Tern
+Black-naped Tern
+Common Tern
+Common Tern (hirundo/tibetana)
+Common Tern (hirundo/tibetana x longipennis)
+Common Tern (longipennis)
+Roseate x Common Tern (hybrid)
+Arctic Tern
+Common x Arctic Tern (hybrid)
+Common/Arctic Tern
+South American Tern
+Antarctic Tern
+Antarctic Tern (Antarctic)
+Antarctic Tern (South Georgia)
+Arctic/Antarctic Tern
+Forster's Tern
+Common/Forster's Tern
+Snowy-crowned Tern
+Black-bellied Tern
+River Tern
+Black-bellied/River Tern
+White-cheeked Tern
+Kerguelen Tern
+Sterna sp.
+Royal Tern
+Great Crested Tern
+Sandwich Tern
+Sandwich Tern (Eurasian)
+Sandwich Tern (Cabot's)
+Sandwich Tern (Cayenne)
+Sandwich Tern (Cabot's x Cayenne)
+Elegant Tern
+Sandwich x Elegant Tern (hybrid)
+Royal/Elegant Tern
+Lesser Crested Tern
+Great x Lesser Crested Tern (hybrid)
+West African Crested Tern
+Royal/West African Crested Tern
+Chinese Crested Tern
+Great x Chinese Crested Tern (hybrid)
+Thalasseus sp.
+large tern sp.
+tern sp.
+Black Skimmer
+Black Skimmer (niger)
+Black Skimmer (cinerascens)
+Black Skimmer (intercedens)
+African Skimmer
+Indian Skimmer
+gull/tern sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/ibisbill.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/ibisbill.txt
new file mode 100644
index 0000000000000000000000000000000000000000..690ef2dd3ecfd5cab3cf9816ebbb7f9b37bda727
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/ibisbill.txt
@@ -0,0 +1,2 @@
+# Originally sourced from Clements Checklist v2022
+Ibisbill
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/jacanas.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/jacanas.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6d176254b6d46311befe4df98b1ddc7f75d6b299
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/jacanas.txt
@@ -0,0 +1,14 @@
+# Originally sourced from Clements Checklist v2022
+Lesser Jacana
+African Jacana
+Madagascar Jacana
+Comb-crested Jacana
+Pheasant-tailed Jacana
+Bronze-winged Jacana
+Northern Jacana
+Wattled Jacana
+Wattled Jacana (Black-backed)
+Wattled Jacana (Chestnut-backed)
+Northern x Wattled Jacana (hybrid)
+Northern/Wattled Jacana
+jacana sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/magellanic_plover.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/magellanic_plover.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8b23c341ad2cf2de7e38bbf9ea340abb0339b43c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/magellanic_plover.txt
@@ -0,0 +1,2 @@
+# Originally sourced from Clements Checklist v2022
+Magellanic Plover
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/oystercatchers.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/oystercatchers.txt
new file mode 100644
index 0000000000000000000000000000000000000000..af8224e3c692d9787d2d13b90b6d10485f303b47
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/oystercatchers.txt
@@ -0,0 +1,19 @@
+# Originally sourced from Clements Checklist v2022
+Eurasian Oystercatcher
+Eurasian Oystercatcher (Western)
+Eurasian Oystercatcher (Far Eastern)
+Pied Oystercatcher
+South Island Oystercatcher
+Chatham Oystercatcher
+Variable Oystercatcher
+South Island x Variable Oystercatcher (hybrid)
+Sooty Oystercatcher
+American Oystercatcher
+African Oystercatcher
+Canarian Oystercatcher
+Blackish Oystercatcher
+Magellanic Oystercatcher
+Black Oystercatcher
+American x Black Oystercatcher (hybrid)
+American/Black Oystercatcher
+oystercatcher sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/painted-snipes.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/painted-snipes.txt
new file mode 100644
index 0000000000000000000000000000000000000000..936ab70a6942d3656a242470b2e99864e87a909b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/painted-snipes.txt
@@ -0,0 +1,4 @@
+# Originally sourced from Clements Checklist v2022
+Greater Painted-Snipe
+Australian Painted-Snipe
+South American Painted-Snipe
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/plains-wanderer.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/plains-wanderer.txt
new file mode 100644
index 0000000000000000000000000000000000000000..65d0e45206124bde83b548d5583b0b94e5ba5476
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/plains-wanderer.txt
@@ -0,0 +1,2 @@
+# Originally sourced from Clements Checklist v2022
+Plains-wanderer
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/plovers_and_lapwings.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/plovers_and_lapwings.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8a726dfea2f11a615ea63948c0e767185a17186b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/plovers_and_lapwings.txt
@@ -0,0 +1,98 @@
+# Originally sourced from Clements Checklist v2022
+Black-bellied Plover
+European Golden-Plover
+American Golden-Plover
+Pacific Golden-Plover
+American/Pacific Golden-Plover (Lesser Golden-Plover)
+golden-plover sp.
+Black-bellied Plover/golden-plover sp.
+Tawny-throated Dotterel
+Northern Lapwing
+Long-toed Lapwing
+Blacksmith Lapwing
+Spur-winged Lapwing
+River Lapwing
+Yellow-wattled Lapwing
+Black-headed Lapwing
+White-headed Lapwing
+Blacksmith x White-headed Lapwing (hybrid)
+Senegal Lapwing
+Black-winged Lapwing
+Crowned Lapwing
+Wattled Lapwing
+Spot-breasted Lapwing
+Brown-chested Lapwing
+Gray-headed Lapwing
+Red-wattled Lapwing
+Javan Lapwing
+Banded Lapwing
+Masked Lapwing
+Masked Lapwing (Masked)
+Masked Lapwing (Black-shouldered)
+Sociable Lapwing
+White-tailed Lapwing
+Pied Lapwing
+Southern Lapwing
+Southern Lapwing (cayennensis)
+Southern Lapwing (lampronotus)
+Southern Lapwing (chilensis/fretensis)
+Andean Lapwing
+lapwing sp.
+Red-breasted Dotterel
+Red-breasted Dotterel (Northern)
+Red-breasted Dotterel (Southern)
+Lesser Sand-Plover
+Lesser Sand-Plover (Tibetan)
+Lesser Sand-Plover (Siberian)
+Greater Sand-Plover
+Lesser/Greater Sand-Plover
+Caspian Plover
+Collared Plover
+Puna Plover
+Two-banded Plover
+Double-banded Plover
+Kittlitz's Plover
+Red-capped Plover
+Malaysian Plover
+Kentish Plover
+Kentish Plover (Kentish)
+Kentish Plover (Indian)
+White-faced Plover
+Kentish/White-faced Plover
+Snowy Plover
+Snowy Plover (nivosus)
+Snowy Plover (occidentalis)
+Kentish/Snowy Plover
+Javan Plover
+Wilson's Plover
+Common Ringed Plover
+Semipalmated Plover
+Common Ringed/Semipalmated Plover
+Long-billed Plover
+Piping Plover
+Madagascar Plover
+Little Ringed Plover
+Little Ringed Plover (curonicus)
+Little Ringed Plover (dubius/jerdoni)
+Common/Little Ringed Plover
+Three-banded Plover
+Three-banded Plover (African)
+Three-banded Plover (Madagascar)
+Forbes's Plover
+White-fronted Plover
+Chestnut-banded Plover
+Killdeer
+Mountain Plover
+Oriental Plover
+Eurasian Dotterel
+St. Helena Plover
+Rufous-chested Dotterel
+small plover sp.
+Red-kneed Dotterel
+Hooded Plover
+Shore Plover
+Black-fronted Dotterel
+Inland Dotterel
+Wrybill
+Diademed Sandpiper-Plover
+plover sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/pratincoles_and_coursers.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/pratincoles_and_coursers.txt
new file mode 100644
index 0000000000000000000000000000000000000000..070ff6b024413aebb943d281374c3e1be0f7b2e1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/pratincoles_and_coursers.txt
@@ -0,0 +1,24 @@
+# Originally sourced from Clements Checklist v2022
+Cream-colored Courser
+Somali Courser
+Burchell's Courser
+Temminck's Courser
+Indian Courser
+Double-banded Courser
+Three-banded Courser
+Bronze-winged Courser
+Jerdon's Courser
+courser sp.
+Australian Pratincole
+Collared Pratincole
+Oriental Pratincole
+Collared/Oriental Pratincole
+Black-winged Pratincole
+Collared/Black-winged Pratincole
+Madagascar Pratincole
+Rock Pratincole
+Rock Pratincole (Rufous-naped)
+Rock Pratincole (White-naped)
+Gray Pratincole
+Small Pratincole
+pratincole sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/sandpipers_and_allies.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/sandpipers_and_allies.txt
new file mode 100644
index 0000000000000000000000000000000000000000..fb3be292c4ea6d2bcfc299eb863432a255b1d184
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/sandpipers_and_allies.txt
@@ -0,0 +1,168 @@
+# Originally sourced from Clements Checklist v2022
+Upland Sandpiper
+Bristle-thighed Curlew
+Whimbrel
+Whimbrel (Hudsonian)
+Whimbrel (White-rumped)
+Whimbrel (European)
+Whimbrel (Steppe)
+Whimbrel (Siberian)
+Little Curlew
+Eskimo Curlew
+Long-billed Curlew
+Far Eastern Curlew
+Slender-billed Curlew
+Eurasian Curlew
+Whimbrel/Eurasian Curlew
+Far Eastern/Eurasian Curlew
+curlew sp.
+Bar-tailed Godwit
+Bar-tailed Godwit (European)
+Bar-tailed Godwit (Siberian)
+Black-tailed Godwit
+Black-tailed Godwit (islandica)
+Black-tailed Godwit (limosa)
+Black-tailed Godwit (melanuroides)
+Black-tailed Godwit (bohaii)
+Bar-tailed/Black-tailed Godwit
+Hudsonian Godwit
+Bar-tailed x Hudsonian Godwit (hybrid)
+Black-tailed x Hudsonian Godwit (hybrid)
+Marbled Godwit
+Hudsonian/Marbled Godwit
+godwit sp.
+Ruddy Turnstone
+Black Turnstone
+Kiritimati Sandpiper
+White-winged Sandpiper
+Moorea Sandpiper
+Tuamotu Sandpiper
+Great Knot
+Red Knot
+Great/Red Knot
+Surfbird
+Great Knot x Surfbird (hybrid)
+Red Knot x Surfbird (hybrid)
+Ruff
+Broad-billed Sandpiper
+Sharp-tailed Sandpiper
+Stilt Sandpiper
+Curlew Sandpiper
+Temminck's Stint
+Long-toed Stint
+Spoon-billed Sandpiper
+Red-necked Stint
+Sanderling
+Dunlin
+Dunlin (pacifica/arcticola)
+Dunlin (hudsonia)
+Dunlin (arctica)
+Dunlin (schinzii)
+Dunlin (alpina)
+Dunlin (sakhalina Group)
+Curlew Sandpiper/Dunlin
+Rock Sandpiper
+Rock Sandpiper (ptilocnemis)
+Rock Sandpiper (quarta/tschuktschorum/couesi)
+Rock Sandpiper (quarta)
+Rock Sandpiper (tschuktschorum)
+Rock Sandpiper (couesi)
+Purple Sandpiper
+Dunlin x Purple Sandpiper (hybrid)
+Rock/Purple Sandpiper
+Baird's Sandpiper
+Little Stint
+Red-necked/Little Stint
+Least Sandpiper
+White-rumped Sandpiper
+Dunlin x White-rumped Sandpiper (hybrid)
+Buff-breasted Sandpiper
+White-rumped x Buff-breasted Sandpiper (hybrid)
+Pectoral Sandpiper
+Sharp-tailed/Pectoral Sandpiper
+Curlew x Pectoral Sandpiper (hybrid)
+Semipalmated Sandpiper
+White-rumped x Semipalmated Sandpiper (hybrid)
+Western Sandpiper
+Semipalmated/Western Sandpiper
+peep sp.
+Calidris sp.
+Asian Dowitcher
+Short-billed Dowitcher
+Short-billed Dowitcher (griseus)
+Short-billed Dowitcher (hendersoni)
+Short-billed Dowitcher (caurinus)
+Long-billed Dowitcher
+Short-billed/Long-billed Dowitcher
+Jack Snipe
+Eurasian Woodcock
+Amami Woodcock
+Bukidnon Woodcock
+Javan Woodcock
+New Guinea Woodcock
+Sulawesi Woodcock
+Moluccan Woodcock
+American Woodcock
+North Island Snipe
+South Island Snipe
+Chatham Islands Snipe
+Snares Island Snipe
+Subantarctic Snipe
+Imperial Snipe
+Jameson's Snipe
+Fuegian Snipe
+Solitary Snipe
+Latham's Snipe
+Wood Snipe
+Great Snipe
+Common Snipe
+Great x Common Snipe (hybrid)
+Wilson's Snipe
+Common/Wilson's Snipe
+Pantanal Snipe
+Wilson's/Pantanal Snipe
+Magellanic Snipe
+Pantanal/Magellanic Snipe
+Puna Snipe
+Noble Snipe
+Pin-tailed Snipe
+Common/Pin-tailed Snipe
+Swinhoe's Snipe
+Pin-tailed/Swinhoe's Snipe
+African Snipe
+Madagascar Snipe
+Giant Snipe
+snipe sp.
+Terek Sandpiper
+Wilson's Phalarope
+Red-necked Phalarope
+Red Phalarope
+Red-necked/Red Phalarope
+phalarope sp.
+Common Sandpiper
+Spotted Sandpiper
+Common/Spotted Sandpiper
+Green Sandpiper
+Solitary Sandpiper
+Solitary Sandpiper (solitaria)
+Solitary Sandpiper (cinnamomea)
+Gray-tailed Tattler
+Wandering Tattler
+Gray-tailed/Wandering Tattler
+Spotted Redshank
+Greater Yellowlegs
+Common Greenshank
+Nordmann's Greenshank
+Common/Nordmann's Greenshank
+Willet
+Willet (Eastern)
+Willet (Western)
+Lesser Yellowlegs
+Greater/Lesser Yellowlegs
+Marsh Sandpiper
+Wood Sandpiper
+Common Redshank
+Spotted/Common Redshank
+Tringa sp.
+Scolopacidae sp.
+large shorebird sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/seedsnipes.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/seedsnipes.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1388659af1918d66f077dfcc55cdb88a7329ec9d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/seedsnipes.txt
@@ -0,0 +1,5 @@
+# Originally sourced from Clements Checklist v2022
+Rufous-bellied Seedsnipe
+White-bellied Seedsnipe
+Gray-breasted Seedsnipe
+Least Seedsnipe
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/sheathbills.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/sheathbills.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d0e34cbf88d8d7d68c6b788047ee94e91f2a877c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/sheathbills.txt
@@ -0,0 +1,3 @@
+# Originally sourced from Clements Checklist v2022
+Snowy Sheathbill
+Black-faced Sheathbill
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/skuas_and_jaegers.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/skuas_and_jaegers.txt
new file mode 100644
index 0000000000000000000000000000000000000000..244ab5519bbbd2a7a993e7ca6c4f2bb7846d4fa7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/skuas_and_jaegers.txt
@@ -0,0 +1,17 @@
+# Originally sourced from Clements Checklist v2022
+Great Skua
+Chilean Skua
+South Polar Skua
+Brown Skua
+Brown Skua (Subantarctic)
+Brown Skua (Falkland)
+Brown Skua (Tristan)
+skua sp.
+Pomarine Jaeger
+Parasitic Jaeger
+Pomarine/Parasitic Jaeger
+Long-tailed Jaeger
+Pomarine/Long-tailed Jaeger
+Parasitic/Long-tailed Jaeger
+jaeger sp.
+jaeger/skua sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/stilts_and_avocets.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/stilts_and_avocets.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3cdacbf35733a20130931dada982b9263d2b3335
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/stilts_and_avocets.txt
@@ -0,0 +1,21 @@
+# Originally sourced from Clements Checklist v2022
+Black-winged Stilt
+Pied Stilt
+Black-winged x Pied Stilt (hybrid)
+Black-winged/Pied Stilt
+Black Stilt
+Pied x Black Stilt (hybrid)
+Pied/Black Stilt
+Black-necked Stilt
+Black-necked Stilt (Black-necked)
+Black-necked Stilt (Hawaiian)
+Black-necked Stilt (White-backed)
+Black-necked Stilt (Black-necked x White-backed)
+Black-winged x Black-necked Stilt (hybrid)
+Banded Stilt
+Pied Avocet
+Red-necked Avocet
+Andean Avocet
+American Avocet
+Black-necked Stilt x American Avocet (hybrid)
+stilt/avocet sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/thick-knees.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/thick-knees.txt
new file mode 100644
index 0000000000000000000000000000000000000000..04fb2c88840efb5b431e91f77d2a3ff6cb5c1ef7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Charadriiformes/thick-knees.txt
@@ -0,0 +1,12 @@
+# Originally sourced from Clements Checklist v2022
+Water Thick-knee
+Eurasian Thick-knee
+Indian Thick-knee
+Senegal Thick-knee
+Spotted Thick-knee
+Double-striped Thick-knee
+Peruvian Thick-knee
+Bush Thick-knee
+Burhinus sp.
+Great Thick-knee
+Beach Thick-knee
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Ciconiiformes/storks.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Ciconiiformes/storks.txt
new file mode 100644
index 0000000000000000000000000000000000000000..756e5dc7676afce655bd029568e62380cdd0d60b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Ciconiiformes/storks.txt
@@ -0,0 +1,26 @@
+# Originally sourced from Clements Checklist v2022
+Asian Openbill
+African Openbill
+Black Stork
+Abdim's Stork
+African Woolly-necked Stork
+Asian Woolly-necked Stork
+Storm's Stork
+Maguari Stork
+White Stork
+Oriental Stork
+Ciconia sp.
+Black-necked Stork
+Saddle-billed Stork
+Jabiru
+Lesser Adjutant
+Marabou Stork
+Greater Adjutant
+Lesser/Greater Adjutant
+Wood Stork
+Milky Stork
+Yellow-billed Stork
+Painted Stork
+Milky x Painted Stork (hybrid)
+Milky/Painted Stork
+stork sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Coliiformes/mousebirds.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Coliiformes/mousebirds.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1873e9449d044ace0db928132d3de26032aa3ecf
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Coliiformes/mousebirds.txt
@@ -0,0 +1,8 @@
+# Originally sourced from Clements Checklist v2022
+Speckled Mousebird
+White-headed Mousebird
+Red-backed Mousebird
+White-backed Mousebird
+Blue-naped Mousebird
+Red-faced Mousebird
+mousebird sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Columbiformes/pigeons_and_doves.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Columbiformes/pigeons_and_doves.txt
new file mode 100644
index 0000000000000000000000000000000000000000..24648515dc5933ea4a81118bffa59e381a66eb95
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Columbiformes/pigeons_and_doves.txt
@@ -0,0 +1,466 @@
+# Originally sourced from Clements Checklist v2022
+Rock Pigeon
+Rock Pigeon (Wild type)
+Rock Pigeon (Feral Pigeon)
+Hill Pigeon
+Rock/Hill Pigeon
+Snow Pigeon
+Speckled Pigeon
+White-collared Pigeon
+Stock Dove
+Yellow-eyed Pigeon
+Somali Pigeon
+Common Wood-Pigeon
+Common Wood-Pigeon (White-necked)
+Common Wood-Pigeon (Cinnamon-necked)
+Trocaz Pigeon
+Bolle's Pigeon
+Afep Pigeon
+Laurel Pigeon
+Rameron Pigeon
+Cameroon Pigeon
+Maroon Pigeon
+Delegorgue's Pigeon
+Bronze-naped Pigeon
+Sao Tome Pigeon
+Mauritius Wood-Pigeon
+Comoro Pigeon
+Speckled Wood-Pigeon
+White-naped Pigeon
+Ashy Wood-Pigeon
+Nilgiri Wood-Pigeon
+Sri Lanka Wood-Pigeon
+Pale-capped Pigeon
+Silvery Wood-Pigeon
+Andaman Wood-Pigeon
+Japanese Wood-Pigeon
+Ryukyu Pigeon
+Bonin Pigeon
+Metallic Pigeon
+Metallic Pigeon (Metallic)
+Metallic Pigeon (Samoan)
+White-headed Pigeon
+Yellow-legged Pigeon
+Columba sp.
+Lemon Dove
+Lemon Dove (Western)
+Lemon Dove (Principe)
+Lemon Dove (Sao Tome)
+Lemon Dove (Lemon)
+Pale-vented Pigeon
+Scaled Pigeon
+Scaly-naped Pigeon
+Picazuro Pigeon
+Bare-eyed Pigeon
+Spot-winged Pigeon
+Spot-winged Pigeon (albipennis)
+Spot-winged Pigeon (maculosa)
+White-crowned Pigeon
+Red-billed Pigeon
+Plain Pigeon
+Band-tailed Pigeon
+Band-tailed Pigeon (Northern)
+Band-tailed Pigeon (Viosca's)
+Band-tailed Pigeon (White-necked)
+Rock/Band-tailed Pigeon
+Chilean Pigeon
+Ring-tailed Pigeon
+Peruvian Pigeon
+Plumbeous Pigeon
+Ruddy Pigeon
+Ruddy Pigeon (Berlepsch's)
+Ruddy Pigeon (Ruddy)
+Plumbeous/Ruddy Pigeon
+Short-billed Pigeon
+Ruddy/Short-billed Pigeon
+Dusky Pigeon
+Patagioenas sp.
+Passenger Pigeon
+Malagasy Turtle-Dove
+Pink Pigeon
+Mauritius Turtle-Dove
+Rodrigues Turtle-Dove
+European Turtle-Dove
+Dusky Turtle-Dove
+Adamawa Turtle-Dove
+Oriental Turtle-Dove
+Sunda Collared-Dove
+Philippine Collared-Dove
+Eurasian Collared-Dove
+Burmese Collared-Dove
+Eurasian/Burmese Collared-Dove
+European Turtle-Dove x Eurasian Collared-Dove (hybrid)
+African Collared-Dove
+African Collared-Dove (Domestic type or Ringed Turtle-Dove)
+Eurasian x African Collared-Dove (hybrid)
+Eurasian/African Collared-Dove
+White-winged Collared-Dove
+Mourning Collared-Dove
+Red-eyed Dove
+Ring-necked Dove
+Vinaceous Dove
+Red Collared-Dove
+Eurasian/Red Collared-Dove
+Streptopelia sp.
+Spotted Dove
+Spotted Dove (Western)
+Spotted Dove (Eastern)
+Laughing Dove
+Barred Cuckoo-Dove
+Brown Cuckoo-Dove
+Flores Sea Cuckoo-Dove
+Timor Cuckoo-Dove
+Tanimbar Cuckoo-Dove
+Amboyna Cuckoo-Dove
+Sultan's Cuckoo-Dove
+Sultan's Cuckoo-Dove (Sulawesi)
+Sultan's Cuckoo-Dove (Sultan's)
+Amboyna/Sultan's Cuckoo-Dove
+Andaman Cuckoo-Dove
+Philippine Cuckoo-Dove
+Palawan Cuckoo-Dove (undescribed form)
+Ruddy Cuckoo-Dove
+Enggano Cuckoo-Dove
+Barusan Cuckoo-Dove
+Black-billed Cuckoo-Dove
+Mackinlay's Cuckoo-Dove
+Little Cuckoo-Dove
+Macropygia sp.
+Great Cuckoo-Dove
+Pied Cuckoo-Dove
+Crested Cuckoo-Dove
+White-faced Cuckoo-Dove
+Sula Cuckoo-Dove
+Slaty Cuckoo-Dove
+Emerald-spotted Wood-Dove
+Black-billed Wood-Dove
+Blue-spotted Wood-Dove
+Tambourine Dove
+Blue-headed Wood-Dove
+Turtur sp.
+Namaqua Dove
+Asian Emerald Dove
+Pacific Emerald Dove
+Asian x Pacific Emerald Dove (hybrid)
+Asian/Pacific Emerald Dove
+Stephan's Dove
+New Guinea Bronzewing
+New Britain Bronzewing
+Wetar Ground Dove
+Shy Ground Dove
+Santa Cruz Ground Dove
+Thick-billed Ground Dove
+Tanna Ground Dove
+Bronze Ground Dove
+Bronze Ground Dove (Western)
+Bronze Ground Dove (Eastern)
+Palau Ground Dove
+White-bibbed Ground Dove
+Marquesas Ground Dove
+Caroline Islands Ground Dove
+Polynesian Ground Dove
+White-throated Ground Dove
+Norfolk Ground Dove
+Common Bronzewing
+Brush Bronzewing
+Flock Bronzewing
+Crested Pigeon
+Spinifex Pigeon
+Spinifex Pigeon (Rufous-bellied)
+Spinifex Pigeon (White-bellied)
+Squatter Pigeon
+Partridge Pigeon
+Chestnut-quilled Rock-Pigeon
+White-quilled Rock-Pigeon
+Wonga Pigeon
+Diamond Dove
+Zebra Dove
+Peaceful Dove
+Barred Dove
+Bar-shouldered Dove
+Inca Dove
+Common Ground Dove
+Plain-breasted Ground Dove
+Ruddy Ground Dove
+Common/Ruddy Ground Dove
+Ecuadorian Ground Dove
+Scaled Dove
+Picui Ground Dove
+Croaking Ground Dove
+Blue-eyed Ground Dove
+ground dove/Inca Dove
+Blue Ground Dove
+Maroon-chested Ground Dove
+Purple-winged Ground Dove
+Bare-faced Ground Dove
+Bare-eyed Ground Dove
+Black-winged Ground Dove
+Golden-spotted Ground Dove
+Long-tailed Ground Dove
+Blue-headed Quail-Dove
+Purple Quail-Dove
+Sapphire Quail-Dove
+Crested Quail-Dove
+Ruddy Quail-Dove
+Ruddy Quail-Dove (Ruddy)
+Ruddy Quail-Dove (Martinique)
+Violaceous Quail-Dove
+Gray-fronted Quail-Dove
+White-fronted Quail-Dove
+Key West Quail-Dove
+Bridled Quail-Dove
+Olive-backed Quail-Dove
+White-tipped Dove
+White-tipped Dove (White-tipped)
+White-tipped Dove (decolor)
+White-tipped Dove (brasiliensis Group)
+Caribbean Dove
+Gray-chested Dove
+Gray-chested Dove (cerviniventris)
+Gray-chested Dove (rufinucha)
+Gray-chested Dove (cassinii)
+Tolima Dove
+Ochre-bellied Dove
+Gray-headed Dove
+Gray-headed Dove (Gray-headed)
+Gray-headed Dove (Brown-backed)
+Gray-fronted Dove
+Grenada Dove
+Pallid Dove
+Large-tailed Dove
+Leptotila sp.
+Tuxtla Quail-Dove
+Buff-fronted Quail-Dove
+Purplish-backed Quail-Dove
+White-faced Quail-Dove
+White-throated Quail-Dove
+Lined Quail-Dove
+Lined Quail-Dove (linearis)
+Lined Quail-Dove (trinitatis)
+Chiriqui Quail-Dove
+Russet-crowned Quail-Dove
+quail-dove sp.
+West Peruvian Dove
+White-winged Dove
+Zenaida Dove
+Galapagos Dove
+Eared Dove
+Mourning Dove
+Eurasian Collared-Dove x Mourning Dove (hybrid)
+Mourning/Zenaida Dove
+Socorro Dove
+Nicobar Pigeon
+Spotted Green Pigeon
+Dodo
+Rodrigues Solitaire
+Sulawesi Ground Dove
+Cinnamon Ground Dove
+Mindoro Bleeding-heart
+Negros Bleeding-heart
+Sulu Bleeding-heart
+Luzon Bleeding-heart
+Mindanao Bleeding-heart
+Choiseul Pigeon
+Thick-billed Ground-Pigeon
+Pheasant Pigeon
+Pheasant Pigeon (Green-naped)
+Pheasant Pigeon (White-naped)
+Pheasant Pigeon (Gray-naped)
+Pheasant Pigeon (Black-naped)
+Western Crowned-Pigeon
+Sclater's Crowned-Pigeon
+Scheepmaker's Crowned-Pigeon
+Victoria Crowned-Pigeon
+crowned-pigeon sp.
+Tooth-billed Pigeon
+White-eared Brown-Dove
+White-eared Brown-Dove (White-eared)
+White-eared Brown-Dove (Buff-eared)
+White-eared Brown-Dove (Short-billed)
+Amethyst Brown-Dove
+Amethyst Brown-Dove (Amethyst)
+Amethyst Brown-Dove (Gray-breasted)
+Amethyst Brown-Dove (Cebu)
+Mindanao Brown-Dove
+Tawitawi Brown-Dove
+brown-dove sp.
+Little Green-Pigeon
+Pink-necked Green-Pigeon
+Cinnamon-headed Green-Pigeon
+Orange-breasted Green-Pigeon
+Sri Lanka Green-Pigeon
+Gray-fronted Green-Pigeon
+Andaman Green-Pigeon
+Ashy-headed Green-Pigeon
+Philippine Green-Pigeon
+Buru Green-Pigeon
+Thick-billed Green-Pigeon
+Thick-billed Green-Pigeon (Thick-billed)
+Thick-billed Green-Pigeon (Barusan)
+Gray-cheeked Green-Pigeon
+Sumba Green-Pigeon
+Flores Green-Pigeon
+Timor Green-Pigeon
+Large Green-Pigeon
+Yellow-footed Green-Pigeon
+Bruce's Green-Pigeon
+Comoros Green-Pigeon
+Madagascar Green-Pigeon
+Pemba Green-Pigeon
+Sao Tome Green-Pigeon
+Yellow-vented Green-Pigeon
+Pin-tailed Green-Pigeon
+African Green-Pigeon
+African Green-Pigeon (African)
+African Green-Pigeon (Gray-breasted)
+Sumatran Green-Pigeon
+Wedge-tailed Green-Pigeon
+White-bellied Green-Pigeon
+Whistling Green-Pigeon
+Whistling Green-Pigeon (Ryukyu)
+Whistling Green-Pigeon (Taiwan)
+green-pigeon sp.
+Black-backed Fruit-Dove
+Black-banded Fruit-Dove
+Red-naped Fruit-Dove
+Pink-headed Fruit-Dove
+Yellow-breasted Fruit-Dove
+Flame-breasted Fruit-Dove
+Cream-breasted Fruit-Dove
+Red-eared Fruit-Dove
+Red-eared Fruit-Dove (Red-eared)
+Red-eared Fruit-Dove (Lompobattang)
+Jambu Fruit-Dove
+Maroon-chinned Fruit-Dove
+Banggai Fruit-Dove
+Sula Fruit-Dove
+Black-chinned Fruit-Dove
+Scarlet-breasted Fruit-Dove
+Wompoo Fruit-Dove
+Pink-spotted Fruit-Dove
+Ornate Fruit-Dove
+Ornate Fruit-Dove (Western)
+Ornate Fruit-Dove (Eastern)
+Tanna Fruit-Dove
+Orange-fronted Fruit-Dove
+Wallace's Fruit-Dove
+Superb Fruit-Dove
+Superb Fruit-Dove (Western)
+Superb Fruit-Dove (Eastern)
+Many-colored Fruit-Dove
+Purple-capped Fruit-Dove
+Kosrae Fruit-Dove
+Crimson-crowned Fruit-Dove
+Crimson-crowned Fruit-Dove (Tongan)
+Crimson-crowned Fruit-Dove (Samoan)
+Palau Fruit-Dove
+Cook Islands Fruit-Dove
+Mariana Fruit-Dove
+Rose-crowned Fruit-Dove
+Silver-capped Fruit-Dove
+Raiatea Fruit-Dove
+Gray-green Fruit-Dove
+Makatea Fruit-Dove
+Atoll Fruit-Dove
+Red-bellied Fruit-Dove
+Rapa Fruit-Dove
+White-capped Fruit-Dove
+Red-moustached Fruit-Dove
+Henderson Island Fruit-Dove
+Coroneted Fruit-Dove
+Beautiful Fruit-Dove
+Blue-capped Fruit-Dove
+White-breasted Fruit-Dove
+White-breasted Fruit-Dove (Moluccan)
+White-breasted Fruit-Dove (Mountain)
+White-breasted Fruit-Dove (White-bibbed)
+Geelvink Fruit-Dove
+Yellow-bibbed Fruit-Dove
+Claret-breasted Fruit-Dove
+White-headed Fruit-Dove
+Orange-bellied Fruit-Dove
+Knob-billed Fruit-Dove
+Gray-headed Fruit-Dove
+Carunculated Fruit-Dove
+Black-naped Fruit-Dove
+Dwarf Fruit-Dove
+Negros Fruit-Dove
+Orange Dove
+Golden Dove
+Velvet Dove
+Manui Fruit-Dove (undescribed form)
+fruit-dove sp.
+Cloven-feathered Dove
+Mauritius Blue-Pigeon
+Rodrigues Blue-Pigeon
+Madagascar Blue-Pigeon
+Comoro Blue-Pigeon
+Seychelles Blue-Pigeon
+Pink-bellied Imperial-Pigeon
+White-bellied Imperial-Pigeon
+Mindoro Imperial-Pigeon
+Gray-headed Imperial-Pigeon
+Spotted Imperial-Pigeon
+Green Imperial-Pigeon
+Green Imperial-Pigeon (Green)
+Green Imperial-Pigeon (Maroon-naped)
+Green Imperial-Pigeon (Rufous-naped)
+Enggano Imperial-Pigeon
+Nicobar Imperial-Pigeon
+Spectacled Imperial-Pigeon
+Seram Imperial-Pigeon
+Elegant Imperial-Pigeon
+Pacific Imperial-Pigeon
+Red-knobbed Imperial-Pigeon
+Red-knobbed Imperial-Pigeon (Pink-necked)
+Red-knobbed Imperial-Pigeon (Gray-necked)
+Micronesian Imperial-Pigeon
+Polynesian Imperial-Pigeon
+Marquesas Imperial-Pigeon
+Spice Imperial-Pigeon
+Geelvink Imperial-Pigeon
+Purple-tailed Imperial-Pigeon
+Cinnamon-bellied Imperial-Pigeon
+Cinnamon-bellied Imperial-Pigeon (Gray-naped)
+Cinnamon-bellied Imperial-Pigeon (Golden-naped)
+Finsch's Imperial-Pigeon
+Rufescent Imperial-Pigeon
+Rufescent Imperial-Pigeon (Purple-rumped)
+Rufescent Imperial-Pigeon (Green-rumped)
+Island Imperial-Pigeon
+Pink-headed Imperial-Pigeon
+Christmas Island Imperial-Pigeon
+Gray Imperial-Pigeon
+Peale's Imperial-Pigeon
+Chestnut-bellied Imperial-Pigeon
+Baker's Imperial-Pigeon
+New Caledonian Imperial-Pigeon
+Pinon's Imperial-Pigeon
+Pinon's Imperial-Pigeon (Gray-headed)
+Pinon's Imperial-Pigeon (Pink-headed)
+Bismarck Imperial-Pigeon
+Collared Imperial-Pigeon
+Zoe's Imperial-Pigeon
+Malabar Imperial-Pigeon
+Mountain Imperial-Pigeon
+Dark-backed Imperial-Pigeon
+Dark-backed Imperial-Pigeon (Gray-headed)
+Dark-backed Imperial-Pigeon (Pink-headed)
+Dark-backed Imperial-Pigeon (Gray-crowned)
+Timor Imperial-Pigeon
+Pied Imperial-Pigeon
+Yellowish Imperial-Pigeon
+Torresian Imperial-Pigeon
+Silver-tipped Imperial-Pigeon
+imperial-pigeon sp.
+Topknot Pigeon
+New Zealand Pigeon
+New Zealand Pigeon (Norfolk)
+New Zealand Pigeon (New Zealand)
+Chatham Island Pigeon
+Sombre Pigeon
+Papuan Mountain-Pigeon
+Buru Mountain-Pigeon
+Seram Mountain-Pigeon
+Pale Mountain-Pigeon
+pigeon/dove sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Coraciiformes/bee-eaters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Coraciiformes/bee-eaters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..50fa699ba12830a6f21bd66a6738d7603031b149
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Coraciiformes/bee-eaters.txt
@@ -0,0 +1,35 @@
+# Originally sourced from Clements Checklist v2022
+Red-bearded Bee-eater
+Blue-bearded Bee-eater
+Purple-bearded Bee-eater
+Black Bee-eater
+Blue-moustached Bee-eater
+Blue-headed Bee-eater
+Red-throated Bee-eater
+White-fronted Bee-eater
+Little Bee-eater
+Blue-breasted Bee-eater
+Ethiopian Bee-eater
+Cinnamon-chested Bee-eater
+Swallow-tailed Bee-eater
+Black-headed Bee-eater
+Somali Bee-eater
+White-throated Bee-eater
+African Green Bee-eater
+Arabian Green Bee-eater
+Asian Green Bee-eater
+Arabian/Asian Green Bee-eater
+Böhm's Bee-eater
+Blue-throated Bee-eater
+Rufous-crowned Bee-eater
+Blue-cheeked Bee-eater
+Madagascar Bee-eater
+Blue-tailed Bee-eater
+Blue-cheeked/Blue-tailed Bee-eater
+Rainbow Bee-eater
+European Bee-eater
+Chestnut-headed Bee-eater
+Rosy Bee-eater
+Northern Carmine Bee-eater
+Southern Carmine Bee-eater
+bee-eater sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Coraciiformes/ground-rollers.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Coraciiformes/ground-rollers.txt
new file mode 100644
index 0000000000000000000000000000000000000000..46769213d3f4a4199754e2e61dd93c9ebd9c8066
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Coraciiformes/ground-rollers.txt
@@ -0,0 +1,6 @@
+# Originally sourced from Clements Checklist v2022
+Scaly Ground-Roller
+Short-legged Ground-Roller
+Long-tailed Ground-Roller
+Pitta-like Ground-Roller
+Rufous-headed Ground-Roller
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Coraciiformes/kingfishers.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Coraciiformes/kingfishers.txt
new file mode 100644
index 0000000000000000000000000000000000000000..426e70a5c07ad07c001e84430da59f1bc9639d37
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Coraciiformes/kingfishers.txt
@@ -0,0 +1,177 @@
+# Originally sourced from Clements Checklist v2022
+Blyth's Kingfisher
+Common Kingfisher
+Common Kingfisher (Common)
+Common Kingfisher (Cobalt-eared)
+Half-collared Kingfisher
+Shining-blue Kingfisher
+Blue-eared Kingfisher
+Common/Blue-eared Kingfisher
+Malaysian Blue-banded Kingfisher
+Javan Blue-banded Kingfisher
+Small Blue Kingfisher
+Azure Kingfisher
+Bismarck Kingfisher
+Indigo-banded Kingfisher
+Indigo-banded Kingfisher (Northern)
+Indigo-banded Kingfisher (Southern)
+Northern Silvery-Kingfisher
+Southern Silvery-Kingfisher
+Little Kingfisher
+Black-backed Dwarf-Kingfisher
+Rufous-backed Dwarf-Kingfisher
+Black-backed/Rufous-backed Dwarf-Kingfisher
+Philippine Dwarf-Kingfisher
+Philippine Dwarf-Kingfisher (Luzon)
+Philippine Dwarf-Kingfisher (Samar)
+Philippine Dwarf-Kingfisher (Mindanao)
+Sangihe Dwarf-Kingfisher
+Sulawesi Dwarf-Kingfisher
+Dimorphic Dwarf-Kingfisher
+Sula Dwarf-Kingfisher
+Moluccan Dwarf-Kingfisher
+Moluccan Dwarf-Kingfisher (North Moluccan)
+Moluccan Dwarf-Kingfisher (Seram)
+Buru Dwarf-Kingfisher
+Papuan Dwarf-Kingfisher
+Manus Dwarf-Kingfisher
+New Ireland Dwarf-Kingfisher
+New Britain Dwarf-Kingfisher
+New Georgia Dwarf-Kingfisher
+North Solomons Dwarf-Kingfisher
+North Solomons Dwarf-Kingfisher (Bougainville)
+North Solomons Dwarf-Kingfisher (North Solomons)
+Guadalcanal Dwarf-Kingfisher
+Guadalcanal Dwarf-Kingfisher (Malaita)
+Guadalcanal Dwarf-Kingfisher (Guadalcanal)
+Makira Dwarf-Kingfisher
+Malachite Kingfisher
+Malachite Kingfisher (Mainland)
+Malachite Kingfisher (Sao Tome)
+Malachite Kingfisher (Principe)
+Malagasy Kingfisher
+White-bellied Kingfisher
+Madagascar Pygmy Kingfisher
+African Pygmy Kingfisher
+African Dwarf Kingfisher
+Banded Kingfisher
+Banded Kingfisher (Banded)
+Banded Kingfisher (Black-faced)
+Laughing Kookaburra
+Blue-winged Kookaburra
+Spangled Kookaburra
+Rufous-bellied Kookaburra
+Shovel-billed Kookaburra
+Sangihe Lilac Kingfisher
+Sulawesi Lilac Kingfisher
+Brown-winged Kingfisher
+Stork-billed Kingfisher
+Great-billed Kingfisher
+Ruddy Kingfisher
+Chocolate-backed Kingfisher
+White-throated Kingfisher
+Brown-breasted Kingfisher
+Gray-headed Kingfisher
+Black-capped Kingfisher
+Javan Kingfisher
+Woodland Kingfisher
+Mangrove Kingfisher
+Blue-breasted Kingfisher
+Brown-hooded Kingfisher
+Striped Kingfisher
+Blue-black Kingfisher
+Rufous-lored Kingfisher
+Blue-and-white Kingfisher
+Lazuli Kingfisher
+Red-backed Kingfisher
+Forest Kingfisher
+New Britain Kingfisher
+Ultramarine Kingfisher
+Vanuatu Kingfisher
+Marquesas Kingfisher
+Mewing Kingfisher
+Society Kingfisher
+Society Kingfisher (Moorea)
+Society Kingfisher (Tahiti)
+Tuamotu Kingfisher
+Tuamotu Kingfisher (Niau)
+Tuamotu Kingfisher (Mangareva)
+Chattering Kingfisher
+Pacific Kingfisher
+Pacific Kingfisher (Vanuatu)
+Pacific Kingfisher (South Pacific)
+Pacific Kingfisher (Solomon Is.)
+Pacific Kingfisher (Fiji)
+Pacific Kingfisher (Lau)
+Palau Kingfisher
+Guam Kingfisher
+Pohnpei Kingfisher
+Flat-billed Kingfisher
+Colonist Kingfisher
+Torresian Kingfisher
+Sacred Kingfisher
+Sacred Kingfisher (Australasian)
+Sacred Kingfisher (New Caledonian)
+Sacred Kingfisher (Loyalty Is.)
+Sacred Kingfisher (New Zealand)
+Collared Kingfisher
+Collared Kingfisher (Red Sea)
+Collared Kingfisher (Arabian)
+Collared Kingfisher (Oriental)
+Collared Kingfisher (Nicobar Is.)
+Collared Kingfisher (Collared)
+Beach Kingfisher
+Beach Kingfisher (Beach)
+Beach Kingfisher (Admiralty Is.)
+Mariana Kingfisher
+Melanesian Kingfisher
+Melanesian Kingfisher (St. Matthias Is.)
+Melanesian Kingfisher (Dampier Straits)
+Melanesian Kingfisher (New Ireland)
+Melanesian Kingfisher (New Britain)
+Melanesian Kingfisher (Bougainville-Guadalcanal)
+Sombre Kingfisher
+Talaud Kingfisher
+Cinnamon-banded Kingfisher
+Todiramphus sp.
+White-rumped Kingfisher
+Hook-billed Kingfisher
+Moustached Kingfisher
+Moustached Kingfisher (Bougainville)
+Moustached Kingfisher (Guadalcanal)
+Rufous-collared Kingfisher
+Spotted Kingfisher
+Blue-capped Kingfisher
+Green-backed Kingfisher
+Green-backed Kingfisher (Blue-headed)
+Green-backed Kingfisher (Black-headed)
+Scaly-breasted Kingfisher
+Scaly-breasted Kingfisher (Scaly-breasted)
+Scaly-breasted Kingfisher (Plain-backed)
+Yellow-billed Kingfisher
+Mountain Kingfisher
+Yellow-billed/Mountain Kingfisher
+Little Paradise-Kingfisher
+Common Paradise-Kingfisher
+Common Paradise-Kingfisher (Common)
+Common Paradise-Kingfisher (Rossel)
+Kofiau Paradise-Kingfisher
+Biak Paradise-Kingfisher
+Numfor Paradise-Kingfisher
+Red-breasted Paradise-Kingfisher
+Brown-headed Paradise-Kingfisher
+Buff-breasted Paradise-Kingfisher
+Black-capped Paradise-Kingfisher
+Giant Kingfisher
+Crested Kingfisher
+Ringed Kingfisher
+Ringed Kingfisher (Northern)
+Ringed Kingfisher (Patagonian)
+Belted Kingfisher
+Pied Kingfisher
+Amazon Kingfisher
+American Pygmy Kingfisher
+Green Kingfisher
+Green-and-rufous Kingfisher
+Chloroceryle sp.
+kingfisher sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Coraciiformes/motmots.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Coraciiformes/motmots.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a7d67ae8c8d959beb01bb582996b3bd898c13120
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Coraciiformes/motmots.txt
@@ -0,0 +1,25 @@
+# Originally sourced from Clements Checklist v2022
+Tody Motmot
+Blue-throated Motmot
+Russet-crowned Motmot
+Blue-capped Motmot
+Lesson's Motmot
+Blue-capped x Lesson's Motmot (hybrid)
+Blue-capped/Lesson's Motmot
+Whooping Motmot
+Whooping Motmot (Whooping)
+Whooping Motmot (argenticinctus)
+Trinidad Motmot
+Amazonian Motmot
+Andean Motmot
+Rufous Motmot
+Amazonian x Rufous Motmot (hybrid)
+Rufous-capped Motmot
+Amazonian x Rufous-capped Motmot (hybrid)
+Keel-billed Motmot
+Broad-billed Motmot
+Broad-billed Motmot (Broad-billed)
+Broad-billed Motmot (Plain-tailed)
+Keel-billed/Broad-billed Motmot
+Turquoise-browed Motmot
+motmot sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Coraciiformes/rollers.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Coraciiformes/rollers.txt
new file mode 100644
index 0000000000000000000000000000000000000000..72a7e1e96f9ba8ff4489dbaacf3ee9d7273bed30
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Coraciiformes/rollers.txt
@@ -0,0 +1,22 @@
+# Originally sourced from Clements Checklist v2022
+European Roller
+Abyssinian Roller
+Lilac-breasted Roller
+Lilac-breasted Roller (Blue-breasted)
+Lilac-breasted Roller (Lilac-breasted)
+Racket-tailed Roller
+Rufous-crowned Roller
+Indian Roller
+European/Indian Roller
+Indochinese Roller
+Indian x Indochinese Roller (hybrid)
+Indian/Indochinese Roller
+Purple-winged Roller
+Blue-bellied Roller
+roller sp.
+Broad-billed Roller
+Broad-billed Roller (African)
+Broad-billed Roller (Madagascar)
+Blue-throated Roller
+Dollarbird
+Azure Roller
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Coraciiformes/todies.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Coraciiformes/todies.txt
new file mode 100644
index 0000000000000000000000000000000000000000..732d777a4c779b202a5237210528d987de31faf3
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Coraciiformes/todies.txt
@@ -0,0 +1,7 @@
+# Originally sourced from Clements Checklist v2022
+Cuban Tody
+Broad-billed Tody
+Narrow-billed Tody
+Broad-billed/Narrow-billed Tody
+Jamaican Tody
+Puerto Rican Tody
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Cuculiformes/cuckoos.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Cuculiformes/cuckoos.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d924223f7d4528efce6542ace242b568b9a36c3a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Cuculiformes/cuckoos.txt
@@ -0,0 +1,217 @@
+# Originally sourced from Clements Checklist v2022
+Guira Cuckoo
+Greater Ani
+Smooth-billed Ani
+Groove-billed Ani
+Smooth-billed/Groove-billed Ani
+Striped Cuckoo
+Pheasant Cuckoo
+Pavonine Cuckoo
+Lesser Ground-Cuckoo
+Lesser Roadrunner
+Greater Roadrunner
+Lesser/Greater Roadrunner
+Rufous-vented Ground-Cuckoo
+Scaled Ground-Cuckoo
+Banded Ground-Cuckoo
+Rufous-winged Ground-Cuckoo
+Red-billed Ground-Cuckoo
+Sumatran Ground-Cuckoo
+Bornean Ground-Cuckoo
+Coral-billed Ground-Cuckoo
+Crested Coua
+Crested Coua (Crested)
+Crested Coua (Chestnut-vented)
+Verreaux's Coua
+Blue Coua
+Red-capped Coua
+Red-capped Coua (Red-capped)
+Red-capped Coua (Green-capped)
+Red-fronted Coua
+Coquerel's Coua
+Running Coua
+Giant Coua
+Snail-eating Coua
+Red-breasted Coua
+coua sp.
+Buff-headed Coucal
+Pied Coucal
+Biak Coucal
+Greater Black Coucal
+Rufous Coucal
+Green-billed Coucal
+Black-faced Coucal
+Short-toed Coucal
+Black-hooded Coucal
+Bay Coucal
+Gabon Coucal
+Black-throated Coucal
+Senegal Coucal
+Blue-headed Coucal
+Coppery-tailed Coucal
+White-browed Coucal
+White-browed Coucal (White-browed)
+White-browed Coucal (Burchell's)
+Sunda Coucal
+Andaman Coucal
+Greater Coucal
+Greater Coucal (Greater)
+Greater Coucal (Southern)
+Goliath Coucal
+Malagasy Coucal
+Black Coucal
+Philippine Coucal
+Lesser Coucal
+Greater/Lesser Coucal
+Violaceous Coucal
+Lesser Black Coucal
+Pheasant Coucal
+Pheasant Coucal (Timor)
+Pheasant Coucal (Kai)
+Pheasant Coucal (Pheasant)
+coucal sp.
+Raffles's Malkoha
+Blue Malkoha
+Green Malkoha
+Sirkeer Malkoha
+Red-billed Malkoha
+Chestnut-breasted Malkoha
+Chestnut-breasted Malkoha (Mentawai)
+Chestnut-breasted Malkoha (Chestnut-breasted)
+Chestnut-bellied Malkoha
+Red-faced Malkoha
+Blue-faced Malkoha
+Black-bellied Malkoha
+Green-billed Malkoha
+Yellow-billed Malkoha
+Red-crested Malkoha
+Scale-feathered Malkoha
+malkoha sp.
+Chestnut-winged Cuckoo
+Great Spotted Cuckoo
+Levaillant's Cuckoo
+Pied Cuckoo
+Little Cuckoo
+Dwarf Cuckoo
+Ash-colored Cuckoo
+Squirrel Cuckoo
+Squirrel Cuckoo (West Mexico)
+Squirrel Cuckoo (Middle America)
+Squirrel Cuckoo (nigricrissa)
+Squirrel Cuckoo (Amazonian)
+Black-bellied Cuckoo
+Squirrel/Black-bellied Cuckoo
+Dark-billed Cuckoo
+Yellow-billed Cuckoo
+Pearly-breasted Cuckoo
+Yellow-billed/Pearly-breasted Cuckoo
+Mangrove Cuckoo
+Cocos Cuckoo
+Black-billed Cuckoo
+Yellow-billed/Black-billed Cuckoo
+Gray-capped Cuckoo
+Chestnut-bellied Cuckoo
+Bay-breasted Cuckoo
+Jamaican Lizard-Cuckoo
+Puerto Rican Lizard-Cuckoo
+Great Lizard-Cuckoo
+Great Lizard-Cuckoo (Bahamas)
+Great Lizard-Cuckoo (Cuban)
+Hispaniolan Lizard-Cuckoo
+Coccyzus sp.
+St. Helena Cuckoo
+Thick-billed Cuckoo
+Thick-billed Cuckoo (African)
+Thick-billed Cuckoo (Madagascar)
+Dwarf Koel
+Asian Koel
+Black-billed Koel
+Pacific Koel
+Pacific Koel (Oriental)
+Pacific Koel (Australian)
+Long-tailed Koel
+Channel-billed Cuckoo
+Asian Emerald Cuckoo
+Violet Cuckoo
+Asian Emerald/Violet Cuckoo
+Dideric Cuckoo
+Klaas's Cuckoo
+Dideric/Klaas's Cuckoo
+Yellow-throated Cuckoo
+African Emerald Cuckoo
+African Emerald Cuckoo (African)
+African Emerald Cuckoo (Bioko)
+African Emerald Cuckoo (Insular)
+Long-billed Cuckoo
+Horsfield's Bronze-Cuckoo
+Black-eared Cuckoo
+Rufous-throated Bronze-Cuckoo
+Shining Bronze-Cuckoo
+Shining Bronze-Cuckoo (Solomon Is.)
+Shining Bronze-Cuckoo (New Caledonian)
+Shining Bronze-Cuckoo (Shining)
+Shining Bronze-Cuckoo (Golden)
+White-eared Bronze-Cuckoo
+Little Bronze-Cuckoo
+Little Bronze-Cuckoo (Little)
+Little Bronze-Cuckoo (Gould's)
+Little Bronze-Cuckoo (Banda)
+Little Bronze-Cuckoo (Pied)
+Shining/Little Bronze-Cuckoo
+bronze-cuckoo sp.
+Chrysococcyx sp.
+Pallid Cuckoo
+White-crowned Koel
+Chestnut-breasted Cuckoo
+Fan-tailed Cuckoo
+Banded Bay Cuckoo
+Plaintive Cuckoo
+Gray-bellied Cuckoo
+Plaintive/Gray-bellied Cuckoo
+Moluccan Cuckoo
+Brush Cuckoo
+Brush Cuckoo (Rusty-breasted)
+Brush Cuckoo (Brush)
+Cacomantis sp.
+Dusky Long-tailed Cuckoo
+Olive Long-tailed Cuckoo
+Barred Long-tailed Cuckoo
+Barred Long-tailed Cuckoo (Njobo's)
+Barred Long-tailed Cuckoo (Eastern)
+Cercococcyx sp.
+Fork-tailed Drongo-Cuckoo
+Philippine Drongo-Cuckoo
+Square-tailed Drongo-Cuckoo
+Fork-tailed/Square-tailed Drongo-Cuckoo
+Moluccan Drongo-Cuckoo
+Moustached Hawk-Cuckoo
+Large Hawk-Cuckoo
+Dark Hawk-Cuckoo
+Large/Dark Hawk-Cuckoo
+Common Hawk-Cuckoo
+Large/Common Hawk-Cuckoo
+Northern Hawk-Cuckoo
+Philippine Hawk-Cuckoo
+Hodgson's Hawk-Cuckoo
+Malaysian Hawk-Cuckoo
+hawk-cuckoo sp.
+Black Cuckoo
+Black Cuckoo (Rufous-throated)
+Black Cuckoo (Black)
+Red-chested Cuckoo
+Lesser Cuckoo
+Sulawesi Cuckoo
+Indian Cuckoo
+Lesser/Indian Cuckoo
+African Cuckoo
+Madagascar Cuckoo
+Himalayan Cuckoo
+Sunda Cuckoo
+Common Cuckoo
+African/Common Cuckoo
+Oriental Cuckoo
+Lesser/Oriental Cuckoo
+Himalayan/Oriental Cuckoo
+Common/Oriental Cuckoo
+Cuculus sp.
+cuckoo sp. (Cuculidae sp.)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Eurypygiformes/kagu.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Eurypygiformes/kagu.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9b851ac00a51d6908f4fc0d41321f3408d571083
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Eurypygiformes/kagu.txt
@@ -0,0 +1,2 @@
+# Originally sourced from Clements Checklist v2022
+Kagu
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Eurypygiformes/sunbittern.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Eurypygiformes/sunbittern.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a08d0db62b040f686bb9127f51efca0ee277c429
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Eurypygiformes/sunbittern.txt
@@ -0,0 +1,2 @@
+# Originally sourced from Clements Checklist v2022
+Sunbittern
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Falconiformes/falcons_and_caracaras.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Falconiformes/falcons_and_caracaras.txt
new file mode 100644
index 0000000000000000000000000000000000000000..bda499ddcc8d69497197c439a5ac2f46bea8259b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Falconiformes/falcons_and_caracaras.txt
@@ -0,0 +1,111 @@
+# Originally sourced from Clements Checklist v2022
+Laughing Falcon
+Buckley's Forest-Falcon
+Collared Forest-Falcon
+Slaty-backed Forest-Falcon
+Barred Forest-Falcon
+Cryptic Forest-Falcon
+Plumbeous Forest-Falcon
+Barred/Plumbeous Forest-Falcon
+Lined Forest-Falcon
+Barred/Lined Forest-Falcon
+forest-falcon sp.
+Spot-winged Falconet
+Guadalupe Caracara
+Crested Caracara
+Crested Caracara (Northern)
+Crested Caracara (Southern)
+Red-throated Caracara
+Yellow-headed Caracara
+Black Caracara
+Chimango Caracara
+Carunculated Caracara
+Mountain Caracara
+White-throated Caracara
+Striated Caracara
+Pygmy Falcon
+Philippine Falconet
+Pied Falconet
+Collared Falconet
+Black-thighed Falconet
+White-fronted Falconet
+White-rumped Falcon
+Lesser Kestrel
+Eurasian Kestrel
+Eurasian Kestrel (Eurasian)
+Eurasian Kestrel (Canary Is.)
+Eurasian Kestrel (Cape Verde)
+Eurasian Kestrel (Rufescent)
+Lesser/Eurasian Kestrel
+Rock Kestrel
+Eurasian/Rock Kestrel
+Malagasy Kestrel
+Mauritius Kestrel
+Seychelles Kestrel
+Reunion Kestrel
+Spotted Kestrel
+Nankeen Kestrel
+Greater Kestrel
+American Kestrel
+American Kestrel (Northern)
+American Kestrel (Southeastern)
+American Kestrel (Eastern Caribbean)
+American Kestrel (Hispaniolan)
+American Kestrel (Cuban)
+American Kestrel (South American)
+American Kestrel (Juan Fernandez)
+Fox Kestrel
+Gray Kestrel
+Dickinson's Kestrel
+Banded Kestrel
+Red-necked Falcon
+Red-necked Falcon (Asian)
+Red-necked Falcon (African)
+Red-footed Falcon
+Amur Falcon
+Red-footed/Amur Falcon
+Eleonora's Falcon
+Sooty Falcon
+Merlin
+Merlin (Eurasian)
+Merlin (Pallid)
+Merlin (Taiga)
+Merlin (Prairie)
+Merlin (Black)
+Eurasian Hobby
+Amur Falcon/Eurasian Hobby
+African Hobby
+Oriental Hobby
+Australian Hobby
+New Zealand Falcon
+Brown Falcon
+Gray Falcon
+Black Falcon
+Aplomado Falcon
+Bat Falcon
+Orange-breasted Falcon
+Lanner Falcon
+Laggar Falcon
+Saker Falcon
+Gyrfalcon
+Peregrine Falcon
+Peregrine Falcon (North American)
+Peregrine Falcon (Tundra)
+Peregrine Falcon (Peale's)
+Peregrine Falcon (South American)
+Peregrine Falcon (Eurasian)
+Peregrine Falcon (Mediterranean)
+Peregrine Falcon (Barbary)
+Peregrine Falcon (Cape Verde)
+Peregrine Falcon (Red-capped)
+Peregrine Falcon (African)
+Peregrine Falcon (Malagasy)
+Peregrine Falcon (Shaheen)
+Peregrine Falcon (Indo-Pacific)
+Peregrine Falcon (Australian)
+Prairie Falcon
+Peregrine x Prairie Falcon (hybrid)
+Taita Falcon
+large falcon sp.
+small falcon sp.
+falcon sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Galbuliformes/jacamars.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Galbuliformes/jacamars.txt
new file mode 100644
index 0000000000000000000000000000000000000000..cb7c6af8ba10320cc091a99a337f3b3c948f64df
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Galbuliformes/jacamars.txt
@@ -0,0 +1,26 @@
+# Originally sourced from Clements Checklist v2022
+White-eared Jacamar
+Purus Jacamar
+White-throated Jacamar
+Brown Jacamar
+Pale-headed Jacamar
+Dusky-backed Jacamar
+Three-toed Jacamar
+Yellow-billed Jacamar
+Yellow-billed Jacamar (Yellow-billed)
+Yellow-billed Jacamar (Cerise-crowned)
+Blue-cheeked Jacamar
+Rufous-tailed Jacamar
+Rufous-tailed Jacamar (Black-chinned)
+Rufous-tailed Jacamar (Rufous-tailed)
+Rufous-tailed Jacamar (Spot-tailed)
+Green-tailed Jacamar
+White-chinned Jacamar
+Bluish-fronted Jacamar
+Coppery-chested Jacamar
+Purplish Jacamar
+Bronzy Jacamar
+Paradise Jacamar
+Galbula sp.
+Great Jacamar
+jacamar sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Galbuliformes/puffbirds.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Galbuliformes/puffbirds.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0a421a0e64a056ab629e1c87c2235b2b3b6c7c28
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Galbuliformes/puffbirds.txt
@@ -0,0 +1,53 @@
+# Originally sourced from Clements Checklist v2022
+White-necked Puffbird
+Guianan Puffbird
+Buff-bellied Puffbird
+Black-breasted Puffbird
+Brown-banded Puffbird
+Pied Puffbird
+Pied Puffbird (Lesser)
+Pied Puffbird (Greater)
+Chestnut-capped Puffbird
+Spotted Puffbird
+Sooty-capped Puffbird
+Collared Puffbird
+Barred Puffbird
+Western Striolated-Puffbird
+Eastern Striolated-Puffbird
+Eastern Striolated-Puffbird (Natterer's)
+Eastern Striolated-Puffbird (torridus)
+White-eared Puffbird
+Spot-backed Puffbird
+Spot-backed Puffbird (Spot-backed)
+Spot-backed Puffbird (Chaco)
+Russet-throated Puffbird
+Two-banded Puffbird
+Russet-throated/Two-banded Puffbird
+White-chested Puffbird
+Semicollared Puffbird
+Crescent-chested Puffbird
+Crescent-chested Puffbird (Lesser)
+Crescent-chested Puffbird (Greater)
+Rufous-necked Puffbird
+White-whiskered Puffbird
+Black-streaked Puffbird
+Moustached Puffbird
+Lanceolated Monklet
+Rusty-breasted Nunlet
+Fulvous-chinned Nunlet
+Brown Nunlet
+Gray-cheeked Nunlet
+Rufous-capped Nunlet
+Chestnut-headed Nunlet
+nunlet sp.
+White-faced Nunbird
+Black Nunbird
+Black-fronted Nunbird
+White-fronted Nunbird
+White-fronted Nunbird (Costa Rican)
+White-fronted Nunbird (Pale-winged)
+White-fronted Nunbird (White-fronted)
+Yellow-billed Nunbird
+Monasa sp.
+Swallow-winged Puffbird
+Bucconidae sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Galliformes/guans,_chachalacas,_and_curassows.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Galliformes/guans,_chachalacas,_and_curassows.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f04efd4a2dccce41cca22acd5bd02e8158123c7b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Galliformes/guans,_chachalacas,_and_curassows.txt
@@ -0,0 +1,75 @@
+# Originally sourced from Clements Checklist v2022
+Plain Chachalaca
+Gray-headed Chachalaca
+Chestnut-winged Chachalaca
+Rufous-vented Chachalaca
+Rufous-vented Chachalaca (Rufous-vented)
+Rufous-vented Chachalaca (Rufous-tipped)
+Rufous-headed Chachalaca
+Rufous-bellied Chachalaca
+West Mexican Chachalaca
+Chaco Chachalaca
+White-bellied Chachalaca
+Colombian Chachalaca
+Speckled Chachalaca
+Speckled Chachalaca (Speckled)
+Speckled Chachalaca (Parana)
+East Brazilian Chachalaca
+Scaled Chachalaca
+Variable Chachalaca
+Chestnut-headed Chachalaca
+Buff-browed Chachalaca
+chachalaca sp.
+Band-tailed Guan
+Bearded Guan
+Baudo Guan
+Andean Guan
+Marail Guan
+Rusty-margined Guan
+Red-faced Guan
+Spix's Guan
+Spix's Guan (Grant's)
+Spix's Guan (Spix's)
+Marail/Spix's Guan
+Crested Guan
+Cauca Guan
+White-winged Guan
+Dusky-legged Guan
+Yungas Guan
+White-crested Guan
+Chestnut-bellied Guan
+White-browed Guan
+Penelope sp.
+Trinidad Piping-Guan
+Blue-throated Piping-Guan
+White-throated Piping-Guan
+Blue-throated/White-throated Piping-Guan
+Red-throated Piping-Guan
+Red-throated Piping-Guan (White-crested)
+Red-throated Piping-Guan (Gray-crested)
+Blue-throated/Red-throated Piping-Guan
+Black-fronted Piping-Guan
+Wattled Guan
+Black Guan
+Sickle-winged Guan
+Highland Guan
+Horned Guan
+Nocturnal Curassow
+Crestless Curassow
+Salvin's Curassow
+Razor-billed Curassow
+Alagoas Curassow
+Helmeted Curassow
+Sira Curassow
+Horned Curassow
+Great Curassow
+Blue-billed Curassow
+Yellow-knobbed Curassow
+Black Curassow
+Wattled Curassow
+Bare-faced Curassow
+Bare-faced Curassow (Belem)
+Bare-faced Curassow (Bare-faced)
+Red-billed Curassow
+curassow sp.
+Cracidae sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Galliformes/guineafowl.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Galliformes/guineafowl.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b5d659287390ac7f71404df5c498d27ab050fc40
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Galliformes/guineafowl.txt
@@ -0,0 +1,16 @@
+# Originally sourced from Clements Checklist v2022
+Helmeted Guineafowl
+Helmeted Guineafowl (Moroccan)
+Helmeted Guineafowl (West African)
+Helmeted Guineafowl (Helmeted)
+Helmeted Guineafowl (Reichenow's)
+Helmeted Guineafowl (Tufted)
+Helmeted Guineafowl (Domestic type)
+White-breasted Guineafowl
+Black Guineafowl
+Vulturine Guineafowl
+Plumed Guineafowl
+Eastern Crested Guineafowl
+Western Crested Guineafowl
+Southern Crested Guineafowl
+crested guineafowl sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Galliformes/megapodes.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Galliformes/megapodes.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5712be2d7efee80b71c2542bdaeba73a3d0f1e69
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Galliformes/megapodes.txt
@@ -0,0 +1,25 @@
+# Originally sourced from Clements Checklist v2022
+Australian Brushturkey
+Wattled Brushturkey
+Waigeo Brushturkey
+Red-billed Brushturkey
+Yellow-legged Brushturkey
+Red-legged Brushturkey
+Talegalla sp.
+Malleefowl
+Maleo
+Moluccan Megapode
+Tongan Megapode
+Micronesian Megapode
+Nicobar Megapode
+Philippine Megapode
+Sula Megapode
+Tanimbar Megapode
+Dusky Megapode
+Dusky Megapode (Dusky)
+Dusky Megapode (Forsten's)
+Biak Megapode
+Melanesian Megapode
+Vanuatu Megapode
+New Guinea Megapode
+Orange-footed Megapode
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Galliformes/new_world_quail.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Galliformes/new_world_quail.txt
new file mode 100644
index 0000000000000000000000000000000000000000..82a309a106a81faba2a9e11e74f6a84385be5074
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Galliformes/new_world_quail.txt
@@ -0,0 +1,52 @@
+# Originally sourced from Clements Checklist v2022
+Stone Partridge
+Stone Partridge (Stone)
+Stone Partridge (Ethiopian)
+Nahan's Partridge
+Tawny-faced Quail
+Mountain Quail
+Buffy-crowned Wood-Partridge
+Long-tailed Wood-Partridge
+Bearded Wood-Partridge
+Banded Quail
+Northern Bobwhite
+Northern Bobwhite (Eastern)
+Northern Bobwhite (graysoni/nigripectus)
+Northern Bobwhite (pectoralis Group)
+Northern Bobwhite (Masked)
+Black-throated Bobwhite
+Crested Bobwhite
+Crested Bobwhite (Spot-bellied)
+Crested Bobwhite (Crested)
+Scaled Quail
+Northern Bobwhite x Scaled Quail (hybrid)
+Elegant Quail
+California Quail
+Northern Bobwhite x California Quail (hybrid)
+Scaled x California Quail (hybrid)
+Gambel's Quail
+Scaled x Gambel's Quail (hybrid)
+California x Gambel's Quail (hybrid)
+California/Gambel's Quail
+Montezuma Quail
+Montezuma Quail (Montezuma)
+Montezuma Quail (Salle's)
+Ocellated Quail
+Singing Quail
+Marbled Wood-Quail
+Spot-winged Wood-Quail
+Black-eared Wood-Quail
+Black-fronted Wood-Quail
+Rufous-fronted Wood-Quail
+Chestnut Wood-Quail
+Dark-backed Wood-Quail
+Rufous-breasted Wood-Quail
+Tacarcuna Wood-Quail
+Gorgeted Wood-Quail
+Venezuelan Wood-Quail
+Black-breasted Wood-Quail
+Stripe-faced Wood-Quail
+Starred Wood-Quail
+Spotted Wood-Quail
+wood-quail sp.
+new world quail sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Galliformes/pheasants,_grouse,_and_allies.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Galliformes/pheasants,_grouse,_and_allies.txt
new file mode 100644
index 0000000000000000000000000000000000000000..50cd8a8ccb2391857f07d238b8802f0db3930a84
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Galliformes/pheasants,_grouse,_and_allies.txt
@@ -0,0 +1,257 @@
+# Originally sourced from Clements Checklist v2022
+Udzungwa Partridge
+Udzungwa Partridge (Udzungwa)
+Udzungwa Partridge (Rubeho)
+Ferruginous Partridge
+Crested Partridge
+Black Partridge
+Hill Partridge
+Sichuan Partridge
+Chestnut-breasted Partridge
+White-necklaced Partridge
+Rufous-throated Partridge
+Red-billed Partridge
+Chestnut-headed Partridge
+Chestnut-headed Partridge (Siamese)
+Chestnut-headed Partridge (Chestnut-headed)
+Hainan Partridge
+Taiwan Partridge
+White-cheeked Partridge
+Bar-backed Partridge
+Orange-necked Partridge
+Red-breasted Partridge
+Malayan Partridge
+Roll's Partridge
+Sumatran Partridge
+Roll's/Sumatran Partridge
+Chestnut-bellied Partridge
+Gray-breasted Partridge
+Snow Partridge
+Blood Pheasant
+Western Tragopan
+Satyr Tragopan
+Blyth's Tragopan
+Temminck's Tragopan
+Cabot's Tragopan
+Verreaux's Partridge
+Szechenyi's Partridge
+Himalayan Monal
+Sclater's Monal
+Chinese Monal
+Koklass Pheasant
+Wild Turkey
+Wild Turkey (Domestic type)
+Ocellated Turkey
+Ruffed Grouse
+Hazel Grouse
+Severtzov's Grouse
+Greater Sage-Grouse
+Gunnison Sage-Grouse
+Greater/Gunnison Sage-Grouse
+Dusky Grouse
+Sooty Grouse
+Dusky/Sooty Grouse
+Sharp-tailed Grouse
+Greater Sage-Grouse x Sharp-tailed Grouse (hybrid)
+Dusky x Sharp-tailed Grouse (hybrid)
+Greater Prairie-Chicken
+Greater Prairie-Chicken (pinnatus)
+Greater Prairie-Chicken (Heath Hen)
+Greater Prairie-Chicken (Attwater's)
+Sharp-tailed Grouse x Greater Prairie-Chicken (hybrid)
+Lesser Prairie-Chicken
+Greater x Lesser Prairie-Chicken (hybrid)
+Greater/Lesser Prairie-Chicken
+White-tailed Ptarmigan
+Willow Ptarmigan
+Willow Ptarmigan (Red Grouse)
+Willow Ptarmigan (Willow)
+Rock Ptarmigan
+ptarmigan sp.
+Siberian Grouse
+Spruce Grouse
+Spruce Grouse (Spruce)
+Spruce Grouse (Franklin's)
+Spruce Grouse (Spruce x Franklin's)
+Ruffed/Spruce Grouse
+Black-billed Capercaillie
+Western Capercaillie
+Black Grouse
+Western Capercaillie x Black Grouse (hybrid)
+Caucasian Grouse
+grouse sp.
+Long-billed Partridge
+Dulit Partridge
+Tibetan Partridge
+Gray Partridge
+Daurian Partridge
+Copper Pheasant
+Reeves's Pheasant
+Mikado Pheasant
+Elliot's Pheasant
+Hume's Pheasant
+Golden Pheasant
+Lady Amherst's Pheasant
+Golden x Lady Amherst's Pheasant (hybrid)
+Ring-necked Pheasant
+Green Pheasant
+Ring-necked x Green Pheasant (hybrid)
+Ring-necked/Green Pheasant
+Cheer Pheasant
+Tibetan Eared-Pheasant
+White Eared-Pheasant
+Tibetan x White Eared-Pheasant (hybrid)
+Tibetan/White Eared-Pheasant
+Brown Eared-Pheasant
+Blue Eared-Pheasant
+Edwards's Pheasant
+Swinhoe's Pheasant
+Bulwer's Pheasant
+Kalij Pheasant
+Silver Pheasant
+Edwards's x Silver Pheasant (hybrid)
+Malayan Crestless Fireback
+Bornean Crestless Fireback
+Siamese Fireback
+Salvadori's Pheasant
+Salvadori's Pheasant (Hoogerwerf's)
+Salvadori's Pheasant (Salvadori's)
+Malayan Crested Fireback
+Bornean Crested Fireback
+Vietnamese Crested Argus
+Malayan Crested Argus
+Great Argus
+Congo Peacock
+Indian Peafowl
+Indian Peafowl (Domestic type)
+Green Peafowl
+Indian x Green Peafowl (hybrid)
+Scaly-breasted Partridge
+Scaly-breasted Partridge (Tonkin)
+Scaly-breasted Partridge (Green-legged)
+Chestnut-necklaced Partridge
+Sabah Partridge
+Arborophila/Tropicoperdix sp.
+Crimson-headed Partridge
+Red Spurfowl
+Painted Spurfowl
+Red/Painted Spurfowl
+Sri Lanka Spurfowl
+Palawan Peacock-Pheasant
+Bornean Peacock-Pheasant
+Malayan Peacock-Pheasant
+Germain's Peacock-Pheasant
+Hainan Peacock-Pheasant
+Gray Peacock-Pheasant
+Mountain Peacock-Pheasant
+Bronze-tailed Peacock-Pheasant
+pheasant sp.
+Mountain Bamboo-Partridge
+Chinese Bamboo-Partridge
+Taiwan Bamboo-Partridge
+Green Junglefowl
+Red Junglefowl
+Red Junglefowl (Domestic type)
+Gray Junglefowl
+Sri Lanka Junglefowl
+Latham's Francolin
+Crested Francolin
+Crested Francolin (Kirk's)
+Crested Francolin (Crested)
+Gray Francolin
+Swamp Francolin
+Chinese Francolin
+Black Francolin
+Black Francolin (Western)
+Black Francolin (Eastern)
+Painted Francolin
+Coqui Francolin
+Coqui Francolin (Plain-breasted)
+Coqui Francolin (Bar-breasted)
+White-throated Francolin
+White-throated Francolin (White-throated)
+White-throated Francolin (Chestnut-breasted)
+Schlegel's Francolin
+Ring-necked Francolin
+Red-winged Francolin
+Finsch's Francolin
+Moorland Francolin
+Elgon Francolin
+Gray-winged Francolin
+Orange River Francolin
+Orange River Francolin (Archer's)
+Orange River Francolin (Kunene)
+Orange River Francolin (Orange River)
+Shelley's Francolin
+Whyte's Francolin
+Shelley's/Whyte's Francolin
+Tibetan Snowcock
+Altai Snowcock
+Caucasian Snowcock
+Caspian Snowcock
+Himalayan Snowcock
+Tibetan/Himalayan Snowcock
+See-see Partridge
+Sand Partridge
+Brown Quail
+Snow Mountain Quail
+Blue-breasted Quail
+Blue Quail
+Madagascar Partridge
+Common Quail
+Japanese Quail
+Harlequin Quail
+Rain Quail
+Common/Rain Quail
+Stubble Quail
+New Zealand Quail
+old world quail sp.
+Barbary Partridge
+Arabian Partridge
+Red-legged Partridge
+Chukar
+Rock Partridge
+Rock Partridge (European)
+Rock Partridge (Sicilian)
+Red-legged x Rock Partridge (hybrid)
+Chukar x Rock Partridge (hybrid)
+Red-legged/Rock Partridge
+Philby's Partridge
+Przevalski's Partridge
+Alectoris sp.
+Jungle Bush-Quail
+Rock Bush-Quail
+Jungle/Rock Bush-Quail
+Painted Bush-Quail
+Manipur Bush-Quail
+Himalayan Quail
+Hartlaub's Spurfowl
+Mount Cameroon Spurfowl
+Handsome Spurfowl
+Chestnut-naped Spurfowl
+Chestnut-naped Spurfowl (Northern)
+Chestnut-naped Spurfowl (Black-fronted)
+Erckel's Spurfowl
+Djibouti Spurfowl
+Swierstra's Spurfowl
+Ahanta Spurfowl
+Gray-striped Spurfowl
+Jackson's Spurfowl
+Red-billed Spurfowl
+Cape Spurfowl
+Natal Spurfowl
+Hildebrandt's Spurfowl
+Double-spurred Spurfowl
+Scaly Spurfowl
+Heuglin's Spurfowl
+Clapperton's Spurfowl
+Harwood's Spurfowl
+Swainson's Spurfowl
+Yellow-necked Spurfowl
+Gray-breasted Spurfowl
+Red-necked Spurfowl
+Red-necked Spurfowl (Cranch's)
+Red-necked Spurfowl (Northern)
+Red-necked Spurfowl (Benguela)
+Red-necked Spurfowl (Southern)
+francolin/spurfowl sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Gaviiformes/loons.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Gaviiformes/loons.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ff82139f9f1ae6b9f993bdea89b471911c3b664e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Gaviiformes/loons.txt
@@ -0,0 +1,9 @@
+# Originally sourced from Clements Checklist v2022
+Red-throated Loon
+Arctic Loon
+Pacific Loon
+Arctic/Pacific Loon
+Common Loon
+Yellow-billed Loon
+Common/Yellow-billed Loon
+loon sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Gruiformes/cranes.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Gruiformes/cranes.txt
new file mode 100644
index 0000000000000000000000000000000000000000..57437435f06dac96a641e010252082427f7cf127
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Gruiformes/cranes.txt
@@ -0,0 +1,26 @@
+# Originally sourced from Clements Checklist v2022
+Gray Crowned-Crane
+Black Crowned-Crane
+Demoiselle Crane
+Blue Crane
+Wattled Crane
+Siberian Crane
+Sandhill Crane
+Sandhill Crane (canadensis)
+Sandhill Crane (tabida/rowani)
+Sandhill Crane (pulla)
+Sandhill Crane (pratensis)
+Sandhill Crane (nesiotes)
+Sarus Crane
+Brolga
+Sarus Crane x Brolga (hybrid)
+White-naped Crane
+Common Crane
+Sandhill x Common Crane (hybrid)
+Hooded Crane
+Common x Hooded Crane (hybrid)
+Whooping Crane
+Sandhill x Whooping Crane (hybrid)
+Black-necked Crane
+Red-crowned Crane
+crane sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Gruiformes/finfoots.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Gruiformes/finfoots.txt
new file mode 100644
index 0000000000000000000000000000000000000000..bef1dfa45406dd60be101fe2168a35a3a7329e17
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Gruiformes/finfoots.txt
@@ -0,0 +1,4 @@
+# Originally sourced from Clements Checklist v2022
+African Finfoot
+Masked Finfoot
+Sungrebe
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Gruiformes/flufftails.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Gruiformes/flufftails.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a7fa17affead10c2e9e3f582cbcba53a50e180ba
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Gruiformes/flufftails.txt
@@ -0,0 +1,15 @@
+# Originally sourced from Clements Checklist v2022
+Madagascar Wood-Rail
+Tsingy Wood-Rail
+White-spotted Flufftail
+White-spotted Flufftail (Northern)
+White-spotted Flufftail (Southern)
+Buff-spotted Flufftail
+Red-chested Flufftail
+Chestnut-headed Flufftail
+Streaky-breasted Flufftail
+Striped Flufftail
+Madagascar Flufftail
+White-winged Flufftail
+Slender-billed Flufftail
+flufftail sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Gruiformes/limpkin.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Gruiformes/limpkin.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f29ec2b17f0fc418b9c7ee642d68097f901c3c49
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Gruiformes/limpkin.txt
@@ -0,0 +1,4 @@
+# Originally sourced from Clements Checklist v2022
+Limpkin
+Limpkin (Speckled)
+Limpkin (Brown-backed)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Gruiformes/rails,_gallinules,_and_coots.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Gruiformes/rails,_gallinules,_and_coots.txt
new file mode 100644
index 0000000000000000000000000000000000000000..84f6c73fcad21d16a8e0c44c3d2e5554952f7af8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Gruiformes/rails,_gallinules,_and_coots.txt
@@ -0,0 +1,229 @@
+# Originally sourced from Clements Checklist v2022
+Ridgway's Rail
+Ridgway's Rail (San Francisco Bay)
+Ridgway's Rail (Light-footed)
+Ridgway's Rail (South Baja)
+Ridgway's Rail (Yuma)
+Aztec Rail
+Mangrove Rail
+Mangrove Rail (Fonseca)
+Mangrove Rail (Ecuadorian)
+Mangrove Rail (Atlantic)
+King Rail
+King Rail (Northern)
+King Rail (Cuban)
+Aztec/King Rail
+Clapper Rail
+Clapper Rail (Atlantic Coast)
+Clapper Rail (Gulf Coast)
+Clapper Rail (Caribbean)
+Clapper Rail (Yucatan)
+King x Clapper Rail (hybrid)
+King/Clapper Rail
+Ridgway's/Mangrove/Clapper Rail
+large rail sp.
+Plain-flanked Rail
+Virginia Rail
+Virginia Rail (Virginia)
+Virginia Rail (South American)
+King/Virginia Rail
+Bogota Rail
+Austral Rail
+Water Rail
+Brown-cheeked Rail
+Water/Brown-cheeked Rail
+African Rail
+Madagascar Rail
+Rallus sp.
+White-throated Rail
+Reunion Rail
+Red Rail
+Rodrigues Rail
+Corn Crake
+African Crake
+Rouget's Rail
+Inaccessible Island Rail
+St. Helena Crake
+Ascension Crake
+Snoring Rail
+Slaty-breasted Rail
+Luzon Rail
+Lewin's Rail
+Auckland Islands Rail
+Blue-faced Rail
+Bare-eyed Rail
+Talaud Rail
+Hawkins's Rail
+Calayan Rail
+Invisible Rail
+Chestnut Rail
+Weka
+New Caledonian Rail
+Lord Howe Rail
+Okinawa Rail
+Tahiti Rail
+Buff-banded Rail
+Chatham Islands Rail
+Dieffenbach's Rail
+New Britain Rail
+Woodford's Rail
+Woodford's Rail (Bougainville)
+Woodford's Rail (Santa Isabel)
+Woodford's Rail (Guadalcanal)
+Bar-winged Rail
+Guam Rail
+Wake Island Rail
+Barred Rail
+Roviana Rail
+Gray-throated Rail
+Ash-throated Crake
+Colombian Crake
+Paint-billed Crake
+Zapata Rail
+Spotted Rail
+Blackish Rail
+Plumbeous Rail
+Uniform Crake
+Giant Wood-Rail
+Brown Wood-Rail
+Little Wood-Rail
+Rufous-necked Wood-Rail
+Russet-naped Wood-Rail
+Gray-cowled Wood-Rail
+Gray-cowled Wood-Rail (Gray-cowled)
+Gray-cowled Wood-Rail (Gray-backed)
+Russet-naped/Gray-cowled Wood-Rail
+Red-winged Wood-Rail
+Slaty-breasted Wood-Rail
+wood-rail sp.
+Black-tailed Nativehen
+Hodgen's Waterhen
+Tasmanian Nativehen
+Spot-flanked Gallinule
+Sora
+Spotted Crake
+Australian Crake
+Dot-winged Crake
+Lesser Moorhen
+Makira Moorhen
+Tristan Moorhen
+Gough Moorhen
+Eurasian Moorhen
+Common Gallinule
+Common Gallinule (American)
+Common Gallinule (Altiplano)
+Common Gallinule (Hawaiian)
+Eurasian Moorhen/Common Gallinule
+Dusky Moorhen
+Samoan Moorhen
+Red-fronted Coot
+Horned Coot
+Giant Coot
+Red-gartered Coot
+Eurasian Coot
+Eurasian Moorhen x Eurasian Coot (hybrid)
+Mascarene Coot
+Red-knobbed Coot
+Eurasian/Red-knobbed Coot
+Eurasian x Red-knobbed Coot (hybrid)
+Hawaiian Coot
+Hawaiian Coot (Red-shielded)
+Hawaiian Coot (White-shielded)
+American Coot
+American Coot (Red-shielded)
+American Coot (White-shielded)
+Common Gallinule x American Coot (hybrid)
+Slate-colored Coot
+Slate-colored Coot (White-billed)
+Slate-colored Coot (Yellow-billed)
+Red-gartered x Slate-colored Coot (hybrid)
+White-winged Coot
+coot sp.
+Allen's Gallinule
+Purple Gallinule
+Azure Gallinule
+Marquesan Swamphen
+New Caledonian Gallinule
+Reunion Gallinule
+Western Swamphen
+Black-backed Swamphen
+African Swamphen
+South Island Takahe
+North Island Takahe
+Australasian Swamphen
+Philippine Swamphen
+Lord Howe Swamphen
+Gray-headed Swamphen
+Black-backed x Gray-headed Swamphen (hybrid)
+Black-backed/Gray-headed Swamphen
+swamphen sp.
+moorhen/coot/gallinule sp.
+Nkulengu Rail
+White-browed Crake
+New Guinea Flightless Rail
+Watercock
+Isabelline Bush-hen
+Plain Bush-hen
+White-breasted Waterhen
+Talaud Bush-hen
+Pale-vented Bush-hen
+Striped Crake
+Chestnut Forest-Rail
+White-striped Forest-Rail
+Forbes's Rail
+Mayr's Rail
+Red-necked Crake
+Andaman Crake
+Great Nicobar Crake (undescribed form)
+Red-legged Crake
+Slaty-legged Crake
+Rallina sp.
+Ruddy-breasted Crake
+Band-bellied Crake
+Brown Crake
+Black Crake
+Little Crake
+Baillon's Crake
+Baillon's Crake (Western)
+Baillon's Crake (Eastern)
+Baillon's Crake (Australasian)
+Little/Baillon's Crake
+Spotted/Little/Baillon's Crake
+St. Helena Rail
+Laysan Rail
+Sakalava Rail
+Black-tailed Crake
+Hawaiian Rail
+Miller's Rail
+Henderson Island Crake
+Spotless Crake
+Kosrae Crake
+Zapornia sp.
+Ocellated Crake
+Chestnut-headed Crake
+Russet-crowned Crake
+Black-banded Crake
+Swinhoe's Rail
+Yellow Rail
+Yellow Rail (Northern)
+Yellow Rail (Goldman's)
+Speckled Rail
+Yellow-breasted Crake
+Porzana/Zapornia/Hapalocrex sp.
+Rusty-flanked Crake
+Rufous-sided Crake
+Ruddy Crake
+White-throated Crake
+White-throated Crake (Rufous-faced)
+White-throated Crake (Gray-faced)
+Ruddy/White-throated Crake
+Gray-breasted Crake
+Galapagos Rail
+Black Rail
+Black Rail (Northern)
+Black Rail (Southern South America)
+Black Rail (Junin)
+Red-and-white Crake
+Rufous-sided/Red-and-white Crake
+Rufous-faced Crake
+rail/crake sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Gruiformes/trumpeters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Gruiformes/trumpeters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d8c3c9514b3a3324b4f5b5056a3fd4764d4d519e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Gruiformes/trumpeters.txt
@@ -0,0 +1,12 @@
+# Originally sourced from Clements Checklist v2022
+Gray-winged Trumpeter
+Gray-winged Trumpeter (Napo)
+Gray-winged Trumpeter (Ochre-winged)
+Gray-winged Trumpeter (Gray-winged)
+Pale-winged Trumpeter
+Dark-winged Trumpeter
+Dark-winged Trumpeter (Green-backed)
+Dark-winged Trumpeter (Dusky-backed)
+Dark-winged Trumpeter (Xingu)
+Dark-winged Trumpeter (Black-backed)
+trumpeter sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Leptosomiformes/cuckoo-roller.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Leptosomiformes/cuckoo-roller.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2700c643116379930d983e836f6487f913fe3450
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Leptosomiformes/cuckoo-roller.txt
@@ -0,0 +1,2 @@
+# Originally sourced from Clements Checklist v2022
+Cuckoo-roller
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Mesitornithiformes/mesites.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Mesitornithiformes/mesites.txt
new file mode 100644
index 0000000000000000000000000000000000000000..35620dda803644eec8ddbfb2981c71d0ddf0dbd6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Mesitornithiformes/mesites.txt
@@ -0,0 +1,4 @@
+# Originally sourced from Clements Checklist v2022
+White-breasted Mesite
+Brown Mesite
+Subdesert Mesite
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Musophagiformes/turacos.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Musophagiformes/turacos.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a884bd044be48af37914563c22f4d811156ae47e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Musophagiformes/turacos.txt
@@ -0,0 +1,44 @@
+# Originally sourced from Clements Checklist v2022
+Great Blue Turaco
+Guinea Turaco
+Guinea Turaco (Buffon's)
+Guinea Turaco (Guinea)
+Livingstone's Turaco
+Schalow's Turaco
+Knysna Turaco
+Knysna Turaco (Northern)
+Knysna Turaco (Southern)
+Black-billed Turaco
+Black-billed Turaco (Green-rumped)
+Black-billed Turaco (Black-rumped)
+White-crested Turaco
+Fischer's Turaco
+Fischer's Turaco (Fischer's)
+Fischer's Turaco (Zanzibar)
+Yellow-billed Turaco
+Yellow-billed Turaco (Yellow-billed)
+Yellow-billed Turaco (Verreaux's)
+Bannerman's Turaco
+Red-crested Turaco
+Hartlaub's Turaco
+White-cheeked Turaco
+White-cheeked Turaco (White-cheeked)
+White-cheeked Turaco (Donaldson's)
+Prince Ruspoli's Turaco
+White-cheeked x Prince Ruspoli's Turaco (hybrid)
+Purple-crested Turaco
+Tauraco sp.
+Rwenzori Turaco
+Rwenzori Turaco (Rwenzori)
+Rwenzori Turaco (Mt. Kabobo)
+Rwenzori Turaco (Kivu)
+Violet Turaco
+Ross's Turaco
+Bare-faced Go-away-bird
+Bare-faced Go-away-bird (Brown-faced)
+Bare-faced Go-away-bird (Black-faced)
+Gray Go-away-bird
+White-bellied Go-away-bird
+Western Plantain-eater
+Eastern Plantain-eater
+turaco sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Opisthocomiformes/hoatzin.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Opisthocomiformes/hoatzin.txt
new file mode 100644
index 0000000000000000000000000000000000000000..81e82d8d6e342aec0b2f0db624a077b71aa25def
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Opisthocomiformes/hoatzin.txt
@@ -0,0 +1,2 @@
+# Originally sourced from Clements Checklist v2022
+Hoatzin
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Otidiformes/bustards.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Otidiformes/bustards.txt
new file mode 100644
index 0000000000000000000000000000000000000000..319d7a65f153a204b868fff872839a095ddf5e7c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Otidiformes/bustards.txt
@@ -0,0 +1,35 @@
+# Originally sourced from Clements Checklist v2022
+Great Bustard
+Arabian Bustard
+Kori Bustard
+Great Indian Bustard
+Australian Bustard
+Houbara Bustard
+Houbara Bustard (Canary Is.)
+Houbara Bustard (North African)
+Macqueen's Bustard
+Ludwig's Bustard
+Denham's Bustard
+Denham's Bustard (Denham's)
+Denham's Bustard (Jackson's)
+Denham's Bustard (Stanley's)
+Heuglin's Bustard
+Nubian Bustard
+White-bellied Bustard
+White-bellied Bustard (White-bellied)
+White-bellied Bustard (Barrow's)
+Blue Bustard
+Karoo Bustard
+Rüppell's Bustard
+Little Brown Bustard
+Savile's Bustard
+Buff-crested Bustard
+Red-crested Bustard
+Black Bustard
+White-quilled Bustard
+Black-bellied Bustard
+Hartlaub's Bustard
+Bengal Florican
+Lesser Florican
+Little Bustard
+bustard sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/accentors.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/accentors.txt
new file mode 100644
index 0000000000000000000000000000000000000000..bdb5772649ff688cc4791d1c39688727acfa60d6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/accentors.txt
@@ -0,0 +1,16 @@
+# Originally sourced from Clements Checklist v2022
+Alpine Accentor
+Altai Accentor
+Robin Accentor
+Rufous-breasted Accentor
+Siberian Accentor
+Radde's Accentor
+Radde's Accentor (Radde's)
+Radde's Accentor (Yemen)
+Brown Accentor
+Black-throated Accentor
+Mongolian Accentor
+Dunnock
+Japanese Accentor
+Maroon-backed Accentor
+accentor sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/african_and_green_broadbills.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/african_and_green_broadbills.txt
new file mode 100644
index 0000000000000000000000000000000000000000..fa17efc59e8f5ec06d5a824550428378673ae391
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/african_and_green_broadbills.txt
@@ -0,0 +1,11 @@
+# Originally sourced from Clements Checklist v2022
+African Broadbill
+Gray-headed Broadbill
+Gray-headed Broadbill (Zenker's)
+Gray-headed Broadbill (Sharpe's)
+Gray-headed Broadbill (Gray-headed)
+Rufous-sided Broadbill
+Smithornis sp.
+Green Broadbill
+Hose's Broadbill
+Whitehead's Broadbill
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/african_warblers.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/african_warblers.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3b072e6322517d22c11961c295d188734eae94a8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/african_warblers.txt
@@ -0,0 +1,28 @@
+# Originally sourced from Clements Checklist v2022
+Green Crombec
+Lemon-bellied Crombec
+White-browed Crombec
+White-browed Crombec (White-browed)
+White-browed Crombec (Lendu)
+Northern Crombec
+Northern Crombec (Northern)
+Northern Crombec (Eastern)
+Short-billed Crombec
+Red-capped Crombec
+Red-faced Crombec
+Somali Crombec
+Cape Crombec
+crombec sp.
+Rockrunner
+Moustached Grass-Warbler
+Cape Grassbird
+Victorin's Warbler
+Kemp's Longbill
+Yellow Longbill
+Gray Longbill
+Pulitzer's Longbill
+Kretschmer's Longbill
+longbill sp.
+Grauer's Warbler
+Green Hylia
+Tit-hylia
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/antpittas.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/antpittas.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e98e7ceb97a862f79cccd36f2d699f9ffb83a425
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/antpittas.txt
@@ -0,0 +1,94 @@
+# Originally sourced from Clements Checklist v2022
+Undulated Antpitta
+Giant Antpitta
+Great Antpitta
+Variegated Antpitta
+Moustached Antpitta
+Scaled Antpitta
+Scaled Antpitta (guatimalensis Group)
+Scaled Antpitta (princeps/chocoensis)
+Scaled Antpitta (aripoensis)
+Scaled Antpitta (roraimae)
+Scaled Antpitta (regulus/carmelitae)
+Scaled Antpitta (sororia)
+Tachira Antpitta
+Plain-backed Antpitta
+Ochre-striped Antpitta
+Elusive Antpitta
+Chestnut-crowned Antpitta
+Watkins's Antpitta
+Santa Marta Antpitta
+Cundinamarca Antpitta
+Stripe-headed Antpitta
+Gray-naped Antpitta
+Jocotoco Antpitta
+Chestnut-naped Antpitta
+Pale-billed Antpitta
+White-throated Antpitta
+Yellow-breasted Antpitta
+White-bellied Antpitta
+Rusty-tinged Antpitta
+Bay Antpitta
+Red-and-white Antpitta
+Sierra Nevada Antpitta
+Perija Antpitta
+Bicolored Antpitta
+Muisca Antpitta
+Oxapampa Antpitta
+Ayacucho Antpitta
+Urubamba Antpitta
+Puno Antpitta
+Bolivian Antpitta
+Chami Antpitta
+Equatorial Antpitta
+Muisca/Equatorial Antpitta
+Cajamarca Antpitta
+Chestnut Antpitta
+Chachapoyas Antpitta
+Panao Antpitta
+Junin Antpitta
+antpitta sp. (Rufous/Chestnut Antpitta complex)
+Tawny Antpitta
+Tawny Antpitta (Northern)
+Tawny Antpitta (Western)
+Tawny Antpitta (Southern)
+Urrao Antpitta
+Brown-banded Antpitta
+Rufous-faced Antpitta
+Grallaria sp.
+Speckle-breasted Antpitta
+Streak-chested Antpitta
+Streak-chested Antpitta (Colombian Valleys)
+Streak-chested Antpitta (Baudo)
+Streak-chested Antpitta (Eastern Panama)
+Streak-chested Antpitta (Atlantic Slope)
+Streak-chested Antpitta (Pacific Slope)
+Spotted Antpitta
+Spotted Antpitta (Spotted)
+Spotted Antpitta (Zimmer's)
+Snethlage's Antpitta
+Alta Floresta Antpitta
+Masked Antpitta
+White-browed Antpitta
+White-lored Antpitta
+Amazonian Antpitta
+Thicket Antpitta
+Thrush-like Antpitta
+Tapajos Antpitta
+Tepui Antpitta
+Thrush-like/Tepui Antpitta
+Ochre-breasted Antpitta
+Scallop-breasted Antpitta
+Hooded Antpitta
+Cali Antpitta (undescribed form)
+Peruvian Antpitta
+Ochre-fronted Antpitta
+Rusty-breasted Antpitta
+Rusty-breasted Antpitta (rara)
+Rusty-breasted Antpitta (Rusty-breasted)
+Leymebamba Antpitta
+Slate-crowned Antpitta
+Slate-crowned Antpitta (Slate-crowned)
+Slate-crowned Antpitta (Guianan)
+Sucre Antpitta
+Crescent-faced Antpitta
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/antthrushes.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/antthrushes.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3862199ff3ab4e856f4540e7c915b9a837750030
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/antthrushes.txt
@@ -0,0 +1,18 @@
+# Originally sourced from Clements Checklist v2022
+Rufous-capped Antthrush
+Mayan Antthrush
+Black-faced Antthrush
+Black-faced Antthrush (Central American)
+Black-faced Antthrush (Black-faced)
+Rufous-fronted Antthrush
+Black-headed Antthrush
+Rufous-breasted Antthrush
+Formicarius sp.
+Short-tailed Antthrush
+Striated Antthrush
+Such's Antthrush
+Schwartz's Antthrush
+Rufous-tailed Antthrush
+Barred Antthrush
+Chamaeza sp.
+antthrush sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/asian_and_grauer's_broadbills.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/asian_and_grauer's_broadbills.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e8b106273bfb25b8cc0b55f91ba34c2f038b5bf4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/asian_and_grauer's_broadbills.txt
@@ -0,0 +1,18 @@
+# Originally sourced from Clements Checklist v2022
+Grauer's Broadbill
+Long-tailed Broadbill
+Dusky Broadbill
+Visayan Broadbill
+Wattled Broadbill
+Silver-breasted Broadbill
+Silver-breasted Broadbill (Gray-browed)
+Silver-breasted Broadbill (Silver-breasted)
+Black-and-red Broadbill
+Black-and-red Broadbill (Irrawaddy)
+Black-and-red Broadbill (Black-and-red)
+Banded Broadbill
+Banded Broadbill (Banded)
+Banded Broadbill (Javan)
+Black-and-yellow Broadbill
+Banded/Black-and-yellow Broadbill
+asian broadbill sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/asities.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/asities.txt
new file mode 100644
index 0000000000000000000000000000000000000000..070dbe94d1e734602331be7472f24447958da0e6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/asities.txt
@@ -0,0 +1,6 @@
+# Originally sourced from Clements Checklist v2022
+Velvet Asity
+Schlegel's Asity
+Common Sunbird-Asity
+Yellow-bellied Sunbird-Asity
+Common/Yellow-bellied Sunbird-Asity
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/australasian_robins.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/australasian_robins.txt
new file mode 100644
index 0000000000000000000000000000000000000000..62fa156ce89c8c67c6b39e8fbda4dd9eaf821a04
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/australasian_robins.txt
@@ -0,0 +1,66 @@
+# Originally sourced from Clements Checklist v2022
+Greater Ground-Robin
+Lesser Ground-Robin
+Torrent Flycatcher
+Torrent Flycatcher (Torrent)
+Torrent Flycatcher (New Britain)
+Jacky-winter
+Golden-bellied Flyrobin
+Lemon-bellied Flycatcher
+Lemon-bellied Flycatcher (Lemon-bellied)
+Lemon-bellied Flycatcher (Kimberley)
+Bismarck Flyrobin (undescribed form)
+Yellow-legged Flycatcher
+Olive Flyrobin
+Papuan Flycatcher
+Microeca sp.
+Garnet Robin
+North Island Robin
+South Island Robin
+Tomtit
+Tomtit (New Zealand)
+Tomtit (Snares Is.)
+Chatham Robin
+Scarlet Robin
+Scarlet Robin (Campbell's)
+Scarlet Robin (Scarlet)
+Flame Robin
+Rose Robin
+Pink Robin
+Subalpine Robin
+Snow Mountain Robin
+Norfolk Robin
+Red-capped Robin
+Pacific Robin
+Pacific Robin (Solomons)
+Pacific Robin (Vanuatu)
+Pacific Robin (Samoan)
+Petroica sp.
+Hooded Robin
+Dusky Robin
+White-faced Robin
+Pale-yellow Robin
+Eastern Yellow Robin
+Western Yellow Robin
+Yellow-bellied Robin
+White-breasted Robin
+Mangrove Robin
+Black-chinned Robin
+Black-sided Robin
+White-browed Robin
+Buff-sided Robin
+Olive-yellow Robin
+Black-throated Robin
+White-winged Robin
+Smoky Robin
+White-rumped Robin
+Blue-gray Robin
+Ashy Robin
+Ashy Robin (Ashy)
+Ashy Robin (Black-capped)
+Gray-headed Robin
+Green-backed Robin
+White-eyed Robin
+Papuan Scrub-Robin
+Northern Scrub-Robin
+Southern Scrub-Robin
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/australasian_treecreepers.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/australasian_treecreepers.txt
new file mode 100644
index 0000000000000000000000000000000000000000..fde4517786e085cf186cc1074b7e39b548180f15
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/australasian_treecreepers.txt
@@ -0,0 +1,11 @@
+# Originally sourced from Clements Checklist v2022
+Papuan Treecreeper
+White-throated Treecreeper
+White-throated Treecreeper (Little)
+White-throated Treecreeper (White-throated)
+White-browed Treecreeper
+Red-browed Treecreeper
+Brown Treecreeper
+Black-tailed Treecreeper
+Rufous Treecreeper
+Australian treecreeper sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/australo-papuan_bellbirds.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/australo-papuan_bellbirds.txt
new file mode 100644
index 0000000000000000000000000000000000000000..30f1c3e1b1e472bfb8b258d6ec1a66881d52b86a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/australo-papuan_bellbirds.txt
@@ -0,0 +1,4 @@
+# Originally sourced from Clements Checklist v2022
+Crested Bellbird
+Rufous-naped Bellbird
+Piping Bellbird
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/bearded_reedling.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/bearded_reedling.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e51618d5d41f46a9744bfdf520822db4aaf80c08
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/bearded_reedling.txt
@@ -0,0 +1,2 @@
+# Originally sourced from Clements Checklist v2022
+Bearded Reedling
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/berrypeckers_and_longbills.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/berrypeckers_and_longbills.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5ca11ae614f64031e9a436ee1c4c2e0ebb4ff82a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/berrypeckers_and_longbills.txt
@@ -0,0 +1,16 @@
+# Originally sourced from Clements Checklist v2022
+Obscure Berrypecker
+Black Berrypecker
+Mid-mountain Berrypecker
+Fan-tailed Berrypecker
+Satin Berrypecker
+Streaked Berrypecker
+Spotted Berrypecker
+Spotted Berrypecker (Thick-billed)
+Spotted Berrypecker (Spotted)
+Melanocharis berrypecker sp.
+Yellow-bellied Longbill
+Slaty-chinned Longbill
+Yellow-bellied/Slaty-chinned Longbill
+Spectacled Longbill
+Pygmy Longbill
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/birds-of-paradise.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/birds-of-paradise.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0507a887ac4bba654d07109b08a176f0720790b3
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/birds-of-paradise.txt
@@ -0,0 +1,52 @@
+# Originally sourced from Clements Checklist v2022
+Paradise-crow
+Paradise-crow (Halmahera)
+Paradise-crow (Obi)
+Trumpet Manucode
+Curl-crested Manucode
+Crinkle-collared Manucode
+Jobi Manucode
+Glossy-mantled Manucode
+manucode sp.
+King-of-Saxony Bird-of-Paradise
+Carola's Parotia
+Bronze Parotia
+Western Parotia
+Wahnes's Parotia
+Lawes's Parotia
+Lawes's Parotia (Lawes's)
+Lawes's Parotia (Eastern)
+Twelve-wired Bird-of-Paradise
+Black-billed Sicklebill
+Pale-billed Sicklebill
+Standardwing Bird-of-Paradise
+Vogelkop Lophorina
+Greater Lophorina
+Lesser Lophorina
+Lophorina sp.
+Paradise Riflebird
+Victoria's Riflebird
+Magnificent Riflebird
+Growling Riflebird
+Black Sicklebill
+Brown Sicklebill
+Long-tailed Paradigalla
+Short-tailed Paradigalla
+Splendid Astrapia
+Arfak Astrapia
+Huon Astrapia
+Stephanie's Astrapia
+Ribbon-tailed Astrapia
+Stephanie's x Ribbon-tailed Astrapia (hybrid)
+King Bird-of-Paradise
+Wilson's Bird-of-Paradise
+Magnificent Bird-of-Paradise
+Blue Bird-of-Paradise
+Emperor Bird-of-Paradise
+Red Bird-of-Paradise
+Goldie's Bird-of-Paradise
+Lesser Bird-of-Paradise
+Raggiana Bird-of-Paradise
+Lesser x Raggiana Bird-of-Paradise (hybrid)
+Greater Bird-of-Paradise
+Raggiana x Greater Bird-of-Paradise (hybrid)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/boatbills.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/boatbills.txt
new file mode 100644
index 0000000000000000000000000000000000000000..bdac16ee7b80132fd6c3467adc62c1487483cab4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/boatbills.txt
@@ -0,0 +1,3 @@
+# Originally sourced from Clements Checklist v2022
+Black-breasted Boatbill
+Yellow-breasted Boatbill
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/bowerbirds.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/bowerbirds.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1452214584e3cdf8959696b1bc521c634279b911
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/bowerbirds.txt
@@ -0,0 +1,30 @@
+# Originally sourced from Clements Checklist v2022
+White-eared Catbird
+Ochre-breasted Catbird
+Tan-capped Catbird
+Spotted Catbird
+Huon Catbird
+Black-capped Catbird
+Northern Catbird
+Arfak Catbird
+Black-eared Catbird
+Green Catbird
+Australasian catbird sp.
+Tooth-billed Bowerbird
+Archbold's Bowerbird
+Vogelkop Bowerbird
+MacGregor's Bowerbird
+Streaked Bowerbird
+Golden-fronted Bowerbird
+Golden Bowerbird
+Masked Bowerbird
+Flame Bowerbird
+Fire-maned Bowerbird
+Regent Bowerbird
+Satin Bowerbird
+Regent x Satin Bowerbird (hybrid)
+Western Bowerbird
+Spotted Bowerbird
+Great Bowerbird
+Yellow-breasted Bowerbird
+Fawn-breasted Bowerbird
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/bristlebirds.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/bristlebirds.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d5b72aebc83fa31b6400de76f1bbfda6081cc9ad
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/bristlebirds.txt
@@ -0,0 +1,4 @@
+# Originally sourced from Clements Checklist v2022
+Western Bristlebird
+Eastern Bristlebird
+Rufous Bristlebird
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/bristlehead.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/bristlehead.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9542d29914eeef70e36d3fe268b8b68cfdabd4d0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/bristlehead.txt
@@ -0,0 +1,2 @@
+# Originally sourced from Clements Checklist v2022
+Bornean Bristlehead
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/bulbuls.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/bulbuls.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4c1bc24f0bd103c868479eb974d02213c890eb5f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/bulbuls.txt
@@ -0,0 +1,234 @@
+# Originally sourced from Clements Checklist v2022
+Sombre Greenbul
+Slender-billed Greenbul
+Golden Greenbul
+Black-collared Bulbul
+Red-tailed Bristlebill
+Green-tailed Bristlebill
+Lesser Bristlebill
+Lesser Bristlebill (Brown-eyed)
+Lesser Bristlebill (Yellow-eyed)
+Gray-headed Bristlebill
+bristlebill sp.
+Cameroon Mountain Greenbul
+Shelley's Greenbul
+Shelley's Greenbul (Kakamega)
+Shelley's Greenbul (Shelley's)
+Western Mountain Greenbul
+Eastern Mountain Greenbul
+Eastern Mountain Greenbul (Olive-breasted)
+Eastern Mountain Greenbul (Mountain)
+Uluguru Mountain Greenbul
+Yellow-throated Mountain Greenbul
+Black-browed Mountain Greenbul
+Stripe-cheeked Greenbul
+Stripe-cheeked Greenbul (Stripe-faced)
+Stripe-cheeked Greenbul (Olive-headed)
+Stripe-cheeked Greenbul (Stripe-cheeked)
+Arizelocichla sp.
+Simple Greenbul
+Yellow-necked Greenbul
+Yellow-bellied Greenbul
+Joyful Greenbul
+Prigogine's Greenbul
+Honeyguide Greenbul
+Sjöstedt's Greenbul
+Yellow-throated Greenbul
+Yellow-throated Greenbul (flavicollis)
+Yellow-throated Greenbul (soror)
+Yellow-throated Greenbul (flavigula)
+Spotted Greenbul
+Swamp Greenbul
+Red-tailed Greenbul
+Western Bearded-Greenbul
+Eastern Bearded-Greenbul
+Yellow-bearded Greenbul
+White-bearded Greenbul
+Red-tailed/White-bearded Greenbul
+Criniger sp.
+Gray Greenbul
+Ansorge's Greenbul
+Plain Greenbul
+Plain Greenbul (leonina)
+Plain Greenbul (curvirostris)
+Yellow-whiskered Greenbul
+Little Greenbul
+Eurillas sp.
+Leaf-love
+Terrestrial Brownbul
+Northern Brownbul
+Pale-olive Greenbul
+Gray-olive Greenbul
+Baumann's Greenbul
+Toro Olive-Greenbul
+Fischer's Greenbul
+Cabanis's Greenbul
+Cabanis's Greenbul (Placid)
+Cabanis's Greenbul (Cabanis's)
+Cameroon Olive-Greenbul
+Icterine Greenbul
+Sassi's Greenbul
+Xavier's Greenbul
+Icterine/Xavier's Greenbul
+White-throated Greenbul
+White-throated Greenbul (White-throated)
+White-throated Greenbul (Green-crowned)
+Yellow-streaked Greenbul
+Yellow-streaked Greenbul (Sharpe's)
+Yellow-streaked Greenbul (Yellow-streaked)
+Gray-headed Greenbul
+Tiny Greenbul
+Usambara Greenbul
+Phyllastrephus sp.
+greenbul sp.
+Black-and-white Bulbul
+Puff-backed Bulbul
+Yellow-wattled Bulbul
+Gray-headed Bulbul
+Black-headed Bulbul
+Andaman Bulbul
+Spectacled Bulbul
+Gray-bellied Bulbul
+Scaly-breasted Bulbul
+Black-crested Bulbul
+Flame-throated Bulbul
+Black-capped Bulbul
+Ruby-throated Bulbul
+Bornean Bulbul
+Bare-faced Bulbul
+Crested Finchbill
+Collared Finchbill
+Straw-headed Bulbul
+Striated Bulbul
+Cream-striped Bulbul
+Spot-necked Bulbul
+Styan's Bulbul
+Red-vented Bulbul
+Red-whiskered Bulbul
+Red-vented x Red-whiskered Bulbul (hybrid)
+Red-vented/Red-whiskered Bulbul
+Brown-breasted Bulbul
+Light-vented Bulbul
+Light-vented Bulbul (sinensis)
+Light-vented Bulbul (hainanus)
+Light-vented Bulbul (formosae/orii)
+Styan's x Light-vented Bulbul (hybrid)
+Styan's/Light-vented Bulbul
+Common Bulbul
+Common Bulbul (Common)
+Common Bulbul (Somali)
+Common Bulbul (Dodson's)
+Common Bulbul (Dark-capped)
+Black-fronted Bulbul
+Cape Bulbul
+White-spectacled Bulbul
+White-eared Bulbul
+Red-vented x White-eared Bulbul (hybrid)
+Himalayan Bulbul
+Sooty-headed Bulbul
+Red-vented x Sooty-headed Bulbul (hybrid)
+Blue-wattled Bulbul
+Aceh Bulbul
+Orange-spotted Bulbul
+Aceh/Orange-spotted Bulbul
+Stripe-throated Bulbul
+Stripe-throated Bulbul (Pale-eyed)
+Stripe-throated Bulbul (Stripe-throated)
+Yellow-throated Bulbul
+Yellow-eared Bulbul
+Flavescent Bulbul
+Flavescent Bulbul (Flavescent)
+Flavescent Bulbul (Pale-faced)
+White-browed Bulbul
+Yellow-vented Bulbul
+Olive-winged Bulbul
+Stripe-throated/Olive-winged Bulbul
+Ashy-fronted Bulbul
+Cream-eyed Bulbul
+Ayeyarwady Bulbul
+Streak-eared Bulbul
+Cream-vented Bulbul
+Cream-vented Bulbul (White-eyed)
+Cream-vented Bulbul (Red-eyed)
+Cream-eyed/Cream-vented Bulbul
+Red-eyed Bulbul
+Pycnonotus sp.
+Brachypodius/Rubigula/Pycnonotus sp.
+Hairy-backed Bulbul
+Hook-billed Bulbul
+Finsch's Bulbul
+Yellow-bellied Bulbul
+Gray-throated Bulbul
+Gray-cheeked Bulbul
+Penan Bulbul
+Brown-cheeked Bulbul
+White-throated Bulbul
+Ochraceous Bulbul
+Puff-throated Bulbul
+Puff-throated Bulbul (Gray-crowned)
+Puff-throated Bulbul (Puff-throated)
+Sulphur-bellied Bulbul
+Buff-vented Bulbul
+Charlotte's Bulbul
+Gray-eyed Bulbul
+Gray-eyed Bulbul (Gray-eyed)
+Gray-eyed Bulbul (innectens)
+Cachar Bulbul
+Olive Bulbul
+Olive Bulbul (Olive)
+Olive Bulbul (Baker's)
+Buff-vented/Olive Bulbul
+Yellow-browed Bulbul
+Iole sp.
+Malagasy Bulbul
+Seychelles Bulbul
+Grand Comoro Bulbul
+Moheli Bulbul
+Reunion Bulbul
+Mauritius Bulbul
+Black Bulbul
+Black Bulbul (psaroides Group)
+Black Bulbul (Black)
+Black Bulbul (leucocephalus Group)
+Black Bulbul (perniger)
+Black Bulbul (Gray-winged)
+Square-tailed Bulbul
+Square-tailed Bulbul (Indian)
+Square-tailed Bulbul (Sri Lanka)
+Nicobar Bulbul
+White-headed Bulbul
+Brown-eared Bulbul
+Sangihe Golden-Bulbul
+Togian Golden-Bulbul
+Sula Golden-Bulbul
+Sula Golden-Bulbul (Banggai)
+Sula Golden-Bulbul (Sula)
+Halmahera Golden-Bulbul
+Obi Golden-Bulbul
+Buru Golden-Bulbul
+Seram Golden-Bulbul
+Visayan Bulbul
+Zamboanga Bulbul
+Yellowish Bulbul
+Yellowish Bulbul (Yellowish)
+Yellowish Bulbul (Sulu)
+Yellowish Bulbul (Camiguin)
+Mindoro Bulbul
+Streak-breasted Bulbul
+Streak-breasted Bulbul (Tablas)
+Streak-breasted Bulbul (Cebu)
+Streak-breasted Bulbul (Siquijor)
+Philippine Bulbul
+Ashy Bulbul
+Ashy Bulbul (Ashy)
+Ashy Bulbul (Brown-backed)
+Cinereous Bulbul
+Cinereous Bulbul (Cinereous)
+Cinereous Bulbul (Green-winged)
+Chestnut Bulbul
+Mountain Bulbul
+Sunda Bulbul
+Sunda Bulbul (Sumatran)
+Sunda Bulbul (Javan)
+Streaked Bulbul
+Pycnonotidae sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/bush_warblers_and_allies.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/bush_warblers_and_allies.txt
new file mode 100644
index 0000000000000000000000000000000000000000..522dcf1cf294b43e9ea74d265c5a8dc47f27aa77
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/bush_warblers_and_allies.txt
@@ -0,0 +1,52 @@
+# Originally sourced from Clements Checklist v2022
+Chestnut-capped Flycatcher
+Yellow Flycatcher
+Livingstone's Flycatcher
+Scrub Warbler
+Scrub Warbler (Western)
+Scrub Warbler (Eastern)
+Neumann's Warbler
+Pale-footed Bush Warbler
+Timor Stubtail
+Bornean Stubtail
+Asian Stubtail
+Gray-bellied Tesia
+Slaty-bellied Tesia
+Gray-bellied/Slaty-bellied Tesia
+Javan Tesia
+Russet-capped Tesia
+tesia sp. (genus Tesia)
+Chestnut-crowned Bush Warbler
+Gray-sided Bush Warbler
+Chestnut-headed Tesia
+Cetti's Warbler
+Cettia sp.
+Yellow-bellied Warbler
+Rufous-faced Warbler
+Black-faced Warbler
+Mountain Tailorbird
+Rufous-headed Tailorbird
+Broad-billed Warbler
+Mountain Tailorbird/Broad-billed Warbler
+Philippine Bush Warbler
+Japanese Bush Warbler
+Japanese Bush Warbler (Northern)
+Japanese Bush Warbler (Bonin)
+Manchurian Bush Warbler
+Japanese/Manchurian Bush Warbler
+Palau Bush Warbler
+Tanimbar Bush Warbler
+Shade Warbler
+Odedi
+Fiji Bush Warbler
+Brownish-flanked Bush Warbler
+Brownish-flanked Bush Warbler (Brownish-flanked)
+Brownish-flanked Bush Warbler (Taiwan)
+Hume's Bush Warbler
+Yellowish-bellied Bush Warbler
+Brownish-flanked/Yellowish-bellied Bush Warbler
+Aberrant Bush Warbler
+Aberrant Bush Warbler (Sunda)
+Aberrant Bush Warbler (Aberrant)
+Aberrant Bush Warbler (Perplexing)
+bush warbler sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/bushshrikes_and_allies.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/bushshrikes_and_allies.txt
new file mode 100644
index 0000000000000000000000000000000000000000..045fec909f2f2866f3c29506bf5777b0d8fc7290
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/bushshrikes_and_allies.txt
@@ -0,0 +1,73 @@
+# Originally sourced from Clements Checklist v2022
+Brubru
+Northern Puffback
+Pringle's Puffback
+Black-backed Puffback
+Red-eyed Puffback
+Pink-footed Puffback
+Sabine's Puffback
+puffback sp.
+Marsh Tchagra
+Marsh Tchagra (Marsh)
+Marsh Tchagra (Anchieta's)
+Black-crowned Tchagra
+Black-crowned Tchagra (Hooded)
+Black-crowned Tchagra (Black-crowned)
+Brown-crowned Tchagra
+Three-streaked Tchagra
+Southern Tchagra
+tchagra sp.
+Red-naped Bushshrike
+Coastal Boubou
+Lühder's Bushshrike
+Braun's Bushshrike
+Gabela Bushshrike
+Turati's Boubou
+Ethiopian Boubou
+Tropical Boubou
+Zanzibar Boubou
+Gabon Boubou
+Gabon Boubou (Gabon)
+Gabon Boubou (Okavango)
+Southern Boubou
+Yellow-crowned Gonolek
+Black-headed Gonolek
+Crimson-breasted Gonolek
+Papyrus Gonolek
+Yellow-breasted Boubou
+Slate-colored Boubou
+Lowland Sooty Boubou
+Willard's Sooty Boubou
+Western Boubou
+Western Boubou (Cameroon)
+Western Boubou (Bioko)
+Albertine Boubou
+Fülleborn's Boubou
+Fülleborn's Boubou (Usambara)
+Fülleborn's Boubou (Fülleborn's)
+boubou sp.
+Rosy-patched Bushshrike
+Bokmakierie
+Bokmakierie (Southern)
+Bokmakierie (Chimanimani)
+Gray-green Bushshrike
+Sulphur-breasted Bushshrike
+Olive Bushshrike
+Many-colored Bushshrike
+Black-fronted Bushshrike
+Mount Kupe Bushshrike
+Four-colored Bushshrike
+Four-colored Bushshrike (Gorgeous)
+Four-colored Bushshrike (Four-colored)
+Doherty's Bushshrike
+Fiery-breasted Bushshrike
+Lagden's Bushshrike
+Lagden's Bushshrike (Lagden's)
+Lagden's Bushshrike (Eastern)
+Green-breasted Bushshrike
+Gray-headed Bushshrike
+Monteiro's Bushshrike
+Monteiro's Bushshrike (Mt. Cameroon)
+Monteiro's Bushshrike (Monteiro's)
+Uluguru Bushshrike
+bushshrike sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/cardinals_and_allies.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/cardinals_and_allies.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8c6fb325ede3f3ce43f84f8cfa6a2b7a05d1d7e9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/cardinals_and_allies.txt
@@ -0,0 +1,100 @@
+# Originally sourced from Clements Checklist v2022
+Rose-throated Tanager
+Hepatic Tanager
+Hepatic Tanager (Northern)
+Hepatic Tanager (Highland)
+Hepatic Tanager (Lowland)
+Summer Tanager
+Hepatic/Summer Tanager
+Scarlet Tanager
+Summer/Scarlet Tanager
+Western Tanager
+Summer x Western Tanager (hybrid)
+Scarlet x Western Tanager (hybrid)
+Flame-colored Tanager
+Hepatic x Flame-colored Tanager (hybrid)
+Western x Flame-colored Tanager (hybrid)
+White-winged Tanager
+Red-headed Tanager
+Red-hooded Tanager
+tanager sp. (Piranga sp.)
+Red-crowned Ant-Tanager
+Red-crowned Ant-Tanager (Northern)
+Red-crowned Ant-Tanager (Scarlet-throated)
+Red-crowned Ant-Tanager (Red)
+Red-throated Ant-Tanager
+Red-throated Ant-Tanager (Salvin's)
+Red-throated Ant-Tanager (Red-throated)
+Sooty Ant-Tanager
+Black-cheeked Ant-Tanager
+Crested Ant-Tanager
+ant-tanager sp.
+Carmiol's Tanager
+Carmiol's Tanager (Carmiol's)
+Carmiol's Tanager (Yellow-lored)
+Lemon-spectacled Tanager
+Ochre-breasted Tanager
+Chlorothraupis sp.
+Black-faced Grosbeak
+Yellow-green Grosbeak
+Red-and-black Grosbeak
+Crimson-collared Grosbeak
+Vermilion Cardinal
+Northern Cardinal
+Northern Cardinal (Common)
+Northern Cardinal (Long-crested)
+Pyrrhuloxia
+Northern Cardinal x Pyrrhuloxia (hybrid)
+Northern Cardinal/Pyrrhuloxia
+Yellow Grosbeak
+Yellow Grosbeak (Northern)
+Yellow Grosbeak (Guatemalan)
+Golden Grosbeak
+Black-thighed Grosbeak
+Black-backed Grosbeak
+Black-backed Grosbeak (Merida)
+Black-backed Grosbeak (Yellow-throated)
+Black-backed Grosbeak (Yellow-rumped)
+Black-backed Grosbeak (Black-rumped)
+Rose-breasted Grosbeak
+Scarlet Tanager x Rose-breasted Grosbeak (hybrid)
+Black-headed Grosbeak
+Rose-breasted x Black-headed Grosbeak (hybrid)
+Rose-breasted/Black-headed Grosbeak
+Pheucticus sp.
+Red-breasted Chat
+Red-breasted Chat (Red-breasted)
+Red-breasted Chat (Tres Marias Is.)
+Gray-throated Chat
+Rose-breasted Chat
+Rose-breasted Chat (Rose-breasted)
+Rose-breasted Chat (Rose-bellied)
+Blue Seedeater
+Blue Seedeater (Slate-blue)
+Blue Seedeater (Blue)
+Blue Seedeater (Equatorial)
+Carrizal Seedeater
+Blackish-blue Seedeater
+Glaucous-blue Grosbeak
+Blue-black Grosbeak
+Amazonian Grosbeak
+Blue-black/Amazonian Grosbeak
+Ultramarine Grosbeak
+Glaucous-blue/Ultramarine Grosbeak
+Blue Bunting
+Blue Bunting (Middle America)
+Blue Bunting (West Mexico)
+Blue Grosbeak
+Lazuli Bunting
+Indigo Bunting
+Blue Grosbeak x Indigo Bunting (hybrid)
+Lazuli x Indigo Bunting (hybrid)
+Lazuli/Indigo Bunting
+Rose-bellied Bunting
+Orange-breasted Bunting
+Varied Bunting
+Painted Bunting
+Indigo x Painted Bunting (hybrid)
+Varied x Painted Bunting (hybrid)
+Passerina sp.
+Dickcissel
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/chat-tanagers.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/chat-tanagers.txt
new file mode 100644
index 0000000000000000000000000000000000000000..379781adbf83a00971040960eb94c32024d0e26a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/chat-tanagers.txt
@@ -0,0 +1,3 @@
+# Originally sourced from Clements Checklist v2022
+Western Chat-Tanager
+Eastern Chat-Tanager
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/cisticolas_and_allies.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/cisticolas_and_allies.txt
new file mode 100644
index 0000000000000000000000000000000000000000..cb7cb65bf60494052b928e25bed282a2ebd54548
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/cisticolas_and_allies.txt
@@ -0,0 +1,241 @@
+# Originally sourced from Clements Checklist v2022
+Common Jery
+Green Jery
+Stripe-throated Jery
+Stripe-throated Jery (Stripe-throated)
+Stripe-throated Jery (Subdesert)
+jery sp.
+Leyte Plumed-Warbler
+Mindanao Plumed-Warbler
+Salvadori's Eremomela
+Yellow-vented Eremomela
+Yellow-bellied Eremomela
+Senegal Eremomela
+Green-backed Eremomela
+Greencap Eremomela
+Yellow-rumped Eremomela
+Rufous-crowned Eremomela
+Turner's Eremomela
+Black-necked Eremomela
+Burnt-neck Eremomela
+eremomela sp.
+Red-winged Gray Warbler
+Sierra Leone Prinia
+White-chinned Prinia
+Roberts's Warbler
+Namaqua Warbler
+Green Longtail
+Green Longtail (Green)
+Green Longtail (Bioko)
+Black-collared Apalis
+Rwenzori Apalis
+African Tailorbird
+Long-billed Tailorbird
+Long-billed Tailorbird (Long-billed)
+Long-billed Tailorbird (Njesi)
+White-tailed Warbler
+White-tailed Warbler (Highland)
+White-tailed Warbler (Alexander's)
+White-tailed Warbler (Bioko)
+Miombo Wren-Warbler
+Stierling's Wren-Warbler
+Miombo x Stierling's Wren-Warbler (hybrid)
+Miombo/Stierling's Wren-Warbler
+Gray Wren-Warbler
+Barred Wren-Warbler
+Green-backed Camaroptera
+Green-backed Camaroptera (Gray-backed)
+Green-backed Camaroptera (Green-backed)
+Hartert's Camaroptera
+Green-backed/Hartert's Camaroptera
+Yellow-browed Camaroptera
+Olive-green Camaroptera
+Olive-green Camaroptera (Olive-green)
+Olive-green Camaroptera (Tawny-breasted)
+camaroptera sp.
+Cricket Longtail
+Buff-bellied Warbler
+Bar-throated Apalis
+Taita Apalis
+Yellow-throated Apalis
+Namuli Apalis
+Black-capped Apalis
+Black-capped Apalis (Black-capped)
+Black-capped Apalis (White-tailed)
+Black-throated Apalis
+White-winged Apalis
+Masked Apalis
+Black-faced Apalis
+Yellow-breasted Apalis
+Yellow-breasted Apalis (Brown-tailed)
+Yellow-breasted Apalis (Yellow-breasted)
+Rudd's Apalis
+Sharpe's Apalis
+Buff-throated Apalis
+Buff-throated Apalis (Black-breasted)
+Buff-throated Apalis (Angola)
+Buff-throated Apalis (Buff-throated)
+Kungwe Apalis
+Bamenda Apalis
+Gosling's Apalis
+Kabobo Apalis
+Chestnut-throated Apalis
+Chapin's Apalis
+Black-headed Apalis
+Chirinda Apalis
+Gray Apalis
+Gray Apalis (Sclater's)
+Gray Apalis (Angola)
+Gray Apalis (Gray)
+Brown-headed Apalis
+Karamoja Apalis
+apalis sp.
+Common Tailorbird
+Rufous-fronted Tailorbird
+Dark-necked Tailorbird
+Common/Dark-necked Tailorbird
+Cambodian Tailorbird
+Ashy Tailorbird
+Dark-necked/Ashy Tailorbird
+Olive-backed Tailorbird
+Rufous-tailed Tailorbird
+Visayan Tailorbird
+Gray-backed Tailorbird
+Green-backed Tailorbird
+Yellow-breasted Tailorbird
+White-browed Tailorbird
+White-eared Tailorbird
+tailorbird sp.
+Himalayan Prinia
+Striped Prinia
+Burmese Prinia
+Annam Prinia
+Brown Prinia
+Burmese/Brown Prinia
+Black-throated Prinia
+Rufous-crowned Prinia
+Hill Prinia
+Gray-crowned Prinia
+Rufous-fronted Prinia
+Rufescent Prinia
+Gray-breasted Prinia
+Rufescent/Gray-breasted Prinia
+Bar-winged Prinia
+Graceful Prinia
+Delicate Prinia
+Graceful/Delicate Prinia
+Jungle Prinia
+Yellow-bellied Prinia
+Yellow-bellied Prinia (Yellow-bellied)
+Yellow-bellied Prinia (Chinese)
+Ashy Prinia
+Yellow-bellied/Ashy Prinia
+Tawny-flanked Prinia
+Plain Prinia
+Pale Prinia
+River Prinia
+Black-chested Prinia
+Karoo Prinia
+Drakensberg Prinia
+Sao Tome Prinia
+Banded Prinia
+Banded Prinia (Banded)
+Banded Prinia (Black-faced)
+Red-winged Prinia
+Red-fronted Prinia
+Red-fronted Prinia (Red-fronted)
+Red-fronted Prinia (Rufous-backed)
+prinia sp.
+Kopje Warbler
+Mrs. Moreau's Warbler
+Mrs. Moreau's Warbler (Mrs. Moreau's)
+Mrs. Moreau's Warbler (Rubeho)
+Socotra Warbler
+Rufous-eared Warbler
+Black-capped Rufous-Warbler
+Black-faced Rufous-Warbler
+Oriole Warbler
+Gray-capped Warbler
+Red-faced Cisticola
+Red-faced Cisticola (Red-faced)
+Red-faced Cisticola (Lepe)
+Singing Cisticola
+Whistling Cisticola
+Chattering Cisticola
+Trilling Cisticola
+Bubbling Cisticola
+Chubb's Cisticola
+Chubb's Cisticola (Discolored)
+Chubb's Cisticola (Chubb's)
+Hunter's Cisticola
+Black-lored Cisticola
+Kilombero Cisticola
+Rock-loving Cisticola
+Rock-loving Cisticola (Rock-loving)
+Rock-loving Cisticola (Huambo)
+Rock-loving Cisticola (Lazy)
+Boran Cisticola
+Rattling Cisticola
+Ashy Cisticola
+Red-pate Cisticola
+Dorst's Cisticola
+Tinkling Cisticola
+Red-headed Cisticola
+Red-headed Cisticola (Namib)
+Red-headed Cisticola (Red-headed)
+Red-headed Cisticola (Plain-breasted)
+Wailing Cisticola
+Wailing Cisticola (Lynes's)
+Wailing Cisticola (Wailing)
+Tana River Cisticola
+Churring Cisticola
+Coastal Cisticola
+White-tailed Cisticola
+Luapula Cisticola
+Chirping Cisticola
+Ethiopian Cisticola
+Winding Cisticola
+Winding/Coastal/Luapula Cisticola
+Rufous-winged Cisticola
+Carruthers's Cisticola
+Levaillant's Cisticola
+Stout Cisticola
+Stout Cisticola (Western)
+Stout Cisticola (Stout)
+Stout Cisticola (Omo)
+Stout Cisticola (Rufous-crowned)
+Stout Cisticola (Angola)
+Croaking Cisticola
+Piping Cisticola
+Aberdare Cisticola
+Tabora Cisticola
+Slender-tailed Cisticola
+Siffling Cisticola
+Rufous Cisticola
+Foxy Cisticola
+Tiny Cisticola
+Zitting Cisticola
+Zitting Cisticola (Western)
+Zitting Cisticola (African)
+Zitting Cisticola (Double Zitting)
+Zitting Cisticola (Far Eastern)
+Socotra Cisticola
+Madagascar Cisticola
+Desert Cisticola
+Cloud Cisticola
+Cloud Cisticola (Cloud)
+Cloud Cisticola (Cape)
+Black-backed Cisticola
+Black-backed Cisticola (winneba)
+Black-backed Cisticola (Black-backed)
+Cloud-scraping Cisticola
+Pectoral-patch Cisticola
+Pectoral-patch Cisticola (Lynes's)
+Pectoral-patch Cisticola (Pectoral-patch)
+Pale-crowned Cisticola
+Wing-snapping Cisticola
+Wing-snapping Cisticola (Gabon)
+Wing-snapping Cisticola (Wing-snapping)
+Golden-headed Cisticola
+Zitting/Golden-headed Cisticola
+cisticola sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/cotingas.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/cotingas.txt
new file mode 100644
index 0000000000000000000000000000000000000000..40d5ad981b5ce00a28523ac32814132c67ef3daf
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/cotingas.txt
@@ -0,0 +1,76 @@
+# Originally sourced from Clements Checklist v2022
+Hooded Berryeater
+Black-headed Berryeater
+Green-and-black Fruiteater
+Green-and-black Fruiteater (Green-and-black)
+Green-and-black Fruiteater (Sira)
+Band-tailed Fruiteater
+Band-tailed Fruiteater (intermedia)
+Band-tailed Fruiteater (signata)
+Barred Fruiteater
+Golden-breasted Fruiteater
+Orange-breasted Fruiteater
+Black-chested Fruiteater
+Masked Fruiteater
+Scarlet-breasted Fruiteater
+Scarlet-breasted Fruiteater (squamipectus)
+Scarlet-breasted Fruiteater (frontalis)
+Fiery-throated Fruiteater
+Handsome Fruiteater
+Red-banded Fruiteater
+Pipreola sp.
+Scaled Fruiteater
+White-cheeked Cotinga
+Peruvian Plantcutter
+White-tipped Plantcutter
+Rufous-tailed Plantcutter
+Swallow-tailed Cotinga
+Swallow-tailed Cotinga (Palkachupa)
+Swallow-tailed Cotinga (Swallow-tailed)
+Chestnut-bellied Cotinga
+Bay-vented Cotinga
+Red-crested Cotinga
+Chestnut-crested Cotinga
+Guianan Red-Cotinga
+Black-necked Red-Cotinga
+Guianan Cock-of-the-rock
+Andean Cock-of-the-rock
+Gray-tailed Piha
+Olivaceous Piha
+Crimson Fruitcrow
+Purple-throated Fruitcrow
+Red-ruffed Fruitcrow
+Bare-necked Umbrellabird
+Amazonian Umbrellabird
+Long-wattled Umbrellabird
+Capuchinbird
+Lovely Cotinga
+Turquoise Cotinga
+Blue Cotinga
+Plum-throated Cotinga
+Purple-breasted Cotinga
+Banded Cotinga
+Spangled Cotinga
+blue cotinga sp.
+Rufous Piha
+Rose-collared Piha
+Screaming Piha
+Cinnamon-vented Piha
+Black-and-gold Cotinga
+Gray-winged Cotinga
+Chestnut-capped Piha
+Dusky Piha
+Scimitar-winged Piha
+Three-wattled Bellbird
+White Bellbird
+Bearded Bellbird
+Bare-throated Bellbird
+Purple-throated Cotinga
+Black-tipped Cotinga
+Yellow-billed Cotinga
+Snowy Cotinga
+Pompadour Cotinga
+White-tailed Cotinga
+White-winged Cotinga
+Bare-necked Fruitcrow
+Black-faced Cotinga
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/crescentchests.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/crescentchests.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ad51172dc15ebb1f91f13352cbb5b189677ef8cb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/crescentchests.txt
@@ -0,0 +1,7 @@
+# Originally sourced from Clements Checklist v2022
+Collared Crescentchest
+Collared Crescentchest (Double-collared)
+Collared Crescentchest (Collared)
+Olive-crowned Crescentchest
+Marañon Crescentchest
+Elegant Crescentchest
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/crested_shrikejay.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/crested_shrikejay.txt
new file mode 100644
index 0000000000000000000000000000000000000000..dc271a89df760a4a9e756234ce50d197a1c4536b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/crested_shrikejay.txt
@@ -0,0 +1,2 @@
+# Originally sourced from Clements Checklist v2022
+Crested Shrikejay
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/crows,_jays,_and_magpies.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/crows,_jays,_and_magpies.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d24d3433ed6fdf86f468063aaec21606798b61ac
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/crows,_jays,_and_magpies.txt
@@ -0,0 +1,208 @@
+# Originally sourced from Clements Checklist v2022
+Black Magpie
+Black Magpie (Malayan)
+Black Magpie (Bornean)
+Siberian Jay
+Sichuan Jay
+Canada Jay
+Canada Jay (Boreal)
+Canada Jay (Rocky Mts.)
+Canada Jay (Pacific)
+White-throated Jay
+Dwarf Jay
+Black-throated Jay
+Silvery-throated Jay
+Azure-hooded Jay
+Beautiful Jay
+Black-collared Jay
+Black-collared Jay (Black-collared)
+Black-collared Jay (Quindio)
+Turquoise Jay
+White-collared Jay
+Black-throated Magpie-Jay
+White-throated Magpie-Jay
+Black-throated x White-throated Magpie-Jay (hybrid)
+Black-throated/White-throated Magpie-Jay
+Brown Jay
+Tufted Jay
+Black-chested Jay
+Green Jay
+Green Jay (Green)
+Green Jay (Inca)
+Bushy-crested Jay
+San Blas Jay
+Yucatan Jay
+Purplish-backed Jay
+Purplish Jay
+Azure Jay
+Violaceous Jay
+Curl-crested Jay
+White-tailed Jay
+Cayenne Jay
+Azure-naped Jay
+Azure-naped Jay (Azure-naped)
+Azure-naped Jay (Campina)
+Plush-crested Jay
+White-naped Jay
+Cyanocorax sp.
+Pinyon Jay
+Steller's Jay
+Steller's Jay (Coastal)
+Steller's Jay (Interior)
+Steller's Jay (Central American)
+Blue Jay
+Green x Blue Jay (hybrid)
+Steller's x Blue Jay (hybrid)
+Florida Scrub-Jay
+Island Scrub-Jay
+California Scrub-Jay
+Steller's Jay x California Scrub-Jay (hybrid)
+Woodhouse's Scrub-Jay
+Woodhouse's Scrub-Jay (Woodhouse's)
+Woodhouse's Scrub-Jay (Sumichrast's)
+Steller's Jay x Woodhouse's Scrub-Jay (hybrid)
+California/Woodhouse's Scrub-Jay
+Mexican Jay
+Mexican Jay (Arizona)
+Mexican Jay (Couch's)
+Mexican Jay (San Luis Potosi)
+Transvolcanic Jay
+Mexican/Transvolcanic Jay
+Unicolored Jay
+Aphelocoma sp.
+Eurasian Jay
+Eurasian Jay (Eurasian)
+Eurasian Jay (Black-capped)
+Eurasian Jay (Black-crowned)
+Eurasian Jay (Iranian)
+Eurasian Jay (Brandt's)
+Eurasian Jay (Himalayan)
+Eurasian Jay (White-faced)
+Eurasian Jay (Japanese)
+Black-headed Jay
+Lidth's Jay
+jay sp.
+Iberian Magpie
+Azure-winged Magpie
+Azure-winged Magpie (Azure-winged)
+Azure-winged Magpie (Japanese)
+Sri Lanka Blue-Magpie
+Taiwan Blue-Magpie
+Yellow-billed Blue-Magpie
+Red-billed Blue-Magpie
+Yellow-billed/Red-billed Blue-Magpie
+White-winged Magpie
+White-winged Magpie (Black-tailed)
+White-winged Magpie (Gray-tailed)
+Common Green-Magpie
+Common Green-Magpie (Common)
+Common Green-Magpie (Yellow-crowned)
+Indochinese Green-Magpie
+Javan Green-Magpie
+Bornean Green-Magpie
+green-magpie sp.
+Rufous Treepie
+Gray Treepie
+Rufous/Gray Treepie
+Sumatran Treepie
+Bornean Treepie
+White-bellied Treepie
+Collared Treepie
+Andaman Treepie
+Racket-tailed Treepie
+Hooded Treepie
+Ratchet-tailed Treepie
+treepie sp.
+Maghreb Magpie
+Asir Magpie
+Black-rumped Magpie
+Oriental Magpie
+Eurasian Magpie
+Eurasian Magpie (Iberian)
+Eurasian Magpie (Eurasian)
+Eurasian Magpie (Kamchatkan)
+Oriental/Eurasian Magpie
+Black-billed Magpie
+Yellow-billed Magpie
+Pica sp.
+Stresemann's Bush-Crow
+Mongolian Ground-Jay
+Xinjiang Ground-Jay
+Turkestan Ground-Jay
+Iranian Ground-Jay
+Clark's Nutcracker
+Eurasian Nutcracker
+Eurasian Nutcracker (Northern)
+Eurasian Nutcracker (Southern)
+Kashmir Nutcracker
+Red-billed Chough
+Red-billed Chough (Red-billed)
+Red-billed Chough (Ethiopian)
+Yellow-billed Chough
+Red-billed/Yellow-billed Chough
+Piapiac
+Eurasian Jackdaw
+Daurian Jackdaw
+Eurasian/Daurian Jackdaw
+House Crow
+New Caledonian Crow
+Banggai Crow
+Slender-billed Crow
+Slender-billed Crow (Sierra Madre)
+Slender-billed Crow (Slender-billed)
+Violet Crow
+Piping Crow
+Flores Crow
+Mariana Crow
+Long-billed Crow
+Guadalcanal Crow
+Bougainville Crow
+Brown-headed Crow
+Gray Crow
+Cape Crow
+Rook
+American Crow
+Palm Crow
+Palm Crow (Cuban)
+Palm Crow (Hispaniolan)
+Cuban Crow
+White-necked Crow
+Jamaican Crow
+Tamaulipas Crow
+Sinaloa Crow
+Fish Crow
+House x Fish Crow (hybrid)
+American/Fish Crow
+Hawaiian Crow
+Chihuahuan Raven
+Carrion Crow
+Carrion Crow (Western)
+Carrion Crow (Eastern)
+Hooded Crow
+Hooded Crow (Hooded)
+Hooded Crow (Mesopotamian)
+Carrion x Hooded Crow (hybrid)
+Carrion/Hooded Crow
+Large-billed Crow
+Large-billed Crow (Large-billed)
+Large-billed Crow (Indian Jungle)
+Large-billed Crow (Eastern)
+Torresian Crow
+Bismarck Crow
+Little Crow
+crow sp.
+Australian Raven
+Little Raven
+Forest Raven
+Collared Crow
+Pied Crow
+Brown-necked Raven
+Somali Crow
+Pied x Somali Crow (hybrid)
+Fan-tailed Raven
+White-necked Raven
+Thick-billed Raven
+Common Raven
+raven sp.
+crow/raven sp.
+corvid sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/cuban_warblers.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/cuban_warblers.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9493c34a41884620198578f97ef3cb583a422d62
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/cuban_warblers.txt
@@ -0,0 +1,5 @@
+# Originally sourced from Clements Checklist v2022
+Yellow-headed Warbler
+Oriente Warbler
+Yellow-headed x Oriente Warbler (hybrid)
+Yellow-headed/Oriente Warbler
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/cuckooshrikes.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/cuckooshrikes.txt
new file mode 100644
index 0000000000000000000000000000000000000000..cd3c2175662ce43ce2d35eb71c83f3721ee81f4d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/cuckooshrikes.txt
@@ -0,0 +1,128 @@
+# Originally sourced from Clements Checklist v2022
+White-bellied Minivet
+Jerdon's Minivet
+Fiery Minivet
+Small Minivet
+Gray-chinned Minivet
+Gray-chinned Minivet (Gray-chinned)
+Gray-chinned Minivet (Gray-throated)
+Sunda Minivet
+Short-billed Minivet
+Flores Minivet
+Long-tailed Minivet
+Orange Minivet
+Scarlet Minivet
+Scarlet Minivet (Scarlet)
+Scarlet Minivet (Philippine Red)
+Scarlet Minivet (Philippine Yellow)
+Scarlet Minivet (Javan)
+Ryukyu Minivet
+Ashy Minivet
+Ryukyu/Ashy Minivet
+Brown-rumped Minivet
+Ashy/Brown-rumped Minivet
+Rosy Minivet
+minivet sp. (red minivet sp.)
+minivet sp. (gray minivet sp.)
+minivet sp.
+Comoros Cuckooshrike
+Madagascar Cuckooshrike
+Grauer's Cuckooshrike
+Gray Cuckooshrike
+White-breasted Cuckooshrike
+Stout-billed Cuckooshrike
+Hooded Cuckooshrike
+Pied Cuckooshrike
+Cerulean Cuckooshrike
+Ground Cuckooshrike
+Barred Cuckooshrike
+Boyer's Cuckooshrike
+Black-faced Cuckooshrike
+North Melanesian Cuckooshrike
+White-bellied Cuckooshrike
+Moluccan Cuckooshrike
+Manus Cuckooshrike
+South Melanesian Cuckooshrike
+Large Cuckooshrike
+Large Cuckooshrike (Indian)
+Large Cuckooshrike (Large)
+Large Cuckooshrike (Malayan)
+Bar-bellied Cuckooshrike
+Bar-bellied Cuckooshrike (Bar-bellied)
+Bar-bellied Cuckooshrike (Visayan)
+Andaman Cuckooshrike
+Sunda Cuckooshrike
+Javan Cuckooshrike
+Wallacean Cuckooshrike
+Buru Cuckooshrike
+White-rumped Cuckooshrike
+Slaty Cuckooshrike
+Coracina sp.
+Ghana Cuckooshrike
+Oriole Cuckooshrike
+Black Cuckooshrike
+Petit's Cuckooshrike
+Red-shouldered Cuckooshrike
+Purple-throated Cuckooshrike
+african cuckooshrike sp.
+Golden Cuckooshrike
+McGregor's Cuckooshrike
+Polynesian Triller
+Samoan Triller
+Long-tailed Triller
+White-shouldered Triller
+White-winged Triller
+Black-browed Triller
+Black-browed Triller (Black-browed)
+Black-browed Triller (Biak)
+White-browed Triller
+Varied Triller
+Mussau Triller
+Black-and-white Triller
+Black-and-white Triller (Northern)
+Black-and-white Triller (Southern)
+White-rumped Triller
+Pied Triller
+Rufous-bellied Triller
+Reunion Cuckooshrike
+Mauritius Cuckooshrike
+Black-winged Cuckooshrike
+Black-headed Cuckooshrike
+Large/Black-headed Cuckooshrike
+Lesser Cuckooshrike
+Indochinese Cuckooshrike
+Lalage sp.
+Pygmy Cuckooshrike
+Halmahera Cuckooshrike
+Blue Cuckooshrike
+New Caledonian Cuckooshrike
+Blackish Cuckooshrike
+White-winged Cuckooshrike
+Black-bellied Cicadabird
+Pale Cicadabird
+Kai Cicadabird
+Pale-shouldered Cicadabird
+Black-bibbed Cuckooshrike
+Manus Cicadabird
+Makira Cicadabird
+Solomons Cuckooshrike
+Solomons Cuckooshrike (Solomon)
+Solomons Cuckooshrike (New Georgia)
+Papuan Cicadabird
+Sulawesi Cicadabird
+Sula Cicadabird
+Common Cicadabird
+Common Cicadabird (Slender-billed)
+Common Cicadabird (Obi)
+Common Cicadabird (Moluccan)
+Common Cicadabird (Geelvink)
+Common Cicadabird (Rossel)
+Common Cicadabird (Melanesian)
+Common Cicadabird (Gray-capped)
+Common Cicadabird (Palau)
+Common Cicadabird (Yap)
+Common Cicadabird (Pohnpei)
+Gray-headed Cicadabird
+Black Cicadabird
+Edolisoma sp.
+cuckooshrike sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/cupwings.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/cupwings.txt
new file mode 100644
index 0000000000000000000000000000000000000000..54bb2f6bb84bbd47a8fd083dfd79012563b60afa
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/cupwings.txt
@@ -0,0 +1,9 @@
+# Originally sourced from Clements Checklist v2022
+Scaly-breasted Cupwing
+Scaly-breasted Cupwing (Himalayan)
+Scaly-breasted Cupwing (Chinese)
+Taiwan Cupwing
+Immaculate Cupwing
+Scaly-breasted/Immaculate Cupwing
+Pygmy Cupwing
+cupwing sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/dapple-throat_and_allies.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/dapple-throat_and_allies.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5b35a37009d7c08de40fb05932a0b61a93d3d14d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/dapple-throat_and_allies.txt
@@ -0,0 +1,4 @@
+# Originally sourced from Clements Checklist v2022
+Spot-throat
+Dapple-throat
+Gray-chested Babbler
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/dippers.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/dippers.txt
new file mode 100644
index 0000000000000000000000000000000000000000..13e5fa4d9b84793f5a951c3b105d75b593c9a6b7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/dippers.txt
@@ -0,0 +1,11 @@
+# Originally sourced from Clements Checklist v2022
+White-throated Dipper
+Brown Dipper
+American Dipper
+American Dipper (Northern)
+American Dipper (Costa Rican)
+White-capped Dipper
+White-capped Dipper (Santa Marta)
+White-capped Dipper (White-bellied)
+White-capped Dipper (White-capped)
+Rufous-throated Dipper
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/donacobius.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/donacobius.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2a45a26c9116fcc1d51a3ee1e474df94db4e3fcb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/donacobius.txt
@@ -0,0 +1,2 @@
+# Originally sourced from Clements Checklist v2022
+Black-capped Donacobius
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/drongos.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/drongos.txt
new file mode 100644
index 0000000000000000000000000000000000000000..023ba6b97d7c2623eea398c9a3e30f783e0f08e9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/drongos.txt
@@ -0,0 +1,79 @@
+# Originally sourced from Clements Checklist v2022
+Western Square-tailed Drongo
+Sharpe's Drongo
+Common Square-tailed Drongo
+square-tailed drongo sp.
+Shining Drongo
+Fork-tailed Drongo
+Fork-tailed Drongo (Clancey's)
+Fork-tailed Drongo (adsimilis Group)
+Glossy-backed Drongo
+Fork-tailed/Glossy-backed Drongo
+Fanti Drongo
+Velvet-mantled Drongo
+Velvet-mantled Drongo (Principe)
+Velvet-mantled Drongo (coracinus)
+Fanti/Velvet-mantled Drongo
+Aldabra Drongo
+Comoro Drongo
+Crested Drongo
+Crested Drongo (Madagascar)
+Crested Drongo (Comoro)
+Mayotte Drongo
+Black Drongo
+Ashy Drongo
+Ashy Drongo (Blackish)
+Ashy Drongo (Sooty)
+Ashy Drongo (Chinese White-faced)
+Ashy Drongo (Island White-faced)
+Ashy Drongo (Bornean)
+Black/Ashy Drongo
+White-bellied Drongo
+White-bellied Drongo (White-bellied)
+White-bellied Drongo (White-vented)
+Crow-billed Drongo
+Bronzed Drongo
+Lesser Racket-tailed Drongo
+Hair-crested Drongo
+Hair-crested Drongo (Hair-crested)
+Hair-crested Drongo (Bornean)
+Hair-crested Drongo (Javan)
+Hair-crested Drongo (White-eyed)
+Hair-crested Drongo (Obi)
+Hair-crested Drongo (Sula)
+Hair-crested Drongo (Palawan)
+Hair-crested Drongo (Cuyo)
+Hair-crested Drongo (Sulu)
+Hair-crested Drongo (Short-tailed)
+Balicassiao
+Balicassiao (Balicassiao)
+Balicassiao (Visayan)
+Sulawesi Drongo
+Sumatran Drongo
+Sumatran Drongo (Sumatran)
+Sumatran Drongo (Mentawai)
+Wallacean Drongo
+Wallacean Drongo (Lombok)
+Wallacean Drongo (Flores)
+Wallacean Drongo (Sumba)
+Wallacean Drongo (Timor)
+Wallacean Drongo (Tanimbar)
+Wallacean Drongo (Kai)
+Ribbon-tailed Drongo
+Spangled Drongo
+Spangled Drongo (Morotai)
+Spangled Drongo (Halmahera)
+Spangled Drongo (Buru)
+Spangled Drongo (Seram)
+Spangled Drongo (Papuan)
+Spangled Drongo (Bismarck)
+Spangled Drongo (Guadalcanal)
+Spangled Drongo (Makira)
+Spangled Drongo (Spangled)
+Bacan Drongo (undescribed form)
+Tablas Drongo
+Andaman Drongo
+Greater Racket-tailed Drongo
+Lesser/Greater Racket-tailed Drongo
+Sri Lanka Drongo
+drongo sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/fairy-bluebirds.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/fairy-bluebirds.txt
new file mode 100644
index 0000000000000000000000000000000000000000..25f03b1b7cbec78653861f07b3bdad2bf634d122
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/fairy-bluebirds.txt
@@ -0,0 +1,8 @@
+# Originally sourced from Clements Checklist v2022
+Asian Fairy-bluebird
+Asian Fairy-bluebird (Asian)
+Asian Fairy-bluebird (Palawan)
+Philippine Fairy-bluebird
+Philippine Fairy-bluebird (cyanogastra)
+Philippine Fairy-bluebird (ellae)
+Philippine Fairy-bluebird (melanochlamys/hoogstraali)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/fairy_flycatchers.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/fairy_flycatchers.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b84232c0d619579e2cdde3fd6bd5fdc97d823901
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/fairy_flycatchers.txt
@@ -0,0 +1,12 @@
+# Originally sourced from Clements Checklist v2022
+Fairy Flycatcher
+Yellow-bellied Fairy-Fantail
+African Blue Flycatcher
+White-tailed Blue Flycatcher
+Dusky Crested-Flycatcher
+White-bellied Crested-Flycatcher
+White-bellied Crested-Flycatcher (White-bellied)
+White-bellied Crested-Flycatcher (Toro)
+White-tailed Crested-Flycatcher
+Gray-headed Canary-Flycatcher
+Citrine Canary-Flycatcher
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/fairywrens.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/fairywrens.txt
new file mode 100644
index 0000000000000000000000000000000000000000..47a00766449a0dc40a7c307788abc2fb9b882292
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/fairywrens.txt
@@ -0,0 +1,45 @@
+# Originally sourced from Clements Checklist v2022
+Gray Grasswren
+Rufous Grasswren
+Rufous Grasswren (Pilbara)
+Rufous Grasswren (Sandhill)
+Opalton Grasswren
+Striated Grasswren
+White-throated Grasswren
+Carpentarian Grasswren
+Short-tailed Grasswren
+Western Grasswren
+Western Grasswren (Western)
+Western Grasswren (Gawler Ranges)
+Thick-billed Grasswren
+Black Grasswren
+Eyrean Grasswren
+Dusky Grasswren
+Kalkadoon Grasswren
+Southern Emuwren
+Rufous-crowned Emuwren
+Mallee Emuwren
+Wallace's Fairywren
+Orange-crowned Fairywren
+Broad-billed Fairywren
+Campbell's Fairywren
+Emperor Fairywren
+Purple-crowned Fairywren
+Red-winged Fairywren
+Blue-breasted Fairywren
+Purple-backed Fairywren
+Purple-backed Fairywren (Lavender-flanked)
+Purple-backed Fairywren (Purple-backed)
+Variegated Fairywren
+Purple-backed/Variegated Fairywren
+Lovely Fairywren
+Splendid Fairywren
+Superb Fairywren
+White-winged Fairywren
+White-winged Fairywren (Blue-and-white)
+White-winged Fairywren (Black-and-white)
+Superb x White-winged Fairywren (hybrid)
+Red-backed Fairywren
+Superb x Red-backed Fairywren (hybrid)
+White-shouldered Fairywren
+fairywren sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/fantails.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/fantails.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ccb792780080b5790861e4474b6325cea8d6e323
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/fantails.txt
@@ -0,0 +1,100 @@
+# Originally sourced from Clements Checklist v2022
+Drongo Fantail
+Cerulean Flycatcher
+Taveuni Silktail
+Natewa Silktail
+Black Fantail
+Black-and-cinnamon Fantail
+Mindanao Blue-Fantail
+Visayan Blue-Fantail
+Tablas Fantail
+Visayan Fantail
+Blue-headed Fantail
+Spotted Fantail
+Cinnamon-tailed Fantail
+Cockerell's Fantail
+Cockerell's Fantail (White-winged)
+Cockerell's Fantail (Dot-breasted)
+Cockerell's Fantail (Black-breasted)
+Cockerell's Fantail (Spot-breasted)
+Northern Fantail
+Northern Fantail (Obi)
+Northern Fantail (Buru)
+Northern Fantail (Kai)
+Northern Fantail (Seram)
+Northern Fantail (Rote)
+Northern Fantail (Timor)
+Northern Fantail (Banda Sea)
+Northern Fantail (Biak)
+Northern Fantail (Chin-spot)
+Northern Fantail (Melanesian)
+Northern Fantail (Northern)
+Brown-capped Fantail
+Sooty Thicket-Fantail
+Black Thicket-Fantail
+White-bellied Thicket-Fantail
+Willie-wagtail
+Malaysian Pied-Fantail
+Philippine Pied-Fantail
+White-throated Fantail
+Spot-breasted Fantail
+White-throated x Spot-breasted Fantail (hybrid)
+White-throated/Spot-breasted Fantail
+Rufous-tailed Fantail
+White-bellied Fantail
+White-browed Fantail
+White-throated/White-browed Fantail
+Spot-breasted/White-browed Fantail
+Rufous-backed Fantail
+Dimorphic Fantail
+Bismarck Fantail
+Mussau Fantail
+Malaita Fantail
+Sulawesi Fantail
+Peleng Fantail
+Taliabu Fantail
+Tawny-backed Fantail
+Streak-breasted Fantail
+Long-tailed Fantail
+Palau Fantail
+Manus Fantail
+Rufous Fantail
+Rufous Fantail (Gilolo)
+Rufous Fantail (Gray-tailed)
+Rufous Fantail (Guam)
+Rufous Fantail (Marianas)
+Rufous Fantail (Yap)
+Rufous Fantail (White-fronted)
+Rufous Fantail (Brown-capped)
+Rufous Fantail (Brown-backed)
+Rufous Fantail (Rufous-backed)
+Rufous Fantail (Dark-throated)
+Rufous Fantail (Rufous-fronted)
+Arafura Fantail
+Arafura Fantail (Supertramp)
+Arafura Fantail (Arafura)
+Pohnpei Fantail
+Friendly Fantail
+Chestnut-bellied Fantail
+Brown Fantail
+Brown Fantail (Bougainville)
+Brown Fantail (Guadalcanal)
+Streaked Fantail
+Streaked Fantail (Vanuatu)
+Streaked Fantail (Fiji)
+Streaked Fantail (Taveuni)
+Streaked Fantail (New Caledonia)
+Dusky Fantail
+Rennell Fantail
+Kadavu Fantail
+Samoan Fantail
+Gray Fantail
+Gray Fantail (Melanesian)
+Gray Fantail (keasti)
+Gray Fantail (alisteri)
+Gray Fantail (albiscapa)
+Gray Fantail (preissi)
+Gray Fantail (albicauda)
+Mangrove Fantail
+New Zealand Fantail
+fantail sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/finches,_euphonias,_and_allies.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/finches,_euphonias,_and_allies.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8035c4077c7eb14620775da65a8be08472471349
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/finches,_euphonias,_and_allies.txt
@@ -0,0 +1,365 @@
+# Originally sourced from Clements Checklist v2022
+Common Chaffinch
+Common Chaffinch (Common)
+Common Chaffinch (Azores/Madeira)
+Common Chaffinch (Canary Is.)
+Common Chaffinch (La Palma)
+Common Chaffinch (African)
+Common Chaffinch (Tunisian)
+Tenerife Blue Chaffinch
+Gran Canaria Blue Chaffinch
+Brambling
+Common Chaffinch/Brambling
+Elegant Euphonia
+Antillean Euphonia
+Antillean Euphonia (Hispaniolan)
+Antillean Euphonia (Puerto Rico)
+Antillean Euphonia (Lesser)
+Golden-rumped Euphonia
+Blue-naped Chlorophonia
+Chestnut-breasted Chlorophonia
+Yellow-collared Chlorophonia
+Blue-crowned Chlorophonia
+Golden-browed Chlorophonia
+Jamaican Euphonia
+Orange-crowned Euphonia
+Plumbeous Euphonia
+Purple-throated Euphonia
+Finsch's Euphonia
+Velvet-fronted Euphonia
+Trinidad Euphonia
+Trinidad/Velvet-fronted Euphonia
+West Mexican Euphonia
+Scrub Euphonia
+Yellow-crowned Euphonia
+Golden-bellied Euphonia
+White-vented Euphonia
+Green-throated Euphonia
+Violaceous Euphonia
+Yellow-throated Euphonia
+Thick-billed Euphonia
+Thick-billed Euphonia (Black-tailed)
+Thick-billed Euphonia (Thick-billed)
+Spot-crowned Euphonia
+Olive-backed Euphonia
+Fulvous-vented Euphonia
+Tawny-capped Euphonia
+Orange-bellied Euphonia
+Bronze-green Euphonia
+Golden-sided Euphonia
+Rufous-bellied Euphonia
+Chestnut-bellied Euphonia
+euphonia sp.
+Black-and-yellow Grosbeak
+Collared Grosbeak
+Black-and-yellow/Collared Grosbeak
+Spot-winged Grosbeak
+White-winged Grosbeak
+Mycerobas sp.
+Hooded Grosbeak
+Evening Grosbeak
+Evening Grosbeak (type 1)
+Evening Grosbeak (type 2)
+Evening Grosbeak (type 3)
+Evening Grosbeak (type 4)
+Evening Grosbeak (Mexican or type 5)
+Hawfinch
+Yellow-billed Grosbeak
+Japanese Grosbeak
+Poo-uli
+Akikiki
+Oahu Alauahio
+Kakawahie
+Maui Alauahio
+Palila
+Laysan Finch
+Nihoa Finch
+Kona Grosbeak
+Lesser Koa-Finch
+Greater Koa-Finch
+Ula-ai-hawane
+Akohekohe
+Laysan Honeycreeper
+Apapane
+Iiwi
+Apapane x Iiwi (hybrid)
+Hawaii Mamo
+Black Mamo
+Ou
+Lanai Hookbill
+Maui Parrotbill
+Kauai Nukupuu
+Oahu Nukupuu
+Maui Nukupuu
+Akiapolaau
+Lesser Akialoa
+Oahu Akialoa
+Kauai Akialoa
+Maui-nui Akialoa
+Anianiau
+Hawaii Amakihi
+Hawaii Amakihi (Maui)
+Hawaii Amakihi (Hawaii)
+Oahu Amakihi
+Kauai Amakihi
+Greater Amakihi
+Hawaii Creeper
+Akekee
+Hawaii Akepa
+Oahu Akepa
+Maui Akepa
+hawaiian honeycreeper sp.
+Common Rosefinch
+Scarlet Finch
+Bonin Grosbeak
+Red-mantled Rosefinch
+Blyth's Rosefinch
+Red-mantled/Blyth's Rosefinch
+Himalayan Beautiful Rosefinch
+Chinese Beautiful Rosefinch
+Pink-rumped Rosefinch
+Dark-rumped Rosefinch
+Pink-browed Rosefinch
+Spot-winged Rosefinch
+Dark-rumped/Spot-winged Rosefinch
+Sharpe's Rosefinch
+Vinaceous Rosefinch
+Taiwan Rosefinch
+Sinai Rosefinch
+Pale Rosefinch
+Tibetan Rosefinch
+Sillem's Rosefinch
+Streaked Rosefinch
+Great Rosefinch
+Great Rosefinch (Great)
+Great Rosefinch (Spotted)
+Streaked/Great Rosefinch
+Long-tailed Rosefinch
+Red-fronted Rosefinch
+Crimson-browed Finch
+Pallas's Rosefinch
+Three-banded Rosefinch
+Himalayan White-browed Rosefinch
+Pink-browed/Himalayan White-browed Rosefinch
+Chinese White-browed Rosefinch
+rosefinch sp.
+Pine Grosbeak
+Pine Grosbeak (Eurasian)
+Pine Grosbeak (Pacific Northwest)
+Pine Grosbeak (Haida Gwaii)
+Pine Grosbeak (Rocky Mts.)
+Pine Grosbeak (California)
+Pine Grosbeak (Taiga)
+Brown Bullfinch
+Brown Bullfinch (Brown)
+Brown Bullfinch (Malayan)
+White-cheeked Bullfinch
+Orange Bullfinch
+Red-headed Bullfinch
+Gray-headed Bullfinch
+Taiwan Bullfinch
+Brown/Gray-headed Bullfinch
+Taiwan/Gray-headed Bullfinch
+Azores Bullfinch
+Eurasian Bullfinch
+Eurasian Bullfinch (Eurasian)
+Eurasian Bullfinch (Baikal)
+Crimson-winged Finch
+Crimson-winged Finch (African)
+Crimson-winged Finch (Eurasian)
+Trumpeter Finch
+Mongolian Finch
+Blanford's Rosefinch
+Gold-naped Finch
+Spectacled Finch
+Dark-breasted Rosefinch
+Plain Mountain Finch
+Black-headed Mountain Finch
+Asian Rosy-Finch
+Gray-crowned Rosy-Finch
+Gray-crowned Rosy-Finch (Pribilof Is.)
+Gray-crowned Rosy-Finch (Aleutian and Kodiak Is.)
+Gray-crowned Rosy-Finch (Hepburn's)
+Gray-crowned Rosy-Finch (Gray-crowned)
+Gray-crowned Rosy-Finch (Hepburn's x Gray-crowned)
+Black Rosy-Finch
+Gray-crowned x Black Rosy-Finch (hybrid)
+Brown-capped Rosy-Finch
+rosy-finch sp.
+House Finch
+House Finch (Common)
+House Finch (McGregor's)
+Purple Finch
+Purple Finch (Eastern)
+Purple Finch (Western)
+House x Purple Finch (hybrid)
+House/Purple Finch
+Cassin's Finch
+Purple/Cassin's Finch
+Haemorhous sp.
+Desert Finch
+Arabian Grosbeak
+Socotra Grosbeak
+Somali Grosbeak
+European Greenfinch
+Oriental Greenfinch
+Oriental Greenfinch (Oriental)
+Oriental Greenfinch (Bonin)
+Yellow-breasted Greenfinch
+Vietnamese Greenfinch
+Black-headed Greenfinch
+Oriole Finch
+White-rumped Seedeater
+Yellow-fronted Canary
+African Citril
+Western Citril
+Southern Citril
+Black-faced Canary
+Papyrus Canary
+Forest Canary
+Olive-rumped Serin
+Black-throated Canary
+Reichenow's Seedeater
+Yellow-rumped Serin
+Lemon-breasted Seedeater
+White-bellied Canary
+Yellow-throated Serin
+Salvadori's Serin
+Northern Grosbeak-Canary
+Southern Grosbeak-Canary
+Brimstone Canary
+Yellow Canary
+White-throated Canary
+Streaky Seedeater
+Yellow-browed Seedeater
+Thick-billed Seedeater
+Tanzania Seedeater
+Principe Seedeater
+Sao Tome Grosbeak
+Protea Canary
+Black-eared Seedeater
+West African Seedeater
+Streaky-headed Seedeater
+Reichard's Seedeater
+Reichard's Seedeater (Stripe-breasted)
+Reichard's Seedeater (Reichard's)
+Brown-rumped Seedeater
+Yemen Serin
+Ankober Serin
+Cape Siskin
+Drakensberg Siskin
+African seedeater sp.
+Twite
+Eurasian Linnet
+Twite/Eurasian Linnet
+Yemen Linnet
+Warsangli Linnet
+Common Redpoll
+Common Redpoll (flammea)
+Common Redpoll (rostrata/islandica)
+Lesser Redpoll
+Common/Lesser Redpoll
+Hoary Redpoll
+Hoary Redpoll (exilipes)
+Hoary Redpoll (hornemanni)
+Common x Hoary Redpoll (hybrid)
+Common/Hoary Redpoll
+redpoll sp.
+Parrot Crossbill
+Scottish Crossbill
+Red Crossbill
+Red Crossbill (Corsican)
+Red Crossbill (Balearic)
+Red Crossbill (North African)
+Red Crossbill (Cyprus)
+Red Crossbill (Crimean)
+Red Crossbill (Altai)
+Red Crossbill (Tien Shan)
+Red Crossbill (Himalayan)
+Red Crossbill (Dalat)
+Red Crossbill (Japanese)
+Red Crossbill (Luzon)
+Red Crossbill (Wandering or type A)
+Red Crossbill (Bohemian or type B)
+Red Crossbill (Glip or type C)
+Red Crossbill (Phantom or type D)
+Red Crossbill (Parakeet or type E)
+Red Crossbill (Scarce or type F)
+Red Crossbill (Parakeet or type X)
+Red Crossbill (Appalachian or type 1)
+Red Crossbill (Ponderosa Pine or type 2)
+Red Crossbill (Western Hemlock or type 3)
+Red Crossbill (Douglas-fir or type 4)
+Red Crossbill (Lodgepole Pine or type 5)
+Red Crossbill (Sierra Madre or type 6)
+Red Crossbill (Enigmatic or type 7)
+Red Crossbill (Newfoundland or type 8)
+Red Crossbill (Sitka Spruce or type 10)
+Red Crossbill (Central American or type 11)
+Red Crossbill (Northeastern or type 12)
+Parrot/Red Crossbill
+Cassia Crossbill
+Red/Cassia Crossbill
+Hispaniolan Crossbill
+White-winged Crossbill
+White-winged Crossbill (bifasciata)
+White-winged Crossbill (leucoptera)
+crossbill sp.
+Mountain Serin
+Mountain Serin (Mountain)
+Mountain Serin (Mindanao)
+European Goldfinch
+European Goldfinch (European)
+European Goldfinch (Eastern)
+Citril Finch
+Corsican Finch
+European Serin
+Citril Finch/European Serin
+Island Canary
+Island Canary (Domestic type)
+European Goldfinch x Island Canary (hybrid)
+Fire-fronted Serin
+Syrian Serin
+European/Fire-fronted/Syrian Serin
+Yellow-crowned Canary
+Cape Canary
+Ethiopian Siskin
+Black-headed Canary
+Black-headed Canary (Black-headed)
+Black-headed Canary (Damara)
+Serinus sp.
+Tibetan Serin
+Eurasian Siskin
+Pine Siskin
+Pine Siskin (Northern)
+Pine Siskin (Chiapas)
+Pine Siskin (green morph)
+Red Crossbill x Pine Siskin (hybrid)
+Black-capped Siskin
+Pine x Black-capped Siskin (hybrid)
+Black-headed Siskin
+Antillean Siskin
+Lesser Goldfinch
+European x Lesser Goldfinch (hybrid)
+Lawrence's Goldfinch
+American Goldfinch
+European x American Goldfinch (hybrid)
+Pine Siskin x American Goldfinch (hybrid)
+Lesser x American Goldfinch (hybrid)
+new world goldfinch sp.
+Andean Siskin
+Yellow-faced Siskin
+Yellow-bellied Siskin
+Red Siskin
+Thick-billed Siskin
+Hooded Siskin
+Saffron Siskin
+Olivaceous Siskin
+Hooded/Olivaceous Siskin
+Black Siskin
+Yellow-rumped Siskin
+Hooded x Yellow-rumped Siskin (hybrid)
+Black-chinned Siskin
+Spinus sp.
+Acanthis/Spinus sp.
+finch sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/flowerpeckers.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/flowerpeckers.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c539222fd1d07737cf768d380a73d932fb9a6a4a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/flowerpeckers.txt
@@ -0,0 +1,74 @@
+# Originally sourced from Clements Checklist v2022
+Olive-backed Flowerpecker
+Yellow-breasted Flowerpecker
+Crimson-breasted Flowerpecker
+Palawan Flowerpecker
+Yellow-rumped Flowerpecker
+Scarlet-breasted Flowerpecker
+Prionochilus sp.
+Spectacled Flowerpecker
+Golden-rumped Flowerpecker
+Thick-billed Flowerpecker
+Thick-billed Flowerpecker (Indian)
+Thick-billed Flowerpecker (obsoletum Group)
+Thick-billed Flowerpecker (Striped)
+Brown-backed Flowerpecker
+Whiskered Flowerpecker
+Yellow-vented Flowerpecker
+Yellow-bellied Flowerpecker
+White-throated Flowerpecker
+Yellow-sided Flowerpecker
+Olive-capped Flowerpecker
+Flame-crowned Flowerpecker
+Flame-crowned Flowerpecker (Yellow-crowned)
+Flame-crowned Flowerpecker (Flame-crowned)
+Bicolored Flowerpecker
+Cebu Flowerpecker
+Red-keeled Flowerpecker
+Black-belted Flowerpecker
+Scarlet-collared Flowerpecker
+Orange-bellied Flowerpecker
+White-bellied Flowerpecker
+White-bellied Flowerpecker (obscurum/cagayanense)
+White-bellied Flowerpecker (pontifex)
+White-bellied Flowerpecker (hypoleucum/mindanense)
+Pale-billed Flowerpecker
+Thick-billed/Pale-billed Flowerpecker
+Nilgiri Flowerpecker
+Pale-billed/Nilgiri Flowerpecker
+Plain Flowerpecker
+Andaman Flowerpecker
+Pygmy Flowerpecker
+Crimson-crowned Flowerpecker
+Halmahera Flowerpecker
+Buru Flowerpecker
+Ashy Flowerpecker
+Olive-crowned Flowerpecker
+Red-capped Flowerpecker
+Louisiade Flowerpecker
+Red-banded Flowerpecker
+Midget Flowerpecker
+Mottled Flowerpecker
+Black-fronted Flowerpecker
+Red-chested Flowerpecker
+Fire-breasted Flowerpecker
+Fire-breasted Flowerpecker (Fire-breasted)
+Fire-breasted Flowerpecker (Cambodian)
+Fire-breasted Flowerpecker (Fire-throated)
+Fire-breasted Flowerpecker (Sumatran)
+Black-sided Flowerpecker
+Gray-sided Flowerpecker
+Gray-sided Flowerpecker (Gray-sided)
+Gray-sided Flowerpecker (Wakatobi)
+Blood-breasted Flowerpecker
+Blood-breasted Flowerpecker (Blood-breasted)
+Blood-breasted Flowerpecker (Sumba)
+Blood-breasted Flowerpecker (Timor)
+Mistletoebird
+Mistletoebird (Pink-breasted)
+Mistletoebird (Aru)
+Mistletoebird (Mistletoebird)
+Scarlet-backed Flowerpecker
+Scarlet-headed Flowerpecker
+Dicaeum sp.
+flowerpecker sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/gnatcatchers.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/gnatcatchers.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ea625f011521e7b307fd2d35a585da184429c160
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/gnatcatchers.txt
@@ -0,0 +1,38 @@
+# Originally sourced from Clements Checklist v2022
+Collared Gnatwren
+Tawny-faced Gnatwren
+Long-billed Gnatwren
+Long-billed Gnatwren (rufiventris Group)
+Long-billed Gnatwren (Trilling)
+Chattering Gnatwren
+Long-billed/Chattering Gnatwren
+Guianan Gnatcatcher
+Slate-throated Gnatcatcher
+Iquitos Gnatcatcher
+Rio Negro Gnatcatcher
+Guianan/Rio Negro Gnatcatcher
+Inambari Gnatcatcher
+Klages's Gnatcatcher
+Inambari/Klages's Gnatcatcher
+Masked Gnatcatcher
+Creamy-bellied Gnatcatcher
+Cuban Gnatcatcher
+Tropical Gnatcatcher
+Tropical Gnatcatcher (plumbiceps/anteocularis)
+Tropical Gnatcatcher (Marañon)
+Tropical Gnatcatcher (innotata)
+Tropical Gnatcatcher (plumbea)
+Tropical Gnatcatcher (parvirostris)
+Tropical Gnatcatcher (atricapilla)
+Yucatan Gnatcatcher
+White-browed Gnatcatcher
+Blue-gray Gnatcatcher
+Blue-gray Gnatcatcher (obscura Group)
+Blue-gray Gnatcatcher (caerulea)
+Blue-gray Gnatcatcher (Cozumel)
+Black-tailed Gnatcatcher
+California Gnatcatcher
+Black-capped Gnatcatcher
+Black-tailed x Black-capped Gnatcatcher (hybrid)
+White-lored Gnatcatcher
+gnatcatcher sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/gnateaters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/gnateaters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b6d0354c905b5026b2efcc91fd9be5e54a85f7b8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/gnateaters.txt
@@ -0,0 +1,13 @@
+# Originally sourced from Clements Checklist v2022
+Black-crowned Antpitta
+Rufous-crowned Antpitta
+Black-bellied Gnateater
+Black-cheeked Gnateater
+Chestnut-belted Gnateater
+Black-breasted Gnateater
+Ash-throated Gnateater
+Ceara Gnateater
+Hooded Gnateater
+Rufous Gnateater
+Chestnut-crowned Gnateater
+Slaty Gnateater
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/grassbirds_and_allies.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/grassbirds_and_allies.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e284efc41186b2892cf55f3f0195993ed6708cd0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/grassbirds_and_allies.txt
@@ -0,0 +1,91 @@
+# Originally sourced from Clements Checklist v2022
+Cordillera Ground-Warbler
+Sierra Madre Ground-Warbler
+Bicol Ground-Warbler
+Gray's Grasshopper Warbler
+Sakhalin Grasshopper Warbler
+Gray's/Sakhalin Grasshopper Warbler
+Marsh Grassbird
+Pallas's Grasshopper Warbler
+Middendorff's Grasshopper Warbler
+Pleske's Grasshopper Warbler
+Middendorff's/Pleske's Grasshopper Warbler
+Helopsaltes sp.
+Lanceolated Warbler
+Bamboo Warbler
+River Warbler
+Savi's Warbler
+River/Savi's Warbler
+Brown Bush Warbler
+Common Grasshopper Warbler
+Lanceolated/Common Grasshopper Warbler
+Long-billed Bush Warbler
+Chinese Bush Warbler
+Friendly Bush Warbler
+Long-tailed Bush Warbler
+Sulawesi Bush Warbler
+Seram Bush Warbler
+Taliabu Bush Warbler
+Buru Bush Warbler
+Baikal Bush Warbler
+Chinese/Baikal Bush Warbler
+West Himalayan Bush Warbler
+Spotted Bush Warbler
+Baikal/Spotted Bush Warbler
+Taiwan Bush Warbler
+Russet Bush Warbler
+Dalat Bush Warbler
+Brown/Russet Bush Warbler
+Sichuan Bush Warbler
+Javan Bush Warbler
+Javan Bush Warbler (Javan)
+Javan Bush Warbler (Timor)
+Benguet Bush Warbler
+Locustella sp.
+Helopsaltes/Locustella sp.
+Fly River Grassbird
+Spinifexbird
+Little Grassbird
+New Zealand Fernbird
+New Zealand Fernbird (New Zealand)
+New Zealand Fernbird (Snares)
+Chatham Islands Fernbird
+Malia
+Brown Songlark
+Bismarck Thicketbird
+Rusty Thicketbird
+Buff-banded Bushbird
+Rufous Songlark
+Tawny Grassbird
+Papuan Grassbird
+Papuan Grassbird (interscapularis/mayri)
+Papuan Grassbird (macrurus Group)
+Tawny/Papuan Grassbird
+Santo Thicketbird
+Guadalcanal Thicketbird
+New Caledonian Grassbird
+Long-legged Thicketbird
+Bougainville Thicketbird
+Striated Grassbird
+Poodytes/Cincloramphus sp.
+Sri Lanka Bush Warbler
+Broad-tailed Grassbird
+Bristled Grassbird
+Fan-tailed Grassbird
+Knysna Warbler
+Bangwa Warbler
+Barratt's Warbler
+Evergreen-forest Warbler
+Evergreen-forest Warbler (Lopez's)
+Evergreen-forest Warbler (Volcanic)
+Evergreen-forest Warbler (Boulton's)
+Evergreen-forest Warbler (Eastern)
+Cinnamon Bracken-Warbler
+Gray Emutail
+Brown Emutail
+Dja River Swamp Warbler
+Little Rush Warbler
+White-winged Swamp Warbler
+Grauer's Swamp Warbler
+Highland Rush Warbler
+Bradypterus sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/ground_babblers_and_allies.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/ground_babblers_and_allies.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4e637c0e7398c222786836b558627c2310812b39
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/ground_babblers_and_allies.txt
@@ -0,0 +1,85 @@
+# Originally sourced from Clements Checklist v2022
+Indian Grassbird
+Chinese Grassbird
+Large Wren-Babbler
+Marbled Wren-Babbler
+Black-throated Wren-Babbler
+Sooty-capped Babbler
+Gray-breasted Babbler
+Scaly-crowned Babbler
+Rufous-crowned Babbler
+Moustached Babbler
+Palawan Babbler
+Malacopteron sp.
+White-hooded Babbler
+Collared Babbler
+Yellow-throated Fulvetta
+Rufous-winged Fulvetta
+Black-crowned Fulvetta
+Gold-fronted Fulvetta
+Rufous-throated Fulvetta
+Rusty-capped Fulvetta
+Dusky Fulvetta
+Schoeniparus sp.
+Puff-throated Babbler
+Brown-capped Babbler
+Marsh Babbler
+Black-capped Babbler
+Black-capped Babbler (Black-capped)
+Black-capped Babbler (Rufous-browed)
+Short-tailed Babbler
+Ashy-headed Babbler
+Spot-throated Babbler
+Buff-breasted Babbler
+Sumatran Babbler
+Temminck's Babbler
+White-chested Babbler
+Ferruginous Babbler
+Sulawesi Babbler
+Rufous-vented Grass Babbler
+Swamp Grass Babbler
+Brown Illadopsis
+Brown Illadopsis (Moloney's)
+Brown Illadopsis (Brown)
+Pale-breasted Illadopsis
+Pale-breasted Illadopsis (Pale-breasted)
+Pale-breasted Illadopsis (Gray-breasted)
+Mountain Illadopsis
+Blackcap Illadopsis
+Blackcap Illadopsis (Western)
+Blackcap Illadopsis (Eastern)
+Blackcap Illadopsis (Bioko)
+Scaly-breasted Illadopsis
+Thrush Babbler
+Thrush Babbler (Rufous-tailed)
+Thrush Babbler (Thrush)
+Thrush Babbler (Olive)
+Puvel's Illadopsis
+Rufous-winged Illadopsis
+illadopsis sp.
+Striped Wren-Babbler
+Abbott's Babbler
+Horsfield's Babbler
+Horsfield's Babbler (Hartert's)
+Horsfield's Babbler (Horsfield's)
+Horsfield's Babbler (Salvadori's)
+Black-browed Babbler
+Mountain Wren-Babbler
+Streaked Wren-Babbler
+Annam Limestone Babbler
+Rufous Limestone Babbler
+Variable Limestone Babbler
+limestone babbler sp.
+Rusty-breasted Wren-Babbler
+Striated Wren-Babbler
+Striated Wren-Babbler (minuta/fortichi)
+Striated Wren-Babbler (mindanensis/basilanica)
+Bornean Wren-Babbler
+Falcated Wren-Babbler
+Eyebrowed Wren-Babbler
+Long-billed Wren-Babbler
+Sumatran Wren-Babbler
+White-throated Wren-Babbler
+Naung Mung Scimitar-Babbler
+Short-tailed Scimitar-Babbler
+Pellorneidae sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/hawaiian_honeyeaters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/hawaiian_honeyeaters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a25e3ee90ca291033ffcdf33ae742892e6f86688
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/hawaiian_honeyeaters.txt
@@ -0,0 +1,6 @@
+# Originally sourced from Clements Checklist v2022
+Kauai Oo
+Oahu Oo
+Bishop's Oo
+Hawaii Oo
+Kioea
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/hispaniolan_tanagers.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/hispaniolan_tanagers.txt
new file mode 100644
index 0000000000000000000000000000000000000000..332ffcef1e13c3e223b1a28afa9b5adc19d38cd4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/hispaniolan_tanagers.txt
@@ -0,0 +1,7 @@
+# Originally sourced from Clements Checklist v2022
+Black-crowned Palm-Tanager
+Gray-crowned Palm-Tanager
+Black-crowned x Gray-crowned Palm-Tanager (hybrid)
+Black-crowned/Gray-crowned Palm-Tanager
+White-winged Warbler
+Green-tailed Warbler
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/honeyeaters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/honeyeaters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..75ea92dbcb215f8c9b0000d3e9261f99135157ab
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/honeyeaters.txt
@@ -0,0 +1,230 @@
+# Originally sourced from Clements Checklist v2022
+Dark-eared Myza
+White-eared Myza
+Dark-eared/White-eared Myza
+Eastern Spinebill
+Western Spinebill
+Pied Honeyeater
+Plain Honeyeater
+Marbled Honeyeater
+Streak-headed Honeyeater
+Tui
+New Zealand Bellbird
+Tui/New Zealand Bellbird
+Chatham Island Bellbird
+Puff-backed Honeyeater
+Yellow-spotted Honeyeater
+Lewin's Honeyeater
+Streak-breasted Honeyeater
+Kimberley Honeyeater
+White-lined Honeyeater
+Orange-cheeked Honeyeater
+Forest Honeyeater
+Mottled Honeyeater
+Yellow-gaped Honeyeater
+Mountain Honeyeater
+Scrub Honeyeater
+Mimic Honeyeater
+Tagula Honeyeater
+Graceful Honeyeater
+Cryptic Honeyeater
+Elegant Honeyeater
+Graceful/Elegant Honeyeater
+Meliphaga/Territornis/Microptilotis sp.
+Yellow Honeyeater
+White-gaped Honeyeater
+White-fronted Honeyeater
+Yellow-faced Honeyeater
+Black-throated Honeyeater
+Obscure Honeyeater
+Yellow-tufted Honeyeater
+Yellow-tufted Honeyeater (Yellow-tufted)
+Yellow-tufted Honeyeater (Helmeted)
+Purple-gaped Honeyeater
+Bell Miner
+Noisy Miner
+Yellow-throated Miner
+Black-eared Miner
+Yellow-throated x Black-eared Miner (hybrid)
+miner sp. (Manorina sp.)
+Sooty Melidectes
+Short-bearded Melidectes
+Long-bearded Melidectes
+Ornate Melidectes
+Cinnamon-browed Melidectes
+Vogelkop Melidectes
+Huon Melidectes
+Belford's Melidectes
+Yellow-browed Melidectes
+Belford's x Yellow-browed Melidectes (hybrid)
+Belford's/Yellow-browed Melidectes
+melidectes sp.
+Bridled Honeyeater
+Eungella Honeyeater
+Spiny-cheeked Honeyeater
+Little Wattlebird
+Western Wattlebird
+Regent Honeyeater
+Red Wattlebird
+Yellow Wattlebird
+wattlebird sp.
+Varied Honeyeater
+Mangrove Honeyeater
+Singing Honeyeater
+Gavicalis sp.
+Yellow-plumed Honeyeater
+White-plumed Honeyeater
+Yellow-tinted Honeyeater
+Fuscous Honeyeater
+Gray-headed Honeyeater
+Gray-fronted Honeyeater
+Bougainville Honeyeater
+Brown-backed Honeyeater
+Bar-breasted Honeyeater
+Rufous-banded Honeyeater
+Rufous-throated Honeyeater
+Gray Honeyeater
+Gibber Chat
+Yellow Chat
+Crimson Chat
+Orange Chat
+White-fronted Chat
+Arfak Honeyeater
+Smoky Honeyeater
+Foja Honeyeater
+Spangled Honeyeater
+Melipotes sp.
+Macgregor's Honeyeater
+Long-billed Honeyeater
+Olive Straightbill
+Tawny Straightbill
+Black Honeyeater
+Bismarck Honeyeater
+Seram Myzomela
+White-chinned Myzomela
+Ruby-throated Myzomela
+Ashy Myzomela
+Dusky Myzomela
+Dusky Myzomela (Moluccan)
+Dusky Myzomela (Obi)
+Dusky Myzomela (Red-brown)
+Dusky Myzomela (Dusky)
+Red Myzomela
+Red Myzomela (Red)
+Red Myzomela (Reddish)
+Papuan Black Myzomela
+New Ireland Myzomela
+Alor Myzomela
+Crimson-hooded Myzomela
+Red-headed Myzomela
+Sumba Myzomela
+Rote Myzomela
+Elfin Myzomela
+Sulawesi Myzomela
+Sulawesi Myzomela (Sulawesi)
+Sulawesi Myzomela (Bacan)
+Taliabu Myzomela
+Wakolo Myzomela
+Wakolo Myzomela (Seram)
+Wakolo Myzomela (Buru)
+Banda Myzomela
+New Caledonian Myzomela
+Scarlet Myzomela
+Micronesian Myzomela
+Cardinal Myzomela
+Cardinal Myzomela (Loyalty)
+Cardinal Myzomela (Cardinal)
+Samoan Myzomela
+Rotuma Myzomela
+Sclater's Myzomela
+Bismarck Black Myzomela
+Scarlet-naped Myzomela
+Yellow-vented Myzomela
+Red-bellied Myzomela
+Black-headed Myzomela
+Sooty Myzomela
+Orange-breasted Myzomela
+Black-bellied Myzomela
+Black-breasted Myzomela
+Red-collared Myzomela
+Red-collared Myzomela (Red-collared)
+Red-collared Myzomela (Long-billed)
+myzomela sp.
+Barred Honeyeater
+Tawny-crowned Honeyeater
+Vanuatu Honeyeater
+Green-backed Honeyeater
+Leaden Honeyeater
+Yellow-streaked Honeyeater
+Rufous-sided Honeyeater
+Mayr's Honeyeater
+Rufous-backed Honeyeater
+Gray-streaked Honeyeater
+Banded Honeyeater
+Sunda Honeyeater
+Olive Honeyeater
+Brown Honeyeater
+Dark-brown Honeyeater
+White-tufted Honeyeater
+Silver-eared Honeyeater
+Buru Honeyeater
+Seram Honeyeater
+Yellow-eared Honeyeater
+Black-chested Honeyeater
+Crescent Honeyeater
+New Holland Honeyeater
+White-cheeked Honeyeater
+New Holland x White-cheeked Honeyeater (hybrid)
+White-streaked Honeyeater
+White-eared Honeyeater
+Yellow-throated Honeyeater
+Blue-faced Honeyeater
+Blue-faced Honeyeater (White-quilled)
+Blue-faced Honeyeater (Blue-faced)
+White-throated Honeyeater
+Gilbert's Honeyeater
+White-naped Honeyeater
+Black-headed Honeyeater
+Brown-headed Honeyeater
+Black-chinned Honeyeater
+Black-chinned Honeyeater (Golden-backed)
+Black-chinned Honeyeater (Black-chinned)
+Strong-billed Honeyeater
+Melithreptus sp.
+Makira Honeyeater
+Guadalcanal Honeyeater
+Kadavu Honeyeater
+Chattering Giant-Honeyeater
+Duetting Giant-Honeyeater
+Mao
+Crow Honeyeater
+Western Wattled-Honeyeater
+Eastern Wattled-Honeyeater
+Northern Wattled-Honeyeater
+Tawny-breasted Honeyeater
+Spotted Honeyeater
+Macleay's Honeyeater
+Striped Honeyeater
+Painted Honeyeater
+White-streaked Friarbird
+Little Friarbird
+Meyer's Friarbird
+Timor Friarbird
+Gray Friarbird
+Brass's Friarbird
+Morotai Friarbird
+Buru Friarbird
+Tanimbar Friarbird
+Seram Friarbird
+New Ireland Friarbird
+Helmeted Friarbird
+Helmeted Friarbird (New Guinea)
+Helmeted Friarbird (Hornbill)
+Helmeted Friarbird (Helmeted)
+White-naped Friarbird
+New Britain Friarbird
+Silver-crowned Friarbird
+Noisy Friarbird
+New Caledonian Friarbird
+friarbird sp.
+Meliphagidae sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/hyliotas.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/hyliotas.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2c6d3a61121de0c51ec58dc11632ee97d4259aad
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/hyliotas.txt
@@ -0,0 +1,5 @@
+# Originally sourced from Clements Checklist v2022
+Yellow-bellied Hyliota
+Southern Hyliota
+Usambara Hyliota
+Violet-backed Hyliota
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/hylocitrea.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/hylocitrea.txt
new file mode 100644
index 0000000000000000000000000000000000000000..445b97e012b19a5e76108d8304a6ae168cd465ad
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/hylocitrea.txt
@@ -0,0 +1,4 @@
+# Originally sourced from Clements Checklist v2022
+Hylocitrea
+Hylocitrea (Northern)
+Hylocitrea (Southern)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/hypocolius.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/hypocolius.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d776a4cc03690c7c9e367ae446606a95ab02131b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/hypocolius.txt
@@ -0,0 +1,2 @@
+# Originally sourced from Clements Checklist v2022
+Hypocolius
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/ifrita.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/ifrita.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f22916ae13733bf65ecd9ef0a56a6eb58a431320
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/ifrita.txt
@@ -0,0 +1,2 @@
+# Originally sourced from Clements Checklist v2022
+Blue-capped Ifrita
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/indigobirds.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/indigobirds.txt
new file mode 100644
index 0000000000000000000000000000000000000000..fa2f25ba973b427f39934f91135f334f491f3273
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/indigobirds.txt
@@ -0,0 +1,25 @@
+# Originally sourced from Clements Checklist v2022
+Pin-tailed Whydah
+Sahel Paradise-Whydah
+Exclamatory Paradise-Whydah
+Togo Paradise-Whydah
+Broad-tailed Paradise-Whydah
+Eastern Paradise-Whydah
+Steel-blue Whydah
+Straw-tailed Whydah
+Shaft-tailed Whydah
+Village Indigobird
+Wilson's Indigobird
+Quailfinch Indigobird
+Jos Plateau Indigobird
+Jambandu Indigobird
+Baka Indigobird
+Cameroon Indigobird
+Variable Indigobird
+Purple Indigobird
+Green Indigobird
+paradise-whydah sp.
+whydah sp.
+indigobird sp.
+Vidua sp.
+Parasitic Weaver
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/ioras.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/ioras.txt
new file mode 100644
index 0000000000000000000000000000000000000000..86c56b5d179e9f272036d4f6c199c4b9bffa779b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/ioras.txt
@@ -0,0 +1,6 @@
+# Originally sourced from Clements Checklist v2022
+Common Iora
+White-tailed Iora
+Common/White-tailed Iora
+Green Iora
+Great Iora
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/kinglets.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/kinglets.txt
new file mode 100644
index 0000000000000000000000000000000000000000..13a1bd80c6fc451706e65a8649e78684374415df
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/kinglets.txt
@@ -0,0 +1,16 @@
+# Originally sourced from Clements Checklist v2022
+Ruby-crowned Kinglet
+Golden-crowned Kinglet
+Ruby-crowned/Golden-crowned Kinglet
+Goldcrest
+Goldcrest (European)
+Goldcrest (western Canary Islands)
+Goldcrest (Tenerife)
+Goldcrest (Sao Miguel)
+Goldcrest (Santa Maria)
+Goldcrest (Western Azores)
+Goldcrest (Asian)
+Flamecrest
+Madeira Firecrest
+Common Firecrest
+Goldcrest/Common Firecrest
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/larks.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/larks.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a79e2efc604bee5910577d17ed4b2248087c07dc
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/larks.txt
@@ -0,0 +1,165 @@
+# Originally sourced from Clements Checklist v2022
+Greater Hoopoe-Lark
+Greater Hoopoe-Lark (Cape Verde)
+Greater Hoopoe-Lark (Mainland)
+Lesser Hoopoe-Lark
+Spike-heeled Lark
+Spike-heeled Lark (Spike-heeled)
+Spike-heeled Lark (Beesley's)
+Gray's Lark
+Short-clawed Lark
+Karoo Long-billed Lark
+Karoo Long-billed Lark (Karoo)
+Karoo Long-billed Lark (Benguela)
+Eastern Long-billed Lark
+Cape Lark
+Cape Lark (Cape)
+Cape Lark (Agulhas)
+long-billed lark sp.
+Rufous-rumped Lark
+Dusky Lark
+Thick-billed Lark
+Bar-tailed Lark
+Rufous-tailed Lark
+Desert Lark
+Ammomanes sp.
+Black-eared Sparrow-Lark
+Madagascar Lark
+Chestnut-backed Sparrow-Lark
+Black-crowned Sparrow-Lark
+Ashy-crowned Sparrow-Lark
+Chestnut-headed Sparrow-Lark
+Gray-backed Sparrow-Lark
+Fischer's Sparrow-Lark
+Sabota Lark
+Sabota Lark (Bradfield's)
+Sabota Lark (Sabota)
+Pink-breasted Lark
+Fawn-colored Lark
+Fawn-colored Lark (Fawn-colored)
+Fawn-colored Lark (Foxy)
+Karoo Lark
+Red Lark
+Dune Lark
+Dune Lark (Barlow's)
+Dune Lark (Coastal)
+Dune Lark (Cave's)
+Dune Lark (Dune)
+Karoo x Dune Lark (hybrid)
+Liben Lark
+Rudd's Lark
+Cape Clapper Lark
+Cape Clapper Lark (Cape)
+Cape Clapper Lark (Agulhas)
+Eastern Clapper Lark
+Collared Lark
+Red-winged Lark
+Red-winged Lark (Red-winged)
+Red-winged Lark (Rift Valley)
+Sharpe's Lark
+Rufous-naped Lark
+Rufous-naped Lark (Sudan)
+Rufous-naped Lark (Bamenda)
+Rufous-naped Lark (Rufous-naped)
+Rufous-naped Lark (Serengeti)
+Rufous-naped Lark (Blackish)
+Rufous-naped Lark (Malbrant's)
+Ash's Lark
+Somali Long-billed Lark
+Angola Lark
+Flappet Lark
+Kordofan Lark
+Williams's Lark
+Friedmann's Lark
+Monotonous Lark
+White-tailed Lark
+Latakoo Lark
+Horsfield's Bushlark
+Horsfield's Bushlark (Singing)
+Horsfield's Bushlark (Australasian)
+Burmese Bushlark
+Bengal Bushlark
+Indochinese Bushlark
+Jerdon's Bushlark
+Indian Bushlark
+Horsfield's/Indian Bushlark
+Jerdon's/Indian Bushlark
+Rusty Lark
+Gillett's Lark
+Mirafra sp.
+Horned Lark
+Horned Lark (Atlas)
+Horned Lark (Black-necklaced)
+Horned Lark (Tibetan)
+Horned Lark (Brandt's)
+Horned Lark (Shore)
+Horned Lark (Eastern dark Group)
+Horned Lark (Western pale Group)
+Horned Lark (Western rufous Group)
+Horned Lark (South Baja)
+Horned Lark (Mexican)
+Horned Lark (Colombian)
+Temminck's Lark
+Horned/Temminck's Lark
+Blanford's Lark
+Blanford's Lark (Blanford's)
+Blanford's Lark (Erlanger's)
+Rufous-capped Lark
+Red-capped Lark
+Greater Short-toed Lark
+Mongolian Short-toed Lark
+Greater/Mongolian Short-toed Lark
+Hume's Lark
+Greater Short-toed/Hume's Lark
+Mongolian Short-toed/Hume's Lark
+Calandrella sp.
+Bimaculated Lark
+Calandra Lark
+Bimaculated/Calandra Lark
+Tibetan Lark
+Black Lark
+Mongolian Lark
+Dupont's Lark
+Dunn's Lark
+Arabian Lark
+Dunn's/Arabian Lark
+Somali Short-toed Lark
+Somali Short-toed Lark (Somali)
+Somali Short-toed Lark (Athi)
+Asian Short-toed Lark
+Mediterranean Short-toed Lark
+Turkestan Short-toed Lark
+Asian/Turkestan Short-toed Lark
+Mediterranean/Turkestan Short-toed Lark
+Sand Lark
+Alaudala sp.
+Greater Short-toed Lark/Alaudala sp.
+Calandrella/Alaudala sp.
+Wood Lark
+Stark's Lark
+Sclater's Lark
+Short-tailed Lark
+Pink-billed Lark
+Botha's Lark
+Obbia Lark
+Masked Lark
+White-winged Lark
+Eurasian Skylark
+Eurasian Skylark (European)
+Eurasian Skylark (Asian)
+Eurasian Skylark (Far Eastern)
+Oriental Skylark
+Eurasian/Oriental Skylark
+Razo Skylark
+Sun Lark
+Large-billed Lark
+Thekla's Lark
+Crested Lark
+Crested Lark (Crested)
+Crested Lark (Maghreb)
+Thekla's/Crested Lark
+Malabar Lark
+Crested/Malabar Lark
+Tawny Lark
+Galerida sp.
+lark sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/laughingthrushes_and_allies.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/laughingthrushes_and_allies.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ee8bcd5d1736e2ad634f3b5378f40b823f26775f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/laughingthrushes_and_allies.txt
@@ -0,0 +1,183 @@
+# Originally sourced from Clements Checklist v2022
+Brown-cheeked Fulvetta
+Black-browed Fulvetta
+Brown Fulvetta
+Javan Fulvetta
+Nepal Fulvetta
+David's Fulvetta
+Huet's Fulvetta
+Morrison's Fulvetta
+Yunnan Fulvetta
+Mountain Fulvetta
+Black-browed/Mountain Fulvetta
+Alcippe sp.
+Striated Laughingthrush
+Himalayan Cutia
+Vietnamese Cutia
+Gray-crowned Crocias
+Spotted Crocias
+Scaly Laughingthrush
+Brown-capped Laughingthrush
+Blue-winged Laughingthrush
+Streaked Laughingthrush
+Bhutan Laughingthrush
+Striped Laughingthrush
+Variegated Laughingthrush
+Black-faced Laughingthrush
+White-whiskered Laughingthrush
+Prince Henry's Laughingthrush
+Elliot's Laughingthrush
+Red-tailed Laughingthrush
+Collared Laughingthrush
+Chestnut-crowned Laughingthrush
+Assam Laughingthrush
+Red-winged Laughingthrush
+Silver-eared Laughingthrush
+Golden-winged Laughingthrush
+Malayan Laughingthrush
+Trochalopteron sp.
+Banasura Laughingthrush
+Nilgiri Laughingthrush
+Palani Laughingthrush
+Ashambu Laughingthrush
+Long-tailed Sibia
+White-eared Sibia
+Rufous Sibia
+Beautiful Sibia
+Beautiful Sibia (Black-eared)
+Beautiful Sibia (Gray-eared)
+Gray Sibia
+Black-backed Sibia
+Black-headed Sibia
+Black-headed Sibia (Black-headed)
+Black-headed Sibia (engelbachi/kingi)
+Black-headed Sibia (Lang Bian)
+Hoary-throated Barwing
+Taiwan Barwing
+Streak-throated Barwing
+Streak-throated Barwing (Gray-chested)
+Streak-throated Barwing (Rufous-chested)
+Hoary-throated/Streak-throated Barwing
+Streaked Barwing
+Blue-winged Minla
+Chestnut-tailed Minla
+Rusty-fronted Barwing
+Spectacled Barwing
+Spectacled Barwing (Eastern)
+Spectacled Barwing (Western)
+Black-crowned Barwing
+Red-billed Leiothrix
+Silver-eared Mesia
+Silver-eared Mesia (Silver-eared)
+Silver-eared Mesia (Sumatran)
+Red-tailed Minla
+Rufous-backed Sibia
+Rufous-backed Sibia (Rufous-backed)
+Rufous-backed Sibia (Dalat)
+Bugun Liocichla
+Gray-faced Liocichla
+Steere's Liocichla
+Red-faced Liocichla
+Scarlet-faced Liocichla
+Large Gray Babbler
+Ashy-headed Laughingthrush
+Slender-billed Babbler
+Rufous Babbler
+Orange-billed Babbler
+Jungle Babbler
+Jungle Babbler (Jungle)
+Jungle Babbler (Black-winged)
+Yellow-billed Babbler
+Jungle/Yellow-billed Babbler
+Rufous Chatterer
+Scaly Chatterer
+Iraq Babbler
+Afghan Babbler
+Common Babbler
+Fulvous Chatterer
+Arabian Babbler
+Striated Babbler
+Common/Striated Babbler
+White-throated Babbler
+Spiny Babbler
+Capuchin Babbler
+Capuchin Babbler (Gray-hooded)
+Capuchin Babbler (Black-crowned)
+Capuchin Babbler (Brown-throated)
+White-throated Mountain-Babbler
+Chapin's Mountain-Babbler
+Red-collared Mountain-Babbler
+Brown Babbler
+White-rumped Babbler
+Hinde's Pied-Babbler
+Scaly Babbler
+Arrow-marked Babbler
+Bare-cheeked Babbler
+Cretzschmar's Babbler
+Blackcap Babbler
+Blackcap Babbler (Blackcap)
+Blackcap Babbler (Dusky-throated)
+Dusky Babbler
+Southern Pied-Babbler
+Hartlaub's Babbler
+Black-lored Babbler
+Black-lored Babbler (Sharpe's)
+Black-lored Babbler (Nanyuki)
+Black-faced Babbler
+Northern Pied-Babbler
+Argya/Turdoides sp.
+Spot-breasted Laughingthrush
+Orange-breasted Laughingthrush
+Chinese Hwamei
+Taiwan Hwamei
+Chinese x Taiwan Hwamei (hybrid)
+Chinese/Taiwan Hwamei
+Lesser Necklaced Laughingthrush
+Rufous-fronted Laughingthrush
+Sunda Laughingthrush
+White-crested Laughingthrush
+Sumatran Laughingthrush
+Black-hooded Laughingthrush
+White-necked Laughingthrush
+Cambodian Laughingthrush
+Gray Laughingthrush
+Rufous-cheeked Laughingthrush
+Garrulax sp.
+Snowy-cheeked Laughingthrush
+Rufous-chinned Laughingthrush
+Chestnut-eared Laughingthrush
+Moustached Laughingthrush
+Moustached Laughingthrush (Western)
+Moustached Laughingthrush (Eastern)
+Spotted Laughingthrush
+Giant Laughingthrush
+Biet's Laughingthrush
+Barred Laughingthrush
+Wayanad Laughingthrush
+Rufous-vented Laughingthrush
+White-cheeked Laughingthrush
+Yellow-throated Laughingthrush
+Blue-crowned Laughingthrush
+Chestnut-capped Laughingthrush
+Chestnut-hooded Laughingthrush
+Rufous-necked Laughingthrush
+Chestnut-backed Laughingthrush
+Black-throated Laughingthrush
+Black-throated Laughingthrush (Black-throated)
+Black-throated Laughingthrush (Hainan)
+White-browed Laughingthrush
+Masked Laughingthrush
+Greater Necklaced Laughingthrush
+Lesser/Greater Necklaced Laughingthrush
+Pere David's Laughingthrush
+Mount Victoria Babax
+Chinese Babax
+Giant Babax
+Tibetan Babax
+White-throated Laughingthrush
+Rufous-crowned Laughingthrush
+Gray-sided Laughingthrush
+Buffy Laughingthrush
+Rusty Laughingthrush
+Ianthocincla/Pterorhinus sp.
+laughingthrush sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/leaf_warblers.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/leaf_warblers.txt
new file mode 100644
index 0000000000000000000000000000000000000000..526837f3a985c011f3f24ea73a8f599552329809
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/leaf_warblers.txt
@@ -0,0 +1,134 @@
+# Originally sourced from Clements Checklist v2022
+Wood Warbler
+Western Bonelli's Warbler
+Wood x Western Bonelli's Warbler (hybrid)
+Eastern Bonelli's Warbler
+Western/Eastern Bonelli's Warbler
+Ashy-throated Warbler
+Buff-barred Warbler
+Yellow-browed Warbler
+Hume's Warbler
+Hume's Warbler (Western)
+Hume's Warbler (Eastern)
+Yellow-browed/Hume's Warbler
+Brooks's Leaf Warbler
+Chinese Leaf Warbler
+Pallas's Leaf Warbler
+Gansu Leaf Warbler
+Lemon-rumped Warbler
+Sichuan Leaf Warbler
+Lemon-rumped/Sichuan Leaf Warbler
+Tytler's Leaf Warbler
+Radde's Warbler
+Yellow-streaked Warbler
+Sulphur-bellied Warbler
+Tickell's Leaf Warbler
+Tickell's Leaf Warbler (Tickell's)
+Tickell's Leaf Warbler (Alpine)
+Sulphur-bellied/Tickell's Leaf Warbler
+Dusky Warbler
+Radde's/Dusky Warbler
+Radde's/Yellow-streaked/Dusky Warbler
+Smoky Warbler
+Dusky/Smoky Warbler
+Plain Leaf Warbler
+Buff-throated Warbler
+Willow Warbler
+Mountain Chiffchaff
+Mountain Chiffchaff (Caucasian)
+Mountain Chiffchaff (Kashmir)
+Canary Islands Chiffchaff
+Common Chiffchaff
+Common Chiffchaff (Common)
+Common Chiffchaff (Siberian)
+Willow Warbler/Common Chiffchaff
+Mountain/Common Chiffchaff
+Iberian Chiffchaff
+Willow Warbler/Common Chiffchaff/Iberian Chiffchaff
+Common/Iberian Chiffchaff
+Lemon-throated Leaf Warbler
+Philippine Leaf Warbler
+Eastern Crowned Warbler
+Ijima's Leaf Warbler
+Brown Woodland-Warbler
+Yellow-throated Woodland-Warbler
+Red-faced Woodland-Warbler
+Laura's Woodland-Warbler
+Black-capped Woodland-Warbler
+Uganda Woodland-Warbler
+White-spectacled Warbler
+Gray-cheeked Warbler
+Green-crowned Warbler
+Gray-crowned Warbler
+Whistler's Warbler
+Green-crowned/Whistler's Warbler
+Gray-crowned/Whistler's Warbler
+Bianchi's Warbler
+Gray-crowned/Bianchi's Warbler
+Martens's Warbler
+Alström's Warbler
+Bianchi's/Martens's/Alström's Warbler
+Phylloscopus sp. (Golden-spectacled Warbler complex)
+Green Warbler
+Greenish Warbler
+Greenish Warbler (viridanus)
+Greenish Warbler (trochiloides/ludlowi)
+Greenish Warbler (obscuratus)
+Green/Greenish Warbler
+Two-barred Warbler
+Greenish/Two-barred Warbler
+Emei Leaf Warbler
+Large-billed Leaf Warbler
+Greenish/Large-billed Leaf Warbler
+Pale-legged Leaf Warbler
+Sakhalin Leaf Warbler
+Pale-legged/Sakhalin Leaf Warbler
+Japanese Leaf Warbler
+Arctic Warbler
+Japanese Leaf/Arctic Warbler
+Kamchatka Leaf Warbler
+Arctic/Kamchatka Leaf Warbler
+Japanese Leaf/Arctic/Kamchatka Leaf Warbler
+Chestnut-crowned Warbler
+Yellow-breasted Warbler
+Sunda Warbler
+Sunda Warbler (Sumatran)
+Sunda Warbler (Javan)
+Limestone Leaf Warbler
+Yellow-vented Warbler
+Sulphur-breasted Warbler
+Limestone Leaf/Sulphur-breasted Warbler
+Western Crowned Warbler
+Blyth's Leaf Warbler
+Claudia's Leaf Warbler
+Hartert's Leaf Warbler
+Blyth's/Claudia's/Hartert's Leaf Warbler
+Gray-hooded Warbler
+Davison's Leaf Warbler
+Hainan Leaf Warbler
+Kloss's Leaf Warbler
+Davison's/Kloss's Leaf Warbler
+Mountain Leaf Warbler
+Negros Leaf Warbler
+Timor Leaf Warbler
+Timor Leaf Warbler (Flores)
+Timor Leaf Warbler (Timor)
+Rote Leaf Warbler
+Makira Leaf Warbler
+Sulawesi Leaf Warbler
+Lompobattang Leaf Warbler
+Selayar Leaf Warbler (undescribed form)
+Island Leaf Warbler
+Island Leaf Warbler (Peleng)
+Island Leaf Warbler (Taliabu)
+Island Leaf Warbler (Halmahera)
+Island Leaf Warbler (Bacan)
+Island Leaf Warbler (Buru)
+Island Leaf Warbler (Seram)
+Island Leaf Warbler (Kai)
+Island Leaf Warbler (New Guinea)
+Island Leaf Warbler (South Pacific)
+Numfor Leaf Warbler
+Biak Leaf Warbler
+Kolombangara Leaf Warbler
+Phylloscopus sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/leafbirds.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/leafbirds.txt
new file mode 100644
index 0000000000000000000000000000000000000000..efafe0d4e8405e3ef62590847440a876ebe9f417
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/leafbirds.txt
@@ -0,0 +1,19 @@
+# Originally sourced from Clements Checklist v2022
+Philippine Leafbird
+Yellow-throated Leafbird
+Greater Green Leafbird
+Lesser Green Leafbird
+Greater/Lesser Green Leafbird
+Blue-winged Leafbird
+Blue-winged Leafbird (Blue-winged)
+Blue-winged Leafbird (Javan)
+Bornean Leafbird
+Jerdon's Leafbird
+Golden-fronted Leafbird
+Jerdon's/Golden-fronted Leafbird
+Sumatran Leafbird
+Orange-bellied Leafbird
+Orange-bellied Leafbird (Orange-bellied)
+Orange-bellied Leafbird (Grayish-crowned)
+Blue-masked Leafbird
+leafbird sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/logrunners.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/logrunners.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c46b8165ed4ee27d14f0acd08047699d67297262
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/logrunners.txt
@@ -0,0 +1,4 @@
+# Originally sourced from Clements Checklist v2022
+Papuan Logrunner
+Australian Logrunner
+Chowchilla
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/long-tailed_tits.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/long-tailed_tits.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f002da715f174a9fd8bbb2ee78c3e87f25c0ec24
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/long-tailed_tits.txt
@@ -0,0 +1,24 @@
+# Originally sourced from Clements Checklist v2022
+White-browed Tit-Warbler
+Crested Tit-Warbler
+Long-tailed Tit
+Long-tailed Tit (caudatus)
+Long-tailed Tit (europaeus Group)
+Long-tailed Tit (alpinus Group)
+Silver-throated Tit
+White-cheeked Tit
+Black-throated Tit
+Black-throated Tit (Black-throated)
+Black-throated Tit (Red-headed)
+Black-throated Tit (Gray-crowned)
+White-throated Tit
+Black-browed Tit
+Black-browed Tit (Rufous-fronted)
+Black-browed Tit (Burmese)
+Black-browed Tit (Black-browed)
+Sooty Tit
+Pygmy Tit
+Bushtit
+Bushtit (Pacific)
+Bushtit (Interior)
+Bushtit (melanotis Group)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/longspurs_and_snow_buntings.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/longspurs_and_snow_buntings.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4321ffa0c01d775f532fb63ccc292abcab804cfb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/longspurs_and_snow_buntings.txt
@@ -0,0 +1,11 @@
+# Originally sourced from Clements Checklist v2022
+Lapland Longspur
+Chestnut-collared Longspur
+Smith's Longspur
+Thick-billed Longspur
+longspur sp.
+Snow Bunting
+Lapland Longspur x Snow Bunting (hybrid)
+McKay's Bunting
+Snow x McKay's Bunting (hybrid)
+Snow/McKay's Bunting
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/lyrebirds.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/lyrebirds.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2b3bea23f3b846e0d5cc3ae73369a7d5d3459b38
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/lyrebirds.txt
@@ -0,0 +1,3 @@
+# Originally sourced from Clements Checklist v2022
+Albert's Lyrebird
+Superb Lyrebird
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/malagasy_warblers.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/malagasy_warblers.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b93fb3d8cfedc28ac80ef1004b8fd5edf57b1073
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/malagasy_warblers.txt
@@ -0,0 +1,12 @@
+# Originally sourced from Clements Checklist v2022
+White-throated Oxylabes
+Long-billed Bernieria
+Cryptic Warbler
+Wedge-tailed Jery
+Thamnornis
+Yellow-browed Oxylabes
+Spectacled Tetraka
+Appert's Tetraka
+Dusky Tetraka
+Gray-crowned Tetraka
+Rand's Warbler
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/manakins.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/manakins.txt
new file mode 100644
index 0000000000000000000000000000000000000000..09c6271c44f5008d2a8adbca1cc9d6c0da125147
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/manakins.txt
@@ -0,0 +1,78 @@
+# Originally sourced from Clements Checklist v2022
+Dwarf Tyrant-Manakin
+Tiny Tyrant-Manakin
+Pale-bellied Tyrant-Manakin
+Saffron-crested Tyrant-Manakin
+Wied's Tyrant-Manakin
+Serra do Mar Tyrant-Manakin
+Sulphur-bellied Tyrant-Manakin
+Yellow-headed Manakin
+Jet Manakin
+Araripe Manakin
+Helmeted Manakin
+Lance-tailed Manakin
+Long-tailed Manakin
+Blue-backed Manakin
+Blue-backed Manakin (pareola/atlantica)
+Blue-backed Manakin (napensis)
+Blue-backed Manakin (regina)
+Yungas Manakin
+Swallow-tailed Manakin
+Helmeted x Swallow-tailed Manakin (hybrid)
+Pin-tailed Manakin
+Golden-winged Manakin
+White-ruffed Manakin
+White-bibbed Manakin
+White-throated Manakin
+Olive Manakin
+Black Manakin
+Choco Manakin
+Green Manakin
+Velvety Manakin
+Blue-capped Manakin
+Blue-capped Manakin (Blue-capped)
+Blue-capped Manakin (Exquisite)
+Snow-capped Manakin
+Golden-crowned Manakin
+Opal-crowned Manakin
+Orange-bellied Manakin
+White-fronted Manakin
+Orange-bellied/White-fronted Manakin
+Blue-rumped Manakin
+Cerulean-capped Manakin
+Lepidothrix sp.
+Orange-crowned Manakin
+Yellow-crowned Manakin
+Flame-crowned Manakin
+Heterocercus sp.
+White-collared Manakin
+Orange-collared Manakin
+Golden-collared Manakin
+White-collared x Golden-collared Manakin (hybrid)
+White-bearded Manakin
+Crimson-hooded Manakin
+Wire-tailed Manakin
+Band-tailed Manakin
+Club-winged Manakin
+Striolated Manakin
+Striolated Manakin (Striolated)
+Striolated Manakin (aureopectus)
+Painted Manakin
+Striolated/Painted Manakin
+Kinglet Manakin
+Fiery-capped Manakin
+White-crowned Manakin
+White-crowned Manakin (Zeledon's)
+White-crowned Manakin (Choco)
+White-crowned Manakin (Colombian)
+White-crowned Manakin (Foothills)
+White-crowned Manakin (Subtropical)
+White-crowned Manakin (Guianan)
+White-crowned Manakin (Amazonian)
+White-crowned Manakin (Atlantic)
+Scarlet-horned Manakin
+Red-capped Manakin
+Golden-headed Manakin
+Red-headed Manakin
+Round-tailed Manakin
+manakin sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/melampittas.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/melampittas.txt
new file mode 100644
index 0000000000000000000000000000000000000000..555571f715de82e764f25a80117c5eace6109af4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/melampittas.txt
@@ -0,0 +1,3 @@
+# Originally sourced from Clements Checklist v2022
+Lesser Melampitta
+Greater Melampitta
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/mitrospingid_tanagers.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/mitrospingid_tanagers.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3515d3cb4898f011ebf005380da123bdd6e05b7d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/mitrospingid_tanagers.txt
@@ -0,0 +1,5 @@
+# Originally sourced from Clements Checklist v2022
+Dusky-faced Tanager
+Olive-backed Tanager
+Red-billed Pied Tanager
+Olive-green Tanager
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/mockingbirds_and_thrashers.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/mockingbirds_and_thrashers.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a16283116827564703091d071bb553a5f431b9a7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/mockingbirds_and_thrashers.txt
@@ -0,0 +1,55 @@
+# Originally sourced from Clements Checklist v2022
+Blue Mockingbird
+Blue-and-white Mockingbird
+Black Catbird
+Gray Catbird
+White-breasted Thrasher
+White-breasted Thrasher (Martinique)
+White-breasted Thrasher (St. Lucia)
+Scaly-breasted Thrasher
+Pearly-eyed Thrasher
+Scaly-breasted/Pearly-eyed Thrasher
+Brown Trembler
+Gray Trembler
+Brown/Gray Trembler
+Curve-billed Thrasher
+Curve-billed Thrasher (curvirostre Group)
+Curve-billed Thrasher (palmeri Group)
+Ocellated Thrasher
+Brown Thrasher
+Long-billed Thrasher
+Curve-billed x Long-billed Thrasher (hybrid)
+Brown/Long-billed Thrasher
+Cozumel Thrasher
+Bendire's Thrasher
+Curve-billed/Bendire's Thrasher
+Gray Thrasher
+California Thrasher
+LeConte's Thrasher
+LeConte's Thrasher (LeConte's)
+LeConte's Thrasher (Vizcaino)
+Crissal Thrasher
+California x Crissal Thrasher (hybrid)
+Toxostoma sp.
+Sage Thrasher
+Chilean Mockingbird
+Patagonian Mockingbird
+Chalk-browed Mockingbird
+Patagonian/Chalk-browed Mockingbird
+White-banded Mockingbird
+Brown-backed Mockingbird
+Bahama Mockingbird
+Galapagos Mockingbird
+Floreana Mockingbird
+Española Mockingbird
+San Cristobal Mockingbird
+Long-tailed Mockingbird
+Socorro Mockingbird
+Tropical Mockingbird
+Tropical Mockingbird (Tropical)
+Tropical Mockingbird (San Andres)
+Northern Mockingbird
+Bahama x Northern Mockingbird (hybrid)
+Tropical x Northern Mockingbird (hybrid)
+Tropical/Northern Mockingbird
+Mimidae sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/monarch_flycatchers.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/monarch_flycatchers.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d10fe0fc61751d7a4f6cd2ad41cbcf08d6edcbe4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/monarch_flycatchers.txt
@@ -0,0 +1,149 @@
+# Originally sourced from Clements Checklist v2022
+Blue-headed Crested-Flycatcher
+African Crested-Flycatcher
+African Crested-Flycatcher (Eastern)
+African Crested-Flycatcher (Southern)
+Short-crested Monarch
+Black-naped Monarch
+Pale-blue Monarch
+Celestial Monarch
+Blue Paradise-Flycatcher
+Rufous Paradise-Flycatcher
+Rufous Paradise-Flycatcher (Northern)
+Rufous Paradise-Flycatcher (Southern)
+Japanese Paradise-Flycatcher
+Amur Paradise-Flycatcher
+Japanese/Amur Paradise-Flycatcher
+Blyth's Paradise-Flycatcher
+Blyth's Paradise-Flycatcher (Blyth's)
+Blyth's Paradise-Flycatcher (Lesser Sundas)
+Black-naped Monarch x Blyth's Paradise-Flycatcher (hybrid)
+Amur/Blyth's Paradise-Flycatcher
+Mascarene Paradise-Flycatcher
+Indian Paradise-Flycatcher
+Blyth's/Indian Paradise-Flycatcher
+Amur/Blyth's/Indian Paradise-Flycatcher
+Sao Tome Paradise-Flycatcher
+Seychelles Paradise-Flycatcher
+Malagasy Paradise-Flycatcher
+Malagasy Paradise-Flycatcher (Malagasy)
+Malagasy Paradise-Flycatcher (Comoros)
+Malagasy Paradise-Flycatcher (Grand Comoro)
+Black-headed Paradise-Flycatcher
+Black-headed Paradise-Flycatcher (Red-bellied)
+Black-headed Paradise-Flycatcher (Tricolored)
+Black-headed Paradise-Flycatcher (Annobon)
+Bedford's Paradise-Flycatcher
+Rufous-vented Paradise-Flycatcher
+Bates's Paradise-Flycatcher
+African Paradise-Flycatcher
+Black-headed x African Paradise-Flycatcher (hybrid)
+paradise-flycatcher sp.
+Hawaii Elepaio
+Hawaii Elepaio (Kona coast)
+Hawaii Elepaio (Mauna Kea)
+Hawaii Elepaio (Hilo coast)
+Kauai Elepaio
+Oahu Elepaio
+Tahiti Monarch
+Maupiti Monarch
+Rarotonga Monarch
+Eiao Monarch
+Nuku Hiva Monarch
+Iphis Monarch
+Ua Pou Monarch
+Marquesas Monarch
+Fatuhiva Monarch
+Ogea Monarch
+Slaty Monarch
+Vanikoro Monarch
+Buff-bellied Monarch
+Southern Shrikebill
+Rennell Shrikebill
+Fiji Shrikebill
+Fiji Shrikebill (Manua)
+Fiji Shrikebill (Fiji)
+Fiji Shrikebill (Fortuna)
+Fiji Shrikebill (Dusky)
+Black-throated Shrikebill
+Fiji/Black-throated Shrikebill
+Santa Cruz Shrikebill
+White-naped Monarch
+Loetoe Monarch
+White-eared Monarch
+Golden Monarch
+Truk Monarch
+Yap Monarch
+Tinian Monarch
+Island Monarch
+White-capped Monarch
+Chestnut-bellied Monarch
+Chestnut-bellied Monarch (Chestnut-bellied)
+Chestnut-bellied Monarch (Makira)
+Chestnut-bellied Monarch (Ugi)
+Bougainville Monarch
+Black-faced Monarch
+Black-winged Monarch
+Black-faced x Black-winged Monarch (hybrid)
+Monarcha sp.
+Fan-tailed Monarch
+Rufous Monarch
+Flores Monarch
+Black-chinned Monarch
+Spectacled Monarch
+Spectacled Monarch (Halmahera)
+Spectacled Monarch (Obi)
+Spectacled Monarch (Seram)
+Spectacled Monarch (Spectacled)
+Spectacled Monarch (Australian)
+White-tailed Monarch
+White-tipped Monarch
+Black-tipped Monarch
+Kofiau Monarch
+Biak Monarch
+Hooded Monarch
+Manus Monarch
+White-breasted Monarch
+Black-tailed Monarch
+Black-tailed Monarch (Djaul)
+Black-tailed Monarch (Black-tailed)
+Black-and-white Monarch
+Black-and-white Monarch (Solomons)
+Black-and-white Monarch (White-cheeked)
+Kolombangara Monarch
+Black-bibbed Monarch
+White-collared Monarch
+Spot-winged Monarch
+Frilled Monarch
+Frill-necked Monarch
+Ochre-collared Monarch
+Frilled x Ochre-collared Monarch (hybrid)
+Pied Monarch
+Magpie-lark
+Torrent-lark
+Palau Flycatcher
+Guam Flycatcher
+Pohnpei Flycatcher
+Oceanic Flycatcher
+Biak Flycatcher
+Moluccan Flycatcher
+Leaden Flycatcher
+Steel-blue Flycatcher
+Ochre-headed Flycatcher
+Melanesian Flycatcher
+Vanikoro Flycatcher
+Samoan Flycatcher
+Azure-crested Flycatcher
+Chestnut-throated Flycatcher
+Broad-billed Flycatcher
+Satin Flycatcher
+Leaden/Satin Flycatcher
+Restless Flycatcher
+Paperbark Flycatcher
+Restless/Paperbark Flycatcher
+Shining Flycatcher
+Dull Flycatcher
+Dull Flycatcher (Mussau)
+Dull Flycatcher (Velvet)
+Dull Flycatcher (Djaul)
+Myiagra sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/mottled_berryhunter.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/mottled_berryhunter.txt
new file mode 100644
index 0000000000000000000000000000000000000000..08909822745d45c752323f9ff6c1078447f30b4a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/mottled_berryhunter.txt
@@ -0,0 +1,2 @@
+# Originally sourced from Clements Checklist v2022
+Mottled Berryhunter
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/new_world_sparrows.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/new_world_sparrows.txt
new file mode 100644
index 0000000000000000000000000000000000000000..293c770bba96a7b1a73bba6079c82c9a5ecfd703
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/new_world_sparrows.txt
@@ -0,0 +1,287 @@
+# Originally sourced from Clements Checklist v2022
+Tanager Finch
+Yellow-throated Chlorospingus
+Yellow-throated Chlorospingus (Drab-breasted)
+Yellow-throated Chlorospingus (Yellow-throated)
+Short-billed Chlorospingus
+Yellow-throated/Short-billed Chlorospingus
+Ashy-throated Chlorospingus
+Ashy-throated Chlorospingus (Olive-crowned)
+Ashy-throated Chlorospingus (Ashy-throated)
+Sooty-capped Chlorospingus
+Common Chlorospingus
+Common Chlorospingus (Northeast Mexico)
+Common Chlorospingus (Southwest Mexico)
+Common Chlorospingus (Middle America)
+Common Chlorospingus (Central Panama)
+Common Chlorospingus (Venezuela)
+Common Chlorospingus (Northern Andes)
+Common Chlorospingus (cinereocephalus)
+Common Chlorospingus (Southern Peru)
+Common Chlorospingus (Northern Bolivia)
+Common Chlorospingus (Southern Bolivia)
+Common Chlorospingus (Argentina)
+Tacarcuna Chlorospingus
+Pirre Chlorospingus
+Dusky Chlorospingus
+chlorospingus sp.
+Tumbes Sparrow
+Yungas Sparrow
+Chaco Sparrow
+Yungas/Chaco Sparrow
+Rufous-winged Sparrow
+Cinnamon-tailed Sparrow
+Stripe-headed Sparrow
+Black-chested Sparrow
+Bridled Sparrow
+Botteri's Sparrow
+Botteri's Sparrow (Botteri's)
+Botteri's Sparrow (Peten)
+Cassin's Sparrow
+Botteri's/Cassin's Sparrow
+Bachman's Sparrow
+Peucaea sp.
+Grasshopper Sparrow
+Grassland Sparrow
+Yellow-browed Sparrow
+Grassland/Yellow-browed Sparrow
+Olive Sparrow
+Olive Sparrow (Olive)
+Olive Sparrow (Pacific)
+Green-backed Sparrow
+Olive/Green-backed Sparrow
+Black-striped Sparrow
+Tocuyo Sparrow
+Chipping Sparrow
+Clay-colored Sparrow
+Chipping x Clay-colored Sparrow (hybrid)
+Black-chinned Sparrow
+Field Sparrow
+Chipping x Field Sparrow (hybrid)
+Clay-colored x Field Sparrow (hybrid)
+Brewer's Sparrow
+Brewer's Sparrow (breweri)
+Brewer's Sparrow (taverneri)
+Black-chinned x Brewer's Sparrow (hybrid)
+Clay-colored x Brewer's Sparrow (hybrid)
+Worthen's Sparrow
+Spizella sp.
+Five-striped Sparrow
+Black-throated Sparrow
+Lark Sparrow
+Lark Bunting
+Costa Rican Brushfinch
+Sierra Nevada Brushfinch
+Perija Brushfinch
+Black-headed Brushfinch
+Caracas Brushfinch
+Paria Brushfinch
+Gray-browed Brushfinch
+White-browed Brushfinch
+stripe-headed brushfinch sp.
+Orange-billed Sparrow
+Orange-billed Sparrow (aurantiirostris Group)
+Orange-billed Sparrow (erythrorhynchus)
+Orange-billed Sparrow (spectabilis)
+Black-capped Sparrow
+Black-capped Sparrow (Black-capped)
+Black-capped Sparrow (Marañon)
+Golden-winged Sparrow
+Pectoral Sparrow
+Pectoral Sparrow (Yellow-mandibled)
+Pectoral Sparrow (Pectoral)
+Sao Francisco Sparrow
+Half-collared Sparrow
+Moss-backed Sparrow
+Saffron-billed Sparrow
+Saffron-billed Sparrow (Gray-backed)
+Saffron-billed Sparrow (Saffron-billed)
+Green-striped Brushfinch
+Chestnut-capped Brushfinch
+Chestnut-capped Brushfinch (Plain-breasted)
+Chestnut-capped Brushfinch (Chestnut-capped)
+Sooty-faced Finch
+Olive Finch
+American Tree Sparrow
+Spizella sp./American Tree Sparrow
+Fox Sparrow
+Fox Sparrow (Sooty)
+Fox Sparrow (Thick-billed)
+Fox Sparrow (Slate-colored)
+Fox Sparrow (Red)
+Dark-eyed Junco
+Dark-eyed Junco (Slate-colored/cismontanus)
+Dark-eyed Junco (Slate-colored)
+Dark-eyed Junco (cismontanus)
+Dark-eyed Junco (Oregon)
+Dark-eyed Junco (Pink-sided)
+Dark-eyed Junco (Oregon x Pink-sided)
+Dark-eyed Junco (White-winged)
+Dark-eyed Junco (Pink-sided x White-winged)
+Dark-eyed Junco (Gray-headed)
+Dark-eyed Junco (Oregon x Gray-headed)
+Dark-eyed Junco (Pink-sided x Gray-headed)
+Dark-eyed Junco (Red-backed)
+Dark-eyed Junco (Gray-headed x Red-backed)
+Guadalupe Junco
+Yellow-eyed Junco
+Yellow-eyed Junco (Mexican)
+Yellow-eyed Junco (Chiapas)
+Yellow-eyed Junco (Guatemalan)
+Dark-eyed x Yellow-eyed Junco (hybrid)
+Dark-eyed/Yellow-eyed Junco
+Baird's Junco
+Volcano Junco
+Rufous-collared Sparrow
+Rufous-collared Sparrow (Rufous-collared)
+Rufous-collared Sparrow (Patagonian)
+White-crowned Sparrow
+White-crowned Sparrow (Dark-lored)
+White-crowned Sparrow (leucophrys)
+White-crowned Sparrow (oriantha)
+White-crowned Sparrow (Gambel's)
+White-crowned Sparrow (Yellow-billed)
+White-crowned Sparrow (nuttalli)
+White-crowned Sparrow (pugetensis)
+Dark-eyed Junco x White-crowned Sparrow (hybrid)
+Golden-crowned Sparrow
+White-crowned x Golden-crowned Sparrow (hybrid)
+Harris's Sparrow
+American Tree x Harris's Sparrow (hybrid)
+White-crowned x Harris's Sparrow (hybrid)
+White-throated Sparrow
+White-crowned x White-throated Sparrow (hybrid)
+White-crowned/White-throated Sparrow
+Golden-crowned x White-throated Sparrow (hybrid)
+Zonotrichia sp.
+Dark-eyed Junco x White-throated Sparrow (hybrid)
+Sagebrush Sparrow
+Bell's Sparrow
+Bell's Sparrow (belli)
+Bell's Sparrow (canescens)
+Bell's Sparrow (clementeae)
+Bell's Sparrow (cinerea)
+Sagebrush/Bell's Sparrow (Sage Sparrow)
+Striped Sparrow
+Vesper Sparrow
+LeConte's Sparrow
+Seaside Sparrow
+Seaside Sparrow (Atlantic)
+Seaside Sparrow (Dusky)
+Seaside Sparrow (Gulf of Mexico)
+Seaside Sparrow (Cape Sable)
+Nelson's Sparrow
+Nelson's Sparrow (Interior)
+Nelson's Sparrow (Atlantic Coast)
+LeConte's/Nelson's Sparrow
+Saltmarsh Sparrow
+Nelson's x Saltmarsh Sparrow (hybrid)
+Nelson's/Saltmarsh Sparrow (Sharp-tailed Sparrow)
+Ammospiza sp.
+Savannah Sparrow
+Savannah Sparrow (Savannah)
+Savannah Sparrow (Ipswich)
+Savannah Sparrow (Belding's)
+Savannah Sparrow (San Benito)
+Savannah Sparrow (Large-billed)
+Baird's Sparrow
+Henslow's Sparrow
+Grasshopper/Baird's Sparrow
+Grasshopper/Henslow's Sparrow
+Sierra Madre Sparrow
+Song Sparrow
+Song Sparrow (melodia/atlantica)
+Song Sparrow (sanaka/maxima)
+Song Sparrow (rufina Group)
+Song Sparrow (montana/merrilli)
+Song Sparrow (heermanni Group)
+Song Sparrow (samuelsis)
+Song Sparrow (pusillula)
+Song Sparrow (fallax Group)
+Song Sparrow (mexicana Group)
+Lincoln's Sparrow
+Song x Lincoln's Sparrow (hybrid)
+Swamp Sparrow
+Song x Swamp Sparrow (hybrid)
+Lincoln's/Swamp Sparrow
+Large-footed Finch
+Zapata Sparrow
+Rusty-crowned Ground-Sparrow
+Canyon Towhee
+White-throated Towhee
+Abert's Towhee
+Canyon x Abert's Towhee (hybrid)
+Canyon/Abert's Towhee
+California Towhee
+White-eared Ground-Sparrow
+White-eared Ground-Sparrow (Gray-crowned)
+White-eared Ground-Sparrow (White-eared)
+White-faced Ground-Sparrow
+Cabanis's Ground-Sparrow
+Rusty Sparrow
+Rufous-crowned Sparrow
+Oaxaca Sparrow
+Green-tailed Towhee
+Spotted Towhee
+Spotted Towhee (oregonus Group)
+Spotted Towhee (arcticus)
+Spotted Towhee (maculatus Group)
+Spotted Towhee (Olive-backed)
+Spotted Towhee (Socorro)
+Chestnut-capped Brushfinch x Spotted Towhee (hybrid)
+Canyon x Spotted Towhee (hybrid)
+Green-tailed x Spotted Towhee (hybrid)
+Eastern Towhee
+Eastern Towhee (Red-eyed)
+Eastern Towhee (White-eyed)
+Spotted x Eastern Towhee (hybrid)
+Spotted/Eastern Towhee (Rufous-sided Towhee)
+Bermuda Towhee
+Collared Towhee
+Spotted x Collared Towhee (hybrid)
+towhee sp.
+Rufous-capped Brushfinch
+White-naped Brushfinch
+White-naped Brushfinch (White-naped)
+White-naped Brushfinch (Yellow-throated)
+Yellow-thighed Brushfinch
+Yellow-green Brushfinch
+Moustached Brushfinch
+Moustached Brushfinch (Moustached)
+Moustached Brushfinch (Merida)
+Tepui Brushfinch
+Santa Marta Brushfinch
+Ochre-breasted Brushfinch
+Yellow-headed Brushfinch
+Dusky-headed Brushfinch
+White-rimmed Brushfinch
+White-headed Brushfinch
+Rufous-eared Brushfinch
+Tricolored Brushfinch
+Tricolored Brushfinch (Choco)
+Tricolored Brushfinch (Tricolored)
+Slaty Brushfinch
+Slaty Brushfinch (Slaty)
+Slaty Brushfinch (Taczanowski's)
+Pale-naped Brushfinch
+Antioquia Brushfinch
+Yellow-breasted Brushfinch
+Yellow-breasted Brushfinch (nigrifrons)
+Yellow-breasted Brushfinch (Yellow-breasted)
+White-winged Brushfinch
+White-winged Brushfinch (White-winged)
+White-winged Brushfinch (Paynter's)
+Pale-headed Brushfinch
+Bay-crowned Brushfinch
+Rusty-bellied Brushfinch
+Apurimac Brushfinch
+Black-spectacled Brushfinch
+Vilcabamba Brushfinch
+Cuzco Brushfinch
+Black-faced Brushfinch
+Bolivian Brushfinch
+Black-faced x Bolivian Brushfinch (hybrid)
+Fulvous-headed Brushfinch
+Yellow-striped Brushfinch
+Atlapetes sp.
+new world sparrow sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/new_world_warblers.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/new_world_warblers.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6716b3b7940f7c3fc34dba8cc34db008ecac18ee
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/new_world_warblers.txt
@@ -0,0 +1,247 @@
+# Originally sourced from Clements Checklist v2022
+Ovenbird
+Worm-eating Warbler
+Louisiana Waterthrush
+Northern Waterthrush
+Louisiana/Northern Waterthrush
+Bachman's Warbler
+Golden-winged Warbler
+Blue-winged Warbler
+Golden-winged x Blue-winged Warbler (hybrid)
+Brewster's Warbler (hybrid)
+Lawrence's Warbler (hybrid)
+Golden-winged/Blue-winged Warbler
+Black-and-white Warbler
+Prothonotary Warbler
+Swainson's Warbler
+Crescent-chested Warbler
+Flame-throated Warbler
+Tennessee Warbler
+Orange-crowned Warbler
+Orange-crowned Warbler (Gray-headed)
+Orange-crowned Warbler (celata)
+Orange-crowned Warbler (orestera)
+Orange-crowned Warbler (lutescens)
+Orange-crowned Warbler (sordida)
+Colima Warbler
+Lucy's Warbler
+Nashville Warbler
+Nashville Warbler (ruficapilla)
+Nashville Warbler (ridgwayi)
+Tennessee x Nashville Warbler (hybrid)
+Orange-crowned x Nashville Warbler (hybrid)
+Virginia's Warbler
+Colima x Virginia's Warbler (hybrid)
+Leiothlypis sp.
+Semper's Warbler
+Connecticut Warbler
+Gray-crowned Yellowthroat
+Masked Yellowthroat
+Black-lored Yellowthroat
+Southern Yellowthroat
+masked yellowthroat sp.
+MacGillivray's Warbler
+Mourning Warbler
+Connecticut x Mourning Warbler (hybrid)
+MacGillivray's x Mourning Warbler (hybrid)
+Connecticut/MacGillivray's/Mourning Warbler
+MacGillivray's/Mourning Warbler
+Kentucky Warbler
+Mourning x Kentucky Warbler (hybrid)
+Olive-crowned Yellowthroat
+Olive-crowned Yellowthroat (Baird's)
+Olive-crowned Yellowthroat (Chiriqui)
+Olive-crowned Yellowthroat (Olive-crowned)
+Black-polled Yellowthroat
+Belding's Yellowthroat
+Bahama Yellowthroat
+Altamira Yellowthroat
+Common Yellowthroat
+Common Yellowthroat (arizela Group)
+Common Yellowthroat (melanops Group)
+Common Yellowthroat (trichas Group)
+Common Yellowthroat (insperata)
+Common Yellowthroat (chapalensis)
+Gray-crowned x Common Yellowthroat (hybrid)
+MacGillivray's Warbler x Common Yellowthroat (hybrid)
+Mourning Warbler x Common Yellowthroat (hybrid)
+Kentucky Warbler x Common Yellowthroat (hybrid)
+Hooded Yellowthroat
+yellowthroat sp.
+Whistling Warbler
+Plumbeous Warbler
+Elfin-woods Warbler
+Arrowhead Warbler
+Hooded Warbler
+American Redstart
+Kirtland's Warbler
+Cape May Warbler
+Cerulean Warbler
+Blue-winged x Cerulean Warbler (hybrid)
+Northern Parula
+American Redstart x Northern Parula (hybrid)
+Cerulean Warbler x Northern Parula (hybrid)
+Tropical Parula
+Tropical Parula (Northeast Mexico)
+Tropical Parula (West Mexico)
+Tropical Parula (Tres Marias Is.)
+Tropical Parula (Socorro I.)
+Tropical Parula (Middle American)
+Tropical Parula (Coiba I.)
+Tropical Parula (South American)
+Northern x Tropical Parula (hybrid)
+Northern/Tropical Parula
+Magnolia Warbler
+Nashville x Magnolia Warbler (hybrid)
+Bay-breasted Warbler
+Blackburnian Warbler
+Bay-breasted x Blackburnian Warbler (hybrid)
+Yellow Warbler
+Yellow Warbler (Northern)
+Yellow Warbler (Mangrove)
+Yellow Warbler (Galapagos)
+Yellow Warbler (Golden)
+Yellow Warbler (Mangrove x Golden)
+Common Yellowthroat x Yellow Warbler (hybrid)
+Hooded x Yellow Warbler (hybrid)
+American Redstart x Yellow Warbler (hybrid)
+Chestnut-sided Warbler
+Magnolia x Chestnut-sided Warbler (hybrid)
+Blackpoll Warbler
+Bay-breasted x Blackpoll Warbler (hybrid)
+Bay-breasted/Blackpoll Warbler
+Black-throated Blue Warbler
+Cerulean x Black-throated Blue Warbler (hybrid)
+Magnolia x Black-throated Blue Warbler (hybrid)
+Yellow x Black-throated Blue Warbler (hybrid)
+Chestnut-sided x Black-throated Blue Warbler (hybrid)
+Palm Warbler
+Palm Warbler (Western)
+Palm Warbler (Yellow)
+Magnolia x Palm Warbler (hybrid)
+Olive-capped Warbler
+Pine Warbler
+Yellow-rumped Warbler
+Yellow-rumped Warbler (Myrtle)
+Yellow-rumped Warbler (Audubon's)
+Yellow-rumped Warbler (Myrtle x Audubon's)
+Yellow-rumped Warbler (West Mexico)
+Yellow-rumped Warbler (Goldman's)
+Cape May x Yellow-rumped Warbler (hybrid)
+Magnolia x Yellow-rumped Warbler (hybrid)
+Palm x Yellow-rumped Warbler (hybrid)
+Yellow-throated Warbler
+Yellow-throated Warbler (albilora)
+Yellow-throated Warbler (dominica/stoddardi)
+Northern Parula x Yellow-throated Warbler (hybrid)
+Yellow-rumped x Yellow-throated Warbler (hybrid)
+Bahama Warbler
+Vitelline Warbler
+Prairie Warbler
+Blue-winged x Prairie Warbler (hybrid)
+Yellow x Prairie Warbler (hybrid)
+Adelaide's Warbler
+Barbuda Warbler
+St. Lucia Warbler
+Grace's Warbler
+Yellow-rumped x Grace's Warbler (hybrid)
+Black-throated Gray Warbler
+Yellow-rumped x Black-throated Gray Warbler (hybrid)
+Grace's x Black-throated Gray Warbler (hybrid)
+Townsend's Warbler
+Yellow-rumped x Townsend's Warbler (hybrid)
+Black-throated Gray x Townsend's Warbler (hybrid)
+Black-throated Gray/Townsend's Warbler
+Hermit Warbler
+Townsend's x Hermit Warbler (hybrid)
+Black-throated Gray x Hermit Warbler (hybrid)
+Black-throated Gray/Hermit Warbler
+Townsend's/Hermit Warbler
+Golden-cheeked Warbler
+Black-throated Green Warbler
+Yellow-rumped x Black-throated Green Warbler (hybrid)
+Townsend's x Black-throated Green Warbler (hybrid)
+Setophaga sp.
+Fan-tailed Warbler
+Rufous-capped Warbler
+Rufous-capped Warbler (rufifrons Group)
+Rufous-capped Warbler (salvini)
+Common Yellowthroat x Rufous-capped Warbler (hybrid)
+Chestnut-capped Warbler
+Rufous-capped/Chestnut-capped Warbler
+Black-cheeked Warbler
+Pirre Warbler
+Golden-browed Warbler
+Golden-crowned Warbler
+Golden-crowned Warbler (Stripe-crowned)
+Golden-crowned Warbler (Cabanis's)
+Golden-crowned Warbler (Golden-crowned)
+Golden-crowned Warbler (White-bellied)
+Costa Rican Warbler
+Tacarcuna Warbler
+Three-striped Warbler
+Three-striped Warbler (San Lucas)
+Three-striped Warbler (daedalus)
+Three-striped Warbler (auricularis)
+Three-striped Warbler (Venezuelan)
+Three-striped Warbler (Paria)
+Three-striped Warbler (Three-striped)
+Yungas Warbler
+Three-banded Warbler
+Basileuterus sp.
+Gray-headed Warbler
+Santa Marta Warbler
+Citrine Warbler
+Citrine Warbler (Northern)
+Citrine Warbler (Peruvian)
+Citrine Warbler (Bolivian)
+White-striped Warbler
+Flavescent Warbler
+Golden-crowned x Flavescent Warbler (hybrid)
+White-browed Warbler
+Pale-legged Warbler
+Black-crested Warbler
+Buff-rumped Warbler
+Riverbank Warbler
+Riverbank Warbler (Northern)
+Riverbank Warbler (Bolivian)
+Riverbank Warbler (Southern)
+Two-banded Warbler
+Two-banded Warbler (Roraiman)
+Two-banded Warbler (Two-banded)
+Cuzco Warbler
+Choco Warbler
+Gray-throated Warbler
+White-lored Warbler
+Gray-and-gold Warbler
+Russet-crowned Warbler
+Myiothlypis sp.
+Canada Warbler
+Wilson's Warbler
+Wilson's Warbler (pileolata)
+Wilson's Warbler (pusilla)
+Wilson's Warbler (chryseola)
+Red-faced Warbler
+Red Warbler
+Red Warbler (Gray-cheeked)
+Red Warbler (White-cheeked)
+Pink-headed Warbler
+Painted Redstart
+Slate-throated Redstart
+Painted x Slate-throated Redstart (hybrid)
+Brown-capped Redstart
+Tepui Redstart
+Paria Redstart
+Saffron-breasted Redstart
+White-faced Redstart
+Collared Redstart
+Yellow-crowned Redstart
+Golden-fronted Redstart
+Golden-fronted Redstart (Golden-fronted)
+Golden-fronted Redstart (Yellow-fronted)
+Spectacled Redstart
+Golden-fronted x Spectacled Redstart (hybrid)
+Golden-fronted/Spectacled Redstart
+White-fronted Redstart
+Myioborus sp.
+new world warbler sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/new_zealand_wrens.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/new_zealand_wrens.txt
new file mode 100644
index 0000000000000000000000000000000000000000..bc07451be792dc4810eb511e94655ab1e5f99fff
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/new_zealand_wrens.txt
@@ -0,0 +1,5 @@
+# Originally sourced from Clements Checklist v2022
+Stephens Island Wren
+Rifleman
+Bush Wren
+South Island Wren
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/nicators.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/nicators.txt
new file mode 100644
index 0000000000000000000000000000000000000000..10c5a7dee01326ccf272a92f3433549de0b7062c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/nicators.txt
@@ -0,0 +1,5 @@
+# Originally sourced from Clements Checklist v2022
+Western Nicator
+Eastern Nicator
+Yellow-throated Nicator
+Western/Yellow-throated Nicator
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/nuthatches.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/nuthatches.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3e90c7d910720e03f9c9254a3f2bf873fd72f004
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/nuthatches.txt
@@ -0,0 +1,41 @@
+# Originally sourced from Clements Checklist v2022
+Indian Nuthatch
+Chestnut-bellied Nuthatch
+Indian/Chestnut-bellied Nuthatch
+Burmese Nuthatch
+Eurasian Nuthatch
+Eurasian Nuthatch (Western)
+Eurasian Nuthatch (Siberian)
+Eurasian Nuthatch (White-bellied)
+Eurasian Nuthatch (Buff-bellied)
+Eurasian Nuthatch (Chinese)
+Chestnut-vented Nuthatch
+Kashmir Nuthatch
+White-tailed Nuthatch
+White-browed Nuthatch
+Red-breasted Nuthatch
+White-cheeked Nuthatch
+Przevalski's Nuthatch
+White-breasted Nuthatch
+White-breasted Nuthatch (Eastern)
+White-breasted Nuthatch (Interior West)
+White-breasted Nuthatch (Pacific)
+Pygmy Nuthatch
+Brown-headed Nuthatch
+Bahama Nuthatch
+Corsican Nuthatch
+Algerian Nuthatch
+Krüper's Nuthatch
+Snowy-browed Nuthatch
+Yunnan Nuthatch
+Western Rock Nuthatch
+Eastern Rock Nuthatch
+Western/Eastern Rock Nuthatch
+Velvet-fronted Nuthatch
+Yellow-billed Nuthatch
+Velvet-fronted/Yellow-billed Nuthatch
+Sulphur-billed Nuthatch
+Blue Nuthatch
+Giant Nuthatch
+Beautiful Nuthatch
+nuthatch sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/old_world_buntings.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/old_world_buntings.txt
new file mode 100644
index 0000000000000000000000000000000000000000..046f6a1da9da684cfe64fde606faf09b7a8e7619
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/old_world_buntings.txt
@@ -0,0 +1,61 @@
+# Originally sourced from Clements Checklist v2022
+Brown-rumped Bunting
+Crested Bunting
+Black-headed Bunting
+Red-headed Bunting
+Black-headed x Red-headed Bunting (hybrid)
+Black-headed/Red-headed Bunting
+Corn Bunting
+Chestnut-eared Bunting
+Tibetan Bunting
+Rufous-backed Bunting
+Rock Bunting
+Godlewski's Bunting
+Godlewski's Bunting (godlewskii Group)
+Godlewski's Bunting (yunnanensis/khamensis)
+Meadow Bunting
+Cirl Bunting
+White-capped Bunting
+Yellowhammer
+Pine Bunting
+Yellowhammer x Pine Bunting (hybrid)
+Gray-necked Bunting
+Cinereous Bunting
+Cinereous Bunting (Gray-bellied)
+Cinereous Bunting (Yellow-bellied)
+Ortolan Bunting
+Gray-necked/Ortolan Bunting
+Cretzschmar's Bunting
+Ortolan/Cretzschmar's Bunting
+Cabanis's Bunting
+Cabanis's Bunting (Cabanis's)
+Cabanis's Bunting (Three-streaked)
+Golden-breasted Bunting
+Somali Bunting
+Cape Bunting
+Vincent's Bunting
+Lark-like Bunting
+Socotra Bunting
+Cinnamon-breasted Bunting
+Gosling's Bunting
+Cinnamon-breasted x Gosling's Bunting (hybrid)
+House Bunting
+Striolated Bunting
+Slaty Bunting
+Yellow-throated Bunting
+Ochre-rumped Bunting
+Pallas's Bunting
+Reed Bunting
+Pallas's/Reed Bunting
+Yellow-breasted Bunting
+Little Bunting
+Rustic Bunting
+Yellow Bunting
+Black-faced Bunting
+Masked Bunting
+Black-faced/Masked Bunting
+Chestnut Bunting
+Yellow-browed Bunting
+Tristram's Bunting
+Gray Bunting
+Emberiza sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/old_world_flycatchers.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/old_world_flycatchers.txt
new file mode 100644
index 0000000000000000000000000000000000000000..582265db858c1e063132c00d248d8cd4c4cf9ae6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/old_world_flycatchers.txt
@@ -0,0 +1,538 @@
+# Originally sourced from Clements Checklist v2022
+Gray-streaked Flycatcher
+Dark-sided Flycatcher
+Gray-streaked/Dark-sided Flycatcher
+Ferruginous Flycatcher
+Asian Brown Flycatcher
+Asian Brown Flycatcher (Northern)
+Asian Brown Flycatcher (Siamese)
+Ashy-breasted Flycatcher
+Sumba Brown Flycatcher
+Brown-breasted Flycatcher
+Sulawesi Brown Flycatcher
+Brown-streaked Flycatcher
+Brown-streaked Flycatcher (Brown-streaked)
+Brown-streaked Flycatcher (Umber)
+Asian Brown/Brown-streaked Flycatcher
+African Dusky Flycatcher
+Little Flycatcher
+Yellow-footed Flycatcher
+Spotted Flycatcher
+Spotted Flycatcher (Spotted)
+Spotted Flycatcher (Mediterranean)
+Gambaga Flycatcher
+Swamp Flycatcher
+Cassin's Flycatcher
+Muscicapa sp.
+Böhm's Flycatcher
+Ussher's Flycatcher
+Sooty Flycatcher
+Dusky-blue Flycatcher
+Mariqua Flycatcher
+African Gray Flycatcher
+African Gray Flycatcher (Ethiopian)
+African Gray Flycatcher (African Gray)
+Bradornis sp.
+Muscicapa/Bradornis sp.
+Pale Flycatcher
+Pale Flycatcher (Pale)
+Pale Flycatcher (Wajir)
+Pale Flycatcher (East Coast)
+Chat Flycatcher
+White-browed Forest-Flycatcher
+African Forest-Flycatcher
+African Forest-Flycatcher (Western)
+African Forest-Flycatcher (Eastern)
+Gray-throated Tit-Flycatcher
+Gray Tit-Flycatcher
+Olivaceous Flycatcher
+Olivaceous Flycatcher (Olivaceous)
+Olivaceous Flycatcher (Mt. Nimba)
+Chapin's Flycatcher
+Chapin's Flycatcher (Chapin's)
+Chapin's Flycatcher (Itombwe)
+Tessmann's Flycatcher
+Ashy Flycatcher
+Herero Chat
+Silverbird
+Fiscal Flycatcher
+Yellow-eyed Black-Flycatcher
+Nimba Flycatcher
+Northern Black-Flycatcher
+Southern Black-Flycatcher
+White-eyed Slaty-Flycatcher
+Angola Slaty-Flycatcher
+Abyssinian Slaty-Flycatcher
+Grand Comoro Flycatcher
+White-tailed Alethe
+Fire-crested Alethe
+Karoo Scrub-Robin
+Forest Scrub-Robin
+Forest Scrub-Robin (Forest)
+Forest Scrub-Robin (Huila)
+Brown Scrub-Robin
+Bearded Scrub-Robin
+Bearded Scrub-Robin (Bearded)
+Bearded Scrub-Robin (Zanzibar)
+Miombo Scrub-Robin
+Black Scrub-Robin
+Rufous-tailed Scrub-Robin
+Rufous-tailed Scrub-Robin (Rufous-tailed)
+Rufous-tailed Scrub-Robin (African)
+Kalahari Scrub-Robin
+Brown-backed Scrub-Robin
+Red-backed Scrub-Robin
+Red-backed Scrub-Robin (White-winged)
+Red-backed Scrub-Robin (Red-backed)
+scrub-robin sp.
+Indian Robin
+Oriental Magpie-Robin
+Oriental Magpie-Robin (Oriental)
+Oriental Magpie-Robin (Black)
+Rufous-tailed Shama
+Madagascar Magpie-Robin
+Madagascar Magpie-Robin (Black-bellied)
+Madagascar Magpie-Robin (White-bellied)
+Madagascar Magpie-Robin (White-winged)
+Seychelles Magpie-Robin
+Philippine Magpie-Robin
+White-rumped Shama
+White-rumped Shama (White-rumped)
+White-rumped Shama (Long-tailed)
+White-rumped Shama (Barusan)
+White-crowned Shama
+Andaman Shama
+White-browed Shama
+Visayan Shama
+White-vented Shama
+Black Shama
+White-gorgeted Flycatcher
+Rufous-browed Flycatcher
+Nilgiri Sholakili
+White-bellied Sholakili
+White-tailed Flycatcher
+Rück's Blue Flycatcher
+Blue-breasted Blue Flycatcher
+Rufous-breasted Blue Flycatcher
+Blue-breasted/Rufous-breasted Blue Flycatcher
+Hainan Blue Flycatcher
+White-bellied Blue Flycatcher
+Pale-chinned Blue Flycatcher
+Pale Blue Flycatcher
+Pale Blue Flycatcher (Unicolored)
+Pale Blue Flycatcher (Diao Luo)
+Pale Blue Flycatcher (Hartert's)
+Blue-throated Flycatcher
+Blue-throated Flycatcher (Blue-throated)
+Blue-throated Flycatcher (Notch-throated)
+Chinese Blue Flycatcher
+Blue-throated/Chinese Blue Flycatcher
+Large Blue Flycatcher
+Hill Blue Flycatcher
+Large/Hill Blue Flycatcher
+Javan Blue Flycatcher
+Dayak Blue Flycatcher
+Meratus Blue Flycatcher
+Sunda Blue Flycatcher
+Malaysian Blue Flycatcher
+Palawan Blue Flycatcher
+Bornean Blue Flycatcher
+Tickell's Blue Flycatcher
+Pale-chinned x Tickell's Blue Flycatcher (hybrid)
+Blue-throated/Tickell's Blue Flycatcher
+Indochinese Blue Flycatcher
+Mangrove Blue Flycatcher
+Mangrove Blue Flycatcher (Mangrove)
+Mangrove Blue Flycatcher (Philippine)
+Sulawesi Blue Flycatcher
+Sulawesi Blue Flycatcher (Sulawesi)
+Sulawesi Blue Flycatcher (Tanahjampea)
+Kalao Blue Flycatcher
+Brown-chested Jungle Flycatcher
+Nicobar Jungle Flycatcher
+Gray-chested Jungle Flycatcher
+Fulvous-chested Jungle Flycatcher
+Chestnut-tailed Jungle Flycatcher
+Chestnut-tailed Jungle Flycatcher (Philippine)
+Chestnut-tailed Jungle Flycatcher (Sulu)
+Chestnut-tailed Jungle Flycatcher (Crocker)
+Banggai Jungle Flycatcher
+Sula Jungle Flycatcher
+blue flycatcher sp.
+Large Niltava
+Small Niltava
+Fujian Niltava
+Rufous-bellied Niltava
+Rufous-vented Niltava
+Chinese Vivid Niltava
+Taiwan Vivid Niltava
+niltava sp.
+Blue-and-white Flycatcher
+Zappey's Flycatcher
+Blue-and-white/Zappey's Flycatcher
+Matinan Flycatcher
+Blue-fronted Flycatcher
+Timor Blue Flycatcher
+Flores Jungle Flycatcher
+Sumba Jungle Flycatcher
+Dull-blue Flycatcher
+Nilgiri Flycatcher
+Indigo Flycatcher
+Indigo Flycatcher (Rufous-vented)
+Indigo Flycatcher (Javan)
+Verditer Flycatcher
+Nilgiri/Verditer Flycatcher
+Buru Jungle Flycatcher
+Turquoise Flycatcher
+White-bellied Robin-Chat
+White-bellied Robin-Chat (White-bellied)
+White-bellied Robin-Chat (Albertine)
+Mountain Robin-Chat
+Mountain Robin-Chat (Highland)
+Mountain Robin-Chat (Mountain)
+Archer's Robin-Chat
+Archer's Robin-Chat (Archer's)
+Archer's Robin-Chat (Kabobo)
+Olive-flanked Robin-Chat
+Olive-flanked Robin-Chat (White-bellied)
+Olive-flanked Robin-Chat (Black)
+Olive-flanked Robin-Chat (Olive-flanked)
+Cape Robin-Chat
+White-throated Robin-Chat
+Blue-shouldered Robin-Chat
+Rüppell's Robin-Chat
+White-browed Robin-Chat
+Red-capped Robin-Chat
+Chorister Robin-Chat
+White-headed Robin-Chat
+Snowy-crowned Robin-Chat
+White-crowned Robin-Chat
+robin-chat sp.
+Angola Cave-Chat
+Collared Palm-Thrush
+Rufous-tailed Palm-Thrush
+Spotted Morning-Thrush
+European Robin
+White-starred Robin
+Swynnerton's Robin
+Swynnerton's Robin (Udzungwa)
+Swynnerton's Robin (Swynnerton's)
+Brown-chested Alethe
+Brown-chested Alethe (Gray-headed)
+Brown-chested Alethe (Gabela)
+Brown-chested Alethe (Chestnut-backed)
+Brown-chested Alethe (Brown-chested)
+Red-throated Alethe
+Cholo Alethe
+White-chested Alethe
+Olive-backed Forest Robin
+Orange-breasted Forest Robin
+Yellow-breasted Forest Robin
+Gray-winged Robin-Chat
+Gray-winged Robin-Chat (Black-capped)
+Gray-winged Robin-Chat (Gray-winged)
+Short-tailed Akalat
+Short-tailed Akalat (Grant's)
+Short-tailed Akalat (Bioko)
+Short-tailed Akalat (Short-tailed)
+Bocage's Akalat
+Lowland Akalat
+Equatorial Akalat
+Sharpe's Akalat
+East Coast Akalat
+East Coast Akalat (East Coast)
+East Coast Akalat (Montane)
+East Coast Akalat (Benson's)
+East Coast Akalat (Gunning's)
+Gabela Akalat
+Usambara Akalat
+Iringa Akalat
+Rubeho Akalat
+Bagobo Robin
+Eyebrowed Jungle Flycatcher
+Rusty-flanked Jungle Flycatcher
+Negros Jungle Flycatcher
+Mindanao Jungle Flycatcher
+Great Shortwing
+Great Shortwing (Minahasa)
+Great Shortwing (Great)
+Rusty-bellied Shortwing
+Lesser Shortwing
+Himalayan Shortwing
+Chinese Shortwing
+Himalayan/Chinese Shortwing
+Taiwan Shortwing
+Philippine Shortwing
+Bornean Shortwing
+Sumatran Shortwing
+Javan Shortwing
+Flores Shortwing
+Mindanao Shortwing (undescribed form)
+Brachypteryx sp.
+Gould's Shortwing
+Rufous-tailed Robin
+Rufous-headed Robin
+Japanese Robin
+Izu Robin
+Japanese/Izu Robin
+Ryukyu Robin
+Okinawa Robin
+Ryukyu/Okinawa Robin
+Indian Blue Robin
+Siberian Blue Robin
+White-throated Robin
+Thrush Nightingale
+Common Nightingale
+Common Nightingale (megarhynchos/africana)
+Common Nightingale (golzii)
+Thrush x Common Nightingale (hybrid)
+Thrush/Common Nightingale
+White-bellied Redstart
+Bluethroat
+Bluethroat (Red-spotted)
+Bluethroat (Iberian)
+Bluethroat (White-spotted)
+Bluethroat (Caucasian)
+Sri Lanka Whistling-Thrush
+Shiny Whistling-Thrush
+Javan Whistling-Thrush
+Sumatran Whistling-Thrush
+Bornean Whistling-Thrush
+Malayan Whistling-Thrush
+Malabar Whistling-Thrush
+Taiwan Whistling-Thrush
+Blue Whistling-Thrush
+Blue Whistling-Thrush (Black-billed)
+Blue Whistling-Thrush (Yellow-billed)
+whistling-thrush sp.
+Little Forktail
+White-crowned Forktail
+White-crowned Forktail (Northern)
+White-crowned Forktail (Malaysian)
+White-crowned Forktail (Javan)
+Bornean Forktail
+White-crowned/Bornean Forktail
+Spotted Forktail
+Sunda Forktail
+Chestnut-naped Forktail
+Black-backed Forktail
+Slaty-backed Forktail
+forktail sp.
+Firethroat
+Blackthroat
+Siberian Rubythroat
+Himalayan Rubythroat
+Chinese Rubythroat
+Himalayan/Chinese Rubythroat (White-tailed Rubythroat)
+White-tailed Robin
+White-tailed Robin (White-tailed)
+White-tailed Robin (Cambodian)
+Sunda Robin
+Sunda Robin (Sumatran)
+Sunda Robin (Javan)
+Blue-fronted Robin
+Red-flanked Bluetail
+Red-flanked Bluetail (Red-flanked)
+Red-flanked Bluetail (Qilian)
+Himalayan Bluetail
+Red-flanked/Himalayan Bluetail
+Rufous-breasted Bush-Robin
+White-browed Bush-Robin
+White-browed Bush-Robin (White-browed)
+White-browed Bush-Robin (Taiwan)
+Golden Bush-Robin
+Collared Bush-Robin
+White-browed/Collared Bush-Robin
+Tarsiger sp.
+Yellow-rumped Flycatcher
+Green-backed Flycatcher
+Narcissus Flycatcher
+Ryukyu Flycatcher
+Yellow-rumped/Green-backed/Narcissus/Ryukyu Flycatcher
+Narcissus/Ryukyu Flycatcher
+Mugimaki Flycatcher
+Slaty-backed Flycatcher
+Black-and-orange Flycatcher
+Slaty-blue Flycatcher
+Snowy-browed Flycatcher
+Pygmy Flycatcher
+Rufous-gorgeted Flycatcher
+Sapphire Flycatcher
+Little Pied Flycatcher
+Ultramarine Flycatcher
+Rusty-tailed Flycatcher
+Taiga Flycatcher
+Kashmir Flycatcher
+Red-breasted Flycatcher
+Taiga/Red-breasted Flycatcher
+Semicollared Flycatcher
+European Pied Flycatcher
+Semicollared x European Pied Flycatcher (hybrid)
+Atlas Flycatcher
+European Pied/Atlas Flycatcher
+Collared Flycatcher
+Semicollared x Collared Flycatcher (hybrid)
+European Pied x Collared Flycatcher (hybrid)
+European Pied/Collared Flycatcher
+European Pied/Collared/Semicollared Flycatcher
+Tanimbar Flycatcher
+Rufous-chested Flycatcher
+Palawan Flycatcher
+Furtive Flycatcher
+Rufous-throated Flycatcher
+Damar Flycatcher
+Cinnamon-chested Flycatcher
+Lompobattang Flycatcher
+Sumba Flycatcher
+Black-banded Flycatcher
+Little Slaty Flycatcher
+Little Slaty Flycatcher (samarensis)
+Little Slaty Flycatcher (basilanica)
+Cryptic Flycatcher
+Bundok Flycatcher
+Ficedula sp.
+Blue-fronted Redstart
+Plumbeous Redstart
+Luzon Redstart
+Rufous-backed Redstart
+White-capped Redstart
+Ala Shan Redstart
+Blue-capped Redstart
+Moussier's Redstart
+Common Redstart
+Common Redstart (Common)
+Common Redstart (Ehrenberg's)
+Hodgson's Redstart
+White-throated Redstart
+White-winged Redstart
+Black Redstart
+Black Redstart (Western)
+Black Redstart (Eastern)
+Common x Black Redstart (hybrid)
+Common/Black Redstart
+Daurian Redstart
+redstart sp.
+Little Rock-Thrush
+Chestnut-bellied Rock-Thrush
+White-throated Rock-Thrush
+Blue-capped Rock-Thrush
+Short-toed Rock-Thrush
+Short-toed Rock-Thrush (White-crowned)
+Short-toed Rock-Thrush (Short-toed)
+Sentinel Rock-Thrush
+Littoral Rock-Thrush
+Amber Mountain Rock-Thrush
+Forest Rock-Thrush
+Forest Rock-Thrush (Forest)
+Forest Rock-Thrush (Benson's)
+Rufous-tailed Rock-Thrush
+Blue Rock-Thrush
+Blue Rock-Thrush (solitarius/longirostris)
+Blue Rock-Thrush (pandoo)
+Blue Rock-Thrush (philippensis)
+Blue Rock-Thrush (pandoo x philippensis)
+Blue Rock-Thrush (madoci)
+Miombo Rock-Thrush
+Cape Rock-Thrush
+rock-thrush sp.
+Whinchat
+Common Redstart x Whinchat (hybrid)
+White-browed Bushchat
+White-throated Bushchat
+Fuerteventura Stonechat
+European Stonechat
+Whinchat/European Stonechat
+Siberian Stonechat
+Siberian Stonechat (Caspian)
+Siberian Stonechat (Siberian)
+Siberian Stonechat (Przevalski's)
+White-browed Bushchat/Siberian Stonechat
+White-throated Bushchat/Siberian Stonechat
+European/Siberian Stonechat
+Amur Stonechat
+Siberian/Amur Stonechat
+African Stonechat
+African Stonechat (African)
+African Stonechat (Ethiopian)
+African Stonechat (Madagascar)
+Reunion Stonechat
+White-tailed Stonechat
+Siberian/White-tailed Stonechat
+Pied Bushchat
+Jerdon's Bushchat
+Gray Bushchat
+Timor Bushchat
+Saxicola sp.
+Buff-streaked Chat
+Sickle-winged Chat
+Karoo Chat
+Tractrac Chat
+Moorland Chat
+Moorland Chat (Abyssinian)
+Moorland Chat (Mt. Kenya)
+Moorland Chat (Ngorongoro)
+Moorland Chat (Mt. Kilimanjaro)
+Mocking Cliff-Chat
+White-winged Cliff-Chat
+Sooty Chat
+Northern Anteater-Chat
+Southern Anteater-Chat
+Congo Moor Chat
+Mountain Wheatear
+Rüppell's Chat
+Arnot's Chat
+Arnot's Chat (Angola)
+Arnot's Chat (Arnot's)
+Arnot's Chat (Ruaha)
+Northern Wheatear
+Northern Wheatear (Greenland)
+Northern Wheatear (Eurasian)
+Atlas Wheatear
+Northern/Atlas Wheatear
+Capped Wheatear
+Buff-breasted Wheatear
+Rusty-breasted Wheatear
+Isabelline Wheatear
+Heuglin's Wheatear
+Hooded Wheatear
+Desert Wheatear
+Western Black-eared Wheatear
+Cyprus Wheatear
+Eastern Black-eared Wheatear
+Northern/Western Black-eared/Eastern Black-eared Wheatear
+Western/Eastern Black-eared Wheatear
+Pied Wheatear
+Pied Wheatear (vittata)
+Cyprus/Pied Wheatear
+Eastern Black-eared x Pied Wheatear (hybrid)
+Eastern Black-eared/Pied Wheatear
+White-fronted Black-Chat
+Somali Wheatear
+Red-rumped Wheatear
+Blackstart
+Familiar Chat
+Sombre Rock Chat
+Brown-tailed Chat
+Brown-tailed Chat (Brown-tailed)
+Brown-tailed Chat (Pale)
+Brown Rock Chat
+Variable Wheatear
+Variable Wheatear (Blyth's)
+Variable Wheatear (Gould's)
+Variable Wheatear (Strickland's)
+Black Wheatear
+Hume's Wheatear
+White-crowned Wheatear
+Arabian Wheatear
+Abyssinian Wheatear
+Finsch's Wheatear
+Mourning Wheatear
+Mourning Wheatear (Mourning)
+Mourning Wheatear (Maghreb)
+Mourning Wheatear (Basalt)
+Kurdish Wheatear
+Persian Wheatear
+Kurdish/Persian Wheatear (Red-tailed Wheatear)
+wheatear sp.
+Boulder Chat
+Muscicapid sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/old_world_orioles.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/old_world_orioles.txt
new file mode 100644
index 0000000000000000000000000000000000000000..bc09b991ee31ac0977defd38696d2660a0eb546e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/old_world_orioles.txt
@@ -0,0 +1,63 @@
+# Originally sourced from Clements Checklist v2022
+Hooded Pitohui
+Raja Ampat Pitohui
+Northern Variable Pitohui
+Southern Variable Pitohui
+Northern/Southern Variable Pitohui
+Timor Oriole
+Timor Oriole (Timor)
+Timor Oriole (Wetar)
+Buru Oriole
+Tanimbar Oriole
+Seram Oriole
+Halmahera Oriole
+Brown Oriole
+Olive-backed Oriole
+Green Oriole
+Dark-throated Oriole
+Dark-throated Oriole (Dark-throated)
+Dark-throated Oriole (Ventriloquial)
+White-lored Oriole
+Philippine Oriole
+Isabela Oriole
+Eurasian Golden Oriole
+Indian Golden Oriole
+Eurasian/Indian Golden Oriole
+African Golden Oriole
+Eurasian/African Golden Oriole
+Black-naped Oriole
+Black-naped Oriole (East Asian)
+Black-naped Oriole (Sunda)
+Black-naped Oriole (Philippine)
+Black-naped Oriole (Talaud)
+Black-naped Oriole (Sulawesi)
+Black-naped Oriole (Tenggara)
+Indian Golden/Black-naped Oriole
+Slender-billed Oriole
+Green-headed Oriole
+Green-headed Oriole (Green-headed)
+Green-headed Oriole (Gorongosa)
+Sao Tome Oriole
+Western Black-headed Oriole
+Ethiopian Black-headed Oriole
+African Black-headed Oriole
+Black-tailed Oriole
+Black-winged Oriole
+Black-hooded Oriole
+Black Oriole
+Black-and-crimson Oriole
+Black-and-crimson Oriole (Black-and-crimson)
+Black-and-crimson Oriole (Javan)
+Maroon Oriole
+Maroon Oriole (Maroon)
+Maroon Oriole (Crimson)
+Silver Oriole
+old world oriole sp.
+Wetar Figbird
+Green Figbird
+Australasian Figbird
+Australasian Figbird (flaviventris Group)
+Australasian Figbird (salvadorii)
+Australasian Figbird (vieilloti)
+North Island Piopio
+South Island Piopio
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/old_world_sparrows.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/old_world_sparrows.txt
new file mode 100644
index 0000000000000000000000000000000000000000..556faaf6587f7fb3d1777e9f1027461516ea7b05
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/old_world_sparrows.txt
@@ -0,0 +1,59 @@
+# Originally sourced from Clements Checklist v2022
+Cinnamon Ibon
+Saxaul Sparrow
+House Sparrow
+House Sparrow (Gray-cheeked)
+House Sparrow (Indian)
+Italian Sparrow
+House x Italian Sparrow (hybrid)
+House/Italian Sparrow
+Spanish Sparrow
+House x Spanish Sparrow (hybrid)
+Italian x Spanish Sparrow (hybrid)
+House/Spanish Sparrow
+Italian/Spanish Sparrow
+Sind Sparrow
+Somali Sparrow
+House x Somali Sparrow (hybrid)
+Russet Sparrow
+Plain-backed Sparrow
+Dead Sea Sparrow
+Dead Sea Sparrow (Dead Sea)
+Dead Sea Sparrow (Sistan Scrub)
+Cape Verde Sparrow
+Abd al Kuri Sparrow
+Socotra Sparrow
+Great Rufous Sparrow
+Kenya Rufous Sparrow
+Shelley's Rufous Sparrow
+Kordofan Rufous Sparrow
+Cape Sparrow
+Northern Gray-headed Sparrow
+Swainson's Sparrow
+Parrot-billed Sparrow
+Swahili Sparrow
+Southern Gray-headed Sparrow
+Desert Sparrow
+Zarudny's Sparrow
+Eurasian Tree Sparrow
+House x Eurasian Tree Sparrow (hybrid)
+House/Eurasian Tree Sparrow
+Spanish x Eurasian Tree Sparrow (hybrid)
+Sudan Golden Sparrow
+Arabian Golden Sparrow
+Chestnut Sparrow
+Passer sp.
+Yellow-spotted Bush Sparrow
+Yellow-throated Sparrow
+Yellow-throated Bush Sparrow
+Sahel Bush Sparrow
+Rock Sparrow
+Pale Rockfinch
+White-winged Snowfinch
+Tibetan Snowfinch
+Black-winged Snowfinch
+White-rumped Snowfinch
+Pere David's Snowfinch
+Rufous-necked Snowfinch
+Blanford's Snowfinch
+Afghan Snowfinch
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/olive_warbler.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/olive_warbler.txt
new file mode 100644
index 0000000000000000000000000000000000000000..72dd20bf090aaeb38a8b9e54517b3f2c31adeda3
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/olive_warbler.txt
@@ -0,0 +1,2 @@
+# Originally sourced from Clements Checklist v2022
+Olive Warbler
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/ovenbirds_and_woodcreepers.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/ovenbirds_and_woodcreepers.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d87d662432a35a70e202118d3383f93e1d396171
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/ovenbirds_and_woodcreepers.txt
@@ -0,0 +1,497 @@
+# Originally sourced from Clements Checklist v2022
+Middle American Leaftosser
+Middle American Leaftosser (Mexican)
+Middle American Leaftosser (Costa Rican)
+South American Leaftosser
+South American Leaftosser (Andean)
+South American Leaftosser (Dusky)
+South American Leaftosser (Amazonian)
+South American Leaftosser (Guianan)
+South American Leaftosser (Atlantic)
+Middle American/South American Leaftosser
+Short-billed Leaftosser
+Scaly-throated Leaftosser
+Black-tailed Leaftosser
+Gray-throated Leaftosser
+Rufous-breasted Leaftosser
+Rufous-breasted Leaftosser (Ceara)
+Rufous-breasted Leaftosser (Rufous-breasted)
+leaftosser sp.
+Coastal Miner
+Slender-billed Miner
+Common Miner
+Common Miner (Altiplano)
+Common Miner (georgei)
+Common Miner (Coastal Desert)
+Common Miner (Central Chile)
+Common Miner (Patagonian)
+Puna Miner
+Common/Puna Miner
+Campo Miner
+Thick-billed Miner
+Rufous-banded Miner
+Grayish Miner
+Short-billed Miner
+Dark-winged Miner
+Creamy-rumped Miner
+miner sp. (Geositta sp.)
+Spot-throated Woodcreeper
+Olivaceous Woodcreeper
+Olivaceous Woodcreeper (Grayish)
+Olivaceous Woodcreeper (Pacific)
+Olivaceous Woodcreeper (Amazonian)
+Olivaceous Woodcreeper (Reiser's)
+Olivaceous Woodcreeper (Olivaceous)
+Long-tailed Woodcreeper
+Long-tailed Woodcreeper (Little)
+Long-tailed Woodcreeper (Northern)
+Long-tailed Woodcreeper (Southern)
+Yungas Woodcreeper (undescribed form)
+Tyrannine Woodcreeper
+White-chinned Woodcreeper
+Ruddy Woodcreeper
+Tawny-winged Woodcreeper
+Plain-brown Woodcreeper
+Plain-brown Woodcreeper (Plain-brown)
+Plain-brown Woodcreeper (Line-throated)
+Plain-brown Woodcreeper (atrirostris/trumaii)
+Plain-winged Woodcreeper
+Plain-winged Woodcreeper (Pernambuco)
+Plain-winged Woodcreeper (Plain-winged)
+Dendrocincla sp.
+Wedge-billed Woodcreeper
+Wedge-billed Woodcreeper (pectoralis Group)
+Wedge-billed Woodcreeper (spirurus Group)
+Wedge-billed Woodcreeper (albigularis)
+Wedge-billed Woodcreeper (cuneatus Group)
+Cinnamon-throated Woodcreeper
+Cinnamon-throated Woodcreeper (devillei)
+Cinnamon-throated Woodcreeper (rufigula)
+Cinnamon-throated Woodcreeper (paraensis/moniliger)
+Long-billed Woodcreeper
+Northern Barred-Woodcreeper
+Northern Barred-Woodcreeper (Western)
+Northern Barred-Woodcreeper (Eastern)
+Amazonian Barred-Woodcreeper
+Amazonian Barred-Woodcreeper (Napo)
+Amazonian Barred-Woodcreeper (Amazonian)
+Amazonian Barred-Woodcreeper (Jurua)
+Amazonian Barred-Woodcreeper (Plain-colored)
+Amazonian Barred-Woodcreeper (Ridgway's)
+Amazonian Barred-Woodcreeper (Xingu)
+Amazonian Barred-Woodcreeper (Todd's)
+Black-banded Woodcreeper
+Black-banded Woodcreeper (Spot-throated)
+Black-banded Woodcreeper (Black-banded)
+Black-banded Woodcreeper (Pale-billed)
+Hoffmanns's Woodcreeper
+Planalto Woodcreeper
+Dendrocolaptes sp.
+Bar-bellied Woodcreeper
+Red-billed Woodcreeper
+Uniform Woodcreeper
+Uniform Woodcreeper (Uniform)
+Uniform Woodcreeper (Brigida's)
+Strong-billed Woodcreeper
+Strong-billed Woodcreeper (Central American)
+Strong-billed Woodcreeper (Andean/Northern)
+Strong-billed Woodcreeper (Amazonian)
+Strong-billed Woodcreeper (Carajas)
+Moustached Woodcreeper
+White-throated Woodcreeper
+Great Rufous Woodcreeper
+Striped Woodcreeper
+Ceara Woodcreeper
+Lesser Woodcreeper
+Chestnut-rumped Woodcreeper
+Ocellated Woodcreeper
+Ocellated Woodcreeper (Tschudi's)
+Ocellated Woodcreeper (Line-crowned)
+Ocellated Woodcreeper (Ocellated)
+Elegant Woodcreeper
+Spix's Woodcreeper
+Cocoa Woodcreeper
+Cocoa Woodcreeper (Lawrence's)
+Cocoa Woodcreeper (Cocoa)
+Buff-throated Woodcreeper
+Buff-throated Woodcreeper (Buff-throated)
+Buff-throated Woodcreeper (Lafresnaye's)
+Buff-throated Woodcreeper (Dusky-billed)
+Ivory-billed Woodcreeper
+Black-striped Woodcreeper
+Spotted Woodcreeper
+Spotted Woodcreeper (Spotted)
+Spotted Woodcreeper (Berlepsch's)
+Olive-backed Woodcreeper
+Xiphorhynchus sp.
+Straight-billed Woodcreeper
+Zimmer's Woodcreeper
+Straight-billed/Zimmer's Woodcreeper
+Red-billed Scythebill
+Black-billed Scythebill
+Curve-billed Scythebill
+Curve-billed Scythebill (Zimmer's)
+Curve-billed Scythebill (Curve-billed)
+Curve-billed Scythebill (Tupana)
+Curve-billed Scythebill (Rondonia)
+Curve-billed Scythebill (Tapajos)
+Curve-billed Scythebill (Snethlage's)
+Brown-billed Scythebill
+scythebill sp.
+Greater Scythebill
+Scimitar-billed Woodcreeper
+Streak-headed Woodcreeper
+Narrow-billed Woodcreeper
+White-striped Woodcreeper
+Spot-crowned Woodcreeper
+Spot-crowned Woodcreeper (Northern)
+Spot-crowned Woodcreeper (Southern)
+Montane Woodcreeper
+Scaled Woodcreeper
+Scaled Woodcreeper (Wagler's)
+Scaled Woodcreeper (Scaled)
+Scalloped Woodcreeper
+Duida Woodcreeper
+Guianan Woodcreeper
+Inambari Woodcreeper
+Duida/Inambari Woodcreeper
+Dusky-capped Woodcreeper
+Dusky-capped Woodcreeper (Rondonia)
+Dusky-capped Woodcreeper (Layard's)
+Lepidocolaptes sp.
+woodcreeper sp.
+Slender-billed Xenops
+Plain Xenops
+Plain Xenops (mexicanus Group)
+Plain Xenops (genibarbis Group)
+Plain Xenops (White-throated)
+Streaked Xenops
+Slender-billed/Streaked Xenops
+xenops sp.
+Point-tailed Palmcreeper
+Rufous-tailed Xenops
+White-throated Treerunner
+Rock Earthcreeper
+Straight-billed Earthcreeper
+Band-tailed Earthcreeper
+Crag Chilia
+Buffy Tuftedcheek
+Pacific Tuftedcheek
+Streaked Tuftedcheek
+Rusty-winged Barbtail
+Bolivian Earthcreeper
+Chaco Earthcreeper
+Wing-banded Hornero
+Pale-legged Hornero
+Pale-legged Hornero (Pacific)
+Pale-legged Hornero (Caribbean)
+Pale-legged Hornero (Pale-legged)
+Pale-billed Hornero
+Lesser Hornero
+Rufous Hornero
+Crested Hornero
+hornero sp.
+Sharp-tailed Streamcreeper
+Wren-like Rushbird
+Curve-billed Reedhaunter
+Striated Earthcreeper
+Patagonian Forest Earthcreeper
+Scale-throated Earthcreeper
+White-throated Earthcreeper
+Buff-breasted Earthcreeper
+Buff-breasted Earthcreeper (Plain-breasted)
+Buff-breasted Earthcreeper (Buff-breasted)
+Upucerthia sp.
+Long-tailed Cinclodes
+Long-tailed Cinclodes (Cipo)
+Long-tailed Cinclodes (Long-tailed)
+Buff-winged Cinclodes
+Blackish Cinclodes
+Blackish Cinclodes (Black)
+Blackish Cinclodes (Blackish)
+Cordoba Cinclodes
+Chestnut-winged Cinclodes
+Olrog's Cinclodes
+Cream-winged Cinclodes
+bar-winged cinclodes sp.
+Gray-flanked Cinclodes
+Stout-billed Cinclodes
+Royal Cinclodes
+White-bellied Cinclodes
+White-winged Cinclodes
+Dark-bellied Cinclodes
+Surf Cinclodes
+Seaside Cinclodes
+cinclodes sp.
+Dusky-cheeked Foliage-gleaner
+White-collared Foliage-gleaner
+Great Xenops
+Pale-browed Treehunter
+Pale-browed Treehunter (Pale-tailed)
+Pale-browed Treehunter (Rufous-tailed)
+Cryptic Treehunter
+Sharp-billed Treehunter
+Bahia Treehunter (undescribed form)
+Slaty-winged Foliage-gleaner
+Slaty-winged Foliage-gleaner (Dusky-winged)
+Slaty-winged Foliage-gleaner (Rufous-backed)
+Rufous-rumped Foliage-gleaner
+Alagoas Foliage-gleaner
+Cryptic Treehunter/Alagoas Foliage-Gleaner
+Black-capped Foliage-gleaner
+Cinnamon-rumped Foliage-gleaner
+Philydor sp.
+Scaly-throated Foliage-gleaner
+Scaly-throated Foliage-gleaner (Scaly-throated)
+Scaly-throated Foliage-gleaner (Spot-breasted)
+Montane Foliage-gleaner
+Rufous-tailed Foliage-gleaner
+White-browed Foliage-gleaner
+Ochre-breasted Foliage-gleaner
+Anabacerthia sp.
+Guttulate Foliage-gleaner
+Lineated Foliage-gleaner
+Buff-browed Foliage-gleaner
+Rufous-necked Foliage-gleaner
+Russet-mantled Foliage-gleaner
+White-throated Foliage-gleaner
+Peruvian Recurvebill
+Bolivian Recurvebill
+Syndactyla sp.
+Chestnut-winged Hookbill
+Buff-fronted Foliage-gleaner
+Chestnut-winged Foliage-gleaner
+Chestnut-capped Foliage-gleaner
+Canebrake Groundcreeper
+Henna-hooded Foliage-gleaner
+Ruddy Foliage-gleaner
+Ruddy Foliage-gleaner (Rusty)
+Ruddy Foliage-gleaner (Black-tailed)
+Ruddy Foliage-gleaner (Cinnamon-throated)
+Ruddy Foliage-gleaner (Dusky)
+Ruddy Foliage-gleaner (Watkins's)
+Santa Marta Foliage-gleaner
+Uniform Treehunter
+Flammulated Treehunter
+Rufous-backed Treehunter
+Striped Treehunter
+Streak-capped Treehunter
+Streak-breasted Treehunter
+Black-billed Treehunter
+Chestnut-crowned Foliage-gleaner
+Brown-rumped Foliage-gleaner
+Buff-throated Foliage-gleaner
+Buff-throated Foliage-gleaner (Mexican)
+Buff-throated Foliage-gleaner (amusos)
+Buff-throated Foliage-gleaner (hypophaeus)
+Buff-throated Foliage-gleaner (pallidigularis)
+Buff-throated Foliage-gleaner (turdinus)
+Buff-throated Foliage-gleaner (ochrolaemus)
+Buff-throated Foliage-gleaner (auricularis)
+Chiriqui Foliage-gleaner
+Striped Woodhaunter
+Striped Woodhaunter (Central American)
+Striped Woodhaunter (Eastern South America)
+Olive-backed Foliage-gleaner
+Olive-backed Foliage-gleaner (Olive-backed)
+Olive-backed Foliage-gleaner (Olive-capped)
+Para Foliage-gleaner
+Pernambuco Foliage-gleaner
+White-eyed Foliage-gleaner
+Automolus sp.
+foliage-gleaner sp.
+Spotted Barbtail
+White-throated Barbtail
+White-throated Barbtail (White-throated)
+White-throated Barbtail (Paria)
+Beautiful Treerunner
+Ruddy Treerunner
+Fulvous-dotted Treerunner
+Pearled Treerunner
+Thorn-tailed Rayadito
+Masafuera Rayadito
+Des Murs's Wiretail
+Tawny Tit-Spinetail
+Brown-capped Tit-Spinetail
+Tufted Tit-Spinetail
+Plain-mantled Tit-Spinetail
+Plain-mantled Tit-Spinetail (grisescens)
+Plain-mantled Tit-Spinetail (berlepschi)
+Plain-mantled Tit-Spinetail (aegithaloides)
+Plain-mantled Tit-Spinetail (pallida)
+Striolated Tit-Spinetail
+Rusty-crowned Tit-Spinetail
+White-browed Tit-Spinetail
+Streaked Tit-Spinetail
+Andean Tit-Spinetail
+Araucaria Tit-Spinetail
+tit-spinetail sp.
+Rufous-fronted Thornbird
+Rufous-fronted Thornbird (Plain)
+Rufous-fronted Thornbird (Rufous-fronted)
+Rufous-fronted Thornbird (Rufous-winged)
+Mantaro Thornbird (undescribed form)
+Streak-fronted Thornbird
+Little Thornbird
+Chestnut-backed Thornbird
+Spot-breasted Thornbird
+Freckle-breasted Thornbird
+Greater Thornbird
+Orange-eyed Thornbird
+Orange-breasted Thornbird
+Orange-eyed/Orange-breasted Thornbird
+thornbird sp.
+White-browed Spinetail
+White-browed Spinetail (gularis)
+White-browed Spinetail (brunneidorsalis)
+White-browed Spinetail (cinereiventris)
+White-browed Spinetail (rufiventris)
+Firewood-gatherer
+Lark-like Brushrunner
+Creamy-breasted Canastero
+Creamy-breasted Canastero (Rusty-vented)
+Creamy-breasted Canastero (Dark-winged)
+Creamy-breasted Canastero (Pale-tailed)
+Creamy-breasted Canastero (Huancavelica)
+Berlepsch's Canastero
+Short-billed Canastero
+Cipo Canastero
+Hudson's Canastero
+Austral Canastero
+Line-fronted Canastero
+Many-striped Canastero
+Junin Canastero
+Scribble-tailed Canastero
+Streak-backed Canastero
+Puna Canastero
+Streak-throated Canastero
+Cordilleran Canastero
+Itatiaia Spinetail
+Sharp-billed Canastero
+Black-throated Thistletail
+Puna Thistletail
+Ayacucho Thistletail
+Vilcabamba Thistletail
+Canyon Canastero
+Rusty-fronted Canastero
+Maquis Canastero
+Eye-ringed Thistletail
+Ochre-browed Thistletail
+Perija Thistletail
+White-chinned Thistletail
+White-chinned Thistletail (fumigata)
+White-chinned Thistletail (fuliginosa)
+White-chinned Thistletail (peruviana/plengei)
+Mouse-colored Thistletail
+canastero sp.
+Pink-legged Graveteiro
+Orange-fronted Plushcrown
+Double-banded Graytail
+Equatorial Graytail
+Spectacled Prickletail
+Roraiman Barbtail
+Striated Softtail
+Orinoco Softtail
+Delta Amacuro Softtail
+Plain Softtail
+Plain Softtail (dimorpha)
+Plain Softtail (obidensis)
+Plain Softtail (fusciceps)
+Russet-mantled Softtail
+softtail sp.
+Straight-billed Reedhaunter
+Curve-billed/Straight-billed Reedhaunter
+Sulphur-bearded Reedhaunter
+Marcapata Spinetail
+Marcapata Spinetail (Pale-crowned)
+Marcapata Spinetail (Rufous-crowned)
+Light-crowned Spinetail
+Light-crowned Spinetail (White-crowned)
+Light-crowned Spinetail (Buffy-crowned)
+Rusty-backed Spinetail
+Coiba Spinetail
+Parker's Spinetail
+Crested Spinetail
+Stripe-crowned Spinetail
+Bolivian Spinetail
+Olive Spinetail
+Stripe-crowned x Olive Spinetail (hybrid)
+Pallid Spinetail
+Gray-headed Spinetail
+Creamy-crested Spinetail
+Red-faced Spinetail
+Tepui Spinetail
+Streak-capped Spinetail
+Ash-browed Spinetail
+Line-cheeked Spinetail
+Line-cheeked Spinetail (Line-cheeked)
+Line-cheeked Spinetail (Baron's)
+Speckled Spinetail
+Scaled Spinetail
+Cranioleuca sp.
+Dusky-tailed Canastero
+Patagonian Canastero
+Steinbach's Canastero
+Cactus Canastero
+Bay-capped Wren-Spinetail
+Caatinga Cacholote
+Rufous Cacholote
+Brown Cacholote
+White-throated Cacholote
+Yellow-chinned Spinetail
+Red-and-white Spinetail
+Yellow-chinned/Red-and-white Spinetail
+Araguaia River Spinetail (undescribed form)
+White-bellied Spinetail
+Chotoy Spinetail
+Ochre-cheeked Spinetail
+Gray-bellied Spinetail
+Plain-crowned Spinetail
+White-lored Spinetail
+White-lored Spinetail (White-lored)
+White-lored Spinetail (Araguaia)
+Marañon Spinetail
+Great Spinetail
+Necklaced Spinetail
+Necklaced Spinetail (La Libertad)
+Chinchipe Spinetail
+Russet-bellied Spinetail
+Slaty Spinetail
+Silvery-throated Spinetail
+Red-shouldered Spinetail
+Rufous-capped Spinetail
+Bahia Spinetail
+Pinto's Spinetail
+Amazonian Spinetail (undescribed form)
+Dusky Spinetail
+McConnell's Spinetail
+Cabanis's Spinetail
+Cinereous-breasted Spinetail
+Spix's Spinetail
+Dark-breasted Spinetail
+Rio Orinoco Spinetail
+Pale-breasted Spinetail
+Sooty-fronted Spinetail
+Azara's Spinetail
+Mantaro Spinetail (undescribed form)
+Apurimac Spinetail
+Azara's/Apurimac Spinetail
+Hoary-throated Spinetail
+Rufous-breasted Spinetail
+White-whiskered Spinetail
+Blackish-headed Spinetail
+Rusty-headed Spinetail
+Rufous Spinetail
+Rufous Spinetail (unirufa)
+Rufous Spinetail (munoztebari)
+Rufous Spinetail (meridana)
+Rufous Spinetail (ochrogaster)
+Black-throated Spinetail
+Stripe-breasted Spinetail
+Ruddy Spinetail
+Ruddy Spinetail (Ruddy)
+Ruddy Spinetail (Sooty)
+Chestnut-throated Spinetail
+Synallaxis sp.
+spinetail sp.
+Furnariid sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/oxpeckers.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/oxpeckers.txt
new file mode 100644
index 0000000000000000000000000000000000000000..30646f8a3e610aefe0ea009a3c37d757af5ff76e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/oxpeckers.txt
@@ -0,0 +1,4 @@
+# Originally sourced from Clements Checklist v2022
+Red-billed Oxpecker
+Yellow-billed Oxpecker
+Red-billed/Yellow-billed Oxpecker
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/palmchat.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/palmchat.txt
new file mode 100644
index 0000000000000000000000000000000000000000..76789fd7410bb6f619ffb2a25d73d2cd47e5b03c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/palmchat.txt
@@ -0,0 +1,2 @@
+# Originally sourced from Clements Checklist v2022
+Palmchat
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/pardalotes.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/pardalotes.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c8f1da0b31fe2c6f45f2edab2b80b4ae360d39f0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/pardalotes.txt
@@ -0,0 +1,13 @@
+# Originally sourced from Clements Checklist v2022
+Spotted Pardalote
+Spotted Pardalote (Wet Tropics)
+Spotted Pardalote (Spotted)
+Spotted Pardalote (Yellow-rumped)
+Forty-spotted Pardalote
+Red-browed Pardalote
+Striated Pardalote
+Striated Pardalote (Black-headed)
+Striated Pardalote (Eastern)
+Striated Pardalote (Yellow-tipped)
+Striated Pardalote (Striated)
+pardalote sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/penduline-tits.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/penduline-tits.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e3e8ce4671a69102cc12218465a28e1a359bb648
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/penduline-tits.txt
@@ -0,0 +1,17 @@
+# Originally sourced from Clements Checklist v2022
+Verdin
+Eurasian Penduline-Tit
+Black-headed Penduline-Tit
+White-crowned Penduline-Tit
+Chinese Penduline-Tit
+Sennar Penduline-Tit
+Mouse-colored Penduline-Tit
+Yellow Penduline-Tit
+Forest Penduline-Tit
+African Penduline-Tit
+African Penduline-Tit (White-bellied)
+African Penduline-Tit (Buff-bellied)
+African Penduline-Tit (Yellow-bellied)
+African Penduline-Tit (Slaty-backed)
+African Penduline-Tit (Buff-vented)
+Southern Penduline-Tit
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/pittas.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/pittas.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0f3df9e39f67135e7f14db15611f67e399e9c29c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/pittas.txt
@@ -0,0 +1,65 @@
+# Originally sourced from Clements Checklist v2022
+Whiskered Pitta
+Blue-breasted Pitta
+Blue-breasted Pitta (Blue-breasted)
+Blue-breasted Pitta (Talaud)
+Sangihe Pitta
+Siau Pitta
+Sulawesi Pitta
+Sula Pitta
+North Moluccan Pitta
+South Moluccan Pitta
+Papuan Pitta
+New Ireland Pitta
+Tabar Pitta
+New Britain Pitta
+Louisiade Pitta
+Graceful Pitta
+Black-crowned Pitta
+Blue-banded Pitta
+Garnet Pitta
+Erythropitta sp.
+Eared Pitta
+Rusty-naped Pitta
+Blue-naped Pitta
+Blue-rumped Pitta
+Giant Pitta
+Schneider's Pitta
+Malayan Banded-Pitta
+Javan Banded-Pitta
+Bornean Banded-Pitta
+Blue-headed Pitta
+Blue Pitta
+Bar-bellied Pitta
+Gurney's Pitta
+Hydrornis sp.
+African Pitta
+Green-breasted Pitta
+Indian Pitta
+Blue-winged Pitta
+Fairy Pitta
+Hooded Pitta
+Hooded Pitta (Chestnut-crowned)
+Hooded Pitta (Nicobar)
+Hooded Pitta (Sunda)
+Hooded Pitta (Philippine)
+Hooded Pitta (Sangihe)
+Hooded Pitta (Minahasa)
+Hooded Pitta (Papuan)
+Hooded Pitta (Numfor)
+Hooded Pitta (Biak)
+Azure-breasted Pitta
+Noisy Pitta
+Ivory-breasted Pitta
+Ivory-breasted Pitta (Ivory-breasted)
+Ivory-breasted Pitta (Morotai)
+Ornate Pitta
+Elegant Pitta
+Banda Sea Pitta
+Ornate/Elegant/Banda Sea Pitta
+Black-faced Pitta
+Mangrove Pitta
+Superb Pitta
+Rainbow Pitta
+Pitta sp. (genus Pitta)
+pitta sp. (genus Erythropitta/Hydrornis/Pitta)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/ploughbill.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/ploughbill.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ce41c6e3db0ac36803db4520005cf11dc11e24ea
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/ploughbill.txt
@@ -0,0 +1,2 @@
+# Originally sourced from Clements Checklist v2022
+Wattled Ploughbill
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/przevalski's_pinktail.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/przevalski's_pinktail.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0e2cd6a309f3946b77c7f85e62f2f473c0adf8c2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/przevalski's_pinktail.txt
@@ -0,0 +1,2 @@
+# Originally sourced from Clements Checklist v2022
+Przevalski's Pinktail
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/pseudo-babblers.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/pseudo-babblers.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4a1be2f365f37d302b055d07837ac80253a51d99
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/pseudo-babblers.txt
@@ -0,0 +1,7 @@
+# Originally sourced from Clements Checklist v2022
+Papuan Babbler
+Gray-crowned Babbler
+White-browed Babbler
+Hall's Babbler
+Chestnut-crowned Babbler
+pseudo-babbler sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/puerto_rican_tanager.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/puerto_rican_tanager.txt
new file mode 100644
index 0000000000000000000000000000000000000000..86020822c021e9c95ba2cdae21b9d62ec89863b1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/puerto_rican_tanager.txt
@@ -0,0 +1,2 @@
+# Originally sourced from Clements Checklist v2022
+Puerto Rican Tanager
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/quail-thrushes_and_jewel-babblers.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/quail-thrushes_and_jewel-babblers.txt
new file mode 100644
index 0000000000000000000000000000000000000000..725839b32409db7db19d4912a3f0af0c8c38e8ff
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/quail-thrushes_and_jewel-babblers.txt
@@ -0,0 +1,16 @@
+# Originally sourced from Clements Checklist v2022
+Spotted Quail-thrush
+Chestnut Quail-thrush
+Copperback Quail-thrush
+Chestnut-breasted Quail-thrush
+Western Quail-thrush
+Cinnamon Quail-thrush
+Nullarbor Quail-thrush
+Painted Quail-thrush
+quail-thrush sp.
+Spotted Jewel-babbler
+Blue Jewel-babbler
+Dimorphic Jewel-babbler
+Blue/Dimorphic Jewel-babbler
+Chestnut-backed Jewel-babbler
+jewel-babbler sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/rail-babbler.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/rail-babbler.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e790f2ef230d2432707b2dcb9a269d6714676941
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/rail-babbler.txt
@@ -0,0 +1,2 @@
+# Originally sourced from Clements Checklist v2022
+Malaysian Rail-babbler
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/reed_warblers_and_allies.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/reed_warblers_and_allies.txt
new file mode 100644
index 0000000000000000000000000000000000000000..19eb5d98179f59face2d6d1d429904c8af5e63d4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/reed_warblers_and_allies.txt
@@ -0,0 +1,87 @@
+# Originally sourced from Clements Checklist v2022
+Aldabra Brush-Warbler
+Malagasy Brush-Warbler
+Malagasy Brush-Warbler (Anjouan)
+Malagasy Brush-Warbler (Malagasy)
+Subdesert Brush-Warbler
+Grand Comoro Brush-Warbler
+Moheli Brush-Warbler
+Papyrus Yellow-Warbler
+Papyrus Yellow-Warbler (Papyrus)
+Papyrus Yellow-Warbler (Zambian)
+Thick-billed Warbler
+Booted Warbler
+Sykes's Warbler
+Booted/Sykes's Warbler
+Eastern Olivaceous Warbler
+Western Olivaceous Warbler
+Eastern/Western Olivaceous Warbler
+African Yellow-Warbler
+Mountain Yellow-Warbler
+Iduna sp.
+Upcher's Warbler
+Olive-tree Warbler
+Melodious Warbler
+Icterine Warbler
+Melodious/Icterine Warbler
+Hippolais sp.
+Aquatic Warbler
+Black-browed Reed Warbler
+Streaked Reed Warbler
+Moustached Warbler
+Sedge Warbler
+Paddyfield Warbler
+Blunt-winged Warbler
+Manchurian Reed Warbler
+Black-browed/Manchurian Reed Warbler
+Blunt-winged/Manchurian Reed Warbler
+Blyth's Reed Warbler
+Paddyfield/Blyth's Reed Warbler
+Large-billed Reed Warbler
+Paddyfield/Blunt-winged/Blyth's/Large-billed Reed Warbler
+Marsh Warbler
+Common Reed Warbler
+Common Reed Warbler (Common)
+Common Reed Warbler (Caspian)
+Common Reed Warbler (Mangrove)
+Common Reed Warbler (Siwa)
+Common Reed Warbler (African)
+Marsh/Common Reed Warbler
+Basra Reed Warbler
+Lesser Swamp Warbler
+Greater Swamp Warbler
+Cape Verde Swamp Warbler
+Madagascar Swamp Warbler
+Rodrigues Warbler
+Seychelles Warbler
+Great Reed Warbler
+Common/Great Reed Warbler
+Oriental Reed Warbler
+Clamorous Reed Warbler
+Clamorous Reed Warbler (Clamorous)
+Clamorous Reed Warbler (Brown)
+Great/Oriental/Clamorous Reed Warbler
+Nightingale Reed Warbler
+Saipan Reed Warbler
+Australian Reed Warbler
+Caroline Reed Warbler
+Aguiguan Reed Warbler
+Kiritimati Reed Warbler
+Southern Marquesan Reed Warbler
+Pagan Reed Warbler
+Nauru Reed Warbler
+Millerbird
+Millerbird (Nihoa)
+Millerbird (Laysan)
+Pitcairn Reed Warbler
+Henderson Island Reed Warbler
+Cook Islands Reed Warbler
+Rimitara Reed Warbler
+Society Islands Reed Warbler
+Tahiti Reed Warbler
+Moorea Reed Warbler
+Northern Marquesan Reed Warbler
+Tuamotu Reed Warbler
+Mangareva Reed Warbler
+Acrocephalus sp.
+Iduna/Hippolais/Acrocephalus sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/rockfowl.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/rockfowl.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4a1143be4436122800369455030a5385cc7f7ec2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/rockfowl.txt
@@ -0,0 +1,3 @@
+# Originally sourced from Clements Checklist v2022
+White-necked Rockfowl
+Gray-necked Rockfowl
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/rockjumpers.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/rockjumpers.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2190ba482d081f0db77f38687d67b9b22d57e6cb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/rockjumpers.txt
@@ -0,0 +1,3 @@
+# Originally sourced from Clements Checklist v2022
+Cape Rockjumper
+Drakensberg Rockjumper
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/sapayoa.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/sapayoa.txt
new file mode 100644
index 0000000000000000000000000000000000000000..11414c8c4888f6cac7511671401eea2a04555d86
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/sapayoa.txt
@@ -0,0 +1,2 @@
+# Originally sourced from Clements Checklist v2022
+Sapayoa
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/satinbirds.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/satinbirds.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c1a8768df5a6f4671d1ec78fcd3f4dee1e05232a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/satinbirds.txt
@@ -0,0 +1,6 @@
+# Originally sourced from Clements Checklist v2022
+Loria's Satinbird
+Crested Satinbird
+Crested Satinbird (Red)
+Crested Satinbird (Yellow)
+Yellow-breasted Satinbird
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/scrub-birds.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/scrub-birds.txt
new file mode 100644
index 0000000000000000000000000000000000000000..edbe144617918d06974ae6faeda8601db277c4c2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/scrub-birds.txt
@@ -0,0 +1,3 @@
+# Originally sourced from Clements Checklist v2022
+Rufous Scrub-bird
+Noisy Scrub-bird
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/sharpbill,_royal_flycatcher,_and_allies.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/sharpbill,_royal_flycatcher,_and_allies.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ee18854e8dba659d51c82e69cd77299dc3db676f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/sharpbill,_royal_flycatcher,_and_allies.txt
@@ -0,0 +1,19 @@
+# Originally sourced from Clements Checklist v2022
+Sharpbill
+Royal Flycatcher
+Royal Flycatcher (Northern)
+Royal Flycatcher (Pacific)
+Royal Flycatcher (Amazonian)
+Royal Flycatcher (Swainson's)
+Ruddy-tailed Flycatcher
+Tawny-breasted Flycatcher
+Sulphur-rumped Flycatcher
+Whiskered Flycatcher
+Whiskered Flycatcher (Whiskered)
+Whiskered Flycatcher (Yellow-rumped)
+Black-tailed Flycatcher
+Black-tailed Flycatcher (Black-tailed)
+Black-tailed Flycatcher (Buff-rumped)
+Sulphur-rumped/Black-tailed Flycatcher
+Whiskered/Black-tailed Flycatcher
+Myiobius sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/shrike-tits.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/shrike-tits.txt
new file mode 100644
index 0000000000000000000000000000000000000000..396ee4db130e48d3d5a6da8151a86e7c45e124c4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/shrike-tits.txt
@@ -0,0 +1,4 @@
+# Originally sourced from Clements Checklist v2022
+Eastern Shrike-tit
+Western Shrike-tit
+Northern Shrike-tit
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/shrikes.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/shrikes.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3c0504a23418f299ba26fa3244091c0b6e8fa6f9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/shrikes.txt
@@ -0,0 +1,70 @@
+# Originally sourced from Clements Checklist v2022
+Tiger Shrike
+Bull-headed Shrike
+Red-backed Shrike
+Red-tailed Shrike
+Red-backed x Red-tailed Shrike (hybrid)
+Isabelline Shrike
+Isabelline Shrike (Daurian)
+Isabelline Shrike (Chinese)
+Red-tailed/Isabelline Shrike
+Brown Shrike
+Brown Shrike (Brown)
+Brown Shrike (Japanese)
+Brown Shrike (Philippine)
+Tiger x Brown Shrike (hybrid)
+Red-tailed/Isabelline/Brown Shrike
+Burmese Shrike
+Emin's Shrike
+Bay-backed Shrike
+Long-tailed Shrike
+Long-tailed Shrike (erythronotus/caniceps)
+Long-tailed Shrike (schach)
+Long-tailed Shrike (tricolor/longicaudatus)
+Long-tailed Shrike (bentet)
+Long-tailed Shrike (nasutus Group)
+Bay-backed/Long-tailed Shrike
+Gray-backed Shrike
+Mountain Shrike
+Loggerhead Shrike
+Northern Shrike
+Northern Shrike (Asian)
+Northern Shrike (American)
+Loggerhead/Northern Shrike
+Iberian Gray Shrike
+Great Gray Shrike
+Great Gray Shrike (Great Gray)
+Great Gray Shrike (Sahara)
+Great Gray Shrike (Arabian)
+Great Gray Shrike (Socotra)
+Great Gray Shrike (Steppe)
+Great Gray Shrike (Indian)
+Northern/Great Gray Shrike
+Iberian Gray/Great Gray Shrike
+Lesser Gray Shrike
+Chinese Gray Shrike
+Giant Shrike
+Chinese Gray/Giant Shrike
+Gray-backed Fiscal
+Long-tailed Fiscal
+Yellow-billed Shrike
+Magpie Shrike
+Taita Fiscal
+Somali Fiscal
+Mackinnon's Shrike
+Northern Fiscal
+Southern Fiscal
+Southern Fiscal (Uhehe)
+Southern Fiscal (Southern)
+Northern/Southern Fiscal (Common Fiscal)
+Souza's Shrike
+Newton's Fiscal
+Masked Shrike
+Woodchat Shrike
+Woodchat Shrike (Western)
+Woodchat Shrike (Balearic)
+Woodchat Shrike (Caucasian)
+Red-backed x Woodchat Shrike (hybrid)
+shrike sp.
+White-rumped Shrike
+White-crowned Shrike
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/silky-flycatchers.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/silky-flycatchers.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f20315ef9fec35ac06bf81065f0d9792e04bdca7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/silky-flycatchers.txt
@@ -0,0 +1,5 @@
+# Originally sourced from Clements Checklist v2022
+Black-and-yellow Silky-flycatcher
+Gray Silky-flycatcher
+Long-tailed Silky-flycatcher
+Phainopepla
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/sittellas.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/sittellas.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2a3c63570f5f86c7688a8797d892d76d859ce23d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/sittellas.txt
@@ -0,0 +1,9 @@
+# Originally sourced from Clements Checklist v2022
+Black Sittella
+Papuan Sittella
+Varied Sittella
+Varied Sittella (White-winged)
+Varied Sittella (Striated)
+Varied Sittella (White-headed)
+Varied Sittella (Orange-winged)
+Varied Sittella (Black-capped)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/spindalises.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/spindalises.txt
new file mode 100644
index 0000000000000000000000000000000000000000..92d39ab3d95c6908e8bff57690e4fd1d1fa3bd3a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/spindalises.txt
@@ -0,0 +1,10 @@
+# Originally sourced from Clements Checklist v2022
+Western Spindalis
+Western Spindalis (Bahamas Black-backed)
+Western Spindalis (Bahamas Green-backed)
+Western Spindalis (Cuban)
+Western Spindalis (Grand Cayman I.)
+Western Spindalis (Cozumel I.)
+Jamaican Spindalis
+Hispaniolan Spindalis
+Puerto Rican Spindalis
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/spotted_elachura.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/spotted_elachura.txt
new file mode 100644
index 0000000000000000000000000000000000000000..cbf4eee67a28b9fdb422cd3b695542c8f5af3ef9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/spotted_elachura.txt
@@ -0,0 +1,2 @@
+# Originally sourced from Clements Checklist v2022
+Spotted Elachura
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/starlings.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/starlings.txt
new file mode 100644
index 0000000000000000000000000000000000000000..88f6062bd356b966f17447900199fd3957f1f4e7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/starlings.txt
@@ -0,0 +1,173 @@
+# Originally sourced from Clements Checklist v2022
+Stripe-sided Rhabdornis
+Long-billed Rhabdornis
+Stripe-breasted Rhabdornis
+Visayan Rhabdornis
+Fiery-browed Myna
+Finch-billed Myna
+Metallic Starling
+Metallic Starling (Violet-hooded)
+Metallic Starling (Metallic)
+Yellow-eyed Starling
+Tanimbar Starling
+Atoll Starling
+Rennell Starling
+Long-tailed Starling
+White-eyed Starling
+Brown-winged Starling
+Makira Starling
+Rusty-winged Starling
+Striated Starling
+Pohnpei Starling
+Singing Starling
+Mountain Starling
+Asian Glossy Starling
+Moluccan Starling
+Short-tailed Starling
+Micronesian Starling
+Polynesian Starling
+Polynesian Starling (Polynesian)
+Polynesian Starling (Manua)
+Samoan Starling
+Kosrae Starling
+Rarotonga Starling
+Mysterious Starling
+Norfolk Starling
+Raiatea Starling
+Aplonis sp.
+Sulawesi Myna
+Helmeted Myna
+Long-crested Myna
+Apo Myna
+Coleto
+White-necked Myna
+White-necked Myna (Northern)
+White-necked Myna (Southern)
+Bare-eyed Myna
+Yellow-faced Myna
+Golden Myna
+Long-tailed Myna
+Golden-crested Myna
+Sri Lanka Myna
+Common Hill Myna
+Common Hill Myna (Common)
+Common Hill Myna (Simeulue)
+Common Hill Myna (Nias)
+Common Hill Myna (Enggano)
+Tenggara Hill Myna
+Southern Hill Myna
+European Starling
+Spotless Starling
+European/Spotless Starling
+Wattled Starling
+Rosy Starling
+Daurian Starling
+Chestnut-cheeked Starling
+Daurian/Chestnut-cheeked Starling
+Black-collared Starling
+Indian Pied Starling
+Siamese Pied Starling
+Javan Pied Starling
+pied starling sp.
+White-faced Starling
+Bali Myna
+Rodrigues Starling
+Reunion Starling
+White-shouldered Starling
+Brahminy Starling
+Chestnut-tailed Starling
+Chestnut-tailed Starling (Western)
+Chestnut-tailed Starling (Eastern)
+Indian Pied Starling x Chestnut-tailed Starling (hybrid)
+Malabar Starling
+Chestnut-tailed/Malabar Starling
+White-headed Starling
+Red-billed Starling
+White-cheeked Starling
+Common Myna
+Bank Myna
+Burmese Myna
+Vinous-breasted Myna
+Burmese/Vinous-breasted Myna
+Black-winged Myna
+Black-winged Myna (Black-winged)
+Black-winged Myna (Gray-backed)
+Black-winged Myna (Gray-rumped)
+Jungle Myna
+Common/Jungle Myna
+Javan Myna
+Jungle x Javan Myna (hybrid)
+Pale-bellied Myna
+Collared Myna
+Great Myna
+Black-collared Starling x Great Myna (hybrid)
+Common x Great Myna (hybrid)
+Jungle x Great Myna (hybrid)
+Javan x Great Myna (hybrid)
+Crested Myna
+Common x Crested Myna (hybrid)
+Collared x Crested Myna (hybrid)
+Jungle/Crested Myna
+black myna sp.
+Acridotheres sp.
+Madagascar Starling
+Violet-backed Starling
+Slender-billed Starling
+Pale-winged Starling
+Neumann's Starling
+Red-winged Starling
+Chestnut-winged Starling
+Chestnut-winged Starling (Chestnut-winged)
+Chestnut-winged Starling (Hartlaub's)
+Waller's Starling
+Waller's Starling (Preuss's)
+Waller's Starling (Albertine)
+Waller's Starling (Waller's)
+Tristram's Starling
+White-billed Starling
+Bristle-crowned Starling
+Somali Starling
+Socotra Starling
+Spot-winged Starling
+Babbling Starling
+Babbling Starling (Western)
+Babbling Starling (Eastern)
+White-collared Starling
+Magpie Starling
+Sharpe's Starling
+Abbott's Starling
+Narrow-tailed Starling
+Stuhlmann's Starling
+Kenrick's Starling
+Black-bellied Starling
+Purple-headed Starling
+Copper-tailed Starling
+Hildebrandt's Starling
+Shelley's Starling
+Burchell's Starling
+Rüppell's Starling
+Long-tailed Glossy Starling
+Meves's Starling
+Meves's Starling (Meves's)
+Meves's Starling (Cunene)
+Meves's Starling (Benguela)
+Ashy Starling
+Splendid Starling
+Principe Starling
+Golden-breasted Starling
+Superb Starling
+Chestnut-bellied Starling
+African Pied Starling
+White-crowned Starling
+Fischer's Starling
+Lesser Blue-eared Starling
+Lesser Blue-eared Starling (Lesser)
+Lesser Blue-eared Starling (Miombo)
+Sharp-tailed Starling
+Greater Blue-eared Starling
+Emerald Starling
+Purple Starling
+Cape Starling
+Bronze-tailed Starling
+Lamprotornis sp.
+myna/starling sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/stitchbird.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/stitchbird.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a89683a815f6b53b62d2e34515b3d1f66ef4308c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/stitchbird.txt
@@ -0,0 +1,2 @@
+# Originally sourced from Clements Checklist v2022
+Stitchbird
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/sugarbirds.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/sugarbirds.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a0e8fb158e34b3b087d16e79df9261dc12b5069e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/sugarbirds.txt
@@ -0,0 +1,3 @@
+# Originally sourced from Clements Checklist v2022
+Gurney's Sugarbird
+Cape Sugarbird
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/sunbirds_and_spiderhunters.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/sunbirds_and_spiderhunters.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4136c750544ba31ae4e6beb307db9a773c7a3b03
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/sunbirds_and_spiderhunters.txt
@@ -0,0 +1,205 @@
+# Originally sourced from Clements Checklist v2022
+Ruby-cheeked Sunbird
+Fraser's Sunbird
+Gray-headed Sunbird
+Plain-backed Sunbird
+Anchieta's Sunbird
+Plain Sunbird
+Brown-throated Sunbird
+Gray-throated Sunbird
+Brown-throated/Gray-throated Sunbird
+Red-throated Sunbird
+Mouse-brown Sunbird
+Western Violet-backed Sunbird
+Western Violet-backed Sunbird (Northern)
+Western Violet-backed Sunbird (Southern)
+Eastern Violet-backed Sunbird
+Uluguru Violet-backed Sunbird
+Violet-tailed Sunbird
+Little Green Sunbird
+Green Sunbird
+Green Sunbird (Yellow-throated)
+Green Sunbird (Gray-throated)
+Banded Sunbird
+Collared Sunbird
+Pygmy Sunbird
+Nile Valley Sunbird
+Amani Sunbird
+Reichenbach's Sunbird
+Principe Sunbird
+Newton's Sunbird
+Sao Tome Sunbird
+Orange-breasted Sunbird
+Green-headed Sunbird
+Green-headed Sunbird (Green-headed)
+Green-headed Sunbird (Blue-headed)
+Bannerman's Sunbird
+Blue-throated Brown Sunbird
+Cameroon Sunbird
+Cameroon Sunbird (Green-headed)
+Cameroon Sunbird (Bioko)
+Cameroon Sunbird (Blue-headed)
+Blue-headed Sunbird
+Olive Sunbird
+Mouse-colored Sunbird
+Buff-throated Sunbird
+Carmelite Sunbird
+Green-throated Sunbird
+Amethyst Sunbird
+Scarlet-chested Sunbird
+Hunter's Sunbird
+Socotra Sunbird
+Purple-rumped Sunbird
+Crimson-backed Sunbird
+Van Hasselt's Sunbird
+Purple-throated Sunbird
+Purple-throated Sunbird (Purple-throated)
+Purple-throated Sunbird (Orange-lined)
+Black Sunbird
+Copper-throated Sunbird
+Bocage's Sunbird
+Purple-breasted Sunbird
+Tacazze Sunbird
+Bronze Sunbird
+Malachite Sunbird
+Red-tufted Sunbird
+Golden-winged Sunbird
+Olive-bellied Sunbird
+Tiny Sunbird
+Western Miombo Sunbird
+Eastern Miombo Sunbird
+Western/Eastern Miombo Sunbird
+Southern Double-collared Sunbird
+Neergaard's Sunbird
+Stuhlmann's Sunbird
+Prigogine's Sunbird
+Montane Double-collared Sunbird
+Montane Double-collared Sunbird (Western)
+Montane Double-collared Sunbird (Eastern)
+Northern Double-collared Sunbird
+Northern Double-collared Sunbird (Western)
+Northern Double-collared Sunbird (Eastern)
+Greater Double-collared Sunbird
+Regal Sunbird
+Rockefeller's Sunbird
+Eastern Double-collared Sunbird
+Usambara Double-collared Sunbird
+Forest Double-collared Sunbird
+Moreau's Sunbird
+Loveridge's Sunbird
+Beautiful Sunbird
+Beautiful Sunbird (Beautiful)
+Beautiful Sunbird (Gorgeous)
+Mariqua Sunbird
+Shelley's Sunbird
+Shelley's Sunbird (Shelley's)
+Shelley's Sunbird (Hofmann's)
+Congo Sunbird
+Red-chested Sunbird
+Black-bellied Sunbird
+Purple-banded Sunbird
+Tsavo Sunbird
+Violet-breasted Sunbird
+Pemba Sunbird
+Orange-tufted Sunbird
+Palestine Sunbird
+Palestine Sunbird (Decorse's)
+Palestine Sunbird (Palestine)
+Shining Sunbird
+Shining Sunbird (Shining)
+Shining Sunbird (Arabian)
+Splendid Sunbird
+Johanna's Sunbird
+Superb Sunbird
+Rufous-winged Sunbird
+Oustalet's Sunbird
+Oustalet's Sunbird (Angola)
+Oustalet's Sunbird (Eastern)
+White-breasted Sunbird
+Variable Sunbird
+Variable Sunbird (Yellow-bellied)
+Variable Sunbird (Orange-chested)
+Variable Sunbird (White-bellied)
+Dusky Sunbird
+Ursula's Sunbird
+Bates's Sunbird
+Copper Sunbird
+Purple Sunbird
+Olive-backed Sunbird
+Olive-backed Sunbird (Olive-backed)
+Olive-backed Sunbird (Cream-bellied)
+Olive-backed Sunbird (Yellow-faced)
+Olive-backed Sunbird (Orange-breasted)
+Olive-backed Sunbird (Black-breasted)
+Olive-backed Sunbird (Rand's)
+Olive-backed Sunbird (Black-bellied)
+Apricot-breasted Sunbird
+Flame-breasted Sunbird
+Souimanga Sunbird
+Souimanga Sunbird (Sooty-bellied)
+Souimanga Sunbird (Yellow-bellied)
+Souimanga Sunbird (White-bellied)
+Souimanga Sunbird (Abbott's)
+Malagasy Sunbird
+Malagasy Sunbird (Grand Comoro)
+Malagasy Sunbird (Moheli)
+Malagasy Sunbird (Long-billed)
+Seychelles Sunbird
+Humblot's Sunbird
+Anjouan Sunbird
+Mayotte Sunbird
+Loten's Sunbird
+Cinnyris sp.
+Elegant Sunbird
+Fire-tailed Sunbird
+Black-throated Sunbird
+Black-throated Sunbird (Black-throated)
+Black-throated Sunbird (Dalat)
+Mrs. Gould's Sunbird
+Mrs. Gould's Sunbird (Yellow-breasted)
+Mrs. Gould's Sunbird (Scarlet-breasted)
+Mrs. Gould's Sunbird (Purple-rumped)
+Green-tailed Sunbird
+Green-tailed Sunbird (Green-tailed)
+Green-tailed Sunbird (Doi Inthanon)
+Lovely Sunbird
+Temminck's Sunbird
+Javan Sunbird
+Vigors's Sunbird
+Crimson Sunbird
+Crimson Sunbird (Goulpourah)
+Crimson Sunbird (Crimson)
+Crimson Sunbird (Sulawesi)
+Temminck's/Crimson Sunbird
+Magnificent Sunbird
+Fork-tailed Sunbird
+Fork-tailed Sunbird (Fork-tailed)
+Fork-tailed Sunbird (Hainan)
+Handsome Sunbird
+White-flanked Sunbird
+Flaming Sunbird
+Maroon-naped Sunbird
+Metallic-winged Sunbird
+Mountain Sunbird
+Bohol Sunbird
+Lina's Sunbird
+Gray-hooded Sunbird
+Apo Sunbird
+Tboli Sunbird
+Aethopyga sp.
+sunbird sp.
+Purple-naped Spiderhunter
+Thick-billed Spiderhunter
+Long-billed Spiderhunter
+Orange-tufted Spiderhunter
+Pale Spiderhunter
+Little Spiderhunter
+Whitehead's Spiderhunter
+Naked-faced Spiderhunter
+Yellow-eared Spiderhunter
+Spectacled Spiderhunter
+Streaked Spiderhunter
+Streaky-breasted Spiderhunter
+Gray-breasted Spiderhunter
+Bornean Spiderhunter
+spiderhunter sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/swallows.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/swallows.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2ecb2b6082ad9556f57f0b6756c77f106d894d7d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/swallows.txt
@@ -0,0 +1,159 @@
+# Originally sourced from Clements Checklist v2022
+African River Martin
+White-eyed River Martin
+Blue-and-white Swallow
+Blue-and-white Swallow (cyanoleuca)
+Blue-and-white Swallow (peruviana)
+Blue-and-white Swallow (patagonica)
+Black-collared Swallow
+Tawny-headed Swallow
+Pale-footed Swallow
+Brown-bellied Swallow
+Andean Swallow
+Black-capped Swallow
+White-thighed Swallow
+White-banded Swallow
+Northern Rough-winged Swallow
+Northern Rough-winged Swallow (Northern)
+Northern Rough-winged Swallow (Ridgway's)
+Southern Rough-winged Swallow
+Northern/Southern Rough-winged Swallow
+Purple Martin
+Purple Martin (subis/arboricola)
+Purple Martin (hesperia)
+Cuban Martin
+Purple/Cuban Martin
+Caribbean Martin
+Sinaloa Martin
+Caribbean/Sinaloa Martin
+Cuban/Caribbean/Sinaloa Martin (Snowy-bellied Martin)
+Gray-breasted Martin
+Southern Martin
+Purple/Southern Martin
+Gray-breasted/Southern Martin
+Peruvian Martin
+Galapagos Martin
+Brown-chested Martin
+Brown-chested Martin (tapera)
+Brown-chested Martin (fusca)
+new world martin sp. (Progne sp.)
+Tree Swallow
+Tumbes Swallow
+White-winged Swallow
+White-rumped Swallow
+Chilean Swallow
+White-rumped/Chilean Swallow
+Mangrove Swallow
+Golden Swallow
+Violet-green Swallow
+Northern Rough-winged x Violet-green Swallow (hybrid)
+Tree x Violet-green Swallow (hybrid)
+Tree/Violet-green Swallow
+Bahama Swallow
+Tachycineta sp.
+Plain Martin
+Plain Martin (African)
+Plain Martin (Madagascar)
+Gray-throated Martin
+Congo Martin
+Bank Swallow
+Gray-throated Martin/Bank Swallow
+Pale Sand Martin
+Bank Swallow/Pale Sand Martin
+Riparia sp.
+Banded Martin
+Mascarene Martin
+Brazza's Martin
+Eurasian Crag-Martin
+Rock Martin
+Rock Martin (Pale Crag-Martin)
+Rock Martin (Red-throated)
+Rock Martin (Large)
+Eurasian Crag-Martin/Rock Martin
+Dusky Crag-Martin
+Eurasian/Dusky Crag-Martin
+Barn Swallow
+Barn Swallow (White-bellied)
+Barn Swallow (Egyptian)
+Barn Swallow (Levant)
+Barn Swallow (Tytler's)
+Barn Swallow (Buff-bellied)
+Barn Swallow (American)
+Tree x Barn Swallow (hybrid)
+Bank x Barn Swallow (hybrid)
+Red-chested Swallow
+Ethiopian Swallow
+Angola Swallow
+White-throated Blue Swallow
+White-throated Swallow
+Wire-tailed Swallow
+Welcome Swallow
+Hill Swallow
+Pacific Swallow
+Pacific Swallow (Pacific)
+Pacific Swallow (Tahiti)
+Barn/Pacific Swallow
+Pied-winged Swallow
+White-tailed Swallow
+Pearl-breasted Swallow
+Montane Blue Swallow
+Black-and-rufous Swallow
+Hirundo sp.
+Greater Striped Swallow
+Red-rumped Swallow
+Red-rumped Swallow (Red-rumped)
+Red-rumped Swallow (West African)
+Barn x Red-rumped Swallow (hybrid)
+Sri Lanka Swallow
+Striated Swallow
+Red-rumped/Striated Swallow
+Lesser Striped Swallow
+Greater/Lesser Striped Swallow
+Rufous-chested Swallow
+Mosque Swallow
+Rufous-bellied Swallow
+Cecropis sp.
+Red-throated Swallow
+Preuss's Swallow
+Red Sea Swallow
+South African Swallow
+Streak-throated Swallow
+Fairy Martin
+Tree Martin
+Fairy/Tree Martin
+Cliff Swallow
+Cliff Swallow (pyrrhonota Group)
+Cliff Swallow (melanogaster)
+Barn x Cliff Swallow (hybrid)
+Violet-green x Cliff Swallow (hybrid)
+Cave Swallow
+Cave Swallow (Caribbean)
+Cave Swallow (Texas)
+Cave Swallow (Yucatan)
+Barn x Cave Swallow (hybrid)
+Cliff x Cave Swallow (hybrid)
+Cliff/Cave Swallow
+Chestnut-collared Swallow
+Cliff/Chestnut-collared Swallow
+Petrochelidon sp.
+Forest Swallow
+Common House-Martin
+Common House-Martin (Western)
+Common House-Martin (Eastern)
+Barn Swallow x Common House-Martin (hybrid)
+Asian House-Martin
+Common/Asian House-Martin
+Nepal House-Martin
+house-martin sp.
+Square-tailed Sawwing
+Forest Swallow/Square-tailed Sawwing
+Mountain Sawwing
+White-headed Sawwing
+White-headed Sawwing (White-headed)
+White-headed Sawwing (Dusky-throated)
+Black Sawwing
+Fanti Sawwing
+sawwing sp.
+Gray-rumped Swallow
+White-backed Swallow
+swallow sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/sylviid_warblers,_parrotbills,_and_allies.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/sylviid_warblers,_parrotbills,_and_allies.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d027b508093ed8acff4a4405b35e9684d3da0593
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/sylviid_warblers,_parrotbills,_and_allies.txt
@@ -0,0 +1,116 @@
+# Originally sourced from Clements Checklist v2022
+Eurasian Blackcap
+Garden Warbler
+Dohrn's Thrush-Babbler
+Abyssinian Catbird
+Bush Blackcap
+African Hill Babbler
+African Hill Babbler (Mt. Cameroon)
+African Hill Babbler (Claude's)
+African Hill Babbler (Stierling's)
+African Hill Babbler (African)
+Rwenzori Hill Babbler
+Barred Warbler
+Layard's Warbler
+Banded Parisoma
+Chestnut-vented Warbler
+Lesser Whitethroat
+Lesser Whitethroat (curruca/blythi)
+Lesser Whitethroat (halimodendri)
+Lesser Whitethroat (Lesser)
+Lesser Whitethroat (Desert)
+Lesser Whitethroat (Lesser/Desert)
+Lesser Whitethroat (Gansu)
+Lesser Whitethroat (Desert/Gansu)
+Lesser Whitethroat (Hume's)
+Lesser Whitethroat (Lesser/Hume's)
+Lesser Whitethroat (Lesser/Desert/Hume's)
+Brown Parisoma
+Brown Parisoma (Gray-vented)
+Brown Parisoma (Brown)
+Yemen Warbler
+Arabian Warbler
+Western Orphean Warbler
+Eastern Orphean Warbler
+Western/Eastern Orphean Warbler
+African Desert Warbler
+Asian Desert Warbler
+Tristram's Warbler
+Menetries's Warbler
+Menetries's Warbler (mystacea)
+Menetries's Warbler (rubescens/turcmenica)
+Rüppell's Warbler
+Cyprus Warbler
+Sardinian Warbler
+Moltoni's Warbler
+Western Subalpine Warbler
+Eastern Subalpine Warbler
+Western/Eastern Subalpine Warbler
+Moltoni's/Western/Eastern Subalpine Warbler
+Greater Whitethroat
+Spectacled Warbler
+Marmora's Warbler
+Dartford Warbler
+Balearic Warbler
+Curruca sp.
+Sylvia/Curruca sp.
+old world warbler sp.
+Fire-tailed Myzornis
+Rufous-tailed Babbler
+Golden-breasted Fulvetta
+Yellow-eyed Babbler
+Jerdon's Babbler
+Jerdon's Babbler (Indus)
+Jerdon's Babbler (Himalayan)
+Jerdon's Babbler (Irrawaddy)
+Tarim Babbler
+Beijing Babbler
+Spectacled Fulvetta
+Indochinese Fulvetta
+Chinese Fulvetta
+Brown-throated Fulvetta
+White-browed Fulvetta
+White-browed Fulvetta (White-throated)
+White-browed Fulvetta (Bhutan)
+White-browed Fulvetta (Naga Hills)
+White-browed Fulvetta (Chin Hills)
+White-browed Fulvetta (Chinese)
+White-browed Fulvetta (Vietnam)
+Streak-throated Fulvetta
+Gray-hooded Fulvetta
+Taiwan Fulvetta
+fulvetta sp.
+Wrentit
+Reed Parrotbill
+Reed Parrotbill (Northern)
+Reed Parrotbill (Reed)
+Black-breasted Parrotbill
+Spot-breasted Parrotbill
+Great Parrotbill
+Brown Parrotbill
+Three-toed Parrotbill
+Gray-headed Parrotbill
+Black-headed Parrotbill
+Gray-headed x Black-headed Parrotbill (hybrid)
+White-breasted Parrotbill
+Rufous-headed Parrotbill
+Short-tailed Parrotbill
+Fulvous Parrotbill
+Black-throated Parrotbill
+Black-throated Parrotbill (Black-throated)
+Black-throated Parrotbill (Orange-eared)
+Black-throated Parrotbill (Gray-breasted)
+Black-throated Parrotbill (Buff-breasted)
+Black-throated Parrotbill (Black-eared)
+Golden Parrotbill
+Pale-billed Parrotbill
+Spectacled Parrotbill
+Gray-hooded Parrotbill
+Brown-winged Parrotbill
+Brown-winged Parrotbill (Yunnan)
+Brown-winged Parrotbill (Brown-winged)
+Vinous-throated Parrotbill
+Ashy-throated Parrotbill
+Vinous-throated x Ashy-throated Parrotbill (hybrid)
+Rusty-throated Parrotbill
+parrotbill sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/tanagers_and_allies.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/tanagers_and_allies.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c75ef022f97798ad61c477ed2d05cb3ef9775fbb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/tanagers_and_allies.txt
@@ -0,0 +1,546 @@
+# Originally sourced from Clements Checklist v2022
+Brown Tanager
+Red-crested Cardinal
+Red-cowled Cardinal
+Masked Cardinal
+Red-capped Cardinal
+Red-capped Cardinal (Red-capped)
+Red-capped Cardinal (Bolivian)
+Red-crested x Red-capped Cardinal (hybrid)
+Masked/Red-capped Cardinal
+Crimson-fronted Cardinal
+Crimson-fronted Cardinal (Araguaia)
+Crimson-fronted Cardinal (Xingu)
+Red-capped x Crimson-fronted Cardinal (hybrid)
+Red-capped/Crimson-fronted Cardinal
+Yellow-billed Cardinal
+Paroaria sp.
+Black-faced Tanager
+Cinnamon Tanager
+Magpie Tanager
+White-banded Tanager
+Black-and-white Tanager
+Cone-billed Tanager
+Scarlet-throated Tanager
+White-capped Tanager
+Hooded Tanager
+Cherry-throated Tanager
+Rufous-crested Tanager
+Slaty Tanager
+Black-capped Hemispingus
+Black-capped Hemispingus (Black-capped)
+Black-capped Hemispingus (White-browed)
+Orange-browed Hemispingus
+Parodi's Hemispingus
+Gray-capped Hemispingus
+Oleaginous Hemispingus
+Black-eared Hemispingus
+Black-eared Hemispingus (Black-eared)
+Black-eared Hemispingus (Western)
+Black-eared Hemispingus (Piura)
+Orange-headed Tanager
+Buff-bellied Tanager
+Fulvous-headed Tanager
+Chestnut-headed Tanager
+Rust-and-yellow Tanager
+Superciliaried Hemispingus
+Superciliaried Hemispingus (Yellow-browed)
+Superciliaried Hemispingus (Superciliaried)
+Superciliaried Hemispingus (White-bellied)
+Superciliaried Hemispingus (urubambae)
+Rufous-chested Tanager
+Brown-flanked Tanager
+Thlypopsis sp.
+Plain-tailed Warbling Finch
+Rusty-browed Warbling Finch
+Buff-throated Warbling Finch
+Gray-throated Warbling Finch
+Ringed Warbling Finch
+Ringed Warbling Finch (Ringed)
+Ringed Warbling Finch (Black-breasted)
+Black-capped Warbling Finch
+Cinereous Warbling Finch
+Three-striped Hemispingus
+Pardusco
+Black-goggled Tanager
+Gray-headed Tanager
+Gray-headed Tanager (Gray-crested)
+Gray-headed Tanager (Gray-headed)
+Inti Tanager
+Flame-crested Tanager
+Flame-crested Tanager (Flame-crested)
+Flame-crested Tanager (Natterer's)
+Yellow-crested Tanager
+White-shouldered Tanager
+Fulvous-crested Tanager
+Flame-crested/Fulvous-crested Tanager
+Tawny-crested Tanager
+Ruby-crowned Tanager
+White-lined Tanager
+Red-shouldered Tanager
+Tachyphonus sp.
+Fulvous Shrike-Tanager
+White-winged Shrike-Tanager
+Black-throated Shrike-Tanager
+White-throated Shrike-Tanager
+Crimson-collared Tanager
+Flame-rumped Tanager
+Flame-rumped Tanager (Flame-rumped)
+Flame-rumped Tanager (Lemon-rumped)
+Flame-rumped Tanager (Flame-rumped x Lemon-rumped)
+Scarlet-rumped Tanager
+Scarlet-rumped Tanager (Passerini's)
+Scarlet-rumped Tanager (Cherrie's)
+Flame-rumped x Scarlet-rumped Tanager (hybrid)
+Brazilian Tanager
+Black-bellied Tanager
+Silver-beaked Tanager
+Masked Crimson Tanager
+Crimson-backed Tanager
+Scarlet-rumped x Crimson-backed Tanager (hybrid)
+Ramphocelus sp.
+Vermilion Tanager
+Blue-backed Tanager
+Blue-and-gold Tanager
+Black-and-gold Tanager
+Golden-chested Tanager
+Moss-backed Tanager
+Gold-ringed Tanager
+Yellow-green Tanager
+Orange-throated Tanager
+Hooded Mountain Tanager
+Blue-capped Tanager
+Masked Mountain Tanager
+Grass-green Tanager
+Black-chested Mountain Tanager
+Golden-backed Mountain Tanager
+Black-cheeked Mountain Tanager
+Lacrimose Mountain Tanager
+Lacrimose Mountain Tanager (Perija)
+Lacrimose Mountain Tanager (melanops)
+Lacrimose Mountain Tanager (yariguierum)
+Lacrimose Mountain Tanager (intensus)
+Lacrimose Mountain Tanager (palpebrosus Group)
+Lacrimose Mountain Tanager (lacrymosus)
+Scarlet-bellied Mountain Tanager
+Scarlet-bellied Mountain Tanager (Scarlet-bellied)
+Scarlet-bellied Mountain Tanager (Fire-bellied)
+Blue-winged Mountain Tanager
+Blue-winged Mountain Tanager (Blue-winged)
+Blue-winged Mountain Tanager (Bolivian)
+Black-chinned Mountain Tanager
+Buff-breasted Mountain Tanager
+Buff-breasted Mountain Tanager (Carriker's)
+Buff-breasted Mountain Tanager (Buff-breasted)
+Buff-breasted Mountain Tanager (Cerulean-streaked)
+Chestnut-bellied Mountain Tanager
+Rufous-bellied Mountain Tanager
+Diademed Tanager
+Purplish-mantled Tanager
+Yellow-throated Tanager
+Golden-collared Tanager
+Golden-crowned Tanager
+Yellow-scarfed Tanager
+Fawn-breasted Tanager
+Blue-and-yellow Tanager
+Blue-and-yellow Tanager (Green-mantled)
+Blue-and-yellow Tanager (Blue-and-yellow)
+Glistening-green Tanager
+Orange-eared Tanager
+Orange-eared Tanager (Orange-eared)
+Orange-eared Tanager (Blue-throated)
+Multicolored Tanager
+Blue-gray Tanager
+Blue-gray Tanager (Blue-gray)
+Blue-gray Tanager (White-edged)
+Sayaca Tanager
+Glaucous Tanager
+Azure-shouldered Tanager
+Golden-chevroned Tanager
+Yellow-winged Tanager
+Palm Tanager
+Thraupis sp.
+Dotted Tanager
+Rufous-throated Tanager
+Speckled Tanager
+Yellow-bellied Tanager
+Spotted Tanager
+Ixothraupis sp. (speckled tanager sp.)
+Golden-naped Tanager
+Golden-naped Tanager (Golden-naped)
+Golden-naped Tanager (Rusty-naped)
+Azure-rumped Tanager
+Gray-and-gold Tanager
+Black-headed Tanager
+Black-headed Tanager (Black-headed)
+Black-headed Tanager (Black-hooded)
+Silvery Tanager
+Black-capped Tanager
+Green-throated Tanager
+Sira Tanager
+Black-backed Tanager
+Chestnut-backed Tanager
+Green-capped Tanager
+Burnished-buff Tanager
+Burnished-buff Tanager (Rufous-crowned)
+Burnished-buff Tanager (Stripe-bellied)
+Lesser Antillean Tanager
+Lesser Antillean Tanager (St. Vincent)
+Lesser Antillean Tanager (Grenada)
+Scrub Tanager
+Masked Tanager
+Golden-hooded Tanager
+Blue-necked Tanager
+Blue-and-black Tanager
+Blue-and-black Tanager (Blue-and-black)
+Blue-and-black Tanager (Spot-bellied)
+Beryl-spangled Tanager
+Spangle-cheeked Tanager
+Green-naped Tanager
+Metallic-green Tanager
+Blue-browed Tanager
+Plain-colored Tanager
+Turquoise Tanager
+Turquoise Tanager (Turquoise)
+Turquoise Tanager (White-bellied)
+Paradise Tanager
+Opal-rumped Tanager
+Opal-rumped Tanager (Opal-rumped)
+Opal-rumped Tanager (Silver-breasted)
+Opal-crowned Tanager
+Green-headed Tanager
+Seven-colored Tanager
+Red-necked Tanager
+Brassy-breasted Tanager
+Gilt-edged Tanager
+Rufous-winged Tanager
+Bay-headed Tanager
+Bay-headed Tanager (Bay-and-blue)
+Bay-headed Tanager (Bay-and-green)
+Bay-headed Tanager (Bay-headed)
+Rufous-cheeked Tanager
+Golden-eared Tanager
+Saffron-crowned Tanager
+Flame-faced Tanager
+Flame-faced Tanager (Flame-faced)
+Flame-faced Tanager (Yellow-faced)
+Green-and-gold Tanager
+Blue-whiskered Tanager
+Golden Tanager
+Golden Tanager (arthus)
+Golden Tanager (aurulenta Group)
+Golden Tanager (pulchra Group)
+Emerald Tanager
+Silver-throated Tanager
+Tangara/Stilpnia sp.
+small tanager sp. (former Tangara sp.)
+Swallow Tanager
+White-bellied Dacnis
+Black-faced Dacnis
+Black-faced Dacnis (Yellow-tufted)
+Black-faced Dacnis (Black-faced)
+Yellow-bellied Dacnis
+Turquoise Dacnis
+Black-legged Dacnis
+Scarlet-thighed Dacnis
+Blue Dacnis
+Viridian Dacnis
+Scarlet-breasted Dacnis
+dacnis sp.
+Short-billed Honeycreeper
+Shining Honeycreeper
+Purple Honeycreeper
+Red-legged Honeycreeper
+Shining/Red-legged Honeycreeper
+Green Honeycreeper
+Golden-collared Honeycreeper
+Sulphur-rumped Tanager
+Scarlet-browed Tanager
+Guira Tanager
+Rufous-headed Tanager
+Guira/Rufous-headed Tanager
+Yellow-backed Tanager
+Rufous-headed/Yellow-backed Tanager
+Black-and-yellow Tanager
+Scarlet-and-white Tanager
+tanager sp. (Thraupidae sp.)
+Bicolored Conebill
+Pearly-breasted Conebill
+Chestnut-vented Conebill
+White-eared Conebill
+Giant Conebill
+White-browed Conebill
+Blue-backed Conebill
+Capped Conebill
+Capped Conebill (White-capped)
+Capped Conebill (Blue-capped)
+Tamarugo Conebill
+Rufous-browed Conebill
+Cinereous Conebill
+Cinereous Conebill (Ochraceous)
+Cinereous Conebill (Cinereous)
+conebill sp.
+Chestnut-bellied Flowerpiercer
+Glossy Flowerpiercer
+Moustached Flowerpiercer
+Moustached Flowerpiercer (unicincta)
+Moustached Flowerpiercer (pectoralis)
+Moustached Flowerpiercer (albilinea)
+Moustached Flowerpiercer (mystacalis)
+Merida Flowerpiercer
+Black Flowerpiercer
+Black-throated Flowerpiercer
+Black-throated Flowerpiercer (vuilleumieri)
+Black-throated Flowerpiercer (Black-throated)
+Gray-bellied Flowerpiercer
+Black-throated x Gray-bellied Flowerpiercer (hybrid)
+Venezuelan Flowerpiercer
+White-sided Flowerpiercer
+Scaled Flowerpiercer
+Greater Flowerpiercer
+Indigo Flowerpiercer
+Cinnamon-bellied Flowerpiercer
+Slaty Flowerpiercer
+Rusty Flowerpiercer
+Deep-blue Flowerpiercer
+Bluish Flowerpiercer
+Masked Flowerpiercer
+Masked Flowerpiercer (cyanea Group)
+Masked Flowerpiercer (melanopis)
+flowerpiercer sp.
+Plushcap
+Black-backed Bush Tanager
+Black-hooded Sierra Finch
+Peruvian Sierra Finch
+Gray-hooded Sierra Finch
+Gray-hooded Sierra Finch (minor)
+Gray-hooded Sierra Finch (gayi/caniceps)
+Patagonian Sierra Finch
+Diuca Finch
+White-bridled Finch
+White-bridled Finch (Fuegian)
+White-bridled Finch (Falkland)
+Yellow-bridled Finch
+Yellow-bridled Finch (White-tailed)
+Yellow-bridled Finch (Yellow-tailed)
+Tit-like Dacnis
+Tit-like Dacnis (petersi/bella)
+Tit-like Dacnis (parina)
+Red-backed Sierra Finch
+White-throated Sierra Finch
+Glacier Finch
+Boulder Finch
+Plumbeous Sierra Finch
+Ash-breasted Sierra Finch
+Uniform Finch
+Slaty Finch
+Peg-billed Finch
+Black-crested Finch
+Gray-crested Finch
+Black-crested/Gray-crested Finch
+Gough Island Finch
+Inaccessible Island Finch
+Inaccessible Island Finch (Lowland)
+Inaccessible Island Finch (Upland)
+Inaccessible Island Finch (Dunn's)
+Nightingale Island Finch
+Wilkins's Finch
+Nightingale Island/Wilkins's Finch
+Cinereous Finch
+Slender-billed Finch
+Great Inca-Finch
+Rufous-backed Inca-Finch
+Gray-winged Inca-Finch
+Buff-bridled Inca-Finch
+Little Inca-Finch
+inca-finch sp.
+Mourning Sierra Finch
+Mourning Sierra Finch (Mourning)
+Mourning Sierra Finch (Blackish)
+Blue Finch
+Band-tailed Sierra Finch
+Carbonated Sierra Finch
+sierra finch sp.
+Black-headed Hemispingus
+Drab Hemispingus
+Gray-hooded Bush Tanager
+Gray-hooded Bush Tanager (rubrirostris)
+Gray-hooded Bush Tanager (chrysogaster)
+White-rumped Tanager
+Long-tailed Reed Finch
+Chestnut-breasted Mountain Finch
+Rufous-sided Warbling Finch
+Bay-chested Warbling Finch
+Slaty-backed Hemispingus
+Rufous-browed Hemispingus
+Bolivian Warbling Finch
+Cinnamon Warbling Finch
+Black-and-chestnut Warbling Finch
+Black-and-rufous Warbling Finch
+Black-and-chestnut/Black-and-rufous Warbling Finch
+Rufous-breasted Warbling Finch
+Collared Warbling Finch
+Cochabamba Mountain Finch
+Tucuman Mountain Finch
+warbling finch sp.
+Stripe-tailed Yellow-Finch
+Puna Yellow-Finch
+Bright-rumped Yellow-Finch
+Citron-headed Yellow-Finch
+Greater Yellow-Finch
+Greenish Yellow-Finch
+Monte Yellow-Finch
+Patagonian Yellow-Finch
+Orange-fronted Yellow-Finch
+Saffron Finch
+Saffron Finch (Saffron)
+Saffron Finch (Pelzeln's)
+Grassland Yellow-Finch
+Grassland Yellow-Finch (Northern)
+Grassland Yellow-Finch (Montane)
+Grassland Yellow-Finch (Grassland)
+Raimondi's Yellow-Finch
+Sulphur-throated Finch
+yellow-finch sp.
+Wedge-tailed Grass-Finch
+Duida Grass-Finch
+Lesser Grass-Finch
+Wedge-tailed/Lesser Grass-Finch
+Great Pampa-Finch
+Great Pampa-Finch (Western)
+Great Pampa-Finch (Eastern)
+Pale-throated Pampa-Finch
+Blue-black Grassquit
+Lesson's Seedeater
+Lined Seedeater
+Lesson's/Lined Seedeater
+White-bellied Seedeater
+White-bellied Seedeater (Bicolored)
+White-bellied Seedeater (Gray-backed)
+Parrot-billed Seedeater
+Chestnut-throated Seedeater
+Drab Seedeater
+Chestnut-bellied Seedeater
+Ruddy-breasted Seedeater
+Black-and-tawny Seedeater
+Copper Seedeater
+Pearly-bellied Seedeater
+Tawny-bellied Seedeater
+Dark-throated Seedeater
+Ibera Seedeater (undescribed form)
+Marsh Seedeater
+Rufous-rumped Seedeater
+Chestnut Seedeater
+Rufous-rumped/Chestnut Seedeater
+Black-bellied Seedeater
+Thick-billed Seed-Finch
+Chestnut-bellied Seed-Finch
+Nicaraguan Seed-Finch
+Great-billed Seed-Finch
+Large-billed Seed-Finch
+Black-billed Seed-Finch
+Variable Seedeater
+Variable Seedeater (Black)
+Variable Seedeater (Variable)
+Gray Seedeater
+Wing-barred Seedeater
+Caqueta Seedeater
+Morelet's Seedeater
+Cinnamon-rumped Seedeater
+Morelet's/Cinnamon-rumped Seedeater
+White-naped Seedeater
+Black-and-white Seedeater
+Yellow-bellied Seedeater
+Dubois's Seedeater
+Yellow-bellied/Dubois's Seedeater
+Double-collared Seedeater
+Slate-colored Seedeater
+Gray/Slate-colored Seedeater
+Temminck's Seedeater
+Buffy-fronted Seedeater
+Plumbeous Seedeater
+Tropeiro Seedeater
+Rusty-collared Seedeater
+White-throated Seedeater
+Sporophila sp.
+Band-tailed Seedeater
+Plain-colored Seedeater
+Paramo Seedeater
+Catamenia sp.
+Coal-crested Finch
+Black-masked Finch
+Pileated Finch
+Red-crested Finch
+Crimson-breasted Finch
+Yellow Cardinal
+Diuca Finch x Yellow Cardinal (hybrid)
+Bananaquit
+Bananaquit (Bahamas)
+Bananaquit (Cozumel I.)
+Bananaquit (Greater Antillean)
+Bananaquit (Puerto Rico)
+Bananaquit (Lesser Antillean)
+Bananaquit (St. Vincent)
+Bananaquit (Grenada)
+Bananaquit (Los Roques)
+Bananaquit (laurae/melanornis)
+Bananaquit (Continental)
+Yellow-faced Grassquit
+Orangequit
+Puerto Rican Bullfinch
+St. Kitts Bullfinch
+Cuban Bullfinch
+Cuban Bullfinch (Cuban)
+Cuban Bullfinch (Grand Cayman)
+Greater Antillean Bullfinch
+Yellow-shouldered Grassquit
+Cuban Grassquit
+Lesser Antillean Bullfinch
+Barbados Bullfinch
+St. Lucia Black Finch
+Black-faced Grassquit
+Dull-colored Grassquit
+Sooty Grassquit
+Cocos Finch
+Green Warbler-Finch
+Gray Warbler-Finch
+Vegetarian Finch
+Woodpecker Finch
+Woodpecker Finch (pallidus/productus)
+Woodpecker Finch (striatipecta)
+Large Tree-Finch
+Medium Tree-Finch
+Small Tree-Finch
+Mangrove Finch
+Small Ground-Finch
+Large Ground-Finch
+Vampire Ground-Finch
+Genovesa Ground-Finch
+Sharp-beaked Ground-Finch
+Common Cactus-Finch
+Medium Ground-Finch
+Española Ground-Finch
+Genovesa Cactus-Finch
+Geospiza sp.
+galapagos finch sp.
+Yellow-shouldered Grosbeak
+Many-colored Chaco Finch
+Black-throated Saltator
+Buff-throated Saltator
+Black-winged Saltator
+Black-headed Saltator
+Orinocan Saltator
+Olive-gray Saltator
+Cinnamon-bellied Saltator
+Bluish-gray Saltator
+Olive-gray/Bluish-gray Saltator
+Streaked Saltator
+Lesser Antillean Saltator
+Green-winged Saltator
+Black-cowled Saltator
+Thick-billed Saltator
+Golden-billed Saltator
+Masked Saltator
+Slate-colored Grosbeak
+Black-throated Grosbeak
+saltator sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/tapaculos.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/tapaculos.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9efb09e536aa4dcf2d6b641952f050b8adeabb9f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/tapaculos.txt
@@ -0,0 +1,77 @@
+# Originally sourced from Clements Checklist v2022
+Chestnut-throated Huet-huet
+Black-throated Huet-huet
+Moustached Turca
+White-throated Tapaculo
+Chucao Tapaculo
+Rusty-belted Tapaculo
+Ocellated Tapaculo
+Crested Gallito
+Sandy Gallito
+Spotted Bamboowren
+Slaty Bristlefront
+Stresemann's Bristlefront
+Ochre-flanked Tapaculo
+Ash-colored Tapaculo
+White-breasted Tapaculo
+Bahia Tapaculo
+Marsh Tapaculo
+Diamantina Tapaculo
+Brasilia Tapaculo
+Rock Tapaculo
+Planalto Tapaculo
+Boa Nova Tapaculo
+Mouse-colored Tapaculo
+Dusky Tapaculo
+Magellanic Tapaculo
+Ancash Tapaculo
+White-winged Tapaculo
+Loja Tapaculo
+Paramo Tapaculo
+Paramillo Tapaculo
+White-browed Tapaculo
+Zimmer's Tapaculo
+Puna Tapaculo
+Diademed Tapaculo
+Vilcabamba Tapaculo
+Ampay Tapaculo
+Jalca Tapaculo
+Neblina Tapaculo
+Trilling Tapaculo
+Bolivian Tapaculo
+White-crowned Tapaculo
+Santa Marta Tapaculo
+Long-tailed Tapaculo
+Rufous-vented Tapaculo
+Utcubamba Tapaculo
+Large-footed Tapaculo
+Junin Tapaculo
+Unicolored Tapaculo
+Tschudi's Tapaculo
+Blackish Tapaculo
+Blackish Tapaculo (Blackish)
+Blackish Tapaculo (Pacific)
+Lambayeque Tapaculo (undescribed form)
+Silvery-fronted Tapaculo
+Silvery-fronted Tapaculo (Silvery-fronted)
+Silvery-fronted Tapaculo (Chiriqui)
+Nariño Tapaculo
+Tacarcuna Tapaculo
+Choco Tapaculo
+Magdalena Tapaculo
+Magdalena Tapaculo (Yariguies)
+Magdalena Tapaculo (Upper Magdalena)
+Stiles's Tapaculo
+Tatama Tapaculo
+Ecuadorian Tapaculo
+Caracas Tapaculo
+Pale-bellied Tapaculo
+Brown-rumped Tapaculo
+Perija Tapaculo
+Merida Tapaculo
+Merida Tapaculo (Merida)
+Merida Tapaculo (Lara)
+Chusquea Tapaculo
+Spillmann's Tapaculo
+Scytalopus sp.
+tapaculo sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/thornbills_and_allies.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/thornbills_and_allies.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7c00e33584618039aa620c3e7fe32e61daa0969f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/thornbills_and_allies.txt
@@ -0,0 +1,78 @@
+# Originally sourced from Clements Checklist v2022
+Goldenface
+Pilotbird
+Rockwarbler
+Fernwren
+Rusty Mouse-Warbler
+Bicolored Mouse-Warbler
+Mountain Mouse-Warbler
+mouse-warbler sp.
+Yellow-throated Scrubwren
+Spotted Scrubwren
+White-browed Scrubwren
+White-browed Scrubwren (Buff-breasted)
+White-browed Scrubwren (White-browed)
+Spotted/White-browed Scrubwren
+Tasmanian Scrubwren
+Atherton Scrubwren
+Tropical Scrubwren
+Large Scrubwren
+Large-billed Scrubwren
+Vogelkop Scrubwren
+Buff-faced Scrubwren
+Papuan Scrubwren
+Gray-green Scrubwren
+Pale-billed Scrubwren
+scrubwren sp.
+Scrubtit
+Redthroat
+Speckled Warbler
+Rufous Fieldwren
+Western Fieldwren
+Rufous/Western Fieldwren
+Striated Fieldwren
+Chestnut-rumped Heathwren
+Shy Heathwren
+Papuan Thornbill
+Buff-rumped Thornbill
+Western Thornbill
+Slender-billed Thornbill
+Mountain Thornbill
+Brown Thornbill
+Tasmanian Thornbill
+Brown/Tasmanian Thornbill
+Inland Thornbill
+Yellow-rumped Thornbill
+Chestnut-rumped Thornbill
+Slaty-backed Thornbill
+Yellow Thornbill
+Gray Thornbill
+Striated Thornbill
+thornbill sp.
+Weebill
+Green-backed Gerygone
+Fairy Gerygone
+Fairy Gerygone (Black-throated)
+Fairy Gerygone (Fairy)
+Biak Gerygone
+White-throated Gerygone
+Yellow-bellied Gerygone
+Large-billed Gerygone
+Dusky Gerygone
+Brown Gerygone
+Golden-bellied Gerygone
+Plain Gerygone
+Rufous-sided Gerygone
+Brown-breasted Gerygone
+Western Gerygone
+Mangrove Gerygone
+Norfolk Island Gerygone
+Lord Howe Gerygone
+Gray Gerygone
+Chatham Island Gerygone
+Rennell Gerygone
+Fan-tailed Gerygone
+gerygone sp.
+Southern Whiteface
+Chestnut-breasted Whiteface
+Banded Whiteface
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/thrush-tanager.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/thrush-tanager.txt
new file mode 100644
index 0000000000000000000000000000000000000000..fa1b9ab7187503393958cacd0e31961bf17d2fdd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/thrush-tanager.txt
@@ -0,0 +1,2 @@
+# Originally sourced from Clements Checklist v2022
+Rosy Thrush-Tanager
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/thrushes_and_allies.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/thrushes_and_allies.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b35827e407bc3d1a110e8d1df9a39a04b10b42f4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/thrushes_and_allies.txt
@@ -0,0 +1,323 @@
+# Originally sourced from Clements Checklist v2022
+Grandala
+Eastern Bluebird
+Eastern Bluebird (Eastern)
+Eastern Bluebird (Mexican)
+Western Bluebird
+Eastern x Western Bluebird (hybrid)
+Mountain Bluebird
+Eastern x Mountain Bluebird (hybrid)
+Western x Mountain Bluebird (hybrid)
+bluebird sp.
+Rufous Flycatcher-Thrush
+Finsch's Flycatcher-Thrush
+Red-tailed Ant-Thrush
+Red-tailed Ant-Thrush (Red-tailed)
+Red-tailed Ant-Thrush (Coastal)
+White-tailed Ant-Thrush
+Townsend's Solitaire
+Brown-backed Solitaire
+Cuban Solitaire
+Rufous-throated Solitaire
+Rufous-throated Solitaire (Rufous-throated)
+Rufous-throated Solitaire (St. Vincent)
+Black-faced Solitaire
+Varied Solitaire
+Slate-colored Solitaire
+Andean Solitaire
+Andean Solitaire (plumbeiceps)
+Andean Solitaire (venezuelensis/candelae)
+Andean Solitaire (ralloides)
+Kamao
+Amaui
+Olomao
+Omao
+Puaiohi
+Long-tailed Thrush
+Alpine Thrush
+Himalayan Thrush
+Alpine/Himalayan Thrush
+Sichuan Thrush
+Alpine/Sichuan Thrush
+Alpine/Himalayan/Sichuan Thrush
+Geomalia
+Dark-sided Thrush
+Long-billed Thrush
+Everett's Thrush
+Sunda Thrush
+White's Thrush
+Scaly Thrush
+Scaly Thrush (Scaly)
+Scaly Thrush (Horsfield's)
+Scaly Thrush (Iriomotejima)
+White's/Scaly Thrush
+Amami Thrush
+Nilgiri Thrush
+Sri Lanka Thrush
+Bonin Thrush
+Makira Thrush
+Guadalcanal Thrush
+Bassian Thrush
+New Britain Thrush
+Bougainville Thrush
+Russet-tailed Thrush
+Russet-tailed Thrush (Russet-tailed)
+Russet-tailed Thrush (Mussau)
+Bassian/Russet-tailed Thrush
+Fawn-breasted Thrush
+Zoothera sp.
+Sulawesi Thrush
+Fruit-hunter
+Purple Cochoa
+Green Cochoa
+Purple/Green Cochoa
+Sumatran Cochoa
+Javan Cochoa
+Varied Thrush
+Black-billed Nightingale-Thrush
+Orange-billed Nightingale-Thrush
+Orange-billed Nightingale-Thrush (Brown-headed)
+Orange-billed Nightingale-Thrush (Gray-headed)
+Orange-billed Nightingale-Thrush (Orange-billed)
+Slaty-backed Nightingale-Thrush
+Slaty-backed Nightingale-Thrush (Black-backed)
+Slaty-backed Nightingale-Thrush (Slaty-backed)
+Russet Nightingale-Thrush
+Ruddy-capped Nightingale-Thrush
+Russet/Ruddy-capped Nightingale-Thrush
+Black-headed Nightingale-Thrush
+Yellow-throated Nightingale-Thrush
+Speckled Nightingale-Thrush
+Veery
+Gray-cheeked Thrush
+Bicknell's Thrush
+Veery x Bicknell's Thrush (hybrid)
+Gray-cheeked/Bicknell's Thrush
+Swainson's Thrush
+Swainson's Thrush (Russet-backed)
+Swainson's Thrush (Olive-backed)
+Hermit Thrush
+Hermit Thrush (guttatus Group)
+Hermit Thrush (auduboni Group)
+Hermit Thrush (faxoni/crymophilus)
+Catharus sp.
+Wood Thrush
+Black Solitaire
+White-eared Solitaire
+Rufous-brown Solitaire
+Rufous-brown Solitaire (Chestnut-throated)
+Rufous-brown Solitaire (Peruvian)
+Rufous-brown Solitaire (Guianan)
+Rufous-brown Solitaire (Rufous-brown)
+Aztec Thrush
+Siberian Thrush
+Pied Thrush
+Spotted Ground-Thrush
+Spotted Ground-Thrush (Lotti)
+Spotted Ground-Thrush (Upemba)
+Spotted Ground-Thrush (Spotted)
+Black-eared Ground-Thrush
+Black-eared Ground-Thrush (Cameroon)
+Black-eared Ground-Thrush (Grauer's)
+Gray Ground-Thrush
+Gray Ground-Thrush (Prince's)
+Gray Ground-Thrush (Bates's)
+Crossley's Ground-Thrush
+Crossley's Ground-Thrush (Crossley's)
+Crossley's Ground-Thrush (Itombwe)
+Oberländer's Ground-Thrush
+Abyssinian Ground-Thrush
+Abyssinian Ground-Thrush (Abyssinian)
+Abyssinian Ground-Thrush (Kivu)
+Orange Ground-Thrush
+Spot-winged Thrush
+Ashy Thrush
+Buru Thrush
+Seram Thrush
+Chestnut-capped Thrush
+Enggano Thrush
+Chestnut-backed Thrush
+Orange-banded Thrush
+Slaty-backed Thrush
+Rusty-backed Thrush
+Red-and-black Thrush
+Orange-headed Thrush
+Orange-headed Thrush (Orange-headed)
+Orange-headed Thrush (White-throated)
+Orange-headed Thrush (Plain-winged)
+Orange-headed Thrush (Buff-throated)
+Geokichla sp.
+Chinese Thrush
+Ethiopian Thrush
+Groundscraper Thrush
+Mistle Thrush
+Song Thrush
+Abyssinian Thrush
+Abyssinian Thrush (Ngorongoro)
+Abyssinian Thrush (Abyssinian)
+Taita Thrush
+Usambara Thrush
+Redwing
+Redwing (Icelandic)
+Redwing (Eurasian)
+Mountain Thrush
+Eurasian Blackbird
+Pale-breasted Thrush
+Cocoa Thrush
+Cocoa Thrush (Lesser Antillean)
+Cocoa Thrush (Cocoa)
+Hauxwell's Thrush
+Yellow-legged Thrush
+Pale-vented Thrush
+White-throated Thrush
+White-throated Thrush (White-throated)
+White-throated Thrush (Dagua)
+White-necked Thrush
+White-necked Thrush (Gray-flanked)
+White-necked Thrush (Rufous-flanked)
+Rufous-bellied Thrush
+Clay-colored Thrush
+Spectacled Thrush
+Ecuadorian Thrush
+Varzea Thrush
+Hauxwell's/Varzea Thrush
+Unicolored Thrush
+Somali Thrush
+Chinese Blackbird
+African Bare-eyed Thrush
+Kurrichane Thrush
+Comoro Thrush
+Yemen Thrush
+Olive Thrush
+Karoo Thrush
+Olive x Karoo Thrush (hybrid)
+Olive/Karoo Thrush
+Forest Thrush
+Pale-eyed Thrush
+White-eyed Thrush
+La Selle Thrush
+Black Thrush
+Sooty Thrush
+American Robin
+American Robin (nigrideus)
+American Robin (migratorius Group)
+American Robin (San Lucas)
+Varied Thrush/American Robin
+Rufous-backed Robin
+Rufous-backed Robin (Rufous-backed)
+Rufous-backed Robin (Grayson's)
+Rufous-collared Robin
+Austral Thrush
+Austral Thrush (Magellan)
+Austral Thrush (Falkland)
+Plumbeous-backed Thrush
+Blacksmith Thrush
+Lawrence's Thrush
+Pantepui Thrush
+Tristan Thrush
+Creamy-bellied Thrush
+Black-billed Thrush
+Black-billed Thrush (Drab)
+Black-billed Thrush (Amazonian)
+Campina Thrush
+Pantepui/Campina Thrush
+Black-billed/Campina Thrush
+Marañon Thrush
+Chestnut-bellied Thrush
+Black-hooded Thrush
+Great Thrush
+Chiguanco Thrush
+Chiguanco Thrush (chiguanco/conradi)
+Chiguanco Thrush (anthracinus)
+Andean Slaty Thrush
+Glossy-black Thrush
+Principe Thrush
+Sao Tome Thrush
+White-chinned Thrush
+Grand Cayman Thrush
+Red-legged Thrush
+Red-legged Thrush (Bahamas)
+Red-legged Thrush (Cuban)
+Red-legged Thrush (Antillean)
+African Thrush
+African Thrush (African)
+African Thrush (Black-lored)
+African Thrush (Orange-bellied)
+Taiwan Thrush
+Gray-winged Blackbird
+Indian Blackbird
+Indian Blackbird (Indian)
+Indian Blackbird (Black-capped)
+Indian Blackbird (Sri Lanka)
+Japanese Thrush
+Gray-backed Thrush
+Tickell's Thrush
+Black-breasted Thrush
+Japanese x Black-breasted Thrush (hybrid)
+Gray-sided Thrush
+Eyebrowed Thrush
+Gray-sided/Eyebrowed Thrush
+Brown-headed Thrush
+Izu Thrush
+Pale Thrush
+Island Thrush
+Island Thrush (Christmas)
+Island Thrush (Loeser's)
+Island Thrush (Sumatran)
+Island Thrush (Javan)
+Island Thrush (Sooty)
+Island Thrush (Stresemann's)
+Island Thrush (Bornean)
+Island Thrush (Luzon)
+Island Thrush (Mindoro)
+Island Thrush (Negros)
+Island Thrush (Malindang)
+Island Thrush (Katanglad)
+Island Thrush (Apo)
+Island Thrush (Latimojong)
+Island Thrush (Lompobattang)
+Island Thrush (Taliabu)
+Island Thrush (Schlegel's)
+Island Thrush (Sterling's)
+Island Thrush (Seram)
+Island Thrush (Jayawijaya)
+Island Thrush (Ashy)
+Island Thrush (Papuan)
+Island Thrush (Goodenough)
+Island Thrush (North Melanesian)
+Island Thrush (Kolombangara)
+Island Thrush (Vanuatu)
+Island Thrush (Ureparapara)
+Island Thrush (Efate)
+Island Thrush (White-headed)
+Island Thrush (New Caledonia)
+Island Thrush (Mare)
+Island Thrush (Norfolk I.)
+Island Thrush (Lord Howe I.)
+Island Thrush (Viti Levu)
+Island Thrush (Kadavu)
+Island Thrush (Vanua Levu)
+Island Thrush (Satanic)
+Island Thrush (Taveuni)
+Island Thrush (Samoan)
+White-backed Thrush
+Tibetan Blackbird
+Fieldfare
+White-collared Blackbird
+Chestnut Thrush
+Chestnut Thrush (Silver-headed)
+Chestnut Thrush (Gray-headed)
+Ring Ouzel
+Ring Ouzel (Northern)
+Ring Ouzel (Alpine)
+Ring Ouzel (Caucasian)
+Black-throated Thrush
+Red-throated Thrush
+Black-throated x Red-throated Thrush (hybrid)
+Black-throated/Red-throated Thrush
+Dusky Thrush
+Naumann's Thrush
+Dusky x Naumann's Thrush (hybrid)
+Dusky/Naumann's Thrush
+Turdus sp.
+thrush sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/tit_berrypecker_and_crested_berrypecker.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/tit_berrypecker_and_crested_berrypecker.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8203395cc7bb3207d1277ae940b739f24760afd5
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/tit_berrypecker_and_crested_berrypecker.txt
@@ -0,0 +1,5 @@
+# Originally sourced from Clements Checklist v2022
+Tit Berrypecker
+Crested Berrypecker
+Crested Berrypecker (Eastern)
+Crested Berrypecker (Western)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/tits,_chickadees,_and_titmice.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/tits,_chickadees,_and_titmice.txt
new file mode 100644
index 0000000000000000000000000000000000000000..62db3d0dacc1fbb40cc0039d1a51e13125f51ae7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/tits,_chickadees,_and_titmice.txt
@@ -0,0 +1,111 @@
+# Originally sourced from Clements Checklist v2022
+Fire-capped Tit
+Yellow-browed Tit
+Sultan Tit
+Sultan Tit (Yellow-crested)
+Sultan Tit (Black-crested)
+Coal Tit
+Coal Tit (British)
+Coal Tit (Continental)
+Coal Tit (Atlas)
+Coal Tit (Cyprus)
+Coal Tit (Caucasus)
+Coal Tit (Black-crested)
+Coal Tit (Himalayan)
+Coal Tit (Chinese)
+Rufous-naped Tit
+Rufous-vented Tit
+Rufous-naped/Rufous-vented Tit
+Yellow-bellied Tit
+Elegant Tit
+Palawan Tit
+Crested Tit
+Gray-crested Tit
+Chestnut-bellied Tit
+Iriomote Tit
+Varied Tit
+Chestnut-bellied/Varied Tit
+Owston's Tit
+White-fronted Tit
+White-browed Tit
+Sombre Tit
+Pere David's Tit
+Marsh Tit
+Caspian Tit
+Black-bibbed Tit
+Willow Tit
+Willow Tit (Willow)
+Willow Tit (Songar)
+Marsh/Willow Tit
+Sichuan Tit
+Carolina Chickadee
+Black-capped Chickadee
+Carolina x Black-capped Chickadee (hybrid)
+Carolina/Black-capped Chickadee
+Mountain Chickadee
+Mountain Chickadee (Rocky Mts.)
+Mountain Chickadee (Pacific)
+Black-capped x Mountain Chickadee (hybrid)
+Black-capped/Mountain Chickadee
+Mexican Chickadee
+Chestnut-backed Chickadee
+Mountain x Chestnut-backed Chickadee (hybrid)
+Boreal Chickadee
+Black-capped x Boreal Chickadee (hybrid)
+Mountain x Boreal Chickadee (hybrid)
+Gray-headed Chickadee
+Willow Tit x Gray-headed Chickadee (hybrid)
+chickadee sp.
+Eurasian Blue Tit
+African Blue Tit
+Azure Tit
+Azure Tit (Azure)
+Azure Tit (Yellow-breasted)
+Eurasian Blue x Azure Tit (hybrid)
+Eurasian Blue/Azure Tit
+Bridled Titmouse
+Oak Titmouse
+Juniper Titmouse
+Bridled/Juniper Titmouse
+Oak/Juniper Titmouse (Plain Titmouse)
+Tufted Titmouse
+Carolina Chickadee x Tufted Titmouse (hybrid)
+Black-capped Chickadee x Tufted Titmouse (hybrid)
+Black-crested Titmouse
+Tufted x Black-crested Titmouse (hybrid)
+Tufted/Black-crested Titmouse
+Ground Tit
+Green-backed Tit
+Great Tit
+Great Tit (Great)
+Great Tit (Turkestan)
+Cinereous Tit
+Japanese Tit
+Japanese Tit (Japanese)
+Japanese Tit (commixtus)
+Japanese Tit (Amami)
+Japanese Tit (Okinawa)
+Japanese Tit (Ishigaki)
+Parus sp.
+White-naped Tit
+Taiwan Yellow Tit
+Himalayan Black-lored Tit
+Indian Yellow Tit
+Yellow-cheeked Tit
+White-shouldered Black-Tit
+White-winged Black-Tit
+Rufous-bellied Tit
+Rufous-bellied Tit (Rufous-bellied)
+Rufous-bellied Tit (Cinnamon-breasted)
+White-bellied Tit
+Southern Black-Tit
+Carp's Tit
+Dusky Tit
+Miombo Tit
+Stripe-breasted Tit
+Somali Tit
+Red-throated Tit
+White-backed Black-Tit
+Ashy Tit
+Gray Tit
+Parid sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/tityras_and_allies.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/tityras_and_allies.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b3936c88532cdca044451a6d4dbf3dfeb30a909b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/tityras_and_allies.txt
@@ -0,0 +1,53 @@
+# Originally sourced from Clements Checklist v2022
+Black-tailed Tityra
+Black-tailed Tityra (Eastern)
+Black-tailed Tityra (Western)
+Black-crowned Tityra
+Masked Tityra
+White-tailed Tityra (unrecognized species)
+tityra sp.
+Varzea Schiffornis
+Olivaceous Schiffornis
+Northern Schiffornis
+Northern Schiffornis (Northern)
+Northern Schiffornis (Ecuadorian)
+Foothill Schiffornis
+Russet-winged Schiffornis
+Brown-winged Schiffornis
+Brown-winged Schiffornis (Amazonian)
+Brown-winged Schiffornis (Brown-winged)
+Greenish Schiffornis
+schiffornis sp.
+Cinereous Mourner
+Speckled Mourner
+White-browed Purpletuft
+Dusky Purpletuft
+Buff-throated Purpletuft
+Buff-throated Purpletuft (Northern)
+Buff-throated Purpletuft (Southern)
+Shrike-like Cotinga
+Shrike-like Cotinga (Andean)
+Shrike-like Cotinga (Brazilian)
+White-naped Xenopsaris
+Green-backed Becard
+Green-backed Becard (Yellow-cheeked)
+Green-backed Becard (Green-cheeked)
+Green-backed Becard (Green-backed)
+Barred Becard
+Slaty Becard
+Cinereous Becard
+Cinnamon Becard
+Chestnut-crowned Becard
+White-winged Becard
+Black-and-white Becard
+Gray-collared Becard
+Gray-collared Becard (Western)
+Gray-collared Becard (Eastern)
+Black-capped Becard
+Glossy-backed Becard
+Rose-throated Becard
+Jamaican Becard
+One-colored Becard
+Pink-throated Becard
+Crested Becard
+becard sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/tree-babblers,_scimitar-babblers,_and_allies.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/tree-babblers,_scimitar-babblers,_and_allies.txt
new file mode 100644
index 0000000000000000000000000000000000000000..86d701cff0ddfca0b40bccc384080f9f597f15de
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/tree-babblers,_scimitar-babblers,_and_allies.txt
@@ -0,0 +1,79 @@
+# Originally sourced from Clements Checklist v2022
+Chestnut-capped Babbler
+Tawny-bellied Babbler
+Dark-fronted Babbler
+Dark-fronted Babbler (atriceps)
+Dark-fronted Babbler (bourdilloni)
+Dark-fronted Babbler (siccata)
+Dark-fronted Babbler (nigrifrons)
+Gray-faced Tit-Babbler
+Gray-cheeked Tit-Babbler
+Kangean Tit-Babbler
+Pin-striped Tit-Babbler
+Pin-striped Tit-Babbler (Pin-striped)
+Pin-striped Tit-Babbler (Palawan)
+Gray-faced/Pin-striped Tit-Babbler
+Bold-striped Tit-Babbler
+Bold-striped Tit-Babbler (Bold-striped)
+Bold-striped Tit-Babbler (Mapun)
+Fluffy-backed Tit-Babbler
+Brown Tit-Babbler
+Golden Babbler
+Chestnut-winged Babbler
+Gray-hooded Babbler
+Crescent-chested Babbler
+Rufous-fronted Babbler
+Black-chinned Babbler
+Rufous-capped Babbler
+Buff-chested Babbler
+Cyanoderma sp.
+Rufous-throated Wren-Babbler
+Mishmi Wren-Babbler
+Bar-winged Wren-Babbler
+Pale-throated Wren-Babbler
+Naga Wren-Babbler
+Chin Hills Wren-Babbler
+Tawny-breasted Wren-Babbler
+Gray-bellied Wren-Babbler
+Spelaeornis sp.
+Black Laughingthrush
+Bare-headed Laughingthrush
+Black-crowned Scimitar-Babbler
+Brown-crowned Scimitar-Babbler
+Brown-crowned Scimitar-Babbler (Phayre's)
+Brown-crowned Scimitar-Babbler (albogularis Group)
+Black-crowned/Brown-crowned Scimitar-Babbler
+Red-billed Scimitar-Babbler
+Black-crowned/Red-billed Scimitar-Babbler
+Brown-crowned/Red-billed Scimitar-Babbler
+Slender-billed Scimitar-Babbler
+Streak-breasted Scimitar-Babbler
+Taiwan Scimitar-Babbler
+White-browed Scimitar-Babbler
+Streak-breasted/White-browed Scimitar-Babbler
+Indian Scimitar-Babbler
+Sri Lanka Scimitar-Babbler
+Sunda Scimitar-Babbler
+Javan Scimitar-Babbler
+Pomatorhinus sp.
+Large Scimitar-Babbler
+Rusty-cheeked Scimitar-Babbler
+Spot-breasted Scimitar-Babbler
+Black-streaked Scimitar-Babbler
+Gray-sided Scimitar-Babbler
+Black-necklaced Scimitar-Babbler
+Black-throated Babbler
+White-breasted Babbler
+Chestnut-rumped Babbler
+Gray-throated Babbler
+Gray-headed Babbler
+Nonggang Babbler
+Sooty Babbler
+Sikkim Wedge-billed Babbler
+Cachar Wedge-billed Babbler
+White-necked Babbler
+White-bibbed Babbler
+Snowy-throated Babbler
+Spot-necked Babbler
+Stachyris sp.
+Timaliidae sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/treecreepers.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/treecreepers.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5ce83ab67ac7e7948b4c9d8909eb10284ddff1df
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/treecreepers.txt
@@ -0,0 +1,20 @@
+# Originally sourced from Clements Checklist v2022
+Eurasian Treecreeper
+Hodgson's Treecreeper
+Sichuan Treecreeper
+Brown Creeper
+Brown Creeper (occidentalis Group)
+Brown Creeper (montana/idahoensis)
+Brown Creeper (americana/nigrescens)
+Brown Creeper (albescens/alticola)
+Brown Creeper (pernigra)
+Brown Creeper (extima)
+Short-toed Treecreeper
+Eurasian/Short-toed Treecreeper
+Bar-tailed Treecreeper
+Rusty-flanked Treecreeper
+Sikkim Treecreeper
+Hume's Treecreeper
+treecreeper sp.
+African Spotted Creeper
+Indian Spotted Creeper
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/troupials_and_allies.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/troupials_and_allies.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6d622e5cd9d1aa073e2b32e3211dcd9142833d33
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/troupials_and_allies.txt
@@ -0,0 +1,181 @@
+# Originally sourced from Clements Checklist v2022
+Yellow-headed Blackbird
+Bobolink
+Western Meadowlark
+Eastern Meadowlark
+Eastern Meadowlark (Cuban)
+Eastern Meadowlark (Eastern)
+Western x Eastern Meadowlark (hybrid)
+Western/Eastern Meadowlark
+Chihuahuan Meadowlark
+Western/Chihuahuan Meadowlark
+Eastern/Chihuahuan Meadowlark
+Sturnella meadowlark sp.
+Red-breasted Meadowlark
+White-browed Meadowlark
+Peruvian Meadowlark
+Pampas Meadowlark
+Long-tailed Meadowlark
+Yellow-billed Cacique
+Yellow-billed Cacique (Prevost's)
+Yellow-billed Cacique (Chapman's)
+Yellow-winged Cacique
+Russet-backed Oropendola
+Russet-backed Oropendola (Russet-backed)
+Russet-backed Oropendola (Green-billed)
+Dusky-green Oropendola
+Green Oropendola
+Crested Oropendola
+Chestnut-headed Oropendola
+Montezuma Oropendola
+Black Oropendola
+Baudo Oropendola
+Olive Oropendola
+Olive Oropendola (Amazonian)
+Olive Oropendola (Para)
+oropendola sp.
+Solitary Black Cacique
+Golden-winged Cacique
+Ecuadorian Cacique
+Selva Cacique
+Scarlet-rumped Cacique
+Scarlet-rumped Cacique (Scarlet-rumped)
+Scarlet-rumped Cacique (Pacific)
+Scarlet-rumped Cacique (Subtropical)
+Yellow-rumped Cacique
+Yellow-rumped Cacique (Western)
+Yellow-rumped Cacique (Amazonian)
+Mountain Cacique
+Mountain Cacique (Golden-shouldered)
+Mountain Cacique (Bolivian)
+Band-tailed Cacique
+Red-rumped Cacique
+Casqued Cacique
+cacique sp.
+Hispaniolan Oriole
+Cuban Oriole
+Bahama Oriole
+Puerto Rican Oriole
+St. Lucia Oriole
+Montserrat Oriole
+Martinique Oriole
+Black-vented Oriole
+Bar-winged Oriole
+Black-cowled Oriole
+Orchard Oriole
+Orchard Oriole (Orchard)
+Orchard Oriole (Fuertes's)
+Hooded Oriole
+Hooded Oriole (cucullatus/sennetti)
+Hooded Oriole (nelsoni Group)
+Hooded Oriole (igneus)
+Orchard/Hooded Oriole
+Yellow-backed Oriole
+Orange-crowned Oriole
+White-edged Oriole
+Yellow-tailed Oriole
+White-edged/Yellow-tailed Oriole
+Epaulet Oriole
+Epaulet Oriole (Moriche)
+Epaulet Oriole (Epaulet)
+Variable Oriole
+Variable Oriole (Yellow-shouldered)
+Variable Oriole (Chestnut-shouldered)
+Venezuelan Troupial
+Campo Troupial
+Orange-backed Troupial
+troupial sp.
+Streak-backed Oriole
+Streak-backed Oriole (West Mexican)
+Streak-backed Oriole (Streak-backed)
+Streak-backed Oriole (Tres Marias Is.)
+Black-vented x Streak-backed Oriole (hybrid)
+Bullock's Oriole
+Orange Oriole
+Jamaican Oriole
+Yellow Oriole
+Spot-breasted Oriole
+Altamira Oriole
+Audubon's Oriole
+Audubon's Oriole (Audubon's)
+Audubon's Oriole (Dickey's)
+Altamira x Audubon's Oriole (hybrid)
+Baltimore Oriole
+Bullock's x Baltimore Oriole (hybrid)
+Bullock's/Baltimore Oriole
+Black-backed Oriole
+Bullock's x Black-backed Oriole (hybrid)
+Bullock's/Black-backed Oriole
+Scott's Oriole
+new world oriole sp.
+Jamaican Blackbird
+Red-winged Blackbird
+Red-winged Blackbird (Red-winged)
+Red-winged Blackbird (California Bicolored)
+Red-winged Blackbird (Mexican Bicolored)
+Red-shouldered Blackbird
+Tricolored Blackbird
+Red-winged/Tricolored Blackbird
+Tawny-shouldered Blackbird
+Red-shouldered/Tawny-shouldered Blackbird
+Yellow-shouldered Blackbird
+Screaming Cowbird
+Shiny Cowbird
+Screaming/Shiny Cowbird
+Bronzed Cowbird
+Bronzed Cowbird (Bronzed)
+Bronzed Cowbird (Bronze-brown)
+Shiny/Bronzed Cowbird
+Brown-headed Cowbird
+Shiny/Brown-headed Cowbird
+Bronzed/Brown-headed Cowbird
+Giant Cowbird
+Melodious Blackbird
+Scrub Blackbird
+Cuban Blackbird
+Rusty Blackbird
+Brewer's Blackbird
+Rusty/Brewer's Blackbird
+Common Grackle
+Common Grackle (Purple)
+Common Grackle (Bronzed)
+Boat-tailed Grackle
+Boat-tailed Grackle (major)
+Boat-tailed Grackle (torreyi/alabamensis)
+Boat-tailed Grackle (westoni)
+Great-tailed Grackle
+Great-tailed Grackle (Western)
+Great-tailed Grackle (Great-tailed)
+Brewer's Blackbird x Great-tailed Grackle (hybrid)
+Common x Great-tailed Grackle (hybrid)
+Boat-tailed x Great-tailed Grackle (hybrid)
+Boat-tailed/Great-tailed Grackle
+Slender-billed Grackle
+Nicaraguan Grackle
+Greater Antillean Grackle
+Carib Grackle
+grackle sp.
+Red-bellied Grackle
+Velvet-fronted Grackle
+Oriole Blackbird
+Mountain Grackle
+Golden-tufted Grackle
+Austral Blackbird
+Scarlet-headed Blackbird
+Forbes's Blackbird
+Chopi Blackbird
+Bolivian Blackbird
+Grayish Baywing
+Pale Baywing
+Grayish/Pale Baywing
+Pale-eyed Blackbird
+Unicolored Blackbird
+Unicolored Blackbird (Azara's)
+Unicolored Blackbird (Yellow-breasted)
+Yellow-winged Blackbird
+Chestnut-capped Blackbird
+Yellow-hooded Blackbird
+Saffron-cowled Blackbird
+Yellow-rumped Marshbird
+Brown-and-yellow Marshbird
+blackbird sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/typical_antbirds.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/typical_antbirds.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8a2ceac346544b57efb57d6cbb3d6da194192b7c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/typical_antbirds.txt
@@ -0,0 +1,328 @@
+# Originally sourced from Clements Checklist v2022
+Rufous-rumped Antwren
+Chestnut-shouldered Antwren
+Yellow-rumped Antwren
+Ash-winged Antwren
+Euchrepomis sp.
+Fasciated Antshrike
+Bamboo Antshrike
+Spot-backed Antshrike
+Giant Antshrike
+Large-tailed Antshrike
+Tufted Antshrike
+Black-throated Antshrike
+Undulated Antshrike
+Fulvous Antshrike
+Undulated/Fulvous Antshrike
+Great Antshrike
+Black-crested Antshrike
+Black-crested Antshrike (Streak-fronted)
+Black-crested Antshrike (Black-crested)
+Glossy Antshrike
+Silvery-cheeked Antshrike
+Caatinga Antwren
+White-bearded Antshrike
+Barred Antshrike
+Barred Antshrike (Barred)
+Barred Antshrike (Caatinga)
+Rufous-capped Antshrike
+Rufous-capped Antshrike (Northern)
+Rufous-capped Antshrike (Southern)
+Rufous-winged Antshrike
+Chapman's Antshrike
+Bar-crested Antshrike
+Lined Antshrike
+Chestnut-backed Antshrike
+Inirida Antshrike (undescribed form)
+Collared Antshrike
+Collared Antshrike (Collared)
+Collared Antshrike (shumbae)
+Black-crowned Antshrike
+Black-hooded Antshrike
+Plain-winged Antshrike
+Mouse-colored Antshrike
+Plain-winged/Mouse-colored Antshrike
+Black Antshrike
+Cocha Antshrike
+Castelnau's Antshrike
+Blackish-gray Antshrike
+Northern Slaty-Antshrike
+Northern Slaty-Antshrike (Guianan)
+Northern Slaty-Antshrike (Peruvian)
+Natterer's Slaty-Antshrike
+Bolivian Slaty-Antshrike
+Planalto Slaty-Antshrike
+Sooretama Slaty-Antshrike
+Variable Antshrike
+Uniform Antshrike
+White-shouldered Antshrike
+Upland Antshrike
+Black-backed Antshrike
+Band-tailed Antshrike
+Amazonian Antshrike
+Streak-backed Antshrike
+Acre Antshrike
+Thamnophilus sp.
+Star-throated Antwren
+Pearly Antshrike
+Black Bushbird
+Recurve-billed Bushbird
+Rondonia Bushbird
+Russet Antshrike
+Russet Antshrike (Tawny)
+Russet Antshrike (Andean)
+Rufescent Antshrike
+Russet/Rufescent Antshrike
+antshrike sp.
+Spot-breasted Antvireo
+Plain Antvireo
+Streak-crowned Antvireo
+Spot-crowned Antvireo
+Rufous-backed Antvireo
+Bicolored Antvireo
+Plumbeous Antvireo
+White-streaked Antvireo
+White-streaked Antvireo (White-streaked)
+White-streaked Antvireo (Venezuelan)
+antvireo sp.
+Dusky-throated Antshrike
+Saturnine Antshrike
+Dusky-throated/Saturnine Antshrike
+Cinereous Antshrike
+Bluish-slate Antshrike
+Cinereous/Bluish-slate Antshrike
+Spiny-faced Antshrike
+Plain-throated Antwren
+Rufous-bellied Antwren
+Spot-winged Antshrike
+Checker-throated Stipplethroat
+Brown-bellied Stipplethroat
+White-eyed Stipplethroat
+Rufous-backed Stipplethroat
+Rufous-backed Stipplethroat (Rio Negro)
+Rufous-backed Stipplethroat (Yasuni)
+Rufous-backed Stipplethroat (Rufous-backed)
+Rufous-backed Stipplethroat (Yasuni x Rufous-backed)
+Rio Madeira Stipplethroat
+Rio Madeira Stipplethroat (Madeira)
+Rio Madeira Stipplethroat (Roosevelt)
+Rufous-backed/Rio Madeira Stipplethroat
+Foothill Stipplethroat
+Ornate Stipplethroat
+Ornate Stipplethroat (Western)
+Ornate Stipplethroat (Eastern)
+Rufous-tailed Stipplethroat
+stipplethroat sp.
+Pygmy Antwren
+Moustached Antwren
+Moustached Antwren (Moustached)
+Moustached Antwren (Short-billed)
+Yellow-throated Antwren
+Sclater's Antwren
+Guianan Streaked-Antwren
+Amazonian Streaked-Antwren
+Pacific Antwren
+Cherrie's Antwren
+Klages's Antwren
+Stripe-chested Antwren
+White-flanked Antwren
+White-flanked Antwren (White-flanked)
+White-flanked Antwren (Silvery-flanked)
+Slaty Antwren
+Rio Suno Antwren
+Salvadori's Antwren
+Long-winged Antwren
+Band-tailed Antwren
+Ihering's Antwren
+Ihering's Antwren (Purus)
+Ihering's Antwren (Ihering's)
+Ihering's Antwren (Bamboo)
+Rio de Janeiro Antwren
+Ashy Antwren
+Unicolored Antwren
+Alagoas Antwren
+Plain-winged Antwren
+Gray Antwren
+Leaden Antwren
+Myrmotherula sp.
+Banded Antbird
+Stripe-backed Antbird
+Bahia Antwren
+Black-capped Antwren
+Predicted Antwren
+Aripuana Antwren
+Creamy-bellied Antwren
+Ash-throated Antwren
+Inambari-Tambopata Antwren (undescribed form)
+Loreto Antwren (undescribed form)
+Spot-tailed Antwren
+Dugand's Antwren
+Todd's Antwren
+Ancient Antwren
+Spot-backed Antwren
+Roraiman Antwren
+Pectoral Antwren
+Large-billed Antwren
+Yellow-breasted Antwren
+Rusty-winged Antwren
+Rufous-margined Antwren
+Herpsilochmus sp.
+Dot-winged Antwren
+Dot-winged Antwren (Boucard's)
+Dot-winged Antwren (microstictus)
+Dot-winged Antwren (quixensis)
+Dot-winged Antwren (nigriventris)
+Dot-winged Antwren (White-tailed)
+Dot-winged Antwren (bicolor)
+Dot-winged Antwren (emiliae)
+Narrow-billed Antwren
+Black-hooded Antwren
+White-fringed Antwren
+White-fringed Antwren (Northern)
+White-fringed Antwren (Southern)
+Serra Antwren
+Restinga Antwren
+Black-bellied Antwren
+Rusty-backed Antwren
+Sincora Antwren
+Marsh Antwren
+Marsh Antwren (Parana)
+Marsh Antwren (Sao Paulo)
+antwren sp.
+Ferruginous Antbird
+Bertoni's Antbird
+Rufous-tailed Antbird
+Ochre-rumped Antbird
+Dusky-tailed Antbird
+Scaled Antbird
+Striated Antbird
+East Andean Antbird
+Klages's Antbird
+Santa Marta Antbird
+Streak-headed Antbird
+Drymophila sp.
+Guianan Warbling-Antbird
+Imeri Warbling-Antbird
+Peruvian Warbling-Antbird
+Yellow-breasted Warbling-Antbird
+Rondonia Warbling-Antbird
+Spix's Warbling-Antbird
+Rondonia x Spix's Warbling-Antbird (hybrid)
+Manicore Warbling-Antbird
+warbling-antbird sp.
+Yellow-browed Antbird
+Orange-bellied Antwren
+Streak-capped Antwren
+Willis's Antbird
+Parker's Antbird
+Dusky Antbird
+Dusky Antbird (tyrannina/crepera)
+Dusky Antbird (saturatior/vicina)
+Black Antbird
+Blackish Antbird
+Riparian Antbird
+Blackish/Riparian Antbird
+Cercomacroides sp.
+Manu Antbird
+Gray Antbird
+Rio de Janeiro Antbird
+Mato Grosso Antbird
+Bananal Antbird
+Jet Antbird
+Rio Branco Antbird
+Western Fire-eye
+Western Fire-eye (Pacific)
+Western Fire-eye (Black-bellied)
+Western Fire-eye (Black-headed)
+Western Fire-eye (maura Group)
+Tapajos Fire-eye
+East Amazonian Fire-eye
+Fringe-backed Fire-eye
+White-shouldered Fire-eye
+Slender Antbird
+White-browed Antbird
+Ash-breasted Antbird
+Black-faced Antbird
+Black-tailed Antbird
+White-lined Antbird
+Black-chinned Antbird
+Band-tailed Antbird
+Black-and-white Antbird
+Bare-crowned Antbird
+Silvered Antbird
+Black-headed Antbird
+Black-headed Antbird (Amazonas)
+Black-headed Antbird (Hellmayr's)
+Allpahuayo Antbird
+Slate-colored Antbird
+Roraiman Antbird
+Plumbeous Antbird
+Spot-winged Antbird
+Humaita Antbird
+Brownish-headed Antbird
+Rufous-faced Antbird
+Caura Antbird
+Myrmelastes sp.
+White-bellied Antbird
+Chestnut-backed Antbird
+Chestnut-backed Antbird (Chestnut-backed)
+Chestnut-backed Antbird (Short-tailed)
+Gray-headed Antbird
+Dull-mantled Antbird
+Magdalena Antbird
+Esmeraldas Antbird
+Stub-tailed Antbird
+Chestnut-tailed Antbird
+Chestnut-tailed Antbird (hemimelaena)
+Chestnut-tailed Antbird (pallens)
+Aripuana Antbird (undescribed form)
+Zimmer's Antbird
+Chestnut-tailed/Zimmer's Antbird
+Ferruginous-backed Antbird
+Cordillera Azul Antbird
+Scalloped Antbird
+White-bibbed Antbird
+Squamate Antbird
+White-shouldered Antbird
+Goeldi's Antbird
+Sooty Antbird
+Zeledon's Antbird
+Zeledon's Antbird (Zeledon's)
+Zeledon's Antbird (Choco)
+Blue-lored Antbird
+Blue-lored Antbird (Andean)
+Blue-lored Antbird (Concepcion)
+Yapacana Antbird
+Black-throated Antbird
+Gray-bellied Antbird
+Wing-banded Antbird
+Wing-banded Antbird (Buff-banded)
+Wing-banded Antbird (Wing-banded)
+White-plumed Antbird
+White-masked Antbird
+Bicolored Antbird
+White-cheeked Antbird
+Rufous-throated Antbird
+White-throated Antbird
+Lunulated Antbird
+Bare-eyed Antbird
+Harlequin Antbird
+White-breasted Antbird
+Chestnut-crested Antbird
+Hairy-crested Antbird
+Spotted Antbird
+Spot-backed Antbird
+Dot-backed Antbird
+Common Scale-backed Antbird
+Common Scale-backed Antbird (Common Scale-backed)
+Common Scale-backed Antbird (Buff-breasted)
+Common Scale-backed Antbird (Black-bibbed)
+Common Scale-backed Antbird (Gray-breasted)
+Xingu Scale-backed Antbird
+Xingu Scale-backed Antbird (Tapajos)
+Xingu Scale-backed Antbird (Xingu)
+antbird sp.
+Black-spotted Bare-eye
+Reddish-winged Bare-eye
+Pale-faced Bare-eye
+Ocellated Antbird
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/tyrant_flycatchers.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/tyrant_flycatchers.txt
new file mode 100644
index 0000000000000000000000000000000000000000..58486e8a09fe6097b35cb6173f85875318f1b160
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/tyrant_flycatchers.txt
@@ -0,0 +1,659 @@
+# Originally sourced from Clements Checklist v2022
+Wing-barred Piprites
+Gray-headed Piprites
+Black-capped Piprites
+Cinnamon Manakin-Tyrant
+Kinglet Calyptura
+Cinnamon-crested Spadebill
+Stub-tailed Spadebill
+White-throated Spadebill
+White-throated Spadebill (Western)
+White-throated Spadebill (Eastern)
+Golden-crowned Spadebill
+Yellow-throated Spadebill
+White-crested Spadebill
+Russet-winged Spadebill
+spadebill sp.
+Many-colored Rush Tyrant
+Streak-necked Flycatcher
+Olive-streaked Flycatcher
+Olive-striped Flycatcher
+Streak-necked/Olive-striped Flycatcher
+Ochre-bellied Flycatcher
+McConnell's Flycatcher
+McConnell's Flycatcher (Guianan)
+McConnell's Flycatcher (Inambari)
+Ochre-bellied/McConnell's Flycatcher
+Sierra de Lema Flycatcher
+McConnell's/Sierra de Lema Flycatcher
+Gray-hooded Flycatcher
+Mionectes sp.
+Sepia-capped Flycatcher
+Slaty-capped Flycatcher
+Slaty-capped Flycatcher (transandinus)
+Slaty-capped Flycatcher (superciliaris)
+Slaty-capped Flycatcher (albidiventer)
+Rufous-breasted Flycatcher
+Inca Flycatcher
+Serra do Mar Tyrannulet
+Southern Bristle-Tyrant
+Marble-faced Bristle-Tyrant
+Antioquia Bristle-Tyrant
+Sao Paulo Tyrannulet
+Variegated Bristle-Tyrant
+Venezuelan Bristle-Tyrant
+Spectacled Bristle-Tyrant
+Chapman's Bristle-Tyrant
+Oustalet's Tyrannulet
+Yellow-green Tyrannulet
+Olive-green Tyrannulet
+Mottle-cheeked Tyrannulet
+Bahia Tyrannulet
+Restinga Tyrannulet
+Bay-ringed Tyrannulet
+Alagoas Tyrannulet
+Minas Gerais Tyrannulet
+Rufous-browed Tyrannulet
+Black-fronted Tyrannulet
+Rufous-lored Tyrannulet
+Ecuadorian Tyrannulet
+Cinnamon-faced Tyrannulet
+Phylloscartes sp.
+Bronze-olive Pygmy-Tyrant
+Bronze-olive Pygmy-Tyrant (annectens/berlepschi)
+Bronze-olive Pygmy-Tyrant (pelzelni/peruvianus)
+Hazel-fronted Pygmy-Tyrant
+Rufous-headed Pygmy-Tyrant
+Ringed Antpipit
+Southern Antpipit
+Eared Pygmy-Tyrant
+Maranhao-Piaui Pygmy-Tyrant (undescribed form)
+White-bellied Pygmy-Tyrant
+Black-capped Pygmy-Tyrant
+Short-tailed Pygmy-Tyrant
+Scale-crested Pygmy-Tyrant
+Double-banded Pygmy-Tyrant
+Long-crested Pygmy-Tyrant
+Helmeted Pygmy-Tyrant
+Lophotriccus sp.
+Pale-eyed Pygmy-Tyrant
+Northern Bentbill
+Southern Bentbill
+Snethlage's Tody-Tyrant
+Snethlage's Tody-Tyrant (Igapo)
+Snethlage's Tody-Tyrant (Snethlage's)
+Yungas Tody-Tyrant
+Acre Tody-Tyrant
+Flammulated Pygmy-Tyrant
+Drab-breasted Pygmy-Tyrant
+Brown-breasted Pygmy-Tyrant
+Boat-billed Tody-Tyrant
+White-eyed Tody-Tyrant
+White-bellied Tody-Tyrant
+Eye-ringed Tody-Tyrant
+Johannes's Tody-Tyrant
+Stripe-necked Tody-Tyrant
+Hangnest Tody-Tyrant
+Pearly-vented Tody-Tyrant
+Pelzeln's Tody-Tyrant
+Zimmer's Tody-Tyrant
+Black-throated Tody-Tyrant
+Cinnamon-breasted Tody-Tyrant
+Buff-breasted Tody-Tyrant
+Kaempfer's Tody-Tyrant
+Buff-throated Tody-Tyrant
+Fork-tailed Pygmy-Tyrant
+Hemitriccus sp.
+Rufous-crowned Tody-Flycatcher
+Johnson's Tody-Flycatcher
+White-cheeked Tody-Flycatcher
+Black-and-white Tody-Flycatcher
+Buff-cheeked Tody-Flycatcher
+Ruddy Tody-Flycatcher
+Ochre-faced Tody-Flycatcher
+Smoky-fronted Tody-Flycatcher
+Rusty-fronted Tody-Flycatcher
+Slate-headed Tody-Flycatcher
+Golden-winged Tody-Flycatcher
+Black-backed Tody-Flycatcher
+Poecilotriccus sp.
+Black-chested Tyrant
+Spotted Tody-Flycatcher
+Gray-headed Tody-Flycatcher
+Common Tody-Flycatcher
+Common Tody-Flycatcher (cinereum Group)
+Common Tody-Flycatcher (sclateri)
+Maracaibo Tody-Flycatcher
+Black-headed Tody-Flycatcher
+Painted Tody-Flycatcher
+Yellow-browed Tody-Flycatcher
+Todirostrum sp.
+Brownish Twistwing
+Rufous Twistwing
+Eye-ringed Flatbill
+Olivaceous Flatbill
+Olivaceous Flatbill (Western)
+Olivaceous Flatbill (Eastern)
+Pacific Flatbill
+Fulvous-breasted Flatbill
+flatbill sp.
+Yellow-olive Flycatcher
+Yellow-olive Flycatcher (Gray-headed)
+Yellow-olive Flycatcher (Yellow-olive)
+Yellow-olive Flycatcher (asemus)
+Yellow-olive Flycatcher (confusus)
+Yellow-olive Flycatcher (exortivus)
+Yellow-olive Flycatcher (Trinidad)
+Yellow-olive Flycatcher (Guianan)
+Yellow-olive Flycatcher (Equatorial)
+Yellow-olive Flycatcher (Andes)
+Yellow-olive Flycatcher (Riverine)
+Yellow-olive Flycatcher (Para)
+Yellow-olive Flycatcher (inornatus)
+Yellow-olive Flycatcher (Mato Grosso)
+Yellow-olive Flycatcher (grisescens)
+Yellow-olive Flycatcher (Sooretama)
+Orange-eyed Flycatcher
+Yellow-winged Flycatcher
+Yellow-margined Flycatcher
+Yellow-margined Flycatcher (neglectus)
+Yellow-margined Flycatcher (examinatus)
+Yellow-margined Flycatcher (obscuriceps)
+Yellow-margined Flycatcher (assimilis Group)
+Yellow-margined Flycatcher (Sucunduri)
+Yellow-margined Flycatcher (paraensis)
+Gray-crowned Flycatcher
+Olive-faced Flycatcher
+Ochre-lored Flycatcher
+Olive-faced/Ochre-lored Flycatcher
+Tolmomyias sp.
+Cinnamon Flycatcher
+Cinnamon Flycatcher (Santa Marta)
+Cinnamon Flycatcher (Venezuelan)
+Cinnamon Flycatcher (Andean)
+Cliff Flycatcher
+Cliff Flycatcher (Cliff)
+Cliff Flycatcher (Swallow)
+Ornate Flycatcher
+Ornate Flycatcher (Western)
+Ornate Flycatcher (Eastern)
+Handsome Flycatcher
+Orange-banded Flycatcher
+Ochraceous-breasted Flycatcher
+Yellow-bellied Tyrannulet
+Brown-capped Tyrannulet
+White-lored Tyrannulet
+Northern Beardless-Tyrannulet
+Southern Beardless-Tyrannulet
+Southern Beardless-Tyrannulet (Northern)
+Southern Beardless-Tyrannulet (Southern)
+Suiriri Flycatcher
+White-tailed Tyrannulet
+Buff-banded Tyrannulet
+White-banded Tyrannulet
+White-throated Tyrannulet
+Rufous-winged Tyrannulet
+Sulphur-bellied Tyrannulet
+Black-crested Tit-Tyrant
+Pied-crested Tit-Tyrant
+Ash-breasted Tit-Tyrant
+Yellow-billed Tit-Tyrant
+Tufted Tit-Tyrant
+Juan Fernandez Tit-Tyrant
+Anairetes sp.
+Agile Tit-Tyrant
+Unstreaked Tit-Tyrant
+Tumbes Tyrannulet
+Marañon Tyrannulet
+Tumbes/Marañon Tyrannulet
+Northern Mouse-colored Tyrannulet
+Cocos Tyrannulet
+Southern Mouse-colored Tyrannulet
+Northern/Southern Mouse-colored Tyrannulet
+Nesotriccus sp.
+Yellow Tyrannulet
+Bearded Tachuri
+Gray-backed Tachuri
+Sharp-tailed Tyrant
+Crested Doradito
+Subtropical Doradito
+Dinelli's Doradito
+Warbling Doradito
+Ticking Doradito
+Warbling/Ticking Doradito
+doradito sp.
+Yellow-crowned Tyrannulet
+Forest Elaenia
+Choco Elaenia
+Amazonian Elaenia
+Foothill Elaenia
+Foothill Elaenia (Antioquia)
+Foothill Elaenia (Perija)
+Foothill Elaenia (Foothill)
+Gray-headed Elaenia
+Pacific Elaenia
+Yellow-crowned Elaenia
+Jamaican Elaenia
+Greenish Elaenia
+Greenish Elaenia (West Mexico)
+Greenish Elaenia (Greenish)
+elaenia sp. (genus Myiopagis)
+Plain-crested Elaenia
+Rufous-crowned Elaenia
+Slaty Elaenia
+Mottle-backed Elaenia
+Small-headed Elaenia
+Great Elaenia
+Highland Elaenia
+Yellow-bellied Elaenia
+Small-billed Elaenia
+Brownish Elaenia
+Large Elaenia
+Noronha Elaenia
+Olivaceous Elaenia
+Lesser Elaenia
+Coopmans's Elaenia
+White-crested Elaenia
+White-crested Elaenia (White-crested)
+White-crested Elaenia (Chilean)
+White-crested Elaenia (Peruvian)
+Small-billed/White-crested Elaenia
+Sierran Elaenia
+Mountain Elaenia
+Tepui Elaenia
+Caribbean Elaenia
+Caribbean Elaenia (Caribbean)
+Caribbean Elaenia (Chinchorro)
+Greater Antillean Elaenia
+Greater Antillean Elaenia (Jamaican)
+Greater Antillean Elaenia (Hispaniolan)
+elaenia sp. (genus Elaenia)
+Torrent Tyrannulet
+River Tyrannulet
+Sooty Tyrannulet
+White-crested Tyrannulet
+White-crested Tyrannulet (Sulphur-bellied)
+White-crested Tyrannulet (White-bellied)
+Straneck's Tyrannulet
+White-crested/Straneck's Tyrannulet
+Serpophaga sp.
+White-fronted Tyrannulet
+White-fronted Tyrannulet (Zeledon's)
+White-fronted Tyrannulet (White-fronted)
+Rough-legged Tyrannulet
+Greenish Tyrannulet
+Reiser's Tyrannulet
+Urich's Tyrannulet
+Sclater's Tyrannulet
+Planalto Tyrannulet
+Yungas Tyrannulet
+Sooty-headed Tyrannulet
+Sooty-headed Tyrannulet (griseiceps)
+Sooty-headed Tyrannulet (cristatus)
+Sooty-headed Tyrannulet (caucae)
+Sooty-headed Tyrannulet (pallidiceps)
+Black-capped Tyrannulet
+Ashy-headed Tyrannulet
+Tawny-rumped Tyrannulet
+Plumbeous-crowned Tyrannulet
+Gray-capped Tyrannulet
+Phyllomyias sp.
+Red-billed Tyrannulet
+Mishana Tyrannulet
+Chico's Tyrannulet
+Guianan Tyrannulet
+Guatemalan Tyrannulet
+Mistletoe Tyrannulet
+Guatemalan/Mistletoe Tyrannulet
+Choco Tyrannulet
+Spectacled Tyrannulet
+Golden-faced Tyrannulet
+Golden-faced Tyrannulet (Coopmans's)
+Golden-faced Tyrannulet (Golden-faced)
+Peruvian Tyrannulet
+Peruvian Tyrannulet (Loja)
+Peruvian Tyrannulet (Peruvian)
+Peruvian Tyrannulet (Amazonas)
+Bolivian Tyrannulet
+Venezuelan Tyrannulet
+Slender-footed Tyrannulet
+Zimmerius sp.
+Fulvous-faced Scrub-Tyrant
+Fulvous-crowned Scrub-Tyrant
+Rufous-sided Scrub-Tyrant
+Gray-and-white Tyrannulet
+Lesser Wagtail-Tyrant
+Bahia Wagtail-Tyrant
+Orinoco Wagtail-Tyrant (undescribed form)
+Greater Wagtail-Tyrant
+Greater Wagtail-Tyrant (Greater)
+Greater Wagtail-Tyrant (Caatinga)
+Slender-billed Tyrannulet
+Plain Tyrannulet
+Amazonian Tyrannulet
+Pale-tipped Tyrannulet
+Flavescent Flycatcher
+Orange-crested Flycatcher
+Unadorned Flycatcher
+Roraiman Flycatcher
+Olive-chested Flycatcher
+Bran-colored Flycatcher
+Mouse-gray Flycatcher
+Bran-colored/Mouse-gray Flycatcher
+Rufescent Flycatcher
+Mouse-gray/Rufescent Flycatcher
+Myiophobus sp.
+Euler's Flycatcher
+Euler's Flycatcher (Lawrence's)
+Euler's Flycatcher (Euler's)
+Gray-breasted Flycatcher
+Tawny-chested Flycatcher
+Black-billed Flycatcher
+Belted Flycatcher
+Pileated Flycatcher
+Tufted Flycatcher
+Tufted Flycatcher (Mexican)
+Tufted Flycatcher (Costa Rican)
+Tufted Flycatcher (South American)
+Olive Flycatcher
+Olive-sided Flycatcher
+Ochraceous Pewee
+Greater Pewee
+Greater Pewee (Mexican)
+Greater Pewee (Central American)
+Dark Pewee
+Smoke-colored Pewee
+Jamaican Pewee
+Tumbes Pewee
+White-throated Pewee
+Blackish Pewee
+Southern Tropical Pewee
+Western Wood-Pewee
+Northern Tropical Pewee
+tropical pewee sp.
+Eastern Wood-Pewee
+Western x Eastern Wood-Pewee (hybrid)
+Western/Eastern Wood-Pewee
+Cuban Pewee
+Hispaniolan Pewee
+Lesser Antillean Pewee
+Lesser Antillean Pewee (Lesser Antilles)
+Lesser Antillean Pewee (Puerto Rico)
+Lesser Antillean Pewee (St. Lucia)
+pewee sp. (Contopus sp.)
+Fuscous Flycatcher
+Fuscous Flycatcher (Campina)
+Fuscous Flycatcher (Fuscous)
+Yellow-bellied Flycatcher
+Acadian Flycatcher
+Alder Flycatcher
+Willow Flycatcher
+Willow Flycatcher (Eastern)
+Willow Flycatcher (Northwestern)
+Willow Flycatcher (Southwestern)
+Alder/Willow Flycatcher (Traill's Flycatcher)
+White-throated Flycatcher
+Least Flycatcher
+Hammond's Flycatcher
+Gray Flycatcher
+Dusky Flycatcher
+Hammond's/Dusky Flycatcher
+Gray/Dusky Flycatcher
+Pine Flycatcher
+Pacific-slope Flycatcher
+Cordilleran Flycatcher
+Pacific-slope x Cordilleran Flycatcher (hybrid)
+Pacific-slope/Cordilleran Flycatcher (Western Flycatcher)
+Yellowish Flycatcher
+Buff-breasted Flycatcher
+Black-capped Flycatcher
+Empidonax sp.
+Black Phoebe
+Black Phoebe (Northern)
+Black Phoebe (White-winged)
+Eastern Phoebe
+Black x Eastern Phoebe (hybrid)
+Say's Phoebe
+Black x Say's Phoebe (hybrid)
+phoebe sp.
+Chapada Flycatcher
+Suiriri/Chapada Flycatcher
+Northern Scrub-Flycatcher
+Amazonian Scrub-Flycatcher
+Southern Scrub-Flycatcher
+scrub-flycatcher sp.
+Vermilion Flycatcher
+Vermilion Flycatcher (Northern)
+Vermilion Flycatcher (saturatus)
+Vermilion Flycatcher (obscurus Group)
+Vermilion Flycatcher (Austral)
+Brujo Flycatcher
+Brujo Flycatcher (Galapagos)
+Brujo Flycatcher (San Cristobal)
+Austral Negrito
+Andean Negrito
+Austral/Andean Negrito
+Riverside Tyrant
+Riverside Tyrant (Riverside)
+Riverside Tyrant (Sclater's)
+Rufous-tailed Tyrant
+Amazonian Black-Tyrant
+Caatinga Black-Tyrant
+Crested Black-Tyrant
+Velvety Black-Tyrant
+Jelski's Black-Tyrant
+Plumbeous Black-Tyrant
+Jelski's/Plumbeous Black-Tyrant
+Blue-billed Black-Tyrant
+Cinereous Tyrant
+White-winged Black-Tyrant
+White-winged Black-Tyrant (White-rumped)
+White-winged Black-Tyrant (White-winged)
+Hudson's Black-Tyrant
+White-winged/Hudson's Black-Tyrant
+black-tyrant sp.
+Spectacled Tyrant
+Drab Water Tyrant
+Yellow-browed Tyrant
+Little Ground-Tyrant
+Spot-billed Ground-Tyrant
+Taczanowski's Ground-Tyrant
+Puna Ground-Tyrant
+Cinereous Ground-Tyrant
+White-fronted Ground-Tyrant
+Ochre-naped Ground-Tyrant
+Rufous-naped Ground-Tyrant
+Rufous-naped Ground-Tyrant (Chestnut-naped)
+Rufous-naped Ground-Tyrant (pallidiceps)
+Rufous-naped Ground-Tyrant (Rufous-naped)
+Dark-faced Ground-Tyrant
+Dark-faced Ground-Tyrant (mentalis)
+Dark-faced Ground-Tyrant (maclovianus)
+White-browed Ground-Tyrant
+Plain-capped Ground-Tyrant
+Cinnamon-bellied Ground-Tyrant
+Black-fronted Ground-Tyrant
+ground-tyrant sp.
+Red-rumped Bush-Tyrant
+Rufous-webbed Bush-Tyrant
+Fire-eyed Diucon
+White-rumped Monjita
+White Monjita
+Gray Monjita
+Black-crowned Monjita
+Salinas Monjita
+Rusty-backed Monjita
+Chocolate-vented Tyrant
+Black-billed Shrike-Tyrant
+White-tailed Shrike-Tyrant
+Great Shrike-Tyrant
+Gray-bellied Shrike-Tyrant
+Gray-bellied Shrike-Tyrant (andecola)
+Gray-bellied Shrike-Tyrant (micropterus)
+Lesser Shrike-Tyrant
+shrike-tyrant sp.
+Streak-throated Bush-Tyrant
+Santa Marta Bush-Tyrant
+Smoky Bush-Tyrant
+Rufous-bellied Bush-Tyrant
+Myiotheretes sp.
+White-headed Marsh Tyrant
+Pied Water-Tyrant
+Black-backed Water-Tyrant
+Masked Water-Tyrant
+Shear-tailed Gray Tyrant
+Streamer-tailed Tyrant
+Black-and-white Monjita
+Cock-tailed Tyrant
+Strange-tailed Tyrant
+Crowned Chat-Tyrant
+Crowned Chat-Tyrant (Crowned)
+Crowned Chat-Tyrant (Kalinowski's)
+Jelski's Chat-Tyrant
+Golden-browed Chat-Tyrant
+Yellow-bellied Chat-Tyrant
+Patagonian Tyrant
+Tumbes Chat-Tyrant
+Chestnut-bellied Chat-Tyrant
+Blackish Chat-Tyrant
+Maroon-belted Chat-Tyrant
+Rufous-breasted Chat-Tyrant
+Brown-backed Chat-Tyrant
+Rufous-browed Chat-Tyrant
+d'Orbigny's Chat-Tyrant
+Piura Chat-Tyrant
+White-browed Chat-Tyrant
+chat-tyrant sp.
+Long-tailed Tyrant
+Short-tailed Field Tyrant
+Large-headed Flatbill
+Rufous-tailed Flatbill
+Flammulated Flycatcher
+Dusky-tailed Flatbill
+Ramphotrigon sp.
+Rufous-tailed Attila
+Cinnamon Attila
+Ochraceous Attila
+Citron-bellied Attila
+Dull-capped Attila
+Gray-hooded Attila
+Bright-rumped Attila
+Bright-rumped Attila (Northern)
+Bright-rumped Attila (Southern)
+attila sp.
+Choco Sirystes
+White-rumped Sirystes
+Todd's Sirystes
+Sibilant Sirystes
+sirystes sp.
+Rufous Casiornis
+Ash-throated Casiornis
+Rufous Mourner
+Grayish Mourner
+Pale-bellied Mourner
+Rufous Flycatcher
+Yucatan Flycatcher
+Sad Flycatcher
+Dusky-capped Flycatcher
+Dusky-capped Flycatcher (olivascens)
+Dusky-capped Flycatcher (lawrenceii Group)
+Dusky-capped Flycatcher (tuberculifer/pallidus)
+Dusky-capped Flycatcher (nigriceps/atriceps)
+Swainson's Flycatcher
+Swainson's Flycatcher (phaeonotus)
+Swainson's Flycatcher (swainsoni Group)
+Venezuelan Flycatcher
+Panama Flycatcher
+Venezuelan/Panama Flycatcher
+Short-crested Flycatcher
+Apical Flycatcher
+Sooty-crowned Flycatcher
+Sooty-crowned Flycatcher (phaeocephalus)
+Sooty-crowned Flycatcher (interior)
+Pale-edged Flycatcher
+Ash-throated Flycatcher
+Nutting's Flycatcher
+Nutting's Flycatcher (Nutting's)
+Nutting's Flycatcher (flavidior)
+Ash-throated/Nutting's Flycatcher
+Great Crested Flycatcher
+Brown-crested Flycatcher
+Brown-crested Flycatcher (Arizona)
+Brown-crested Flycatcher (Cooper's)
+Brown-crested Flycatcher (Ometepe)
+Brown-crested Flycatcher (South American)
+Galapagos Flycatcher
+Grenada Flycatcher
+Rufous-tailed Flycatcher
+La Sagra's Flycatcher
+Stolid Flycatcher
+Puerto Rican Flycatcher
+Lesser Antillean Flycatcher
+Myiarchus sp.
+Cattle Tyrant
+Lesser Kiskadee
+Great Kiskadee
+Boat-billed Flycatcher
+Boat-billed Flycatcher (Northern)
+Boat-billed Flycatcher (South American)
+Boat-billed Flycatcher (Tumbes)
+Rusty-margined Flycatcher
+Social Flycatcher
+Social Flycatcher (Vermilion-crowned)
+Social Flycatcher (Social)
+Social Flycatcher (Tumbes)
+Rusty-margined/Social Flycatcher
+Gray-capped Flycatcher
+Dusky-chested Flycatcher
+Gray-capped/Dusky-chested Flycatcher
+White-bearded Flycatcher
+White-ringed Flycatcher
+Yellow-throated Flycatcher
+Three-striped Flycatcher
+Yellow-throated/Three-striped Flycatcher
+Lemon-browed Flycatcher
+Golden-bellied Flycatcher
+Golden-crowned Flycatcher
+Baird's Flycatcher
+Streaked Flycatcher
+Streaked Flycatcher (Northern)
+Streaked Flycatcher (Southern)
+Sulphur-bellied Flycatcher
+Streaked/Sulphur-bellied Flycatcher
+Piratic Flycatcher
+Variegated Flycatcher
+Crowned Slaty Flycatcher
+Sulphury Flycatcher
+Snowy-throated Kingbird
+White-throated Kingbird
+Tropical Kingbird
+White-throated/Tropical Kingbird
+Couch's Kingbird
+Tropical/Couch's Kingbird
+Cassin's Kingbird
+Thick-billed Kingbird
+Western Kingbird
+Couch's x Western Kingbird (hybrid)
+Cassin's/Western Kingbird
+yellow-bellied kingbird sp.
+Eastern Kingbird
+Western x Eastern Kingbird (hybrid)
+Gray Kingbird
+Tropical x Gray Kingbird (hybrid)
+Loggerhead Kingbird
+Loggerhead Kingbird (Loggerhead)
+Loggerhead Kingbird (Puerto Rico)
+Loggerhead Kingbird (Hispaniolan)
+Giant Kingbird
+Scissor-tailed Flycatcher
+Tropical Kingbird x Scissor-tailed Flycatcher (hybrid)
+Couch's Kingbird x Scissor-tailed Flycatcher (hybrid)
+Western Kingbird x Scissor-tailed Flycatcher (hybrid)
+Fork-tailed Flycatcher
+Fork-tailed Flycatcher (savana)
+Fork-tailed Flycatcher (monachus)
+Fork-tailed Flycatcher (sanctaemartae)
+Fork-tailed Flycatcher (circumdatus)
+Tropical Kingbird x Fork-tailed Flycatcher (hybrid)
+Tyrannus sp.
+new world flycatcher sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/vangas,_helmetshrikes,_and_allies.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/vangas,_helmetshrikes,_and_allies.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9e77a2d263919e276cccef58bc6d958c201aab61
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/vangas,_helmetshrikes,_and_allies.txt
@@ -0,0 +1,61 @@
+# Originally sourced from Clements Checklist v2022
+White Helmetshrike
+White Helmetshrike (Long-crested)
+White Helmetshrike (Yellow-eyed)
+Gray-crested Helmetshrike
+Yellow-crested Helmetshrike
+Red-billed Helmetshrike
+Red-billed Helmetshrike (Red-billed)
+Red-billed Helmetshrike (Gray-cheeked)
+Rufous-bellied Helmetshrike
+Retz's Helmetshrike
+Angola Helmetshrike
+Chestnut-fronted Helmetshrike
+African Shrike-flycatcher
+Black-and-white Shrike-flycatcher
+Malabar Woodshrike
+Large Woodshrike
+Common Woodshrike
+Malabar/Common Woodshrike
+Large/Common Woodshrike
+Sri Lanka Woodshrike
+Bar-winged Flycatcher-shrike
+Black-winged Flycatcher-shrike
+Rufous-winged Philentoma
+Maroon-breasted Philentoma
+Rufous-winged/Maroon-breasted Philentoma
+Archbold's Newtonia
+Common Newtonia
+Dark Newtonia
+Dark Newtonia (amphichroa)
+Dark Newtonia (lavarambo)
+Red-tailed Newtonia
+Tylas Vanga
+Tylas Vanga (Eduard's)
+Tylas Vanga (White-throated)
+Red-tailed Vanga
+Red-shouldered Vanga
+Nuthatch-Vanga
+Chabert Vanga
+Chabert Vanga (Chabert)
+Chabert Vanga (White-tailed)
+Crossley's Vanga
+Comoros Blue Vanga
+Madagascar Blue Vanga
+Hook-billed Vanga
+Hook-billed Vanga (Hook-billed)
+Hook-billed Vanga (Black-crowned)
+Ward's Flycatcher
+Rufous Vanga
+Rufous Vanga (rufa)
+Rufous Vanga (occidentalis)
+Helmet Vanga
+Bernier's Vanga
+Sickle-billed Vanga
+White-headed Vanga
+White-headed Vanga (viridis)
+White-headed Vanga (annae)
+Pollen's Vanga
+Lafresnaye's Vanga
+Van Dam's Vanga
+Vangidae sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/vireos,_shrike-babblers,_and_erpornis.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/vireos,_shrike-babblers,_and_erpornis.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ede307ebc3dba245f234a3515d5aa5c39cc33703
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/vireos,_shrike-babblers,_and_erpornis.txt
@@ -0,0 +1,125 @@
+# Originally sourced from Clements Checklist v2022
+Black-headed Shrike-Babbler
+Pied Shrike-Babbler
+White-browed Shrike-Babbler
+White-browed Shrike-Babbler (Himalayan)
+White-browed Shrike-Babbler (Chestnut-winged)
+White-browed Shrike-Babbler (Gray-breasted)
+White-browed Shrike-Babbler (Blyth's)
+White-browed Shrike-Babbler (Dalat)
+Green Shrike-Babbler
+Green Shrike-Babbler (Black-crowned)
+Green Shrike-Babbler (Eye-ringed)
+Black-eared Shrike-Babbler
+Trilling Shrike-Babbler
+Clicking Shrike-Babbler
+Clicking Shrike-Babbler (Garo Hills)
+Clicking Shrike-Babbler (Clicking)
+shrike-babbler sp.
+White-bellied Erpornis
+Rufous-browed Peppershrike
+Rufous-browed Peppershrike (Northern)
+Rufous-browed Peppershrike (Cozumel I.)
+Rufous-browed Peppershrike (Yellow-backed)
+Rufous-browed Peppershrike (Chaco)
+Rufous-browed Peppershrike (Ochre-crowned)
+Black-billed Peppershrike
+Rufous-browed/Black-billed Peppershrike
+Gray-eyed Greenlet
+Rufous-crowned Greenlet
+Olivaceous Greenlet
+Ashy-headed Greenlet
+Scrub Greenlet
+Scrub Greenlet (Yellow-green)
+Scrub Greenlet (Scrub)
+Scrub Greenlet (Tobago)
+Gray-chested Greenlet
+Brown-headed Greenlet
+Lemon-chested Greenlet
+Lemon-chested Greenlet (Lemon-chested)
+Lemon-chested Greenlet (Rio de Janeiro)
+Chestnut-sided Shrike-Vireo
+Green Shrike-Vireo
+Yellow-browed Shrike-Vireo
+Slaty-capped Shrike-Vireo
+Slaty-capped Shrike-Vireo (Pale-legged)
+Slaty-capped Shrike-Vireo (Slaty-capped)
+Tawny-crowned Greenlet
+Tawny-crowned Greenlet (Tawny-crowned)
+Tawny-crowned Greenlet (Rufous-fronted)
+Tawny-crowned Greenlet (Olive-crowned)
+Tawny-crowned Greenlet (Red-fronted)
+Lesser Greenlet
+Lesser Greenlet (Northern)
+Lesser Greenlet (Gray-headed)
+Dusky-capped Greenlet
+Buff-cheeked Greenlet
+Golden-fronted Greenlet
+Rufous-naped Greenlet
+greenlet sp.
+Golden Vireo
+Blue Mountain Vireo
+Slaty Vireo
+Black-capped Vireo
+Dwarf Vireo
+White-eyed Vireo
+White-eyed Vireo (White-eyed)
+White-eyed Vireo (Veracruz)
+Thick-billed Vireo
+Mangrove Vireo
+Mangrove Vireo (West Mexico)
+Mangrove Vireo (Northern Central America)
+Mangrove Vireo (Providencia)
+Mangrove Vireo (Southern Central America)
+Cozumel Vireo
+San Andres Vireo
+Jamaican Vireo
+Cuban Vireo
+Puerto Rican Vireo
+Flat-billed Vireo
+Bell's Vireo
+Bell's Vireo (Eastern)
+Bell's Vireo (Arizona)
+Bell's Vireo (Least)
+Gray Vireo
+Hutton's Vireo
+Hutton's Vireo (Pacific)
+Hutton's Vireo (Interior)
+Yellow-throated Vireo
+Yellow-winged Vireo
+Choco Vireo
+Cassin's Vireo
+Cassin's Vireo (Cassin's)
+Cassin's Vireo (San Lucas)
+Blue-headed Vireo
+Yellow-throated x Blue-headed Vireo (hybrid)
+Cassin's/Blue-headed Vireo
+Plumbeous Vireo
+Plumbeous Vireo (Plumbeous)
+Plumbeous Vireo (Central American)
+Plumbeous x Blue-headed Vireo (hybrid)
+Cassin's/Plumbeous Vireo
+solitary vireo sp.
+Tepui Vireo
+Philadelphia Vireo
+Warbling Vireo
+Warbling Vireo (Eastern)
+Warbling Vireo (Western)
+Philadelphia/Warbling Vireo
+Brown-capped Vireo
+Red-eyed Vireo
+Philadelphia/Red-eyed Vireo
+Philadelphia x Red-eyed Vireo (hybrid)
+Warbling x Red-eyed Vireo (hybrid)
+Chivi Vireo
+Chivi Vireo (resident)
+Chivi Vireo (migratory)
+Red-eyed/Chivi Vireo
+Noronha Vireo
+Yellow-green Vireo
+Red-eyed/Yellow-green Vireo
+Black-whiskered Vireo
+Red-eyed/Black-whiskered Vireo
+Yucatan Vireo
+vireo sp. (Red-eyed Vireo complex)
+vireo sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/wagtails_and_pipits.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/wagtails_and_pipits.txt
new file mode 100644
index 0000000000000000000000000000000000000000..560b36cc4d7f3d1fc8dc83380df6555c6e24eb20
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/wagtails_and_pipits.txt
@@ -0,0 +1,145 @@
+# Originally sourced from Clements Checklist v2022
+Forest Wagtail
+Cape Wagtail
+Mountain Wagtail
+Sao Tome Short-tail
+Madagascar Wagtail
+Gray Wagtail
+Western Yellow Wagtail
+Western Yellow Wagtail (lutea/flavissima)
+Western Yellow Wagtail (flavissima)
+Western Yellow Wagtail (lutea)
+Western Yellow Wagtail (thunbergi)
+Western Yellow Wagtail (flava/beema)
+Western Yellow Wagtail (flava)
+Western Yellow Wagtail (beema)
+Western Yellow Wagtail (iberiae/cinereocapilla/pygmaea)
+Western Yellow Wagtail (iberiae)
+Western Yellow Wagtail (cinereocapilla)
+Western Yellow Wagtail (pygmaea)
+Western Yellow Wagtail (feldegg)
+Western Yellow Wagtail (leucocephala)
+Western Yellow Wagtail (Channel Wagtail intergrade)
+Western Yellow Wagtail (superciliaris-type intergrade)
+Western Yellow Wagtail (dombrowskii-type intergrade)
+Western Yellow Wagtail (xanthophrys-type intergrade)
+Eastern Yellow Wagtail
+Eastern Yellow Wagtail (Eastern)
+Eastern Yellow Wagtail (Green-headed)
+Eastern Yellow Wagtail (Manchurian)
+Western/Eastern Yellow Wagtail
+Citrine Wagtail
+Citrine Wagtail (Gray-backed)
+Citrine Wagtail (Black-backed)
+Western Yellow x Citrine Wagtail (hybrid)
+Eastern Yellow/Citrine Wagtail
+White-browed Wagtail
+Mekong Wagtail
+Japanese Wagtail
+African Pied Wagtail
+White Wagtail
+White Wagtail (White-faced)
+White Wagtail (British)
+White Wagtail (ocularis)
+White Wagtail (Moroccan)
+White Wagtail (Masked)
+White Wagtail (Transbaikalian)
+White Wagtail (White-faced/Transbaikalian)
+White Wagtail (Black-backed)
+White Wagtail (Chinese)
+White Wagtail (Hodgson's)
+White Wagtail (Chinese x Hodgson's)
+White-browed/White Wagtail
+wagtail sp.
+Australian Pipit
+New Zealand Pipit
+Richard's Pipit
+Paddyfield Pipit
+Richard's/Paddyfield Pipit
+African Pipit
+African Pipit (Cameroon)
+African Pipit (Yemen)
+African Pipit (African)
+African Pipit (Jackson's)
+African Pipit (Etosha)
+Mountain Pipit
+Woodland Pipit
+Long-billed Pipit
+Long-billed Pipit (West African)
+Long-billed Pipit (Middle Eastern)
+Long-billed Pipit (Arabian)
+Long-billed Pipit (Socotra)
+Long-billed Pipit (Nairobi)
+Long-billed Pipit (East African)
+Long-billed Pipit (Persian)
+Long-billed Pipit (Indian)
+Long-billed Pipit (Burmese)
+Nicholson's Pipit
+Blyth's Pipit
+Richard's/Blyth's Pipit
+Tawny Pipit
+Plain-backed Pipit
+Buffy Pipit
+Long-legged Pipit
+Nilgiri Pipit
+Upland Pipit
+Berthelot's Pipit
+Malindi Pipit
+Striped Pipit
+Yellow-tufted Pipit
+Madanga
+Alpine Pipit
+Meadow Pipit
+Rosy Pipit
+Tree Pipit
+Meadow/Tree Pipit
+Olive-backed Pipit
+Tree/Olive-backed Pipit
+Pechora Pipit
+Pechora Pipit (Pechora)
+Pechora Pipit (Menzbier's)
+Red-throated Pipit
+Water Pipit
+Water Pipit (Western)
+Water Pipit (Caucasian)
+Water Pipit (Blakiston's)
+Meadow/Water Pipit
+Rock Pipit
+Rock Pipit (Western)
+Rock Pipit (Eastern)
+Water/Rock Pipit
+American Pipit
+American Pipit (japonicus)
+American Pipit (rubescens Group)
+Water/American Pipit
+Sprague's Pipit
+Yellowish Pipit
+Peruvian Pipit
+Puna Pipit
+Short-billed Pipit
+Puna/Short-billed Pipit
+Pampas Pipit
+Correndera Pipit
+Correndera Pipit (Correndera)
+Correndera Pipit (Falklands)
+South Georgia Pipit
+Ochre-breasted Pipit
+Hellmayr's Pipit
+Paramo Pipit
+Paramo Pipit (meridae)
+Paramo Pipit (bogotensis Group)
+Short-tailed Pipit
+Bush Pipit
+Sokoke Pipit
+pipit sp.
+Golden Pipit
+Yellow-breasted Pipit
+Sharpe's Longclaw
+Orange-throated Longclaw
+Yellow-throated Longclaw
+Fülleborn's Longclaw
+Abyssinian Longclaw
+Pangani Longclaw
+Rosy-throated Longclaw
+Grimwood's Longclaw
+longclaw sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/wallcreeper.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/wallcreeper.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a4eb8a69c7e17f4ce4337566f09373935b68c41d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/wallcreeper.txt
@@ -0,0 +1,2 @@
+# Originally sourced from Clements Checklist v2022
+Wallcreeper
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/wattle-eyes_and_batises.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/wattle-eyes_and_batises.txt
new file mode 100644
index 0000000000000000000000000000000000000000..cd79e70417d5ee379ac9ef719dc65ffd077a5c81
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/wattle-eyes_and_batises.txt
@@ -0,0 +1,47 @@
+# Originally sourced from Clements Checklist v2022
+White-tailed Shrike
+Brown-throated Wattle-eye
+White-fronted Wattle-eye
+Black-throated Wattle-eye
+Banded Wattle-eye
+Chestnut Wattle-eye
+West African Wattle-eye
+White-spotted Wattle-eye
+Red-cheeked Wattle-eye
+Black-necked Wattle-eye
+Jameson's Wattle-eye
+Yellow-bellied Wattle-eye
+Yellow-bellied Wattle-eye (West African)
+Yellow-bellied Wattle-eye (Angola)
+Yellow-bellied Wattle-eye (Central African)
+Yellow-bellied Wattle-eye (Kungwe)
+wattle-eye sp.
+Boulton's Batis
+Boulton's Batis (Angolan)
+Boulton's Batis (Eastern)
+Short-tailed Batis
+Short-tailed Batis (Short-tailed)
+Short-tailed Batis (Reichenow's)
+Dark Batis
+Rwenzori Batis
+Cape Batis
+Cape Batis (Gray-mantled)
+Cape Batis (Cape)
+Malawi Batis
+Cape/Malawi Batis
+Woodwards' Batis
+Chinspot Batis
+Pale Batis
+Pririt Batis
+Senegal Batis
+Gray-headed Batis
+Western Black-headed Batis
+Eastern Black-headed Batis
+Western/Eastern Black-headed Batis
+Pygmy Batis
+Verreaux's Batis
+Ituri Batis
+Bioko Batis
+West African Batis
+Angola Batis
+batis sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/wattlebirds.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/wattlebirds.txt
new file mode 100644
index 0000000000000000000000000000000000000000..343900190c1d6121824993d7f191585068bb3e1d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/wattlebirds.txt
@@ -0,0 +1,6 @@
+# Originally sourced from Clements Checklist v2022
+North Island Kokako
+South Island Kokako
+North Island Saddleback
+South Island Saddleback
+Huia
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/waxbills_and_allies.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/waxbills_and_allies.txt
new file mode 100644
index 0000000000000000000000000000000000000000..971f57b19a4512f8788c66097195ef07c534244d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/waxbills_and_allies.txt
@@ -0,0 +1,194 @@
+# Originally sourced from Clements Checklist v2022
+Pictorella Munia
+Mountain Firetail
+Diamond Firetail
+Red-eared Firetail
+Beautiful Firetail
+Crimson Finch
+Crimson Finch (White-bellied)
+Crimson Finch (Black-bellied)
+Red-browed Firetail
+Painted Firetail
+Star Finch
+Plum-headed Finch
+Double-barred Finch
+Zebra Finch
+Zebra Finch (Lesser Sundas)
+Zebra Finch (Australian)
+Zebra Finch (Domestic type)
+Double-barred x Zebra Finch (hybrid)
+Masked Finch
+Masked Finch (Masked)
+Masked Finch (White-eared)
+Long-tailed Finch
+Black-throated Finch
+Black-throated Finch (Black-rumped)
+Black-throated Finch (White-rumped)
+Gray-headed Silverbill
+Bronze Mannikin
+Magpie Mannikin
+Black-and-white Mannikin
+Black-and-white Mannikin (Black-and-white)
+Black-and-white Mannikin (Red-backed)
+Madagascar Munia
+African Silverbill
+Indian Silverbill
+Java Sparrow
+Timor Sparrow
+Streak-headed Munia
+White-spotted Munia
+Streak-headed x White-spotted Munia (hybrid)
+Streak-headed/White-spotted Munia
+Scaly-breasted Munia
+Scaly-breasted Munia (Checkered)
+Scaly-breasted Munia (Scaled)
+Black-throated Munia
+Black-faced Munia
+White-rumped Munia
+Dusky Munia
+White-bellied Munia
+Javan Munia
+Tricolored Munia
+Tricolored Munia (Pale-flanked)
+Tricolored Munia (Cinnamon-flanked)
+Chestnut Munia
+Chestnut Munia (Chestnut)
+Chestnut Munia (formosana)
+Tricolored x Chestnut Munia (hybrid)
+Tricolored/Chestnut Munia
+White-capped Munia
+White-headed Munia
+Pale-headed Munia
+Grand Munia
+Black-breasted Munia
+Snow Mountain Munia
+Alpine Munia
+Gray-banded Munia
+Gray-crowned Munia
+Gray-headed Munia
+Hooded Munia
+New Ireland Munia
+Mottled Munia
+New Hanover Munia
+Yellow-rumped Munia
+Five-colored Munia
+Chestnut-breasted Munia
+Yellow-rumped x Chestnut-breasted Munia (hybrid)
+Black Munia
+Bismarck Munia
+Lonchura sp.
+Gouldian Finch
+Pin-tailed Parrotfinch
+Green-faced Parrotfinch
+Tawny-breasted Parrotfinch
+Red-throated Parrotfinch
+Fiji Parrotfinch
+Royal Parrotfinch
+Royal Parrotfinch (Vanuatu)
+Royal Parrotfinch (Samoan)
+Pink-billed Parrotfinch
+Tricolored Parrotfinch
+Red-eared Parrotfinch
+Papuan Parrotfinch
+Blue-faced Parrotfinch
+Papuan/Blue-faced Parrotfinch
+Mount Mutis Parrotfinch (undescribed form)
+parrotfinch sp.
+Shelley's Oliveback
+White-collared Oliveback
+Yellow-bellied Waxbill
+Angola Waxbill
+Swee Waxbill
+Green-backed Twinspot
+Green-backed Twinspot (Orange-breasted)
+Green-backed Twinspot (Green-breasted)
+Shelley's Crimsonwing
+Dusky Crimsonwing
+Abyssinian Crimsonwing
+Red-faced Crimsonwing
+Red-faced Crimsonwing (Western)
+Red-faced Crimsonwing (Eastern)
+Red-fronted Antpecker
+Woodhouse's Antpecker
+Jameson's Antpecker
+White-breasted Nigrita
+Chestnut-breasted Nigrita
+Gray-headed Nigrita
+Pale-fronted Nigrita
+nigrita sp.
+Gray-headed Oliveback
+Black-faced Waxbill
+Black-cheeked Waxbill
+Lavender Waxbill
+Black-tailed Waxbill
+Cinderella Waxbill
+Black-crowned Waxbill
+Black-headed Waxbill
+Kandt's Waxbill
+Orange-cheeked Waxbill
+Anambra Waxbill
+Fawn-breasted Waxbill
+Fawn-breasted Waxbill (Abyssinian)
+Fawn-breasted Waxbill (Fawn-breasted)
+Fawn-breasted Waxbill (benguellensis)
+Common Waxbill
+Black-lored Waxbill
+Black-rumped Waxbill
+Crimson-rumped Waxbill
+Arabian Waxbill
+waxbill sp.
+Quailfinch
+Quailfinch (Black-faced)
+Quailfinch (Spectacled)
+Quailfinch (Black-chinned)
+Locustfinch
+Cut-throat
+Red-headed Finch
+Green Avadavat
+Zebra Waxbill
+Red Avadavat
+Red Avadavat (Red-bellied)
+Red Avadavat (Yellow-bellied)
+Purple Grenadier
+Violet-eared Waxbill
+Southern Cordonbleu
+Red-cheeked Cordonbleu
+Blue-capped Cordonbleu
+cordonbleu sp.
+Grant's Bluebill
+Western Bluebill
+Western Bluebill (Western)
+Western Bluebill (Red-rumped)
+Red-headed Bluebill
+Lesser Seedcracker
+Crimson Seedcracker
+Black-bellied Seedcracker
+Crimson/Black-bellied Seedcracker
+Green-winged Pytilia
+Orange-winged Pytilia
+Red-winged Pytilia
+Red-billed Pytilia
+Red-faced Pytilia
+pytilia sp.
+Dybowski's Twinspot
+Dusky Twinspot
+Dusky Twinspot (Angola)
+Dusky Twinspot (Grauer's)
+Peters's Twinspot
+Pink-throated Twinspot
+Brown Twinspot
+Red-billed Firefinch
+African Firefinch
+Jameson's Firefinch
+Mali Firefinch
+Rock Firefinch
+Reichenow's Firefinch
+Black-bellied Firefinch
+Bar-breasted Firefinch
+Brown Firefinch
+Black-faced Firefinch
+Black-faced Firefinch (Vinaceous)
+Black-faced Firefinch (Gray)
+Black-faced Firefinch (Reddish)
+firefinch sp.
+estrildid finch sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/waxwings.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/waxwings.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3e8fb6d37432802cc8c9c4ab9ea0f472cf5379a8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/waxwings.txt
@@ -0,0 +1,6 @@
+# Originally sourced from Clements Checklist v2022
+Bohemian Waxwing
+Cedar Waxwing
+Bohemian/Cedar Waxwing
+Japanese Waxwing
+Bohemian/Japanese Waxwing
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/weavers_and_allies.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/weavers_and_allies.txt
new file mode 100644
index 0000000000000000000000000000000000000000..eff0bbffd38fceb1f00b51359e928eea7f9bb5bd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/weavers_and_allies.txt
@@ -0,0 +1,169 @@
+# Originally sourced from Clements Checklist v2022
+White-billed Buffalo-Weaver
+Red-billed Buffalo-Weaver
+White-headed Buffalo-Weaver
+Speckle-fronted Weaver
+Scaly Weaver
+White-browed Sparrow-Weaver
+White-browed Sparrow-Weaver (Black-billed)
+White-browed Sparrow-Weaver (White-tailed)
+White-browed Sparrow-Weaver (Spot-chested)
+White-browed Sparrow-Weaver (White-breasted)
+Chestnut-crowned Sparrow-Weaver
+Chestnut-backed Sparrow-Weaver
+Donaldson-Smith's Sparrow-Weaver
+Rufous-tailed Weaver
+Gray-headed Social-Weaver
+Black-capped Social-Weaver
+Sociable Weaver
+Red-crowned Malimbe
+Black-throated Malimbe
+Ballman's Malimbe
+Rachel's Malimbe
+Red-vented Malimbe
+Ibadan Malimbe
+Red-bellied Malimbe
+Blue-billed Malimbe
+Crested Malimbe
+Red-headed Malimbe
+malimbe sp.
+Red-headed Weaver
+Red-headed Weaver (Northern)
+Red-headed Weaver (Southern)
+Red Weaver
+Yellow-legged Weaver
+Bertram's Weaver
+Baglafecht Weaver
+Baglafecht Weaver (Baglafecht)
+Baglafecht Weaver (Emin's)
+Baglafecht Weaver (Reichenow's)
+Baglafecht Weaver (Stuhlmann's)
+Black-chinned Weaver
+Bannerman's Weaver
+Baglafecht/Bannerman's Weaver
+Bates's Weaver
+Little Weaver
+Slender-billed Weaver
+Loango Weaver
+Olive-naped Weaver
+Black-necked Weaver
+Olive-naped/Black-necked Weaver
+Olive-naped x Black-necked Weaver (hybrid)
+Spectacled Weaver
+Spectacled Weaver (Yellow-throated)
+Spectacled Weaver (Black-throated)
+Black-necked/Spectacled Weaver
+Black-billed Weaver
+Black-billed Weaver (Western)
+Black-billed Weaver (Eastern)
+Strange Weaver
+Cape Weaver
+Bocage's Weaver
+African Golden-Weaver
+Holub's Golden-Weaver
+Orange Weaver
+Golden Palm Weaver
+Taveta Golden-Weaver
+Principe Golden-Weaver
+Southern Brown-throated Weaver
+Northern Brown-throated Weaver
+Kilombero Weaver
+Ruvu Weaver
+African Golden-Weaver/Ruvu Weaver
+Northern Masked-Weaver
+Lesser Masked-Weaver
+Southern Masked-Weaver
+Vitelline Masked-Weaver
+Tanganyika Masked-Weaver
+Katanga Masked-Weaver
+Katanga Masked-Weaver (Upemba)
+Katanga Masked-Weaver (Katanga)
+Lake Lufira Masked-Weaver
+Heuglin's Masked-Weaver
+Rüppell's Weaver
+Speke's Weaver
+Fox's Weaver
+Chestnut-and-black Weaver
+Vieillot's Black Weaver
+Chestnut-and-black/Vieillot's Black Weaver
+Village Weaver
+Village Weaver (Mottled)
+Village Weaver (Black-headed)
+Village Weaver (Layard's)
+Village Weaver (Spot-backed)
+Giant Weaver
+Weyns's Weaver
+Clarke's Weaver
+Salvadori's Weaver
+Black-headed Weaver
+Golden-backed Weaver
+Chestnut Weaver
+Chestnut Weaver (Benguela)
+Chestnut Weaver (Chestnut)
+Cinnamon Weaver
+Golden-naped Weaver
+Yellow-mantled Weaver
+Maxwell's Black Weaver
+Maxwell's Black Weaver (White-naped)
+Maxwell's Black Weaver (Maxwell's)
+Forest Weaver
+Brown-capped Weaver
+Yellow-capped Weaver
+Preuss's Weaver
+Olive-headed Weaver
+Usambara Weaver
+Bar-winged Weaver
+Sao Tome Weaver
+Nelicourvi Weaver
+Sakalava Weaver
+Streaked Weaver
+Baya Weaver
+Asian Golden Weaver
+Finn's Weaver
+Baya/Finn's Weaver
+Black-breasted Weaver
+Streaked/Black-breasted Weaver
+Ploceus sp.
+Compact Weaver
+Cardinal Quelea
+Red-headed Quelea
+Red-billed Quelea
+quelea sp.
+Bob-tailed Weaver
+Red Fody
+Aldabra Fody
+Red-headed Fody
+Red-headed Fody (Grand Comoro)
+Red-headed Fody (Southern Comoros)
+Forest Fody
+Red/Forest Fody
+Reunion Fody
+Mauritius Fody
+Seychelles Fody
+Rodrigues Fody
+Northern Red Bishop
+Southern Red Bishop
+Zanzibar Red Bishop
+Black-winged Bishop
+Black Bishop
+Yellow-crowned Bishop
+Fire-fronted Bishop
+Golden-backed Bishop
+Yellow Bishop
+Yellow Bishop (Montane)
+Yellow Bishop (Ethiopian)
+Yellow Bishop (Yellow)
+White-winged Widowbird
+Yellow-mantled Widowbird
+Yellow-mantled Widowbird (Yellow-shouldered)
+Yellow-mantled Widowbird (Yellow-mantled)
+Red-cowled Widowbird
+Red-collared Widowbird
+Red-cowled/Red-collared Widowbird
+Fan-tailed Widowbird
+Marsh Widowbird
+Buff-shouldered Widowbird
+Long-tailed Widowbird
+Jackson's Widowbird
+Euplectes sp.
+Grosbeak Weaver
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/whipbirds_and_wedgebills.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/whipbirds_and_wedgebills.txt
new file mode 100644
index 0000000000000000000000000000000000000000..98a2715615252f73957854ab5a356295b7a943fe
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/whipbirds_and_wedgebills.txt
@@ -0,0 +1,8 @@
+# Originally sourced from Clements Checklist v2022
+Papuan Whipbird
+Eastern Whipbird
+Western Whipbird
+Western Whipbird (Black-throated)
+Western Whipbird (White-bellied)
+Chiming Wedgebill
+Chirruping Wedgebill
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/whistlers_and_allies.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/whistlers_and_allies.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1dfdca0085b7f032df624e35f856cdde937d9291
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/whistlers_and_allies.txt
@@ -0,0 +1,87 @@
+# Originally sourced from Clements Checklist v2022
+Rusty Pitohui
+White-bellied Pitohui
+Sandstone Shrikethrush
+Bower's Shrikethrush
+Gray Shrikethrush
+Sooty Shrikethrush
+Variable Shrikethrush
+Waigeo Shrikethrush
+Mamberamo Shrikethrush
+Sepik-Ramu Shrikethrush
+Arafura Shrikethrush
+Tagula Shrikethrush
+Rufous Shrikethrush
+Arafura/Rufous Shrikethrush
+Colluricincla sp.
+Black Pitohui
+Sangihe Whistler
+Maroon-backed Whistler
+Olive Whistler
+Red-lored Whistler
+Gilbert's Whistler
+Bare-throated Whistler
+Fawn-breasted Whistler
+Regent Whistler
+Vanuatu Whistler
+Vogelkop Whistler
+Sclater's Whistler
+Fiji Whistler
+Fiji Whistler (White-throated)
+Fiji Whistler (Fiji)
+Samoan Whistler
+Tongan Whistler
+New Caledonian Whistler
+Guadalcanal Hooded Whistler
+Bougainville Hooded Whistler
+Bismarck Whistler
+Louisiade Whistler
+Temotu Whistler
+Oriole Whistler
+Rennell Whistler
+Rusty-breasted Whistler
+Rusty-breasted Whistler (Salayar)
+Rusty-breasted Whistler (Rusty-breasted)
+Yellow-throated Whistler
+Yellow-throated Whistler (Moluccan)
+Yellow-throated Whistler (Timor)
+Yellow-throated Whistler (Banda Sea)
+Yellow-throated Whistler (Damar)
+Yellow-throated Whistler (Babar)
+Black-chinned Whistler
+Baliem Whistler
+Golden Whistler
+Western Whistler
+Golden/Western Whistler
+Black-tailed Whistler
+Morningbird
+Brown-backed Whistler
+Lorentz's Whistler
+Golden-backed Whistler
+Yellow-bellied Whistler
+Yellow-bellied Whistler (fallax)
+Yellow-bellied Whistler (illex)
+Yellow-bellied Whistler (philippinensis Group)
+Bornean Whistler
+Sulphur-bellied Whistler
+Mangrove Whistler
+Green-backed Whistler
+White-vented Whistler
+White-vented Whistler (Sulu)
+White-vented Whistler (Cebu)
+White-vented Whistler (White-vented)
+Island Whistler
+Biak Whistler
+Rusty Whistler
+Gray Whistler
+Gray Whistler (Brown)
+Gray Whistler (Gray-headed)
+Wallacean Whistler
+Drab Whistler
+Drab Whistler (Drab)
+Drab Whistler (Cinnamon-breasted)
+White-bellied Whistler
+Black-headed Whistler
+Rufous Whistler
+White-breasted Whistler
+Pachycephala sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/white-eyes,_yuhinas,_and_allies.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/white-eyes,_yuhinas,_and_allies.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4d3f91cbc455363d33d12788d20a06043fbb9eab
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/white-eyes,_yuhinas,_and_allies.txt
@@ -0,0 +1,179 @@
+# Originally sourced from Clements Checklist v2022
+White-collared Yuhina
+Chestnut-crested Yuhina
+Striated Yuhina
+Striated Yuhina (Gray-crowned)
+Striated Yuhina (Rufous-crowned)
+Indochinese Yuhina
+Black-chinned Yuhina
+Taiwan Yuhina
+Whiskered Yuhina
+Burmese Yuhina
+White-naped Yuhina
+Stripe-throated Yuhina
+Rufous-vented Yuhina
+yuhina sp.
+Flame-templed Babbler
+Visayan Pygmy-Babbler
+Mindanao Pygmy-Babbler
+Rusty-crowned Babbler
+Golden-crowned Babbler
+Black-crowned Babbler
+Black-crowned Babbler (affinis)
+Black-crowned Babbler (nigrocapitatus/boholensis)
+Palawan Striped-Babbler
+Luzon Striped-Babbler
+Chestnut-faced Babbler
+Panay Striped-Babbler
+Negros Striped-Babbler
+Golden White-eye
+Truk White-eye
+Long-billed White-eye
+Giant White-eye
+Javan Gray-throated White-eye
+Gray-hooded White-eye
+Pygmy White-eye
+Mindanao White-eye
+Streak-headed White-eye
+White-browed White-eye
+Dark-crowned White-eye
+Timor White-eye
+Flores White-eye
+Yellow-spectacled White-eye
+Bonin White-eye
+Rufescent White-eye
+Sri Lanka White-eye
+Yellowish White-eye
+Black-capped White-eye
+Pale White-eye
+Mbulu White-eye
+Chestnut-flanked White-eye
+Swinhoe's White-eye
+Mountain Black-eye
+Warbling White-eye
+Swinhoe's/Warbling White-eye
+Indian White-eye
+Swinhoe's/Indian White-eye
+Lowland White-eye
+Marianne White-eye
+Comoro White-eye
+Reunion White-eye
+Mauritius White-eye
+Reunion Gray White-eye
+Mauritius Gray White-eye
+Abyssinian White-eye
+Socotra White-eye
+Cameroon Speirops
+Forest White-eye
+Green White-eye
+Kilimanjaro White-eye
+Bioko Speirops
+Heuglin's White-eye
+Heuglin's White-eye (Ethiopian)
+Heuglin's White-eye (Kaffa)
+Heuglin's White-eye (Kulal)
+Kikuyu White-eye
+Principe White-eye
+Annobon White-eye
+Sao Tome White-eye
+Black-capped Speirops
+Principe Speirops
+Taita White-eye
+Northern Yellow White-eye
+Northern Yellow White-eye (senegalensis/demeryi)
+Northern Yellow White-eye (quanzae Group)
+Northern Yellow White-eye (jacksoni/gerhardi)
+Green/Northern Yellow White-eye
+Orange River White-eye
+South Pare White-eye
+Cape White-eye
+Cape White-eye (Cape)
+Cape White-eye (Green)
+Orange River x Cape White-eye (hybrid)
+Orange River/Cape White-eye
+Southern Yellow White-eye
+Pemba White-eye
+Seychelles White-eye
+Anjouan White-eye
+Moheli White-eye
+Malagasy White-eye
+Kirk's White-eye
+Mayotte White-eye
+Aldabra White-eye
+Lemon-bellied White-eye
+Meratus White-eye
+Wakatobi White-eye
+Black-crowned White-eye
+Sangihe White-eye
+Togian White-eye
+Sulawesi White-eye
+Wangi-Wangi White-eye (undescribed form)
+Black-ringed White-eye
+Black-fronted White-eye
+Black-fronted White-eye (Black-fronted)
+Black-fronted White-eye (Green-fronted)
+Tagula White-eye
+Cream-throated White-eye
+Cream-throated White-eye (Morotai)
+Cream-throated White-eye (Halmahera)
+Cream-throated White-eye (Bacan)
+Obi White-eye (undescribed form)
+Buru White-eye
+Seram White-eye
+Javan White-eye
+Ashy-bellied White-eye
+Australian Yellow White-eye
+Silvereye
+Hume's White-eye
+Swinhoe's/Hume's White-eye
+Sangkar White-eye
+Everett's White-eye
+Banded White-eye
+Santa Cruz White-eye
+Capped White-eye
+Capped White-eye (Capped)
+Capped White-eye (Oya Tabu)
+Yellow-fronted White-eye
+Bare-eyed White-eye
+Sanford's White-eye
+Vanikoro White-eye
+Layard's White-eye
+Silvereye/Layard's White-eye
+Black-headed White-eye
+Biak White-eye
+Gray-throated White-eye
+Gray-throated White-eye (Bougainville)
+Gray-throated White-eye (Gray-throated)
+Yap White-eye
+Dusky White-eye
+Pohnpei White-eye
+Kosrae White-eye
+Rota White-eye
+Yellow-throated White-eye
+Malaita White-eye
+New Guinea White-eye
+Ambon White-eye
+Great Kai White-eye
+Splendid White-eye
+Little Kai White-eye
+Ganongga White-eye
+Solomons White-eye
+Dark-eyed White-eye
+Christmas Island White-eye
+Bridled White-eye
+Bridled White-eye (Saipan)
+Bridled White-eye (Bridled)
+Caroline Islands White-eye
+Plain White-eye
+Louisiade White-eye
+Kolombangara White-eye
+Large Lifou White-eye
+White-chested White-eye
+Samoan White-eye
+Robust White-eye
+Slender-billed White-eye
+Small Lifou White-eye
+Green-backed White-eye
+Rennell White-eye
+Zosterops sp.
+white-eye sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/white-winged_chough_and_apostlebird.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/white-winged_chough_and_apostlebird.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8fb0ca0ca29bec1697aa971b6a15405a4a34e97c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/white-winged_chough_and_apostlebird.txt
@@ -0,0 +1,3 @@
+# Originally sourced from Clements Checklist v2022
+White-winged Chough
+Apostlebird
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/whiteheads.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/whiteheads.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d4f63386139e22372ea950876c1b97089337357a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/whiteheads.txt
@@ -0,0 +1,4 @@
+# Originally sourced from Clements Checklist v2022
+Whitehead
+Yellowhead
+Pipipi
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/woodswallows,_bellmagpies,_and_allies.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/woodswallows,_bellmagpies,_and_allies.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4c93febb4169169b0504773c7833d5e6c73ed2e7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/woodswallows,_bellmagpies,_and_allies.txt
@@ -0,0 +1,43 @@
+# Originally sourced from Clements Checklist v2022
+Ashy Woodswallow
+Fiji Woodswallow
+Ivory-backed Woodswallow
+Great Woodswallow
+White-breasted Woodswallow
+Bismarck Woodswallow
+Masked Woodswallow
+White-browed Woodswallow
+Masked x White-browed Woodswallow (hybrid)
+Masked/White-browed Woodswallow
+Black-faced Woodswallow
+Black-faced Woodswallow (White-vented)
+Black-faced Woodswallow (Black-vented)
+Dusky Woodswallow
+Little Woodswallow
+woodswallow sp.
+Mountain Peltops
+Lowland Peltops
+Black-backed Butcherbird
+Gray Butcherbird
+Silver-backed Butcherbird
+Hooded Butcherbird
+Tagula Butcherbird
+Pied Butcherbird
+Black Butcherbird
+Australian Magpie
+Australian Magpie (Papuan)
+Australian Magpie (Black-backed)
+Australian Magpie (Western)
+Australian Magpie (Black-backed x Western)
+Australian Magpie (White-backed)
+Australian Magpie (Black-backed x White-backed)
+Australian Magpie (Tasmanian)
+Pied Currawong
+Black Currawong
+Gray Currawong
+Gray Currawong (Gray)
+Gray Currawong (Clinking)
+Gray Currawong (Black-winged)
+Gray Currawong (Brown)
+Gray Currawong (Kangaroo I.)
+currawong sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/wrens.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/wrens.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b6f9c5caeb17293ae4d8ea51dcdb881158eecdbc
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/wrens.txt
@@ -0,0 +1,182 @@
+# Originally sourced from Clements Checklist v2022
+Rock Wren
+Rock Wren (Northern)
+Rock Wren (Central American)
+Nightingale Wren
+Scaly-breasted Wren
+Scaly-breasted Wren (Whistling)
+Scaly-breasted Wren (Scaly)
+Scaly-breasted Wren (Southern)
+Flutist Wren
+Wing-banded Wren
+Gray-mantled Wren
+Tooth-billed Wren
+Canyon Wren
+Sumichrast's Wren
+Nava's Wren
+Zapata Wren
+House Wren
+House Wren (Northern)
+House Wren (Dominica)
+House Wren (Martinique)
+House Wren (St. Lucia)
+House Wren (Guadeloupe)
+House Wren (St. Vincent)
+House Wren (Grenada)
+House Wren (Cozumel I.)
+House Wren (Brown-throated)
+House Wren (Southern)
+Cobb's Wren
+Socorro Wren
+Clarion Wren
+Rufous-browed Wren
+Ochraceous Wren
+Mountain Wren
+Santa Marta Wren
+Tepui Wren
+Eurasian Wren
+Eurasian Wren (Iceland)
+Eurasian Wren (Faeroe)
+Eurasian Wren (Shetland)
+Eurasian Wren (Hebridean)
+Eurasian Wren (Fair Isle)
+Eurasian Wren (St. Kilda)
+Eurasian Wren (British)
+Eurasian Wren (Eurasian)
+Pacific Wren
+Pacific Wren (alascensis Group)
+Pacific Wren (pacificus Group)
+Winter Wren
+Pacific/Winter Wren
+Timberline Wren
+Sedge Wren
+Grass Wren
+Grass Wren (Northern)
+Grass Wren (Venezuelan)
+Grass Wren (Paramo)
+Grass Wren (Junin)
+Grass Wren (Puna)
+Grass Wren (Tucuman)
+Grass Wren (Pampas)
+Grass Wren (Austral)
+Merida Wren
+Apolinar's Wren
+Marsh Wren
+Marsh Wren (paludicola Group)
+Marsh Wren (plesius Group)
+Marsh Wren (palustris Group)
+Marsh Wren (griseus)
+Marsh Wren (tolucensis)
+Sedge/Marsh Wren
+Carolina Wren
+Carolina Wren (Northern)
+Carolina Wren (Northeast Mexico/South Texas)
+Carolina Wren (White-browed)
+Bewick's Wren
+Bewick's Wren (bewickii)
+Bewick's Wren (mexicanus Group)
+Bewick's Wren (spilurus Group)
+White-headed Wren
+Band-backed Wren
+White-headed x Band-backed Wren (hybrid)
+Gray-barred Wren
+Giant Wren
+Rufous-naped Wren
+Rufous-naped Wren (Sclater's)
+Rufous-naped Wren (Veracruz)
+Rufous-naped Wren (Rufous-backed)
+Spotted Wren
+Boucard's Wren
+Yucatan Wren
+Cactus Wren
+Cactus Wren (brunneicapillus Group)
+Cactus Wren (affinis Group)
+Stripe-backed Wren
+Fasciated Wren
+Bicolored Wren
+Thrush-like Wren
+Thrush-like Wren (Spot-breasted)
+Thrush-like Wren (Unspotted)
+Sooty-headed Wren
+Black-bellied Wren
+Plain-tailed Wren
+Plain-tailed Wren (Plain-tailed)
+Plain-tailed Wren (Gray-browed)
+Mantaro Wren (undescribed form)
+Inca Wren
+Whiskered Wren
+Moustached Wren
+Coraya Wren
+Moustached x Coraya Wren (hybrid)
+Moustached/Coraya Wren
+Rufous-breasted Wren
+Spot-breasted Wren
+Speckle-breasted Wren
+Speckle-breasted Wren (Colombian)
+Speckle-breasted Wren (Speckle-breasted)
+Speckle-breasted Wren (Marañon)
+Happy Wren
+Happy Wren (Mainland)
+Happy Wren (Tres Marias Is.)
+Black-throated Wren
+Pheugopedius sp.
+Sinaloa Wren
+Banded Wren
+Rufous-and-white Wren
+Antioquia Wren
+Niceforo's Wren
+Stripe-breasted Wren
+Stripe-throated Wren
+Cabanis's Wren
+Canebrake Wren
+Cabanis's/Canebrake Wren
+Isthmian Wren
+Cabanis's/Isthmian Wren
+Riverside Wren
+Bay Wren
+Bay Wren (Central American)
+Bay Wren (South American)
+Superciliated Wren
+Buff-breasted Wren
+Long-billed Wren
+Fawn-breasted Wren
+Gray Wren
+Cantorchilus sp.
+Rufous Wren
+Sharpe's Wren
+Peruvian Wren
+Fulvous Wren
+Cinnycerthia sp.
+White-bellied Wren
+White-bellied Wren (Middle America)
+White-bellied Wren (West Mexico)
+White-breasted Wood-Wren
+White-breasted Wood-Wren (Sclater's)
+White-breasted Wood-Wren (Cherrie's)
+White-breasted Wood-Wren (Choco)
+White-breasted Wood-Wren (Black-capped)
+Bar-winged Wood-Wren
+Gray-breasted Wood-Wren
+Gray-breasted Wood-Wren (Central American)
+Gray-breasted Wood-Wren (Choco)
+Gray-breasted Wood-Wren (bangsi)
+Gray-breasted Wood-Wren (Perija)
+Gray-breasted Wood-Wren (meridana)
+Gray-breasted Wood-Wren (venezuelensis)
+Gray-breasted Wood-Wren (hilaris)
+Gray-breasted Wood-Wren (Andean)
+Hermit Wood-Wren
+Munchique Wood-Wren
+wood-wren sp.
+Chestnut-breasted Wren
+Chestnut-breasted Wren (Northern)
+Chestnut-breasted Wren (Southern)
+Song Wren
+Musician Wren
+Musician Wren (Imeri)
+Musician Wren (Gray-eared)
+Musician Wren (Musician)
+Musician Wren (Gray-flanked)
+Musician Wren (Rondonia)
+Musician Wren (Ferruginous)
+wren sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/wrenthrush.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/wrenthrush.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0551f5ed5dc063d7239499873cf7bc9014e69fe8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/wrenthrush.txt
@@ -0,0 +1,2 @@
+# Originally sourced from Clements Checklist v2022
+Wrenthrush
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/yellow-breasted_chat.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/yellow-breasted_chat.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7d5fb84ce58cb1e48da080db97e1d31abb37608a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Passeriformes/yellow-breasted_chat.txt
@@ -0,0 +1,4 @@
+# Originally sourced from Clements Checklist v2022
+Yellow-breasted Chat
+Yellow-breasted Chat (virens)
+Yellow-breasted Chat (auricollis)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Pelecaniformes/hamerkop.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Pelecaniformes/hamerkop.txt
new file mode 100644
index 0000000000000000000000000000000000000000..94d23b9e94b43461ee95274dee10d523475b8b08
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Pelecaniformes/hamerkop.txt
@@ -0,0 +1,2 @@
+# Originally sourced from Clements Checklist v2022
+Hamerkop
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Pelecaniformes/herons,_egrets,_and_bitterns.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Pelecaniformes/herons,_egrets,_and_bitterns.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a5960243c0b329a2f4db892c2152ca14374a84e2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Pelecaniformes/herons,_egrets,_and_bitterns.txt
@@ -0,0 +1,137 @@
+# Originally sourced from Clements Checklist v2022
+Pinnated Bittern
+American Bittern
+Great Bittern
+Australasian Bittern
+Zigzag Heron
+Yellow Bittern
+Little Bittern
+Little Bittern (Little)
+Little Bittern (African)
+Little Bittern (Madagascar)
+Black-backed Bittern
+New Zealand Bittern
+Schrenck's Bittern
+Cinnamon Bittern
+Yellow/Cinnamon Bittern
+Schrenck's/Cinnamon Bittern
+Dwarf Bittern
+Black Bittern
+Least Bittern
+Stripe-backed Bittern
+small bittern sp.
+Rufescent Tiger-Heron
+Fasciated Tiger-Heron
+Bare-throated Tiger-Heron
+tiger-heron sp.
+Forest Bittern
+White-crested Bittern
+Great Blue Heron
+Great Blue Heron (Great Blue)
+Great Blue Heron (Great White)
+Great Blue Heron (Wurdemann's)
+Gray Heron
+Gray Heron (Gray)
+Gray Heron (Madagascar)
+Gray Heron (Mauritanian)
+Cocoi Heron
+Great Blue x Cocoi Heron (hybrid)
+Great Blue/Cocoi Heron
+Pacific Heron
+Black-headed Heron
+Humblot's Heron
+White-bellied Heron
+Great-billed Heron
+Goliath Heron
+Purple Heron
+Purple Heron (Bourne's)
+Purple Heron (Purple)
+Gray/Purple Heron
+Great Egret
+Great Egret (Eurasian)
+Great Egret (African)
+Great Egret (American)
+Great Egret (Australasian)
+Great Blue Heron x Great Egret (hybrid)
+Gray Heron x Great Egret (hybrid)
+Intermediate Egret
+Intermediate Egret (Intermediate)
+Intermediate Egret (Plumed)
+Intermediate Egret (Yellow-billed)
+Great/Intermediate Egret
+Ardea sp.
+White-faced Heron
+Chinese Egret
+Little Egret
+Little Egret (Western)
+Little Egret (Australasian)
+Little Egret (Dimorphic)
+Western Reef-Heron
+Western Reef-Heron (Western)
+Western Reef-Heron (Eastern)
+Little Egret x Western Reef-Heron (hybrid)
+Little Egret/Western Reef-Heron
+Pacific Reef-Heron
+Snowy Egret
+Little x Snowy Egret (hybrid)
+Little Blue Heron
+Snowy Egret x Little Blue Heron (hybrid)
+Tricolored Heron
+Snowy Egret x Tricolored Heron (hybrid)
+Little Blue x Tricolored Heron (hybrid)
+Reddish Egret
+Tricolored Heron x Reddish Egret (hybrid)
+Pied Heron
+Slaty Egret
+Black Heron
+Cattle Egret
+Cattle Egret (Western)
+Cattle Egret (Eastern)
+Intermediate/Cattle Egret
+white egret sp.
+Squacco Heron
+Indian Pond-Heron
+Chinese Pond-Heron
+Javan Pond-Heron
+Malagasy Pond-Heron
+Rufous-bellied Heron
+pond-heron sp.
+Green Heron
+Green Heron (virescens/bahamensis)
+Green Heron (anthonyi)
+Green Heron (frazari)
+Striated Heron
+Striated Heron (South American)
+Striated Heron (Galapagos)
+Striated Heron (Old World)
+Green x Striated Heron (hybrid)
+Green/Striated Heron
+Agami Heron
+Whistling Heron
+Capped Heron
+Reunion Night-Heron
+Mauritius Night-Heron
+Rodrigues Night-Heron
+Black-crowned Night-Heron
+Black-crowned Night-Heron (Eurasian)
+Black-crowned Night-Heron (American)
+Black-crowned Night-Heron (Dusky)
+Black-crowned Night-Heron (Falklands)
+Nankeen Night-Heron
+Black-crowned x Nankeen Night-Heron (hybrid)
+Black-crowned/Nankeen Night-Heron
+Yellow-crowned Night-Heron
+Yellow-crowned Night-Heron (Yellow-crowned)
+Yellow-crowned Night-Heron (Galapagos)
+Black-crowned x Yellow-crowned Night-Heron (hybrid)
+Black-crowned/Yellow-crowned Night-Heron
+Bermuda Night-Heron
+White-backed Night-Heron
+White-eared Night-Heron
+Japanese Night-Heron
+Malayan Night-Heron
+Japanese/Malayan Night-Heron
+Boat-billed Heron
+Boat-billed Heron (Northern)
+Boat-billed Heron (Southern)
+heron sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Pelecaniformes/ibises_and_spoonbills.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Pelecaniformes/ibises_and_spoonbills.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8eae1440173afe4c3d8454bf1ed2edb59a96143a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Pelecaniformes/ibises_and_spoonbills.txt
@@ -0,0 +1,46 @@
+# Originally sourced from Clements Checklist v2022
+White Ibis
+Scarlet Ibis
+White x Scarlet Ibis (hybrid)
+Glossy Ibis
+White-faced Ibis
+Glossy x White-faced Ibis (hybrid)
+Glossy/White-faced Ibis
+Puna Ibis
+White-faced/Puna Ibis
+Madagascar Ibis
+Sharp-tailed Ibis
+Green Ibis
+Bare-faced Ibis
+Plumbeous Ibis
+Buff-necked Ibis
+Black-faced Ibis
+Andean Ibis
+Black-faced/Andean Ibis
+African Sacred Ibis
+Malagasy Sacred Ibis
+African/Malagasy Sacred Ibis
+Reunion Ibis
+Black-headed Ibis
+Australian Ibis
+Straw-necked Ibis
+Red-naped Ibis
+White-shouldered Ibis
+Giant Ibis
+Northern Bald Ibis
+Southern Bald Ibis
+Crested Ibis
+Olive Ibis
+Sao Tome Ibis
+Spot-breasted Ibis
+Hadada Ibis
+Wattled Ibis
+ibis sp.
+Eurasian Spoonbill
+Royal Spoonbill
+African Spoonbill
+Black-faced Spoonbill
+Eurasian x Black-faced Spoonbill (hybrid)
+Yellow-billed Spoonbill
+Roseate Spoonbill
+spoonbill sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Pelecaniformes/pelicans.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Pelecaniformes/pelicans.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e1524cfa68ae0829a749fb5d53ccfcb1b615f916
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Pelecaniformes/pelicans.txt
@@ -0,0 +1,15 @@
+# Originally sourced from Clements Checklist v2022
+American White Pelican
+Brown Pelican
+Brown Pelican (Atlantic)
+Brown Pelican (California)
+Brown Pelican (Southern)
+Brown Pelican (Galapagos)
+Peruvian Pelican
+Great White Pelican
+Australian Pelican
+Pink-backed Pelican
+Spot-billed Pelican
+Dalmatian Pelican
+Great White x Dalmatian Pelican (hybrid)
+pelican sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Pelecaniformes/shoebill.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Pelecaniformes/shoebill.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1bf5165555e55bcb2658d74739fe3b2a23804eab
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Pelecaniformes/shoebill.txt
@@ -0,0 +1,2 @@
+# Originally sourced from Clements Checklist v2022
+Shoebill
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Phaethontiformes/tropicbirds.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Phaethontiformes/tropicbirds.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e5921a6822a823ab91707c2b12d7cc89865ea424
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Phaethontiformes/tropicbirds.txt
@@ -0,0 +1,12 @@
+# Originally sourced from Clements Checklist v2022
+White-tailed Tropicbird
+White-tailed Tropicbird (Indian Ocean)
+White-tailed Tropicbird (Golden)
+White-tailed Tropicbird (Europa I.)
+White-tailed Tropicbird (Atlantic)
+White-tailed Tropicbird (Pacific)
+White-tailed Tropicbird (Ascension)
+Red-billed Tropicbird
+Red-tailed Tropicbird
+Red-billed/Red-tailed Tropicbird
+tropicbird sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Phoenicopteriformes/flamingos.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Phoenicopteriformes/flamingos.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8b5df33c9e6b20ef522fbcb99cf10d5b455b3118
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Phoenicopteriformes/flamingos.txt
@@ -0,0 +1,12 @@
+# Originally sourced from Clements Checklist v2022
+Chilean Flamingo
+American Flamingo
+Chilean x American Flamingo (hybrid)
+Greater Flamingo
+Chilean x Greater Flamingo (hybrid)
+American/Greater Flamingo
+Lesser Flamingo
+Greater/Lesser Flamingo
+Andean Flamingo
+James's Flamingo
+flamingo sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Piciformes/african_barbets.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Piciformes/african_barbets.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5a0b326bb8dede19aa1137b2012f9dcaf4eb8beb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Piciformes/african_barbets.txt
@@ -0,0 +1,73 @@
+# Originally sourced from Clements Checklist v2022
+Yellow-billed Barbet
+Yellow-billed Barbet (Western)
+Yellow-billed Barbet (Togo)
+Yellow-billed Barbet (Eastern)
+Crested Barbet
+Red-and-yellow Barbet
+Yellow-breasted Barbet
+D'Arnaud's Barbet
+D'Arnaud's Barbet (D'Arnaud's)
+D'Arnaud's Barbet (Usambiro)
+D'Arnaud's Barbet (Black-capped)
+Gray-throated Barbet
+Gray-throated Barbet (Gray-throated)
+Gray-throated Barbet (Gray-headed)
+Sladen's Barbet
+Bristle-nosed Barbet
+Naked-faced Barbet
+Naked-faced Barbet (Naked-faced)
+Naked-faced Barbet (Pale-throated)
+White-eared Barbet
+White-eared Barbet (White-lined)
+White-eared Barbet (White-eared)
+Whyte's Barbet
+Anchieta's Barbet
+Green Barbet
+Green Barbet (Green)
+Green Barbet (Howell's)
+Green Barbet (Woodward's)
+Green Barbet (Malawi)
+Speckled Tinkerbird
+Green Tinkerbird
+Moustached Tinkerbird
+Western Tinkerbird
+Western Tinkerbird (Western)
+Western Tinkerbird (Eastern)
+Western Tinkerbird (Angola)
+Red-rumped Tinkerbird
+Yellow-throated Tinkerbird
+Yellow-rumped Tinkerbird
+Yellow-rumped Tinkerbird (Yellow-rumped)
+Yellow-rumped Tinkerbird (White-chested)
+Red-fronted Tinkerbird
+Yellow-fronted Tinkerbird
+tinkerbird sp.
+Yellow-spotted Barbet
+Hairy-breasted Barbet
+Hairy-breasted Barbet (Hairy-breasted)
+Hairy-breasted Barbet (Streaky-throated)
+Red-fronted Barbet
+Miombo Barbet
+Pied Barbet
+Miombo x Pied Barbet (hybrid)
+Spot-flanked Barbet
+Black-throated Barbet
+Banded Barbet
+Vieillot's Barbet
+White-headed Barbet
+White-headed Barbet (White-headed)
+White-headed Barbet (Brown-and-white)
+White-headed Barbet (White-bellied)
+Chaplin's Barbet
+Red-faced Barbet
+Black-billed Barbet
+Black-collared Barbet
+Brown-breasted Barbet
+Black-backed Barbet
+Black-backed Barbet (Brown-backed)
+Black-backed Barbet (Black-backed)
+Double-toothed Barbet
+Bearded Barbet
+Black-breasted Barbet
+african barbet sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Piciformes/asian_barbets.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Piciformes/asian_barbets.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2d3d1b81ac6b7cacb4831e3e293db88946228642
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Piciformes/asian_barbets.txt
@@ -0,0 +1,49 @@
+# Originally sourced from Clements Checklist v2022
+Sooty Barbet
+Brown Barbet
+Malabar Barbet
+Crimson-fronted Barbet
+Coppersmith Barbet
+Malabar/Coppersmith Barbet
+Blue-eared Barbet
+Blue-eared Barbet (Blue-eared)
+Blue-eared Barbet (Black-eared)
+Little Barbet
+Bornean Barbet
+Fire-tufted Barbet
+Great Barbet
+Red-vented Barbet
+Red-crowned Barbet
+Red-throated Barbet
+Black-banded Barbet
+Golden-naped Barbet
+Yellow-crowned Barbet
+Flame-fronted Barbet
+Green-eared Barbet
+Lineated Barbet
+Green-eared/Lineated Barbet
+Brown-headed Barbet
+Lineated/Brown-headed Barbet
+White-cheeked Barbet
+Brown-headed/White-cheeked Barbet
+Yellow-fronted Barbet
+Golden-throated Barbet
+Golden-throated Barbet (Himalayan)
+Golden-throated Barbet (Malayan)
+Necklaced Barbet
+Mountain Barbet
+Brown-throated Barbet
+Gold-whiskered Barbet
+Gold-whiskered Barbet (Gold-whiskered)
+Gold-whiskered Barbet (Gold-faced)
+Moustached Barbet
+Taiwan Barbet
+Chinese Barbet
+Blue-throated Barbet
+Blue-throated Barbet (Red-crowned)
+Blue-throated Barbet (Blue-crowned)
+Indochinese Barbet
+Black-browed Barbet
+Turquoise-throated Barbet
+Psilopogon sp.
+asian barbet sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Piciformes/honeyguides.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Piciformes/honeyguides.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ce6baea81fbf13c040f3b152d9bb6d89e92bda26
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Piciformes/honeyguides.txt
@@ -0,0 +1,22 @@
+# Originally sourced from Clements Checklist v2022
+Cassin's Honeyguide
+Green-backed Honeyguide
+Wahlberg's Honeyguide
+small honeyguide sp.
+Zenker's Honeyguide
+Yellow-footed Honeyguide
+Dwarf Honeyguide
+Willcocks's Honeyguide
+Pallid Honeyguide
+Least Honeyguide
+Lesser Honeyguide
+Lesser Honeyguide (Thick-billed)
+Lesser Honeyguide (Lesser)
+Spotted Honeyguide
+Scaly-throated Honeyguide
+Yellow-rumped Honeyguide
+Malaysian Honeyguide
+Greater Honeyguide
+large honeyguide sp.
+honeyguide sp.
+Lyre-tailed Honeyguide
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Piciformes/new_world_barbets.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Piciformes/new_world_barbets.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8bac293dabc1a99e4344526865ee3eb0eb356f3e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Piciformes/new_world_barbets.txt
@@ -0,0 +1,23 @@
+# Originally sourced from Clements Checklist v2022
+Scarlet-crowned Barbet
+Black-girdled Barbet
+Spot-crowned Barbet
+Orange-fronted Barbet
+White-mantled Barbet
+Scarlet-banded Barbet
+Sira Barbet
+Five-colored Barbet
+Brown-chested Barbet
+Black-spotted Barbet
+Gilded Barbet
+Capito sp.
+Lemon-throated Barbet
+Lemon-throated Barbet (Lemon-throated)
+Lemon-throated Barbet (Flame-throated)
+Scarlet-hooded Barbet
+Red-headed Barbet
+Versicolored Barbet
+Versicolored Barbet (Blue-cowled)
+Versicolored Barbet (Blue-chinned)
+Versicolored Barbet (Blue-moustached)
+new world barbet sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Piciformes/toucan-barbets.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Piciformes/toucan-barbets.txt
new file mode 100644
index 0000000000000000000000000000000000000000..30e172e21bfa35c4e77cb04c2d7851c9652d38da
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Piciformes/toucan-barbets.txt
@@ -0,0 +1,3 @@
+# Originally sourced from Clements Checklist v2022
+Prong-billed Barbet
+Toucan Barbet
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Piciformes/toucans.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Piciformes/toucans.txt
new file mode 100644
index 0000000000000000000000000000000000000000..249ce6f7b0158d53da8dac44873f1e9e1f878c29
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Piciformes/toucans.txt
@@ -0,0 +1,75 @@
+# Originally sourced from Clements Checklist v2022
+Northern Emerald-Toucanet
+Northern Emerald-Toucanet (Wagler's)
+Northern Emerald-Toucanet (Emerald)
+Northern Emerald-Toucanet (Blue-throated)
+Northern Emerald-Toucanet (Violet-throated)
+Southern Emerald-Toucanet
+Southern Emerald-Toucanet (Santa Marta)
+Southern Emerald-Toucanet (Gray-throated)
+Southern Emerald-Toucanet (Andean)
+Southern Emerald-Toucanet (Black-billed)
+Southern Emerald-Toucanet (Black-throated)
+Groove-billed Toucanet
+Groove-billed Toucanet (Yellow-billed)
+Groove-billed Toucanet (Groove-billed)
+Chestnut-tipped Toucanet
+Tepui Toucanet
+Crimson-rumped Toucanet
+Yellow-browed Toucanet
+Blue-banded Toucanet
+Aulacorhynchus sp.
+Gray-breasted Mountain-Toucan
+Plate-billed Mountain-Toucan
+Hooded Mountain-Toucan
+Black-billed Mountain-Toucan
+Saffron Toucanet
+Green Aracari
+Lettered Aracari
+Lettered Aracari (Humboldt's)
+Lettered Aracari (Lettered)
+Collared Aracari
+Collared Aracari (Collared)
+Collared Aracari (Stripe-billed)
+Collared Aracari (Pale-mandibled)
+Fiery-billed Aracari
+Black-necked Aracari
+Chestnut-eared Aracari
+Many-banded Aracari
+Ivory-billed Aracari
+Ivory-billed Aracari (Yellow-billed)
+Ivory-billed Aracari (Ivory-billed)
+Ivory-billed Aracari (Brown-billed)
+Curl-crested Aracari
+Red-necked Aracari
+Red-necked Aracari (Western)
+Red-necked Aracari (Eastern)
+aracari sp.
+Yellow-eared Toucanet
+Guianan Toucanet
+Golden-collared Toucanet
+Golden-collared Toucanet (Red-billed)
+Golden-collared Toucanet (Green-billed)
+Tawny-tufted Toucanet
+Gould's Toucanet
+Spot-billed Toucanet
+small toucan sp.
+Toco Toucan
+Yellow-throated Toucan
+Yellow-throated Toucan (Chestnut-mandibled)
+Yellow-throated Toucan (Black-mandibled)
+White-throated Toucan
+White-throated Toucan (Red-billed)
+White-throated Toucan (Cuvier's)
+Keel-billed Toucan
+Choco Toucan
+Channel-billed Toucan
+Channel-billed Toucan (Citron-throated)
+Channel-billed Toucan (Yellow-ridged)
+Channel-billed Toucan (Citron-throated x Yellow-ridged)
+Channel-billed Toucan (Channel-billed)
+Channel-billed Toucan (Yellow-ridged x Channel-billed)
+Channel-billed Toucan (Ariel)
+Channel-billed Toucan (Yellow-ridged x Ariel)
+Red-breasted Toucan
+large toucan sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Piciformes/woodpeckers.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Piciformes/woodpeckers.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b017c43382ec069ad11f86589a254cdfb29e8582
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Piciformes/woodpeckers.txt
@@ -0,0 +1,401 @@
+# Originally sourced from Clements Checklist v2022
+Eurasian Wryneck
+Rufous-necked Wryneck
+Rufous-necked Wryneck (Rufous-necked)
+Rufous-necked Wryneck (Bar-throated)
+Rufous-necked Wryneck (Ethiopian)
+Speckled Piculet
+Bar-breasted Piculet
+Orinoco Piculet
+Lafresnaye's Piculet
+Golden-spangled Piculet
+Golden-spangled Piculet (Undulated)
+Golden-spangled Piculet (Buffon's)
+Golden-spangled Piculet (Pernambuco)
+Golden-spangled Piculet (Bahia)
+Ecuadorian Piculet
+Scaled Piculet
+Scaled Piculet (Scaled)
+Scaled Piculet (Black-dotted)
+White-bellied Piculet
+White-bellied Piculet (White-bellied)
+White-bellied Piculet (Mangrove)
+Arrowhead Piculet
+Spotted Piculet
+Speckle-chested Piculet
+Varzea Piculet
+White-barred Piculet
+White-barred Piculet (Marajo)
+White-barred Piculet (White-barred)
+Ocellated Piculet
+White-barred/Ocellated Piculet
+Ochre-collared Piculet
+White-barred x Ochre-collared Piculet (hybrid)
+White-barred/Ochre-collared Piculet
+White-wedged Piculet
+White-barred x White-wedged Piculet (hybrid)
+White-barred/White-wedged Piculet
+Rusty-necked Piculet
+Rufous-breasted Piculet
+Ochraceous Piculet
+Mottled Piculet
+Plain-breasted Piculet
+Fine-barred Piculet
+Olivaceous Piculet
+Grayish Piculet
+Chestnut Piculet
+new world piculet sp.
+African Piculet
+Rufous Piculet
+White-browed Piculet
+Rufous/White-browed Piculet
+Antillean Piculet
+Gray-and-buff Woodpecker
+Gray-and-buff Woodpecker (Gray-and-buff)
+Gray-and-buff Woodpecker (Red-crested)
+Heart-spotted Woodpecker
+Williamson's Sapsucker
+Yellow-bellied Sapsucker
+Red-naped Sapsucker
+Yellow-bellied x Red-naped Sapsucker (hybrid)
+Yellow-bellied/Red-naped Sapsucker
+Red-breasted Sapsucker
+Red-breasted Sapsucker (ruber)
+Red-breasted Sapsucker (daggetti)
+Yellow-bellied x Red-breasted Sapsucker (hybrid)
+Red-naped x Red-breasted Sapsucker (hybrid)
+Red-naped/Red-breasted Sapsucker
+sapsucker sp.
+Cuban Green Woodpecker
+White Woodpecker
+Lewis's Woodpecker
+Guadeloupe Woodpecker
+Puerto Rican Woodpecker
+Red-headed Woodpecker
+Acorn Woodpecker
+Acorn Woodpecker (Acorn)
+Acorn Woodpecker (Narrow-fronted)
+Golden-naped Woodpecker
+Yellow-tufted Woodpecker
+Yellow-fronted Woodpecker
+Beautiful Woodpecker
+Black-cheeked Woodpecker
+White-fronted Woodpecker
+Hispaniolan Woodpecker
+Jamaican Woodpecker
+Golden-cheeked Woodpecker
+Gray-breasted Woodpecker
+Yucatan Woodpecker
+Red-crowned Woodpecker
+Gila Woodpecker
+Hoffmann's Woodpecker
+Red-crowned x Hoffmann's Woodpecker (hybrid)
+Golden-fronted Woodpecker
+Golden-fronted Woodpecker (Northern)
+Golden-fronted Woodpecker (Velasquez's)
+Golden-fronted Woodpecker (West Mexico)
+Hoffmann's x Golden-fronted Woodpecker (hybrid)
+Hoffmann's/Golden-fronted Woodpecker
+Red-bellied Woodpecker
+Golden-fronted x Red-bellied Woodpecker (hybrid)
+Golden-fronted/Red-bellied Woodpecker
+West Indian Woodpecker
+Melanerpes sp.
+Eurasian Three-toed Woodpecker
+Eurasian Three-toed Woodpecker (Eurasian)
+Eurasian Three-toed Woodpecker (Dark-bodied)
+American Three-toed Woodpecker
+American Three-toed Woodpecker (Rocky Mts.)
+American Three-toed Woodpecker (Northwest)
+American Three-toed Woodpecker (Eastern)
+Black-backed Woodpecker
+American Three-toed/Black-backed Woodpecker
+Sulawesi Pygmy Woodpecker
+Philippine Pygmy Woodpecker
+Sulu Pygmy Woodpecker
+Brown-capped Pygmy Woodpecker
+Sunda Pygmy Woodpecker
+Gray-capped Pygmy Woodpecker
+Brown-capped/Gray-capped Pygmy Woodpecker
+Japanese Pygmy Woodpecker
+Yellow-crowned Woodpecker
+Middle Spotted Woodpecker
+Brown-fronted Woodpecker
+Arabian Woodpecker
+Abyssinian Woodpecker
+Melancholy Woodpecker
+Gabon Woodpecker
+Elliot's Woodpecker
+Elliot's Woodpecker (Elliot's)
+Elliot's Woodpecker (Johnston's)
+Little Gray Woodpecker
+Speckle-breasted Woodpecker
+Cardinal Woodpecker
+Bearded Woodpecker
+Fire-bellied Woodpecker
+Golden-crowned Woodpecker
+Stierling's Woodpecker
+Brown-backed Woodpecker
+African Gray Woodpecker
+African Gray Woodpecker (Sahel)
+African Gray Woodpecker (Gray)
+Mountain Gray Woodpecker
+Olive Woodpecker
+Olive Woodpecker (Red-bellied)
+Olive Woodpecker (Montane)
+Olive Woodpecker (Southern)
+Rufous-bellied Woodpecker
+Fulvous-breasted Woodpecker
+Freckle-breasted Woodpecker
+Stripe-breasted Woodpecker
+Okinawa Woodpecker
+White-backed Woodpecker
+White-backed Woodpecker (Lilford's)
+White-backed Woodpecker (White-backed)
+White-backed Woodpecker (Amami)
+Darjeeling Woodpecker
+Great Spotted Woodpecker
+Great Spotted Woodpecker (Canarian)
+Great Spotted Woodpecker (Atlas)
+Great Spotted Woodpecker (Great Spotted)
+Great Spotted Woodpecker (poelzami)
+Great Spotted Woodpecker (japonicus)
+Great Spotted Woodpecker (cabanisi/stresemanni)
+White-winged Woodpecker
+Himalayan Woodpecker
+Syrian Woodpecker
+Great Spotted x Syrian Woodpecker (hybrid)
+Great Spotted/Syrian Woodpecker
+Sind Woodpecker
+Dendrocopos sp.
+Lesser Spotted Woodpecker
+Crimson-breasted Woodpecker
+Crimson-breasted Woodpecker (Scarlet-breasted)
+Crimson-breasted Woodpecker (Crimson-breasted)
+Darjeeling/Crimson-breasted Woodpecker
+Downy Woodpecker
+Downy Woodpecker (Eastern)
+Downy Woodpecker (Rocky Mts.)
+Downy Woodpecker (Pacific)
+Nuttall's Woodpecker
+Downy x Nuttall's Woodpecker (hybrid)
+Ladder-backed Woodpecker
+Downy x Ladder-backed Woodpecker (hybrid)
+Downy/Ladder-backed Woodpecker
+Nuttall's x Ladder-backed Woodpecker (hybrid)
+Nuttall's/Ladder-backed Woodpecker
+Red-cockaded Woodpecker
+Hairy Woodpecker
+Hairy Woodpecker (Eastern)
+Hairy Woodpecker (Pacific)
+Hairy Woodpecker (Rocky Mts.)
+Hairy Woodpecker (South Mexican)
+Hairy Woodpecker (Costa Rican)
+Downy x Hairy Woodpecker (hybrid)
+Downy/Hairy Woodpecker
+Nuttall's x Hairy Woodpecker (hybrid)
+Ladder-backed x Hairy Woodpecker (hybrid)
+White-headed Woodpecker
+Smoky-brown Woodpecker
+Strickland's Woodpecker
+Arizona Woodpecker
+Red-rumped Woodpecker
+Golden-collared Woodpecker
+White-spotted Woodpecker
+Checkered Woodpecker
+Striped Woodpecker
+Blood-colored Woodpecker
+Little Woodpecker
+Blood-colored x Little Woodpecker (hybrid)
+Dot-fronted Woodpecker
+Scarlet-backed Woodpecker
+Yellow-vented Woodpecker
+Bar-bellied Woodpecker
+Red-stained Woodpecker
+Little/Red-stained Woodpecker
+Choco Woodpecker
+Yellow-eared Woodpecker
+Dryobates sp.
+Maroon Woodpecker
+Bay Woodpecker
+Orange-backed Woodpecker
+Greater Flameback
+Greater Flameback (Malabar)
+Greater Flameback (Greater)
+Javan Flameback
+Luzon Flameback
+Yellow-faced Flameback
+Buff-spotted Flameback
+Red-headed Flameback
+Crimson-backed Flameback
+White-naped Woodpecker
+Powerful Woodpecker
+Crimson-bellied Woodpecker
+Crimson-bellied Woodpecker (Splendid)
+Crimson-bellied Woodpecker (Crimson-bellied)
+Red-necked Woodpecker
+Robust Woodpecker
+Crimson-crested Woodpecker
+Pale-billed Woodpecker
+Guayaquil Woodpecker
+Cream-backed Woodpecker
+Crimson-crested x Cream-backed Woodpecker (hybrid)
+Magellanic Woodpecker
+Ivory-billed Woodpecker
+Ivory-billed Woodpecker (Northern)
+Ivory-billed Woodpecker (Cuban)
+Imperial Woodpecker
+Campephilus sp.
+Rufous Woodpecker
+Buff-necked Woodpecker
+Buff-rumped Woodpecker
+Buff-rumped Woodpecker (Buff-rumped)
+Buff-rumped Woodpecker (White-rumped)
+Black-and-buff Woodpecker
+Pale-headed Woodpecker
+Bamboo Woodpecker
+Pale-headed x Bamboo Woodpecker (hybrid)
+Olive-backed Woodpecker
+Himalayan Flameback
+Common Flameback
+Greater/Common Flameback
+Himalayan/Common Flameback
+Spot-throated Flameback
+Black-rumped Flameback
+Red-backed Flameback
+Black-rumped x Red-backed Flameback (hybrid)
+Black-rumped/Red-backed Flameback
+flameback sp.
+Lesser Yellownape
+Crimson-winged Woodpecker
+Streak-throated Woodpecker
+Scaly-bellied Woodpecker
+Red-collared Woodpecker
+Streak-breasted Woodpecker
+Laced Woodpecker
+Streak-breasted/Laced Woodpecker
+Japanese Woodpecker
+Gray-headed Woodpecker
+Gray-headed Woodpecker (Gray-headed)
+Gray-headed Woodpecker (Black-naped)
+Gray-headed Woodpecker (Sumatran)
+Black-headed Woodpecker
+Levaillant's Woodpecker
+Eurasian Green Woodpecker
+Eurasian Green Woodpecker (Eurasian)
+Eurasian Green Woodpecker (Mesopotamian)
+Gray-headed x Eurasian Green Woodpecker (hybrid)
+Iberian Green Woodpecker
+Eurasian x Iberian Green Woodpecker (hybrid)
+Eurasian/Iberian Green Woodpecker
+Picus sp.
+Banded Woodpecker
+Greater Yellownape
+Lesser/Greater Yellownape
+Checker-throated Woodpecker
+Checker-throated Woodpecker (Checker-throated)
+Checker-throated Woodpecker (Javan)
+Ground Woodpecker
+Brown-eared Woodpecker
+Brown-eared Woodpecker (Western)
+Brown-eared Woodpecker (Carol's)
+Buff-spotted Woodpecker
+Tullberg's Woodpecker
+Tullberg's Woodpecker (Tullberg's)
+Tullberg's Woodpecker (Fine-banded)
+Little Green Woodpecker
+Green-backed Woodpecker
+Green-backed Woodpecker (Plain-backed)
+Green-backed Woodpecker (Spot-backed)
+Nubian Woodpecker
+Fine-spotted Woodpecker
+Bennett's Woodpecker
+Bennett's Woodpecker (Bennett's)
+Bennett's Woodpecker (Light-spotted)
+Reichenow's Woodpecker
+Knysna Woodpecker
+Golden-tailed Woodpecker
+Golden-tailed Woodpecker (Streak-backed)
+Golden-tailed Woodpecker (Golden-tailed)
+Mombasa Woodpecker
+Ashy Woodpecker
+Northern Sooty-Woodpecker
+Southern Sooty-Woodpecker
+Great Slaty Woodpecker
+Lineated Woodpecker
+Lineated Woodpecker (Lineated)
+Lineated Woodpecker (Dusky-winged)
+Campephilus sp./Lineated Woodpecker
+Pileated Woodpecker
+Black-bodied Woodpecker
+Lineated x Black-bodied Woodpecker (hybrid)
+White-bellied Woodpecker
+Andaman Woodpecker
+Black Woodpecker
+Dryocopus sp.
+Cinnamon Woodpecker
+Ringed Woodpecker
+Ringed Woodpecker (Ringed)
+Ringed Woodpecker (Amazonian Black-breasted)
+Ringed Woodpecker (Atlantic Black-breasted)
+Helmeted Woodpecker
+Chestnut-colored Woodpecker
+Scale-breasted Woodpecker
+Waved Woodpecker
+Cream-colored Woodpecker
+Rufous-headed Woodpecker
+Kaempfer's Woodpecker
+Ochre-backed Woodpecker
+Chestnut Woodpecker
+Pale-crested Woodpecker
+Blond-crested Woodpecker
+Ochre-backed/Blond-crested Woodpecker
+Celeus sp.
+Rufous-winged Woodpecker
+Stripe-cheeked Woodpecker
+White-throated Woodpecker
+Lita Woodpecker
+Yellow-throated Woodpecker
+Golden-green Woodpecker
+Golden-green Woodpecker (Gold-throated)
+Golden-green Woodpecker (Bar-throated)
+Golden-green Woodpecker (Belem)
+Golden-green Woodpecker (Spot-throated)
+Golden-green Woodpecker (Golden-green)
+Golden-green Woodpecker (Atlantic)
+White-browed Woodpecker
+Piculus sp.
+Golden-olive Woodpecker
+Golden-olive Woodpecker (Bronze-winged)
+Golden-olive Woodpecker (Golden-olive)
+Golden-olive Woodpecker (rubripileus)
+Gray-crowned Woodpecker
+Crimson-mantled Woodpecker
+Crimson-mantled Woodpecker (Crimson-mantled)
+Crimson-mantled Woodpecker (Black-crowned)
+Black-necked Woodpecker
+Spot-breasted Woodpecker
+Green-barred Woodpecker
+Green-barred Woodpecker (Green-barred)
+Green-barred Woodpecker (Golden-breasted)
+Northern Flicker
+Northern Flicker (Cuban)
+Northern Flicker (Grand Cayman I.)
+Northern Flicker (Yellow-shafted)
+Northern Flicker (Red-shafted)
+Northern Flicker (Yellow-shafted x Red-shafted)
+Northern Flicker (Guatemalan)
+Gilded Flicker
+Northern x Gilded Flicker (hybrid)
+Northern/Gilded Flicker
+Bermuda Flicker
+Fernandina's Flicker
+Chilean Flicker
+Andean Flicker
+Andean Flicker (Northern)
+Andean Flicker (Southern)
+Campo Flicker
+Campo Flicker (Campo)
+Campo Flicker (Field)
+Campo Flicker (Campo x Field)
+woodpecker sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Podicipediformes/grebes.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Podicipediformes/grebes.txt
new file mode 100644
index 0000000000000000000000000000000000000000..35bd16259d2da6b5feefce9a2c257f1831ef8502
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Podicipediformes/grebes.txt
@@ -0,0 +1,33 @@
+# Originally sourced from Clements Checklist v2022
+White-tufted Grebe
+Titicaca Grebe
+Alaotra Grebe
+Little Grebe
+Little Grebe (Little)
+Little Grebe (Tricolored)
+Australasian Grebe
+Madagascar Grebe
+Least Grebe
+Pied-billed Grebe
+Atitlan Grebe
+Hoary-headed Grebe
+Australasian/Hoary-headed Grebe
+New Zealand Grebe
+Great Grebe
+Horned Grebe
+Red-necked Grebe
+Great Crested Grebe
+Eared Grebe
+Horned/Eared Grebe
+Colombian Grebe
+Silvery Grebe
+Silvery Grebe (Andean)
+Silvery Grebe (Patagonian)
+Junin Grebe
+Hooded Grebe
+Podiceps sp.
+Western Grebe
+Clark's Grebe
+Western x Clark's Grebe (hybrid)
+Western/Clark's Grebe
+grebe sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Procellariiformes/albatrosses.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Procellariiformes/albatrosses.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2468846ccd2a436045516683e9c79397aa0a3613
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Procellariiformes/albatrosses.txt
@@ -0,0 +1,34 @@
+# Originally sourced from Clements Checklist v2022
+Yellow-nosed Albatross
+Yellow-nosed Albatross (Atlantic)
+Yellow-nosed Albatross (Indian)
+Gray-headed Albatross
+Buller's Albatross
+White-capped Albatross
+White-capped Albatross (cauta)
+White-capped Albatross (steadi)
+Salvin's Albatross
+Chatham Albatross
+White-capped/Salvin's/Chatham Albatross
+Black-browed Albatross
+Black-browed Albatross (Black-browed)
+Black-browed Albatross (Campbell)
+small albatross sp.
+Sooty Albatross
+Light-mantled Albatross
+Royal Albatross
+Royal Albatross (Southern)
+Royal Albatross (Northern)
+Wandering Albatross
+Wandering Albatross (Snowy)
+Wandering Albatross (Tristan)
+Wandering Albatross (New Zealand)
+Wandering Albatross (Gibson's)
+Wandering Albatross (Amsterdam)
+large albatross sp.
+Waved Albatross
+Laysan Albatross
+Black-footed Albatross
+Laysan x Black-footed Albatross (hybrid)
+Short-tailed Albatross
+albatross sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Procellariiformes/northern_storm-petrels.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Procellariiformes/northern_storm-petrels.txt
new file mode 100644
index 0000000000000000000000000000000000000000..587bc70b32caa7dcad52f396c8cbe1a8dd8b55e5
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Procellariiformes/northern_storm-petrels.txt
@@ -0,0 +1,33 @@
+# Originally sourced from Clements Checklist v2022
+European Storm-Petrel
+European Storm-Petrel (British)
+European Storm-Petrel (Mediterranean)
+Fork-tailed Storm-Petrel
+Ringed Storm-Petrel
+Leach's Storm-Petrel
+Leach's Storm-Petrel (Leach's)
+Leach's Storm-Petrel (Chapman's)
+Townsend's Storm-Petrel
+Leach's/Townsend's Storm-Petrel
+Leach's/Townsend's Storm-Petrel (dark-rumped)
+Leach's/Townsend's Storm-Petrel (white-rumped)
+Ainley's Storm-Petrel
+Leach's/Townsend's/Ainley's Storm-Petrel
+Swinhoe's Storm-Petrel
+Ashy Storm-Petrel
+Band-rumped Storm-Petrel
+Band-rumped Storm-Petrel (Madeiran)
+Band-rumped Storm-Petrel (Grant's)
+Band-rumped Storm-Petrel (Darwin's)
+Monteiro's Storm-Petrel
+Cape Verde Storm-Petrel
+Hydrobates sp. (Band-rumped complex)
+Wedge-rumped Storm-Petrel
+Black Storm-Petrel
+Guadalupe Storm-Petrel
+Markham's Storm-Petrel
+Black/Markham's Storm-Petrel
+Matsudaira's Storm-Petrel
+Tristram's Storm-Petrel
+Least Storm-Petrel
+Hydrobates sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Procellariiformes/shearwaters_and_petrels.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Procellariiformes/shearwaters_and_petrels.txt
new file mode 100644
index 0000000000000000000000000000000000000000..18035e7d0dba97bd65430ca1fb37e86848dc5750
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Procellariiformes/shearwaters_and_petrels.txt
@@ -0,0 +1,150 @@
+# Originally sourced from Clements Checklist v2022
+Southern Giant-Petrel
+Northern Giant-Petrel
+Southern/Northern Giant-Petrel
+Northern Fulmar
+Northern Fulmar (Atlantic)
+Northern Fulmar (Pacific)
+Southern Fulmar
+Antarctic Petrel
+Cape Petrel
+Cape Petrel (Antarctic)
+Cape Petrel (Snares)
+Snow Petrel
+Kerguelen Petrel
+Large St. Helena Petrel
+Great-winged Petrel
+Gray-faced Petrel
+Great-winged/Gray-faced Petrel
+Kermadec Petrel
+Magenta Petrel
+Trindade Petrel
+Herald Petrel
+Trindade/Herald Petrel
+Murphy's Petrel
+Providence Petrel
+Henderson Petrel
+Zino's Petrel
+Fea's Petrel
+Fea's Petrel (Fea's)
+Fea's Petrel (Desertas)
+Zino's/Fea's Petrel
+Soft-plumaged Petrel
+Barau's Petrel
+White-headed Petrel
+Mottled Petrel
+Bermuda Petrel
+Black-capped Petrel
+Black-capped Petrel (hasitata)
+Black-capped Petrel (Jamaican)
+Black-capped Petrel (White-faced)
+Black-capped Petrel (Dark-faced)
+Bermuda/Black-capped Petrel
+Juan Fernandez Petrel
+Atlantic Petrel
+Galapagos Petrel
+Hawaiian Petrel
+Galapagos/Hawaiian Petrel (Dark-rumped Petrel)
+White-necked Petrel
+Juan Fernandez/White-necked Petrel
+Bonin Petrel
+Black-winged Petrel
+Chatham Petrel
+Cook's Petrel
+Masatierra Petrel
+Gould's Petrel
+Gould's Petrel (Gould's)
+Gould's Petrel (New Caledonia)
+Collared Petrel
+Collared Petrel (Collared)
+Collared Petrel (Magnificent)
+Stejneger's Petrel
+Pycroft's Petrel
+Cookilaria petrel sp.
+Phoenix Petrel
+Vanuatu Petrel
+Pterodroma sp.
+Blue Petrel
+Fairy Prion
+Broad-billed Prion
+Salvin's Prion
+MacGillivray's Prion
+Salvin's/MacGillivray's Prion
+Antarctic Prion
+Slender-billed Prion
+Fulmar Prion
+prion sp.
+Bulwer's Petrel
+Jouanin's Petrel
+Small St. Helena Petrel
+Fiji Petrel
+Mascarene Petrel
+Tahiti Petrel
+Beck's Petrel
+Lava Petrel (undescribed form)
+Pseudobulweria sp.
+Gray Petrel
+White-chinned Petrel
+Spectacled Petrel
+Parkinson's Petrel
+Westland Petrel
+Procellaria sp.
+Streaked Shearwater
+Cory's Shearwater
+Cory's Shearwater (Scopoli's)
+Cory's Shearwater (borealis)
+Cape Verde Shearwater
+Cory's/Cape Verde Shearwater
+Pink-footed Shearwater
+Flesh-footed Shearwater
+Great Shearwater
+Cory's/Great Shearwater
+Wedge-tailed Shearwater
+Buller's Shearwater
+Sooty Shearwater
+Short-tailed Shearwater
+Sooty/Short-tailed Shearwater
+Christmas Shearwater
+Galapagos Shearwater
+Galapagos Shearwater (Dark-winged)
+Galapagos Shearwater (Light-winged)
+Manx Shearwater
+Yelkouan Shearwater
+Balearic Shearwater
+Yelkouan/Balearic Shearwater
+Hutton's Shearwater
+Bannerman's Shearwater
+Townsend's Shearwater
+Newell's Shearwater
+Townsend's/Newell's Shearwater
+Rapa Shearwater
+Newell's/Rapa Shearwater
+Bryan's Shearwater
+Black-vented Shearwater
+Fluttering Shearwater
+Hutton's/Fluttering Shearwater
+Little Shearwater
+Little Shearwater (Tasman)
+Little Shearwater (Hauraki)
+Little Shearwater (Kermadec)
+Little Shearwater (West Australian)
+Subantarctic Shearwater
+Little/Subantarctic Shearwater
+Barolo Shearwater
+Boyd's Shearwater
+Barolo/Boyd's Shearwater (Macaronesian Shearwater)
+Audubon's Shearwater
+Tropical Shearwater
+Tropical Shearwater (Mascarene)
+Tropical Shearwater (Indopacific)
+Bannerman's/Tropical Shearwater
+Persian Shearwater
+Heinroth's Shearwater
+black-and-white shearwater sp.
+shearwater sp.
+Peruvian Diving-Petrel
+Common Diving-Petrel
+South Georgia Diving-Petrel
+Magellanic Diving-Petrel
+diving-petrel sp.
+Procellariid sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Procellariiformes/southern_storm-petrels.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Procellariiformes/southern_storm-petrels.txt
new file mode 100644
index 0000000000000000000000000000000000000000..83b6e12d0160e0925e19a5c9230674a6a6cd4840
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Procellariiformes/southern_storm-petrels.txt
@@ -0,0 +1,17 @@
+# Originally sourced from Clements Checklist v2022
+Wilson's Storm-Petrel
+Wilson's Storm-Petrel (Wilson's)
+Wilson's Storm-Petrel (Fuegian)
+Pincoya Storm-Petrel
+Elliot's Storm-Petrel
+Oceanites sp.
+Gray-backed Storm-Petrel
+White-faced Storm-Petrel
+White-bellied Storm-Petrel
+White-bellied Storm-Petrel (White-bellied)
+White-bellied Storm-Petrel (Rapa I.)
+New Zealand Storm-Petrel
+New Caledonian Storm-Petrel
+Black-bellied Storm-Petrel
+White-bellied/Black-bellied Storm-Petrel
+Polynesian Storm-Petrel
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Psittaciformes/cockatoos.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Psittaciformes/cockatoos.txt
new file mode 100644
index 0000000000000000000000000000000000000000..412dbea7ef29c927dee20829b0dcb2820924db69
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Psittaciformes/cockatoos.txt
@@ -0,0 +1,33 @@
+# Originally sourced from Clements Checklist v2022
+Palm Cockatoo
+Red-tailed Black-Cockatoo
+Glossy Black-Cockatoo
+Yellow-tailed Black-Cockatoo
+Carnaby's Black-Cockatoo
+Baudin's Black-Cockatoo
+black-cockatoo sp.
+Gang-gang Cockatoo
+Pink Cockatoo
+Galah
+Long-billed Corella
+Western Corella
+Little Corella
+Galah x Little Corella (hybrid)
+Long-billed x Little Corella (hybrid)
+Tanimbar Corella
+corella sp.
+Philippine Cockatoo
+Yellow-crested Cockatoo
+Yellow-crested Cockatoo (Yellow-crested)
+Yellow-crested Cockatoo (Orange-crested)
+Tanimbar Corella x Yellow-crested Cockatoo (hybrid)
+Ducorps's Cockatoo
+Sulphur-crested Cockatoo
+Little Corella x Sulphur-crested Cockatoo (hybrid)
+Blue-eyed Cockatoo
+Salmon-crested Cockatoo
+White Cockatoo
+Salmon-crested x White Cockatoo (hybrid)
+corella/cockatoo sp.
+Cockatiel
+Cockatiel (Domestic type)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Psittaciformes/new_world_and_african_parrots.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Psittaciformes/new_world_and_african_parrots.txt
new file mode 100644
index 0000000000000000000000000000000000000000..cffaebdc272592f32fc6ef57d57959ba2186aae4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Psittaciformes/new_world_and_african_parrots.txt
@@ -0,0 +1,274 @@
+# Originally sourced from Clements Checklist v2022
+Gray Parrot
+Gray Parrot (Timneh)
+Gray Parrot (Gray)
+Brown-necked Parrot
+Brown-necked Parrot (Brown-necked)
+Brown-necked Parrot (Gray-headed)
+Cape Parrot
+Red-fronted Parrot
+Red-fronted Parrot (Guinean)
+Red-fronted Parrot (Red-fronted)
+Meyer's Parrot
+Rüppell's Parrot
+Brown-headed Parrot
+Niam-Niam Parrot
+Red-bellied Parrot
+Senegal Parrot
+Yellow-fronted Parrot
+Poicephalus sp.
+Lilac-tailed Parrotlet
+Scarlet-shouldered Parrotlet
+Red-fronted Parrotlet
+Blue-fronted Parrotlet
+Sapphire-rumped Parrotlet
+Brown-backed Parrotlet
+Golden-tailed Parrotlet
+Spot-winged Parrotlet
+Touit sp.
+Gray-hooded Parakeet
+Mountain Parakeet
+Barred Parakeet
+Rufous-fronted Parakeet
+Andean Parakeet
+Barred/Andean Parakeet
+Tepui Parrotlet
+Amazonian Parrotlet
+Monk Parakeet
+Monk Parakeet (Monk)
+Monk Parakeet (Cliff)
+Tui Parakeet
+Plain Parakeet
+White-winged Parakeet
+Yellow-chevroned Parakeet
+White-winged x Yellow-chevroned Parakeet (hybrid)
+White-winged/Yellow-chevroned Parakeet
+Gray-cheeked Parakeet
+Orange-chinned Parakeet
+Cobalt-winged Parakeet
+Golden-winged Parakeet
+Brotogeris sp.
+Pileated Parrot
+Blue-bellied Parrot
+Rusty-faced Parrot
+Indigo-winged Parrot
+Red-faced Parrot
+Black-winged Parrot
+Brown-hooded Parrot
+Rose-faced Parrot
+Saffron-headed Parrot
+Orange-cheeked Parrot
+Caica Parrot
+Bald Parrot
+Vulturine Parrot
+Pyrilia sp.
+Dusky Parrot
+Red-billed Parrot
+Scaly-headed Parrot
+Speckle-faced Parrot
+Speckle-faced Parrot (White-capped)
+Speckle-faced Parrot (Plum-crowned)
+Blue-headed Parrot
+Blue-headed Parrot (Blue-headed)
+Blue-headed Parrot (Reichenow's)
+White-crowned Parrot
+Bronze-winged Parrot
+Pionus sp.
+Short-tailed Parrot
+Yellow-faced Parrot
+Festive Parrot
+Festive Parrot (Northern)
+Festive Parrot (Southern)
+Vinaceous-breasted Parrot
+Tucuman Parrot
+Red-spectacled Parrot
+Red-crowned Parrot
+Lilac-crowned Parrot
+Red-crowned x Lilac-crowned Parrot (hybrid)
+Red-lored Parrot
+Red-lored Parrot (Red-lored)
+Red-lored Parrot (Lilacine)
+Red-lored Parrot (Diademed)
+Red-crowned x Red-lored Parrot (hybrid)
+Blue-cheeked Parrot
+Red-browed Parrot
+Red-necked Parrot
+Martinique Parrot
+St. Lucia Parrot
+Yellow-naped Parrot
+Yellow-headed Parrot
+Yellow-headed Parrot (Tres Marias Is.)
+Yellow-headed Parrot (Mainland)
+Yellow-naped x Yellow-headed Parrot (hybrid)
+Yellow-naped/Yellow-headed Parrot
+Yellow-crowned Parrot
+Yellow-shouldered Parrot
+Turquoise-fronted Parrot
+Black-billed Parrot
+White-fronted Parrot
+Yellow-lored Parrot
+Yellow-billed Parrot
+Black-billed/Yellow-billed Parrot
+Cuban Parrot
+Cuban Parrot (Cuban)
+Cuban Parrot (Bahamas)
+Cuban Parrot (Cayman Is.)
+Hispaniolan Parrot
+Puerto Rican Parrot
+Mealy Parrot
+Mealy Parrot (Northern)
+Mealy Parrot (Southern)
+Kawall's Parrot
+Imperial Parrot
+Guadeloupe Parrot
+Red-tailed Parrot
+St. Vincent Parrot
+Orange-winged Parrot
+Scaly-naped Parrot
+Amazona sp.
+Dusky-billed Parrotlet
+Dusky-billed Parrotlet (Schomburgk's)
+Dusky-billed Parrotlet (Dusky-billed)
+Mexican Parrotlet
+Mexican Parrotlet (Mexican)
+Mexican Parrotlet (Tres Marias Is.)
+Turquoise-winged Parrotlet
+Riparian Parrotlet
+Cobalt-rumped Parrotlet
+Green-rumped Parrotlet
+Spectacled Parrotlet
+Pacific Parrotlet
+Yellow-faced Parrotlet
+Forpus sp.
+Black-headed Parrot
+White-bellied Parrot
+White-bellied Parrot (Black-legged)
+White-bellied Parrot (Yellow-tailed)
+White-bellied Parrot (Green-thighed)
+Red-fan Parrot
+Ochre-marked Parakeet
+Blaze-winged Parakeet
+Maroon-bellied Parakeet
+Maroon-bellied Parakeet (Maroon-tailed)
+Maroon-bellied Parakeet (Green-tailed)
+Pearly Parakeet
+Pearly Parakeet (lepida)
+Pearly Parakeet (anerythra)
+Pearly Parakeet (coerulescens)
+Crimson-bellied Parakeet
+Green-cheeked Parakeet
+Pfrimer's Parakeet
+Gray-breasted Parakeet
+Maroon-faced Parakeet
+Gray-breasted/Maroon-faced Parakeet
+Painted Parakeet
+Painted Parakeet (Azuero)
+Painted Parakeet (Sinu)
+Painted Parakeet (Todd's)
+Painted Parakeet (Venezuelan)
+Painted Parakeet (Painted)
+Santarem Parakeet
+Santarem Parakeet (Santarem)
+Santarem Parakeet (Madeira)
+Santarem Parakeet (Cristalino)
+Bonaparte's Parakeet
+Rose-fronted Parakeet
+Rose-fronted Parakeet (Wavy-breasted)
+Rose-fronted Parakeet (Garlepp's)
+Rose-fronted Parakeet (Rose-fronted)
+Santa Marta Parakeet
+Fiery-shouldered Parakeet
+Maroon-tailed Parakeet
+Maroon-tailed Parakeet (Choco)
+Maroon-tailed Parakeet (Huila)
+Maroon-tailed Parakeet (Maroon-tailed)
+El Oro Parakeet
+Black-capped Parakeet
+White-necked Parakeet
+Brown-breasted Parakeet
+Red-eared Parakeet
+Rose-headed Parakeet
+Sulphur-winged Parakeet
+Pyrrhura sp.
+Austral Parakeet
+Slender-billed Parakeet
+Austral/Slender-billed Parakeet
+Burrowing Parakeet
+Burrowing Parakeet (Olive)
+Burrowing Parakeet (Burrowing)
+Burrowing Parakeet (Chilean)
+Hyacinth Macaw
+Glaucous Macaw
+Indigo Macaw
+Thick-billed Parrot
+Maroon-fronted Parrot
+Olive-throated Parakeet
+Olive-throated Parakeet (Aztec)
+Olive-throated Parakeet (Jamaican)
+Orange-fronted Parakeet
+Peach-fronted Parakeet
+Brown-throated Parakeet
+Brown-throated Parakeet (Veraguas)
+Brown-throated Parakeet (Brown-throated)
+Cactus Parakeet
+Carolina Parakeet
+Dusky-headed Parakeet
+Nanday Parakeet
+Sun Parakeet
+Sulphur-breasted Parakeet
+Jandaya Parakeet
+Golden-capped Parakeet
+Spix's Macaw
+Red-bellied Macaw
+Blue-winged Macaw
+Blue-headed Macaw
+Yellow-collared Macaw
+Blue-and-yellow Macaw
+Blue-throated Macaw
+Chestnut-fronted Macaw
+Cuban Macaw
+Red-fronted Macaw
+Military Macaw
+Great Green Macaw
+Scarlet Macaw
+Blue-and-yellow x Scarlet Macaw (hybrid)
+Great Green x Scarlet Macaw (hybrid)
+Red-and-green Macaw
+Blue-and-yellow x Red-and-green Macaw (hybrid)
+Scarlet/Red-and-green Macaw
+large macaw sp.
+Golden-plumed Parakeet
+Yellow-eared Parrot
+Golden Parakeet
+Blue-crowned Parakeet
+Blue-crowned Parakeet (Blue-crowned)
+Blue-crowned Parakeet (Blue-headed)
+Red-shouldered Macaw
+Red-shouldered Macaw (Northern)
+Red-shouldered Macaw (Southern)
+small macaw sp.
+Green Parakeet
+Green Parakeet (Green)
+Green Parakeet (Red-throated)
+Socorro Parakeet
+Pacific Parakeet
+Green x Pacific Parakeet (hybrid)
+Green/Pacific Parakeet
+Crimson-fronted Parakeet
+Green x Crimson-fronted Parakeet (hybrid)
+Scarlet-fronted Parakeet
+Scarlet-fronted Parakeet (Scarlet-fronted)
+Scarlet-fronted Parakeet (Cordilleran)
+Mitred Parakeet
+Mitred Parakeet (Mitred)
+Mitred Parakeet (Chapman's)
+Scarlet-fronted/Mitred Parakeet
+Red-masked Parakeet
+Mitred/Red-masked Parakeet
+White-eyed Parakeet
+Cuban Parakeet
+Hispaniolan Parakeet
+Puerto Rican Parakeet
+Guadeloupe Parakeet
+Psittacara sp.
+large parakeet sp. (former Aratinga sp.)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Psittaciformes/new_zealand_parrots.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Psittaciformes/new_zealand_parrots.txt
new file mode 100644
index 0000000000000000000000000000000000000000..96c2f7a1bd812688da5d30b507875df2e3ae74fc
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Psittaciformes/new_zealand_parrots.txt
@@ -0,0 +1,5 @@
+# Originally sourced from Clements Checklist v2022
+Kea
+Norfolk Island Kaka
+New Zealand Kaka
+Kakapo
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Psittaciformes/old_world_parrots.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Psittaciformes/old_world_parrots.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d660f80ac96a37a819503f63be15476777c51577
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Psittaciformes/old_world_parrots.txt
@@ -0,0 +1,266 @@
+# Originally sourced from Clements Checklist v2022
+Pesquet's Parrot
+Greater Vasa Parrot
+Lesser Vasa Parrot
+Lesser Vasa Parrot (Comoro)
+Lesser Vasa Parrot (Black)
+Greater/Lesser Vasa Parrot
+Seychelles Parrot
+Yellow-capped Pygmy-Parrot
+Geelvink Pygmy-Parrot
+Buff-faced Pygmy-Parrot
+Red-breasted Pygmy-Parrot
+Meek's Pygmy-Parrot
+Finsch's Pygmy-Parrot
+pygmy-parrot sp.
+Superb Parrot
+Regent Parrot
+Princess Parrot
+Australian King-Parrot
+Moluccan King-Parrot
+Papuan King-Parrot
+Olive-shouldered Parrot
+Red-winged Parrot
+Australian King-Parrot x Red-winged Parrot (hybrid)
+Buru Racquet-tail
+Golden-mantled Racquet-tail
+Mindanao Racquet-tail
+Luzon Racquet-tail
+Blue-headed Racquet-tail
+Mindoro Racquet-tail
+Blue-winged Racquet-tail
+Yellow-breasted Racquet-tail
+Green Racquet-tail
+Blue-crowned Racquet-tail
+Blue-crowned Racquet-tail (Blue-crowned)
+Blue-crowned Racquet-tail (Blue-capped)
+racquet-tail sp.
+Eclectus Parrot
+Eclectus Parrot (Moluccan)
+Eclectus Parrot (Sumba)
+Eclectus Parrot (Tanimbar)
+Eclectus Parrot (Papuan)
+Oceanic Parrot
+Red-cheeked Parrot
+Blue-collared Parrot
+Singing Parrot
+Singing Parrot (Northern)
+Singing Parrot (Rennell)
+Blue-rumped Parrot
+Blue-rumped Parrot (Blue-rumped)
+Blue-rumped Parrot (Simeulue)
+Mascarene Parrot
+Alexandrine Parakeet
+Seychelles Parakeet
+Rose-ringed Parakeet
+Alexandrine/Rose-ringed Parakeet
+Echo Parakeet
+Slaty-headed Parakeet
+Gray-headed Parakeet
+Plum-headed Parakeet
+Rose-ringed x Plum-headed Parakeet (hybrid)
+Slaty-headed x Plum-headed Parakeet (hybrid)
+Blossom-headed Parakeet
+Malabar Parakeet
+Layard's Parakeet
+Derbyan Parakeet
+Red-breasted Parakeet
+Nicobar Parakeet
+Newton's Parakeet
+Long-tailed Parakeet
+Long-tailed Parakeet (Andaman)
+Long-tailed Parakeet (Nicobar)
+Long-tailed Parakeet (Long-tailed)
+Long-tailed Parakeet (Enggano)
+Psittacula sp.
+Mauritius Gray Parrot
+Broad-billed Parrot
+Rodrigues Parrot
+Painted Tiger-Parrot
+Painted Tiger-Parrot (Snow Mountains)
+Painted Tiger-Parrot (Eastern)
+Brehm's Tiger-Parrot
+Modest Tiger-Parrot
+Madarasz's Tiger-Parrot
+tiger-parrot sp.
+Black-lored Parrot
+Great-billed Parrot
+Blue-naped Parrot
+Azure-rumped Parrot
+Azure-rumped Parrot (Blue-backed)
+Azure-rumped Parrot (Azure-rumped)
+Ground Parrot
+Ground Parrot (Western)
+Ground Parrot (Eastern)
+Night Parrot
+Bourke's Parrot
+Blue-winged Parrot
+Elegant Parrot
+Rock Parrot
+Orange-bellied Parrot
+Turquoise Parrot
+Scarlet-chested Parrot
+Neophema sp.
+Swift Parrot
+Crimson Shining-Parrot
+Red Shining-Parrot
+Masked Shining-Parrot
+Horned Parakeet
+Ouvea Parakeet
+Raiatea Parakeet
+Black-fronted Parakeet
+Antipodes Parakeet
+Red-crowned Parakeet
+Reischek's Parakeet
+New Caledonian Parakeet
+Norfolk Island Parakeet
+Yellow-crowned Parakeet
+Chatham Islands Parakeet
+Malherbe's Parakeet
+Cyanoramphus sp.
+Australian Ringneck
+Australian Ringneck (Twenty-eight)
+Australian Ringneck (Port Lincoln)
+Australian Ringneck (Mallee)
+Australian Ringneck (Cloncurry)
+Australian Ringneck (Twenty-eight x Port Lincoln)
+Green Rosella
+Crimson Rosella
+Crimson Rosella (Crimson)
+Crimson Rosella (Yellow)
+Crimson Rosella (Crimson x Yellow)
+Crimson Rosella (Adelaide)
+Northern Rosella
+Eastern Rosella
+Green x Eastern Rosella (hybrid)
+Crimson x Eastern Rosella (hybrid)
+Pale-headed Rosella
+Eastern x Pale-headed Rosella (hybrid)
+Crimson x Pale-headed Rosella (hybrid)
+Western Rosella
+Greater Bluebonnet
+Greater Bluebonnet (Yellow-vented)
+Greater Bluebonnet (Red-vented)
+Naretha Bluebonnet
+Red-rumped Parrot
+Mulga Parrot
+Hooded Parrot
+Golden-shouldered Parrot
+Paradise Parrot
+Red-capped Parrot
+Orange-breasted Fig-Parrot
+Orange-breasted Fig-Parrot (Dusky-cheeked)
+Orange-breasted Fig-Parrot (Blue-fronted)
+Orange-breasted Fig-Parrot (Black-fronted)
+Orange-breasted Fig-Parrot (Creamy-breasted)
+Double-eyed Fig-Parrot
+Double-eyed Fig-Parrot (Double-eyed)
+Double-eyed Fig-Parrot (Coxen's)
+Large Fig-Parrot
+Large Fig-Parrot (Large)
+Large Fig-Parrot (Yellow-naped)
+Large Fig-Parrot (Red-faced)
+Edwards's Fig-Parrot
+Salvadori's Fig-Parrot
+Guaiabero
+Budgerigar
+Budgerigar (Domestic type)
+Plum-faced Lorikeet
+Pygmy Lorikeet
+Red-fronted Lorikeet
+Red-flanked Lorikeet
+Blue-fronted Lorikeet
+Fairy Lorikeet
+Striated Lorikeet
+Josephine's Lorikeet
+Papuan Lorikeet
+Papuan Lorikeet (Vogelkop)
+Papuan Lorikeet (Stella's)
+Duchess Lorikeet
+Meek's Lorikeet
+New Caledonian Lorikeet
+Red-chinned Lorikeet
+Palm Lorikeet
+Red-throated Lorikeet
+Collared Lory
+Blue-crowned Lorikeet
+Ultramarine Lorikeet
+Stephen's Lorikeet
+Kuhl's Lorikeet
+Blue Lorikeet
+Yellow-billed Lorikeet
+Orange-billed Lorikeet
+Yellow-billed/Orange-billed Lorikeet
+White-naped Lory
+Yellow-bibbed Lory
+Chattering Lory
+Purple-naped Lory
+Purple-bellied Lory
+Black-capped Lory
+Varied Lorikeet
+Little Lorikeet
+Purple-crowned Lorikeet
+Dusky Lory
+Cardinal Lory
+Brown Lory
+Black Lory
+Yellow-streaked Lory
+Goldie's Lorikeet
+Musk Lorikeet
+Mindanao Lorikeet
+Iris Lorikeet
+Ornate Lorikeet
+Yellow-cheeked Lorikeet
+Sula Lorikeet
+Blue-streaked Lory
+Blue-eared Lory
+Red Lory
+Black-winged Lory
+Red-and-blue Lory
+Violet-necked Lory
+Pohnpei Lorikeet
+Scaly-breasted Lorikeet
+Coconut Lorikeet
+Coconut Lorikeet (Biak)
+Coconut Lorikeet (Coconut)
+Rainbow Lorikeet
+Musk x Rainbow Lorikeet (hybrid)
+Scaly-breasted x Rainbow Lorikeet (hybrid)
+Scaly-breasted/Rainbow Lorikeet
+lorikeet sp. (Musk/Rainbow/Scaly-breasted Lorikeet hybrid)
+Red-collared Lorikeet
+Rainbow x Red-collared Lorikeet (hybrid)
+Rainbow/Red-collared Lorikeet
+rainbow lorikeet sp.
+Olive-headed Lorikeet
+Marigold Lorikeet
+Leaf Lorikeet
+Sunset Lorikeet
+lorikeet sp.
+Vernal Hanging-Parrot
+Sri Lanka Hanging-Parrot
+Philippine Hanging-Parrot
+Camiguin Hanging-Parrot
+Blue-crowned Hanging-Parrot
+Sulawesi Hanging-Parrot
+Sula Hanging-Parrot
+Moluccan Hanging-Parrot
+Sangihe Hanging-Parrot
+Papuan Hanging-Parrot
+Green-fronted Hanging-Parrot
+Pygmy Hanging-Parrot
+Yellow-throated Hanging-Parrot
+Wallace's Hanging-Parrot
+hanging-parrot sp.
+Black-collared Lovebird
+Gray-headed Lovebird
+Red-headed Lovebird
+Black-winged Lovebird
+Rosy-faced Lovebird
+Fischer's Lovebird
+Yellow-collared Lovebird
+Fischer's x Yellow-collared Lovebird (hybrid)
+Fischer's/Yellow-collared Lovebird
+Lilian's Lovebird
+Black-cheeked Lovebird
+lovebird sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Pterocliformes/sandgrouse.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Pterocliformes/sandgrouse.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e7440c2f68eb63f35855e0b7bfa6fd7d1c0e3b96
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Pterocliformes/sandgrouse.txt
@@ -0,0 +1,25 @@
+# Originally sourced from Clements Checklist v2022
+Tibetan Sandgrouse
+Pallas's Sandgrouse
+Pin-tailed Sandgrouse
+Pin-tailed Sandgrouse (Iberian)
+Pin-tailed Sandgrouse (Pin-tailed)
+Namaqua Sandgrouse
+Chestnut-bellied Sandgrouse
+Chestnut-bellied Sandgrouse (African)
+Chestnut-bellied Sandgrouse (Arabian)
+Chestnut-bellied Sandgrouse (Asian)
+Spotted Sandgrouse
+Black-bellied Sandgrouse
+Yellow-throated Sandgrouse
+Crowned Sandgrouse
+Black-faced Sandgrouse
+Madagascar Sandgrouse
+Lichtenstein's Sandgrouse
+Lichtenstein's Sandgrouse (Lichtenstein's)
+Lichtenstein's Sandgrouse (Close-barred)
+Double-banded Sandgrouse
+Four-banded Sandgrouse
+Painted Sandgrouse
+Burchell's Sandgrouse
+sandgrouse sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Rheiformes/rheas.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Rheiformes/rheas.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b1a22c64cbcf8673bb027de4c96a498d3618a3dd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Rheiformes/rheas.txt
@@ -0,0 +1,5 @@
+# Originally sourced from Clements Checklist v2022
+Greater Rhea
+Lesser Rhea
+Lesser Rhea (Puna)
+Lesser Rhea (Darwin's)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Sphenisciformes/penguins.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Sphenisciformes/penguins.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7fb0147b0d2691a7aefbdbc61e89d590d4b13494
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Sphenisciformes/penguins.txt
@@ -0,0 +1,23 @@
+# Originally sourced from Clements Checklist v2022
+King Penguin
+Emperor Penguin
+Adelie Penguin
+Gentoo Penguin
+Chinstrap Penguin
+Yellow-eyed Penguin
+Little Penguin
+African Penguin
+Humboldt Penguin
+Galapagos Penguin
+Magellanic Penguin
+Fiordland Penguin
+Erect-crested Penguin
+Macaroni Penguin
+Royal Penguin
+Southern Rockhopper Penguin
+Southern Rockhopper Penguin (Western)
+Southern Rockhopper Penguin (Eastern)
+Macaroni x Southern Rockhopper Penguin (hybrid)
+Moseley's Rockhopper Penguin
+Snares Penguin
+penguin sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Strigiformes/barn-owls.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Strigiformes/barn-owls.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2c70e9375fa48de5eac1dd27121437d770a55d96
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Strigiformes/barn-owls.txt
@@ -0,0 +1,36 @@
+# Originally sourced from Clements Checklist v2022
+Sooty Owl
+Sooty Owl (Greater)
+Sooty Owl (Lesser)
+Australian Masked-Owl
+Golden Masked-Owl
+Seram Masked-Owl
+Lesser Masked-Owl
+Lesser Masked-Owl (Buru)
+Lesser Masked-Owl (Tanimbar)
+Manus Masked-Owl
+Taliabu Masked-Owl
+Minahasa Masked-Owl
+Sulawesi Masked-Owl
+Itombwe Owl
+Australasian Grass-Owl
+African Grass-Owl
+Barn Owl
+Barn Owl (Eurasian)
+Barn Owl (Madeiran)
+Barn Owl (Canary Is.)
+Barn Owl (African)
+Barn Owl (Cape Verde)
+Barn Owl (Sao Tome)
+Barn Owl (Boang)
+Barn Owl (Eastern)
+Barn Owl (American)
+Barn Owl (White-winged)
+Barn Owl (Curacao)
+Barn Owl (Lesser Antilles)
+Barn Owl (Galapagos)
+Andaman Masked-Owl
+Ashy-faced Owl
+Red Owl
+Oriental Bay-Owl
+Sri Lanka Bay-Owl
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Strigiformes/owls.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Strigiformes/owls.txt
new file mode 100644
index 0000000000000000000000000000000000000000..64f353c298531ce4c86c5d1e96e23b7f6421e54f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Strigiformes/owls.txt
@@ -0,0 +1,353 @@
+# Originally sourced from Clements Checklist v2022
+White-fronted Scops-Owl
+Andaman Scops-Owl
+Reddish Scops-Owl
+Serendib Scops-Owl
+Sandy Scops-Owl
+Sandy Scops-Owl (Sandy)
+Sandy Scops-Owl (Reddish)
+Sokoke Scops-Owl
+Flores Scops-Owl
+Mountain Scops-Owl
+Rajah Scops-Owl
+Rajah Scops-Owl (Sumatran)
+Rajah Scops-Owl (Bornean)
+Javan Scops-Owl
+Mentawai Scops-Owl
+Indian Scops-Owl
+Collared Scops-Owl
+Giant Scops-Owl
+Sunda Scops-Owl
+Collared/Sunda Scops-Owl
+Japanese Scops-Owl
+Wallace's Scops-Owl
+Palawan Scops-Owl
+Philippine Scops-Owl
+Everett's Scops-Owl
+Negros Scops-Owl
+Mindoro Scops-Owl
+Moluccan Scops-Owl
+Moluccan Scops-Owl (Moluccan)
+Moluccan Scops-Owl (Kalidupa)
+Wetar Scops-Owl
+Rinjani Scops-Owl
+Palau Scops-Owl
+Mantanani Scops-Owl
+Ryukyu Scops-Owl
+Sulawesi Scops-Owl
+Banggai Scops-Owl
+Sangihe Scops-Owl
+Siau Scops-Owl
+Sula Scops-Owl
+Biak Scops-Owl
+Simeulue Scops-Owl
+Enggano Scops-Owl
+Nicobar Scops-Owl
+Arabian Scops-Owl
+Eurasian Scops-Owl
+Cyprus Scops-Owl
+Eurasian/Cyprus Scops-Owl
+Pemba Scops-Owl
+Sao Tome Scops-Owl
+Principe Scops-Owl (undescribed form)
+African Scops-Owl
+African Scops-Owl (African)
+African Scops-Owl (Annobon)
+African Scops-Owl (Snowy)
+Pallid Scops-Owl
+Eurasian/Pallid Scops-Owl
+Mindanao Scops-Owl
+Luzon Scops-Owl
+Moheli Scops-Owl
+Comoro Scops-Owl
+Seychelles Scops-Owl
+Oriental Scops-Owl
+Oriental Scops-Owl (Oriental)
+Oriental Scops-Owl (Walden's)
+Socotra Scops-Owl
+Anjouan Scops-Owl
+Mayotte Scops-Owl
+Reunion Scops-Owl
+Rodrigues Scops-Owl
+Mauritius Scops-Owl
+Madagascar Scops-Owl
+Madagascar Scops-Owl (Rainforest)
+Madagascar Scops-Owl (Torotoroka)
+scops-owl sp.
+Flammulated Owl
+Puerto Rican Owl
+Bare-shanked Screech-Owl
+Whiskered Screech-Owl
+White-throated Screech-Owl
+Tropical Screech-Owl
+Koepcke's Screech-Owl
+Koepcke's Screech-Owl (Koepcke's)
+Koepcke's Screech-Owl (Apurimac)
+Rufescent Screech-Owl
+Rufescent Screech-Owl (Colombian)
+Rufescent Screech-Owl (Rufescent)
+Cinnamon Screech-Owl
+Cloud-forest Screech-Owl
+Montane Forest Screech-Owl
+Middle American Screech-Owl
+Middle American Screech-Owl (Middle American)
+Middle American Screech-Owl (Vermiculated)
+Choco Screech-Owl
+Foothill Screech-Owl
+Foothill Screech-Owl (Roraima)
+Foothill Screech-Owl (Foothill)
+Long-tufted Screech-Owl
+Bearded Screech-Owl
+Balsas Screech-Owl
+Pacific Screech-Owl
+Pacific Screech-Owl (lambi)
+Pacific Screech-Owl (cooperi)
+Western Screech-Owl
+Western Screech-Owl (Northern)
+Western Screech-Owl (Vinaceous)
+Western Screech-Owl (Sutton's)
+Eastern Screech-Owl
+Eastern Screech-Owl (Northern)
+Eastern Screech-Owl (McCall's)
+Western x Eastern Screech-Owl (hybrid)
+Santa Marta Screech-Owl
+Peruvian Screech-Owl
+Peruvian Screech-Owl (pacificus)
+Peruvian Screech-Owl (roboratus)
+Tawny-bellied Screech-Owl
+Tawny-bellied Screech-Owl (Tawny-bellied)
+Tawny-bellied Screech-Owl (Austral)
+Black-capped Screech-Owl
+screech-owl sp.
+Bare-legged Owl
+Northern White-faced Owl
+Southern White-faced Owl
+Crested Owl
+Maned Owl
+Spectacled Owl
+Tawny-browed Owl
+Band-bellied Owl
+Pulsatrix sp.
+Snowy Owl
+Great Horned Owl
+Lesser Horned Owl
+Great/Lesser Horned Owl
+Rock Eagle-Owl
+Grayish Eagle-Owl
+Spotted Eagle-Owl
+Arabian Eagle-Owl
+Cape Eagle-Owl
+Cape Eagle-Owl (Northern)
+Cape Eagle-Owl (Cape)
+Pharaoh Eagle-Owl
+Pharaoh Eagle-Owl (Pharaoh)
+Pharaoh Eagle-Owl (Desert)
+Eurasian Eagle-Owl
+Bubo sp.
+Fraser's Eagle-Owl
+Fraser's Eagle-Owl (Western)
+Fraser's Eagle-Owl (Usambara)
+Akun Eagle-Owl
+Verreaux's Eagle-Owl
+Shelley's Eagle-Owl
+Blakiston's Fish-Owl
+Blakiston's Fish-Owl (doerriesi)
+Blakiston's Fish-Owl (blakistoni)
+Buffy Fish-Owl
+Brown Fish-Owl
+Brown Fish-Owl (Turkish)
+Brown Fish-Owl (Eastern)
+Buffy x Brown Fish-Owl (hybrid)
+Tawny Fish-Owl
+Dusky Eagle-Owl
+Spot-bellied Eagle-Owl
+Barred Eagle-Owl
+Philippine Eagle-Owl
+Pel's Fishing-Owl
+Rufous Fishing-Owl
+Vermiculated Fishing-Owl
+Northern Hawk Owl
+Northern Hawk Owl (American)
+Northern Hawk Owl (Eurasian)
+Eurasian Pygmy-Owl
+Pearl-spotted Owlet
+Northern Pygmy-Owl
+Northern Pygmy-Owl (Mountain)
+Northern Pygmy-Owl (Pacific)
+Northern Pygmy-Owl (Rocky Mts.)
+Northern Pygmy-Owl (Guatemalan)
+Northern Pygmy-Owl (Cape)
+Costa Rican Pygmy-Owl
+Cloud-forest Pygmy-Owl
+Andean Pygmy-Owl
+Yungas Pygmy-Owl
+Subtropical Pygmy-Owl
+Central American Pygmy-Owl
+Tamaulipas Pygmy-Owl
+Colima Pygmy-Owl
+Amazonian Pygmy-Owl
+Pernambuco Pygmy-Owl
+Least Pygmy-Owl
+Ferruginous Pygmy-Owl
+Ferruginous Pygmy-Owl (Ferruginous)
+Ferruginous Pygmy-Owl (Tucuman)
+Austral Pygmy-Owl
+Ferruginous/Austral Pygmy-Owl
+Peruvian Pygmy-Owl
+Cuban Pygmy-Owl
+Red-chested Owlet
+Red-chested Owlet (Western)
+Red-chested Owlet (Pycraft's)
+Red-chested Owlet (Eastern)
+Sjöstedt's Owlet
+Asian Barred Owlet
+Javan Owlet
+Jungle Owlet
+Asian Barred/Jungle Owlet
+Chestnut-backed Owlet
+African Barred Owlet
+African Barred Owlet (Spot-fronted)
+African Barred Owlet (Bar-fronted)
+African Barred Owlet (Etchecopar's)
+African Barred Owlet (Chestnut)
+Albertine Owlet
+Glaucidium sp.
+Collared Owlet
+Sunda Owlet
+Elf Owl
+Long-whiskered Owlet
+Spotted Owlet
+Little Owl
+Little Owl (Little)
+Little Owl (Abyssinian)
+Little Owl (Lilith)
+Little Owl (Hutton's)
+Forest Owlet
+West Solomons Owl
+Guadalcanal Owl
+Malaita Owl
+Makira Owl
+White-browed Owl
+Burrowing Owl
+Burrowing Owl (Western)
+Burrowing Owl (Florida)
+Burrowing Owl (guadeloupensis Group)
+Burrowing Owl (Andean)
+Burrowing Owl (Littoral)
+Burrowing Owl (grallaria)
+Burrowing Owl (Southern)
+Mottled Owl
+Mottled Owl (Mottled)
+Mottled Owl (Amazonian)
+Mottled Owl (Atlantic Forest)
+Black-and-white Owl
+Black-banded Owl
+Black-banded Owl (San Isidro)
+Rufous-banded Owl
+neotropical Strix sp.
+Spotted Wood-Owl
+Mottled Wood-Owl
+Brown Wood-Owl
+Brown Wood-Owl (Brown)
+Brown Wood-Owl (Nias)
+Brown Wood-Owl (Bornean)
+Tawny Owl
+Maghreb Owl
+Himalayan Owl
+Desert Owl
+Omani Owl
+Spotted Owl
+Spotted Owl (Northern)
+Spotted Owl (California)
+Spotted Owl (Mexican)
+Barred Owl
+Spotted x Barred Owl (hybrid)
+Spotted/Barred Owl
+Cinereous Owl
+Fulvous Owl
+Rusty-barred Owl
+Rufous-legged Owl
+Chaco Owl
+Ural Owl
+Ural Owl (Ural)
+Ural Owl (Pere David's)
+Great Gray Owl
+Great Gray Owl (American)
+Great Gray Owl (Lapland)
+African Wood-Owl
+Strix sp.
+Jamaican Owl
+Long-eared Owl
+Long-eared Owl (American)
+Long-eared Owl (Eurasian)
+Abyssinian Owl
+Madagascar Owl
+Striped Owl
+Stygian Owl
+Short-eared Owl
+Short-eared Owl (Northern)
+Short-eared Owl (Pohnpei)
+Short-eared Owl (Hawaiian)
+Short-eared Owl (Antillean)
+Short-eared Owl (Galapagos)
+Short-eared Owl (South American)
+Long-eared/Short-eared Owl
+Marsh Owl
+Fearful Owl
+Asio sp.
+Boreal Owl
+Boreal Owl (Tengmalm's)
+Boreal Owl (Richardson's)
+Northern Saw-whet Owl
+Northern Saw-whet Owl (acadicus)
+Northern Saw-whet Owl (Haida Gwaii)
+Boreal/Northern Saw-whet Owl
+Bermuda Saw-whet Owl
+Unspotted Saw-whet Owl
+pygmy-owl/saw-whet owl sp.
+Buff-fronted Owl
+Rufous Owl
+Powerful Owl
+Barking Owl
+Sumba Boobook
+Andaman Boobook
+Southern Boobook
+Southern Boobook (Boobook)
+Southern Boobook (Red)
+Rote Boobook
+Timor Boobook
+Alor Boobook
+Tasmanian Boobook
+Southern/Tasmanian Boobook
+Morepork
+Laughing Owl
+Least Boobook
+Brown Boobook
+Hume's Boobook
+Northern Boobook
+Brown/Northern Boobook
+Chocolate Boobook
+Luzon Boobook
+Mindanao Boobook
+Mindoro Boobook
+Romblon Boobook
+Cebu Boobook
+Camiguin Boobook
+Sulu Boobook
+Ochre-bellied Boobook
+Togian Boobook
+Cinnabar Boobook
+White-spotted Boobook (undescribed form)
+Halmahera Boobook
+Tanimbar Boobook
+Seram Boobook
+Buru Boobook
+Christmas Island Boobook
+Papuan Boobook
+Manus Boobook
+Speckled Boobook
+Bismarck Boobook
+New Britain Boobook
+boobook sp.
+Papuan Owl
+owl sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Struthioniformes/ostriches.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Struthioniformes/ostriches.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e7abb10ee255aea14492477f1ccc5bac00ff9bf0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Struthioniformes/ostriches.txt
@@ -0,0 +1,4 @@
+# Originally sourced from Clements Checklist v2022
+Common Ostrich
+Somali Ostrich
+Common/Somali Ostrich
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Suliformes/anhingas.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Suliformes/anhingas.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ef1e7efd6f637745e6d47878877bab1e680cbdd8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Suliformes/anhingas.txt
@@ -0,0 +1,5 @@
+# Originally sourced from Clements Checklist v2022
+Anhinga
+African Darter
+Oriental Darter
+Australasian Darter
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Suliformes/boobies_and_gannets.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Suliformes/boobies_and_gannets.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c7b836bbdb68b7745f5a81c92ec0e2b99fdad6f9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Suliformes/boobies_and_gannets.txt
@@ -0,0 +1,23 @@
+# Originally sourced from Clements Checklist v2022
+Masked Booby
+Nazca Booby
+Masked/Nazca Booby
+Blue-footed Booby
+Peruvian Booby
+Brown Booby
+Brown Booby (Brewster's)
+Brown Booby (Atlantic)
+Brown Booby (Forster's)
+Brown Booby (Colombian)
+Masked x Brown Booby (hybrid)
+Blue-footed x Brown Booby (hybrid)
+Red-footed Booby
+Red-footed Booby (Atlantic)
+Red-footed Booby (Indopacific)
+Red-footed Booby (Eastern Pacific)
+booby sp.
+Abbott's Booby
+Northern Gannet
+Cape Gannet
+Australasian Gannet
+sulid sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Suliformes/cormorants_and_shags.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Suliformes/cormorants_and_shags.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e6fd12803bb879c30402478c7840586036d4e09a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Suliformes/cormorants_and_shags.txt
@@ -0,0 +1,61 @@
+# Originally sourced from Clements Checklist v2022
+Little Pied Cormorant
+Long-tailed Cormorant
+Crowned Cormorant
+Little Cormorant
+Pygmy Cormorant
+Red-legged Cormorant
+Brandt's Cormorant
+Red-faced Cormorant
+Pelagic Cormorant
+Pallas's Cormorant
+Bank Cormorant
+Cape Cormorant
+Great Cormorant
+Great Cormorant (Dark-breasted)
+Great Cormorant (North Atlantic)
+Great Cormorant (Australasian)
+Great Cormorant (Eurasian)
+Great Cormorant (Moroccan)
+Great Cormorant (White-breasted)
+Japanese Cormorant
+Great/Japanese Cormorant
+Socotra Cormorant
+Spotted Shag
+Pitt Island Shag
+Indian Cormorant
+Little/Indian Cormorant
+Little Black Cormorant
+Pied Cormorant
+Black-faced Cormorant
+European Shag
+European Shag (Atlantic)
+European Shag (Mediterranean)
+European Shag (Moroccan)
+Great Cormorant/European Shag
+Flightless Cormorant
+Double-crested Cormorant
+Great/Double-crested Cormorant
+Neotropic Cormorant
+Double-crested x Neotropic Cormorant (hybrid)
+Double-crested/Neotropic Cormorant
+Magellanic Cormorant
+Guanay Cormorant
+Bounty Islands Shag
+New Zealand King Shag
+Stewart Island Shag
+Stewart Island Shag (Otago)
+Stewart Island Shag (Foveaux)
+Chatham Islands Shag
+Auckland Islands Shag
+Campbell Islands Shag
+South Georgia Shag
+Imperial Cormorant
+Imperial Cormorant (Blue-eyed)
+Imperial Cormorant (King)
+Antarctic Shag
+Crozet Shag
+Kerguelen Shag
+Heard Island Shag
+Macquarie Shag
+cormorant sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Suliformes/frigatebirds.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Suliformes/frigatebirds.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ddc7bd2efadc35e6ed3608b2d792546963708733
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Suliformes/frigatebirds.txt
@@ -0,0 +1,9 @@
+# Originally sourced from Clements Checklist v2022
+Lesser Frigatebird
+Lesser Frigatebird (Lesser)
+Lesser Frigatebird (Trindade)
+Ascension Frigatebird
+Magnificent Frigatebird
+Christmas Island Frigatebird
+Great Frigatebird
+frigatebird sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Tinamiformes/tinamous.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Tinamiformes/tinamous.txt
new file mode 100644
index 0000000000000000000000000000000000000000..34a5e107b8399a45376ab02b4e344937ac7bbf84
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Tinamiformes/tinamous.txt
@@ -0,0 +1,59 @@
+# Originally sourced from Clements Checklist v2022
+Tawny-breasted Tinamou
+Highland Tinamou
+Highland Tinamou (South American)
+Highland Tinamou (Costa Rican)
+Hooded Tinamou
+Gray Tinamou
+Solitary Tinamou
+Black Tinamou
+Great Tinamou
+White-throated Tinamou
+Tinamus sp.
+Cinereous Tinamou
+Berlepsch's Tinamou
+Little Tinamou
+Tepui Tinamou
+Brown Tinamou
+Brown Tinamou (castaneus)
+Brown Tinamou (Brown)
+Undulated Tinamou
+Pale-browed Tinamou
+Brazilian Tinamou
+Gray-legged Tinamou
+Red-legged Tinamou
+Yellow-legged Tinamou
+Yellow-legged Tinamou (zabele)
+Yellow-legged Tinamou (noctivagus)
+Black-capped Tinamou
+Slaty-breasted Tinamou
+Choco Tinamou
+Variegated Tinamou
+Thicket Tinamou
+Thicket Tinamou (occidentalis)
+Thicket Tinamou (cinnamomeus Group)
+Rusty Tinamou
+Bartlett's Tinamou
+Small-billed Tinamou
+Barred Tinamou
+Tataupa Tinamou
+Crypturellus sp.
+Red-winged Tinamou
+Huayco Tinamou
+Taczanowski's Tinamou
+Ornate Tinamou
+Chilean Tinamou
+Brushland Tinamou
+Andean Tinamou
+Curve-billed Tinamou
+Nothoprocta sp.
+White-bellied Nothura
+Lesser Nothura
+Darwin's Nothura
+Spotted Nothura
+Dwarf Tinamou
+Elegant Crested-Tinamou
+Quebracho Crested-Tinamou
+Puna Tinamou
+Patagonian Tinamou
+tinamou sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Trogoniformes/trogons.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Trogoniformes/trogons.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e91869595798287b74e7709dc2eb75517ea92afd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/birds/Trogoniformes/trogons.txt
@@ -0,0 +1,68 @@
+# Originally sourced from Clements Checklist v2022
+Eared Quetzal
+Pavonine Quetzal
+Golden-headed Quetzal
+Resplendent Quetzal
+Resplendent Quetzal (Guatemalan)
+Resplendent Quetzal (Costa Rican)
+White-tipped Quetzal
+Crested Quetzal
+Golden-headed/Crested Quetzal
+Cuban Trogon
+Hispaniolan Trogon
+Lattice-tailed Trogon
+Slaty-tailed Trogon
+Slaty-tailed Trogon (Massena)
+Slaty-tailed Trogon (Chapman's)
+Blue-tailed Trogon
+Ecuadorian Trogon
+Black-tailed Trogon
+Black-tailed Trogon (Large-tailed)
+Black-tailed Trogon (Black-tailed)
+Black-headed Trogon
+Citreoline Trogon
+White-tailed Trogon
+Green-backed Trogon
+Baird's Trogon
+Gartered Trogon
+Guianan Trogon
+Amazonian Trogon
+Guianan/Amazonian Trogon
+Blue-crowned Trogon
+Surucua Trogon
+Surucua Trogon (Orange-bellied)
+Surucua Trogon (Red-bellied)
+Black-throated Trogon
+Black-throated Trogon (tenellus)
+Black-throated Trogon (cupreicauda)
+Black-throated Trogon (rufus Group)
+Black-throated Trogon (chrysochloros)
+Elegant Trogon
+Elegant Trogon (Coppery-tailed)
+Elegant Trogon (Elegant)
+Mountain Trogon
+Collared Trogon
+Collared Trogon (Xalapa)
+Collared Trogon (Orange-bellied)
+Collared Trogon (Collared)
+Masked Trogon
+new world trogon sp.
+Narina Trogon
+Bare-cheeked Trogon
+Bar-tailed Trogon
+african trogon sp.
+Javan Trogon
+Sumatran Trogon
+Malabar Trogon
+Red-naped Trogon
+Diard's Trogon
+Philippine Trogon
+Whitehead's Trogon
+Cinnamon-rumped Trogon
+Scarlet-rumped Trogon
+Red-headed Trogon
+Orange-breasted Trogon
+Orange-breasted Trogon (Spice)
+Orange-breasted Trogon (Orange-breasted)
+Ward's Trogon
+asian trogon sp.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/cats.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/cats.txt
new file mode 100644
index 0000000000000000000000000000000000000000..18c286baed4a22f3915b9a4bdf49dbc5340b58be
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/cats.txt
@@ -0,0 +1,97 @@
+# originally sourced from https://github.com/dariusk/corpora/blob/master/data/animals/cats.json
+Abyssinian
+Aegean
+American Bobtail
+American Curl
+American Shorthair
+American Wirehair
+Arabian Mau
+Asian
+Asian Semi-longhair
+Australian Mist
+Balinese
+Bambino
+Bengal
+Birman
+Bombay
+Brazilian Shorthair
+British Longhair
+British Semi-longhair
+British Shorthair
+Burmese
+Burmilla
+California Spangled
+Chantilly-Tiffany
+Chartreux
+Chausie
+Cheetoh
+Colorpoint Shorthair
+Cornish Rex
+Cymric
+Cyprus
+Devon Rex
+Donskoy
+Dragon Li
+Dwarf cat
+Egyptian Mau
+European Shorthair
+Exotic Shorthair
+Foldex
+German Rex
+Havana Brown
+Highlander
+Himalayan
+Japanese Bobtail
+Javanese
+Khao Manee
+Korat
+Korean Bobtail
+Korn Ja
+Kurilian Bobtail
+LaPerm
+Lykoi
+Maine Coon
+Manx
+Mekong Bobtail
+Minskin
+Munchkin
+Napoleon
+Nebelung
+Norwegian Forest cat
+Ocicat
+Ojos Azules
+Oregon Rex
+Oriental Bicolor
+Oriental Longhair
+Oriental Shorthair
+PerFold
+Persian (Modern)
+Persian (Traditional)
+Peterbald
+Pixie-bob
+Raas
+Ragamuffin
+Ragdoll
+Russian Blue
+Russian White, Black and Tabby
+Sam Sawet
+Savannah
+Scottish Fold
+Selkirk Rex
+Serengeti
+Serrade Petit
+Siamese
+Siberian
+Singapura
+Snowshoe
+Sokoke
+Somali
+Sphynx
+Suphalak
+Thai
+Thai Lilac
+Tonkinese
+Toyger
+Turkish Angora
+Turkish Van
+Ukrainian Levkoy
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/dinosaurs.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/dinosaurs.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c7bb747026cfab1ab9d93c1afb83e5b66f3e3184
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/dinosaurs.txt
@@ -0,0 +1,1450 @@
+# Originally sourced from https://github.com/dariusk/corpora/blob/master/data/animals/dinosaurs.json
+Kangnasaurus
+Lophostropheus
+Spinophorosaurus
+Epachthosaurus
+Coelurosauria
+Lycorhinus
+Adasaurus
+Draconyx
+Ceratops
+Lagerpeton
+Qiaowanlong
+Rhynchosaur
+Ningyuansaurus
+Palaeolimnornis
+Anabisetia
+Talarurus
+Sphenodontia
+Tianyulong
+Aepisaurus
+Neuquenraptor
+Galesaurus
+Pachysuchus
+Auroraceratops
+Hecatasaurus
+Barapasaurus
+Asiatosaurus
+Daanosaurus
+Luoyanggia
+Eobrontosaurus
+Wellnhoferia
+Zuolong
+Tenchisaurus
+Centrosaurus
+Falcarius
+Ojoraptorsaurus
+Lufengocephalus
+Vulcanodon
+Mollusc
+Shunosaurus
+Empaterias
+Issasaurus
+Jiangxisaurus
+Laplatasaurus
+Aublysodon
+Embasaurus
+Blikanasaurus
+Bonapartenykus
+Asiamericana
+Arizonasaurus
+Cryptoraptor
+Morosaurus
+Mapusaurus
+Buitreraptor
+Gravitholus
+Vitakrisaurus
+Nurosaurus
+Cetiosauriscus
+Kukufeldia
+Propanoplosaurus
+Suchoprion
+Umarsaurus
+Likhoelesaurus
+Dasygnathoides
+Dubreuillosaurus
+Shenzhouraptor
+Atrociraptor
+Amurosaurus
+Latirhinus
+Albisaurus
+Zupaysaurus
+Venenosaurus
+Syrmosaurus
+Arkharavia
+Yueosaurus
+Tianchungosaurus
+Dyslocosaurus
+Sinraptor
+Owenodon
+Pelycosaur
+Duriavenator
+Haplocheirus
+Epidendrosaurus
+Nyasasaurus
+Tawasaurus
+Lisboasaurus
+Ahshislepelta
+Magnirostris
+Psittacosaurus
+Orodromeus
+Ostafrikasaurus
+Nemegtomaia
+Dracorex
+Ovoraptor
+Amazonsaurus
+Leyesaurus
+Dollodon
+Cryptosaurus
+Coahuilaceratops
+Variraptor
+Panamericansaurus
+Nodocephalosaurus
+Nasutoceratops
+Prosaurolophus
+Jingshanosaurus
+Teleocrater
+Tribelesodon
+Mochlodon
+Eohadrosaurus
+Comanchesaurus
+Limnornis
+Gigantspinosaurus
+Oxalaia
+Wuerhosaurus
+Mtapaiasaurus
+Longisquama
+Velocisaurus
+Aorun
+Sinopliosaurus
+Gigantosaurus
+Sphenospondylus
+Dinotyrannus
+Rhabdodon
+Kritosaurus
+Lamplughsaura
+Notohypsilophodon
+Tsagantegia
+Brontoraptor
+Argyrosaurus
+Lambeosaurus
+Heterosaurus
+Tazoudasaurus
+Valdoraptor
+Microhadrosaurus
+Pycnonemosaurus
+Manidens
+Coelophysis
+Hulsanpes
+Losillasaurus
+Polacanthoides
+Lanzhousaurus
+Walgettosuchus
+Sauroniops
+Magulodon
+Pneumatoraptor
+Altispinax
+Alnashetri
+Hoplitosaurus
+Rahiolisaurus
+Luanpingosaurus
+Abrosaurus
+Palaeosaurus
+Iguanoides
+Abydosaurus
+Riodevasaurus
+Stormbergia
+Bihariosaurus
+Yuanmousaurus
+Sphenosuchus
+Dashanpusaurus
+Crocodilia
+Enigmosaurus
+Montanoceratops
+Frenguellisaurus
+Segnosaurus
+Kryptops
+Labocania
+Sinocalliopteryx
+Dromiceiomimus
+Isisaurus
+Archaeornithoides
+Deinonychus
+Allosaurus
+Stephanosaurus
+Sinornithoides
+Incisivosaurus
+Ornitholestes
+Ankylosaurus
+Plateosaurus
+Shidaisaurus
+Platyceratops
+Agnosphitys
+Changdusaurus
+Nothosaur
+Orthogoniosaurus
+Titanoceratops
+Dysganus
+Lamaceratops
+Helioceratops
+Nanyangosaurus
+Khaan
+Cryptodraco
+Chasmosaurus
+Rileyasuchus
+Aeolosaurus
+Yizhousaurus
+Echinodon
+Omnivoropteryx
+Lengosaurus
+Megadactylus
+Mamenchisaurus
+Notoceratops
+Pachysaurus
+Tianzhenosaurus
+Zhuchengceratops
+Tyreophorus
+Nedcolbertia
+Shixinggia
+Jeholosaurus
+Ornithosuchus
+Veterupristisaurus
+Rayososaurus
+Velafrons
+Lapparentosaurus
+Seismosaurus
+Tsuchikurasaurus
+Styracosaurus
+Dilophosaurus
+Gasparinisaura
+Xiaotingia
+Dromaeosaurus
+Scansoriopteryx
+Eurolimnornis
+Proterosuchid
+Nipponosaurus
+Brachiosaurus
+Vitaridrinda
+Mantellodon
+Sphaerotholus
+Shuosaurus
+Koutalisaurus
+Cardiodon
+Yixianosaurus
+Jurassosaurus
+Jiutaisaurus
+Gryphognathus
+Archaeornithomimus
+Griphornis
+Szechuanosaurus
+Pneumatoarthrus
+Basutodon
+Aletopelta
+Tendaguria
+Riojasaurus
+Creosaurus
+Harpymimus
+Huaxiagnathus
+Carnotaurus
+Beipiaosaurus
+Teratophoneus
+Cedarosaurus
+Omosaurus
+Wyleyia
+Aachenosaurus
+Atlantosaurus
+Bilbeyhallorum
+Balochisaurus
+Ouranosaurus
+Fukuititan
+Sarcolestes
+Alocodon
+Amphisaurus
+Lametasaurus
+Raptorex
+Sinosaurus
+Doratodon
+Ankistrodon
+Chuanjiesaurus
+Parasaurolophus
+Albertonykus
+Efraasia
+Alaskacephale
+Torilion
+Rapator
+Sauroplites
+Thecocoelurus
+Lirainosaurus
+Xixiasaurus
+Conchoraptor
+Paralititan
+Arcusaurus
+Becklespinax
+Thecodontosaurus
+Taveirosaurus
+Daemonosaurus
+Suuwassea
+Albertosaurus
+Nouerosaurus
+Marshosaurus
+Xuanhuasaurus
+Algoasaurus
+Capitalsaurus
+Xenoposeidon
+Cryolophosaurus
+Gobipteryx
+Stereosaurus
+Nemegtia
+Proyandusaurus
+Thyreophora
+Xiaosaurus
+Tatankaceratops
+Hanwulosaurus
+Gryphoceratops
+Linheraptor
+Ornithomimoides
+Edmontonia
+Aerosteon
+Ninghsiasaurus
+Prenoceratops
+Vagaceratops
+Sinucerasaurus
+Hongshanosaurus
+Hexinlusaurus
+Indosuchus
+Moshisaurus
+Alashansaurus
+Berberosaurus
+Elaltitan
+Marisaurus
+Rhoetosaurus
+Tatankacephalus
+Bienosaurus
+Dracopelta
+Chiayusaurus
+Pseudosuchia
+Sarcosaurus
+Shuvuuia
+Unaysaurus
+Amtosaurus
+Nqwebasaurus
+Claorhynchus
+Prolacertiform
+Honghesaurus
+Ugrosaurus
+Aegyptosaurus
+Gallimimus
+Clasmodosaurus
+Hypacrosaurus
+Caenagnathus
+Velocipes
+Lessemsaurus
+Agrosaurus
+Paronychodon
+Maleevosaurus
+Leipsanosaurus
+Clevelanotyrannus
+Dynamosaurus
+Megacervixosaurus
+Protohadros
+Polyonax
+Daxiatitan
+Spondylosoma
+Ichthyovenator
+Demandasaurus
+Dimodosaurus
+Torvosaurus
+Gwyneddosaurus
+Cystosaurus
+Irritator
+Zanclodon
+Rugops
+Ignavusaurus
+Chinshakiangosaurus
+Zhejiangosaurus
+Pachyrhinosaurus
+Stenotholus
+Iuticosaurus
+Tyrannotitan
+Xixianykus
+Palaeopteryx
+Vitakridrinda
+Planicoxa
+Jianchangosaurus
+Sinovenator
+Ohmdenosaurus
+Protecovasaurus
+Eoceratops
+Laevisuchus
+Cumnoria
+Ratchasimasaurus
+Elaphrosaurus
+Dracovenator
+Abelisaurus
+Sangonghesaurus
+Austrocheirus
+Calamosaurus
+Vectensia
+Elosaurus
+Termatosaurus
+Pleuropeltus
+Chubutisaurus
+Macrophalangia
+Futalongkosaurus
+Acristavus
+Wintonotitan
+Diclonius
+Nanosaurus
+Tonganosaurus
+Tarascosaurus
+Amphicoelicaudia
+Achillesaurus
+Delapparentia
+Argentinosaurus
+Sulaimansaurus
+Koparion
+Brachytrachelopan
+Bakesaurus
+Rahona
+Oryctodromeus
+Campylodon
+Stygivenator
+Wangonisaurus
+Genyodectes
+Acrocanthosaurus
+Danubiosaurus
+Deltadromeus
+Rileya
+Borealosaurus
+Rioarribasaurus
+Gondwanatitan
+Lophorhothon
+Talenkauen
+Diracodon
+Nanshiungosaurus
+Bradycneme
+Ferganocephale
+Cheneosaurus
+Wulagasaurus
+Tanystrosuchus
+Comahuesaurus
+Actiosaurus
+Jiangjunmiaosaurus
+Xinjiangovenator
+Gadolosaurus
+Clarencea
+Avemetatarsalia
+Dakotadon
+Diapsid
+Albinykus
+Pectinodon
+Protorosaurus
+Ginnareemimus
+Doryphorosaurus
+Dalianraptor
+Megapnosaurus
+Scelidosaurus
+Metriorhynchid
+Piatnitzkysaurus
+Haplocanthosaurus
+Phytosaur
+Manospondylus
+Gansutitan
+Neovenator
+Brasileosaurus
+Judiceratops
+Khetranisaurus
+Fish
+Proceratosaurus
+Zatomus
+Ceratosaurus
+Unescoceratops
+Telmatosaurus
+Segisaurus
+Pachyspondylus
+Caseosaurus
+Ultrasauros
+Dongbeititan
+Galvesaurus
+Crocodylomorph
+Ephoenosaurus
+Fossil
+Crosbysaurus
+Coelosaurus
+Unenlagia
+Strenusaurus
+Concavenator
+Fukuiraptor
+Camarasaurus
+Iliosuchus
+Huayangosaurus
+Kileskus
+Clepsysaurus
+Richardoestesia
+Sphenosaurus
+Scutellosaurus
+Garudimimus
+Hexing
+Nanningosaurus
+Sonorasaurus
+Pradhania
+Orosaurus
+Andesaurus
+Genusaurus
+Huxleysaurus
+Elopteryx
+Alectrosaurus
+Tecovasaurus
+Parksosaurus
+Paranthodon
+Airakoraptor
+Jobaria
+Ichabodcraniosaurus
+Muyelensaurus
+Sacisaurus
+Deinodon
+Patricosaurus
+Maleevus
+Tylocephale
+Sugiyamasaurus
+Nodosaurus
+Aliwalia
+Kerberosaurus
+Kazaklambia
+Eolambia
+Dongyangosaurus
+Citipati
+Euskelosaurus
+Trigonosaurus
+Epidexipteryx
+Dolichosuchus
+Walkeria
+Labrosaurus
+Condorraptor
+Tichosteus
+Uberabatitan
+Magnosaurus
+Janenschia
+Anasazisaurus
+Macrogryphosaurus
+Erliansaurus
+Ornithotarsus
+Bayosaurus
+Santanaraptor
+Zhuchengtyrannus
+Lukousaurus
+Sauroposeidon
+Ampelosaurus
+Pampadromaeus
+Erectopus
+Glyptodontopelta
+Drinker
+Leaellynasaura
+Magyarosaurus
+Postosuchus
+Szechuanoraptor
+Yubasaurus
+Brachyrophus
+Cionodon
+Sellacoxa
+Elachistosuchus
+Shuvosaurus
+Sauraechmodon
+Microdontosaurus
+Carcharodontosaurus
+Brachylophosaurus
+Theropoda
+Tapinocephalus
+Changchunsaurus
+Cladeiodon
+Pareiasaurus
+Heishansaurus
+Aristosuchus
+Protiguanodon
+Brohisaurus
+Eupodosaurus
+Datousaurus
+Giraffatitan
+Jaklapallisaurus
+Tugulusaurus
+Compsognathus
+Ilokelesia
+Revueltoraptor
+Tuojiangosaurus
+Huaxiasaurus
+Palaeocursornis
+Onychosaurus
+Ceratonykus
+Amargatitanis
+Albalophosaurus
+Byronosaurus
+Cryptovolans
+Shenzhousaurus
+Rapetosaurus
+Altirhinus
+Sanjuansaurus
+Dysalotosaurus
+Archaeopteryx
+Liliensternus
+Beelemodon
+Xuanhuaceratops
+Protrachodon
+Caenagnathasia
+Willinakaqe
+Atacamatitan
+Lourinhanosaurus
+Yaverlandia
+Ligomasaurus
+Suchomimus
+Brasilotitan
+Jenghizkhan
+Aggiosaurus
+Elrhazosaurus
+Yingshanosaurus
+Australovenator
+Ichthyornis
+Valdosaurus
+Yuanmouraptor
+Prolacertiformes
+Tarchia
+Hesperosaurus
+Azendohsaurus
+Eucentrosaurus
+Scipionyx
+Petrobrasaurus
+Hudiesaurus
+Sinornithosaurus
+Shuangmiaosaurus
+Tianchisaurus
+Araucanoraptor
+Poposaurus
+Pararhabdodon
+Osmakasaurus
+Siamotyrannus
+Galveosaurus
+Yangchuanosaurus
+Microcephale
+Mirischia
+Probactrosaurus
+Yunxiansaurus
+Enantiornithine
+Cedrorestes
+Chaoyangsaurus
+Loricatosaurus
+Stygimoloch
+Venaticosuchus
+Gorgosaurus
+Anchiornis
+Ischisaurus
+Bactrosaurus
+Quilmesaurus
+Fukuisaurus
+Stegosaurus
+Griphosaurus
+Graciliceratops
+Oligosaurus
+Baotianmansaurus
+Eocursor
+Turtle
+Macelognathus
+Arctosaurus
+Streptospondylus
+Texasetes
+Dianchungosaurus
+Birds
+Nomingia
+Sinornithomimus
+Hierosaurus
+Abdallahsaurus
+Jaxartosaurus
+Sanchusaurus
+Tarbosaurus
+Sinocoelurus
+Timimus
+Herrerasaurus
+Giganotosaurus
+Tsaagan
+Anthracothere
+Yezosaurus
+Chihuahuasaurus
+Cathartesaura
+Domeykosaurus
+Loncosaurus
+Archaeoceratops
+Udanoceratops
+Gojirasaurus
+Dongyangopelta
+Duriatitan
+Chondrosteus
+Arkanosaurus
+Lusotitan
+Diceratus
+Nuoersaurus
+Wadhurstia
+Sauropelta
+Ultrasaurus
+Indosaurus
+Kotasaurus
+Urbacodon
+Zhongyuansaurus
+Tanystropheus
+Mifunesaurus
+Pegomastax
+Gobititan
+Lusitanosaurus
+Caulodon
+Baryonyx
+Tataouinea
+Longosaurus
+Pareiasaur
+Leshansaurus
+Machairasaurus
+Colossosaurus
+Arstanosaurus
+Wakinosaurus
+Lanasaurus
+Dryosaurus
+Sterrholophus
+Dachungosaurus
+Chialingosaurus
+Jiangjunosaurus
+Klamelisaurus
+Rauisuchia
+Caudipteryx
+Jinfengopteryx
+Leptoceratops
+Sinotyrannus
+Poekilopleuron
+Gobisaurus
+Angaturama
+Pterosaur
+Aetonyx
+Angolatitan
+Tanius
+Therizinosaurus
+Tastavinsaurus
+Lancangosaurus
+Dinheirosaurus
+Brachypodosaurus
+Gobiceratops
+Fruitadens
+Monkonosaurus
+Spinostropheus
+Cristatusaurus
+Bolong
+Rebbachisaurus
+Monolophosaurus
+Alioramus
+Hypsirophus
+Olorotitan
+Euoplocephalus
+Juravenator
+Euhelopus
+Epanterias
+Lancanjiangosaurus
+Xianshanosaurus
+Ekrixinatosaurus
+Achillobator
+Hesperonychus
+Pachysauriscus
+Ruyangosaurus
+Gongbusaurus
+Teratosaurus
+Ruehleia
+Yaleosaurus
+Canardia
+Brachyceratops
+Pantydraco
+Afrovenator
+Mendozasaurus
+Pedopenna
+Blasisaurus
+Astrodon
+Mandschurosaurus
+Drusilasaura
+Libycosaurus
+Eucamerotus
+Tonouchisaurus
+Didanodon
+Proplanicoxa
+Kentrurosaurus
+Trinisaura
+Fusuisaurus
+Kentrosaurus
+Eocarcharia
+Albertaceratops
+Rutellum
+Saltasaurus
+Majungatholus
+Mussaurus
+Zigongosaurus
+Euacanthus
+Craspedodon
+Ingenia
+Priodontognathus
+Rubeosaurus
+Gyposaurus
+Utahraptor
+Pukyongosaurus
+Coelurosaur
+Silvisaurus
+Troodon
+Jixiangornis
+Pawpawsaurus
+Oohkotokia
+Hadrosauravus
+Shaochilong
+Ponerosteus
+Ischyrosaurus
+Hadrosaurus
+Gryposaurus
+Spinops
+Peloroplites
+Daspletosaurus
+Dravidosaurus
+Hagryphus
+Sphenosuchia
+Ligabueino
+Mymoorapelta
+Tatisaurus
+Trimucrodon
+Cathetosaurus
+Teinurosaurus
+Antetonitrus
+Rajasaurus
+Fabrosaurus
+Angloposeidon
+Levnesovia
+Mongolosaurus
+Asiaceratops
+Avipes
+Turiasaurus
+Eucnemesaurus
+Otogosaurus
+Martharaptor
+Tsintaosaurus
+Hypsilophodon
+Gigantoscelus
+Palaeosauriscus
+Hironosaurus
+Paludititan
+Anatosaurus
+Kaatedocus
+Linhevenator
+Pellegrinisaurus
+Sanpasaurus
+Lapampasaurus
+Inosaurus
+Eomamenchisaurus
+Liassaurus
+Jinzhousaurus
+Equijubus
+Dryptosaurus
+Nopcsaspondylus
+Changtusaurus
+Tapuiasaurus
+Diabloceratops
+Dakosaurus
+Chassternbergia
+Limaysaurus
+Huaxiaosaurus
+Minotaurasaurus
+Uteodon
+Micropachycephalosaurus
+Avisaurus
+Siamodon
+Ornithomerus
+Eodromaeus
+Turanoceratops
+Nambalia
+Cruxicheiros
+Riojasuchus
+Stokesosaurus
+Amygdalodon
+Linhenykus
+Heterodontosaurus
+Dromicosaurus
+Bahariasaurus
+Xiongguanlong
+Jeyawati
+Polyodontosaurus
+Morinosaurus
+Campylodoniscus
+Aralosaurus
+Pentaceratops
+Squalodon
+Saurornitholestes
+Yandusaurus
+Bruhathkayosaurus
+Kinnareemimus
+Tornieria
+Scaphonyx
+Barosaurus
+Titanosaurus
+Volkheimeria
+Brontomerus
+Megalosaurus
+Rhopalodon
+Huanghetitan
+Ngexisaurus
+Jiangshanosaurus
+Archosaur
+Sciurumimus
+Histriasaurus
+Spinosaurus
+Eoraptor
+Phaedrolosaurus
+Betasuchus
+Belodon
+Bagaraatan
+Protognathus
+Marmarospondylus
+Dinosaur
+Darwinsaurus
+Apatodon
+Eotyrannus
+Struthiomimus
+Pelecanimimus
+Gideonmantellia
+Appalachiosaurus
+Edmontosaurus
+Acracanthus
+Machimosaurus
+Razanandrongobe
+Uintasaurus
+Magnapaulia
+Moabosaurus
+Ojoceratops
+Yaxartosaurus
+Macroscelosaurus
+Aniksosaurus
+Guanlong
+Futabasaurus
+Proceratops
+Xuwulong
+Ricardoestesia
+Symphyrophus
+Pleurocoelus
+Damalasaurus
+Naashoibitosaurus
+Panphagia
+Graciliraptor
+Ornithoides
+Futalognkosaurus
+Pachycephalosaurus
+Plesiosaur
+Astrophocaudia
+Gilmoreosaurus
+Diamantinasaurus
+Eucercosaurus
+Gavinosaurus
+Suchosaurus
+Eugongbusaurus
+Camelotia
+Shanxia
+Antarctopelta
+Traukutitan
+Saurornithoides
+Hippodraco
+Nteregosaurus
+Sauropodus
+Coelurosauravus
+Stereocephalus
+Adeopapposaurus
+Ctenosauriscid
+Paraiguanodon
+Eosinopteryx
+Archaeornis
+Bambiraptor
+Isanosaurus
+Stegosaurides
+Avaceratops
+Gannansaurus
+Triceratops
+Paluxysaurus
+Denversaurus
+Bathygnathus
+Katsuyamasaurus
+Barsboldia
+Mojoceratops
+Eucoelophysis
+Microraptor
+Calamospondylus
+Fusinasus
+Agathaumas
+Protoceratops
+Eustreptospondylus
+Macrurosaurus
+Atlascopcosaurus
+Claosaurus
+Avicephala
+Tochisaurus
+Protognathosaurus
+Kakuru
+Neuquensaurus
+Chilantaisaurus
+Chindesaurus
+Parvicursor
+Phuwiangosaurus
+Saltriosaurus
+Edmarka
+Chingkankousaurus
+Bicentenaria
+Kemkemia
+Microceratus
+Chaoyangosaurus
+Atlasaurus
+Eotriceratops
+Neimongosaurus
+Unicerosaurus
+Qinlingosaurus
+Laosaurus
+Craterosaurus
+Dacentrurus
+Geminiraptor
+Erlikosaurus
+Bonitasaura
+Arrhinoceratops
+Triassolestes
+Hisanohamasaurus
+Oplosaurus
+Supersaurus
+Achelousaurus
+Rinconsaurus
+Serendipaceratops
+Eoabelisaurus
+Dystrophaeus
+Thotobolosaurus
+Blancocerosaurus
+Cetiosaurus
+Roccosaurus
+Chondrosteosaurus
+Fulengia
+Mohammadisaurus
+Halticosaurus
+Lancangjiangosaurus
+Teyuwasu
+Breviceratops
+Rhodanosaurus
+Metriacanthosaurus
+Overosaurus
+Newtonsaurus
+Gracilisuchus
+Pseudolagosuchus
+Sellosaurus
+Ajkaceratops
+Lufengosaurus
+Yamaceratops
+Bagaceratops
+Apatosaurus
+Khateranisaurus
+Batyrosaurus
+Cinizasaurus
+Tanycolagreus
+Bainoceratops
+Silesaurid
+Byranjaffia
+Shamosaurus
+Austrosaurus
+Amtocephale
+Cylindricodon
+Huabeisaurus
+Regnosaurus
+Callovosaurus
+Heptasteornis
+Gryponyx
+Tylosteus
+Gargoyleosaurus
+Kundurosaurus
+Mononykus
+Secernosaurus
+Puertasaurus
+Bellusaurus
+Archosauriform
+Qiupalong
+Alamosaurus
+Dystylosaurus
+Tethyshadros
+Selimanosaurus
+Albertadromeus
+Karongasaurus
+Kaijiangosaurus
+Microvenator
+Amphicoelias
+Eshanosaurus
+Salimosaurus
+Avimimus
+Elvisaurus
+Bonatitan
+Procheneosaurus
+Tetragonosaurus
+Mammal
+Oshanosaurus
+Jurapteryx
+Paleosaurus
+Dinosauromorph
+Plateosauravus
+Hungarosaurus
+Chromogisaurus
+Anoplosaurus
+Amargasaurus
+Merosaurus
+Alwalkeria
+Macrodontophion
+Shanshanosaurus
+Gongxianosaurus
+Vectisaurus
+Kitadanisaurus
+Agustinia
+Sulaimanisaurus
+Thescelosaurus
+Zephyrosaurus
+Arenysaurus
+Patagosaurus
+Laornis
+Protoavis
+Tenantosaurus
+Yinlong
+Bravoceratops
+Saurophaganax
+Coeluroides
+Seitaad
+Trialestes
+Glishades
+Cedarpelta
+Rinchenia
+Lesothosaurus
+Dromaeosaur
+Nuoerosaurus
+Hallopus
+Yanornis
+Tomodon
+Juratyrant
+Shanyangosaurus
+Deuterosaurus
+Coelurus
+Zizhongosaurus
+Hypselospinus
+Austroraptor
+Brachytaenius
+Orcomimus
+Acrotholus
+Chirostenotes
+Emausaurus
+Nigersaurus
+Animantarx
+Luanchuanraptor
+Zuniceratops
+Wannanosaurus
+Abrictosaurus
+Heyuannia
+Synapsid
+Struthiosaurus
+Yunnanosaurus
+Noasaurus
+Tyrannosaurid
+Yibinosaurus
+Thespesius
+Priconodon
+Marasuchus
+Anchisaurus
+Iguanacolossus
+Patagonykus
+Haplocanthus
+Corythosaurus
+Limusaurus
+Coloradisaurus
+Similicaudipteryx
+Leptospondylus
+Aviatyrannis
+Hortalotarsus
+Tienshanosaurus
+Pamparaptor
+Peishansaurus
+Succinodon
+Dinosaurus
+Rachitrema
+Dachongosaurus
+Therapsida
+Saurolophus
+Pekinosaurus
+Skorpiovenator
+Microsaurops
+Ammosaurus
+Ichthyosaur
+Antarctosaurus
+Liaoningosaurus
+Nothronychus
+Spinosuchus
+Iguanosaurus
+Anchiceratops
+Orkoraptor
+Microcoelus
+Xuanhanosaurus
+Geranosaurus
+Goyocephale
+Ankylosauria
+Dahalokely
+Daptosaurus
+Loricosaurus
+Australodocus
+Pterospondylus
+Gigantoraptor
+Hylaeosaurus
+Caudocoelus
+Opisthocoelicaudia
+Rhadinosaurus
+Ligabuesaurus
+Aragosaurus
+Rocasaurus
+Parrosaurus
+Sahaliyania
+Agilisaurus
+Orthomerus
+Penelopognathus
+Liaoceratops
+Dyoplosaurus
+Stenonychosaurus
+Walkersaurus
+Narambuenatitan
+Pitekunsaurus
+Camarillasaurus
+Procolophonid
+Epichirostenotes
+Beishanlong
+Gasosaurus
+Coronosaurus
+Zapalasaurus
+Sauraechinodon
+Glacialisaurus
+Therapsid
+Gravisaurus
+Lewisuchus
+Jainosaurus
+Centemodon
+Arkansaurus
+Einiosaurus
+Palaeoscincus
+Cerasinops
+Microceratops
+Pteropelyx
+Sigilmassasaurus
+Staurikosaurus
+Pyroraptor
+Ornithodesmus
+Asylosaurus
+Anodontosaurus
+Siluosaurus
+Carnosauria
+Qantassaurus
+Ornithomimus
+Dinodocus
+Chuxiongosaurus
+Anserimimus
+Camptonotus
+Lagosuchus
+Anatotitan
+Dryptosauroides
+Silesaurus
+Pachysaurops
+Saichania
+Procerosaurus
+Lucianosaurus
+Koreasaurus
+Lurdusaurus
+Piveteausaurus
+Jeholornis
+Angulomastacator
+Hoplosaurus
+Saltopus
+Shanag
+Homalocephale
+Torosaurus
+Fenestrosaurus
+Jubbulpuria
+Mtotosaurus
+Nemegtosaurus
+Maiasaura
+Yutyrannus
+Ozraptor
+Lariosaurus
+Bugenasaura
+Ornatotholus
+Aardonyx
+Herbstosaurus
+Tianyuraptor
+Diplodocus
+Kosmoceratops
+Muttaburrasaurus
+Kagasaurus
+Atsinganosaurus
+Massospondylus
+Utahceratops
+Nanotyrannus
+Qingxiusaurus
+Avalonianus
+Erketu
+Fulgurotherium
+Kayentavenator
+Protarchaeopteryx
+Chungkingosaurus
+Krzyzanowskisaurus
+Yimenosaurus
+Aurornis
+Ganzhousaurus
+Pinacosaurus
+Archosauromorph
+Niobrarasaurus
+Melanorosaurus
+Baurutitan
+Elmisaurus
+Euronychodon
+Tehuelchesaurus
+Sinusonasus
+Omeisaurus
+Agujaceratops
+Aucasaurus
+Wulatelong
+Stegopelta
+Europasaurus
+Alxasaurus
+Stegosauroides
+Tangvayosaurus
+Pliosaur
+Unquillosaurus
+Xixiposaurus
+Ornithopsis
+Crataeomus
+Madsenius
+Diplotomodon
+Kulceratops
+Adamantisaurus
+Nyororosaurus
+Monoclonius
+Kuszholia
+Jintasaurus
+Camptosaurus
+Masiakasaurus
+Parhabdodon
+Prodeinodon
+Saurophagus
+Alvarezsaurus
+Mantellisaurus
+Aristosaurus
+Suzhousaurus
+Limnosaurus
+Dromaeosauroides
+Augustia
+Spinosaurid
+Othnielia
+Thecospondylus
+Cetacea
+Medusaceratops
+Zalmoxes
+Koreaceratops
+Syngonosaurus
+Dicraeosaurus
+Xenoceratops
+Scleromochlus
+Deinocheirus
+Chuandongocoelurus
+Itemirus
+Phyllodon
+Megaraptor
+Philovenator
+Ferganasaurus
+Pelorosaurus
+Nebulasaurus
+Barilium
+Nedoceratops
+Acanthopholis
+Nuthetes
+Panoplosaurus
+Quaesitosaurus
+Crocodile
+Archaeoraptor
+Charonosaurus
+Eureodon
+Hanssuesia
+Guaibasaurus
+Camposaurus
+Hylosaurus
+Zapsalis
+Bistahieversor
+Erlicosaurus
+Procompsognathus
+Hypselosaurus
+Prenocephale
+Malarguesaurus
+Tenontosaurus
+Kittysaurus
+Iguanodon
+Palaeoctonus
+Trachodon
+Wyomingraptor
+Huehuecanauhtlus
+Theiophytalia
+Nectosaurus
+Scolosaurus
+Pisanosaurus
+Kunmingosaurus
+Liubangosaurus
+Malawisaurus
+Pakisaurus
+Carnosaur
+Leonerasaurus
+Oviraptor
+Texacephale
+Shantungosaurus
+Zhuchengosaurus
+Gripposaurus
+Polacanthus
+Xenotarsosaurus
+Dinosauriform
+Hypsibema
+Podokesaurus
+Sonidosaurus
+Colepiocephale
+Kelmayisaurus
+Crichtonsaurus
+Stegoceras
+Borogovia
+Lourinhasaurus
+Picrodon
+Mononychus
+Bothriospondylus
+Siamosaurus
+Technosaurus
+Theropod
+Neosodon
+Velociraptor
+Eolosaurus
+Archaeovolans
+Chebsaurus
+Compsosuchus
+Othnielosaurus
+Banji
+Proiguanodon
+Rahonavis
+Majungasaurus
+Nanotyrannosaurus
+Bissektipelta
+Revueltosaurus
+Lexovisaurus
+Antrodemus
+Hikanodon
+Tyrannosaurus
+Barrosasaurus
+Sinoceratops
+Megadontosaurus
+Sinosauropteryx
+Heilongjiangosaurus
+Maxakalisaurus
+Jensenosaurus
+Dandakosaurus
+Therosaurus
+Sarahsaurus
+Hypselorhachis
+Archaeodontosaurus
+Gresslyosaurus
+Stenopelix
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/dogs.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/dogs.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c7da27b7449279735fe4a9a5a693fb5a5f17f6e3
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/dogs.txt
@@ -0,0 +1,454 @@
+# Sourced from https://github.com/dariusk/corpora/blob/master/data/animals/common.json
+Affenpinscher
+Afghan Hound
+Aidi
+Airedale Terrier
+Akbash Dog
+Akita
+Alano Español
+Alaskan Klee Kai
+Alaskan Malamute
+Alpine Dachsbracke
+Alpine Spaniel
+American Bulldog
+American Cocker Spaniel
+American Eskimo Dog
+American Foxhound
+American Hairless Terrier
+American Pit Bull Terrier
+American Staffordshire Terrier
+American Water Spaniel
+Anglo-Français de Petite Vénerie
+Appenzeller Sennenhund
+Ariege Pointer
+Ariegeois
+Armant
+Armenian Gampr dog
+Artois Hound
+Australian Cattle Dog
+Australian Kelpie
+Australian Shepherd
+Australian Silky Terrier
+Australian Stumpy Tail Cattle Dog
+Australian Terrier
+Azawakh
+Bakharwal Dog
+Barbet
+Basenji
+Basque Shepherd Dog
+Basset Artésien Normand
+Basset Bleu de Gascogne
+Basset Fauve de Bretagne
+Basset Hound
+Bavarian Mountain Hound
+Beagle
+Beagle-Harrier
+Bearded Collie
+Beauceron
+Bedlington Terrier
+Belgian Shepherd Dog (Groenendael)
+Belgian Shepherd Dog (Laekenois)
+Belgian Shepherd Dog (Malinois)
+Bergamasco Shepherd
+Berger Blanc Suisse
+Berger Picard
+Berner Laufhund
+Bernese Mountain Dog
+Billy
+Black and Tan Coonhound
+Black and Tan Virginia Foxhound
+Black Norwegian Elkhound
+Black Russian Terrier
+Bloodhound
+Blue Lacy
+Blue Paul Terrier
+Boerboel
+Bohemian Shepherd
+Bolognese
+Border Collie
+Border Terrier
+Borzoi
+Boston Terrier
+Bouvier des Ardennes
+Bouvier des Flandres
+Boxer
+Boykin Spaniel
+Bracco Italiano
+Braque d'Auvergne
+Braque du Bourbonnais
+Braque du Puy
+Braque Francais
+Braque Saint-Germain
+Brazilian Terrier
+Briard
+Briquet Griffon Vendéen
+Brittany
+Broholmer
+Bruno Jura Hound
+Bucovina Shepherd Dog
+Bull and Terrier
+Bull Terrier (Miniature)
+Bull Terrier
+Bulldog
+Bullenbeisser
+Bullmastiff
+Bully Kutta
+Burgos Pointer
+Cairn Terrier
+Canaan Dog
+Canadian Eskimo Dog
+Cane Corso
+Cardigan Welsh Corgi
+Carolina Dog
+Carpathian Shepherd Dog
+Catahoula Cur
+Catalan Sheepdog
+Caucasian Shepherd Dog
+Cavalier King Charles Spaniel
+Central Asian Shepherd Dog
+Cesky Fousek
+Cesky Terrier
+Chesapeake Bay Retriever
+Chien Français Blanc et Noir
+Chien Français Blanc et Orange
+Chien Français Tricolore
+Chien-gris
+Chihuahua
+Chilean Fox Terrier
+Chinese Chongqing Dog
+Chinese Crested Dog
+Chinese Imperial Dog
+Chinook
+Chippiparai
+Chow Chow
+Cierny Sery
+Cimarrón Uruguayo
+Cirneco dell'Etna
+Clumber Spaniel
+Combai
+Cordoba Fighting Dog
+Coton de Tulear
+Cretan Hound
+Croatian Sheepdog
+Cumberland Sheepdog
+Curly Coated Retriever
+Cursinu
+Cão da Serra de Aires
+Cão de Castro Laboreiro
+Cão Fila de São Miguel
+Dachshund
+Dalmatian
+Dandie Dinmont Terrier
+Danish Swedish Farmdog
+Deutsche Bracke
+Doberman Pinscher
+Dogo Argentino
+Dogo Cubano
+Dogue de Bordeaux
+Drentse Patrijshond
+Drever
+Dunker
+Dutch Shepherd Dog
+Dutch Smoushond
+East Siberian Laika
+East-European Shepherd
+Elo
+English Cocker Spaniel
+English Foxhound
+English Mastiff
+English Setter
+English Shepherd
+English Springer Spaniel
+English Toy Terrier (Black & Tan)
+English Water Spaniel
+English White Terrier
+Entlebucher Mountain Dog
+Estonian Hound
+Estrela Mountain Dog
+Eurasier
+Field Spaniel
+Fila Brasileiro
+Finnish Hound
+Finnish Lapphund
+Finnish Spitz
+Flat-Coated Retriever
+Formosan Mountain Dog
+Fox Terrier (Smooth)
+French Bulldog
+French Spaniel
+Galgo Español
+Gascon Saintongeois
+German Longhaired Pointer
+German Pinscher
+German Shepherd
+German Shorthaired Pointer
+German Spaniel
+German Spitz
+German Wirehaired Pointer
+Giant Schnauzer
+Glen of Imaal Terrier
+Golden Retriever
+Gordon Setter
+Gran Mastín de Borínquen
+Grand Anglo-Français Blanc et Noir
+Grand Anglo-Français Blanc et Orange
+Grand Anglo-Français Tricolore
+Grand Basset Griffon Vendéen
+Grand Bleu de Gascogne
+Grand Griffon Vendéen
+Great Dane
+Great Pyrenees
+Greater Swiss Mountain Dog
+Greek Harehound
+Greenland Dog
+Greyhound
+Griffon Bleu de Gascogne
+Griffon Bruxellois
+Griffon Fauve de Bretagne
+Griffon Nivernais
+Hamiltonstövare
+Hanover Hound
+Hare Indian Dog
+Harrier
+Havanese
+Hawaiian Poi Dog
+Himalayan Sheepdog
+Hokkaido
+Hovawart
+Huntaway
+Hygenhund
+Ibizan Hound
+Icelandic Sheepdog
+Indian pariah dog
+Indian Spitz
+Irish Red and White Setter
+Irish Setter
+Irish Terrier
+Irish Water Spaniel
+Irish Wolfhound
+Istrian Coarse-haired Hound
+Istrian Shorthaired Hound
+Italian Greyhound
+Jack Russell Terrier
+Jagdterrier
+Jämthund
+Kai Ken
+Kaikadi
+Kanni
+Karelian Bear Dog
+Karst Shepherd
+Keeshond
+Kerry Beagle
+Kerry Blue Terrier
+King Charles Spaniel
+King Shepherd
+Kintamani
+Kishu
+Komondor
+Kooikerhondje
+Koolie
+Korean Jindo Dog
+Kromfohrländer
+Kumaon Mastiff
+Kurī
+Kuvasz
+Kyi-Leo
+Labrador Husky
+Labrador Retriever
+Lagotto Romagnolo
+Lakeland Terrier
+Lancashire Heeler
+Landseer
+Lapponian Herder
+Large Münsterländer
+Leonberger
+Lhasa Apso
+Lithuanian Hound
+Longhaired Whippet
+Löwchen
+Mahratta Greyhound
+Maltese
+Manchester Terrier
+Maremma Sheepdog
+McNab
+Mexican Hairless Dog
+Miniature American Shepherd
+Miniature Australian Shepherd
+Miniature Fox Terrier
+Miniature Pinscher
+Miniature Schnauzer
+Miniature Shar Pei
+Molossus
+Montenegrin Mountain Hound
+Moscow Watchdog
+Moscow Water Dog
+Mountain Cur
+Mucuchies
+Mudhol Hound
+Mudi
+Neapolitan Mastiff
+New Zealand Heading Dog
+Newfoundland
+Norfolk Spaniel
+Norfolk Terrier
+Norrbottenspets
+North Country Beagle
+Northern Inuit Dog
+Norwegian Buhund
+Norwegian Elkhound
+Norwegian Lundehund
+Norwich Terrier
+Old Croatian Sighthound
+Old Danish Pointer
+Old English Sheepdog
+Old English Terrier
+Old German Shepherd Dog
+Olde English Bulldogge
+Otterhound
+Pachon Navarro
+Paisley Terrier
+Pandikona
+Papillon
+Parson Russell Terrier
+Patterdale Terrier
+Pekingese
+Pembroke Welsh Corgi
+Perro de Presa Canario
+Perro de Presa Mallorquin
+Peruvian Hairless Dog
+Petit Basset Griffon Vendéen
+Petit Bleu de Gascogne
+Phalène
+Pharaoh Hound
+Phu Quoc ridgeback dog
+Picardy Spaniel
+Plott Hound
+Podenco Canario
+Pointer (dog breed)
+Polish Greyhound
+Polish Hound
+Polish Hunting Dog
+Polish Lowland Sheepdog
+Polish Tatra Sheepdog
+Pomeranian
+Pont-Audemer Spaniel
+Poodle
+Porcelaine
+Portuguese Podengo
+Portuguese Pointer
+Portuguese Water Dog
+Posavac Hound
+Pražský Krysařík
+Pudelpointer
+Pug
+Puli
+Pumi
+Pungsan Dog
+Pyrenean Mastiff
+Pyrenean Shepherd
+Rafeiro do Alentejo
+Rajapalayam
+Rampur Greyhound
+Rastreador Brasileiro
+Rat Terrier
+Ratonero Bodeguero Andaluz
+Redbone Coonhound
+Rhodesian Ridgeback
+Rottweiler
+Rough Collie
+Russell Terrier
+Russian Spaniel
+Russian tracker
+Russo-European Laika
+Sabueso Español
+Saint-Usuge Spaniel
+Sakhalin Husky
+Saluki
+Samoyed
+Sapsali
+Schapendoes
+Schillerstövare
+Schipperke
+Schweizer Laufhund
+Schweizerischer Niederlaufhund
+Scotch Collie
+Scottish Deerhound
+Scottish Terrier
+Sealyham Terrier
+Segugio Italiano
+Seppala Siberian Sleddog
+Serbian Hound
+Serbian Tricolour Hound
+Shar Pei
+Shetland Sheepdog
+Shiba Inu
+Shih Tzu
+Shikoku
+Shiloh Shepherd Dog
+Siberian Husky
+Silken Windhound
+Sinhala Hound
+Skye Terrier
+Sloughi
+Slovak Cuvac
+Slovakian Rough-haired Pointer
+Small Greek Domestic Dog
+Small Münsterländer
+Smooth Collie
+South Russian Ovcharka
+Southern Hound
+Spanish Mastiff
+Spanish Water Dog
+Spinone Italiano
+Sporting Lucas Terrier
+St. Bernard
+St. John's water dog
+Stabyhoun
+Staffordshire Bull Terrier
+Standard Schnauzer
+Stephens Cur
+Styrian Coarse-haired Hound
+Sussex Spaniel
+Swedish Lapphund
+Swedish Vallhund
+Tahltan Bear Dog
+Taigan
+Talbot
+Tamaskan Dog
+Teddy Roosevelt Terrier
+Telomian
+Tenterfield Terrier
+Thai Bangkaew Dog
+Thai Ridgeback
+Tibetan Mastiff
+Tibetan Spaniel
+Tibetan Terrier
+Tornjak
+Tosa
+Toy Bulldog
+Toy Fox Terrier
+Toy Manchester Terrier
+Toy Trawler Spaniel
+Transylvanian Hound
+Treeing Cur
+Treeing Walker Coonhound
+Trigg Hound
+Tweed Water Spaniel
+Tyrolean Hound
+Vizsla
+Volpino Italiano
+Weimaraner
+Welsh Sheepdog
+Welsh Springer Spaniel
+Welsh Terrier
+West Highland White Terrier
+West Siberian Laika
+Westphalian Dachsbracke
+Wetterhoun
+Whippet
+White Shepherd
+Wire Fox Terrier
+Wirehaired Pointing Griffon
+Wirehaired Vizsla
+Yorkshire Terrier
+Šarplaninac
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/donkeys.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/donkeys.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5678c8f6618d59fca03ee6a63f2f9c0e6362f4ae
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/donkeys.txt
@@ -0,0 +1,171 @@
+# Originally sourced from https://github.com/dariusk/corpora/blob/master/data/animals/donkeys.json
+Abkhazskaya
+Abyssinian Donkey
+Algerian
+American Mammoth Jack
+Amiatina
+Anatolian
+Andalusian Donkey
+Âne Africain
+Âne du Gourma
+Âne du Miankala
+Âne du plateau Dogon
+Âne du Sahel
+Âne du Yatenga
+Âne locale
+Âne wallon
+Ânes
+Anger
+Armyanskaya
+Asin
+Asinara Donkey
+Asino Argentato di Sologno
+Asino Baio Lucano
+Asino dell'Irpinia
+Asino di Sant'Alberto
+Asino Emiliano
+Asino Pugliese
+Asino Sardo Grigio Crociato
+Asnal Criolin'
+Asno
+Asno Americana
+Asno Balear
+Asno Criollo
+Asno de las Encartaciones
+Australian Donkey
+Austrian-Hungarian white Donkey
+Azerbaidzhanskaya
+Balkan Donkey
+Benderi
+Berry Black
+Berry Grey
+Biyang
+Black
+Bourbonnais Donkey
+Bourik
+Brasil
+Bulgarian Donkey
+Bulgaro
+Burro
+Burro Criollo
+Burro Kentucky
+Caninde
+Cardao
+Cariovilli
+Castel Morrone Donkey
+Catalan Donkey
+Chigetai
+China North
+Comune
+Corsican Donkey
+Cotentin Donkey
+Creole
+Criollo
+Cyprus Donkey
+Dagestanskaya
+Damascus
+Dezhou
+Dongolawl
+Dwarf Donkey of Graciosa
+Egypt Baladi
+Egyptian
+English Donkey
+Etbai
+Ezel
+Georgian Ass
+Green
+Grey
+Grigio Siciliano
+Guangling
+Guanzhong
+Hamadan
+Hassawi
+Huaibei
+Indian
+Iranian
+Irish Donkey
+Istarski Magarac
+Italian
+Jack Norteamericano
+Jiami
+Jinnan
+Jirnrna
+Kakhetinskaya
+Kara-Kalpakskaya
+Karakaçan
+Kashan
+Kassala
+Kazakhskaya
+Kirgizskaya
+Kulun
+Liangzhou
+Libyan
+Linxian
+Magyar Parlagi Szamár
+Majorera Donkey
+Maltese Donkey
+Mannar
+Martina Franca Donkey
+Maryisltaya
+Masai
+Masri
+Merzifon
+Meskhet-Dzhavakhetskaya
+Miniature Donkey
+Miranda Donkey
+Moldavian Local
+Moroccan
+Mula
+Muscat
+National Genatic
+Native of North Africa
+Nordestina
+Norman Donkey
+Ogaden
+Pantesco
+Paulista
+Pega
+Peruano
+Poitevin
+Poitou Donkey
+Ponui Donkey
+Primorsko Dinarski Magarac
+Provence Donkey
+Puttalam Buruwa
+Pyrenean Donkey
+Qinghai
+Qinqyang
+Qirmani
+Qubressy
+Ragusano Donkey
+Riffawi
+Romagnolo Donkey
+Romanian Donkey
+Saidi
+Sardinian Donkey
+Sennar
+Shanbei
+Sibbianl
+Sjeverno Jadranski Magarac
+Somali
+South-West
+Sperki
+Spotted
+Standard
+Subei
+Sudanese Pack
+Syrian
+Tadzhikskaya
+Taihang
+Thuringian Forest Donkey
+Tibetan
+Toposa
+Tswana
+Tunisian
+Turkmenskaya
+Uzbekskaya
+Viterbese
+Xinjiang
+Yangyuan
+Yunnan
+Zamorano-Leonés
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/horses.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/horses.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7e641d18f60151aba2dd376f3313448625ba17a5
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/horses.txt
@@ -0,0 +1,346 @@
+# Originally sourced from https://github.com/dariusk/corpora/blob/master/data/animals/horses.json
+American Albino
+Abaco Barb
+Abtenauer
+Abyssinian
+Aegidienberger
+Akhal-Teke
+Albanian Horse
+Altai Horse
+Altèr Real
+American Cream Draft
+American Indian Horse
+American Paint Horse
+American Quarter Horse
+American Saddlebred
+American Warmblood
+Andalusian Horse
+Andravida Horse
+Anglo-Arabian
+Anglo-Arabo-Sardo
+Anglo-Kabarda
+Appaloosa
+AraAppaloosa
+Arabian Horse
+Ardennes Horse
+Arenberg-Nordkirchen
+Argentine Criollo
+Asian wild Horse
+Assateague Horse
+Asturcón
+Augeron
+Australian Brumby
+Australian Draught Horse
+Australian Stock Horse
+Austrian Warmblood
+Auvergne Horse
+Auxois
+Azerbaijan Horse
+Azteca Horse
+Baise Horse
+Bale
+Balearic Horse
+Balikun Horse
+Baluchi Horse
+Banker Horse
+Barb Horse
+Bardigiano
+Bashkir Curly
+Basque Mountain Horse
+Bavarian Warmblood
+Belgian Half-blood
+Belgian Horse
+Belgian Warmblood
+Bhutia Horse
+Black Forest Horse
+Blazer Horse
+Boerperd
+Borana
+Boulonnais Horse
+Brabant
+Brandenburger
+Brazilian Sport Horse
+Breton Horse
+Brumby
+Budyonny Horse
+Burguete Horse
+Burmese Horse
+Byelorussian Harness Horse
+Calabrese Horse
+Camargue Horse
+Camarillo White Horse
+Campeiro
+Campolina
+Canadian Horse
+Canadian Pacer
+Carolina Marsh Tacky
+Carthusian Horse
+Caspian Horse
+Castilian Horse
+Castillonnais
+Catria Horse
+Cavallo Romano della Maremma Laziale
+Cerbat Mustang
+Chickasaw Horse
+Chilean Corralero
+Choctaw Horse
+Cleveland Bay
+Clydesdale Horse
+Cob
+Coldblood Trotter
+Colonial Spanish Horse
+Colorado Ranger
+Comtois Horse
+Corsican Horse
+Costa Rican Saddle Horse
+Cretan Horse
+Criollo Horse
+Croatian Coldblood
+Cuban Criollo
+Cumberland Island Horse
+Curly Horse
+Czech Warmblood
+Daliboz
+Danish Warmblood
+Danube Delta Horse
+Dole Gudbrandsdal
+Don
+Dongola Horse
+Draft Trotter
+Dutch Harness Horse
+Dutch Heavy Draft
+Dutch Warmblood
+Dzungarian Horse
+East Bulgarian
+East Friesian Horse
+Estonian Draft
+Estonian Horse
+Falabella
+Faroese
+Finnhorse
+Fjord Horse
+Fleuve
+Florida Cracker Horse
+Foutanké
+Frederiksborg Horse
+Freiberger
+French Trotter
+Friesian Cross
+Friesian Horse
+Friesian Sporthorse
+Furioso-North Star
+Galiceño
+Galician Pony
+Gelderland Horse
+Georgian Grande Horse
+German Warmblood
+Giara Horse
+Gidran
+Groningen Horse
+Gypsy Horse
+Hackney Horse
+Haflinger
+Hanoverian Horse
+Heck Horse
+Heihe Horse
+Henson Horse
+Hequ Horse
+Hirzai
+Hispano-Bretón
+Holsteiner Horse
+Horro
+Hungarian Warmblood
+Icelandic Horse
+Iomud
+Irish Draught
+Irish Sport Horse sometimes called Irish Hunter
+Italian Heavy Draft
+Italian Trotter
+Jaca Navarra
+Jeju Horse
+Jutland Horse
+Kabarda Horse
+Kafa
+Kaimanawa Horses
+Kalmyk Horse
+Karabair
+Karabakh Horse
+Karachai Horse
+Karossier
+Kathiawari
+Kazakh Horse
+Kentucky Mountain Saddle Horse
+Kiger Mustang
+Kinsky Horse
+Kisber Felver
+Kiso Horse
+Kladruber
+Knabstrupper
+Konik
+Kundudo
+Kustanair
+Kyrgyz Horse
+Latvian Horse
+Lipizzan
+Lithuanian Heavy Draught
+Lokai
+Losino Horse
+Lusitano
+Lyngshest
+M'Bayar
+M'Par
+Mallorquín
+Malopolski
+Mangalarga
+Mangalarga Marchador
+Maremmano
+Marismeño Horse
+Marsh Tacky
+Marwari Horse
+Mecklenburger
+Međimurje Horse
+Menorquín
+Mérens Horse
+Messara Horse
+Metis Trotter
+Mezőhegyesi Sport Horse
+Miniature Horse
+Misaki Horse
+Missouri Fox Trotter
+Monchina
+Mongolian Horse
+Mongolian Wild Horse
+Monterufolino
+Morab
+Morgan Horse
+Mountain Pleasure Horse
+Moyle Horse
+Murakoz Horse
+Murgese
+Mustang Horse
+Namib Desert Horse
+Nangchen Horse
+National Show Horse
+Nez Perce Horse
+Nivernais Horse
+Nokota Horse
+Noma
+Nonius Horse
+Nooitgedachter
+Nordlandshest
+Noriker Horse
+Norman Cob
+North American Single-Footer Horse
+North Swedish Horse
+Norwegian Coldblood Trotter
+Norwegian Fjord
+Novokirghiz
+Oberlander Horse
+Ogaden
+Oldenburg Horse
+Orlov trotter
+Ostfriesen
+Paint
+Pampa Horse
+Paso Fino
+Pentro Horse
+Percheron
+Persano Horse
+Peruvian Paso
+Pintabian
+Pleven Horse
+Poitevin Horse
+Posavac Horse
+Pottok
+Pryor Mountain Mustang
+Przewalski's Horse
+Pura Raza Española
+Purosangue Orientale
+Qatgani
+Quarab
+Quarter Horse
+Racking Horse
+Retuerta Horse
+Rhenish German Coldblood
+Rhinelander Horse
+Riwoche Horse
+Rocky Mountain Horse
+Romanian Sporthorse
+Rottaler
+Russian Don
+Russian Heavy Draft
+Russian Trotter
+Saddlebred
+Salerno Horse
+Samolaco Horse
+San Fratello Horse
+Sarcidano Horse
+Sardinian Anglo-Arab
+Schleswig Coldblood
+Schwarzwälder Kaltblut
+Selale
+Sella Italiano
+Selle Français
+Shagya Arabian
+Shan Horse
+Shire Horse
+Siciliano Indigeno
+Silesian Horse
+Sokolsky Horse
+Sorraia
+South German Coldblood
+Soviet Heavy Draft
+Spanish Anglo-Arab
+Spanish Barb
+Spanish Jennet Horse
+Spanish Mustang
+Spanish Tarpan
+Spanish-Norman Horse
+Spiti Horse
+Spotted Saddle Horse
+Standardbred Horse
+Suffolk Punch
+Swedish Ardennes
+Swedish coldblood trotter
+Swedish Warmblood
+Swiss Warmblood
+Taishū Horse
+Takhi
+Tawleed
+Tchernomor
+Tennessee Walking Horse
+Tersk Horse
+Thoroughbred
+Tiger Horse
+Tinker Horse
+Tolfetano
+Tori Horse
+Trait Du Nord
+Trakehner
+Tsushima
+Tuigpaard
+Ukrainian Riding Horse
+Unmol Horse
+Uzunyayla
+Ventasso Horse
+Virginia Highlander
+Vlaamperd
+Vladimir Heavy Draft
+Vyatka
+Waler
+Waler Horse
+Walkaloosa
+Warlander
+Warmblood
+Welsh Cob
+Westphalian Horse
+Wielkopolski
+Württemberger
+Xilingol Horse
+Yakutian Horse
+Yili Horse
+Yonaguni Horse
+Zaniskari
+Žemaitukas
+Zhemaichu
+Zweibrücker
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/mainly_ducks.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/mainly_ducks.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9d0e33dfc3331153cfc6f7e92faebfac11f6944a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/mainly_ducks.txt
@@ -0,0 +1,93 @@
+# Originally sourced from https://github.com/dariusk/corpora/blob/master/data/animals/mainly-ducks.json
+# A list of anseriformes, a taxonomic order including ducks, geese, swans, and screamers.
+Crested shelduck
+Madagascar pochard
+Brazilian merganser
+Campbell teal
+Baer's pochard
+Andaman teal
+White-winged duck
+Laysan duck
+Auckland teal
+Bernier's teal
+Blue duck
+Brown teal
+Meller's duck
+Hawaiian duck
+Nene
+Bronze-winged duck
+Northern screamer
+Salvadori's teal
+Scaly-sided merganser
+New Zealand scaup
+Philippine duck
+Chubut steamer duck
+White-headed duck
+Maccoa duck
+Andean teal
+Blue-winged goose
+Coscoroba swan
+Orinoco goose
+Spotted whistling duck
+Sunda teal
+Flying steamer duck
+Freckled duck
+White-backed duck
+Cape Barren goose
+Blue-billed duck
+Hartlaub's duck
+Lesser white-fronted goose
+Eaton's pintail
+Red-breasted goose
+Ruddy-headed goose
+Marbled duck
+Masked duck
+Muscovy duck
+Swan goose
+Mandarin duck
+Emperor goose
+Falcated duck
+Black swan
+Smew
+Cotton pygmy goose
+Ruddy shelduck
+Whooper swan
+Pacific black duck
+Harlequin duck
+Lesser whistling duck
+Surf scoter
+Tundra swan
+Spectacled eider
+Velvet scoter
+Red-breasted merganser
+Black scoter
+Brant goose
+Common shelduck
+Mute swan
+West Indian whistling duck
+White-winged scoter
+King eider
+Eastern spot-billed duck
+Cackling goose
+Magpie goose
+Rosy-billed pochard
+Grey teal
+Greylag goose
+Black-bellied whistling duck
+Bufflehead
+Greater scaup
+Fulvous whistling duck
+Common scoter
+Common merganser
+White-faced whistling duck
+Common pochard
+Common goldeneye
+Garganey
+Tufted duck
+Eurasian wigeon
+Common eider
+Gadwall
+Northern pintail
+Northern shoveler
+Long-tailed duck
+Mallard
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/ponies.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/ponies.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ea024a4ed9ebbb5c53f7b363d3e05ba836a818a4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/ponies.txt
@@ -0,0 +1,172 @@
+# Originally sourced from https://github.com/dariusk/corpora/blob/master/data/animals/ponies.json
+American Shetland
+American Walking Pony
+Anadolu Pony
+Ariegeois Pony
+Assateague Pony
+Asturian Pony
+Australian Pony
+Australian Riding Pony
+Bali Pony
+Bashkir Pony
+Basque Pony
+Basuto Pony
+Batak Pony
+Bhutia Pony
+Bosnian Pony
+British Riding Pony
+British Spotted Pony
+Burmese Pony
+Canadian Rustic Pony
+Carpathian Pony
+Caspian Pony
+Chincoteague Pony
+Chinese Guoxia
+Coffin Bay Pony
+Connemara Pony
+Czechoslovakian Small Riding Pony
+Dales Pony
+Danish Sport Pony
+Dartmoor Pony
+Deli Pony
+Deutsches Reitpony
+Dülmen Pony
+Eriskay Pony
+Esperia Pony
+Exmoor Pony
+Falabella
+Faroe Pony
+Fell Pony
+Flores Pony
+French Saddle Pony
+Galician Pony
+Garrano
+Gayoe
+German Classic Pony
+German Riding Pony
+Gotland Pony
+Guangxi
+Guizhou Pony
+Gǔo-xìa Pony
+Hackney Pony
+Highland Pony
+Hokkaido Pony
+Hucul Pony
+Hunter Pony
+Icelandic Pony
+Indian Country Bred
+Java Pony
+Kerry bog Pony
+Landais Pony
+Lijiang Pony
+Linxian
+Lundy Pony
+Magyar Parlagi Szamár
+Majorera Donkey
+Maltese Donkey
+Manipuri Pony
+Mannar
+Martina Franca Donkey
+Maryisltaya
+Masai
+Masri
+Merens Pony
+Merzifon
+Meskhet-Dzhavakhetskaya
+Miniature Donkey
+Miniature Horse
+Miranda Donkey
+Miyako Pony
+Moldavian Local
+Moroccan
+Mula
+Muscat
+Narym Pony
+National Genatic
+Native of North Africa
+New Forest Pony
+Newfoundland Pony
+Noma Pony
+Nordestina
+Norman Donkey
+Northlands Pony
+Ob Pony
+Ogaden
+Pantesco
+Paulista
+Pega
+Peneia Pony
+Peruano
+Petiso Argentino
+Pindos Pony
+Poitevin
+Poitou Donkey
+Poney Mousseye
+Ponui Donkey
+Pony of the Americas
+Pottok
+Primorsko Dinarski Magarac
+Provence Donkey
+Puttalam Buruwa
+Pyrenean Donkey
+Qinghai
+Qinqyang
+Qirmani
+Quarter Pony
+Qubressy
+Ragusano Donkey
+Riding Pony
+Riffawi
+Romagnolo Donkey
+Romanian Donkey
+Sable Island Pony
+Saidi
+Sandalwood Pony
+Sardinian Donkey
+Sardinian Pony
+Sennar
+Shanbei
+Shetland Pony
+Sibbianl
+Sjeverno Jadranski Magarac
+Skogsruss
+Skyros Pony
+Somali
+South-West
+Sperki
+Spiti Pony
+Spotted
+Standard
+Subei
+Sudanese Pack
+Sumba and Sumbawa Pony
+Syrian
+Tadzhikskaya
+Taihang
+Thuringian Forest Donkey
+Tibetan
+Tibetan Pony
+Timor Pony
+Tokara Pony
+Toposa
+Tswana
+Tunisian
+Turkmenskaya
+Uzbekskaya
+Virginia Highlander
+Viterbese
+Vyatka Horse
+Welara
+Welsh Mountain Pony
+Welsh Pony
+Weser-Ems Pony
+Western Sudan Pony
+Xinjiang
+Yakut Pony
+Yangyuan
+Yonaguni
+Yunnan
+Zamorano-Leonés
+Zaniskari
+Žemaitukas
+Zhumd
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/rabbits.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/rabbits.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ffa8b152402bc6358a9e6709e1be61a9a24893dc
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/animals/rabbits.txt
@@ -0,0 +1,50 @@
+# Sourced from https://github.com/dariusk/corpora/blob/master/data/animals/rabbits.json
+American
+American Chinchilla
+American Fuzzy Lop
+American Sable
+Argente Brun
+Belgian Hare
+Beveren
+Blance de Hotot
+Britannia Petite
+Californian
+Champagne D'argent
+Checkered Giant
+Cinnamon
+Creme D'argent
+Dutch
+Dwarf Hotot
+English Angora
+English Lop
+English Spot
+Flemish Giant
+Florida White
+French Angora
+French Lop
+Giant Angora
+Giant Chinchilla
+Harlequin
+Havana
+Himalayan
+Holland Lop
+Jersey Wooly
+Lilac
+Lionhead
+Mini Lop
+Mini Rex
+Mini Satin
+Netherland Dwarf
+New Zealand
+Palomino
+Polish
+Rex
+Rhinelander
+Satin
+Satin Angora
+Silver
+Silver Fox
+Silver Marten
+Standard Chinchilla
+Tan
+Thrianta
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/cthulhu.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/cthulhu.txt
new file mode 100644
index 0000000000000000000000000000000000000000..163d7b26dc435e8bb8397a110ffea85086eaf8bf
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/cthulhu.txt
@@ -0,0 +1,7 @@
+__creatures/cthulhu/earth_native__
+__creatures/cthulhu/extinct__
+__creatures/cthulhu/extra_dimensional__
+__creatures/cthulhu/extra_terrestrial__
+__creatures/cthulhu/non_sapient__
+__creatures/cthulhu/outergods__
+__creatures/cthulhu/sapient__
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/cthulhu/earth_native.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/cthulhu/earth_native.txt
new file mode 100644
index 0000000000000000000000000000000000000000..25794f3ef21cd9cd06491313758c575a8e20887c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/cthulhu/earth_native.txt
@@ -0,0 +1,98 @@
+Albino penguin
+Alskali
+Black Lotus
+Blessed of Shub-Niggurath
+Boucher
+Bouda
+Brood of Ubbo-Sathla
+Broodling of Chthon
+Caterpillar
+Cave beast
+Child of Abhoth
+Child of the Green God
+Child of the Sphinx
+Child of Yig
+Child of Yog-Sothoth
+Chthonian
+Cold One
+Coleopteran
+Crawling One
+Daughter of Atlach-Nacha
+Deep One
+Deep One/Gallery
+Degenerate Serpent Folk
+Devolved human
+Dragon King
+Dust-Man
+Dweller in the Depths
+Fosterling of the Old One
+Frog Monster
+Ghoul/Gallery
+Gn'icht' Tyaacht
+Gnoph-keh
+Gnophkeh
+Gorgon
+Graboid
+Gyaa-yothn
+Haemovore
+Headless Man
+Hell-Plant
+Hidden One
+Humankind in the Cthulhu Mythos
+Hyperborean
+Inhabitant of the Nameless City
+Kappa
+Laniqua Lua'huan
+M'and Ybula
+Man-Bat
+Man-Serpent
+Martense Family
+Martin's Beach Creature
+Miri-Nigri
+Muvians
+Progeny of Yig
+Proto-Shoggoth
+Rat Person
+Reptile Person
+Sand-dweller
+Satyr
+Serpent Person
+Serpent Person/Gallery
+Shoggoth
+Shoggoth Lord
+Siren
+Slorg
+Snake Clan
+Spawn of Dagon
+Spawn of Nyogtha
+Spawn of the Green Abyss
+Spawn of Yig
+Spectral Hunter
+Swine Person
+Taoist Immortal
+Tatsu
+Tcho-Tcho people
+Thuum'ha
+Triffid
+Troll
+Tulush
+Tunneler Below
+Unspeakable Possessor
+Vampire
+Voor
+Voormi
+Watcher
+Werewolf
+Whippoorwill
+Whisper Man
+White ape
+White polypous thing
+Wolf Man
+Worms of the Earth
+Xo Tl'mi-go
+Y'nathogguan
+Yakith Lizard
+Yokai
+Yokai/Gallery
+Yugg
+Zaratan
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/cthulhu/extinct.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/cthulhu/extinct.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3cdc5004d4abdd08127220b19bce4196a2695f85
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/cthulhu/extinct.txt
@@ -0,0 +1,7 @@
+Degenerate Serpent Folk
+Gnophkeh
+Hammerhead
+Intelligent Mollusk
+Martense Family
+Reptile Person
+Thuum'ha
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/cthulhu/extra_dimensional.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/cthulhu/extra_dimensional.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d8de6688f7e3f4cc141fc5391777b535efa0bd02
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/cthulhu/extra_dimensional.txt
@@ -0,0 +1,93 @@
+Aberration
+Aboleth
+Adumbrali
+Alien Intelligence
+Ancient One
+Bubble creature
+Buopoth
+Butterfly-Dragon
+Carnivorous fish
+Chaos God
+Chaos God/Gallery
+Chaos Spawn
+Cloudbeast
+Dakini
+Dark Giant
+Dark One
+Dchichi
+Deadite
+Demon Spawn
+Desh
+Dho-spawn
+Dhole
+Dimensional Shambler
+Doel
+Dust-Man
+Elder God
+Exo-Parasite
+Fhtagn
+Fireworm
+Fractal Creature
+Garuda Bird
+Gharoide
+Ghast
+Gnorri
+Goblin
+Great Old One
+Guardian of the Crystallizers of Dreams
+Harbinger
+Hooded Harbinger
+Horse of the Invisible
+Hound of Tindalos
+Hound of Tindalos/Gallery
+Hunter from Beyond
+Hunting Horror
+Jinn
+Khats
+Leviathan
+Lithard
+Lloigor
+Lord of Tindalos
+Lumen
+Many-Angled One
+Many-Angled One/Gallery
+Man of Leng
+Minion of Karakal
+Monstrous mammal
+Moon-beast
+N'Garai
+N'hlathi
+Neflord
+Night-gaunt
+Night-gaunt/Gallery
+Nova
+Ny'ghan Grii
+Nyghan Grii
+Obyrith
+Obyrith/Gallery
+Old God
+Old One
+Phosphorescent Monster
+Qlippoth
+S'glhuoan
+Seeker
+Sentient polyhedron
+Servitor of the Outer Gods
+Shantak
+Soul Worm
+Spawn of Yog-Sothoth
+Spider of Leng
+Splugorth
+Splugorth/Gallery
+Star Hive
+Tomb Herd
+Typhonian Beast
+Urhag
+Vampire Intelligence
+Voonith
+Wenelian
+Xel'naga
+Yugg
+Zllphyan
+Zoog
+Zoog/Gallery
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/cthulhu/extra_terrestrial.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/cthulhu/extra_terrestrial.txt
new file mode 100644
index 0000000000000000000000000000000000000000..177546406f90104c6961bcca6e1796482e8c2f5b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/cthulhu/extra_terrestrial.txt
@@ -0,0 +1,84 @@
+Aartna
+Aboleth
+Aihai
+Angel
+Animiculi
+Beholder
+Bhlemphroim
+Brethren Moon
+Brood
+Byakhee
+Cat from Saturn
+Celestial
+Ceph
+Colour Out of Space
+Cthulhi
+Demon Planet
+Dire Wraith
+Dybbuk
+Elder Spirit
+Elder Thing
+Elder Worm
+Fire Vampire
+Flying Polyp
+Formless Spawn
+Gah Lak Tus
+Giant Bee
+Great Old One
+Great Race of Yith
+Grioth
+Heat-Lizard
+Illithid
+Insect
+Insect Philosopher
+Intelligent Mollusk
+K'n-yanian
+Kitsune
+Klyntar
+L'gy'hxian
+Leech of Yoh-Vombis
+Leviathan
+Martian
+Menoptera
+Mi-go
+Neothelid
+Neptunian
+Nestene Consciousness
+Nioth-Korghai
+Nug-Soth
+Orocoran
+Phalanx
+Phocean
+Reaper
+Servitors of Haiogh-Yai
+Seugathi
+Shadow
+Shan
+Space Eater
+Space Monster
+Spawn of Abhoth
+Spawn of Hastur
+Splugorth
+Star Hive
+Star Vampire
+Tengu
+Thing
+Tindalosian Hybrid
+Titan
+Traveler
+Tyranid
+Venusian
+Vespergaunt
+Vile Fungus
+Vorlon
+Xenomorph
+Xiclotlan
+Yaddithian
+Yarkdao
+Ydheem
+Yekubian
+Yorhi
+Zarbi
+Zarr
+Zerg
+Zy'tl Q'ae
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/cthulhu/non_sapient.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/cthulhu/non_sapient.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8fc6338ece4d44a0aa09221c49d2d3e6be556ed7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/cthulhu/non_sapient.txt
@@ -0,0 +1,45 @@
+Brood of Ubbo-Sathla
+Bubble creature
+Buopoth
+Butterfly-Dragon
+Byakhee
+Caterpillar
+Child of Abhoth
+Child of Y'golonac
+Cloudbeast
+Doughy nightmare
+Exo-Parasite
+Feeder from Within (entity)
+Fisher from Outside
+Fractal Creature
+Garuda Bird
+Ghast
+Giant Bee
+Gnoph-keh
+Graboid
+Gyaa-yothn
+Heat-Lizard
+Hell-Plant
+Hound of Tindalos
+Hunting Horror
+Invisible octopoid
+Leech of Yoh-Vombis
+Monstrous frog
+Monstrous mammal
+Nagäae
+Shantak
+Spawn of Abhoth
+Spawn of Yog-Sothoth
+Star Vampire
+Triffid
+Urhag
+Vile Fungus
+Voonith
+Whippoorwill
+White polypous thing
+Wolf-Like Mountain
+Xenomorph
+Xiclotlan
+Yakith Lizard
+Zaratan
+Zarbi
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/cthulhu/outergods.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/cthulhu/outergods.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5dd9d7a5f2111f2383fe68b35eaa07b237a6926f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/cthulhu/outergods.txt
@@ -0,0 +1,50 @@
+Abhoth
+Azathoth
+Cxaxukluth
+Daoloth
+Darkness
+D'endrrah
+Ghroth
+The Nameless Mist
+Magnum Innominandum
+Noth-Yidik
+Nyarlathotep
+Shub-Niggurath
+Tru'nembra
+Tulzscha
+Ubbo-Sathla
+Xexanoth
+Ycnàgnnisssz
+Yhoundeh
+Yog-Sothoth
+Aiueb Gnshal
+Aletheia
+Kwekwaxawe/God
+Azhorra-Tha
+The Blackness from the Stars
+The Cloud-Thing
+C'thalpa
+Gi-Hoveg
+Haiogh-Yai
+Huitloxopetl
+Ialdagorth
+Kaajh'Kaalbh
+Kaalut
+Lu-Kthu
+Mh'ithrha
+Mlandoth
+Mril Thorion
+Mother of Pus
+Nhimbaloth
+Ngyr-Korath
+Nyctelios
+Olkoth
+Ramasekva
+Shabbith-Ka
+Star Mother
+Suc'Naath
+Uvhash
+Xa'ligha
+Yibb-Tstll
+Yidhra
+Yomagn'tho
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/cthulhu/sapient.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/cthulhu/sapient.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e2a90007f1f207477b84d6f97103aadeb80eeb13
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/cthulhu/sapient.txt
@@ -0,0 +1,197 @@
+Aboleth
+Adumbrali
+Aihai
+Alskali
+Ancient One
+Angel
+Beholder
+Bhlemphroim
+Boucher
+Bouda
+Brethren Moon
+Brood
+Broodling of Chthon
+Broodling of Eihort
+Cat from Saturn
+Cat of Sadoqua
+Celestial
+Ceph
+Chaos God
+Chaos Spawn
+Child of Shugoran
+Child of the Green God
+Child of the Sphinx
+Child of Tsathoggua
+Child of Yog-Sothoth
+Children of Sthanee
+Chthonian
+Cold One
+Coleopteran
+Crawling One
+Cthulhi
+Dakini
+Dark Giant
+Dark One
+Dark Young of Shub-Niggurath
+Daughter of Atlach-Nacha
+Dchichi
+Deadite
+Deep One
+Degenerate Serpent Folk
+Demon Planet
+Demon Spawn
+Devolved human
+Dire Wraith
+Dragon King
+Dweller in the Depths
+Dybbuk
+Elder God
+Elder Spirit
+Elder Thing
+Elder Worm
+Fire Vampire
+Flying Polyp
+Formless Spawn
+Fosterling of the Old One
+Fractal Creature
+Frog Monster
+Ghoul
+Gnophkeh
+Gnorri
+Goblin
+Great Old One
+Great Race of Yith
+Grioth
+Gug
+Haemovore
+Harbinger
+Headless Man
+Hidden One
+Hooded Harbinger
+Humankind in the Cthulhu Mythos
+Hyperborean
+Illithid
+Inhabitant of the Nameless City
+Insect (Lexx)
+Insect Philosopher
+Intelligent Mollusk
+Jinn
+K'n-yanian
+Kappa
+Keeper of the Yellow Sign
+Khats
+Kitsune
+Klyntar
+L'gy'hxian
+Laniqua Lua'huan
+Leviathan (Mass Effect)
+Leviathan (Supernatural)
+Lithard
+Lloigor (species)
+Lord of Tindalos
+Lost Spirits of Shuma-Gorath
+M'and Ybula
+Man-Bat
+Man-Serpent
+Many-Angled One
+Martense Family
+Martian
+Martin's Beach Creature
+Man of Leng
+Menoptera
+Mi-go
+Miri-Nigri
+Moit of Shub-Niggurath
+Moon-beast
+Muvians
+N'Garai
+N'hlathi
+Nazzadi
+Neflord
+Neothelid
+Neptunian
+Nestene Consciousness
+Night-gaunt
+Nioth-Korghai
+Nova
+Nug-Soth
+Ny'ghan Grii
+Nyghan Grii
+Obyrith
+Orocoran
+Petesouchi
+Phalanx
+Phocean
+Phosphorescent Monster
+Progeny of Yig
+Proto-Shoggoth
+Qlippoth
+Raandeese
+Reaper
+Reptile Person
+S'glhuoan
+Sand-dweller
+Satyr
+Seeker
+Sentient polyhedron
+Serpent Person
+Seugathi
+Shadow
+Shan
+Shoggoth
+Shoggoth Lord
+Siren
+Snake Clan
+Snake of Many Colors
+Soul Worm
+Space Monster
+Spawn of Dagon
+Spawn of Hastur
+Spawn of Nyogtha
+Spawn of the Green Abyss
+Spawn of the Winds
+Spawn of Yig
+Spectral Hunter
+Spider of Leng
+Splugorth
+Star Hive
+Swine Person
+Taoist Immortal
+Tatsu
+Tcho-Tcho people
+Tengu
+Thing
+Thing (Who Goes There?)
+Thuum'ha
+Titan
+Toad-thing
+Traveler
+Troid
+Troll
+Tunneler Below
+Tyranid
+Unspeakable Possessor
+Vampire
+Vampire Intelligence
+Venusian
+Vespergaunt
+Voor
+Voormi
+Vorlon
+Wenelian
+Whisper Man
+White ape
+Wolf Man
+Worms of the Earth
+Xel'naga
+Y'nathogguan
+Yaddithian
+Yarkdao
+Ydheem
+Yekubian
+Yorhi
+Yugg
+Zarr
+Zerg
+Zoog
+Zy'tl Q'ae
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/aetherborn.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/aetherborn.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6a572b9e14c7d48e5d2f30495836f7a3704b0b68
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/aetherborn.txt
@@ -0,0 +1,3 @@
+__creatures/mtg/aetherborn/aetherborn_artificer__
+__creatures/mtg/aetherborn/aetherborn_rogue__
+__creatures/mtg/aetherborn/aetherborn_warrior__
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/aetherborn/aetherborn_artificer.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/aetherborn/aetherborn_artificer.txt
new file mode 100644
index 0000000000000000000000000000000000000000..413e25aa5a570863c1b755adcb8f4d63df0fae73
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/aetherborn/aetherborn_artificer.txt
@@ -0,0 +1,4 @@
+Defiant Salvager
+Ironclad Revolutionary
+Ambitious Aetherborn
+Weaponcraft Enthusiast
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/aetherborn/aetherborn_rogue.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/aetherborn/aetherborn_rogue.txt
new file mode 100644
index 0000000000000000000000000000000000000000..49c35af28c1cb2aebcd16f5f23ad95f4688307c2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/aetherborn/aetherborn_rogue.txt
@@ -0,0 +1,6 @@
+Lawless Broker
+Aetherborn Marauder
+Contraband Kingpin
+Alley Strangler
+Midnight Entourage
+Syndicate Trafficker
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/aetherborn/aetherborn_warrior.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/aetherborn/aetherborn_warrior.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3431dfb1601e0aed0093930fdc619011be01b2ac
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/aetherborn/aetherborn_warrior.txt
@@ -0,0 +1,3 @@
+Vengeful Rebel
+Night Market Aeronaut
+Prakhata Club Security
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/ajani.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/ajani.txt
new file mode 100644
index 0000000000000000000000000000000000000000..bf2ffad16ef44fbad830c90a6e044fa8c9169a66
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/ajani.txt
@@ -0,0 +1,13 @@
+Ajani Goldmane
+Ajani Steadfast
+Ajani Unyielding
+Ajani Vengeant
+Ajani, Adversary of Tyrants
+Ajani, Caller of the Pride
+Ajani, Inspiring Leader
+Ajani, Mentor of Heroes
+Ajani, Sleeper Agent
+Ajani, Strength of the Pride
+Ajani, the Greathearted
+Ajani, Valiant Protector
+Ajani, Wise Counselor
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/angel.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/angel.txt
new file mode 100644
index 0000000000000000000000000000000000000000..db8e0e1747ec5509a2af245271b5c3797e4ebfda
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/angel.txt
@@ -0,0 +1,6 @@
+__creatures/mtg/angel/angel_advisor__
+__creatures/mtg/angel/angel_berserker__
+__creatures/mtg/angel/angel_cleric__
+__creatures/mtg/angel/angel_general__
+__creatures/mtg/angel/angel_soldier__
+__creatures/mtg/angel/angel_spirit__
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/angel/angel_advisor.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/angel/angel_advisor.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ce47a320d6408a1f7e0f19174dd31f13b603c0b4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/angel/angel_advisor.txt
@@ -0,0 +1,3 @@
+Celestial Regulator
+Angelic Sleuth
+Angelic Observer
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/angel/angel_berserker.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/angel/angel_berserker.txt
new file mode 100644
index 0000000000000000000000000000000000000000..19d8faa42a143ecc72d8d49382d18522ff8b8987
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/angel/angel_berserker.txt
@@ -0,0 +1,3 @@
+Eradicator Valkyrie
+Cleaving Reaper
+Renegade Reaper
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/angel/angel_cleric.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/angel/angel_cleric.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9ee7d989f85a070a3842bd5e76e0d626814a1d6c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/angel/angel_cleric.txt
@@ -0,0 +1,7 @@
+Vengeful Reaper
+Shepherd of Heroes
+Inspiring Overseer
+Angel of Destiny
+Righteous Valkyrie
+Valkyrie Harbinger
+Glorious Protector
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/angel/angel_general.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/angel/angel_general.txt
new file mode 100644
index 0000000000000000000000000000000000000000..13bbc731b1995445bfc3b958e264f2ff3770634d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/angel/angel_general.txt
@@ -0,0 +1,129 @@
+Sublime Archangel
+Deathpact Angel
+Sigardian Savior
+Angel of Fury
+Serra's Emissary
+Angelic Arbiter
+Shalai's Acolyte
+Serra Paragon
+Tormented Angel
+Reaper of Flight Moonsilver
+Herald of the Host
+Angelic Field Marshal
+Glorious Enforcer
+Angel of Vitality
+Sigarda's Vanguard
+Resolute Archangel
+Firemane Avenger
+Angel of Salvation
+Angel of the Dire Hour
+Battlegrace Angel
+Anointer of Valor
+Angelic Protector
+Exalted Angel
+Pristine Angel
+Baneslayer Angel
+Empyrial Archangel
+Blinding Angel
+Wispweaver Angel
+Heavenly Blademaster
+Archangel of Wrath
+Silver Seraph
+Emeria Shepherd
+Maelstrom Archangel
+Emancipation Angel
+Sustainer of the Realm
+Restoration Angel
+Angel of Invention
+Emeria Angel
+Herald of the Sun
+Youthful Valkyrie
+Crypt Angel
+Malach of the Dawn
+Angel of Jubilation
+Voice of All
+Archangel of Strife
+Firemane Angel
+Voice of Truth
+Dawning Angel
+Angel of Finality
+Herald of Serra
+Avenging Angel
+Angelic Overseer
+Victory's Herald
+Angelic Skirmisher
+Seraph of the Suns
+Stoic Angel
+Breathkeeper Seraph
+Winged Shepherd
+Iridescent Angel
+Angel of Sanctions
+Archangel of Tithes
+Seraph of the Masses
+Goldnight Castigator
+Angel of Condemnation
+Angel of Retribution
+Resplendent Angel
+Dawnbreak Reclaimer
+Shepherd of the Lost
+Serra's Guardian
+Angelic Guardian
+Serra Avenger
+Seraph of the Scales
+Voice of Law
+Sunblade Angel
+Subjugator Angel
+Luminous Angel
+Voice of Grace
+Admonition Angel
+Angel of Light
+Guardian Seraph
+Requiem Angel
+Archangel of Thune
+Serra Angel
+Exquisite Archangel
+Angel of Glory's Rise
+Starlit Angel
+Lightning Angel
+Angel of Serenity
+Goldnight Redeemer
+Militant Angel
+Angel of the God-Pharaoh
+Aegis Angel
+Radiant Solar
+Serra Advocate
+Angel of Despair
+Segovian Angel
+Voice of the Provinces
+Voice of Reason
+Angel of Flight Alabaster
+Sunblast Angel
+Herald of War
+AngelHerald of Faith
+Windshaper Planetar
+Twilight Shepherd
+Angel of Grace
+Planar Ally
+Seraph of the Sword
+Glimmering Angel
+Magister of Worth
+Patron of the Valiant
+Seraph of Dawn
+Angel of Mercy
+Archway Angel
+Light of the Legion
+Angel
+Indomitable Archangel
+Deathless Angel
+Angel of the Dawn
+Haunted Angel
+Thraben Watcher
+Fallen Angel
+Voice of Duty
+Flameblade Angel
+Archangel
+Lightkeeper of Emeria
+Angel of Deliverance
+Desolation Angel
+Seraph
+Guardian of the Gateless
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/angel/angel_soldier.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/angel/angel_soldier.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7da318c025b288ab3ffdfa5638c3c7205f72a9be
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/angel/angel_soldier.txt
@@ -0,0 +1,4 @@
+Serra Redeemer
+Angelic Quartermaster
+Metropolis Angel
+Sanctuary Warden
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/angel/angel_spirit.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/angel/angel_spirit.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d45eeb34550b81892ca15911b9bd43beff74f07e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/angel/angel_spirit.txt
@@ -0,0 +1,6 @@
+Guiding Spirit
+Sustaining Spirit
+Angelic Curator
+Angelic Page
+Melesse Spirit
+Karmic Guide
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/angrath.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/angrath.txt
new file mode 100644
index 0000000000000000000000000000000000000000..21208e1f27fc814f80ab7bf393cc2b4bc198a53b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/angrath.txt
@@ -0,0 +1,3 @@
+Angrath, Captain of Chaos
+Angrath, Minotaur Pirate
+Angrath, the Flame-Chained
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/antelope.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/antelope.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d15b554a31ed9a7c26c4c5dc29d3908c503a9693
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/antelope.txt
@@ -0,0 +1,8 @@
+Graceful Antelope
+Emerald Oryx
+Grazing Gladehart
+Trained Pronghorn
+Ornery Kudu
+Inspirational Antelope
+Totem-Guide Hartebeest
+Wary Okapi
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/ape_shaman.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/ape_shaman.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d0a20c3804d38372ac16ee87ba7a079f72a508a8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/ape_shaman.txt
@@ -0,0 +1,3 @@
+Gorilla Shaman
+Silverback Elder
+Silverback Shaman
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/ashiok.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/ashiok.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4389b0df15bd993493c6990cf4ca00eaa5d9480e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/ashiok.txt
@@ -0,0 +1,4 @@
+Ashiok, Dream Render
+Ashiok, Nightmare Muse
+Ashiok, Nightmare Weaver
+Ashiok, Sculptor of Fears
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/astartes_warrior.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/astartes_warrior.txt
new file mode 100644
index 0000000000000000000000000000000000000000..57c97f6ad9184c65a3828598a1f6637ec6fbef67
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/astartes_warrior.txt
@@ -0,0 +1,3 @@
+Marneus Calgar
+Lucius the Eternal
+Abaddon the Despoiler
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/atog.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/atog.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e33d2657481ede7f9a83cae8b558dfcf30708585
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/atog.txt
@@ -0,0 +1,11 @@
+Chronatog
+Necratog
+Thaumatog
+Lithatog
+Sarcatog
+Phantatog
+Psychatog
+Atog
+Auratog
+Foratog
+Megatog
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/aura.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/aura.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1809ebd32ad736885396e9aba8d2bb1a9bdc8567
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/aura.txt
@@ -0,0 +1,6 @@
+Winter's Rest
+On Thin Ice
+Rime Transfusion
+Glacial Plating
+Gelid Shackles
+Glittering Frost
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/avatar.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/avatar.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d41f85bc01c8d35d96f364d65a3430f0124b0b31
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/avatar.txt
@@ -0,0 +1,8 @@
+Daughter of Autumn
+The Lady of Otaria
+Evra, Halcyon Witness
+Child of Alara
+Hogaak, Arisen Necropolis
+Torgaar, Famine Incarnate
+Karona, False God
+Autumn Willow
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/azra_warrior.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/azra_warrior.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c73164ae021b1021bafea52b386bbb35406d3fc3
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/azra_warrior.txt
@@ -0,0 +1,5 @@
+Azra Bladeseeker
+Azra Oddsmaker
+Rushblade Commander
+Blaring Captain
+Mindblade Render
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/badger.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/badger.txt
new file mode 100644
index 0000000000000000000000000000000000000000..fb167cef502222049beecc143203959d53407950
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/badger.txt
@@ -0,0 +1,4 @@
+Bog Badger
+Rysorian Badger
+Charging Badger
+Giant Badger
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/basilisk.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/basilisk.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b08bd680b8ca00b69f9c69c9a15d52eaecf90b64
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/basilisk.txt
@@ -0,0 +1,11 @@
+Rock Basilisk
+Underdark Basilisk
+Serpentine Basilisk
+Greater Basilisk
+Thicket Basilisk
+Stone-Cold Basilisk
+Stone-Tongue Basilisk
+Daggerback Basilisk
+Lowland Basilisk
+Turntimber Basilisk
+Sylvan Basilisk
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/beast_mutant.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/beast_mutant.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5546b298a0443d4c8f4adad1eec458947a430737
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/beast_mutant.txt
@@ -0,0 +1,3 @@
+Krosan Cloudscraper
+Helium Squirter
+Renegade Krasis
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/beasts/beast.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/beasts/beast.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4ac34bd1e622ceecc79fccab4dddf0eeb49e7b94
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/beasts/beast.txt
@@ -0,0 +1,272 @@
+Ronom Hulk
+Silt Crawler
+Gurzigost
+Karstoderm
+Titanic Bulvox
+Brontotherium
+Blossoming Bogbeast
+Ghor-Clan Rampager
+Charging Slateback
+Kelpie Guide
+Shaleskin Plower
+Sea Snidd
+Primal Huntbeast
+Hollowhenge Beast
+Nessian Game Warden
+Laccolith Whelp
+Rampaging Rendhorn
+Leopard-Spotted Jiao
+Flowstone Crusher
+Valley Rannet
+Skyshroud Ridgeback
+Towering Indrik
+Stomper Cub
+Realm Razer
+Beacon Behemoth
+Krakilin
+Fangren Pathcutter
+Sylvan Brushstrider
+Broodstar
+Beast
+Groffskithur
+Obstinate Baloth
+Glademuse
+Razing Snidd
+Snarling Undorak
+Charging Binox
+Macetail Hystrodon
+Branchsnap Lorian
+Herd Baloth
+Lesser Gargadon
+Laccolith Titan
+Tenement Crasher
+Gruul Ragebeast
+Skyshroud Behemoth
+Naya Soulbeast
+Thresher Beast
+Wrecking Beast
+Grollub
+Indrik Stomphowler
+Shore Snapper
+Blight-Breath Catoblepas
+Krosan Warchief
+Woolly Thoctar
+Gnarlid Colony
+War Behemoth
+Avarax
+Domri's Nodorog
+Spiritmonger
+Cragplate Baloth
+Cosmic Larva
+Ursapine
+Drooling Groodion
+Gargadon
+Gilded Cerodon
+Deepwood Tantiv
+Guardian Beast
+Garruk's Gorehorn
+Canopy Baloth
+Relic Sloth
+Blastoderm
+Sagu Mauler
+Undying Beast
+Molder Beast
+Quillspike
+Paleoloth
+Bull Cerodon
+Brushstrider
+Spur Grappler
+Greater Gargadon
+Megatherium
+Shivan Wumpus
+Carnassid
+Hundroog
+Towering Baloth
+Skyshroud War Beast
+Bulette
+Shaleskin Bruiser
+Mawcor
+Glowering Rogon
+Hunted Wumpus
+Assault Zeppelid
+Qumulox
+Baloth Pup
+Linebreaker Baloth
+Arborback Stomper
+Territorial Baloth
+Trygon Predator
+Oxidda Scrapmelter
+Rakeclaw Gargantuan
+Desert Cerodon
+Fledgling Mawcor
+Tusked Colossodon
+Beasts of Bogardan
+Plated Seastrider
+Elder Gargaroth
+Intrusive Packbeast
+Bannerhide Krushok
+Earthshaking Si
+Leatherback Baloth
+Thought Eater
+Thrashing Wumpus
+Ravenous Leucrocota
+Ridge Rannet
+Bogstomper
+Ridgeline Rager
+Nucklavee
+Lullmage's Familiar
+Skarrg Goliath
+Beast in Show
+Garruk's Companion
+Kalonian Tusker
+Herd Gnarr
+Affectionate Indrik
+Protean Hulk
+Bog Gnarr
+Alms Beast
+Ravenous Gigantotherium
+Spiked Baloth
+Slippery Bogle
+Snapping Gnarlid
+Trumpeting Gnarr
+Galvanoth
+Essence Symbiote
+Zhur-Taa Ancient
+Lurker
+Kalonian Behemoth
+Flowstone Overseer
+Venomspout Brackus
+Vigilant Baloth
+Sand Strangler
+Loathsome Catoblepas
+Cerodon Yearling
+Marsh Lurker
+Erithizon
+Gluetius Maximus
+Garruk's Harbinger
+Calciderm
+Needleshot Gourna
+Boot Nipper
+Murasa Rootgrazer
+Six-y Beast
+Raging Kronch
+Quicksilver Behemoth
+Baloth Gorger
+Fangren Hunter
+Bazaar Krovod
+Nullhide Ferox
+Aquus Steed
+Batterhorn
+Sigiled Behemoth
+Thought Devourer
+Muck Drubb
+Mischievous Quanar
+Manglehorn
+Creature Guy
+Colossodon Yearling
+Woodripper
+Gemrazer
+Thought Nibbler
+Saprazzan Breaker
+Quagnoth
+Kurgadon
+Ember Beast
+Flowstone Shambler
+Marauding Maulhorn
+Rumbling Baloth
+Noxious Groodion
+Godsire
+Riptide Mangler
+Canopy Crawler
+Kazandu Stomper
+Garruk's Packleader
+Migratory Greathorn
+Glade Gnarr
+Thragtusk
+Wayward Guide-Beast
+Spearbreaker Behemoth
+Fangren Marauder
+Timbermaw Larva
+Scalpelexis
+Tephraderm
+Kranioceros
+Burrowing Razormaw
+Stratozeppelid
+Makindi Sliderunner
+Chainflinger
+Sawtusk Demolisher
+Baloth Woodcrasher
+Great-Horn Krushok
+Trapjaw Kelpie
+Meglonoth
+Feral Throwback
+Spitting Gourna
+Battlefront Krushok
+Plague Reaver
+Spellbreaker Behemoth
+Gruul Nodorog
+Skyshroud Cutter
+Fangren Firstborn
+Arboreal Grazer
+Bonethorn Valesk
+Scragnoth
+Flowstone Charger
+Ondu Greathorn
+Feral Krushok
+Nulltread Gargantuan
+Plated Crusher
+Ironclad Krovod
+Terra Stomper
+Arc-Slogger
+Slaughterhorn
+Durkwood Baloth
+Aura Gnarlid
+Krosan Colossus
+Thrashing Mudspawn
+Krosan Groundshaker
+Laccolith Grunt
+Weaver of Lies
+Pallimud
+Lexivore
+Treespring Lorian
+Rust Monster
+Vagrant Plowbeasts
+River Kelpie
+Cavern Thoctar
+Bloodstoke Howler
+Root Greevil
+Barkhide Mauler
+Plaxmanta
+Lumbering Battlement
+Murasa Behemoth
+Siege Behemoth
+Snapping Thragg
+Enormous Baloth
+Trusty Packbeast
+Book Devourer
+Berserk Murlodont
+Rampaging Baloths
+Skittish Valesk
+Thunderfoot Baloth
+Garruk's Horde
+Leery Fogbeast
+Gnarlid Pack
+Mosscoat Goriak
+Roaring Primadox
+Nessian Demolok
+Woodland Bellower
+Ravenous Baloth
+Arashin War Beast
+Yoked Plowbeast
+Grazing Kelpie
+Flowstone Mauler
+Craterhoof Behemoth
+Sandstorm Charger
+Infernal Spawn of Evil
+Spark Fiend
+Drekavac
+Caller of the Pack
+Axebane Beast
+Ferrovore
+Hystrodon
+Graxiplon
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/beasts/goat_beast.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/beasts/goat_beast.txt
new file mode 100644
index 0000000000000000000000000000000000000000..66ad39690c79914628cd533b8a68b3571fcb1e35
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/beasts/goat_beast.txt
@@ -0,0 +1,5 @@
+Crested Craghorn
+Landscaper Colos
+Battering Craghorn
+Wild Colos
+Colos Yearling
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/beasts/hippo.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/beasts/hippo.txt
new file mode 100644
index 0000000000000000000000000000000000000000..714eaaf9be0b473559787866d12c338bdd114ae7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/beasts/hippo.txt
@@ -0,0 +1,4 @@
+Defiant Greatmaw
+Bull Hippo
+Pygmy Hippo
+Rampaging Hippo
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/beasts/jackal.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/beasts/jackal.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ac3497b5586a6b5547782692918ab1f275107810
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/beasts/jackal.txt
@@ -0,0 +1,4 @@
+Jackal Familiar
+Jackal Pup
+Hurr Jackal
+Trained Jackal
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/beasts/jackal_warrior.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/beasts/jackal_warrior.txt
new file mode 100644
index 0000000000000000000000000000000000000000..43310daedffbb9046488b80d39d141e42b42c1f0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/beasts/jackal_warrior.txt
@@ -0,0 +1,9 @@
+Defiant Khenra
+Nimble-Blade Khenra
+Flameblade Adept
+Khenra Charioteer
+Khenra Scrapper
+Trueheart Twins
+Earthshaker Khenra
+Champion of Rhonas
+Bitterblade Warrior
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/beasts/rhino_beast.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/beasts/rhino_beast.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f639c6b6813e5658ff8151a2098f6d6bad639fa1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/beasts/rhino_beast.txt
@@ -0,0 +1,4 @@
+Cliffrunner Behemoth
+Rhox
+Snorting Gahr
+Sanctuary Smasher
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/beasts/rhino_monk.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/beasts/rhino_monk.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1299450b1c175a47220573e5a9955a5c62f17ac8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/beasts/rhino_monk.txt
@@ -0,0 +1,4 @@
+Rhox Oracle
+Rhox War Monk
+Rhox Faithmender
+Rhox Meditant
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/beasts/rhino_soldier.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/beasts/rhino_soldier.txt
new file mode 100644
index 0000000000000000000000000000000000000000..bd47df8a0c2a068525eb761038add4a55edd3b5c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/beasts/rhino_soldier.txt
@@ -0,0 +1,10 @@
+Stonehorn Dignitary
+Rhox Pikemaster
+Rhox Pummeler
+Rhox Veteran
+Rockcaster Platoon
+Dauntless Escort
+Rhox Charger
+Rhox Maulers
+Sigil Captain
+Mirror-Sigil Sergeant
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/beasts/wolf_warrior.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/beasts/wolf_warrior.txt
new file mode 100644
index 0000000000000000000000000000000000000000..60cce9953b36f34db2df0c9f0d199d8e4d6e13ce
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/beasts/wolf_warrior.txt
@@ -0,0 +1,3 @@
+Silverfur Partisan
+Wolfir Avenger
+Wolfir Silverheart
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/beeble.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/beeble.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9314f302582eaa8c41affdcf670e515aa7173f65
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/beeble.txt
@@ -0,0 +1,4 @@
+Bouncing Beebles
+Bursting Beebles
+Bamboozling Beeble
+Bubbling Beebles
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/bird.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/bird.txt
new file mode 100644
index 0000000000000000000000000000000000000000..693141c4f1da15c99a7e5dbe84c0291d81feab4d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/bird.txt
@@ -0,0 +1,10 @@
+__creatures/mtg/bird/bird_beast__
+__creatures/mtg/bird/bird_citizen__
+__creatures/mtg/bird/bird_cleric__
+__creatures/mtg/bird/bird_general__
+__creatures/mtg/bird/bird_rogue__
+__creatures/mtg/bird/bird_scout__
+__creatures/mtg/bird/bird_shaman__
+__creatures/mtg/bird/bird_soldier__
+__creatures/mtg/bird/bird_warrior__
+__creatures/mtg/bird/bird_wizard__
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/bird/bird_beast.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/bird/bird_beast.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4b25c271b87edd7450af9699cb62b22e7d080d57
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/bird/bird_beast.txt
@@ -0,0 +1,5 @@
+Primoc Escapee
+Porcuparrot
+Darba
+Hunting Moa
+Thoughtbound Primoc
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/bird/bird_citizen.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/bird/bird_citizen.txt
new file mode 100644
index 0000000000000000000000000000000000000000..515c7fecde4ffbe054e8eed2f2f9d6195f32d5e9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/bird/bird_citizen.txt
@@ -0,0 +1,4 @@
+Sky Crier
+Swooping Protector
+Obscura Initiate
+Speakeasy Server
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/bird/bird_cleric.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/bird/bird_cleric.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3a3424864564f643ac6b814adf2b1d837d7a2b13
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/bird/bird_cleric.txt
@@ -0,0 +1,10 @@
+Aven Battle Priest
+Aven of Enduring Hope
+Aven Redeemer
+Serra Disciple
+Glarecaster
+Celestial Gatekeeper
+Combat Calligrapher
+Combat Professor
+Welkin Guide
+Aven Soulgazer
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/bird/bird_general.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/bird/bird_general.txt
new file mode 100644
index 0000000000000000000000000000000000000000..eff4bc8d528d39ff78494df38d1782c4d2efb218
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/bird/bird_general.txt
@@ -0,0 +1,124 @@
+Messenger Falcons
+Beacon Hawk
+Strutting Turkey
+Artificer's Assistant
+Avian Oddity
+Welkin Tern
+Carrier Pigeons
+Thieving Magpie
+Sea Eagle
+Raven Familiar
+Birds of Paradise
+Roc Charger
+Roc Hatchling
+Circling Vultures
+Rustwing Falcon
+Augury Owl
+War Falcon
+Bay Falcon
+Glint-Nest Crane
+Vexing Gull
+Loyal Gyrfalcon
+Messenger Jays
+Cloudchaser Eagle
+Healer's Hawk
+Death's-Head Buzzard
+Airdrop Condor
+Sage Owl
+Giant Albatross
+Battlefield Percher
+Mesa Falcon
+Freewind Falcon
+Territorial Roc
+Battleflight Eagle
+Glint Hawk
+Ranger's Hawk
+Whippoorwill
+Mystic Familiar
+Murder of Crows
+Aetherstorm Roc
+Ghirapur Osprey
+Bronzebeak Moa
+Windbrisk Raptor
+Cloudchaser Kestrel
+Eagle of the Watch
+Bone Picker
+Wake of Vultures
+Neurok Familiar
+Recycla-bird
+Gorging Vulture
+Augury Raven
+Screeching Buzzard
+Healer's Flock
+Welkin Hawk
+Coastal Hornclaw
+Yanling's Harbinger
+Coveted Peacock
+Squadron Hawk
+Fledgling Osprey
+Supply-Line Cranes
+Cartographer's Hawk
+Trained Condor
+Tempest Owl
+Humming-
+Royal Falcon
+Runewing
+Colorful Feiyi Sparrow
+Roc of Kher Ridges
+Duskrider Peregrine
+Storm Crow
+Belbe's Percher
+Skyshroud Condor
+Cardpecker
+Skyshroud Falcon
+Mist Raven
+Skyswirl Harrier
+Gilded Goose
+Spire Owl
+Souvenir Snatcher
+Nephalia Seakite
+Koilos Roc
+Screaming Seahawk
+Syndicate Messenger
+Mercurial Kite
+Duskrider Falcon
+Windreaper Falcon
+Kingfisher
+Osai Vultures
+River Hoopoe
+Stormwatch Eagle
+Crimson Roc
+Heron of Hope
+Wild Aesthir
+Suntail Hawk
+Wingmate Roc
+Skymark Roc
+Palace Familiar
+Ringwarden Owl
+Scouting Hawk
+Apex Hawks
+Battlefield Raptor
+Free-Range Chicken
+Eddytrail Hawk
+Mesa Chicken
+Dream Thrush
+Senate Courier
+Tazeem Raptor
+Carnivorous Death-Parrot
+Sawtooth Loon
+Rainbow Crow
+Screeching Silcaw
+Sky Theater Strix
+Silver Erne
+Stormscape Familiar
+Monastery Flock
+Dawnfeather Eagle
+War Screecher
+Expedition Raptor
+Judge's Familiar
+Courier Hawk
+Owl Familiar
+Sootfeather Flock
+Wings of the Guard
+Zephyr Falcon
+Steeple Roc
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/bird/bird_rogue.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/bird/bird_rogue.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9ebcd985db8fe76ff86e8e376f95018562fabfad
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/bird/bird_rogue.txt
@@ -0,0 +1,4 @@
+Nimble Larcenist
+Skyway Robber
+Echo Inspector
+Aarakocra Sneak
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/bird/bird_scout.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/bird/bird_scout.txt
new file mode 100644
index 0000000000000000000000000000000000000000..581a9926eb15ca107274cdff3a59521389bebf3e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/bird/bird_scout.txt
@@ -0,0 +1,3 @@
+Talon Trooper
+Jeskai Windscout
+Aven Surveyor
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/bird/bird_shaman.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/bird/bird_shaman.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7ef03e9a63c4577e8713e5101cc5d96d842b8a2a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/bird/bird_shaman.txt
@@ -0,0 +1,4 @@
+Kathari Bomber
+Vulturous Aven
+Icefeather Aven
+Spectacle Mage
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/bird/bird_soldier.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/bird/bird_soldier.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9941b846733f757080490467e9173d95e46c53be
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/bird/bird_soldier.txt
@@ -0,0 +1,3 @@
+Commander Eesha
+Lieutenant Kirtar
+Major Teroh
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/bird/bird_warrior.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/bird/bird_warrior.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6a7e90d015a2e794e590b2ea5508714a108fb1cb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/bird/bird_warrior.txt
@@ -0,0 +1,13 @@
+Dauntless Aven
+Aven Gagglemaster
+Aven Initiate
+Aven Reedstalker
+Sultai Scavenger
+Soaring Show-Off
+Seasoned Weaponsmith
+Pestilent Kathari
+Sage-Eye Harrier
+Aven Skirmisher
+Aven Sunstriker
+Aven Wind Guide
+Tah-Crop Elite
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/bird/bird_wizard.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/bird/bird_wizard.txt
new file mode 100644
index 0000000000000000000000000000000000000000..54718de3694f7b9a97a1c389d420aedebceb13dd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/bird/bird_wizard.txt
@@ -0,0 +1,22 @@
+Priority Avenger
+Crookclaw Elder
+Crookclaw Transmuter
+Curiosity Crafter
+Nimble Obstructionist
+Aven Augur
+Fleeting Aven
+Sage Aven
+Aven Fateshaper
+Aven Fogbringer
+Aven Mimeomancer
+Aven Mindcensor
+Windcaller Aven
+Arctic Aven
+Battlewing Mystic
+Aerie Mystics
+Zenith Seeker
+Aven Wind Mage
+Keeper of the Nine Gales
+Watcher of the Spheres
+Warden of Evos Isle
+Frost Trickster
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/boar.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/boar.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1cf73dd77f35f8b738c4005e3da48812fe1c9387
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/boar.txt
@@ -0,0 +1,22 @@
+Bristling Boar
+Zhur-Taa Swine
+Pygmy Razorback
+Flinthoof Boar
+Territorial Boar
+Crashing Boars
+Gore Swine
+Rubblebelt Boar
+Brindle Boar
+Brindle Shoat
+Bladetusk Boar
+Charging War Boar
+Nettle Swine
+Nessian Boar
+Prickleboar
+Trufflesnout
+Warthog
+Argothian Swine
+Outland Boar
+Durkwood Boars
+Festerhide Boar
+End-Raze Forerunners
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/bolas.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/bolas.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f8f180d01c717e92ab6479262e552a716ee1ff60
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/bolas.txt
@@ -0,0 +1,4 @@
+Nicol Bolas, Dragon-God
+Nicol Bolas, God-Pharaoh
+Nicol Bolas, Planeswalker
+Nicol Bolas, the Deceiver
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/bringer.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/bringer.txt
new file mode 100644
index 0000000000000000000000000000000000000000..81472ba691bdad8712c0e8f11ac0cd958c549e81
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/bringer.txt
@@ -0,0 +1,5 @@
+Bringer of the Blue Dawn
+Bringer of the Green Dawn
+Bringer of the Red Dawn
+Bringer of the White Dawn
+Bringer of the Black Dawn
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/brushwagg.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/brushwagg.txt
new file mode 100644
index 0000000000000000000000000000000000000000..142504f5543c8113ed146e2636c768254308cd3b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/brushwagg.txt
@@ -0,0 +1,3 @@
+Brushwagg
+Almighty Brushwagg
+Interplanar Brushwagg
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cat.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cat.txt
new file mode 100644
index 0000000000000000000000000000000000000000..423db94e44b99466c90bb6b38ce17f41d4f433e6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cat.txt
@@ -0,0 +1,9 @@
+__creatures/mtg/cat/cat_advisor__
+__creatures/mtg/cat/cat_citizen__
+__creatures/mtg/cat/cat_cleric__
+__creatures/mtg/cat/cat_demon__
+__creatures/mtg/cat/cat_monk__
+__creatures/mtg/cat/cat_rogue__
+__creatures/mtg/cat/cat_scout__
+__creatures/mtg/cat/cat_spirit__
+__creatures/mtg/cat/cat_warrior__
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cat/cat_advisor.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cat/cat_advisor.txt
new file mode 100644
index 0000000000000000000000000000000000000000..57c53dd2c61b144433c8f1fde90122893149c66a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cat/cat_advisor.txt
@@ -0,0 +1,3 @@
+Phabine, Boss's Confidant
+Denry Klin, Editor in Chief
+Kros, Defense Contractor
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cat/cat_citizen.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cat/cat_citizen.txt
new file mode 100644
index 0000000000000000000000000000000000000000..38a650d5c020f3eb50894d8e2f946094cf3c8952
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cat/cat_citizen.txt
@@ -0,0 +1,3 @@
+Brokers Initiate
+Civil Servant
+Spara's Adjudicators
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cat/cat_cleric.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cat/cat_cleric.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1a1fe676fb82b8eaadf5decb482abaef73bbae37
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cat/cat_cleric.txt
@@ -0,0 +1,12 @@
+Ajani's Sunstriker
+Savannah Sage
+Tethmos High Priest
+Leonin Abunas
+Leonin Arbiter
+Leonin Elder
+Leonin Lightscribe
+Healer of the Pride
+Abuna Acolyte
+Alms Collector
+Basri's Acolyte
+Leonin Relic-Warder
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cat/cat_demon.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cat/cat_demon.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ddc176e5e9958ef1589cb99057b6ff13952a959d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cat/cat_demon.txt
@@ -0,0 +1,4 @@
+Rakshasa Gravecaller
+Rakshasa Vizier
+Rakshasa Deathdealer
+Rakshasa Debaser
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cat/cat_monk.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cat/cat_monk.txt
new file mode 100644
index 0000000000000000000000000000000000000000..444ccfdf25fa1d417774347de9c7c50aa13e51f8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cat/cat_monk.txt
@@ -0,0 +1,4 @@
+Leonin Iconoclast
+Pride Guardian
+Oreskos Sun Guide
+Enlightened Ascetic
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cat/cat_rogue.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cat/cat_rogue.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b61a9539c2cf381166c208f99d1c7852a2b88e5f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cat/cat_rogue.txt
@@ -0,0 +1,4 @@
+Mage's Attendant
+Myrkul's Invoker
+Jewel Thief
+Black Market Tycoon
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cat/cat_scout.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cat/cat_scout.txt
new file mode 100644
index 0000000000000000000000000000000000000000..12d86333bab924591dc7b4674a7fc163d5901af6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cat/cat_scout.txt
@@ -0,0 +1,3 @@
+Nacatl Outlander
+Oreskos Explorer
+Frontier Explorer
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cat/cat_spirit.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cat/cat_spirit.txt
new file mode 100644
index 0000000000000000000000000000000000000000..36add39b654af60cd1a6b32df44763eeea983910
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cat/cat_spirit.txt
@@ -0,0 +1,4 @@
+Spirit of the Hearth
+Phantom Tiger
+Twilight Panther
+Spectral Lynx
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cat/cat_warrior.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cat/cat_warrior.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3db3d6bb079463e0d75d9ca7256505ec674e4e56
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cat/cat_warrior.txt
@@ -0,0 +1,8 @@
+Mirri, Cat Warrior
+Mirri, Weatherlight Duelist
+Marisi, Breaker of the Coil
+Jazal Goldmane
+Jedit Ojanen
+Jedit Ojanen of Efrava
+Zar Ojanen, Scion of Efrava
+Purraj of Urborg
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/centaur.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/centaur.txt
new file mode 100644
index 0000000000000000000000000000000000000000..54967b73a7199e3471e98583ea08c3b110930971
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/centaur.txt
@@ -0,0 +1,3 @@
+__creatures/mtg/centaur/centaur_archer__
+__creatures/mtg/centaur/centaur_cleric__
+__creatures/mtg/centaur/centaur_warrior__
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/centaur/centaur_archer.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/centaur/centaur_archer.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ad32583f4919a3deb506dfac8e0a926dc45e2e7d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/centaur/centaur_archer.txt
@@ -0,0 +1,5 @@
+Nylea's Disciple
+Centaur Archer
+Krosan Archer
+Skyshooter
+Jolrael's Centaur
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/centaur/centaur_cleric.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/centaur/centaur_cleric.txt
new file mode 100644
index 0000000000000000000000000000000000000000..12bbf82a8b0d0ac69fec558afcaccd67f28b320b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/centaur/centaur_cleric.txt
@@ -0,0 +1,3 @@
+Conclave Mentor
+Centaur Healer
+Centaur Peacemaker
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/centaur/centaur_warrior.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/centaur/centaur_warrior.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f2c2c91bee05de28d6347449ca3567452bf07769
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/centaur/centaur_warrior.txt
@@ -0,0 +1,15 @@
+Centaur Battlemaster
+Stonehoof Chieftain
+Fanatic of Xenagos
+Pheres-Band Warchief
+Pharika's Disciple
+Pheres-Band Brawler
+Pheres-Band Centaurs
+Pheres-Band Raiders
+Pheres-Band Thunderhoof
+Pheres-Band Tromper
+Centaur Courser
+Centaur Safeguard
+Nessian Courser
+Scab-Clan Charger
+Swordwise Centaur
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cephalid.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cephalid.txt
new file mode 100644
index 0000000000000000000000000000000000000000..607aefdb2a44f15aa5347c008456b6df1f9b9d0c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cephalid.txt
@@ -0,0 +1,3 @@
+__creatures/mtg/cephalid/cephalid_general__
+__creatures/mtg/cephalid/cephalid_rogue__
+__creatures/mtg/cephalid/cephalid_wizard__
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cephalid/cephalid_general.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cephalid/cephalid_general.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1015453e193126d0f0f1b3f15527550cac513328
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cephalid/cephalid_general.txt
@@ -0,0 +1,5 @@
+Cephalid Broker
+Cephalid Inkshrouder
+Cephalid Retainer
+Cephalid Sage
+Callous Oppressor
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cephalid/cephalid_rogue.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cephalid/cephalid_rogue.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1f16e36fcdc3940b8df947269832a320de8038ef
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cephalid/cephalid_rogue.txt
@@ -0,0 +1,6 @@
+Cephalid Vandal
+Revel Ruiner
+Psychic Pickpocket
+Backstreet Bruiser
+Cephalid Facetaker
+Cephalid Looter
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cephalid/cephalid_wizard.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cephalid/cephalid_wizard.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3ad39ba2c2831ffd518ac067707c452b16162511
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cephalid/cephalid_wizard.txt
@@ -0,0 +1,6 @@
+Learned Learner
+Obscura Interceptor
+Cephalid Constable
+Cephalid Illusionist
+Cephalid Pathmage
+Cephalid Snitch
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/chandra.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/chandra.txt
new file mode 100644
index 0000000000000000000000000000000000000000..670572685a73a2a83997b6cc4fe0fa8134575704
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/chandra.txt
@@ -0,0 +1,16 @@
+Chandra Ablaze
+Chandra Nalaar
+Chandra, Acolyte of Flame
+Chandra, Awakened Inferno
+Chandra, Bold Pyromancer
+Chandra, Dressed to Kill
+Chandra, Fire Artisan
+Chandra, Flame's Catalyst
+Chandra, Flame's Fury
+Chandra, Flamecaller
+Chandra, Heart of Fire
+Chandra, Novice Pyromancer
+Chandra, Pyrogenius
+Chandra, Pyromaster
+Chandra, the Firebrand
+Chandra, Torch of Defiance
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/clamfolk.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/clamfolk.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8e14f0e3fb235078ba57f5a3d1cbf72544fa617c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/clamfolk.txt
@@ -0,0 +1,3 @@
+Clambassadors
+Clam Session
+Clam-I-Am
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cockatrice.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cockatrice.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b9930436f0badd4a5e7460c65801324c7ec76239
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cockatrice.txt
@@ -0,0 +1,3 @@
+Fleetfeather Cockatrice
+Cockatrice
+Deathgaze Cockatrice
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/construct.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/construct.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d23fbf783363dcab48fbdfe8c2871656df6a6c88
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/construct.txt
@@ -0,0 +1,163 @@
+Sparring Construct
+Guardians of Koilos
+Armory Automaton
+Ugin's Construct
+Mindless Automaton
+Marut
+Voltaic Servant
+Pentavus
+Brass Man
+Scrapheap Scrounger
+Cryptothrall
+Scuttling Butler
+Torrential Gearhulk
+Accomplished Automaton
+Inquisitive Puppet
+Canal Dredger
+Reito Sentinel
+Brass Secretary
+Adaptive Automaton
+Merchant's Dockhand
+Gemini Engine
+Combat Courier
+Hexavus
+Spin Engine
+Eager Construct
+Chamber Sentry
+Thought Monitor
+Chief of the Foundry
+Geistcatcher's Rig
+Snapsail Glider
+Workshop Assistant
+Stuffy Doll
+Armored Transport
+Night Market Guard
+Onulet
+Chrome Replicator
+Su-Chi
+Cathodion
+Silent Arbiter
+Metalworker
+Serrated Biskelion
+Rug of Smothering
+Goring Warplow
+Spincrusher
+Epochrasite
+Myriad Construct
+Foundry Inspector
+Thermal Navigator
+Duskworker
+Salvaged Manaworker
+Aegis Automaton
+Monoskelion
+Solarion
+Jangling Automaton
+Hangarback Walker
+Woodcaller Automaton
+Ruin Grinder
+Platoon Dispenser
+Grapeshot Catapult
+Prizefighter Construct
+Walking Atlas
+Marching Duodrone
+Gnome-Made Engine
+Grid Monitor
+Verdant Automaton
+Multiform Wonder
+Blitz Automaton
+Narstad Scrapper
+Reservoir Walker
+Suncrusher
+Bladed Sentinel
+Millikin
+Lurking Automaton
+Soliton
+Terror Ballista
+Bronze Bombshell
+Automatic Librarian
+Noxious Gearhulk
+Cogwork Grinder
+Cyberdrive Awakener
+Cataclysmic Gearhulk
+Salvager of Ruin
+Hedron Crawler
+Cogwork Archivist
+Cityscape Leveler
+Manakin
+Whispergear Sneak
+Treasure Keeper
+Combat Thresher
+Razorfield Thresher
+Triskelion
+Gearsmith Guardian
+Arcbound Worker
+Street Sweeper
+Steam-Powered
+Cogwork Librarian
+Modular Monstrosity
+Hedron Scrabbler
+Clay Champion
+Walking Skyscraper
+Anodet Lurker
+Scrap Trawler
+Guardian Automaton
+Metalwork Colossus
+Welder Automaton
+Hedron Rover
+Volatile Rig
+Walking Ballista
+Runed Servitor
+Triskelavus
+Thran War Machine
+Scuttling Doom Engine
+Peace Strider
+Synod Centurion
+Verdurous Gearhulk
+Robo-
+Staunch Throneguard
+Iron Apprentice
+Lore Seeker
+Scrapyard Recombiner
+Sawtooth Thresher
+Haunted Guardian
+Gate Colossus
+Runaway Carriage
+Memnite
+Agent of Acquisitions
+Chronobot
+Patchwork Automaton
+Shambling Suit
+Iron League Steed
+Heavyweight Demolisher
+Watchful Automaton
+Combustible Gearhulk
+Kuldotha Forgemaster
+Goblin Dirigible
+Corridor Monitor
+Rust Goliath
+Battering Ram
+Tetravus
+Deal Broker
+Crystalline Crawler
+Voracious Vacuum
+Dramatist's Puppet
+Runaway Trash-Bot
+Crackdown Construct
+Shrine Steward
+Creepy Doll
+Blood Servitor
+Skittering Surveyor
+Arsenal Thresher
+Bonded Construct
+Aether Searcher
+Containment Construct
+Dragon Engine
+Urza's Science Fair Project
+Electrostatic Pummeler
+Towashi Guide-Bot
+Augmenting Automaton
+Steel Overseer
+Diabolic Machine
+Hopping Automaton
+Ashnod's Harvester
+Bomat Courier
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/creature.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/creature.txt
new file mode 100644
index 0000000000000000000000000000000000000000..cfc644009f8ea20de6aaab2209f75128db8fe623
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/creature.txt
@@ -0,0 +1,3 @@
+Morph
+Nameless Race
+Manifest
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/critters/insect_druid.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/critters/insect_druid.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3301b112c78910254dc4620ccf92096284347582
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/critters/insect_druid.txt
@@ -0,0 +1,9 @@
+Nantuko Tracer
+Nantuko Blightcutter
+Nantuko Calmer
+Nantuko Cultivator
+Nantuko Disciple
+Nantuko Elder
+Nantuko Mentor
+Broodhatch Nantuko
+Nullmage Advocate
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/critters/insect_general.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/critters/insect_general.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0c8c100a4a6a9965a8386547e057e155855d341d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/critters/insect_general.txt
@@ -0,0 +1,119 @@
+Blister Beetle
+Nessian Hornbeetle
+Brood of Cockroaches
+Heartstabber Mosquito
+Ant Queen
+Mind Maggots
+Insect
+Fen Hauler
+Stag Beetle
+Devouring Swarm
+Luminous Broodmoth
+Lithophage
+Iridescent Hornbeetle
+Durable Coilbug
+Carrion Beetles
+Emerald Dragonfly
+Dune Beetle
+Hawkeater Moth
+Spire Mangler
+Adaptive Shimmerer
+Agitator Ant
+Zanikev Locust
+Plated Geopede
+Caustic Caterpillar
+Locust Swarm
+Marker Beetles
+Scute Swarm
+Golgari Longlegs
+Mortician Beetle
+Giant Mantis
+Rotfeaster Maggot
+Deadly Insect
+Monstrous Carabid
+Woodlot Crawler
+Fire Ants
+Wirewood Symbiote
+Moonwing Moth
+Deadbridge Goliath
+Giant Solifuge
+Colossapede
+Swarm of Bloodflies
+Unyaro Bees
+Skittering Heartstopper
+Giant Ambush Beetle
+Giant Ankheg
+Cavern Crawler
+Drudge Beetle
+Flow of Maggots
+Ironshell Beetle
+Caustic Crawler
+Clickslither
+Giant Cockroach
+Barbed Shocker
+Twigwalker
+Scute Mob
+Blightbeetle
+Brain Weevil
+Decimator Beetle
+Killer Bees
+Plague Beetle
+Dimir Spybug
+Moldgraf Monstrosity
+Carrion Ants
+Jagwasp Swarm
+Grave-Shell Scarab
+Swamp Mosquito
+Carrion Grub
+Skyclave Geopede
+Segmented Krotiq
+Tangle Mantis
+Queue of Beetles
+Goliath Beetle
+Crash of Rhino Beetles
+Scavenging Scarab
+Duct Crawler
+Giant Adephage
+Goldenglow Moth
+Caustic Wasps
+Robber Fly
+Acridian
+Skylasher
+Venomous Dragonfly
+Bond Beetle
+Mortipede
+Hornet Nest
+Hornet Queen
+Fretwork Colony
+Spinal Centipede
+Pincher Beetles
+Gigapede
+Giant Dustwasp
+Ambush Krotiq
+Giant Caterpillar
+Shocker
+Yavimaya Gnats
+Yavimaya Ants
+Invasive Species
+Saber Ants
+Duskshell Crawler
+Deadly Grub
+Quarry Beetle
+Vorapede
+Kazandu Nectarpot
+Xantid Swarm
+Fog of Gnats
+Bayou Dragonfly
+Vexing Beetle
+Foundry Hornet
+Army Ants
+Endless Cockroaches
+Bog Humbugs
+Tunneling Geopede
+Plague Fiend
+Thornscape Familiar
+Bane of the Living
+Firefly
+Highspire Mantis
+Loam Larva
+Rust Scarab
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/critters/insect_horror.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/critters/insect_horror.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9df0680a30585b58ef9952e0266cedecc707b2e1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/critters/insect_horror.txt
@@ -0,0 +1,4 @@
+Moldgraf Millipede
+Gleancrawler
+Carrion Locust
+Wasp of the Bitter End
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/critters/insect_warrior.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/critters/insect_warrior.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b98d3226e9a2f1273823d17bbdd3cdab29fb2d09
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/critters/insect_warrior.txt
@@ -0,0 +1,4 @@
+Kraul Harpooner
+Kraul Raider
+Kraul Swarm
+Kraul Warrior
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/critters/spider.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/critters/spider.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9a81501f5c46947e18ab079e72bb3566a65630df
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/critters/spider.txt
@@ -0,0 +1,4 @@
+Arachnoid
+Canoptek SpyderArachnoid
+Canoptek SpyderSpinnerette, ArachnobatThantis, the Warweaver
+Ishkanah, Grafwidow
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/crocodile.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/crocodile.txt
new file mode 100644
index 0000000000000000000000000000000000000000..70e58659e3a695e207b440d55e890a0e3e4f32c1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/crocodile.txt
@@ -0,0 +1,18 @@
+Lurking Crocodile
+Crocodile of the Crossing
+Spined Karok
+Rootwater Alligator
+Hagra Crocodile
+Tenacious Hunter
+Sewer Crocodile
+Dukhara Scavenger
+Sandbar Crocodile
+Grayscaled Gharial
+Stonefare Crocodile
+Algae Gharial
+Guul Draz Mucklord
+Scaled Behemoth
+Emperor Crocodile
+Marsh Crocodile
+Wardscale Crocodile
+Catacomb Crocodile
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cyborg_knight.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cyborg_knight.txt
new file mode 100644
index 0000000000000000000000000000000000000000..329865373e75122f613ff4e7cec1d789a6918fc8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cyborg_knight.txt
@@ -0,0 +1,10 @@
+Jackknight
+Socketed Sprocketer
+Chivalrous Chevalier
+Knight of the Kitchen Sink (a)
+Knight of the Kitchen Sink (b)
+Knight of the Kitchen Sink (c)
+Knight of the Kitchen Sink (d)
+Knight of the Kitchen Sink (e)
+Knight of the Kitchen Sink (f)
+Knight of the Widget
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cyborg_rigger.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cyborg_rigger.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6ba4bc777c18fa820ddc867c49a4fa551011d813
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cyborg_rigger.txt
@@ -0,0 +1,3 @@
+Chipper Chopper
+Aerial Toastmaster
+Riveting Rigger
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cyclops_warrior.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cyclops_warrior.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a672a1b4930ca06522fc28a38738525625fd5645
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/cyclops_warrior.txt
@@ -0,0 +1,4 @@
+Tar Pit Warrior
+Madrush Cyclops
+Cyclops Gladiator
+Chainwhip Cyclops
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dauthi_minion.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dauthi_minion.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9479b4161c7ee33cc1f363e77abab512d2faf9c3
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dauthi_minion.txt
@@ -0,0 +1,4 @@
+Dauthi Cutthroat
+Dauthi Marauder
+Dauthi Mindripper
+Dauthi Trapper
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/demigod.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/demigod.txt
new file mode 100644
index 0000000000000000000000000000000000000000..80d64ff3d162d0302eca20de271e3e499a6d1ebb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/demigod.txt
@@ -0,0 +1,5 @@
+Tymaret, Chosen from Death
+Anax, Hardened in the Forge
+Callaphe, Beloved of the Sea
+Daxos, Blessed by the Sun
+Renata, Called to the Hunt
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/demon.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/demon.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f6ad57826e3e005daf1904c1f17388790b6474fe
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/demon.txt
@@ -0,0 +1,90 @@
+Abyssal Persecutor
+Apocalypse Demon
+Archdemon of Paliano
+Archdemon of Unx
+Archfiend of Depravity
+Archfiend of Despair
+Archfiend of Ifnir
+Archfiend of Sorrows
+Archfiend of Spite
+Balor
+Bloodgift Demon
+Bloodthirster
+Bothersome Quasit
+Butcher of the Horde
+Daemogoth Titan
+Daemogoth Woe-Eater
+Defiler of Souls
+Demonic Hordes
+Demonic Taskmaster
+Demonlord of Ashmouth
+Demon of Catastrophes
+Demon of Dark Schemes
+Demon of Death's Gate
+Demon of Loathing
+Demon of Wailing Agonies
+Desecration Demon
+Dread Cacodemon
+Dreadfeast Demon
+DreadhoundSoul SwindlerPink HorrorIllusory DemonBloodcrusher of KhorneMinion of Leshrac
+Eater of Hope
+Embodiment of Agonies
+Exalted Flamer of Tzeentch
+Extractor Demon
+Feaster of Fools
+Frenzied RaiderInfernal Spawn of Infernal Spawn of EvilDream DevourerRavenous Demon // Archdemon of GreedHollowborn Barghest
+Goremand
+Great Unclean One
+Grinning Demon
+Gutwrencher Oni
+Halo Hunter
+Harvester of Souls
+Havoc Demon
+Hellcarver Demon
+Herald of Slaanesh
+Heralds of Tzeentch
+Immersturm Raider
+Indulgent Tormentor
+Infernal Denizen
+Keeper of Secrets
+Liege of the Pit
+Lord of Change
+Lord of the Forsaken
+Lord of the Pit
+Lord of the Void
+Master of Cruelties
+Mindwrack Demon
+Minion of Tevesh SzatSilent-Blade OniOni of Wild Places
+Necropolis Fiend
+Overseer of the Damned
+Painwracker Oni
+Pestilence Demon
+Pit Spawn
+Plague Drone
+Prince of Thralls
+Rafter Demon
+Razorjaw OniHerald of Anguish
+Reaper from the Abyss
+Reiver Demon
+Renegade Demon
+Rune-Scarred Demon
+Scourge of Numai
+Scourge of the Skyclaves
+Seeker of Slaanesh
+Shadowborn Demon
+Shadowgrange Archfiend
+Sire of Insanity
+Sloppity Bilepiper
+Soulcage Fiend
+Soulflayer
+Sower of Discord
+Spawn of Mayhem
+Stronghold Overseer
+The Wretched
+Tombstalker
+Treacherous Pit-Dweller
+Tyrannical Pitlord
+VenomcrawlerAbhorrent Overlord
+VenomcrawlerInfernius Spawnington III, Esq.Burning-Rune Demon
+Woebringer Demon
+Xathrid Demon
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/demon_spirit.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/demon_spirit.txt
new file mode 100644
index 0000000000000000000000000000000000000000..dfe3fed5c1f7b22c12b1f25f7b98330a39d60edb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/demon_spirit.txt
@@ -0,0 +1,7 @@
+Yukora, the Prisoner
+Kyoki, Sanity's Eclipse
+Seizan, Perverter of Truth
+Spirit of the Night
+Shimatsu the Bloodcloaked
+Kagemaro, First to Suffer
+Kuro, Pitlord
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/devil.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/devil.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7d5bc8ecf8f06a5a21e2ee0de4d95536c05cd71b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/devil.txt
@@ -0,0 +1,3 @@
+Lorcan, Warlock Collector
+Jalum Grifter
+Zurzoth, Chaos Rider
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/devil_warrior.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/devil_warrior.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0751bd2ca2946630f1c0b7a02e0431f6479a65ab
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/devil_warrior.txt
@@ -0,0 +1,3 @@
+Mayhem Patrol
+Body Dropper
+Devilish Valet
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dinosaur.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dinosaur.txt
new file mode 100644
index 0000000000000000000000000000000000000000..27f41576a5ddee9a7225e24be02ef825c72e8e81
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dinosaur.txt
@@ -0,0 +1,92 @@
+Alpha Tyrranax
+Ripscale Predator
+Shining Aerosaur
+Charging Monstrosaur
+Pangosaur
+Orazca Frillback
+Nest Robber
+Grazing Whiptail
+Ripjaw Raptor
+Sun-Collared Raptor
+Colossal Dreadmaw
+Carnage Tyrant
+Regisaur Alpha
+Thrash of Raptors
+Wakening Sun's Avatar
+Stampeding Horncrest
+Runic Armasaur
+Thundering Spineback
+Ravenous Daggertooth
+Imperial Ceratops
+Imperiosaur
+Trapjaw Tyrant
+Ridgetop RaptorRegal LeosaurResolute VeggiesaurPhantasmal DreadmawPteron GhostGoring Ceratops
+Wayward Swordtooth
+Gnathosaur
+Silverclad Ferocidons
+Sun-Crested Pterodon
+Charging Tuskodon
+Raging Swordtooth
+Raging Regisaur
+Cacophodon
+Burning Sun's Avatar
+Drowsing Tyrannodon
+Thrashing Brontodon
+Rampaging Brontodon
+Polyraptor
+Huatli's Raptor
+Frenetic Raptor
+Shifting Ceratops
+Dinosaur
+Belligerent Brontodon
+Overgrown Armasaur
+Frenzied Raptor
+Cloudpiercer
+Bellowing Aegisaur
+Majestic Heliopterus
+Snubhorn Sentry
+Ancient Brontodon
+Imposing Vantasaur
+Wingfold Pteron
+Giant Cindermaw
+Crested Herdcaller
+Momentum Rumbler
+Territorial Allosaurus
+Pygmy Allosaurus
+Siegehorn Ceratops
+Ranging Raptors
+Urban Daggertooth
+Sun-Blessed Mount
+Verdant Sun's AvatarTyrranax
+Cherished Hatchling
+Quartzwood Crasher
+Shivan Raptor
+Steadfast Armasaur
+Imperial Aerosaur
+Frilled Deathspitter
+Snapping Sailback
+Apex Altisaur
+Ornery Dilophosaur
+Huatli's Snubhorn
+Raptor Companion
+Rampaging Ferocidon
+Dromosaur
+Deathgorge Scavenger
+Raptor Hatchling
+Regal Behemoth
+Orazca Raptor
+Titanoth Rex
+Looming Altisaur
+Relentless Raptor
+Needletooth Raptor
+Gigantosaurus
+Sky Terror
+Marauding Raptor
+Territorial Hammerskull
+Kinjalli's Sunwing
+Annoyed Altisaur
+Temple Altisaur
+Deathmist Raptor
+Bonded Horncrest
+Spike-Tailed Ceratops
+Sun-Crowned Hunters
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/djinn.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/djinn.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c08e39ed4a58ed90c34c77a708929c7293048467
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/djinn.txt
@@ -0,0 +1,2 @@
+__creatures/mtg/djinn/djinn_general__
+__creatures/mtg/djinn/djinn_wizard__
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/djinn/djinn_general.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/djinn/djinn_general.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ca5d405ed694f743b1d9058f23ccf3c56ab51e97
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/djinn/djinn_general.txt
@@ -0,0 +1,36 @@
+Haughty Djinn
+Kookus
+Emberwilde Caliph
+Emberwilde Djinn
+Tidespout Tyrant
+Fledgling Djinn
+Indentured Djinn
+Vaporous Djinn
+Tempest Djinn
+Juzám Djinn
+Drifting Djinn
+Halam Djinn
+Aku Djinn
+Erhnam Djinn
+Maelstrom Djinn
+Soulblade Djinn
+Ruham Djinn
+Breezekeeper
+Stormcloud Djinn
+Cloud Djinn
+Sulam Djinn
+Nettletooth Djinn
+Old Man of the Sea
+Benthic Djinn
+Waterspout Djinn
+Thundering Djinn
+Zanam Djinn
+Djinn Illuminatus
+Djinn of Infinite Deceits
+Djinn of the Fountain
+Djinn of the Lamp
+Djinn of Wishes
+Djinni Windseer
+Mijae Djinn
+Mahamoti Djinn
+Goham Djinn
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/djinn/djinn_wizard.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/djinn/djinn_wizard.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8eb6c16390815fd7e6b9ff9b6d26e0d01a47c314
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/djinn/djinn_wizard.txt
@@ -0,0 +1,6 @@
+Maelstrom Muse
+Mistfire Weaver
+Monastery Loremaster
+Sage of the Inward Eye
+Waterfall Aerialist
+Warden of the Eye
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dog.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dog.txt
new file mode 100644
index 0000000000000000000000000000000000000000..67ecf3911e60fe6be636afcd2d61185ecf36f985
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dog.txt
@@ -0,0 +1,3 @@
+__creatures/mtg/dog/dog_archer__
+__creatures/mtg/dog/dog_general__
+__creatures/mtg/dog/dog_scout__
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dog/dog_archer.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dog/dog_archer.txt
new file mode 100644
index 0000000000000000000000000000000000000000..785aa0023c018048b1cae91126a8809b7af10450
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dog/dog_archer.txt
@@ -0,0 +1,3 @@
+Ainok Artillerist
+Longshot Squad
+Aerie Bowmasters
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dog/dog_general.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dog/dog_general.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8a620228d04a960b80bbb648b5b6db0ed3ceb300
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dog/dog_general.txt
@@ -0,0 +1,3 @@
+Mogis's Warhound
+Greater Tanuki
+Spirited Companion
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dog/dog_scout.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dog/dog_scout.txt
new file mode 100644
index 0000000000000000000000000000000000000000..15247cbc67841aad62987fa27de3309918a23650
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dog/dog_scout.txt
@@ -0,0 +1,3 @@
+Ainok Guide
+Ainok Tracker
+Sandsteppe Scavenger
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/domri.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/domri.txt
new file mode 100644
index 0000000000000000000000000000000000000000..faa2fe7a6855e6ca13c68b530a43655f7e5d13cf
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/domri.txt
@@ -0,0 +1,4 @@
+Domri Rade
+Domri, Anarch of Bolas
+Domri, Chaos Bringer
+Domri, City Smasher
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dovin.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dovin.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e0fbdc73cc6fb983b0f8ddefa6e6aa364aeb515e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dovin.txt
@@ -0,0 +1,4 @@
+Dovin Baan
+Dovin, Architect of Law
+Dovin, Grand Arbiter
+Dovin, Hand of Control
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dragon.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dragon.txt
new file mode 100644
index 0000000000000000000000000000000000000000..97e20ac1408eefd6d4fbb15d10b85ab4cd4d98d5
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dragon.txt
@@ -0,0 +1,6 @@
+__creatures/mtg/dragon/dragon__
+__creatures/mtg/dragon/dragon_avatar__
+__creatures/mtg/dragon/dragon_spirit__
+__creatures/mtg/dragon/dragon_warrior__
+__creatures/mtg/dragon/dragon_wizard__
+__creatures/mtg/dragon/elder_dragon__
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dragon/dragon.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dragon/dragon.txt
new file mode 100644
index 0000000000000000000000000000000000000000..db393dc44cbf1b6a0f33730f0522311795e25312
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dragon/dragon.txt
@@ -0,0 +1,160 @@
+Acid-Spewer Dragon
+Adult Gold Dragon
+Akoum Hellkite
+Alabaster Dragon
+Ancestor Dragon
+Ancient Hellkite
+Arashin Sovereign
+Arcbound Whelp
+Archwing Dragon
+Artificer's Dragon
+Astral Dragon
+Avaricious Dragon
+Backdraft Hellkite
+Balefire Dragon
+Belltoll Dragon
+Black Dragon
+Blast-Furnace Hellkite
+Blue Dragon
+Bogardan Hellkite
+Boltwing Marauder
+Brimstone Dragon
+Broodmate Dragon
+Canopy Dragon
+Catacomb Dragon
+Chaos Dragon
+Chardalyn Dragon
+Clockwork Dragon
+Covetous Dragon
+Cunning Breezedancer
+Deathbringer Regent
+Demanding Dragon
+Destructor Dragon
+Draco
+Dragon Broodmother
+Dragon Hatchling
+Dragon Tyrant
+Dragon Whelp
+Dream Pillager
+Ebon Dragon
+Enduring Scalelord
+Exalted Dragon
+Fallaji Dragon Engine
+Fire Dragon
+Firestorm Hellkite
+Flameblast Dragon
+Fledgling Dragon
+Foe-Razer Regent
+Forgestoker Dragon
+Freejam Regent
+Furnace Dragon
+Furnace Whelp
+Furyborn Hellkite
+Glorybringer
+Goldspan Dragon
+Green Dragon
+Harbinger of the Hunt
+Hellkite Charger
+Hellkite Courser
+Hellkite Hatchling
+Hellkite Igniter
+Hellkite Overlord
+Hellkite Punisher
+Hellkite Tyrant
+Hellkite Whelp
+Herdchaser Dragon
+Hoarding Dragon
+Hoard-Smelter Dragon
+Hunted Dragon
+Hypersonic Dragon
+Icefall Regent
+Imperial Hellkite
+Juvenile Mist Dragon
+Kilnmouth Dragon
+Knollspine Dragon
+Lava-Field Overlord
+Leyline Tyrant
+Lightning Dragon
+Lightning Shrieker
+Loch Dragon
+Lotus Guardian
+Lurking Green Dragon
+Mana-Charged Dragon
+Manaform Hellkite
+Mindscour Dragon
+Mirrorwing Dragon
+Mist Dragon
+Moonveil Dragon
+Moonveil Regent
+Mordant Dragon
+Murktide Regent
+Nalathni Dragon
+Necromaster Dragon
+Nesting Dragon
+Noxious Dragon
+Obsidian Charmaw
+Oceanus Dragon
+Opportunistic Dragon
+Ore-Scale Guardian
+Pardic Dragon
+Pearl Dragon
+Predator Dragon
+Preyseizer Dragon
+Pristine Skywise
+Pseudodragon Familiar
+Purifying Dragon
+Quicksilver Dragon
+Ragefire Hellkite
+Rakdos Pit Dragon
+Ramos, Dragon EngineTeeka's Dragon
+Rapacious Dragon
+Rathi Dragon
+Red Dragon
+Runehorn Hellkite
+Ruthless Deathfang
+Sarkhan's Whelp
+Savage Ventmaw
+Scalelord Reckoner
+Scion of Draco
+Scourge of Kher Ridges
+Scourge of the Throne
+Scourge of Valkas
+Shieldhide Dragon
+Shimmer Dragon
+Shivan Dragon
+Shivan Hellkite
+Shockmaw Dragon
+Siege Dragon
+Skarrgan Hellkite
+Skyline Despot
+Skyship Stalker
+Slumbering Dragon
+Sparktongue Dragon
+Spawn of Thraxes
+Spellbound Dragon
+Steel HellkiteCrimson Hellkite
+Stormbreath Dragon
+Stormwing Dragon
+Sunscorch Regent
+Swift Warkite
+Tek
+Territorial Hellkite
+Terror of Mount Velus
+Terror of the Peaks
+Thunderbreak Regent
+Thunder Dragon
+Thundermaw Hellkite
+Timeless Dragon
+Two-Headed Dragon
+Two-Headed Hellkite
+Tyrant of Kher Ridges
+Tyrant of Valakut
+Tyrant's Familiar
+Utvara Hellkite
+Viashivan Dragon
+Volcanic Dragon
+Voracious Dragon
+Wardscale Dragon
+Warmonger Hellkite
+White Dragon
+Wrathful Red Dragon
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dragon/dragon_avatar.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dragon/dragon_avatar.txt
new file mode 100644
index 0000000000000000000000000000000000000000..81a730ae42d3b6d7a438bbc2f620a7e94fb30575
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dragon/dragon_avatar.txt
@@ -0,0 +1,3 @@
+Scion of the Ur-Dragon
+Niv-Mizzet Reborn
+The Ur-Dragon
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dragon/dragon_spirit.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dragon/dragon_spirit.txt
new file mode 100644
index 0000000000000000000000000000000000000000..cf079c7fee5ce79af90532de65575701e71783da
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dragon/dragon_spirit.txt
@@ -0,0 +1,13 @@
+Kokusho, the Evening Star
+Ao, the Dawn Sky
+Kyodai, Soul of Kamigawa
+Junji, the Midnight Sky
+Yosei, the Morning Star
+Jugan, the Rising Star
+Atsushi, the Blazing Sky
+Ryusei, the Falling Star
+O-Kagachi, Vengeful Kami
+Keiga, the Tide Star
+Miirym, Sentinel Wyrm
+Kairi, the Swirling Sky
+Kura, the Boundless Sky
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dragon/dragon_warrior.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dragon/dragon_warrior.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2ea44505bde89ed40a70a21841deca0f98053b10
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dragon/dragon_warrior.txt
@@ -0,0 +1,3 @@
+Tiamat's Fanatics
+Jaded Sell-Sword
+Dragonborn Champion
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dragon/dragon_wizard.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dragon/dragon_wizard.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7c7670cd0e27c6285ff6d8e6290872fcac7e0d70
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dragon/dragon_wizard.txt
@@ -0,0 +1,3 @@
+Niv-Mizzet, Dracogenius
+Niv-Mizzet, Parun
+Niv-Mizzet, the Firemind
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dragon/elder_dragon.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dragon/elder_dragon.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6260d2fa9f1d442809dbe71b5246974d89ef04a2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dragon/elder_dragon.txt
@@ -0,0 +1,20 @@
+Tanazir Quandrix
+Chromium
+Chromium, the Mutable
+Beledros Witherbloom
+Nicol Bolas
+Arcades Sabboth
+Arcades, the Strategist
+Piru, the Volatile
+Shadrix Silverquill
+Velomachus Lorehold
+Vaevictis Asmadi
+Vaevictis Asmadi, the Dire
+Palladia-Mors
+Palladia-Mors, the Ruiner
+Galazeth Prismari
+Dragonlord Atarka
+Dragonlord Dromoka
+Dragonlord Kolaghan
+Dragonlord Ojutai
+Dragonlord Silumgar
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/drone.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/drone.txt
new file mode 100644
index 0000000000000000000000000000000000000000..74e088947b5171033ae625a7bd164e0602b3b118
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/drone.txt
@@ -0,0 +1,7 @@
+Mirran Spy
+Looming Hoverguard
+Somber Hoverguard
+Hoverguard Observer
+Hoverguard Sweepers
+Advanced Hoverguard
+Wanderguard Sentry
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dryad_shaman.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dryad_shaman.txt
new file mode 100644
index 0000000000000000000000000000000000000000..298e696943ff8e30688269e77233491a9053488c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dryad_shaman.txt
@@ -0,0 +1,3 @@
+Ivy Dancer
+Transluminant
+Vitu-Ghazi Guildmage
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dryad_spellshaper.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dryad_spellshaper.txt
new file mode 100644
index 0000000000000000000000000000000000000000..91d531d6088ca262e59a073171f95b0e8864cc59
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dryad_spellshaper.txt
@@ -0,0 +1,3 @@
+Deepwood Elder
+Silverglade Pathfinder
+Dawnstrider
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dwarf.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dwarf.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1a36b162f3ee177c1636a70eb1456293d2f5531e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dwarf.txt
@@ -0,0 +1,6 @@
+__creatures/mtg/dwarf/dwarf_artificer__
+__creatures/mtg/dwarf/dwarf_cleric__
+__creatures/mtg/dwarf/dwarf_general__
+__creatures/mtg/dwarf/dwarf_pilot__
+__creatures/mtg/dwarf/dwarf_shaman__
+__creatures/mtg/dwarf/dwarf_soldier__
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dwarf/dwarf_artificer.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dwarf/dwarf_artificer.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5589f9932ec764e220c2f61885f03078ac24b8bf
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dwarf/dwarf_artificer.txt
@@ -0,0 +1,11 @@
+Glint-Sleeve Artisan
+Toolcraft Exemplar
+Countless Gears Renegade
+Aether Inspector
+Aethershield Artificer
+Restoration Specialist
+Dwarven Weaponsmith
+Digsite Engineer
+Visionary Augmenter
+Aviary Mechanic
+Master Trinketeer
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dwarf/dwarf_cleric.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dwarf/dwarf_cleric.txt
new file mode 100644
index 0000000000000000000000000000000000000000..61bed8af1f39af45e599f6580d39b1d59b1cb017
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dwarf/dwarf_cleric.txt
@@ -0,0 +1,3 @@
+Amber Gristle O'Maul
+Barrowin of Clan Undurr
+Hofri Ghostforge
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dwarf/dwarf_general.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dwarf/dwarf_general.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c4bf1c96b5cf043a0f8eed5e74c1c9216836846a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dwarf/dwarf_general.txt
@@ -0,0 +1,22 @@
+Pardic Miner
+Pardic Swordsmith
+Bloodfire Dwarf
+Dwarven Armorer
+Dwarven Blastminer
+Dwarven Bloodboiler
+Dwarven Demolition Team
+Dwarven Driller
+Dwarven Grunt
+Dwarven Miner
+Dwarven Patrol
+Dwarven Recruiter
+Dwarven Scorcher
+Dwarven Sea Clan
+Seven Dwarves
+Dwarven Trader
+Dwarven Vigilantes
+Bomb Squad
+Liberated Dwarf
+Mine Layer
+Enslaved Dwarf
+Whipkeeper
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dwarf/dwarf_pilot.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dwarf/dwarf_pilot.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d01ca8f0e7101b01cc9a25907aa4a360d874cadd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dwarf/dwarf_pilot.txt
@@ -0,0 +1,3 @@
+Veteran Motorist
+Gearshift Ace
+Renegade Wheelsmith
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dwarf/dwarf_shaman.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dwarf/dwarf_shaman.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0876ecd91a312b83d64016481a41eb9614ff591f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dwarf/dwarf_shaman.txt
@@ -0,0 +1,5 @@
+Twinscroll Shaman
+Duergar Hedge-Mage
+Dwarven Thaumaturgist
+Brazen Dwarf
+Storm-Kiln Artist
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dwarf/dwarf_soldier.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dwarf/dwarf_soldier.txt
new file mode 100644
index 0000000000000000000000000000000000000000..703cf993100f02acce693a32a33a14adf7a23faa
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/dwarf/dwarf_soldier.txt
@@ -0,0 +1,11 @@
+Bastion Enforcer
+Consul's Shieldguard
+Dwarven Lieutenant
+Duergar Assailant
+Duergar Mine-Captain
+Dwarven Soldier
+Charismatic Vanguard
+Fairgrounds Warden
+Ninth Bridge Patrol
+Staunch Shieldmate
+Aerial Responder
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/efreet.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/efreet.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e2bda9303b55e0483c4080fba801eeb3a49fb0b8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/efreet.txt
@@ -0,0 +1,3 @@
+__creatures/mtg/efreet/efreet_general__
+__creatures/mtg/efreet/efreet_monk__
+__creatures/mtg/efreet/efreet_shaman__
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/efreet/efreet_general.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/efreet/efreet_general.txt
new file mode 100644
index 0000000000000000000000000000000000000000..99fee475a07a6c6625c633ae3bf854ef9b80adff
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/efreet/efreet_general.txt
@@ -0,0 +1,16 @@
+Uktabi Efreet
+Burning Palm Efreet
+Fickle Efreet
+Harmattan Efreet
+Capricious Efreet
+Tempest Efreet
+Junún Efreet
+Ifh-Bíff Efreet
+Emissary of Grudges
+Shah of Naar Isle
+Cheatyface
+Rainbow Efreet
+Frenetic Efreet
+Wildfire Emissary
+Shimmering Efreet
+Serendib Efreet
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/efreet/efreet_monk.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/efreet/efreet_monk.txt
new file mode 100644
index 0000000000000000000000000000000000000000..cda83f3fd9a45797b8be465c945916302a0959f7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/efreet/efreet_monk.txt
@@ -0,0 +1,3 @@
+Bloodfire Expert
+Efreet Weaponmaster
+Smoldering Efreet
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/efreet/efreet_shaman.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/efreet/efreet_shaman.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1ea64360c1bda53f6fad6e86a65e9a70a78553e8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/efreet/efreet_shaman.txt
@@ -0,0 +1,3 @@
+Bloodfire Mentor
+Efreet Flamepainter
+Atarka Efreet
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/elder_dinosaur.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/elder_dinosaur.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9bdc7fd24a10897f7839b9d3dc91c10825eda43f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/elder_dinosaur.txt
@@ -0,0 +1,6 @@
+Nezahal, Primal Tide
+Tetzimoc, Primal Death
+Ghalta, Primal Hunger
+Zetalpa, Primal Dawn
+Zacama, Primal Calamity
+Etali, Primal Storm
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/eldrazi.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/eldrazi.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6ed0b0ecaae007237d7163b971c29277239ce79d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/eldrazi.txt
@@ -0,0 +1,4 @@
+__creatures/mtg/eldrazi/eldrazi__
+__creatures/mtg/eldrazi/eldrazi_drone__
+__creatures/mtg/eldrazi/eldrazi_insect__
+__creatures/mtg/eldrazi/eldrazi_processor__
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/eldrazi/eldrazi.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/eldrazi/eldrazi.txt
new file mode 100644
index 0000000000000000000000000000000000000000..44f7bc8040c6def657fc1ffbc3a8bd82d228556f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/eldrazi/eldrazi.txt
@@ -0,0 +1,6 @@
+Ulamog, the Ceaseless Hunger
+Ulamog, the Infinite Gyre
+Kozilek, Butcher of Truth
+Kozilek, the Great Distortion
+Emrakul, the Aeons Torn
+Emrakul, the Promised End
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/eldrazi/eldrazi_drone.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/eldrazi/eldrazi_drone.txt
new file mode 100644
index 0000000000000000000000000000000000000000..074655b8e96f6c46db9ce078e010f71522c23754
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/eldrazi/eldrazi_drone.txt
@@ -0,0 +1,52 @@
+Herald of Kozilek
+Culling Drone
+Reaver Drone
+Tide Drifter
+Kozilek's Predator
+Kozilek's Sentinel
+Kozilek's Shrieker
+Kozilek's Translator
+Flayer Drone
+Benthic Infiltrator
+Havoc Sower
+Sky Scourer
+Sludge Crawler
+Dominator Drone
+Prophet of Distortion
+Scion Summoner
+Incubator Drone
+Immobilizer Eldrazi
+Birthing Hulk
+Ruination Guide
+Rapacious One
+Gravity Negator
+Cultivator Drone
+Vile Aggregate
+Slaughter Drone
+Mist Intruder
+Eldrazi Skyspawner
+Salvage Drone
+Void Grafter
+Skitterskin
+Nest Invader
+Nettle Drone
+Thought Harvester
+Forerunner of Slaughter
+Fathom Feeder
+Eldrazi Aggressor
+Maw of Kozilek
+Stalking Drone
+Dread Drone
+Eyeless Watcher
+Mindmelter
+Blisterpod
+Silent Skimmer
+Emrakul's Hatcher
+Essence Depleter
+Brood Butcher
+Brood Monitor
+Broodwarden
+Blinding Drone
+Warden of Geometries
+Catacomb Sifter
+Vestige of Emrakul
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/eldrazi/eldrazi_insect.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/eldrazi/eldrazi_insect.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7349a4d5e23e55d621eb4e0112d692aa7ac4649d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/eldrazi/eldrazi_insect.txt
@@ -0,0 +1,3 @@
+Distended Mindbender
+It of the Horrid Swarm
+Innocuous Insect
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/eldrazi/eldrazi_processor.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/eldrazi/eldrazi_processor.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b27b51aa7cad9ccb89a8170cc82b969bfb66dc4c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/eldrazi/eldrazi_processor.txt
@@ -0,0 +1,11 @@
+Mind Raker
+Ulamog's Despoiler
+Ulamog's Nullifier
+Ulamog's Reclaimer
+Blight Herder
+Ruin Processor
+Murk Strider
+Cryptic Cruiser
+Oracle of Dust
+Void Attendant
+Wasteland Strangler
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/elemental.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/elemental.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e6badb5c086fcf9ef6fdf81abcf025e7ad62f84d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/elemental.txt
@@ -0,0 +1,367 @@
+Aboroth
+Aethersnipe
+Ageless Entity
+Air-Cult Elemental
+Air Elemental
+Air Servant
+Amplifire
+Ancient Greenwarden
+Arboretum Elemental
+Ashenmoor Cohort
+Ashenmoor Gouger
+Ashling, the ExtinguisherFoundry Champion
+Ashling the Pilgrim
+Avenger of Zendikar
+Baleful Force
+Ball Lightning
+Bane of Progress
+Barishi
+Barkweave Crusher
+Belligerent Hatchling
+Benthicore
+Biting Remark
+Blanchwood Prowler
+Blazing Effigy
+Blistering Firecat
+Blizzard Elemental
+Bloodpyre Elemental
+Bloodwater Entity
+Bogardan Rager
+Bog Elemental
+Boreal Elemental
+Brackwater Elemental
+Bramble Creeper
+Bramble Elemental
+Bramblesnap
+Brambleweft Behemoth
+Briarhorn
+Brighthearth Banneret
+Brine Elemental
+Brushfire Elemental
+Catalyst Elemental
+Cavalier of Dawn
+Cavalier of Flame
+Cavalier of Gales
+Cavalier of Night
+Cavalier of Thorns
+Ceaseless Searblades
+Celestial Ancient
+Celestial Force
+Chandra's Embercat
+Chandra's Incinerator
+Chandra's Spitfire
+Char-Rumbler
+Child of Gaea
+Chillbringer
+Chlorophant
+Cinder Elemental
+Cloud Elemental
+Cloudkin Seer
+Cloudthresher
+Coal Stoker
+Cobblebrute
+Conifer Strider
+Cosi's Ravager
+Crackleburr
+Crater Elemental
+Crazed Firecat
+Creeping Trailblazer
+Crowd of Cinders
+Cyclone Sire
+Dawn Elemental
+Dawnfluke
+Deepfire Elemental
+Desecration Elemental
+Doomgape
+Dread
+Dust Elemental
+Earth-Cult Elemental
+Earth ElementalLavakin Brawler
+Earth Servant
+Elderwood Scion
+Ember Swallower
+Embodiment of Fury
+Embodiment of Insight
+Embodiment of Spring
+Endurance
+Ethereal Whiskergill
+Evershrike
+Faultgrinder
+Fertilid
+Festercreep
+Fire Elemental
+Firefiend Elemental
+Fire Servant
+Fire Shrine Keeper
+Fire Urchin
+Flamecore Elemental
+Flame Elemental
+Flamekin Bladewhirl
+Flamekin Brawler
+Flame Spirit
+Flaring Flame-Kin
+Flickerwisp
+Floodchaser
+Floral Spuzzem
+Fog Elemental
+Force of Nature
+Force of Savagery
+Forgotten Ancient
+Foundation Breaker
+Frost LynxWoodwraith Corrupter
+Frost Walker
+Fruitcake Elemental
+Furnace Brood
+Fury
+Fusion Elemental
+Gaea's Protector
+Gaea's Revenge
+Garbage Elemental (a)
+Garbage Elemental (c)
+Garbage Elemental (d)
+Garbage Elemental (e)
+Garbage Elemental (f)
+Generator Servant
+Geode Rager
+Geyserfield Stalker
+Glacial Crasher
+Glacial Stalker
+Glade Watcher
+Granitic Titan
+Greater Forgeling
+Greater Stone Spirit
+Greenwarden of Murasa
+Grief
+Grinning Ignus
+Groundbreaker
+Grove Rumbler
+Guardian of the Great Conduit
+Guardian of Vitu-Ghazi
+Guile
+Hateflayer
+Healer of the Glade
+Heartlash Cinder
+Heartmender
+Hellspark Elemental
+Hell's Thunder
+Hollowhenge Scavenger
+Hostility
+Hungry Mist
+Hydromorph Guardian
+Igneous Elemental
+Igneous Pouncer
+Inferno Elemental
+Inferno Project
+Infinity Elemental
+Ingot Chewer
+Inner-Flame IgniterFlamekin Herald
+It That Gets Left HangingLightning Mare
+Ivy Elemental
+Jaddi Lifestrider
+Jungle Creeper
+Kuldotha Flamefiend
+Kulrath KnightAverna, the Chaos Bloom
+Lavacore Elemental
+Liege of the Tangle
+Life of the Party
+Lightning Elemental
+Lightning Stormkin
+Living Inferno
+Living Tempest
+Living Tsunami
+Living Twister
+Llanowar Behemoth
+Lord of Extinction
+Magma Pummeler
+Magmaroth
+Magmatic Force
+Magmaw
+Malignus
+Maro
+Maze Abomination
+Maze Behemoth
+Maze Glider
+Maze Rusher
+Maze Sentinel
+Meadowboon
+Mindsparker
+Miner's Bane
+Molten Ravager
+Molten Sentry
+Morselhoarder
+Moss Monster
+Mournwhelk
+Mulldrifter
+Necroskitter
+Nevermaker
+Night Incarnate
+Nimbus of the Isles
+Nivmagus Elemental
+Nova Chaser
+Novellamental
+Noxious Hatchling
+Nyxathid
+Obsidian Fireheart
+Offalsnout
+Orchard Elemental
+Our Market Research Shows That Players Like Really Long Card Names So We Made this Card to Have the Absolute Longest Card Name Ever Elemental
+Overgrowth Elemental
+Pardic Firecat
+Petrified Wood-Kin
+Pine Walker
+Plasma Elemental
+Plumeveil
+Pride of the Clouds
+Primalcrux
+Primeval Force
+PurityAshenmoor Liege
+Pyre Charger
+Pyre Spawn
+Pyretic Hunter
+Pyroclastic Elemental
+Quicksilver Elemental
+Rage Nimbus
+Red-Hot Hottie
+Regal Force
+Regathan Firecat
+Reveillark
+Rift Elemental
+Risen Reef
+Risen Riptide
+Risen Sanctuary
+Rockshard Elemental
+Rockslide Elemental
+Roil Elemental
+Root Elemental
+Root-Kin Ally
+Rotted Hulk
+Rubblehulk
+Rumbling Ruin
+Rumbling Slum
+Runaway Steam-Kin
+Rushwood Elemental
+Rust Elemental
+Savage Firecat
+Savai Thundermane
+Scaldkin
+Scampering Scorcher
+Scion of Glaciers
+Scion of Vitu-Ghazi
+Scorchwalker
+Scoria Elemental
+Scourge of Geier Reach
+Sea Spirit
+Seed Guardian
+Seething Pathblazer
+Seismic Elemental
+Shinewend
+Shorecrasher Elemental
+Shrewd Hatchling
+Shriekmaw
+Sickle Ripper
+Siege Elemental
+Silverglade Elemental
+Skizzik
+Skizzik Surger
+Skullmulcher
+Skycat Sovereign
+Slag Strider
+Slithermuse
+Smelt-Ward Ignus
+Smog Elemental
+Smoldering Butcher
+Solitude
+Soul of the Harvest
+Soul of the Rapids
+Soulsurge Elemental
+Spark Elemental
+Spark Trooper
+Spawnwrithe
+Spectral ForceSoul of Migration
+Spitebellows
+Spitemare
+Splinterfright
+Stenchskipper
+Steppe Glider
+Stingmoggie
+Stone Spirit
+Stormcrag Elemental
+Storm Elemental
+Storm Entity
+Stormwing Entity
+Sturdy Hatchling
+Subterranean Shambler
+Subtlety
+Sulfur Elemental
+Supreme Exemplar
+Talonrend
+Tar Fiend
+Tchotchke Elemental
+Tectonic Fiend
+Terrain Elemental
+Territorial Maro
+Thicket Elemental
+Thorn Elemental
+Thousand Winds
+Thunderblust
+Thundercloud Elemental
+Thundermare
+Thunder Spirit
+Tidal Force
+Tideforce Elemental
+Tidewalker
+TimbermareVigor
+Time Elemental
+Titan of Industry
+Tornado Elemental
+Torrent Elemental
+Tunnel Ignus
+Tyrant of Discord
+Umbra Stalker
+Undergrowth Champion
+Updraft Elemental
+Valakut Predator
+Vaporkin
+Vengeful Firebrand
+Vengevine
+Vent Sentinel
+Verdant Force
+Vesperlark
+Vine Mare
+Voice of Resurgence
+Void Stalker
+Volcanic Rambler
+Voracious Hatchling
+Vorstclaw
+Vortex Elemental
+Wakeroot Elemental
+Walker of the Grove
+War Elemental
+Warmind InfantryBogardan Firefiend
+Watercourser
+Water Elemental
+Water Servant
+Waterspout Elemental
+Wave Elemental
+Wavesifter
+Wave-Wing Elemental
+Wayfaring Temple
+Whimwader
+Whisperwood Elemental
+Wilderness Elemental
+Wildfire Elemental
+Wildgrowth Walker
+Windreaver
+Wind Spirit
+Wispmare
+Woeleecher
+Wolfbriar Elemental
+Woodborn Behemoth
+Wood Elemental
+Woodland Wanderer
+Woodvine Elemental
+Worldsoul Colossus
+Xorn
+Yarok's Wavecrasher
+Zendikar Farguide
+Zendikar Incarnate
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/elephant_soldier.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/elephant_soldier.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e0c8039d4e969228222bd7b05c5b872cc92e7966
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/elephant_soldier.txt
@@ -0,0 +1,11 @@
+Loxodon Gatekeeper
+Loxodon Line Breaker
+Loxodon Partisan
+Loxodon Peacekeeper
+Loxodon Punisher
+Loxodon Sergeant
+Loxodon Smiter
+Loxodon Stalwart
+Selesnya Sentry
+Ghalma's Warden
+Civic Stalwart
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/elf.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/elf.txt
new file mode 100644
index 0000000000000000000000000000000000000000..63830caa5a7cd792a6a99a1e1b8ba36c3fe5af40
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/elf.txt
@@ -0,0 +1,7 @@
+__creatures/mtg/elf/elf_archer__
+__creatures/mtg/elf/elf_cleric__
+__creatures/mtg/elf/elf_general__
+__creatures/mtg/elf/elf_noble__
+__creatures/mtg/elf/elf_scout__
+__creatures/mtg/elf/elf_shaman__
+__creatures/mtg/elf/elf_wizard__
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/elf/elf_archer.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/elf/elf_archer.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2bde6d74c9070087c77cf2db54f4e7b17cc2d553
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/elf/elf_archer.txt
@@ -0,0 +1,3 @@
+Ohabi Caleria
+Lady Caleria
+Hallar, the Firefletcher
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/elf/elf_cleric.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/elf/elf_cleric.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8448178992643394f8678b21ae82a9b3514fd3f0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/elf/elf_cleric.txt
@@ -0,0 +1,4 @@
+Trelasarra, Moon Dancer
+Minthara, Merciless Soul
+Viconia, Drow Apostate
+Emmara, Soul of the Accord
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/elf/elf_general.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/elf/elf_general.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3829dc1b6c8fbfb83356c1b3bafbfe74b3bcbcb9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/elf/elf_general.txt
@@ -0,0 +1,362 @@
+Ezuri's Archers
+Skemfar Avenger
+Cylian Sunsinger
+Norwood Archers
+Llanowar Envoy
+Elvish Eulogist
+Wildheart Invoker
+Voice of the Woods
+Realm Seekers
+Skemfar Shadowsage
+Gamekeeper
+Fyndhorn Druid
+Deadbridge Shaman
+Treetop Rangers
+Wirewood Hivemaster
+Seedcradle Witch
+Thorn Lieutenant
+Hired HexbladeTajuru Beastmaster
+Karok WranglerSkyshroud Troopers
+Elvish Pioneer
+Celebrity Fencer
+Wellwisher
+Nettle Sentinel
+Elvish ArchersAether Herder
+Elvish Hunter
+Elves of Deep Shadow
+Savaen Elves
+Elvish Skysweeper
+Ivy Lane Denizen
+Golgari Decoy
+Behemoth's Herald
+Ochran Assassin
+Llanowar Sentinel
+Twinblade Assassins
+Talara's Battalion
+Darkwatch Elves
+Jagged-Scar Archers
+Sage of Shaila's Claim
+Wren's Run Packmaster
+Wolverine Riders
+Twinblade Slasher
+Pendelhaven Elder
+Ivy Seer
+Jaspera Sentinel
+Masked Admirers
+Golgari Raiders
+Springmantle Cleric
+Llanowar Stalker
+Thornbow Archer
+Kujar Seedsculptor
+Highspire Artisan
+Ruthless Winnower
+GodtoucherGrowth-Chamber GuardianGrovetender Druids
+Boss's ChauffeurElder DruidKoma's Faithful
+Elvish Warmaster
+Meria's Outrider
+Elvish Rejuvenator
+Seeker of Skybreak
+Sacellum Archers
+Cultivator of Blades
+Blaring Recruiter
+Glowspore Shaman
+Elvish Handservant
+Wirewood Channeler
+Voice of Many
+Sylvan AdvocateSilhana StarfletcherBirchlore RangersRakish RevelersQuirion ExplorerMul Daya ChannelersCitanul StalwartRosethorn Acolyte // Seasonal RitualWoodland Mystic
+Sages of the Anima
+Incubation Druid
+Sole PerformerQuirion Ranger
+Nissa's Chosen
+Devoted Druid
+Elegant Edgecrafters
+Wildborn Preserver
+Fyndhorn Elder
+Carapace ForgerScarblade Elite
+Lys Alana Huntmaster
+Oakhame Adversary
+Deathbloom Gardener
+Golgari Findbroker
+Deepwood Denizen
+Skyshroud Archer
+Wilt-Leaf Liege
+Elvish House Party
+Elvish Mystic
+Tel-Jilad Archers
+Moonglove Winnower
+Oak Street Innkeeper
+Reckless Amplimancer
+Caller of the Claw
+Timberwatch Elf
+Tel-Jilad Chosen
+Elvish Champion
+Wildslayer Elves
+Everglove Courier
+Elvish Ranger
+Soulblade Renewer
+Primal Forcemage
+Simic Guildmage
+Copperhorn Scout
+GreenseekerDriderElvish Spirit GuideMultani's Acolyte
+Scarred Vinebreeder
+Thornmantle Striker
+Wirewood Elf
+Thornweald Archer
+Rune-Cervin Rider
+Wolf-Skull Shaman
+Armored Wolf-Rider
+Elvish Branchbender
+Selvala's Enforcer
+Imperious Perfect
+Knotvine Mystic
+Allosaurus Rider
+Elvish Doomsayer
+Roving Harper
+Arbor Elf
+Attended Socialite
+Tajuru Snarecaster
+Elvish Farmer
+Norwood Priestess
+Llanowar Loamspeaker
+Elvish Lyrist
+Skyshroud Ranger
+Grizzled Outrider
+Heritage Druid
+Poison-Tip Archer
+Llanowar Knight
+Heart Warden
+Centaur's Herald
+Bramblewood Paragon
+Elvish Hexhunter
+Civic WayfinderPetting Zookeeper
+High-Rise Sawjack
+Weatherseed Elf
+Quirion Sentinel
+Rootpath Purifier
+Elderfang Disciple
+Advocate of the Beast
+Elvish Clancaller
+Wilt-Leaf Cavaliers
+Vineshaper Prodigy
+Treetop Scout
+Elvish Vanguard
+Steel Leaf PaladinFrilled MysticGaea's SkyfolkTomb of Horrors Adventurer
+Plane-Merge Elf
+Elegant Entourage
+Reclamation Sage
+Spire Tracer
+Greenside Watcher
+Ambush Commander
+Argothian Elder
+Leaf-Crowned Visionary
+Elvish Archdruid
+Bloodbraid ElfDarling of the Masses
+Wirewood Herald
+Tajuru Warcaller
+Nath's Elite
+Safehold Elite
+Tireless Provisioner
+Urborg Elf
+Canopy Tactician
+Joraga Visionary
+Warren-Scourge Elf
+Medicine Runner
+Skyrider Patrol
+Thelonite Hermit
+Eyeblight AssassinHeedless OneYavimaya BarbarianInspiring BardDuskwielder
+Tajuru Pathwarden
+Viridian Zealot
+Pelt Collector
+Wild Wanderer
+Druid of the Cowl
+Silhana Wayfinder
+Alpha GuardOakhame Ranger // Bring BackLedev Champion
+Wildwood Tracker
+Beastcaller SavantElvish BardKorozda Guildmage
+Deathrite Shaman
+Deranged Hermit
+Rift Sower
+Quirion Elves
+Viridian Joiner
+Leaf Gilder
+Entourage of Trest
+Yeva's Forcemage
+Elvish Herder
+Elvish Scrapper
+Gala Greeters
+Treetop Ambusher
+Hunter of Eyeblights
+Symbiotic Elf
+Krosan Drover
+Silhana Ledgewalker
+Totem Speaker
+Llanowar Druid
+Ghirapur Guide
+Oracle of Nectars
+Sumala Woodshaper
+Fierce Empath
+Soulknife Spy
+Norwood Riders
+Exquisite Huntmaster
+Accomplished Alchemist
+Beast Whisperer
+Greenwood Sentinel
+Llanowar Tribe
+Shaman of the Pack
+Sacellum Godspeaker
+Rumor Gatherer
+Viridian Acolyte
+Gyre Sage
+Allosaurus Shepherd
+Joiner Adept
+Elvish Piper
+Nurturer Initiate
+Gilt-Leaf Winnower
+Llanowar Scout
+Sharpshooter ElfJoraga BardNaya Hushblade
+Elvish Healer
+Llanowar Empath
+Silkweaver Elite
+Greenhilt Trainee
+Peema Aether-Seer
+Nightshade Harvester
+Golgari Guildmage
+Elven Riders
+Servant of the Conduit
+Saruli Gatekeepers
+Wurmskin ForgerBloodline ShamanTribal Forcemage
+Swarm Guildmage
+Immaculate Magistrate
+Elf Replica
+Evolution Sage
+Skyshroud Sentinel
+Thornscape Battlemage
+Lifecraft Cavalry
+Gaea's Herald
+Devoted HeroPlague Witch
+Elvish Reclaimer
+Titania's Chosen
+Gilt-Leaf Seer
+Gnarlroot Trapper
+Defiant Elf
+Llanowar Augur
+Devkarin Dissident
+Tel-Jilad Outrider
+Generous PatronTajuru ArcherKeen-Eyed Archers
+Drove of Elves
+Greenweaver Druid
+Raven's Run Dragoon
+Elfhame Druid
+Elvish Visionary
+Lifespring Druid
+Elderleaf Mentor
+Elvish Harbinger
+Elvish Warrior
+Yavimaya Granger
+Lys Alana Bowmaster
+Architect of the UntamedArmorcraft Judge
+Gilt-Leaf Archdruid
+Springbloom Druid
+Elvish Lookout
+Llanowar Elite
+Yavimaya Iconoclast
+Monk of the Open HandWirewood Guardian
+Taunting Elf
+Pollenbright Druid
+Oracle of Mul Daya
+Elvish Berserker
+Wirewood Savage
+Elvish AberrationNomadic ElfAtomwheel Acrobats
+Elvish Pathcutter
+Narnam Renegade
+Conclave Guildmage
+Woodland ChampionVastwood Animist
+Skyrider ElfViridian ScoutSafehold DuoJungle Wayfinder
+Fauna Shaman
+Arcane Investigator
+Brightwood Tracker
+Shaman of Spring
+Gladecover Scout
+Patron of the Wild
+Cylian Elf
+Elvish Hydromancer
+Joraga Warcaller
+Naya Sojourners
+Viridian Shaman
+Circle of Dreams Druid
+Selesnya Sagittars
+Priest of Titania
+Turntimber Sower
+Tajuru Blightblade
+Llanowar Visionary
+Leovold's Operative
+Ajani's Comrade
+Fyndhorn Elves
+Decorated Champion
+Trostani's Summoner
+Bloom Tender
+Essence Warden
+Godtracker of JundJoraga AuxiliaryPrimal Whisperer
+Safehold Sentry
+Nullmage Shepherd
+Borderland Explorer
+Peema Outrider
+Farhaven Elf
+Elvish Scout
+Keeper of Progenitus
+Brazen Upstart
+Fleetfoot Dancer
+WoodcloakerDeathbloom Ritualist
+District Guide
+Tajuru Preserver
+Dwynen's Elite
+Lys Alana Scarblade
+Deathknell Berserker
+Wood Elves
+Gempalm Strider
+Norwood Warrior
+Frontier Guide
+Skyshroud Elf
+Skyway Sniper
+Maraleaf Rider
+Sunblade Elf
+Selesnya Evangel
+Paradise Druid
+Tajuru Paragon
+Druid of the Anima
+Greenwheel Liberator
+Sylvan Messenger
+Blightsoil Druid
+Llanowar Elves
+Greatbow Doyen
+Drey Keeper
+Aurora Champion
+Elderfang Ritualist
+Wren's Run Vanquisher
+Stonewood Invoker
+Rootweaver Druid
+Gladehart Cavalry
+Master Biomancer
+Riftsweeper
+Willow Elf
+Briarblade Adept
+Viridian Lorebearers
+Winnower Patrol
+Taunting Arbormage
+Steel Leaf Champion
+Deep Forest Hermit
+Selesnya Guildmage
+Scattershot Archer
+Eyeblight Cullers
+Skyshroud Elite
+Llanowar Mentor
+Caller of the Untamed
+Elvish Soultiller
+Sylvan RangerQuirion Trailblazer
+Zameck Guildmage
+GlittermongerFin-Clade FugitivesTajuru StalwartTurntimber RangerNorwood Ranger
+Quirion Druid
+Joraga Treespeaker
+Ezuri's Brigade
+Cloakwood Swarmkeeper
+Nadier's Nightblade
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/elf/elf_noble.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/elf/elf_noble.txt
new file mode 100644
index 0000000000000000000000000000000000000000..24d9740ffde9f81b998f82a42e56b9f04819d950
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/elf/elf_noble.txt
@@ -0,0 +1,3 @@
+Lathril, Blade of the Elves
+Ayara, First of Locthwain
+Queen Allenal of Ruadach
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/elf/elf_scout.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/elf/elf_scout.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4b73ca4ef5105121aa3818d75a8a6ed8236ddd22
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/elf/elf_scout.txt
@@ -0,0 +1,5 @@
+Tolsimir, Friend to Wolves
+Nael, Avizoa Aeronaut
+Selvala, Explorer Returned
+Selvala, Heart of the Wilds
+Miara, Thorn of the Glade
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/elf/elf_shaman.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/elf/elf_shaman.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5102d09b3efbbd39b7e3d2f7193a6275669e0067
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/elf/elf_shaman.txt
@@ -0,0 +1,7 @@
+Savra, Queen of the Golgari
+Emmara Tandris
+Yeva, Nature's Herald
+Delina, Wild Mage
+Izoni, Thousand-Eyed
+Mayael the Anima
+Baeloth Barrityl, Entertainer
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/elf/elf_wizard.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/elf/elf_wizard.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ac2ab14e6d240d3e0232231335ea6e8fd649bfbc
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/elf/elf_wizard.txt
@@ -0,0 +1,3 @@
+Maralen of the Mornsong
+Momir Vig, Simic Visionary
+Jon Irenicus, Shattered One
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/elspeth.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/elspeth.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c7bc5e272ce03bd2e15b4f53f9afe522925f8d41
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/elspeth.txt
@@ -0,0 +1,6 @@
+Elspeth Resplendent
+Elspeth Tirel
+Elspeth, Knight-Errant
+Elspeth, Sun's Champion
+Elspeth, Sun's Nemesis
+Elspeth, Undaunted Hero
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/faerie_soldier.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/faerie_soldier.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1f48f8bcad9a16ed1fe6037bb0efbc3d2e3fb3d3
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/faerie_soldier.txt
@@ -0,0 +1,6 @@
+Scion of Oona
+Oona's Gatewarden
+Briarberry Cohort
+Wasp Lancer
+Fencer Clique
+Sentinels of Glen Elendra
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/faerie_wizard.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/faerie_wizard.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5004945611caec0a6dab9e992387f1f5742fbd60
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/faerie_wizard.txt
@@ -0,0 +1,3 @@
+Oona, Queen of the Fae
+Vendilion Clique
+Wydwen, the Biting Gale
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/fish.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/fish.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e790f2e1ec10f575491cef9f8b22d84e9144dae8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/fish.txt
@@ -0,0 +1,22 @@
+Kapsho Kitefins
+Sky-Eel School
+Fleet Swallower
+Deepglow Skate
+Tidal Barracuda
+School of Piranha
+Windrider Eel
+Shipwreck Moray
+Mystic Skyfish
+Cloud Manta
+Dandân
+Skyswimmer Koi
+Electric Eel
+Moat Piranhas
+Island Fish Jasconius
+Coral Eel
+Devouring Deep
+Ancient Carp
+Red Herring
+Blufferfish
+Manta Ray
+Quagmire Lamprey
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/fox_cleric.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/fox_cleric.txt
new file mode 100644
index 0000000000000000000000000000000000000000..31a0e605d579daa245efe060967fc9a287dbfd67
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/fox_cleric.txt
@@ -0,0 +1,7 @@
+Split-Tail Miko
+Pious Kitsune
+Kitsune Bonesetter
+Kitsune Diviner
+Kitsune Healer
+Kitsune Loreweaver
+Kitsune Palliator
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/frog_beast.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/frog_beast.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1e3098b1459f0a3349ea3654fb8503eaf5290515
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/frog_beast.txt
@@ -0,0 +1,6 @@
+Anurid Barkripper
+Anurid Brushhopper
+Anurid Scavenger
+Anurid Swarmsnapper
+Excavating Anurid
+Species Gorger
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/fungus.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/fungus.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7404dd12dc8b35a54174dbe6c6a3e8d6978f2f2f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/fungus.txt
@@ -0,0 +1,31 @@
+Undercellar Myconid
+Moldgraf Scavenger
+Rot Shambler
+Thallid
+Thallid Devourer
+Thallid Germinator
+Fungal Behemoth
+Spore Crawler
+Spore Flower
+Sporecrown Thallid
+Sporemound
+Sporesower Thallid
+Sporoloth Ancient
+Thallid Omnivore
+Thallid Shell-Dweller
+Thallid Soothsayer
+Savage Thallid
+Yavimaya Sapherd
+Psychotrope Thallid
+Mycoid Shepherd
+Mycoloth
+Myconid Spore Tender
+Deathbloom Thallid
+Pallid Mycoderm
+Thorn Thallid
+Tukatongue Thallid
+Utopia Mycon
+Boneyard Mycodrax
+Corpsejack Menace
+Feral Thallid
+Vitaspore Thallid
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/fungus_beast.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/fungus_beast.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8276dc8846f136cc88a384e8325a870b3239c8da
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/fungus_beast.txt
@@ -0,0 +1,5 @@
+Mold Shambler
+Fungal Shambler
+Swarm Shambler
+Brackish Trudge
+Sproutback Trudge
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/garruk.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/garruk.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f3ced5f18433e34d9345b97c6e2b0266ac012661
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/garruk.txt
@@ -0,0 +1,7 @@
+Garruk Wildspeaker
+Garruk, Apex Predator
+Garruk, Caller of Beasts
+Garruk, Cursed Huntsman
+Garruk, Primal Hunter
+Garruk, Savage Herald
+Garruk, Unleashed
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/giant.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/giant.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6d4237bfc267d808771f76da6fee00179a2b260c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/giant.txt
@@ -0,0 +1,7 @@
+__creatures/mtg/giant/giant_berserker__
+__creatures/mtg/giant/giant_druid__
+__creatures/mtg/giant/giant_general__
+__creatures/mtg/giant/giant_knight__
+__creatures/mtg/giant/giant_shaman__
+__creatures/mtg/giant/giant_soldier__
+__creatures/mtg/giant/giant_warrior__
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/giant/giant_berserker.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/giant/giant_berserker.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c7981d8dc6309e68b6dba0b0b42d25bec518d982
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/giant/giant_berserker.txt
@@ -0,0 +1,6 @@
+Calamity Bearer
+Doomskar Titan
+Surtland Flinger
+Cinderheart Giant
+Quakebringer
+Kuldotha Ringleader
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/giant/giant_druid.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/giant/giant_druid.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1ed08248182535e05699a9d88f430645de32a033
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/giant/giant_druid.txt
@@ -0,0 +1,3 @@
+Ondu Giant
+Howling Giant
+Earthshaker Giant
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/giant/giant_general.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/giant/giant_general.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6d9b729d8e2c30f5863773d921905eb873a08785
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/giant/giant_general.txt
@@ -0,0 +1,3 @@
+Nylea's Colossus
+Doomwake Giant
+Nyxborn Colossus
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/giant/giant_knight.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/giant/giant_knight.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a49592edf804a73406814887c77deb8cede4bc41
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/giant/giant_knight.txt
@@ -0,0 +1,3 @@
+Goliath Paladin
+Garenbrig Paladin
+Knight of the Last Breath
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/giant/giant_shaman.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/giant/giant_shaman.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c24c037cbce0eae20e692b9c987f1e66452650a9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/giant/giant_shaman.txt
@@ -0,0 +1,7 @@
+Cragganwick Cremator
+Skarrgan Skybreaker
+Valleymaker
+Sunder Shaman
+Thundercloud Shaman
+Bone Shaman
+Giant Harbinger
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/giant/giant_soldier.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/giant/giant_soldier.txt
new file mode 100644
index 0000000000000000000000000000000000000000..aeb2891d5700c3e7d5c6e8edd2ffc69c2d813390
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/giant/giant_soldier.txt
@@ -0,0 +1,16 @@
+Protector of the Crown
+Sentinel of the Eternal Watch
+Oathsworn Giant
+Swathcutter Giant
+Constable of the Realm
+Bulwark Giant
+Akron Legionnaire
+Council Guardian
+Jotun Grunt
+Armory Guard
+Towering Thunderfist
+Kalemne's Captain
+Sunhome Enforcer
+Hammer Dropper
+Palisade Giant
+Watchful Giant
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/giant/giant_warrior.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/giant/giant_warrior.txt
new file mode 100644
index 0000000000000000000000000000000000000000..005017b35b9accd24ae402285f970bf2817c4fdd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/giant/giant_warrior.txt
@@ -0,0 +1,4 @@
+Gorm the Great
+Brion Stoutarm
+Ruhan of the Fomori
+Bartel Runeaxe
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/gideon.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/gideon.txt
new file mode 100644
index 0000000000000000000000000000000000000000..10fb95ed21312a06f292d8ee4c2778d486c9a39b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/gideon.txt
@@ -0,0 +1,7 @@
+Gideon Blackblade
+Gideon Jura
+Gideon of the Trials
+Gideon, Ally of Zendikar
+Gideon, Champion of Justice
+Gideon, Martial Paragon
+Gideon, the Oathsworn
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/goat.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/goat.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e0aed8a1c70bda8bab349078ab309fbe6467b551
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/goat.txt
@@ -0,0 +1,3 @@
+Mountain Goat
+Thriving Ibex
+Pathbreaker Ibex
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/goblin.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/goblin.txt
new file mode 100644
index 0000000000000000000000000000000000000000..87bd62adb21f7eda6363a411e3215488037237a8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/goblin.txt
@@ -0,0 +1,4 @@
+__creatures/mtg/goblin/goblin__
+__creatures/mtg/goblin/goblin_artificer__
+__creatures/mtg/goblin/goblin_shaman__
+__creatures/mtg/goblin/goblin_warrior__
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/goblin/goblin.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/goblin/goblin.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7fc6dab7de675cd87cbcb88f0f1399581ea65da7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/goblin/goblin.txt
@@ -0,0 +1,341 @@
+Mogg Conscripts
+Goblin Grappler
+Impulsive Pilferer
+Torch Courier
+Hobgoblin Dragoon
+Skinbrand Goblin
+Goblin Balloon Brigade
+Sensation Gorger
+Goblin Soothsayer
+Goblin Lackey
+Stadium Vendors
+Battle-Rattle Shaman
+Munitions Expert
+Thick-Skinned Goblin
+Daggersail Aeronaut
+Fissure Wizard
+Mogg Jailer
+Boggart Forager
+Fire Juggler
+Grenzo's Cutthroat
+Skirk Outrider
+Wrench-Rigger
+Mogg War Marshal
+Utvara Scalper
+Goblin Ski Patrol
+Boggart Brute
+Goblin Assailant
+Goblin Vandal
+Blisterstick Shaman
+Mogg Fanatic
+Goblin Elite Infantry
+Akki Drillmaster
+Goblin Racketeer
+Akki RoninChasm GuideGoblin Mountaineer
+Lightning Crafter
+Hammer Jammer
+Tuktuk GruntsAkki Lavarunner // Tok-Tok, Volcano BornTattermunge DuoGoblin Spelunkers
+Treasure Nabber
+Goblin Brigand
+Clamor Shaman
+Warren Pilferers
+Relic RobberAkki Battle Squad
+Boggart Sprite-Chaser
+Mogg Sentry
+Okk
+Goblin Masons
+Goblin Dark-Dwellers
+Goblin Anarchomancer
+Subterranean Scout
+Sparksmith
+Steamflogger TempAkki UnderminerGoblin Spy
+Earwig Squad
+Goblin Sharpshooter
+Arms Dealer
+Goblin Taskmaster
+Swab Goblin
+Goblin Artisans
+Facevaulter
+Mad Auntie
+Wandering Goblins
+Krark-Clan Stoker
+Crazed Goblin
+Goblin Machinist
+Goblin Kaboomist
+Stingscourger
+Spitfire Handler
+Goblin Pyromancer
+Goblin Blast-Runner
+Goblin Chariot
+Grenzo's Ruffians
+Gravel-Hide Goblin
+Goblin Clearcutter
+Goblin Brawler
+Lobber Crew
+Hobgoblin Bandit Lord
+Spikeshot Elder
+Tar Pitcher
+Akki Raider
+Goblin Heelcutter
+Goblin Banneret
+Mudbutton Torchrunner
+Skirk Shaman
+Raging Goblin
+Bazaar Trader
+Dragonlord's Servant
+Boggart Loggers
+Goblin Swine-Rider
+Goblin Cavaliers
+Mad Ratter
+Raging Redcap
+Goblin Firebug
+Hornet Harasser
+Goblin Chirurgeon
+Slingshot Goblin
+Goblin Shortcutter
+Ember Hauler
+Goblin Sky Raider
+Goblin Arsonist
+Kyren Glider
+Squeaking Pie Grubfellows
+Jeering Instigator
+Goblin Locksmith
+Prickly Boggart
+Krark-Clan Grunt
+Rummaging Goblin
+Goblin Gaveleer
+Hatchet Bully
+Sling-Gang Lieutenant
+Spikeshot Goblin
+Goblin Traprunner
+Weaselback Redcap
+Nath's Buffoon
+Goblin Hero
+Ground Pounder
+Nimble Birdsticker
+Goblin Medics
+Goblin Outlander
+Lazier Goblin
+Goblin Piker
+Outrage Shaman
+Auntie's Snitch
+Akki Underling
+Goblin Blastronauts_____ GoblinGoblin HaberdasherGoblin Roughrider
+Goblin Berserker
+Swirling Spriggan
+Boggart Harbinger
+Goblin Sappers
+Goblin Recruiter
+Goblin Bully
+Stinkdrinker Bandit
+Sokenzan Smelter
+Goblin Fireslinger
+War-Torch Goblin
+Goblin Battle Jester
+Mudbrawler Cohort
+Izzet Chemister
+Goblin Goliath
+Goblin Bookie
+Destructive Digger
+Legion Loyalist
+Goblin Archaeologist
+Goblin Cohort
+Guttersnipe
+Goblin Bowling Team
+Krark-Clan Shaman
+Skirk Commando
+Goblin Deathraiders
+Bloodmark Mentor
+Adder-Staff Boggart
+Hellraiser Goblin
+Goblin Bruiser
+Siege-Gang Commander
+Hungry Spriggan
+Mogg Assassin
+Grotag Bug-Catcher
+Zhur-Taa Goblin
+Goblin Picker
+Oxidda Daredevil
+Unstable Hulk
+Goblin Diplomats
+Vexing Shusher
+Goblin Flotilla
+Bloodcrazed Goblin
+Mudbutton Clanger
+Goblin Flectomancer
+Goblin Bushwhacker
+Goblin Goon
+Dockside Extortionist
+Goblin Firestarter
+Redcap Raiders
+Swarming Goblins
+Nosy Goblin
+Goblin Bangchuckers
+Ignoble Hierarch
+Volley Veteran
+Steamflogger Service Rep
+Spiderwig Boggart
+Goblin Javelineer
+Goblin Skycutter
+Skirk Drill Sergeant
+Shrieking Mogg
+Mogg Raider
+Legion Warboss
+Pyrewild Shaman
+Goblin AssassinReckless OneHobgoblin CaptainGoblin Striker
+Ornery Goblin
+Goblin Motivator
+Steamflogger Boss
+Mogg Toady
+Knucklebone Witch
+Goblin Champion
+Kyren Legate
+Goblin Ruinblaster
+Goblin Piledriver
+Boggart Arsonists
+Warbreak Trumpeter
+Skirk Marauder
+Goblin Cadets
+Goblin Commando
+Hulking Bugbear
+Boggart Ram-Gang
+Kyren Sniper
+Goblin Wardriver
+Gempalm Incinerator
+Rundvelt Hordemaster
+Party Crasher
+Skirk Fire Marshal
+Scrap Welder
+Goblin Airbrusher
+Goblin Gang Leader
+Goblin Cratermaker
+Goblin Bird-Grabber
+Skirk Prospector
+Goblin General
+Rock Jockey
+Mardu Scout
+Tin Street Hooligan
+Kill-Suit Cultist
+Goblin Snowman
+Foundry Street Denizen
+Tin Street Dodger
+Cheering Fanatic
+Marsh Goblins
+Goblin Warchief
+Squeaking Pie Sneak
+Steamflogger of the Month
+Goblin WelderMurderous Redcap
+Goblin Glider
+Goblin
+Goblin Fire Fiend
+Fireblade Charger
+Spike Jester
+Warren Instigator
+Owlbear ShepherdGoblin Girder Gang
+Frenzied GoblinSprouting Goblin
+Goblin Tunneler
+Horde of Boggarts
+Grotag Siege-Runner
+Wily Goblin
+Goblin War Buggy
+Emberwilde Augur
+Krark-Clan Engineers
+Boggart Mob
+Reckless Bushwhacker
+Bloodstone Goblin
+Goblin Artillery
+Goblin Raider
+Mogg Squad
+Rigging RunnerJoyride Rigger
+Mons's Goblin Raiders
+Boomstacker
+Goblin King
+Goblin Glory Chaser
+Mudbrawler Raiders
+Goblin Chieftain
+Frogtosser Banneret
+Boartusk LiegeGoblin TurncoatGoblin MimeGoblin Mutant
+Goblin Patrol
+Grotag Night-Runner
+Mogg Flunkies
+Goblin S.W.A.T. Team
+Mogg Maniac
+Conspicuous Snoop
+Hearthfire Hobgoblin
+Exiled Boggart
+Feral Animist
+Goblin Chainwhirler
+Goblin Matron
+Warteye Witch
+Goblin Grenadiers
+Lavastep Raider
+Scuzzback Marauders
+Flamewave Invoker
+Lightning-Rig Crew
+Ignition Team
+Goblin Settler
+Goblin Spymaster
+Keeper of Kookus
+Riot Piker
+Goblin Furrier
+Goblin Assault Team
+Sneaking Guide
+Ponyback Brigade
+Skirk Volcanist
+Quill-Slinger Boggart
+Goblin Marshal
+Goblin Digging Team
+Goblin Engineer
+Ankle Shanker
+Goblin Dynamo
+Lavafume Invoker
+Dark-Dweller Oracle
+Goblin Trashmaster
+Tattermunge Witch
+Enslaved ScoutRabble-Rouser
+Dragon's Herald
+Goblin Ringleader
+Goblin Smuggler
+Teeterpeak Ambusher
+Spear Spewer
+Goatnapper
+Battle Cry Goblin
+Rustrazor Butcher
+Intimidator Initiate
+Goblin Razerunners
+Beetleback Chief
+Caterwauling Boggart
+Goblin Instigator
+Goblins of the FlargGoblin CruciverbalistEmbermage Goblin
+Goblin Rock Sled
+Scuzzback Scrapper
+Bog Hoodlums
+Goblin Electromancer
+Three-Headed GoblinGoblin Test PilotGoblin Trailblazer
+Krenko's Enforcer
+Jund Hackblade
+Boros RecruitFirefright MageMons's Goblin WaitersGrim WandererGoblin Freerunner
+Goblin Sledder
+Bloodshot Trainee
+Akki Coalflinger
+Brash Taunter
+Stinkdrinker Daredevil
+Battle Squadron
+Fanatical Firebrand
+Weirding Shaman
+Goblin Secret Agent
+Goblin Lookout
+Goblin Gardener
+Goblin Guide
+Mogg Bombers
+Hulking Goblin
+Goblin WizardSlavering Nulls
+Flamestick Courier
+Stream HopperZada's CommandoTuktuk ScrapperGoblin Tinkerer
+Torch SlingerGoblin Legionnaire
+Tattermunge Maniac
+Goblin Rabblemaster
+Goblin Psychopath
+Akki Rockspeaker
+Akki Blizzard-Herder
+Akki Avalanchers
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/goblin/goblin_artificer.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/goblin/goblin_artificer.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0330b1c3c0984bdcb93dfb12e3df10e04104f7ce
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/goblin/goblin_artificer.txt
@@ -0,0 +1,3 @@
+Shattergang Brothers
+Toggo, Goblin Weaponsmith
+Slobad, Goblin Tinkerer
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/goblin/goblin_shaman.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/goblin/goblin_shaman.txt
new file mode 100644
index 0000000000000000000000000000000000000000..52e27b69c4a444ab3b5d03210db60b2a822daf72
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/goblin/goblin_shaman.txt
@@ -0,0 +1,6 @@
+Ben-Ben, Akki Hermit
+Wort, Boggart Auntie
+Wort, the Raidmother
+Kiki-Jiki, Mirror Breaker
+Grumgully, the Generous
+Gut, True Soul Zealot
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/goblin/goblin_warrior.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/goblin/goblin_warrior.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8b312e4c8220094b7507a1763d33d0f567099fda
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/goblin/goblin_warrior.txt
@@ -0,0 +1,5 @@
+Zo-Zu the Punisher
+Ishi-Ishi, Akki Crackshot
+Pashalik Mons
+Ol' Buzzbark
+Krenko, Mob Boss
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/god.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/god.txt
new file mode 100644
index 0000000000000000000000000000000000000000..861564f13b90f3da38211c75e940bc841d606057
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/god.txt
@@ -0,0 +1,11 @@
+Bhaal, Lord of Murder
+Hazoret the Fervent
+Myrkul, Lord of Bones
+Bane, Lord of Darkness
+The Locust God
+The Scarab God
+The Scorpion God
+Rhonas the Indomitable
+Oketra the True
+Kefnet the Mindful
+Bontu the Glorified
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/golem.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/golem.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e0cd429c07db50cbfb3827ce4a91f2d797b72238
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/golem.txt
@@ -0,0 +1,122 @@
+Maelstrom Colossus
+Spire Golem
+Custodian of the Trove
+Campus Guide
+Junk Golem
+Dross Golem
+Igneous Golem
+Howling Golem
+Razor Golem
+Bronze Guardian
+Dromar's Attendant
+Stone Golem
+Cobalt Golem
+Gilded Sentinel
+Mycosynth Golem
+Mage-Ring Responder
+Keeper of the Lens
+Cradle Clearcutter
+Darigaaz's Attendant
+Precursor Golem
+Bottle Golems
+Hollow One
+Battered Golem
+Platinum Emperion
+Epitaph Golem
+Meteor Golem
+Solemn Simulacrum
+Ancestral Statue
+Guardians of Meletis
+Hematite Golem
+Darksteel Sentinel
+Arcbound Reclaimer
+Ancient Stone Idol
+Flint Golem
+Walking Archive
+Dodecapod
+Oxidda Golem
+Geode Golem
+Arcbound Wanderer
+Malachite Golem
+Forgotten Sentinel
+Iron Bully
+Patagia Golem
+Rith's Attendant
+Triplicate Titan
+Chronomaton
+Arcbound Overseer
+Lead Golem
+Lunar Avenger
+Iron Golem
+Coal Golem
+Pardic Wanderer
+Matopi Golem
+Basalt Golem
+Walking Bulwark
+Darksteel Colossus
+Crystal Golem
+Beast of Burden
+Clay Statue
+Pillar of War
+Limestone Golem
+Tezzeret's Strider
+Clay Revenant
+Rusting Golem
+Transguild Courier
+Steel Golem
+Composite Golem
+Tribal Golem
+Saberclaw Golem
+Lodestone Golem
+Guardian of the Ages
+Arcbound Bruiser
+Soultether Golem
+Crosis's Attendant
+Colossus of Akros
+Complex Automaton
+Altar Golem
+Hexplate Golem
+Rootwire Amalgam
+Emblazoned Golem
+Hewed Stone Retainers
+Will-Forged Golem
+Brass Herald
+Mirror Golem
+Reflective Golem
+Salvage Titan
+Glassdust Hulk
+Glass Golem
+Soldevi Golem
+Pilgrim of the Fires
+Henge Walker
+Rusted Sentinel
+Teferi's Sentinel
+Golem Artisan
+Straw Golem
+Awakened Amalgam
+Lightning-Core Excavator
+Alloy Golem
+Witness of the Ages
+Obsianus Golem
+Titanium Golem
+Colossus of Sardia
+Thran Golem
+Enatu Golem
+Boulderbranch Golem
+Pewter Golem
+Tormod's Cryptkeeper
+Tezzeret's Simulacrum
+Clay Golem
+Sand Golem
+Junktroller
+Sundering Titan
+Crumbling Colossus
+Togglodyte
+Prismite
+Treva's Attendant
+Tangle Golem
+Sparring Golem
+Relic Golem
+Pattern Matcher
+Golem
+Shield-Wall Sentinel
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/gorgon.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/gorgon.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c98fd0df98e84d0c0f58212bef3b3ea221977b40
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/gorgon.txt
@@ -0,0 +1,10 @@
+Infernal Medusa
+Gorgon Recluse
+Pitiless Gorgon
+Pharika's Mender
+Pharika's Spawn
+Reaper of the Wilds
+Keepsake Gorgon
+Korozda Gorgon
+Masked Gorgon
+Xathrid Gorgon
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/gremlin.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/gremlin.txt
new file mode 100644
index 0000000000000000000000000000000000000000..deeaa4bb3967a14be0b495ec435cb5a5c714ea7c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/gremlin.txt
@@ -0,0 +1,8 @@
+Ruinous Gremlin
+Thriving Grubs
+Territorial Gorger
+Terror of the Fairgrounds
+Salivating Gremlins
+Brazen Scourge
+Blisterspit Gremlin
+Ravenous Intruder
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/hellion_beast.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/hellion_beast.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a843287ecca3d25f0eddb5d8a1e363786b1282fe
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/hellion_beast.txt
@@ -0,0 +1,3 @@
+Iron-Barb Hellion
+Crater Hellion
+Flowstone Hellion
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/hippogriff.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/hippogriff.txt
new file mode 100644
index 0000000000000000000000000000000000000000..984fb8a70c021e23e0beb5662591a470417338d9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/hippogriff.txt
@@ -0,0 +1,4 @@
+Loyal Gryff
+Dawn Gryff
+Hushwing Gryff
+Razor Hippogriff
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/homunculus.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/homunculus.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5a6c98e371867c003fb0346d180dfccd0bed6be6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/homunculus.txt
@@ -0,0 +1,3 @@
+Dovin's Automaton
+Court Homunculus
+Filigree Attendant
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/horror.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/horror.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3abd99b10c560f361141ef0c7d2a23a81a607d84
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/horror.txt
@@ -0,0 +1,4 @@
+Grazilaxx, Illithid Scholar
+Nihiloor
+Zellix, Sanity Flayer
+Old Stickfingers
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/horror_mercenary.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/horror_mercenary.txt
new file mode 100644
index 0000000000000000000000000000000000000000..29fea50b89bef8356a741afce92db44d2ec4b4f2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/horror_mercenary.txt
@@ -0,0 +1,7 @@
+Primeval Shambler
+Skulking Fugitive
+Misshapen Fiend
+Cateran Brute
+Cateran Enforcer
+Cateran Overlord
+Cateran Slaver
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/horse.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/horse.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ec8db82a28cc0bf5e6c0cf3635176e8ef615e9c7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/horse.txt
@@ -0,0 +1,12 @@
+Crested Sunmare
+Tarpan
+Shield Mare
+Dwarven Pony
+Fleshmad Steed
+Armored Warhorse
+Sacred Prey
+Dusk Charger
+Black Carriage
+Wandermare
+Hipparion
+Temur Charger
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/huatli.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/huatli.txt
new file mode 100644
index 0000000000000000000000000000000000000000..881dced5aaeece4a18510d197bf2499a813fadb3
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/huatli.txt
@@ -0,0 +1,4 @@
+Huatli, Dinosaur Knight
+Huatli, Radiant Champion
+Huatli, the Sun's Heart
+Huatli, Warrior Poet
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d33faf41f6862c6afa404fd7c67095b872819da1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human.txt
@@ -0,0 +1,37 @@
+
+__creatures/mtg/human/human_archer__
+__creatures/mtg/human/human_artificer__
+__creatures/mtg/human/human_assassin__
+__creatures/mtg/human/human_barbarian__
+__creatures/mtg/human/human_berserker__
+__creatures/mtg/human/human_citizen__
+__creatures/mtg/human/human_cleric__
+__creatures/mtg/human/human_druid__
+__creatures/mtg/human/human_gamer__
+__creatures/mtg/human/human_horror__
+__creatures/mtg/human/human_knight__
+__creatures/mtg/human/human_knight_ally__
+__creatures/mtg/human/human_mercenary__
+__creatures/mtg/human/human_minion__
+__creatures/mtg/human/human_monk__
+__creatures/mtg/human/human_monk_cleric__
+__creatures/mtg/human/human_ninja__
+__creatures/mtg/human/human_noble__
+__creatures/mtg/human/human_nomad_mystic__
+__creatures/mtg/human/human_pilot__
+__creatures/mtg/human/human_pirate__
+__creatures/mtg/human/human_pirate_wizard__
+__creatures/mtg/human/human_ranger__
+__creatures/mtg/human/human_rebel_cleric__
+__creatures/mtg/human/human_rogue__
+__creatures/mtg/human/human_samurai__
+__creatures/mtg/human/human_scout__
+__creatures/mtg/human/human_shaman__
+__creatures/mtg/human/human_shaman_ally__
+__creatures/mtg/human/human_soldiers__
+__creatures/mtg/human/human_spellshaper__
+__creatures/mtg/human/human_warlock__
+__creatures/mtg/human/human_warrior__
+__creatures/mtg/human/human_warrior_ally__
+__creatures/mtg/human/human_wizard__
+__creatures/mtg/human/human_wizards__
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_advisor.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_advisor.txt
new file mode 100644
index 0000000000000000000000000000000000000000..26ee1d69b1e3b8a43e515bf6441f7b7d8feaf5f3
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_advisor.txt
@@ -0,0 +1,24 @@
+Loyal Retainers
+Ballot Broker
+Aysen Bureaucrats
+Azor's Elocutors
+Minister of Impediments
+Council of Advisors
+Council of the Absolute
+Brago's Representative
+Droning Bureaucrats
+Agent of Masks
+Scholarship Sponsor
+Cunning Advisor
+Imperial Recruiter
+Traveling Philosopher
+Seasoned Tactician
+Metagamer
+Persistent Petitioners
+Elder of Laurels
+Orzhov Advokist
+Cartel Aristocrat
+Trusted Advisor
+Corrupt Court Official
+Corrupt Eunuchs
+Garrulous Sycophant
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_archer.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_archer.txt
new file mode 100644
index 0000000000000000000000000000000000000000..77fd24d27079c576f9e75be766363df4a2918e35
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_archer.txt
@@ -0,0 +1,16 @@
+Femeref Archers
+Arbalest Elite
+Bassara Tower Archer
+Mardu Heart-Piercer
+Sawblade Slinger
+Atzocan Archer
+Ruthless Sniper
+Apprentice Sharpshooter
+Firebrand Archer
+Freewind Equenaut
+Dawnray Archer
+D'Avenant Trapper
+Stun Sniper
+Trophy Hunter
+Reverent Hunter
+Court Archers
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_artificer.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_artificer.txt
new file mode 100644
index 0000000000000000000000000000000000000000..aba66bf806422830744112d5739cb566f28476e0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_artificer.txt
@@ -0,0 +1,57 @@
+Sly Requisitioner
+Flamewright
+Quicksmith Genius
+Quicksmith Rebel
+Quicksmith Spy
+Embersmith
+Loyal Apprentice
+Experimental Aviator
+Tomakul Scrapsmith
+Geology Enthusiast
+Wreck Hunter
+Arbalest Engineers
+Wire Surgeons
+Sweatworks Brawler
+Junkyard Genius
+Marionette Master
+Doomed Artisan
+Skilled Animator
+Propeller Pioneer
+Myrsmith
+Aether Poisoner
+Restoration Gearsmith
+Audacious Reshapers
+Painsmith
+Scrapper Champion
+Scholar of Stars
+Sage of Lat-Nam
+Ingenious Artillerist
+Ingenious Smith
+Great Desert Prospector
+Hyperion Blacksmith
+Inventor's Apprentice
+Daring Archaeologist
+Argivian Archaeologist
+Argivian Blacksmith
+Battery Bearer
+Powerstone Engineer
+Diligent Excavator
+Reckless Fireweaver
+Reclusive Artificer
+Aeronaut Tinkerer
+Aether Chaser
+Maulfist Squad
+Maverick Thopterist
+Thopter Engineer
+Aerial Engineer
+Renowned Weaponsmith
+Ghirapur Gearcrafter
+Lifesmith
+Weldfast Engineer
+Weldfast Wingsmith
+Aviation Pioneer
+Wind-Kin Raiders
+Gearsmith Prodigy
+Workshop Elders
+Aspiring Aeronaut
+Riddlesmith
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_assassin.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_assassin.txt
new file mode 100644
index 0000000000000000000000000000000000000000..df334a435f4177c359e6ea40189ca595f96b2902
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_assassin.txt
@@ -0,0 +1,23 @@
+Hooded Assassin
+Thrill-Kill Assassin
+Suq'Ata Assassin
+Fleshtaker
+Agent of the Fates
+Raffine's Silencer
+Lurking Deadeye
+Ruthless Ripper
+Abyssal Hunter
+Silumgar Assassin
+Nightshade Assassin
+Darkblade Agent
+Cruel Sadist
+Nekrataal
+Royal Assassin
+Orzhov Euthanist
+Stalking Assassin
+Thorn of the Black Rose
+King's Assassin
+Garza's Assassin
+Hired Blade
+Hired Poisoner
+Xathrid Slyblade
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_barbarian.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_barbarian.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a10091c35a65312c30ead56c92c83f355d653352
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_barbarian.txt
@@ -0,0 +1,18 @@
+Pillaging Horde
+Tiger-Tribe Hunter
+Balduvian War-Makers
+Balduvian Warlord
+Pardic Arsonist
+Pardic Collaborator
+Pardic Lancer
+Halberdier
+Keldon Warlord
+Hell-Bent Raider
+Barbarian Bully
+Barbarian Guides
+Barbarian Lunatic
+Barbarian Riftcutter
+Caves of Chaos Adventurer
+Keldon Champion
+Balduvian Barbarians
+Balduvian Horde
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_berserker.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_berserker.txt
new file mode 100644
index 0000000000000000000000000000000000000000..bc64b5e936f81e75cadc6498ab52ee973e23e9a2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_berserker.txt
@@ -0,0 +1,28 @@
+Kolaghan Forerunners
+Unchained Berserker
+Blade-Tribe Berserkers
+Mogis's Marauder
+Lightning Berserker
+Lightning Mauler
+Spiraling Duelist
+Altac Bloodseeker
+Hardened Berserker
+Berserkers of Blood Ridge
+Vulshok Berserker
+Scab-Clan Berserker
+Vindictive Mob
+Rubblebelt Rioters
+Ruination Rioter
+Bloodsky Berserker
+Gruul Scrapper
+Valley Dasher
+Firehoof Cavalry
+Horde Ambusher
+Aerathi Berserker
+Tuskeri Firewalker
+Scab-Clan Mauler
+Ursine Champion
+Stormblood Berserker
+Dragonkin Berserker
+Rakdos Shred-Freak
+Bloodbraid Marauder
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_citizen.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_citizen.txt
new file mode 100644
index 0000000000000000000000000000000000000000..bf08dedacf2412734b52ba589e59e328b41aa240
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_citizen.txt
@@ -0,0 +1,12 @@
+Expendable Lackey
+Maestros Initiate
+Five Kids in a Trenchcoat
+Unlucky Witness
+Disciplined Duelist
+Scheming Fence
+Sizzling Soloist
+Backup Agent
+Voice of the Vermin
+Civic Gardener
+Gathering Throng
+Cleanup Crew
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_cleric.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_cleric.txt
new file mode 100644
index 0000000000000000000000000000000000000000..059a93812a31c3c3b2d1a7c3afcafee307868100
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_cleric.txt
@@ -0,0 +1,273 @@
+Abbey Matron
+Abzan Battle Priest
+Academy Rector
+Acolyte of Affliction
+Acolyte of Xathrid
+Aerie Worshippers
+Airlift Chaplain
+Akroma's Devoted
+Ancestor's Chosen
+Ancestor's Prophet
+Angelheart Protector
+Angel's Herald
+Angus Mackenzie
+Anointed Chorister
+Anointed Peacekeeper
+Anointer of Champions
+Anointer Priest
+Apostle of Purifying Light
+Arashin Cleric
+Archfiend's Vessel
+Archpriest of Iona
+Arcus Acolyte
+Arena Rector
+Asmira, Holy Avenger
+Atalya, Samite Master
+Augur il-Vec
+Auriok Champion
+Auspicious Ancestor
+Avacynian Priest
+Bane's Invoker
+Banisher Priest
+Battlefield Medic
+Beacon of Destiny
+Beloved Chaplain
+Benalish Faithbonder
+Benalish Missionary
+Benevolent Bodyguard
+Bishop of Wings
+Blade Historian
+Blessed Orator
+Blighted Shaman
+Blood Celebrant
+Bonecaller Cleric
+Brine Shaman
+Cabal Archon
+Cabal Evangel
+Cabal Executioner
+Cabal Slaver
+Caregiver
+Cathedral Sanctifier
+Celestial Enforcer
+Celestus Sanctifier
+Clergy en-Vec
+Clergy of the Holy Nimbus
+Cleric of the Forward Order
+Codespell Cleric
+Combat MedicCustodi Soulbinders
+Confessor
+Containment Priest
+Court Cleric
+Crimson Acolyte
+Crossroads Consecrator
+Custodi Peacekeeper
+Custodi Soulcaller
+Dark Supplicant
+Daru Healer
+Daru Mender
+Daru Sanctifier
+Daru Spiritualist
+Daunting Defender
+D'Avenant HealerBalduvian Shaman
+Dawnbringer Cleric
+Dawning Purist
+Daybreak Chaplain
+Deathmark Prelate
+Death Speakers
+Dedicated Martyr
+Defender en-Vec
+Defender of the Order
+Demon's Disciple
+Devoted Caretaker
+Devout Chaplain
+Diregraf Escort
+Disciple of Grace
+Disciple of Griselbrand
+Disciple of Law
+Disciple of Malice
+Disciple of Phenax
+Disciple of Tevesh Szat
+Disciple of the Sun
+Disciple of the Vault
+Doomskar Oracle
+Drannith Healer
+Duskfang Mentor
+Earthblighter
+Ebonblade Reaper
+Edgewalker
+Elgaud Inquisitor
+Elite Spellbinder
+Emissary of Sunrise
+Empty-Shrine Kannushi
+Ephara's Warden
+Evangel of Heliod
+Exava, Rakdos Blood Witch
+Exiled Doomsayer
+Exorcist
+Faith Healer
+False Prophet
+Farrelite Priest
+Femeref Healer
+Field Surgeon
+Fiend Hunter
+Foothill Guide
+Fountain Watch
+Freyalise Supplicant
+Frontline Medic
+Glowrider
+Grand Abolisher
+Grassland Crusader
+Haazda Exonerator
+Hallowed Healer
+Hapatra, Vizier of Poisons
+Harsh Mentor
+Hazduhr the Abbot
+Headhunter
+Hedron-Field Purists
+Hekma Sentinels
+Heliod's Pilgrim
+High Priest of Penance
+Holy Justiciar
+Icatian Priest
+Impassioned Orator
+Imperious Oligarch
+Infernal Caretaker
+Jhessian Balmgiver
+Kaalia of the Vast
+Kaalia, Zenith Seeker
+Kabira EvangelSamite Archer
+Karona's Zealot
+Keensight Mentor
+Keepers of the Faith
+Kei Takahashi
+Kinjalli's Caller
+Kyler, Sigardian Emissary
+Lady Evangela
+Lorehold Apprentice
+Luminarch Aspirant
+Lyzolda, the Blood Witch
+Mangara, the Diplomat
+Martyr of Sands
+Master Apothecary
+Master Healer
+Mikaeus, the Lunarch
+Militant Inquisitor
+Ministrant of Obligation
+Miracle Worker
+Mother of Goons
+Mother of Runes
+Nearheath Chaplain
+Nearheath Pilgrim
+Niambi, Esteemed Speaker
+Niambi, Faithful Healer
+Nikara, Lair Scavenger
+Nils, Discipline Enforcer
+Noble Benefactor
+Noble Templar
+Nova Cleric
+Obsidian Acolyte
+Ollenbock Escort
+Ondu War Cleric
+Order of the Stars
+Orim, Samite Healer
+Oriss, Samite Guardian
+Orzhov Pontiff
+Pilgrim of Justice
+Pilgrim of Virtue
+Planar Guide
+Preacher
+Priest of Forgotten Gods
+Priest of Iroas
+Priest of the Blessed Graf
+Priest of the Blood Rite
+Priest of the Wakening Sun
+Pulsemage Advocate
+Qarsi High Priest
+Qarsi Sadist
+Ragnar
+Ravos, Soultender
+Revered Elder
+Royal Herbalist
+Sacred Guide
+Samite Alchemist
+Samite Elder
+Samite Healer
+Samite Herbalist
+Samite Pilgrim
+Sanctifier en-Vec
+Sanctifier of Souls
+Sanctum Custodian
+Sanctum Guardian
+Sanctum Prelate
+Scholar of Athreos
+Scribe of the Mindful
+Selfless Cathar
+Selfless Exorcist
+Serene Steward
+Serra Inquisitors
+Servant of Nefarox
+Setessan Battle Priest
+Shadowborn Apostle
+Shadow-Rite Priest
+Shadowstorm Vizier
+Shieldmage Advocate
+Sigardian Priest
+Sigardian Zealot
+Silent Attendant
+Silverquill Silencer
+Sin Collector
+Sister Hospitaller
+Skirsdag Flayer
+Skirsdag High Priest
+Skirsdag Supplicant
+Soldevi Adnate
+Soldevi Heretic
+Songstitcher
+Soulmender
+Soul's Attendant
+Soul Shepherd
+Soul Warden
+Speaker of the Heavens
+Starfield Mystic
+Starnheim Aspirant
+Steadfast Sentinel
+Stern Judge
+Storm ShamanGoldnight Commander
+Stronghold Confessor
+Suncleanser
+Sylvan Hierophant
+Syndicate Guildmage
+Syndic of Tithes
+Temmet, Vizier of Naktamun
+Temple Acolyte
+Teroh's Faithful
+Thalia's Geistcaller
+Thalisse, Reverent Medium
+Thraben Doomsayer
+Tireless Missionaries
+Torens, Fist of the Angels
+Tourach, Dread Cantor
+Traveling Minister
+Troubled Healer
+True Believer
+Tymna the Weaver
+Undead Slayer
+Urbis Protector
+Victory's Envoy
+Vigilant Martyr
+Vile Deacon
+Vizier of Deferment
+Vizier of Remedies
+Vizier of the Anointed
+Vizier of the True
+Vizier of Tumbling Sands
+Vizkopa Confessor
+War Oracle
+War Priest of Thune
+Whipgrass Entangler
+Whisper, Blood Liturgist
+Wingmantle Chaplain
+Witch Hunter
+Wojek Apothecary
+Yawgmoth, Thran Physician
+Zealous Inquisitor
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_druid.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_druid.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e2588c7b1163410987b27fb920baa267eb70f6df
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_druid.txt
@@ -0,0 +1,71 @@
+Channeler Initiate
+Noble Hierarch
+Witherbloom Apprentice
+Karametra's Acolyte
+Social Climber
+Yavimaya Enchantress
+Fugitive Druid
+Citanul Druid
+Citanul Hierophants
+Druid of Horns
+Krosan Restorer
+Paragon of Eternal Wilds
+Avid Reclaimer
+Rime Tender
+Gatherer of Graces
+Argothian Enchantress
+Zhur-Taa Druid
+Zoologist
+Humble Naturalist
+Ley Weaver
+Reclusive Taxidermist
+Nut Collector
+Wild Cantor
+Druid of Purification
+Hermit Druid
+Hope Tender
+Harvester Druid
+Ley Druid
+Yavimaya Elder
+Keeper of the Sacred Word
+Primal Druid
+Sylvan Shepherd
+Nightshade Peddler
+Augur of Autumn
+Druid Lyrist
+Honored Hierarch
+Groundskeeper
+Juniper Order Rootweaver
+Deathcap Cultivator
+Oashra Cultivator
+Wood Sage
+Axebane Guardian
+Krosan Wayfarer
+Diligent Farmhand
+Dragonsguard Elite
+Verduran Enchantress
+Ichneumon Druid
+Skull Prophet
+Stone-Seeder Hierophant
+Venom Connoisseur
+Mesa Enchantress
+Village Elder
+Harabaz DruidSteward of ValeronExuberant FirestokerWoodland Druid
+Dreampod DruidDrumhunterSunseed Nurturer
+Hidden Herbalists
+Krosan Avenger
+Ixalli's Diviner
+Mycologist
+Awakener Druid
+Citanul Woodreaders
+Sylvok Explorer
+Alloy Animist
+Setessan Petitioner
+Promised Kannushi
+Drover of the Mighty
+Somberwald Sage
+Avenging Druid
+Atzocan Seer
+Squirrel Wrangler
+Slippery Bogbonder
+Femeref Enchantress
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_gamer.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_gamer.txt
new file mode 100644
index 0000000000000000000000000000000000000000..099707c1ff1c1f79b0145f48c4cd7ddd487543f5
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_gamer.txt
@@ -0,0 +1,4 @@
+Vorthos, Steward of Myth
+Spike, Tournament Grinder
+Johnny, Combo Player
+Timmy, Power Gamer
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_horror.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_horror.txt
new file mode 100644
index 0000000000000000000000000000000000000000..45cd1686672032439f24d99842b649dce9ab0b35
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_horror.txt
@@ -0,0 +1,4 @@
+Wharf Infiltrator
+Fascist Art Director
+Foul Emissary
+Emrakul's Evangel
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_knight.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_knight.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a9843f435a9ad195a4aa93abe2825a969813c816
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_knight.txt
@@ -0,0 +1,182 @@
+Tempered Veteran
+Tilonalli's Knight
+Defender of Law
+Sacred Knight
+Knight of the Tusk
+Ethercaste Knight
+Craven Knight
+Lightwielder Paladin
+Benalish Cavalry
+Gustcloak Cavalier
+Knight of Obligation
+Caravan Escort
+Searing Spear Askari
+Pentarch Paladin
+Ladies' Knight
+Paladin of Prahv
+Blazing Blade Askari
+Ardenvale Paladin
+White Shield Crusader
+Varchild's Crusader
+Teferi's Honor Guard
+Cavalry Drillmaster
+Knight of Dawn's Light
+Knight of Malice
+Basri's Lieutenant
+Silverwing Squadron
+Knight of New Alara
+Vantress Paladin
+Capashen Knight
+Blood Knight
+Veteran Cavalier
+Skyknight Vanguard
+Benalish Lancer
+Wingsteed Rider
+Fiendslayer Paladin
+Kessig Wolfrider
+Truefire Paladin
+Charging Paladin
+Ledev Guardian
+Novice Knight
+Oathsworn Knight
+Truefire Captain
+Mesa Cavalier
+Noble Banneret
+Knight of Stromgald
+Cabal Paladin
+Embereth Paladin
+Gryff Rider
+Candlelit Cavalry
+Fireborn Knight
+Inspiring Captain
+Cloud Crusader
+Benalish Marshal
+Silver Knight
+Knight of the Skyward Eye
+Paladin en-Vec
+Azorius Skyguard
+Twinblade Paladin
+Knotvine Paladin
+Charity Extractor
+Trokin High Guard
+Embereth Skyblazer
+Wintermoor Commander
+Cavalry Master
+Lost Order of Jarkeld
+Triumphant Adventurer
+Lyev Skyknight
+Flight of Equenauts
+Outrider of Jhess
+Youthful Knight
+Femeref Knight
+Burning-Yard Trainer
+Knight of the Stampede
+White Knight
+Fervent Champion
+Riders of Gavony
+Northern Paladin
+Valiant Knight
+Knight Errant
+Sunrise Cavalier
+Alaborn Cavalier
+Knights of Thorn
+Southern Paladin
+Sister of Silence
+Lionheart Maverick
+Fallen Askari
+Chieftain en-Dal
+Attended Knight
+Order of the Sacred Torch
+Agent of Stromgald
+Hero of Oxid Ridge
+Lim-Dûl's Paladin
+Defender of Chaos
+Zhalfirin Commander
+Belle of the Brawl
+Coalition Skyknight
+Kjeldoran Skyknight
+Serra Paladin
+Sigiled Paladin
+Faithbearer Paladin
+Knight of New Benalia
+Knight of the Keep
+Forsworn Paladin
+Hero of Bladehold
+Hanweir Lancer
+Gallant Cavalry
+Acclaimed Contender
+Sigardian Paladin
+Blacklance Paragon
+Mirran Crusader
+Rowan's Battleguard
+Knight of the Reliquary
+Champion Lancer
+Aysen Crusader
+Knight of Sursi
+Knight of the Mists
+Knight of Dawn
+Capashen Templar
+Worthy Knight
+Order of the White Shield
+Suq'Ata Lancer
+Dakmor Lancer
+Knight of Glory
+Puresteel Paladin
+Moorland Rescuer
+Sky Hussar
+Venerable Knight
+Skyknight Legionnaire
+Knight of the White Orchid
+Knight Exemplar
+Knight of Dusk's Shadow
+Knight of Dusk
+Dauntless Bodyguard
+Odric's Outrider
+Stormfist Crusader
+Thalia's Lancers
+Clarion Cathars
+Citadel Castellan
+Gryffwing Cavalry
+Imperial Lancer
+Parhelion Patrol
+Benalish Honor Guard
+Inspiring Veteran
+Man of Measure
+Kjeldoran Knight
+Crusading Knight
+Knight of Sorrows
+Stromgald Cabal
+Knight-Captain of Eos
+Knight of Old Benalia
+Hussar Patrol
+Black Knight
+Locthwain Paladin
+Knight of Infamy
+Zhalfirin Knight
+Moorish Cavalry
+Daring Skyjek
+Juniper Order Advocate
+Knight of the Pilgrim's Road
+Griffin Rider
+Dawnstrike Paladin
+Bogardan Lancer
+Knights of the Black Rose
+Paragon of the Amesha
+Imperial Outrider
+Student of Warfare
+Azorius Knight-Arbiter
+Dragonsoul Knight
+Burning Shield Askari
+Pterodon Knight
+Heron's Grace Champion
+Accorder Paladin
+Benalish Knight
+Gryff Vanguard
+Resolute Rider
+Elite Headhunter
+Fervent Cathar
+Knight of Grace
+Kabira Vindicator
+Rowan's Stalwarts
+Silverblade Paladin
+Knight of Valor
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_knight_ally.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_knight_ally.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5e5d3e7cabea1d7b7821a819a8716083c5e2f8ec
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_knight_ally.txt
@@ -0,0 +1,3 @@
+Hero of Goma Fada
+Talus Paladin
+Makindi Patrol
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_mercenary.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_mercenary.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6dedc0743575c6f01988ffe33f137ad1bd2753a1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_mercenary.txt
@@ -0,0 +1,14 @@
+Moggcatcher
+Sell-Sword Brute
+Bog Glider
+Bog Smugglers
+Agent of Shauku
+Mercenaries
+Seahunter
+Alley Grifters
+Highway Robber
+Robaran Mercenaries
+Soldier of Fortune
+Strongarm Thug
+Cateran Kidnappers
+Cateran Persuader
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_minion.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_minion.txt
new file mode 100644
index 0000000000000000000000000000000000000000..89d18372e37d01d7e46cbf7815949010c1fdeb93
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_minion.txt
@@ -0,0 +1,3 @@
+Braids, Cabal Minion
+Chainer, Dementia Master
+Chainer, Nightmare Adept
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_monk.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_monk.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3faa0d8e86966661f4e85df282690f982c9851b4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_monk.txt
@@ -0,0 +1,43 @@
+Graceblade Artisan
+Jukai Messenger
+Avacyn's Pilgrim
+Abbot of Keral Keep
+Leaping Master
+Bloodfire Enforcers
+Dragon Bell Monk
+Fleet-Footed Monk
+Ascendant Acolyte
+Keral Keep Disciples
+Serra Ascendant
+Dueling Coach
+Mystic of the Hidden Way
+Mistfire Adept
+Acolyte of the Inferno
+Ojutai Exemplars
+Jeskai Elder
+Jeskai Infiltrator
+Jeskai Sage
+Jeskai Student
+Valeron Wardens
+Monastery Mentor
+Monastery Swiftspear
+Order of the Sacred Bell
+Lotus-Eye Mystics
+Zephyr Scribe
+Okina Nightwatch
+Strongarm Monk
+Master of Pearls
+Dragon's Disciple
+Dragon's Eye Sentry
+Humble Budoka
+Student of Ojutai
+Geist-Honored Monk
+Serene Master
+Elusive Spellfist
+Mantis Rider
+Whirling Dervish
+Descendant of Masumaro
+Topan Ascetic
+Wandering Champion
+Soulfire Grand Master
+Dragon-Style Twins
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_monk_cleric.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_monk_cleric.txt
new file mode 100644
index 0000000000000000000000000000000000000000..03fe9476f73cb12b872f0a0bcc3ce5ca9366c7ed
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_monk_cleric.txt
@@ -0,0 +1,6 @@
+Monk Realist
+Venerable Monk
+Monk Idealist
+Militant Monk
+Devout Monk
+Reliquary Monk
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_ninja.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_ninja.txt
new file mode 100644
index 0000000000000000000000000000000000000000..80d140c3a72f685308d5fcc8d8a9c2c28e8e216f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_ninja.txt
@@ -0,0 +1,12 @@
+Moonsnare Specialist
+Moonblade Shinobi
+Prosperous Thief
+Inkrise Infiltrator
+Walker of Secret Ways
+Mistblade Shinobi
+Sakashima's Student
+Ninja of the Deep Hours
+Dokuchi Silencer
+Futurist Operative
+Thousand-Faced Shadow
+Biting-Palm Ninja
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_noble.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_noble.txt
new file mode 100644
index 0000000000000000000000000000000000000000..12b62bc39f6b8bf5683183828a04aacee0b7cc3e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_noble.txt
@@ -0,0 +1,6 @@
+Beloved Princess
+Wicked Guardian
+Imposing Sovereign
+Charming Prince
+King Suleiman
+Malevolent Noble
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_nomad_mystic.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_nomad_mystic.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5331777c224e3c24c980cdf01a1f5e187303ec6a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_nomad_mystic.txt
@@ -0,0 +1,5 @@
+Mystic Crusader
+Mystic Enforcer
+Mystic Penitent
+Mystic Visionary
+Mystic Zealot
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_pilot.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_pilot.txt
new file mode 100644
index 0000000000000000000000000000000000000000..57fac1000f0ea545c9c8263a7489c4ac42d35ca6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_pilot.txt
@@ -0,0 +1,4 @@
+Speedway Fanatic
+Reckless Racer
+Aeronaut Admiral
+Ovalchase Daredevil
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_pirate.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_pirate.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c40d4bff4d2fdfac4f1466aed29ce3f16cbf8701
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_pirate.txt
@@ -0,0 +1,64 @@
+Dinosaur Hunter
+Tomb Robber
+Captivating Crew
+Angrath's Marauders
+Burdened Aerialist
+Swaggering Corsair
+Deadeye Rig-Hauler
+Deadeye Tormentor
+Deadeye Tracker
+Prosperous Pirates
+Pirate Ship
+Armored Galleon
+Daring Saboteur
+Crafty Cutpurse
+Talas Air Ship
+Talas Lookout
+Talas Merchant
+Marauding Looter
+Cloud Pirates
+Shipwreck Looter
+Desperate Castaways
+Pitiless Plunderer
+Azure Fleet Admiral
+Daring Buccaneer
+Grasping Scoundrel
+Merchant Raiders
+Rishadan Airship
+Rishadan Brigand
+Rishadan Cutpurse
+Rishadan Footpad
+Brazen Buccaneers
+Brazen Freebooter
+Kitesail Corsair
+Kitesail Freebooter
+Smuggler Captain
+Skyship Plunderer
+Coastline Marauders
+Forerunner of the Coalition
+Dire Fleet Daredevil
+Dire Fleet Hoarder
+Dire Fleet Interloper
+Dire Fleet Poisoner
+Fathom Fleet Captain
+Fathom Fleet Cutthroat
+Fathom Fleet Firebrand
+Hostage Taker
+Sailor of Means
+Rowdy Crew
+Slippery Scoundrel
+Storm Fleet Aerialist
+Storm Fleet Sprinter
+Storm Fleet Spy
+Storm Fleet Swashbuckler
+Corsair Captain
+Trove Tracker
+Deadeye Brawler
+Deadeye Plunderers
+Deadeye Quartermaster
+Boarding Party
+Warkite Marauder
+Kukemssa Pirates
+Kitesail Skirmisher
+Steam Frigate
+Wanted Scoundrels
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_pirate_wizard.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_pirate_wizard.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7e99a92e113e8b13aa71e9fef677806167f457d5
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_pirate_wizard.txt
@@ -0,0 +1,3 @@
+Talas Researcher
+Storm Fleet Pyromancer
+Timestream Navigator
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_ranger.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_ranger.txt
new file mode 100644
index 0000000000000000000000000000000000000000..dcf15b0635c7f7eeaf40c46b46c30dda73c0f4af
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_ranger.txt
@@ -0,0 +1,3 @@
+Cloaked Cadet
+Kelsinko Ranger
+Somberwald Beastmaster
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_rebel_cleric.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_rebel_cleric.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9c790b396f6bf1715f81789975dc0e9057836f3f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_rebel_cleric.txt
@@ -0,0 +1,5 @@
+Ramosian Revivalist
+Blightspeaker
+Samite Censer-Bearer
+Saltfield Recluse
+Children of Korlis
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_rogue.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_rogue.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e0fb46073998ecd457bf9747b2fceb66f2f28086
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_rogue.txt
@@ -0,0 +1,127 @@
+Toluz, Clever Conductor
+Negan, the Cold-Blooded
+Nimble Trapfinder
+Eron the Relentless
+Corpse Hauler
+Cutthroat il-Dal
+Zulaport Duelist
+Marchesa's Emissary
+Tetsuko Umezawa, Fugitive
+Hypnotic Grifter
+Blade Juggler
+Nine-Fingers Keene
+Gwendlyn Di Corci
+Joven
+Orzhov Enforcer
+Notion Thief
+Sakashima of a Thousand Faces
+Rakdos Firewheeler
+Humble Defector
+Deranged Outcast
+Krovikan Scoundrel
+Fourth Bridge Prowler
+Marang River Prowler
+Dogged Detective
+Glint-Sleeve Siphoner
+Corpse Traders
+Stealer of Secrets
+Deathcult Rogue
+Neyam Shai Murad
+Undercity Informer
+Invisible Stalker
+Charging Bandits
+Whisper Agent
+Spireside Infiltrator
+Gwafa Hazid, Profiteer
+Grave Robbers
+Jhessian Thief
+Daring Thief
+Ali Baba
+Temple Thief
+Keldon Vandals
+Tooth Collector
+Lurking Informant
+Illuminator Virtuoso
+Trespasser il-Vec
+Chandler
+Starke of Rath
+Obsessive Skinner
+Errant, Street Artist
+Marchesa's Infiltrator
+Brinebarrow Intruder
+Midnight Scavengers
+Agent of Horizons
+Prowling Geistcatcher
+Soaring Thought-Thief
+Scarwood Bandits
+Audacious Thief
+Moriok Scavenger
+Eloise, Nephalia Sleuth
+Orzhov Racketeers
+Rogue Refiner
+Masked Blackguard
+Ambush Party
+Keymaster Rogue
+Disciple of Deceit
+Fortune Thief
+Acquisitions Expert
+Hired Torturer
+Dhund Operative
+Night Market Lookout
+Extraction Specialist
+Stromgald Spy
+Thieves' Guild Enforcer
+Rilsa Rael, Kingpin
+Jhessian Infiltrator
+Snooping Newsie
+Harbor Bandit
+Canal Courier
+Spontaneous Artist
+Bane Alley Broker
+Morbid Opportunist
+Tavern Scoundrel
+Gilt-Blade Prowler
+Fan Favorite
+Creepy Puppeteer
+Psionic Snoop
+Rag Dealer
+Shortcut Seeker
+Nimana Skydancer
+Deft Duelist
+Tavern Swindler
+Agent of Treachery
+Cunning Nightbonder
+Nimble Pilferer
+Kessig Cagebreakers
+Syndicate Enforcer
+Bane Alley Blackguard
+Nalia de'Arnise
+Lore Broker
+Spikewheel Acrobat
+Burning-Tree Vandal
+Relic Runner
+Neurok Commando
+Selhoff Occultist
+Veldrane of Sengir
+Safana, Calimport Cutthroat
+Hackrobat
+Nephalia Smuggler
+Laurine, the Diversion
+Koth's Courier
+Chevill, Bane of Monsters
+Opposition Agent
+Ingenious Thief
+Nimana Skitter-Sneak
+Dimir Informant
+Canyon Lurkers
+Marchesa's Smuggler
+"Brims" Barone, Midway Mobster
+Neurok Spy
+Emcee
+Ghoulcaller's Accomplice
+Sakashima the Impostor
+Aethertorch Renegade
+Hada Spy Patrol
+Gnat Alley Creeper
+Duskmantle Operative
+Master Thief
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_samurai.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_samurai.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d25f6d7bcd9a73cffbadceaa717ddb4b854379ff
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_samurai.txt
@@ -0,0 +1,20 @@
+Konda's Hatamoto
+Jukai Trainee
+Mothrider Samurai
+Numai Outcast
+Araba Mothrider
+Asari Captain
+Indebted Samurai
+Peerless Samurai
+Samurai Enforcers
+Imperial Subduer
+Battle-Mad Ronin
+Hand of Cruelty
+Hand of Honor
+Inner-Chamber Guard
+Cursed Ronin
+Ronin Cavekeeper
+Ronin Cliffrider
+Ronin Houndmaster
+Devoted Retainer
+Upriser Renegade
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_scout.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_scout.txt
new file mode 100644
index 0000000000000000000000000000000000000000..643a416e10ccd866f9d72a357ee9876ad36656fc
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_scout.txt
@@ -0,0 +1,37 @@
+Woodland Patrol
+Woodland Sleuth
+Tandem Lookout
+Fallaji Archaeologist
+Fallaji Wayfarer
+Bloodthorn Taunter
+Skyline Scout
+Courageous Outrider
+Pious Wayfarer
+Tireless Tracker
+Village Bell-Ringer
+Scholar of New Horizons
+Cloudblazer
+Jhessian Lookout
+Briarbridge Tracker
+Windscouter
+Hyrax Tower Scout
+Salt Road Patrol
+Salvage Scout
+Mwonvuli Beast Tracker
+Valeron Outlander
+Alert Heedbonder
+Mausoleum Guard
+Farbog Explorer
+Seekers' Squire
+Intrepid Adversary
+Intrepid Provisioner
+Byway Courier
+Trustworthy Scout
+Master of Diversion
+Argothian Opportunist
+Mtenda Herder
+Timberland Guide
+Sunrise Seeker
+Emperor's Vanguard
+Femeref Scouts
+Auriok Transfixer
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_shaman.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_shaman.txt
new file mode 100644
index 0000000000000000000000000000000000000000..22174952b5b708860333e091b6db7a85eaed0ab6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_shaman.txt
@@ -0,0 +1,107 @@
+Akoum Stonewaker
+Akroan Conscriptor
+Alaundo the Seer
+Ardent Elementalist
+Arena Trickster
+Atla Palani, Nest Tender
+Bitterheart Witch
+Bloodboil Sorcerer
+Bogardan Dragonheart
+Brallin, Skyshark Rider
+Brimstone Mage
+Brood Keeper
+Brothers of Fire
+Burning-Tree Emissary
+Chaos Channeler
+Circle of Elders
+Clan Guildmage
+Conspiracy Theorist
+Crimson Mage
+Cult Guildmage
+Cult of the Waxing Moon
+Cunning Sparkmage
+Deathgreeter
+Draconic Disciple
+Dragonmaster Outcast
+Dragon's Rage Channeler
+Dragon Whisperer
+Eternal Witness
+Fa'adiyah Seer
+Fireblade Artist
+Flamespeaker Adept
+Frostwielder
+Gavi, Nest Warden
+Ghired, Conclave Exile
+Gigantomancer
+Gruul Beastmaster
+Gruul Guildmage
+Hiveheart Shaman
+Illustrious Historian
+Incendiary Oracle
+Ixalli's Keeper
+Jade Mage
+Judith, the Scourge Diva
+Jund Battlemage
+Juri, Master of the Revue
+Kaervek the Merciless
+Kazandu Tuskcaller
+Keldon Flamesage
+Kessig Flamebreather
+Kinetic Augur
+Kolaghan Stormsinger
+Kumano, Master YamabushiYoung Pyromancer
+Kumano's Pupils
+Lagomos, Hand of Hatred
+Mad Prophet
+Martyr of Ashes
+Martyr of Spores
+Master of the Wild Hunt
+Meren of Clan Nel Toth
+Minister of Pain
+Moodmark Painter
+Naya Battlemage
+Ophiomancer
+Oran-Rief Invoker
+Otepec Huntmaster
+Plaguecrafter
+Prismari Apprentice
+Prophetic Flamespeaker
+Rage Thrower
+Rakdos Trumpeter
+Rakka Mar
+Rattleclaw Mystic
+Reki, the History of Kamigawa
+Renowned Weaver
+Rix Maadi Guildmage
+Rix Maadi Reveler
+Seasoned Pyromancer
+Shaman of Forgotten Ways
+Sisters of the Flame
+Skarrg Guildmage
+Skinshifter
+Skirsdag Cultist
+Smoke Teller
+Stoneshaker Shaman
+Stonewright
+Stormcaller of Keranos
+Storm Herald
+Subira, Tulzidi Caravanner
+Tasigur, the Golden Fang
+Temur War Shaman
+Thermo-Alchemist
+Tilonalli's Skinshifter
+Tilonalli's Summoner
+Timeless Witness
+Trusted Forcemage
+Ulvenwald Tracker
+Valakut Invoker
+Valduk, Keeper of the Flame
+Vithian Renegades
+Vithian Stinger
+Vulshok Heartstoker
+Vulshok Sorcerer
+Wakedancer
+Weaver of Lightning
+Whisperer of the Wilds
+Wild Beastmaster
+Zaffai, Thunder Conductor
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_shaman_ally.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_shaman_ally.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c79675e2c89eca0dfea7e02767d3c85e8d504d55
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_shaman_ally.txt
@@ -0,0 +1,5 @@
+Zulaport Chainmage
+Akoum Flameseeker
+Agadeem Occultist
+Murasa Pyromancer
+Firemantle Mage
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_soldiers.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_soldiers.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f2375f1d0a1e308f5abd7d1b384037200d8d8e0d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_soldiers.txt
@@ -0,0 +1,356 @@
+Herald of Anafenza
+Nav Squad Commandos
+Shu Cavalry
+Shu Elite Infantry
+Shu Grain Caravan
+Brokers Veteran
+Snare Tactician
+Company Commander
+Kongming's Contraptions
+Lavabrink Venturer
+Law-Rune Enforcer
+Gideon's Avenger
+Gideon's Company
+Gideon's Lawkeeper
+Jungle Patrol
+Flanking Troops
+Caldaia Guardian
+Reborn Hero
+Blade Instructor
+Everdawn Champion
+Pikemen
+Kytheon's Irregulars
+Volunteer Militia
+Volunteer Reserves
+Lowland Tracker
+Loyal Sentry
+Whisper Squad
+Independent Troops
+Elite Inquisitor
+Elite Javelineer
+Elite Scaleguard
+Elite Skirmisher
+Elite Vanguard
+Elspeth's Devotee
+Field Marshal
+Spire Patrol
+Fallaji Chaindancer
+Fallaji Vanguard
+Thalia's Lieutenant
+Expendable Troops
+Tomakul Honor Guard
+Parish-Blade Trainee
+Park Heights Maverick
+Stoic Champion
+Infantry Veteran
+Honor Guard
+Guardians of Akrasa
+Moorland Inquisitor
+Cemetery Protector
+Azorius Arrester
+Mirage Phalanx
+Captain of the Watch
+Kill-Zone Acrobat
+Zhalfirin Decoy
+Shock Troops
+Ceremonial Guard
+Bastion Protector
+Battalion Foot Soldier
+Consul's Lieutenant
+Tithe Taker
+Tocatli Honor Guard
+Akrasan Squire
+Akroan Crusader
+Akroan Hoplite
+Akroan Jailer
+Akroan Phalanx
+Akroan Sergeant
+Akroan Skyguard
+Nightguard Patrol
+Border Guard
+Throne Warden
+Air Marshal
+Daru Cavalier
+Daru Lancer
+Daru Warchief
+Retrieval Agent
+Iroas's Champion
+Ironfist Crusher
+Bounty Agent
+Wingshield Agent
+Doomed Traveler
+Hero of Iroas
+Hero of the Dunes
+Hero of the Games
+Hero of the Winds
+Roc Hunter
+Savior of Ollenbock
+Keen Glidemaster
+Keen-Eared Sentry
+Keeper of the Accord
+Shu Soldier-Farmers
+Tenth District Guard
+Tenth District Legionnaire
+Tenth District Veteran
+Dromoka Captain
+Opportunist
+Wei Ambush Force
+Wei Elite Companions
+Shield Bearer
+Shield Mate
+Squad Captain
+Wojek Bodyguard
+Wojek Halberdiers
+Armament Corps
+Bushmeat Poacher
+Inspiring Commander
+Selfless Squire
+Dauntless Cathar
+Dauntless River Marshal
+Perimeter Captain
+Perimeter Patrol
+Perimeter Sergeant
+Conclave Equenaut
+Conclave Phalanx
+Thundersong Trumpeter
+Palace Guard
+Palace Jailer
+Palace Sentinels
+Veteran Swordsmith
+Pearlspear Courier
+Radiant's Dragoons
+Town Sentry
+Crowd Favorites
+Hanweir Garrison
+Deftblade Elite
+Cloudreach Cavalry
+Gempalm Avenger
+General's Enforcer
+Giltspire Avenger
+Gerrard's Irregulars
+Llanowar Cavalry
+Duelcraft Trainer
+Serra Zealot
+Servant of the Scale
+Wing Commando
+Fabled Hero
+Phalanx Leader
+Phalanx Vanguard
+Oracle's Attendants
+Desperate Sentry
+Stormfront Riders
+Eager Cadet
+Swiftblade Vindicator
+Icatian Infantry
+Icatian Javelineers
+Icatian Lieutenant
+Icatian Phalanx
+Icatian Skirmishers
+Foriysian Brigade
+Foriysian Interceptor
+Dapper Shieldmate
+Impetuous Sunchaser
+Ignoble Soldier
+Ikiral Outrider
+Slayer of the Wicked
+Guardian of New Benalia
+Guardian Shield-Bearer
+Skyspear Cavalry
+Abzan Falconer
+Liege of the Axe
+Lieutenants of the Guard
+Baneslayer Aspirant
+Bant Sojourners
+Bant Sureblade
+Ardent Militia
+Ardent Recruit
+Ardent Soldier
+Auriok Bladewarden
+Auriok Edgewright
+Auriok Glaivemaster
+Auriok Salvagers
+Battlefield Butcher
+Salt Road Quartermasters
+Garenbrig Squire
+Precinct Captain
+Trap Digger
+Trap Runner
+Seasoned Marshal
+Branded Brawlers
+Nightsquad Commando
+Cho-Arrim Legate
+Gustcloak Runner
+Gustcloak Sentinel
+Checkpoint Officer
+Flailing Soldier
+Crusader of Odric
+Valiant Guard
+Valiant Rescuer
+Resistance Squad
+Resolute Reinforcements
+Skyrider Trainee
+Alaborn Grenadier
+Alaborn Musketeer
+Alaborn Trooper
+Fairgrounds Patrol
+Falconer Adept
+Firefist Striker
+Fireflux Squad
+Search Party Captain
+Surging Sentinels
+Ritual Guardian
+Forerunner of the Empire
+Battlewise Hoplite
+Kjeldoran Guard
+Kjeldoran Home Guard
+Kjeldoran Javelineer
+Kjeldoran Outrider
+Kjeldoran Phalanx
+Kjeldoran Royal Guard
+Kjeldoran Skycaptain
+Resistance Fighter
+Vampire Slayer
+Aeronaut Cavalry
+Fault Riders
+Favored Hoplite
+Favored of Iroas
+Steelshaper Apprentice
+Stern Constable
+Stern Marshal
+Siege Striker
+Siege Veteran
+Bomber Corps
+Sungold Sentinel
+Sunhome Stalwart
+Eiganjo Free-Riders
+Elder Cathar
+Haazda Marshal
+Haazda Officer
+Haazda Shield Mate
+Haazda Snare Squad
+Staunch Defenders
+Steadfast Cathar
+Steadfast Sentry
+Votary of the Conclave
+Heavy Ballista
+Heavy Infantry
+Ambush Paratrooper
+Ampryn Tactician
+Midnight Duelist
+Midnight Guard
+Elgaud Shieldmate
+Elite Arrester
+Paliano Vanguard
+Aerial Caravan
+Boros Swiftblade
+Royal Trooper
+Intrepid Hero
+Stalwart Pathlighter
+Stalwart Shield-Bearers
+Standing Army
+Standing Troops
+Basilica Guards
+Gavony Dawnguard
+Gavony Ironwright
+Gavony Silversmith
+Gavony Trapper
+Paragon of New Dawns
+Paranoid Parish-Blade
+Benalish Commander
+Benalish Heralds
+Benalish Hero
+Benalish Infantry
+Benalish Trapper
+Benalish Veteran
+Wu Admiral
+Wu Elite Cavalry
+Wu Infantry
+Wu Light Cavalry
+Squire
+Soldier of the Pantheon
+Dawnbringer Charioteers
+Foot Soldiers
+Fiend Binder
+Zealots en-Dal
+Meng Huo's Horde
+Mentor of the Meek
+Keldon Arsonist
+Keldon Firebombers
+Conscripted Infantry
+Glory Seeker
+Thraben Inspector
+Thraben Standard Bearer
+Thraben Valiant
+Master Decoy
+Master of Arms
+Scalebane's Elite
+Scaleguard Sentinels
+Militia Bugler
+Militia Rallier
+Gravel Slinger
+Helionaut
+Weathered Bodyguards
+Enlistment Officer
+Adherent of Hope
+Boros Challenger
+Boros Elite
+Mine Bearer
+Recruiter of the Guard
+Recruitment Officer
+Red Cliffs Armada
+Catapult Master
+Catapult Squad
+Cathar Commando
+Sunlit Hoplite
+Sunspire Gatekeepers
+Sunstrike Legionnaire
+Daysquad Marshal
+Ravaging Horde
+Fencing Ace
+Sergeant-at-Arms
+Champion of the Parish
+Estwald Shieldbasher
+Reverent Hoplite
+Court Street Denizen
+Martyr for the Cause
+Warlord's Elite
+Whip Sergeant
+Veteran Armorer
+Veteran Armorsmith
+Veteran Brawlers
+Veteran Cathar
+Descendant of Kiyomaro
+Kjeldoran Elite Guard
+Kjeldoran Escort
+Renegade Troops
+Renegade Warlord
+Topan Freeblade
+Frontline Strategist
+Bloodcrazed Hoplite
+Makeshift Battalion
+Vernadi Shieldmate
+Relic Seeker
+Righteous Avengers
+Auriok Steelshaper
+Auriok Sunchaser
+Auriok Survivors
+God-Favored General
+Dream Fighter
+Wyrm's Crossing Patrol
+Fresh-Faced RecruitKazandu Blademaster
+Veteran Warleader
+Affa Protector
+Resolute Blademaster
+Hada Freeblade
+Weapons TrainerRanger en-VecMounted Archers
+Crossbow Infantry
+Longbow Archer
+Fire Bowman
+Elite Archers
+D'Avenant ArcherKeldon BerserkerHanweir Militia Captain // Westvale Cult LeaderThraben Sentry // Thraben MilitiaMourning Patrol // Morning ApparitionLoyal Cathar // Unhallowed CatharSilverflame Squire // On AlertAngelfire CrusaderBushi Tenderfoot // Kenzo the HardheartedFaithful Squire // Kaiso, Memory of LoyaltyRanger of Eos
+Ranger-Captain of Eos
+Firebrand RangerWhipcorderMountain BanditHonorable Scout
+Icatian Scout
+Advance Scout
+Veteran ExplorerSandstone WarriorBallista Watcher // Ballista Wielder
+Brutal Cathar // Moonrage BruteWizened Arbiter
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_spellshaper.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_spellshaper.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1ae96801b66c38338a0df52d9a01d9e0e26e4bfc
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_spellshaper.txt
@@ -0,0 +1,5 @@
+Mageta the Lion
+Latulla, Keldon Overseer
+Alexi, Zephyr Mage
+Jaya Ballard, Task Mage
+Jolrael, Empress of Beasts
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_warlock.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_warlock.txt
new file mode 100644
index 0000000000000000000000000000000000000000..922b850e5dae3f124666e6c21e6b90b716927343
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_warlock.txt
@@ -0,0 +1,9 @@
+Killian, Ink Duelist
+Tivash, Gloom Summoner
+Katilda, Dawnhart Prime
+Lynde, Cheerful Tormentor
+Baba Lysaga, Night Witch
+Fain, the Broker
+Saryth, the Viper's Fang
+Kaervek, the Spiteful
+Wyll, Blade of Frontiers
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_warrior.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_warrior.txt
new file mode 100644
index 0000000000000000000000000000000000000000..28d7e064440cf6840074278702e06c096b280575
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_warrior.txt
@@ -0,0 +1,182 @@
+Abzan Guide
+Abzan Kin-Guard
+Academy Raider
+Ahn-Crop Champion
+Akroan Line Breaker
+Alpine Houndmaster
+Arashin Foremost
+Archetype of AggressionHerald of Dromoka
+Ash Zealot
+Atarka Beastbreaker
+Avenging Huntbonder
+Backwoods Survivalists
+Ballroom Brawlers
+Banewhip Punisher
+Battershield Warrior
+Bear's Companion
+Beastbreaker of Bala Ged
+Beskir Shieldmate
+Blood-Chin Rager
+Bloodlust Inciter
+Bloodsoaked Champion
+Borderland Marauder
+Briarbridge Patrol
+Caldaia Strongarm
+Chakram Slinger
+Champion of Lambholt
+Champion of the Flame
+Chief of the Edge
+Chief of the Scale
+Cleaving Skyrider
+Combat Celebrant
+Crew Captain
+Cunning Survivor
+Dauntless Survivor
+Daybreak Combatants
+Den Protector
+Deputized Protester
+Devoted Crop-Mate
+Disciple of the Old Ways
+Dragon Hunter
+Dragonscale General
+Dromoka Warrior
+Dutiful Attendant
+Embraal Bruiser
+Embraal Gear-Smasher
+Enraged Revolutionary
+Enthralling Victor
+Erg Raiders
+Exemplar of Strength
+Expedition Champion
+Fearless Halberdier
+Flamerush Rider
+Fleshgrafter
+Forge Boss
+Frillscare Mentor
+Frontier Warmonger
+Frontline Rebel
+Gathan Raiders
+Geist Trappers
+Ghor-Clan Wrecker
+Glory-Bound Initiate
+Godo's Irregulars
+Golgari Thug
+Goma Fada Vanguard
+Gore-House Chainwalker
+Graveblade Marauder
+Grim Flayer
+Hamlet Captain
+Hamlet Vanguard
+Hand of Silumgar
+Hardy Veteran
+Harper Recruiter
+Harvesttide Sentry
+Heir of the Wilds
+Heronblade Elite
+Hero of Bretagard
+Hero of Leina Tower
+Hero of Precinct One
+Hidden Dragonslayer
+Honored Crop-Captain
+Horizon Seeker
+Hornbash Mentor
+Impetuous Protege
+Ironclad Slayer
+Kabira Outrider
+Kargan Dragonlord
+Kargan Dragonrider
+Kargan Intimidator
+Kargan Warleader
+Keldon Halberdier
+Keldon Marauders
+Keldon Overseer
+Keldon Raider
+Keldon Strike Team
+Keldon Warcaller
+Kessig Malcontents
+Kin-Tree Warden
+Kjeldoran Warrior
+Kolaghan Aspirant
+Kolaghan Skirmisher
+Kronch Wrangler
+Kruin Striker
+Labyrinth Champion
+Lightning Runner
+Lightwalker
+Mage-Ring Bully
+Manic Vandal
+Mardu Hateblade
+Mardu Hordechief
+Mardu Shadowspear
+Mardu Skullhunter
+Mardu Strike Leader
+Mardu Woe-Reaper
+Matca Rioters
+Maulfist Doorbuster
+Maulfist Revolutionary
+Melira's Keepers
+Menagerie Liberator
+Moriok Reaver
+Nef-Crop Entangler
+Night Clubber
+Oketra's Avenger
+Paired Tactician
+Paragon of Fierce Defiance
+Professional Face-Breaker
+Proud Mentor
+Proud Wildbonder
+Proven Combatant
+Radha's Firebrand
+Relentless Hunter
+Renegade Firebrand
+Renegade Rallier
+Resolute Survivors
+Rhet-Crop Spearmaster
+Rhonas's Stalwart
+Riot Ringleader
+Rip-Clan Crasher
+Riveteers Decoy
+Rubblebelt Raiders
+Rubble Slinger
+Sabertooth Outrider
+Sandsteppe Outcast
+Savvy Hunter
+Scorch Rider
+Seasoned Dungeoneer
+Seasoned Hallowblade
+Seeker of the Way
+Setessan Champion
+Setessan Skirmisher
+Setessan Starbreaker
+Sickle Dancer
+Sightless Brawler
+Sigiled Contender
+Sister Repentia
+Skarrgan Pit-Skulk
+Slate Street Ruffian
+Smelt-Ward Gatekeepers
+Snowhorn Rider
+Somberwald Vigilante
+Sonorous Howlbonder
+Soulblade Corrupter
+Species Specialist
+Splatter Thug
+Staunch-Hearted Warrior
+Steward of Solidarity
+Tenacious Underdog
+Timely Hordemate
+Titan Hunter
+Tormented Hero
+Triumph of Saint Katherine
+Trueheart Duelist
+Tuskguard Captain
+Unwavering Initiate
+Veteran Dungeoneer
+Voltaic Brawler
+Vulshok Battlemaster
+Vulshok Refugee
+War-Name Aspirant
+Wrecking Crew
+Zealous Conscripts
+Zephyrim
+Zulaport Enforcer
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_warrior_ally.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_warrior_ally.txt
new file mode 100644
index 0000000000000000000000000000000000000000..17df73e7edc813a08217ab07a8ed260a4b5ddd85
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_warrior_ally.txt
@@ -0,0 +1,5 @@
+Nimana Sell-Sword
+Bojuka Brigand
+Oran-Rief Survivalist
+Graypelt Hunter
+Reckless Cohort
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_wizard.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_wizard.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f35e649f2209965a1dcddca3e318f3c94ace0008
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_wizard.txt
@@ -0,0 +1,7 @@
+Etherium Spinner
+Puppet Conjurer
+Skill Borrower
+Vectis Dominator
+Windwright Mage
+Architects of Will
+Esper Battlemage
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_wizards.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_wizards.txt
new file mode 100644
index 0000000000000000000000000000000000000000..65fdfd14ae2fd5c9eca2971f15714f25361515ac
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/human/human_wizards.txt
@@ -0,0 +1,464 @@
+Protean Thaumaturge
+Youthful Scholar
+Radiant Performer
+Star Pupil
+Graceful Adept
+Riptide Biologist
+Riptide Chronologist
+Riptide Director
+Riptide Entrancer
+Snapcaster Mage
+Sorcerer of the Fang
+Sorceress Queen
+Lunar Mystic
+Sly Instigator
+Flux Channeler
+Dimir Guildmage
+Minamo Scrollkeeper
+Minamo Sightbender
+Irencrag Pyromancer
+Mundungu
+Senate Guildmage
+Rockslide Sorcerer
+Puppeteer
+Laboratory Maniac
+Vortex Runner
+Tolarian Emissary
+Tolarian Entrancer
+Tolarian Scholar
+Whispering Wizard
+Burning Prophet
+Elite Instructor
+Lighthouse Chronologist
+Tribute Mage
+Trinket Mage
+Ghosthelm Courier
+Harmonic Prodigy
+Necra Disciple
+Meddling Mage
+Onyx Mage
+Disruptive Pitmage
+Disruptive Student
+Prodigal Pyromancer
+Prodigal Sorcerer
+Azorius Aethermage
+Azorius Justiciar
+Patron Wizard
+Sinister Concierge
+Havengul Runebinder
+Bogbrew Witch
+Capricious Sorcerer
+Captain of the Mists
+Temporal Adept
+Shivan Emissary
+Planebound Accomplice
+Rummaging Wizard
+Arcane Artisan
+Arcane Savant
+Dreamstealer
+Drifter il-Dal
+Stonewise Fortifier
+Reflector Mage
+Duskmantle Guildmage
+Wingcrafter
+Wingspan Mentor
+Survivor of the Unseen
+Artful Looter
+Artisan of Forms
+Prophet of Kruphix
+Grim Haruspex
+Grim Lavamancer
+Mage il-Vec
+Keen Duelist
+Jubilant Skybonder
+Dromoka Dunecaster
+Terraformer
+Supreme Inquisitor
+Suq'Ata Firewalker
+Oracle en-Vec
+Novice Occultist
+Mystic Archaeologist
+Flesh Carver
+Fleshformer
+Exhibition Magician
+Wojek Embermage
+Armorer Guildmage
+Dark Confidant
+Pondering Mage
+Portal Mage
+Lord of the Unreal
+Lore Weaver
+Blightcaster
+Sea Gate Oracle
+Crafty Pathmage
+Magus of the Abyss
+Magus of the Arena
+Magus of the Balance
+Magus of the Bazaar
+Magus of the Bridge
+Magus of the Candelabra
+Magus of the Coffers
+Magus of the Disk
+Magus of the Future
+Magus of the Jar
+Magus of the Library
+Magus of the Mind
+Magus of the Mirror
+Magus of the Moat
+Magus of the Moon
+Magus of the Order
+Magus of the Scroll
+Magus of the Tabernacle
+Magus of the Unseen
+Soul-Scar Mage
+Teferi's Protege
+Omenspeaker
+Omnispell Adept
+Legion Guildmage
+Thunderscape Battlemage
+Thunderscape Master
+Pain Seer
+Incursion Specialist
+Disciple of Bolas
+Disciple of Caelus Nin
+Disciple of Kangee
+Disciple of the Ring
+Bog Initiate
+Balshan Beguiler
+Raffine's Informant
+Rage Weaver
+Heartfire Immolator
+Brushstroke Paintermage
+Ana Battlemage
+Ana Disciple
+Anarchist
+Imagecrafter
+Scornful Egotist
+Krovikan Elementalist
+Krovikan Sorcerer
+Hapless Researcher
+Dega Disciple
+Scholar of the Ages
+Sadistic Augermage
+Sage of Epityr
+Sage of Hours
+Sage of Mysteries
+Shadowmage Infiltrator
+Gempalm Sorcerer
+Venerated Teacher
+Murmuring Mystic
+Musician
+Dualcaster Mage
+Beguiler of Wills
+Windrider Wizard
+Neurok Invisimancer
+Neurok Prodigy
+Neurok Transmuter
+New Prahv Guildmage
+Liliana's Scrounger
+Facet Reader
+Sandcrafter Mage
+Stormchaser Mage
+Stormscape Apprentice
+Stormscape Master
+Revolutionist
+Eager First-Year
+Pit Keeper
+Biomathematician
+Biovisionary
+Blood Cultist
+Skaab Wrangler
+Cunning Geysermage
+Cunning Lethemancer
+Cuombajj Witches
+Ruthless Technomancer
+Azure Mage
+Daring Apprentice
+Imperious Mindbreaker
+Umbra Mystic
+Skyward Eye Prophets
+Bant Battlemage
+Brine Seer
+Sparkmage Apprentice
+Spawnbroker
+League Guildmage
+Pyromantic Pilgrim
+Silumgar Sorcerer
+Merchant of Secrets
+Mercurial Chemister
+Galvanic Alchemist
+Sighted-Caste Sorcerer
+Ardent Electromancer
+Auramancer
+Auratouched Mage
+Voidmage Apprentice
+Overwhelmed Apprentice
+Ovinomancer
+Soldevi Sage
+Aphetto Alchemist
+Aphetto Exterminator
+Aphetto Grifter
+Aphetto Runecaster
+Apprentice Sorcerer
+Apprentice Wizard
+Demon's Herald
+Sea Gate Stormcaller
+Death Cultist
+Drownyard Explorers
+Riptide Survivor
+Skirk Alarmist
+Nightshade Seer
+Rimewind Cryomancer
+Rimewind Taskmage
+Archivist
+Archmage Emeritus
+Exclusion Mage
+Gust Walker
+Gustrider Exuberant
+Nivix Guildmage
+Lat-Nam Adept
+Erratic Visionary
+Escape Artist
+Smogsteed Rider
+Lumengrid Sentinel
+Lumengrid Warden
+Alabaster Mage
+Alchemist's Apprentice
+Civic Guildmage
+Information Dealer
+Stern Mentor
+Stern Proctor
+Obsessive Astronomer
+Obsessive Stitcher
+Reckless Embermage
+Reckless Scholar
+Rakdos Augermage
+Firefist Adept
+Coastal Wizard
+Moniker Mage
+Thought Courier
+Thoughtpicker Witch
+Academy Elite
+Academy Journeymage
+Academy Loremaster
+Academy Researchers
+Battlefield Thaumaturge
+Bazaar Trademage
+Research Assistant
+Treasure Mage
+Sphinx's Disciple
+Aether Adept
+Aether Channeler
+Fatespinner
+Fathom Mage
+Voidmage Husher
+Voidmage Prodigy
+Voidwielder
+Grixis Battlemage
+Grixis Illusionist
+Sunhome Guildmage
+El-Hajjâj
+Dakmor Sorceress
+Micromancer
+Midnight Pathlighter
+Midvast Protector
+Elite Arcanist
+Elite Guardmage
+House Guildmage
+Zuran Enchanter
+Zuran Spellcaster
+Lost Auramancers
+Passwall Adept
+Pathmaker Initiate
+Fireslinger
+Firmament Sage
+Granger Guildmage
+Seeker of Insight
+Cinder Seer
+Orzhov Guildmage
+Paragon of Gathering Mists
+Benalish Emissary
+Ghitu Amplifier
+Ghitu Chronicler
+Ghitu Journeymage
+Ghitu Lavarunner
+Jasmine Seer
+Thornscape Apprentice
+Thornscape Master
+Caligo Skin-Witch
+Thundering Sparkmage
+Thunderscape Apprentice
+Telepathic Spies
+Drannith Magistrate
+Drannith Stinger
+Keeper of the Beasts
+Keeper of the Cadence
+Keeper of the Dead
+Keeper of the Flame
+Keeper of the Light
+Keeper of the Mind
+Triskaidekaphile
+Thraben Heretic
+Might Weaver
+Symmetry Sage
+Scrivener
+Dismissive Pyromancer
+Wizard Mentor
+Wizards of Thay
+Echo Mage
+Echo Tracer
+Boneclad Necromancer
+Master of the Veil
+Willbender
+Willbreaker
+Clever Lumimancer
+Exultant Cultist
+Boros Guildmage
+Dragon's Eye Savants
+Balduvian Conjurer
+Balduvian Frostwaker
+Shaper Guildmage
+Mindreaver
+Meletis Astronomer
+Meletis Charlatan
+Cathartic Adept
+Shadow Guildmage
+Sunscape Apprentice
+Sunscape Battlemage
+Sunscape Master
+Sunscourge Champion
+Trophy Mage
+Sylvan Safekeeper
+Raven Guild Initiate
+Fervent Paincaster
+Watcher for Tomorrow
+Separatist Voidmage
+Serendib Sorcerer
+Manic Scribe
+Manifestation Sage
+Courtly Provocateur
+Covert Operative
+Martyr of Bones
+Martyr of Frost
+Blinding Mage
+Timebender
+Warden of the Beyond
+Quandrix Apprentice
+Deputy of Acquittals
+Deranged Assistant
+Descendant of Soramaro
+Archaeomancer
+Archaeomender
+Fugitive Wizard
+Frontline Sage
+Magus of the Vineyard
+Magus of the Wheel
+Magus of the Will
+Spellseeker
+Spellweaver Duo
+Magmatic Channeler
+Verduran Emissary
+Izzet Chronarch
+Izzet Guildmage
+Izzet Staticaster
+Hisoka's Guard
+Historian of Zhalfir
+Spirit Weaver
+Ashiok's Adept
+Ashiok's Forerunner
+Vizkopa Guildmage
+Urborg Emissary
+Auriok Windwalker
+God-Pharaoh's Faithful
+Xathrid NecromancerGorion, Wise Mentor
+Rionya, Fire Dancer
+Braids, Conjurer Adept
+Eutropia the Twice-Favored
+Princess Lucrezia
+Kydele, Chosen of Kruphix
+Teferi, Mage of Zhalfir
+Venser, Shaper Savant
+Jadar, Ghoulcaller of Nephalia
+Nebuchadnezzar
+Triad of Fates
+Stitcher Geralf
+Geralf, Visionary Stitcher
+Circu, Dimir Lobotomist
+Azami, Lady of Scrolls
+Zimone, Quandrix Prodigy
+Marchesa, the Black Rose
+Linessa, Zephyr Mage
+Hakim, Loreweaver
+Haldan, Avid Arcanist
+Naban, Dean of Iteration
+Donal, Herald of Wings
+Maga, Traitor to Mortals
+Kaza, Roil Chaser
+Sevinne, the Chronoclasm
+Tibor and Lumia
+Vhal, Candlekeep Researcher
+Raff Capashen, Ship's Mage
+Raff, Weatherlight Stalwart
+Inalla, Archmage Ritualist
+Naru Meha, Master Wizard
+Kess, Dissident Mage
+Vela the Night-Clad
+Gisa and Geralf
+Gisa, Glorious Resurrector
+The Raven Man
+Jhoira of the Ghitu
+Jodah, Archmage Eternal
+Jodah, the Unifier
+Lim-Dûl the Necromancer
+Inga Rune-Eyes
+Deekah, Fractal Theorist
+Dynaheir, Invoker Adept
+Ith, High Arcanist
+Ixidor, Reality Sculptor
+Lier, Disciple of the Drowned
+Baral, Chief of Compliance
+Volo, Guide to Monsters
+Volo, Itinerant Scholar
+Jalira, Master Polymorphist
+Riku of Two Reflections
+Mangara of Corondor
+Isareth the Awakener
+Ertai, Wizard Adept
+Eruth, Tormented Prophet
+Vadrik, Astral Archmage
+Ludevic, Necro-Alchemist
+Rasputin Dreamweaver
+Rasputin, the Oneiromancer
+Endrek Sahr, Master Breeder
+Barrin, Master Wizard
+Barrin, Tolarian Archmage
+Stenn, Paranoid Partisan
+Eleven, the Mage
+Zur the Enchanter
+Zur, Eternal Schemer
+Gadwick, the Wizened
+Gale, Waterdeep Prodigy
+Grandmother Sengir
+Sefris of the Hidden Ways
+Cecily, Haunted Mage
+Ghen, Arcanum Weaver
+Cabal Patriarch
+Tuknir Deathlock
+Heidar, Rimewind Master
+Adeliz, the Cinder Wind
+Taigam, Sidisi's Hand
+Garth One-Eye
+Hama Pashar, Ruin Seeker
+Rayne, Academy Chancellor
+Blind Seer
+Oskar, Rubbish Reclaimer
+Kaho, Minamo Historian
+Ghoulcaller Gisa
+Mairsil, the Pretender
+Rona, Sheoldred's Faithful
+Hisoka, Minamo Sensei
+Rielle, the EverwiseHalimar Excavator
+Halimar Tidecaller
+Spawnbinder MagePoppet Stitcher
+Warped Researcher
+Cytoplast Manipulator
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/hydra.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/hydra.txt
new file mode 100644
index 0000000000000000000000000000000000000000..68aa3c7da0e8af43b4551c16ed697653ed01d8ff
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/hydra.txt
@@ -0,0 +1,32 @@
+Protean Hydra
+Bristling Hydra
+Ulvenwald Hydra
+Multi-Headed
+Molten Hydra
+Hungering Hydra
+Primordial Hydra
+Voracious Hydra
+Balduvian Hydra
+Spitting Hydra
+Ironscale Hydra
+Rock Hydra
+Savageborn Hydra
+Vastwood Hydra
+Scourge of Skola Vale
+Neverwinter Hydra
+Oran-Rief Hydra
+Hydra Broodmaster
+Hydra Omnivore
+Kalonian Hydra
+Mistcutter Hydra
+Ancient Hydra
+Heroes' Bane
+Apocalypse Hydra
+Managorger Hydra
+Nessian Wilds Ravager
+Wildwood Scourge
+Khalni Hydra
+Wren's Run Hydra
+Lifeblood Hydra
+Domesticated Hydra
+Stumpsquall Hydra
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/hyena.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/hyena.txt
new file mode 100644
index 0000000000000000000000000000000000000000..aeabbf8fc357f7d5ff5f696b17bb978090834ca4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/hyena.txt
@@ -0,0 +1,4 @@
+Gibbering Hyenas
+Hyena Pack
+Laughing Hyena
+Trusty Companion
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/illusion.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/illusion.txt
new file mode 100644
index 0000000000000000000000000000000000000000..83ec08d4368e464ae7248b6f5707540491b58cca
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/illusion.txt
@@ -0,0 +1,3 @@
+Cromat
+Mistform Ultimus
+Toothy, Imaginary Friend
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/illusion_wall.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/illusion_wall.txt
new file mode 100644
index 0000000000000000000000000000000000000000..962bbff54daa1a00371d77336f75e14638fb7ed2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/illusion_wall.txt
@@ -0,0 +1,4 @@
+Illusionary Wall
+Mistform Wall
+Nivix Barrier
+Hover Barrier
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/imp.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/imp.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a7e9795b0af833a5e010d84d5836e25f7a0c1ac5
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/imp.txt
@@ -0,0 +1,29 @@
+Jumbo Imp
+Cackling Imp
+Cadaver Imp
+Pilfering Imp
+Fledgling Imp
+Fetid Imp
+Nefarious Imp
+Infernal Pet
+Norritt
+Maddening Imp
+Chaos Imps
+Teferi's Imp
+Bog Imp
+Carrion Imp
+Foul Imp
+Pit Imp
+Volcano Imp
+Demon's Jester
+Fire Imp
+Kitchen Imp
+Chimney Imp
+Stinkweed Imp
+Nettling Imp
+Reckless Imp
+Soot Imp
+Daggerclaw Imp
+Daggerdrome Imp
+Blistering Dieflyn
+Dusk Imp
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/incarnation.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/incarnation.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2a9a8c8e6ab7518d31f286eaf16e3b6e5f9a4046
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/incarnation.txt
@@ -0,0 +1,7 @@
+Anger
+Genesis
+Brawn
+Valor
+Filth
+Wonder
+Glory
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/jace.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/jace.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4e79cc4c4d7c1f16e14feada096dbdd299c08b54
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/jace.txt
@@ -0,0 +1,12 @@
+Space Beleren
+Jace Beleren
+Jace, Arcane Strategist
+Jace, Architect of Thought
+Jace, Cunning Castaway
+Jace, Ingenious Mind-Mage
+Jace, Memory Adept
+Jace, Mirror Mage
+Jace, the Living Guildpact
+Jace, the Mind Sculptor
+Jace, Unraveler of Secrets
+Jace, Wielder of Mysteries
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/jaya.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/jaya.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9b427f5d37a19212d1ddfe174ef1a47cfab11c25
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/jaya.txt
@@ -0,0 +1,3 @@
+Jaya Ballard
+Jaya, Fiery Negotiator
+Jaya, Venerated Firemage
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/juggernaut.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/juggernaut.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9ccec80582d9b135c02ca65acb9f6b80dbcc1552
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/juggernaut.txt
@@ -0,0 +1,17 @@
+Goblin War Wagon
+Juggernaut
+Mishra's Juggernaut
+Mishra's War Machine
+Darksteel Juggernaut
+Ramroller
+Terisian Mindbreaker
+Galvanic Juggernaut
+Energizer
+Arcbound Crusher
+Barricade Breaker
+Keldon Battlewagon
+Leveler
+Urza's Engine
+Extruder
+Otarian Juggernaut
+Auriok Siege Sled
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/karn.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/karn.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9b3caecfd1778c0b4b10c86866f5393b313cf252
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/karn.txt
@@ -0,0 +1,4 @@
+Karn Liberated
+Karn, Living Legacy
+Karn, Scion of Urza
+Karn, the Great Creator
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/kavu.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/kavu.txt
new file mode 100644
index 0000000000000000000000000000000000000000..58241706a8456c6465c7823b92a12f8a9275b5e3
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/kavu.txt
@@ -0,0 +1,44 @@
+Radiant Kavu
+Horned Kavu
+Pouncing Kavu
+Flametongue Kavu
+Flametongue Yearling
+Rogue Kavu
+Hooded Kavu
+Rooting Kavu
+Mire Kavu
+Pygmy Kavu
+Kavu Aggressor
+Kavu Chameleon
+Bloodfire Kavu
+Territorial Kavu
+Kavu Climber
+Kavu Glider
+Kavu Howler
+Kavu Mauler
+Kavu Monarch
+Kavu Predator
+Kavu Primarch
+Kavu Recluse
+Kavu Runner
+Kavu Titan
+Yavimaya Kavu
+Thunderscape Familiar
+Serpentine Kavu
+Ancient Kavu
+Alpha Kavu
+Flowstone Kavu
+Skittish Kavu
+Hunting Kavu
+Stone Kavu
+Vicious Kavu
+Amphibious Kavu
+Sparkcaster
+Raging Kavu
+Firemaw Kavu
+Firescreamer
+Untamed Kavu
+Caldera Kavu
+Slimy Kavu
+Tundra Kavu
+Penumbra Kavu
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/kaya.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/kaya.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5fa1bc82b617e733c0e1e7731bfc929fe0fbdf09
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/kaya.txt
@@ -0,0 +1,6 @@
+Kaya the Inexorable
+Kaya, Bane of the Dead
+Kaya, Geist Hunter
+Kaya, Ghost Assassin
+Kaya, Ghost Haunter
+Kaya, Orzhov Usurper
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/killbot.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/killbot.txt
new file mode 100644
index 0000000000000000000000000000000000000000..73ac58be6138e600e434fd67d483c0390d02c9cd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/killbot.txt
@@ -0,0 +1,4 @@
+Curious Killbot
+Delighted Killbot
+Enraged Killbot
+Despondent Killbot
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/kiora.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/kiora.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5fc41177b97608c243c0a7d96fc7728f7b6ef6f9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/kiora.txt
@@ -0,0 +1,3 @@
+Kiora, Behemoth Beckoner
+Kiora, Master of the Depths
+Kiora, the Crashing Wave
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/kirin.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/kirin.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d320588509338ab2b75db657fd0e5b8f9bba9729
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/kirin.txt
@@ -0,0 +1,4 @@
+Alabaster Kirin
+Misthoof Kirin
+Guardian Kirin
+Heavenly Qilin
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/kirin_spirit.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/kirin_spirit.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7bdd2af99e252195eb074e69d5c69595e8664ac7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/kirin_spirit.txt
@@ -0,0 +1,6 @@
+Infernal Kirin
+Skyfire Kirin
+Bounteous Kirin
+Cloudhoof Kirin
+Hinata, Dawn-Crowned
+Celestial Kirin
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/kithkin.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/kithkin.txt
new file mode 100644
index 0000000000000000000000000000000000000000..da833b88e55e22c579a0fd23ed0f85f5b537985e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/kithkin.txt
@@ -0,0 +1,45 @@
+Apothecary Initiate
+Augury Adept
+Ballynock Trapper
+Ballyrush Banneret
+Barrenton Medic
+Battletide Alchemist
+Burrenton Bombardier
+Burrenton Shield-Bearers
+Cenn's Heir
+Cenn's Tactician
+Figure of Destiny
+Galepowder Mage
+Goldmeadow Harrier
+Goldmeadow Stalwart
+Kinsbaile Balloonist
+Kinsbaile Borderguard
+Kinsbaile Cavalier
+Kinsbaile Courier
+Kinsbaile Skirmisher
+Kinscaer Harpoonist
+Kithkin Daggerdare
+Kithkin Greatheart
+Kithkin Harbinger
+Kithkin Healer
+Kithkin RabbleBurrenton Forge-Tender
+Kithkin Shielddare
+Kithkin Spellduster
+Kithkin ZealotSpringjack Knight
+Kithkin ZephyrnautAmrou Kithkin
+Knight of Meadowgrain
+Mistmeadow Witch
+Mosquito Guard
+Order of the Golden Cricket
+Order of Whiteclay
+Parapet Watchers
+Patrol Signaler
+Plover KnightsBallynock Cohort
+Preeminent Captain
+Resplendent Mentor
+Somnomancer
+Springjack Shepherd
+Thistledown Liege
+Thoughtweft Trio
+Wizened Cenn
+Zealous Guardian
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/kobold_warrior.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/kobold_warrior.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1efb33041b3dd804c90d2d907530a97a04ee7422
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/kobold_warrior.txt
@@ -0,0 +1,3 @@
+Rosnakht, Heir of Rohgahh
+Rograkh, Son of Rohgahh
+Rohgahh, Kher Keep Overlord
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/kor.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/kor.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0c10a464037afc692a25452377ab44467376d692
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/kor.txt
@@ -0,0 +1,5 @@
+__creatures/mtg/kor/kor_soldier__
+__creatures/mtg/kor/kor_soldier_ally__
+__creatures/mtg/kor/kor_spirit__
+__creatures/mtg/kor/kor_warrior__
+__creatures/mtg/kor/kor_wizard__
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/kor/kor_soldier.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/kor/kor_soldier.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d2a55de5b0589791a967e7e423db4a1a4f0d07c8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/kor/kor_soldier.txt
@@ -0,0 +1,14 @@
+Kor Aeronaut
+Lancers en-Kor
+Cliffside Rescuer
+Armament Master
+Kitesail Apprentice
+Valiant Veteran
+Kor Duelist
+Kor Firewalker
+Kor Hookmaster
+Kor Outfitter
+Kor Skyfisher
+Silkenfist Fighter
+Silkenfist Order
+Shadow Glider
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/kor/kor_soldier_ally.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/kor/kor_soldier_ally.txt
new file mode 100644
index 0000000000000000000000000000000000000000..88153dfe845cf3804442e6632720c82a23718371
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/kor/kor_soldier_ally.txt
@@ -0,0 +1,5 @@
+Kor Bladewhirl
+Kor Entanglers
+Kor Scythemaster
+Kor Sky Climber
+Makindi Shieldmate
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/kor/kor_spirit.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/kor/kor_spirit.txt
new file mode 100644
index 0000000000000000000000000000000000000000..33e3ca1fa20314c78e8ffcbd79a260d2ae1a5146
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/kor/kor_spirit.txt
@@ -0,0 +1,4 @@
+Ghostly Sentinel
+Skyclave Apparition
+Spirit en-Kor
+Soulbound Guardians
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/kor/kor_warrior.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/kor/kor_warrior.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1b7a9f2b6164f17784b1220dac8b36e816ca89e0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/kor/kor_warrior.txt
@@ -0,0 +1,4 @@
+Kor Blademaster
+Cliffhaven Sell-Sword
+Squad Commander
+Sea Gate Banneret
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/kor/kor_wizard.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/kor/kor_wizard.txt
new file mode 100644
index 0000000000000000000000000000000000000000..53ae9a1e6584a6f19ca5982f6358c68bf0646c2b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/kor/kor_wizard.txt
@@ -0,0 +1,4 @@
+Farsight Adept
+Dawnglare Invoker
+Thunderous Orator
+Kor Spiritdancer
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/leech.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/leech.txt
new file mode 100644
index 0000000000000000000000000000000000000000..89fd66376cee484bbd2825459f06ea0ac7889c2f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/leech.txt
@@ -0,0 +1,11 @@
+Jade Leech
+Mana Leech
+Land Leeches
+Jorubai Murk Lurker
+Ruby Leech
+Sapphire Leech
+Andradite Leech
+Mana Skimmer
+Alabaster Leech
+Squelching Leeches
+Blitz Leech
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/leviathan.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/leviathan.txt
new file mode 100644
index 0000000000000000000000000000000000000000..765ad6f785b30236631a63368058a56bd2ef893c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/leviathan.txt
@@ -0,0 +1,15 @@
+Nimbus Swimmer
+Trench Gorger
+Simic Sky Swallower
+Sky Swallower
+Breaching Leviathan
+Grozoth
+Kederekt Leviathan
+Pearl Lake Ancient
+Aethersquall Ancient
+Stormtide Leviathan
+Kiora's Dambreaker
+Segovian Leviathan
+Jokulmorder
+Leviathan
+Archipelagore
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/lhurgoyf.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/lhurgoyf.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2a71d73a9c2cb564c1f284031519bec6e2a5dafb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/lhurgoyf.txt
@@ -0,0 +1,10 @@
+Tarmogoyf
+Terravore
+Magnivore
+Necrogoyf
+Cognivore
+Mortivore
+Lhurgoyf
+Cantivore
+Detritivore
+Urborg Lhurgoyf
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/licid.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/licid.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b910d4403badf70541ba903c0241a8d51a286a40
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/licid.txt
@@ -0,0 +1,11 @@
+Nurturing Licid
+Gliding Licid
+Leeching Licid
+Convulsing Licid
+Stinging Licid
+Quickening Licid
+Calming Licid
+Dominating Licid
+Enraging Licid
+Corrupting Licid
+Tempting Licid
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/liliana.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/liliana.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e0696a0437b2e61b1d55d7a4af1f1151c4be831e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/liliana.txt
@@ -0,0 +1,12 @@
+Professor Onyx
+Liliana of the Dark Realms
+Liliana of the Veil
+Liliana Vess
+Liliana, Death Mage
+Liliana, Death Wielder
+Liliana, Death's Majesty
+Liliana, Dreadhorde General
+Liliana, the Last Hope
+Liliana, the Necromancer
+Liliana, Untouched by Death
+Liliana, Waker of the Dead
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/manticore.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/manticore.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4b959ce261b033953ad23ce07b931e28821d51b1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/manticore.txt
@@ -0,0 +1,6 @@
+Crimson Manticore
+Flailing Manticore
+Heart-Piercer Manticore
+Conquering Manticore
+Manticore
+Manticore of the Gauntlet
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/masticore.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/masticore.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ad4c7d2aff24f626012f3a29f3669804a2712d1f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/masticore.txt
@@ -0,0 +1,5 @@
+Molten-Tail Masticore
+Sparkhunter Masticore
+Razormane Masticore
+Lesser Masticore
+Masticore
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/merfolk.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/merfolk.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3fb720b9e86d064795c38a49097756e3a3ed4d7a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/merfolk.txt
@@ -0,0 +1,4 @@
+__creatures/mtg/merfolk/merfolk_general__
+__creatures/mtg/merfolk/merfolk_rogue__
+__creatures/mtg/merfolk/merfolk_shaman__
+__creatures/mtg/merfolk/merfolk_wizard__
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/merfolk/merfolk_general.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/merfolk/merfolk_general.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e256ae4ecbf8e7b52a84e60bf26472f529721ca5
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/merfolk/merfolk_general.txt
@@ -0,0 +1,199 @@
+Triton Cavalry
+True-Name Nemesis
+Umara Mystic
+Windrider Patrol
+Combine Guildmage
+Reef Shaman
+Brineborn CutthroatUmara EntanglerRiptide Pilferer
+Stonybrook Schoolmaster
+Seafloor Stalker
+Shipwreck Dowser
+Harbinger of the Tides
+Coral Commando
+Nyxborn Triton
+Deeptread Merrow
+Shaper Apprentice
+Tazeem Roilmage
+Merfolk Spy
+Cold-Eyed Selkie
+Coral Fighters
+Saltwater Stalwart
+Sworn GuardianSea Gate Loremaster
+Frostwind Invoker
+Inkfathom Witch
+Wanderbrine Rootcutters
+Master of the Pearl Trident
+Triton Fortune Hunter
+Rootwater Commando
+River Sneak
+Volshe Tideturner
+Vodalian Illusionist
+Merfolk Observer
+Merfolk of the Pearl Trident
+Lullmage Mentor
+Jace's Sentinel
+Merrow Witsniper
+Merfolk Trickster
+Merfolk Falconer
+Tidal Warrior
+Benthic Explorers
+Gray Harbor Merfolk
+Mistcaller
+Razorfin Abolisher
+Vodalian Arcanist
+Gravelgill Axeshark
+Jungle Delver
+Merfolk Raiders
+Wistful Selkie
+Grimoire Thief
+Thieving Skydiver
+Giltgrove Stalker
+Storm Sculptor
+Seafloor Oracle
+Merfolk Thaumaturgist
+World Shaper
+Puresight Merrow
+Rootwater Diver
+Merfolk Skyscout
+Selkie Hedge-Mage
+Tidebinder Mage
+Vodalian SoldiersOvertaker
+Cleric of Chill DepthsQuandrix PledgemageRazorfin HunterGalina's Knight
+Merfolk Branchwalker
+Sea Scryer
+Deepchannel Mentor
+Triton Waverider
+Coral Merfolk
+Cursecatcher
+Triton Shorestalker
+Saprazzan Heir
+Expedition Diviner
+Tempest Caller
+Wavecrash Triton
+Paperfin Rascal
+Jade Bearer
+Shapers of Nature
+Merfolk Wayfinder
+Cache Raiders
+Blockade Runner
+Merrow Levitator
+Scroll Thief
+Vineshaper Mystic
+Inkfathom Infiltrator
+Simic Fluxmage
+Shoreline Raider
+Surgespanner
+Forerunner of the Heralds
+Streambed AquitectsRootwater Shaman
+Seascape AerialistUmara Wizard // Umara SkyfallsBenthic BiomancerMerfolk Secretkeeper // Venture DeeperTorrent Sculptor // Flamethrower SonataRiverwise Augur
+Waterspout Weavers
+Wishful Merfolk
+Wind Strider
+Vodalian Hypnotist
+Skywatcher Adept
+Wilderness Hypnotist
+Saprazzan Legate
+Jolting Merfolk
+Ink Dissolver
+Merfolk Looter
+Enclave Cryptologist
+Silvergill Adept
+Wake Thrasher
+Caller of Gales
+Voda Sea ScavengerGravelgill DuoCoralhelm GuideJadelight RangerJungleborn Pioneer
+Rootwater Thief
+Maritime Guard
+Sage of the Falls
+Merfolk of the Depths
+Sage of Fables
+Hollowsage
+Wanderwine Prophets
+Stonybrook Angler
+Tishana's Wayfinder
+Svyelunite Priest
+Kumena's SpeakerSentinel of the Pearl Trident
+Vodalian Mage
+Coralhelm Commander
+Cosi's Trickster
+Coralhelm Chronicler
+Triton Shorethief
+Rootwater Hunter
+Rootwater Matriarch
+River Darter
+Drowner of Secrets
+Dakra Mystic
+Saprazzan Outrigger
+Deeproot Warrior
+Waterfront BouncerRiver Merfolk
+Rootwater Mystic
+Merrow Grimeblotter
+Waker of the Wilds
+Merfolk Mesmerist
+Veteran of the Depths
+Soothsayer Adept
+Darting Merfolk
+Inkfathom Divers
+Sandbar Merfolk
+Vodalian MerchantHerald of Secret Streams
+Leech Bonder
+Harpoon SniperMerfolk AssassinWellgabber Apothecary
+Vodalian KnightsMerfolk SkydiverMerfolk SovereignBioluminaryHullbreacher
+Merrow Bonegnawer
+Merrow Wavebreakers
+Sigil Tracer
+Silvergill Douser
+Augur of Bolas
+Cascade Seer
+Salvager of Secrets
+Raving Visionary
+Whirlpool Rider
+Merrow Reejerey
+Master of Waves
+Fallowsage
+Saprazzan Raider
+Vodalian Mindsinger
+Crackling Triton
+Vodalian Hexcatcher
+Merfolk Windrobber
+Merfolk Mistbinder
+Lord of Atlantis
+Seasinger
+Kiora's Follower
+Arctic Merfolk
+Merrow Harbinger
+Prismwake Merrow
+Mist-Cloaked Herald
+Moonlit Scavengers
+Whirlpool Warrior
+Ceta Disciple
+Coral Trickster
+Halimar Wavewatch
+Headwater Sentries
+Merfolk Seer
+Teferi's Wavecaster
+Library Larcenist
+Deeproot Champion
+Thassa's Oracle
+Judge of Currents
+Enclave Elite
+Manta Riders
+Tidal Visionary
+Deepwater Hypnotist
+Tide Shaper
+Jadecraft Artisan
+Saprazzan Bailiff
+Sejiri Merfolk
+Merfolk Traders
+Tidal Courier
+Watertrap Weaver
+Vodalian MysticVodalian Zombie
+Drowner Initiate
+Sure-Footed Infiltrator
+Towering-Wave Mystic
+Stonybrook Banneret
+Jade Guardian
+Tideshaper Mystic
+Rishadan Dockhand
+Swift Warden
+Deeproot Elite
+Merfolk Seastalkers
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/merfolk/merfolk_rogue.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/merfolk/merfolk_rogue.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8872e538537064479f156ff522b4ed75bb185b0b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/merfolk/merfolk_rogue.txt
@@ -0,0 +1,3 @@
+Thada Adel, Acquisitor
+Zareth San, the Trickster
+Sygg, River Cutthroat
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/merfolk/merfolk_shaman.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/merfolk/merfolk_shaman.txt
new file mode 100644
index 0000000000000000000000000000000000000000..614e804a575574f3b2f1ebe3f3253829844377bb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/merfolk/merfolk_shaman.txt
@@ -0,0 +1,3 @@
+Tishana, Voice of Thunder
+Tuvasa the Sunlit
+Kumena, Tyrant of Orazca
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/merfolk/merfolk_wizard.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/merfolk/merfolk_wizard.txt
new file mode 100644
index 0000000000000000000000000000000000000000..69d42deaea686f0a9d2b7e59e352421b350c32c4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/merfolk/merfolk_wizard.txt
@@ -0,0 +1,11 @@
+Kopala, Warden of Waves
+Prime Speaker Zegana
+Ambassador Laquatus
+Araumi of the Dead Tide
+Jori En, Ruin Diver
+Talrand, Sky Summoner
+Zegana, Utopian Speaker
+Adrix and Nev, Twincasters
+Thrasios, Triton Hero
+Emry, Lurker of the Loch
+Sygg, River Guide
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/metathran.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/metathran.txt
new file mode 100644
index 0000000000000000000000000000000000000000..395d2d3ba598fee441ae43d17498e122bd740a94
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/metathran.txt
@@ -0,0 +1,3 @@
+Living Airship
+Metathran Aerostat
+Metathran Transport
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/minotaur.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/minotaur.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9681f9e8bc69e62b1c6b823097e20870ba02a5fb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/minotaur.txt
@@ -0,0 +1,19 @@
+Barging Sergeant
+Boros BattleshaperSethron, Hurloon General
+Boros Reckoner
+Coalition Warbrute
+Deathbellow Raider
+Minotaur Aggressor
+Minotaur Illusionist
+Minotaur Skullcleaver
+Moraug, Fury of Akoum
+Neheb, the Worthy
+Ordruun Commando
+Ordruun Veteran
+Rage-Scarred Berserker
+Raging MinotaurBlaze Commando
+Raka Disciple
+Spinehorn Minotaur
+Tahngarth, First Mate
+Tahngarth, Talruum HeroBurning-Fist Minotaur
+Talruum Minotaur
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/misc.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/misc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/mongoose.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/mongoose.txt
new file mode 100644
index 0000000000000000000000000000000000000000..66a87632294858749b8c65d6c35dcfdba3e8bcac
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/mongoose.txt
@@ -0,0 +1,3 @@
+Nimble Mongoose
+Blurred Mongoose
+Karoo Meerkat
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/monkey.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/monkey.txt
new file mode 100644
index 0000000000000000000000000000000000000000..55ef088742b558aa91bcf705cc6e6c7275fb06d3
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/monkey.txt
@@ -0,0 +1,7 @@
+Monkey Monkey Monkey
+Monkey-
+Tainted Monkey
+Tree Monkey
+Zodiac Monkey
+Prickly Marmoset
+Ravenous Baboons
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/naga.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/naga.txt
new file mode 100644
index 0000000000000000000000000000000000000000..198c6d6d3c958a58da551a62b5404e475dd31f4c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/naga.txt
@@ -0,0 +1,3 @@
+__creatures/mtg/naga/naga_cleric__
+__creatures/mtg/naga/naga_shaman__
+__creatures/mtg/naga/naga_warrior__
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/naga/naga_cleric.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/naga/naga_cleric.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ca780f8ae67ea22c93089191e1d72002950c15d0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/naga/naga_cleric.txt
@@ -0,0 +1,5 @@
+Naga Oracle
+Ramunap Excavator
+Dune Diviner
+Seer of the Last Tomorrow
+Vizier of the Menagerie
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/naga/naga_shaman.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/naga/naga_shaman.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8ed4ebd22ad45977d5cb247ddf75211683b50204
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/naga/naga_shaman.txt
@@ -0,0 +1,3 @@
+Sultai Flayer
+Sultai Skullkeeper
+Sultai Soothsayer
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/naga/naga_warrior.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/naga/naga_warrior.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4a4333b319ee7319d7cd5a0bb985bd344aba317f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/naga/naga_warrior.txt
@@ -0,0 +1,5 @@
+Hooded Brawler
+Sidewinder Naga
+Sinuous Striker
+Harrier Naga
+Tah-Crop Skirmisher
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/nahiri.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/nahiri.txt
new file mode 100644
index 0000000000000000000000000000000000000000..249dba56fd132af0976cf855e9a0d27ec127fee8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/nahiri.txt
@@ -0,0 +1,4 @@
+Nahiri, Heir of the Ancients
+Nahiri, Storm of Stone
+Nahiri, the Harbinger
+Nahiri, the Lithomancer
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/narset.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/narset.txt
new file mode 100644
index 0000000000000000000000000000000000000000..bd0ae21c439580d10321a81a7001599144afba34
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/narset.txt
@@ -0,0 +1,3 @@
+Narset of the Ancient Way
+Narset Transcendent
+Narset, Parter of Veils
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/necron.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/necron.txt
new file mode 100644
index 0000000000000000000000000000000000000000..cdb14e4c8fb5883a660a94d0dcd21c3bb0ea11a1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/necron.txt
@@ -0,0 +1,4 @@
+Anrakyr the Traveller
+Illuminor Szeras
+Trazyn the Infinite
+Szarekh, the Silent King
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/necron_wizard.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/necron_wizard.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3d90e9aeef979849c650cc1fb2f7ef2a3ec5fecd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/necron_wizard.txt
@@ -0,0 +1,5 @@
+Chronomancer
+Technomancer
+Plasmancer
+Psychomancer
+Cryptek
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/nephilim.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/nephilim.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f62f477787a09185b9ca004215042243d7e6405b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/nephilim.txt
@@ -0,0 +1,5 @@
+Glint-Eye Nephilim
+Yore-Tiller Nephilim
+Dune-Brood Nephilim
+Ink-Treader Nephilim
+Witch-Maw Nephilim
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/nightmare.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/nightmare.txt
new file mode 100644
index 0000000000000000000000000000000000000000..378220a581789b8dfc92179e6ba4f265e0093c54
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/nightmare.txt
@@ -0,0 +1,11 @@
+Hunted Nightmare
+Grimdancer
+Chittering Harvester
+Mindleecher
+Dread Presence
+Cavern Whisperer
+Insatiable Hemophage
+Fiend Artisan
+Devourer of Memory
+Vitality Hunter
+Ashiok's Skulker
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/nightmare_horror.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/nightmare_horror.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0de8dc79dbc5aead54250e05e3f7ea45e9660965
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/nightmare_horror.txt
@@ -0,0 +1,10 @@
+Slithery Stalker
+Psychic Symbiont
+Faceless Butcher
+Faceless Devourer
+Hypnox
+Void Beckoner
+Mesmeric Fiend
+Laquatus's Champion
+Soul Scourge
+Gravegouger
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/nightmare_horse.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/nightmare_horse.txt
new file mode 100644
index 0000000000000000000000000000000000000000..880f1075ea208e5a05708874c5e9096bb6f560da
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/nightmare_horse.txt
@@ -0,0 +1,5 @@
+Nightmare
+Underworld Charger
+Plague Mare
+Carnival Hellsteed
+Stallion of Ashmouth
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/nightstalker.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/nightstalker.txt
new file mode 100644
index 0000000000000000000000000000000000000000..386b869411cd35fd8a541c4e48ac78846a422517
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/nightstalker.txt
@@ -0,0 +1,11 @@
+Prowling Nightstalker
+Breathstealer
+Brutal Nightstalker
+Lurking Nightstalker
+Abyssal Nightstalker
+Predatory Nightstalker
+Nightstalker Engine
+Raiding Nightstalker
+Shimian Night Stalker
+Fen Stalker
+Feral Shadow
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/nissa.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/nissa.txt
new file mode 100644
index 0000000000000000000000000000000000000000..835e6d73128356ae6f8a4785eedc78bf3f60abf3
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/nissa.txt
@@ -0,0 +1,9 @@
+Nissa of Shadowed Boughs
+Nissa Revane
+Nissa, Genesis Mage
+Nissa, Nature's Artisan
+Nissa, Steward of Elements
+Nissa, Vital Force
+Nissa, Voice of Zendikar
+Nissa, Who Shakes the World
+Nissa, Worldwaker
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/nixilis.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/nixilis.txt
new file mode 100644
index 0000000000000000000000000000000000000000..fc49f24b1bb9f86a56ec223b6dea7e7b8c713687
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/nixilis.txt
@@ -0,0 +1,4 @@
+Ob Nixilis of the Black Oath
+Ob Nixilis Reignited
+Ob Nixilis, the Adversary
+Ob Nixilis, the Hate-Twisted
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/noggle_rogue.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/noggle_rogue.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9173ef512e4474e738d240baa52395aaea600c59
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/noggle_rogue.txt
@@ -0,0 +1,3 @@
+Noggle Bandit
+Noggle Bridgebreaker
+Noggle Ransacker
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/nymph_dryad.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/nymph_dryad.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a3ddb3c6094c7d9a1d3d1e2922d2ff05a33e40c0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/nymph_dryad.txt
@@ -0,0 +1,3 @@
+Dryad of the Ilysian Grove
+Leafcrown Dryad
+Oakheart Dryads
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/octopus.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/octopus.txt
new file mode 100644
index 0000000000000000000000000000000000000000..780fb3143ad327b51583cb7ec121e35b2b75eb9a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/octopus.txt
@@ -0,0 +1,6 @@
+Octoprophet
+Sea-Dasher Octopus
+Mesmerizing Benthid
+Sealock Monster
+Giant Octopus
+Godhunter Octopus
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/ogre.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/ogre.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d631007b7fd8086dc432ad7587d3bcb120f085e9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/ogre.txt
@@ -0,0 +1,5 @@
+__creatures/mtg/ogre/ogre_berserker__
+__creatures/mtg/ogre/ogre_general__
+__creatures/mtg/ogre/ogre_mutant__
+__creatures/mtg/ogre/ogre_rogue__
+__creatures/mtg/ogre/ogre_warrior__
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/ogre/ogre_berserker.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/ogre/ogre_berserker.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5ea66cca854c5bd7ad5f563312067b17872fdaa3
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/ogre/ogre_berserker.txt
@@ -0,0 +1,4 @@
+Rubblebelt Recluse
+Sprinting Warbrute
+Ogre Berserker
+Ogre Siegebreaker
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/ogre/ogre_general.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/ogre/ogre_general.txt
new file mode 100644
index 0000000000000000000000000000000000000000..58f1a1a68bc55d18057ac41fef9109851b10962b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/ogre/ogre_general.txt
@@ -0,0 +1,22 @@
+Henchfiend of Ukor
+Skullknocker Ogre
+Sawtooth Ogre
+Drooling Ogre
+Hulking Ogre
+Gray Ogre
+Rustmouth Ogre
+Ogre Taskmaster
+Flailing Ogre
+Reckless Ogre
+Frenetic Ogre
+Ghazbán Ogre
+Ghazbán Ogress
+Menacing Ogre
+Krark-Clan Ogre
+Ogre Arsonist
+Ogre Enforcer
+Ogre Leadfoot
+Ogre Painbringer
+Ogre Resister
+Hasran Ogress
+Hoarding Ogre
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/ogre/ogre_mutant.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/ogre/ogre_mutant.txt
new file mode 100644
index 0000000000000000000000000000000000000000..693176feb33649e6d17084349f161bbf86ecd664
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/ogre/ogre_mutant.txt
@@ -0,0 +1,3 @@
+Singe-Mind Ogre
+Incurable Ogre
+Fire-Field Ogre
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/ogre/ogre_rogue.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/ogre/ogre_rogue.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6a5b82da06c66c7da0661aab773592836c9c72fc
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/ogre/ogre_rogue.txt
@@ -0,0 +1,7 @@
+Crooked Custodian
+Body Launderer
+Ratcatcher
+Mausoleum Turnkey
+Ogre Gatecrasher
+Ogre Jailbreaker
+Ogre Slumlord
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/ogre/ogre_warrior.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/ogre/ogre_warrior.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9b6878b61a5ea7eedcde36d6d2376f2671628145
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/ogre/ogre_warrior.txt
@@ -0,0 +1,40 @@
+Undercity Scavenger
+Reckless Brute
+Rose Room Treasurer
+Bellowing Mauler
+Indentured Oaf
+Defiant Ogre
+Wrecking Ogre
+Bolrac-Clan Crusher
+Mardu Blazebringer
+Kazuul's Toll Collector
+Villainous Ogre
+Onakke Ogre
+Pugnacious Pugilist
+Shakedown Heavy
+Skull Collector
+Girder Goons
+Shinka Gatekeeper
+Savage Knuckleblade
+Blood Ogre
+Slaughterhouse Bouncer
+Atarka Pummeler
+Qal Sisma Behemoth
+Gruul Spellbreaker
+Sokenzan Bruiser
+Ogre Warrior
+Jagged Poppet
+Brawl-Bash Ogre
+Hellhole Flailer
+Barrage Ogre
+Poisonbelly Ogre
+Deathcurse Ogre
+Turret Ogre
+Ogre Battledriver
+Ogre Geargrabber
+Ogre Marauder
+Ogre Recluse
+Ogre Sentry
+Rakdos Roustabout
+Raving Oni-Slave
+Frost Ogre
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/orc.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/orc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..35753448bab5b9150bc66eb43a55a8dcd422403f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/orc.txt
@@ -0,0 +1,6 @@
+__creatures/mtg/orc/orc_berserker__
+__creatures/mtg/orc/orc_general__
+__creatures/mtg/orc/orc_rogue__
+__creatures/mtg/orc/orc_shaman__
+__creatures/mtg/orc/orc_warrior__
+__creatures/mtg/orc/orc_wizard__
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/orc/orc_berserker.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/orc/orc_berserker.txt
new file mode 100644
index 0000000000000000000000000000000000000000..692ff2ac73650bf44349fc7d0d354aedea992169
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/orc/orc_berserker.txt
@@ -0,0 +1,3 @@
+Pitiless Horde
+Warbringer
+Screamreach Brawler
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/orc/orc_general.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/orc/orc_general.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2d1690ed089ad0b42abdca687e7360ebec395c31
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/orc/orc_general.txt
@@ -0,0 +1,10 @@
+Ironclaw Orcs
+Brassclaw Orcs
+Orcish Conscripts
+Orcish Farmer
+Orcish Librarian
+Orcish Lumberjack
+Orcish Mechanics
+Orcish Settlers
+Orcish Squatters
+Orcish Veteran
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/orc/orc_rogue.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/orc/orc_rogue.txt
new file mode 100644
index 0000000000000000000000000000000000000000..36dd98d58f59cb332a6ae7ba1fedc90851dd3204
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/orc/orc_rogue.txt
@@ -0,0 +1,4 @@
+Guild Thief
+Tymora's Invoker
+Vaultbreaker
+Orcish Spy
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/orc/orc_shaman.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/orc/orc_shaman.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a44b78c9072e1e5a07ee6e91887d812297baa1c7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/orc/orc_shaman.txt
@@ -0,0 +1,6 @@
+Ire Shaman
+Shaman of the Great Hunt
+Mardu Warshrieker
+Ambuscade Shaman
+Wild-Magic Sorcerer
+Orcish Bloodpainter
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/orc/orc_warrior.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/orc/orc_warrior.txt
new file mode 100644
index 0000000000000000000000000000000000000000..586312c3d60be862f0dfc48071acfbbf3076579e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/orc/orc_warrior.txt
@@ -0,0 +1,21 @@
+Bellowing Saddlebrute
+Vengeful Warchief
+Mardu Roughrider
+Half-Orc, Half-
+Armory Veteran
+Brutal Hordechief
+Orc General
+Orcish Artillery
+Merciless Executioner
+Battle Brawler
+Gruesome Scourger
+Alesha's Vanguard
+Orcish Cannoneers
+Orcish Captain
+Orcish Hellraiser
+Orcish Vandal
+Thrasher Brute
+Krumar Bond-Kin
+Blood-Chin Fanatic
+Unyielding Krumar
+Frenzied Saddlebrute
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/orc/orc_wizard.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/orc/orc_wizard.txt
new file mode 100644
index 0000000000000000000000000000000000000000..57700641e0b2431ad91fe3f2a2a5f2943ecf6382
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/orc/orc_wizard.txt
@@ -0,0 +1,3 @@
+Feywild Caretaker
+Elemental Expressionist
+Prismari Pledgemage
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/orgg.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/orgg.txt
new file mode 100644
index 0000000000000000000000000000000000000000..41ee6b0a8f1e82845069df2e78cb690b0746a9c1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/orgg.txt
@@ -0,0 +1,3 @@
+Butcher Orgg
+Trained Orgg
+Orgg
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/ouphe.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/ouphe.txt
new file mode 100644
index 0000000000000000000000000000000000000000..15b715f84ebd2223ddcb11f6bce6b35f8a3e75c9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/ouphe.txt
@@ -0,0 +1,13 @@
+Bramblefort Fink
+Niall Silvain
+Glimmer Bairn
+Shelkin Brownie
+Pyknite
+Dusk Urchins
+Gilder Bairn
+Kitchen Finks
+Aerie Ouphes
+Collector Ouphe
+Fyndhorn Brownie
+Brown Ouphe
+Spellwild Ouphe
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/ox.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/ox.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a511951ece46d86f35c5fd10409b26887ad4ef21
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/ox.txt
@@ -0,0 +1,10 @@
+Pillarfield Ox
+Ironhoof Ox
+Yoked Ox
+Raging Bull
+Bartered Cow
+Inquisitor's Ox
+Earth-Origin Yak
+Ox of Agonas
+Makindi Ox
+Giant Ox
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/pegasus.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/pegasus.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0293f64e8338cd61d62d31190c84d487a6206517
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/pegasus.txt
@@ -0,0 +1,18 @@
+Starnheim Courser
+Loyal Pegasus
+Park Heights Pegasus
+Plated Pegasus
+Arborea Pegasus
+Tizerus Charger
+Armored Pegasus
+Concordia Pegasus
+Mistral Charger
+Stormfront Pegasus
+Cavalry Pegasus
+Mesa Pegasus
+Sungrace Pegasus
+Vryn Wingmare
+Pegasus Charger
+Pegasus Courser
+Boreas Charger
+Sunmane Pegasus
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/phoenix.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/phoenix.txt
new file mode 100644
index 0000000000000000000000000000000000000000..bd583c5c9316aa2f1813d785bf9f3e2837a392b4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/phoenix.txt
@@ -0,0 +1,29 @@
+Flamewake Phoenix
+Molten Firebird
+Lightning Phoenix
+Shivan Phoenix
+Skyfire Phoenix
+Akoum Firebird
+Retriever Phoenix
+Chandra's Phoenix
+Ashcloud Phoenix
+Bogardan Phoenix
+Phoenix Chick
+Phoenix of Ash
+Skarrgan Firebird
+Everquill Phoenix
+Arclight Phoenix
+Flame-Wreathed Phoenix
+Rekindling Phoenix
+Nemesis Phoenix
+Firestorm Phoenix
+Firewing Phoenix
+Warcry Phoenix
+Screeching Phoenix
+Sunstreak Phoenix
+Worldheart Phoenix
+Kuldotha Phoenix
+Spellpyre Phoenix
+Magma Phoenix
+Shard Phoenix
+Aurora Phoenix
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/phyrexian.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/phyrexian.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d12eb82cb1332f687d3a6c8e16fb1fe8534e662d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/phyrexian.txt
@@ -0,0 +1,68 @@
+Blightsteel Colossus
+Blind ZealotDefiler of Faith
+Caustic Hound
+Chancellor of the Tangle
+Cystbearer
+Darkslick Drake
+Disciples of Gix
+Dross HopperHex Parasite
+Eastern PaladinSpineless Thug
+Elesh Norn, Grand Cenobite
+Etched MonstrosityGallowbraid
+Furnace Scamp
+Gixian InfiltratorPhyrexian Swarmlord
+Gix, Yawgmoth Praetor
+Ichorclaw MyrVorinclex, Monstrous Raider
+Impaler Shrike
+Jin-Gitaxias, Core Augur
+Jin-Gitaxias, Progress Tyrant
+Kiln Walker
+Marauding Knight
+Master SplicerEvangel of Synthesis
+Maul Splicer
+Morinfen
+Mortis DogsSpire Monitor
+Myr Sire
+NecropedeSarcomite Myr
+Order of Yawgmoth
+Perilous Myr
+Pestilent Souleater
+Phyrexian Colossus
+Phyrexian Crusader
+Phyrexian Debaser
+Phyrexian Defiler
+Phyrexian DenouncerRackling
+Phyrexian Devourer
+Phyrexian DigesterGore Vassal
+Phyrexian Driver
+Phyrexian Hulk
+Phyrexian IngesterTine Shrike
+Phyrexian Marauder
+Phyrexian Missionary
+Phyrexian Prowler
+Phyrexian Vivisector
+Phyrexian Walker
+Pierce Strider
+Plague Engineer
+Plaguemaw Beast
+Plague Myr
+Plague Stinger
+Priest of Urabrask
+Priest of Yawgmoth
+Rotted Hystrix
+Sanguine Guard
+Serum Raker
+Sheoldred, the Apocalypse
+Sheoldred, Whispering One
+Shriek RaptorPhyrexian Plaguelord
+Spinebiter
+Spiteful Bully
+Trespassing Souleater
+Tsabo TavocBlade Splicer
+Urabrask, Heretic PraetorWestern Paladin
+Urabrask the Hidden
+Viral DrakePhyrexian Triniform
+Viseling
+Vital Splicer
+Vorinclex, Voice of Hunger
+Wing Splicer
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/plant.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/plant.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0b3ce4993d9a09c042a9f64e0f69d0bd7dcc695b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/plant.txt
@@ -0,0 +1,8 @@
+
+__creatures/mtg/plant/plant_dog__
+__creatures/mtg/plant/plant_elemental__
+__creatures/mtg/plant/plant_general__
+__creatures/mtg/plant/plant_hydra__
+__creatures/mtg/plant/plant_skeleton__
+__creatures/mtg/plant/plant_wall__
+__creatures/mtg/plant/plant_zombie__
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/plant/plant_dog.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/plant/plant_dog.txt
new file mode 100644
index 0000000000000000000000000000000000000000..01d3cfed6fe05a2b69d2ccfbc39385aca9aff751
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/plant/plant_dog.txt
@@ -0,0 +1,4 @@
+Greater Mossdog
+Bayou Groff
+Mossdog
+Thrashing Mossdog
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/plant/plant_elemental.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/plant/plant_elemental.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6806ab7f6956f9cdc5be15ee75984c0e5737295e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/plant/plant_elemental.txt
@@ -0,0 +1,7 @@
+Phytotitan
+Bloom Hulk
+Creeperhulk
+Living Totem
+Plant Elemental
+Murasa Sproutling
+Bloodbriar
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/plant/plant_general.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/plant/plant_general.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e5a980e34914565c998b3e02509ae98b8fac6cd5
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/plant/plant_general.txt
@@ -0,0 +1,13 @@
+Snapping Creeper
+Glinting Creeper
+Jaddi Offshoot
+Singing Tree
+Vinelasher Kudzu
+Ilysian Caryatid
+Tree of Perdition
+Tree of Redemption
+Grappling Sundew
+Grave Bramble
+Gatecreeper Vine
+Utopia Tree
+Sylvan Caryatid
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/plant/plant_hydra.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/plant/plant_hydra.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0cffdcfedaba7a404470669e5e58b6308b195c83
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/plant/plant_hydra.txt
@@ -0,0 +1,5 @@
+Phytohydra
+Rampant Rejuvenator
+Sprouting Phytohydra
+Genesis Hydra
+Briar Hydra
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/plant/plant_skeleton.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/plant/plant_skeleton.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d0f7d695ef1a4c41bc7e4ffe7fefcfdb063ceb00
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/plant/plant_skeleton.txt
@@ -0,0 +1,3 @@
+Rot Farm Skeleton
+Moss-Pit Skeleton
+Mournwillow
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/plant/plant_wall.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/plant/plant_wall.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f4c06d5b813ffccae540a205264eb6686a633683
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/plant/plant_wall.txt
@@ -0,0 +1,13 @@
+Jungle Barrier
+Tinder Wall
+Vine Trellis
+Portcullis Vine
+Carnivorous Plant
+Wall of Blossoms
+Wall of Brambles
+Wall of Pine Needles
+Floriferous Vinewall
+Overgrown Arch
+Whip Vine
+Wall of Roots
+Wall of Vines
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/plant/plant_zombie.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/plant/plant_zombie.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7692ea4d8698129919537e9eb21092c0c5006cc7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/plant/plant_zombie.txt
@@ -0,0 +1,6 @@
+Woodwraith Strangler
+Shambling Shell
+Creakwood Ghoul
+Dreg Mangler
+Slitherhead
+Vulturous Zombie
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/rabbit_beast.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/rabbit_beast.txt
new file mode 100644
index 0000000000000000000000000000000000000000..38f23bbdf1bf1c66214db882b4606911bc59f4c1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/rabbit_beast.txt
@@ -0,0 +1,3 @@
+Jackalope Herd
+Kezzerdrix
+Vizzerdrix
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/ral.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/ral.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3ee9e9da2c7c4524005e190252afd3671fdf094d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/ral.txt
@@ -0,0 +1,4 @@
+Ral Zarek
+Ral, Caller of Storms
+Ral, Izzet Viceroy
+Ral, Storm Conduit
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/rat_samurai.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/rat_samurai.txt
new file mode 100644
index 0000000000000000000000000000000000000000..78c266c19f96b8807253d764b476167c95a6c3a5
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/rat_samurai.txt
@@ -0,0 +1,3 @@
+Nezumi Bladeblesser
+Nezumi Ronin
+Kuro's Taken
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/rat_shaman.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/rat_shaman.txt
new file mode 100644
index 0000000000000000000000000000000000000000..df964e6fad1a1f9126514c1dd44763473cbf4f92
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/rat_shaman.txt
@@ -0,0 +1,4 @@
+Nezumi Bone-Reader
+Gnat Miser
+Deathmask Nezumi
+Locust Miser
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/saheeli.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/saheeli.txt
new file mode 100644
index 0000000000000000000000000000000000000000..47645d115d2e72a9d2d72902b37dd2d57a5da758
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/saheeli.txt
@@ -0,0 +1,4 @@
+Saheeli Rai
+Saheeli, Filigree Master
+Saheeli, Sublime Artificer
+Saheeli, the Gifted
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/salamander.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/salamander.txt
new file mode 100644
index 0000000000000000000000000000000000000000..be4c50564c071478e377b05edc0f09226744ecd3
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/salamander.txt
@@ -0,0 +1,6 @@
+Gudul Lurker
+Pyric Salamander
+Flowstone Salamander
+Cinder Crawler
+Scalding Salamander
+Festering Newt
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/sarkhan.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/sarkhan.txt
new file mode 100644
index 0000000000000000000000000000000000000000..03c0dc4c82af30fff959773a144d7eb962536a51
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/sarkhan.txt
@@ -0,0 +1,7 @@
+Sarkhan the Mad
+Sarkhan the Masterless
+Sarkhan Unbroken
+Sarkhan Vol
+Sarkhan, Dragonsoul
+Sarkhan, Fireblood
+Sarkhan, the Dragonspeaker
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/satyr_shaman.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/satyr_shaman.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6841e1181a65387ae5049357a3a17ea50c518fbf
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/satyr_shaman.txt
@@ -0,0 +1,4 @@
+Satyr Grovedancer
+Satyr Nyx-Smith
+Firedrinker Satyr
+Careless Celebrant
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/shapeshifter.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/shapeshifter.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b088dd3e12c0b7aef7eb8b97a80e98690f0974be
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/shapeshifter.txt
@@ -0,0 +1,88 @@
+Impostor of the Sixth Pride
+War-Spike Changeling
+Clone
+Guardian Gladewalker
+Changeling Titan
+Nascent Metamorph
+Taurean Mauler
+Morophon, the Boundless
+Amoeboid Changeling
+Clever Impersonator
+Jodah's Avenger
+Shadow Kin
+Riverfall Mimic
+Changeling Berserker
+Quicksilver Gargantuan
+Mothdust Changeling
+Mistwalker
+Masked Vandal
+Orvar, the All-Form
+Gladewalker Ritualist
+Changeling Hero
+Webweaver Changeling
+Fire-Belly Changeling
+Changeling Outcast
+Renegade Doppelganger
+Greater Morphling
+Aetherling
+Stunt Double
+Mirror Entity
+Irregular Cohort
+Unsettled Mariner
+Morphling
+Cemetery Puca
+Skeletal Changeling
+Escaped Shapeshifter
+Riptide Shapeshifter
+Shorecrasher Mimic
+Vesuvan Doppelganger
+Cryptoplasm
+Shifty Doppelganger
+Progenitor Mimic
+Chameleon Colossus
+The Prismatic Piper
+Brightling
+Halfdane
+Dralnu's Pet
+Valiant Changeling
+Unstable Shapeshifter
+Evil Twin
+_____
+Battlegate Mimic
+Dack's Duplicate
+Dermoplasm
+Dracoplasm
+Anthroplasm
+Turtleshell Changeling
+Identity Thief
+Woodland ChangelingWall of Stolen Identity
+Body Double
+Mercurial Pretender
+Torchling
+Mirror Image
+The Ever-Changing 'Dane
+Altered Ego
+Mocking Doppelganger
+Nightsky Mimic
+Littjara Glade-Warden
+Realmwalker
+Shyft
+Vesuvan Shapeshifter
+Venomous Changeling
+Crag Puca
+Littjara Kinseekers
+Changeling Sentinel
+Moonglove Changeling
+Shapesharer
+Sakashima's Protege
+Game-Trail Changeling
+Aquamorph Entity
+Ghostly Changeling
+Lazav, Dimir Mastermind
+Cairn Wanderer
+Gigantoplasm
+Avian Changeling
+Graveshifter
+Dimir Doppelganger
+Lazav, the Multifarious
+Jwari ShapeshifterVizier of Many FacesProtean RaiderGlasspool Mimic // Glasspool ShoreUndercover OperativeShape StealerWoodlurker Mimic
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/shark.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/shark.txt
new file mode 100644
index 0000000000000000000000000000000000000000..fc21432f0267cbfe1675ef26a8e6ea7e99ac7e8e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/shark.txt
@@ -0,0 +1,5 @@
+Voracious Greatshark
+Spined Megalodon
+Half-Shark, Half-
+Hammerhead Shark
+Giant Shark
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/shrine.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/shrine.txt
new file mode 100644
index 0000000000000000000000000000000000000000..36e49f09886edbdba00a726a487b0bd45a1b52a7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/shrine.txt
@@ -0,0 +1,6 @@
+Go-Shintai of Ancient Wars
+Go-Shintai of Boundless Vigor
+Go-Shintai of Hidden Cruelty
+Go-Shintai of Life's Origin
+Go-Shintai of Lost Wisdom
+Go-Shintai of Shared Purpose
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/siren.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/siren.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c4f6c5720fb635afe067e02cb72bc6773fc734f6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/siren.txt
@@ -0,0 +1,8 @@
+Chorus of the Tides
+Cloaked Siren
+Mistral Singer
+Dulcet Sirens
+Shipwreck Singer
+Siren of the Fanged Coast
+Alluring Siren
+Threnody Singer
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/skeleton_warrior.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/skeleton_warrior.txt
new file mode 100644
index 0000000000000000000000000000000000000000..006fe45d4e9a8ca9af2fdd0aea1c3b0c8bcceead
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/skeleton_warrior.txt
@@ -0,0 +1,10 @@
+Reassembling Skeleton
+Drudge Sentinel
+Grim Roustabout
+Cult Conscript
+Gutterbones
+Paragon of Open Graves
+Rakdos Ringleader
+Champion of Stray Souls
+Carnage Gladiator
+Tenacious Dead
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/sliver.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/sliver.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c00de4bccb8b366d774323e7ed073952af3913b0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/sliver.txt
@@ -0,0 +1,100 @@
+Lavabelly Sliver
+Screeching Sliver
+Striking Sliver
+Shadow Sliver
+Virulent Sliver
+Hunter Sliver
+Reflex Sliver
+Lymph Sliver
+Synapse Sliver
+Plated Sliver
+Battering Sliver
+Homing Sliver
+Darkheart Sliver
+Sentinel Sliver
+Frenetic Sliver
+Psionic Sliver
+Crypt Sliver
+Cloudshredder Sliver
+Cautery Sliver
+Dregscape Sliver
+Thorncaster Sliver
+Manaweft Sliver
+Venser's Sliver
+Megantic Sliver
+Syphon Sliver
+Toxin Sliver
+Mnemonic Sliver
+Synchronous Sliver
+Root Sliver
+Cleaving Sliver
+Leeching Sliver
+Fury Sliver
+Blur Sliver
+Plague Sliver
+Dementia Sliver
+Mindlash Sliver
+Venom Sliver
+Basal Sliver
+Sidewinder Sliver
+Necrotic Sliver
+Ward Sliver
+Two-Headed Sliver
+Frenzy Sliver
+Barbed Sliver
+Steelform Sliver
+Essence Sliver
+Poultice Sliver
+Bonesplitter Sliver
+Spined Sliver
+Sedge Sliver
+Muscle Sliver
+Telekinetic Sliver
+Hibernation Sliver
+Battle Sliver
+Shifting Sliver
+Spitting Sliver
+Watcher Sliver
+Constricting Sliver
+Quick Sliver
+Ghostflame Sliver
+Bonescythe Sliver
+Bladeback Sliver
+Dormant Sliver
+Tempered Sliver
+Magma Sliver
+Spinneret Sliver
+Harmonic Sliver
+Spiteful Sliver
+Armor Sliver
+Mindwhip Sliver
+Galerider Sliver
+Quilled Sliver
+Clot Sliver
+Heart Sliver
+Might Sliver
+Belligerent Sliver
+Blade Sliver
+Enduring Sliver
+Gemhide Sliver
+Sinew Sliver
+Diffusion Sliver
+Acidic Sliver
+Predatory Sliver
+First Sliver's Chosen
+Groundshaker Sliver
+Pulmonic Sliver
+Lancer Sliver
+Brood Sliver
+Victual Sliver
+Hollowhead Sliver
+Crystalline Sliver
+Winged Sliver
+Horned Sliver
+Metallic Sliver
+Opaline Sliver
+Mesmeric Sliver
+Banding Sliver
+Talon Sliver
+Firewake Sliver
+Vampiric Sliver
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/snake_hydra.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/snake_hydra.txt
new file mode 100644
index 0000000000000000000000000000000000000000..626f35535aa8dd34ca31052df073a8dee2695e67
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/snake_hydra.txt
@@ -0,0 +1,3 @@
+Honored Hydra
+Hooded Hydra
+Ramunap Hydra
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/snake_shaman.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/snake_shaman.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ebf2affebb0b865f0c3725a15a008a0cf9ed6863
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/snake_shaman.txt
@@ -0,0 +1,4 @@
+Sakura-Tribe Elder
+Sakura-Tribe Springcaller
+Orochi Leafcaller
+Orochi Sustainer
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/snow_artifact.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/snow_artifact.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3a0f496204d5f72271410ff62575bc91b2120547
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/snow_artifact.txt
@@ -0,0 +1,4 @@
+Icebind Pillar
+Arcum's Astrolabe
+Coldsteel Heart
+Replicating Ring
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/snow_sorcery.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/snow_sorcery.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ecdf7ba81b98acd4b596d489d1a3e34ed9475d06
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/snow_sorcery.txt
@@ -0,0 +1,5 @@
+Blessing of Frost
+Blood on the Snow
+Search for Glory
+Tundra Fumarole
+Blizzard Brawl
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/soldier.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/soldier.txt
new file mode 100644
index 0000000000000000000000000000000000000000..697516ac69762da171bb897466f2a0359ef6aca1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/soldier.txt
@@ -0,0 +1,8 @@
+Spectrum Sentinel
+Yotian Soldier
+Soldevi Sentry
+Soldevi Simulacrum
+Arcbound Javelineer
+Soldier Replica
+Adarkar Sentinel
+Etched Champion
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/soltari_soldier.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/soltari_soldier.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3d3aa9b613827681bc93e43590f940c6f7357bc6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/soltari_soldier.txt
@@ -0,0 +1,5 @@
+Soltari Champion
+Soltari Emissary
+Soltari Foot Soldier
+Soltari Guerrillas
+Soltari Trooper
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/sorin.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/sorin.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d614321608476e5a911ab035e7e7e50d184eb001
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/sorin.txt
@@ -0,0 +1,7 @@
+Sorin Markov
+Sorin the Mirthless
+Sorin, Grim Nemesis
+Sorin, Imperious Bloodlord
+Sorin, Lord of Innistrad
+Sorin, Solemn Visitor
+Sorin, Vengeful Bloodlord
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/spike.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/spike.txt
new file mode 100644
index 0000000000000000000000000000000000000000..13f499c3351fbd4b65073f5fabde6d4287188450
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/spike.txt
@@ -0,0 +1,9 @@
+Spike Rogue
+Spike Tiller
+Spike Weaver
+Spike Worker
+Spike Breeder
+Spike Cannibal
+Spike Colony
+Spike Feeder
+Spike Hatcher
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/spirit.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/spirit.txt
new file mode 100644
index 0000000000000000000000000000000000000000..acc5540ba92f3a67cbf1a9aa757149da15b86616
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/spirit.txt
@@ -0,0 +1,74 @@
+Ageless Guardian
+Akuta, Born of Ash
+Arashi, the Sky Asunder
+Ayumi, the Last Visitor
+Breathless Knight
+Chisei, Heart of Oceans
+Deity of Scars
+Demigod of Revenge
+Deus of Calamity
+Divinity of Pride
+Dominus of Fealty
+Dread RiderDrogskol Captain
+Drogskol Cavalry
+Drogskol Reinforcements
+Drogskol Shieldmate
+Ghastlord of Fugue
+Ghost Council of Orzhova
+Godhead of AweMoon Heron
+Guardian of Faith
+He Who Hungers
+Hikari, Twilight Guardian
+Hokori, Dust Drinker
+Horobi, Death's Wail
+Iname as One
+Iname, Death Aspect
+Iname, Life Aspect
+Jiwari, the Earth Aflame
+Kaima, the Fractured Calm
+Kami of the Crescent Moon
+Kataki, War's Wage
+Kira, Great Glass-Spinner
+Kiyomaro, First to Stand
+Kiyomaro, First to StandAdamaro, First to Desire
+Kodama of the Center Tree
+Kodama of the East Tree
+Kodama of the North Tree
+Kodama of the South Tree
+Kodama of the West Tree
+Lost Legion
+Mannichi, the Fevered Dream
+Martyr's Soul
+Masumaro, First to Live
+MindshriekerSpectral Rider
+Myojin of Blooming Dawn
+Myojin of Cleansing Fire
+Myojin of Cryptic Dreams
+Myojin of Grim Betrayal
+Myojin of Infinite Rage
+Myojin of Life's Web
+Myojin of Night's Reach
+Myojin of Roaring Blades
+Myojin of Seeing Winds
+Myojin of Towering Might
+Nobilis of War
+Overbeing of Myth
+Oversoul of Dusk
+Oyobi, Who Split the Heavens
+Patrician Geist
+Patron of the Akki
+Patron of the Kitsune
+Patron of the Moon
+Patron of the Nezumi
+Patron of the Orochi
+Phantom General
+Revered Dead
+Sekki, Seasons' Guide
+Shirei, Shizo's Caretaker
+Soramaro, First to Dream
+Spectral GateguardsAdamaro, First to Desire
+Stonerise Spirit
+The Unspeakable
+Timin, Youthful Geist
+Tomorrow, Azami's Familiar
+Yomiji, Who Bars the Way
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/squid_beast.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/squid_beast.txt
new file mode 100644
index 0000000000000000000000000000000000000000..bad7197afe7e12ece18107d06c44f32bbb176ff4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/squid_beast.txt
@@ -0,0 +1,3 @@
+Gulf Squid
+Sand Squid
+Fylamarid
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/starfish.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/starfish.txt
new file mode 100644
index 0000000000000000000000000000000000000000..eb148057f2c43958ab6800b6c8e6ab1db3017022
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/starfish.txt
@@ -0,0 +1,3 @@
+Spiny Starfish
+Sinister Starfish
+Sigiled Starfish
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/surrakar.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/surrakar.txt
new file mode 100644
index 0000000000000000000000000000000000000000..58f652120af9760e4288674db131b2431500f38f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/surrakar.txt
@@ -0,0 +1,4 @@
+Surrakar Banisher
+Surrakar Marauder
+Surrakar Spellblade
+Shoreline Salvager
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/tamiyo.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/tamiyo.txt
new file mode 100644
index 0000000000000000000000000000000000000000..265abd20cde6c79dd883143d29633693c240f8ed
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/tamiyo.txt
@@ -0,0 +1,4 @@
+Tamiyo, Collector of Tales
+Tamiyo, Compleated Sage
+Tamiyo, Field Researcher
+Tamiyo, the Moon Sage
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/teferi.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/teferi.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0230803791915669300f6099f2d268da3b5515c1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/teferi.txt
@@ -0,0 +1,8 @@
+Teferi, Hero of Dominaria
+Teferi, Master of Time
+Teferi, Temporal Archmage
+Teferi, Temporal Pilgrim
+Teferi, Time Raveler
+Teferi, Timebender
+Teferi, Timeless Voyager
+Teferi, Who Slows the Sunset
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/tezzeret.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/tezzeret.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6624990dd07fc07216ffe27d0c4bbc5ea8e5c810
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/tezzeret.txt
@@ -0,0 +1,7 @@
+Tezzeret, Artifice Master
+Tezzeret, Betrayer of Flesh
+Tezzeret, Cruel Machinist
+Tezzeret, Master of the Bridge
+Tezzeret the Schemer
+Tezzeret the Seeker
+Tezzeret, Agent of Bolas
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/thalakos_wizard.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/thalakos_wizard.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9d94cf1e891d63921fcd6609b2349fdd7186d2d9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/thalakos_wizard.txt
@@ -0,0 +1,3 @@
+Thalakos Deceiver
+Thalakos Dreamsower
+Thalakos Seer
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/thopter.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/thopter.txt
new file mode 100644
index 0000000000000000000000000000000000000000..125ef12f84ede439e6434db541f22975159e81f2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/thopter.txt
@@ -0,0 +1,13 @@
+Snare Thopter
+Chrome Courier
+Flowstone Thopter
+Roterothopter
+Pilgrim's Eye
+Drill-Skimmer
+Skyscanner
+Thopter Assembly
+Ornithopter
+Ornithopter of Paradise
+Thopter Squadron
+Telethopter
+Reconstructed Thopter
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/tibalt.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/tibalt.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5a274881967d241c315b06175dc0656373c988be
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/tibalt.txt
@@ -0,0 +1,3 @@
+Tibalt the Chaotic
+Tibalt, Rakish Instigator
+Tibalt, the Fiend-Blooded
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/tiefling_rogue.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/tiefling_rogue.txt
new file mode 100644
index 0000000000000000000000000000000000000000..09a747068e715eeafcfb59214b1bf2d25bfbec97
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/tiefling_rogue.txt
@@ -0,0 +1,3 @@
+Grim Hireling
+Hoard Robber
+Warehouse Thief
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/treefolk.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/treefolk.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d44e774b5c429d0a057ea989c58decfb48508bf4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/treefolk.txt
@@ -0,0 +1,2 @@
+__creatures/mtg/treefolk/treefolk_shaman__
+__creatures/mtg/treefolk/treefolk_warrior__
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/treefolk/treefolk_shaman.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/treefolk/treefolk_shaman.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9e2b7536e2834b7eff0b559d8821b42231862e2b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/treefolk/treefolk_shaman.txt
@@ -0,0 +1,3 @@
+Doran, the Siege Tower
+Sapling of Colfenor
+Colfenor, the Last Yew
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/treefolk/treefolk_warrior.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/treefolk/treefolk_warrior.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3e8de89ffe73256562eefa95fb471797b2b32530
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/treefolk/treefolk_warrior.txt
@@ -0,0 +1,13 @@
+Indomitable Ancients
+Ambassador Oak
+Dauntless Dourbark
+Crabapple Cohort
+Cloudcrown Oak
+Kalonian Twingrove
+Battlewand Oak
+Oaken Brawler
+Oakgnarl Warrior
+Old Ghastbark
+Unstoppable Ash
+Timber Protector
+Sentry Oak
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/troll.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/troll.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c9d30b8e608f8adf2e2e202f6ab64fff757ad7da
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/troll.txt
@@ -0,0 +1,21 @@
+Horned Troll
+Cudgel Troll
+Jungle Troll
+Trestle Troll
+Pygmy Troll
+Undercity Troll
+Odious Trow
+Charging Troll
+Loathsome Troll
+Sea Troll
+Charnel Troll
+Albino Troll
+Clackbridge Troll
+Barkhide Troll
+Sedge Troll
+Uthden Troll
+Gluttonous Troll
+Mossbridge Troll
+Harvester Troll
+Challenger Troll
+Rendclaw Trow
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/troll_shaman.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/troll_shaman.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d94856e4f63469354eeece910011484ebe97cc02
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/troll_shaman.txt
@@ -0,0 +1,4 @@
+High Troller
+Tel-Jilad Lifebreather
+Troll Ascetic
+Trolls of Tel-Jilad
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/tyranid.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/tyranid.txt
new file mode 100644
index 0000000000000000000000000000000000000000..cbf301a3f65baf01fdeed152f2f87b9ed34c3ce5
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/tyranid.txt
@@ -0,0 +1,23 @@
+Venomthrope
+Genestealer Patriarch
+Sporocyst
+Zoanthrope
+Tyranid Harridan
+Tyranid Prime
+Tyrant Guard
+Winged Hive Tyrant
+Termagant Swarm
+Exocrine
+Tervigon
+Hierophant Bio-Titan
+Toxicrene
+Screamer-Killer
+Lictor
+Mawloc
+Hormagaunt Horde
+Trygon Prime
+Haruspex
+Malanthrope
+Ravener
+Broodlord
+Purestrain Genestealer
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/undead/zombie.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/undead/zombie.txt
new file mode 100644
index 0000000000000000000000000000000000000000..25e4bd312dbaa68404e53567b7ceabb2d47570b1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/undead/zombie.txt
@@ -0,0 +1,264 @@
+Aphetto Vulture
+Archghoul of Thraben
+Armored Skaab
+Ashen Ghoul
+Attendant of Vraska
+Balduvian Dead
+Balduvian Fallen
+Baloth Null
+Barrow Ghoul
+Binding Mummy
+Bladestitched Skaab
+Bladewing's Thrall
+Blind CreeperCrow of Dark Tidings
+Bloodletter
+Bog Raiders
+Bone Dancer
+Boneknitter
+Brain Gorgers
+Buried Ogre
+Butcher Ghoul
+Cackling Fiend
+Caged Zombie
+Carnophage
+Carrion Crow
+Carrion Feeder
+Carrion Screecher
+Carrion Wurm
+Cemetery Desecrator
+Cemetery Reaper
+Champion of the Perished
+Coffin Puppets
+Corpse Blockade
+Corpulent Corpse
+Cryptbreaker
+Crypt Champion
+Crypt Creeper
+Cursed Minotaur
+Custodi Lich
+Cyclopean Mummy
+Dakmor Ghoul
+Deadhead
+Dead Reveler
+Deathbringer Thoctar
+Deepwood Ghoul
+Diregraf Captain
+Diregraf Ghoul
+Diregraf Horde
+Diver Skaab
+Drakestown Forgotten
+Draugr Recruiter
+Dreadhorde Butcher
+Dread WandererUndead Minotaur
+Dread Wight
+Dreadwing
+Dreg Reaver
+Dregscape Zombie
+Dripping Dead
+Dross Crocodile
+Dross Prowler
+Drowned
+Drunau Corpse Trawler
+Dungeon Crawler
+Dutiful Servants
+Embalmed Brawler
+Erstwhile Trooper
+Eternal of Harsh TruthsMoldering Karok
+Eternal Taskmaster
+Everlasting Lich
+Extremely Slow Zombie
+Falcon AbominationRotlung Reanimator
+Fallen Cleric
+Famished Ghoul
+Fan Bearer
+Farbog Boneflinger
+Festering Goblin
+Festering Mummy
+Fleshbag Marauder
+Forlorn Pseudamma
+Forsaken Drifters
+Frankenstein's Monster
+Frightshroud Courier
+Gangrenous Zombies
+Gavony Unhallowed
+Gempalm Polluter
+Geralf's Messenger
+Ghastly Remains
+Ghoulraiser
+Gluttonous Zombie
+Gnawing Zombie
+Golgari Rotwurm
+Graf Reaver
+Gravebane Zombie
+Gravecrawler
+Grave Defiler
+Gravedigger
+Grave Scrabbler
+Gravespawn Sovereign
+Graveyard Marshal
+Gray Merchant of Asphodel
+Grim Initiate
+Grim Physician
+Gristle Grinner
+Grixis Grimblade
+Grixis Sojourners
+Grotesque Hybrid
+Gutter Skulk
+Haunted Dead
+Headless Rider
+Headless Skaab
+Herald of the Dreadhorde
+Highborn Ghoul
+Hobbling Zombie
+Hoisted Hireling
+Hunted Ghoul
+Infectious Host
+Jarl of the Forsaken
+Jhessian Zombies
+Khabál Ghoul
+Kheru DreadmawStitched Drake
+Larder Zombie
+Lava Zombie
+Lazotep Reaver
+Legions of Lim-Dûl
+Lifebane Zombie
+Lightning Reaver
+Liliana's Elite
+Liliana's Reaver
+Liliana's Steward
+Lim-Dûl's Cohort
+Lord of the Accursed
+Lord of the Undead
+Loyal Subordinate
+Lurching Rotbeast
+Maalfeld Twins
+Maggot Carrier
+Marauding BoneslasherNefashu
+Marsh HulkRancid Rats
+Mass of Ghouls
+Merciless Eternal
+Miasmic Mummy
+Mindleech Ghoul
+Mindless Null
+Minotaur Abomination
+Mournful Zombie
+Mummy Paramount
+Murk Dwellers
+Necromancer's Assistant
+Nested Shambler
+Nightscape Familiar
+Nim Abomination
+Nim Devourer
+Nim Grotesque
+Nim Lasher
+Nim Shambler
+Nim Shrieker
+Noosegraf Mob
+Noxious Ghoul
+Null ChampionTerrus Wurm
+Odunos River Trawler
+Organ Grinder
+Organ Hoarder
+Phylactery Lich
+Plaguebearer
+Plague Belcher
+Plague Wight
+Polluted Dead
+Pontiff of Blight
+Possessed Skaab
+Poxwalkers
+Prized Amalgam
+Putrid GoblinToken: Steadfast Sentinel
+Pyre Zombie
+Ragamuffyn
+Rank and File
+Rank Officer
+Raving Dead
+Relentless Dead
+Relentless Skaabs
+Repository Skaab
+Returned Phalanx
+Risen Executioner
+Roofstalker Wight
+Rotcrown Ghoul
+Rot Hulk
+Rottenheart Ghoul
+Rotting Legion
+Rotting RatsUbul Sar Gatekeepers
+Sangrophage
+Scathe Zombies
+Scavenging Ghoul
+Scrapskin Drake
+Screeching Skaab
+Seagraf Skaab
+Selhoff Entomber
+Sepulcher Ghoul
+Servant of Tymaret
+Severed Legion
+Sewer Shambler
+Sewn-Eye DrakeShambling Goblin
+Shambling Attendants
+Shambling Ghast
+Shambling Ghoul
+Shepherd of Rot
+Sibsig Host
+Sibsig Icebreakers
+Sibsig Muckdraggers
+Siege Zombie
+Sightless Ghoul
+Silumgar Scavenger
+Skinthinner
+Skull Skaab
+Skywarp Skaab
+Smokespew InvokerZombie Ogre
+Spark Reaper
+Sparring Mummy
+Spined Basher
+Stitched Assistant
+Stitcher's Supplier
+Sultai Emissary
+Sutured Ghoul
+Tainted Adversary
+Tattered Drake
+Temp of the Damned
+The Fallen
+The Fallen Apart
+Those Who Serve
+Token: Anointer PriestToken: Trueheart Duelist
+Token: Proven CombatantDisposal Mummy
+Token: Temmet, Vizier of Naktamun
+Token: Unwavering Initiate
+Twisted Abomination
+Two-Headed Zombie
+Unbreathing Horde
+Undead Alchemist
+Undead Butler
+Undead Executioner
+Undead Servant
+Undead Warchief
+Unhallowed PhalanxAccursed Horde
+Unraveling Mummy
+Veilborn Ghoul
+Vengeful Dead
+Vengeful Pharaoh
+Voracious Null
+Wailing Ghoul
+Walking Corpse
+Walking Dead
+Walking Desecration
+Waning Wurm
+Warpath Ghoul
+Wayward Servant
+Whipstitched Zombie
+Wight
+Wight of Precinct Six
+Withered Wretch
+Woebearer
+ZombieAbattoir Ghoul
+Zombie Brute
+Zombie Cannibal
+Zombie Cutthroat
+ZombieHaunted Cadaver
+Zombie Mob
+Zombie Scavengers
+Zombified
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/undead/zubera_spirit.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/undead/zubera_spirit.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a0a6dbc6ab22d7f05b997801460b8b53469d5118
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/undead/zubera_spirit.txt
@@ -0,0 +1,7 @@
+Ember-Fist Zubera
+Burning-Eye Zubera
+Rushing-Tide Zubera
+Floating-Dream Zubera
+Dripping-Tongue Zubera
+Ashen-Skin Zubera
+Silent-Chant Zubera
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/unicorn.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/unicorn.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8ae03cb25335178ff6db65f2ec70ab8777e20cd2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/unicorn.txt
@@ -0,0 +1,20 @@
+Valorous Steed
+Loyal Unicorn
+Celestial Unicorn
+Prized Unicorn
+Capashen Unicorn
+Inspiring Unicorn
+Pearled Unicorn
+Good-Fortune Unicorn
+Brightmare
+Mesa Unicorn
+Regal Unicorn
+Steadfast Unicorn
+Zebra Unicorn
+Benevolent Unicorn
+Daybreak Charger
+Adarkar Unicorn
+Revered Unicorn
+Captivating Unicorn
+Majestic Auricorn
+Ronom Unicorn
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/vampire.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/vampire.txt
new file mode 100644
index 0000000000000000000000000000000000000000..fb4ce1fcde838577c91452d3111821ccafdbf2f0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/vampire.txt
@@ -0,0 +1,167 @@
+Anhelo, the Painter
+Anje's RavagerVampire Envoy
+Anointed DeaconDiscourtesy Clerk
+Arrogant Outlaw
+Arrogant Vampire
+Arvad the Cursed
+Barony Vampire
+Bat Whisperer
+Belligerent Guest
+Bishop of Binding
+Bishop of Rebirth
+Bishop of the Bloodstained
+Bleak Coven Vampires
+Blood Artist
+Blood Bairn
+Blood Baron of Vizkopa
+Bloodbond VampireCrossway Troublemakers
+Bloodcrazed Neonate
+Bloodcrazed Socialite
+Bloodflow Connoisseur
+Blood Glutton
+Bloodhall Priest
+Blood Host
+Blood Hypnotist
+Bloodlord of Vaasgoth
+Bloodmad Vampire
+Bloodmist Infiltrator
+Blood Petal Celebrant
+Blood Poet
+Bloodrage Vampire
+Bloodthirsty Adversary
+Bloodthrone Vampire
+Bloodtithe Collector
+Bloodtithe Harvester
+Blood Tyrant
+Bloodvial Purveyor
+Butcher of Malakir
+Callous Bloodmage
+Captivating Vampire
+Carrier Thrall
+Cemetery Gatekeeper
+Child of Night
+Cleric of Life's Bond
+Cordial Vampire
+Cormela, Glamour Thief
+Crossway Vampire
+Cruel Celebrant
+Cutthroat ContenderFelisa, Fang of Silverquill
+Deadbeat AttendantWeirded Vampire
+Defiant Bloodlord
+Dominating Vampire
+Drana's Emissary
+Driver of the Dead
+Dusk Feaster
+Edgar Markov
+Elenda, the Dusk Rose
+Epicure of Blood
+Erdwal Ripper
+Etrata, the Silencer
+Evelyn, the Covetous
+Falkenrath Aristocrat
+Falkenrath Celebrants
+Falkenrath Forebear
+Falkenrath Noble
+Falkenrath Perforator
+Falkenrath Pit Fighter
+Falkenrath Reaver
+Falkenrath Torturer
+Famished Foragers
+Furyblade Vampire
+Gatekeeper of Malakir
+Gluttonous Guest
+Guul Draz Overseer
+Havengul Vampire
+Heirs of Stromkirk
+Highborn Vampire
+Incorrigible Youths
+Indulging Patrician
+Insatiable Gorgers
+Insolent Neonate
+Inspiring Cleric
+Jeleva, Nephalia's Scourge
+Kalastria HealerDuskborne Skymarcher
+Kamber, the Plunderer
+Kheru Bloodsucker
+Kheru Mind-Eater
+Krovikan Vampire
+Maestros Diabolist
+Malakir Blood-Priest
+Malakir Cullblade
+Malakir Soothsayer
+Marauding Blight-Priest
+Mari, the Killing QuillFalkenrath Gorger
+Markov Blademaster
+Markov Patrician
+Markov Purifier
+Markov Waltzer
+Markov Warlord
+Marshland BloodcasterFalkenrath Marauders
+Mephidross Vampire
+Midnight Arsonist
+Moroii
+Necropolis Regent
+Night Revelers
+Nightveil Predator
+Nirkana Cutthroat
+Nullpriest of Oblivion
+Olivia, Mobilized for WarIndulgent Aristocrat
+Olivia's Attendants
+Olivia's Dragoon
+Parnesse, the Subtle Brush
+Pitiless Pontiff
+Rabid Bloodsucker
+Rakish Heir
+Ravenous Bloodseeker
+Ravenous Vampire
+Repentant Vampire
+Ruthless Cullblade
+Sanguine Glorifier
+Scampire
+Scion of Opulence
+Scion of the Swarm
+Sengir Connoisseur
+Sengir Nosferatu
+Sengir Vampire
+Shadowcloak Vampire
+Silverquill Pledgemage
+Skyshroud Vampire
+Slaughter Specialist
+Soul Collector
+Stalking Bloodsucker
+Stensia Innkeeper
+Stromkirk Condemned
+Stromkirk NobleAnowon, the Ruin Thief
+Stromkirk OccultistVona, Butcher of Magan
+Thief of Blood
+Thirsting Bloodlord
+Tithe Drinker
+Treacherous Vampire
+Twilight Prophet
+Twins of Maurer Estate
+Unholy Officiant
+Vampire
+Vampire Lacerator
+Vampire Neonate
+Vampire Noble
+Vampire Nocturnus
+Vampire of the Dire Moon
+Vampire Outcasts
+Vampire Scrivener
+Vampire Socialite
+Vampire Sovereign
+Vampire Spawn
+Vampire Warlord
+Vein Drinker
+Veinwitch Coven
+Vengeant Vampire
+Vengeful Vampire
+Vermin Gorger
+Vindictive Vampire
+Vizkopa Vampire
+Voldaren Duelist
+Voldaren Epicure
+Voldaren Stinger
+Welcoming VampireTenured Inkcaster
+Westgate Regent
+Zagras, Thief of HeartbeatsDrana's Chosen
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/vedalken.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/vedalken.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6011bbc51b1d82ed372e0b4e7c2f9b4cfd4c357d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/vedalken.txt
@@ -0,0 +1,4 @@
+__vedalken/artificer__
+__vedalken/rogue__
+__vedalken/soldier__
+__vedalken/_
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/vedalken/vedalken_artificer.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/vedalken/vedalken_artificer.txt
new file mode 100644
index 0000000000000000000000000000000000000000..38962f673d343086511f7ad00ec914d91b33333d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/vedalken/vedalken_artificer.txt
@@ -0,0 +1,9 @@
+Vedalken Engineer
+Nimble Innovator
+Dispersal Technician
+Bastion Inventor
+Aether Swooper
+Chief Engineer
+Grand Architect
+Synod Artificer
+Whirler Virtuoso
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/vedalken/vedalken_rogue.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/vedalken/vedalken_rogue.txt
new file mode 100644
index 0000000000000000000000000000000000000000..96519cf328c1baa8c059bff26f95cccd5734f614
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/vedalken/vedalken_rogue.txt
@@ -0,0 +1,5 @@
+Vedalken Heretic
+Vedalken Infiltrator
+Shielded Aether Thief
+Aether Theorist
+Gateway Sneak
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/vedalken/vedalken_soldier.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/vedalken/vedalken_soldier.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4a16c1d151375b8eebdb6079521820bdbe46adf0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/vedalken/vedalken_soldier.txt
@@ -0,0 +1,3 @@
+Vedalken Blademaster
+Opal Lake Gatekeepers
+Janjeet Sentry
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/viashino.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/viashino.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e07ceb33d921e923443857a8969f1e1e3af8ebf7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/viashino.txt
@@ -0,0 +1,15 @@
+Dagger CasterYurlok of Scorch Thrash
+Garrison SergeantViashino Bey
+Gloryscale Viashino
+Hivis of the ScaleViashino Firstblade
+Mezzio Mugger
+Riveteers Requisitioner
+Viashino Cutthroat
+Viashino Grappler
+Viashino Heretic
+Viashino Outrider
+Viashino Racketeer
+Viashino Runner
+Viashino Sandswimmer
+Viashino Weaponsmith
+Zirilan of the Claw
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/vivien.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/vivien.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b2f55882e1894c4d8bcc2c2871a9e104863fabd3
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/vivien.txt
@@ -0,0 +1,7 @@
+Vivien of the Arkbow
+Vivien on the Hunt
+Vivien Reid
+Vivien, Arkbow Ranger
+Vivien, Champion of the Wilds
+Vivien, Monsters' Advocate
+Vivien, Nature's Avenger
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/volver.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/volver.txt
new file mode 100644
index 0000000000000000000000000000000000000000..dca1d3ed2a210fc7d06557b24e5c1651c0a76f1c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/volver.txt
@@ -0,0 +1,5 @@
+Necravolver
+Cetavolver
+Anavolver
+Degavolver
+Rakavolver
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/vraska.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/vraska.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4310604f8a6b12759d24b5ea0238bf1c22d9673e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/vraska.txt
@@ -0,0 +1,5 @@
+Vraska the Unseen
+Vraska, Golgari Queen
+Vraska, Relic Seeker
+Vraska, Scheming Gorgon
+Vraska, Swarm's Eminence
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/wall.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/wall.txt
new file mode 100644
index 0000000000000000000000000000000000000000..84c4c0ab11bbe715c649855c007d9bf764906ddf
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/wall.txt
@@ -0,0 +1,88 @@
+Archers' Parapet
+Quicksilver Wall
+Wall of Denial
+Mirror Wall
+Thunder Wall
+Wall of Souls
+Wall of Mourning
+Wall of Putrid Flesh
+Wall of Corpses
+Overgrown Battlement
+Wall of Granite
+Wall of Water
+Wall of Ice
+Wall of Light
+Aether Membrane
+Mnemonic Wall
+Wall of Wood
+Dazzling Ramparts
+Wall of Stone
+Wall of Air
+Warded Battlements
+Battle Rampart
+Shimmering Barrier
+Prison Barricade
+Fortified Rampart
+Stinging Barrier
+Wall of Razors
+Carrion Wall
+Psychic Membrane
+Coral Barrier
+Academy Wall
+Wall of Caltrops
+Wall of Opposition
+Wall of Mulch
+Tuktuk Rubblefort
+Wall of Frost
+Ageless Sentinels
+Wall of Nets
+Blistering Barrier
+Angelic Wall
+Glacial Wall
+Aetherflame Wall
+Wall of Hope
+Wall of Omens
+Pitchstone Wall
+Wall of Earth
+Wall of Distortion
+Wall of Diffusion
+Prize Wall
+Fog Bank
+Wall of Essence
+Alabaster Wall
+Wall of Heat
+Cinder Wall
+Wall of Torches
+Dark Maze
+Wall of Runes
+Wall of Resistance
+Wall of Mist
+Cemetery Gate
+Pramikon, Sky Rampart
+Wall of One Thousand Cuts
+Infested Roothold
+Wall of Lava
+Vodalian War Machine
+Crude Rampart
+Wall of Wonder
+Wall of Shadows
+Wall of Swords
+Wall of Tombstones
+Jeskai Barricade
+Floodgate
+Wall of Deceit
+Wall of Dust
+Wall of Blood
+Electrostatic Field
+Wall of Resurgence
+Wall of Faith
+Wall of Fire
+Wall of Glare
+Wall of Tears
+Wall of Lost Thoughts
+Drift of the Dead
+Sunscape Familiar
+Coral Colony
+Wall of Vapor
+Sunweb
+Concealing Curtains // Revealing EyeFlowstone Wall
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/werewolf.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/werewolf.txt
new file mode 100644
index 0000000000000000000000000000000000000000..fdb115c4673b888eb64cd9471388e8b25647e66d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/werewolf.txt
@@ -0,0 +1,42 @@
+Greater Werewolf
+Volatile Arsonist // Dire-Strain Anarchist
+Lambholt Raconteur // Lambholt Ravager
+Harvesttide Infiltrator // Harvesttide Assailant
+Village Ironsmith // Ironfang
+Wolfbitten Captive // Krallenhorde Killer
+Scorned Villager // Moonscarred Werewolf
+Avabruck Caretaker // Hollowhenge Huntmaster
+Outland Liberator // Frenzied Trapbreaker
+Hinterland Logger // Timber Shredder
+Ill-Tempered Loner // Howlpack Avenger
+Gatstaf Arsonists // Gatstaf Ravagers
+Infestation Expert // Infested Werewolf
+Weary Prisoner // Wrathful Jailbreaker
+Reckless Stormseeker // Storm-Charged Slasher
+Kessig Naturalist // Lord of the Ulvenwald
+Lesser Werewolf
+Instigator Gang // Wildblood Pack
+Werewolf Pack LeaderBurly Breaker // Dire-Strain Demolisher
+Howlpack Piper // Wildsong Howler
+Child of the Pack // Savage Packmate
+Village Messenger // Moonrise Intruder
+Weaver of Blossoms // Blossom-Clad Werewolf
+Tireless Hauler // Dire-Strain Brawler
+Fangblade Brigand // Fangblade Eviscerator
+Villagers of Estwald // Howlpack of Estwald
+Grizzled Outcasts // Krallenhorde Wantons
+Graveyard Trespasser // Graveyard Glutton
+Huntmaster of the Fells // Ravager of the Fells
+Fearful Villager // Fearsome Werewolf
+Convicted Killer // Branded Howler
+Hookhand Mariner // Riphook Raider
+Gatstaf Shepherd // Gatstaf Howler
+Tovolar's Huntmaster // Tovolar's Packleader
+Hinterland Hermit // Hinterland Scourge
+Hound Tamer // Untamed Pup
+Lambholt Elder // Silverpelt Werewolf
+Wolfkin Outcast // Wedding Crasher
+Afflicted Deserter // Werewolf Ransacker
+Shady Traveler // Stalking Predator
+Hermit of the Natterknolls // Lone Wolf of the Natterknolls
+Village Watch // Village Reavers
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/wolf_spirit.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/wolf_spirit.txt
new file mode 100644
index 0000000000000000000000000000000000000000..83afd787d0062f543bae4ef71434793cfcfd1a50
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/wolf_spirit.txt
@@ -0,0 +1,4 @@
+Spirit of the Hunt
+Skalla Wolf
+Flourishing Hunter
+Pack Guardian
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/wolverine.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/wolverine.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f7fde9e3e89d1fc9d1d46f065277a5ecd482b448
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/wolverine.txt
@@ -0,0 +1,6 @@
+Rabid Wolverines
+Bloodhaze Wolverine
+Deepwood Wolverine
+Grizzled Wolverine
+Spelleater Wolverine
+Wolverine Pack
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/worm.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/worm.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1f9c1bd5fe2f1bfef47806bb569d52ace680f716
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/worm.txt
@@ -0,0 +1,5 @@
+Mole Worms
+Simic Ragworm
+Reef Worm
+Insidious Bookworms
+Purple Worm
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/wraith.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/wraith.txt
new file mode 100644
index 0000000000000000000000000000000000000000..63390d1af02d1ed938c19a8bb1347fb4353f43fd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/wraith.txt
@@ -0,0 +1,5 @@
+Bog Tatters
+Bog Wraith
+Dirtwater Wraith
+Odylic Wraith
+Street Wraith
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/wurm.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/wurm.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4390616611028d34949ae2de47a91401c8a48625
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/wurm.txt
@@ -0,0 +1,81 @@
+Pouncing Wurm
+Bramble Wurm
+Jungle Wurm
+Mungha Wurm
+Primordial Wurm
+Voracious Wurm
+Teething Wurmlet
+Belligerent Whiptail
+Bellowing Tanglewurm
+Spined Wurm
+Trench Wurm
+Rootbreaker Wurm
+Craw Wurm
+Havenwood Wurm
+Shivan Wurm
+Ruination Wurm
+Battering Wurm
+Bookwurm
+Duskdale Wurm
+Wild Wurm
+Novablast Wurm
+Arrogant Wurm
+Soul Swallower
+Cowl Prowler
+Vastwood Gorger
+Yavimaya Wurm
+Fallow Wurm
+Scoria Wurm
+Gorger Wurm
+Serpentine
+Winding Wurm
+Greater Sandwurm
+Vigorspore Wurm
+Impervious Greatwurm
+Saltskitter
+Predatory Wurm
+Charnelhoard Wurm
+Ravager Wurm
+Nesting Wurm
+Reckless Wurm
+Endless Wurm
+Barbed-Back Wurm
+Barbtooth Wurm
+Dirtcowl Wurm
+Siege Wurm
+Sifter Wurm
+Elderscale Wurm
+Deathcoil Wurm
+Elfhame Wurm
+Pathbreaker Wurm
+Panglacial Wurm
+Roaring Slagwurm
+Segmented Wurm
+Tunneler Wurm
+Thundering Wurm
+Johtull Wurm
+Scaled Wurm
+Gravetiller Wurm
+Argothian Wurm
+Armada Wurm
+Witherscale Wurm
+Boneyard Wurm
+Engulfing Slagwurm
+Enlisted Wurm
+Pelakka Wurm
+Penumbra Wurm
+Harvest Wurm
+Streetbreaker Wurm
+Symbiotic Wurm
+Canopy Gorger
+Ravaging Riftwurm
+Ravenous Lindwurm
+Water Wurm
+Broodhunter Wurm
+Carnage Wurm
+Whiptail Wurm
+Worldspine Wurm
+Plated Slagwurm
+Plated Wurm
+Autochthon Wurm
+Tempting Wurm
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/yanling.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/yanling.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1a5d07d2ab4e44b82fc9565ed831a81b7660b6f8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/yanling.txt
@@ -0,0 +1,3 @@
+Mu Yanling
+Mu Yanling, Celestial Wind
+Mu Yanling, Sky Dancer
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/yeti.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/yeti.txt
new file mode 100644
index 0000000000000000000000000000000000000000..09a95124b68247b85c6d4b0e2915dfaf91c02577
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/mtg/yeti.txt
@@ -0,0 +1,8 @@
+Hungering Yeti
+Mountain Yeti
+Shambling Strider
+Karplusan Strider
+Karplusan Yeti
+Wiitigo
+Summit Prowler
+Sylvan Yeti
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/tolkien.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/tolkien.txt
new file mode 100644
index 0000000000000000000000000000000000000000..cc95d3bee4976d4b6f69635a4bff35fdcb79c023
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/creatures/tolkien.txt
@@ -0,0 +1,149 @@
+# sourced from http://www.lowchensaustralia.com/names/tolkien-monster-dictionary.htm
+Ancalagon
+Anfauglir
+Annatar
+Artano
+Aulendil
+Azog
+Balchoth
+Balrog
+Barrow-Wight
+Bauglir
+Belcha
+Belegor
+Belegûr
+Belegurth
+Bert
+Bill
+Black Númenórean
+Bolg
+Candles of Corpses
+Carcharoth
+Cave-troll
+Cold-drake
+Corsairs of Umbar
+Crebain
+Curumo
+Curunír
+Dragon
+Draugluin
+Dumbledors
+Dunlending
+Durin´s Bane
+Dwimmerlaik
+Easterling
+Fire-drake
+Flame of Udûn
+Flies of Mordor
+Fluithuin
+Fuinur
+Gaurhoth
+Golfimbul
+Glamhoth
+Glaurung
+Glorund
+Goblin
+Gollum
+Gonger
+Gorbag
+Gorcrow
+Gorgûn
+Gorthaur
+Gothmog
+Gríma Wormtongue
+Grishnák
+Half-orc
+Half-troll
+Haradrim
+Herumor
+Hill-men
+Hill-troll
+Hobgoblin
+Hummerhorns
+Jaws of Thirst
+Khamûl
+Kraken
+Lagduf
+Lieut. of Barad-dûr
+Lieut. of Morgul
+Long-worm
+Mauhûr
+Melegor
+Melkor
+Mewlips
+Morgoth
+Mountain-troll
+Mouth of Sauron
+Mûmak
+Mûmakil
+Muzgash
+Nazgûl
+Nazgûl Horses
+Necromancer
+Oathbreakers
+Oikeroi
+Old Man Willow
+Oliphaunt
+Olog-Hai
+Orc
+Orch
+Paths of the Dead
+Radbug
+Red Maw
+Saruman
+Sauron
+Scatha
+Shadow Host
+Shagrat
+Sharkey
+Shelob
+Silent Watchers
+Slinker
+Sméagol
+Snaga
+Sneak
+Snow-troll
+Southron
+Spider
+Stinker
+Stone-giant
+Stone-troll
+Swarthy Men
+Swertings
+Tevildo
+Thuringwethil
+Tiberth
+Tifil
+Tom
+Torog
+Trahald
+Troll
+Two-headed troll
+Ufthak
+Uglûk
+Úlairi
+Ulbandi
+Uldor
+Ulfang
+Ulfast
+Ulworth
+Umuiyan
+Ungoliant
+Uruk-Hai
+Urulóki
+Vampire Bat
+Variag
+Valaraukar
+Wainrider
+Warg-Dark Wolves
+Watcher in the Water
+Werewolf
+Were-worm
+William
+Willow
+Winged Beast
+Witch-king of Angmar
+Wolf
+Worm
+Wormtongue
+Yrch
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/items/jewelry.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/items/jewelry.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/items/materials/building_materials.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/items/materials/building_materials.txt
new file mode 100644
index 0000000000000000000000000000000000000000..dd3d3d055ef60f01eef64cafa6357a68db3033bc
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/items/materials/building_materials.txt
@@ -0,0 +1,46 @@
+# Original source: https://github.com/dariusk/corpora/blob/master/data/materials/building-materials.json
+plaster
+gypsum board
+cement
+ceramic tile
+terrazzo
+carpet
+wallpaper
+paint
+wood
+adobe
+brick
+glass brick
+terra cotta
+cinder block
+stone
+urbanite
+rebar
+wire rope
+copper
+timber
+dimensional lumber
+plywood
+shiplap
+oriented strand board
+parallel strand lumber
+glue-laminate
+plastic laminate
+plastic
+aluminum
+asphalt
+concrete
+glass
+hemp
+rammed earth
+mud
+sand
+asbestos
+glass wool
+glass fiber
+polyurethane
+polystyrene
+styrofoam
+clay
+paper
+gravel
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/items/materials/common_metals.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/items/materials/common_metals.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c04eec152051ce4af7dc31dd7210b7a549e46a69
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/items/materials/common_metals.txt
@@ -0,0 +1,19 @@
+# Original source: https://github.com/dariusk/corpora/blob/master/data/materials/layperson-metals.json
+aluminium
+chromium
+copper
+gold
+iron
+lead
+nickel
+platinum
+silver
+tin
+titanium
+zinc
+steel
+brass
+electrum
+bronze
+sterling
+pewter
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/items/materials/decorative_stones.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/items/materials/decorative_stones.txt
new file mode 100644
index 0000000000000000000000000000000000000000..587a9fe7dd8b9dc0a83624d459059f328a751c7e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/items/materials/decorative_stones.txt
@@ -0,0 +1,95 @@
+# Original source: https://github.com/dariusk/corpora/blob/master/data/materials/decorative-stones.json
+aberdeen granite
+ancaster stone
+anorthosite
+banktop
+barnack rag
+bearl
+beer stone
+blaxter
+brownstone
+burdur beige marble
+caen stone
+catcastle
+chalk
+charnockite
+clipsham stone
+clunch
+comblanchien
+corallian limestone
+corncockle
+côte d'or
+cotswold stone
+czaple
+dębnik
+diabase
+diorite
+dolomite
+dunhouse blue
+dunhouse buff
+elazig cherry marble
+emprador
+flaggy limestone
+flint
+forest marble
+frosterley marble
+gabbro
+gneiss
+granite
+granodiorite
+hall dale
+haslingden flag
+heavitree stone
+jerusalem stone
+ketton stone
+kielce
+kośmin
+larvikite
+limestone
+locharbriggs
+magnesian limestone
+marble
+marmara
+monzonite
+mugla white
+nasławice
+noche travertine
+onyx
+oolitic limestone
+peperino
+pierre d'euville
+pierre de jaumont
+pietra serena
+portland admiralty roach
+portland bowers basebed
+portland bowers lynham whitbed
+portland bowers saunders whitbed
+portland grove whitbed
+portland hard blue
+portland independent basebed
+portland independent bottom whitbed
+portland independent top whitbed
+portland new independent whitbed
+portland stone
+portoro buono
+przedborowa
+purbeck marble
+quartzite
+radków
+sandstone
+serpentinite
+skała
+skiddaw slate
+slate
+steatite
+stromatolites
+strzegom
+strzelin
+syenite
+szczytna
+tezontle
+travertine
+tuffeau stone
+verde antico
+welsh slate
+yorkstone
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/items/materials/fabrics.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/items/materials/fabrics.txt
new file mode 100644
index 0000000000000000000000000000000000000000..94463295629da609e545941faf1fe8c3d239fe2d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/items/materials/fabrics.txt
@@ -0,0 +1,207 @@
+# Original source: https://github.com/dariusk/corpora/blob/master/data/materials/fabrics.json
+acrylic
+aertex
+airdura
+airguard
+alpaca
+angora
+argyle
+baize
+ballistic nylon
+ban-lon
+barathea
+barkcloth
+batiste
+bedford cord
+bengaline silk
+beta cloth
+bizarre silk
+bobbinet
+boiled wool
+bombazine
+brilliantine
+broadcloth
+brocade
+buckram
+bunting
+burlap
+c change
+calico
+cambric
+camlet
+canvas
+capilene
+carbon fiber
+cashmere
+cedar bark
+challis
+chambray
+char cloth
+charmeuse
+charvet
+cheesecloth
+chenille
+chiffon
+chiné
+chino
+chintz
+cloqué
+cloth of gold
+coir
+conductive
+coolmax
+cordura
+corduroy
+cotton
+coutil
+crape
+crêpe
+cretonne
+crimplene
+damask
+darlexx
+dazzle
+denim
+dimity
+donegal tweed
+dornix
+dowlas
+drill
+drugget
+duck
+e-textiles
+eolienne
+felt
+fishnet
+flannel
+foulard
+fustian
+gabardine
+gannex
+gauze
+gazar
+georgette
+ghalamkar
+gingham
+gore-tex
+grenadine
+grenfell cloth
+grosgrain
+habutai
+haircloth
+harris tweed
+hemp
+herringbone
+himroo
+hodden
+houndstooth
+irish linen
+jamdani
+jersey
+jute
+kente cloth
+kerseymere
+kevlar
+khādī
+khaki drill
+lace
+lamé
+lampas
+lawn
+linen
+linsey-woolsey
+loden
+longcloth
+lumalive
+machine knitting
+mackinaw
+madapolam
+madras
+mesh
+microfiber
+milliskin
+mockado
+mohair
+moleskin
+moquette
+muslin
+nainsook
+nankeen
+needlerun net
+ninon
+nylon
+oilskin
+olefin
+organdy
+organza
+osnaburg
+ottoman
+oxford
+paduasoy
+paisley
+pashmina
+percale
+pin stripes
+piña
+plush
+polar fleece
+polyester
+pongee
+poplin
+rakematiz
+ramie
+rayadillo
+rayon
+rep
+rinzu
+ripstop
+russell cord
+saga nishiki
+samite
+sateen
+satin
+saye
+scarlet
+scrim
+sea silk
+seersucker
+serge
+shot silk
+shweshwe
+silk
+silnylon
+sisal
+songket
+spandex
+spider silk
+stub-tex
+stuff
+sympatex
+taffeta
+tais
+tartan
+tattersall
+terrycloth
+toile
+tucuyo
+tulle
+tweed
+twill
+ultrasuede
+vegetable flannel
+velour
+velours du kasaï
+velvet
+velveteen
+ventile
+vinyl coated polyester
+viyella
+voile
+wadmal
+whipcord
+wigan
+windstopper
+wool
+zephyr
+zibeline
+zorbeez
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/items/materials/fibres.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/items/materials/fibres.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b82ad9d8366a3c10ec572ac00207a0ec0c25bab2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/items/materials/fibres.txt
@@ -0,0 +1,29 @@
+# original source: https://github.com/dariusk/corpora/blob/master/data/materials/fibers.json
+batting
+boron fiber
+carding
+cellulose fiber
+codilla
+desizing
+fibril
+forbon
+leatheroid
+lenzing, grimsby
+lint
+mercerised cotton
+microfibril
+nanofiber
+natural fiber
+noil
+rolag
+roving
+sea silk
+setralit
+stainless steel fiber
+teased wool
+twine
+vulcanized fibre
+watap
+wood wool
+yarn
+zari
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/items/materials/gems.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/items/materials/gems.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7b31627157f85c04be13e0c7f8ff93146e60ba68
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/items/materials/gems.txt
@@ -0,0 +1,351 @@
+# original source: https://github.com/dariusk/corpora/blob/master/data/materials/gemstones.json
+actinolite
+adamite
+aegerine
+afghanite
+agardite
+agate
+ajoite
+alabaster
+albite
+alexandrite
+almandine
+alunite
+amazonite
+amber
+amethyst
+ametrine
+ammolite
+analcime
+anatase
+andalusite
+andesine
+andradite
+anglesite
+anhydrite
+ankerite
+annabergite
+anthophyllite
+antigorite
+antlerite
+anyolite
+apache tears
+apophyllite
+aquamarine
+aragonite
+astrophyllite
+atacamite
+augite
+aurichalcite
+austinite
+aventurine
+axinite
+azurite
+barite
+baryte
+bauxite
+bayldonite
+benitoite
+beryl
+beudantite
+biotite
+bixbite
+blue amber
+boleite
+bone
+boracite
+bornite
+botallackite
+botryogen
+bowenite
+brazilianite
+brochantite
+bronzite
+brookite
+brucite
+bubblegram
+bytownite
+cacoxenite
+calcite
+caledonite
+californite
+carletonite
+carminite
+carnallite
+carnelian
+cassiterite
+castorite
+cavansite
+celestine
+celestite
+cerussite
+ceylonite
+chalcedony
+chalcopyrite
+chambersite
+charoite
+chlorastrolite
+chloromelanite
+chondrodite
+chrysoberyl
+chrysocolla
+chrysotile
+cinnabar
+citrine
+clinochlore
+clinohumite
+clinozoisite
+clintonite
+conichalcite
+copal
+coral
+cordierite
+corundum
+creedite
+crocidolite
+cummingtonite
+cuprite
+cymophane
+danburite
+datolite
+diaboleite
+diamond
+diaspore
+diopside
+dioptase
+dolomite
+dravite
+druzy
+dumortierite
+eilat stone
+ekanite
+elaeolite
+elbaite
+emerald
+enstatite
+epidosite
+epidote
+erythrite
+esperite
+fayalite
+feldspar
+ferroaxinite
+flint
+fluorapatite
+fluorapophyllite
+fluorite
+forsterite
+garnet
+garnierite
+gibbsite
+glaucophane
+goethite
+goshenite
+grandidierite
+grossular
+gypsum
+halite
+hambergite
+hanksite
+hardystonite
+hauyne
+helenite
+heliodor
+hematite
+hemimorphite
+hessonite
+hibonite
+hiddenite
+humite
+iddingsite
+idocrase
+iolite
+ivory
+jacinth
+jade
+jadeite
+jarosite
+jasper
+jeremejevite
+jet
+kainite
+kidney ore
+kimberlite
+kornerupine
+kunzite
+kutnohorite
+kyanite
+labradorite
+lammerite
+langbeinite
+langite
+lapis lazuli
+larimar
+lawsonite
+lazurite
+leadhillite
+lechatelierite
+legrandite
+lepidolite
+leucophanite
+linarite
+londonite
+magnesioaxinite
+magnesite
+malachite
+manganaxinite
+manganoan calcite
+maw sit sit
+melanterite
+mendipite
+metal-coated crystals
+milky quartz
+mimetite
+moissanite
+mookaite
+moonstone
+morganite
+muscovite
+musgravite
+nacre
+natrophilite
+nepheline
+nephrite
+nimite
+normandite
+obsidian
+olenite
+olivenite
+olivine
+olivinite
+onyx
+opal
+orthoclase
+pallasite
+pantellerite
+papagoite
+pargasite
+pearl
+pectolite
+peridot
+peridotite
+petalite
+petoskey stone
+pezzottaite
+pharmacosiderite
+phlogopite
+phosgenite
+pietersite
+pimelite
+plancheite
+plumbogummite
+pollucite
+polyhalite
+posnjakite
+poudretteite
+prasiolite
+prehnite
+proustite
+pumpellyite
+purpurite
+pyrite
+pyromorphite
+pyrope
+pyrrhotite
+quartz
+raspite
+rhodizite
+rhodochrosite
+riebeckite
+rosasite
+rose quartz
+rossmanite
+rubellite
+ruby
+rutile
+sapphire
+sardonyx
+scapolite
+scheelite
+schorlomite
+scolecite
+scorodite
+selenite
+seraphinite
+serendibite
+serpentite
+shattuckite
+shigaite
+siderite
+smithsonite
+smoky quartz
+soapstone
+sodalite
+spessartine
+spessartite
+sphene
+spherocobaltite
+spinel
+spodumene
+steatite
+stichtite
+stilbite
+stishovite
+stolzite
+strengite
+sugilite
+sunstone
+susannite
+sylvite
+synthetic alexandrite
+synthetic beryl
+synthetic corundum
+synthetic cubic zirconia
+synthetic diamond
+synthetic moissanite
+synthetic opal
+synthetic quartz
+synthetic spinel
+synthetic turquoise
+sérandite
+taaffeite
+tactite
+talc
+tantalite
+tanzanite
+thomsonite
+thulite
+tiger's-eye
+tinaksite
+tinzenite
+titanite
+topaz
+tourmaline
+tremolite
+trinitite
+tsavorite
+tschermakite
+tugtupite
+turquoise
+tusionite
+tyrolite
+unakite
+uvarovite
+vanadinite
+variscite
+vauxite
+vermiculite
+vesuvianite
+villiaumite
+wakefieldite
+wavellite
+weloganite
+wolfenite
+xenotime
+yttrium aluminium garnet
+zektzerite
+zeolite
+zincite
+zinnwaldite
+zircon
+zoisite
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/items/materials/metals.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/items/materials/metals.txt
new file mode 100644
index 0000000000000000000000000000000000000000..076525fb36369b080971b3c5310d7ad15b611244
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/items/materials/metals.txt
@@ -0,0 +1,92 @@
+actinium
+aluminium
+americium
+barium
+berkelium
+beryllium
+bismuth
+bohrium
+cadmium
+calcium
+californium
+cerium
+cesium
+chromium
+cobalt
+copper
+curium
+darmstadtium
+dubnium
+dysprosium
+einsteinium
+erbium
+europium
+fermium
+francium
+gadolinium
+gallium
+gold
+hafnium
+hassium
+holmium
+indium
+iridium
+iron
+lanthanum
+lawrencium
+lead
+lithium
+lutetium
+magnesium
+manganese
+meitnerium
+mendelevium
+mercury
+molybdenum
+neodymium
+neptunium
+nickel
+niobium
+nobelium
+osmium
+palladium
+platinum
+plutonium
+polonium
+potassium
+praseodymium
+promethium
+protactinium
+radium
+rhenium
+rhodium
+roentgenium
+rubidium
+ruthenium
+rutherfordium
+samarium
+scandium
+seaborgium
+silver
+sodium
+strontium
+tantalum
+technetium
+terbium
+thallium
+thorium
+thulium
+tin
+titanium
+tungsten
+ununbium
+ununhexium
+ununpentium
+ununquadium
+ununtrium
+uranium
+vanadium
+ytterbium
+yttrium
+zinc
+zirconium
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/items/materials/packaging_materials.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/items/materials/packaging_materials.txt
new file mode 100644
index 0000000000000000000000000000000000000000..86b368e3ec4dea589e75f8c9fcb12d4ef121955e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/items/materials/packaging_materials.txt
@@ -0,0 +1,27 @@
+aluminium foil
+bopet
+bubble wrap
+cellophane
+corrugated fiberboard
+corrugated plastic
+cushioning
+foam peanut
+glass
+hot-melt adhesive
+kraft paper
+linear low-density polyethylene
+liquid packaging board
+low-density polyethylene
+metallised film
+modified atmosphere
+molded pulp
+nonwoven fabric
+paperboard
+plastic film
+plastic wrap
+polyester
+polyethylene
+polypropylene
+shrinkwrap
+tinplate
+velostat
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/items/materials/technical_fabrics.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/items/materials/technical_fabrics.txt
new file mode 100644
index 0000000000000000000000000000000000000000..26eb475741f26ae56549598198eae804a9ffc4af
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/items/materials/technical_fabrics.txt
@@ -0,0 +1,12 @@
+# Original source: https://github.com/dariusk/corpora/blob/master/data/materials/technical-fabrics.json
+gore-tex
+iron-on
+kevlar
+microfiber
+polar fleece
+polyurethane
+smartwool
+space blanket
+spandex
+vinyl
+polyester
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/computergraphics/3dengines.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/computergraphics/3dengines.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7f57e003a4f8539bc57d967833d2c0e9e6b6ab8f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/computergraphics/3dengines.txt
@@ -0,0 +1,11 @@
+# Originally sourced from https://aiartcreation.fandom.com/wiki/Modifier_Taxonomy#Computer_Graphics
+CryEngine
+Cinema 4D
+SketchUp
+Bryce 3D
+Maya
+Sketchfab
+Unreal Engine
+V-Ray
+VRay tracing
+Octane
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/computergraphics/gamesystems.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/computergraphics/gamesystems.txt
new file mode 100644
index 0000000000000000000000000000000000000000..448e6b74ac43674ee8bb309650c4832644403a2f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/computergraphics/gamesystems.txt
@@ -0,0 +1,11 @@
+# Originally sourced from https://aiartcreation.fandom.com/wiki/Modifier_Taxonomy#Computer_Graphics
+2D game graphics
+Playstation 5 screenshot
+PS1 graphics
+XBox 360 graphics
+Roblox
+Assassin's Creed
+Fallout
+Machinarium
+Samarost
+Skyrim
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/computergraphics/generalcomputer.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/computergraphics/generalcomputer.txt
new file mode 100644
index 0000000000000000000000000000000000000000..112a707ff35bd2e16e92899f5a8462a92e5a466b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/computergraphics/generalcomputer.txt
@@ -0,0 +1,8 @@
+# Originally sourced from https://aiartcreation.fandom.com/wiki/Modifier_Taxonomy#Computer_Graphics
+Low poly
+Volcano-motion-capture
+Motion Capture
+Physically based rendering
+Vector graphics
+#vfxfriday
+prerendered graphics
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/computergraphics/studios.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/computergraphics/studios.txt
new file mode 100644
index 0000000000000000000000000000000000000000..84038bd6826adc5471b1ff1600a80aef506e5502
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/computergraphics/studios.txt
@@ -0,0 +1,2 @@
+# Originally sourced from https://aiartcreation.fandom.com/wiki/Modifier_Taxonomy#Computer_Graphics
+reimagined by Industrial Light and Magic
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/digitalart.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/digitalart.txt
new file mode 100644
index 0000000000000000000000000000000000000000..597cd7aa17e3a91290ddb2183582837ce469b6cf
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/digitalart.txt
@@ -0,0 +1,6 @@
+# Originally sourced from https://aiartcreation.fandom.com/wiki/Modifier_Taxonomy#Medium
+Deepfake
+Digital illustration
+Glowing neon
+Photoillustration
+Pixel art
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/drawing.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/drawing.txt
new file mode 100644
index 0000000000000000000000000000000000000000..86231c1c35b998dfe0939808575618742e18d2a6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/drawing.txt
@@ -0,0 +1,8 @@
+# Originally sourced from https://aiartcreation.fandom.com/wiki/Modifier_Taxonomy#Medium
+Cartoon
+Chalk art
+Charcoal drawing
+Children’s drawing
+Ink drawing
+Matte drawing
+Pencil sketch
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/othermedia.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/othermedia.txt
new file mode 100644
index 0000000000000000000000000000000000000000..fad6097db0d39701a85a0306b32cce4ec989dd80
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/othermedia.txt
@@ -0,0 +1,13 @@
+# Originally sourced from https://aiartcreation.fandom.com/wiki/Modifier_Taxonomy#Medium
+Etching
+Mosaic
+Pietra dura
+Trompe-l'œil
+Woodcut
+Assemblage
+Collage
+Mixed media
+Photocollage
+Photocopy
+Quilling
+Tattoo
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/painting.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/painting.txt
new file mode 100644
index 0000000000000000000000000000000000000000..314bccf485aa6ed7e8068c65dfee4858330aad12
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/painting.txt
@@ -0,0 +1,12 @@
+# Originally sourced from https://aiartcreation.fandom.com/wiki/Modifier_Taxonomy#Medium
+Acrylic art
+Airbrush art
+Detailed painting
+Fresco
+Impasto
+Matte background
+Matte painting
+Oil on canvas
+Poster art
+Speedpainting
+Watercolour
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/aperture.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/aperture.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a7c8be9a5f63ed5d97581b2d2b93d1afa2f32b0b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/aperture.txt
@@ -0,0 +1,8 @@
+f/1.4
+f/2.0
+f/2.8
+f/4.0
+f/5.6
+f/8.0
+f/11.0
+f/16.0
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7d93c5926dd19eacfb937076a8e8a416cbea69a1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models.txt
@@ -0,0 +1,50 @@
+# More camera models than you will ever need
+# Sourced from https://raw.githubusercontent.com/cdowlatram/Stereoscopic-Image-Analysis/dd59f5eb808101ef14eafc62a26e6590d6e5da6e/image_downloader/sensor_database.csv
+__medium/photography/camera_models/acer__
+__medium/photography/camera_models/agfaphoto__
+__medium/photography/camera_models/benq__
+__medium/photography/camera_models/canon__
+__medium/photography/camera_models/casio__
+__medium/photography/camera_models/classic__
+__medium/photography/camera_models/concord__
+__medium/photography/camera_models/contax__
+__medium/photography/camera_models/epson__
+__medium/photography/camera_models/fujifilm__
+__medium/photography/camera_models/ge__
+__medium/photography/camera_models/hp__
+__medium/photography/camera_models/iphone__
+__medium/photography/camera_models/jenoptik__
+__medium/photography/camera_models/kodak__
+__medium/photography/camera_models/konica__
+__medium/photography/camera_models/konica_minolta__
+__medium/photography/camera_models/kyocera__
+__medium/photography/camera_models/leica__
+__medium/photography/camera_models/minolta__
+__medium/photography/camera_models/minox__
+__medium/photography/camera_models/nikon__
+__medium/photography/camera_models/olympus__
+__medium/photography/camera_models/panasonic__
+__medium/photography/camera_models/pentax__
+__medium/photography/camera_models/praktica__
+__medium/photography/camera_models/ricoh__
+__medium/photography/camera_models/rollei__
+__medium/photography/camera_models/samsung__
+__medium/photography/camera_models/sanyo__
+__medium/photography/camera_models/sigma__
+__medium/photography/camera_models/sony__
+__medium/photography/camera_models/toshiba__
+__medium/photography/camera_models/vivitar__
+__medium/photography/camera_models/yakumo__
+FC300S
+FC6310
+BLN-L24
+JVC GC-QX3HD
+JVC GC-QX5HD
+LM-Q710.FGN
+MotoE2(4G-LTE)
+Nokia 808 PureView
+Nokia Lumia 1020
+RP_OV5647
+RP_imx219
+ZTE Blade L5 Plus
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/acer.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/acer.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3ba85c800d4c197046bc6a15e45e91516caf9960
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/acer.txt
@@ -0,0 +1,17 @@
+Acer CE-5330
+Acer CE-5430
+Acer CE-6430
+Acer CI-6330
+Acer CI-6530
+Acer CI-8330
+Acer CL-5300
+Acer CP-8531
+Acer CP-8660
+Acer CR-5130
+Acer CR-6530
+Acer CR-8530
+Acer CS-5530
+Acer CS-5531
+Acer CS-6530
+Acer CS-6531
+Acer CU-6530
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/agfaphoto.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/agfaphoto.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0f7f97acaeced3b251c7d63f4a6d7510629329e6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/agfaphoto.txt
@@ -0,0 +1,53 @@
+AgfaPhoto Compact 100
+AgfaPhoto Compact 102
+AgfaPhoto Compact 103
+AgfaPhoto DC-1030i
+AgfaPhoto DC-1033m
+AgfaPhoto DC-1033x
+AgfaPhoto DC-1338i
+AgfaPhoto DC-1338sT
+AgfaPhoto DC-2030m
+AgfaPhoto DC-302
+AgfaPhoto DC-500
+AgfaPhoto DC-530i
+AgfaPhoto DC-533
+AgfaPhoto DC-600uw
+AgfaPhoto DC-630
+AgfaPhoto DC-630i
+AgfaPhoto DC-630x
+AgfaPhoto DC-633x
+AgfaPhoto DC-633xs
+AgfaPhoto DC-730i
+AgfaPhoto DC-733i
+AgfaPhoto DC-733s
+AgfaPhoto DC-735
+AgfaPhoto DC-735i
+AgfaPhoto DC-738i
+AgfaPhoto DC-830
+AgfaPhoto DC-830i
+AgfaPhoto DC-8330i
+AgfaPhoto DC-8338i
+AgfaPhoto DC-833m
+AgfaPhoto DC-8428s
+AgfaPhoto ePhoto 1280
+AgfaPhoto ePhoto 1680
+AgfaPhoto ePhoto CL18
+AgfaPhoto ePhoto CL30
+AgfaPhoto ePhoto CL30 Clik!
+AgfaPhoto ePhoto CL45
+AgfaPhoto ePhoto CL50
+AgfaPhoto Optima 1
+AgfaPhoto Optima 100
+AgfaPhoto Optima 102
+AgfaPhoto Optima 103
+AgfaPhoto Optima 104
+AgfaPhoto Optima 105
+AgfaPhoto Optima 1338mT
+AgfaPhoto Optima 1438m
+AgfaPhoto Optima 3
+AgfaPhoto Optima 830UW
+AgfaPhoto Optima 8328m
+AgfaPhoto sensor 505-D
+AgfaPhoto sensor 505-X
+AgfaPhoto sensor 530s
+AgfaPhoto sensor 830s
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/benq.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/benq.txt
new file mode 100644
index 0000000000000000000000000000000000000000..093a3a46281f1cc053b043c01b59cd404ea082e7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/benq.txt
@@ -0,0 +1,107 @@
+BenQ AC100
+BenQ AE100
+BenQ C1420
+BenQ DC 2300
+BenQ DC 2410
+BenQ DC 3400
+BenQ DC 3410
+BenQ DC 4330
+BenQ DC 4500
+BenQ DC 5330
+BenQ DC C1000
+BenQ DC C1020
+BenQ DC C1030 Eco
+BenQ DC C1035
+BenQ DC C1050
+BenQ DC C1060
+BenQ DC C1220
+BenQ DC C1230
+BenQ DC C1250
+BenQ DC C1255
+BenQ DC C1430
+BenQ DC C1450
+BenQ DC C1460
+BenQ DC C1480
+BenQ DC C30
+BenQ DC C35
+BenQ DC C40
+BenQ DC C420
+BenQ DC C50
+BenQ DC C500
+BenQ DC C51
+BenQ DC C510
+BenQ DC C520
+BenQ DC C530
+BenQ DC C540
+BenQ DC C60
+BenQ DC C610
+BenQ DC C62
+BenQ DC C630
+BenQ DC C640
+BenQ DC C740
+BenQ DC C740i
+BenQ DC C750
+BenQ DC C800
+BenQ DC C840
+BenQ DC C850
+BenQ DC E1000
+BenQ DC E1020
+BenQ DC E1030
+BenQ DC E1035
+BenQ DC E1050
+BenQ DC E1050t
+BenQ DC E1220
+BenQ DC E1230
+BenQ DC E1240
+BenQ DC E1250
+BenQ DC E1260
+BenQ DC E1280
+BenQ DC E1420
+BenQ DC E1430
+BenQ DC E1460
+BenQ DC E1465
+BenQ DC E30
+BenQ DC E300
+BenQ DC E310
+BenQ DC E40
+BenQ DC E41
+BenQ DC E43
+BenQ DC E510
+BenQ DC E520
+BenQ DC E520 plus
+BenQ DC E53
+BenQ DC E600
+BenQ DC E605
+BenQ DC E610
+BenQ DC E63 Plus
+BenQ DC E720
+BenQ DC E800
+BenQ DC E820
+BenQ DC L1020
+BenQ DC P1410
+BenQ DC P500
+BenQ DC P860
+BenQ DC S1430
+BenQ DC S30
+BenQ DC S40
+BenQ DC T1260
+BenQ DC T700
+BenQ DC T800
+BenQ DC T850
+BenQ DC W1220
+BenQ DC X600
+BenQ DC X710
+BenQ DC X720
+BenQ DC X725
+BenQ DC X735
+BenQ DC X800
+BenQ DC X835
+BenQ E1480
+BenQ G1
+BenQ GH200
+BenQ GH600
+BenQ GH700
+BenQ LM100
+BenQ S1410
+BenQ S1420
+BenQ T1460
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/canon.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/canon.txt
new file mode 100644
index 0000000000000000000000000000000000000000..13cca040a787a2471b802f94c7a10e73466ba49a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/canon.txt
@@ -0,0 +1,302 @@
+Canon Digital IXUS
+Canon Digital IXUS 100 IS
+Canon Digital IXUS 110 IS
+Canon Digital IXUS 120 IS
+Canon Digital IXUS 200 IS
+Canon Digital IXUS 300
+Canon Digital IXUS 330
+Canon Digital IXUS 40
+Canon Digital IXUS 400
+Canon Digital IXUS 430
+Canon Digital IXUS 50
+Canon Digital IXUS 500
+Canon Digital IXUS 60
+Canon Digital IXUS 65
+Canon Digital IXUS 80 IS
+Canon Digital IXUS 800 IS
+Canon Digital IXUS 85 IS
+Canon Digital IXUS 850 IS
+Canon Digital IXUS 860 IS
+Canon Digital IXUS 870 IS
+Canon Digital IXUS 90 IS
+Canon Digital IXUS 900 Ti
+Canon Digital IXUS 95 IS
+Canon Digital IXUS 950 IS
+Canon Digital IXUS 960 IS
+Canon Digital IXUS 970 IS
+Canon Digital IXUS 980 IS
+Canon Digital IXUS 990 IS
+Canon Digital IXUS i
+Canon Digital IXUS i Zoom
+Canon Digital IXUS i7
+Canon Digital IXUS II
+Canon Digital IXUS IIs
+Canon Digital IXUS V
+Canon Digital IXUS v2
+Canon Digital IXUS v3
+Canon ELPH 135 / IXUS 145
+Canon ELPH 140 IS / IXUS 150
+Canon ELPH 150 IS / IXUS 155
+Canon EOS 1000D
+Canon EOS 10D
+Canon EOS 20D
+Canon EOS 20Da
+Canon EOS 2000D
+Canon EOS 300D
+Canon EOS 30D
+Canon EOS 350D
+Canon EOS 400D
+Canon EOS 40D
+Canon EOS 450D
+Canon EOS 500D
+Canon EOS 50D
+Canon EOS 5D
+Canon EOS 5D Mark II
+Canon EOS 5D Mark III
+Canon EOS 5D Mark IV
+Canon EOS 60D
+Canon EOS 60Da
+Canon EOS 6D
+Canon EOS 70D
+Canon EOS 7D
+Canon EOS 7D Mark II
+Canon EOS D30
+Canon EOS D60
+Canon EOS M
+Canon EOS Rebel SL1 / 100D
+Canon EOS Rebel T2i / Kiss X4 / 550D
+Canon EOS Rebel T1i / 500D
+Canon EOS Rebel T3 / 1100D
+Canon EOS Rebel T3i / 600D
+Canon EOS Rebel T4i / 650D
+Canon EOS Rebel T5 / 1200D
+Canon EOS Rebel T5i / 700D
+Canon EOS-1D
+Canon EOS-1D C
+Canon EOS-1D Mark II
+Canon EOS-1D Mark II N
+Canon EOS-1D Mark III
+Canon EOS-1D Mark IV
+Canon EOS-1D X
+Canon EOS-1Ds
+Canon EOS-1Ds Mark II
+Canon EOS-1Ds Mark III
+Canon IXUS 1000 HS
+Canon IXUS 105
+Canon IXUS 1100 HS
+Canon IXUS 115 HS
+Canon IXUS 125 HS
+Canon IXUS 130
+Canon IXUS 132
+Canon IXUS 210
+Canon IXUS 220 HS
+Canon IXUS 230 HS
+Canon IXUS 240 HS
+Canon IXUS 300 HS
+Canon IXUS 310 HS
+Canon IXUS 500 HS
+Canon IXUS 510 HS
+Canon PowerShot 350
+Canon PowerShot 600
+Canon Powershot A10
+Canon Powershot A100
+Canon PowerShot A1000 IS
+Canon Powershot A1100 IS
+Canon Powershot A1200
+Canon PowerShot A1300
+Canon PowerShot A1400
+Canon Powershot A20
+Canon Powershot A200
+Canon PowerShot A2000 IS
+Canon Powershot A2100 IS
+Canon Powershot A2200
+Canon PowerShot A2300
+Canon PowerShot A2400 IS
+Canon PowerShot A2500
+Canon PowerShot A2600
+Canon Powershot A30
+Canon Powershot A300
+Canon Powershot A3000 IS
+Canon Powershot A310
+Canon Powershot A3100 IS
+Canon Powershot A3200 IS
+Canon Powershot A3300 IS
+Canon PowerShot A3400 IS
+Canon PowerShot A3500 IS
+Canon Powershot A40
+Canon PowerShot A400
+Canon PowerShot A4000 IS
+Canon Powershot A410
+Canon Powershot A420
+Canon PowerShot A430
+Canon PowerShot A450
+Canon PowerShot A460
+Canon PowerShot A470
+Canon PowerShot A480
+Canon PowerShot A490
+Canon PowerShot A495
+Canon PowerShot A5
+Canon PowerShot A5 Zoom
+Canon PowerShot A50
+Canon Powershot A510
+Canon Powershot A520
+Canon PowerShot A530
+Canon Powershot A540
+Canon PowerShot A550
+Canon PowerShot A560
+Canon PowerShot A570 IS
+Canon PowerShot A580
+Canon PowerShot A590 IS
+Canon Powershot A60
+Canon Powershot A610
+Canon PowerShot A620
+Canon PowerShot A630
+Canon PowerShot A640
+Canon PowerShot A650 IS
+Canon Powershot A70
+Canon PowerShot A700
+Canon PowerShot A710 IS
+Canon PowerShot A720 IS
+Canon Powershot A75
+Canon Powershot A80
+Canon PowerShot A800
+Canon PowerShot A810
+Canon PowerShot A85
+Canon PowerShot A95
+Canon PowerShot D10
+Canon PowerShot D20
+Canon PowerShot D30
+Canon PowerShot E1
+Canon PowerShot ELPH 100 HS
+Canon PowerShot ELPH 110 HS
+Canon PowerShot ELPH 115 IS
+Canon PowerShot ELPH 130 IS
+Canon PowerShot ELPH 300 HS
+Canon PowerShot ELPH 310 HS
+Canon PowerShot ELPH 320 HS
+Canon PowerShot ELPH 330 HS
+Canon PowerShot ELPH 340 HS
+Canon PowerShot ELPH 500 HS
+Canon PowerShot ELPH 510 HS
+Canon PowerShot ELPH 520 HS
+Canon PowerShot Elph 530 HS
+Canon Powershot G1
+Canon PowerShot G1 X
+Canon PowerShot G1 X Mark II
+Canon PowerShot G10
+Canon PowerShot G11
+Canon PowerShot G12
+Canon PowerShot G15
+Canon PowerShot G16
+Canon Powershot G2
+Canon Powershot G3
+Canon Powershot G5
+Canon PowerShot G6
+Canon PowerShot G7
+Canon PowerShot G7 X
+Canon PowerShot G9
+Canon PowerShot N
+Canon PowerShot N100
+Canon PowerShot N2
+Canon PowerShot Pro1
+Canon PowerShot Pro70
+Canon PowerShot Pro90 IS
+Canon Powershot S1 IS
+Canon Powershot S10
+Canon PowerShot S100
+Canon PowerShot S100 Digital IXUS
+Canon PowerShot S110
+Canon PowerShot S120
+Canon Powershot S2 IS
+Canon Powershot S20
+Canon PowerShot S200
+Canon PowerShot S230
+Canon PowerShot S3 IS
+Canon Powershot S30
+Canon PowerShot S300
+Canon PowerShot S330
+Canon Powershot S40
+Canon PowerShot S400
+Canon PowerShot S410
+Canon Powershot S45
+Canon PowerShot S5 IS
+Canon Powershot S50
+Canon PowerShot S500
+Canon PowerShot S60
+Canon PowerShot S70
+Canon Powershot S80
+Canon PowerShot S90
+Canon PowerShot S95
+Canon PowerShot SD10
+Canon PowerShot SD100
+Canon PowerShot SD1000
+Canon PowerShot SD110
+Canon PowerShot SD1100 IS
+Canon PowerShot SD1200 IS
+Canon PowerShot SD1300 IS
+Canon PowerShot SD1400 IS
+Canon PowerShot SD20
+Canon PowerShot SD200
+Canon PowerShot SD30
+Canon PowerShot SD300
+Canon PowerShot SD3500 IS
+Canon PowerShot SD40
+Canon PowerShot SD400
+Canon PowerShot SD4000 IS
+Canon PowerShot SD430 Wireless
+Canon PowerShot SD450
+Canon PowerShot SD4500 IS
+Canon PowerShot SD500
+Canon PowerShot SD550
+Canon PowerShot SD600
+Canon PowerShot SD630
+Canon PowerShot SD700 IS
+Canon PowerShot SD750
+Canon PowerShot SD770 IS
+Canon PowerShot SD780 IS
+Canon PowerShot SD790 IS
+Canon PowerShot SD800 IS
+Canon PowerShot SD850 IS
+Canon PowerShot SD870 IS
+Canon PowerShot SD880 IS
+Canon PowerShot SD890 IS
+Canon PowerShot SD900
+Canon PowerShot SD940 IS
+Canon PowerShot SD950 IS
+Canon PowerShot SD960 IS
+Canon PowerShot SD970 IS
+Canon PowerShot SD980 IS
+Canon PowerShot SD990 IS
+Canon PowerShot SX1 IS
+Canon PowerShot SX10 IS
+Canon PowerShot SX100 IS
+Canon PowerShot SX110 IS
+Canon PowerShot SX120 IS
+Canon PowerShot SX130 IS
+Canon PowerShot SX150 IS
+Canon PowerShot SX160 IS
+Canon PowerShot SX170 IS
+Canon PowerShot SX20 IS
+Canon PowerShot SX200 IS
+Canon PowerShot SX210 IS
+Canon PowerShot SX220 HS
+Canon PowerShot SX230 HS
+Canon PowerShot SX240 HS
+Canon PowerShot SX260 HS
+Canon PowerShot SX270 HS
+Canon PowerShot SX280 HS
+Canon PowerShot SX30 IS
+Canon PowerShot SX40 HS
+Canon PowerShot SX400 IS
+Canon PowerShot SX50 HS
+Canon PowerShot SX500 IS
+Canon PowerShot SX510 HS
+Canon PowerShot SX520 HS
+Canon PowerShot SX60 HS
+Canon PowerShot SX600 HS
+Canon PowerShot SX700 HS
+Canon PowerShot TX1
+Canon Pro90 IS
+Canon S200
+Canon SX220 HS
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/casio.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/casio.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b7e5dc2ff98c91f9a71e5609acb877307d387852
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/casio.txt
@@ -0,0 +1,163 @@
+Casio EX-FR10
+Casio EX-N1
+Casio EX-N10
+Casio EX-N20
+Casio EX-N5
+Casio EX-N50
+Casio EX-TR10
+Casio EX-TR15
+Casio EX-ZR400
+Casio EX-ZR700
+Casio EX-ZR800
+Casio EX-ZS30
+Casio EXILIM EX-JE10
+Casio Exilim EX-10
+Casio Exilim EX-100
+Casio EXILIM EX-FC100
+Casio EXILIM EX-FC150
+Casio EXILIM EX-FC160s
+Casio EXILIM EX-FH100
+Casio EXILIM EX-FH150
+Casio EXILIM EX-FH20
+Casio EXILIM EX-FH25
+Casio EXILIM EX-FS10
+Casio EXILIM EX-G1
+Casio EXILIM EX-H10
+Casio EXILIM EX-H15
+Casio EXILIM EX-H20G
+Casio EXILIM EX-H30
+Casio EXILIM EX-H5
+Casio EXILIM EX-H50
+Casio EXILIM EX-JE10
+Casio EXILIM EX-M1
+Casio EXILIM EX-M2
+Casio EXILIM EX-M20
+Casio Exilim EX-P505
+Casio Exilim EX-P600
+Casio Exilim EX-P700
+Casio EXILIM EX-S1
+Casio EXILIM EX-S10
+Casio Exilim EX-S100
+Casio EXILIM EX-S12
+Casio EXILIM EX-S2
+Casio EXILIM EX-S20
+Casio EXILIM EX-S200
+Casio EXILIM EX-S3
+Casio EXILIM EX-S5
+Casio Exilim EX-S500
+Casio Exilim EX-S600
+Casio EXILIM EX-S600D
+Casio EXILIM EX-S7
+Casio EXILIM EX-S770
+Casio EXILIM EX-S770D
+Casio EXILIM EX-S8
+Casio EXILIM EX-S880
+Casio EXILIM EX-TR100
+Casio EXILIM EX-TR150
+Casio EXILIM EX-V7
+Casio EXILIM EX-V8
+Casio EXILIM EX-Z1
+Casio EXILIM EX-Z10
+Casio EXILIM EX-Z100
+Casio EXILIM EX-Z1000
+Casio EXILIM EX-Z1050
+Casio EXILIM EX-Z1080
+Casio EXILIM EX-Z110
+Casio EXILIM EX-Z120
+Casio Exilim EX-Z1200 SR
+Casio EXILIM EX-Z150
+Casio EXILIM EX-Z16
+Casio EXILIM EX-Z19
+Casio EXILIM EX-Z2
+Casio EXILIM EX-Z20
+Casio EXILIM EX-Z200
+Casio EXILIM EX-Z2000
+Casio EXILIM EX-Z2300
+Casio EXILIM EX-Z25
+Casio EXILIM EX-Z250
+Casio EXILIM EX-Z270
+Casio EXILIM EX-Z280
+Casio EXILIM EX-Z29
+Casio EXILIM EX-Z3
+Casio EXILIM EX-Z30
+Casio EXILIM EX-Z300
+Casio EXILIM EX-Z3000
+Casio EXILIM EX-Z33
+Casio EXILIM EX-Z330
+Casio EXILIM EX-Z35
+Casio EXILIM EX-Z350
+Casio EXILIM EX-Z4
+Casio EXILIM EX-Z40
+Casio EXILIM EX-Z400
+Casio EXILIM EX-Z450
+Casio EXILIM EX-Z5
+Casio EXILIM EX-Z50
+Casio Exilim EX-Z500
+Casio EXILIM EX-Z55
+Casio EXILIM EX-Z550
+Casio Exilim EX-Z57
+Casio EXILIM EX-Z6
+Casio EXILIM EX-Z60
+Casio EXILIM EX-Z600
+Casio EXILIM EX-Z65
+Casio EXILIM EX-Z7
+Casio EXILIM EX-Z70
+Casio EXILIM EX-Z700
+Casio EXILIM EX-Z75
+Casio Exilim EX-Z750
+Casio EXILIM EX-Z77
+Casio EXILIM EX-Z8
+Casio EXILIM EX-Z80
+Casio EXILIM EX-Z800
+Casio EXILIM EX-Z85
+Casio EXILIM EX-Z850
+Casio EXILIM EX-Z9
+Casio EXILIM EX-Z90
+Casio EXILIM EX-ZR10
+Casio EXILIM EX-ZR100
+Casio Exilim EX-ZR1000
+Casio Exilim EX-ZR1100
+Casio EXILIM EX-ZR15
+Casio EXILIM EX-ZR20
+Casio EXILIM EX-ZR200
+Casio EXILIM EX-ZR300
+Casio EXILIM EX-ZS10
+Casio EXILIM EX-ZS100
+Casio EXILIM EX-ZS12
+Casio EXILIM EX-ZS15
+Casio EXILIM EX-ZS150
+Casio EXILIM EX-ZS20
+Casio Exilim EX-ZS5
+Casio EXILIM EX-ZS6
+Casio EXILIM Pro EX-F1
+Casio EXILIM QV-R100
+Casio Exilim TRYX
+Casio GV-10
+Casio GV-20
+Casio QV-2000UX
+Casio QV-2100
+Casio QV-2300UX
+Casio QV-2400UX
+Casio QV-2800UX
+Casio QV-2900UX
+Casio QV-300
+Casio QV-3000EX
+Casio QV-3500EX
+Casio QV-3EX / XV-3
+Casio QV-4000
+Casio QV-5000SX
+Casio QV-5500SX
+Casio QV-5700
+Casio QV-700
+Casio QV-7000SX
+Casio QV-770
+Casio QV-8000SX
+Casio QV-R3
+Casio QV-R4
+Casio QV-R40
+Casio QV-R41
+Casio QV-R51
+Casio QV-R52
+Casio QV-R61
+Casio QV-R62
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/classic.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/classic.txt
new file mode 100644
index 0000000000000000000000000000000000000000..eb56a899d56c6a84a5da82940ecf52c784b7a7a9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/classic.txt
@@ -0,0 +1,33 @@
+#From https://www.shutterbug.com/content/top-20-greatest-cameras-all-time
+The Kodak, 1888
+Leica I
+Kine Exakta I
+Rolleiflex Automat
+Polaroid 95
+Leica M3
+Nikon F
+Olympus OM-1
+Pentax K1000
+Minolta Maxxum 7000
+Nikon NC2000 AP
+Apple QuickTake
+Sony Mavica MVC-FD5
+Nikon D1
+Canon EOS-1Ds
+Canon EOS Digital Rebel
+Panasonic Lumix DMC-G1
+{Nikon D90|Canon EOS 5D Mark II}
+Leica M9
+Sony A7R II
+
+# https://www.shutterbug.com/content/10-more-greatest-cameras-all-time
+Minolta DiMage-X
+Nikon Coolpix 950
+Apple iPhone
+Fujifilm FinePix S1 Pro
+Pentax 645Z
+Mamiya RB67
+Pentax Spotmatic
+Hasselblad 1600F
+Hasselblad 500C
+Speed Graphic
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/concord.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/concord.txt
new file mode 100644
index 0000000000000000000000000000000000000000..827e8e8135c1e4c4b76c76b96b74976138f32103
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/concord.txt
@@ -0,0 +1,48 @@
+Concord 00.
+Concord 1500
+Concord 2.
+Concord 3043
+Concord 3045
+Concord 3046
+Concord 3047
+Concord 3345z
+Concord 3346z
+Concord 40.
+Concord 4042
+Concord 42.
+Concord 43.
+Concord 4340z
+Concord 45.
+Concord 46.
+Concord 47.
+Concord 5040
+Concord 5340z
+Concord 5345z
+Concord 6340z
+Concord 642
+Concord DVx
+Concord ES500z
+Concord ES510z
+Concord Eye-Q 1000
+Concord Eye-Q 1300
+Concord Eye-Q 2040
+Concord Eye-Q 2133z
+Concord Eye-Q 3040AF
+Concord Eye-Q 3103
+Concord Eye-Q 3120 AF
+Concord Eye-Q 3132z
+Concord Eye-Q 3340z
+Concord Eye-Q 3341z
+Concord Eye-Q 3343z
+Concord Eye-Q 4060AF
+Concord Eye-Q 4330z
+Concord Eye-Q 4342z
+Concord Eye-Q 4360z
+Concord Eye-Q 4363z
+Concord Eye-Q 5062AF
+Concord Eye-Q 5330z
+Concord Eye-Q Duo 2000
+Concord Eye-Q Duo LCD
+Concord Eye-Q Go 2000
+Concord Eye-Q Go LCD
+Concord Eye-Q Go Wireless
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/contax.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/contax.txt
new file mode 100644
index 0000000000000000000000000000000000000000..31fc2cfc1a97e4db92f7592670ffff920cfb12db
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/contax.txt
@@ -0,0 +1,5 @@
+Contax i4R
+Contax N Digital
+Contax SL300R T
+Contax TVS Digital
+Contax U4R
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/epson.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/epson.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6e0aa91002072e5929aefc34146c38018eb6394e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/epson.txt
@@ -0,0 +1,19 @@
+Epson L-500V
+Epson PhotoPC 3000 Zoom
+Epson PhotoPC 3100 Zoom
+Epson PhotoPC 500
+Epson PhotoPC 550
+Epson PhotoPC 600
+Epson PhotoPC 650
+Epson PhotoPC 700
+Epson PhotoPC 750 Zoom
+Epson PhotoPC 800
+Epson PhotoPC 850 Zoom
+Epson PhotoPC L-200
+Epson PhotoPC L-300
+Epson PhotoPC L-400
+Epson PhotoPC L-410
+Epson PhotoPC L-500V
+Epson R-D1
+Epson R-D1xG
+Epson RD-1s
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/fujifilm.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/fujifilm.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c7580bf412ab6f285d2f497619aa27e71d518365
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/fujifilm.txt
@@ -0,0 +1,360 @@
+Fujifilm A850
+Fujifilm Bigjob HD-3W
+Fujifilm Bigjob HD1
+Fujifilm Digital Q1
+Fujifilm DS-260HD
+Fujifilm DS-300
+Fujifilm FinePix 1300
+Fujifilm FinePix 1400z
+Fujifilm FinePix 2300
+Fujifilm FinePix 2400 Zoom
+Fujifilm FinePix 2600 Zoom
+Fujifilm FinePix 2650
+Fujifilm FinePix 2800 Zoom
+Fujifilm Finepix 30i
+Fujifilm FinePix 3800
+Fujifilm FinePix 40i
+Fujifilm FinePix 4700 Zoom
+Fujifilm FinePix 4800 Zoom
+Fujifilm FinePix 4900 Zoom
+Fujifilm FinePix 50i
+Fujifilm FinePix 6800 Zoom
+Fujifilm FinePix 6900 Zoom
+Fujifilm FinePix A100
+Fujifilm FinePix A101
+Fujifilm FinePix A120
+Fujifilm FinePix A150
+Fujifilm FinePix A160
+Fujifilm FinePix A170
+Fujifilm FinePix A175
+Fujifilm FinePix A180
+Fujifilm FinePix A200
+Fujifilm FinePix A201
+Fujifilm FinePix A202
+Fujifilm FinePix A203
+Fujifilm FinePix A204
+Fujifilm FinePix A205 Zoom
+Fujifilm FinePix A210 Zoom
+Fujifilm FinePix A220
+Fujifilm FinePix A225
+Fujifilm FinePix A235
+Fujifilm FinePix A303
+Fujifilm FinePix A310 Zoom
+Fujifilm FinePix A330
+Fujifilm FinePix A340
+Fujifilm FinePix A345 Zoom
+Fujifilm FinePix A350 Zoom
+Fujifilm FinePix A400 Zoom
+Fujifilm FinePix A500 Zoom
+Fujifilm FinePix A510
+Fujifilm FinePix A600 Zoom
+Fujifilm FinePix A610
+Fujifilm FinePix A700
+Fujifilm FinePix A800
+Fujifilm FinePix A820
+Fujifilm FinePix A825
+Fujifilm FinePix A900
+Fujifilm FinePix A920
+Fujifilm FinePix AV100
+Fujifilm FinePix AV105
+Fujifilm FinePix AV110
+Fujifilm FinePix AV130
+Fujifilm FinePix AV140
+Fujifilm FinePix AV150
+Fujifilm FinePix AV180
+Fujifilm FinePix AV200
+Fujifilm FinePix AV205
+Fujifilm FinePix AV250
+Fujifilm FinePix AV255
+Fujifilm FinePix AX200
+Fujifilm FinePix AX205
+Fujifilm FinePix AX230
+Fujifilm FinePix AX245w
+Fujifilm FinePix AX250
+Fujifilm FinePix AX280
+Fujifilm FinePix AX300
+Fujifilm FinePix AX305
+Fujifilm FinePix AX350
+Fujifilm FinePix AX355
+Fujifilm FinePix AX500
+Fujifilm FinePix AX550
+Fujifilm FinePix AX650
+Fujifilm FinePix E500 Zoom
+Fujifilm FinePix E510 Zoom
+Fujifilm FinePix E550 Zoom
+Fujifilm FinePix E900 Zoom
+Fujifilm FinePix EX-20
+Fujifilm FinePix F10 Zoom
+Fujifilm FinePix F100fd
+Fujifilm FinePix F11 Zoom
+Fujifilm FinePix F20 Zoom
+Fujifilm FinePix F200EXR
+Fujifilm FinePix F30 Zoom
+Fujifilm FinePix F300EXR
+Fujifilm FinePix F305EXR
+Fujifilm FinePix F31fd
+Fujifilm FinePix F401 Zoom
+Fujifilm FinePix F402
+Fujifilm FinePix F40fd
+Fujifilm FinePix F410 Zoom
+Fujifilm FinePix F420 Zoom
+Fujifilm FinePix F440 Zoom
+Fujifilm FinePix F450 Zoom
+Fujifilm FinePix F455 Zoom
+Fujifilm FinePix F45fd
+Fujifilm FinePix F460
+Fujifilm FinePix F470 Zoom
+Fujifilm FinePix F47fd
+Fujifilm FinePix F480 Zoom
+Fujifilm FinePix F500 EXR
+Fujifilm FinePix F50fd
+Fujifilm FinePix F550 EXR
+Fujifilm FinePix F600 EXR
+Fujifilm FinePix F601 Zoom
+Fujifilm FinePix F605EXR
+Fujifilm FinePix F60fd
+Fujifilm FinePix F610
+Fujifilm FinePix F650 Zoom
+Fujifilm FinePix F660EXR
+Fujifilm FinePix F700
+Fujifilm FinePix F70EXR
+Fujifilm FinePix F710
+Fujifilm FinePix F72EXR
+Fujifilm FinePix F750EXR
+Fujifilm FinePix F75EXR
+Fujifilm FinePix F770EXR
+Fujifilm FinePix F800EXR
+Fujifilm FinePix F80EXR
+Fujifilm FinePix F810 Zoom
+Fujifilm FinePix F850EXR
+Fujifilm FinePix F85EXR
+Fujifilm FinePix F900EXR
+Fujifilm FinePix HS10
+Fujifilm FinePix HS11
+Fujifilm FinePix HS20 EXR
+Fujifilm FinePix HS22 EXR
+Fujifilm FinePix HS25 EXR
+Fujifilm FinePix HS30 EXR
+Fujifilm FinePix HS35 EXR
+Fujifilm FinePix HS50 EXR
+Fujifilm FinePix IS Pro
+Fujifilm FinePix IS-1
+Fujifilm FinePix J10
+Fujifilm FinePix J100
+Fujifilm FinePix J110w
+Fujifilm FinePix J12
+Fujifilm FinePix J120
+Fujifilm FinePix J15
+Fujifilm FinePix J150w
+Fujifilm FinePix J20
+Fujifilm FinePix J210
+Fujifilm FinePix J22
+Fujifilm FinePix J25
+Fujifilm FinePix J250
+Fujifilm FinePix J26
+Fujifilm FinePix J27
+Fujifilm FinePix J28
+Fujifilm FinePix J29
+Fujifilm FinePix J30
+Fujifilm FinePix J32
+Fujifilm FinePix J35
+Fujifilm FinePix J37
+Fujifilm FinePix J38
+Fujifilm FinePix J50
+Fujifilm FinePix JV100
+Fujifilm FinePix JV105
+Fujifilm FinePix JV110
+Fujifilm FinePix JV150
+Fujifilm FinePix JV200
+Fujifilm FinePix JV205
+Fujifilm FinePix JV250
+Fujifilm FinePix JV255
+Fujifilm FinePix JX200
+Fujifilm FinePix JX205
+Fujifilm FinePix JX210
+Fujifilm FinePix JX250
+Fujifilm FinePix JX280
+Fujifilm FinePix JX300
+Fujifilm FinePix JX305
+Fujifilm FinePix JX350
+Fujifilm FinePix JX355
+Fujifilm FinePix JX370
+Fujifilm FinePix JX375
+Fujifilm FinePix JX400
+Fujifilm FinePix JX405
+Fujifilm FinePix JX420
+Fujifilm FinePix JX500
+Fujifilm FinePix JX520
+Fujifilm FinePix JX530
+Fujifilm FinePix JX550
+Fujifilm FinePix JX580
+Fujifilm FinePix JX700
+Fujifilm FinePix JZ100
+Fujifilm FinePix JZ200
+Fujifilm FinePix JZ250
+Fujifilm FinePix JZ300
+Fujifilm FinePix JZ305
+Fujifilm FinePix JZ310
+Fujifilm FinePix JZ500
+Fujifilm FinePix JZ505
+Fujifilm FinePix JZ510
+Fujifilm FinePix JZ700
+Fujifilm FinePix M603
+Fujifilm FinePix PR21
+Fujifilm FinePix Real 3D W1
+Fujifilm FinePix Real 3D W3
+Fujifilm FinePix S1
+Fujifilm FinePix S1 Pro
+Fujifilm FinePix S1000fd
+Fujifilm FinePix S100fs
+Fujifilm FinePix S1500
+Fujifilm FinePix S1600
+Fujifilm FinePix S1700
+Fujifilm FinePix S1730
+Fujifilm FinePix S1770
+Fujifilm FinePix S1800
+Fujifilm FinePix S1850
+Fujifilm FinePix S1880
+Fujifilm FinePix S1900
+Fujifilm FinePix S2 Pro
+Fujifilm FinePix S20 Pro
+Fujifilm FinePix S2000hd
+Fujifilm FinePix S200EXR
+Fujifilm FinePix S205EXR
+Fujifilm FinePix S2500hd
+Fujifilm FinePix S2550hd
+Fujifilm FinePix S2600hd
+Fujifilm FinePix S2800hd
+Fujifilm FinePix S2900hd
+Fujifilm FinePix S2950
+Fujifilm FinePix S2980
+Fujifilm FinePix S2990
+Fujifilm FinePix S3 Pro
+Fujifilm FinePix S3000 Z
+Fujifilm FinePix S304
+Fujifilm FinePix S3200
+Fujifilm FinePix S3250
+Fujifilm FinePix S3300
+Fujifilm FinePix S3350
+Fujifilm FinePix S3400
+Fujifilm FinePix S3450
+Fujifilm FinePix S3500 Zoom
+Fujifilm FinePix S4000
+Fujifilm FinePix S4050
+Fujifilm FinePix S4200
+Fujifilm FinePix S4300
+Fujifilm FinePix S4400
+Fujifilm FinePix S4500
+Fujifilm FinePix S4600
+Fujifilm FinePix S4700
+Fujifilm FinePix S4800
+Fujifilm FinePix S5 Pro
+Fujifilm FinePix S5000 Zoom
+Fujifilm FinePix S5100 Zoom
+Fujifilm FinePix S5200 Zoom
+Fujifilm FinePix S5500 Zoom
+Fujifilm FinePix S5600 Zoom
+Fujifilm FinePix S5700 Zoom
+Fujifilm FinePix S5800
+Fujifilm FinePix S6000fd
+Fujifilm FinePix S602 Zoom
+Fujifilm FinePix S602Z Pro
+Fujifilm FinePix S6500fd
+Fujifilm FinePix S6600
+Fujifilm FinePix S6700
+Fujifilm FinePix S6800
+Fujifilm FinePix S7000 Zoom
+Fujifilm FinePix S8000fd
+Fujifilm FinePix S8100fd
+Fujifilm FinePix S8200
+Fujifilm FinePix S8300
+Fujifilm FinePix S8400
+Fujifilm FinePix S8500
+Fujifilm FinePix S8600
+Fujifilm FinePix S9000 Zoom
+Fujifilm FinePix S9100
+Fujifilm FinePix S9200
+Fujifilm FinePix S9400W
+Fujifilm FinePix S9500
+Fujifilm FinePix S9600
+Fujifilm FinePix SL1000
+Fujifilm FinePix SL240
+Fujifilm FinePix SL260
+Fujifilm FinePix SL280
+Fujifilm FinePix SL300
+Fujifilm FinePix T200
+Fujifilm FinePix T205
+Fujifilm FinePix T300
+Fujifilm FinePix T305
+Fujifilm FinePix T350
+Fujifilm FinePix T400
+Fujifilm FinePix T500
+Fujifilm FinePix T550
+Fujifilm FinePix V10 Zoom
+Fujifilm FinePix X100
+Fujifilm FinePix XP10
+Fujifilm FinePix XP100
+Fujifilm FinePix XP11
+Fujifilm FinePix XP150
+Fujifilm FinePix XP170
+Fujifilm FinePix XP20
+Fujifilm FinePix XP200
+Fujifilm FinePix XP22
+Fujifilm FinePix XP30
+Fujifilm FinePix XP33
+Fujifilm FinePix XP50
+Fujifilm FinePix XP60
+Fujifilm FinePix XP70
+Fujifilm FinePix Z1
+Fujifilm FinePix Z1000EXR
+Fujifilm FinePix Z100fd
+Fujifilm FinePix Z10fd
+Fujifilm FinePix Z110
+Fujifilm FinePix Z2
+Fujifilm FinePix Z200fd
+Fujifilm FinePix Z20fd
+Fujifilm FinePix Z3
+Fujifilm FinePix Z30
+Fujifilm FinePix Z300
+Fujifilm FinePix Z31
+Fujifilm FinePix Z33WP
+Fujifilm FinePix Z35
+Fujifilm FinePix Z37
+Fujifilm FinePix Z5fd
+Fujifilm FinePix Z70
+Fujifilm FinePix Z700EXR
+Fujifilm FinePix Z707EXR
+Fujifilm FinePix Z71
+Fujifilm FinePix Z80
+Fujifilm FinePix Z800EXR
+Fujifilm FinePix Z808EXR
+Fujifilm FinePix Z81
+Fujifilm FinePix Z90
+Fujifilm FinePix Z900EXR
+Fujifilm FinePix Z909EXR
+Fujifilm FinePix Z91
+Fujifilm FinePix Z950EXR
+Fujifilm MX-1200
+Fujifilm MX-1400
+Fujifilm MX-1500
+Fujifilm MX-1700
+Fujifilm MX-2700
+Fujifilm MX-2900 Zoom
+Fujifilm MX-500
+Fujifilm MX-600 Zoom
+Fujifilm MX-700
+Fujifilm X-A1
+Fujifilm X-E1
+Fujifilm X-E2
+Fujifilm X-M1
+Fujifilm X-Pro1
+Fujifilm X-S1
+Fujifilm X-T1
+Fujifilm X10
+Fujifilm X100S
+Fujifilm X100T
+Fujifilm X20
+Fujifilm X30
+Fujifilm XF1
+Fujifilm XQ1
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/ge.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/ge.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7abb1ba2383fbfb41993ebe4098d8c8a26e8aa96
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/ge.txt
@@ -0,0 +1,55 @@
+GE A1030
+GE A1035
+GE A1050
+GE A1235
+GE A1250
+GE A1255
+GE A1455
+GE A1456W
+GE A730
+GE A735
+GE A830
+GE A835
+GE A950
+GE C1033
+GE C1233
+GE C1433
+GE C1440W
+GE Create
+GE E1030
+GE E1035
+GE E1040
+GE E1050
+GE E1050 TW
+GE E1055 W
+GE E1235
+GE E1240
+GE E1250TW
+GE E1255W
+GE E1276W
+GE E1410SW
+GE E1450W
+GE E1480W
+GE E1486TW
+GE E1680W
+GE E840S
+GE E850
+GE G 1
+GE G100
+GE G2
+GE G3
+GE G3WP
+GE G5WP
+GE J1050
+GE J1250
+GE J1455
+GE J1456W
+GE J1458W
+GE J1470S
+GE PJ1
+GE X1
+GE X3
+GE X500
+GE X550
+GE X600
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/hp.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/hp.txt
new file mode 100644
index 0000000000000000000000000000000000000000..31653708fbbc1bbf7dbe948f2fd75f6df7a1ea98
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/hp.txt
@@ -0,0 +1,70 @@
+HP CA350
+HP CB350
+HP CW450
+HP CW450t
+HP Photosmart 120
+HP Photosmart 318
+HP Photosmart 320
+HP Photosmart 435
+HP Photosmart 612
+HP Photosmart 620
+HP Photosmart 635
+HP Photosmart 715
+HP Photosmart 720
+HP Photosmart 733
+HP Photosmart 735
+HP Photosmart 812
+HP Photosmart 850
+HP Photosmart 935
+HP Photosmart 945
+HP Photosmart C20
+HP Photosmart C200
+HP Photosmart C215
+HP Photosmart C30
+HP Photosmart C315
+HP Photosmart C500
+HP Photosmart C618
+HP Photosmart C912
+HP Photosmart E317
+HP Photosmart E327
+HP Photosmart E337
+HP Photosmart E427
+HP Photosmart M22
+HP Photosmart M23
+HP Photosmart M307
+HP Photosmart M407
+HP Photosmart M417
+HP Photosmart M425
+HP Photosmart M437
+HP Photosmart M447
+HP Photosmart M517
+HP Photosmart M525
+HP Photosmart M527
+HP Photosmart M537
+HP Photosmart M547
+HP Photosmart M627
+HP Photosmart M637
+HP Photosmart M737
+HP Photosmart Mz67
+HP Photosmart R507
+HP Photosmart R607
+HP Photosmart R707
+HP Photosmart R717
+HP Photosmart R725
+HP Photosmart R727
+HP Photosmart R742
+HP Photosmart R817
+HP Photosmart R818
+HP Photosmart R827
+HP Photosmart R837
+HP Photosmart R847
+HP Photosmart R927
+HP Photosmart R937
+HP Photosmart R967
+HP PW460t
+HP PW550
+HP R607 BMW
+HP R607 Harajuku
+HP SB360
+HP SW450
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/iphone.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/iphone.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1c41e7b1448cae6fc6b42b262930e9f893d9ce4d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/iphone.txt
@@ -0,0 +1,6 @@
+iPhone 4
+iPhone 4S
+iPhone 5
+iPhone 5S
+iPhone 6
+iPhone 6 Plus
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/jenoptik.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/jenoptik.txt
new file mode 100644
index 0000000000000000000000000000000000000000..47e0773b4f7f14b6b55b184adcc4653d516949d7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/jenoptik.txt
@@ -0,0 +1,49 @@
+Jenoptik JD 1300 D
+Jenoptik JD 1300 F
+Jenoptik JD 1500 z3
+Jenoptik JD 2.1 FF
+Jenoptik JD 2.1 xz3
+Jenoptik JD 2100 AF
+Jenoptik JD 2100 F
+Jenoptik JD 2100 M
+Jenoptik JD 2100 z3 S
+Jenoptik JD 2300 z3
+Jenoptik JD 3.1 exclusiv
+Jenoptik JD 3.1 z3 MPEG 4
+Jenoptik JD 3.3 AF
+Jenoptik JD 3.3 xz3
+Jenoptik JD 3.3x4 ie
+Jenoptik JD 3.3z10
+Jenoptik JD 3300 z3
+Jenoptik JD 3300 z3 S
+Jenoptik JD 4.0 LCD
+Jenoptik JD 4.1 xz3
+Jenoptik JD 4.1 z3 MPEG4
+Jenoptik JD 4.1 z8
+Jenoptik JD 4.1 zoom
+Jenoptik JD 4100 z3
+Jenoptik JD 4100 z3 S
+Jenoptik JD 4100 zoom
+Jenoptik JD 4360z
+Jenoptik JD 4363z
+Jenoptik JD 5.0z3 EasyShot
+Jenoptik JD 5.2 z3
+Jenoptik JD 5.2 z3 MPEG4
+Jenoptik JD 5.2 zoom
+Jenoptik JD 5200 z3
+Jenoptik JD 6.0 z3
+Jenoptik JD 6.0 z3 exclusiv
+Jenoptik JD 6.0 z3 MPEG4
+Jenoptik JD 8.0 exclusiv
+Jenoptik JD 8.0z3 EasyShot
+Jenoptik JD C 1.3 LCD
+Jenoptik JD C 1.3 SD
+Jenoptik JD C 1300
+Jenoptik JD C 2.1 LCD
+Jenoptik JD C 3.0 S
+Jenoptik JD C 3.1 LCD
+Jenoptik JD C 3.1 LI
+Jenoptik JD C 3.1 SL
+Jenoptik JD C 3.1 z3
+Jenoptik JD C 5.0 SL
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/kodak.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/kodak.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c6cc315be209a8d1c3fc56cf2cd6083a4567ff77
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/kodak.txt
@@ -0,0 +1,207 @@
+Kodak DC200
+Kodak DC200 plus
+Kodak DC210 plus
+Kodak DC215
+Kodak DC220
+Kodak DC240
+Kodak DC260
+Kodak DC265
+Kodak DC280
+Kodak DC290
+Kodak DC3200
+Kodak DC3400
+Kodak DC3800
+Kodak DC4800
+Kodak DC5000
+Kodak DCS Pro 14n
+Kodak DCS Pro SLR/c
+Kodak DCS Pro SLR/n
+Kodak DCS315
+Kodak DCS330
+Kodak DCS420
+Kodak DCS460
+Kodak DCS520
+Kodak DCS560
+Kodak DCS620
+Kodak DCS620x
+Kodak DCS660
+Kodak DCS720x
+Kodak DCS760
+Kodak DX3215
+Kodak DX3500
+Kodak DX3600
+Kodak DX3700
+Kodak DX3900
+Kodak DX4330
+Kodak DX4530
+Kodak DX4900
+Kodak DX6340
+Kodak DX6440
+Kodak DX6490
+Kodak DX7440
+Kodak DX7590
+Kodak DX7630
+Kodak EasyShare C1013
+Kodak EasyShare C135
+Kodak EasyShare C140
+Kodak EasyShare C142
+Kodak EasyShare C143
+Kodak EasyShare C1505
+Kodak EasyShare C1530
+Kodak EasyShare C1550
+Kodak EasyShare C160
+Kodak EasyShare C180
+Kodak EasyShare C182
+Kodak EasyShare C183
+Kodak EasyShare C190
+Kodak EasyShare C195
+Kodak EasyShare C300
+Kodak EasyShare C310
+Kodak EasyShare C330
+Kodak EasyShare C340
+Kodak EasyShare C360
+Kodak EasyShare C433
+Kodak EasyShare C503
+Kodak EasyShare C513
+Kodak EasyShare C530
+Kodak EasyShare C533
+Kodak EasyShare C610
+Kodak EasyShare C613
+Kodak EasyShare C623
+Kodak EasyShare C643
+Kodak EasyShare C653
+Kodak EasyShare C663
+Kodak EasyShare C703
+Kodak EasyShare C713
+Kodak EasyShare C743
+Kodak EasyShare C763
+Kodak EasyShare C813
+Kodak EasyShare C875
+Kodak EasyShare C913
+Kodak EasyShare CD1013
+Kodak EasyShare CD703
+Kodak EasyShare CD80
+Kodak EasyShare CD82
+Kodak EasyShare CD90
+Kodak EasyShare CD93
+Kodak EasyShare CX4200
+Kodak EasyShare CX4230
+Kodak EasyShare CX4300
+Kodak EasyShare CX6200
+Kodak EasyShare CX6230
+Kodak EasyShare CX6330
+Kodak EasyShare CX6445
+Kodak EasyShare CX7220
+Kodak EasyShare CX7300
+Kodak EasyShare CX7330
+Kodak EasyShare CX7430
+Kodak EasyShare CX7525
+Kodak EasyShare CX7530
+Kodak EasyShare LS745
+Kodak EasyShare M1033
+Kodak EasyShare M1063
+Kodak EasyShare M1073 IS
+Kodak EasyShare M1093 IS
+Kodak EasyShare M215
+Kodak EasyShare M320
+Kodak EasyShare M340
+Kodak EasyShare M341
+Kodak EasyShare M380
+Kodak EasyShare M381
+Kodak EasyShare M420
+Kodak EasyShare M522
+Kodak EasyShare M530
+Kodak EasyShare M531
+Kodak EasyShare M532
+Kodak EasyShare M5370
+Kodak EasyShare M550
+Kodak EasyShare M552
+Kodak EasyShare M565
+Kodak EasyShare M575
+Kodak EasyShare M580
+Kodak EasyShare M583
+Kodak EasyShare M750
+Kodak EasyShare M753
+Kodak EasyShare M763
+Kodak EasyShare M853
+Kodak EasyShare M863
+Kodak EasyShare M873
+Kodak EasyShare M883
+Kodak EasyShare M893 IS
+Kodak EasyShare Max Z990
+Kodak EasyShare MD1063
+Kodak EasyShare MD30
+Kodak EasyShare MD41
+Kodak EasyShare MD81
+Kodak EasyShare MD853
+Kodak EasyShare MD863
+Kodak EasyShare Mini
+Kodak EasyShare MX1063
+Kodak Easyshare One
+Kodak EasyShare P712
+Kodak EasyShare P850
+Kodak EasyShare P880
+Kodak EasyShare Sport
+Kodak EasyShare Touch M577
+Kodak EasyShare V1003
+Kodak EasyShare V1073
+Kodak EasyShare V1233
+Kodak EasyShare V1253
+Kodak EasyShare V1273
+Kodak EasyShare V530
+Kodak EasyShare V550
+Kodak EasyShare V570
+Kodak EasyShare V603
+Kodak EasyShare V610
+Kodak EasyShare V705
+Kodak EasyShare V803
+Kodak EasyShare Z1012 IS
+Kodak EasyShare Z1015 IS
+Kodak EasyShare Z1085 IS
+Kodak EasyShare Z1275
+Kodak EasyShare Z1285
+Kodak EasyShare Z1485 IS
+Kodak EasyShare Z5010
+Kodak EasyShare Z5120
+Kodak EasyShare Z612
+Kodak EasyShare Z650
+Kodak EasyShare Z700
+Kodak EasyShare Z710
+Kodak EasyShare Z712 IS
+Kodak EasyShare Z730
+Kodak EasyShare Z740
+Kodak EasyShare Z7590
+Kodak EasyShare Z760
+Kodak EasyShare Z812 IS
+Kodak EasyShare Z8612 IS
+Kodak EasyShare Z885
+Kodak EasyShare Z915
+Kodak EasyShare Z950
+Kodak EasyShare Z980
+Kodak EasyShare Z981
+Kodak EasyShare Z990
+Kodak EasyShare ZD15
+Kodak EasyShare ZD710
+Kodak EasyShare ZD8612 IS
+Kodak EasyShare-One 6MP
+Kodak LS420
+Kodak LS443
+Kodak LS633
+Kodak LS743
+Kodak LS753
+Kodak LS755
+Kodak M590
+Kodak mc3
+Kodak PixPro AZ251
+Kodak PixPro AZ361
+Kodak PixPro AZ362
+Kodak PixPro AZ501
+Kodak PixPro AZ521
+Kodak PixPro AZ522
+Kodak PixPro AZ651
+Kodak PixPro FZ151
+Kodak PixPro FZ201
+Kodak PixPro FZ41
+Kodak PixPro FZ51
+Kodak S-1
+Kodak Slice
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/konica.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/konica.txt
new file mode 100644
index 0000000000000000000000000000000000000000..74ae1f5dd7eaafd45034a0b6785a58d7f11beb94
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/konica.txt
@@ -0,0 +1,18 @@
+Konica DG-2
+Konica DG-3Z
+Konica Q-M100
+Konica Q-M200
+Konica Revio C2
+Konica Revio KD-200Z
+Konica Revio KD-210Z
+Konica Revio KD-220Z
+Konica Revio KD-25
+Konica Revio KD-300Z
+Konica Revio KD-310Z
+Konica Revio KD-3300Z
+Konica Revio KD-4000Z
+Konica Revio KD-400Z
+Konica Revio KD-410Z
+Konica Revio KD-420Z
+Konica Revio KD-500Z
+Konica Revio KD-510Z
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/konica_minolta.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/konica_minolta.txt
new file mode 100644
index 0000000000000000000000000000000000000000..90e0c35f8612884a8e884fad8bcf6812730d45e9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/konica_minolta.txt
@@ -0,0 +1,25 @@
+Konica-Minolta DG-5W
+Konica-Minolta DiMAGE A2
+Konica-Minolta DiMAGE A200
+Konica-Minolta DiMAGE E40
+Konica-Minolta DiMAGE E50
+Konica-Minolta DiMAGE E500
+Konica-Minolta DiMAGE G530
+Konica-Minolta DiMAGE G600
+Konica-Minolta DiMAGE X1
+Konica-Minolta DiMAGE X31
+Konica-Minolta DiMAGE X50
+Konica-Minolta DiMAGE X60
+Konica-Minolta DiMAGE Xg
+Konica-Minolta DiMAGE Z10
+Konica-Minolta DiMAGE Z2
+Konica-Minolta DiMAGE Z20
+Konica-Minolta DiMAGE Z3
+Konica-Minolta DiMAGE Z5
+Konica-Minolta DiMAGE Z6
+Konica-Minolta Dynax 5D
+Konica-Minolta Dynax 7D
+Konica-Minolta e-mini
+Konica-Minolta e-mini D
+Konica-Minolta e-mini M
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/kyocera.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/kyocera.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e7da405a8e43dff180452a336deae4ba06acbe30
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/kyocera.txt
@@ -0,0 +1,18 @@
+Kyocera Finecam 3300
+Kyocera Finecam L3
+Kyocera Finecam L30
+Kyocera Finecam L3v
+Kyocera Finecam L4
+Kyocera Finecam L4v
+Kyocera Finecam M400R
+Kyocera Finecam M410R
+Kyocera Finecam S3
+Kyocera Finecam S3L
+Kyocera Finecam S3R
+Kyocera Finecam S3X
+Kyocera Finecam S4
+Kyocera Finecam S5
+Kyocera Finecam S5R
+Kyocera Finecam SL300R
+Kyocera Finecam SL400R
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/leica.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/leica.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3b2bbcf9eda30641e3e9e4234588fac39eec63da
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/leica.txt
@@ -0,0 +1,43 @@
+Leica X1
+Leica C (Typ112)
+Leica C-LUX 1
+Leica C-LUX 2
+Leica C-LUX 3
+Leica D-LUX
+Leica D-LUX 2
+Leica D-LUX 3
+Leica D-LUX 4
+Leica D-LUX 5
+Leica D-Lux 6
+Leica Digilux
+Leica Digilux 1
+Leica Digilux 2
+Leica Digilux 3
+Leica Digilux 4.3
+Leica Digilux Zoom
+Leica M Typ 240
+Leica M-E Typ 220
+Leica M-Monochrom
+Leica M-P
+Leica M8
+Leica M8.2
+Leica M9
+Leica M9 Titanium
+Leica M9-P
+Leica S (Type 007)
+Leica S-E
+Leica S2
+Leica T (Typ 701)
+Leica V-LUX 1
+Leica V-LUX 2
+Leica V-LUX 20
+Leica V-LUX 3
+Leica V-LUX 30
+Leica V-Lux 4
+Leica V-Lux 40
+Leica X (Typ 113)
+Leica X Vario
+Leica X-E
+Leica X1
+Leica X2
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/minolta.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/minolta.txt
new file mode 100644
index 0000000000000000000000000000000000000000..87fb31130882c12b0e16cbe7869aa0f6c2260fec
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/minolta.txt
@@ -0,0 +1,28 @@
+Minolta DiMAGE 2300
+Minolta DiMAGE 2330
+Minolta DiMAGE 5
+Minolta DiMAGE 7
+Minolta DiMAGE 7Hi
+Minolta DiMAGE 7i
+Minolta DiMAGE A1
+Minolta DiMAGE E201
+Minolta DiMAGE E203
+Minolta DiMAGE E223
+Minolta DiMAGE E323
+Minolta DiMAGE EX 1500 Wide
+Minolta DiMAGE EX 1500 Zoom
+Minolta DiMAGE F100
+Minolta DiMAGE F200
+Minolta DiMAGE F300
+Minolta DiMAGE G400
+Minolta DiMAGE G500
+Minolta DiMAGE S304
+Minolta DiMAGE S404
+Minolta DiMAGE S414
+Minolta DiMAGE X
+Minolta DiMAGE X20
+Minolta DiMAGE Xi
+Minolta DiMAGE Xt
+Minolta DiMAGE Z1
+Minolta RD-3000
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/minox.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/minox.txt
new file mode 100644
index 0000000000000000000000000000000000000000..37416b2acbfe4c18d21fb180879bf77b4700102d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/minox.txt
@@ -0,0 +1,49 @@
+Minox Classic Leica M3 2.1
+Minox Classic Leica M3 3MP
+Minox Classic Leica M3 4MP
+Minox Classic Leica M3 5MP
+Minox DC 1011
+Minox DC 1011 Carat
+Minox DC 1022
+Minox DC 1033
+Minox DC 1044
+Minox DC 1055
+Minox DC 1211
+Minox DC 1222
+Minox DC 1233
+Minox DC 1311
+Minox DC 1422
+Minox DC 2111
+Minox DC 2122
+Minox DC 2133
+Minox DC 3311
+Minox DC 4011
+Minox DC 4211
+Minox DC 5011
+Minox DC 5211
+Minox DC 5222
+Minox DC 6011
+Minox DC 6033 WP
+Minox DC 6211
+Minox DC 6311
+Minox DC 7011
+Minox DC 7022
+Minox DC 7411
+Minox DC 8011
+Minox DC 8022 WP
+Minox DC 8111
+Minox DC 8122
+Minox DC 9011 WP
+Minox DCC 14.0
+Minox DCC 5.0 White Edition
+Minox DCC 5.1
+Minox DCC Leica M3 5MP Gold
+Minox DCC Rolleiflex AF 5.0
+Minox DD1
+Minox DD1 Diamond
+Minox DD100
+Minox DD200
+Minox DM 1
+Minox Mobi DV
+Minox Rolleiflex MiniDigi
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/nikon.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/nikon.txt
new file mode 100644
index 0000000000000000000000000000000000000000..dc797ff1b9d3318e352ded1645504a73e245a519
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/nikon.txt
@@ -0,0 +1,253 @@
+Nikon 1 AW1
+Nikon 1 J1
+Nikon 1 J2
+Nikon 1 J3
+Nikon 1 J4
+Nikon 1 S1
+Nikon 1 S2
+Nikon 1 V1
+Nikon 1 V2
+Nikon 1 V3
+Nikon Coolpix 100
+Nikon Coolpix 2000
+Nikon Coolpix 2100
+Nikon Coolpix 2200
+Nikon Coolpix 2500
+Nikon Coolpix 300
+Nikon Coolpix 3100
+Nikon Coolpix 3200
+Nikon Coolpix 3500
+Nikon Coolpix 3700
+Nikon Coolpix 4100
+Nikon Coolpix 4200
+Nikon Coolpix 4300
+Nikon Coolpix 4500
+Nikon Coolpix 4600
+Nikon Coolpix 4800
+Nikon Coolpix 5000
+Nikon Coolpix 5200
+Nikon Coolpix 5400
+Nikon Coolpix 5600
+Nikon Coolpix 5700
+Nikon Coolpix 5900
+Nikon Coolpix 600
+Nikon Coolpix 700
+Nikon Coolpix 7600
+Nikon Coolpix 775
+Nikon Coolpix 7900
+Nikon Coolpix 800
+Nikon Coolpix 8400
+Nikon Coolpix 8700
+Nikon Coolpix 880
+Nikon Coolpix 8800
+Nikon Coolpix 885
+Nikon Coolpix 900
+Nikon Coolpix 900s
+Nikon Coolpix 910
+Nikon Coolpix 950
+Nikon Coolpix 990
+Nikon Coolpix 995
+Nikon Coolpix A
+Nikon Coolpix AW100
+Nikon Coolpix AW100s
+Nikon Coolpix AW110
+Nikon Coolpix AW120
+Nikon Coolpix L1
+Nikon Coolpix L10
+Nikon Coolpix L100
+Nikon Coolpix L101
+Nikon Coolpix L11
+Nikon Coolpix L110
+Nikon Coolpix L12
+Nikon Coolpix L120
+Nikon Coolpix L14
+Nikon Coolpix L15
+Nikon Coolpix L16
+Nikon Coolpix L18
+Nikon Coolpix L19
+Nikon Coolpix L20
+Nikon Coolpix L21
+Nikon Coolpix L22
+Nikon Coolpix L23
+Nikon Coolpix L24
+Nikon Coolpix L25
+Nikon Coolpix L26
+Nikon Coolpix L27
+Nikon Coolpix L28
+Nikon Coolpix L29
+Nikon Coolpix L30
+Nikon Coolpix L310
+Nikon Coolpix L320
+Nikon Coolpix L330
+Nikon Coolpix L5
+Nikon Coolpix L6
+Nikon Coolpix L610
+Nikon Coolpix L620
+Nikon Coolpix L810
+Nikon Coolpix L820
+Nikon Coolpix L830
+Nikon Coolpix P1
+Nikon Coolpix P100
+Nikon Coolpix P2
+Nikon Coolpix P3
+Nikon Coolpix P300
+Nikon Coolpix P310
+Nikon Coolpix P330
+Nikon Coolpix P340
+Nikon Coolpix P4
+Nikon Coolpix P50
+Nikon Coolpix P500
+Nikon Coolpix P5000
+Nikon Coolpix P510
+Nikon Coolpix P5100
+Nikon Coolpix P520
+Nikon Coolpix P530
+Nikon Coolpix P60
+Nikon Coolpix P600
+Nikon Coolpix P6000
+Nikon Coolpix P7000
+Nikon Coolpix P7100
+Nikon Coolpix P7700
+Nikon Coolpix P7800
+Nikon Coolpix P80
+Nikon Coolpix P90
+Nikon Coolpix S01
+Nikon Coolpix S02
+Nikon Coolpix S1
+Nikon Coolpix S10
+Nikon Coolpix S100
+Nikon Coolpix S1000pj
+Nikon Coolpix S1100pj
+Nikon Coolpix S1200pj
+Nikon Coolpix S2
+Nikon Coolpix S200
+Nikon Coolpix S210
+Nikon Coolpix S220
+Nikon Coolpix S225
+Nikon Coolpix S230
+Nikon Coolpix S2500
+Nikon Coolpix S2600
+Nikon Coolpix S2700
+Nikon Coolpix S2750
+Nikon Coolpix S2800
+Nikon Coolpix S3
+Nikon Coolpix S30
+Nikon Coolpix S3000
+Nikon Coolpix S31
+Nikon Coolpix S3100
+Nikon Coolpix S32
+Nikon Coolpix S3200
+Nikon Coolpix S3300
+Nikon Coolpix S3400
+Nikon Coolpix S3500
+Nikon Coolpix S3600
+Nikon Coolpix S4
+Nikon Coolpix S4000
+Nikon Coolpix S4100
+Nikon Coolpix S4150
+Nikon Coolpix S4200
+Nikon Coolpix S4300
+Nikon Coolpix S4400
+Nikon Coolpix S5
+Nikon Coolpix S50
+Nikon Coolpix S500
+Nikon Coolpix S50c
+Nikon Coolpix S51
+Nikon Coolpix S510
+Nikon Coolpix S5100
+Nikon Coolpix S51c
+Nikon Coolpix S52
+Nikon Coolpix S520
+Nikon Coolpix S5200
+Nikon Coolpix S52c
+Nikon Coolpix S5300
+Nikon Coolpix S550
+Nikon Coolpix S560
+Nikon Coolpix S570
+Nikon Coolpix S6
+Nikon Coolpix S60
+Nikon Coolpix S600
+Nikon Coolpix S6000
+Nikon Coolpix S610
+Nikon Coolpix S6100
+Nikon Coolpix S610c
+Nikon Coolpix S6150
+Nikon Coolpix S620
+Nikon Coolpix S6200
+Nikon Coolpix S630
+Nikon Coolpix S6300
+Nikon Coolpix S640
+Nikon Coolpix S6400
+Nikon Coolpix S6500
+Nikon Coolpix S6600
+Nikon Coolpix S6700
+Nikon Coolpix S6800
+Nikon Coolpix S6900
+Nikon Coolpix S70
+Nikon Coolpix S700
+Nikon Coolpix S710
+Nikon Coolpix S7c
+Nikon Coolpix S80
+Nikon Coolpix S8000
+Nikon Coolpix S800c
+Nikon Coolpix S8100
+Nikon Coolpix S810c
+Nikon Coolpix S8200
+Nikon Coolpix S9
+Nikon Coolpix S9050
+Nikon Coolpix S9100
+Nikon Coolpix S9200
+Nikon Coolpix S9300
+Nikon Coolpix S9400
+Nikon Coolpix S9500
+Nikon Coolpix S9600
+Nikon Coolpix S9700
+Nikon Coolpix SQ
+Nikon D1
+Nikon D100
+Nikon D1H
+Nikon D1X
+Nikon D200
+Nikon D2H
+Nikon D2Hs
+Nikon D2X
+Nikon D2xs
+Nikon D3
+Nikon D300
+Nikon D3000
+Nikon D300s
+Nikon D3100
+Nikon D3200
+Nikon D3300
+Nikon D3s
+Nikon D3X
+Nikon D4
+Nikon D40
+Nikon D40x
+Nikon D4s
+Nikon D50
+Nikon D5000
+Nikon D5100
+Nikon D5200
+Nikon D5300
+Nikon D60
+Nikon D600
+Nikon D610
+Nikon D70
+Nikon D700
+Nikon D7000
+Nikon D70s
+Nikon D7100
+Nikon D750
+Nikon D80
+Nikon D800
+Nikon D800E
+Nikon D810
+Nikon D90
+Nikon Df
+Nikon E2n
+Nikon E2Ns
+Nikon E2s
+Nikon E3
+Nikon E3s
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/olympus.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/olympus.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e541f89cafe1e3c1d04dab9d0cf6815bf665a757
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/olympus.txt
@@ -0,0 +1,311 @@
+Olympus
+Olympus E-300 / EVOLT E-300
+Olympus AZ-1
+Olympus AZ-1 Ferrari 2004
+Olympus AZ-2 Zoom
+Olympus C-1
+Olympus C-1 Zoom
+Olympus C-100
+Olympus C-1000L
+Olympus C-120
+Olympus C-1400L
+Olympus C-1400XL
+Olympus C-150
+Olympus C-160
+Olympus C-170
+Olympus C-180
+Olympus C-2
+Olympus C-200 Zoom
+Olympus C-2000 Zoom
+Olympus C-2020 Zoom
+Olympus C-2040 Zoom
+Olympus C-21
+Olympus C-2100 UZ
+Olympus C-220 Zoom
+Olympus C-2500 L
+Olympus C-300 Zoom
+Olympus C-3000 Zoom
+Olympus C-3020 Zoom
+Olympus C-3030 Zoom
+Olympus C-3040 Zoom
+Olympus C-310 Zoom
+Olympus C-315 Zoom
+Olympus C-350 Zoom
+Olympus C-360 Zoom
+Olympus C-370 Zoom
+Olympus C-40 Zoom
+Olympus C-4000 Zoom
+Olympus C-4040 Zoom
+Olympus C-450 Zoom
+Olympus C-460 Zoom del Sol
+Olympus C-470 Zoom
+Olympus C-480 Zoom
+Olympus C-50 Zoom
+Olympus C-5000 Zoom
+Olympus C-5050 Zoom
+Olympus C-5060 Wide Zoom
+Olympus C-55 Zoom
+Olympus C-5500 Sport Zoom
+Olympus C-60 Zoom
+Olympus C-70 Zoom
+Olympus C-700 UZ
+Olympus C-7000 Zoom
+Olympus C-7070 Wide Zoom
+Olympus C-720 UZ
+Olympus C-730 UZ
+Olympus C-740 UZ
+Olympus C-750 UZ
+Olympus C-760 UZ
+Olympus C-765 UZ
+Olympus C-770 UZ
+Olympus C-8080 Wide Zoom
+Olympus C-820L
+Olympus C-840L
+Olympus C-860L
+Olympus C-900 Zoom
+Olympus C-920 Zoom
+Olympus C-960 Zoom
+Olympus C-990 Zoom
+Olympus D-150Z
+Olympus D-200L
+Olympus D-300L
+Olympus D-340L
+Olympus D-340R
+Olympus D-360L
+Olympus D-370
+Olympus D-380
+Olympus D-390
+Olympus D-395
+Olympus D-40 Zoom
+Olympus D-400 Zoom
+Olympus D-425
+Olympus D-435
+Olympus D-450 Zoom
+Olympus D-460 Zoom
+Olympus D-490 Zoom
+Olympus D-500L
+Olympus D-510 Zoom
+Olympus D-520 Zoom
+Olympus D-535 Zoom
+Olympus D-540 Zoom
+Olympus D-545 Zoom
+Olympus D-560 Zoom
+Olympus D-580 Zoom
+Olympus D-595 Zoom
+Olympus D-600L
+Olympus D-620L
+Olympus D-630 Zoom
+Olympus E-1
+Olympus E-10
+Olympus E-100 RS
+Olympus E-20
+Olympus E-3
+Olympus E-30
+Olympus E-300 / EVOLT E-300
+Olympus E-400
+Olympus E-410 / EVOLT E-410
+Olympus E-420
+Olympus E-450
+Olympus E-5
+Olympus E-500 / EVOLT E-500
+Olympus E-510 / EVOLT E-510
+Olympus E-520
+Olympus E-600
+Olympus E-620
+Olympus FE-100
+Olympus FE-110
+Olympus FE-115
+Olympus FE-120
+Olympus FE-130
+Olympus FE-140
+Olympus FE-150
+Olympus FE-160
+Olympus FE-170
+Olympus FE-180
+Olympus FE-190
+Olympus FE-20
+Olympus FE-200
+Olympus FE-210
+Olympus FE-220
+Olympus FE-230
+Olympus FE-240
+Olympus FE-25
+Olympus FE-250
+Olympus FE-26
+Olympus FE-270
+Olympus FE-280
+Olympus FE-290
+Olympus FE-300
+Olympus FE-3000
+Olympus FE-3010
+Olympus FE-310
+Olympus FE-340
+Olympus FE-350
+Olympus FE-360
+Olympus FE-370
+Olympus FE-4000
+Olympus FE-4010
+Olympus FE-4020
+Olympus FE-4030
+Olympus FE-4040
+Olympus FE-4050
+Olympus FE-45
+Olympus FE-47
+Olympus FE-48
+Olympus FE-5000
+Olympus FE-5010
+Olympus FE-5020
+Olympus FE-5030
+Olympus FE-5035
+Olympus FE-5040
+Olympus FE-5050
+Olympus IR 500
+Olympus IR-300
+Olympus m:robe MR 500i
+Olympus Mju 1060
+Olympus mju 400 Digital Ferrari
+Olympus Mju 5000
+Olympus Mju 7050
+Olympus mju 800 black
+Olympus mju mini Digital
+Olympus mju mini Digital S
+Olympus OM-D E-M1
+Olympus OM-D E-M10
+Olympus OM-D E-M5
+Olympus PEN E-P1
+Olympus PEN E-P2
+Olympus PEN E-P3
+Olympus PEN E-P5
+Olympus PEN E-PL1
+Olympus PEN E-PL1s
+Olympus PEN E-PL2
+Olympus PEN E-PL3
+Olympus PEN E-PL5
+Olympus PEN E-PL6
+Olympus PEN E-PL7
+Olympus PEN E-PM1
+Olympus PEN E-PM2
+Olympus SH-21
+Olympus SH-25MR
+Olympus SH-50 iHS
+Olympus SP 310
+Olympus SP 320
+Olympus SP 350
+Olympus SP 500 UZ
+Olympus SP 510 UZ
+Olympus SP 550 UZ
+Olympus SP 560 UZ
+Olympus SP 570 UZ
+Olympus SP 590 UZ
+Olympus SP 600 UZ
+Olympus SP 700
+Olympus SP 800 UZ
+Olympus SP 810 UZ
+Olympus SP-100
+Olympus SP-565UZ
+Olympus SP-610UZ
+Olympus SP-620 UZ
+Olympus SP-720UZ
+Olympus Stylus 1
+Olympus Stylus 1000
+Olympus Stylus 1010
+Olympus Stylus 1020
+Olympus Stylus 1030 SW
+Olympus Stylus 1040
+Olympus Stylus 1050 SW
+Olympus Stylus 1200
+Olympus Stylus 300
+Olympus Stylus 400
+Olympus Stylus 410
+Olympus Stylus 500
+Olympus Stylus 5010
+Olympus Stylus 550WP
+Olympus Stylus 600
+Olympus Stylus 700
+Olympus Stylus 7000
+Olympus Stylus 7010
+Olympus Stylus 7030
+Olympus Stylus 7040
+Olympus Stylus 720 SW
+Olympus Stylus 725 SW
+Olympus Stylus 730
+Olympus Stylus 740
+Olympus Stylus 750
+Olympus Stylus 760
+Olympus Stylus 770 SW
+Olympus Stylus 780
+Olympus Stylus 790 SW
+Olympus Stylus 800
+Olympus Stylus 810
+Olympus Stylus 820
+Olympus Stylus 830
+Olympus Stylus 840
+Olympus Stylus 850 SW
+Olympus Stylus 9000
+Olympus Stylus 9010
+Olympus Stylus SH-1
+Olympus Stylus SP-820UZ
+Olympus Stylus Tough 6000
+Olympus Stylus Tough 6010
+Olympus Stylus Tough 6020
+Olympus Stylus Tough 8000
+Olympus Stylus Tough 8010
+Olympus Stylus Tough-3000
+Olympus Stylus Verve
+Olympus Stylus Verve S
+Olympus Stylus Verve S
+Olympus Stylus XZ-10
+Olympus SZ-10
+Olympus SZ-11
+Olympus SZ-12
+Olympus SZ-14
+Olympus SZ-15
+Olympus SZ-16
+Olympus SZ-20
+Olympus SZ-30MR
+Olympus SZ-31MR iHS
+Olympus T-10
+Olympus T-100
+Olympus T-110
+Olympus TG-310
+Olympus TG-320
+Olympus TG-610
+Olympus TG-630 iHS
+Olympus TG-810
+Olympus TG-820 iHS
+Olympus TG-830 iHS
+Olympus TG-850 iHS
+Olympus Tough TG-1 iHS
+Olympus Tough TG-2 iHS
+Olympus Tough TG-3
+Olympus Tough TG-620
+Olympus VG-110
+Olympus VG-120
+Olympus VG-130
+Olympus VG-145
+Olympus VG-150
+Olympus VG-160
+Olympus VG-165
+Olympus VG-170
+Olympus VG-180
+Olympus VG-190
+Olympus VH-210
+Olympus VH-410
+Olympus VH-510
+Olympus VH-515
+Olympus VH-520
+Olympus VR-310
+Olympus VR-320
+Olympus VR-330
+Olympus VR-340
+Olympus VR-350
+Olympus VR-360
+Olympus VR-370
+Olympus X-15
+Olympus X-775
+Olympus X-785
+Olympus X-905
+Olympus X-920
+Olympus XZ-1
+Olympus XZ-2 iHS
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/panasonic.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/panasonic.txt
new file mode 100644
index 0000000000000000000000000000000000000000..65c6b9440a5b2253d1211b575847e987be9c05d2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/panasonic.txt
@@ -0,0 +1,232 @@
+Panasonic Lumix DMC-LZ20
+Panasonic D-snap SV-AS10
+Panasonic D-snap SV-AS3
+Panasonic D-snap SV-AS30
+Panasonic Lumix DMC-3D1
+Panasonic Lumix DMC-F1
+Panasonic Lumix DMC-F3
+Panasonic Lumix DMC-F5
+Panasonic Lumix DMC-F7
+Panasonic Lumix DMC-FH1
+Panasonic Lumix DMC-FH10
+Panasonic Lumix DMC-FH2
+Panasonic Lumix DMC-FH20
+Panasonic Lumix DMC-FH22
+Panasonic Lumix DMC-FH25
+Panasonic Lumix DMC-FH27
+Panasonic Lumix DMC-FH3
+Panasonic Lumix DMC-FH4
+Panasonic Lumix DMC-FH5
+Panasonic Lumix DMC-FH6
+Panasonic Lumix DMC-FH7
+Panasonic Lumix DMC-FH8
+Panasonic Lumix DMC-FP1
+Panasonic Lumix DMC-FP2
+Panasonic Lumix DMC-FP3
+Panasonic Lumix DMC-FP5
+Panasonic Lumix DMC-FP7
+Panasonic Lumix DMC-FP8
+Panasonic Lumix DMC-FS10
+Panasonic Lumix DMC-FS11
+Panasonic Lumix DMC-FS12
+Panasonic Lumix DMC-FS15
+Panasonic Lumix DMC-FS16
+Panasonic Lumix DMC-FS18
+Panasonic Lumix DMC-FS2
+Panasonic Lumix DMC-FS20
+Panasonic Lumix DMC-FS22
+Panasonic Lumix DMC-FS25
+Panasonic Lumix DMC-FS28
+Panasonic Lumix DMC-FS3
+Panasonic Lumix DMC-FS30
+Panasonic Lumix DMC-FS33
+Panasonic Lumix DMC-FS35
+Panasonic Lumix DMC-FS37
+Panasonic Lumix DMC-FS40
+Panasonic Lumix DMC-FS42
+Panasonic Lumix DMC-FS45
+Panasonic Lumix DMC-FS5
+Panasonic Lumix DMC-FS6
+Panasonic Lumix DMC-FS62
+Panasonic Lumix DMC-FS7
+Panasonic Lumix DMC-FT1
+Panasonic Lumix DMC-FT10
+Panasonic Lumix DMC-FT2
+Panasonic Lumix DMC-FT20
+Panasonic Lumix DMC-FT3
+Panasonic Lumix DMC-FT4
+Panasonic Lumix DMC-FX01
+Panasonic Lumix DMC-FX07
+Panasonic Lumix DMC-FX1
+Panasonic Lumix DMC-FX10
+Panasonic Lumix DMC-FX100
+Panasonic Lumix DMC-FX12
+Panasonic Lumix DMC-FX150
+Panasonic Lumix DMC-FX2
+Panasonic Lumix DMC-FX3
+Panasonic Lumix DMC-FX30
+Panasonic Lumix DMC-FX33
+Panasonic Lumix DMC-FX35
+Panasonic Lumix DMC-FX37
+Panasonic Lumix DMC-FX40
+Panasonic Lumix DMC-FX48
+Panasonic Lumix DMC-FX5
+Panasonic Lumix DMC-FX50
+Panasonic Lumix DMC-FX500
+Panasonic Lumix DMC-FX55
+Panasonic Lumix DMC-FX550
+Panasonic Lumix DMC-FX580
+Panasonic Lumix DMC-FX60
+Panasonic Lumix DMC-FX65
+Panasonic Lumix DMC-FX66
+Panasonic Lumix DMC-FX68
+Panasonic Lumix DMC-FX7
+Panasonic Lumix DMC-FX70
+Panasonic Lumix DMC-FX700
+Panasonic Lumix DMC-FX75
+Panasonic Lumix DMC-FX77
+Panasonic Lumix DMC-FX78
+Panasonic Lumix DMC-FX8
+Panasonic Lumix DMC-FX80
+Panasonic Lumix DMC-FX9
+Panasonic Lumix DMC-FX90
+Panasonic Lumix DMC-FZ1
+Panasonic Lumix DMC-FZ10
+Panasonic Lumix DMC-FZ100
+Panasonic Lumix DMC-FZ1000
+Panasonic Lumix DMC-FZ15
+Panasonic Lumix DMC-FZ150
+Panasonic Lumix DMC-FZ18
+Panasonic Lumix DMC-FZ2
+Panasonic Lumix DMC-FZ20
+Panasonic Lumix DMC-FZ200
+Panasonic Lumix DMC-FZ28
+Panasonic Lumix DMC-FZ3
+Panasonic Lumix DMC-FZ30
+Panasonic Lumix DMC-FZ35
+Panasonic Lumix DMC-FZ38
+Panasonic Lumix DMC-FZ4
+Panasonic Lumix DMC-FZ40
+Panasonic Lumix DMC-FZ42
+Panasonic Lumix DMC-FZ45
+Panasonic Lumix DMC-FZ47
+Panasonic Lumix DMC-FZ48
+Panasonic Lumix DMC-FZ5
+Panasonic Lumix DMC-FZ50
+Panasonic Lumix DMC-FZ60
+Panasonic Lumix DMC-FZ7
+Panasonic Lumix DMC-FZ70
+Panasonic Lumix DMC-FZ8
+Panasonic Lumix DMC-G1
+Panasonic Lumix DMC-G10
+Panasonic Lumix DMC-G2
+Panasonic Lumix DMC-G3
+Panasonic Lumix DMC-G5
+Panasonic Lumix DMC-G6
+Panasonic Lumix DMC-G7
+Panasonic Lumix DMC-GF1
+Panasonic Lumix DMC-GF2
+Panasonic Lumix DMC-GF3
+Panasonic Lumix DMC-GF5
+Panasonic Lumix DMC-GF6
+Panasonic Lumix DMC-GH1
+Panasonic Lumix DMC-GH2
+Panasonic Lumix DMC-GH3
+Panasonic Lumix DMC-GH4
+Panasonic Lumix DMC-GH5
+Panasonic Lumix DMC-GM1
+Panasonic Lumix DMC-GM5
+Panasonic Lumix DMC-GX1
+Panasonic Lumix DMC-GX7
+Panasonic Lumix DMC-L1
+Panasonic Lumix DMC-L10
+Panasonic Lumix DMC-LC1
+Panasonic Lumix DMC-LC20
+Panasonic Lumix DMC-LC33
+Panasonic Lumix DMC-LC40
+Panasonic Lumix DMC-LC43
+Panasonic Lumix DMC-LC5
+Panasonic Lumix DMC-LC50
+Panasonic Lumix DMC-LC70
+Panasonic Lumix DMC-LC80
+Panasonic Lumix DMC-LF1
+Panasonic Lumix DMC-LS1
+Panasonic Lumix DMC-LS2
+Panasonic Lumix DMC-LS3
+Panasonic Lumix DMC-LS5
+Panasonic Lumix DMC-LS6
+Panasonic Lumix DMC-LS60
+Panasonic Lumix DMC-LS75
+Panasonic Lumix DMC-LS80
+Panasonic Lumix DMC-LS85
+Panasonic Lumix DMC-LX1
+Panasonic Lumix DMC-LX100
+Panasonic Lumix DMC-LX2
+Panasonic Lumix DMC-LX3
+Panasonic Lumix DMC-LX5
+Panasonic Lumix DMC-LX7
+Panasonic Lumix DMC-LZ1
+Panasonic Lumix DMC-LZ10
+Panasonic Lumix DMC-LZ2
+Panasonic Lumix DMC-LZ20
+Panasonic Lumix DMC-LZ3
+Panasonic Lumix DMC-LZ30
+Panasonic Lumix DMC-LZ40
+Panasonic Lumix DMC-LZ5
+Panasonic Lumix DMC-LZ6
+Panasonic Lumix DMC-LZ7
+Panasonic Lumix DMC-LZ8
+Panasonic Lumix DMC-S1
+Panasonic Lumix DMC-S2
+Panasonic Lumix DMC-S3
+Panasonic Lumix DMC-S5
+Panasonic Lumix DMC-SZ1
+Panasonic Lumix DMC-SZ3
+Panasonic Lumix DMC-SZ5
+Panasonic Lumix DMC-SZ7
+Panasonic Lumix DMC-SZ8
+Panasonic Lumix DMC-SZ9
+Panasonic Lumix DMC-TS1
+Panasonic Lumix DMC-TS10
+Panasonic Lumix DMC-TS2
+Panasonic Lumix DMC-TS20
+Panasonic Lumix DMC-TS25
+Panasonic Lumix DMC-TS3
+Panasonic Lumix DMC-TS4
+Panasonic Lumix DMC-TS5
+Panasonic Lumix DMC-TZ1
+Panasonic Lumix DMC-TZ10
+Panasonic Lumix DMC-TZ18
+Panasonic Lumix DMC-TZ2
+Panasonic Lumix DMC-TZ20
+Panasonic Lumix DMC-TZ22
+Panasonic Lumix DMC-TZ25
+Panasonic Lumix DMC-TZ3
+Panasonic Lumix DMC-TZ30
+Panasonic Lumix DMC-TZ31
+Panasonic Lumix DMC-TZ4
+Panasonic Lumix DMC-TZ41
+Panasonic Lumix DMC-TZ5
+Panasonic Lumix DMC-TZ50
+Panasonic Lumix DMC-TZ6
+Panasonic Lumix DMC-TZ7
+Panasonic Lumix DMC-XS1
+Panasonic Lumix DMC-XS3
+Panasonic Lumix DMC-ZR1
+Panasonic Lumix DMC-ZR3
+Panasonic Lumix DMC-ZS1
+Panasonic Lumix DMC-ZS10
+Panasonic Lumix DMC-ZS15
+Panasonic Lumix DMC-ZS20
+Panasonic Lumix DMC-ZS25
+Panasonic Lumix DMC-ZS3
+Panasonic Lumix DMC-ZS30
+Panasonic Lumix DMC-ZS35 / TZ55
+Panasonic Lumix DMC-ZS40 / TZ60
+Panasonic Lumix DMC-ZS5
+Panasonic Lumix DMC-ZS7
+Panasonic Lumix DMC-ZS8
+Panasonic Lumix DMC-ZX1
+Panasonic Lumix DMC-ZX3
+Panasonic PV DC3000
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/pentax.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/pentax.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c9d4b1edd28187ea8020b051c7d656c2cae05ec0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/pentax.txt
@@ -0,0 +1,139 @@
+Pentax *ist D
+Pentax *ist DL
+Pentax *ist DL2
+Pentax *ist DS
+Pentax *ist DS2
+Pentax 645D
+Pentax 645Z
+Pentax Efina
+Pentax EI-100
+Pentax EI-200
+Pentax EI-2000
+Pentax K-01
+Pentax K-3
+Pentax K-30
+Pentax K-5
+Pentax K-5 II
+Pentax K-50
+Pentax K-500
+Pentax K-7
+Pentax K-m
+Pentax K-r
+Pentax K-S1
+Pentax K-x
+Pentax K100D
+Pentax K100D Super
+Pentax K10D
+Pentax K110D
+Pentax K200D
+Pentax K20D
+Pentax MX-1
+Pentax Optio 230
+Pentax Optio 30
+Pentax Optio 330
+Pentax Optio 330GS
+Pentax Optio 330RS
+Pentax Optio 33L
+Pentax Optio 33LF
+Pentax Optio 33WR
+Pentax Optio 430
+Pentax Optio 430RS
+Pentax Optio 43WR
+Pentax Optio 450
+Pentax Optio 50
+Pentax Optio 50L
+Pentax Optio 550
+Pentax Optio 555
+Pentax Optio 60
+Pentax Optio 750Z
+Pentax Optio A10
+Pentax Optio A20
+Pentax Optio A30
+Pentax Optio A40
+Pentax Optio E10
+Pentax Optio E20
+Pentax Optio E25
+Pentax Optio E30
+Pentax Optio E40
+Pentax Optio E50
+Pentax Optio E60
+Pentax Optio E70
+Pentax Optio E70L
+Pentax Optio E75
+Pentax Optio E80
+Pentax Optio E85
+Pentax Optio E90
+Pentax Optio H90
+Pentax Optio I-10
+Pentax Optio L20
+Pentax Optio L50
+Pentax Optio LS1000
+Pentax Optio LS1100
+Pentax Optio LS465
+Pentax Optio M10
+Pentax Optio M20
+Pentax Optio M30
+Pentax Optio M40
+Pentax Optio M50
+Pentax Optio M60
+Pentax Optio M85
+Pentax Optio M90
+Pentax Optio MX
+Pentax Optio MX4
+Pentax Optio P70
+Pentax Optio P80
+Pentax Optio RS1000
+Pentax Optio RS1500
+Pentax Optio RZ10
+Pentax Optio RZ18
+Pentax Optio S
+Pentax Optio S1
+Pentax Optio S10
+Pentax Optio S12
+Pentax Optio S30
+Pentax Optio S4
+Pentax Optio S40
+Pentax Optio S45
+Pentax Optio S4i
+Pentax Optio S50
+Pentax Optio S55
+Pentax Optio S5i
+Pentax Optio S5n
+Pentax Optio S5z
+Pentax Optio S6
+Pentax Optio S60
+Pentax Optio S7
+Pentax Optio SV
+Pentax Optio SVi
+Pentax Optio T10
+Pentax Optio T20
+Pentax Optio T30
+Pentax Optio V10
+Pentax Optio V20
+Pentax Optio VS20
+Pentax Optio W10
+Pentax Optio W20
+Pentax Optio W30
+Pentax Optio W60
+Pentax Optio W80
+Pentax Optio W90
+Pentax Optio WG-1
+Pentax Optio WG-1 GPS
+Pentax Optio WG-2
+Pentax Optio WG-2 GPS
+Pentax Optio WP
+Pentax Optio WPi
+Pentax Optio WS80
+Pentax Optio X
+Pentax Optio Z10
+Pentax Q
+Pentax Q-S1
+Pentax Q10
+Pentax Q7
+Pentax WG-10
+Pentax WG-3
+Pentax X-5
+Pentax X70
+Pentax X90
+Pentax XG-1
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/praktica.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/praktica.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9561be7b6857c588e60923b7eba674a6c2a666d4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/praktica.txt
@@ -0,0 +1,132 @@
+Praktica DC 20
+Praktica DC 21
+Praktica DC 22
+Praktica DC 32
+Praktica DC 34
+Praktica DC 42
+Praktica DC 44
+Praktica DC 50
+Praktica DC 52
+Praktica DC 60
+Praktica DC Slim 2
+Praktica DC Slim 5
+Praktica DC440
+Praktica DCZ 1.3
+Praktica DCZ 10.1
+Praktica DCZ 10.2
+Praktica DCZ 10.3
+Praktica DCZ 10.4
+Praktica DCZ 12.1
+Praktica DCZ 12.Z4
+Praktica DCZ 14.1
+Praktica DCZ 14.2
+Praktica DCZ 2.0
+Praktica DCZ 2.1
+Praktica DCZ 2.1 S
+Praktica DCZ 2.2
+Praktica DCZ 2.2 S
+Praktica DCZ 3.0
+Praktica DCZ 3.2
+Praktica DCZ 3.2D
+Praktica DCZ 3.2S
+Praktica DCZ 3.3
+Praktica DCZ 3.4
+Praktica DCZ 3.5
+Praktica DCZ 4.1
+Praktica DCZ 4.2
+Praktica DCZ 4.3
+Praktica DCZ 4.4
+Praktica DCZ 5.1
+Praktica DCZ 5.2
+Praktica DCZ 5.3
+Praktica DCZ 5.4
+Praktica DCZ 5.5
+Praktica DCZ 5.8
+Praktica DCZ 6.1
+Praktica DCZ 6.2
+Praktica DCZ 6.3
+Praktica DCZ 6.8
+Praktica DCZ 7.1
+Praktica DCZ 7.2
+Praktica DCZ 7.3
+Praktica DCZ 7.4
+Praktica DCZ 8.1
+Praktica DCZ 8.2
+Praktica DCZ 8.3
+Praktica Digi 3
+Praktica Digi 3 LM
+Praktica Digi 30
+Praktica Digicam 3
+Praktica DMMC
+Praktica DMMC 4
+Praktica Dpix 1000z
+Praktica Dpix 1100z
+Praktica Dpix 1220z
+Praktica Dpix 3000
+Praktica Dpix 3200
+Praktica Dpix 3300
+Praktica Dpix 5000 WP
+Praktica Dpix 5100
+Praktica Dpix 510Z
+Praktica Dpix 5200
+Praktica Dpix 530Z
+Praktica Dpix 740z
+Praktica Dpix 750z
+Praktica Dpix 810z
+Praktica Dpix 820z
+Praktica Dpix 9000
+Praktica Dpix 910z
+Praktica DVC 6.1
+Praktica Exakta DC 4200
+Praktica G2.0
+Praktica G3.2
+Praktica Luxmedia 10 TS
+Praktica Luxmedia 10 X3
+Praktica Luxmedia 10 XS
+Praktica Luxmedia 10-03
+Praktica Luxmedia 10-23
+Praktica Luxmedia 12 HD
+Praktica Luxmedia 12 TS
+Praktica Luxmedia 12 XS
+Praktica Luxmedia 12-03
+Praktica Luxmedia 12-04
+Praktica Luxmedia 12-23
+Praktica Luxmedia 12-Z4
+Praktica Luxmedia 12-Z4TS
+Praktica Luxmedia 12-Z5
+Praktica Luxmedia 14-Z50S
+Praktica Luxmedia 14-Z51
+Praktica Luxmedia 14-Z80S
+Praktica Luxmedia 16-Z12S
+Praktica Luxmedia 16-Z21C
+Praktica Luxmedia 16-Z21S
+Praktica Luxmedia 16-Z24S
+Praktica Luxmedia 16-Z51
+Praktica Luxmedia 16-Z52
+Praktica Luxmedia 18-Z36C
+Praktica Luxmedia 4008
+Praktica Luxmedia 5003
+Praktica Luxmedia 5008
+Praktica Luxmedia 5103
+Praktica Luxmedia 5203
+Praktica Luxmedia 5303
+Praktica Luxmedia 6103
+Praktica Luxmedia 6105
+Praktica Luxmedia 6203
+Praktica Luxmedia 6403
+Praktica Luxmedia 6503
+Praktica Luxmedia 7103
+Praktica Luxmedia 7105
+Praktica Luxmedia 7203
+Praktica Luxmedia 7303
+Praktica Luxmedia 7403
+Praktica Luxmedia 8003
+Praktica Luxmedia 8203
+Praktica Luxmedia 8213
+Praktica Luxmedia 8303
+Praktica Luxmedia 8403
+Praktica Luxmedia 8503
+Praktica Mini
+Praktica V2.1
+Praktica V3.2
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/ricoh.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/ricoh.txt
new file mode 100644
index 0000000000000000000000000000000000000000..dc4e9b6e7114caf9f7f8ff07355d03b58ed4893f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/ricoh.txt
@@ -0,0 +1,74 @@
+Ricoh Caplio 400G Wide
+Ricoh Caplio 500G
+Ricoh Caplio 500G Wide
+Ricoh Caplio 500SE
+Ricoh Caplio G3
+Ricoh Caplio G3s
+Ricoh Caplio GX
+Ricoh Caplio GX100
+Ricoh Caplio GX200
+Ricoh Caplio GX8
+Ricoh Caplio R1
+Ricoh Caplio R1V
+Ricoh Caplio R2
+Ricoh Caplio R2S
+Ricoh Caplio R3
+Ricoh Caplio R30
+Ricoh Caplio R4
+Ricoh Caplio R40
+Ricoh Caplio R5
+Ricoh Caplio R6
+Ricoh Caplio R7
+Ricoh Caplio R8
+Ricoh Caplio RR1
+Ricoh Caplio RR10
+Ricoh Caplio RR120
+Ricoh Caplio RR230
+Ricoh Caplio RR30
+Ricoh Caplio RR330
+Ricoh Caplio RR530
+Ricoh Caplio RR630
+Ricoh Caplio RR660
+Ricoh Caplio RR750
+Ricoh Caplio RR770
+Ricoh Caplio RX
+Ricoh Caplio RZ1
+Ricoh CX1
+Ricoh CX2
+Ricoh CX3
+Ricoh CX4
+Ricoh CX5
+Ricoh CX6
+Ricoh G600
+Ricoh G700
+Ricoh G700SE
+Ricoh G800
+Ricoh GR
+Ricoh GR Digital
+Ricoh GR Digital 3
+Ricoh GR Digital 4
+Ricoh GR Digital II
+Ricoh GX200
+Ricoh GXR A12 50mm F2.5 Macro
+Ricoh GXR A16 24-85mm F3.5-5.5
+Ricoh GXR GR Lens A12 28mm F2.5
+Ricoh GXR Mount A12
+Ricoh GXR P10 28-300mm F3.5-5.6 VC
+Ricoh GXR S10 24-72mm F2.5-4.4 VC
+Ricoh HZ15
+Ricoh PX
+Ricoh R10
+Ricoh R50
+Ricoh R8
+Ricoh RDC-200G
+Ricoh RDC-4300
+Ricoh RDC-5000
+Ricoh RDC-5300
+Ricoh RDC-6000
+Ricoh RDC-7
+Ricoh RDC-i500
+Ricoh RDC-i700
+Ricoh WG-20
+Ricoh WG-4
+Ricoh WG-M1
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/rollei.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/rollei.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b6f17138505391e76a318e92265f35923ac7b26d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/rollei.txt
@@ -0,0 +1,121 @@
+Rollei Compactline 100
+Rollei Compactline 101
+Rollei Compactline 102
+Rollei Compactline 103
+Rollei Compactline 110
+Rollei Compactline 130
+Rollei Compactline 150
+Rollei Compactline 200
+Rollei Compactline 202
+Rollei Compactline 203
+Rollei Compactline 230
+Rollei Compactline 302
+Rollei Compactline 304
+Rollei Compactline 312
+Rollei Compactline 320
+Rollei Compactline 350
+Rollei Compactline 360 TS
+Rollei Compactline 370 TS
+Rollei Compactline 390 SE
+Rollei Compactline 412
+Rollei Compactline 415
+Rollei Compactline 425
+Rollei Compactline 50
+Rollei Compactline 52
+Rollei Compactline 55
+Rollei Compactline 80
+Rollei Compactline 81
+Rollei Compactline 90
+Rollei d20 motion
+Rollei d210 motion
+Rollei d23 com
+Rollei d33 com
+Rollei d330 motion
+Rollei d41 com
+Rollei d530 flex
+Rollei da10
+Rollei da1325 Prego
+Rollei da5324
+Rollei da5325 Prego
+Rollei da6324
+Rollei da7325 Prego
+Rollei da8324
+Rollei dc 3100
+Rollei dcx 310
+Rollei dcx 400
+Rollei dk 3000
+Rollei dk4010
+Rollei dp 300
+Rollei dp 3210
+Rollei dp6500
+Rollei dpx 310
+Rollei dr 5
+Rollei dr 5100
+Rollei ds6
+Rollei dsx 410
+Rollei dt 3200
+Rollei dt 4000
+Rollei dt 4200
+Rollei dt6 Tribute
+Rollei dx63
+Rollei Flexline 100
+Rollei Flexline 100 iT
+Rollei Flexline 140
+Rollei Flexline 200
+Rollei Flexline 202
+Rollei Flexline 250
+Rollei Kids 100
+Rollei Powerflex 240 HD
+Rollei Powerflex 360 Full HD
+Rollei Powerflex 3D
+Rollei Powerflex 400
+Rollei Powerflex 440
+Rollei Powerflex 450
+Rollei Powerflex 455
+Rollei Powerflex 460
+Rollei Powerflex 470
+Rollei Powerflex 500
+Rollei Powerflex 600
+Rollei Powerflex 610 HD
+Rollei Powerflex 700 Full HD
+Rollei Powerflex 800
+Rollei Powerflex 820
+Rollei Prego da3
+Rollei Prego da4
+Rollei Prego da5
+Rollei Prego da6
+Rollei Prego dp4200
+Rollei Prego dp5200
+Rollei Prego dp5300
+Rollei Prego dp5500
+Rollei Prego dp6000
+Rollei Prego dp6200
+Rollei Prego dp6300
+Rollei Prego dp8300
+Rollei RCP-10325X
+Rollei RCP-5324
+Rollei RCP-6324
+Rollei RCP-7324
+Rollei RCP-7325XS
+Rollei RP-7330X
+Rollei RCP-7430XW
+Rollei RCP-8325
+Rollei RCP-8325X
+Rollei RCP-8325XS
+Rollei RCP-8330X
+Rollei RCP-8427XW
+Rollei RCP-8527X
+Rollei RCP-S10
+Rollei RCP-S8
+Rollei Sportsline 50
+Rollei Sportsline 60 Camouflage
+Rollei Sportsline 62
+Rollei Sportsline 90
+Rollei Sportsline 99
+Rollei X-8
+Rollei X-8 Compact
+Rollei X-8 Sports
+Rollei XS-10
+Rollei XS-10 inTouch
+Rollei XS-8
+Rollei XS-8 Crystal
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/samsung.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/samsung.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d6030420df659096b9bc315c4842539610f6116f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/samsung.txt
@@ -0,0 +1,278 @@
+Samsung AQ100
+Samsung CL5
+Samsung CL65
+Samsung CL80
+Samsung D75
+Samsung D830
+Samsung D85
+Samsung D860
+Samsung Digimax 101
+Samsung Digimax 130
+Samsung Digimax 200
+Samsung Digimax 201
+Samsung Digimax 202
+Samsung Digimax 210 SE
+Samsung Digimax 220 SE
+Samsung Digimax 230
+Samsung Digimax 240
+Samsung Digimax 250
+Samsung Digimax 301
+Samsung Digimax 330
+Samsung Digimax 340
+Samsung Digimax 35 MP3
+Samsung Digimax 350SE
+Samsung Digimax 360
+Samsung Digimax 370
+Samsung Digimax 401
+Samsung Digimax 410
+Samsung Digimax 420
+Samsung Digimax 430
+Samsung Digimax 50 duo
+Samsung Digimax 530
+Samsung Digimax A400
+Samsung Digimax A402
+Samsung Digimax A5
+Samsung Digimax A50
+Samsung Digimax A502
+Samsung Digimax A503
+Samsung Digimax A55W
+Samsung Digimax A6
+Samsung Digimax A7
+Samsung Digimax D103
+Samsung Digimax i5
+Samsung Digimax i50 MP3
+Samsung Digimax i6
+Samsung Digimax L50
+Samsung Digimax L55W
+Samsung Digimax L60
+Samsung Digimax L70
+Samsung Digimax L85
+Samsung Digimax S1000
+Samsung Digimax S500
+Samsung Digimax S600
+Samsung Digimax S700
+Samsung Digimax S800
+Samsung Digimax U-CA 3
+Samsung Digimax U-CA 4
+Samsung Digimax U-CA 401
+Samsung Digimax U-CA5
+Samsung Digimax U-CA501
+Samsung Digimax U-CA505
+Samsung Digimax V3
+Samsung Digimax V4
+Samsung Digimax V40
+Samsung Digimax V4000
+Samsung Digimax V5
+Samsung Digimax V50
+Samsung Digimax V6
+Samsung Digimax V600
+Samsung Digimax V70
+Samsung Digimax V700
+Samsung Digimax V800
+Samsung DV100
+Samsung DV150F
+Samsung DV300F
+Samsung ES10
+Samsung ES15
+Samsung ES17
+Samsung ES20
+Samsung ES25
+Samsung ES28
+Samsung ES30
+Samsung ES50
+Samsung ES55
+Samsung ES60
+Samsung ES65
+Samsung ES70
+Samsung ES73
+Samsung ES75
+Samsung ES80
+Samsung ES90
+Samsung ES95
+Samsung EX1
+Samsung EX2F
+Samsung Galaxy Camera
+Samsung Galaxy Camera 2
+Samsung Galaxy NX
+Samsung GX-10
+Samsung GX-1L
+Samsung GX-1S
+Samsung GX-20
+Samsung HZ10W
+Samsung HZ15W
+Samsung HZ25W
+Samsung HZ30W
+Samsung HZ35W
+Samsung HZ50W
+Samsung i100
+Samsung i7
+Samsung i70
+Samsung i8
+Samsung i80
+Samsung i85
+Samsung IT100
+Samsung L100
+Samsung L110
+Samsung L200
+Samsung L201
+Samsung L210
+Samsung L301
+Samsung L310W
+Samsung L700
+Samsung L73
+Samsung L730
+Samsung L74
+Samsung L74 Wide
+Samsung L77
+Samsung L80
+Samsung L830
+Samsung L83T
+Samsung M100
+Samsung Miniket VP-MS10
+Samsung Miniket VP-MS11
+Samsung Miniket VP-MS15
+Samsung MV800
+Samsung NV10
+Samsung NV100 HD
+Samsung NV11
+Samsung NV15
+Samsung NV20
+Samsung NV24HD
+Samsung NV3
+Samsung NV30
+Samsung NV4
+Samsung NV40
+Samsung NV7 OPS
+Samsung NV8
+Samsung NV9
+Samsung NX mini
+Samsung NX1
+Samsung NX10
+Samsung NX100
+Samsung NX1000
+Samsung NX11
+Samsung NX1100
+Samsung NX20
+Samsung NX200
+Samsung NX2000
+Samsung NX210
+Samsung NX30
+Samsung NX300
+Samsung NX3000
+Samsung NX5
+Samsung PL10
+Samsung PL100
+Samsung PL120
+Samsung PL150
+Samsung PL160
+Samsung PL170
+Samsung PL20
+Samsung PL200
+Samsung PL210
+Samsung PL50
+Samsung PL51
+Samsung PL55
+Samsung PL60
+Samsung PL65
+Samsung PL70
+Samsung PL80
+Samsung PL90
+Samsung Pro815
+Samsung S1030
+Samsung S1050
+Samsung S1060
+Samsung S1070
+Samsung S630
+Samsung S730
+Samsung S750
+Samsung S760
+Samsung S830
+Samsung S85
+Samsung S850
+Samsung S860
+Samsung SDC-MS61
+Samsung SH100
+Samsung SL102
+Samsung SL201
+Samsung SL202
+Samsung SL30
+Samsung SL310W
+Samsung SL50
+Samsung SL502
+Samsung SL600
+Samsung SL605
+Samsung SL620
+Samsung SL630
+Samsung SL720
+Samsung SL820
+Samsung ST10
+Samsung ST100
+Samsung ST1000
+Samsung ST150F
+Samsung ST200F
+Samsung ST30
+Samsung ST45
+Samsung ST50
+Samsung ST500
+Samsung ST5000
+Samsung ST550
+Samsung ST5500
+Samsung ST60
+Samsung ST600
+Samsung ST65
+Samsung ST6500
+Samsung ST66
+Samsung ST70
+Samsung ST700
+Samsung ST72
+Samsung ST76
+Samsung ST77
+Samsung ST80
+Samsung ST88
+Samsung ST90
+Samsung ST93
+Samsung ST95
+Samsung ST96
+Samsung TL100
+Samsung TL105
+Samsung TL110
+Samsung TL205
+Samsung TL210
+Samsung TL220
+Samsung TL225
+Samsung TL240
+Samsung TL320
+Samsung TL34HD
+Samsung TL350
+Samsung TL500
+Samsung TL9
+Samsung WB100
+Samsung WB1000
+Samsung WB110
+Samsung WB1100F
+Samsung WB150F
+Samsung WB2000
+Samsung WB200F
+Samsung WB210
+Samsung WB2100
+Samsung WB2200F
+Samsung WB250F
+Samsung WB30F
+Samsung WB350F
+Samsung WB35F
+Samsung WB500
+Samsung WB5000
+Samsung WB50F
+Smsung WB510
+Samsung WB550
+Samsung WB5500
+Samsung WB560
+Samsung WB600
+Samsung WB650
+Samsung WB660
+Samsung WB690
+Samsung WB700
+Samsung WB750
+Samsung WB800F
+Samsung WB850F
+Samsung WP10
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/sanyo.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/sanyo.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b24028cac2f66fcfae7b8b25c548d00a68662d2b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/sanyo.txt
@@ -0,0 +1,78 @@
+Sanyo DSC S1
+Sanyo DSC S3
+Sanyo DSC S4
+Sanyo DSC S5
+Sanyo VPC A5
+Sanyo VPC AZ1
+Sanyo VPC AZ3 EX
+Sanyo VPC E1090
+Sanyo VPC E1403
+Sanyo VPC E1500TP
+Sanyo VPC E890
+Sanyo VPC HD1 EX
+Sanyo VPC J1 EX
+Sanyo VPC J2 EX
+Sanyo VPC J4 EX
+Sanyo VPC MZ1
+Sanyo VPC MZ2
+Sanyo VPC S1085
+Sanyo VPC S122
+Sanyo VPC S1275
+Sanyo VPC S1414
+Sanyo VPC S885
+Sanyo VPC T1495
+Sanyo VPC X1200
+Sanyo VPC X1220
+Sanyo VPC X1420
+Sanyo Xacti C1
+Sanyo Xacti C4
+Sanyo Xacti C40
+Sanyo Xacti C5
+Sanyo Xacti C6
+Sanyo Xacti DMX-CA65
+Sanyo Xacti DMX-CA8
+Sanyo Xacti DMX-CG65
+Sanyo Xacti DMX-CG9
+Sanyo Xacti DMX-HD700
+Sanyo Xacti DMX-HD800
+Sanyo Xacti E6
+Sanyo Xacti E60
+Sanyo Xacti S50
+Sanyo Xacti S6
+Sanyo Xacti S60
+Sanyo Xacti S70
+Sanyo Xacti VPC S1 EX
+Sanyo Xacti VPC S3 EX
+Sanyo Xacti VPC S4 EX
+Sanyo Xacti VPC-503
+Sanyo Xacti VPC-603
+Sanyo Xacti VPC-CA6
+Sanyo Xacti VPC-CA9
+Sanyo Xacti VPC-CG10
+Sanyo Xacti VPC-CG6
+Sanyo Xacti VPC-E10
+Sanyo Xacti VPC-E1075
+Sanyo Xacti VPC-E7
+Sanyo Xacti VPC-E760
+Sanyo Xacti VPC-E860
+Sanyo Xacti VPC-E870
+Sanyo Xacti VPC-E875
+Sanyo Xacti VPC-HD1A
+Sanyo Xacti VPC-HD2
+Sanyo Xacti VPC-HD2000
+Sanyo Xacti VPC-S1070
+Sanyo Xacti VPC-S500
+Sanyo Xacti VPC-S600
+Sanyo Xacti VPC-S650
+Sanyo Xacti VPC-S670
+Sanyo Xacti VPC-S7
+Sanyo Xacti VPC-S750
+Sanyo Xacti VPC-S760
+Sanyo Xacti VPC-S770
+Sanyo Xacti VPC-S870
+Sanyo Xacti VPC-S880
+Sanyo Xacti VPC-T1060
+Sanyo Xacti VPC-T700
+Sanyo Xacti VPC-T850
+Sanyo Xacti VPC-W800
+Sanyo Xacti VPC-X1200
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/sigma.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/sigma.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2d43f95ee9cf2f339e78865f027071cb712cea2b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/sigma.txt
@@ -0,0 +1,16 @@
+Sigma DP1
+Sigma DP1 Merrill
+Sigma DP1s
+Sigma DP1x
+Sigma DP2
+Sigma DP2 Merrill
+Sigma DP2s
+Sigma DP2x
+Sigma DP3 Merrill
+Sigma SD1
+Sigma SD1 Merrill
+Sigma SD10
+Sigma SD14
+Sigma SD15
+Sigma SD9
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/sony.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/sony.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0615dcc7c601483af604a8bceba888224b659f7d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/sony.txt
@@ -0,0 +1,293 @@
+Sony A77 II
+Sony Alpha 7
+Sony Alpha 7R
+Sony Alpha 7S
+Sony Alpha a3000
+Sony Alpha a5000
+Sony Alpha a5100
+Sony Alpha a6000
+Sony Alpha DSLR-A100
+Sony Alpha DSLR-A200
+Sony Alpha DSLR-A230
+Sony Alpha DSLR-A290
+Sony Alpha DSLR-A300
+Sony Alpha DSLR-A330
+Sony Alpha DSLR-A350
+Sony Alpha DSLR-A380
+Sony Alpha DSLR-A390
+Sony Alpha DSLR-A450
+Sony Alpha DSLR-A500
+Sony Alpha DSLR-A550
+Sony Alpha DSLR-A560
+Sony Alpha DSLR-A580
+Sony Alpha DSLR-A700
+Sony Alpha DSLR-A850
+Sony Alpha DSLR-A900
+Sony Alpha NEX-3
+Sony Alpha NEX-3N
+Sony Alpha NEX-5
+Sony Alpha NEX-5N
+Sony Alpha NEX-5R
+Sony Alpha NEX-5T
+Sony Alpha NEX-6
+Sony Alpha NEX-7
+Sony Alpha NEX-C3
+Sony Alpha NEX-F3
+Sony Cybershot DSC-D700
+Sony Cybershot DSC-D770
+Sony Cybershot DSC-F505v
+Sony Cybershot DSC-F55
+Sony Cybershot DSC-F55v
+Sony Cybershot DSC-F707
+Sony Cybershot DSC-F717
+Sony Cybershot DSC-F77
+Sony Cybershot DSC-F828
+Sony Cybershot DSC-F88
+Sony Cybershot DSC-FX77
+Sony Cybershot DSC-G1
+Sony Cybershot DSC-G3
+Sony Cybershot DSC-H1
+Sony Cybershot DSC-H10
+Sony Cybershot DSC-H100
+Sony Cybershot DSC-H2
+Sony Cybershot DSC-H20
+Sony Cybershot DSC-H200
+Sony Cybershot DSC-H3
+Sony Cybershot DSC-H300
+Sony Cybershot DSC-H400
+Sony Cybershot DSC-H5
+Sony Cybershot DSC-H50
+Sony Cybershot DSC-H55
+Sony Cybershot DSC-H7
+Sony Cybershot DSC-H70
+Sony Cybershot DSC-H9
+Sony Cybershot DSC-H90
+Sony Cybershot DSC-HX1
+Sony Cybershot DSC-HX100V
+Sony Cybershot DSC-HX10V
+Sony Cybershot DSC-HX200V
+Sony Cybershot DSC-HX20V
+Sony Cybershot DSC-HX300
+Sony Cybershot DSC-HX30V
+Sony Cybershot DSC-HX400
+Sony Cybershot DSC-HX5
+Sony Cybershot DSC-HX50
+Sony Cybershot DSC-HX60
+Sony Cybershot DSC-HX7V
+Sony Cybershot DSC-HX9V
+Sony Cybershot DSC-J10
+Sony Cybershot DSC-L1
+Sony Cybershot DSC-M1
+Sony Cybershot DSC-M2
+Sony Cybershot DSC-N1
+Sony Cybershot DSC-N2
+Sony Cybershot DSC-P1
+Sony Cybershot DSC-P10
+Sony Cybershot DSC-P100
+Sony Cybershot DSC-P12
+Sony Cybershot DSC-P120
+Sony Cybershot DSC-P150
+Sony Cybershot DSC-P2
+Sony Cybershot DSC-P20
+Sony Cybershot DSC-P200
+Sony Cybershot DSC-P3
+Sony Cybershot DSC-P30
+Sony Cybershot DSC-P31
+Sony Cybershot DSC-P32
+Sony Cybershot DSC-P41
+Sony Cybershot DSC-P43
+Sony Cybershot DSC-P5
+Sony Cybershot DSC-P50
+Sony Cybershot DSC-P51
+Sony Cybershot DSC-P52
+Sony Cybershot DSC-P7
+Sony Cybershot DSC-P71
+Sony Cybershot DSC-P72
+Sony Cybershot DSC-P73
+Sony Cybershot DSC-P8
+Sony Cybershot DSC-P9
+Sony Cybershot DSC-P92
+Sony Cybershot DSC-P93
+Sony Cybershot DSC-QX10
+Sony Cybershot DSC-QX100
+Sony Cybershot DSC-R1
+Sony Cyber-shot DSC-RX1
+Sony Cybershot DSC-RX10
+Sony Cybershot DSC-RX100
+Sony Cybershot DSC-RX100 II
+Sony Cybershot DSC-RX100 III
+Sony Cybershot DSC-RX1R
+Sony Cybershot DSC-S2000
+Sony Cybershot DSC-S2100
+Sony Cybershot DSC-S30
+Sony Cybershot DSC-S3000
+Sony Cybershot DSC-S40
+Sony Cybershot DSC-S45
+Sony Cybershot DSC-S50
+Sony Cybershot DSC-S5000
+Sony Cybershot DSC-S60
+Sony Cybershot DSC-S600
+Sony Cybershot DSC-S650
+Sony Cybershot DSC-S70
+Sony Cybershot DSC-S700
+Sony Cybershot DSC-S730
+Sony Cybershot DSC-S75
+Sony Cybershot DSC-S750
+Sony Cybershot DSC-S780
+Sony Cybershot DSC-S80
+Sony Cybershot DSC-S800
+Sony Cybershot DSC-S85
+Sony Cybershot DSC-S90
+Sony Cybershot DSC-S930
+Sony Cybershot DSC-S950
+Sony Cybershot DSC-S980
+Sony Cybershot DSC-T1
+Sony Cybershot DSC-T10
+Sony Cybershot DSC-T100
+Sony Cybershot DSC-T11
+Sony Cybershot DSC-T110
+Sony Cybershot DSC-T2
+Sony Cybershot DSC-T20
+Sony Cybershot DSC-T200
+Sony Cybershot DSC-T3
+Sony Cybershot DSC-T30
+Sony Cybershot DSC-T300
+Sony Cybershot DSC-T33
+Sony Cybershot DSC-T5
+Sony Cybershot DSC-T50
+Sony Cybershot DSC-T500
+Sony Cybershot DSC-T7
+Sony Cybershot DSC-T70
+Sony Cybershot DSC-T700
+Sony Cybershot DSC-T77
+Sony Cybershot DSC-T9
+Sony Cybershot DSC-T90
+Sony Cybershot DSC-T900
+Sony Cybershot DSC-T99
+Sony Cybershot DSC-TF1
+Sony Cybershot DSC-TX1
+Sony Cybershot DSC-TX100V
+Sony Cybershot DSC-TX20
+Sony Cybershot DSC-TX200V
+Sony Cybershot DSC-TX30
+Sony Cybershot DSC-TX5
+Sony Cybershot DSC-TX55
+Sony Cybershot DSC-TX66
+Sony Cybershot DSC-TX7
+Sony Cybershot DSC-TX9
+Sony Cybershot DSC-U10
+Sony Cybershot DSC-U20
+Sony Cybershot DSC-U30
+Sony Cybershot DSC-U40
+Sony Cybershot DSC-U50
+Sony Cybershot DSC-U60
+Sony Cybershot DSC-V1
+Sony Cybershot DSC-V3
+Sony Cybershot DSC-W1
+Sony Cybershot DSC-W100
+Sony Cybershot DSC-W110
+Sony Cybershot DSC-W115
+Sony Cybershot DSC-W12
+Sony Cybershot DSC-W120
+Sony Cybershot DSC-W125
+Sony Cybershot DSC-W130
+Sony Cybershot DSC-W150
+Sony Cybershot DSC-W17
+Sony Cybershot DSC-W170
+Sony Cybershot DSC-W180
+Sony Cybershot DSC-W190
+Sony Cybershot DSC-W200
+Sony Cybershot DSC-W210
+Sony Cybershot DSC-W215
+Sony Cybershot DSC-W220
+Sony Cybershot DSC-W230
+Sony Cybershot DSC-W270
+Sony Cybershot DSC-W275
+Sony Cybershot DSC-W290
+Sony Cybershot DSC-W30
+Sony Cybershot DSC-W300
+Sony Cybershot DSC-W310
+Sony Cybershot DSC-W320
+Sony Cybershot DSC-W330
+Sony Cybershot DSC-W35
+Sony Cybershot DSC-W350
+Sony Cybershot DSC-W360
+Sony Cybershot DSC-W370
+Sony Cybershot DSC-W380
+Sony Cybershot DSC-W40
+Sony Cybershot DSC-W5
+Sony Cybershot DSC-W50
+Sony Cybershot DSC-W510
+Sony Cybershot DSC-W520
+Sony Cybershot DSC-W530
+Sony Cybershot DSC-W55
+Sony Cybershot DSC-W550
+Sony Cybershot DSC-W560
+Sony Cybershot DSC-W570
+Sony Cybershot DSC-W580
+Sony Cybershot DSC-W610
+Sony Cybershot DSC-W620
+Sony Cybershot DSC-W630
+Sony Cybershot DSC-W650
+Sony Cybershot DSC-W670
+Sony Cybershot DSC-W690
+Sony Cybershot DSC-W7
+Sony Cybershot DSC-W70
+Sony Cybershot DSC-W710
+Sony Cybershot DSC-W730
+Sony Cybershot DSC-W80
+Sony Cybershot DSC-W800
+Sony Cybershot DSC-W810
+Sony Cybershot DSC-W830
+Sony Cybershot DSC-W85
+Sony Cybershot DSC-W90
+Sony Cybershot DSC-WX1
+Sony Cybershot DSC-WX10
+Sony Cybershot DSC-WX100
+Sony Cybershot DSC-WX150
+Sony Cybershot DSC-WX200
+Sony Cybershot DSC-WX220
+Sony Cybershot DSC-WX30
+Sony Cybershot DSC-WX300
+Sony Cybershot DSC-WX350
+Sony Cybershot DSC-WX5
+Sony Cybershot DSC-WX50
+Sony Cybershot DSC-WX60
+Sony Cybershot DSC-WX7
+Sony Cybershot DSC-WX70
+Sony Cybershot DSC-WX80
+Sony Cybershot DSC-WX9
+Sony Cybershot DS-F505
+Sony Mavica CD1000
+Sony Mavica CD200
+Sony Mavica CD250
+Sony Mavica CD300
+Sony Mavica CD350
+Sony Mavica CD400
+Sony Mavica CD500
+Sony Mavica FD-100
+Sony Mavica FD-200
+Sony Mavica FD-71
+Sony Mavica FD-73
+Sony Mavica FD-75
+Sony Mavica FD-81
+Sony Mavica FD-83
+Sony Mavica FD-85
+Sony Mavica FD-87
+Sony Mavica FD-88
+Sony Mavica FD-90
+Sony Mavica FD-91
+Sony Mavica FD-92
+Sony Mavica FD-95
+Sony Mavica FD-97
+Sony QX1
+Sony QX30
+Sony SL-A57
+Sony SLT-A33
+Sony SLT-A35
+Sony SLT-A37
+Sony SLT-A55
+Sony SLT-A58
+Sony SLT-A65
+Sony SLT-A77
+Sony SLT-A99
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/toshiba.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/toshiba.txt
new file mode 100644
index 0000000000000000000000000000000000000000..cb4bc386badbb17e5c86758b4bb40abd1f6aec22
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/toshiba.txt
@@ -0,0 +1,20 @@
+Toshiba PDR 2300
+Toshiba PDR 3300
+Toshiba PDR 3310
+Toshiba PDR 3320
+Toshiba PDR 4300
+Toshiba PDR 5300
+Toshiba PDR M25
+Toshiba PDR M5
+Toshiba PDR M500
+Toshiba PDR M60
+Toshiba PDR M61
+Toshiba PDR M65
+Toshiba PDR M70
+Toshiba PDR M700
+Toshiba PDR M71
+Toshiba PDR M81
+Toshiba PDR T10
+Toshiba PDR T20
+Toshiba PDR T30
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/vivitar.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/vivitar.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6f6027b539b51682197f52f2126a23ada89aa359
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/vivitar.txt
@@ -0,0 +1,31 @@
+Vivitar V8025
+Vivitar ViviCam 5105s
+Vivitar ViviCam 5150s
+Vivitar ViviCam 5160s
+Vivitar ViviCam 5195
+Vivitar ViviCam 5350s
+Vivitar ViviCam 5355
+Vivitar ViviCam 5385
+Vivitar ViviCam 5386
+Vivitar ViviCam 5388
+Vivitar ViviCam 6150s
+Vivitar ViviCam 6200w
+Vivitar ViviCam 6300
+Vivitar ViviCam 6320
+Vivitar ViviCam 6326
+Vivitar ViviCam 6330
+Vivitar ViviCam 6380u
+Vivitar ViviCam 6385u
+Vivitar ViviCam 6388s
+Vivitar ViviCam 7100s
+Vivitar ViviCam 7310
+Vivitar ViviCam 7388s
+Vivitar ViviCam 7500i
+Vivitar ViviCam 8300s
+Vivitar ViviCam 8400
+Vivitar ViviCam 8600
+Vivitar ViviCam 8600s
+Vivitar ViviCam 8625
+Vivitar ViviCam X30
+Vivitar ViviCam X60
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/yakumo.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/yakumo.txt
new file mode 100644
index 0000000000000000000000000000000000000000..eb715edcaab87849b38ba908a5db455a68216f42
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/camera_models/yakumo.txt
@@ -0,0 +1,25 @@
+Yakumo CamMaster SD 432
+Yakumo CamMaster SD 482
+Yakumo Mega Image 34
+Yakumo Mega Image 35
+Yakumo Mega Image 37
+Yakumo Mega Image 410
+Yakumo Mega Image 45
+Yakumo Mega Image 47
+Yakumo Mega Image 47 SL
+Yakumo Mega Image 47sx
+Yakumo Mega Image 55cx
+Yakumo Mega Image 57
+Yakumo Mega Image 57x
+Yakumo Mega Image 610x
+Yakumo Mega Image 67x
+Yakumo Mega Image 811x
+Yakumo Mega Image 84 D
+Yakumo Mega Image 85D
+Yakumo Mega Image II
+Yakumo Mega Image IV
+Yakumo Mega Image VI
+Yakumo Mega Image VII
+Yakumo Mega Image X
+Yakumo Mega Image XL
+Yakumo Mega Image XS
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/cameratype.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/cameratype.txt
new file mode 100644
index 0000000000000000000000000000000000000000..021169e38ebc20e58bcb310559b679a50ab0949e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/cameratype.txt
@@ -0,0 +1,11 @@
+# General camera types for a variety of results
+DSLR
+Iphone
+phone camera
+Leica
+Nikon F
+Kodak Retina II
+CCTV
+security camera
+poloroid
+pinhole camera
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/composition.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/composition.txt
new file mode 100644
index 0000000000000000000000000000000000000000..86210e4ad865469ab67ae06dfeccf116b18deee4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/composition.txt
@@ -0,0 +1,6 @@
+Landscape
+Knolling
+Portrait
+Macro photography
+Studio photography
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/film/black_and_white.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/film/black_and_white.txt
new file mode 100644
index 0000000000000000000000000000000000000000..acb2c34fcf45449a2968405f5d835649c5f9f849
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/film/black_and_white.txt
@@ -0,0 +1,75 @@
+# Black and white film
+# Sourced from https://www.bhphotovideo.com/explora/photography/hands-review/black-and-white-film-roundup
+
+# Kodak
+Tri-X 320 # Lower contrast profile than Tri-X 400. Smoother grain structure.
+Tri-X 400 # Classic. Grainy
+T-Max 100 # Similar to T-Max 100
+T-Max 400 # Contemporary. Fine grain, Smooth
+T-Max 3200 # Low-light. salt and pepper look of high speed film
+
+# Ilford
+
+Pan F Plus # 50 Iso, very slow, no grain, broad tonal range
+FP4 Plus # Medium speed, fine grain, normal constrast, wide exposure latitude
+HP5 Plus # Classic, versitile
+Delta 100 # Fine grain
+Delta 400 # Fine grain
+Delta 3200 # Fine grain, low light also daytime
+SFX 200 # Extended red sensitivity - infrared effects with red filter
+XP2 Super # Chromogenic film
+Ortho Plus # Orthochromatic film. Sensitive to blue and green light.
+
+# Rollei
+Infrared 400 # Infrared film
+Retro 80S # Extended red sensitivity, reduce haze or fog. Smooth blemishes.
+Retro 400S # Extended red sensitivity, reduce haze or fog. Smooth blemishes.
+RPX 25 # Solid
+RPX 100 # Solid
+RPX 400 # Solid
+Superpan 200 # Extended red sensitivity, technical film appearance, high contrast and moderate grain
+Ortho 25 # Blue and green sensitive. Slow film, fine grain, high sharpness.
+Copex Rapid # Extremely high sharpness and resolution. High contrast and full-range tones.
+
+# Lomography
+Earl Grey 100 # Smooth grain, broad tonal ranges. Simple
+Earl Grey 400 # Smooth grain, broad tonal ranges. Simple
+Potsdam Kino 100 # Classic, historic look.
+Berlin Kino 400 # Similar to Potsdam Kino 100
+
+# Adox
+Silvermax 100 # Wide tonal range
+Scala 160 # Meant for black and white transparencies. Deep tonal range.
+HR-50 # Extended red sensitivity, unique infrared effects. High sharpness, little grain.
+CMS 20 II # High sharpness, fine resolution, little grain.
+
+# Foma
+100 Classic # Finely grained
+200 Creative # Finely grained
+400 Action # Finely grained
+Fomapan R100 # intended for slides
+Retropan 320 soft # Low contrast, high grain structure
+
+# Agfa
+APX 100
+APX 400
+
+# Arista
+EDU Ultra 100
+EDU Ultra 200
+EDU Ultra 400
+
+Bergger Pancro 400 # Fine grain and high resolution, medium contrast
+
+# CatLABS
+X Film 800
+X Film 320
+
+# Cinestill
+BwXX Double-X 500T # Subtle tonality, fine grain, high sharpness
+
+# Japan Camera Hunter
+StreetPan 400
+
+# Shanghai Film
+GP3 100
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/film/filetypes.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/film/filetypes.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7e14e0de0beaea87297d9cf75a7eb8010f3a648e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/film/filetypes.txt
@@ -0,0 +1,4 @@
+Slide Film
+Color Negative Film
+Black and White Negative Film
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/film/filmsizes.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/film/filmsizes.txt
new file mode 100644
index 0000000000000000000000000000000000000000..769109b1dc419431f3fdcaea36e75c5394cbaee0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/film/filmsizes.txt
@@ -0,0 +1,18 @@
+# (35mm) Standard Format
+135 film
+126 film
+828 film
+
+# Medium format
+120 film
+220 film
+620 film
+
+Large format
+
+# Misc sizes
+116 Film
+616 Film
+127 film
+110 film
+APS film
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/filmtypes.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/filmtypes.txt
new file mode 100644
index 0000000000000000000000000000000000000000..48c11ceb6405b1f25549e03cae8e40e629fa6f80
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/filmtypes.txt
@@ -0,0 +1,24 @@
+85mm
+Black and white
+Super 8 movie
+Cyanotype
+Daguerreotype
+Dye-transfer
+Ektachrome
+Fugifilm Superia
+Ilford HP5
+Infrared
+Instax
+kodachrome
+Kodak Ektar
+Kodak Gold 200
+Kodak Portra
+Lomo
+Matte photo
+Nikon D750
+On Canvas
+Provia
+shot on 70mm
+Silver nitrate
+Tintype
+Velvia
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/generalphoto.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/generalphoto.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d38d552ab70d90a7152d7eb4295e74b07fd3762a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/generalphoto.txt
@@ -0,0 +1,5 @@
+# Originally sourced from https://aiartcreation.fandom.com/wiki/Modifier_Taxonomy#Photography/Film
+Framed
+High-quality photo
+Dark Background
+White Background
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/lens.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/lens.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8d5dafe69b94683aa618bc11f27287d8bc2865c6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/lens.txt
@@ -0,0 +1,18 @@
+Fisheye Lens
+Macro
+Telephoto
+Panoramic
+Shallow Depth Of Field
+Telephoto
+Wide Angle
+F 2.8 lens
+Depth of field
+Sharp focus
+1ms shutter speed
+DOF
+Hyperfocal
+prime lens
+nifty fifty
+35mm
+50mm
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/lighting.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/lighting.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f61b1f939ae7be9d7751ef3b43db943d03c975a5
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/lighting.txt
@@ -0,0 +1,14 @@
+# Originally sourced from https://aiartcreation.fandom.com/wiki/Modifier_Taxonomy#Photography/Film
+Lens Flare
+Hard Lighting
+Golden hour
+Ambient occlusion
+Chiaroscuro
+Flickering light
+Global illumination
+Sunrays shine upon it
+Sunshine rays
+Volumetric lighting
+Cinematic lighting
+Back lighting
+Dramatically lit
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/perspective.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/perspective.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9686514236304e2d9110c7462b9c0c58ad5d8f7b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/perspective.txt
@@ -0,0 +1,15 @@
+Aerial View
+Close Up
+Satellite imagery
+Drone
+From Above
+Long Shot
+Low Angle
+Overhead View
+Panorama
+Panoramic
+In The Distance
+Isometric
+Full Shot
+From Behind
+From Below
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/photo_sites.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/photo_sites.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8d59ffa5bdd54483062b3bd72fe023545742c81d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/photo_sites.txt
@@ -0,0 +1,5 @@
+Stock photo
+National Geographic photo
+Associated Press photo
+Unsplash contest winner
+Flickr
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/processing.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/processing.txt
new file mode 100644
index 0000000000000000000000000000000000000000..23a37d7bb4b8f83b82809c0b332468c395fc72cb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/processing.txt
@@ -0,0 +1,21 @@
+Bokeh
+Digitally enhanced
+Aftereffects
+Tilt-shift
+Motion Blur
+Filmic
+HDR
+White Balance
+Exposure
+Black Point
+Brightness
+High Contrast
+Low Contrast
+Bracketing
+Noise
+High Saturation
+Low Saturation
+Vignetting
+Sepia
+Colorized
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/resolution.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/resolution.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3042498005be02c1723b6236707050e025f7e975
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/resolution.txt
@@ -0,0 +1,10 @@
+# Originally sourced from https://aiartcreation.fandom.com/wiki/Modifier_Taxonomy#Photography/Film
+20 megapixels
+3840x2160
+8k 3D
+16k 3D
+4k
+8k resolution / 16k resolution
+Detailed
+Ultra HD
+Ultrafine detail
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/style.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/style.txt
new file mode 100644
index 0000000000000000000000000000000000000000..80571eeb3b4ff132da8d259d20f41f0bbee18ba6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/photography/style.txt
@@ -0,0 +1,6 @@
+Film noir
+Candid
+Wedding Photography
+Postcard
+Product Photography
+Photojournalism
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/sculptural.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/sculptural.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e430cbfea2db58808d6cab7d69b7f917ab5c854a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/sculptural.txt
@@ -0,0 +1,5 @@
+# Originally sourced from https://aiartcreation.fandom.com/wiki/Modifier_Taxonomy#Medium
+Italian Renaissance Sculpture
+Kintsugi
+Marble sculpture
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/shading-techniques.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/shading-techniques.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1afe42755f5c2c326d6c8ed678f8ff440a254be6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/shading-techniques.txt
@@ -0,0 +1,15 @@
+Hatching
+Cross-hatching
+Stippling
+Scribbling
+Contour hatching
+Smudging
+Ink wash
+Cross-contour lines
+Scumbling
+Parallel shading
+Linear shading
+Pointillism
+Conté crayon
+Chiaroscuro
+Negative space shading
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/textile.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/textile.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b3942986379c4327c8595edbdf4016beee561559
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/medium/textile.txt
@@ -0,0 +1,4 @@
+# Originally sourced from https://aiartcreation.fandom.com/wiki/Modifier_Taxonomy#Medium
+Brocade
+Highly-detailed needlepoint
+Tapestry
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/actions/encounter.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/actions/encounter.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a18a909d9d6c325c7c74732c0b61c02a70172b6d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/actions/encounter.txt
@@ -0,0 +1,14 @@
+experiencing
+coming into contact with
+running into
+coming across
+coming up against
+facing
+confronting
+meeting
+coming upon
+stumbling across
+stumbling on
+chancing upon
+bumping into
+happening upon
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/actions/walking.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/actions/walking.txt
new file mode 100644
index 0000000000000000000000000000000000000000..572b847a890c7826d4d7589addcd0bda77694f16
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/actions/walking.txt
@@ -0,0 +1,27 @@
+strolling
+sauntering
+ambling
+wending their way
+trudging
+plodding
+hiking
+tramping
+trekking
+marching
+striding
+trooping
+patrolling
+wandering
+rambling
+treading
+prowling
+roaming
+traipsing
+walking
+advancing
+proceeding
+moving
+going
+moseying
+perambulating
+travelling on foot
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/beards.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/beards.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6f3ad68622c7d1772c0570b28076bb0c7325e4d8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/beards.txt
@@ -0,0 +1,39 @@
+egg-shaped beard
+goatee
+black tie scruff beard
+van dyke beard
+playoff beard
+mustache-forward beard
+the wolverine beard
+chin cup beard
+5 o’clock shadow
+scruffy beard
+corporate beard
+short rounded beard
+short boxed beard
+faded beard
+hollywoodian beard
+verdi beard
+power beard
+power beard with walrus mustache
+power beard with trimmed mustache
+spade-shaped power beard
+yeard
+tweard
+bandholz beard
+chevron mustache
+hungarian mustache
+beardstache
+pencil mustache
+mutton chops beard
+square beard
+pointy beard
+patchy beard
+viking beard
+chinstrap beard
+well-groomed beard
+defined beard
+long goatee
+the dgaf beard
+full chin beard
+three-day scruff beard
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/descriptors/traveller.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/descriptors/traveller.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7125bba284cf28df8d4d9d41727f3307cde3e6d2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/descriptors/traveller.txt
@@ -0,0 +1,27 @@
+passenger
+tourist
+tourer
+journeyer
+voyager
+excursionist
+sightseer
+visitor
+traveller
+globetrotter
+jet-setter
+backpacker
+pilgrim
+gadabout
+rover
+wanderer
+explorer
+discoverer
+scout
+surveyor
+reconnoitrer
+prospector
+holidaymaker
+vacationer
+vacationist
+gallivanter
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/mood.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/mood.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b72859c5f569ff85f5be027d22a4c7f7e3a6d72a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/mood.txt
@@ -0,0 +1,29 @@
+pensive
+indignant
+proud
+resentful
+confused
+bored
+annoyed
+dismayed
+disappointed
+disbelief
+exasperated
+embarrassed
+fearing
+jealous
+joyous
+sad
+angry
+anxious
+disgusted
+amused
+interested
+astonished
+loving
+hating
+grieving
+horrified
+shocked
+betrayed
+surprised
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/african-islands.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/african-islands.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f6b2beffe89ce6997afd5f2c6f44fcf70783f517
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/african-islands.txt
@@ -0,0 +1,3 @@
+Comoran
+Mauritian
+Seychellois
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/african.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/african.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b5cf7451a5c157469c28bb48c0d1a5bdd9efd8d8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/african.txt
@@ -0,0 +1,6 @@
+__people/nationalities/east-africa__
+__people/nationalities/southern-africa__
+__people/nationalities/west-africa__
+__people/nationalities/north-africa__
+__people/nationalities/central-africa__
+__people/nationalities/african-islands__
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/all-nationalities.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/all-nationalities.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ed6ab517f95b8f3f9cb59827afc5f0e023ff4395
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/all-nationalities.txt
@@ -0,0 +1,8 @@
+__people/nationalities/african__
+__people/nationalities/europe__
+__people/nationalities/south-america__
+__people/nationalities/north-america__
+__people/nationalities/asia__
+__people/nationalities/oceania__
+__people/nationalities/atlantic-islands__
+__people/nationalities/central-america__
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/asia.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/asia.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f49cc68d80e54ffbc305496aac460a9f5b954ade
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/asia.txt
@@ -0,0 +1,6 @@
+Russian
+__people/nationalities/middle-east__
+__people/nationalities/southeast-asia__
+__people/nationalities/east-asia__
+__people/nationalities/central-asia__
+__people/nationalities/south-asia__
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/atlantic-islands.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/atlantic-islands.txt
new file mode 100644
index 0000000000000000000000000000000000000000..86ae50feb30f6662d9f45e265a769e3c162ac77d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/atlantic-islands.txt
@@ -0,0 +1,4 @@
+__people/nationalities/east-atlantic__
+__people/nationalities/north-atlantic__
+__people/nationalities/west-atlantic__
+__people/nationalities/south-atlantic__
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/australasia.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/australasia.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b6872d49844350a6470225802162dd9de5e43c50
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/australasia.txt
@@ -0,0 +1,3 @@
+Australian
+New Zealander
+Norfolk Islander
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/balkan.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/balkan.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d90e2443c06df710de4b6d4f3e135d6ffd7ad039
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/balkan.txt
@@ -0,0 +1,9 @@
+Albanian
+Bosnian
+Herzegovinians
+Bulgarian
+Kosovan
+Montenegrin
+Macedonian
+Greek
+Serbian
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/baltic.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/baltic.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6b1f1d47840f5a880163ff21547fb0730a5f0d4c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/baltic.txt
@@ -0,0 +1,3 @@
+Estonian
+Latvian
+Lithuanian
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/carribean.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/carribean.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a7780a555aeb067aeefb579338c52a93fe64bdf9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/carribean.txt
@@ -0,0 +1,31 @@
+Anguilla
+Antiguan
+Barbudan
+Arbuan
+Bahamanian
+Barbadian
+Bonairian
+British Virgin Islander
+Caymanian
+Cuban
+Curaçaoan
+Dominican
+Grenadian
+Guadeloupean
+Haitian
+Jamaican
+{Martinican|Martiniquais}
+Montserratian
+Nevisian
+Puerto Rican
+Saban
+Barthélemois
+Kittitian
+Saint Lucian
+Saint Vincentian
+St. Eustatian
+Sint Marteen
+Trinidadian
+Tobagonian
+Turks and Caicos Islander
+U.S. Virgin Islander
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/central-africa.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/central-africa.txt
new file mode 100644
index 0000000000000000000000000000000000000000..069866cab7258401855d75b354241d167cd9e9a4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/central-africa.txt
@@ -0,0 +1,6 @@
+Cameroonian
+Central African
+Chadian
+Congolese
+Equatorial Guinean
+Gabonese
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/central-america.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/central-america.txt
new file mode 100644
index 0000000000000000000000000000000000000000..bd44f2b4c4b5ce8c5c7213f330928ba3c29adfdf
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/central-america.txt
@@ -0,0 +1,7 @@
+Belizean
+Costa Rican
+El Salvadoran
+Guatemalan
+Honduran
+Nicaraguan
+Panamanian
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/central-asia.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/central-asia.txt
new file mode 100644
index 0000000000000000000000000000000000000000..98ecfdf84a4c18aa4c359f9946eb5768dbe9f020
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/central-asia.txt
@@ -0,0 +1,5 @@
+Kazakhstani
+Kyrgyz
+{Tajikistani|Tajik}
+{Turkmen|Turkmenian|Turkmenistani}
+Uzbekistani
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/central-europe.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/central-europe.txt
new file mode 100644
index 0000000000000000000000000000000000000000..46557eecbd04b70af792a0e2879457471ee7802b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/central-europe.txt
@@ -0,0 +1,9 @@
+Austrian
+Czech
+German
+Hungarian
+Liechtensteiner
+Polish
+Slovak
+Slovenian
+Swiss
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/east-africa.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/east-africa.txt
new file mode 100644
index 0000000000000000000000000000000000000000..aa4fa6f883bc18815b9ba2423ec9c44d66881358
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/east-africa.txt
@@ -0,0 +1,9 @@
+Kenyan
+Ethiopian
+Tanzanian
+Ugandan
+Rwandan
+Burundian
+Djiboutian
+Eritrean
+Somali
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/east-asia.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/east-asia.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0b58bda467ffc9ca533fa353603925faafe5eff8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/east-asia.txt
@@ -0,0 +1,8 @@
+Chinese
+Hong Konger
+Macanese
+Japanese
+Mongolian
+North Korean
+South Korean
+Taiwanese
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/east-atlantic.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/east-atlantic.txt
new file mode 100644
index 0000000000000000000000000000000000000000..94506fc6fbca2917b720a2cbd3076b4f9cb03544
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/east-atlantic.txt
@@ -0,0 +1,33 @@
+Azorean
+Canarian
+Cape Verdean
+Chicharrero
+{Corvino|Corvense}
+English
+Faialense
+{Florense|Florentino}
+Gomero
+Graciosense
+Irish
+Lanzaroteno
+Madeiran
+Maiense
+Majorero
+{Manx|Manxman}
+Mariense
+Micaelense
+Miquelonnais
+Northern Irish
+Palmero
+{Picoense|Picaroto}
+Portossantense
+Saint Martin
+Saint-Pierrais
+{Santomean|Sao Tomean}
+Sãojorgense
+Scottish
+Sint Maarten
+Terceirense
+Tinerfeno
+Vincentian
+Welsh
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/east-europe.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/east-europe.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f74aa8fb11902b3d12cf09d4b8e28bff21249d58
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/east-europe.txt
@@ -0,0 +1,5 @@
+Belarusian
+Moldovan
+Romanian
+Russian
+Ukrainian
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/europe.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/europe.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5dbe954990730d68102834a0c7368ff6d3d6c247
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/europe.txt
@@ -0,0 +1,7 @@
+__people/nationalities/balkan__
+__people/nationalities/baltic__
+__people/nationalities/scandinavia__
+__people/nationalities/central-europe__
+__people/nationalities/northwest-europe__
+__people/nationalities/south-europe__
+__people/nationalities/east-europe__
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/melanesia.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/melanesia.txt
new file mode 100644
index 0000000000000000000000000000000000000000..dacc46ecc730687d295f1e52f8efb776a9637187
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/melanesia.txt
@@ -0,0 +1,5 @@
+Fijian
+New Caledonian
+Vanuatuan
+Solomon Islander
+Papau New Guinean
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/micronesia.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/micronesia.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f10dbff5d7735b381557e4ff817aa161b4006f37
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/micronesia.txt
@@ -0,0 +1,7 @@
+Micronesian
+Guamanian
+{Kiribati|Kiribatian}
+Marshallese
+Nauruan
+Palauan
+Wakean
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/middle-east.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/middle-east.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3fe3d9bee1cb2fdd221356fa541825cdf2d6c7ba
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/middle-east.txt
@@ -0,0 +1,16 @@
+Bahraini
+Cypriot
+Iranian
+Iraqi
+Israeli
+Jordanian
+Kuwaiti
+Lebanese
+Omani
+Palestinian
+Qatari
+Saudi
+Syrian
+Turk
+Emirati
+Yemeni
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/north-africa.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/north-africa.txt
new file mode 100644
index 0000000000000000000000000000000000000000..67492f2271dbb1518f796f109ee7e08b71e8aee8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/north-africa.txt
@@ -0,0 +1,7 @@
+Algerian
+Egyptian
+South Sudanese
+Sudanese
+Tunisian
+Moroccan
+Libyan
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/north-america.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/north-america.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4dfa7bc54f20442a48004814adad33e6e2b9a853
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/north-america.txt
@@ -0,0 +1,3 @@
+American
+Canadian
+Mexican
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/north-atlantic.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/north-atlantic.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5e0059386285ce271cce8b437a571ba310aa29c5
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/north-atlantic.txt
@@ -0,0 +1,3 @@
+{Greenlander|Greenlandic}
+{Faroe Islander|Faroese}
+Icelander
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/northwest-europe.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/northwest-europe.txt
new file mode 100644
index 0000000000000000000000000000000000000000..00a15991bcef9dba202700b1c5f39e525c4d4988
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/northwest-europe.txt
@@ -0,0 +1,4 @@
+Belgian
+Dutch
+Luxembourger
+Austrian
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/oceania.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/oceania.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b9b42bc75347984da3d49bddb3c36366aa7ab63e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/oceania.txt
@@ -0,0 +1,4 @@
+__people/nationalities/australasia__
+__people/nationalities/melanesia__
+__people/nationalities/micronesia__
+__people/nationalities/polynesia__
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/polynesia.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/polynesia.txt
new file mode 100644
index 0000000000000000000000000000000000000000..41a565ecbc81507493ef49c1cdc2a3cd99c295aa
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/polynesia.txt
@@ -0,0 +1,16 @@
+American Soamoan
+Cook Islander
+Easter Islander
+French Polynesian
+Futunan
+Hawaiian
+Kauaian
+Mauian
+Molokaian
+Niuean
+{Pitcairn Islanders|Pitkern|Pitcairnese}
+Samoan
+Tokelauan
+Tongan
+Tuvaluan
+Wallisian
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/scandinavia.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/scandinavia.txt
new file mode 100644
index 0000000000000000000000000000000000000000..193ce657c3ea9ff97cc50851a7e6335d3622fec4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/scandinavia.txt
@@ -0,0 +1,4 @@
+Norwegian
+Swedish
+Danish
+Finnish
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/south-america.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/south-america.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b927fee41ecff9bb5e01482c30297559ac21a918
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/south-america.txt
@@ -0,0 +1,16 @@
+Argentine
+Bolivian
+Brazilian
+Chilean
+Colombian
+Ecuadorian
+Falkland Islander
+French Guianan
+Guyanese
+Paraguayan
+Peruvian
+South Georgian
+South Sandwich Islander
+Surinamese
+Uruguayan
+Venezuelan
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/south-asia.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/south-asia.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2eccd491c128a0cd56f2b8df42aded75b0d78387
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/south-asia.txt
@@ -0,0 +1,8 @@
+Afghan
+Bangladeshi
+Bhutanese
+Indian
+Nepalese
+Maldivian
+Pakistani
+Sri Lankan
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/south-atlantic.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/south-atlantic.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a41dec82e8673b8fa36fa59060b4c65cbb021a00
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/south-atlantic.txt
@@ -0,0 +1,3 @@
+St Helenian
+Tristanian
+Noronhense
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/south-europe.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/south-europe.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5dfbb01097a67d7d73d0b99c94f14d950f05e9d7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/south-europe.txt
@@ -0,0 +1,9 @@
+Albanian
+Gibraltarian
+French
+Andorran
+Croatian
+Italian
+Maltese
+Portuguese
+Spanish
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/southeast-asia.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/southeast-asia.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c63eafb7b0cb4c24faa969e9a59ba0859ca19e4c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/southeast-asia.txt
@@ -0,0 +1,11 @@
+Bruneian
+Cambodian
+East Timorese
+Indonesian
+{Lao|Laotian}
+Malaysian
+Burmese
+Filipino
+Singaporean
+Thai
+Vietnamese
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/southern-africa.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/southern-africa.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8919296b3bff46bcb328c63a8d1792e5f8631827
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/southern-africa.txt
@@ -0,0 +1,11 @@
+Angolan
+Basotho
+Batswana
+Malagasy
+Malawian
+Mozambican
+Namibian
+South African
+Swazi
+Zambian
+Zimbabwean
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/west-africa.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/west-africa.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9d483cb13fc92c11d46e254dbd076f84556173ab
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/west-africa.txt
@@ -0,0 +1,15 @@
+Beninese
+Burkinabe
+Cape Verdean
+Ivorian
+Gambian
+Guinean
+Liberian
+Malian
+Mauritanian
+Nigerian
+Senegalese
+Sierra Leonean
+Togolese
+Ghanaian
+Bissau-Guinean
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/west-asia.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/west-asia.txt
new file mode 100644
index 0000000000000000000000000000000000000000..287ebd0474d2f38e5a0f9c5e3df229a95f4e9a1f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/west-asia.txt
@@ -0,0 +1,5 @@
+{Abkhaz|Abkhazian}
+Armenian
+Artsakhi
+Azerbaijani
+Georgian
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/west-atlantic.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/west-atlantic.txt
new file mode 100644
index 0000000000000000000000000000000000000000..81b36854750e445b64ac7d266a142b90bbe8788e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/nationalities/west-atlantic.txt
@@ -0,0 +1,3 @@
+Bermudian
+Newfoundlander
+__people/nationalities/carribean__
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/occupations.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/occupations.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0f718d2aa40ce76184ab3ae2afd560a0f2b0734c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/occupations.txt
@@ -0,0 +1,976 @@
+accountant
+actor
+actuary
+adhesive bonding machine tender
+adjudicator
+administrative assistant
+administrative services manager
+adult education teacher
+advertising manager
+advertising sales agent
+aerobics instructor
+aerospace engineer
+aerospace engineering technician
+agent
+agricultural engineer
+agricultural equipment operator
+agricultural grader
+agricultural inspector
+agricultural manager
+agricultural sciences teacher
+agricultural sorter
+agricultural technician
+agricultural worker
+air conditioning installer
+air conditioning mechanic
+air traffic controller
+aircraft cargo handling supervisor
+aircraft mechanic
+aircraft service technician
+airline copilot
+airline pilot
+ambulance dispatcher
+ambulance driver
+amusement machine servicer
+anesthesiologist
+animal breeder
+animal control worker
+animal scientist
+animal trainer
+animator
+answering service operator
+anthropologist
+apparel patternmaker
+apparel worker
+arbitrator
+archeologist
+architect
+architectural drafter
+architectural manager
+archivist
+art director
+art teacher
+artist
+assembler
+astronomer
+athlete
+athletic trainer
+ATM machine repairer
+atmospheric scientist
+attendant
+audio and video equipment technician
+audio-visual and multimedia collections specialist
+audiologist
+auditor
+author
+auto damage insurance appraiser
+automotive and watercraft service attendant
+automotive glass installer
+automotive mechanic
+avionics technician
+back-end developer
+baggage porter
+bailiff
+baker
+barback
+barber
+bartender
+basic education teacher
+behavioral disorder counselor
+bellhop
+bench carpenter
+bicycle repairer
+bill and account collector
+billing and posting clerk
+biochemist
+biological technician
+biomedical engineer
+biophysicist
+blaster
+blending machine operator
+blockmason
+boiler operator
+boilermaker
+bookkeeper
+boring machine tool tender
+brazer
+brickmason
+bridge and lock tender
+broadcast news analyst
+broadcast technician
+brokerage clerk
+budget analyst
+building inspector
+bus mechanic
+butcher
+buyer
+cabinetmaker
+cafeteria attendant
+cafeteria cook
+camera operator
+camera repairer
+cardiovascular technician
+cargo agent
+carpenter
+carpet installer
+cartographer
+cashier
+caster
+ceiling tile installer
+cellular equipment installer
+cement mason
+channeling machine operator
+chauffeur
+checker
+chef
+chemical engineer
+chemical plant operator
+chemist
+chemistry teacher
+chief executive
+child social worker
+childcare worker
+chiropractor
+choreographer
+civil drafter
+civil engineer
+civil engineering technician
+claims adjuster
+claims examiner
+claims investigator
+cleaner
+clinical laboratory technician
+clinical laboratory technologist
+clinical psychologist
+coating worker
+coatroom attendant
+coil finisher
+coil taper
+coil winder
+coin machine servicer
+commercial diver
+commercial pilot
+commodities sales agent
+communications equipment operator
+communications teacher
+community association manager
+community service manager
+compensation and benefits manager
+compliance officer
+composer
+computer hardware engineer
+computer network architect
+computer operator
+computer programmer
+computer science teacher
+computer support specialist
+computer systems administrator
+computer systems analyst
+concierge
+conciliator
+concrete finisher
+conservation science teacher
+conservation scientist
+conservation worker
+conservator
+construction inspector
+construction manager
+construction painter
+construction worker
+continuous mining machine operator
+convention planner
+conveyor operator
+cook
+cooling equipment operator
+copy marker
+correctional officer
+correctional treatment specialist
+correspondence clerk
+correspondent
+cosmetologist
+cost estimator
+costume attendant
+counseling psychologist
+counselor
+courier
+court reporter
+craft artist
+crane operator
+credit analyst
+credit checker
+credit counselor
+criminal investigator
+criminal justice teacher
+crossing guard
+curator
+custom sewer
+customer service representative
+cutter
+cutting machine operator
+dancer
+data entry keyer
+database administrator
+decorating worker
+delivery services driver
+demonstrator
+dental assistant
+dental hygienist
+dental laboratory technician
+dentist
+dermatologist
+derrick operator
+designer
+desktop publisher
+detective
+developer
+diagnostic medical sonographer
+die maker
+diesel engine specialist
+dietetic technician
+dietitian
+dinkey operator
+director
+dishwasher
+dispatcher
+DJ
+doctor
+door-to-door sales worker
+drafter
+dragline operator
+drama teacher
+dredge operator
+dressing room attendant
+dressmaker
+drier operator
+drilling machine tool operator
+dry-cleaning worker
+drywall installer
+dyeing machine operator
+earth driller
+economics teacher
+economist
+editor
+education administrator
+electric motor repairer
+electrical electronics drafter
+electrical engineer
+electrical equipment assembler
+electrical installer
+electrical power-line installer
+electrician
+electro-mechanical technician
+elementary school teacher
+elevator installer
+elevator repairer
+embalmer
+emergency management director
+emergency medical technician
+engine assembler
+engineer
+engineering manager
+engineering teacher
+english language teacher
+engraver
+entertainment attendant
+environmental engineer
+environmental science teacher
+environmental scientist
+epidemiologist
+escort
+etcher
+event planner
+excavating operator
+executive administrative assistant
+executive secretary
+exhibit designer
+expediting clerk
+explosives worker
+extraction worker
+fabric mender
+fabric patternmaker
+fabricator
+faller
+family practitioner
+family social worker
+family therapist
+farm advisor
+farm equipment mechanic
+farm labor contractor
+farmer
+farmworker
+fashion designer
+fast food cook
+fence erector
+fiberglass fabricator
+fiberglass laminator
+file clerk
+filling machine operator
+film and video editor
+financial analyst
+financial examiner
+financial manager
+financial services sales agent
+fine artist
+fire alarm system installer
+fire dispatcher
+fire inspector
+fire investigator
+firefighter
+fish and game warden
+fish cutter
+fish trimmer
+fisher
+fitness studies teacher
+fitness trainer
+flight attendant
+floor finisher
+floor layer
+floor sander
+floral designer
+food batchmaker
+food cooking machine operator
+food preparation worker
+food science technician
+food scientist
+food server
+food service manager
+food technologist
+foreign language teacher
+foreign literature teacher
+forensic science technician
+forest fire inspector
+forest fire prevention specialist
+forest worker
+forester
+forestry teacher
+forging machine setter
+foundry coremaker
+freight agent
+freight mover
+front-end developer
+fundraising manager
+funeral attendant
+funeral director
+funeral service manager
+furnace operator
+furnishings worker
+furniture finisher
+gaming booth cashier
+gaming cage worker
+gaming change person
+gaming dealer
+gaming investigator
+gaming manager
+gaming surveillance officer
+garment mender
+garment presser
+gas compressor
+gas plant operator
+gas pumping station operator
+general manager
+general practitioner
+geographer
+geography teacher
+geological engineer
+geological technician
+geoscientist
+glazier
+government program eligibility interviewer
+graduate teaching assistant
+graphic designer
+groundskeeper
+groundskeeping worker
+gynecologist
+hairdresser
+hairstylist
+hand grinding worker
+hand laborer
+hand packager
+hand packer
+hand polishing worker
+hand sewer
+hazardous materials removal worker
+head cook
+health and safety engineer
+health educator
+health information technician
+health services manager
+health specialties teacher
+healthcare social worker
+hearing officer
+heat treating equipment setter
+heating installer
+heating mechanic
+heavy truck driver
+highway maintenance worker
+historian
+history teacher
+hoist and winch operator
+home appliance repairer
+home economics teacher
+home entertainment installer
+home health aide
+home management advisor
+host
+hostess
+hostler
+hotel desk clerk
+housekeeping cleaner
+human resources assistant
+human resources manager
+human service assistant
+hunter
+hydrologist
+illustrator
+industrial designer
+industrial engineer
+industrial engineering technician
+industrial machinery mechanic
+industrial production manager
+industrial truck operator
+industrial-organizational psychologist
+information clerk
+information research scientist
+information security analyst
+information systems manager
+inspector
+instructional coordinator
+instructor
+insulation worker
+insurance claims clerk
+insurance sales agent
+insurance underwriter
+intercity bus driver
+interior designer
+internist
+interpreter
+interviewer
+investigator
+jailer
+janitor
+jeweler
+judge
+judicial law clerk
+kettle operator
+kiln operator
+kindergarten teacher
+laboratory animal caretaker
+landscape architect
+landscaping worker
+lathe setter
+laundry worker
+law enforcement teacher
+law teacher
+lawyer
+layout worker
+leather worker
+legal assistant
+legal secretary
+legislator
+librarian
+library assistant
+library science teacher
+library technician
+licensed practical nurse
+licensed vocational nurse
+life scientist
+lifeguard
+light truck driver
+line installer
+literacy teacher
+literature teacher
+loading machine operator
+loan clerk
+loan interviewer
+loan officer
+lobby attendant
+locker room attendant
+locksmith
+locomotive engineer
+locomotive firer
+lodging manager
+log grader
+logging equipment operator
+logistician
+machine feeder
+machinist
+magistrate judge
+magistrate
+maid
+mail clerk
+mail machine operator
+mail superintendent
+maintenance painter
+maintenance worker
+makeup artist
+management analyst
+manicurist
+manufactured building installer
+mapping technician
+marble setter
+marine engineer
+marine oiler
+market research analyst
+marketing manager
+marketing specialist
+marriage therapist
+massage therapist
+material mover
+materials engineer
+materials scientist
+mathematical science teacher
+mathematical technician
+mathematician
+maxillofacial surgeon
+measurer
+meat cutter
+meat packer
+meat trimmer
+mechanical door repairer
+mechanical drafter
+mechanical engineer
+mechanical engineering technician
+mediator
+medical appliance technician
+medical assistant
+medical equipment preparer
+medical equipment repairer
+medical laboratory technician
+medical laboratory technologist
+medical records technician
+medical scientist
+medical secretary
+medical services manager
+medical transcriptionist
+meeting planner
+mental health counselor
+mental health social worker
+merchandise displayer
+messenger
+metal caster
+metal patternmaker
+metal pickling operator
+metal pourer
+metal worker
+metal-refining furnace operator
+metal-refining furnace tender
+meter reader
+microbiologist
+middle school teacher
+milling machine setter
+millwright
+mine cutting machine operator
+mine shuttle car operator
+mining engineer
+mining safety engineer
+mining safety inspector
+mining service unit operator
+mixing machine setter
+mobile heavy equipment mechanic
+mobile home installer
+model maker
+model
+molder
+mortician
+motel desk clerk
+motion picture projectionist
+motorboat mechanic
+motorboat operator
+motorboat service technician
+motorcycle mechanic
+movers
+multimedia artist
+museum technician
+music director
+music teacher
+musical instrument repairer
+musician
+natural sciences manager
+naval architect
+network systems administrator
+new accounts clerk
+news vendor
+nonfarm animal caretaker
+nuclear engineer
+nuclear medicine technologist
+nuclear power reactor operator
+nuclear technician
+nursing aide
+nursing instructor
+nursing teacher
+nutritionist
+obstetrician
+occupational health and safety specialist
+occupational health and safety technician
+occupational therapist
+occupational therapy aide
+occupational therapy assistant
+offbearer
+office clerk
+office machine operator
+operating engineer
+operations manager
+operations research analyst
+ophthalmic laboratory technician
+optician
+optometrist
+oral surgeon
+order clerk
+order filler
+orderly
+ordnance handling expert
+orthodontist
+orthotist
+outdoor power equipment mechanic
+oven operator
+packaging machine operator
+painter
+painting worker
+paper goods machine setter
+paperhanger
+paralegal
+paramedic
+parking enforcement worker
+parking lot attendant
+parts salesperson
+paving equipment operator
+payroll clerk
+pediatrician
+pedicurist
+personal care aide
+personal chef
+personal financial advisor
+personal trainer
+pest control worker
+pesticide applicator
+pesticide handler
+pesticide sprayer
+petroleum engineer
+petroleum gauger
+petroleum pump system operator
+petroleum refinery operator
+petroleum technician
+pharmacist
+pharmacy aide
+pharmacy technician
+philosophy teacher
+photogrammetrist
+photographer
+photographic process worker
+photographic processing machine operator
+physical therapist aide
+physical therapist assistant
+physical therapist
+physician assistant
+physician
+physicist
+physics teacher
+pile-driver operator
+pipefitter
+pipelayer
+planing machine operator
+planning clerk
+plant operator
+plant scientist
+plasterer
+plastic patternmaker
+plastic worker
+plumber
+podiatrist
+police dispatcher
+police officer
+policy processing clerk
+political science teacher
+political scientist
+postal service clerk
+postal service mail carrier
+postal service mail processing machine operator
+postal service mail processor
+postal service mail sorter
+postmaster
+postsecondary teacher
+poultry cutter
+poultry trimmer
+power dispatcher
+power distributor
+power plant operator
+power tool repairer
+precious stone worker
+precision instrument repairer
+prepress technician
+preschool teacher
+priest
+print binding worker
+printing press operator
+private detective
+probation officer
+procurement clerk
+producer
+product promoter
+product manager
+production clerk
+production occupation
+proofreader
+property manager
+prosthetist
+prosthodontist
+psychiatric aide
+psychiatric technician
+psychiatrist
+psychologist
+psychology teacher
+public relations manager
+public relations specialist
+pump operator
+purchasing agent
+purchasing manager
+radiation therapist
+radio announcer
+radio equipment installer
+radio operator
+radiologic technician
+radiologic technologist
+rail car repairer
+rail transportation worker
+rail yard engineer
+rail-track laying equipment operator
+railroad brake operator
+railroad conductor
+railroad police
+rancher
+real estate appraiser
+real estate broker
+real estate manager
+real estate sales agent
+receiving clerk
+receptionist
+record clerk
+recreation teacher
+recreation worker
+recreational therapist
+recreational vehicle service technician
+recyclable material collector
+referee
+refractory materials repairer
+refrigeration installer
+refrigeration mechanic
+refuse collector
+regional planner
+registered nurse
+rehabilitation counselor
+reinforcing iron worker
+reinforcing rebar worker
+religion teacher
+religious activities director
+religious worker
+rental clerk
+repair worker
+reporter
+residential advisor
+resort desk clerk
+respiratory therapist
+respiratory therapy technician
+retail buyer
+retail salesperson
+revenue agent
+rigger
+rock splitter
+rolling machine tender
+roof bolter
+roofer
+rotary drill operator
+roustabout
+safe repairer
+sailor
+sales engineer
+sales manager
+sales representative
+sampler
+sawing machine operator
+scaler
+school bus driver
+school psychologist
+school social worker
+scout leader
+sculptor
+secondary education teacher
+secondary school teacher
+secretary
+securities sales agent
+security guard
+security system installer
+segmental paver
+self-enrichment education teacher
+semiconductor processor
+septic tank servicer
+set designer
+sewer pipe cleaner
+sewing machine operator
+shampooer
+shaper
+sheet metal worker
+sheriff's patrol officer
+ship captain
+ship engineer
+ship loader
+shipmate
+shipping clerk
+shoe machine operator
+shoe worker
+short order cook
+signal operator
+signal repairer
+singer
+ski patrol
+skincare specialist
+slaughterer
+slicing machine tender
+slot supervisor
+social science research assistant
+social sciences teacher
+social scientist
+social service assistant
+social service manager
+social work teacher
+social worker
+sociologist
+sociology teacher
+software developer
+software engineer
+soil scientist
+solderer
+sorter
+sound engineering technician
+space scientist
+special education teacher
+speech-language pathologist
+sports book runner
+sports entertainer
+sports performer
+stationary engineer
+statistical assistant
+statistician
+steamfitter
+stock clerk
+stock mover
+stonemason
+street vendor
+streetcar operator
+structural iron worker
+structural metal fabricator
+structural metal fitter
+structural steel worker
+stucco mason
+substance abuse counselor
+substance abuse social worker
+subway operator
+surfacing equipment operator
+surgeon
+surgical technologist
+survey researcher
+surveying technician
+surveyor
+switch operator
+switchboard operator
+tailor
+tamping equipment operator
+tank car loader
+taper
+tax collector
+tax examiner
+tax preparer
+taxi driver
+teacher assistant
+teacher
+team assembler
+technical writer
+telecommunications equipment installer
+telemarketer
+telephone operator
+television announcer
+teller
+terrazzo finisher
+terrazzo worker
+tester
+textile bleaching operator
+textile cutting machine setter
+textile knitting machine setter
+textile presser
+textile worker
+therapist
+ticket agent
+ticket taker
+tile setter
+timekeeping clerk
+timing device assembler
+tire builder
+tire changer
+tire repairer
+title abstractor
+title examiner
+title searcher
+tobacco roasting machine operator
+tool filer
+tool grinder
+tool maker
+tool sharpener
+tour guide
+tower equipment installer
+tower operator
+track switch repairer
+tractor operator
+tractor-trailer truck driver
+traffic clerk
+traffic technician
+training and development manager
+training and development specialist
+transit police
+translator
+transportation equipment painter
+transportation inspector
+transportation security screener
+transportation worker
+trapper
+travel agent
+travel clerk
+travel guide
+tree pruner
+tree trimmer
+trimmer
+truck loader
+truck mechanic
+tuner
+turning machine tool operator
+tutor
+typist
+umpire
+undertaker
+upholsterer
+urban planner
+usher
+UX designer
+valve installer
+vending machine servicer
+veterinarian
+veterinary assistant
+veterinary technician
+vocational counselor
+vocational education teacher
+waiter
+waitress
+watch repairer
+water treatment plant operator
+weaving machine setter
+web developer
+weigher
+welder
+wellhead pumper
+wholesale buyer
+wildlife biologist
+window trimmer
+wood patternmaker
+woodworker
+word processor
+writer
+yardmaster
+zoologist
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/politicians/southafrica.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/politicians/southafrica.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9d6926d4c6cd6ff2c48dbd9d4b8287c9ca96c37e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/people/politicians/southafrica.txt
@@ -0,0 +1,826 @@
+Aaron Motsoaledi
+Abinaar Matlhoko
+Abinaar Modikela Matlhoko
+Abram Molefe Mudau
+Adrian John Williams
+Adrian Williams
+Agnes Daphne Noluthando Qikani
+Agnes Qikani
+Agnes Tuck
+Ahmed Munzoor Shaik Emam
+Ahmed Shaik Emam
+Alan McLoughlin
+Alan Ross Mcloughlin
+Albert Mammoga Seabi
+Alf Lees
+Alfred Mkhipheni Mpontshane
+Alfred Mphontshane
+Alfred Mpontshane
+Alfred Nesi
+Alina Mfulo
+Allen Grootboom
+Alvin Botes
+Amos Fish Mahlalela
+Amos Masondo
+Anchen Dreyer
+Anchen Margaretha Dreyer
+Andile Mngxitama
+Andrew Frans Madella
+Andrew Grant Whitfield
+Andrew Madella
+Andricus Pieter Van der Westhuizen
+Andricus Van der Westhuizen
+Andries Nel
+Andries Plouamma
+Angela Thokozile Didiza
+Angie Motshekga
+Annelie Lotriet
+Annette Lovemore
+Annette Steyn
+Annette Theresa Lovemore
+Anton Alberts
+Anton De Waal Alberts
+Archibold Mzuvukile Figlan
+Asanda Matshobeni
+Ayanda Dlodlo
+Baleka Mbete
+Bantu Holomisa
+Bantubonke Harrington Holomisa
+Barbara Thomson
+Bathabile Dlamini
+Beatrice Ngcobo
+Beatrice Thembekile Ngcobo
+Beauty Dambuza
+Beauty Dlulane
+Beauty Nomhle Dambuza
+Beauty Nomvuzo Dlulane
+Belinda Bozzoli
+Ben Martis
+Benedict Anthony Duke Martins
+Bennet Mzwenqaba Bhanga
+Bernard Daniel Joseph
+Bernard Joseph
+Bertha Mabe
+Bertha Peace Mabe
+Beverley Abrahams
+Beverley Lynnette Abrahams
+Beverly Abrahams
+Bheki Cele
+Bheki Radebe
+Bhekizizwe Abram Radebe
+Blade Nzimande
+Boitumelo Joyce Maluleke
+Bongani Bongo
+Bongani Michael Mkongi
+Bongani Mkongi
+Bongani Thomas Bongo
+Bongekile Jabulile Dlomo
+Bongi Maria Ntuli
+Bongi Ntuli
+Bonginkosi “Blade” Nzimande
+Bonisile Alfred Nesi
+Brandon Rodney Topham
+Brandon Topham
+Brian Molefe
+Bridget Masango
+Bridget Staff Masango
+Buoang Lemias Mashile
+Buoang Mashile
+Busisiwe Clarah Ndlovu
+Buti Manamela
+Cameron Mackenzie
+Candith Mashego-Dlamini
+Carin Visser
+Cassel Charlie Mathale
+Cassel Mathale
+Cathrine Matsimbi
+Cedric Frolick
+Cedric Thomas Frolick
+Celiwe Madlopha
+Celiwe Qhamkile Madlopha
+Chantel King
+Charles Danny Kekana
+Charles Kekana
+Charles Nqakula
+Cheryl Faku
+Cheryllyn Dudley
+Choloane David Matsepe
+Choloane Matsepe
+Chris Hunsinger
+Christian Themba Msimang
+Claudia Ndaba
+Claudia Nonhlanhla Ndaba
+Collins Chabane
+Comely Humphrey Maqocwa Maxegwana
+Connie September
+Cornelia Carol September
+Cornelius Petrus Mulder
+Corné Mulder
+Cynthia Majeke
+Cynthia Nocollege Majeke
+Cyril Ramaphosa
+Cyrillus Ramaphosa
+Dalton Hlamalani Khosa
+Daphne Rantho
+Daphne Zukiswa Rantho
+Darren Bergman
+David Christie Ross
+David Dabede Mabuza
+David Douglas Des Van Rooyen
+David John Maynier
+David Kekana
+David Mahlobo
+David Maynier
+David Ross
+David van Rooyen
+Dean Macpherson
+Dean William Macpherson
+Deborah Dineo Raphuti
+Deborah Raphuti
+Deidre Carter
+Denise Robinson
+Dennis Dumisani Gamede
+Dennis Gamede
+Dennis Richard Ryder
+Derek Hanekom
+Derick Mnguni
+Derrick America
+Dianne Kohler Barnard
+Dikeledi Gladys Mahlangu
+Dikeledi Magadzi
+Dikeledi Mahlangu
+Dikeledi Phillistus Magadzi
+Dikeledi Rebecca Tsotetsi
+Dikeledi Tsotetsi
+Diliza Lucky Twala
+Diliza Twala
+Dion George
+Dipuo Bertha Letsatsi-Duba
+Dipuo Peters
+Dirk Jan Stubbe
+Dirk Stubbe
+Donald Gumede
+Donald Mlindwa Gumede
+Doreen Senokoanyane
+Dorries Eunice Dlakude
+Dudu Hellen Mathebe
+Dudu Mathebe
+Duduzile Manana
+Duduzile Promise Manana
+Désirée Van Der Walt
+Ebrahim Ismail Ebrahim
+Ebrahim Patel
+Edna Molewa
+Elizabeth Koena Mmanoko Masehela
+Elizabeth Masehela
+Elizabeth Thabethe
+Ellen Molekane
+Elphas Buthelezi
+Elphas Mfakazeleni Buthelezi
+Elsabe Louw
+Elsabe Natasha Ntlangwini
+Elsabe Ntlangwini
+Elsie Coleman
+Elsie Mmathulare Coleman
+Elvis Kholwana Siwela
+Elvis Siwela
+Enock Mthethwa
+Enock Muzi Mthethwa
+Enver Surty
+Erik Johannes Marais
+Erik Marais
+Evelyn Rayne Wilson
+Evelyn Wilson
+Ezekiel Kekana
+Ezekiel Ramokhoase
+Faith Muthambi
+Fatima Chohan
+Fezeka Loliwe
+Fezeka Sister Loliwe
+Fezile Bhengu
+Fikile Majola
+Fikile Mbalula
+Fikile Zachariah Majola
+Fish Mahlalela
+Floyd Shivambu
+Francois Beukman
+Freddie Adams
+Gaolatlhe Godfrey Oliphant
+Gatsha Mangosutu Buthelezi
+Gavin Davis
+Gavin Richard Davis
+Geordin Gwyn Hill-Lewis
+Geordin Hill-Lewis
+Gerhardus Cornelius Oosthuizen
+Gerhardus Koornhof
+Gerhardus Oosthuizen
+Gerhardus Willem Koornhof
+Ghaleb Cachalia
+Gijimani Jim Skosana
+Girly Namhla Nobanda
+Girly Nobanda
+Gloria Bukiwe Fanta
+Gloria Fanta
+Glynnis Breytenbach
+Godfrey Oliphant
+Godrich Ahmed Gardee
+Godrich Gardee
+Goodwill Sbusiso Radebe
+Gordon Mackay
+Grace Kekulu Tseke
+Grace Tseke
+Gratitude Magwanishe
+Greg Krumbock
+Gregory Allen Grootboom
+Gregory Krumbock
+Gregory Rudy Krumbock
+Gugile Nkwinti
+Gwede Mantashe
+Gwen Ngwenya
+Haniff Hoosen
+Heinrich Cyril Volmink
+Heinrich Volmink
+Hellen Boikhutso Kekana
+Hellen Kekana
+Helmar Philip Geyer
+Hendrick Schmidt
+Hendrietta Bogopane-Zulu
+Hendrik Christiaan Crafford Krüger
+Hendrik Cornelus Schmidt
+Hendrik Krüger
+Hendrik Schmidt
+Henrietta Bogopane-Zulu
+Henro Kruger
+Hermanus Bernadus Groenewald
+Hermanus Groenewald
+Hildah Vangile Nyambi
+Hildegard Sonja Boshoff
+Hlakudi Frans Nkoana
+Hlakudi Nkoana
+Hlayiseka Crucief Chewane
+Hlengiwe Mkhaliphi
+Hlengiwe Mkhize
+Hlengiwe Octavia Mkhaliphi
+Hlomane Patrick Chauke
+Hlomela Bucwa
+Hope Helene Malgas
+Humphrey Maxegwana
+Humphrey Mdumzeli Zondelele Mmemezi
+Humphrey Mmemezi
+Iacobus Zuma
+Ian Michael Ollis
+Ian Ollis
+Imamile Aubin Pikinini
+Imamile Pikinini
+Inkosi Sango Patekile Holomisa
+Itumeleng Mosala
+Jabulane Joseph Dube
+Jabulani Lukas Mahlangu
+Jabulani Mahlangu
+Jackson Mphikwa Mthembu
+Jackson Mthembu
+Jacob Gedleyihlekisa Zuma
+Jacob Zuma
+Jakobs Zuma
+James Jim Skosana
+James Lorimer
+James Robert Bourne Lorimer
+James Selfe
+James Skosana
+James Vos
+Jan Adriaan Esterhuizen
+Jan Esterhuizen
+Jeff Radebe
+Jeremy Cronin
+Jerome Joseph Maake
+Jerome Maake
+Jerome-Joseph Maake
+Joan Fubbs
+Joanmariae Louise Fubbs
+Joe Phaahla
+Joel Sibusiso Ndebele
+Johan Jaco Londt
+Johanna Fredrika Terblanche
+Johanna Maluleke
+Johanna Mmule Maluleke
+Johanna Steenkamp
+Johanna Terblanche
+Johannes Mahumapelo
+Johannes Mothibeli Koekoe Mahumapelo
+John Andile Mngxitama
+John Henry Steenhuisen
+John Jeffery
+John Steenhuisen
+Johni Edwards
+Johni Steenkamp
+Joseph Job McGluwa
+Joseph Phaahla
+Joyce Clementine Moloi-Moropa
+Joyce Moloi-Moroka
+Joyce Vuyiswa Basson
+Juliana Danielle Kilian
+Julius Malema
+Julius Sello Malema
+Karen Jooste
+Kebby Maphatsoe
+Ken Peter Robertson
+Ken Robertson
+Kenneth Meshoe
+Kenneth Mubu
+Kenneth Raselabe Joseph Meshoe
+Kenneth Sililo Mubu
+Kevin John Mileham
+Kevin Mileham
+Kgotso Morapela
+Kgotso Zachariah Morapela
+Khanyisile Litchfield-Tshabalala
+Khethamabala Petros Sithole
+Khethamabala Sithole
+Khonziwe Hlonyana
+Kopeng Obed Bapela
+Kwati Mashego-Dlamini
+Lance William Greyling
+Lawrence Kwankwa
+Lechesa Tsenoli
+Lefu Khoarai
+Lefu Peter Khoarai
+Lehlohonolo Goodwill Mokoena
+Leigh-Ann Mathys
+Leon Basson
+Leonard Jones Basson
+Leonard Ramatlakane
+Lerato Cynthia Theko
+Lesiba Dorah Meso
+Liezl Linda van der Merwe
+Liezl van der Merwe
+Lindiwe Maseko
+Lindiwe Michelle Maseko
+Lindiwe Mjobo
+Lindiwe Ntombikayise Mjobo
+Lindiwe Sisulu
+Lindiwe Sisuslu
+Lindiwe Zulu
+Lindy Wilson
+Livhuhani Mabija
+Loyiso Khanyisa Bunye Mpumlwana
+Lulama Marytheresa Xingwana
+Lulama Maxwell Ntshayisa
+Lulama Ntshayisa
+Lulama Xingwana
+Lulu Johnson
+Lulu Xingwana
+Lumka Elizabeth Yengeni
+Lumka Yengeni
+Lungi Annette Mnganga-Gcabashe
+Lungi Mnganga-Gcabashe
+Lungiswa James
+Lungiswa Veronica James
+Lusizo Makhubela-Mashele
+Lusizo Sharon Makhubela-Mashele
+Luthando Richmond Mbinda
+Luwellyn Landers
+Luwellyn Tyrone Landers
+Lydia Sindisiwe Chikunga
+Lynne Brown
+Maapi Angelina Molebatsi
+Maapi Molebatsi
+Machwene Rosina Semenya
+Machwene Semenya
+Madala Louis David Ntombela
+Madala Masuku
+Madala Ntombela
+Madipoane Mothapo
+Madipoane Refiloe Moremadi Mothapo
+Maesela David Kekana
+Magdalene Moonsamy
+Maggie Sotyu
+Maite Nkoana-Mashabane
+Makashule Gana
+Makgabo Reginah Mhaule
+Makgathatso Charlotte Chana Pilane-Majake
+Makgathatso Pilane-Majake
+Makhosi Busisiwe Khoza
+Makhosi Khoza
+Makoti Khawula
+Makoti Sibongile Khawula
+Malcolm Figg
+Malcolm John Figg
+Maliyakhe Lymon Shelembe
+Maliyakhe Shelembe
+Malusi Gigaba
+Malusi Motimele
+Malusi Stanley Motimele
+Mamagase Elleck Nchabeleng
+Mamagase Nchabeleng
+Mamonare Patricia Chueu
+Mandisa Matshoba
+Mandisa Octovia Matshoba
+Mandla Mandela
+Mandlenkosi Galo
+Mandlenkosi Mabika
+Mandlenkosi Phillip Galo
+Mandlenkosi Sicelo Mabika
+Mangaqa Albert Mncwango
+Mangaqa Mncwango
+Mangosuthu Buthelezi
+Mangosuthu Gatsha Buthelezi
+Mangosutu Buthelezi
+Mantsheng Anna Tsopo
+Mantsheng Tsopo
+Manuel de Freitas
+Manuel Simão Franca De Freitas
+Mapule Mafolo
+Mapule Veronica Mafolo
+Marian Robin Shinn
+Marian Shinn
+Mario Gaspare Oriani-Ambrosini
+Mario Oriani-Ambrosini
+Marius Redelinghuys
+Martha Phindile Mmola
+Marthinus Christoffel Johannes Van Schalkwyk
+Marthinus van Schalkwyk
+Marthinus·範·斯卡爾奎克
+Marthinus·范·斯卡尔奎克
+Mary-Ann Dunjwa
+Mary-Ann Lindelwa Dunjwa
+Masefele Morutoa
+Masefele Rosalia Morutoa
+Matamela Cyril Ramaphosa
+Mathews Wolmarans
+Mathole Mothshekga
+Mathole Motshekga
+Mathole Serofo Motshekga
+Maureen Angela Scheepers
+Maureen Scheepers
+Max Sisulu
+Max Vuyisile Sisulu
+Mbulelo Bara
+Mbulelo Richmond Bara
+Mbuyiseni Ndlozi
+Mbuyiseni Quintin Ndlozi
+Mcebisi Jonas
+Mcebisi Skwatsha
+Mduduzi Manana
+Mervyn Alexander Dirks
+Mgcini Tshwaku
+Michael Bagraim
+Michael Cardo
+Michael John Cardo
+Michael Malisa Tshishonga
+Michael Masutha
+Michael Ralegoma
+Michael Stephen Shackleton
+Michael Tshishonga
+Michael Waters
+Mike Waters
+Mildred Oliphant
+Millicent Ntombizodwa Sibongile Manana
+Mkhacani Joseph Maswanganyi
+Mkhuleko Hlengwa
+Mlungisi Johnson
+Mmabatho Olive Mokause
+Mmamoloko Kubayi
+Mmamoloko Tryphosa Kubayi-Ngubane
+Mmatlala Grace Boroto
+Mmoba Solomon Malatsi
+Mmusi Aloysias Maimane
+Mmusi Maimane
+Mncedisi Lutando Wellington Filtane
+Mnyamezeli Booi
+Mnyamezeli Shedrack Booi
+Mogamad Nazier Paulsen
+Mogotle Friddah Nkadimeng
+Mogotle Nkadimeng
+Mohamed Enver Surty
+Mohamed Surty
+Mohammed Haniff Hoosen
+Mohlopi Mapulane
+Mohlopi Philemon Mapulane
+Molapi Andries Plouamma
+Moloko Maila
+Moloko Stanford Armour Maila
+Mondli Gungubele
+Monwabisi Bevan Goqwana
+Mosebenzi Joseph Zwane
+Mosebenzi Zwane
+Moses Masango
+Moses Mbatha
+Moses Sipho Mbatha
+Moses Siphosezwe Amos Masango
+Moses Tseli
+Mosie Antony Cele
+Mosie Cele
+Mosiuoa Lekota
+Motswaledi Hezekiel Matlala
+Motswaledi Matlala
+Mponeng Winston Rabotapi
+Mtikeni Patrick Sibande
+Mzameni Mdakane
+Mzameni Richard Mdakane
+Mzingisi Marshall Dlamini
+Mziwamadoda Kalako
+Mziwamadoda Uppington Kalako
+Mzwandile Collen Masina
+Mzwandile Masina
+Naledi Pandor
+Narend Singh
+Natasha Mazzone
+Natasha Michael
+Natasha Wendy Anita Mazzone
+Nathi Mthethwa
+Ncedisi Filtane
+Ncediso Goodenough Kodwa
+Ndabakayise Erasmus Gcwabaza
+Ndabakayise Gcwabaza
+Ndumiso Capa
+Neliswa Peggy Nkonyeni
+Nelson Themba Godi
+Ngoako Abel Ramatlhodi
+Ngoako Ramathlodi
+Ngwanamakwetle Mashabela
+Ngwanamakwetle Reneiloe Mashabela
+Nhlanhla Nene
+Nhlanhla Xaba
+Nhlanhlakayise Khubisa
+Nhlanhlakayise Moses Khubisa
+Nicholous Khoza
+Nicholous Pro Khoza
+Nicolaas Jacobus Janse Van Rensburg Koornhof
+Nkhensani Kate Bilankulu
+Nkoana Maşabane
+Nkosazana Dlamini-Zuma
+Nkosinathi Nhleko
+Nkosiyakhe Amos Masondo
+Nocawe Noncedo Mafu
+Nokhaya Adelaide Mnisi
+Nokhaya Mnisi
+Nokukhanya Mthembu
+Nokulunga Primrose Sonti
+Nokuzola Gladys Tolashe
+Nokuzola Ndongeni
+Nomaindia Mfeketo
+Nomakhaya Mavis Mdaka
+Nomakhaya Mdaka
+Nomalungelo Gina
+Nomathemba November
+Nomathemba Theresia November
+Nomsa Innocencia Tarabella-Marchesi
+Nomsa Tarabella Marchesi
+Nomvula Mokonyane
+Nomvula Paula Mokonyane
+Nomvuzo Francisca Shabalala
+Nomzamo Winfred Madikizela-Mandela
+Nontando Nolutshungu
+Nosilivere Magadla
+Nosilivere Winifred Magadla
+Nosimo Balindlela
+Nosipho Dorothy Ntwanambi
+Nosipho Ntwanambi
+Nosiviwe Mapisa-Nqakula
+Nozabelo Ruth Bhengu
+Nqabayomzi Lawrence Saziso Kwankwa
+Nthabiseng Khunou
+Nthabiseng Pauline Khunou
+Nthako Matiase
+Nthako Sam Matiase
+Nthibane Mokoto
+Nthibane Rebecca Mokoto
+Ntokozo Khonziwe Fortunate Hlonyana
+Ntombovuyo Veronica Mente
+Ntombovuyo Veronica Mente-Nqweniso
+Ntshetsi Esrom Seabi
+Ntshetsi Seabi
+Nyiko Floyd Shivambu
+Obed Bapela
+Pallo Jordan
+Pam Tshwete
+Pamela Tshwete
+Patekile Holomisa
+Patric Maesela
+Patricia Emily Adams
+Patricia Kopane
+Patrick Atkinson
+Patrick Chauke
+Patrick Dumile Nono Maloyi
+Patrick George Atkinson
+Patrick Lekota
+Patrick Mabilo
+Patrick Maesela
+Patrick Sibande
+Paul Mashatile
+Pebane George Moteka
+Petrus Johannes Groenewald
+Phoebe Noxolo Abraham-Ntantiso
+Phumelele Stone Sizani
+Phumuzile Catherine Ngwenya-Mabila
+Phumzile Bhengu-Kombe
+Phumzile Ngwenya-Mabila
+Phumzile Thelma Van Damme
+Phumzile van Damme
+Pieter Groenewald
+Pieter Mulder
+Pieter Van Dalen
+Pieter Willem Adriaan Mulder
+Pinky Kekana
+Pinky Sharon Kekana
+Pravin Gordhan
+Primrose Sonti
+Priscilla Tozama Mantashe
+Pulani Mogotsi
+Pule Mabe
+Puleng Peter Mabe
+Pumza Ntobongwana
+Pumzile Justice Mnguni
+Pumzile Mnguni
+Rachel Cecilia Adams
+Raesibe Eunice Nyalungu
+Raesibe Nyalungu
+Rainey Thamie Hugo
+Ramakaudi Paul Ramakatsa
+Ramakaudi Ramakatsa
+Regina Lesoma
+Regina Mina Mpontseng Lesoma
+Reiney Thamie Hugo
+Rejoice Mabudafhasi
+Rembuluwani Moses Tseli
+Richard Majola
+Risimati Mavunda
+Risimati Thompson Mavunda
+Rob Davies
+Robert Alfred Lees
+Roger William Tobias Chance
+Rosemary Capa
+Rosemary Nokuzola Capa
+Ross Kriel Purdon
+Ross Purdon
+Russel Cebekhulu
+Russel Nsikayezwe Cebekhulu
+Ruth Bhengu
+Sahlulele Luzipo
+Samuel Gaaesi Mmusi
+Samuel Mmusi
+Sandy Kalyan
+Sango Patekile Holomisa
+Santosh Vinita Kalyan
+Sarel Jacobus Francois Marais
+Sarel Jacobus Marais
+Sej Motau
+Sejamotopo Charles Motau
+Sello Albert Tleane
+Sello Tleane
+Semakaleng Patricia Kopane
+Senzeni Zokwana
+Seropane Mphethi
+Seropane Senyane Alton Mphethi
+Sfiso Norbert Buthelezi
+Shadrack Lapologang Tlhaole
+Shadrack Tlhaole
+Shahid Esau
+Sharome Renay Van Schalkwyk
+Sharome van Schalkwyk
+Sheila Coleen Nkhensani Shope-Sithole
+Sheila Shope-Sithole
+Sheilla Tembalam Xego
+Sheilla Xego-Sovita
+Shela Paulina Boshielo
+Shipokosa Paulus Mashatile
+Sibonakaliso Phillip Mhlongo
+Sibongile Judith Nkomo
+Sibongile Manana
+Sibongile Mchunu
+Sibongile Nkomo
+Sibongile Pearm Tsoleli
+Sibongile Tsoleli
+Sibusiso Christopher Mncwabe
+Sibusiso Mncwabe
+Simanga Happy Mbuyane
+Simphiwe Bekwa
+Simphiwe Donatus Bekwa
+Sindi Chikunga
+Siril Ramafosa
+Siyabonga Cwele
+Solly Malatsi
+Solomon Lechesa Tsenoli
+Solomon Patrick Mabilo
+Sonja Boshoff
+Sophie Suzan Thembekwayo
+Sophie Thembekwayo
+Stella Ndabeni
+Stella Ndabeni-Abrahams
+Steve Swart
+Steven Jafta
+Steven Mahlubanzima Jafta
+Steven Swart
+Stevens Mokgalapa
+Stone Sizani
+Strike Michael Ralegoma
+Suhla James Masango
+Suhla Masango
+Susan Shabangu
+Tandeka Gqada
+Tandi Mahambehlala
+Tandiwe Elizabeth Kenye
+Tandiwe Kenye
+Tarnia Baker
+Tarnia Elena Baker
+Terence Mpanza
+Terence Skhumbuzo Mpanza
+Terri Stander
+Tete Ramalie Jonas Ezekiel Ramokhoase
+Thabang Makwetla
+Thabang Sampson Phathakge Makwetla
+Thabo Moses Manyoni
+Thandeka Mbabama
+Thandeka Moloko Mbabama
+Thandi Cecilia Memela
+Thandi Memela
+Thandi Tobias
+Thandi Vivian Tobias
+Thapelo Dorothy Chiloane
+Themba Godi
+Thembekile Richard Majola
+Thembi Majola
+Thembinkosi Rawula
+Thembisile Angel Khanyile
+Thembisile Cheryl Majola-Embalo
+Thembisile Khanyile
+Theophilus Mbulelo Nkonzo
+Thilivhali Elphus Mulaudzi
+Thilivhali Mulaudzi
+Thizwilondi Mabudafhasi
+Thoko Didiza
+Thokozile Xasa
+Thomas Charles Ravenscroft Walters
+Thomas Hadebe
+Thomas Makondo
+Thomas Walters
+Thomas Zwelakhe Hadebe
+Thulas Nxesi
+Timothy Brauteseth
+Timothy James Brauteseth
+Timothy Khoza
+Timothy Zanoxolo Matsebane Khoza
+Tina Joemat-Peterson
+Tina Joemat-Petterssen
+Tina Joemat-Pettersson
+Tito Mboweni
+Toby Chance
+Tokozile Xasa
+Trevor John Bonhomme
+Tsepo Mhlongo
+Tsepo Winston Mhlongo
+Tshoganetso Gasebonwe
+Tshoganetso Mpho Adolphina Tongwane
+Tsholofelo Katlego Motshidi
+U-Winnie Madikizela Mandela
+Vatiswa Bam-Mugwanya
+Velhelmina Pulani Mogotsi
+Veronica Van Dyk
+Veronica Zanele Msibi
+Vincent George Smith
+Vincent Smith
+Vuyokazi Ketabahle
+Walter Bongani Maphanga
+Werner Horn
+William Mothipa Madisha
+Willie Madisha
+Wilma Susan Newhoudt-Druchen
+Wilmot Godfrey James
+Wilmot James
+Winnie Madikizela
+Winnie Madikizela-Mandela
+Winnie Madikizelová-Mandelová
+Winnie Mandela
+Winston Rabotapi
+Wouter Wessels
+Wouter Wynand Wessels
+Xitlhangoma Mabasa
+Xitlhangoma Mabaso
+Xolani Ngwezi
+Xoliswa Sandra Tom
+Xoliswa Tom
+Yolanda Rachel Botha
+Yoliswa Nomampondomise Yako
+Yunus Carrim
+Yunus Ismail Carrim
+Yusuf Cassim
+Yvonne Nkwenkwezi Phosa
+Yvonne Phosa
+Zakhele Mbhele
+Zakhele Njabulo Mbhele
+Zanele kaMagwaza-Msibi
+Zelda Jongbloed
+Zephroma Dubazana
+Zephroma Sizani Dlamini-Dubazana
+Zephroma Sizani Dubazana
+Zisiwe Beauty Nosimo Balindlela
+Zoe Kota-Fredericks
+Zolile Roger Xalisa
+Zoliswa Kota-Fredericks
+Zondi Makhubele
+Zondi Silence Makhubele
+Zukile Luyenge
+Zukisa Cheryl Faku
+Zweledinga Pallo Jordan
+Zwelini Lawrence Mkhize
+Zwelivelile Mandlesizwe Dalibhunga Mandela
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/places/home.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/places/home.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e2d0df840a2256eb70b63a3a7bd16e3a564d9c40
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/places/home.txt
@@ -0,0 +1,29 @@
+bathroom
+bedroom
+dining room
+family room
+kitchen
+living room
+lounge
+study
+veranda
+balcony
+conservatory
+courtyard
+garden
+patio
+terrace
+garage
+gym
+laundry
+scullery
+toilet
+shed
+hallway
+landing
+staircase
+basement
+cellar
+loft
+attic
+granny flat
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artmovement.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artmovement.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7eb1118e7a7fbeeb3bf87e8bdf927ed266eb4b4c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artmovement.txt
@@ -0,0 +1,200 @@
+# originally sourced from https://en.wikipedia.org/wiki/List_of_art_movements
+Abstract art
+Abstract expressionism
+Abstract illusionism
+Academic art
+Action painting
+Aestheticism
+Afrofuturism
+Altermodern
+American Barbizon school
+American impressionism
+American realism
+American Scene Painting
+Analytical art
+Antipodeans
+Arabesque
+Arbeitsrat für Kunst
+Art Brut
+Art Deco
+Arte Povera
+Art Informel
+Art & Language
+Art Nouveau
+Art photography
+Arts and Crafts movement
+ASCII art
+Ashcan School
+Assemblage
+Australian Tonalism
+Auto-destructive art
+Barbizon school
+Baroque
+Bauhaus
+Bengal School of Art
+Berlin Secession
+Black Arts Movement
+Brutalism
+Classical Realism
+Cloisonnism
+COBRA
+Color Field
+Computer art
+Conceptual art
+Concrete art
+Constructivism
+Context art
+Crystal Cubism
+Cubism
+Cubist
+Cubo-Futurism
+Cynical realism
+Dada
+Dansaekhwa
+Danube school
+Dau-al-Set
+Deconstructivism
+De Stijl (also known as Neoplasticism)
+Digital art
+Dutch Golden Age
+Ecological Art
+Egyptian art
+Environmental art
+Excessivism
+Expressionism
+Fantastic realism
+Fauvism
+Feminist art
+Figuration Libre
+Figurative art
+Fine Art
+Flemish Baroque
+Fluxus
+Folk art
+Funk art
+Futurism
+Geometric abstract art
+Glitch art
+Goth
+Gothic art
+Graffiti/Street Art
+Gutai group
+Happening
+Harlem Renaissance
+Heidelberg School
+Hudson River School
+Hurufiyya
+Hypermodernism
+Hyperrealism
+Impressionism
+Incoherents
+Institutional critique
+Interactive Art
+International Gothic
+International Typographic Style
+Kinetic art
+Kinetic Pointillism
+Kitsch movement
+Land art
+Les Automatistes
+Les Nabis
+Letterism
+Light and Space
+Lowbrow
+Lyco art
+Lyrical abstraction
+Magic realism
+Mail art
+Mannerism
+Massurrealism
+Maximalism
+Metaphysical painting
+Mingei
+Minimalism
+Modern European ink painting
+Modernism
+Modular constructivism
+Naive art
+Neoclassicism
+Neo-Dada
+Neo-expressionism
+Neo-Fauvism
+Neo-figurative
+Neogeo (art)
+Neoism
+Neo-primitivism
+Neo-romanticism
+Net art
+New Objectivity
+New Sculpture
+Northwest School
+Nuclear art
+Objective abstraction
+Op Art
+Orphism
+Panfuturism
+Paris School
+Photorealism
+Pixel art
+Plasticien
+Plein Air
+Pointillism
+Pop art
+Post-impressionism
+Postminimalism
+Precisionism
+Pre-Raphaelite
+Pre-Raphaelitism
+Primitivism
+Private Press
+Process art
+Psychedelic art
+Purism
+Qajar art
+Quito School
+Rasquache
+Rayonism
+Realism
+Regionalism
+Remodernism
+Renaissance
+Renaissance painting
+Retrofuturism
+Roccoco
+Rococo
+Romanesque
+Romanticism
+Samikshavad
+Serial art
+Shin hanga
+Shock art
+Socialist realism
+Sōsaku hanga
+Sots art
+Space art
+Street art
+Stuckism
+Sumatraism
+Superflat
+Suprematism
+Surrealism
+Symbolism
+Synchromism
+Synthetism
+Synthwave
+Tachisme (aka Informel)
+Temporary art
+Tonalism
+Toyism
+Transgressive art
+Ukiyo-e
+Underground comix
+Unilalianism
+Vancouver School
+Vanitas
+Vaporwave
+Verdadism
+Video art
+Viennese Actionism
+Visual Art
+Vorticism
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/abstract_expressionism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/abstract_expressionism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9c2fbaf8c33914b122ee04abd47ea93e76f2f5a7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/abstract_expressionism.txt
@@ -0,0 +1,8 @@
+Abstract Expressionism
+Action painting
+Color field painting
+Lyrical Abstraction
+COBRA
+Tachisme
+Abstract Imagists
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/ancient_classical.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/ancient_classical.txt
new file mode 100644
index 0000000000000000000000000000000000000000..33c2f299d15749eeb3cbda9c62d62f76fe5245c0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/ancient_classical.txt
@@ -0,0 +1,3 @@
+Minoan art
+Ancient Greek art
+Roman art
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/art_nouveau.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/art_nouveau.txt
new file mode 100644
index 0000000000000000000000000000000000000000..297fca9d9fa1cc204ad1503297b6c881434202ae
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/art_nouveau.txt
@@ -0,0 +1,7 @@
+Art Nouveau
+Vienna Secession
+Secessionstil
+Mir iskusstva
+Jugendstil
+Modernisme
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/constructivism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/constructivism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..bbaf71958313cc722dc716de59451f6753df5964
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/constructivism.txt
@@ -0,0 +1,3 @@
+Constructivism
+Vkhutemas
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/contemporary.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/contemporary.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f821dd21901a0281f9ab44a3decb04b052857eab
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/contemporary.txt
@@ -0,0 +1,49 @@
+Contemporary Greek art
+Vienna School of Fantastic Realism
+Neo-Dada
+International Typographic Style
+Soviet Nonconformist Art
+Painters Eleven
+Pop Art
+Woodlands School
+Situationism
+New realism
+Magic realism
+Minimalism
+Hard-edge painting
+Fluxus
+Happening
+Video art
+Psychedelic art
+Conceptual art
+Graffiti
+Junk art
+Performance art
+Op Art
+Post-painterly abstraction
+Lyrical Abstraction
+Process art
+Arte Povera
+Art and Language
+Photorealism
+Land art
+Post-minimalism
+Postmodern art
+Deconstructivism
+Metarealism
+Sots Art
+Installation art
+Mail art
+Maximalism
+Neo-expressionism late
+Neoism
+Figuration Libre
+Street art
+Young British Artists
+Digital art
+Toyism
+Transgressive art
+Massurrealism
+Stuckism
+Remodernism
+Excessivism
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/cubism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/cubism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..62f2e7083018cfb7897044e8d799df6562ed4980
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/cubism.txt
@@ -0,0 +1,4 @@
+Cubism
+Jack of Diamonds
+Orphism
+Purism
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/expressionism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/expressionism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..03fc09453c9927a41528637ad1cebc99a18a89a5
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/expressionism.txt
@@ -0,0 +1,4 @@
+Expressionism
+Die Brücke
+Der Blaue Reiter
+Flemish Expressionism
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/futurism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/futurism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5a161a1e26bb9812671163defb8f57f9d4f556ac
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/futurism.txt
@@ -0,0 +1,3 @@
+Futurism
+Russian Futurism
+Cubo-Futurism
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/impressionism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/impressionism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f056c9ff724670889a016e2c26c0414bb02243ef
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/impressionism.txt
@@ -0,0 +1,3 @@
+Impressionism
+American Impressionism
+Luminism
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/medieval.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/medieval.txt
new file mode 100644
index 0000000000000000000000000000000000000000..387af50b0b444ecb4059d65d549b568301b462d4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/medieval.txt
@@ -0,0 +1,15 @@
+# Originally sourced from https://en.wikipedia.org/wiki/Periods_in_Western_art_history
+Early Christian
+Migration Period
+Anglo-Saxon
+Visigothic
+Pre-Romanesque
+Insular
+Viking
+Byzantine
+Merovingian
+Carolingian
+Ottonian
+Romanesque
+Norman-Sicilian
+Gothic
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/modern.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/modern.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b7bd42c269e02fc2cdf747757dee808f447aa7f5
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/modern.txt
@@ -0,0 +1,52 @@
+# Originally sourced from https://en.wikipedia.org/wiki/Periods_in_Western_art_history
+__style/artperiods/impressionism__
+Cos Cob Art Colony
+Heidelberg School
+Arts and Crafts movement
+Tonalism
+__style/artperiods/symbolism__
+__style/artperiods/post_impressionism__
+__style/artperiods/neo_impressionism__
+__style/artperiods/art_nouveau__
+Russian avant-garde
+Art à la Rue
+Young Poland
+Hagenbund
+Fauvism
+__style/artperiods/expressionism__
+Bloomsbury Group
+__style/artperiods/cubism__
+Ashcan School
+Art Deco
+__style/artperiods/futurism__
+Rayonism
+Synchromism
+Universal Flowering
+Vorticism
+Biomorphism
+__style/artperiods/suprematism__
+Dada
+Proletkult
+Productijism
+{De Stijl|Neoplasticism}
+Pittura Metafisica
+Arbeitsrat für Kunst
+Bauhaus
+Others group of artists
+__style/artperiods/constructivism__
+Precisionism
+__style/artperiods/surrealism__
+Devetsil
+Group of Seven
+Harlem renaissance
+American scene painting
+{New Objectivity|Neue Sachlichkeit}
+Grupo Montparnasse
+Northwest School
+Social realism
+__style/artperiods/socialist_realism__
+Abstraction-Création
+Allianz
+__style/artperiods/abstract_expressionism__
+Art informel
+{Outsider art|Art brut}
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/neoclassicism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/neoclassicism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..cffefba70d23925403fb8b843d583fdc70fc7797
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/neoclassicism.txt
@@ -0,0 +1,11 @@
+# Originally sourced from https://en.wikipedia.org/wiki/Periods_in_Western_art_history
+Mannerism
+Late Renaissance
+Baroque
+Dutch Golden Age
+Flemish Baroque
+Caravaggisti
+Rococo
+Neoclassicism
+Later Cretan School
+Heptanese School
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/neoimpressionism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/neoimpressionism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5a183cda5c9843a66b02067395c6a76eabb268e0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/neoimpressionism.txt
@@ -0,0 +1,3 @@
+Neo-impressionism
+Pointillism
+Divisionism
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/postimpressionism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/postimpressionism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..97acb8b86b7a7c3e803650efe2ed90c293bf57ac
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/postimpressionism.txt
@@ -0,0 +1,5 @@
+Post-impressionism
+Les Nabis
+Cloisonnism
+Synthetism
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/renaissance.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/renaissance.txt
new file mode 100644
index 0000000000000000000000000000000000000000..94d8b3419e028b266712e3044781b2bb2b023ca9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/renaissance.txt
@@ -0,0 +1,7 @@
+# originally sourced from https://en.wikipedia.org/wiki/Periods_in_Western_art_history
+Italian Renaissance
+Renaissance Classicism
+Early Netherlandish painting
+Early Cretan School
+Renaissance
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/romanticism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/romanticism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2a1deaa79fd11901aa7da2b65000e76b0cede51f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/romanticism.txt
@@ -0,0 +1,8 @@
+# Originally sourced from https://en.wikipedia.org/wiki/Periods_in_Western_art_history
+Nazarene movement
+The Ancients
+Purismo
+Düsseldorf school
+Hudson River school
+Luminism
+Modern Greek art
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/romanticism_to_modern.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/romanticism_to_modern.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a1d5a203b0c572a9d5a49d3e63e78d5dcd32eaa4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/romanticism_to_modern.txt
@@ -0,0 +1,13 @@
+# Originally sourced from https://en.wikipedia.org/wiki/Periods_in_Western_art_history
+Norwich school
+Biedermeier
+Photography
+Realism
+Barbizon school
+Peredvizhniki
+Abramtsevo Colony
+Hague School
+American Barbizon school
+Spanish Eclecticism
+Macchiaioli
+Pre-Raphaelite Brotherhood
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/socialist_realism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/socialist_realism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..040d65ddf540c93c709cf306b374a3e9c6787dbf
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/socialist_realism.txt
@@ -0,0 +1,3 @@
+Socialist realism
+Leningrad School of Painting
+Socrealism
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/suprematism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/suprematism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..574e2591d720a80371795d5059871f0ef4c224dd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/suprematism.txt
@@ -0,0 +1,2 @@
+Suprematism
+UNOVIS
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/surrealism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/surrealism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c8ea1cf7021855be22f86d86a4228610f07298fb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/surrealism.txt
@@ -0,0 +1,4 @@
+Surrealism
+Acéphale France
+Lettrism
+Les Automatistes
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/symbolism.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/symbolism.txt
new file mode 100644
index 0000000000000000000000000000000000000000..97ec5ebd714da8a28da01712e15e1fd159eebbcc
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/artperiods/symbolism.txt
@@ -0,0 +1,4 @@
+Symbolism
+Russian Symbolism
+Aesthetic movement
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/generalstyle.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/generalstyle.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f637b9a6205c2b77f4176bd40bc331701f713bcf
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/generalstyle.txt
@@ -0,0 +1,16 @@
+Bohemianism
+Abstract
+Concept art
+Concert poster
+Dot Art / Dot.Art
+Futuristic
+Geometric
+Graffiti
+Hyperrealistic
+Landscape
+Lowbrow
+Movie poster
+Narrative painting
+Photorealistic
+Portrait
+Storybook illustration
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/genre.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/genre.txt
new file mode 100644
index 0000000000000000000000000000000000000000..cbdf7f468b9d44bd25ae611cfdc36d55255bc4eb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/genre.txt
@@ -0,0 +1,46 @@
+# Originally sourced from https://github.com/jtkelm2/stable-diffusion-webui-1/blob/main/scripts/wildcards/genre.txt
+American frontier
+American propaganda
+Anime
+Antique lithograph
+Art deco
+Clean vector
+Concept
+Cosmic Horror
+Cyberpunk
+Dark fantasy
+DC comics
+Dieselpunk
+Dystopian
+Enlightenment
+Fantasy
+Fauvism
+Film noir
+Gothic
+Holography
+Horror
+Linocut
+Marvel comics
+Massurrealism
+Medieval
+Monochrome
+Oil painting
+Pencil sketch
+Photoreal
+Post-apocalyptic
+Post-impressionist
+Postmodern
+Psychedelic
+Renaissance
+Retro
+Romance
+Science Fiction
+Sci-fi
+Seapunk
+Solarpunk
+Soviet propaganda
+Steampunk
+Victorian
+Vintage
+Western
+Woodblock
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/platform.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/platform.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e1b9a9cf6a640812566d20a7834899b5d428a767
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/style/platform.txt
@@ -0,0 +1,17 @@
+# Originally sourced from https://github.com/jtkelm2/stable-diffusion-webui-1/blob/main/scripts/wildcards/site.txt
+500px
+Art on Instagram
+ArtStation
+Artstation HD
+Behance
+Behance HD
+cgsociety
+ConceptArtWorld
+Deviantart
+DeviantArt
+Flickr
+Getty Images
+Pixiv
+Trending on Artstation
+Unsplash
+zbrushcentral
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/time/decade.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/time/decade.txt
new file mode 100644
index 0000000000000000000000000000000000000000..fc4a315eff1f0fad0e631b67b70753c942dc2b93
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/time/decade.txt
@@ -0,0 +1,13 @@
+1900s
+{1910s|'10s}
+{1920s|'20s}
+{1930s|'30s}
+{1940s|'40s}
+{1950s|'50s}
+{1960s|'60s}
+{1970s|'70s}
+{1980s|'80s}
+{1990s|'90s}
+2000s
+2010s
+2020s
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/time/seasons.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/time/seasons.txt
new file mode 100644
index 0000000000000000000000000000000000000000..624e35382c841bb4c710987020c913872284bbf1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/time/seasons.txt
@@ -0,0 +1,4 @@
+summer
+{autumn|fall}
+winter
+spring
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/time/timeofday.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/time/timeofday.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2dcfc36c1206a96d9779bf7054a0991c3ba29baa
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/time/timeofday.txt
@@ -0,0 +1,9 @@
+night
+dawn
+morning
+midday
+noon
+afternoon
+{dusk|twightlight}
+evening
+midnight
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/war/weapons/swords.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/war/weapons/swords.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d979fb15743e8d384e0af6ea954e8c7e53cdeb94
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/war/weapons/swords.txt
@@ -0,0 +1,3 @@
+__war/weapons/swords/european__
+__war/weapons/swords/african__
+__war/weapons/swords/asian__
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/war/weapons/swords/african.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/war/weapons/swords/african.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1a29dc4013b673fe23bc4106341d2bf9b80fc25d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/war/weapons/swords/african.txt
@@ -0,0 +1,18 @@
+# North African swords
+Flyssa
+Kaskara
+Khopesh
+Mameluke sword
+Nimcha
+
+# East African swords
+Billao
+Shotel
+
+# West African swords
+Akrafena
+Ida
+Takoba
+
+# Central African swords
+Mambele
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/war/weapons/swords/asian.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/war/weapons/swords/asian.txt
new file mode 100644
index 0000000000000000000000000000000000000000..90c641473e888d05545b5d74fdb5d7b1cd18f428
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/war/weapons/swords/asian.txt
@@ -0,0 +1,6 @@
+Acinaces
+Chereb
+{Kilij|Pulwar|Shamshir|Talwar|Yataghan|Khanjar|Saif|Scimitar|Zulfiqar}
+__war/weapons/swords/east_asian__
+__war/weapons/swords/south_asian__
+__war/weapons/swords/south_east_asian__
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/war/weapons/swords/east_asian.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/war/weapons/swords/east_asian.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e373fdcad2446846a51f811ed3a2fc71b0b08228
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/war/weapons/swords/east_asian.txt
@@ -0,0 +1,45 @@
+# East Asian swords
+## China
+Dao
+Baguadao
+Butterfly sword
+Changdao
+Dadao
+Liuyedao
+Miao dao
+Nandao
+Piandao
+Wodao
+Yanmaodao
+Zhanmadao
+Jian
+Shuangshou jian
+Hook sword
+
+# Japan
+Nihonto
+Bokken
+Chokutō
+Hachiwara
+Iaitō
+Jintachi
+Katana
+Kenukigata tachi
+Kodachi
+Nagamaki
+Ninjato
+{Ōdachi|Nodachi}
+Sasuga
+Shinai
+Shinken
+Shikomizue
+Tachi
+Tantō
+Tsurugi
+Wakizashi
+Dōtanuki
+Chanbara
+
+# Korea
+Hwandudaedo
+Saingeom
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/war/weapons/swords/european.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/war/weapons/swords/european.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c8299811125b010d70414a8b379ab0abbf5d6096
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/war/weapons/swords/european.txt
@@ -0,0 +1,14 @@
+Arming sword
+Curtana
+Longsword
+Backsword
+Falchion
+Estoc
+Claymore
+Paramerion
+Seax
+{Viking sword|Carolingian sword}
+Zweihänder
+Cutlass
+Rapier
+Sabre
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/war/weapons/swords/south_asian.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/war/weapons/swords/south_asian.txt
new file mode 100644
index 0000000000000000000000000000000000000000..de6d1b148a513cc123051d70ad435d42fef08c87
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/war/weapons/swords/south_asian.txt
@@ -0,0 +1,21 @@
+# # Bhutan
+Patag
+
+# Bladed Weapons of Indian subcontinent
+Kirpan
+Tegha
+Sirohi sword
+Asi
+Firangi
+Hengdang
+Talwar
+Kayamkulam vaal
+Khanda
+Malappuram Kathi
+Moplah
+Pata
+Ram-dao
+Urumi
+
+## Sri Lanka
+Kastane
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/war/weapons/swords/south_east_asian.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/war/weapons/swords/south_east_asian.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d115ed9a9ef48afdf19450680413c7b99547a03d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/jumbo/war/weapons/swords/south_east_asian.txt
@@ -0,0 +1,55 @@
+# Southeast Asian swords
+
+## Indonesia
+Alamang
+Amanremu
+Badik
+Balato
+Blakas
+Celurit
+Gari
+Golok
+Kabeala
+Karambit
+Keris
+Klewang
+Kujang
+Langgai Tinggang
+Luwuk
+Mandau
+Niabor
+Palitai
+Pandat
+Parang
+Rencong
+Sewar
+Si Euli
+Sikin Panjang
+Trisula
+
+## Myanmar
+Dha
+
+## Philippines
+Balasiong
+Balisword
+Bangkung
+Banyal
+Barong
+Batangas
+Bolo
+Dahong Palay
+Gayang
+Gulok
+Kalis
+Kampilan
+Panabas
+Pinuti
+Pirah
+Sundang
+Susuwat
+Utak
+
+## Thailand
+Daab
+Krabi
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nai/README.md b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nai/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..f0b05b33582602ddaac1cf9ad8ed8d8bc5639512
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nai/README.md
@@ -0,0 +1,3 @@
+# This is a placeholder for another detailed collection of wildcards which you can find here: https://rentry.org/NAIwildcards. Note, many are NSFW.
+
+You can install the collection by downloading each wildcard individually and placing it in your wildcards folder.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/README.md b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..7222bd3639c8c81dcf7b05f0264098a2a2ca8a21
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/README.md
@@ -0,0 +1,5 @@
+WASasquatch was one of the original prompt libraries, dating back to Disco Diffusion - those were the days! You can import them using a script in the _tools directory. From the root directory of the extension, simply run to download it:
+
+ python _tools/import_noodle_soup_prompts.py
+
+Script contributed by @akx
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-adj/adj-architecture.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-adj/adj-architecture.txt
new file mode 100644
index 0000000000000000000000000000000000000000..13a00e6c9fdc45ec095fe9ca215e595d379d52cb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-adj/adj-architecture.txt
@@ -0,0 +1,129 @@
+Art Deco
+Art Nouveau
+Baroque architecture
+Bauhaus architecture
+Bilateral Symmetry
+Brutalism architecture
+Buddhist architecture
+Byzantine architecture
+Cambodian Khmer architecture
+Cantonese architecture
+Chinese aesthetic
+Churrigueresco architecture
+Churrigueresque architecture
+Colonial architecture
+Compact
+Composite architecture
+Confucius era
+Congested
+Corinthian architecture
+Cosmological concept architecture
+Decorated style
+Diminutive
+Doric architecture
+Early Christian architecture
+Early English architecture
+Eastern Roman
+Eclectic architecture
+Economical
+Edwardian architecture
+Effusive
+Empire architecture
+Engawa
+Fabric
+Facade
+Federation architecture
+French Colonial architecture
+Fusuma
+Gan architecture
+Genkan
+Georgian architecture
+Gothic Revival architecture
+Gothic architecture
+Hakka architecture
+Heisei architecture
+Heisei period
+Hokkien architecture
+Horizontal emphasis
+Hui Style architecture
+Hutong architecture
+Imperial Russia architecture
+Imperial architecture
+International Style
+Ionic
+Islamic architecture
+Jacobean architecture
+Japanese aesthetic
+Kievan Rus architecture
+Korean aesthetic
+Lingnan architecture
+Longtang architecture
+Louis Quatorze
+Louis Quinze
+Louis Seize
+Louis Treize
+Luxurious
+Mannerism
+Meiji architecture
+Meiji period
+Minimalist
+Minnan architecture
+Modern Russian architecture
+Moderne
+Modernist
+Monolithic
+Moorish architecture
+Morisco architecture
+Mudéjar architecture
+Muscovite architecture
+Neo-Tropical
+Neoclassicial
+New Indies architecture
+Opaque
+Pagan Roman
+Palladian
+Persian architecture
+Pervasive
+Pleasant
+Postwar Soviet architecture
+Queen-Anne architecture
+Reflective
+Regency architecture
+Relgious architecture
+Renaissance architecture
+Resemble
+Revivalist
+Rococo architecture
+Roman architecture
+Romanesque architecture
+Russian aesthetic
+Saracen architecture
+Shanghainese architecture
+Shanxi architecture
+Shikumen architecture
+Shoji
+Shōwa architecture
+Shōwa period
+Soviet Union architecture
+Spanish Colonial architecture
+Sparse
+Streamline
+Streamlined
+Structure
+Suspended
+Taishō architecture
+Taishō period
+Tatami
+Tibetan architecture
+Tudor architecture
+Tuscan architecture
+Vernacular
+Victorian architecture
+Xinjiang architecture
+Yaodong architecture
+functionalism
+perpendicular
+post-modernism
+postmodernism
+transition
+transitional
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-adj/adj-beauty.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-adj/adj-beauty.txt
new file mode 100644
index 0000000000000000000000000000000000000000..da3138200716773f605b8239331d22c614a93557
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-adj/adj-beauty.txt
@@ -0,0 +1,86 @@
+Junoesque
+aesthetic
+aesthetical
+alluring
+appealing
+arresting
+attractive
+beauteous
+bonnie
+bonny
+charming
+chocolate-box
+comely
+cunning
+cute
+dainty
+delicate
+delightful
+desirable
+dishy
+dollish
+drop-dead
+elegant
+engaging
+esthetic
+esthetical
+exquisite
+eye-catching
+fair
+fascinating
+fetching
+flamboyant
+flashy
+flawless
+foxy
+glamorous
+glamourous
+glorious
+glossy
+good
+good-looking
+goodly
+gorgeous
+handsome
+hot
+hunky
+knockout
+likely
+lovely
+lovesome
+luscious
+magnificent
+nubile
+perfect
+personable
+photogenic
+pleasant
+prepossessing
+presentable
+pretty
+prettyish
+pulchritudinous
+radiant
+ravishing
+resplendent
+seductive
+seemly
+sexy
+showstopping
+showy
+sightly
+slick
+snazzy
+splashy
+splendid
+statuesque
+striking
+studly
+stunning
+sublime
+superb
+taking
+telegenic
+toothsome
+well-favored
+zingy
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-adj/adj-general.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-adj/adj-general.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0f0cab38a4d3153fce0d133d99fccab6222219d4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-adj/adj-general.txt
@@ -0,0 +1,1347 @@
+French
+Spanish
+abandoned
+able
+absolute
+academic
+acceptable
+acclaimed
+accomplished
+accurate
+aching
+acidic
+acrobatic
+active
+actual
+adept
+admirable
+admired
+adolescent
+adorable
+adorable
+adored
+advanced
+adventurous
+affectionate
+afraid
+aged
+aggravating
+aggressive
+agile
+agitated
+agonizing
+agreeable
+ajar
+alarmed
+alarming
+alert
+alienated
+alive
+all
+altruistic
+amazing
+ambitious
+ample
+amused
+amusing
+anchored
+ancient
+angelic
+angry
+anguished
+animated
+annual
+another
+antique
+anxious
+any
+apprehensive
+appropriate
+apt
+arctic
+arid
+aromatic
+artistic
+ashamed
+assured
+astonishing
+athletic
+attached
+attentive
+attractive
+austere
+authentic
+authorized
+automatic
+avaricious
+average
+aware
+awesome
+awful
+awkward
+babyish
+back
+bad
+baggy
+bare
+barren
+basic
+beautiful
+belated
+beloved
+beneficial
+best
+better
+bewitched
+big
+big-hearted
+biodegradable
+bite-sized
+bitter
+black
+black-and-white
+bland
+blank
+blaring
+bleak
+blind
+blissful
+blond
+blue
+blushing
+bogus
+boiling
+bold
+bony
+boring
+bossy
+both
+bouncy
+bountiful
+bowed
+brave
+breakable
+brief
+bright
+brilliant
+brisk
+broken
+bronze
+brown
+bruised
+bubbly
+bulky
+bumpy
+buoyant
+burdensome
+burly
+bustling
+busy
+buttery
+buzzing
+calculating
+calm
+candid
+canine
+capital
+carefree
+careful
+careless
+caring
+cautious
+cavernous
+celebrated
+charming
+cheap
+cheerful
+cheery
+chief
+chilly
+chubby
+circular
+classic
+clean
+clear
+clear-cut
+clever
+close
+closed
+cloudy
+clueless
+clumsy
+cluttered
+coarse
+cold
+colorful
+colorless
+colossal
+comfortable
+common
+compassionate
+competent
+complete
+complex
+complicated
+composed
+concerned
+concrete
+confused
+conscious
+considerate
+constant
+content
+conventional
+cooked
+cool
+cooperative
+coordinated
+corny
+corrupt
+costly
+courageous
+courteous
+crafty
+crazy
+creamy
+creative
+creepy
+criminal
+crisp
+critical
+crooked
+crowded
+cruel
+crushing
+cuddly
+cultivated
+cultured
+cumbersome
+curly
+curvy
+cute
+cylindrical
+damaged
+damp
+dangerous
+dapper
+daring
+dark
+darling
+dazzling
+dead
+deadly
+deafening
+dear
+dearest
+decent
+decimal
+decisive
+deep
+defenseless
+defensive
+defiant
+deficient
+definite
+definitive
+delayed
+delectable
+delicious
+delightful
+delirious
+demanding
+dense
+dental
+dependable
+dependent
+descriptive
+deserted
+detailed
+determined
+devoted
+different
+difficult
+digital
+diligent
+dim
+dimpled
+dimwitted
+direct
+dirty
+disastrous
+discrete
+disfigured
+disguised
+disgusting
+dishonest
+disloyal
+dismal
+dismal
+distant
+distant
+distinct
+distorted
+dizzy
+dopey
+doting
+double
+downright
+downright
+drab
+drafty
+dramatic
+dreary
+dreary
+droopy
+dry
+dual
+dull
+dutiful
+each
+eager
+early
+earnest
+easy
+easy-going
+ecstatic
+edible
+educated
+elaborate
+elastic
+elated
+elderly
+electric
+elegant
+elementary
+elliptical
+embarrassed
+embellished
+eminent
+emotional
+empty
+enchanted
+enchanting
+energetic
+enlightened
+enormous
+enraged
+entire
+envious
+equal
+equatorial
+essential
+esteemed
+ethical
+euphoric
+even
+evergreen
+everlasting
+every
+evil
+exalted
+excellent
+excitable
+excited
+exciting
+exemplary
+exhausted
+exotic
+expensive
+experienced
+expert
+extra-large
+extra-small
+extraneous
+extroverted
+fabulous
+failing
+faint
+fair
+faithful
+fake
+false
+familiar
+famous
+fancy
+fantastic
+far
+far-flung
+far-off
+faraway
+fast
+fat
+fatal
+fatherly
+favorable
+favorite
+fearful
+fearless
+feisty
+feline
+female
+feminine
+few
+fickle
+filthy
+fine
+finished
+firm
+first
+firsthand
+fitting
+fixed
+flaky
+flamboyant
+flashy
+flat
+flawed
+flawless
+flickering
+flimsy
+flippant
+flowery
+fluffy
+fluid
+flustered
+focused
+fond
+foolhardy
+foolish
+forceful
+forked
+formal
+forsaken
+forthright
+fortunate
+fragrant
+frail
+frank
+frayed
+free
+frequent
+fresh
+friendly
+frightened
+frightening
+frigid
+frilly
+frivolous
+frizzy
+front
+frosty
+frozen
+frugal
+fruitful
+full
+fumbling
+functional
+funny
+fussy
+fuzzy
+gargantuan
+gaseous
+general
+generous
+gentle
+genuine
+giant
+giddy
+gifted
+gigantic
+giving
+glamorous
+glaring
+glass
+gleaming
+gleeful
+glistening
+glittering
+gloomy
+glorious
+glossy
+glum
+golden
+good
+good-natured
+gorgeous
+graceful
+gracious
+grand
+grandiose
+granular
+grateful
+grave
+gray
+great
+greedy
+green
+gregarious
+grim
+grimy
+gripping
+grizzled
+gross
+grotesque
+grouchy
+grounded
+growing
+growling
+grown
+grubby
+gruesome
+grumpy
+guilty
+gullible
+gummy
+hairy
+half
+handmade
+handsome
+handy
+happy
+happy-go-lucky
+hard
+hard-to-find
+harmful
+harmless
+harmonious
+harsh
+hasty
+hateful
+haunting
+healthy
+heartfelt
+hearty
+heavenly
+heavy
+hefty
+helpful
+helpless
+hidden
+hideous
+high
+high-level
+hilarious
+hoarse
+hollow
+homely
+honest
+honorable
+honored
+hopeful
+horrible
+hospitable
+hot
+huge
+humble
+humiliating
+humming
+humongous
+hungry
+hurtful
+husky
+icky
+icy
+ideal
+idealistic
+identical
+idiotic
+idle
+idolized
+ignorant
+ill
+ill-fated
+ill-informed
+illegal
+illiterate
+illustrious
+imaginary
+imaginative
+immaculate
+immaterial
+immediate
+immense
+impartial
+impassioned
+impeccable
+imperfect
+imperturbable
+impish
+impolite
+important
+impossible
+impractical
+impressionable
+impressive
+improbable
+impure
+inborn
+incomparable
+incompatible
+incomplete
+inconsequential
+incredible
+indelible
+indolent
+inexperienced
+infamous
+infantile
+infatuated
+inferior
+infinite
+informal
+innocent
+insecure
+insidious
+insignificant
+insistent
+instructive
+insubstantial
+intelligent
+intent
+intentional
+interesting
+internal
+international
+intrepid
+ironclad
+irresponsible
+irritating
+itchy
+jaded
+jagged
+jam-packed
+jaunty
+jealous
+jittery
+joint
+jolly
+jovial
+joyful
+joyous
+jubilant
+judicious
+juicy
+jumbo
+jumpy
+junior
+juvenile
+kaleidoscopic
+keen
+key
+kind
+kindhearted
+kindly
+klutzy
+knobby
+knotty
+knowing
+knowledgeable
+known
+kooky
+kosher
+lame
+lanky
+large
+last
+lasting
+late
+lavish
+lawful
+lazy
+leading
+leafy
+lean
+left
+legal
+legitimate
+light
+lighthearted
+likable
+likely
+limited
+limp
+limping
+linear
+lined
+liquid
+little
+live
+lively
+livid
+loathsome
+lone
+lonely
+long
+long-term
+loose
+lopsided
+lost
+loud
+lovable
+lovely
+loving
+low
+loyal
+lucky
+lumbering
+luminous
+lumpy
+lustrous
+luxurious
+mad
+made-up
+magnificent
+majestic
+major
+male
+mammoth
+married
+marvelous
+masculine
+massive
+mature
+meager
+mealy
+mean
+measly
+meaty
+medical
+mediocre
+medium
+meek
+mellow
+melodic
+memorable
+menacing
+merry
+messy
+metallic
+mild
+milky
+mindless
+miniature
+minor
+minty
+miserable
+miserly
+misguided
+misty
+mixed
+modern
+modest
+moist
+monstrous
+monthly
+monumental
+moral
+mortified
+motherly
+motionless
+mountainous
+muddy
+muffled
+multicolored
+mundane
+murky
+mushy
+musty
+muted
+mysterious
+naive
+narrow
+nasty
+natural
+naughty
+nautical
+near
+neat
+necessary
+needy
+negative
+neglected
+negligible
+neighboring
+nervous
+new
+next
+nice
+nifty
+nimble
+nippy
+nocturnal
+noisy
+nonstop
+normal
+notable
+noted
+noteworthy
+novel
+noxious
+numb
+nutritious
+nutty
+obedient
+obese
+oblong
+oblong
+obvious
+occasional
+odd
+oddball
+offbeat
+offensive
+official
+oily
+old
+old-fashioned
+only
+open
+optimal
+optimistic
+opulent
+orange
+orderly
+ordinary
+organic
+original
+ornate
+ornery
+other
+our
+outgoing
+outlandish
+outlying
+outrageous
+outstanding
+oval
+overcooked
+overdue
+overjoyed
+overlooked
+palatable
+pale
+paltry
+parallel
+parched
+partial
+passionate
+past
+pastel
+peaceful
+peppery
+perfect
+perfumed
+periodic
+perky
+personal
+pertinent
+pesky
+pessimistic
+petty
+phony
+physical
+piercing
+pink
+pitiful
+plain
+plaintive
+plastic
+playful
+pleasant
+pleased
+pleasing
+plump
+plush
+pointed
+pointless
+poised
+polished
+polite
+political
+poor
+popular
+portly
+posh
+positive
+possible
+potable
+powerful
+powerless
+practical
+precious
+precious
+present
+prestigious
+pretty
+previous
+pricey
+prickly
+primary
+prime
+pristine
+private
+prize
+probable
+productive
+profitable
+profuse
+proper
+proud
+prudent
+punctual
+pungent
+puny
+pure
+purple
+pushy
+putrid
+puzzled
+puzzling
+quaint
+qualified
+quarrelsome
+quarterly
+queasy
+querulous
+questionable
+quick
+quick-witted
+quiet
+quintessential
+quirky
+quixotic
+quizzical
+radiant
+ragged
+rapid
+rare
+rash
+raw
+ready
+real
+realistic
+reasonable
+recent
+reckless
+rectangular
+red
+reflecting
+regal
+regular
+reliable
+relieved
+remarkable
+remorseful
+remote
+repentant
+repulsive
+required
+respectful
+responsible
+revolving
+rewarding
+rich
+right
+rigid
+ringed
+ripe
+roasted
+robust
+rosy
+rotating
+rotten
+rough
+round
+rowdy
+royal
+rubbery
+ruddy
+rude
+rundown
+runny
+rural
+rusty
+sad
+safe
+salty
+same
+sandy
+sane
+sarcastic
+sardonic
+satisfied
+scaly
+scarce
+scared
+scary
+scented
+scholarly
+scientific
+scornful
+scratchy
+scrawny
+second
+second-hand
+secondary
+secret
+self-assured
+self-reliant
+selfish
+sentimental
+separate
+serene
+serious
+serpentine
+several
+severe
+shabby
+shadowy
+shady
+shallow
+shameful
+shameless
+sharp
+shimmering
+shiny
+shocked
+shocking
+shoddy
+short
+short-term
+showy
+shrill
+shy
+sick
+silent
+silky
+silly
+silver
+similar
+simple
+simplistic
+sinful
+single
+sizzling
+skeletal
+skinny
+sleepy
+slight
+slim
+slimy
+slippery
+slow
+slushy
+small
+smart
+smoggy
+smooth
+smug
+snappy
+snarling
+sneaky
+sniveling
+snoopy
+sociable
+soft
+soggy
+solid
+somber
+some
+sophisticated
+sore
+sorrowful
+soulful
+soupy
+sour
+sparkling
+sparse
+specific
+spectacular
+speedy
+spherical
+spicy
+spiffy
+spirited
+spiteful
+splendid
+spotless
+spotted
+spry
+square
+squeaky
+squiggly
+stable
+staid
+stained
+stale
+standard
+starchy
+stark
+starry
+steel
+steep
+sticky
+stiff
+stimulating
+stingy
+stormy
+straight
+strange
+strict
+strident
+striking
+striped
+strong
+studious
+stunning
+stupendous
+stupid
+sturdy
+stylish
+subdued
+submissive
+substantial
+subtle
+suburban
+sudden
+sugary
+sunny
+super
+superb
+superficial
+superior
+supportive
+sure-footed
+surprised
+suspicious
+svelte
+sweaty
+sweet
+sweltering
+swift
+sympathetic
+talkative
+tall
+tame
+tan
+tangible
+tart
+tasty
+tattered
+taut
+tedious
+teeming
+tempting
+tender
+tense
+tepid
+terrible
+terrific
+testy
+thankful
+that
+these
+thick
+thin
+third
+thirsty
+this
+thorny
+thorough
+those
+thoughtful
+threadbare
+thrifty
+thunderous
+tidy
+tight
+timely
+tinted
+tiny
+tired
+torn
+total
+tough
+tragic
+trained
+traumatic
+treasured
+tremendous
+tremendous
+triangular
+tricky
+trifling
+trim
+trivial
+troubled
+true
+trusting
+trustworthy
+trusty
+truthful
+tubby
+turbulent
+twin
+ugly
+ultimate
+unacceptable
+unaware
+uncomfortable
+uncommon
+unconscious
+understated
+unequaled
+uneven
+unfinished
+unfit
+unfolded
+unfortunate
+unhappy
+unhealthy
+uniform
+unimportant
+unique
+united
+unkempt
+unknown
+unlawful
+unlined
+unlucky
+unnatural
+unpleasant
+unrealistic
+unripe
+unruly
+unselfish
+unsightly
+unsteady
+unsung
+untidy
+untimely
+untried
+untrue
+unused
+unusual
+unwelcome
+unwieldy
+unwilling
+unwitting
+unwritten
+upbeat
+upright
+upset
+urban
+usable
+used
+useful
+useless
+utilized
+utter
+vacant
+vague
+vain
+valid
+valuable
+vapid
+variable
+vast
+velvety
+venerated
+vengeful
+verifiable
+vibrant
+vicious
+victorious
+vigilant
+vigorous
+villainous
+violent
+violet
+virtual
+virtuous
+visible
+vital
+vivacious
+vivid
+voluminous
+wan
+warlike
+warm
+warmhearted
+warped
+wary
+wasteful
+watchful
+waterlogged
+watery
+wavy
+weak
+wealthy
+weary
+webbed
+wee
+weekly
+weepy
+weighty
+weird
+welcome
+well-documented
+well-groomed
+well-informed
+well-lit
+well-made
+well-off
+well-to-do
+well-worn
+wet
+which
+whimsical
+whirlwind
+whispered
+white
+whole
+whopping
+wicked
+wide
+wide-eyed
+wiggly
+wild
+willing
+wilted
+winding
+windy
+winged
+wiry
+wise
+witty
+wobbly
+woeful
+wonderful
+wooden
+woozy
+wordy
+worldly
+worn
+worried
+worrisome
+worse
+worst
+worthless
+worthwhile
+worthy
+wrathful
+wretched
+writhing
+wrong
+wry
+yawning
+yearly
+yellow
+yellowish
+young
+youthful
+yummy
+zany
+zealous
+zesty
+zigzag
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-adj/adj-horror.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-adj/adj-horror.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5819196a9416d92e8b6bbb363380e4475350555b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-adj/adj-horror.txt
@@ -0,0 +1,46 @@
+alarming
+atrocious
+awful
+daunting
+demoralizing
+dire
+direful
+disconcerting
+discouraging
+dismaying
+disquieting
+distressing
+disturbing
+dread
+dreadful
+dreadful
+fearful
+fearsome
+forbidding
+foreboding
+formidable
+frightening
+frightful
+ghastly
+grisline
+gruesome
+hair-raising
+hideous
+horrendous
+horrible
+horrid
+horrifying
+intimidating
+monstrosity
+perturbing
+redoubtable
+repulsive
+shocking
+spine-chilling
+startling
+terrible
+terrifying
+threatening
+troubling
+trying
+unnerving
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-artist/artist-botanical.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-artist/artist-botanical.txt
new file mode 100644
index 0000000000000000000000000000000000000000..78ae97ca90aec17b589578be2ed039aea51522e7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-artist/artist-botanical.txt
@@ -0,0 +1,30 @@
+Alexander Marshal
+Anne Pratt
+Arthur Harry Church
+Clarissa Munger Badger
+Claude Aubriet
+Elizabeth Blackwell
+Ellen Isham Schutt
+Elsie Louise Shaw
+Emilie von Buttner
+Ferdinand Bauer
+Georg Dionysius Ehret
+Gillian Condy
+Giovanna Garzoni
+Jenny Brasier
+Johanna Helena Herolt
+Lise Cloquet
+Margaret Flockton
+Margaret Mee
+Margaret Warriner Buck
+Marianne North
+Mary Daisy Arnold
+Olivia Marie Braida-Chiusano
+Pancrace Bessa
+Pierre Jean Francois Turpin
+Royal Charles Steadman
+Susannah Blaxill
+Sydney Parkinson
+Walter Hood Fitch
+Wendy Hollender
+William Jackson Hooker
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-artist/artist-surreal.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-artist/artist-surreal.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b2e016c797403d07edb1dc0c8542aaa2fd9e0d30
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-artist/artist-surreal.txt
@@ -0,0 +1,68 @@
+Aase Berg
+Abdel Hadi Al Gazzar
+Agustin Fernandez
+Ahmed Morsi
+Alberto Giacometti
+Alina Szapocznikow
+Alpo Jaakola
+Aminollah Rezaei
+Arshile Gorky
+Art et Liberte
+Blanca Varela
+Bodo
+Dorothea Tanning
+Elba Damast
+Emila Medkova
+Emma Geary
+Emmy Bridgwater
+Enrique Tabara
+Erna Rosenstein
+Eva Svankmajerova
+Ewa Juszkiewicz
+Frida Kahlo
+Gilberto Hernandez Ortega
+Giorgio de Chirico
+Greta Knutson
+Guia Risari
+Haifa Zangana
+Harold Elliott
+Harue Koga
+Henriette Grindat
+Herve Telemaque
+Hiroshi Katsuragawa
+Ichiro Fukuzawa
+Ida Kar
+Ihor Podolchak
+Irene Hamoir
+Jane Graverol
+Joao Artur da Silva
+Joyce Mansour
+Joyce Reopel
+Karina Eibatova
+Kati Horna
+Kikuji Yamashita
+Kiyoji Otsuji
+Lise Mayer
+Max Ernst
+Meret Oppenheim
+Moosa Al Halyan
+Nele Zirnite
+Olga Orozco
+Pablo Runyan
+Paul Delvaux
+Polly Nor
+Ramses Younan
+Rene Magritte
+Rinat Voligamsi
+Rita Kernn-Larsen
+Robert Campbell
+Roberto Matta
+Tetsuya Ishida
+Unica Zurn
+Victor Brauner
+Wifredo Lam
+William Copley
+Wolfgang Paalen
+Xanti Schawinsky
+Yuki Katsura
+Yutaka Bito
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-artist/artist.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-artist/artist.txt
new file mode 100644
index 0000000000000000000000000000000000000000..32897d9522bcd172d2aa871257a57a261223d36e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-artist/artist.txt
@@ -0,0 +1,2265 @@
+A.J.Casson
+Aaron Douglas
+Aaron Horkey
+Aaron Jasinski
+Aaron Siskind
+Abbott Fuller Graves
+Abbott Handerson Thayer
+Abdel Hadi Al Gazzar
+Abed Abdi
+Abigail Larson
+Abraham Mintchine
+Abraham Pether
+Abram Efimovich Arkhipov
+Adam Elsheimer
+Adam Hughes
+Adam Martinakis
+Adam Paquette
+Adi Granov
+Adolf Hirémy Hirschl
+Adolf Hirémy-Hirschl
+Adolph Gottlieb
+Adolph Menzel
+Adonna Khare
+Adriaen van Ostade
+Adriaen van Outrecht
+Adrian Donoghue
+Adrian Ghenie
+Adrian Paul Allinson
+Adrian Smith
+Adrian Tomine
+Adrianus Eversen
+Afarin Sajedi
+Affandi
+Aggi Erguna
+Agnes Cecile
+Agnes Lawrence Pelton
+Agnes Martin
+Agostino Arrivabene
+Agostino Tassi
+Ai Weiwei
+Ai Yazawa
+Akihiko Yoshida
+Akira Toriyama
+Akos Major
+Akseli Gallen-Kallela
+Al Capp
+Al Feldstein
+Al Williamson
+Alain Laboile
+Alan Bean
+Alan Davis
+Alan Kenny
+Alan Lee
+Alan Moore
+Alan Parry
+Alan Schaller
+Alasdair McLellan
+Alastair Magnaldo
+Alayna Lemmer
+Albert Benois
+Albert Bierstadt
+Albert Bloch
+Albert Dubois-Pillet
+Albert Eckhout
+Albert Edelfelt
+Albert Gleizes
+Albert Goodwin
+Albert Joseph Moore
+Albert Koetsier
+Albert Kotin
+Albert Lynch
+Albert Marquet
+Albert Pinkham Ryder
+Albert Robida
+Albert Servaes
+Albert Tucker
+Albert Watson
+Alberto Biasi
+Alberto Burri
+Alberto Giacometti
+Alberto Magnelli
+Alberto Seveso
+Alberto Sughi
+Alberto Vargas
+Albrecht Anker
+Albrecht Durer
+Alec Soth
+Alejandro Burdisio
+Alejandro Jodorowsky
+Aleksey Savrasov
+Aleksi Briclot
+Alena Aenami
+Alessandro Allori
+Alessandro Barbucci
+Alessandro Gottardo
+Alessio Albi
+Alex Alemany
+Alex Andreev
+Alex Colville
+Alex Figini
+Alex Garant
+Alex Grey
+Alex Gross
+Alex Hirsch
+Alex Horley
+Alex Howitt
+Alex Katz
+Alex Maleev
+Alex Petruk
+Alex Prager
+Alex Ross
+Alex Russell Flint
+Alex Schomburg
+Alex Timmermans
+Alex Toth
+Alexander Archipenko
+Alexander Bogen
+Alexander Fedosav
+Alexander Jansson
+Alexander Kanoldt
+Alexander McQueen
+Alexander Millar
+Alexander Milne Calder
+Alexandr Averin
+Alexandre Antigna
+Alexandre Benois
+Alexandre Cabanel
+Alexandre Calame
+Alexandre Jacovleff
+Alexandre-Evariste Fragonard
+Alexandre-Évariste Fragonard
+Alexei Harlamoff
+Alexej von Jawlensky
+Alexey Kurbatov
+Alexis Gritchenko
+Alfred Augustus Glendening
+Alfred Cheney Johnston
+Alfred Eisenstaedt
+Alfred Guillou
+Alfred Heber Hutty
+Alfred Henry Maurer
+Alfred Kelsner
+Alfred Kubin
+Alfred Munnings
+Alfred Parsons
+Alfred Sisley
+Alfred Stevens
+Alfredo Jaar
+Algernon Blackwood
+Alice Bailly
+Alice Neel
+Alice Pasquini
+Alice Rahon
+Alison Bechdel
+Aliza Razell
+Allen Williams
+Allie Brosh
+Allison Bechdel
+Alma Thomas
+Alois Arnegger
+Alphonse Mucha
+Alphonse Osbert
+Alpo Jaakola
+Alson Skinner Clark
+Alvar Aalto
+Alvaro Siza
+Alvin Langdon Coburn
+Alyssa Monks
+Amadeo De Souza-Cardoso
+Amadou Opa Bathily
+Amanda Clark
+Amanda Sage
+Amandine Van Ray
+Ambrosius Benson
+Ambrosius Bosschaert
+Amedee Ozenfant
+Amedeo Modigliani
+Amiet Cuno
+Aminollah Rezaei
+Amir Zand
+Amy Earles
+Amy Judd
+Amy Sillman
+Amédée Guillemin
+Anato Finnstark
+Anatoly Metlan
+Anders Zorn
+Ando Fuchs
+Andre De Dienes
+Andre Derain
+Andre Kertesz
+Andre Kohn
+Andre Leblanc
+Andre Norton
+Andre-Charles Boulle
+Andrea Kowch
+Andrea Mantegna
+Andreas Achenbach
+Andreas Franke
+Andreas Gursky
+Andreas Levers
+Andreas Rocha
+Andreas Vesalius
+Andrei Arinouchkine
+Andrei Markin
+Andrew Atroshenko
+Andrew Ferez
+Andrew Hem
+Andrew Macara
+Andrew Robinson
+Andrew Wyeth
+Andrey Remnev
+Android Jones
+Andrzej Sykut
+André Lhote
+André Masson
+Andréi Arinouchkine
+Andy Fairhurst
+Andy Goldsworthy
+Andy Kehoe
+Andy Warhol
+Angela Barrett
+Angela Sung
+Angus McKie
+Anish Kapoor
+Anita Malfatti
+Anja Millen
+Anja Percival
+Anka Zhuravleva
+Ann Stookey
+Anna Ancher
+Anna Bocek
+Anna Dittmann
+Anna Razumovskaya
+Anna and Elena Balbusso
+Anne Bachelier
+Anne Brigman
+Anne Dewailly
+Anne Mccaffrey
+Anne Packard
+Anne Rothenstein
+Anne Stokes
+Anne Sudworth
+Anne Truitt
+Anne-Louis Girodet
+Anni Albers
+Annibale Carracci
+Annick Bouvattier
+Annie Soudain
+Annie Swynnerton
+Ansel Adams
+Anselm Kiefer
+Antanas Sutkus
+Anthony Gerace
+Anthony Thieme
+Anthony van Dyck
+Anto Carte
+Antoine Blanchard
+Antoine Verney-Carron
+Anton Corbijn
+Anton Domenico Gabbiani
+Anton Fadeev
+Anton Mauve
+Anton Otto Fischer
+Anton Pieck
+Anton Raphael Mengs
+Anton Semenov
+Antonello da Messina
+Antoni Gaudi
+Antonio Canova
+Antonio Donghi
+Antonio J. Manzanedo
+Antonio Mancini
+Antonio Mora
+Antonio Roybal
+Antony Gormley
+Apollinary Vasnetsov
+Apollonia Saintclair
+Aquirax Uno
+Archibald Thorburn
+Aries Moross
+Arik Brauer
+Aristarkh Lentulov
+Aristide Maillol
+Arkhyp Kuindzhi
+Arman Manookian
+Armand Guillaumin
+Armand Point
+Arnold Bocklin
+Arnold Böcklin
+Arnold Schoenberg
+Aron Demetz
+Aron Wiesenfeld
+Arshile Gorky
+Art Fitzpatrick
+Art Frahm
+Art Spiegelman
+Artem Chebokha
+Artemisia Gentileschi
+Artgerm
+Arthur Adams
+Arthur Boyd
+Arthur Dove
+Arthur Garfield Dove
+Arthur Hacker
+Arthur Hughes
+Arthur Lismer
+Arthur Rackham
+Arthur Radebaugh
+Arthur Sarnoff
+Arthur Stanley Wilkinson
+Arthur Streeton
+Arthur Tress
+Arthur Wardle
+Artur Bordalo
+Arturo Souto
+Artus Scheiner
+Ary Scheffer
+Asaf Hanuka
+Asger Jorn
+Asher Brown Durand
+Ashley Willerton
+Ashley Wood
+Atay Ghailan
+Atelier Olschinsky
+Atey Ghailan
+Aubrey Beardsley
+Audrey Kawasaki
+August Friedrich Schenck
+August Macke
+August Sander
+August von Pettenkofen
+Auguste Herbin
+Auguste Mambour
+Auguste Toulmouche
+Augustus Edwin Mulready
+Augustus Jansson
+Augustus John
+Austin Osman Spare
+Axel Törneman
+Ayami Kojima
+Ayan Nag
+Aykut Aydogdu
+Bakemono Zukushi
+Balthus
+Banksy
+Barbara Hepworth
+Barbara Kruger
+Barbara Stauffacher Solomon
+Barbara Takenaga
+Barclay Shaw
+Barkley L. Hendricks
+Barnett Newman
+Barry McGee
+Barry Windsor Smith
+Bart Sears
+Barthel Bruyn the Elder
+Barthel Bruyn the Younger
+Bartolome Esteban Murillo
+Basil Gogos
+Bastien Lecouffe-Deharme
+Bayard Wu
+Beatrix Potter
+Beauford Delaney
+Becky Cloonan
+Beeple
+Bella Kotak
+Ben Aronson
+Ben Goossens
+Ben Hatke
+Ben Nicholson
+Ben Quilty
+Ben Shahn
+Ben Templesmith
+Ben Wooten
+Benedetto Caliari
+Benedick Bana
+Benoit B. Mandelbrot
+Berend Strik
+Bernard Aubertin
+Bernard Buffet
+Bernardo Bellotto
+Bernardo Strozzi
+Berndnaut Smilde
+Bernie Wrightson
+Bert Hardy
+Bert Stern
+Berthe Morisot
+Bertil Nilsson
+Bess Hamiti
+Beth Conklin
+Bettina Rheims
+Bhupen Khakhar
+Bijou Karman
+Bill Brandt
+Bill Brauer
+Bill Carman
+Bill Durgin
+Bill Gekas
+Bill Henson
+Bill Jacklin
+Bill Medcalf
+Bill Sienkiewicz
+Bill Traylor
+Bill Viola
+Bill Ward
+Bill Watterson
+Billy Childish
+Bjarke Ingels
+Blek Le Rat
+Bo Bartlett
+Bo Chen
+Bob Byerley
+Bob Eggleton
+Bob Ross
+Bojan Jevtic
+Bojan Koturanovic
+Bordalo II
+Boris Grigoriev
+Boris Groh
+Boris Kustodiev
+Boris Vallejo
+Botero
+Brad Kunkle
+Brad Rigney
+Brandon Mably
+Brandon Woelfel
+Brenda Zlamany
+Brent Cotton
+Brent Heighton
+Brett Weston
+Brett Whiteley
+Brian Bolland
+Brian Despain
+Brian Froud
+Brian K. Vaughan
+Brian Kesinger
+Brian M. Viveros
+Brian Mashburn
+Brian Oldham
+Brian Stelfreeze
+Brian Sum
+Briana Mora
+Brice Marden
+Bridget Bate Tichenor
+Bridget Riley
+Briton Rivière
+Brooke DiDonato
+Brooke Shaden
+Brothers Grimm
+Brothers Hildebrandt
+Bruce Coville
+Bruce Munro
+Bruce Nauman
+Bruce Pennington
+Bruce Timm
+Bruno Catalano
+Bruno Munari
+Bruno Walpoth
+Bryan Hitch
+Burt Glinn
+Butcher Billy
+C. R. W. Nevinson
+CFA Voysey
+Cagnaccio Di San Pietro
+Cai Guo-Qiang
+Callie Fink
+Camille Claudel
+Camille Corot
+Camille Pissarro
+Camille Vivier
+Camille Walala
+Camille-Pierre Pambu Bodo
+Canaletto
+Candido Portinari
+Caras Ionut
+Carel Willink
+Carl Barks
+Carl Eugen Keel
+Carl Gustav Carus
+Carl Holsoe
+Carl Kleiner
+Carl Larsson
+Carl Moll
+Carl Rungius
+Carl Spitzweg
+Carlo Bocchio
+Carlo Crivelli
+Carlo Dolci
+Carlo Scarpa
+Carlos Cruz-Diez
+Carlos Schwabe
+Carmen Saldana
+Carne Griffiths
+Carolina Herrera
+Carolyn Blish
+Carrie Ann Baade
+Carrie Graber
+Carrie Mae Weems
+Carson Grubaugh
+Carsten Holler
+Carsten Meyerdierks
+Casey Baugh
+Casey Childs
+Casey Weldon
+Caspar David Friedrich
+Cassius Marcellus Coolidge
+Catherine Hyde
+Catherine Nolin
+Cathy Wilkes
+Catrin Welz-Stein
+Cecil Beaton
+Cecilia Beaux
+Cecily Brown
+Cedric Peyravernay
+Cedric Seaut
+Cerith Wyn Evans
+Chad Knight
+Chantal Joffe
+Charles Addams
+Charles Angrand
+Charles Blackman
+Charles Burns
+Charles Camoin
+Charles Courtney Curran
+Charles Dana Gibson
+Charles Demuth
+Charles Dwyer
+Charles E. Burchfield
+Charles Ellison
+Charles Filiger
+Charles Ginner
+Charles Gwathmey
+Charles Le Brun
+Charles Liu
+Charles Maurice Detmold
+Charles Mellin
+Charles Philipon
+Charles Reiffel
+Charles Rennie Mackintosh
+Charles Robinson
+Charles Schridde
+Charles Schulz
+Charles Sheeler
+Charles Spencelayh
+Charles Tunnicliffe
+Charles Vess
+Charles Victor Thirion
+Charles White
+Charles Willson Peale
+Charles Wysocki
+Charles-Amable Lenoir
+Charles-Francois Daubigny
+Charley Harper
+Charlie Bowater
+Charline von Heyl
+Charly Amani
+Chase Stone
+Chaïm Soutine
+Chen Zhen
+Chesley Bonestell
+Chie Yoshii
+Chiharu Shiota
+Chiho Aoshima
+Childe Hassam
+Ching Yeh
+Chip Zdarsky
+Chris Bachalo
+Chris Claremont
+Chris Cold
+Chris Cunningham
+Chris Dyer
+Chris Foss
+Chris Friel
+Chris LaBrooy
+Chris Leib
+Chris Mars
+Chris Moore
+Chris Ofili
+Chris Riddell
+Chris Samnee
+Chris Saunders
+Chris Turnham
+Chris Uminga
+Chris Van Allsburg
+Chris Ware
+Christian Boltanski
+Christian Dimitrov
+Christian Grajewski
+Christian Griepenkerl
+Christian Schad
+Christian Schloe
+Christian Wilhelm Allers
+Christine Ellger
+Christoffer Relander
+Christophe Jacrot
+Christophe Staelens
+Christophe Vacher
+Christopher Balaskas
+Christopher Jin Baron
+Christopher Ryan McKenney
+Christopher Wool
+Chuah Thean Teng
+Chuanxing Zeng
+Chuck Close
+Chung Shek
+Cicely Mary Barker
+Cildo Meireles
+Cindy Sherman
+Claes Oldenburg
+Claire Hummel
+Clara Ledesma
+Clara Miller Burd
+Clara Peeters
+Clarence Gagnon
+Clarence Holbrook Carter
+Claude Cahun
+Claude Lefèbvre
+Claude Lorrain
+Claude Melan
+Claude Monet
+Claudia Tremblay
+Clay Mann
+Clayton Crain
+Clemens Ascher
+Cleon Peterson
+Cliff Chiang
+Clifford Coffin
+Clint Cearley
+Clive Barker
+Clive Madgwick
+Clovis Trouille
+Clyde Caldwell
+Clyfford Still
+Coby Whitmore
+Coles Phillips
+Colin Campbell Cooper
+Colin Elder
+Colin Geller
+Collin Elder
+Conor Harrington
+Conrad Felixmüller
+Conrad Roset
+Conrad Shawcross
+Constant Permeke
+Constantin Brancusi
+Constantin Joffe
+Cornelia Parker
+Cornelis Springer
+Cory Arcangel
+Cory Loftis
+Costa Dvorezky
+Craig Davison
+Craig McCracken
+Craig Mullins
+Craig Thompson
+Craig Wylie
+Craigie Aitchison
+Craola
+Cuno Amiet
+Cyril Pontet
+Cyril Rolando
+Daan Roosegaarde
+Daido Moriyama
+Dain Yoon
+Dale Chihuly
+Damien Hirst
+Dan Colen
+Dan Flavin
+Dan Hillier
+Dan Kelby
+Dan Matutina
+Dan McPharlin
+Dan Mumford
+Dan Piraro
+Dan Witz
+Dana Schutz
+Danh Víµ
+Danh Vō
+Daniel Arsham
+Daniel Buren
+Daniel Clowes
+Daniel F. Gerhartz
+Daniel Garber
+Daniel Jaems
+Daniel Libeskind
+Daniel Lieske
+Daniel Merriam
+Daniel Ridgway Knight
+Daniela Uhlig
+Daniele Afferni
+Danielle Eckhardt
+Danny Flynn
+Danny Lyon
+Danny Roberts
+Dante Gabriel Rossetti
+Dao Le Trong
+Darek Zabrocki
+Daria Endresen
+Dariusz Klimczak
+Dariusz Zawadzki
+Darren Bacon
+Darwyn Cooke
+Daryl Mandryk
+Dave Coverly
+Dave Dorman
+Dave Gibbons
+Dave Heath
+Dave McKean
+Dave Rapoza
+Dave Stevens
+David A. Hardy
+David Aja
+David Alfaro Siqueiros
+David Aronson
+David B. Mattingly
+David Bailey
+David Bates
+David Bomberg
+David Bowie
+David Brayne
+David Brown Milne
+David Burdeny
+David Burliuk
+David Chipperfield
+David Choe
+David Cronenberg
+David Downton
+David Driskell
+David Finch
+David Goldblatt
+David Hammons
+David Hettinger
+David Hockney
+David Inshaw
+David LaChapelle
+David Ligare
+David Lynch
+David Malkin
+David Mann
+David McClellan
+David Michael Bowers
+David Mould
+David Nordahl
+David Normal
+David Palumbo
+David Plowden
+David Renshaw
+David Shrigley
+David Sims
+David Spriggs
+David Teniers the Younger
+David Tindle
+David Tutwiler
+David Walker
+David Welker
+David Wiesner
+David Yarrow
+Davide Sasselli
+Davide Sorrenti
+Davis Marc
+Davis Stuart
+De Es Schwertberger
+Dean Cornwell
+Dean Ellis
+Death Burger
+Debbie Criswell
+Debbie Fleming Caffery
+Deborah Azzopardi
+Deborah Turbeville
+Dee Nickerson
+Deirdre Sullivan-Beeman
+Del Kathryn Barton
+Delphin Enjolras
+Demizu Posuka
+Denis Sarazhin
+Dennis Stock
+Denys Lasdun
+Derek Boshier
+Derek Gores
+Desmond Morris
+Diane Arbus
+Diane Dillon
+Dick Bickenbach
+Didier Barra
+Didier Lourenço
+Diego Dayer
+Diego Rivera
+Diego Velázquez
+Dima Dmitriev
+Dimitra Milan
+Dimitry Roulland
+Dino Valls
+Dmitri Danish
+Dmitry Kustanovich
+Dmitry Spiros
+Dmitry Vishnevsky
+Do Ho Suh
+Dod Procter
+Dom Qwek
+Don Bergland
+Don Blanding
+Don Bluth
+Don Lawrence
+Don Maitz
+Don Northrup
+Donald Judd
+Donald Pass
+Donato Giancola
+Donna Huanca
+Dora Carrington
+Dora Maar
+Dorina Costras
+Dorothea Lange
+Dorothea Sharp
+Dorothea Tanning
+Dorothy Johnstone
+Dorothy Lathrop
+Doug Aitken
+Doug Chiang
+Douglas Smith
+Dr. Seuss
+Drew Struzan
+Duffy Sheridan
+Duncan Fegredo
+Dusan Djukaric
+Dustin Nguyen
+Duy Huynh
+E. H. Shepard
+Eadweard Muybridge
+Earl Norem
+Eastman Johnson
+Ebru Sidar
+Echo Chernik
+Ed Benedict
+Ed Binkley
+Ed Brubaker
+Ed Emshwiller
+Ed Freeman
+Ed Mell
+Ed Myers
+Ed Piskor
+Ed Roth
+Ed Valigursky
+Eddie Campbell
+Eddie Colla
+Eddie Jones
+Eddie Mendoza
+Edgar Degas
+Edgar Maxence
+Edith Rimmington
+Edmund Dulac
+Edmund Leighton
+Edmund Tarbell
+Edmundo Senatore
+Edna Reindel
+Edoardo Tresoldi
+Edogawa Ranpo
+Edouard Manet
+Edouard Riou
+Eduard Cortes
+Eduard Gaertner
+Eduard Veith
+Eduard Wiiralt
+Eduardo Kobra
+Edvard Munch
+Edward Atkinson Hornel
+Edward Bawden
+Edward Blair Wilkins
+Edward Burne-Jones
+Edward Cucuel
+Edward Gorey
+Edward Henry Potthast
+Edward Hersey
+Edward Hopper
+Edward John Poynter
+Edward Julius Detmold
+Edward Lear
+Edward Moran
+Edward Okuń
+Edward Poynter
+Edward Robert Hughes
+Edward Seago
+Edward Steichen
+Edward Wadsworth
+Edward Weston
+Edwin Austin Abbey
+Edwin Deakin
+Edwin Henry Landseer
+Edwin Lord Weeks
+Edwin Wurm
+Eero Saarinen
+Egon Schiele
+Eiichiro Oda
+Eiko Ojala
+Eileen Agar
+Eileen Gray
+Eilif Peterssen
+Einar Hákonarson
+Einer Johansen
+Ekaterina Panikanova
+El Anatsui
+El Greco
+El Lissitzky
+Elaine de Kooning
+Elba Damast
+Eleanor Fortescue-Brickdale
+Eleanor Vere Boyle
+Elena Paraskeva
+Elenore Abbott
+Elfriede Lohse-Wächtler
+Elias Ravanetti
+Elihu Vedder
+Elina Karimova
+Eliott Lilly
+Elisa Breton
+Elisabeth Sonrel
+Eliseu Visconti
+Elizabeth Catlett
+Elizabeth Gadd
+Elizabeth Shippen Green
+Elke Vogelsang
+Ellen Gallagher
+Ellen Jewett
+Ellen von Unwerth
+Elliot Lilly
+Elliott Erwitt
+Ellsworth Kelly
+Elsa Beskow
+Elsa Bleda
+Elsie Driggs
+Emek Golan
+Emerico Imre Toth
+Emerson Silva
+Emery Hawkins
+Emil Alzamora
+Emil Carlsen
+Emil Ferris
+Emil Nolde
+Emila Medková
+Emile Claus
+Emile Galle
+Emilia Wilk
+Emiliano Di Cavalcanti
+Emiliano Ponzi
+Emilio Giuseppe Dossena
+Emily Balivet
+Emily Carr
+Emily Kame Kngwarreye
+Emma Geary
+Emma Ríos
+Emmanuel Shiu
+Emmanuel de Critz
+Emmanuelle Moureaux
+Emmy Bridgwater
+Emory Douglas
+Enki Bilal
+Enoch Bolles
+Enrique Tábara
+Ephraim Moses Lilien
+Eric Canete
+Eric Carle
+Eric Deschamps
+Eric Fischl
+Eric Ravilious
+Eric Wallis
+Eric Zener
+Erica Hopper
+Erich Heckel
+Erik Johansson
+Erik Jones
+Erin Hanson
+Erna Rosenstein
+Ernest Crichlow
+Ernest Lawson
+Ernest Meissonier
+Ernest Zacharevic
+Ernesto Neto
+Ernie Barnes
+Ernst Barlach
+Ernst Fuchs
+Ernst Haas
+Ernst Haeckel
+Ernst Ludwig Kirchner
+Ernst Wilhelm Nay
+Erol Otus
+Erwin Blumenfeld
+Esaias van de Velde
+Esao Andrews
+Esteban Vicente
+Esther Rolick
+Etel Adnan
+Ethan Van Sciver
+Etienne Hebinger
+Ettore Sottsass
+Ettore Tito
+Euan Uglow
+Eugen Bracht
+Eugene Delacroix
+Eugene Galien-Laloue
+Eugene Leroy
+Eugene Tertychnyi
+Eugene von Guerard
+Eugène Atget
+Eugène Boudin
+Eugène Girardet
+Eugène Grasset
+Eustache Le Sueur
+Eva Hesse
+Eva Rothschild
+Eva Å vankmajerová
+Eva Švankmajerová
+Eve Arnold
+Eve Ventrue
+Evelyn De Morgan
+Evelyn Dunbar
+Everett Raymond Kinstler
+Everett Shinn
+Evgeni Gordiets
+Evgeny Lushpin
+Ewald Heinrich Rübsaamen
+Ewald Rübsamen
+Eyvind Earle
+Ezra Stoller
+F Scott Hess
+Fabian Perez
+Fabio Hurtado
+Fairfield Porter
+Faith 47
+Faith Ringgold
+Fan Ho
+Fang Lijun
+Farel Dalrymple
+Fay Godwin
+Fay Helfer
+Felice Casorati
+Felicia Simion
+Felicien Rops
+Felipe Pantone
+Felix Gonzalez-Torres
+Felix Kelly
+Felix Philipp Kanitz
+Felix Vallotton
+Fenghua Zhong
+Ferdinand Hodler
+Ferdinand Keller
+Ferdinand Knab
+Ferdinand Van Kessel
+Ferdinand du Puigaudeau
+Ferenc Pinter
+Fern Isabel Coppedge
+Fernand Cormon
+Fernand Fonssagrives
+Fernand Khnopff
+Fernand Leger
+Fernand Toussaint
+Fernando Amorsolo
+Fernando Botero
+Fernando Herenu
+Ferris Plock
+Filip Hodas
+Filippino Lippi
+Filippo Balbi
+Filippo Brunelleschi
+Fintan Magee
+Firmin Baes
+Fletcher Sibthorp
+Flora Borsi
+Florence Harrison
+Florian Nicolle
+Florianne Becker
+Floris Arntzenius
+Floris Jespers
+Ford Madox Brown
+Fra Angelico
+Frances MacDonald
+Francesca Woodman
+Francesco Albani
+Francesco Borromini
+Francesco Clemente
+Francesco Guardi
+Francesco Hayez
+Francesco Solimena
+Francine Van Hove
+Francis Bacon
+Francis Coates Jones
+Francis Davis Millet
+Francis Newton Souza
+Francis Picabia
+Francisco De Goya
+Francisco Goya
+Francisco Martín
+Francisco de Zurbaran
+Franciszek Starowieyski
+Franck Tacito
+Franco Fontana
+Francois Schuiten
+Frank Auerbach
+Frank Bramley
+Frank Cadogan Cowper
+Frank Cho
+Frank Frazetta
+Frank Gehry
+Frank Holl
+Frank Lloyd Wright
+Frank McCarthy
+Frank Miller
+Frank Quitely
+Frank Stella
+Frank Thorne
+Frank Tinsley
+Frank Weston Benson
+Frank Xavier Leyendecker
+Franklin Booth
+Franklin Carmichael
+Frans Floris
+Frans Francken the Younger
+Frans Hals
+Frans Snyders
+Frantisek Kupka
+František Dvořák
+Franz Kline
+Franz Lefler
+Franz Marc
+Franz Sedlacek
+Franz Stuck
+Franz Vohwinkel
+Franz West
+Franz Xaver Winterhalter
+François Boquet
+François Boucher
+François De Nomé
+François Marcela-Froideval
+Françoise Basset
+Fred Calleri
+Fred Stein
+Fred Tomaselli
+Frederic Bazille
+Frederic Church
+Frederic Remington
+Frederick Arthur Bridgman
+Frederick Arthur Verner
+Frederick Carl Frieseke
+Frederick Cayley Robinson
+Frederick Goodall
+Frederick Judd Waugh
+Frederick Lord Leighton
+Frederick McCubbin
+Frederick Sandys
+Frida Kahlo
+Friedensreich Hundertwasser
+Frieke Janssens
+Frits Thaulow
+Frits Van den Berghe
+Fritz Bleyl
+Fritz Henle
+Fritz Scholder
+Frédéric Fiebig
+Fujii Yoshitoyo
+Fujishima Takeji
+Fuyuko Matsui
+Félix Labisse
+Gabriel Dawe
+Gabriele Münter
+Gaetano Pesce
+Galan Pang
+Gareth Pugh
+Gary Larson
+Gaston Bussière
+Gediminas Pranckevicius
+Genndy Tartakovsky
+Geof Darrow
+Georg Jensen
+Georg Karl Pfahler
+George Ault
+George Cruikshank
+George Dionysus Ehret
+George Frederic Watts
+George French Angas
+George Grosz
+George Herriman
+George Inness
+George Lucas
+George Luks
+George Stubbs
+George Tooker
+Georges Rouault
+Georges Seurat
+Georges de La Tour
+Georgia O'Keeffe
+Gerald Brom
+Gerda Wegener
+Gerhard Munthe
+Gerhard Richter
+Gertrude Abercrombie
+Giacomo Balla
+Gianluca Foli
+Gifford Beal
+Gil Elvgren
+Gilbert Stuart
+Gilberto "Soren" Zaragoza
+Giorgio De Chirico
+Giotto Di Bondone
+Giovanni Battista Bracelli
+Giovanni Battista Gaulli
+Giovanni Battista Piranesi
+Giovanni Battista Venanzi
+Giovanni da Udina
+Giuseppe Arcimboldo
+Giuseppe de Nittis
+Gjon Mili
+Glen Orbik
+Glenn Fabry
+Gloria Stoll Karn
+Go Nagai
+Gordon Browne
+Gordon Parks
+Goro Fujita
+Grace Cossington Smith
+Grace Popp
+Grandma Moses
+Grant Wood
+Grayson Perry
+Greg Girard
+Greg Hildebrandt
+Greg Rutkowski
+Greg Simkins
+Gregory Crewdson
+Guerrilla Girls
+Guido Borelli Da Caluso
+Guido Crepax
+Guillermo del Toro
+Guo Pei
+Gustaf Tenggren
+Gustav Klimt
+Gustave Buchet
+Gustave Courbet
+Gustave Doré
+Gustave Moreau
+Gustave Van de Woestijne
+Guy Billout
+Gwen John
+Gwenda Morgan
+H. R. (Hans Ruedi) Giger
+H. R. Giger
+H.P. Lovecraft
+Haddon Sundblom
+Hajime Sorayama
+Hal Foster
+Hale Woodruff
+Hanna-Barbera
+Hannah Hoch
+Hans Arnold
+Hans Baldung
+Hans Baluschek
+Hans Bellmer
+Harold McCauley
+Haroon Mirza
+Harriet Backer
+Harry Clarke
+Hasui Kawase
+Hayao Miyazaki
+Hayv Kahraman
+Hein Gorny
+Heinrich Kley
+Heinrich Lefler
+Heinz Edelmann
+Helen Frankenthaler
+Helene Knoop
+Helene Schjerfbeck
+Helio Oiticica
+Helmut Newton
+Hendrick Avercamp
+Hendrick Cornelisz Vroom
+Hendrick Goltzius
+Hendrik Kerstens
+Henri De Toulouse Lautrec
+Henri Fantin Latour
+Henri Matisse
+Henri Rousseau
+Henri-Edmond Cross
+Henriette Grindat
+Henry Asencio
+Henry Fuseli
+Henry Moore
+Henry Moret
+Henry Ossawa Tanner
+Henry Raleigh
+Herbert List
+Herve Groussin
+Hervé Guibert
+Hethe Srodawa
+Hieronymus Bosch
+Hikari Shimoda
+Hilma AF Klint
+Hirohiko Araki
+Hiroshi Nagai
+Hiroshi Sugimoto
+Hiroshi Yoshida
+Honor C. Appleton
+Honoré Daumier
+Hope Gangloff
+Horace Vernet
+Hou China
+Howard Chandler Christy
+Howard Finster
+Howard Hodgkin
+Howard Pyle
+Hsiao-Ron Cheng
+Hubert Robert
+Hugh Ferriss
+Hugh Kretschmer
+Hundertwasser
+Hyacinthe Rigaud
+Iain Faulkner
+Ian McQue
+Ian Miller
+Ida Rentoul Outhwaite
+Igor Morski
+Igor Wolski
+Igor Zenin
+Ilya Kuvshinov
+Ilya Repin
+Incarcerated Jerkfaces
+Ingrid Baars
+Inio Asano
+Irma Stern
+Iryna Yermolova
+Isaac Cordal
+Isaac Levitan
+Ismail Inceoglu
+Issac Levitan
+Istvan Banyai
+Itō Jakuchū
+Ivan Aivazovski
+Ivan Aivazóvski
+Ivan Albright
+Ivan Bilibin
+Ivan Shishkin
+Iwan Baan
+J. J. Grandville
+J.C. Leyendecker
+J.M.W. Turner
+JC Leyendecker
+Jacek Yerka
+Jack Butler Yeats
+Jack Davis
+Jack Gaughan
+Jack Kirby
+Jackson Pollock
+Jacob Hashimoto
+Jacob Lawrence
+Jacob van Ruisdael
+Jacques Le Moyne
+Jacques Nathan-Garamond
+Jake Parker
+Jakub Rozalski
+James Abbott McNeill Whistler
+James C Christensen
+James Ensor
+James Gilleard
+James Gillray
+James Gurney
+James Jean
+James Montgomery Flagg
+James Paick
+James Stokoe
+James Thomas Watts
+James Tissot
+James Turrell
+Jamie Baldridge
+Jamie Hawkesworth
+Jamie Hewlett
+Jamie McKelvie
+Jamini Roy
+Jan Brett
+Jan Luyken
+Jan Pietersz Saenredam
+Jan Van Eyck
+Jan van Kessel the Elder
+Jane Graverol
+Jane Newland
+Janek Sedlar
+Jasmine Becket-Griffith
+Jason A. Engle
+Jason Chan
+Jason Edmiston
+Jasper Johns
+Jaume Plensa
+Jaya Suberg
+Jean Arp
+Jean Auguste Dominique Ingres
+Jean Bourdichon
+Jean Delville
+Jean Dubuffet
+Jean Fouquet
+Jean Giraud
+Jean Jullien
+Jean Marc Nattier
+Jean Metzinger
+Jean Nouvel
+Jean-Antoine Watteau
+Jean-Baptiste Monge
+Jean-François Millet
+Jean-Honoré Fragonard
+Jean-Louis Prevost
+Jean-Léon Gérôme
+Jean-Michel Basquiat
+Jean-Paul Riopelle
+Jeanloup Sieff
+Jeannette Guichard-Bunel
+Jed Henry
+Jef Wu
+Jeff Easley
+Jeff Goldblum
+Jeff Kinney
+Jeff Koons
+Jeff Legg
+Jeff Lemire
+Jeff Simpson
+Jeff Wall
+Jeffrey Catherine Jones
+Jeffrey Cruz (theCHAMBA)
+Jeffrey Smith art
+Jeffrey T. Larson
+Jenny Saville
+JennyBird Alcantara
+Jeremiah Ketner
+Jeremy Geddes
+Jeremy Lipking
+Jeremy Mann
+Jerry Pinkney
+Jerry Siegel
+Jerzy Duda-Gracz
+Jesper Ejsing
+Jessica Rossier
+Jessica Woulfe
+Jessie Willcox Smith
+Jhonen Vasquez
+Jillian Tamaki
+Jim Burns
+Jim Davis
+Jim Lee
+Jim Mahfood
+Jim Woodring
+Jimmy Ernst
+Jimmy Lawlor
+Joachim Brohm
+Joan Miró
+Joan Tuset
+Joanna Kustra
+Joao Ruas
+Joaquín Sorolla
+Joe Bowler
+Joe De Mers
+Joe Fenton
+Joe Jusko
+Joe Madureira
+Joe Webb
+Joel Meyerowitz
+Joel Sternfeld
+Joey Chou
+Johann Wolfgang von Goethe
+Johannes Itten
+Johannes Vermeer
+Johannes Voss
+Johfra Bosschart
+John Anster Fitzgerald
+John Atherton
+John Atkinson Grimshaw
+John Bauer
+John Berkey
+John Blanche
+John Bratby
+John Cassaday
+John Constable
+John Currin
+John Duncan
+John Frederick Kensett
+John French Sloan
+John Harris
+John Howe
+John Hoyland
+John James Audubon
+John Kenn Mortensen
+John La Farge
+John Lavery
+John Martin
+John Perceval
+John Philip Falter
+John Salminen
+John Singer Sargent
+John Singleton Copley
+John Stezaker
+John Totleben
+John Wayne Gacy
+John Whitcomb
+John Wilhelm
+John William Waterhouse
+Jon Klassen
+Jon McCoy
+Jon Whitcomb
+Jordan Grimmer
+Jorge Jacinto
+Josan Gonzalez
+Josef Albers
+Joseph Cornell
+Joseph Ducreux
+Joseph Lorusso
+Joseph Mallord William Turner
+Joseph Stella
+Josephine Wall
+Josh Kao
+Josh Keyes
+José Clemente Orozco
+Jovana Rikalo
+Juan Gris
+Judy Chicago
+Juergen Teller
+Jules Bastien-Lepage
+Julia Contacessi
+Julian Calle
+Juliana Huxtable
+Julie Bell
+Julie Blackmon
+Julie Mehretu
+Julien Delval
+Julius Horsthuis
+Jun Kaneko
+Junji Ito
+Justin Gerard
+Józef Mehoffer
+Kadir Nelson
+Kaethe Butcher
+Kapwani Kiwanga
+Karel Appel
+Karel Thole
+Karen Wallis
+Karl Blossfeldt
+Karl Schmidt-Rottluff
+Karol Bak
+Kasia Nowowiejska
+Kate Beaton
+Kate Greenaway
+Kathryn Morris Trotter
+Kati Horna
+Katsuhiro Otomo
+Katsushika Hokusai
+Kawanabe Kyōsai
+Kaws
+Kay Nielsen
+Kay Sage
+Kazimir Malevich
+Kazuo Koike
+Kehinde Wiley
+Keith Haring
+Keith Negley
+Keith Parkinson
+Kelly Freas
+Kelly Mckernan
+Kelly Sue Deconnick
+Kelly Vivanco
+Ken Fairclough
+Ken Kelly
+Ken Sugimori
+Kengo Kuma
+Kenne Gregoire
+Kent Monkman
+Kentaro Miura
+Kevin Gnutzmans
+Kevin Sloan
+Kieron Gillen
+Kilian Eng
+Kim Jung Gi
+Kim Keever
+Kitagawa Utamaro
+Kitty Lange Kielland
+Klaus Burgle
+Klaus Janson
+Klaus Wittmann
+Kobayashi Kiyochika
+Konstantin Korovin
+Konstantin Yuon
+Koson Ohara
+Krenz Cushart
+Kris Kuksi
+Kuang Hong
+Kunisada
+Kuno Veeber
+Kurzgesagt
+Käthe Kollwitz
+L. Birge Harrison
+Lady Pink
+Larry Elmore
+Larry Poons
+Larry Sultan
+Laurel Burch
+Laurent Grasso
+Laurie Greasley
+Laurie Lipton
+Lawren Harris
+Lee Krasner
+Lee Madgwick
+Lee Quinones
+Leiji Matsumoto
+Leon Kossoff
+Leonardo Da Vinci
+Leonetto Cappiello
+Leonid Afremov
+Leonora Carrington
+Les Edwards
+Lesley Vance
+Leticia Gillett
+Liam Wong
+Liang Mark
+Lisa Frank
+Lisa Keene
+Liu Ye
+Liubov Sergeevna Popova
+Lois van Baarle
+Loish
+Lorena Alvarez Gómez
+Lorenz Hideyoshi
+Loretta Lux
+Lori Earley
+Louis Comfort Tiffany
+Louis Glackens
+Louis Icart
+Louis Janmot
+Louis Rhead
+Louis Wain
+Louise Bourgeois
+Louise Dahl-Wolfe
+Lovis Corinth
+Luca Boni
+Lucas Cranach the Elder
+Lucian Freud
+Lucy Madox Brown
+Ludwig Mies van der Rohe
+Luis Royo
+Luisa Russo
+Lynd Ward
+Lynda Barry
+Lynda Benglis
+Lyonel Feininger
+Lyubov Popova
+László Moholy-Nagy
+M.C. Escher
+M.W. Kaluta
+Mab Graves
+Maginel Wright Enright Barney
+Magnus Enckell
+Makoto Shinkai
+Malcolm Liepke
+Man Ray
+Mandy Disher
+Mao Hamaguchi
+Marat Latypov
+Marc Chagall
+Marc Davis
+Marc Samson
+Marc Simonetti
+Marcin Jakubowski
+Marco Mazzoni
+Marcus Selmer
+Marek Okon
+Margaret Brundage
+Margaret Macdonald Mackintosh
+Margaret Mee
+Margaux Valonia
+Maria Kreyn
+Maria Pascual Alberich
+Maria Sibylla Merian
+Marianne North
+Marianne von Werefkin
+Marie Guillemine Benoist
+Marie Spartali Stillman
+Marina Abramović
+Marius Borgeaud
+Marjane Satrapi
+Mark Arian
+Mark Briscoe
+Mark Brooks
+Mark Keathley
+Mark Lovett
+Mark Rothko
+Mark Ryden
+Mark Seliger
+Marsden Hartley
+Martin Ansin
+Martin Deschambault
+Martin John Heade
+Martin Johnson Heade
+Martin Kippenberger
+Martine Johanna
+Martiros Saryan
+Mary Anning
+Mary Blair
+Mary Cassatt
+Masaaki Masamoto
+Masaaki Sasamoto
+Masamune Shirow
+Mat Collishaw
+Mati Klarwein
+Matias Hannecke
+Matt Bors
+Matt Fraction
+Matt Groening
+Matthias Grünewald
+Matthias Jung
+Matti Suuronen
+Maurice Sendak
+Max Beckmann
+Max Dupain
+Max Ernst
+Max Pechstein
+Max Weber
+Maxfield Parrish
+Maximilian Pirner
+Maximilien Luce
+Maxwell Boas
+Mead Schaeffer
+Meryl McMaster
+Michael Carson
+Michael Cheval
+Michael Deforge
+Michael Heizer
+Michael Hutter
+Michael Parkes
+Michael Sowa
+Michael Whelan
+Michal Karcz
+Michal Lisowski
+Michelangelo Buonarroti
+Michelangelo Merisi Da Caravaggio
+Mickalene Thomas
+Miho Hirano
+Mikalojus Konstantinas Ciurlionis
+Mike Campau
+Mike Deodato
+Mike Mayhew
+Mike Mignola
+Mike Winkelmann (Beeple)
+Mike Worrall
+Mikhail Larionov
+Mikhail Nesterov
+Mikhail Vrubel
+Mikko Lagerstedt
+Milo Manara
+Milton Avery
+Milton Caniff
+Milton Glaser
+Miriam Schapiro
+Moebius
+Mordecai Ardon
+Mort Kunstler
+Muxxi
+Méret Oppenheim
+NC Wyeth
+NHK Animation
+Nagel Patrick
+Nan Goldin
+Naoki Urasawa
+Naoko Takeuchi
+Naomi Okubo
+Naoto Hattori
+Natalia Goncharova
+Nathan Coley
+Nathan Wirth
+Neil Boyle
+Neil Welliver
+Nele Zirnite
+Ni Chuanjing
+Nicholas Roerich
+Nick Knight
+Nick Sharratt
+Nick Silva
+Nicola Samori
+Nicolas Delort
+Nicolas Mignard
+Nicolas de Stael
+Nikolai Ge
+Nikolina Petolas
+Noah Bradley
+Nobuyoshi Araki
+Noelle Stevenson
+Noriyoshi Ohrai
+Norman Ackroyd
+Norman Bluhm
+Norman Foster
+Norman Rockwell
+OSGEMEOS
+Octavio Ocampo
+Odd Nerdrum
+Odilon Redon
+Ogawa Kazumasa
+Ohara Koson
+Olafur Eliasson
+Oleg Oprisco
+Olga Skomorokhova
+Olivier Bonhomme
+Olivier Valsecchi
+Ollie Hoff
+Os Gemeos
+Os Gêmeos
+Osamu Tezuka
+Oscar Domínguez
+Oskar Fischinger
+Oskar Kokoschka
+Ossip Zadkine
+Otto Dix
+Otto Marseus van Schrieck
+Pablo Picasso
+Pamela Colman Smith
+Paolo Roversi
+Paolo Veronese
+Pascal Blanche
+Pascale Campion
+Patrice Murciano
+Patricia Polacco
+Patrick Brown
+Patrick Caulfield
+Patrick Dougherty
+Patrick Heron
+Patrick Woodroffe
+Paul Barson
+Paul Chadeisson
+Paul Corfield
+Paul Cézanne
+Paul Delvaux
+Paul Gauguin
+Paul Gustav Fischer
+Paul Henry
+Paul Klee
+Paul Laffoley
+Paul Lehr
+Paul Ranson
+Paul Strand
+Paul Wonner
+Paula Modersohn-Becker
+Paulus Potter
+Pawel Kuczynski
+Peter Andrew Jones
+Peter Bagge
+Peter De Seve
+Peter Doig
+Peter Elson
+Peter Gric
+Peter Holme III
+Peter Howson
+Peter Kemp
+Peter Max
+Peter Milligan
+Peter Mohrbacher
+Peter Paul Rubens
+Peter Sculthorpe
+Peter Wileman
+Peter Zumthor
+Phil Foglio
+Phil Jimenez
+Phil Koch
+Phil Noto
+Philip Guston
+Philippe Druillet
+Philippe Parreno
+Pierre Bonnard
+Pierre Puvis de Chavannes
+Pierre-Auguste Renoir
+Piet Hein Eek
+Piet Mondrian
+Pieter Aertsen
+Pieter Bruegel The Elder
+Pieter Claesz
+Pieter Jansz Saenredam
+Pieter de Hooch
+Piotr Jabłoński
+Pipilotti Rist
+Pixar
+Pixar Concept Artists
+Posuka Demizu
+Qian Xuan
+Qing Han
+Quentin Blake
+Quentin Tarantino
+Quint Buchholz
+RETNA (Marquis Lewis)
+RHADS
+ROA
+Rafael Albuquerque
+Rafał Olbiński
+Raffaello Sanizo
+Raina Telgemeier
+Raja Ravi Varma
+Ralph Horsley
+Ralph McQuarrie
+Ralph Steadman
+Ramon Casas
+Randolph Caldecott
+Raphael
+Raphael Lacoste
+Raphaelle Peale
+Ravi Zupa
+Ray Caesar
+Ray Donley
+Raymond Briggs
+Raymond Duchamp-Villon
+Raymond Leech
+Raymond Swanland
+Rayner Alencar
+Rebeca Saray
+Rebecca Guay
+Rebecca Louise Law
+Rebecca Sugar
+Reginald Marsh
+Rembrandt Van Rijn
+Remedios Varo
+Rene Laloux
+Rene Magritte
+René Lalique
+Reylia Slaby
+Rich Davies
+Richard Burlet
+Richard Corben
+Richard Dadd
+Richard Deacon
+Richard Diebenkorn
+Richard Doyle
+Richard Eurich
+Richard Hamilton
+Richard Lindner
+Richard McGuire
+Richard Misrach
+Richard S. Johnson
+Richard Scarry
+Rick Guidice
+Rob Gonsalves
+Rob Liefeld
+Robby Cavanaugh
+Robert Antoine Pinchon
+Robert Chew
+Robert Childress
+Robert Crumb
+Robert Farkas
+Robert Hagan
+Robert Irwin
+Robert M Cunningham
+Robert Maguire
+Robert McCall
+Robert Mcginnis
+Robert Motherwell
+Robert Neubecker
+Robert Rauschenberg
+Robert S. Duncanson
+Robert Stivers
+Robert Vonnoh
+Robert William Hume
+Robert Williams
+Roberto Ferri
+Roberto Matta
+Roberto Parada
+Rockwell Kent
+Rodney Matthews
+Rodríguez ARS
+Roger Ballen
+Roger Dean
+Roger de La Fresnaye
+Rolf Armstrong
+Romero Britto
+Ron Mueck
+Ron Walotsky
+Ronald Balfour
+Ross Tran
+Roy Gjertson
+Roy Lichtenstein
+Roz Chast
+Ruan Jia
+Rudolf Freund
+Rufino Tamayo
+Rumiko Takahashi
+Russ Mills
+Russell Ayto
+Ruth Bernhard
+Ruxing Gao
+Ryan Hewett
+Ryan McGinley
+Ryan Stegman
+Ryohei Hase
+Sacha Goldberger
+Sailor Moon
+Sakai Hōitsu
+Sally Mann
+Salomon van Ruysdael
+Salvador Dali
+Sam Bosma
+Sam Kieth
+Sam Spratt
+Samuel Earp
+Samuel Melton Fisher
+Samuel and Joseph Newsom
+Sandra Chevrier
+Sandro Botticelli
+Sandy Skoglund
+Saner Edgar
+Sanford Kossin
+Sangyeob Park
+Santiago Calatrava
+Santiago Caruso
+Sara Wollfalk
+Sarah Lucas
+Satoshi Kon
+Saturno Butto
+Saul Bass
+Saul Steinberg
+Saul Tepper
+Scarlett Hooft Graafland
+Scott Brundage
+Scott Listfield
+Scott Naismith
+Sean Scully
+Sean Yoro
+Seb Mckinnon
+Sebastian Errazuriz
+Serge Birault
+Serge Marshennikov
+Shaddy Safadi
+Shaun Tan
+Shawn Coss
+Sheilah Beckett
+Shepard Fairey
+Sherree Valentine Daines
+Shin Jeongho
+Shinji Aramaki
+Shintaro Kago
+Shohei Otomo
+Shotaro Ishinomori
+Shusei Nagaoko
+Sidney Nolan
+Silvestro Lega
+Simeon Solomon
+Simon Birch
+Simon Bisley
+Simon Stalenhag
+Simone Martini
+Sir James Guthrie
+Siya Oum
+Skottie Young
+Slim Aarons
+Sofonisba Anguissola
+Sonia Delaunay
+Sou Fujimoto
+Sparth
+Squeak Carnwath
+Stan And Jan Berenstain
+Stan Lee
+Stanislav Poltavsky
+Stanisław Szukalski
+Stanley Donwood
+Stephan Martiniere
+Stephen Gammell
+Stephen Oakley
+Stephen Shore
+Stevan Dohanos
+Steve Argyle
+Steve Dillon
+Steve Ditko
+Steve Henderson
+Steve Lieber
+Steve McCurry
+Steven Belledin
+Storm Thorgerson
+Stuart Davis
+Stuart Haygarth
+Stuart Immonen
+Studio Ghibli
+Sue Bryce
+Susan Luo
+Susan Seddon Boulet
+Sven Nordqvist
+Syd Mead
+Sydney Edmunds
+Sydney Prior Hall
+Tadao Ando
+Taiyō Matsumoto
+Takashi Murakami
+Takato Yamamoto
+Takeshi Obata
+Tamara Lempicka
+Tan Zhi Hui
+Tara McPherson
+Tari Márk Dávid
+Tatsuro Kiuchi
+Ted Nasmith
+Ted Wallace
+Teophilus Tetteh
+Terada Katsuya
+Teresa Ramos
+Terry Oakes
+Terry Redlin
+Tex Avery
+Theo van Rysselberghe
+Thomas Allom
+Thomas Benjamin Kennington
+Thomas Blackshear
+Thomas Cole
+Thomas Dodd
+Thomas Eakins
+Thomas Gainsborough
+Thomas Kinkade
+Thomas Moran
+Thomas Rowlandson
+Thomas Saliot
+Thomas Struth
+Thomas Visscher
+Thomas W Schaller
+Thornton Oakley
+Théodore Géricault
+Tibor Nagy
+Till Freitag
+Tim Burton
+Tim Doyle
+Tim Hildebrandt
+Tim White
+Tintoretto
+Titian
+Todd McFarlane
+Todd Schorr
+Toei Animations
+Tokujin Yoshioka
+Tom Bagshaw
+Tom Hammick
+Tom Lovell
+Tom Roberts
+Tom Thomson
+Tom Whalen
+Tomasz Alen Kopera
+Tomer Hanuka
+Tomi Ungerer
+Tomma Abts
+Tomokazu Matsuyama
+Tony DiTerlizzi
+Tony Moore
+Toshiharu Mizutani
+Toumas Korpi
+Tove Jansson
+Tracey Emin
+Travis Louie
+Tristan Eaton
+Tsutomu Nihei
+Tyler Edlin
+Tyler Shields
+Tyler West
+Ub Iwerks
+Uemura Shoen
+Ul Di Rico
+Umberto Boccioni
+Utagawa Hiroshige
+Valerie Hegarty
+Vhils
+Victo Ngai
+Victor Adame Minguez
+Victor Brauner
+Victor Medina
+Victor Moscoso
+Victor Nizovtsev
+Victor Vasarely
+Victoria Crowe
+Viktor Vasnetsov
+Viktoria Gavrilenko
+Vincent Di Fate
+Vincent Tanguay
+Vincent Van Gogh
+Virgil Finlay
+Vito Acconci
+Vittorio Matteo Corcos
+Vivian Maier
+Viviane Sassen
+Vivienne Westwood
+Vladimir Kush
+W. Heath Robinson
+W.W. Denslow
+Wadim Kashin
+Walt Disney
+Walt Kelly
+Walter Crane
+Walter Kim
+Walter Langley
+Walter Percy Day
+Wangechi Mutu
+Warren Ellis
+Warwick Globe
+Wassily Kandinsky
+Wayne Barlowe
+Wendy Froud
+Wes Anderson
+Wilfredo Lam
+Will Barnet
+Will Eisner
+Willem de Kooning
+Willem van Haecht
+William Blake
+William Eggleston
+William Etty
+William Gropper
+William Henry Hunt
+William Hogarth
+William Holman Hunt
+William Kentridge
+William Morris
+William S. Burroughs
+William Steig
+William Stout
+William Wegman
+William Zorach
+William-Adolphe Bouguereau
+Wim Crouwel
+Wim Wenders
+Winslow Homer
+Winsor McCay
+Wojciech Ostrycharz
+Wolf Kahn
+Wolfgang Tillmans
+Worthington Whittredge
+Yaacov Agam
+Yang Jialun
+Yanjun Cheng
+Yasuo Kuniyoshi
+Yasushi Nirasawa
+Yasutomo Oka
+Yayi Morales
+Yayoi Kusama
+Yiannis Moralis
+Yinka Shonibare
+Yohann Schepacz
+Yoji Shinkawa
+Yoshitaka Amano
+Yoshiyuki Tomino
+Yue Minjun
+Yuri Ivanovich Pimenov
+Yuumei
+Yves Klein
+Yves Tanguy
+Zack Snyder
+Zaha Hadid
+Zanele Muholi
+Zdzisław Beksiński
+Zeen Chin
+Zhang Kechun
+Zhelong Xu
+Zhichao Cai
+Zinaida Serebriakova
+teamLab
+theCHAMBA
+tokyogenso
+Édouard Manet
+Édouard Riou
+Édouard Vuillard
+Élisabeth Vigée Le Brun
+Élisabeth-Louise Vigée-Le Brun
+Émile Bernard
+Émile Gallé
+Étienne Adolphe Piot
+Étienne Maurice Falconet
+Étienne-Louis Boullée
+Étienne-Maurice Falconet
+Óscar Domínguez
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-body/body-fit.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-body/body-fit.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a433665fb9859cb249c60a5c38b1838766759ac6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-body/body-fit.txt
@@ -0,0 +1,54 @@
+Herculean
+active
+athletic
+beefy
+brawny
+built
+bullish
+bullnecked
+burly
+defined
+dense
+developed
+durable
+firm
+fit
+hale
+hard
+hardy
+healthy
+hulking
+hunky
+husky
+in shape
+limber
+lusty
+meaty
+mesomorphic
+mighty
+muscle-bound
+muscular
+nimble
+pliant
+powerful
+powerfully built
+resilient
+ripped
+robust
+rugged
+shipshape
+shredded
+sinewy
+solid
+sound
+stalwart [dated]
+strapping
+strong
+sturdy
+substantial
+supple
+taut
+toned
+tough
+vigorous
+well-built
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-body/body-heavy.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-body/body-heavy.txt
new file mode 100644
index 0000000000000000000000000000000000000000..94eb1b217dd176b2616b363ef24c34a909c01606
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-body/body-heavy.txt
@@ -0,0 +1,65 @@
+Humpty Dumptyish
+ample
+baggy
+baggy-figured
+beer-bellied
+big-bellied
+big-boned
+bloated
+blubbery
+broad
+bulging
+bulky
+chubby
+chunky
+corpulent
+cumbersome
+curvaceous
+dimpled
+doughy
+dumpy
+elephantine
+fat
+fatso
+flabby
+fleshy
+full-figured
+generously padded
+generously proportioned
+gross
+heavily built
+heavy
+heavy-set
+hefty
+large
+large-boned
+matronly
+obese
+overheavy
+overweight
+paunchy
+plump
+podgy
+ponderous
+porky
+portly
+potbellied
+pudgy
+puffy
+roly-poly
+sloppy
+squat
+stocky
+stout
+sumoesque
+swollen
+thick
+thickset
+tubby
+ungainly
+unwieldly
+weighty
+well-fed
+well-padded
+well-rounded
+wide
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-body/body-light.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-body/body-light.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7993382804de0637bfa39f96b605c371104270bf
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-body/body-light.txt
@@ -0,0 +1,42 @@
+aerodynamic
+angular
+beanstalk
+bony
+delicate
+fine-boned
+gangly
+lank
+lanky
+lean
+lissome
+lithe
+meager of body
+narrow
+rawboned
+scraggy
+scrawny
+sinuous
+skeletal
+skin-and-bone
+skinny
+sleek
+slender
+slight
+slightly-built
+slim
+small-boned
+spare
+spindly
+spiny
+streamlined
+stringy
+svelte
+sylphlike
+thin
+trim
+underdeveloped
+underweight
+waif-like
+willowy
+wiry
+wispy
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-body/body-poor.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-body/body-poor.txt
new file mode 100644
index 0000000000000000000000000000000000000000..bf04d5dc26399d8faf102ce76bb40c24a3765f3c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-body/body-poor.txt
@@ -0,0 +1,56 @@
+ailing
+anorexic
+atrophied
+battered
+beat-up
+brittle
+broken
+bruised
+burnt
+cadaverous
+careworn
+crippled
+crooked
+crumbling
+decomposed
+decrepit
+deformed
+degenerating
+deteriorating
+dilapidated
+emaciated
+etiolated
+feeble
+feverish
+flimsy
+fragile
+frail
+frangible
+gaunt
+haggard
+half-starved
+infirm
+insubstantial
+lethargic
+maimed
+malnourished
+mangled
+neglected
+out-of-shape
+puny
+ramshackle
+rickety
+ropy
+rotting
+runty
+scalded
+sickly
+starved
+underfed
+undernourished
+vulnerable
+wasted
+weak
+weedy
+withered
+worn-out
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-body/body-shape.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-body/body-shape.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5abdb432ff622a1a5f03a6a20a00e157aaa28ed4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-body/body-shape.txt
@@ -0,0 +1,32 @@
+barrel-chested
+barrelesque
+blocky
+boobylicious
+bootylicious
+broad-shouldered
+bulbous
+cylindrical
+ectomorphic
+endomorphic
+flat
+hourglass-shaped
+inverted-triangular
+limp
+mesomorphic
+pear-shaped
+pumpkinesque
+pyramidal
+rectangular
+rotund
+round
+serpentine
+shapeless
+shapely
+small-waisted
+spherical
+spidery
+square
+thick-waisted
+top-heavy
+triangular
+wasp-waisted
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-body/body-short.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-body/body-short.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b2f6b8ca76974f398875ddab4e3a642f520acbf4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-body/body-short.txt
@@ -0,0 +1,45 @@
+Lilliputian
+belly-button-high
+bijou
+compact
+dainty
+diminutive
+dwarfish
+eensy
+elfin
+gnomish
+itsy-bitsy
+itty-bitty
+knee-high
+knee-high to a pygmy
+knee-high to a wastebasket
+little
+low-slung
+midget
+mini
+miniature
+packed-down
+peewee
+petite
+pint-sized
+pocket-sized
+puny
+pygmy
+runty
+sawed-off
+shoulder-high
+shrimpy
+shriveled
+shrunken
+small
+small in stature
+small-scale
+stubby
+stunted
+teeny
+teeny-weeny
+tiny
+undersized
+vertically challenged
+waist-high
+wee
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-body/body-tall.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-body/body-tall.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4c868af82bfadc717bc8a2e9dfe14eb7e4ec864f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-body/body-tall.txt
@@ -0,0 +1,32 @@
+Goliath
+big
+biggish
+colossal
+gangling
+gargantuan
+giant
+gigantic
+ginormous
+huge
+humongous
+immense
+jumbo
+king-sized
+large
+leggy
+lofty
+long-shanked
+longish
+mammoth
+massive
+mountain-high
+of great stature
+rangy
+redwood-high
+sizable
+sky-high
+skyscraperesque
+statuesque
+stripper-pole-ific
+towering
+whopping
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-camera/camera-manu.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-camera/camera-manu.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8e0aa8f71b6f5441ff387af9a9a54090962d9bf0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-camera/camera-manu.txt
@@ -0,0 +1,10 @@
+Canon
+Fujifilm
+Hasselblad
+Kodak
+Leica
+Nikon
+Olympus
+Panasonic
+Pentax
+Sony
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-camera/camera.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-camera/camera.txt
new file mode 100644
index 0000000000000000000000000000000000000000..136f4aa79cbf9dc53338c0baf141dba385de9103
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-camera/camera.txt
@@ -0,0 +1,73 @@
+Canon A2/A2e Camera
+Canon AE-1 Camera
+Canon EOS 5D Mark IV DSLR Camera
+Canon EOS 5D Mark IV DSLR Camera
+Canon EOS 90D DSLR Camera
+Canon EOS M50 Mark II Mirrorless Camera
+Canon EOS M6 Mark II Mirrorless Camera
+Canon EOS R Mirrorless Camera
+Canon EOS R5 Mirrorless Camera
+Canon EOS R6 Mirrorless Camera
+Canon EOS R6 Mirrorless Camera
+Canon EOS RP Mirrorless Camera
+Canon EOS Rebel T7 DSLR Camera
+Canon EOS Rebel T7 DSLR Camera
+Canon EOS Rebel T8i DSLR Camera
+Canon G III QL17 Camera
+Contax G1/G2 Camera
+Fujifilm X-H2S Mirrorless Camera
+Fujifilm X-S10 Mirrorless Camera
+Fujifilm X-T30 II Mirrorless Camera
+Fujifilm X-T4 Mirrorless Camera
+Graflex Century Graphic 2×3 Camera
+Hasselblad 500C Camera
+Horseman 4×5 (45HD) Camera
+Kodak 35 Camera
+Kodak 616 Junior Camera
+Kodak No 3A Folding Pocket Camera
+Kodak PIXPRO AZ241 16.15MP Digital Camera
+Kodak PIXPRO AZ252 16.15MP Digital Camera
+Kodak PIXPRO AZ401 16MP Digital Camera
+Kodak PIXPRO FZ152 16MP Digital Camera
+Kodak PIXPRO FZ43 16MP Digital Camera
+Kodak Smile 10MP Digital Camera
+Konica Hexar AF Camera
+Leica M3 Double Stroke Camera
+Leica M6 Camera
+Lubitel 2
+Mamiya 7 II Camera
+Nikon D3500 DSLR Camera
+Nikon D7500 DSLR Camera
+Nikon D850 DSLR Camera
+Nikon F2 Camera
+Nikon FE Camera
+Nikon L35AF Camera
+Nikon Z fc Mirrorless Camera
+Nikon Z5 Mirrorless Camera
+Nikon Z6 II Mirrorless Camera
+Nikon Z7 II Mirrorless Camera
+Olympus OM-1 Camera
+Olympus XA2 Camera
+Panasonic Lumix G7 Mirrorless Camera
+Panasonic Lumix GH5 II Mirrorless Camera
+Panasonic Lumix GH6 Mirrorless Camera
+Pentacon Six TL Camera
+Pentax 67 Camera
+Pentax K1000 Camera
+Plaubel Makina W67 Camera
+Polaroid SX-70 Alpha Camera
+Sony ZV-E10 Mirrorless Camera
+Sony a6100 Mirrorless Camera
+Sony a6400 Mirrorless Camera
+Sony a6600 Mirrorless Camera
+Sony a6600 Mirrorless Camera
+Sony a7 III Mirrorless Camera
+Sony a7 IV Mirrorless Camera
+Sony a7 IV Mirrorless Camera
+Sony a7C Mirrorless Camera
+Sony a7R IV Mirrorless Camera
+Sony a7S III Mirrorless Camera
+Sony a9 II Mirrorless Camera
+Vest Pocket Autographic Kodak Camera
+Yashica T4 Camera
+Zenza Bronica ETRSi Camera
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-color/color-palette.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-color/color-palette.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9ed908571bdb90cd48341aaef887d59663bb515d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-color/color-palette.txt
@@ -0,0 +1,42 @@
+12-bit color palette
+16-bit color palette
+18-bit color palette
+24-bit color palette
+3-bit color palette
+30-bit color palette
+32-bit color palette
+4-bit color palette
+6-bit color palette
+8-bit color palette
+9-bit color palette
+Amstrad CPC color palette
+Apple II palette
+Apple IIgs color palette
+Atari 2600 color palette
+Atari ST color palette
+CGA for IBM-PC palette
+Commodore 64 palette
+Commodore Amiga OCS color palette
+Commodore Plus/4 color palette
+Commodore VIC-20 palette
+EGA for IBM PC/AT color palette
+Famicom/NES color palette
+Fujitsu FM-77 AV 40 color palette
+MSX systems color palette
+MSX2 systems color palette
+Mattel Aquarius palette
+Monochrome color palette
+NEC PC-Engine color palette
+Nintendo Game Boy Advance color palette
+Nintendo Game Boy Color palette
+Nintendo Game Boy color palette
+Sega Game Gear color palette
+Sega Genesis color palette
+Sega Master System color palette
+Sega Mega Drive color palette
+Sharp X68000 color palette
+Super Famicom/SNES color palette
+Teletext palette
+Thomson MO5 color palette
+TurboGrafx-16 color palette
+ZX Spectrum palette
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-color/color.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-color/color.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7e9917c131329ea8369df4efbf9162e9fb792b8d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-color/color.txt
@@ -0,0 +1,930 @@
+Absolute Zero
+Acid green
+Aero
+African violet
+Air superiority blue
+Alabaster
+Alice blue
+Alizarin
+Alloy orange
+Almond
+Amaranth
+Amaranth deep purple
+Amaranth pink
+Amaranth purple
+Amazon
+Amber
+Amber (SAE/ECE)
+Amethyst
+Android green
+Antique brass
+Antique bronze
+Antique fuchsia
+Antique ruby
+Antique white
+Apricot
+Aqua
+Aquamarine
+Arctic lime
+Artichoke green
+Arylide yellow
+Ash gray
+Atomic tangerine
+Aureolin
+Azure
+Azure (X11/web color)
+B'dazzled blue
+Baby blue
+Baby blue eyes
+Baby pink
+Baby powder
+Baker-Miller pink
+Banana Mania
+Barbie Pink
+Barn red
+Battleship grey
+Beau blue
+Beaver
+Beige
+Big dip o’ruby
+Bisque
+Bistre
+Bistre brown
+Bitter lemon
+Black
+Black Shadows
+Black bean
+Black coral
+Black olive
+Blanched almond
+Blast-off bronze
+Bleu de France
+Blizzard blue
+Blood red
+Blue
+Blue (Crayola)
+Blue (Munsell)
+Blue (NCS)
+Blue (Pantone)
+Blue (pigment)
+Blue bell
+Blue jeans
+Blue sapphire
+Blue yonder
+Blue-gray
+Blue-violet
+Bluetiful
+Blush
+Bole
+Bone
+Brick red
+Bright green
+Bright lilac
+Bright maroon
+Bright navy blue
+Bright yellow (Crayola)
+British racing green
+Bronze
+Brown
+Brown sugar
+Brunswick green
+Bud green
+Buff
+Burgundy
+Burlywood
+Burnished brown
+Burnt orange
+Burnt sienna
+Burnt umber
+Byzantine
+Byzantium
+Cadet
+Cadet blue
+Cadet grey
+Cadmium green
+Cadmium orange
+Cadmium red
+Cadmium yellow
+Café au lait
+Café noir
+Cambridge blue
+Camel
+Cameo pink
+Canary
+Canary yellow
+Candy apple red
+Candy pink
+Capri
+Cardinal
+Caribbean green
+Carmine
+Carmine (M&P)
+Carnation pink
+Carnelian
+Carolina blue
+Carrot orange
+Catawba
+Cedar Chest
+Celadon
+Celeste
+Celtic blue
+Cerise
+Cerulean
+Cerulean (Crayola)
+Cerulean blue
+Cerulean frost
+Champagne
+Champagne pink
+Charcoal
+Charleston green
+Charm pink
+Chartreuse (web)
+Cherry blossom pink
+Chestnut
+Chili red
+China pink
+Chinese red
+Chinese violet
+Chinese yellow
+Chocolate (traditional)
+Chocolate (web)
+Chocolate Cosmos
+Cinereous
+Cinnabar
+Cinnamon Satin
+Citrine
+Citron
+Claret
+Cobalt blue
+Coffee
+Columbia Blue
+Congo pink
+Cool grey
+Copper
+Copper (Crayola)
+Copper penny
+Copper red
+Copper rose
+Coquelicot
+Coral
+Coral pink
+Cordovan
+Corn
+Cornflower blue
+Cornsilk
+Cosmic cobalt
+Cosmic latte
+Cotton candy
+Coyote brown
+Cream
+Crimson
+Crimson (UA)
+Cultured
+Cyan
+Cyan (process)
+Cyber grape
+Cyber yellow
+Cyclamen
+Dark blue-gray
+Dark brown
+Dark byzantium
+Dark cyan
+Dark electric blue
+Dark goldenrod
+Dark green (X11)
+Dark jungle green
+Dark khaki
+Dark lava
+Dark liver
+Dark liver (horses)
+Dark magenta
+Dark olive green
+Dark orange
+Dark orchid
+Dark purple
+Dark red
+Dark salmon
+Dark sea green
+Dark sienna
+Dark sky blue
+Dark slate blue
+Dark slate gray
+Dark spring green
+Dark turquoise
+Dark violet
+Davy's grey
+Deep Space Sparkle
+Deep cerise
+Deep champagne
+Deep chestnut
+Deep jungle green
+Deep pink
+Deep saffron
+Deep sky blue
+Deep taupe
+Denim
+Denim blue
+Desert
+Desert sand
+Dim gray
+Dodger blue
+Drab
+Duke blue
+Dutch white
+Earth yellow
+Ebony
+Ecru
+Eerie black
+Eggplant
+Eggshell
+Egyptian blue
+Electric blue
+Electric indigo
+Electric lime
+Electric purple
+Electric violet
+Emerald
+Eminence
+English lavender
+English red
+English vermillion
+English violet
+Erin
+Eton blue
+Fallow
+Falu red
+Fandango
+Fandango pink
+Fawn
+Fern green
+Field drab
+Fiery rose
+Finn
+Fire engine red
+Firebrick
+Flame
+Flax
+Flirt
+Floral white
+Fluorescent blue
+Forest green (web)
+French beige
+French bistre
+French blue
+French fuchsia
+French lilac
+French lime
+French mauve
+French pink
+French raspberry
+French sky blue
+French violet
+Frostbite
+Fuchsia
+Fuchsia (Crayola)
+Fuchsia purple
+Fulvous
+Fuzzy Wuzzy
+GO green
+Gainsboro
+Gamboge
+Generic viridian
+Ghost white
+Glaucous
+Glossy grape
+Gold
+Gold (Crayola)
+Gold (metallic)
+Gold (web) (Golden)
+Gold Fusion
+Golden brown
+Golden poppy
+Golden yellow
+Goldenrod
+Gotham green
+Granite gray
+Granny Smith apple
+Gray (X11 gray)
+Gray (web)
+Green
+Green (Crayola)
+Green (Munsell)
+Green (NCS)
+Green (Pantone)
+Green (RYB)
+Green (pigment)
+Green (web)
+Green Lizard
+Green Sheen
+Green-blue
+Green-blue (Crayola)
+Green-cyan
+Green-yellow
+Green-yellow (Crayola)
+Grenadier
+Grullo
+Gunmetal
+Han blue
+Han purple
+Hansa yellow
+Harlequin
+Harvest gold
+Heat Wave
+Heliotrope
+Heliotrope gray
+Hollywood cerise
+Honeydew
+Honolulu blue
+Hooker's green
+Hot magenta
+Hot pink
+Hunter green
+Iceberg
+Icterine
+Illuminating emerald
+Imperial red
+Inchworm
+Independence
+India green
+Indian red
+Indian yellow
+Indigo
+Indigo dye
+Infrared
+International Klein Blue
+International orange (Golden Gate Bridge)
+International orange (aerospace)
+International orange (engineering)
+Iris
+Irresistible
+Isabelline
+Italian sky blue
+Ivory
+Jade
+Japanese carmine
+Japanese violet
+Jasmine
+Jazzberry jam
+Jet
+Jonquil
+June bud
+Jungle green
+KSU purple
+Kelly green
+Keppel
+Key lime
+Khaki (X11) (Light khaki)
+Khaki (web)
+Kobe
+Kobi
+Kobicha
+Kombu green
+Languid lavender
+Lapis lazuli
+Laser lemon
+Laurel green
+Lava
+Lavender (floral)
+Lavender (web)
+Lavender blue
+Lavender blush
+Lavender gray
+Lawn green
+Lemon
+Lemon chiffon
+Lemon curry
+Lemon glacier
+Lemon meringue
+Lemon yellow
+Lemon yellow (Crayola)
+Liberty
+Light French beige
+Light blue
+Light coral
+Light cornflower blue
+Light cyan
+Light goldenrod yellow
+Light gray
+Light green
+Light orange
+Light periwinkle
+Light pink
+Light salmon
+Light sea green
+Light sky blue
+Light slate gray
+Light steel blue
+Light yellow
+Lilac
+Lilac Luster
+Lime (color wheel)
+Lime (web) (X11 green)
+Lime green
+Lincoln green
+Linen
+Lion
+Liseran purpl
+Little boy blue
+Liver
+Liver (dogs)
+Liver (organ)
+Liver chestnut
+Livid
+MSU green
+Macaroni and Cheese
+Madder Lake
+Magenta
+Magenta (Crayola)
+Magenta (Pantone)
+Magenta (dye)
+Magenta (process)
+Magenta haze
+Magic mint
+Magnolia
+Mahogany
+Maize
+Maize (Crayola)
+Majorelle blue
+Malachite
+Manatee
+Mandarin
+Mango
+Mango Tango
+Mantis
+Mardi Gras
+Marigold
+Maroon (Crayola)
+Maroon (X11)
+Maroon (web)
+Mauve
+Mauve taupe
+Mauvelous
+Maximum blue
+Maximum blue green
+Maximum blue purple
+Maximum green
+Maximum green yellow
+Maximum purple
+Maximum red
+Maximum red purple
+Maximum yellow
+Maximum yellow red
+May green
+Maya blue
+Medium aquamarine
+Medium blue
+Medium candy apple red
+Medium carmine
+Medium champagne
+Medium orchid
+Medium purple
+Medium sea green
+Medium slate blue
+Medium spring green
+Medium turquoise
+Medium violet-red
+Mellow apricot
+Mellow yellow
+Melon
+Metallic Seaweed
+Metallic Sunburst
+Metallic gold
+Mexican pink
+Middle blue
+Middle blue green
+Middle blue purple
+Middle green
+Middle green yellow
+Middle grey
+Middle purple
+Middle red
+Middle red purple
+Middle yellow
+Middle yellow red
+Midnight
+Midnight blue
+Midnight green (eagle green)
+Mikado yellow
+Mimi pink
+Mindaro
+Ming
+Minion yellow
+Mint
+Mint cream
+Mint green
+Misty moss
+Misty rose
+Mode beige
+Mona Lisa
+Morning blue
+Moss green
+Mountain Meadow
+Mountbatten pink
+Mulberry
+Mulberry
+Mustard
+Myrtle green
+Mystic
+Mystic maroon
+Nadeshiko pink
+Naples yellow
+Navajo white
+Navy blue
+Navy blue (Crayola)
+Neon Carrot
+Neon blue
+Neon fuchsia
+Neon green
+Netflix red
+New York pink
+Nickel
+Non-photo blue
+Nyanza
+OU Crimson red
+Ocean Blue
+Ocean green
+Ochre
+Old burgundy
+Old gold
+Old lace
+Old lavender
+Old mauve
+Old rose
+Old silver
+Olive
+Olive green
+Olivine
+Onyx
+Opal
+Opera mauve
+Orange
+Orange (Crayola)
+Orange (Pantone)
+Orange (web)
+Orange peel
+Orange soda
+Orange-red
+Orange-red (Crayola)
+Orange-yellow
+Orange-yellow (Crayola)
+Orchid
+Orchid (Crayola)
+Orchid pink
+Outer space (Crayola)
+Outrageous Orange
+Oxblood
+Oxford blue
+Pacific blue
+Pakistan green
+Palatinate purple
+Pale Dogwood
+Pale aqua
+Pale cerulean
+Pale pink
+Pale purple (Pantone)
+Pale silver
+Pale spring bud
+Pansy purple
+Paolo Veronese green
+Papaya whip
+Paradise pink
+Parchment
+Paris Green
+Pastel pink
+Patriarch
+Paua
+Payne's grey
+Peach
+Peach (Crayola)
+Peach puff
+Pear
+Pearly purple
+Periwinkle
+Periwinkle (Crayola)
+Permanent Geranium Lake
+Persian blue
+Persian green
+Persian indigo
+Persian orange
+Persian pink
+Persian plum
+Persian red
+Persian rose
+Persimmon
+Pewter Blue
+Phlox
+Phthalo blue
+Phthalo green
+Picotee blue
+Pictorial carmine
+Piggy pink
+Pine green
+Pine tree
+Pink
+Pink (Pantone)
+Pink Sherbet
+Pink flamingo
+Pink lace
+Pink lavender
+Pistachio
+Platinum
+Plum
+Plum (web)
+Plump Purple
+Polished Pine
+Pomp and Power
+Popstar
+Portland Orange
+Powder blue
+Princeton orange
+Process yellow
+Prune
+Prussian blue
+Psychedelic purple
+Puce
+Pullman Brown (UPS Brown)
+Pumpkin
+Purple
+Purple (Munsell)
+Purple (X11)
+Purple (web)
+Purple Plum
+Purple mountain majesty
+Purple navy
+Purple pizzazz
+Purpureus
+Queen blue
+Queen pink
+Quick Silver
+Quinacridone magenta
+Radical Red
+Raisin black
+Rajah
+Raspberry
+Raspberry glace
+Raspberry rose
+Raw sienna
+Raw umber
+Razzle dazzle rose
+Razzmatazz
+Razzmic Berry
+Rebecca Purple
+Red
+Red (Crayola)
+Red (Munsell)
+Red (NCS)
+Red (Pantone)
+Red (RYB)
+Red (pigment)
+Red Salsa
+Red-orange
+Red-orange (Color wheel)
+Red-orange (Crayola)
+Red-purple
+Red-violet
+Red-violet (Color wheel)
+Red-violet (Crayola)
+Redwood
+Resolution blue
+Rhythm
+Rich black
+Rich black (FOGRA29)
+Rich black (FOGRA39)
+Rifle green
+Robin egg blue
+Rocket metallic
+Rojo Spanish red
+Roman silver
+Rose
+Rose Dust
+Rose Pompadour
+Rose bonbon
+Rose ebony
+Rose madder
+Rose pink
+Rose quartz
+Rose red
+Rose taupe
+Rose vale
+Rosewood
+Rosso corsa
+Rosy brown
+Royal blue (dark)
+Royal blue (light)
+Royal purple
+Royal yellow
+Ruber
+Rubine red
+Ruby
+Ruby red
+Rufous
+Russet
+Russian green
+Russian violet
+Rust
+Rusty red
+Sacramento State green
+Saddle brown
+Safety orange
+Safety orange (blaze orange)
+Safety yellow
+Saffron
+Sage
+Salmon
+Salmon pink
+Sand
+Sand dune
+Sandy brown
+Sap green
+Sapphire
+Sapphire (Crayola)
+Sapphire blue
+Satin sheen gold
+Scarlet
+Schauss pink
+School bus yellow
+Screamin' Green
+Sea green
+Sea green (Crayola)
+Seal brown
+Seance
+Seashell
+Secret
+Selective yellow
+Sepia
+Shadow
+Shadow blue
+Shamrock green
+Sheen green
+Shimmering Blush
+Shiny Shamrock
+Shocking pink
+Shocking pink (Crayola)
+Sienna
+Silver
+Silver (Crayola)
+Silver (Metallic)
+Silver chalice
+Silver pink
+Silver sand
+Sinopia
+Sizzling Red
+Sizzling Sunrise
+Skobeloff
+Sky blue
+Sky blue (Crayola)
+Sky magenta
+Slate blue
+Slate gray
+Slimy green
+Smitten
+Smoky black
+Snow
+Solid pink
+Sonic silver
+Space cadet
+Spanish bistre
+Spanish blue
+Spanish carmine
+Spanish gray
+Spanish green
+Spanish orange
+Spanish pink
+Spanish red
+Spanish sky blue
+Spanish violet
+Spanish viridian
+Spring Frost
+Spring bud
+Spring green
+Spring green (Crayola)
+St. Patrick's blue
+Star command blue
+Steel Teal
+Steel blue
+Steel pink
+Stil de grain yellow
+Straw
+Strawberry
+Strawberry Blonde
+Sugar Plum
+Sunglow
+Sunray
+Sunset
+Super pink
+Sweet Brown
+Syracuse Orange
+Tan
+Tan (Crayola)
+Tangerine
+Tango pink
+Tart Orange
+Taupe
+Taupe gray
+Tea green
+Tea rose
+Teal
+Teal blue
+Telemagenta
+Tenné (tawny)
+Terra cotta
+Thistle
+Thulian pink
+Tickle Me Pink
+Tiffany Blue
+Timberwolf
+Titanium yellow
+Tomato
+Tourmaline
+Tropical rainforest
+True Blue
+Trypan Blue
+Tufts blue
+Tumbleweed
+Turquoise
+Turquoise blue
+Turquoise green
+Turtle green
+Tuscan
+Tuscan brown
+Tuscan red
+Tuscan tan
+Tuscany
+Twilight lavender
+Tyrian purple
+UA blue
+UA red
+UP Forest green
+UP maroon
+USAFA blue
+Ultra pink
+Ultra red
+Ultramarine
+Ultramarine blue
+Umber
+Unbleached silk
+United Nations blue
+University of Pennsylvania red
+Unmellow yellow
+Upsdell red
+Uranian blue
+Van Dyke brown
+Vanilla
+Vanilla ice
+Vegas gold
+Venetian red
+Verdigris
+Vermilion
+Vermilion
+Veronica
+Violet
+Violet (RYB)
+Violet (color wheel)
+Violet (crayola)
+Violet (web)
+Violet-blue
+Violet-blue (Crayola)
+Violet-red
+Violet-red (PerBang)
+Viridian
+Viridian green
+Vivid burgundy
+Vivid sky blue
+Vivid tangerine
+Vivid violet
+Volt
+Warm black
+Weezy Blue
+Wheat
+White
+Wild Strawberry
+Wild blue yonder
+Wild orchid
+Wild watermelon
+Windsor tan
+Wine
+Wine dregs
+Winter Sky
+Wintergreen Dream
+Wisteria
+Wood brown
+Xanadu
+Xanthic
+Xanthous
+YInMn Blue
+Yale Blue
+Yellow
+Yellow (Crayola)
+Yellow (Munsell)
+Yellow (NCS)
+Yellow (Pantone)
+Yellow (RYB)
+Yellow (process)
+Yellow Orange
+Yellow Orange (Color Wheel)
+Yellow Sunshine
+Yellow-green
+Yellow-green (Color Wheel)
+Yellow-green (Crayola)
+Zaffre
+Zomp
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-cosmic/cosmic-galaxy.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-cosmic/cosmic-galaxy.txt
new file mode 100644
index 0000000000000000000000000000000000000000..140c2a6f37f78bece3bd32e8087851544d4afe0d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-cosmic/cosmic-galaxy.txt
@@ -0,0 +1,49 @@
+Abell Galaxy
+Alcyoneus Galaxy
+Andromeda Galaxy
+Antennae Galaxies
+Antila 2 galaxy
+Backward Galaxy
+Black Eye Galaxy
+Bode's Galaxy
+Butterfly Galaxies
+Canes Venatici I galaxy
+Canis Major Dwarf Galaxy
+Cartwheel Galaxy
+Cigar Galaxy
+Circinus Galaxy
+Coma Pinwheel Galaxy
+Comet Galaxy
+Condor Galaxy
+Condor Galaxy
+Cosmos Redshift 7 Galaxy
+Crater II galaxy
+Draco Dwarf Galaxy
+Eye of Sauron Galaxy
+Fireworks Galaxy
+Hercules A Galaxy
+Hoag's Object
+Hockey Stick Galaxies
+Large Magellanic Cloud
+Lindsay-Shapley Ring
+Little Sombrero Galaxy
+Malin 1 Galaxy
+Mayall's Object
+Medusa Merger Galaxy
+Mice Galaxies
+Milky Way
+Needle Galaxy
+Pinwheel Galaxy
+Sculptor Dwarf Galaxy
+Sculptor Galaxy
+Sculptor Galaxy
+Small Magellanic Cloud
+Sombrero Galaxy
+Southern Pinwheel Galaxy
+Sunflower Galaxy
+Tadpole Galaxy
+Triangulum Galaxy
+Ursa Major I Dwarf Galaxy
+Ursa Minor Galaxy
+Whirlpool Galaxy
+Wolf-Lundmark-Melotte
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-cosmic/cosmic-nebula.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-cosmic/cosmic-nebula.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8bdb44645bd909a8b673a724694ac26bac113196
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-cosmic/cosmic-nebula.txt
@@ -0,0 +1,96 @@
+Ant Nebula
+Barnards Loop Nebula
+Blue Flash Nebula
+Blue Snowball Nebula
+Boomerang Nebula
+Bow-Tie Nebula
+Box Nebula
+Bubble Nebula
+Bug Nebula
+Butterfly Nebula
+Calabash Nebula
+California Nebula
+Canis Major Overdenisty Nebula
+Carina Nebula
+Cats Eye Nebula
+Cave Nebula
+Cleopatras Eye
+Clown-faced Nebula
+Coalsack Nebula
+Cone Nebula
+Cotton Candy Nebula
+Crescent Nebula
+Dandelion Puffball Nebula
+Double Helix Nebula
+Dragonfish nebula
+Eagle Nebula
+Egg Nebula
+Eight-burst Nebula
+Elephants Trunk Nebula
+Engraved Hourglass Nebula
+Eta Carinae Nebula
+Eye of Sauron Nebula
+Fetus Nebula
+Flame Nebula
+Fleming Nebula
+Footprint Nebula
+Frosty Leo Nebula
+Ghost Head Nebula
+Ghost of Jupiter Nebula
+Gum Nebula
+Heart Nebula
+Helix Nebula
+Homunculus Nebula
+Horsehead Nebula
+Jones-Emberson 1 Nebula
+LL pegasi nebula
+Lagoon Nebula
+Large Magellanic Cloud
+Lemon Slice Nebula
+Little Dumbbell Nebula
+Little Gem Nebula
+Little Ghost Nebula
+M1-92 Nebula
+Medusa Nebula
+Messier 43 Nebula
+Messier 78 Nebula
+Minkowskis Butterfly Nebula
+NGC 604 Nebula
+North America Nebula
+Omega Nebula
+Orion Nebula
+Owl Nebula
+Oyster Nebula
+Pacman Nabula
+Phantom Streak Nebula
+Pistol Nebula
+Prawn Nebula
+RCW 49 nebula
+Red Rectangle Nebula
+Red Spider Nebula
+Reflection Nebula
+Retina Nebula
+Ring Nebula
+Robins Egg Nebula
+Rosette Nebula
+Running Chicken Nebula
+Saturn Nebula
+Serepns-Aquila Rift Nebula
+Skull Nebula
+Soap Bubble Nebula
+Soccer Ball Nebula
+Soul Nebula
+Southern Crab Nebula
+Southern Owl Nebula
+Spare-Tyre Nebula
+Spiral Planetary Nebula
+Stingray Nebula
+Tarantula Nebula
+Tarantula Nebula
+The Box Nebula
+Trifid Nebula
+Twin Jet Nebula
+Veil Nebula
+Water lily nebula
+Westbrook nebula
+Witch Head Neabula
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-cosmic/cosmic-star.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-cosmic/cosmic-star.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9454015d96bb03ee83907b0edc7554b2e4faf7da
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-cosmic/cosmic-star.txt
@@ -0,0 +1,88 @@
+Achernar Star
+Acrab Star
+Acrux Star
+Adhara Star
+Aldebaran Star
+Algieba Star
+Algol Star
+Alhena Star
+Alioth Star
+Aljanah Star
+Alkaid Star
+Almach Star
+Alnair Star
+Alnilam Star
+Alnitak Star
+Alphard Star
+Alphecca Star
+Alpheratz Star
+Alsephina Star
+Altair Star
+Aludra Star
+Ankaa Star
+Antares Star
+Arcturus Star
+Aspidiske Star
+Atria Star
+Avior Star
+Bellatrix Star
+Betelgeuse Star
+Canopus Star
+Capella Star
+Castor Star
+Deneb Star
+Denebola Star
+Diphda Star
+Dschubba Star
+Dubhe Star
+Elnath Star
+Eltanin Star
+Enif Star
+Fomalhaut Star
+Gacrux Star
+Gamma Velorum Star
+Hadar Star
+Hamal Star
+Izar Star
+Kaus Australis Star
+Kochab Star
+Larawag Star
+Markab Star
+Markeb Star
+Menkalinan Star
+Menkent Star
+Merak Star
+Miaplacidus Star
+Mimosa Star
+Mintaka Star
+Mirach Star
+Mirfak Star
+Mirzam Star
+Mizar Star
+Muhlifain Star
+Naos Star
+Nunki Star
+Peacock Star
+Phecda Star
+Polaris Star
+Pollux Star
+Procyon Star
+Rasalhague Star
+Regulus Star
+Rigel Star
+Rigil Kentaurus Star
+Sabik Star
+Sadr Star
+Saiph Star
+Sargas Star
+Scheat Star
+Schedar Star
+Shaula Star
+Sirius Star
+Sol Star
+Spica Star
+Suhail Star
+Tiaki Star
+Toliman Star
+Vega Star
+Wezen Star
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-cosmic/cosmic-terms.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-cosmic/cosmic-terms.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5c91f6c2229112ad639d1243f62a7514064ec9fb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-cosmic/cosmic-terms.txt
@@ -0,0 +1,152 @@
+Asteroid
+Asteroid Belt
+Asteroid Field
+Asteroids
+Astronaut
+Atmosphere
+Background Radiation
+Big Bang Theory
+Binary Star
+Binary Star System
+Binary System
+Black Body
+Celestial
+Celestial Equator
+Cislunar
+Comet
+Comets
+Corona
+Cosmic Dust
+Cosmic Radiation
+Cosmology
+Cosmonaut
+Cosmos
+Crater
+Dark Matter
+Debris Field
+Deep Space
+Dwarf Planet
+Dwarf Planets
+Elliptical Orbit
+Event Horizon
+Exoplanet
+Exoplanets
+Extragalactic
+Falling Star
+Falres
+Flare
+Flyby
+Galaxies
+Galaxy
+Gamma Ray
+Gamma Rays
+Geostationary
+Giant GRB Ring
+Gravitation
+Gravitational Lens
+Gravitational Lensing
+Gravity
+Heliosphere
+Helium
+Hubbles Law
+Hygrogen
+Hyperbolic Orbit
+Hypercompact Steller System
+Hypernova
+Ice Giant
+Inferior Planet
+Inferior Planets
+Inner Planets
+Intersteller
+Intersteller Dust
+Ionosphere
+Keplers Law
+Kuiper Belt
+Lagrange Point
+Lagrange Points
+Lens
+Light-Years Across
+Local Group
+Lunar
+Magnitude
+Mass
+Meteor
+Meteor Shower
+Meteoroid
+Meteors
+Microgravity
+Minor Planet
+Moon
+Moons
+Nebula
+Nebulas
+Neutron Star
+Neutron Stars
+Nova
+Novas
+Oort Cloud
+Orbital Eccentricity
+Orbital Inclination
+Outer Planets
+Parallax
+Perigee
+Phase
+Planet
+Planetary Nebula
+Planetary Nursery
+Planetoid
+Planetoids
+Planets
+Pulsar
+Quasar
+Quasars
+Radiant
+Rings
+Roche Limit
+Rogue Planet
+Rogue Planets
+Satellite
+Satellites
+Shooting Star
+Singularity
+Sky
+Solar
+Solar System
+Solar Systems
+Solar Wind
+Solstice
+Space Lab
+Space Station
+Spectrum
+Starlight
+Stratosphere
+Subspace
+Sunspot
+Superior Planets
+Supermassive Black Hole
+Supernova
+Supernovas
+Telemetry
+Telescope
+Terrestrial
+Total Eclipse
+Totality
+Transit
+Translunar
+Transneptunian
+Twinkling
+Umbra
+Universe
+Vacuum
+Van Allen Belt
+Variable Star
+Variable Stars
+Vernal Equinox
+Visual Magnitude
+Waning
+Waxing
+White Hole
+Wightlessness
+Wormhole
+X-Rays
+Zenith
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-fantasy/fantasy-creature.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-fantasy/fantasy-creature.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5eb4ff0bcfe34f3b32c13f7cdd3a2892056837f7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-fantasy/fantasy-creature.txt
@@ -0,0 +1,36 @@
+Centaurs
+Demon
+Dragons
+Dwarves
+Elves
+Evil Spirit
+Ghost
+Gnomes
+King
+Knight
+Magician
+Minotaur
+Pegasus
+Phoenix
+Prince
+Princess
+Queen
+Siren
+Sorceress
+Sprite
+Trolls
+Valkyrie
+Vampire
+Warlock
+Werewolf
+Wizard
+Zombie
+goblins
+gryphons
+ogres
+orcs
+phylakes
+trolls
+unicorns
+witches
+wizards
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-fantasy/fantasy-setting.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-fantasy/fantasy-setting.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c111a37fa8d5454669e8c83757a8df790c824834
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-fantasy/fantasy-setting.txt
@@ -0,0 +1,36 @@
+A dark, foreboding castle where a wicked queen reigns
+A fairytale land where magical creatures live and thrive
+A magical kingdom where everything is perfect and everyone is happy
+A tropical paradise where the sun shines brightly every day
+An enchanted forest where magical creatures and plants abound
+Atlantis: A lost city of great wisdom and power, now drowned beneath the sea
+Fairyland: A place where fairies and other magical creatures live
+Middle Earth: A vast and ancient world, home to Elves, Dwarves, Hobbits, and Wizards
+Mordor: A dark and evil land ruled by the dark lord Sauron
+Narnia: A land of talking animals and magical creatures, ruled by Aslan the lion
+Oz: A land of enchantment, where anything is possible
+Shambhala: A hidden paradise where enlightened beings live in perfect harmony
+The Castle of Shadows
+The City of Glas
+The City of Mirrors
+The Crystal Cave: A fantastical place where gemstones and crystals grow in abundance
+The Dragon's Lair: A deadly place where fearsome dragons dwell
+The Enchanted Forest
+The Forest of Mirrors: A place where reality is distorted and nothing is as it seems
+The Island of Dreams: A place where all your deepest desires come true
+The Isle of Doom
+The Isle of the Dragon
+The Kingdom of the Unicorn
+The Mountain of Fire
+The Palace of Dreams
+The Shattering Isles
+The Shrine of the Lost
+The Tower of Destiny
+The Tower of Oblivion: A stronghold where forgotten secrets and dark magic are hidden
+The Tower of Shadows
+The Vale of Shadows: A dark and foreboding valley where no sunlight ever penetrates
+The Valley of the Damned
+The Valley of the Lost
+Wonderland: A wild and fantastical place, ruled by the Queen of Hearts
+Xanadu: A magical kingdom ruled by a wise and benevolent queen
+neverland: A lost island where children can stay forever young
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-gender/gender-ext.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-gender/gender-ext.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a519fd7ee3e82963d18fed9f023b096a355a1920
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-gender/gender-ext.txt
@@ -0,0 +1,54 @@
+agender
+androgyne
+androgynous
+bigender
+boy
+cis
+cis female
+cis male
+cis man
+cis woman
+cisgender
+cisgender female
+cisgender male
+cisgender man
+cisgender woman
+female
+female to male
+ftm
+gender fluid
+gender nonconforming
+gender questioning
+gender variant
+genderqueer
+girl
+intersex
+male
+male to female
+mtf
+neither
+neutrois
+non-binary
+other
+pangender
+trans
+trans female
+trans male
+trans man
+trans person
+trans woman
+transfeminine
+transgender
+transgender female
+transgender male
+transgender man
+transgender person
+transgender woman
+transmasculine
+transsexual
+transsexual female
+transsexual male
+transsexual man
+transsexual person
+transsexual woman
+two-spirit
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-gender/gender.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-gender/gender.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e38176d84f335290651ee69eac4c5cdc21f3936b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-gender/gender.txt
@@ -0,0 +1,5 @@
+boy
+female
+girl
+male
+non-binary
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-identity/identity-adult.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-identity/identity-adult.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4a0eb954aa6157e8dfd2197b61e1347d5b3a455a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-identity/identity-adult.txt
@@ -0,0 +1,10 @@
+man
+middle-aged man
+middle-aged woman
+old man
+old woman
+older man
+older woman
+woman
+young man
+young woman
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-identity/identity-young.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-identity/identity-young.txt
new file mode 100644
index 0000000000000000000000000000000000000000..90c7bce10d5e7a53ebe7e6896954aa7fb1044d84
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-identity/identity-young.txt
@@ -0,0 +1,7 @@
+baby
+boy
+girl
+teenage boy
+teenage girl
+young boy
+young girl
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-identity/identity.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-identity/identity.txt
new file mode 100644
index 0000000000000000000000000000000000000000..cd8e4ca44adb3d28bcde0feae144b6623bc3f1cb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-identity/identity.txt
@@ -0,0 +1,17 @@
+baby
+boy
+girl
+man
+middle-aged man
+middle-aged woman
+old man
+old woman
+older man
+older woman
+teenage boy
+teenage girl
+woman
+young boy
+young girl
+young man
+young woman
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-noun/noun-beauty.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-noun/noun-beauty.txt
new file mode 100644
index 0000000000000000000000000000000000000000..69c2ad860b50335150820cdab13c3094b2181c91
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-noun/noun-beauty.txt
@@ -0,0 +1,71 @@
+a perfect 10
+a vision
+admirer
+allure
+amazement
+angel
+appeal
+appreciation
+art
+artistry
+artwork
+awe
+beautiful creature
+beauty
+charm
+charmer
+composition
+cutie pie
+dish
+doll
+dream
+dream girl
+dream guy
+dreamboat
+elegance
+enchanter
+exotic beauty
+eye candy
+eyeful
+feast for the eyes
+femininity
+fox
+glorification
+good looks
+good-looking person
+grace
+infatuation
+inner beauty
+jewel
+knockout
+longing
+look
+looker
+loveliness
+marvel
+miracle
+natural beauty
+object of desire
+objet d’art
+perfection
+purity
+rarity
+reverence
+sculpture
+sex appeal
+sex symbol
+sight
+sophistication
+stunner
+stupor
+treasure
+uncontested beauty
+universal beauty
+visual feast
+visual poetry
+visual treat
+wonder
+wonderment
+work of art
+worshiper
+wow factor
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-noun/noun-emote.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-noun/noun-emote.txt
new file mode 100644
index 0000000000000000000000000000000000000000..13b5aabcb8b10c117f91a3a3f148a03f93f61211
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-noun/noun-emote.txt
@@ -0,0 +1,61 @@
+Afraid
+Amused
+Angry
+Anxious
+Ashamed
+Bad
+Bashful
+Bored
+Cold
+Confident
+Confused
+Crazy
+Curious
+Depressed
+Determined
+Disgusted
+Ecstatic
+Embarrassed
+Enraged
+Envious
+Excited
+Frightened
+Frustrated
+Guilty
+Happy
+Hopeful
+Hot
+Hungry
+Hurt
+Indifferent
+Interested
+Jealous
+Joyful
+Lonely
+Loving
+Miserable
+Nervous
+Optimistic
+Pained
+Proud
+Puzzled
+Regretful
+Relieved
+Sad
+Scared
+Shocked
+Shy
+Sick
+Skeptical
+Sleepy
+Smug
+Sorry
+Stubborn
+Stupid
+Surprised
+Suspicious
+Thirsty
+Thoughtful
+Tired
+Withdrawn
+Worried
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-noun/noun-fantasy.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-noun/noun-fantasy.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3716e04150c34f246a1e627be783072c11704c0f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-noun/noun-fantasy.txt
@@ -0,0 +1,128 @@
+Alchemy
+Apprentice
+Archer
+Armor
+Battering Ram
+Black Ice
+Black Magic
+Breaking Point
+Burn Mark
+Candlelight
+Castle
+Castle Gate
+Castle Wall
+Contempt
+Countermeasure
+Crossroads
+Crypt
+Dark Elf
+Dark Elves
+Defender
+Dragon
+Dreaming
+Drow Elf
+Drow Elves
+Dungeon
+Dwarf
+Dwarves
+Elf
+Elves
+Energy
+Explosion
+Fang
+Figure
+Folklore
+Gems
+Gemstones
+Gentle Wind
+Goblin
+Goblins
+Gold
+Golum
+Griffin
+Ground
+Gryphon
+Guard
+Guardhouse
+Guild
+Hippogriff
+Hobbit
+Hobbits
+Imp
+Imps
+Interloper
+King
+Knight
+Knight
+Lich
+Limit
+Magic Spell
+Magical Power
+Magnetic North
+Mayhem
+Melancholy
+Mercury
+Monster
+Moonbeam
+Mystic
+Necromancer
+Necromancer
+Nightmare
+Pandemonium
+Psychic
+Queen
+Radiation
+Resistance
+Retribution
+Rogue
+Royal
+Scroll
+Scrolls
+Serpent
+Shadows
+Shard
+Shoreline
+Sixth Sense
+Skeleton
+Skeleton Warrior
+Skeletons
+Society
+Sorcerer
+Sorceress
+Sorcery
+Southeast
+Spellcaster
+Spirit
+Spirit World
+Squire
+Stare Down
+Strike Down
+Stronghold
+Summoner
+Sunburst
+Survivor
+Sword
+Tarot Card
+Tavern
+Templar
+Third Eye
+Throw Back
+Thunderclap
+Treasure
+Turning
+Undead
+Undersurface
+Underworld
+Vampire
+Viper
+Warlock
+Warrior
+Watchman
+Whisperer
+Wind
+Witch
+Wizard
+Wizardry
+Wood Elf
+Wood Elves
+World
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-noun/noun-general.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-noun/noun-general.txt
new file mode 100644
index 0000000000000000000000000000000000000000..81ef01fe3a8e105f52f9f607d8dcb9e93c493dec
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-noun/noun-general.txt
@@ -0,0 +1,1523 @@
+ability
+abroad
+abuse
+access
+accident
+account
+act
+action
+active
+activity
+actor
+ad
+addition
+address
+administration
+adult
+advance
+advantage
+advertising
+advice
+affair
+affect
+afternoon
+age
+agency
+agent
+agreement
+air
+airline
+airport
+alarm
+alcohol
+alternative
+ambition
+amount
+analysis
+analyst
+anger
+angle
+animal
+annual
+answer
+anxiety
+anybody
+anything
+anywhere
+apartment
+appeal
+appearance
+apple
+application
+appointment
+area
+argument
+arm
+army
+arrival
+art
+article
+aside
+ask
+aspect
+assignment
+assist
+assistance
+assistant
+associate
+association
+assumption
+atmosphere
+attack
+attempt
+attention
+attitude
+audience
+author
+average
+award
+awareness
+baby
+back
+background
+bad
+bag
+bake
+balance
+ball
+band
+bank
+bar
+base
+baseball
+basis
+basket
+bat
+bath
+bathroom
+battle
+beach
+bear
+beat
+beautiful
+bed
+bedroom
+beer
+beginning
+being
+bell
+belt
+bench
+bend
+benefit
+bet
+beyond
+bicycle
+bid
+big
+bike
+bill
+bird
+birth
+birthday
+bit
+bite
+bitter
+black
+blame
+blank
+blind
+block
+blood
+blow
+blue
+board
+boat
+body
+bone
+bonus
+book
+boot
+border
+boring
+boss
+bother
+bottle
+bottom
+bowl
+box
+boy
+boyfriend
+brain
+branch
+brave
+bread
+break
+breakfast
+breast
+breath
+brick
+bridge
+brief
+brilliant
+broad
+brother
+brown
+brush
+buddy
+budget
+bug
+building
+bunch
+burn
+bus
+business
+button
+buy
+buyer
+cabinet
+cable
+cake
+calendar
+call
+calm
+camera
+camp
+campaign
+can
+cancel
+cancer
+candidate
+candle
+candy
+cap
+capital
+car
+card
+care
+career
+carpet
+carry
+case
+cash
+cat
+catch
+category
+cause
+celebration
+cell
+chain
+chair
+challenge
+champion
+championship
+chance
+change
+channel
+chapter
+character
+charge
+charity
+chart
+check
+cheek
+chemical
+chemistry
+chest
+chicken
+child
+childhood
+chip
+chocolate
+choice
+church
+cigarette
+city
+claim
+class
+classic
+classroom
+clerk
+click
+client
+climate
+clock
+closet
+clothes
+cloud
+club
+clue
+coach
+coast
+coat
+code
+coffee
+cold
+collar
+collection
+college
+combination
+combine
+comfort
+comfortable
+command
+comment
+commercial
+commission
+committee
+common
+communication
+community
+company
+comparison
+competition
+complaint
+complex
+computer
+concentrate
+concept
+concern
+concert
+conclusion
+condition
+conference
+confidence
+conflict
+confusion
+connection
+consequence
+consideration
+consist
+constant
+construction
+contact
+contest
+context
+contract
+contribution
+control
+conversation
+convert
+cook
+cookie
+copy
+corner
+cost
+count
+counter
+country
+county
+couple
+courage
+course
+court
+cousin
+cover
+cow
+crack
+craft
+crash
+crazy
+cream
+creative
+credit
+crew
+criticism
+cross
+cry
+culture
+cup
+currency
+current
+curve
+customer
+cut
+cycle
+dad
+damage
+dance
+dare
+dark
+data
+database
+date
+daughter
+day
+dead
+deal
+dealer
+dear
+death
+debate
+debt
+decision
+deep
+definition
+degree
+delay
+delivery
+demand
+department
+departure
+dependent
+deposit
+depression
+depth
+description
+design
+designer
+desire
+desk
+detail
+development
+device
+devil
+diamond
+diet
+difference
+difficulty
+dig
+dimension
+dinner
+direction
+director
+dirt
+disaster
+discipline
+discount
+discussion
+disease
+dish
+disk
+display
+distance
+distribution
+district
+divide
+doctor
+document
+dog
+door
+dot
+double
+doubt
+draft
+drag
+drama
+draw
+drawer
+drawing
+dream
+dress
+drink
+drive
+driver
+drop
+drunk
+due
+dump
+dust
+duty
+ear
+earth
+ease
+east
+eat
+economics
+economy
+edge
+editor
+education
+effect
+effective
+efficiency
+effort
+egg
+election
+elevator
+emergency
+emotion
+emphasis
+employ
+employee
+employer
+employment
+end
+energy
+engine
+engineer
+engineering
+entertainment
+enthusiasm
+entrance
+entry
+environment
+equal
+equipment
+equivalent
+error
+escape
+essay
+establishment
+estate
+estimate
+evening
+event
+evidence
+exam
+examination
+example
+exchange
+excitement
+excuse
+exercise
+exit
+experience
+expert
+explanation
+expression
+extension
+extent
+external
+extreme
+eye
+face
+fact
+factor
+failure
+fall
+familiar
+family
+fan
+farm
+farmer
+fat
+father
+fault
+fear
+feature
+fee
+feed
+feedback
+feel
+feeling
+female
+few
+field
+fight
+figure
+file
+fill
+film
+final
+finance
+finding
+finger
+finish
+fire
+fish
+fishing
+fix
+flight
+floor
+flow
+flower
+fly
+focus
+fold
+following
+food
+foot
+football
+force
+forever
+form
+formal
+fortune
+foundation
+frame
+freedom
+friend
+friendship
+front
+fruit
+fuel
+fun
+function
+funeral
+funny
+future
+gain
+game
+gap
+garage
+garbage
+garden
+gas
+gate
+gather
+gear
+gene
+general
+gift
+girl
+girlfriend
+give
+glad
+glass
+glove
+go
+goal
+god
+gold
+golf
+good
+government
+grab
+grade
+grand
+grandfather
+grandmother
+grass
+great
+green
+grocery
+ground
+group
+growth
+guarantee
+guard
+guess
+guest
+guidance
+guide
+guitar
+guy
+habit
+hair
+half
+hall
+hand
+handle
+hang
+harm
+hat
+hate
+head
+health
+hearing
+heart
+heat
+heavy
+height
+hell
+hello
+help
+hide
+high
+highlight
+highway
+hire
+historian
+history
+hit
+hold
+hole
+holiday
+home
+homework
+honey
+hook
+hope
+horror
+horse
+hospital
+host
+hotel
+hour
+house
+housing
+human
+hunt
+hurry
+hurt
+husband
+ice
+idea
+ideal
+if
+illegal
+image
+imagination
+impact
+implement
+importance
+impress
+impression
+improvement
+incident
+income
+increase
+independence
+independent
+indication
+individual
+industry
+inevitable
+inflation
+influence
+information
+initial
+initiative
+injury
+insect
+inside
+inspection
+inspector
+instance
+instruction
+insurance
+intention
+interaction
+interest
+internal
+international
+internet
+interview
+introduction
+investment
+invite
+iron
+island
+issue
+it
+item
+jacket
+job
+join
+joint
+joke
+judge
+judgment
+juice
+jump
+junior
+jury
+keep
+key
+kick
+kid
+kill
+kind
+king
+kiss
+kitchen
+knee
+knife
+knowledge
+lab
+lack
+ladder
+lady
+lake
+land
+landscape
+language
+laugh
+law
+lawyer
+lay
+layer
+lead
+leader
+leadership
+leading
+league
+leather
+leave
+lecture
+leg
+length
+lesson
+let
+letter
+level
+library
+lie
+life
+lift
+light
+limit
+line
+link
+lip
+list
+listen
+literature
+living
+load
+loan
+local
+location
+lock
+log
+long
+look
+loss
+love
+low
+luck
+lunch
+machine
+magazine
+mail
+main
+maintenance
+major
+make
+male
+mall
+man
+management
+manager
+manner
+manufacturer
+many
+map
+march
+mark
+market
+marketing
+marriage
+master
+match
+mate
+material
+math
+matter
+maximum
+maybe
+meal
+meaning
+measurement
+meat
+media
+medicine
+medium
+meet
+meeting
+member
+membership
+memory
+mention
+menu
+mess
+message
+metal
+method
+middle
+midnight
+might
+milk
+mind
+mine
+minimum
+minor
+minute
+mirror
+miss
+mission
+mistake
+mix
+mixture
+mobile
+mode
+model
+mom
+moment
+money
+monitor
+month
+mood
+morning
+mortgage
+most
+mother
+motor
+mountain
+mouse
+mouth
+move
+movie
+mud
+muscle
+music
+nail
+name
+nasty
+nation
+national
+native
+natural
+nature
+neat
+necessary
+neck
+negative
+negotiation
+nerve
+net
+network
+news
+newspaper
+night
+nobody
+noise
+normal
+north
+nose
+note
+nothing
+notice
+novel
+number
+nurse
+object
+objective
+obligation
+occasion
+offer
+office
+officer
+official
+oil
+one
+opening
+operation
+opinion
+opportunity
+opposite
+option
+orange
+order
+ordinary
+organization
+original
+other
+outcome
+outside
+oven
+owner
+pace
+pack
+package
+page
+pain
+paint
+painting
+pair
+panic
+paper
+parent
+park
+parking
+part
+particular
+partner
+party
+pass
+passage
+passenger
+passion
+past
+path
+patience
+patient
+pattern
+pause
+pay
+payment
+peace
+peak
+pen
+penalty
+pension
+people
+percentage
+perception
+performance
+period
+permission
+permit
+person
+personal
+personality
+perspective
+phase
+philosophy
+phone
+photo
+phrase
+physical
+physics
+piano
+pick
+picture
+pie
+piece
+pin
+pipe
+pitch
+pizza
+place
+plan
+plane
+plant
+plastic
+plate
+platform
+play
+player
+pleasure
+plenty
+poem
+poet
+poetry
+point
+police
+policy
+politics
+pollution
+pool
+pop
+population
+position
+positive
+possession
+possibility
+possible
+post
+pot
+potato
+potential
+pound
+power
+practice
+preference
+preparation
+presence
+present
+presentation
+president
+press
+pressure
+price
+pride
+priest
+primary
+principle
+print
+prior
+priority
+private
+prize
+problem
+procedure
+process
+produce
+product
+profession
+professional
+professor
+profile
+profit
+program
+progress
+project
+promise
+promotion
+prompt
+proof
+property
+proposal
+protection
+psychology
+public
+pull
+punch
+purchase
+purple
+purpose
+push
+put
+quality
+quantity
+quarter
+queen
+question
+quiet
+quit
+quote
+race
+radio
+rain
+raise
+range
+rate
+ratio
+raw
+reach
+reaction
+read
+reading
+reality
+reason
+reception
+recipe
+recognition
+recommendation
+record
+recording
+recover
+red
+reference
+reflection
+refrigerator
+refuse
+region
+register
+regret
+regular
+relation
+relationship
+relative
+release
+relief
+remote
+remove
+rent
+repair
+repeat
+replacement
+reply
+report
+representative
+republic
+reputation
+request
+requirement
+research
+reserve
+resident
+resist
+resolution
+resolve
+resort
+resource
+respect
+respond
+response
+responsibility
+rest
+restaurant
+result
+return
+reveal
+revenue
+review
+revolution
+reward
+rice
+rich
+ride
+ring
+rip
+rise
+risk
+river
+road
+rock
+role
+roll
+roof
+room
+rope
+rough
+round
+routine
+row
+royal
+rub
+ruin
+rule
+run
+rush
+sad
+safe
+safety
+sail
+salad
+salary
+sale
+salt
+sample
+sand
+sandwich
+satisfaction
+save
+savings
+scale
+scene
+schedule
+scheme
+school
+science
+score
+scratch
+screen
+screw
+script
+sea
+search
+season
+seat
+second
+secret
+secretary
+section
+sector
+security
+selection
+self
+sell
+senior
+sense
+sensitive
+sentence
+series
+serve
+service
+session
+set
+setting
+sex
+shake
+shame
+shape
+share
+she
+shelter
+shift
+shine
+ship
+shirt
+shock
+shoe
+shoot
+shop
+shopping
+shot
+shoulder
+show
+shower
+sick
+side
+sign
+signal
+signature
+significance
+silly
+silver
+simple
+sing
+singer
+single
+sink
+sir
+sister
+site
+situation
+size
+skill
+skin
+skirt
+sky
+sleep
+slice
+slide
+slip
+smile
+smoke
+snow
+society
+sock
+soft
+software
+soil
+solid
+solution
+somewhere
+son
+song
+sort
+sound
+soup
+source
+south
+space
+spare
+speaker
+special
+specialist
+specific
+speech
+speed
+spell
+spend
+spirit
+spiritual
+spite
+split
+sport
+spot
+spray
+spread
+spring
+square
+stable
+staff
+stage
+stand
+standard
+star
+start
+state
+statement
+station
+status
+stay
+steak
+steal
+step
+stick
+still
+stock
+stomach
+stop
+storage
+store
+storm
+story
+strain
+stranger
+strategy
+street
+strength
+stress
+stretch
+strike
+string
+strip
+stroke
+structure
+struggle
+student
+studio
+study
+stuff
+stupid
+style
+subject
+substance
+success
+suck
+sugar
+suggestion
+suit
+summer
+sun
+supermarket
+support
+surgery
+surprise
+surround
+survey
+suspect
+sweet
+swim
+swimming
+swing
+switch
+sympathy
+system
+table
+tackle
+tale
+talk
+tank
+tap
+target
+task
+taste
+tax
+tea
+teach
+teacher
+teaching
+team
+tear
+technology
+telephone
+television
+tell
+temperature
+temporary
+tennis
+tension
+term
+test
+text
+thanks
+theme
+theory
+thing
+thought
+throat
+ticket
+tie
+till
+time
+tip
+title
+today
+toe
+tomorrow
+tone
+tongue
+tonight
+tool
+tooth
+top
+topic
+total
+touch
+tough
+tour
+tourist
+towel
+tower
+town
+track
+trade
+tradition
+traffic
+train
+trainer
+training
+transition
+transportation
+trash
+travel
+treat
+tree
+trick
+trip
+trouble
+truck
+trust
+truth
+try
+tune
+turn
+twist
+two
+type
+uncle
+understanding
+union
+unique
+unit
+university
+upper
+upstairs
+use
+user
+usual
+vacation
+valuable
+value
+variation
+variety
+vast
+vegetable
+vehicle
+version
+video
+view
+village
+virus
+visit
+visual
+voice
+volume
+wait
+wake
+walk
+wall
+war
+warning
+wash
+watch
+water
+wave
+way
+weakness
+wealth
+wear
+weather
+web
+wedding
+week
+weekend
+weight
+weird
+welcome
+west
+western
+wheel
+whereas
+while
+white
+whole
+wife
+will
+win
+wind
+window
+wine
+wing
+winner
+winter
+wish
+witness
+woman
+wonder
+wood
+word
+work
+worker
+working
+world
+worry
+worth
+wrap
+writer
+writing
+yard
+year
+yellow
+yesterday
+you
+young
+youth
+zone
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-noun/noun-horror.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-noun/noun-horror.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d1993272e9e058d78abf1b5610861b072f352dce
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-noun/noun-horror.txt
@@ -0,0 +1,114 @@
+apparition
+banshee
+bats
+blood
+bogeyman
+bones
+bonfire
+brains
+cemetery
+cobweb
+cobwebs
+corpse
+creature
+crow
+darkness
+dead body
+death
+demon
+devil incarnate
+doom
+enchanted
+evil spirit
+eye of newt
+fangs
+fantasy
+fire & brimstone
+fog
+fright
+full moon
+ghost
+ghost story
+ghostly
+ghoul
+ghoulish
+goblin
+goblin
+grave
+graves
+graveyard
+haunted house
+haunted house
+haunting
+haunting
+headless horseman
+hell
+hell-hound
+hobgoblin
+horror
+intestines
+levitation
+lightening
+lightning
+magic
+make-up
+mask
+medium
+midnight
+monster
+moonlight
+mummy
+murder
+night of fright
+nightfall
+nightmare
+noose
+occult
+occult
+orbs
+owl
+paranormal activity
+phantasm
+phantasms
+phantom
+phantom
+phenomena
+pillow case
+poltergeist
+poltergeist
+possessed
+possession
+potion
+pumpkin
+raven
+scary story
+screams
+seance
+shadow
+skeleton
+skulls
+sorceress
+specter
+specter
+spider
+spider web
+spirit
+spirits
+superstition
+tale of horror
+terror
+the paranormal
+threat
+thunder
+tomb
+tombstone
+trick
+unearthly
+vampire
+vampire
+werewolf
+werewolf
+witch
+worms
+wraith
+zombie
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-pop/pop-culture.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-pop/pop-culture.txt
new file mode 100644
index 0000000000000000000000000000000000000000..13de1a9652d8d1c247aeafd0888e2f0d3885cb65
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-pop/pop-culture.txt
@@ -0,0 +1,174 @@
+3DO Interactive Multiplayer
+A Clockwork Orange (1971)
+Adventure Time
+Agent 007
+Ahh! Real Monsters
+Alien (1979)
+Aliens (1986)
+Animaniacs
+Atari
+Attack on Titan
+Batman
+Batman: The Animated Series
+BeastWars
+Beetlejuice
+Ben Hur
+Black Lagoon
+Blade Runner
+Blazing Saddles
+Bleach
+Braveheart (1995)
+Breakfast at Tiffany's
+Call of Duty
+Call of Duty Modern Warfare
+Casablanca
+CatDog
+Chip 'n Dale: Rescue Rangers
+Close Encounters of the Third Kind
+Code Geass
+Comic-Con
+Contact (1997)
+Courage the Cowardly Dog
+Cowboy Bebop
+Danger Mouse
+Dark Souls
+Darkwing Duck
+Death Note
+Demons Souls
+Dexter's Laboratory
+Die Hard
+Digimon
+Dragon Ball
+Dragon Ball GT
+Dragon Ball Super
+Dragon Ball Z
+E.T. the Extra-Terrestrial (1982)
+Earthworm Jim
+Elden Ring
+Ewoks
+FLCL
+Fooly Cooly
+Fortnite
+Full Metal Jacket (1987)
+Fullmetal Alchemist
+Futurama
+Game Boy
+Game Boy Advance
+Game Boy Color
+Game Boy SP
+Gargoyles
+George Lucas
+Ghostbusters
+Goldfinger
+Gone with the Wind (1939)
+Gundam
+He-Man and the Masters of the Universe
+Hellsing
+Inuyasha
+James Bond
+Johnny Bravo
+Jurassic Park
+Jurassic Park III
+Jurassic World
+Jurassic World Dominion
+Jurassic World Fallen Kingdom
+Justice League
+King Kong
+M.A.S.H.
+MASH
+Mad Max
+Mad Max 2: The Road Warrior
+Mad Max Beyond Thunderdome
+Mad Max: Fury Road
+Magic: The Gathering
+MechWarrior
+Mega Man
+Megan Man X
+Metabots
+Michael Crichton
+Mighty Max
+Naruto
+Neon Genesis Evangelion
+Nintendo
+Nintendo 3DS
+Nintendo 64
+Nintendo DS
+Nintendo Entertainment System
+Nintendo Switch
+Nintendo Wii
+Nintendo WiiU
+Overwatch
+PAX
+PC Engine
+Pinky and the Brain
+Planet of the Apes
+Pokemon
+Poltergeist (1982)
+Pulp Fiction
+Raiders of the Lost Ark (1981)
+Rainbow Brite
+ReBoot (1994)
+Regular Show
+Robotech
+Rocko’s Modern Life
+Rugrats
+SEGA
+Samurai Jack
+Scary Stories to Tell in the Dark
+She-Ra: Princess of Power
+Singing in the Rain
+Sony Playstation
+Sony Playstation 2
+Sony Playstation 3
+Sony Playstation 4
+Sony Playstation 5
+Space Dandy
+Spider-Man
+Spiderman
+Star Wars (1977)
+Star Wars: Episode V - The Empire Strikes Back (1980)
+Starcraft
+Steven King
+Steven Spielberg
+Stranger Things
+Street Sharks
+Super Mario Bros.
+Super Nintendo
+Superman
+T-1000
+T-600
+T-800
+TaleSpin
+Teenage Mutant Ninja Turtles
+Terminator 3
+Terminator Dark Fate
+Terminator Genysis
+Terminator Salvation
+The Day the Earth Stood Still
+The Day the Earth Stood Still (1951)
+The Godfather
+The Grim Adventures of Billy and Mandy
+The Hulk
+The Lord of the Rings: The Fellowship of the Ring (2001)
+The Lost World
+The Matrix
+The New Adventures of Johnny Quest
+The Poseidon Adventure (1972)
+The Ren & Stimpy Show
+The Simpsons
+The Terminator
+The Terminator 2: Judgement Day
+The Thing from Another World (1951)
+The Wizard of Oz (1939)
+Thundercats
+Titanic (1997)
+Total Recall
+Toxic Crusaders
+Transformers
+Trigun
+War for the Planet of the Apes
+WarCraft
+Wizard of the Coast
+X-Men
+Xenomorphs
+Yu Yu Hakusho
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-pop/pop-location.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-pop/pop-location.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7cc85bfbe5e6250dc0d5b676368dc0ef5be944ac
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp-pop/pop-location.txt
@@ -0,0 +1,77 @@
+Amalfi Coast, Italy
+Amsterdam, Netherlands
+Angkor Wat, Cambodia
+Antarctica
+Bali, Indonesia
+Banff, Alberta
+Barbabos
+Beijing, China
+Bora Bora, French Polynesia
+Budapest, Hungary
+Buenos Aires, Argentina
+Cairo, Egypt
+Cape Town, South Africa
+Cartagena, Columbia
+Cinque Terre, Italy
+Copenhagen, Denmark
+Costa Rica
+Dubai, U.A.E.
+Dubrovnik, Croatia
+Edinburgh, Scotland
+Florence, Italy
+Glacier National Park, Montana
+Great Barrier Reef, Australia
+Hanoi, Vietnam
+Havana, Cuba
+Hawaii
+Hong Kong
+Hong Kong
+Ibiza, Spain
+Istanbul, Turkey
+Jaipur, India
+Kerry, Ireland
+Kruger National Park, South Africa
+Las Vegas
+Laucala Island Resort, Fiji
+Lisbon, Portugal
+London, England
+London, England
+Los Angeles, California
+Lucia, Caribbean
+Machu Picchu, Peru
+Machu Picchu, Peru
+Manhattan, New York
+Marrakesh, Morocco
+Marrakesh, Morocco
+Masai Mara, Kenya
+Matterhorn, Switzerland
+Maui, Hawaii
+Montreal, Canada
+Moscow, Russia
+New Orleans, Louisiana
+New Zealand
+Paris, France
+Paro Valley, Bhutan
+Petra, Jordan
+Phuket, Thailand
+Providencia, Colombia
+Rio de Janeiro, Brazil
+Rome, Italy
+San Francisco, California
+Santiago, Chile
+Santorini, Greece
+Santorini, Greece
+Seoul, Korea
+Singapore
+Sydney, Australia
+Tahiti
+The Grand Canyon, Arizona
+The Maldives
+Tokyo, Japan
+Turks & Caicos, Dominican Republic
+Vancouver, Canada
+Victoria Falls
+Virunga National Park, Democratic Republic of Congo
+Waikato, New Zealand
+Yellowstone
+Yosemite National Park, California
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/3d-terms.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/3d-terms.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b763f8c6f9643caca9a15065b22e66151e3b71ef
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/3d-terms.txt
@@ -0,0 +1,38 @@
+2D Sprite
+Ambient Lighting
+Ambient Occlusion
+Anti-aliasing
+Augmented Reality
+Bitmap
+Cel shading
+Chromatic Abberation
+Direct Lighting
+FXAA
+Flat shading
+Global Illumination
+Indirect Illumination
+Lumen Global Illumination
+Manhattan Distance
+Microdisplacement
+Nanite Geometry
+PBR Material
+Path Traced
+Phong Shading
+Physically based rendering (PBR)
+Post Processed
+Procedural Generation
+Procedural Texture
+Raster graphics
+Ray Traced
+Screen space ambient occlusion
+Skybox
+Terrain rendering
+Tesselation
+Virtual reality
+Volumetric Lighting
+Voronoi Manhattan
+Voronoi Minkowski
+Voxel Engine
+Voxel Geometry
+Wireframe Model
+Wireframe Rendering
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/animals.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/animals.txt
new file mode 100644
index 0000000000000000000000000000000000000000..dda6f6e2c71d5880fbede37f85d2b29766ee9128
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/animals.txt
@@ -0,0 +1,1878 @@
+Aardvark
+Aardwolf
+Abyssinian
+Achrioptera Manga
+Addax
+Adelie Penguin
+Aesculapian snake
+Affenpinscher
+Afghan Hound
+African Bullfrog
+African Bush Elephant
+African Civet
+African Clawed Frog
+African Fish Eagle
+African Forest Elephant
+African Golden Cat
+African Grey Parrot
+African Jacana
+African Palm Civet
+African Penguin
+African Tree Toad
+African Wild Dog
+Agama Lizard
+Aidi
+Ainu
+Airedale Terrier
+Airedoodle
+Akbash
+Akita
+Akita Shepherd
+Alabai
+Alaskan Husky
+Alaskan Klee Kai
+Alaskan Malamute
+Alaskan Pollock
+Alaskan Shepherd
+Albacore Tuna
+Albatross
+Aldabra Giant Tortoise
+Alligator Gar
+Allosaurus
+Alpaca
+Alpine Dachsbracke
+Alpine Goat
+Alusky
+Amargasaurus
+Amazon Parrot
+Amazon River Dolphin (Pink Dolphin)
+Amazon Tree Boa
+Ambrosia Beetle
+American Alligator
+American Alsatian
+American Bulldog
+American Cocker Spaniel
+American Cockroach
+American Coonhound
+American Dog Tick
+American Eskimo Dog
+American Foxhound
+American Hairless Terrier
+American Leopard Hound
+American Paddlefish
+American Pit Bull Terrier
+American Pugabull
+American Pygmy Goat
+American Robin
+American Staffordshire Terrier
+American Toad
+American Water Spaniel
+American Wirehair Traits
+Amethystine Python (Scrub Python)
+Amur Leopard
+Anaconda
+Anatolian Shepherd Dog
+Anchovies
+Angelfish
+Angelshark
+Anglerfish
+Angora Ferret
+Angora Goat
+Anole Lizard
+Anomalocaris
+Ant
+Antarctic scale worm
+Anteater
+Antelope
+Ape
+Appenzeller Dog
+Apple Head Chihuahua
+Apple Moth
+Arabian Cobra
+Arafura File Snake
+Arapaima
+Archaeopteryx
+Archaeotherium
+Archelon Turtle
+Arctic Char
+Arctic Fox
+Arctic Hare
+Arctic Wolf
+Arctodus
+Arctotherium
+Arizona Bark Scorpion
+Arizona Black Rattlesnake
+Arizona Coral Snake
+Armadillo
+Armadillo Lizard
+Armyworm
+Aruba Rattlesnake
+Asian Arowana
+Asian Cockroach
+Asian Elephant
+Asian Giant Hornet
+Asian Lady Beetle
+Asian Palm Civet
+Asian Vine Snake
+Asiatic Black Bear
+Asp
+Assassin Bug
+Atlantic Salmon
+Atlas Moth
+Aurochs
+Aussiedoodle
+Aussiedor
+Australian Bulldog
+Australian Cattle Dog
+Australian Cockroach
+Australian Flathead Perch
+Australian Gecko
+Australian Kelpie Dog
+Australian Labradoodle
+Australian Mist
+Australian Retriever
+Australian Shepherd
+Australian Terrier
+Australopithecus
+Avocet
+Axolotl
+Aye Aye
+Babirusa
+Baboon
+Bactrian Camel
+Badger
+Baiji
+Baird’s Rat Snake
+Bald Eagle
+Baleen Whale
+Balinese
+Balkan Lynx
+Ball Python
+Bamboo Worms
+Banana Ball Python
+Banana Eel
+Banana Spider
+Banded Krait
+Banded Palm Civet
+Banded Water Snake
+Bandicoot
+Banjo Catfish
+Barb
+Barbet
+Barn Owl
+Barn Swallow
+Barnacle
+Barracuda
+Barramundi Fish
+Barred Owl
+Basenji Dog
+Basilisk Lizard
+Basilosaurus
+Basking Shark
+Bassador
+Basset Fauve de Bretagne
+Basset Hound
+Bassetoodle
+Bat
+Batfish
+Bavarian Mountain Hound
+Baya
+Bea-Tzu
+Beabull
+Beagador
+Beagle
+Beagle Shepherd
+Beaglier
+Beago
+Bear
+Bearded Collie
+Bearded Dragon
+Bearded Vulture
+Beaski
+Beauceron
+Beauty rat snake
+Beaver
+Bed Bugs
+Bedlington Terrier
+Bee
+Beefalo
+Beetle
+Belgian Shepherd
+Belgian Tervuren
+Belted Kingfisher
+Beluga Sturgeon
+Bengal Tiger
+Bergamasco
+Berger Picard
+Bernedoodle
+Bernese Mountain Dog
+Bernese Shepherd
+Betta Fish (Siamese Fighting Fish)
+Bichir
+Bichon Frise
+Bichpoo
+Biewer Terrier
+Bighorn Sheep
+Bilby
+Binturong
+Bird
+Bird Of Paradise
+Bird Snake
+Birman
+Biscuit Beetle
+Bismarck Ringed Python
+Bison
+Black And Tan Coonhound
+Black Mamba
+Black Marlin
+Black Rat Snake
+Black Rhinoceros
+Black Russian Terrier
+Black Wasp
+Black Widow Spider
+Black Witch Moth
+Black and White Warbler
+Black-Capped Chickadee
+Black-Footed Ferret
+Black-headed python
+Blacknose Shark
+Blackpoll Warbler
+Blacktip Reef Shark
+Bladefin Basslet
+Blanket Octopus
+Blind Snake
+Blister Beetle
+Blobfish
+Blood Python
+Bloodhound
+Blue Belly Lizard
+Blue Catfish
+Blue Eyed Pleco
+Blue Gray Gnatcatcher
+Blue Iguana
+Blue Jay
+Blue Lacy Dog
+Blue Picardy Spaniel
+Blue Racer
+Blue Shark
+Blue Tit
+Blue Whale
+Blue grosbeak
+Blue-Ringed Octopus
+Bluefin Tuna
+Bluegill
+Bluetick Coonhound
+Boas
+Bobcat
+Bobolink
+Boelen’s python
+Boggle
+Boglen Terrier
+Boiga
+Bolivian Anaconda
+Bolognese Dog
+Bombay
+Bongo
+Bonito Fish
+Bonnethead Shark
+Bonobo
+Booby
+Boomslang
+Borador
+Border Collie
+Border Terrier
+Bordoodle
+Borkie
+Bornean Orang-utan
+Borneo Elephant
+Boston Terrier
+Bottlenose Dolphin
+Bouvier Des Flandres
+Bowfin
+Bowhead Whale
+Box Tree Moth
+Box Turtle
+Boxachi Dog Breed Complete Guide
+Boxador
+Boxer Dog
+Boxerdoodle
+Boxfish
+Boxsky
+Boxweiler
+Boykin Spaniel
+Brachiosaurus
+Brahminy Blindsnake
+Brazilian Terrier
+Bredl’s Python
+British Timber
+Brittany
+Brontosaurus
+Bronze Whaler Shark
+Brookesia Micra
+Brown Bear
+Brown Dog Tick
+Brown Hyena
+Brown Snake
+Brown Water Snake
+Brown-banded Cockroach
+Brug
+Brussels Griffon
+Budgerigar
+Buffalo
+Bull Shark
+Bull Terrier
+Bull Trout
+Bulldog
+Bullfrog
+Bullmastiff
+Bullsnake
+Bumblebee
+Burmese
+Burmese Python
+Burrowing Frog
+Burrowing Owl
+Bush Baby
+Bush Viper
+Bushmaster Snake
+Butterfly
+Butterfly Fish
+Cabbage Moth
+Cactus Moth
+Cactus Mouse
+Cactus Wren
+Caecilian
+Caiman
+Caiman Lizard
+Cairn Terrier
+California Condor
+California Kingsnake
+Camel
+Camel Cricket
+Camel Spider
+Canaan Dog
+Canada Lynx
+Canada Warbler
+Canadian Eskimo Dog
+Canadian Horse
+Cane Corso
+Cantil
+Cape Lion
+Capybara
+Caracal
+Caribbean Reef Shark
+Caribou
+Carolina Dog
+Carolina Parakeet
+Carp
+Carpenter Ant
+Carpet Python
+Carpet Viper
+Cascabel
+Cashmere Goat
+Cassowary
+Cat
+Cat Snake
+Cat-Eyed Snake
+Catahoula Leopard
+Catalan Sheepdog
+Caterpillar
+Catfish
+Cava Tzu
+Cavador
+Cavalier King Charles Spaniel
+Cavapoo
+Cave Bear
+Cave Lion
+Cecropia Moth
+Centipede
+Central Ranges Taipan
+Ceratosaurus
+Cesky Fousek
+Cesky Terrier
+Chameleon
+Chamois
+Chartreux
+Cheagle
+Checkered Garter Snake
+Cheetah
+Chesapeake Bay Retriever
+Chestnut-Sided Warbler
+Chickadee
+Chicken
+Chicken Snake
+Chihuahua
+Children’s python
+Chimaera
+Chimpanzee
+Chinchilla
+Chinese Alligator
+Chinese Cobra
+Chinese Crested Dog
+Chinese Geese
+Chinese Paddlefish
+Chinese Shar-Pei
+Chinook
+Chinook Salmon
+Chinstrap Penguin
+Chipmunk
+Chipoo
+Chipping Sparrow
+Chiweenie
+Chorkie
+Chow Chow
+Chow Shepherd
+Christmas Island Red Crab
+Cicada
+Cichlid
+Cinereous Vulture
+Cinnamon Ferret
+Clothes Moth
+Clouded Leopard
+Clownfish
+Clumber Spaniel
+Coachwhip Snake
+Coastal Carpet Python
+Coastal Taipan
+Coati
+Cobia Fish
+Cobras
+Cockalier
+Cockapoo
+Cockatiel
+Cockatoo
+Cocker Spaniel
+Cockroach
+Codfish
+Codling Moth
+Coelacanth
+Collared Peccary
+Collett’s Snake
+Collie
+Colossal Squid
+Comet Moth
+Common Buzzard
+Common Carp
+Common European Adder
+Common Frog
+Common Furniture Beetle
+Common House Spider
+Common Loon
+Common Raven
+Common Toad
+Compsognathus
+Conger Eel
+Congo Snake
+Cookiecutter Shark
+Cooper’s Hawk
+Copperhead
+Coral
+Coral Snake
+Corgidor
+Corgipoo
+Corkie
+Corman Shepherd
+Corn Rex Cat (Cornish Rex)
+Corn Snake
+Cory Catfish
+Coton de Tulear
+Cotton-top Tamarin
+Cottonmouth
+Cougar
+Cow
+Coyote
+Crab
+Crab Spider
+Crab-Eating Macaque
+Crabeater Seal
+Crane
+Crappie Fish
+Crested Gecko
+Crested Penguin
+Cricket
+Crocodile
+Crocodile Monitor
+Cross Fox
+Cross River Gorilla
+Crow
+Crucian Carp
+Cuban Boa
+Cuban Cockroach
+Cuckoo
+Curly Coated Retriever
+Cuscus
+Cuttlefish
+Czechoslovakian Wolfdog
+Dachsador
+Dachshund
+Daeodon
+Dalmadoodle
+Dalmador
+Dalmatian
+Danios
+Dapple Dachshund
+Dark-Eyed Junco
+Darwin’s Frog
+Darwin’s fox
+Death Adder
+Deathwatch Beetle
+Death’s Head Cockroach
+Deer
+Deer Head Chihuahua
+Deer Tick
+Desert Kingsnake
+Desert Locust
+Desert Rain Frog
+Desert Tortoise
+Deutsche Bracke
+Devils Coach Horse Beetle
+Devon Rex
+Dhole
+Diamond python
+Diamondback Moth
+Dik-Dik
+Dingo
+Dinopithecus
+Diplodocus
+Dire Wolf
+Discus
+Doberman Pinscher
+Dodo
+Dog
+Dog Tick
+Dogo Argentino
+Dogue De Bordeaux
+Dolphin
+Donkey
+Dorgi
+Dorkie
+Dormouse
+Double Doodle
+Douc
+Downy Woodpecker
+Doxiepoo
+Doxle
+Draco Volans Lizard
+Dragon Eel
+Dragonfish
+Dragonfly
+Dreadnoughtus
+Drever
+Drum Fish
+Dubia Cockroach
+Duck
+Dugong
+Dumeril’s Boa
+Dung Beetle
+Dunker
+Dunnock
+Dusky Dolphin
+Dusky Shark
+Dwarf Boa
+Dwarf Crocodile
+Dwarf Hamster
+Eagle
+Earthworm
+Earwig
+Eastern Barred Bandicoot
+Eastern Bluebird
+Eastern Brown Snake
+Eastern Chipmunk
+Eastern Coral Snake
+Eastern Diamondback Rattlesnake
+Eastern Fence Lizard
+Eastern Glass Lizard
+Eastern Gorilla
+Eastern Gray Squirrel
+Eastern Green Mamba
+Eastern Hognose Snake
+Eastern Indigo Snake
+Eastern Lowland Gorilla
+Eastern Phoebe
+Eastern Racer
+Eastern Rat snake
+Eastern Woodrat
+Echidna
+Eclectus Parrot
+Edible Frog
+Eel
+Egyptian Cobra (Egyptian Asp)
+Egyptian Goose
+Egyptian Mau
+Eland
+Elasmosaurus
+Elasmotherium
+Electric Catfish
+Electric Eel
+Elegant Tern
+Elephant
+Elephant Seal
+Elephant Shrew
+Elk
+Emerald Tree Boa
+Emerald Tree Monitor
+Emperor Penguin
+Emperor Tamarin
+Emu
+English Bulldog
+English Cocker Spaniel
+English Cream Golden Retriever
+English Foxhound
+English Pointer
+English Setter
+English Shepherd
+English Springer Spaniel
+Entlebucher Mountain Dog
+Epagneul Pont Audemer
+Equatorial Spitting Cobra
+Ermine
+Escolar
+Eskimo Dog
+Eskipoo
+Estrela Mountain Dog
+Eurasian Beaver
+Eurasian Jay
+Eurasian Lynx
+Eurasian Nuthatch
+Eurasian Wolf
+European Bee-Eater
+European Corn Borer
+European Polecat
+European Robin
+European Starling
+European Wildcat
+Evening Bat
+Eyelash Viper
+Fairy-Wren
+Falcon
+Fallow deer
+False Cobra
+False Killer Whale
+False Water Cobra
+False Widow Spider
+False coral snake
+Fangtooth
+Feist
+Fennec Fox
+Fer-de-lance Snake
+Ferret
+Ferruginous Hawk
+Fiddler Crab
+Field Spaniel
+Fierce Snake
+Fila Brasileiro
+Fin Whale
+Finnish Spitz
+Fire Eel
+Fire salamander
+Fire-Bellied Toad
+Firefly
+Fish
+Fisher Cat
+Fishing Cat
+Flamingo
+Flat-Coated Retriever
+Flea
+Florida Gar
+Florida Panther
+Florida Woods Cockroach
+Flounder
+Flowerhorn Fish
+Fluke Fish (summer flounder)
+Fly
+Flying Fish
+Flying Lemur
+Flying Snake
+Flying Squirrel
+Football Fish
+Forest Cobra
+Formosan Mountain Dog
+Fossa
+Fox
+Fox Snakes
+Fox Squirrel
+Fox Terrier
+French Bulldog
+Frenchton
+Frengle
+Freshwater Crocodile
+Freshwater Eel
+Freshwater Jellyfish
+Frigatebird
+Frilled Lizard
+Frilled Shark
+Frog
+Frogfish
+Fruit Bat
+Fruit Fly
+Fur Seal
+Gaboon Viper
+Galapagos Penguin
+Galapagos Shark
+Galapagos Tortoise
+Gar
+Garden Eel
+Gargoyle Gecko
+Garter Snake
+Gazelle
+Gecko
+Genet
+Gentoo Penguin
+Geoffroys Tamarin
+Gerberian Shepsky
+Gerbil
+German Cockroach
+German Pinscher
+German Shepherd Guide
+German Sheppit
+German Sheprador
+German Shorthaired Pointer
+German Spitz
+Gharial
+Ghost Catfish
+Ghost Crab
+Giant African Land Snail
+Giant Armadillo
+Giant Clam
+Giant Desert Centipede
+Giant Leopard Moth
+Giant Panda Bear
+Giant Salamander
+Giant Schnauzer
+Giant Schnoodle
+Giant Weta
+Gibbon
+Gigantopithecus
+Gila Monster
+Giraffe
+Glass Frog
+Glass Lizard
+Glechon
+Glen Of Imaal Terrier
+Glow Worm
+Gnat
+Goat
+Goberian
+Goblin Shark
+Goby Fish
+Goldador
+Golden Dox
+Golden Lancehead
+Golden Lion Tamarin
+Golden Masked Owl
+Golden Newfie
+Golden Oriole
+Golden Pyrenees
+Golden Retriever
+Golden Saint
+Golden Shepherd
+Golden Tortoise Beetle
+Golden-Crowned Flying Fox
+Golden-Crowned Kinglet
+Goldendoodle
+Goldfish
+Goliath Beetle
+Goliath Frog
+Goliath Tigerfish
+Gomphotherium
+Goonch Catfish
+Goose
+Gopher
+Gopher Snake
+Gopher Tortoise
+Gordon Setter
+Gorilla
+Goshawk
+Gouldian Finch
+Grass Carp
+Grass Snake
+Grasshopper
+Grasshopper Mouse
+Gray Fox
+Gray Tree Frog
+Great Blue Heron
+Great Crested Flycatcher
+Great Dane
+Great Danoodle
+Great Egret
+Great Hammerhead Shark
+Great Plains Rat Snake
+Great Potoo Bird
+Great Pyrenees
+Great White Shark
+Greater Swiss Mountain Dog
+Green Anaconda
+Green Anole
+Green Aphids
+Green Bee-Eater
+Green Frog
+Green Heron
+Green Mamba
+Green Rat Snake
+Green Snake
+Green Tree Frog
+Green Tree Python
+Greenland Dog
+Greenland Shark
+Grey Heron
+Grey Mouse Lemur
+Grey Reef Shark
+Grey Seal
+Greyhound
+Griffon Vulture
+Griffonshire
+Grizzly Bear
+Groenendael
+Ground Snake
+Groundhog (Woodchuck)
+Grouper
+Grouse
+Guinea Fowl
+Guinea Pig
+Guppy
+Habu Snake
+Haddock
+Hagfish
+Hairy Woodpecker
+Halibut
+Hamburg Chicken
+Hammerhead Shark
+Hamster
+Harbor Seal
+Hardhead Catfish
+Hare
+Harlequin Snake
+Harp Seal
+Harpy Eagle
+Harrier
+Harris Hawk
+Havanese
+Havapoo
+Havashire
+Hawaiian Crow
+Hawaiian Goose
+Hawaiian Monk Seal
+Hawk
+Hawk Moth Caterpillar
+Hedgehog
+Hellbender
+Hercules Beetle
+Hercules Moth
+Hermit Crab
+Heron
+Herring
+Highland Cattle
+Himalayan
+Hippopotamus
+Hoary Bat
+Hobo Spider
+Hognose snake
+Hokkaido
+Honduran White Bat
+Honey Badger
+Honey Bee
+Honey Buzzard
+Hooded Oriole
+Hooded Seal
+Hook-Nosed Sea Snake
+Hoopoe
+Horgi
+Horn Shark
+Hornbill
+Horned Adder
+Horned Frog
+Horned Lizard
+Horned Viper
+Horse
+Horsefly
+Horseshoe Crab
+House Finch
+House Sparrow
+House wren
+Housefly
+Howler Monkey
+Human
+Humboldt Penguin
+Humboldt Squid
+Hummingbird
+Hummingbird Hawk-Moth
+Humpback Whale
+Huntaway
+Huntsman Spider
+Huskador
+Huskita
+Husky
+Husky Jack
+Huskydoodle
+Hyaenodon
+Hyena
+Ibex
+Ibis
+Ibizan Hound
+Icelandic Sheepdog
+Ichthyosaurus
+Iguana
+Iguanodon
+Immortal Jellyfish
+Impala
+Imperial Moth
+Indian Cobra
+Indian Elephant
+Indian Giant Squirrel
+Indian Palm Squirrel
+Indian Rhinoceros
+Indian Star Tortoise
+Indian python
+Indianmeal Moth
+Indigo Snake
+Indochinese Tiger
+Indri
+Inland Taipan
+Insect
+Insects
+Irish Doodle
+Irish Setter
+Irish Terrier
+Irish Water Spaniel
+Irish WolfHound
+Italian Greyhound
+Ivory-billed woodpecker
+Jacana
+Jack Russell
+Jackabee
+Jackal
+Jackdaw
+Jackrabbit
+Jackson’s Chameleon
+Jaguar
+Jaguarundi Cat
+Jamaican Boa
+Japanese Beetle
+Japanese Chin
+Japanese Macaque
+Japanese Spitz
+Japanese Squirrel
+Japanese Terrier
+Japanese rat snake
+Javan Rhinoceros
+Javanese
+Jellyfish
+Jerboa
+Jewel Beetle
+John Dory
+Jonah Crab
+Joro Spider
+Jumping Spider
+Jungle Carpet Python
+Junglefowl
+Kai Ken
+Kakapo
+Kangal
+Kangaroo
+Kangaroo Rat
+Keel-Billed Toucan
+Keelback
+Keeshond
+Kenyan Sand Boa
+Kerry Blue Terrier
+Kestrel
+Keta Salmon
+Key Deer
+Kiko Goat
+Killdeer
+Killer Whale
+Kinabalu Giant Red Leech
+Kinder Goat
+King Cobra
+King Crab
+King Penguin
+King Rat Snake
+King Shepherd
+King Snake
+King Vulture
+Kingfisher
+Kinkajou
+Kirtland’s snake
+Kishu
+Kit Fox
+Kitefin Shark
+Kiwi
+Klipspringer
+Koala
+Kodkod
+Koi Fish
+Komodo Dragon
+Kooikerhondje
+Kookaburra
+Koolie
+Kori Bustard
+Krait
+Krill
+Kudu
+Kuvasz
+LaMancha Goat
+Labahoula
+Labmaraner
+Labradane
+Labradoodle
+Labrador Retriever
+Labraheeler
+Ladybug
+Lake Sturgeon
+Lakeland Terrier
+Lamprey
+Lancashire Heeler
+Lappet-faced Vulture
+Lapponian Herder
+Larder Beetle
+Lavender Albino Ball Python
+Lawnmower Blenny
+Lazarus Lizard
+Leaf-Tailed Gecko
+Leatherback Sea Turtle
+Leech
+Leedsichthys
+Lemming
+Lemon Shark
+Lemur
+Leonberger
+Leopard
+Leopard Cat
+Leopard Frog
+Leopard Gecko
+Leopard Lizard
+Leopard Seal
+Leopard Shark
+Leopard Tortoise
+Lhasa Apso
+Lhasapoo
+Liger
+Linnet
+Lion
+Lionfish
+Lion’s Mane Jellyfish
+Little Brown Bat
+Little Penguin
+Livyatan
+Lizard
+Lizardfish
+Llama
+Loach
+Lobster
+Locust
+Lone Star Tick
+Long-Eared Owl
+Long-Haired Rottweiler
+Long-Tailed Tit
+Longfin Mako Shark
+Longnose Gar
+Lorikeet
+Lowchen
+Lumpfish
+Lungfish
+Lynx
+Lyrebird
+Macaque
+Macaroni Penguin
+Macaw
+Machaeroides
+Mackenzie Wolf
+Madagascar Hissing Cockroach
+Madagascar Tree Boa
+Magellanic Penguin
+Maggot
+Magpie
+Mahi Mahi (Dolphin Fish)
+Maiasaura
+Maine Coon
+Malayan Civet
+Malayan Krait
+Malayan Tiger
+Malchi
+Mallard
+Malteagle
+Maltese
+Maltese Shih Tzu
+Maltipoo
+Mamba
+Mamushi Snake
+Man of War Jellyfish
+Manatee
+Manchester Terrier
+Mandarin Rat Snake
+Mandrill
+Maned Wolf
+Mangrove Snake
+Manta Ray
+Mantella Frog
+Marabou Stork
+Marble Fox
+Marine Iguana
+Marine Toad
+Markhor
+Marmoset
+Marmot
+Marsh Frog
+Masked Angelfish
+Masked Palm Civet
+Massasauga
+Mastador
+Mastiff
+Mayfly
+Meagle
+Mealybug
+Meerkat
+Megalania
+Megalodon
+Megamouth Shark
+Megatherium
+Mekong Giant Catfish
+Mexican Alligator Lizard
+Mexican Black Kingsnake
+Mexican Eagle (Northern crested caracara)
+Mexican Free-Tailed Bat
+Mexican Mole Lizard
+Microraptor
+Midget Faded Rattlesnake
+Miki
+Milk Snake
+Milkfish
+Millipede
+Mini Labradoodle
+Miniature Bull Terrier
+Miniature Husky
+Miniature Pinscher
+Mink
+Minke Whale
+Mississippi Kite
+Moccasin Snake
+Mojarra
+Mojave Rattlesnake
+Mola mola (Ocean Sunfish)
+Mole
+Mole Cricket
+Mole Snake
+Molly
+Monarch Butterfly
+Mongoose
+Mongrel
+Monitor Lizard
+Monkey
+Monkfish
+Monocled Cobra
+Monte Iberia Eleuth
+Moon Jellyfish
+Moorhen
+Moose
+Moray Eel
+Morkie
+Mosasaurus
+Moscow Watchdog
+Mosquito
+Moth
+Mountain Bluebird
+Mountain Cur
+Mountain Feist
+Mountain Gorilla
+Mountain Lion
+Mourning Dove
+Mouse
+Mozambique Spitting Cobra
+Mud Snake
+Mudi
+Mudpuppy
+Mule
+Mulga Snake
+Muntjac
+Muskox
+Muskrat
+Mussurana Snake
+Muttaburrasaurus
+Myna Bird
+Naked Mole Rat
+Narwhal
+Natterjack
+Neanderthal
+Neapolitan Mastiff
+Nebelung
+Needlefish
+Neon Tetra
+Neptune Grouper
+Newfoundland
+Newfypoo
+Newt
+Nicobar pigeon
+Nigerian Goat
+Night Adder
+Night Heron
+Night Snake
+Nightingale
+Nile Crocodile
+Nilgai
+No See Ums
+Norfolk Terrier
+North American Black Bear
+Northern Alligator Lizard
+Northern Cardinal
+Northern Flicker
+Northern Fur Seal
+Northern Inuit Dog
+Northern Water Snake
+Norwegian Buhund
+Norwegian Elkhound
+Norwegian Forest
+Norwegian Lundehund
+Norwich Terrier
+Nose-horned viper
+Nova Scotia Duck Tolling Retriever
+Nubian Goat
+Nudibranch
+Numbat
+Nurse Shark
+Nyala
+Oak Toad
+Oceanic Whitetip Shark
+Ocelot
+Octopus
+Oenpelli python
+Okapi
+Old English Sheepdog
+Oleander Hawk Moth
+Olive Baboon
+Olive Sea Snake
+Olive python
+Olm
+Opah
+Opossum
+Orang-utan
+Orange-Crowned Warbler
+Orb Weaver
+Oriental Cockroach
+Ornithomimus
+Ortolan Bunting
+Oscar Fish
+Ostrich
+Otter
+Otterhound
+Oviraptor
+Owl
+Ox
+Oyster
+Oyster Toadfish
+Pacific Sleeper Shark
+Paddlefish
+Pademelon
+Painted Turtle
+Pangolin
+Panther
+Papillon
+Paradise Flying Snake
+Parakeet
+Parasaurolophus
+Parrot
+Parrot Snake
+Parrotfish
+Parrotlet
+Parson Russell Terrier
+Patagotitan
+Patas Monkey
+Patterdale Terrier
+Pea Puffer
+Peacock
+Peacock Butterfly
+Peacock Spider
+Peagle
+Peekapoo
+Pekingese
+Pelican
+Pembroke Welsh Corgi
+Penguin
+Pennsylvania Wood Cockroach
+Peppered Moth
+Peppermint Angelfish
+Pere Davids Deer
+Peregrine Falcon
+Peringuey’s Adder
+Perro De Presa Canario
+Persian
+Peruvian Inca Orchid
+Pesquet’s Parrot (Dracula Parrot)
+Petit Basset Griffon Vendéen
+Petite Goldendoodle
+Pheasant
+Philippine Cobra
+Phorusrhacos
+Pied Ball Python
+Pied Tamarin
+Pig
+Pigeon
+Pika
+Pike Fish
+Pileated Woodpecker
+Pine Marten
+Pine Snake
+Pine Snake
+Pink Fairy Armadillo
+Pipe Snake
+Pipefish
+Piranha
+Pit Bull
+Pit Viper
+Pitador
+Pitsky
+Plains Hognose Snake
+Platinum Arowana
+Platybelodon
+Platypus
+Pocket Beagle
+Pocket Pitbull
+Pointer
+Poison Dart Frog
+Polar Bear
+Polecat
+Polish Lowland Sheepdog
+Polka Dot Stingray
+Polyphemus moth
+Pomapoo
+Pomchi
+Pomeagle
+Pomeranian
+Pomsky
+Pond Skater
+Poochon
+Poodle
+Poogle
+Pool Frog
+Porbeagle Shark
+Porcupine
+Porpoise
+Possum
+Potoo
+Potoroo
+Prairie Dog
+Prairie Rattlesnake
+Prawn
+Praying Mantis
+Proboscis Monkey
+Procoptodon
+Pronghorn
+Psittacosaurus
+Pteranodon
+Pterodactyl
+Pudelpointer
+Puff Adder
+Pufferfish
+Puffin
+Pug
+Pugapoo
+Puggle
+Pugshire
+Puma
+Pumi
+Purple Emperor Butterfly
+Purple Finch
+Puss Moth
+Pygmy Hippopotamus
+Pygmy Marmoset (Finger Monkey)
+Pygmy Shark
+Pygmy python
+Pygora Goat
+Pyjama Shark
+Pyrador
+Pyredoodle
+Python
+Quagga
+Quail
+Queen snake
+Quetzal
+Quokka
+Quoll
+Rabbit
+Raccoon
+Raccoon Dog
+Racer Snake
+Radiated Tortoise
+Ragamuffin
+Ragdoll
+Raggle
+Rainbow Boa
+Rainbow Shark
+Rat
+Rat Snakes
+Rat Terrier
+Rattlesnake
+Red Diamondback Rattlesnake
+Red Finch
+Red Fox
+Red Kite
+Red Knee Tarantula
+Red Panda
+Red Racer Snake
+Red Spitting Cobra
+Red Squirrel
+Red Tail Boa (common boa)
+Red Wolf
+Red-Bellied Black Snake
+Red-Billed Quelea Bird
+Red-Eared Slider
+Red-Eyed Tree Frog
+Red-Footed Tortoise
+Red-Headed Vulture
+Red-Lipped Batfish
+Red-Shouldered Hawk
+Red-handed Tamarin
+Red-winged blackbird
+Redback Spider
+Redbone Coonhound
+Redtail Catfish
+Reef Shark
+Reindeer
+Repenomamus
+Reticulated python
+Rhino Viper
+Rhinoceros
+Rhombic Egg-Eater Snake
+Ribbon Eel
+Ribbon Snake
+Ring-billed Gull
+Ringed Kingfisher
+Rinkhals Snake
+River Otter
+River Turtle
+Robin
+Rock Crab
+Rock Hyrax
+Rock Python
+Rockfish
+Rockhopper Penguin
+Rodents
+Roe Deer
+Rooster
+Rose-breasted Grosbeak
+Roseate Spoonbill
+Rosy Boa
+Rottsky
+Rottweiler
+Rough Green Snake
+Royal Penguin
+Rubber Boa
+Ruby-Throated Hummingbird
+Ruddy Turnstone
+Russell Terrier
+Russel’s Viper
+Russian Bear Dog
+Russian Blue
+Russian Tortoise
+Saanen Goat
+Saarloos Wolfdog
+Saber-Toothed Tiger
+Sable
+Sable Black German Shepherd
+Sable Ferret
+Saiga
+Saint Berdoodle
+Saint Bernard
+Saint Shepherd
+Salamander
+Salmon
+Salmon Shark
+Saluki
+Sambar
+Samoyed
+San Francisco Garter Snake
+Sand Crab
+Sand Lizard
+Sand Tiger Shark
+Sand Viper
+Sandhill Crane
+Saola
+Sardines
+Satanic leaf-tailed gecko
+Sauropoda
+Savanna Goat
+Savannah Sparrow
+Savu Python
+Saw-scaled viper
+Sawfish
+Scarab Beetle
+Scarlet Kingsnake
+Scarlet Macaw
+Schipperke
+Schneagle
+Schnoodle
+Scimitar-horned Oryx
+Scorpion
+Scorpion Fish
+Scottish Terrier
+Scrotum Frog
+Sculpin
+Sea Anemone
+Sea Dragon
+Sea Eagle
+Sea Lion
+Sea Otter
+Sea Roach
+Sea Slug
+Sea Snake
+Sea Squirt
+Sea Turtle
+Sea Urchin
+Seagull
+Seahorse
+Seal
+Sealyham Terrier
+Sei Whale
+Senegal Parrot
+Serval
+Shark
+Sharp-Shinned Hawk
+Sharp-Tailed Snake
+Sheep
+Sheepadoodle
+Shepadoodle
+Shepkita
+Shepweiler
+Shiba Inu
+Shih Poo
+Shih Tzu
+Shoebill Stork
+Shollie
+Short-Faced Bear
+Shortfin Mako Shark
+Shrew
+Shrimp
+Siamese
+Siberian
+Siberian Husky
+Siberian Ibex
+Siberian Retriever
+Siberian Tiger
+Siberpoo
+Sidewinder
+Silkie Chicken
+Silky Shark
+Silky Terrier
+Silver Dollar
+Silver Labrador
+Sinosauropteryx
+Sixgill shark
+Skate Fish
+Skink Lizard
+Skipjack Tuna
+Skunk
+Skye Terrier
+Sleeper Shark
+Sloth
+Slow Worm
+Slug
+Smokybrown Cockroach
+Smooth Fox Terrier
+Smooth Green Snake
+Smooth Snake
+Snail
+Snake
+Snapping Turtle
+Snook Fish
+Snorkie
+Snouted Cobra
+Snow Crab
+Snow Leopard
+Snowberry Clearwing Moth
+Snowshoe
+Snowshoe Hare
+Snowy Owl
+Sockeye Salmon
+Somali
+Song Sparrow
+Song Thrush
+South China Tiger
+Southern Black Racer
+Southern Hognose Snake
+Southern Pacific Rattlesnake
+Spadefoot Toad
+Spanador
+Spanish Goat
+Spanish Mastiff
+Sparrow
+Sparrowhawk
+Speckled Kingsnake
+Spectacled Bear
+Sperm Whale
+Sphynx Traits: What to Know Before You Buy
+Spider
+Spider Ball Python
+Spider Monkey
+Spider Wasp
+Spider-Tailed Horned Viper
+Spinner Shark
+Spinone Italiano
+Spinosaurus
+Spiny Dogfish
+Spiny Hill Turtle
+Spiny bush viper
+Spitting Cobra
+Spixs Macaw
+Sponge
+Spotted Gar
+Spotted Lanternfly
+Spotted python
+Springador
+Springbok
+Springerdoodle
+Squash Beetle
+Squid
+Squirrel
+Squirrel Monkey
+Squirrelfish
+Sri Lankan Elephant
+Stabyhoun
+Staffordshire Bull Terrier
+Stag Beetle
+Standard Schnauzer
+Star-nosed mole
+Starfish
+Stargazer Fish
+Steelhead Salmon
+Steller’s Sea Cow
+Stick Insect
+Stiletto Snake
+Stingray
+Stoat
+Stone Crab
+Stork
+Strawberry Hermit Crab
+Striped Hyena
+Striped Rocket Frog
+Sturgeon
+Styracosaurus
+Suchomimus
+Sucker Fish
+Sugar Glider
+Sulcata Tortoise
+Sumatran Elephant
+Sumatran Orang-utan
+Sumatran Rhinoceros
+Sumatran Tiger
+Sun Bear
+Sunbeam Snake
+Surgeonfish
+Swai Fish
+Swan
+Swedish Vallhund
+Syrian Hamster
+Taco Terrier
+Taipan
+Takin
+Tamaskan
+Tang
+Tapanuli Orang-utan
+Tapir
+Tarantula Hawk
+Tarbosaurus
+Tarpon
+Tarsier
+Tasmanian Devil
+Tasmanian Tiger
+Tawny Owl
+Teddy Bear Hamster
+Teddy Roosevelt Terrier
+Telescope Fish
+Tennessee Walking Horse
+Tentacled Snake
+Tenterfield Terrier
+Termite
+Terrier
+Terror Bird
+Tetra
+Texas Blind Snake
+Texas Coral Snake
+Texas Garter Snake
+Texas Heeler
+Texas Indigo Snake
+Texas Night Snake
+Texas Rat Snake
+Texas Spiny Lizard
+Thai Ridgeback
+Thorny Devil
+Thresher Shark
+Thrush
+Thylacoleo
+Tibetan Fox
+Tibetan Mastiff
+Tibetan Spaniel
+Tibetan Terrier
+Tick
+Tiffany
+Tiger
+Tiger Beetle
+Tiger Moth
+Tiger Rattlesnake
+Tiger Salamander
+Tiger Shark
+Timber Rattlesnake (Canebrake Rattlesnake)
+Timor python
+Tire Track Eel
+Titanoboa
+Toadfish
+Tomato Hornworm
+Torkie
+Tortoise
+Toucan
+Toy Fox Terrier
+Toy Poodle
+Transylvanian Hound
+Tree Frog
+Tree Kangaroo
+Tree Snake
+Tree Viper (Bamboo Viper)
+Tree swallow
+Treecreeper
+Treeing Tennessee Brindle
+Treeing Walker Coonhound
+Troodon
+Tropicbird
+Trout
+Tsetse Fly
+Tuatara
+Tufted Titmouse
+Tuna
+Turkey
+Turkish Angora
+Turtles
+Twig Snake
+Tyrannosaurus Rex
+Uakari
+Uguisu
+Uinta Ground Squirrel
+Uintatherium
+Umbrellabird
+Unau (Linnaeus’s Two-Toed Sloth)
+Ural owl
+Urutu Snake
+Utonagan
+Vampire Bat
+Vampire Crab
+Vampire Squid
+Vaquita
+Velociraptor
+Venus Flytrap
+Vermilion Flycatcher
+Vervet Monkey
+Vicuña
+Vine Snake
+Vinegaroon
+Viper
+Viper Boa
+Viper shark (dogfish)
+Viperfish
+Virgin Islands Dwarf Gecko
+Vizsla
+Volpino Italiano
+Vulture
+Wahoo Fish
+Waimanu
+Walking Catfish
+Wallaby
+Walleye Fish
+Walrus
+Wandering Albatross
+Warthog
+Wasp
+Water Buffalo
+Water Dragon
+Water Vole
+Wax Moth
+Weasel
+Weaver Bird
+Weimaraner
+Weimardoodle
+Wels Catfish
+Welsh Corgi
+Welsh Terrier
+West Highland Terrier
+Western Blind Snake
+Western Diamondback Rattlesnake
+Western Gorilla
+Western Green Mamba
+Western Hognose Snake
+Western Lowland Gorilla
+Western Rat Snake
+Westiepoo
+Whale Shark
+Wheaten Terrier
+Whimbrel
+Whinchat
+Whippet
+Whiptail Lizard
+White Butterfly
+White Ferret / Albino Ferrets
+White Rhinoceros
+White Shark
+White Tiger
+White-Eyed Vireo
+White-Faced Capuchin
+White-Tailed Eagle
+White-tail deer
+Whiting
+Whoodle
+Whooping Crane
+Wild Boar
+Wildebeest
+Willow Warbler
+Winter Moth
+Wire Fox Terrier
+Wirehaired Pointing Griffon
+Wolf
+Wolf Eel
+Wolf Snake
+Wolf Spider
+Wolffish
+Wolverine
+Woma python
+Wombat
+Wood Bison
+Wood Frog
+Wood Tick
+Wood Turtle
+Woodlouse
+Woodlouse Spider
+Woodpecker
+Woodrat
+Woolly Mammoth
+Woolly Monkey
+Woolly Rhinoceros
+Worm
+Worm Snake
+Wrasse
+Writing Spider
+Wrought Iron Butterflyfish
+Wyoming Toad
+X-Ray Tetra
+Xerus
+Xoloitzcuintli
+Yak
+Yakutian Laika
+Yarara
+Yellow Anaconda
+Yellow Cobra
+Yellow Sac Spider
+Yellow Spotted Lizard
+Yellow Tang
+Yellow-Bellied Sea Snake
+Yellow-Eyed Penguin
+Yellowfin Tuna
+Yeti Crab
+Yoranian
+Yorkie Bichon
+Yorkie-poo
+Yorkshire Terrier
+Zebra
+Zebra Finch
+Zebra Mussels
+Zebra Pleco
+Zebra Shark
+Zebra Snake
+Zebra Spitting Cobra
+Zebu
+Zonkey
+Zorse
+Zuchon
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/aspect-ratio.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/aspect-ratio.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3f4aa07af00b33875b0f289e3531573c992d93ad
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/aspect-ratio.txt
@@ -0,0 +1,13 @@
+1.33:1 aspect ratio
+1.37:1 (Academy) aspect ratio
+1.85:1 aspect ratio
+16:9 aspect ratio
+2.35:1 (Cinemascope) aspect ratio
+2.39:1 anamorphic aspect ratio
+2.59:1 (Cinerama) aspect ratio
+2.65:1 (Cinerama) aspect ratio
+2.66:1 (Cinemascope) aspect ratio
+2.76:1 (70mm) aspect ratio
+2:1 aspect ratio
+4:3 aspect ratio
+5:4 aspect ratio
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/bird.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/bird.txt
new file mode 100644
index 0000000000000000000000000000000000000000..34d406c5275017dda3e864895e386f727c9bfb5b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/bird.txt
@@ -0,0 +1,237 @@
+(Northern Bobwhite)
+(Ring-necked Pheasant)
+Alder Flycatcher
+American Bittern
+American Black Duck
+American Coot
+American Crow
+American Goldfinch
+American Kestrel
+American Pipit
+American Redstart
+American Robin
+American Tree Sparrow
+American Wigeon
+American Woodcock
+Baird’s Sandpiper
+Bald Eagle
+Baltimore Oriole
+Bank Swallow
+Barn Swallow
+Barred Owl
+Bay-breasted Warbler
+Belted Kingfisher
+Black Tern
+Black-and-white Warbler
+Black-backed Woodpecker
+Black-billed Cuckoo
+Black-capped Chickadee
+Black-crowned Night-Heron
+Black-throated Blue Warbler
+Black-throated Green Warbler
+Blackburnian Warbler
+Blackpoll Warbler
+Blue Jay
+Blue-gray Gnatcatcher
+Blue-headed Vireo
+Blue-winged Teal
+Blue-winged Warbler
+Bobolink
+Bonaparte’s Gull
+Brant
+Broad-winged Hawk
+Brown Creeper
+Brown Thrasher
+Brown-headed Cowbird
+Bufflehead
+Cackling Goose
+Canada Goose
+Canada Warbler
+Canvasback
+Cape May Warbler
+Carolina Wren
+Caspian Tern
+Cedar Waxwing
+Chestnut-sided Warbler
+Chimney Swift
+Chipping Sparrow
+Clay-coloured Sparrow
+Cliff Swallow
+Common Goldeneye
+Common Grackle
+Common Loon
+Common Merganser
+Common Nighthawk
+Common Raven
+Common Redpoll
+Common Tern
+Common Yellowthroat
+Connecticut Warbler
+Cooper’s Hawk
+Dark-eyed Junco
+Double-crested Cormorant
+Downy Woodpecker
+Dunlin
+Eastern Bluebird
+Eastern Kingbird
+Eastern Meadowlark
+Eastern Phoebe
+Eastern Screech-Owl
+Eastern Towhee
+Eastern Whip-poor-will
+Eastern Wood-Pewee
+European Starling
+Evening Grosbeak
+Field Sparrow
+Fox Sparrow
+Gadwall
+Glaucous Gull
+Golden Eagle
+Golden-crowned Kinglet
+Golden-winged Warbler
+Grasshopper Sparrow
+Gray Catbird
+Gray-cheeked Thrush
+Great Black-backed Gull
+Great Blue Heron
+Great Crested Flycatcher
+Great Egret
+Great Horned Owl
+Greater Scaup
+Greater White-fronted Goose
+Greater Yellowlegs
+Green Heron
+Green-winged Teal
+Hairy Woodpecker
+Hermit Thrush
+Herring Gull
+Hooded Merganser
+Hooded Warbler
+Horned Grebe
+Horned Lark
+House Finch
+House Sparrow
+House Wren
+Iceland Gull
+Indigo Bunting
+Killdeer
+Lapland Longspur
+Laughing Gull
+LeConte’s Sparrow
+Least Flycatcher
+Least Sandpiper
+Lesser Black-backed Gull
+Lesser Scaup
+Lesser Yellowlegs
+Lincoln’s Sparrow
+Little Blue Heron
+Long-eared Owl
+Long-tailed Duck
+Magnolia Warbler
+Mallard
+Marsh Wren
+Merlin
+Mourning Dove
+Mourning Warbler
+Mute Swan
+Nashville Warbler
+Nelson’s Sparrow
+Northern Cardinal
+Northern Flicker
+Northern Goshawk
+Northern Harrier
+Northern Mockingbird
+Northern Parula
+Northern Pintail
+Northern Rough-winged Swallow
+Northern Saw-whet Owl
+Northern Shoveler
+Northern Shrike
+Northern Waterthrush
+Olive-sided Flycatcher
+Orange-crowned Warbler
+Orchard Oriole
+Osprey
+Ovenbird
+Palm Warbler
+Pectoral Sandpiper
+Peregrine Falcon
+Philadelphia Vireo
+Pied-billed Grebe
+Pileated Woodpecker
+Pine Siskin
+Pine Warbler
+Prairie Warbler
+Purple Finch
+Purple Martin
+Red Crossbill
+Red-bellied Woodpecker
+Red-breasted Merganser
+Red-breasted Nuthatch
+Red-eyed Vireo
+Red-headed Woodpecker
+Red-neck Grebe
+Red-shouldered Hawk
+Red-tailed Hawk
+Red-winged Blackbird
+Redhead
+Ring-billed Gull
+Ring-necked Duck
+Rock Pigeon
+Rose-breasted Grosbeak
+Rough-legged Hawk
+Ruby-crowned Kinglet
+Ruby-throated Hummingbird
+Ruddy Duck
+Ruddy Turnstone
+Ruffed Grouse
+Rusty Blackbird
+Sandhill Crane
+Savannah Sparrow
+Scarlet Tanager
+Semipalmated Plover
+Semipalmated Sandpiper
+Sharp-shinned Hawk
+Short-billed Dowitcher
+Short-eared Owl
+Snow Bunting
+Snow Goose
+Solitary Sandpiper
+Song Sparrow
+Sora
+Spotted Sandpiper
+Spotted Towhee
+Swainson’s Thrush
+Swamp Sparrow
+Tennessee Warbler
+Thayer’s Gull
+Tree Swallow
+Trumpeter Swan
+Tundra Swan
+Turkey Vulture
+Upland Sandpiper
+Veery
+Vesper Sparrow
+Virginia Rail
+Warbling Vireo
+White-breasted Nuthatch
+White-crowned Sparrow
+White-eyed Vireo
+White-rumped Sandpiper
+White-throated Sparrow
+White-winged Crossbill
+Wild Turkey
+Willow Flycatcher
+Wilson’s Snipe
+Wilson’s Warbler
+Winter Wren
+Wood Duck
+Wood Thrush
+Yellow Warbler
+Yellow-bellied Flycatcher
+Yellow-bellied Sapsucker
+Yellow-billed Cuckoo
+Yellow-breasted Chat
+Yellow-headed Blackbird
+Yellow-rumped Warbler
+Yellow-throated Vireo
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/bodyshape.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/bodyshape.txt
new file mode 100644
index 0000000000000000000000000000000000000000..122156c269c939361e7891c5c52f5d8e3a052605
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/bodyshape.txt
@@ -0,0 +1,13 @@
+buff
+bulky
+burly
+chubby
+elegant
+fat
+fit
+lanky
+ripped
+rough
+skinny
+slender
+thin
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/celeb.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/celeb.txt
new file mode 100644
index 0000000000000000000000000000000000000000..36587bb311e02cad63ee7963d92b918e56f68d2a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/celeb.txt
@@ -0,0 +1,525 @@
+AJ Lee
+Addison Rae
+Adele
+Adriana Lima
+Adrianne Palicki
+Adèle Exarchopoulos
+Aimee Lou Wood
+Alanna Masterson
+Alejandra Guilmant
+Alessandra Ambrosio
+Alex Morgan
+Alexa Bliss
+Alexandra Daddario
+Alexis Ren
+Alica Schmidt
+Alice Eve
+Alicia Vikander
+Alison Brie
+Allison Stokke
+Allison Williams
+Aly Michalka
+Aly Raisman
+Alycia Debnam-Carey
+Alyson Hannigan
+Alyssa Milano
+Amanda Cerny
+Amanda Seyfried
+Amber Heard
+Amy Adams
+Amy Smart
+Ana de Armas
+Angela Kinsey
+Angela Sarafyan
+Angelina Jolie
+Anitta
+Anna Akana
+Anna Faris
+Anna Kendrick
+Anna Kournikova
+Anna Paquin
+AnnaSophia Robb
+Anne Hathaway
+Anya Chalotra
+Anya Taylor-Joy
+April Bowlby
+Ariana Grande
+Ariel Winter
+Ashley Benson
+Ashley Graham
+Ashley Greene
+Ashley Park
+Ashley Tisdale
+Aubrey Plaza
+Auli’i Cravalho
+Avril Lavigne
+Awkwafina
+Bailee Madison
+Bar Refaeli
+Barbara Palvin
+Bebe Rexha
+Becky G
+Becky Lynch
+Bella Hadid
+Bella Thorne
+Beth Behrs
+Betty Gilpin
+Beyoncé
+Billie Eilish
+Blake Lively
+Bonnie Wright
+Brenda Song
+Brianna Hildebrand
+Brie Bella
+Brie Larson
+Brighton Sharbino
+Britney Spears
+Brittany Snow
+Brooklyn Decker
+Bryce Dallas Howard
+CJ Perry
+Caity Lotz
+Cameron Diaz
+Camila Cabello
+Camila Mendes
+Camilla Luddington
+Candice Swanepoel
+Cara Delevingne
+Cardi B
+Carey Mulligan
+Carice van Houten
+Carla Gugino
+Carly Rae Jepsen
+Caroline Vreeland
+Cate Blanchett
+Caylee Cowan
+Charisma Carpenter
+Charli D’Amelio
+Charli XCX
+Charlize Theron
+Charlotte Flair
+Charlotte McKinney
+Chelsea Handler
+Chloe Bennet
+Chloe Kim
+Chloë Grace Moretz
+Chloë Sevigny
+Chrissy Teigen
+Christen Harper
+Christian Serratos
+Christina Aguilera
+Christina Hendricks
+Christina Ricci
+Cindy Crawford
+Cobie Smulders
+Courteney Cox
+Cristin Milioti
+Daisy Edgar-Jones
+Daisy Ridley
+Dakota Fanning
+Dakota Johnson
+Danielle Panabaker
+Debby Ryan
+Deborah Ann Woll
+Demi Lovato
+Demi Moore
+Demi Rose
+Denise Richards
+Diana Silvers
+Diane Guerrero
+Diane Kruger
+Diora Baird
+Disha Patani
+Dixie D’Amelio
+Doja Cat
+Dominique McElligott
+Dove Cameron
+Drew Barrymore
+Dua Lipa
+Eiza González
+Eleanor Tomlinson
+Elisabeth Shue
+Elisha Cuthbert
+Eliza Dushku
+Elizabeth Banks
+Elizabeth Debicki
+Elizabeth Gillies
+Elizabeth Hurley
+Elizabeth Olsen
+Elizabeth Turner
+Elle Fanning
+Ellie Goulding
+Ellie Kemper
+Elsa Hosk
+Elsa Pataky
+Elsie Hewitt
+Emilia Clarke
+Emily Bett Rickards
+Emily Blunt
+Emily Kinney
+Emily Osment
+Emily Ratajkowski
+Emily VanCamp
+Emma Kenney
+Emma Mackey
+Emma Raducanu
+Emma Roberts
+Emma Stone
+Emma Watson
+Emmanuelle Chriqui
+Emmy Rossum
+Erin Moriarty
+Eugenie Bouchard
+Eva Amurri
+Eva Green
+Eva Longoria
+Eva Mendes
+Evan Rachel Wood
+Evangeline Lilly
+Felicity Jones
+Florence Pugh
+Freya Allan
+Gal Gadot
+Gemma Arterton
+Giada De Laurentiis
+Gigi Hadid
+Gillian Anderson
+Gillian Jacobs
+Gina Carano
+Gisele Bündchen
+Gwen Stefani
+Gwyneth Paltrow
+Hailee Steinfeld
+Hailey Bieber
+Halle Berry
+Halsey
+Hannah Simone
+Hayden Panettiere
+Hayley Atwell
+Heather Graham
+Heidi Klum
+Helen Mirren
+Helene Fischer
+Hilary Duff
+HoYeon Jung
+Holly Willoughby
+Hunter King
+Hunter Schafer
+Iggy Azalea
+Ilana Glazer
+Iliza Shlesinger
+Imogen Poots
+Ireland Baldwin
+Irina Shayk
+Iris Apatow
+Isabela Merced
+Isidora Goreshter
+Isla Fisher
+Jackie Cruz
+Jaime Pressly
+Jaimie Alexander
+Jamie Chung
+Jamie Lee Curtis
+Jane Levy
+January Jones
+Jenna Coleman
+Jenna Dewan
+Jenna Fischer
+Jennette McCurdy
+Jennifer Aniston
+Jennifer Connelly
+Jennifer Garner
+Jennifer Holland
+Jennifer Lawrence
+Jennifer Lopez
+Jennifer Love Hewitt
+Jennifer Morrison
+Jenny Slate
+Jessica Alba
+Jessica Biel
+Jessica Chastain
+Jessica Parker Kennedy
+Jessica Paré
+Jessica Simpson
+Jewel Staite
+JoJo
+Jodie Comer
+Joey King
+Jordana Brewster
+Jordyn Huitema
+Jordyn Jones
+Josephine Skriver
+Judy Greer
+Julia Fox
+Julia Garner
+Julianne Hough
+Julianne Moore
+Julie Bowen
+Juno Temple
+Jutta Leerdam
+Kaia Gerber
+Kaitlyn Dever
+Kaley Cuoco
+Karen Fukuhara
+Karen Gillan
+Karlie Kloss
+Kat Dennings
+Kate Beckinsale
+Kate Hudson
+Kate Mara
+Kate Upton
+Kate Winslet
+Katelyn Nacon
+Katelyn Ohashi
+Katherine Heigl
+Katherine Langford
+Katherine McNamara
+Katherine Waterston
+Katheryn Winnick
+Kathryn Hahn
+Katie Holmes
+Katy Perry
+Kaya Scodelario
+Keira Knightley
+Kelly Brook
+Kelly Rohrbach
+Kendall Jenner
+Kerry Washington
+Kesha
+Khloé Kardashian
+Kiernan Shipka
+Kim Kardashian
+Kimberley Garner
+Kimiko Glenn
+Kira Kosarin
+Kirsten Dunst
+Kourtney Kardashian
+Kristen Bell
+Kristen Stewart
+Kristen Wiig
+Kristin Kreuk
+Krysten Ritter
+Kylie Jenner
+Kylie Minogue
+Lacey Chabert
+Lady Gaga
+Lais Ribeiro
+Lake Bell
+Lana Del Rey
+Larsen Thompson
+Laura Harrier
+Laura Prepon
+Lauren Cohan
+Lea Seydoux
+Leelee Sobieski
+Leila Lowfire
+Lena Gercke
+Lena Headey
+Lena Meyer-Landrut
+Leslie Mann
+Lili Reinhart
+Lili Simmons
+Lily Chee
+Lily Collins
+Lily James
+Lily Sheen
+Lily-Rose Depp
+Linda Cardellini
+Lindsay Lohan
+Lindsey Pelas
+Lindsey Vonn
+Lisa Kudrow
+Liv Tyler
+Lizzy Caplan
+Lorde
+Lucy Hale
+Lucy Lawless
+Lucy Liu
+Lucy Pinder
+Lupita Nyong’o
+Lyndsy Fonseca
+Mackenzie Davis
+Mackenzie Foy
+Mackenzie Ziegler
+Maddie Ziegler
+Madelaine Petsch
+Madison Beer
+Madison Pettis
+Madisyn Shipman
+Madonna
+Maggie Grace
+Maggie Gyllenhaal
+Maia Mitchell
+Maisie Williams
+Malin Åkerman
+Mandy Moore
+Margaret Qualley
+Margot Robbie
+Maria Bakalova
+Maria Menounos
+Maria Sharapova
+Mariah Carey
+Marion Cotillard
+Marisa Tomei
+Mary Elizabeth Winstead
+Maryse
+María Pedraza
+Maude Apatow
+Maya Hawke
+McKayla Maroney
+Meagan Good
+Megan Fox
+Megan Thee Stallion
+Meghan Markle
+Melissa Benoist
+Melissa Fumero
+Melissa Rauch
+Mena Suvari
+Michelle Jenneke
+Michelle Monaghan
+Michelle Rodriguez
+Michelle Trachtenberg
+Michelle Williams
+Miesha Tate
+Mila Kunis
+Milana Vayntrub
+Miley Cyrus
+Milla Jovovich
+Millie Bobby Brown
+Minka Kelly
+Miranda Cosgrove
+Miranda Kerr
+Monica Bellucci
+Morena Baccarin
+Naomi Campbell
+Naomi Scott
+Naomi Watts
+Natalia Dyer
+Natalie Alyn Lind
+Natalie Dormer
+Natalie Portman
+Natasha Lyonne
+Nathalie Emmanuel
+Neve Campbell
+Nicki Minaj
+Nicole Kidman
+Nicole Scherzinger
+Nikki Bella
+Nikki Glaser
+Nina Agdal
+Nina Dobrev
+Normani
+Olga Kurylenko
+Olivia Culpo
+Olivia Munn
+Olivia Rodrigo
+Olivia Taylor Dudley
+Olivia Wilde
+Padma Lakshmi
+Paige
+Paige Spiranac
+Paige VanZant
+Palina Rojinski
+Pamela Anderson
+Paris Hilton
+Paulina Gaitán
+Penélope Cruz
+Peyton List
+Phoebe Tonkin
+Pokimane
+Pom Klementieff
+Priyanka Chopra
+Rachel Bilson
+Rachel Brosnahan
+Rachel Cook
+Rachel McAdams
+Rachel Weisz
+Rachel Zegler
+Rashida Jones
+Rebecca Black
+Rebecca Ferguson
+Reese Witherspoon
+Rhea Seehorn
+Rihanna
+Rita Ora
+Robin Wright
+Ronda Rousey
+Ronja Forcher
+Rooney Mara
+Rosamund Pike
+Rosario Dawson
+Rose Byrne
+Rose Leslie
+Rose McIver
+Rosie Huntington-Whiteley
+Ruby O. Fee
+Ruby Rose
+Sabrina Carpenter
+Sadie Sink
+Salma Hayek
+Samara Weaving
+Sammi Hanratty
+Sandra Bullock
+Saoirse Ronan
+Sara Sampaio
+Sara Underwood
+Sarah Chalke
+Sarah Hyland
+Sarah McDaniel
+Sarah Michelle Gellar
+Sarah Paulson
+Sarah Shahi
+Sarah Silverman
+Sasha Alexander
+Sasha Banks
+Saweetie
+Scarlett Johansson
+Selena Gomez
+Serena Williams
+Shailene Woodley
+Shakira
+Shanola Hampton
+Shantel VanSanten
+Sharon Stone
+Sienna Miller
+Simone Biles
+Sofía Vergara
+Sophia Lillis
+Sophia Thomalla
+Sophie Turner
+Stacy Keibler
+Stephanie Beatriz
+Stephanie McMahon
+Susan Sarandon
+Sydney Sweeney
+Taylor Hill
+Taylor Schilling
+Taylor Swift
+Tessa Thompson
+Thomasin McKenzie
+Tiffani Thiessen
+Tina Fey
+Tinashe
+Torrie Wilson
+Tove Lo
+Tyra Banks
+Uma Thurman
+Ursula Corberó
+Vanessa Hudgens
+Vanessa Kirby
+Vica Kerekes
+Victoria De Angelis
+Victoria Justice
+Whitney Cummings
+Willa Fitzgerald
+Willa Holland
+Winona Ryder
+Yanet Garcia
+Yvonne Strahovski
+Zara Larsson
+Zazie Beetz
+Zendaya
+Zoe Saldana
+Zoey Deutch
+Zooey Deschanel
+Zoë Kravitz
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/details.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/details.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3b77af046f54e0ddd52e784a7286297645b4007f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/details.txt
@@ -0,0 +1,30 @@
+Complicated
+Convoluted
+Dazzling
+Detailed
+Elaborate
+Exact
+Exhaustive
+Exquisite
+Extensive
+Far-reaching
+Fine
+Grandiose
+Imperceptible detail
+In-depth
+Informative
+Intricate
+Intricately designed
+Lavish
+Magnificent
+Ornate
+Precious
+Precise
+Refined
+Splendid
+Stately
+Step-by-step
+Sumptuous
+Thorough
+luxurious
+opulent
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/dinosaur.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/dinosaur.txt
new file mode 100644
index 0000000000000000000000000000000000000000..47230ff1b8c35d77ede23833b3b6f5be51d3a0d3
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/dinosaur.txt
@@ -0,0 +1,535 @@
+Aardonyx
+Abelisaurus
+Abrictosaurus
+Abrosaurus
+Abydosaurus
+Acanthopholis
+Achelousaurus
+Achillobator
+Acrocanthosaurus
+Adamantisaurus
+Adasaurus
+Adeopapposaurus
+Aegyptosaurus
+Aeolosaurus
+Aerosteon
+Afrovenator
+Agilisaurus
+Agustinia
+Alamosaurus
+Alaskacephale
+Albertonykus
+Albertosaurus
+Alectrosaurus
+Aletopelta
+Alioramus
+Allosaurus
+Altirhinus
+Alvarezsaurus
+Alxasaurus
+Amargasaurus
+Amazonsaurus
+Ammosaurus
+Ampelosaurus
+Amphicoelias
+Amurosaurus
+Anabisetia
+Anatosaurus
+Anatotitan
+Anchiornis
+Anchisaurus
+Andesaurus
+Angaturama
+Angolatitan
+Angulomastacator
+Animantarx
+Ankylosaurus
+Anserimimus
+Antarctopelta
+Antarctosaurus
+Antetonitrus
+Apatosaurus
+Appalachiosaurus
+Aragosaurus
+Aralosaurus
+Archaeoceratops
+Archaeopteryx
+Archaeornithomimus
+Argentinosaurus
+Argyrosaurus
+Aristosuchus
+Arrhinoceratops
+Astrodon
+Atlasaurus
+Atlascopcosaurus
+Atrociraptor
+Aublysodon
+Aucasaurus
+Auroraceratops
+Australodocus
+Australovenator
+Austroraptor
+Austrosaurus
+Avaceratops
+Aviatyrannis
+Avimimus
+Bactrosaurus
+Bagaceratops
+Bagaraatan
+Bahariasaurus
+Balaur
+Bambiraptor
+Barapasaurus
+Barosaurus
+Baryonyx
+Becklespinax
+Beipiaosaurus
+Beishanlong
+Bellusaurus
+Bistahieversor
+Bonitasaura
+Borogovia
+Bothriospondylus
+Brachiosaurus
+Brachyceratops
+Brachylophosaurus
+Brachytrachelopan
+Brontomerus
+Bruhathkayosaurus
+Buitreraptor
+Byronosaurus
+Camarasaurus
+Camelotia
+Camptosaurus
+Carcharodontosaurus
+Carnotaurus
+Caudipteryx
+Centrosaurus
+Cerasinops
+Ceratonykus
+Ceratosaurus
+Cetiosauriscus
+Cetiosaurus
+Chaoyangsaurus
+Charonosaurus
+Chasmosaurus
+Chialingosaurus
+Chilantaisaurus
+Chindesaurus
+Chirostenotes
+Chubutisaurus
+Chungkingosaurus
+Citipati
+Claosaurus
+Coahuilaceratops
+Coelophysis
+Coelurus
+Colepiocephale
+Compsognathus
+Concavenator
+Conchoraptor
+Condorraptor
+Corythosaurus
+Crichtonsaurus
+Cryolophosaurus
+Cryptovolans
+Dacentrurus
+Daemonosaurus
+Daspletosaurus
+Datousaurus
+Deinocheirus
+Deinonychus
+Deltadromeus
+Diabloceratops
+Diamantinasaurus
+Diceratops
+Dicraeosaurus
+Dilong
+Dilophosaurus
+Dimetrodon
+Diplodocus
+Dollodon
+Dracopelta
+Dracorex
+Dravidosaurus
+Drinker
+Dromaeosaurus
+Dromiceiomimus
+Dryosaurus
+Dryptosaurus
+Dubreuillosaurus
+Dyslocosaurus
+Dystrophaeus
+Echinodon
+Edmarka
+Edmontonia
+Edmontosaurus
+Efraasia
+Einiosaurus
+Ekrixinatosaurus
+Elaphrosaurus
+Elrhazosaurus
+Enigmosaurus
+Eocarcharia
+Eocursor
+Eodromaeus
+Eolambia
+Eoraptor
+Eotyrannus
+Epachthosaurus
+Epidendrosaurus
+Equiijubus
+Erketu
+Erlikosaurus
+Euhelopus
+Euoplocephalus
+Europasaurus
+Euskelosaurus
+Eustreptospondylus
+Fabrosaurus
+Falcarius
+Fruitadens
+Fukuiraptor
+Fukuisaurus
+Fulgurotherium
+Futalognkosaurus
+Gallimimus
+Gargoyleosaurus
+Garudimimus
+Gasosaurus
+Gasparinisaura
+Gastonia
+Giganotosaurus
+Gigantoraptor
+Gigantspinosaurus
+Gilmoreosaurus
+Giraffatitan
+Gobiceratops
+Gojirasaurus
+Gondwanatitan
+Gorgosaurus
+Goyocephale
+Gryposaurus
+Guanlong
+Hadrosaurus
+Hagryphus
+Haplocanthosaurus
+Haplocheirus
+Harpymimus
+Herrerasaurus
+Hesperonychus
+Hesperosaurus
+Heterodontosaurus
+Hexinlusaurus
+Heyuannia
+Hippodraco
+Homalocephale
+Hongshanosaurus
+Huabeisaurus
+Huaxiagnathus
+Huayangosaurus
+Hylaeosaurus
+Hypacrosaurus
+Hypselosaurus
+Hypsilophodon
+Ignavusaurus
+Iguanacolossus
+Iguanodon
+Ilokelesia
+Incisivosaurus
+Indosuchus
+Ingenia
+Irritator
+Isisaurus
+Janenschia
+Jaxartosaurus
+Jeholosaurus
+Jeyawati
+Jinfengopteryx
+Jingshanosaurus
+Jinzhousaurus
+Jobaria
+Juravenator
+Kaijiangosaurus
+Kentrosaurus
+Khaan
+Kileskus
+Kol
+Koreaceratops
+Kosmoceratops
+Kotasaurus
+Kritosaurus
+Kryptops
+Labocania
+Lagosuchus
+Lambeosaurus
+Lanzhousaurus
+Lapparentosaurus
+Leaellynasaura
+Leptoceratops
+Lesothosaurus
+Lessemsaurus
+Lexovisaurus
+Liaoceratops
+Liliensternus
+Limusaurus
+Linhenykus
+Linheraptor
+Linhevenator
+Lophostropheus
+Lourinhanosaurus
+Luanchuanraptor
+Lufengosaurus
+Lurdusaurus
+Lycorhinus
+Magnirostris
+Magnosaurus
+Magyarosaurus
+Mahakala
+Maiasaura
+Majungatholus
+Malawisaurus
+Mamenchisaurus
+Mantellisaurus
+Mapusaurus
+Marshosaurus
+Masiakasaurus
+Massospondylus
+Maxakalisaurus
+Medusaceratops
+Megalosaurus
+Megapnosaurus
+Megaraptor
+Mei
+Melanorosaurus
+Metriacanthosaurus
+Microceratops
+Micropachycephalosaurus
+Microraptor
+Minmi
+Minotaurasaurus
+Miragaia
+Mirischia
+Mojoceratops
+Monkonosaurus
+Monoclonius
+Monolophosaurus
+Mononykus
+Mussaurus
+Muttaburrasaurus
+Mymoorapelta
+Nanotyrannus
+Nanshiungosaurus
+Nedcolbertia
+Neimongosaurus
+Nemegtomaia
+Nemegtosaurus
+Neovenator
+Neuquensaurus
+Nigersaurus
+Noasaurus
+Nodocephalosaurus
+Nodosaurus
+Nomingia
+Nothronychus
+Notohypsilophodon
+Nqwebasaurus
+Ojoceratops
+Olorotitan
+Omeisaurus
+Opisthocoelicaudia
+Ornitholestes
+Ornithomimus
+Orodromeus
+Oryctodromeus
+Othnielia
+Ouranosaurus
+Oviraptor
+Oxalaia
+Ozraptor
+Pachycephalosaurus
+Pachyrhinosaurus
+Paluxysaurus
+Panoplosaurus
+Panphagia
+Pantydraco
+Paralititan
+Paranthodon
+Parasaurolophus
+Patagosaurus
+Pawpawsaurus
+Pedopenna
+Pelecanimimus
+Pelorosaurus
+Pentaceratops
+Phuwiangosaurus
+Piatnitzkysaurus
+Pinacosaurus
+Pisanosaurus
+Plateosaurus
+Pleurocoelus
+Podokesaurus
+Poekilopleuron
+Polacanthus
+Prenocephale
+Prenoceratops
+Probactrosaurus
+Proceratosaurus
+Procompsognathus
+Propanoplosaurus
+Prosaurolophus
+Protarchaeopteryx
+Protoceratops
+Psittacosaurus
+Puertasaurus
+Pyroraptor
+Qantassaurus
+Qiaowanlong
+Quaesitosaurus
+Rahonavis
+Rajasaurus
+Rapetosaurus
+Raptorex
+Rebbachisaurus
+Regnosaurus
+Rhabdodon
+Rhoetosaurus
+Richardoestesia
+Rinchenia
+Riojasaurus
+Rugops
+Saichania
+Saltasaurus
+Saltopus
+Sanjuansaurus
+Santanaraptor
+Sarahsaurus
+Sarcolestes
+Sarcosaurus
+Saturnalia
+Saurolophus
+Sauropelta
+Saurophaganax
+Sauroposeidon
+Saurornithoides
+Saurornitholestes
+Scansoriopteryx
+Scelidosaurus
+Scipionyx
+Scutellosaurus
+Secernosaurus
+Segisaurus
+Segnosaurus
+Seismosaurus
+Seitaad
+Sellosaurus
+Shantungosaurus
+Shenzhousaurus
+Shunosaurus
+Shuvosaurus
+Shuvuuia
+Siamotyrannus
+Silvisaurus
+Similicaudipteryx
+Sinocalliopteryx
+Sinornithoides
+Sinornithomimus
+Sinornithosaurus
+Sinosauropteryx
+Sinovenator
+Sinraptor
+Sinusonasus
+Skorpiovenator
+Sonorasaurus
+Sphaerotholus
+Spinophorosaurus
+Spinosaurus
+Spinostropheus
+Staurikosaurus
+Stegoceras
+Stegosaurus
+Stenopelix
+Stokesosaurus
+Struthiomimus
+Struthiosaurus
+Stygimoloch
+Styracosaurus
+Suchomimus
+Supersaurus
+Suuwassea
+Suzhousaurus
+Szechuanosaurus
+Talarurus
+Talenkauen
+Talos
+Tanius
+Tanycolagreus
+Tarascosaurus
+Tarbosaurus
+Tarchia
+Tastavinsaurus
+Tatankacephalus
+Tawa
+Technosaurus
+Telmatosaurus
+Tenontosaurus
+Teratophoneus
+Tethyshadros
+Texacephale
+Thecodontosaurus
+Theiophytalia
+Therizinosaurus
+Thescelosaurus
+Tianyulong
+Tianyuraptor
+Timimus
+Titanoceratops
+Titanosaurus
+Torosaurus
+Torvosaurus
+Triceratops
+Troodon
+Tsaagan
+Tsintaosaurus
+Tuojiangosaurus
+Tylocephale
+Tyrannosaurus
+Tyrannotitan
+Uberabatitan
+Udanoceratops
+Unaysaurus
+Unenlagia
+Urbacodon
+Utahceratops
+Utahraptor
+Valdosaurus
+Variraptor
+Velafrons
+Velociraptor
+Vulcanodon
+Wannanosaurus
+Wellnhoferia
+Wintonotitan
+Wuerhosaurus
+Xenoposeidon
+Xenotarsosaurus
+Xiaosaurus
+Xiaotingia
+Xiongguanlong
+Xixianykus
+Xuanhanosaurus
+Xuanhuaceratops
+Yamaceratops
+Yandusaurus
+Yangchuanosaurus
+Yaverlandia
+Yimenosaurus
+Yinlong
+Yizhousaurus
+Yunnanosaurus
+Zalmoxes
+Zanabazar
+Zhuchengosaurus
+Zhuchengtyrannus
+Zuniceratops
+Zupaysaurus
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/eyecolor.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/eyecolor.txt
new file mode 100644
index 0000000000000000000000000000000000000000..964ed846c69795102fa847446cdeeaedfada4a0a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/eyecolor.txt
@@ -0,0 +1,26 @@
+Sapphire
+amber
+amethyst
+aquamarine
+black
+blue
+brown
+coral
+dark brown
+gold
+green
+grey
+grey-blue
+hazel
+ice blue
+jade
+light blue
+peach
+pink
+purple
+red
+ruby
+silver
+teal
+turquoise
+yellow
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/f-stop.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/f-stop.txt
new file mode 100644
index 0000000000000000000000000000000000000000..bc9aff61f330e0b1c839a5df51bde0cbc7165d82
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/f-stop.txt
@@ -0,0 +1,10 @@
+ƒ/1
+ƒ/1.4
+ƒ/11
+ƒ/16
+ƒ/2.8
+ƒ/22
+ƒ/5.6
+ƒ/8
+ƒ2
+ƒ4
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/fish.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/fish.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9169e51a5871888351f6bf446a7eb2d40940d89f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/fish.txt
@@ -0,0 +1,1083 @@
+African glass catfish
+African lungfish
+Aholehole
+Airbreathing catfish
+Airsac catfish
+Alaska blackfish
+Albacore
+Alewife
+Alfonsino
+Algae eater
+Alligator gar
+Alligatorfish
+Amberjack
+American sole
+Amur pike
+Anchovy
+Anemonefish
+Angelfish
+Angler
+Angler catfish
+Anglerfish
+Antarctic cod
+Antarctic icefish
+Antenna codlet
+Arapaima
+Archerfish
+Arctic char
+Armored gurnard
+Armored searobin
+Armorhead
+Armorhead catfish
+Armoured catfish
+Arowana
+Arrowtooth eel
+Asiatic glassfish
+Atka mackerel
+Atlantic bonito
+Atlantic cod
+Atlantic herring
+Atlantic salmon
+Atlantic saury
+Atlantic sharpnose shark
+Atlantic silverside
+Australasian salmon
+Australian grayling
+Australian herring
+Australian lungfish
+Australian prowfish
+Ayu
+Baikal oilfish
+Bala shark
+Ballan wrasse
+Bamboo shark
+Banded killifish
+Bandfish
+Bangus
+Banjo
+Banjo catfish
+Barb
+Barbel
+Barbel-less catfish
+Barbeled dragonfish
+Barbeled houndshark
+Barfish
+Barracuda
+Barracudina
+Barramundi
+Barred danio
+Barreleye
+Basking shark
+Bass
+Basslet
+Bat ray
+Batfish
+Beachsalmon
+Beaked salmon
+Beaked sandfish
+Beardfish
+Beluga sturgeon
+Bengal danio
+Betta
+Bichir
+Bicolor goat fish
+Bigeye
+Bigeye squaretail
+Bighead carp
+Bigmouth buffalo
+Bigscale
+Bigscale pomfret
+Billfish
+Bitterling
+Black angelfish
+Black bass
+Black dragonfish
+Black mackerel
+Black neon tetra
+Black scabbardfish
+Black scalyfin
+Black sea bass
+Black swallower
+Black tetra
+Black triggerfish
+Blackchin
+Blackfin Tuna
+Blackfish
+Blacktip reef shark
+Bleak
+Blenny
+Blind goby
+Blind shark
+Blobfish
+Blowfish
+Blue catfish
+Blue danio
+Blue eye trevalla
+Blue gourami
+Blue shark
+Blue triggerfish
+Blue whiting
+Blue-redstripe danio
+Bluefin tuna
+Bluefish
+Bluegill
+Bluntnose knifefish
+Bluntnose minnow
+Boafish
+Boarfish
+Bobtail snipe eel
+Bocaccio
+Boga
+Bombay duck
+Bonefish
+Bonito
+Bonnethead shark
+Bonnetmouth
+Bonytail
+Bonytongue
+Bowfin
+Boxfish
+Bramble shark
+Bream
+Brill
+Bristlemouth
+Bristlenose catfish
+Broadband dogfish
+Bronze corydoras
+Brook lamprey
+Brook stickleback
+Brook trout
+Brotula
+Brown trout
+Buffalo fish
+Bull shark
+Bull trout
+Bullhead
+Bullhead shark
+Bumblebee goby
+Burbot
+Buri
+Burma danio
+Burrowing goby
+Butterfish
+Butterfly ray
+Butterflyfish
+California flyingfish
+California halibut
+Canary rockfish
+Candiru
+Candlefish
+Capelin
+Cardinal tetra
+Cardinalfish
+Carp
+Carpetshark
+Carpsucker
+Cat shark
+Catalufa
+Catfish
+Catla
+Cavefish
+Celebes rainbowfish
+Central mudminnow
+Chain pickerel
+Channel bass
+Channel catfish
+Char
+Cherry salmon
+Cherubfish
+Chimaera
+Chinook salmon
+Chub
+Chubsucker
+Chum salmon
+Cichlid
+Cisco
+Climbing catfish
+Climbing gourami
+Climbing perch
+Clingfish
+Clown loach
+Clown triggerfish
+Clownfish
+Cobbler
+Cobia
+Cod
+Codlet
+Codling
+Coelacanth
+Coffinfish
+Coho salmon
+Coley
+Collared carpetshark
+Collared dogfish
+Colorado squawfish
+Combfish
+Combtail gourami
+Combtooth blenny
+Common carp
+Common tunny
+Conger eel
+Convict blenny
+Convict cichlid
+Cookie-cutter shark
+Coolie loach
+Cornetfish
+Cow shark
+Cowfish
+Cownose ray
+Crappie
+Creek chub
+Crestfish
+Crevice kelpfish
+Croaker
+Crocodile icefish
+Crocodile shark
+Crucian carp
+Cuckoo wrasse
+Cusk
+Cusk-eel
+Cutlassfish
+Cutthroat eel
+Cutthroat trout
+Dab
+Dace
+Daggertooth pike conger
+Damselfish
+Danio
+Darter
+Dartfish
+Dealfish
+Death Valley pupfish
+Deep sea eel
+Deep sea smelt
+Deepwater cardinalfish
+Deepwater flathead
+Deepwater stingray
+Delta smelt
+Demoiselle
+Denticle herring
+Desert pupfish
+Devario
+Devil ray
+Dhufish
+Discus
+Dogfish
+Dogfish shark
+Dogteeth tetra
+Dojo loach
+Dolly Varden trout
+Dolphin fish
+Dorab wolf-herring
+Dorado
+Dory
+Dottyback
+Dragon goby
+Dragonet
+Dragonfish
+Driftfish
+Driftwood catfish
+Drum
+Duckbill
+Duckbill eel
+Dusky grouper
+Dusky shark
+Dwarf gourami
+Dwarf loach
+Eagle ray
+Earthworm eel
+Eel
+Eel cod
+Eel-goby
+Eelpout
+Eeltail catfish
+Elasmobranch
+Electric catfish
+Electric eel
+Electric knifefish
+Electric ray
+Elephant fish
+Elephantnose fish
+Elver
+Ember parrotfish
+Emerald catfish
+Emperor
+Emperor angelfish
+Emperor bream
+Escolar
+Eucla cod
+Eulachon
+European chub
+European eel
+European flounder
+European minnow
+European perch
+False brotula
+False cat shark
+False moray
+False trevally
+Fangtooth
+Fathead sculpin
+Featherback
+Fierasfer
+Filefish
+Finback cat shark
+Fingerfish
+Fire bar danio
+Fire goby
+Firefish
+Flabby whale fish
+Flagblenny
+Flagfin
+Flagfish
+Flagtail
+Flashlight fish
+Flatfish
+Flathead
+Flathead catfish
+Flier
+Flounder
+Flying fish
+Flying gurnard
+Footballfish
+Forehead brooder
+Four-eyed fish
+French angelfish
+Freshwater eel
+Freshwater hatchetfish
+Freshwater shark
+Frigate mackerel
+Frilled shark
+Frogfish
+Frogmouth catfish
+Fusilier fish
+Galjoen fish
+Ganges shark
+Gar
+Garden eel
+Garibaldi
+Garpike
+Ghost fish
+Ghost flathead
+Ghost knifefish
+Ghost pipefish
+Ghost shark
+Ghoul
+Giant danio
+Giant gourami
+Giant sea bass
+Gibberfish
+Gila trout
+Gizzard shad
+Glass catfish
+Glass knifefish
+Glassfish
+Glowlight danio
+Goatfish
+Goblin shark
+Goby
+Golden dojo
+Golden loach
+Golden shiner
+Golden trout
+Goldeye
+Goldfish
+Gombessa
+Goosefish
+Gopher rockfish
+Gourami
+Grass carp
+Graveldiver
+Gray mullet
+Gray reef shark
+Grayling
+Great white shark
+Green spotted puffer
+Green swordtail
+Greeneye
+Greenling
+Grenadier
+Ground shark
+Grouper
+Grunion
+Grunt
+Grunt sculpin
+Grunter
+Gudgeon
+Guitarfish
+Gulf menhaden
+Gulper
+Gulper eel
+Gunnel
+Guppy
+Gurnard
+Haddock
+Hagfish
+Hairtail
+Hake
+Halfbeak
+Halfmoon
+Halibut
+Halosaur
+Hamlet
+Hammerhead shark
+Hammerjaw
+Handfish
+Hardhead catfish
+Harelip sucker
+Hatchetfish
+Hawkfish
+Herring
+Herring smelt
+Hickory Shad
+Hillstream loach
+Hog sucker
+Hoki
+Horn shark
+Horsefish
+Houndshark
+Huchen
+Humuhumunukunukuapua'a
+Hussar
+Icefish
+Ide
+Ilish, Hilsha
+Inanga
+Inconnu
+Jack
+Jack Dempsey
+Jackfish
+Japanese eel
+Javelin
+Jawfish
+Jellynose fish
+Jewel tetra
+Jewelfish
+Jewfish
+John Dory
+Kafue pike
+Kahawai
+Kaluga
+Kanyu
+Kelp perch
+Kelpfish
+Killifish
+King of the herrings
+King-of-the-salmon
+Kingfish
+Kissing gourami
+Knifefish
+Knifejaw
+Koi
+Kokanee
+Kokopu
+Kuhli loach
+Labyrinth fish
+Ladyfish
+Lake chub
+Lake trout
+Lake whitefish
+Lampfish
+Lamprey
+Lancetfish
+Lanternfish
+Largemouth bass
+Leaffish
+Leatherjacket
+Lefteye flounder
+Lemon shark
+Lemon sole
+Lemon tetra
+Lenok
+Leopard danio
+Lightfish
+Limia
+Lined sole
+Ling
+Ling cod
+Lionfish
+Livebearer
+Lizardfish
+Loach
+Loach catfish
+Loach goby
+Loach minnow
+Long-finned char
+Long-finned pike
+Long-finned sand diver
+Long-whiskered catfish
+Longfin
+Longfin dragonfish
+Longfin escolar
+Longfin smelt
+Longjaw mudsucker
+Longneck eel
+Longnose chimaera
+Longnose dace
+Longnose lancetfish
+Longnose sucker
+Longnose whiptail catfish
+Loosejaw
+Lost River sucker
+Louvar
+Loweye catfish
+Luderick
+Luminous hake
+Lumpsucker
+Lungfish
+Mackerel
+Mackerel shark
+Madtom
+Mahi-mahi
+Mahseer
+Mail-cheeked fish
+Mako shark
+Man-of-war fish
+Mandarinfish
+Manefish
+Manta ray
+Marblefish
+Marine hatchetfish
+Marlin
+Masu salmon
+Medaka
+Medusafish
+Megamouth shark
+Menhaden
+Merluccid hake
+Mexican golden trout
+Midshipman fish
+Milkfish
+Minnow
+Minnow of the deep
+Modoc sucker
+Mojarra
+Mola mola
+Monkeyface prickleback
+Monkfish
+Mooneye
+Moonfish
+Moorish idol
+Mora
+Moray eel
+Morid cod
+Morwong
+Moses sole
+Mosquitofish
+Mouthbrooder
+Mozambique tilapia
+Mrigal
+Mud catfish
+Mud minnow
+Mudfish
+Mudskipper
+Mudsucker
+Mullet
+Mummichog
+Murray cod
+Muskellunge
+Mustache triggerfish
+Mustard eel
+Naked-back knifefish
+Nase
+Needlefish
+Neon tetra
+New World rivuline
+New Zealand sand diver
+New Zealand smelt
+Nibble fish
+Noodlefish
+North American darter
+North American freshwater catfish
+North Pacific daggertooth
+Northern anchovy
+Northern clingfish
+Northern lampfish
+Northern pike
+Northern sea robin
+Northern squawfish
+Northern stargazer
+Notothen
+Nurse shark
+Nurseryfish
+Oarfish
+Ocean perch
+Ocean sunfish
+Oceanic whitetip shark
+Oilfish
+Old World knifefish
+Oldwife
+Olive flounder
+Opah
+Opaleye
+Orange roughy
+Orangespine unicorn fish
+Orangestriped triggerfish
+Orbicular batfish
+Orbicular velvetfish
+Oregon chub
+Orfe
+Oriental loach
+Oscar
+Owens pupfish
+Pacific albacore
+Pacific cod
+Pacific hake
+Pacific herring
+Pacific lamprey
+Pacific salmon
+Pacific saury
+Pacific trout
+Pacific viperfish
+Paddlefish
+Pancake batfish
+Panga
+Paradise fish
+Parasitic catfish
+Parore
+Parrotfish
+Peacock flounder
+Peamouth
+Pearl danio
+Pearl perch
+Pearleye
+Pearlfish
+Pelagic cod
+Pelican eel
+Pelican gulper
+Pencil catfish
+Pencilfish
+Pencilsmelt
+Peppered corydoras
+Perch
+Peters elephantnose fish
+Pickerel
+Pigfish
+Pike
+Pike conger
+Pike eel
+Pikeblenny
+Pikeperch
+Pilchard
+Pilot fish
+Pineapplefish
+Pineconefish
+Pink salmon
+Pipefish
+Piranha
+Pirarucu
+Pirate perch
+Plaice
+Platy
+Platyfish
+Pleco
+Plownose chimaera
+Poacher
+Pollock
+Pollyfish
+Pomfret
+Pompano
+Pompano dolphinfish
+Ponyfish
+Popeye catalufa
+Porbeagle shark
+Porcupinefish
+Porgy
+Port Jackson shark
+Powen
+Prickleback
+Pricklefish
+Prickly shark
+Prowfish
+Pufferfish
+Pumpkinseed
+Pupfish
+Pygmy sunfish
+Píntano
+Queen danio
+Queen parrotfish
+Queen triggerfish
+Quillback
+Quillfish
+Rabbitfish
+Raccoon butterfly fish
+Ragfish
+Rainbow trout
+Rainbowfish
+Rasbora
+Ratfish
+Rattail
+Ray
+Razorback sucker
+Razorfish
+Red grouper
+Red salmon
+Red snapper
+Red velvetfish
+Red whalefish
+Redfin perch
+Redfish
+Redhorse sucker
+Redlip blenny
+Redmouth whalefish
+Redtooth triggerfish
+Reedfish
+Reef triggerfish
+Remora
+Requiem shark
+Ribbon eel
+Ribbon sawtail fish
+Ribbonfish
+Rice eel
+Ricefish
+Ridgehead
+Riffle dace
+Righteye flounder
+Rio Grande perch
+River loach
+River shark
+River stingray
+Rivuline
+Roach
+Roanoke bass
+Rock bass
+Rock beauty
+Rock cod
+Rocket danio
+Rockfish
+Rockling
+Rockweed gunnel
+Rohu
+Ronquil
+Roosterfish
+Ropefish
+Rough scad
+Rough sculpin
+Roughy
+Round herring
+Round stingray
+Round whitefish
+Roundhead
+Rudd
+Rudderfish
+Ruffe
+Russian sturgeon
+Sabalo
+Saber-toothed blenny
+Sabertooth
+Sabertooth fish
+Sablefish
+Sacramento blackfish
+Sacramento splittail
+Sailfin silverside
+Sailfish
+Salamanderfish
+Salmon
+Salmon shark
+Sand dab
+Sand diver
+Sand eel
+Sand goby
+Sand knifefish
+Sand lance
+Sand stargazer
+Sand tiger
+Sand tilefish
+Sandbar shark
+Sandbar shark
+Sandburrower
+Sandfish
+Sandperch
+Sandroller
+Sarcastic fringehead
+Sardine
+Sargassum fish
+Sauger
+Saury
+Saw shark
+Sawfish
+Sawtooth eel
+Scabbard fish
+Scaly dragonfish
+Scat
+Scissortail rasbora
+Scorpionfish
+Sculpin
+Scup
+Sea bass
+Sea bream
+Sea catfish
+Sea chub
+Sea devil
+Sea dragon
+Sea lamprey
+Sea raven
+Sea snail
+Sea toad
+Seahorse
+Seamoth
+Searobin
+Sergeant major
+Sevan trout
+Shad
+Shark
+Sharksucker
+Sharpnose puffer
+Sheatfish
+Sheepshead
+Sheepshead minnow
+Shiner
+Shortnose chimaera
+Shortnose sucker
+Shovelnose sturgeon
+Shrimpfish
+Siamese fighting fish
+Sillago
+Silver carp
+Silver dollar
+Silver dory
+Silver hake
+Silverside
+Silvertip tetra
+Sind danio
+Sixgill ray
+Sixgill shark
+Skate
+Skilfish
+Skipjack tuna
+Sleeper
+Sleeper shark
+Slender mola
+Slender snipe eel
+Slickhead
+Slimehead
+Slimy mackerel
+Slimy sculpin
+Slipmouth
+Smalleye squaretail
+Smalltooth sawfish
+Smelt
+Smelt-whiting
+Smooth dogfish
+Snailfish
+Snake eel
+Snake mackerel
+Snakehead
+Snapper
+Snipe eel
+Snipefish
+Snook
+Snubnose eel
+Snubnose parasitic eel
+Sockeye salmon
+Soldierfish
+Sole
+South American darter
+South American lungfish
+Southern Dolly Varden
+Southern flounder
+Southern hake
+Southern sandfish
+Southern smelt
+Spadefish
+Spaghetti eel
+Spanish mackerel
+Spearfish
+Speckled trout
+Spiderfish
+Spikefish
+Spinefoot
+Spiny basslet
+Spiny dogfish
+Spiny dwarf catfish
+Spiny eel
+Spinyfin
+Splitfin
+Spookfish
+Spottail pinfish
+Spotted climbing perch
+Spotted danio
+Sprat
+Springfish
+Squarehead catfish
+Squaretail
+Squawfish
+Squeaker
+Squirrelfish
+Staghorn sculpin
+Stargazer
+Starry flounder
+Steelhead
+Stickleback
+Stingfish
+Stingray
+Stonecat
+Stonefish
+Stoneroller minnow
+Stream catfish
+Striped bass
+Striped burrfish
+Sturgeon
+Sucker
+Suckermouth armored catfish
+Summer flounder
+Sundaland noodlefish
+Sunfish
+Surf sardine
+Surfperch
+Surgeonfish
+Swallower
+Swamp-eel
+Swampfish
+Sweeper
+Swordfish
+Swordtail
+Tadpole cod
+Tadpole fish
+Tailor
+Taimen
+Tang
+Tapetail
+Tarpon
+Tarwhine
+Telescopefish
+Temperate bass
+Temperate ocean-bass
+Temperate perch
+Tench
+Tenpounder
+Tenuis
+Tetra
+Thornfish
+Thorny catfish
+Thread-tail
+Threadfin
+Threadfin bream
+Three spot gourami
+Three-toothed puffer
+Threespine stickleback
+Thresher shark
+Tidewater goby
+Tiger barb
+Tiger shark
+Tiger shovelnose catfish
+Tigerperch
+Tilapia
+Tilefish
+Titan triggerfish
+Toadfish
+Tommy ruff
+Tompot blenny
+Tonguefish
+Tope
+Topminnow
+Torpedo
+Torrent catfish
+Torrent fish
+Trahira
+Treefish
+Trevally
+Triggerfish
+Triplefin blenny
+Triplespine
+Tripletail
+Tripod fish
+Trout
+Trout cod
+Trout-perch
+Trumpeter
+Trumpetfish
+Trunkfish
+Tube-eye
+Tube-snout
+Tubeblenny
+Tubeshoulder
+Tui chub
+Tuna
+Turbot
+Two spotted goby
+Uaru
+Unicorn fish
+Upside-down catfish
+Vanjaram
+Velvet belly lanternshark
+Velvet catfish
+Velvetfish
+Vendace
+Vermilion snapper
+Vimba
+Viperfish
+Wahoo
+Walking catfish
+Wallago
+Walleye
+Walleye pollock
+Walu
+Warmouth
+Warty angler
+Waryfish
+Waspfish
+Weasel shark
+Weatherfish
+Weever
+Weeverfish
+Wels catfish
+Whale catfish
+Whale shark
+Whalefish
+Whiff
+White croaker
+White marlin
+White shark
+Whitebait
+Whitefish
+Whitetip reef shark
+Whiting
+Wobbegong
+Wolf-eel
+Wolf-herring
+Wolffish
+Worm eel
+Wormfish
+Wrasse
+Wrymouth
+X-ray tetra
+Yellow bass
+Yellow jack
+Yellow moray
+Yellow perch
+Yellow tang
+Yellow weaver
+Yellow-and-black triplefin
+Yellow-edged moray
+Yellow-eye mullet
+Yellowback fusilier
+Yellowbanded perch
+Yellowedge grouper
+Yellowfin croaker
+Yellowfin cutthroat trout
+Yellowfin grouper
+Yellowfin pike
+Yellowfin surgeonfish
+Yellowfin tuna
+Yellowfin tuna
+Yellowhead jawfish
+Yellowmargin triggerfish
+Yellowtail
+Yellowtail amberjack
+Yellowtail barracuda
+Yellowtail catfish
+Yellowtail clownfish
+Yellowtail horse mackerel
+Yellowtail kingfish
+Yellowtail snapper
+Zander
+Zebra bullhead shark
+Zebra danio
+Zebra lionfish
+Zebra loach
+Zebra oto
+Zebra pleco
+Zebra shark
+Zebra tilapia
+Zebrafish
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/flower.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/flower.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7570d664cb087bf1e07dc633ee8bdf6504e2cf85
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/flower.txt
@@ -0,0 +1,250 @@
+Acacia
+Achillea
+Adam's-needle
+African Boxwood
+African Lily
+Agapanthus
+Ageratum
+Ageratum houstonim
+Allium
+Alpina
+Alstroemeria
+Amaranthus hypochondriacus
+Amaryllis
+Ammi majus
+Anconitum
+Anemone
+Anigozanthus
+Annual Delphinium
+Anthurium
+Antirrhinum majus
+Artichoke thistle
+Asparagus
+Aster
+Astilbe
+Baby's Breath
+Bachelor's Button
+Banksia
+Bellflower
+Big Flax
+Bighead Knapweed
+Billy Buttons
+Bird of Paradise
+Blazing Star
+Blue Lace Flower
+Boronia
+Bouvardia
+Boxwood African
+Buckthorn Variegated
+Buddleia
+Bupleurum
+Butterfly Bush
+Butterfly Orchid
+Calla Lily
+Campanula
+Candytuft
+Canterbury Bells
+Carnation
+Carthamus
+Casa Blanca
+Caspia
+Cattleya
+Celosia
+Celosia argenta
+Centaurea cyanus
+Chamelaucium
+Chimney Bells
+Chrysanthemum
+Chrysanthemum x morifolium
+Clarkia
+Cockscomb Crested
+Coffee Bean Berry
+Common Myrtle
+Common Yarrow
+Cone Flower
+Consolida ambigua
+Convallaria
+Cordyline
+Cornflower
+Cosmos
+Craspedia
+Curly Willow
+Cymbidium
+Cymbidium Orchid
+Daffodil
+Dahlia
+Daisy Mums
+Delphinium Belladonna
+Delphinium Pacific Giant
+Dendrobium
+Dendrobium Orchid
+Dianthus barbatus
+Dianthus caryophyllus
+Dianthus caryophyllus nana
+Diosma
+Erica spp
+Eucalyptus seeded
+Eucalyptus silver dollar
+Eustoma grandiflorum
+False Bird of Paradise
+False Spirea
+Farewell-To-Spring
+Fernleaf Yarrow
+Feverfew
+Flamingo Flower
+Flax New Zealand
+Floss Flower
+Foxtail Fern
+Freesia
+Freesia x hybrida
+Fuji Mums
+Gardenia
+Gay Feather
+Genista
+Gerbera
+Gerbera Ruby Red
+Ginger
+Gladiolus
+Gladiolus hybrid nanus
+Goat's Beard
+Godetia
+Golden Rod
+Guersney Lily
+Gyp
+Gypsophila paniculata
+Hanging Helicona
+Heath
+Heather
+Helianthus annuus
+Heliconia spp.
+Hippeastrum
+Hydrangea
+Iberis amara
+Inca Lily
+Iris
+Japhette Orchid
+Jonquil
+Knapweed
+Lace fern
+Larkspur
+Lathyrus odoratus
+Lavandula
+Lavender
+Liatris
+Lilac
+Lilly-of-the-Valley
+Lily
+Lily Casa Blanca
+Lily Stargazer
+Lily of the Field
+Lily of the Nile
+Limonium
+Lisianthus
+Marguerite daisy
+Mattholia incana
+Melaleuca
+Memosa
+Misty Blue Limonium
+Moluccella laevis
+Monkshood
+Montbretia
+Monte Cassino
+Moon orchid
+Musa
+Myrsine
+Myrtle
+Myrtus
+Nephrolepis
+Nerine
+Nerine Lily
+Nigella
+Ornithogalum
+Paeonia
+Painted Tongue
+Paper Reed
+Papyrus lion's head
+Peony
+Peruvian Lily
+Phalaenopsis
+Philodendron
+Phlox
+Pincushion Flower
+Pink Mink
+Pitt
+Pittosporum
+Pixie Carnation
+Polianthes tuberosa
+Pompon Chrysanthemum
+Poppy Anemone
+Porium
+Pussy Willow
+Queen Anne's Lace
+Ranunculus
+Red Ribbons
+Rice flower
+Rose
+Rose Bridal Pink
+Rose Bridal White
+Rose Champagne
+Rose Diadem
+Rose Emblem
+Rose Kardinal
+Rose Lady Liberty
+Rose Lavanda
+Rose Osiana
+Rose Royalty
+Safari Sunset
+Safflower
+Sage Perennial
+Salix
+Salmon Reagan
+Sansevieria
+Saponaria
+Satin Flowers
+Saxicola
+Scabiosa
+Schinus
+Sea lavender
+Shell Flowers
+Snake Plant
+Snapdragon
+Solidago
+Solidaster
+Speedwell
+Spider Lily
+Spider Mums
+Spray Carnation
+Sprengeri Fern
+Star of Bethlehem
+Statice
+Stenamezon
+Stephanotis
+Strawberry banksia
+Strawflower
+Summer poinsettia
+Summer's Darling
+Sunflower
+Sweet Pea
+Sweet William
+Sword Fern
+Syringa vulgaris
+Tailflowers
+Tassel flower
+Thouroughwax
+Throatwort
+Tracelium
+Tree Fern
+Trumpet Lily
+Tuberose
+Tulip
+Tulipa
+Veronica
+Wattle
+Waxflower
+Wild Plantain
+Willow curly
+Windflower
+Wolfsbane
+Zantedeschia
+Zinna
+Zinnia elegans
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/focal-length.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/focal-length.txt
new file mode 100644
index 0000000000000000000000000000000000000000..735250c4d5a4a0d8d656bceabd3db20f90a3e41e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/focal-length.txt
@@ -0,0 +1,13 @@
+135mm+ focal length
+14mm - 35mm focal length
+300mm+ focal length
+35mm - 85mm focal length
+4mm - 14mm focal length
+85mm - 135mm
+Fisheye focal length
+Macro
+Macro focal length
+Medium telephoto focal length
+Short telephoto focal length
+Standard focal length
+Wide angle focal length
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/foods.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/foods.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9cfa7023d841f8794b4bc2228019697a91d2373e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/foods.txt
@@ -0,0 +1,378 @@
+Abalone
+Acorn squash
+Adzuki bean paste
+Adzuki beans
+Aged Japanese kurozu
+Albacore tuna
+Alcohol
+Ale
+Alfalfa sprouts
+Algae
+Almond milk
+Almond paste
+Almonds
+Ancho chili powder
+Anchovies
+Anchovy paste
+Angus beef
+Apple juice
+Apples
+Apricots
+Apricots, Japanese
+Arborio rice
+Arctic char
+Artichoke, Jerusalem
+Artichokes
+Arugula
+Asian greens
+Asparagus
+Asparagus, Chinese
+Autumn crocus
+Avocado oil
+Avocados
+Açaí berries
+Açaí juice
+Bacon
+Balsamic vinegar
+Banana Split
+Bananas
+Barbecued meat
+Basil
+Bean curd
+Beef
+Beer
+Beets
+Bell peppers
+Bitter almond oil
+Bitter cucumber
+Bitter melon
+Black beans
+Black cumin
+Black currants
+Black or purple rice
+Black pepper
+Black tea
+Blackberries
+Blueberries
+Boiled Egg
+Bok choy
+Boysenberries
+Brazil nuts
+Bread
+Broccoli
+Broccoli sprouts
+Brown mustard
+Brown rice
+Brown rice syrup
+Brussels sprouts
+Buckwheat
+Butter
+Butternut squash
+Cabbage
+Canola oil
+Cantaloupe
+Carrots
+Cashews
+Cauliflower
+Caviar
+Celeriac
+Celery
+Celery seed
+Chamomile
+Cheese
+Cheese
+Cherries
+Chicken
+Chickpeas
+Chilli peppers
+Chives
+Chocolate
+Cilantro
+Cinnamon
+Clams
+Coconut
+Coconut oil
+Coffee
+Collard greens
+Corn
+Corn oil
+Crab
+Cranberries
+Cream
+Cucumbers
+Cumin
+Curcumin
+Currants
+Daidzein
+Dal
+Dill
+Dried herring
+Dried mackerel
+Dry beans
+Edamame
+Eggs
+Escargot
+Fennel
+Fennel seed
+Fermented bean paste
+Fermented milk
+Flaxseed
+Flaxseed oil
+Fried potatoes
+Garbanzo beans
+Garden cress
+Garlic
+Genistein
+Ghee
+Ginger
+Grape seed oil
+Grapefruit
+Grapes
+Gravy
+Green beans
+Green onions
+Green papaya
+Green peas
+Green tea
+Greens
+Guacamole
+Halibut
+Ham
+Hamburger
+Herring
+Holy basil
+Honey
+Honeydew melon
+Horseradish
+Hot peppers
+Hotdog
+Hummus
+Indian mustard
+Kale
+Kefir
+Kelp
+Kidney beans
+King mackerel
+Kiwifruit
+Kohlrabi
+Kumquats
+Lake trout
+Lamb
+Lard
+Lavender
+Leeks
+Lemons
+Lentils
+Lettuce
+Lima beans
+Limes
+Lingonberries
+Liquor
+Liver
+Lobster
+Loganberries
+Long pepper
+Low-fat yogurt
+Macadamia nut oil
+Macadamia nuts
+Mackerel
+Maitake mushrooms
+Mangoes
+Mangosteen
+Margarine
+Marionberrries
+Maté
+Mayonnaise
+Melons
+Melted Cheese
+Mexican oregano
+Milk
+Milkshake
+Mint
+Mint tea
+Mung beans
+Mushrooms
+Muskmelon
+Mussels
+Mustard
+Mustard greens
+Mustard oil
+Mutton
+Navy beans
+Nutella
+Oatmeal
+Oats
+Octopus
+Ohyo
+Oil
+Olive oil
+Olives
+Omelet
+Onions
+Oranges
+Oregano
+Oysters
+Papaya
+Papaya seeds
+Paprika
+Parsley
+Parsnips
+Passion fruit
+Paw paw
+Peaches
+Peanut
+Peanut Butter
+Peanut Butter and Jelly
+Peanut oil
+Peanuts
+Pears
+Peas
+Pecans
+Peppermint
+Persipan
+Pesto sauce
+Pickled papaya
+Pickled watermel. rind
+Pickles
+Pineapple
+Pinto beans
+Pistachio nuts
+Pizza
+Plantago
+Plantains
+Plums
+Pomegranate juice
+Pomegranates
+Popcorn
+Pork
+Portobello mushrooms
+Potatoes
+Prunes
+Pumpkin seeds
+Pumpkins
+Pâtés
+Radicchio
+Radish
+Raisins
+Rapeseed oil
+Rapini
+Raspberries
+Red bean paste
+Red beans
+Red cabbage
+Red currants
+Red onions
+Red pepper flakes
+Red pepper paste
+Red rice
+Red spinach
+Red wine vinegar
+Reishi mushrooms
+Rhubarb
+Ribs
+Rice
+Rice bran
+Rice bran oil
+Rice wine vinegar
+Risotto
+Roast beef
+Roasted almonds
+Roasted pork
+Roe
+Rolled oats
+Romaine lettuce
+Rosemary
+Rutabagas
+Rye
+Safflower oil
+Saffron
+Sage
+Sage tea
+Salmon, wild
+Salt
+Sardines
+Sauerkraut
+Sausages
+Scallions
+Scallops
+Seaweed
+Sesame oil
+Sesame seeds
+Shallots
+Shellfish
+Shiitake mushrooms
+Shrimp
+Smoked mackerel
+Snails
+Snickers Chocolate Bar
+Snow peas
+Soba noodles
+Soy infant formula
+Soy milk
+Soy protein bars
+Soy protein isolate
+Soybean curd
+Soybean oil
+Soybeans
+Spaghetti squash
+Spearmint
+Spinach
+Split peas
+Squash
+Steak
+Strawberries
+String beans
+Subtropical ginger
+Sugar
+Sugar beets
+Sugar snap peas
+Summer squash
+Sunflower oil
+Sunflower seeds
+Sweet peas
+Sweet potatoes
+Tabasco sauce
+Tacos
+Tahini
+Tallow
+Tangerines
+Tartary buckwheat
+Tea
+Thyme
+Tofu
+Tomato paste
+Tomatoes
+Tropical ginger
+Turkey
+Turkey bacon
+Turmeric
+Turnip greens
+Turnips
+Veal
+Vinegar
+Wakame
+Walnut oil
+Walnuts
+Wasabi
+Watercress
+Watermelon
+Watermelon seeds
+Well-done meat
+Wheat bran
+Wheat germ
+Wheat grass
+White beans
+White bread
+White button mush.
+White pepper
+White tea
+White vinegar
+Whole wheat bread
+Wild ginger
+Wild rice
+Wine
+Winter squash
+Yams
+Yerba maté
+Yogurt
+Zucchini
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/forest-type.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/forest-type.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c63756d7886e987b98e7a4603823a885f3df85de
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/forest-type.txt
@@ -0,0 +1,23 @@
+Cloud Forest
+Dry Conifer Forest
+Dry Savanna Forest
+Evergreen Forest
+Grass Forest
+Mediterranean Forest
+Montane Forest
+Mossy Broad-leaved Forest
+Mossy Coniferous Forest
+Mossy Mixed-leaved Forst
+Mossy Subtropical Forest
+Mossy Temperate Forest
+Rainy Savana Forest
+Savanna Tropical Forest
+Seasonal Forest
+Subtropical Broad-leaved Forest
+Subtropical Coniferous Forest
+Subtropical Mixed-leaved Forest
+Temperate Broad-leaved Forest
+Temperate Mixed-leaved Forest
+Temperate Needle Forest
+Tropical Forest
+Tropical Jungle
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/fruit.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/fruit.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1d1a078918c91aa17a4120f912fdd925e0464e35
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/fruit.txt
@@ -0,0 +1,372 @@
+Abiu
+Acai
+Acerola
+Ackee
+African Cherry Orange
+Alligator Apple
+Amazon Grape
+Ambarella
+American Mayapple
+Apple
+Apricot
+Araza
+Arhat
+Avocado
+Babaco
+Bael
+Banana
+Barbadine
+Barbados Cherry
+Barberry
+Bayberry
+Beach Plum
+Bearberry
+Beechnut
+Berry
+Betel Nut
+Bignay
+Bilberry
+Bilimbi
+Bitter Gourd
+Black Apple
+Black Cherry
+Black Mulberry
+Black Raspberry
+Black Sapote
+Blackberry
+Blackcurrant
+Blood Orange
+Blue Tongue
+Blueberry
+Bolwarra
+Bottle Gourd
+Boysenberry
+Bramble
+Brazil Nut
+Breadfruit
+Broadleaf Bramble
+Buffaloberry
+Burdekin Plum
+Burmese Grape
+Cacao
+Caimito
+Cajamanga
+Calabashtree
+Camucamu
+Canistel
+Cantaloupe
+Cape Gooseberry
+Carambola
+Cardon
+Carob
+Cashew
+Cedar Bay Cherry
+Cempedak
+Ceylon Gooseberry
+Che
+Chenet
+Cherimoya
+Cherry
+Chinese Bayberry
+Chinese Mulberry
+Chokeberry
+Citron
+Clementine
+Cloudberry
+Cluster Fig
+Coconut
+Cocoplum
+Coffee
+Common Apple-Berry
+Conkerberry
+Cornelian Cherry
+Crabapple
+Cranberry
+Crowberry
+Cudrang
+Cudrania
+Cupuacu
+Currant
+Custard Apple
+Damson
+Date
+Date Palm
+Date-Plum
+Davidson's Plum
+Desert Fig
+Desert Lime
+Dewberry
+Doubah
+Dragonfruit
+Durain
+Eastern May Hawthorn
+Eggfruit
+Eggplant
+Elderberry
+Elephant Apple
+Emblic
+Emu Apple
+Entawak
+Etrog
+Feijoa
+Fibrous Satinash
+Fig
+Fiji Longan
+Finger Lime
+Galendar
+Galia
+Gandaria
+Genip
+Genipap
+Giant Granadilla
+Golden Apple
+Gooseberry
+Goumi
+Gourds
+Grape
+Grapefruit
+Grapple
+Greengage
+Grenadilla
+Guanabana
+Guarana
+Guava
+Guavaberry
+Hackberry
+Hardy Kiwi
+Hawthorn
+Hog plum
+Honeycrisp Apple
+Honeydew Melon
+Honeysuckle
+Horned Melon
+Huckleberry
+Huito
+Illawarra Plum
+Indian Almond
+Indian Fig
+Indian Jujube
+Indian Prune
+Indian Strawberry
+Ita Palm
+Jaboticaba
+Jackfruit
+Jagua
+Jamaica Cherry
+Jambul
+Japanese Bayberry
+Japanese Raisin
+Jasmine
+Jatoba
+Jenipapo
+Jocote
+Jujube
+June Plum
+Kaffir Lime
+Kahikatea
+Kakadu Lime
+Kakadu Plum
+Kandis Fruit
+Karkalla
+Keppel Fruit
+Key Lime
+Kiwi
+Kumquat
+Kundong
+Kutjera
+Lablab
+Lady Apple
+Langsat
+Lanzones
+Lapsi
+Legume
+Lemon
+Lemon Aspen
+Leucaena
+Lillipilli
+Lilly Pilly
+Lime
+Lingonberry
+Loganberry
+Longan
+Loquat
+Lucuma
+Lulo
+Lychee
+Mabolo
+Macadamia
+Malay Apple
+Mamey Sapote
+Mamoncillo
+Mandarin
+Mango
+Mangosteen
+Manila Tamarind
+Manoao
+Marang
+Marion Berry
+Mayapple
+Mayhaw
+Maypop
+Medlar
+Melinjo
+Melon
+Melon Pear
+Midyim
+Mock Buckthorn
+Mock strawberry
+Monkey Apple
+Monstera
+Morinda
+Mountain Soursop
+Mulberry
+Mundu
+Muntries
+Muskmelons
+Myrtle
+Nageia
+Nance
+Nannyberry
+Naranja
+Naranjilla
+Native Cherry
+Native Currant
+Native Gooseberry
+Nectarine
+Neem
+Nungu
+Nutmeg
+Oil Palm
+Olallieberry
+Old World Sycomore
+Olive
+Orange
+Orangelo
+Oregon Grape
+Otaheite Apple
+Papaya
+Passion Fruit
+Pawpaw
+Peach
+Peanut
+Pear
+Pequi
+Persimmon
+Pewa
+Pigeon Plum
+Pigface
+Pili Nut
+Pineapple
+Pitaya
+Pitomba
+Plantain
+Plum
+Podocarpus
+Poha
+Pois Doux
+Pomcite
+Pomegranate
+Pomelo
+Pommecythere
+Pommerac
+Pond Apple
+Prickly Pear
+Prumnopitys
+Prune
+Pulasan
+Pummelo
+Pumpkin
+Pupunha
+Purple Apple-Berry
+Quandong
+Quenepa
+Quince
+Raisin
+Rambutan
+Rangpur
+Raspberry
+Red Bayberry
+Red Mombin
+Red Mulberry
+Redcurrant
+Rhubarb
+Riberry
+Ridged Gourd
+Rimu
+Rose Apple
+Rose Hip
+Rose Myrtle
+Rose-Leaf Bramble
+Rowan
+Sageretia
+Saguaro
+Salak
+Salal Berry
+Salmonberry
+Sandpaper Fig
+Santol
+Sapodilla
+Sapote
+Saskatoon
+Saskatoonberry
+Satsuma
+Sea Grape
+Sea-Buckthorn
+Serviceberry
+Shipova
+Siberian Kiwi
+Silkworm Thorn
+Snow berry
+Soncoya
+Soursop
+Star Apple
+Strawberry
+Strawberry-Guava
+Strawberry-Pear
+Sugar Apple
+Surinam Cherry
+Sweet Apple-Berry
+Sweet Lemon
+Sweetsop
+Sycamore Fig
+Sycomore
+Tamarillo
+Tamarind
+Tangelo
+Tangerine
+Tanjong
+Taxus Baccata
+Texas Persimmon
+Thimbleberry
+Tomato
+Toyon
+Ugli Fruit
+Ugn
+Uva/Grape
+Vanilla
+Velvet Tamarind
+Voavanga
+Water Apple
+Watermelon
+Wax Apple
+Wax Gourd
+White Aspen
+White Mulberry
+White Sapote
+Wild Orange
+Wineberry
+Winter Melon
+Wolfberry
+Wongi
+Wood Apple
+Xigua
+Xylocarp
+Yali Pear
+Yamamomo
+Yangmei
+Yellow Plum
+Yumberry
+Zhe
+Zigzag Vine
+Ziziphus
+Zucchini
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/games.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/games.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f96c2b102f2ccb45c53fe91809b1d27d6f32f152
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/games.txt
@@ -0,0 +1,157 @@
+8-bit JRPG
+A Short Hike
+Age of Empires
+Albion
+Alone in the Dark
+Angry Birds
+Animal Crossing
+Baldur's Gate II
+Baldurs Gate
+Bastion
+Battle Axe
+BioShock
+Blizzard
+Cadillacs and Dinosaurs
+Candy Crush
+Carmen Sandiego
+Castle Wolfenstein
+Castlevania
+Chrono Trigger
+Civilization V
+Command & Conquer Red Alert
+Commander Keen
+Crusaider No Regret
+Dark Souls
+Darkest Dungeon
+Day of the Tentacle
+Desert Strike
+Diablo
+Diablo 2
+Disco Elysium
+Discworld
+Divinity Original Sin
+Doom
+Dota 2
+Dune
+Escape from Monkey Island
+Factorio
+Fall out
+Final Fantasy
+Full Throttle
+Full Throttle
+GTA 1
+GTA 2
+GTA V
+Game Boy
+Game Boy Advance
+Game Boy Color
+God of War
+Grand Theft Auto III
+Grim Fandango
+Grim dawn
+Half-Life
+Harvest Moon
+I Have No Mouth And I Must Scream
+Indiana Jones and the Fate of Atlantis
+JRPG
+League of Legends
+Legend of Mana
+Leisure Suit Larry
+Lemmings
+Little Big Adventure
+Loom
+LucasArts
+LucasArts adventure games
+MDK
+Magic Carpet
+Maniac Mansion
+Mario Galaxy
+Mario Odissey
+Marvel vs. Capcom
+Metal Slug
+Metroid Prime
+Minecraft
+Monster Rancher
+Monument Valley
+Mortal Kombat
+Myst
+Neverwinter Nights
+Nintendo
+Nintendo DS
+Nintendo N64
+Overwatch
+PS One
+Path of Exile
+Plants vs zombies
+Playstation 1
+Playstation 2
+Pokemon
+Portal 2
+Prince of Persia
+Priston Tale
+Quake
+Ragnarok
+Raptor Call of the Shadows
+Red Dead Redemption 2
+Redneck Rampage
+Resident Evil
+Retro RPG
+Rimworld
+Rockstar Games
+Roler Coaster Tycoon
+Runescape
+Sam & Max Hit the Road
+Samorost
+ScummVM
+Shadowrun
+Sid Meier’s Civilization
+Simant
+Simcity 2000
+Simcity 3000
+Simon the Sorcerer
+Skyrim
+Sony
+Square Enix
+Star wars KOTOR
+Star wars yoda stories
+Starcraft
+Stardew Valley
+Starfox
+Street Fighter
+Super Mario Bros 3
+Super Mario RPG
+Super Mario World
+Super Metroid
+Super Nintendo
+Superfrog
+Syndicate
+Team Fortress 2
+Tetris
+The Chaos Engine
+The Dig
+The Elder Scrolls
+The Elder Scrolls
+The Incredible Machine
+The Journey Down
+The Last of Us
+The Legend of Zelda
+The Lord of the Rings
+The Secret of Monkey Island
+The Witcher
+Theme Park
+Thief
+Tibia
+Tomb Raider
+Tony Hawk's Pro Skater 2
+Transport Tycoon
+Tropico 5
+Tyrian
+Ultima Online
+Undertale
+Warcraft
+Wing Commander
+World of Warcraft
+X-Com UFO Defense
+X-men
+Yoshi's Island
+Zak McKracken and the Alien Mindbenders
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/gen-modifier.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/gen-modifier.txt
new file mode 100644
index 0000000000000000000000000000000000000000..493ddfb4216e57a21f855b3ec4808241036d7f40
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/gen-modifier.txt
@@ -0,0 +1,68 @@
+60s kitsch and psychedelia
+Lovecraftian
+Sabattier effect
+Sabattier filter
+abstract illusionism
+afrofuturism
+ambrotype
+american romanticism
+anaglyph effect
+anaglyph filter
+anime
+avant-garde
+blueprint
+brutalism
+calotype
+camcorder effect
+chillwave
+cottagecore
+crayon art
+cubism
+cyanotype
+daguerreotype
+dark academia
+digital art
+doge
+dutch golden age
+expressionism
+figurativism
+fisheye lens
+fractalism
+fresco
+futuresynth
+german romanticism
+glitch art
+gothic
+gothic art
+graffiti
+holography
+hyperrealism
+impressionism
+infrared
+inverted colors
+long exposure
+mac and cheese
+macro lens
+magic realism
+manga
+modernism
+multiple exposure
+narrative realism
+naturalism
+optical illusion
+photorealism
+positivism
+realism
+retrowave
+still life
+street art
+stuckism
+surrealism
+symbolism
+synthwave
+telephoto lens
+the matrix
+tilt-shift
+tintype
+tonalism
+vaporwave
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/hair.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/hair.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c3bf6d4b1b9c0b80a6bf59801e5ca48a4357f53b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/hair.txt
@@ -0,0 +1,41 @@
+auburn braids
+auburn buzzcut
+auburn dreadlocks
+auburn undercut
+black braids
+black buzzcut
+black dreadlocks
+black undercut
+blond braids
+blond buzzcut
+blond dreadlocks
+blond undercut
+bold
+brown braids
+brown buzzcut
+brown dreadlocks
+brown undercut
+gray braids
+gray buzzcut
+gray dreadlocks
+gray undercut
+long auburn hair
+long black hair
+long blond hair
+long brown hair
+long curly auburn hair
+long curly black hair
+long curly blond hair
+long curly brown hair
+long curly gray hair
+long gray hair
+long wavy auburn hair
+long wavy black hair
+long wavy blond hair
+long wavy brown hair
+long wavy gray hair
+short auburn hair
+short black hair
+short blond hair
+short brown hair
+short gray hair
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/hd.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/hd.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2715786cbfc51cd3b01e5f7ed2d8c61d6739ed47
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/hd.txt
@@ -0,0 +1,12 @@
+12k resolution
+16k resolution
+2k resolution
+32k resolution
+4k resolution
+8k resolution
+Blu-ray
+HD
+HD-DVD
+HDR
+High definition
+High resolution
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/iso-stop.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/iso-stop.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e76174497512828e670b50c62889b6b198d0dd63
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/iso-stop.txt
@@ -0,0 +1,13 @@
+ISO 100
+ISO 102400
+ISO 12500
+ISO 1600
+ISO 200
+ISO 204800
+ISO 25600
+ISO 3200
+ISO 400
+ISO 409600
+ISO 51200
+ISO 6400
+ISO 800
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/landscape-type.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/landscape-type.txt
new file mode 100644
index 0000000000000000000000000000000000000000..093a6c15295ecca597c405d6880db42dbcd61ba9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/landscape-type.txt
@@ -0,0 +1,127 @@
+abstract landscape
+aerial landscape
+architectural landscape
+botanical landscape
+cityscapes
+desertscapes
+ecological landscape
+fantasy landscape
+flowering landscape
+forestscapes
+historical landscape
+industrial landscape
+landscape
+landscape in black and white
+landscape in color
+landscape with Analogous Colors
+landscape with Asymmetry
+landscape with Atmospheric Perspective
+landscape with Balance
+landscape with Bright Colors
+landscape with Complementary Colors
+landscape with Contrast of Brightness and Darkness
+landscape with Contrast of Earth Tones and Non-Earth Tones
+landscape with Contrast of Hue
+landscape with Contrast of Intensity
+landscape with Contrast of Lightness
+landscape with Contrast of Saturation
+landscape with Contrast of Visual Weight
+landscape with Contrast of Warmth and Coolth
+landscape with Cool Colors
+landscape with Curvilinear
+landscape with Dark Colors
+landscape with Dimetric Perspective
+landscape with Dominance
+landscape with Earth Colors
+landscape with Emphasis
+landscape with Focal Point
+landscape with Four-Point Perspective
+landscape with Freeform
+landscape with Geometric
+landscape with Gradation
+landscape with Hard Texture
+landscape with Harmony
+landscape with Horizontal Balance
+landscape with Isometric Perspective
+landscape with Linear Perspective
+landscape with Multi-Point Perspective
+landscape with Neutral Colors
+landscape with One-Point Perspective
+landscape with Organic
+landscape with Pattern
+landscape with Proportion
+landscape with Quadrilateral
+landscape with Radial Balance
+landscape with Rectilinear
+landscape with Repetition
+landscape with Rough Texture
+landscape with Simultaneous Contrast
+landscape with Single-Point Perspective
+landscape with Smooth Texture
+landscape with Soft Texture
+landscape with Subordination
+landscape with Symmetry
+landscape with Texture
+landscape with Three-Point Perspective
+landscape with Triangulation
+landscape with Trimetric Perspective
+landscape with Two-Point Perspective
+landscape with Unity
+landscape with Variety
+landscape with Vertical Balance
+landscape with Visual Weight
+landscape with Warm Colors
+landscape with animals
+landscape with balance
+landscape with chroma
+landscape with colors
+landscape with contrast
+landscape with depth
+landscape with dimensions
+landscape with earth
+landscape with fire
+landscape with form
+landscape with harmony
+landscape with hue
+landscape with intensity
+landscape with light
+landscape with lightness
+landscape with moon
+landscape with movement
+landscape with pattern
+landscape with people
+landscape with perspective
+landscape with proportion
+landscape with rhythm
+landscape with saturation
+landscape with scale
+landscape with shade
+landscape with shadow
+landscape with shapes
+landscape with sky
+landscape with space
+landscape with stars
+landscape with sun
+landscape with temperature
+landscape with texture
+landscape with time
+landscape with tint
+landscape with tone
+landscape with unity
+landscape with value
+landscape with variety
+landscape with water
+landscape with wind
+landscape withlines
+maximalist landscape
+minimalist landscape
+mountainscapes
+mythological landscape
+panoramic landscape
+political landscape
+religious landscape
+scientific landscape
+seascapes
+skyscapes
+snowscapes
+surreal landscape
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/movement.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/movement.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ca4782f06a0c5bb3c12aae82a524fe1c4a635cd0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/movement.txt
@@ -0,0 +1,189 @@
+abstract art
+abstract expressionism
+abstract illusionism
+academic art
+action painting
+aestheticism
+afrofuturism
+altermodern
+american barbizon school
+american impressionism
+american realism
+american scene painting
+analytical art
+antipodeans
+arabesque
+arbeitsrat für kunst
+art & language
+art brut
+art deco
+art informel
+art nouveau
+art photography
+arte povera
+arts and crafts movement
+ascii art
+ashcan school
+assemblage
+australian tonalism
+auto-destructive art
+barbizon school
+baroque
+bauhaus
+bengal school of art
+berlin secession
+black arts movement
+brutalism
+classical realism
+cloisonnism
+cobra
+color field
+computer art
+conceptual art
+concrete art
+constructivism
+context art
+crystal cubism
+cubism
+cubo-futurism
+cynical realism
+dada
+dansaekhwa
+danube school
+dau-al-set
+de stijl (also known as neoplasticism)
+deconstructivism
+digital art
+ecological art
+environmental art
+excessivism
+expressionism
+fantastic realism
+fauvism
+feminist art
+figuration libre
+figurative art
+fine art
+fluxus
+folk art
+funk art
+futurism
+geometric abstract art
+glitch art
+gothic art
+graffiti/street art
+gutai group
+happening
+harlem renaissance
+heidelberg school
+hudson river school
+hurufiyya
+hypermodernism
+hyperrealism
+impressionism
+incoherents
+institutional critique
+interactive art
+international gothic
+international typographic style
+kinetic art
+kinetic pointillism
+kitsch movement
+land art
+les automatistes
+les nabis
+letterism
+light and space
+lowbrow
+lyco art
+lyrical abstraction
+magic realism
+mail art
+mannerism
+massurrealism
+maximalism
+metaphysical painting
+mingei
+minimalism
+modern european ink painting
+modernism
+modular constructivism
+naive art
+neo-dada
+neo-expressionism
+neo-fauvism
+neo-figurative
+neo-primitivism
+neo-romanticism
+neoclassicism
+neogeo (art)
+neoism
+net art
+new objectivity
+new sculpture
+northwest school
+nuclear art
+objective abstraction
+op art
+orphism
+panfuturism
+paris school
+photorealism
+pixel art
+plasticien
+plein air
+pointillism
+pop art
+post-impressionism
+postminimalism
+pre-raphaelitism
+precisionism
+primitivism
+private press
+process art
+psychedelic art
+purism
+qajar art
+quito school
+rasquache
+rayonism
+realism
+regionalism
+remodernism
+renaissance
+retrofuturism
+rococo
+romanesque
+romanticism
+samikshavad
+serial art
+shin hanga
+shock art
+socialist realism
+sots art
+space art
+street art
+stuckism
+sumatraism
+superflat
+suprematism
+surrealism
+symbolism
+synchromism
+synthetism
+sōsaku hanga
+tachisme (aka informel)
+temporary art
+tonalism
+toyism
+transgressive art
+ukiyo-e
+underground comix
+unilalianism
+vancouver school
+vanitas
+verdadism
+video art
+viennese actionism
+visual art
+vorticism
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/nationality.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/nationality.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3141863b7c15644ae70cba60bb0889333ccf8106
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/nationality.txt
@@ -0,0 +1,228 @@
+Afghan
+Albanian
+Algerian
+American
+Andorran
+Angolan
+Anguillan
+Argentine
+Armenian
+Australian
+Austrian
+Azerbaijani
+Bahamian
+Bahraini
+Bangladeshi
+Barbadian
+Barbuda
+Belarusian
+Belgian
+Belizean
+Beninese
+Bermudian
+Bhutanese
+Bolivian
+Botswanan
+Brazilian
+British
+British Virgin Islander
+Bruneian
+Bulgarian
+Burkinan
+Burmese
+Burundian
+Caicos Islander
+Cambodian
+Cameroonian
+Canadian
+Cape Verdean
+Cayman Islander
+Central African
+Chadian
+Chilean
+Chinese
+Citizen of Antigua
+Citizen of Bosnia
+Citizen of Guinea-Bissau
+Citizen of Kiribati
+Citizen of Seychelles
+Citizen of Vanuatu
+Citizen of the Dominican Republic
+Colombian
+Comoran
+Congolese (Congo)
+Congolese (DRC)
+Cook Islander
+Costa Rican
+Croatian
+Cuban
+Cymraes
+Cymro
+Cypriot
+Czech
+Danish
+Djiboutian
+Dominican
+Dutch
+East Timorese
+Ecuadorean
+Egyptian
+Emirati
+English
+Equatorial Guinean
+Eritrean
+Estonian
+Ethiopian
+Faroese
+Fijian
+Filipino
+Finnish
+French
+Gabonese
+Gambian
+Georgian
+German
+Ghanaian
+Gibraltarian
+Greek
+Greenlandic
+Grenadian
+Guamanian
+Guatemalan
+Guinean
+Guyanese
+Haitian
+Herzegovina
+Honduran
+Hong Konger
+Hungarian
+Icelandic
+Indian
+Indonesian
+Iranian
+Iraqi
+Irish
+Israeli
+Italian
+Ivorian
+Jamaican
+Japanese
+Jordanian
+Kazakh
+Kenyan
+Kittitian
+Kosovan
+Kuwaiti
+Kyrgyz
+Lao
+Latvian
+Lebanese
+Liberian
+Libyan
+Liechtenstein citizen
+Lithuanian
+Luxembourger
+Macanese
+Macedonian
+Malagasy
+Malawian
+Malaysian
+Maldivian
+Malian
+Maltese
+Marshallese
+Martiniquais
+Mauritanian
+Mauritian
+Mexican
+Micronesian
+Moldovan
+Monegasque
+Mongolian
+Montenegrin
+Montserratian
+Moroccan
+Mosotho
+Mozambican
+Namibian
+Nauruan
+Nepalese
+New Zealander
+Nicaraguan
+Nigerian
+Nigerien
+Niuean
+North Korean
+Northern Irish
+Norwegian
+Omani
+Pakistani
+Palauan
+Palestinian
+Panamanian
+Papua New Guinean
+Paraguayan
+Peruvian
+Pitcairn Islander
+Polish
+Portuguese
+Prydeinig
+Puerto Rican
+Qatari
+Romanian
+Russian
+Rwandan
+Salvadorean
+Sammarinese
+Samoan
+Sao Tomean
+Saudi Arabian
+Scottish
+Senegalese
+Serbian
+Sierra Leonean
+Singaporean
+Slovak
+Slovenian
+Solomon Islander
+Somali
+South African
+South Korean
+South Sudanese
+Spanish
+Sri Lankan
+St Helenian
+St Lucian
+Stateless
+Sudanese
+Surinamese
+Swazi
+Swedish
+Swiss
+Syrian
+Taiwanese
+Tajik
+Tanzanian
+Thai
+Togolese
+Tongan
+Trinidadian
+Tristanian
+Tunisian
+Turkish
+Turkmen
+Turks
+Tuvaluan
+Ugandan
+Ukrainian
+Uruguayan
+Uzbek
+Vatican citizen
+Venezuelan
+Vietnamese
+Vincentian
+Wallisian
+Welsh
+Yemeni
+Zambian
+Zimbabwean
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/natl-park.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/natl-park.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5df114323ae19cb047e0deede7d0064c66d4c2a2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/natl-park.txt
@@ -0,0 +1,55 @@
+Acadia National Park
+Arches National Park
+Badlands National Park
+Big Bend National Park
+Biscayne National Park
+Black Canyon of the Gunnison National Park
+Bryce Canyon National Park
+Canyonlands National Park
+Capitol Reef National Park
+Carlsbad Caverns National Park
+Channel Islands National Park
+Congaree National Park
+Crater Lake National Park
+Cuyahoga Valley National Park
+Death Valley National Park
+Denali National Park and Preserve
+Dry Tortugas National Park
+Everglades National Park
+Gates of the Arctic National Park and Preserve
+Glacier National Park Glacier Bay National Park and Preserve
+Grand Canyon National Park
+Grand Teton National Park
+Great Basin National Park
+Great Sand Dunes National Park and Preserve
+Great Smoky Mountains National Park
+Guadalupe Mountains National Park
+Haleakala National Park
+Hawaii Volcanoes National Park
+Hot Springs National Park
+Isle Royale National Park
+Joshua Tree National Park
+Katmai National Park and Preserve
+Kenai Fjords National Park
+Kings Canyon National Park
+Kobuk Valley National Park
+Lake Clark National Park and Preserve
+Lassen Volcanic National Park
+Mammoth Cave National Park
+Mesa Verde National Park
+Mount Rainier National Park
+North Cascades National Park
+Olympic National Park
+Petrified Forest National Park
+Redwood National and State Parks
+Rocky Mountain National Park
+Saguaro National Park
+Sequoia National Park
+Shenandoah National Park
+Theodore Roosevelt National Park
+Voyageurs National Park
+Wind Cave National Park
+Wrangell-St. Elias National Park and Preserve
+Yellowstone National Park
+Yosemite National Park
+Zion National Park
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/neg-weight.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/neg-weight.txt
new file mode 100644
index 0000000000000000000000000000000000000000..df20aa094e69b323579049f74a29bb5e78528c6d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/neg-weight.txt
@@ -0,0 +1,32 @@
+Artifacts
+Banding
+Blocked
+Blurry
+Copyright
+DOF
+Distorted
+Grainy
+Image compression
+Noisy
+Out of Focus
+Out of Frame
+Pixelated
+Poor quality
+Poorly lit
+Text
+Truncated
+Unclear
+Watermark
+asymmetry
+disjointed
+disorganized
+incoherent
+jpeg artifact
+jumbled
+low quality
+low resolution
+shaky
+tacky
+tasteless
+too bright
+too dark
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/occupation.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/occupation.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4362991aee8c91c9bbe3e1c50424fffdc2369ff2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/occupation.txt
@@ -0,0 +1,133 @@
+Activist
+Air Force Intelligence
+Air Force Security Forces
+Air Force Weather
+Air Traffic Controllers
+Aircraft Maintenance Technicians
+Aircrew
+Airman,annalist
+Anarchist
+Artillery
+Artilleryman
+Calvary
+Cashier
+Cavalryman
+Communications
+Communications Specialist
+Communist
+Customer Service Representative
+Democrat
+Department Manager
+Diplomat
+Engineer
+Infantry
+Infantryman
+Intelligence
+Intelligence Analyst
+Judge
+Lawyer
+Liaison Officer
+Libertarian
+Lobbyist
+Logisticics
+Maintenance
+Marine
+Medic
+Merchandiser
+Ordnance
+Pararescuemen
+Pilot
+Progressive
+Protester
+Psychic
+Recon
+Reconnaissance Specialist
+Republican
+Retail Associate
+Retail Clerk
+Retail Sales Associate
+Retail Stocker
+Retail Supervisor
+Sailor
+Sniper
+Socialist
+Soldier
+SpecOps
+Spy
+Store Manager
+Supply
+Tank Crewman
+Tanker
+Terrorist
+Traditionalist
+Uber driver
+Wingman
+able-bodied seaman
+artist
+athlete
+barber
+bicyclist
+bus driver
+businessmen
+carpenter
+cashier
+chef
+client
+colonel
+commander
+commuter
+consumer
+corporal
+doctor
+driver
+electrician
+employer
+firefighter
+garbage collector
+general
+gunner's mate
+housekeeper
+janitor
+landscaper
+lawyer
+lawyers
+leader
+lieutenant
+listener
+mail carrier
+mechanic
+musician
+nanny
+navigator
+officer
+passenger
+patient
+pedestrian
+pilot
+plitician
+plumber
+police officer
+private
+quartermaster
+radarman
+registered nurse
+seaman
+sergeant
+shopper
+software engineer
+sonarman
+speaker
+specialist
+storekeeper
+strategist
+student
+tactician
+taxi driver
+teacher
+trooper
+waiter
+waitress
+web developer
+worker
+writer
+yeoman
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/photo-term.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/photo-term.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d243ce9d25ebd3b0d187ec0537dc3a0133adc55a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/photo-term.txt
@@ -0,0 +1,9 @@
+Bokeh
+Depth of Field
+Digital Camera
+DoF
+Focused
+Long Exposure
+Optical Camera
+Over Exposed
+Short Exposure
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/portrait-type.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/portrait-type.txt
new file mode 100644
index 0000000000000000000000000000000000000000..120091a0e292849a866bfea31af67a33330f00f7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/portrait-type.txt
@@ -0,0 +1,25 @@
+3/4 shot
+Against a wall
+Close-up
+Environmental portrait
+Full body shot
+Headshot
+Laying down on one's back
+Leaning
+Looking down
+Looking off to the side
+Looking straight at the camera
+Lying down
+Mid-range
+Sitting
+Sitting down with legs crossed
+Standing
+Wide shot
+arms crossed
+head tilted to the side
+leaning against a wall
+leaning forward
+looking off into the distance
+looking over one shoulder
+propped up on one elbow (resting)
+propped up on one hand (sitting or standing)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/punk.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/punk.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c32da119fe1d1db60a5fe76f5c553d7468b6d1ed
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/punk.txt
@@ -0,0 +1,20 @@
+atompunk
+biopunk
+clockpunk
+cyberpunk
+dieselpunk
+fantasy punk
+frostpunk
+gothpunk
+magicpunk
+mythpunk
+nanopunk
+post-apocalypticpunk
+slipstream
+solarpunk
+space punk
+splatterpunk
+steampunk
+steelpunk
+stonepunk
+weirdpunk
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/quantity.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/quantity.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ba0163b9bbc0dd2c0cbd15f19c108e82e65fadcc
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/quantity.txt
@@ -0,0 +1,18 @@
+1
+10
+100
+1000
+2
+3
+300
+4
+5
+500
+6
+7
+8
+9
+Hundreds
+Millions
+Thousands
+Way too much
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/rpg-item.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/rpg-item.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b039a9bb1503ae75d99439e2ed88f7ee9b545b1a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/rpg-item.txt
@@ -0,0 +1,732 @@
+A Page of the Bible
+A Page of the Unholy Book
+A Small Piece of Wrath
+Abyss Fall
+Abyssal Pickaxe
+Acorn Bomb
+Adamantium
+Aegis of Earth
+Aegis of Flame
+Aegis of Sea
+Aegis of Storm
+Agareth
+Amulet
+Ancient Branch
+Ancient Ent
+Ancient Fragment of Ruins
+Ancient Hourglass
+Ancient Leaf
+Ancient Leaf Circlet
+Ancient Token
+Ancient Tree Bow
+Ancient Tree Rifle
+Ancient Tree Staff
+Ancient Tree Sword
+Ancient Writings
+Antimatter
+Archangel
+Archangel Halo
+Archangel Token
+Archangel Wings
+Armageddon
+Armor of Corruption
+Armor of Darkness
+Armor of Deep Sea
+Armor of Flame
+Armor of Grudge
+Armor of Poison
+Arrows
+Assassin Katars
+Bag
+Bag of Corruption
+Bag of Demise
+Bag of Despair
+Bag of Destruction
+Bag of Explosion
+Bag of Heaven
+Bag of Hell
+Bag of Life
+Bag of Mighty Strength
+Bag of Mother Nature
+Bag of Strength
+Bag of Universe
+Bag of coins
+Bat Wings
+Bear Fur Cloak
+Beast Hunter
+Beast Token
+Bell of Light
+Berserker Axe
+Berserker Mask
+Big Golem Token
+Black Pearl
+Blade of Requiem
+Blaster
+Blazing Heart
+Blazing Soul
+Blood Cannon Tepes
+Blood Essence
+Blood Orb
+Bloodseeker Plates
+Bloodsoul Plates
+Bloodstone
+Bloodstone Plates
+Bloodstorm
+Bloodsword Tepethia
+Bloody Armor
+Bloody Fang
+Bloody Hatred
+Bloody Helm
+Bloody Robe
+Bolts
+Bone Dragon
+Bone Dragon Token
+Bone Necklace
+Book of Inferno
+Book of fireball
+Boots
+Bow of Corruption
+Bow of Crimson Flame
+Bow of Darkness
+Bow of Deep Sea
+Bow of Flame
+Bow of Poison
+Brave Heart
+Brooch of Darkness
+Bullet of Destruction
+Bullet of Ruin
+Burning Bone Fragments
+Cage of Twisted Souls
+Candy Bag
+Candy-filled Bag
+Cape of Corrupt Flame
+Cape of Deep Abyss
+Cape of Insatiable Hunger
+Cape of the Count
+Cape of the Dead
+Cauldron
+Chaos
+Chaos Dagger
+Chaos Magic Stone
+Chaos Pickaxe
+Charm
+Chaser
+Chest of tresures
+Chrono Chaser
+Chronos, the Cannon of Time
+Claws of Beriel
+Claws of Destruction
+Cloak of the Fallen Shadows
+Clown Token
+Coin of Effort
+Cold Ring of Death
+Corrupt Angel
+Corrupt Angel Token
+Corrupt Creations
+Corrupt Crystal Fragment
+Corrupt Crystal Wings
+Corrupt Token
+Corruptor
+Cosmic Reaper
+Cosmic Star
+Count
+Count Token
+Count's Memento
+Count's Old Cape
+Crab Armor
+Creation of the Sky and Earth
+Crescendo of Madness
+Crimson Cross
+Crimson Curse
+Crimson Hatred
+Crimson Pumpkin Rod
+Crimson Reaper
+Crimson Rose
+Crimson Star
+Crimson Stone
+Crossbow of Desolation
+Crossbow of Requiem
+Crowbar
+Crown of Absolute Zero
+Crown of Cataclysm
+Crown of Cleansing
+Crown of Composure
+Crown of Extreme Anger
+Crown of Fervor
+Crown of Great Rage
+Crown of Rage
+Crown of Serenity
+Crown of Transcendance
+Crystal Golem Token
+Curse of Greed
+Cursed Mask
+Dagger
+Dagger of Night
+Dark Crystal
+Dark Matter
+Dark Wings
+Death Fiend
+Death Scythe
+Death Visage
+Deathbringer
+Deep Armor
+Deep Bow
+Deep Helm
+Deep Rifle
+Deep Robe
+Deep Staff
+Deep Sword
+Demon Hunter
+Demon Lord
+Demon Lord Token
+Demonic Fist
+Devil Blaster
+Devil Chaser
+Divine Slayer
+Draconic Skin Rusalka
+Dragon Armor Magron
+Dragon Blaster
+Dragon Bone
+Dragon Buster
+Dragon Cannon Belenus
+Dragon Heart
+Dragon Mask
+Dragon Scale
+Dragon Wings
+Dragon's Eye
+Dragon's Helm Agron
+Dragonbow Aience
+Dragonic Orb
+Dragonstaff Irave
+Dragonsword Lainhart
+Droplet Orb
+Druid's Mantle
+Duke Token
+Eana, the Holy Cannon
+Eana, the True Holy Cannon
+Earthen Plates
+Emblem of Sacrifice
+Embrace of Nature
+Endless Snow
+Ent Token
+Essence of Anger
+Essence of Corruption
+Essence of Darkness
+Essence of Earth
+Essence of Flame
+Essence of Light
+Essence of Sea
+Essence of Storm
+Eternal Flame
+Eternal Rose
+Eternal Winter
+Ethereal Dagger
+Everfrost
+Everfrost Gauntlet
+Everfrost Token
+Everfrostbane
+Eye of Wallachia
+Eye of the Abyss
+Eye of the Flame Lord
+Eye of the Reaper
+Eyes of the Watcher
+Fairy Garment
+Fairy Robe
+Fairy Wings
+Fang Necklace
+Felspike Armor
+Fiend Chaser
+Fiend Token
+Final Omen
+Flame Cloak
+Flame Explosion
+Flame Fairy Stone
+Flame God Token
+Flame Nightmare
+Flame Soul
+Flame Token
+Flamereaver
+Flameshard Armor
+Forest Armor
+Forest Helm
+Forest Robe
+Fragment of Angel's Feather
+Fragment of Chaos
+Fragment of Corrupt Angel's Feather
+Fragment of Hell
+Fragment of Oblivion
+Fragment of Soul
+Fragment of the Wind
+Frorist
+Frost Fairy Wings
+Frost Herald's Garment
+Frost Web Brooch
+Frostbane
+Frostshard Armor
+Frostspider Lord Token
+Frosty Armor
+Frosty Bow
+Frosty Helm
+Frosty Rifle
+Frosty Robe
+Frosty Staff
+Frosty Sword
+Frozen Cobweb
+Frozen Crystal
+Frozen Debris
+Frozen Heart
+Frozen Robe
+Fruit Candy Pouch
+Fruit-filled Bag
+Full Potion
+Gaia Token
+Gate of Abyss
+Gatekeeper
+Ghostly Thread
+Giant Golem
+Glacier Guard
+Glasses
+God's Page
+Gown of Life
+Grail of Eternity
+Grandine, the Plates of Wraith
+Grandmaster
+Green Crystal Golem Token
+Green Magic Stone
+Grim Heart
+Grim Visage
+Grimoire of Darkness
+Guardian Angel
+Guardian Angel Token
+Guardian Ring
+Guardian Token
+Guardian Vest
+Guardian of the Skies
+Halo of Judgment
+Hard Turtle Shell
+Harmonia, the Sparkle of Life
+Harmony of Sky and Earth
+Hatred
+Heart of Fire
+Heart of Ifrit
+Heart of Life
+Heart of Volcano
+Heartrender
+Heartseeker
+Heaven's Door
+Heaven's Fist
+Heirloom of Lazarus
+Hell Riser
+Hellflame
+Hellspike Armor
+Helm of Battle
+Helm of Corruption
+Helm of Darkness
+Helm of Deep Sea
+Helm of Everfrost
+Helm of Flame
+Helm of Passion
+Helm of Poison
+Helm of the Dead
+Hood of Apocalypse
+Hood of Apocrypha
+Hood of Everfrost
+Hood of Grim Reaper
+Hood of Mage
+Hood of Reaper
+Hood of the Fallen
+Horn of Deep Sea
+Horn of Demon God
+Horn of Demon Lord
+Horn of Devil
+Horn of Dragon
+Horn of God
+Horn of Lightning God
+Horns of Destruction
+Hungry Bat Wings
+Hydra
+Hydra Poison Tooth
+Hydra Scale
+Hydra Token
+Hydro Buster
+Icicle Bow
+Icicle Storm
+Ifrit
+Infected Crab Armor
+Infected Tentacle
+Inferno
+Irbeth, the Sword of Lightning
+Ispion, the Runed Ring
+Ivory Cane
+Jack Pumpkin Helm
+Jack Pumpkin Hood
+Jack Pumpkin Token
+Javelins
+Jewels
+Katars
+Key of Flame
+Key of Sea
+Key of Storm
+King Kong's Claws
+Last Word
+Lifestone
+Lightning God Token
+Living Dragon Heart
+Lord of Revolver
+Lucky Acorn
+Mad Clown
+Mad Symbol
+Mage Lord
+Magic Stone
+Magic Sword
+Magical Horn
+Magical Token
+Mana Ancient
+Mana Heart
+Mana Heart Frost
+Mana Heart Large
+Mana Orb
+Mark of Lord
+Mark of Sin
+Mark of Storm
+Mask of Blood
+Mask of Demigod
+Master
+Maw of Beriel
+Maw of Greed
+Maw of Monster
+Meat Bag
+Mithril Armor
+Mithril Pickaxe
+Monster Blaster
+Monster Hunter
+Nebula Rose
+Nereid
+Niflheim
+Nightmare Rod
+Nightmare Token
+Oath of Courage
+Orb
+Orb of Oblivion
+Orb of the Deep Sea
+Orichalcum
+Parasitic Staff
+Parasitic Sword
+Parchment of Doom
+Pickaxe
+Plates of Lightning
+Plates of Regeneration
+Plates of Sanguine Fury
+Potion of Corruption
+Potion of Healing
+Potion of Mana
+Power of Beriel
+Precious Wind-Protection Clothing
+Prius Gold Coin
+Prius Silver Coin
+Proof of Purification
+Protection of the Fairies
+Protector's Will
+Pumpkin Rod
+Punisher
+Pure Crystal Wings
+Pure Steel
+Purefrost Gauntlet
+Purelight Armor
+Purified Water
+Purified Water of Nature
+Radiance of the One
+Ragnaar
+Rainbow Crystal Golem Token
+Rainmaker
+Raven Bow
+Raven Rifle
+Raven Staff
+Raven Sword
+Reactive Armor
+Red Cross
+Red Crystal Golem Token
+Red Magic Stone
+Rejuvenation Potion
+Rifle of Corruption
+Rifle of Crimson Flame
+Rifle of Darkness
+Rifle of Deep Sea
+Rifle of Flame
+Rifle of Poison
+Ring
+Ring of Composure
+Ring of Count
+Ring of Darkness
+Ring of Deep Darkness
+Ring of Desolate Soul
+Ring of Despair
+Ring of Destruction
+Ring of Divine Winds
+Ring of Eternity
+Ring of Fate
+Ring of Fervor
+Ring of Frozen Soul
+Ring of Holy Light
+Ring of Hope
+Ring of Insanity
+Ring of Intrusion
+Ring of Light
+Ring of Nightmare
+Ring of Poison
+Ring of Resonance
+Ring of Revival
+Ring of Strike
+Ring of Time
+Ring of the Dead
+Ring of the One
+Ring of the Reaper
+Ring of the Sage
+Ring of the Storm
+Ripple Snow
+Robe of Archlich
+Robe of Corruption
+Robe of Darkness
+Robe of Deep Sea
+Robe of Everfrost
+Robe of Flame
+Robe of Poison
+Robe of Storm
+Robe of the Mage
+Robe of the Necromancer
+Robe of the Reaper
+Robe of the Sage
+Ruinbringer
+Ruler of the Skies
+Sacred Armor
+Sacred Helm
+Sanguis, the Robe of Sacrifice
+Scale Protector
+Scarab Bone
+Scroll Oblivion
+Sea God Token
+Sea Jewel
+Seal Breaking Gemstone
+Seal of Corruption
+Seal of Deceiver
+Sealed Weapon
+Seed of Malice
+Shackles of Heaven
+Shadow Dragon
+Shell Sword
+Shining Fragment of Ruins
+Shroud of Perseverance
+Silky Bag
+Silver Fang
+Silverfang Vest
+Skeletal King
+Skeleton Bone
+Skeleton Token
+Skeris, the Unholy Helm
+Skull Seal
+Slayer Boots
+Snowman Pendant
+Soul Blossom
+Soul Devourer
+Soul Drinker
+Soul Eater
+Soul Stone
+Soul of Abyss
+Soul of the Dead
+Soulbane
+Soulstalker
+Spear of Judgment
+Spearhead of Death
+Spider Lord
+Spider Token
+Spirit Beast
+Spirit Dagger
+Spirit Flame
+Spirit Orb
+Spirit of Abyss
+Spirit of Forest
+Spirit of Nightmare
+Spirit of Protector
+Spiritus, the Sword of Elements
+Splitting of the Sky and Earth
+Staff of Abyss
+Staff of Contagion
+Staff of Corruption
+Staff of Crimson Flame
+Staff of Darkness
+Staff of Deep Sea
+Staff of Domination
+Staff of Flame
+Staff of Madness
+Staff of Plague
+Staff of Poison
+Staff of Souls
+Staff of Tentacles
+Staff of Void
+Stalker
+Star of Apotheosis
+Stash of Gold
+Steel of God
+Stone Plates
+Storage Expansion Coupon
+Storm
+Storm Headdress
+Storm Reaver
+Sturdy Bag
+Sword of Corruption
+Sword of Crimson Flame
+Sword of Darkness
+Sword of Deep Sea
+Sword of Flame
+Sword of Poison
+Tentacle Horn
+Tentacle Lord
+Tentacle Token
+The Ancient Sword of Poison
+The Archdevil's Bow
+The Archdevil's Cannon
+The Archdevil's Greatsword
+The Archdevil's Staff
+The Armor of Blood
+The Armor of Demonblood
+The Armor of Despair
+The Armor of Lamentation
+The Armor of Ruin
+The Armor of the Reaper
+The Bloodspear
+The Bloodspear of Domination
+The Bloodspear of Requiem
+The Bloodsword of Domination
+The Bow of Certain Destruction
+The Bow of Divine Fury
+The Bow of Frost
+The Bow of God
+The Bow of Skies
+The Bow of Wind
+The Bringer of Storms
+The Bullet of Judgment
+The Crimson Armor of Blood
+The Crimson Sword of Requiem
+The Devil Lord's Ring
+The Earthen Heart
+The Earthen Pillar
+The Earthen Soul
+The Ender
+The Engraved Ring
+The Greater Source of Mana
+The Greatsword of Explosion
+The Greatsword of Flame
+The Holy Staff
+The Holy Sword
+The Illusional Sword of Poison
+The Iron Bullet
+The Origin of Knowledge
+The Pipe of Chaos
+The Reigning Sword of Poison
+The Ring of Blood
+The Robe of Heavens
+The Robe of Hell
+The Robe of Holy Maiden
+The Robe of the Witch
+The Rod of Earth
+The Source of Mana
+The Spear of Frost
+The Spear of Heavenly Flows
+The Spear of Lightning
+The Staff of Chaos
+The Staff of Duality
+The Staff of Space
+The Sword of Chaos
+The Sword of Dreams
+The Sword of Eternity
+The Sword of Light
+The Sword of Love and Hate
+The Sword of Moonlight
+The Sword of Nightmares
+The Sword of Protection
+The Sword of Slaughter
+The Sword of Thousand Illusions
+The True Holy Staff
+The True Holy Sword
+The True Staff of Space
+The True Sword of Eternity
+The True Unholy Bow
+The True Unholy Sword
+The Unholy Armor
+The Unholy Bow
+The Unholy Sword
+Tidal Robe
+Titan's Plates
+Token of Darkness
+Token of Death
+Token of Underlord
+Tresure Keys
+Trident
+Triple Snow
+Troll Axe
+Troll Battlewear
+Troll Blood
+True Blood Cannon Tepes
+True Bloodstone Plates
+True Dragon Armor Magron
+True Dragon Cannon Belenus
+True Dragon Helm Agron
+True Dragonbow Aience
+True Dragonstaff Irave
+True Dragonsword Lainhart
+True Guardian Ring
+Trueblood Ring
+Tthe Ring of Chaos
+Tthe Ring of Overlord
+Tunic of Subtlety
+Tunic of the Wraith
+Turtle Lord
+Turtle Token
+Tusk Hunter
+Twin Snow
+Twisted Fragment of Ruins
+Valtora
+Very Silky Bag
+Very Sturdy Bag
+Vest of Cyclone
+Vest of Divine Winds
+Vest of Protection
+Vest of Storm
+Visage of Vengeance
+Visvire, the Hammer of Storm
+Void Eye
+Voidshard Armor
+Walrus Skin Cloak
+Wand
+Wanderer's Cape
+Wands
+Warm Fur
+Water Cannon
+White Crystal Golem Token
+White Magic Stone
+Wind-Protection Clothing
+Wing Frame
+Wing of Sea
+Wings of Blood Lord
+Wings of Cosmos
+Wings of Death
+Wings of Death Token
+Wings of Flame Lord
+Wings of Frost Lord
+Wings of Fury
+Wings of Immortal
+Wings of Nature
+Wings of Night Lord
+Wings of Phoenix
+Wings of Purification
+Wings of Sacred Provenance
+Wings of Slayer
+Winter Robe
+Winter Rose
+Winter's Heart
+Winter's Tear
+Yellow Crystal Golem Token
+Zombie Lord
+Zombie Token
+the Sword of Illusion
+the True Sword of Illusion
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/scenario-desc.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/scenario-desc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..01a9da8eb12df775d62eb2734fa9c79f89e942a7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/scenario-desc.txt
@@ -0,0 +1,62 @@
+A Hawaiian-influenced environment and some surfboards
+A calm and peaceful place with green grasses, a blue sky and lots of beauty everywhere
+A city abandoned for years
+A cramped space with a lot of rubble and little space to move around
+A dark and evil land
+A dry place like an empty desert
+A frozen place
+A futuristic place full of cables with lots of neon lights and led lighting
+A hurricane-ravaged environment with lots of broken glass and scattered items
+A land full of bones and skeletons of people who once fought there
+A land full of slime moss stagnant water and insects
+A land full of war trenches with lots of wreckage and remnants of war
+A land where nothing makes sense and everything is out of place
+A land with many riches and treasures
+A maintenance environment with black and yellow stripes signaling construction
+A mountainous location full of icy boulders and snow
+A mountainous location full of jagged rocks and boulders
+A musical concert environment
+A place battered by time and natural disasters
+A place flooded by the sea and with beach sand
+A place forgotten by the world
+A place full of gardens suspended by ropes and chains and butterflies with little details in everything
+A place full of my ancestral past and several vessels with trapped souls
+A place full of sand scattered with dry branches and very arid
+A place infested with bugs and worms with decaying woods
+A place located in the year 1900 with influence of Baroque and Neo-Gothic architecture
+A place off planet earth in a galaxy far far away
+A place taken by a flood with everyday objects floating and cars submerged in the water
+A place taken by nature full of mosses and vegetation
+A place taken over by mushrooms and tree roots
+A place that was once inhabited by beings from another world
+A place with a lot of glass details in silver and gold
+A place with a morbid look that resembles a funeral a little foggy
+A place with a very vast nature with big trees and lots of vegetation
+A place with everything made of wood with a little old paint peeling off and lots of ingrown tribal details
+A place with lots of leaves on the ground and autumn colors
+A place with oil stains on the floor with remains of bodywork and screws and a lot of rusty things
+A private club with a water slide and beach chairs by the pool where every table has nice drinks
+A scene all frozen and full of snow with stalactites
+A space environment with intergalactic and cosmic details
+A space station with many technological resources and many drawers
+A sunny place with a holiday and childhood vibe
+A tropical and latin place with lots of green and beach
+A tropical environment with a party atmosphere and a lot of wealth
+A valley forgotten by time
+A vast archaeological site located in the south region of Italy that was buried by meters of ash and pumice after a catastrophic eruption
+A venue full of marble and gold detailing with reflective flooring
+A very clean and well organized contemporary place
+A very dirty and littered place.
+A very humid place full of puddles and leaks
+A very trendy and frequented place with footprints everywhere and wear on the floor
+An environment that has just been waxed and carefully cleaned where everything is shiny and organized
+An environment with Aztec tendencies and many sculptures with masks on the wall
+An environment with a very vast and very humid fauna
+An environment with an oriental look and solid design ornaments
+An environment with glass windows and chandelier lighting
+An environment with lights like a disco and dance floor
+An environment with rustic furniture and a rustic country farm look
+An environment with tombstones and a similar look to a cemetery with some bats and cockroaches
+An environment with wabi-sabi trends and furniture made by famous designers
+An old place full of cracks, misplaced things and broken pieces
+An ornate venue with ornate floors and walls covered in tapestry
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/site.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/site.txt
new file mode 100644
index 0000000000000000000000000000000000000000..aad06415eed4b30263ffbcb6573bab17e3607c58
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/site.txt
@@ -0,0 +1,17 @@
+National Gallery of Art Highlights
+trending on 500px
+trending on ArtStation
+trending on Artsy
+trending on Behance
+trending on CGSociety
+trending on ConceptArtWorld
+trending on DeviantArt
+trending on Flickr
+trending on Getty Images
+trending on Google Images
+trending on IllustrationX
+trending on Pinterest
+trending on Pixiv
+trending on Saatchi Art
+trending on Sketchfab
+trending on Unsplash
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/skin-color.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/skin-color.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a2d7a9bfa73e079fa2c4f8945ac12c1b4f098e7a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/skin-color.txt
@@ -0,0 +1,26 @@
+alabaster
+beige
+black
+bronze
+brown
+caramel
+chocolate
+copper
+cream
+dark
+espresso
+fair
+golden
+ivory
+light
+mahogany
+olive
+pale
+peach
+pink
+ruby
+salmon
+tan
+taupe
+white
+wine
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/style.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/style.txt
new file mode 100644
index 0000000000000000000000000000000000000000..697674312cce8e8c7dfcd79d536f548c426e1dbc
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/style.txt
@@ -0,0 +1,45 @@
+2D Animation
+2D Digital Paintings
+3D Digital Paintings
+3D Path Tracing
+3D Ray Tracing
+3D Renderings
+3D Sculpting
+Acrylic Paints
+Algorithmic Art
+Botanical Drawing
+Chalks
+Charcoals
+Color Pencils
+Concept Artist
+Data-Moshing
+Digital Collage
+Digital Matte Paintings
+Digital Paintings
+Diorama
+Done in LEGO
+Dynamic Paintings
+Fractal Art
+Generative Art
+Graphite Pencils
+Ink and Pen
+Integrated Arts
+Low Poly
+Matte Paintings
+Miniature
+Mixed-Medium Arts
+Oil Paints
+Optical Illusion
+PSX GRAPHICS
+Paper Cut Out
+Pastels
+Pixel Art
+Play-Doh
+Raster Paintings
+Retro Graphics
+Technical drawing
+Tempera
+Terrarium
+Vector Art
+Voxel
+Watercolors
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/tree.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/tree.txt
new file mode 100644
index 0000000000000000000000000000000000000000..acd70f41365f930e2c02e067c0e4a9ab6903e5f9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/tree.txt
@@ -0,0 +1,75 @@
+acacia
+alder
+apple
+arborvitae
+ash
+aspen
+avocado
+balsam
+bamboo
+banana
+baobab
+bay
+beech
+birch
+blackthorn
+bluegum
+buckeye
+butternut
+cedar
+cherry
+chestnut
+chinkapin
+cork
+cottonwood
+cucumber
+cypress
+dogwood
+elder
+elm
+fir
+guava
+hackberry
+hawthorn
+hemlock
+hickory
+holly
+hophornbean
+hornbean
+jacaranda
+juniper
+larch
+laurel
+lemon
+lime
+locust
+madrone
+magnolia
+maple
+moosewood
+mulberry
+myrtle
+nutmeg
+oak
+orange
+palm
+pear
+persimmon
+pine
+pineapple
+piñon
+pomegranate
+poplar
+redwood
+sassafras
+sequoia
+shadbush
+spruce
+sumac
+sycamore
+tamarind
+torreya
+tupelo
+walnut
+willow
+yew
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/trippy.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/trippy.txt
new file mode 100644
index 0000000000000000000000000000000000000000..bcb884993efa5460b68e6c6891c590ee26a98ec5
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/trippy.txt
@@ -0,0 +1,73 @@
+abstract fractals
+abstract fractals
+astral
+c4d abstract fractals
+celestial
+chroma
+consciousness-expanding
+consciousness-expanding
+coruscating
+crazy-looking
+dazed
+delirium
+effulgence
+eidetic
+empyrean
+entoptic fractals
+entoptic patterns
+entoptic phenomena
+ether
+euneirophrenia
+experimental
+fractal mandelbrot
+fractals
+fractoids
+freaky
+freaky-looking
+geometric fractals
+geometric patterns
+geometric shapes
+gorgonize
+hallucinatory
+hallucinogen
+hallucinogenic
+iridescent
+kaleidoid
+kaleidoscopic
+lambent
+lustrous
+mind-bending
+mind-blowing
+mind-changing
+mind-expanding
+mind-expanding drug
+multi-dimensional
+multicolored
+multidimensional
+mystical fractals
+nacreous
+nebulous
+nimbus
+nubivagant
+numinous
+oneironaut
+opalescent
+phantasmagoria
+phantasmal
+prismatic
+prisms
+psychedelic
+psychoactive
+psychotomimetic
+psychotomimetic
+psychotropic
+spaced-out
+spacy
+speciouis
+sublunary
+supernal
+supramundane
+transient
+triangular polgyonal
+trippy
+verisimilitude
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/water.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/water.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6ae9a478655d773aa98541223b2ea3671cfe8d6b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/water.txt
@@ -0,0 +1,51 @@
+Aral Sea
+Arctic Ocean
+Atlantic Ocean
+Baltic Sea
+Beaufort Sea
+Black Sea
+Caspian Sea
+Chilika Lake
+Dead Sea
+Don Juan Pond
+Garabogazkol Basin
+Great Bear Lake
+Great Bitter Lake
+Great Salt Lake
+Indian Ocean
+Issyk Kul
+Kati Thanda-Lake Eyre
+Lac Assal
+Lacul Sarat
+Lake Abert
+Lake Baikal
+Lake Baskunchak
+Lake Huron
+Lake Michigan
+Lake Natron
+Lake Pikrolimni
+Lake Retba
+Lake Superior
+Lake Tanganyika
+Lake Techirghiol
+Lake Tuz
+Lake Urmia
+Lake Vanda
+Lena River
+Little Manitou Lake
+Lough Hyne
+Mackenzie River
+Mediterranean Sea
+Missouri River
+Mono Lake
+Nile
+Pacific Ocean
+Qinghai Lake
+Red Sea
+Salton Sea
+Sarygamysh Lake
+Sea of Azov
+Sea of Marmara
+The Great Lakes
+Van Lake
+Yangtze River
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/wh-site.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/wh-site.txt
new file mode 100644
index 0000000000000000000000000000000000000000..167de85a271048640c3a3f708cc318e81645c8d0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/nsp/nsp/wh-site.txt
@@ -0,0 +1,1244 @@
+18th-Century Royal Palace at Caserta with the Park, the Aqueduct of Vanvitelli, and the San Leucio Complex
+Aachen Cathedral
+Aapravasi Ghat
+Aasivissuit – Nipisat. Inuit Hunting Ground between Ice and Sea
+Abbey Church of Saint-Savin sur Gartempe
+Abbey and Altenmünster of Lorsch
+Abbey of St Gall
+Abu Mena
+Acropolis, Athens
+Aflaj Irrigation Systems of Oman
+Agave Landscape and Ancient Industrial Facilities of Tequila
+Agra Fort
+Agricultural Landscape of Southern Oland
+Air and Ténéré Natural Reserves
+Ajanta Caves
+Aksum
+Al Qal'a of Beni Hammad
+Al Zubarah Archaeological Site
+Al-Ahsa Oasis, an Evolving Cultural Landscape
+Aldabra Atoll
+Alejandro de Humboldt National Park
+Alhambra, Generalife and Albayzin, Granada
+Alto Douro Wine Region
+Amami-Oshima Island, Tokunoshima Island, Northern part of Okinawa Island, and Iriomote Island
+Amiens Cathedral
+Amphitheatre of El Jem
+Ancient Building Complex in the Wudang Mountains
+Ancient City of Aleppo
+Ancient City of Bosra
+Ancient City of Damascus
+Ancient City of Nessebar
+Ancient City of Ping Yao
+Ancient City of Polonnaruwa
+Ancient City of Qalhat
+Ancient City of Sigiriya
+Ancient City of Tauric Chersonese and its Chora
+Ancient Ferrous Metallurgy Sites of Burkina Faso
+Ancient Ksour of Ouadane, Chinguetti, Tichitt and Oualata
+Ancient Maya City and Protected Tropical Forests of Calakmul, Campeche
+Ancient Thebes with its Necropolis
+Ancient Villages in Southern Anhui – Xidi and Hongcun
+Ancient Villages of Northern Syria
+Ancient and Primeval Beech Forests of the Carpathians
+Ancient and Primeval Beech Forests of the Carpathians
+Ancient and Primeval Beech Forests of the Carpathians
+Ancient and Primeval Beech Forests of the Carpathians
+Ancient and Primeval Beech Forests of the Carpathians and Other Regions of Europe
+Ancient and Primeval Beech Forests of the Carpathians and Other Regions of Europe
+Ancient and Primeval Beech Forests of the Carpathians and Other Regions of Europe
+Ancient and Primeval Beech Forests of the Carpathians and Other Regions of Europe
+Ancient and Primeval Beech Forests of the Carpathians and Other Regions of Europe
+Ancient and Primeval Beech Forests of the Carpathians and Other Regions of Europe
+Ancient and Primeval Beech Forests of the Carpathians and Other Regions of Europe
+Ancient and Primeval Beech Forests of the Carpathians and Other Regions of Europe
+Ancient and Primeval Beech Forests of the Carpathians and Other Regions of Europe
+Ancient and Primeval Beech Forests of the Carpathians and Other Regions of Europe
+Ancient and Primeval Beech Forests of the Carpathians and Other Regions of Europe
+Angkor
+Anjar
+Antequera Dolmens Site
+Antigua Guatemala
+Antigua Naval Dockyard and Related Archaeological Sites
+Aphrodisias
+Aqueduct of Padre Tembleque Hydraulic System
+Arab-Norman Palermo and the Cathedral Churches of Cefalú and Monreale
+Aranjuez Cultural Landscape
+Archaeological Area and the Patriarchal Basilica of Aquileia
+Archaeological Area of Agrigento
+Archaeological Areas of Pompei, Herculaneum and Torre Annunziata
+Archaeological Border complex of Hedeby and the Danevirke
+Archaeological Ensemble of Merida
+Archaeological Ensemble of Tarraco
+Archaeological Heritage of the Lenggong Valley
+Archaeological Landscape of the First Coffee Plantations in the South-East of Cuba
+Archaeological Monuments Zone of Xochicalco
+Archaeological Park and Ruins of Quirigua
+Archaeological Ruins at Moenjodaro
+Archaeological Ruins of Liangzhu City
+Archaeological Site of Aigai (modern name Vergina)
+Archaeological Site of Ani
+Archaeological Site of Atapuerca
+Archaeological Site of Carthage
+Archaeological Site of Cyrene
+Archaeological Site of Delphi
+Archaeological Site of Leptis Magna
+Archaeological Site of Mystras
+Archaeological Site of Nalanda Mahavihara at Nalanda, Bihar
+Archaeological Site of Olympia
+Archaeological Site of Panamá Viejo and Historic District of Panamá
+Archaeological Site of Philippi
+Archaeological Site of Sabratha
+Archaeological Site of Troy
+Archaeological Site of Volubilis
+Archaeological Sites of Bat, Al-Khutm and Al-Ayn
+Archaeological Sites of Mycenae and Tiryns
+Archaeological Sites of the Island of Meroe
+Archaeological Zone of Paquimé, Casas Grandes
+Archipiélago de Revillagigedo
+Architectural Ensemble of the Trinity Sergius Lavra in Sergiev Posad
+Architectural, Residential and Cultural Complex of the Radziwill Family at Nesvizh
+Area de Conservación Guanacaste
+Arles, Roman and Romanesque Monuments
+Armenian Monastic Ensembles of Iran
+Arslantepe Mound
+As-Salt - The Place of Tolerance and Urban Hospitality
+Asante Traditional Buildings
+Ashur (Qal'at Sherqat)
+Asmara: A Modernist African City
+Assisi, the Basilica of San Francesco and Other Franciscan Sites
+Assumption Cathedral and Monastery of the town-island of Sviyazhsk
+At-Turaif District in ad-Dir'iyah
+Atlantic Forest South-East Reserves
+Auschwitz Birkenau German Nazi Concentration and Extermination Camp (1940-1945)
+Australian Convict Sites
+Australian Fossil Mammal Sites (Riversleigh / Naracoorte)
+Baalbek
+Babylon
+Baekje Historic Areas
+Bagan
+Bahla Fort
+Bahá’i Holy Places in Haifa and the Western Galilee
+Bam and its Cultural Landscape
+Ban Chiang Archaeological Site
+Banc d'Arguin National Park
+Baptism Site ‘Bethany Beyond the Jordan’(Al-Maghtas)
+Barberton Makhonjwa Mountains
+Bardejov Town Conservation Reserve
+Baroque Churches of the Philippines
+Bassari Country: Bassari, Fula and Bedik Cultural Landscapes
+Bauhaus and its Sites in Weimar, Dessau and Bernau
+Belfries of Belgium and France
+Belfries of Belgium and France
+Belize Barrier Reef Reserve System
+Benedictine Convent of St John at Mustair
+Bergpark Wilhelmshöhe
+Berlin Modernism Housing Estates
+Bialowieza Forest
+Białowieża Forest
+Biblical Tels - Megiddo, Hazor, Beer Sheba
+Bikini Atoll Nuclear Test Site
+Birka and Hovgarden
+Birthplace of Jesus: Church of the Nativity and the Pilgrimage Route, Bethlehem
+Bisotun
+Blaenavon Industrial Landscape
+Blenheim Palace
+Blue and John Crow Mountains
+Bolgar Historical and Archaeological Complex
+Bordeaux, Port of the Moon
+Borobudur Temple Compounds
+Botanical Garden (Orto Botanico), Padua
+Bourges Cathedral
+Boyana Church
+Brasilia
+Brazilian Atlantic Islands: Fernando de Noronha and Atol das Rocas Reserves
+Brimstone Hill Fortress National Park
+Bronze Age Burial Site of Sammallahdenmäki
+Bryggen
+Brú na Bóinne - Archaeological Ensemble of the Bend of the Boyne
+Budapest, including the Banks of the Danube, the Buda Castle Quarter and Andrássy Avenue
+Buddhist Monuments at Sanchi
+Buddhist Monuments in the Horyu-ji Area
+Buddhist Ruins of Takht-i-Bahi and Neighbouring City Remains at Sahr-i-Bahlol
+Budj Bim Cultural Landscape
+Burgos Cathedral
+Bursa and Cumalıkızık: the Birth of the Ottoman Empire
+Butrint
+Bwindi Impenetrable National Park
+Byblos
+Cahokia Mounds State Historic Site
+Caliphate City of Medina Azahara
+Camino Real de Tierra Adentro
+Canadian Rocky Mountain Parks
+Canaima National Park
+Canal du Midi
+Canterbury Cathedral, St Augustine's Abbey, and St Martin's Church
+Cape Floral Region Protected Areas
+Capital Cities and Tombs of the Ancient Koguryo Kingdom
+Carlsbad Caverns National Park
+Carolingian Westwork and Civitas Corvey
+Castel del Monte
+Castle of the Teutonic Order in Malbork
+Castles and Town Walls of King Edward in Gwynedd
+Castles of Augustusburg and Falkenlust at Brühl
+Catalan Romanesque Churches of the Vall de Boi
+Cathedral and Churches of Echmiatsin and the Archaeological Site of Zvartnots
+Cathedral of Notre-Dame, Former Abbey of Saint-Rémi and Palace of Tau, Reims
+Cathedral, Alcazar and Archivo de Indias in Seville
+Cathedral, Torre Civica and Piazza Grande, Modena
+Cave of Altamira and Paleolithic Cave Art of Northern Spain
+Caves and Ice Age Art in the Swabian Jura
+Caves of Aggtelek Karst and Slovak Karst
+Caves of Aggtelek Karst and Slovak Karst
+Caves of Maresha and Bet-Guvrin in the Judean Lowlands as a Microcosm of the Land of the Caves
+Centennial Hall in Wroclaw
+Central Amazon Conservation Complex
+Central Highlands of Sri Lanka
+Central Sector of the Imperial Citadel of Thang Long - Hanoi
+Central Sikhote-Alin
+Central Suriname Nature Reserve
+Central University City Campus of the Universidad Nacional Autónoma de México (UNAM)
+Central Zone of the Town of Angra do Heroismo in the Azores
+Cerrado Protected Areas: Chapada dos Veadeiros and Emas National Parks
+Chaco Culture
+Champagne Hillsides, Houses and Cellars
+Champaner-Pavagadh Archaeological Park
+Chan Chan Archaeological Zone
+Changdeokgung Palace Complex
+Chankillo Archaeoastronomical Complex
+Chartres Cathedral
+Chavin (Archaeological Site)
+Chaîne des Puys - Limagne fault tectonic arena
+Chengjiang Fossil Site
+Chhatrapati Shivaji Terminus (formerly Victoria Terminus)
+Chief Roi Matas Domain
+China Danxia
+Chiribiquete National Park The Maloca of the Jaguar
+Chitwan National Park
+Choirokoitia
+Chongoni Rock-Art Area
+Christiansfeld, a Moravian Church Settlement
+Church Town of Gammelstad, Lulea
+Church and Dominican Convent of Santa Maria delle Grazie with “The Last Supper” by Leonardo da Vinci
+Church of the Ascension, Kolomenskoye
+Churches and Convents of Goa
+Churches of Chiloé
+Churches of Moldavia
+Churches of Peace in Jawor and Swidnica
+Churches of the Pskov School of Architecture
+Cidade Velha, Historic Centre of Ribeira Grande
+Cilento and Vallo di Diano National Park with the Archeological Sites of Paestum and Velia, and the Certosa di Padula
+Cistercian Abbey of Fontenay
+Citadel of the Ho Dynasty
+Citadel, Ancient City and Fortress Buildings of Derbent
+City of Bath
+City of Cuzco
+City of Graz – Historic Centre and Schloss Eggenberg
+City of Luxembourg: its Old Quarters and Fortifications
+City of Potosí
+City of Quito
+City of Safranbolu
+City of Valletta
+City of Verona
+City of Vicenza and the Palladian Villas of the Veneto
+Ciudad Universitaria de Caracas
+Classical Gardens of Suzhou
+Classical Weimar
+Cliff of Bandiagara (Land of the Dogons)
+Cocos Island National Park
+Coffee Cultural Landscape of Colombia
+Coiba National Park and its Special Zone of Marine Protection
+Colchic Rainforests and Wetlands
+Collegiate Church, Castle and Old Town of Quedlinburg
+Cologne Cathedral
+Colonial City of Santo Domingo
+Colonies of Benevolence
+Colonies of Benevolence
+Comoé National Park
+Complex of Hue Monuments
+Complex of Koguryo Tombs
+Convent of Christ in Tomar
+Cordouan Lighthouse
+Cornwall and West Devon Mining Landscape
+Coro and its Port
+Costiera Amalfitana
+Crac des Chevaliers and Qal’at Salah El-Din
+Crespi d'Adda
+Cueva de las Manos, Río Pinturas
+Cultural Landscape and Archaeological Remains of the Bamiyan Valley
+Cultural Landscape of Bali Province: the Subak System as a Manifestation of the Tri Hita Karana Philosophy
+Cultural Landscape of Hawraman/Uramanat
+Cultural Landscape of Honghe Hani Rice Terraces
+Cultural Landscape of Maymand
+Cultural Landscape of Sintra
+Cultural Landscape of the Serra de Tramuntana
+Cultural Sites of Al Ain (Hafit, Hili, Bidaa Bint Saud and Oases Areas)
+Cultural and Historic Ensemble of the Solovetsky Islands
+Curonian Spit
+Curonian Spit
+Dacian Fortresses of the Orastie Mountains
+Danube Delta
+Darien National Park
+Dazu Rock Carvings
+Decorated Cave of Pont d’Arc, known as Grotte Chauvet-Pont d’Arc, Ardèche
+Decorated Farmhouses of Halsingland
+Delos
+Derwent Valley Mills
+Desembarco del Granma National Park
+Dholavira: a Harappan City
+Dilmun Burial Mounds
+Dinosaur Provincial Park
+Discovery Coast Atlantic Forest Reserves
+Diyarbakır Fortress and Hevsel Gardens Cultural Landscape
+Dja Faunal Reserve
+Djoudj National Bird Sanctuary
+Djémila
+Donana National Park
+Dong Phayayen-Khao Yai Forest Complex
+Dorset and East Devon Coast
+Dougga / Thugga
+Droogmakerij de Beemster (Beemster Polder)
+Durham Castle and Cathedral
+Durmitor National Park
+Dutch Water Defence Lines
+Earliest 16th-Century Monasteries on the Slopes of Popocatepetl
+Early Christian Monuments of Ravenna
+Early Christian Necropolis of Pécs (Sopianae)
+East Rennell
+Ecosystem and Relict Cultural Landscape of Lopé-Okanda
+El Pinacate and Gran Desierto de Altar Biosphere Reserve
+El Tajin, Pre-Hispanic City
+Elephanta Caves
+Ellora Caves
+Engelsberg Ironworks
+Ennedi Massif: Natural and Cultural Landscape
+Ensemble of the Ferapontov Monastery
+Ensemble of the Novodevichy Convent
+Ephesus
+Episcopal City of Albi
+Episcopal Complex of the Euphrasian Basilica in the Historic Centre of Poreč
+Erbil Citadel
+Erzgebirge/Krušnohoří Mining Region
+Erzgebirge/Krušnohoří Mining Region
+Etruscan Necropolises of Cerveteri and Tarquinia
+Everglades National Park
+Fagus Factory in Alfeld
+Fanjingshan
+Fasil Ghebbi, Gondar Region
+Fatehpur Sikri
+Ferrara, City of the Renaissance, and its Po Delta
+Fertö / Neusiedlersee Cultural Landscape
+Fertö / Neusiedlersee Cultural Landscape
+Flemish Béguinages
+Fort Jesus, Mombasa
+Fort and Shalamar Gardens in Lahore
+Fortifications of Vauban
+Fortifications on the Caribbean Side of Panama: Portobelo-San Lorenzo
+Fortress of Suomenlinna
+Forts and Castles, Volta, Greater Accra, Central and Western Regions
+Fossil Hominid Sites of South Africa
+Franciscan Missions in the Sierra Gorda of Querétaro
+Fray Bentos Industrial Landscape
+French Austral Lands and Seas
+From the Great Saltworks of Salins-les-Bains to the Royal Saltworks of Arc-et-Senans
+Frontiers of the Roman Empire
+Frontiers of the Roman Empire
+Frontiers of the Roman Empire – The Danube Limes (Western Segment)
+Frontiers of the Roman Empire – The Danube Limes (Western Segment)
+Frontiers of the Roman Empire – The Danube Limes (Western Segment)
+Frontiers of the Roman Empire – The Lower German Limes
+Frontiers of the Roman Empire – The Lower German Limes
+Fuerte de Samaipata
+Fujian Tulou
+Fujisan, sacred place and source of artistic inspiration
+Galápagos Islands
+Gamzigrad-Romuliana, Palace of Galerius
+Garajonay National Park
+Garamba National Park
+Garden Kingdom of Dessau-Wörlitz
+Gardens and Castle at Kroměříž
+Garrison Border Town of Elvas and its Fortifications
+Gebel Barkal and the Sites of the Napatan Region
+Gelati Monastery
+Genoa: Le Strade Nuove and the system of the Palazzi dei Rolli
+Getbol, Korean Tidal Flats
+Giant's Causeway and Causeway Coast
+Gobekli Tepe
+Gobustan Rock Art Cultural Landscape
+Gochang, Hwasun and Ganghwa Dolmen Sites
+Golden Mountains of Altai
+Golestan Palace
+Gonbad-e Qābus
+Gondwana Rainforests of Australia
+Goreme National Park and the Rock Sites of Cappadocia
+Gorham's Cave Complex
+Gough and Inaccessible Islands
+Grand Canyon National Park
+Great Barrier Reef
+Great Burkhan Khaldun Mountain and its surrounding sacred landscape
+Great Himalayan National Park Conservation Area
+Great Living Chola Temples
+Great Mosque and Hospital of Divriği
+Great Smoky Mountains National Park
+Great Zimbabwe National Monument
+Greater Blue Mountains Area
+Grimeton Radio Station, Varberg
+Gros Morne National Park
+Group of Monuments at Hampi
+Group of Monuments at Mahabalipuram
+Group of Monuments at Pattadakal
+Gulf of Porto: Calanche of Piana, Gulf of Girolata, Scandola Reserve
+Gunung Mulu National Park
+Gusuku Sites and Related Properties of the Kingdom of Ryukyu
+Gyeongju Historic Areas
+Ha Long Bay
+Haeinsa Temple Janggyeong Panjeon, the Depositories for the Tripitaka Koreana Woodblocks
+Hallstatt-Dachstein / Salzkammergut Cultural Landscape
+Hanseatic City of Lübeck
+Hanseatic Town of Visby
+Harar Jugol, the Fortified Historic Town
+Hatra
+Hattusha: the Hittite Capital
+Hawaii Volcanoes National Park
+Head-Smashed-In Buffalo Jump
+Heard and McDonald Islands
+Heart of Neolithic Orkney
+Hebron/Al-Khalil Old Town
+Hegra Archaeological Site
+Henderson Island
+Heritage of Mercury. Almadén and Idrija
+Heritage of Mercury. Almadén and Idrija
+Hidden Christian Sites in the Nagasaki Region
+Hierapolis-Pamukkale
+High Coast / Kvarken Archipelago
+High Coast / Kvarken Archipelago
+Hill Forts of Rajasthan
+Hima Cultural Area
+Himeji-jo
+Hiraizumi – Temples, Gardens and Archaeological Sites Representing the Buddhist Pure Land
+Hiroshima Peace Memorial (Genbaku Dome)
+Historic Area of Willemstad, Inner City and Harbour, Curaçao
+Historic Areas of Istanbul
+Historic Bridgetown and its Garrison
+Historic Cairo
+Historic Centre (Old Town) of Tallinn
+Historic Centre of Agadez
+Historic Centre of Avignon: Papal Palace, Episcopal Ensemble and Avignon Bridge
+Historic Centre of Brugge
+Historic Centre of Bukhara
+Historic Centre of Camagüey
+Historic Centre of Cordoba
+Historic Centre of Evora
+Historic Centre of Florence
+Historic Centre of Guimarães
+Historic Centre of Krakow
+Historic Centre of Lima
+Historic Centre of Macao
+Historic Centre of Mexico City and Xochimilco
+Historic Centre of Morelia
+Historic Centre of Naples
+Historic Centre of Oaxaca and Archaeological Site of Monte Albán
+Historic Centre of Oporto, Luiz I Bridge and Monastery of Serra do Pilar
+Historic Centre of Prague
+Historic Centre of Puebla
+Historic Centre of Riga
+Historic Centre of Rome, the Properties of the Holy See in that City Enjoying Extraterritorial Rights and San Paolo Fuori le Mura
+Historic Centre of Rome, the Properties of the Holy See in that City Enjoying Extraterritorial Rights and San Paolo Fuori le Mura *
+Historic Centre of Saint Petersburg and Related Groups of Monuments
+Historic Centre of Salvador de Bahia
+Historic Centre of San Gimignano
+Historic Centre of Santa Ana de los Ríos de Cuenca
+Historic Centre of Santa Cruz de Mompox
+Historic Centre of Shakhrisyabz
+Historic Centre of Sheki with the Khan’s Palace
+Historic Centre of Siena
+Historic Centre of Sighişoara
+Historic Centre of São Luís
+Historic Centre of Telč
+Historic Centre of Urbino
+Historic Centre of Vienna
+Historic Centre of Warsaw
+Historic Centre of Zacatecas
+Historic Centre of the City of Pienza
+Historic Centre of the City of Salzburg
+Historic Centre of the Town of Diamantina
+Historic Centre of the Town of Goiás
+Historic Centre of the Town of Olinda
+Historic Centre of Český Krumlov
+Historic Centres of Berat and Gjirokastra
+Historic Centres of Stralsund and Wismar
+Historic City of Ahmadabad
+Historic City of Ayutthaya
+Historic City of Meknes
+Historic City of Sucre
+Historic City of Toledo
+Historic City of Trogir
+Historic City of Vigan
+Historic City of Yazd
+Historic District of Old Québec
+Historic Ensemble of the Potala Palace, Lhasa
+Historic Fortified City of Carcassonne
+Historic Fortified Town of Campeche
+Historic Inner City of Paramaribo
+Historic Jeddah, the Gate to Makkah
+Historic Monuments Zone of Querétaro
+Historic Monuments Zone of Tlacotalpan
+Historic Monuments and Sites in Kaesong
+Historic Monuments of Ancient Kyoto (Kyoto, Uji and Otsu Cities)
+Historic Monuments of Ancient Nara
+Historic Monuments of Dengfeng in The Centre of Heaven and Earth
+Historic Monuments of Novgorod and Surroundings
+Historic Mosque City of Bagerhat
+Historic Quarter of the City of Colonia del Sacramento
+Historic Quarter of the Seaport City of Valparaíso
+Historic Sanctuary of Machu Picchu
+Historic Site of Lyon
+Historic Town of Banská Štiavnica and the Technical Monuments in its Vicinity
+Historic Town of Grand-Bassam
+Historic Town of Guanajuato and Adjacent Mines
+Historic Town of Ouro Preto
+Historic Town of St George and Related Fortifications, Bermuda
+Historic Town of Sukhothai and Associated Historic Towns
+Historic Town of Zabid
+Historic Villages of Korea: Hahoe and Yangdong
+Historic Villages of Shirakawa-go and Gokayama
+Historic Walled Town of Cuenca
+Historic and Architectural Complex of the Kazan Kremlin
+Historical Centre of the City of Arequipa
+Historical Centre of the City of Yaroslavl
+Historical Complex of Split with the Palace of Diocletian
+Historical Monuments at Makli, Thatta
+Historical Monuments of Mtskheta
+Hoi An Ancient Town
+Holašovice Historic Village
+Holy Trinity Column in Olomouc
+Hortobágy National Park - the Puszta
+Hospicio Cabañas, Guadalajara
+Huanglong Scenic and Historic Interest Area
+Huascarán National Park
+Hubei Shennongjia
+Humayun's Tomb, Delhi
+Humberstone and Santa Laura Saltpeter Works
+Hwaseong Fortress
+Hyrcanian Forests
+Ibiza, Biodiversity and Culture
+Ichkeul National Park
+Iguazu National Park
+Iguaçu National Park
+Ilulissat Icefjord
+Imperial Palaces of the Ming and Qing Dynasties in Beijing and Shenyang
+Imperial Tombs of the Ming and Qing Dynasties
+Incense Route - Desert Cities in the Negev
+Independence Hall
+Ir.D.F. Woudagemaal (D.F. Wouda Steam Pumping Station)
+Ironbridge Gorge
+Ischigualasto / Talampaya Natural Parks
+Island of Goree
+Island of Mozambique
+Island of Saint-Louis
+Islands and Protected Areas of the Gulf of California
+Isole Eolie (Aeolian Islands)
+Itchan Kala
+Itsukushima Shinto Shrine
+Ivindo National Park
+Ivrea, industrial city of the 20th century
+Iwami Ginzan Silver Mine and its Cultural Landscape
+Jaipur City, Rajasthan
+Jeju Volcanic Island and Lava Tubes
+Jelling Mounds, Runic Stones and Church
+Jesuit Block and Estancias of Córdoba
+Jesuit Missions of La Santísima Trinidad de Paraná and Jesús de Tavarangue
+Jesuit Missions of the Chiquitos
+Jesuit Missions of the Guaranis: San Ignacio Mini, Santa Ana, Nuestra Señora de Loreto and Santa Maria Mayor (Argentina), Ruins of Sao Miguel das Missoes (Brazil)
+Jesuit Missions of the Guaranis: San Ignacio Mini, Santa Ana, Nuestra Señora de Loreto and Santa Maria Mayor (Argentina), Ruins of Sao Miguel das Missoes (Brazil)
+Jewish Quarter and St Procopius' Basilica in Třebíč
+Jiuzhaigou Valley Scenic and Historic Interest Area
+Jodrell Bank Observatory
+Joggins Fossil Cliffs
+Jomon Prehistoric Sites in Northern Japan
+Jongmyo Shrine
+Joya de Cerén Archaeological Site
+Jurisdiction of Saint-Emilion
+Kaeng Krachan Forest Complex
+Kahuzi-Biega National Park
+Kaiping Diaolou and Villages
+Kairouan
+Kakadu National Park
+Kakatiya Rudreshwara (Ramappa) Temple, Telangana
+Kalwaria Zebrzydowska: the Mannerist Architectural and Park Landscape Complex and Pilgrimage Park
+Kasbah of Algiers
+Kathmandu Valley
+Kaziranga National Park
+Kenya Lake System in the Great Rift Valley
+Keoladeo National Park
+Kernavė Archaeological Site (Cultural Reserve of Kernavė)
+Khajuraho Group of Monuments
+Khami Ruins National Monument
+Khangchendzonga National Park
+Khomani Cultural Landscape
+Kilimanjaro National Park
+Kinabalu Park
+Kizhi Pogost
+Kluane / Wrangell-St. Elias / Glacier Bay / Tatshenshini-Alsek
+Kluane / Wrangell-St. Elias / Glacier Bay / Tatshenshini-Alsek
+Komodo National Park
+Kondoa Rock-Art Sites
+Konso Cultural Landscape
+Koutammakou, the Land of the Batammariba
+Kremlin and Red Square, Moscow
+Kronborg Castle
+Krzemionki Prehistoric Striped Flint Mining Region
+Ksar of Ait-Ben-Haddou
+Kujataa Greenland: Norse and Inuit Farming at the Edge of the Ice Cap
+Kuk Early Agricultural Site
+Kulangsu, a Historic International Settlement
+Kunta Kinteh Island and Related Sites
+Kunya-Urgench
+Kutná Hora: Historical Town Centre with the Church of St Barbara and the Cathedral of Our Lady at Sedlec
+Kyiv: Saint-Sophia Cathedral and Related Monastic Buildings, Kyiv-Pechersk Lavra
+K’gari (Fraser Island)
+L'viv – the Ensemble of the Historic Centre
+La Chaux-de-Fonds / Le Locle, Watchmaking Town Planning
+La Fortaleza and San Juan National Historic Site in Puerto Rico
+La Grand-Place, Brussels
+La Lonja de la Seda de Valencia
+Lagoons of New Caledonia: Reef Diversity and Associated Ecosystems
+Lake Baikal
+Lake Malawi National Park
+Lake Turkana National Parks
+Lakes of Ounianga
+Lamu Old Town
+Land of Frankincense
+Landscape for Breeding and Training of Ceremonial Carriage Horses at Kladruby nad Labem
+Landscape of Grand Pré
+Landscape of the Pico Island Vineyard Culture
+Landscapes of Dauria
+Landscapes of Dauria
+Laponian Area
+Las Medulas
+Late Baroque Towns of the Val di Noto (South-Eastern Sicily)
+Laurisilva of Madeira
+Lavaux, Vineyard Terraces
+Le Colline del Prosecco di Conegliano e Valdobbiadene
+Le Havre, the City Rebuilt by Auguste Perret
+Le Morne Cultural Landscape
+Lednice-Valtice Cultural Landscape
+Lena Pillars Nature Park
+Levoca, Spissky Hrad and the Associated Cultural Monuments
+Levuka Historical Port Town
+León Cathedral
+Lines and Geoglyphs of Nasca and Palpa
+Litomyšl Castle
+Longmen Grottoes
+Longobards in Italy. Places of the Power
+Lord Howe Island Group
+Lorentz National Park
+Los Alerces National Park
+Los Glaciares National Park
+Los Katíos National Park
+Lower Valley of the Awash
+Lower Valley of the Omo
+Luis Barragán House and Studio
+Lumbini, the Birthplace of the Lord Buddha
+Lushan National Park
+Lut Desert
+Luther Memorials in Eisleben and Wittenberg
+L’Anse aux Meadows National Historic Site
+M'Zab Valley
+Macquarie Island
+Madara Rider
+Madriu-Perafita-Claror Valley
+Mahabodhi Temple Complex at Bodh Gaya
+Major Mining Sites of Wallonia
+Major Town Houses of the Architect Victor Horta (Brussels)
+Maloti-Drakensberg Park
+Maloti-Drakensberg Park
+Malpelo Fauna and Flora Sanctuary
+Mammoth Cave National Park
+Mana Pools National Park, Sapi and Chewore Safari Areas
+Manas Wildlife Sanctuary
+Manovo-Gounda St Floris National Park
+Mantua and Sabbioneta
+Manú National Park
+Mapungubwe Cultural Landscape
+Margravial Opera House Bayreuth
+Maritime Greenwich
+Masada
+Masjed-e Jāmé of Isfahan
+Mathildenhöhe Darmstadt
+Matobo Hills
+Maulbronn Monastery Complex
+Mausoleum of Khoja Ahmed Yasawi
+Mausoleum of the First Qin Emperor
+Maya Site of Copan
+Mbanza Kongo, Vestiges of the Capital of the former Kingdom of Kongo
+Medici Villas and Gardens in Tuscany
+Medieval City of Rhodes
+Medieval Monuments in Kosovo
+Medieval Town of Torun
+Medina of Essaouira (formerly Mogador)
+Medina of Fez
+Medina of Marrakesh
+Medina of Sousse
+Medina of Tunis
+Medina of Tétouan (formerly known as Titawin)
+Megalithic Jar Sites in Xiengkhuang – Plain of Jars
+Megalithic Temples of Malta
+Mehmed Paša Sokolović Bridge in Višegrad
+Meidan Emam, Esfahan
+Melaka and George Town, Historic Cities of the Straits of Malacca
+Memphis and its Necropolis – the Pyramid Fields from Giza to Dahshur
+Mesa Verde National Park
+Messel Pit Fossil Site
+Meteora
+Migratory Bird Sanctuaries along the Coast of Yellow Sea-Bohai Gulf of China
+Miguasha National Park
+Mill Network at Kinderdijk-Elshout
+Millenary Benedictine Abbey of Pannonhalma and its Natural Environment
+Minaret and Archaeological Remains of Jam
+Mines of Rammelsberg, Historic Town of Goslar and Upper Harz Water Management System
+Mining Area of the Great Copper Mountain in Falun
+Mir Castle Complex
+Mistaken Point
+Mogao Caves
+Monarch Butterfly Biosphere Reserve
+Monasteries of Daphni, Hosios Loukas and Nea Moni of Chios
+Monasteries of Haghpat and Sanahin
+Monastery and Site of the Escurial, Madrid
+Monastery of Alcobaca
+Monastery of Batalha
+Monastery of Geghard and the Upper Azat Valley
+Monastery of Horezu
+Monastery of the Hieronymites and Tower of Belem in Lisbon
+Monastic Island of Reichenau
+Mont-Saint-Michel and its Bay
+Monte San Giorgio
+Monte San Giorgio
+Monticello and the University of Virginia in Charlottesville
+Monumental Earthworks of Poverty Point
+Monuments of Oviedo and the Kingdom of the Asturias
+Morne Trois Pitons National Park
+Mosi-oa-Tunya / Victoria Falls
+Mosi-oa-Tunya / Victoria Falls
+Mount Athos
+Mount Emei Scenic Area, including Leshan Giant Buddha Scenic Area
+Mount Etna
+Mount Hamiguitan Range Wildlife Sanctuary
+Mount Huangshan
+Mount Kenya National Park/Natural Forest
+Mount Nimba Strict Nature Reserve
+Mount Nimba Strict Nature Reserve
+Mount Qingcheng and the Dujiangyan Irrigation System
+Mount Sanqingshan National Park
+Mount Taishan
+Mount Wutai
+Mount Wuyi
+Mountain Railways of India
+Mountain Resort and its Outlying Temples, Chengde
+Mozu-Furuichi Kofun Group: Mounded Tombs of Ancient Japan
+Mudejar Architecture of Aragon
+Museumsinsel (Museum Island), Berlin
+Muskauer Park / Park Muzakowski
+Muskauer Park / Park Mużakowski
+My Son Sanctuary
+Nahanni National Park
+Namhansanseong
+Namib Sand Sea
+Nan Madol: Ceremonial Centre of Eastern Micronesia
+Nanda Devi and Valley of Flowers National Parks
+National Archeological Park of Tierradentro
+National History Park – Citadel, Sans Souci, Ramiers
+Natural System of Wrangel Island Reserve
+Natural and Cultural Heritage of the Ohrid region
+Natural and Cultural Heritage of the Ohrid region
+Natural and Culturo-Historical Region of Kotor
+Naumburg Cathedral
+Naval Port of Karlskrona
+Necropolis of Bet She’arim: A Landmark of Jewish Renewal
+Nemrut Dag
+Neolithic Flint Mines at Spiennes (Mons)
+Neolithic Site of Catalhoyuk
+New Lanark
+New Zealand Sub-Antarctic Islands
+Ngorongoro Conservation Area
+Nice, Winter Resort Town of the Riviera
+Ningaloo Coast
+Niokolo-Koba National Park
+Noel Kempff Mercado National Park
+Nord-Pas de Calais Mining Basin
+Notre-Dame Cathedral in Tournai
+Nubian Monuments from Abu Simbel to Philae
+Ogasawara Islands
+Okapi Wildlife Reserve
+Okavango Delta
+Old Bridge Area of the Old City of Mostar
+Old City of Acre
+Old City of Berne
+Old City of Dubrovnik
+Old City of Jerusalem and its Walls
+Old City of Salamanca
+Old City of Sana'a
+Old City of Zamosc
+Old Havana and its Fortification System
+Old Rauma
+Old Town Lunenburg
+Old Town of Caceres
+Old Town of Corfu
+Old Town of Galle and its Fortifications
+Old Town of Ghadamès
+Old Town of Lijiang
+Old Town of Segovia and its Aqueduct
+Old Town of Ávila with its Extra-Muros Churches
+Old Towns of Djenné
+Old Village of Hollókő and its Surroundings
+Old Walled City of Shibam
+Old and New Towns of Edinburgh
+Old town of Regensburg with Stadtamhof
+Olympic National Park
+Ombilin Coal Mining Heritage of Sawahlunto
+Orkhon Valley Cultural Landscape
+Osun-Osogbo Sacred Grove
+Ouadi Qadisha (the Holy Valley) and the Forest of the Cedars of God (Horsh Arz el-Rab)
+Padua’s fourteenth-century fresco cycles
+Painted Churches in the Troodos Region
+Palace and Gardens of Schönbrunn
+Palace and Park of Fontainebleau
+Palace and Park of Versailles
+Palace of Westminster and Westminster Abbey including Saint Margaret’s Church
+Palaces and Parks of Potsdam and Berlin
+Palau de la Musica Catalana and Hospital de Sant Pau, Barcelona
+Paleochristian and Byzantine Monuments of Thessalonika
+Palestine: Land of Olives and Vines – Cultural Landscape of Southern Jerusalem, Battir
+Palmeral of Elche
+Pampulha Modern Ensemble
+Pantanal Conservation Area
+Papahānaumokuākea
+Paphos
+Paraty and Ilha Grande – Culture and Biodiversity
+Paris, Banks of the Seine
+Parthian Fortresses of Nisa
+Pasargadae
+Paseo del Prado and Buen Retiro, a landscape of Arts and Sciences
+Pearling, Testimony of an Island Economy
+Peking Man Site at Zhoukoudian
+Península Valdés
+Pergamon and its Multi-Layered Cultural Landscape
+Persepolis
+Petra
+Petroglyphic Complexes of the Mongolian Altai
+Petroglyphs of Lake Onega and the White Sea
+Petroglyphs of the Archaeological Landscape of Tanbaly
+Petäjävesi Old Church
+Phoenix Islands Protected Area
+Phong Nha-Ke Bang National Park
+Piazza del Duomo, Pisa
+Pilgrimage Church of St John of Nepomuk at Zelená Hora
+Pilgrimage Church of Wies
+Pimachiowin Aki
+Pirin National Park
+Pitons Management Area
+Pitons, cirques and remparts of Reunion Island
+Place Stanislas, Place de la Carrière and Place d'Alliance in Nancy
+Plantin-Moretus House-Workshops-Museum Complex
+Plitvice Lakes National Park
+Poblet Monastery
+Pont du Gard (Roman Aqueduct)
+Pontcysyllte Aqueduct and Canal
+Port, Fortresses and Group of Monuments, Cartagena
+Portovenere, Cinque Terre, and the Islands (Palmaria, Tino and Tinetto)
+Portuguese City of Mazagan (El Jadida)
+Prambanan Temple Compounds
+Pre-Hispanic City and National Park of Palenque
+Pre-Hispanic City of Chichen-Itza
+Pre-Hispanic City of Teotihuacan
+Pre-Hispanic Town of Uxmal
+Precolumbian Chiefdom Settlements with Stone Spheres of the Diquís
+Prehistoric Caves of Yagul and Mitla in the Central Valley of Oaxaca
+Prehistoric Pile Dwellings around the Alps
+Prehistoric Pile Dwellings around the Alps
+Prehistoric Pile Dwellings around the Alps
+Prehistoric Pile Dwellings around the Alps
+Prehistoric Pile Dwellings around the Alps
+Prehistoric Pile Dwellings around the Alps
+Prehistoric Rock Art Sites in the Côa Valley and Siega Verde
+Prehistoric Rock Art Sites in the Côa Valley and Siega Verde
+Prehistoric Sites and Decorated Caves of the Vézère Valley
+Protective town of San Miguel and the Sanctuary of Jesús Nazareno de Atotonilco
+Proto-urban Site of Sarazm
+Provins, Town of Medieval Fairs
+Puerto-Princesa Subterranean River National Park
+Punic Town of Kerkuane and its Necropolis
+Purnululu National Park
+Putorana Plateau
+Pyrenees - Mont Perdu
+Pyrénées - Mont Perdu
+Pythagoreion and Heraion of Samos
+Pyu Ancient Cities
+Qal’at al-Bahrain – Ancient Harbour and Capital of Dilmun
+Qhapaq Ñan, Andean Road System
+Qhapaq Ñan, Andean Road System
+Qhapaq Ñan, Andean Road System
+Qhapaq Ñan, Andean Road System
+Qhapaq Ñan, Andean Road System
+Qhapaq Ñan, Andean Road System
+Qinghai Hoh Xil
+Quanzhou: Emporium of the World in Song-Yuan China
+Quebrada de Humahuaca
+Quseir Amra
+Qutb Minar and its Monuments, Delhi
+Rabat, Modern Capital and Historic City: a Shared Heritage
+Rainforests of the Atsinanana
+Rangiri Dambulla Cave Temple
+Rani-ki-Vav (the Queen’s Stepwell) at Patan, Gujarat
+Rapa Nui National Park
+Red Bay Basque Whaling Station
+Red Fort Complex
+Redwood National and State Parks
+Renaissance Monumental Ensembles of Ubeda and Baeza
+Residence of Bukovinian and Dalmatian Metropolitans
+Residences of the Royal House of Savoy
+Rhaetian Railway in the Albula / Bernina Landscapes
+Rhaetian Railway in the Albula / Bernina Landscapes
+Rice Terraces of the Philippine Cordilleras
+Richtersveld Cultural and Botanical Landscape
+Rideau Canal
+Rietveld Schröderhuis (Rietveld Schröder House)
+Rila Monastery
+Rio de Janeiro: Carioca Landscapes between the Mountain and the Sea
+Risco Caido and the Sacred Mountains of Gran Canaria Cultural Landscape
+Rjukan-Notodden Industrial Heritage Site
+Robben Island
+Rock Art in the Hail Region of Saudi Arabia
+Rock Art of Alta
+Rock Art of the Mediterranean Basin on the Iberian Peninsula
+Rock Carvings in Tanum
+Rock Drawings in Valcamonica
+Rock Islands Southern Lagoon
+Rock Paintings of the Sierra de San Francisco
+Rock Shelters of Bhimbetka
+Rock-Art Sites of Tadrart Acacus
+Rock-Hewn Churches of Ivanovo
+Rock-Hewn Churches, Lalibela
+Rohtas Fort
+Roman Monuments, Cathedral of St Peter and Church of Our Lady in Trier
+Roman Theatre and its Surroundings and the Triumphal Arch of Orange
+Roman Walls of Lugo
+Rosia Montana Mining Landscape
+Roskilde Cathedral
+Routes of Santiago de Compostela in France
+Routes of Santiago de Compostela: Camino Frances and Routes of Northern Spain
+Royal Botanic Gardens,
+Royal Building of Mafra – Palace, Basilica, Convent, Cerco Garden and Hunting Park (Tapada)
+Royal Domain of Drottningholm
+Royal Exhibition Building and Carlton Gardens
+Royal Hill of Ambohimanga
+Royal Monastery of Santa María de Guadalupe
+Royal Palaces of Abomey
+Royal Tombs of the Joseon Dynasty
+Ruins of Kilwa Kisiwani and Ruins of Songo Mnara
+Ruins of León Viejo
+Ruins of Loropéni
+Ruins of the Buddhist Vihara at Paharpur
+Rwenzori Mountains National Park
+Río Abiseo National Park
+Río Plátano Biosphere Reserve
+Røros Mining Town and the Circumference
+SGang Gwaay
+Sacred City of Anuradhapura
+Sacred City of Caral-Supe
+Sacred City of Kandy
+Sacred Island of Okinoshima and Associated Sites in the Munakata Region
+Sacred Mijikenda Kaya Forests
+Sacred Sites and Pilgrimage Routes in the Kii Mountain Range
+Sacri Monti of Piedmont and Lombardy
+Sagarmatha National Park
+Saint Catherine Area
+Salonga National Park
+Saloum Delta
+Saltaire
+Samarkand Crossroad of Cultures
+Samarra Archaeological City
+San Agustín Archaeological Park
+San Antonio Missions
+San Cristóbal de La Laguna
+San Marino Historic Centre and Mount Titano
+San Millan Yuso and Suso Monasteries
+San Pedro de la Roca Castle, Santiago de Cuba
+Sanctuary of Asklepios at Epidaurus
+Sanctuary of Bom Jesus do Congonhas
+Sanctuary of Bom Jesus do Monte in Braga
+Sanganeb Marine National Park and Dungonab Bay – Mukkawar Island Marine National Park
+Sangay National Park
+Sangha Trinational
+Sangha Trinational
+Sangha Trinational
+Sangiran Early Man Site
+Sansa, Buddhist Mountain Monasteries in Korea
+Santiago de Compostela (Old Town)
+Saryarka – Steppe and Lakes of Northern Kazakhstan
+Sassanid Archaeological Landscape of Fars Region
+Sceilg Mhichíl
+Schokland and Surroundings
+Selimiye Mosque and its Social Complex
+Selous Game Reserve
+Semmering Railway
+Seokguram Grotto and Bulguksa Temple
+Seowon, Korean Neo-Confucian Academies
+Serengeti National Park
+Serra da Capivara National Park
+Settlement and Artificial Mummification of the Chinchorro Culture in the Arica and Parinacota Region
+Seventeenth-Century Canal Ring Area of Amsterdam inside the Singelgracht
+Sewell Mining Town
+ShUM Sites of Speyer, Worms and Mainz
+Shahr-i Sokhta
+Shark Bay, Western Australia
+Sheikh Safi al-din Khānegāh and Shrine Ensemble in Ardabil
+Shirakami-Sanchi
+Shiretoko
+Shrines and Temples of Nikko
+Shushtar Historical Hydraulic System
+Sian Ka'an
+Sichuan Giant Panda Sanctuaries - Wolong, Mt Siguniang and Jiajin Mountains
+Silk Roads: the Routes Network of Chang'an-Tianshan Corridor
+Silk Roads: the Routes Network of Chang'an-Tianshan Corridor
+Silk Roads: the Routes Network of Chang'an-Tianshan Corridor
+Simien National Park
+Singapore Botanic Gardens
+Sinharaja Forest Reserve
+Site of Palmyra
+Site of Xanadu
+Sites of Human Evolution at Mount Carmel: The Nahal Me’arot / Wadi el-Mughara Caves
+Sites of Japan’s Meiji Industrial Revolution: Iron and Steel, Shipbuilding and Coal Mining
+Skocjan Caves
+Skogskyrkogarden
+Socotra Archipelago
+Soltaniyeh
+South China Karst
+Speicherstadt and Kontorhaus District with Chilehaus
+Speyer Cathedral
+Srebarna Nature Reserve
+St Kilda
+St Mary's Cathedral and St Michael's Church at Hildesheim
+Stari Grad Plain
+Stari Ras and Sopocani
+State Historical and Cultural Park “Ancient Merv”
+Statue of Liberty
+Stecci Medieval Tombstone Graveyards
+Stevns Klint
+Stećci Medieval Tombstone Graveyards
+Stećci Medieval Tombstone Graveyards
+Stećci Medieval Tombstone Graveyards
+Stoclet House
+Stone Circles of Senegambia
+Stone Circles of Senegambia
+Stone Town of Zanzibar
+Stonehenge, Avebury and Associated Sites
+Strasbourg, Grande-Île and Neustadt
+Struve Geodetic Arc
+Struve Geodetic Arc
+Struve Geodetic Arc
+Struve Geodetic Arc
+Struve Geodetic Arc
+Struve Geodetic Arc
+Struve Geodetic Arc
+Struve Geodetic Arc
+Struve Geodetic Arc
+Struve Geodetic Arc
+Studenica Monastery
+Studley Royal Park including the Ruins of Fountains Abbey
+Su Nuraxi di Barumini
+Sudanese style mosques in northern Côte d’Ivoire
+Sukur Cultural Landscape
+Sulaiman-Too Sacred Mountain
+Summer Palace, an Imperial Garden in Beijing
+Sun Temple, Konârak
+Sundarbans National Park
+Surtsey
+Susa
+Swiss Alps Jungfrau-Aletsch
+Swiss Tectonic Arena Sardona
+Sydney Opera House
+Syracuse and the Rocky Necropolis of Pantalica
+São Francisco Square in the Town of São Cristóvão
+Sítio Roberto Burle Marx
+Tabriz Historic Bazaar Complex
+Taj Mahal
+Tajik National Park (Mountains of the Pamirs)
+Takht-e Soleyman
+Talamanca Range-La Amistad Reserves / La Amistad National Park
+Talamanca Range-La Amistad Reserves / La Amistad National Park
+Taos Pueblo
+Taputapuātea
+Tarnowskie Gory Lead-Silver-Zinc Mine and its Underground Water Management System
+Tasmanian Wilderness
+Tassili n'Ajjer
+Taxila
+Taï National Park
+Tchogha Zanbil
+Te Wahipounamu – South West New Zealand
+Tehuacán-Cuicatlán Valley: originary habitat of Mesoamerica
+Teide National Park
+Temple Zone of Sambor Prei Kuk, Archaeological Site of Ancient Ishanapura
+Temple and Cemetery of Confucius and the Kong Family Mansion in Qufu
+Temple of Apollo Epicurius at Bassae
+Temple of Heaven: an Imperial Sacrificial Altar in Beijing
+Temple of Preah Vihear
+The 20th-Century Architecture of Frank Lloyd Wright
+The Ahwar of Southern Iraq: Refuge of Biodiversity and the Relict Landscape of the Mesopotamian Cities
+The Architectural Work of Le Corbusier
+The Architectural Work of Le Corbusier
+The Architectural Work of Le Corbusier
+The Architectural Work of Le Corbusier, an Outstanding Contribution to the Modern Movement
+The Architectural Work of Le Corbusier, an Outstanding Contribution to the Modern Movement
+The Architectural Work of Le Corbusier, an Outstanding Contribution to the Modern Movement
+The Architectural Work of Le Corbusier, an Outstanding Contribution to the Modern Movement
+The Cathedral of St James in Šibenik
+The Causses and the Cévennes, Mediterranean agro-pastoral Cultural Landscape
+The Climats, terroirs of Burgundy
+The Dolomites
+The English Lake District
+The Forth Bridge
+The Four Lifts on the Canal du Centre and their Environs, La Louvière and Le Roeulx (Hainaut)
+The Grand Canal
+The Great Spa Towns of Europe
+The Great Spa Towns of Europe
+The Great Spa Towns of Europe
+The Great Spa Towns of Europe
+The Great Spa Towns of Europe
+The Great Spa Towns of Europe
+The Great Wall
+The Historic Centre (Chorá) with the Monastery of Saint-John the Theologian and the Cave of the Apocalypse on the Island of Pátmos
+The Jantar Mantar, Jaipur
+The Loire Valley between Sully-sur-Loire and Chalonnes
+The Persian Garden
+The Persian Qanat
+The Porticoes of Bologna
+The Sassi and the Park of the Rupestrian Churches of Matera
+The Slate Landscape of Northwest Wales
+The Sundarbans
+The Trulli of Alberobello
+The par force hunting landscape in North Zealand
+The work of engineer Eladio Dieste: Church of Atlantida
+The works of Jože Plečnik in Ljubljana
+Thimlich Ohinga Archaeological Site
+Thracian Tomb of Kazanlak
+Thracian Tomb of Sveshtari
+Three Castles, Defensive Wall and Ramparts of the Market-Town of Bellinzona
+Three Parallel Rivers of Yunnan Protected Areas
+Thungyai-Huai Kha Khaeng Wildlife Sanctuaries
+Tikal National Park
+Timbuktu
+Timgad
+Tipasa
+Tiwanaku: Spiritual and Political Centre of the Tiwanaku Culture
+Tiya
+Tokaj Wine Region Historic Cultural Landscape
+Tomb of Askia
+Tombs of Buganda Kings at Kasubi
+Tomioka Silk Mill and Related Sites
+Tongariro National Park
+Tower of Hercules
+Tower of London
+Town Hall and Roland on the Marketplace of Bremen
+Town of Bamberg
+Town of Luang Prabang
+Trang An Landscape Complex
+Trans-Iranian Railway
+Trinidad and the Valley de los Ingenios
+Tropical Rainforest Heritage of Sumatra
+Tsingy de Bemaraha Strict Nature Reserve
+Tsodilo
+Tubbataha Reefs Natural Park
+Tugendhat Villa in Brno
+Tusi Sites
+Twyfelfontein or /Ui-//aes
+Tyre
+Ujung Kulon National Park
+Uluru-Kata Tjuta National Park
+Um er-Rasas (Kastrom Mefa'a)
+University and Historic Precinct of Alcala de Henares
+University of Coimbra – Alta and Sofia
+Upper Middle Rhine Valley
+Upper Svaneti
+Urban Historic Centre of Cienfuegos
+Urnes Stave Church
+Uvs Nuur Basin
+Uvs Nuur Basin
+Val d'Orcia
+Vallee de Mai Nature Reserve
+Valongo Wharf Archaeological Site
+Van Nellefabriek
+Vat Phou and Associated Ancient Settlements within the Champasak Cultural Landscape
+Vatican City
+Vatnajökull National Park - Dynamic Nature of Fire and Ice
+Vegaøyan – The Vega Archipelago
+Venetian Works of Defence
+Venetian Works of Defence between the 16th and 17th Centuries: Stato da Terra – Western Stato da Mar
+Venetian Works of Defence between the 16th and 17th Centuries: Stato da Terra – Western Stato da Mar
+Venice and its Lagoon
+Verla Groundwood and Board Mill
+Victorian Gothic and Art Deco Ensembles of Mumbai
+Villa Adriana (Tivoli)
+Villa Romana del Casale
+Villa d'Este, Tivoli
+Villages with Fortified Churches in Transylvania
+Vilnius Historic Centre
+Vineyard Landscape of Piedmont: Langhe-Roero and Monferrato
+Virgin Komi Forests
+Virunga National Park
+Vizcaya Bridge
+Viñales Valley
+Vlkolinec
+Volcanoes of Kamchatka
+Vredefort Dome
+Vézelay, Church and Hill
+Völklingen Ironworks
+W-Arly-Pendjari Complex
+W-Arly-Pendjari Complex
+W-Arly-Pendjari Complex *
+Wachau Cultural Landscape
+Wadden Sea
+Wadden Sea
+Wadden Sea
+Wadi Al-Hitan (Whale Valley)
+Wadi Rum Protected Area
+Walled City of Baku with the Shirvanshah's Palace and Maiden Tower
+Wartburg Castle
+Water Management System of Augsburg
+Waterton Glacier International Peace Park
+Waterton Glacier International Peace Park
+West Lake Cultural Landscape of Hangzhou
+West Norwegian Fjords – Geirangerfjord and Nærøyfjord
+Western Caucasus
+Western Ghats
+Western Tien-Shan
+Western Tien-Shan
+Western Tien-Shan
+Wet Tropics of Queensland
+Whale Sanctuary of El Vizcaino
+White City of Tel-Aviv – the Modern Movement
+White Monuments of Vladimir and Suzdal
+Wieliczka and Bochnia Royal Salt Mines
+Willandra Lakes Region
+Wood Buffalo National Park
+Wooden Churches of Maramureş
+Wooden Churches of Southern Malopolska
+Wooden Churches of the Slovak part of the Carpathian Mountain Area
+Wooden Tserkvas of the Carpathian Region in Poland and Ukraine
+Wooden Tserkvas of the Carpathian Region in Poland and Ukraine
+Works of Antoni Gaudi
+Writing-on-Stone / Áísínai’pi
+Wulingyuan Scenic and Historic Interest Area
+Würzburg Residence with the Court Gardens and Residence Square
+Xanthos-Letoon
+Xinjiang Tianshan
+Yakushima
+Yellowstone National Park
+Yin Xu
+Yosemite National Park
+Yungang Grottoes
+Zollverein Coal Mine Industrial Complex in Essen
+Zuojiang Huashan Rock Art Cultural Landscape
+iSimangaliso Wetland Park
+Þingvellir National Park
+Ħal Saflieni Hypogeum
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/README.md b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..f162a299081985b5cb8217e5759066ffefafd18f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/README.md
@@ -0,0 +1 @@
+Original source from [parrot zone](https://proximacentaurib.notion.site/e28a4f8d97724f14a784a538b8589e7d?v=42948fd8f45c4d47a0edfc4b78937474) and contributed by @jmpaz
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/strength/high.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/strength/high.txt
new file mode 100644
index 0000000000000000000000000000000000000000..acc58d2b4d431a91fb6ed78ccb92341c9ce3c101
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/strength/high.txt
@@ -0,0 +1,172 @@
+16-Bit
+1950s suburbia
+3d
+4k resolution
+8k
+acid colors
+acrylic marbling art
+acrylic pour
+aerial photograph
+Aestheticism
+alcohol ink
+alien
+Amiga 500 style
+anime
+animecore
+apocalyptic
+art deco
+artstation hq
+astrophotography
+Atari 2600 style
+atompunk
+autochrome
+backlight
+baroque
+beatnik
+beautifully lit
+behance HD
+bioluminiscent
+biomechanical
+biopunk
+Blade Runner 2049
+board game
+candle light
+cassette futurism
+Castlevania style
+cgsociety
+chibi
+cityscape
+claymation
+CMYK
+coloring book style
+comic
+cosmic horror
+cosmic nebulae
+CryEngine
+Cubo-Futurism
+cyanotype
+cyberdelic
+cyberpunk
+Dada collage
+daguerrotype
+DayGlo
+De Stijl
+deathpunk
+dense light rays
+Der Blaue
+desaturated
+digital collage
+digital illustration
+diorama
+Dota style
+Dreamworks
+eldritch
+etched metal
+etched stone
+evil
+eye strain
+fauvism
+ferrofluid
+fluo colors
+funk art
+Futurism
+glitch art
+glitchcore
+glow in the dark
+glowwave
+golden hour
+goth
+gothic
+gouache painting
+haze filter
+high speed liquid photography
+holographic
+holography
+hyper detailed
+infrared
+Interstellar
+iridescence
+isometric
+isotype
+kaleidoscopic
+Lego model
+lighting
+lineart
+linocut
+lomography
+long exposure
+low poly
+lunarpunk
+Macchiaioli
+matte painting
+minecraftcore
+minimalism
+MOBA style
+monochromatic
+moody lighting
+Mughal painting
+neon
+neon pastel
+NES style
+Nvidia RTX
+octane
+oil on canvas
+overgrown
+Pantone
+papercraft
+paranormalpunk
+petroglyph
+pixel art
+pixiecore
+pixiv
+Pointillisme
+polygonal
+pre-raphaelite
+primary colors
+propaganda poster
+psychedelic
+ray tracing
+Renaissance
+rendered in octane
+rendered with Blender
+retro-futurism
+retrowave
+risograph
+robloxcore
+sci-fi
+science fiction
+scrapbooking
+seapunk
+sepia
+shot on Nikon D750
+soft grunge
+solarpunk
+southern gothic
+soviet poster
+sovietwave
+splash art
+stained glass
+steampunk
+Stranger Things
+thangka
+tilt-shift
+tonalism
+trending on artstation
+trippy
+ukiyo-e
+underwater photography
+unicorncore
+unreal engine
+vaporwave
+vector art
+velvia
+vibrant color scheme
+vintage illustration
+voidpunk
+volumetric lighting
+voxel art
+watercolor
+witchcore
+woodblock
+woodblock print
+x-ray photography
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/strength/low.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/strength/low.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8393b42d0df659eb42261cfe72f0817bb7a188f0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/strength/low.txt
@@ -0,0 +1,48 @@
+Arte Povera
+artwork
+Ashcan School painting
+atmospheric
+award-winning
+by GLaDOS
+chillwave
+contest winner
+contrasting colors
+dark
+dehazed
+Demoscene
+deviantart
+elegant
+en plein air
+enlightenment
+excited
+fearful
+feline
+fine art
+fineartamerica
+furry
+futuresynth
+high chroma
+hyperpop
+hypnotic
+hypomorphic
+infectious
+International Typographic Style
+intricate
+LSD
+massurrealism
+messy
+metallic
+microscopic
+morbid fine art
+Native American mythology
+nebulous
+oily
+photorealistic
+polarized light
+poster
+psilocybin
+radiant
+serious
+sfumato
+sharp focus
+tenebrism
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/strength/med.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/strength/med.txt
new file mode 100644
index 0000000000000000000000000000000000000000..21e35e924469999e1c1a17465513d77603fe28ad
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/strength/med.txt
@@ -0,0 +1,87 @@
+4k
+70s science fiction
+aesthetic
+airbrush
+album cover
+ambient lighting
+art brut
+art nouveau
+Assemblage
+Batik
+beautiful
+behance
+biomorphic
+biophilic
+bokeh
+chromatic aberration
+clutter
+color splash
+concept art
+crystallized
+cyberpop
+cymatics
+dark fine art
+darkwave
+deserted
+desolate
+digital art
+DMT
+doodle
+double exposure
+dripping colors
+dynamic lighting
+dystopian
+Edwardian
+Egyptian mythology
+Encaustic
+ethereal
+fantasy
+fashion editorial
+foreboding
+fractal
+futuristic
+glamour shot
+glass
+gold leaf
+hallucinogenic
+hi-fructose
+high contrast
+horror
+HQ
+intricate artwork
+kawaii
+liquid ink
+lomo effect
+low contrast
+macabre
+macabre fine art
+marbling
+masterpiece
+multiracial
+mummified
+naive
+normcore
+Op art
+optical art
+ornate
+patchwork
+Pattachitra
+powerful
+prismatic
+Rajasthani painting
+refraction
+RTX
+sand painting
+sketch
+soft shaded
+sparklecore
+spooky
+sticker
+stunning
+super wide angle
+Tanjore
+Tarot card
+unimaginable beauty
+Unsplash
+Unsplash contest winner
+weirdcore
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/tags/aesthetic.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/tags/aesthetic.txt
new file mode 100644
index 0000000000000000000000000000000000000000..27987c517e1a83a01dccc5e13fbdc5b5ca89e890
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/tags/aesthetic.txt
@@ -0,0 +1,60 @@
+1950s suburbia
+70s science fiction
+animecore
+apocalyptic
+atompunk
+beatnik
+biomechanical
+biopunk
+cassette futurism
+chillwave
+cosmic horror
+cosmic nebulae
+cyberdelic
+cyberpop
+cyberpunk
+darkwave
+deathpunk
+ethereal
+fantasy
+fauvism
+funk art
+futuresynth
+futuristic
+glitch art
+glitchcore
+glowwave
+goth
+gothic
+holographic
+holography
+hyperpop
+kawaii
+lunarpunk
+minecraftcore
+minimalism
+normcore
+paranormalpunk
+pixiecore
+pre-raphaelite
+psychedelic
+retro-futurism
+retrowave
+robloxcore
+sci-fi
+science fiction
+seapunk
+soft grunge
+solarpunk
+southern gothic
+soviet poster
+sovietwave
+sparklecore
+steampunk
+trippy
+unicorncore
+vaporwave
+voidpunk
+weirdcore
+witchcore
+x-ray photography
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/tags/art-movement.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/tags/art-movement.txt
new file mode 100644
index 0000000000000000000000000000000000000000..827c293239f8d1574e279bf18c5020cdba4ea339
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/tags/art-movement.txt
@@ -0,0 +1,25 @@
+Aestheticism
+art brut
+art deco
+art nouveau
+Arte Povera
+Ashcan School painting
+baroque
+Cubo-Futurism
+Dada collage
+De Stijl
+fauvism
+funk art
+Futurism
+gothic
+Macchiaioli
+massurrealism
+Mughal painting
+naive
+Op art
+optical art
+Pointillisme
+pre-raphaelite
+Rajasthani painting
+Renaissance
+tonalism
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/tags/color.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/tags/color.txt
new file mode 100644
index 0000000000000000000000000000000000000000..41b4ba4da9791afcd26da9a3eb780bb40868f9af
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/tags/color.txt
@@ -0,0 +1,31 @@
+acid colors
+chromatic aberration
+CMYK
+color splash
+contrasting colors
+cosmic nebulae
+cyberdelic
+DayGlo
+desaturated
+dripping colors
+eye strain
+fluo colors
+glow in the dark
+gold leaf
+golden hour
+high chroma
+high contrast
+holographic
+holography
+infrared
+iridescence
+kaleidoscopic
+low contrast
+marbling
+metallic
+monochromatic
+neon pastel
+primary colors
+prismatic
+sepia
+vibrant color scheme
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/tags/light.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/tags/light.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8a8465bfebdbc839e1a23c0ff5a3b8b402c6ea74
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/tags/light.txt
@@ -0,0 +1,23 @@
+ambient lighting
+backlight
+beautifully lit
+bioluminiscent
+candle light
+dense light rays
+dynamic lighting
+glow in the dark
+glowwave
+golden hour
+holographic
+holography
+iridescence
+lighting
+moody lighting
+neon
+neon pastel
+polarized light
+radiant
+refraction
+soft shaded
+tenebrism
+volumetric lighting
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/tags/medium.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/tags/medium.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0af0a4f0a4c1f8f38376ecb208b479097b6bf53c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/tags/medium.txt
@@ -0,0 +1,51 @@
+acrylic marbling art
+acrylic pour
+alcohol ink
+anime
+Assemblage
+Batik
+board game
+claymation
+coloring book style
+comic
+cyanotype
+Dada collage
+daguerrotype
+Demoscene
+digital collage
+digital illustration
+en plein air
+Encaustic
+etched metal
+etched stone
+fashion editorial
+gouache painting
+isometric
+isotype
+linocut
+liquid ink
+low poly
+matte painting
+oil on canvas
+papercraft
+patchwork
+Pattachitra
+petroglyph
+pixel art
+poster
+propaganda poster
+risograph
+sand painting
+scrapbooking
+sketch
+soviet poster
+splash art
+stained glass
+sticker
+Tarot card
+vector art
+voxel art
+watercolor
+woodblock
+woodblock print
+x-ray photography
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/tags/mood.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/tags/mood.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ecefab2286b03cc9e9486ab02d38b97181011a7d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/tags/mood.txt
@@ -0,0 +1,14 @@
+apocalyptic
+atmospheric
+dark
+deserted
+desolate
+evil
+excited
+fearful
+foreboding
+horror
+hypnotic
+infectious
+macabre
+serious
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/tags/perspective.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/tags/perspective.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8edfa8be32d6f0327f64bf680f4bc5be51ea29e6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/tags/perspective.txt
@@ -0,0 +1,5 @@
+bokeh
+Op art
+optical art
+super wide angle
+tilt-shift
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/tags/photography.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/tags/photography.txt
new file mode 100644
index 0000000000000000000000000000000000000000..961430e9bbf588714193033cb9060eb296ce7907
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/tags/photography.txt
@@ -0,0 +1,27 @@
+aerial photograph
+astrophotography
+autochrome
+bokeh
+chromatic aberration
+daguerrotype
+dehazed
+double exposure
+fashion editorial
+glamour shot
+golden hour
+haze filter
+high speed liquid photography
+infrared
+lomo effect
+long exposure
+polarized light
+sepia
+sharp focus
+shot on Nikon D750
+super wide angle
+tilt-shift
+underwater photography
+Unsplash
+Unsplash contest winner
+velvia
+x-ray photography
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/tags/pop-culture.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/tags/pop-culture.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b86575398c56a23cb0fb825d9f5448f983c39097
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/tags/pop-culture.txt
@@ -0,0 +1,11 @@
+alien
+Blade Runner 2049
+Castlevania style
+Dota style
+Dreamworks
+Interstellar
+Lego model
+minecraftcore
+MOBA style
+robloxcore
+Stranger Things
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/tags/quality.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/tags/quality.txt
new file mode 100644
index 0000000000000000000000000000000000000000..91e69a69630aff298ac44202e546e15fdc8e1490
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/tags/quality.txt
@@ -0,0 +1,89 @@
+16-Bit
+4k
+4k resolution
+8k
+acid colors
+aerial photograph
+aesthetic
+airbrush
+ambient lighting
+atmospheric
+award-winning
+backlight
+beautiful
+beautifully lit
+bioluminiscent
+biomorphic
+biophilic
+bokeh
+candle light
+chromatic aberration
+contest winner
+crystallized
+dark
+dehazed
+desaturated
+double exposure
+dynamic lighting
+dystopian
+eldritch
+elegant
+eye strain
+feline
+fluo colors
+foreboding
+furry
+glass
+golden hour
+hallucinogenic
+high chroma
+high contrast
+HQ
+hyper detailed
+hypomorphic
+infectious
+intricate
+intricate artwork
+iridescence
+kaleidoscopic
+lighting
+lomo effect
+long exposure
+low contrast
+macabre
+marbling
+masterpiece
+messy
+metallic
+microscopic
+monochromatic
+moody lighting
+multiracial
+nebulous
+Nvidia RTX
+oily
+ornate
+overgrown
+photorealistic
+polarized light
+polygonal
+powerful
+primary colors
+prismatic
+radiant
+ray tracing
+refraction
+rendered with Blender
+RTX
+sepia
+sfumato
+sharp focus
+shot on Nikon D750
+soft shaded
+splash art
+stunning
+super wide angle
+tilt-shift
+unimaginable beauty
+vibrant color scheme
+volumetric lighting
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/tags/setting.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/tags/setting.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a5200d09a1ea961b4fe6b38196945f2e5b285a5f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/tags/setting.txt
@@ -0,0 +1,10 @@
+1950s suburbia
+70s science fiction
+baroque
+cityscape
+deserted
+desolate
+Edwardian
+evil
+overgrown
+Tanjore
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/tags/style.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/tags/style.txt
new file mode 100644
index 0000000000000000000000000000000000000000..86de37f39702c0d15404ba94056f80491dff7d74
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/parrotzone/tags/style.txt
@@ -0,0 +1,164 @@
+16-Bit
+3d
+acrylic marbling art
+acrylic pour
+Aestheticism
+album cover
+alcohol ink
+alien
+Amiga 500 style
+anime
+art brut
+art deco
+art nouveau
+Arte Povera
+artstation hq
+artwork
+Ashcan School painting
+Assemblage
+astrophotography
+Atari 2600 style
+autochrome
+baroque
+Batik
+behance
+behance HD
+biomechanical
+Blade Runner 2049
+board game
+by GLaDOS
+Castlevania style
+cgsociety
+chibi
+cityscape
+claymation
+clutter
+CMYK
+color splash
+coloring book style
+comic
+concept art
+contrasting colors
+CryEngine
+Cubo-Futurism
+cyanotype
+cymatics
+Dada collage
+daguerrotype
+dark fine art
+DayGlo
+De Stijl
+Demoscene
+dense light rays
+Der Blaue
+deviantart
+digital art
+digital collage
+digital illustration
+diorama
+DMT
+doodle
+Dota style
+Dreamworks
+dripping colors
+Edwardian
+Egyptian mythology
+en plein air
+Encaustic
+enlightenment
+etched metal
+etched stone
+evil
+fantasy
+fashion editorial
+ferrofluid
+fine art
+fineartamerica
+fractal
+furry
+Futurism
+glamour shot
+glow in the dark
+gold leaf
+gouache painting
+haze filter
+hi-fructose
+high contrast
+high speed liquid photography
+horror
+infrared
+International Typographic Style
+Interstellar
+isometric
+isotype
+Lego model
+lineart
+linocut
+liquid ink
+lomography
+low contrast
+low poly
+LSD
+macabre fine art
+Macchiaioli
+marbling
+massurrealism
+matte painting
+minecraftcore
+MOBA style
+morbid fine art
+Mughal painting
+mummified
+naive
+Native American mythology
+neon
+neon pastel
+NES style
+octane
+oil on canvas
+Op art
+optical art
+ornate
+Pantone
+papercraft
+patchwork
+Pattachitra
+petroglyph
+pixel art
+pixiv
+Pointillisme
+polygonal
+poster
+propaganda poster
+psilocybin
+Rajasthani painting
+Renaissance
+rendered in octane
+rendered with Blender
+risograph
+robloxcore
+sand painting
+scrapbooking
+sfumato
+sketch
+splash art
+spooky
+stained glass
+sticker
+Tarot card
+tenebrism
+thangka
+tonalism
+trending on artstation
+ukiyo-e
+underwater photography
+unreal engine
+Unsplash
+Unsplash contest winner
+vector art
+velvia
+vintage illustration
+voxel art
+watercolor
+woodblock
+woodblock print
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/publicprompts.yaml b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/publicprompts.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..c018c8f4c5cb3780693dfa665a9091e22c425d71
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/collections/publicprompts.yaml
@@ -0,0 +1,245 @@
+# Prompts taken from the excellent https://publicprompts.art/
+# They have been modified with parameters and re-usable chunks
+public-prompts:
+ styles:
+ 3d-render:
+ - |
+ # Usage: , __public-prompts/styles/3d-render(color_scheme=soft pastel)__
+ # Homepage: https://publicprompts.art/
+
+ __public-prompts/lighting/soft-smooth__,
+ ${color_scheme:soft pastel} colors,
+ 3d, blender render,
+ polycount, modular constructivism,
+ physically based rendering,
+ square image
+ lighting:
+ soft-smooth:
+ - soft smooth lighting
+ studio:
+ - vibrant studio lighting
+ diffused:
+ - diffused lighting
+
+ needle-felted:
+ - |
+ # Usage: __public-prompts/needle-felted(figure=frog)__
+ # Homepage: https://publicprompts.art/needle-felted-objects/
+ # Suggested settings:
+ # CFG scale: 13
+ # Sampler DDIM
+ # Steps: 25
+
+ Tiny cute 3D felt fiber toy ${figure:frog}, made from Felt fibers, a 3D render, trending on cgsociety, rendered in maya, rendered in cinema4d, made of yarn, square image
+ silhouetted-backgrounds:
+ - |
+ # Usage: __public-prompts/silhouetted-backgrounds(natural-feature=mountains,object=big rocket)__
+ # Homepage: https://publicprompts.art/silhouette-wallpapers/
+ # Suggested settings:
+ # CFG scale: 13
+ # Sampler DDIM
+ # Steps: 25
+ # Resolution: 704x384
+
+ Multiple layers of silhouette ${natural-feature:mountains},
+ with silhouette of ${object:big rocket} in sky,
+ sharp edges, at sunset,
+ with heavy fog in air,
+ vector style,
+ horizon silhouette
+ Landscape wallpaper by Alena Aenami,
+ firewatch game style, vector style background
+
+ comic-art:
+ - |
+ # Usage: __public-prompts/comic-art(figure=James Bond)__
+ # Homepage: https://publicprompts.art/comic-art/
+ # Suggested settings:
+ # CFG scale: 13
+ # Sampler DDIM
+ # Steps: 25
+
+ Retro comic style artwork, highly detailed ${figure:James Bond}, comic book cover, symmetrical, vibrant
+ psychedelic-pop-art:
+ - |
+ # Usage: __public-prompts/psychedelic-pop-art(figure=Halloween pumpkin)__
+ # Homepage: https://publicprompts.art/psychedelic-pop-art/
+ # Suggested settings:
+ # CFG scale: 13
+ # Sampler DDIM
+ # Steps: 25
+
+ Hypnotic illustration of a ${figure:Halloween pumpkin}, hypnotic psychedelic art by Dan Mumford, pop surrealism, dark glow neon paint, mystical, Behance
+ space-hologram:
+ - |
+ # Usage: __public-prompts/space-hologram(figure=wolf)__
+ # Homepage: https://publicprompts.art/space-holograms/
+ # Suggested settings:
+ # CFG scale: 13
+ # Sampler DDIM
+ # Steps: 25
+
+ Hologram of a ${figure:wolf} floating in space, a vibrant digital illustration, dribbble, quantum wavetracing, black background, behance hd
+ cute-stickers:
+ - |
+ # Usage: __public-prompts/cute-stickers(figure=kawaii flower character)__
+ # Homepage: https://publicprompts.art/cute-stickers/
+ # Suggested settings:
+ # CFG scale: 10-15
+ # Sampler k_euler-a
+ # Steps: 50
+
+ Die-cut sticker, Cute ${figure:kawaii flower character} sticker, white background, illustration minimalism, vector, pastel colors
+ anime-portraits:
+ - |
+ # Usage: __public-prompts/anime-portraits(figure=girl wearing a crown of flowers)__
+ # Homepage: https://publicprompts.art/hyper-realistic-anime-portraits/
+ # Suggested settings:
+ # CFG scale: 10-15
+ # Sampler k_euler-a
+ # Steps: 50
+
+ Closeup face portrait of a ${figure:girl wearing crown of flowers}, smooth soft skin, big dreamy eyes, beautiful intricate colored hair, symmetrical, anime wide eyes, soft lighting, detailed face, by makoto shinkai, stanley artgerm lau, wlop, rossdraws, concept art, digital painting, looking into camera
+ gold-pendant:
+ - |
+ # Usage: __public-prompts/gold-pendant(symbol=dia de los muertos)__
+ # Homepage: https://publicprompts.art/gold-pendant-prompt/
+ # Suggested settings:
+ # CFG scale: 10-15
+ # Sampler k_euler-a
+ # Steps: 50
+
+ gold ${symbol:dia de los muertos} pendant, intricate 2d vector geometric, cutout shape pendant, blueprint frame lines sharp edges, svg vector style, product studio shoot
+ sport-team-logo:
+ - |
+ # Usage: __public-prompts/sport-team-logo(figure=ferocious lion head)__
+ # Homepage: https://publicprompts.art/sport-team-logo-v1/
+ # Suggested settings:
+ # CFG scale: 10-15
+ # Sampler k_euler-a
+ # Steps: 50
+
+ 2d ${figure:ferocious lion head}, vector illustration, angry eyes, football team emblem logo, 2d flat, centered
+ isometric:
+ rooms:
+ - |
+ # Usage: __public-prompts/isometric/rooms(room=bedroom, style=borderland game)__
+ # Homepage: https://publicprompts.art/isometric-rooms/
+ # Suggested settings:
+ # CFG scale: 10
+ # Sampler DDIM
+ # Steps: 50
+
+ Tiny cute isometric ${room:bedroom} in a cutaway box, ${style:borderlands game} style,
+ __public-prompts/lighting/soft-smooth__,
+ soft colors, 100mm lens, 3d blender render
+ rendered-objects:
+ - |
+ # Usage: __public-prompts/isometric/rendered-objects(object=porcelain cup of coffee, background=blue)__
+ # Homepage: https://publicprompts.art/rendered-objects/
+ # Suggested settings:
+ # CFG scale: 10-15
+ # Sampler k_euler_a
+ # Steps: 50
+
+ Tiny cute isometric ${object:porcelain cup of coffee},
+ 100mm lens
+ trending on polycount,
+ ${background:blue} background,
+ pop surrealism,
+ __public-prompts/styles/3d-render__
+ block-structures:
+ - |
+ # Usage: __public-prompts/isometric/block-structures(structure=temple, background=blue)__
+ # Homepage: https://publicprompts.art/block-structures-prompt/
+ # Suggested settings:
+ # CFG scale: 10-15
+ # Sampler k_euler-a
+ # Steps: 50
+
+ Tiny cute isometric ${structure:temple},
+ 100mm lens, trending on polycount,
+ ${background:blue} blackground,
+ pop surrealism,
+ __public-prompts/styles/3d-render__
+ micro-worlds:
+ - |
+ # Usage: __public-prompts/isometric/micro-worlds(figure=volcano)__
+ # Homepage: https://publicprompts.art/surreal-micro-worlds/
+ # Suggested settings:
+ # CFG scale: 10-15
+ # Sampler k_euler-a
+ # Steps: 50
+
+ 100mm photo of isometric floating island in the sky, surreal ${figure:volcano}, intricate, high detail, behance, microworlds smooth, macro sharp focus, centered
+ renders:
+ funky-pop:
+ - |
+ # Usage: __public-prompts/renders/funky-pop(figure=Yoda, background=white)__
+ # Homepage: https://publicprompts.art/funky-pop/
+ # Suggested settings:
+ # CFG scale: 10-15
+ # Sampler k_euler-a
+ # Steps: 50
+
+ Funky pop ${figure:Yoda} figurine,
+ made of plastic,
+ product studio shot, on a ${background:white} background,
+ __public-prompts/lighting/soft-smooth__,
+ centered
+ low-poly-creatures:
+ - |
+ # Usage: __public-prompts/renders/low-poly-creatures(figure=panda, background=white)__
+ # Homepage: https://publicprompts.art/low-poly-prompt/
+ # Suggested settings:
+ # CFG scale: 10-15
+ # Sampler k_euler-a
+ # Steps: 50
+
+ kawaii low poly ${figure:panda} character, 3d isometric render, ${background:white} background, ambient occlusion, unity engine
+
+ cute-creatures:
+ - |
+ # Usage: __public-prompts/renders/cute-creatures(figure=llama)__
+ # Homepage: https://publicprompts.art/cute-creatures/
+ # Suggested settings:
+ # CFG scale: 10
+ # Sampler k_euler_a
+ # Steps: 50
+
+ 3d fluffy ${figure:llama}, closeup cute and adorable,
+ cute big circular reflective eyes, long fuzzy fur,
+ Pixar render,
+ unreal engine cinematic smooth, intricate detail, cinematic
+
+
+ cute-stuffed-animals:
+ - |
+ # Usage: __public-prompts/renders/cute-stuffed-animals(figure=elephant)__
+ # Homepage: https://publicprompts.art/cute-stuffed-animals/
+ # Suggested settings:
+ # CFG scale: 13
+ # Sampler DDIM
+ # Steps: 35
+
+ cute kawaii Squishy ${figure} plush toy,
+ realistic texture, visible stitch line,
+ __public-prompts/lighting/soft-smooth__
+ __public-prompts/lighting/studio__
+ modular constructivism,
+ physically based rendering,
+ square image
+
+ 3d-character:
+ - |
+ # Usage: __public-prompts/renders/3d-character(figure=ninja)__
+ # Homepage: https://publicprompts.art/3d-character/
+ # Suggested settings:
+ # CFG scale: 13
+ # Sampler DDIM
+ # Steps: 25
+
+ tiny cute ${figure} toy,
+ standing character,
+ skottie2 young,
+ __public-prompts/styles/3d-render__
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/config/magicprompt_models.txt b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/config/magicprompt_models.txt
new file mode 100644
index 0000000000000000000000000000000000000000..15ff9d4d4eee565ff723f2d47ac9e296ccaadd59
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/config/magicprompt_models.txt
@@ -0,0 +1,15 @@
+Gustavosta/MagicPrompt-Stable-Diffusion
+daspartho/prompt-extend
+FredZhang7/anime-anything-promptgen-v2
+succinctly/text2image-prompt-generator
+microsoft/Promptist
+AUTOMATIC/promptgen-lexart
+AUTOMATIC/promptgen-majinai-safe
+AUTOMATIC/promptgen-majinai-unsafe
+kmewhort/stable-diffusion-prompt-bolster
+Gustavosta/MagicPrompt-Dalle
+Ar4ikov/gpt2-650k-stable-diffusion-prompt-generator
+Ar4ikov/gpt2-medium-650k-stable-diffusion-prompt-generator
+crumb/bloom-560m-RLHF-SD2-prompter-aesthetic
+Meli/GPT2-Prompt
+DrishtiSharma/StableDiffusion-Prompt-Generator-GPT-Neo-125M
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/docs/CHANGELOG.md b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/docs/CHANGELOG.md
new file mode 100644
index 0000000000000000000000000000000000000000..7e5feaa160f1caa5462f4d65bcb6cdc0f7698e5e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/docs/CHANGELOG.md
@@ -0,0 +1,200 @@
+- 2.16.3 Refactoring and fixing [#601](https://github.com/adieyal/sd-dynamicprompts/issues/601)
+- 2.16.2 Refactor paths and magic prompt models file read
+- 2.16.1 Only using cross product when num_prompts is not provided
+- 2.16.0 Added cross product of positive and negative prompts
+- 2.15.0 Added Wildcard Manager Search
+- 2.14.0 Added configuration option to shuffle wildcards for increased randomness in combinatorial mode.
+- 2.13.0 Added configuration options to prevent the wildcard manager from sorting and deduplicating wildcard files
+- 2.12.6 Bumped dynamicprompts version to 0.27.1. Late loading of jinja2 to work around issues with incompatible versions of Jinja2 being installed. Also improved dependency management
+- 2.12.5 Updates to support hires updates in auto1111. See [#498](https://github.com/adieyal/sd-dynamic-prompts/pull/498). Also manually updates PYTHONPATH in install.py if the extension's package is not found. [#496](https://github.com/adieyal/sd-dynamic-prompts/pull/496)
+- 2.12.4 Honouring --skip-install command line argument for faster load times. Also reverts change to extension-specific logging configuration - see [53e69fe](https://github.com/adieyal/sd-dynamic-prompts/commit/53e69feda77954b86b4b0bae5623bd85009826b3)
+- 2.12.3 Minor change that does removes the "Promt matrix..." log when there is a single prompt
+- 2.12.2 Workaround webui bug when extensions with nested tabs are present - see [#481](https://github.com/adieyal/sd-dynamic-prompts/pull/481)
+- 2.12.1 Hires fix - see [#474](https://github.com/adieyal/sd-dynamic-prompts/issues/474).
+- 2.12.0 Updated installation process to be more robust and ensure that the correct dependencies are available. See [#449](https://github.com/adieyal/sd-dynamic-prompts/pull/449)
+- 2.11.10 Resource leaks fixed
+- 2.11.9 Minor change to logger formatting
+- 2.11.8 Fixed unlink seed from prompt
+- 2.11.7 Improving dependency management by checking for the correct dependency version.
+- 2.11.6 Disabling the extension if the correct version of dynamicprompts is not installed
+- 2.11.5 Added kwargs to FrozenPromptGenerator to fix one of the unexpected keyword argument 'seeds' errors
+- 2.11.4 Fixed type error in install.py for older versions of python
+- 2.11.3 Added check to ensure that the correct version of dynamicprompts is installed. If not it outputs instructions for manual installation.
+- 2.11.2 Added a download collectons script in _tools/ and included the Mossbraker collection - https://github.com/Mossbraker/mj_reference_wildcards/
+- 2.11.1 Fixes [#382](https://github.com/adieyal/sd-dynamic-prompts/issues/382) (Save wildcards" only works once) and added an option to autopurge the cache.
+- 2.11.0 Upgraded dynamicprompts to v0.23.0 which includes speed improvements to the prompt parser.
+- 2.10.5 Combinatorial batches now correctly uses a different seed per batch. Thanks to @dbitterlich. Fixes [#190](https://github.com/adieyal/sd-dynamic-prompts/issues/190). Also upgraded dynamicprompts to v0.22.0 which makes WildcardManager trees easily composable - [#74](https://github.com/adieyal/dynamicprompts/pull/74)
+- 2.10.4 Wildcard tab JS rework - see https://github.com/adieyal/sd-dynamic-prompts/pull/364
+- 2.10.3 Minor fixes and refactoring of the Wildcard Manager tab to reduce conflicts with other extensions
+- 2.10.2 Upgraded dynamicprompts to v0.21.2 which adds a missing parser config
+- 2.10.1 Upgraded dynamicprompts to v0.21.1 which fixes [#358](https://github.com/adieyal/sd-dynamic-prompts/issues/358)
+- 2.10.0 Upgraded dynamicprompts to v0.21.0 which introduces variables and parameterised templates
+- 2.9.1 Upgraded dynamicprompts to v0.20.2 which fixes [#354](https://github.com/adieyal/sd-dynamic-prompts/issues/354) - No values found for wildcards on Windows
+- 2.9.0 Magic Prompt models are now read from a text file enabling users to add their own. Default model and magicprompt batch size options have been added to the settings tab.
+- 2.8.12 Prompts are frozen if the variation strength is greater than 0. See [#310](https://github.com/adieyal/sd-dynamic-prompts/issues/310)
+- 2.8.11 Fixed the broken wildcards manager, see [#338](https://github.com/adieyal/sd-dynamic-prompts/issues/338)
+- 2.8.10 Magic Prompt now works on M1/M2 Mac - see [#329](https://github.com/adieyal/sd-dynamic-prompts/issues/329)
+- 2.8.9 Updated dynamicprompts to 0.10.5 which fixes #307
+- 2.8.8 Slight tweak to 2.8.7
+- 2.8.7 Fixed bug causing unwanted newlines in wildcard files on Windows. See #270
+- 2.8.6 Added configurable batch size for Magic Prompts. Increasing the batch size can significantly improve prompt generation speed at the expense of slightly increases VRAM usage.
+- 2.8.5 Fixed infinite recursion in Gradio 3.22.1 - see [#316](https://github.com/adieyal/sd-dynamic-prompts/pull/316)
+- 2.8.4 Fixes ignore_whitespace for Jinja templates
+- 2.8.3 Added a setting that limits the number of prompts generated by Jinja to `batch_count * batch_size`.
+- 2.8.2 Added the ability to customise the wildcard wrap (prefix and suffix), see Settings -> Dynamic Prompts. Thanks to @aoirusann for implementing it.
+- 2.8.1 Fixed ZeroDivisionError error when not using negative prompts
+- 2.8.0 Upgraded to dynamic prompts v0.10.0 which enables combining random, combinatorial, cyclical prompts.
+- 2.7.3 Fixes [#271 - Fixed seed causes error](https://github.com/adieyal/sd-dynamic-prompts/issues/271)
+- 2.7.2 Fixes [#256 - "Reload UI" breaks the extension](https://github.com/adieyal/sd-dynamic-prompts/issues/256)
+- 2.7.1 Fixes a bug in CombinatorialPromptGenerator which was missing a parser_config argument
+- 2.7.0 Variant braces are now configurable, see [https://github.com/adieyal/sd-dynamic-prompts/#configuration](https://github.com/adieyal/sd-dynamic-prompts/#configuration) for details
+- 2.6.3 Addresses [#250](https://github.com/adieyal/sd-dynamic-prompts/issues/250#issuecomment-1425037699)
+- 2.6.2 Minor bug fix relating to copypaste
+- 2.6.1 Fixed send to img2txt parsing mostly fixed. There may be some lingering issues
+- 2.6.0 Upgraded to dynamicprompts v0.6.0 which includes support for symlinks for wildcards and a major revamp of the parsing machinery
+- 2.5.6 Addresses [#227](https://github.com/adieyal/sd-dynamic-prompts/issues/227)
+- 2.5.5 Prompts csv filname is now set to the name of the first image saved.
+- 2.5.4 Bumped dynamicprompts to v0.4.3 - enables zero repititions in sequence commands, e.g. `{0-3$$A|B|C}`
+- 2.5.3 Re-factored code into a single package
+- 2.5.2 Upgraded to dynamicprompts v0.4.1 which allows for all printables to be used as variant separators, e.g. {2$$|$$A|B|C}. This addresses [#211](https://github.com/adieyal/sd-dynamic-prompts/issues/211). Also fixed [#222](https://github.com/adieyal/sd-dynamic-prompts/pull/222).
+- 2.5.1 Fixed a circular dependency in install.py
+- 2.5.0 Upgraded to dynamicprompts v0.4.0. Magic Prompts now has a regex block to remove unwanted wildcards - thanks to @akx.
+- 2.4.4 Upgraded dynamicprompts to v0.3.2 which includes a security fix for wildcards preventing search outside of the extension's directory. thnkas to @akx
+- 2.4.3 Added a script to import noodle prompts - thanks to @akx
+- 2.4.2 Code cleanup by @akx
+- 2.4.1 Fixed an annoying bug when copying collections into the wildcard directory. Wildcards were copied directly into the wildcards root directory, instead of the root of their collections. This fix may affect previously saved prompts that expect wildcard files to be in the root.
+- 2.4.0 Upgraded dynamicprompts to v0.3.0 and provided alternative models to Magic Prompt
+- 2.3.8 Fixed a bug introduced in 2.3.8 that breaks random generation
+- 2.3.7 Added a maximum generation slider to combinatorial mode - this replaces the batch_count * batch size calculation used previously.
+- 2.3.6 Using a Dummy Generator for attention grabber if spacy is not available
+- 2.3.5 Fixed extras requirement from dynamicprompts
+- 2.3.4 Changed the don't apply to negative prompts checkbox to apply to prompt magic only.
+- 2.3.3 Added the extension devilkkw wildcards collection - check it out [here](https://github.com/adieyal/sd-dynamic-prompts/tree/main/collections/devilkkw)
+- 2.3.2 Added an accordion to hide the prompt helpers section by default
+- 2.3.1 Fixed annoying unnecessary reinstallation of requirements. Also bumped dynamicprompts to v0.2.6 which includes wildcard caching
+- 2.3.0 Moved some advanced options into the settings tab. These are now saved when the application closes.
+- 2.2.4 Fixed decimal weights - see [#165](https://github.com/adieyal/sd-dynamic-prompts/issues/165)
+- 2.2.3 Fixed disable negative prompts - see [#167](https://github.com/adieyal/sd-dynamic-prompts/issues/167)
+- 2.2.2 Fixed missing whitespace between wildcards
+- 2.2.1 Fixed unlink seed from prompt bug - see [#150](https://github.com/adieyal/sd-dynamic-prompts/issues/150#issuecomment-1374847700)
+- 2.2.0 Added option in advanced settings to save the raw prompt in the png metadata
+- 2.1.1 Fixes a bug that caused the CombinatorialPromptGenerator to run slowly
+- 2.1.0 Upgraded to dynamicprompts 0.2.0 which honours whitespace in prompts by default (this can be switched off in advanced settings)
+- 2.0.4 Migrated to using Jinja2Generator from Dynamic Prompts. Removed all references to the old Jinja2 generator
+- 2.0.3 Changed dependencies, now automatically upgrades the dynamicprompts version if available. Also fixed a bug where AttentionGenerator was being imported from dynamicprompts.generators instead of dynamicprompts.generators.attentiongenerator. The new version 0.1.18 of dynamicprompts removes an explicit dependency on pytorch and relies on the version that is installed with the webui. This avoids an unpleasant 1.8GB download.
+- 2.0.2 Bumped dynamicprompts version to 0.1.17. This fixes alternative word syntax, i.e. `[cat|dog]`. The `|` character is now only reserved inside variants `{a|b|c}`
+- 2.0.1 Using classes from the typing package for python 3.7 support
+- 2.0.0 Migrated to using the dynamicprompts library
+- 1.5.17 Better handling of missing `__wildcard__` files
+- 1.5.16 Fixed issue cause by literals adjacent to wildcards, e.g. ,`__colours__` or `(__colours__)`
+- 1.5.15 Reverted prompt-editing and alternate words parsing as it was causing way too many other issues.
+- 1.5.14 Fixed parsing of emphasis with weights, e.g. `(high emphasis:1.5)`
+- 1.5.13 Fixed variants with empty value, e.g. A {|red|blue} rose
+- 1.5.12 Removed comments checkbox as comments are now enabled by default
+- 1.5.11 Added a list of occupations to the jumbo collection
+- 1.5.10 Parser now correctly ignores `[low emphasis]` square brackets
+- 1.5.9 Fixed attention grabber sliders
+- 1.5.8 Both prompt editing (`[a:b:when]`) and prompt alternating (`[a|b]`) can now nest arbitrary prompts, e.g. `A [__colours__:{pink|yellow}] rose`
+- 1.5.7 Added passthru support for prompt editing (i.e. `[a:b:when]` remains unchanged). A future release will enable variable components, e.g. `[__colours__:__colours:4]`
+- 1.5.6 Added various materials to the jumbo collection
+- 1.5.5 Fixed resolving nested prompts in wildcard files in random generator
+- 1.5.4 Fixed parsing bug with non ascii characters
+- 1.5.3 Fixed a bug caused in older python versions when using collections.abc.Iterable instead of typing.Iterable - https://github.com/adieyal/sd-dynamic-prompts/discussions/140
+- 1.5.2 Added a large number of birds to the jumbo collection
+- 1.5.1 Added configuration slides for min and max attention. The default has been changed to 1.1-1.5
+- 1.5.0 Updated prompt parser to use pyparsing which allows for arbitrary recursive prompts and fixes some long-time bugs. There may be a few wrinkles that still need to be iron out
+- 1.4.4 Added confirm prompt when deleting wildcards. Wildcards are also sent to Trash instead of being deleted outright
+- 1.4.3 Added animal wildcards to the jumbo collection
+- 1.4.2 The change for 1.4.1 broke the ability to use wildcards in combination braces, e.g. `{2$$__colours__}`, 1.4.2. fixes this.
+- 1.4.1 Fixed sub-prompts in combination - see [#117](https://github.com/adieyal/sd-dynamic-prompts/issues/117)
+- 1.4.0 Added option to weight prompts in combinationselector - thanks to [@shoffing](https://github.com/shoffing)
+- 1.3.3 Removed junk file
+- 1.3.2 Added c-style comments - thanks to @space-nuko
+- 1.3.1 Fixed path in wildcard files
+- 1.3.0 Added mechanism to copy collections to wildcards
+- 1.2.3 Added natioanlities wildcards
+- 1.2.2 Fixed passing json between frontend and backend - now explicitly stringifying in the frontend
+- 1.2.1 Removed white space from wildcards when saving
+- 1.2.0 Added render variables to jinja2 context - see the jinja2.md for details
+- 1.1.0 Updated write prompts to file. Now outputs a csv files with both positive and negative prompts
+- 1.0.3 Improved wildcards tab interface
+- 1.0.2 Wildcard hierarchy is now alphabetically sorted
+- 1.0.1 Ensure that the wildcards tree is only loaded once
+- 1.0 Added a rudimentary wildcard manager - more to follow
+- 0.29.15 Fixes fixed magic prompt - seed issue - https://github.com/adieyal/sd-dynamic-prompts/issues/90
+- 0.29.14 Fixes duplicate wildcards - https://github.com/adieyal/sd-dynamic-prompts/issues/88
+- 0.29.13 Fixes broken styles for negative prompts = https://github.com/adieyal/sd-dynamic-prompts/issues/73
+- 0.29.12 Fixes broken styles = https://github.com/adieyal/sd-dynamic-prompts/issues/73
+- 0.29.11 Wildcards are sorted alphabetically before use - https://github.com/adieyal/sd-dynamic-prompts/issues/85
+- 0.29.10 Fixed a bug the occurred when more positive prompts are created than negative prompts.
+- 0.29.9 Now using all_negative_prompts. Each image now uses its own negative prompt. Thanks to @lilly1987
+- 0.29.8 Fixed unlink seed from prompt - see https://github.com/adieyal/sd-dynamic-prompts/issues/80
+- 0.29.7 Removed python type aliases for backwards compatibility
+- 0.29.6 Maximum filesize for prompts is 50 to prevent issues on windows
+- 0.29.5 Added link to documentation on github
+- 0.29.4 Fixed pipe (|) in combinations string - see https://github.com/adieyal/sd-dynamic-prompts/issues/54
+- 0.29.3 Fixed localization for help text - see https://github.com/adieyal/sd-dynamic-prompts/issues/68
+- 0.29.2 Fixed camera models file in the jumbo collection - see https://github.com/adieyal/sd-dynamic-prompts/issues/69
+- 0.29.1 Changed attention grabber to use noun phrases
+- 0.29.0 Added attention grabber
+- 0.28.1 Minor magic prompt fixes, with thanks to @SineSwiper
+- 0.28.0 Added tooltips to all components, with thanks to @Eugenii10
+- 0.27.4 Added debug logging
+- 0.27.3 Another fix for https://github.com/adieyal/sd-dynamic-prompts/issues/62
+- 0.27.2 Fixed bug when dynamic prompts is disabled - see https://github.com/adieyal/sd-dynamic-prompts/issues/62
+- 0.27.1 Slight ui re-organisation
+- 0.27.0 Added option to disable image generation - useful in combination with writing prompts to file
+- 0.26.0 Added option to disable the negative prompt
+- 0.25.1 Explicitly setting encoding when writing prompts to file. Also ignoring errors
+- 0.25.0 Negative prompts are now dynamic, Big thanks to @lilly1987
+- 0.24.4 Tucked help into separate accordions to prevent too much clutter
+- 0.24.3 Added shuffle to combinatorial generation so that a different subset of prompts is generated every time if the total number of prompts is greater than Batch size * Batch count
+- 0.24.2 Minor bug fix in weighted choice jinja2 extension
+- 0.24.1 Re-wrote combinatorial generation to use a queue instead of recursion
+- 0.24.0 I'm feeling lucky now using the prompt as a search string.
+- 0.23.1 Fixed a bug that didn't limit the number of prompts when using combinatorial generation and large wildcard files
+- 0.23.0 Added I'm feeling lucky for the ultimate in lazy prompting
+- 0.22.0 Added a weighted choice function to jinja2 templates
+- 0.21.0 Added a checkbox to disable dynamic prompts if needed
+- 0.20.1 Using launch.run_pip instead of subprocess to install dependencies
+- 0.20.0 Added random, randint, and permutations jinja extensions
+- 0.19.2 Fixed bug in MagicPrompt that broke prompts with pipes, https://github.com/adieyal/sd-dynamic-prompts/issues/54
+- 0.19.1 Added missing install.py to install Jinja2
+- 0.19.0 Added a checkbox to enable unlinking seeds from prompts. This feature has been available for sometime but there hasn't been a checkbox in the ui to enable it.
+- 0.18.0 Added Jinja2 templates as an experimental feature
+- 0.17.1 Minor bug fix checking type of combinatorial batches
+- 0.17.0 Dynamic prompts is now an AlwaysVisible script. It now plays nicely with other scripts like X/Y plot. Big thanks to @stysmmaker
+- 0.16.0 Added a checkbox to enable writing all generated prompts to a text file.
+- 0.15.2 Handle situation where no prompts are generated.
+- 0.15.1 Fixed an error caused when setting wildcard_dir in config.json, also other minor bug fixes
+- 0.15.0 Improvements to Magic Prompt by @SineSwiper - added a slider to adjust the prompt length and another to tune creativity.
+- 0.14.0 Added the ability to change the combinations joiner from the default "," to anything you like, e.g. {1$$and$$red|blue} gives you red and blue - contributed by @cobryan05
+- 0.13.9 Added implicit lower and upper ranges to combinations - thanks to @galvanized
+- 0.13.8 Allow sampling with replacement for variants, i.e. {2$$X|Y} can return X,X Y,Y X,Y and Y,X. Useful in combination with wildcards. {2$$__artists__} now also chooses two options from the artists.txt file.
+- 0.13.7 Python 3.8 compatibility
+- 0.13.6 Moved wildcards into the collections directory and added the parrot zone collection with thanks to @jmpaz
+- 0.13.5 Updated stylesheet from @Yaiol to fix light and dark theme
+- 0.13.4 Fixed 0.13.3, but thiss time for real
+- 0.13.3 Added an option to revert 0.9.1. There isn't a ui for it yet, but you can edit constants.py. Change to UNLINK_SEED_FROM_PROMPT = True
+- 0.13.2 Fixed combinatorial bug which generated duplicate templates
+- 0.13.1 Fixed light mode css
+- 0.13.0 Added same seed checkbox to keep the seed constant for all generations.
+- 0.12.0 Added a slider to enable combinatorial generation in batches, in other words, run the same set of prompts with different seeds
+- 0.11.0 Migrated to an extension
+- 0.10.0 Added magic prompts
+- 0.9.2 Added additional artists and refactored code.
+- 0.9.1 Added local Random instance to ensure repeatability without changing the global random number generator
+- 0.9.0 Started a modifer library. Turns out it's much better than the long unsorted lists of artists you find elsewhere.
+- 0.8.0 Combinatorial generation
+- 0.7.0 Updated wildcard ui by @TheAwesomeGoat.7.0 Updated wildcard ui by @TheAwesomeGoat
+- 0.6.0 Added path globbing for wildcards. Thanks for @evanjs for the idea and original implementation
+- 0.5.0 The script can now handle nested wildcard directories in order to make it easier to organise large wildcard collections. Comments and empty lines are now ignored. Both features thanks to @evanjs
+- 0.4.5 Enabled generation of grids
+- 0.4.4 Fixed bug where num_batches was being interpreted as num_images
+- 0.4.3 Printing prompts at logger level INFO
+- 0.4.2 Ignoring unknown characters in non-utf8 encoding wildcard files
+- 0.4.1 Fixed regular expression for wildcards, it previously didn't allow wildcard files with underscores in them.
+- 0.4 Rows in a wildcard file that contain dynamic syntax will be resolved. This enables recusive resolution. See [this](https://github.com/adieyal/sd-dynamic-prompting/issues/3) feature request for a use case
+- 0.3 Added interval implementation for combinations, i.e. you can now use {1-2$$op1|opt2|opt3} which will choose one or two options. Thanks to @galvanized for this.
+- 0.2 Fixed Batch img2img implementation
+- 0.1 Initial implementation
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/docs/SYNTAX.md b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/docs/SYNTAX.md
new file mode 100644
index 0000000000000000000000000000000000000000..07cfbe277617c3be2abdb98dea07d3428ecd3b75
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/docs/SYNTAX.md
@@ -0,0 +1,555 @@
+# Syntax Guide
+This guide will walk you through the template language used to generate dynamic prompts. It covers various features such as variants, wildcards, variables, and parameterized templates.
+
+## Table of contents
+ * [Variants](#variants)
+ * [Basic Syntax](#basic-syntax)
+ * [Weighting Options](#weighting-options)
+ * [Choosing Multiple Values](#choosing-multiple-values)
+ * [Custom Separator](#custom-separator)
+ * [Range of Options](#range-of-options)
+ * [Omitting Bounds](#omitting-bounds)
+ * [Limitations](#limitations)
+ * [Wildcards](#wildcards)
+ * [Basic Syntax](#basic-syntax-1)
+ * [Wildcards in Variants](#wildcards-in-variants)
+ * [Variants in Wildcards](#variants-in-wildcards)
+ * [Nested Wildcards](#nested-wildcards)
+ * [Resolving Wildcards with Globbing](#resolving-wildcards-with-globbing)
+ * [Basic Syntax](#basic-syntax-2)
+ * [Example](#example)
+ * [File formats](#file-formats)
+ * [Text files](#text-files)
+ * [YAML files](#yaml-files)
+ * [JSON files](#json-files)
+ * [Variables](#variables)
+ * [Immediate Evaluation](#immediate-evaluation)
+ * [Non-immediate Evaluation](#non-immediate-evaluation)
+ * [Parameterized Templates](#parameterized-templates)
+ * [Basic Syntax](#basic-syntax-3)
+ * [Default values](#default-values)
+ * [Whitespace and comments](#whitespace-and-comments)
+ * [Samplers](#samplers)
+
+
+## Variants
+Variants allow you to randomly generate one or more options from a list of possibilities. They can be weighted, and you can control the number of options to be chosen.
+
+### Basic Syntax
+To create a variant, wrap your options in curly brackets {} and separate them with a vertical bar |. For example:
+
+```
+{summer|autumn|winter|spring} is coming
+```
+
+This will randomly generate one of the following:
+
+* summer is coming
+* autumn is coming
+* winter is coming
+* spring is coming
+
+### Weighting Options
+You can add weights to options to control their relative frequency. To do this, add a double colon `::` followed by the weight before the option:
+
+```
+`{0.5::summer|0.1::autumn|0.3::winter|0.1::spring}`
+```
+
+The weights are relative and do not have to add up to 1. If you omit a weight, it is assumed to be 1. Weights are also possible in YAML wildcard files, [see below](#weighted-options-in-yaml).
+
+### Choosing Multiple Values
+
+To choose multiple values, add a number followed by double dollar signs `$$` before your options:
+
+```
+My favourite ice-cream flavours are {2$$chocolate|vanilla|strawberry}
+```
+
+This will generate one of the following:
+
+* My favourite ice-cream flavours are chocolate, vanilla
+* My favourite ice-cream flavours are chocolate, strawberry
+* My favourite ice-cream flavours are vanilla, chocolate
+* ...
+etc
+
+Values are chosen without replacement, so you won't get repeats.
+
+### Custom Separator
+You can change the default separator by adding a custom separator between the double dollar signs:
+
+```
+My favourite ice-cream flavours are {2$$ and $$chocolate|vanilla|strawberry}
+```
+
+This will generate one of the following:
+
+* My favourite ice-cream flavours are chocolate and vanilla
+* My favourite ice-cream flavours are chocolate and strawberry
+* My favourite ice-cream flavours are vanilla and chocolate
+* ...
+
+### Range of Options
+
+To provide a range for the number of options to be chosen, use a dash `-` between the lower and upper bounds:
+
+```
+My favourite ice-cream flavours are {1-2$$ and $$chocolate|vanilla|strawberry}
+```
+
+This will generate:
+
+* My favourite ice-cream flavours are chocolate
+* My favourite ice-cream flavours are strawberry
+* My favourite ice-cream flavours are vanilla
+* My favourite ice-cream flavours are chocolate and vanilla
+* My favourite ice-cream flavours are chocolate and strawberry
+* My favourite ice-cream flavours are vanilla and chocolate
+* ...
+
+#### Omitting Bounds
+You can omit the lower or upper bound, and it will be treated as the minimum or maximum possible value:
+
+```
+{-2$$chocolate|vanilla|strawberry} == {1-2$$chocolate|vanilla|strawberry}
+{1-$$chocolate|vanilla|strawberry} == {1-2$$chocolate|vanilla|strawberry}
+```
+
+#### Limitations
+
+If you request more options than values in the variant, you will only get as many items as are available:
+
+```
+p{4$$chocolate|vanilla|strawberry} == chocolate, vanilla, strawberry
+```
+
+## Wildcards
+
+### Basic Syntax
+
+Wildcards are placeholders that inject values from a file into your prompt. Create a file with the desired values and use double underscores `__` to indicate the wildcard:
+
+```
+__season__ is coming
+```
+
+Assuming you have a seasons.txt file with the following content:
+
+```
+# seasons.txt
+summer
+autumn
+winter
+spring
+```
+
+This prompt will randomly generate one of the following:
+
+* summer is coming
+* autumn is coming
+* winter is coming
+* spring is coming
+
+### Wildcards in Variants
+You can choose multiple values from a wildcard as follows:
+
+```
+My favourite ice-cream flavours are {2$$__flavours__}
+```
+
+This syntax is also possible:
+
+```
+My favourite ice-cream flavours are {2$$__flavours__|__flavours__}
+```
+but the first version will guarantee no duplicates.
+
+
+### Variants in Wildcards
+Wildcard values can also contain variants. For example, if your seasons.txt file contains:
+
+```
+# seasons.txt
+summer
+{autumn|fall}
+winter
+spring
+```
+
+The possible outputs are:
+
+* summer is coming
+* autumn is coming
+* fall is coming
+* winter is coming
+* spring is coming
+
+### Nested Wildcards
+You can use wildcards inside other wildcards. If you have a file called people_of_the_world.txt containing:
+```
+# people_of_the_world.txt
+__asia__
+__africa__
+__europe__
+__north_america__
+__south_america__
+__australisia__
+...
+```
+
+And another file called africa.txt containing:
+```
+# africa.txt
+Zimbabwean
+Namibian
+Basotho
+...
+```
+
+Then
+```
+__people_of_the_world__
+```
+
+
+will first select a value in people_of_the_world.txt. If that value is a wildcard, say `__africa__`, it will then choose a value from within `africa.txt. Using nesting, you can create an sophisticated wildcard hierarchies.
+
+### Resolving Wildcards with Globbing
+Globbing allows you to match multiple wildcard files at once. This can be useful if you have multiple files that contain similar data and want to use values from all of them in your prompts.
+
+For example, if you have two files, colours-cold.txt and colours-warm.txt, you can use globbing to resolve values from both of these files by using an asterisk * as a wildcard.
+
+#### Basic Syntax
+To use globbing, simply include an asterisk * in your wildcard pattern:
+```
+__colours*__
+```
+
+In this example, any file that starts with colours will be matched. So both colours-cold.txt and colours-warm.txt will be used to resolve values.
+
+#### Example
+Suppose you have the following files:
+
+colours-cold.txt:
+
+```
+# colours-cold.txt
+blue
+green
+```
+
+colours-warm.txt:
+```
+# colours-warm.txt:
+red
+yellow
+```
+
+Using the `__colours*__` wildcard will randomly select a value from both files:
+
+```
+The colour of my shirt is __colours*__
+```
+
+Possible outputs are:
+
+* The colour of my shirt is blue
+* The colour of my shirt is green
+* The colour of my shirt is red
+* The colour of my shirt is yellow
+
+### File formats
+
+#### Text files
+The basic wildcard file is a simple text file with a `.txt` extension. It has one value per line. You can comment out a line with a `#`, e.g.
+```
+# this is a comment
+summer
+autumn
+winter
+spring
+```
+
+#### YAML files
+YAML files are supported for storing a hierarchy of prompts. Here is an example:
+
+```
+# example.yaml
+clothing:
+ - T-shirt
+ - Pants
+ - Shoes
+artists:
+ finnish:
+ - Akseli Gallen-Kallela
+ - Eero Järnefelt
+ - Helene Schjerfbeck
+ dutch:
+ - Piet Mondrian
+ - Rembrandt van Rijn
+ - Vincent van Gogh
+ 1234: 5678 # this is ignored
+ flurp: 12345 # this too
+```
+
+The last two entries are ignore since they don't store arrays.
+
+##### Weighted options in YAML
+A handy feature of YAML files is that they provide an easy way to add weights to wildcards, something which isn't possible using standard text files. Here is an example:
+
+```yaml
+{
+ 2::red
+ | 3::blue
+ | 1:: green
+}
+```
+
+
+#### JSON files
+Similiar to YAML, you can use json files as well:
+
+```
+{
+ "clothing": [
+ "T-shirt",
+ "Pants",
+ "Shoes"
+ ],
+ "artists": {
+ "finnish": [
+ "Akseli Gallen-Kallela",
+ "Eero Järnefelt",
+ "Helene Schjerfbeck"
+ ],
+ "dutch": [
+ "Piet Mondrian",
+ "Rembrandt van Rijn",
+ "Vincent van Gogh'
+ ]
+ }
+}
+```
+
+## Variables
+Variables allow you to store and reuse values in your prompts. To set a variable, use the following syntax:
+
+```
+${variable_name=value}
+```
+
+### Immediate Evaluation
+To force the immediate evaluation of a variable's value, add an exclamation mark ! before the value:
+
+```
+${season=!__season__}
+```
+
+or
+
+```
+${season=!{summer|autumn|winter|spring}}
+```
+
+You can then use the variable in your prompt:
+
+```
+In ${season}, I wear ${season} shirts and ${season} trousers
+```
+
+This will generate:
+
+* In summer, I wear summer shirts and summer trousers
+* In autumn, I wear autumn shirts and autumn trousers
+* In winter, I wear winter shirts and winter trousers
+* In spring, I wear spring shirts and spring trousers
+
+
+### Non-immediate Evaluation
+Without the exclamation mark, the wildcard or variant will be evaluated every time it is used:
+
+```
+${season=__season__} and In ${season}, I wear ${season} shirts and ${season} trousers
+```
+
+This may produce:
+
+In summer, I wear winter shirts and autumn trousers. Non-immediate evaluation is useful in the case that don't want to define a complex construct multiple times in the same prompt. e.g.
+
+Instead of:
+
+```
+A {blond|redhead|brunette}, {green|blue|brown|hazel} eyes, {tall|average|short} man and a {blond|redhead|brunette}, {green|blue|brown|hazel} eyes, {tall|average|short} woman
+```
+
+you can use a variable instead
+```
+${person_description={blond|redhead|brunette}, {green|blue|brown|hazel} eyes, {tall|average|short}}
+A ${person_description} man and a ${person_description} woman
+```
+
+## Parameterized Templates
+You can pass values into wildcard templates to create more dynamic prompts.
+
+### Basic Syntax
+Create a file called season_clothes.txt with the following content:
+
+```
+In ${season}, I wear ${season} shirts and ${season} trousers
+```
+
+Then, in your prompt, you can pass a value to the template:
+```
+__season_clothes(season=winter)__
+```
+
+Note - for now you can only pass a literal string into the template rather than an expression. This syntax will also work
+
+```
+${season={summer|autumn|winter|spring} __season_clothes__
+```
+
+### Default values
+A template will throw an error if it expects a variable that isn't set. To prevent this from happening you can set a default value.
+
+```
+In ${season:summer}, I wear ${season:summer} shirts and ${season:summer} trousers
+```
+
+Now if you forget to create the season variable, the prompt will be `In summer, I wear summer shirts and summer trousers`
+
+## Whitespace and comments
+As your prompts become more complex, the become harder to read. To prevent creating unreadable and unmaintainable prompts you can use whitespace such as newlines, which will be ignored by the parser. Python-style comments are also supported so that you can annotate your prompt.
+
+```
+ # Set the season variable
+ ${season={
+ summer
+ |autumn
+ # | fall # commented this value out
+ |winter
+ |spring
+ }
+
+ In ${season:summer}, I wear ${season:summer} shirts and ${season:summer} trousers
+```
+
+Note that regular wildcard .txt files use a newline to represent new wildcard and so whitespace is not permitted. In this case you should consider using the YAML wildcard format. Here is a real-world example from the [publicprompts](https://github.com/adieyal/sd-dynamic-prompts/blob/main/collections/publicprompts.yaml) wildcard file:
+
+```
+# publicprompts.yaml
+# Prompts taken https://publicprompts.art/
+public-prompts:
+ cute-stuffed-animals:
+ - |
+ # Usage: __public-prompts/cuddly-toys(figure=elephant)__
+ # Homepage: https://publicprompts.art/cute-stuffed-animals/
+ # Suggested settings:
+ # CFG scale: 13
+ # Sampler DDIM
+ # Steps: 35
+
+ cute kawaii Squishy ${figure} plush toy,
+ realistic texture, visible stitch line,
+ soft smooth lighting,
+ vibrant studio lighting,
+ modular constructivism,
+ physically based rendering,
+ square image
+```
+
+## Samplers
+Samplers are an advanced topic although understanding how they work will help you understand how the dynamic prompts engine works.
+Dynamic Prompts uses samplers to select values from variants and wildcards. So far, we have assumed a random sampler, which randomly selects one of the options. However, combinatorial and cycle samplers are also available, offering different sampling behaviours.
+
+Let's see how the different samplers behave using this prompt:
+
+```
+A {red|green|blue} {square|circle}
+```
+
+### Random Sampler
+The random sampler picks values randomly from both variants:
+
+```
+A green circle
+A blue square
+A blue circle
+...
+```
+
+### Combinatorial Sampler
+The combinatorial sampler produces all possible combinations:
+
+```
+A red square
+A red circle
+A green square
+A green circle
+A blue square
+A blue circle
+```
+
+### Cyclical Sampler
+The cyclical sampler cycles through values and produced this repeating pattern of prompts
+
+```
+A red square
+A green circle
+A blue square
+A red circle
+...
+```
+
+To use the combinatorial sampler, you need to use a [CombinatorialPromptGenerator](https://github.com/adieyal/dynamicprompts#combinatorial-generation) if you're using the [dynamicprompts](https://github.com/adieyal/dynamicprompts) library directly or the [combinatorial mode](https://github.com/adieyal/sd-dynamic-prompts#combinatorial-generation) if you are using the extension. You can also explicitly specify which sampler to use for certain parts of your prompt.
+
+The `~` is used for a random sampler and `@` for cyclical. The syntax for variants is `{~red|green|blue}` and `__~colours__` for wildcards. Similarly, `{@red|green|blue}` and `__@colours__` for cycle.
+
+If a sampler is not explicitly specified, the default sampler is used, the value of which depends on your generator.
+
+Example using a random sampler and explicitly setting the second variant to use a cyclical sampler:
+```
+{red|green|blue} {@square|circle}
+```
+
+The first variant is sampled randomly, but the second one uses the cyclical sampler, example outputs:
+```
+blue square
+red circle
+red square
+green circle
+...
+```
+
+If using the combinatorial sampler and explictly setting the second variant to use a random sampler:
+```
+{red|green|blue} {~square|circle}
+```
+
+The first variant is sampled using a combinatorial sampler, the second is randomly sampled. Example outputs:
+
+```
+red circle
+green circle
+blue square
+```
+
+Note that it only produces 3 outputs and then stops. That's because the combinatorial sampler is finite, and there are a finite number of combinations, in this case red, green, and blue.
+
+Random and cyclical samplers are non-finite, meaning you can continually ask them for more values, eventually leading to duplicates.
+
+Cyclical samplers are useful if you want to keep two values in sync, e.g., embeddings:
+
+```
+{@embedding1|embedding2} and {@embedding3|embedding4}
+```
+
+This will keep embedding1 and embedding3 together, and embedding2 and embedding4 together, i.e.:
+
+```
+embedding1 and embedding3
+embedding2 and embedding4
+embedding1 and embedding3
+...
+```
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/docs/resources.md b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/docs/resources.md
new file mode 100644
index 0000000000000000000000000000000000000000..fb188b08e16234bcec46dc598b7204e564102aee
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/docs/resources.md
@@ -0,0 +1,110 @@
+Here is a list of various tutorials and other resources relevant to Dynamic Prompts
+
+# Online resources
+
+## Video tutorials
+
+### Chinese
+* 📽️ 2023-05-12 - [Ep07_HowTo-Dynamic Prompts Extension Tutorial | 動態提示詞 Extension教學 ](https://www.youtube.com/watch?v=10D2PXh-lak)
+* 📽️ 2023-05-07 - [Dynamic Prompts 動態提示詞 | 快速生成類似風格的插件 | A1111](https://www.youtube.com/watch?v=NNaYA6B8UXc)
+* 📽️ 2023-04-29 - [[AI教程]stable diffusion 大叔風格神器365種風格魔法書+動態提詞終極版dynamic-prompts讓你玩到停不下來。](https://www.youtube.com/watch?v=WGpoEdRnQeo)
+* 📽️ 2023-04-24 - [【ai绘画】 Dynamic Prompts 超强插件 prompt告别复制黏贴 一键生成N风格图片 提高绘图效率](https://www.youtube.com/watch?v=4HoHcq1tl1E)
+* 📽️ 2023-04-01 - [分享三個Stable Diffusion prompt的提示字管理小工具 ,從陽春版到進階版還有最終加強版。Ai繪圖stable diffusion教學。](https://www.youtube.com/watch?v=zHTeZxzJ314)
+
+### English
+* 📽️ 2023-07-23 - [Newly Released Invoke AI 3.0 Walkthrough](https://www.youtube.com/watch?v=1Iz4F7o6hgQ&t=414s)
+* 📽️ 2023-07-02 - [Unlock The Full Power Of Stable Diffusion with Wildcards & Dynamic Prompts!](https://www.youtube.com/watch?v=s-1L6MCVh-E)
+* 📽️ 2023-06-29 - [Create consistent characters with Stable diffusion!!](https://www.youtube.com/watch?v=iAhqMzgiHVw&t=585s)
+* 📽️ 2023-06-17 - [Discover the Essential A1111 Extensions for Stable Diffusion: Your Must-Have Toolkit!](https://www.youtube.com/watch?v=CWKVhWHVecg)
+* 📽️ 2023-05-22 - [Must Have Extensions for Stable Diffusion UI](https://www.youtube.com/watch?v=f8KUkWTaV_Q&t=117s)
+* 📽️ 2023-05-01 - [1000 Prompts in 1 Click - Dynamic Prompt Wildcards for Automatic 1111](https://www.youtube.com/watch?v=bQK5diN59NA)
+* 📽️ 2023-04-20 - [Dynamic prompts - Random by library](https://www.youtube.com/watch?v=YlqHsOYDthw)
+* 📽️ 2023-04-03 - [How to make dynamic prompts in Automatic1111 sd-dynamic-prompts [automatic1111 tutorial]](https://www.youtube.com/watch?v=aKY-8-kX6ug)
+* 📽️ 2023-03-10 - [Dynamic Prompt Tutorial: How to Create Multiple Art Variations with just 1 Prompt Stable Diffusion](https://www.youtube.com/watch?v=5wH7zioje4w)
+* 📽️ 2023-02-20 - [Experiment with Prompts FAST in Stable Diffusion](https://www.youtube.com/watch?v=5ZiL4iG0FJk)
+
+### German
+* 📽️ 2023-07-03 - [Dynamische Prompts erstellen durch Wildcards in Stable Diffusion A1111](https://www.youtube.com/watch?v=b5NDlgz6R_Q)
+
+### Japanese
+* 📽️ 2023-07-09 - [プロンプトをランダムにする(Dynamic prompt)【AIイラスト/stable diffusion】](https://www.youtube.com/watch?v=fa7VReQGe_4)
+* 📽️ 2023-06-20 - [【stable diffusion】プロンプトのランダム生成/Dynamic Prompts【AIイラスト】](https://www.youtube.com/watch?v=qx8mFQ7nknA)
+* 📽️ 2023-05-16 - [【Dynamic Prompts】ダウンロードとインストールの設定方法と特殊構文の使い方StableDiffusion WebUI/AUTOMATIC1111](https://www.youtube.com/watch?v=pv0_xLtqxPA)
+* 📽️ 2023-05-04 - [【凄すぎ!】ChatGPTとこのStable Diffusionの拡張機能を使えば呪文が自由自在【ワイルドカード】](https://www.youtube.com/watch?v=QoLdCxHyfS8)
+
+### Korean
+
+* 📽️ 2023-07-23 - [Learn more about wildcards! Random outfit! random place! random hair! (follow as it is)](https://www.youtube.com/watch?v=JyFmZ03pCvI)
+* 📽️ 2023-03-21 - [아무것도 생각 안 하고 그림 뽑는 방법 (stable diffusion Dynamic Prompts extension)](https://www.youtube.com/watch?v=P6Tl5sMUJpk)
+
+### Polish
+* 📽️ 2023-05-16 - [ChatGPT + StableDiffusion - Magia użycia DYNAMIC PROMPTS [PO POLSKU]](https://www.youtube.com/watch?v=OVO4Vhak1C0)
+
+### Portuguese
+* 📽️ 2023-08-08 - [Automatic 1111 - Stable Diffusion - 013 - Dynamic Prompts & Wild Cards](https://www.youtube.com/watch?v=qf_TebQ-MpY)
+
+### Russian
+* 📽️ 2023-05-05 - [Wildcards, dynamic prompts, autocompletion - лучшие генераторы подсказок.](https://www.youtube.com/watch?v=dh85QjoMW20)
+* 📽️ 2023-05-02 - [Как пользоваться Wildcards в Stable Diffusion: Dynamic Prompts и другие способы](https://www.youtube.com/watch?v=7rFzsOTF4bk)
+
+### Spanish
+* 📽️ 2023-05-23 - [STABLE DIFFUSION WILDCARDS | 1000 Prompts en 1Clic, Dynamic Prompt para Automatic 1111](https://www.youtube.com/watch?v=Krh3YBbpvf0)
+
+
+## Various tutorials
+* 2023-07-27 - [How to create wilder Wildcards and some prompt editing](https://civitai.com/articles/1250/how-to-create-wilder-wildcards-and-some-prompt-editing)
+* 2023-07-23 - [SD如何使用插件Dynamic Prompts(动态提示词)-第一期](https://www.aimoment.cc/9338.html)
+* 2023-07-19 - [Simple prompt organization with dynamic prompts (no dynamics needed)](https://civitai.com/articles/1247/simple-prompt-organization-with-dynamic-prompts-no-dynamics-needed)
+* 2023-07-01 - [Creating a randomized crowd with various expression through txt2img with adetailer + dynamic prompt extension](https://www.reddit.com/r/StableDiffusion/comments/14o4f26/creating_a_randomized_crowd_with_various/)
+* 2023-06-29 - [Endless (60's PINUP FANTASY) Character Generator ](https://civitai.com/articles/816/endless-60s-pinup-fantasy-character-generator-photoreal-dynamic-prompts-how-to)
+* 2023-06-02 - [A quick tip guide for dynamic prompts](https://civitai.com/articles/173/a-quick-tip-guide-for-dynamic-prompts)
+* 2023-05-13 - [80's-90's fantasy art character generator w/ dynamic prompt (DS&D)](https://www.reddit.com/r/StableDiffusion/comments/13g1g8p/80s90s_fantasy_art_character_generator_w_dynamic/)
+* 2023-05-07 - [The State of the Union - Fun with Dynamic Prompts](https://www.reddit.com/r/StableDiffusion/comments/13aas0i/the_state_of_the_union_fun_with_dynamic_prompts/)
+* 2023-05-05 - [How to use Dynamic Prompts for image diversity [Tutorial]](https://www.reddit.com/r/StableDiffusion/comments/1381nmu/how_to_use_dynamic_prompts_for_image_diversity/)
+* 2023-04-27 - [Dynamic nature scenery generator (dynamic prompt + upscaling)](https://www.reddit.com/r/StableDiffusion/comments/1313fn3/dynamic_nature_scenery_generator_dynamic_prompt/)
+* 2023-04-10 - [Mastering Stable Diffusion: Unleash the Power of Parameterized Templates](https://medium.com/@soapsudtycoon/mastering-stable-diffusion-unleash-the-power-of-parameterized-templates-a87992f212fa)
+* 2023-02-18 - [Having a blast with ControlNet + Dynamic Prompts (Wildcards)](https://www.reddit.com/r/StableDiffusion/comments/115t0pi/having_a_blast_with_controlnet_dynamic_prompts/)
+* 2023-02-09 - [Infinite Random RPG Character Portraits with Dynamic Prompts](https://www.reddit.com/r/StableDiffusion/comments/10xqwjm/i_come_bearing_gifts_infinite_random_rpg/)
+* 2023-01-27 - [Use ChatGPT to create powerful and useful wildcards with the Dynamic Prompts extension](https://www.reddit.com/r/StableDiffusion/comments/10m6b4a/use_chatgpt_to_create_powerful_and_useful/)
+* 2023-01-23 - [Dynamic Prompts and Jinja2 templates in Automatic 1111](https://www.reddit.com/r/StableDiffusion/comments/10jgmtk/dynamic_prompts_and_jinja2_templates_in_automatic/)
+* 2023-01-20 - [Testing Dynamic Prompts extension to mix and match elements](https://www.reddit.com/r/StableDiffusion/comments/10gkm1c/testing_dynamic_prompts_extension_to_mix_and/)
+* 2023-01-14 - [StableDiffusion - Dynamic Prompts Extension](https://www.artstation.com/blogs/kaddoura/qR0y/stablediffusion-dynamic-prompts-extension)
+* 2023-01-10 - [200 Character/outfit designs from a single prompt using Dynamic Prompts and Prompt Editing](https://www.reddit.com/r/StableDiffusion/comments/1080xyy/200_characteroutfit_designs_from_a_single_prompt/)
+* 2023-01-08 - [256 unique characters created with dynamic prompts ](https://www.reddit.com/r/StableDiffusion/comments/106hxm1/256_unique_characters_created_with_dynamic/)
+* 2022-12-02 - [Dynamic prompts for Automatic1111 is so incredibly powerful, these are all from the same prompt!](https://www.reddit.com/r/StableDiffusion/comments/zacjhk/dynamic_prompts_for_automatic1111_is_so/)
+* 2022-11-15 - [Stable Diffusion prompt engineering toolkit](https://medium.com/@soapsudtycoon/stable-diffusion-prompt-engineering-toolkit-8f48bc447dc1)
+* 2022-11-06 - [How to Turbocharge your prompts using AUTOMATIC1111 WebUI dynamic prompts extension](https://www.reddit.com/r/StableDiffusion/comments/ynztiz/how_to_turbocharge_your_prompts_using/)
+
+## Wildcard packs
+* [LulzRose/YetAnotherWildcardCollection](https://github.com/LulzRose/YetAnotherWildcardCollection/)
+* [[CivitAI] [PromptGeek Fantasy Character Wildcard](https://civitai.com/models/102762?modelVersionId=109978)
+* [[CivitAI] Clothes Wildcards](https://civitai.com/models/73184/clothes-wildcards)
+* [[CivitAI] Camera Views](https://civitai.com/models/24940/wildcards-camera-views)
+* [[CivitAI] CC's wildcards](https://civitai.com/models/63598/ccs-wildcards)
+* [[CivitAI] Post-apocalyptic Kit](https://civitai.com/models/70264/advanced-wildcards-post-apocalyptic-kit-or-or)
+* [[CivitAI] Men's clothing](https://civitai.com/models/102454/mens-clothing-wildcards)
+* [[CivitAI] Female Guerrila Fighter](https://civitai.com/models/75246/advanced-wildcards-female-guerilla-fighter-or-or)
+* [[CivitAI] Science Fiction Kit](https://civitai.com/models/70905/advanced-wildcards-science-fiction-kit-or-or)
+* [[CivitAI] Female Artisans Kit](https://civitai.com/models/91214/advanced-wildcards-female-artisans-kit-or-or)
+* [[CivitAI] WWII Female Soldier Kit](https://civitai.com/models/69537/advanced-wildcards-wwii-female-soldier-kit-or-wwii-or)
+* [[CivitAI] 1950s Kit](https://civitai.com/models/70930/advanced-wildcards-1950s-kit-or-1950-or-1950)
+* [[CivitAI] Cthulhutech](https://civitai.com/models/63834/cthulhutech-wildcards)
+* [[CivitAI] Knit wildcards](https://civitai.com/models/67253/knit-wildcards)
+* [[CivitAI] Hairstyles and colors](https://civitai.com/models/57442/hairstyles-and-color-wildcards-or)
+* [[CivitAI] Tar Master's Wildcards](https://civitai.com/models/19752/tar-masters-wildcards-video-game-main-leads)
+* [[CivitAI] A group of monsters](https://civitai.com/models/27002/wildcards-a-group-of-monsters)
+* [[CivitAI] Gonzo Wildcards](https://civitai.com/models/74636/gonzo-wildcards)
+* [[CivitAI] Female Celebrities](https://civitai.com/models/105519/wildcards-female-celebrities)
+* [[CivitAI] SDVN Wildcards](https://civitai.com/models/101753/sdvn-wildcards)
+* [[CivitAI] Supermarket Wildcards](https://civitai.com/models/103108/supermarket-wildcards)
+* [[CivitAI] Peaksel Wildcards](https://civitai.com/models/35011/peaksel-wildcards-add-variety-to-your-boring-subjects)
+* [Vetchems/sd-danbooru-tags](https://github.com/Vetchems/sd-danbooru-tags)
+* [aoirusann/my-sd-wildcard](https://github.com/aoirusann/my-sd-wildcard)
+* [SkyyySi/sd-dp-wildcards-collection](https://github.com/SkyyySi/sd-dp-wildcards-collection)
+
+## Prompts
+* [Full Feature Character Prompts - Fantasy](https://civitai.com/models/45448/full-feature-character-prompts-fantasy)
+* [Public Prompts Collection](https://github.com/adieyal/sd-dynamic-prompts/blob/main/collections/publicprompts.yaml)
+## Other extensions
+* [sd-webui-sendtonegative](https://github.com/acorderob/sd-webui-sendtonegative)
+* [ComfyUI custom nodes](https://github.com/adieyal/comfyui-dynamicprompts)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/docs/tutorial.md b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/docs/tutorial.md
new file mode 100644
index 0000000000000000000000000000000000000000..a31020e3cf5c83d3eba316bdb58e4a6fe82f5c7b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/docs/tutorial.md
@@ -0,0 +1,294 @@
+# Introduction
+
+Constructing good prompts for Stable Diffusion can be difficult, especially if you're trying to learn through trial and error. Dynamic Prompts is an extension for Automatic1111's webui that lets you test dozens or hundreds of prompts at the same time by making tweaks to your base prompt.
+
+Let's see how this works.
+
+# Installation
+You can easily install the extension directly from the Automatic1111 webui's extension tab.
+
+
+
+Once you have it installed, you will see a section on your txt2img tab that looks like this:
+
+
+
+You can see the various options by clicking on it:
+
+
+
+
+# Getting Started
+Suppose you want to create images of a diamond ring; you might start with something like:
+
+ A diamond ring on a gold band.
+
+
+
+## Variants
+
+What if we wanted an image of a platinum ring as well? We can use the Dynamic Prompts variant syntax, e.g.
+
+ A diamond ring set on a {gold|platinum} band.
+
+
+
+If we enter this into the prompts box with Dynamic Prompts installed, the generated prompt would be one of:
+
+ A diamond ring set on a gold band
+
+and
+
+ A diamond ring set on a platinum band
+
+## Nested variant
+
+Gold comes in various varieties, lets add those as well:
+
+ A diamond ring set on a {{rose|yellow|white} gold|platinum} band.
+
+
+
+Notice how we nested a variant for the type of gold, i.e., `{rose|yellow|white}` inside the main variant. So now, when generating an image, one of the following prompts is created:
+
+ A diamond ring set on a rose gold band
+ A diamond ring set on a yellow gold band
+ A diamond ring set on a white gold band
+ A diamond ring set on a platinum band
+
+Nesting variants can quickly make your prompt template hard to read. Luckily, Dynamic Prompts ignores whitespace so that we can change the prompt to:
+
+ A diamond ring set on a {
+ {rose|yellow|white} gold # you can also add comments
+ | platinum # which will be ignored by the DP parser
+ } band
+
+Of course, we're not limited to only one variant; we can add a little more variation like this:
+
+ A {diamond|ruby|emerald} ring set on a {classic|thin|thick}
+ {
+ {rose|yellow|white} gold
+ | platinum
+ }
+ band
+
+This template could produce any of these prompts:
+
+ A ruby ring set on a classic rose gold band
+ A emerald ring set on a thin platinum band
+ etc.
+
+
+That second prompt isn't grammatically correct, it doesn't matter to Stable Diffusion, but if you prefer correct grammar, you can write something like:
+
+ {A diamond|A ruby|An emerald} ring set on a {classic|thin|thick}
+ {
+ {rose|yellow|white} gold
+ | platinum
+ }
+ band
+
+
+### Here are the results for diamond rings:
+
+
+
+### Ruby rings:
+
+
+
+### Emerald rings:
+
+
+
+## Wildcards
+
+What if we had many gems that we would like to use in our rings? You can certainly add them as variants along with rubies and emeralds, but this may become cumbersome with many variants. In this case, we can use a wildcard.
+
+First, we create a file called gems.txt
+In it, we add one variant per line, e.g.
+
+```
+# gems.txt
+diamond
+ruby
+emerald
+...
+```
+
+We place this file inside the extension's wildcard folder. This can be found in extensions/sd-dynamic-prompts/wildcards
+
+Now our prompt changes to:
+
+ A __gems__ ring set on a {classic|thin|thick}
+ {
+ {rose|yellow|white} gold
+ | platinum
+ }
+ band
+
+`__gems__` is a wildcard and will act as a variant that uses every gem in gems.txt. Note the name of the wildcard is the same as the name of the file, i.e., gems.txt without the .txt at the end. We then add a double underscore `__` to the beginning and end of the wildcard.
+
+Neat!
+
+Wildcard files can use all the same syntax that we can use in our prompts. To demonstrate this, let's create a new file called precious_metals.txt. Inside we add:
+
+```
+# precious_metals.txt
+{rose|yellow|white} gold
+platinum
+silver
+```
+
+Move the file into the wildcards folder. Now our prompt looks like this:
+
+ A __gems__ ring set on a {classic|thin|thick} __precious_metals__ band
+
+## Combinatorial Generation
+
+By default, Dynamic Prompts generates random prompts from our template. Each prompt will choose a random gem, random band type, and random precious metal. Let's count the total number of possible rings our template can generate:
+
+ Assume we have ten different types of gems in our gems.txt file
+ Three band thicknesses
+ Three metals, although gold has three variants, so we actually have five metals.
+
+ The total number of potential prompts is 10 * 3 * 5 = 150 different prompts.
+
+What if we wanted to generate all of them? In that case, we change to combinatorial mode.
+
+
+
+## Wildcard Collection
+A well-designed wildcard collection can be used as building blocks for creating great prompts without having to reinvent the wheel every time. Dynamic Prompts provides an extensive library of wildcards that you can use wholesale or pick and choose files that you're interested in. You can see these collections in the Wildcards Manager tab. Of course, you can create your own wildcard files and place them in the wildcards directory.
+
+
+
+The most interesting wildcards are those related to art and artists. It's a great way to explore different styles. Wildcards are stored in a directory hierarchy. Click on a subject area to discover more specific wildcard files:
+
+
+
+You can copy any wildcard from here and use it in your prompts, e.g. `__artists/European Art/renaissance/italian_renaissance__`
+
+If you like to experiment with styles from multiple artists at the same time, try something like:
+
+ surfer in space, intricate detail, airbrush painting, illustration, by __artists/European Art/modern/pointilism__ and __artists/European Art/modern/american_impressionism__
+
+Here are some prompts that I get:
+
+ surfer in space, intricate detail, airbrush painting, illustration, by Vincent van Gogh and Daniel Garber
+
+ surfer in space, intricate detail, airbrush painting, illustration, by Maximilien Luce and Wilson Irvine
+
+ surfer in space, intricate detail, airbrush painting, illustration, by Jean Metzinger and John Elwood Bundy
+
+
+
+Dynamic Prompts has syntax to allow you to choose two artists together:
+
+ surfer in space, intricate detail, airbrush painting, illustration, by {2$$__artists/illustrations/childrens_books__}
+
+
+Some examples of prompts that are generated:
+
+ surfer in space, intricate detail, airbrush painting, illustration, by Todor Dinov,Ray Goossens
+
+ surfer in space, intricate detail, airbrush painting, illustration, by Emily Winfield Martin,Kitty Crowther
+
+ surfer in space, intricate detail, airbrush painting, illustration, by Fritz Wegner,Dawu Yu
+
+
+The default separator is a `,` - if you prefer to use `and` then change the prompt like this:
+
+ surfer in space, intricate detail, airbrush painting, illustration, by {2$$ and $$__artists/illustrations/childrens_books__}
+
+Note the spaces surrounding the `and`.
+
+You don't need to stop at 2; the combination syntax allows you to choose any number of artists. For four artists, you write it like this:
+
+ surfer in space, intricate detail, airbrush painting, illustration, by {4$$__artists/illustrations/childrens_books__}
+
+You can provide a range, e.g.
+
+ surfer in space, intricate detail, airbrush painting, illustration, by {2-4$$__artists/illustrations/childrens_books__}
+
+Here dynamic prompts will choose 2, 3, or 4 artists.
+
+# Tools for inspiration
+
+## Magic Prompts
+
+When you look at prompts that people post online, you will often notice several modifiers related to lighting, resolution, camera type etc. When you're starting out, you might feel overwhelmed by these modifiers. The magic prompt functionality is a fun way to add modifiers to your prompt automatically. You can experiment, but a good way to start is to use a simple prompt, e.g.
+
+ A mech-warrior in a post-apocalyptic setting.
+
+
+
+These images are a little plain. Let's jazz them up with Magic Prompts.
+
+
+
+Enable Magic Prompt and click generate. (Note, Magic Prompt uses a neural network to add these based on context. The first time you use it, Dynamic Prompts will need to download it, which may take some time depending on the speed of your Internet connection.)
+
+Here are some example prompts that I get when using Magic Prompt:
+
+ A mech-warrior in a post-apocalyptic setting. Digital illustration, Artstation. 8k resolution, Concept art, Detailed digital art
+
+ A mech-warrior in a post-apocalyptic setting. Detailed digital art by greg rutkowski, Thomas kinkade, Keith Parkinson, artstation, cgsociety, deviantart, 8k, HD
+
+ A mech-warrior in a post-apocalyptic setting. realistic shaded lighting poster by Ilya Kuvshinov katsuhiro, magali villeneuve, artgerm, Jeremy Lipkin and Michael Garmash, Rob Rey and Kentar� Miura style, trending on art station
+
+
+
+When I have a subject in mind but I'm not yet sure about how I want the final image to look, I usually play around with magic prompt until I find something I like. I then use the generated prompt and tune from there.
+
+## I'm feeling lucky
+
+Another way of getting inspiration is through the I'm feeling lucky function. Instead of using a neural network, I'm feeling lucky uses the search engine on [Lexica.art](http://lexica.art) to find prompts that match your input. Quality may vary, but it is also a fun way to explore the latent space.
+
+
+
+Using `mech-warrior` as my prompt, I get the following:
+
+ giant oversized battle robot mech in battle pose is giant baby on a village, wooden fence and tree remains in far background, hero pose, Cinematic focus, Polaroid photo, vintage, neutral colors, soft lights, foggy, natural mysterous intricate detailed grainy photo, by Steve Hanks, by Serov Valentin, by lisa yuskavage, by Andrei Tarkovsky
+
+ giant oversized battle robot mech as giant baby on a village, Cinematic focus, Polaroid photo, vintage, neutral colors, soft lights, foggy, by Steve Hanks, by Serov Valentin, by lisa yuskavage, by Andrei Tarkovsky
+
+ a detailed manga illustration character full body portrait of a dark haired cyborg anime man who has a red mechanical eye, trending on artstation, digital art, 4 k resolution, detailed, high quality, sharp focus, hq artwork, insane detail, concept art, character concept, character illustration, full body illustration, cinematic, dramatic lighting
+
+
+
+Two points are worth noting.
+
+Firstly, in contrast to Magic Prompt, I'm feeling lucky prompts don't necessary contain our search string. This is because Lexica performs a semantic search on its prompts database. This means the prompt should be relevant, even if the string doesn't match.
+
+Secondly, if you were to look for this prompt on the Lexica.art website, you wouldn't find the generated images. This is because you almost certainly used different settings than the person who originally crafted the prompt.
+
+## Attention grabber
+
+Another way of adding a touch of variation to your images to by changing emphasis of various terms in the prompt. Attention grabber randomly assigns emphasis to an existing prompt.
+
+Starting with a previous I'm feeling lucky prompt:
+
+ a detailed manga illustration character full body portrait of a dark haired cyborg anime man who has a red mechanical eye, trending on artstation, digital art, 4 k resolution, detailed, high quality, sharp focus, hq artwork, insane detail, concept art, character concept, character illustration, full body illustration, cinematic, dramatic lighting
+
+
+
+We add randomly add emphasis. For these images, I kept the seed constant so that you can see the impact of changing emphasis without changing any other settings.
+
+ a detailed manga illustration character full body portrait of a dark haired cyborg anime man who has a red mechanical eye, trending on artstation, digital art, 4 k resolution, detailed, high quality, sharp focus, hq artwork, insane detail, concept art, character concept, character illustration, (full body illustration:1.58), cinematic, dramatic lighting
+
+ a detailed manga illustration character full body portrait of a dark haired cyborg anime man who has a red mechanical eye, trending on artstation, digital art, 4 k resolution, detailed, high quality, sharp focus, hq artwork, insane detail, concept art, character concept, character illustration, (full body illustration:1.49), cinematic, dramatic lighting
+
+ a detailed manga illustration character full body portrait of a dark haired cyborg anime man who has a red mechanical eye, trending on artstation, digital art, 4 k resolution, detailed, high quality, sharp focus, hq artwork, insane detail, concept art, character concept, (character illustration:1.26), full body illustration, cinematic, dramatic lighting
+
+
+
+These changes are far more subtle and can be helpful if you want to explore slight changes to your image.
+
+# Conclusion
+
+This tutorial has covered the basics. There are additional features to try out once you feel comfortable using the tool. You can find a list of syntax examples [here](SYNTAX.md). This extension is constantly evolving, so make sure to update often. Feel free to ask questions [here](https://github.com/adieyal/sd-dynamic-prompts/discussions) and raise issues [here](https://github.com/adieyal/sd-dynamic-prompts/discussions).
+
+# For developers
+
+Dynamic Prompts was initially developed for Automatic1111. It has recently been split into two separate projects. The Auto1111 extension described here, and the core prompts toolkit which you can find at [https://github.com/adieyal/dynamicprompts](https://github.com/adieyal/dynamicprompts). Dynamic Prompts can be incorporated into your application or colab very easily. Here is an example of Dynamic Prompts being used in the [Deforum 0.7 Colab](https://colab.research.google.com/drive/1qtYHUwFl9ocLyzDRL1_MlpQluV32ndoT)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/helptext.html b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/helptext.html
new file mode 100644
index 0000000000000000000000000000000000000000..97b6905098031ddee322b9d7189a2120a216e0e3
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/helptext.html
@@ -0,0 +1,52 @@
+
+
Syntax cheatsheet
+
Tutorial
+
Discussions
+
Report a bug
+
+
+
Combinations
+
+ Choose a number of terms from a list, in this case we choose two artists:
+
{2$$$$artist1|artist2|artist3}
+
+ If $$$$ is not provided, then 1$$$$ is assumed.
+
+ If the chosen number of terms is greater than the available terms, then some terms will be duplicated, otherwise chosen terms will be unique. This is useful in the case of wildcards, e.g.
+
{2$$$$__artist__} is equivalent to
{2$$$$__artist__|__artist__}
+
+ A range can be provided:
+
{1-3$$$$artist1|artist2|artist3}
+ In this case, a random number of artists between 1 and 3 is chosen.
+
+ Options can be given weights:
+
{2::artist1|artist2}
+ In this case, artist1 will be chosen twice as often as artist2.
+
+ Wildcards can be used and the joiner can also be specified:
+
{{1-$$$$and$$$$__adjective__}}
+
+ Here, a random number between 1 and 3 words from adjective.txt will be chosen and joined together with the word 'and' instead of the default comma.
+
+
+
+
Wildcards
+ Find and manage wildcards in the Wildcards Manager tab.
+
+
+
+ You can add more wildcards by creating a text file with one term per line and name is mywildcards.txt. Place it in ${WILDCARD_DIR}.
__<folder>/mywildcards__ will then become available.
+
+
Variables
+ Set a variable like so:
+
$${season=!{summer|autumn|winter|spring}}
+
+ Now use it like this:
+
In $${season} I wear a $${season} shirt and $${season} trousers
+
+ For more details, and functionality, see the documentation (coming soon)
+
+ Find more settings on the
Settings tab
+
+ You are using
version ${VERSION} of the WebUI extension , and the underlying
dynamicprompts library is version ${LIB_VERSION} .
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/combinatorial_generation.png b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/combinatorial_generation.png
new file mode 100644
index 0000000000000000000000000000000000000000..6ae832c901e9fe880d5303990cdf21bda6d46d1e
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/combinatorial_generation.png differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/config_autopurge.png b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/config_autopurge.png
new file mode 100644
index 0000000000000000000000000000000000000000..27e26f725abac949bb51892e9463f10d4280ee23
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/config_autopurge.png differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/config_brackets.png b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/config_brackets.png
new file mode 100644
index 0000000000000000000000000000000000000000..4fccaf5f774af4a6c7b25e91e51932bb9c6f54e5
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/config_brackets.png differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/emphasis.png b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/emphasis.png
new file mode 100644
index 0000000000000000000000000000000000000000..2984a630827c5e3f3666fe2254bc70446c366e45
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/emphasis.png differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/extension.png b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/extension.png
new file mode 100644
index 0000000000000000000000000000000000000000..026aa4456654282250c36f31380c3d0c047559c4
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/extension.png differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/feeling-lucky.png b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/feeling-lucky.png
new file mode 100644
index 0000000000000000000000000000000000000000..84bf9fe8b263e6931f59c052682a4ee1c7cfe947
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/feeling-lucky.png differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/filmtypes.jpg b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/filmtypes.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..08c7dc2b0404572fa21dd194b838c619fb19bd3b
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/filmtypes.jpg differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/icon-changelog.png b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/icon-changelog.png
new file mode 100644
index 0000000000000000000000000000000000000000..36343fd99eace2a0d15e7c2e54128b9774d04c51
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/icon-changelog.png differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/icon-syntax.png b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/icon-syntax.png
new file mode 100644
index 0000000000000000000000000000000000000000..bf072b90eb98daaeab0f71812f0b0ca508500589
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/icon-syntax.png differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/icon-tutorial.png b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/icon-tutorial.png
new file mode 100644
index 0000000000000000000000000000000000000000..d925b08cfbf01044ecc20adeecb2b3b57e657923
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/icon-tutorial.png differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/installation.png b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/installation.png
new file mode 100644
index 0000000000000000000000000000000000000000..d88153586d2144a931538267e1b2d6f4e3b868f0
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/installation.png differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/jinja_templates.png b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/jinja_templates.png
new file mode 100644
index 0000000000000000000000000000000000000000..e038dcb868973bba3ab16c022ce5433ec53d84c8
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/jinja_templates.png differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/magic_prompt.png b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/magic_prompt.png
new file mode 100644
index 0000000000000000000000000000000000000000..88aa9d71c46c5cc3bbb9b8875c0196d503a98511
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/magic_prompt.png differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/prompt_editing.jpg b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/prompt_editing.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..d51639006c267f3a1fc39797ce1a4683dc67a41f
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/prompt_editing.jpg differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/artist_wildcards.png b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/artist_wildcards.png
new file mode 100644
index 0000000000000000000000000000000000000000..9cef0edd5123d83fd6dc72d288b104bde2ba7fab
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/artist_wildcards.png differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/attention-grabber.png b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/attention-grabber.png
new file mode 100644
index 0000000000000000000000000000000000000000..28d130942546b4d9fe2355c08fb848e9bcf6e4e5
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/attention-grabber.png differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/attention.png b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/attention.png
new file mode 100644
index 0000000000000000000000000000000000000000..b666cab47fa69a2f110bcef7561cab972e99aa45
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/attention.png differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/combinatorial.png b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/combinatorial.png
new file mode 100644
index 0000000000000000000000000000000000000000..22b8bcea06423bed2edad96410892f7364ed6959
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/combinatorial.png differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/install.png b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/install.png
new file mode 100644
index 0000000000000000000000000000000000000000..ea3a134cce265106081a6419d918d8b6201dd2ad
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/install.png differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/lucky-checkbox.png b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/lucky-checkbox.png
new file mode 100644
index 0000000000000000000000000000000000000000..b5673e6c3436cd809352d8e4c15fcb010ff3b5f6
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/lucky-checkbox.png differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/lucky.png b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/lucky.png
new file mode 100644
index 0000000000000000000000000000000000000000..a94fc006c4d57c77ed00043d553891172f0f7ead
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/lucky.png differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/magicprompt-mechwarrior.png b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/magicprompt-mechwarrior.png
new file mode 100644
index 0000000000000000000000000000000000000000..3d4ac2afc5abb0944437ae23e197e1188bb2e49e
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/magicprompt-mechwarrior.png differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/magicprompts.png b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/magicprompts.png
new file mode 100644
index 0000000000000000000000000000000000000000..5260679c666b096b633ce98ae4b7538b7e141ae3
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/magicprompts.png differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/mech.png b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/mech.png
new file mode 100644
index 0000000000000000000000000000000000000000..6ccc91b6d63293a65711fb209d555e5a9226a953
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/mech.png differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/platinum.png b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/platinum.png
new file mode 100644
index 0000000000000000000000000000000000000000..f3ef0d42712830cbf4e4b31e283f82a5b5e07950
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/platinum.png differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/prompt1.png b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/prompt1.png
new file mode 100644
index 0000000000000000000000000000000000000000..2873633e317d87d80f9d2698f9cc84564385e2aa
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/prompt1.png differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/prompt2.png b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/prompt2.png
new file mode 100644
index 0000000000000000000000000000000000000000..b6815351415cfbdc726ca93acb92547a45448255
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/prompt2.png differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/prompt3.png b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/prompt3.png
new file mode 100644
index 0000000000000000000000000000000000000000..51d603c3c0bd1230583350dcfed083b85f2715c9
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/prompt3.png differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/prompt4a.png b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/prompt4a.png
new file mode 100644
index 0000000000000000000000000000000000000000..af2d32471ec665d033a4a7138f641df1cbf0ed10
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/prompt4a.png differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/prompt4b.png b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/prompt4b.png
new file mode 100644
index 0000000000000000000000000000000000000000..07c4399fe0c6d65d8a37ae428987535016491421
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/prompt4b.png differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/prompt4c.png b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/prompt4c.png
new file mode 100644
index 0000000000000000000000000000000000000000..b735299c10016c14df650135259de3286a8128c5
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/prompt4c.png differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/surfer.png b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/surfer.png
new file mode 100644
index 0000000000000000000000000000000000000000..afbc6408632736993876e785976f90799db9d92f
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/surfer.png differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/ui-closed.png b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/ui-closed.png
new file mode 100644
index 0000000000000000000000000000000000000000..37eac659f8720328531718d40f5a1ccfa7aae3d5
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/ui-closed.png differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/ui-open.png b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/ui-open.png
new file mode 100644
index 0000000000000000000000000000000000000000..ebfa88b25f0b2189149d5fc5d939fd80255e6df8
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/ui-open.png differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/wildcard_manager.png b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/wildcard_manager.png
new file mode 100644
index 0000000000000000000000000000000000000000..56c6567adf15b351509b0119dd677bbcaa1f176f
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/tutorial/wildcard_manager.png differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/weighting-colours.png b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/weighting-colours.png
new file mode 100644
index 0000000000000000000000000000000000000000..fd29a81696efdab82dd83e7aca5b21f86243c26c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/weighting-colours.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:0c3e8ab9648f835894754313b3bba1e5b81d00e71617e9fd3b6012c23e31d5d6
+size 9968868
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/weighting-us-population.png b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/weighting-us-population.png
new file mode 100644
index 0000000000000000000000000000000000000000..9ad8258588b68c7713e894af37b99476ca9a9f23
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/weighting-us-population.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:5aeb00eb861db98c91700cfe36a3333c9d0b91d1c282224753d560a302c93eb1
+size 8697265
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/wildcard_settings.png b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/wildcard_settings.png
new file mode 100644
index 0000000000000000000000000000000000000000..6235e4c68da418e23ee3804b6150c56d04de1206
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/wildcard_settings.png differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/write_prompts.png b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/write_prompts.png
new file mode 100644
index 0000000000000000000000000000000000000000..a8452c88e3f0090a2e0fcc20effa277a2cc288fa
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/images/write_prompts.png differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/install.py b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/install.py
new file mode 100644
index 0000000000000000000000000000000000000000..f5ebeb00c444f4b7a01f5b5a85ff1b344a8111f5
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/install.py
@@ -0,0 +1,14 @@
+import os
+import sys
+
+if __name__ == "__main__":
+ try:
+ from sd_dynamic_prompts.version_tools import install_requirements
+ except ImportError:
+ # This patching shouldn't be necessary, but who knows... See issue #486.
+ extension_dir = os.path.dirname(os.path.abspath(__file__))
+ if extension_dir not in sys.path:
+ sys.path.insert(0, extension_dir)
+ from sd_dynamic_prompts.version_tools import install_requirements
+
+ install_requirements(force=("-f" in sys.argv))
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/javascript/dynamic_prompting.js b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/javascript/dynamic_prompting.js
new file mode 100644
index 0000000000000000000000000000000000000000..f5ce68d5cb5e11f3a6ed4e86bf2895f1e0fc293b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/javascript/dynamic_prompting.js
@@ -0,0 +1,323 @@
+/* global gradioApp, get_uiCurrentTabContent, onUiUpdate, onUiLoaded */
+// prettier-ignore
+const SDDP_HELP_TEXTS = {
+ "sddp-disable-negative-prompt": "Don't use prompt magic on negative prompts.",
+ "sddp-dynamic-prompts-enabled": "Complete documentation is available at https://github.com/adieyal/sd-dynamic-prompts. Please report any issues on GitHub.",
+ "sddp-is-attention-grabber": "Add emphasis to a randomly selected keyword in the prompt.",
+ "sddp-is-combinatorial": "Generate all possible prompt combinations.",
+ "sddp-is-feelinglucky": "Generate random prompts from lexica.art (your prompt is used as a search query).",
+ "sddp-is-fixed-seed": "Use the same seed for all prompts in this batch",
+ "sddp-is-magicprompt": "Automatically update your prompt with interesting modifiers. (Runs slowly the first time)",
+ "sddp-magic-prompt-model": "Note: Each model will download between 300mb and 1.4gb of data on first use.",
+ "sddp-no-image-generation": "Disable image generation. Useful if you only want to generate text prompts. (1 image will still be generated to keep Auto1111 happy.).",
+ "sddp-unlink-seed-from-prompt": "If this is set, then random prompts are generated, even if the seed is the same.",
+ "sddp-write-prompts": "Write all generated prompts to a file",
+ "sddp-write-raw-template": "Write template into image metadata.",
+};
+
+class SDDPTreeView {
+ /**
+ * @constructor
+ * @property {object} handlers The attached event handlers
+ * @property {object} data The JSON object that represents the tree structure
+ * @property {Element} node The DOM element to render the tree in
+ */
+ constructor(data, node) {
+ this.handlers = {};
+ this.node = node;
+ this.data = data;
+ this.render();
+ }
+
+ /**
+ * Renders the tree view in the DOM
+ */
+ render = () => {
+ const container = this.node;
+ container.innerHTML = "";
+ this.data.forEach((item) => container.appendChild(this.renderNode(item)));
+ [...container.querySelectorAll(".tree-leaf-text,.tree-expando")].forEach(
+ (node) => node.addEventListener("click", this.handleClickEvent),
+ );
+ };
+
+ renderNode = (item) => {
+ const leaf = document.createElement("div");
+ const content = document.createElement("div");
+ const text = document.createElement("div");
+ const expando = document.createElement("div");
+ leaf.setAttribute("class", "tree-leaf");
+ content.setAttribute("class", "tree-leaf-content");
+ text.setAttribute("class", "tree-leaf-text");
+ const { children, name, expanded } = item;
+ text.textContent = name;
+ expando.setAttribute("class", `tree-expando ${expanded ? "expanded" : ""}`);
+ expando.textContent = expanded ? "-" : "+";
+ content.appendChild(expando);
+ content.appendChild(text);
+ leaf.appendChild(content);
+ if (children?.length > 0) {
+ const childrenDiv = document.createElement("div");
+ childrenDiv.setAttribute("class", "tree-child-leaves");
+ children.forEach((child) => {
+ childrenDiv.appendChild(this.renderNode(child));
+ });
+ if (!expanded) {
+ childrenDiv.classList.add("hidden");
+ }
+ leaf.appendChild(childrenDiv);
+ } else {
+ expando.classList.add("hidden");
+ content.setAttribute("data-item", JSON.stringify(item));
+ }
+ return leaf;
+ };
+
+ handleClickEvent = (event) => {
+ const parent = (event.target || event.currentTarget).parentNode;
+ const leaves = parent.parentNode.querySelector(".tree-child-leaves");
+ if (leaves) {
+ this.setSubtreeVisibility(
+ parent,
+ leaves,
+ leaves.classList.contains("hidden"),
+ );
+ } else {
+ this.emit("select", {
+ target: event,
+ data: JSON.parse(parent.getAttribute("data-item")),
+ });
+ }
+ };
+
+ /**
+ * Expands/collapses by the expando or the leaf text
+ * @param {Element} node The parent node that contains the leaves
+ * @param {Element} leaves The leaves wrapper element
+ * @param {boolean} visible Expand or collapse?
+ * @param {boolean} skipEmit Skip emitting the event?
+ */
+ setSubtreeVisibility(node, leaves, visible, skipEmit = false) {
+ leaves.classList.toggle("hidden", !visible);
+ node.querySelector(".tree-expando").textContent = visible ? "+" : "-";
+ if (skipEmit) {
+ return;
+ }
+ this.emit(visible ? "expand" : "collapse", {
+ target: node,
+ leaves,
+ });
+ }
+
+ on(name, callback, context = null) {
+ const handlers = this.handlers[name] || [];
+ handlers.push({ callback, context });
+ this.handlers[name] = handlers;
+ }
+
+ off(name, callback) {
+ this.handlers[name] = (this.handlers[name] || []).filter(
+ (handle) => handle.callback !== callback,
+ );
+ }
+
+ emit(name, ...args) {
+ (this.handlers[name] || []).forEach((handle) => {
+ window.setTimeout(() => {
+ handle.callback.apply(handle.context, args);
+ }, 0);
+ });
+ }
+}
+
+class SDDP_UI {
+ constructor() {
+ this.helpTextsConfigured = false;
+ this.wildcardsLoaded = false;
+ this.searchKeyConfigured = false;
+ this.messageReadTimer = null;
+ this.lastMessage = null;
+ this.treeView = null;
+ this.treeContent = null;
+ this.treeFilter = null;
+ }
+
+ configureHelpTexts() {
+ if (this.helpTextsConfigured) {
+ return;
+ }
+ // eslint-disable-next-line guard-for-in,no-restricted-syntax
+ for (const elemId in SDDP_HELP_TEXTS) {
+ const elem = gradioApp().getElementById(elemId);
+ if (elem) {
+ elem.setAttribute("title", SDDP_HELP_TEXTS[elemId]);
+ } else {
+ return; // Didn't find all elements...
+ }
+ }
+ this.helpTextsConfigured = true;
+ }
+
+ getInboxMessageText() {
+ return gradioApp().querySelector(
+ "#sddp-wildcard-s2c-message-textbox textarea",
+ )?.value;
+ }
+
+ formatPayload(payload) {
+ return JSON.stringify({ ...payload, id: Math.floor(+new Date()) }, null, 2);
+ }
+
+ sendAction(payload) {
+ const outbox = gradioApp().querySelector(
+ "#sddp-wildcard-c2s-message-textbox textarea",
+ );
+ outbox.value = this.formatPayload(payload);
+ // See https://github.com/AUTOMATIC1111/stable-diffusion-webui/commit/38b7186e6e3a4dffc93225308b822f0dae43a47d
+ window.updateInput?.(outbox);
+ gradioApp().querySelector("#sddp-wildcard-c2s-action-button").click();
+ }
+
+ requestWildcardTree() {
+ gradioApp().querySelector("#sddp-wildcard-load-tree-button")?.click();
+ }
+
+ doReadMessage() {
+ const messageText = this.getInboxMessageText();
+ if (!messageText || this.lastMessage === messageText) {
+ return;
+ }
+ this.lastMessage = messageText;
+ const message = JSON.parse(messageText);
+ const { action, success } = message;
+ if (action === "load tree" && success) {
+ this.treeContent = message.tree;
+ this.setupTree();
+ } else if (action === "load file" && success) {
+ this.loadFileIntoEditor(message);
+ } else {
+ console.warn("SDDP: Unknown message", message);
+ }
+ }
+
+ setupTree() {
+ let { treeView } = this;
+ const { treeContent: content, treeFilter: filter } = this;
+ if (!content) {
+ // Not loaded yet? E.g. user searches before
+ return;
+ }
+ const filteredContent = this.filterTreeContent(content, filter);
+ if (!this.treeView) {
+ const treeDiv = gradioApp().querySelector("#sddp-wildcard-tree");
+ if (treeDiv) {
+ treeView = new SDDPTreeView(filteredContent, treeDiv);
+ treeView.on("select", this.onSelectNode.bind(this), null);
+ this.treeView = treeView;
+ }
+ } else {
+ treeView.data = filteredContent;
+ treeView.render();
+ }
+ }
+
+ onSelectNode(node) {
+ if (node.data?.name) {
+ this.sendAction({
+ action: "load file",
+ name: node.data.name,
+ });
+ }
+ }
+
+ loadFileIntoEditor(message) {
+ const editor = gradioApp().querySelector(
+ "#sddp-wildcard-file-editor textarea",
+ );
+ const name = gradioApp().querySelector("#sddp-wildcard-file-name textarea");
+ const saveButton = gradioApp().querySelector("#sddp-wildcard-save-button");
+ const { contents, wrapped_name: wrappedName, can_edit: canEdit } = message;
+ editor.value = contents;
+ name.value = wrappedName;
+ editor.readOnly = !canEdit;
+ saveButton.disabled = !canEdit;
+
+ // See https://github.com/AUTOMATIC1111/stable-diffusion-webui/commit/38b7186e6e3a4dffc93225308b822f0dae43a47d
+ window.updateInput?.(editor);
+ window.updateInput?.(name);
+ }
+
+ onWildcardManagerTabActivate() {
+ if (!this.wildcardsLoaded) {
+ this.requestWildcardTree();
+ this.wildcardsLoaded = true;
+ }
+ if (!this.messageReadTimer) {
+ this.messageReadTimer = setInterval(this.doReadMessage.bind(this), 120);
+ }
+ if (!this.searchKeyConfigured) {
+ gradioApp()
+ .querySelector("#sddp-wildcard-search textarea")
+ ?.addEventListener("input", (event) => {
+ this.treeFilter = event.target.value?.trim() || null;
+ this.setupTree();
+ });
+ this.searchKeyConfigured = true;
+ }
+ }
+
+ onDeleteTreeClick() {
+ // eslint-disable-next-line no-restricted-globals,no-alert
+ const sure = confirm("Are you sure you want to delete all your wildcards?");
+ return this.formatPayload({ action: "delete tree", sure });
+ }
+
+ onSaveFileClick() {
+ const json = JSON.parse(this.getInboxMessageText());
+ const contents = gradioApp().querySelector(
+ "#sddp-wildcard-file-editor textarea",
+ ).value;
+ return this.formatPayload({
+ action: "save wildcard",
+ wildcard: json,
+ contents,
+ });
+ }
+
+ filterTreeContent = (content, filter) => {
+ if (!filter?.length) {
+ return content;
+ }
+ filter = filter.toLowerCase();
+
+ const filteredContent = [];
+ function walk(node) {
+ if (node.children?.length) {
+ node.children.forEach(walk);
+ } else if (node.name?.toLowerCase().includes(filter)) {
+ filteredContent.push(node);
+ }
+ }
+ content.forEach(walk);
+ return filteredContent;
+ };
+}
+
+const SDDP = new SDDP_UI();
+window.SDDP = SDDP;
+
+(
+ window.onAfterUiUpdate || // sd-webui 1.3.0+
+ window.onUiUpdate
+)(() => {
+ SDDP.configureHelpTexts();
+ // Work around a bug in get_uiCurrentTabContent() and nested tabs
+ // (can be replaced with get_uiCurrentTabContent() if
+ // https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/10863 is merged)
+ const currentVisibleTopLevelTab = gradioApp().querySelector(
+ '#tabs > .tabitem[id^=tab_]:not([style*="display: none"])',
+ );
+ if (currentVisibleTopLevelTab?.id === "tab_sddp-wildcard-manager") {
+ SDDP.onWildcardManagerTabActivate();
+ }
+});
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/javascript/dynamic_prompting_hints.js b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/javascript/dynamic_prompting_hints.js
new file mode 100644
index 0000000000000000000000000000000000000000..586445ebc6ec446c2279190c3b106273371828dc
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/javascript/dynamic_prompting_hints.js
@@ -0,0 +1,61 @@
+/* global titles:true */
+// Mouseover tooltips for various UI elements.
+// `titles` is already defined by A1111, so we just merge into it...
+titles = {
+ ...titles,
+ "Dynamic Prompts enabled": "Disable dynamic prompts by unchecking this box.",
+
+ "Combinatorial generation": `
+Instead of generating random prompts from a template, combinatorial generation produces every possible prompt from the given string.
+The prompt 'I {love|hate} {New York|Chicago} in {June|July|August}' will produce 12 variants in total.
+
+The value of the 'Seed' field is only used for the first image. To change this, look for 'Fixed seed' in the 'Advanced options' section.`.trim(),
+
+ "Max generations (0 = all combinations - the batch count value is ignored)": `
+Limit the maximum number of prompts generated. 0 (default) will generate all images. Useful to prevent an unexpected combinatorial explosion.
+`.trim(),
+
+ "Combinatorial batches": `Re-run your combinatorial batch this many times with a different seed each time.`,
+
+ "Magic prompt": `
+Magic Prompt adds interesting modifiers to your prompt for a little bit of extra spice.
+The first time you use it, the MagicPrompt model is downloaded so be patient.
+If you're running low on VRAM, you might get a CUDA error.`.trim(),
+
+ "Max magic prompt length":
+ "Controls the maximum length in tokens of the generated prompt.",
+ "Magic prompt creativity":
+ "Adjusts the generated prompt. You will need to experiment with this setting.",
+ "Magic Prompt batch size":
+ "The number of prompts to generate per batch. Increasing this can speed up prompt generation at the expense of slightly increased VRAM usage.",
+
+ "I'm feeling lucky": `
+Uses the lexica.art API to create random prompts.
+The prompt in the main prompt box is used as a search string.
+Leaving the prompt box blank returns a list of completely randomly chosen prompts.
+Try it out, it can be quite fun.
+`.trim(),
+
+ "Attention grabber": `Randomly selects a keyword from the prompt and adds emphasis to it. Try this with Fixed Seed enabled.`,
+
+ "Write prompts to file": `
+The generated file is a slugified version of the prompt and can be found in the same directory as the generated images.
+E.g. in ./outputs/txt2img-images/.`.trim(),
+
+ "Don't generate images":
+ "Be sure to check the 'Write prompts to file' checkbox if you don't want to lose the generated prompts. Note, one image is still generated.",
+ "Enable Jinja2 templates":
+ "Jinja2 templates are an expressive alternative to the standard syntax. See the Help section below for instructions.",
+ "Unlink seed from prompt":
+ "Check this if you want to generate random prompts, even if your seed is fixed",
+ "Don't apply to negative prompts":
+ "Don't use prompt magic on negative prompts.",
+
+ "Fixed seed": `
+Select this if you want to use the same seed for every generated image.
+This is useful if you want to test prompt variations while using the same seed.
+If there are no wildcards then all the images will be identical.
+`.trim(),
+ "Write raw prompt to image":
+ "Write the prompt template into the image metadata",
+};
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/jinja2.md b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/jinja2.md
new file mode 100644
index 0000000000000000000000000000000000000000..d0c7fdf2677981e7e7c8142c45c5c8773ff9b78e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/jinja2.md
@@ -0,0 +1,306 @@
+# Jinja2 templates
+The Jinja2 feature enable you to write prompts using an expressive templating language. This is an advanced feature and is only recommended for users who are comfortable writing scripts.
+
+To enable the feature, open the advanced accordion and select __Enable Jinja2 templates__.
+
+
+Update: In addition to the guide below, make sure to read this [excellent tutorial](https://www.reddit.com/r/StableDiffusion/comments/10jgmtk/dynamic_prompts_and_jinja2_templates_in_automatic/) by @cbterry on Reddit.
+
+## Quick Start
+
+Here are some examples of what you can do with Jinja2 templates
+
+### Literals
+Literal strings work as expected:
+
+```jinja2
+I love red roses
+```
+
+### Random choices
+Similar to the standard `{A|B|C}` syntax
+
+```jinja2
+I love {{ choice('red', 'blue', 'green') }} roses
+```
+
+This will create one prompt and randomly choose one of the three colors.
+
+### [Iterations](https://jinja.palletsprojects.com/en/3.1.x/templates/#for)
+
+```jinja2
+{% for colour in ['red', 'blue', 'green'] %}
+ {% prompt %}I love {{ colour }} roses{% endprompt %}
+{% endfor %}
+```
+
+This will produce three prompts, one for each color. The prompt tag is used to mark the text that will be used as the prompt. If no prompt tag is present then only one prompt is assumed
+
+### Wildcards
+Similar to the standard wildcard syntax
+
+```jinja2
+{% for colour in wildcard("__colours__") %}
+ {% prompt %}I love {{ colour }} roses{% endprompt %}
+{% endfor %}
+```
+
+This will produce one prompt for each colour in the wildcard.txt file.
+
+### [Conditionals](https://jinja.palletsprojects.com/en/3.1.x/templates/#if)
+
+```jinja2
+{% for colour in ["red", "blue", "green"] %}
+ {% if colour == "red" %}
+ {% prompt %}I love {{ colour }} roses{% endprompt %}
+ {% else %}
+ {% prompt %}I hate {{ colour }} roses{% endprompt %}
+ {% endif %}
+{% endfor %}
+```
+
+This will produce the following prompts:
+* I love red roses
+* I hate blue roses
+* I hate green roses
+
+These are trivial examples but the Jinja2 template language is very expressive. You can use it to develop sophisticated prompt templates. For more information see the Jinja2 documentation. .
+
+### [Setting variables](https://jinja.palletsprojects.com/en/3.1.x/templates/#with-statement)
+You can create a variable for further re-use, e.g.
+
+```jinja2
+{% with careers = ['doctor', 'lawyer', 'accountant'] %}
+ {% for career1 in careers %}
+ {% for career2 in careers %}
+ {% if career1 != career2 %}
+ {% prompt %}professional digital airbrush art of A {{ career1 }} and {{ career2 }}{% endprompt %}
+ {% endif %}
+ {% endfor %}
+ {% endfor %}
+{% endwith %}
+```
+
+the careers array is now avaible inside the {% with %} ... {% endwith %} block.
+
+### Additional functions
+
+#### Random
+
+```jinja2
+This is a random number: {{ random() }}
+```
+
+e.g. This is a random number: 0.694942884614521
+
+### Random Integer
+
+```jinja2
+My favourite number is {{ randint(1, 10) }}
+```
+
+e.g. My favourite number is 6
+
+### [Range](https://jinja.palletsprojects.com/en/3.1.x/templates/#jinja-globals.range)
+Return a list containing an arithmetic progression of integers.
+
+```jinja2
+{% for i in range(10) %}{{ i }}{% endfor %}
+```
+
+Returns
+`0123456789`
+
+You can specify a start and stop
+
+```jinja2
+{% for i in range(5,9) %}{{ i }}{% endfor %}
+```
+
+Returns
+`5678`
+
+Finally, you can provide an optional step:
+
+```jinja2
+{% for i in range(0,10, 2) %}{{ i }}{% endfor %}
+```
+
+Returns
+`02468`
+
+### Weighted selection
+
+```jinja2
+My favourite colour is {{ weighted_choice(("pink", 0.2), ("yellow", 0.3), ("black", 0.4), ("purple", 0.1)) }}
+```
+
+Will select one of the colours according to their weight, i.e. pink 20% of the time, yellow 30% of the time, etc
+
+### Permutations
+
+Generate all the possible permutations of elements in a list
+
+```jinja
+{% for val in permutations(["red", "green", "blue"], 2) %}
+ {% prompt %}My favourite colours are {{ val|join(' and ') }}{% endprompt %}
+{% endfor %}
+```
+
+My favourite colours are red and green
+My favourite colours are red and blue
+My favourite colours are green and red
+My favourite colours are green and blue
+My favourite colours are blue and red
+My favourite colours are blue and green
+
+### Random Sample
+
+`random_sample` is identical to using Dynamic Prompts in the standard random mode.
+
+```jinja
+{% for i in range(5) %}
+ {% prompt %}{{ random_sample("A {red|green|blue} {square|circle}") }} {% endprompt %}
+{% endfor %}
+```
+
+* A blue square
+* A green square
+* A green circle
+* A green circle
+* A blue circle
+
+### Combinations
+`all_combinations` is identical to using combinatorial model
+
+```jinja2
+{% for prompt in all_combinations("A {red|green|blue} {square|circle}") %}
+ {% prompt %}{{ prompt }}{% endprompt %}
+{% endfor %}
+
+```
+
+* A red square
+* A red circle
+* A green square
+* A green circle
+* A blue square
+* A blue circle
+
+
+## [Filters](https://jinja.palletsprojects.com/en/3.1.x/templates/#filters)
+Variables can be modified by filters. Filters are separated from the variable by a pipe symbol (`|`) and may have optional arguments in parentheses. Multiple filters can be chained. The output of one filter is applied to the next.
+
+Here are a few useful filters:
+### [Join](https://jinja.palletsprojects.com/en/3.1.x/templates/#jinja-filters.join)
+
+```jinja2
+{% with colours = ['red', 'blue', 'green'] %}
+ {{ colours|join(' and ') }}
+{% endwith %}
+```
+
+This joins an array with a separator, in this case: `red and blue and green`
+
+### [Length](https://jinja.palletsprojects.com/en/3.1.x/templates/#jinja-filters.length)
+```jinja2
+{% with colours = ['red', 'blue', 'green'] %}
+ There are {{ colours|length }} colours in the array
+{% endwith %}
+```
+
+Returns the number of elements in an array
+
+### [Replace](https://jinja.palletsprojects.com/en/3.1.x/templates/#jinja-filters.replace)
+```jinja2
+{{ 'some_string'|replace('_', '-') }}
+```
+
+Replaces `_` with `-` and returns `some-string`
+
+
+### [Sort](https://jinja.palletsprojects.com/en/3.1.x/templates/#jinja-filters.sort)
+
+```jinja2
+{% with colours = ['red', 'blue', 'green'] %}
+ {{ colours|sort|join(' and ') }}
+{% endwith %}
+```
+
+Does what it say on the box, it sorts elements of an array: `blue and green and red`
+
+You can find more fitlers [here](https://jinja.palletsprojects.com/en/3.1.x/templates/#jinja-filters).
+
+
+## Batch count
+
+Note: Batch count works differently when using Jinja2 templates. If you set __Batch count__ to 1 and __Batch size__ to 1 and use this prompt:
+```jinja2
+{% for colour in ['blue', 'red', 'green'] %}
+ {% prompt %}I love {{ colour }} roses{% endprompt %}
+{% endfor %}
+```
+
+You will produce 3 images. This is due to the fact that {% prompt %}...{% endprompt %} creates one prompt for each colour. If you set __Batch count__ to 2, 6 images will be created. The __Combinatorial batches__ slider is also ignored since you can achieve the same effect as above by creating mulitple prompts in your template and then increasing __Batch count__.
+
+## Environment variables
+You can use the following variables in your templates:
+
+ model.filename
+ model.title
+ model.hash
+ model.model_name
+ image.width
+ image.height
+ parameters.steps
+ parameters.batch_size
+ parameters.num_batches
+ parameters.width
+ parameters.height
+ parameters.cfg_scale
+ parameters.sampler_name
+ parameters.seed
+ prompt.prompt
+ prompt.negative_prompt
+
+
+If you are using these templates, please let me know if they are useful.
+
+## Cookbook
+
+### Conditional Rendering
+Render different prompts determined by a variable
+
+```jinja2
+{% with season = choice("winter", "summer") %}
+ {% set dress_color = "blue" if season == "winter" else "red" %}
+ A fashion model wearing a {{ dress_color }} dress
+{% endwith %}
+```
+
+### [Prompt Editing](https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Features#prompt-editing)
+
+```jinja2
+{% for i in range(11) %}
+ {% prompt %}[dog:cat:{{ i/10 }}]{% endprompt %}
+{% endfor %}
+```
+
+Using Automatic1111's prompt editing feature, these prompts are generated:
+```
+[dog:cat:0]
+[dog:cat:0.1]
+[dog:cat:0.2]
+[dog:cat:0.3]
+[dog:cat:0.4]
+[dog:cat:0.5]
+[dog:cat:0.6]
+[dog:cat:0.7]
+[dog:cat:0.8]
+[dog:cat:0.9]
+[dog:cat:1]
+```
+
+Automatic1111 will render with dog for the first x% of steps, and then switch to using cat.
+
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/jinja_help.html b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/jinja_help.html
new file mode 100644
index 0000000000000000000000000000000000000000..036a93f1f0b7a1c42e407e6c55057b905cfa2e54
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/jinja_help.html
@@ -0,0 +1,57 @@
+
+ Jinja2 templates is an experimental feature for advanced template generation. It is not recommended for general use unless you are comfortable with writing scripts.
+
+
Literals
+
+ I love red roses
+
+
+
Random choices
+
+ I love {{ choice('red', 'blue', 'green') }} roses
+
+ This will randomly choose one of the three colors.
+
+
Iterations
+
+
+ {% for colour in ['red', 'blue', 'green'] %}
+ {% prompt %}I love {{ colour }} roses{% endprompt %}
+ {% endfor %}
+
+
+ This will produce three prompts, one for each color. The prompt tag is used to mark the text that will be used as the prompt. If no prompt tag is present then only one prompt is assumed
+
+
Wildcards
+
+
+ {% for colour in wildcard("__colours__") %}
+ {% prompt %}I love {{ colour }} roses{% endprompt %}
+ {% endfor %}
+
+
+ This will produce one prompt for each colour in the wildcard.txt file.
+
+
Conditionals
+
+
+ {% for colour in ["red", "blue", "green"] %}
+ {% if colour == "red" %}
+ {% prompt %}I love {{ colour }} roses{% endprompt %}
+ {% else %}
+ {% prompt %}I hate {{ colour }} roses{% endprompt %}
+ {% endif %}
+ {% endfor %}
+
+
+ This will produce the following prompts:
+
+ I love red roses
+ I hate blue roses
+ I hate green roses
+
+
+ Jinja2 templates are based on the Jinja2 template engine. For more information see the
Jinja2 documentation. .
+
+ If you are using these templates, please let me know if they are useful.
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/package.json b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/package.json
new file mode 100644
index 0000000000000000000000000000000000000000..90659e2d86ee393142e3b2e5e050fb4039eb8ac1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/package.json
@@ -0,0 +1,16 @@
+{
+ "devDependencies": {
+ "eslint": "^8.2.0",
+ "eslint-config-airbnb-base": "^15.0.0",
+ "eslint-config-prettier": "^8.8.0",
+ "eslint-plugin-import": "^2.25.2",
+ "eslint-plugin-prettier": "^4.2.1",
+ "prettier": "^2.8.7"
+ },
+ "scripts": {
+ "lint": "eslint . --ext .js"
+ },
+ "prettier": {
+ "trailingComma": "all"
+ }
+}
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/pyproject.toml b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/pyproject.toml
new file mode 100644
index 0000000000000000000000000000000000000000..c13591bcb13532cfab0544b338d8d84ef3bfbce2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/pyproject.toml
@@ -0,0 +1,49 @@
+[project]
+dependencies = [
+ "send2trash~=1.8",
+ "dynamicprompts[attentiongrabber,magicprompt]~=0.29.0",
+]
+
+[tool.pytest.ini_options]
+minversion = "7.0"
+pythonpath = [
+ ".",
+]
+addopts = "--ignore=collections"
+markers = [
+ "slow"
+]
+
+[tool.ruff]
+target-version = "py310"
+select = [
+ "B",
+ "C",
+ "COM",
+ "E",
+ "F",
+ "I",
+ "UP",
+]
+ignore = [
+ "C901", # Complexity
+ "E501", # Line length
+ "B905", # zip(..., strict=True)
+]
+unfixable = [
+ "B007", # Loop control variable not used within the loop body
+]
+
+[tool.coverage.run]
+branch = true
+omit = [
+ "install.py"
+]
+
+[tool.coverage.report]
+exclude_lines = [
+ "pragma: no cover",
+ "raise NotImplementedError",
+ "if TYPE_CHECKING:",
+ "if __name__ == .__main__.:",
+]
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/scripts/__pycache__/dynamic_prompting.cpython-310.pyc b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/scripts/__pycache__/dynamic_prompting.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..b2cf1e59d90b142985d1657a70a1f6a1ed6850da
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/scripts/__pycache__/dynamic_prompting.cpython-310.pyc differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/scripts/dynamic_prompting.py b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/scripts/dynamic_prompting.py
new file mode 100644
index 0000000000000000000000000000000000000000..90bf559705d5c095bd703707108d89b4092901c2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/scripts/dynamic_prompting.py
@@ -0,0 +1,5 @@
+# Automatic1111 entry point.
+
+from sd_dynamic_prompts.dynamic_prompting import Script
+
+__all__ = ["Script"]
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/.python-version b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/.python-version
new file mode 100644
index 0000000000000000000000000000000000000000..475ba515c04b5b7cf67a1517430691febc39a32e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/.python-version
@@ -0,0 +1 @@
+3.7
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..f6d2b7c983c6e2049f6c6c895e3d3fd8e6cdb997
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/__init__.py
@@ -0,0 +1 @@
+__version__ = "2.16.3"
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/__pycache__/__init__.cpython-310.pyc b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/__pycache__/__init__.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..6df2d2bd19391b31f36fa9af5084df3d7a86bd75
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/__pycache__/__init__.cpython-310.pyc differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/__pycache__/callbacks.cpython-310.pyc b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/__pycache__/callbacks.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..3faafd1daa3788f84a545571cb2eca7a40646ec3
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/__pycache__/callbacks.cpython-310.pyc differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/__pycache__/dynamic_prompting.cpython-310.pyc b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/__pycache__/dynamic_prompting.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..a339f79608e57ab9b58c8e2a91c3135f96fd0fdf
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/__pycache__/dynamic_prompting.cpython-310.pyc differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/__pycache__/element_ids.cpython-310.pyc b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/__pycache__/element_ids.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..cb2d6487599c06385721e1811684ea18179b2877
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/__pycache__/element_ids.cpython-310.pyc differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/__pycache__/frozenprompt_generator.cpython-310.pyc b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/__pycache__/frozenprompt_generator.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..fd22a723f6717ac9a7b12f7fcc7d5551b0fc8116
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/__pycache__/frozenprompt_generator.cpython-310.pyc differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/__pycache__/generator_builder.cpython-310.pyc b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/__pycache__/generator_builder.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..e98dc089a283b3c6901b4465d2f0ce2be2ab8488
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/__pycache__/generator_builder.cpython-310.pyc differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/__pycache__/helpers.cpython-310.pyc b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/__pycache__/helpers.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..019555f765aa98a0c7bd9faa40a4b26d9ec0fb34
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/__pycache__/helpers.cpython-310.pyc differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/__pycache__/paths.cpython-310.pyc b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/__pycache__/paths.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..3b68b38a8e91e14da53c800cdab66cbd5962ad5d
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/__pycache__/paths.cpython-310.pyc differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/__pycache__/pnginfo_saver.cpython-310.pyc b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/__pycache__/pnginfo_saver.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..325c89dd3431d9979a3b3ea81f8db6ae016dd0b7
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/__pycache__/pnginfo_saver.cpython-310.pyc differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/__pycache__/prompt_writer.cpython-310.pyc b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/__pycache__/prompt_writer.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..b32d100e47743a10a395c3e68a15dcc232cadb7f
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/__pycache__/prompt_writer.cpython-310.pyc differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/__pycache__/settings.cpython-310.pyc b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/__pycache__/settings.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..417b09812678c1fc53d8c2348dd2dc3b97caf746
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/__pycache__/settings.cpython-310.pyc differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/__pycache__/version_tools.cpython-310.pyc b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/__pycache__/version_tools.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..3e1d0b5b696637e2a3f280af49de9891634b3b99
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/__pycache__/version_tools.cpython-310.pyc differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/__pycache__/wildcards_tab.cpython-310.pyc b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/__pycache__/wildcards_tab.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..265abd576b8ba56eda2c8d19c285b43ff06a9371
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/__pycache__/wildcards_tab.cpython-310.pyc differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/attention_generator.py b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/attention_generator.py
new file mode 100644
index 0000000000000000000000000000000000000000..9c70035995469ed46c83286e964e550e15fdc5bc
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/attention_generator.py
@@ -0,0 +1,39 @@
+import re
+
+from dynamicprompts.generators.attentiongenerator import AttentionGenerator
+
+# A1111 special syntax (LoRA, hypernet, etc.)
+A1111_SPECIAL_SYNTAX_RE = re.compile(r"\s*<[^>]+>")
+
+
+def remove_a1111_special_syntax_chunks(s: str) -> tuple[str, list[str]]:
+ """
+ Remove A1111 special syntax chunks from a string and return the string and the chunks.
+ """
+ chunks: list[str] = []
+
+ def put_chunk(m):
+ chunks.append(m.group(0))
+ return ""
+
+ return re.sub(A1111_SPECIAL_SYNTAX_RE, put_chunk, s), chunks
+
+
+def append_chunks(s: str, chunks: list[str]) -> str:
+ """
+ Append (A1111 special syntax) chunks to a string.
+ """
+ if not chunks:
+ return s
+ return f"{s}{''.join(chunks)}"
+
+
+class SpecialSyntaxAwareAttentionGenerator(AttentionGenerator):
+ """
+ Attention generator that is aware of A1111 special syntax (LoRA, hypernet, etc.).
+ """
+
+ def _add_emphasis(self, prompt: str) -> str:
+ prompt, special_chunks = remove_a1111_special_syntax_chunks(prompt)
+ prompt = super()._add_emphasis(prompt)
+ return append_chunks(prompt, special_chunks)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/callbacks.py b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/callbacks.py
new file mode 100644
index 0000000000000000000000000000000000000000..42f67076ddf076115eda9fc82d796749dd6f4567
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/callbacks.py
@@ -0,0 +1,74 @@
+from __future__ import annotations
+
+import logging
+from pathlib import Path
+from typing import Any
+
+from dynamicprompts.wildcards import WildcardManager
+from modules import script_callbacks
+from modules.generation_parameters_copypaste import parse_generation_parameters
+from modules.script_callbacks import ImageSaveParams
+
+from sd_dynamic_prompts.pnginfo_saver import PngInfoSaver, PromptTemplates
+from sd_dynamic_prompts.prompt_writer import PromptWriter
+from sd_dynamic_prompts.settings import on_ui_settings
+from sd_dynamic_prompts.wildcards_tab import initialize as initialize_wildcards_tab
+
+logger = logging.getLogger(__name__)
+
+
+def register_pnginfo_saver(pnginfo_saver: PngInfoSaver) -> None:
+ def on_save(image_save_params: ImageSaveParams) -> None:
+ try:
+ if image_save_params.p:
+ png_info = image_save_params.pnginfo["parameters"]
+ image_prompts = PromptTemplates(
+ positive_template=image_save_params.p.prompt,
+ negative_template=image_save_params.p.negative_prompt,
+ )
+
+ updated_png_info = pnginfo_saver.update_pnginfo(
+ png_info,
+ image_prompts,
+ )
+ image_save_params.pnginfo["parameters"] = updated_png_info
+ except Exception:
+ logger.exception("Error save prompt file")
+
+ script_callbacks.on_before_image_saved(on_save)
+
+
+def register_prompt_writer(prompt_writer: PromptWriter) -> None:
+ def on_save(image_save_params: ImageSaveParams) -> None:
+ image_name = Path(image_save_params.filename)
+ prompt_filename = image_name.with_suffix(".csv")
+ prompt_writer.write_prompts(prompt_filename)
+
+ script_callbacks.on_before_image_saved(on_save)
+
+
+def register_on_infotext_pasted(pnginfo_saver: PngInfoSaver) -> None:
+ def on_infotext_pasted(infotext: str, parameters: dict[str, Any]) -> None:
+ new_parameters = {}
+ if "Prompt" in parameters and "Template:" in parameters["Prompt"]:
+ parameters = pnginfo_saver.strip_template_info(parameters)
+ new_parameters = parse_generation_parameters(parameters["Prompt"])
+ elif (
+ "Negative prompt" in parameters
+ and "Template:" in parameters["Negative prompt"]
+ ):
+ parameters = pnginfo_saver.strip_template_info(parameters)
+ new_parameters = parse_generation_parameters(parameters["Negative prompt"])
+ new_parameters["Negative prompt"] = new_parameters["Prompt"]
+ new_parameters["Prompt"] = parameters["Prompt"]
+ parameters.update(new_parameters)
+
+ script_callbacks.on_infotext_pasted(on_infotext_pasted)
+
+
+def register_settings():
+ script_callbacks.on_ui_settings(on_ui_settings)
+
+
+def register_wildcards_tab(wildcard_manager: WildcardManager):
+ initialize_wildcards_tab(wildcard_manager)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/dynamic_prompting.py b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/dynamic_prompting.py
new file mode 100644
index 0000000000000000000000000000000000000000..ae4c012848ff1dc89e01517d7d76d80eb5296a90
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/dynamic_prompting.py
@@ -0,0 +1,544 @@
+from __future__ import annotations
+
+import logging
+import math
+from functools import lru_cache
+from string import Template
+
+import dynamicprompts
+import gradio as gr
+import modules.scripts as scripts
+import torch
+from dynamicprompts.generators.promptgenerator import GeneratorException
+from dynamicprompts.parser.parse import ParserConfig
+from dynamicprompts.wildcards import WildcardManager
+from modules.processing import fix_seed
+from modules.shared import opts
+
+from sd_dynamic_prompts import __version__, callbacks
+from sd_dynamic_prompts.element_ids import make_element_id
+from sd_dynamic_prompts.generator_builder import GeneratorBuilder
+from sd_dynamic_prompts.helpers import (
+ generate_prompts,
+ get_seeds,
+ load_magicprompt_models,
+ repeat_iterable_to_length,
+ should_freeze_prompt,
+)
+from sd_dynamic_prompts.paths import (
+ get_extension_base_path,
+ get_magicprompt_models_txt_path,
+ get_wildcard_dir,
+)
+from sd_dynamic_prompts.pnginfo_saver import PngInfoSaver
+from sd_dynamic_prompts.prompt_writer import PromptWriter
+
+VERSION = __version__
+
+logger = logging.getLogger(__name__)
+logger.setLevel(logging.INFO)
+
+is_debug = getattr(opts, "is_debug", False)
+
+if is_debug:
+ logger.setLevel(logging.DEBUG)
+
+
+def _get_effective_prompt(prompts: list[str], prompt: str) -> str:
+ return prompts[0] if prompts else prompt
+
+
+loaded_count = 0
+
+
+@lru_cache(maxsize=1)
+def _get_install_error_message() -> str | None:
+ try:
+ from sd_dynamic_prompts.version_tools import get_dynamicprompts_install_result
+
+ get_dynamicprompts_install_result().raise_if_incorrect()
+ except RuntimeError as rte:
+ return str(rte)
+ except Exception:
+ logger.exception("Failed to get dynamicprompts install result")
+ return None
+
+
+def _get_hr_fix_prompts(
+ prompts: list[str],
+ original_hr_prompt: str,
+ original_prompt: str,
+) -> list[str]:
+ if original_prompt == original_hr_prompt:
+ return list(prompts)
+ return repeat_iterable_to_length([original_hr_prompt], len(prompts))
+
+
+def get_magic_prompt_device() -> torch.device:
+ from modules import devices
+
+ device = devices.device
+ # There might be a bug in auto1111 where the correct device is not inferred in some scenarios
+ if device.type == "cuda" and not device.index:
+ device = torch.device("cuda:0")
+ return device
+
+
+class Script(scripts.Script):
+ def __init__(self):
+ global loaded_count
+
+ loaded_count += 1
+
+ # This is a hack to make sure that the script is only loaded once
+ # Auto1111 calls the script twice, once for the txt2img and once for img2img
+ # These callbacks should only be registered once.
+
+ # When the Reload UI button in the settings tab is pressed, the script is loaded twice again
+ # Therefore we only register callbacks every second time the script is loaded
+ self._pnginfo_saver = PngInfoSaver()
+ self._prompt_writer = PromptWriter()
+ self._wildcard_manager = WildcardManager(get_wildcard_dir())
+
+ if loaded_count % 2 == 0:
+ return
+
+ callbacks.register_pnginfo_saver(self._pnginfo_saver)
+ callbacks.register_prompt_writer(self._prompt_writer)
+ callbacks.register_on_infotext_pasted(self._pnginfo_saver)
+ callbacks.register_settings()
+ callbacks.register_wildcards_tab(self._wildcard_manager)
+
+ def title(self):
+ return f"Dynamic Prompts v{VERSION}"
+
+ def show(self, is_img2img):
+ return scripts.AlwaysVisible
+
+ def ui(self, is_img2img):
+ base_dir = get_extension_base_path()
+ install_message = _get_install_error_message()
+ correct_lib_version = bool(not install_message)
+
+ html_path = base_dir / "helptext.html"
+ html = Template(html_path.read_text("utf-8")).substitute(
+ WILDCARD_DIR=self._wildcard_manager.path,
+ VERSION=VERSION,
+ LIB_VERSION=dynamicprompts.__version__,
+ )
+
+ jinja_html_path = base_dir / "jinja_help.html"
+ jinja_help = jinja_html_path.read_text("utf-8")
+
+ with gr.Group(elem_id=make_element_id("dynamic-prompting")):
+ title = "Dynamic Prompts"
+ if not correct_lib_version:
+ title += " [incorrect installation]"
+ with gr.Accordion(title, open=False):
+ is_enabled = gr.Checkbox(
+ label="Dynamic Prompts enabled",
+ value=correct_lib_version,
+ interactive=correct_lib_version,
+ elem_id=make_element_id("dynamic-prompts-enabled"),
+ )
+
+ if not correct_lib_version:
+ gr.HTML(
+ f"""Dynamic Prompts is not installed correctly .
+ {install_message}""",
+ )
+
+ with gr.Group(visible=correct_lib_version):
+ is_combinatorial = gr.Checkbox(
+ label="Combinatorial generation",
+ value=False,
+ elem_id=make_element_id("is-combinatorial"),
+ )
+
+ max_generations = gr.Slider(
+ label="Max generations (0 = all combinations - the batch count value is ignored)",
+ minimum=0,
+ maximum=1000,
+ step=1,
+ value=0,
+ elem_id=make_element_id("max-generations"),
+ )
+
+ combinatorial_batches = gr.Slider(
+ label="Combinatorial batches",
+ minimum=1,
+ maximum=10,
+ step=1,
+ value=1,
+ elem_id=make_element_id("combinatorial-times"),
+ )
+
+ with gr.Accordion("Prompt Magic", open=False):
+ with gr.Group():
+ try:
+ magicprompt_models = load_magicprompt_models()
+ default_magicprompt_model = (
+ opts.dp_magicprompt_default_model
+ if hasattr(opts, "dp_magicprompt_default_model")
+ else magicprompt_models[0]
+ )
+ is_magic_model_available = True
+ except IndexError:
+ logger.warning(
+ f"The magic prompts config file {get_magicprompt_models_txt_path()} "
+ f"does not contain any models.",
+ )
+
+ magicprompt_models = []
+ default_magicprompt_model = ""
+ is_magic_model_available = False
+
+ is_magic_prompt = gr.Checkbox(
+ label="Magic prompt",
+ value=False,
+ elem_id=make_element_id("is-magicprompt"),
+ interactive=is_magic_model_available,
+ )
+
+ magic_prompt_length = gr.Slider(
+ label="Max magic prompt length",
+ value=100,
+ minimum=30,
+ maximum=300,
+ step=10,
+ interactive=is_magic_model_available,
+ )
+
+ magic_temp_value = gr.Slider(
+ label="Magic prompt creativity",
+ value=0.7,
+ minimum=0.1,
+ maximum=3.0,
+ step=0.10,
+ interactive=is_magic_model_available,
+ )
+
+ magic_model = gr.Dropdown(
+ magicprompt_models,
+ value=default_magicprompt_model,
+ multiselect=False,
+ label="Magic prompt model",
+ elem_id=make_element_id("magic-prompt-model"),
+ interactive=is_magic_model_available,
+ )
+
+ magic_blocklist_regex = gr.Textbox(
+ label="Magic prompt blocklist regex",
+ value="",
+ elem_id=make_element_id("magic-prompt-blocklist-regex"),
+ placeholder=(
+ "Regular expression pattern for blocking terms out of the generated prompt. Applied case-insensitively. "
+ 'For instance, to block both "purple" and "interdimensional", you could use the pattern "purple|interdimensional".'
+ ),
+ interactive=is_magic_model_available,
+ )
+
+ is_feeling_lucky = gr.Checkbox(
+ label="I'm feeling lucky",
+ value=False,
+ elem_id=make_element_id("is-feelinglucky"),
+ )
+
+ with gr.Group():
+ is_attention_grabber = gr.Checkbox(
+ label="Attention grabber",
+ value=False,
+ elem_id=make_element_id("is-attention-grabber"),
+ )
+
+ min_attention = gr.Slider(
+ label="Minimum attention",
+ value=1.1,
+ minimum=-1,
+ maximum=2,
+ step=0.1,
+ )
+
+ max_attention = gr.Slider(
+ label="Maximum attention",
+ value=1.5,
+ minimum=-1,
+ maximum=2,
+ step=0.1,
+ )
+
+ disable_negative_prompt = gr.Checkbox(
+ label="Don't apply to negative prompts",
+ value=True,
+ elem_id=make_element_id("disable-negative-prompt"),
+ )
+
+ with gr.Accordion("Need help?", open=False):
+ gr.HTML(html)
+
+ with gr.Group():
+ with gr.Accordion("Jinja2 templates", open=False):
+ enable_jinja_templates = gr.Checkbox(
+ label="Enable Jinja2 templates",
+ value=False,
+ elem_id=make_element_id("enable-jinja-templates"),
+ )
+
+ with gr.Accordion("Help for Jinja2 templates", open=False):
+ gr.HTML(jinja_help)
+
+ with gr.Group():
+ with gr.Accordion("Advanced options", open=False):
+ gr.HTML(
+ "Some settings have been moved to the settings tab. Find them in the Dynamic Prompts section.",
+ )
+
+ unlink_seed_from_prompt = gr.Checkbox(
+ label="Unlink seed from prompt",
+ value=False,
+ elem_id=make_element_id("unlink-seed-from-prompt"),
+ )
+
+ use_fixed_seed = gr.Checkbox(
+ label="Fixed seed",
+ value=False,
+ elem_id=make_element_id("is-fixed-seed"),
+ )
+
+ gr.Checkbox(
+ label="Write raw prompt to image",
+ value=False,
+ visible=False, # For some reason, removing this line causes Auto1111 to hang
+ elem_id=make_element_id("write-raw-template"),
+ )
+
+ no_image_generation = gr.Checkbox(
+ label="Don't generate images",
+ value=False,
+ elem_id=make_element_id("no-image-generation"),
+ )
+
+ gr.Checkbox(
+ label="Write prompts to file",
+ value=False,
+ elem_id=make_element_id("write-prompts"),
+ visible=False, # For some reason, removing this line causes Auto1111 to hang
+ )
+
+ return [
+ is_enabled,
+ is_combinatorial,
+ combinatorial_batches,
+ is_magic_prompt,
+ is_feeling_lucky,
+ is_attention_grabber,
+ min_attention,
+ max_attention,
+ magic_prompt_length,
+ magic_temp_value,
+ use_fixed_seed,
+ unlink_seed_from_prompt,
+ disable_negative_prompt,
+ enable_jinja_templates,
+ no_image_generation,
+ max_generations,
+ magic_model,
+ magic_blocklist_regex,
+ ]
+
+ def process(
+ self,
+ p,
+ is_enabled: bool,
+ is_combinatorial: bool,
+ combinatorial_batches: int,
+ is_magic_prompt: bool,
+ is_feeling_lucky: bool,
+ is_attention_grabber: bool,
+ min_attention: float,
+ max_attention: float,
+ magic_prompt_length: int,
+ magic_temp_value: float,
+ use_fixed_seed: bool,
+ unlink_seed_from_prompt: bool,
+ disable_negative_prompt: bool,
+ enable_jinja_templates: bool,
+ no_image_generation: bool,
+ max_generations: int,
+ magic_model: str | None,
+ magic_blocklist_regex: str | None,
+ ):
+ if not is_enabled:
+ logger.debug("Dynamic prompts disabled - exiting")
+ return p
+
+ ignore_whitespace = opts.dp_ignore_whitespace
+
+ self._pnginfo_saver.enabled = opts.dp_write_raw_template
+ self._prompt_writer.enabled = opts.dp_write_prompts_to_file
+ self._limit_jinja_prompts = opts.dp_limit_jinja_prompts
+ self._auto_purge_cache = opts.dp_auto_purge_cache
+ self._wildcard_manager.dedup_wildcards = not opts.dp_wildcard_manager_no_dedupe
+ self._wildcard_manager.sort_wildcards = not opts.dp_wildcard_manager_no_sort
+ self._wildcard_manager.shuffle_wildcards = opts.dp_wildcard_manager_shuffle
+
+ magicprompt_batch_size = opts.dp_magicprompt_batch_size
+
+ parser_config = ParserConfig(
+ variant_start=opts.dp_parser_variant_start,
+ variant_end=opts.dp_parser_variant_end,
+ wildcard_wrap=opts.dp_parser_wildcard_wrap,
+ )
+
+ fix_seed(p)
+
+ # Save original prompts before we touch `p.prompt`/`p.hr_prompt` etc.
+ original_prompt = _get_effective_prompt(p.all_prompts, p.prompt)
+ original_negative_prompt = _get_effective_prompt(
+ p.all_negative_prompts,
+ p.negative_prompt,
+ )
+ hr_fix_enabled = getattr(p, "enable_hr", False)
+
+ # all_hr_prompts (and the other hr prompt related stuff)
+ # is only available in AUTOMATIC1111 1.3.0+, but might not be in forks.
+ # Assume that if all_hr_prompts is available, the other hr prompt related stuff is too.
+ if hr_fix_enabled and hasattr(p, "all_hr_prompts"):
+ original_hr_prompt = _get_effective_prompt(p.all_hr_prompts, p.hr_prompt)
+ original_negative_hr_prompt = _get_effective_prompt(
+ p.all_hr_negative_prompts,
+ p.hr_negative_prompt,
+ )
+ else:
+ # If hr fix is not enabled, the HR prompts are effectively the same as the normal prompts
+ original_hr_prompt = original_prompt
+ original_negative_hr_prompt = original_negative_prompt
+
+ original_seed = p.seed
+ num_images = p.n_iter * p.batch_size
+
+ if is_combinatorial:
+ if max_generations == 0:
+ num_images = None
+ else:
+ num_images = max_generations
+
+ combinatorial_batches = int(combinatorial_batches)
+ if self._auto_purge_cache:
+ self._wildcard_manager.clear_cache()
+
+ try:
+ logger.debug("Creating generator")
+
+ generator_builder = (
+ GeneratorBuilder(
+ self._wildcard_manager,
+ ignore_whitespace=ignore_whitespace,
+ parser_config=parser_config,
+ )
+ .set_is_feeling_lucky(is_feeling_lucky)
+ .set_is_attention_grabber(
+ is_attention_grabber,
+ min_attention,
+ max_attention,
+ )
+ .set_is_jinja_template(
+ enable_jinja_templates,
+ limit_prompts=self._limit_jinja_prompts,
+ )
+ .set_is_combinatorial(is_combinatorial, combinatorial_batches)
+ .set_is_magic_prompt(
+ is_magic_prompt=is_magic_prompt,
+ magic_model=magic_model,
+ magic_prompt_length=magic_prompt_length,
+ magic_temp_value=magic_temp_value,
+ magic_blocklist_regex=magic_blocklist_regex,
+ batch_size=magicprompt_batch_size,
+ device=get_magic_prompt_device(),
+ )
+ .set_is_dummy(False)
+ .set_unlink_seed_from_prompt(unlink_seed_from_prompt)
+ .set_seed(original_seed)
+ .set_context(p)
+ .set_freeze_prompt(should_freeze_prompt(p))
+ )
+
+ generator = generator_builder.create_generator()
+
+ if disable_negative_prompt:
+ generator_builder.disable_prompt_magic()
+ negative_generator = generator_builder.create_generator()
+ else:
+ negative_generator = generator
+
+ all_seeds = None
+ if num_images and not unlink_seed_from_prompt:
+ p.all_seeds, p.all_subseeds = get_seeds(
+ p,
+ num_images,
+ use_fixed_seed,
+ is_combinatorial,
+ combinatorial_batches,
+ )
+ all_seeds = p.all_seeds
+
+ all_prompts, all_negative_prompts = generate_prompts(
+ prompt_generator=generator,
+ negative_prompt_generator=negative_generator,
+ prompt=original_prompt,
+ negative_prompt=original_negative_prompt,
+ num_prompts=num_images,
+ seeds=all_seeds,
+ )
+
+ except GeneratorException as e:
+ logger.exception(e)
+ all_prompts = [str(e)]
+ all_negative_prompts = [str(e)]
+
+ updated_count = len(all_prompts)
+ p.n_iter = math.ceil(updated_count / p.batch_size)
+
+ if num_images != updated_count:
+ p.all_seeds, p.all_subseeds = get_seeds(
+ p,
+ updated_count,
+ use_fixed_seed,
+ is_combinatorial,
+ combinatorial_batches,
+ )
+
+ if updated_count > 1:
+ logger.info(
+ f"Prompt matrix will create {updated_count} images in a total of {p.n_iter} batches.",
+ )
+
+ self._prompt_writer.set_data(
+ positive_template=original_prompt,
+ negative_template=original_negative_prompt,
+ positive_prompts=all_prompts,
+ negative_prompts=all_negative_prompts,
+ )
+
+ p.all_prompts = all_prompts
+ p.all_negative_prompts = all_negative_prompts
+ if no_image_generation:
+ logger.debug("No image generation requested - exiting")
+ # Need a minimum of batch size images to avoid errors
+ p.batch_size = 1
+ p.all_prompts = all_prompts[0:1]
+
+ p.prompt_for_display = original_prompt
+ p.prompt = original_prompt
+
+ if hr_fix_enabled:
+ p.all_hr_prompts = _get_hr_fix_prompts(
+ all_prompts,
+ original_hr_prompt,
+ original_prompt,
+ )
+ p.all_hr_negative_prompts = _get_hr_fix_prompts(
+ all_negative_prompts,
+ original_negative_hr_prompt,
+ original_negative_prompt,
+ )
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/element_ids.py b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/element_ids.py
new file mode 100644
index 0000000000000000000000000000000000000000..49014f5e1751d688e8f49f6e9a16d6afecd142c8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/element_ids.py
@@ -0,0 +1,5 @@
+UI_ELEMENT_ID_PREFIX = "sddp-"
+
+
+def make_element_id(name: str) -> str:
+ return UI_ELEMENT_ID_PREFIX + name
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/frozenprompt_generator.py b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/frozenprompt_generator.py
new file mode 100644
index 0000000000000000000000000000000000000000..5838b715bc3b80e72536b6370fde515a1e39b5d3
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/frozenprompt_generator.py
@@ -0,0 +1,22 @@
+from __future__ import annotations
+
+from dynamicprompts.generators.promptgenerator import PromptGenerator
+
+
+class FrozenPromptGenerator(PromptGenerator):
+ """
+ Generates a prompt once and repeats that prompt as num_images times
+ """
+
+ def __init__(self, prompt_generator: PromptGenerator):
+ self._generator = prompt_generator
+
+ def generate(
+ self,
+ template: str,
+ num_images: int | None = 1,
+ **kwargs,
+ ) -> list[str]:
+ prompts = self._generator.generate(template, 1)
+ num_images = num_images or 1
+ return num_images * prompts
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/generator_builder.py b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/generator_builder.py
new file mode 100644
index 0000000000000000000000000000000000000000..ebf3468b6da5a589943f57c1fb08761fbff2297e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/generator_builder.py
@@ -0,0 +1,253 @@
+from __future__ import annotations
+
+import logging
+
+from dynamicprompts.generators import (
+ BatchedCombinatorialPromptGenerator,
+ CombinatorialPromptGenerator,
+ DummyGenerator,
+ FeelingLuckyGenerator,
+ JinjaGenerator,
+ PromptGenerator,
+ RandomPromptGenerator,
+)
+from dynamicprompts.parser.parse import default_parser_config
+
+from sd_dynamic_prompts.frozenprompt_generator import FrozenPromptGenerator
+
+logger = logging.getLogger(__name__)
+
+
+class GeneratorBuilder:
+ def __init__(
+ self,
+ wildcard_manager,
+ parser_config=default_parser_config,
+ ignore_whitespace=False,
+ ):
+ self._wildcard_manager = wildcard_manager
+
+ self._is_dummy = False
+ self._should_freeze_prompt = False
+ self._is_feeling_lucky = False
+ self._is_jinja_template = False
+ self._is_combinatorial = False
+ self._is_magic_prompt = False
+ self._is_attention_grabber = False
+
+ self._combinatorial_batches = 1
+ self._magic_model = None
+ self._magic_prompt_length = 100
+ self._magic_temp_value = 0.7
+ self._magic_blocklist_regex = None
+ self._min_attention = 1.1
+ self._max_attention = 1.5
+ self._device = 0
+ self._ignore_whitespace = ignore_whitespace
+ self._unlink_seed_from_prompt = False
+ self._seed = -1
+ self._context = None
+ self._parser_config = parser_config
+
+ def log_configuration(self):
+ logger.debug(
+ f"""
+ Creating generator:
+ is_dummy: {self._is_dummy}
+ is_feeling_lucky: {self._is_feeling_lucky}
+ enable_jinja_templates: {self._is_jinja_template}
+ is_combinatorial: {self._is_combinatorial}
+ is_magic_prompt: {self._is_magic_prompt}
+ combinatorial_batches: {self._combinatorial_batches}
+ magic_prompt_length: {self._magic_prompt_length}
+ magic_temp_value: {self._magic_temp_value}
+ magic_blocklist_regex: {self._magic_blocklist_regex}
+ is_attention_grabber: {self._is_attention_grabber}
+ min_attention: {self._min_attention}
+ max_attention: {self._max_attention}
+
+ """,
+ )
+
+ def set_is_dummy(self, is_dummy=True):
+ self._is_dummy = is_dummy
+ return self
+
+ def set_is_feeling_lucky(self, is_feeling_lucky=True):
+ self._is_feeling_lucky = is_feeling_lucky
+ return self
+
+ def set_is_attention_grabber(
+ self,
+ is_attention_grabber=True,
+ min_attention=1.1,
+ max_attention=1.5,
+ ):
+ self._is_attention_grabber = is_attention_grabber
+ self._min_attention = min_attention
+ self._max_attention = max_attention
+ return self
+
+ def set_is_jinja_template(self, is_jinja_template=True, limit_prompts=False):
+ self._is_jinja_template = is_jinja_template
+ self._limit_jinja_prompts = limit_prompts
+ return self
+
+ def set_is_combinatorial(self, is_combinatorial=True, combinatorial_batches=1):
+ self._is_combinatorial = is_combinatorial
+ self._combinatorial_batches = combinatorial_batches
+ return self
+
+ def set_is_magic_prompt(
+ self,
+ is_magic_prompt=True,
+ magic_model=None,
+ magic_prompt_length=100,
+ magic_temp_value=0.7,
+ device=0,
+ magic_blocklist_regex: str | None = None,
+ batch_size=1,
+ ):
+ if not magic_model:
+ self._is_magic_prompt = False
+ return self
+
+ self._magic_model = magic_model
+ self._magic_prompt_length = magic_prompt_length
+ self._magic_temp_value = magic_temp_value
+ self._magic_blocklist_regex = magic_blocklist_regex
+ self._is_magic_prompt = is_magic_prompt
+ self._magic_batch_size = batch_size
+ self._device = device
+
+ return self
+
+ def set_unlink_seed_from_prompt(self, unlink_seed_from_prompt=True):
+ self._unlink_seed_from_prompt = unlink_seed_from_prompt
+ return self
+
+ def set_seed(self, seed):
+ self._seed = seed
+ return self
+
+ def set_freeze_prompt(self, should_freeze: bool):
+ self._should_freeze_prompt = should_freeze
+ return self
+
+ def set_context(self, context):
+ self._context = context
+ return self
+
+ def disable_prompt_magic(self):
+ self.set_is_attention_grabber(False)
+ self.set_is_magic_prompt(False)
+ self.set_is_feeling_lucky(False)
+
+ return self
+
+ def create_generator(self):
+ if self._is_dummy:
+ return DummyGenerator()
+
+ elif self._is_feeling_lucky:
+ generator = FeelingLuckyGenerator()
+
+ elif self._is_jinja_template:
+ generator = self.create_jinja_generator(self._context)
+ else:
+ generator = self.create_basic_generator()
+
+ if self._is_magic_prompt:
+ from dynamicprompts.generators.magicprompt import MagicPromptGenerator
+
+ generator = MagicPromptGenerator(
+ generator,
+ model_name=self._magic_model,
+ device=self._device,
+ max_prompt_length=self._magic_prompt_length,
+ temperature=self._magic_temp_value,
+ seed=self._seed,
+ blocklist_regex=self._magic_blocklist_regex,
+ batch_size=self._magic_batch_size,
+ )
+
+ if self._is_attention_grabber:
+ try:
+ from sd_dynamic_prompts.attention_generator import (
+ SpecialSyntaxAwareAttentionGenerator,
+ )
+
+ generator = SpecialSyntaxAwareAttentionGenerator(
+ generator,
+ min_attention=self._min_attention,
+ max_attention=self._max_attention,
+ )
+ except ImportError as ie:
+ logger.error(f"Not using AttentionGenerator: {ie}")
+
+ if self._should_freeze_prompt:
+ generator = FrozenPromptGenerator(generator)
+ return generator
+
+ def create_basic_generator(
+ self,
+ ) -> PromptGenerator:
+ if self._is_combinatorial:
+ prompt_generator = CombinatorialPromptGenerator(
+ self._wildcard_manager,
+ parser_config=self._parser_config,
+ ignore_whitespace=self._ignore_whitespace,
+ )
+ return BatchedCombinatorialPromptGenerator(
+ prompt_generator,
+ batches=self._combinatorial_batches,
+ )
+ return RandomPromptGenerator(
+ self._wildcard_manager,
+ seed=self._seed,
+ parser_config=self._parser_config,
+ unlink_seed_from_prompt=self._unlink_seed_from_prompt,
+ ignore_whitespace=self._ignore_whitespace,
+ )
+
+ def create_jinja_generator(self, p) -> PromptGenerator:
+ original_prompt = p.all_prompts[0] if len(p.all_prompts) > 0 else p.prompt
+ original_negative_prompt = (
+ p.all_negative_prompts[0]
+ if len(p.all_negative_prompts) > 0
+ else p.negative_prompt
+ )
+ context = {
+ "model": {
+ "filename": p.sd_model.sd_checkpoint_info.filename,
+ "title": p.sd_model.sd_checkpoint_info.title,
+ "hash": p.sd_model.sd_checkpoint_info.hash,
+ "model_name": p.sd_model.sd_checkpoint_info.model_name,
+ },
+ "image": {
+ "width": p.width,
+ "height": p.height,
+ },
+ "parameters": {
+ "steps": p.steps,
+ "batch_size": p.batch_size,
+ "num_batches": p.n_iter,
+ "width": p.width,
+ "height": p.height,
+ "cfg_scale": p.cfg_scale,
+ "sampler_name": p.sampler_name,
+ "seed": p.seed,
+ },
+ "prompt": {
+ "prompt": original_prompt,
+ "negative_prompt": original_negative_prompt,
+ },
+ }
+
+ generator = JinjaGenerator(
+ self._wildcard_manager,
+ context,
+ limit_prompts=self._limit_jinja_prompts,
+ ignore_whitespace=self._ignore_whitespace,
+ )
+ return generator
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/helpers.py b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/helpers.py
new file mode 100644
index 0000000000000000000000000000000000000000..87106f4f65cb4ba9de0ba510b7c454241acd2b2b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/helpers.py
@@ -0,0 +1,149 @@
+from __future__ import annotations
+
+import logging
+from itertools import cycle, islice, product
+from pathlib import Path
+
+from dynamicprompts.generators.promptgenerator import PromptGenerator
+
+from sd_dynamic_prompts.paths import get_magicprompt_models_txt_path
+
+logger = logging.getLogger(__name__)
+
+
+def get_seeds(
+ p,
+ num_seeds,
+ use_fixed_seed,
+ is_combinatorial=False,
+ combinatorial_batches=1,
+) -> tuple[list[int], list[int]]:
+ if p.subseed_strength != 0:
+ seed = int(p.all_seeds[0])
+ subseed = int(p.all_subseeds[0])
+ else:
+ seed = int(p.seed)
+ subseed = int(p.subseed)
+
+ if use_fixed_seed:
+ if is_combinatorial:
+ all_seeds = []
+ all_subseeds = [subseed] * num_seeds
+ for i in range(combinatorial_batches):
+ all_seeds.extend([seed + i] * (num_seeds // combinatorial_batches))
+ else:
+ all_seeds = [seed] * num_seeds
+ all_subseeds = [subseed] * num_seeds
+ else:
+ if p.subseed_strength == 0:
+ all_seeds = [seed + i for i in range(num_seeds)]
+ else:
+ all_seeds = [seed] * num_seeds
+
+ all_subseeds = [subseed + i for i in range(num_seeds)]
+
+ return all_seeds, all_subseeds
+
+
+def should_freeze_prompt(p):
+ # When using a variation seed, the prompt shouldn't change between generations
+ return p.subseed_strength > 0
+
+
+def load_magicprompt_models(models_file: Path | None = None) -> list[str]:
+ if not models_file:
+ models_file = get_magicprompt_models_txt_path()
+ try:
+ # ignore empty lines
+ return [
+ model
+ for model in (
+ line.partition("#")[0].strip()
+ for line in models_file.read_text().splitlines()
+ )
+ if model
+ ]
+ except FileNotFoundError:
+ logger.warning(f"Could not find magicprompts config file at {models_file}")
+ return []
+
+
+def generate_prompts(
+ prompt_generator: PromptGenerator,
+ negative_prompt_generator: PromptGenerator,
+ prompt: str,
+ negative_prompt: str | None,
+ num_prompts: int,
+ seeds: list[int] | None,
+) -> tuple[list[str], list[str]]:
+ """
+ Generate positive and negative prompts.
+
+ Parameters:
+ - prompt_generator: Object that generates positive prompts.
+ - negative_prompt_generator: Object that generates negative prompts.
+ - prompt: Base text for positive prompts.
+ - negative_prompt: Base text for negative prompts.
+ - num_prompts: Number of prompts to generate.
+ - seeds: List of seeds for prompt generation.
+
+ Returns:
+ - Tuple containing list of positive and negative prompts.
+ """
+ all_prompts = prompt_generator.generate(prompt, num_prompts, seeds=seeds) or [""]
+
+ negative_seeds = seeds if negative_prompt else None
+
+ all_negative_prompts = negative_prompt_generator.generate(
+ negative_prompt,
+ num_prompts,
+ seeds=negative_seeds,
+ ) or [""]
+
+ if num_prompts is None:
+ return generate_prompt_cross_product(all_prompts, all_negative_prompts)
+
+ return all_prompts, repeat_iterable_to_length(all_negative_prompts, num_prompts)
+
+
+def generate_prompt_cross_product(
+ prompts: list[str],
+ negative_prompts: list[str],
+) -> tuple[list[str], list[str]]:
+ """
+ Create a cross product of all the items in `prompts` and `negative_prompts`.
+ Return the positive prompts and negative prompts in two separate lists
+
+ Parameters:
+ - prompts: List of prompts
+ - negative_prompts: List of negative prompts
+
+ Returns:
+ - Tuple containing list of positive and negative prompts
+ """
+ if not (prompts and negative_prompts):
+ return [], []
+
+ # noqa to remain compatible with python 3.9, see issue #601
+ new_positive_prompts, new_negative_prompts = zip(
+ *product(prompts, negative_prompts), # noqa: B905
+ )
+ return list(new_positive_prompts), list(new_negative_prompts)
+
+
+def repeat_iterable_to_length(iterable, length: int) -> list:
+ """Repeat an iterable to a given length.
+
+ If the iterable is shorter than the desired length, it will be repeated
+ until it is long enough. If it is longer than the desired length, it will
+ be truncated.
+
+ Args:
+ iterable (Iterable): The iterable to repeat.
+ length (int): The desired length of the iterable.
+
+ Returns:
+ list: The repeated iterable.
+
+ """
+ return list(islice(cycle(iterable), length))
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/paths.py b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/paths.py
new file mode 100644
index 0000000000000000000000000000000000000000..d19201624e755466f6faf40b15f05be5507a37a3
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/paths.py
@@ -0,0 +1,39 @@
+from __future__ import annotations
+
+import logging
+from functools import lru_cache
+from pathlib import Path
+
+logger = logging.getLogger(__name__)
+
+
+@lru_cache(maxsize=1)
+def get_extension_base_path() -> Path:
+ """
+ Get the directory the extension is installed in.
+ """
+ path = Path(__file__).parent.parent
+ assert (path / "sd_dynamic_prompts").is_dir() # sanity check
+ assert (path / "scripts").is_dir() # sanity check
+ return path
+
+
+def get_magicprompt_models_txt_path() -> Path:
+ return Path(get_extension_base_path() / "config" / "magicprompt_models.txt")
+
+
+def get_wildcard_dir() -> Path:
+ try:
+ from modules.shared import opts
+ except ImportError: # likely not in an a1111 context
+ opts = None
+
+ wildcard_dir = getattr(opts, "wildcard_dir", None)
+ if wildcard_dir is None:
+ wildcard_dir = get_extension_base_path() / "wildcards"
+ wildcard_dir = Path(wildcard_dir)
+ try:
+ wildcard_dir.mkdir(parents=True, exist_ok=True)
+ except Exception:
+ logger.exception(f"Failed to create wildcard directory {wildcard_dir}")
+ return wildcard_dir
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/pnginfo_saver.py b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/pnginfo_saver.py
new file mode 100644
index 0000000000000000000000000000000000000000..16a03c15e3a04c95f9e7c1099185aba5f450f788
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/pnginfo_saver.py
@@ -0,0 +1,67 @@
+from __future__ import annotations
+
+import logging
+from dataclasses import dataclass
+from typing import Any
+
+logger = logging.getLogger(__name__)
+
+TEMPLATE_LABEL = "Template"
+NEGATIVE_TEMPLATE_LABEL = "Negative Template"
+
+
+@dataclass
+class PromptTemplates:
+ positive_template: str
+ negative_template: str
+
+
+class PngInfoSaver:
+ def __init__(self):
+ self._enabled = True
+
+ @property
+ def enabled(self) -> bool:
+ return self._enabled
+
+ @enabled.setter
+ def enabled(self, enabled: bool) -> None:
+ self._enabled = enabled
+
+ def update_pnginfo(self, parameters: str, prompt_templates: PromptTemplates) -> str:
+ if not self._enabled:
+ return parameters
+
+ if prompt_templates.positive_template:
+ parameters += f"\n{TEMPLATE_LABEL}: {prompt_templates.positive_template}"
+
+ if prompt_templates.negative_template:
+ parameters += (
+ f"\n{NEGATIVE_TEMPLATE_LABEL}: {prompt_templates.negative_template}"
+ )
+
+ return parameters
+
+ def strip_template_info(self, parameters: dict[str, Any]) -> dict[str, Any]:
+ if "Prompt" in parameters and f"{TEMPLATE_LABEL}:" in parameters["Prompt"]:
+ parameters["Prompt"] = (
+ parameters["Prompt"].split(f"{TEMPLATE_LABEL}:")[0].strip()
+ )
+ elif "Negative prompt" in parameters:
+ split_by = None
+ if (
+ f"\n{TEMPLATE_LABEL}:" in parameters["Negative prompt"]
+ and f"\n{NEGATIVE_TEMPLATE_LABEL}:" in parameters["Negative prompt"]
+ ):
+ split_by = f"{TEMPLATE_LABEL}"
+ elif f"\n{NEGATIVE_TEMPLATE_LABEL}:" in parameters["Negative prompt"]:
+ split_by = f"\n{NEGATIVE_TEMPLATE_LABEL}:"
+ elif f"\n{TEMPLATE_LABEL}:" in parameters["Negative prompt"]:
+ split_by = f"\n{TEMPLATE_LABEL}:"
+
+ if split_by:
+ parameters["Negative prompt"] = (
+ parameters["Negative prompt"].split(split_by)[0].strip()
+ )
+
+ return parameters
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/prompt_writer.py b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/prompt_writer.py
new file mode 100644
index 0000000000000000000000000000000000000000..932c7a7d934858b33c3b584bc6ccf6ce169f5d1f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/prompt_writer.py
@@ -0,0 +1,61 @@
+from __future__ import annotations
+
+import csv
+from pathlib import Path
+
+from dynamicprompts import constants
+
+
+class PromptWriter:
+ def __init__(self):
+ self.reset()
+ self._enabled = False
+
+ def reset(self):
+ self._already_saved = False
+ self._positive_template = ""
+ self._negative_template = ""
+ self._positive_prompts = []
+ self._negative_prompts = []
+
+ @property
+ def enabled(self) -> bool:
+ return self._enabled
+
+ @enabled.setter
+ def enabled(self, value: bool) -> None:
+ self._enabled = value
+
+ def set_data(
+ self,
+ *,
+ positive_template: str,
+ negative_template: str,
+ positive_prompts: list[str],
+ negative_prompts: list[str],
+ ) -> None:
+ self.reset()
+
+ self._positive_template = positive_template
+ self._negative_template = negative_template
+ self._positive_prompts = positive_prompts
+ self._negative_prompts = negative_prompts
+
+ def write_prompts(self, path: Path | str) -> Path | None:
+ if not self._enabled or self._already_saved:
+ return None
+
+ self._already_saved = True
+
+ path = Path(path)
+ with path.open("w", encoding=constants.DEFAULT_ENCODING, errors="ignore") as f:
+ writer = csv.writer(f)
+ writer.writerow(["positive_prompt", "negative_prompt"])
+ writer.writerow([self._positive_template, self._negative_template])
+ for positive_prompt, negative_prompt in zip( # noqa: B905
+ self._positive_prompts,
+ self._negative_prompts,
+ ):
+ writer.writerow([positive_prompt, negative_prompt])
+
+ return path
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/settings.py b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/settings.py
new file mode 100644
index 0000000000000000000000000000000000000000..70c28481502786794c612b5fc820e91f522a58d7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/settings.py
@@ -0,0 +1,123 @@
+import gradio as gr
+from modules import shared
+
+from sd_dynamic_prompts.helpers import load_magicprompt_models
+
+
+def on_ui_settings():
+ section = "dynamicprompts", "Dynamic Prompts"
+ shared.opts.add_option(
+ key="dp_ignore_whitespace",
+ info=shared.OptionInfo(
+ False,
+ label="Ignore whitespace in prompts: All newlines, tabs, and multiple spaces are replaced by a single space",
+ section=section,
+ ),
+ )
+ shared.opts.add_option(
+ key="dp_write_raw_template",
+ info=shared.OptionInfo(
+ False,
+ label="Save template to metadata: Write prompt template into the PNG metadata",
+ section=section,
+ ),
+ )
+ shared.opts.add_option(
+ key="dp_write_prompts_to_file",
+ info=shared.OptionInfo(
+ False,
+ label="Write prompts to file: Create a new .txt file for every batch containing the prompt template as well as the generated prompts.",
+ section=section,
+ ),
+ )
+ shared.opts.add_option(
+ key="dp_parser_variant_start",
+ info=shared.OptionInfo(
+ "{",
+ label="String to use as left bracket for parser variants, .e.g {variant1|variant2|variant3}",
+ section=section,
+ ),
+ )
+ shared.opts.add_option(
+ key="dp_parser_variant_end",
+ info=shared.OptionInfo(
+ "}",
+ label="String to use as right bracket for parser variants, .e.g {variant1|variant2|variant3}",
+ section=section,
+ ),
+ )
+ shared.opts.add_option(
+ key="dp_parser_wildcard_wrap",
+ info=shared.OptionInfo(
+ "__",
+ label="String to use as wrap for parser wildcard, .e.g __wildcard__",
+ section=section,
+ ),
+ )
+ shared.opts.add_option(
+ key="dp_limit_jinja_prompts",
+ info=shared.OptionInfo(
+ False,
+ label="Limit Jinja prompts: Limit the number of prompts to batch_count * batch_size. The default is to generate batch_count * batch_size * number of prompts generated by Jinja",
+ section=section,
+ ),
+ )
+
+ shared.opts.add_option(
+ key="dp_auto_purge_cache",
+ info=shared.OptionInfo(
+ False,
+ label="Automatically purge wildcard cache on every generation.",
+ section=section,
+ ),
+ )
+
+ shared.opts.add_option(
+ key="dp_wildcard_manager_no_dedupe",
+ info=shared.OptionInfo(
+ False,
+ label="Disable de-duplication of wildcards before processing.",
+ section=section,
+ ),
+ )
+
+ shared.opts.add_option(
+ key="dp_wildcard_manager_no_sort",
+ info=shared.OptionInfo(
+ False,
+ label="Disable sorting of wildcards before processing.",
+ section=section,
+ ),
+ )
+
+ shared.opts.add_option(
+ key="dp_wildcard_manager_shuffle",
+ info=shared.OptionInfo(
+ False,
+ label="Shuffle wildcards before use for more random outputs",
+ section=section,
+ ),
+ )
+
+ magic_models = load_magicprompt_models()
+ shared.opts.add_option(
+ key="dp_magicprompt_default_model",
+ info=shared.OptionInfo(
+ magic_models[0] if magic_models else "",
+ label="Default magic prompt model",
+ component=gr.Dropdown,
+ component_args={"choices": magic_models},
+ section=section,
+ ),
+ )
+
+ shared.opts.add_option(
+ key="dp_magicprompt_batch_size",
+ info=shared.OptionInfo(
+ 1,
+ label="Magic Prompt batch size (higher is faster but uses more memory)",
+ component=gr.Slider,
+ component_args={"minimum": 1, "maximum": 64, "step": 1},
+ section=section,
+ ),
+ )
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/version_tools.py b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/version_tools.py
new file mode 100644
index 0000000000000000000000000000000000000000..3dd3a50ac93825884d656bf2ff4e07a8bed6c1bf
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/version_tools.py
@@ -0,0 +1,153 @@
+# NB: this file may not import anything from `sd_dynamic_prompts` because it is used by `install.py`.
+
+from __future__ import annotations
+
+import dataclasses
+import importlib.metadata
+import logging
+import shlex
+import subprocess
+import sys
+from collections.abc import Iterable
+from functools import lru_cache
+from pathlib import Path
+
+try:
+ import tomllib as tomli # Python 3.11+
+except ImportError:
+ try:
+ import tomli # may have been installed already
+ except ImportError:
+ try:
+ # pip has had this since version 21.2
+ from pip._vendor import tomli
+ except ImportError:
+ raise ImportError(
+ "A TOML library is required to install sd-dynamic-prompts, "
+ "but could not be imported. "
+ "Please install tomli (pip install tomli) and try again.",
+ ) from None
+
+try:
+ from packaging.requirements import Requirement
+except ImportError:
+ # pip has had this since 2018
+ from pip._vendor.packaging.requirements import ( # type: ignore[assignment]
+ Requirement,
+ )
+
+logger = logging.getLogger(__name__)
+
+
+@dataclasses.dataclass
+class InstallResult:
+ requirement: Requirement
+ installed: str | None
+
+ @property
+ def message(self) -> str | None:
+ if self.correct:
+ return None
+ return (
+ f"You have {self.requirement.name} version {self.installed or 'not'} installed, "
+ f"but this extension requires version {self.requirement.specifier}. "
+ f"Please run `install.py` from the sd-dynamic-prompts extension directory, "
+ f"or `{self.pip_install_command}`."
+ )
+
+ @property
+ def specifier_str(self) -> str:
+ return str(self.requirement)
+
+ @property
+ def correct(self) -> bool:
+ return bool(
+ self.installed and self.requirement.specifier.contains(self.installed),
+ )
+
+ @property
+ def pip_install_command(self) -> str:
+ return f"pip install {self.specifier_str}"
+
+ def raise_if_incorrect(self) -> None:
+ message = self.message
+ if message:
+ raise RuntimeError(message)
+
+
+@lru_cache(maxsize=1)
+def get_requirements() -> tuple[str, ...]:
+ toml_text = (Path(__file__).parent.parent / "pyproject.toml").read_text()
+ deps = tomli.loads(toml_text)["project"]["dependencies"]
+ return tuple(str(dep) for dep in deps)
+
+
+def get_install_result(req_str: str) -> InstallResult:
+ req = Requirement(req_str)
+ try:
+ installed_version = importlib.metadata.version(req.name)
+ except ImportError:
+ installed_version = None
+ res = InstallResult(requirement=req, installed=installed_version)
+ return res
+
+
+def get_requirements_install_results() -> Iterable[InstallResult]:
+ """
+ Get InstallResult objects for all requirements.
+ """
+ return (get_install_result(req_str) for req_str in get_requirements())
+
+
+def get_dynamicprompts_install_result() -> InstallResult:
+ """
+ Get the InstallResult for the dynamicprompts requirement.
+ """
+ for req in get_requirements():
+ if req.startswith("dynamicprompts"):
+ return get_install_result(req)
+ raise RuntimeError("dynamicprompts requirement not found")
+
+
+def install_requirements(force=False) -> None:
+ """
+ Invoke pip to install the requirements for the extension.
+ """
+ try:
+ from launch import args
+
+ if getattr(args, "skip_install", False):
+ logger.info(
+ "webui launch.args.skip_install is true, skipping dynamicprompts installation",
+ )
+ return
+ except ImportError:
+ pass
+
+ requirements_to_install = [
+ str(ires.requirement)
+ for ires in get_requirements_install_results()
+ if (force or not ires.correct)
+ ]
+
+ if not requirements_to_install:
+ return
+
+ command = [
+ sys.executable,
+ "-m",
+ "pip",
+ "install",
+ *requirements_to_install,
+ ]
+ print(f"sd-dynamic-prompts installer: running {shlex.join(command)}")
+ subprocess.check_call(command)
+
+
+def selftest() -> None:
+ for res in get_requirements_install_results():
+ print("[OK]" if res.correct else "????", res.requirement, res)
+
+
+if __name__ == "__main__":
+ selftest()
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/wildcards_tab.py b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/wildcards_tab.py
new file mode 100644
index 0000000000000000000000000000000000000000..c490df1aebe5f7204a24810b1b16dccce4ad2ca0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/sd_dynamic_prompts/wildcards_tab.py
@@ -0,0 +1,292 @@
+from __future__ import annotations
+
+import json
+import logging
+import random
+import shutil
+import traceback
+from pathlib import Path
+
+import gradio as gr
+from dynamicprompts.wildcards import WildcardManager
+from dynamicprompts.wildcards.collection import WildcardTextFile
+from dynamicprompts.wildcards.tree import WildcardTreeNode
+from modules import script_callbacks
+from send2trash import send2trash
+
+from sd_dynamic_prompts.element_ids import make_element_id
+
+COPY_COLLECTION_ACTION = "copy collection"
+LOAD_FILE_ACTION = "load file"
+LOAD_TREE_ACTION = "load tree"
+MESSAGE_PROCESSING_ACTION = "message processing"
+
+logger = logging.getLogger(__name__)
+
+wildcard_manager: WildcardManager
+
+
+def get_collection_dirs() -> dict[str, Path]:
+ """
+ Get a mapping of name -> subdirectory path for the extension's collections/ directory.
+ """
+ from sd_dynamic_prompts.paths import get_extension_base_path
+
+ collections_path = get_extension_base_path() / "collections"
+
+ return {
+ str(pth.relative_to(collections_path)): pth
+ for pth in collections_path.iterdir()
+ if pth.is_dir()
+ }
+
+
+def initialize(manager: WildcardManager):
+ global wildcard_manager
+ wildcard_manager = manager
+ script_callbacks.on_ui_tabs(on_ui_tabs)
+
+
+def _format_node_for_json(
+ wildcard_manager: WildcardManager,
+ node: WildcardTreeNode,
+) -> list[dict]:
+ collections = [
+ {
+ "name": node.qualify_name(coll),
+ "wrappedName": wildcard_manager.to_wildcard(node.qualify_name(coll)),
+ "children": [],
+ }
+ for coll in sorted(node.collections)
+ ]
+ child_items = [
+ {"name": name, "children": _format_node_for_json(wildcard_manager, child_node)}
+ for name, child_node in sorted(node.child_nodes.items())
+ ]
+ return [*collections, *child_items]
+
+
+def get_wildcard_hierarchy_for_json():
+ return _format_node_for_json(wildcard_manager, wildcard_manager.tree.root)
+
+
+def on_ui_tabs():
+ help_html = f"""
+
+ Create your wildcard library by copying a collection using the dropdown in the Collection actions.
+ Click on the files that appear in the tree to edit them.
+ Use the wildcard in your script by typing the name of the file or copying the text from the Wildcards file text box.
+ You can also add your own wildcard files to the {wildcard_manager.path} folder.
+
+ """
+
+ with gr.Blocks() as wildcards_tab:
+ with gr.Row():
+ with gr.Column():
+ gr.Textbox(
+ placeholder="Search in wildcard names...",
+ elem_id=make_element_id("wildcard-search"),
+ label="",
+ )
+ gr.HTML("Loading...", elem_id=make_element_id("wildcard-tree"))
+ with gr.Accordion("Help", open=False):
+ gr.HTML(help_html)
+ with gr.Accordion("Collection actions", open=False):
+ collection_dropdown = gr.Dropdown(
+ choices=sorted(get_collection_dirs()),
+ type="value",
+ label="Select a collection",
+ )
+ with gr.Row():
+ collection_copy_button = gr.Button(
+ "Copy collection",
+ full_width=True,
+ )
+ overwrite_checkbox = gr.Checkbox(
+ label="Overwrite existing",
+ value=False,
+ )
+ with gr.Row():
+ refresh_wildcards_button = gr.Button(
+ "Refresh wildcards",
+ elem_id=make_element_id("wildcard-load-tree-button"),
+ )
+ delete_tree_button = gr.Button(
+ "Delete all wildcards",
+ elem_id=make_element_id("wildcard-delete-tree-button"),
+ )
+ with gr.Column():
+ gr.Textbox(
+ "",
+ elem_id=make_element_id("wildcard-file-name"),
+ interactive=False,
+ label="Wildcards file",
+ )
+ gr.Textbox(
+ "",
+ elem_id=make_element_id("wildcard-file-editor"),
+ lines=10,
+ interactive=True,
+ label="File editor",
+ )
+ save_button = gr.Button(
+ "Save wildcards",
+ full_width=True,
+ elem_id=make_element_id("wildcard-save-button"),
+ )
+
+ # Hidden scratch textboxes and button for communication with JS bits.
+ client_to_server_message_textbox = gr.Textbox(
+ "",
+ elem_id=make_element_id("wildcard-c2s-message-textbox"),
+ visible=False,
+ )
+ server_to_client_message_textbox = gr.Textbox(
+ "",
+ elem_id=make_element_id("wildcard-s2c-message-textbox"),
+ visible=False,
+ )
+ client_to_server_message_action_button = gr.Button(
+ "Action",
+ elem_id=make_element_id("wildcard-c2s-action-button"),
+ visible=False,
+ )
+
+ # Handle the frontend sending a message
+ client_to_server_message_action_button.click(
+ handle_message,
+ inputs=[client_to_server_message_textbox],
+ outputs=[server_to_client_message_textbox],
+ )
+
+ refresh_wildcards_button.click(
+ refresh_wildcards_callback,
+ inputs=[],
+ outputs=[server_to_client_message_textbox],
+ )
+
+ delete_tree_button.click(
+ delete_tree_callback,
+ _js="SDDP.onDeleteTreeClick",
+ inputs=[client_to_server_message_textbox],
+ outputs=[server_to_client_message_textbox],
+ )
+
+ save_button.click(
+ save_file_callback,
+ _js="SDDP.onSaveFileClick",
+ inputs=[client_to_server_message_textbox],
+ outputs=[server_to_client_message_textbox],
+ )
+
+ collection_copy_button.click(
+ copy_collection_callback,
+ inputs=[overwrite_checkbox, collection_dropdown],
+ outputs=[server_to_client_message_textbox],
+ )
+
+ return ((wildcards_tab, "Wildcards Manager", "sddp-wildcard-manager"),)
+
+
+def create_payload(*, action: str, success: bool, **rest) -> str:
+ return json.dumps(
+ {
+ "id": random.randint(0, 1000000),
+ "action": action,
+ "success": success,
+ **rest,
+ },
+ )
+
+
+def copy_collection_callback(overwrite_checkbox, collection):
+ collection_paths = get_collection_dirs()
+ if collection in collection_paths:
+ collection_path = collection_paths[collection]
+ for file in collection_path.glob("**/*"):
+ if file.is_file():
+ target_path = (
+ wildcard_manager.path
+ / collection
+ / file.relative_to(collection_path)
+ )
+ if not target_path.exists() or overwrite_checkbox:
+ target_path.parent.mkdir(parents=True, exist_ok=True)
+ shutil.copy(file, target_path)
+
+ return refresh_wildcards_callback()
+
+ return create_payload(
+ action=COPY_COLLECTION_ACTION,
+ success=False,
+ )
+
+
+def refresh_wildcards_callback():
+ wildcard_manager.clear_cache()
+ return create_payload(
+ action=LOAD_TREE_ACTION,
+ success=True,
+ tree=get_wildcard_hierarchy_for_json(),
+ )
+
+
+def delete_tree_callback(confirm_delete):
+ if confirm_delete == "True":
+ send2trash(wildcard_manager.path)
+ wildcard_manager.path.mkdir(parents=True, exist_ok=True)
+ return refresh_wildcards_callback()
+ return create_payload(action="delete tree", success=False)
+
+
+def handle_message(event_str: str) -> str:
+ try:
+ event = json.loads(event_str)
+ if event["action"] == LOAD_FILE_ACTION:
+ return handle_load_wildcard(event)
+ raise ValueError(f"Unknown event: {event}")
+ except Exception as e:
+ traceback.print_exc()
+ return create_payload(
+ action=MESSAGE_PROCESSING_ACTION,
+ success=False,
+ message=f"Error processing message: {e}",
+ )
+
+
+def handle_load_wildcard(event: dict) -> str:
+ name = event["name"]
+ wf = wildcard_manager.get_file(name)
+ if isinstance(wf, WildcardTextFile):
+ # For text files, just return the raw text.
+ contents = wf.read_text()
+ can_edit = True
+ else:
+ # Otherwise, return a preview of the values,
+ # with a header to indicate that the file can't be edited.
+ values = "\n".join(wf.get_values())
+ contents = f"# File can't be edited\n{values}"
+ can_edit = False
+
+ return create_payload(
+ action=LOAD_FILE_ACTION,
+ success=True,
+ contents=contents,
+ can_edit=can_edit,
+ name=name,
+ wrapped_name=wildcard_manager.to_wildcard(name),
+ )
+
+
+def save_file_callback(event_str: str):
+ try:
+ event = json.loads(event_str)
+ wf = wildcard_manager.get_file(event["wildcard"]["name"])
+ if isinstance(wf, WildcardTextFile):
+ wf.write_text(event["contents"].strip())
+ else:
+ raise Exception("Can't save non-text files")
+ wildcard_manager.clear_cache()
+ return handle_load_wildcard({"name": event["wildcard"]["name"]})
+ except Exception as e:
+ logger.exception(e)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/style.css b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/style.css
new file mode 100644
index 0000000000000000000000000000000000000000..9fc93f79d7ac8d0fb19f912ce817e68dba9e89c2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/style.css
@@ -0,0 +1,68 @@
+#dynamic-prompting .content {
+ padding: 0 18px;
+ display: none;
+ overflow: hidden;
+ border: 1px solid #eee;
+ border-right-style: solid;
+ border-bottom-style: solid;
+ border-left-style: solid;
+ border-radius: 0px 0px 8px 8px;
+}
+
+#dynamic-prompting .codeblock {
+ color: #50a080;
+}
+
+/* Fixes up the quite hard-to-see border on the collections dropdown */
+#tab_sddp-wildcard-manager ul.options {
+ border: var(--input-border-width) solid var(--border-color-primary);
+ border-radius: var(--input-radius);
+}
+
+.dark #dynamic-prompting .collapsible {
+ background-color: rgb(31, 41, 55);
+ border: 2px solid rgb(31, 41, 55);
+}
+
+.dark #dynamic-prompting .active, .collapsible:hover {
+ background-color: #06080D;
+ border: 2px solid #06080D;
+}
+
+.dark #dynamic-prompting .content {
+ border: 2px solid #0C111C;
+}
+
+#dynamic-prompting h2 {
+ font-size: 1.2em;
+ font-weight: bolder;
+}
+
+#dynamic-prompting h3 {
+ font-size: 1.1em;
+ font-weight: bolder;
+}
+
+#dynamic-prompting a {
+ color: #50a080;
+}
+
+.sddp-warning {
+ color: red !important;
+}
+
+.sddp-info {
+ color: rgb(121, 240, 10) !important;
+}
+
+.tree-leaf { position: relative; }
+.tree-leaf .tree-child-leaves { display: block; margin-left: 15px; }
+.tree-leaf .hidden { display: none; }
+.tree-leaf .tree-expando { background: #ddd; border-radius: 3px; cursor: pointer; float: left; height: 10px; line-height: 10px; position: relative; text-align: center; top: 5px; width: 10px; }
+
+.tree-leaf .hidden { visibility: hidden; }
+.tree-leaf .tree-expando:hover { background: #aaa; }
+.tree-leaf .tree-leaf-text { cursor: pointer; float: left; margin-left: 5px; }
+.tree-leaf .tree-leaf-text:hover { color: blue; }
+.tree-leaf .tree-leaf-content:before, .tree-leaf .tree-leaf-content:after { content: " "; display: table; }
+.tree-leaf .tree-leaf-content:after { clear: both; }
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/tests/conftest.py b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/tests/conftest.py
new file mode 100644
index 0000000000000000000000000000000000000000..5cce4bfe60587710b21ff75f633edd0b0936280c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/tests/conftest.py
@@ -0,0 +1,101 @@
+from __future__ import annotations
+
+import dataclasses
+import sys
+import types
+from unittest.mock import MagicMock, Mock
+
+import pytest
+
+
+@dataclasses.dataclass
+class MockProcessing:
+ seed: int
+ subseed: int
+ all_seeds: list[int]
+ all_subseeds: list[int]
+ subseed_strength: float
+ prompt: str = ""
+ negative_prompt: str = ""
+ hr_prompt: str = ""
+ hr_negative_prompt: str = ""
+ n_iter: int = 1
+ batch_size: int = 1
+ enable_hr: bool = False
+ all_prompts: list[str] = dataclasses.field(default_factory=list)
+ all_hr_prompts: list[str] = dataclasses.field(default_factory=list)
+ all_negative_prompts: list[str] = dataclasses.field(default_factory=list)
+ all_hr_negative_prompts: list[str] = dataclasses.field(default_factory=list)
+
+ def set_prompt_for_test(self, prompt):
+ self.prompt = prompt
+ self.hr_prompt = prompt
+ self.all_prompts = [prompt] * self.n_iter * self.batch_size
+ self.all_hr_prompts = self.all_prompts.copy()
+
+ def set_negative_prompt_for_test(self, negative_prompt):
+ self.negative_prompt = negative_prompt
+ self.hr_negative_prompt = negative_prompt
+ self.all_negative_prompts = [negative_prompt] * self.n_iter * self.batch_size
+ self.all_hr_negative_prompts = self.all_negative_prompts.copy()
+
+
+@pytest.fixture
+def processing() -> MockProcessing:
+ p = MockProcessing(
+ seed=1000,
+ subseed=2000,
+ all_seeds=list(range(3000, 3000 + 10)),
+ all_subseeds=list(range(4000, 4000 + 10)),
+ subseed_strength=0,
+ )
+ p.set_prompt_for_test("beautiful sheep")
+ p.set_negative_prompt_for_test("ugly")
+ return p
+
+
+@pytest.fixture
+def monkeypatch_webui(monkeypatch, tmp_path):
+ """
+ Patch sys.modules to look like we have a (partial) WebUI installation.
+ """
+ import torch
+
+ fake_webui = {
+ "gradio": {"__getattr__": MagicMock()},
+ "modules": {},
+ "modules.scripts": {"Script": object, "basedir": lambda: str(tmp_path)},
+ "modules.devices": {"device": torch.device("cpu")},
+ "modules.processing": {"fix_seed": Mock()},
+ "modules.shared": {
+ "opts": types.SimpleNamespace(
+ dp_auto_purge_cache=True,
+ dp_ignore_whitespace=True,
+ dp_limit_jinja_prompts=False,
+ dp_magicprompt_batch_size=1,
+ dp_parser_variant_end="}",
+ dp_parser_variant_start="{",
+ dp_parser_wildcard_wrap="__",
+ dp_wildcard_manager_no_dedupe=False,
+ dp_wildcard_manager_no_sort=False,
+ dp_wildcard_manager_shuffle=False,
+ dp_write_prompts_to_file=False,
+ dp_write_raw_template=False,
+ ),
+ },
+ "modules.script_callbacks": {
+ "ImageSaveParams": object,
+ "__getattr__": MagicMock(),
+ },
+ "modules.generation_parameters_copypaste": {
+ "parse_generation_parameters": Mock(),
+ },
+ }
+
+ for module_name, contents in fake_webui.items():
+ if module_name in sys.modules:
+ continue
+ mod = types.ModuleType(module_name)
+ for name, obj in contents.items():
+ setattr(mod, name, obj)
+ monkeypatch.setitem(sys.modules, module_name, mod)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/tests/prompts/test_attention_generator.py b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/tests/prompts/test_attention_generator.py
new file mode 100644
index 0000000000000000000000000000000000000000..a7d593f4d5490847047ccbbba4be4d944f44cc19
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/tests/prompts/test_attention_generator.py
@@ -0,0 +1,20 @@
+import pytest
+
+from sd_dynamic_prompts.attention_generator import SpecialSyntaxAwareAttentionGenerator
+
+
+@pytest.mark.slow
+def test_default_generator():
+ pytest.importorskip("spacy")
+ generator = SpecialSyntaxAwareAttentionGenerator()
+ for prompt in generator.generate(
+ "purple cat singing opera, artistic, painting "
+ " ",
+ 5,
+ ):
+ # These must remain unchanged
+ assert "" in prompt
+ assert "" in prompt
+ # but we should expect to see the emphasis added in other words
+ assert "(purple" in prompt or "(artistic" in prompt or "(painting" in prompt
+ assert ")" in prompt
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/tests/prompts/test_frozenprompt_generator.py b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/tests/prompts/test_frozenprompt_generator.py
new file mode 100644
index 0000000000000000000000000000000000000000..8b17db84e3ddaabff9977fa2def95d26db6abf52
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/tests/prompts/test_frozenprompt_generator.py
@@ -0,0 +1,20 @@
+from dynamicprompts.generators import RandomPromptGenerator
+
+from sd_dynamic_prompts.frozenprompt_generator import FrozenPromptGenerator
+
+
+def test_repeats_correctly():
+ generator = FrozenPromptGenerator(
+ RandomPromptGenerator(unlink_seed_from_prompt=True),
+ )
+ template = "{A|B|C|D|E|F|G|H|I|J|K}"
+ prompts = generator.generate(template, 40)
+
+ assert len(prompts) == 40
+ assert len(set(prompts)) == 1
+
+ prompts2 = generator.generate(template, 40)
+
+ assert len(prompts2) == 40
+ assert len(set(prompts2)) == 1
+ assert prompts[0] != prompts2[0]
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/tests/prompts/test_generator_builder.py b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/tests/prompts/test_generator_builder.py
new file mode 100644
index 0000000000000000000000000000000000000000..4581e5e507c285b22b72f758f9d278d7a330cbe4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/tests/prompts/test_generator_builder.py
@@ -0,0 +1,31 @@
+from unittest.mock import patch
+
+from dynamicprompts.generators.magicprompt import MagicPromptGenerator
+from dynamicprompts.wildcards import WildcardManager
+
+from sd_dynamic_prompts.frozenprompt_generator import FrozenPromptGenerator
+from sd_dynamic_prompts.generator_builder import GeneratorBuilder
+
+
+def test_magic_blocklist_regexp(tmp_path):
+ gb = GeneratorBuilder(
+ wildcard_manager=WildcardManager(tmp_path),
+ )
+ gb.set_seed(42) # TODO: not setting a seed makes the test fail
+ popular_artist = "grug retkawsky"
+ gb.set_is_magic_prompt(
+ magic_blocklist_regex=popular_artist,
+ magic_model="some model",
+ )
+ with patch("dynamicprompts.generators.magicprompt.MagicPromptGenerator.set_model"):
+ gen = gb.create_generator()
+ assert isinstance(gen, MagicPromptGenerator)
+ assert gen._blocklist_regex.pattern == popular_artist
+
+
+def test_frozen_generator(tmp_path):
+ gb = GeneratorBuilder(wildcard_manager=WildcardManager(tmp_path)).set_freeze_prompt(
+ True,
+ )
+ gen = gb.create_generator()
+ assert type(gen) == FrozenPromptGenerator
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/tests/prompts/test_helpers.py b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/tests/prompts/test_helpers.py
new file mode 100644
index 0000000000000000000000000000000000000000..e6bcf49882baf19c5f8d56975e63801613bf6711
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/tests/prompts/test_helpers.py
@@ -0,0 +1,177 @@
+from __future__ import annotations
+
+from unittest import mock
+
+import pytest
+
+from sd_dynamic_prompts.helpers import (
+ generate_prompt_cross_product,
+ generate_prompts,
+ get_seeds,
+ load_magicprompt_models,
+)
+
+
+def test_get_seeds_with_fixed_seed(processing):
+ num_seeds = 10
+
+ seeds, subseeds = get_seeds(processing, num_seeds, use_fixed_seed=True)
+ assert seeds == [processing.seed] * num_seeds
+ assert subseeds == [processing.subseed] * num_seeds
+
+ processing.subseed_strength = 0.5
+
+ seeds, subseeds = get_seeds(processing, num_seeds, use_fixed_seed=True)
+ assert seeds == [processing.all_seeds[0]] * num_seeds
+ assert subseeds == [processing.all_subseeds[0]] * num_seeds
+
+
+def test_get_seeds_with_fixed_seed_batched_combinatorial(processing):
+ num_seeds = 10
+ combinatorial_batches = 3
+ seeds, subseeds = get_seeds(
+ processing,
+ num_seeds,
+ use_fixed_seed=True,
+ is_combinatorial=True,
+ combinatorial_batches=combinatorial_batches,
+ )
+ seed0 = processing.seed
+ assert seeds == (
+ [seed0] * (num_seeds // 3)
+ + [seed0 + 1] * (num_seeds // 3)
+ + [seed0 + 2] * (num_seeds // 3)
+ )
+ assert subseeds == [processing.subseed] * num_seeds
+
+ processing.subseed_strength = 0.5
+
+ seeds, subseeds = get_seeds(
+ processing,
+ num_seeds,
+ use_fixed_seed=True,
+ is_combinatorial=True,
+ combinatorial_batches=combinatorial_batches,
+ )
+ seed0 = processing.all_seeds[0]
+ assert seeds == (
+ [seed0] * (num_seeds // 3)
+ + [seed0 + 1] * (num_seeds // 3)
+ + [seed0 + 2] * (num_seeds // 3)
+ )
+ assert subseeds == [processing.all_subseeds[0]] * num_seeds
+
+
+def test_get_seeds_with_random_seed(processing):
+ num_seeds = 10
+
+ seed, subseed = processing.seed, processing.subseed
+ seeds, subseeds = get_seeds(processing, num_seeds=num_seeds, use_fixed_seed=False)
+ assert seeds == list(range(seed, seed + num_seeds))
+ assert subseeds == list(range(subseed, subseed + num_seeds))
+
+ processing.subseed_strength = 0.5
+
+ seed, subseed = processing.all_seeds[0], processing.all_subseeds[0]
+ seeds, subseeds = get_seeds(processing, num_seeds=num_seeds, use_fixed_seed=False)
+ assert seeds == [seed] * num_seeds
+ assert subseeds == list(range(subseed, subseed + num_seeds))
+
+
+def test_load_magicprompt_models(tmp_path):
+ s = """# a comment
+model1 # another comment
+# empty lines below
+
+
+model 2
+
+
+ """
+ p = tmp_path / "magicprompt_models.txt"
+ p.write_text(s)
+ assert load_magicprompt_models(p) == ["model1", "model 2"]
+
+
+def test_cross_product():
+ prompts = []
+ negative_prompts = []
+ expected_output = [], []
+ assert generate_prompt_cross_product(prompts, negative_prompts) == expected_output
+
+ prompts = ["A", "B", "C"]
+ negative_prompts = ["X", "Y"]
+ expected_output = (["A", "A", "B", "B", "C", "C"], ["X", "Y", "X", "Y", "X", "Y"])
+ assert generate_prompt_cross_product(prompts, negative_prompts) == expected_output
+
+
+@pytest.mark.parametrize("num_prompts", [5, None])
+def test_generate_with_num_prompts(num_prompts: int | None):
+ prompt_generator = mock.Mock()
+ negative_prompt_generator = mock.Mock()
+ prompt_generator.generate.return_value = [
+ "Positive Prompt 1",
+ "Positive Prompt 2",
+ "Positive Prompt 3",
+ "Positive Prompt 4",
+ "Positive Prompt 5",
+ ]
+ negative_prompt_generator.generate.return_value = [
+ "Negative Prompt 1",
+ "Negative Prompt 2",
+ ]
+ prompt = "This is a positive prompt."
+ negative_prompt = "This is a negative prompt."
+ seeds = [1, 2, 3, 4, 5]
+
+ positive_prompts, negative_prompts = generate_prompts(
+ prompt_generator,
+ negative_prompt_generator,
+ prompt,
+ negative_prompt,
+ num_prompts,
+ seeds,
+ )
+ assert isinstance(positive_prompts, list)
+ assert isinstance(negative_prompts, list)
+
+ if num_prompts:
+ assert positive_prompts == [
+ "Positive Prompt 1",
+ "Positive Prompt 2",
+ "Positive Prompt 3",
+ "Positive Prompt 4",
+ "Positive Prompt 5",
+ ]
+ assert negative_prompts == [
+ "Negative Prompt 1",
+ "Negative Prompt 2",
+ "Negative Prompt 1",
+ "Negative Prompt 2",
+ "Negative Prompt 1",
+ ]
+ else:
+ assert positive_prompts == [
+ "Positive Prompt 1",
+ "Positive Prompt 1",
+ "Positive Prompt 2",
+ "Positive Prompt 2",
+ "Positive Prompt 3",
+ "Positive Prompt 3",
+ "Positive Prompt 4",
+ "Positive Prompt 4",
+ "Positive Prompt 5",
+ "Positive Prompt 5",
+ ]
+ assert negative_prompts == [
+ "Negative Prompt 1",
+ "Negative Prompt 2",
+ "Negative Prompt 1",
+ "Negative Prompt 2",
+ "Negative Prompt 1",
+ "Negative Prompt 2",
+ "Negative Prompt 1",
+ "Negative Prompt 2",
+ "Negative Prompt 1",
+ "Negative Prompt 2",
+ ]
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/tests/prompts/ui/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/tests/prompts/ui/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/tests/prompts/ui/test_pnginfo_saver.py b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/tests/prompts/ui/test_pnginfo_saver.py
new file mode 100644
index 0000000000000000000000000000000000000000..073b0b6f2b55eadac6a512ac79fda76f7003a22e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/tests/prompts/ui/test_pnginfo_saver.py
@@ -0,0 +1,95 @@
+from typing import Any
+
+import pytest
+
+from sd_dynamic_prompts.pnginfo_saver import PngInfoSaver, PromptTemplates
+
+
+@pytest.fixture
+def basic_parameters():
+ return {
+ "Prompt": "",
+ "Negative prompt": "",
+ "Clip skip": "1",
+ "Hires resize-1": 0,
+ "Hires resize-2": 0,
+ }
+
+
+def test_update_pnginfo() -> None:
+ png_info_saver = PngInfoSaver()
+ image_prompts = PromptTemplates("Template", "Negative Template")
+ parameters = "Parameters"
+ updated_parameters = png_info_saver.update_pnginfo(parameters, image_prompts)
+
+ assert (
+ updated_parameters
+ == f"Parameters\nTemplate: {image_prompts.positive_template}\nNegative Template: {image_prompts.negative_template}"
+ )
+
+ image_prompts.positive_template = ""
+ updated_parameters = png_info_saver.update_pnginfo(parameters, image_prompts)
+ assert (
+ updated_parameters
+ == f"Parameters\nNegative Template: {image_prompts.negative_template}"
+ )
+
+ image_prompts.positive_template = "Positive Template"
+ image_prompts.negative_template = ""
+ updated_parameters = png_info_saver.update_pnginfo(parameters, image_prompts)
+ assert (
+ updated_parameters == f"Parameters\nTemplate: {image_prompts.positive_template}"
+ )
+
+
+BASIC_PARAMETERS = "Steps: 35, Sampler: Heun, CFG scale: 9, Seed: 77777, Size: 640x640, Model hash: d8691b4d16"
+
+
+def build_parameters(positive_template, negative_template):
+ template = positive_template if not negative_template else negative_template
+
+ s = f"{template}\n{BASIC_PARAMETERS}"
+
+ if positive_template:
+ s += f"\nTemplate: {positive_template}"
+ if negative_template:
+ s += f"\nNegative Template: {negative_template}"
+
+ return s
+
+
+@pytest.mark.parametrize(
+ ("positive_prompt", "negative_prompt"),
+ [
+ ("positive text", "negative text"),
+ ("positive text", "negative text\nwith\nlines"),
+ ("No negative prompt", ""),
+ ("", "No positive prompt"),
+ ],
+)
+def test_remove_template_from_infotext(
+ basic_parameters: dict[str, Any],
+ positive_prompt: str,
+ negative_prompt: str,
+) -> None:
+ png_info_saver = PngInfoSaver()
+ if not negative_prompt:
+ basic_parameters["Prompt"] = build_parameters(positive_prompt, negative_prompt)
+ basic_parameters["Negative prompt"] = ""
+ else:
+ basic_parameters["Prompt"] = positive_prompt
+ basic_parameters["Negative prompt"] = build_parameters(
+ positive_prompt,
+ negative_prompt,
+ )
+
+ png_info_saver.strip_template_info(basic_parameters)
+
+ if negative_prompt:
+ assert basic_parameters["Prompt"] == positive_prompt
+ assert (
+ basic_parameters["Negative prompt"]
+ == f"{negative_prompt}\n{BASIC_PARAMETERS}"
+ )
+ else:
+ assert basic_parameters["Prompt"] == f"{positive_prompt}\n{BASIC_PARAMETERS}"
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/tests/prompts/ui/test_prompt_writer.py b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/tests/prompts/ui/test_prompt_writer.py
new file mode 100644
index 0000000000000000000000000000000000000000..82ea3b366c8de63b0e991a69c47868d522e407cb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/tests/prompts/ui/test_prompt_writer.py
@@ -0,0 +1,94 @@
+from tempfile import NamedTemporaryFile
+
+import pytest
+
+from sd_dynamic_prompts.prompt_writer import PromptWriter
+
+
+@pytest.fixture()
+def prompt_writer() -> PromptWriter:
+ return PromptWriter()
+
+
+@pytest.fixture()
+def populated_prompt_writer() -> PromptWriter:
+ prompt_writer = PromptWriter()
+ prompt_writer.set_data(
+ positive_template="positive",
+ negative_template="negative",
+ positive_prompts=["positive1", "positive2"],
+ negative_prompts=["negative1", "negative2"],
+ )
+ return prompt_writer
+
+
+class TestPromptWriter:
+ def _write_to_file(self, prompt_writer: PromptWriter) -> None:
+ with NamedTemporaryFile("w", encoding="utf-8", delete=True) as f:
+ prompt_writer.write_prompts(f.name)
+
+ def _checks_writes_empty_file(self, prompt_writer: PromptWriter) -> bool:
+ with NamedTemporaryFile("w", encoding="utf-8", delete=True) as f:
+ prompt_writer.write_prompts(f.name)
+ output = open(f.name).read()
+ return output == ""
+
+ def test_default_disabled(self, prompt_writer: PromptWriter) -> None:
+ assert prompt_writer.enabled is False
+
+ def test_reset(self, prompt_writer: PromptWriter) -> None:
+ prompt_writer._already_saved = True
+ prompt_writer._positive_template = "positive"
+ prompt_writer._negative_template = "negative"
+ prompt_writer._positive_prompts = ["positive1", "positive2"]
+ prompt_writer._negative_prompts = ["negative1", "negative2"]
+
+ prompt_writer.reset()
+
+ assert prompt_writer._already_saved is False
+ assert prompt_writer._positive_template == ""
+ assert prompt_writer._negative_template == ""
+ assert prompt_writer._positive_prompts == []
+ assert prompt_writer._negative_prompts == []
+
+ def test_set_data(self, populated_prompt_writer: PromptWriter) -> None:
+ assert populated_prompt_writer._positive_template == "positive"
+ assert populated_prompt_writer._negative_template == "negative"
+ assert populated_prompt_writer._positive_prompts == ["positive1", "positive2"]
+ assert populated_prompt_writer._negative_prompts == ["negative1", "negative2"]
+
+ def test_doesnt_write_when_disabled(
+ self,
+ populated_prompt_writer: PromptWriter,
+ ) -> None:
+ populated_prompt_writer.enabled = False
+ assert self._checks_writes_empty_file(populated_prompt_writer)
+
+ def test_write_prompts(self, populated_prompt_writer: PromptWriter) -> None:
+ populated_prompt_writer.enabled = True
+
+ with NamedTemporaryFile("w", encoding="utf-8", delete=True) as f:
+ populated_prompt_writer.write_prompts(f.name)
+ with open(f.name) as f2:
+ lines = f2.read().splitlines()
+
+ assert lines == [
+ "positive_prompt,negative_prompt",
+ "positive,negative",
+ "positive1,negative1",
+ "positive2,negative2",
+ ]
+
+ def test_only_write_once(self, populated_prompt_writer: PromptWriter) -> None:
+ populated_prompt_writer.enabled = True
+
+ self._write_to_file(populated_prompt_writer)
+ assert self._checks_writes_empty_file(populated_prompt_writer)
+
+ def test_writes_after_reset(self, populated_prompt_writer: PromptWriter) -> None:
+ populated_prompt_writer.enabled = True
+ self._write_to_file(populated_prompt_writer)
+
+ populated_prompt_writer.reset()
+
+ assert not self._checks_writes_empty_file(populated_prompt_writer)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/tests/test_callbacks.py b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/tests/test_callbacks.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/tests/test_paths.py b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/tests/test_paths.py
new file mode 100644
index 0000000000000000000000000000000000000000..9a07dce7c33143605ff01639111f983e6771a922
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/tests/test_paths.py
@@ -0,0 +1,11 @@
+from sd_dynamic_prompts.paths import (
+ get_extension_base_path,
+ get_magicprompt_models_txt_path,
+ get_wildcard_dir,
+)
+
+
+def test_get_paths():
+ assert get_extension_base_path().is_dir()
+ assert get_magicprompt_models_txt_path().is_file()
+ assert get_wildcard_dir().is_dir()
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/tests/test_script.py b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/tests/test_script.py
new file mode 100644
index 0000000000000000000000000000000000000000..eecb2ab4ecefe9bb4ebf78afd9c9f14b93e408e3
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-dynamic-prompts/tests/test_script.py
@@ -0,0 +1,55 @@
+import pytest
+
+
+@pytest.mark.parametrize("enable_hr", [True, False], ids=["yes_hr", "no_hr"])
+@pytest.mark.parametrize("is_combinatorial", [True, False], ids=["yes_comb", "no_comb"])
+def test_script(
+ monkeypatch,
+ monkeypatch_webui,
+ processing,
+ enable_hr,
+ is_combinatorial,
+):
+ from scripts.dynamic_prompting import Script
+
+ s = Script()
+ if not is_combinatorial:
+ processing.batch_size = 3
+ processing.set_prompt_for_test("{red|green|blue} ball")
+ processing.set_negative_prompt_for_test("ugly")
+ processing.enable_hr = enable_hr
+ s.process(
+ p=processing,
+ is_enabled=True,
+ is_combinatorial=is_combinatorial,
+ combinatorial_batches=1,
+ is_magic_prompt=False,
+ is_feeling_lucky=False,
+ is_attention_grabber=False,
+ min_attention=0,
+ max_attention=1,
+ magic_prompt_length=0,
+ magic_temp_value=1,
+ use_fixed_seed=False,
+ unlink_seed_from_prompt=False,
+ disable_negative_prompt=False,
+ enable_jinja_templates=False,
+ no_image_generation=False,
+ max_generations=0,
+ magic_model="magic",
+ magic_blocklist_regex=None,
+ )
+ assert isinstance(processing.all_prompts, list)
+ assert isinstance(processing.all_negative_prompts, list)
+ assert isinstance(processing.all_hr_prompts, list)
+ assert isinstance(processing.all_hr_negative_prompts, list)
+
+ if is_combinatorial:
+ assert processing.all_prompts == ["red ball", "green ball", "blue ball"]
+ assert processing.all_negative_prompts == ["ugly"] * 3
+
+ if enable_hr:
+ assert processing.all_hr_prompts == processing.all_prompts
+ assert processing.all_hr_negative_prompts == processing.all_negative_prompts
+ else:
+ assert len(processing.all_prompts) == 3 # can't assert on the contents
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/.github/ISSUE_TEMPLATE/bug_report.yml b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/.github/ISSUE_TEMPLATE/bug_report.yml
new file mode 100644
index 0000000000000000000000000000000000000000..ce58f6775fbefa358a2bf50562901ebe4898818c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/.github/ISSUE_TEMPLATE/bug_report.yml
@@ -0,0 +1,91 @@
+name: Bug Report
+description: Create a report
+title: "[Bug]: "
+labels: ["bug-report"]
+
+body:
+ - type: checkboxes
+ attributes:
+ label: Is there an existing issue for this?
+ description: Please search to see if an issue already exists for the bug you encountered, and that it hasn't been fixed in a recent build/commit.
+ options:
+ - label: I have searched the existing issues and checked the recent builds/commits of both this extension and the webui
+ required: true
+ - type: markdown
+ attributes:
+ value: |
+ *Please fill this form with as much information as possible, don't forget to fill "What OS..." and "What browsers" and *provide screenshots if possible**
+ - type: textarea
+ id: what-did
+ attributes:
+ label: What happened?
+ description: Tell us what happened in a very clear and simple way
+ validations:
+ required: true
+ - type: textarea
+ id: steps
+ attributes:
+ label: Steps to reproduce the problem
+ description: Please provide us with precise step by step information on how to reproduce the bug
+ value: |
+ 1. Go to ....
+ 2. Press ....
+ 3. ...
+ validations:
+ required: true
+ - type: textarea
+ id: what-should
+ attributes:
+ label: What should have happened?
+ description: Tell what you think the normal behavior should be
+ validations:
+ required: true
+ - type: textarea
+ id: commits
+ attributes:
+ label: Commit where the problem happens
+ description: Which commit of the extension are you running on? Please include the commit of both the extension and the webui (Do not write *Latest version/repo/commit*, as this means nothing and will have changed by the time we read your issue. Rather, copy the **Commit** link at the bottom of the UI, or from the cmd/terminal if you can't launch it.)
+ value: |
+ webui:
+ controlnet:
+ validations:
+ required: true
+ - type: dropdown
+ id: browsers
+ attributes:
+ label: What browsers do you use to access the UI ?
+ multiple: true
+ options:
+ - Mozilla Firefox
+ - Google Chrome
+ - Brave
+ - Apple Safari
+ - Microsoft Edge
+ - type: textarea
+ id: cmdargs
+ attributes:
+ label: Command Line Arguments
+ description: Are you using any launching parameters/command line arguments (modified webui-user .bat/.sh) ? If yes, please write them below. Write "No" otherwise.
+ render: Shell
+ validations:
+ required: true
+ - type: textarea
+ id: extensions
+ attributes:
+ label: List of enabled extensions
+ description: Please provide a full list of enabled extensions or screenshots of your "Extensions" tab.
+ validations:
+ required: true
+ - type: textarea
+ id: logs
+ attributes:
+ label: Console logs
+ description: Please provide full cmd/terminal logs from the moment you started UI to the end of it, after your bug happened. If it's very long, provide a link to pastebin or similar service.
+ render: Shell
+ validations:
+ required: true
+ - type: textarea
+ id: misc
+ attributes:
+ label: Additional information
+ description: Please provide us with any relevant additional info or context.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/.github/ISSUE_TEMPLATE/config.yml b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/.github/ISSUE_TEMPLATE/config.yml
new file mode 100644
index 0000000000000000000000000000000000000000..0086358db1eb971c0cfa8739c27518bbc18a5ff4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/.github/ISSUE_TEMPLATE/config.yml
@@ -0,0 +1 @@
+blank_issues_enabled: true
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/.github/workflows/tests.yml b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/.github/workflows/tests.yml
new file mode 100644
index 0000000000000000000000000000000000000000..657d95bb0786c4c0735e46a1f225f5b526baaebe
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/.github/workflows/tests.yml
@@ -0,0 +1,113 @@
+name: Run basic features tests on CPU
+
+on:
+ - push
+ - pull_request
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout Code
+ uses: actions/checkout@v3
+ with:
+ repository: 'AUTOMATIC1111/stable-diffusion-webui'
+ path: 'stable-diffusion-webui'
+ ref: '4afaaf8a020c1df457bcf7250cb1c7f609699fa7'
+ - name: Checkout Code
+ uses: actions/checkout@v3
+ with:
+ repository: 'Mikubill/sd-webui-controlnet'
+ path: 'stable-diffusion-webui/extensions/sd-webui-controlnet'
+ - name: Set up Python 3.10
+ uses: actions/setup-python@v4
+ with:
+ python-version: 3.10.6
+ cache: pip
+ cache-dependency-path: |
+ **/requirements*txt
+ launch.py
+ - name: Install test dependencies
+ run: |
+ pip install wait-for-it
+ pip install -r requirements-test.txt
+ working-directory: stable-diffusion-webui
+ env:
+ PIP_DISABLE_PIP_VERSION_CHECK: "1"
+ PIP_PROGRESS_BAR: "off"
+ - name: Setup environment
+ run: python launch.py --skip-torch-cuda-test --exit
+ working-directory: stable-diffusion-webui
+ env:
+ PIP_DISABLE_PIP_VERSION_CHECK: "1"
+ PIP_PROGRESS_BAR: "off"
+ TORCH_INDEX_URL: https://download.pytorch.org/whl/cpu
+ WEBUI_LAUNCH_LIVE_OUTPUT: "1"
+ PYTHONUNBUFFERED: "1"
+ - name: Cache ControlNet models
+ uses: actions/cache@v3
+ with:
+ path: stable-diffusion-webui/extensions/sd-webui-controlnet/models/
+ key: controlnet-models-v2
+ - name: Cache Preprocessor models
+ uses: actions/cache@v3
+ with:
+ path: stable-diffusion-webui/extensions/sd-webui-controlnet/annotator/downloads/
+ key: preprocessor-models-v1
+ - name: Download controlnet model for testing
+ run: |
+ declare -a urls=(
+ "https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11p_sd15_canny.pth"
+ "https://huggingface.co/h94/IP-Adapter/resolve/main/models/ip-adapter-full-face_sd15.safetensors"
+ "https://huggingface.co/h94/IP-Adapter/resolve/main/models/ip-adapter-plus-face_sd15.safetensors"
+ "https://huggingface.co/TencentARC/T2I-Adapter/resolve/main/models/t2iadapter_canny_sd15v2.pth"
+ )
+
+ for url in "${urls[@]}"; do
+ filename="extensions/sd-webui-controlnet/models/${url##*/}" # Extracts the last part of the URL
+ if [ ! -f "$filename" ]; then
+ curl -Lo "$filename" "$url"
+ fi
+ done
+ working-directory: stable-diffusion-webui
+ - name: Start test server
+ run: >
+ python -m coverage run
+ --data-file=.coverage.server
+ launch.py
+ --skip-prepare-environment
+ --skip-torch-cuda-test
+ --test-server
+ --do-not-download-clip
+ --no-half
+ --disable-opt-split-attention
+ --use-cpu all
+ --api-server-stop
+ 2>&1 | tee output.txt &
+ working-directory: stable-diffusion-webui
+ - name: Run tests
+ run: |
+ wait-for-it --service 127.0.0.1:7860 -t 600
+ python -m pytest -vv --junitxml=test/results.xml --cov ./extensions/sd-webui-controlnet --cov-report=xml --verify-base-url ./extensions/sd-webui-controlnet/tests
+ working-directory: stable-diffusion-webui
+ - name: Kill test server
+ if: always()
+ run: curl -vv -XPOST http://127.0.0.1:7860/sdapi/v1/server-stop && sleep 10
+ - name: Show coverage
+ run: |
+ python -m coverage combine .coverage*
+ python -m coverage report -i
+ python -m coverage html -i
+ working-directory: stable-diffusion-webui
+ - name: Upload main app output
+ uses: actions/upload-artifact@v3
+ if: always()
+ with:
+ name: output
+ path: stable-diffusion-webui/output.txt
+ - name: Upload coverage HTML
+ uses: actions/upload-artifact@v3
+ if: always()
+ with:
+ name: htmlcov
+ path: stable-diffusion-webui/htmlcov
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/.gitignore b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..3023c3c6c980df0b136549c8288d0c8662db8bf4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/.gitignore
@@ -0,0 +1,179 @@
+# Byte-compiled / optimized / DLL files
+__pycache__/
+*.py[cod]
+*$py.class
+
+# C extensions
+*.so
+
+# Distribution / packaging
+.Python
+build/
+develop-eggs/
+dist/
+downloads/
+eggs/
+.eggs/
+lib/
+lib64/
+parts/
+sdist/
+var/
+wheels/
+share/python-wheels/
+*.egg-info/
+.installed.cfg
+*.egg
+MANIFEST
+
+# PyInstaller
+# Usually these files are written by a python script from a template
+# before PyInstaller builds the exe, so as to inject date/other infos into it.
+*.manifest
+*.spec
+
+# Installer logs
+pip-log.txt
+pip-delete-this-directory.txt
+
+# Unit test / coverage reports
+htmlcov/
+.tox/
+.nox/
+.coverage
+.coverage.*
+.cache
+nosetests.xml
+coverage.xml
+*.cover
+*.py,cover
+.hypothesis/
+.pytest_cache/
+cover/
+
+# Translations
+*.mo
+*.pot
+
+# Django stuff:
+*.log
+local_settings.py
+db.sqlite3
+db.sqlite3-journal
+
+# Flask stuff:
+instance/
+.webassets-cache
+
+# Scrapy stuff:
+.scrapy
+
+# Sphinx documentation
+docs/_build/
+
+# PyBuilder
+.pybuilder/
+target/
+
+# Jupyter Notebook
+.ipynb_checkpoints
+
+# IPython
+profile_default/
+ipython_config.py
+
+# pyenv
+# For a library or package, you might want to ignore these files since the code is
+# intended to run in multiple environments; otherwise, check them in:
+# .python-version
+
+# pipenv
+# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
+# However, in case of collaboration, if having platform-specific dependencies or dependencies
+# having no cross-platform support, pipenv may install dependencies that don't work, or not
+# install all needed dependencies.
+#Pipfile.lock
+
+# poetry
+# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
+# This is especially recommended for binary packages to ensure reproducibility, and is more
+# commonly ignored for libraries.
+# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
+#poetry.lock
+
+# pdm
+# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
+#pdm.lock
+# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
+# in version control.
+# https://pdm.fming.dev/#use-with-ide
+.pdm.toml
+
+# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
+__pypackages__/
+
+# Celery stuff
+celerybeat-schedule
+celerybeat.pid
+
+# SageMath parsed files
+*.sage.py
+
+# Environments
+.env
+.venv
+env/
+venv/
+ENV/
+env.bak/
+venv.bak/
+
+# Spyder project settings
+.spyderproject
+.spyproject
+
+# Rope project settings
+.ropeproject
+
+# mkdocs documentation
+/site
+
+# mypy
+.mypy_cache/
+.dmypy.json
+dmypy.json
+
+# Pyre type checker
+.pyre/
+
+# pytype static type analyzer
+.pytype/
+
+# Cython debug symbols
+cython_debug/
+
+# PyCharm
+# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
+# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
+# and can be added to the global gitignore or merged into this file. For a more nuclear
+# option (not recommended) you can uncomment the following to ignore the entire idea folder.
+#.idea
+*.pt
+*.pth
+*.ckpt
+*.bin
+*.safetensors
+
+# Editor setting metadata
+.idea/
+.vscode/
+detected_maps/
+annotator/downloads/
+
+# test results and expectations
+web_tests/results/
+web_tests/expectations/
+*_diff.png
+
+# Presets
+presets/
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/LICENSE b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/LICENSE
new file mode 100644
index 0000000000000000000000000000000000000000..f288702d2fa16d3cdf0035b15a9fcbc552cd88e7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/LICENSE
@@ -0,0 +1,674 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc.
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+
+ Copyright (C)
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ Copyright (C)
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+ .
+
+ The GNU General Public License does not permit incorporating your program
+into proprietary programs. If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License. But first, please read
+.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/README.md b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..5ec6c4f82309cff8916f713b34097af3aff04ce2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/README.md
@@ -0,0 +1,242 @@
+# ControlNet for Stable Diffusion WebUI
+
+The WebUI extension for ControlNet and other injection-based SD controls.
+
+
+
+This extension is for AUTOMATIC1111's [Stable Diffusion web UI](https://github.com/AUTOMATIC1111/stable-diffusion-webui), allows the Web UI to add [ControlNet](https://github.com/lllyasviel/ControlNet) to the original Stable Diffusion model to generate images. The addition is on-the-fly, the merging is not required.
+
+# Installation
+
+1. Open "Extensions" tab.
+2. Open "Install from URL" tab in the tab.
+3. Enter `https://github.com/Mikubill/sd-webui-controlnet.git` to "URL for extension's git repository".
+4. Press "Install" button.
+5. Wait for 5 seconds, and you will see the message "Installed into stable-diffusion-webui\extensions\sd-webui-controlnet. Use Installed tab to restart".
+6. Go to "Installed" tab, click "Check for updates", and then click "Apply and restart UI". (The next time you can also use these buttons to update ControlNet.)
+7. Completely restart A1111 webui including your terminal. (If you do not know what is a "terminal", you can reboot your computer to achieve the same effect.)
+8. Download models (see below).
+9. After you put models in the correct folder, you may need to refresh to see the models. The refresh button is right to your "Model" dropdown.
+
+# Download Models
+
+Right now all the 14 models of ControlNet 1.1 are in the beta test.
+
+Download the models from ControlNet 1.1: https://huggingface.co/lllyasviel/ControlNet-v1-1/tree/main
+
+You need to download model files ending with ".pth" .
+
+Put models in your "stable-diffusion-webui\extensions\sd-webui-controlnet\models". You only need to download "pth" files.
+
+Do not right-click the filenames in HuggingFace website to download. Some users right-clicked those HuggingFace HTML websites and saved those HTML pages as PTH/YAML files. They are not downloading correct files. Instead, please click the small download arrow “↓” icon in HuggingFace to download.
+
+# Download Models for SDXL
+
+See instructions [here](https://github.com/Mikubill/sd-webui-controlnet/discussions/2039).
+
+# Features in ControlNet 1.1
+
+### Perfect Support for All ControlNet 1.0/1.1 and T2I Adapter Models.
+
+Now we have perfect support all available models and preprocessors, including perfect support for T2I style adapter and ControlNet 1.1 Shuffle. (Make sure that your YAML file names and model file names are same, see also YAML files in "stable-diffusion-webui\extensions\sd-webui-controlnet\models".)
+
+### Perfect Support for A1111 High-Res. Fix
+
+Now if you turn on High-Res Fix in A1111, each controlnet will output two different control images: a small one and a large one. The small one is for your basic generating, and the big one is for your High-Res Fix generating. The two control images are computed by a smart algorithm called "super high-quality control image resampling". This is turned on by default, and you do not need to change any setting.
+
+### Perfect Support for All A1111 Img2Img or Inpaint Settings and All Mask Types
+
+Now ControlNet is extensively tested with A1111's different types of masks, including "Inpaint masked"/"Inpaint not masked", and "Whole picture"/"Only masked", and "Only masked padding"&"Mask blur". The resizing perfectly matches A1111's "Just resize"/"Crop and resize"/"Resize and fill". This means you can use ControlNet in nearly everywhere in your A1111 UI without difficulty!
+
+### The New "Pixel-Perfect" Mode
+
+Now if you turn on pixel-perfect mode, you do not need to set preprocessor (annotator) resolutions manually. The ControlNet will automatically compute the best annotator resolution for you so that each pixel perfectly matches Stable Diffusion.
+
+### User-Friendly GUI and Preprocessor Preview
+
+We reorganized some previously confusing UI like "canvas width/height for new canvas" and it is in the 📝 button now. Now the preview GUI is controlled by the "allow preview" option and the trigger button 💥. The preview image size is better than before, and you do not need to scroll up and down - your a1111 GUI will not be messed up anymore!
+
+### Support for Almost All Upscaling Scripts
+
+Now ControlNet 1.1 can support almost all Upscaling/Tile methods. ControlNet 1.1 support the script "Ultimate SD upscale" and almost all other tile-based extensions. Please do not confuse ["Ultimate SD upscale"](https://github.com/Coyote-A/ultimate-upscale-for-automatic1111) with "SD upscale" - they are different scripts. Note that the most recommended upscaling method is ["Tiled VAE/Diffusion"](https://github.com/pkuliyi2015/multidiffusion-upscaler-for-automatic1111) but we test as many methods/extensions as possible. Note that "SD upscale" is supported since 1.1.117, and if you use it, you need to leave all ControlNet images as blank (We do not recommend "SD upscale" since it is somewhat buggy and cannot be maintained - use the "Ultimate SD upscale" instead).
+
+### More Control Modes (previously called Guess Mode)
+
+We have fixed many bugs in previous 1.0’s Guess Mode and now it is called Control Mode
+
+
+
+Now you can control which aspect is more important (your prompt or your ControlNet):
+
+* "Balanced": ControlNet on both sides of CFG scale, same as turning off "Guess Mode" in ControlNet 1.0
+
+* "My prompt is more important": ControlNet on both sides of CFG scale, with progressively reduced SD U-Net injections (layer_weight*=0.825**I, where 0<=I <13, and the 13 means ControlNet injected SD 13 times). In this way, you can make sure that your prompts are perfectly displayed in your generated images.
+
+* "ControlNet is more important": ControlNet only on the Conditional Side of CFG scale (the cond in A1111's batch-cond-uncond). This means the ControlNet will be X times stronger if your cfg-scale is X. For example, if your cfg-scale is 7, then ControlNet is 7 times stronger. Note that here the X times stronger is different from "Control Weights" since your weights are not modified. This "stronger" effect usually has less artifact and give ControlNet more room to guess what is missing from your prompts (and in the previous 1.0, it is called "Guess Mode").
+
+
+
+Input (depth+canny+hed)
+"Balanced"
+"My prompt is more important"
+"ControlNet is more important"
+
+
+
+
+
+
+
+
+
+### Reference-Only Control
+
+Now we have a `reference-only` preprocessor that does not require any control models. It can guide the diffusion directly using images as references.
+
+(Prompt "a dog running on grassland, best quality, ...")
+
+
+
+This method is similar to inpaint-based reference but it does not make your image disordered.
+
+Many professional A1111 users know a trick to diffuse image with references by inpaint. For example, if you have a 512x512 image of a dog, and want to generate another 512x512 image with the same dog, some users will connect the 512x512 dog image and a 512x512 blank image into a 1024x512 image, send to inpaint, and mask out the blank 512x512 part to diffuse a dog with similar appearance. However, that method is usually not very satisfying since images are connected and many distortions will appear.
+
+This `reference-only` ControlNet can directly link the attention layers of your SD to any independent images, so that your SD will read arbitary images for reference. You need at least ControlNet 1.1.153 to use it.
+
+To use, just select `reference-only` as preprocessor and put an image. Your SD will just use the image as reference.
+
+*Note that this method is as "non-opinioned" as possible. It only contains very basic connection codes, without any personal preferences, to connect the attention layers with your reference images. However, even if we tried best to not include any opinioned codes, we still need to write some subjective implementations to deal with weighting, cfg-scale, etc - tech report is on the way.*
+
+More examples [here](https://github.com/Mikubill/sd-webui-controlnet/discussions/1236).
+
+# Technical Documents
+
+See also the documents of ControlNet 1.1:
+
+https://github.com/lllyasviel/ControlNet-v1-1-nightly#model-specification
+
+# Default Setting
+
+This is my setting. If you run into any problem, you can use this setting as a sanity check
+
+
+
+# Use Previous Models
+
+### Use ControlNet 1.0 Models
+
+https://huggingface.co/lllyasviel/ControlNet/tree/main/models
+
+You can still use all previous models in the previous ControlNet 1.0. Now, the previous "depth" is now called "depth_midas", the previous "normal" is called "normal_midas", the previous "hed" is called "softedge_hed". And starting from 1.1, all line maps, edge maps, lineart maps, boundary maps will have black background and white lines.
+
+### Use T2I-Adapter Models
+
+(From TencentARC/T2I-Adapter)
+
+To use T2I-Adapter models:
+
+1. Download files from https://huggingface.co/TencentARC/T2I-Adapter/tree/main/models
+2. Put them in "stable-diffusion-webui\extensions\sd-webui-controlnet\models".
+3. Make sure that the file names of pth files and yaml files are consistent.
+
+*Note that "CoAdapter" is not implemented yet.*
+
+# Gallery
+
+The below results are from ControlNet 1.0.
+
+| Source | Input | Output |
+|:-------------------------:|:-------------------------:|:-------------------------:|
+| (no preprocessor) | | |
+| (no preprocessor) | | |
+| | | |
+| | | |
+| | | |
+| | | |
+
+The below examples are from T2I-Adapter.
+
+From `t2iadapter_color_sd14v1.pth` :
+
+| Source | Input | Output |
+|:-------------------------:|:-------------------------:|:-------------------------:|
+| | | |
+
+From `t2iadapter_style_sd14v1.pth` :
+
+| Source | Input | Output |
+|:-------------------------:|:-------------------------:|:-------------------------:|
+| | (clip, non-image) | |
+
+# Minimum Requirements
+
+* (Windows) (NVIDIA: Ampere) 4gb - with `--xformers` enabled, and `Low VRAM` mode ticked in the UI, goes up to 768x832
+
+# Multi-ControlNet
+
+This option allows multiple ControlNet inputs for a single generation. To enable this option, change `Multi ControlNet: Max models amount (requires restart)` in the settings. Note that you will need to restart the WebUI for changes to take effect.
+
+
+
+Source A
+Source B
+Output
+
+
+
+
+
+
+
+
+# Control Weight/Start/End
+
+Weight is the weight of the controlnet "influence". It's analogous to prompt attention/emphasis. E.g. (myprompt: 1.2). Technically, it's the factor by which to multiply the ControlNet outputs before merging them with original SD Unet.
+
+Guidance Start/End is the percentage of total steps the controlnet applies (guidance strength = guidance end). It's analogous to prompt editing/shifting. E.g. \[myprompt::0.8\] (It applies from the beginning until 80% of total steps)
+
+# Batch Mode
+
+Put any unit into batch mode to activate batch mode for all units. Specify a batch directory for each unit, or use the new textbox in the img2img batch tab as a fallback. Although the textbox is located in the img2img batch tab, you can use it to generate images in the txt2img tab as well.
+
+Note that this feature is only available in the gradio user interface. Call the APIs as many times as you want for custom batch scheduling.
+
+# API and Script Access
+
+This extension can accept txt2img or img2img tasks via API or external extension call. Note that you may need to enable `Allow other scripts to control this extension` in settings for external calls.
+
+To use the API: start WebUI with argument `--api` and go to `http://webui-address/docs` for documents or checkout [examples](https://github.com/Mikubill/sd-webui-controlnet/blob/main/example/api_txt2img.ipynb).
+
+To use external call: Checkout [Wiki](https://github.com/Mikubill/sd-webui-controlnet/wiki/API)
+
+# Command Line Arguments
+
+This extension adds these command line arguments to the webui:
+
+```
+ --controlnet-dir ADD a controlnet models directory
+ --controlnet-annotator-models-path SET the directory for annotator models
+ --no-half-controlnet load controlnet models in full precision
+ --controlnet-preprocessor-cache-size Cache size for controlnet preprocessor results
+ --controlnet-loglevel Log level for the controlnet extension
+```
+
+# MacOS Support
+
+Tested with pytorch nightly: https://github.com/Mikubill/sd-webui-controlnet/pull/143#issuecomment-1435058285
+
+To use this extension with mps and normal pytorch, currently you may need to start WebUI with `--no-half`.
+
+# Archive of Deprecated Versions
+
+The previous version (sd-webui-controlnet 1.0) is archived in
+
+https://github.com/lllyasviel/webui-controlnet-v1-archived
+
+Using this version is not a temporary stop of updates. You will stop all updates forever.
+
+Please consider this version if you work with professional studios that requires 100% reproducing of all previous results pixel by pixel.
+
+# Thanks
+
+This implementation is inspired by kohya-ss/sd-webui-additional-networks
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/__pycache__/preload.cpython-310.pyc b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/__pycache__/preload.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..3b7e5558f82396a17b697358732ad11cb74cd53f
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/__pycache__/preload.cpython-310.pyc differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/__pycache__/annotator_path.cpython-310.pyc b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/__pycache__/annotator_path.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..20499bc9e8ee6b4afcd3f32759f64981d17e6655
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/__pycache__/annotator_path.cpython-310.pyc differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/__pycache__/util.cpython-310.pyc b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/__pycache__/util.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..00af928567081effbe9890304bf6dc234ae86b73
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/__pycache__/util.cpython-310.pyc differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/anime_face_segment/LICENSE b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/anime_face_segment/LICENSE
new file mode 100644
index 0000000000000000000000000000000000000000..9bad05450ca061904f97acebe04ff7183cfbdc1a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/anime_face_segment/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2021 Miaomiao Li
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/anime_face_segment/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/anime_face_segment/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..44f295ab042675db7e8c392da1e72d6df10c1b5b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/anime_face_segment/__init__.py
@@ -0,0 +1,174 @@
+import os
+import torch
+import torch.nn as nn
+import torch.nn.functional as F
+from PIL import Image
+import fnmatch
+import cv2
+
+import sys
+
+import numpy as np
+from modules import devices
+from einops import rearrange
+from annotator.annotator_path import models_path
+
+import torchvision
+from torchvision.models import MobileNet_V2_Weights
+from torchvision import transforms
+
+COLOR_BACKGROUND = (255,255,0)
+COLOR_HAIR = (0,0,255)
+COLOR_EYE = (255,0,0)
+COLOR_MOUTH = (255,255,255)
+COLOR_FACE = (0,255,0)
+COLOR_SKIN = (0,255,255)
+COLOR_CLOTHES = (255,0,255)
+PALETTE = [COLOR_BACKGROUND,COLOR_HAIR,COLOR_EYE,COLOR_MOUTH,COLOR_FACE,COLOR_SKIN,COLOR_CLOTHES]
+
+class UNet(nn.Module):
+ def __init__(self):
+ super(UNet, self).__init__()
+ self.NUM_SEG_CLASSES = 7 # Background, hair, face, eye, mouth, skin, clothes
+
+ mobilenet_v2 = torchvision.models.mobilenet_v2(weights=MobileNet_V2_Weights.IMAGENET1K_V1)
+ mob_blocks = mobilenet_v2.features
+
+ # Encoder
+ self.en_block0 = nn.Sequential( # in_ch=3 out_ch=16
+ mob_blocks[0],
+ mob_blocks[1]
+ )
+ self.en_block1 = nn.Sequential( # in_ch=16 out_ch=24
+ mob_blocks[2],
+ mob_blocks[3],
+ )
+ self.en_block2 = nn.Sequential( # in_ch=24 out_ch=32
+ mob_blocks[4],
+ mob_blocks[5],
+ mob_blocks[6],
+ )
+ self.en_block3 = nn.Sequential( # in_ch=32 out_ch=96
+ mob_blocks[7],
+ mob_blocks[8],
+ mob_blocks[9],
+ mob_blocks[10],
+ mob_blocks[11],
+ mob_blocks[12],
+ mob_blocks[13],
+ )
+ self.en_block4 = nn.Sequential( # in_ch=96 out_ch=160
+ mob_blocks[14],
+ mob_blocks[15],
+ mob_blocks[16],
+ )
+
+ # Decoder
+ self.de_block4 = nn.Sequential( # in_ch=160 out_ch=96
+ nn.UpsamplingNearest2d(scale_factor=2),
+ nn.Conv2d(160, 96, kernel_size=3, padding=1),
+ nn.InstanceNorm2d(96),
+ nn.LeakyReLU(0.1),
+ nn.Dropout(p=0.2)
+ )
+ self.de_block3 = nn.Sequential( # in_ch=96x2 out_ch=32
+ nn.UpsamplingNearest2d(scale_factor=2),
+ nn.Conv2d(96*2, 32, kernel_size=3, padding=1),
+ nn.InstanceNorm2d(32),
+ nn.LeakyReLU(0.1),
+ nn.Dropout(p=0.2)
+ )
+ self.de_block2 = nn.Sequential( # in_ch=32x2 out_ch=24
+ nn.UpsamplingNearest2d(scale_factor=2),
+ nn.Conv2d(32*2, 24, kernel_size=3, padding=1),
+ nn.InstanceNorm2d(24),
+ nn.LeakyReLU(0.1),
+ nn.Dropout(p=0.2)
+ )
+ self.de_block1 = nn.Sequential( # in_ch=24x2 out_ch=16
+ nn.UpsamplingNearest2d(scale_factor=2),
+ nn.Conv2d(24*2, 16, kernel_size=3, padding=1),
+ nn.InstanceNorm2d(16),
+ nn.LeakyReLU(0.1),
+ nn.Dropout(p=0.2)
+ )
+
+ self.de_block0 = nn.Sequential( # in_ch=16x2 out_ch=7
+ nn.UpsamplingNearest2d(scale_factor=2),
+ nn.Conv2d(16*2, self.NUM_SEG_CLASSES, kernel_size=3, padding=1),
+ nn.Softmax2d()
+ )
+
+ def forward(self, x):
+ e0 = self.en_block0(x)
+ e1 = self.en_block1(e0)
+ e2 = self.en_block2(e1)
+ e3 = self.en_block3(e2)
+ e4 = self.en_block4(e3)
+
+ d4 = self.de_block4(e4)
+ d4 = F.interpolate(d4, size=e3.size()[2:], mode='bilinear', align_corners=True)
+ c4 = torch.cat((d4,e3),1)
+
+ d3 = self.de_block3(c4)
+ d3 = F.interpolate(d3, size=e2.size()[2:], mode='bilinear', align_corners=True)
+ c3 = torch.cat((d3,e2),1)
+
+ d2 = self.de_block2(c3)
+ d2 = F.interpolate(d2, size=e1.size()[2:], mode='bilinear', align_corners=True)
+ c2 =torch.cat((d2,e1),1)
+
+ d1 = self.de_block1(c2)
+ d1 = F.interpolate(d1, size=e0.size()[2:], mode='bilinear', align_corners=True)
+ c1 = torch.cat((d1,e0),1)
+ y = self.de_block0(c1)
+
+ return y
+
+
+class AnimeFaceSegment:
+
+ model_dir = os.path.join(models_path, "anime_face_segment")
+
+ def __init__(self):
+ self.model = None
+ self.device = devices.get_device_for("controlnet")
+
+ def load_model(self):
+ remote_model_path = "https://huggingface.co/bdsqlsz/qinglong_controlnet-lllite/resolve/main/Annotators/UNet.pth"
+ modelpath = os.path.join(self.model_dir, "Unet.pth")
+ if not os.path.exists(modelpath):
+ from basicsr.utils.download_util import load_file_from_url
+ load_file_from_url(remote_model_path, model_dir=self.model_dir)
+ net = UNet()
+ ckpt = torch.load(modelpath)
+ for key in list(ckpt.keys()):
+ if 'module.' in key:
+ ckpt[key.replace('module.', '')] = ckpt[key]
+ del ckpt[key]
+ net.load_state_dict(ckpt)
+ net.eval()
+ self.model = net.to(self.device)
+
+ def unload_model(self):
+ if self.model is not None:
+ self.model.cpu()
+
+ def __call__(self, input_image):
+
+ if self.model is None:
+ self.load_model()
+ self.model.to(self.device)
+ transform = transforms.Compose([
+ transforms.Resize(512,interpolation=transforms.InterpolationMode.BICUBIC),
+ transforms.ToTensor(),])
+ img = Image.fromarray(input_image)
+ with torch.no_grad():
+ img = transform(img).unsqueeze(dim=0).to(self.device)
+ seg = self.model(img).squeeze(dim=0)
+ seg = seg.cpu().detach().numpy()
+ img = rearrange(seg,'h w c -> w c h')
+ img = [[PALETTE[np.argmax(val)] for val in buf]for buf in img]
+ return np.array(img).astype(np.uint8)
+
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/annotator_path.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/annotator_path.py
new file mode 100644
index 0000000000000000000000000000000000000000..ba168e19cf0eb7f7dae6ac3d54c5977945e7386a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/annotator_path.py
@@ -0,0 +1,22 @@
+import os
+from modules import shared
+
+models_path = shared.opts.data.get('control_net_modules_path', None)
+if not models_path:
+ models_path = getattr(shared.cmd_opts, 'controlnet_annotator_models_path', None)
+if not models_path:
+ models_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'downloads')
+
+if not os.path.isabs(models_path):
+ models_path = os.path.join(shared.data_path, models_path)
+
+clip_vision_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'clip_vision')
+# clip vision is always inside controlnet "extensions\sd-webui-controlnet"
+# and any problem can be solved by removing controlnet and reinstall
+
+models_path = os.path.realpath(models_path)
+os.makedirs(models_path, exist_ok=True)
+print(f'ControlNet preprocessor location: {models_path}')
+# Make sure that the default location is inside controlnet "extensions\sd-webui-controlnet"
+# so that any problem can be solved by removing controlnet and reinstall
+# if users do not change configs on their own (otherwise users will know what is wrong)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/binary/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/binary/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..2d13ad692ffc109ad95789334bb5524d52794acc
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/binary/__init__.py
@@ -0,0 +1,14 @@
+import cv2
+
+
+def apply_binary(img, bin_threshold):
+ img_gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
+
+ if bin_threshold == 0 or bin_threshold == 255:
+ # Otsu's threshold
+ otsu_threshold, img_bin = cv2.threshold(img_gray, 0, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)
+ print("Otsu threshold:", otsu_threshold)
+ else:
+ _, img_bin = cv2.threshold(img_gray, bin_threshold, 255, cv2.THRESH_BINARY_INV)
+
+ return cv2.cvtColor(img_bin, cv2.COLOR_GRAY2RGB)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/canny/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/canny/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..ace985839d3fc18dd4947f6c38e9f5d5a2625aca
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/canny/__init__.py
@@ -0,0 +1,5 @@
+import cv2
+
+
+def apply_canny(img, low_threshold, high_threshold):
+ return cv2.Canny(img, low_threshold, high_threshold)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/clipvision/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/clipvision/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e545409987b446a097f645aa23999de4c437e4fa
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/clipvision/__init__.py
@@ -0,0 +1,132 @@
+import os
+import cv2
+import torch
+
+from modules import devices
+from modules.modelloader import load_file_from_url
+from annotator.annotator_path import models_path
+from transformers import CLIPVisionModelWithProjection, CLIPVisionConfig, CLIPImageProcessor
+
+
+config_clip_g = {
+ "attention_dropout": 0.0,
+ "dropout": 0.0,
+ "hidden_act": "gelu",
+ "hidden_size": 1664,
+ "image_size": 224,
+ "initializer_factor": 1.0,
+ "initializer_range": 0.02,
+ "intermediate_size": 8192,
+ "layer_norm_eps": 1e-05,
+ "model_type": "clip_vision_model",
+ "num_attention_heads": 16,
+ "num_channels": 3,
+ "num_hidden_layers": 48,
+ "patch_size": 14,
+ "projection_dim": 1280,
+ "torch_dtype": "float32"
+}
+
+config_clip_h = {
+ "attention_dropout": 0.0,
+ "dropout": 0.0,
+ "hidden_act": "gelu",
+ "hidden_size": 1280,
+ "image_size": 224,
+ "initializer_factor": 1.0,
+ "initializer_range": 0.02,
+ "intermediate_size": 5120,
+ "layer_norm_eps": 1e-05,
+ "model_type": "clip_vision_model",
+ "num_attention_heads": 16,
+ "num_channels": 3,
+ "num_hidden_layers": 32,
+ "patch_size": 14,
+ "projection_dim": 1024,
+ "torch_dtype": "float32"
+}
+
+config_clip_vitl = {
+ "attention_dropout": 0.0,
+ "dropout": 0.0,
+ "hidden_act": "quick_gelu",
+ "hidden_size": 1024,
+ "image_size": 224,
+ "initializer_factor": 1.0,
+ "initializer_range": 0.02,
+ "intermediate_size": 4096,
+ "layer_norm_eps": 1e-05,
+ "model_type": "clip_vision_model",
+ "num_attention_heads": 16,
+ "num_channels": 3,
+ "num_hidden_layers": 24,
+ "patch_size": 14,
+ "projection_dim": 768,
+ "torch_dtype": "float32"
+}
+
+configs = {
+ 'clip_g': config_clip_g,
+ 'clip_h': config_clip_h,
+ 'clip_vitl': config_clip_vitl,
+}
+
+downloads = {
+ 'clip_vitl': 'https://huggingface.co/openai/clip-vit-large-patch14/resolve/main/pytorch_model.bin',
+ 'clip_g': 'https://huggingface.co/lllyasviel/Annotators/resolve/main/clip_g.pth',
+ 'clip_h': 'https://huggingface.co/h94/IP-Adapter/resolve/main/models/image_encoder/pytorch_model.bin'
+}
+
+
+clip_vision_h_uc = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'clip_vision_h_uc.data')
+clip_vision_h_uc = torch.load(clip_vision_h_uc, map_location=torch.device('cuda' if torch.cuda.is_available() else 'cpu'))['uc']
+
+clip_vision_vith_uc = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'clip_vision_vith_uc.data')
+clip_vision_vith_uc = torch.load(clip_vision_vith_uc, map_location=torch.device('cuda' if torch.cuda.is_available() else 'cpu'))['uc']
+
+
+class ClipVisionDetector:
+ def __init__(self, config):
+ assert config in downloads
+ self.download_link = downloads[config]
+ self.model_path = os.path.join(models_path, 'clip_vision')
+ self.file_name = config + '.pth'
+ self.config = configs[config]
+ self.device = devices.get_device_for("controlnet")
+ os.makedirs(self.model_path, exist_ok=True)
+ file_path = os.path.join(self.model_path, self.file_name)
+ if not os.path.exists(file_path):
+ load_file_from_url(url=self.download_link, model_dir=self.model_path, file_name=self.file_name)
+ config = CLIPVisionConfig(**self.config)
+ self.model = CLIPVisionModelWithProjection(config)
+ self.processor = CLIPImageProcessor(crop_size=224,
+ do_center_crop=True,
+ do_convert_rgb=True,
+ do_normalize=True,
+ do_resize=True,
+ image_mean=[0.48145466, 0.4578275, 0.40821073],
+ image_std=[0.26862954, 0.26130258, 0.27577711],
+ resample=3,
+ size=224)
+
+ sd = torch.load(file_path, map_location=torch.device('cpu'))
+ self.model.load_state_dict(sd, strict=False)
+ del sd
+
+ self.model.eval()
+ self.model.cpu()
+
+ def unload_model(self):
+ if self.model is not None:
+ self.model.to('meta')
+
+ def __call__(self, input_image):
+ with torch.no_grad():
+ input_image = cv2.resize(input_image, (224, 224), interpolation=cv2.INTER_AREA)
+ clip_vision_model = self.model.cpu()
+ feat = self.processor(images=input_image, return_tensors="pt")
+ feat['pixel_values'] = feat['pixel_values'].cpu()
+ result = clip_vision_model(**feat, output_hidden_states=True)
+ result['hidden_states'] = [v.to(devices.get_device_for("controlnet")) for v in result['hidden_states']]
+ result = {k: v.to(devices.get_device_for("controlnet")) if isinstance(v, torch.Tensor) else v for k, v in result.items()}
+ return result
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/clipvision/clip_vision_h_uc.data b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/clipvision/clip_vision_h_uc.data
new file mode 100644
index 0000000000000000000000000000000000000000..70c4a7bc9aeef7445c3974e2618c4a78745d3c9d
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/clipvision/clip_vision_h_uc.data differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/clipvision/clip_vision_vith_uc.data b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/clipvision/clip_vision_vith_uc.data
new file mode 100644
index 0000000000000000000000000000000000000000..0c0a61afe9f3a864dc46f3928ac621c33eeff303
Binary files /dev/null and b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/clipvision/clip_vision_vith_uc.data differ
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/color/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/color/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..65799a2a83efd18dc556600c99d43292845aa6f2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/color/__init__.py
@@ -0,0 +1,20 @@
+import cv2
+
+def cv2_resize_shortest_edge(image, size):
+ h, w = image.shape[:2]
+ if h < w:
+ new_h = size
+ new_w = int(round(w / h * size))
+ else:
+ new_w = size
+ new_h = int(round(h / w * size))
+ resized_image = cv2.resize(image, (new_w, new_h), interpolation=cv2.INTER_AREA)
+ return resized_image
+
+def apply_color(img, res=512):
+ img = cv2_resize_shortest_edge(img, res)
+ h, w = img.shape[:2]
+
+ input_img_color = cv2.resize(img, (w//64, h//64), interpolation=cv2.INTER_CUBIC)
+ input_img_color = cv2.resize(input_img_color, (w, h), interpolation=cv2.INTER_NEAREST)
+ return input_img_color
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/downloads/openpose/body_pose_model.pth b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/downloads/openpose/body_pose_model.pth
new file mode 100644
index 0000000000000000000000000000000000000000..9acb77e68f31906a8875f1daef2f3f7ef94acb1e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/downloads/openpose/body_pose_model.pth
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:25a948c16078b0f08e236bda51a385d855ef4c153598947c28c0d47ed94bb746
+size 209267595
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/downloads/openpose/facenet.pth b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/downloads/openpose/facenet.pth
new file mode 100644
index 0000000000000000000000000000000000000000..ccfac27ffec2f25eb02dad5f52512872eb3b53e1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/downloads/openpose/facenet.pth
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8beb52e548624ffcc4aed12af7aee7dcbfaeea420c75609fee999fe7add79d43
+size 153718792
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/downloads/openpose/hand_pose_model.pth b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/downloads/openpose/hand_pose_model.pth
new file mode 100644
index 0000000000000000000000000000000000000000..f23ccf3413cc8ac8581a82338a3037bc10d573f0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/downloads/openpose/hand_pose_model.pth
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:b76b00d1750901abd07b9f9d8c98cc3385b8fe834a26d4b4f0aad439e75fc600
+size 147341049
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/hed/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/hed/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..0cabfef0db9089e415812dd8311a091397b39966
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/hed/__init__.py
@@ -0,0 +1,98 @@
+# This is an improved version and model of HED edge detection with Apache License, Version 2.0.
+# Please use this implementation in your products
+# This implementation may produce slightly different results from Saining Xie's official implementations,
+# but it generates smoother edges and is more suitable for ControlNet as well as other image-to-image translations.
+# Different from official models and other implementations, this is an RGB-input model (rather than BGR)
+# and in this way it works better for gradio's RGB protocol
+
+import os
+import cv2
+import torch
+import numpy as np
+
+from einops import rearrange
+import os
+from modules import devices
+from annotator.annotator_path import models_path
+from annotator.util import safe_step, nms
+
+
+class DoubleConvBlock(torch.nn.Module):
+ def __init__(self, input_channel, output_channel, layer_number):
+ super().__init__()
+ self.convs = torch.nn.Sequential()
+ self.convs.append(torch.nn.Conv2d(in_channels=input_channel, out_channels=output_channel, kernel_size=(3, 3), stride=(1, 1), padding=1))
+ for i in range(1, layer_number):
+ self.convs.append(torch.nn.Conv2d(in_channels=output_channel, out_channels=output_channel, kernel_size=(3, 3), stride=(1, 1), padding=1))
+ self.projection = torch.nn.Conv2d(in_channels=output_channel, out_channels=1, kernel_size=(1, 1), stride=(1, 1), padding=0)
+
+ def __call__(self, x, down_sampling=False):
+ h = x
+ if down_sampling:
+ h = torch.nn.functional.max_pool2d(h, kernel_size=(2, 2), stride=(2, 2))
+ for conv in self.convs:
+ h = conv(h)
+ h = torch.nn.functional.relu(h)
+ return h, self.projection(h)
+
+
+class ControlNetHED_Apache2(torch.nn.Module):
+ def __init__(self):
+ super().__init__()
+ self.norm = torch.nn.Parameter(torch.zeros(size=(1, 3, 1, 1)))
+ self.block1 = DoubleConvBlock(input_channel=3, output_channel=64, layer_number=2)
+ self.block2 = DoubleConvBlock(input_channel=64, output_channel=128, layer_number=2)
+ self.block3 = DoubleConvBlock(input_channel=128, output_channel=256, layer_number=3)
+ self.block4 = DoubleConvBlock(input_channel=256, output_channel=512, layer_number=3)
+ self.block5 = DoubleConvBlock(input_channel=512, output_channel=512, layer_number=3)
+
+ def __call__(self, x):
+ h = x - self.norm
+ h, projection1 = self.block1(h)
+ h, projection2 = self.block2(h, down_sampling=True)
+ h, projection3 = self.block3(h, down_sampling=True)
+ h, projection4 = self.block4(h, down_sampling=True)
+ h, projection5 = self.block5(h, down_sampling=True)
+ return projection1, projection2, projection3, projection4, projection5
+
+
+netNetwork = None
+remote_model_path = "https://huggingface.co/lllyasviel/Annotators/resolve/main/ControlNetHED.pth"
+modeldir = os.path.join(models_path, "hed")
+old_modeldir = os.path.dirname(os.path.realpath(__file__))
+
+
+def apply_hed(input_image, is_safe=False):
+ global netNetwork
+ if netNetwork is None:
+ modelpath = os.path.join(modeldir, "ControlNetHED.pth")
+ old_modelpath = os.path.join(old_modeldir, "ControlNetHED.pth")
+ if os.path.exists(old_modelpath):
+ modelpath = old_modelpath
+ elif not os.path.exists(modelpath):
+ from basicsr.utils.download_util import load_file_from_url
+ load_file_from_url(remote_model_path, model_dir=modeldir)
+ netNetwork = ControlNetHED_Apache2().to(devices.get_device_for("controlnet"))
+ netNetwork.load_state_dict(torch.load(modelpath, map_location='cpu'))
+ netNetwork.to(devices.get_device_for("controlnet")).float().eval()
+
+ assert input_image.ndim == 3
+ H, W, C = input_image.shape
+ with torch.no_grad():
+ image_hed = torch.from_numpy(input_image.copy()).float().to(devices.get_device_for("controlnet"))
+ image_hed = rearrange(image_hed, 'h w c -> 1 c h w')
+ edges = netNetwork(image_hed)
+ edges = [e.detach().cpu().numpy().astype(np.float32)[0, 0] for e in edges]
+ edges = [cv2.resize(e, (W, H), interpolation=cv2.INTER_LINEAR) for e in edges]
+ edges = np.stack(edges, axis=2)
+ edge = 1 / (1 + np.exp(-np.mean(edges, axis=2).astype(np.float64)))
+ if is_safe:
+ edge = safe_step(edge)
+ edge = (edge * 255.0).clip(0, 255).astype(np.uint8)
+ return edge
+
+
+def unload_hed_model():
+ global netNetwork
+ if netNetwork is not None:
+ netNetwork.cpu()
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/keypose/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/keypose/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..aa3dfa2e1589f22471411b3180ccaf870f147d73
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/keypose/__init__.py
@@ -0,0 +1,212 @@
+import numpy as np
+import cv2
+import torch
+
+import os
+from modules import devices
+from annotator.annotator_path import models_path
+
+import mmcv
+from mmdet.apis import inference_detector, init_detector
+from mmpose.apis import inference_top_down_pose_model
+from mmpose.apis import init_pose_model, process_mmdet_results, vis_pose_result
+
+
+def preprocessing(image, device):
+ # Resize
+ scale = 640 / max(image.shape[:2])
+ image = cv2.resize(image, dsize=None, fx=scale, fy=scale)
+ raw_image = image.astype(np.uint8)
+
+ # Subtract mean values
+ image = image.astype(np.float32)
+ image -= np.array(
+ [
+ float(104.008),
+ float(116.669),
+ float(122.675),
+ ]
+ )
+
+ # Convert to torch.Tensor and add "batch" axis
+ image = torch.from_numpy(image.transpose(2, 0, 1)).float().unsqueeze(0)
+ image = image.to(device)
+
+ return image, raw_image
+
+
+def imshow_keypoints(img,
+ pose_result,
+ skeleton=None,
+ kpt_score_thr=0.1,
+ pose_kpt_color=None,
+ pose_link_color=None,
+ radius=4,
+ thickness=1):
+ """Draw keypoints and links on an image.
+ Args:
+ img (ndarry): The image to draw poses on.
+ pose_result (list[kpts]): The poses to draw. Each element kpts is
+ a set of K keypoints as an Kx3 numpy.ndarray, where each
+ keypoint is represented as x, y, score.
+ kpt_score_thr (float, optional): Minimum score of keypoints
+ to be shown. Default: 0.3.
+ pose_kpt_color (np.array[Nx3]`): Color of N keypoints. If None,
+ the keypoint will not be drawn.
+ pose_link_color (np.array[Mx3]): Color of M links. If None, the
+ links will not be drawn.
+ thickness (int): Thickness of lines.
+ """
+
+ img_h, img_w, _ = img.shape
+ img = np.zeros(img.shape)
+
+ for idx, kpts in enumerate(pose_result):
+ if idx > 1:
+ continue
+ kpts = kpts['keypoints']
+ # print(kpts)
+ kpts = np.array(kpts, copy=False)
+
+ # draw each point on image
+ if pose_kpt_color is not None:
+ assert len(pose_kpt_color) == len(kpts)
+
+ for kid, kpt in enumerate(kpts):
+ x_coord, y_coord, kpt_score = int(kpt[0]), int(kpt[1]), kpt[2]
+
+ if kpt_score < kpt_score_thr or pose_kpt_color[kid] is None:
+ # skip the point that should not be drawn
+ continue
+
+ color = tuple(int(c) for c in pose_kpt_color[kid])
+ cv2.circle(img, (int(x_coord), int(y_coord)),
+ radius, color, -1)
+
+ # draw links
+ if skeleton is not None and pose_link_color is not None:
+ assert len(pose_link_color) == len(skeleton)
+
+ for sk_id, sk in enumerate(skeleton):
+ pos1 = (int(kpts[sk[0], 0]), int(kpts[sk[0], 1]))
+ pos2 = (int(kpts[sk[1], 0]), int(kpts[sk[1], 1]))
+
+ if (pos1[0] <= 0 or pos1[0] >= img_w or pos1[1] <= 0 or pos1[1] >= img_h or pos2[0] <= 0
+ or pos2[0] >= img_w or pos2[1] <= 0 or pos2[1] >= img_h or kpts[sk[0], 2] < kpt_score_thr
+ or kpts[sk[1], 2] < kpt_score_thr or pose_link_color[sk_id] is None):
+ # skip the link that should not be drawn
+ continue
+ color = tuple(int(c) for c in pose_link_color[sk_id])
+ cv2.line(img, pos1, pos2, color, thickness=thickness)
+
+ return img
+
+
+human_det, pose_model = None, None
+det_model_path = "https://download.openmmlab.com/mmdetection/v2.0/faster_rcnn/faster_rcnn_r50_fpn_1x_coco/faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth"
+pose_model_path = "https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w48_coco_256x192-b9e0b3ab_20200708.pth"
+
+modeldir = os.path.join(models_path, "keypose")
+old_modeldir = os.path.dirname(os.path.realpath(__file__))
+
+det_config = 'faster_rcnn_r50_fpn_coco.py'
+pose_config = 'hrnet_w48_coco_256x192.py'
+
+det_checkpoint = 'faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth'
+pose_checkpoint = 'hrnet_w48_coco_256x192-b9e0b3ab_20200708.pth'
+det_cat_id = 1
+bbox_thr = 0.2
+
+skeleton = [
+ [15, 13], [13, 11], [16, 14], [14, 12], [11, 12], [5, 11], [6, 12], [5, 6], [5, 7], [6, 8],
+ [7, 9], [8, 10],
+ [1, 2], [0, 1], [0, 2], [1, 3], [2, 4], [3, 5], [4, 6]
+]
+
+pose_kpt_color = [
+ [51, 153, 255], [51, 153, 255], [51, 153, 255], [51, 153, 255], [51, 153, 255],
+ [0, 255, 0],
+ [255, 128, 0], [0, 255, 0], [255, 128, 0], [0, 255, 0], [255, 128, 0], [0, 255, 0],
+ [255, 128, 0],
+ [0, 255, 0], [255, 128, 0], [0, 255, 0], [255, 128, 0]
+]
+
+pose_link_color = [
+ [0, 255, 0], [0, 255, 0], [255, 128, 0], [255, 128, 0],
+ [51, 153, 255], [51, 153, 255], [51, 153, 255], [51, 153, 255], [0, 255, 0],
+ [255, 128, 0],
+ [0, 255, 0], [255, 128, 0], [51, 153, 255], [51, 153, 255], [51, 153, 255],
+ [51, 153, 255],
+ [51, 153, 255], [51, 153, 255], [51, 153, 255]
+]
+
+def find_download_model(checkpoint, remote_path):
+ modelpath = os.path.join(modeldir, checkpoint)
+ old_modelpath = os.path.join(old_modeldir, checkpoint)
+
+ if os.path.exists(old_modelpath):
+ modelpath = old_modelpath
+ elif not os.path.exists(modelpath):
+ from basicsr.utils.download_util import load_file_from_url
+ load_file_from_url(remote_path, model_dir=modeldir)
+
+ return modelpath
+
+def apply_keypose(input_image):
+ global human_det, pose_model
+ if netNetwork is None:
+ det_model_local = find_download_model(det_checkpoint, det_model_path)
+ hrnet_model_local = find_download_model(pose_checkpoint, pose_model_path)
+ det_config_mmcv = mmcv.Config.fromfile(det_config)
+ pose_config_mmcv = mmcv.Config.fromfile(pose_config)
+ human_det = init_detector(det_config_mmcv, det_model_local, device=devices.get_device_for("controlnet"))
+ pose_model = init_pose_model(pose_config_mmcv, hrnet_model_local, device=devices.get_device_for("controlnet"))
+
+ assert input_image.ndim == 3
+ input_image = input_image.copy()
+ with torch.no_grad():
+ image = torch.from_numpy(input_image).float().to(devices.get_device_for("controlnet"))
+ image = image / 255.0
+ mmdet_results = inference_detector(human_det, image)
+
+ # keep the person class bounding boxes.
+ person_results = process_mmdet_results(mmdet_results, det_cat_id)
+
+ return_heatmap = False
+ dataset = pose_model.cfg.data['test']['type']
+
+ # e.g. use ('backbone', ) to return backbone feature
+ output_layer_names = None
+ pose_results, _ = inference_top_down_pose_model(
+ pose_model,
+ image,
+ person_results,
+ bbox_thr=bbox_thr,
+ format='xyxy',
+ dataset=dataset,
+ dataset_info=None,
+ return_heatmap=return_heatmap,
+ outputs=output_layer_names
+ )
+
+ im_keypose_out = imshow_keypoints(
+ image,
+ pose_results,
+ skeleton=skeleton,
+ pose_kpt_color=pose_kpt_color,
+ pose_link_color=pose_link_color,
+ radius=2,
+ thickness=2
+ )
+ im_keypose_out = im_keypose_out.astype(np.uint8)
+
+ # image_hed = rearrange(image_hed, 'h w c -> 1 c h w')
+ # edge = netNetwork(image_hed)[0]
+ # edge = (edge.cpu().numpy() * 255.0).clip(0, 255).astype(np.uint8)
+ return im_keypose_out
+
+
+def unload_hed_model():
+ global netNetwork
+ if netNetwork is not None:
+ netNetwork.cpu()
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/keypose/faster_rcnn_r50_fpn_coco.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/keypose/faster_rcnn_r50_fpn_coco.py
new file mode 100644
index 0000000000000000000000000000000000000000..a9ad9528b22163ae7ce1390375b69227fd6eafd9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/keypose/faster_rcnn_r50_fpn_coco.py
@@ -0,0 +1,182 @@
+checkpoint_config = dict(interval=1)
+# yapf:disable
+log_config = dict(
+ interval=50,
+ hooks=[
+ dict(type='TextLoggerHook'),
+ # dict(type='TensorboardLoggerHook')
+ ])
+# yapf:enable
+dist_params = dict(backend='nccl')
+log_level = 'INFO'
+load_from = None
+resume_from = None
+workflow = [('train', 1)]
+# optimizer
+optimizer = dict(type='SGD', lr=0.02, momentum=0.9, weight_decay=0.0001)
+optimizer_config = dict(grad_clip=None)
+# learning policy
+lr_config = dict(
+ policy='step',
+ warmup='linear',
+ warmup_iters=500,
+ warmup_ratio=0.001,
+ step=[8, 11])
+total_epochs = 12
+
+model = dict(
+ type='FasterRCNN',
+ pretrained='torchvision://resnet50',
+ backbone=dict(
+ type='ResNet',
+ depth=50,
+ num_stages=4,
+ out_indices=(0, 1, 2, 3),
+ frozen_stages=1,
+ norm_cfg=dict(type='BN', requires_grad=True),
+ norm_eval=True,
+ style='pytorch'),
+ neck=dict(
+ type='FPN',
+ in_channels=[256, 512, 1024, 2048],
+ out_channels=256,
+ num_outs=5),
+ rpn_head=dict(
+ type='RPNHead',
+ in_channels=256,
+ feat_channels=256,
+ anchor_generator=dict(
+ type='AnchorGenerator',
+ scales=[8],
+ ratios=[0.5, 1.0, 2.0],
+ strides=[4, 8, 16, 32, 64]),
+ bbox_coder=dict(
+ type='DeltaXYWHBBoxCoder',
+ target_means=[.0, .0, .0, .0],
+ target_stds=[1.0, 1.0, 1.0, 1.0]),
+ loss_cls=dict(
+ type='CrossEntropyLoss', use_sigmoid=True, loss_weight=1.0),
+ loss_bbox=dict(type='L1Loss', loss_weight=1.0)),
+ roi_head=dict(
+ type='StandardRoIHead',
+ bbox_roi_extractor=dict(
+ type='SingleRoIExtractor',
+ roi_layer=dict(type='RoIAlign', output_size=7, sampling_ratio=0),
+ out_channels=256,
+ featmap_strides=[4, 8, 16, 32]),
+ bbox_head=dict(
+ type='Shared2FCBBoxHead',
+ in_channels=256,
+ fc_out_channels=1024,
+ roi_feat_size=7,
+ num_classes=80,
+ bbox_coder=dict(
+ type='DeltaXYWHBBoxCoder',
+ target_means=[0., 0., 0., 0.],
+ target_stds=[0.1, 0.1, 0.2, 0.2]),
+ reg_class_agnostic=False,
+ loss_cls=dict(
+ type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0),
+ loss_bbox=dict(type='L1Loss', loss_weight=1.0))),
+ # model training and testing settings
+ train_cfg=dict(
+ rpn=dict(
+ assigner=dict(
+ type='MaxIoUAssigner',
+ pos_iou_thr=0.7,
+ neg_iou_thr=0.3,
+ min_pos_iou=0.3,
+ match_low_quality=True,
+ ignore_iof_thr=-1),
+ sampler=dict(
+ type='RandomSampler',
+ num=256,
+ pos_fraction=0.5,
+ neg_pos_ub=-1,
+ add_gt_as_proposals=False),
+ allowed_border=-1,
+ pos_weight=-1,
+ debug=False),
+ rpn_proposal=dict(
+ nms_pre=2000,
+ max_per_img=1000,
+ nms=dict(type='nms', iou_threshold=0.7),
+ min_bbox_size=0),
+ rcnn=dict(
+ assigner=dict(
+ type='MaxIoUAssigner',
+ pos_iou_thr=0.5,
+ neg_iou_thr=0.5,
+ min_pos_iou=0.5,
+ match_low_quality=False,
+ ignore_iof_thr=-1),
+ sampler=dict(
+ type='RandomSampler',
+ num=512,
+ pos_fraction=0.25,
+ neg_pos_ub=-1,
+ add_gt_as_proposals=True),
+ pos_weight=-1,
+ debug=False)),
+ test_cfg=dict(
+ rpn=dict(
+ nms_pre=1000,
+ max_per_img=1000,
+ nms=dict(type='nms', iou_threshold=0.7),
+ min_bbox_size=0),
+ rcnn=dict(
+ score_thr=0.05,
+ nms=dict(type='nms', iou_threshold=0.5),
+ max_per_img=100)
+ # soft-nms is also supported for rcnn testing
+ # e.g., nms=dict(type='soft_nms', iou_threshold=0.5, min_score=0.05)
+ ))
+
+dataset_type = 'CocoDataset'
+data_root = 'data/coco'
+img_norm_cfg = dict(
+ mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375], to_rgb=True)
+train_pipeline = [
+ dict(type='LoadImageFromFile'),
+ dict(type='LoadAnnotations', with_bbox=True),
+ dict(type='Resize', img_scale=(1333, 800), keep_ratio=True),
+ dict(type='RandomFlip', flip_ratio=0.5),
+ dict(type='Normalize', **img_norm_cfg),
+ dict(type='Pad', size_divisor=32),
+ dict(type='DefaultFormatBundle'),
+ dict(type='Collect', keys=['img', 'gt_bboxes', 'gt_labels']),
+]
+test_pipeline = [
+ dict(type='LoadImageFromFile'),
+ dict(
+ type='MultiScaleFlipAug',
+ img_scale=(1333, 800),
+ flip=False,
+ transforms=[
+ dict(type='Resize', keep_ratio=True),
+ dict(type='RandomFlip'),
+ dict(type='Normalize', **img_norm_cfg),
+ dict(type='Pad', size_divisor=32),
+ dict(type='DefaultFormatBundle'),
+ dict(type='Collect', keys=['img']),
+ ])
+]
+data = dict(
+ samples_per_gpu=2,
+ workers_per_gpu=2,
+ train=dict(
+ type=dataset_type,
+ ann_file=f'{data_root}/annotations/instances_train2017.json',
+ img_prefix=f'{data_root}/train2017/',
+ pipeline=train_pipeline),
+ val=dict(
+ type=dataset_type,
+ ann_file=f'{data_root}/annotations/instances_val2017.json',
+ img_prefix=f'{data_root}/val2017/',
+ pipeline=test_pipeline),
+ test=dict(
+ type=dataset_type,
+ ann_file=f'{data_root}/annotations/instances_val2017.json',
+ img_prefix=f'{data_root}/val2017/',
+ pipeline=test_pipeline))
+evaluation = dict(interval=1, metric='bbox')
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/keypose/hrnet_w48_coco_256x192.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/keypose/hrnet_w48_coco_256x192.py
new file mode 100644
index 0000000000000000000000000000000000000000..9755e6773cd3a8c0d2ac684c612d716cfd44b0ca
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/keypose/hrnet_w48_coco_256x192.py
@@ -0,0 +1,169 @@
+# _base_ = [
+# '../../../../_base_/default_runtime.py',
+# '../../../../_base_/datasets/coco.py'
+# ]
+evaluation = dict(interval=10, metric='mAP', save_best='AP')
+
+optimizer = dict(
+ type='Adam',
+ lr=5e-4,
+)
+optimizer_config = dict(grad_clip=None)
+# learning policy
+lr_config = dict(
+ policy='step',
+ warmup='linear',
+ warmup_iters=500,
+ warmup_ratio=0.001,
+ step=[170, 200])
+total_epochs = 210
+channel_cfg = dict(
+ num_output_channels=17,
+ dataset_joints=17,
+ dataset_channel=[
+ [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16],
+ ],
+ inference_channel=[
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16
+ ])
+
+# model settings
+model = dict(
+ type='TopDown',
+ pretrained='https://download.openmmlab.com/mmpose/'
+ 'pretrain_models/hrnet_w48-8ef0771d.pth',
+ backbone=dict(
+ type='HRNet',
+ in_channels=3,
+ extra=dict(
+ stage1=dict(
+ num_modules=1,
+ num_branches=1,
+ block='BOTTLENECK',
+ num_blocks=(4, ),
+ num_channels=(64, )),
+ stage2=dict(
+ num_modules=1,
+ num_branches=2,
+ block='BASIC',
+ num_blocks=(4, 4),
+ num_channels=(48, 96)),
+ stage3=dict(
+ num_modules=4,
+ num_branches=3,
+ block='BASIC',
+ num_blocks=(4, 4, 4),
+ num_channels=(48, 96, 192)),
+ stage4=dict(
+ num_modules=3,
+ num_branches=4,
+ block='BASIC',
+ num_blocks=(4, 4, 4, 4),
+ num_channels=(48, 96, 192, 384))),
+ ),
+ keypoint_head=dict(
+ type='TopdownHeatmapSimpleHead',
+ in_channels=48,
+ out_channels=channel_cfg['num_output_channels'],
+ num_deconv_layers=0,
+ extra=dict(final_conv_kernel=1, ),
+ loss_keypoint=dict(type='JointsMSELoss', use_target_weight=True)),
+ train_cfg=dict(),
+ test_cfg=dict(
+ flip_test=True,
+ post_process='default',
+ shift_heatmap=True,
+ modulate_kernel=11))
+
+data_cfg = dict(
+ image_size=[192, 256],
+ heatmap_size=[48, 64],
+ num_output_channels=channel_cfg['num_output_channels'],
+ num_joints=channel_cfg['dataset_joints'],
+ dataset_channel=channel_cfg['dataset_channel'],
+ inference_channel=channel_cfg['inference_channel'],
+ soft_nms=False,
+ nms_thr=1.0,
+ oks_thr=0.9,
+ vis_thr=0.2,
+ use_gt_bbox=False,
+ det_bbox_thr=0.0,
+ bbox_file='data/coco/person_detection_results/'
+ 'COCO_val2017_detections_AP_H_56_person.json',
+)
+
+train_pipeline = [
+ dict(type='LoadImageFromFile'),
+ dict(type='TopDownGetBboxCenterScale', padding=1.25),
+ dict(type='TopDownRandomShiftBboxCenter', shift_factor=0.16, prob=0.3),
+ dict(type='TopDownRandomFlip', flip_prob=0.5),
+ dict(
+ type='TopDownHalfBodyTransform',
+ num_joints_half_body=8,
+ prob_half_body=0.3),
+ dict(
+ type='TopDownGetRandomScaleRotation', rot_factor=40, scale_factor=0.5),
+ dict(type='TopDownAffine'),
+ dict(type='ToTensor'),
+ dict(
+ type='NormalizeTensor',
+ mean=[0.485, 0.456, 0.406],
+ std=[0.229, 0.224, 0.225]),
+ dict(type='TopDownGenerateTarget', sigma=2),
+ dict(
+ type='Collect',
+ keys=['img', 'target', 'target_weight'],
+ meta_keys=[
+ 'image_file', 'joints_3d', 'joints_3d_visible', 'center', 'scale',
+ 'rotation', 'bbox_score', 'flip_pairs'
+ ]),
+]
+
+val_pipeline = [
+ dict(type='LoadImageFromFile'),
+ dict(type='TopDownGetBboxCenterScale', padding=1.25),
+ dict(type='TopDownAffine'),
+ dict(type='ToTensor'),
+ dict(
+ type='NormalizeTensor',
+ mean=[0.485, 0.456, 0.406],
+ std=[0.229, 0.224, 0.225]),
+ dict(
+ type='Collect',
+ keys=['img'],
+ meta_keys=[
+ 'image_file', 'center', 'scale', 'rotation', 'bbox_score',
+ 'flip_pairs'
+ ]),
+]
+
+test_pipeline = val_pipeline
+
+data_root = 'data/coco'
+data = dict(
+ samples_per_gpu=32,
+ workers_per_gpu=2,
+ val_dataloader=dict(samples_per_gpu=32),
+ test_dataloader=dict(samples_per_gpu=32),
+ train=dict(
+ type='TopDownCocoDataset',
+ ann_file=f'{data_root}/annotations/person_keypoints_train2017.json',
+ img_prefix=f'{data_root}/train2017/',
+ data_cfg=data_cfg,
+ pipeline=train_pipeline,
+ dataset_info={{_base_.dataset_info}}),
+ val=dict(
+ type='TopDownCocoDataset',
+ ann_file=f'{data_root}/annotations/person_keypoints_val2017.json',
+ img_prefix=f'{data_root}/val2017/',
+ data_cfg=data_cfg,
+ pipeline=val_pipeline,
+ dataset_info={{_base_.dataset_info}}),
+ test=dict(
+ type='TopDownCocoDataset',
+ ann_file=f'{data_root}/annotations/person_keypoints_val2017.json',
+ img_prefix=f'{data_root}/val2017/',
+ data_cfg=data_cfg,
+ pipeline=test_pipeline,
+ dataset_info={{_base_.dataset_info}}),
+)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..a7784a3837d8454fe8991d7f7a4341331d8b1f0d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/__init__.py
@@ -0,0 +1,58 @@
+# https://github.com/advimman/lama
+
+import yaml
+import torch
+from omegaconf import OmegaConf
+import numpy as np
+
+from einops import rearrange
+import os
+from modules import devices
+from annotator.annotator_path import models_path
+from annotator.lama.saicinpainting.training.trainers import load_checkpoint
+
+
+class LamaInpainting:
+ model_dir = os.path.join(models_path, "lama")
+
+ def __init__(self):
+ self.model = None
+ self.device = devices.get_device_for("controlnet")
+
+ def load_model(self):
+ remote_model_path = "https://huggingface.co/lllyasviel/Annotators/resolve/main/ControlNetLama.pth"
+ modelpath = os.path.join(self.model_dir, "ControlNetLama.pth")
+ if not os.path.exists(modelpath):
+ from basicsr.utils.download_util import load_file_from_url
+ load_file_from_url(remote_model_path, model_dir=self.model_dir)
+ config_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'config.yaml')
+ cfg = yaml.safe_load(open(config_path, 'rt'))
+ cfg = OmegaConf.create(cfg)
+ cfg.training_model.predict_only = True
+ cfg.visualizer.kind = 'noop'
+ self.model = load_checkpoint(cfg, os.path.abspath(modelpath), strict=False, map_location='cpu')
+ self.model = self.model.to(self.device)
+ self.model.eval()
+
+ def unload_model(self):
+ if self.model is not None:
+ self.model.cpu()
+
+ def __call__(self, input_image):
+ if self.model is None:
+ self.load_model()
+ self.model.to(self.device)
+ color = np.ascontiguousarray(input_image[:, :, 0:3]).astype(np.float32) / 255.0
+ mask = np.ascontiguousarray(input_image[:, :, 3:4]).astype(np.float32) / 255.0
+ with torch.no_grad():
+ color = torch.from_numpy(color).float().to(self.device)
+ mask = torch.from_numpy(mask).float().to(self.device)
+ mask = (mask > 0.5).float()
+ color = color * (1 - mask)
+ image_feed = torch.cat([color, mask], dim=2)
+ image_feed = rearrange(image_feed, 'h w c -> 1 c h w')
+ result = self.model(image_feed)[0]
+ result = rearrange(result, 'c h w -> h w c')
+ result = result * mask + color * (1 - mask)
+ result *= 255.0
+ return result.detach().cpu().numpy().clip(0, 255).astype(np.uint8)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/config.yaml b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/config.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..55fd91b5bcacd654e3045a2331e9c186818e6edc
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/config.yaml
@@ -0,0 +1,157 @@
+run_title: b18_ffc075_batch8x15
+training_model:
+ kind: default
+ visualize_each_iters: 1000
+ concat_mask: true
+ store_discr_outputs_for_vis: true
+losses:
+ l1:
+ weight_missing: 0
+ weight_known: 10
+ perceptual:
+ weight: 0
+ adversarial:
+ kind: r1
+ weight: 10
+ gp_coef: 0.001
+ mask_as_fake_target: true
+ allow_scale_mask: true
+ feature_matching:
+ weight: 100
+ resnet_pl:
+ weight: 30
+ weights_path: ${env:TORCH_HOME}
+
+optimizers:
+ generator:
+ kind: adam
+ lr: 0.001
+ discriminator:
+ kind: adam
+ lr: 0.0001
+visualizer:
+ key_order:
+ - image
+ - predicted_image
+ - discr_output_fake
+ - discr_output_real
+ - inpainted
+ rescale_keys:
+ - discr_output_fake
+ - discr_output_real
+ kind: directory
+ outdir: /group-volume/User-Driven-Content-Generation/r.suvorov/inpainting/experiments/r.suvorov_2021-04-30_14-41-12_train_simple_pix2pix2_gap_sdpl_novgg_large_b18_ffc075_batch8x15/samples
+location:
+ data_root_dir: /group-volume/User-Driven-Content-Generation/datasets/inpainting_data_root_large
+ out_root_dir: /group-volume/User-Driven-Content-Generation/${env:USER}/inpainting/experiments
+ tb_dir: /group-volume/User-Driven-Content-Generation/${env:USER}/inpainting/tb_logs
+data:
+ batch_size: 15
+ val_batch_size: 2
+ num_workers: 3
+ train:
+ indir: ${location.data_root_dir}/train
+ out_size: 256
+ mask_gen_kwargs:
+ irregular_proba: 1
+ irregular_kwargs:
+ max_angle: 4
+ max_len: 200
+ max_width: 100
+ max_times: 5
+ min_times: 1
+ box_proba: 1
+ box_kwargs:
+ margin: 10
+ bbox_min_size: 30
+ bbox_max_size: 150
+ max_times: 3
+ min_times: 1
+ segm_proba: 0
+ segm_kwargs:
+ confidence_threshold: 0.5
+ max_object_area: 0.5
+ min_mask_area: 0.07
+ downsample_levels: 6
+ num_variants_per_mask: 1
+ rigidness_mode: 1
+ max_foreground_coverage: 0.3
+ max_foreground_intersection: 0.7
+ max_mask_intersection: 0.1
+ max_hidden_area: 0.1
+ max_scale_change: 0.25
+ horizontal_flip: true
+ max_vertical_shift: 0.2
+ position_shuffle: true
+ transform_variant: distortions
+ dataloader_kwargs:
+ batch_size: ${data.batch_size}
+ shuffle: true
+ num_workers: ${data.num_workers}
+ val:
+ indir: ${location.data_root_dir}/val
+ img_suffix: .png
+ dataloader_kwargs:
+ batch_size: ${data.val_batch_size}
+ shuffle: false
+ num_workers: ${data.num_workers}
+ visual_test:
+ indir: ${location.data_root_dir}/korean_test
+ img_suffix: _input.png
+ pad_out_to_modulo: 32
+ dataloader_kwargs:
+ batch_size: 1
+ shuffle: false
+ num_workers: ${data.num_workers}
+generator:
+ kind: ffc_resnet
+ input_nc: 4
+ output_nc: 3
+ ngf: 64
+ n_downsampling: 3
+ n_blocks: 18
+ add_out_act: sigmoid
+ init_conv_kwargs:
+ ratio_gin: 0
+ ratio_gout: 0
+ enable_lfu: false
+ downsample_conv_kwargs:
+ ratio_gin: ${generator.init_conv_kwargs.ratio_gout}
+ ratio_gout: ${generator.downsample_conv_kwargs.ratio_gin}
+ enable_lfu: false
+ resnet_conv_kwargs:
+ ratio_gin: 0.75
+ ratio_gout: ${generator.resnet_conv_kwargs.ratio_gin}
+ enable_lfu: false
+discriminator:
+ kind: pix2pixhd_nlayer
+ input_nc: 3
+ ndf: 64
+ n_layers: 4
+evaluator:
+ kind: default
+ inpainted_key: inpainted
+ integral_kind: ssim_fid100_f1
+trainer:
+ kwargs:
+ gpus: -1
+ accelerator: ddp
+ max_epochs: 200
+ gradient_clip_val: 1
+ log_gpu_memory: None
+ limit_train_batches: 25000
+ val_check_interval: ${trainer.kwargs.limit_train_batches}
+ log_every_n_steps: 1000
+ precision: 32
+ terminate_on_nan: false
+ check_val_every_n_epoch: 1
+ num_sanity_val_steps: 8
+ limit_val_batches: 1000
+ replace_sampler_ddp: false
+ checkpoint_kwargs:
+ verbose: true
+ save_top_k: 5
+ save_last: true
+ period: 1
+ monitor: val_ssim_fid100_f1_total_mean
+ mode: max
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/data/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/data/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/data/masks.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/data/masks.py
new file mode 100644
index 0000000000000000000000000000000000000000..27cb9050fa67c40d7d8d492a7088a621ad1ba2ce
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/data/masks.py
@@ -0,0 +1,332 @@
+import math
+import random
+import hashlib
+import logging
+from enum import Enum
+
+import cv2
+import numpy as np
+
+# from annotator.lama.saicinpainting.evaluation.masks.mask import SegmentationMask
+from annotator.lama.saicinpainting.utils import LinearRamp
+
+LOGGER = logging.getLogger(__name__)
+
+
+class DrawMethod(Enum):
+ LINE = 'line'
+ CIRCLE = 'circle'
+ SQUARE = 'square'
+
+
+def make_random_irregular_mask(shape, max_angle=4, max_len=60, max_width=20, min_times=0, max_times=10,
+ draw_method=DrawMethod.LINE):
+ draw_method = DrawMethod(draw_method)
+
+ height, width = shape
+ mask = np.zeros((height, width), np.float32)
+ times = np.random.randint(min_times, max_times + 1)
+ for i in range(times):
+ start_x = np.random.randint(width)
+ start_y = np.random.randint(height)
+ for j in range(1 + np.random.randint(5)):
+ angle = 0.01 + np.random.randint(max_angle)
+ if i % 2 == 0:
+ angle = 2 * 3.1415926 - angle
+ length = 10 + np.random.randint(max_len)
+ brush_w = 5 + np.random.randint(max_width)
+ end_x = np.clip((start_x + length * np.sin(angle)).astype(np.int32), 0, width)
+ end_y = np.clip((start_y + length * np.cos(angle)).astype(np.int32), 0, height)
+ if draw_method == DrawMethod.LINE:
+ cv2.line(mask, (start_x, start_y), (end_x, end_y), 1.0, brush_w)
+ elif draw_method == DrawMethod.CIRCLE:
+ cv2.circle(mask, (start_x, start_y), radius=brush_w, color=1., thickness=-1)
+ elif draw_method == DrawMethod.SQUARE:
+ radius = brush_w // 2
+ mask[start_y - radius:start_y + radius, start_x - radius:start_x + radius] = 1
+ start_x, start_y = end_x, end_y
+ return mask[None, ...]
+
+
+class RandomIrregularMaskGenerator:
+ def __init__(self, max_angle=4, max_len=60, max_width=20, min_times=0, max_times=10, ramp_kwargs=None,
+ draw_method=DrawMethod.LINE):
+ self.max_angle = max_angle
+ self.max_len = max_len
+ self.max_width = max_width
+ self.min_times = min_times
+ self.max_times = max_times
+ self.draw_method = draw_method
+ self.ramp = LinearRamp(**ramp_kwargs) if ramp_kwargs is not None else None
+
+ def __call__(self, img, iter_i=None, raw_image=None):
+ coef = self.ramp(iter_i) if (self.ramp is not None) and (iter_i is not None) else 1
+ cur_max_len = int(max(1, self.max_len * coef))
+ cur_max_width = int(max(1, self.max_width * coef))
+ cur_max_times = int(self.min_times + 1 + (self.max_times - self.min_times) * coef)
+ return make_random_irregular_mask(img.shape[1:], max_angle=self.max_angle, max_len=cur_max_len,
+ max_width=cur_max_width, min_times=self.min_times, max_times=cur_max_times,
+ draw_method=self.draw_method)
+
+
+def make_random_rectangle_mask(shape, margin=10, bbox_min_size=30, bbox_max_size=100, min_times=0, max_times=3):
+ height, width = shape
+ mask = np.zeros((height, width), np.float32)
+ bbox_max_size = min(bbox_max_size, height - margin * 2, width - margin * 2)
+ times = np.random.randint(min_times, max_times + 1)
+ for i in range(times):
+ box_width = np.random.randint(bbox_min_size, bbox_max_size)
+ box_height = np.random.randint(bbox_min_size, bbox_max_size)
+ start_x = np.random.randint(margin, width - margin - box_width + 1)
+ start_y = np.random.randint(margin, height - margin - box_height + 1)
+ mask[start_y:start_y + box_height, start_x:start_x + box_width] = 1
+ return mask[None, ...]
+
+
+class RandomRectangleMaskGenerator:
+ def __init__(self, margin=10, bbox_min_size=30, bbox_max_size=100, min_times=0, max_times=3, ramp_kwargs=None):
+ self.margin = margin
+ self.bbox_min_size = bbox_min_size
+ self.bbox_max_size = bbox_max_size
+ self.min_times = min_times
+ self.max_times = max_times
+ self.ramp = LinearRamp(**ramp_kwargs) if ramp_kwargs is not None else None
+
+ def __call__(self, img, iter_i=None, raw_image=None):
+ coef = self.ramp(iter_i) if (self.ramp is not None) and (iter_i is not None) else 1
+ cur_bbox_max_size = int(self.bbox_min_size + 1 + (self.bbox_max_size - self.bbox_min_size) * coef)
+ cur_max_times = int(self.min_times + (self.max_times - self.min_times) * coef)
+ return make_random_rectangle_mask(img.shape[1:], margin=self.margin, bbox_min_size=self.bbox_min_size,
+ bbox_max_size=cur_bbox_max_size, min_times=self.min_times,
+ max_times=cur_max_times)
+
+
+class RandomSegmentationMaskGenerator:
+ def __init__(self, **kwargs):
+ self.impl = None # will be instantiated in first call (effectively in subprocess)
+ self.kwargs = kwargs
+
+ def __call__(self, img, iter_i=None, raw_image=None):
+ if self.impl is None:
+ self.impl = SegmentationMask(**self.kwargs)
+
+ masks = self.impl.get_masks(np.transpose(img, (1, 2, 0)))
+ masks = [m for m in masks if len(np.unique(m)) > 1]
+ return np.random.choice(masks)
+
+
+def make_random_superres_mask(shape, min_step=2, max_step=4, min_width=1, max_width=3):
+ height, width = shape
+ mask = np.zeros((height, width), np.float32)
+ step_x = np.random.randint(min_step, max_step + 1)
+ width_x = np.random.randint(min_width, min(step_x, max_width + 1))
+ offset_x = np.random.randint(0, step_x)
+
+ step_y = np.random.randint(min_step, max_step + 1)
+ width_y = np.random.randint(min_width, min(step_y, max_width + 1))
+ offset_y = np.random.randint(0, step_y)
+
+ for dy in range(width_y):
+ mask[offset_y + dy::step_y] = 1
+ for dx in range(width_x):
+ mask[:, offset_x + dx::step_x] = 1
+ return mask[None, ...]
+
+
+class RandomSuperresMaskGenerator:
+ def __init__(self, **kwargs):
+ self.kwargs = kwargs
+
+ def __call__(self, img, iter_i=None):
+ return make_random_superres_mask(img.shape[1:], **self.kwargs)
+
+
+class DumbAreaMaskGenerator:
+ min_ratio = 0.1
+ max_ratio = 0.35
+ default_ratio = 0.225
+
+ def __init__(self, is_training):
+ #Parameters:
+ # is_training(bool): If true - random rectangular mask, if false - central square mask
+ self.is_training = is_training
+
+ def _random_vector(self, dimension):
+ if self.is_training:
+ lower_limit = math.sqrt(self.min_ratio)
+ upper_limit = math.sqrt(self.max_ratio)
+ mask_side = round((random.random() * (upper_limit - lower_limit) + lower_limit) * dimension)
+ u = random.randint(0, dimension-mask_side-1)
+ v = u+mask_side
+ else:
+ margin = (math.sqrt(self.default_ratio) / 2) * dimension
+ u = round(dimension/2 - margin)
+ v = round(dimension/2 + margin)
+ return u, v
+
+ def __call__(self, img, iter_i=None, raw_image=None):
+ c, height, width = img.shape
+ mask = np.zeros((height, width), np.float32)
+ x1, x2 = self._random_vector(width)
+ y1, y2 = self._random_vector(height)
+ mask[x1:x2, y1:y2] = 1
+ return mask[None, ...]
+
+
+class OutpaintingMaskGenerator:
+ def __init__(self, min_padding_percent:float=0.04, max_padding_percent:int=0.25, left_padding_prob:float=0.5, top_padding_prob:float=0.5,
+ right_padding_prob:float=0.5, bottom_padding_prob:float=0.5, is_fixed_randomness:bool=False):
+ """
+ is_fixed_randomness - get identical paddings for the same image if args are the same
+ """
+ self.min_padding_percent = min_padding_percent
+ self.max_padding_percent = max_padding_percent
+ self.probs = [left_padding_prob, top_padding_prob, right_padding_prob, bottom_padding_prob]
+ self.is_fixed_randomness = is_fixed_randomness
+
+ assert self.min_padding_percent <= self.max_padding_percent
+ assert self.max_padding_percent > 0
+ assert len([x for x in [self.min_padding_percent, self.max_padding_percent] if (x>=0 and x<=1)]) == 2, f"Padding percentage should be in [0,1]"
+ assert sum(self.probs) > 0, f"At least one of the padding probs should be greater than 0 - {self.probs}"
+ assert len([x for x in self.probs if (x >= 0) and (x <= 1)]) == 4, f"At least one of padding probs is not in [0,1] - {self.probs}"
+ if len([x for x in self.probs if x > 0]) == 1:
+ LOGGER.warning(f"Only one padding prob is greater than zero - {self.probs}. That means that the outpainting masks will be always on the same side")
+
+ def apply_padding(self, mask, coord):
+ mask[int(coord[0][0]*self.img_h):int(coord[1][0]*self.img_h),
+ int(coord[0][1]*self.img_w):int(coord[1][1]*self.img_w)] = 1
+ return mask
+
+ def get_padding(self, size):
+ n1 = int(self.min_padding_percent*size)
+ n2 = int(self.max_padding_percent*size)
+ return self.rnd.randint(n1, n2) / size
+
+ @staticmethod
+ def _img2rs(img):
+ arr = np.ascontiguousarray(img.astype(np.uint8))
+ str_hash = hashlib.sha1(arr).hexdigest()
+ res = hash(str_hash)%(2**32)
+ return res
+
+ def __call__(self, img, iter_i=None, raw_image=None):
+ c, self.img_h, self.img_w = img.shape
+ mask = np.zeros((self.img_h, self.img_w), np.float32)
+ at_least_one_mask_applied = False
+
+ if self.is_fixed_randomness:
+ assert raw_image is not None, f"Cant calculate hash on raw_image=None"
+ rs = self._img2rs(raw_image)
+ self.rnd = np.random.RandomState(rs)
+ else:
+ self.rnd = np.random
+
+ coords = [[
+ (0,0),
+ (1,self.get_padding(size=self.img_h))
+ ],
+ [
+ (0,0),
+ (self.get_padding(size=self.img_w),1)
+ ],
+ [
+ (0,1-self.get_padding(size=self.img_h)),
+ (1,1)
+ ],
+ [
+ (1-self.get_padding(size=self.img_w),0),
+ (1,1)
+ ]]
+
+ for pp, coord in zip(self.probs, coords):
+ if self.rnd.random() < pp:
+ at_least_one_mask_applied = True
+ mask = self.apply_padding(mask=mask, coord=coord)
+
+ if not at_least_one_mask_applied:
+ idx = self.rnd.choice(range(len(coords)), p=np.array(self.probs)/sum(self.probs))
+ mask = self.apply_padding(mask=mask, coord=coords[idx])
+ return mask[None, ...]
+
+
+class MixedMaskGenerator:
+ def __init__(self, irregular_proba=1/3, irregular_kwargs=None,
+ box_proba=1/3, box_kwargs=None,
+ segm_proba=1/3, segm_kwargs=None,
+ squares_proba=0, squares_kwargs=None,
+ superres_proba=0, superres_kwargs=None,
+ outpainting_proba=0, outpainting_kwargs=None,
+ invert_proba=0):
+ self.probas = []
+ self.gens = []
+
+ if irregular_proba > 0:
+ self.probas.append(irregular_proba)
+ if irregular_kwargs is None:
+ irregular_kwargs = {}
+ else:
+ irregular_kwargs = dict(irregular_kwargs)
+ irregular_kwargs['draw_method'] = DrawMethod.LINE
+ self.gens.append(RandomIrregularMaskGenerator(**irregular_kwargs))
+
+ if box_proba > 0:
+ self.probas.append(box_proba)
+ if box_kwargs is None:
+ box_kwargs = {}
+ self.gens.append(RandomRectangleMaskGenerator(**box_kwargs))
+
+ if segm_proba > 0:
+ self.probas.append(segm_proba)
+ if segm_kwargs is None:
+ segm_kwargs = {}
+ self.gens.append(RandomSegmentationMaskGenerator(**segm_kwargs))
+
+ if squares_proba > 0:
+ self.probas.append(squares_proba)
+ if squares_kwargs is None:
+ squares_kwargs = {}
+ else:
+ squares_kwargs = dict(squares_kwargs)
+ squares_kwargs['draw_method'] = DrawMethod.SQUARE
+ self.gens.append(RandomIrregularMaskGenerator(**squares_kwargs))
+
+ if superres_proba > 0:
+ self.probas.append(superres_proba)
+ if superres_kwargs is None:
+ superres_kwargs = {}
+ self.gens.append(RandomSuperresMaskGenerator(**superres_kwargs))
+
+ if outpainting_proba > 0:
+ self.probas.append(outpainting_proba)
+ if outpainting_kwargs is None:
+ outpainting_kwargs = {}
+ self.gens.append(OutpaintingMaskGenerator(**outpainting_kwargs))
+
+ self.probas = np.array(self.probas, dtype='float32')
+ self.probas /= self.probas.sum()
+ self.invert_proba = invert_proba
+
+ def __call__(self, img, iter_i=None, raw_image=None):
+ kind = np.random.choice(len(self.probas), p=self.probas)
+ gen = self.gens[kind]
+ result = gen(img, iter_i=iter_i, raw_image=raw_image)
+ if self.invert_proba > 0 and random.random() < self.invert_proba:
+ result = 1 - result
+ return result
+
+
+def get_mask_generator(kind, kwargs):
+ if kind is None:
+ kind = "mixed"
+ if kwargs is None:
+ kwargs = {}
+
+ if kind == "mixed":
+ cl = MixedMaskGenerator
+ elif kind == "outpainting":
+ cl = OutpaintingMaskGenerator
+ elif kind == "dumb":
+ cl = DumbAreaMaskGenerator
+ else:
+ raise NotImplementedError(f"No such generator kind = {kind}")
+ return cl(**kwargs)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/losses/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/losses/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/losses/adversarial.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/losses/adversarial.py
new file mode 100644
index 0000000000000000000000000000000000000000..d6db2967ce5074d94ed3b4c51fc743ff2f7831b1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/losses/adversarial.py
@@ -0,0 +1,177 @@
+from typing import Tuple, Dict, Optional
+
+import torch
+import torch.nn as nn
+import torch.nn.functional as F
+
+
+class BaseAdversarialLoss:
+ def pre_generator_step(self, real_batch: torch.Tensor, fake_batch: torch.Tensor,
+ generator: nn.Module, discriminator: nn.Module):
+ """
+ Prepare for generator step
+ :param real_batch: Tensor, a batch of real samples
+ :param fake_batch: Tensor, a batch of samples produced by generator
+ :param generator:
+ :param discriminator:
+ :return: None
+ """
+
+ def pre_discriminator_step(self, real_batch: torch.Tensor, fake_batch: torch.Tensor,
+ generator: nn.Module, discriminator: nn.Module):
+ """
+ Prepare for discriminator step
+ :param real_batch: Tensor, a batch of real samples
+ :param fake_batch: Tensor, a batch of samples produced by generator
+ :param generator:
+ :param discriminator:
+ :return: None
+ """
+
+ def generator_loss(self, real_batch: torch.Tensor, fake_batch: torch.Tensor,
+ discr_real_pred: torch.Tensor, discr_fake_pred: torch.Tensor,
+ mask: Optional[torch.Tensor] = None) \
+ -> Tuple[torch.Tensor, Dict[str, torch.Tensor]]:
+ """
+ Calculate generator loss
+ :param real_batch: Tensor, a batch of real samples
+ :param fake_batch: Tensor, a batch of samples produced by generator
+ :param discr_real_pred: Tensor, discriminator output for real_batch
+ :param discr_fake_pred: Tensor, discriminator output for fake_batch
+ :param mask: Tensor, actual mask, which was at input of generator when making fake_batch
+ :return: total generator loss along with some values that might be interesting to log
+ """
+ raise NotImplemented()
+
+ def discriminator_loss(self, real_batch: torch.Tensor, fake_batch: torch.Tensor,
+ discr_real_pred: torch.Tensor, discr_fake_pred: torch.Tensor,
+ mask: Optional[torch.Tensor] = None) \
+ -> Tuple[torch.Tensor, Dict[str, torch.Tensor]]:
+ """
+ Calculate discriminator loss and call .backward() on it
+ :param real_batch: Tensor, a batch of real samples
+ :param fake_batch: Tensor, a batch of samples produced by generator
+ :param discr_real_pred: Tensor, discriminator output for real_batch
+ :param discr_fake_pred: Tensor, discriminator output for fake_batch
+ :param mask: Tensor, actual mask, which was at input of generator when making fake_batch
+ :return: total discriminator loss along with some values that might be interesting to log
+ """
+ raise NotImplemented()
+
+ def interpolate_mask(self, mask, shape):
+ assert mask is not None
+ assert self.allow_scale_mask or shape == mask.shape[-2:]
+ if shape != mask.shape[-2:] and self.allow_scale_mask:
+ if self.mask_scale_mode == 'maxpool':
+ mask = F.adaptive_max_pool2d(mask, shape)
+ else:
+ mask = F.interpolate(mask, size=shape, mode=self.mask_scale_mode)
+ return mask
+
+def make_r1_gp(discr_real_pred, real_batch):
+ if torch.is_grad_enabled():
+ grad_real = torch.autograd.grad(outputs=discr_real_pred.sum(), inputs=real_batch, create_graph=True)[0]
+ grad_penalty = (grad_real.view(grad_real.shape[0], -1).norm(2, dim=1) ** 2).mean()
+ else:
+ grad_penalty = 0
+ real_batch.requires_grad = False
+
+ return grad_penalty
+
+class NonSaturatingWithR1(BaseAdversarialLoss):
+ def __init__(self, gp_coef=5, weight=1, mask_as_fake_target=False, allow_scale_mask=False,
+ mask_scale_mode='nearest', extra_mask_weight_for_gen=0,
+ use_unmasked_for_gen=True, use_unmasked_for_discr=True):
+ self.gp_coef = gp_coef
+ self.weight = weight
+ # use for discr => use for gen;
+ # otherwise we teach only the discr to pay attention to very small difference
+ assert use_unmasked_for_gen or (not use_unmasked_for_discr)
+ # mask as target => use unmasked for discr:
+ # if we don't care about unmasked regions at all
+ # then it doesn't matter if the value of mask_as_fake_target is true or false
+ assert use_unmasked_for_discr or (not mask_as_fake_target)
+ self.use_unmasked_for_gen = use_unmasked_for_gen
+ self.use_unmasked_for_discr = use_unmasked_for_discr
+ self.mask_as_fake_target = mask_as_fake_target
+ self.allow_scale_mask = allow_scale_mask
+ self.mask_scale_mode = mask_scale_mode
+ self.extra_mask_weight_for_gen = extra_mask_weight_for_gen
+
+ def generator_loss(self, real_batch: torch.Tensor, fake_batch: torch.Tensor,
+ discr_real_pred: torch.Tensor, discr_fake_pred: torch.Tensor,
+ mask=None) \
+ -> Tuple[torch.Tensor, Dict[str, torch.Tensor]]:
+ fake_loss = F.softplus(-discr_fake_pred)
+ if (self.mask_as_fake_target and self.extra_mask_weight_for_gen > 0) or \
+ not self.use_unmasked_for_gen: # == if masked region should be treated differently
+ mask = self.interpolate_mask(mask, discr_fake_pred.shape[-2:])
+ if not self.use_unmasked_for_gen:
+ fake_loss = fake_loss * mask
+ else:
+ pixel_weights = 1 + mask * self.extra_mask_weight_for_gen
+ fake_loss = fake_loss * pixel_weights
+
+ return fake_loss.mean() * self.weight, dict()
+
+ def pre_discriminator_step(self, real_batch: torch.Tensor, fake_batch: torch.Tensor,
+ generator: nn.Module, discriminator: nn.Module):
+ real_batch.requires_grad = True
+
+ def discriminator_loss(self, real_batch: torch.Tensor, fake_batch: torch.Tensor,
+ discr_real_pred: torch.Tensor, discr_fake_pred: torch.Tensor,
+ mask=None) \
+ -> Tuple[torch.Tensor, Dict[str, torch.Tensor]]:
+
+ real_loss = F.softplus(-discr_real_pred)
+ grad_penalty = make_r1_gp(discr_real_pred, real_batch) * self.gp_coef
+ fake_loss = F.softplus(discr_fake_pred)
+
+ if not self.use_unmasked_for_discr or self.mask_as_fake_target:
+ # == if masked region should be treated differently
+ mask = self.interpolate_mask(mask, discr_fake_pred.shape[-2:])
+ # use_unmasked_for_discr=False only makes sense for fakes;
+ # for reals there is no difference beetween two regions
+ fake_loss = fake_loss * mask
+ if self.mask_as_fake_target:
+ fake_loss = fake_loss + (1 - mask) * F.softplus(-discr_fake_pred)
+
+ sum_discr_loss = real_loss + grad_penalty + fake_loss
+ metrics = dict(discr_real_out=discr_real_pred.mean(),
+ discr_fake_out=discr_fake_pred.mean(),
+ discr_real_gp=grad_penalty)
+ return sum_discr_loss.mean(), metrics
+
+class BCELoss(BaseAdversarialLoss):
+ def __init__(self, weight):
+ self.weight = weight
+ self.bce_loss = nn.BCEWithLogitsLoss()
+
+ def generator_loss(self, discr_fake_pred: torch.Tensor) -> Tuple[torch.Tensor, Dict[str, torch.Tensor]]:
+ real_mask_gt = torch.zeros(discr_fake_pred.shape).to(discr_fake_pred.device)
+ fake_loss = self.bce_loss(discr_fake_pred, real_mask_gt) * self.weight
+ return fake_loss, dict()
+
+ def pre_discriminator_step(self, real_batch: torch.Tensor, fake_batch: torch.Tensor,
+ generator: nn.Module, discriminator: nn.Module):
+ real_batch.requires_grad = True
+
+ def discriminator_loss(self,
+ mask: torch.Tensor,
+ discr_real_pred: torch.Tensor,
+ discr_fake_pred: torch.Tensor) -> Tuple[torch.Tensor, Dict[str, torch.Tensor]]:
+
+ real_mask_gt = torch.zeros(discr_real_pred.shape).to(discr_real_pred.device)
+ sum_discr_loss = (self.bce_loss(discr_real_pred, real_mask_gt) + self.bce_loss(discr_fake_pred, mask)) / 2
+ metrics = dict(discr_real_out=discr_real_pred.mean(),
+ discr_fake_out=discr_fake_pred.mean(),
+ discr_real_gp=0)
+ return sum_discr_loss, metrics
+
+
+def make_discrim_loss(kind, **kwargs):
+ if kind == 'r1':
+ return NonSaturatingWithR1(**kwargs)
+ elif kind == 'bce':
+ return BCELoss(**kwargs)
+ raise ValueError(f'Unknown adversarial loss kind {kind}')
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/losses/constants.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/losses/constants.py
new file mode 100644
index 0000000000000000000000000000000000000000..ae3e5e151342232be8e2c2a77fe6fd5798dc2a8c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/losses/constants.py
@@ -0,0 +1,152 @@
+weights = {"ade20k":
+ [6.34517766497462,
+ 9.328358208955224,
+ 11.389521640091116,
+ 16.10305958132045,
+ 20.833333333333332,
+ 22.22222222222222,
+ 25.125628140703515,
+ 43.29004329004329,
+ 50.5050505050505,
+ 54.6448087431694,
+ 55.24861878453038,
+ 60.24096385542168,
+ 62.5,
+ 66.2251655629139,
+ 84.74576271186442,
+ 90.90909090909092,
+ 91.74311926605505,
+ 96.15384615384616,
+ 96.15384615384616,
+ 97.08737864077669,
+ 102.04081632653062,
+ 135.13513513513513,
+ 149.2537313432836,
+ 153.84615384615384,
+ 163.93442622950818,
+ 166.66666666666666,
+ 188.67924528301887,
+ 192.30769230769232,
+ 217.3913043478261,
+ 227.27272727272725,
+ 227.27272727272725,
+ 227.27272727272725,
+ 303.03030303030306,
+ 322.5806451612903,
+ 333.3333333333333,
+ 370.3703703703703,
+ 384.61538461538464,
+ 416.6666666666667,
+ 416.6666666666667,
+ 434.7826086956522,
+ 434.7826086956522,
+ 454.5454545454545,
+ 454.5454545454545,
+ 500.0,
+ 526.3157894736842,
+ 526.3157894736842,
+ 555.5555555555555,
+ 555.5555555555555,
+ 555.5555555555555,
+ 555.5555555555555,
+ 555.5555555555555,
+ 555.5555555555555,
+ 555.5555555555555,
+ 588.2352941176471,
+ 588.2352941176471,
+ 588.2352941176471,
+ 588.2352941176471,
+ 588.2352941176471,
+ 666.6666666666666,
+ 666.6666666666666,
+ 666.6666666666666,
+ 666.6666666666666,
+ 714.2857142857143,
+ 714.2857142857143,
+ 714.2857142857143,
+ 714.2857142857143,
+ 714.2857142857143,
+ 769.2307692307693,
+ 769.2307692307693,
+ 769.2307692307693,
+ 833.3333333333334,
+ 833.3333333333334,
+ 833.3333333333334,
+ 833.3333333333334,
+ 909.090909090909,
+ 1000.0,
+ 1111.111111111111,
+ 1111.111111111111,
+ 1111.111111111111,
+ 1111.111111111111,
+ 1111.111111111111,
+ 1250.0,
+ 1250.0,
+ 1250.0,
+ 1250.0,
+ 1250.0,
+ 1428.5714285714287,
+ 1428.5714285714287,
+ 1428.5714285714287,
+ 1428.5714285714287,
+ 1428.5714285714287,
+ 1428.5714285714287,
+ 1428.5714285714287,
+ 1666.6666666666667,
+ 1666.6666666666667,
+ 1666.6666666666667,
+ 1666.6666666666667,
+ 1666.6666666666667,
+ 1666.6666666666667,
+ 1666.6666666666667,
+ 1666.6666666666667,
+ 1666.6666666666667,
+ 1666.6666666666667,
+ 1666.6666666666667,
+ 2000.0,
+ 2000.0,
+ 2000.0,
+ 2000.0,
+ 2000.0,
+ 2000.0,
+ 2000.0,
+ 2000.0,
+ 2000.0,
+ 2000.0,
+ 2000.0,
+ 2000.0,
+ 2000.0,
+ 2000.0,
+ 2000.0,
+ 2000.0,
+ 2000.0,
+ 2500.0,
+ 2500.0,
+ 2500.0,
+ 2500.0,
+ 2500.0,
+ 2500.0,
+ 2500.0,
+ 2500.0,
+ 2500.0,
+ 2500.0,
+ 2500.0,
+ 2500.0,
+ 2500.0,
+ 3333.3333333333335,
+ 3333.3333333333335,
+ 3333.3333333333335,
+ 3333.3333333333335,
+ 3333.3333333333335,
+ 3333.3333333333335,
+ 3333.3333333333335,
+ 3333.3333333333335,
+ 3333.3333333333335,
+ 3333.3333333333335,
+ 3333.3333333333335,
+ 3333.3333333333335,
+ 3333.3333333333335,
+ 5000.0,
+ 5000.0,
+ 5000.0]
+}
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/losses/distance_weighting.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/losses/distance_weighting.py
new file mode 100644
index 0000000000000000000000000000000000000000..90ce05bee5f633662057b3347d8791e1b4d115a0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/losses/distance_weighting.py
@@ -0,0 +1,126 @@
+import torch
+import torch.nn as nn
+import torch.nn.functional as F
+import torchvision
+
+from annotator.lama.saicinpainting.training.losses.perceptual import IMAGENET_STD, IMAGENET_MEAN
+
+
+def dummy_distance_weighter(real_img, pred_img, mask):
+ return mask
+
+
+def get_gauss_kernel(kernel_size, width_factor=1):
+ coords = torch.stack(torch.meshgrid(torch.arange(kernel_size),
+ torch.arange(kernel_size)),
+ dim=0).float()
+ diff = torch.exp(-((coords - kernel_size // 2) ** 2).sum(0) / kernel_size / width_factor)
+ diff /= diff.sum()
+ return diff
+
+
+class BlurMask(nn.Module):
+ def __init__(self, kernel_size=5, width_factor=1):
+ super().__init__()
+ self.filter = nn.Conv2d(1, 1, kernel_size, padding=kernel_size // 2, padding_mode='replicate', bias=False)
+ self.filter.weight.data.copy_(get_gauss_kernel(kernel_size, width_factor=width_factor))
+
+ def forward(self, real_img, pred_img, mask):
+ with torch.no_grad():
+ result = self.filter(mask) * mask
+ return result
+
+
+class EmulatedEDTMask(nn.Module):
+ def __init__(self, dilate_kernel_size=5, blur_kernel_size=5, width_factor=1):
+ super().__init__()
+ self.dilate_filter = nn.Conv2d(1, 1, dilate_kernel_size, padding=dilate_kernel_size// 2, padding_mode='replicate',
+ bias=False)
+ self.dilate_filter.weight.data.copy_(torch.ones(1, 1, dilate_kernel_size, dilate_kernel_size, dtype=torch.float))
+ self.blur_filter = nn.Conv2d(1, 1, blur_kernel_size, padding=blur_kernel_size // 2, padding_mode='replicate', bias=False)
+ self.blur_filter.weight.data.copy_(get_gauss_kernel(blur_kernel_size, width_factor=width_factor))
+
+ def forward(self, real_img, pred_img, mask):
+ with torch.no_grad():
+ known_mask = 1 - mask
+ dilated_known_mask = (self.dilate_filter(known_mask) > 1).float()
+ result = self.blur_filter(1 - dilated_known_mask) * mask
+ return result
+
+
+class PropagatePerceptualSim(nn.Module):
+ def __init__(self, level=2, max_iters=10, temperature=500, erode_mask_size=3):
+ super().__init__()
+ vgg = torchvision.models.vgg19(pretrained=True).features
+ vgg_avg_pooling = []
+
+ for weights in vgg.parameters():
+ weights.requires_grad = False
+
+ cur_level_i = 0
+ for module in vgg.modules():
+ if module.__class__.__name__ == 'Sequential':
+ continue
+ elif module.__class__.__name__ == 'MaxPool2d':
+ vgg_avg_pooling.append(nn.AvgPool2d(kernel_size=2, stride=2, padding=0))
+ else:
+ vgg_avg_pooling.append(module)
+ if module.__class__.__name__ == 'ReLU':
+ cur_level_i += 1
+ if cur_level_i == level:
+ break
+
+ self.features = nn.Sequential(*vgg_avg_pooling)
+
+ self.max_iters = max_iters
+ self.temperature = temperature
+ self.do_erode = erode_mask_size > 0
+ if self.do_erode:
+ self.erode_mask = nn.Conv2d(1, 1, erode_mask_size, padding=erode_mask_size // 2, bias=False)
+ self.erode_mask.weight.data.fill_(1)
+
+ def forward(self, real_img, pred_img, mask):
+ with torch.no_grad():
+ real_img = (real_img - IMAGENET_MEAN.to(real_img)) / IMAGENET_STD.to(real_img)
+ real_feats = self.features(real_img)
+
+ vertical_sim = torch.exp(-(real_feats[:, :, 1:] - real_feats[:, :, :-1]).pow(2).sum(1, keepdim=True)
+ / self.temperature)
+ horizontal_sim = torch.exp(-(real_feats[:, :, :, 1:] - real_feats[:, :, :, :-1]).pow(2).sum(1, keepdim=True)
+ / self.temperature)
+
+ mask_scaled = F.interpolate(mask, size=real_feats.shape[-2:], mode='bilinear', align_corners=False)
+ if self.do_erode:
+ mask_scaled = (self.erode_mask(mask_scaled) > 1).float()
+
+ cur_knowness = 1 - mask_scaled
+
+ for iter_i in range(self.max_iters):
+ new_top_knowness = F.pad(cur_knowness[:, :, :-1] * vertical_sim, (0, 0, 1, 0), mode='replicate')
+ new_bottom_knowness = F.pad(cur_knowness[:, :, 1:] * vertical_sim, (0, 0, 0, 1), mode='replicate')
+
+ new_left_knowness = F.pad(cur_knowness[:, :, :, :-1] * horizontal_sim, (1, 0, 0, 0), mode='replicate')
+ new_right_knowness = F.pad(cur_knowness[:, :, :, 1:] * horizontal_sim, (0, 1, 0, 0), mode='replicate')
+
+ new_knowness = torch.stack([new_top_knowness, new_bottom_knowness,
+ new_left_knowness, new_right_knowness],
+ dim=0).max(0).values
+
+ cur_knowness = torch.max(cur_knowness, new_knowness)
+
+ cur_knowness = F.interpolate(cur_knowness, size=mask.shape[-2:], mode='bilinear')
+ result = torch.min(mask, 1 - cur_knowness)
+
+ return result
+
+
+def make_mask_distance_weighter(kind='none', **kwargs):
+ if kind == 'none':
+ return dummy_distance_weighter
+ if kind == 'blur':
+ return BlurMask(**kwargs)
+ if kind == 'edt':
+ return EmulatedEDTMask(**kwargs)
+ if kind == 'pps':
+ return PropagatePerceptualSim(**kwargs)
+ raise ValueError(f'Unknown mask distance weighter kind {kind}')
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/losses/feature_matching.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/losses/feature_matching.py
new file mode 100644
index 0000000000000000000000000000000000000000..c019895c9178817837d1a6773367b178a861dc61
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/losses/feature_matching.py
@@ -0,0 +1,33 @@
+from typing import List
+
+import torch
+import torch.nn.functional as F
+
+
+def masked_l2_loss(pred, target, mask, weight_known, weight_missing):
+ per_pixel_l2 = F.mse_loss(pred, target, reduction='none')
+ pixel_weights = mask * weight_missing + (1 - mask) * weight_known
+ return (pixel_weights * per_pixel_l2).mean()
+
+
+def masked_l1_loss(pred, target, mask, weight_known, weight_missing):
+ per_pixel_l1 = F.l1_loss(pred, target, reduction='none')
+ pixel_weights = mask * weight_missing + (1 - mask) * weight_known
+ return (pixel_weights * per_pixel_l1).mean()
+
+
+def feature_matching_loss(fake_features: List[torch.Tensor], target_features: List[torch.Tensor], mask=None):
+ if mask is None:
+ res = torch.stack([F.mse_loss(fake_feat, target_feat)
+ for fake_feat, target_feat in zip(fake_features, target_features)]).mean()
+ else:
+ res = 0
+ norm = 0
+ for fake_feat, target_feat in zip(fake_features, target_features):
+ cur_mask = F.interpolate(mask, size=fake_feat.shape[-2:], mode='bilinear', align_corners=False)
+ error_weights = 1 - cur_mask
+ cur_val = ((fake_feat - target_feat).pow(2) * error_weights).mean()
+ res = res + cur_val
+ norm += 1
+ res = res / norm
+ return res
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/losses/perceptual.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/losses/perceptual.py
new file mode 100644
index 0000000000000000000000000000000000000000..5d8b0b309b2b8ba95172cb16af440033a4aeafae
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/losses/perceptual.py
@@ -0,0 +1,113 @@
+import torch
+import torch.nn as nn
+import torch.nn.functional as F
+import torchvision
+
+# from models.ade20k import ModelBuilder
+from annotator.lama.saicinpainting.utils import check_and_warn_input_range
+
+
+IMAGENET_MEAN = torch.FloatTensor([0.485, 0.456, 0.406])[None, :, None, None]
+IMAGENET_STD = torch.FloatTensor([0.229, 0.224, 0.225])[None, :, None, None]
+
+
+class PerceptualLoss(nn.Module):
+ def __init__(self, normalize_inputs=True):
+ super(PerceptualLoss, self).__init__()
+
+ self.normalize_inputs = normalize_inputs
+ self.mean_ = IMAGENET_MEAN
+ self.std_ = IMAGENET_STD
+
+ vgg = torchvision.models.vgg19(pretrained=True).features
+ vgg_avg_pooling = []
+
+ for weights in vgg.parameters():
+ weights.requires_grad = False
+
+ for module in vgg.modules():
+ if module.__class__.__name__ == 'Sequential':
+ continue
+ elif module.__class__.__name__ == 'MaxPool2d':
+ vgg_avg_pooling.append(nn.AvgPool2d(kernel_size=2, stride=2, padding=0))
+ else:
+ vgg_avg_pooling.append(module)
+
+ self.vgg = nn.Sequential(*vgg_avg_pooling)
+
+ def do_normalize_inputs(self, x):
+ return (x - self.mean_.to(x.device)) / self.std_.to(x.device)
+
+ def partial_losses(self, input, target, mask=None):
+ check_and_warn_input_range(target, 0, 1, 'PerceptualLoss target in partial_losses')
+
+ # we expect input and target to be in [0, 1] range
+ losses = []
+
+ if self.normalize_inputs:
+ features_input = self.do_normalize_inputs(input)
+ features_target = self.do_normalize_inputs(target)
+ else:
+ features_input = input
+ features_target = target
+
+ for layer in self.vgg[:30]:
+
+ features_input = layer(features_input)
+ features_target = layer(features_target)
+
+ if layer.__class__.__name__ == 'ReLU':
+ loss = F.mse_loss(features_input, features_target, reduction='none')
+
+ if mask is not None:
+ cur_mask = F.interpolate(mask, size=features_input.shape[-2:],
+ mode='bilinear', align_corners=False)
+ loss = loss * (1 - cur_mask)
+
+ loss = loss.mean(dim=tuple(range(1, len(loss.shape))))
+ losses.append(loss)
+
+ return losses
+
+ def forward(self, input, target, mask=None):
+ losses = self.partial_losses(input, target, mask=mask)
+ return torch.stack(losses).sum(dim=0)
+
+ def get_global_features(self, input):
+ check_and_warn_input_range(input, 0, 1, 'PerceptualLoss input in get_global_features')
+
+ if self.normalize_inputs:
+ features_input = self.do_normalize_inputs(input)
+ else:
+ features_input = input
+
+ features_input = self.vgg(features_input)
+ return features_input
+
+
+class ResNetPL(nn.Module):
+ def __init__(self, weight=1,
+ weights_path=None, arch_encoder='resnet50dilated', segmentation=True):
+ super().__init__()
+ self.impl = ModelBuilder.get_encoder(weights_path=weights_path,
+ arch_encoder=arch_encoder,
+ arch_decoder='ppm_deepsup',
+ fc_dim=2048,
+ segmentation=segmentation)
+ self.impl.eval()
+ for w in self.impl.parameters():
+ w.requires_grad_(False)
+
+ self.weight = weight
+
+ def forward(self, pred, target):
+ pred = (pred - IMAGENET_MEAN.to(pred)) / IMAGENET_STD.to(pred)
+ target = (target - IMAGENET_MEAN.to(target)) / IMAGENET_STD.to(target)
+
+ pred_feats = self.impl(pred, return_feature_maps=True)
+ target_feats = self.impl(target, return_feature_maps=True)
+
+ result = torch.stack([F.mse_loss(cur_pred, cur_target)
+ for cur_pred, cur_target
+ in zip(pred_feats, target_feats)]).sum() * self.weight
+ return result
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/losses/segmentation.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/losses/segmentation.py
new file mode 100644
index 0000000000000000000000000000000000000000..3d4a9f94eaae84722db584277dbbf9bc41ede357
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/losses/segmentation.py
@@ -0,0 +1,43 @@
+import torch
+import torch.nn as nn
+import torch.nn.functional as F
+
+from .constants import weights as constant_weights
+
+
+class CrossEntropy2d(nn.Module):
+ def __init__(self, reduction="mean", ignore_label=255, weights=None, *args, **kwargs):
+ """
+ weight (Tensor, optional): a manual rescaling weight given to each class.
+ If given, has to be a Tensor of size "nclasses"
+ """
+ super(CrossEntropy2d, self).__init__()
+ self.reduction = reduction
+ self.ignore_label = ignore_label
+ self.weights = weights
+ if self.weights is not None:
+ device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
+ self.weights = torch.FloatTensor(constant_weights[weights]).to(device)
+
+ def forward(self, predict, target):
+ """
+ Args:
+ predict:(n, c, h, w)
+ target:(n, 1, h, w)
+ """
+ target = target.long()
+ assert not target.requires_grad
+ assert predict.dim() == 4, "{0}".format(predict.size())
+ assert target.dim() == 4, "{0}".format(target.size())
+ assert predict.size(0) == target.size(0), "{0} vs {1} ".format(predict.size(0), target.size(0))
+ assert target.size(1) == 1, "{0}".format(target.size(1))
+ assert predict.size(2) == target.size(2), "{0} vs {1} ".format(predict.size(2), target.size(2))
+ assert predict.size(3) == target.size(3), "{0} vs {1} ".format(predict.size(3), target.size(3))
+ target = target.squeeze(1)
+ n, c, h, w = predict.size()
+ target_mask = (target >= 0) * (target != self.ignore_label)
+ target = target[target_mask]
+ predict = predict.transpose(1, 2).transpose(2, 3).contiguous()
+ predict = predict[target_mask.view(n, h, w, 1).repeat(1, 1, 1, c)].view(-1, c)
+ loss = F.cross_entropy(predict, target, weight=self.weights, reduction=self.reduction)
+ return loss
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/losses/style_loss.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/losses/style_loss.py
new file mode 100644
index 0000000000000000000000000000000000000000..0bb42d7fbc5d17a47bec7365889868505f5fdfb5
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/losses/style_loss.py
@@ -0,0 +1,155 @@
+import torch
+import torch.nn as nn
+import torchvision.models as models
+
+
+class PerceptualLoss(nn.Module):
+ r"""
+ Perceptual loss, VGG-based
+ https://arxiv.org/abs/1603.08155
+ https://github.com/dxyang/StyleTransfer/blob/master/utils.py
+ """
+
+ def __init__(self, weights=[1.0, 1.0, 1.0, 1.0, 1.0]):
+ super(PerceptualLoss, self).__init__()
+ self.add_module('vgg', VGG19())
+ self.criterion = torch.nn.L1Loss()
+ self.weights = weights
+
+ def __call__(self, x, y):
+ # Compute features
+ x_vgg, y_vgg = self.vgg(x), self.vgg(y)
+
+ content_loss = 0.0
+ content_loss += self.weights[0] * self.criterion(x_vgg['relu1_1'], y_vgg['relu1_1'])
+ content_loss += self.weights[1] * self.criterion(x_vgg['relu2_1'], y_vgg['relu2_1'])
+ content_loss += self.weights[2] * self.criterion(x_vgg['relu3_1'], y_vgg['relu3_1'])
+ content_loss += self.weights[3] * self.criterion(x_vgg['relu4_1'], y_vgg['relu4_1'])
+ content_loss += self.weights[4] * self.criterion(x_vgg['relu5_1'], y_vgg['relu5_1'])
+
+
+ return content_loss
+
+
+class VGG19(torch.nn.Module):
+ def __init__(self):
+ super(VGG19, self).__init__()
+ features = models.vgg19(pretrained=True).features
+ self.relu1_1 = torch.nn.Sequential()
+ self.relu1_2 = torch.nn.Sequential()
+
+ self.relu2_1 = torch.nn.Sequential()
+ self.relu2_2 = torch.nn.Sequential()
+
+ self.relu3_1 = torch.nn.Sequential()
+ self.relu3_2 = torch.nn.Sequential()
+ self.relu3_3 = torch.nn.Sequential()
+ self.relu3_4 = torch.nn.Sequential()
+
+ self.relu4_1 = torch.nn.Sequential()
+ self.relu4_2 = torch.nn.Sequential()
+ self.relu4_3 = torch.nn.Sequential()
+ self.relu4_4 = torch.nn.Sequential()
+
+ self.relu5_1 = torch.nn.Sequential()
+ self.relu5_2 = torch.nn.Sequential()
+ self.relu5_3 = torch.nn.Sequential()
+ self.relu5_4 = torch.nn.Sequential()
+
+ for x in range(2):
+ self.relu1_1.add_module(str(x), features[x])
+
+ for x in range(2, 4):
+ self.relu1_2.add_module(str(x), features[x])
+
+ for x in range(4, 7):
+ self.relu2_1.add_module(str(x), features[x])
+
+ for x in range(7, 9):
+ self.relu2_2.add_module(str(x), features[x])
+
+ for x in range(9, 12):
+ self.relu3_1.add_module(str(x), features[x])
+
+ for x in range(12, 14):
+ self.relu3_2.add_module(str(x), features[x])
+
+ for x in range(14, 16):
+ self.relu3_2.add_module(str(x), features[x])
+
+ for x in range(16, 18):
+ self.relu3_4.add_module(str(x), features[x])
+
+ for x in range(18, 21):
+ self.relu4_1.add_module(str(x), features[x])
+
+ for x in range(21, 23):
+ self.relu4_2.add_module(str(x), features[x])
+
+ for x in range(23, 25):
+ self.relu4_3.add_module(str(x), features[x])
+
+ for x in range(25, 27):
+ self.relu4_4.add_module(str(x), features[x])
+
+ for x in range(27, 30):
+ self.relu5_1.add_module(str(x), features[x])
+
+ for x in range(30, 32):
+ self.relu5_2.add_module(str(x), features[x])
+
+ for x in range(32, 34):
+ self.relu5_3.add_module(str(x), features[x])
+
+ for x in range(34, 36):
+ self.relu5_4.add_module(str(x), features[x])
+
+ # don't need the gradients, just want the features
+ for param in self.parameters():
+ param.requires_grad = False
+
+ def forward(self, x):
+ relu1_1 = self.relu1_1(x)
+ relu1_2 = self.relu1_2(relu1_1)
+
+ relu2_1 = self.relu2_1(relu1_2)
+ relu2_2 = self.relu2_2(relu2_1)
+
+ relu3_1 = self.relu3_1(relu2_2)
+ relu3_2 = self.relu3_2(relu3_1)
+ relu3_3 = self.relu3_3(relu3_2)
+ relu3_4 = self.relu3_4(relu3_3)
+
+ relu4_1 = self.relu4_1(relu3_4)
+ relu4_2 = self.relu4_2(relu4_1)
+ relu4_3 = self.relu4_3(relu4_2)
+ relu4_4 = self.relu4_4(relu4_3)
+
+ relu5_1 = self.relu5_1(relu4_4)
+ relu5_2 = self.relu5_2(relu5_1)
+ relu5_3 = self.relu5_3(relu5_2)
+ relu5_4 = self.relu5_4(relu5_3)
+
+ out = {
+ 'relu1_1': relu1_1,
+ 'relu1_2': relu1_2,
+
+ 'relu2_1': relu2_1,
+ 'relu2_2': relu2_2,
+
+ 'relu3_1': relu3_1,
+ 'relu3_2': relu3_2,
+ 'relu3_3': relu3_3,
+ 'relu3_4': relu3_4,
+
+ 'relu4_1': relu4_1,
+ 'relu4_2': relu4_2,
+ 'relu4_3': relu4_3,
+ 'relu4_4': relu4_4,
+
+ 'relu5_1': relu5_1,
+ 'relu5_2': relu5_2,
+ 'relu5_3': relu5_3,
+ 'relu5_4': relu5_4,
+ }
+ return out
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/modules/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/modules/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..c5c56ad9965ec95f3ae28c35c2ab42456eb06066
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/modules/__init__.py
@@ -0,0 +1,31 @@
+import logging
+
+from annotator.lama.saicinpainting.training.modules.ffc import FFCResNetGenerator
+from annotator.lama.saicinpainting.training.modules.pix2pixhd import GlobalGenerator, MultiDilatedGlobalGenerator, \
+ NLayerDiscriminator, MultidilatedNLayerDiscriminator
+
+def make_generator(config, kind, **kwargs):
+ logging.info(f'Make generator {kind}')
+
+ if kind == 'pix2pixhd_multidilated':
+ return MultiDilatedGlobalGenerator(**kwargs)
+
+ if kind == 'pix2pixhd_global':
+ return GlobalGenerator(**kwargs)
+
+ if kind == 'ffc_resnet':
+ return FFCResNetGenerator(**kwargs)
+
+ raise ValueError(f'Unknown generator kind {kind}')
+
+
+def make_discriminator(kind, **kwargs):
+ logging.info(f'Make discriminator {kind}')
+
+ if kind == 'pix2pixhd_nlayer_multidilated':
+ return MultidilatedNLayerDiscriminator(**kwargs)
+
+ if kind == 'pix2pixhd_nlayer':
+ return NLayerDiscriminator(**kwargs)
+
+ raise ValueError(f'Unknown discriminator kind {kind}')
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/modules/base.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/modules/base.py
new file mode 100644
index 0000000000000000000000000000000000000000..58c513987601d6a442ca8f066f82f1af46e28939
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/modules/base.py
@@ -0,0 +1,80 @@
+import abc
+from typing import Tuple, List
+
+import torch
+import torch.nn as nn
+
+from annotator.lama.saicinpainting.training.modules.depthwise_sep_conv import DepthWiseSeperableConv
+from annotator.lama.saicinpainting.training.modules.multidilated_conv import MultidilatedConv
+
+
+class BaseDiscriminator(nn.Module):
+ @abc.abstractmethod
+ def forward(self, x: torch.Tensor) -> Tuple[torch.Tensor, List[torch.Tensor]]:
+ """
+ Predict scores and get intermediate activations. Useful for feature matching loss
+ :return tuple (scores, list of intermediate activations)
+ """
+ raise NotImplemented()
+
+
+def get_conv_block_ctor(kind='default'):
+ if not isinstance(kind, str):
+ return kind
+ if kind == 'default':
+ return nn.Conv2d
+ if kind == 'depthwise':
+ return DepthWiseSeperableConv
+ if kind == 'multidilated':
+ return MultidilatedConv
+ raise ValueError(f'Unknown convolutional block kind {kind}')
+
+
+def get_norm_layer(kind='bn'):
+ if not isinstance(kind, str):
+ return kind
+ if kind == 'bn':
+ return nn.BatchNorm2d
+ if kind == 'in':
+ return nn.InstanceNorm2d
+ raise ValueError(f'Unknown norm block kind {kind}')
+
+
+def get_activation(kind='tanh'):
+ if kind == 'tanh':
+ return nn.Tanh()
+ if kind == 'sigmoid':
+ return nn.Sigmoid()
+ if kind is False:
+ return nn.Identity()
+ raise ValueError(f'Unknown activation kind {kind}')
+
+
+class SimpleMultiStepGenerator(nn.Module):
+ def __init__(self, steps: List[nn.Module]):
+ super().__init__()
+ self.steps = nn.ModuleList(steps)
+
+ def forward(self, x):
+ cur_in = x
+ outs = []
+ for step in self.steps:
+ cur_out = step(cur_in)
+ outs.append(cur_out)
+ cur_in = torch.cat((cur_in, cur_out), dim=1)
+ return torch.cat(outs[::-1], dim=1)
+
+def deconv_factory(kind, ngf, mult, norm_layer, activation, max_features):
+ if kind == 'convtranspose':
+ return [nn.ConvTranspose2d(min(max_features, ngf * mult),
+ min(max_features, int(ngf * mult / 2)),
+ kernel_size=3, stride=2, padding=1, output_padding=1),
+ norm_layer(min(max_features, int(ngf * mult / 2))), activation]
+ elif kind == 'bilinear':
+ return [nn.Upsample(scale_factor=2, mode='bilinear'),
+ DepthWiseSeperableConv(min(max_features, ngf * mult),
+ min(max_features, int(ngf * mult / 2)),
+ kernel_size=3, stride=1, padding=1),
+ norm_layer(min(max_features, int(ngf * mult / 2))), activation]
+ else:
+ raise Exception(f"Invalid deconv kind: {kind}")
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/modules/depthwise_sep_conv.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/modules/depthwise_sep_conv.py
new file mode 100644
index 0000000000000000000000000000000000000000..83dd15c3df1d9f40baf0091a373fa224532c9ddd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/modules/depthwise_sep_conv.py
@@ -0,0 +1,17 @@
+import torch
+import torch.nn as nn
+
+class DepthWiseSeperableConv(nn.Module):
+ def __init__(self, in_dim, out_dim, *args, **kwargs):
+ super().__init__()
+ if 'groups' in kwargs:
+ # ignoring groups for Depthwise Sep Conv
+ del kwargs['groups']
+
+ self.depthwise = nn.Conv2d(in_dim, in_dim, *args, groups=in_dim, **kwargs)
+ self.pointwise = nn.Conv2d(in_dim, out_dim, kernel_size=1)
+
+ def forward(self, x):
+ out = self.depthwise(x)
+ out = self.pointwise(out)
+ return out
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/modules/fake_fakes.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/modules/fake_fakes.py
new file mode 100644
index 0000000000000000000000000000000000000000..45c4ad559cef2730b771a709197e00ae1c87683c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/modules/fake_fakes.py
@@ -0,0 +1,47 @@
+import torch
+from kornia import SamplePadding
+from kornia.augmentation import RandomAffine, CenterCrop
+
+
+class FakeFakesGenerator:
+ def __init__(self, aug_proba=0.5, img_aug_degree=30, img_aug_translate=0.2):
+ self.grad_aug = RandomAffine(degrees=360,
+ translate=0.2,
+ padding_mode=SamplePadding.REFLECTION,
+ keepdim=False,
+ p=1)
+ self.img_aug = RandomAffine(degrees=img_aug_degree,
+ translate=img_aug_translate,
+ padding_mode=SamplePadding.REFLECTION,
+ keepdim=True,
+ p=1)
+ self.aug_proba = aug_proba
+
+ def __call__(self, input_images, masks):
+ blend_masks = self._fill_masks_with_gradient(masks)
+ blend_target = self._make_blend_target(input_images)
+ result = input_images * (1 - blend_masks) + blend_target * blend_masks
+ return result, blend_masks
+
+ def _make_blend_target(self, input_images):
+ batch_size = input_images.shape[0]
+ permuted = input_images[torch.randperm(batch_size)]
+ augmented = self.img_aug(input_images)
+ is_aug = (torch.rand(batch_size, device=input_images.device)[:, None, None, None] < self.aug_proba).float()
+ result = augmented * is_aug + permuted * (1 - is_aug)
+ return result
+
+ def _fill_masks_with_gradient(self, masks):
+ batch_size, _, height, width = masks.shape
+ grad = torch.linspace(0, 1, steps=width * 2, device=masks.device, dtype=masks.dtype) \
+ .view(1, 1, 1, -1).expand(batch_size, 1, height * 2, width * 2)
+ grad = self.grad_aug(grad)
+ grad = CenterCrop((height, width))(grad)
+ grad *= masks
+
+ grad_for_min = grad + (1 - masks) * 10
+ grad -= grad_for_min.view(batch_size, -1).min(-1).values[:, None, None, None]
+ grad /= grad.view(batch_size, -1).max(-1).values[:, None, None, None] + 1e-6
+ grad.clamp_(min=0, max=1)
+
+ return grad
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/modules/ffc.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/modules/ffc.py
new file mode 100644
index 0000000000000000000000000000000000000000..e67ff9c832463e5518d6ccea2c6f27531ed778d4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/modules/ffc.py
@@ -0,0 +1,485 @@
+# Fast Fourier Convolution NeurIPS 2020
+# original implementation https://github.com/pkumivision/FFC/blob/main/model_zoo/ffc.py
+# paper https://proceedings.neurips.cc/paper/2020/file/2fd5d41ec6cfab47e32164d5624269b1-Paper.pdf
+
+import numpy as np
+import torch
+import torch.nn as nn
+import torch.nn.functional as F
+
+from annotator.lama.saicinpainting.training.modules.base import get_activation, BaseDiscriminator
+from annotator.lama.saicinpainting.training.modules.spatial_transform import LearnableSpatialTransformWrapper
+from annotator.lama.saicinpainting.training.modules.squeeze_excitation import SELayer
+from annotator.lama.saicinpainting.utils import get_shape
+
+
+class FFCSE_block(nn.Module):
+
+ def __init__(self, channels, ratio_g):
+ super(FFCSE_block, self).__init__()
+ in_cg = int(channels * ratio_g)
+ in_cl = channels - in_cg
+ r = 16
+
+ self.avgpool = nn.AdaptiveAvgPool2d((1, 1))
+ self.conv1 = nn.Conv2d(channels, channels // r,
+ kernel_size=1, bias=True)
+ self.relu1 = nn.ReLU(inplace=True)
+ self.conv_a2l = None if in_cl == 0 else nn.Conv2d(
+ channels // r, in_cl, kernel_size=1, bias=True)
+ self.conv_a2g = None if in_cg == 0 else nn.Conv2d(
+ channels // r, in_cg, kernel_size=1, bias=True)
+ self.sigmoid = nn.Sigmoid()
+
+ def forward(self, x):
+ x = x if type(x) is tuple else (x, 0)
+ id_l, id_g = x
+
+ x = id_l if type(id_g) is int else torch.cat([id_l, id_g], dim=1)
+ x = self.avgpool(x)
+ x = self.relu1(self.conv1(x))
+
+ x_l = 0 if self.conv_a2l is None else id_l * \
+ self.sigmoid(self.conv_a2l(x))
+ x_g = 0 if self.conv_a2g is None else id_g * \
+ self.sigmoid(self.conv_a2g(x))
+ return x_l, x_g
+
+
+class FourierUnit(nn.Module):
+
+ def __init__(self, in_channels, out_channels, groups=1, spatial_scale_factor=None, spatial_scale_mode='bilinear',
+ spectral_pos_encoding=False, use_se=False, se_kwargs=None, ffc3d=False, fft_norm='ortho'):
+ # bn_layer not used
+ super(FourierUnit, self).__init__()
+ self.groups = groups
+
+ self.conv_layer = torch.nn.Conv2d(in_channels=in_channels * 2 + (2 if spectral_pos_encoding else 0),
+ out_channels=out_channels * 2,
+ kernel_size=1, stride=1, padding=0, groups=self.groups, bias=False)
+ self.bn = torch.nn.BatchNorm2d(out_channels * 2)
+ self.relu = torch.nn.ReLU(inplace=True)
+
+ # squeeze and excitation block
+ self.use_se = use_se
+ if use_se:
+ if se_kwargs is None:
+ se_kwargs = {}
+ self.se = SELayer(self.conv_layer.in_channels, **se_kwargs)
+
+ self.spatial_scale_factor = spatial_scale_factor
+ self.spatial_scale_mode = spatial_scale_mode
+ self.spectral_pos_encoding = spectral_pos_encoding
+ self.ffc3d = ffc3d
+ self.fft_norm = fft_norm
+
+ def forward(self, x):
+ batch = x.shape[0]
+
+ if self.spatial_scale_factor is not None:
+ orig_size = x.shape[-2:]
+ x = F.interpolate(x, scale_factor=self.spatial_scale_factor, mode=self.spatial_scale_mode, align_corners=False)
+
+ r_size = x.size()
+ # (batch, c, h, w/2+1, 2)
+ fft_dim = (-3, -2, -1) if self.ffc3d else (-2, -1)
+ ffted = torch.fft.rfftn(x, dim=fft_dim, norm=self.fft_norm)
+ ffted = torch.stack((ffted.real, ffted.imag), dim=-1)
+ ffted = ffted.permute(0, 1, 4, 2, 3).contiguous() # (batch, c, 2, h, w/2+1)
+ ffted = ffted.view((batch, -1,) + ffted.size()[3:])
+
+ if self.spectral_pos_encoding:
+ height, width = ffted.shape[-2:]
+ coords_vert = torch.linspace(0, 1, height)[None, None, :, None].expand(batch, 1, height, width).to(ffted)
+ coords_hor = torch.linspace(0, 1, width)[None, None, None, :].expand(batch, 1, height, width).to(ffted)
+ ffted = torch.cat((coords_vert, coords_hor, ffted), dim=1)
+
+ if self.use_se:
+ ffted = self.se(ffted)
+
+ ffted = self.conv_layer(ffted) # (batch, c*2, h, w/2+1)
+ ffted = self.relu(self.bn(ffted))
+
+ ffted = ffted.view((batch, -1, 2,) + ffted.size()[2:]).permute(
+ 0, 1, 3, 4, 2).contiguous() # (batch,c, t, h, w/2+1, 2)
+ ffted = torch.complex(ffted[..., 0], ffted[..., 1])
+
+ ifft_shape_slice = x.shape[-3:] if self.ffc3d else x.shape[-2:]
+ output = torch.fft.irfftn(ffted, s=ifft_shape_slice, dim=fft_dim, norm=self.fft_norm)
+
+ if self.spatial_scale_factor is not None:
+ output = F.interpolate(output, size=orig_size, mode=self.spatial_scale_mode, align_corners=False)
+
+ return output
+
+
+class SeparableFourierUnit(nn.Module):
+
+ def __init__(self, in_channels, out_channels, groups=1, kernel_size=3):
+ # bn_layer not used
+ super(SeparableFourierUnit, self).__init__()
+ self.groups = groups
+ row_out_channels = out_channels // 2
+ col_out_channels = out_channels - row_out_channels
+ self.row_conv = torch.nn.Conv2d(in_channels=in_channels * 2,
+ out_channels=row_out_channels * 2,
+ kernel_size=(kernel_size, 1), # kernel size is always like this, but the data will be transposed
+ stride=1, padding=(kernel_size // 2, 0),
+ padding_mode='reflect',
+ groups=self.groups, bias=False)
+ self.col_conv = torch.nn.Conv2d(in_channels=in_channels * 2,
+ out_channels=col_out_channels * 2,
+ kernel_size=(kernel_size, 1), # kernel size is always like this, but the data will be transposed
+ stride=1, padding=(kernel_size // 2, 0),
+ padding_mode='reflect',
+ groups=self.groups, bias=False)
+ self.row_bn = torch.nn.BatchNorm2d(row_out_channels * 2)
+ self.col_bn = torch.nn.BatchNorm2d(col_out_channels * 2)
+ self.relu = torch.nn.ReLU(inplace=True)
+
+ def process_branch(self, x, conv, bn):
+ batch = x.shape[0]
+
+ r_size = x.size()
+ # (batch, c, h, w/2+1, 2)
+ ffted = torch.fft.rfft(x, norm="ortho")
+ ffted = torch.stack((ffted.real, ffted.imag), dim=-1)
+ ffted = ffted.permute(0, 1, 4, 2, 3).contiguous() # (batch, c, 2, h, w/2+1)
+ ffted = ffted.view((batch, -1,) + ffted.size()[3:])
+
+ ffted = self.relu(bn(conv(ffted)))
+
+ ffted = ffted.view((batch, -1, 2,) + ffted.size()[2:]).permute(
+ 0, 1, 3, 4, 2).contiguous() # (batch,c, t, h, w/2+1, 2)
+ ffted = torch.complex(ffted[..., 0], ffted[..., 1])
+
+ output = torch.fft.irfft(ffted, s=x.shape[-1:], norm="ortho")
+ return output
+
+
+ def forward(self, x):
+ rowwise = self.process_branch(x, self.row_conv, self.row_bn)
+ colwise = self.process_branch(x.permute(0, 1, 3, 2), self.col_conv, self.col_bn).permute(0, 1, 3, 2)
+ out = torch.cat((rowwise, colwise), dim=1)
+ return out
+
+
+class SpectralTransform(nn.Module):
+
+ def __init__(self, in_channels, out_channels, stride=1, groups=1, enable_lfu=True, separable_fu=False, **fu_kwargs):
+ # bn_layer not used
+ super(SpectralTransform, self).__init__()
+ self.enable_lfu = enable_lfu
+ if stride == 2:
+ self.downsample = nn.AvgPool2d(kernel_size=(2, 2), stride=2)
+ else:
+ self.downsample = nn.Identity()
+
+ self.stride = stride
+ self.conv1 = nn.Sequential(
+ nn.Conv2d(in_channels, out_channels //
+ 2, kernel_size=1, groups=groups, bias=False),
+ nn.BatchNorm2d(out_channels // 2),
+ nn.ReLU(inplace=True)
+ )
+ fu_class = SeparableFourierUnit if separable_fu else FourierUnit
+ self.fu = fu_class(
+ out_channels // 2, out_channels // 2, groups, **fu_kwargs)
+ if self.enable_lfu:
+ self.lfu = fu_class(
+ out_channels // 2, out_channels // 2, groups)
+ self.conv2 = torch.nn.Conv2d(
+ out_channels // 2, out_channels, kernel_size=1, groups=groups, bias=False)
+
+ def forward(self, x):
+
+ x = self.downsample(x)
+ x = self.conv1(x)
+ output = self.fu(x)
+
+ if self.enable_lfu:
+ n, c, h, w = x.shape
+ split_no = 2
+ split_s = h // split_no
+ xs = torch.cat(torch.split(
+ x[:, :c // 4], split_s, dim=-2), dim=1).contiguous()
+ xs = torch.cat(torch.split(xs, split_s, dim=-1),
+ dim=1).contiguous()
+ xs = self.lfu(xs)
+ xs = xs.repeat(1, 1, split_no, split_no).contiguous()
+ else:
+ xs = 0
+
+ output = self.conv2(x + output + xs)
+
+ return output
+
+
+class FFC(nn.Module):
+
+ def __init__(self, in_channels, out_channels, kernel_size,
+ ratio_gin, ratio_gout, stride=1, padding=0,
+ dilation=1, groups=1, bias=False, enable_lfu=True,
+ padding_type='reflect', gated=False, **spectral_kwargs):
+ super(FFC, self).__init__()
+
+ assert stride == 1 or stride == 2, "Stride should be 1 or 2."
+ self.stride = stride
+
+ in_cg = int(in_channels * ratio_gin)
+ in_cl = in_channels - in_cg
+ out_cg = int(out_channels * ratio_gout)
+ out_cl = out_channels - out_cg
+ #groups_g = 1 if groups == 1 else int(groups * ratio_gout)
+ #groups_l = 1 if groups == 1 else groups - groups_g
+
+ self.ratio_gin = ratio_gin
+ self.ratio_gout = ratio_gout
+ self.global_in_num = in_cg
+
+ module = nn.Identity if in_cl == 0 or out_cl == 0 else nn.Conv2d
+ self.convl2l = module(in_cl, out_cl, kernel_size,
+ stride, padding, dilation, groups, bias, padding_mode=padding_type)
+ module = nn.Identity if in_cl == 0 or out_cg == 0 else nn.Conv2d
+ self.convl2g = module(in_cl, out_cg, kernel_size,
+ stride, padding, dilation, groups, bias, padding_mode=padding_type)
+ module = nn.Identity if in_cg == 0 or out_cl == 0 else nn.Conv2d
+ self.convg2l = module(in_cg, out_cl, kernel_size,
+ stride, padding, dilation, groups, bias, padding_mode=padding_type)
+ module = nn.Identity if in_cg == 0 or out_cg == 0 else SpectralTransform
+ self.convg2g = module(
+ in_cg, out_cg, stride, 1 if groups == 1 else groups // 2, enable_lfu, **spectral_kwargs)
+
+ self.gated = gated
+ module = nn.Identity if in_cg == 0 or out_cl == 0 or not self.gated else nn.Conv2d
+ self.gate = module(in_channels, 2, 1)
+
+ def forward(self, x):
+ x_l, x_g = x if type(x) is tuple else (x, 0)
+ out_xl, out_xg = 0, 0
+
+ if self.gated:
+ total_input_parts = [x_l]
+ if torch.is_tensor(x_g):
+ total_input_parts.append(x_g)
+ total_input = torch.cat(total_input_parts, dim=1)
+
+ gates = torch.sigmoid(self.gate(total_input))
+ g2l_gate, l2g_gate = gates.chunk(2, dim=1)
+ else:
+ g2l_gate, l2g_gate = 1, 1
+
+ if self.ratio_gout != 1:
+ out_xl = self.convl2l(x_l) + self.convg2l(x_g) * g2l_gate
+ if self.ratio_gout != 0:
+ out_xg = self.convl2g(x_l) * l2g_gate + self.convg2g(x_g)
+
+ return out_xl, out_xg
+
+
+class FFC_BN_ACT(nn.Module):
+
+ def __init__(self, in_channels, out_channels,
+ kernel_size, ratio_gin, ratio_gout,
+ stride=1, padding=0, dilation=1, groups=1, bias=False,
+ norm_layer=nn.BatchNorm2d, activation_layer=nn.Identity,
+ padding_type='reflect',
+ enable_lfu=True, **kwargs):
+ super(FFC_BN_ACT, self).__init__()
+ self.ffc = FFC(in_channels, out_channels, kernel_size,
+ ratio_gin, ratio_gout, stride, padding, dilation,
+ groups, bias, enable_lfu, padding_type=padding_type, **kwargs)
+ lnorm = nn.Identity if ratio_gout == 1 else norm_layer
+ gnorm = nn.Identity if ratio_gout == 0 else norm_layer
+ global_channels = int(out_channels * ratio_gout)
+ self.bn_l = lnorm(out_channels - global_channels)
+ self.bn_g = gnorm(global_channels)
+
+ lact = nn.Identity if ratio_gout == 1 else activation_layer
+ gact = nn.Identity if ratio_gout == 0 else activation_layer
+ self.act_l = lact(inplace=True)
+ self.act_g = gact(inplace=True)
+
+ def forward(self, x):
+ x_l, x_g = self.ffc(x)
+ x_l = self.act_l(self.bn_l(x_l))
+ x_g = self.act_g(self.bn_g(x_g))
+ return x_l, x_g
+
+
+class FFCResnetBlock(nn.Module):
+ def __init__(self, dim, padding_type, norm_layer, activation_layer=nn.ReLU, dilation=1,
+ spatial_transform_kwargs=None, inline=False, **conv_kwargs):
+ super().__init__()
+ self.conv1 = FFC_BN_ACT(dim, dim, kernel_size=3, padding=dilation, dilation=dilation,
+ norm_layer=norm_layer,
+ activation_layer=activation_layer,
+ padding_type=padding_type,
+ **conv_kwargs)
+ self.conv2 = FFC_BN_ACT(dim, dim, kernel_size=3, padding=dilation, dilation=dilation,
+ norm_layer=norm_layer,
+ activation_layer=activation_layer,
+ padding_type=padding_type,
+ **conv_kwargs)
+ if spatial_transform_kwargs is not None:
+ self.conv1 = LearnableSpatialTransformWrapper(self.conv1, **spatial_transform_kwargs)
+ self.conv2 = LearnableSpatialTransformWrapper(self.conv2, **spatial_transform_kwargs)
+ self.inline = inline
+
+ def forward(self, x):
+ if self.inline:
+ x_l, x_g = x[:, :-self.conv1.ffc.global_in_num], x[:, -self.conv1.ffc.global_in_num:]
+ else:
+ x_l, x_g = x if type(x) is tuple else (x, 0)
+
+ id_l, id_g = x_l, x_g
+
+ x_l, x_g = self.conv1((x_l, x_g))
+ x_l, x_g = self.conv2((x_l, x_g))
+
+ x_l, x_g = id_l + x_l, id_g + x_g
+ out = x_l, x_g
+ if self.inline:
+ out = torch.cat(out, dim=1)
+ return out
+
+
+class ConcatTupleLayer(nn.Module):
+ def forward(self, x):
+ assert isinstance(x, tuple)
+ x_l, x_g = x
+ assert torch.is_tensor(x_l) or torch.is_tensor(x_g)
+ if not torch.is_tensor(x_g):
+ return x_l
+ return torch.cat(x, dim=1)
+
+
+class FFCResNetGenerator(nn.Module):
+ def __init__(self, input_nc, output_nc, ngf=64, n_downsampling=3, n_blocks=9, norm_layer=nn.BatchNorm2d,
+ padding_type='reflect', activation_layer=nn.ReLU,
+ up_norm_layer=nn.BatchNorm2d, up_activation=nn.ReLU(True),
+ init_conv_kwargs={}, downsample_conv_kwargs={}, resnet_conv_kwargs={},
+ spatial_transform_layers=None, spatial_transform_kwargs={},
+ add_out_act=True, max_features=1024, out_ffc=False, out_ffc_kwargs={}):
+ assert (n_blocks >= 0)
+ super().__init__()
+
+ model = [nn.ReflectionPad2d(3),
+ FFC_BN_ACT(input_nc, ngf, kernel_size=7, padding=0, norm_layer=norm_layer,
+ activation_layer=activation_layer, **init_conv_kwargs)]
+
+ ### downsample
+ for i in range(n_downsampling):
+ mult = 2 ** i
+ if i == n_downsampling - 1:
+ cur_conv_kwargs = dict(downsample_conv_kwargs)
+ cur_conv_kwargs['ratio_gout'] = resnet_conv_kwargs.get('ratio_gin', 0)
+ else:
+ cur_conv_kwargs = downsample_conv_kwargs
+ model += [FFC_BN_ACT(min(max_features, ngf * mult),
+ min(max_features, ngf * mult * 2),
+ kernel_size=3, stride=2, padding=1,
+ norm_layer=norm_layer,
+ activation_layer=activation_layer,
+ **cur_conv_kwargs)]
+
+ mult = 2 ** n_downsampling
+ feats_num_bottleneck = min(max_features, ngf * mult)
+
+ ### resnet blocks
+ for i in range(n_blocks):
+ cur_resblock = FFCResnetBlock(feats_num_bottleneck, padding_type=padding_type, activation_layer=activation_layer,
+ norm_layer=norm_layer, **resnet_conv_kwargs)
+ if spatial_transform_layers is not None and i in spatial_transform_layers:
+ cur_resblock = LearnableSpatialTransformWrapper(cur_resblock, **spatial_transform_kwargs)
+ model += [cur_resblock]
+
+ model += [ConcatTupleLayer()]
+
+ ### upsample
+ for i in range(n_downsampling):
+ mult = 2 ** (n_downsampling - i)
+ model += [nn.ConvTranspose2d(min(max_features, ngf * mult),
+ min(max_features, int(ngf * mult / 2)),
+ kernel_size=3, stride=2, padding=1, output_padding=1),
+ up_norm_layer(min(max_features, int(ngf * mult / 2))),
+ up_activation]
+
+ if out_ffc:
+ model += [FFCResnetBlock(ngf, padding_type=padding_type, activation_layer=activation_layer,
+ norm_layer=norm_layer, inline=True, **out_ffc_kwargs)]
+
+ model += [nn.ReflectionPad2d(3),
+ nn.Conv2d(ngf, output_nc, kernel_size=7, padding=0)]
+ if add_out_act:
+ model.append(get_activation('tanh' if add_out_act is True else add_out_act))
+ self.model = nn.Sequential(*model)
+
+ def forward(self, input):
+ return self.model(input)
+
+
+class FFCNLayerDiscriminator(BaseDiscriminator):
+ def __init__(self, input_nc, ndf=64, n_layers=3, norm_layer=nn.BatchNorm2d, max_features=512,
+ init_conv_kwargs={}, conv_kwargs={}):
+ super().__init__()
+ self.n_layers = n_layers
+
+ def _act_ctor(inplace=True):
+ return nn.LeakyReLU(negative_slope=0.2, inplace=inplace)
+
+ kw = 3
+ padw = int(np.ceil((kw-1.0)/2))
+ sequence = [[FFC_BN_ACT(input_nc, ndf, kernel_size=kw, padding=padw, norm_layer=norm_layer,
+ activation_layer=_act_ctor, **init_conv_kwargs)]]
+
+ nf = ndf
+ for n in range(1, n_layers):
+ nf_prev = nf
+ nf = min(nf * 2, max_features)
+
+ cur_model = [
+ FFC_BN_ACT(nf_prev, nf,
+ kernel_size=kw, stride=2, padding=padw,
+ norm_layer=norm_layer,
+ activation_layer=_act_ctor,
+ **conv_kwargs)
+ ]
+ sequence.append(cur_model)
+
+ nf_prev = nf
+ nf = min(nf * 2, 512)
+
+ cur_model = [
+ FFC_BN_ACT(nf_prev, nf,
+ kernel_size=kw, stride=1, padding=padw,
+ norm_layer=norm_layer,
+ activation_layer=lambda *args, **kwargs: nn.LeakyReLU(*args, negative_slope=0.2, **kwargs),
+ **conv_kwargs),
+ ConcatTupleLayer()
+ ]
+ sequence.append(cur_model)
+
+ sequence += [[nn.Conv2d(nf, 1, kernel_size=kw, stride=1, padding=padw)]]
+
+ for n in range(len(sequence)):
+ setattr(self, 'model'+str(n), nn.Sequential(*sequence[n]))
+
+ def get_all_activations(self, x):
+ res = [x]
+ for n in range(self.n_layers + 2):
+ model = getattr(self, 'model' + str(n))
+ res.append(model(res[-1]))
+ return res[1:]
+
+ def forward(self, x):
+ act = self.get_all_activations(x)
+ feats = []
+ for out in act[:-1]:
+ if isinstance(out, tuple):
+ if torch.is_tensor(out[1]):
+ out = torch.cat(out, dim=1)
+ else:
+ out = out[0]
+ feats.append(out)
+ return act[-1], feats
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/modules/multidilated_conv.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/modules/multidilated_conv.py
new file mode 100644
index 0000000000000000000000000000000000000000..c57d0b457d4b30aeeffcd8cba138a502ba7affc5
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/modules/multidilated_conv.py
@@ -0,0 +1,98 @@
+import torch
+import torch.nn as nn
+import random
+from annotator.lama.saicinpainting.training.modules.depthwise_sep_conv import DepthWiseSeperableConv
+
+class MultidilatedConv(nn.Module):
+ def __init__(self, in_dim, out_dim, kernel_size, dilation_num=3, comb_mode='sum', equal_dim=True,
+ shared_weights=False, padding=1, min_dilation=1, shuffle_in_channels=False, use_depthwise=False, **kwargs):
+ super().__init__()
+ convs = []
+ self.equal_dim = equal_dim
+ assert comb_mode in ('cat_out', 'sum', 'cat_in', 'cat_both'), comb_mode
+ if comb_mode in ('cat_out', 'cat_both'):
+ self.cat_out = True
+ if equal_dim:
+ assert out_dim % dilation_num == 0
+ out_dims = [out_dim // dilation_num] * dilation_num
+ self.index = sum([[i + j * (out_dims[0]) for j in range(dilation_num)] for i in range(out_dims[0])], [])
+ else:
+ out_dims = [out_dim // 2 ** (i + 1) for i in range(dilation_num - 1)]
+ out_dims.append(out_dim - sum(out_dims))
+ index = []
+ starts = [0] + out_dims[:-1]
+ lengths = [out_dims[i] // out_dims[-1] for i in range(dilation_num)]
+ for i in range(out_dims[-1]):
+ for j in range(dilation_num):
+ index += list(range(starts[j], starts[j] + lengths[j]))
+ starts[j] += lengths[j]
+ self.index = index
+ assert(len(index) == out_dim)
+ self.out_dims = out_dims
+ else:
+ self.cat_out = False
+ self.out_dims = [out_dim] * dilation_num
+
+ if comb_mode in ('cat_in', 'cat_both'):
+ if equal_dim:
+ assert in_dim % dilation_num == 0
+ in_dims = [in_dim // dilation_num] * dilation_num
+ else:
+ in_dims = [in_dim // 2 ** (i + 1) for i in range(dilation_num - 1)]
+ in_dims.append(in_dim - sum(in_dims))
+ self.in_dims = in_dims
+ self.cat_in = True
+ else:
+ self.cat_in = False
+ self.in_dims = [in_dim] * dilation_num
+
+ conv_type = DepthWiseSeperableConv if use_depthwise else nn.Conv2d
+ dilation = min_dilation
+ for i in range(dilation_num):
+ if isinstance(padding, int):
+ cur_padding = padding * dilation
+ else:
+ cur_padding = padding[i]
+ convs.append(conv_type(
+ self.in_dims[i], self.out_dims[i], kernel_size, padding=cur_padding, dilation=dilation, **kwargs
+ ))
+ if i > 0 and shared_weights:
+ convs[-1].weight = convs[0].weight
+ convs[-1].bias = convs[0].bias
+ dilation *= 2
+ self.convs = nn.ModuleList(convs)
+
+ self.shuffle_in_channels = shuffle_in_channels
+ if self.shuffle_in_channels:
+ # shuffle list as shuffling of tensors is nondeterministic
+ in_channels_permute = list(range(in_dim))
+ random.shuffle(in_channels_permute)
+ # save as buffer so it is saved and loaded with checkpoint
+ self.register_buffer('in_channels_permute', torch.tensor(in_channels_permute))
+
+ def forward(self, x):
+ if self.shuffle_in_channels:
+ x = x[:, self.in_channels_permute]
+
+ outs = []
+ if self.cat_in:
+ if self.equal_dim:
+ x = x.chunk(len(self.convs), dim=1)
+ else:
+ new_x = []
+ start = 0
+ for dim in self.in_dims:
+ new_x.append(x[:, start:start+dim])
+ start += dim
+ x = new_x
+ for i, conv in enumerate(self.convs):
+ if self.cat_in:
+ input = x[i]
+ else:
+ input = x
+ outs.append(conv(input))
+ if self.cat_out:
+ out = torch.cat(outs, dim=1)[:, self.index]
+ else:
+ out = sum(outs)
+ return out
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/modules/multiscale.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/modules/multiscale.py
new file mode 100644
index 0000000000000000000000000000000000000000..3f41252f3c7509ee58b939215baef328cfbe48c8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/modules/multiscale.py
@@ -0,0 +1,244 @@
+from typing import List, Tuple, Union, Optional
+
+import torch
+import torch.nn as nn
+import torch.nn.functional as F
+
+from annotator.lama.saicinpainting.training.modules.base import get_conv_block_ctor, get_activation
+from annotator.lama.saicinpainting.training.modules.pix2pixhd import ResnetBlock
+
+
+class ResNetHead(nn.Module):
+ def __init__(self, input_nc, ngf=64, n_downsampling=3, n_blocks=9, norm_layer=nn.BatchNorm2d,
+ padding_type='reflect', conv_kind='default', activation=nn.ReLU(True)):
+ assert (n_blocks >= 0)
+ super(ResNetHead, self).__init__()
+
+ conv_layer = get_conv_block_ctor(conv_kind)
+
+ model = [nn.ReflectionPad2d(3),
+ conv_layer(input_nc, ngf, kernel_size=7, padding=0),
+ norm_layer(ngf),
+ activation]
+
+ ### downsample
+ for i in range(n_downsampling):
+ mult = 2 ** i
+ model += [conv_layer(ngf * mult, ngf * mult * 2, kernel_size=3, stride=2, padding=1),
+ norm_layer(ngf * mult * 2),
+ activation]
+
+ mult = 2 ** n_downsampling
+
+ ### resnet blocks
+ for i in range(n_blocks):
+ model += [ResnetBlock(ngf * mult, padding_type=padding_type, activation=activation, norm_layer=norm_layer,
+ conv_kind=conv_kind)]
+
+ self.model = nn.Sequential(*model)
+
+ def forward(self, input):
+ return self.model(input)
+
+
+class ResNetTail(nn.Module):
+ def __init__(self, output_nc, ngf=64, n_downsampling=3, n_blocks=9, norm_layer=nn.BatchNorm2d,
+ padding_type='reflect', conv_kind='default', activation=nn.ReLU(True),
+ up_norm_layer=nn.BatchNorm2d, up_activation=nn.ReLU(True), add_out_act=False, out_extra_layers_n=0,
+ add_in_proj=None):
+ assert (n_blocks >= 0)
+ super(ResNetTail, self).__init__()
+
+ mult = 2 ** n_downsampling
+
+ model = []
+
+ if add_in_proj is not None:
+ model.append(nn.Conv2d(add_in_proj, ngf * mult, kernel_size=1))
+
+ ### resnet blocks
+ for i in range(n_blocks):
+ model += [ResnetBlock(ngf * mult, padding_type=padding_type, activation=activation, norm_layer=norm_layer,
+ conv_kind=conv_kind)]
+
+ ### upsample
+ for i in range(n_downsampling):
+ mult = 2 ** (n_downsampling - i)
+ model += [nn.ConvTranspose2d(ngf * mult, int(ngf * mult / 2), kernel_size=3, stride=2, padding=1,
+ output_padding=1),
+ up_norm_layer(int(ngf * mult / 2)),
+ up_activation]
+ self.model = nn.Sequential(*model)
+
+ out_layers = []
+ for _ in range(out_extra_layers_n):
+ out_layers += [nn.Conv2d(ngf, ngf, kernel_size=1, padding=0),
+ up_norm_layer(ngf),
+ up_activation]
+ out_layers += [nn.ReflectionPad2d(3),
+ nn.Conv2d(ngf, output_nc, kernel_size=7, padding=0)]
+
+ if add_out_act:
+ out_layers.append(get_activation('tanh' if add_out_act is True else add_out_act))
+
+ self.out_proj = nn.Sequential(*out_layers)
+
+ def forward(self, input, return_last_act=False):
+ features = self.model(input)
+ out = self.out_proj(features)
+ if return_last_act:
+ return out, features
+ else:
+ return out
+
+
+class MultiscaleResNet(nn.Module):
+ def __init__(self, input_nc, output_nc, ngf=64, n_downsampling=2, n_blocks_head=2, n_blocks_tail=6, n_scales=3,
+ norm_layer=nn.BatchNorm2d, padding_type='reflect', conv_kind='default', activation=nn.ReLU(True),
+ up_norm_layer=nn.BatchNorm2d, up_activation=nn.ReLU(True), add_out_act=False, out_extra_layers_n=0,
+ out_cumulative=False, return_only_hr=False):
+ super().__init__()
+
+ self.heads = nn.ModuleList([ResNetHead(input_nc, ngf=ngf, n_downsampling=n_downsampling,
+ n_blocks=n_blocks_head, norm_layer=norm_layer, padding_type=padding_type,
+ conv_kind=conv_kind, activation=activation)
+ for i in range(n_scales)])
+ tail_in_feats = ngf * (2 ** n_downsampling) + ngf
+ self.tails = nn.ModuleList([ResNetTail(output_nc,
+ ngf=ngf, n_downsampling=n_downsampling,
+ n_blocks=n_blocks_tail, norm_layer=norm_layer, padding_type=padding_type,
+ conv_kind=conv_kind, activation=activation, up_norm_layer=up_norm_layer,
+ up_activation=up_activation, add_out_act=add_out_act,
+ out_extra_layers_n=out_extra_layers_n,
+ add_in_proj=None if (i == n_scales - 1) else tail_in_feats)
+ for i in range(n_scales)])
+
+ self.out_cumulative = out_cumulative
+ self.return_only_hr = return_only_hr
+
+ @property
+ def num_scales(self):
+ return len(self.heads)
+
+ def forward(self, ms_inputs: List[torch.Tensor], smallest_scales_num: Optional[int] = None) \
+ -> Union[torch.Tensor, List[torch.Tensor]]:
+ """
+ :param ms_inputs: List of inputs of different resolutions from HR to LR
+ :param smallest_scales_num: int or None, number of smallest scales to take at input
+ :return: Depending on return_only_hr:
+ True: Only the most HR output
+ False: List of outputs of different resolutions from HR to LR
+ """
+ if smallest_scales_num is None:
+ assert len(self.heads) == len(ms_inputs), (len(self.heads), len(ms_inputs), smallest_scales_num)
+ smallest_scales_num = len(self.heads)
+ else:
+ assert smallest_scales_num == len(ms_inputs) <= len(self.heads), (len(self.heads), len(ms_inputs), smallest_scales_num)
+
+ cur_heads = self.heads[-smallest_scales_num:]
+ ms_features = [cur_head(cur_inp) for cur_head, cur_inp in zip(cur_heads, ms_inputs)]
+
+ all_outputs = []
+ prev_tail_features = None
+ for i in range(len(ms_features)):
+ scale_i = -i - 1
+
+ cur_tail_input = ms_features[-i - 1]
+ if prev_tail_features is not None:
+ if prev_tail_features.shape != cur_tail_input.shape:
+ prev_tail_features = F.interpolate(prev_tail_features, size=cur_tail_input.shape[2:],
+ mode='bilinear', align_corners=False)
+ cur_tail_input = torch.cat((cur_tail_input, prev_tail_features), dim=1)
+
+ cur_out, cur_tail_feats = self.tails[scale_i](cur_tail_input, return_last_act=True)
+
+ prev_tail_features = cur_tail_feats
+ all_outputs.append(cur_out)
+
+ if self.out_cumulative:
+ all_outputs_cum = [all_outputs[0]]
+ for i in range(1, len(ms_features)):
+ cur_out = all_outputs[i]
+ cur_out_cum = cur_out + F.interpolate(all_outputs_cum[-1], size=cur_out.shape[2:],
+ mode='bilinear', align_corners=False)
+ all_outputs_cum.append(cur_out_cum)
+ all_outputs = all_outputs_cum
+
+ if self.return_only_hr:
+ return all_outputs[-1]
+ else:
+ return all_outputs[::-1]
+
+
+class MultiscaleDiscriminatorSimple(nn.Module):
+ def __init__(self, ms_impl):
+ super().__init__()
+ self.ms_impl = nn.ModuleList(ms_impl)
+
+ @property
+ def num_scales(self):
+ return len(self.ms_impl)
+
+ def forward(self, ms_inputs: List[torch.Tensor], smallest_scales_num: Optional[int] = None) \
+ -> List[Tuple[torch.Tensor, List[torch.Tensor]]]:
+ """
+ :param ms_inputs: List of inputs of different resolutions from HR to LR
+ :param smallest_scales_num: int or None, number of smallest scales to take at input
+ :return: List of pairs (prediction, features) for different resolutions from HR to LR
+ """
+ if smallest_scales_num is None:
+ assert len(self.ms_impl) == len(ms_inputs), (len(self.ms_impl), len(ms_inputs), smallest_scales_num)
+ smallest_scales_num = len(self.heads)
+ else:
+ assert smallest_scales_num == len(ms_inputs) <= len(self.ms_impl), \
+ (len(self.ms_impl), len(ms_inputs), smallest_scales_num)
+
+ return [cur_discr(cur_input) for cur_discr, cur_input in zip(self.ms_impl[-smallest_scales_num:], ms_inputs)]
+
+
+class SingleToMultiScaleInputMixin:
+ def forward(self, x: torch.Tensor) -> List:
+ orig_height, orig_width = x.shape[2:]
+ factors = [2 ** i for i in range(self.num_scales)]
+ ms_inputs = [F.interpolate(x, size=(orig_height // f, orig_width // f), mode='bilinear', align_corners=False)
+ for f in factors]
+ return super().forward(ms_inputs)
+
+
+class GeneratorMultiToSingleOutputMixin:
+ def forward(self, x):
+ return super().forward(x)[0]
+
+
+class DiscriminatorMultiToSingleOutputMixin:
+ def forward(self, x):
+ out_feat_tuples = super().forward(x)
+ return out_feat_tuples[0][0], [f for _, flist in out_feat_tuples for f in flist]
+
+
+class DiscriminatorMultiToSingleOutputStackedMixin:
+ def __init__(self, *args, return_feats_only_levels=None, **kwargs):
+ super().__init__(*args, **kwargs)
+ self.return_feats_only_levels = return_feats_only_levels
+
+ def forward(self, x):
+ out_feat_tuples = super().forward(x)
+ outs = [out for out, _ in out_feat_tuples]
+ scaled_outs = [outs[0]] + [F.interpolate(cur_out, size=outs[0].shape[-2:],
+ mode='bilinear', align_corners=False)
+ for cur_out in outs[1:]]
+ out = torch.cat(scaled_outs, dim=1)
+ if self.return_feats_only_levels is not None:
+ feat_lists = [out_feat_tuples[i][1] for i in self.return_feats_only_levels]
+ else:
+ feat_lists = [flist for _, flist in out_feat_tuples]
+ feats = [f for flist in feat_lists for f in flist]
+ return out, feats
+
+
+class MultiscaleDiscrSingleInput(SingleToMultiScaleInputMixin, DiscriminatorMultiToSingleOutputStackedMixin, MultiscaleDiscriminatorSimple):
+ pass
+
+
+class MultiscaleResNetSingle(GeneratorMultiToSingleOutputMixin, SingleToMultiScaleInputMixin, MultiscaleResNet):
+ pass
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/modules/pix2pixhd.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/modules/pix2pixhd.py
new file mode 100644
index 0000000000000000000000000000000000000000..2e4fcfcff083f9ce4d3c7880ff0f74f8f745a251
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/modules/pix2pixhd.py
@@ -0,0 +1,669 @@
+# original: https://github.com/NVIDIA/pix2pixHD/blob/master/models/networks.py
+import collections
+from functools import partial
+import functools
+import logging
+from collections import defaultdict
+
+import numpy as np
+import torch.nn as nn
+
+from annotator.lama.saicinpainting.training.modules.base import BaseDiscriminator, deconv_factory, get_conv_block_ctor, get_norm_layer, get_activation
+from annotator.lama.saicinpainting.training.modules.ffc import FFCResnetBlock
+from annotator.lama.saicinpainting.training.modules.multidilated_conv import MultidilatedConv
+
+class DotDict(defaultdict):
+ # https://stackoverflow.com/questions/2352181/how-to-use-a-dot-to-access-members-of-dictionary
+ """dot.notation access to dictionary attributes"""
+ __getattr__ = defaultdict.get
+ __setattr__ = defaultdict.__setitem__
+ __delattr__ = defaultdict.__delitem__
+
+class Identity(nn.Module):
+ def __init__(self):
+ super().__init__()
+
+ def forward(self, x):
+ return x
+
+
+class ResnetBlock(nn.Module):
+ def __init__(self, dim, padding_type, norm_layer, activation=nn.ReLU(True), use_dropout=False, conv_kind='default',
+ dilation=1, in_dim=None, groups=1, second_dilation=None):
+ super(ResnetBlock, self).__init__()
+ self.in_dim = in_dim
+ self.dim = dim
+ if second_dilation is None:
+ second_dilation = dilation
+ self.conv_block = self.build_conv_block(dim, padding_type, norm_layer, activation, use_dropout,
+ conv_kind=conv_kind, dilation=dilation, in_dim=in_dim, groups=groups,
+ second_dilation=second_dilation)
+
+ if self.in_dim is not None:
+ self.input_conv = nn.Conv2d(in_dim, dim, 1)
+
+ self.out_channnels = dim
+
+ def build_conv_block(self, dim, padding_type, norm_layer, activation, use_dropout, conv_kind='default',
+ dilation=1, in_dim=None, groups=1, second_dilation=1):
+ conv_layer = get_conv_block_ctor(conv_kind)
+
+ conv_block = []
+ p = 0
+ if padding_type == 'reflect':
+ conv_block += [nn.ReflectionPad2d(dilation)]
+ elif padding_type == 'replicate':
+ conv_block += [nn.ReplicationPad2d(dilation)]
+ elif padding_type == 'zero':
+ p = dilation
+ else:
+ raise NotImplementedError('padding [%s] is not implemented' % padding_type)
+
+ if in_dim is None:
+ in_dim = dim
+
+ conv_block += [conv_layer(in_dim, dim, kernel_size=3, padding=p, dilation=dilation),
+ norm_layer(dim),
+ activation]
+ if use_dropout:
+ conv_block += [nn.Dropout(0.5)]
+
+ p = 0
+ if padding_type == 'reflect':
+ conv_block += [nn.ReflectionPad2d(second_dilation)]
+ elif padding_type == 'replicate':
+ conv_block += [nn.ReplicationPad2d(second_dilation)]
+ elif padding_type == 'zero':
+ p = second_dilation
+ else:
+ raise NotImplementedError('padding [%s] is not implemented' % padding_type)
+ conv_block += [conv_layer(dim, dim, kernel_size=3, padding=p, dilation=second_dilation, groups=groups),
+ norm_layer(dim)]
+
+ return nn.Sequential(*conv_block)
+
+ def forward(self, x):
+ x_before = x
+ if self.in_dim is not None:
+ x = self.input_conv(x)
+ out = x + self.conv_block(x_before)
+ return out
+
+class ResnetBlock5x5(nn.Module):
+ def __init__(self, dim, padding_type, norm_layer, activation=nn.ReLU(True), use_dropout=False, conv_kind='default',
+ dilation=1, in_dim=None, groups=1, second_dilation=None):
+ super(ResnetBlock5x5, self).__init__()
+ self.in_dim = in_dim
+ self.dim = dim
+ if second_dilation is None:
+ second_dilation = dilation
+ self.conv_block = self.build_conv_block(dim, padding_type, norm_layer, activation, use_dropout,
+ conv_kind=conv_kind, dilation=dilation, in_dim=in_dim, groups=groups,
+ second_dilation=second_dilation)
+
+ if self.in_dim is not None:
+ self.input_conv = nn.Conv2d(in_dim, dim, 1)
+
+ self.out_channnels = dim
+
+ def build_conv_block(self, dim, padding_type, norm_layer, activation, use_dropout, conv_kind='default',
+ dilation=1, in_dim=None, groups=1, second_dilation=1):
+ conv_layer = get_conv_block_ctor(conv_kind)
+
+ conv_block = []
+ p = 0
+ if padding_type == 'reflect':
+ conv_block += [nn.ReflectionPad2d(dilation * 2)]
+ elif padding_type == 'replicate':
+ conv_block += [nn.ReplicationPad2d(dilation * 2)]
+ elif padding_type == 'zero':
+ p = dilation * 2
+ else:
+ raise NotImplementedError('padding [%s] is not implemented' % padding_type)
+
+ if in_dim is None:
+ in_dim = dim
+
+ conv_block += [conv_layer(in_dim, dim, kernel_size=5, padding=p, dilation=dilation),
+ norm_layer(dim),
+ activation]
+ if use_dropout:
+ conv_block += [nn.Dropout(0.5)]
+
+ p = 0
+ if padding_type == 'reflect':
+ conv_block += [nn.ReflectionPad2d(second_dilation * 2)]
+ elif padding_type == 'replicate':
+ conv_block += [nn.ReplicationPad2d(second_dilation * 2)]
+ elif padding_type == 'zero':
+ p = second_dilation * 2
+ else:
+ raise NotImplementedError('padding [%s] is not implemented' % padding_type)
+ conv_block += [conv_layer(dim, dim, kernel_size=5, padding=p, dilation=second_dilation, groups=groups),
+ norm_layer(dim)]
+
+ return nn.Sequential(*conv_block)
+
+ def forward(self, x):
+ x_before = x
+ if self.in_dim is not None:
+ x = self.input_conv(x)
+ out = x + self.conv_block(x_before)
+ return out
+
+
+class MultidilatedResnetBlock(nn.Module):
+ def __init__(self, dim, padding_type, conv_layer, norm_layer, activation=nn.ReLU(True), use_dropout=False):
+ super().__init__()
+ self.conv_block = self.build_conv_block(dim, padding_type, conv_layer, norm_layer, activation, use_dropout)
+
+ def build_conv_block(self, dim, padding_type, conv_layer, norm_layer, activation, use_dropout, dilation=1):
+ conv_block = []
+ conv_block += [conv_layer(dim, dim, kernel_size=3, padding_mode=padding_type),
+ norm_layer(dim),
+ activation]
+ if use_dropout:
+ conv_block += [nn.Dropout(0.5)]
+
+ conv_block += [conv_layer(dim, dim, kernel_size=3, padding_mode=padding_type),
+ norm_layer(dim)]
+
+ return nn.Sequential(*conv_block)
+
+ def forward(self, x):
+ out = x + self.conv_block(x)
+ return out
+
+
+class MultiDilatedGlobalGenerator(nn.Module):
+ def __init__(self, input_nc, output_nc, ngf=64, n_downsampling=3,
+ n_blocks=3, norm_layer=nn.BatchNorm2d,
+ padding_type='reflect', conv_kind='default',
+ deconv_kind='convtranspose', activation=nn.ReLU(True),
+ up_norm_layer=nn.BatchNorm2d, affine=None, up_activation=nn.ReLU(True),
+ add_out_act=True, max_features=1024, multidilation_kwargs={},
+ ffc_positions=None, ffc_kwargs={}):
+ assert (n_blocks >= 0)
+ super().__init__()
+
+ conv_layer = get_conv_block_ctor(conv_kind)
+ resnet_conv_layer = functools.partial(get_conv_block_ctor('multidilated'), **multidilation_kwargs)
+ norm_layer = get_norm_layer(norm_layer)
+ if affine is not None:
+ norm_layer = partial(norm_layer, affine=affine)
+ up_norm_layer = get_norm_layer(up_norm_layer)
+ if affine is not None:
+ up_norm_layer = partial(up_norm_layer, affine=affine)
+
+ model = [nn.ReflectionPad2d(3),
+ conv_layer(input_nc, ngf, kernel_size=7, padding=0),
+ norm_layer(ngf),
+ activation]
+
+ identity = Identity()
+ ### downsample
+ for i in range(n_downsampling):
+ mult = 2 ** i
+
+ model += [conv_layer(min(max_features, ngf * mult),
+ min(max_features, ngf * mult * 2),
+ kernel_size=3, stride=2, padding=1),
+ norm_layer(min(max_features, ngf * mult * 2)),
+ activation]
+
+ mult = 2 ** n_downsampling
+ feats_num_bottleneck = min(max_features, ngf * mult)
+
+ ### resnet blocks
+ for i in range(n_blocks):
+ if ffc_positions is not None and i in ffc_positions:
+ model += [FFCResnetBlock(feats_num_bottleneck, padding_type, norm_layer, activation_layer=nn.ReLU,
+ inline=True, **ffc_kwargs)]
+ model += [MultidilatedResnetBlock(feats_num_bottleneck, padding_type=padding_type,
+ conv_layer=resnet_conv_layer, activation=activation,
+ norm_layer=norm_layer)]
+
+ ### upsample
+ for i in range(n_downsampling):
+ mult = 2 ** (n_downsampling - i)
+ model += deconv_factory(deconv_kind, ngf, mult, up_norm_layer, up_activation, max_features)
+ model += [nn.ReflectionPad2d(3),
+ nn.Conv2d(ngf, output_nc, kernel_size=7, padding=0)]
+ if add_out_act:
+ model.append(get_activation('tanh' if add_out_act is True else add_out_act))
+ self.model = nn.Sequential(*model)
+
+ def forward(self, input):
+ return self.model(input)
+
+class ConfigGlobalGenerator(nn.Module):
+ def __init__(self, input_nc, output_nc, ngf=64, n_downsampling=3,
+ n_blocks=3, norm_layer=nn.BatchNorm2d,
+ padding_type='reflect', conv_kind='default',
+ deconv_kind='convtranspose', activation=nn.ReLU(True),
+ up_norm_layer=nn.BatchNorm2d, affine=None, up_activation=nn.ReLU(True),
+ add_out_act=True, max_features=1024,
+ manual_block_spec=[],
+ resnet_block_kind='multidilatedresnetblock',
+ resnet_conv_kind='multidilated',
+ resnet_dilation=1,
+ multidilation_kwargs={}):
+ assert (n_blocks >= 0)
+ super().__init__()
+
+ conv_layer = get_conv_block_ctor(conv_kind)
+ resnet_conv_layer = functools.partial(get_conv_block_ctor(resnet_conv_kind), **multidilation_kwargs)
+ norm_layer = get_norm_layer(norm_layer)
+ if affine is not None:
+ norm_layer = partial(norm_layer, affine=affine)
+ up_norm_layer = get_norm_layer(up_norm_layer)
+ if affine is not None:
+ up_norm_layer = partial(up_norm_layer, affine=affine)
+
+ model = [nn.ReflectionPad2d(3),
+ conv_layer(input_nc, ngf, kernel_size=7, padding=0),
+ norm_layer(ngf),
+ activation]
+
+ identity = Identity()
+
+ ### downsample
+ for i in range(n_downsampling):
+ mult = 2 ** i
+ model += [conv_layer(min(max_features, ngf * mult),
+ min(max_features, ngf * mult * 2),
+ kernel_size=3, stride=2, padding=1),
+ norm_layer(min(max_features, ngf * mult * 2)),
+ activation]
+
+ mult = 2 ** n_downsampling
+ feats_num_bottleneck = min(max_features, ngf * mult)
+
+ if len(manual_block_spec) == 0:
+ manual_block_spec = [
+ DotDict(lambda : None, {
+ 'n_blocks': n_blocks,
+ 'use_default': True})
+ ]
+
+ ### resnet blocks
+ for block_spec in manual_block_spec:
+ def make_and_add_blocks(model, block_spec):
+ block_spec = DotDict(lambda : None, block_spec)
+ if not block_spec.use_default:
+ resnet_conv_layer = functools.partial(get_conv_block_ctor(block_spec.resnet_conv_kind), **block_spec.multidilation_kwargs)
+ resnet_conv_kind = block_spec.resnet_conv_kind
+ resnet_block_kind = block_spec.resnet_block_kind
+ if block_spec.resnet_dilation is not None:
+ resnet_dilation = block_spec.resnet_dilation
+ for i in range(block_spec.n_blocks):
+ if resnet_block_kind == "multidilatedresnetblock":
+ model += [MultidilatedResnetBlock(feats_num_bottleneck, padding_type=padding_type,
+ conv_layer=resnet_conv_layer, activation=activation,
+ norm_layer=norm_layer)]
+ if resnet_block_kind == "resnetblock":
+ model += [ResnetBlock(ngf * mult, padding_type=padding_type, activation=activation, norm_layer=norm_layer,
+ conv_kind=resnet_conv_kind)]
+ if resnet_block_kind == "resnetblock5x5":
+ model += [ResnetBlock5x5(ngf * mult, padding_type=padding_type, activation=activation, norm_layer=norm_layer,
+ conv_kind=resnet_conv_kind)]
+ if resnet_block_kind == "resnetblockdwdil":
+ model += [ResnetBlock(ngf * mult, padding_type=padding_type, activation=activation, norm_layer=norm_layer,
+ conv_kind=resnet_conv_kind, dilation=resnet_dilation, second_dilation=resnet_dilation)]
+ make_and_add_blocks(model, block_spec)
+
+ ### upsample
+ for i in range(n_downsampling):
+ mult = 2 ** (n_downsampling - i)
+ model += deconv_factory(deconv_kind, ngf, mult, up_norm_layer, up_activation, max_features)
+ model += [nn.ReflectionPad2d(3),
+ nn.Conv2d(ngf, output_nc, kernel_size=7, padding=0)]
+ if add_out_act:
+ model.append(get_activation('tanh' if add_out_act is True else add_out_act))
+ self.model = nn.Sequential(*model)
+
+ def forward(self, input):
+ return self.model(input)
+
+
+def make_dil_blocks(dilated_blocks_n, dilation_block_kind, dilated_block_kwargs):
+ blocks = []
+ for i in range(dilated_blocks_n):
+ if dilation_block_kind == 'simple':
+ blocks.append(ResnetBlock(**dilated_block_kwargs, dilation=2 ** (i + 1)))
+ elif dilation_block_kind == 'multi':
+ blocks.append(MultidilatedResnetBlock(**dilated_block_kwargs))
+ else:
+ raise ValueError(f'dilation_block_kind could not be "{dilation_block_kind}"')
+ return blocks
+
+
+class GlobalGenerator(nn.Module):
+ def __init__(self, input_nc, output_nc, ngf=64, n_downsampling=3, n_blocks=9, norm_layer=nn.BatchNorm2d,
+ padding_type='reflect', conv_kind='default', activation=nn.ReLU(True),
+ up_norm_layer=nn.BatchNorm2d, affine=None,
+ up_activation=nn.ReLU(True), dilated_blocks_n=0, dilated_blocks_n_start=0,
+ dilated_blocks_n_middle=0,
+ add_out_act=True,
+ max_features=1024, is_resblock_depthwise=False,
+ ffc_positions=None, ffc_kwargs={}, dilation=1, second_dilation=None,
+ dilation_block_kind='simple', multidilation_kwargs={}):
+ assert (n_blocks >= 0)
+ super().__init__()
+
+ conv_layer = get_conv_block_ctor(conv_kind)
+ norm_layer = get_norm_layer(norm_layer)
+ if affine is not None:
+ norm_layer = partial(norm_layer, affine=affine)
+ up_norm_layer = get_norm_layer(up_norm_layer)
+ if affine is not None:
+ up_norm_layer = partial(up_norm_layer, affine=affine)
+
+ if ffc_positions is not None:
+ ffc_positions = collections.Counter(ffc_positions)
+
+ model = [nn.ReflectionPad2d(3),
+ conv_layer(input_nc, ngf, kernel_size=7, padding=0),
+ norm_layer(ngf),
+ activation]
+
+ identity = Identity()
+ ### downsample
+ for i in range(n_downsampling):
+ mult = 2 ** i
+
+ model += [conv_layer(min(max_features, ngf * mult),
+ min(max_features, ngf * mult * 2),
+ kernel_size=3, stride=2, padding=1),
+ norm_layer(min(max_features, ngf * mult * 2)),
+ activation]
+
+ mult = 2 ** n_downsampling
+ feats_num_bottleneck = min(max_features, ngf * mult)
+
+ dilated_block_kwargs = dict(dim=feats_num_bottleneck, padding_type=padding_type,
+ activation=activation, norm_layer=norm_layer)
+ if dilation_block_kind == 'simple':
+ dilated_block_kwargs['conv_kind'] = conv_kind
+ elif dilation_block_kind == 'multi':
+ dilated_block_kwargs['conv_layer'] = functools.partial(
+ get_conv_block_ctor('multidilated'), **multidilation_kwargs)
+
+ # dilated blocks at the start of the bottleneck sausage
+ if dilated_blocks_n_start is not None and dilated_blocks_n_start > 0:
+ model += make_dil_blocks(dilated_blocks_n_start, dilation_block_kind, dilated_block_kwargs)
+
+ # resnet blocks
+ for i in range(n_blocks):
+ # dilated blocks at the middle of the bottleneck sausage
+ if i == n_blocks // 2 and dilated_blocks_n_middle is not None and dilated_blocks_n_middle > 0:
+ model += make_dil_blocks(dilated_blocks_n_middle, dilation_block_kind, dilated_block_kwargs)
+
+ if ffc_positions is not None and i in ffc_positions:
+ for _ in range(ffc_positions[i]): # same position can occur more than once
+ model += [FFCResnetBlock(feats_num_bottleneck, padding_type, norm_layer, activation_layer=nn.ReLU,
+ inline=True, **ffc_kwargs)]
+
+ if is_resblock_depthwise:
+ resblock_groups = feats_num_bottleneck
+ else:
+ resblock_groups = 1
+
+ model += [ResnetBlock(feats_num_bottleneck, padding_type=padding_type, activation=activation,
+ norm_layer=norm_layer, conv_kind=conv_kind, groups=resblock_groups,
+ dilation=dilation, second_dilation=second_dilation)]
+
+
+ # dilated blocks at the end of the bottleneck sausage
+ if dilated_blocks_n is not None and dilated_blocks_n > 0:
+ model += make_dil_blocks(dilated_blocks_n, dilation_block_kind, dilated_block_kwargs)
+
+ # upsample
+ for i in range(n_downsampling):
+ mult = 2 ** (n_downsampling - i)
+ model += [nn.ConvTranspose2d(min(max_features, ngf * mult),
+ min(max_features, int(ngf * mult / 2)),
+ kernel_size=3, stride=2, padding=1, output_padding=1),
+ up_norm_layer(min(max_features, int(ngf * mult / 2))),
+ up_activation]
+ model += [nn.ReflectionPad2d(3),
+ nn.Conv2d(ngf, output_nc, kernel_size=7, padding=0)]
+ if add_out_act:
+ model.append(get_activation('tanh' if add_out_act is True else add_out_act))
+ self.model = nn.Sequential(*model)
+
+ def forward(self, input):
+ return self.model(input)
+
+
+class GlobalGeneratorGated(GlobalGenerator):
+ def __init__(self, *args, **kwargs):
+ real_kwargs=dict(
+ conv_kind='gated_bn_relu',
+ activation=nn.Identity(),
+ norm_layer=nn.Identity
+ )
+ real_kwargs.update(kwargs)
+ super().__init__(*args, **real_kwargs)
+
+
+class GlobalGeneratorFromSuperChannels(nn.Module):
+ def __init__(self, input_nc, output_nc, n_downsampling, n_blocks, super_channels, norm_layer="bn", padding_type='reflect', add_out_act=True):
+ super().__init__()
+ self.n_downsampling = n_downsampling
+ norm_layer = get_norm_layer(norm_layer)
+ if type(norm_layer) == functools.partial:
+ use_bias = (norm_layer.func == nn.InstanceNorm2d)
+ else:
+ use_bias = (norm_layer == nn.InstanceNorm2d)
+
+ channels = self.convert_super_channels(super_channels)
+ self.channels = channels
+
+ model = [nn.ReflectionPad2d(3),
+ nn.Conv2d(input_nc, channels[0], kernel_size=7, padding=0, bias=use_bias),
+ norm_layer(channels[0]),
+ nn.ReLU(True)]
+
+ for i in range(n_downsampling): # add downsampling layers
+ mult = 2 ** i
+ model += [nn.Conv2d(channels[0+i], channels[1+i], kernel_size=3, stride=2, padding=1, bias=use_bias),
+ norm_layer(channels[1+i]),
+ nn.ReLU(True)]
+
+ mult = 2 ** n_downsampling
+
+ n_blocks1 = n_blocks // 3
+ n_blocks2 = n_blocks1
+ n_blocks3 = n_blocks - n_blocks1 - n_blocks2
+
+ for i in range(n_blocks1):
+ c = n_downsampling
+ dim = channels[c]
+ model += [ResnetBlock(dim, padding_type=padding_type, norm_layer=norm_layer)]
+
+ for i in range(n_blocks2):
+ c = n_downsampling+1
+ dim = channels[c]
+ kwargs = {}
+ if i == 0:
+ kwargs = {"in_dim": channels[c-1]}
+ model += [ResnetBlock(dim, padding_type=padding_type, norm_layer=norm_layer, **kwargs)]
+
+ for i in range(n_blocks3):
+ c = n_downsampling+2
+ dim = channels[c]
+ kwargs = {}
+ if i == 0:
+ kwargs = {"in_dim": channels[c-1]}
+ model += [ResnetBlock(dim, padding_type=padding_type, norm_layer=norm_layer, **kwargs)]
+
+ for i in range(n_downsampling): # add upsampling layers
+ mult = 2 ** (n_downsampling - i)
+ model += [nn.ConvTranspose2d(channels[n_downsampling+3+i],
+ channels[n_downsampling+3+i+1],
+ kernel_size=3, stride=2,
+ padding=1, output_padding=1,
+ bias=use_bias),
+ norm_layer(channels[n_downsampling+3+i+1]),
+ nn.ReLU(True)]
+ model += [nn.ReflectionPad2d(3)]
+ model += [nn.Conv2d(channels[2*n_downsampling+3], output_nc, kernel_size=7, padding=0)]
+
+ if add_out_act:
+ model.append(get_activation('tanh' if add_out_act is True else add_out_act))
+ self.model = nn.Sequential(*model)
+
+ def convert_super_channels(self, super_channels):
+ n_downsampling = self.n_downsampling
+ result = []
+ cnt = 0
+
+ if n_downsampling == 2:
+ N1 = 10
+ elif n_downsampling == 3:
+ N1 = 13
+ else:
+ raise NotImplementedError
+
+ for i in range(0, N1):
+ if i in [1,4,7,10]:
+ channel = super_channels[cnt] * (2 ** cnt)
+ config = {'channel': channel}
+ result.append(channel)
+ logging.info(f"Downsample channels {result[-1]}")
+ cnt += 1
+
+ for i in range(3):
+ for counter, j in enumerate(range(N1 + i * 3, N1 + 3 + i * 3)):
+ if len(super_channels) == 6:
+ channel = super_channels[3] * 4
+ else:
+ channel = super_channels[i + 3] * 4
+ config = {'channel': channel}
+ if counter == 0:
+ result.append(channel)
+ logging.info(f"Bottleneck channels {result[-1]}")
+ cnt = 2
+
+ for i in range(N1+9, N1+21):
+ if i in [22, 25,28]:
+ cnt -= 1
+ if len(super_channels) == 6:
+ channel = super_channels[5 - cnt] * (2 ** cnt)
+ else:
+ channel = super_channels[7 - cnt] * (2 ** cnt)
+ result.append(int(channel))
+ logging.info(f"Upsample channels {result[-1]}")
+ return result
+
+ def forward(self, input):
+ return self.model(input)
+
+
+# Defines the PatchGAN discriminator with the specified arguments.
+class NLayerDiscriminator(BaseDiscriminator):
+ def __init__(self, input_nc, ndf=64, n_layers=3, norm_layer=nn.BatchNorm2d,):
+ super().__init__()
+ self.n_layers = n_layers
+
+ kw = 4
+ padw = int(np.ceil((kw-1.0)/2))
+ sequence = [[nn.Conv2d(input_nc, ndf, kernel_size=kw, stride=2, padding=padw),
+ nn.LeakyReLU(0.2, True)]]
+
+ nf = ndf
+ for n in range(1, n_layers):
+ nf_prev = nf
+ nf = min(nf * 2, 512)
+
+ cur_model = []
+ cur_model += [
+ nn.Conv2d(nf_prev, nf, kernel_size=kw, stride=2, padding=padw),
+ norm_layer(nf),
+ nn.LeakyReLU(0.2, True)
+ ]
+ sequence.append(cur_model)
+
+ nf_prev = nf
+ nf = min(nf * 2, 512)
+
+ cur_model = []
+ cur_model += [
+ nn.Conv2d(nf_prev, nf, kernel_size=kw, stride=1, padding=padw),
+ norm_layer(nf),
+ nn.LeakyReLU(0.2, True)
+ ]
+ sequence.append(cur_model)
+
+ sequence += [[nn.Conv2d(nf, 1, kernel_size=kw, stride=1, padding=padw)]]
+
+ for n in range(len(sequence)):
+ setattr(self, 'model'+str(n), nn.Sequential(*sequence[n]))
+
+ def get_all_activations(self, x):
+ res = [x]
+ for n in range(self.n_layers + 2):
+ model = getattr(self, 'model' + str(n))
+ res.append(model(res[-1]))
+ return res[1:]
+
+ def forward(self, x):
+ act = self.get_all_activations(x)
+ return act[-1], act[:-1]
+
+
+class MultidilatedNLayerDiscriminator(BaseDiscriminator):
+ def __init__(self, input_nc, ndf=64, n_layers=3, norm_layer=nn.BatchNorm2d, multidilation_kwargs={}):
+ super().__init__()
+ self.n_layers = n_layers
+
+ kw = 4
+ padw = int(np.ceil((kw-1.0)/2))
+ sequence = [[nn.Conv2d(input_nc, ndf, kernel_size=kw, stride=2, padding=padw),
+ nn.LeakyReLU(0.2, True)]]
+
+ nf = ndf
+ for n in range(1, n_layers):
+ nf_prev = nf
+ nf = min(nf * 2, 512)
+
+ cur_model = []
+ cur_model += [
+ MultidilatedConv(nf_prev, nf, kernel_size=kw, stride=2, padding=[2, 3], **multidilation_kwargs),
+ norm_layer(nf),
+ nn.LeakyReLU(0.2, True)
+ ]
+ sequence.append(cur_model)
+
+ nf_prev = nf
+ nf = min(nf * 2, 512)
+
+ cur_model = []
+ cur_model += [
+ nn.Conv2d(nf_prev, nf, kernel_size=kw, stride=1, padding=padw),
+ norm_layer(nf),
+ nn.LeakyReLU(0.2, True)
+ ]
+ sequence.append(cur_model)
+
+ sequence += [[nn.Conv2d(nf, 1, kernel_size=kw, stride=1, padding=padw)]]
+
+ for n in range(len(sequence)):
+ setattr(self, 'model'+str(n), nn.Sequential(*sequence[n]))
+
+ def get_all_activations(self, x):
+ res = [x]
+ for n in range(self.n_layers + 2):
+ model = getattr(self, 'model' + str(n))
+ res.append(model(res[-1]))
+ return res[1:]
+
+ def forward(self, x):
+ act = self.get_all_activations(x)
+ return act[-1], act[:-1]
+
+
+class NLayerDiscriminatorAsGen(NLayerDiscriminator):
+ def forward(self, x):
+ return super().forward(x)[0]
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/modules/spatial_transform.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/modules/spatial_transform.py
new file mode 100644
index 0000000000000000000000000000000000000000..2de024ba08c549605a08b64d096f1f0db7b7722a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/modules/spatial_transform.py
@@ -0,0 +1,49 @@
+import torch
+import torch.nn as nn
+import torch.nn.functional as F
+from kornia.geometry.transform import rotate
+
+
+class LearnableSpatialTransformWrapper(nn.Module):
+ def __init__(self, impl, pad_coef=0.5, angle_init_range=80, train_angle=True):
+ super().__init__()
+ self.impl = impl
+ self.angle = torch.rand(1) * angle_init_range
+ if train_angle:
+ self.angle = nn.Parameter(self.angle, requires_grad=True)
+ self.pad_coef = pad_coef
+
+ def forward(self, x):
+ if torch.is_tensor(x):
+ return self.inverse_transform(self.impl(self.transform(x)), x)
+ elif isinstance(x, tuple):
+ x_trans = tuple(self.transform(elem) for elem in x)
+ y_trans = self.impl(x_trans)
+ return tuple(self.inverse_transform(elem, orig_x) for elem, orig_x in zip(y_trans, x))
+ else:
+ raise ValueError(f'Unexpected input type {type(x)}')
+
+ def transform(self, x):
+ height, width = x.shape[2:]
+ pad_h, pad_w = int(height * self.pad_coef), int(width * self.pad_coef)
+ x_padded = F.pad(x, [pad_w, pad_w, pad_h, pad_h], mode='reflect')
+ x_padded_rotated = rotate(x_padded, angle=self.angle.to(x_padded))
+ return x_padded_rotated
+
+ def inverse_transform(self, y_padded_rotated, orig_x):
+ height, width = orig_x.shape[2:]
+ pad_h, pad_w = int(height * self.pad_coef), int(width * self.pad_coef)
+
+ y_padded = rotate(y_padded_rotated, angle=-self.angle.to(y_padded_rotated))
+ y_height, y_width = y_padded.shape[2:]
+ y = y_padded[:, :, pad_h : y_height - pad_h, pad_w : y_width - pad_w]
+ return y
+
+
+if __name__ == '__main__':
+ layer = LearnableSpatialTransformWrapper(nn.Identity())
+ x = torch.arange(2* 3 * 15 * 15).view(2, 3, 15, 15).float()
+ y = layer(x)
+ assert x.shape == y.shape
+ assert torch.allclose(x[:, :, 1:, 1:][:, :, :-1, :-1], y[:, :, 1:, 1:][:, :, :-1, :-1])
+ print('all ok')
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/modules/squeeze_excitation.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/modules/squeeze_excitation.py
new file mode 100644
index 0000000000000000000000000000000000000000..d1d902bb30c071acbc0fa919a134c80fed86bd6c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/modules/squeeze_excitation.py
@@ -0,0 +1,20 @@
+import torch.nn as nn
+
+
+class SELayer(nn.Module):
+ def __init__(self, channel, reduction=16):
+ super(SELayer, self).__init__()
+ self.avg_pool = nn.AdaptiveAvgPool2d(1)
+ self.fc = nn.Sequential(
+ nn.Linear(channel, channel // reduction, bias=False),
+ nn.ReLU(inplace=True),
+ nn.Linear(channel // reduction, channel, bias=False),
+ nn.Sigmoid()
+ )
+
+ def forward(self, x):
+ b, c, _, _ = x.size()
+ y = self.avg_pool(x).view(b, c)
+ y = self.fc(y).view(b, c, 1, 1)
+ res = x * y.expand_as(x)
+ return res
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/trainers/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/trainers/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..8307cd31c2139db0ce581637403b3a95dc8cae59
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/trainers/__init__.py
@@ -0,0 +1,29 @@
+import logging
+import torch
+from annotator.lama.saicinpainting.training.trainers.default import DefaultInpaintingTrainingModule
+
+
+def get_training_model_class(kind):
+ if kind == 'default':
+ return DefaultInpaintingTrainingModule
+
+ raise ValueError(f'Unknown trainer module {kind}')
+
+
+def make_training_model(config):
+ kind = config.training_model.kind
+ kwargs = dict(config.training_model)
+ kwargs.pop('kind')
+ kwargs['use_ddp'] = config.trainer.kwargs.get('accelerator', None) == 'ddp'
+
+ logging.info(f'Make training model {kind}')
+
+ cls = get_training_model_class(kind)
+ return cls(config, **kwargs)
+
+
+def load_checkpoint(train_config, path, map_location='cuda', strict=True):
+ model = make_training_model(train_config).generator
+ state = torch.load(path, map_location=map_location)
+ model.load_state_dict(state, strict=strict)
+ return model
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/trainers/base.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/trainers/base.py
new file mode 100644
index 0000000000000000000000000000000000000000..372dd879a22ff6c3929abf23bb59d6b8b66256b7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/trainers/base.py
@@ -0,0 +1,293 @@
+import copy
+import logging
+from typing import Dict, Tuple
+
+import pandas as pd
+import pytorch_lightning as ptl
+import torch
+import torch.nn as nn
+import torch.nn.functional as F
+# from torch.utils.data import DistributedSampler
+
+# from annotator.lama.saicinpainting.evaluation import make_evaluator
+# from annotator.lama.saicinpainting.training.data.datasets import make_default_train_dataloader, make_default_val_dataloader
+# from annotator.lama.saicinpainting.training.losses.adversarial import make_discrim_loss
+# from annotator.lama.saicinpainting.training.losses.perceptual import PerceptualLoss, ResNetPL
+from annotator.lama.saicinpainting.training.modules import make_generator #, make_discriminator
+# from annotator.lama.saicinpainting.training.visualizers import make_visualizer
+from annotator.lama.saicinpainting.utils import add_prefix_to_keys, average_dicts, set_requires_grad, flatten_dict, \
+ get_has_ddp_rank
+
+LOGGER = logging.getLogger(__name__)
+
+
+def make_optimizer(parameters, kind='adamw', **kwargs):
+ if kind == 'adam':
+ optimizer_class = torch.optim.Adam
+ elif kind == 'adamw':
+ optimizer_class = torch.optim.AdamW
+ else:
+ raise ValueError(f'Unknown optimizer kind {kind}')
+ return optimizer_class(parameters, **kwargs)
+
+
+def update_running_average(result: nn.Module, new_iterate_model: nn.Module, decay=0.999):
+ with torch.no_grad():
+ res_params = dict(result.named_parameters())
+ new_params = dict(new_iterate_model.named_parameters())
+
+ for k in res_params.keys():
+ res_params[k].data.mul_(decay).add_(new_params[k].data, alpha=1 - decay)
+
+
+def make_multiscale_noise(base_tensor, scales=6, scale_mode='bilinear'):
+ batch_size, _, height, width = base_tensor.shape
+ cur_height, cur_width = height, width
+ result = []
+ align_corners = False if scale_mode in ('bilinear', 'bicubic') else None
+ for _ in range(scales):
+ cur_sample = torch.randn(batch_size, 1, cur_height, cur_width, device=base_tensor.device)
+ cur_sample_scaled = F.interpolate(cur_sample, size=(height, width), mode=scale_mode, align_corners=align_corners)
+ result.append(cur_sample_scaled)
+ cur_height //= 2
+ cur_width //= 2
+ return torch.cat(result, dim=1)
+
+
+class BaseInpaintingTrainingModule(ptl.LightningModule):
+ def __init__(self, config, use_ddp, *args, predict_only=False, visualize_each_iters=100,
+ average_generator=False, generator_avg_beta=0.999, average_generator_start_step=30000,
+ average_generator_period=10, store_discr_outputs_for_vis=False,
+ **kwargs):
+ super().__init__(*args, **kwargs)
+ LOGGER.info('BaseInpaintingTrainingModule init called')
+
+ self.config = config
+
+ self.generator = make_generator(config, **self.config.generator)
+ self.use_ddp = use_ddp
+
+ if not get_has_ddp_rank():
+ LOGGER.info(f'Generator\n{self.generator}')
+
+ # if not predict_only:
+ # self.save_hyperparameters(self.config)
+ # self.discriminator = make_discriminator(**self.config.discriminator)
+ # self.adversarial_loss = make_discrim_loss(**self.config.losses.adversarial)
+ # self.visualizer = make_visualizer(**self.config.visualizer)
+ # self.val_evaluator = make_evaluator(**self.config.evaluator)
+ # self.test_evaluator = make_evaluator(**self.config.evaluator)
+ #
+ # if not get_has_ddp_rank():
+ # LOGGER.info(f'Discriminator\n{self.discriminator}')
+ #
+ # extra_val = self.config.data.get('extra_val', ())
+ # if extra_val:
+ # self.extra_val_titles = list(extra_val)
+ # self.extra_evaluators = nn.ModuleDict({k: make_evaluator(**self.config.evaluator)
+ # for k in extra_val})
+ # else:
+ # self.extra_evaluators = {}
+ #
+ # self.average_generator = average_generator
+ # self.generator_avg_beta = generator_avg_beta
+ # self.average_generator_start_step = average_generator_start_step
+ # self.average_generator_period = average_generator_period
+ # self.generator_average = None
+ # self.last_generator_averaging_step = -1
+ # self.store_discr_outputs_for_vis = store_discr_outputs_for_vis
+ #
+ # if self.config.losses.get("l1", {"weight_known": 0})['weight_known'] > 0:
+ # self.loss_l1 = nn.L1Loss(reduction='none')
+ #
+ # if self.config.losses.get("mse", {"weight": 0})['weight'] > 0:
+ # self.loss_mse = nn.MSELoss(reduction='none')
+ #
+ # if self.config.losses.perceptual.weight > 0:
+ # self.loss_pl = PerceptualLoss()
+ #
+ # # if self.config.losses.get("resnet_pl", {"weight": 0})['weight'] > 0:
+ # # self.loss_resnet_pl = ResNetPL(**self.config.losses.resnet_pl)
+ # # else:
+ # # self.loss_resnet_pl = None
+ #
+ # self.loss_resnet_pl = None
+
+ self.visualize_each_iters = visualize_each_iters
+ LOGGER.info('BaseInpaintingTrainingModule init done')
+
+ def configure_optimizers(self):
+ discriminator_params = list(self.discriminator.parameters())
+ return [
+ dict(optimizer=make_optimizer(self.generator.parameters(), **self.config.optimizers.generator)),
+ dict(optimizer=make_optimizer(discriminator_params, **self.config.optimizers.discriminator)),
+ ]
+
+ def train_dataloader(self):
+ kwargs = dict(self.config.data.train)
+ if self.use_ddp:
+ kwargs['ddp_kwargs'] = dict(num_replicas=self.trainer.num_nodes * self.trainer.num_processes,
+ rank=self.trainer.global_rank,
+ shuffle=True)
+ dataloader = make_default_train_dataloader(**self.config.data.train)
+ return dataloader
+
+ def val_dataloader(self):
+ res = [make_default_val_dataloader(**self.config.data.val)]
+
+ if self.config.data.visual_test is not None:
+ res = res + [make_default_val_dataloader(**self.config.data.visual_test)]
+ else:
+ res = res + res
+
+ extra_val = self.config.data.get('extra_val', ())
+ if extra_val:
+ res += [make_default_val_dataloader(**extra_val[k]) for k in self.extra_val_titles]
+
+ return res
+
+ def training_step(self, batch, batch_idx, optimizer_idx=None):
+ self._is_training_step = True
+ return self._do_step(batch, batch_idx, mode='train', optimizer_idx=optimizer_idx)
+
+ def validation_step(self, batch, batch_idx, dataloader_idx):
+ extra_val_key = None
+ if dataloader_idx == 0:
+ mode = 'val'
+ elif dataloader_idx == 1:
+ mode = 'test'
+ else:
+ mode = 'extra_val'
+ extra_val_key = self.extra_val_titles[dataloader_idx - 2]
+ self._is_training_step = False
+ return self._do_step(batch, batch_idx, mode=mode, extra_val_key=extra_val_key)
+
+ def training_step_end(self, batch_parts_outputs):
+ if self.training and self.average_generator \
+ and self.global_step >= self.average_generator_start_step \
+ and self.global_step >= self.last_generator_averaging_step + self.average_generator_period:
+ if self.generator_average is None:
+ self.generator_average = copy.deepcopy(self.generator)
+ else:
+ update_running_average(self.generator_average, self.generator, decay=self.generator_avg_beta)
+ self.last_generator_averaging_step = self.global_step
+
+ full_loss = (batch_parts_outputs['loss'].mean()
+ if torch.is_tensor(batch_parts_outputs['loss']) # loss is not tensor when no discriminator used
+ else torch.tensor(batch_parts_outputs['loss']).float().requires_grad_(True))
+ log_info = {k: v.mean() for k, v in batch_parts_outputs['log_info'].items()}
+ self.log_dict(log_info, on_step=True, on_epoch=False)
+ return full_loss
+
+ def validation_epoch_end(self, outputs):
+ outputs = [step_out for out_group in outputs for step_out in out_group]
+ averaged_logs = average_dicts(step_out['log_info'] for step_out in outputs)
+ self.log_dict({k: v.mean() for k, v in averaged_logs.items()})
+
+ pd.set_option('display.max_columns', 500)
+ pd.set_option('display.width', 1000)
+
+ # standard validation
+ val_evaluator_states = [s['val_evaluator_state'] for s in outputs if 'val_evaluator_state' in s]
+ val_evaluator_res = self.val_evaluator.evaluation_end(states=val_evaluator_states)
+ val_evaluator_res_df = pd.DataFrame(val_evaluator_res).stack(1).unstack(0)
+ val_evaluator_res_df.dropna(axis=1, how='all', inplace=True)
+ LOGGER.info(f'Validation metrics after epoch #{self.current_epoch}, '
+ f'total {self.global_step} iterations:\n{val_evaluator_res_df}')
+
+ for k, v in flatten_dict(val_evaluator_res).items():
+ self.log(f'val_{k}', v)
+
+ # standard visual test
+ test_evaluator_states = [s['test_evaluator_state'] for s in outputs
+ if 'test_evaluator_state' in s]
+ test_evaluator_res = self.test_evaluator.evaluation_end(states=test_evaluator_states)
+ test_evaluator_res_df = pd.DataFrame(test_evaluator_res).stack(1).unstack(0)
+ test_evaluator_res_df.dropna(axis=1, how='all', inplace=True)
+ LOGGER.info(f'Test metrics after epoch #{self.current_epoch}, '
+ f'total {self.global_step} iterations:\n{test_evaluator_res_df}')
+
+ for k, v in flatten_dict(test_evaluator_res).items():
+ self.log(f'test_{k}', v)
+
+ # extra validations
+ if self.extra_evaluators:
+ for cur_eval_title, cur_evaluator in self.extra_evaluators.items():
+ cur_state_key = f'extra_val_{cur_eval_title}_evaluator_state'
+ cur_states = [s[cur_state_key] for s in outputs if cur_state_key in s]
+ cur_evaluator_res = cur_evaluator.evaluation_end(states=cur_states)
+ cur_evaluator_res_df = pd.DataFrame(cur_evaluator_res).stack(1).unstack(0)
+ cur_evaluator_res_df.dropna(axis=1, how='all', inplace=True)
+ LOGGER.info(f'Extra val {cur_eval_title} metrics after epoch #{self.current_epoch}, '
+ f'total {self.global_step} iterations:\n{cur_evaluator_res_df}')
+ for k, v in flatten_dict(cur_evaluator_res).items():
+ self.log(f'extra_val_{cur_eval_title}_{k}', v)
+
+ def _do_step(self, batch, batch_idx, mode='train', optimizer_idx=None, extra_val_key=None):
+ if optimizer_idx == 0: # step for generator
+ set_requires_grad(self.generator, True)
+ set_requires_grad(self.discriminator, False)
+ elif optimizer_idx == 1: # step for discriminator
+ set_requires_grad(self.generator, False)
+ set_requires_grad(self.discriminator, True)
+
+ batch = self(batch)
+
+ total_loss = 0
+ metrics = {}
+
+ if optimizer_idx is None or optimizer_idx == 0: # step for generator
+ total_loss, metrics = self.generator_loss(batch)
+
+ elif optimizer_idx is None or optimizer_idx == 1: # step for discriminator
+ if self.config.losses.adversarial.weight > 0:
+ total_loss, metrics = self.discriminator_loss(batch)
+
+ if self.get_ddp_rank() in (None, 0) and (batch_idx % self.visualize_each_iters == 0 or mode == 'test'):
+ if self.config.losses.adversarial.weight > 0:
+ if self.store_discr_outputs_for_vis:
+ with torch.no_grad():
+ self.store_discr_outputs(batch)
+ vis_suffix = f'_{mode}'
+ if mode == 'extra_val':
+ vis_suffix += f'_{extra_val_key}'
+ self.visualizer(self.current_epoch, batch_idx, batch, suffix=vis_suffix)
+
+ metrics_prefix = f'{mode}_'
+ if mode == 'extra_val':
+ metrics_prefix += f'{extra_val_key}_'
+ result = dict(loss=total_loss, log_info=add_prefix_to_keys(metrics, metrics_prefix))
+ if mode == 'val':
+ result['val_evaluator_state'] = self.val_evaluator.process_batch(batch)
+ elif mode == 'test':
+ result['test_evaluator_state'] = self.test_evaluator.process_batch(batch)
+ elif mode == 'extra_val':
+ result[f'extra_val_{extra_val_key}_evaluator_state'] = self.extra_evaluators[extra_val_key].process_batch(batch)
+
+ return result
+
+ def get_current_generator(self, no_average=False):
+ if not no_average and not self.training and self.average_generator and self.generator_average is not None:
+ return self.generator_average
+ return self.generator
+
+ def forward(self, batch: Dict[str, torch.Tensor]) -> Dict[str, torch.Tensor]:
+ """Pass data through generator and obtain at leas 'predicted_image' and 'inpainted' keys"""
+ raise NotImplementedError()
+
+ def generator_loss(self, batch) -> Tuple[torch.Tensor, Dict[str, torch.Tensor]]:
+ raise NotImplementedError()
+
+ def discriminator_loss(self, batch) -> Tuple[torch.Tensor, Dict[str, torch.Tensor]]:
+ raise NotImplementedError()
+
+ def store_discr_outputs(self, batch):
+ out_size = batch['image'].shape[2:]
+ discr_real_out, _ = self.discriminator(batch['image'])
+ discr_fake_out, _ = self.discriminator(batch['predicted_image'])
+ batch['discr_output_real'] = F.interpolate(discr_real_out, size=out_size, mode='nearest')
+ batch['discr_output_fake'] = F.interpolate(discr_fake_out, size=out_size, mode='nearest')
+ batch['discr_output_diff'] = batch['discr_output_real'] - batch['discr_output_fake']
+
+ def get_ddp_rank(self):
+ return self.trainer.global_rank if (self.trainer.num_nodes * self.trainer.num_processes) > 1 else None
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/trainers/default.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/trainers/default.py
new file mode 100644
index 0000000000000000000000000000000000000000..29cd10ec376d5fe3ebcd957d807d2d3f83b6ec59
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/trainers/default.py
@@ -0,0 +1,175 @@
+import logging
+
+import torch
+import torch.nn.functional as F
+from omegaconf import OmegaConf
+
+# from annotator.lama.saicinpainting.training.data.datasets import make_constant_area_crop_params
+from annotator.lama.saicinpainting.training.losses.distance_weighting import make_mask_distance_weighter
+from annotator.lama.saicinpainting.training.losses.feature_matching import feature_matching_loss, masked_l1_loss
+# from annotator.lama.saicinpainting.training.modules.fake_fakes import FakeFakesGenerator
+from annotator.lama.saicinpainting.training.trainers.base import BaseInpaintingTrainingModule, make_multiscale_noise
+from annotator.lama.saicinpainting.utils import add_prefix_to_keys, get_ramp
+
+LOGGER = logging.getLogger(__name__)
+
+
+def make_constant_area_crop_batch(batch, **kwargs):
+ crop_y, crop_x, crop_height, crop_width = make_constant_area_crop_params(img_height=batch['image'].shape[2],
+ img_width=batch['image'].shape[3],
+ **kwargs)
+ batch['image'] = batch['image'][:, :, crop_y : crop_y + crop_height, crop_x : crop_x + crop_width]
+ batch['mask'] = batch['mask'][:, :, crop_y: crop_y + crop_height, crop_x: crop_x + crop_width]
+ return batch
+
+
+class DefaultInpaintingTrainingModule(BaseInpaintingTrainingModule):
+ def __init__(self, *args, concat_mask=True, rescale_scheduler_kwargs=None, image_to_discriminator='predicted_image',
+ add_noise_kwargs=None, noise_fill_hole=False, const_area_crop_kwargs=None,
+ distance_weighter_kwargs=None, distance_weighted_mask_for_discr=False,
+ fake_fakes_proba=0, fake_fakes_generator_kwargs=None,
+ **kwargs):
+ super().__init__(*args, **kwargs)
+ self.concat_mask = concat_mask
+ self.rescale_size_getter = get_ramp(**rescale_scheduler_kwargs) if rescale_scheduler_kwargs is not None else None
+ self.image_to_discriminator = image_to_discriminator
+ self.add_noise_kwargs = add_noise_kwargs
+ self.noise_fill_hole = noise_fill_hole
+ self.const_area_crop_kwargs = const_area_crop_kwargs
+ self.refine_mask_for_losses = make_mask_distance_weighter(**distance_weighter_kwargs) \
+ if distance_weighter_kwargs is not None else None
+ self.distance_weighted_mask_for_discr = distance_weighted_mask_for_discr
+
+ self.fake_fakes_proba = fake_fakes_proba
+ if self.fake_fakes_proba > 1e-3:
+ self.fake_fakes_gen = FakeFakesGenerator(**(fake_fakes_generator_kwargs or {}))
+
+ def forward(self, batch):
+ if self.training and self.rescale_size_getter is not None:
+ cur_size = self.rescale_size_getter(self.global_step)
+ batch['image'] = F.interpolate(batch['image'], size=cur_size, mode='bilinear', align_corners=False)
+ batch['mask'] = F.interpolate(batch['mask'], size=cur_size, mode='nearest')
+
+ if self.training and self.const_area_crop_kwargs is not None:
+ batch = make_constant_area_crop_batch(batch, **self.const_area_crop_kwargs)
+
+ img = batch['image']
+ mask = batch['mask']
+
+ masked_img = img * (1 - mask)
+
+ if self.add_noise_kwargs is not None:
+ noise = make_multiscale_noise(masked_img, **self.add_noise_kwargs)
+ if self.noise_fill_hole:
+ masked_img = masked_img + mask * noise[:, :masked_img.shape[1]]
+ masked_img = torch.cat([masked_img, noise], dim=1)
+
+ if self.concat_mask:
+ masked_img = torch.cat([masked_img, mask], dim=1)
+
+ batch['predicted_image'] = self.generator(masked_img)
+ batch['inpainted'] = mask * batch['predicted_image'] + (1 - mask) * batch['image']
+
+ if self.fake_fakes_proba > 1e-3:
+ if self.training and torch.rand(1).item() < self.fake_fakes_proba:
+ batch['fake_fakes'], batch['fake_fakes_masks'] = self.fake_fakes_gen(img, mask)
+ batch['use_fake_fakes'] = True
+ else:
+ batch['fake_fakes'] = torch.zeros_like(img)
+ batch['fake_fakes_masks'] = torch.zeros_like(mask)
+ batch['use_fake_fakes'] = False
+
+ batch['mask_for_losses'] = self.refine_mask_for_losses(img, batch['predicted_image'], mask) \
+ if self.refine_mask_for_losses is not None and self.training \
+ else mask
+
+ return batch
+
+ def generator_loss(self, batch):
+ img = batch['image']
+ predicted_img = batch[self.image_to_discriminator]
+ original_mask = batch['mask']
+ supervised_mask = batch['mask_for_losses']
+
+ # L1
+ l1_value = masked_l1_loss(predicted_img, img, supervised_mask,
+ self.config.losses.l1.weight_known,
+ self.config.losses.l1.weight_missing)
+
+ total_loss = l1_value
+ metrics = dict(gen_l1=l1_value)
+
+ # vgg-based perceptual loss
+ if self.config.losses.perceptual.weight > 0:
+ pl_value = self.loss_pl(predicted_img, img, mask=supervised_mask).sum() * self.config.losses.perceptual.weight
+ total_loss = total_loss + pl_value
+ metrics['gen_pl'] = pl_value
+
+ # discriminator
+ # adversarial_loss calls backward by itself
+ mask_for_discr = supervised_mask if self.distance_weighted_mask_for_discr else original_mask
+ self.adversarial_loss.pre_generator_step(real_batch=img, fake_batch=predicted_img,
+ generator=self.generator, discriminator=self.discriminator)
+ discr_real_pred, discr_real_features = self.discriminator(img)
+ discr_fake_pred, discr_fake_features = self.discriminator(predicted_img)
+ adv_gen_loss, adv_metrics = self.adversarial_loss.generator_loss(real_batch=img,
+ fake_batch=predicted_img,
+ discr_real_pred=discr_real_pred,
+ discr_fake_pred=discr_fake_pred,
+ mask=mask_for_discr)
+ total_loss = total_loss + adv_gen_loss
+ metrics['gen_adv'] = adv_gen_loss
+ metrics.update(add_prefix_to_keys(adv_metrics, 'adv_'))
+
+ # feature matching
+ if self.config.losses.feature_matching.weight > 0:
+ need_mask_in_fm = OmegaConf.to_container(self.config.losses.feature_matching).get('pass_mask', False)
+ mask_for_fm = supervised_mask if need_mask_in_fm else None
+ fm_value = feature_matching_loss(discr_fake_features, discr_real_features,
+ mask=mask_for_fm) * self.config.losses.feature_matching.weight
+ total_loss = total_loss + fm_value
+ metrics['gen_fm'] = fm_value
+
+ if self.loss_resnet_pl is not None:
+ resnet_pl_value = self.loss_resnet_pl(predicted_img, img)
+ total_loss = total_loss + resnet_pl_value
+ metrics['gen_resnet_pl'] = resnet_pl_value
+
+ return total_loss, metrics
+
+ def discriminator_loss(self, batch):
+ total_loss = 0
+ metrics = {}
+
+ predicted_img = batch[self.image_to_discriminator].detach()
+ self.adversarial_loss.pre_discriminator_step(real_batch=batch['image'], fake_batch=predicted_img,
+ generator=self.generator, discriminator=self.discriminator)
+ discr_real_pred, discr_real_features = self.discriminator(batch['image'])
+ discr_fake_pred, discr_fake_features = self.discriminator(predicted_img)
+ adv_discr_loss, adv_metrics = self.adversarial_loss.discriminator_loss(real_batch=batch['image'],
+ fake_batch=predicted_img,
+ discr_real_pred=discr_real_pred,
+ discr_fake_pred=discr_fake_pred,
+ mask=batch['mask'])
+ total_loss = total_loss + adv_discr_loss
+ metrics['discr_adv'] = adv_discr_loss
+ metrics.update(add_prefix_to_keys(adv_metrics, 'adv_'))
+
+
+ if batch.get('use_fake_fakes', False):
+ fake_fakes = batch['fake_fakes']
+ self.adversarial_loss.pre_discriminator_step(real_batch=batch['image'], fake_batch=fake_fakes,
+ generator=self.generator, discriminator=self.discriminator)
+ discr_fake_fakes_pred, _ = self.discriminator(fake_fakes)
+ fake_fakes_adv_discr_loss, fake_fakes_adv_metrics = self.adversarial_loss.discriminator_loss(
+ real_batch=batch['image'],
+ fake_batch=fake_fakes,
+ discr_real_pred=discr_real_pred,
+ discr_fake_pred=discr_fake_fakes_pred,
+ mask=batch['mask']
+ )
+ total_loss = total_loss + fake_fakes_adv_discr_loss
+ metrics['discr_adv_fake_fakes'] = fake_fakes_adv_discr_loss
+ metrics.update(add_prefix_to_keys(fake_fakes_adv_metrics, 'adv_'))
+
+ return total_loss, metrics
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/visualizers/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/visualizers/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..d280fd8d48428c249c40c341ecc3c36f34524c99
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/visualizers/__init__.py
@@ -0,0 +1,15 @@
+import logging
+
+from annotator.lama.saicinpainting.training.visualizers.directory import DirectoryVisualizer
+from annotator.lama.saicinpainting.training.visualizers.noop import NoopVisualizer
+
+
+def make_visualizer(kind, **kwargs):
+ logging.info(f'Make visualizer {kind}')
+
+ if kind == 'directory':
+ return DirectoryVisualizer(**kwargs)
+ if kind == 'noop':
+ return NoopVisualizer()
+
+ raise ValueError(f'Unknown visualizer kind {kind}')
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/visualizers/base.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/visualizers/base.py
new file mode 100644
index 0000000000000000000000000000000000000000..675f01682ddf5e31b6cc341735378c6f3b242e49
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/visualizers/base.py
@@ -0,0 +1,73 @@
+import abc
+from typing import Dict, List
+
+import numpy as np
+import torch
+from skimage import color
+from skimage.segmentation import mark_boundaries
+
+from . import colors
+
+COLORS, _ = colors.generate_colors(151) # 151 - max classes for semantic segmentation
+
+
+class BaseVisualizer:
+ @abc.abstractmethod
+ def __call__(self, epoch_i, batch_i, batch, suffix='', rank=None):
+ """
+ Take a batch, make an image from it and visualize
+ """
+ raise NotImplementedError()
+
+
+def visualize_mask_and_images(images_dict: Dict[str, np.ndarray], keys: List[str],
+ last_without_mask=True, rescale_keys=None, mask_only_first=None,
+ black_mask=False) -> np.ndarray:
+ mask = images_dict['mask'] > 0.5
+ result = []
+ for i, k in enumerate(keys):
+ img = images_dict[k]
+ img = np.transpose(img, (1, 2, 0))
+
+ if rescale_keys is not None and k in rescale_keys:
+ img = img - img.min()
+ img /= img.max() + 1e-5
+ if len(img.shape) == 2:
+ img = np.expand_dims(img, 2)
+
+ if img.shape[2] == 1:
+ img = np.repeat(img, 3, axis=2)
+ elif (img.shape[2] > 3):
+ img_classes = img.argmax(2)
+ img = color.label2rgb(img_classes, colors=COLORS)
+
+ if mask_only_first:
+ need_mark_boundaries = i == 0
+ else:
+ need_mark_boundaries = i < len(keys) - 1 or not last_without_mask
+
+ if need_mark_boundaries:
+ if black_mask:
+ img = img * (1 - mask[0][..., None])
+ img = mark_boundaries(img,
+ mask[0],
+ color=(1., 0., 0.),
+ outline_color=(1., 1., 1.),
+ mode='thick')
+ result.append(img)
+ return np.concatenate(result, axis=1)
+
+
+def visualize_mask_and_images_batch(batch: Dict[str, torch.Tensor], keys: List[str], max_items=10,
+ last_without_mask=True, rescale_keys=None) -> np.ndarray:
+ batch = {k: tens.detach().cpu().numpy() for k, tens in batch.items()
+ if k in keys or k == 'mask'}
+
+ batch_size = next(iter(batch.values())).shape[0]
+ items_to_vis = min(batch_size, max_items)
+ result = []
+ for i in range(items_to_vis):
+ cur_dct = {k: tens[i] for k, tens in batch.items()}
+ result.append(visualize_mask_and_images(cur_dct, keys, last_without_mask=last_without_mask,
+ rescale_keys=rescale_keys))
+ return np.concatenate(result, axis=0)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/visualizers/colors.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/visualizers/colors.py
new file mode 100644
index 0000000000000000000000000000000000000000..9e9e39182c58cb06a1c5e97a7e6c497cc3388ebe
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/visualizers/colors.py
@@ -0,0 +1,76 @@
+import random
+import colorsys
+
+import numpy as np
+import matplotlib
+matplotlib.use('agg')
+import matplotlib.pyplot as plt
+from matplotlib.colors import LinearSegmentedColormap
+
+
+def generate_colors(nlabels, type='bright', first_color_black=False, last_color_black=True, verbose=False):
+ # https://stackoverflow.com/questions/14720331/how-to-generate-random-colors-in-matplotlib
+ """
+ Creates a random colormap to be used together with matplotlib. Useful for segmentation tasks
+ :param nlabels: Number of labels (size of colormap)
+ :param type: 'bright' for strong colors, 'soft' for pastel colors
+ :param first_color_black: Option to use first color as black, True or False
+ :param last_color_black: Option to use last color as black, True or False
+ :param verbose: Prints the number of labels and shows the colormap. True or False
+ :return: colormap for matplotlib
+ """
+ if type not in ('bright', 'soft'):
+ print ('Please choose "bright" or "soft" for type')
+ return
+
+ if verbose:
+ print('Number of labels: ' + str(nlabels))
+
+ # Generate color map for bright colors, based on hsv
+ if type == 'bright':
+ randHSVcolors = [(np.random.uniform(low=0.0, high=1),
+ np.random.uniform(low=0.2, high=1),
+ np.random.uniform(low=0.9, high=1)) for i in range(nlabels)]
+
+ # Convert HSV list to RGB
+ randRGBcolors = []
+ for HSVcolor in randHSVcolors:
+ randRGBcolors.append(colorsys.hsv_to_rgb(HSVcolor[0], HSVcolor[1], HSVcolor[2]))
+
+ if first_color_black:
+ randRGBcolors[0] = [0, 0, 0]
+
+ if last_color_black:
+ randRGBcolors[-1] = [0, 0, 0]
+
+ random_colormap = LinearSegmentedColormap.from_list('new_map', randRGBcolors, N=nlabels)
+
+ # Generate soft pastel colors, by limiting the RGB spectrum
+ if type == 'soft':
+ low = 0.6
+ high = 0.95
+ randRGBcolors = [(np.random.uniform(low=low, high=high),
+ np.random.uniform(low=low, high=high),
+ np.random.uniform(low=low, high=high)) for i in range(nlabels)]
+
+ if first_color_black:
+ randRGBcolors[0] = [0, 0, 0]
+
+ if last_color_black:
+ randRGBcolors[-1] = [0, 0, 0]
+ random_colormap = LinearSegmentedColormap.from_list('new_map', randRGBcolors, N=nlabels)
+
+ # Display colorbar
+ if verbose:
+ from matplotlib import colors, colorbar
+ from matplotlib import pyplot as plt
+ fig, ax = plt.subplots(1, 1, figsize=(15, 0.5))
+
+ bounds = np.linspace(0, nlabels, nlabels + 1)
+ norm = colors.BoundaryNorm(bounds, nlabels)
+
+ cb = colorbar.ColorbarBase(ax, cmap=random_colormap, norm=norm, spacing='proportional', ticks=None,
+ boundaries=bounds, format='%1i', orientation=u'horizontal')
+
+ return randRGBcolors, random_colormap
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/visualizers/directory.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/visualizers/directory.py
new file mode 100644
index 0000000000000000000000000000000000000000..a0a3b5eb93c0738784bf24083bdd54d50e4782f6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/visualizers/directory.py
@@ -0,0 +1,36 @@
+import os
+
+import cv2
+import numpy as np
+
+from annotator.lama.saicinpainting.training.visualizers.base import BaseVisualizer, visualize_mask_and_images_batch
+from annotator.lama.saicinpainting.utils import check_and_warn_input_range
+
+
+class DirectoryVisualizer(BaseVisualizer):
+ DEFAULT_KEY_ORDER = 'image predicted_image inpainted'.split(' ')
+
+ def __init__(self, outdir, key_order=DEFAULT_KEY_ORDER, max_items_in_batch=10,
+ last_without_mask=True, rescale_keys=None):
+ self.outdir = outdir
+ os.makedirs(self.outdir, exist_ok=True)
+ self.key_order = key_order
+ self.max_items_in_batch = max_items_in_batch
+ self.last_without_mask = last_without_mask
+ self.rescale_keys = rescale_keys
+
+ def __call__(self, epoch_i, batch_i, batch, suffix='', rank=None):
+ check_and_warn_input_range(batch['image'], 0, 1, 'DirectoryVisualizer target image')
+ vis_img = visualize_mask_and_images_batch(batch, self.key_order, max_items=self.max_items_in_batch,
+ last_without_mask=self.last_without_mask,
+ rescale_keys=self.rescale_keys)
+
+ vis_img = np.clip(vis_img * 255, 0, 255).astype('uint8')
+
+ curoutdir = os.path.join(self.outdir, f'epoch{epoch_i:04d}{suffix}')
+ os.makedirs(curoutdir, exist_ok=True)
+ rank_suffix = f'_r{rank}' if rank is not None else ''
+ out_fname = os.path.join(curoutdir, f'batch{batch_i:07d}{rank_suffix}.jpg')
+
+ vis_img = cv2.cvtColor(vis_img, cv2.COLOR_RGB2BGR)
+ cv2.imwrite(out_fname, vis_img)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/visualizers/noop.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/visualizers/noop.py
new file mode 100644
index 0000000000000000000000000000000000000000..4479597baf33a817686a4f679b4576f83b6e5c31
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/training/visualizers/noop.py
@@ -0,0 +1,9 @@
+from annotator.lama.saicinpainting.training.visualizers.base import BaseVisualizer
+
+
+class NoopVisualizer(BaseVisualizer):
+ def __init__(self, *args, **kwargs):
+ pass
+
+ def __call__(self, epoch_i, batch_i, batch, suffix='', rank=None):
+ pass
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/utils.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..f36f5130d4c105b63689642da5321ce2e1863a9f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lama/saicinpainting/utils.py
@@ -0,0 +1,174 @@
+import bisect
+import functools
+import logging
+import numbers
+import os
+import signal
+import sys
+import traceback
+import warnings
+
+import torch
+from pytorch_lightning import seed_everything
+
+LOGGER = logging.getLogger(__name__)
+
+
+def check_and_warn_input_range(tensor, min_value, max_value, name):
+ actual_min = tensor.min()
+ actual_max = tensor.max()
+ if actual_min < min_value or actual_max > max_value:
+ warnings.warn(f"{name} must be in {min_value}..{max_value} range, but it ranges {actual_min}..{actual_max}")
+
+
+def sum_dict_with_prefix(target, cur_dict, prefix, default=0):
+ for k, v in cur_dict.items():
+ target_key = prefix + k
+ target[target_key] = target.get(target_key, default) + v
+
+
+def average_dicts(dict_list):
+ result = {}
+ norm = 1e-3
+ for dct in dict_list:
+ sum_dict_with_prefix(result, dct, '')
+ norm += 1
+ for k in list(result):
+ result[k] /= norm
+ return result
+
+
+def add_prefix_to_keys(dct, prefix):
+ return {prefix + k: v for k, v in dct.items()}
+
+
+def set_requires_grad(module, value):
+ for param in module.parameters():
+ param.requires_grad = value
+
+
+def flatten_dict(dct):
+ result = {}
+ for k, v in dct.items():
+ if isinstance(k, tuple):
+ k = '_'.join(k)
+ if isinstance(v, dict):
+ for sub_k, sub_v in flatten_dict(v).items():
+ result[f'{k}_{sub_k}'] = sub_v
+ else:
+ result[k] = v
+ return result
+
+
+class LinearRamp:
+ def __init__(self, start_value=0, end_value=1, start_iter=-1, end_iter=0):
+ self.start_value = start_value
+ self.end_value = end_value
+ self.start_iter = start_iter
+ self.end_iter = end_iter
+
+ def __call__(self, i):
+ if i < self.start_iter:
+ return self.start_value
+ if i >= self.end_iter:
+ return self.end_value
+ part = (i - self.start_iter) / (self.end_iter - self.start_iter)
+ return self.start_value * (1 - part) + self.end_value * part
+
+
+class LadderRamp:
+ def __init__(self, start_iters, values):
+ self.start_iters = start_iters
+ self.values = values
+ assert len(values) == len(start_iters) + 1, (len(values), len(start_iters))
+
+ def __call__(self, i):
+ segment_i = bisect.bisect_right(self.start_iters, i)
+ return self.values[segment_i]
+
+
+def get_ramp(kind='ladder', **kwargs):
+ if kind == 'linear':
+ return LinearRamp(**kwargs)
+ if kind == 'ladder':
+ return LadderRamp(**kwargs)
+ raise ValueError(f'Unexpected ramp kind: {kind}')
+
+
+def print_traceback_handler(sig, frame):
+ LOGGER.warning(f'Received signal {sig}')
+ bt = ''.join(traceback.format_stack())
+ LOGGER.warning(f'Requested stack trace:\n{bt}')
+
+
+def register_debug_signal_handlers(sig=None, handler=print_traceback_handler):
+ LOGGER.warning(f'Setting signal {sig} handler {handler}')
+ signal.signal(sig, handler)
+
+
+def handle_deterministic_config(config):
+ seed = dict(config).get('seed', None)
+ if seed is None:
+ return False
+
+ seed_everything(seed)
+ return True
+
+
+def get_shape(t):
+ if torch.is_tensor(t):
+ return tuple(t.shape)
+ elif isinstance(t, dict):
+ return {n: get_shape(q) for n, q in t.items()}
+ elif isinstance(t, (list, tuple)):
+ return [get_shape(q) for q in t]
+ elif isinstance(t, numbers.Number):
+ return type(t)
+ else:
+ raise ValueError('unexpected type {}'.format(type(t)))
+
+
+def get_has_ddp_rank():
+ master_port = os.environ.get('MASTER_PORT', None)
+ node_rank = os.environ.get('NODE_RANK', None)
+ local_rank = os.environ.get('LOCAL_RANK', None)
+ world_size = os.environ.get('WORLD_SIZE', None)
+ has_rank = master_port is not None or node_rank is not None or local_rank is not None or world_size is not None
+ return has_rank
+
+
+def handle_ddp_subprocess():
+ def main_decorator(main_func):
+ @functools.wraps(main_func)
+ def new_main(*args, **kwargs):
+ # Trainer sets MASTER_PORT, NODE_RANK, LOCAL_RANK, WORLD_SIZE
+ parent_cwd = os.environ.get('TRAINING_PARENT_WORK_DIR', None)
+ has_parent = parent_cwd is not None
+ has_rank = get_has_ddp_rank()
+ assert has_parent == has_rank, f'Inconsistent state: has_parent={has_parent}, has_rank={has_rank}'
+
+ if has_parent:
+ # we are in the worker
+ sys.argv.extend([
+ f'hydra.run.dir={parent_cwd}',
+ # 'hydra/hydra_logging=disabled',
+ # 'hydra/job_logging=disabled'
+ ])
+ # do nothing if this is a top-level process
+ # TRAINING_PARENT_WORK_DIR is set in handle_ddp_parent_process after hydra initialization
+
+ main_func(*args, **kwargs)
+ return new_main
+ return main_decorator
+
+
+def handle_ddp_parent_process():
+ parent_cwd = os.environ.get('TRAINING_PARENT_WORK_DIR', None)
+ has_parent = parent_cwd is not None
+ has_rank = get_has_ddp_rank()
+ assert has_parent == has_rank, f'Inconsistent state: has_parent={has_parent}, has_rank={has_rank}'
+
+ if parent_cwd is None:
+ os.environ['TRAINING_PARENT_WORK_DIR'] = os.getcwd()
+
+ return has_parent
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..9b11e44a954b68a634326d097bcb54b8876524b4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/__init__.py
@@ -0,0 +1,113 @@
+import cv2
+import numpy as np
+import torch
+import os
+from modules import devices, shared
+from annotator.annotator_path import models_path
+from torchvision.transforms import transforms
+
+# AdelaiDepth/LeReS imports
+from .leres.depthmap import estimateleres, estimateboost
+from .leres.multi_depth_model_woauxi import RelDepthModel
+from .leres.net_tools import strip_prefix_if_present
+
+# pix2pix/merge net imports
+from .pix2pix.options.test_options import TestOptions
+from .pix2pix.models.pix2pix4depth_model import Pix2Pix4DepthModel
+
+base_model_path = os.path.join(models_path, "leres")
+old_modeldir = os.path.dirname(os.path.realpath(__file__))
+
+remote_model_path_leres = "https://huggingface.co/lllyasviel/Annotators/resolve/main/res101.pth"
+remote_model_path_pix2pix = "https://huggingface.co/lllyasviel/Annotators/resolve/main/latest_net_G.pth"
+
+model = None
+pix2pixmodel = None
+
+def unload_leres_model():
+ global model, pix2pixmodel
+ if model is not None:
+ model = model.cpu()
+ if pix2pixmodel is not None:
+ pix2pixmodel = pix2pixmodel.unload_network('G')
+
+
+def apply_leres(input_image, thr_a, thr_b, boost=False):
+ global model, pix2pixmodel
+ if model is None:
+ model_path = os.path.join(base_model_path, "res101.pth")
+ old_model_path = os.path.join(old_modeldir, "res101.pth")
+
+ if os.path.exists(old_model_path):
+ model_path = old_model_path
+ elif not os.path.exists(model_path):
+ from basicsr.utils.download_util import load_file_from_url
+ load_file_from_url(remote_model_path_leres, model_dir=base_model_path)
+
+ if torch.cuda.is_available():
+ checkpoint = torch.load(model_path)
+ else:
+ checkpoint = torch.load(model_path, map_location=torch.device('cpu'))
+
+ model = RelDepthModel(backbone='resnext101')
+ model.load_state_dict(strip_prefix_if_present(checkpoint['depth_model'], "module."), strict=True)
+ del checkpoint
+
+ if boost and pix2pixmodel is None:
+ pix2pixmodel_path = os.path.join(base_model_path, "latest_net_G.pth")
+ if not os.path.exists(pix2pixmodel_path):
+ from basicsr.utils.download_util import load_file_from_url
+ load_file_from_url(remote_model_path_pix2pix, model_dir=base_model_path)
+
+ opt = TestOptions().parse()
+ if not torch.cuda.is_available():
+ opt.gpu_ids = [] # cpu mode
+ pix2pixmodel = Pix2Pix4DepthModel(opt)
+ pix2pixmodel.save_dir = base_model_path
+ pix2pixmodel.load_networks('latest')
+ pix2pixmodel.eval()
+
+ if devices.get_device_for("controlnet").type != 'mps':
+ model = model.to(devices.get_device_for("controlnet"))
+
+ assert input_image.ndim == 3
+ height, width, dim = input_image.shape
+
+ with torch.no_grad():
+
+ if boost:
+ depth = estimateboost(input_image, model, 0, pix2pixmodel, max(width, height))
+ else:
+ depth = estimateleres(input_image, model, width, height)
+
+ numbytes=2
+ depth_min = depth.min()
+ depth_max = depth.max()
+ max_val = (2**(8*numbytes))-1
+
+ # check output before normalizing and mapping to 16 bit
+ if depth_max - depth_min > np.finfo("float").eps:
+ out = max_val * (depth - depth_min) / (depth_max - depth_min)
+ else:
+ out = np.zeros(depth.shape)
+
+ # single channel, 16 bit image
+ depth_image = out.astype("uint16")
+
+ # convert to uint8
+ depth_image = cv2.convertScaleAbs(depth_image, alpha=(255.0/65535.0))
+
+ # remove near
+ if thr_a != 0:
+ thr_a = ((thr_a/100)*255)
+ depth_image = cv2.threshold(depth_image, thr_a, 255, cv2.THRESH_TOZERO)[1]
+
+ # invert image
+ depth_image = cv2.bitwise_not(depth_image)
+
+ # remove bg
+ if thr_b != 0:
+ thr_b = ((thr_b/100)*255)
+ depth_image = cv2.threshold(depth_image, thr_b, 255, cv2.THRESH_TOZERO)[1]
+
+ return depth_image
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/leres/LICENSE b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/leres/LICENSE
new file mode 100644
index 0000000000000000000000000000000000000000..e0f1d07d98d4e85e684734d058dfe2515d215405
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/leres/LICENSE
@@ -0,0 +1,23 @@
+https://github.com/thygate/stable-diffusion-webui-depthmap-script
+
+MIT License
+
+Copyright (c) 2023 Bob Thiry
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/leres/Resnet.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/leres/Resnet.py
new file mode 100644
index 0000000000000000000000000000000000000000..f12c9975c1aa05401269be3ca3dbaa56bde55581
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/leres/Resnet.py
@@ -0,0 +1,199 @@
+import torch.nn as nn
+import torch.nn as NN
+
+__all__ = ['ResNet', 'resnet18', 'resnet34', 'resnet50', 'resnet101',
+ 'resnet152']
+
+
+model_urls = {
+ 'resnet18': 'https://download.pytorch.org/models/resnet18-5c106cde.pth',
+ 'resnet34': 'https://download.pytorch.org/models/resnet34-333f7ec4.pth',
+ 'resnet50': 'https://download.pytorch.org/models/resnet50-19c8e357.pth',
+ 'resnet101': 'https://download.pytorch.org/models/resnet101-5d3b4d8f.pth',
+ 'resnet152': 'https://download.pytorch.org/models/resnet152-b121ed2d.pth',
+}
+
+
+def conv3x3(in_planes, out_planes, stride=1):
+ """3x3 convolution with padding"""
+ return nn.Conv2d(in_planes, out_planes, kernel_size=3, stride=stride,
+ padding=1, bias=False)
+
+
+class BasicBlock(nn.Module):
+ expansion = 1
+
+ def __init__(self, inplanes, planes, stride=1, downsample=None):
+ super(BasicBlock, self).__init__()
+ self.conv1 = conv3x3(inplanes, planes, stride)
+ self.bn1 = NN.BatchNorm2d(planes) #NN.BatchNorm2d
+ self.relu = nn.ReLU(inplace=True)
+ self.conv2 = conv3x3(planes, planes)
+ self.bn2 = NN.BatchNorm2d(planes) #NN.BatchNorm2d
+ self.downsample = downsample
+ self.stride = stride
+
+ def forward(self, x):
+ residual = x
+
+ out = self.conv1(x)
+ out = self.bn1(out)
+ out = self.relu(out)
+
+ out = self.conv2(out)
+ out = self.bn2(out)
+
+ if self.downsample is not None:
+ residual = self.downsample(x)
+
+ out += residual
+ out = self.relu(out)
+
+ return out
+
+
+class Bottleneck(nn.Module):
+ expansion = 4
+
+ def __init__(self, inplanes, planes, stride=1, downsample=None):
+ super(Bottleneck, self).__init__()
+ self.conv1 = nn.Conv2d(inplanes, planes, kernel_size=1, bias=False)
+ self.bn1 = NN.BatchNorm2d(planes) #NN.BatchNorm2d
+ self.conv2 = nn.Conv2d(planes, planes, kernel_size=3, stride=stride,
+ padding=1, bias=False)
+ self.bn2 = NN.BatchNorm2d(planes) #NN.BatchNorm2d
+ self.conv3 = nn.Conv2d(planes, planes * self.expansion, kernel_size=1, bias=False)
+ self.bn3 = NN.BatchNorm2d(planes * self.expansion) #NN.BatchNorm2d
+ self.relu = nn.ReLU(inplace=True)
+ self.downsample = downsample
+ self.stride = stride
+
+ def forward(self, x):
+ residual = x
+
+ out = self.conv1(x)
+ out = self.bn1(out)
+ out = self.relu(out)
+
+ out = self.conv2(out)
+ out = self.bn2(out)
+ out = self.relu(out)
+
+ out = self.conv3(out)
+ out = self.bn3(out)
+
+ if self.downsample is not None:
+ residual = self.downsample(x)
+
+ out += residual
+ out = self.relu(out)
+
+ return out
+
+
+class ResNet(nn.Module):
+
+ def __init__(self, block, layers, num_classes=1000):
+ self.inplanes = 64
+ super(ResNet, self).__init__()
+ self.conv1 = nn.Conv2d(3, 64, kernel_size=7, stride=2, padding=3,
+ bias=False)
+ self.bn1 = NN.BatchNorm2d(64) #NN.BatchNorm2d
+ self.relu = nn.ReLU(inplace=True)
+ self.maxpool = nn.MaxPool2d(kernel_size=3, stride=2, padding=1)
+ self.layer1 = self._make_layer(block, 64, layers[0])
+ self.layer2 = self._make_layer(block, 128, layers[1], stride=2)
+ self.layer3 = self._make_layer(block, 256, layers[2], stride=2)
+ self.layer4 = self._make_layer(block, 512, layers[3], stride=2)
+ #self.avgpool = nn.AvgPool2d(7, stride=1)
+ #self.fc = nn.Linear(512 * block.expansion, num_classes)
+
+ for m in self.modules():
+ if isinstance(m, nn.Conv2d):
+ nn.init.kaiming_normal_(m.weight, mode='fan_out', nonlinearity='relu')
+ elif isinstance(m, nn.BatchNorm2d):
+ nn.init.constant_(m.weight, 1)
+ nn.init.constant_(m.bias, 0)
+
+ def _make_layer(self, block, planes, blocks, stride=1):
+ downsample = None
+ if stride != 1 or self.inplanes != planes * block.expansion:
+ downsample = nn.Sequential(
+ nn.Conv2d(self.inplanes, planes * block.expansion,
+ kernel_size=1, stride=stride, bias=False),
+ NN.BatchNorm2d(planes * block.expansion), #NN.BatchNorm2d
+ )
+
+ layers = []
+ layers.append(block(self.inplanes, planes, stride, downsample))
+ self.inplanes = planes * block.expansion
+ for i in range(1, blocks):
+ layers.append(block(self.inplanes, planes))
+
+ return nn.Sequential(*layers)
+
+ def forward(self, x):
+ features = []
+
+ x = self.conv1(x)
+ x = self.bn1(x)
+ x = self.relu(x)
+ x = self.maxpool(x)
+
+ x = self.layer1(x)
+ features.append(x)
+ x = self.layer2(x)
+ features.append(x)
+ x = self.layer3(x)
+ features.append(x)
+ x = self.layer4(x)
+ features.append(x)
+
+ return features
+
+
+def resnet18(pretrained=True, **kwargs):
+ """Constructs a ResNet-18 model.
+ Args:
+ pretrained (bool): If True, returns a model pre-trained on ImageNet
+ """
+ model = ResNet(BasicBlock, [2, 2, 2, 2], **kwargs)
+ return model
+
+
+def resnet34(pretrained=True, **kwargs):
+ """Constructs a ResNet-34 model.
+ Args:
+ pretrained (bool): If True, returns a model pre-trained on ImageNet
+ """
+ model = ResNet(BasicBlock, [3, 4, 6, 3], **kwargs)
+ return model
+
+
+def resnet50(pretrained=True, **kwargs):
+ """Constructs a ResNet-50 model.
+ Args:
+ pretrained (bool): If True, returns a model pre-trained on ImageNet
+ """
+ model = ResNet(Bottleneck, [3, 4, 6, 3], **kwargs)
+
+ return model
+
+
+def resnet101(pretrained=True, **kwargs):
+ """Constructs a ResNet-101 model.
+ Args:
+ pretrained (bool): If True, returns a model pre-trained on ImageNet
+ """
+ model = ResNet(Bottleneck, [3, 4, 23, 3], **kwargs)
+
+ return model
+
+
+def resnet152(pretrained=True, **kwargs):
+ """Constructs a ResNet-152 model.
+ Args:
+ pretrained (bool): If True, returns a model pre-trained on ImageNet
+ """
+ model = ResNet(Bottleneck, [3, 8, 36, 3], **kwargs)
+ return model
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/leres/Resnext_torch.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/leres/Resnext_torch.py
new file mode 100644
index 0000000000000000000000000000000000000000..9af54fcc3e5b363935ef60c8aaf269110c0d6611
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/leres/Resnext_torch.py
@@ -0,0 +1,237 @@
+#!/usr/bin/env python
+# coding: utf-8
+import torch.nn as nn
+
+try:
+ from urllib import urlretrieve
+except ImportError:
+ from urllib.request import urlretrieve
+
+__all__ = ['resnext101_32x8d']
+
+
+model_urls = {
+ 'resnext50_32x4d': 'https://download.pytorch.org/models/resnext50_32x4d-7cdf4587.pth',
+ 'resnext101_32x8d': 'https://download.pytorch.org/models/resnext101_32x8d-8ba56ff5.pth',
+}
+
+
+def conv3x3(in_planes, out_planes, stride=1, groups=1, dilation=1):
+ """3x3 convolution with padding"""
+ return nn.Conv2d(in_planes, out_planes, kernel_size=3, stride=stride,
+ padding=dilation, groups=groups, bias=False, dilation=dilation)
+
+
+def conv1x1(in_planes, out_planes, stride=1):
+ """1x1 convolution"""
+ return nn.Conv2d(in_planes, out_planes, kernel_size=1, stride=stride, bias=False)
+
+
+class BasicBlock(nn.Module):
+ expansion = 1
+
+ def __init__(self, inplanes, planes, stride=1, downsample=None, groups=1,
+ base_width=64, dilation=1, norm_layer=None):
+ super(BasicBlock, self).__init__()
+ if norm_layer is None:
+ norm_layer = nn.BatchNorm2d
+ if groups != 1 or base_width != 64:
+ raise ValueError('BasicBlock only supports groups=1 and base_width=64')
+ if dilation > 1:
+ raise NotImplementedError("Dilation > 1 not supported in BasicBlock")
+ # Both self.conv1 and self.downsample layers downsample the input when stride != 1
+ self.conv1 = conv3x3(inplanes, planes, stride)
+ self.bn1 = norm_layer(planes)
+ self.relu = nn.ReLU(inplace=True)
+ self.conv2 = conv3x3(planes, planes)
+ self.bn2 = norm_layer(planes)
+ self.downsample = downsample
+ self.stride = stride
+
+ def forward(self, x):
+ identity = x
+
+ out = self.conv1(x)
+ out = self.bn1(out)
+ out = self.relu(out)
+
+ out = self.conv2(out)
+ out = self.bn2(out)
+
+ if self.downsample is not None:
+ identity = self.downsample(x)
+
+ out += identity
+ out = self.relu(out)
+
+ return out
+
+
+class Bottleneck(nn.Module):
+ # Bottleneck in torchvision places the stride for downsampling at 3x3 convolution(self.conv2)
+ # while original implementation places the stride at the first 1x1 convolution(self.conv1)
+ # according to "Deep residual learning for image recognition"https://arxiv.org/abs/1512.03385.
+ # This variant is also known as ResNet V1.5 and improves accuracy according to
+ # https://ngc.nvidia.com/catalog/model-scripts/nvidia:resnet_50_v1_5_for_pytorch.
+
+ expansion = 4
+
+ def __init__(self, inplanes, planes, stride=1, downsample=None, groups=1,
+ base_width=64, dilation=1, norm_layer=None):
+ super(Bottleneck, self).__init__()
+ if norm_layer is None:
+ norm_layer = nn.BatchNorm2d
+ width = int(planes * (base_width / 64.)) * groups
+ # Both self.conv2 and self.downsample layers downsample the input when stride != 1
+ self.conv1 = conv1x1(inplanes, width)
+ self.bn1 = norm_layer(width)
+ self.conv2 = conv3x3(width, width, stride, groups, dilation)
+ self.bn2 = norm_layer(width)
+ self.conv3 = conv1x1(width, planes * self.expansion)
+ self.bn3 = norm_layer(planes * self.expansion)
+ self.relu = nn.ReLU(inplace=True)
+ self.downsample = downsample
+ self.stride = stride
+
+ def forward(self, x):
+ identity = x
+
+ out = self.conv1(x)
+ out = self.bn1(out)
+ out = self.relu(out)
+
+ out = self.conv2(out)
+ out = self.bn2(out)
+ out = self.relu(out)
+
+ out = self.conv3(out)
+ out = self.bn3(out)
+
+ if self.downsample is not None:
+ identity = self.downsample(x)
+
+ out += identity
+ out = self.relu(out)
+
+ return out
+
+
+class ResNet(nn.Module):
+
+ def __init__(self, block, layers, num_classes=1000, zero_init_residual=False,
+ groups=1, width_per_group=64, replace_stride_with_dilation=None,
+ norm_layer=None):
+ super(ResNet, self).__init__()
+ if norm_layer is None:
+ norm_layer = nn.BatchNorm2d
+ self._norm_layer = norm_layer
+
+ self.inplanes = 64
+ self.dilation = 1
+ if replace_stride_with_dilation is None:
+ # each element in the tuple indicates if we should replace
+ # the 2x2 stride with a dilated convolution instead
+ replace_stride_with_dilation = [False, False, False]
+ if len(replace_stride_with_dilation) != 3:
+ raise ValueError("replace_stride_with_dilation should be None "
+ "or a 3-element tuple, got {}".format(replace_stride_with_dilation))
+ self.groups = groups
+ self.base_width = width_per_group
+ self.conv1 = nn.Conv2d(3, self.inplanes, kernel_size=7, stride=2, padding=3,
+ bias=False)
+ self.bn1 = norm_layer(self.inplanes)
+ self.relu = nn.ReLU(inplace=True)
+ self.maxpool = nn.MaxPool2d(kernel_size=3, stride=2, padding=1)
+ self.layer1 = self._make_layer(block, 64, layers[0])
+ self.layer2 = self._make_layer(block, 128, layers[1], stride=2,
+ dilate=replace_stride_with_dilation[0])
+ self.layer3 = self._make_layer(block, 256, layers[2], stride=2,
+ dilate=replace_stride_with_dilation[1])
+ self.layer4 = self._make_layer(block, 512, layers[3], stride=2,
+ dilate=replace_stride_with_dilation[2])
+ #self.avgpool = nn.AdaptiveAvgPool2d((1, 1))
+ #self.fc = nn.Linear(512 * block.expansion, num_classes)
+
+ for m in self.modules():
+ if isinstance(m, nn.Conv2d):
+ nn.init.kaiming_normal_(m.weight, mode='fan_out', nonlinearity='relu')
+ elif isinstance(m, (nn.BatchNorm2d, nn.GroupNorm)):
+ nn.init.constant_(m.weight, 1)
+ nn.init.constant_(m.bias, 0)
+
+ # Zero-initialize the last BN in each residual branch,
+ # so that the residual branch starts with zeros, and each residual block behaves like an identity.
+ # This improves the model by 0.2~0.3% according to https://arxiv.org/abs/1706.02677
+ if zero_init_residual:
+ for m in self.modules():
+ if isinstance(m, Bottleneck):
+ nn.init.constant_(m.bn3.weight, 0)
+ elif isinstance(m, BasicBlock):
+ nn.init.constant_(m.bn2.weight, 0)
+
+ def _make_layer(self, block, planes, blocks, stride=1, dilate=False):
+ norm_layer = self._norm_layer
+ downsample = None
+ previous_dilation = self.dilation
+ if dilate:
+ self.dilation *= stride
+ stride = 1
+ if stride != 1 or self.inplanes != planes * block.expansion:
+ downsample = nn.Sequential(
+ conv1x1(self.inplanes, planes * block.expansion, stride),
+ norm_layer(planes * block.expansion),
+ )
+
+ layers = []
+ layers.append(block(self.inplanes, planes, stride, downsample, self.groups,
+ self.base_width, previous_dilation, norm_layer))
+ self.inplanes = planes * block.expansion
+ for _ in range(1, blocks):
+ layers.append(block(self.inplanes, planes, groups=self.groups,
+ base_width=self.base_width, dilation=self.dilation,
+ norm_layer=norm_layer))
+
+ return nn.Sequential(*layers)
+
+ def _forward_impl(self, x):
+ # See note [TorchScript super()]
+ features = []
+ x = self.conv1(x)
+ x = self.bn1(x)
+ x = self.relu(x)
+ x = self.maxpool(x)
+
+ x = self.layer1(x)
+ features.append(x)
+
+ x = self.layer2(x)
+ features.append(x)
+
+ x = self.layer3(x)
+ features.append(x)
+
+ x = self.layer4(x)
+ features.append(x)
+
+ #x = self.avgpool(x)
+ #x = torch.flatten(x, 1)
+ #x = self.fc(x)
+
+ return features
+
+ def forward(self, x):
+ return self._forward_impl(x)
+
+
+
+def resnext101_32x8d(pretrained=True, **kwargs):
+ """Constructs a ResNet-152 model.
+ Args:
+ pretrained (bool): If True, returns a model pre-trained on ImageNet
+ """
+ kwargs['groups'] = 32
+ kwargs['width_per_group'] = 8
+
+ model = ResNet(Bottleneck, [3, 4, 23, 3], **kwargs)
+ return model
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/leres/depthmap.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/leres/depthmap.py
new file mode 100644
index 0000000000000000000000000000000000000000..ebceecbe28ec248f6f96bb65b1c53bdbaf393ecc
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/leres/depthmap.py
@@ -0,0 +1,546 @@
+# Author: thygate
+# https://github.com/thygate/stable-diffusion-webui-depthmap-script
+
+from modules import devices
+from modules.shared import opts
+from torchvision.transforms import transforms
+from operator import getitem
+
+import torch, gc
+import cv2
+import numpy as np
+import skimage.measure
+
+whole_size_threshold = 1600 # R_max from the paper
+pix2pixsize = 1024
+
+def scale_torch(img):
+ """
+ Scale the image and output it in torch.tensor.
+ :param img: input rgb is in shape [H, W, C], input depth/disp is in shape [H, W]
+ :param scale: the scale factor. float
+ :return: img. [C, H, W]
+ """
+ if len(img.shape) == 2:
+ img = img[np.newaxis, :, :]
+ if img.shape[2] == 3:
+ transform = transforms.Compose([transforms.ToTensor(), transforms.Normalize((0.485, 0.456, 0.406) , (0.229, 0.224, 0.225) )])
+ img = transform(img.astype(np.float32))
+ else:
+ img = img.astype(np.float32)
+ img = torch.from_numpy(img)
+ return img
+
+def estimateleres(img, model, w, h):
+ # leres transform input
+ rgb_c = img[:, :, ::-1].copy()
+ A_resize = cv2.resize(rgb_c, (w, h))
+ img_torch = scale_torch(A_resize)[None, :, :, :]
+
+ # compute
+ with torch.no_grad():
+ img_torch = img_torch.to(devices.get_device_for("controlnet"))
+ prediction = model.depth_model(img_torch)
+
+ prediction = prediction.squeeze().cpu().numpy()
+ prediction = cv2.resize(prediction, (img.shape[1], img.shape[0]), interpolation=cv2.INTER_CUBIC)
+
+ return prediction
+
+def generatemask(size):
+ # Generates a Guassian mask
+ mask = np.zeros(size, dtype=np.float32)
+ sigma = int(size[0]/16)
+ k_size = int(2 * np.ceil(2 * int(size[0]/16)) + 1)
+ mask[int(0.15*size[0]):size[0] - int(0.15*size[0]), int(0.15*size[1]): size[1] - int(0.15*size[1])] = 1
+ mask = cv2.GaussianBlur(mask, (int(k_size), int(k_size)), sigma)
+ mask = (mask - mask.min()) / (mask.max() - mask.min())
+ mask = mask.astype(np.float32)
+ return mask
+
+def resizewithpool(img, size):
+ i_size = img.shape[0]
+ n = int(np.floor(i_size/size))
+
+ out = skimage.measure.block_reduce(img, (n, n), np.max)
+ return out
+
+def rgb2gray(rgb):
+ # Converts rgb to gray
+ return np.dot(rgb[..., :3], [0.2989, 0.5870, 0.1140])
+
+def calculateprocessingres(img, basesize, confidence=0.1, scale_threshold=3, whole_size_threshold=3000):
+ # Returns the R_x resolution described in section 5 of the main paper.
+
+ # Parameters:
+ # img :input rgb image
+ # basesize : size the dilation kernel which is equal to receptive field of the network.
+ # confidence: value of x in R_x; allowed percentage of pixels that are not getting any contextual cue.
+ # scale_threshold: maximum allowed upscaling on the input image ; it has been set to 3.
+ # whole_size_threshold: maximum allowed resolution. (R_max from section 6 of the main paper)
+
+ # Returns:
+ # outputsize_scale*speed_scale :The computed R_x resolution
+ # patch_scale: K parameter from section 6 of the paper
+
+ # speed scale parameter is to process every image in a smaller size to accelerate the R_x resolution search
+ speed_scale = 32
+ image_dim = int(min(img.shape[0:2]))
+
+ gray = rgb2gray(img)
+ grad = np.abs(cv2.Sobel(gray, cv2.CV_64F, 0, 1, ksize=3)) + np.abs(cv2.Sobel(gray, cv2.CV_64F, 1, 0, ksize=3))
+ grad = cv2.resize(grad, (image_dim, image_dim), cv2.INTER_AREA)
+
+ # thresholding the gradient map to generate the edge-map as a proxy of the contextual cues
+ m = grad.min()
+ M = grad.max()
+ middle = m + (0.4 * (M - m))
+ grad[grad < middle] = 0
+ grad[grad >= middle] = 1
+
+ # dilation kernel with size of the receptive field
+ kernel = np.ones((int(basesize/speed_scale), int(basesize/speed_scale)), float)
+ # dilation kernel with size of the a quarter of receptive field used to compute k
+ # as described in section 6 of main paper
+ kernel2 = np.ones((int(basesize / (4*speed_scale)), int(basesize / (4*speed_scale))), float)
+
+ # Output resolution limit set by the whole_size_threshold and scale_threshold.
+ threshold = min(whole_size_threshold, scale_threshold * max(img.shape[:2]))
+
+ outputsize_scale = basesize / speed_scale
+ for p_size in range(int(basesize/speed_scale), int(threshold/speed_scale), int(basesize / (2*speed_scale))):
+ grad_resized = resizewithpool(grad, p_size)
+ grad_resized = cv2.resize(grad_resized, (p_size, p_size), cv2.INTER_NEAREST)
+ grad_resized[grad_resized >= 0.5] = 1
+ grad_resized[grad_resized < 0.5] = 0
+
+ dilated = cv2.dilate(grad_resized, kernel, iterations=1)
+ meanvalue = (1-dilated).mean()
+ if meanvalue > confidence:
+ break
+ else:
+ outputsize_scale = p_size
+
+ grad_region = cv2.dilate(grad_resized, kernel2, iterations=1)
+ patch_scale = grad_region.mean()
+
+ return int(outputsize_scale*speed_scale), patch_scale
+
+# Generate a double-input depth estimation
+def doubleestimate(img, size1, size2, pix2pixsize, model, net_type, pix2pixmodel):
+ # Generate the low resolution estimation
+ estimate1 = singleestimate(img, size1, model, net_type)
+ # Resize to the inference size of merge network.
+ estimate1 = cv2.resize(estimate1, (pix2pixsize, pix2pixsize), interpolation=cv2.INTER_CUBIC)
+
+ # Generate the high resolution estimation
+ estimate2 = singleestimate(img, size2, model, net_type)
+ # Resize to the inference size of merge network.
+ estimate2 = cv2.resize(estimate2, (pix2pixsize, pix2pixsize), interpolation=cv2.INTER_CUBIC)
+
+ # Inference on the merge model
+ pix2pixmodel.set_input(estimate1, estimate2)
+ pix2pixmodel.test()
+ visuals = pix2pixmodel.get_current_visuals()
+ prediction_mapped = visuals['fake_B']
+ prediction_mapped = (prediction_mapped+1)/2
+ prediction_mapped = (prediction_mapped - torch.min(prediction_mapped)) / (
+ torch.max(prediction_mapped) - torch.min(prediction_mapped))
+ prediction_mapped = prediction_mapped.squeeze().cpu().numpy()
+
+ return prediction_mapped
+
+# Generate a single-input depth estimation
+def singleestimate(img, msize, model, net_type):
+ # if net_type == 0:
+ return estimateleres(img, model, msize, msize)
+ # else:
+ # return estimatemidasBoost(img, model, msize, msize)
+
+def applyGridpatch(blsize, stride, img, box):
+ # Extract a simple grid patch.
+ counter1 = 0
+ patch_bound_list = {}
+ for k in range(blsize, img.shape[1] - blsize, stride):
+ for j in range(blsize, img.shape[0] - blsize, stride):
+ patch_bound_list[str(counter1)] = {}
+ patchbounds = [j - blsize, k - blsize, j - blsize + 2 * blsize, k - blsize + 2 * blsize]
+ patch_bound = [box[0] + patchbounds[1], box[1] + patchbounds[0], patchbounds[3] - patchbounds[1],
+ patchbounds[2] - patchbounds[0]]
+ patch_bound_list[str(counter1)]['rect'] = patch_bound
+ patch_bound_list[str(counter1)]['size'] = patch_bound[2]
+ counter1 = counter1 + 1
+ return patch_bound_list
+
+# Generating local patches to perform the local refinement described in section 6 of the main paper.
+def generatepatchs(img, base_size):
+
+ # Compute the gradients as a proxy of the contextual cues.
+ img_gray = rgb2gray(img)
+ whole_grad = np.abs(cv2.Sobel(img_gray, cv2.CV_64F, 0, 1, ksize=3)) +\
+ np.abs(cv2.Sobel(img_gray, cv2.CV_64F, 1, 0, ksize=3))
+
+ threshold = whole_grad[whole_grad > 0].mean()
+ whole_grad[whole_grad < threshold] = 0
+
+ # We use the integral image to speed-up the evaluation of the amount of gradients for each patch.
+ gf = whole_grad.sum()/len(whole_grad.reshape(-1))
+ grad_integral_image = cv2.integral(whole_grad)
+
+ # Variables are selected such that the initial patch size would be the receptive field size
+ # and the stride is set to 1/3 of the receptive field size.
+ blsize = int(round(base_size/2))
+ stride = int(round(blsize*0.75))
+
+ # Get initial Grid
+ patch_bound_list = applyGridpatch(blsize, stride, img, [0, 0, 0, 0])
+
+ # Refine initial Grid of patches by discarding the flat (in terms of gradients of the rgb image) ones. Refine
+ # each patch size to ensure that there will be enough depth cues for the network to generate a consistent depth map.
+ print("Selecting patches ...")
+ patch_bound_list = adaptiveselection(grad_integral_image, patch_bound_list, gf)
+
+ # Sort the patch list to make sure the merging operation will be done with the correct order: starting from biggest
+ # patch
+ patchset = sorted(patch_bound_list.items(), key=lambda x: getitem(x[1], 'size'), reverse=True)
+ return patchset
+
+def getGF_fromintegral(integralimage, rect):
+ # Computes the gradient density of a given patch from the gradient integral image.
+ x1 = rect[1]
+ x2 = rect[1]+rect[3]
+ y1 = rect[0]
+ y2 = rect[0]+rect[2]
+ value = integralimage[x2, y2]-integralimage[x1, y2]-integralimage[x2, y1]+integralimage[x1, y1]
+ return value
+
+# Adaptively select patches
+def adaptiveselection(integral_grad, patch_bound_list, gf):
+ patchlist = {}
+ count = 0
+ height, width = integral_grad.shape
+
+ search_step = int(32/factor)
+
+ # Go through all patches
+ for c in range(len(patch_bound_list)):
+ # Get patch
+ bbox = patch_bound_list[str(c)]['rect']
+
+ # Compute the amount of gradients present in the patch from the integral image.
+ cgf = getGF_fromintegral(integral_grad, bbox)/(bbox[2]*bbox[3])
+
+ # Check if patching is beneficial by comparing the gradient density of the patch to
+ # the gradient density of the whole image
+ if cgf >= gf:
+ bbox_test = bbox.copy()
+ patchlist[str(count)] = {}
+
+ # Enlarge each patch until the gradient density of the patch is equal
+ # to the whole image gradient density
+ while True:
+
+ bbox_test[0] = bbox_test[0] - int(search_step/2)
+ bbox_test[1] = bbox_test[1] - int(search_step/2)
+
+ bbox_test[2] = bbox_test[2] + search_step
+ bbox_test[3] = bbox_test[3] + search_step
+
+ # Check if we are still within the image
+ if bbox_test[0] < 0 or bbox_test[1] < 0 or bbox_test[1] + bbox_test[3] >= height \
+ or bbox_test[0] + bbox_test[2] >= width:
+ break
+
+ # Compare gradient density
+ cgf = getGF_fromintegral(integral_grad, bbox_test)/(bbox_test[2]*bbox_test[3])
+ if cgf < gf:
+ break
+ bbox = bbox_test.copy()
+
+ # Add patch to selected patches
+ patchlist[str(count)]['rect'] = bbox
+ patchlist[str(count)]['size'] = bbox[2]
+ count = count + 1
+
+ # Return selected patches
+ return patchlist
+
+def impatch(image, rect):
+ # Extract the given patch pixels from a given image.
+ w1 = rect[0]
+ h1 = rect[1]
+ w2 = w1 + rect[2]
+ h2 = h1 + rect[3]
+ image_patch = image[h1:h2, w1:w2]
+ return image_patch
+
+class ImageandPatchs:
+ def __init__(self, root_dir, name, patchsinfo, rgb_image, scale=1):
+ self.root_dir = root_dir
+ self.patchsinfo = patchsinfo
+ self.name = name
+ self.patchs = patchsinfo
+ self.scale = scale
+
+ self.rgb_image = cv2.resize(rgb_image, (round(rgb_image.shape[1]*scale), round(rgb_image.shape[0]*scale)),
+ interpolation=cv2.INTER_CUBIC)
+
+ self.do_have_estimate = False
+ self.estimation_updated_image = None
+ self.estimation_base_image = None
+
+ def __len__(self):
+ return len(self.patchs)
+
+ def set_base_estimate(self, est):
+ self.estimation_base_image = est
+ if self.estimation_updated_image is not None:
+ self.do_have_estimate = True
+
+ def set_updated_estimate(self, est):
+ self.estimation_updated_image = est
+ if self.estimation_base_image is not None:
+ self.do_have_estimate = True
+
+ def __getitem__(self, index):
+ patch_id = int(self.patchs[index][0])
+ rect = np.array(self.patchs[index][1]['rect'])
+ msize = self.patchs[index][1]['size']
+
+ ## applying scale to rect:
+ rect = np.round(rect * self.scale)
+ rect = rect.astype('int')
+ msize = round(msize * self.scale)
+
+ patch_rgb = impatch(self.rgb_image, rect)
+ if self.do_have_estimate:
+ patch_whole_estimate_base = impatch(self.estimation_base_image, rect)
+ patch_whole_estimate_updated = impatch(self.estimation_updated_image, rect)
+ return {'patch_rgb': patch_rgb, 'patch_whole_estimate_base': patch_whole_estimate_base,
+ 'patch_whole_estimate_updated': patch_whole_estimate_updated, 'rect': rect,
+ 'size': msize, 'id': patch_id}
+ else:
+ return {'patch_rgb': patch_rgb, 'rect': rect, 'size': msize, 'id': patch_id}
+
+ def print_options(self, opt):
+ """Print and save options
+
+ It will print both current options and default values(if different).
+ It will save options into a text file / [checkpoints_dir] / opt.txt
+ """
+ message = ''
+ message += '----------------- Options ---------------\n'
+ for k, v in sorted(vars(opt).items()):
+ comment = ''
+ default = self.parser.get_default(k)
+ if v != default:
+ comment = '\t[default: %s]' % str(default)
+ message += '{:>25}: {:<30}{}\n'.format(str(k), str(v), comment)
+ message += '----------------- End -------------------'
+ print(message)
+
+ # save to the disk
+ """
+ expr_dir = os.path.join(opt.checkpoints_dir, opt.name)
+ util.mkdirs(expr_dir)
+ file_name = os.path.join(expr_dir, '{}_opt.txt'.format(opt.phase))
+ with open(file_name, 'wt') as opt_file:
+ opt_file.write(message)
+ opt_file.write('\n')
+ """
+
+ def parse(self):
+ """Parse our options, create checkpoints directory suffix, and set up gpu device."""
+ opt = self.gather_options()
+ opt.isTrain = self.isTrain # train or test
+
+ # process opt.suffix
+ if opt.suffix:
+ suffix = ('_' + opt.suffix.format(**vars(opt))) if opt.suffix != '' else ''
+ opt.name = opt.name + suffix
+
+ #self.print_options(opt)
+
+ # set gpu ids
+ str_ids = opt.gpu_ids.split(',')
+ opt.gpu_ids = []
+ for str_id in str_ids:
+ id = int(str_id)
+ if id >= 0:
+ opt.gpu_ids.append(id)
+ #if len(opt.gpu_ids) > 0:
+ # torch.cuda.set_device(opt.gpu_ids[0])
+
+ self.opt = opt
+ return self.opt
+
+
+def estimateboost(img, model, model_type, pix2pixmodel, max_res=512):
+ global whole_size_threshold
+
+ # get settings
+ if hasattr(opts, 'depthmap_script_boost_rmax'):
+ whole_size_threshold = opts.depthmap_script_boost_rmax
+
+ if model_type == 0: #leres
+ net_receptive_field_size = 448
+ patch_netsize = 2 * net_receptive_field_size
+ elif model_type == 1: #dpt_beit_large_512
+ net_receptive_field_size = 512
+ patch_netsize = 2 * net_receptive_field_size
+ else: #other midas
+ net_receptive_field_size = 384
+ patch_netsize = 2 * net_receptive_field_size
+
+ gc.collect()
+ devices.torch_gc()
+
+ # Generate mask used to smoothly blend the local pathc estimations to the base estimate.
+ # It is arbitrarily large to avoid artifacts during rescaling for each crop.
+ mask_org = generatemask((3000, 3000))
+ mask = mask_org.copy()
+
+ # Value x of R_x defined in the section 5 of the main paper.
+ r_threshold_value = 0.2
+ #if R0:
+ # r_threshold_value = 0
+
+ input_resolution = img.shape
+ scale_threshold = 3 # Allows up-scaling with a scale up to 3
+
+ # Find the best input resolution R-x. The resolution search described in section 5-double estimation of the main paper and section B of the
+ # supplementary material.
+ whole_image_optimal_size, patch_scale = calculateprocessingres(img, net_receptive_field_size, r_threshold_value, scale_threshold, whole_size_threshold)
+
+ # print('wholeImage being processed in :', whole_image_optimal_size)
+
+ # Generate the base estimate using the double estimation.
+ whole_estimate = doubleestimate(img, net_receptive_field_size, whole_image_optimal_size, pix2pixsize, model, model_type, pix2pixmodel)
+
+ # Compute the multiplier described in section 6 of the main paper to make sure our initial patch can select
+ # small high-density regions of the image.
+ global factor
+ factor = max(min(1, 4 * patch_scale * whole_image_optimal_size / whole_size_threshold), 0.2)
+ # print('Adjust factor is:', 1/factor)
+
+ # Check if Local boosting is beneficial.
+ if max_res < whole_image_optimal_size:
+ # print("No Local boosting. Specified Max Res is smaller than R20, Returning doubleestimate result")
+ return cv2.resize(whole_estimate, (input_resolution[1], input_resolution[0]), interpolation=cv2.INTER_CUBIC)
+
+ # Compute the default target resolution.
+ if img.shape[0] > img.shape[1]:
+ a = 2 * whole_image_optimal_size
+ b = round(2 * whole_image_optimal_size * img.shape[1] / img.shape[0])
+ else:
+ a = round(2 * whole_image_optimal_size * img.shape[0] / img.shape[1])
+ b = 2 * whole_image_optimal_size
+ b = int(round(b / factor))
+ a = int(round(a / factor))
+
+ """
+ # recompute a, b and saturate to max res.
+ if max(a,b) > max_res:
+ print('Default Res is higher than max-res: Reducing final resolution')
+ if img.shape[0] > img.shape[1]:
+ a = max_res
+ b = round(max_res * img.shape[1] / img.shape[0])
+ else:
+ a = round(max_res * img.shape[0] / img.shape[1])
+ b = max_res
+ b = int(b)
+ a = int(a)
+ """
+
+ img = cv2.resize(img, (b, a), interpolation=cv2.INTER_CUBIC)
+
+ # Extract selected patches for local refinement
+ base_size = net_receptive_field_size * 2
+ patchset = generatepatchs(img, base_size)
+
+ # print('Target resolution: ', img.shape)
+
+ # Computing a scale in case user prompted to generate the results as the same resolution of the input.
+ # Notice that our method output resolution is independent of the input resolution and this parameter will only
+ # enable a scaling operation during the local patch merge implementation to generate results with the same resolution
+ # as the input.
+ """
+ if output_resolution == 1:
+ mergein_scale = input_resolution[0] / img.shape[0]
+ print('Dynamicly change merged-in resolution; scale:', mergein_scale)
+ else:
+ mergein_scale = 1
+ """
+ # always rescale to input res for now
+ mergein_scale = input_resolution[0] / img.shape[0]
+
+ imageandpatchs = ImageandPatchs('', '', patchset, img, mergein_scale)
+ whole_estimate_resized = cv2.resize(whole_estimate, (round(img.shape[1]*mergein_scale),
+ round(img.shape[0]*mergein_scale)), interpolation=cv2.INTER_CUBIC)
+ imageandpatchs.set_base_estimate(whole_estimate_resized.copy())
+ imageandpatchs.set_updated_estimate(whole_estimate_resized.copy())
+
+ print('Resulting depthmap resolution will be :', whole_estimate_resized.shape[:2])
+ print('Patches to process: '+str(len(imageandpatchs)))
+
+ # Enumerate through all patches, generate their estimations and refining the base estimate.
+ for patch_ind in range(len(imageandpatchs)):
+
+ # Get patch information
+ patch = imageandpatchs[patch_ind] # patch object
+ patch_rgb = patch['patch_rgb'] # rgb patch
+ patch_whole_estimate_base = patch['patch_whole_estimate_base'] # corresponding patch from base
+ rect = patch['rect'] # patch size and location
+ patch_id = patch['id'] # patch ID
+ org_size = patch_whole_estimate_base.shape # the original size from the unscaled input
+ print('\t Processing patch', patch_ind, '/', len(imageandpatchs)-1, '|', rect)
+
+ # We apply double estimation for patches. The high resolution value is fixed to twice the receptive
+ # field size of the network for patches to accelerate the process.
+ patch_estimation = doubleestimate(patch_rgb, net_receptive_field_size, patch_netsize, pix2pixsize, model, model_type, pix2pixmodel)
+ patch_estimation = cv2.resize(patch_estimation, (pix2pixsize, pix2pixsize), interpolation=cv2.INTER_CUBIC)
+ patch_whole_estimate_base = cv2.resize(patch_whole_estimate_base, (pix2pixsize, pix2pixsize), interpolation=cv2.INTER_CUBIC)
+
+ # Merging the patch estimation into the base estimate using our merge network:
+ # We feed the patch estimation and the same region from the updated base estimate to the merge network
+ # to generate the target estimate for the corresponding region.
+ pix2pixmodel.set_input(patch_whole_estimate_base, patch_estimation)
+
+ # Run merging network
+ pix2pixmodel.test()
+ visuals = pix2pixmodel.get_current_visuals()
+
+ prediction_mapped = visuals['fake_B']
+ prediction_mapped = (prediction_mapped+1)/2
+ prediction_mapped = prediction_mapped.squeeze().cpu().numpy()
+
+ mapped = prediction_mapped
+
+ # We use a simple linear polynomial to make sure the result of the merge network would match the values of
+ # base estimate
+ p_coef = np.polyfit(mapped.reshape(-1), patch_whole_estimate_base.reshape(-1), deg=1)
+ merged = np.polyval(p_coef, mapped.reshape(-1)).reshape(mapped.shape)
+
+ merged = cv2.resize(merged, (org_size[1],org_size[0]), interpolation=cv2.INTER_CUBIC)
+
+ # Get patch size and location
+ w1 = rect[0]
+ h1 = rect[1]
+ w2 = w1 + rect[2]
+ h2 = h1 + rect[3]
+
+ # To speed up the implementation, we only generate the Gaussian mask once with a sufficiently large size
+ # and resize it to our needed size while merging the patches.
+ if mask.shape != org_size:
+ mask = cv2.resize(mask_org, (org_size[1],org_size[0]), interpolation=cv2.INTER_LINEAR)
+
+ tobemergedto = imageandpatchs.estimation_updated_image
+
+ # Update the whole estimation:
+ # We use a simple Gaussian mask to blend the merged patch region with the base estimate to ensure seamless
+ # blending at the boundaries of the patch region.
+ tobemergedto[h1:h2, w1:w2] = np.multiply(tobemergedto[h1:h2, w1:w2], 1 - mask) + np.multiply(merged, mask)
+ imageandpatchs.set_updated_estimate(tobemergedto)
+
+ # output
+ return cv2.resize(imageandpatchs.estimation_updated_image, (input_resolution[1], input_resolution[0]), interpolation=cv2.INTER_CUBIC)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/leres/multi_depth_model_woauxi.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/leres/multi_depth_model_woauxi.py
new file mode 100644
index 0000000000000000000000000000000000000000..822ab0893267042446c2a24ed35b4ea053c9914a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/leres/multi_depth_model_woauxi.py
@@ -0,0 +1,34 @@
+from . import network_auxi as network
+from .net_tools import get_func
+import torch
+import torch.nn as nn
+from modules import devices
+
+class RelDepthModel(nn.Module):
+ def __init__(self, backbone='resnet50'):
+ super(RelDepthModel, self).__init__()
+ if backbone == 'resnet50':
+ encoder = 'resnet50_stride32'
+ elif backbone == 'resnext101':
+ encoder = 'resnext101_stride32x8d'
+ self.depth_model = DepthModel(encoder)
+
+ def inference(self, rgb):
+ with torch.no_grad():
+ input = rgb.to(self.depth_model.device)
+ depth = self.depth_model(input)
+ #pred_depth_out = depth - depth.min() + 0.01
+ return depth #pred_depth_out
+
+
+class DepthModel(nn.Module):
+ def __init__(self, encoder):
+ super(DepthModel, self).__init__()
+ backbone = network.__name__.split('.')[-1] + '.' + encoder
+ self.encoder_modules = get_func(backbone)()
+ self.decoder_modules = network.Decoder()
+
+ def forward(self, x):
+ lateral_out = self.encoder_modules(x)
+ out_logit = self.decoder_modules(lateral_out)
+ return out_logit
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/leres/net_tools.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/leres/net_tools.py
new file mode 100644
index 0000000000000000000000000000000000000000..745ba5a0ef19adb869525e6b252db86780b8126e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/leres/net_tools.py
@@ -0,0 +1,54 @@
+import importlib
+import torch
+import os
+from collections import OrderedDict
+
+
+def get_func(func_name):
+ """Helper to return a function object by name. func_name must identify a
+ function in this module or the path to a function relative to the base
+ 'modeling' module.
+ """
+ if func_name == '':
+ return None
+ try:
+ parts = func_name.split('.')
+ # Refers to a function in this module
+ if len(parts) == 1:
+ return globals()[parts[0]]
+ # Otherwise, assume we're referencing a module under modeling
+ module_name = 'annotator.leres.leres.' + '.'.join(parts[:-1])
+ module = importlib.import_module(module_name)
+ return getattr(module, parts[-1])
+ except Exception:
+ print('Failed to f1ind function: %s', func_name)
+ raise
+
+def load_ckpt(args, depth_model, shift_model, focal_model):
+ """
+ Load checkpoint.
+ """
+ if os.path.isfile(args.load_ckpt):
+ print("loading checkpoint %s" % args.load_ckpt)
+ checkpoint = torch.load(args.load_ckpt)
+ if shift_model is not None:
+ shift_model.load_state_dict(strip_prefix_if_present(checkpoint['shift_model'], 'module.'),
+ strict=True)
+ if focal_model is not None:
+ focal_model.load_state_dict(strip_prefix_if_present(checkpoint['focal_model'], 'module.'),
+ strict=True)
+ depth_model.load_state_dict(strip_prefix_if_present(checkpoint['depth_model'], "module."),
+ strict=True)
+ del checkpoint
+ if torch.cuda.is_available():
+ torch.cuda.empty_cache()
+
+
+def strip_prefix_if_present(state_dict, prefix):
+ keys = sorted(state_dict.keys())
+ if not all(key.startswith(prefix) for key in keys):
+ return state_dict
+ stripped_state_dict = OrderedDict()
+ for key, value in state_dict.items():
+ stripped_state_dict[key.replace(prefix, "")] = value
+ return stripped_state_dict
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/leres/network_auxi.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/leres/network_auxi.py
new file mode 100644
index 0000000000000000000000000000000000000000..1bd87011a5339aca632d1a10b217c8737bdc794f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/leres/network_auxi.py
@@ -0,0 +1,417 @@
+import torch
+import torch.nn as nn
+import torch.nn.init as init
+
+from . import Resnet, Resnext_torch
+
+
+def resnet50_stride32():
+ return DepthNet(backbone='resnet', depth=50, upfactors=[2, 2, 2, 2])
+
+def resnext101_stride32x8d():
+ return DepthNet(backbone='resnext101_32x8d', depth=101, upfactors=[2, 2, 2, 2])
+
+
+class Decoder(nn.Module):
+ def __init__(self):
+ super(Decoder, self).__init__()
+ self.inchannels = [256, 512, 1024, 2048]
+ self.midchannels = [256, 256, 256, 512]
+ self.upfactors = [2,2,2,2]
+ self.outchannels = 1
+
+ self.conv = FTB(inchannels=self.inchannels[3], midchannels=self.midchannels[3])
+ self.conv1 = nn.Conv2d(in_channels=self.midchannels[3], out_channels=self.midchannels[2], kernel_size=3, padding=1, stride=1, bias=True)
+ self.upsample = nn.Upsample(scale_factor=self.upfactors[3], mode='bilinear', align_corners=True)
+
+ self.ffm2 = FFM(inchannels=self.inchannels[2], midchannels=self.midchannels[2], outchannels = self.midchannels[2], upfactor=self.upfactors[2])
+ self.ffm1 = FFM(inchannels=self.inchannels[1], midchannels=self.midchannels[1], outchannels = self.midchannels[1], upfactor=self.upfactors[1])
+ self.ffm0 = FFM(inchannels=self.inchannels[0], midchannels=self.midchannels[0], outchannels = self.midchannels[0], upfactor=self.upfactors[0])
+
+ self.outconv = AO(inchannels=self.midchannels[0], outchannels=self.outchannels, upfactor=2)
+ self._init_params()
+
+ def _init_params(self):
+ for m in self.modules():
+ if isinstance(m, nn.Conv2d):
+ init.normal_(m.weight, std=0.01)
+ if m.bias is not None:
+ init.constant_(m.bias, 0)
+ elif isinstance(m, nn.ConvTranspose2d):
+ init.normal_(m.weight, std=0.01)
+ if m.bias is not None:
+ init.constant_(m.bias, 0)
+ elif isinstance(m, nn.BatchNorm2d): #NN.BatchNorm2d
+ init.constant_(m.weight, 1)
+ init.constant_(m.bias, 0)
+ elif isinstance(m, nn.Linear):
+ init.normal_(m.weight, std=0.01)
+ if m.bias is not None:
+ init.constant_(m.bias, 0)
+
+ def forward(self, features):
+ x_32x = self.conv(features[3]) # 1/32
+ x_32 = self.conv1(x_32x)
+ x_16 = self.upsample(x_32) # 1/16
+
+ x_8 = self.ffm2(features[2], x_16) # 1/8
+ x_4 = self.ffm1(features[1], x_8) # 1/4
+ x_2 = self.ffm0(features[0], x_4) # 1/2
+ #-----------------------------------------
+ x = self.outconv(x_2) # original size
+ return x
+
+class DepthNet(nn.Module):
+ __factory = {
+ 18: Resnet.resnet18,
+ 34: Resnet.resnet34,
+ 50: Resnet.resnet50,
+ 101: Resnet.resnet101,
+ 152: Resnet.resnet152
+ }
+ def __init__(self,
+ backbone='resnet',
+ depth=50,
+ upfactors=[2, 2, 2, 2]):
+ super(DepthNet, self).__init__()
+ self.backbone = backbone
+ self.depth = depth
+ self.pretrained = False
+ self.inchannels = [256, 512, 1024, 2048]
+ self.midchannels = [256, 256, 256, 512]
+ self.upfactors = upfactors
+ self.outchannels = 1
+
+ # Build model
+ if self.backbone == 'resnet':
+ if self.depth not in DepthNet.__factory:
+ raise KeyError("Unsupported depth:", self.depth)
+ self.encoder = DepthNet.__factory[depth](pretrained=self.pretrained)
+ elif self.backbone == 'resnext101_32x8d':
+ self.encoder = Resnext_torch.resnext101_32x8d(pretrained=self.pretrained)
+ else:
+ self.encoder = Resnext_torch.resnext101(pretrained=self.pretrained)
+
+ def forward(self, x):
+ x = self.encoder(x) # 1/32, 1/16, 1/8, 1/4
+ return x
+
+
+class FTB(nn.Module):
+ def __init__(self, inchannels, midchannels=512):
+ super(FTB, self).__init__()
+ self.in1 = inchannels
+ self.mid = midchannels
+ self.conv1 = nn.Conv2d(in_channels=self.in1, out_channels=self.mid, kernel_size=3, padding=1, stride=1,
+ bias=True)
+ # NN.BatchNorm2d
+ self.conv_branch = nn.Sequential(nn.ReLU(inplace=True), \
+ nn.Conv2d(in_channels=self.mid, out_channels=self.mid, kernel_size=3,
+ padding=1, stride=1, bias=True), \
+ nn.BatchNorm2d(num_features=self.mid), \
+ nn.ReLU(inplace=True), \
+ nn.Conv2d(in_channels=self.mid, out_channels=self.mid, kernel_size=3,
+ padding=1, stride=1, bias=True))
+ self.relu = nn.ReLU(inplace=True)
+
+ self.init_params()
+
+ def forward(self, x):
+ x = self.conv1(x)
+ x = x + self.conv_branch(x)
+ x = self.relu(x)
+
+ return x
+
+ def init_params(self):
+ for m in self.modules():
+ if isinstance(m, nn.Conv2d):
+ init.normal_(m.weight, std=0.01)
+ if m.bias is not None:
+ init.constant_(m.bias, 0)
+ elif isinstance(m, nn.ConvTranspose2d):
+ # init.kaiming_normal_(m.weight, mode='fan_out')
+ init.normal_(m.weight, std=0.01)
+ # init.xavier_normal_(m.weight)
+ if m.bias is not None:
+ init.constant_(m.bias, 0)
+ elif isinstance(m, nn.BatchNorm2d): # NN.BatchNorm2d
+ init.constant_(m.weight, 1)
+ init.constant_(m.bias, 0)
+ elif isinstance(m, nn.Linear):
+ init.normal_(m.weight, std=0.01)
+ if m.bias is not None:
+ init.constant_(m.bias, 0)
+
+
+class ATA(nn.Module):
+ def __init__(self, inchannels, reduction=8):
+ super(ATA, self).__init__()
+ self.inchannels = inchannels
+ self.avg_pool = nn.AdaptiveAvgPool2d(1)
+ self.fc = nn.Sequential(nn.Linear(self.inchannels * 2, self.inchannels // reduction),
+ nn.ReLU(inplace=True),
+ nn.Linear(self.inchannels // reduction, self.inchannels),
+ nn.Sigmoid())
+ self.init_params()
+
+ def forward(self, low_x, high_x):
+ n, c, _, _ = low_x.size()
+ x = torch.cat([low_x, high_x], 1)
+ x = self.avg_pool(x)
+ x = x.view(n, -1)
+ x = self.fc(x).view(n, c, 1, 1)
+ x = low_x * x + high_x
+
+ return x
+
+ def init_params(self):
+ for m in self.modules():
+ if isinstance(m, nn.Conv2d):
+ # init.kaiming_normal_(m.weight, mode='fan_out')
+ # init.normal(m.weight, std=0.01)
+ init.xavier_normal_(m.weight)
+ if m.bias is not None:
+ init.constant_(m.bias, 0)
+ elif isinstance(m, nn.ConvTranspose2d):
+ # init.kaiming_normal_(m.weight, mode='fan_out')
+ # init.normal_(m.weight, std=0.01)
+ init.xavier_normal_(m.weight)
+ if m.bias is not None:
+ init.constant_(m.bias, 0)
+ elif isinstance(m, nn.BatchNorm2d): # NN.BatchNorm2d
+ init.constant_(m.weight, 1)
+ init.constant_(m.bias, 0)
+ elif isinstance(m, nn.Linear):
+ init.normal_(m.weight, std=0.01)
+ if m.bias is not None:
+ init.constant_(m.bias, 0)
+
+
+class FFM(nn.Module):
+ def __init__(self, inchannels, midchannels, outchannels, upfactor=2):
+ super(FFM, self).__init__()
+ self.inchannels = inchannels
+ self.midchannels = midchannels
+ self.outchannels = outchannels
+ self.upfactor = upfactor
+
+ self.ftb1 = FTB(inchannels=self.inchannels, midchannels=self.midchannels)
+ # self.ata = ATA(inchannels = self.midchannels)
+ self.ftb2 = FTB(inchannels=self.midchannels, midchannels=self.outchannels)
+
+ self.upsample = nn.Upsample(scale_factor=self.upfactor, mode='bilinear', align_corners=True)
+
+ self.init_params()
+
+ def forward(self, low_x, high_x):
+ x = self.ftb1(low_x)
+ x = x + high_x
+ x = self.ftb2(x)
+ x = self.upsample(x)
+
+ return x
+
+ def init_params(self):
+ for m in self.modules():
+ if isinstance(m, nn.Conv2d):
+ # init.kaiming_normal_(m.weight, mode='fan_out')
+ init.normal_(m.weight, std=0.01)
+ # init.xavier_normal_(m.weight)
+ if m.bias is not None:
+ init.constant_(m.bias, 0)
+ elif isinstance(m, nn.ConvTranspose2d):
+ # init.kaiming_normal_(m.weight, mode='fan_out')
+ init.normal_(m.weight, std=0.01)
+ # init.xavier_normal_(m.weight)
+ if m.bias is not None:
+ init.constant_(m.bias, 0)
+ elif isinstance(m, nn.BatchNorm2d): # NN.Batchnorm2d
+ init.constant_(m.weight, 1)
+ init.constant_(m.bias, 0)
+ elif isinstance(m, nn.Linear):
+ init.normal_(m.weight, std=0.01)
+ if m.bias is not None:
+ init.constant_(m.bias, 0)
+
+
+class AO(nn.Module):
+ # Adaptive output module
+ def __init__(self, inchannels, outchannels, upfactor=2):
+ super(AO, self).__init__()
+ self.inchannels = inchannels
+ self.outchannels = outchannels
+ self.upfactor = upfactor
+
+ self.adapt_conv = nn.Sequential(
+ nn.Conv2d(in_channels=self.inchannels, out_channels=self.inchannels // 2, kernel_size=3, padding=1,
+ stride=1, bias=True), \
+ nn.BatchNorm2d(num_features=self.inchannels // 2), \
+ nn.ReLU(inplace=True), \
+ nn.Conv2d(in_channels=self.inchannels // 2, out_channels=self.outchannels, kernel_size=3, padding=1,
+ stride=1, bias=True), \
+ nn.Upsample(scale_factor=self.upfactor, mode='bilinear', align_corners=True))
+
+ self.init_params()
+
+ def forward(self, x):
+ x = self.adapt_conv(x)
+ return x
+
+ def init_params(self):
+ for m in self.modules():
+ if isinstance(m, nn.Conv2d):
+ # init.kaiming_normal_(m.weight, mode='fan_out')
+ init.normal_(m.weight, std=0.01)
+ # init.xavier_normal_(m.weight)
+ if m.bias is not None:
+ init.constant_(m.bias, 0)
+ elif isinstance(m, nn.ConvTranspose2d):
+ # init.kaiming_normal_(m.weight, mode='fan_out')
+ init.normal_(m.weight, std=0.01)
+ # init.xavier_normal_(m.weight)
+ if m.bias is not None:
+ init.constant_(m.bias, 0)
+ elif isinstance(m, nn.BatchNorm2d): # NN.Batchnorm2d
+ init.constant_(m.weight, 1)
+ init.constant_(m.bias, 0)
+ elif isinstance(m, nn.Linear):
+ init.normal_(m.weight, std=0.01)
+ if m.bias is not None:
+ init.constant_(m.bias, 0)
+
+
+
+# ==============================================================================================================
+
+
+class ResidualConv(nn.Module):
+ def __init__(self, inchannels):
+ super(ResidualConv, self).__init__()
+ # NN.BatchNorm2d
+ self.conv = nn.Sequential(
+ # nn.BatchNorm2d(num_features=inchannels),
+ nn.ReLU(inplace=False),
+ # nn.Conv2d(in_channels=inchannels, out_channels=inchannels, kernel_size=3, padding=1, stride=1, groups=inchannels,bias=True),
+ # nn.Conv2d(in_channels=inchannels, out_channels=inchannels, kernel_size=1, padding=0, stride=1, groups=1,bias=True)
+ nn.Conv2d(in_channels=inchannels, out_channels=inchannels / 2, kernel_size=3, padding=1, stride=1,
+ bias=False),
+ nn.BatchNorm2d(num_features=inchannels / 2),
+ nn.ReLU(inplace=False),
+ nn.Conv2d(in_channels=inchannels / 2, out_channels=inchannels, kernel_size=3, padding=1, stride=1,
+ bias=False)
+ )
+ self.init_params()
+
+ def forward(self, x):
+ x = self.conv(x) + x
+ return x
+
+ def init_params(self):
+ for m in self.modules():
+ if isinstance(m, nn.Conv2d):
+ # init.kaiming_normal_(m.weight, mode='fan_out')
+ init.normal_(m.weight, std=0.01)
+ # init.xavier_normal_(m.weight)
+ if m.bias is not None:
+ init.constant_(m.bias, 0)
+ elif isinstance(m, nn.ConvTranspose2d):
+ # init.kaiming_normal_(m.weight, mode='fan_out')
+ init.normal_(m.weight, std=0.01)
+ # init.xavier_normal_(m.weight)
+ if m.bias is not None:
+ init.constant_(m.bias, 0)
+ elif isinstance(m, nn.BatchNorm2d): # NN.BatchNorm2d
+ init.constant_(m.weight, 1)
+ init.constant_(m.bias, 0)
+ elif isinstance(m, nn.Linear):
+ init.normal_(m.weight, std=0.01)
+ if m.bias is not None:
+ init.constant_(m.bias, 0)
+
+
+class FeatureFusion(nn.Module):
+ def __init__(self, inchannels, outchannels):
+ super(FeatureFusion, self).__init__()
+ self.conv = ResidualConv(inchannels=inchannels)
+ # NN.BatchNorm2d
+ self.up = nn.Sequential(ResidualConv(inchannels=inchannels),
+ nn.ConvTranspose2d(in_channels=inchannels, out_channels=outchannels, kernel_size=3,
+ stride=2, padding=1, output_padding=1),
+ nn.BatchNorm2d(num_features=outchannels),
+ nn.ReLU(inplace=True))
+
+ def forward(self, lowfeat, highfeat):
+ return self.up(highfeat + self.conv(lowfeat))
+
+ def init_params(self):
+ for m in self.modules():
+ if isinstance(m, nn.Conv2d):
+ # init.kaiming_normal_(m.weight, mode='fan_out')
+ init.normal_(m.weight, std=0.01)
+ # init.xavier_normal_(m.weight)
+ if m.bias is not None:
+ init.constant_(m.bias, 0)
+ elif isinstance(m, nn.ConvTranspose2d):
+ # init.kaiming_normal_(m.weight, mode='fan_out')
+ init.normal_(m.weight, std=0.01)
+ # init.xavier_normal_(m.weight)
+ if m.bias is not None:
+ init.constant_(m.bias, 0)
+ elif isinstance(m, nn.BatchNorm2d): # NN.BatchNorm2d
+ init.constant_(m.weight, 1)
+ init.constant_(m.bias, 0)
+ elif isinstance(m, nn.Linear):
+ init.normal_(m.weight, std=0.01)
+ if m.bias is not None:
+ init.constant_(m.bias, 0)
+
+
+class SenceUnderstand(nn.Module):
+ def __init__(self, channels):
+ super(SenceUnderstand, self).__init__()
+ self.channels = channels
+ self.conv1 = nn.Sequential(nn.Conv2d(in_channels=512, out_channels=512, kernel_size=3, padding=1),
+ nn.ReLU(inplace=True))
+ self.pool = nn.AdaptiveAvgPool2d(8)
+ self.fc = nn.Sequential(nn.Linear(512 * 8 * 8, self.channels),
+ nn.ReLU(inplace=True))
+ self.conv2 = nn.Sequential(
+ nn.Conv2d(in_channels=self.channels, out_channels=self.channels, kernel_size=1, padding=0),
+ nn.ReLU(inplace=True))
+ self.initial_params()
+
+ def forward(self, x):
+ n, c, h, w = x.size()
+ x = self.conv1(x)
+ x = self.pool(x)
+ x = x.view(n, -1)
+ x = self.fc(x)
+ x = x.view(n, self.channels, 1, 1)
+ x = self.conv2(x)
+ x = x.repeat(1, 1, h, w)
+ return x
+
+ def initial_params(self, dev=0.01):
+ for m in self.modules():
+ if isinstance(m, nn.Conv2d):
+ # print torch.sum(m.weight)
+ m.weight.data.normal_(0, dev)
+ if m.bias is not None:
+ m.bias.data.fill_(0)
+ elif isinstance(m, nn.ConvTranspose2d):
+ # print torch.sum(m.weight)
+ m.weight.data.normal_(0, dev)
+ if m.bias is not None:
+ m.bias.data.fill_(0)
+ elif isinstance(m, nn.Linear):
+ m.weight.data.normal_(0, dev)
+
+
+if __name__ == '__main__':
+ net = DepthNet(depth=50, pretrained=True)
+ print(net)
+ inputs = torch.ones(4,3,128,128)
+ out = net(inputs)
+ print(out.size())
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/LICENSE b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/LICENSE
new file mode 100644
index 0000000000000000000000000000000000000000..38b1a24fd389a138b930dcf1ee606ef97a0186c8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/LICENSE
@@ -0,0 +1,19 @@
+https://github.com/compphoto/BoostingMonocularDepth
+
+Copyright 2021, Seyed Mahdi Hosseini Miangoleh, Sebastian Dille, Computational Photography Laboratory. All rights reserved.
+
+This software is for academic use only. A redistribution of this
+software, with or without modifications, has to be for academic
+use only, while giving the appropriate credit to the original
+authors of the software. The methods implemented as a part of
+this software may be covered under patents or patent applications.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/models/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/models/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..f96e5c7f032f2154c6bb433b68fc968d0a19b5a8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/models/__init__.py
@@ -0,0 +1,67 @@
+"""This package contains modules related to objective functions, optimizations, and network architectures.
+
+To add a custom model class called 'dummy', you need to add a file called 'dummy_model.py' and define a subclass DummyModel inherited from BaseModel.
+You need to implement the following five functions:
+ -- <__init__>: initialize the class; first call BaseModel.__init__(self, opt).
+ -- : unpack data from dataset and apply preprocessing.
+ -- : produce intermediate results.
+ -- : calculate loss, gradients, and update network weights.
+ -- : (optionally) add model-specific options and set default options.
+
+In the function <__init__>, you need to define four lists:
+ -- self.loss_names (str list): specify the training losses that you want to plot and save.
+ -- self.model_names (str list): define networks used in our training.
+ -- self.visual_names (str list): specify the images that you want to display and save.
+ -- self.optimizers (optimizer list): define and initialize optimizers. You can define one optimizer for each network. If two networks are updated at the same time, you can use itertools.chain to group them. See cycle_gan_model.py for an usage.
+
+Now you can use the model class by specifying flag '--model dummy'.
+See our template model class 'template_model.py' for more details.
+"""
+
+import importlib
+from .base_model import BaseModel
+
+
+def find_model_using_name(model_name):
+ """Import the module "models/[model_name]_model.py".
+
+ In the file, the class called DatasetNameModel() will
+ be instantiated. It has to be a subclass of BaseModel,
+ and it is case-insensitive.
+ """
+ model_filename = "annotator.leres.pix2pix.models." + model_name + "_model"
+ modellib = importlib.import_module(model_filename)
+ model = None
+ target_model_name = model_name.replace('_', '') + 'model'
+ for name, cls in modellib.__dict__.items():
+ if name.lower() == target_model_name.lower() \
+ and issubclass(cls, BaseModel):
+ model = cls
+
+ if model is None:
+ print("In %s.py, there should be a subclass of BaseModel with class name that matches %s in lowercase." % (model_filename, target_model_name))
+ exit(0)
+
+ return model
+
+
+def get_option_setter(model_name):
+ """Return the static method of the model class."""
+ model_class = find_model_using_name(model_name)
+ return model_class.modify_commandline_options
+
+
+def create_model(opt):
+ """Create a model given the option.
+
+ This function warps the class CustomDatasetDataLoader.
+ This is the main interface between this package and 'train.py'/'test.py'
+
+ Example:
+ >>> from models import create_model
+ >>> model = create_model(opt)
+ """
+ model = find_model_using_name(opt.model)
+ instance = model(opt)
+ print("model [%s] was created" % type(instance).__name__)
+ return instance
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/models/base_model.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/models/base_model.py
new file mode 100644
index 0000000000000000000000000000000000000000..a90c5f832404bc44ef247b42a72988a37fc834cb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/models/base_model.py
@@ -0,0 +1,241 @@
+import os
+import torch, gc
+from modules import devices
+from collections import OrderedDict
+from abc import ABC, abstractmethod
+from . import networks
+
+
+class BaseModel(ABC):
+ """This class is an abstract base class (ABC) for models.
+ To create a subclass, you need to implement the following five functions:
+ -- <__init__>: initialize the class; first call BaseModel.__init__(self, opt).
+ -- : unpack data from dataset and apply preprocessing.
+ -- : produce intermediate results.
+ -- : calculate losses, gradients, and update network weights.
+ -- : (optionally) add model-specific options and set default options.
+ """
+
+ def __init__(self, opt):
+ """Initialize the BaseModel class.
+
+ Parameters:
+ opt (Option class)-- stores all the experiment flags; needs to be a subclass of BaseOptions
+
+ When creating your custom class, you need to implement your own initialization.
+ In this function, you should first call
+ Then, you need to define four lists:
+ -- self.loss_names (str list): specify the training losses that you want to plot and save.
+ -- self.model_names (str list): define networks used in our training.
+ -- self.visual_names (str list): specify the images that you want to display and save.
+ -- self.optimizers (optimizer list): define and initialize optimizers. You can define one optimizer for each network. If two networks are updated at the same time, you can use itertools.chain to group them. See cycle_gan_model.py for an example.
+ """
+ self.opt = opt
+ self.gpu_ids = opt.gpu_ids
+ self.isTrain = opt.isTrain
+ self.device = torch.device('cuda:{}'.format(self.gpu_ids[0])) if self.gpu_ids else torch.device('cpu') # get device name: CPU or GPU
+ self.save_dir = os.path.join(opt.checkpoints_dir, opt.name) # save all the checkpoints to save_dir
+ if opt.preprocess != 'scale_width': # with [scale_width], input images might have different sizes, which hurts the performance of cudnn.benchmark.
+ torch.backends.cudnn.benchmark = True
+ self.loss_names = []
+ self.model_names = []
+ self.visual_names = []
+ self.optimizers = []
+ self.image_paths = []
+ self.metric = 0 # used for learning rate policy 'plateau'
+
+ @staticmethod
+ def modify_commandline_options(parser, is_train):
+ """Add new model-specific options, and rewrite default values for existing options.
+
+ Parameters:
+ parser -- original option parser
+ is_train (bool) -- whether training phase or test phase. You can use this flag to add training-specific or test-specific options.
+
+ Returns:
+ the modified parser.
+ """
+ return parser
+
+ @abstractmethod
+ def set_input(self, input):
+ """Unpack input data from the dataloader and perform necessary pre-processing steps.
+
+ Parameters:
+ input (dict): includes the data itself and its metadata information.
+ """
+ pass
+
+ @abstractmethod
+ def forward(self):
+ """Run forward pass; called by both functions and ."""
+ pass
+
+ @abstractmethod
+ def optimize_parameters(self):
+ """Calculate losses, gradients, and update network weights; called in every training iteration"""
+ pass
+
+ def setup(self, opt):
+ """Load and print networks; create schedulers
+
+ Parameters:
+ opt (Option class) -- stores all the experiment flags; needs to be a subclass of BaseOptions
+ """
+ if self.isTrain:
+ self.schedulers = [networks.get_scheduler(optimizer, opt) for optimizer in self.optimizers]
+ if not self.isTrain or opt.continue_train:
+ load_suffix = 'iter_%d' % opt.load_iter if opt.load_iter > 0 else opt.epoch
+ self.load_networks(load_suffix)
+ self.print_networks(opt.verbose)
+
+ def eval(self):
+ """Make models eval mode during test time"""
+ for name in self.model_names:
+ if isinstance(name, str):
+ net = getattr(self, 'net' + name)
+ net.eval()
+
+ def test(self):
+ """Forward function used in test time.
+
+ This function wraps function in no_grad() so we don't save intermediate steps for backprop
+ It also calls to produce additional visualization results
+ """
+ with torch.no_grad():
+ self.forward()
+ self.compute_visuals()
+
+ def compute_visuals(self):
+ """Calculate additional output images for visdom and HTML visualization"""
+ pass
+
+ def get_image_paths(self):
+ """ Return image paths that are used to load current data"""
+ return self.image_paths
+
+ def update_learning_rate(self):
+ """Update learning rates for all the networks; called at the end of every epoch"""
+ old_lr = self.optimizers[0].param_groups[0]['lr']
+ for scheduler in self.schedulers:
+ if self.opt.lr_policy == 'plateau':
+ scheduler.step(self.metric)
+ else:
+ scheduler.step()
+
+ lr = self.optimizers[0].param_groups[0]['lr']
+ print('learning rate %.7f -> %.7f' % (old_lr, lr))
+
+ def get_current_visuals(self):
+ """Return visualization images. train.py will display these images with visdom, and save the images to a HTML"""
+ visual_ret = OrderedDict()
+ for name in self.visual_names:
+ if isinstance(name, str):
+ visual_ret[name] = getattr(self, name)
+ return visual_ret
+
+ def get_current_losses(self):
+ """Return traning losses / errors. train.py will print out these errors on console, and save them to a file"""
+ errors_ret = OrderedDict()
+ for name in self.loss_names:
+ if isinstance(name, str):
+ errors_ret[name] = float(getattr(self, 'loss_' + name)) # float(...) works for both scalar tensor and float number
+ return errors_ret
+
+ def save_networks(self, epoch):
+ """Save all the networks to the disk.
+
+ Parameters:
+ epoch (int) -- current epoch; used in the file name '%s_net_%s.pth' % (epoch, name)
+ """
+ for name in self.model_names:
+ if isinstance(name, str):
+ save_filename = '%s_net_%s.pth' % (epoch, name)
+ save_path = os.path.join(self.save_dir, save_filename)
+ net = getattr(self, 'net' + name)
+
+ if len(self.gpu_ids) > 0 and torch.cuda.is_available():
+ torch.save(net.module.cpu().state_dict(), save_path)
+ net.cuda(self.gpu_ids[0])
+ else:
+ torch.save(net.cpu().state_dict(), save_path)
+
+ def unload_network(self, name):
+ """Unload network and gc.
+ """
+ if isinstance(name, str):
+ net = getattr(self, 'net' + name)
+ del net
+ gc.collect()
+ devices.torch_gc()
+ return None
+
+ def __patch_instance_norm_state_dict(self, state_dict, module, keys, i=0):
+ """Fix InstanceNorm checkpoints incompatibility (prior to 0.4)"""
+ key = keys[i]
+ if i + 1 == len(keys): # at the end, pointing to a parameter/buffer
+ if module.__class__.__name__.startswith('InstanceNorm') and \
+ (key == 'running_mean' or key == 'running_var'):
+ if getattr(module, key) is None:
+ state_dict.pop('.'.join(keys))
+ if module.__class__.__name__.startswith('InstanceNorm') and \
+ (key == 'num_batches_tracked'):
+ state_dict.pop('.'.join(keys))
+ else:
+ self.__patch_instance_norm_state_dict(state_dict, getattr(module, key), keys, i + 1)
+
+ def load_networks(self, epoch):
+ """Load all the networks from the disk.
+
+ Parameters:
+ epoch (int) -- current epoch; used in the file name '%s_net_%s.pth' % (epoch, name)
+ """
+ for name in self.model_names:
+ if isinstance(name, str):
+ load_filename = '%s_net_%s.pth' % (epoch, name)
+ load_path = os.path.join(self.save_dir, load_filename)
+ net = getattr(self, 'net' + name)
+ if isinstance(net, torch.nn.DataParallel):
+ net = net.module
+ # print('Loading depth boost model from %s' % load_path)
+ # if you are using PyTorch newer than 0.4 (e.g., built from
+ # GitHub source), you can remove str() on self.device
+ state_dict = torch.load(load_path, map_location=str(self.device))
+ if hasattr(state_dict, '_metadata'):
+ del state_dict._metadata
+
+ # patch InstanceNorm checkpoints prior to 0.4
+ for key in list(state_dict.keys()): # need to copy keys here because we mutate in loop
+ self.__patch_instance_norm_state_dict(state_dict, net, key.split('.'))
+ net.load_state_dict(state_dict)
+
+ def print_networks(self, verbose):
+ """Print the total number of parameters in the network and (if verbose) network architecture
+
+ Parameters:
+ verbose (bool) -- if verbose: print the network architecture
+ """
+ print('---------- Networks initialized -------------')
+ for name in self.model_names:
+ if isinstance(name, str):
+ net = getattr(self, 'net' + name)
+ num_params = 0
+ for param in net.parameters():
+ num_params += param.numel()
+ if verbose:
+ print(net)
+ print('[Network %s] Total number of parameters : %.3f M' % (name, num_params / 1e6))
+ print('-----------------------------------------------')
+
+ def set_requires_grad(self, nets, requires_grad=False):
+ """Set requies_grad=Fasle for all the networks to avoid unnecessary computations
+ Parameters:
+ nets (network list) -- a list of networks
+ requires_grad (bool) -- whether the networks require gradients or not
+ """
+ if not isinstance(nets, list):
+ nets = [nets]
+ for net in nets:
+ if net is not None:
+ for param in net.parameters():
+ param.requires_grad = requires_grad
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/models/base_model_hg.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/models/base_model_hg.py
new file mode 100644
index 0000000000000000000000000000000000000000..1709accdf0b048b3793dfd1f58d1b06c35f7b907
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/models/base_model_hg.py
@@ -0,0 +1,58 @@
+import os
+import torch
+
+class BaseModelHG():
+ def name(self):
+ return 'BaseModel'
+
+ def initialize(self, opt):
+ self.opt = opt
+ self.gpu_ids = opt.gpu_ids
+ self.isTrain = opt.isTrain
+ self.Tensor = torch.cuda.FloatTensor if self.gpu_ids else torch.Tensor
+ self.save_dir = os.path.join(opt.checkpoints_dir, opt.name)
+
+ def set_input(self, input):
+ self.input = input
+
+ def forward(self):
+ pass
+
+ # used in test time, no backprop
+ def test(self):
+ pass
+
+ def get_image_paths(self):
+ pass
+
+ def optimize_parameters(self):
+ pass
+
+ def get_current_visuals(self):
+ return self.input
+
+ def get_current_errors(self):
+ return {}
+
+ def save(self, label):
+ pass
+
+ # helper saving function that can be used by subclasses
+ def save_network(self, network, network_label, epoch_label, gpu_ids):
+ save_filename = '_%s_net_%s.pth' % (epoch_label, network_label)
+ save_path = os.path.join(self.save_dir, save_filename)
+ torch.save(network.cpu().state_dict(), save_path)
+ if len(gpu_ids) and torch.cuda.is_available():
+ network.cuda(device_id=gpu_ids[0])
+
+ # helper loading function that can be used by subclasses
+ def load_network(self, network, network_label, epoch_label):
+ save_filename = '%s_net_%s.pth' % (epoch_label, network_label)
+ save_path = os.path.join(self.save_dir, save_filename)
+ print(save_path)
+ model = torch.load(save_path)
+ return model
+ # network.load_state_dict(torch.load(save_path))
+
+ def update_learning_rate():
+ pass
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/models/networks.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/models/networks.py
new file mode 100644
index 0000000000000000000000000000000000000000..0cf912b2973721a02deefd042af621e732bad59f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/models/networks.py
@@ -0,0 +1,623 @@
+import torch
+import torch.nn as nn
+from torch.nn import init
+import functools
+from torch.optim import lr_scheduler
+
+
+###############################################################################
+# Helper Functions
+###############################################################################
+
+
+class Identity(nn.Module):
+ def forward(self, x):
+ return x
+
+
+def get_norm_layer(norm_type='instance'):
+ """Return a normalization layer
+
+ Parameters:
+ norm_type (str) -- the name of the normalization layer: batch | instance | none
+
+ For BatchNorm, we use learnable affine parameters and track running statistics (mean/stddev).
+ For InstanceNorm, we do not use learnable affine parameters. We do not track running statistics.
+ """
+ if norm_type == 'batch':
+ norm_layer = functools.partial(nn.BatchNorm2d, affine=True, track_running_stats=True)
+ elif norm_type == 'instance':
+ norm_layer = functools.partial(nn.InstanceNorm2d, affine=False, track_running_stats=False)
+ elif norm_type == 'none':
+ def norm_layer(x): return Identity()
+ else:
+ raise NotImplementedError('normalization layer [%s] is not found' % norm_type)
+ return norm_layer
+
+
+def get_scheduler(optimizer, opt):
+ """Return a learning rate scheduler
+
+ Parameters:
+ optimizer -- the optimizer of the network
+ opt (option class) -- stores all the experiment flags; needs to be a subclass of BaseOptions.
+ opt.lr_policy is the name of learning rate policy: linear | step | plateau | cosine
+
+ For 'linear', we keep the same learning rate for the first epochs
+ and linearly decay the rate to zero over the next epochs.
+ For other schedulers (step, plateau, and cosine), we use the default PyTorch schedulers.
+ See https://pytorch.org/docs/stable/optim.html for more details.
+ """
+ if opt.lr_policy == 'linear':
+ def lambda_rule(epoch):
+ lr_l = 1.0 - max(0, epoch + opt.epoch_count - opt.n_epochs) / float(opt.n_epochs_decay + 1)
+ return lr_l
+ scheduler = lr_scheduler.LambdaLR(optimizer, lr_lambda=lambda_rule)
+ elif opt.lr_policy == 'step':
+ scheduler = lr_scheduler.StepLR(optimizer, step_size=opt.lr_decay_iters, gamma=0.1)
+ elif opt.lr_policy == 'plateau':
+ scheduler = lr_scheduler.ReduceLROnPlateau(optimizer, mode='min', factor=0.2, threshold=0.01, patience=5)
+ elif opt.lr_policy == 'cosine':
+ scheduler = lr_scheduler.CosineAnnealingLR(optimizer, T_max=opt.n_epochs, eta_min=0)
+ else:
+ return NotImplementedError('learning rate policy [%s] is not implemented', opt.lr_policy)
+ return scheduler
+
+
+def init_weights(net, init_type='normal', init_gain=0.02):
+ """Initialize network weights.
+
+ Parameters:
+ net (network) -- network to be initialized
+ init_type (str) -- the name of an initialization method: normal | xavier | kaiming | orthogonal
+ init_gain (float) -- scaling factor for normal, xavier and orthogonal.
+
+ We use 'normal' in the original pix2pix and CycleGAN paper. But xavier and kaiming might
+ work better for some applications. Feel free to try yourself.
+ """
+ def init_func(m): # define the initialization function
+ classname = m.__class__.__name__
+ if hasattr(m, 'weight') and (classname.find('Conv') != -1 or classname.find('Linear') != -1):
+ if init_type == 'normal':
+ init.normal_(m.weight.data, 0.0, init_gain)
+ elif init_type == 'xavier':
+ init.xavier_normal_(m.weight.data, gain=init_gain)
+ elif init_type == 'kaiming':
+ init.kaiming_normal_(m.weight.data, a=0, mode='fan_in')
+ elif init_type == 'orthogonal':
+ init.orthogonal_(m.weight.data, gain=init_gain)
+ else:
+ raise NotImplementedError('initialization method [%s] is not implemented' % init_type)
+ if hasattr(m, 'bias') and m.bias is not None:
+ init.constant_(m.bias.data, 0.0)
+ elif classname.find('BatchNorm2d') != -1: # BatchNorm Layer's weight is not a matrix; only normal distribution applies.
+ init.normal_(m.weight.data, 1.0, init_gain)
+ init.constant_(m.bias.data, 0.0)
+
+ # print('initialize network with %s' % init_type)
+ net.apply(init_func) # apply the initialization function
+
+
+def init_net(net, init_type='normal', init_gain=0.02, gpu_ids=[]):
+ """Initialize a network: 1. register CPU/GPU device (with multi-GPU support); 2. initialize the network weights
+ Parameters:
+ net (network) -- the network to be initialized
+ init_type (str) -- the name of an initialization method: normal | xavier | kaiming | orthogonal
+ gain (float) -- scaling factor for normal, xavier and orthogonal.
+ gpu_ids (int list) -- which GPUs the network runs on: e.g., 0,1,2
+
+ Return an initialized network.
+ """
+ if len(gpu_ids) > 0:
+ assert(torch.cuda.is_available())
+ net.to(gpu_ids[0])
+ net = torch.nn.DataParallel(net, gpu_ids) # multi-GPUs
+ init_weights(net, init_type, init_gain=init_gain)
+ return net
+
+
+def define_G(input_nc, output_nc, ngf, netG, norm='batch', use_dropout=False, init_type='normal', init_gain=0.02, gpu_ids=[]):
+ """Create a generator
+
+ Parameters:
+ input_nc (int) -- the number of channels in input images
+ output_nc (int) -- the number of channels in output images
+ ngf (int) -- the number of filters in the last conv layer
+ netG (str) -- the architecture's name: resnet_9blocks | resnet_6blocks | unet_256 | unet_128
+ norm (str) -- the name of normalization layers used in the network: batch | instance | none
+ use_dropout (bool) -- if use dropout layers.
+ init_type (str) -- the name of our initialization method.
+ init_gain (float) -- scaling factor for normal, xavier and orthogonal.
+ gpu_ids (int list) -- which GPUs the network runs on: e.g., 0,1,2
+
+ Returns a generator
+
+ Our current implementation provides two types of generators:
+ U-Net: [unet_128] (for 128x128 input images) and [unet_256] (for 256x256 input images)
+ The original U-Net paper: https://arxiv.org/abs/1505.04597
+
+ Resnet-based generator: [resnet_6blocks] (with 6 Resnet blocks) and [resnet_9blocks] (with 9 Resnet blocks)
+ Resnet-based generator consists of several Resnet blocks between a few downsampling/upsampling operations.
+ We adapt Torch code from Justin Johnson's neural style transfer project (https://github.com/jcjohnson/fast-neural-style).
+
+
+ The generator has been initialized by . It uses RELU for non-linearity.
+ """
+ net = None
+ norm_layer = get_norm_layer(norm_type=norm)
+
+ if netG == 'resnet_9blocks':
+ net = ResnetGenerator(input_nc, output_nc, ngf, norm_layer=norm_layer, use_dropout=use_dropout, n_blocks=9)
+ elif netG == 'resnet_6blocks':
+ net = ResnetGenerator(input_nc, output_nc, ngf, norm_layer=norm_layer, use_dropout=use_dropout, n_blocks=6)
+ elif netG == 'resnet_12blocks':
+ net = ResnetGenerator(input_nc, output_nc, ngf, norm_layer=norm_layer, use_dropout=use_dropout, n_blocks=12)
+ elif netG == 'unet_128':
+ net = UnetGenerator(input_nc, output_nc, 7, ngf, norm_layer=norm_layer, use_dropout=use_dropout)
+ elif netG == 'unet_256':
+ net = UnetGenerator(input_nc, output_nc, 8, ngf, norm_layer=norm_layer, use_dropout=use_dropout)
+ elif netG == 'unet_672':
+ net = UnetGenerator(input_nc, output_nc, 5, ngf, norm_layer=norm_layer, use_dropout=use_dropout)
+ elif netG == 'unet_960':
+ net = UnetGenerator(input_nc, output_nc, 6, ngf, norm_layer=norm_layer, use_dropout=use_dropout)
+ elif netG == 'unet_1024':
+ net = UnetGenerator(input_nc, output_nc, 10, ngf, norm_layer=norm_layer, use_dropout=use_dropout)
+ else:
+ raise NotImplementedError('Generator model name [%s] is not recognized' % netG)
+ return init_net(net, init_type, init_gain, gpu_ids)
+
+
+def define_D(input_nc, ndf, netD, n_layers_D=3, norm='batch', init_type='normal', init_gain=0.02, gpu_ids=[]):
+ """Create a discriminator
+
+ Parameters:
+ input_nc (int) -- the number of channels in input images
+ ndf (int) -- the number of filters in the first conv layer
+ netD (str) -- the architecture's name: basic | n_layers | pixel
+ n_layers_D (int) -- the number of conv layers in the discriminator; effective when netD=='n_layers'
+ norm (str) -- the type of normalization layers used in the network.
+ init_type (str) -- the name of the initialization method.
+ init_gain (float) -- scaling factor for normal, xavier and orthogonal.
+ gpu_ids (int list) -- which GPUs the network runs on: e.g., 0,1,2
+
+ Returns a discriminator
+
+ Our current implementation provides three types of discriminators:
+ [basic]: 'PatchGAN' classifier described in the original pix2pix paper.
+ It can classify whether 70×70 overlapping patches are real or fake.
+ Such a patch-level discriminator architecture has fewer parameters
+ than a full-image discriminator and can work on arbitrarily-sized images
+ in a fully convolutional fashion.
+
+ [n_layers]: With this mode, you can specify the number of conv layers in the discriminator
+ with the parameter (default=3 as used in [basic] (PatchGAN).)
+
+ [pixel]: 1x1 PixelGAN discriminator can classify whether a pixel is real or not.
+ It encourages greater color diversity but has no effect on spatial statistics.
+
+ The discriminator has been initialized by . It uses Leakly RELU for non-linearity.
+ """
+ net = None
+ norm_layer = get_norm_layer(norm_type=norm)
+
+ if netD == 'basic': # default PatchGAN classifier
+ net = NLayerDiscriminator(input_nc, ndf, n_layers=3, norm_layer=norm_layer)
+ elif netD == 'n_layers': # more options
+ net = NLayerDiscriminator(input_nc, ndf, n_layers_D, norm_layer=norm_layer)
+ elif netD == 'pixel': # classify if each pixel is real or fake
+ net = PixelDiscriminator(input_nc, ndf, norm_layer=norm_layer)
+ else:
+ raise NotImplementedError('Discriminator model name [%s] is not recognized' % netD)
+ return init_net(net, init_type, init_gain, gpu_ids)
+
+
+##############################################################################
+# Classes
+##############################################################################
+class GANLoss(nn.Module):
+ """Define different GAN objectives.
+
+ The GANLoss class abstracts away the need to create the target label tensor
+ that has the same size as the input.
+ """
+
+ def __init__(self, gan_mode, target_real_label=1.0, target_fake_label=0.0):
+ """ Initialize the GANLoss class.
+
+ Parameters:
+ gan_mode (str) - - the type of GAN objective. It currently supports vanilla, lsgan, and wgangp.
+ target_real_label (bool) - - label for a real image
+ target_fake_label (bool) - - label of a fake image
+
+ Note: Do not use sigmoid as the last layer of Discriminator.
+ LSGAN needs no sigmoid. vanilla GANs will handle it with BCEWithLogitsLoss.
+ """
+ super(GANLoss, self).__init__()
+ self.register_buffer('real_label', torch.tensor(target_real_label))
+ self.register_buffer('fake_label', torch.tensor(target_fake_label))
+ self.gan_mode = gan_mode
+ if gan_mode == 'lsgan':
+ self.loss = nn.MSELoss()
+ elif gan_mode == 'vanilla':
+ self.loss = nn.BCEWithLogitsLoss()
+ elif gan_mode in ['wgangp']:
+ self.loss = None
+ else:
+ raise NotImplementedError('gan mode %s not implemented' % gan_mode)
+
+ def get_target_tensor(self, prediction, target_is_real):
+ """Create label tensors with the same size as the input.
+
+ Parameters:
+ prediction (tensor) - - tpyically the prediction from a discriminator
+ target_is_real (bool) - - if the ground truth label is for real images or fake images
+
+ Returns:
+ A label tensor filled with ground truth label, and with the size of the input
+ """
+
+ if target_is_real:
+ target_tensor = self.real_label
+ else:
+ target_tensor = self.fake_label
+ return target_tensor.expand_as(prediction)
+
+ def __call__(self, prediction, target_is_real):
+ """Calculate loss given Discriminator's output and grount truth labels.
+
+ Parameters:
+ prediction (tensor) - - tpyically the prediction output from a discriminator
+ target_is_real (bool) - - if the ground truth label is for real images or fake images
+
+ Returns:
+ the calculated loss.
+ """
+ if self.gan_mode in ['lsgan', 'vanilla']:
+ target_tensor = self.get_target_tensor(prediction, target_is_real)
+ loss = self.loss(prediction, target_tensor)
+ elif self.gan_mode == 'wgangp':
+ if target_is_real:
+ loss = -prediction.mean()
+ else:
+ loss = prediction.mean()
+ return loss
+
+
+def cal_gradient_penalty(netD, real_data, fake_data, device, type='mixed', constant=1.0, lambda_gp=10.0):
+ """Calculate the gradient penalty loss, used in WGAN-GP paper https://arxiv.org/abs/1704.00028
+
+ Arguments:
+ netD (network) -- discriminator network
+ real_data (tensor array) -- real images
+ fake_data (tensor array) -- generated images from the generator
+ device (str) -- GPU / CPU: from torch.device('cuda:{}'.format(self.gpu_ids[0])) if self.gpu_ids else torch.device('cpu')
+ type (str) -- if we mix real and fake data or not [real | fake | mixed].
+ constant (float) -- the constant used in formula ( ||gradient||_2 - constant)^2
+ lambda_gp (float) -- weight for this loss
+
+ Returns the gradient penalty loss
+ """
+ if lambda_gp > 0.0:
+ if type == 'real': # either use real images, fake images, or a linear interpolation of two.
+ interpolatesv = real_data
+ elif type == 'fake':
+ interpolatesv = fake_data
+ elif type == 'mixed':
+ alpha = torch.rand(real_data.shape[0], 1, device=device)
+ alpha = alpha.expand(real_data.shape[0], real_data.nelement() // real_data.shape[0]).contiguous().view(*real_data.shape)
+ interpolatesv = alpha * real_data + ((1 - alpha) * fake_data)
+ else:
+ raise NotImplementedError('{} not implemented'.format(type))
+ interpolatesv.requires_grad_(True)
+ disc_interpolates = netD(interpolatesv)
+ gradients = torch.autograd.grad(outputs=disc_interpolates, inputs=interpolatesv,
+ grad_outputs=torch.ones(disc_interpolates.size()).to(device),
+ create_graph=True, retain_graph=True, only_inputs=True)
+ gradients = gradients[0].view(real_data.size(0), -1) # flat the data
+ gradient_penalty = (((gradients + 1e-16).norm(2, dim=1) - constant) ** 2).mean() * lambda_gp # added eps
+ return gradient_penalty, gradients
+ else:
+ return 0.0, None
+
+
+class ResnetGenerator(nn.Module):
+ """Resnet-based generator that consists of Resnet blocks between a few downsampling/upsampling operations.
+
+ We adapt Torch code and idea from Justin Johnson's neural style transfer project(https://github.com/jcjohnson/fast-neural-style)
+ """
+
+ def __init__(self, input_nc, output_nc, ngf=64, norm_layer=nn.BatchNorm2d, use_dropout=False, n_blocks=6, padding_type='reflect'):
+ """Construct a Resnet-based generator
+
+ Parameters:
+ input_nc (int) -- the number of channels in input images
+ output_nc (int) -- the number of channels in output images
+ ngf (int) -- the number of filters in the last conv layer
+ norm_layer -- normalization layer
+ use_dropout (bool) -- if use dropout layers
+ n_blocks (int) -- the number of ResNet blocks
+ padding_type (str) -- the name of padding layer in conv layers: reflect | replicate | zero
+ """
+ assert(n_blocks >= 0)
+ super(ResnetGenerator, self).__init__()
+ if type(norm_layer) == functools.partial:
+ use_bias = norm_layer.func == nn.InstanceNorm2d
+ else:
+ use_bias = norm_layer == nn.InstanceNorm2d
+
+ model = [nn.ReflectionPad2d(3),
+ nn.Conv2d(input_nc, ngf, kernel_size=7, padding=0, bias=use_bias),
+ norm_layer(ngf),
+ nn.ReLU(True)]
+
+ n_downsampling = 2
+ for i in range(n_downsampling): # add downsampling layers
+ mult = 2 ** i
+ model += [nn.Conv2d(ngf * mult, ngf * mult * 2, kernel_size=3, stride=2, padding=1, bias=use_bias),
+ norm_layer(ngf * mult * 2),
+ nn.ReLU(True)]
+
+ mult = 2 ** n_downsampling
+ for i in range(n_blocks): # add ResNet blocks
+
+ model += [ResnetBlock(ngf * mult, padding_type=padding_type, norm_layer=norm_layer, use_dropout=use_dropout, use_bias=use_bias)]
+
+ for i in range(n_downsampling): # add upsampling layers
+ mult = 2 ** (n_downsampling - i)
+ model += [nn.ConvTranspose2d(ngf * mult, int(ngf * mult / 2),
+ kernel_size=3, stride=2,
+ padding=1, output_padding=1,
+ bias=use_bias),
+ norm_layer(int(ngf * mult / 2)),
+ nn.ReLU(True)]
+ model += [nn.ReflectionPad2d(3)]
+ model += [nn.Conv2d(ngf, output_nc, kernel_size=7, padding=0)]
+ model += [nn.Tanh()]
+
+ self.model = nn.Sequential(*model)
+
+ def forward(self, input):
+ """Standard forward"""
+ return self.model(input)
+
+
+class ResnetBlock(nn.Module):
+ """Define a Resnet block"""
+
+ def __init__(self, dim, padding_type, norm_layer, use_dropout, use_bias):
+ """Initialize the Resnet block
+
+ A resnet block is a conv block with skip connections
+ We construct a conv block with build_conv_block function,
+ and implement skip connections in function.
+ Original Resnet paper: https://arxiv.org/pdf/1512.03385.pdf
+ """
+ super(ResnetBlock, self).__init__()
+ self.conv_block = self.build_conv_block(dim, padding_type, norm_layer, use_dropout, use_bias)
+
+ def build_conv_block(self, dim, padding_type, norm_layer, use_dropout, use_bias):
+ """Construct a convolutional block.
+
+ Parameters:
+ dim (int) -- the number of channels in the conv layer.
+ padding_type (str) -- the name of padding layer: reflect | replicate | zero
+ norm_layer -- normalization layer
+ use_dropout (bool) -- if use dropout layers.
+ use_bias (bool) -- if the conv layer uses bias or not
+
+ Returns a conv block (with a conv layer, a normalization layer, and a non-linearity layer (ReLU))
+ """
+ conv_block = []
+ p = 0
+ if padding_type == 'reflect':
+ conv_block += [nn.ReflectionPad2d(1)]
+ elif padding_type == 'replicate':
+ conv_block += [nn.ReplicationPad2d(1)]
+ elif padding_type == 'zero':
+ p = 1
+ else:
+ raise NotImplementedError('padding [%s] is not implemented' % padding_type)
+
+ conv_block += [nn.Conv2d(dim, dim, kernel_size=3, padding=p, bias=use_bias), norm_layer(dim), nn.ReLU(True)]
+ if use_dropout:
+ conv_block += [nn.Dropout(0.5)]
+
+ p = 0
+ if padding_type == 'reflect':
+ conv_block += [nn.ReflectionPad2d(1)]
+ elif padding_type == 'replicate':
+ conv_block += [nn.ReplicationPad2d(1)]
+ elif padding_type == 'zero':
+ p = 1
+ else:
+ raise NotImplementedError('padding [%s] is not implemented' % padding_type)
+ conv_block += [nn.Conv2d(dim, dim, kernel_size=3, padding=p, bias=use_bias), norm_layer(dim)]
+
+ return nn.Sequential(*conv_block)
+
+ def forward(self, x):
+ """Forward function (with skip connections)"""
+ out = x + self.conv_block(x) # add skip connections
+ return out
+
+
+class UnetGenerator(nn.Module):
+ """Create a Unet-based generator"""
+
+ def __init__(self, input_nc, output_nc, num_downs, ngf=64, norm_layer=nn.BatchNorm2d, use_dropout=False):
+ """Construct a Unet generator
+ Parameters:
+ input_nc (int) -- the number of channels in input images
+ output_nc (int) -- the number of channels in output images
+ num_downs (int) -- the number of downsamplings in UNet. For example, # if |num_downs| == 7,
+ image of size 128x128 will become of size 1x1 # at the bottleneck
+ ngf (int) -- the number of filters in the last conv layer
+ norm_layer -- normalization layer
+
+ We construct the U-Net from the innermost layer to the outermost layer.
+ It is a recursive process.
+ """
+ super(UnetGenerator, self).__init__()
+ # construct unet structure
+ unet_block = UnetSkipConnectionBlock(ngf * 8, ngf * 8, input_nc=None, submodule=None, norm_layer=norm_layer, innermost=True) # add the innermost layer
+ for i in range(num_downs - 5): # add intermediate layers with ngf * 8 filters
+ unet_block = UnetSkipConnectionBlock(ngf * 8, ngf * 8, input_nc=None, submodule=unet_block, norm_layer=norm_layer, use_dropout=use_dropout)
+ # gradually reduce the number of filters from ngf * 8 to ngf
+ unet_block = UnetSkipConnectionBlock(ngf * 4, ngf * 8, input_nc=None, submodule=unet_block, norm_layer=norm_layer)
+ unet_block = UnetSkipConnectionBlock(ngf * 2, ngf * 4, input_nc=None, submodule=unet_block, norm_layer=norm_layer)
+ unet_block = UnetSkipConnectionBlock(ngf, ngf * 2, input_nc=None, submodule=unet_block, norm_layer=norm_layer)
+ self.model = UnetSkipConnectionBlock(output_nc, ngf, input_nc=input_nc, submodule=unet_block, outermost=True, norm_layer=norm_layer) # add the outermost layer
+
+ def forward(self, input):
+ """Standard forward"""
+ return self.model(input)
+
+
+class UnetSkipConnectionBlock(nn.Module):
+ """Defines the Unet submodule with skip connection.
+ X -------------------identity----------------------
+ |-- downsampling -- |submodule| -- upsampling --|
+ """
+
+ def __init__(self, outer_nc, inner_nc, input_nc=None,
+ submodule=None, outermost=False, innermost=False, norm_layer=nn.BatchNorm2d, use_dropout=False):
+ """Construct a Unet submodule with skip connections.
+
+ Parameters:
+ outer_nc (int) -- the number of filters in the outer conv layer
+ inner_nc (int) -- the number of filters in the inner conv layer
+ input_nc (int) -- the number of channels in input images/features
+ submodule (UnetSkipConnectionBlock) -- previously defined submodules
+ outermost (bool) -- if this module is the outermost module
+ innermost (bool) -- if this module is the innermost module
+ norm_layer -- normalization layer
+ use_dropout (bool) -- if use dropout layers.
+ """
+ super(UnetSkipConnectionBlock, self).__init__()
+ self.outermost = outermost
+ if type(norm_layer) == functools.partial:
+ use_bias = norm_layer.func == nn.InstanceNorm2d
+ else:
+ use_bias = norm_layer == nn.InstanceNorm2d
+ if input_nc is None:
+ input_nc = outer_nc
+ downconv = nn.Conv2d(input_nc, inner_nc, kernel_size=4,
+ stride=2, padding=1, bias=use_bias)
+ downrelu = nn.LeakyReLU(0.2, True)
+ downnorm = norm_layer(inner_nc)
+ uprelu = nn.ReLU(True)
+ upnorm = norm_layer(outer_nc)
+
+ if outermost:
+ upconv = nn.ConvTranspose2d(inner_nc * 2, outer_nc,
+ kernel_size=4, stride=2,
+ padding=1)
+ down = [downconv]
+ up = [uprelu, upconv, nn.Tanh()]
+ model = down + [submodule] + up
+ elif innermost:
+ upconv = nn.ConvTranspose2d(inner_nc, outer_nc,
+ kernel_size=4, stride=2,
+ padding=1, bias=use_bias)
+ down = [downrelu, downconv]
+ up = [uprelu, upconv, upnorm]
+ model = down + up
+ else:
+ upconv = nn.ConvTranspose2d(inner_nc * 2, outer_nc,
+ kernel_size=4, stride=2,
+ padding=1, bias=use_bias)
+ down = [downrelu, downconv, downnorm]
+ up = [uprelu, upconv, upnorm]
+
+ if use_dropout:
+ model = down + [submodule] + up + [nn.Dropout(0.5)]
+ else:
+ model = down + [submodule] + up
+
+ self.model = nn.Sequential(*model)
+
+ def forward(self, x):
+ if self.outermost:
+ return self.model(x)
+ else: # add skip connections
+ return torch.cat([x, self.model(x)], 1)
+
+
+class NLayerDiscriminator(nn.Module):
+ """Defines a PatchGAN discriminator"""
+
+ def __init__(self, input_nc, ndf=64, n_layers=3, norm_layer=nn.BatchNorm2d):
+ """Construct a PatchGAN discriminator
+
+ Parameters:
+ input_nc (int) -- the number of channels in input images
+ ndf (int) -- the number of filters in the last conv layer
+ n_layers (int) -- the number of conv layers in the discriminator
+ norm_layer -- normalization layer
+ """
+ super(NLayerDiscriminator, self).__init__()
+ if type(norm_layer) == functools.partial: # no need to use bias as BatchNorm2d has affine parameters
+ use_bias = norm_layer.func == nn.InstanceNorm2d
+ else:
+ use_bias = norm_layer == nn.InstanceNorm2d
+
+ kw = 4
+ padw = 1
+ sequence = [nn.Conv2d(input_nc, ndf, kernel_size=kw, stride=2, padding=padw), nn.LeakyReLU(0.2, True)]
+ nf_mult = 1
+ nf_mult_prev = 1
+ for n in range(1, n_layers): # gradually increase the number of filters
+ nf_mult_prev = nf_mult
+ nf_mult = min(2 ** n, 8)
+ sequence += [
+ nn.Conv2d(ndf * nf_mult_prev, ndf * nf_mult, kernel_size=kw, stride=2, padding=padw, bias=use_bias),
+ norm_layer(ndf * nf_mult),
+ nn.LeakyReLU(0.2, True)
+ ]
+
+ nf_mult_prev = nf_mult
+ nf_mult = min(2 ** n_layers, 8)
+ sequence += [
+ nn.Conv2d(ndf * nf_mult_prev, ndf * nf_mult, kernel_size=kw, stride=1, padding=padw, bias=use_bias),
+ norm_layer(ndf * nf_mult),
+ nn.LeakyReLU(0.2, True)
+ ]
+
+ sequence += [nn.Conv2d(ndf * nf_mult, 1, kernel_size=kw, stride=1, padding=padw)] # output 1 channel prediction map
+ self.model = nn.Sequential(*sequence)
+
+ def forward(self, input):
+ """Standard forward."""
+ return self.model(input)
+
+
+class PixelDiscriminator(nn.Module):
+ """Defines a 1x1 PatchGAN discriminator (pixelGAN)"""
+
+ def __init__(self, input_nc, ndf=64, norm_layer=nn.BatchNorm2d):
+ """Construct a 1x1 PatchGAN discriminator
+
+ Parameters:
+ input_nc (int) -- the number of channels in input images
+ ndf (int) -- the number of filters in the last conv layer
+ norm_layer -- normalization layer
+ """
+ super(PixelDiscriminator, self).__init__()
+ if type(norm_layer) == functools.partial: # no need to use bias as BatchNorm2d has affine parameters
+ use_bias = norm_layer.func == nn.InstanceNorm2d
+ else:
+ use_bias = norm_layer == nn.InstanceNorm2d
+
+ self.net = [
+ nn.Conv2d(input_nc, ndf, kernel_size=1, stride=1, padding=0),
+ nn.LeakyReLU(0.2, True),
+ nn.Conv2d(ndf, ndf * 2, kernel_size=1, stride=1, padding=0, bias=use_bias),
+ norm_layer(ndf * 2),
+ nn.LeakyReLU(0.2, True),
+ nn.Conv2d(ndf * 2, 1, kernel_size=1, stride=1, padding=0, bias=use_bias)]
+
+ self.net = nn.Sequential(*self.net)
+
+ def forward(self, input):
+ """Standard forward."""
+ return self.net(input)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/models/pix2pix4depth_model.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/models/pix2pix4depth_model.py
new file mode 100644
index 0000000000000000000000000000000000000000..89e89652feb96314973a050c5a2477b474630abb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/models/pix2pix4depth_model.py
@@ -0,0 +1,155 @@
+import torch
+from .base_model import BaseModel
+from . import networks
+
+
+class Pix2Pix4DepthModel(BaseModel):
+ """ This class implements the pix2pix model, for learning a mapping from input images to output images given paired data.
+
+ The model training requires '--dataset_mode aligned' dataset.
+ By default, it uses a '--netG unet256' U-Net generator,
+ a '--netD basic' discriminator (PatchGAN),
+ and a '--gan_mode' vanilla GAN loss (the cross-entropy objective used in the orignal GAN paper).
+
+ pix2pix paper: https://arxiv.org/pdf/1611.07004.pdf
+ """
+ @staticmethod
+ def modify_commandline_options(parser, is_train=True):
+ """Add new dataset-specific options, and rewrite default values for existing options.
+
+ Parameters:
+ parser -- original option parser
+ is_train (bool) -- whether training phase or test phase. You can use this flag to add training-specific or test-specific options.
+
+ Returns:
+ the modified parser.
+
+ For pix2pix, we do not use image buffer
+ The training objective is: GAN Loss + lambda_L1 * ||G(A)-B||_1
+ By default, we use vanilla GAN loss, UNet with batchnorm, and aligned datasets.
+ """
+ # changing the default values to match the pix2pix paper (https://phillipi.github.io/pix2pix/)
+ parser.set_defaults(input_nc=2,output_nc=1,norm='none', netG='unet_1024', dataset_mode='depthmerge')
+ if is_train:
+ parser.set_defaults(pool_size=0, gan_mode='vanilla',)
+ parser.add_argument('--lambda_L1', type=float, default=1000, help='weight for L1 loss')
+ return parser
+
+ def __init__(self, opt):
+ """Initialize the pix2pix class.
+
+ Parameters:
+ opt (Option class)-- stores all the experiment flags; needs to be a subclass of BaseOptions
+ """
+ BaseModel.__init__(self, opt)
+ # specify the training losses you want to print out. The training/test scripts will call
+
+ self.loss_names = ['G_GAN', 'G_L1', 'D_real', 'D_fake']
+ # self.loss_names = ['G_L1']
+
+ # specify the images you want to save/display. The training/test scripts will call
+ if self.isTrain:
+ self.visual_names = ['outer','inner', 'fake_B', 'real_B']
+ else:
+ self.visual_names = ['fake_B']
+
+ # specify the models you want to save to the disk. The training/test scripts will call and
+ if self.isTrain:
+ self.model_names = ['G','D']
+ else: # during test time, only load G
+ self.model_names = ['G']
+
+ # define networks (both generator and discriminator)
+ self.netG = networks.define_G(opt.input_nc, opt.output_nc, 64, 'unet_1024', 'none',
+ False, 'normal', 0.02, self.gpu_ids)
+
+ if self.isTrain: # define a discriminator; conditional GANs need to take both input and output images; Therefore, #channels for D is input_nc + output_nc
+ self.netD = networks.define_D(opt.input_nc + opt.output_nc, opt.ndf, opt.netD,
+ opt.n_layers_D, opt.norm, opt.init_type, opt.init_gain, self.gpu_ids)
+
+ if self.isTrain:
+ # define loss functions
+ self.criterionGAN = networks.GANLoss(opt.gan_mode).to(self.device)
+ self.criterionL1 = torch.nn.L1Loss()
+ # initialize optimizers; schedulers will be automatically created by function .
+ self.optimizer_G = torch.optim.Adam(self.netG.parameters(), lr=1e-4, betas=(opt.beta1, 0.999))
+ self.optimizer_D = torch.optim.Adam(self.netD.parameters(), lr=2e-06, betas=(opt.beta1, 0.999))
+ self.optimizers.append(self.optimizer_G)
+ self.optimizers.append(self.optimizer_D)
+
+ def set_input_train(self, input):
+ self.outer = input['data_outer'].to(self.device)
+ self.outer = torch.nn.functional.interpolate(self.outer,(1024,1024),mode='bilinear',align_corners=False)
+
+ self.inner = input['data_inner'].to(self.device)
+ self.inner = torch.nn.functional.interpolate(self.inner,(1024,1024),mode='bilinear',align_corners=False)
+
+ self.image_paths = input['image_path']
+
+ if self.isTrain:
+ self.gtfake = input['data_gtfake'].to(self.device)
+ self.gtfake = torch.nn.functional.interpolate(self.gtfake, (1024, 1024), mode='bilinear', align_corners=False)
+ self.real_B = self.gtfake
+
+ self.real_A = torch.cat((self.outer, self.inner), 1)
+
+ def set_input(self, outer, inner):
+ inner = torch.from_numpy(inner).unsqueeze(0).unsqueeze(0)
+ outer = torch.from_numpy(outer).unsqueeze(0).unsqueeze(0)
+
+ inner = (inner - torch.min(inner))/(torch.max(inner)-torch.min(inner))
+ outer = (outer - torch.min(outer))/(torch.max(outer)-torch.min(outer))
+
+ inner = self.normalize(inner)
+ outer = self.normalize(outer)
+
+ self.real_A = torch.cat((outer, inner), 1).to(self.device)
+
+
+ def normalize(self, input):
+ input = input * 2
+ input = input - 1
+ return input
+
+ def forward(self):
+ """Run forward pass; called by both functions and ."""
+ self.fake_B = self.netG(self.real_A) # G(A)
+
+ def backward_D(self):
+ """Calculate GAN loss for the discriminator"""
+ # Fake; stop backprop to the generator by detaching fake_B
+ fake_AB = torch.cat((self.real_A, self.fake_B), 1) # we use conditional GANs; we need to feed both input and output to the discriminator
+ pred_fake = self.netD(fake_AB.detach())
+ self.loss_D_fake = self.criterionGAN(pred_fake, False)
+ # Real
+ real_AB = torch.cat((self.real_A, self.real_B), 1)
+ pred_real = self.netD(real_AB)
+ self.loss_D_real = self.criterionGAN(pred_real, True)
+ # combine loss and calculate gradients
+ self.loss_D = (self.loss_D_fake + self.loss_D_real) * 0.5
+ self.loss_D.backward()
+
+ def backward_G(self):
+ """Calculate GAN and L1 loss for the generator"""
+ # First, G(A) should fake the discriminator
+ fake_AB = torch.cat((self.real_A, self.fake_B), 1)
+ pred_fake = self.netD(fake_AB)
+ self.loss_G_GAN = self.criterionGAN(pred_fake, True)
+ # Second, G(A) = B
+ self.loss_G_L1 = self.criterionL1(self.fake_B, self.real_B) * self.opt.lambda_L1
+ # combine loss and calculate gradients
+ self.loss_G = self.loss_G_L1 + self.loss_G_GAN
+ self.loss_G.backward()
+
+ def optimize_parameters(self):
+ self.forward() # compute fake images: G(A)
+ # update D
+ self.set_requires_grad(self.netD, True) # enable backprop for D
+ self.optimizer_D.zero_grad() # set D's gradients to zero
+ self.backward_D() # calculate gradients for D
+ self.optimizer_D.step() # update D's weights
+ # update G
+ self.set_requires_grad(self.netD, False) # D requires no gradients when optimizing G
+ self.optimizer_G.zero_grad() # set G's gradients to zero
+ self.backward_G() # calculate graidents for G
+ self.optimizer_G.step() # udpate G's weights
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/options/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/options/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e7eedebe54aa70169fd25951b3034d819e396c90
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/options/__init__.py
@@ -0,0 +1 @@
+"""This package options includes option modules: training options, test options, and basic options (used in both training and test)."""
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/options/base_options.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/options/base_options.py
new file mode 100644
index 0000000000000000000000000000000000000000..533a1e88a7e8494223f6994e6861c93667754f83
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/options/base_options.py
@@ -0,0 +1,156 @@
+import argparse
+import os
+from ...pix2pix.util import util
+# import torch
+from ...pix2pix import models
+# import pix2pix.data
+import numpy as np
+
+class BaseOptions():
+ """This class defines options used during both training and test time.
+
+ It also implements several helper functions such as parsing, printing, and saving the options.
+ It also gathers additional options defined in functions in both dataset class and model class.
+ """
+
+ def __init__(self):
+ """Reset the class; indicates the class hasn't been initailized"""
+ self.initialized = False
+
+ def initialize(self, parser):
+ """Define the common options that are used in both training and test."""
+ # basic parameters
+ parser.add_argument('--dataroot', help='path to images (should have subfolders trainA, trainB, valA, valB, etc)')
+ parser.add_argument('--name', type=str, default='void', help='mahdi_unet_new, scaled_unet')
+ parser.add_argument('--gpu_ids', type=str, default='0', help='gpu ids: e.g. 0 0,1,2, 0,2. use -1 for CPU')
+ parser.add_argument('--checkpoints_dir', type=str, default='./pix2pix/checkpoints', help='models are saved here')
+ # model parameters
+ parser.add_argument('--model', type=str, default='cycle_gan', help='chooses which model to use. [cycle_gan | pix2pix | test | colorization]')
+ parser.add_argument('--input_nc', type=int, default=2, help='# of input image channels: 3 for RGB and 1 for grayscale')
+ parser.add_argument('--output_nc', type=int, default=1, help='# of output image channels: 3 for RGB and 1 for grayscale')
+ parser.add_argument('--ngf', type=int, default=64, help='# of gen filters in the last conv layer')
+ parser.add_argument('--ndf', type=int, default=64, help='# of discrim filters in the first conv layer')
+ parser.add_argument('--netD', type=str, default='basic', help='specify discriminator architecture [basic | n_layers | pixel]. The basic model is a 70x70 PatchGAN. n_layers allows you to specify the layers in the discriminator')
+ parser.add_argument('--netG', type=str, default='resnet_9blocks', help='specify generator architecture [resnet_9blocks | resnet_6blocks | unet_256 | unet_128]')
+ parser.add_argument('--n_layers_D', type=int, default=3, help='only used if netD==n_layers')
+ parser.add_argument('--norm', type=str, default='instance', help='instance normalization or batch normalization [instance | batch | none]')
+ parser.add_argument('--init_type', type=str, default='normal', help='network initialization [normal | xavier | kaiming | orthogonal]')
+ parser.add_argument('--init_gain', type=float, default=0.02, help='scaling factor for normal, xavier and orthogonal.')
+ parser.add_argument('--no_dropout', action='store_true', help='no dropout for the generator')
+ # dataset parameters
+ parser.add_argument('--dataset_mode', type=str, default='unaligned', help='chooses how datasets are loaded. [unaligned | aligned | single | colorization]')
+ parser.add_argument('--direction', type=str, default='AtoB', help='AtoB or BtoA')
+ parser.add_argument('--serial_batches', action='store_true', help='if true, takes images in order to make batches, otherwise takes them randomly')
+ parser.add_argument('--num_threads', default=4, type=int, help='# threads for loading data')
+ parser.add_argument('--batch_size', type=int, default=1, help='input batch size')
+ parser.add_argument('--load_size', type=int, default=672, help='scale images to this size')
+ parser.add_argument('--crop_size', type=int, default=672, help='then crop to this size')
+ parser.add_argument('--max_dataset_size', type=int, default=10000, help='Maximum number of samples allowed per dataset. If the dataset directory contains more than max_dataset_size, only a subset is loaded.')
+ parser.add_argument('--preprocess', type=str, default='resize_and_crop', help='scaling and cropping of images at load time [resize_and_crop | crop | scale_width | scale_width_and_crop | none]')
+ parser.add_argument('--no_flip', action='store_true', help='if specified, do not flip the images for data augmentation')
+ parser.add_argument('--display_winsize', type=int, default=256, help='display window size for both visdom and HTML')
+ # additional parameters
+ parser.add_argument('--epoch', type=str, default='latest', help='which epoch to load? set to latest to use latest cached model')
+ parser.add_argument('--load_iter', type=int, default='0', help='which iteration to load? if load_iter > 0, the code will load models by iter_[load_iter]; otherwise, the code will load models by [epoch]')
+ parser.add_argument('--verbose', action='store_true', help='if specified, print more debugging information')
+ parser.add_argument('--suffix', default='', type=str, help='customized suffix: opt.name = opt.name + suffix: e.g., {model}_{netG}_size{load_size}')
+
+ parser.add_argument('--data_dir', type=str, required=False,
+ help='input files directory images can be .png .jpg .tiff')
+ parser.add_argument('--output_dir', type=str, required=False,
+ help='result dir. result depth will be png. vides are JMPG as avi')
+ parser.add_argument('--savecrops', type=int, required=False)
+ parser.add_argument('--savewholeest', type=int, required=False)
+ parser.add_argument('--output_resolution', type=int, required=False,
+ help='0 for no restriction 1 for resize to input size')
+ parser.add_argument('--net_receptive_field_size', type=int, required=False)
+ parser.add_argument('--pix2pixsize', type=int, required=False)
+ parser.add_argument('--generatevideo', type=int, required=False)
+ parser.add_argument('--depthNet', type=int, required=False, help='0: midas 1:strurturedRL')
+ parser.add_argument('--R0', action='store_true')
+ parser.add_argument('--R20', action='store_true')
+ parser.add_argument('--Final', action='store_true')
+ parser.add_argument('--colorize_results', action='store_true')
+ parser.add_argument('--max_res', type=float, default=np.inf)
+
+ self.initialized = True
+ return parser
+
+ def gather_options(self):
+ """Initialize our parser with basic options(only once).
+ Add additional model-specific and dataset-specific options.
+ These options are defined in the function
+ in model and dataset classes.
+ """
+ if not self.initialized: # check if it has been initialized
+ parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter)
+ parser = self.initialize(parser)
+
+ # get the basic options
+ opt, _ = parser.parse_known_args()
+
+ # modify model-related parser options
+ model_name = opt.model
+ model_option_setter = models.get_option_setter(model_name)
+ parser = model_option_setter(parser, self.isTrain)
+ opt, _ = parser.parse_known_args() # parse again with new defaults
+
+ # modify dataset-related parser options
+ # dataset_name = opt.dataset_mode
+ # dataset_option_setter = pix2pix.data.get_option_setter(dataset_name)
+ # parser = dataset_option_setter(parser, self.isTrain)
+
+ # save and return the parser
+ self.parser = parser
+ #return parser.parse_args() #EVIL
+ return opt
+
+ def print_options(self, opt):
+ """Print and save options
+
+ It will print both current options and default values(if different).
+ It will save options into a text file / [checkpoints_dir] / opt.txt
+ """
+ message = ''
+ message += '----------------- Options ---------------\n'
+ for k, v in sorted(vars(opt).items()):
+ comment = ''
+ default = self.parser.get_default(k)
+ if v != default:
+ comment = '\t[default: %s]' % str(default)
+ message += '{:>25}: {:<30}{}\n'.format(str(k), str(v), comment)
+ message += '----------------- End -------------------'
+ print(message)
+
+ # save to the disk
+ expr_dir = os.path.join(opt.checkpoints_dir, opt.name)
+ util.mkdirs(expr_dir)
+ file_name = os.path.join(expr_dir, '{}_opt.txt'.format(opt.phase))
+ with open(file_name, 'wt') as opt_file:
+ opt_file.write(message)
+ opt_file.write('\n')
+
+ def parse(self):
+ """Parse our options, create checkpoints directory suffix, and set up gpu device."""
+ opt = self.gather_options()
+ opt.isTrain = self.isTrain # train or test
+
+ # process opt.suffix
+ if opt.suffix:
+ suffix = ('_' + opt.suffix.format(**vars(opt))) if opt.suffix != '' else ''
+ opt.name = opt.name + suffix
+
+ #self.print_options(opt)
+
+ # set gpu ids
+ str_ids = opt.gpu_ids.split(',')
+ opt.gpu_ids = []
+ for str_id in str_ids:
+ id = int(str_id)
+ if id >= 0:
+ opt.gpu_ids.append(id)
+ #if len(opt.gpu_ids) > 0:
+ # torch.cuda.set_device(opt.gpu_ids[0])
+
+ self.opt = opt
+ return self.opt
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/options/test_options.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/options/test_options.py
new file mode 100644
index 0000000000000000000000000000000000000000..a3424b5e3b66d6813f74c8cecad691d7488d121c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/options/test_options.py
@@ -0,0 +1,22 @@
+from .base_options import BaseOptions
+
+
+class TestOptions(BaseOptions):
+ """This class includes test options.
+
+ It also includes shared options defined in BaseOptions.
+ """
+
+ def initialize(self, parser):
+ parser = BaseOptions.initialize(self, parser) # define shared options
+ parser.add_argument('--aspect_ratio', type=float, default=1.0, help='aspect ratio of result images')
+ parser.add_argument('--phase', type=str, default='test', help='train, val, test, etc')
+ # Dropout and Batchnorm has different behavioir during training and test.
+ parser.add_argument('--eval', action='store_true', help='use eval mode during test time.')
+ parser.add_argument('--num_test', type=int, default=50, help='how many test images to run')
+ # rewrite devalue values
+ parser.set_defaults(model='pix2pix4depth')
+ # To avoid cropping, the load_size should be the same as crop_size
+ parser.set_defaults(load_size=parser.get_default('crop_size'))
+ self.isTrain = False
+ return parser
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/util/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/util/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..ae36f63d8859ec0c60dcbfe67c4ac324e751ddf7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/util/__init__.py
@@ -0,0 +1 @@
+"""This package includes a miscellaneous collection of useful helper functions."""
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/util/get_data.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/util/get_data.py
new file mode 100644
index 0000000000000000000000000000000000000000..97edc3ce3c3ab6d6080dca34e73a5fb77bb715fb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/util/get_data.py
@@ -0,0 +1,110 @@
+from __future__ import print_function
+import os
+import tarfile
+import requests
+from warnings import warn
+from zipfile import ZipFile
+from bs4 import BeautifulSoup
+from os.path import abspath, isdir, join, basename
+
+
+class GetData(object):
+ """A Python script for downloading CycleGAN or pix2pix datasets.
+
+ Parameters:
+ technique (str) -- One of: 'cyclegan' or 'pix2pix'.
+ verbose (bool) -- If True, print additional information.
+
+ Examples:
+ >>> from util.get_data import GetData
+ >>> gd = GetData(technique='cyclegan')
+ >>> new_data_path = gd.get(save_path='./datasets') # options will be displayed.
+
+ Alternatively, You can use bash scripts: 'scripts/download_pix2pix_model.sh'
+ and 'scripts/download_cyclegan_model.sh'.
+ """
+
+ def __init__(self, technique='cyclegan', verbose=True):
+ url_dict = {
+ 'pix2pix': 'http://efrosgans.eecs.berkeley.edu/pix2pix/datasets/',
+ 'cyclegan': 'https://people.eecs.berkeley.edu/~taesung_park/CycleGAN/datasets'
+ }
+ self.url = url_dict.get(technique.lower())
+ self._verbose = verbose
+
+ def _print(self, text):
+ if self._verbose:
+ print(text)
+
+ @staticmethod
+ def _get_options(r):
+ soup = BeautifulSoup(r.text, 'lxml')
+ options = [h.text for h in soup.find_all('a', href=True)
+ if h.text.endswith(('.zip', 'tar.gz'))]
+ return options
+
+ def _present_options(self):
+ r = requests.get(self.url)
+ options = self._get_options(r)
+ print('Options:\n')
+ for i, o in enumerate(options):
+ print("{0}: {1}".format(i, o))
+ choice = input("\nPlease enter the number of the "
+ "dataset above you wish to download:")
+ return options[int(choice)]
+
+ def _download_data(self, dataset_url, save_path):
+ if not isdir(save_path):
+ os.makedirs(save_path)
+
+ base = basename(dataset_url)
+ temp_save_path = join(save_path, base)
+
+ with open(temp_save_path, "wb") as f:
+ r = requests.get(dataset_url)
+ f.write(r.content)
+
+ if base.endswith('.tar.gz'):
+ obj = tarfile.open(temp_save_path)
+ elif base.endswith('.zip'):
+ obj = ZipFile(temp_save_path, 'r')
+ else:
+ raise ValueError("Unknown File Type: {0}.".format(base))
+
+ self._print("Unpacking Data...")
+ obj.extractall(save_path)
+ obj.close()
+ os.remove(temp_save_path)
+
+ def get(self, save_path, dataset=None):
+ """
+
+ Download a dataset.
+
+ Parameters:
+ save_path (str) -- A directory to save the data to.
+ dataset (str) -- (optional). A specific dataset to download.
+ Note: this must include the file extension.
+ If None, options will be presented for you
+ to choose from.
+
+ Returns:
+ save_path_full (str) -- the absolute path to the downloaded data.
+
+ """
+ if dataset is None:
+ selected_dataset = self._present_options()
+ else:
+ selected_dataset = dataset
+
+ save_path_full = join(save_path, selected_dataset.split('.')[0])
+
+ if isdir(save_path_full):
+ warn("\n'{0}' already exists. Voiding Download.".format(
+ save_path_full))
+ else:
+ self._print('Downloading Data...')
+ url = "{0}/{1}".format(self.url, selected_dataset)
+ self._download_data(url, save_path=save_path)
+
+ return abspath(save_path_full)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/util/guidedfilter.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/util/guidedfilter.py
new file mode 100644
index 0000000000000000000000000000000000000000..d377ff12e078a5f156e9246b63573dae71825fad
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/util/guidedfilter.py
@@ -0,0 +1,47 @@
+import numpy as np
+
+class GuidedFilter():
+ def __init__(self, source, reference, r=64, eps= 0.05**2):
+ self.source = source;
+ self.reference = reference;
+ self.r = r
+ self.eps = eps
+
+ self.smooth = self.guidedfilter(self.source,self.reference,self.r,self.eps)
+
+ def boxfilter(self,img, r):
+ (rows, cols) = img.shape
+ imDst = np.zeros_like(img)
+
+ imCum = np.cumsum(img, 0)
+ imDst[0 : r+1, :] = imCum[r : 2*r+1, :]
+ imDst[r+1 : rows-r, :] = imCum[2*r+1 : rows, :] - imCum[0 : rows-2*r-1, :]
+ imDst[rows-r: rows, :] = np.tile(imCum[rows-1, :], [r, 1]) - imCum[rows-2*r-1 : rows-r-1, :]
+
+ imCum = np.cumsum(imDst, 1)
+ imDst[:, 0 : r+1] = imCum[:, r : 2*r+1]
+ imDst[:, r+1 : cols-r] = imCum[:, 2*r+1 : cols] - imCum[:, 0 : cols-2*r-1]
+ imDst[:, cols-r: cols] = np.tile(imCum[:, cols-1], [r, 1]).T - imCum[:, cols-2*r-1 : cols-r-1]
+
+ return imDst
+
+ def guidedfilter(self,I, p, r, eps):
+ (rows, cols) = I.shape
+ N = self.boxfilter(np.ones([rows, cols]), r)
+
+ meanI = self.boxfilter(I, r) / N
+ meanP = self.boxfilter(p, r) / N
+ meanIp = self.boxfilter(I * p, r) / N
+ covIp = meanIp - meanI * meanP
+
+ meanII = self.boxfilter(I * I, r) / N
+ varI = meanII - meanI * meanI
+
+ a = covIp / (varI + eps)
+ b = meanP - a * meanI
+
+ meanA = self.boxfilter(a, r) / N
+ meanB = self.boxfilter(b, r) / N
+
+ q = meanA * I + meanB
+ return q
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/util/html.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/util/html.py
new file mode 100644
index 0000000000000000000000000000000000000000..cc3262a1eafda34842e4dbad47bb6ba72f0c5a68
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/util/html.py
@@ -0,0 +1,86 @@
+import dominate
+from dominate.tags import meta, h3, table, tr, td, p, a, img, br
+import os
+
+
+class HTML:
+ """This HTML class allows us to save images and write texts into a single HTML file.
+
+ It consists of functions such as (add a text header to the HTML file),
+ (add a row of images to the HTML file), and (save the HTML to the disk).
+ It is based on Python library 'dominate', a Python library for creating and manipulating HTML documents using a DOM API.
+ """
+
+ def __init__(self, web_dir, title, refresh=0):
+ """Initialize the HTML classes
+
+ Parameters:
+ web_dir (str) -- a directory that stores the webpage. HTML file will be created at /index.html; images will be saved at 0:
+ with self.doc.head:
+ meta(http_equiv="refresh", content=str(refresh))
+
+ def get_image_dir(self):
+ """Return the directory that stores images"""
+ return self.img_dir
+
+ def add_header(self, text):
+ """Insert a header to the HTML file
+
+ Parameters:
+ text (str) -- the header text
+ """
+ with self.doc:
+ h3(text)
+
+ def add_images(self, ims, txts, links, width=400):
+ """add images to the HTML file
+
+ Parameters:
+ ims (str list) -- a list of image paths
+ txts (str list) -- a list of image names shown on the website
+ links (str list) -- a list of hyperref links; when you click an image, it will redirect you to a new page
+ """
+ self.t = table(border=1, style="table-layout: fixed;") # Insert a table
+ self.doc.add(self.t)
+ with self.t:
+ with tr():
+ for im, txt, link in zip(ims, txts, links):
+ with td(style="word-wrap: break-word;", halign="center", valign="top"):
+ with p():
+ with a(href=os.path.join('images', link)):
+ img(style="width:%dpx" % width, src=os.path.join('images', im))
+ br()
+ p(txt)
+
+ def save(self):
+ """save the current content to the HMTL file"""
+ html_file = '%s/index.html' % self.web_dir
+ f = open(html_file, 'wt')
+ f.write(self.doc.render())
+ f.close()
+
+
+if __name__ == '__main__': # we show an example usage here.
+ html = HTML('web/', 'test_html')
+ html.add_header('hello world')
+
+ ims, txts, links = [], [], []
+ for n in range(4):
+ ims.append('image_%d.png' % n)
+ txts.append('text_%d' % n)
+ links.append('image_%d.png' % n)
+ html.add_images(ims, txts, links)
+ html.save()
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/util/image_pool.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/util/image_pool.py
new file mode 100644
index 0000000000000000000000000000000000000000..6d086f882bc3d1b90c529fce6cddaaa75f2005d7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/util/image_pool.py
@@ -0,0 +1,54 @@
+import random
+import torch
+
+
+class ImagePool():
+ """This class implements an image buffer that stores previously generated images.
+
+ This buffer enables us to update discriminators using a history of generated images
+ rather than the ones produced by the latest generators.
+ """
+
+ def __init__(self, pool_size):
+ """Initialize the ImagePool class
+
+ Parameters:
+ pool_size (int) -- the size of image buffer, if pool_size=0, no buffer will be created
+ """
+ self.pool_size = pool_size
+ if self.pool_size > 0: # create an empty pool
+ self.num_imgs = 0
+ self.images = []
+
+ def query(self, images):
+ """Return an image from the pool.
+
+ Parameters:
+ images: the latest generated images from the generator
+
+ Returns images from the buffer.
+
+ By 50/100, the buffer will return input images.
+ By 50/100, the buffer will return images previously stored in the buffer,
+ and insert the current images to the buffer.
+ """
+ if self.pool_size == 0: # if the buffer size is 0, do nothing
+ return images
+ return_images = []
+ for image in images:
+ image = torch.unsqueeze(image.data, 0)
+ if self.num_imgs < self.pool_size: # if the buffer is not full; keep inserting current images to the buffer
+ self.num_imgs = self.num_imgs + 1
+ self.images.append(image)
+ return_images.append(image)
+ else:
+ p = random.uniform(0, 1)
+ if p > 0.5: # by 50% chance, the buffer will return a previously stored image, and insert the current image into the buffer
+ random_id = random.randint(0, self.pool_size - 1) # randint is inclusive
+ tmp = self.images[random_id].clone()
+ self.images[random_id] = image
+ return_images.append(tmp)
+ else: # by another 50% chance, the buffer will return the current image
+ return_images.append(image)
+ return_images = torch.cat(return_images, 0) # collect all the images and return
+ return return_images
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/util/util.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/util/util.py
new file mode 100644
index 0000000000000000000000000000000000000000..8a7aceaa00681cb76675df7866bf8db58c8d2caf
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/util/util.py
@@ -0,0 +1,105 @@
+"""This module contains simple helper functions """
+from __future__ import print_function
+import torch
+import numpy as np
+from PIL import Image
+import os
+
+
+def tensor2im(input_image, imtype=np.uint16):
+ """"Converts a Tensor array into a numpy image array.
+
+ Parameters:
+ input_image (tensor) -- the input image tensor array
+ imtype (type) -- the desired type of the converted numpy array
+ """
+ if not isinstance(input_image, np.ndarray):
+ if isinstance(input_image, torch.Tensor): # get the data from a variable
+ image_tensor = input_image.data
+ else:
+ return input_image
+ image_numpy = torch.squeeze(image_tensor).cpu().numpy() # convert it into a numpy array
+ image_numpy = (image_numpy + 1) / 2.0 * (2**16-1) #
+ else: # if it is a numpy array, do nothing
+ image_numpy = input_image
+ return image_numpy.astype(imtype)
+
+
+def diagnose_network(net, name='network'):
+ """Calculate and print the mean of average absolute(gradients)
+
+ Parameters:
+ net (torch network) -- Torch network
+ name (str) -- the name of the network
+ """
+ mean = 0.0
+ count = 0
+ for param in net.parameters():
+ if param.grad is not None:
+ mean += torch.mean(torch.abs(param.grad.data))
+ count += 1
+ if count > 0:
+ mean = mean / count
+ print(name)
+ print(mean)
+
+
+def save_image(image_numpy, image_path, aspect_ratio=1.0):
+ """Save a numpy image to the disk
+
+ Parameters:
+ image_numpy (numpy array) -- input numpy array
+ image_path (str) -- the path of the image
+ """
+ image_pil = Image.fromarray(image_numpy)
+
+ image_pil = image_pil.convert('I;16')
+
+ # image_pil = Image.fromarray(image_numpy)
+ # h, w, _ = image_numpy.shape
+ #
+ # if aspect_ratio > 1.0:
+ # image_pil = image_pil.resize((h, int(w * aspect_ratio)), Image.BICUBIC)
+ # if aspect_ratio < 1.0:
+ # image_pil = image_pil.resize((int(h / aspect_ratio), w), Image.BICUBIC)
+
+ image_pil.save(image_path)
+
+
+def print_numpy(x, val=True, shp=False):
+ """Print the mean, min, max, median, std, and size of a numpy array
+
+ Parameters:
+ val (bool) -- if print the values of the numpy array
+ shp (bool) -- if print the shape of the numpy array
+ """
+ x = x.astype(np.float64)
+ if shp:
+ print('shape,', x.shape)
+ if val:
+ x = x.flatten()
+ print('mean = %3.3f, min = %3.3f, max = %3.3f, median = %3.3f, std=%3.3f' % (
+ np.mean(x), np.min(x), np.max(x), np.median(x), np.std(x)))
+
+
+def mkdirs(paths):
+ """create empty directories if they don't exist
+
+ Parameters:
+ paths (str list) -- a list of directory paths
+ """
+ if isinstance(paths, list) and not isinstance(paths, str):
+ for path in paths:
+ mkdir(path)
+ else:
+ mkdir(paths)
+
+
+def mkdir(path):
+ """create a single empty directory if it didn't exist
+
+ Parameters:
+ path (str) -- a single directory path
+ """
+ if not os.path.exists(path):
+ os.makedirs(path)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/util/visualizer.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/util/visualizer.py
new file mode 100644
index 0000000000000000000000000000000000000000..810a0513ab997103ace77b665c9a17f223b173c9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/leres/pix2pix/util/visualizer.py
@@ -0,0 +1,166 @@
+import numpy as np
+import os
+import sys
+import ntpath
+import time
+from . import util, html
+from subprocess import Popen, PIPE
+import torch
+
+
+if sys.version_info[0] == 2:
+ VisdomExceptionBase = Exception
+else:
+ VisdomExceptionBase = ConnectionError
+
+
+def save_images(webpage, visuals, image_path, aspect_ratio=1.0, width=256):
+ """Save images to the disk.
+
+ Parameters:
+ webpage (the HTML class) -- the HTML webpage class that stores these imaegs (see html.py for more details)
+ visuals (OrderedDict) -- an ordered dictionary that stores (name, images (either tensor or numpy) ) pairs
+ image_path (str) -- the string is used to create image paths
+ aspect_ratio (float) -- the aspect ratio of saved images
+ width (int) -- the images will be resized to width x width
+
+ This function will save images stored in 'visuals' to the HTML file specified by 'webpage'.
+ """
+ image_dir = webpage.get_image_dir()
+ short_path = ntpath.basename(image_path[0])
+ name = os.path.splitext(short_path)[0]
+
+ webpage.add_header(name)
+ ims, txts, links = [], [], []
+
+ for label, im_data in visuals.items():
+ im = util.tensor2im(im_data)
+ image_name = '%s_%s.png' % (name, label)
+ save_path = os.path.join(image_dir, image_name)
+ util.save_image(im, save_path, aspect_ratio=aspect_ratio)
+ ims.append(image_name)
+ txts.append(label)
+ links.append(image_name)
+ webpage.add_images(ims, txts, links, width=width)
+
+
+class Visualizer():
+ """This class includes several functions that can display/save images and print/save logging information.
+
+ It uses a Python library 'visdom' for display, and a Python library 'dominate' (wrapped in 'HTML') for creating HTML files with images.
+ """
+
+ def __init__(self, opt):
+ """Initialize the Visualizer class
+
+ Parameters:
+ opt -- stores all the experiment flags; needs to be a subclass of BaseOptions
+ Step 1: Cache the training/test options
+ Step 2: connect to a visdom server
+ Step 3: create an HTML object for saveing HTML filters
+ Step 4: create a logging file to store training losses
+ """
+ self.opt = opt # cache the option
+ self.display_id = opt.display_id
+ self.use_html = opt.isTrain and not opt.no_html
+ self.win_size = opt.display_winsize
+ self.name = opt.name
+ self.port = opt.display_port
+ self.saved = False
+
+ if self.use_html: # create an HTML object at /web/; images will be saved under /web/images/
+ self.web_dir = os.path.join(opt.checkpoints_dir, opt.name, 'web')
+ self.img_dir = os.path.join(self.web_dir, 'images')
+ print('create web directory %s...' % self.web_dir)
+ util.mkdirs([self.web_dir, self.img_dir])
+ # create a logging file to store training losses
+ self.log_name = os.path.join(opt.checkpoints_dir, opt.name, 'loss_log.txt')
+ with open(self.log_name, "a") as log_file:
+ now = time.strftime("%c")
+ log_file.write('================ Training Loss (%s) ================\n' % now)
+
+ def reset(self):
+ """Reset the self.saved status"""
+ self.saved = False
+
+ def create_visdom_connections(self):
+ """If the program could not connect to Visdom server, this function will start a new server at port < self.port > """
+ cmd = sys.executable + ' -m visdom.server -p %d &>/dev/null &' % self.port
+ print('\n\nCould not connect to Visdom server. \n Trying to start a server....')
+ print('Command: %s' % cmd)
+ Popen(cmd, shell=True, stdout=PIPE, stderr=PIPE)
+
+ def display_current_results(self, visuals, epoch, save_result):
+ """Display current results on visdom; save current results to an HTML file.
+
+ Parameters:
+ visuals (OrderedDict) - - dictionary of images to display or save
+ epoch (int) - - the current epoch
+ save_result (bool) - - if save the current results to an HTML file
+ """
+ if self.use_html and (save_result or not self.saved): # save images to an HTML file if they haven't been saved.
+ self.saved = True
+ # save images to the disk
+ for label, image in visuals.items():
+ image_numpy = util.tensor2im(image)
+ img_path = os.path.join(self.img_dir, 'epoch%.3d_%s.png' % (epoch, label))
+ util.save_image(image_numpy, img_path)
+
+ # update website
+ webpage = html.HTML(self.web_dir, 'Experiment name = %s' % self.name, refresh=1)
+ for n in range(epoch, 0, -1):
+ webpage.add_header('epoch [%d]' % n)
+ ims, txts, links = [], [], []
+
+ for label, image_numpy in visuals.items():
+ # image_numpy = util.tensor2im(image)
+ img_path = 'epoch%.3d_%s.png' % (n, label)
+ ims.append(img_path)
+ txts.append(label)
+ links.append(img_path)
+ webpage.add_images(ims, txts, links, width=self.win_size)
+ webpage.save()
+
+ # def plot_current_losses(self, epoch, counter_ratio, losses):
+ # """display the current losses on visdom display: dictionary of error labels and values
+ #
+ # Parameters:
+ # epoch (int) -- current epoch
+ # counter_ratio (float) -- progress (percentage) in the current epoch, between 0 to 1
+ # losses (OrderedDict) -- training losses stored in the format of (name, float) pairs
+ # """
+ # if not hasattr(self, 'plot_data'):
+ # self.plot_data = {'X': [], 'Y': [], 'legend': list(losses.keys())}
+ # self.plot_data['X'].append(epoch + counter_ratio)
+ # self.plot_data['Y'].append([losses[k] for k in self.plot_data['legend']])
+ # try:
+ # self.vis.line(
+ # X=np.stack([np.array(self.plot_data['X'])] * len(self.plot_data['legend']), 1),
+ # Y=np.array(self.plot_data['Y']),
+ # opts={
+ # 'title': self.name + ' loss over time',
+ # 'legend': self.plot_data['legend'],
+ # 'xlabel': 'epoch',
+ # 'ylabel': 'loss'},
+ # win=self.display_id)
+ # except VisdomExceptionBase:
+ # self.create_visdom_connections()
+
+ # losses: same format as |losses| of plot_current_losses
+ def print_current_losses(self, epoch, iters, losses, t_comp, t_data):
+ """print current losses on console; also save the losses to the disk
+
+ Parameters:
+ epoch (int) -- current epoch
+ iters (int) -- current training iteration during this epoch (reset to 0 at the end of every epoch)
+ losses (OrderedDict) -- training losses stored in the format of (name, float) pairs
+ t_comp (float) -- computational time per data point (normalized by batch_size)
+ t_data (float) -- data loading time per data point (normalized by batch_size)
+ """
+ message = '(epoch: %d, iters: %d, time: %.3f, data: %.3f) ' % (epoch, iters, t_comp, t_data)
+ for k, v in losses.items():
+ message += '%s: %.3f ' % (k, v)
+
+ print(message) # print the message
+ with open(self.log_name, "a") as log_file:
+ log_file.write('%s\n' % message) # save the message
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lineart/LICENSE b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lineart/LICENSE
new file mode 100644
index 0000000000000000000000000000000000000000..16a9d56a3d4c15e4f34ac5426459c58487b01520
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lineart/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2022 Caroline Chan
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lineart/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lineart/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..d0e43c501f64aeb170cf933d06a63bd9dfd4f4e7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lineart/__init__.py
@@ -0,0 +1,133 @@
+import os
+import cv2
+import torch
+import numpy as np
+
+import torch.nn as nn
+from einops import rearrange
+from modules import devices
+from annotator.annotator_path import models_path
+
+
+norm_layer = nn.InstanceNorm2d
+
+
+class ResidualBlock(nn.Module):
+ def __init__(self, in_features):
+ super(ResidualBlock, self).__init__()
+
+ conv_block = [ nn.ReflectionPad2d(1),
+ nn.Conv2d(in_features, in_features, 3),
+ norm_layer(in_features),
+ nn.ReLU(inplace=True),
+ nn.ReflectionPad2d(1),
+ nn.Conv2d(in_features, in_features, 3),
+ norm_layer(in_features)
+ ]
+
+ self.conv_block = nn.Sequential(*conv_block)
+
+ def forward(self, x):
+ return x + self.conv_block(x)
+
+
+class Generator(nn.Module):
+ def __init__(self, input_nc, output_nc, n_residual_blocks=9, sigmoid=True):
+ super(Generator, self).__init__()
+
+ # Initial convolution block
+ model0 = [ nn.ReflectionPad2d(3),
+ nn.Conv2d(input_nc, 64, 7),
+ norm_layer(64),
+ nn.ReLU(inplace=True) ]
+ self.model0 = nn.Sequential(*model0)
+
+ # Downsampling
+ model1 = []
+ in_features = 64
+ out_features = in_features*2
+ for _ in range(2):
+ model1 += [ nn.Conv2d(in_features, out_features, 3, stride=2, padding=1),
+ norm_layer(out_features),
+ nn.ReLU(inplace=True) ]
+ in_features = out_features
+ out_features = in_features*2
+ self.model1 = nn.Sequential(*model1)
+
+ model2 = []
+ # Residual blocks
+ for _ in range(n_residual_blocks):
+ model2 += [ResidualBlock(in_features)]
+ self.model2 = nn.Sequential(*model2)
+
+ # Upsampling
+ model3 = []
+ out_features = in_features//2
+ for _ in range(2):
+ model3 += [ nn.ConvTranspose2d(in_features, out_features, 3, stride=2, padding=1, output_padding=1),
+ norm_layer(out_features),
+ nn.ReLU(inplace=True) ]
+ in_features = out_features
+ out_features = in_features//2
+ self.model3 = nn.Sequential(*model3)
+
+ # Output layer
+ model4 = [ nn.ReflectionPad2d(3),
+ nn.Conv2d(64, output_nc, 7)]
+ if sigmoid:
+ model4 += [nn.Sigmoid()]
+
+ self.model4 = nn.Sequential(*model4)
+
+ def forward(self, x, cond=None):
+ out = self.model0(x)
+ out = self.model1(out)
+ out = self.model2(out)
+ out = self.model3(out)
+ out = self.model4(out)
+
+ return out
+
+
+class LineartDetector:
+ model_dir = os.path.join(models_path, "lineart")
+ model_default = 'sk_model.pth'
+ model_coarse = 'sk_model2.pth'
+
+ def __init__(self, model_name):
+ self.model = None
+ self.model_name = model_name
+ self.device = devices.get_device_for("controlnet")
+
+ def load_model(self, name):
+ remote_model_path = "https://huggingface.co/lllyasviel/Annotators/resolve/main/" + name
+ model_path = os.path.join(self.model_dir, name)
+ if not os.path.exists(model_path):
+ from basicsr.utils.download_util import load_file_from_url
+ load_file_from_url(remote_model_path, model_dir=self.model_dir)
+ model = Generator(3, 1, 3)
+ model.load_state_dict(torch.load(model_path, map_location=torch.device('cpu')))
+ model.eval()
+ self.model = model.to(self.device)
+
+ def unload_model(self):
+ if self.model is not None:
+ self.model.cpu()
+
+ def __call__(self, input_image):
+ if self.model is None:
+ self.load_model(self.model_name)
+ self.model.to(self.device)
+
+ assert input_image.ndim == 3
+ image = input_image
+ with torch.no_grad():
+ image = torch.from_numpy(image).float().to(self.device)
+ image = image / 255.0
+ image = rearrange(image, 'h w c -> 1 c h w')
+ line = self.model(image)[0][0]
+
+ line = line.cpu().numpy()
+ line = (line * 255.0).clip(0, 255).astype(np.uint8)
+
+ return line
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lineart_anime/LICENSE b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lineart_anime/LICENSE
new file mode 100644
index 0000000000000000000000000000000000000000..16a9d56a3d4c15e4f34ac5426459c58487b01520
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lineart_anime/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2022 Caroline Chan
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lineart_anime/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lineart_anime/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..dddfa97930f27e7ffc7604a6da1f1a08d117ea3b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/lineart_anime/__init__.py
@@ -0,0 +1,161 @@
+import numpy as np
+import torch
+import torch.nn as nn
+import functools
+
+import os
+import cv2
+from einops import rearrange
+from modules import devices
+from annotator.annotator_path import models_path
+
+
+class UnetGenerator(nn.Module):
+ """Create a Unet-based generator"""
+
+ def __init__(self, input_nc, output_nc, num_downs, ngf=64, norm_layer=nn.BatchNorm2d, use_dropout=False):
+ """Construct a Unet generator
+ Parameters:
+ input_nc (int) -- the number of channels in input images
+ output_nc (int) -- the number of channels in output images
+ num_downs (int) -- the number of downsamplings in UNet. For example, # if |num_downs| == 7,
+ image of size 128x128 will become of size 1x1 # at the bottleneck
+ ngf (int) -- the number of filters in the last conv layer
+ norm_layer -- normalization layer
+ We construct the U-Net from the innermost layer to the outermost layer.
+ It is a recursive process.
+ """
+ super(UnetGenerator, self).__init__()
+ # construct unet structure
+ unet_block = UnetSkipConnectionBlock(ngf * 8, ngf * 8, input_nc=None, submodule=None, norm_layer=norm_layer, innermost=True) # add the innermost layer
+ for _ in range(num_downs - 5): # add intermediate layers with ngf * 8 filters
+ unet_block = UnetSkipConnectionBlock(ngf * 8, ngf * 8, input_nc=None, submodule=unet_block, norm_layer=norm_layer, use_dropout=use_dropout)
+ # gradually reduce the number of filters from ngf * 8 to ngf
+ unet_block = UnetSkipConnectionBlock(ngf * 4, ngf * 8, input_nc=None, submodule=unet_block, norm_layer=norm_layer)
+ unet_block = UnetSkipConnectionBlock(ngf * 2, ngf * 4, input_nc=None, submodule=unet_block, norm_layer=norm_layer)
+ unet_block = UnetSkipConnectionBlock(ngf, ngf * 2, input_nc=None, submodule=unet_block, norm_layer=norm_layer)
+ self.model = UnetSkipConnectionBlock(output_nc, ngf, input_nc=input_nc, submodule=unet_block, outermost=True, norm_layer=norm_layer) # add the outermost layer
+
+ def forward(self, input):
+ """Standard forward"""
+ return self.model(input)
+
+
+class UnetSkipConnectionBlock(nn.Module):
+ """Defines the Unet submodule with skip connection.
+ X -------------------identity----------------------
+ |-- downsampling -- |submodule| -- upsampling --|
+ """
+
+ def __init__(self, outer_nc, inner_nc, input_nc=None,
+ submodule=None, outermost=False, innermost=False, norm_layer=nn.BatchNorm2d, use_dropout=False):
+ """Construct a Unet submodule with skip connections.
+ Parameters:
+ outer_nc (int) -- the number of filters in the outer conv layer
+ inner_nc (int) -- the number of filters in the inner conv layer
+ input_nc (int) -- the number of channels in input images/features
+ submodule (UnetSkipConnectionBlock) -- previously defined submodules
+ outermost (bool) -- if this module is the outermost module
+ innermost (bool) -- if this module is the innermost module
+ norm_layer -- normalization layer
+ use_dropout (bool) -- if use dropout layers.
+ """
+ super(UnetSkipConnectionBlock, self).__init__()
+ self.outermost = outermost
+ if type(norm_layer) == functools.partial:
+ use_bias = norm_layer.func == nn.InstanceNorm2d
+ else:
+ use_bias = norm_layer == nn.InstanceNorm2d
+ if input_nc is None:
+ input_nc = outer_nc
+ downconv = nn.Conv2d(input_nc, inner_nc, kernel_size=4,
+ stride=2, padding=1, bias=use_bias)
+ downrelu = nn.LeakyReLU(0.2, True)
+ downnorm = norm_layer(inner_nc)
+ uprelu = nn.ReLU(True)
+ upnorm = norm_layer(outer_nc)
+
+ if outermost:
+ upconv = nn.ConvTranspose2d(inner_nc * 2, outer_nc,
+ kernel_size=4, stride=2,
+ padding=1)
+ down = [downconv]
+ up = [uprelu, upconv, nn.Tanh()]
+ model = down + [submodule] + up
+ elif innermost:
+ upconv = nn.ConvTranspose2d(inner_nc, outer_nc,
+ kernel_size=4, stride=2,
+ padding=1, bias=use_bias)
+ down = [downrelu, downconv]
+ up = [uprelu, upconv, upnorm]
+ model = down + up
+ else:
+ upconv = nn.ConvTranspose2d(inner_nc * 2, outer_nc,
+ kernel_size=4, stride=2,
+ padding=1, bias=use_bias)
+ down = [downrelu, downconv, downnorm]
+ up = [uprelu, upconv, upnorm]
+
+ if use_dropout:
+ model = down + [submodule] + up + [nn.Dropout(0.5)]
+ else:
+ model = down + [submodule] + up
+
+ self.model = nn.Sequential(*model)
+
+ def forward(self, x):
+ if self.outermost:
+ return self.model(x)
+ else: # add skip connections
+ return torch.cat([x, self.model(x)], 1)
+
+
+class LineartAnimeDetector:
+ model_dir = os.path.join(models_path, "lineart_anime")
+
+ def __init__(self):
+ self.model = None
+ self.device = devices.get_device_for("controlnet")
+
+ def load_model(self):
+ remote_model_path = "https://huggingface.co/lllyasviel/Annotators/resolve/main/netG.pth"
+ modelpath = os.path.join(self.model_dir, "netG.pth")
+ if not os.path.exists(modelpath):
+ from basicsr.utils.download_util import load_file_from_url
+ load_file_from_url(remote_model_path, model_dir=self.model_dir)
+ norm_layer = functools.partial(nn.InstanceNorm2d, affine=False, track_running_stats=False)
+ net = UnetGenerator(3, 1, 8, 64, norm_layer=norm_layer, use_dropout=False)
+ ckpt = torch.load(modelpath)
+ for key in list(ckpt.keys()):
+ if 'module.' in key:
+ ckpt[key.replace('module.', '')] = ckpt[key]
+ del ckpt[key]
+ net.load_state_dict(ckpt)
+ net.eval()
+ self.model = net.to(self.device)
+
+ def unload_model(self):
+ if self.model is not None:
+ self.model.cpu()
+
+ def __call__(self, input_image):
+ if self.model is None:
+ self.load_model()
+ self.model.to(self.device)
+
+ H, W, C = input_image.shape
+ Hn = 256 * int(np.ceil(float(H) / 256.0))
+ Wn = 256 * int(np.ceil(float(W) / 256.0))
+ img = cv2.resize(input_image, (Wn, Hn), interpolation=cv2.INTER_CUBIC)
+ with torch.no_grad():
+ image_feed = torch.from_numpy(img).float().to(self.device)
+ image_feed = image_feed / 127.5 - 1.0
+ image_feed = rearrange(image_feed, 'h w c -> 1 c h w')
+
+ line = self.model(image_feed)[0, 0] * 127.5 + 127.5
+ line = line.cpu().numpy()
+
+ line = cv2.resize(line, (W, H), interpolation=cv2.INTER_CUBIC)
+ line = line.clip(0, 255).astype(np.uint8)
+ return line
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/manga_line/LICENSE b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/manga_line/LICENSE
new file mode 100644
index 0000000000000000000000000000000000000000..9bad05450ca061904f97acebe04ff7183cfbdc1a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/manga_line/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2021 Miaomiao Li
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/manga_line/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/manga_line/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..c797fd22c563a775162c8fd646dfa50077e4ac16
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/manga_line/__init__.py
@@ -0,0 +1,248 @@
+import os
+import torch
+import torch.nn as nn
+from PIL import Image
+import fnmatch
+import cv2
+
+import sys
+
+import numpy as np
+from einops import rearrange
+from modules import devices
+from annotator.annotator_path import models_path
+
+
+class _bn_relu_conv(nn.Module):
+ def __init__(self, in_filters, nb_filters, fw, fh, subsample=1):
+ super(_bn_relu_conv, self).__init__()
+ self.model = nn.Sequential(
+ nn.BatchNorm2d(in_filters, eps=1e-3),
+ nn.LeakyReLU(0.2),
+ nn.Conv2d(in_filters, nb_filters, (fw, fh), stride=subsample, padding=(fw//2, fh//2), padding_mode='zeros')
+ )
+
+ def forward(self, x):
+ return self.model(x)
+
+ # the following are for debugs
+ print("****", np.max(x.cpu().numpy()), np.min(x.cpu().numpy()), np.mean(x.cpu().numpy()), np.std(x.cpu().numpy()), x.shape)
+ for i,layer in enumerate(self.model):
+ if i != 2:
+ x = layer(x)
+ else:
+ x = layer(x)
+ #x = nn.functional.pad(x, (1, 1, 1, 1), mode='constant', value=0)
+ print("____", np.max(x.cpu().numpy()), np.min(x.cpu().numpy()), np.mean(x.cpu().numpy()), np.std(x.cpu().numpy()), x.shape)
+ print(x[0])
+ return x
+
+class _u_bn_relu_conv(nn.Module):
+ def __init__(self, in_filters, nb_filters, fw, fh, subsample=1):
+ super(_u_bn_relu_conv, self).__init__()
+ self.model = nn.Sequential(
+ nn.BatchNorm2d(in_filters, eps=1e-3),
+ nn.LeakyReLU(0.2),
+ nn.Conv2d(in_filters, nb_filters, (fw, fh), stride=subsample, padding=(fw//2, fh//2)),
+ nn.Upsample(scale_factor=2, mode='nearest')
+ )
+
+ def forward(self, x):
+ return self.model(x)
+
+
+
+class _shortcut(nn.Module):
+ def __init__(self, in_filters, nb_filters, subsample=1):
+ super(_shortcut, self).__init__()
+ self.process = False
+ self.model = None
+ if in_filters != nb_filters or subsample != 1:
+ self.process = True
+ self.model = nn.Sequential(
+ nn.Conv2d(in_filters, nb_filters, (1, 1), stride=subsample)
+ )
+
+ def forward(self, x, y):
+ #print(x.size(), y.size(), self.process)
+ if self.process:
+ y0 = self.model(x)
+ #print("merge+", torch.max(y0+y), torch.min(y0+y),torch.mean(y0+y), torch.std(y0+y), y0.shape)
+ return y0 + y
+ else:
+ #print("merge", torch.max(x+y), torch.min(x+y),torch.mean(x+y), torch.std(x+y), y.shape)
+ return x + y
+
+class _u_shortcut(nn.Module):
+ def __init__(self, in_filters, nb_filters, subsample):
+ super(_u_shortcut, self).__init__()
+ self.process = False
+ self.model = None
+ if in_filters != nb_filters:
+ self.process = True
+ self.model = nn.Sequential(
+ nn.Conv2d(in_filters, nb_filters, (1, 1), stride=subsample, padding_mode='zeros'),
+ nn.Upsample(scale_factor=2, mode='nearest')
+ )
+
+ def forward(self, x, y):
+ if self.process:
+ return self.model(x) + y
+ else:
+ return x + y
+
+
+class basic_block(nn.Module):
+ def __init__(self, in_filters, nb_filters, init_subsample=1):
+ super(basic_block, self).__init__()
+ self.conv1 = _bn_relu_conv(in_filters, nb_filters, 3, 3, subsample=init_subsample)
+ self.residual = _bn_relu_conv(nb_filters, nb_filters, 3, 3)
+ self.shortcut = _shortcut(in_filters, nb_filters, subsample=init_subsample)
+
+ def forward(self, x):
+ x1 = self.conv1(x)
+ x2 = self.residual(x1)
+ return self.shortcut(x, x2)
+
+class _u_basic_block(nn.Module):
+ def __init__(self, in_filters, nb_filters, init_subsample=1):
+ super(_u_basic_block, self).__init__()
+ self.conv1 = _u_bn_relu_conv(in_filters, nb_filters, 3, 3, subsample=init_subsample)
+ self.residual = _bn_relu_conv(nb_filters, nb_filters, 3, 3)
+ self.shortcut = _u_shortcut(in_filters, nb_filters, subsample=init_subsample)
+
+ def forward(self, x):
+ y = self.residual(self.conv1(x))
+ return self.shortcut(x, y)
+
+
+class _residual_block(nn.Module):
+ def __init__(self, in_filters, nb_filters, repetitions, is_first_layer=False):
+ super(_residual_block, self).__init__()
+ layers = []
+ for i in range(repetitions):
+ init_subsample = 1
+ if i == repetitions - 1 and not is_first_layer:
+ init_subsample = 2
+ if i == 0:
+ l = basic_block(in_filters=in_filters, nb_filters=nb_filters, init_subsample=init_subsample)
+ else:
+ l = basic_block(in_filters=nb_filters, nb_filters=nb_filters, init_subsample=init_subsample)
+ layers.append(l)
+
+ self.model = nn.Sequential(*layers)
+
+ def forward(self, x):
+ return self.model(x)
+
+
+class _upsampling_residual_block(nn.Module):
+ def __init__(self, in_filters, nb_filters, repetitions):
+ super(_upsampling_residual_block, self).__init__()
+ layers = []
+ for i in range(repetitions):
+ l = None
+ if i == 0:
+ l = _u_basic_block(in_filters=in_filters, nb_filters=nb_filters)#(input)
+ else:
+ l = basic_block(in_filters=nb_filters, nb_filters=nb_filters)#(input)
+ layers.append(l)
+
+ self.model = nn.Sequential(*layers)
+
+ def forward(self, x):
+ return self.model(x)
+
+
+class res_skip(nn.Module):
+
+ def __init__(self):
+ super(res_skip, self).__init__()
+ self.block0 = _residual_block(in_filters=1, nb_filters=24, repetitions=2, is_first_layer=True)#(input)
+ self.block1 = _residual_block(in_filters=24, nb_filters=48, repetitions=3)#(block0)
+ self.block2 = _residual_block(in_filters=48, nb_filters=96, repetitions=5)#(block1)
+ self.block3 = _residual_block(in_filters=96, nb_filters=192, repetitions=7)#(block2)
+ self.block4 = _residual_block(in_filters=192, nb_filters=384, repetitions=12)#(block3)
+
+ self.block5 = _upsampling_residual_block(in_filters=384, nb_filters=192, repetitions=7)#(block4)
+ self.res1 = _shortcut(in_filters=192, nb_filters=192)#(block3, block5, subsample=(1,1))
+
+ self.block6 = _upsampling_residual_block(in_filters=192, nb_filters=96, repetitions=5)#(res1)
+ self.res2 = _shortcut(in_filters=96, nb_filters=96)#(block2, block6, subsample=(1,1))
+
+ self.block7 = _upsampling_residual_block(in_filters=96, nb_filters=48, repetitions=3)#(res2)
+ self.res3 = _shortcut(in_filters=48, nb_filters=48)#(block1, block7, subsample=(1,1))
+
+ self.block8 = _upsampling_residual_block(in_filters=48, nb_filters=24, repetitions=2)#(res3)
+ self.res4 = _shortcut(in_filters=24, nb_filters=24)#(block0,block8, subsample=(1,1))
+
+ self.block9 = _residual_block(in_filters=24, nb_filters=16, repetitions=2, is_first_layer=True)#(res4)
+ self.conv15 = _bn_relu_conv(in_filters=16, nb_filters=1, fh=1, fw=1, subsample=1)#(block7)
+
+ def forward(self, x):
+ x0 = self.block0(x)
+ x1 = self.block1(x0)
+ x2 = self.block2(x1)
+ x3 = self.block3(x2)
+ x4 = self.block4(x3)
+
+ x5 = self.block5(x4)
+ res1 = self.res1(x3, x5)
+
+ x6 = self.block6(res1)
+ res2 = self.res2(x2, x6)
+
+ x7 = self.block7(res2)
+ res3 = self.res3(x1, x7)
+
+ x8 = self.block8(res3)
+ res4 = self.res4(x0, x8)
+
+ x9 = self.block9(res4)
+ y = self.conv15(x9)
+
+ return y
+
+
+class MangaLineExtration:
+ model_dir = os.path.join(models_path, "manga_line")
+
+ def __init__(self):
+ self.model = None
+ self.device = devices.get_device_for("controlnet")
+
+ def load_model(self):
+ remote_model_path = "https://huggingface.co/lllyasviel/Annotators/resolve/main/erika.pth"
+ modelpath = os.path.join(self.model_dir, "erika.pth")
+ if not os.path.exists(modelpath):
+ from basicsr.utils.download_util import load_file_from_url
+ load_file_from_url(remote_model_path, model_dir=self.model_dir)
+ #norm_layer = functools.partial(nn.InstanceNorm2d, affine=False, track_running_stats=False)
+ net = res_skip()
+ ckpt = torch.load(modelpath)
+ for key in list(ckpt.keys()):
+ if 'module.' in key:
+ ckpt[key.replace('module.', '')] = ckpt[key]
+ del ckpt[key]
+ net.load_state_dict(ckpt)
+ net.eval()
+ self.model = net.to(self.device)
+
+ def unload_model(self):
+ if self.model is not None:
+ self.model.cpu()
+
+ def __call__(self, input_image):
+ if self.model is None:
+ self.load_model()
+ self.model.to(self.device)
+ img = cv2.cvtColor(input_image, cv2.COLOR_RGB2GRAY)
+ img = np.ascontiguousarray(img.copy()).copy()
+ with torch.no_grad():
+ image_feed = torch.from_numpy(img).float().to(self.device)
+ image_feed = rearrange(image_feed, 'h w -> 1 1 h w')
+ line = self.model(image_feed)
+ line = 255 - line.cpu().numpy()[0, 0]
+ return line.clip(0, 255).astype(np.uint8)
+
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mediapipe_face/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mediapipe_face/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..f74edfb187e4e39583ed92bfe69ea29c42a34ddc
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mediapipe_face/__init__.py
@@ -0,0 +1,5 @@
+from .mediapipe_face_common import generate_annotation
+
+
+def apply_mediapipe_face(image, max_faces: int = 1, min_confidence: float = 0.5):
+ return generate_annotation(image, max_faces, min_confidence)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mediapipe_face/mediapipe_face_common.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mediapipe_face/mediapipe_face_common.py
new file mode 100644
index 0000000000000000000000000000000000000000..0f7d3701dc40eee88977f17a877fa800d0ae328d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mediapipe_face/mediapipe_face_common.py
@@ -0,0 +1,155 @@
+from typing import Mapping
+
+import mediapipe as mp
+import numpy
+
+
+mp_drawing = mp.solutions.drawing_utils
+mp_drawing_styles = mp.solutions.drawing_styles
+mp_face_detection = mp.solutions.face_detection # Only for counting faces.
+mp_face_mesh = mp.solutions.face_mesh
+mp_face_connections = mp.solutions.face_mesh_connections.FACEMESH_TESSELATION
+mp_hand_connections = mp.solutions.hands_connections.HAND_CONNECTIONS
+mp_body_connections = mp.solutions.pose_connections.POSE_CONNECTIONS
+
+DrawingSpec = mp.solutions.drawing_styles.DrawingSpec
+PoseLandmark = mp.solutions.drawing_styles.PoseLandmark
+
+min_face_size_pixels: int = 64
+f_thick = 2
+f_rad = 1
+right_iris_draw = DrawingSpec(color=(10, 200, 250), thickness=f_thick, circle_radius=f_rad)
+right_eye_draw = DrawingSpec(color=(10, 200, 180), thickness=f_thick, circle_radius=f_rad)
+right_eyebrow_draw = DrawingSpec(color=(10, 220, 180), thickness=f_thick, circle_radius=f_rad)
+left_iris_draw = DrawingSpec(color=(250, 200, 10), thickness=f_thick, circle_radius=f_rad)
+left_eye_draw = DrawingSpec(color=(180, 200, 10), thickness=f_thick, circle_radius=f_rad)
+left_eyebrow_draw = DrawingSpec(color=(180, 220, 10), thickness=f_thick, circle_radius=f_rad)
+mouth_draw = DrawingSpec(color=(10, 180, 10), thickness=f_thick, circle_radius=f_rad)
+head_draw = DrawingSpec(color=(10, 200, 10), thickness=f_thick, circle_radius=f_rad)
+
+# mp_face_mesh.FACEMESH_CONTOURS has all the items we care about.
+face_connection_spec = {}
+for edge in mp_face_mesh.FACEMESH_FACE_OVAL:
+ face_connection_spec[edge] = head_draw
+for edge in mp_face_mesh.FACEMESH_LEFT_EYE:
+ face_connection_spec[edge] = left_eye_draw
+for edge in mp_face_mesh.FACEMESH_LEFT_EYEBROW:
+ face_connection_spec[edge] = left_eyebrow_draw
+# for edge in mp_face_mesh.FACEMESH_LEFT_IRIS:
+# face_connection_spec[edge] = left_iris_draw
+for edge in mp_face_mesh.FACEMESH_RIGHT_EYE:
+ face_connection_spec[edge] = right_eye_draw
+for edge in mp_face_mesh.FACEMESH_RIGHT_EYEBROW:
+ face_connection_spec[edge] = right_eyebrow_draw
+# for edge in mp_face_mesh.FACEMESH_RIGHT_IRIS:
+# face_connection_spec[edge] = right_iris_draw
+for edge in mp_face_mesh.FACEMESH_LIPS:
+ face_connection_spec[edge] = mouth_draw
+iris_landmark_spec = {468: right_iris_draw, 473: left_iris_draw}
+
+
+def draw_pupils(image, landmark_list, drawing_spec, halfwidth: int = 2):
+ """We have a custom function to draw the pupils because the mp.draw_landmarks method requires a parameter for all
+ landmarks. Until our PR is merged into mediapipe, we need this separate method."""
+ if len(image.shape) != 3:
+ raise ValueError("Input image must be H,W,C.")
+ image_rows, image_cols, image_channels = image.shape
+ if image_channels != 3: # BGR channels
+ raise ValueError('Input image must contain three channel bgr data.')
+ for idx, landmark in enumerate(landmark_list.landmark):
+ if (
+ (landmark.HasField('visibility') and landmark.visibility < 0.9) or
+ (landmark.HasField('presence') and landmark.presence < 0.5)
+ ):
+ continue
+ if landmark.x >= 1.0 or landmark.x < 0 or landmark.y >= 1.0 or landmark.y < 0:
+ continue
+ image_x = int(image_cols*landmark.x)
+ image_y = int(image_rows*landmark.y)
+ draw_color = None
+ if isinstance(drawing_spec, Mapping):
+ if drawing_spec.get(idx) is None:
+ continue
+ else:
+ draw_color = drawing_spec[idx].color
+ elif isinstance(drawing_spec, DrawingSpec):
+ draw_color = drawing_spec.color
+ image[image_y-halfwidth:image_y+halfwidth, image_x-halfwidth:image_x+halfwidth, :] = draw_color
+
+
+def reverse_channels(image):
+ """Given a numpy array in RGB form, convert to BGR. Will also convert from BGR to RGB."""
+ # im[:,:,::-1] is a neat hack to convert BGR to RGB by reversing the indexing order.
+ # im[:,:,::[2,1,0]] would also work but makes a copy of the data.
+ return image[:, :, ::-1]
+
+
+def generate_annotation(
+ img_rgb,
+ max_faces: int,
+ min_confidence: float
+):
+ """
+ Find up to 'max_faces' inside the provided input image.
+ If min_face_size_pixels is provided and nonzero it will be used to filter faces that occupy less than this many
+ pixels in the image.
+ """
+ with mp_face_mesh.FaceMesh(
+ static_image_mode=True,
+ max_num_faces=max_faces,
+ refine_landmarks=True,
+ min_detection_confidence=min_confidence,
+ ) as facemesh:
+ img_height, img_width, img_channels = img_rgb.shape
+ assert(img_channels == 3)
+
+ results = facemesh.process(img_rgb).multi_face_landmarks
+
+ if results is None:
+ print("No faces detected in controlnet image for Mediapipe face annotator.")
+ return numpy.zeros_like(img_rgb)
+
+ # Filter faces that are too small
+ filtered_landmarks = []
+ for lm in results:
+ landmarks = lm.landmark
+ face_rect = [
+ landmarks[0].x,
+ landmarks[0].y,
+ landmarks[0].x,
+ landmarks[0].y,
+ ] # Left, up, right, down.
+ for i in range(len(landmarks)):
+ face_rect[0] = min(face_rect[0], landmarks[i].x)
+ face_rect[1] = min(face_rect[1], landmarks[i].y)
+ face_rect[2] = max(face_rect[2], landmarks[i].x)
+ face_rect[3] = max(face_rect[3], landmarks[i].y)
+ if min_face_size_pixels > 0:
+ face_width = abs(face_rect[2] - face_rect[0])
+ face_height = abs(face_rect[3] - face_rect[1])
+ face_width_pixels = face_width * img_width
+ face_height_pixels = face_height * img_height
+ face_size = min(face_width_pixels, face_height_pixels)
+ if face_size >= min_face_size_pixels:
+ filtered_landmarks.append(lm)
+ else:
+ filtered_landmarks.append(lm)
+
+ # Annotations are drawn in BGR for some reason, but we don't need to flip a zero-filled image at the start.
+ empty = numpy.zeros_like(img_rgb)
+
+ # Draw detected faces:
+ for face_landmarks in filtered_landmarks:
+ mp_drawing.draw_landmarks(
+ empty,
+ face_landmarks,
+ connections=face_connection_spec.keys(),
+ landmark_drawing_spec=None,
+ connection_drawing_spec=face_connection_spec
+ )
+ draw_pupils(empty, face_landmarks, iris_landmark_spec, 2)
+
+ # Flip BGR back to RGB.
+ empty = reverse_channels(empty).copy()
+
+ return empty
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/midas/LICENSE b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/midas/LICENSE
new file mode 100644
index 0000000000000000000000000000000000000000..277b5c11be103f028a8d10985139f1da10c2f08e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/midas/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2019 Intel ISL (Intel Intelligent Systems Lab)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/midas/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/midas/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..dc247615fbdaeba9105512184ce39a5baab57b2b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/midas/__init__.py
@@ -0,0 +1,49 @@
+import cv2
+import numpy as np
+import torch
+
+from einops import rearrange
+from .api import MiDaSInference
+from modules import devices
+
+model = None
+
+def unload_midas_model():
+ global model
+ if model is not None:
+ model = model.cpu()
+
+def apply_midas(input_image, a=np.pi * 2.0, bg_th=0.1):
+ global model
+ if model is None:
+ model = MiDaSInference(model_type="dpt_hybrid")
+ if devices.get_device_for("controlnet").type != 'mps':
+ model = model.to(devices.get_device_for("controlnet"))
+
+ assert input_image.ndim == 3
+ image_depth = input_image
+ with torch.no_grad():
+ image_depth = torch.from_numpy(image_depth).float()
+ if devices.get_device_for("controlnet").type != 'mps':
+ image_depth = image_depth.to(devices.get_device_for("controlnet"))
+ image_depth = image_depth / 127.5 - 1.0
+ image_depth = rearrange(image_depth, 'h w c -> 1 c h w')
+ depth = model(image_depth)[0]
+
+ depth_pt = depth.clone()
+ depth_pt -= torch.min(depth_pt)
+ depth_pt /= torch.max(depth_pt)
+ depth_pt = depth_pt.cpu().numpy()
+ depth_image = (depth_pt * 255.0).clip(0, 255).astype(np.uint8)
+
+ depth_np = depth.cpu().numpy()
+ x = cv2.Sobel(depth_np, cv2.CV_32F, 1, 0, ksize=3)
+ y = cv2.Sobel(depth_np, cv2.CV_32F, 0, 1, ksize=3)
+ z = np.ones_like(x) * a
+ x[depth_pt < bg_th] = 0
+ y[depth_pt < bg_th] = 0
+ normal = np.stack([x, y, z], axis=2)
+ normal /= np.sum(normal ** 2.0, axis=2, keepdims=True) ** 0.5
+ normal_image = (normal * 127.5 + 127.5).clip(0, 255).astype(np.uint8)[:, :, ::-1]
+
+ return depth_image, normal_image
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/midas/api.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/midas/api.py
new file mode 100644
index 0000000000000000000000000000000000000000..72870381f336427b886dedef1c208c5f66c6f4cc
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/midas/api.py
@@ -0,0 +1,181 @@
+# based on https://github.com/isl-org/MiDaS
+
+import cv2
+import torch
+import torch.nn as nn
+import os
+from annotator.annotator_path import models_path
+
+from torchvision.transforms import Compose
+
+from .midas.dpt_depth import DPTDepthModel
+from .midas.midas_net import MidasNet
+from .midas.midas_net_custom import MidasNet_small
+from .midas.transforms import Resize, NormalizeImage, PrepareForNet
+
+base_model_path = os.path.join(models_path, "midas")
+old_modeldir = os.path.dirname(os.path.realpath(__file__))
+remote_model_path = "https://huggingface.co/lllyasviel/ControlNet/resolve/main/annotator/ckpts/dpt_hybrid-midas-501f0c75.pt"
+
+ISL_PATHS = {
+ "dpt_large": os.path.join(base_model_path, "dpt_large-midas-2f21e586.pt"),
+ "dpt_hybrid": os.path.join(base_model_path, "dpt_hybrid-midas-501f0c75.pt"),
+ "midas_v21": "",
+ "midas_v21_small": "",
+}
+
+OLD_ISL_PATHS = {
+ "dpt_large": os.path.join(old_modeldir, "dpt_large-midas-2f21e586.pt"),
+ "dpt_hybrid": os.path.join(old_modeldir, "dpt_hybrid-midas-501f0c75.pt"),
+ "midas_v21": "",
+ "midas_v21_small": "",
+}
+
+
+def disabled_train(self, mode=True):
+ """Overwrite model.train with this function to make sure train/eval mode
+ does not change anymore."""
+ return self
+
+
+def load_midas_transform(model_type):
+ # https://github.com/isl-org/MiDaS/blob/master/run.py
+ # load transform only
+ if model_type == "dpt_large": # DPT-Large
+ net_w, net_h = 384, 384
+ resize_mode = "minimal"
+ normalization = NormalizeImage(mean=[0.5, 0.5, 0.5], std=[0.5, 0.5, 0.5])
+
+ elif model_type == "dpt_hybrid": # DPT-Hybrid
+ net_w, net_h = 384, 384
+ resize_mode = "minimal"
+ normalization = NormalizeImage(mean=[0.5, 0.5, 0.5], std=[0.5, 0.5, 0.5])
+
+ elif model_type == "midas_v21":
+ net_w, net_h = 384, 384
+ resize_mode = "upper_bound"
+ normalization = NormalizeImage(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
+
+ elif model_type == "midas_v21_small":
+ net_w, net_h = 256, 256
+ resize_mode = "upper_bound"
+ normalization = NormalizeImage(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
+
+ else:
+ assert False, f"model_type '{model_type}' not implemented, use: --model_type large"
+
+ transform = Compose(
+ [
+ Resize(
+ net_w,
+ net_h,
+ resize_target=None,
+ keep_aspect_ratio=True,
+ ensure_multiple_of=32,
+ resize_method=resize_mode,
+ image_interpolation_method=cv2.INTER_CUBIC,
+ ),
+ normalization,
+ PrepareForNet(),
+ ]
+ )
+
+ return transform
+
+
+def load_model(model_type):
+ # https://github.com/isl-org/MiDaS/blob/master/run.py
+ # load network
+ model_path = ISL_PATHS[model_type]
+ old_model_path = OLD_ISL_PATHS[model_type]
+ if model_type == "dpt_large": # DPT-Large
+ model = DPTDepthModel(
+ path=model_path,
+ backbone="vitl16_384",
+ non_negative=True,
+ )
+ net_w, net_h = 384, 384
+ resize_mode = "minimal"
+ normalization = NormalizeImage(mean=[0.5, 0.5, 0.5], std=[0.5, 0.5, 0.5])
+
+ elif model_type == "dpt_hybrid": # DPT-Hybrid
+ if os.path.exists(old_model_path):
+ model_path = old_model_path
+ elif not os.path.exists(model_path):
+ from basicsr.utils.download_util import load_file_from_url
+ load_file_from_url(remote_model_path, model_dir=base_model_path)
+
+ model = DPTDepthModel(
+ path=model_path,
+ backbone="vitb_rn50_384",
+ non_negative=True,
+ )
+ net_w, net_h = 384, 384
+ resize_mode = "minimal"
+ normalization = NormalizeImage(mean=[0.5, 0.5, 0.5], std=[0.5, 0.5, 0.5])
+
+ elif model_type == "midas_v21":
+ model = MidasNet(model_path, non_negative=True)
+ net_w, net_h = 384, 384
+ resize_mode = "upper_bound"
+ normalization = NormalizeImage(
+ mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]
+ )
+
+ elif model_type == "midas_v21_small":
+ model = MidasNet_small(model_path, features=64, backbone="efficientnet_lite3", exportable=True,
+ non_negative=True, blocks={'expand': True})
+ net_w, net_h = 256, 256
+ resize_mode = "upper_bound"
+ normalization = NormalizeImage(
+ mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]
+ )
+
+ else:
+ print(f"model_type '{model_type}' not implemented, use: --model_type large")
+ assert False
+
+ transform = Compose(
+ [
+ Resize(
+ net_w,
+ net_h,
+ resize_target=None,
+ keep_aspect_ratio=True,
+ ensure_multiple_of=32,
+ resize_method=resize_mode,
+ image_interpolation_method=cv2.INTER_CUBIC,
+ ),
+ normalization,
+ PrepareForNet(),
+ ]
+ )
+
+ return model.eval(), transform
+
+
+class MiDaSInference(nn.Module):
+ MODEL_TYPES_TORCH_HUB = [
+ "DPT_Large",
+ "DPT_Hybrid",
+ "MiDaS_small"
+ ]
+ MODEL_TYPES_ISL = [
+ "dpt_large",
+ "dpt_hybrid",
+ "midas_v21",
+ "midas_v21_small",
+ ]
+
+ def __init__(self, model_type):
+ super().__init__()
+ assert (model_type in self.MODEL_TYPES_ISL)
+ model, _ = load_model(model_type)
+ self.model = model
+ self.model.train = disabled_train
+
+ def forward(self, x):
+ with torch.no_grad():
+ prediction = self.model(x)
+ return prediction
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/midas/midas/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/midas/midas/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/midas/midas/base_model.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/midas/midas/base_model.py
new file mode 100644
index 0000000000000000000000000000000000000000..5cf430239b47ec5ec07531263f26f5c24a2311cd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/midas/midas/base_model.py
@@ -0,0 +1,16 @@
+import torch
+
+
+class BaseModel(torch.nn.Module):
+ def load(self, path):
+ """Load model from file.
+
+ Args:
+ path (str): file path
+ """
+ parameters = torch.load(path, map_location=torch.device('cpu'))
+
+ if "optimizer" in parameters:
+ parameters = parameters["model"]
+
+ self.load_state_dict(parameters)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/midas/midas/blocks.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/midas/midas/blocks.py
new file mode 100644
index 0000000000000000000000000000000000000000..2145d18fa98060a618536d9a64fe6589e9be4f78
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/midas/midas/blocks.py
@@ -0,0 +1,342 @@
+import torch
+import torch.nn as nn
+
+from .vit import (
+ _make_pretrained_vitb_rn50_384,
+ _make_pretrained_vitl16_384,
+ _make_pretrained_vitb16_384,
+ forward_vit,
+)
+
+def _make_encoder(backbone, features, use_pretrained, groups=1, expand=False, exportable=True, hooks=None, use_vit_only=False, use_readout="ignore",):
+ if backbone == "vitl16_384":
+ pretrained = _make_pretrained_vitl16_384(
+ use_pretrained, hooks=hooks, use_readout=use_readout
+ )
+ scratch = _make_scratch(
+ [256, 512, 1024, 1024], features, groups=groups, expand=expand
+ ) # ViT-L/16 - 85.0% Top1 (backbone)
+ elif backbone == "vitb_rn50_384":
+ pretrained = _make_pretrained_vitb_rn50_384(
+ use_pretrained,
+ hooks=hooks,
+ use_vit_only=use_vit_only,
+ use_readout=use_readout,
+ )
+ scratch = _make_scratch(
+ [256, 512, 768, 768], features, groups=groups, expand=expand
+ ) # ViT-H/16 - 85.0% Top1 (backbone)
+ elif backbone == "vitb16_384":
+ pretrained = _make_pretrained_vitb16_384(
+ use_pretrained, hooks=hooks, use_readout=use_readout
+ )
+ scratch = _make_scratch(
+ [96, 192, 384, 768], features, groups=groups, expand=expand
+ ) # ViT-B/16 - 84.6% Top1 (backbone)
+ elif backbone == "resnext101_wsl":
+ pretrained = _make_pretrained_resnext101_wsl(use_pretrained)
+ scratch = _make_scratch([256, 512, 1024, 2048], features, groups=groups, expand=expand) # efficientnet_lite3
+ elif backbone == "efficientnet_lite3":
+ pretrained = _make_pretrained_efficientnet_lite3(use_pretrained, exportable=exportable)
+ scratch = _make_scratch([32, 48, 136, 384], features, groups=groups, expand=expand) # efficientnet_lite3
+ else:
+ print(f"Backbone '{backbone}' not implemented")
+ assert False
+
+ return pretrained, scratch
+
+
+def _make_scratch(in_shape, out_shape, groups=1, expand=False):
+ scratch = nn.Module()
+
+ out_shape1 = out_shape
+ out_shape2 = out_shape
+ out_shape3 = out_shape
+ out_shape4 = out_shape
+ if expand==True:
+ out_shape1 = out_shape
+ out_shape2 = out_shape*2
+ out_shape3 = out_shape*4
+ out_shape4 = out_shape*8
+
+ scratch.layer1_rn = nn.Conv2d(
+ in_shape[0], out_shape1, kernel_size=3, stride=1, padding=1, bias=False, groups=groups
+ )
+ scratch.layer2_rn = nn.Conv2d(
+ in_shape[1], out_shape2, kernel_size=3, stride=1, padding=1, bias=False, groups=groups
+ )
+ scratch.layer3_rn = nn.Conv2d(
+ in_shape[2], out_shape3, kernel_size=3, stride=1, padding=1, bias=False, groups=groups
+ )
+ scratch.layer4_rn = nn.Conv2d(
+ in_shape[3], out_shape4, kernel_size=3, stride=1, padding=1, bias=False, groups=groups
+ )
+
+ return scratch
+
+
+def _make_pretrained_efficientnet_lite3(use_pretrained, exportable=False):
+ efficientnet = torch.hub.load(
+ "rwightman/gen-efficientnet-pytorch",
+ "tf_efficientnet_lite3",
+ pretrained=use_pretrained,
+ exportable=exportable
+ )
+ return _make_efficientnet_backbone(efficientnet)
+
+
+def _make_efficientnet_backbone(effnet):
+ pretrained = nn.Module()
+
+ pretrained.layer1 = nn.Sequential(
+ effnet.conv_stem, effnet.bn1, effnet.act1, *effnet.blocks[0:2]
+ )
+ pretrained.layer2 = nn.Sequential(*effnet.blocks[2:3])
+ pretrained.layer3 = nn.Sequential(*effnet.blocks[3:5])
+ pretrained.layer4 = nn.Sequential(*effnet.blocks[5:9])
+
+ return pretrained
+
+
+def _make_resnet_backbone(resnet):
+ pretrained = nn.Module()
+ pretrained.layer1 = nn.Sequential(
+ resnet.conv1, resnet.bn1, resnet.relu, resnet.maxpool, resnet.layer1
+ )
+
+ pretrained.layer2 = resnet.layer2
+ pretrained.layer3 = resnet.layer3
+ pretrained.layer4 = resnet.layer4
+
+ return pretrained
+
+
+def _make_pretrained_resnext101_wsl(use_pretrained):
+ resnet = torch.hub.load("facebookresearch/WSL-Images", "resnext101_32x8d_wsl")
+ return _make_resnet_backbone(resnet)
+
+
+
+class Interpolate(nn.Module):
+ """Interpolation module.
+ """
+
+ def __init__(self, scale_factor, mode, align_corners=False):
+ """Init.
+
+ Args:
+ scale_factor (float): scaling
+ mode (str): interpolation mode
+ """
+ super(Interpolate, self).__init__()
+
+ self.interp = nn.functional.interpolate
+ self.scale_factor = scale_factor
+ self.mode = mode
+ self.align_corners = align_corners
+
+ def forward(self, x):
+ """Forward pass.
+
+ Args:
+ x (tensor): input
+
+ Returns:
+ tensor: interpolated data
+ """
+
+ x = self.interp(
+ x, scale_factor=self.scale_factor, mode=self.mode, align_corners=self.align_corners
+ )
+
+ return x
+
+
+class ResidualConvUnit(nn.Module):
+ """Residual convolution module.
+ """
+
+ def __init__(self, features):
+ """Init.
+
+ Args:
+ features (int): number of features
+ """
+ super().__init__()
+
+ self.conv1 = nn.Conv2d(
+ features, features, kernel_size=3, stride=1, padding=1, bias=True
+ )
+
+ self.conv2 = nn.Conv2d(
+ features, features, kernel_size=3, stride=1, padding=1, bias=True
+ )
+
+ self.relu = nn.ReLU(inplace=True)
+
+ def forward(self, x):
+ """Forward pass.
+
+ Args:
+ x (tensor): input
+
+ Returns:
+ tensor: output
+ """
+ out = self.relu(x)
+ out = self.conv1(out)
+ out = self.relu(out)
+ out = self.conv2(out)
+
+ return out + x
+
+
+class FeatureFusionBlock(nn.Module):
+ """Feature fusion block.
+ """
+
+ def __init__(self, features):
+ """Init.
+
+ Args:
+ features (int): number of features
+ """
+ super(FeatureFusionBlock, self).__init__()
+
+ self.resConfUnit1 = ResidualConvUnit(features)
+ self.resConfUnit2 = ResidualConvUnit(features)
+
+ def forward(self, *xs):
+ """Forward pass.
+
+ Returns:
+ tensor: output
+ """
+ output = xs[0]
+
+ if len(xs) == 2:
+ output += self.resConfUnit1(xs[1])
+
+ output = self.resConfUnit2(output)
+
+ output = nn.functional.interpolate(
+ output, scale_factor=2, mode="bilinear", align_corners=True
+ )
+
+ return output
+
+
+
+
+class ResidualConvUnit_custom(nn.Module):
+ """Residual convolution module.
+ """
+
+ def __init__(self, features, activation, bn):
+ """Init.
+
+ Args:
+ features (int): number of features
+ """
+ super().__init__()
+
+ self.bn = bn
+
+ self.groups=1
+
+ self.conv1 = nn.Conv2d(
+ features, features, kernel_size=3, stride=1, padding=1, bias=True, groups=self.groups
+ )
+
+ self.conv2 = nn.Conv2d(
+ features, features, kernel_size=3, stride=1, padding=1, bias=True, groups=self.groups
+ )
+
+ if self.bn==True:
+ self.bn1 = nn.BatchNorm2d(features)
+ self.bn2 = nn.BatchNorm2d(features)
+
+ self.activation = activation
+
+ self.skip_add = nn.quantized.FloatFunctional()
+
+ def forward(self, x):
+ """Forward pass.
+
+ Args:
+ x (tensor): input
+
+ Returns:
+ tensor: output
+ """
+
+ out = self.activation(x)
+ out = self.conv1(out)
+ if self.bn==True:
+ out = self.bn1(out)
+
+ out = self.activation(out)
+ out = self.conv2(out)
+ if self.bn==True:
+ out = self.bn2(out)
+
+ if self.groups > 1:
+ out = self.conv_merge(out)
+
+ return self.skip_add.add(out, x)
+
+ # return out + x
+
+
+class FeatureFusionBlock_custom(nn.Module):
+ """Feature fusion block.
+ """
+
+ def __init__(self, features, activation, deconv=False, bn=False, expand=False, align_corners=True):
+ """Init.
+
+ Args:
+ features (int): number of features
+ """
+ super(FeatureFusionBlock_custom, self).__init__()
+
+ self.deconv = deconv
+ self.align_corners = align_corners
+
+ self.groups=1
+
+ self.expand = expand
+ out_features = features
+ if self.expand==True:
+ out_features = features//2
+
+ self.out_conv = nn.Conv2d(features, out_features, kernel_size=1, stride=1, padding=0, bias=True, groups=1)
+
+ self.resConfUnit1 = ResidualConvUnit_custom(features, activation, bn)
+ self.resConfUnit2 = ResidualConvUnit_custom(features, activation, bn)
+
+ self.skip_add = nn.quantized.FloatFunctional()
+
+ def forward(self, *xs):
+ """Forward pass.
+
+ Returns:
+ tensor: output
+ """
+ output = xs[0]
+
+ if len(xs) == 2:
+ res = self.resConfUnit1(xs[1])
+ output = self.skip_add.add(output, res)
+ # output += res
+
+ output = self.resConfUnit2(output)
+
+ output = nn.functional.interpolate(
+ output, scale_factor=2, mode="bilinear", align_corners=self.align_corners
+ )
+
+ output = self.out_conv(output)
+
+ return output
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/midas/midas/dpt_depth.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/midas/midas/dpt_depth.py
new file mode 100644
index 0000000000000000000000000000000000000000..4e9aab5d2767dffea39da5b3f30e2798688216f1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/midas/midas/dpt_depth.py
@@ -0,0 +1,109 @@
+import torch
+import torch.nn as nn
+import torch.nn.functional as F
+
+from .base_model import BaseModel
+from .blocks import (
+ FeatureFusionBlock,
+ FeatureFusionBlock_custom,
+ Interpolate,
+ _make_encoder,
+ forward_vit,
+)
+
+
+def _make_fusion_block(features, use_bn):
+ return FeatureFusionBlock_custom(
+ features,
+ nn.ReLU(False),
+ deconv=False,
+ bn=use_bn,
+ expand=False,
+ align_corners=True,
+ )
+
+
+class DPT(BaseModel):
+ def __init__(
+ self,
+ head,
+ features=256,
+ backbone="vitb_rn50_384",
+ readout="project",
+ channels_last=False,
+ use_bn=False,
+ ):
+
+ super(DPT, self).__init__()
+
+ self.channels_last = channels_last
+
+ hooks = {
+ "vitb_rn50_384": [0, 1, 8, 11],
+ "vitb16_384": [2, 5, 8, 11],
+ "vitl16_384": [5, 11, 17, 23],
+ }
+
+ # Instantiate backbone and reassemble blocks
+ self.pretrained, self.scratch = _make_encoder(
+ backbone,
+ features,
+ False, # Set to true of you want to train from scratch, uses ImageNet weights
+ groups=1,
+ expand=False,
+ exportable=False,
+ hooks=hooks[backbone],
+ use_readout=readout,
+ )
+
+ self.scratch.refinenet1 = _make_fusion_block(features, use_bn)
+ self.scratch.refinenet2 = _make_fusion_block(features, use_bn)
+ self.scratch.refinenet3 = _make_fusion_block(features, use_bn)
+ self.scratch.refinenet4 = _make_fusion_block(features, use_bn)
+
+ self.scratch.output_conv = head
+
+
+ def forward(self, x):
+ if self.channels_last == True:
+ x.contiguous(memory_format=torch.channels_last)
+
+ layer_1, layer_2, layer_3, layer_4 = forward_vit(self.pretrained, x)
+
+ layer_1_rn = self.scratch.layer1_rn(layer_1)
+ layer_2_rn = self.scratch.layer2_rn(layer_2)
+ layer_3_rn = self.scratch.layer3_rn(layer_3)
+ layer_4_rn = self.scratch.layer4_rn(layer_4)
+
+ path_4 = self.scratch.refinenet4(layer_4_rn)
+ path_3 = self.scratch.refinenet3(path_4, layer_3_rn)
+ path_2 = self.scratch.refinenet2(path_3, layer_2_rn)
+ path_1 = self.scratch.refinenet1(path_2, layer_1_rn)
+
+ out = self.scratch.output_conv(path_1)
+
+ return out
+
+
+class DPTDepthModel(DPT):
+ def __init__(self, path=None, non_negative=True, **kwargs):
+ features = kwargs["features"] if "features" in kwargs else 256
+
+ head = nn.Sequential(
+ nn.Conv2d(features, features // 2, kernel_size=3, stride=1, padding=1),
+ Interpolate(scale_factor=2, mode="bilinear", align_corners=True),
+ nn.Conv2d(features // 2, 32, kernel_size=3, stride=1, padding=1),
+ nn.ReLU(True),
+ nn.Conv2d(32, 1, kernel_size=1, stride=1, padding=0),
+ nn.ReLU(True) if non_negative else nn.Identity(),
+ nn.Identity(),
+ )
+
+ super().__init__(head, **kwargs)
+
+ if path is not None:
+ self.load(path)
+
+ def forward(self, x):
+ return super().forward(x).squeeze(dim=1)
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/midas/midas/midas_net.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/midas/midas/midas_net.py
new file mode 100644
index 0000000000000000000000000000000000000000..8a954977800b0a0f48807e80fa63041910e33c1f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/midas/midas/midas_net.py
@@ -0,0 +1,76 @@
+"""MidashNet: Network for monocular depth estimation trained by mixing several datasets.
+This file contains code that is adapted from
+https://github.com/thomasjpfan/pytorch_refinenet/blob/master/pytorch_refinenet/refinenet/refinenet_4cascade.py
+"""
+import torch
+import torch.nn as nn
+
+from .base_model import BaseModel
+from .blocks import FeatureFusionBlock, Interpolate, _make_encoder
+
+
+class MidasNet(BaseModel):
+ """Network for monocular depth estimation.
+ """
+
+ def __init__(self, path=None, features=256, non_negative=True):
+ """Init.
+
+ Args:
+ path (str, optional): Path to saved model. Defaults to None.
+ features (int, optional): Number of features. Defaults to 256.
+ backbone (str, optional): Backbone network for encoder. Defaults to resnet50
+ """
+ print("Loading weights: ", path)
+
+ super(MidasNet, self).__init__()
+
+ use_pretrained = False if path is None else True
+
+ self.pretrained, self.scratch = _make_encoder(backbone="resnext101_wsl", features=features, use_pretrained=use_pretrained)
+
+ self.scratch.refinenet4 = FeatureFusionBlock(features)
+ self.scratch.refinenet3 = FeatureFusionBlock(features)
+ self.scratch.refinenet2 = FeatureFusionBlock(features)
+ self.scratch.refinenet1 = FeatureFusionBlock(features)
+
+ self.scratch.output_conv = nn.Sequential(
+ nn.Conv2d(features, 128, kernel_size=3, stride=1, padding=1),
+ Interpolate(scale_factor=2, mode="bilinear"),
+ nn.Conv2d(128, 32, kernel_size=3, stride=1, padding=1),
+ nn.ReLU(True),
+ nn.Conv2d(32, 1, kernel_size=1, stride=1, padding=0),
+ nn.ReLU(True) if non_negative else nn.Identity(),
+ )
+
+ if path:
+ self.load(path)
+
+ def forward(self, x):
+ """Forward pass.
+
+ Args:
+ x (tensor): input data (image)
+
+ Returns:
+ tensor: depth
+ """
+
+ layer_1 = self.pretrained.layer1(x)
+ layer_2 = self.pretrained.layer2(layer_1)
+ layer_3 = self.pretrained.layer3(layer_2)
+ layer_4 = self.pretrained.layer4(layer_3)
+
+ layer_1_rn = self.scratch.layer1_rn(layer_1)
+ layer_2_rn = self.scratch.layer2_rn(layer_2)
+ layer_3_rn = self.scratch.layer3_rn(layer_3)
+ layer_4_rn = self.scratch.layer4_rn(layer_4)
+
+ path_4 = self.scratch.refinenet4(layer_4_rn)
+ path_3 = self.scratch.refinenet3(path_4, layer_3_rn)
+ path_2 = self.scratch.refinenet2(path_3, layer_2_rn)
+ path_1 = self.scratch.refinenet1(path_2, layer_1_rn)
+
+ out = self.scratch.output_conv(path_1)
+
+ return torch.squeeze(out, dim=1)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/midas/midas/midas_net_custom.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/midas/midas/midas_net_custom.py
new file mode 100644
index 0000000000000000000000000000000000000000..50e4acb5e53d5fabefe3dde16ab49c33c2b7797c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/midas/midas/midas_net_custom.py
@@ -0,0 +1,128 @@
+"""MidashNet: Network for monocular depth estimation trained by mixing several datasets.
+This file contains code that is adapted from
+https://github.com/thomasjpfan/pytorch_refinenet/blob/master/pytorch_refinenet/refinenet/refinenet_4cascade.py
+"""
+import torch
+import torch.nn as nn
+
+from .base_model import BaseModel
+from .blocks import FeatureFusionBlock, FeatureFusionBlock_custom, Interpolate, _make_encoder
+
+
+class MidasNet_small(BaseModel):
+ """Network for monocular depth estimation.
+ """
+
+ def __init__(self, path=None, features=64, backbone="efficientnet_lite3", non_negative=True, exportable=True, channels_last=False, align_corners=True,
+ blocks={'expand': True}):
+ """Init.
+
+ Args:
+ path (str, optional): Path to saved model. Defaults to None.
+ features (int, optional): Number of features. Defaults to 256.
+ backbone (str, optional): Backbone network for encoder. Defaults to resnet50
+ """
+ print("Loading weights: ", path)
+
+ super(MidasNet_small, self).__init__()
+
+ use_pretrained = False if path else True
+
+ self.channels_last = channels_last
+ self.blocks = blocks
+ self.backbone = backbone
+
+ self.groups = 1
+
+ features1=features
+ features2=features
+ features3=features
+ features4=features
+ self.expand = False
+ if "expand" in self.blocks and self.blocks['expand'] == True:
+ self.expand = True
+ features1=features
+ features2=features*2
+ features3=features*4
+ features4=features*8
+
+ self.pretrained, self.scratch = _make_encoder(self.backbone, features, use_pretrained, groups=self.groups, expand=self.expand, exportable=exportable)
+
+ self.scratch.activation = nn.ReLU(False)
+
+ self.scratch.refinenet4 = FeatureFusionBlock_custom(features4, self.scratch.activation, deconv=False, bn=False, expand=self.expand, align_corners=align_corners)
+ self.scratch.refinenet3 = FeatureFusionBlock_custom(features3, self.scratch.activation, deconv=False, bn=False, expand=self.expand, align_corners=align_corners)
+ self.scratch.refinenet2 = FeatureFusionBlock_custom(features2, self.scratch.activation, deconv=False, bn=False, expand=self.expand, align_corners=align_corners)
+ self.scratch.refinenet1 = FeatureFusionBlock_custom(features1, self.scratch.activation, deconv=False, bn=False, align_corners=align_corners)
+
+
+ self.scratch.output_conv = nn.Sequential(
+ nn.Conv2d(features, features//2, kernel_size=3, stride=1, padding=1, groups=self.groups),
+ Interpolate(scale_factor=2, mode="bilinear"),
+ nn.Conv2d(features//2, 32, kernel_size=3, stride=1, padding=1),
+ self.scratch.activation,
+ nn.Conv2d(32, 1, kernel_size=1, stride=1, padding=0),
+ nn.ReLU(True) if non_negative else nn.Identity(),
+ nn.Identity(),
+ )
+
+ if path:
+ self.load(path)
+
+
+ def forward(self, x):
+ """Forward pass.
+
+ Args:
+ x (tensor): input data (image)
+
+ Returns:
+ tensor: depth
+ """
+ if self.channels_last==True:
+ print("self.channels_last = ", self.channels_last)
+ x.contiguous(memory_format=torch.channels_last)
+
+
+ layer_1 = self.pretrained.layer1(x)
+ layer_2 = self.pretrained.layer2(layer_1)
+ layer_3 = self.pretrained.layer3(layer_2)
+ layer_4 = self.pretrained.layer4(layer_3)
+
+ layer_1_rn = self.scratch.layer1_rn(layer_1)
+ layer_2_rn = self.scratch.layer2_rn(layer_2)
+ layer_3_rn = self.scratch.layer3_rn(layer_3)
+ layer_4_rn = self.scratch.layer4_rn(layer_4)
+
+
+ path_4 = self.scratch.refinenet4(layer_4_rn)
+ path_3 = self.scratch.refinenet3(path_4, layer_3_rn)
+ path_2 = self.scratch.refinenet2(path_3, layer_2_rn)
+ path_1 = self.scratch.refinenet1(path_2, layer_1_rn)
+
+ out = self.scratch.output_conv(path_1)
+
+ return torch.squeeze(out, dim=1)
+
+
+
+def fuse_model(m):
+ prev_previous_type = nn.Identity()
+ prev_previous_name = ''
+ previous_type = nn.Identity()
+ previous_name = ''
+ for name, module in m.named_modules():
+ if prev_previous_type == nn.Conv2d and previous_type == nn.BatchNorm2d and type(module) == nn.ReLU:
+ # print("FUSED ", prev_previous_name, previous_name, name)
+ torch.quantization.fuse_modules(m, [prev_previous_name, previous_name, name], inplace=True)
+ elif prev_previous_type == nn.Conv2d and previous_type == nn.BatchNorm2d:
+ # print("FUSED ", prev_previous_name, previous_name)
+ torch.quantization.fuse_modules(m, [prev_previous_name, previous_name], inplace=True)
+ # elif previous_type == nn.Conv2d and type(module) == nn.ReLU:
+ # print("FUSED ", previous_name, name)
+ # torch.quantization.fuse_modules(m, [previous_name, name], inplace=True)
+
+ prev_previous_type = previous_type
+ prev_previous_name = previous_name
+ previous_type = type(module)
+ previous_name = name
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/midas/midas/transforms.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/midas/midas/transforms.py
new file mode 100644
index 0000000000000000000000000000000000000000..350cbc11662633ad7f8968eb10be2e7de6e384e9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/midas/midas/transforms.py
@@ -0,0 +1,234 @@
+import numpy as np
+import cv2
+import math
+
+
+def apply_min_size(sample, size, image_interpolation_method=cv2.INTER_AREA):
+ """Rezise the sample to ensure the given size. Keeps aspect ratio.
+
+ Args:
+ sample (dict): sample
+ size (tuple): image size
+
+ Returns:
+ tuple: new size
+ """
+ shape = list(sample["disparity"].shape)
+
+ if shape[0] >= size[0] and shape[1] >= size[1]:
+ return sample
+
+ scale = [0, 0]
+ scale[0] = size[0] / shape[0]
+ scale[1] = size[1] / shape[1]
+
+ scale = max(scale)
+
+ shape[0] = math.ceil(scale * shape[0])
+ shape[1] = math.ceil(scale * shape[1])
+
+ # resize
+ sample["image"] = cv2.resize(
+ sample["image"], tuple(shape[::-1]), interpolation=image_interpolation_method
+ )
+
+ sample["disparity"] = cv2.resize(
+ sample["disparity"], tuple(shape[::-1]), interpolation=cv2.INTER_NEAREST
+ )
+ sample["mask"] = cv2.resize(
+ sample["mask"].astype(np.float32),
+ tuple(shape[::-1]),
+ interpolation=cv2.INTER_NEAREST,
+ )
+ sample["mask"] = sample["mask"].astype(bool)
+
+ return tuple(shape)
+
+
+class Resize(object):
+ """Resize sample to given size (width, height).
+ """
+
+ def __init__(
+ self,
+ width,
+ height,
+ resize_target=True,
+ keep_aspect_ratio=False,
+ ensure_multiple_of=1,
+ resize_method="lower_bound",
+ image_interpolation_method=cv2.INTER_AREA,
+ ):
+ """Init.
+
+ Args:
+ width (int): desired output width
+ height (int): desired output height
+ resize_target (bool, optional):
+ True: Resize the full sample (image, mask, target).
+ False: Resize image only.
+ Defaults to True.
+ keep_aspect_ratio (bool, optional):
+ True: Keep the aspect ratio of the input sample.
+ Output sample might not have the given width and height, and
+ resize behaviour depends on the parameter 'resize_method'.
+ Defaults to False.
+ ensure_multiple_of (int, optional):
+ Output width and height is constrained to be multiple of this parameter.
+ Defaults to 1.
+ resize_method (str, optional):
+ "lower_bound": Output will be at least as large as the given size.
+ "upper_bound": Output will be at max as large as the given size. (Output size might be smaller than given size.)
+ "minimal": Scale as least as possible. (Output size might be smaller than given size.)
+ Defaults to "lower_bound".
+ """
+ self.__width = width
+ self.__height = height
+
+ self.__resize_target = resize_target
+ self.__keep_aspect_ratio = keep_aspect_ratio
+ self.__multiple_of = ensure_multiple_of
+ self.__resize_method = resize_method
+ self.__image_interpolation_method = image_interpolation_method
+
+ def constrain_to_multiple_of(self, x, min_val=0, max_val=None):
+ y = (np.round(x / self.__multiple_of) * self.__multiple_of).astype(int)
+
+ if max_val is not None and y > max_val:
+ y = (np.floor(x / self.__multiple_of) * self.__multiple_of).astype(int)
+
+ if y < min_val:
+ y = (np.ceil(x / self.__multiple_of) * self.__multiple_of).astype(int)
+
+ return y
+
+ def get_size(self, width, height):
+ # determine new height and width
+ scale_height = self.__height / height
+ scale_width = self.__width / width
+
+ if self.__keep_aspect_ratio:
+ if self.__resize_method == "lower_bound":
+ # scale such that output size is lower bound
+ if scale_width > scale_height:
+ # fit width
+ scale_height = scale_width
+ else:
+ # fit height
+ scale_width = scale_height
+ elif self.__resize_method == "upper_bound":
+ # scale such that output size is upper bound
+ if scale_width < scale_height:
+ # fit width
+ scale_height = scale_width
+ else:
+ # fit height
+ scale_width = scale_height
+ elif self.__resize_method == "minimal":
+ # scale as least as possbile
+ if abs(1 - scale_width) < abs(1 - scale_height):
+ # fit width
+ scale_height = scale_width
+ else:
+ # fit height
+ scale_width = scale_height
+ else:
+ raise ValueError(
+ f"resize_method {self.__resize_method} not implemented"
+ )
+
+ if self.__resize_method == "lower_bound":
+ new_height = self.constrain_to_multiple_of(
+ scale_height * height, min_val=self.__height
+ )
+ new_width = self.constrain_to_multiple_of(
+ scale_width * width, min_val=self.__width
+ )
+ elif self.__resize_method == "upper_bound":
+ new_height = self.constrain_to_multiple_of(
+ scale_height * height, max_val=self.__height
+ )
+ new_width = self.constrain_to_multiple_of(
+ scale_width * width, max_val=self.__width
+ )
+ elif self.__resize_method == "minimal":
+ new_height = self.constrain_to_multiple_of(scale_height * height)
+ new_width = self.constrain_to_multiple_of(scale_width * width)
+ else:
+ raise ValueError(f"resize_method {self.__resize_method} not implemented")
+
+ return (new_width, new_height)
+
+ def __call__(self, sample):
+ width, height = self.get_size(
+ sample["image"].shape[1], sample["image"].shape[0]
+ )
+
+ # resize sample
+ sample["image"] = cv2.resize(
+ sample["image"],
+ (width, height),
+ interpolation=self.__image_interpolation_method,
+ )
+
+ if self.__resize_target:
+ if "disparity" in sample:
+ sample["disparity"] = cv2.resize(
+ sample["disparity"],
+ (width, height),
+ interpolation=cv2.INTER_NEAREST,
+ )
+
+ if "depth" in sample:
+ sample["depth"] = cv2.resize(
+ sample["depth"], (width, height), interpolation=cv2.INTER_NEAREST
+ )
+
+ sample["mask"] = cv2.resize(
+ sample["mask"].astype(np.float32),
+ (width, height),
+ interpolation=cv2.INTER_NEAREST,
+ )
+ sample["mask"] = sample["mask"].astype(bool)
+
+ return sample
+
+
+class NormalizeImage(object):
+ """Normlize image by given mean and std.
+ """
+
+ def __init__(self, mean, std):
+ self.__mean = mean
+ self.__std = std
+
+ def __call__(self, sample):
+ sample["image"] = (sample["image"] - self.__mean) / self.__std
+
+ return sample
+
+
+class PrepareForNet(object):
+ """Prepare sample for usage as network input.
+ """
+
+ def __init__(self):
+ pass
+
+ def __call__(self, sample):
+ image = np.transpose(sample["image"], (2, 0, 1))
+ sample["image"] = np.ascontiguousarray(image).astype(np.float32)
+
+ if "mask" in sample:
+ sample["mask"] = sample["mask"].astype(np.float32)
+ sample["mask"] = np.ascontiguousarray(sample["mask"])
+
+ if "disparity" in sample:
+ disparity = sample["disparity"].astype(np.float32)
+ sample["disparity"] = np.ascontiguousarray(disparity)
+
+ if "depth" in sample:
+ depth = sample["depth"].astype(np.float32)
+ sample["depth"] = np.ascontiguousarray(depth)
+
+ return sample
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/midas/midas/vit.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/midas/midas/vit.py
new file mode 100644
index 0000000000000000000000000000000000000000..ea46b1be88b261b0dec04f3da0256f5f66f88a74
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/midas/midas/vit.py
@@ -0,0 +1,491 @@
+import torch
+import torch.nn as nn
+import timm
+import types
+import math
+import torch.nn.functional as F
+
+
+class Slice(nn.Module):
+ def __init__(self, start_index=1):
+ super(Slice, self).__init__()
+ self.start_index = start_index
+
+ def forward(self, x):
+ return x[:, self.start_index :]
+
+
+class AddReadout(nn.Module):
+ def __init__(self, start_index=1):
+ super(AddReadout, self).__init__()
+ self.start_index = start_index
+
+ def forward(self, x):
+ if self.start_index == 2:
+ readout = (x[:, 0] + x[:, 1]) / 2
+ else:
+ readout = x[:, 0]
+ return x[:, self.start_index :] + readout.unsqueeze(1)
+
+
+class ProjectReadout(nn.Module):
+ def __init__(self, in_features, start_index=1):
+ super(ProjectReadout, self).__init__()
+ self.start_index = start_index
+
+ self.project = nn.Sequential(nn.Linear(2 * in_features, in_features), nn.GELU())
+
+ def forward(self, x):
+ readout = x[:, 0].unsqueeze(1).expand_as(x[:, self.start_index :])
+ features = torch.cat((x[:, self.start_index :], readout), -1)
+
+ return self.project(features)
+
+
+class Transpose(nn.Module):
+ def __init__(self, dim0, dim1):
+ super(Transpose, self).__init__()
+ self.dim0 = dim0
+ self.dim1 = dim1
+
+ def forward(self, x):
+ x = x.transpose(self.dim0, self.dim1)
+ return x
+
+
+def forward_vit(pretrained, x):
+ b, c, h, w = x.shape
+
+ glob = pretrained.model.forward_flex(x)
+
+ layer_1 = pretrained.activations["1"]
+ layer_2 = pretrained.activations["2"]
+ layer_3 = pretrained.activations["3"]
+ layer_4 = pretrained.activations["4"]
+
+ layer_1 = pretrained.act_postprocess1[0:2](layer_1)
+ layer_2 = pretrained.act_postprocess2[0:2](layer_2)
+ layer_3 = pretrained.act_postprocess3[0:2](layer_3)
+ layer_4 = pretrained.act_postprocess4[0:2](layer_4)
+
+ unflatten = nn.Sequential(
+ nn.Unflatten(
+ 2,
+ torch.Size(
+ [
+ h // pretrained.model.patch_size[1],
+ w // pretrained.model.patch_size[0],
+ ]
+ ),
+ )
+ )
+
+ if layer_1.ndim == 3:
+ layer_1 = unflatten(layer_1)
+ if layer_2.ndim == 3:
+ layer_2 = unflatten(layer_2)
+ if layer_3.ndim == 3:
+ layer_3 = unflatten(layer_3)
+ if layer_4.ndim == 3:
+ layer_4 = unflatten(layer_4)
+
+ layer_1 = pretrained.act_postprocess1[3 : len(pretrained.act_postprocess1)](layer_1)
+ layer_2 = pretrained.act_postprocess2[3 : len(pretrained.act_postprocess2)](layer_2)
+ layer_3 = pretrained.act_postprocess3[3 : len(pretrained.act_postprocess3)](layer_3)
+ layer_4 = pretrained.act_postprocess4[3 : len(pretrained.act_postprocess4)](layer_4)
+
+ return layer_1, layer_2, layer_3, layer_4
+
+
+def _resize_pos_embed(self, posemb, gs_h, gs_w):
+ posemb_tok, posemb_grid = (
+ posemb[:, : self.start_index],
+ posemb[0, self.start_index :],
+ )
+
+ gs_old = int(math.sqrt(len(posemb_grid)))
+
+ posemb_grid = posemb_grid.reshape(1, gs_old, gs_old, -1).permute(0, 3, 1, 2)
+ posemb_grid = F.interpolate(posemb_grid, size=(gs_h, gs_w), mode="bilinear")
+ posemb_grid = posemb_grid.permute(0, 2, 3, 1).reshape(1, gs_h * gs_w, -1)
+
+ posemb = torch.cat([posemb_tok, posemb_grid], dim=1)
+
+ return posemb
+
+
+def forward_flex(self, x):
+ b, c, h, w = x.shape
+
+ pos_embed = self._resize_pos_embed(
+ self.pos_embed, h // self.patch_size[1], w // self.patch_size[0]
+ )
+
+ B = x.shape[0]
+
+ if hasattr(self.patch_embed, "backbone"):
+ x = self.patch_embed.backbone(x)
+ if isinstance(x, (list, tuple)):
+ x = x[-1] # last feature if backbone outputs list/tuple of features
+
+ x = self.patch_embed.proj(x).flatten(2).transpose(1, 2)
+
+ if getattr(self, "dist_token", None) is not None:
+ cls_tokens = self.cls_token.expand(
+ B, -1, -1
+ ) # stole cls_tokens impl from Phil Wang, thanks
+ dist_token = self.dist_token.expand(B, -1, -1)
+ x = torch.cat((cls_tokens, dist_token, x), dim=1)
+ else:
+ cls_tokens = self.cls_token.expand(
+ B, -1, -1
+ ) # stole cls_tokens impl from Phil Wang, thanks
+ x = torch.cat((cls_tokens, x), dim=1)
+
+ x = x + pos_embed
+ x = self.pos_drop(x)
+
+ for blk in self.blocks:
+ x = blk(x)
+
+ x = self.norm(x)
+
+ return x
+
+
+activations = {}
+
+
+def get_activation(name):
+ def hook(model, input, output):
+ activations[name] = output
+
+ return hook
+
+
+def get_readout_oper(vit_features, features, use_readout, start_index=1):
+ if use_readout == "ignore":
+ readout_oper = [Slice(start_index)] * len(features)
+ elif use_readout == "add":
+ readout_oper = [AddReadout(start_index)] * len(features)
+ elif use_readout == "project":
+ readout_oper = [
+ ProjectReadout(vit_features, start_index) for out_feat in features
+ ]
+ else:
+ assert (
+ False
+ ), "wrong operation for readout token, use_readout can be 'ignore', 'add', or 'project'"
+
+ return readout_oper
+
+
+def _make_vit_b16_backbone(
+ model,
+ features=[96, 192, 384, 768],
+ size=[384, 384],
+ hooks=[2, 5, 8, 11],
+ vit_features=768,
+ use_readout="ignore",
+ start_index=1,
+):
+ pretrained = nn.Module()
+
+ pretrained.model = model
+ pretrained.model.blocks[hooks[0]].register_forward_hook(get_activation("1"))
+ pretrained.model.blocks[hooks[1]].register_forward_hook(get_activation("2"))
+ pretrained.model.blocks[hooks[2]].register_forward_hook(get_activation("3"))
+ pretrained.model.blocks[hooks[3]].register_forward_hook(get_activation("4"))
+
+ pretrained.activations = activations
+
+ readout_oper = get_readout_oper(vit_features, features, use_readout, start_index)
+
+ # 32, 48, 136, 384
+ pretrained.act_postprocess1 = nn.Sequential(
+ readout_oper[0],
+ Transpose(1, 2),
+ nn.Unflatten(2, torch.Size([size[0] // 16, size[1] // 16])),
+ nn.Conv2d(
+ in_channels=vit_features,
+ out_channels=features[0],
+ kernel_size=1,
+ stride=1,
+ padding=0,
+ ),
+ nn.ConvTranspose2d(
+ in_channels=features[0],
+ out_channels=features[0],
+ kernel_size=4,
+ stride=4,
+ padding=0,
+ bias=True,
+ dilation=1,
+ groups=1,
+ ),
+ )
+
+ pretrained.act_postprocess2 = nn.Sequential(
+ readout_oper[1],
+ Transpose(1, 2),
+ nn.Unflatten(2, torch.Size([size[0] // 16, size[1] // 16])),
+ nn.Conv2d(
+ in_channels=vit_features,
+ out_channels=features[1],
+ kernel_size=1,
+ stride=1,
+ padding=0,
+ ),
+ nn.ConvTranspose2d(
+ in_channels=features[1],
+ out_channels=features[1],
+ kernel_size=2,
+ stride=2,
+ padding=0,
+ bias=True,
+ dilation=1,
+ groups=1,
+ ),
+ )
+
+ pretrained.act_postprocess3 = nn.Sequential(
+ readout_oper[2],
+ Transpose(1, 2),
+ nn.Unflatten(2, torch.Size([size[0] // 16, size[1] // 16])),
+ nn.Conv2d(
+ in_channels=vit_features,
+ out_channels=features[2],
+ kernel_size=1,
+ stride=1,
+ padding=0,
+ ),
+ )
+
+ pretrained.act_postprocess4 = nn.Sequential(
+ readout_oper[3],
+ Transpose(1, 2),
+ nn.Unflatten(2, torch.Size([size[0] // 16, size[1] // 16])),
+ nn.Conv2d(
+ in_channels=vit_features,
+ out_channels=features[3],
+ kernel_size=1,
+ stride=1,
+ padding=0,
+ ),
+ nn.Conv2d(
+ in_channels=features[3],
+ out_channels=features[3],
+ kernel_size=3,
+ stride=2,
+ padding=1,
+ ),
+ )
+
+ pretrained.model.start_index = start_index
+ pretrained.model.patch_size = [16, 16]
+
+ # We inject this function into the VisionTransformer instances so that
+ # we can use it with interpolated position embeddings without modifying the library source.
+ pretrained.model.forward_flex = types.MethodType(forward_flex, pretrained.model)
+ pretrained.model._resize_pos_embed = types.MethodType(
+ _resize_pos_embed, pretrained.model
+ )
+
+ return pretrained
+
+
+def _make_pretrained_vitl16_384(pretrained, use_readout="ignore", hooks=None):
+ model = timm.create_model("vit_large_patch16_384", pretrained=pretrained)
+
+ hooks = [5, 11, 17, 23] if hooks == None else hooks
+ return _make_vit_b16_backbone(
+ model,
+ features=[256, 512, 1024, 1024],
+ hooks=hooks,
+ vit_features=1024,
+ use_readout=use_readout,
+ )
+
+
+def _make_pretrained_vitb16_384(pretrained, use_readout="ignore", hooks=None):
+ model = timm.create_model("vit_base_patch16_384", pretrained=pretrained)
+
+ hooks = [2, 5, 8, 11] if hooks == None else hooks
+ return _make_vit_b16_backbone(
+ model, features=[96, 192, 384, 768], hooks=hooks, use_readout=use_readout
+ )
+
+
+def _make_pretrained_deitb16_384(pretrained, use_readout="ignore", hooks=None):
+ model = timm.create_model("vit_deit_base_patch16_384", pretrained=pretrained)
+
+ hooks = [2, 5, 8, 11] if hooks == None else hooks
+ return _make_vit_b16_backbone(
+ model, features=[96, 192, 384, 768], hooks=hooks, use_readout=use_readout
+ )
+
+
+def _make_pretrained_deitb16_distil_384(pretrained, use_readout="ignore", hooks=None):
+ model = timm.create_model(
+ "vit_deit_base_distilled_patch16_384", pretrained=pretrained
+ )
+
+ hooks = [2, 5, 8, 11] if hooks == None else hooks
+ return _make_vit_b16_backbone(
+ model,
+ features=[96, 192, 384, 768],
+ hooks=hooks,
+ use_readout=use_readout,
+ start_index=2,
+ )
+
+
+def _make_vit_b_rn50_backbone(
+ model,
+ features=[256, 512, 768, 768],
+ size=[384, 384],
+ hooks=[0, 1, 8, 11],
+ vit_features=768,
+ use_vit_only=False,
+ use_readout="ignore",
+ start_index=1,
+):
+ pretrained = nn.Module()
+
+ pretrained.model = model
+
+ if use_vit_only == True:
+ pretrained.model.blocks[hooks[0]].register_forward_hook(get_activation("1"))
+ pretrained.model.blocks[hooks[1]].register_forward_hook(get_activation("2"))
+ else:
+ pretrained.model.patch_embed.backbone.stages[0].register_forward_hook(
+ get_activation("1")
+ )
+ pretrained.model.patch_embed.backbone.stages[1].register_forward_hook(
+ get_activation("2")
+ )
+
+ pretrained.model.blocks[hooks[2]].register_forward_hook(get_activation("3"))
+ pretrained.model.blocks[hooks[3]].register_forward_hook(get_activation("4"))
+
+ pretrained.activations = activations
+
+ readout_oper = get_readout_oper(vit_features, features, use_readout, start_index)
+
+ if use_vit_only == True:
+ pretrained.act_postprocess1 = nn.Sequential(
+ readout_oper[0],
+ Transpose(1, 2),
+ nn.Unflatten(2, torch.Size([size[0] // 16, size[1] // 16])),
+ nn.Conv2d(
+ in_channels=vit_features,
+ out_channels=features[0],
+ kernel_size=1,
+ stride=1,
+ padding=0,
+ ),
+ nn.ConvTranspose2d(
+ in_channels=features[0],
+ out_channels=features[0],
+ kernel_size=4,
+ stride=4,
+ padding=0,
+ bias=True,
+ dilation=1,
+ groups=1,
+ ),
+ )
+
+ pretrained.act_postprocess2 = nn.Sequential(
+ readout_oper[1],
+ Transpose(1, 2),
+ nn.Unflatten(2, torch.Size([size[0] // 16, size[1] // 16])),
+ nn.Conv2d(
+ in_channels=vit_features,
+ out_channels=features[1],
+ kernel_size=1,
+ stride=1,
+ padding=0,
+ ),
+ nn.ConvTranspose2d(
+ in_channels=features[1],
+ out_channels=features[1],
+ kernel_size=2,
+ stride=2,
+ padding=0,
+ bias=True,
+ dilation=1,
+ groups=1,
+ ),
+ )
+ else:
+ pretrained.act_postprocess1 = nn.Sequential(
+ nn.Identity(), nn.Identity(), nn.Identity()
+ )
+ pretrained.act_postprocess2 = nn.Sequential(
+ nn.Identity(), nn.Identity(), nn.Identity()
+ )
+
+ pretrained.act_postprocess3 = nn.Sequential(
+ readout_oper[2],
+ Transpose(1, 2),
+ nn.Unflatten(2, torch.Size([size[0] // 16, size[1] // 16])),
+ nn.Conv2d(
+ in_channels=vit_features,
+ out_channels=features[2],
+ kernel_size=1,
+ stride=1,
+ padding=0,
+ ),
+ )
+
+ pretrained.act_postprocess4 = nn.Sequential(
+ readout_oper[3],
+ Transpose(1, 2),
+ nn.Unflatten(2, torch.Size([size[0] // 16, size[1] // 16])),
+ nn.Conv2d(
+ in_channels=vit_features,
+ out_channels=features[3],
+ kernel_size=1,
+ stride=1,
+ padding=0,
+ ),
+ nn.Conv2d(
+ in_channels=features[3],
+ out_channels=features[3],
+ kernel_size=3,
+ stride=2,
+ padding=1,
+ ),
+ )
+
+ pretrained.model.start_index = start_index
+ pretrained.model.patch_size = [16, 16]
+
+ # We inject this function into the VisionTransformer instances so that
+ # we can use it with interpolated position embeddings without modifying the library source.
+ pretrained.model.forward_flex = types.MethodType(forward_flex, pretrained.model)
+
+ # We inject this function into the VisionTransformer instances so that
+ # we can use it with interpolated position embeddings without modifying the library source.
+ pretrained.model._resize_pos_embed = types.MethodType(
+ _resize_pos_embed, pretrained.model
+ )
+
+ return pretrained
+
+
+def _make_pretrained_vitb_rn50_384(
+ pretrained, use_readout="ignore", hooks=None, use_vit_only=False
+):
+ model = timm.create_model("vit_base_resnet50_384", pretrained=pretrained)
+
+ hooks = [0, 1, 8, 11] if hooks == None else hooks
+ return _make_vit_b_rn50_backbone(
+ model,
+ features=[256, 512, 768, 768],
+ size=[384, 384],
+ hooks=hooks,
+ use_vit_only=use_vit_only,
+ use_readout=use_readout,
+ )
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/midas/utils.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/midas/utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..9a9d3b5b66370fa98da9e067ba53ead848ea9a59
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/midas/utils.py
@@ -0,0 +1,189 @@
+"""Utils for monoDepth."""
+import sys
+import re
+import numpy as np
+import cv2
+import torch
+
+
+def read_pfm(path):
+ """Read pfm file.
+
+ Args:
+ path (str): path to file
+
+ Returns:
+ tuple: (data, scale)
+ """
+ with open(path, "rb") as file:
+
+ color = None
+ width = None
+ height = None
+ scale = None
+ endian = None
+
+ header = file.readline().rstrip()
+ if header.decode("ascii") == "PF":
+ color = True
+ elif header.decode("ascii") == "Pf":
+ color = False
+ else:
+ raise Exception("Not a PFM file: " + path)
+
+ dim_match = re.match(r"^(\d+)\s(\d+)\s$", file.readline().decode("ascii"))
+ if dim_match:
+ width, height = list(map(int, dim_match.groups()))
+ else:
+ raise Exception("Malformed PFM header.")
+
+ scale = float(file.readline().decode("ascii").rstrip())
+ if scale < 0:
+ # little-endian
+ endian = "<"
+ scale = -scale
+ else:
+ # big-endian
+ endian = ">"
+
+ data = np.fromfile(file, endian + "f")
+ shape = (height, width, 3) if color else (height, width)
+
+ data = np.reshape(data, shape)
+ data = np.flipud(data)
+
+ return data, scale
+
+
+def write_pfm(path, image, scale=1):
+ """Write pfm file.
+
+ Args:
+ path (str): pathto file
+ image (array): data
+ scale (int, optional): Scale. Defaults to 1.
+ """
+
+ with open(path, "wb") as file:
+ color = None
+
+ if image.dtype.name != "float32":
+ raise Exception("Image dtype must be float32.")
+
+ image = np.flipud(image)
+
+ if len(image.shape) == 3 and image.shape[2] == 3: # color image
+ color = True
+ elif (
+ len(image.shape) == 2 or len(image.shape) == 3 and image.shape[2] == 1
+ ): # greyscale
+ color = False
+ else:
+ raise Exception("Image must have H x W x 3, H x W x 1 or H x W dimensions.")
+
+ file.write("PF\n" if color else "Pf\n".encode())
+ file.write("%d %d\n".encode() % (image.shape[1], image.shape[0]))
+
+ endian = image.dtype.byteorder
+
+ if endian == "<" or endian == "=" and sys.byteorder == "little":
+ scale = -scale
+
+ file.write("%f\n".encode() % scale)
+
+ image.tofile(file)
+
+
+def read_image(path):
+ """Read image and output RGB image (0-1).
+
+ Args:
+ path (str): path to file
+
+ Returns:
+ array: RGB image (0-1)
+ """
+ img = cv2.imread(path)
+
+ if img.ndim == 2:
+ img = cv2.cvtColor(img, cv2.COLOR_GRAY2BGR)
+
+ img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) / 255.0
+
+ return img
+
+
+def resize_image(img):
+ """Resize image and make it fit for network.
+
+ Args:
+ img (array): image
+
+ Returns:
+ tensor: data ready for network
+ """
+ height_orig = img.shape[0]
+ width_orig = img.shape[1]
+
+ if width_orig > height_orig:
+ scale = width_orig / 384
+ else:
+ scale = height_orig / 384
+
+ height = (np.ceil(height_orig / scale / 32) * 32).astype(int)
+ width = (np.ceil(width_orig / scale / 32) * 32).astype(int)
+
+ img_resized = cv2.resize(img, (width, height), interpolation=cv2.INTER_AREA)
+
+ img_resized = (
+ torch.from_numpy(np.transpose(img_resized, (2, 0, 1))).contiguous().float()
+ )
+ img_resized = img_resized.unsqueeze(0)
+
+ return img_resized
+
+
+def resize_depth(depth, width, height):
+ """Resize depth map and bring to CPU (numpy).
+
+ Args:
+ depth (tensor): depth
+ width (int): image width
+ height (int): image height
+
+ Returns:
+ array: processed depth
+ """
+ depth = torch.squeeze(depth[0, :, :, :]).to("cpu")
+
+ depth_resized = cv2.resize(
+ depth.numpy(), (width, height), interpolation=cv2.INTER_CUBIC
+ )
+
+ return depth_resized
+
+def write_depth(path, depth, bits=1):
+ """Write depth map to pfm and png file.
+
+ Args:
+ path (str): filepath without extension
+ depth (array): depth
+ """
+ write_pfm(path + ".pfm", depth.astype(np.float32))
+
+ depth_min = depth.min()
+ depth_max = depth.max()
+
+ max_val = (2**(8*bits))-1
+
+ if depth_max - depth_min > np.finfo("float").eps:
+ out = max_val * (depth - depth_min) / (depth_max - depth_min)
+ else:
+ out = np.zeros(depth.shape, dtype=depth.type)
+
+ if bits == 1:
+ cv2.imwrite(path + ".png", out.astype("uint8"))
+ elif bits == 2:
+ cv2.imwrite(path + ".png", out.astype("uint16"))
+
+ return
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mlsd/LICENSE b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mlsd/LICENSE
new file mode 100644
index 0000000000000000000000000000000000000000..d855c6db44b4e873eedd750d34fa2eaf22e22363
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mlsd/LICENSE
@@ -0,0 +1,201 @@
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2021-present NAVER Corp.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mlsd/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mlsd/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..c9791e3f78622f1e669df7e420ffd1cc7a0a4ec4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mlsd/__init__.py
@@ -0,0 +1,49 @@
+import cv2
+import numpy as np
+import torch
+import os
+
+from einops import rearrange
+from .models.mbv2_mlsd_tiny import MobileV2_MLSD_Tiny
+from .models.mbv2_mlsd_large import MobileV2_MLSD_Large
+from .utils import pred_lines
+from modules import devices
+from annotator.annotator_path import models_path
+
+mlsdmodel = None
+remote_model_path = "https://huggingface.co/lllyasviel/ControlNet/resolve/main/annotator/ckpts/mlsd_large_512_fp32.pth"
+old_modeldir = os.path.dirname(os.path.realpath(__file__))
+modeldir = os.path.join(models_path, "mlsd")
+
+def unload_mlsd_model():
+ global mlsdmodel
+ if mlsdmodel is not None:
+ mlsdmodel = mlsdmodel.cpu()
+
+def apply_mlsd(input_image, thr_v, thr_d):
+ global modelpath, mlsdmodel
+ if mlsdmodel is None:
+ modelpath = os.path.join(modeldir, "mlsd_large_512_fp32.pth")
+ old_modelpath = os.path.join(old_modeldir, "mlsd_large_512_fp32.pth")
+ if os.path.exists(old_modelpath):
+ modelpath = old_modelpath
+ elif not os.path.exists(modelpath):
+ from basicsr.utils.download_util import load_file_from_url
+ load_file_from_url(remote_model_path, model_dir=modeldir)
+ mlsdmodel = MobileV2_MLSD_Large()
+ mlsdmodel.load_state_dict(torch.load(modelpath), strict=True)
+ mlsdmodel = mlsdmodel.to(devices.get_device_for("controlnet")).eval()
+
+ model = mlsdmodel
+ assert input_image.ndim == 3
+ img = input_image
+ img_output = np.zeros_like(img)
+ try:
+ with torch.no_grad():
+ lines = pred_lines(img, model, [img.shape[0], img.shape[1]], thr_v, thr_d)
+ for line in lines:
+ x_start, y_start, x_end, y_end = [int(val) for val in line]
+ cv2.line(img_output, (x_start, y_start), (x_end, y_end), [255, 255, 255], 1)
+ except Exception as e:
+ pass
+ return img_output[:, :, 0]
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mlsd/models/mbv2_mlsd_large.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mlsd/models/mbv2_mlsd_large.py
new file mode 100644
index 0000000000000000000000000000000000000000..5b9799e7573ca41549b3c3b13ac47b906b369603
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mlsd/models/mbv2_mlsd_large.py
@@ -0,0 +1,292 @@
+import os
+import sys
+import torch
+import torch.nn as nn
+import torch.utils.model_zoo as model_zoo
+from torch.nn import functional as F
+
+
+class BlockTypeA(nn.Module):
+ def __init__(self, in_c1, in_c2, out_c1, out_c2, upscale = True):
+ super(BlockTypeA, self).__init__()
+ self.conv1 = nn.Sequential(
+ nn.Conv2d(in_c2, out_c2, kernel_size=1),
+ nn.BatchNorm2d(out_c2),
+ nn.ReLU(inplace=True)
+ )
+ self.conv2 = nn.Sequential(
+ nn.Conv2d(in_c1, out_c1, kernel_size=1),
+ nn.BatchNorm2d(out_c1),
+ nn.ReLU(inplace=True)
+ )
+ self.upscale = upscale
+
+ def forward(self, a, b):
+ b = self.conv1(b)
+ a = self.conv2(a)
+ if self.upscale:
+ b = F.interpolate(b, scale_factor=2.0, mode='bilinear', align_corners=True)
+ return torch.cat((a, b), dim=1)
+
+
+class BlockTypeB(nn.Module):
+ def __init__(self, in_c, out_c):
+ super(BlockTypeB, self).__init__()
+ self.conv1 = nn.Sequential(
+ nn.Conv2d(in_c, in_c, kernel_size=3, padding=1),
+ nn.BatchNorm2d(in_c),
+ nn.ReLU()
+ )
+ self.conv2 = nn.Sequential(
+ nn.Conv2d(in_c, out_c, kernel_size=3, padding=1),
+ nn.BatchNorm2d(out_c),
+ nn.ReLU()
+ )
+
+ def forward(self, x):
+ x = self.conv1(x) + x
+ x = self.conv2(x)
+ return x
+
+class BlockTypeC(nn.Module):
+ def __init__(self, in_c, out_c):
+ super(BlockTypeC, self).__init__()
+ self.conv1 = nn.Sequential(
+ nn.Conv2d(in_c, in_c, kernel_size=3, padding=5, dilation=5),
+ nn.BatchNorm2d(in_c),
+ nn.ReLU()
+ )
+ self.conv2 = nn.Sequential(
+ nn.Conv2d(in_c, in_c, kernel_size=3, padding=1),
+ nn.BatchNorm2d(in_c),
+ nn.ReLU()
+ )
+ self.conv3 = nn.Conv2d(in_c, out_c, kernel_size=1)
+
+ def forward(self, x):
+ x = self.conv1(x)
+ x = self.conv2(x)
+ x = self.conv3(x)
+ return x
+
+def _make_divisible(v, divisor, min_value=None):
+ """
+ This function is taken from the original tf repo.
+ It ensures that all layers have a channel number that is divisible by 8
+ It can be seen here:
+ https://github.com/tensorflow/models/blob/master/research/slim/nets/mobilenet/mobilenet.py
+ :param v:
+ :param divisor:
+ :param min_value:
+ :return:
+ """
+ if min_value is None:
+ min_value = divisor
+ new_v = max(min_value, int(v + divisor / 2) // divisor * divisor)
+ # Make sure that round down does not go down by more than 10%.
+ if new_v < 0.9 * v:
+ new_v += divisor
+ return new_v
+
+
+class ConvBNReLU(nn.Sequential):
+ def __init__(self, in_planes, out_planes, kernel_size=3, stride=1, groups=1):
+ self.channel_pad = out_planes - in_planes
+ self.stride = stride
+ #padding = (kernel_size - 1) // 2
+
+ # TFLite uses slightly different padding than PyTorch
+ if stride == 2:
+ padding = 0
+ else:
+ padding = (kernel_size - 1) // 2
+
+ super(ConvBNReLU, self).__init__(
+ nn.Conv2d(in_planes, out_planes, kernel_size, stride, padding, groups=groups, bias=False),
+ nn.BatchNorm2d(out_planes),
+ nn.ReLU6(inplace=True)
+ )
+ self.max_pool = nn.MaxPool2d(kernel_size=stride, stride=stride)
+
+
+ def forward(self, x):
+ # TFLite uses different padding
+ if self.stride == 2:
+ x = F.pad(x, (0, 1, 0, 1), "constant", 0)
+ #print(x.shape)
+
+ for module in self:
+ if not isinstance(module, nn.MaxPool2d):
+ x = module(x)
+ return x
+
+
+class InvertedResidual(nn.Module):
+ def __init__(self, inp, oup, stride, expand_ratio):
+ super(InvertedResidual, self).__init__()
+ self.stride = stride
+ assert stride in [1, 2]
+
+ hidden_dim = int(round(inp * expand_ratio))
+ self.use_res_connect = self.stride == 1 and inp == oup
+
+ layers = []
+ if expand_ratio != 1:
+ # pw
+ layers.append(ConvBNReLU(inp, hidden_dim, kernel_size=1))
+ layers.extend([
+ # dw
+ ConvBNReLU(hidden_dim, hidden_dim, stride=stride, groups=hidden_dim),
+ # pw-linear
+ nn.Conv2d(hidden_dim, oup, 1, 1, 0, bias=False),
+ nn.BatchNorm2d(oup),
+ ])
+ self.conv = nn.Sequential(*layers)
+
+ def forward(self, x):
+ if self.use_res_connect:
+ return x + self.conv(x)
+ else:
+ return self.conv(x)
+
+
+class MobileNetV2(nn.Module):
+ def __init__(self, pretrained=True):
+ """
+ MobileNet V2 main class
+ Args:
+ num_classes (int): Number of classes
+ width_mult (float): Width multiplier - adjusts number of channels in each layer by this amount
+ inverted_residual_setting: Network structure
+ round_nearest (int): Round the number of channels in each layer to be a multiple of this number
+ Set to 1 to turn off rounding
+ block: Module specifying inverted residual building block for mobilenet
+ """
+ super(MobileNetV2, self).__init__()
+
+ block = InvertedResidual
+ input_channel = 32
+ last_channel = 1280
+ width_mult = 1.0
+ round_nearest = 8
+
+ inverted_residual_setting = [
+ # t, c, n, s
+ [1, 16, 1, 1],
+ [6, 24, 2, 2],
+ [6, 32, 3, 2],
+ [6, 64, 4, 2],
+ [6, 96, 3, 1],
+ #[6, 160, 3, 2],
+ #[6, 320, 1, 1],
+ ]
+
+ # only check the first element, assuming user knows t,c,n,s are required
+ if len(inverted_residual_setting) == 0 or len(inverted_residual_setting[0]) != 4:
+ raise ValueError("inverted_residual_setting should be non-empty "
+ "or a 4-element list, got {}".format(inverted_residual_setting))
+
+ # building first layer
+ input_channel = _make_divisible(input_channel * width_mult, round_nearest)
+ self.last_channel = _make_divisible(last_channel * max(1.0, width_mult), round_nearest)
+ features = [ConvBNReLU(4, input_channel, stride=2)]
+ # building inverted residual blocks
+ for t, c, n, s in inverted_residual_setting:
+ output_channel = _make_divisible(c * width_mult, round_nearest)
+ for i in range(n):
+ stride = s if i == 0 else 1
+ features.append(block(input_channel, output_channel, stride, expand_ratio=t))
+ input_channel = output_channel
+
+ self.features = nn.Sequential(*features)
+ self.fpn_selected = [1, 3, 6, 10, 13]
+ # weight initialization
+ for m in self.modules():
+ if isinstance(m, nn.Conv2d):
+ nn.init.kaiming_normal_(m.weight, mode='fan_out')
+ if m.bias is not None:
+ nn.init.zeros_(m.bias)
+ elif isinstance(m, nn.BatchNorm2d):
+ nn.init.ones_(m.weight)
+ nn.init.zeros_(m.bias)
+ elif isinstance(m, nn.Linear):
+ nn.init.normal_(m.weight, 0, 0.01)
+ nn.init.zeros_(m.bias)
+ if pretrained:
+ self._load_pretrained_model()
+
+ def _forward_impl(self, x):
+ # This exists since TorchScript doesn't support inheritance, so the superclass method
+ # (this one) needs to have a name other than `forward` that can be accessed in a subclass
+ fpn_features = []
+ for i, f in enumerate(self.features):
+ if i > self.fpn_selected[-1]:
+ break
+ x = f(x)
+ if i in self.fpn_selected:
+ fpn_features.append(x)
+
+ c1, c2, c3, c4, c5 = fpn_features
+ return c1, c2, c3, c4, c5
+
+
+ def forward(self, x):
+ return self._forward_impl(x)
+
+ def _load_pretrained_model(self):
+ pretrain_dict = model_zoo.load_url('https://download.pytorch.org/models/mobilenet_v2-b0353104.pth')
+ model_dict = {}
+ state_dict = self.state_dict()
+ for k, v in pretrain_dict.items():
+ if k in state_dict:
+ model_dict[k] = v
+ state_dict.update(model_dict)
+ self.load_state_dict(state_dict)
+
+
+class MobileV2_MLSD_Large(nn.Module):
+ def __init__(self):
+ super(MobileV2_MLSD_Large, self).__init__()
+
+ self.backbone = MobileNetV2(pretrained=False)
+ ## A, B
+ self.block15 = BlockTypeA(in_c1= 64, in_c2= 96,
+ out_c1= 64, out_c2=64,
+ upscale=False)
+ self.block16 = BlockTypeB(128, 64)
+
+ ## A, B
+ self.block17 = BlockTypeA(in_c1 = 32, in_c2 = 64,
+ out_c1= 64, out_c2= 64)
+ self.block18 = BlockTypeB(128, 64)
+
+ ## A, B
+ self.block19 = BlockTypeA(in_c1=24, in_c2=64,
+ out_c1=64, out_c2=64)
+ self.block20 = BlockTypeB(128, 64)
+
+ ## A, B, C
+ self.block21 = BlockTypeA(in_c1=16, in_c2=64,
+ out_c1=64, out_c2=64)
+ self.block22 = BlockTypeB(128, 64)
+
+ self.block23 = BlockTypeC(64, 16)
+
+ def forward(self, x):
+ c1, c2, c3, c4, c5 = self.backbone(x)
+
+ x = self.block15(c4, c5)
+ x = self.block16(x)
+
+ x = self.block17(c3, x)
+ x = self.block18(x)
+
+ x = self.block19(c2, x)
+ x = self.block20(x)
+
+ x = self.block21(c1, x)
+ x = self.block22(x)
+ x = self.block23(x)
+ x = x[:, 7:, :, :]
+
+ return x
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mlsd/models/mbv2_mlsd_tiny.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mlsd/models/mbv2_mlsd_tiny.py
new file mode 100644
index 0000000000000000000000000000000000000000..e3ed633f2cc23ea1829a627fdb879ab39f641f83
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mlsd/models/mbv2_mlsd_tiny.py
@@ -0,0 +1,275 @@
+import os
+import sys
+import torch
+import torch.nn as nn
+import torch.utils.model_zoo as model_zoo
+from torch.nn import functional as F
+
+
+class BlockTypeA(nn.Module):
+ def __init__(self, in_c1, in_c2, out_c1, out_c2, upscale = True):
+ super(BlockTypeA, self).__init__()
+ self.conv1 = nn.Sequential(
+ nn.Conv2d(in_c2, out_c2, kernel_size=1),
+ nn.BatchNorm2d(out_c2),
+ nn.ReLU(inplace=True)
+ )
+ self.conv2 = nn.Sequential(
+ nn.Conv2d(in_c1, out_c1, kernel_size=1),
+ nn.BatchNorm2d(out_c1),
+ nn.ReLU(inplace=True)
+ )
+ self.upscale = upscale
+
+ def forward(self, a, b):
+ b = self.conv1(b)
+ a = self.conv2(a)
+ b = F.interpolate(b, scale_factor=2.0, mode='bilinear', align_corners=True)
+ return torch.cat((a, b), dim=1)
+
+
+class BlockTypeB(nn.Module):
+ def __init__(self, in_c, out_c):
+ super(BlockTypeB, self).__init__()
+ self.conv1 = nn.Sequential(
+ nn.Conv2d(in_c, in_c, kernel_size=3, padding=1),
+ nn.BatchNorm2d(in_c),
+ nn.ReLU()
+ )
+ self.conv2 = nn.Sequential(
+ nn.Conv2d(in_c, out_c, kernel_size=3, padding=1),
+ nn.BatchNorm2d(out_c),
+ nn.ReLU()
+ )
+
+ def forward(self, x):
+ x = self.conv1(x) + x
+ x = self.conv2(x)
+ return x
+
+class BlockTypeC(nn.Module):
+ def __init__(self, in_c, out_c):
+ super(BlockTypeC, self).__init__()
+ self.conv1 = nn.Sequential(
+ nn.Conv2d(in_c, in_c, kernel_size=3, padding=5, dilation=5),
+ nn.BatchNorm2d(in_c),
+ nn.ReLU()
+ )
+ self.conv2 = nn.Sequential(
+ nn.Conv2d(in_c, in_c, kernel_size=3, padding=1),
+ nn.BatchNorm2d(in_c),
+ nn.ReLU()
+ )
+ self.conv3 = nn.Conv2d(in_c, out_c, kernel_size=1)
+
+ def forward(self, x):
+ x = self.conv1(x)
+ x = self.conv2(x)
+ x = self.conv3(x)
+ return x
+
+def _make_divisible(v, divisor, min_value=None):
+ """
+ This function is taken from the original tf repo.
+ It ensures that all layers have a channel number that is divisible by 8
+ It can be seen here:
+ https://github.com/tensorflow/models/blob/master/research/slim/nets/mobilenet/mobilenet.py
+ :param v:
+ :param divisor:
+ :param min_value:
+ :return:
+ """
+ if min_value is None:
+ min_value = divisor
+ new_v = max(min_value, int(v + divisor / 2) // divisor * divisor)
+ # Make sure that round down does not go down by more than 10%.
+ if new_v < 0.9 * v:
+ new_v += divisor
+ return new_v
+
+
+class ConvBNReLU(nn.Sequential):
+ def __init__(self, in_planes, out_planes, kernel_size=3, stride=1, groups=1):
+ self.channel_pad = out_planes - in_planes
+ self.stride = stride
+ #padding = (kernel_size - 1) // 2
+
+ # TFLite uses slightly different padding than PyTorch
+ if stride == 2:
+ padding = 0
+ else:
+ padding = (kernel_size - 1) // 2
+
+ super(ConvBNReLU, self).__init__(
+ nn.Conv2d(in_planes, out_planes, kernel_size, stride, padding, groups=groups, bias=False),
+ nn.BatchNorm2d(out_planes),
+ nn.ReLU6(inplace=True)
+ )
+ self.max_pool = nn.MaxPool2d(kernel_size=stride, stride=stride)
+
+
+ def forward(self, x):
+ # TFLite uses different padding
+ if self.stride == 2:
+ x = F.pad(x, (0, 1, 0, 1), "constant", 0)
+ #print(x.shape)
+
+ for module in self:
+ if not isinstance(module, nn.MaxPool2d):
+ x = module(x)
+ return x
+
+
+class InvertedResidual(nn.Module):
+ def __init__(self, inp, oup, stride, expand_ratio):
+ super(InvertedResidual, self).__init__()
+ self.stride = stride
+ assert stride in [1, 2]
+
+ hidden_dim = int(round(inp * expand_ratio))
+ self.use_res_connect = self.stride == 1 and inp == oup
+
+ layers = []
+ if expand_ratio != 1:
+ # pw
+ layers.append(ConvBNReLU(inp, hidden_dim, kernel_size=1))
+ layers.extend([
+ # dw
+ ConvBNReLU(hidden_dim, hidden_dim, stride=stride, groups=hidden_dim),
+ # pw-linear
+ nn.Conv2d(hidden_dim, oup, 1, 1, 0, bias=False),
+ nn.BatchNorm2d(oup),
+ ])
+ self.conv = nn.Sequential(*layers)
+
+ def forward(self, x):
+ if self.use_res_connect:
+ return x + self.conv(x)
+ else:
+ return self.conv(x)
+
+
+class MobileNetV2(nn.Module):
+ def __init__(self, pretrained=True):
+ """
+ MobileNet V2 main class
+ Args:
+ num_classes (int): Number of classes
+ width_mult (float): Width multiplier - adjusts number of channels in each layer by this amount
+ inverted_residual_setting: Network structure
+ round_nearest (int): Round the number of channels in each layer to be a multiple of this number
+ Set to 1 to turn off rounding
+ block: Module specifying inverted residual building block for mobilenet
+ """
+ super(MobileNetV2, self).__init__()
+
+ block = InvertedResidual
+ input_channel = 32
+ last_channel = 1280
+ width_mult = 1.0
+ round_nearest = 8
+
+ inverted_residual_setting = [
+ # t, c, n, s
+ [1, 16, 1, 1],
+ [6, 24, 2, 2],
+ [6, 32, 3, 2],
+ [6, 64, 4, 2],
+ #[6, 96, 3, 1],
+ #[6, 160, 3, 2],
+ #[6, 320, 1, 1],
+ ]
+
+ # only check the first element, assuming user knows t,c,n,s are required
+ if len(inverted_residual_setting) == 0 or len(inverted_residual_setting[0]) != 4:
+ raise ValueError("inverted_residual_setting should be non-empty "
+ "or a 4-element list, got {}".format(inverted_residual_setting))
+
+ # building first layer
+ input_channel = _make_divisible(input_channel * width_mult, round_nearest)
+ self.last_channel = _make_divisible(last_channel * max(1.0, width_mult), round_nearest)
+ features = [ConvBNReLU(4, input_channel, stride=2)]
+ # building inverted residual blocks
+ for t, c, n, s in inverted_residual_setting:
+ output_channel = _make_divisible(c * width_mult, round_nearest)
+ for i in range(n):
+ stride = s if i == 0 else 1
+ features.append(block(input_channel, output_channel, stride, expand_ratio=t))
+ input_channel = output_channel
+ self.features = nn.Sequential(*features)
+
+ self.fpn_selected = [3, 6, 10]
+ # weight initialization
+ for m in self.modules():
+ if isinstance(m, nn.Conv2d):
+ nn.init.kaiming_normal_(m.weight, mode='fan_out')
+ if m.bias is not None:
+ nn.init.zeros_(m.bias)
+ elif isinstance(m, nn.BatchNorm2d):
+ nn.init.ones_(m.weight)
+ nn.init.zeros_(m.bias)
+ elif isinstance(m, nn.Linear):
+ nn.init.normal_(m.weight, 0, 0.01)
+ nn.init.zeros_(m.bias)
+
+ #if pretrained:
+ # self._load_pretrained_model()
+
+ def _forward_impl(self, x):
+ # This exists since TorchScript doesn't support inheritance, so the superclass method
+ # (this one) needs to have a name other than `forward` that can be accessed in a subclass
+ fpn_features = []
+ for i, f in enumerate(self.features):
+ if i > self.fpn_selected[-1]:
+ break
+ x = f(x)
+ if i in self.fpn_selected:
+ fpn_features.append(x)
+
+ c2, c3, c4 = fpn_features
+ return c2, c3, c4
+
+
+ def forward(self, x):
+ return self._forward_impl(x)
+
+ def _load_pretrained_model(self):
+ pretrain_dict = model_zoo.load_url('https://download.pytorch.org/models/mobilenet_v2-b0353104.pth')
+ model_dict = {}
+ state_dict = self.state_dict()
+ for k, v in pretrain_dict.items():
+ if k in state_dict:
+ model_dict[k] = v
+ state_dict.update(model_dict)
+ self.load_state_dict(state_dict)
+
+
+class MobileV2_MLSD_Tiny(nn.Module):
+ def __init__(self):
+ super(MobileV2_MLSD_Tiny, self).__init__()
+
+ self.backbone = MobileNetV2(pretrained=True)
+
+ self.block12 = BlockTypeA(in_c1= 32, in_c2= 64,
+ out_c1= 64, out_c2=64)
+ self.block13 = BlockTypeB(128, 64)
+
+ self.block14 = BlockTypeA(in_c1 = 24, in_c2 = 64,
+ out_c1= 32, out_c2= 32)
+ self.block15 = BlockTypeB(64, 64)
+
+ self.block16 = BlockTypeC(64, 16)
+
+ def forward(self, x):
+ c2, c3, c4 = self.backbone(x)
+
+ x = self.block12(c3, c4)
+ x = self.block13(x)
+ x = self.block14(c2, x)
+ x = self.block15(x)
+ x = self.block16(x)
+ x = x[:, 7:, :, :]
+ #print(x.shape)
+ x = F.interpolate(x, scale_factor=2.0, mode='bilinear', align_corners=True)
+
+ return x
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mlsd/utils.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mlsd/utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..a9cc5d904d9dd34d2ba4c902f3993f7abbb7ac5e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mlsd/utils.py
@@ -0,0 +1,581 @@
+'''
+modified by lihaoweicv
+pytorch version
+'''
+
+'''
+M-LSD
+Copyright 2021-present NAVER Corp.
+Apache License v2.0
+'''
+
+import os
+import numpy as np
+import cv2
+import torch
+from torch.nn import functional as F
+from modules import devices
+
+
+def deccode_output_score_and_ptss(tpMap, topk_n = 200, ksize = 5):
+ '''
+ tpMap:
+ center: tpMap[1, 0, :, :]
+ displacement: tpMap[1, 1:5, :, :]
+ '''
+ b, c, h, w = tpMap.shape
+ assert b==1, 'only support bsize==1'
+ displacement = tpMap[:, 1:5, :, :][0]
+ center = tpMap[:, 0, :, :]
+ heat = torch.sigmoid(center)
+ hmax = F.max_pool2d( heat, (ksize, ksize), stride=1, padding=(ksize-1)//2)
+ keep = (hmax == heat).float()
+ heat = heat * keep
+ heat = heat.reshape(-1, )
+
+ scores, indices = torch.topk(heat, topk_n, dim=-1, largest=True)
+ yy = torch.floor_divide(indices, w).unsqueeze(-1)
+ xx = torch.fmod(indices, w).unsqueeze(-1)
+ ptss = torch.cat((yy, xx),dim=-1)
+
+ ptss = ptss.detach().cpu().numpy()
+ scores = scores.detach().cpu().numpy()
+ displacement = displacement.detach().cpu().numpy()
+ displacement = displacement.transpose((1,2,0))
+ return ptss, scores, displacement
+
+
+def pred_lines(image, model,
+ input_shape=[512, 512],
+ score_thr=0.10,
+ dist_thr=20.0):
+ h, w, _ = image.shape
+ h_ratio, w_ratio = [h / input_shape[0], w / input_shape[1]]
+
+ resized_image = np.concatenate([cv2.resize(image, (input_shape[1], input_shape[0]), interpolation=cv2.INTER_AREA),
+ np.ones([input_shape[0], input_shape[1], 1])], axis=-1)
+
+ resized_image = resized_image.transpose((2,0,1))
+ batch_image = np.expand_dims(resized_image, axis=0).astype('float32')
+ batch_image = (batch_image / 127.5) - 1.0
+
+ batch_image = torch.from_numpy(batch_image).float().to(devices.get_device_for("controlnet"))
+ outputs = model(batch_image)
+ pts, pts_score, vmap = deccode_output_score_and_ptss(outputs, 200, 3)
+ start = vmap[:, :, :2]
+ end = vmap[:, :, 2:]
+ dist_map = np.sqrt(np.sum((start - end) ** 2, axis=-1))
+
+ segments_list = []
+ for center, score in zip(pts, pts_score):
+ y, x = center
+ distance = dist_map[y, x]
+ if score > score_thr and distance > dist_thr:
+ disp_x_start, disp_y_start, disp_x_end, disp_y_end = vmap[y, x, :]
+ x_start = x + disp_x_start
+ y_start = y + disp_y_start
+ x_end = x + disp_x_end
+ y_end = y + disp_y_end
+ segments_list.append([x_start, y_start, x_end, y_end])
+
+ lines = 2 * np.array(segments_list) # 256 > 512
+ lines[:, 0] = lines[:, 0] * w_ratio
+ lines[:, 1] = lines[:, 1] * h_ratio
+ lines[:, 2] = lines[:, 2] * w_ratio
+ lines[:, 3] = lines[:, 3] * h_ratio
+
+ return lines
+
+
+def pred_squares(image,
+ model,
+ input_shape=[512, 512],
+ params={'score': 0.06,
+ 'outside_ratio': 0.28,
+ 'inside_ratio': 0.45,
+ 'w_overlap': 0.0,
+ 'w_degree': 1.95,
+ 'w_length': 0.0,
+ 'w_area': 1.86,
+ 'w_center': 0.14}):
+ '''
+ shape = [height, width]
+ '''
+ h, w, _ = image.shape
+ original_shape = [h, w]
+
+ resized_image = np.concatenate([cv2.resize(image, (input_shape[0], input_shape[1]), interpolation=cv2.INTER_AREA),
+ np.ones([input_shape[0], input_shape[1], 1])], axis=-1)
+ resized_image = resized_image.transpose((2, 0, 1))
+ batch_image = np.expand_dims(resized_image, axis=0).astype('float32')
+ batch_image = (batch_image / 127.5) - 1.0
+
+ batch_image = torch.from_numpy(batch_image).float().to(devices.get_device_for("controlnet"))
+ outputs = model(batch_image)
+
+ pts, pts_score, vmap = deccode_output_score_and_ptss(outputs, 200, 3)
+ start = vmap[:, :, :2] # (x, y)
+ end = vmap[:, :, 2:] # (x, y)
+ dist_map = np.sqrt(np.sum((start - end) ** 2, axis=-1))
+
+ junc_list = []
+ segments_list = []
+ for junc, score in zip(pts, pts_score):
+ y, x = junc
+ distance = dist_map[y, x]
+ if score > params['score'] and distance > 20.0:
+ junc_list.append([x, y])
+ disp_x_start, disp_y_start, disp_x_end, disp_y_end = vmap[y, x, :]
+ d_arrow = 1.0
+ x_start = x + d_arrow * disp_x_start
+ y_start = y + d_arrow * disp_y_start
+ x_end = x + d_arrow * disp_x_end
+ y_end = y + d_arrow * disp_y_end
+ segments_list.append([x_start, y_start, x_end, y_end])
+
+ segments = np.array(segments_list)
+
+ ####### post processing for squares
+ # 1. get unique lines
+ point = np.array([[0, 0]])
+ point = point[0]
+ start = segments[:, :2]
+ end = segments[:, 2:]
+ diff = start - end
+ a = diff[:, 1]
+ b = -diff[:, 0]
+ c = a * start[:, 0] + b * start[:, 1]
+
+ d = np.abs(a * point[0] + b * point[1] - c) / np.sqrt(a ** 2 + b ** 2 + 1e-10)
+ theta = np.arctan2(diff[:, 0], diff[:, 1]) * 180 / np.pi
+ theta[theta < 0.0] += 180
+ hough = np.concatenate([d[:, None], theta[:, None]], axis=-1)
+
+ d_quant = 1
+ theta_quant = 2
+ hough[:, 0] //= d_quant
+ hough[:, 1] //= theta_quant
+ _, indices, counts = np.unique(hough, axis=0, return_index=True, return_counts=True)
+
+ acc_map = np.zeros([512 // d_quant + 1, 360 // theta_quant + 1], dtype='float32')
+ idx_map = np.zeros([512 // d_quant + 1, 360 // theta_quant + 1], dtype='int32') - 1
+ yx_indices = hough[indices, :].astype('int32')
+ acc_map[yx_indices[:, 0], yx_indices[:, 1]] = counts
+ idx_map[yx_indices[:, 0], yx_indices[:, 1]] = indices
+
+ acc_map_np = acc_map
+ # acc_map = acc_map[None, :, :, None]
+ #
+ # ### fast suppression using tensorflow op
+ # acc_map = tf.constant(acc_map, dtype=tf.float32)
+ # max_acc_map = tf.keras.layers.MaxPool2D(pool_size=(5, 5), strides=1, padding='same')(acc_map)
+ # acc_map = acc_map * tf.cast(tf.math.equal(acc_map, max_acc_map), tf.float32)
+ # flatten_acc_map = tf.reshape(acc_map, [1, -1])
+ # topk_values, topk_indices = tf.math.top_k(flatten_acc_map, k=len(pts))
+ # _, h, w, _ = acc_map.shape
+ # y = tf.expand_dims(topk_indices // w, axis=-1)
+ # x = tf.expand_dims(topk_indices % w, axis=-1)
+ # yx = tf.concat([y, x], axis=-1)
+
+ ### fast suppression using pytorch op
+ acc_map = torch.from_numpy(acc_map_np).unsqueeze(0).unsqueeze(0)
+ _,_, h, w = acc_map.shape
+ max_acc_map = F.max_pool2d(acc_map,kernel_size=5, stride=1, padding=2)
+ acc_map = acc_map * ( (acc_map == max_acc_map).float() )
+ flatten_acc_map = acc_map.reshape([-1, ])
+
+ scores, indices = torch.topk(flatten_acc_map, len(pts), dim=-1, largest=True)
+ yy = torch.div(indices, w, rounding_mode='floor').unsqueeze(-1)
+ xx = torch.fmod(indices, w).unsqueeze(-1)
+ yx = torch.cat((yy, xx), dim=-1)
+
+ yx = yx.detach().cpu().numpy()
+
+ topk_values = scores.detach().cpu().numpy()
+ indices = idx_map[yx[:, 0], yx[:, 1]]
+ basis = 5 // 2
+
+ merged_segments = []
+ for yx_pt, max_indice, value in zip(yx, indices, topk_values):
+ y, x = yx_pt
+ if max_indice == -1 or value == 0:
+ continue
+ segment_list = []
+ for y_offset in range(-basis, basis + 1):
+ for x_offset in range(-basis, basis + 1):
+ indice = idx_map[y + y_offset, x + x_offset]
+ cnt = int(acc_map_np[y + y_offset, x + x_offset])
+ if indice != -1:
+ segment_list.append(segments[indice])
+ if cnt > 1:
+ check_cnt = 1
+ current_hough = hough[indice]
+ for new_indice, new_hough in enumerate(hough):
+ if (current_hough == new_hough).all() and indice != new_indice:
+ segment_list.append(segments[new_indice])
+ check_cnt += 1
+ if check_cnt == cnt:
+ break
+ group_segments = np.array(segment_list).reshape([-1, 2])
+ sorted_group_segments = np.sort(group_segments, axis=0)
+ x_min, y_min = sorted_group_segments[0, :]
+ x_max, y_max = sorted_group_segments[-1, :]
+
+ deg = theta[max_indice]
+ if deg >= 90:
+ merged_segments.append([x_min, y_max, x_max, y_min])
+ else:
+ merged_segments.append([x_min, y_min, x_max, y_max])
+
+ # 2. get intersections
+ new_segments = np.array(merged_segments) # (x1, y1, x2, y2)
+ start = new_segments[:, :2] # (x1, y1)
+ end = new_segments[:, 2:] # (x2, y2)
+ new_centers = (start + end) / 2.0
+ diff = start - end
+ dist_segments = np.sqrt(np.sum(diff ** 2, axis=-1))
+
+ # ax + by = c
+ a = diff[:, 1]
+ b = -diff[:, 0]
+ c = a * start[:, 0] + b * start[:, 1]
+ pre_det = a[:, None] * b[None, :]
+ det = pre_det - np.transpose(pre_det)
+
+ pre_inter_y = a[:, None] * c[None, :]
+ inter_y = (pre_inter_y - np.transpose(pre_inter_y)) / (det + 1e-10)
+ pre_inter_x = c[:, None] * b[None, :]
+ inter_x = (pre_inter_x - np.transpose(pre_inter_x)) / (det + 1e-10)
+ inter_pts = np.concatenate([inter_x[:, :, None], inter_y[:, :, None]], axis=-1).astype('int32')
+
+ # 3. get corner information
+ # 3.1 get distance
+ '''
+ dist_segments:
+ | dist(0), dist(1), dist(2), ...|
+ dist_inter_to_segment1:
+ | dist(inter,0), dist(inter,0), dist(inter,0), ... |
+ | dist(inter,1), dist(inter,1), dist(inter,1), ... |
+ ...
+ dist_inter_to_semgnet2:
+ | dist(inter,0), dist(inter,1), dist(inter,2), ... |
+ | dist(inter,0), dist(inter,1), dist(inter,2), ... |
+ ...
+ '''
+
+ dist_inter_to_segment1_start = np.sqrt(
+ np.sum(((inter_pts - start[:, None, :]) ** 2), axis=-1, keepdims=True)) # [n_batch, n_batch, 1]
+ dist_inter_to_segment1_end = np.sqrt(
+ np.sum(((inter_pts - end[:, None, :]) ** 2), axis=-1, keepdims=True)) # [n_batch, n_batch, 1]
+ dist_inter_to_segment2_start = np.sqrt(
+ np.sum(((inter_pts - start[None, :, :]) ** 2), axis=-1, keepdims=True)) # [n_batch, n_batch, 1]
+ dist_inter_to_segment2_end = np.sqrt(
+ np.sum(((inter_pts - end[None, :, :]) ** 2), axis=-1, keepdims=True)) # [n_batch, n_batch, 1]
+
+ # sort ascending
+ dist_inter_to_segment1 = np.sort(
+ np.concatenate([dist_inter_to_segment1_start, dist_inter_to_segment1_end], axis=-1),
+ axis=-1) # [n_batch, n_batch, 2]
+ dist_inter_to_segment2 = np.sort(
+ np.concatenate([dist_inter_to_segment2_start, dist_inter_to_segment2_end], axis=-1),
+ axis=-1) # [n_batch, n_batch, 2]
+
+ # 3.2 get degree
+ inter_to_start = new_centers[:, None, :] - inter_pts
+ deg_inter_to_start = np.arctan2(inter_to_start[:, :, 1], inter_to_start[:, :, 0]) * 180 / np.pi
+ deg_inter_to_start[deg_inter_to_start < 0.0] += 360
+ inter_to_end = new_centers[None, :, :] - inter_pts
+ deg_inter_to_end = np.arctan2(inter_to_end[:, :, 1], inter_to_end[:, :, 0]) * 180 / np.pi
+ deg_inter_to_end[deg_inter_to_end < 0.0] += 360
+
+ '''
+ B -- G
+ | |
+ C -- R
+ B : blue / G: green / C: cyan / R: red
+
+ 0 -- 1
+ | |
+ 3 -- 2
+ '''
+ # rename variables
+ deg1_map, deg2_map = deg_inter_to_start, deg_inter_to_end
+ # sort deg ascending
+ deg_sort = np.sort(np.concatenate([deg1_map[:, :, None], deg2_map[:, :, None]], axis=-1), axis=-1)
+
+ deg_diff_map = np.abs(deg1_map - deg2_map)
+ # we only consider the smallest degree of intersect
+ deg_diff_map[deg_diff_map > 180] = 360 - deg_diff_map[deg_diff_map > 180]
+
+ # define available degree range
+ deg_range = [60, 120]
+
+ corner_dict = {corner_info: [] for corner_info in range(4)}
+ inter_points = []
+ for i in range(inter_pts.shape[0]):
+ for j in range(i + 1, inter_pts.shape[1]):
+ # i, j > line index, always i < j
+ x, y = inter_pts[i, j, :]
+ deg1, deg2 = deg_sort[i, j, :]
+ deg_diff = deg_diff_map[i, j]
+
+ check_degree = deg_diff > deg_range[0] and deg_diff < deg_range[1]
+
+ outside_ratio = params['outside_ratio'] # over ratio >>> drop it!
+ inside_ratio = params['inside_ratio'] # over ratio >>> drop it!
+ check_distance = ((dist_inter_to_segment1[i, j, 1] >= dist_segments[i] and \
+ dist_inter_to_segment1[i, j, 0] <= dist_segments[i] * outside_ratio) or \
+ (dist_inter_to_segment1[i, j, 1] <= dist_segments[i] and \
+ dist_inter_to_segment1[i, j, 0] <= dist_segments[i] * inside_ratio)) and \
+ ((dist_inter_to_segment2[i, j, 1] >= dist_segments[j] and \
+ dist_inter_to_segment2[i, j, 0] <= dist_segments[j] * outside_ratio) or \
+ (dist_inter_to_segment2[i, j, 1] <= dist_segments[j] and \
+ dist_inter_to_segment2[i, j, 0] <= dist_segments[j] * inside_ratio))
+
+ if check_degree and check_distance:
+ corner_info = None
+
+ if (deg1 >= 0 and deg1 <= 45 and deg2 >= 45 and deg2 <= 120) or \
+ (deg2 >= 315 and deg1 >= 45 and deg1 <= 120):
+ corner_info, color_info = 0, 'blue'
+ elif (deg1 >= 45 and deg1 <= 125 and deg2 >= 125 and deg2 <= 225):
+ corner_info, color_info = 1, 'green'
+ elif (deg1 >= 125 and deg1 <= 225 and deg2 >= 225 and deg2 <= 315):
+ corner_info, color_info = 2, 'black'
+ elif (deg1 >= 0 and deg1 <= 45 and deg2 >= 225 and deg2 <= 315) or \
+ (deg2 >= 315 and deg1 >= 225 and deg1 <= 315):
+ corner_info, color_info = 3, 'cyan'
+ else:
+ corner_info, color_info = 4, 'red' # we don't use it
+ continue
+
+ corner_dict[corner_info].append([x, y, i, j])
+ inter_points.append([x, y])
+
+ square_list = []
+ connect_list = []
+ segments_list = []
+ for corner0 in corner_dict[0]:
+ for corner1 in corner_dict[1]:
+ connect01 = False
+ for corner0_line in corner0[2:]:
+ if corner0_line in corner1[2:]:
+ connect01 = True
+ break
+ if connect01:
+ for corner2 in corner_dict[2]:
+ connect12 = False
+ for corner1_line in corner1[2:]:
+ if corner1_line in corner2[2:]:
+ connect12 = True
+ break
+ if connect12:
+ for corner3 in corner_dict[3]:
+ connect23 = False
+ for corner2_line in corner2[2:]:
+ if corner2_line in corner3[2:]:
+ connect23 = True
+ break
+ if connect23:
+ for corner3_line in corner3[2:]:
+ if corner3_line in corner0[2:]:
+ # SQUARE!!!
+ '''
+ 0 -- 1
+ | |
+ 3 -- 2
+ square_list:
+ order: 0 > 1 > 2 > 3
+ | x0, y0, x1, y1, x2, y2, x3, y3 |
+ | x0, y0, x1, y1, x2, y2, x3, y3 |
+ ...
+ connect_list:
+ order: 01 > 12 > 23 > 30
+ | line_idx01, line_idx12, line_idx23, line_idx30 |
+ | line_idx01, line_idx12, line_idx23, line_idx30 |
+ ...
+ segments_list:
+ order: 0 > 1 > 2 > 3
+ | line_idx0_i, line_idx0_j, line_idx1_i, line_idx1_j, line_idx2_i, line_idx2_j, line_idx3_i, line_idx3_j |
+ | line_idx0_i, line_idx0_j, line_idx1_i, line_idx1_j, line_idx2_i, line_idx2_j, line_idx3_i, line_idx3_j |
+ ...
+ '''
+ square_list.append(corner0[:2] + corner1[:2] + corner2[:2] + corner3[:2])
+ connect_list.append([corner0_line, corner1_line, corner2_line, corner3_line])
+ segments_list.append(corner0[2:] + corner1[2:] + corner2[2:] + corner3[2:])
+
+ def check_outside_inside(segments_info, connect_idx):
+ # return 'outside or inside', min distance, cover_param, peri_param
+ if connect_idx == segments_info[0]:
+ check_dist_mat = dist_inter_to_segment1
+ else:
+ check_dist_mat = dist_inter_to_segment2
+
+ i, j = segments_info
+ min_dist, max_dist = check_dist_mat[i, j, :]
+ connect_dist = dist_segments[connect_idx]
+ if max_dist > connect_dist:
+ return 'outside', min_dist, 0, 1
+ else:
+ return 'inside', min_dist, -1, -1
+
+ top_square = None
+
+ try:
+ map_size = input_shape[0] / 2
+ squares = np.array(square_list).reshape([-1, 4, 2])
+ score_array = []
+ connect_array = np.array(connect_list)
+ segments_array = np.array(segments_list).reshape([-1, 4, 2])
+
+ # get degree of corners:
+ squares_rollup = np.roll(squares, 1, axis=1)
+ squares_rolldown = np.roll(squares, -1, axis=1)
+ vec1 = squares_rollup - squares
+ normalized_vec1 = vec1 / (np.linalg.norm(vec1, axis=-1, keepdims=True) + 1e-10)
+ vec2 = squares_rolldown - squares
+ normalized_vec2 = vec2 / (np.linalg.norm(vec2, axis=-1, keepdims=True) + 1e-10)
+ inner_products = np.sum(normalized_vec1 * normalized_vec2, axis=-1) # [n_squares, 4]
+ squares_degree = np.arccos(inner_products) * 180 / np.pi # [n_squares, 4]
+
+ # get square score
+ overlap_scores = []
+ degree_scores = []
+ length_scores = []
+
+ for connects, segments, square, degree in zip(connect_array, segments_array, squares, squares_degree):
+ '''
+ 0 -- 1
+ | |
+ 3 -- 2
+
+ # segments: [4, 2]
+ # connects: [4]
+ '''
+
+ ###################################### OVERLAP SCORES
+ cover = 0
+ perimeter = 0
+ # check 0 > 1 > 2 > 3
+ square_length = []
+
+ for start_idx in range(4):
+ end_idx = (start_idx + 1) % 4
+
+ connect_idx = connects[start_idx] # segment idx of segment01
+ start_segments = segments[start_idx]
+ end_segments = segments[end_idx]
+
+ start_point = square[start_idx]
+ end_point = square[end_idx]
+
+ # check whether outside or inside
+ start_position, start_min, start_cover_param, start_peri_param = check_outside_inside(start_segments,
+ connect_idx)
+ end_position, end_min, end_cover_param, end_peri_param = check_outside_inside(end_segments, connect_idx)
+
+ cover += dist_segments[connect_idx] + start_cover_param * start_min + end_cover_param * end_min
+ perimeter += dist_segments[connect_idx] + start_peri_param * start_min + end_peri_param * end_min
+
+ square_length.append(
+ dist_segments[connect_idx] + start_peri_param * start_min + end_peri_param * end_min)
+
+ overlap_scores.append(cover / perimeter)
+ ######################################
+ ###################################### DEGREE SCORES
+ '''
+ deg0 vs deg2
+ deg1 vs deg3
+ '''
+ deg0, deg1, deg2, deg3 = degree
+ deg_ratio1 = deg0 / deg2
+ if deg_ratio1 > 1.0:
+ deg_ratio1 = 1 / deg_ratio1
+ deg_ratio2 = deg1 / deg3
+ if deg_ratio2 > 1.0:
+ deg_ratio2 = 1 / deg_ratio2
+ degree_scores.append((deg_ratio1 + deg_ratio2) / 2)
+ ######################################
+ ###################################### LENGTH SCORES
+ '''
+ len0 vs len2
+ len1 vs len3
+ '''
+ len0, len1, len2, len3 = square_length
+ len_ratio1 = len0 / len2 if len2 > len0 else len2 / len0
+ len_ratio2 = len1 / len3 if len3 > len1 else len3 / len1
+ length_scores.append((len_ratio1 + len_ratio2) / 2)
+
+ ######################################
+
+ overlap_scores = np.array(overlap_scores)
+ overlap_scores /= np.max(overlap_scores)
+
+ degree_scores = np.array(degree_scores)
+ # degree_scores /= np.max(degree_scores)
+
+ length_scores = np.array(length_scores)
+
+ ###################################### AREA SCORES
+ area_scores = np.reshape(squares, [-1, 4, 2])
+ area_x = area_scores[:, :, 0]
+ area_y = area_scores[:, :, 1]
+ correction = area_x[:, -1] * area_y[:, 0] - area_y[:, -1] * area_x[:, 0]
+ area_scores = np.sum(area_x[:, :-1] * area_y[:, 1:], axis=-1) - np.sum(area_y[:, :-1] * area_x[:, 1:], axis=-1)
+ area_scores = 0.5 * np.abs(area_scores + correction)
+ area_scores /= (map_size * map_size) # np.max(area_scores)
+ ######################################
+
+ ###################################### CENTER SCORES
+ centers = np.array([[256 // 2, 256 // 2]], dtype='float32') # [1, 2]
+ # squares: [n, 4, 2]
+ square_centers = np.mean(squares, axis=1) # [n, 2]
+ center2center = np.sqrt(np.sum((centers - square_centers) ** 2))
+ center_scores = center2center / (map_size / np.sqrt(2.0))
+
+ '''
+ score_w = [overlap, degree, area, center, length]
+ '''
+ score_w = [0.0, 1.0, 10.0, 0.5, 1.0]
+ score_array = params['w_overlap'] * overlap_scores \
+ + params['w_degree'] * degree_scores \
+ + params['w_area'] * area_scores \
+ - params['w_center'] * center_scores \
+ + params['w_length'] * length_scores
+
+ best_square = []
+
+ sorted_idx = np.argsort(score_array)[::-1]
+ score_array = score_array[sorted_idx]
+ squares = squares[sorted_idx]
+
+ except Exception as e:
+ pass
+
+ '''return list
+ merged_lines, squares, scores
+ '''
+
+ try:
+ new_segments[:, 0] = new_segments[:, 0] * 2 / input_shape[1] * original_shape[1]
+ new_segments[:, 1] = new_segments[:, 1] * 2 / input_shape[0] * original_shape[0]
+ new_segments[:, 2] = new_segments[:, 2] * 2 / input_shape[1] * original_shape[1]
+ new_segments[:, 3] = new_segments[:, 3] * 2 / input_shape[0] * original_shape[0]
+ except:
+ new_segments = []
+
+ try:
+ squares[:, :, 0] = squares[:, :, 0] * 2 / input_shape[1] * original_shape[1]
+ squares[:, :, 1] = squares[:, :, 1] * 2 / input_shape[0] * original_shape[0]
+ except:
+ squares = []
+ score_array = []
+
+ try:
+ inter_points = np.array(inter_points)
+ inter_points[:, 0] = inter_points[:, 0] * 2 / input_shape[1] * original_shape[1]
+ inter_points[:, 1] = inter_points[:, 1] * 2 / input_shape[0] * original_shape[0]
+ except:
+ inter_points = []
+
+ return new_segments, squares, score_array, inter_points
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..210a2989138380559f23045b568d0fbbeb918c03
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/__init__.py
@@ -0,0 +1,15 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+# flake8: noqa
+from .arraymisc import *
+from .fileio import *
+from .image import *
+from .utils import *
+from .version import *
+from .video import *
+from .visualization import *
+
+# The following modules are not imported to this level, so mmcv may be used
+# without PyTorch.
+# - runner
+# - parallel
+# - op
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/arraymisc/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/arraymisc/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..4b4700d6139ae3d604ff6e542468cce4200c020c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/arraymisc/__init__.py
@@ -0,0 +1,4 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from .quantization import dequantize, quantize
+
+__all__ = ['quantize', 'dequantize']
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/arraymisc/quantization.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/arraymisc/quantization.py
new file mode 100644
index 0000000000000000000000000000000000000000..8e47a3545780cf071a1ef8195efb0b7b662c8186
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/arraymisc/quantization.py
@@ -0,0 +1,55 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import numpy as np
+
+
+def quantize(arr, min_val, max_val, levels, dtype=np.int64):
+ """Quantize an array of (-inf, inf) to [0, levels-1].
+
+ Args:
+ arr (ndarray): Input array.
+ min_val (scalar): Minimum value to be clipped.
+ max_val (scalar): Maximum value to be clipped.
+ levels (int): Quantization levels.
+ dtype (np.type): The type of the quantized array.
+
+ Returns:
+ tuple: Quantized array.
+ """
+ if not (isinstance(levels, int) and levels > 1):
+ raise ValueError(
+ f'levels must be a positive integer, but got {levels}')
+ if min_val >= max_val:
+ raise ValueError(
+ f'min_val ({min_val}) must be smaller than max_val ({max_val})')
+
+ arr = np.clip(arr, min_val, max_val) - min_val
+ quantized_arr = np.minimum(
+ np.floor(levels * arr / (max_val - min_val)).astype(dtype), levels - 1)
+
+ return quantized_arr
+
+
+def dequantize(arr, min_val, max_val, levels, dtype=np.float64):
+ """Dequantize an array.
+
+ Args:
+ arr (ndarray): Input array.
+ min_val (scalar): Minimum value to be clipped.
+ max_val (scalar): Maximum value to be clipped.
+ levels (int): Quantization levels.
+ dtype (np.type): The type of the dequantized array.
+
+ Returns:
+ tuple: Dequantized array.
+ """
+ if not (isinstance(levels, int) and levels > 1):
+ raise ValueError(
+ f'levels must be a positive integer, but got {levels}')
+ if min_val >= max_val:
+ raise ValueError(
+ f'min_val ({min_val}) must be smaller than max_val ({max_val})')
+
+ dequantized_arr = (arr + 0.5).astype(dtype) * (max_val -
+ min_val) / levels + min_val
+
+ return dequantized_arr
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..7246c897430f0cc7ce12719ad8608824fc734446
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/__init__.py
@@ -0,0 +1,41 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from .alexnet import AlexNet
+# yapf: disable
+from .bricks import (ACTIVATION_LAYERS, CONV_LAYERS, NORM_LAYERS,
+ PADDING_LAYERS, PLUGIN_LAYERS, UPSAMPLE_LAYERS,
+ ContextBlock, Conv2d, Conv3d, ConvAWS2d, ConvModule,
+ ConvTranspose2d, ConvTranspose3d, ConvWS2d,
+ DepthwiseSeparableConvModule, GeneralizedAttention,
+ HSigmoid, HSwish, Linear, MaxPool2d, MaxPool3d,
+ NonLocal1d, NonLocal2d, NonLocal3d, Scale, Swish,
+ build_activation_layer, build_conv_layer,
+ build_norm_layer, build_padding_layer, build_plugin_layer,
+ build_upsample_layer, conv_ws_2d, is_norm)
+from .builder import MODELS, build_model_from_cfg
+# yapf: enable
+from .resnet import ResNet, make_res_layer
+from .utils import (INITIALIZERS, Caffe2XavierInit, ConstantInit, KaimingInit,
+ NormalInit, PretrainedInit, TruncNormalInit, UniformInit,
+ XavierInit, bias_init_with_prob, caffe2_xavier_init,
+ constant_init, fuse_conv_bn, get_model_complexity_info,
+ initialize, kaiming_init, normal_init, trunc_normal_init,
+ uniform_init, xavier_init)
+from .vgg import VGG, make_vgg_layer
+
+__all__ = [
+ 'AlexNet', 'VGG', 'make_vgg_layer', 'ResNet', 'make_res_layer',
+ 'constant_init', 'xavier_init', 'normal_init', 'trunc_normal_init',
+ 'uniform_init', 'kaiming_init', 'caffe2_xavier_init',
+ 'bias_init_with_prob', 'ConvModule', 'build_activation_layer',
+ 'build_conv_layer', 'build_norm_layer', 'build_padding_layer',
+ 'build_upsample_layer', 'build_plugin_layer', 'is_norm', 'NonLocal1d',
+ 'NonLocal2d', 'NonLocal3d', 'ContextBlock', 'HSigmoid', 'Swish', 'HSwish',
+ 'GeneralizedAttention', 'ACTIVATION_LAYERS', 'CONV_LAYERS', 'NORM_LAYERS',
+ 'PADDING_LAYERS', 'UPSAMPLE_LAYERS', 'PLUGIN_LAYERS', 'Scale',
+ 'get_model_complexity_info', 'conv_ws_2d', 'ConvAWS2d', 'ConvWS2d',
+ 'fuse_conv_bn', 'DepthwiseSeparableConvModule', 'Linear', 'Conv2d',
+ 'ConvTranspose2d', 'MaxPool2d', 'ConvTranspose3d', 'MaxPool3d', 'Conv3d',
+ 'initialize', 'INITIALIZERS', 'ConstantInit', 'XavierInit', 'NormalInit',
+ 'TruncNormalInit', 'UniformInit', 'KaimingInit', 'PretrainedInit',
+ 'Caffe2XavierInit', 'MODELS', 'build_model_from_cfg'
+]
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/alexnet.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/alexnet.py
new file mode 100644
index 0000000000000000000000000000000000000000..89e36b8c7851f895d9ae7f07149f0e707456aab0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/alexnet.py
@@ -0,0 +1,61 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import logging
+
+import torch.nn as nn
+
+
+class AlexNet(nn.Module):
+ """AlexNet backbone.
+
+ Args:
+ num_classes (int): number of classes for classification.
+ """
+
+ def __init__(self, num_classes=-1):
+ super(AlexNet, self).__init__()
+ self.num_classes = num_classes
+ self.features = nn.Sequential(
+ nn.Conv2d(3, 64, kernel_size=11, stride=4, padding=2),
+ nn.ReLU(inplace=True),
+ nn.MaxPool2d(kernel_size=3, stride=2),
+ nn.Conv2d(64, 192, kernel_size=5, padding=2),
+ nn.ReLU(inplace=True),
+ nn.MaxPool2d(kernel_size=3, stride=2),
+ nn.Conv2d(192, 384, kernel_size=3, padding=1),
+ nn.ReLU(inplace=True),
+ nn.Conv2d(384, 256, kernel_size=3, padding=1),
+ nn.ReLU(inplace=True),
+ nn.Conv2d(256, 256, kernel_size=3, padding=1),
+ nn.ReLU(inplace=True),
+ nn.MaxPool2d(kernel_size=3, stride=2),
+ )
+ if self.num_classes > 0:
+ self.classifier = nn.Sequential(
+ nn.Dropout(),
+ nn.Linear(256 * 6 * 6, 4096),
+ nn.ReLU(inplace=True),
+ nn.Dropout(),
+ nn.Linear(4096, 4096),
+ nn.ReLU(inplace=True),
+ nn.Linear(4096, num_classes),
+ )
+
+ def init_weights(self, pretrained=None):
+ if isinstance(pretrained, str):
+ logger = logging.getLogger()
+ from ..runner import load_checkpoint
+ load_checkpoint(self, pretrained, strict=False, logger=logger)
+ elif pretrained is None:
+ # use default initializer
+ pass
+ else:
+ raise TypeError('pretrained must be a str or None')
+
+ def forward(self, x):
+
+ x = self.features(x)
+ if self.num_classes > 0:
+ x = x.view(x.size(0), 256 * 6 * 6)
+ x = self.classifier(x)
+
+ return x
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..0f33124ed23fc6f27119a37bcb5ab004d3572be0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/__init__.py
@@ -0,0 +1,35 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from .activation import build_activation_layer
+from .context_block import ContextBlock
+from .conv import build_conv_layer
+from .conv2d_adaptive_padding import Conv2dAdaptivePadding
+from .conv_module import ConvModule
+from .conv_ws import ConvAWS2d, ConvWS2d, conv_ws_2d
+from .depthwise_separable_conv_module import DepthwiseSeparableConvModule
+from .drop import Dropout, DropPath
+from .generalized_attention import GeneralizedAttention
+from .hsigmoid import HSigmoid
+from .hswish import HSwish
+from .non_local import NonLocal1d, NonLocal2d, NonLocal3d
+from .norm import build_norm_layer, is_norm
+from .padding import build_padding_layer
+from .plugin import build_plugin_layer
+from .registry import (ACTIVATION_LAYERS, CONV_LAYERS, NORM_LAYERS,
+ PADDING_LAYERS, PLUGIN_LAYERS, UPSAMPLE_LAYERS)
+from .scale import Scale
+from .swish import Swish
+from .upsample import build_upsample_layer
+from .wrappers import (Conv2d, Conv3d, ConvTranspose2d, ConvTranspose3d,
+ Linear, MaxPool2d, MaxPool3d)
+
+__all__ = [
+ 'ConvModule', 'build_activation_layer', 'build_conv_layer',
+ 'build_norm_layer', 'build_padding_layer', 'build_upsample_layer',
+ 'build_plugin_layer', 'is_norm', 'HSigmoid', 'HSwish', 'NonLocal1d',
+ 'NonLocal2d', 'NonLocal3d', 'ContextBlock', 'GeneralizedAttention',
+ 'ACTIVATION_LAYERS', 'CONV_LAYERS', 'NORM_LAYERS', 'PADDING_LAYERS',
+ 'UPSAMPLE_LAYERS', 'PLUGIN_LAYERS', 'Scale', 'ConvAWS2d', 'ConvWS2d',
+ 'conv_ws_2d', 'DepthwiseSeparableConvModule', 'Swish', 'Linear',
+ 'Conv2dAdaptivePadding', 'Conv2d', 'ConvTranspose2d', 'MaxPool2d',
+ 'ConvTranspose3d', 'MaxPool3d', 'Conv3d', 'Dropout', 'DropPath'
+]
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/activation.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/activation.py
new file mode 100644
index 0000000000000000000000000000000000000000..a8951058c8e77eda02c130f3401c9680702e231c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/activation.py
@@ -0,0 +1,92 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import torch
+import torch.nn as nn
+import torch.nn.functional as F
+
+from annotator.mmpkg.mmcv.utils import TORCH_VERSION, build_from_cfg, digit_version
+from .registry import ACTIVATION_LAYERS
+
+for module in [
+ nn.ReLU, nn.LeakyReLU, nn.PReLU, nn.RReLU, nn.ReLU6, nn.ELU,
+ nn.Sigmoid, nn.Tanh
+]:
+ ACTIVATION_LAYERS.register_module(module=module)
+
+
+@ACTIVATION_LAYERS.register_module(name='Clip')
+@ACTIVATION_LAYERS.register_module()
+class Clamp(nn.Module):
+ """Clamp activation layer.
+
+ This activation function is to clamp the feature map value within
+ :math:`[min, max]`. More details can be found in ``torch.clamp()``.
+
+ Args:
+ min (Number | optional): Lower-bound of the range to be clamped to.
+ Default to -1.
+ max (Number | optional): Upper-bound of the range to be clamped to.
+ Default to 1.
+ """
+
+ def __init__(self, min=-1., max=1.):
+ super(Clamp, self).__init__()
+ self.min = min
+ self.max = max
+
+ def forward(self, x):
+ """Forward function.
+
+ Args:
+ x (torch.Tensor): The input tensor.
+
+ Returns:
+ torch.Tensor: Clamped tensor.
+ """
+ return torch.clamp(x, min=self.min, max=self.max)
+
+
+class GELU(nn.Module):
+ r"""Applies the Gaussian Error Linear Units function:
+
+ .. math::
+ \text{GELU}(x) = x * \Phi(x)
+ where :math:`\Phi(x)` is the Cumulative Distribution Function for
+ Gaussian Distribution.
+
+ Shape:
+ - Input: :math:`(N, *)` where `*` means, any number of additional
+ dimensions
+ - Output: :math:`(N, *)`, same shape as the input
+
+ .. image:: scripts/activation_images/GELU.png
+
+ Examples::
+
+ >>> m = nn.GELU()
+ >>> input = torch.randn(2)
+ >>> output = m(input)
+ """
+
+ def forward(self, input):
+ return F.gelu(input)
+
+
+if (TORCH_VERSION == 'parrots'
+ or digit_version(TORCH_VERSION) < digit_version('1.4')):
+ ACTIVATION_LAYERS.register_module(module=GELU)
+else:
+ ACTIVATION_LAYERS.register_module(module=nn.GELU)
+
+
+def build_activation_layer(cfg):
+ """Build activation layer.
+
+ Args:
+ cfg (dict): The activation layer config, which should contain:
+ - type (str): Layer type.
+ - layer args: Args needed to instantiate an activation layer.
+
+ Returns:
+ nn.Module: Created activation layer.
+ """
+ return build_from_cfg(cfg, ACTIVATION_LAYERS)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/context_block.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/context_block.py
new file mode 100644
index 0000000000000000000000000000000000000000..d60fdb904c749ce3b251510dff3cc63cea70d42e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/context_block.py
@@ -0,0 +1,125 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import torch
+from torch import nn
+
+from ..utils import constant_init, kaiming_init
+from .registry import PLUGIN_LAYERS
+
+
+def last_zero_init(m):
+ if isinstance(m, nn.Sequential):
+ constant_init(m[-1], val=0)
+ else:
+ constant_init(m, val=0)
+
+
+@PLUGIN_LAYERS.register_module()
+class ContextBlock(nn.Module):
+ """ContextBlock module in GCNet.
+
+ See 'GCNet: Non-local Networks Meet Squeeze-Excitation Networks and Beyond'
+ (https://arxiv.org/abs/1904.11492) for details.
+
+ Args:
+ in_channels (int): Channels of the input feature map.
+ ratio (float): Ratio of channels of transform bottleneck
+ pooling_type (str): Pooling method for context modeling.
+ Options are 'att' and 'avg', stand for attention pooling and
+ average pooling respectively. Default: 'att'.
+ fusion_types (Sequence[str]): Fusion method for feature fusion,
+ Options are 'channels_add', 'channel_mul', stand for channelwise
+ addition and multiplication respectively. Default: ('channel_add',)
+ """
+
+ _abbr_ = 'context_block'
+
+ def __init__(self,
+ in_channels,
+ ratio,
+ pooling_type='att',
+ fusion_types=('channel_add', )):
+ super(ContextBlock, self).__init__()
+ assert pooling_type in ['avg', 'att']
+ assert isinstance(fusion_types, (list, tuple))
+ valid_fusion_types = ['channel_add', 'channel_mul']
+ assert all([f in valid_fusion_types for f in fusion_types])
+ assert len(fusion_types) > 0, 'at least one fusion should be used'
+ self.in_channels = in_channels
+ self.ratio = ratio
+ self.planes = int(in_channels * ratio)
+ self.pooling_type = pooling_type
+ self.fusion_types = fusion_types
+ if pooling_type == 'att':
+ self.conv_mask = nn.Conv2d(in_channels, 1, kernel_size=1)
+ self.softmax = nn.Softmax(dim=2)
+ else:
+ self.avg_pool = nn.AdaptiveAvgPool2d(1)
+ if 'channel_add' in fusion_types:
+ self.channel_add_conv = nn.Sequential(
+ nn.Conv2d(self.in_channels, self.planes, kernel_size=1),
+ nn.LayerNorm([self.planes, 1, 1]),
+ nn.ReLU(inplace=True), # yapf: disable
+ nn.Conv2d(self.planes, self.in_channels, kernel_size=1))
+ else:
+ self.channel_add_conv = None
+ if 'channel_mul' in fusion_types:
+ self.channel_mul_conv = nn.Sequential(
+ nn.Conv2d(self.in_channels, self.planes, kernel_size=1),
+ nn.LayerNorm([self.planes, 1, 1]),
+ nn.ReLU(inplace=True), # yapf: disable
+ nn.Conv2d(self.planes, self.in_channels, kernel_size=1))
+ else:
+ self.channel_mul_conv = None
+ self.reset_parameters()
+
+ def reset_parameters(self):
+ if self.pooling_type == 'att':
+ kaiming_init(self.conv_mask, mode='fan_in')
+ self.conv_mask.inited = True
+
+ if self.channel_add_conv is not None:
+ last_zero_init(self.channel_add_conv)
+ if self.channel_mul_conv is not None:
+ last_zero_init(self.channel_mul_conv)
+
+ def spatial_pool(self, x):
+ batch, channel, height, width = x.size()
+ if self.pooling_type == 'att':
+ input_x = x
+ # [N, C, H * W]
+ input_x = input_x.view(batch, channel, height * width)
+ # [N, 1, C, H * W]
+ input_x = input_x.unsqueeze(1)
+ # [N, 1, H, W]
+ context_mask = self.conv_mask(x)
+ # [N, 1, H * W]
+ context_mask = context_mask.view(batch, 1, height * width)
+ # [N, 1, H * W]
+ context_mask = self.softmax(context_mask)
+ # [N, 1, H * W, 1]
+ context_mask = context_mask.unsqueeze(-1)
+ # [N, 1, C, 1]
+ context = torch.matmul(input_x, context_mask)
+ # [N, C, 1, 1]
+ context = context.view(batch, channel, 1, 1)
+ else:
+ # [N, C, 1, 1]
+ context = self.avg_pool(x)
+
+ return context
+
+ def forward(self, x):
+ # [N, C, 1, 1]
+ context = self.spatial_pool(x)
+
+ out = x
+ if self.channel_mul_conv is not None:
+ # [N, C, 1, 1]
+ channel_mul_term = torch.sigmoid(self.channel_mul_conv(context))
+ out = out * channel_mul_term
+ if self.channel_add_conv is not None:
+ # [N, C, 1, 1]
+ channel_add_term = self.channel_add_conv(context)
+ out = out + channel_add_term
+
+ return out
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/conv.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/conv.py
new file mode 100644
index 0000000000000000000000000000000000000000..cf54491997a48ac3e7fadc4183ab7bf3e831024c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/conv.py
@@ -0,0 +1,44 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from torch import nn
+
+from .registry import CONV_LAYERS
+
+CONV_LAYERS.register_module('Conv1d', module=nn.Conv1d)
+CONV_LAYERS.register_module('Conv2d', module=nn.Conv2d)
+CONV_LAYERS.register_module('Conv3d', module=nn.Conv3d)
+CONV_LAYERS.register_module('Conv', module=nn.Conv2d)
+
+
+def build_conv_layer(cfg, *args, **kwargs):
+ """Build convolution layer.
+
+ Args:
+ cfg (None or dict): The conv layer config, which should contain:
+ - type (str): Layer type.
+ - layer args: Args needed to instantiate an conv layer.
+ args (argument list): Arguments passed to the `__init__`
+ method of the corresponding conv layer.
+ kwargs (keyword arguments): Keyword arguments passed to the `__init__`
+ method of the corresponding conv layer.
+
+ Returns:
+ nn.Module: Created conv layer.
+ """
+ if cfg is None:
+ cfg_ = dict(type='Conv2d')
+ else:
+ if not isinstance(cfg, dict):
+ raise TypeError('cfg must be a dict')
+ if 'type' not in cfg:
+ raise KeyError('the cfg dict must contain the key "type"')
+ cfg_ = cfg.copy()
+
+ layer_type = cfg_.pop('type')
+ if layer_type not in CONV_LAYERS:
+ raise KeyError(f'Unrecognized norm type {layer_type}')
+ else:
+ conv_layer = CONV_LAYERS.get(layer_type)
+
+ layer = conv_layer(*args, **kwargs, **cfg_)
+
+ return layer
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/conv2d_adaptive_padding.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/conv2d_adaptive_padding.py
new file mode 100644
index 0000000000000000000000000000000000000000..b45e758ac6cf8dfb0382d072fe09125bc7e9b888
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/conv2d_adaptive_padding.py
@@ -0,0 +1,62 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import math
+
+from torch import nn
+from torch.nn import functional as F
+
+from .registry import CONV_LAYERS
+
+
+@CONV_LAYERS.register_module()
+class Conv2dAdaptivePadding(nn.Conv2d):
+ """Implementation of 2D convolution in tensorflow with `padding` as "same",
+ which applies padding to input (if needed) so that input image gets fully
+ covered by filter and stride you specified. For stride 1, this will ensure
+ that output image size is same as input. For stride of 2, output dimensions
+ will be half, for example.
+
+ Args:
+ in_channels (int): Number of channels in the input image
+ out_channels (int): Number of channels produced by the convolution
+ kernel_size (int or tuple): Size of the convolving kernel
+ stride (int or tuple, optional): Stride of the convolution. Default: 1
+ padding (int or tuple, optional): Zero-padding added to both sides of
+ the input. Default: 0
+ dilation (int or tuple, optional): Spacing between kernel elements.
+ Default: 1
+ groups (int, optional): Number of blocked connections from input
+ channels to output channels. Default: 1
+ bias (bool, optional): If ``True``, adds a learnable bias to the
+ output. Default: ``True``
+ """
+
+ def __init__(self,
+ in_channels,
+ out_channels,
+ kernel_size,
+ stride=1,
+ padding=0,
+ dilation=1,
+ groups=1,
+ bias=True):
+ super().__init__(in_channels, out_channels, kernel_size, stride, 0,
+ dilation, groups, bias)
+
+ def forward(self, x):
+ img_h, img_w = x.size()[-2:]
+ kernel_h, kernel_w = self.weight.size()[-2:]
+ stride_h, stride_w = self.stride
+ output_h = math.ceil(img_h / stride_h)
+ output_w = math.ceil(img_w / stride_w)
+ pad_h = (
+ max((output_h - 1) * self.stride[0] +
+ (kernel_h - 1) * self.dilation[0] + 1 - img_h, 0))
+ pad_w = (
+ max((output_w - 1) * self.stride[1] +
+ (kernel_w - 1) * self.dilation[1] + 1 - img_w, 0))
+ if pad_h > 0 or pad_w > 0:
+ x = F.pad(x, [
+ pad_w // 2, pad_w - pad_w // 2, pad_h // 2, pad_h - pad_h // 2
+ ])
+ return F.conv2d(x, self.weight, self.bias, self.stride, self.padding,
+ self.dilation, self.groups)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/conv_module.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/conv_module.py
new file mode 100644
index 0000000000000000000000000000000000000000..43cab72624ccc04b2f7877383588a4bbacf9117a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/conv_module.py
@@ -0,0 +1,206 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import warnings
+
+import torch.nn as nn
+
+from annotator.mmpkg.mmcv.utils import _BatchNorm, _InstanceNorm
+from ..utils import constant_init, kaiming_init
+from .activation import build_activation_layer
+from .conv import build_conv_layer
+from .norm import build_norm_layer
+from .padding import build_padding_layer
+from .registry import PLUGIN_LAYERS
+
+
+@PLUGIN_LAYERS.register_module()
+class ConvModule(nn.Module):
+ """A conv block that bundles conv/norm/activation layers.
+
+ This block simplifies the usage of convolution layers, which are commonly
+ used with a norm layer (e.g., BatchNorm) and activation layer (e.g., ReLU).
+ It is based upon three build methods: `build_conv_layer()`,
+ `build_norm_layer()` and `build_activation_layer()`.
+
+ Besides, we add some additional features in this module.
+ 1. Automatically set `bias` of the conv layer.
+ 2. Spectral norm is supported.
+ 3. More padding modes are supported. Before PyTorch 1.5, nn.Conv2d only
+ supports zero and circular padding, and we add "reflect" padding mode.
+
+ Args:
+ in_channels (int): Number of channels in the input feature map.
+ Same as that in ``nn._ConvNd``.
+ out_channels (int): Number of channels produced by the convolution.
+ Same as that in ``nn._ConvNd``.
+ kernel_size (int | tuple[int]): Size of the convolving kernel.
+ Same as that in ``nn._ConvNd``.
+ stride (int | tuple[int]): Stride of the convolution.
+ Same as that in ``nn._ConvNd``.
+ padding (int | tuple[int]): Zero-padding added to both sides of
+ the input. Same as that in ``nn._ConvNd``.
+ dilation (int | tuple[int]): Spacing between kernel elements.
+ Same as that in ``nn._ConvNd``.
+ groups (int): Number of blocked connections from input channels to
+ output channels. Same as that in ``nn._ConvNd``.
+ bias (bool | str): If specified as `auto`, it will be decided by the
+ norm_cfg. Bias will be set as True if `norm_cfg` is None, otherwise
+ False. Default: "auto".
+ conv_cfg (dict): Config dict for convolution layer. Default: None,
+ which means using conv2d.
+ norm_cfg (dict): Config dict for normalization layer. Default: None.
+ act_cfg (dict): Config dict for activation layer.
+ Default: dict(type='ReLU').
+ inplace (bool): Whether to use inplace mode for activation.
+ Default: True.
+ with_spectral_norm (bool): Whether use spectral norm in conv module.
+ Default: False.
+ padding_mode (str): If the `padding_mode` has not been supported by
+ current `Conv2d` in PyTorch, we will use our own padding layer
+ instead. Currently, we support ['zeros', 'circular'] with official
+ implementation and ['reflect'] with our own implementation.
+ Default: 'zeros'.
+ order (tuple[str]): The order of conv/norm/activation layers. It is a
+ sequence of "conv", "norm" and "act". Common examples are
+ ("conv", "norm", "act") and ("act", "conv", "norm").
+ Default: ('conv', 'norm', 'act').
+ """
+
+ _abbr_ = 'conv_block'
+
+ def __init__(self,
+ in_channels,
+ out_channels,
+ kernel_size,
+ stride=1,
+ padding=0,
+ dilation=1,
+ groups=1,
+ bias='auto',
+ conv_cfg=None,
+ norm_cfg=None,
+ act_cfg=dict(type='ReLU'),
+ inplace=True,
+ with_spectral_norm=False,
+ padding_mode='zeros',
+ order=('conv', 'norm', 'act')):
+ super(ConvModule, self).__init__()
+ assert conv_cfg is None or isinstance(conv_cfg, dict)
+ assert norm_cfg is None or isinstance(norm_cfg, dict)
+ assert act_cfg is None or isinstance(act_cfg, dict)
+ official_padding_mode = ['zeros', 'circular']
+ self.conv_cfg = conv_cfg
+ self.norm_cfg = norm_cfg
+ self.act_cfg = act_cfg
+ self.inplace = inplace
+ self.with_spectral_norm = with_spectral_norm
+ self.with_explicit_padding = padding_mode not in official_padding_mode
+ self.order = order
+ assert isinstance(self.order, tuple) and len(self.order) == 3
+ assert set(order) == set(['conv', 'norm', 'act'])
+
+ self.with_norm = norm_cfg is not None
+ self.with_activation = act_cfg is not None
+ # if the conv layer is before a norm layer, bias is unnecessary.
+ if bias == 'auto':
+ bias = not self.with_norm
+ self.with_bias = bias
+
+ if self.with_explicit_padding:
+ pad_cfg = dict(type=padding_mode)
+ self.padding_layer = build_padding_layer(pad_cfg, padding)
+
+ # reset padding to 0 for conv module
+ conv_padding = 0 if self.with_explicit_padding else padding
+ # build convolution layer
+ self.conv = build_conv_layer(
+ conv_cfg,
+ in_channels,
+ out_channels,
+ kernel_size,
+ stride=stride,
+ padding=conv_padding,
+ dilation=dilation,
+ groups=groups,
+ bias=bias)
+ # export the attributes of self.conv to a higher level for convenience
+ self.in_channels = self.conv.in_channels
+ self.out_channels = self.conv.out_channels
+ self.kernel_size = self.conv.kernel_size
+ self.stride = self.conv.stride
+ self.padding = padding
+ self.dilation = self.conv.dilation
+ self.transposed = self.conv.transposed
+ self.output_padding = self.conv.output_padding
+ self.groups = self.conv.groups
+
+ if self.with_spectral_norm:
+ self.conv = nn.utils.spectral_norm(self.conv)
+
+ # build normalization layers
+ if self.with_norm:
+ # norm layer is after conv layer
+ if order.index('norm') > order.index('conv'):
+ norm_channels = out_channels
+ else:
+ norm_channels = in_channels
+ self.norm_name, norm = build_norm_layer(norm_cfg, norm_channels)
+ self.add_module(self.norm_name, norm)
+ if self.with_bias:
+ if isinstance(norm, (_BatchNorm, _InstanceNorm)):
+ warnings.warn(
+ 'Unnecessary conv bias before batch/instance norm')
+ else:
+ self.norm_name = None
+
+ # build activation layer
+ if self.with_activation:
+ act_cfg_ = act_cfg.copy()
+ # nn.Tanh has no 'inplace' argument
+ if act_cfg_['type'] not in [
+ 'Tanh', 'PReLU', 'Sigmoid', 'HSigmoid', 'Swish'
+ ]:
+ act_cfg_.setdefault('inplace', inplace)
+ self.activate = build_activation_layer(act_cfg_)
+
+ # Use msra init by default
+ self.init_weights()
+
+ @property
+ def norm(self):
+ if self.norm_name:
+ return getattr(self, self.norm_name)
+ else:
+ return None
+
+ def init_weights(self):
+ # 1. It is mainly for customized conv layers with their own
+ # initialization manners by calling their own ``init_weights()``,
+ # and we do not want ConvModule to override the initialization.
+ # 2. For customized conv layers without their own initialization
+ # manners (that is, they don't have their own ``init_weights()``)
+ # and PyTorch's conv layers, they will be initialized by
+ # this method with default ``kaiming_init``.
+ # Note: For PyTorch's conv layers, they will be overwritten by our
+ # initialization implementation using default ``kaiming_init``.
+ if not hasattr(self.conv, 'init_weights'):
+ if self.with_activation and self.act_cfg['type'] == 'LeakyReLU':
+ nonlinearity = 'leaky_relu'
+ a = self.act_cfg.get('negative_slope', 0.01)
+ else:
+ nonlinearity = 'relu'
+ a = 0
+ kaiming_init(self.conv, a=a, nonlinearity=nonlinearity)
+ if self.with_norm:
+ constant_init(self.norm, 1, bias=0)
+
+ def forward(self, x, activate=True, norm=True):
+ for layer in self.order:
+ if layer == 'conv':
+ if self.with_explicit_padding:
+ x = self.padding_layer(x)
+ x = self.conv(x)
+ elif layer == 'norm' and norm and self.with_norm:
+ x = self.norm(x)
+ elif layer == 'act' and activate and self.with_activation:
+ x = self.activate(x)
+ return x
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/conv_ws.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/conv_ws.py
new file mode 100644
index 0000000000000000000000000000000000000000..a3941e27874993418b3b5708d5a7485f175ff9c8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/conv_ws.py
@@ -0,0 +1,148 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import torch
+import torch.nn as nn
+import torch.nn.functional as F
+
+from .registry import CONV_LAYERS
+
+
+def conv_ws_2d(input,
+ weight,
+ bias=None,
+ stride=1,
+ padding=0,
+ dilation=1,
+ groups=1,
+ eps=1e-5):
+ c_in = weight.size(0)
+ weight_flat = weight.view(c_in, -1)
+ mean = weight_flat.mean(dim=1, keepdim=True).view(c_in, 1, 1, 1)
+ std = weight_flat.std(dim=1, keepdim=True).view(c_in, 1, 1, 1)
+ weight = (weight - mean) / (std + eps)
+ return F.conv2d(input, weight, bias, stride, padding, dilation, groups)
+
+
+@CONV_LAYERS.register_module('ConvWS')
+class ConvWS2d(nn.Conv2d):
+
+ def __init__(self,
+ in_channels,
+ out_channels,
+ kernel_size,
+ stride=1,
+ padding=0,
+ dilation=1,
+ groups=1,
+ bias=True,
+ eps=1e-5):
+ super(ConvWS2d, self).__init__(
+ in_channels,
+ out_channels,
+ kernel_size,
+ stride=stride,
+ padding=padding,
+ dilation=dilation,
+ groups=groups,
+ bias=bias)
+ self.eps = eps
+
+ def forward(self, x):
+ return conv_ws_2d(x, self.weight, self.bias, self.stride, self.padding,
+ self.dilation, self.groups, self.eps)
+
+
+@CONV_LAYERS.register_module(name='ConvAWS')
+class ConvAWS2d(nn.Conv2d):
+ """AWS (Adaptive Weight Standardization)
+
+ This is a variant of Weight Standardization
+ (https://arxiv.org/pdf/1903.10520.pdf)
+ It is used in DetectoRS to avoid NaN
+ (https://arxiv.org/pdf/2006.02334.pdf)
+
+ Args:
+ in_channels (int): Number of channels in the input image
+ out_channels (int): Number of channels produced by the convolution
+ kernel_size (int or tuple): Size of the conv kernel
+ stride (int or tuple, optional): Stride of the convolution. Default: 1
+ padding (int or tuple, optional): Zero-padding added to both sides of
+ the input. Default: 0
+ dilation (int or tuple, optional): Spacing between kernel elements.
+ Default: 1
+ groups (int, optional): Number of blocked connections from input
+ channels to output channels. Default: 1
+ bias (bool, optional): If set True, adds a learnable bias to the
+ output. Default: True
+ """
+
+ def __init__(self,
+ in_channels,
+ out_channels,
+ kernel_size,
+ stride=1,
+ padding=0,
+ dilation=1,
+ groups=1,
+ bias=True):
+ super().__init__(
+ in_channels,
+ out_channels,
+ kernel_size,
+ stride=stride,
+ padding=padding,
+ dilation=dilation,
+ groups=groups,
+ bias=bias)
+ self.register_buffer('weight_gamma',
+ torch.ones(self.out_channels, 1, 1, 1))
+ self.register_buffer('weight_beta',
+ torch.zeros(self.out_channels, 1, 1, 1))
+
+ def _get_weight(self, weight):
+ weight_flat = weight.view(weight.size(0), -1)
+ mean = weight_flat.mean(dim=1).view(-1, 1, 1, 1)
+ std = torch.sqrt(weight_flat.var(dim=1) + 1e-5).view(-1, 1, 1, 1)
+ weight = (weight - mean) / std
+ weight = self.weight_gamma * weight + self.weight_beta
+ return weight
+
+ def forward(self, x):
+ weight = self._get_weight(self.weight)
+ return F.conv2d(x, weight, self.bias, self.stride, self.padding,
+ self.dilation, self.groups)
+
+ def _load_from_state_dict(self, state_dict, prefix, local_metadata, strict,
+ missing_keys, unexpected_keys, error_msgs):
+ """Override default load function.
+
+ AWS overrides the function _load_from_state_dict to recover
+ weight_gamma and weight_beta if they are missing. If weight_gamma and
+ weight_beta are found in the checkpoint, this function will return
+ after super()._load_from_state_dict. Otherwise, it will compute the
+ mean and std of the pretrained weights and store them in weight_beta
+ and weight_gamma.
+ """
+
+ self.weight_gamma.data.fill_(-1)
+ local_missing_keys = []
+ super()._load_from_state_dict(state_dict, prefix, local_metadata,
+ strict, local_missing_keys,
+ unexpected_keys, error_msgs)
+ if self.weight_gamma.data.mean() > 0:
+ for k in local_missing_keys:
+ missing_keys.append(k)
+ return
+ weight = self.weight.data
+ weight_flat = weight.view(weight.size(0), -1)
+ mean = weight_flat.mean(dim=1).view(-1, 1, 1, 1)
+ std = torch.sqrt(weight_flat.var(dim=1) + 1e-5).view(-1, 1, 1, 1)
+ self.weight_beta.data.copy_(mean)
+ self.weight_gamma.data.copy_(std)
+ missing_gamma_beta = [
+ k for k in local_missing_keys
+ if k.endswith('weight_gamma') or k.endswith('weight_beta')
+ ]
+ for k in missing_gamma_beta:
+ local_missing_keys.remove(k)
+ for k in local_missing_keys:
+ missing_keys.append(k)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/depthwise_separable_conv_module.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/depthwise_separable_conv_module.py
new file mode 100644
index 0000000000000000000000000000000000000000..722d5d8d71f75486e2db3008907c4eadfca41d63
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/depthwise_separable_conv_module.py
@@ -0,0 +1,96 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import torch.nn as nn
+
+from .conv_module import ConvModule
+
+
+class DepthwiseSeparableConvModule(nn.Module):
+ """Depthwise separable convolution module.
+
+ See https://arxiv.org/pdf/1704.04861.pdf for details.
+
+ This module can replace a ConvModule with the conv block replaced by two
+ conv block: depthwise conv block and pointwise conv block. The depthwise
+ conv block contains depthwise-conv/norm/activation layers. The pointwise
+ conv block contains pointwise-conv/norm/activation layers. It should be
+ noted that there will be norm/activation layer in the depthwise conv block
+ if `norm_cfg` and `act_cfg` are specified.
+
+ Args:
+ in_channels (int): Number of channels in the input feature map.
+ Same as that in ``nn._ConvNd``.
+ out_channels (int): Number of channels produced by the convolution.
+ Same as that in ``nn._ConvNd``.
+ kernel_size (int | tuple[int]): Size of the convolving kernel.
+ Same as that in ``nn._ConvNd``.
+ stride (int | tuple[int]): Stride of the convolution.
+ Same as that in ``nn._ConvNd``. Default: 1.
+ padding (int | tuple[int]): Zero-padding added to both sides of
+ the input. Same as that in ``nn._ConvNd``. Default: 0.
+ dilation (int | tuple[int]): Spacing between kernel elements.
+ Same as that in ``nn._ConvNd``. Default: 1.
+ norm_cfg (dict): Default norm config for both depthwise ConvModule and
+ pointwise ConvModule. Default: None.
+ act_cfg (dict): Default activation config for both depthwise ConvModule
+ and pointwise ConvModule. Default: dict(type='ReLU').
+ dw_norm_cfg (dict): Norm config of depthwise ConvModule. If it is
+ 'default', it will be the same as `norm_cfg`. Default: 'default'.
+ dw_act_cfg (dict): Activation config of depthwise ConvModule. If it is
+ 'default', it will be the same as `act_cfg`. Default: 'default'.
+ pw_norm_cfg (dict): Norm config of pointwise ConvModule. If it is
+ 'default', it will be the same as `norm_cfg`. Default: 'default'.
+ pw_act_cfg (dict): Activation config of pointwise ConvModule. If it is
+ 'default', it will be the same as `act_cfg`. Default: 'default'.
+ kwargs (optional): Other shared arguments for depthwise and pointwise
+ ConvModule. See ConvModule for ref.
+ """
+
+ def __init__(self,
+ in_channels,
+ out_channels,
+ kernel_size,
+ stride=1,
+ padding=0,
+ dilation=1,
+ norm_cfg=None,
+ act_cfg=dict(type='ReLU'),
+ dw_norm_cfg='default',
+ dw_act_cfg='default',
+ pw_norm_cfg='default',
+ pw_act_cfg='default',
+ **kwargs):
+ super(DepthwiseSeparableConvModule, self).__init__()
+ assert 'groups' not in kwargs, 'groups should not be specified'
+
+ # if norm/activation config of depthwise/pointwise ConvModule is not
+ # specified, use default config.
+ dw_norm_cfg = dw_norm_cfg if dw_norm_cfg != 'default' else norm_cfg
+ dw_act_cfg = dw_act_cfg if dw_act_cfg != 'default' else act_cfg
+ pw_norm_cfg = pw_norm_cfg if pw_norm_cfg != 'default' else norm_cfg
+ pw_act_cfg = pw_act_cfg if pw_act_cfg != 'default' else act_cfg
+
+ # depthwise convolution
+ self.depthwise_conv = ConvModule(
+ in_channels,
+ in_channels,
+ kernel_size,
+ stride=stride,
+ padding=padding,
+ dilation=dilation,
+ groups=in_channels,
+ norm_cfg=dw_norm_cfg,
+ act_cfg=dw_act_cfg,
+ **kwargs)
+
+ self.pointwise_conv = ConvModule(
+ in_channels,
+ out_channels,
+ 1,
+ norm_cfg=pw_norm_cfg,
+ act_cfg=pw_act_cfg,
+ **kwargs)
+
+ def forward(self, x):
+ x = self.depthwise_conv(x)
+ x = self.pointwise_conv(x)
+ return x
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/drop.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/drop.py
new file mode 100644
index 0000000000000000000000000000000000000000..465ed38339fe64dde8cdc959451b1236a3a55b95
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/drop.py
@@ -0,0 +1,65 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import torch
+import torch.nn as nn
+
+from annotator.mmpkg.mmcv import build_from_cfg
+from .registry import DROPOUT_LAYERS
+
+
+def drop_path(x, drop_prob=0., training=False):
+ """Drop paths (Stochastic Depth) per sample (when applied in main path of
+ residual blocks).
+
+ We follow the implementation
+ https://github.com/rwightman/pytorch-image-models/blob/a2727c1bf78ba0d7b5727f5f95e37fb7f8866b1f/timm/models/layers/drop.py # noqa: E501
+ """
+ if drop_prob == 0. or not training:
+ return x
+ keep_prob = 1 - drop_prob
+ # handle tensors with different dimensions, not just 4D tensors.
+ shape = (x.shape[0], ) + (1, ) * (x.ndim - 1)
+ random_tensor = keep_prob + torch.rand(
+ shape, dtype=x.dtype, device=x.device)
+ output = x.div(keep_prob) * random_tensor.floor()
+ return output
+
+
+@DROPOUT_LAYERS.register_module()
+class DropPath(nn.Module):
+ """Drop paths (Stochastic Depth) per sample (when applied in main path of
+ residual blocks).
+
+ We follow the implementation
+ https://github.com/rwightman/pytorch-image-models/blob/a2727c1bf78ba0d7b5727f5f95e37fb7f8866b1f/timm/models/layers/drop.py # noqa: E501
+
+ Args:
+ drop_prob (float): Probability of the path to be zeroed. Default: 0.1
+ """
+
+ def __init__(self, drop_prob=0.1):
+ super(DropPath, self).__init__()
+ self.drop_prob = drop_prob
+
+ def forward(self, x):
+ return drop_path(x, self.drop_prob, self.training)
+
+
+@DROPOUT_LAYERS.register_module()
+class Dropout(nn.Dropout):
+ """A wrapper for ``torch.nn.Dropout``, We rename the ``p`` of
+ ``torch.nn.Dropout`` to ``drop_prob`` so as to be consistent with
+ ``DropPath``
+
+ Args:
+ drop_prob (float): Probability of the elements to be
+ zeroed. Default: 0.5.
+ inplace (bool): Do the operation inplace or not. Default: False.
+ """
+
+ def __init__(self, drop_prob=0.5, inplace=False):
+ super().__init__(p=drop_prob, inplace=inplace)
+
+
+def build_dropout(cfg, default_args=None):
+ """Builder for drop out layers."""
+ return build_from_cfg(cfg, DROPOUT_LAYERS, default_args)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/generalized_attention.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/generalized_attention.py
new file mode 100644
index 0000000000000000000000000000000000000000..988d9adf2f289ef223bd1c680a5ae1d3387f0269
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/generalized_attention.py
@@ -0,0 +1,412 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import math
+
+import numpy as np
+import torch
+import torch.nn as nn
+import torch.nn.functional as F
+
+from ..utils import kaiming_init
+from .registry import PLUGIN_LAYERS
+
+
+@PLUGIN_LAYERS.register_module()
+class GeneralizedAttention(nn.Module):
+ """GeneralizedAttention module.
+
+ See 'An Empirical Study of Spatial Attention Mechanisms in Deep Networks'
+ (https://arxiv.org/abs/1711.07971) for details.
+
+ Args:
+ in_channels (int): Channels of the input feature map.
+ spatial_range (int): The spatial range. -1 indicates no spatial range
+ constraint. Default: -1.
+ num_heads (int): The head number of empirical_attention module.
+ Default: 9.
+ position_embedding_dim (int): The position embedding dimension.
+ Default: -1.
+ position_magnitude (int): A multiplier acting on coord difference.
+ Default: 1.
+ kv_stride (int): The feature stride acting on key/value feature map.
+ Default: 2.
+ q_stride (int): The feature stride acting on query feature map.
+ Default: 1.
+ attention_type (str): A binary indicator string for indicating which
+ items in generalized empirical_attention module are used.
+ Default: '1111'.
+
+ - '1000' indicates 'query and key content' (appr - appr) item,
+ - '0100' indicates 'query content and relative position'
+ (appr - position) item,
+ - '0010' indicates 'key content only' (bias - appr) item,
+ - '0001' indicates 'relative position only' (bias - position) item.
+ """
+
+ _abbr_ = 'gen_attention_block'
+
+ def __init__(self,
+ in_channels,
+ spatial_range=-1,
+ num_heads=9,
+ position_embedding_dim=-1,
+ position_magnitude=1,
+ kv_stride=2,
+ q_stride=1,
+ attention_type='1111'):
+
+ super(GeneralizedAttention, self).__init__()
+
+ # hard range means local range for non-local operation
+ self.position_embedding_dim = (
+ position_embedding_dim
+ if position_embedding_dim > 0 else in_channels)
+
+ self.position_magnitude = position_magnitude
+ self.num_heads = num_heads
+ self.in_channels = in_channels
+ self.spatial_range = spatial_range
+ self.kv_stride = kv_stride
+ self.q_stride = q_stride
+ self.attention_type = [bool(int(_)) for _ in attention_type]
+ self.qk_embed_dim = in_channels // num_heads
+ out_c = self.qk_embed_dim * num_heads
+
+ if self.attention_type[0] or self.attention_type[1]:
+ self.query_conv = nn.Conv2d(
+ in_channels=in_channels,
+ out_channels=out_c,
+ kernel_size=1,
+ bias=False)
+ self.query_conv.kaiming_init = True
+
+ if self.attention_type[0] or self.attention_type[2]:
+ self.key_conv = nn.Conv2d(
+ in_channels=in_channels,
+ out_channels=out_c,
+ kernel_size=1,
+ bias=False)
+ self.key_conv.kaiming_init = True
+
+ self.v_dim = in_channels // num_heads
+ self.value_conv = nn.Conv2d(
+ in_channels=in_channels,
+ out_channels=self.v_dim * num_heads,
+ kernel_size=1,
+ bias=False)
+ self.value_conv.kaiming_init = True
+
+ if self.attention_type[1] or self.attention_type[3]:
+ self.appr_geom_fc_x = nn.Linear(
+ self.position_embedding_dim // 2, out_c, bias=False)
+ self.appr_geom_fc_x.kaiming_init = True
+
+ self.appr_geom_fc_y = nn.Linear(
+ self.position_embedding_dim // 2, out_c, bias=False)
+ self.appr_geom_fc_y.kaiming_init = True
+
+ if self.attention_type[2]:
+ stdv = 1.0 / math.sqrt(self.qk_embed_dim * 2)
+ appr_bias_value = -2 * stdv * torch.rand(out_c) + stdv
+ self.appr_bias = nn.Parameter(appr_bias_value)
+
+ if self.attention_type[3]:
+ stdv = 1.0 / math.sqrt(self.qk_embed_dim * 2)
+ geom_bias_value = -2 * stdv * torch.rand(out_c) + stdv
+ self.geom_bias = nn.Parameter(geom_bias_value)
+
+ self.proj_conv = nn.Conv2d(
+ in_channels=self.v_dim * num_heads,
+ out_channels=in_channels,
+ kernel_size=1,
+ bias=True)
+ self.proj_conv.kaiming_init = True
+ self.gamma = nn.Parameter(torch.zeros(1))
+
+ if self.spatial_range >= 0:
+ # only works when non local is after 3*3 conv
+ if in_channels == 256:
+ max_len = 84
+ elif in_channels == 512:
+ max_len = 42
+
+ max_len_kv = int((max_len - 1.0) / self.kv_stride + 1)
+ local_constraint_map = np.ones(
+ (max_len, max_len, max_len_kv, max_len_kv), dtype=np.int)
+ for iy in range(max_len):
+ for ix in range(max_len):
+ local_constraint_map[
+ iy, ix,
+ max((iy - self.spatial_range) //
+ self.kv_stride, 0):min((iy + self.spatial_range +
+ 1) // self.kv_stride +
+ 1, max_len),
+ max((ix - self.spatial_range) //
+ self.kv_stride, 0):min((ix + self.spatial_range +
+ 1) // self.kv_stride +
+ 1, max_len)] = 0
+
+ self.local_constraint_map = nn.Parameter(
+ torch.from_numpy(local_constraint_map).byte(),
+ requires_grad=False)
+
+ if self.q_stride > 1:
+ self.q_downsample = nn.AvgPool2d(
+ kernel_size=1, stride=self.q_stride)
+ else:
+ self.q_downsample = None
+
+ if self.kv_stride > 1:
+ self.kv_downsample = nn.AvgPool2d(
+ kernel_size=1, stride=self.kv_stride)
+ else:
+ self.kv_downsample = None
+
+ self.init_weights()
+
+ def get_position_embedding(self,
+ h,
+ w,
+ h_kv,
+ w_kv,
+ q_stride,
+ kv_stride,
+ device,
+ dtype,
+ feat_dim,
+ wave_length=1000):
+ # the default type of Tensor is float32, leading to type mismatch
+ # in fp16 mode. Cast it to support fp16 mode.
+ h_idxs = torch.linspace(0, h - 1, h).to(device=device, dtype=dtype)
+ h_idxs = h_idxs.view((h, 1)) * q_stride
+
+ w_idxs = torch.linspace(0, w - 1, w).to(device=device, dtype=dtype)
+ w_idxs = w_idxs.view((w, 1)) * q_stride
+
+ h_kv_idxs = torch.linspace(0, h_kv - 1, h_kv).to(
+ device=device, dtype=dtype)
+ h_kv_idxs = h_kv_idxs.view((h_kv, 1)) * kv_stride
+
+ w_kv_idxs = torch.linspace(0, w_kv - 1, w_kv).to(
+ device=device, dtype=dtype)
+ w_kv_idxs = w_kv_idxs.view((w_kv, 1)) * kv_stride
+
+ # (h, h_kv, 1)
+ h_diff = h_idxs.unsqueeze(1) - h_kv_idxs.unsqueeze(0)
+ h_diff *= self.position_magnitude
+
+ # (w, w_kv, 1)
+ w_diff = w_idxs.unsqueeze(1) - w_kv_idxs.unsqueeze(0)
+ w_diff *= self.position_magnitude
+
+ feat_range = torch.arange(0, feat_dim / 4).to(
+ device=device, dtype=dtype)
+
+ dim_mat = torch.Tensor([wave_length]).to(device=device, dtype=dtype)
+ dim_mat = dim_mat**((4. / feat_dim) * feat_range)
+ dim_mat = dim_mat.view((1, 1, -1))
+
+ embedding_x = torch.cat(
+ ((w_diff / dim_mat).sin(), (w_diff / dim_mat).cos()), dim=2)
+
+ embedding_y = torch.cat(
+ ((h_diff / dim_mat).sin(), (h_diff / dim_mat).cos()), dim=2)
+
+ return embedding_x, embedding_y
+
+ def forward(self, x_input):
+ num_heads = self.num_heads
+
+ # use empirical_attention
+ if self.q_downsample is not None:
+ x_q = self.q_downsample(x_input)
+ else:
+ x_q = x_input
+ n, _, h, w = x_q.shape
+
+ if self.kv_downsample is not None:
+ x_kv = self.kv_downsample(x_input)
+ else:
+ x_kv = x_input
+ _, _, h_kv, w_kv = x_kv.shape
+
+ if self.attention_type[0] or self.attention_type[1]:
+ proj_query = self.query_conv(x_q).view(
+ (n, num_heads, self.qk_embed_dim, h * w))
+ proj_query = proj_query.permute(0, 1, 3, 2)
+
+ if self.attention_type[0] or self.attention_type[2]:
+ proj_key = self.key_conv(x_kv).view(
+ (n, num_heads, self.qk_embed_dim, h_kv * w_kv))
+
+ if self.attention_type[1] or self.attention_type[3]:
+ position_embed_x, position_embed_y = self.get_position_embedding(
+ h, w, h_kv, w_kv, self.q_stride, self.kv_stride,
+ x_input.device, x_input.dtype, self.position_embedding_dim)
+ # (n, num_heads, w, w_kv, dim)
+ position_feat_x = self.appr_geom_fc_x(position_embed_x).\
+ view(1, w, w_kv, num_heads, self.qk_embed_dim).\
+ permute(0, 3, 1, 2, 4).\
+ repeat(n, 1, 1, 1, 1)
+
+ # (n, num_heads, h, h_kv, dim)
+ position_feat_y = self.appr_geom_fc_y(position_embed_y).\
+ view(1, h, h_kv, num_heads, self.qk_embed_dim).\
+ permute(0, 3, 1, 2, 4).\
+ repeat(n, 1, 1, 1, 1)
+
+ position_feat_x /= math.sqrt(2)
+ position_feat_y /= math.sqrt(2)
+
+ # accelerate for saliency only
+ if (np.sum(self.attention_type) == 1) and self.attention_type[2]:
+ appr_bias = self.appr_bias.\
+ view(1, num_heads, 1, self.qk_embed_dim).\
+ repeat(n, 1, 1, 1)
+
+ energy = torch.matmul(appr_bias, proj_key).\
+ view(n, num_heads, 1, h_kv * w_kv)
+
+ h = 1
+ w = 1
+ else:
+ # (n, num_heads, h*w, h_kv*w_kv), query before key, 540mb for
+ if not self.attention_type[0]:
+ energy = torch.zeros(
+ n,
+ num_heads,
+ h,
+ w,
+ h_kv,
+ w_kv,
+ dtype=x_input.dtype,
+ device=x_input.device)
+
+ # attention_type[0]: appr - appr
+ # attention_type[1]: appr - position
+ # attention_type[2]: bias - appr
+ # attention_type[3]: bias - position
+ if self.attention_type[0] or self.attention_type[2]:
+ if self.attention_type[0] and self.attention_type[2]:
+ appr_bias = self.appr_bias.\
+ view(1, num_heads, 1, self.qk_embed_dim)
+ energy = torch.matmul(proj_query + appr_bias, proj_key).\
+ view(n, num_heads, h, w, h_kv, w_kv)
+
+ elif self.attention_type[0]:
+ energy = torch.matmul(proj_query, proj_key).\
+ view(n, num_heads, h, w, h_kv, w_kv)
+
+ elif self.attention_type[2]:
+ appr_bias = self.appr_bias.\
+ view(1, num_heads, 1, self.qk_embed_dim).\
+ repeat(n, 1, 1, 1)
+
+ energy += torch.matmul(appr_bias, proj_key).\
+ view(n, num_heads, 1, 1, h_kv, w_kv)
+
+ if self.attention_type[1] or self.attention_type[3]:
+ if self.attention_type[1] and self.attention_type[3]:
+ geom_bias = self.geom_bias.\
+ view(1, num_heads, 1, self.qk_embed_dim)
+
+ proj_query_reshape = (proj_query + geom_bias).\
+ view(n, num_heads, h, w, self.qk_embed_dim)
+
+ energy_x = torch.matmul(
+ proj_query_reshape.permute(0, 1, 3, 2, 4),
+ position_feat_x.permute(0, 1, 2, 4, 3))
+ energy_x = energy_x.\
+ permute(0, 1, 3, 2, 4).unsqueeze(4)
+
+ energy_y = torch.matmul(
+ proj_query_reshape,
+ position_feat_y.permute(0, 1, 2, 4, 3))
+ energy_y = energy_y.unsqueeze(5)
+
+ energy += energy_x + energy_y
+
+ elif self.attention_type[1]:
+ proj_query_reshape = proj_query.\
+ view(n, num_heads, h, w, self.qk_embed_dim)
+ proj_query_reshape = proj_query_reshape.\
+ permute(0, 1, 3, 2, 4)
+ position_feat_x_reshape = position_feat_x.\
+ permute(0, 1, 2, 4, 3)
+ position_feat_y_reshape = position_feat_y.\
+ permute(0, 1, 2, 4, 3)
+
+ energy_x = torch.matmul(proj_query_reshape,
+ position_feat_x_reshape)
+ energy_x = energy_x.permute(0, 1, 3, 2, 4).unsqueeze(4)
+
+ energy_y = torch.matmul(proj_query_reshape,
+ position_feat_y_reshape)
+ energy_y = energy_y.unsqueeze(5)
+
+ energy += energy_x + energy_y
+
+ elif self.attention_type[3]:
+ geom_bias = self.geom_bias.\
+ view(1, num_heads, self.qk_embed_dim, 1).\
+ repeat(n, 1, 1, 1)
+
+ position_feat_x_reshape = position_feat_x.\
+ view(n, num_heads, w*w_kv, self.qk_embed_dim)
+
+ position_feat_y_reshape = position_feat_y.\
+ view(n, num_heads, h * h_kv, self.qk_embed_dim)
+
+ energy_x = torch.matmul(position_feat_x_reshape, geom_bias)
+ energy_x = energy_x.view(n, num_heads, 1, w, 1, w_kv)
+
+ energy_y = torch.matmul(position_feat_y_reshape, geom_bias)
+ energy_y = energy_y.view(n, num_heads, h, 1, h_kv, 1)
+
+ energy += energy_x + energy_y
+
+ energy = energy.view(n, num_heads, h * w, h_kv * w_kv)
+
+ if self.spatial_range >= 0:
+ cur_local_constraint_map = \
+ self.local_constraint_map[:h, :w, :h_kv, :w_kv].\
+ contiguous().\
+ view(1, 1, h*w, h_kv*w_kv)
+
+ energy = energy.masked_fill_(cur_local_constraint_map,
+ float('-inf'))
+
+ attention = F.softmax(energy, 3)
+
+ proj_value = self.value_conv(x_kv)
+ proj_value_reshape = proj_value.\
+ view((n, num_heads, self.v_dim, h_kv * w_kv)).\
+ permute(0, 1, 3, 2)
+
+ out = torch.matmul(attention, proj_value_reshape).\
+ permute(0, 1, 3, 2).\
+ contiguous().\
+ view(n, self.v_dim * self.num_heads, h, w)
+
+ out = self.proj_conv(out)
+
+ # output is downsampled, upsample back to input size
+ if self.q_downsample is not None:
+ out = F.interpolate(
+ out,
+ size=x_input.shape[2:],
+ mode='bilinear',
+ align_corners=False)
+
+ out = self.gamma * out + x_input
+ return out
+
+ def init_weights(self):
+ for m in self.modules():
+ if hasattr(m, 'kaiming_init') and m.kaiming_init:
+ kaiming_init(
+ m,
+ mode='fan_in',
+ nonlinearity='leaky_relu',
+ bias=0,
+ distribution='uniform',
+ a=1)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/hsigmoid.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/hsigmoid.py
new file mode 100644
index 0000000000000000000000000000000000000000..30b1a3d6580cf0360710426fbea1f05acdf07b4b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/hsigmoid.py
@@ -0,0 +1,34 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import torch.nn as nn
+
+from .registry import ACTIVATION_LAYERS
+
+
+@ACTIVATION_LAYERS.register_module()
+class HSigmoid(nn.Module):
+ """Hard Sigmoid Module. Apply the hard sigmoid function:
+ Hsigmoid(x) = min(max((x + bias) / divisor, min_value), max_value)
+ Default: Hsigmoid(x) = min(max((x + 1) / 2, 0), 1)
+
+ Args:
+ bias (float): Bias of the input feature map. Default: 1.0.
+ divisor (float): Divisor of the input feature map. Default: 2.0.
+ min_value (float): Lower bound value. Default: 0.0.
+ max_value (float): Upper bound value. Default: 1.0.
+
+ Returns:
+ Tensor: The output tensor.
+ """
+
+ def __init__(self, bias=1.0, divisor=2.0, min_value=0.0, max_value=1.0):
+ super(HSigmoid, self).__init__()
+ self.bias = bias
+ self.divisor = divisor
+ assert self.divisor != 0
+ self.min_value = min_value
+ self.max_value = max_value
+
+ def forward(self, x):
+ x = (x + self.bias) / self.divisor
+
+ return x.clamp_(self.min_value, self.max_value)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/hswish.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/hswish.py
new file mode 100644
index 0000000000000000000000000000000000000000..7e0c090ff037c99ee6c5c84c4592e87beae02208
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/hswish.py
@@ -0,0 +1,29 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import torch.nn as nn
+
+from .registry import ACTIVATION_LAYERS
+
+
+@ACTIVATION_LAYERS.register_module()
+class HSwish(nn.Module):
+ """Hard Swish Module.
+
+ This module applies the hard swish function:
+
+ .. math::
+ Hswish(x) = x * ReLU6(x + 3) / 6
+
+ Args:
+ inplace (bool): can optionally do the operation in-place.
+ Default: False.
+
+ Returns:
+ Tensor: The output tensor.
+ """
+
+ def __init__(self, inplace=False):
+ super(HSwish, self).__init__()
+ self.act = nn.ReLU6(inplace)
+
+ def forward(self, x):
+ return x * self.act(x + 3) / 6
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/non_local.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/non_local.py
new file mode 100644
index 0000000000000000000000000000000000000000..92d00155ef275c1201ea66bba30470a1785cc5d7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/non_local.py
@@ -0,0 +1,306 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from abc import ABCMeta
+
+import torch
+import torch.nn as nn
+
+from ..utils import constant_init, normal_init
+from .conv_module import ConvModule
+from .registry import PLUGIN_LAYERS
+
+
+class _NonLocalNd(nn.Module, metaclass=ABCMeta):
+ """Basic Non-local module.
+
+ This module is proposed in
+ "Non-local Neural Networks"
+ Paper reference: https://arxiv.org/abs/1711.07971
+ Code reference: https://github.com/AlexHex7/Non-local_pytorch
+
+ Args:
+ in_channels (int): Channels of the input feature map.
+ reduction (int): Channel reduction ratio. Default: 2.
+ use_scale (bool): Whether to scale pairwise_weight by
+ `1/sqrt(inter_channels)` when the mode is `embedded_gaussian`.
+ Default: True.
+ conv_cfg (None | dict): The config dict for convolution layers.
+ If not specified, it will use `nn.Conv2d` for convolution layers.
+ Default: None.
+ norm_cfg (None | dict): The config dict for normalization layers.
+ Default: None. (This parameter is only applicable to conv_out.)
+ mode (str): Options are `gaussian`, `concatenation`,
+ `embedded_gaussian` and `dot_product`. Default: embedded_gaussian.
+ """
+
+ def __init__(self,
+ in_channels,
+ reduction=2,
+ use_scale=True,
+ conv_cfg=None,
+ norm_cfg=None,
+ mode='embedded_gaussian',
+ **kwargs):
+ super(_NonLocalNd, self).__init__()
+ self.in_channels = in_channels
+ self.reduction = reduction
+ self.use_scale = use_scale
+ self.inter_channels = max(in_channels // reduction, 1)
+ self.mode = mode
+
+ if mode not in [
+ 'gaussian', 'embedded_gaussian', 'dot_product', 'concatenation'
+ ]:
+ raise ValueError("Mode should be in 'gaussian', 'concatenation', "
+ f"'embedded_gaussian' or 'dot_product', but got "
+ f'{mode} instead.')
+
+ # g, theta, phi are defaulted as `nn.ConvNd`.
+ # Here we use ConvModule for potential usage.
+ self.g = ConvModule(
+ self.in_channels,
+ self.inter_channels,
+ kernel_size=1,
+ conv_cfg=conv_cfg,
+ act_cfg=None)
+ self.conv_out = ConvModule(
+ self.inter_channels,
+ self.in_channels,
+ kernel_size=1,
+ conv_cfg=conv_cfg,
+ norm_cfg=norm_cfg,
+ act_cfg=None)
+
+ if self.mode != 'gaussian':
+ self.theta = ConvModule(
+ self.in_channels,
+ self.inter_channels,
+ kernel_size=1,
+ conv_cfg=conv_cfg,
+ act_cfg=None)
+ self.phi = ConvModule(
+ self.in_channels,
+ self.inter_channels,
+ kernel_size=1,
+ conv_cfg=conv_cfg,
+ act_cfg=None)
+
+ if self.mode == 'concatenation':
+ self.concat_project = ConvModule(
+ self.inter_channels * 2,
+ 1,
+ kernel_size=1,
+ stride=1,
+ padding=0,
+ bias=False,
+ act_cfg=dict(type='ReLU'))
+
+ self.init_weights(**kwargs)
+
+ def init_weights(self, std=0.01, zeros_init=True):
+ if self.mode != 'gaussian':
+ for m in [self.g, self.theta, self.phi]:
+ normal_init(m.conv, std=std)
+ else:
+ normal_init(self.g.conv, std=std)
+ if zeros_init:
+ if self.conv_out.norm_cfg is None:
+ constant_init(self.conv_out.conv, 0)
+ else:
+ constant_init(self.conv_out.norm, 0)
+ else:
+ if self.conv_out.norm_cfg is None:
+ normal_init(self.conv_out.conv, std=std)
+ else:
+ normal_init(self.conv_out.norm, std=std)
+
+ def gaussian(self, theta_x, phi_x):
+ # NonLocal1d pairwise_weight: [N, H, H]
+ # NonLocal2d pairwise_weight: [N, HxW, HxW]
+ # NonLocal3d pairwise_weight: [N, TxHxW, TxHxW]
+ pairwise_weight = torch.matmul(theta_x, phi_x)
+ pairwise_weight = pairwise_weight.softmax(dim=-1)
+ return pairwise_weight
+
+ def embedded_gaussian(self, theta_x, phi_x):
+ # NonLocal1d pairwise_weight: [N, H, H]
+ # NonLocal2d pairwise_weight: [N, HxW, HxW]
+ # NonLocal3d pairwise_weight: [N, TxHxW, TxHxW]
+ pairwise_weight = torch.matmul(theta_x, phi_x)
+ if self.use_scale:
+ # theta_x.shape[-1] is `self.inter_channels`
+ pairwise_weight /= theta_x.shape[-1]**0.5
+ pairwise_weight = pairwise_weight.softmax(dim=-1)
+ return pairwise_weight
+
+ def dot_product(self, theta_x, phi_x):
+ # NonLocal1d pairwise_weight: [N, H, H]
+ # NonLocal2d pairwise_weight: [N, HxW, HxW]
+ # NonLocal3d pairwise_weight: [N, TxHxW, TxHxW]
+ pairwise_weight = torch.matmul(theta_x, phi_x)
+ pairwise_weight /= pairwise_weight.shape[-1]
+ return pairwise_weight
+
+ def concatenation(self, theta_x, phi_x):
+ # NonLocal1d pairwise_weight: [N, H, H]
+ # NonLocal2d pairwise_weight: [N, HxW, HxW]
+ # NonLocal3d pairwise_weight: [N, TxHxW, TxHxW]
+ h = theta_x.size(2)
+ w = phi_x.size(3)
+ theta_x = theta_x.repeat(1, 1, 1, w)
+ phi_x = phi_x.repeat(1, 1, h, 1)
+
+ concat_feature = torch.cat([theta_x, phi_x], dim=1)
+ pairwise_weight = self.concat_project(concat_feature)
+ n, _, h, w = pairwise_weight.size()
+ pairwise_weight = pairwise_weight.view(n, h, w)
+ pairwise_weight /= pairwise_weight.shape[-1]
+
+ return pairwise_weight
+
+ def forward(self, x):
+ # Assume `reduction = 1`, then `inter_channels = C`
+ # or `inter_channels = C` when `mode="gaussian"`
+
+ # NonLocal1d x: [N, C, H]
+ # NonLocal2d x: [N, C, H, W]
+ # NonLocal3d x: [N, C, T, H, W]
+ n = x.size(0)
+
+ # NonLocal1d g_x: [N, H, C]
+ # NonLocal2d g_x: [N, HxW, C]
+ # NonLocal3d g_x: [N, TxHxW, C]
+ g_x = self.g(x).view(n, self.inter_channels, -1)
+ g_x = g_x.permute(0, 2, 1)
+
+ # NonLocal1d theta_x: [N, H, C], phi_x: [N, C, H]
+ # NonLocal2d theta_x: [N, HxW, C], phi_x: [N, C, HxW]
+ # NonLocal3d theta_x: [N, TxHxW, C], phi_x: [N, C, TxHxW]
+ if self.mode == 'gaussian':
+ theta_x = x.view(n, self.in_channels, -1)
+ theta_x = theta_x.permute(0, 2, 1)
+ if self.sub_sample:
+ phi_x = self.phi(x).view(n, self.in_channels, -1)
+ else:
+ phi_x = x.view(n, self.in_channels, -1)
+ elif self.mode == 'concatenation':
+ theta_x = self.theta(x).view(n, self.inter_channels, -1, 1)
+ phi_x = self.phi(x).view(n, self.inter_channels, 1, -1)
+ else:
+ theta_x = self.theta(x).view(n, self.inter_channels, -1)
+ theta_x = theta_x.permute(0, 2, 1)
+ phi_x = self.phi(x).view(n, self.inter_channels, -1)
+
+ pairwise_func = getattr(self, self.mode)
+ # NonLocal1d pairwise_weight: [N, H, H]
+ # NonLocal2d pairwise_weight: [N, HxW, HxW]
+ # NonLocal3d pairwise_weight: [N, TxHxW, TxHxW]
+ pairwise_weight = pairwise_func(theta_x, phi_x)
+
+ # NonLocal1d y: [N, H, C]
+ # NonLocal2d y: [N, HxW, C]
+ # NonLocal3d y: [N, TxHxW, C]
+ y = torch.matmul(pairwise_weight, g_x)
+ # NonLocal1d y: [N, C, H]
+ # NonLocal2d y: [N, C, H, W]
+ # NonLocal3d y: [N, C, T, H, W]
+ y = y.permute(0, 2, 1).contiguous().reshape(n, self.inter_channels,
+ *x.size()[2:])
+
+ output = x + self.conv_out(y)
+
+ return output
+
+
+class NonLocal1d(_NonLocalNd):
+ """1D Non-local module.
+
+ Args:
+ in_channels (int): Same as `NonLocalND`.
+ sub_sample (bool): Whether to apply max pooling after pairwise
+ function (Note that the `sub_sample` is applied on spatial only).
+ Default: False.
+ conv_cfg (None | dict): Same as `NonLocalND`.
+ Default: dict(type='Conv1d').
+ """
+
+ def __init__(self,
+ in_channels,
+ sub_sample=False,
+ conv_cfg=dict(type='Conv1d'),
+ **kwargs):
+ super(NonLocal1d, self).__init__(
+ in_channels, conv_cfg=conv_cfg, **kwargs)
+
+ self.sub_sample = sub_sample
+
+ if sub_sample:
+ max_pool_layer = nn.MaxPool1d(kernel_size=2)
+ self.g = nn.Sequential(self.g, max_pool_layer)
+ if self.mode != 'gaussian':
+ self.phi = nn.Sequential(self.phi, max_pool_layer)
+ else:
+ self.phi = max_pool_layer
+
+
+@PLUGIN_LAYERS.register_module()
+class NonLocal2d(_NonLocalNd):
+ """2D Non-local module.
+
+ Args:
+ in_channels (int): Same as `NonLocalND`.
+ sub_sample (bool): Whether to apply max pooling after pairwise
+ function (Note that the `sub_sample` is applied on spatial only).
+ Default: False.
+ conv_cfg (None | dict): Same as `NonLocalND`.
+ Default: dict(type='Conv2d').
+ """
+
+ _abbr_ = 'nonlocal_block'
+
+ def __init__(self,
+ in_channels,
+ sub_sample=False,
+ conv_cfg=dict(type='Conv2d'),
+ **kwargs):
+ super(NonLocal2d, self).__init__(
+ in_channels, conv_cfg=conv_cfg, **kwargs)
+
+ self.sub_sample = sub_sample
+
+ if sub_sample:
+ max_pool_layer = nn.MaxPool2d(kernel_size=(2, 2))
+ self.g = nn.Sequential(self.g, max_pool_layer)
+ if self.mode != 'gaussian':
+ self.phi = nn.Sequential(self.phi, max_pool_layer)
+ else:
+ self.phi = max_pool_layer
+
+
+class NonLocal3d(_NonLocalNd):
+ """3D Non-local module.
+
+ Args:
+ in_channels (int): Same as `NonLocalND`.
+ sub_sample (bool): Whether to apply max pooling after pairwise
+ function (Note that the `sub_sample` is applied on spatial only).
+ Default: False.
+ conv_cfg (None | dict): Same as `NonLocalND`.
+ Default: dict(type='Conv3d').
+ """
+
+ def __init__(self,
+ in_channels,
+ sub_sample=False,
+ conv_cfg=dict(type='Conv3d'),
+ **kwargs):
+ super(NonLocal3d, self).__init__(
+ in_channels, conv_cfg=conv_cfg, **kwargs)
+ self.sub_sample = sub_sample
+
+ if sub_sample:
+ max_pool_layer = nn.MaxPool3d(kernel_size=(1, 2, 2))
+ self.g = nn.Sequential(self.g, max_pool_layer)
+ if self.mode != 'gaussian':
+ self.phi = nn.Sequential(self.phi, max_pool_layer)
+ else:
+ self.phi = max_pool_layer
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/norm.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/norm.py
new file mode 100644
index 0000000000000000000000000000000000000000..31f4e49b24080485fc1d85b3e8ff810dc1383c95
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/norm.py
@@ -0,0 +1,144 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import inspect
+
+import torch.nn as nn
+
+from annotator.mmpkg.mmcv.utils import is_tuple_of
+from annotator.mmpkg.mmcv.utils.parrots_wrapper import SyncBatchNorm, _BatchNorm, _InstanceNorm
+from .registry import NORM_LAYERS
+
+NORM_LAYERS.register_module('BN', module=nn.BatchNorm2d)
+NORM_LAYERS.register_module('BN1d', module=nn.BatchNorm1d)
+NORM_LAYERS.register_module('BN2d', module=nn.BatchNorm2d)
+NORM_LAYERS.register_module('BN3d', module=nn.BatchNorm3d)
+NORM_LAYERS.register_module('SyncBN', module=SyncBatchNorm)
+NORM_LAYERS.register_module('GN', module=nn.GroupNorm)
+NORM_LAYERS.register_module('LN', module=nn.LayerNorm)
+NORM_LAYERS.register_module('IN', module=nn.InstanceNorm2d)
+NORM_LAYERS.register_module('IN1d', module=nn.InstanceNorm1d)
+NORM_LAYERS.register_module('IN2d', module=nn.InstanceNorm2d)
+NORM_LAYERS.register_module('IN3d', module=nn.InstanceNorm3d)
+
+
+def infer_abbr(class_type):
+ """Infer abbreviation from the class name.
+
+ When we build a norm layer with `build_norm_layer()`, we want to preserve
+ the norm type in variable names, e.g, self.bn1, self.gn. This method will
+ infer the abbreviation to map class types to abbreviations.
+
+ Rule 1: If the class has the property "_abbr_", return the property.
+ Rule 2: If the parent class is _BatchNorm, GroupNorm, LayerNorm or
+ InstanceNorm, the abbreviation of this layer will be "bn", "gn", "ln" and
+ "in" respectively.
+ Rule 3: If the class name contains "batch", "group", "layer" or "instance",
+ the abbreviation of this layer will be "bn", "gn", "ln" and "in"
+ respectively.
+ Rule 4: Otherwise, the abbreviation falls back to "norm".
+
+ Args:
+ class_type (type): The norm layer type.
+
+ Returns:
+ str: The inferred abbreviation.
+ """
+ if not inspect.isclass(class_type):
+ raise TypeError(
+ f'class_type must be a type, but got {type(class_type)}')
+ if hasattr(class_type, '_abbr_'):
+ return class_type._abbr_
+ if issubclass(class_type, _InstanceNorm): # IN is a subclass of BN
+ return 'in'
+ elif issubclass(class_type, _BatchNorm):
+ return 'bn'
+ elif issubclass(class_type, nn.GroupNorm):
+ return 'gn'
+ elif issubclass(class_type, nn.LayerNorm):
+ return 'ln'
+ else:
+ class_name = class_type.__name__.lower()
+ if 'batch' in class_name:
+ return 'bn'
+ elif 'group' in class_name:
+ return 'gn'
+ elif 'layer' in class_name:
+ return 'ln'
+ elif 'instance' in class_name:
+ return 'in'
+ else:
+ return 'norm_layer'
+
+
+def build_norm_layer(cfg, num_features, postfix=''):
+ """Build normalization layer.
+
+ Args:
+ cfg (dict): The norm layer config, which should contain:
+
+ - type (str): Layer type.
+ - layer args: Args needed to instantiate a norm layer.
+ - requires_grad (bool, optional): Whether stop gradient updates.
+ num_features (int): Number of input channels.
+ postfix (int | str): The postfix to be appended into norm abbreviation
+ to create named layer.
+
+ Returns:
+ (str, nn.Module): The first element is the layer name consisting of
+ abbreviation and postfix, e.g., bn1, gn. The second element is the
+ created norm layer.
+ """
+ if not isinstance(cfg, dict):
+ raise TypeError('cfg must be a dict')
+ if 'type' not in cfg:
+ raise KeyError('the cfg dict must contain the key "type"')
+ cfg_ = cfg.copy()
+
+ layer_type = cfg_.pop('type')
+ if layer_type not in NORM_LAYERS:
+ raise KeyError(f'Unrecognized norm type {layer_type}')
+
+ norm_layer = NORM_LAYERS.get(layer_type)
+ abbr = infer_abbr(norm_layer)
+
+ assert isinstance(postfix, (int, str))
+ name = abbr + str(postfix)
+
+ requires_grad = cfg_.pop('requires_grad', True)
+ cfg_.setdefault('eps', 1e-5)
+ if layer_type != 'GN':
+ layer = norm_layer(num_features, **cfg_)
+ if layer_type == 'SyncBN' and hasattr(layer, '_specify_ddp_gpu_num'):
+ layer._specify_ddp_gpu_num(1)
+ else:
+ assert 'num_groups' in cfg_
+ layer = norm_layer(num_channels=num_features, **cfg_)
+
+ for param in layer.parameters():
+ param.requires_grad = requires_grad
+
+ return name, layer
+
+
+def is_norm(layer, exclude=None):
+ """Check if a layer is a normalization layer.
+
+ Args:
+ layer (nn.Module): The layer to be checked.
+ exclude (type | tuple[type]): Types to be excluded.
+
+ Returns:
+ bool: Whether the layer is a norm layer.
+ """
+ if exclude is not None:
+ if not isinstance(exclude, tuple):
+ exclude = (exclude, )
+ if not is_tuple_of(exclude, type):
+ raise TypeError(
+ f'"exclude" must be either None or type or a tuple of types, '
+ f'but got {type(exclude)}: {exclude}')
+
+ if exclude and isinstance(layer, exclude):
+ return False
+
+ all_norm_bases = (_BatchNorm, _InstanceNorm, nn.GroupNorm, nn.LayerNorm)
+ return isinstance(layer, all_norm_bases)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/padding.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/padding.py
new file mode 100644
index 0000000000000000000000000000000000000000..e4ac6b28a1789bd551c613a7d3e7b622433ac7ec
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/padding.py
@@ -0,0 +1,36 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import torch.nn as nn
+
+from .registry import PADDING_LAYERS
+
+PADDING_LAYERS.register_module('zero', module=nn.ZeroPad2d)
+PADDING_LAYERS.register_module('reflect', module=nn.ReflectionPad2d)
+PADDING_LAYERS.register_module('replicate', module=nn.ReplicationPad2d)
+
+
+def build_padding_layer(cfg, *args, **kwargs):
+ """Build padding layer.
+
+ Args:
+ cfg (None or dict): The padding layer config, which should contain:
+ - type (str): Layer type.
+ - layer args: Args needed to instantiate a padding layer.
+
+ Returns:
+ nn.Module: Created padding layer.
+ """
+ if not isinstance(cfg, dict):
+ raise TypeError('cfg must be a dict')
+ if 'type' not in cfg:
+ raise KeyError('the cfg dict must contain the key "type"')
+
+ cfg_ = cfg.copy()
+ padding_type = cfg_.pop('type')
+ if padding_type not in PADDING_LAYERS:
+ raise KeyError(f'Unrecognized padding type {padding_type}.')
+ else:
+ padding_layer = PADDING_LAYERS.get(padding_type)
+
+ layer = padding_layer(*args, **kwargs, **cfg_)
+
+ return layer
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/plugin.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/plugin.py
new file mode 100644
index 0000000000000000000000000000000000000000..07c010d4053174dd41107aa654ea67e82b46a25c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/plugin.py
@@ -0,0 +1,88 @@
+import inspect
+import platform
+
+from .registry import PLUGIN_LAYERS
+
+if platform.system() == 'Windows':
+ import regex as re
+else:
+ import re
+
+
+def infer_abbr(class_type):
+ """Infer abbreviation from the class name.
+
+ This method will infer the abbreviation to map class types to
+ abbreviations.
+
+ Rule 1: If the class has the property "abbr", return the property.
+ Rule 2: Otherwise, the abbreviation falls back to snake case of class
+ name, e.g. the abbreviation of ``FancyBlock`` will be ``fancy_block``.
+
+ Args:
+ class_type (type): The norm layer type.
+
+ Returns:
+ str: The inferred abbreviation.
+ """
+
+ def camel2snack(word):
+ """Convert camel case word into snack case.
+
+ Modified from `inflection lib
+ `_.
+
+ Example::
+
+ >>> camel2snack("FancyBlock")
+ 'fancy_block'
+ """
+
+ word = re.sub(r'([A-Z]+)([A-Z][a-z])', r'\1_\2', word)
+ word = re.sub(r'([a-z\d])([A-Z])', r'\1_\2', word)
+ word = word.replace('-', '_')
+ return word.lower()
+
+ if not inspect.isclass(class_type):
+ raise TypeError(
+ f'class_type must be a type, but got {type(class_type)}')
+ if hasattr(class_type, '_abbr_'):
+ return class_type._abbr_
+ else:
+ return camel2snack(class_type.__name__)
+
+
+def build_plugin_layer(cfg, postfix='', **kwargs):
+ """Build plugin layer.
+
+ Args:
+ cfg (None or dict): cfg should contain:
+ type (str): identify plugin layer type.
+ layer args: args needed to instantiate a plugin layer.
+ postfix (int, str): appended into norm abbreviation to
+ create named layer. Default: ''.
+
+ Returns:
+ tuple[str, nn.Module]:
+ name (str): abbreviation + postfix
+ layer (nn.Module): created plugin layer
+ """
+ if not isinstance(cfg, dict):
+ raise TypeError('cfg must be a dict')
+ if 'type' not in cfg:
+ raise KeyError('the cfg dict must contain the key "type"')
+ cfg_ = cfg.copy()
+
+ layer_type = cfg_.pop('type')
+ if layer_type not in PLUGIN_LAYERS:
+ raise KeyError(f'Unrecognized plugin type {layer_type}')
+
+ plugin_layer = PLUGIN_LAYERS.get(layer_type)
+ abbr = infer_abbr(plugin_layer)
+
+ assert isinstance(postfix, (int, str))
+ name = abbr + str(postfix)
+
+ layer = plugin_layer(**kwargs, **cfg_)
+
+ return name, layer
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/registry.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/registry.py
new file mode 100644
index 0000000000000000000000000000000000000000..4f374cca4961c06babf328bb7407723a14026c47
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/registry.py
@@ -0,0 +1,16 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from annotator.mmpkg.mmcv.utils import Registry
+
+CONV_LAYERS = Registry('conv layer')
+NORM_LAYERS = Registry('norm layer')
+ACTIVATION_LAYERS = Registry('activation layer')
+PADDING_LAYERS = Registry('padding layer')
+UPSAMPLE_LAYERS = Registry('upsample layer')
+PLUGIN_LAYERS = Registry('plugin layer')
+
+DROPOUT_LAYERS = Registry('drop out layers')
+POSITIONAL_ENCODING = Registry('position encoding')
+ATTENTION = Registry('attention')
+FEEDFORWARD_NETWORK = Registry('feed-forward Network')
+TRANSFORMER_LAYER = Registry('transformerLayer')
+TRANSFORMER_LAYER_SEQUENCE = Registry('transformer-layers sequence')
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/scale.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/scale.py
new file mode 100644
index 0000000000000000000000000000000000000000..c905fffcc8bf998d18d94f927591963c428025e2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/scale.py
@@ -0,0 +1,21 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import torch
+import torch.nn as nn
+
+
+class Scale(nn.Module):
+ """A learnable scale parameter.
+
+ This layer scales the input by a learnable factor. It multiplies a
+ learnable scale parameter of shape (1,) with input of any shape.
+
+ Args:
+ scale (float): Initial value of scale factor. Default: 1.0
+ """
+
+ def __init__(self, scale=1.0):
+ super(Scale, self).__init__()
+ self.scale = nn.Parameter(torch.tensor(scale, dtype=torch.float))
+
+ def forward(self, x):
+ return x * self.scale
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/swish.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/swish.py
new file mode 100644
index 0000000000000000000000000000000000000000..e2ca8ed7b749413f011ae54aac0cab27e6f0b51f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/swish.py
@@ -0,0 +1,25 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import torch
+import torch.nn as nn
+
+from .registry import ACTIVATION_LAYERS
+
+
+@ACTIVATION_LAYERS.register_module()
+class Swish(nn.Module):
+ """Swish Module.
+
+ This module applies the swish function:
+
+ .. math::
+ Swish(x) = x * Sigmoid(x)
+
+ Returns:
+ Tensor: The output tensor.
+ """
+
+ def __init__(self):
+ super(Swish, self).__init__()
+
+ def forward(self, x):
+ return x * torch.sigmoid(x)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/transformer.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/transformer.py
new file mode 100644
index 0000000000000000000000000000000000000000..e16707142b645144b676059ffa992fc4306ef778
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/transformer.py
@@ -0,0 +1,595 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import copy
+import warnings
+
+import torch
+import torch.nn as nn
+
+from annotator.mmpkg.mmcv import ConfigDict, deprecated_api_warning
+from annotator.mmpkg.mmcv.cnn import Linear, build_activation_layer, build_norm_layer
+from annotator.mmpkg.mmcv.runner.base_module import BaseModule, ModuleList, Sequential
+from annotator.mmpkg.mmcv.utils import build_from_cfg
+from .drop import build_dropout
+from .registry import (ATTENTION, FEEDFORWARD_NETWORK, POSITIONAL_ENCODING,
+ TRANSFORMER_LAYER, TRANSFORMER_LAYER_SEQUENCE)
+
+# Avoid BC-breaking of importing MultiScaleDeformableAttention from this file
+try:
+ from annotator.mmpkg.mmcv.ops.multi_scale_deform_attn import MultiScaleDeformableAttention # noqa F401
+ warnings.warn(
+ ImportWarning(
+ '``MultiScaleDeformableAttention`` has been moved to '
+ '``mmcv.ops.multi_scale_deform_attn``, please change original path ' # noqa E501
+ '``from annotator.mmpkg.mmcv.cnn.bricks.transformer import MultiScaleDeformableAttention`` ' # noqa E501
+ 'to ``from annotator.mmpkg.mmcv.ops.multi_scale_deform_attn import MultiScaleDeformableAttention`` ' # noqa E501
+ ))
+
+except ImportError:
+ warnings.warn('Fail to import ``MultiScaleDeformableAttention`` from '
+ '``mmcv.ops.multi_scale_deform_attn``, '
+ 'You should install ``mmcv-full`` if you need this module. ')
+
+
+def build_positional_encoding(cfg, default_args=None):
+ """Builder for Position Encoding."""
+ return build_from_cfg(cfg, POSITIONAL_ENCODING, default_args)
+
+
+def build_attention(cfg, default_args=None):
+ """Builder for attention."""
+ return build_from_cfg(cfg, ATTENTION, default_args)
+
+
+def build_feedforward_network(cfg, default_args=None):
+ """Builder for feed-forward network (FFN)."""
+ return build_from_cfg(cfg, FEEDFORWARD_NETWORK, default_args)
+
+
+def build_transformer_layer(cfg, default_args=None):
+ """Builder for transformer layer."""
+ return build_from_cfg(cfg, TRANSFORMER_LAYER, default_args)
+
+
+def build_transformer_layer_sequence(cfg, default_args=None):
+ """Builder for transformer encoder and transformer decoder."""
+ return build_from_cfg(cfg, TRANSFORMER_LAYER_SEQUENCE, default_args)
+
+
+@ATTENTION.register_module()
+class MultiheadAttention(BaseModule):
+ """A wrapper for ``torch.nn.MultiheadAttention``.
+
+ This module implements MultiheadAttention with identity connection,
+ and positional encoding is also passed as input.
+
+ Args:
+ embed_dims (int): The embedding dimension.
+ num_heads (int): Parallel attention heads.
+ attn_drop (float): A Dropout layer on attn_output_weights.
+ Default: 0.0.
+ proj_drop (float): A Dropout layer after `nn.MultiheadAttention`.
+ Default: 0.0.
+ dropout_layer (obj:`ConfigDict`): The dropout_layer used
+ when adding the shortcut.
+ init_cfg (obj:`mmcv.ConfigDict`): The Config for initialization.
+ Default: None.
+ batch_first (bool): When it is True, Key, Query and Value are shape of
+ (batch, n, embed_dim), otherwise (n, batch, embed_dim).
+ Default to False.
+ """
+
+ def __init__(self,
+ embed_dims,
+ num_heads,
+ attn_drop=0.,
+ proj_drop=0.,
+ dropout_layer=dict(type='Dropout', drop_prob=0.),
+ init_cfg=None,
+ batch_first=False,
+ **kwargs):
+ super(MultiheadAttention, self).__init__(init_cfg)
+ if 'dropout' in kwargs:
+ warnings.warn('The arguments `dropout` in MultiheadAttention '
+ 'has been deprecated, now you can separately '
+ 'set `attn_drop`(float), proj_drop(float), '
+ 'and `dropout_layer`(dict) ')
+ attn_drop = kwargs['dropout']
+ dropout_layer['drop_prob'] = kwargs.pop('dropout')
+
+ self.embed_dims = embed_dims
+ self.num_heads = num_heads
+ self.batch_first = batch_first
+
+ self.attn = nn.MultiheadAttention(embed_dims, num_heads, attn_drop,
+ **kwargs)
+
+ self.proj_drop = nn.Dropout(proj_drop)
+ self.dropout_layer = build_dropout(
+ dropout_layer) if dropout_layer else nn.Identity()
+
+ @deprecated_api_warning({'residual': 'identity'},
+ cls_name='MultiheadAttention')
+ def forward(self,
+ query,
+ key=None,
+ value=None,
+ identity=None,
+ query_pos=None,
+ key_pos=None,
+ attn_mask=None,
+ key_padding_mask=None,
+ **kwargs):
+ """Forward function for `MultiheadAttention`.
+
+ **kwargs allow passing a more general data flow when combining
+ with other operations in `transformerlayer`.
+
+ Args:
+ query (Tensor): The input query with shape [num_queries, bs,
+ embed_dims] if self.batch_first is False, else
+ [bs, num_queries embed_dims].
+ key (Tensor): The key tensor with shape [num_keys, bs,
+ embed_dims] if self.batch_first is False, else
+ [bs, num_keys, embed_dims] .
+ If None, the ``query`` will be used. Defaults to None.
+ value (Tensor): The value tensor with same shape as `key`.
+ Same in `nn.MultiheadAttention.forward`. Defaults to None.
+ If None, the `key` will be used.
+ identity (Tensor): This tensor, with the same shape as x,
+ will be used for the identity link.
+ If None, `x` will be used. Defaults to None.
+ query_pos (Tensor): The positional encoding for query, with
+ the same shape as `x`. If not None, it will
+ be added to `x` before forward function. Defaults to None.
+ key_pos (Tensor): The positional encoding for `key`, with the
+ same shape as `key`. Defaults to None. If not None, it will
+ be added to `key` before forward function. If None, and
+ `query_pos` has the same shape as `key`, then `query_pos`
+ will be used for `key_pos`. Defaults to None.
+ attn_mask (Tensor): ByteTensor mask with shape [num_queries,
+ num_keys]. Same in `nn.MultiheadAttention.forward`.
+ Defaults to None.
+ key_padding_mask (Tensor): ByteTensor with shape [bs, num_keys].
+ Defaults to None.
+
+ Returns:
+ Tensor: forwarded results with shape
+ [num_queries, bs, embed_dims]
+ if self.batch_first is False, else
+ [bs, num_queries embed_dims].
+ """
+
+ if key is None:
+ key = query
+ if value is None:
+ value = key
+ if identity is None:
+ identity = query
+ if key_pos is None:
+ if query_pos is not None:
+ # use query_pos if key_pos is not available
+ if query_pos.shape == key.shape:
+ key_pos = query_pos
+ else:
+ warnings.warn(f'position encoding of key is'
+ f'missing in {self.__class__.__name__}.')
+ if query_pos is not None:
+ query = query + query_pos
+ if key_pos is not None:
+ key = key + key_pos
+
+ # Because the dataflow('key', 'query', 'value') of
+ # ``torch.nn.MultiheadAttention`` is (num_query, batch,
+ # embed_dims), We should adjust the shape of dataflow from
+ # batch_first (batch, num_query, embed_dims) to num_query_first
+ # (num_query ,batch, embed_dims), and recover ``attn_output``
+ # from num_query_first to batch_first.
+ if self.batch_first:
+ query = query.transpose(0, 1)
+ key = key.transpose(0, 1)
+ value = value.transpose(0, 1)
+
+ out = self.attn(
+ query=query,
+ key=key,
+ value=value,
+ attn_mask=attn_mask,
+ key_padding_mask=key_padding_mask)[0]
+
+ if self.batch_first:
+ out = out.transpose(0, 1)
+
+ return identity + self.dropout_layer(self.proj_drop(out))
+
+
+@FEEDFORWARD_NETWORK.register_module()
+class FFN(BaseModule):
+ """Implements feed-forward networks (FFNs) with identity connection.
+
+ Args:
+ embed_dims (int): The feature dimension. Same as
+ `MultiheadAttention`. Defaults: 256.
+ feedforward_channels (int): The hidden dimension of FFNs.
+ Defaults: 1024.
+ num_fcs (int, optional): The number of fully-connected layers in
+ FFNs. Default: 2.
+ act_cfg (dict, optional): The activation config for FFNs.
+ Default: dict(type='ReLU')
+ ffn_drop (float, optional): Probability of an element to be
+ zeroed in FFN. Default 0.0.
+ add_identity (bool, optional): Whether to add the
+ identity connection. Default: `True`.
+ dropout_layer (obj:`ConfigDict`): The dropout_layer used
+ when adding the shortcut.
+ init_cfg (obj:`mmcv.ConfigDict`): The Config for initialization.
+ Default: None.
+ """
+
+ @deprecated_api_warning(
+ {
+ 'dropout': 'ffn_drop',
+ 'add_residual': 'add_identity'
+ },
+ cls_name='FFN')
+ def __init__(self,
+ embed_dims=256,
+ feedforward_channels=1024,
+ num_fcs=2,
+ act_cfg=dict(type='ReLU', inplace=True),
+ ffn_drop=0.,
+ dropout_layer=None,
+ add_identity=True,
+ init_cfg=None,
+ **kwargs):
+ super(FFN, self).__init__(init_cfg)
+ assert num_fcs >= 2, 'num_fcs should be no less ' \
+ f'than 2. got {num_fcs}.'
+ self.embed_dims = embed_dims
+ self.feedforward_channels = feedforward_channels
+ self.num_fcs = num_fcs
+ self.act_cfg = act_cfg
+ self.activate = build_activation_layer(act_cfg)
+
+ layers = []
+ in_channels = embed_dims
+ for _ in range(num_fcs - 1):
+ layers.append(
+ Sequential(
+ Linear(in_channels, feedforward_channels), self.activate,
+ nn.Dropout(ffn_drop)))
+ in_channels = feedforward_channels
+ layers.append(Linear(feedforward_channels, embed_dims))
+ layers.append(nn.Dropout(ffn_drop))
+ self.layers = Sequential(*layers)
+ self.dropout_layer = build_dropout(
+ dropout_layer) if dropout_layer else torch.nn.Identity()
+ self.add_identity = add_identity
+
+ @deprecated_api_warning({'residual': 'identity'}, cls_name='FFN')
+ def forward(self, x, identity=None):
+ """Forward function for `FFN`.
+
+ The function would add x to the output tensor if residue is None.
+ """
+ out = self.layers(x)
+ if not self.add_identity:
+ return self.dropout_layer(out)
+ if identity is None:
+ identity = x
+ return identity + self.dropout_layer(out)
+
+
+@TRANSFORMER_LAYER.register_module()
+class BaseTransformerLayer(BaseModule):
+ """Base `TransformerLayer` for vision transformer.
+
+ It can be built from `mmcv.ConfigDict` and support more flexible
+ customization, for example, using any number of `FFN or LN ` and
+ use different kinds of `attention` by specifying a list of `ConfigDict`
+ named `attn_cfgs`. It is worth mentioning that it supports `prenorm`
+ when you specifying `norm` as the first element of `operation_order`.
+ More details about the `prenorm`: `On Layer Normalization in the
+ Transformer Architecture `_ .
+
+ Args:
+ attn_cfgs (list[`mmcv.ConfigDict`] | obj:`mmcv.ConfigDict` | None )):
+ Configs for `self_attention` or `cross_attention` modules,
+ The order of the configs in the list should be consistent with
+ corresponding attentions in operation_order.
+ If it is a dict, all of the attention modules in operation_order
+ will be built with this config. Default: None.
+ ffn_cfgs (list[`mmcv.ConfigDict`] | obj:`mmcv.ConfigDict` | None )):
+ Configs for FFN, The order of the configs in the list should be
+ consistent with corresponding ffn in operation_order.
+ If it is a dict, all of the attention modules in operation_order
+ will be built with this config.
+ operation_order (tuple[str]): The execution order of operation
+ in transformer. Such as ('self_attn', 'norm', 'ffn', 'norm').
+ Support `prenorm` when you specifying first element as `norm`.
+ Default:None.
+ norm_cfg (dict): Config dict for normalization layer.
+ Default: dict(type='LN').
+ init_cfg (obj:`mmcv.ConfigDict`): The Config for initialization.
+ Default: None.
+ batch_first (bool): Key, Query and Value are shape
+ of (batch, n, embed_dim)
+ or (n, batch, embed_dim). Default to False.
+ """
+
+ def __init__(self,
+ attn_cfgs=None,
+ ffn_cfgs=dict(
+ type='FFN',
+ embed_dims=256,
+ feedforward_channels=1024,
+ num_fcs=2,
+ ffn_drop=0.,
+ act_cfg=dict(type='ReLU', inplace=True),
+ ),
+ operation_order=None,
+ norm_cfg=dict(type='LN'),
+ init_cfg=None,
+ batch_first=False,
+ **kwargs):
+
+ deprecated_args = dict(
+ feedforward_channels='feedforward_channels',
+ ffn_dropout='ffn_drop',
+ ffn_num_fcs='num_fcs')
+ for ori_name, new_name in deprecated_args.items():
+ if ori_name in kwargs:
+ warnings.warn(
+ f'The arguments `{ori_name}` in BaseTransformerLayer '
+ f'has been deprecated, now you should set `{new_name}` '
+ f'and other FFN related arguments '
+ f'to a dict named `ffn_cfgs`. ')
+ ffn_cfgs[new_name] = kwargs[ori_name]
+
+ super(BaseTransformerLayer, self).__init__(init_cfg)
+
+ self.batch_first = batch_first
+
+ assert set(operation_order) & set(
+ ['self_attn', 'norm', 'ffn', 'cross_attn']) == \
+ set(operation_order), f'The operation_order of' \
+ f' {self.__class__.__name__} should ' \
+ f'contains all four operation type ' \
+ f"{['self_attn', 'norm', 'ffn', 'cross_attn']}"
+
+ num_attn = operation_order.count('self_attn') + operation_order.count(
+ 'cross_attn')
+ if isinstance(attn_cfgs, dict):
+ attn_cfgs = [copy.deepcopy(attn_cfgs) for _ in range(num_attn)]
+ else:
+ assert num_attn == len(attn_cfgs), f'The length ' \
+ f'of attn_cfg {num_attn} is ' \
+ f'not consistent with the number of attention' \
+ f'in operation_order {operation_order}.'
+
+ self.num_attn = num_attn
+ self.operation_order = operation_order
+ self.norm_cfg = norm_cfg
+ self.pre_norm = operation_order[0] == 'norm'
+ self.attentions = ModuleList()
+
+ index = 0
+ for operation_name in operation_order:
+ if operation_name in ['self_attn', 'cross_attn']:
+ if 'batch_first' in attn_cfgs[index]:
+ assert self.batch_first == attn_cfgs[index]['batch_first']
+ else:
+ attn_cfgs[index]['batch_first'] = self.batch_first
+ attention = build_attention(attn_cfgs[index])
+ # Some custom attentions used as `self_attn`
+ # or `cross_attn` can have different behavior.
+ attention.operation_name = operation_name
+ self.attentions.append(attention)
+ index += 1
+
+ self.embed_dims = self.attentions[0].embed_dims
+
+ self.ffns = ModuleList()
+ num_ffns = operation_order.count('ffn')
+ if isinstance(ffn_cfgs, dict):
+ ffn_cfgs = ConfigDict(ffn_cfgs)
+ if isinstance(ffn_cfgs, dict):
+ ffn_cfgs = [copy.deepcopy(ffn_cfgs) for _ in range(num_ffns)]
+ assert len(ffn_cfgs) == num_ffns
+ for ffn_index in range(num_ffns):
+ if 'embed_dims' not in ffn_cfgs[ffn_index]:
+ ffn_cfgs['embed_dims'] = self.embed_dims
+ else:
+ assert ffn_cfgs[ffn_index]['embed_dims'] == self.embed_dims
+ self.ffns.append(
+ build_feedforward_network(ffn_cfgs[ffn_index],
+ dict(type='FFN')))
+
+ self.norms = ModuleList()
+ num_norms = operation_order.count('norm')
+ for _ in range(num_norms):
+ self.norms.append(build_norm_layer(norm_cfg, self.embed_dims)[1])
+
+ def forward(self,
+ query,
+ key=None,
+ value=None,
+ query_pos=None,
+ key_pos=None,
+ attn_masks=None,
+ query_key_padding_mask=None,
+ key_padding_mask=None,
+ **kwargs):
+ """Forward function for `TransformerDecoderLayer`.
+
+ **kwargs contains some specific arguments of attentions.
+
+ Args:
+ query (Tensor): The input query with shape
+ [num_queries, bs, embed_dims] if
+ self.batch_first is False, else
+ [bs, num_queries embed_dims].
+ key (Tensor): The key tensor with shape [num_keys, bs,
+ embed_dims] if self.batch_first is False, else
+ [bs, num_keys, embed_dims] .
+ value (Tensor): The value tensor with same shape as `key`.
+ query_pos (Tensor): The positional encoding for `query`.
+ Default: None.
+ key_pos (Tensor): The positional encoding for `key`.
+ Default: None.
+ attn_masks (List[Tensor] | None): 2D Tensor used in
+ calculation of corresponding attention. The length of
+ it should equal to the number of `attention` in
+ `operation_order`. Default: None.
+ query_key_padding_mask (Tensor): ByteTensor for `query`, with
+ shape [bs, num_queries]. Only used in `self_attn` layer.
+ Defaults to None.
+ key_padding_mask (Tensor): ByteTensor for `query`, with
+ shape [bs, num_keys]. Default: None.
+
+ Returns:
+ Tensor: forwarded results with shape [num_queries, bs, embed_dims].
+ """
+
+ norm_index = 0
+ attn_index = 0
+ ffn_index = 0
+ identity = query
+ if attn_masks is None:
+ attn_masks = [None for _ in range(self.num_attn)]
+ elif isinstance(attn_masks, torch.Tensor):
+ attn_masks = [
+ copy.deepcopy(attn_masks) for _ in range(self.num_attn)
+ ]
+ warnings.warn(f'Use same attn_mask in all attentions in '
+ f'{self.__class__.__name__} ')
+ else:
+ assert len(attn_masks) == self.num_attn, f'The length of ' \
+ f'attn_masks {len(attn_masks)} must be equal ' \
+ f'to the number of attention in ' \
+ f'operation_order {self.num_attn}'
+
+ for layer in self.operation_order:
+ if layer == 'self_attn':
+ temp_key = temp_value = query
+ query = self.attentions[attn_index](
+ query,
+ temp_key,
+ temp_value,
+ identity if self.pre_norm else None,
+ query_pos=query_pos,
+ key_pos=query_pos,
+ attn_mask=attn_masks[attn_index],
+ key_padding_mask=query_key_padding_mask,
+ **kwargs)
+ attn_index += 1
+ identity = query
+
+ elif layer == 'norm':
+ query = self.norms[norm_index](query)
+ norm_index += 1
+
+ elif layer == 'cross_attn':
+ query = self.attentions[attn_index](
+ query,
+ key,
+ value,
+ identity if self.pre_norm else None,
+ query_pos=query_pos,
+ key_pos=key_pos,
+ attn_mask=attn_masks[attn_index],
+ key_padding_mask=key_padding_mask,
+ **kwargs)
+ attn_index += 1
+ identity = query
+
+ elif layer == 'ffn':
+ query = self.ffns[ffn_index](
+ query, identity if self.pre_norm else None)
+ ffn_index += 1
+
+ return query
+
+
+@TRANSFORMER_LAYER_SEQUENCE.register_module()
+class TransformerLayerSequence(BaseModule):
+ """Base class for TransformerEncoder and TransformerDecoder in vision
+ transformer.
+
+ As base-class of Encoder and Decoder in vision transformer.
+ Support customization such as specifying different kind
+ of `transformer_layer` in `transformer_coder`.
+
+ Args:
+ transformerlayer (list[obj:`mmcv.ConfigDict`] |
+ obj:`mmcv.ConfigDict`): Config of transformerlayer
+ in TransformerCoder. If it is obj:`mmcv.ConfigDict`,
+ it would be repeated `num_layer` times to a
+ list[`mmcv.ConfigDict`]. Default: None.
+ num_layers (int): The number of `TransformerLayer`. Default: None.
+ init_cfg (obj:`mmcv.ConfigDict`): The Config for initialization.
+ Default: None.
+ """
+
+ def __init__(self, transformerlayers=None, num_layers=None, init_cfg=None):
+ super(TransformerLayerSequence, self).__init__(init_cfg)
+ if isinstance(transformerlayers, dict):
+ transformerlayers = [
+ copy.deepcopy(transformerlayers) for _ in range(num_layers)
+ ]
+ else:
+ assert isinstance(transformerlayers, list) and \
+ len(transformerlayers) == num_layers
+ self.num_layers = num_layers
+ self.layers = ModuleList()
+ for i in range(num_layers):
+ self.layers.append(build_transformer_layer(transformerlayers[i]))
+ self.embed_dims = self.layers[0].embed_dims
+ self.pre_norm = self.layers[0].pre_norm
+
+ def forward(self,
+ query,
+ key,
+ value,
+ query_pos=None,
+ key_pos=None,
+ attn_masks=None,
+ query_key_padding_mask=None,
+ key_padding_mask=None,
+ **kwargs):
+ """Forward function for `TransformerCoder`.
+
+ Args:
+ query (Tensor): Input query with shape
+ `(num_queries, bs, embed_dims)`.
+ key (Tensor): The key tensor with shape
+ `(num_keys, bs, embed_dims)`.
+ value (Tensor): The value tensor with shape
+ `(num_keys, bs, embed_dims)`.
+ query_pos (Tensor): The positional encoding for `query`.
+ Default: None.
+ key_pos (Tensor): The positional encoding for `key`.
+ Default: None.
+ attn_masks (List[Tensor], optional): Each element is 2D Tensor
+ which is used in calculation of corresponding attention in
+ operation_order. Default: None.
+ query_key_padding_mask (Tensor): ByteTensor for `query`, with
+ shape [bs, num_queries]. Only used in self-attention
+ Default: None.
+ key_padding_mask (Tensor): ByteTensor for `query`, with
+ shape [bs, num_keys]. Default: None.
+
+ Returns:
+ Tensor: results with shape [num_queries, bs, embed_dims].
+ """
+ for layer in self.layers:
+ query = layer(
+ query,
+ key,
+ value,
+ query_pos=query_pos,
+ key_pos=key_pos,
+ attn_masks=attn_masks,
+ query_key_padding_mask=query_key_padding_mask,
+ key_padding_mask=key_padding_mask,
+ **kwargs)
+ return query
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/upsample.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/upsample.py
new file mode 100644
index 0000000000000000000000000000000000000000..a1a353767d0ce8518f0d7289bed10dba0178ed12
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/upsample.py
@@ -0,0 +1,84 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import torch.nn as nn
+import torch.nn.functional as F
+
+from ..utils import xavier_init
+from .registry import UPSAMPLE_LAYERS
+
+UPSAMPLE_LAYERS.register_module('nearest', module=nn.Upsample)
+UPSAMPLE_LAYERS.register_module('bilinear', module=nn.Upsample)
+
+
+@UPSAMPLE_LAYERS.register_module(name='pixel_shuffle')
+class PixelShufflePack(nn.Module):
+ """Pixel Shuffle upsample layer.
+
+ This module packs `F.pixel_shuffle()` and a nn.Conv2d module together to
+ achieve a simple upsampling with pixel shuffle.
+
+ Args:
+ in_channels (int): Number of input channels.
+ out_channels (int): Number of output channels.
+ scale_factor (int): Upsample ratio.
+ upsample_kernel (int): Kernel size of the conv layer to expand the
+ channels.
+ """
+
+ def __init__(self, in_channels, out_channels, scale_factor,
+ upsample_kernel):
+ super(PixelShufflePack, self).__init__()
+ self.in_channels = in_channels
+ self.out_channels = out_channels
+ self.scale_factor = scale_factor
+ self.upsample_kernel = upsample_kernel
+ self.upsample_conv = nn.Conv2d(
+ self.in_channels,
+ self.out_channels * scale_factor * scale_factor,
+ self.upsample_kernel,
+ padding=(self.upsample_kernel - 1) // 2)
+ self.init_weights()
+
+ def init_weights(self):
+ xavier_init(self.upsample_conv, distribution='uniform')
+
+ def forward(self, x):
+ x = self.upsample_conv(x)
+ x = F.pixel_shuffle(x, self.scale_factor)
+ return x
+
+
+def build_upsample_layer(cfg, *args, **kwargs):
+ """Build upsample layer.
+
+ Args:
+ cfg (dict): The upsample layer config, which should contain:
+
+ - type (str): Layer type.
+ - scale_factor (int): Upsample ratio, which is not applicable to
+ deconv.
+ - layer args: Args needed to instantiate a upsample layer.
+ args (argument list): Arguments passed to the ``__init__``
+ method of the corresponding conv layer.
+ kwargs (keyword arguments): Keyword arguments passed to the
+ ``__init__`` method of the corresponding conv layer.
+
+ Returns:
+ nn.Module: Created upsample layer.
+ """
+ if not isinstance(cfg, dict):
+ raise TypeError(f'cfg must be a dict, but got {type(cfg)}')
+ if 'type' not in cfg:
+ raise KeyError(
+ f'the cfg dict must contain the key "type", but got {cfg}')
+ cfg_ = cfg.copy()
+
+ layer_type = cfg_.pop('type')
+ if layer_type not in UPSAMPLE_LAYERS:
+ raise KeyError(f'Unrecognized upsample type {layer_type}')
+ else:
+ upsample = UPSAMPLE_LAYERS.get(layer_type)
+
+ if upsample is nn.Upsample:
+ cfg_['mode'] = layer_type
+ layer = upsample(*args, **kwargs, **cfg_)
+ return layer
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/wrappers.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/wrappers.py
new file mode 100644
index 0000000000000000000000000000000000000000..8aebf67bf52355a513f21756ee74fe510902d075
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/bricks/wrappers.py
@@ -0,0 +1,180 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+r"""Modified from https://github.com/facebookresearch/detectron2/blob/master/detectron2/layers/wrappers.py # noqa: E501
+
+Wrap some nn modules to support empty tensor input. Currently, these wrappers
+are mainly used in mask heads like fcn_mask_head and maskiou_heads since mask
+heads are trained on only positive RoIs.
+"""
+import math
+
+import torch
+import torch.nn as nn
+from torch.nn.modules.utils import _pair, _triple
+
+from .registry import CONV_LAYERS, UPSAMPLE_LAYERS
+
+if torch.__version__ == 'parrots':
+ TORCH_VERSION = torch.__version__
+else:
+ # torch.__version__ could be 1.3.1+cu92, we only need the first two
+ # for comparison
+ TORCH_VERSION = tuple(int(x) for x in torch.__version__.split('.')[:2])
+
+
+def obsolete_torch_version(torch_version, version_threshold):
+ return torch_version == 'parrots' or torch_version <= version_threshold
+
+
+class NewEmptyTensorOp(torch.autograd.Function):
+
+ @staticmethod
+ def forward(ctx, x, new_shape):
+ ctx.shape = x.shape
+ return x.new_empty(new_shape)
+
+ @staticmethod
+ def backward(ctx, grad):
+ shape = ctx.shape
+ return NewEmptyTensorOp.apply(grad, shape), None
+
+
+@CONV_LAYERS.register_module('Conv', force=True)
+class Conv2d(nn.Conv2d):
+
+ def forward(self, x):
+ if x.numel() == 0 and obsolete_torch_version(TORCH_VERSION, (1, 4)):
+ out_shape = [x.shape[0], self.out_channels]
+ for i, k, p, s, d in zip(x.shape[-2:], self.kernel_size,
+ self.padding, self.stride, self.dilation):
+ o = (i + 2 * p - (d * (k - 1) + 1)) // s + 1
+ out_shape.append(o)
+ empty = NewEmptyTensorOp.apply(x, out_shape)
+ if self.training:
+ # produce dummy gradient to avoid DDP warning.
+ dummy = sum(x.view(-1)[0] for x in self.parameters()) * 0.0
+ return empty + dummy
+ else:
+ return empty
+
+ return super().forward(x)
+
+
+@CONV_LAYERS.register_module('Conv3d', force=True)
+class Conv3d(nn.Conv3d):
+
+ def forward(self, x):
+ if x.numel() == 0 and obsolete_torch_version(TORCH_VERSION, (1, 4)):
+ out_shape = [x.shape[0], self.out_channels]
+ for i, k, p, s, d in zip(x.shape[-3:], self.kernel_size,
+ self.padding, self.stride, self.dilation):
+ o = (i + 2 * p - (d * (k - 1) + 1)) // s + 1
+ out_shape.append(o)
+ empty = NewEmptyTensorOp.apply(x, out_shape)
+ if self.training:
+ # produce dummy gradient to avoid DDP warning.
+ dummy = sum(x.view(-1)[0] for x in self.parameters()) * 0.0
+ return empty + dummy
+ else:
+ return empty
+
+ return super().forward(x)
+
+
+@CONV_LAYERS.register_module()
+@CONV_LAYERS.register_module('deconv')
+@UPSAMPLE_LAYERS.register_module('deconv', force=True)
+class ConvTranspose2d(nn.ConvTranspose2d):
+
+ def forward(self, x):
+ if x.numel() == 0 and obsolete_torch_version(TORCH_VERSION, (1, 4)):
+ out_shape = [x.shape[0], self.out_channels]
+ for i, k, p, s, d, op in zip(x.shape[-2:], self.kernel_size,
+ self.padding, self.stride,
+ self.dilation, self.output_padding):
+ out_shape.append((i - 1) * s - 2 * p + (d * (k - 1) + 1) + op)
+ empty = NewEmptyTensorOp.apply(x, out_shape)
+ if self.training:
+ # produce dummy gradient to avoid DDP warning.
+ dummy = sum(x.view(-1)[0] for x in self.parameters()) * 0.0
+ return empty + dummy
+ else:
+ return empty
+
+ return super().forward(x)
+
+
+@CONV_LAYERS.register_module()
+@CONV_LAYERS.register_module('deconv3d')
+@UPSAMPLE_LAYERS.register_module('deconv3d', force=True)
+class ConvTranspose3d(nn.ConvTranspose3d):
+
+ def forward(self, x):
+ if x.numel() == 0 and obsolete_torch_version(TORCH_VERSION, (1, 4)):
+ out_shape = [x.shape[0], self.out_channels]
+ for i, k, p, s, d, op in zip(x.shape[-3:], self.kernel_size,
+ self.padding, self.stride,
+ self.dilation, self.output_padding):
+ out_shape.append((i - 1) * s - 2 * p + (d * (k - 1) + 1) + op)
+ empty = NewEmptyTensorOp.apply(x, out_shape)
+ if self.training:
+ # produce dummy gradient to avoid DDP warning.
+ dummy = sum(x.view(-1)[0] for x in self.parameters()) * 0.0
+ return empty + dummy
+ else:
+ return empty
+
+ return super().forward(x)
+
+
+class MaxPool2d(nn.MaxPool2d):
+
+ def forward(self, x):
+ # PyTorch 1.9 does not support empty tensor inference yet
+ if x.numel() == 0 and obsolete_torch_version(TORCH_VERSION, (1, 9)):
+ out_shape = list(x.shape[:2])
+ for i, k, p, s, d in zip(x.shape[-2:], _pair(self.kernel_size),
+ _pair(self.padding), _pair(self.stride),
+ _pair(self.dilation)):
+ o = (i + 2 * p - (d * (k - 1) + 1)) / s + 1
+ o = math.ceil(o) if self.ceil_mode else math.floor(o)
+ out_shape.append(o)
+ empty = NewEmptyTensorOp.apply(x, out_shape)
+ return empty
+
+ return super().forward(x)
+
+
+class MaxPool3d(nn.MaxPool3d):
+
+ def forward(self, x):
+ # PyTorch 1.9 does not support empty tensor inference yet
+ if x.numel() == 0 and obsolete_torch_version(TORCH_VERSION, (1, 9)):
+ out_shape = list(x.shape[:2])
+ for i, k, p, s, d in zip(x.shape[-3:], _triple(self.kernel_size),
+ _triple(self.padding),
+ _triple(self.stride),
+ _triple(self.dilation)):
+ o = (i + 2 * p - (d * (k - 1) + 1)) / s + 1
+ o = math.ceil(o) if self.ceil_mode else math.floor(o)
+ out_shape.append(o)
+ empty = NewEmptyTensorOp.apply(x, out_shape)
+ return empty
+
+ return super().forward(x)
+
+
+class Linear(torch.nn.Linear):
+
+ def forward(self, x):
+ # empty tensor forward of Linear layer is supported in Pytorch 1.6
+ if x.numel() == 0 and obsolete_torch_version(TORCH_VERSION, (1, 5)):
+ out_shape = [x.shape[0], self.out_features]
+ empty = NewEmptyTensorOp.apply(x, out_shape)
+ if self.training:
+ # produce dummy gradient to avoid DDP warning.
+ dummy = sum(x.view(-1)[0] for x in self.parameters()) * 0.0
+ return empty + dummy
+ else:
+ return empty
+
+ return super().forward(x)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/builder.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/builder.py
new file mode 100644
index 0000000000000000000000000000000000000000..7567316c566bd3aca6d8f65a84b00e9e890948a7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/builder.py
@@ -0,0 +1,30 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from ..runner import Sequential
+from ..utils import Registry, build_from_cfg
+
+
+def build_model_from_cfg(cfg, registry, default_args=None):
+ """Build a PyTorch model from config dict(s). Different from
+ ``build_from_cfg``, if cfg is a list, a ``nn.Sequential`` will be built.
+
+ Args:
+ cfg (dict, list[dict]): The config of modules, is is either a config
+ dict or a list of config dicts. If cfg is a list, a
+ the built modules will be wrapped with ``nn.Sequential``.
+ registry (:obj:`Registry`): A registry the module belongs to.
+ default_args (dict, optional): Default arguments to build the module.
+ Defaults to None.
+
+ Returns:
+ nn.Module: A built nn module.
+ """
+ if isinstance(cfg, list):
+ modules = [
+ build_from_cfg(cfg_, registry, default_args) for cfg_ in cfg
+ ]
+ return Sequential(*modules)
+ else:
+ return build_from_cfg(cfg, registry, default_args)
+
+
+MODELS = Registry('model', build_func=build_model_from_cfg)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/resnet.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/resnet.py
new file mode 100644
index 0000000000000000000000000000000000000000..1cb3ac057ee2d52c46fc94685b5d4e698aad8d5f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/resnet.py
@@ -0,0 +1,316 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import logging
+
+import torch.nn as nn
+import torch.utils.checkpoint as cp
+
+from .utils import constant_init, kaiming_init
+
+
+def conv3x3(in_planes, out_planes, stride=1, dilation=1):
+ """3x3 convolution with padding."""
+ return nn.Conv2d(
+ in_planes,
+ out_planes,
+ kernel_size=3,
+ stride=stride,
+ padding=dilation,
+ dilation=dilation,
+ bias=False)
+
+
+class BasicBlock(nn.Module):
+ expansion = 1
+
+ def __init__(self,
+ inplanes,
+ planes,
+ stride=1,
+ dilation=1,
+ downsample=None,
+ style='pytorch',
+ with_cp=False):
+ super(BasicBlock, self).__init__()
+ assert style in ['pytorch', 'caffe']
+ self.conv1 = conv3x3(inplanes, planes, stride, dilation)
+ self.bn1 = nn.BatchNorm2d(planes)
+ self.relu = nn.ReLU(inplace=True)
+ self.conv2 = conv3x3(planes, planes)
+ self.bn2 = nn.BatchNorm2d(planes)
+ self.downsample = downsample
+ self.stride = stride
+ self.dilation = dilation
+ assert not with_cp
+
+ def forward(self, x):
+ residual = x
+
+ out = self.conv1(x)
+ out = self.bn1(out)
+ out = self.relu(out)
+
+ out = self.conv2(out)
+ out = self.bn2(out)
+
+ if self.downsample is not None:
+ residual = self.downsample(x)
+
+ out += residual
+ out = self.relu(out)
+
+ return out
+
+
+class Bottleneck(nn.Module):
+ expansion = 4
+
+ def __init__(self,
+ inplanes,
+ planes,
+ stride=1,
+ dilation=1,
+ downsample=None,
+ style='pytorch',
+ with_cp=False):
+ """Bottleneck block.
+
+ If style is "pytorch", the stride-two layer is the 3x3 conv layer, if
+ it is "caffe", the stride-two layer is the first 1x1 conv layer.
+ """
+ super(Bottleneck, self).__init__()
+ assert style in ['pytorch', 'caffe']
+ if style == 'pytorch':
+ conv1_stride = 1
+ conv2_stride = stride
+ else:
+ conv1_stride = stride
+ conv2_stride = 1
+ self.conv1 = nn.Conv2d(
+ inplanes, planes, kernel_size=1, stride=conv1_stride, bias=False)
+ self.conv2 = nn.Conv2d(
+ planes,
+ planes,
+ kernel_size=3,
+ stride=conv2_stride,
+ padding=dilation,
+ dilation=dilation,
+ bias=False)
+
+ self.bn1 = nn.BatchNorm2d(planes)
+ self.bn2 = nn.BatchNorm2d(planes)
+ self.conv3 = nn.Conv2d(
+ planes, planes * self.expansion, kernel_size=1, bias=False)
+ self.bn3 = nn.BatchNorm2d(planes * self.expansion)
+ self.relu = nn.ReLU(inplace=True)
+ self.downsample = downsample
+ self.stride = stride
+ self.dilation = dilation
+ self.with_cp = with_cp
+
+ def forward(self, x):
+
+ def _inner_forward(x):
+ residual = x
+
+ out = self.conv1(x)
+ out = self.bn1(out)
+ out = self.relu(out)
+
+ out = self.conv2(out)
+ out = self.bn2(out)
+ out = self.relu(out)
+
+ out = self.conv3(out)
+ out = self.bn3(out)
+
+ if self.downsample is not None:
+ residual = self.downsample(x)
+
+ out += residual
+
+ return out
+
+ if self.with_cp and x.requires_grad:
+ out = cp.checkpoint(_inner_forward, x)
+ else:
+ out = _inner_forward(x)
+
+ out = self.relu(out)
+
+ return out
+
+
+def make_res_layer(block,
+ inplanes,
+ planes,
+ blocks,
+ stride=1,
+ dilation=1,
+ style='pytorch',
+ with_cp=False):
+ downsample = None
+ if stride != 1 or inplanes != planes * block.expansion:
+ downsample = nn.Sequential(
+ nn.Conv2d(
+ inplanes,
+ planes * block.expansion,
+ kernel_size=1,
+ stride=stride,
+ bias=False),
+ nn.BatchNorm2d(planes * block.expansion),
+ )
+
+ layers = []
+ layers.append(
+ block(
+ inplanes,
+ planes,
+ stride,
+ dilation,
+ downsample,
+ style=style,
+ with_cp=with_cp))
+ inplanes = planes * block.expansion
+ for _ in range(1, blocks):
+ layers.append(
+ block(inplanes, planes, 1, dilation, style=style, with_cp=with_cp))
+
+ return nn.Sequential(*layers)
+
+
+class ResNet(nn.Module):
+ """ResNet backbone.
+
+ Args:
+ depth (int): Depth of resnet, from {18, 34, 50, 101, 152}.
+ num_stages (int): Resnet stages, normally 4.
+ strides (Sequence[int]): Strides of the first block of each stage.
+ dilations (Sequence[int]): Dilation of each stage.
+ out_indices (Sequence[int]): Output from which stages.
+ style (str): `pytorch` or `caffe`. If set to "pytorch", the stride-two
+ layer is the 3x3 conv layer, otherwise the stride-two layer is
+ the first 1x1 conv layer.
+ frozen_stages (int): Stages to be frozen (all param fixed). -1 means
+ not freezing any parameters.
+ bn_eval (bool): Whether to set BN layers as eval mode, namely, freeze
+ running stats (mean and var).
+ bn_frozen (bool): Whether to freeze weight and bias of BN layers.
+ with_cp (bool): Use checkpoint or not. Using checkpoint will save some
+ memory while slowing down the training speed.
+ """
+
+ arch_settings = {
+ 18: (BasicBlock, (2, 2, 2, 2)),
+ 34: (BasicBlock, (3, 4, 6, 3)),
+ 50: (Bottleneck, (3, 4, 6, 3)),
+ 101: (Bottleneck, (3, 4, 23, 3)),
+ 152: (Bottleneck, (3, 8, 36, 3))
+ }
+
+ def __init__(self,
+ depth,
+ num_stages=4,
+ strides=(1, 2, 2, 2),
+ dilations=(1, 1, 1, 1),
+ out_indices=(0, 1, 2, 3),
+ style='pytorch',
+ frozen_stages=-1,
+ bn_eval=True,
+ bn_frozen=False,
+ with_cp=False):
+ super(ResNet, self).__init__()
+ if depth not in self.arch_settings:
+ raise KeyError(f'invalid depth {depth} for resnet')
+ assert num_stages >= 1 and num_stages <= 4
+ block, stage_blocks = self.arch_settings[depth]
+ stage_blocks = stage_blocks[:num_stages]
+ assert len(strides) == len(dilations) == num_stages
+ assert max(out_indices) < num_stages
+
+ self.out_indices = out_indices
+ self.style = style
+ self.frozen_stages = frozen_stages
+ self.bn_eval = bn_eval
+ self.bn_frozen = bn_frozen
+ self.with_cp = with_cp
+
+ self.inplanes = 64
+ self.conv1 = nn.Conv2d(
+ 3, 64, kernel_size=7, stride=2, padding=3, bias=False)
+ self.bn1 = nn.BatchNorm2d(64)
+ self.relu = nn.ReLU(inplace=True)
+ self.maxpool = nn.MaxPool2d(kernel_size=3, stride=2, padding=1)
+
+ self.res_layers = []
+ for i, num_blocks in enumerate(stage_blocks):
+ stride = strides[i]
+ dilation = dilations[i]
+ planes = 64 * 2**i
+ res_layer = make_res_layer(
+ block,
+ self.inplanes,
+ planes,
+ num_blocks,
+ stride=stride,
+ dilation=dilation,
+ style=self.style,
+ with_cp=with_cp)
+ self.inplanes = planes * block.expansion
+ layer_name = f'layer{i + 1}'
+ self.add_module(layer_name, res_layer)
+ self.res_layers.append(layer_name)
+
+ self.feat_dim = block.expansion * 64 * 2**(len(stage_blocks) - 1)
+
+ def init_weights(self, pretrained=None):
+ if isinstance(pretrained, str):
+ logger = logging.getLogger()
+ from ..runner import load_checkpoint
+ load_checkpoint(self, pretrained, strict=False, logger=logger)
+ elif pretrained is None:
+ for m in self.modules():
+ if isinstance(m, nn.Conv2d):
+ kaiming_init(m)
+ elif isinstance(m, nn.BatchNorm2d):
+ constant_init(m, 1)
+ else:
+ raise TypeError('pretrained must be a str or None')
+
+ def forward(self, x):
+ x = self.conv1(x)
+ x = self.bn1(x)
+ x = self.relu(x)
+ x = self.maxpool(x)
+ outs = []
+ for i, layer_name in enumerate(self.res_layers):
+ res_layer = getattr(self, layer_name)
+ x = res_layer(x)
+ if i in self.out_indices:
+ outs.append(x)
+ if len(outs) == 1:
+ return outs[0]
+ else:
+ return tuple(outs)
+
+ def train(self, mode=True):
+ super(ResNet, self).train(mode)
+ if self.bn_eval:
+ for m in self.modules():
+ if isinstance(m, nn.BatchNorm2d):
+ m.eval()
+ if self.bn_frozen:
+ for params in m.parameters():
+ params.requires_grad = False
+ if mode and self.frozen_stages >= 0:
+ for param in self.conv1.parameters():
+ param.requires_grad = False
+ for param in self.bn1.parameters():
+ param.requires_grad = False
+ self.bn1.eval()
+ self.bn1.weight.requires_grad = False
+ self.bn1.bias.requires_grad = False
+ for i in range(1, self.frozen_stages + 1):
+ mod = getattr(self, f'layer{i}')
+ mod.eval()
+ for param in mod.parameters():
+ param.requires_grad = False
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/utils/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/utils/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..a263e31c1e3977712827ca229bbc04910b4e928e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/utils/__init__.py
@@ -0,0 +1,19 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from .flops_counter import get_model_complexity_info
+from .fuse_conv_bn import fuse_conv_bn
+from .sync_bn import revert_sync_batchnorm
+from .weight_init import (INITIALIZERS, Caffe2XavierInit, ConstantInit,
+ KaimingInit, NormalInit, PretrainedInit,
+ TruncNormalInit, UniformInit, XavierInit,
+ bias_init_with_prob, caffe2_xavier_init,
+ constant_init, initialize, kaiming_init, normal_init,
+ trunc_normal_init, uniform_init, xavier_init)
+
+__all__ = [
+ 'get_model_complexity_info', 'bias_init_with_prob', 'caffe2_xavier_init',
+ 'constant_init', 'kaiming_init', 'normal_init', 'trunc_normal_init',
+ 'uniform_init', 'xavier_init', 'fuse_conv_bn', 'initialize',
+ 'INITIALIZERS', 'ConstantInit', 'XavierInit', 'NormalInit',
+ 'TruncNormalInit', 'UniformInit', 'KaimingInit', 'PretrainedInit',
+ 'Caffe2XavierInit', 'revert_sync_batchnorm'
+]
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/utils/flops_counter.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/utils/flops_counter.py
new file mode 100644
index 0000000000000000000000000000000000000000..104240bfa524af727782ceb781147c5815529ee6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/utils/flops_counter.py
@@ -0,0 +1,599 @@
+# Modified from flops-counter.pytorch by Vladislav Sovrasov
+# original repo: https://github.com/sovrasov/flops-counter.pytorch
+
+# MIT License
+
+# Copyright (c) 2018 Vladislav Sovrasov
+
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+# SOFTWARE.
+
+import sys
+from functools import partial
+
+import numpy as np
+import torch
+import torch.nn as nn
+
+import annotator.mmpkg.mmcv as mmcv
+
+
+def get_model_complexity_info(model,
+ input_shape,
+ print_per_layer_stat=True,
+ as_strings=True,
+ input_constructor=None,
+ flush=False,
+ ost=sys.stdout):
+ """Get complexity information of a model.
+
+ This method can calculate FLOPs and parameter counts of a model with
+ corresponding input shape. It can also print complexity information for
+ each layer in a model.
+
+ Supported layers are listed as below:
+ - Convolutions: ``nn.Conv1d``, ``nn.Conv2d``, ``nn.Conv3d``.
+ - Activations: ``nn.ReLU``, ``nn.PReLU``, ``nn.ELU``, ``nn.LeakyReLU``,
+ ``nn.ReLU6``.
+ - Poolings: ``nn.MaxPool1d``, ``nn.MaxPool2d``, ``nn.MaxPool3d``,
+ ``nn.AvgPool1d``, ``nn.AvgPool2d``, ``nn.AvgPool3d``,
+ ``nn.AdaptiveMaxPool1d``, ``nn.AdaptiveMaxPool2d``,
+ ``nn.AdaptiveMaxPool3d``, ``nn.AdaptiveAvgPool1d``,
+ ``nn.AdaptiveAvgPool2d``, ``nn.AdaptiveAvgPool3d``.
+ - BatchNorms: ``nn.BatchNorm1d``, ``nn.BatchNorm2d``,
+ ``nn.BatchNorm3d``, ``nn.GroupNorm``, ``nn.InstanceNorm1d``,
+ ``InstanceNorm2d``, ``InstanceNorm3d``, ``nn.LayerNorm``.
+ - Linear: ``nn.Linear``.
+ - Deconvolution: ``nn.ConvTranspose2d``.
+ - Upsample: ``nn.Upsample``.
+
+ Args:
+ model (nn.Module): The model for complexity calculation.
+ input_shape (tuple): Input shape used for calculation.
+ print_per_layer_stat (bool): Whether to print complexity information
+ for each layer in a model. Default: True.
+ as_strings (bool): Output FLOPs and params counts in a string form.
+ Default: True.
+ input_constructor (None | callable): If specified, it takes a callable
+ method that generates input. otherwise, it will generate a random
+ tensor with input shape to calculate FLOPs. Default: None.
+ flush (bool): same as that in :func:`print`. Default: False.
+ ost (stream): same as ``file`` param in :func:`print`.
+ Default: sys.stdout.
+
+ Returns:
+ tuple[float | str]: If ``as_strings`` is set to True, it will return
+ FLOPs and parameter counts in a string format. otherwise, it will
+ return those in a float number format.
+ """
+ assert type(input_shape) is tuple
+ assert len(input_shape) >= 1
+ assert isinstance(model, nn.Module)
+ flops_model = add_flops_counting_methods(model)
+ flops_model.eval()
+ flops_model.start_flops_count()
+ if input_constructor:
+ input = input_constructor(input_shape)
+ _ = flops_model(**input)
+ else:
+ try:
+ batch = torch.ones(()).new_empty(
+ (1, *input_shape),
+ dtype=next(flops_model.parameters()).dtype,
+ device=next(flops_model.parameters()).device)
+ except StopIteration:
+ # Avoid StopIteration for models which have no parameters,
+ # like `nn.Relu()`, `nn.AvgPool2d`, etc.
+ batch = torch.ones(()).new_empty((1, *input_shape))
+
+ _ = flops_model(batch)
+
+ flops_count, params_count = flops_model.compute_average_flops_cost()
+ if print_per_layer_stat:
+ print_model_with_flops(
+ flops_model, flops_count, params_count, ost=ost, flush=flush)
+ flops_model.stop_flops_count()
+
+ if as_strings:
+ return flops_to_string(flops_count), params_to_string(params_count)
+
+ return flops_count, params_count
+
+
+def flops_to_string(flops, units='GFLOPs', precision=2):
+ """Convert FLOPs number into a string.
+
+ Note that Here we take a multiply-add counts as one FLOP.
+
+ Args:
+ flops (float): FLOPs number to be converted.
+ units (str | None): Converted FLOPs units. Options are None, 'GFLOPs',
+ 'MFLOPs', 'KFLOPs', 'FLOPs'. If set to None, it will automatically
+ choose the most suitable unit for FLOPs. Default: 'GFLOPs'.
+ precision (int): Digit number after the decimal point. Default: 2.
+
+ Returns:
+ str: The converted FLOPs number with units.
+
+ Examples:
+ >>> flops_to_string(1e9)
+ '1.0 GFLOPs'
+ >>> flops_to_string(2e5, 'MFLOPs')
+ '0.2 MFLOPs'
+ >>> flops_to_string(3e-9, None)
+ '3e-09 FLOPs'
+ """
+ if units is None:
+ if flops // 10**9 > 0:
+ return str(round(flops / 10.**9, precision)) + ' GFLOPs'
+ elif flops // 10**6 > 0:
+ return str(round(flops / 10.**6, precision)) + ' MFLOPs'
+ elif flops // 10**3 > 0:
+ return str(round(flops / 10.**3, precision)) + ' KFLOPs'
+ else:
+ return str(flops) + ' FLOPs'
+ else:
+ if units == 'GFLOPs':
+ return str(round(flops / 10.**9, precision)) + ' ' + units
+ elif units == 'MFLOPs':
+ return str(round(flops / 10.**6, precision)) + ' ' + units
+ elif units == 'KFLOPs':
+ return str(round(flops / 10.**3, precision)) + ' ' + units
+ else:
+ return str(flops) + ' FLOPs'
+
+
+def params_to_string(num_params, units=None, precision=2):
+ """Convert parameter number into a string.
+
+ Args:
+ num_params (float): Parameter number to be converted.
+ units (str | None): Converted FLOPs units. Options are None, 'M',
+ 'K' and ''. If set to None, it will automatically choose the most
+ suitable unit for Parameter number. Default: None.
+ precision (int): Digit number after the decimal point. Default: 2.
+
+ Returns:
+ str: The converted parameter number with units.
+
+ Examples:
+ >>> params_to_string(1e9)
+ '1000.0 M'
+ >>> params_to_string(2e5)
+ '200.0 k'
+ >>> params_to_string(3e-9)
+ '3e-09'
+ """
+ if units is None:
+ if num_params // 10**6 > 0:
+ return str(round(num_params / 10**6, precision)) + ' M'
+ elif num_params // 10**3:
+ return str(round(num_params / 10**3, precision)) + ' k'
+ else:
+ return str(num_params)
+ else:
+ if units == 'M':
+ return str(round(num_params / 10.**6, precision)) + ' ' + units
+ elif units == 'K':
+ return str(round(num_params / 10.**3, precision)) + ' ' + units
+ else:
+ return str(num_params)
+
+
+def print_model_with_flops(model,
+ total_flops,
+ total_params,
+ units='GFLOPs',
+ precision=3,
+ ost=sys.stdout,
+ flush=False):
+ """Print a model with FLOPs for each layer.
+
+ Args:
+ model (nn.Module): The model to be printed.
+ total_flops (float): Total FLOPs of the model.
+ total_params (float): Total parameter counts of the model.
+ units (str | None): Converted FLOPs units. Default: 'GFLOPs'.
+ precision (int): Digit number after the decimal point. Default: 3.
+ ost (stream): same as `file` param in :func:`print`.
+ Default: sys.stdout.
+ flush (bool): same as that in :func:`print`. Default: False.
+
+ Example:
+ >>> class ExampleModel(nn.Module):
+
+ >>> def __init__(self):
+ >>> super().__init__()
+ >>> self.conv1 = nn.Conv2d(3, 8, 3)
+ >>> self.conv2 = nn.Conv2d(8, 256, 3)
+ >>> self.conv3 = nn.Conv2d(256, 8, 3)
+ >>> self.avg_pool = nn.AdaptiveAvgPool2d((1, 1))
+ >>> self.flatten = nn.Flatten()
+ >>> self.fc = nn.Linear(8, 1)
+
+ >>> def forward(self, x):
+ >>> x = self.conv1(x)
+ >>> x = self.conv2(x)
+ >>> x = self.conv3(x)
+ >>> x = self.avg_pool(x)
+ >>> x = self.flatten(x)
+ >>> x = self.fc(x)
+ >>> return x
+
+ >>> model = ExampleModel()
+ >>> x = (3, 16, 16)
+ to print the complexity information state for each layer, you can use
+ >>> get_model_complexity_info(model, x)
+ or directly use
+ >>> print_model_with_flops(model, 4579784.0, 37361)
+ ExampleModel(
+ 0.037 M, 100.000% Params, 0.005 GFLOPs, 100.000% FLOPs,
+ (conv1): Conv2d(0.0 M, 0.600% Params, 0.0 GFLOPs, 0.959% FLOPs, 3, 8, kernel_size=(3, 3), stride=(1, 1)) # noqa: E501
+ (conv2): Conv2d(0.019 M, 50.020% Params, 0.003 GFLOPs, 58.760% FLOPs, 8, 256, kernel_size=(3, 3), stride=(1, 1))
+ (conv3): Conv2d(0.018 M, 49.356% Params, 0.002 GFLOPs, 40.264% FLOPs, 256, 8, kernel_size=(3, 3), stride=(1, 1))
+ (avg_pool): AdaptiveAvgPool2d(0.0 M, 0.000% Params, 0.0 GFLOPs, 0.017% FLOPs, output_size=(1, 1))
+ (flatten): Flatten(0.0 M, 0.000% Params, 0.0 GFLOPs, 0.000% FLOPs, )
+ (fc): Linear(0.0 M, 0.024% Params, 0.0 GFLOPs, 0.000% FLOPs, in_features=8, out_features=1, bias=True)
+ )
+ """
+
+ def accumulate_params(self):
+ if is_supported_instance(self):
+ return self.__params__
+ else:
+ sum = 0
+ for m in self.children():
+ sum += m.accumulate_params()
+ return sum
+
+ def accumulate_flops(self):
+ if is_supported_instance(self):
+ return self.__flops__ / model.__batch_counter__
+ else:
+ sum = 0
+ for m in self.children():
+ sum += m.accumulate_flops()
+ return sum
+
+ def flops_repr(self):
+ accumulated_num_params = self.accumulate_params()
+ accumulated_flops_cost = self.accumulate_flops()
+ return ', '.join([
+ params_to_string(
+ accumulated_num_params, units='M', precision=precision),
+ '{:.3%} Params'.format(accumulated_num_params / total_params),
+ flops_to_string(
+ accumulated_flops_cost, units=units, precision=precision),
+ '{:.3%} FLOPs'.format(accumulated_flops_cost / total_flops),
+ self.original_extra_repr()
+ ])
+
+ def add_extra_repr(m):
+ m.accumulate_flops = accumulate_flops.__get__(m)
+ m.accumulate_params = accumulate_params.__get__(m)
+ flops_extra_repr = flops_repr.__get__(m)
+ if m.extra_repr != flops_extra_repr:
+ m.original_extra_repr = m.extra_repr
+ m.extra_repr = flops_extra_repr
+ assert m.extra_repr != m.original_extra_repr
+
+ def del_extra_repr(m):
+ if hasattr(m, 'original_extra_repr'):
+ m.extra_repr = m.original_extra_repr
+ del m.original_extra_repr
+ if hasattr(m, 'accumulate_flops'):
+ del m.accumulate_flops
+
+ model.apply(add_extra_repr)
+ print(model, file=ost, flush=flush)
+ model.apply(del_extra_repr)
+
+
+def get_model_parameters_number(model):
+ """Calculate parameter number of a model.
+
+ Args:
+ model (nn.module): The model for parameter number calculation.
+
+ Returns:
+ float: Parameter number of the model.
+ """
+ num_params = sum(p.numel() for p in model.parameters() if p.requires_grad)
+ return num_params
+
+
+def add_flops_counting_methods(net_main_module):
+ # adding additional methods to the existing module object,
+ # this is done this way so that each function has access to self object
+ net_main_module.start_flops_count = start_flops_count.__get__(
+ net_main_module)
+ net_main_module.stop_flops_count = stop_flops_count.__get__(
+ net_main_module)
+ net_main_module.reset_flops_count = reset_flops_count.__get__(
+ net_main_module)
+ net_main_module.compute_average_flops_cost = compute_average_flops_cost.__get__( # noqa: E501
+ net_main_module)
+
+ net_main_module.reset_flops_count()
+
+ return net_main_module
+
+
+def compute_average_flops_cost(self):
+ """Compute average FLOPs cost.
+
+ A method to compute average FLOPs cost, which will be available after
+ `add_flops_counting_methods()` is called on a desired net object.
+
+ Returns:
+ float: Current mean flops consumption per image.
+ """
+ batches_count = self.__batch_counter__
+ flops_sum = 0
+ for module in self.modules():
+ if is_supported_instance(module):
+ flops_sum += module.__flops__
+ params_sum = get_model_parameters_number(self)
+ return flops_sum / batches_count, params_sum
+
+
+def start_flops_count(self):
+ """Activate the computation of mean flops consumption per image.
+
+ A method to activate the computation of mean flops consumption per image.
+ which will be available after ``add_flops_counting_methods()`` is called on
+ a desired net object. It should be called before running the network.
+ """
+ add_batch_counter_hook_function(self)
+
+ def add_flops_counter_hook_function(module):
+ if is_supported_instance(module):
+ if hasattr(module, '__flops_handle__'):
+ return
+
+ else:
+ handle = module.register_forward_hook(
+ get_modules_mapping()[type(module)])
+
+ module.__flops_handle__ = handle
+
+ self.apply(partial(add_flops_counter_hook_function))
+
+
+def stop_flops_count(self):
+ """Stop computing the mean flops consumption per image.
+
+ A method to stop computing the mean flops consumption per image, which will
+ be available after ``add_flops_counting_methods()`` is called on a desired
+ net object. It can be called to pause the computation whenever.
+ """
+ remove_batch_counter_hook_function(self)
+ self.apply(remove_flops_counter_hook_function)
+
+
+def reset_flops_count(self):
+ """Reset statistics computed so far.
+
+ A method to Reset computed statistics, which will be available after
+ `add_flops_counting_methods()` is called on a desired net object.
+ """
+ add_batch_counter_variables_or_reset(self)
+ self.apply(add_flops_counter_variable_or_reset)
+
+
+# ---- Internal functions
+def empty_flops_counter_hook(module, input, output):
+ module.__flops__ += 0
+
+
+def upsample_flops_counter_hook(module, input, output):
+ output_size = output[0]
+ batch_size = output_size.shape[0]
+ output_elements_count = batch_size
+ for val in output_size.shape[1:]:
+ output_elements_count *= val
+ module.__flops__ += int(output_elements_count)
+
+
+def relu_flops_counter_hook(module, input, output):
+ active_elements_count = output.numel()
+ module.__flops__ += int(active_elements_count)
+
+
+def linear_flops_counter_hook(module, input, output):
+ input = input[0]
+ output_last_dim = output.shape[
+ -1] # pytorch checks dimensions, so here we don't care much
+ module.__flops__ += int(np.prod(input.shape) * output_last_dim)
+
+
+def pool_flops_counter_hook(module, input, output):
+ input = input[0]
+ module.__flops__ += int(np.prod(input.shape))
+
+
+def norm_flops_counter_hook(module, input, output):
+ input = input[0]
+
+ batch_flops = np.prod(input.shape)
+ if (getattr(module, 'affine', False)
+ or getattr(module, 'elementwise_affine', False)):
+ batch_flops *= 2
+ module.__flops__ += int(batch_flops)
+
+
+def deconv_flops_counter_hook(conv_module, input, output):
+ # Can have multiple inputs, getting the first one
+ input = input[0]
+
+ batch_size = input.shape[0]
+ input_height, input_width = input.shape[2:]
+
+ kernel_height, kernel_width = conv_module.kernel_size
+ in_channels = conv_module.in_channels
+ out_channels = conv_module.out_channels
+ groups = conv_module.groups
+
+ filters_per_channel = out_channels // groups
+ conv_per_position_flops = (
+ kernel_height * kernel_width * in_channels * filters_per_channel)
+
+ active_elements_count = batch_size * input_height * input_width
+ overall_conv_flops = conv_per_position_flops * active_elements_count
+ bias_flops = 0
+ if conv_module.bias is not None:
+ output_height, output_width = output.shape[2:]
+ bias_flops = out_channels * batch_size * output_height * output_height
+ overall_flops = overall_conv_flops + bias_flops
+
+ conv_module.__flops__ += int(overall_flops)
+
+
+def conv_flops_counter_hook(conv_module, input, output):
+ # Can have multiple inputs, getting the first one
+ input = input[0]
+
+ batch_size = input.shape[0]
+ output_dims = list(output.shape[2:])
+
+ kernel_dims = list(conv_module.kernel_size)
+ in_channels = conv_module.in_channels
+ out_channels = conv_module.out_channels
+ groups = conv_module.groups
+
+ filters_per_channel = out_channels // groups
+ conv_per_position_flops = int(
+ np.prod(kernel_dims)) * in_channels * filters_per_channel
+
+ active_elements_count = batch_size * int(np.prod(output_dims))
+
+ overall_conv_flops = conv_per_position_flops * active_elements_count
+
+ bias_flops = 0
+
+ if conv_module.bias is not None:
+
+ bias_flops = out_channels * active_elements_count
+
+ overall_flops = overall_conv_flops + bias_flops
+
+ conv_module.__flops__ += int(overall_flops)
+
+
+def batch_counter_hook(module, input, output):
+ batch_size = 1
+ if len(input) > 0:
+ # Can have multiple inputs, getting the first one
+ input = input[0]
+ batch_size = len(input)
+ else:
+ pass
+ print('Warning! No positional inputs found for a module, '
+ 'assuming batch size is 1.')
+ module.__batch_counter__ += batch_size
+
+
+def add_batch_counter_variables_or_reset(module):
+
+ module.__batch_counter__ = 0
+
+
+def add_batch_counter_hook_function(module):
+ if hasattr(module, '__batch_counter_handle__'):
+ return
+
+ handle = module.register_forward_hook(batch_counter_hook)
+ module.__batch_counter_handle__ = handle
+
+
+def remove_batch_counter_hook_function(module):
+ if hasattr(module, '__batch_counter_handle__'):
+ module.__batch_counter_handle__.remove()
+ del module.__batch_counter_handle__
+
+
+def add_flops_counter_variable_or_reset(module):
+ if is_supported_instance(module):
+ if hasattr(module, '__flops__') or hasattr(module, '__params__'):
+ print('Warning: variables __flops__ or __params__ are already '
+ 'defined for the module' + type(module).__name__ +
+ ' ptflops can affect your code!')
+ module.__flops__ = 0
+ module.__params__ = get_model_parameters_number(module)
+
+
+def is_supported_instance(module):
+ if type(module) in get_modules_mapping():
+ return True
+ return False
+
+
+def remove_flops_counter_hook_function(module):
+ if is_supported_instance(module):
+ if hasattr(module, '__flops_handle__'):
+ module.__flops_handle__.remove()
+ del module.__flops_handle__
+
+
+def get_modules_mapping():
+ return {
+ # convolutions
+ nn.Conv1d: conv_flops_counter_hook,
+ nn.Conv2d: conv_flops_counter_hook,
+ mmcv.cnn.bricks.Conv2d: conv_flops_counter_hook,
+ nn.Conv3d: conv_flops_counter_hook,
+ mmcv.cnn.bricks.Conv3d: conv_flops_counter_hook,
+ # activations
+ nn.ReLU: relu_flops_counter_hook,
+ nn.PReLU: relu_flops_counter_hook,
+ nn.ELU: relu_flops_counter_hook,
+ nn.LeakyReLU: relu_flops_counter_hook,
+ nn.ReLU6: relu_flops_counter_hook,
+ # poolings
+ nn.MaxPool1d: pool_flops_counter_hook,
+ nn.AvgPool1d: pool_flops_counter_hook,
+ nn.AvgPool2d: pool_flops_counter_hook,
+ nn.MaxPool2d: pool_flops_counter_hook,
+ mmcv.cnn.bricks.MaxPool2d: pool_flops_counter_hook,
+ nn.MaxPool3d: pool_flops_counter_hook,
+ mmcv.cnn.bricks.MaxPool3d: pool_flops_counter_hook,
+ nn.AvgPool3d: pool_flops_counter_hook,
+ nn.AdaptiveMaxPool1d: pool_flops_counter_hook,
+ nn.AdaptiveAvgPool1d: pool_flops_counter_hook,
+ nn.AdaptiveMaxPool2d: pool_flops_counter_hook,
+ nn.AdaptiveAvgPool2d: pool_flops_counter_hook,
+ nn.AdaptiveMaxPool3d: pool_flops_counter_hook,
+ nn.AdaptiveAvgPool3d: pool_flops_counter_hook,
+ # normalizations
+ nn.BatchNorm1d: norm_flops_counter_hook,
+ nn.BatchNorm2d: norm_flops_counter_hook,
+ nn.BatchNorm3d: norm_flops_counter_hook,
+ nn.GroupNorm: norm_flops_counter_hook,
+ nn.InstanceNorm1d: norm_flops_counter_hook,
+ nn.InstanceNorm2d: norm_flops_counter_hook,
+ nn.InstanceNorm3d: norm_flops_counter_hook,
+ nn.LayerNorm: norm_flops_counter_hook,
+ # FC
+ nn.Linear: linear_flops_counter_hook,
+ mmcv.cnn.bricks.Linear: linear_flops_counter_hook,
+ # Upscale
+ nn.Upsample: upsample_flops_counter_hook,
+ # Deconvolution
+ nn.ConvTranspose2d: deconv_flops_counter_hook,
+ mmcv.cnn.bricks.ConvTranspose2d: deconv_flops_counter_hook,
+ }
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/utils/fuse_conv_bn.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/utils/fuse_conv_bn.py
new file mode 100644
index 0000000000000000000000000000000000000000..cb7076f80bf37f7931185bf0293ffcc1ce19c8ef
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/utils/fuse_conv_bn.py
@@ -0,0 +1,59 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import torch
+import torch.nn as nn
+
+
+def _fuse_conv_bn(conv, bn):
+ """Fuse conv and bn into one module.
+
+ Args:
+ conv (nn.Module): Conv to be fused.
+ bn (nn.Module): BN to be fused.
+
+ Returns:
+ nn.Module: Fused module.
+ """
+ conv_w = conv.weight
+ conv_b = conv.bias if conv.bias is not None else torch.zeros_like(
+ bn.running_mean)
+
+ factor = bn.weight / torch.sqrt(bn.running_var + bn.eps)
+ conv.weight = nn.Parameter(conv_w *
+ factor.reshape([conv.out_channels, 1, 1, 1]))
+ conv.bias = nn.Parameter((conv_b - bn.running_mean) * factor + bn.bias)
+ return conv
+
+
+def fuse_conv_bn(module):
+ """Recursively fuse conv and bn in a module.
+
+ During inference, the functionary of batch norm layers is turned off
+ but only the mean and var alone channels are used, which exposes the
+ chance to fuse it with the preceding conv layers to save computations and
+ simplify network structures.
+
+ Args:
+ module (nn.Module): Module to be fused.
+
+ Returns:
+ nn.Module: Fused module.
+ """
+ last_conv = None
+ last_conv_name = None
+
+ for name, child in module.named_children():
+ if isinstance(child,
+ (nn.modules.batchnorm._BatchNorm, nn.SyncBatchNorm)):
+ if last_conv is None: # only fuse BN that is after Conv
+ continue
+ fused_conv = _fuse_conv_bn(last_conv, child)
+ module._modules[last_conv_name] = fused_conv
+ # To reduce changes, set BN as Identity instead of deleting it.
+ module._modules[name] = nn.Identity()
+ last_conv = None
+ elif isinstance(child, nn.Conv2d):
+ last_conv = child
+ last_conv_name = name
+ else:
+ fuse_conv_bn(child)
+ return module
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/utils/sync_bn.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/utils/sync_bn.py
new file mode 100644
index 0000000000000000000000000000000000000000..c0dbcb1b167ea0df690c0f47fe0217a3454b5d59
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/utils/sync_bn.py
@@ -0,0 +1,59 @@
+import torch
+
+import annotator.mmpkg.mmcv as mmcv
+
+
+class _BatchNormXd(torch.nn.modules.batchnorm._BatchNorm):
+ """A general BatchNorm layer without input dimension check.
+
+ Reproduced from @kapily's work:
+ (https://github.com/pytorch/pytorch/issues/41081#issuecomment-783961547)
+ The only difference between BatchNorm1d, BatchNorm2d, BatchNorm3d, etc
+ is `_check_input_dim` that is designed for tensor sanity checks.
+ The check has been bypassed in this class for the convenience of converting
+ SyncBatchNorm.
+ """
+
+ def _check_input_dim(self, input):
+ return
+
+
+def revert_sync_batchnorm(module):
+ """Helper function to convert all `SyncBatchNorm` (SyncBN) and
+ `mmcv.ops.sync_bn.SyncBatchNorm`(MMSyncBN) layers in the model to
+ `BatchNormXd` layers.
+
+ Adapted from @kapily's work:
+ (https://github.com/pytorch/pytorch/issues/41081#issuecomment-783961547)
+
+ Args:
+ module (nn.Module): The module containing `SyncBatchNorm` layers.
+
+ Returns:
+ module_output: The converted module with `BatchNormXd` layers.
+ """
+ module_output = module
+ module_checklist = [torch.nn.modules.batchnorm.SyncBatchNorm]
+ if hasattr(mmcv, 'ops'):
+ module_checklist.append(mmcv.ops.SyncBatchNorm)
+ if isinstance(module, tuple(module_checklist)):
+ module_output = _BatchNormXd(module.num_features, module.eps,
+ module.momentum, module.affine,
+ module.track_running_stats)
+ if module.affine:
+ # no_grad() may not be needed here but
+ # just to be consistent with `convert_sync_batchnorm()`
+ with torch.no_grad():
+ module_output.weight = module.weight
+ module_output.bias = module.bias
+ module_output.running_mean = module.running_mean
+ module_output.running_var = module.running_var
+ module_output.num_batches_tracked = module.num_batches_tracked
+ module_output.training = module.training
+ # qconfig exists in quantized models
+ if hasattr(module, 'qconfig'):
+ module_output.qconfig = module.qconfig
+ for name, child in module.named_children():
+ module_output.add_module(name, revert_sync_batchnorm(child))
+ del module
+ return module_output
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/utils/weight_init.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/utils/weight_init.py
new file mode 100644
index 0000000000000000000000000000000000000000..096d0ddcccbec84675f0771cb546d0fa003417e7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/utils/weight_init.py
@@ -0,0 +1,684 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import copy
+import math
+import warnings
+
+import numpy as np
+import torch
+import torch.nn as nn
+from torch import Tensor
+
+from annotator.mmpkg.mmcv.utils import Registry, build_from_cfg, get_logger, print_log
+
+INITIALIZERS = Registry('initializer')
+
+
+def update_init_info(module, init_info):
+ """Update the `_params_init_info` in the module if the value of parameters
+ are changed.
+
+ Args:
+ module (obj:`nn.Module`): The module of PyTorch with a user-defined
+ attribute `_params_init_info` which records the initialization
+ information.
+ init_info (str): The string that describes the initialization.
+ """
+ assert hasattr(
+ module,
+ '_params_init_info'), f'Can not find `_params_init_info` in {module}'
+ for name, param in module.named_parameters():
+
+ assert param in module._params_init_info, (
+ f'Find a new :obj:`Parameter` '
+ f'named `{name}` during executing the '
+ f'`init_weights` of '
+ f'`{module.__class__.__name__}`. '
+ f'Please do not add or '
+ f'replace parameters during executing '
+ f'the `init_weights`. ')
+
+ # The parameter has been changed during executing the
+ # `init_weights` of module
+ mean_value = param.data.mean()
+ if module._params_init_info[param]['tmp_mean_value'] != mean_value:
+ module._params_init_info[param]['init_info'] = init_info
+ module._params_init_info[param]['tmp_mean_value'] = mean_value
+
+
+def constant_init(module, val, bias=0):
+ if hasattr(module, 'weight') and module.weight is not None:
+ nn.init.constant_(module.weight, val)
+ if hasattr(module, 'bias') and module.bias is not None:
+ nn.init.constant_(module.bias, bias)
+
+
+def xavier_init(module, gain=1, bias=0, distribution='normal'):
+ assert distribution in ['uniform', 'normal']
+ if hasattr(module, 'weight') and module.weight is not None:
+ if distribution == 'uniform':
+ nn.init.xavier_uniform_(module.weight, gain=gain)
+ else:
+ nn.init.xavier_normal_(module.weight, gain=gain)
+ if hasattr(module, 'bias') and module.bias is not None:
+ nn.init.constant_(module.bias, bias)
+
+
+def normal_init(module, mean=0, std=1, bias=0):
+ if hasattr(module, 'weight') and module.weight is not None:
+ nn.init.normal_(module.weight, mean, std)
+ if hasattr(module, 'bias') and module.bias is not None:
+ nn.init.constant_(module.bias, bias)
+
+
+def trunc_normal_init(module: nn.Module,
+ mean: float = 0,
+ std: float = 1,
+ a: float = -2,
+ b: float = 2,
+ bias: float = 0) -> None:
+ if hasattr(module, 'weight') and module.weight is not None:
+ trunc_normal_(module.weight, mean, std, a, b) # type: ignore
+ if hasattr(module, 'bias') and module.bias is not None:
+ nn.init.constant_(module.bias, bias) # type: ignore
+
+
+def uniform_init(module, a=0, b=1, bias=0):
+ if hasattr(module, 'weight') and module.weight is not None:
+ nn.init.uniform_(module.weight, a, b)
+ if hasattr(module, 'bias') and module.bias is not None:
+ nn.init.constant_(module.bias, bias)
+
+
+def kaiming_init(module,
+ a=0,
+ mode='fan_out',
+ nonlinearity='relu',
+ bias=0,
+ distribution='normal'):
+ assert distribution in ['uniform', 'normal']
+ if hasattr(module, 'weight') and module.weight is not None:
+ if distribution == 'uniform':
+ nn.init.kaiming_uniform_(
+ module.weight, a=a, mode=mode, nonlinearity=nonlinearity)
+ else:
+ nn.init.kaiming_normal_(
+ module.weight, a=a, mode=mode, nonlinearity=nonlinearity)
+ if hasattr(module, 'bias') and module.bias is not None:
+ nn.init.constant_(module.bias, bias)
+
+
+def caffe2_xavier_init(module, bias=0):
+ # `XavierFill` in Caffe2 corresponds to `kaiming_uniform_` in PyTorch
+ # Acknowledgment to FAIR's internal code
+ kaiming_init(
+ module,
+ a=1,
+ mode='fan_in',
+ nonlinearity='leaky_relu',
+ bias=bias,
+ distribution='uniform')
+
+
+def bias_init_with_prob(prior_prob):
+ """initialize conv/fc bias value according to a given probability value."""
+ bias_init = float(-np.log((1 - prior_prob) / prior_prob))
+ return bias_init
+
+
+def _get_bases_name(m):
+ return [b.__name__ for b in m.__class__.__bases__]
+
+
+class BaseInit(object):
+
+ def __init__(self, *, bias=0, bias_prob=None, layer=None):
+ self.wholemodule = False
+ if not isinstance(bias, (int, float)):
+ raise TypeError(f'bias must be a number, but got a {type(bias)}')
+
+ if bias_prob is not None:
+ if not isinstance(bias_prob, float):
+ raise TypeError(f'bias_prob type must be float, \
+ but got {type(bias_prob)}')
+
+ if layer is not None:
+ if not isinstance(layer, (str, list)):
+ raise TypeError(f'layer must be a str or a list of str, \
+ but got a {type(layer)}')
+ else:
+ layer = []
+
+ if bias_prob is not None:
+ self.bias = bias_init_with_prob(bias_prob)
+ else:
+ self.bias = bias
+ self.layer = [layer] if isinstance(layer, str) else layer
+
+ def _get_init_info(self):
+ info = f'{self.__class__.__name__}, bias={self.bias}'
+ return info
+
+
+@INITIALIZERS.register_module(name='Constant')
+class ConstantInit(BaseInit):
+ """Initialize module parameters with constant values.
+
+ Args:
+ val (int | float): the value to fill the weights in the module with
+ bias (int | float): the value to fill the bias. Defaults to 0.
+ bias_prob (float, optional): the probability for bias initialization.
+ Defaults to None.
+ layer (str | list[str], optional): the layer will be initialized.
+ Defaults to None.
+ """
+
+ def __init__(self, val, **kwargs):
+ super().__init__(**kwargs)
+ self.val = val
+
+ def __call__(self, module):
+
+ def init(m):
+ if self.wholemodule:
+ constant_init(m, self.val, self.bias)
+ else:
+ layername = m.__class__.__name__
+ basesname = _get_bases_name(m)
+ if len(set(self.layer) & set([layername] + basesname)):
+ constant_init(m, self.val, self.bias)
+
+ module.apply(init)
+ if hasattr(module, '_params_init_info'):
+ update_init_info(module, init_info=self._get_init_info())
+
+ def _get_init_info(self):
+ info = f'{self.__class__.__name__}: val={self.val}, bias={self.bias}'
+ return info
+
+
+@INITIALIZERS.register_module(name='Xavier')
+class XavierInit(BaseInit):
+ r"""Initialize module parameters with values according to the method
+ described in `Understanding the difficulty of training deep feedforward
+ neural networks - Glorot, X. & Bengio, Y. (2010).
+ `_
+
+ Args:
+ gain (int | float): an optional scaling factor. Defaults to 1.
+ bias (int | float): the value to fill the bias. Defaults to 0.
+ bias_prob (float, optional): the probability for bias initialization.
+ Defaults to None.
+ distribution (str): distribution either be ``'normal'``
+ or ``'uniform'``. Defaults to ``'normal'``.
+ layer (str | list[str], optional): the layer will be initialized.
+ Defaults to None.
+ """
+
+ def __init__(self, gain=1, distribution='normal', **kwargs):
+ super().__init__(**kwargs)
+ self.gain = gain
+ self.distribution = distribution
+
+ def __call__(self, module):
+
+ def init(m):
+ if self.wholemodule:
+ xavier_init(m, self.gain, self.bias, self.distribution)
+ else:
+ layername = m.__class__.__name__
+ basesname = _get_bases_name(m)
+ if len(set(self.layer) & set([layername] + basesname)):
+ xavier_init(m, self.gain, self.bias, self.distribution)
+
+ module.apply(init)
+ if hasattr(module, '_params_init_info'):
+ update_init_info(module, init_info=self._get_init_info())
+
+ def _get_init_info(self):
+ info = f'{self.__class__.__name__}: gain={self.gain}, ' \
+ f'distribution={self.distribution}, bias={self.bias}'
+ return info
+
+
+@INITIALIZERS.register_module(name='Normal')
+class NormalInit(BaseInit):
+ r"""Initialize module parameters with the values drawn from the normal
+ distribution :math:`\mathcal{N}(\text{mean}, \text{std}^2)`.
+
+ Args:
+ mean (int | float):the mean of the normal distribution. Defaults to 0.
+ std (int | float): the standard deviation of the normal distribution.
+ Defaults to 1.
+ bias (int | float): the value to fill the bias. Defaults to 0.
+ bias_prob (float, optional): the probability for bias initialization.
+ Defaults to None.
+ layer (str | list[str], optional): the layer will be initialized.
+ Defaults to None.
+
+ """
+
+ def __init__(self, mean=0, std=1, **kwargs):
+ super().__init__(**kwargs)
+ self.mean = mean
+ self.std = std
+
+ def __call__(self, module):
+
+ def init(m):
+ if self.wholemodule:
+ normal_init(m, self.mean, self.std, self.bias)
+ else:
+ layername = m.__class__.__name__
+ basesname = _get_bases_name(m)
+ if len(set(self.layer) & set([layername] + basesname)):
+ normal_init(m, self.mean, self.std, self.bias)
+
+ module.apply(init)
+ if hasattr(module, '_params_init_info'):
+ update_init_info(module, init_info=self._get_init_info())
+
+ def _get_init_info(self):
+ info = f'{self.__class__.__name__}: mean={self.mean},' \
+ f' std={self.std}, bias={self.bias}'
+ return info
+
+
+@INITIALIZERS.register_module(name='TruncNormal')
+class TruncNormalInit(BaseInit):
+ r"""Initialize module parameters with the values drawn from the normal
+ distribution :math:`\mathcal{N}(\text{mean}, \text{std}^2)` with values
+ outside :math:`[a, b]`.
+
+ Args:
+ mean (float): the mean of the normal distribution. Defaults to 0.
+ std (float): the standard deviation of the normal distribution.
+ Defaults to 1.
+ a (float): The minimum cutoff value.
+ b ( float): The maximum cutoff value.
+ bias (float): the value to fill the bias. Defaults to 0.
+ bias_prob (float, optional): the probability for bias initialization.
+ Defaults to None.
+ layer (str | list[str], optional): the layer will be initialized.
+ Defaults to None.
+
+ """
+
+ def __init__(self,
+ mean: float = 0,
+ std: float = 1,
+ a: float = -2,
+ b: float = 2,
+ **kwargs) -> None:
+ super().__init__(**kwargs)
+ self.mean = mean
+ self.std = std
+ self.a = a
+ self.b = b
+
+ def __call__(self, module: nn.Module) -> None:
+
+ def init(m):
+ if self.wholemodule:
+ trunc_normal_init(m, self.mean, self.std, self.a, self.b,
+ self.bias)
+ else:
+ layername = m.__class__.__name__
+ basesname = _get_bases_name(m)
+ if len(set(self.layer) & set([layername] + basesname)):
+ trunc_normal_init(m, self.mean, self.std, self.a, self.b,
+ self.bias)
+
+ module.apply(init)
+ if hasattr(module, '_params_init_info'):
+ update_init_info(module, init_info=self._get_init_info())
+
+ def _get_init_info(self):
+ info = f'{self.__class__.__name__}: a={self.a}, b={self.b},' \
+ f' mean={self.mean}, std={self.std}, bias={self.bias}'
+ return info
+
+
+@INITIALIZERS.register_module(name='Uniform')
+class UniformInit(BaseInit):
+ r"""Initialize module parameters with values drawn from the uniform
+ distribution :math:`\mathcal{U}(a, b)`.
+
+ Args:
+ a (int | float): the lower bound of the uniform distribution.
+ Defaults to 0.
+ b (int | float): the upper bound of the uniform distribution.
+ Defaults to 1.
+ bias (int | float): the value to fill the bias. Defaults to 0.
+ bias_prob (float, optional): the probability for bias initialization.
+ Defaults to None.
+ layer (str | list[str], optional): the layer will be initialized.
+ Defaults to None.
+ """
+
+ def __init__(self, a=0, b=1, **kwargs):
+ super().__init__(**kwargs)
+ self.a = a
+ self.b = b
+
+ def __call__(self, module):
+
+ def init(m):
+ if self.wholemodule:
+ uniform_init(m, self.a, self.b, self.bias)
+ else:
+ layername = m.__class__.__name__
+ basesname = _get_bases_name(m)
+ if len(set(self.layer) & set([layername] + basesname)):
+ uniform_init(m, self.a, self.b, self.bias)
+
+ module.apply(init)
+ if hasattr(module, '_params_init_info'):
+ update_init_info(module, init_info=self._get_init_info())
+
+ def _get_init_info(self):
+ info = f'{self.__class__.__name__}: a={self.a},' \
+ f' b={self.b}, bias={self.bias}'
+ return info
+
+
+@INITIALIZERS.register_module(name='Kaiming')
+class KaimingInit(BaseInit):
+ r"""Initialize module parameters with the values according to the method
+ described in `Delving deep into rectifiers: Surpassing human-level
+ performance on ImageNet classification - He, K. et al. (2015).
+ `_
+
+ Args:
+ a (int | float): the negative slope of the rectifier used after this
+ layer (only used with ``'leaky_relu'``). Defaults to 0.
+ mode (str): either ``'fan_in'`` or ``'fan_out'``. Choosing
+ ``'fan_in'`` preserves the magnitude of the variance of the weights
+ in the forward pass. Choosing ``'fan_out'`` preserves the
+ magnitudes in the backwards pass. Defaults to ``'fan_out'``.
+ nonlinearity (str): the non-linear function (`nn.functional` name),
+ recommended to use only with ``'relu'`` or ``'leaky_relu'`` .
+ Defaults to 'relu'.
+ bias (int | float): the value to fill the bias. Defaults to 0.
+ bias_prob (float, optional): the probability for bias initialization.
+ Defaults to None.
+ distribution (str): distribution either be ``'normal'`` or
+ ``'uniform'``. Defaults to ``'normal'``.
+ layer (str | list[str], optional): the layer will be initialized.
+ Defaults to None.
+ """
+
+ def __init__(self,
+ a=0,
+ mode='fan_out',
+ nonlinearity='relu',
+ distribution='normal',
+ **kwargs):
+ super().__init__(**kwargs)
+ self.a = a
+ self.mode = mode
+ self.nonlinearity = nonlinearity
+ self.distribution = distribution
+
+ def __call__(self, module):
+
+ def init(m):
+ if self.wholemodule:
+ kaiming_init(m, self.a, self.mode, self.nonlinearity,
+ self.bias, self.distribution)
+ else:
+ layername = m.__class__.__name__
+ basesname = _get_bases_name(m)
+ if len(set(self.layer) & set([layername] + basesname)):
+ kaiming_init(m, self.a, self.mode, self.nonlinearity,
+ self.bias, self.distribution)
+
+ module.apply(init)
+ if hasattr(module, '_params_init_info'):
+ update_init_info(module, init_info=self._get_init_info())
+
+ def _get_init_info(self):
+ info = f'{self.__class__.__name__}: a={self.a}, mode={self.mode}, ' \
+ f'nonlinearity={self.nonlinearity}, ' \
+ f'distribution ={self.distribution}, bias={self.bias}'
+ return info
+
+
+@INITIALIZERS.register_module(name='Caffe2Xavier')
+class Caffe2XavierInit(KaimingInit):
+ # `XavierFill` in Caffe2 corresponds to `kaiming_uniform_` in PyTorch
+ # Acknowledgment to FAIR's internal code
+ def __init__(self, **kwargs):
+ super().__init__(
+ a=1,
+ mode='fan_in',
+ nonlinearity='leaky_relu',
+ distribution='uniform',
+ **kwargs)
+
+ def __call__(self, module):
+ super().__call__(module)
+
+
+@INITIALIZERS.register_module(name='Pretrained')
+class PretrainedInit(object):
+ """Initialize module by loading a pretrained model.
+
+ Args:
+ checkpoint (str): the checkpoint file of the pretrained model should
+ be load.
+ prefix (str, optional): the prefix of a sub-module in the pretrained
+ model. it is for loading a part of the pretrained model to
+ initialize. For example, if we would like to only load the
+ backbone of a detector model, we can set ``prefix='backbone.'``.
+ Defaults to None.
+ map_location (str): map tensors into proper locations.
+ """
+
+ def __init__(self, checkpoint, prefix=None, map_location=None):
+ self.checkpoint = checkpoint
+ self.prefix = prefix
+ self.map_location = map_location
+
+ def __call__(self, module):
+ from annotator.mmpkg.mmcv.runner import (_load_checkpoint_with_prefix, load_checkpoint,
+ load_state_dict)
+ logger = get_logger('mmcv')
+ if self.prefix is None:
+ print_log(f'load model from: {self.checkpoint}', logger=logger)
+ load_checkpoint(
+ module,
+ self.checkpoint,
+ map_location=self.map_location,
+ strict=False,
+ logger=logger)
+ else:
+ print_log(
+ f'load {self.prefix} in model from: {self.checkpoint}',
+ logger=logger)
+ state_dict = _load_checkpoint_with_prefix(
+ self.prefix, self.checkpoint, map_location=self.map_location)
+ load_state_dict(module, state_dict, strict=False, logger=logger)
+
+ if hasattr(module, '_params_init_info'):
+ update_init_info(module, init_info=self._get_init_info())
+
+ def _get_init_info(self):
+ info = f'{self.__class__.__name__}: load from {self.checkpoint}'
+ return info
+
+
+def _initialize(module, cfg, wholemodule=False):
+ func = build_from_cfg(cfg, INITIALIZERS)
+ # wholemodule flag is for override mode, there is no layer key in override
+ # and initializer will give init values for the whole module with the name
+ # in override.
+ func.wholemodule = wholemodule
+ func(module)
+
+
+def _initialize_override(module, override, cfg):
+ if not isinstance(override, (dict, list)):
+ raise TypeError(f'override must be a dict or a list of dict, \
+ but got {type(override)}')
+
+ override = [override] if isinstance(override, dict) else override
+
+ for override_ in override:
+
+ cp_override = copy.deepcopy(override_)
+ name = cp_override.pop('name', None)
+ if name is None:
+ raise ValueError('`override` must contain the key "name",'
+ f'but got {cp_override}')
+ # if override only has name key, it means use args in init_cfg
+ if not cp_override:
+ cp_override.update(cfg)
+ # if override has name key and other args except type key, it will
+ # raise error
+ elif 'type' not in cp_override.keys():
+ raise ValueError(
+ f'`override` need "type" key, but got {cp_override}')
+
+ if hasattr(module, name):
+ _initialize(getattr(module, name), cp_override, wholemodule=True)
+ else:
+ raise RuntimeError(f'module did not have attribute {name}, '
+ f'but init_cfg is {cp_override}.')
+
+
+def initialize(module, init_cfg):
+ """Initialize a module.
+
+ Args:
+ module (``torch.nn.Module``): the module will be initialized.
+ init_cfg (dict | list[dict]): initialization configuration dict to
+ define initializer. OpenMMLab has implemented 6 initializers
+ including ``Constant``, ``Xavier``, ``Normal``, ``Uniform``,
+ ``Kaiming``, and ``Pretrained``.
+ Example:
+ >>> module = nn.Linear(2, 3, bias=True)
+ >>> init_cfg = dict(type='Constant', layer='Linear', val =1 , bias =2)
+ >>> initialize(module, init_cfg)
+
+ >>> module = nn.Sequential(nn.Conv1d(3, 1, 3), nn.Linear(1,2))
+ >>> # define key ``'layer'`` for initializing layer with different
+ >>> # configuration
+ >>> init_cfg = [dict(type='Constant', layer='Conv1d', val=1),
+ dict(type='Constant', layer='Linear', val=2)]
+ >>> initialize(module, init_cfg)
+
+ >>> # define key``'override'`` to initialize some specific part in
+ >>> # module
+ >>> class FooNet(nn.Module):
+ >>> def __init__(self):
+ >>> super().__init__()
+ >>> self.feat = nn.Conv2d(3, 16, 3)
+ >>> self.reg = nn.Conv2d(16, 10, 3)
+ >>> self.cls = nn.Conv2d(16, 5, 3)
+ >>> model = FooNet()
+ >>> init_cfg = dict(type='Constant', val=1, bias=2, layer='Conv2d',
+ >>> override=dict(type='Constant', name='reg', val=3, bias=4))
+ >>> initialize(model, init_cfg)
+
+ >>> model = ResNet(depth=50)
+ >>> # Initialize weights with the pretrained model.
+ >>> init_cfg = dict(type='Pretrained',
+ checkpoint='torchvision://resnet50')
+ >>> initialize(model, init_cfg)
+
+ >>> # Initialize weights of a sub-module with the specific part of
+ >>> # a pretrained model by using "prefix".
+ >>> url = 'http://download.openmmlab.com/mmdetection/v2.0/retinanet/'\
+ >>> 'retinanet_r50_fpn_1x_coco/'\
+ >>> 'retinanet_r50_fpn_1x_coco_20200130-c2398f9e.pth'
+ >>> init_cfg = dict(type='Pretrained',
+ checkpoint=url, prefix='backbone.')
+ """
+ if not isinstance(init_cfg, (dict, list)):
+ raise TypeError(f'init_cfg must be a dict or a list of dict, \
+ but got {type(init_cfg)}')
+
+ if isinstance(init_cfg, dict):
+ init_cfg = [init_cfg]
+
+ for cfg in init_cfg:
+ # should deeply copy the original config because cfg may be used by
+ # other modules, e.g., one init_cfg shared by multiple bottleneck
+ # blocks, the expected cfg will be changed after pop and will change
+ # the initialization behavior of other modules
+ cp_cfg = copy.deepcopy(cfg)
+ override = cp_cfg.pop('override', None)
+ _initialize(module, cp_cfg)
+
+ if override is not None:
+ cp_cfg.pop('layer', None)
+ _initialize_override(module, override, cp_cfg)
+ else:
+ # All attributes in module have same initialization.
+ pass
+
+
+def _no_grad_trunc_normal_(tensor: Tensor, mean: float, std: float, a: float,
+ b: float) -> Tensor:
+ # Method based on
+ # https://people.sc.fsu.edu/~jburkardt/presentations/truncated_normal.pdf
+ # Modified from
+ # https://github.com/pytorch/pytorch/blob/master/torch/nn/init.py
+ def norm_cdf(x):
+ # Computes standard normal cumulative distribution function
+ return (1. + math.erf(x / math.sqrt(2.))) / 2.
+
+ if (mean < a - 2 * std) or (mean > b + 2 * std):
+ warnings.warn(
+ 'mean is more than 2 std from [a, b] in nn.init.trunc_normal_. '
+ 'The distribution of values may be incorrect.',
+ stacklevel=2)
+
+ with torch.no_grad():
+ # Values are generated by using a truncated uniform distribution and
+ # then using the inverse CDF for the normal distribution.
+ # Get upper and lower cdf values
+ lower = norm_cdf((a - mean) / std)
+ upper = norm_cdf((b - mean) / std)
+
+ # Uniformly fill tensor with values from [lower, upper], then translate
+ # to [2lower-1, 2upper-1].
+ tensor.uniform_(2 * lower - 1, 2 * upper - 1)
+
+ # Use inverse cdf transform for normal distribution to get truncated
+ # standard normal
+ tensor.erfinv_()
+
+ # Transform to proper mean, std
+ tensor.mul_(std * math.sqrt(2.))
+ tensor.add_(mean)
+
+ # Clamp to ensure it's in the proper range
+ tensor.clamp_(min=a, max=b)
+ return tensor
+
+
+def trunc_normal_(tensor: Tensor,
+ mean: float = 0.,
+ std: float = 1.,
+ a: float = -2.,
+ b: float = 2.) -> Tensor:
+ r"""Fills the input Tensor with values drawn from a truncated
+ normal distribution. The values are effectively drawn from the
+ normal distribution :math:`\mathcal{N}(\text{mean}, \text{std}^2)`
+ with values outside :math:`[a, b]` redrawn until they are within
+ the bounds. The method used for generating the random values works
+ best when :math:`a \leq \text{mean} \leq b`.
+
+ Modified from
+ https://github.com/pytorch/pytorch/blob/master/torch/nn/init.py
+
+ Args:
+ tensor (``torch.Tensor``): an n-dimensional `torch.Tensor`.
+ mean (float): the mean of the normal distribution.
+ std (float): the standard deviation of the normal distribution.
+ a (float): the minimum cutoff value.
+ b (float): the maximum cutoff value.
+ """
+ return _no_grad_trunc_normal_(tensor, mean, std, a, b)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/vgg.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/vgg.py
new file mode 100644
index 0000000000000000000000000000000000000000..8778b649561a45a9652b1a15a26c2d171e58f3e1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/cnn/vgg.py
@@ -0,0 +1,175 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import logging
+
+import torch.nn as nn
+
+from .utils import constant_init, kaiming_init, normal_init
+
+
+def conv3x3(in_planes, out_planes, dilation=1):
+ """3x3 convolution with padding."""
+ return nn.Conv2d(
+ in_planes,
+ out_planes,
+ kernel_size=3,
+ padding=dilation,
+ dilation=dilation)
+
+
+def make_vgg_layer(inplanes,
+ planes,
+ num_blocks,
+ dilation=1,
+ with_bn=False,
+ ceil_mode=False):
+ layers = []
+ for _ in range(num_blocks):
+ layers.append(conv3x3(inplanes, planes, dilation))
+ if with_bn:
+ layers.append(nn.BatchNorm2d(planes))
+ layers.append(nn.ReLU(inplace=True))
+ inplanes = planes
+ layers.append(nn.MaxPool2d(kernel_size=2, stride=2, ceil_mode=ceil_mode))
+
+ return layers
+
+
+class VGG(nn.Module):
+ """VGG backbone.
+
+ Args:
+ depth (int): Depth of vgg, from {11, 13, 16, 19}.
+ with_bn (bool): Use BatchNorm or not.
+ num_classes (int): number of classes for classification.
+ num_stages (int): VGG stages, normally 5.
+ dilations (Sequence[int]): Dilation of each stage.
+ out_indices (Sequence[int]): Output from which stages.
+ frozen_stages (int): Stages to be frozen (all param fixed). -1 means
+ not freezing any parameters.
+ bn_eval (bool): Whether to set BN layers as eval mode, namely, freeze
+ running stats (mean and var).
+ bn_frozen (bool): Whether to freeze weight and bias of BN layers.
+ """
+
+ arch_settings = {
+ 11: (1, 1, 2, 2, 2),
+ 13: (2, 2, 2, 2, 2),
+ 16: (2, 2, 3, 3, 3),
+ 19: (2, 2, 4, 4, 4)
+ }
+
+ def __init__(self,
+ depth,
+ with_bn=False,
+ num_classes=-1,
+ num_stages=5,
+ dilations=(1, 1, 1, 1, 1),
+ out_indices=(0, 1, 2, 3, 4),
+ frozen_stages=-1,
+ bn_eval=True,
+ bn_frozen=False,
+ ceil_mode=False,
+ with_last_pool=True):
+ super(VGG, self).__init__()
+ if depth not in self.arch_settings:
+ raise KeyError(f'invalid depth {depth} for vgg')
+ assert num_stages >= 1 and num_stages <= 5
+ stage_blocks = self.arch_settings[depth]
+ self.stage_blocks = stage_blocks[:num_stages]
+ assert len(dilations) == num_stages
+ assert max(out_indices) <= num_stages
+
+ self.num_classes = num_classes
+ self.out_indices = out_indices
+ self.frozen_stages = frozen_stages
+ self.bn_eval = bn_eval
+ self.bn_frozen = bn_frozen
+
+ self.inplanes = 3
+ start_idx = 0
+ vgg_layers = []
+ self.range_sub_modules = []
+ for i, num_blocks in enumerate(self.stage_blocks):
+ num_modules = num_blocks * (2 + with_bn) + 1
+ end_idx = start_idx + num_modules
+ dilation = dilations[i]
+ planes = 64 * 2**i if i < 4 else 512
+ vgg_layer = make_vgg_layer(
+ self.inplanes,
+ planes,
+ num_blocks,
+ dilation=dilation,
+ with_bn=with_bn,
+ ceil_mode=ceil_mode)
+ vgg_layers.extend(vgg_layer)
+ self.inplanes = planes
+ self.range_sub_modules.append([start_idx, end_idx])
+ start_idx = end_idx
+ if not with_last_pool:
+ vgg_layers.pop(-1)
+ self.range_sub_modules[-1][1] -= 1
+ self.module_name = 'features'
+ self.add_module(self.module_name, nn.Sequential(*vgg_layers))
+
+ if self.num_classes > 0:
+ self.classifier = nn.Sequential(
+ nn.Linear(512 * 7 * 7, 4096),
+ nn.ReLU(True),
+ nn.Dropout(),
+ nn.Linear(4096, 4096),
+ nn.ReLU(True),
+ nn.Dropout(),
+ nn.Linear(4096, num_classes),
+ )
+
+ def init_weights(self, pretrained=None):
+ if isinstance(pretrained, str):
+ logger = logging.getLogger()
+ from ..runner import load_checkpoint
+ load_checkpoint(self, pretrained, strict=False, logger=logger)
+ elif pretrained is None:
+ for m in self.modules():
+ if isinstance(m, nn.Conv2d):
+ kaiming_init(m)
+ elif isinstance(m, nn.BatchNorm2d):
+ constant_init(m, 1)
+ elif isinstance(m, nn.Linear):
+ normal_init(m, std=0.01)
+ else:
+ raise TypeError('pretrained must be a str or None')
+
+ def forward(self, x):
+ outs = []
+ vgg_layers = getattr(self, self.module_name)
+ for i in range(len(self.stage_blocks)):
+ for j in range(*self.range_sub_modules[i]):
+ vgg_layer = vgg_layers[j]
+ x = vgg_layer(x)
+ if i in self.out_indices:
+ outs.append(x)
+ if self.num_classes > 0:
+ x = x.view(x.size(0), -1)
+ x = self.classifier(x)
+ outs.append(x)
+ if len(outs) == 1:
+ return outs[0]
+ else:
+ return tuple(outs)
+
+ def train(self, mode=True):
+ super(VGG, self).train(mode)
+ if self.bn_eval:
+ for m in self.modules():
+ if isinstance(m, nn.BatchNorm2d):
+ m.eval()
+ if self.bn_frozen:
+ for params in m.parameters():
+ params.requires_grad = False
+ vgg_layers = getattr(self, self.module_name)
+ if mode and self.frozen_stages >= 0:
+ for i in range(self.frozen_stages):
+ for j in range(*self.range_sub_modules[i]):
+ mod = vgg_layers[j]
+ mod.eval()
+ for param in mod.parameters():
+ param.requires_grad = False
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/engine/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/engine/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..3193b7f664e19ce2458d81c836597fa22e4bb082
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/engine/__init__.py
@@ -0,0 +1,8 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from .test import (collect_results_cpu, collect_results_gpu, multi_gpu_test,
+ single_gpu_test)
+
+__all__ = [
+ 'collect_results_cpu', 'collect_results_gpu', 'multi_gpu_test',
+ 'single_gpu_test'
+]
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/engine/test.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/engine/test.py
new file mode 100644
index 0000000000000000000000000000000000000000..ad5f55c4b181f7ad7bf17ed9003496f7377bbd3e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/engine/test.py
@@ -0,0 +1,202 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import os.path as osp
+import pickle
+import shutil
+import tempfile
+import time
+
+import torch
+import torch.distributed as dist
+
+import annotator.mmpkg.mmcv as mmcv
+from annotator.mmpkg.mmcv.runner import get_dist_info
+
+
+def single_gpu_test(model, data_loader):
+ """Test model with a single gpu.
+
+ This method tests model with a single gpu and displays test progress bar.
+
+ Args:
+ model (nn.Module): Model to be tested.
+ data_loader (nn.Dataloader): Pytorch data loader.
+
+ Returns:
+ list: The prediction results.
+ """
+ model.eval()
+ results = []
+ dataset = data_loader.dataset
+ prog_bar = mmcv.ProgressBar(len(dataset))
+ for data in data_loader:
+ with torch.no_grad():
+ result = model(return_loss=False, **data)
+ results.extend(result)
+
+ # Assume result has the same length of batch_size
+ # refer to https://github.com/open-mmlab/mmcv/issues/985
+ batch_size = len(result)
+ for _ in range(batch_size):
+ prog_bar.update()
+ return results
+
+
+def multi_gpu_test(model, data_loader, tmpdir=None, gpu_collect=False):
+ """Test model with multiple gpus.
+
+ This method tests model with multiple gpus and collects the results
+ under two different modes: gpu and cpu modes. By setting
+ ``gpu_collect=True``, it encodes results to gpu tensors and use gpu
+ communication for results collection. On cpu mode it saves the results on
+ different gpus to ``tmpdir`` and collects them by the rank 0 worker.
+
+ Args:
+ model (nn.Module): Model to be tested.
+ data_loader (nn.Dataloader): Pytorch data loader.
+ tmpdir (str): Path of directory to save the temporary results from
+ different gpus under cpu mode.
+ gpu_collect (bool): Option to use either gpu or cpu to collect results.
+
+ Returns:
+ list: The prediction results.
+ """
+ model.eval()
+ results = []
+ dataset = data_loader.dataset
+ rank, world_size = get_dist_info()
+ if rank == 0:
+ prog_bar = mmcv.ProgressBar(len(dataset))
+ time.sleep(2) # This line can prevent deadlock problem in some cases.
+ for i, data in enumerate(data_loader):
+ with torch.no_grad():
+ result = model(return_loss=False, **data)
+ results.extend(result)
+
+ if rank == 0:
+ batch_size = len(result)
+ batch_size_all = batch_size * world_size
+ if batch_size_all + prog_bar.completed > len(dataset):
+ batch_size_all = len(dataset) - prog_bar.completed
+ for _ in range(batch_size_all):
+ prog_bar.update()
+
+ # collect results from all ranks
+ if gpu_collect:
+ results = collect_results_gpu(results, len(dataset))
+ else:
+ results = collect_results_cpu(results, len(dataset), tmpdir)
+ return results
+
+
+def collect_results_cpu(result_part, size, tmpdir=None):
+ """Collect results under cpu mode.
+
+ On cpu mode, this function will save the results on different gpus to
+ ``tmpdir`` and collect them by the rank 0 worker.
+
+ Args:
+ result_part (list): Result list containing result parts
+ to be collected.
+ size (int): Size of the results, commonly equal to length of
+ the results.
+ tmpdir (str | None): temporal directory for collected results to
+ store. If set to None, it will create a random temporal directory
+ for it.
+
+ Returns:
+ list: The collected results.
+ """
+ rank, world_size = get_dist_info()
+ # create a tmp dir if it is not specified
+ if tmpdir is None:
+ MAX_LEN = 512
+ # 32 is whitespace
+ dir_tensor = torch.full((MAX_LEN, ),
+ 32,
+ dtype=torch.uint8,
+ device='cuda')
+ if rank == 0:
+ mmcv.mkdir_or_exist('.dist_test')
+ tmpdir = tempfile.mkdtemp(dir='.dist_test')
+ tmpdir = torch.tensor(
+ bytearray(tmpdir.encode()), dtype=torch.uint8, device='cuda')
+ dir_tensor[:len(tmpdir)] = tmpdir
+ dist.broadcast(dir_tensor, 0)
+ tmpdir = dir_tensor.cpu().numpy().tobytes().decode().rstrip()
+ else:
+ mmcv.mkdir_or_exist(tmpdir)
+ # dump the part result to the dir
+ mmcv.dump(result_part, osp.join(tmpdir, f'part_{rank}.pkl'))
+ dist.barrier()
+ # collect all parts
+ if rank != 0:
+ return None
+ else:
+ # load results of all parts from tmp dir
+ part_list = []
+ for i in range(world_size):
+ part_file = osp.join(tmpdir, f'part_{i}.pkl')
+ part_result = mmcv.load(part_file)
+ # When data is severely insufficient, an empty part_result
+ # on a certain gpu could makes the overall outputs empty.
+ if part_result:
+ part_list.append(part_result)
+ # sort the results
+ ordered_results = []
+ for res in zip(*part_list):
+ ordered_results.extend(list(res))
+ # the dataloader may pad some samples
+ ordered_results = ordered_results[:size]
+ # remove tmp dir
+ shutil.rmtree(tmpdir)
+ return ordered_results
+
+
+def collect_results_gpu(result_part, size):
+ """Collect results under gpu mode.
+
+ On gpu mode, this function will encode results to gpu tensors and use gpu
+ communication for results collection.
+
+ Args:
+ result_part (list): Result list containing result parts
+ to be collected.
+ size (int): Size of the results, commonly equal to length of
+ the results.
+
+ Returns:
+ list: The collected results.
+ """
+ rank, world_size = get_dist_info()
+ # dump result part to tensor with pickle
+ part_tensor = torch.tensor(
+ bytearray(pickle.dumps(result_part)), dtype=torch.uint8, device='cuda')
+ # gather all result part tensor shape
+ shape_tensor = torch.tensor(part_tensor.shape, device='cuda')
+ shape_list = [shape_tensor.clone() for _ in range(world_size)]
+ dist.all_gather(shape_list, shape_tensor)
+ # padding result part tensor to max length
+ shape_max = torch.tensor(shape_list).max()
+ part_send = torch.zeros(shape_max, dtype=torch.uint8, device='cuda')
+ part_send[:shape_tensor[0]] = part_tensor
+ part_recv_list = [
+ part_tensor.new_zeros(shape_max) for _ in range(world_size)
+ ]
+ # gather all result part
+ dist.all_gather(part_recv_list, part_send)
+
+ if rank == 0:
+ part_list = []
+ for recv, shape in zip(part_recv_list, shape_list):
+ part_result = pickle.loads(recv[:shape[0]].cpu().numpy().tobytes())
+ # When data is severely insufficient, an empty part_result
+ # on a certain gpu could makes the overall outputs empty.
+ if part_result:
+ part_list.append(part_result)
+ # sort the results
+ ordered_results = []
+ for res in zip(*part_list):
+ ordered_results.extend(list(res))
+ # the dataloader may pad some samples
+ ordered_results = ordered_results[:size]
+ return ordered_results
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/fileio/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/fileio/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..2051b85f7e59bff7bdbaa131849ce8cd31f059a4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/fileio/__init__.py
@@ -0,0 +1,11 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from .file_client import BaseStorageBackend, FileClient
+from .handlers import BaseFileHandler, JsonHandler, PickleHandler, YamlHandler
+from .io import dump, load, register_handler
+from .parse import dict_from_file, list_from_file
+
+__all__ = [
+ 'BaseStorageBackend', 'FileClient', 'load', 'dump', 'register_handler',
+ 'BaseFileHandler', 'JsonHandler', 'PickleHandler', 'YamlHandler',
+ 'list_from_file', 'dict_from_file'
+]
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/fileio/file_client.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/fileio/file_client.py
new file mode 100644
index 0000000000000000000000000000000000000000..1ed2bf5f41a29000f9a080066497d8f3674fae15
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/fileio/file_client.py
@@ -0,0 +1,1148 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import inspect
+import os
+import os.path as osp
+import re
+import tempfile
+import warnings
+from abc import ABCMeta, abstractmethod
+from contextlib import contextmanager
+from pathlib import Path
+from typing import Iterable, Iterator, Optional, Tuple, Union
+from urllib.request import urlopen
+
+import annotator.mmpkg.mmcv as mmcv
+from annotator.mmpkg.mmcv.utils.misc import has_method
+from annotator.mmpkg.mmcv.utils.path import is_filepath
+
+
+class BaseStorageBackend(metaclass=ABCMeta):
+ """Abstract class of storage backends.
+
+ All backends need to implement two apis: ``get()`` and ``get_text()``.
+ ``get()`` reads the file as a byte stream and ``get_text()`` reads the file
+ as texts.
+ """
+
+ # a flag to indicate whether the backend can create a symlink for a file
+ _allow_symlink = False
+
+ @property
+ def name(self):
+ return self.__class__.__name__
+
+ @property
+ def allow_symlink(self):
+ return self._allow_symlink
+
+ @abstractmethod
+ def get(self, filepath):
+ pass
+
+ @abstractmethod
+ def get_text(self, filepath):
+ pass
+
+
+class CephBackend(BaseStorageBackend):
+ """Ceph storage backend (for internal use).
+
+ Args:
+ path_mapping (dict|None): path mapping dict from local path to Petrel
+ path. When ``path_mapping={'src': 'dst'}``, ``src`` in ``filepath``
+ will be replaced by ``dst``. Default: None.
+
+ .. warning::
+ :class:`mmcv.fileio.file_client.CephBackend` will be deprecated,
+ please use :class:`mmcv.fileio.file_client.PetrelBackend` instead.
+ """
+
+ def __init__(self, path_mapping=None):
+ try:
+ import ceph
+ except ImportError:
+ raise ImportError('Please install ceph to enable CephBackend.')
+
+ warnings.warn(
+ 'CephBackend will be deprecated, please use PetrelBackend instead')
+ self._client = ceph.S3Client()
+ assert isinstance(path_mapping, dict) or path_mapping is None
+ self.path_mapping = path_mapping
+
+ def get(self, filepath):
+ filepath = str(filepath)
+ if self.path_mapping is not None:
+ for k, v in self.path_mapping.items():
+ filepath = filepath.replace(k, v)
+ value = self._client.Get(filepath)
+ value_buf = memoryview(value)
+ return value_buf
+
+ def get_text(self, filepath, encoding=None):
+ raise NotImplementedError
+
+
+class PetrelBackend(BaseStorageBackend):
+ """Petrel storage backend (for internal use).
+
+ PetrelBackend supports reading and writing data to multiple clusters.
+ If the file path contains the cluster name, PetrelBackend will read data
+ from specified cluster or write data to it. Otherwise, PetrelBackend will
+ access the default cluster.
+
+ Args:
+ path_mapping (dict, optional): Path mapping dict from local path to
+ Petrel path. When ``path_mapping={'src': 'dst'}``, ``src`` in
+ ``filepath`` will be replaced by ``dst``. Default: None.
+ enable_mc (bool, optional): Whether to enable memcached support.
+ Default: True.
+
+ Examples:
+ >>> filepath1 = 's3://path/of/file'
+ >>> filepath2 = 'cluster-name:s3://path/of/file'
+ >>> client = PetrelBackend()
+ >>> client.get(filepath1) # get data from default cluster
+ >>> client.get(filepath2) # get data from 'cluster-name' cluster
+ """
+
+ def __init__(self,
+ path_mapping: Optional[dict] = None,
+ enable_mc: bool = True):
+ try:
+ from petrel_client import client
+ except ImportError:
+ raise ImportError('Please install petrel_client to enable '
+ 'PetrelBackend.')
+
+ self._client = client.Client(enable_mc=enable_mc)
+ assert isinstance(path_mapping, dict) or path_mapping is None
+ self.path_mapping = path_mapping
+
+ def _map_path(self, filepath: Union[str, Path]) -> str:
+ """Map ``filepath`` to a string path whose prefix will be replaced by
+ :attr:`self.path_mapping`.
+
+ Args:
+ filepath (str): Path to be mapped.
+ """
+ filepath = str(filepath)
+ if self.path_mapping is not None:
+ for k, v in self.path_mapping.items():
+ filepath = filepath.replace(k, v)
+ return filepath
+
+ def _format_path(self, filepath: str) -> str:
+ """Convert a ``filepath`` to standard format of petrel oss.
+
+ If the ``filepath`` is concatenated by ``os.path.join``, in a Windows
+ environment, the ``filepath`` will be the format of
+ 's3://bucket_name\\image.jpg'. By invoking :meth:`_format_path`, the
+ above ``filepath`` will be converted to 's3://bucket_name/image.jpg'.
+
+ Args:
+ filepath (str): Path to be formatted.
+ """
+ return re.sub(r'\\+', '/', filepath)
+
+ def get(self, filepath: Union[str, Path]) -> memoryview:
+ """Read data from a given ``filepath`` with 'rb' mode.
+
+ Args:
+ filepath (str or Path): Path to read data.
+
+ Returns:
+ memoryview: A memory view of expected bytes object to avoid
+ copying. The memoryview object can be converted to bytes by
+ ``value_buf.tobytes()``.
+ """
+ filepath = self._map_path(filepath)
+ filepath = self._format_path(filepath)
+ value = self._client.Get(filepath)
+ value_buf = memoryview(value)
+ return value_buf
+
+ def get_text(self,
+ filepath: Union[str, Path],
+ encoding: str = 'utf-8') -> str:
+ """Read data from a given ``filepath`` with 'r' mode.
+
+ Args:
+ filepath (str or Path): Path to read data.
+ encoding (str): The encoding format used to open the ``filepath``.
+ Default: 'utf-8'.
+
+ Returns:
+ str: Expected text reading from ``filepath``.
+ """
+ return str(self.get(filepath), encoding=encoding)
+
+ def put(self, obj: bytes, filepath: Union[str, Path]) -> None:
+ """Save data to a given ``filepath``.
+
+ Args:
+ obj (bytes): Data to be saved.
+ filepath (str or Path): Path to write data.
+ """
+ filepath = self._map_path(filepath)
+ filepath = self._format_path(filepath)
+ self._client.put(filepath, obj)
+
+ def put_text(self,
+ obj: str,
+ filepath: Union[str, Path],
+ encoding: str = 'utf-8') -> None:
+ """Save data to a given ``filepath``.
+
+ Args:
+ obj (str): Data to be written.
+ filepath (str or Path): Path to write data.
+ encoding (str): The encoding format used to encode the ``obj``.
+ Default: 'utf-8'.
+ """
+ self.put(bytes(obj, encoding=encoding), filepath)
+
+ def remove(self, filepath: Union[str, Path]) -> None:
+ """Remove a file.
+
+ Args:
+ filepath (str or Path): Path to be removed.
+ """
+ if not has_method(self._client, 'delete'):
+ raise NotImplementedError(
+ ('Current version of Petrel Python SDK has not supported '
+ 'the `delete` method, please use a higher version or dev'
+ ' branch instead.'))
+
+ filepath = self._map_path(filepath)
+ filepath = self._format_path(filepath)
+ self._client.delete(filepath)
+
+ def exists(self, filepath: Union[str, Path]) -> bool:
+ """Check whether a file path exists.
+
+ Args:
+ filepath (str or Path): Path to be checked whether exists.
+
+ Returns:
+ bool: Return ``True`` if ``filepath`` exists, ``False`` otherwise.
+ """
+ if not (has_method(self._client, 'contains')
+ and has_method(self._client, 'isdir')):
+ raise NotImplementedError(
+ ('Current version of Petrel Python SDK has not supported '
+ 'the `contains` and `isdir` methods, please use a higher'
+ 'version or dev branch instead.'))
+
+ filepath = self._map_path(filepath)
+ filepath = self._format_path(filepath)
+ return self._client.contains(filepath) or self._client.isdir(filepath)
+
+ def isdir(self, filepath: Union[str, Path]) -> bool:
+ """Check whether a file path is a directory.
+
+ Args:
+ filepath (str or Path): Path to be checked whether it is a
+ directory.
+
+ Returns:
+ bool: Return ``True`` if ``filepath`` points to a directory,
+ ``False`` otherwise.
+ """
+ if not has_method(self._client, 'isdir'):
+ raise NotImplementedError(
+ ('Current version of Petrel Python SDK has not supported '
+ 'the `isdir` method, please use a higher version or dev'
+ ' branch instead.'))
+
+ filepath = self._map_path(filepath)
+ filepath = self._format_path(filepath)
+ return self._client.isdir(filepath)
+
+ def isfile(self, filepath: Union[str, Path]) -> bool:
+ """Check whether a file path is a file.
+
+ Args:
+ filepath (str or Path): Path to be checked whether it is a file.
+
+ Returns:
+ bool: Return ``True`` if ``filepath`` points to a file, ``False``
+ otherwise.
+ """
+ if not has_method(self._client, 'contains'):
+ raise NotImplementedError(
+ ('Current version of Petrel Python SDK has not supported '
+ 'the `contains` method, please use a higher version or '
+ 'dev branch instead.'))
+
+ filepath = self._map_path(filepath)
+ filepath = self._format_path(filepath)
+ return self._client.contains(filepath)
+
+ def join_path(self, filepath: Union[str, Path],
+ *filepaths: Union[str, Path]) -> str:
+ """Concatenate all file paths.
+
+ Args:
+ filepath (str or Path): Path to be concatenated.
+
+ Returns:
+ str: The result after concatenation.
+ """
+ filepath = self._format_path(self._map_path(filepath))
+ if filepath.endswith('/'):
+ filepath = filepath[:-1]
+ formatted_paths = [filepath]
+ for path in filepaths:
+ formatted_paths.append(self._format_path(self._map_path(path)))
+ return '/'.join(formatted_paths)
+
+ @contextmanager
+ def get_local_path(self, filepath: Union[str, Path]) -> Iterable[str]:
+ """Download a file from ``filepath`` and return a temporary path.
+
+ ``get_local_path`` is decorated by :meth:`contxtlib.contextmanager`. It
+ can be called with ``with`` statement, and when exists from the
+ ``with`` statement, the temporary path will be released.
+
+ Args:
+ filepath (str | Path): Download a file from ``filepath``.
+
+ Examples:
+ >>> client = PetrelBackend()
+ >>> # After existing from the ``with`` clause,
+ >>> # the path will be removed
+ >>> with client.get_local_path('s3://path/of/your/file') as path:
+ ... # do something here
+
+ Yields:
+ Iterable[str]: Only yield one temporary path.
+ """
+ filepath = self._map_path(filepath)
+ filepath = self._format_path(filepath)
+ assert self.isfile(filepath)
+ try:
+ f = tempfile.NamedTemporaryFile(delete=False)
+ f.write(self.get(filepath))
+ f.close()
+ yield f.name
+ finally:
+ os.remove(f.name)
+
+ def list_dir_or_file(self,
+ dir_path: Union[str, Path],
+ list_dir: bool = True,
+ list_file: bool = True,
+ suffix: Optional[Union[str, Tuple[str]]] = None,
+ recursive: bool = False) -> Iterator[str]:
+ """Scan a directory to find the interested directories or files in
+ arbitrary order.
+
+ Note:
+ Petrel has no concept of directories but it simulates the directory
+ hierarchy in the filesystem through public prefixes. In addition,
+ if the returned path ends with '/', it means the path is a public
+ prefix which is a logical directory.
+
+ Note:
+ :meth:`list_dir_or_file` returns the path relative to ``dir_path``.
+ In addition, the returned path of directory will not contains the
+ suffix '/' which is consistent with other backends.
+
+ Args:
+ dir_path (str | Path): Path of the directory.
+ list_dir (bool): List the directories. Default: True.
+ list_file (bool): List the path of files. Default: True.
+ suffix (str or tuple[str], optional): File suffix
+ that we are interested in. Default: None.
+ recursive (bool): If set to True, recursively scan the
+ directory. Default: False.
+
+ Yields:
+ Iterable[str]: A relative path to ``dir_path``.
+ """
+ if not has_method(self._client, 'list'):
+ raise NotImplementedError(
+ ('Current version of Petrel Python SDK has not supported '
+ 'the `list` method, please use a higher version or dev'
+ ' branch instead.'))
+
+ dir_path = self._map_path(dir_path)
+ dir_path = self._format_path(dir_path)
+ if list_dir and suffix is not None:
+ raise TypeError(
+ '`list_dir` should be False when `suffix` is not None')
+
+ if (suffix is not None) and not isinstance(suffix, (str, tuple)):
+ raise TypeError('`suffix` must be a string or tuple of strings')
+
+ # Petrel's simulated directory hierarchy assumes that directory paths
+ # should end with `/`
+ if not dir_path.endswith('/'):
+ dir_path += '/'
+
+ root = dir_path
+
+ def _list_dir_or_file(dir_path, list_dir, list_file, suffix,
+ recursive):
+ for path in self._client.list(dir_path):
+ # the `self.isdir` is not used here to determine whether path
+ # is a directory, because `self.isdir` relies on
+ # `self._client.list`
+ if path.endswith('/'): # a directory path
+ next_dir_path = self.join_path(dir_path, path)
+ if list_dir:
+ # get the relative path and exclude the last
+ # character '/'
+ rel_dir = next_dir_path[len(root):-1]
+ yield rel_dir
+ if recursive:
+ yield from _list_dir_or_file(next_dir_path, list_dir,
+ list_file, suffix,
+ recursive)
+ else: # a file path
+ absolute_path = self.join_path(dir_path, path)
+ rel_path = absolute_path[len(root):]
+ if (suffix is None
+ or rel_path.endswith(suffix)) and list_file:
+ yield rel_path
+
+ return _list_dir_or_file(dir_path, list_dir, list_file, suffix,
+ recursive)
+
+
+class MemcachedBackend(BaseStorageBackend):
+ """Memcached storage backend.
+
+ Attributes:
+ server_list_cfg (str): Config file for memcached server list.
+ client_cfg (str): Config file for memcached client.
+ sys_path (str | None): Additional path to be appended to `sys.path`.
+ Default: None.
+ """
+
+ def __init__(self, server_list_cfg, client_cfg, sys_path=None):
+ if sys_path is not None:
+ import sys
+ sys.path.append(sys_path)
+ try:
+ import mc
+ except ImportError:
+ raise ImportError(
+ 'Please install memcached to enable MemcachedBackend.')
+
+ self.server_list_cfg = server_list_cfg
+ self.client_cfg = client_cfg
+ self._client = mc.MemcachedClient.GetInstance(self.server_list_cfg,
+ self.client_cfg)
+ # mc.pyvector servers as a point which points to a memory cache
+ self._mc_buffer = mc.pyvector()
+
+ def get(self, filepath):
+ filepath = str(filepath)
+ import mc
+ self._client.Get(filepath, self._mc_buffer)
+ value_buf = mc.ConvertBuffer(self._mc_buffer)
+ return value_buf
+
+ def get_text(self, filepath, encoding=None):
+ raise NotImplementedError
+
+
+class LmdbBackend(BaseStorageBackend):
+ """Lmdb storage backend.
+
+ Args:
+ db_path (str): Lmdb database path.
+ readonly (bool, optional): Lmdb environment parameter. If True,
+ disallow any write operations. Default: True.
+ lock (bool, optional): Lmdb environment parameter. If False, when
+ concurrent access occurs, do not lock the database. Default: False.
+ readahead (bool, optional): Lmdb environment parameter. If False,
+ disable the OS filesystem readahead mechanism, which may improve
+ random read performance when a database is larger than RAM.
+ Default: False.
+
+ Attributes:
+ db_path (str): Lmdb database path.
+ """
+
+ def __init__(self,
+ db_path,
+ readonly=True,
+ lock=False,
+ readahead=False,
+ **kwargs):
+ try:
+ import lmdb
+ except ImportError:
+ raise ImportError('Please install lmdb to enable LmdbBackend.')
+
+ self.db_path = str(db_path)
+ self._client = lmdb.open(
+ self.db_path,
+ readonly=readonly,
+ lock=lock,
+ readahead=readahead,
+ **kwargs)
+
+ def get(self, filepath):
+ """Get values according to the filepath.
+
+ Args:
+ filepath (str | obj:`Path`): Here, filepath is the lmdb key.
+ """
+ filepath = str(filepath)
+ with self._client.begin(write=False) as txn:
+ value_buf = txn.get(filepath.encode('ascii'))
+ return value_buf
+
+ def get_text(self, filepath, encoding=None):
+ raise NotImplementedError
+
+
+class HardDiskBackend(BaseStorageBackend):
+ """Raw hard disks storage backend."""
+
+ _allow_symlink = True
+
+ def get(self, filepath: Union[str, Path]) -> bytes:
+ """Read data from a given ``filepath`` with 'rb' mode.
+
+ Args:
+ filepath (str or Path): Path to read data.
+
+ Returns:
+ bytes: Expected bytes object.
+ """
+ with open(filepath, 'rb') as f:
+ value_buf = f.read()
+ return value_buf
+
+ def get_text(self,
+ filepath: Union[str, Path],
+ encoding: str = 'utf-8') -> str:
+ """Read data from a given ``filepath`` with 'r' mode.
+
+ Args:
+ filepath (str or Path): Path to read data.
+ encoding (str): The encoding format used to open the ``filepath``.
+ Default: 'utf-8'.
+
+ Returns:
+ str: Expected text reading from ``filepath``.
+ """
+ with open(filepath, 'r', encoding=encoding) as f:
+ value_buf = f.read()
+ return value_buf
+
+ def put(self, obj: bytes, filepath: Union[str, Path]) -> None:
+ """Write data to a given ``filepath`` with 'wb' mode.
+
+ Note:
+ ``put`` will create a directory if the directory of ``filepath``
+ does not exist.
+
+ Args:
+ obj (bytes): Data to be written.
+ filepath (str or Path): Path to write data.
+ """
+ mmcv.mkdir_or_exist(osp.dirname(filepath))
+ with open(filepath, 'wb') as f:
+ f.write(obj)
+
+ def put_text(self,
+ obj: str,
+ filepath: Union[str, Path],
+ encoding: str = 'utf-8') -> None:
+ """Write data to a given ``filepath`` with 'w' mode.
+
+ Note:
+ ``put_text`` will create a directory if the directory of
+ ``filepath`` does not exist.
+
+ Args:
+ obj (str): Data to be written.
+ filepath (str or Path): Path to write data.
+ encoding (str): The encoding format used to open the ``filepath``.
+ Default: 'utf-8'.
+ """
+ mmcv.mkdir_or_exist(osp.dirname(filepath))
+ with open(filepath, 'w', encoding=encoding) as f:
+ f.write(obj)
+
+ def remove(self, filepath: Union[str, Path]) -> None:
+ """Remove a file.
+
+ Args:
+ filepath (str or Path): Path to be removed.
+ """
+ os.remove(filepath)
+
+ def exists(self, filepath: Union[str, Path]) -> bool:
+ """Check whether a file path exists.
+
+ Args:
+ filepath (str or Path): Path to be checked whether exists.
+
+ Returns:
+ bool: Return ``True`` if ``filepath`` exists, ``False`` otherwise.
+ """
+ return osp.exists(filepath)
+
+ def isdir(self, filepath: Union[str, Path]) -> bool:
+ """Check whether a file path is a directory.
+
+ Args:
+ filepath (str or Path): Path to be checked whether it is a
+ directory.
+
+ Returns:
+ bool: Return ``True`` if ``filepath`` points to a directory,
+ ``False`` otherwise.
+ """
+ return osp.isdir(filepath)
+
+ def isfile(self, filepath: Union[str, Path]) -> bool:
+ """Check whether a file path is a file.
+
+ Args:
+ filepath (str or Path): Path to be checked whether it is a file.
+
+ Returns:
+ bool: Return ``True`` if ``filepath`` points to a file, ``False``
+ otherwise.
+ """
+ return osp.isfile(filepath)
+
+ def join_path(self, filepath: Union[str, Path],
+ *filepaths: Union[str, Path]) -> str:
+ """Concatenate all file paths.
+
+ Join one or more filepath components intelligently. The return value
+ is the concatenation of filepath and any members of *filepaths.
+
+ Args:
+ filepath (str or Path): Path to be concatenated.
+
+ Returns:
+ str: The result of concatenation.
+ """
+ return osp.join(filepath, *filepaths)
+
+ @contextmanager
+ def get_local_path(
+ self, filepath: Union[str, Path]) -> Iterable[Union[str, Path]]:
+ """Only for unified API and do nothing."""
+ yield filepath
+
+ def list_dir_or_file(self,
+ dir_path: Union[str, Path],
+ list_dir: bool = True,
+ list_file: bool = True,
+ suffix: Optional[Union[str, Tuple[str]]] = None,
+ recursive: bool = False) -> Iterator[str]:
+ """Scan a directory to find the interested directories or files in
+ arbitrary order.
+
+ Note:
+ :meth:`list_dir_or_file` returns the path relative to ``dir_path``.
+
+ Args:
+ dir_path (str | Path): Path of the directory.
+ list_dir (bool): List the directories. Default: True.
+ list_file (bool): List the path of files. Default: True.
+ suffix (str or tuple[str], optional): File suffix
+ that we are interested in. Default: None.
+ recursive (bool): If set to True, recursively scan the
+ directory. Default: False.
+
+ Yields:
+ Iterable[str]: A relative path to ``dir_path``.
+ """
+ if list_dir and suffix is not None:
+ raise TypeError('`suffix` should be None when `list_dir` is True')
+
+ if (suffix is not None) and not isinstance(suffix, (str, tuple)):
+ raise TypeError('`suffix` must be a string or tuple of strings')
+
+ root = dir_path
+
+ def _list_dir_or_file(dir_path, list_dir, list_file, suffix,
+ recursive):
+ for entry in os.scandir(dir_path):
+ if not entry.name.startswith('.') and entry.is_file():
+ rel_path = osp.relpath(entry.path, root)
+ if (suffix is None
+ or rel_path.endswith(suffix)) and list_file:
+ yield rel_path
+ elif osp.isdir(entry.path):
+ if list_dir:
+ rel_dir = osp.relpath(entry.path, root)
+ yield rel_dir
+ if recursive:
+ yield from _list_dir_or_file(entry.path, list_dir,
+ list_file, suffix,
+ recursive)
+
+ return _list_dir_or_file(dir_path, list_dir, list_file, suffix,
+ recursive)
+
+
+class HTTPBackend(BaseStorageBackend):
+ """HTTP and HTTPS storage bachend."""
+
+ def get(self, filepath):
+ value_buf = urlopen(filepath).read()
+ return value_buf
+
+ def get_text(self, filepath, encoding='utf-8'):
+ value_buf = urlopen(filepath).read()
+ return value_buf.decode(encoding)
+
+ @contextmanager
+ def get_local_path(self, filepath: str) -> Iterable[str]:
+ """Download a file from ``filepath``.
+
+ ``get_local_path`` is decorated by :meth:`contxtlib.contextmanager`. It
+ can be called with ``with`` statement, and when exists from the
+ ``with`` statement, the temporary path will be released.
+
+ Args:
+ filepath (str): Download a file from ``filepath``.
+
+ Examples:
+ >>> client = HTTPBackend()
+ >>> # After existing from the ``with`` clause,
+ >>> # the path will be removed
+ >>> with client.get_local_path('http://path/of/your/file') as path:
+ ... # do something here
+ """
+ try:
+ f = tempfile.NamedTemporaryFile(delete=False)
+ f.write(self.get(filepath))
+ f.close()
+ yield f.name
+ finally:
+ os.remove(f.name)
+
+
+class FileClient:
+ """A general file client to access files in different backends.
+
+ The client loads a file or text in a specified backend from its path
+ and returns it as a binary or text file. There are two ways to choose a
+ backend, the name of backend and the prefix of path. Although both of them
+ can be used to choose a storage backend, ``backend`` has a higher priority
+ that is if they are all set, the storage backend will be chosen by the
+ backend argument. If they are all `None`, the disk backend will be chosen.
+ Note that It can also register other backend accessor with a given name,
+ prefixes, and backend class. In addition, We use the singleton pattern to
+ avoid repeated object creation. If the arguments are the same, the same
+ object will be returned.
+
+ Args:
+ backend (str, optional): The storage backend type. Options are "disk",
+ "ceph", "memcached", "lmdb", "http" and "petrel". Default: None.
+ prefix (str, optional): The prefix of the registered storage backend.
+ Options are "s3", "http", "https". Default: None.
+
+ Examples:
+ >>> # only set backend
+ >>> file_client = FileClient(backend='petrel')
+ >>> # only set prefix
+ >>> file_client = FileClient(prefix='s3')
+ >>> # set both backend and prefix but use backend to choose client
+ >>> file_client = FileClient(backend='petrel', prefix='s3')
+ >>> # if the arguments are the same, the same object is returned
+ >>> file_client1 = FileClient(backend='petrel')
+ >>> file_client1 is file_client
+ True
+
+ Attributes:
+ client (:obj:`BaseStorageBackend`): The backend object.
+ """
+
+ _backends = {
+ 'disk': HardDiskBackend,
+ 'ceph': CephBackend,
+ 'memcached': MemcachedBackend,
+ 'lmdb': LmdbBackend,
+ 'petrel': PetrelBackend,
+ 'http': HTTPBackend,
+ }
+ # This collection is used to record the overridden backends, and when a
+ # backend appears in the collection, the singleton pattern is disabled for
+ # that backend, because if the singleton pattern is used, then the object
+ # returned will be the backend before overwriting
+ _overridden_backends = set()
+ _prefix_to_backends = {
+ 's3': PetrelBackend,
+ 'http': HTTPBackend,
+ 'https': HTTPBackend,
+ }
+ _overridden_prefixes = set()
+
+ _instances = {}
+
+ def __new__(cls, backend=None, prefix=None, **kwargs):
+ if backend is None and prefix is None:
+ backend = 'disk'
+ if backend is not None and backend not in cls._backends:
+ raise ValueError(
+ f'Backend {backend} is not supported. Currently supported ones'
+ f' are {list(cls._backends.keys())}')
+ if prefix is not None and prefix not in cls._prefix_to_backends:
+ raise ValueError(
+ f'prefix {prefix} is not supported. Currently supported ones '
+ f'are {list(cls._prefix_to_backends.keys())}')
+
+ # concatenate the arguments to a unique key for determining whether
+ # objects with the same arguments were created
+ arg_key = f'{backend}:{prefix}'
+ for key, value in kwargs.items():
+ arg_key += f':{key}:{value}'
+
+ # if a backend was overridden, it will create a new object
+ if (arg_key in cls._instances
+ and backend not in cls._overridden_backends
+ and prefix not in cls._overridden_prefixes):
+ _instance = cls._instances[arg_key]
+ else:
+ # create a new object and put it to _instance
+ _instance = super().__new__(cls)
+ if backend is not None:
+ _instance.client = cls._backends[backend](**kwargs)
+ else:
+ _instance.client = cls._prefix_to_backends[prefix](**kwargs)
+
+ cls._instances[arg_key] = _instance
+
+ return _instance
+
+ @property
+ def name(self):
+ return self.client.name
+
+ @property
+ def allow_symlink(self):
+ return self.client.allow_symlink
+
+ @staticmethod
+ def parse_uri_prefix(uri: Union[str, Path]) -> Optional[str]:
+ """Parse the prefix of a uri.
+
+ Args:
+ uri (str | Path): Uri to be parsed that contains the file prefix.
+
+ Examples:
+ >>> FileClient.parse_uri_prefix('s3://path/of/your/file')
+ 's3'
+
+ Returns:
+ str | None: Return the prefix of uri if the uri contains '://'
+ else ``None``.
+ """
+ assert is_filepath(uri)
+ uri = str(uri)
+ if '://' not in uri:
+ return None
+ else:
+ prefix, _ = uri.split('://')
+ # In the case of PetrelBackend, the prefix may contains the cluster
+ # name like clusterName:s3
+ if ':' in prefix:
+ _, prefix = prefix.split(':')
+ return prefix
+
+ @classmethod
+ def infer_client(cls,
+ file_client_args: Optional[dict] = None,
+ uri: Optional[Union[str, Path]] = None) -> 'FileClient':
+ """Infer a suitable file client based on the URI and arguments.
+
+ Args:
+ file_client_args (dict, optional): Arguments to instantiate a
+ FileClient. Default: None.
+ uri (str | Path, optional): Uri to be parsed that contains the file
+ prefix. Default: None.
+
+ Examples:
+ >>> uri = 's3://path/of/your/file'
+ >>> file_client = FileClient.infer_client(uri=uri)
+ >>> file_client_args = {'backend': 'petrel'}
+ >>> file_client = FileClient.infer_client(file_client_args)
+
+ Returns:
+ FileClient: Instantiated FileClient object.
+ """
+ assert file_client_args is not None or uri is not None
+ if file_client_args is None:
+ file_prefix = cls.parse_uri_prefix(uri) # type: ignore
+ return cls(prefix=file_prefix)
+ else:
+ return cls(**file_client_args)
+
+ @classmethod
+ def _register_backend(cls, name, backend, force=False, prefixes=None):
+ if not isinstance(name, str):
+ raise TypeError('the backend name should be a string, '
+ f'but got {type(name)}')
+ if not inspect.isclass(backend):
+ raise TypeError(
+ f'backend should be a class but got {type(backend)}')
+ if not issubclass(backend, BaseStorageBackend):
+ raise TypeError(
+ f'backend {backend} is not a subclass of BaseStorageBackend')
+ if not force and name in cls._backends:
+ raise KeyError(
+ f'{name} is already registered as a storage backend, '
+ 'add "force=True" if you want to override it')
+
+ if name in cls._backends and force:
+ cls._overridden_backends.add(name)
+ cls._backends[name] = backend
+
+ if prefixes is not None:
+ if isinstance(prefixes, str):
+ prefixes = [prefixes]
+ else:
+ assert isinstance(prefixes, (list, tuple))
+ for prefix in prefixes:
+ if prefix not in cls._prefix_to_backends:
+ cls._prefix_to_backends[prefix] = backend
+ elif (prefix in cls._prefix_to_backends) and force:
+ cls._overridden_prefixes.add(prefix)
+ cls._prefix_to_backends[prefix] = backend
+ else:
+ raise KeyError(
+ f'{prefix} is already registered as a storage backend,'
+ ' add "force=True" if you want to override it')
+
+ @classmethod
+ def register_backend(cls, name, backend=None, force=False, prefixes=None):
+ """Register a backend to FileClient.
+
+ This method can be used as a normal class method or a decorator.
+
+ .. code-block:: python
+
+ class NewBackend(BaseStorageBackend):
+
+ def get(self, filepath):
+ return filepath
+
+ def get_text(self, filepath):
+ return filepath
+
+ FileClient.register_backend('new', NewBackend)
+
+ or
+
+ .. code-block:: python
+
+ @FileClient.register_backend('new')
+ class NewBackend(BaseStorageBackend):
+
+ def get(self, filepath):
+ return filepath
+
+ def get_text(self, filepath):
+ return filepath
+
+ Args:
+ name (str): The name of the registered backend.
+ backend (class, optional): The backend class to be registered,
+ which must be a subclass of :class:`BaseStorageBackend`.
+ When this method is used as a decorator, backend is None.
+ Defaults to None.
+ force (bool, optional): Whether to override the backend if the name
+ has already been registered. Defaults to False.
+ prefixes (str or list[str] or tuple[str], optional): The prefixes
+ of the registered storage backend. Default: None.
+ `New in version 1.3.15.`
+ """
+ if backend is not None:
+ cls._register_backend(
+ name, backend, force=force, prefixes=prefixes)
+ return
+
+ def _register(backend_cls):
+ cls._register_backend(
+ name, backend_cls, force=force, prefixes=prefixes)
+ return backend_cls
+
+ return _register
+
+ def get(self, filepath: Union[str, Path]) -> Union[bytes, memoryview]:
+ """Read data from a given ``filepath`` with 'rb' mode.
+
+ Note:
+ There are two types of return values for ``get``, one is ``bytes``
+ and the other is ``memoryview``. The advantage of using memoryview
+ is that you can avoid copying, and if you want to convert it to
+ ``bytes``, you can use ``.tobytes()``.
+
+ Args:
+ filepath (str or Path): Path to read data.
+
+ Returns:
+ bytes | memoryview: Expected bytes object or a memory view of the
+ bytes object.
+ """
+ return self.client.get(filepath)
+
+ def get_text(self, filepath: Union[str, Path], encoding='utf-8') -> str:
+ """Read data from a given ``filepath`` with 'r' mode.
+
+ Args:
+ filepath (str or Path): Path to read data.
+ encoding (str): The encoding format used to open the ``filepath``.
+ Default: 'utf-8'.
+
+ Returns:
+ str: Expected text reading from ``filepath``.
+ """
+ return self.client.get_text(filepath, encoding)
+
+ def put(self, obj: bytes, filepath: Union[str, Path]) -> None:
+ """Write data to a given ``filepath`` with 'wb' mode.
+
+ Note:
+ ``put`` should create a directory if the directory of ``filepath``
+ does not exist.
+
+ Args:
+ obj (bytes): Data to be written.
+ filepath (str or Path): Path to write data.
+ """
+ self.client.put(obj, filepath)
+
+ def put_text(self, obj: str, filepath: Union[str, Path]) -> None:
+ """Write data to a given ``filepath`` with 'w' mode.
+
+ Note:
+ ``put_text`` should create a directory if the directory of
+ ``filepath`` does not exist.
+
+ Args:
+ obj (str): Data to be written.
+ filepath (str or Path): Path to write data.
+ encoding (str, optional): The encoding format used to open the
+ `filepath`. Default: 'utf-8'.
+ """
+ self.client.put_text(obj, filepath)
+
+ def remove(self, filepath: Union[str, Path]) -> None:
+ """Remove a file.
+
+ Args:
+ filepath (str, Path): Path to be removed.
+ """
+ self.client.remove(filepath)
+
+ def exists(self, filepath: Union[str, Path]) -> bool:
+ """Check whether a file path exists.
+
+ Args:
+ filepath (str or Path): Path to be checked whether exists.
+
+ Returns:
+ bool: Return ``True`` if ``filepath`` exists, ``False`` otherwise.
+ """
+ return self.client.exists(filepath)
+
+ def isdir(self, filepath: Union[str, Path]) -> bool:
+ """Check whether a file path is a directory.
+
+ Args:
+ filepath (str or Path): Path to be checked whether it is a
+ directory.
+
+ Returns:
+ bool: Return ``True`` if ``filepath`` points to a directory,
+ ``False`` otherwise.
+ """
+ return self.client.isdir(filepath)
+
+ def isfile(self, filepath: Union[str, Path]) -> bool:
+ """Check whether a file path is a file.
+
+ Args:
+ filepath (str or Path): Path to be checked whether it is a file.
+
+ Returns:
+ bool: Return ``True`` if ``filepath`` points to a file, ``False``
+ otherwise.
+ """
+ return self.client.isfile(filepath)
+
+ def join_path(self, filepath: Union[str, Path],
+ *filepaths: Union[str, Path]) -> str:
+ """Concatenate all file paths.
+
+ Join one or more filepath components intelligently. The return value
+ is the concatenation of filepath and any members of *filepaths.
+
+ Args:
+ filepath (str or Path): Path to be concatenated.
+
+ Returns:
+ str: The result of concatenation.
+ """
+ return self.client.join_path(filepath, *filepaths)
+
+ @contextmanager
+ def get_local_path(self, filepath: Union[str, Path]) -> Iterable[str]:
+ """Download data from ``filepath`` and write the data to local path.
+
+ ``get_local_path`` is decorated by :meth:`contxtlib.contextmanager`. It
+ can be called with ``with`` statement, and when exists from the
+ ``with`` statement, the temporary path will be released.
+
+ Note:
+ If the ``filepath`` is a local path, just return itself.
+
+ .. warning::
+ ``get_local_path`` is an experimental interface that may change in
+ the future.
+
+ Args:
+ filepath (str or Path): Path to be read data.
+
+ Examples:
+ >>> file_client = FileClient(prefix='s3')
+ >>> with file_client.get_local_path('s3://bucket/abc.jpg') as path:
+ ... # do something here
+
+ Yields:
+ Iterable[str]: Only yield one path.
+ """
+ with self.client.get_local_path(str(filepath)) as local_path:
+ yield local_path
+
+ def list_dir_or_file(self,
+ dir_path: Union[str, Path],
+ list_dir: bool = True,
+ list_file: bool = True,
+ suffix: Optional[Union[str, Tuple[str]]] = None,
+ recursive: bool = False) -> Iterator[str]:
+ """Scan a directory to find the interested directories or files in
+ arbitrary order.
+
+ Note:
+ :meth:`list_dir_or_file` returns the path relative to ``dir_path``.
+
+ Args:
+ dir_path (str | Path): Path of the directory.
+ list_dir (bool): List the directories. Default: True.
+ list_file (bool): List the path of files. Default: True.
+ suffix (str or tuple[str], optional): File suffix
+ that we are interested in. Default: None.
+ recursive (bool): If set to True, recursively scan the
+ directory. Default: False.
+
+ Yields:
+ Iterable[str]: A relative path to ``dir_path``.
+ """
+ yield from self.client.list_dir_or_file(dir_path, list_dir, list_file,
+ suffix, recursive)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/fileio/handlers/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/fileio/handlers/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..aa24d91972837b8756b225f4879bac20436eb72a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/fileio/handlers/__init__.py
@@ -0,0 +1,7 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from .base import BaseFileHandler
+from .json_handler import JsonHandler
+from .pickle_handler import PickleHandler
+from .yaml_handler import YamlHandler
+
+__all__ = ['BaseFileHandler', 'JsonHandler', 'PickleHandler', 'YamlHandler']
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/fileio/handlers/base.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/fileio/handlers/base.py
new file mode 100644
index 0000000000000000000000000000000000000000..288878bc57282fbb2f12b32290152ca8e9d3cab0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/fileio/handlers/base.py
@@ -0,0 +1,30 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from abc import ABCMeta, abstractmethod
+
+
+class BaseFileHandler(metaclass=ABCMeta):
+ # `str_like` is a flag to indicate whether the type of file object is
+ # str-like object or bytes-like object. Pickle only processes bytes-like
+ # objects but json only processes str-like object. If it is str-like
+ # object, `StringIO` will be used to process the buffer.
+ str_like = True
+
+ @abstractmethod
+ def load_from_fileobj(self, file, **kwargs):
+ pass
+
+ @abstractmethod
+ def dump_to_fileobj(self, obj, file, **kwargs):
+ pass
+
+ @abstractmethod
+ def dump_to_str(self, obj, **kwargs):
+ pass
+
+ def load_from_path(self, filepath, mode='r', **kwargs):
+ with open(filepath, mode) as f:
+ return self.load_from_fileobj(f, **kwargs)
+
+ def dump_to_path(self, obj, filepath, mode='w', **kwargs):
+ with open(filepath, mode) as f:
+ self.dump_to_fileobj(obj, f, **kwargs)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/fileio/handlers/json_handler.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/fileio/handlers/json_handler.py
new file mode 100644
index 0000000000000000000000000000000000000000..18d4f15f74139d20adff18b20be5529c592a66b6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/fileio/handlers/json_handler.py
@@ -0,0 +1,36 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import json
+
+import numpy as np
+
+from .base import BaseFileHandler
+
+
+def set_default(obj):
+ """Set default json values for non-serializable values.
+
+ It helps convert ``set``, ``range`` and ``np.ndarray`` data types to list.
+ It also converts ``np.generic`` (including ``np.int32``, ``np.float32``,
+ etc.) into plain numbers of plain python built-in types.
+ """
+ if isinstance(obj, (set, range)):
+ return list(obj)
+ elif isinstance(obj, np.ndarray):
+ return obj.tolist()
+ elif isinstance(obj, np.generic):
+ return obj.item()
+ raise TypeError(f'{type(obj)} is unsupported for json dump')
+
+
+class JsonHandler(BaseFileHandler):
+
+ def load_from_fileobj(self, file):
+ return json.load(file)
+
+ def dump_to_fileobj(self, obj, file, **kwargs):
+ kwargs.setdefault('default', set_default)
+ json.dump(obj, file, **kwargs)
+
+ def dump_to_str(self, obj, **kwargs):
+ kwargs.setdefault('default', set_default)
+ return json.dumps(obj, **kwargs)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/fileio/handlers/pickle_handler.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/fileio/handlers/pickle_handler.py
new file mode 100644
index 0000000000000000000000000000000000000000..b37c79bed4ef9fd8913715e62dbe3fc5cafdc3aa
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/fileio/handlers/pickle_handler.py
@@ -0,0 +1,28 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import pickle
+
+from .base import BaseFileHandler
+
+
+class PickleHandler(BaseFileHandler):
+
+ str_like = False
+
+ def load_from_fileobj(self, file, **kwargs):
+ return pickle.load(file, **kwargs)
+
+ def load_from_path(self, filepath, **kwargs):
+ return super(PickleHandler, self).load_from_path(
+ filepath, mode='rb', **kwargs)
+
+ def dump_to_str(self, obj, **kwargs):
+ kwargs.setdefault('protocol', 2)
+ return pickle.dumps(obj, **kwargs)
+
+ def dump_to_fileobj(self, obj, file, **kwargs):
+ kwargs.setdefault('protocol', 2)
+ pickle.dump(obj, file, **kwargs)
+
+ def dump_to_path(self, obj, filepath, **kwargs):
+ super(PickleHandler, self).dump_to_path(
+ obj, filepath, mode='wb', **kwargs)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/fileio/handlers/yaml_handler.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/fileio/handlers/yaml_handler.py
new file mode 100644
index 0000000000000000000000000000000000000000..c5aa2eea1e8c76f8baf753d1c8c959dee665e543
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/fileio/handlers/yaml_handler.py
@@ -0,0 +1,24 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import yaml
+
+try:
+ from yaml import CLoader as Loader, CDumper as Dumper
+except ImportError:
+ from yaml import Loader, Dumper
+
+from .base import BaseFileHandler # isort:skip
+
+
+class YamlHandler(BaseFileHandler):
+
+ def load_from_fileobj(self, file, **kwargs):
+ kwargs.setdefault('Loader', Loader)
+ return yaml.load(file, **kwargs)
+
+ def dump_to_fileobj(self, obj, file, **kwargs):
+ kwargs.setdefault('Dumper', Dumper)
+ yaml.dump(obj, file, **kwargs)
+
+ def dump_to_str(self, obj, **kwargs):
+ kwargs.setdefault('Dumper', Dumper)
+ return yaml.dump(obj, **kwargs)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/fileio/io.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/fileio/io.py
new file mode 100644
index 0000000000000000000000000000000000000000..aaefde58aa3ea5b58f86249ce7e1c40c186eb8dd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/fileio/io.py
@@ -0,0 +1,151 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from io import BytesIO, StringIO
+from pathlib import Path
+
+from ..utils import is_list_of, is_str
+from .file_client import FileClient
+from .handlers import BaseFileHandler, JsonHandler, PickleHandler, YamlHandler
+
+file_handlers = {
+ 'json': JsonHandler(),
+ 'yaml': YamlHandler(),
+ 'yml': YamlHandler(),
+ 'pickle': PickleHandler(),
+ 'pkl': PickleHandler()
+}
+
+
+def load(file, file_format=None, file_client_args=None, **kwargs):
+ """Load data from json/yaml/pickle files.
+
+ This method provides a unified api for loading data from serialized files.
+
+ Note:
+ In v1.3.16 and later, ``load`` supports loading data from serialized
+ files those can be storaged in different backends.
+
+ Args:
+ file (str or :obj:`Path` or file-like object): Filename or a file-like
+ object.
+ file_format (str, optional): If not specified, the file format will be
+ inferred from the file extension, otherwise use the specified one.
+ Currently supported formats include "json", "yaml/yml" and
+ "pickle/pkl".
+ file_client_args (dict, optional): Arguments to instantiate a
+ FileClient. See :class:`mmcv.fileio.FileClient` for details.
+ Default: None.
+
+ Examples:
+ >>> load('/path/of/your/file') # file is storaged in disk
+ >>> load('https://path/of/your/file') # file is storaged in Internet
+ >>> load('s3://path/of/your/file') # file is storaged in petrel
+
+ Returns:
+ The content from the file.
+ """
+ if isinstance(file, Path):
+ file = str(file)
+ if file_format is None and is_str(file):
+ file_format = file.split('.')[-1]
+ if file_format not in file_handlers:
+ raise TypeError(f'Unsupported format: {file_format}')
+
+ handler = file_handlers[file_format]
+ if is_str(file):
+ file_client = FileClient.infer_client(file_client_args, file)
+ if handler.str_like:
+ with StringIO(file_client.get_text(file)) as f:
+ obj = handler.load_from_fileobj(f, **kwargs)
+ else:
+ with BytesIO(file_client.get(file)) as f:
+ obj = handler.load_from_fileobj(f, **kwargs)
+ elif hasattr(file, 'read'):
+ obj = handler.load_from_fileobj(file, **kwargs)
+ else:
+ raise TypeError('"file" must be a filepath str or a file-object')
+ return obj
+
+
+def dump(obj, file=None, file_format=None, file_client_args=None, **kwargs):
+ """Dump data to json/yaml/pickle strings or files.
+
+ This method provides a unified api for dumping data as strings or to files,
+ and also supports custom arguments for each file format.
+
+ Note:
+ In v1.3.16 and later, ``dump`` supports dumping data as strings or to
+ files which is saved to different backends.
+
+ Args:
+ obj (any): The python object to be dumped.
+ file (str or :obj:`Path` or file-like object, optional): If not
+ specified, then the object is dumped to a str, otherwise to a file
+ specified by the filename or file-like object.
+ file_format (str, optional): Same as :func:`load`.
+ file_client_args (dict, optional): Arguments to instantiate a
+ FileClient. See :class:`mmcv.fileio.FileClient` for details.
+ Default: None.
+
+ Examples:
+ >>> dump('hello world', '/path/of/your/file') # disk
+ >>> dump('hello world', 's3://path/of/your/file') # ceph or petrel
+
+ Returns:
+ bool: True for success, False otherwise.
+ """
+ if isinstance(file, Path):
+ file = str(file)
+ if file_format is None:
+ if is_str(file):
+ file_format = file.split('.')[-1]
+ elif file is None:
+ raise ValueError(
+ 'file_format must be specified since file is None')
+ if file_format not in file_handlers:
+ raise TypeError(f'Unsupported format: {file_format}')
+
+ handler = file_handlers[file_format]
+ if file is None:
+ return handler.dump_to_str(obj, **kwargs)
+ elif is_str(file):
+ file_client = FileClient.infer_client(file_client_args, file)
+ if handler.str_like:
+ with StringIO() as f:
+ handler.dump_to_fileobj(obj, f, **kwargs)
+ file_client.put_text(f.getvalue(), file)
+ else:
+ with BytesIO() as f:
+ handler.dump_to_fileobj(obj, f, **kwargs)
+ file_client.put(f.getvalue(), file)
+ elif hasattr(file, 'write'):
+ handler.dump_to_fileobj(obj, file, **kwargs)
+ else:
+ raise TypeError('"file" must be a filename str or a file-object')
+
+
+def _register_handler(handler, file_formats):
+ """Register a handler for some file extensions.
+
+ Args:
+ handler (:obj:`BaseFileHandler`): Handler to be registered.
+ file_formats (str or list[str]): File formats to be handled by this
+ handler.
+ """
+ if not isinstance(handler, BaseFileHandler):
+ raise TypeError(
+ f'handler must be a child of BaseFileHandler, not {type(handler)}')
+ if isinstance(file_formats, str):
+ file_formats = [file_formats]
+ if not is_list_of(file_formats, str):
+ raise TypeError('file_formats must be a str or a list of str')
+ for ext in file_formats:
+ file_handlers[ext] = handler
+
+
+def register_handler(file_formats, **kwargs):
+
+ def wrap(cls):
+ _register_handler(cls(**kwargs), file_formats)
+ return cls
+
+ return wrap
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/fileio/parse.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/fileio/parse.py
new file mode 100644
index 0000000000000000000000000000000000000000..f60f0d611b8d75692221d0edd7dc993b0a6445c9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/fileio/parse.py
@@ -0,0 +1,97 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+
+from io import StringIO
+
+from .file_client import FileClient
+
+
+def list_from_file(filename,
+ prefix='',
+ offset=0,
+ max_num=0,
+ encoding='utf-8',
+ file_client_args=None):
+ """Load a text file and parse the content as a list of strings.
+
+ Note:
+ In v1.3.16 and later, ``list_from_file`` supports loading a text file
+ which can be storaged in different backends and parsing the content as
+ a list for strings.
+
+ Args:
+ filename (str): Filename.
+ prefix (str): The prefix to be inserted to the beginning of each item.
+ offset (int): The offset of lines.
+ max_num (int): The maximum number of lines to be read,
+ zeros and negatives mean no limitation.
+ encoding (str): Encoding used to open the file. Default utf-8.
+ file_client_args (dict, optional): Arguments to instantiate a
+ FileClient. See :class:`mmcv.fileio.FileClient` for details.
+ Default: None.
+
+ Examples:
+ >>> list_from_file('/path/of/your/file') # disk
+ ['hello', 'world']
+ >>> list_from_file('s3://path/of/your/file') # ceph or petrel
+ ['hello', 'world']
+
+ Returns:
+ list[str]: A list of strings.
+ """
+ cnt = 0
+ item_list = []
+ file_client = FileClient.infer_client(file_client_args, filename)
+ with StringIO(file_client.get_text(filename, encoding)) as f:
+ for _ in range(offset):
+ f.readline()
+ for line in f:
+ if 0 < max_num <= cnt:
+ break
+ item_list.append(prefix + line.rstrip('\n\r'))
+ cnt += 1
+ return item_list
+
+
+def dict_from_file(filename,
+ key_type=str,
+ encoding='utf-8',
+ file_client_args=None):
+ """Load a text file and parse the content as a dict.
+
+ Each line of the text file will be two or more columns split by
+ whitespaces or tabs. The first column will be parsed as dict keys, and
+ the following columns will be parsed as dict values.
+
+ Note:
+ In v1.3.16 and later, ``dict_from_file`` supports loading a text file
+ which can be storaged in different backends and parsing the content as
+ a dict.
+
+ Args:
+ filename(str): Filename.
+ key_type(type): Type of the dict keys. str is user by default and
+ type conversion will be performed if specified.
+ encoding (str): Encoding used to open the file. Default utf-8.
+ file_client_args (dict, optional): Arguments to instantiate a
+ FileClient. See :class:`mmcv.fileio.FileClient` for details.
+ Default: None.
+
+ Examples:
+ >>> dict_from_file('/path/of/your/file') # disk
+ {'key1': 'value1', 'key2': 'value2'}
+ >>> dict_from_file('s3://path/of/your/file') # ceph or petrel
+ {'key1': 'value1', 'key2': 'value2'}
+
+ Returns:
+ dict: The parsed contents.
+ """
+ mapping = {}
+ file_client = FileClient.infer_client(file_client_args, filename)
+ with StringIO(file_client.get_text(filename, encoding)) as f:
+ for line in f:
+ items = line.rstrip('\n').split()
+ assert len(items) >= 2
+ key = key_type(items[0])
+ val = items[1:] if len(items) > 2 else items[1]
+ mapping[key] = val
+ return mapping
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/image/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/image/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..d0051d609d3de4e7562e3fe638335c66617c4d91
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/image/__init__.py
@@ -0,0 +1,28 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from .colorspace import (bgr2gray, bgr2hls, bgr2hsv, bgr2rgb, bgr2ycbcr,
+ gray2bgr, gray2rgb, hls2bgr, hsv2bgr, imconvert,
+ rgb2bgr, rgb2gray, rgb2ycbcr, ycbcr2bgr, ycbcr2rgb)
+from .geometric import (cutout, imcrop, imflip, imflip_, impad,
+ impad_to_multiple, imrescale, imresize, imresize_like,
+ imresize_to_multiple, imrotate, imshear, imtranslate,
+ rescale_size)
+from .io import imfrombytes, imread, imwrite, supported_backends, use_backend
+from .misc import tensor2imgs
+from .photometric import (adjust_brightness, adjust_color, adjust_contrast,
+ adjust_lighting, adjust_sharpness, auto_contrast,
+ clahe, imdenormalize, imequalize, iminvert,
+ imnormalize, imnormalize_, lut_transform, posterize,
+ solarize)
+
+__all__ = [
+ 'bgr2gray', 'bgr2hls', 'bgr2hsv', 'bgr2rgb', 'gray2bgr', 'gray2rgb',
+ 'hls2bgr', 'hsv2bgr', 'imconvert', 'rgb2bgr', 'rgb2gray', 'imrescale',
+ 'imresize', 'imresize_like', 'imresize_to_multiple', 'rescale_size',
+ 'imcrop', 'imflip', 'imflip_', 'impad', 'impad_to_multiple', 'imrotate',
+ 'imfrombytes', 'imread', 'imwrite', 'supported_backends', 'use_backend',
+ 'imdenormalize', 'imnormalize', 'imnormalize_', 'iminvert', 'posterize',
+ 'solarize', 'rgb2ycbcr', 'bgr2ycbcr', 'ycbcr2rgb', 'ycbcr2bgr',
+ 'tensor2imgs', 'imshear', 'imtranslate', 'adjust_color', 'imequalize',
+ 'adjust_brightness', 'adjust_contrast', 'lut_transform', 'clahe',
+ 'adjust_sharpness', 'auto_contrast', 'cutout', 'adjust_lighting'
+]
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/image/colorspace.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/image/colorspace.py
new file mode 100644
index 0000000000000000000000000000000000000000..814533952fdfda23d67cb6a3073692d8c1156add
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/image/colorspace.py
@@ -0,0 +1,306 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import cv2
+import numpy as np
+
+
+def imconvert(img, src, dst):
+ """Convert an image from the src colorspace to dst colorspace.
+
+ Args:
+ img (ndarray): The input image.
+ src (str): The source colorspace, e.g., 'rgb', 'hsv'.
+ dst (str): The destination colorspace, e.g., 'rgb', 'hsv'.
+
+ Returns:
+ ndarray: The converted image.
+ """
+ code = getattr(cv2, f'COLOR_{src.upper()}2{dst.upper()}')
+ out_img = cv2.cvtColor(img, code)
+ return out_img
+
+
+def bgr2gray(img, keepdim=False):
+ """Convert a BGR image to grayscale image.
+
+ Args:
+ img (ndarray): The input image.
+ keepdim (bool): If False (by default), then return the grayscale image
+ with 2 dims, otherwise 3 dims.
+
+ Returns:
+ ndarray: The converted grayscale image.
+ """
+ out_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
+ if keepdim:
+ out_img = out_img[..., None]
+ return out_img
+
+
+def rgb2gray(img, keepdim=False):
+ """Convert a RGB image to grayscale image.
+
+ Args:
+ img (ndarray): The input image.
+ keepdim (bool): If False (by default), then return the grayscale image
+ with 2 dims, otherwise 3 dims.
+
+ Returns:
+ ndarray: The converted grayscale image.
+ """
+ out_img = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
+ if keepdim:
+ out_img = out_img[..., None]
+ return out_img
+
+
+def gray2bgr(img):
+ """Convert a grayscale image to BGR image.
+
+ Args:
+ img (ndarray): The input image.
+
+ Returns:
+ ndarray: The converted BGR image.
+ """
+ img = img[..., None] if img.ndim == 2 else img
+ out_img = cv2.cvtColor(img, cv2.COLOR_GRAY2BGR)
+ return out_img
+
+
+def gray2rgb(img):
+ """Convert a grayscale image to RGB image.
+
+ Args:
+ img (ndarray): The input image.
+
+ Returns:
+ ndarray: The converted RGB image.
+ """
+ img = img[..., None] if img.ndim == 2 else img
+ out_img = cv2.cvtColor(img, cv2.COLOR_GRAY2RGB)
+ return out_img
+
+
+def _convert_input_type_range(img):
+ """Convert the type and range of the input image.
+
+ It converts the input image to np.float32 type and range of [0, 1].
+ It is mainly used for pre-processing the input image in colorspace
+ conversion functions such as rgb2ycbcr and ycbcr2rgb.
+
+ Args:
+ img (ndarray): The input image. It accepts:
+ 1. np.uint8 type with range [0, 255];
+ 2. np.float32 type with range [0, 1].
+
+ Returns:
+ (ndarray): The converted image with type of np.float32 and range of
+ [0, 1].
+ """
+ img_type = img.dtype
+ img = img.astype(np.float32)
+ if img_type == np.float32:
+ pass
+ elif img_type == np.uint8:
+ img /= 255.
+ else:
+ raise TypeError('The img type should be np.float32 or np.uint8, '
+ f'but got {img_type}')
+ return img
+
+
+def _convert_output_type_range(img, dst_type):
+ """Convert the type and range of the image according to dst_type.
+
+ It converts the image to desired type and range. If `dst_type` is np.uint8,
+ images will be converted to np.uint8 type with range [0, 255]. If
+ `dst_type` is np.float32, it converts the image to np.float32 type with
+ range [0, 1].
+ It is mainly used for post-processing images in colorspace conversion
+ functions such as rgb2ycbcr and ycbcr2rgb.
+
+ Args:
+ img (ndarray): The image to be converted with np.float32 type and
+ range [0, 255].
+ dst_type (np.uint8 | np.float32): If dst_type is np.uint8, it
+ converts the image to np.uint8 type with range [0, 255]. If
+ dst_type is np.float32, it converts the image to np.float32 type
+ with range [0, 1].
+
+ Returns:
+ (ndarray): The converted image with desired type and range.
+ """
+ if dst_type not in (np.uint8, np.float32):
+ raise TypeError('The dst_type should be np.float32 or np.uint8, '
+ f'but got {dst_type}')
+ if dst_type == np.uint8:
+ img = img.round()
+ else:
+ img /= 255.
+ return img.astype(dst_type)
+
+
+def rgb2ycbcr(img, y_only=False):
+ """Convert a RGB image to YCbCr image.
+
+ This function produces the same results as Matlab's `rgb2ycbcr` function.
+ It implements the ITU-R BT.601 conversion for standard-definition
+ television. See more details in
+ https://en.wikipedia.org/wiki/YCbCr#ITU-R_BT.601_conversion.
+
+ It differs from a similar function in cv2.cvtColor: `RGB <-> YCrCb`.
+ In OpenCV, it implements a JPEG conversion. See more details in
+ https://en.wikipedia.org/wiki/YCbCr#JPEG_conversion.
+
+ Args:
+ img (ndarray): The input image. It accepts:
+ 1. np.uint8 type with range [0, 255];
+ 2. np.float32 type with range [0, 1].
+ y_only (bool): Whether to only return Y channel. Default: False.
+
+ Returns:
+ ndarray: The converted YCbCr image. The output image has the same type
+ and range as input image.
+ """
+ img_type = img.dtype
+ img = _convert_input_type_range(img)
+ if y_only:
+ out_img = np.dot(img, [65.481, 128.553, 24.966]) + 16.0
+ else:
+ out_img = np.matmul(
+ img, [[65.481, -37.797, 112.0], [128.553, -74.203, -93.786],
+ [24.966, 112.0, -18.214]]) + [16, 128, 128]
+ out_img = _convert_output_type_range(out_img, img_type)
+ return out_img
+
+
+def bgr2ycbcr(img, y_only=False):
+ """Convert a BGR image to YCbCr image.
+
+ The bgr version of rgb2ycbcr.
+ It implements the ITU-R BT.601 conversion for standard-definition
+ television. See more details in
+ https://en.wikipedia.org/wiki/YCbCr#ITU-R_BT.601_conversion.
+
+ It differs from a similar function in cv2.cvtColor: `BGR <-> YCrCb`.
+ In OpenCV, it implements a JPEG conversion. See more details in
+ https://en.wikipedia.org/wiki/YCbCr#JPEG_conversion.
+
+ Args:
+ img (ndarray): The input image. It accepts:
+ 1. np.uint8 type with range [0, 255];
+ 2. np.float32 type with range [0, 1].
+ y_only (bool): Whether to only return Y channel. Default: False.
+
+ Returns:
+ ndarray: The converted YCbCr image. The output image has the same type
+ and range as input image.
+ """
+ img_type = img.dtype
+ img = _convert_input_type_range(img)
+ if y_only:
+ out_img = np.dot(img, [24.966, 128.553, 65.481]) + 16.0
+ else:
+ out_img = np.matmul(
+ img, [[24.966, 112.0, -18.214], [128.553, -74.203, -93.786],
+ [65.481, -37.797, 112.0]]) + [16, 128, 128]
+ out_img = _convert_output_type_range(out_img, img_type)
+ return out_img
+
+
+def ycbcr2rgb(img):
+ """Convert a YCbCr image to RGB image.
+
+ This function produces the same results as Matlab's ycbcr2rgb function.
+ It implements the ITU-R BT.601 conversion for standard-definition
+ television. See more details in
+ https://en.wikipedia.org/wiki/YCbCr#ITU-R_BT.601_conversion.
+
+ It differs from a similar function in cv2.cvtColor: `YCrCb <-> RGB`.
+ In OpenCV, it implements a JPEG conversion. See more details in
+ https://en.wikipedia.org/wiki/YCbCr#JPEG_conversion.
+
+ Args:
+ img (ndarray): The input image. It accepts:
+ 1. np.uint8 type with range [0, 255];
+ 2. np.float32 type with range [0, 1].
+
+ Returns:
+ ndarray: The converted RGB image. The output image has the same type
+ and range as input image.
+ """
+ img_type = img.dtype
+ img = _convert_input_type_range(img) * 255
+ out_img = np.matmul(img, [[0.00456621, 0.00456621, 0.00456621],
+ [0, -0.00153632, 0.00791071],
+ [0.00625893, -0.00318811, 0]]) * 255.0 + [
+ -222.921, 135.576, -276.836
+ ]
+ out_img = _convert_output_type_range(out_img, img_type)
+ return out_img
+
+
+def ycbcr2bgr(img):
+ """Convert a YCbCr image to BGR image.
+
+ The bgr version of ycbcr2rgb.
+ It implements the ITU-R BT.601 conversion for standard-definition
+ television. See more details in
+ https://en.wikipedia.org/wiki/YCbCr#ITU-R_BT.601_conversion.
+
+ It differs from a similar function in cv2.cvtColor: `YCrCb <-> BGR`.
+ In OpenCV, it implements a JPEG conversion. See more details in
+ https://en.wikipedia.org/wiki/YCbCr#JPEG_conversion.
+
+ Args:
+ img (ndarray): The input image. It accepts:
+ 1. np.uint8 type with range [0, 255];
+ 2. np.float32 type with range [0, 1].
+
+ Returns:
+ ndarray: The converted BGR image. The output image has the same type
+ and range as input image.
+ """
+ img_type = img.dtype
+ img = _convert_input_type_range(img) * 255
+ out_img = np.matmul(img, [[0.00456621, 0.00456621, 0.00456621],
+ [0.00791071, -0.00153632, 0],
+ [0, -0.00318811, 0.00625893]]) * 255.0 + [
+ -276.836, 135.576, -222.921
+ ]
+ out_img = _convert_output_type_range(out_img, img_type)
+ return out_img
+
+
+def convert_color_factory(src, dst):
+
+ code = getattr(cv2, f'COLOR_{src.upper()}2{dst.upper()}')
+
+ def convert_color(img):
+ out_img = cv2.cvtColor(img, code)
+ return out_img
+
+ convert_color.__doc__ = f"""Convert a {src.upper()} image to {dst.upper()}
+ image.
+
+ Args:
+ img (ndarray or str): The input image.
+
+ Returns:
+ ndarray: The converted {dst.upper()} image.
+ """
+
+ return convert_color
+
+
+bgr2rgb = convert_color_factory('bgr', 'rgb')
+
+rgb2bgr = convert_color_factory('rgb', 'bgr')
+
+bgr2hsv = convert_color_factory('bgr', 'hsv')
+
+hsv2bgr = convert_color_factory('hsv', 'bgr')
+
+bgr2hls = convert_color_factory('bgr', 'hls')
+
+hls2bgr = convert_color_factory('hls', 'bgr')
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/image/geometric.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/image/geometric.py
new file mode 100644
index 0000000000000000000000000000000000000000..cf97c201cb4e43796c911919d03fb26a07ed817d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/image/geometric.py
@@ -0,0 +1,728 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import numbers
+
+import cv2
+import numpy as np
+
+from ..utils import to_2tuple
+from .io import imread_backend
+
+try:
+ from PIL import Image
+except ImportError:
+ Image = None
+
+
+def _scale_size(size, scale):
+ """Rescale a size by a ratio.
+
+ Args:
+ size (tuple[int]): (w, h).
+ scale (float | tuple(float)): Scaling factor.
+
+ Returns:
+ tuple[int]: scaled size.
+ """
+ if isinstance(scale, (float, int)):
+ scale = (scale, scale)
+ w, h = size
+ return int(w * float(scale[0]) + 0.5), int(h * float(scale[1]) + 0.5)
+
+
+cv2_interp_codes = {
+ 'nearest': cv2.INTER_NEAREST,
+ 'bilinear': cv2.INTER_LINEAR,
+ 'bicubic': cv2.INTER_CUBIC,
+ 'area': cv2.INTER_AREA,
+ 'lanczos': cv2.INTER_LANCZOS4
+}
+
+if Image is not None:
+ pillow_interp_codes = {
+ 'nearest': Image.NEAREST,
+ 'bilinear': Image.BILINEAR,
+ 'bicubic': Image.BICUBIC,
+ 'box': Image.BOX,
+ 'lanczos': Image.LANCZOS,
+ 'hamming': Image.HAMMING
+ }
+
+
+def imresize(img,
+ size,
+ return_scale=False,
+ interpolation='bilinear',
+ out=None,
+ backend=None):
+ """Resize image to a given size.
+
+ Args:
+ img (ndarray): The input image.
+ size (tuple[int]): Target size (w, h).
+ return_scale (bool): Whether to return `w_scale` and `h_scale`.
+ interpolation (str): Interpolation method, accepted values are
+ "nearest", "bilinear", "bicubic", "area", "lanczos" for 'cv2'
+ backend, "nearest", "bilinear" for 'pillow' backend.
+ out (ndarray): The output destination.
+ backend (str | None): The image resize backend type. Options are `cv2`,
+ `pillow`, `None`. If backend is None, the global imread_backend
+ specified by ``mmcv.use_backend()`` will be used. Default: None.
+
+ Returns:
+ tuple | ndarray: (`resized_img`, `w_scale`, `h_scale`) or
+ `resized_img`.
+ """
+ h, w = img.shape[:2]
+ if backend is None:
+ backend = imread_backend
+ if backend not in ['cv2', 'pillow']:
+ raise ValueError(f'backend: {backend} is not supported for resize.'
+ f"Supported backends are 'cv2', 'pillow'")
+
+ if backend == 'pillow':
+ assert img.dtype == np.uint8, 'Pillow backend only support uint8 type'
+ pil_image = Image.fromarray(img)
+ pil_image = pil_image.resize(size, pillow_interp_codes[interpolation])
+ resized_img = np.array(pil_image)
+ else:
+ resized_img = cv2.resize(
+ img, size, dst=out, interpolation=cv2_interp_codes[interpolation])
+ if not return_scale:
+ return resized_img
+ else:
+ w_scale = size[0] / w
+ h_scale = size[1] / h
+ return resized_img, w_scale, h_scale
+
+
+def imresize_to_multiple(img,
+ divisor,
+ size=None,
+ scale_factor=None,
+ keep_ratio=False,
+ return_scale=False,
+ interpolation='bilinear',
+ out=None,
+ backend=None):
+ """Resize image according to a given size or scale factor and then rounds
+ up the the resized or rescaled image size to the nearest value that can be
+ divided by the divisor.
+
+ Args:
+ img (ndarray): The input image.
+ divisor (int | tuple): Resized image size will be a multiple of
+ divisor. If divisor is a tuple, divisor should be
+ (w_divisor, h_divisor).
+ size (None | int | tuple[int]): Target size (w, h). Default: None.
+ scale_factor (None | float | tuple[float]): Multiplier for spatial
+ size. Should match input size if it is a tuple and the 2D style is
+ (w_scale_factor, h_scale_factor). Default: None.
+ keep_ratio (bool): Whether to keep the aspect ratio when resizing the
+ image. Default: False.
+ return_scale (bool): Whether to return `w_scale` and `h_scale`.
+ interpolation (str): Interpolation method, accepted values are
+ "nearest", "bilinear", "bicubic", "area", "lanczos" for 'cv2'
+ backend, "nearest", "bilinear" for 'pillow' backend.
+ out (ndarray): The output destination.
+ backend (str | None): The image resize backend type. Options are `cv2`,
+ `pillow`, `None`. If backend is None, the global imread_backend
+ specified by ``mmcv.use_backend()`` will be used. Default: None.
+
+ Returns:
+ tuple | ndarray: (`resized_img`, `w_scale`, `h_scale`) or
+ `resized_img`.
+ """
+ h, w = img.shape[:2]
+ if size is not None and scale_factor is not None:
+ raise ValueError('only one of size or scale_factor should be defined')
+ elif size is None and scale_factor is None:
+ raise ValueError('one of size or scale_factor should be defined')
+ elif size is not None:
+ size = to_2tuple(size)
+ if keep_ratio:
+ size = rescale_size((w, h), size, return_scale=False)
+ else:
+ size = _scale_size((w, h), scale_factor)
+
+ divisor = to_2tuple(divisor)
+ size = tuple([int(np.ceil(s / d)) * d for s, d in zip(size, divisor)])
+ resized_img, w_scale, h_scale = imresize(
+ img,
+ size,
+ return_scale=True,
+ interpolation=interpolation,
+ out=out,
+ backend=backend)
+ if return_scale:
+ return resized_img, w_scale, h_scale
+ else:
+ return resized_img
+
+
+def imresize_like(img,
+ dst_img,
+ return_scale=False,
+ interpolation='bilinear',
+ backend=None):
+ """Resize image to the same size of a given image.
+
+ Args:
+ img (ndarray): The input image.
+ dst_img (ndarray): The target image.
+ return_scale (bool): Whether to return `w_scale` and `h_scale`.
+ interpolation (str): Same as :func:`resize`.
+ backend (str | None): Same as :func:`resize`.
+
+ Returns:
+ tuple or ndarray: (`resized_img`, `w_scale`, `h_scale`) or
+ `resized_img`.
+ """
+ h, w = dst_img.shape[:2]
+ return imresize(img, (w, h), return_scale, interpolation, backend=backend)
+
+
+def rescale_size(old_size, scale, return_scale=False):
+ """Calculate the new size to be rescaled to.
+
+ Args:
+ old_size (tuple[int]): The old size (w, h) of image.
+ scale (float | tuple[int]): The scaling factor or maximum size.
+ If it is a float number, then the image will be rescaled by this
+ factor, else if it is a tuple of 2 integers, then the image will
+ be rescaled as large as possible within the scale.
+ return_scale (bool): Whether to return the scaling factor besides the
+ rescaled image size.
+
+ Returns:
+ tuple[int]: The new rescaled image size.
+ """
+ w, h = old_size
+ if isinstance(scale, (float, int)):
+ if scale <= 0:
+ raise ValueError(f'Invalid scale {scale}, must be positive.')
+ scale_factor = scale
+ elif isinstance(scale, tuple):
+ max_long_edge = max(scale)
+ max_short_edge = min(scale)
+ scale_factor = min(max_long_edge / max(h, w),
+ max_short_edge / min(h, w))
+ else:
+ raise TypeError(
+ f'Scale must be a number or tuple of int, but got {type(scale)}')
+
+ new_size = _scale_size((w, h), scale_factor)
+
+ if return_scale:
+ return new_size, scale_factor
+ else:
+ return new_size
+
+
+def imrescale(img,
+ scale,
+ return_scale=False,
+ interpolation='bilinear',
+ backend=None):
+ """Resize image while keeping the aspect ratio.
+
+ Args:
+ img (ndarray): The input image.
+ scale (float | tuple[int]): The scaling factor or maximum size.
+ If it is a float number, then the image will be rescaled by this
+ factor, else if it is a tuple of 2 integers, then the image will
+ be rescaled as large as possible within the scale.
+ return_scale (bool): Whether to return the scaling factor besides the
+ rescaled image.
+ interpolation (str): Same as :func:`resize`.
+ backend (str | None): Same as :func:`resize`.
+
+ Returns:
+ ndarray: The rescaled image.
+ """
+ h, w = img.shape[:2]
+ new_size, scale_factor = rescale_size((w, h), scale, return_scale=True)
+ rescaled_img = imresize(
+ img, new_size, interpolation=interpolation, backend=backend)
+ if return_scale:
+ return rescaled_img, scale_factor
+ else:
+ return rescaled_img
+
+
+def imflip(img, direction='horizontal'):
+ """Flip an image horizontally or vertically.
+
+ Args:
+ img (ndarray): Image to be flipped.
+ direction (str): The flip direction, either "horizontal" or
+ "vertical" or "diagonal".
+
+ Returns:
+ ndarray: The flipped image.
+ """
+ assert direction in ['horizontal', 'vertical', 'diagonal']
+ if direction == 'horizontal':
+ return np.flip(img, axis=1)
+ elif direction == 'vertical':
+ return np.flip(img, axis=0)
+ else:
+ return np.flip(img, axis=(0, 1))
+
+
+def imflip_(img, direction='horizontal'):
+ """Inplace flip an image horizontally or vertically.
+
+ Args:
+ img (ndarray): Image to be flipped.
+ direction (str): The flip direction, either "horizontal" or
+ "vertical" or "diagonal".
+
+ Returns:
+ ndarray: The flipped image (inplace).
+ """
+ assert direction in ['horizontal', 'vertical', 'diagonal']
+ if direction == 'horizontal':
+ return cv2.flip(img, 1, img)
+ elif direction == 'vertical':
+ return cv2.flip(img, 0, img)
+ else:
+ return cv2.flip(img, -1, img)
+
+
+def imrotate(img,
+ angle,
+ center=None,
+ scale=1.0,
+ border_value=0,
+ interpolation='bilinear',
+ auto_bound=False):
+ """Rotate an image.
+
+ Args:
+ img (ndarray): Image to be rotated.
+ angle (float): Rotation angle in degrees, positive values mean
+ clockwise rotation.
+ center (tuple[float], optional): Center point (w, h) of the rotation in
+ the source image. If not specified, the center of the image will be
+ used.
+ scale (float): Isotropic scale factor.
+ border_value (int): Border value.
+ interpolation (str): Same as :func:`resize`.
+ auto_bound (bool): Whether to adjust the image size to cover the whole
+ rotated image.
+
+ Returns:
+ ndarray: The rotated image.
+ """
+ if center is not None and auto_bound:
+ raise ValueError('`auto_bound` conflicts with `center`')
+ h, w = img.shape[:2]
+ if center is None:
+ center = ((w - 1) * 0.5, (h - 1) * 0.5)
+ assert isinstance(center, tuple)
+
+ matrix = cv2.getRotationMatrix2D(center, -angle, scale)
+ if auto_bound:
+ cos = np.abs(matrix[0, 0])
+ sin = np.abs(matrix[0, 1])
+ new_w = h * sin + w * cos
+ new_h = h * cos + w * sin
+ matrix[0, 2] += (new_w - w) * 0.5
+ matrix[1, 2] += (new_h - h) * 0.5
+ w = int(np.round(new_w))
+ h = int(np.round(new_h))
+ rotated = cv2.warpAffine(
+ img,
+ matrix, (w, h),
+ flags=cv2_interp_codes[interpolation],
+ borderValue=border_value)
+ return rotated
+
+
+def bbox_clip(bboxes, img_shape):
+ """Clip bboxes to fit the image shape.
+
+ Args:
+ bboxes (ndarray): Shape (..., 4*k)
+ img_shape (tuple[int]): (height, width) of the image.
+
+ Returns:
+ ndarray: Clipped bboxes.
+ """
+ assert bboxes.shape[-1] % 4 == 0
+ cmin = np.empty(bboxes.shape[-1], dtype=bboxes.dtype)
+ cmin[0::2] = img_shape[1] - 1
+ cmin[1::2] = img_shape[0] - 1
+ clipped_bboxes = np.maximum(np.minimum(bboxes, cmin), 0)
+ return clipped_bboxes
+
+
+def bbox_scaling(bboxes, scale, clip_shape=None):
+ """Scaling bboxes w.r.t the box center.
+
+ Args:
+ bboxes (ndarray): Shape(..., 4).
+ scale (float): Scaling factor.
+ clip_shape (tuple[int], optional): If specified, bboxes that exceed the
+ boundary will be clipped according to the given shape (h, w).
+
+ Returns:
+ ndarray: Scaled bboxes.
+ """
+ if float(scale) == 1.0:
+ scaled_bboxes = bboxes.copy()
+ else:
+ w = bboxes[..., 2] - bboxes[..., 0] + 1
+ h = bboxes[..., 3] - bboxes[..., 1] + 1
+ dw = (w * (scale - 1)) * 0.5
+ dh = (h * (scale - 1)) * 0.5
+ scaled_bboxes = bboxes + np.stack((-dw, -dh, dw, dh), axis=-1)
+ if clip_shape is not None:
+ return bbox_clip(scaled_bboxes, clip_shape)
+ else:
+ return scaled_bboxes
+
+
+def imcrop(img, bboxes, scale=1.0, pad_fill=None):
+ """Crop image patches.
+
+ 3 steps: scale the bboxes -> clip bboxes -> crop and pad.
+
+ Args:
+ img (ndarray): Image to be cropped.
+ bboxes (ndarray): Shape (k, 4) or (4, ), location of cropped bboxes.
+ scale (float, optional): Scale ratio of bboxes, the default value
+ 1.0 means no padding.
+ pad_fill (Number | list[Number]): Value to be filled for padding.
+ Default: None, which means no padding.
+
+ Returns:
+ list[ndarray] | ndarray: The cropped image patches.
+ """
+ chn = 1 if img.ndim == 2 else img.shape[2]
+ if pad_fill is not None:
+ if isinstance(pad_fill, (int, float)):
+ pad_fill = [pad_fill for _ in range(chn)]
+ assert len(pad_fill) == chn
+
+ _bboxes = bboxes[None, ...] if bboxes.ndim == 1 else bboxes
+ scaled_bboxes = bbox_scaling(_bboxes, scale).astype(np.int32)
+ clipped_bbox = bbox_clip(scaled_bboxes, img.shape)
+
+ patches = []
+ for i in range(clipped_bbox.shape[0]):
+ x1, y1, x2, y2 = tuple(clipped_bbox[i, :])
+ if pad_fill is None:
+ patch = img[y1:y2 + 1, x1:x2 + 1, ...]
+ else:
+ _x1, _y1, _x2, _y2 = tuple(scaled_bboxes[i, :])
+ if chn == 1:
+ patch_shape = (_y2 - _y1 + 1, _x2 - _x1 + 1)
+ else:
+ patch_shape = (_y2 - _y1 + 1, _x2 - _x1 + 1, chn)
+ patch = np.array(
+ pad_fill, dtype=img.dtype) * np.ones(
+ patch_shape, dtype=img.dtype)
+ x_start = 0 if _x1 >= 0 else -_x1
+ y_start = 0 if _y1 >= 0 else -_y1
+ w = x2 - x1 + 1
+ h = y2 - y1 + 1
+ patch[y_start:y_start + h, x_start:x_start + w,
+ ...] = img[y1:y1 + h, x1:x1 + w, ...]
+ patches.append(patch)
+
+ if bboxes.ndim == 1:
+ return patches[0]
+ else:
+ return patches
+
+
+def impad(img,
+ *,
+ shape=None,
+ padding=None,
+ pad_val=0,
+ padding_mode='constant'):
+ """Pad the given image to a certain shape or pad on all sides with
+ specified padding mode and padding value.
+
+ Args:
+ img (ndarray): Image to be padded.
+ shape (tuple[int]): Expected padding shape (h, w). Default: None.
+ padding (int or tuple[int]): Padding on each border. If a single int is
+ provided this is used to pad all borders. If tuple of length 2 is
+ provided this is the padding on left/right and top/bottom
+ respectively. If a tuple of length 4 is provided this is the
+ padding for the left, top, right and bottom borders respectively.
+ Default: None. Note that `shape` and `padding` can not be both
+ set.
+ pad_val (Number | Sequence[Number]): Values to be filled in padding
+ areas when padding_mode is 'constant'. Default: 0.
+ padding_mode (str): Type of padding. Should be: constant, edge,
+ reflect or symmetric. Default: constant.
+
+ - constant: pads with a constant value, this value is specified
+ with pad_val.
+ - edge: pads with the last value at the edge of the image.
+ - reflect: pads with reflection of image without repeating the
+ last value on the edge. For example, padding [1, 2, 3, 4]
+ with 2 elements on both sides in reflect mode will result
+ in [3, 2, 1, 2, 3, 4, 3, 2].
+ - symmetric: pads with reflection of image repeating the last
+ value on the edge. For example, padding [1, 2, 3, 4] with
+ 2 elements on both sides in symmetric mode will result in
+ [2, 1, 1, 2, 3, 4, 4, 3]
+
+ Returns:
+ ndarray: The padded image.
+ """
+
+ assert (shape is not None) ^ (padding is not None)
+ if shape is not None:
+ padding = (0, 0, shape[1] - img.shape[1], shape[0] - img.shape[0])
+
+ # check pad_val
+ if isinstance(pad_val, tuple):
+ assert len(pad_val) == img.shape[-1]
+ elif not isinstance(pad_val, numbers.Number):
+ raise TypeError('pad_val must be a int or a tuple. '
+ f'But received {type(pad_val)}')
+
+ # check padding
+ if isinstance(padding, tuple) and len(padding) in [2, 4]:
+ if len(padding) == 2:
+ padding = (padding[0], padding[1], padding[0], padding[1])
+ elif isinstance(padding, numbers.Number):
+ padding = (padding, padding, padding, padding)
+ else:
+ raise ValueError('Padding must be a int or a 2, or 4 element tuple.'
+ f'But received {padding}')
+
+ # check padding mode
+ assert padding_mode in ['constant', 'edge', 'reflect', 'symmetric']
+
+ border_type = {
+ 'constant': cv2.BORDER_CONSTANT,
+ 'edge': cv2.BORDER_REPLICATE,
+ 'reflect': cv2.BORDER_REFLECT_101,
+ 'symmetric': cv2.BORDER_REFLECT
+ }
+ img = cv2.copyMakeBorder(
+ img,
+ padding[1],
+ padding[3],
+ padding[0],
+ padding[2],
+ border_type[padding_mode],
+ value=pad_val)
+
+ return img
+
+
+def impad_to_multiple(img, divisor, pad_val=0):
+ """Pad an image to ensure each edge to be multiple to some number.
+
+ Args:
+ img (ndarray): Image to be padded.
+ divisor (int): Padded image edges will be multiple to divisor.
+ pad_val (Number | Sequence[Number]): Same as :func:`impad`.
+
+ Returns:
+ ndarray: The padded image.
+ """
+ pad_h = int(np.ceil(img.shape[0] / divisor)) * divisor
+ pad_w = int(np.ceil(img.shape[1] / divisor)) * divisor
+ return impad(img, shape=(pad_h, pad_w), pad_val=pad_val)
+
+
+def cutout(img, shape, pad_val=0):
+ """Randomly cut out a rectangle from the original img.
+
+ Args:
+ img (ndarray): Image to be cutout.
+ shape (int | tuple[int]): Expected cutout shape (h, w). If given as a
+ int, the value will be used for both h and w.
+ pad_val (int | float | tuple[int | float]): Values to be filled in the
+ cut area. Defaults to 0.
+
+ Returns:
+ ndarray: The cutout image.
+ """
+
+ channels = 1 if img.ndim == 2 else img.shape[2]
+ if isinstance(shape, int):
+ cut_h, cut_w = shape, shape
+ else:
+ assert isinstance(shape, tuple) and len(shape) == 2, \
+ f'shape must be a int or a tuple with length 2, but got type ' \
+ f'{type(shape)} instead.'
+ cut_h, cut_w = shape
+ if isinstance(pad_val, (int, float)):
+ pad_val = tuple([pad_val] * channels)
+ elif isinstance(pad_val, tuple):
+ assert len(pad_val) == channels, \
+ 'Expected the num of elements in tuple equals the channels' \
+ 'of input image. Found {} vs {}'.format(
+ len(pad_val), channels)
+ else:
+ raise TypeError(f'Invalid type {type(pad_val)} for `pad_val`')
+
+ img_h, img_w = img.shape[:2]
+ y0 = np.random.uniform(img_h)
+ x0 = np.random.uniform(img_w)
+
+ y1 = int(max(0, y0 - cut_h / 2.))
+ x1 = int(max(0, x0 - cut_w / 2.))
+ y2 = min(img_h, y1 + cut_h)
+ x2 = min(img_w, x1 + cut_w)
+
+ if img.ndim == 2:
+ patch_shape = (y2 - y1, x2 - x1)
+ else:
+ patch_shape = (y2 - y1, x2 - x1, channels)
+
+ img_cutout = img.copy()
+ patch = np.array(
+ pad_val, dtype=img.dtype) * np.ones(
+ patch_shape, dtype=img.dtype)
+ img_cutout[y1:y2, x1:x2, ...] = patch
+
+ return img_cutout
+
+
+def _get_shear_matrix(magnitude, direction='horizontal'):
+ """Generate the shear matrix for transformation.
+
+ Args:
+ magnitude (int | float): The magnitude used for shear.
+ direction (str): The flip direction, either "horizontal"
+ or "vertical".
+
+ Returns:
+ ndarray: The shear matrix with dtype float32.
+ """
+ if direction == 'horizontal':
+ shear_matrix = np.float32([[1, magnitude, 0], [0, 1, 0]])
+ elif direction == 'vertical':
+ shear_matrix = np.float32([[1, 0, 0], [magnitude, 1, 0]])
+ return shear_matrix
+
+
+def imshear(img,
+ magnitude,
+ direction='horizontal',
+ border_value=0,
+ interpolation='bilinear'):
+ """Shear an image.
+
+ Args:
+ img (ndarray): Image to be sheared with format (h, w)
+ or (h, w, c).
+ magnitude (int | float): The magnitude used for shear.
+ direction (str): The flip direction, either "horizontal"
+ or "vertical".
+ border_value (int | tuple[int]): Value used in case of a
+ constant border.
+ interpolation (str): Same as :func:`resize`.
+
+ Returns:
+ ndarray: The sheared image.
+ """
+ assert direction in ['horizontal',
+ 'vertical'], f'Invalid direction: {direction}'
+ height, width = img.shape[:2]
+ if img.ndim == 2:
+ channels = 1
+ elif img.ndim == 3:
+ channels = img.shape[-1]
+ if isinstance(border_value, int):
+ border_value = tuple([border_value] * channels)
+ elif isinstance(border_value, tuple):
+ assert len(border_value) == channels, \
+ 'Expected the num of elements in tuple equals the channels' \
+ 'of input image. Found {} vs {}'.format(
+ len(border_value), channels)
+ else:
+ raise ValueError(
+ f'Invalid type {type(border_value)} for `border_value`')
+ shear_matrix = _get_shear_matrix(magnitude, direction)
+ sheared = cv2.warpAffine(
+ img,
+ shear_matrix,
+ (width, height),
+ # Note case when the number elements in `border_value`
+ # greater than 3 (e.g. shearing masks whose channels large
+ # than 3) will raise TypeError in `cv2.warpAffine`.
+ # Here simply slice the first 3 values in `border_value`.
+ borderValue=border_value[:3],
+ flags=cv2_interp_codes[interpolation])
+ return sheared
+
+
+def _get_translate_matrix(offset, direction='horizontal'):
+ """Generate the translate matrix.
+
+ Args:
+ offset (int | float): The offset used for translate.
+ direction (str): The translate direction, either
+ "horizontal" or "vertical".
+
+ Returns:
+ ndarray: The translate matrix with dtype float32.
+ """
+ if direction == 'horizontal':
+ translate_matrix = np.float32([[1, 0, offset], [0, 1, 0]])
+ elif direction == 'vertical':
+ translate_matrix = np.float32([[1, 0, 0], [0, 1, offset]])
+ return translate_matrix
+
+
+def imtranslate(img,
+ offset,
+ direction='horizontal',
+ border_value=0,
+ interpolation='bilinear'):
+ """Translate an image.
+
+ Args:
+ img (ndarray): Image to be translated with format
+ (h, w) or (h, w, c).
+ offset (int | float): The offset used for translate.
+ direction (str): The translate direction, either "horizontal"
+ or "vertical".
+ border_value (int | tuple[int]): Value used in case of a
+ constant border.
+ interpolation (str): Same as :func:`resize`.
+
+ Returns:
+ ndarray: The translated image.
+ """
+ assert direction in ['horizontal',
+ 'vertical'], f'Invalid direction: {direction}'
+ height, width = img.shape[:2]
+ if img.ndim == 2:
+ channels = 1
+ elif img.ndim == 3:
+ channels = img.shape[-1]
+ if isinstance(border_value, int):
+ border_value = tuple([border_value] * channels)
+ elif isinstance(border_value, tuple):
+ assert len(border_value) == channels, \
+ 'Expected the num of elements in tuple equals the channels' \
+ 'of input image. Found {} vs {}'.format(
+ len(border_value), channels)
+ else:
+ raise ValueError(
+ f'Invalid type {type(border_value)} for `border_value`.')
+ translate_matrix = _get_translate_matrix(offset, direction)
+ translated = cv2.warpAffine(
+ img,
+ translate_matrix,
+ (width, height),
+ # Note case when the number elements in `border_value`
+ # greater than 3 (e.g. translating masks whose channels
+ # large than 3) will raise TypeError in `cv2.warpAffine`.
+ # Here simply slice the first 3 values in `border_value`.
+ borderValue=border_value[:3],
+ flags=cv2_interp_codes[interpolation])
+ return translated
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/image/io.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/image/io.py
new file mode 100644
index 0000000000000000000000000000000000000000..4e8f1877978840aede93774d86643b129751db13
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/image/io.py
@@ -0,0 +1,258 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import io
+import os.path as osp
+from pathlib import Path
+
+import cv2
+import numpy as np
+from cv2 import (IMREAD_COLOR, IMREAD_GRAYSCALE, IMREAD_IGNORE_ORIENTATION,
+ IMREAD_UNCHANGED)
+
+from annotator.mmpkg.mmcv.utils import check_file_exist, is_str, mkdir_or_exist
+
+try:
+ from turbojpeg import TJCS_RGB, TJPF_BGR, TJPF_GRAY, TurboJPEG
+except ImportError:
+ TJCS_RGB = TJPF_GRAY = TJPF_BGR = TurboJPEG = None
+
+try:
+ from PIL import Image, ImageOps
+except ImportError:
+ Image = None
+
+try:
+ import tifffile
+except ImportError:
+ tifffile = None
+
+jpeg = None
+supported_backends = ['cv2', 'turbojpeg', 'pillow', 'tifffile']
+
+imread_flags = {
+ 'color': IMREAD_COLOR,
+ 'grayscale': IMREAD_GRAYSCALE,
+ 'unchanged': IMREAD_UNCHANGED,
+ 'color_ignore_orientation': IMREAD_IGNORE_ORIENTATION | IMREAD_COLOR,
+ 'grayscale_ignore_orientation':
+ IMREAD_IGNORE_ORIENTATION | IMREAD_GRAYSCALE
+}
+
+imread_backend = 'cv2'
+
+
+def use_backend(backend):
+ """Select a backend for image decoding.
+
+ Args:
+ backend (str): The image decoding backend type. Options are `cv2`,
+ `pillow`, `turbojpeg` (see https://github.com/lilohuang/PyTurboJPEG)
+ and `tifffile`. `turbojpeg` is faster but it only supports `.jpeg`
+ file format.
+ """
+ assert backend in supported_backends
+ global imread_backend
+ imread_backend = backend
+ if imread_backend == 'turbojpeg':
+ if TurboJPEG is None:
+ raise ImportError('`PyTurboJPEG` is not installed')
+ global jpeg
+ if jpeg is None:
+ jpeg = TurboJPEG()
+ elif imread_backend == 'pillow':
+ if Image is None:
+ raise ImportError('`Pillow` is not installed')
+ elif imread_backend == 'tifffile':
+ if tifffile is None:
+ raise ImportError('`tifffile` is not installed')
+
+
+def _jpegflag(flag='color', channel_order='bgr'):
+ channel_order = channel_order.lower()
+ if channel_order not in ['rgb', 'bgr']:
+ raise ValueError('channel order must be either "rgb" or "bgr"')
+
+ if flag == 'color':
+ if channel_order == 'bgr':
+ return TJPF_BGR
+ elif channel_order == 'rgb':
+ return TJCS_RGB
+ elif flag == 'grayscale':
+ return TJPF_GRAY
+ else:
+ raise ValueError('flag must be "color" or "grayscale"')
+
+
+def _pillow2array(img, flag='color', channel_order='bgr'):
+ """Convert a pillow image to numpy array.
+
+ Args:
+ img (:obj:`PIL.Image.Image`): The image loaded using PIL
+ flag (str): Flags specifying the color type of a loaded image,
+ candidates are 'color', 'grayscale' and 'unchanged'.
+ Default to 'color'.
+ channel_order (str): The channel order of the output image array,
+ candidates are 'bgr' and 'rgb'. Default to 'bgr'.
+
+ Returns:
+ np.ndarray: The converted numpy array
+ """
+ channel_order = channel_order.lower()
+ if channel_order not in ['rgb', 'bgr']:
+ raise ValueError('channel order must be either "rgb" or "bgr"')
+
+ if flag == 'unchanged':
+ array = np.array(img)
+ if array.ndim >= 3 and array.shape[2] >= 3: # color image
+ array[:, :, :3] = array[:, :, (2, 1, 0)] # RGB to BGR
+ else:
+ # Handle exif orientation tag
+ if flag in ['color', 'grayscale']:
+ img = ImageOps.exif_transpose(img)
+ # If the image mode is not 'RGB', convert it to 'RGB' first.
+ if img.mode != 'RGB':
+ if img.mode != 'LA':
+ # Most formats except 'LA' can be directly converted to RGB
+ img = img.convert('RGB')
+ else:
+ # When the mode is 'LA', the default conversion will fill in
+ # the canvas with black, which sometimes shadows black objects
+ # in the foreground.
+ #
+ # Therefore, a random color (124, 117, 104) is used for canvas
+ img_rgba = img.convert('RGBA')
+ img = Image.new('RGB', img_rgba.size, (124, 117, 104))
+ img.paste(img_rgba, mask=img_rgba.split()[3]) # 3 is alpha
+ if flag in ['color', 'color_ignore_orientation']:
+ array = np.array(img)
+ if channel_order != 'rgb':
+ array = array[:, :, ::-1] # RGB to BGR
+ elif flag in ['grayscale', 'grayscale_ignore_orientation']:
+ img = img.convert('L')
+ array = np.array(img)
+ else:
+ raise ValueError(
+ 'flag must be "color", "grayscale", "unchanged", '
+ f'"color_ignore_orientation" or "grayscale_ignore_orientation"'
+ f' but got {flag}')
+ return array
+
+
+def imread(img_or_path, flag='color', channel_order='bgr', backend=None):
+ """Read an image.
+
+ Args:
+ img_or_path (ndarray or str or Path): Either a numpy array or str or
+ pathlib.Path. If it is a numpy array (loaded image), then
+ it will be returned as is.
+ flag (str): Flags specifying the color type of a loaded image,
+ candidates are `color`, `grayscale`, `unchanged`,
+ `color_ignore_orientation` and `grayscale_ignore_orientation`.
+ By default, `cv2` and `pillow` backend would rotate the image
+ according to its EXIF info unless called with `unchanged` or
+ `*_ignore_orientation` flags. `turbojpeg` and `tifffile` backend
+ always ignore image's EXIF info regardless of the flag.
+ The `turbojpeg` backend only supports `color` and `grayscale`.
+ channel_order (str): Order of channel, candidates are `bgr` and `rgb`.
+ backend (str | None): The image decoding backend type. Options are
+ `cv2`, `pillow`, `turbojpeg`, `tifffile`, `None`.
+ If backend is None, the global imread_backend specified by
+ ``mmcv.use_backend()`` will be used. Default: None.
+
+ Returns:
+ ndarray: Loaded image array.
+ """
+
+ if backend is None:
+ backend = imread_backend
+ if backend not in supported_backends:
+ raise ValueError(f'backend: {backend} is not supported. Supported '
+ "backends are 'cv2', 'turbojpeg', 'pillow'")
+ if isinstance(img_or_path, Path):
+ img_or_path = str(img_or_path)
+
+ if isinstance(img_or_path, np.ndarray):
+ return img_or_path
+ elif is_str(img_or_path):
+ check_file_exist(img_or_path,
+ f'img file does not exist: {img_or_path}')
+ if backend == 'turbojpeg':
+ with open(img_or_path, 'rb') as in_file:
+ img = jpeg.decode(in_file.read(),
+ _jpegflag(flag, channel_order))
+ if img.shape[-1] == 1:
+ img = img[:, :, 0]
+ return img
+ elif backend == 'pillow':
+ img = Image.open(img_or_path)
+ img = _pillow2array(img, flag, channel_order)
+ return img
+ elif backend == 'tifffile':
+ img = tifffile.imread(img_or_path)
+ return img
+ else:
+ flag = imread_flags[flag] if is_str(flag) else flag
+ img = cv2.imread(img_or_path, flag)
+ if flag == IMREAD_COLOR and channel_order == 'rgb':
+ cv2.cvtColor(img, cv2.COLOR_BGR2RGB, img)
+ return img
+ else:
+ raise TypeError('"img" must be a numpy array or a str or '
+ 'a pathlib.Path object')
+
+
+def imfrombytes(content, flag='color', channel_order='bgr', backend=None):
+ """Read an image from bytes.
+
+ Args:
+ content (bytes): Image bytes got from files or other streams.
+ flag (str): Same as :func:`imread`.
+ backend (str | None): The image decoding backend type. Options are
+ `cv2`, `pillow`, `turbojpeg`, `None`. If backend is None, the
+ global imread_backend specified by ``mmcv.use_backend()`` will be
+ used. Default: None.
+
+ Returns:
+ ndarray: Loaded image array.
+ """
+
+ if backend is None:
+ backend = imread_backend
+ if backend not in supported_backends:
+ raise ValueError(f'backend: {backend} is not supported. Supported '
+ "backends are 'cv2', 'turbojpeg', 'pillow'")
+ if backend == 'turbojpeg':
+ img = jpeg.decode(content, _jpegflag(flag, channel_order))
+ if img.shape[-1] == 1:
+ img = img[:, :, 0]
+ return img
+ elif backend == 'pillow':
+ buff = io.BytesIO(content)
+ img = Image.open(buff)
+ img = _pillow2array(img, flag, channel_order)
+ return img
+ else:
+ img_np = np.frombuffer(content, np.uint8)
+ flag = imread_flags[flag] if is_str(flag) else flag
+ img = cv2.imdecode(img_np, flag)
+ if flag == IMREAD_COLOR and channel_order == 'rgb':
+ cv2.cvtColor(img, cv2.COLOR_BGR2RGB, img)
+ return img
+
+
+def imwrite(img, file_path, params=None, auto_mkdir=True):
+ """Write image to file.
+
+ Args:
+ img (ndarray): Image array to be written.
+ file_path (str): Image file path.
+ params (None or list): Same as opencv :func:`imwrite` interface.
+ auto_mkdir (bool): If the parent folder of `file_path` does not exist,
+ whether to create it automatically.
+
+ Returns:
+ bool: Successful or not.
+ """
+ if auto_mkdir:
+ dir_name = osp.abspath(osp.dirname(file_path))
+ mkdir_or_exist(dir_name)
+ return cv2.imwrite(file_path, img, params)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/image/misc.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/image/misc.py
new file mode 100644
index 0000000000000000000000000000000000000000..cd60e66131719ca0627569598809366b9c1ac64d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/image/misc.py
@@ -0,0 +1,44 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import numpy as np
+
+import annotator.mmpkg.mmcv as mmcv
+
+try:
+ import torch
+except ImportError:
+ torch = None
+
+
+def tensor2imgs(tensor, mean=(0, 0, 0), std=(1, 1, 1), to_rgb=True):
+ """Convert tensor to 3-channel images.
+
+ Args:
+ tensor (torch.Tensor): Tensor that contains multiple images, shape (
+ N, C, H, W).
+ mean (tuple[float], optional): Mean of images. Defaults to (0, 0, 0).
+ std (tuple[float], optional): Standard deviation of images.
+ Defaults to (1, 1, 1).
+ to_rgb (bool, optional): Whether the tensor was converted to RGB
+ format in the first place. If so, convert it back to BGR.
+ Defaults to True.
+
+ Returns:
+ list[np.ndarray]: A list that contains multiple images.
+ """
+
+ if torch is None:
+ raise RuntimeError('pytorch is not installed')
+ assert torch.is_tensor(tensor) and tensor.ndim == 4
+ assert len(mean) == 3
+ assert len(std) == 3
+
+ num_imgs = tensor.size(0)
+ mean = np.array(mean, dtype=np.float32)
+ std = np.array(std, dtype=np.float32)
+ imgs = []
+ for img_id in range(num_imgs):
+ img = tensor[img_id, ...].cpu().numpy().transpose(1, 2, 0)
+ img = mmcv.imdenormalize(
+ img, mean, std, to_bgr=to_rgb).astype(np.uint8)
+ imgs.append(np.ascontiguousarray(img))
+ return imgs
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/image/photometric.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/image/photometric.py
new file mode 100644
index 0000000000000000000000000000000000000000..5085d012019c0cbf56f66f421a378278c1a058ae
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/image/photometric.py
@@ -0,0 +1,428 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import cv2
+import numpy as np
+
+from ..utils import is_tuple_of
+from .colorspace import bgr2gray, gray2bgr
+
+
+def imnormalize(img, mean, std, to_rgb=True):
+ """Normalize an image with mean and std.
+
+ Args:
+ img (ndarray): Image to be normalized.
+ mean (ndarray): The mean to be used for normalize.
+ std (ndarray): The std to be used for normalize.
+ to_rgb (bool): Whether to convert to rgb.
+
+ Returns:
+ ndarray: The normalized image.
+ """
+ img = img.copy().astype(np.float32)
+ return imnormalize_(img, mean, std, to_rgb)
+
+
+def imnormalize_(img, mean, std, to_rgb=True):
+ """Inplace normalize an image with mean and std.
+
+ Args:
+ img (ndarray): Image to be normalized.
+ mean (ndarray): The mean to be used for normalize.
+ std (ndarray): The std to be used for normalize.
+ to_rgb (bool): Whether to convert to rgb.
+
+ Returns:
+ ndarray: The normalized image.
+ """
+ # cv2 inplace normalization does not accept uint8
+ assert img.dtype != np.uint8
+ mean = np.float64(mean.reshape(1, -1))
+ stdinv = 1 / np.float64(std.reshape(1, -1))
+ if to_rgb:
+ cv2.cvtColor(img, cv2.COLOR_BGR2RGB, img) # inplace
+ cv2.subtract(img, mean, img) # inplace
+ cv2.multiply(img, stdinv, img) # inplace
+ return img
+
+
+def imdenormalize(img, mean, std, to_bgr=True):
+ assert img.dtype != np.uint8
+ mean = mean.reshape(1, -1).astype(np.float64)
+ std = std.reshape(1, -1).astype(np.float64)
+ img = cv2.multiply(img, std) # make a copy
+ cv2.add(img, mean, img) # inplace
+ if to_bgr:
+ cv2.cvtColor(img, cv2.COLOR_RGB2BGR, img) # inplace
+ return img
+
+
+def iminvert(img):
+ """Invert (negate) an image.
+
+ Args:
+ img (ndarray): Image to be inverted.
+
+ Returns:
+ ndarray: The inverted image.
+ """
+ return np.full_like(img, 255) - img
+
+
+def solarize(img, thr=128):
+ """Solarize an image (invert all pixel values above a threshold)
+
+ Args:
+ img (ndarray): Image to be solarized.
+ thr (int): Threshold for solarizing (0 - 255).
+
+ Returns:
+ ndarray: The solarized image.
+ """
+ img = np.where(img < thr, img, 255 - img)
+ return img
+
+
+def posterize(img, bits):
+ """Posterize an image (reduce the number of bits for each color channel)
+
+ Args:
+ img (ndarray): Image to be posterized.
+ bits (int): Number of bits (1 to 8) to use for posterizing.
+
+ Returns:
+ ndarray: The posterized image.
+ """
+ shift = 8 - bits
+ img = np.left_shift(np.right_shift(img, shift), shift)
+ return img
+
+
+def adjust_color(img, alpha=1, beta=None, gamma=0):
+ r"""It blends the source image and its gray image:
+
+ .. math::
+ output = img * alpha + gray\_img * beta + gamma
+
+ Args:
+ img (ndarray): The input source image.
+ alpha (int | float): Weight for the source image. Default 1.
+ beta (int | float): Weight for the converted gray image.
+ If None, it's assigned the value (1 - `alpha`).
+ gamma (int | float): Scalar added to each sum.
+ Same as :func:`cv2.addWeighted`. Default 0.
+
+ Returns:
+ ndarray: Colored image which has the same size and dtype as input.
+ """
+ gray_img = bgr2gray(img)
+ gray_img = np.tile(gray_img[..., None], [1, 1, 3])
+ if beta is None:
+ beta = 1 - alpha
+ colored_img = cv2.addWeighted(img, alpha, gray_img, beta, gamma)
+ if not colored_img.dtype == np.uint8:
+ # Note when the dtype of `img` is not the default `np.uint8`
+ # (e.g. np.float32), the value in `colored_img` got from cv2
+ # is not guaranteed to be in range [0, 255], so here clip
+ # is needed.
+ colored_img = np.clip(colored_img, 0, 255)
+ return colored_img
+
+
+def imequalize(img):
+ """Equalize the image histogram.
+
+ This function applies a non-linear mapping to the input image,
+ in order to create a uniform distribution of grayscale values
+ in the output image.
+
+ Args:
+ img (ndarray): Image to be equalized.
+
+ Returns:
+ ndarray: The equalized image.
+ """
+
+ def _scale_channel(im, c):
+ """Scale the data in the corresponding channel."""
+ im = im[:, :, c]
+ # Compute the histogram of the image channel.
+ histo = np.histogram(im, 256, (0, 255))[0]
+ # For computing the step, filter out the nonzeros.
+ nonzero_histo = histo[histo > 0]
+ step = (np.sum(nonzero_histo) - nonzero_histo[-1]) // 255
+ if not step:
+ lut = np.array(range(256))
+ else:
+ # Compute the cumulative sum, shifted by step // 2
+ # and then normalized by step.
+ lut = (np.cumsum(histo) + (step // 2)) // step
+ # Shift lut, prepending with 0.
+ lut = np.concatenate([[0], lut[:-1]], 0)
+ # handle potential integer overflow
+ lut[lut > 255] = 255
+ # If step is zero, return the original image.
+ # Otherwise, index from lut.
+ return np.where(np.equal(step, 0), im, lut[im])
+
+ # Scales each channel independently and then stacks
+ # the result.
+ s1 = _scale_channel(img, 0)
+ s2 = _scale_channel(img, 1)
+ s3 = _scale_channel(img, 2)
+ equalized_img = np.stack([s1, s2, s3], axis=-1)
+ return equalized_img.astype(img.dtype)
+
+
+def adjust_brightness(img, factor=1.):
+ """Adjust image brightness.
+
+ This function controls the brightness of an image. An
+ enhancement factor of 0.0 gives a black image.
+ A factor of 1.0 gives the original image. This function
+ blends the source image and the degenerated black image:
+
+ .. math::
+ output = img * factor + degenerated * (1 - factor)
+
+ Args:
+ img (ndarray): Image to be brightened.
+ factor (float): A value controls the enhancement.
+ Factor 1.0 returns the original image, lower
+ factors mean less color (brightness, contrast,
+ etc), and higher values more. Default 1.
+
+ Returns:
+ ndarray: The brightened image.
+ """
+ degenerated = np.zeros_like(img)
+ # Note manually convert the dtype to np.float32, to
+ # achieve as close results as PIL.ImageEnhance.Brightness.
+ # Set beta=1-factor, and gamma=0
+ brightened_img = cv2.addWeighted(
+ img.astype(np.float32), factor, degenerated.astype(np.float32),
+ 1 - factor, 0)
+ brightened_img = np.clip(brightened_img, 0, 255)
+ return brightened_img.astype(img.dtype)
+
+
+def adjust_contrast(img, factor=1.):
+ """Adjust image contrast.
+
+ This function controls the contrast of an image. An
+ enhancement factor of 0.0 gives a solid grey
+ image. A factor of 1.0 gives the original image. It
+ blends the source image and the degenerated mean image:
+
+ .. math::
+ output = img * factor + degenerated * (1 - factor)
+
+ Args:
+ img (ndarray): Image to be contrasted. BGR order.
+ factor (float): Same as :func:`mmcv.adjust_brightness`.
+
+ Returns:
+ ndarray: The contrasted image.
+ """
+ gray_img = bgr2gray(img)
+ hist = np.histogram(gray_img, 256, (0, 255))[0]
+ mean = round(np.sum(gray_img) / np.sum(hist))
+ degenerated = (np.ones_like(img[..., 0]) * mean).astype(img.dtype)
+ degenerated = gray2bgr(degenerated)
+ contrasted_img = cv2.addWeighted(
+ img.astype(np.float32), factor, degenerated.astype(np.float32),
+ 1 - factor, 0)
+ contrasted_img = np.clip(contrasted_img, 0, 255)
+ return contrasted_img.astype(img.dtype)
+
+
+def auto_contrast(img, cutoff=0):
+ """Auto adjust image contrast.
+
+ This function maximize (normalize) image contrast by first removing cutoff
+ percent of the lightest and darkest pixels from the histogram and remapping
+ the image so that the darkest pixel becomes black (0), and the lightest
+ becomes white (255).
+
+ Args:
+ img (ndarray): Image to be contrasted. BGR order.
+ cutoff (int | float | tuple): The cutoff percent of the lightest and
+ darkest pixels to be removed. If given as tuple, it shall be
+ (low, high). Otherwise, the single value will be used for both.
+ Defaults to 0.
+
+ Returns:
+ ndarray: The contrasted image.
+ """
+
+ def _auto_contrast_channel(im, c, cutoff):
+ im = im[:, :, c]
+ # Compute the histogram of the image channel.
+ histo = np.histogram(im, 256, (0, 255))[0]
+ # Remove cut-off percent pixels from histo
+ histo_sum = np.cumsum(histo)
+ cut_low = histo_sum[-1] * cutoff[0] // 100
+ cut_high = histo_sum[-1] - histo_sum[-1] * cutoff[1] // 100
+ histo_sum = np.clip(histo_sum, cut_low, cut_high) - cut_low
+ histo = np.concatenate([[histo_sum[0]], np.diff(histo_sum)], 0)
+
+ # Compute mapping
+ low, high = np.nonzero(histo)[0][0], np.nonzero(histo)[0][-1]
+ # If all the values have been cut off, return the origin img
+ if low >= high:
+ return im
+ scale = 255.0 / (high - low)
+ offset = -low * scale
+ lut = np.array(range(256))
+ lut = lut * scale + offset
+ lut = np.clip(lut, 0, 255)
+ return lut[im]
+
+ if isinstance(cutoff, (int, float)):
+ cutoff = (cutoff, cutoff)
+ else:
+ assert isinstance(cutoff, tuple), 'cutoff must be of type int, ' \
+ f'float or tuple, but got {type(cutoff)} instead.'
+ # Auto adjusts contrast for each channel independently and then stacks
+ # the result.
+ s1 = _auto_contrast_channel(img, 0, cutoff)
+ s2 = _auto_contrast_channel(img, 1, cutoff)
+ s3 = _auto_contrast_channel(img, 2, cutoff)
+ contrasted_img = np.stack([s1, s2, s3], axis=-1)
+ return contrasted_img.astype(img.dtype)
+
+
+def adjust_sharpness(img, factor=1., kernel=None):
+ """Adjust image sharpness.
+
+ This function controls the sharpness of an image. An
+ enhancement factor of 0.0 gives a blurred image. A
+ factor of 1.0 gives the original image. And a factor
+ of 2.0 gives a sharpened image. It blends the source
+ image and the degenerated mean image:
+
+ .. math::
+ output = img * factor + degenerated * (1 - factor)
+
+ Args:
+ img (ndarray): Image to be sharpened. BGR order.
+ factor (float): Same as :func:`mmcv.adjust_brightness`.
+ kernel (np.ndarray, optional): Filter kernel to be applied on the img
+ to obtain the degenerated img. Defaults to None.
+
+ Note:
+ No value sanity check is enforced on the kernel set by users. So with
+ an inappropriate kernel, the ``adjust_sharpness`` may fail to perform
+ the function its name indicates but end up performing whatever
+ transform determined by the kernel.
+
+ Returns:
+ ndarray: The sharpened image.
+ """
+
+ if kernel is None:
+ # adopted from PIL.ImageFilter.SMOOTH
+ kernel = np.array([[1., 1., 1.], [1., 5., 1.], [1., 1., 1.]]) / 13
+ assert isinstance(kernel, np.ndarray), \
+ f'kernel must be of type np.ndarray, but got {type(kernel)} instead.'
+ assert kernel.ndim == 2, \
+ f'kernel must have a dimension of 2, but got {kernel.ndim} instead.'
+
+ degenerated = cv2.filter2D(img, -1, kernel)
+ sharpened_img = cv2.addWeighted(
+ img.astype(np.float32), factor, degenerated.astype(np.float32),
+ 1 - factor, 0)
+ sharpened_img = np.clip(sharpened_img, 0, 255)
+ return sharpened_img.astype(img.dtype)
+
+
+def adjust_lighting(img, eigval, eigvec, alphastd=0.1, to_rgb=True):
+ """AlexNet-style PCA jitter.
+
+ This data augmentation is proposed in `ImageNet Classification with Deep
+ Convolutional Neural Networks
+ `_.
+
+ Args:
+ img (ndarray): Image to be adjusted lighting. BGR order.
+ eigval (ndarray): the eigenvalue of the convariance matrix of pixel
+ values, respectively.
+ eigvec (ndarray): the eigenvector of the convariance matrix of pixel
+ values, respectively.
+ alphastd (float): The standard deviation for distribution of alpha.
+ Defaults to 0.1
+ to_rgb (bool): Whether to convert img to rgb.
+
+ Returns:
+ ndarray: The adjusted image.
+ """
+ assert isinstance(eigval, np.ndarray) and isinstance(eigvec, np.ndarray), \
+ f'eigval and eigvec should both be of type np.ndarray, got ' \
+ f'{type(eigval)} and {type(eigvec)} instead.'
+
+ assert eigval.ndim == 1 and eigvec.ndim == 2
+ assert eigvec.shape == (3, eigval.shape[0])
+ n_eigval = eigval.shape[0]
+ assert isinstance(alphastd, float), 'alphastd should be of type float, ' \
+ f'got {type(alphastd)} instead.'
+
+ img = img.copy().astype(np.float32)
+ if to_rgb:
+ cv2.cvtColor(img, cv2.COLOR_BGR2RGB, img) # inplace
+
+ alpha = np.random.normal(0, alphastd, n_eigval)
+ alter = eigvec \
+ * np.broadcast_to(alpha.reshape(1, n_eigval), (3, n_eigval)) \
+ * np.broadcast_to(eigval.reshape(1, n_eigval), (3, n_eigval))
+ alter = np.broadcast_to(alter.sum(axis=1).reshape(1, 1, 3), img.shape)
+ img_adjusted = img + alter
+ return img_adjusted
+
+
+def lut_transform(img, lut_table):
+ """Transform array by look-up table.
+
+ The function lut_transform fills the output array with values from the
+ look-up table. Indices of the entries are taken from the input array.
+
+ Args:
+ img (ndarray): Image to be transformed.
+ lut_table (ndarray): look-up table of 256 elements; in case of
+ multi-channel input array, the table should either have a single
+ channel (in this case the same table is used for all channels) or
+ the same number of channels as in the input array.
+
+ Returns:
+ ndarray: The transformed image.
+ """
+ assert isinstance(img, np.ndarray)
+ assert 0 <= np.min(img) and np.max(img) <= 255
+ assert isinstance(lut_table, np.ndarray)
+ assert lut_table.shape == (256, )
+
+ return cv2.LUT(np.array(img, dtype=np.uint8), lut_table)
+
+
+def clahe(img, clip_limit=40.0, tile_grid_size=(8, 8)):
+ """Use CLAHE method to process the image.
+
+ See `ZUIDERVELD,K. Contrast Limited Adaptive Histogram Equalization[J].
+ Graphics Gems, 1994:474-485.` for more information.
+
+ Args:
+ img (ndarray): Image to be processed.
+ clip_limit (float): Threshold for contrast limiting. Default: 40.0.
+ tile_grid_size (tuple[int]): Size of grid for histogram equalization.
+ Input image will be divided into equally sized rectangular tiles.
+ It defines the number of tiles in row and column. Default: (8, 8).
+
+ Returns:
+ ndarray: The processed image.
+ """
+ assert isinstance(img, np.ndarray)
+ assert img.ndim == 2
+ assert isinstance(clip_limit, (float, int))
+ assert is_tuple_of(tile_grid_size, int)
+ assert len(tile_grid_size) == 2
+
+ clahe = cv2.createCLAHE(clip_limit, tile_grid_size)
+ return clahe.apply(np.array(img, dtype=np.uint8))
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/model_zoo/deprecated.json b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/model_zoo/deprecated.json
new file mode 100644
index 0000000000000000000000000000000000000000..25cf6f28caecc22a77e3136fefa6b8dfc0e6cb5b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/model_zoo/deprecated.json
@@ -0,0 +1,6 @@
+{
+ "resnet50_caffe": "detectron/resnet50_caffe",
+ "resnet50_caffe_bgr": "detectron2/resnet50_caffe_bgr",
+ "resnet101_caffe": "detectron/resnet101_caffe",
+ "resnet101_caffe_bgr": "detectron2/resnet101_caffe_bgr"
+}
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/model_zoo/mmcls.json b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/model_zoo/mmcls.json
new file mode 100644
index 0000000000000000000000000000000000000000..bdb311d9fe6d9f317290feedc9e37236c6cf6e8f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/model_zoo/mmcls.json
@@ -0,0 +1,31 @@
+{
+ "vgg11": "https://download.openmmlab.com/mmclassification/v0/vgg/vgg11_batch256_imagenet_20210208-4271cd6c.pth",
+ "vgg13": "https://download.openmmlab.com/mmclassification/v0/vgg/vgg13_batch256_imagenet_20210208-4d1d6080.pth",
+ "vgg16": "https://download.openmmlab.com/mmclassification/v0/vgg/vgg16_batch256_imagenet_20210208-db26f1a5.pth",
+ "vgg19": "https://download.openmmlab.com/mmclassification/v0/vgg/vgg19_batch256_imagenet_20210208-e6920e4a.pth",
+ "vgg11_bn": "https://download.openmmlab.com/mmclassification/v0/vgg/vgg11_bn_batch256_imagenet_20210207-f244902c.pth",
+ "vgg13_bn": "https://download.openmmlab.com/mmclassification/v0/vgg/vgg13_bn_batch256_imagenet_20210207-1a8b7864.pth",
+ "vgg16_bn": "https://download.openmmlab.com/mmclassification/v0/vgg/vgg16_bn_batch256_imagenet_20210208-7e55cd29.pth",
+ "vgg19_bn": "https://download.openmmlab.com/mmclassification/v0/vgg/vgg19_bn_batch256_imagenet_20210208-da620c4f.pth",
+ "resnet18": "https://download.openmmlab.com/mmclassification/v0/resnet/resnet18_batch256_imagenet_20200708-34ab8f90.pth",
+ "resnet34": "https://download.openmmlab.com/mmclassification/v0/resnet/resnet34_batch256_imagenet_20200708-32ffb4f7.pth",
+ "resnet50": "https://download.openmmlab.com/mmclassification/v0/resnet/resnet50_batch256_imagenet_20200708-cfb998bf.pth",
+ "resnet101": "https://download.openmmlab.com/mmclassification/v0/resnet/resnet101_batch256_imagenet_20200708-753f3608.pth",
+ "resnet152": "https://download.openmmlab.com/mmclassification/v0/resnet/resnet152_batch256_imagenet_20200708-ec25b1f9.pth",
+ "resnet50_v1d": "https://download.openmmlab.com/mmclassification/v0/resnet/resnetv1d50_batch256_imagenet_20200708-1ad0ce94.pth",
+ "resnet101_v1d": "https://download.openmmlab.com/mmclassification/v0/resnet/resnetv1d101_batch256_imagenet_20200708-9cb302ef.pth",
+ "resnet152_v1d": "https://download.openmmlab.com/mmclassification/v0/resnet/resnetv1d152_batch256_imagenet_20200708-e79cb6a2.pth",
+ "resnext50_32x4d": "https://download.openmmlab.com/mmclassification/v0/resnext/resnext50_32x4d_b32x8_imagenet_20210429-56066e27.pth",
+ "resnext101_32x4d": "https://download.openmmlab.com/mmclassification/v0/resnext/resnext101_32x4d_b32x8_imagenet_20210506-e0fa3dd5.pth",
+ "resnext101_32x8d": "https://download.openmmlab.com/mmclassification/v0/resnext/resnext101_32x8d_b32x8_imagenet_20210506-23a247d5.pth",
+ "resnext152_32x4d": "https://download.openmmlab.com/mmclassification/v0/resnext/resnext152_32x4d_b32x8_imagenet_20210524-927787be.pth",
+ "se-resnet50": "https://download.openmmlab.com/mmclassification/v0/se-resnet/se-resnet50_batch256_imagenet_20200804-ae206104.pth",
+ "se-resnet101": "https://download.openmmlab.com/mmclassification/v0/se-resnet/se-resnet101_batch256_imagenet_20200804-ba5b51d4.pth",
+ "resnest50": "https://download.openmmlab.com/mmclassification/v0/resnest/resnest50_imagenet_converted-1ebf0afe.pth",
+ "resnest101": "https://download.openmmlab.com/mmclassification/v0/resnest/resnest101_imagenet_converted-032caa52.pth",
+ "resnest200": "https://download.openmmlab.com/mmclassification/v0/resnest/resnest200_imagenet_converted-581a60f2.pth",
+ "resnest269": "https://download.openmmlab.com/mmclassification/v0/resnest/resnest269_imagenet_converted-59930960.pth",
+ "shufflenet_v1": "https://download.openmmlab.com/mmclassification/v0/shufflenet_v1/shufflenet_v1_batch1024_imagenet_20200804-5d6cec73.pth",
+ "shufflenet_v2": "https://download.openmmlab.com/mmclassification/v0/shufflenet_v2/shufflenet_v2_batch1024_imagenet_20200812-5bf4721e.pth",
+ "mobilenet_v2": "https://download.openmmlab.com/mmclassification/v0/mobilenet_v2/mobilenet_v2_batch256_imagenet_20200708-3b2dc3af.pth"
+}
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/model_zoo/open_mmlab.json b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/model_zoo/open_mmlab.json
new file mode 100644
index 0000000000000000000000000000000000000000..8311db4feef92faa0841c697d75efbee8430c3a0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/model_zoo/open_mmlab.json
@@ -0,0 +1,50 @@
+{
+ "vgg16_caffe": "https://download.openmmlab.com/pretrain/third_party/vgg16_caffe-292e1171.pth",
+ "detectron/resnet50_caffe": "https://download.openmmlab.com/pretrain/third_party/resnet50_caffe-788b5fa3.pth",
+ "detectron2/resnet50_caffe": "https://download.openmmlab.com/pretrain/third_party/resnet50_msra-5891d200.pth",
+ "detectron/resnet101_caffe": "https://download.openmmlab.com/pretrain/third_party/resnet101_caffe-3ad79236.pth",
+ "detectron2/resnet101_caffe": "https://download.openmmlab.com/pretrain/third_party/resnet101_msra-6cc46731.pth",
+ "detectron2/resnext101_32x8d": "https://download.openmmlab.com/pretrain/third_party/resnext101_32x8d-1516f1aa.pth",
+ "resnext50_32x4d": "https://download.openmmlab.com/pretrain/third_party/resnext50-32x4d-0ab1a123.pth",
+ "resnext101_32x4d": "https://download.openmmlab.com/pretrain/third_party/resnext101_32x4d-a5af3160.pth",
+ "resnext101_64x4d": "https://download.openmmlab.com/pretrain/third_party/resnext101_64x4d-ee2c6f71.pth",
+ "contrib/resnet50_gn": "https://download.openmmlab.com/pretrain/third_party/resnet50_gn_thangvubk-ad1730dd.pth",
+ "detectron/resnet50_gn": "https://download.openmmlab.com/pretrain/third_party/resnet50_gn-9186a21c.pth",
+ "detectron/resnet101_gn": "https://download.openmmlab.com/pretrain/third_party/resnet101_gn-cac0ab98.pth",
+ "jhu/resnet50_gn_ws": "https://download.openmmlab.com/pretrain/third_party/resnet50_gn_ws-15beedd8.pth",
+ "jhu/resnet101_gn_ws": "https://download.openmmlab.com/pretrain/third_party/resnet101_gn_ws-3e3c308c.pth",
+ "jhu/resnext50_32x4d_gn_ws": "https://download.openmmlab.com/pretrain/third_party/resnext50_32x4d_gn_ws-0d87ac85.pth",
+ "jhu/resnext101_32x4d_gn_ws": "https://download.openmmlab.com/pretrain/third_party/resnext101_32x4d_gn_ws-34ac1a9e.pth",
+ "jhu/resnext50_32x4d_gn": "https://download.openmmlab.com/pretrain/third_party/resnext50_32x4d_gn-c7e8b754.pth",
+ "jhu/resnext101_32x4d_gn": "https://download.openmmlab.com/pretrain/third_party/resnext101_32x4d_gn-ac3bb84e.pth",
+ "msra/hrnetv2_w18_small": "https://download.openmmlab.com/pretrain/third_party/hrnetv2_w18_small-b5a04e21.pth",
+ "msra/hrnetv2_w18": "https://download.openmmlab.com/pretrain/third_party/hrnetv2_w18-00eb2006.pth",
+ "msra/hrnetv2_w32": "https://download.openmmlab.com/pretrain/third_party/hrnetv2_w32-dc9eeb4f.pth",
+ "msra/hrnetv2_w40": "https://download.openmmlab.com/pretrain/third_party/hrnetv2_w40-ed0b031c.pth",
+ "msra/hrnetv2_w48": "https://download.openmmlab.com/pretrain/third_party/hrnetv2_w48-d2186c55.pth",
+ "bninception_caffe": "https://download.openmmlab.com/pretrain/third_party/bn_inception_caffe-ed2e8665.pth",
+ "kin400/i3d_r50_f32s2_k400": "https://download.openmmlab.com/pretrain/third_party/i3d_r50_f32s2_k400-2c57e077.pth",
+ "kin400/nl3d_r50_f32s2_k400": "https://download.openmmlab.com/pretrain/third_party/nl3d_r50_f32s2_k400-fa7e7caa.pth",
+ "res2net101_v1d_26w_4s": "https://download.openmmlab.com/pretrain/third_party/res2net101_v1d_26w_4s_mmdetv2-f0a600f9.pth",
+ "regnetx_400mf": "https://download.openmmlab.com/pretrain/third_party/regnetx_400mf-a5b10d96.pth",
+ "regnetx_800mf": "https://download.openmmlab.com/pretrain/third_party/regnetx_800mf-1f4be4c7.pth",
+ "regnetx_1.6gf": "https://download.openmmlab.com/pretrain/third_party/regnetx_1.6gf-5791c176.pth",
+ "regnetx_3.2gf": "https://download.openmmlab.com/pretrain/third_party/regnetx_3.2gf-c2599b0f.pth",
+ "regnetx_4.0gf": "https://download.openmmlab.com/pretrain/third_party/regnetx_4.0gf-a88f671e.pth",
+ "regnetx_6.4gf": "https://download.openmmlab.com/pretrain/third_party/regnetx_6.4gf-006af45d.pth",
+ "regnetx_8.0gf": "https://download.openmmlab.com/pretrain/third_party/regnetx_8.0gf-3c68abe7.pth",
+ "regnetx_12gf": "https://download.openmmlab.com/pretrain/third_party/regnetx_12gf-4c2a3350.pth",
+ "resnet18_v1c": "https://download.openmmlab.com/pretrain/third_party/resnet18_v1c-b5776b93.pth",
+ "resnet50_v1c": "https://download.openmmlab.com/pretrain/third_party/resnet50_v1c-2cccc1ad.pth",
+ "resnet101_v1c": "https://download.openmmlab.com/pretrain/third_party/resnet101_v1c-e67eebb6.pth",
+ "mmedit/vgg16": "https://download.openmmlab.com/mmediting/third_party/vgg_state_dict.pth",
+ "mmedit/res34_en_nomixup": "https://download.openmmlab.com/mmediting/third_party/model_best_resnet34_En_nomixup.pth",
+ "mmedit/mobilenet_v2": "https://download.openmmlab.com/mmediting/third_party/mobilenet_v2.pth",
+ "contrib/mobilenet_v3_large": "https://download.openmmlab.com/pretrain/third_party/mobilenet_v3_large-bc2c3fd3.pth",
+ "contrib/mobilenet_v3_small": "https://download.openmmlab.com/pretrain/third_party/mobilenet_v3_small-47085aa1.pth",
+ "resnest50": "https://download.openmmlab.com/pretrain/third_party/resnest50_d2-7497a55b.pth",
+ "resnest101": "https://download.openmmlab.com/pretrain/third_party/resnest101_d2-f3b931b2.pth",
+ "resnest200": "https://download.openmmlab.com/pretrain/third_party/resnest200_d2-ca88e41f.pth",
+ "darknet53": "https://download.openmmlab.com/pretrain/third_party/darknet53-a628ea1b.pth",
+ "mmdet/mobilenet_v2": "https://download.openmmlab.com/mmdetection/v2.0/third_party/mobilenet_v2_batch256_imagenet-ff34753d.pth"
+}
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..999e090a458ee148ceca0649f1e3806a40e909bd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/__init__.py
@@ -0,0 +1,81 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from .assign_score_withk import assign_score_withk
+from .ball_query import ball_query
+from .bbox import bbox_overlaps
+from .border_align import BorderAlign, border_align
+from .box_iou_rotated import box_iou_rotated
+from .carafe import CARAFE, CARAFENaive, CARAFEPack, carafe, carafe_naive
+from .cc_attention import CrissCrossAttention
+from .contour_expand import contour_expand
+from .corner_pool import CornerPool
+from .correlation import Correlation
+from .deform_conv import DeformConv2d, DeformConv2dPack, deform_conv2d
+from .deform_roi_pool import (DeformRoIPool, DeformRoIPoolPack,
+ ModulatedDeformRoIPoolPack, deform_roi_pool)
+from .deprecated_wrappers import Conv2d_deprecated as Conv2d
+from .deprecated_wrappers import ConvTranspose2d_deprecated as ConvTranspose2d
+from .deprecated_wrappers import Linear_deprecated as Linear
+from .deprecated_wrappers import MaxPool2d_deprecated as MaxPool2d
+from .focal_loss import (SigmoidFocalLoss, SoftmaxFocalLoss,
+ sigmoid_focal_loss, softmax_focal_loss)
+from .furthest_point_sample import (furthest_point_sample,
+ furthest_point_sample_with_dist)
+from .fused_bias_leakyrelu import FusedBiasLeakyReLU, fused_bias_leakyrelu
+from .gather_points import gather_points
+from .group_points import GroupAll, QueryAndGroup, grouping_operation
+from .info import (get_compiler_version, get_compiling_cuda_version,
+ get_onnxruntime_op_path)
+from .iou3d import boxes_iou_bev, nms_bev, nms_normal_bev
+from .knn import knn
+from .masked_conv import MaskedConv2d, masked_conv2d
+from .modulated_deform_conv import (ModulatedDeformConv2d,
+ ModulatedDeformConv2dPack,
+ modulated_deform_conv2d)
+from .multi_scale_deform_attn import MultiScaleDeformableAttention
+from .nms import batched_nms, nms, nms_match, nms_rotated, soft_nms
+from .pixel_group import pixel_group
+from .point_sample import (SimpleRoIAlign, point_sample,
+ rel_roi_point_to_rel_img_point)
+from .points_in_boxes import (points_in_boxes_all, points_in_boxes_cpu,
+ points_in_boxes_part)
+from .points_sampler import PointsSampler
+from .psa_mask import PSAMask
+from .roi_align import RoIAlign, roi_align
+from .roi_align_rotated import RoIAlignRotated, roi_align_rotated
+from .roi_pool import RoIPool, roi_pool
+from .roiaware_pool3d import RoIAwarePool3d
+from .roipoint_pool3d import RoIPointPool3d
+from .saconv import SAConv2d
+from .scatter_points import DynamicScatter, dynamic_scatter
+from .sync_bn import SyncBatchNorm
+from .three_interpolate import three_interpolate
+from .three_nn import three_nn
+from .tin_shift import TINShift, tin_shift
+from .upfirdn2d import upfirdn2d
+from .voxelize import Voxelization, voxelization
+
+__all__ = [
+ 'bbox_overlaps', 'CARAFE', 'CARAFENaive', 'CARAFEPack', 'carafe',
+ 'carafe_naive', 'CornerPool', 'DeformConv2d', 'DeformConv2dPack',
+ 'deform_conv2d', 'DeformRoIPool', 'DeformRoIPoolPack',
+ 'ModulatedDeformRoIPoolPack', 'deform_roi_pool', 'SigmoidFocalLoss',
+ 'SoftmaxFocalLoss', 'sigmoid_focal_loss', 'softmax_focal_loss',
+ 'get_compiler_version', 'get_compiling_cuda_version',
+ 'get_onnxruntime_op_path', 'MaskedConv2d', 'masked_conv2d',
+ 'ModulatedDeformConv2d', 'ModulatedDeformConv2dPack',
+ 'modulated_deform_conv2d', 'batched_nms', 'nms', 'soft_nms', 'nms_match',
+ 'RoIAlign', 'roi_align', 'RoIPool', 'roi_pool', 'SyncBatchNorm', 'Conv2d',
+ 'ConvTranspose2d', 'Linear', 'MaxPool2d', 'CrissCrossAttention', 'PSAMask',
+ 'point_sample', 'rel_roi_point_to_rel_img_point', 'SimpleRoIAlign',
+ 'SAConv2d', 'TINShift', 'tin_shift', 'assign_score_withk',
+ 'box_iou_rotated', 'RoIPointPool3d', 'nms_rotated', 'knn', 'ball_query',
+ 'upfirdn2d', 'FusedBiasLeakyReLU', 'fused_bias_leakyrelu',
+ 'RoIAlignRotated', 'roi_align_rotated', 'pixel_group', 'QueryAndGroup',
+ 'GroupAll', 'grouping_operation', 'contour_expand', 'three_nn',
+ 'three_interpolate', 'MultiScaleDeformableAttention', 'BorderAlign',
+ 'border_align', 'gather_points', 'furthest_point_sample',
+ 'furthest_point_sample_with_dist', 'PointsSampler', 'Correlation',
+ 'boxes_iou_bev', 'nms_bev', 'nms_normal_bev', 'Voxelization',
+ 'voxelization', 'dynamic_scatter', 'DynamicScatter', 'RoIAwarePool3d',
+ 'points_in_boxes_part', 'points_in_boxes_cpu', 'points_in_boxes_all'
+]
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/assign_score_withk.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/assign_score_withk.py
new file mode 100644
index 0000000000000000000000000000000000000000..4906adaa2cffd1b46912fbe7d4f87ef2f9fa0012
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/assign_score_withk.py
@@ -0,0 +1,123 @@
+from torch.autograd import Function
+
+from ..utils import ext_loader
+
+ext_module = ext_loader.load_ext(
+ '_ext', ['assign_score_withk_forward', 'assign_score_withk_backward'])
+
+
+class AssignScoreWithK(Function):
+ r"""Perform weighted sum to generate output features according to scores.
+ Modified from `PAConv `_.
+
+ This is a memory-efficient CUDA implementation of assign_scores operation,
+ which first transform all point features with weight bank, then assemble
+ neighbor features with ``knn_idx`` and perform weighted sum of ``scores``.
+
+ See the `paper `_ appendix Sec. D for
+ more detailed descriptions.
+
+ Note:
+ This implementation assumes using ``neighbor`` kernel input, which is
+ (point_features - center_features, point_features).
+ See https://github.com/CVMI-Lab/PAConv/blob/main/scene_seg/model/
+ pointnet2/paconv.py#L128 for more details.
+ """
+
+ @staticmethod
+ def forward(ctx,
+ scores,
+ point_features,
+ center_features,
+ knn_idx,
+ aggregate='sum'):
+ """
+ Args:
+ scores (torch.Tensor): (B, npoint, K, M), predicted scores to
+ aggregate weight matrices in the weight bank.
+ ``npoint`` is the number of sampled centers.
+ ``K`` is the number of queried neighbors.
+ ``M`` is the number of weight matrices in the weight bank.
+ point_features (torch.Tensor): (B, N, M, out_dim)
+ Pre-computed point features to be aggregated.
+ center_features (torch.Tensor): (B, N, M, out_dim)
+ Pre-computed center features to be aggregated.
+ knn_idx (torch.Tensor): (B, npoint, K), index of sampled kNN.
+ We assume the first idx in each row is the idx of the center.
+ aggregate (str, optional): Aggregation method.
+ Can be 'sum', 'avg' or 'max'. Defaults: 'sum'.
+
+ Returns:
+ torch.Tensor: (B, out_dim, npoint, K), the aggregated features.
+ """
+ agg = {'sum': 0, 'avg': 1, 'max': 2}
+
+ B, N, M, out_dim = point_features.size()
+ _, npoint, K, _ = scores.size()
+
+ output = point_features.new_zeros((B, out_dim, npoint, K))
+ ext_module.assign_score_withk_forward(
+ point_features.contiguous(),
+ center_features.contiguous(),
+ scores.contiguous(),
+ knn_idx.contiguous(),
+ output,
+ B=B,
+ N0=N,
+ N1=npoint,
+ M=M,
+ K=K,
+ O=out_dim,
+ aggregate=agg[aggregate])
+
+ ctx.save_for_backward(output, point_features, center_features, scores,
+ knn_idx)
+ ctx.agg = agg[aggregate]
+
+ return output
+
+ @staticmethod
+ def backward(ctx, grad_out):
+ """
+ Args:
+ grad_out (torch.Tensor): (B, out_dim, npoint, K)
+
+ Returns:
+ grad_scores (torch.Tensor): (B, npoint, K, M)
+ grad_point_features (torch.Tensor): (B, N, M, out_dim)
+ grad_center_features (torch.Tensor): (B, N, M, out_dim)
+ """
+ _, point_features, center_features, scores, knn_idx = ctx.saved_tensors
+
+ agg = ctx.agg
+
+ B, N, M, out_dim = point_features.size()
+ _, npoint, K, _ = scores.size()
+
+ grad_point_features = point_features.new_zeros(point_features.shape)
+ grad_center_features = center_features.new_zeros(center_features.shape)
+ grad_scores = scores.new_zeros(scores.shape)
+
+ ext_module.assign_score_withk_backward(
+ grad_out.contiguous(),
+ point_features.contiguous(),
+ center_features.contiguous(),
+ scores.contiguous(),
+ knn_idx.contiguous(),
+ grad_point_features,
+ grad_center_features,
+ grad_scores,
+ B=B,
+ N0=N,
+ N1=npoint,
+ M=M,
+ K=K,
+ O=out_dim,
+ aggregate=agg)
+
+ return grad_scores, grad_point_features, \
+ grad_center_features, None, None
+
+
+assign_score_withk = AssignScoreWithK.apply
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/ball_query.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/ball_query.py
new file mode 100644
index 0000000000000000000000000000000000000000..d0466847c6e5c1239e359a0397568413ebc1504a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/ball_query.py
@@ -0,0 +1,55 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import torch
+from torch.autograd import Function
+
+from ..utils import ext_loader
+
+ext_module = ext_loader.load_ext('_ext', ['ball_query_forward'])
+
+
+class BallQuery(Function):
+ """Find nearby points in spherical space."""
+
+ @staticmethod
+ def forward(ctx, min_radius: float, max_radius: float, sample_num: int,
+ xyz: torch.Tensor, center_xyz: torch.Tensor) -> torch.Tensor:
+ """
+ Args:
+ min_radius (float): minimum radius of the balls.
+ max_radius (float): maximum radius of the balls.
+ sample_num (int): maximum number of features in the balls.
+ xyz (Tensor): (B, N, 3) xyz coordinates of the features.
+ center_xyz (Tensor): (B, npoint, 3) centers of the ball query.
+
+ Returns:
+ Tensor: (B, npoint, nsample) tensor with the indices of
+ the features that form the query balls.
+ """
+ assert center_xyz.is_contiguous()
+ assert xyz.is_contiguous()
+ assert min_radius < max_radius
+
+ B, N, _ = xyz.size()
+ npoint = center_xyz.size(1)
+ idx = xyz.new_zeros(B, npoint, sample_num, dtype=torch.int)
+
+ ext_module.ball_query_forward(
+ center_xyz,
+ xyz,
+ idx,
+ b=B,
+ n=N,
+ m=npoint,
+ min_radius=min_radius,
+ max_radius=max_radius,
+ nsample=sample_num)
+ if torch.__version__ != 'parrots':
+ ctx.mark_non_differentiable(idx)
+ return idx
+
+ @staticmethod
+ def backward(ctx, a=None):
+ return None, None, None, None
+
+
+ball_query = BallQuery.apply
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/bbox.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/bbox.py
new file mode 100644
index 0000000000000000000000000000000000000000..0c4d58b6c91f652933974f519acd3403a833e906
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/bbox.py
@@ -0,0 +1,72 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from ..utils import ext_loader
+
+ext_module = ext_loader.load_ext('_ext', ['bbox_overlaps'])
+
+
+def bbox_overlaps(bboxes1, bboxes2, mode='iou', aligned=False, offset=0):
+ """Calculate overlap between two set of bboxes.
+
+ If ``aligned`` is ``False``, then calculate the ious between each bbox
+ of bboxes1 and bboxes2, otherwise the ious between each aligned pair of
+ bboxes1 and bboxes2.
+
+ Args:
+ bboxes1 (Tensor): shape (m, 4) in format or empty.
+ bboxes2 (Tensor): shape (n, 4) in format or empty.
+ If aligned is ``True``, then m and n must be equal.
+ mode (str): "iou" (intersection over union) or iof (intersection over
+ foreground).
+
+ Returns:
+ ious(Tensor): shape (m, n) if aligned == False else shape (m, 1)
+
+ Example:
+ >>> bboxes1 = torch.FloatTensor([
+ >>> [0, 0, 10, 10],
+ >>> [10, 10, 20, 20],
+ >>> [32, 32, 38, 42],
+ >>> ])
+ >>> bboxes2 = torch.FloatTensor([
+ >>> [0, 0, 10, 20],
+ >>> [0, 10, 10, 19],
+ >>> [10, 10, 20, 20],
+ >>> ])
+ >>> bbox_overlaps(bboxes1, bboxes2)
+ tensor([[0.5000, 0.0000, 0.0000],
+ [0.0000, 0.0000, 1.0000],
+ [0.0000, 0.0000, 0.0000]])
+
+ Example:
+ >>> empty = torch.FloatTensor([])
+ >>> nonempty = torch.FloatTensor([
+ >>> [0, 0, 10, 9],
+ >>> ])
+ >>> assert tuple(bbox_overlaps(empty, nonempty).shape) == (0, 1)
+ >>> assert tuple(bbox_overlaps(nonempty, empty).shape) == (1, 0)
+ >>> assert tuple(bbox_overlaps(empty, empty).shape) == (0, 0)
+ """
+
+ mode_dict = {'iou': 0, 'iof': 1}
+ assert mode in mode_dict.keys()
+ mode_flag = mode_dict[mode]
+ # Either the boxes are empty or the length of boxes' last dimension is 4
+ assert (bboxes1.size(-1) == 4 or bboxes1.size(0) == 0)
+ assert (bboxes2.size(-1) == 4 or bboxes2.size(0) == 0)
+ assert offset == 1 or offset == 0
+
+ rows = bboxes1.size(0)
+ cols = bboxes2.size(0)
+ if aligned:
+ assert rows == cols
+
+ if rows * cols == 0:
+ return bboxes1.new(rows, 1) if aligned else bboxes1.new(rows, cols)
+
+ if aligned:
+ ious = bboxes1.new_zeros(rows)
+ else:
+ ious = bboxes1.new_zeros((rows, cols))
+ ext_module.bbox_overlaps(
+ bboxes1, bboxes2, ious, mode=mode_flag, aligned=aligned, offset=offset)
+ return ious
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/border_align.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/border_align.py
new file mode 100644
index 0000000000000000000000000000000000000000..ff305be328e9b0a15e1bbb5e6b41beb940f55c81
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/border_align.py
@@ -0,0 +1,109 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+# modified from
+# https://github.com/Megvii-BaseDetection/cvpods/blob/master/cvpods/layers/border_align.py
+
+import torch
+import torch.nn as nn
+from torch.autograd import Function
+from torch.autograd.function import once_differentiable
+
+from ..utils import ext_loader
+
+ext_module = ext_loader.load_ext(
+ '_ext', ['border_align_forward', 'border_align_backward'])
+
+
+class BorderAlignFunction(Function):
+
+ @staticmethod
+ def symbolic(g, input, boxes, pool_size):
+ return g.op(
+ 'mmcv::MMCVBorderAlign', input, boxes, pool_size_i=pool_size)
+
+ @staticmethod
+ def forward(ctx, input, boxes, pool_size):
+ ctx.pool_size = pool_size
+ ctx.input_shape = input.size()
+
+ assert boxes.ndim == 3, 'boxes must be with shape [B, H*W, 4]'
+ assert boxes.size(2) == 4, \
+ 'the last dimension of boxes must be (x1, y1, x2, y2)'
+ assert input.size(1) % 4 == 0, \
+ 'the channel for input feature must be divisible by factor 4'
+
+ # [B, C//4, H*W, 4]
+ output_shape = (input.size(0), input.size(1) // 4, boxes.size(1), 4)
+ output = input.new_zeros(output_shape)
+ # `argmax_idx` only used for backward
+ argmax_idx = input.new_zeros(output_shape).to(torch.int)
+
+ ext_module.border_align_forward(
+ input, boxes, output, argmax_idx, pool_size=ctx.pool_size)
+
+ ctx.save_for_backward(boxes, argmax_idx)
+ return output
+
+ @staticmethod
+ @once_differentiable
+ def backward(ctx, grad_output):
+ boxes, argmax_idx = ctx.saved_tensors
+ grad_input = grad_output.new_zeros(ctx.input_shape)
+ # complex head architecture may cause grad_output uncontiguous
+ grad_output = grad_output.contiguous()
+ ext_module.border_align_backward(
+ grad_output,
+ boxes,
+ argmax_idx,
+ grad_input,
+ pool_size=ctx.pool_size)
+ return grad_input, None, None
+
+
+border_align = BorderAlignFunction.apply
+
+
+class BorderAlign(nn.Module):
+ r"""Border align pooling layer.
+
+ Applies border_align over the input feature based on predicted bboxes.
+ The details were described in the paper
+ `BorderDet: Border Feature for Dense Object Detection
+ `_.
+
+ For each border line (e.g. top, left, bottom or right) of each box,
+ border_align does the following:
+ 1. uniformly samples `pool_size`+1 positions on this line, involving \
+ the start and end points.
+ 2. the corresponding features on these points are computed by \
+ bilinear interpolation.
+ 3. max pooling over all the `pool_size`+1 positions are used for \
+ computing pooled feature.
+
+ Args:
+ pool_size (int): number of positions sampled over the boxes' borders
+ (e.g. top, bottom, left, right).
+
+ """
+
+ def __init__(self, pool_size):
+ super(BorderAlign, self).__init__()
+ self.pool_size = pool_size
+
+ def forward(self, input, boxes):
+ """
+ Args:
+ input: Features with shape [N,4C,H,W]. Channels ranged in [0,C),
+ [C,2C), [2C,3C), [3C,4C) represent the top, left, bottom,
+ right features respectively.
+ boxes: Boxes with shape [N,H*W,4]. Coordinate format (x1,y1,x2,y2).
+
+ Returns:
+ Tensor: Pooled features with shape [N,C,H*W,4]. The order is
+ (top,left,bottom,right) for the last dimension.
+ """
+ return border_align(input, boxes, self.pool_size)
+
+ def __repr__(self):
+ s = self.__class__.__name__
+ s += f'(pool_size={self.pool_size})'
+ return s
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/box_iou_rotated.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/box_iou_rotated.py
new file mode 100644
index 0000000000000000000000000000000000000000..2d78015e9c2a9e7a52859b4e18f84a9aa63481a0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/box_iou_rotated.py
@@ -0,0 +1,45 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from ..utils import ext_loader
+
+ext_module = ext_loader.load_ext('_ext', ['box_iou_rotated'])
+
+
+def box_iou_rotated(bboxes1, bboxes2, mode='iou', aligned=False):
+ """Return intersection-over-union (Jaccard index) of boxes.
+
+ Both sets of boxes are expected to be in
+ (x_center, y_center, width, height, angle) format.
+
+ If ``aligned`` is ``False``, then calculate the ious between each bbox
+ of bboxes1 and bboxes2, otherwise the ious between each aligned pair of
+ bboxes1 and bboxes2.
+
+ Arguments:
+ boxes1 (Tensor): rotated bboxes 1. \
+ It has shape (N, 5), indicating (x, y, w, h, theta) for each row.
+ Note that theta is in radian.
+ boxes2 (Tensor): rotated bboxes 2. \
+ It has shape (M, 5), indicating (x, y, w, h, theta) for each row.
+ Note that theta is in radian.
+ mode (str): "iou" (intersection over union) or iof (intersection over
+ foreground).
+
+ Returns:
+ ious(Tensor): shape (N, M) if aligned == False else shape (N,)
+ """
+ assert mode in ['iou', 'iof']
+ mode_dict = {'iou': 0, 'iof': 1}
+ mode_flag = mode_dict[mode]
+ rows = bboxes1.size(0)
+ cols = bboxes2.size(0)
+ if aligned:
+ ious = bboxes1.new_zeros(rows)
+ else:
+ ious = bboxes1.new_zeros((rows * cols))
+ bboxes1 = bboxes1.contiguous()
+ bboxes2 = bboxes2.contiguous()
+ ext_module.box_iou_rotated(
+ bboxes1, bboxes2, ious, mode_flag=mode_flag, aligned=aligned)
+ if not aligned:
+ ious = ious.view(rows, cols)
+ return ious
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/carafe.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/carafe.py
new file mode 100644
index 0000000000000000000000000000000000000000..5154cb3abfccfbbe0a1b2daa67018dbf80aaf6d2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/carafe.py
@@ -0,0 +1,287 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import torch
+import torch.nn as nn
+import torch.nn.functional as F
+from torch.autograd import Function
+from torch.nn.modules.module import Module
+
+from ..cnn import UPSAMPLE_LAYERS, normal_init, xavier_init
+from ..utils import ext_loader
+
+ext_module = ext_loader.load_ext('_ext', [
+ 'carafe_naive_forward', 'carafe_naive_backward', 'carafe_forward',
+ 'carafe_backward'
+])
+
+
+class CARAFENaiveFunction(Function):
+
+ @staticmethod
+ def symbolic(g, features, masks, kernel_size, group_size, scale_factor):
+ return g.op(
+ 'mmcv::MMCVCARAFENaive',
+ features,
+ masks,
+ kernel_size_i=kernel_size,
+ group_size_i=group_size,
+ scale_factor_f=scale_factor)
+
+ @staticmethod
+ def forward(ctx, features, masks, kernel_size, group_size, scale_factor):
+ assert scale_factor >= 1
+ assert masks.size(1) == kernel_size * kernel_size * group_size
+ assert masks.size(-1) == features.size(-1) * scale_factor
+ assert masks.size(-2) == features.size(-2) * scale_factor
+ assert features.size(1) % group_size == 0
+ assert (kernel_size - 1) % 2 == 0 and kernel_size >= 1
+ ctx.kernel_size = kernel_size
+ ctx.group_size = group_size
+ ctx.scale_factor = scale_factor
+ ctx.feature_size = features.size()
+ ctx.mask_size = masks.size()
+
+ n, c, h, w = features.size()
+ output = features.new_zeros((n, c, h * scale_factor, w * scale_factor))
+ ext_module.carafe_naive_forward(
+ features,
+ masks,
+ output,
+ kernel_size=kernel_size,
+ group_size=group_size,
+ scale_factor=scale_factor)
+
+ if features.requires_grad or masks.requires_grad:
+ ctx.save_for_backward(features, masks)
+ return output
+
+ @staticmethod
+ def backward(ctx, grad_output):
+ assert grad_output.is_cuda
+
+ features, masks = ctx.saved_tensors
+ kernel_size = ctx.kernel_size
+ group_size = ctx.group_size
+ scale_factor = ctx.scale_factor
+
+ grad_input = torch.zeros_like(features)
+ grad_masks = torch.zeros_like(masks)
+ ext_module.carafe_naive_backward(
+ grad_output.contiguous(),
+ features,
+ masks,
+ grad_input,
+ grad_masks,
+ kernel_size=kernel_size,
+ group_size=group_size,
+ scale_factor=scale_factor)
+
+ return grad_input, grad_masks, None, None, None
+
+
+carafe_naive = CARAFENaiveFunction.apply
+
+
+class CARAFENaive(Module):
+
+ def __init__(self, kernel_size, group_size, scale_factor):
+ super(CARAFENaive, self).__init__()
+
+ assert isinstance(kernel_size, int) and isinstance(
+ group_size, int) and isinstance(scale_factor, int)
+ self.kernel_size = kernel_size
+ self.group_size = group_size
+ self.scale_factor = scale_factor
+
+ def forward(self, features, masks):
+ return carafe_naive(features, masks, self.kernel_size, self.group_size,
+ self.scale_factor)
+
+
+class CARAFEFunction(Function):
+
+ @staticmethod
+ def symbolic(g, features, masks, kernel_size, group_size, scale_factor):
+ return g.op(
+ 'mmcv::MMCVCARAFE',
+ features,
+ masks,
+ kernel_size_i=kernel_size,
+ group_size_i=group_size,
+ scale_factor_f=scale_factor)
+
+ @staticmethod
+ def forward(ctx, features, masks, kernel_size, group_size, scale_factor):
+ assert scale_factor >= 1
+ assert masks.size(1) == kernel_size * kernel_size * group_size
+ assert masks.size(-1) == features.size(-1) * scale_factor
+ assert masks.size(-2) == features.size(-2) * scale_factor
+ assert features.size(1) % group_size == 0
+ assert (kernel_size - 1) % 2 == 0 and kernel_size >= 1
+ ctx.kernel_size = kernel_size
+ ctx.group_size = group_size
+ ctx.scale_factor = scale_factor
+ ctx.feature_size = features.size()
+ ctx.mask_size = masks.size()
+
+ n, c, h, w = features.size()
+ output = features.new_zeros((n, c, h * scale_factor, w * scale_factor))
+ routput = features.new_zeros(output.size(), requires_grad=False)
+ rfeatures = features.new_zeros(features.size(), requires_grad=False)
+ rmasks = masks.new_zeros(masks.size(), requires_grad=False)
+ ext_module.carafe_forward(
+ features,
+ masks,
+ rfeatures,
+ routput,
+ rmasks,
+ output,
+ kernel_size=kernel_size,
+ group_size=group_size,
+ scale_factor=scale_factor)
+
+ if features.requires_grad or masks.requires_grad:
+ ctx.save_for_backward(features, masks, rfeatures)
+ return output
+
+ @staticmethod
+ def backward(ctx, grad_output):
+ assert grad_output.is_cuda
+
+ features, masks, rfeatures = ctx.saved_tensors
+ kernel_size = ctx.kernel_size
+ group_size = ctx.group_size
+ scale_factor = ctx.scale_factor
+
+ rgrad_output = torch.zeros_like(grad_output, requires_grad=False)
+ rgrad_input_hs = torch.zeros_like(grad_output, requires_grad=False)
+ rgrad_input = torch.zeros_like(features, requires_grad=False)
+ rgrad_masks = torch.zeros_like(masks, requires_grad=False)
+ grad_input = torch.zeros_like(features, requires_grad=False)
+ grad_masks = torch.zeros_like(masks, requires_grad=False)
+ ext_module.carafe_backward(
+ grad_output.contiguous(),
+ rfeatures,
+ masks,
+ rgrad_output,
+ rgrad_input_hs,
+ rgrad_input,
+ rgrad_masks,
+ grad_input,
+ grad_masks,
+ kernel_size=kernel_size,
+ group_size=group_size,
+ scale_factor=scale_factor)
+ return grad_input, grad_masks, None, None, None
+
+
+carafe = CARAFEFunction.apply
+
+
+class CARAFE(Module):
+ """ CARAFE: Content-Aware ReAssembly of FEatures
+
+ Please refer to https://arxiv.org/abs/1905.02188 for more details.
+
+ Args:
+ kernel_size (int): reassemble kernel size
+ group_size (int): reassemble group size
+ scale_factor (int): upsample ratio
+
+ Returns:
+ upsampled feature map
+ """
+
+ def __init__(self, kernel_size, group_size, scale_factor):
+ super(CARAFE, self).__init__()
+
+ assert isinstance(kernel_size, int) and isinstance(
+ group_size, int) and isinstance(scale_factor, int)
+ self.kernel_size = kernel_size
+ self.group_size = group_size
+ self.scale_factor = scale_factor
+
+ def forward(self, features, masks):
+ return carafe(features, masks, self.kernel_size, self.group_size,
+ self.scale_factor)
+
+
+@UPSAMPLE_LAYERS.register_module(name='carafe')
+class CARAFEPack(nn.Module):
+ """A unified package of CARAFE upsampler that contains: 1) channel
+ compressor 2) content encoder 3) CARAFE op.
+
+ Official implementation of ICCV 2019 paper
+ CARAFE: Content-Aware ReAssembly of FEatures
+ Please refer to https://arxiv.org/abs/1905.02188 for more details.
+
+ Args:
+ channels (int): input feature channels
+ scale_factor (int): upsample ratio
+ up_kernel (int): kernel size of CARAFE op
+ up_group (int): group size of CARAFE op
+ encoder_kernel (int): kernel size of content encoder
+ encoder_dilation (int): dilation of content encoder
+ compressed_channels (int): output channels of channels compressor
+
+ Returns:
+ upsampled feature map
+ """
+
+ def __init__(self,
+ channels,
+ scale_factor,
+ up_kernel=5,
+ up_group=1,
+ encoder_kernel=3,
+ encoder_dilation=1,
+ compressed_channels=64):
+ super(CARAFEPack, self).__init__()
+ self.channels = channels
+ self.scale_factor = scale_factor
+ self.up_kernel = up_kernel
+ self.up_group = up_group
+ self.encoder_kernel = encoder_kernel
+ self.encoder_dilation = encoder_dilation
+ self.compressed_channels = compressed_channels
+ self.channel_compressor = nn.Conv2d(channels, self.compressed_channels,
+ 1)
+ self.content_encoder = nn.Conv2d(
+ self.compressed_channels,
+ self.up_kernel * self.up_kernel * self.up_group *
+ self.scale_factor * self.scale_factor,
+ self.encoder_kernel,
+ padding=int((self.encoder_kernel - 1) * self.encoder_dilation / 2),
+ dilation=self.encoder_dilation,
+ groups=1)
+ self.init_weights()
+
+ def init_weights(self):
+ for m in self.modules():
+ if isinstance(m, nn.Conv2d):
+ xavier_init(m, distribution='uniform')
+ normal_init(self.content_encoder, std=0.001)
+
+ def kernel_normalizer(self, mask):
+ mask = F.pixel_shuffle(mask, self.scale_factor)
+ n, mask_c, h, w = mask.size()
+ # use float division explicitly,
+ # to void inconsistency while exporting to onnx
+ mask_channel = int(mask_c / float(self.up_kernel**2))
+ mask = mask.view(n, mask_channel, -1, h, w)
+
+ mask = F.softmax(mask, dim=2, dtype=mask.dtype)
+ mask = mask.view(n, mask_c, h, w).contiguous()
+
+ return mask
+
+ def feature_reassemble(self, x, mask):
+ x = carafe(x, mask, self.up_kernel, self.up_group, self.scale_factor)
+ return x
+
+ def forward(self, x):
+ compressed_x = self.channel_compressor(x)
+ mask = self.content_encoder(compressed_x)
+ mask = self.kernel_normalizer(mask)
+
+ x = self.feature_reassemble(x, mask)
+ return x
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/cc_attention.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/cc_attention.py
new file mode 100644
index 0000000000000000000000000000000000000000..8982f467185b5d839832baa2e51722613a8b87a2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/cc_attention.py
@@ -0,0 +1,83 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import torch
+import torch.nn as nn
+import torch.nn.functional as F
+
+from annotator.mmpkg.mmcv.cnn import PLUGIN_LAYERS, Scale
+
+
+def NEG_INF_DIAG(n, device):
+ """Returns a diagonal matrix of size [n, n].
+
+ The diagonal are all "-inf". This is for avoiding calculating the
+ overlapped element in the Criss-Cross twice.
+ """
+ return torch.diag(torch.tensor(float('-inf')).to(device).repeat(n), 0)
+
+
+@PLUGIN_LAYERS.register_module()
+class CrissCrossAttention(nn.Module):
+ """Criss-Cross Attention Module.
+
+ .. note::
+ Before v1.3.13, we use a CUDA op. Since v1.3.13, we switch
+ to a pure PyTorch and equivalent implementation. For more
+ details, please refer to https://github.com/open-mmlab/mmcv/pull/1201.
+
+ Speed comparison for one forward pass
+
+ - Input size: [2,512,97,97]
+ - Device: 1 NVIDIA GeForce RTX 2080 Ti
+
+ +-----------------------+---------------+------------+---------------+
+ | |PyTorch version|CUDA version|Relative speed |
+ +=======================+===============+============+===============+
+ |with torch.no_grad() |0.00554402 s |0.0299619 s |5.4x |
+ +-----------------------+---------------+------------+---------------+
+ |no with torch.no_grad()|0.00562803 s |0.0301349 s |5.4x |
+ +-----------------------+---------------+------------+---------------+
+
+ Args:
+ in_channels (int): Channels of the input feature map.
+ """
+
+ def __init__(self, in_channels):
+ super().__init__()
+ self.query_conv = nn.Conv2d(in_channels, in_channels // 8, 1)
+ self.key_conv = nn.Conv2d(in_channels, in_channels // 8, 1)
+ self.value_conv = nn.Conv2d(in_channels, in_channels, 1)
+ self.gamma = Scale(0.)
+ self.in_channels = in_channels
+
+ def forward(self, x):
+ """forward function of Criss-Cross Attention.
+
+ Args:
+ x (Tensor): Input feature. \
+ shape (batch_size, in_channels, height, width)
+ Returns:
+ Tensor: Output of the layer, with shape of \
+ (batch_size, in_channels, height, width)
+ """
+ B, C, H, W = x.size()
+ query = self.query_conv(x)
+ key = self.key_conv(x)
+ value = self.value_conv(x)
+ energy_H = torch.einsum('bchw,bciw->bwhi', query, key) + NEG_INF_DIAG(
+ H, query.device)
+ energy_H = energy_H.transpose(1, 2)
+ energy_W = torch.einsum('bchw,bchj->bhwj', query, key)
+ attn = F.softmax(
+ torch.cat([energy_H, energy_W], dim=-1), dim=-1) # [B,H,W,(H+W)]
+ out = torch.einsum('bciw,bhwi->bchw', value, attn[..., :H])
+ out += torch.einsum('bchj,bhwj->bchw', value, attn[..., H:])
+
+ out = self.gamma(out) + x
+ out = out.contiguous()
+
+ return out
+
+ def __repr__(self):
+ s = self.__class__.__name__
+ s += f'(in_channels={self.in_channels})'
+ return s
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/contour_expand.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/contour_expand.py
new file mode 100644
index 0000000000000000000000000000000000000000..ea1111e1768b5f27e118bf7dbc0d9c70a7afd6d7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/contour_expand.py
@@ -0,0 +1,49 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import numpy as np
+import torch
+
+from ..utils import ext_loader
+
+ext_module = ext_loader.load_ext('_ext', ['contour_expand'])
+
+
+def contour_expand(kernel_mask, internal_kernel_label, min_kernel_area,
+ kernel_num):
+ """Expand kernel contours so that foreground pixels are assigned into
+ instances.
+
+ Arguments:
+ kernel_mask (np.array or Tensor): The instance kernel mask with
+ size hxw.
+ internal_kernel_label (np.array or Tensor): The instance internal
+ kernel label with size hxw.
+ min_kernel_area (int): The minimum kernel area.
+ kernel_num (int): The instance kernel number.
+
+ Returns:
+ label (list): The instance index map with size hxw.
+ """
+ assert isinstance(kernel_mask, (torch.Tensor, np.ndarray))
+ assert isinstance(internal_kernel_label, (torch.Tensor, np.ndarray))
+ assert isinstance(min_kernel_area, int)
+ assert isinstance(kernel_num, int)
+
+ if isinstance(kernel_mask, np.ndarray):
+ kernel_mask = torch.from_numpy(kernel_mask)
+ if isinstance(internal_kernel_label, np.ndarray):
+ internal_kernel_label = torch.from_numpy(internal_kernel_label)
+
+ if torch.__version__ == 'parrots':
+ if kernel_mask.shape[0] == 0 or internal_kernel_label.shape[0] == 0:
+ label = []
+ else:
+ label = ext_module.contour_expand(
+ kernel_mask,
+ internal_kernel_label,
+ min_kernel_area=min_kernel_area,
+ kernel_num=kernel_num)
+ label = label.tolist()
+ else:
+ label = ext_module.contour_expand(kernel_mask, internal_kernel_label,
+ min_kernel_area, kernel_num)
+ return label
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/corner_pool.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/corner_pool.py
new file mode 100644
index 0000000000000000000000000000000000000000..a33d798b43d405e4c86bee4cd6389be21ca9c637
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/corner_pool.py
@@ -0,0 +1,161 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import torch
+from torch import nn
+from torch.autograd import Function
+
+from ..utils import ext_loader
+
+ext_module = ext_loader.load_ext('_ext', [
+ 'top_pool_forward', 'top_pool_backward', 'bottom_pool_forward',
+ 'bottom_pool_backward', 'left_pool_forward', 'left_pool_backward',
+ 'right_pool_forward', 'right_pool_backward'
+])
+
+_mode_dict = {'top': 0, 'bottom': 1, 'left': 2, 'right': 3}
+
+
+class TopPoolFunction(Function):
+
+ @staticmethod
+ def symbolic(g, input):
+ output = g.op(
+ 'mmcv::MMCVCornerPool', input, mode_i=int(_mode_dict['top']))
+ return output
+
+ @staticmethod
+ def forward(ctx, input):
+ output = ext_module.top_pool_forward(input)
+ ctx.save_for_backward(input)
+ return output
+
+ @staticmethod
+ def backward(ctx, grad_output):
+ input, = ctx.saved_tensors
+ output = ext_module.top_pool_backward(input, grad_output)
+ return output
+
+
+class BottomPoolFunction(Function):
+
+ @staticmethod
+ def symbolic(g, input):
+ output = g.op(
+ 'mmcv::MMCVCornerPool', input, mode_i=int(_mode_dict['bottom']))
+ return output
+
+ @staticmethod
+ def forward(ctx, input):
+ output = ext_module.bottom_pool_forward(input)
+ ctx.save_for_backward(input)
+ return output
+
+ @staticmethod
+ def backward(ctx, grad_output):
+ input, = ctx.saved_tensors
+ output = ext_module.bottom_pool_backward(input, grad_output)
+ return output
+
+
+class LeftPoolFunction(Function):
+
+ @staticmethod
+ def symbolic(g, input):
+ output = g.op(
+ 'mmcv::MMCVCornerPool', input, mode_i=int(_mode_dict['left']))
+ return output
+
+ @staticmethod
+ def forward(ctx, input):
+ output = ext_module.left_pool_forward(input)
+ ctx.save_for_backward(input)
+ return output
+
+ @staticmethod
+ def backward(ctx, grad_output):
+ input, = ctx.saved_tensors
+ output = ext_module.left_pool_backward(input, grad_output)
+ return output
+
+
+class RightPoolFunction(Function):
+
+ @staticmethod
+ def symbolic(g, input):
+ output = g.op(
+ 'mmcv::MMCVCornerPool', input, mode_i=int(_mode_dict['right']))
+ return output
+
+ @staticmethod
+ def forward(ctx, input):
+ output = ext_module.right_pool_forward(input)
+ ctx.save_for_backward(input)
+ return output
+
+ @staticmethod
+ def backward(ctx, grad_output):
+ input, = ctx.saved_tensors
+ output = ext_module.right_pool_backward(input, grad_output)
+ return output
+
+
+class CornerPool(nn.Module):
+ """Corner Pooling.
+
+ Corner Pooling is a new type of pooling layer that helps a
+ convolutional network better localize corners of bounding boxes.
+
+ Please refer to https://arxiv.org/abs/1808.01244 for more details.
+ Code is modified from https://github.com/princeton-vl/CornerNet-Lite.
+
+ Args:
+ mode(str): Pooling orientation for the pooling layer
+
+ - 'bottom': Bottom Pooling
+ - 'left': Left Pooling
+ - 'right': Right Pooling
+ - 'top': Top Pooling
+
+ Returns:
+ Feature map after pooling.
+ """
+
+ pool_functions = {
+ 'bottom': BottomPoolFunction,
+ 'left': LeftPoolFunction,
+ 'right': RightPoolFunction,
+ 'top': TopPoolFunction,
+ }
+
+ cummax_dim_flip = {
+ 'bottom': (2, False),
+ 'left': (3, True),
+ 'right': (3, False),
+ 'top': (2, True),
+ }
+
+ def __init__(self, mode):
+ super(CornerPool, self).__init__()
+ assert mode in self.pool_functions
+ self.mode = mode
+ self.corner_pool = self.pool_functions[mode]
+
+ def forward(self, x):
+ if torch.__version__ != 'parrots' and torch.__version__ >= '1.5.0':
+ if torch.onnx.is_in_onnx_export():
+ assert torch.__version__ >= '1.7.0', \
+ 'When `cummax` serves as an intermediate component whose '\
+ 'outputs is used as inputs for another modules, it\'s '\
+ 'expected that pytorch version must be >= 1.7.0, '\
+ 'otherwise Error appears like: `RuntimeError: tuple '\
+ 'appears in op that does not forward tuples, unsupported '\
+ 'kind: prim::PythonOp`.'
+
+ dim, flip = self.cummax_dim_flip[self.mode]
+ if flip:
+ x = x.flip(dim)
+ pool_tensor, _ = torch.cummax(x, dim=dim)
+ if flip:
+ pool_tensor = pool_tensor.flip(dim)
+ return pool_tensor
+ else:
+ return self.corner_pool.apply(x)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/correlation.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/correlation.py
new file mode 100644
index 0000000000000000000000000000000000000000..3d0b79c301b29915dfaf4d2b1846c59be73127d3
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/correlation.py
@@ -0,0 +1,196 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import torch
+from torch import Tensor, nn
+from torch.autograd import Function
+from torch.autograd.function import once_differentiable
+from torch.nn.modules.utils import _pair
+
+from ..utils import ext_loader
+
+ext_module = ext_loader.load_ext(
+ '_ext', ['correlation_forward', 'correlation_backward'])
+
+
+class CorrelationFunction(Function):
+
+ @staticmethod
+ def forward(ctx,
+ input1,
+ input2,
+ kernel_size=1,
+ max_displacement=1,
+ stride=1,
+ padding=1,
+ dilation=1,
+ dilation_patch=1):
+
+ ctx.save_for_backward(input1, input2)
+
+ kH, kW = ctx.kernel_size = _pair(kernel_size)
+ patch_size = max_displacement * 2 + 1
+ ctx.patch_size = patch_size
+ dH, dW = ctx.stride = _pair(stride)
+ padH, padW = ctx.padding = _pair(padding)
+ dilationH, dilationW = ctx.dilation = _pair(dilation)
+ dilation_patchH, dilation_patchW = ctx.dilation_patch = _pair(
+ dilation_patch)
+
+ output_size = CorrelationFunction._output_size(ctx, input1)
+
+ output = input1.new_zeros(output_size)
+
+ ext_module.correlation_forward(
+ input1,
+ input2,
+ output,
+ kH=kH,
+ kW=kW,
+ patchH=patch_size,
+ patchW=patch_size,
+ padH=padH,
+ padW=padW,
+ dilationH=dilationH,
+ dilationW=dilationW,
+ dilation_patchH=dilation_patchH,
+ dilation_patchW=dilation_patchW,
+ dH=dH,
+ dW=dW)
+
+ return output
+
+ @staticmethod
+ @once_differentiable
+ def backward(ctx, grad_output):
+ input1, input2 = ctx.saved_tensors
+
+ kH, kW = ctx.kernel_size
+ patch_size = ctx.patch_size
+ padH, padW = ctx.padding
+ dilationH, dilationW = ctx.dilation
+ dilation_patchH, dilation_patchW = ctx.dilation_patch
+ dH, dW = ctx.stride
+ grad_input1 = torch.zeros_like(input1)
+ grad_input2 = torch.zeros_like(input2)
+
+ ext_module.correlation_backward(
+ grad_output,
+ input1,
+ input2,
+ grad_input1,
+ grad_input2,
+ kH=kH,
+ kW=kW,
+ patchH=patch_size,
+ patchW=patch_size,
+ padH=padH,
+ padW=padW,
+ dilationH=dilationH,
+ dilationW=dilationW,
+ dilation_patchH=dilation_patchH,
+ dilation_patchW=dilation_patchW,
+ dH=dH,
+ dW=dW)
+ return grad_input1, grad_input2, None, None, None, None, None, None
+
+ @staticmethod
+ def _output_size(ctx, input1):
+ iH, iW = input1.size(2), input1.size(3)
+ batch_size = input1.size(0)
+ kH, kW = ctx.kernel_size
+ patch_size = ctx.patch_size
+ dH, dW = ctx.stride
+ padH, padW = ctx.padding
+ dilationH, dilationW = ctx.dilation
+ dilatedKH = (kH - 1) * dilationH + 1
+ dilatedKW = (kW - 1) * dilationW + 1
+
+ oH = int((iH + 2 * padH - dilatedKH) / dH + 1)
+ oW = int((iW + 2 * padW - dilatedKW) / dW + 1)
+
+ output_size = (batch_size, patch_size, patch_size, oH, oW)
+ return output_size
+
+
+class Correlation(nn.Module):
+ r"""Correlation operator
+
+ This correlation operator works for optical flow correlation computation.
+
+ There are two batched tensors with shape :math:`(N, C, H, W)`,
+ and the correlation output's shape is :math:`(N, max\_displacement \times
+ 2 + 1, max\_displacement * 2 + 1, H_{out}, W_{out})`
+
+ where
+
+ .. math::
+ H_{out} = \left\lfloor\frac{H_{in} + 2 \times padding -
+ dilation \times (kernel\_size - 1) - 1}
+ {stride} + 1\right\rfloor
+
+ .. math::
+ W_{out} = \left\lfloor\frac{W_{in} + 2 \times padding - dilation
+ \times (kernel\_size - 1) - 1}
+ {stride} + 1\right\rfloor
+
+ the correlation item :math:`(N_i, dy, dx)` is formed by taking the sliding
+ window convolution between input1 and shifted input2,
+
+ .. math::
+ Corr(N_i, dx, dy) =
+ \sum_{c=0}^{C-1}
+ input1(N_i, c) \star
+ \mathcal{S}(input2(N_i, c), dy, dx)
+
+ where :math:`\star` is the valid 2d sliding window convolution operator,
+ and :math:`\mathcal{S}` means shifting the input features (auto-complete
+ zero marginal), and :math:`dx, dy` are shifting distance, :math:`dx, dy \in
+ [-max\_displacement \times dilation\_patch, max\_displacement \times
+ dilation\_patch]`.
+
+ Args:
+ kernel_size (int): The size of sliding window i.e. local neighborhood
+ representing the center points and involved in correlation
+ computation. Defaults to 1.
+ max_displacement (int): The radius for computing correlation volume,
+ but the actual working space can be dilated by dilation_patch.
+ Defaults to 1.
+ stride (int): The stride of the sliding blocks in the input spatial
+ dimensions. Defaults to 1.
+ padding (int): Zero padding added to all four sides of the input1.
+ Defaults to 0.
+ dilation (int): The spacing of local neighborhood that will involved
+ in correlation. Defaults to 1.
+ dilation_patch (int): The spacing between position need to compute
+ correlation. Defaults to 1.
+ """
+
+ def __init__(self,
+ kernel_size: int = 1,
+ max_displacement: int = 1,
+ stride: int = 1,
+ padding: int = 0,
+ dilation: int = 1,
+ dilation_patch: int = 1) -> None:
+ super().__init__()
+ self.kernel_size = kernel_size
+ self.max_displacement = max_displacement
+ self.stride = stride
+ self.padding = padding
+ self.dilation = dilation
+ self.dilation_patch = dilation_patch
+
+ def forward(self, input1: Tensor, input2: Tensor) -> Tensor:
+ return CorrelationFunction.apply(input1, input2, self.kernel_size,
+ self.max_displacement, self.stride,
+ self.padding, self.dilation,
+ self.dilation_patch)
+
+ def __repr__(self) -> str:
+ s = self.__class__.__name__
+ s += f'(kernel_size={self.kernel_size}, '
+ s += f'max_displacement={self.max_displacement}, '
+ s += f'stride={self.stride}, '
+ s += f'padding={self.padding}, '
+ s += f'dilation={self.dilation}, '
+ s += f'dilation_patch={self.dilation_patch})'
+ return s
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/deform_conv.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/deform_conv.py
new file mode 100644
index 0000000000000000000000000000000000000000..3de3aae1e7b2258360aef3ad9eb3a351f080f10f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/deform_conv.py
@@ -0,0 +1,405 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from typing import Tuple, Union
+
+import torch
+import torch.nn as nn
+import torch.nn.functional as F
+from torch import Tensor
+from torch.autograd import Function
+from torch.autograd.function import once_differentiable
+from torch.nn.modules.utils import _pair, _single
+
+from annotator.mmpkg.mmcv.utils import deprecated_api_warning
+from ..cnn import CONV_LAYERS
+from ..utils import ext_loader, print_log
+
+ext_module = ext_loader.load_ext('_ext', [
+ 'deform_conv_forward', 'deform_conv_backward_input',
+ 'deform_conv_backward_parameters'
+])
+
+
+class DeformConv2dFunction(Function):
+
+ @staticmethod
+ def symbolic(g,
+ input,
+ offset,
+ weight,
+ stride,
+ padding,
+ dilation,
+ groups,
+ deform_groups,
+ bias=False,
+ im2col_step=32):
+ return g.op(
+ 'mmcv::MMCVDeformConv2d',
+ input,
+ offset,
+ weight,
+ stride_i=stride,
+ padding_i=padding,
+ dilation_i=dilation,
+ groups_i=groups,
+ deform_groups_i=deform_groups,
+ bias_i=bias,
+ im2col_step_i=im2col_step)
+
+ @staticmethod
+ def forward(ctx,
+ input,
+ offset,
+ weight,
+ stride=1,
+ padding=0,
+ dilation=1,
+ groups=1,
+ deform_groups=1,
+ bias=False,
+ im2col_step=32):
+ if input is not None and input.dim() != 4:
+ raise ValueError(
+ f'Expected 4D tensor as input, got {input.dim()}D tensor \
+ instead.')
+ assert bias is False, 'Only support bias is False.'
+ ctx.stride = _pair(stride)
+ ctx.padding = _pair(padding)
+ ctx.dilation = _pair(dilation)
+ ctx.groups = groups
+ ctx.deform_groups = deform_groups
+ ctx.im2col_step = im2col_step
+
+ # When pytorch version >= 1.6.0, amp is adopted for fp16 mode;
+ # amp won't cast the type of model (float32), but "offset" is cast
+ # to float16 by nn.Conv2d automatically, leading to the type
+ # mismatch with input (when it is float32) or weight.
+ # The flag for whether to use fp16 or amp is the type of "offset",
+ # we cast weight and input to temporarily support fp16 and amp
+ # whatever the pytorch version is.
+ input = input.type_as(offset)
+ weight = weight.type_as(input)
+ ctx.save_for_backward(input, offset, weight)
+
+ output = input.new_empty(
+ DeformConv2dFunction._output_size(ctx, input, weight))
+
+ ctx.bufs_ = [input.new_empty(0), input.new_empty(0)] # columns, ones
+
+ cur_im2col_step = min(ctx.im2col_step, input.size(0))
+ assert (input.size(0) %
+ cur_im2col_step) == 0, 'im2col step must divide batchsize'
+ ext_module.deform_conv_forward(
+ input,
+ weight,
+ offset,
+ output,
+ ctx.bufs_[0],
+ ctx.bufs_[1],
+ kW=weight.size(3),
+ kH=weight.size(2),
+ dW=ctx.stride[1],
+ dH=ctx.stride[0],
+ padW=ctx.padding[1],
+ padH=ctx.padding[0],
+ dilationW=ctx.dilation[1],
+ dilationH=ctx.dilation[0],
+ group=ctx.groups,
+ deformable_group=ctx.deform_groups,
+ im2col_step=cur_im2col_step)
+ return output
+
+ @staticmethod
+ @once_differentiable
+ def backward(ctx, grad_output):
+ input, offset, weight = ctx.saved_tensors
+
+ grad_input = grad_offset = grad_weight = None
+
+ cur_im2col_step = min(ctx.im2col_step, input.size(0))
+ assert (input.size(0) % cur_im2col_step
+ ) == 0, 'batch size must be divisible by im2col_step'
+
+ grad_output = grad_output.contiguous()
+ if ctx.needs_input_grad[0] or ctx.needs_input_grad[1]:
+ grad_input = torch.zeros_like(input)
+ grad_offset = torch.zeros_like(offset)
+ ext_module.deform_conv_backward_input(
+ input,
+ offset,
+ grad_output,
+ grad_input,
+ grad_offset,
+ weight,
+ ctx.bufs_[0],
+ kW=weight.size(3),
+ kH=weight.size(2),
+ dW=ctx.stride[1],
+ dH=ctx.stride[0],
+ padW=ctx.padding[1],
+ padH=ctx.padding[0],
+ dilationW=ctx.dilation[1],
+ dilationH=ctx.dilation[0],
+ group=ctx.groups,
+ deformable_group=ctx.deform_groups,
+ im2col_step=cur_im2col_step)
+
+ if ctx.needs_input_grad[2]:
+ grad_weight = torch.zeros_like(weight)
+ ext_module.deform_conv_backward_parameters(
+ input,
+ offset,
+ grad_output,
+ grad_weight,
+ ctx.bufs_[0],
+ ctx.bufs_[1],
+ kW=weight.size(3),
+ kH=weight.size(2),
+ dW=ctx.stride[1],
+ dH=ctx.stride[0],
+ padW=ctx.padding[1],
+ padH=ctx.padding[0],
+ dilationW=ctx.dilation[1],
+ dilationH=ctx.dilation[0],
+ group=ctx.groups,
+ deformable_group=ctx.deform_groups,
+ scale=1,
+ im2col_step=cur_im2col_step)
+
+ return grad_input, grad_offset, grad_weight, \
+ None, None, None, None, None, None, None
+
+ @staticmethod
+ def _output_size(ctx, input, weight):
+ channels = weight.size(0)
+ output_size = (input.size(0), channels)
+ for d in range(input.dim() - 2):
+ in_size = input.size(d + 2)
+ pad = ctx.padding[d]
+ kernel = ctx.dilation[d] * (weight.size(d + 2) - 1) + 1
+ stride_ = ctx.stride[d]
+ output_size += ((in_size + (2 * pad) - kernel) // stride_ + 1, )
+ if not all(map(lambda s: s > 0, output_size)):
+ raise ValueError(
+ 'convolution input is too small (output would be ' +
+ 'x'.join(map(str, output_size)) + ')')
+ return output_size
+
+
+deform_conv2d = DeformConv2dFunction.apply
+
+
+class DeformConv2d(nn.Module):
+ r"""Deformable 2D convolution.
+
+ Applies a deformable 2D convolution over an input signal composed of
+ several input planes. DeformConv2d was described in the paper
+ `Deformable Convolutional Networks
+ `_
+
+ Note:
+ The argument ``im2col_step`` was added in version 1.3.17, which means
+ number of samples processed by the ``im2col_cuda_kernel`` per call.
+ It enables users to define ``batch_size`` and ``im2col_step`` more
+ flexibly and solved `issue mmcv#1440
+ `_.
+
+ Args:
+ in_channels (int): Number of channels in the input image.
+ out_channels (int): Number of channels produced by the convolution.
+ kernel_size(int, tuple): Size of the convolving kernel.
+ stride(int, tuple): Stride of the convolution. Default: 1.
+ padding (int or tuple): Zero-padding added to both sides of the input.
+ Default: 0.
+ dilation (int or tuple): Spacing between kernel elements. Default: 1.
+ groups (int): Number of blocked connections from input.
+ channels to output channels. Default: 1.
+ deform_groups (int): Number of deformable group partitions.
+ bias (bool): If True, adds a learnable bias to the output.
+ Default: False.
+ im2col_step (int): Number of samples processed by im2col_cuda_kernel
+ per call. It will work when ``batch_size`` > ``im2col_step``, but
+ ``batch_size`` must be divisible by ``im2col_step``. Default: 32.
+ `New in version 1.3.17.`
+ """
+
+ @deprecated_api_warning({'deformable_groups': 'deform_groups'},
+ cls_name='DeformConv2d')
+ def __init__(self,
+ in_channels: int,
+ out_channels: int,
+ kernel_size: Union[int, Tuple[int, ...]],
+ stride: Union[int, Tuple[int, ...]] = 1,
+ padding: Union[int, Tuple[int, ...]] = 0,
+ dilation: Union[int, Tuple[int, ...]] = 1,
+ groups: int = 1,
+ deform_groups: int = 1,
+ bias: bool = False,
+ im2col_step: int = 32) -> None:
+ super(DeformConv2d, self).__init__()
+
+ assert not bias, \
+ f'bias={bias} is not supported in DeformConv2d.'
+ assert in_channels % groups == 0, \
+ f'in_channels {in_channels} cannot be divisible by groups {groups}'
+ assert out_channels % groups == 0, \
+ f'out_channels {out_channels} cannot be divisible by groups \
+ {groups}'
+
+ self.in_channels = in_channels
+ self.out_channels = out_channels
+ self.kernel_size = _pair(kernel_size)
+ self.stride = _pair(stride)
+ self.padding = _pair(padding)
+ self.dilation = _pair(dilation)
+ self.groups = groups
+ self.deform_groups = deform_groups
+ self.im2col_step = im2col_step
+ # enable compatibility with nn.Conv2d
+ self.transposed = False
+ self.output_padding = _single(0)
+
+ # only weight, no bias
+ self.weight = nn.Parameter(
+ torch.Tensor(out_channels, in_channels // self.groups,
+ *self.kernel_size))
+
+ self.reset_parameters()
+
+ def reset_parameters(self):
+ # switch the initialization of `self.weight` to the standard kaiming
+ # method described in `Delving deep into rectifiers: Surpassing
+ # human-level performance on ImageNet classification` - He, K. et al.
+ # (2015), using a uniform distribution
+ nn.init.kaiming_uniform_(self.weight, nonlinearity='relu')
+
+ def forward(self, x: Tensor, offset: Tensor) -> Tensor:
+ """Deformable Convolutional forward function.
+
+ Args:
+ x (Tensor): Input feature, shape (B, C_in, H_in, W_in)
+ offset (Tensor): Offset for deformable convolution, shape
+ (B, deform_groups*kernel_size[0]*kernel_size[1]*2,
+ H_out, W_out), H_out, W_out are equal to the output's.
+
+ An offset is like `[y0, x0, y1, x1, y2, x2, ..., y8, x8]`.
+ The spatial arrangement is like:
+
+ .. code:: text
+
+ (x0, y0) (x1, y1) (x2, y2)
+ (x3, y3) (x4, y4) (x5, y5)
+ (x6, y6) (x7, y7) (x8, y8)
+
+ Returns:
+ Tensor: Output of the layer.
+ """
+ # To fix an assert error in deform_conv_cuda.cpp:128
+ # input image is smaller than kernel
+ input_pad = (x.size(2) < self.kernel_size[0]) or (x.size(3) <
+ self.kernel_size[1])
+ if input_pad:
+ pad_h = max(self.kernel_size[0] - x.size(2), 0)
+ pad_w = max(self.kernel_size[1] - x.size(3), 0)
+ x = F.pad(x, (0, pad_w, 0, pad_h), 'constant', 0).contiguous()
+ offset = F.pad(offset, (0, pad_w, 0, pad_h), 'constant', 0)
+ offset = offset.contiguous()
+ out = deform_conv2d(x, offset, self.weight, self.stride, self.padding,
+ self.dilation, self.groups, self.deform_groups,
+ False, self.im2col_step)
+ if input_pad:
+ out = out[:, :, :out.size(2) - pad_h, :out.size(3) -
+ pad_w].contiguous()
+ return out
+
+ def __repr__(self):
+ s = self.__class__.__name__
+ s += f'(in_channels={self.in_channels},\n'
+ s += f'out_channels={self.out_channels},\n'
+ s += f'kernel_size={self.kernel_size},\n'
+ s += f'stride={self.stride},\n'
+ s += f'padding={self.padding},\n'
+ s += f'dilation={self.dilation},\n'
+ s += f'groups={self.groups},\n'
+ s += f'deform_groups={self.deform_groups},\n'
+ # bias is not supported in DeformConv2d.
+ s += 'bias=False)'
+ return s
+
+
+@CONV_LAYERS.register_module('DCN')
+class DeformConv2dPack(DeformConv2d):
+ """A Deformable Conv Encapsulation that acts as normal Conv layers.
+
+ The offset tensor is like `[y0, x0, y1, x1, y2, x2, ..., y8, x8]`.
+ The spatial arrangement is like:
+
+ .. code:: text
+
+ (x0, y0) (x1, y1) (x2, y2)
+ (x3, y3) (x4, y4) (x5, y5)
+ (x6, y6) (x7, y7) (x8, y8)
+
+ Args:
+ in_channels (int): Same as nn.Conv2d.
+ out_channels (int): Same as nn.Conv2d.
+ kernel_size (int or tuple[int]): Same as nn.Conv2d.
+ stride (int or tuple[int]): Same as nn.Conv2d.
+ padding (int or tuple[int]): Same as nn.Conv2d.
+ dilation (int or tuple[int]): Same as nn.Conv2d.
+ groups (int): Same as nn.Conv2d.
+ bias (bool or str): If specified as `auto`, it will be decided by the
+ norm_cfg. Bias will be set as True if norm_cfg is None, otherwise
+ False.
+ """
+
+ _version = 2
+
+ def __init__(self, *args, **kwargs):
+ super(DeformConv2dPack, self).__init__(*args, **kwargs)
+ self.conv_offset = nn.Conv2d(
+ self.in_channels,
+ self.deform_groups * 2 * self.kernel_size[0] * self.kernel_size[1],
+ kernel_size=self.kernel_size,
+ stride=_pair(self.stride),
+ padding=_pair(self.padding),
+ dilation=_pair(self.dilation),
+ bias=True)
+ self.init_offset()
+
+ def init_offset(self):
+ self.conv_offset.weight.data.zero_()
+ self.conv_offset.bias.data.zero_()
+
+ def forward(self, x):
+ offset = self.conv_offset(x)
+ return deform_conv2d(x, offset, self.weight, self.stride, self.padding,
+ self.dilation, self.groups, self.deform_groups,
+ False, self.im2col_step)
+
+ def _load_from_state_dict(self, state_dict, prefix, local_metadata, strict,
+ missing_keys, unexpected_keys, error_msgs):
+ version = local_metadata.get('version', None)
+
+ if version is None or version < 2:
+ # the key is different in early versions
+ # In version < 2, DeformConvPack loads previous benchmark models.
+ if (prefix + 'conv_offset.weight' not in state_dict
+ and prefix[:-1] + '_offset.weight' in state_dict):
+ state_dict[prefix + 'conv_offset.weight'] = state_dict.pop(
+ prefix[:-1] + '_offset.weight')
+ if (prefix + 'conv_offset.bias' not in state_dict
+ and prefix[:-1] + '_offset.bias' in state_dict):
+ state_dict[prefix +
+ 'conv_offset.bias'] = state_dict.pop(prefix[:-1] +
+ '_offset.bias')
+
+ if version is not None and version > 1:
+ print_log(
+ f'DeformConv2dPack {prefix.rstrip(".")} is upgraded to '
+ 'version 2.',
+ logger='root')
+
+ super()._load_from_state_dict(state_dict, prefix, local_metadata,
+ strict, missing_keys, unexpected_keys,
+ error_msgs)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/deform_roi_pool.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/deform_roi_pool.py
new file mode 100644
index 0000000000000000000000000000000000000000..cc245ba91fee252226ba22e76bb94a35db9a629b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/deform_roi_pool.py
@@ -0,0 +1,204 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from torch import nn
+from torch.autograd import Function
+from torch.autograd.function import once_differentiable
+from torch.nn.modules.utils import _pair
+
+from ..utils import ext_loader
+
+ext_module = ext_loader.load_ext(
+ '_ext', ['deform_roi_pool_forward', 'deform_roi_pool_backward'])
+
+
+class DeformRoIPoolFunction(Function):
+
+ @staticmethod
+ def symbolic(g, input, rois, offset, output_size, spatial_scale,
+ sampling_ratio, gamma):
+ return g.op(
+ 'mmcv::MMCVDeformRoIPool',
+ input,
+ rois,
+ offset,
+ pooled_height_i=output_size[0],
+ pooled_width_i=output_size[1],
+ spatial_scale_f=spatial_scale,
+ sampling_ratio_f=sampling_ratio,
+ gamma_f=gamma)
+
+ @staticmethod
+ def forward(ctx,
+ input,
+ rois,
+ offset,
+ output_size,
+ spatial_scale=1.0,
+ sampling_ratio=0,
+ gamma=0.1):
+ if offset is None:
+ offset = input.new_zeros(0)
+ ctx.output_size = _pair(output_size)
+ ctx.spatial_scale = float(spatial_scale)
+ ctx.sampling_ratio = int(sampling_ratio)
+ ctx.gamma = float(gamma)
+
+ assert rois.size(1) == 5, 'RoI must be (idx, x1, y1, x2, y2)!'
+
+ output_shape = (rois.size(0), input.size(1), ctx.output_size[0],
+ ctx.output_size[1])
+ output = input.new_zeros(output_shape)
+
+ ext_module.deform_roi_pool_forward(
+ input,
+ rois,
+ offset,
+ output,
+ pooled_height=ctx.output_size[0],
+ pooled_width=ctx.output_size[1],
+ spatial_scale=ctx.spatial_scale,
+ sampling_ratio=ctx.sampling_ratio,
+ gamma=ctx.gamma)
+
+ ctx.save_for_backward(input, rois, offset)
+ return output
+
+ @staticmethod
+ @once_differentiable
+ def backward(ctx, grad_output):
+ input, rois, offset = ctx.saved_tensors
+ grad_input = grad_output.new_zeros(input.shape)
+ grad_offset = grad_output.new_zeros(offset.shape)
+
+ ext_module.deform_roi_pool_backward(
+ grad_output,
+ input,
+ rois,
+ offset,
+ grad_input,
+ grad_offset,
+ pooled_height=ctx.output_size[0],
+ pooled_width=ctx.output_size[1],
+ spatial_scale=ctx.spatial_scale,
+ sampling_ratio=ctx.sampling_ratio,
+ gamma=ctx.gamma)
+ if grad_offset.numel() == 0:
+ grad_offset = None
+ return grad_input, None, grad_offset, None, None, None, None
+
+
+deform_roi_pool = DeformRoIPoolFunction.apply
+
+
+class DeformRoIPool(nn.Module):
+
+ def __init__(self,
+ output_size,
+ spatial_scale=1.0,
+ sampling_ratio=0,
+ gamma=0.1):
+ super(DeformRoIPool, self).__init__()
+ self.output_size = _pair(output_size)
+ self.spatial_scale = float(spatial_scale)
+ self.sampling_ratio = int(sampling_ratio)
+ self.gamma = float(gamma)
+
+ def forward(self, input, rois, offset=None):
+ return deform_roi_pool(input, rois, offset, self.output_size,
+ self.spatial_scale, self.sampling_ratio,
+ self.gamma)
+
+
+class DeformRoIPoolPack(DeformRoIPool):
+
+ def __init__(self,
+ output_size,
+ output_channels,
+ deform_fc_channels=1024,
+ spatial_scale=1.0,
+ sampling_ratio=0,
+ gamma=0.1):
+ super(DeformRoIPoolPack, self).__init__(output_size, spatial_scale,
+ sampling_ratio, gamma)
+
+ self.output_channels = output_channels
+ self.deform_fc_channels = deform_fc_channels
+
+ self.offset_fc = nn.Sequential(
+ nn.Linear(
+ self.output_size[0] * self.output_size[1] *
+ self.output_channels, self.deform_fc_channels),
+ nn.ReLU(inplace=True),
+ nn.Linear(self.deform_fc_channels, self.deform_fc_channels),
+ nn.ReLU(inplace=True),
+ nn.Linear(self.deform_fc_channels,
+ self.output_size[0] * self.output_size[1] * 2))
+ self.offset_fc[-1].weight.data.zero_()
+ self.offset_fc[-1].bias.data.zero_()
+
+ def forward(self, input, rois):
+ assert input.size(1) == self.output_channels
+ x = deform_roi_pool(input, rois, None, self.output_size,
+ self.spatial_scale, self.sampling_ratio,
+ self.gamma)
+ rois_num = rois.size(0)
+ offset = self.offset_fc(x.view(rois_num, -1))
+ offset = offset.view(rois_num, 2, self.output_size[0],
+ self.output_size[1])
+ return deform_roi_pool(input, rois, offset, self.output_size,
+ self.spatial_scale, self.sampling_ratio,
+ self.gamma)
+
+
+class ModulatedDeformRoIPoolPack(DeformRoIPool):
+
+ def __init__(self,
+ output_size,
+ output_channels,
+ deform_fc_channels=1024,
+ spatial_scale=1.0,
+ sampling_ratio=0,
+ gamma=0.1):
+ super(ModulatedDeformRoIPoolPack,
+ self).__init__(output_size, spatial_scale, sampling_ratio, gamma)
+
+ self.output_channels = output_channels
+ self.deform_fc_channels = deform_fc_channels
+
+ self.offset_fc = nn.Sequential(
+ nn.Linear(
+ self.output_size[0] * self.output_size[1] *
+ self.output_channels, self.deform_fc_channels),
+ nn.ReLU(inplace=True),
+ nn.Linear(self.deform_fc_channels, self.deform_fc_channels),
+ nn.ReLU(inplace=True),
+ nn.Linear(self.deform_fc_channels,
+ self.output_size[0] * self.output_size[1] * 2))
+ self.offset_fc[-1].weight.data.zero_()
+ self.offset_fc[-1].bias.data.zero_()
+
+ self.mask_fc = nn.Sequential(
+ nn.Linear(
+ self.output_size[0] * self.output_size[1] *
+ self.output_channels, self.deform_fc_channels),
+ nn.ReLU(inplace=True),
+ nn.Linear(self.deform_fc_channels,
+ self.output_size[0] * self.output_size[1] * 1),
+ nn.Sigmoid())
+ self.mask_fc[2].weight.data.zero_()
+ self.mask_fc[2].bias.data.zero_()
+
+ def forward(self, input, rois):
+ assert input.size(1) == self.output_channels
+ x = deform_roi_pool(input, rois, None, self.output_size,
+ self.spatial_scale, self.sampling_ratio,
+ self.gamma)
+ rois_num = rois.size(0)
+ offset = self.offset_fc(x.view(rois_num, -1))
+ offset = offset.view(rois_num, 2, self.output_size[0],
+ self.output_size[1])
+ mask = self.mask_fc(x.view(rois_num, -1))
+ mask = mask.view(rois_num, 1, self.output_size[0], self.output_size[1])
+ d = deform_roi_pool(input, rois, offset, self.output_size,
+ self.spatial_scale, self.sampling_ratio,
+ self.gamma)
+ return d * mask
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/deprecated_wrappers.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/deprecated_wrappers.py
new file mode 100644
index 0000000000000000000000000000000000000000..a2e593df9ee57637038683d7a1efaa347b2b69e7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/deprecated_wrappers.py
@@ -0,0 +1,43 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+# This file is for backward compatibility.
+# Module wrappers for empty tensor have been moved to mmcv.cnn.bricks.
+import warnings
+
+from ..cnn.bricks.wrappers import Conv2d, ConvTranspose2d, Linear, MaxPool2d
+
+
+class Conv2d_deprecated(Conv2d):
+
+ def __init__(self, *args, **kwargs):
+ super().__init__(*args, **kwargs)
+ warnings.warn(
+ 'Importing Conv2d wrapper from "mmcv.ops" will be deprecated in'
+ ' the future. Please import them from "mmcv.cnn" instead')
+
+
+class ConvTranspose2d_deprecated(ConvTranspose2d):
+
+ def __init__(self, *args, **kwargs):
+ super().__init__(*args, **kwargs)
+ warnings.warn(
+ 'Importing ConvTranspose2d wrapper from "mmcv.ops" will be '
+ 'deprecated in the future. Please import them from "mmcv.cnn" '
+ 'instead')
+
+
+class MaxPool2d_deprecated(MaxPool2d):
+
+ def __init__(self, *args, **kwargs):
+ super().__init__(*args, **kwargs)
+ warnings.warn(
+ 'Importing MaxPool2d wrapper from "mmcv.ops" will be deprecated in'
+ ' the future. Please import them from "mmcv.cnn" instead')
+
+
+class Linear_deprecated(Linear):
+
+ def __init__(self, *args, **kwargs):
+ super().__init__(*args, **kwargs)
+ warnings.warn(
+ 'Importing Linear wrapper from "mmcv.ops" will be deprecated in'
+ ' the future. Please import them from "mmcv.cnn" instead')
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/focal_loss.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/focal_loss.py
new file mode 100644
index 0000000000000000000000000000000000000000..763bc93bd2575c49ca8ccf20996bbd92d1e0d1a4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/focal_loss.py
@@ -0,0 +1,212 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import torch
+import torch.nn as nn
+from torch.autograd import Function
+from torch.autograd.function import once_differentiable
+
+from ..utils import ext_loader
+
+ext_module = ext_loader.load_ext('_ext', [
+ 'sigmoid_focal_loss_forward', 'sigmoid_focal_loss_backward',
+ 'softmax_focal_loss_forward', 'softmax_focal_loss_backward'
+])
+
+
+class SigmoidFocalLossFunction(Function):
+
+ @staticmethod
+ def symbolic(g, input, target, gamma, alpha, weight, reduction):
+ return g.op(
+ 'mmcv::MMCVSigmoidFocalLoss',
+ input,
+ target,
+ gamma_f=gamma,
+ alpha_f=alpha,
+ weight_f=weight,
+ reduction_s=reduction)
+
+ @staticmethod
+ def forward(ctx,
+ input,
+ target,
+ gamma=2.0,
+ alpha=0.25,
+ weight=None,
+ reduction='mean'):
+
+ assert isinstance(target, (torch.LongTensor, torch.cuda.LongTensor))
+ assert input.dim() == 2
+ assert target.dim() == 1
+ assert input.size(0) == target.size(0)
+ if weight is None:
+ weight = input.new_empty(0)
+ else:
+ assert weight.dim() == 1
+ assert input.size(1) == weight.size(0)
+ ctx.reduction_dict = {'none': 0, 'mean': 1, 'sum': 2}
+ assert reduction in ctx.reduction_dict.keys()
+
+ ctx.gamma = float(gamma)
+ ctx.alpha = float(alpha)
+ ctx.reduction = ctx.reduction_dict[reduction]
+
+ output = input.new_zeros(input.size())
+
+ ext_module.sigmoid_focal_loss_forward(
+ input, target, weight, output, gamma=ctx.gamma, alpha=ctx.alpha)
+ if ctx.reduction == ctx.reduction_dict['mean']:
+ output = output.sum() / input.size(0)
+ elif ctx.reduction == ctx.reduction_dict['sum']:
+ output = output.sum()
+ ctx.save_for_backward(input, target, weight)
+ return output
+
+ @staticmethod
+ @once_differentiable
+ def backward(ctx, grad_output):
+ input, target, weight = ctx.saved_tensors
+
+ grad_input = input.new_zeros(input.size())
+
+ ext_module.sigmoid_focal_loss_backward(
+ input,
+ target,
+ weight,
+ grad_input,
+ gamma=ctx.gamma,
+ alpha=ctx.alpha)
+
+ grad_input *= grad_output
+ if ctx.reduction == ctx.reduction_dict['mean']:
+ grad_input /= input.size(0)
+ return grad_input, None, None, None, None, None
+
+
+sigmoid_focal_loss = SigmoidFocalLossFunction.apply
+
+
+class SigmoidFocalLoss(nn.Module):
+
+ def __init__(self, gamma, alpha, weight=None, reduction='mean'):
+ super(SigmoidFocalLoss, self).__init__()
+ self.gamma = gamma
+ self.alpha = alpha
+ self.register_buffer('weight', weight)
+ self.reduction = reduction
+
+ def forward(self, input, target):
+ return sigmoid_focal_loss(input, target, self.gamma, self.alpha,
+ self.weight, self.reduction)
+
+ def __repr__(self):
+ s = self.__class__.__name__
+ s += f'(gamma={self.gamma}, '
+ s += f'alpha={self.alpha}, '
+ s += f'reduction={self.reduction})'
+ return s
+
+
+class SoftmaxFocalLossFunction(Function):
+
+ @staticmethod
+ def symbolic(g, input, target, gamma, alpha, weight, reduction):
+ return g.op(
+ 'mmcv::MMCVSoftmaxFocalLoss',
+ input,
+ target,
+ gamma_f=gamma,
+ alpha_f=alpha,
+ weight_f=weight,
+ reduction_s=reduction)
+
+ @staticmethod
+ def forward(ctx,
+ input,
+ target,
+ gamma=2.0,
+ alpha=0.25,
+ weight=None,
+ reduction='mean'):
+
+ assert isinstance(target, (torch.LongTensor, torch.cuda.LongTensor))
+ assert input.dim() == 2
+ assert target.dim() == 1
+ assert input.size(0) == target.size(0)
+ if weight is None:
+ weight = input.new_empty(0)
+ else:
+ assert weight.dim() == 1
+ assert input.size(1) == weight.size(0)
+ ctx.reduction_dict = {'none': 0, 'mean': 1, 'sum': 2}
+ assert reduction in ctx.reduction_dict.keys()
+
+ ctx.gamma = float(gamma)
+ ctx.alpha = float(alpha)
+ ctx.reduction = ctx.reduction_dict[reduction]
+
+ channel_stats, _ = torch.max(input, dim=1)
+ input_softmax = input - channel_stats.unsqueeze(1).expand_as(input)
+ input_softmax.exp_()
+
+ channel_stats = input_softmax.sum(dim=1)
+ input_softmax /= channel_stats.unsqueeze(1).expand_as(input)
+
+ output = input.new_zeros(input.size(0))
+ ext_module.softmax_focal_loss_forward(
+ input_softmax,
+ target,
+ weight,
+ output,
+ gamma=ctx.gamma,
+ alpha=ctx.alpha)
+
+ if ctx.reduction == ctx.reduction_dict['mean']:
+ output = output.sum() / input.size(0)
+ elif ctx.reduction == ctx.reduction_dict['sum']:
+ output = output.sum()
+ ctx.save_for_backward(input_softmax, target, weight)
+ return output
+
+ @staticmethod
+ def backward(ctx, grad_output):
+ input_softmax, target, weight = ctx.saved_tensors
+ buff = input_softmax.new_zeros(input_softmax.size(0))
+ grad_input = input_softmax.new_zeros(input_softmax.size())
+
+ ext_module.softmax_focal_loss_backward(
+ input_softmax,
+ target,
+ weight,
+ buff,
+ grad_input,
+ gamma=ctx.gamma,
+ alpha=ctx.alpha)
+
+ grad_input *= grad_output
+ if ctx.reduction == ctx.reduction_dict['mean']:
+ grad_input /= input_softmax.size(0)
+ return grad_input, None, None, None, None, None
+
+
+softmax_focal_loss = SoftmaxFocalLossFunction.apply
+
+
+class SoftmaxFocalLoss(nn.Module):
+
+ def __init__(self, gamma, alpha, weight=None, reduction='mean'):
+ super(SoftmaxFocalLoss, self).__init__()
+ self.gamma = gamma
+ self.alpha = alpha
+ self.register_buffer('weight', weight)
+ self.reduction = reduction
+
+ def forward(self, input, target):
+ return softmax_focal_loss(input, target, self.gamma, self.alpha,
+ self.weight, self.reduction)
+
+ def __repr__(self):
+ s = self.__class__.__name__
+ s += f'(gamma={self.gamma}, '
+ s += f'alpha={self.alpha}, '
+ s += f'reduction={self.reduction})'
+ return s
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/furthest_point_sample.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/furthest_point_sample.py
new file mode 100644
index 0000000000000000000000000000000000000000..374b7a878f1972c183941af28ba1df216ac1a60f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/furthest_point_sample.py
@@ -0,0 +1,83 @@
+import torch
+from torch.autograd import Function
+
+from ..utils import ext_loader
+
+ext_module = ext_loader.load_ext('_ext', [
+ 'furthest_point_sampling_forward',
+ 'furthest_point_sampling_with_dist_forward'
+])
+
+
+class FurthestPointSampling(Function):
+ """Uses iterative furthest point sampling to select a set of features whose
+ corresponding points have the furthest distance."""
+
+ @staticmethod
+ def forward(ctx, points_xyz: torch.Tensor,
+ num_points: int) -> torch.Tensor:
+ """
+ Args:
+ points_xyz (Tensor): (B, N, 3) where N > num_points.
+ num_points (int): Number of points in the sampled set.
+
+ Returns:
+ Tensor: (B, num_points) indices of the sampled points.
+ """
+ assert points_xyz.is_contiguous()
+
+ B, N = points_xyz.size()[:2]
+ output = torch.cuda.IntTensor(B, num_points)
+ temp = torch.cuda.FloatTensor(B, N).fill_(1e10)
+
+ ext_module.furthest_point_sampling_forward(
+ points_xyz,
+ temp,
+ output,
+ b=B,
+ n=N,
+ m=num_points,
+ )
+ if torch.__version__ != 'parrots':
+ ctx.mark_non_differentiable(output)
+ return output
+
+ @staticmethod
+ def backward(xyz, a=None):
+ return None, None
+
+
+class FurthestPointSamplingWithDist(Function):
+ """Uses iterative furthest point sampling to select a set of features whose
+ corresponding points have the furthest distance."""
+
+ @staticmethod
+ def forward(ctx, points_dist: torch.Tensor,
+ num_points: int) -> torch.Tensor:
+ """
+ Args:
+ points_dist (Tensor): (B, N, N) Distance between each point pair.
+ num_points (int): Number of points in the sampled set.
+
+ Returns:
+ Tensor: (B, num_points) indices of the sampled points.
+ """
+ assert points_dist.is_contiguous()
+
+ B, N, _ = points_dist.size()
+ output = points_dist.new_zeros([B, num_points], dtype=torch.int32)
+ temp = points_dist.new_zeros([B, N]).fill_(1e10)
+
+ ext_module.furthest_point_sampling_with_dist_forward(
+ points_dist, temp, output, b=B, n=N, m=num_points)
+ if torch.__version__ != 'parrots':
+ ctx.mark_non_differentiable(output)
+ return output
+
+ @staticmethod
+ def backward(xyz, a=None):
+ return None, None
+
+
+furthest_point_sample = FurthestPointSampling.apply
+furthest_point_sample_with_dist = FurthestPointSamplingWithDist.apply
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/fused_bias_leakyrelu.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/fused_bias_leakyrelu.py
new file mode 100644
index 0000000000000000000000000000000000000000..6d12508469c6c8fa1884debece44c58d158cb6fa
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/fused_bias_leakyrelu.py
@@ -0,0 +1,268 @@
+# modified from https://github.com/rosinality/stylegan2-pytorch/blob/master/op/fused_act.py # noqa:E501
+
+# Copyright (c) 2021, NVIDIA Corporation. All rights reserved.
+# NVIDIA Source Code License for StyleGAN2 with Adaptive Discriminator
+# Augmentation (ADA)
+# =======================================================================
+
+# 1. Definitions
+
+# "Licensor" means any person or entity that distributes its Work.
+
+# "Software" means the original work of authorship made available under
+# this License.
+
+# "Work" means the Software and any additions to or derivative works of
+# the Software that are made available under this License.
+
+# The terms "reproduce," "reproduction," "derivative works," and
+# "distribution" have the meaning as provided under U.S. copyright law;
+# provided, however, that for the purposes of this License, derivative
+# works shall not include works that remain separable from, or merely
+# link (or bind by name) to the interfaces of, the Work.
+
+# Works, including the Software, are "made available" under this License
+# by including in or with the Work either (a) a copyright notice
+# referencing the applicability of this License to the Work, or (b) a
+# copy of this License.
+
+# 2. License Grants
+
+# 2.1 Copyright Grant. Subject to the terms and conditions of this
+# License, each Licensor grants to you a perpetual, worldwide,
+# non-exclusive, royalty-free, copyright license to reproduce,
+# prepare derivative works of, publicly display, publicly perform,
+# sublicense and distribute its Work and any resulting derivative
+# works in any form.
+
+# 3. Limitations
+
+# 3.1 Redistribution. You may reproduce or distribute the Work only
+# if (a) you do so under this License, (b) you include a complete
+# copy of this License with your distribution, and (c) you retain
+# without modification any copyright, patent, trademark, or
+# attribution notices that are present in the Work.
+
+# 3.2 Derivative Works. You may specify that additional or different
+# terms apply to the use, reproduction, and distribution of your
+# derivative works of the Work ("Your Terms") only if (a) Your Terms
+# provide that the use limitation in Section 3.3 applies to your
+# derivative works, and (b) you identify the specific derivative
+# works that are subject to Your Terms. Notwithstanding Your Terms,
+# this License (including the redistribution requirements in Section
+# 3.1) will continue to apply to the Work itself.
+
+# 3.3 Use Limitation. The Work and any derivative works thereof only
+# may be used or intended for use non-commercially. Notwithstanding
+# the foregoing, NVIDIA and its affiliates may use the Work and any
+# derivative works commercially. As used herein, "non-commercially"
+# means for research or evaluation purposes only.
+
+# 3.4 Patent Claims. If you bring or threaten to bring a patent claim
+# against any Licensor (including any claim, cross-claim or
+# counterclaim in a lawsuit) to enforce any patents that you allege
+# are infringed by any Work, then your rights under this License from
+# such Licensor (including the grant in Section 2.1) will terminate
+# immediately.
+
+# 3.5 Trademarks. This License does not grant any rights to use any
+# Licensor’s or its affiliates’ names, logos, or trademarks, except
+# as necessary to reproduce the notices described in this License.
+
+# 3.6 Termination. If you violate any term of this License, then your
+# rights under this License (including the grant in Section 2.1) will
+# terminate immediately.
+
+# 4. Disclaimer of Warranty.
+
+# THE WORK IS PROVIDED "AS IS" WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WARRANTIES OR CONDITIONS OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE OR
+# NON-INFRINGEMENT. YOU BEAR THE RISK OF UNDERTAKING ANY ACTIVITIES UNDER
+# THIS LICENSE.
+
+# 5. Limitation of Liability.
+
+# EXCEPT AS PROHIBITED BY APPLICABLE LAW, IN NO EVENT AND UNDER NO LEGAL
+# THEORY, WHETHER IN TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE
+# SHALL ANY LICENSOR BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY DIRECT,
+# INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF
+# OR RELATED TO THIS LICENSE, THE USE OR INABILITY TO USE THE WORK
+# (INCLUDING BUT NOT LIMITED TO LOSS OF GOODWILL, BUSINESS INTERRUPTION,
+# LOST PROFITS OR DATA, COMPUTER FAILURE OR MALFUNCTION, OR ANY OTHER
+# COMMERCIAL DAMAGES OR LOSSES), EVEN IF THE LICENSOR HAS BEEN ADVISED OF
+# THE POSSIBILITY OF SUCH DAMAGES.
+
+# =======================================================================
+
+import torch
+import torch.nn.functional as F
+from torch import nn
+from torch.autograd import Function
+
+from ..utils import ext_loader
+
+ext_module = ext_loader.load_ext('_ext', ['fused_bias_leakyrelu'])
+
+
+class FusedBiasLeakyReLUFunctionBackward(Function):
+ """Calculate second order deviation.
+
+ This function is to compute the second order deviation for the fused leaky
+ relu operation.
+ """
+
+ @staticmethod
+ def forward(ctx, grad_output, out, negative_slope, scale):
+ ctx.save_for_backward(out)
+ ctx.negative_slope = negative_slope
+ ctx.scale = scale
+
+ empty = grad_output.new_empty(0)
+
+ grad_input = ext_module.fused_bias_leakyrelu(
+ grad_output,
+ empty,
+ out,
+ act=3,
+ grad=1,
+ alpha=negative_slope,
+ scale=scale)
+
+ dim = [0]
+
+ if grad_input.ndim > 2:
+ dim += list(range(2, grad_input.ndim))
+
+ grad_bias = grad_input.sum(dim).detach()
+
+ return grad_input, grad_bias
+
+ @staticmethod
+ def backward(ctx, gradgrad_input, gradgrad_bias):
+ out, = ctx.saved_tensors
+
+ # The second order deviation, in fact, contains two parts, while the
+ # the first part is zero. Thus, we direct consider the second part
+ # which is similar with the first order deviation in implementation.
+ gradgrad_out = ext_module.fused_bias_leakyrelu(
+ gradgrad_input,
+ gradgrad_bias.to(out.dtype),
+ out,
+ act=3,
+ grad=1,
+ alpha=ctx.negative_slope,
+ scale=ctx.scale)
+
+ return gradgrad_out, None, None, None
+
+
+class FusedBiasLeakyReLUFunction(Function):
+
+ @staticmethod
+ def forward(ctx, input, bias, negative_slope, scale):
+ empty = input.new_empty(0)
+
+ out = ext_module.fused_bias_leakyrelu(
+ input,
+ bias,
+ empty,
+ act=3,
+ grad=0,
+ alpha=negative_slope,
+ scale=scale)
+ ctx.save_for_backward(out)
+ ctx.negative_slope = negative_slope
+ ctx.scale = scale
+
+ return out
+
+ @staticmethod
+ def backward(ctx, grad_output):
+ out, = ctx.saved_tensors
+
+ grad_input, grad_bias = FusedBiasLeakyReLUFunctionBackward.apply(
+ grad_output, out, ctx.negative_slope, ctx.scale)
+
+ return grad_input, grad_bias, None, None
+
+
+class FusedBiasLeakyReLU(nn.Module):
+ """Fused bias leaky ReLU.
+
+ This function is introduced in the StyleGAN2:
+ http://arxiv.org/abs/1912.04958
+
+ The bias term comes from the convolution operation. In addition, to keep
+ the variance of the feature map or gradients unchanged, they also adopt a
+ scale similarly with Kaiming initialization. However, since the
+ :math:`1+{alpha}^2` : is too small, we can just ignore it. Therefore, the
+ final scale is just :math:`\sqrt{2}`:. Of course, you may change it with # noqa: W605, E501
+ your own scale.
+
+ TODO: Implement the CPU version.
+
+ Args:
+ channel (int): The channel number of the feature map.
+ negative_slope (float, optional): Same as nn.LeakyRelu.
+ Defaults to 0.2.
+ scale (float, optional): A scalar to adjust the variance of the feature
+ map. Defaults to 2**0.5.
+ """
+
+ def __init__(self, num_channels, negative_slope=0.2, scale=2**0.5):
+ super(FusedBiasLeakyReLU, self).__init__()
+
+ self.bias = nn.Parameter(torch.zeros(num_channels))
+ self.negative_slope = negative_slope
+ self.scale = scale
+
+ def forward(self, input):
+ return fused_bias_leakyrelu(input, self.bias, self.negative_slope,
+ self.scale)
+
+
+def fused_bias_leakyrelu(input, bias, negative_slope=0.2, scale=2**0.5):
+ """Fused bias leaky ReLU function.
+
+ This function is introduced in the StyleGAN2:
+ http://arxiv.org/abs/1912.04958
+
+ The bias term comes from the convolution operation. In addition, to keep
+ the variance of the feature map or gradients unchanged, they also adopt a
+ scale similarly with Kaiming initialization. However, since the
+ :math:`1+{alpha}^2` : is too small, we can just ignore it. Therefore, the
+ final scale is just :math:`\sqrt{2}`:. Of course, you may change it with # noqa: W605, E501
+ your own scale.
+
+ Args:
+ input (torch.Tensor): Input feature map.
+ bias (nn.Parameter): The bias from convolution operation.
+ negative_slope (float, optional): Same as nn.LeakyRelu.
+ Defaults to 0.2.
+ scale (float, optional): A scalar to adjust the variance of the feature
+ map. Defaults to 2**0.5.
+
+ Returns:
+ torch.Tensor: Feature map after non-linear activation.
+ """
+
+ if not input.is_cuda:
+ return bias_leakyrelu_ref(input, bias, negative_slope, scale)
+
+ return FusedBiasLeakyReLUFunction.apply(input, bias.to(input.dtype),
+ negative_slope, scale)
+
+
+def bias_leakyrelu_ref(x, bias, negative_slope=0.2, scale=2**0.5):
+
+ if bias is not None:
+ assert bias.ndim == 1
+ assert bias.shape[0] == x.shape[1]
+ x = x + bias.reshape([-1 if i == 1 else 1 for i in range(x.ndim)])
+
+ x = F.leaky_relu(x, negative_slope)
+ if scale != 1:
+ x = x * scale
+
+ return x
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/gather_points.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/gather_points.py
new file mode 100644
index 0000000000000000000000000000000000000000..f52f1677d8ea0facafc56a3672d37adb44677ff3
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/gather_points.py
@@ -0,0 +1,57 @@
+import torch
+from torch.autograd import Function
+
+from ..utils import ext_loader
+
+ext_module = ext_loader.load_ext(
+ '_ext', ['gather_points_forward', 'gather_points_backward'])
+
+
+class GatherPoints(Function):
+ """Gather points with given index."""
+
+ @staticmethod
+ def forward(ctx, features: torch.Tensor,
+ indices: torch.Tensor) -> torch.Tensor:
+ """
+ Args:
+ features (Tensor): (B, C, N) features to gather.
+ indices (Tensor): (B, M) where M is the number of points.
+
+ Returns:
+ Tensor: (B, C, M) where M is the number of points.
+ """
+ assert features.is_contiguous()
+ assert indices.is_contiguous()
+
+ B, npoint = indices.size()
+ _, C, N = features.size()
+ output = torch.cuda.FloatTensor(B, C, npoint)
+
+ ext_module.gather_points_forward(
+ features, indices, output, b=B, c=C, n=N, npoints=npoint)
+
+ ctx.for_backwards = (indices, C, N)
+ if torch.__version__ != 'parrots':
+ ctx.mark_non_differentiable(indices)
+ return output
+
+ @staticmethod
+ def backward(ctx, grad_out):
+ idx, C, N = ctx.for_backwards
+ B, npoint = idx.size()
+
+ grad_features = torch.cuda.FloatTensor(B, C, N).zero_()
+ grad_out_data = grad_out.data.contiguous()
+ ext_module.gather_points_backward(
+ grad_out_data,
+ idx,
+ grad_features.data,
+ b=B,
+ c=C,
+ n=N,
+ npoints=npoint)
+ return grad_features, None
+
+
+gather_points = GatherPoints.apply
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/group_points.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/group_points.py
new file mode 100644
index 0000000000000000000000000000000000000000..6c3ec9d758ebe4e1c2205882af4be154008253a5
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/group_points.py
@@ -0,0 +1,224 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from typing import Tuple
+
+import torch
+from torch import nn as nn
+from torch.autograd import Function
+
+from ..utils import ext_loader
+from .ball_query import ball_query
+from .knn import knn
+
+ext_module = ext_loader.load_ext(
+ '_ext', ['group_points_forward', 'group_points_backward'])
+
+
+class QueryAndGroup(nn.Module):
+ """Groups points with a ball query of radius.
+
+ Args:
+ max_radius (float): The maximum radius of the balls.
+ If None is given, we will use kNN sampling instead of ball query.
+ sample_num (int): Maximum number of features to gather in the ball.
+ min_radius (float, optional): The minimum radius of the balls.
+ Default: 0.
+ use_xyz (bool, optional): Whether to use xyz.
+ Default: True.
+ return_grouped_xyz (bool, optional): Whether to return grouped xyz.
+ Default: False.
+ normalize_xyz (bool, optional): Whether to normalize xyz.
+ Default: False.
+ uniform_sample (bool, optional): Whether to sample uniformly.
+ Default: False
+ return_unique_cnt (bool, optional): Whether to return the count of
+ unique samples. Default: False.
+ return_grouped_idx (bool, optional): Whether to return grouped idx.
+ Default: False.
+ """
+
+ def __init__(self,
+ max_radius,
+ sample_num,
+ min_radius=0,
+ use_xyz=True,
+ return_grouped_xyz=False,
+ normalize_xyz=False,
+ uniform_sample=False,
+ return_unique_cnt=False,
+ return_grouped_idx=False):
+ super().__init__()
+ self.max_radius = max_radius
+ self.min_radius = min_radius
+ self.sample_num = sample_num
+ self.use_xyz = use_xyz
+ self.return_grouped_xyz = return_grouped_xyz
+ self.normalize_xyz = normalize_xyz
+ self.uniform_sample = uniform_sample
+ self.return_unique_cnt = return_unique_cnt
+ self.return_grouped_idx = return_grouped_idx
+ if self.return_unique_cnt:
+ assert self.uniform_sample, \
+ 'uniform_sample should be True when ' \
+ 'returning the count of unique samples'
+ if self.max_radius is None:
+ assert not self.normalize_xyz, \
+ 'can not normalize grouped xyz when max_radius is None'
+
+ def forward(self, points_xyz, center_xyz, features=None):
+ """
+ Args:
+ points_xyz (Tensor): (B, N, 3) xyz coordinates of the features.
+ center_xyz (Tensor): (B, npoint, 3) coordinates of the centriods.
+ features (Tensor): (B, C, N) Descriptors of the features.
+
+ Returns:
+ Tensor: (B, 3 + C, npoint, sample_num) Grouped feature.
+ """
+ # if self.max_radius is None, we will perform kNN instead of ball query
+ # idx is of shape [B, npoint, sample_num]
+ if self.max_radius is None:
+ idx = knn(self.sample_num, points_xyz, center_xyz, False)
+ idx = idx.transpose(1, 2).contiguous()
+ else:
+ idx = ball_query(self.min_radius, self.max_radius, self.sample_num,
+ points_xyz, center_xyz)
+
+ if self.uniform_sample:
+ unique_cnt = torch.zeros((idx.shape[0], idx.shape[1]))
+ for i_batch in range(idx.shape[0]):
+ for i_region in range(idx.shape[1]):
+ unique_ind = torch.unique(idx[i_batch, i_region, :])
+ num_unique = unique_ind.shape[0]
+ unique_cnt[i_batch, i_region] = num_unique
+ sample_ind = torch.randint(
+ 0,
+ num_unique, (self.sample_num - num_unique, ),
+ dtype=torch.long)
+ all_ind = torch.cat((unique_ind, unique_ind[sample_ind]))
+ idx[i_batch, i_region, :] = all_ind
+
+ xyz_trans = points_xyz.transpose(1, 2).contiguous()
+ # (B, 3, npoint, sample_num)
+ grouped_xyz = grouping_operation(xyz_trans, idx)
+ grouped_xyz_diff = grouped_xyz - \
+ center_xyz.transpose(1, 2).unsqueeze(-1) # relative offsets
+ if self.normalize_xyz:
+ grouped_xyz_diff /= self.max_radius
+
+ if features is not None:
+ grouped_features = grouping_operation(features, idx)
+ if self.use_xyz:
+ # (B, C + 3, npoint, sample_num)
+ new_features = torch.cat([grouped_xyz_diff, grouped_features],
+ dim=1)
+ else:
+ new_features = grouped_features
+ else:
+ assert (self.use_xyz
+ ), 'Cannot have not features and not use xyz as a feature!'
+ new_features = grouped_xyz_diff
+
+ ret = [new_features]
+ if self.return_grouped_xyz:
+ ret.append(grouped_xyz)
+ if self.return_unique_cnt:
+ ret.append(unique_cnt)
+ if self.return_grouped_idx:
+ ret.append(idx)
+ if len(ret) == 1:
+ return ret[0]
+ else:
+ return tuple(ret)
+
+
+class GroupAll(nn.Module):
+ """Group xyz with feature.
+
+ Args:
+ use_xyz (bool): Whether to use xyz.
+ """
+
+ def __init__(self, use_xyz: bool = True):
+ super().__init__()
+ self.use_xyz = use_xyz
+
+ def forward(self,
+ xyz: torch.Tensor,
+ new_xyz: torch.Tensor,
+ features: torch.Tensor = None):
+ """
+ Args:
+ xyz (Tensor): (B, N, 3) xyz coordinates of the features.
+ new_xyz (Tensor): new xyz coordinates of the features.
+ features (Tensor): (B, C, N) features to group.
+
+ Returns:
+ Tensor: (B, C + 3, 1, N) Grouped feature.
+ """
+ grouped_xyz = xyz.transpose(1, 2).unsqueeze(2)
+ if features is not None:
+ grouped_features = features.unsqueeze(2)
+ if self.use_xyz:
+ # (B, 3 + C, 1, N)
+ new_features = torch.cat([grouped_xyz, grouped_features],
+ dim=1)
+ else:
+ new_features = grouped_features
+ else:
+ new_features = grouped_xyz
+
+ return new_features
+
+
+class GroupingOperation(Function):
+ """Group feature with given index."""
+
+ @staticmethod
+ def forward(ctx, features: torch.Tensor,
+ indices: torch.Tensor) -> torch.Tensor:
+ """
+ Args:
+ features (Tensor): (B, C, N) tensor of features to group.
+ indices (Tensor): (B, npoint, nsample) the indices of
+ features to group with.
+
+ Returns:
+ Tensor: (B, C, npoint, nsample) Grouped features.
+ """
+ features = features.contiguous()
+ indices = indices.contiguous()
+
+ B, nfeatures, nsample = indices.size()
+ _, C, N = features.size()
+ output = torch.cuda.FloatTensor(B, C, nfeatures, nsample)
+
+ ext_module.group_points_forward(B, C, N, nfeatures, nsample, features,
+ indices, output)
+
+ ctx.for_backwards = (indices, N)
+ return output
+
+ @staticmethod
+ def backward(ctx,
+ grad_out: torch.Tensor) -> Tuple[torch.Tensor, torch.Tensor]:
+ """
+ Args:
+ grad_out (Tensor): (B, C, npoint, nsample) tensor of the gradients
+ of the output from forward.
+
+ Returns:
+ Tensor: (B, C, N) gradient of the features.
+ """
+ idx, N = ctx.for_backwards
+
+ B, C, npoint, nsample = grad_out.size()
+ grad_features = torch.cuda.FloatTensor(B, C, N).zero_()
+
+ grad_out_data = grad_out.data.contiguous()
+ ext_module.group_points_backward(B, C, N, npoint, nsample,
+ grad_out_data, idx,
+ grad_features.data)
+ return grad_features, None
+
+
+grouping_operation = GroupingOperation.apply
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/info.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/info.py
new file mode 100644
index 0000000000000000000000000000000000000000..29f2e5598ae2bb5866ccd15a7d3b4de33c0cd14d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/info.py
@@ -0,0 +1,36 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import glob
+import os
+
+import torch
+
+if torch.__version__ == 'parrots':
+ import parrots
+
+ def get_compiler_version():
+ return 'GCC ' + parrots.version.compiler
+
+ def get_compiling_cuda_version():
+ return parrots.version.cuda
+else:
+ from ..utils import ext_loader
+ ext_module = ext_loader.load_ext(
+ '_ext', ['get_compiler_version', 'get_compiling_cuda_version'])
+
+ def get_compiler_version():
+ return ext_module.get_compiler_version()
+
+ def get_compiling_cuda_version():
+ return ext_module.get_compiling_cuda_version()
+
+
+def get_onnxruntime_op_path():
+ wildcard = os.path.join(
+ os.path.abspath(os.path.dirname(os.path.dirname(__file__))),
+ '_ext_ort.*.so')
+
+ paths = glob.glob(wildcard)
+ if len(paths) > 0:
+ return paths[0]
+ else:
+ return ''
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/iou3d.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/iou3d.py
new file mode 100644
index 0000000000000000000000000000000000000000..6fc71979190323f44c09f8b7e1761cf49cd2d76b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/iou3d.py
@@ -0,0 +1,85 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import torch
+
+from ..utils import ext_loader
+
+ext_module = ext_loader.load_ext('_ext', [
+ 'iou3d_boxes_iou_bev_forward', 'iou3d_nms_forward',
+ 'iou3d_nms_normal_forward'
+])
+
+
+def boxes_iou_bev(boxes_a, boxes_b):
+ """Calculate boxes IoU in the Bird's Eye View.
+
+ Args:
+ boxes_a (torch.Tensor): Input boxes a with shape (M, 5).
+ boxes_b (torch.Tensor): Input boxes b with shape (N, 5).
+
+ Returns:
+ ans_iou (torch.Tensor): IoU result with shape (M, N).
+ """
+ ans_iou = boxes_a.new_zeros(
+ torch.Size((boxes_a.shape[0], boxes_b.shape[0])))
+
+ ext_module.iou3d_boxes_iou_bev_forward(boxes_a.contiguous(),
+ boxes_b.contiguous(), ans_iou)
+
+ return ans_iou
+
+
+def nms_bev(boxes, scores, thresh, pre_max_size=None, post_max_size=None):
+ """NMS function GPU implementation (for BEV boxes). The overlap of two
+ boxes for IoU calculation is defined as the exact overlapping area of the
+ two boxes. In this function, one can also set ``pre_max_size`` and
+ ``post_max_size``.
+
+ Args:
+ boxes (torch.Tensor): Input boxes with the shape of [N, 5]
+ ([x1, y1, x2, y2, ry]).
+ scores (torch.Tensor): Scores of boxes with the shape of [N].
+ thresh (float): Overlap threshold of NMS.
+ pre_max_size (int, optional): Max size of boxes before NMS.
+ Default: None.
+ post_max_size (int, optional): Max size of boxes after NMS.
+ Default: None.
+
+ Returns:
+ torch.Tensor: Indexes after NMS.
+ """
+ assert boxes.size(1) == 5, 'Input boxes shape should be [N, 5]'
+ order = scores.sort(0, descending=True)[1]
+
+ if pre_max_size is not None:
+ order = order[:pre_max_size]
+ boxes = boxes[order].contiguous()
+
+ keep = torch.zeros(boxes.size(0), dtype=torch.long)
+ num_out = ext_module.iou3d_nms_forward(boxes, keep, thresh)
+ keep = order[keep[:num_out].cuda(boxes.device)].contiguous()
+ if post_max_size is not None:
+ keep = keep[:post_max_size]
+ return keep
+
+
+def nms_normal_bev(boxes, scores, thresh):
+ """Normal NMS function GPU implementation (for BEV boxes). The overlap of
+ two boxes for IoU calculation is defined as the exact overlapping area of
+ the two boxes WITH their yaw angle set to 0.
+
+ Args:
+ boxes (torch.Tensor): Input boxes with shape (N, 5).
+ scores (torch.Tensor): Scores of predicted boxes with shape (N).
+ thresh (float): Overlap threshold of NMS.
+
+ Returns:
+ torch.Tensor: Remaining indices with scores in descending order.
+ """
+ assert boxes.shape[1] == 5, 'Input boxes shape should be [N, 5]'
+ order = scores.sort(0, descending=True)[1]
+
+ boxes = boxes[order].contiguous()
+
+ keep = torch.zeros(boxes.size(0), dtype=torch.long)
+ num_out = ext_module.iou3d_nms_normal_forward(boxes, keep, thresh)
+ return order[keep[:num_out].cuda(boxes.device)].contiguous()
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/knn.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/knn.py
new file mode 100644
index 0000000000000000000000000000000000000000..f335785036669fc19239825b0aae6dde3f73bf92
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/knn.py
@@ -0,0 +1,77 @@
+import torch
+from torch.autograd import Function
+
+from ..utils import ext_loader
+
+ext_module = ext_loader.load_ext('_ext', ['knn_forward'])
+
+
+class KNN(Function):
+ r"""KNN (CUDA) based on heap data structure.
+ Modified from `PAConv `_.
+
+ Find k-nearest points.
+ """
+
+ @staticmethod
+ def forward(ctx,
+ k: int,
+ xyz: torch.Tensor,
+ center_xyz: torch.Tensor = None,
+ transposed: bool = False) -> torch.Tensor:
+ """
+ Args:
+ k (int): number of nearest neighbors.
+ xyz (Tensor): (B, N, 3) if transposed == False, else (B, 3, N).
+ xyz coordinates of the features.
+ center_xyz (Tensor, optional): (B, npoint, 3) if transposed ==
+ False, else (B, 3, npoint). centers of the knn query.
+ Default: None.
+ transposed (bool, optional): whether the input tensors are
+ transposed. Should not explicitly use this keyword when
+ calling knn (=KNN.apply), just add the fourth param.
+ Default: False.
+
+ Returns:
+ Tensor: (B, k, npoint) tensor with the indices of
+ the features that form k-nearest neighbours.
+ """
+ assert (k > 0) & (k < 100), 'k should be in range(0, 100)'
+
+ if center_xyz is None:
+ center_xyz = xyz
+
+ if transposed:
+ xyz = xyz.transpose(2, 1).contiguous()
+ center_xyz = center_xyz.transpose(2, 1).contiguous()
+
+ assert xyz.is_contiguous() # [B, N, 3]
+ assert center_xyz.is_contiguous() # [B, npoint, 3]
+
+ center_xyz_device = center_xyz.get_device()
+ assert center_xyz_device == xyz.get_device(), \
+ 'center_xyz and xyz should be put on the same device'
+ if torch.cuda.current_device() != center_xyz_device:
+ torch.cuda.set_device(center_xyz_device)
+
+ B, npoint, _ = center_xyz.shape
+ N = xyz.shape[1]
+
+ idx = center_xyz.new_zeros((B, npoint, k)).int()
+ dist2 = center_xyz.new_zeros((B, npoint, k)).float()
+
+ ext_module.knn_forward(
+ xyz, center_xyz, idx, dist2, b=B, n=N, m=npoint, nsample=k)
+ # idx shape to [B, k, npoint]
+ idx = idx.transpose(2, 1).contiguous()
+ if torch.__version__ != 'parrots':
+ ctx.mark_non_differentiable(idx)
+ return idx
+
+ @staticmethod
+ def backward(ctx, a=None):
+ return None, None, None
+
+
+knn = KNN.apply
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/masked_conv.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/masked_conv.py
new file mode 100644
index 0000000000000000000000000000000000000000..cd514cc204c1d571ea5dc7e74b038c0f477a008b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/masked_conv.py
@@ -0,0 +1,111 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import math
+
+import torch
+import torch.nn as nn
+from torch.autograd import Function
+from torch.autograd.function import once_differentiable
+from torch.nn.modules.utils import _pair
+
+from ..utils import ext_loader
+
+ext_module = ext_loader.load_ext(
+ '_ext', ['masked_im2col_forward', 'masked_col2im_forward'])
+
+
+class MaskedConv2dFunction(Function):
+
+ @staticmethod
+ def symbolic(g, features, mask, weight, bias, padding, stride):
+ return g.op(
+ 'mmcv::MMCVMaskedConv2d',
+ features,
+ mask,
+ weight,
+ bias,
+ padding_i=padding,
+ stride_i=stride)
+
+ @staticmethod
+ def forward(ctx, features, mask, weight, bias, padding=0, stride=1):
+ assert mask.dim() == 3 and mask.size(0) == 1
+ assert features.dim() == 4 and features.size(0) == 1
+ assert features.size()[2:] == mask.size()[1:]
+ pad_h, pad_w = _pair(padding)
+ stride_h, stride_w = _pair(stride)
+ if stride_h != 1 or stride_w != 1:
+ raise ValueError(
+ 'Stride could not only be 1 in masked_conv2d currently.')
+ out_channel, in_channel, kernel_h, kernel_w = weight.size()
+
+ batch_size = features.size(0)
+ out_h = int(
+ math.floor((features.size(2) + 2 * pad_h -
+ (kernel_h - 1) - 1) / stride_h + 1))
+ out_w = int(
+ math.floor((features.size(3) + 2 * pad_w -
+ (kernel_h - 1) - 1) / stride_w + 1))
+ mask_inds = torch.nonzero(mask[0] > 0, as_tuple=False)
+ output = features.new_zeros(batch_size, out_channel, out_h, out_w)
+ if mask_inds.numel() > 0:
+ mask_h_idx = mask_inds[:, 0].contiguous()
+ mask_w_idx = mask_inds[:, 1].contiguous()
+ data_col = features.new_zeros(in_channel * kernel_h * kernel_w,
+ mask_inds.size(0))
+ ext_module.masked_im2col_forward(
+ features,
+ mask_h_idx,
+ mask_w_idx,
+ data_col,
+ kernel_h=kernel_h,
+ kernel_w=kernel_w,
+ pad_h=pad_h,
+ pad_w=pad_w)
+
+ masked_output = torch.addmm(1, bias[:, None], 1,
+ weight.view(out_channel, -1), data_col)
+ ext_module.masked_col2im_forward(
+ masked_output,
+ mask_h_idx,
+ mask_w_idx,
+ output,
+ height=out_h,
+ width=out_w,
+ channels=out_channel)
+ return output
+
+ @staticmethod
+ @once_differentiable
+ def backward(ctx, grad_output):
+ return (None, ) * 5
+
+
+masked_conv2d = MaskedConv2dFunction.apply
+
+
+class MaskedConv2d(nn.Conv2d):
+ """A MaskedConv2d which inherits the official Conv2d.
+
+ The masked forward doesn't implement the backward function and only
+ supports the stride parameter to be 1 currently.
+ """
+
+ def __init__(self,
+ in_channels,
+ out_channels,
+ kernel_size,
+ stride=1,
+ padding=0,
+ dilation=1,
+ groups=1,
+ bias=True):
+ super(MaskedConv2d,
+ self).__init__(in_channels, out_channels, kernel_size, stride,
+ padding, dilation, groups, bias)
+
+ def forward(self, input, mask=None):
+ if mask is None: # fallback to the normal Conv2d
+ return super(MaskedConv2d, self).forward(input)
+ else:
+ return masked_conv2d(input, mask, self.weight, self.bias,
+ self.padding)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/merge_cells.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/merge_cells.py
new file mode 100644
index 0000000000000000000000000000000000000000..48ca8cc0a8aca8432835bd760c0403a3c35b34cf
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/merge_cells.py
@@ -0,0 +1,149 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from abc import abstractmethod
+
+import torch
+import torch.nn as nn
+import torch.nn.functional as F
+
+from ..cnn import ConvModule
+
+
+class BaseMergeCell(nn.Module):
+ """The basic class for cells used in NAS-FPN and NAS-FCOS.
+
+ BaseMergeCell takes 2 inputs. After applying convolution
+ on them, they are resized to the target size. Then,
+ they go through binary_op, which depends on the type of cell.
+ If with_out_conv is True, the result of output will go through
+ another convolution layer.
+
+ Args:
+ in_channels (int): number of input channels in out_conv layer.
+ out_channels (int): number of output channels in out_conv layer.
+ with_out_conv (bool): Whether to use out_conv layer
+ out_conv_cfg (dict): Config dict for convolution layer, which should
+ contain "groups", "kernel_size", "padding", "bias" to build
+ out_conv layer.
+ out_norm_cfg (dict): Config dict for normalization layer in out_conv.
+ out_conv_order (tuple): The order of conv/norm/activation layers in
+ out_conv.
+ with_input1_conv (bool): Whether to use convolution on input1.
+ with_input2_conv (bool): Whether to use convolution on input2.
+ input_conv_cfg (dict): Config dict for building input1_conv layer and
+ input2_conv layer, which is expected to contain the type of
+ convolution.
+ Default: None, which means using conv2d.
+ input_norm_cfg (dict): Config dict for normalization layer in
+ input1_conv and input2_conv layer. Default: None.
+ upsample_mode (str): Interpolation method used to resize the output
+ of input1_conv and input2_conv to target size. Currently, we
+ support ['nearest', 'bilinear']. Default: 'nearest'.
+ """
+
+ def __init__(self,
+ fused_channels=256,
+ out_channels=256,
+ with_out_conv=True,
+ out_conv_cfg=dict(
+ groups=1, kernel_size=3, padding=1, bias=True),
+ out_norm_cfg=None,
+ out_conv_order=('act', 'conv', 'norm'),
+ with_input1_conv=False,
+ with_input2_conv=False,
+ input_conv_cfg=None,
+ input_norm_cfg=None,
+ upsample_mode='nearest'):
+ super(BaseMergeCell, self).__init__()
+ assert upsample_mode in ['nearest', 'bilinear']
+ self.with_out_conv = with_out_conv
+ self.with_input1_conv = with_input1_conv
+ self.with_input2_conv = with_input2_conv
+ self.upsample_mode = upsample_mode
+
+ if self.with_out_conv:
+ self.out_conv = ConvModule(
+ fused_channels,
+ out_channels,
+ **out_conv_cfg,
+ norm_cfg=out_norm_cfg,
+ order=out_conv_order)
+
+ self.input1_conv = self._build_input_conv(
+ out_channels, input_conv_cfg,
+ input_norm_cfg) if with_input1_conv else nn.Sequential()
+ self.input2_conv = self._build_input_conv(
+ out_channels, input_conv_cfg,
+ input_norm_cfg) if with_input2_conv else nn.Sequential()
+
+ def _build_input_conv(self, channel, conv_cfg, norm_cfg):
+ return ConvModule(
+ channel,
+ channel,
+ 3,
+ padding=1,
+ conv_cfg=conv_cfg,
+ norm_cfg=norm_cfg,
+ bias=True)
+
+ @abstractmethod
+ def _binary_op(self, x1, x2):
+ pass
+
+ def _resize(self, x, size):
+ if x.shape[-2:] == size:
+ return x
+ elif x.shape[-2:] < size:
+ return F.interpolate(x, size=size, mode=self.upsample_mode)
+ else:
+ assert x.shape[-2] % size[-2] == 0 and x.shape[-1] % size[-1] == 0
+ kernel_size = x.shape[-1] // size[-1]
+ x = F.max_pool2d(x, kernel_size=kernel_size, stride=kernel_size)
+ return x
+
+ def forward(self, x1, x2, out_size=None):
+ assert x1.shape[:2] == x2.shape[:2]
+ assert out_size is None or len(out_size) == 2
+ if out_size is None: # resize to larger one
+ out_size = max(x1.size()[2:], x2.size()[2:])
+
+ x1 = self.input1_conv(x1)
+ x2 = self.input2_conv(x2)
+
+ x1 = self._resize(x1, out_size)
+ x2 = self._resize(x2, out_size)
+
+ x = self._binary_op(x1, x2)
+ if self.with_out_conv:
+ x = self.out_conv(x)
+ return x
+
+
+class SumCell(BaseMergeCell):
+
+ def __init__(self, in_channels, out_channels, **kwargs):
+ super(SumCell, self).__init__(in_channels, out_channels, **kwargs)
+
+ def _binary_op(self, x1, x2):
+ return x1 + x2
+
+
+class ConcatCell(BaseMergeCell):
+
+ def __init__(self, in_channels, out_channels, **kwargs):
+ super(ConcatCell, self).__init__(in_channels * 2, out_channels,
+ **kwargs)
+
+ def _binary_op(self, x1, x2):
+ ret = torch.cat([x1, x2], dim=1)
+ return ret
+
+
+class GlobalPoolingCell(BaseMergeCell):
+
+ def __init__(self, in_channels=None, out_channels=None, **kwargs):
+ super().__init__(in_channels, out_channels, **kwargs)
+ self.global_pool = nn.AdaptiveAvgPool2d((1, 1))
+
+ def _binary_op(self, x1, x2):
+ x2_att = self.global_pool(x2).sigmoid()
+ return x2 + x2_att * x1
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/modulated_deform_conv.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/modulated_deform_conv.py
new file mode 100644
index 0000000000000000000000000000000000000000..f97278361d5262b1a87432dc5e3eb842b39ceb10
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/modulated_deform_conv.py
@@ -0,0 +1,282 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import math
+
+import torch
+import torch.nn as nn
+from torch.autograd import Function
+from torch.autograd.function import once_differentiable
+from torch.nn.modules.utils import _pair, _single
+
+from annotator.mmpkg.mmcv.utils import deprecated_api_warning
+from ..cnn import CONV_LAYERS
+from ..utils import ext_loader, print_log
+
+ext_module = ext_loader.load_ext(
+ '_ext',
+ ['modulated_deform_conv_forward', 'modulated_deform_conv_backward'])
+
+
+class ModulatedDeformConv2dFunction(Function):
+
+ @staticmethod
+ def symbolic(g, input, offset, mask, weight, bias, stride, padding,
+ dilation, groups, deform_groups):
+ input_tensors = [input, offset, mask, weight]
+ if bias is not None:
+ input_tensors.append(bias)
+ return g.op(
+ 'mmcv::MMCVModulatedDeformConv2d',
+ *input_tensors,
+ stride_i=stride,
+ padding_i=padding,
+ dilation_i=dilation,
+ groups_i=groups,
+ deform_groups_i=deform_groups)
+
+ @staticmethod
+ def forward(ctx,
+ input,
+ offset,
+ mask,
+ weight,
+ bias=None,
+ stride=1,
+ padding=0,
+ dilation=1,
+ groups=1,
+ deform_groups=1):
+ if input is not None and input.dim() != 4:
+ raise ValueError(
+ f'Expected 4D tensor as input, got {input.dim()}D tensor \
+ instead.')
+ ctx.stride = _pair(stride)
+ ctx.padding = _pair(padding)
+ ctx.dilation = _pair(dilation)
+ ctx.groups = groups
+ ctx.deform_groups = deform_groups
+ ctx.with_bias = bias is not None
+ if not ctx.with_bias:
+ bias = input.new_empty(0) # fake tensor
+ # When pytorch version >= 1.6.0, amp is adopted for fp16 mode;
+ # amp won't cast the type of model (float32), but "offset" is cast
+ # to float16 by nn.Conv2d automatically, leading to the type
+ # mismatch with input (when it is float32) or weight.
+ # The flag for whether to use fp16 or amp is the type of "offset",
+ # we cast weight and input to temporarily support fp16 and amp
+ # whatever the pytorch version is.
+ input = input.type_as(offset)
+ weight = weight.type_as(input)
+ ctx.save_for_backward(input, offset, mask, weight, bias)
+ output = input.new_empty(
+ ModulatedDeformConv2dFunction._output_size(ctx, input, weight))
+ ctx._bufs = [input.new_empty(0), input.new_empty(0)]
+ ext_module.modulated_deform_conv_forward(
+ input,
+ weight,
+ bias,
+ ctx._bufs[0],
+ offset,
+ mask,
+ output,
+ ctx._bufs[1],
+ kernel_h=weight.size(2),
+ kernel_w=weight.size(3),
+ stride_h=ctx.stride[0],
+ stride_w=ctx.stride[1],
+ pad_h=ctx.padding[0],
+ pad_w=ctx.padding[1],
+ dilation_h=ctx.dilation[0],
+ dilation_w=ctx.dilation[1],
+ group=ctx.groups,
+ deformable_group=ctx.deform_groups,
+ with_bias=ctx.with_bias)
+ return output
+
+ @staticmethod
+ @once_differentiable
+ def backward(ctx, grad_output):
+ input, offset, mask, weight, bias = ctx.saved_tensors
+ grad_input = torch.zeros_like(input)
+ grad_offset = torch.zeros_like(offset)
+ grad_mask = torch.zeros_like(mask)
+ grad_weight = torch.zeros_like(weight)
+ grad_bias = torch.zeros_like(bias)
+ grad_output = grad_output.contiguous()
+ ext_module.modulated_deform_conv_backward(
+ input,
+ weight,
+ bias,
+ ctx._bufs[0],
+ offset,
+ mask,
+ ctx._bufs[1],
+ grad_input,
+ grad_weight,
+ grad_bias,
+ grad_offset,
+ grad_mask,
+ grad_output,
+ kernel_h=weight.size(2),
+ kernel_w=weight.size(3),
+ stride_h=ctx.stride[0],
+ stride_w=ctx.stride[1],
+ pad_h=ctx.padding[0],
+ pad_w=ctx.padding[1],
+ dilation_h=ctx.dilation[0],
+ dilation_w=ctx.dilation[1],
+ group=ctx.groups,
+ deformable_group=ctx.deform_groups,
+ with_bias=ctx.with_bias)
+ if not ctx.with_bias:
+ grad_bias = None
+
+ return (grad_input, grad_offset, grad_mask, grad_weight, grad_bias,
+ None, None, None, None, None)
+
+ @staticmethod
+ def _output_size(ctx, input, weight):
+ channels = weight.size(0)
+ output_size = (input.size(0), channels)
+ for d in range(input.dim() - 2):
+ in_size = input.size(d + 2)
+ pad = ctx.padding[d]
+ kernel = ctx.dilation[d] * (weight.size(d + 2) - 1) + 1
+ stride_ = ctx.stride[d]
+ output_size += ((in_size + (2 * pad) - kernel) // stride_ + 1, )
+ if not all(map(lambda s: s > 0, output_size)):
+ raise ValueError(
+ 'convolution input is too small (output would be ' +
+ 'x'.join(map(str, output_size)) + ')')
+ return output_size
+
+
+modulated_deform_conv2d = ModulatedDeformConv2dFunction.apply
+
+
+class ModulatedDeformConv2d(nn.Module):
+
+ @deprecated_api_warning({'deformable_groups': 'deform_groups'},
+ cls_name='ModulatedDeformConv2d')
+ def __init__(self,
+ in_channels,
+ out_channels,
+ kernel_size,
+ stride=1,
+ padding=0,
+ dilation=1,
+ groups=1,
+ deform_groups=1,
+ bias=True):
+ super(ModulatedDeformConv2d, self).__init__()
+ self.in_channels = in_channels
+ self.out_channels = out_channels
+ self.kernel_size = _pair(kernel_size)
+ self.stride = _pair(stride)
+ self.padding = _pair(padding)
+ self.dilation = _pair(dilation)
+ self.groups = groups
+ self.deform_groups = deform_groups
+ # enable compatibility with nn.Conv2d
+ self.transposed = False
+ self.output_padding = _single(0)
+
+ self.weight = nn.Parameter(
+ torch.Tensor(out_channels, in_channels // groups,
+ *self.kernel_size))
+ if bias:
+ self.bias = nn.Parameter(torch.Tensor(out_channels))
+ else:
+ self.register_parameter('bias', None)
+ self.init_weights()
+
+ def init_weights(self):
+ n = self.in_channels
+ for k in self.kernel_size:
+ n *= k
+ stdv = 1. / math.sqrt(n)
+ self.weight.data.uniform_(-stdv, stdv)
+ if self.bias is not None:
+ self.bias.data.zero_()
+
+ def forward(self, x, offset, mask):
+ return modulated_deform_conv2d(x, offset, mask, self.weight, self.bias,
+ self.stride, self.padding,
+ self.dilation, self.groups,
+ self.deform_groups)
+
+
+@CONV_LAYERS.register_module('DCNv2')
+class ModulatedDeformConv2dPack(ModulatedDeformConv2d):
+ """A ModulatedDeformable Conv Encapsulation that acts as normal Conv
+ layers.
+
+ Args:
+ in_channels (int): Same as nn.Conv2d.
+ out_channels (int): Same as nn.Conv2d.
+ kernel_size (int or tuple[int]): Same as nn.Conv2d.
+ stride (int): Same as nn.Conv2d, while tuple is not supported.
+ padding (int): Same as nn.Conv2d, while tuple is not supported.
+ dilation (int): Same as nn.Conv2d, while tuple is not supported.
+ groups (int): Same as nn.Conv2d.
+ bias (bool or str): If specified as `auto`, it will be decided by the
+ norm_cfg. Bias will be set as True if norm_cfg is None, otherwise
+ False.
+ """
+
+ _version = 2
+
+ def __init__(self, *args, **kwargs):
+ super(ModulatedDeformConv2dPack, self).__init__(*args, **kwargs)
+ self.conv_offset = nn.Conv2d(
+ self.in_channels,
+ self.deform_groups * 3 * self.kernel_size[0] * self.kernel_size[1],
+ kernel_size=self.kernel_size,
+ stride=self.stride,
+ padding=self.padding,
+ dilation=self.dilation,
+ bias=True)
+ self.init_weights()
+
+ def init_weights(self):
+ super(ModulatedDeformConv2dPack, self).init_weights()
+ if hasattr(self, 'conv_offset'):
+ self.conv_offset.weight.data.zero_()
+ self.conv_offset.bias.data.zero_()
+
+ def forward(self, x):
+ out = self.conv_offset(x)
+ o1, o2, mask = torch.chunk(out, 3, dim=1)
+ offset = torch.cat((o1, o2), dim=1)
+ mask = torch.sigmoid(mask)
+ return modulated_deform_conv2d(x, offset, mask, self.weight, self.bias,
+ self.stride, self.padding,
+ self.dilation, self.groups,
+ self.deform_groups)
+
+ def _load_from_state_dict(self, state_dict, prefix, local_metadata, strict,
+ missing_keys, unexpected_keys, error_msgs):
+ version = local_metadata.get('version', None)
+
+ if version is None or version < 2:
+ # the key is different in early versions
+ # In version < 2, ModulatedDeformConvPack
+ # loads previous benchmark models.
+ if (prefix + 'conv_offset.weight' not in state_dict
+ and prefix[:-1] + '_offset.weight' in state_dict):
+ state_dict[prefix + 'conv_offset.weight'] = state_dict.pop(
+ prefix[:-1] + '_offset.weight')
+ if (prefix + 'conv_offset.bias' not in state_dict
+ and prefix[:-1] + '_offset.bias' in state_dict):
+ state_dict[prefix +
+ 'conv_offset.bias'] = state_dict.pop(prefix[:-1] +
+ '_offset.bias')
+
+ if version is not None and version > 1:
+ print_log(
+ f'ModulatedDeformConvPack {prefix.rstrip(".")} is upgraded to '
+ 'version 2.',
+ logger='root')
+
+ super()._load_from_state_dict(state_dict, prefix, local_metadata,
+ strict, missing_keys, unexpected_keys,
+ error_msgs)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/multi_scale_deform_attn.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/multi_scale_deform_attn.py
new file mode 100644
index 0000000000000000000000000000000000000000..fe755eaa931565aab77ecc387990328c01447343
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/multi_scale_deform_attn.py
@@ -0,0 +1,358 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import math
+import warnings
+
+import torch
+import torch.nn as nn
+import torch.nn.functional as F
+from torch.autograd.function import Function, once_differentiable
+
+from annotator.mmpkg.mmcv import deprecated_api_warning
+from annotator.mmpkg.mmcv.cnn import constant_init, xavier_init
+from annotator.mmpkg.mmcv.cnn.bricks.registry import ATTENTION
+from annotator.mmpkg.mmcv.runner import BaseModule
+from ..utils import ext_loader
+
+ext_module = ext_loader.load_ext(
+ '_ext', ['ms_deform_attn_backward', 'ms_deform_attn_forward'])
+
+
+class MultiScaleDeformableAttnFunction(Function):
+
+ @staticmethod
+ def forward(ctx, value, value_spatial_shapes, value_level_start_index,
+ sampling_locations, attention_weights, im2col_step):
+ """GPU version of multi-scale deformable attention.
+
+ Args:
+ value (Tensor): The value has shape
+ (bs, num_keys, mum_heads, embed_dims//num_heads)
+ value_spatial_shapes (Tensor): Spatial shape of
+ each feature map, has shape (num_levels, 2),
+ last dimension 2 represent (h, w)
+ sampling_locations (Tensor): The location of sampling points,
+ has shape
+ (bs ,num_queries, num_heads, num_levels, num_points, 2),
+ the last dimension 2 represent (x, y).
+ attention_weights (Tensor): The weight of sampling points used
+ when calculate the attention, has shape
+ (bs ,num_queries, num_heads, num_levels, num_points),
+ im2col_step (Tensor): The step used in image to column.
+
+ Returns:
+ Tensor: has shape (bs, num_queries, embed_dims)
+ """
+
+ ctx.im2col_step = im2col_step
+ output = ext_module.ms_deform_attn_forward(
+ value,
+ value_spatial_shapes,
+ value_level_start_index,
+ sampling_locations,
+ attention_weights,
+ im2col_step=ctx.im2col_step)
+ ctx.save_for_backward(value, value_spatial_shapes,
+ value_level_start_index, sampling_locations,
+ attention_weights)
+ return output
+
+ @staticmethod
+ @once_differentiable
+ def backward(ctx, grad_output):
+ """GPU version of backward function.
+
+ Args:
+ grad_output (Tensor): Gradient
+ of output tensor of forward.
+
+ Returns:
+ Tuple[Tensor]: Gradient
+ of input tensors in forward.
+ """
+ value, value_spatial_shapes, value_level_start_index,\
+ sampling_locations, attention_weights = ctx.saved_tensors
+ grad_value = torch.zeros_like(value)
+ grad_sampling_loc = torch.zeros_like(sampling_locations)
+ grad_attn_weight = torch.zeros_like(attention_weights)
+
+ ext_module.ms_deform_attn_backward(
+ value,
+ value_spatial_shapes,
+ value_level_start_index,
+ sampling_locations,
+ attention_weights,
+ grad_output.contiguous(),
+ grad_value,
+ grad_sampling_loc,
+ grad_attn_weight,
+ im2col_step=ctx.im2col_step)
+
+ return grad_value, None, None, \
+ grad_sampling_loc, grad_attn_weight, None
+
+
+def multi_scale_deformable_attn_pytorch(value, value_spatial_shapes,
+ sampling_locations, attention_weights):
+ """CPU version of multi-scale deformable attention.
+
+ Args:
+ value (Tensor): The value has shape
+ (bs, num_keys, mum_heads, embed_dims//num_heads)
+ value_spatial_shapes (Tensor): Spatial shape of
+ each feature map, has shape (num_levels, 2),
+ last dimension 2 represent (h, w)
+ sampling_locations (Tensor): The location of sampling points,
+ has shape
+ (bs ,num_queries, num_heads, num_levels, num_points, 2),
+ the last dimension 2 represent (x, y).
+ attention_weights (Tensor): The weight of sampling points used
+ when calculate the attention, has shape
+ (bs ,num_queries, num_heads, num_levels, num_points),
+
+ Returns:
+ Tensor: has shape (bs, num_queries, embed_dims)
+ """
+
+ bs, _, num_heads, embed_dims = value.shape
+ _, num_queries, num_heads, num_levels, num_points, _ =\
+ sampling_locations.shape
+ value_list = value.split([H_ * W_ for H_, W_ in value_spatial_shapes],
+ dim=1)
+ sampling_grids = 2 * sampling_locations - 1
+ sampling_value_list = []
+ for level, (H_, W_) in enumerate(value_spatial_shapes):
+ # bs, H_*W_, num_heads, embed_dims ->
+ # bs, H_*W_, num_heads*embed_dims ->
+ # bs, num_heads*embed_dims, H_*W_ ->
+ # bs*num_heads, embed_dims, H_, W_
+ value_l_ = value_list[level].flatten(2).transpose(1, 2).reshape(
+ bs * num_heads, embed_dims, H_, W_)
+ # bs, num_queries, num_heads, num_points, 2 ->
+ # bs, num_heads, num_queries, num_points, 2 ->
+ # bs*num_heads, num_queries, num_points, 2
+ sampling_grid_l_ = sampling_grids[:, :, :,
+ level].transpose(1, 2).flatten(0, 1)
+ # bs*num_heads, embed_dims, num_queries, num_points
+ sampling_value_l_ = F.grid_sample(
+ value_l_,
+ sampling_grid_l_,
+ mode='bilinear',
+ padding_mode='zeros',
+ align_corners=False)
+ sampling_value_list.append(sampling_value_l_)
+ # (bs, num_queries, num_heads, num_levels, num_points) ->
+ # (bs, num_heads, num_queries, num_levels, num_points) ->
+ # (bs, num_heads, 1, num_queries, num_levels*num_points)
+ attention_weights = attention_weights.transpose(1, 2).reshape(
+ bs * num_heads, 1, num_queries, num_levels * num_points)
+ output = (torch.stack(sampling_value_list, dim=-2).flatten(-2) *
+ attention_weights).sum(-1).view(bs, num_heads * embed_dims,
+ num_queries)
+ return output.transpose(1, 2).contiguous()
+
+
+@ATTENTION.register_module()
+class MultiScaleDeformableAttention(BaseModule):
+ """An attention module used in Deformable-Detr.
+
+ `Deformable DETR: Deformable Transformers for End-to-End Object Detection.
+ `_.
+
+ Args:
+ embed_dims (int): The embedding dimension of Attention.
+ Default: 256.
+ num_heads (int): Parallel attention heads. Default: 64.
+ num_levels (int): The number of feature map used in
+ Attention. Default: 4.
+ num_points (int): The number of sampling points for
+ each query in each head. Default: 4.
+ im2col_step (int): The step used in image_to_column.
+ Default: 64.
+ dropout (float): A Dropout layer on `inp_identity`.
+ Default: 0.1.
+ batch_first (bool): Key, Query and Value are shape of
+ (batch, n, embed_dim)
+ or (n, batch, embed_dim). Default to False.
+ norm_cfg (dict): Config dict for normalization layer.
+ Default: None.
+ init_cfg (obj:`mmcv.ConfigDict`): The Config for initialization.
+ Default: None.
+ """
+
+ def __init__(self,
+ embed_dims=256,
+ num_heads=8,
+ num_levels=4,
+ num_points=4,
+ im2col_step=64,
+ dropout=0.1,
+ batch_first=False,
+ norm_cfg=None,
+ init_cfg=None):
+ super().__init__(init_cfg)
+ if embed_dims % num_heads != 0:
+ raise ValueError(f'embed_dims must be divisible by num_heads, '
+ f'but got {embed_dims} and {num_heads}')
+ dim_per_head = embed_dims // num_heads
+ self.norm_cfg = norm_cfg
+ self.dropout = nn.Dropout(dropout)
+ self.batch_first = batch_first
+
+ # you'd better set dim_per_head to a power of 2
+ # which is more efficient in the CUDA implementation
+ def _is_power_of_2(n):
+ if (not isinstance(n, int)) or (n < 0):
+ raise ValueError(
+ 'invalid input for _is_power_of_2: {} (type: {})'.format(
+ n, type(n)))
+ return (n & (n - 1) == 0) and n != 0
+
+ if not _is_power_of_2(dim_per_head):
+ warnings.warn(
+ "You'd better set embed_dims in "
+ 'MultiScaleDeformAttention to make '
+ 'the dimension of each attention head a power of 2 '
+ 'which is more efficient in our CUDA implementation.')
+
+ self.im2col_step = im2col_step
+ self.embed_dims = embed_dims
+ self.num_levels = num_levels
+ self.num_heads = num_heads
+ self.num_points = num_points
+ self.sampling_offsets = nn.Linear(
+ embed_dims, num_heads * num_levels * num_points * 2)
+ self.attention_weights = nn.Linear(embed_dims,
+ num_heads * num_levels * num_points)
+ self.value_proj = nn.Linear(embed_dims, embed_dims)
+ self.output_proj = nn.Linear(embed_dims, embed_dims)
+ self.init_weights()
+
+ def init_weights(self):
+ """Default initialization for Parameters of Module."""
+ constant_init(self.sampling_offsets, 0.)
+ thetas = torch.arange(
+ self.num_heads,
+ dtype=torch.float32) * (2.0 * math.pi / self.num_heads)
+ grid_init = torch.stack([thetas.cos(), thetas.sin()], -1)
+ grid_init = (grid_init /
+ grid_init.abs().max(-1, keepdim=True)[0]).view(
+ self.num_heads, 1, 1,
+ 2).repeat(1, self.num_levels, self.num_points, 1)
+ for i in range(self.num_points):
+ grid_init[:, :, i, :] *= i + 1
+
+ self.sampling_offsets.bias.data = grid_init.view(-1)
+ constant_init(self.attention_weights, val=0., bias=0.)
+ xavier_init(self.value_proj, distribution='uniform', bias=0.)
+ xavier_init(self.output_proj, distribution='uniform', bias=0.)
+ self._is_init = True
+
+ @deprecated_api_warning({'residual': 'identity'},
+ cls_name='MultiScaleDeformableAttention')
+ def forward(self,
+ query,
+ key=None,
+ value=None,
+ identity=None,
+ query_pos=None,
+ key_padding_mask=None,
+ reference_points=None,
+ spatial_shapes=None,
+ level_start_index=None,
+ **kwargs):
+ """Forward Function of MultiScaleDeformAttention.
+
+ Args:
+ query (Tensor): Query of Transformer with shape
+ (num_query, bs, embed_dims).
+ key (Tensor): The key tensor with shape
+ `(num_key, bs, embed_dims)`.
+ value (Tensor): The value tensor with shape
+ `(num_key, bs, embed_dims)`.
+ identity (Tensor): The tensor used for addition, with the
+ same shape as `query`. Default None. If None,
+ `query` will be used.
+ query_pos (Tensor): The positional encoding for `query`.
+ Default: None.
+ key_pos (Tensor): The positional encoding for `key`. Default
+ None.
+ reference_points (Tensor): The normalized reference
+ points with shape (bs, num_query, num_levels, 2),
+ all elements is range in [0, 1], top-left (0,0),
+ bottom-right (1, 1), including padding area.
+ or (N, Length_{query}, num_levels, 4), add
+ additional two dimensions is (w, h) to
+ form reference boxes.
+ key_padding_mask (Tensor): ByteTensor for `query`, with
+ shape [bs, num_key].
+ spatial_shapes (Tensor): Spatial shape of features in
+ different levels. With shape (num_levels, 2),
+ last dimension represents (h, w).
+ level_start_index (Tensor): The start index of each level.
+ A tensor has shape ``(num_levels, )`` and can be represented
+ as [0, h_0*w_0, h_0*w_0+h_1*w_1, ...].
+
+ Returns:
+ Tensor: forwarded results with shape [num_query, bs, embed_dims].
+ """
+
+ if value is None:
+ value = query
+
+ if identity is None:
+ identity = query
+ if query_pos is not None:
+ query = query + query_pos
+ if not self.batch_first:
+ # change to (bs, num_query ,embed_dims)
+ query = query.permute(1, 0, 2)
+ value = value.permute(1, 0, 2)
+
+ bs, num_query, _ = query.shape
+ bs, num_value, _ = value.shape
+ assert (spatial_shapes[:, 0] * spatial_shapes[:, 1]).sum() == num_value
+
+ value = self.value_proj(value)
+ if key_padding_mask is not None:
+ value = value.masked_fill(key_padding_mask[..., None], 0.0)
+ value = value.view(bs, num_value, self.num_heads, -1)
+ sampling_offsets = self.sampling_offsets(query).view(
+ bs, num_query, self.num_heads, self.num_levels, self.num_points, 2)
+ attention_weights = self.attention_weights(query).view(
+ bs, num_query, self.num_heads, self.num_levels * self.num_points)
+ attention_weights = attention_weights.softmax(-1)
+
+ attention_weights = attention_weights.view(bs, num_query,
+ self.num_heads,
+ self.num_levels,
+ self.num_points)
+ if reference_points.shape[-1] == 2:
+ offset_normalizer = torch.stack(
+ [spatial_shapes[..., 1], spatial_shapes[..., 0]], -1)
+ sampling_locations = reference_points[:, :, None, :, None, :] \
+ + sampling_offsets \
+ / offset_normalizer[None, None, None, :, None, :]
+ elif reference_points.shape[-1] == 4:
+ sampling_locations = reference_points[:, :, None, :, None, :2] \
+ + sampling_offsets / self.num_points \
+ * reference_points[:, :, None, :, None, 2:] \
+ * 0.5
+ else:
+ raise ValueError(
+ f'Last dim of reference_points must be'
+ f' 2 or 4, but get {reference_points.shape[-1]} instead.')
+ if torch.cuda.is_available() and value.is_cuda:
+ output = MultiScaleDeformableAttnFunction.apply(
+ value, spatial_shapes, level_start_index, sampling_locations,
+ attention_weights, self.im2col_step)
+ else:
+ output = multi_scale_deformable_attn_pytorch(
+ value, spatial_shapes, sampling_locations, attention_weights)
+
+ output = self.output_proj(output)
+
+ if not self.batch_first:
+ # (num_query, bs ,embed_dims)
+ output = output.permute(1, 0, 2)
+
+ return self.dropout(output) + identity
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/nms.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/nms.py
new file mode 100644
index 0000000000000000000000000000000000000000..908ac66645eef29fb55fce82497eb9f6af1a2667
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/nms.py
@@ -0,0 +1,417 @@
+import os
+
+import numpy as np
+import torch
+
+from annotator.mmpkg.mmcv.utils import deprecated_api_warning
+from ..utils import ext_loader
+
+ext_module = ext_loader.load_ext(
+ '_ext', ['nms', 'softnms', 'nms_match', 'nms_rotated'])
+
+
+# This function is modified from: https://github.com/pytorch/vision/
+class NMSop(torch.autograd.Function):
+
+ @staticmethod
+ def forward(ctx, bboxes, scores, iou_threshold, offset, score_threshold,
+ max_num):
+ is_filtering_by_score = score_threshold > 0
+ if is_filtering_by_score:
+ valid_mask = scores > score_threshold
+ bboxes, scores = bboxes[valid_mask], scores[valid_mask]
+ valid_inds = torch.nonzero(
+ valid_mask, as_tuple=False).squeeze(dim=1)
+
+ inds = ext_module.nms(
+ bboxes, scores, iou_threshold=float(iou_threshold), offset=offset)
+
+ if max_num > 0:
+ inds = inds[:max_num]
+ if is_filtering_by_score:
+ inds = valid_inds[inds]
+ return inds
+
+ @staticmethod
+ def symbolic(g, bboxes, scores, iou_threshold, offset, score_threshold,
+ max_num):
+ from ..onnx import is_custom_op_loaded
+ has_custom_op = is_custom_op_loaded()
+ # TensorRT nms plugin is aligned with original nms in ONNXRuntime
+ is_trt_backend = os.environ.get('ONNX_BACKEND') == 'MMCVTensorRT'
+ if has_custom_op and (not is_trt_backend):
+ return g.op(
+ 'mmcv::NonMaxSuppression',
+ bboxes,
+ scores,
+ iou_threshold_f=float(iou_threshold),
+ offset_i=int(offset))
+ else:
+ from torch.onnx.symbolic_opset9 import select, squeeze, unsqueeze
+ from ..onnx.onnx_utils.symbolic_helper import _size_helper
+
+ boxes = unsqueeze(g, bboxes, 0)
+ scores = unsqueeze(g, unsqueeze(g, scores, 0), 0)
+
+ if max_num > 0:
+ max_num = g.op(
+ 'Constant',
+ value_t=torch.tensor(max_num, dtype=torch.long))
+ else:
+ dim = g.op('Constant', value_t=torch.tensor(0))
+ max_num = _size_helper(g, bboxes, dim)
+ max_output_per_class = max_num
+ iou_threshold = g.op(
+ 'Constant',
+ value_t=torch.tensor([iou_threshold], dtype=torch.float))
+ score_threshold = g.op(
+ 'Constant',
+ value_t=torch.tensor([score_threshold], dtype=torch.float))
+ nms_out = g.op('NonMaxSuppression', boxes, scores,
+ max_output_per_class, iou_threshold,
+ score_threshold)
+ return squeeze(
+ g,
+ select(
+ g, nms_out, 1,
+ g.op(
+ 'Constant',
+ value_t=torch.tensor([2], dtype=torch.long))), 1)
+
+
+class SoftNMSop(torch.autograd.Function):
+
+ @staticmethod
+ def forward(ctx, boxes, scores, iou_threshold, sigma, min_score, method,
+ offset):
+ dets = boxes.new_empty((boxes.size(0), 5), device='cpu')
+ inds = ext_module.softnms(
+ boxes.cpu(),
+ scores.cpu(),
+ dets.cpu(),
+ iou_threshold=float(iou_threshold),
+ sigma=float(sigma),
+ min_score=float(min_score),
+ method=int(method),
+ offset=int(offset))
+ return dets, inds
+
+ @staticmethod
+ def symbolic(g, boxes, scores, iou_threshold, sigma, min_score, method,
+ offset):
+ from packaging import version
+ assert version.parse(torch.__version__) >= version.parse('1.7.0')
+ nms_out = g.op(
+ 'mmcv::SoftNonMaxSuppression',
+ boxes,
+ scores,
+ iou_threshold_f=float(iou_threshold),
+ sigma_f=float(sigma),
+ min_score_f=float(min_score),
+ method_i=int(method),
+ offset_i=int(offset),
+ outputs=2)
+ return nms_out
+
+
+@deprecated_api_warning({'iou_thr': 'iou_threshold'})
+def nms(boxes, scores, iou_threshold, offset=0, score_threshold=0, max_num=-1):
+ """Dispatch to either CPU or GPU NMS implementations.
+
+ The input can be either torch tensor or numpy array. GPU NMS will be used
+ if the input is gpu tensor, otherwise CPU NMS
+ will be used. The returned type will always be the same as inputs.
+
+ Arguments:
+ boxes (torch.Tensor or np.ndarray): boxes in shape (N, 4).
+ scores (torch.Tensor or np.ndarray): scores in shape (N, ).
+ iou_threshold (float): IoU threshold for NMS.
+ offset (int, 0 or 1): boxes' width or height is (x2 - x1 + offset).
+ score_threshold (float): score threshold for NMS.
+ max_num (int): maximum number of boxes after NMS.
+
+ Returns:
+ tuple: kept dets(boxes and scores) and indice, which is always the \
+ same data type as the input.
+
+ Example:
+ >>> boxes = np.array([[49.1, 32.4, 51.0, 35.9],
+ >>> [49.3, 32.9, 51.0, 35.3],
+ >>> [49.2, 31.8, 51.0, 35.4],
+ >>> [35.1, 11.5, 39.1, 15.7],
+ >>> [35.6, 11.8, 39.3, 14.2],
+ >>> [35.3, 11.5, 39.9, 14.5],
+ >>> [35.2, 11.7, 39.7, 15.7]], dtype=np.float32)
+ >>> scores = np.array([0.9, 0.9, 0.5, 0.5, 0.5, 0.4, 0.3],\
+ dtype=np.float32)
+ >>> iou_threshold = 0.6
+ >>> dets, inds = nms(boxes, scores, iou_threshold)
+ >>> assert len(inds) == len(dets) == 3
+ """
+ assert isinstance(boxes, (torch.Tensor, np.ndarray))
+ assert isinstance(scores, (torch.Tensor, np.ndarray))
+ is_numpy = False
+ if isinstance(boxes, np.ndarray):
+ is_numpy = True
+ boxes = torch.from_numpy(boxes)
+ if isinstance(scores, np.ndarray):
+ scores = torch.from_numpy(scores)
+ assert boxes.size(1) == 4
+ assert boxes.size(0) == scores.size(0)
+ assert offset in (0, 1)
+
+ if torch.__version__ == 'parrots':
+ indata_list = [boxes, scores]
+ indata_dict = {
+ 'iou_threshold': float(iou_threshold),
+ 'offset': int(offset)
+ }
+ inds = ext_module.nms(*indata_list, **indata_dict)
+ else:
+ inds = NMSop.apply(boxes, scores, iou_threshold, offset,
+ score_threshold, max_num)
+ dets = torch.cat((boxes[inds], scores[inds].reshape(-1, 1)), dim=1)
+ if is_numpy:
+ dets = dets.cpu().numpy()
+ inds = inds.cpu().numpy()
+ return dets, inds
+
+
+@deprecated_api_warning({'iou_thr': 'iou_threshold'})
+def soft_nms(boxes,
+ scores,
+ iou_threshold=0.3,
+ sigma=0.5,
+ min_score=1e-3,
+ method='linear',
+ offset=0):
+ """Dispatch to only CPU Soft NMS implementations.
+
+ The input can be either a torch tensor or numpy array.
+ The returned type will always be the same as inputs.
+
+ Arguments:
+ boxes (torch.Tensor or np.ndarray): boxes in shape (N, 4).
+ scores (torch.Tensor or np.ndarray): scores in shape (N, ).
+ iou_threshold (float): IoU threshold for NMS.
+ sigma (float): hyperparameter for gaussian method
+ min_score (float): score filter threshold
+ method (str): either 'linear' or 'gaussian'
+ offset (int, 0 or 1): boxes' width or height is (x2 - x1 + offset).
+
+ Returns:
+ tuple: kept dets(boxes and scores) and indice, which is always the \
+ same data type as the input.
+
+ Example:
+ >>> boxes = np.array([[4., 3., 5., 3.],
+ >>> [4., 3., 5., 4.],
+ >>> [3., 1., 3., 1.],
+ >>> [3., 1., 3., 1.],
+ >>> [3., 1., 3., 1.],
+ >>> [3., 1., 3., 1.]], dtype=np.float32)
+ >>> scores = np.array([0.9, 0.9, 0.5, 0.5, 0.4, 0.0], dtype=np.float32)
+ >>> iou_threshold = 0.6
+ >>> dets, inds = soft_nms(boxes, scores, iou_threshold, sigma=0.5)
+ >>> assert len(inds) == len(dets) == 5
+ """
+
+ assert isinstance(boxes, (torch.Tensor, np.ndarray))
+ assert isinstance(scores, (torch.Tensor, np.ndarray))
+ is_numpy = False
+ if isinstance(boxes, np.ndarray):
+ is_numpy = True
+ boxes = torch.from_numpy(boxes)
+ if isinstance(scores, np.ndarray):
+ scores = torch.from_numpy(scores)
+ assert boxes.size(1) == 4
+ assert boxes.size(0) == scores.size(0)
+ assert offset in (0, 1)
+ method_dict = {'naive': 0, 'linear': 1, 'gaussian': 2}
+ assert method in method_dict.keys()
+
+ if torch.__version__ == 'parrots':
+ dets = boxes.new_empty((boxes.size(0), 5), device='cpu')
+ indata_list = [boxes.cpu(), scores.cpu(), dets.cpu()]
+ indata_dict = {
+ 'iou_threshold': float(iou_threshold),
+ 'sigma': float(sigma),
+ 'min_score': min_score,
+ 'method': method_dict[method],
+ 'offset': int(offset)
+ }
+ inds = ext_module.softnms(*indata_list, **indata_dict)
+ else:
+ dets, inds = SoftNMSop.apply(boxes.cpu(), scores.cpu(),
+ float(iou_threshold), float(sigma),
+ float(min_score), method_dict[method],
+ int(offset))
+
+ dets = dets[:inds.size(0)]
+
+ if is_numpy:
+ dets = dets.cpu().numpy()
+ inds = inds.cpu().numpy()
+ return dets, inds
+ else:
+ return dets.to(device=boxes.device), inds.to(device=boxes.device)
+
+
+def batched_nms(boxes, scores, idxs, nms_cfg, class_agnostic=False):
+ """Performs non-maximum suppression in a batched fashion.
+
+ Modified from https://github.com/pytorch/vision/blob
+ /505cd6957711af790211896d32b40291bea1bc21/torchvision/ops/boxes.py#L39.
+ In order to perform NMS independently per class, we add an offset to all
+ the boxes. The offset is dependent only on the class idx, and is large
+ enough so that boxes from different classes do not overlap.
+
+ Arguments:
+ boxes (torch.Tensor): boxes in shape (N, 4).
+ scores (torch.Tensor): scores in shape (N, ).
+ idxs (torch.Tensor): each index value correspond to a bbox cluster,
+ and NMS will not be applied between elements of different idxs,
+ shape (N, ).
+ nms_cfg (dict): specify nms type and other parameters like iou_thr.
+ Possible keys includes the following.
+
+ - iou_thr (float): IoU threshold used for NMS.
+ - split_thr (float): threshold number of boxes. In some cases the
+ number of boxes is large (e.g., 200k). To avoid OOM during
+ training, the users could set `split_thr` to a small value.
+ If the number of boxes is greater than the threshold, it will
+ perform NMS on each group of boxes separately and sequentially.
+ Defaults to 10000.
+ class_agnostic (bool): if true, nms is class agnostic,
+ i.e. IoU thresholding happens over all boxes,
+ regardless of the predicted class.
+
+ Returns:
+ tuple: kept dets and indice.
+ """
+ nms_cfg_ = nms_cfg.copy()
+ class_agnostic = nms_cfg_.pop('class_agnostic', class_agnostic)
+ if class_agnostic:
+ boxes_for_nms = boxes
+ else:
+ max_coordinate = boxes.max()
+ offsets = idxs.to(boxes) * (max_coordinate + torch.tensor(1).to(boxes))
+ boxes_for_nms = boxes + offsets[:, None]
+
+ nms_type = nms_cfg_.pop('type', 'nms')
+ nms_op = eval(nms_type)
+
+ split_thr = nms_cfg_.pop('split_thr', 10000)
+ # Won't split to multiple nms nodes when exporting to onnx
+ if boxes_for_nms.shape[0] < split_thr or torch.onnx.is_in_onnx_export():
+ dets, keep = nms_op(boxes_for_nms, scores, **nms_cfg_)
+ boxes = boxes[keep]
+ # -1 indexing works abnormal in TensorRT
+ # This assumes `dets` has 5 dimensions where
+ # the last dimension is score.
+ # TODO: more elegant way to handle the dimension issue.
+ # Some type of nms would reweight the score, such as SoftNMS
+ scores = dets[:, 4]
+ else:
+ max_num = nms_cfg_.pop('max_num', -1)
+ total_mask = scores.new_zeros(scores.size(), dtype=torch.bool)
+ # Some type of nms would reweight the score, such as SoftNMS
+ scores_after_nms = scores.new_zeros(scores.size())
+ for id in torch.unique(idxs):
+ mask = (idxs == id).nonzero(as_tuple=False).view(-1)
+ dets, keep = nms_op(boxes_for_nms[mask], scores[mask], **nms_cfg_)
+ total_mask[mask[keep]] = True
+ scores_after_nms[mask[keep]] = dets[:, -1]
+ keep = total_mask.nonzero(as_tuple=False).view(-1)
+
+ scores, inds = scores_after_nms[keep].sort(descending=True)
+ keep = keep[inds]
+ boxes = boxes[keep]
+
+ if max_num > 0:
+ keep = keep[:max_num]
+ boxes = boxes[:max_num]
+ scores = scores[:max_num]
+
+ return torch.cat([boxes, scores[:, None]], -1), keep
+
+
+def nms_match(dets, iou_threshold):
+ """Matched dets into different groups by NMS.
+
+ NMS match is Similar to NMS but when a bbox is suppressed, nms match will
+ record the indice of suppressed bbox and form a group with the indice of
+ kept bbox. In each group, indice is sorted as score order.
+
+ Arguments:
+ dets (torch.Tensor | np.ndarray): Det boxes with scores, shape (N, 5).
+ iou_thr (float): IoU thresh for NMS.
+
+ Returns:
+ List[torch.Tensor | np.ndarray]: The outer list corresponds different
+ matched group, the inner Tensor corresponds the indices for a group
+ in score order.
+ """
+ if dets.shape[0] == 0:
+ matched = []
+ else:
+ assert dets.shape[-1] == 5, 'inputs dets.shape should be (N, 5), ' \
+ f'but get {dets.shape}'
+ if isinstance(dets, torch.Tensor):
+ dets_t = dets.detach().cpu()
+ else:
+ dets_t = torch.from_numpy(dets)
+ indata_list = [dets_t]
+ indata_dict = {'iou_threshold': float(iou_threshold)}
+ matched = ext_module.nms_match(*indata_list, **indata_dict)
+ if torch.__version__ == 'parrots':
+ matched = matched.tolist()
+
+ if isinstance(dets, torch.Tensor):
+ return [dets.new_tensor(m, dtype=torch.long) for m in matched]
+ else:
+ return [np.array(m, dtype=np.int) for m in matched]
+
+
+def nms_rotated(dets, scores, iou_threshold, labels=None):
+ """Performs non-maximum suppression (NMS) on the rotated boxes according to
+ their intersection-over-union (IoU).
+
+ Rotated NMS iteratively removes lower scoring rotated boxes which have an
+ IoU greater than iou_threshold with another (higher scoring) rotated box.
+
+ Args:
+ boxes (Tensor): Rotated boxes in shape (N, 5). They are expected to \
+ be in (x_ctr, y_ctr, width, height, angle_radian) format.
+ scores (Tensor): scores in shape (N, ).
+ iou_threshold (float): IoU thresh for NMS.
+ labels (Tensor): boxes' label in shape (N,).
+
+ Returns:
+ tuple: kept dets(boxes and scores) and indice, which is always the \
+ same data type as the input.
+ """
+ if dets.shape[0] == 0:
+ return dets, None
+ multi_label = labels is not None
+ if multi_label:
+ dets_wl = torch.cat((dets, labels.unsqueeze(1)), 1)
+ else:
+ dets_wl = dets
+ _, order = scores.sort(0, descending=True)
+ dets_sorted = dets_wl.index_select(0, order)
+
+ if torch.__version__ == 'parrots':
+ keep_inds = ext_module.nms_rotated(
+ dets_wl,
+ scores,
+ order,
+ dets_sorted,
+ iou_threshold=iou_threshold,
+ multi_label=multi_label)
+ else:
+ keep_inds = ext_module.nms_rotated(dets_wl, scores, order, dets_sorted,
+ iou_threshold, multi_label)
+ dets = torch.cat((dets[keep_inds], scores[keep_inds].reshape(-1, 1)),
+ dim=1)
+ return dets, keep_inds
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/pixel_group.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/pixel_group.py
new file mode 100644
index 0000000000000000000000000000000000000000..2143c75f835a467c802fc3c37ecd3ac0f85bcda4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/pixel_group.py
@@ -0,0 +1,75 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import numpy as np
+import torch
+
+from ..utils import ext_loader
+
+ext_module = ext_loader.load_ext('_ext', ['pixel_group'])
+
+
+def pixel_group(score, mask, embedding, kernel_label, kernel_contour,
+ kernel_region_num, distance_threshold):
+ """Group pixels into text instances, which is widely used text detection
+ methods.
+
+ Arguments:
+ score (np.array or Tensor): The foreground score with size hxw.
+ mask (np.array or Tensor): The foreground mask with size hxw.
+ embedding (np.array or Tensor): The embedding with size hxwxc to
+ distinguish instances.
+ kernel_label (np.array or Tensor): The instance kernel index with
+ size hxw.
+ kernel_contour (np.array or Tensor): The kernel contour with size hxw.
+ kernel_region_num (int): The instance kernel region number.
+ distance_threshold (float): The embedding distance threshold between
+ kernel and pixel in one instance.
+
+ Returns:
+ pixel_assignment (List[List[float]]): The instance coordinate list.
+ Each element consists of averaged confidence, pixel number, and
+ coordinates (x_i, y_i for all pixels) in order.
+ """
+ assert isinstance(score, (torch.Tensor, np.ndarray))
+ assert isinstance(mask, (torch.Tensor, np.ndarray))
+ assert isinstance(embedding, (torch.Tensor, np.ndarray))
+ assert isinstance(kernel_label, (torch.Tensor, np.ndarray))
+ assert isinstance(kernel_contour, (torch.Tensor, np.ndarray))
+ assert isinstance(kernel_region_num, int)
+ assert isinstance(distance_threshold, float)
+
+ if isinstance(score, np.ndarray):
+ score = torch.from_numpy(score)
+ if isinstance(mask, np.ndarray):
+ mask = torch.from_numpy(mask)
+ if isinstance(embedding, np.ndarray):
+ embedding = torch.from_numpy(embedding)
+ if isinstance(kernel_label, np.ndarray):
+ kernel_label = torch.from_numpy(kernel_label)
+ if isinstance(kernel_contour, np.ndarray):
+ kernel_contour = torch.from_numpy(kernel_contour)
+
+ if torch.__version__ == 'parrots':
+ label = ext_module.pixel_group(
+ score,
+ mask,
+ embedding,
+ kernel_label,
+ kernel_contour,
+ kernel_region_num=kernel_region_num,
+ distance_threshold=distance_threshold)
+ label = label.tolist()
+ label = label[0]
+ list_index = kernel_region_num
+ pixel_assignment = []
+ for x in range(kernel_region_num):
+ pixel_assignment.append(
+ np.array(
+ label[list_index:list_index + int(label[x])],
+ dtype=np.float))
+ list_index = list_index + int(label[x])
+ else:
+ pixel_assignment = ext_module.pixel_group(score, mask, embedding,
+ kernel_label, kernel_contour,
+ kernel_region_num,
+ distance_threshold)
+ return pixel_assignment
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/point_sample.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/point_sample.py
new file mode 100644
index 0000000000000000000000000000000000000000..08b1617805fa84e1c8afc61f3263b4b86bd2a136
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/point_sample.py
@@ -0,0 +1,336 @@
+# Modified from https://github.com/facebookresearch/detectron2/tree/master/projects/PointRend # noqa
+
+from os import path as osp
+
+import torch
+import torch.nn as nn
+import torch.nn.functional as F
+from torch.nn.modules.utils import _pair
+from torch.onnx.operators import shape_as_tensor
+
+
+def bilinear_grid_sample(im, grid, align_corners=False):
+ """Given an input and a flow-field grid, computes the output using input
+ values and pixel locations from grid. Supported only bilinear interpolation
+ method to sample the input pixels.
+
+ Args:
+ im (torch.Tensor): Input feature map, shape (N, C, H, W)
+ grid (torch.Tensor): Point coordinates, shape (N, Hg, Wg, 2)
+ align_corners {bool}: If set to True, the extrema (-1 and 1) are
+ considered as referring to the center points of the input’s
+ corner pixels. If set to False, they are instead considered as
+ referring to the corner points of the input’s corner pixels,
+ making the sampling more resolution agnostic.
+ Returns:
+ torch.Tensor: A tensor with sampled points, shape (N, C, Hg, Wg)
+ """
+ n, c, h, w = im.shape
+ gn, gh, gw, _ = grid.shape
+ assert n == gn
+
+ x = grid[:, :, :, 0]
+ y = grid[:, :, :, 1]
+
+ if align_corners:
+ x = ((x + 1) / 2) * (w - 1)
+ y = ((y + 1) / 2) * (h - 1)
+ else:
+ x = ((x + 1) * w - 1) / 2
+ y = ((y + 1) * h - 1) / 2
+
+ x = x.view(n, -1)
+ y = y.view(n, -1)
+
+ x0 = torch.floor(x).long()
+ y0 = torch.floor(y).long()
+ x1 = x0 + 1
+ y1 = y0 + 1
+
+ wa = ((x1 - x) * (y1 - y)).unsqueeze(1)
+ wb = ((x1 - x) * (y - y0)).unsqueeze(1)
+ wc = ((x - x0) * (y1 - y)).unsqueeze(1)
+ wd = ((x - x0) * (y - y0)).unsqueeze(1)
+
+ # Apply default for grid_sample function zero padding
+ im_padded = F.pad(im, pad=[1, 1, 1, 1], mode='constant', value=0)
+ padded_h = h + 2
+ padded_w = w + 2
+ # save points positions after padding
+ x0, x1, y0, y1 = x0 + 1, x1 + 1, y0 + 1, y1 + 1
+
+ # Clip coordinates to padded image size
+ x0 = torch.where(x0 < 0, torch.tensor(0), x0)
+ x0 = torch.where(x0 > padded_w - 1, torch.tensor(padded_w - 1), x0)
+ x1 = torch.where(x1 < 0, torch.tensor(0), x1)
+ x1 = torch.where(x1 > padded_w - 1, torch.tensor(padded_w - 1), x1)
+ y0 = torch.where(y0 < 0, torch.tensor(0), y0)
+ y0 = torch.where(y0 > padded_h - 1, torch.tensor(padded_h - 1), y0)
+ y1 = torch.where(y1 < 0, torch.tensor(0), y1)
+ y1 = torch.where(y1 > padded_h - 1, torch.tensor(padded_h - 1), y1)
+
+ im_padded = im_padded.view(n, c, -1)
+
+ x0_y0 = (x0 + y0 * padded_w).unsqueeze(1).expand(-1, c, -1)
+ x0_y1 = (x0 + y1 * padded_w).unsqueeze(1).expand(-1, c, -1)
+ x1_y0 = (x1 + y0 * padded_w).unsqueeze(1).expand(-1, c, -1)
+ x1_y1 = (x1 + y1 * padded_w).unsqueeze(1).expand(-1, c, -1)
+
+ Ia = torch.gather(im_padded, 2, x0_y0)
+ Ib = torch.gather(im_padded, 2, x0_y1)
+ Ic = torch.gather(im_padded, 2, x1_y0)
+ Id = torch.gather(im_padded, 2, x1_y1)
+
+ return (Ia * wa + Ib * wb + Ic * wc + Id * wd).reshape(n, c, gh, gw)
+
+
+def is_in_onnx_export_without_custom_ops():
+ from annotator.mmpkg.mmcv.ops import get_onnxruntime_op_path
+ ort_custom_op_path = get_onnxruntime_op_path()
+ return torch.onnx.is_in_onnx_export(
+ ) and not osp.exists(ort_custom_op_path)
+
+
+def normalize(grid):
+ """Normalize input grid from [-1, 1] to [0, 1]
+ Args:
+ grid (Tensor): The grid to be normalize, range [-1, 1].
+ Returns:
+ Tensor: Normalized grid, range [0, 1].
+ """
+
+ return (grid + 1.0) / 2.0
+
+
+def denormalize(grid):
+ """Denormalize input grid from range [0, 1] to [-1, 1]
+ Args:
+ grid (Tensor): The grid to be denormalize, range [0, 1].
+ Returns:
+ Tensor: Denormalized grid, range [-1, 1].
+ """
+
+ return grid * 2.0 - 1.0
+
+
+def generate_grid(num_grid, size, device):
+ """Generate regular square grid of points in [0, 1] x [0, 1] coordinate
+ space.
+
+ Args:
+ num_grid (int): The number of grids to sample, one for each region.
+ size (tuple(int, int)): The side size of the regular grid.
+ device (torch.device): Desired device of returned tensor.
+
+ Returns:
+ (torch.Tensor): A tensor of shape (num_grid, size[0]*size[1], 2) that
+ contains coordinates for the regular grids.
+ """
+
+ affine_trans = torch.tensor([[[1., 0., 0.], [0., 1., 0.]]], device=device)
+ grid = F.affine_grid(
+ affine_trans, torch.Size((1, 1, *size)), align_corners=False)
+ grid = normalize(grid)
+ return grid.view(1, -1, 2).expand(num_grid, -1, -1)
+
+
+def rel_roi_point_to_abs_img_point(rois, rel_roi_points):
+ """Convert roi based relative point coordinates to image based absolute
+ point coordinates.
+
+ Args:
+ rois (Tensor): RoIs or BBoxes, shape (N, 4) or (N, 5)
+ rel_roi_points (Tensor): Point coordinates inside RoI, relative to
+ RoI, location, range (0, 1), shape (N, P, 2)
+ Returns:
+ Tensor: Image based absolute point coordinates, shape (N, P, 2)
+ """
+
+ with torch.no_grad():
+ assert rel_roi_points.size(0) == rois.size(0)
+ assert rois.dim() == 2
+ assert rel_roi_points.dim() == 3
+ assert rel_roi_points.size(2) == 2
+ # remove batch idx
+ if rois.size(1) == 5:
+ rois = rois[:, 1:]
+ abs_img_points = rel_roi_points.clone()
+ # To avoid an error during exporting to onnx use independent
+ # variables instead inplace computation
+ xs = abs_img_points[:, :, 0] * (rois[:, None, 2] - rois[:, None, 0])
+ ys = abs_img_points[:, :, 1] * (rois[:, None, 3] - rois[:, None, 1])
+ xs += rois[:, None, 0]
+ ys += rois[:, None, 1]
+ abs_img_points = torch.stack([xs, ys], dim=2)
+ return abs_img_points
+
+
+def get_shape_from_feature_map(x):
+ """Get spatial resolution of input feature map considering exporting to
+ onnx mode.
+
+ Args:
+ x (torch.Tensor): Input tensor, shape (N, C, H, W)
+ Returns:
+ torch.Tensor: Spatial resolution (width, height), shape (1, 1, 2)
+ """
+ if torch.onnx.is_in_onnx_export():
+ img_shape = shape_as_tensor(x)[2:].flip(0).view(1, 1, 2).to(
+ x.device).float()
+ else:
+ img_shape = torch.tensor(x.shape[2:]).flip(0).view(1, 1, 2).to(
+ x.device).float()
+ return img_shape
+
+
+def abs_img_point_to_rel_img_point(abs_img_points, img, spatial_scale=1.):
+ """Convert image based absolute point coordinates to image based relative
+ coordinates for sampling.
+
+ Args:
+ abs_img_points (Tensor): Image based absolute point coordinates,
+ shape (N, P, 2)
+ img (tuple/Tensor): (height, width) of image or feature map.
+ spatial_scale (float): Scale points by this factor. Default: 1.
+
+ Returns:
+ Tensor: Image based relative point coordinates for sampling,
+ shape (N, P, 2)
+ """
+
+ assert (isinstance(img, tuple) and len(img) == 2) or \
+ (isinstance(img, torch.Tensor) and len(img.shape) == 4)
+
+ if isinstance(img, tuple):
+ h, w = img
+ scale = torch.tensor([w, h],
+ dtype=torch.float,
+ device=abs_img_points.device)
+ scale = scale.view(1, 1, 2)
+ else:
+ scale = get_shape_from_feature_map(img)
+
+ return abs_img_points / scale * spatial_scale
+
+
+def rel_roi_point_to_rel_img_point(rois,
+ rel_roi_points,
+ img,
+ spatial_scale=1.):
+ """Convert roi based relative point coordinates to image based absolute
+ point coordinates.
+
+ Args:
+ rois (Tensor): RoIs or BBoxes, shape (N, 4) or (N, 5)
+ rel_roi_points (Tensor): Point coordinates inside RoI, relative to
+ RoI, location, range (0, 1), shape (N, P, 2)
+ img (tuple/Tensor): (height, width) of image or feature map.
+ spatial_scale (float): Scale points by this factor. Default: 1.
+
+ Returns:
+ Tensor: Image based relative point coordinates for sampling,
+ shape (N, P, 2)
+ """
+
+ abs_img_point = rel_roi_point_to_abs_img_point(rois, rel_roi_points)
+ rel_img_point = abs_img_point_to_rel_img_point(abs_img_point, img,
+ spatial_scale)
+
+ return rel_img_point
+
+
+def point_sample(input, points, align_corners=False, **kwargs):
+ """A wrapper around :func:`grid_sample` to support 3D point_coords tensors
+ Unlike :func:`torch.nn.functional.grid_sample` it assumes point_coords to
+ lie inside ``[0, 1] x [0, 1]`` square.
+
+ Args:
+ input (Tensor): Feature map, shape (N, C, H, W).
+ points (Tensor): Image based absolute point coordinates (normalized),
+ range [0, 1] x [0, 1], shape (N, P, 2) or (N, Hgrid, Wgrid, 2).
+ align_corners (bool): Whether align_corners. Default: False
+
+ Returns:
+ Tensor: Features of `point` on `input`, shape (N, C, P) or
+ (N, C, Hgrid, Wgrid).
+ """
+
+ add_dim = False
+ if points.dim() == 3:
+ add_dim = True
+ points = points.unsqueeze(2)
+ if is_in_onnx_export_without_custom_ops():
+ # If custom ops for onnx runtime not compiled use python
+ # implementation of grid_sample function to make onnx graph
+ # with supported nodes
+ output = bilinear_grid_sample(
+ input, denormalize(points), align_corners=align_corners)
+ else:
+ output = F.grid_sample(
+ input, denormalize(points), align_corners=align_corners, **kwargs)
+ if add_dim:
+ output = output.squeeze(3)
+ return output
+
+
+class SimpleRoIAlign(nn.Module):
+
+ def __init__(self, output_size, spatial_scale, aligned=True):
+ """Simple RoI align in PointRend, faster than standard RoIAlign.
+
+ Args:
+ output_size (tuple[int]): h, w
+ spatial_scale (float): scale the input boxes by this number
+ aligned (bool): if False, use the legacy implementation in
+ MMDetection, align_corners=True will be used in F.grid_sample.
+ If True, align the results more perfectly.
+ """
+
+ super(SimpleRoIAlign, self).__init__()
+ self.output_size = _pair(output_size)
+ self.spatial_scale = float(spatial_scale)
+ # to be consistent with other RoI ops
+ self.use_torchvision = False
+ self.aligned = aligned
+
+ def forward(self, features, rois):
+ num_imgs = features.size(0)
+ num_rois = rois.size(0)
+ rel_roi_points = generate_grid(
+ num_rois, self.output_size, device=rois.device)
+
+ if torch.onnx.is_in_onnx_export():
+ rel_img_points = rel_roi_point_to_rel_img_point(
+ rois, rel_roi_points, features, self.spatial_scale)
+ rel_img_points = rel_img_points.reshape(num_imgs, -1,
+ *rel_img_points.shape[1:])
+ point_feats = point_sample(
+ features, rel_img_points, align_corners=not self.aligned)
+ point_feats = point_feats.transpose(1, 2)
+ else:
+ point_feats = []
+ for batch_ind in range(num_imgs):
+ # unravel batch dim
+ feat = features[batch_ind].unsqueeze(0)
+ inds = (rois[:, 0].long() == batch_ind)
+ if inds.any():
+ rel_img_points = rel_roi_point_to_rel_img_point(
+ rois[inds], rel_roi_points[inds], feat,
+ self.spatial_scale).unsqueeze(0)
+ point_feat = point_sample(
+ feat, rel_img_points, align_corners=not self.aligned)
+ point_feat = point_feat.squeeze(0).transpose(0, 1)
+ point_feats.append(point_feat)
+
+ point_feats = torch.cat(point_feats, dim=0)
+
+ channels = features.size(1)
+ roi_feats = point_feats.reshape(num_rois, channels, *self.output_size)
+
+ return roi_feats
+
+ def __repr__(self):
+ format_str = self.__class__.__name__
+ format_str += '(output_size={}, spatial_scale={}'.format(
+ self.output_size, self.spatial_scale)
+ return format_str
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/points_in_boxes.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/points_in_boxes.py
new file mode 100644
index 0000000000000000000000000000000000000000..4003173a53052161dbcd687a2fa1d755642fdab8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/points_in_boxes.py
@@ -0,0 +1,133 @@
+import torch
+
+from ..utils import ext_loader
+
+ext_module = ext_loader.load_ext('_ext', [
+ 'points_in_boxes_part_forward', 'points_in_boxes_cpu_forward',
+ 'points_in_boxes_all_forward'
+])
+
+
+def points_in_boxes_part(points, boxes):
+ """Find the box in which each point is (CUDA).
+
+ Args:
+ points (torch.Tensor): [B, M, 3], [x, y, z] in LiDAR/DEPTH coordinate
+ boxes (torch.Tensor): [B, T, 7],
+ num_valid_boxes <= T, [x, y, z, x_size, y_size, z_size, rz] in
+ LiDAR/DEPTH coordinate, (x, y, z) is the bottom center
+
+ Returns:
+ box_idxs_of_pts (torch.Tensor): (B, M), default background = -1
+ """
+ assert points.shape[0] == boxes.shape[0], \
+ 'Points and boxes should have the same batch size, ' \
+ f'but got {points.shape[0]} and {boxes.shape[0]}'
+ assert boxes.shape[2] == 7, \
+ 'boxes dimension should be 7, ' \
+ f'but got unexpected shape {boxes.shape[2]}'
+ assert points.shape[2] == 3, \
+ 'points dimension should be 3, ' \
+ f'but got unexpected shape {points.shape[2]}'
+ batch_size, num_points, _ = points.shape
+
+ box_idxs_of_pts = points.new_zeros((batch_size, num_points),
+ dtype=torch.int).fill_(-1)
+
+ # If manually put the tensor 'points' or 'boxes' on a device
+ # which is not the current device, some temporary variables
+ # will be created on the current device in the cuda op,
+ # and the output will be incorrect.
+ # Therefore, we force the current device to be the same
+ # as the device of the tensors if it was not.
+ # Please refer to https://github.com/open-mmlab/mmdetection3d/issues/305
+ # for the incorrect output before the fix.
+ points_device = points.get_device()
+ assert points_device == boxes.get_device(), \
+ 'Points and boxes should be put on the same device'
+ if torch.cuda.current_device() != points_device:
+ torch.cuda.set_device(points_device)
+
+ ext_module.points_in_boxes_part_forward(boxes.contiguous(),
+ points.contiguous(),
+ box_idxs_of_pts)
+
+ return box_idxs_of_pts
+
+
+def points_in_boxes_cpu(points, boxes):
+ """Find all boxes in which each point is (CPU). The CPU version of
+ :meth:`points_in_boxes_all`.
+
+ Args:
+ points (torch.Tensor): [B, M, 3], [x, y, z] in
+ LiDAR/DEPTH coordinate
+ boxes (torch.Tensor): [B, T, 7],
+ num_valid_boxes <= T, [x, y, z, x_size, y_size, z_size, rz],
+ (x, y, z) is the bottom center.
+
+ Returns:
+ box_idxs_of_pts (torch.Tensor): (B, M, T), default background = 0.
+ """
+ assert points.shape[0] == boxes.shape[0], \
+ 'Points and boxes should have the same batch size, ' \
+ f'but got {points.shape[0]} and {boxes.shape[0]}'
+ assert boxes.shape[2] == 7, \
+ 'boxes dimension should be 7, ' \
+ f'but got unexpected shape {boxes.shape[2]}'
+ assert points.shape[2] == 3, \
+ 'points dimension should be 3, ' \
+ f'but got unexpected shape {points.shape[2]}'
+ batch_size, num_points, _ = points.shape
+ num_boxes = boxes.shape[1]
+
+ point_indices = points.new_zeros((batch_size, num_boxes, num_points),
+ dtype=torch.int)
+ for b in range(batch_size):
+ ext_module.points_in_boxes_cpu_forward(boxes[b].float().contiguous(),
+ points[b].float().contiguous(),
+ point_indices[b])
+ point_indices = point_indices.transpose(1, 2)
+
+ return point_indices
+
+
+def points_in_boxes_all(points, boxes):
+ """Find all boxes in which each point is (CUDA).
+
+ Args:
+ points (torch.Tensor): [B, M, 3], [x, y, z] in LiDAR/DEPTH coordinate
+ boxes (torch.Tensor): [B, T, 7],
+ num_valid_boxes <= T, [x, y, z, x_size, y_size, z_size, rz],
+ (x, y, z) is the bottom center.
+
+ Returns:
+ box_idxs_of_pts (torch.Tensor): (B, M, T), default background = 0.
+ """
+ assert boxes.shape[0] == points.shape[0], \
+ 'Points and boxes should have the same batch size, ' \
+ f'but got {boxes.shape[0]} and {boxes.shape[0]}'
+ assert boxes.shape[2] == 7, \
+ 'boxes dimension should be 7, ' \
+ f'but got unexpected shape {boxes.shape[2]}'
+ assert points.shape[2] == 3, \
+ 'points dimension should be 3, ' \
+ f'but got unexpected shape {points.shape[2]}'
+ batch_size, num_points, _ = points.shape
+ num_boxes = boxes.shape[1]
+
+ box_idxs_of_pts = points.new_zeros((batch_size, num_points, num_boxes),
+ dtype=torch.int).fill_(0)
+
+ # Same reason as line 25-32
+ points_device = points.get_device()
+ assert points_device == boxes.get_device(), \
+ 'Points and boxes should be put on the same device'
+ if torch.cuda.current_device() != points_device:
+ torch.cuda.set_device(points_device)
+
+ ext_module.points_in_boxes_all_forward(boxes.contiguous(),
+ points.contiguous(),
+ box_idxs_of_pts)
+
+ return box_idxs_of_pts
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/points_sampler.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/points_sampler.py
new file mode 100644
index 0000000000000000000000000000000000000000..ae1a24f939dd0e2934765326363ea51c2f2b4cca
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/points_sampler.py
@@ -0,0 +1,177 @@
+from typing import List
+
+import torch
+from torch import nn as nn
+
+from annotator.mmpkg.mmcv.runner import force_fp32
+from .furthest_point_sample import (furthest_point_sample,
+ furthest_point_sample_with_dist)
+
+
+def calc_square_dist(point_feat_a, point_feat_b, norm=True):
+ """Calculating square distance between a and b.
+
+ Args:
+ point_feat_a (Tensor): (B, N, C) Feature vector of each point.
+ point_feat_b (Tensor): (B, M, C) Feature vector of each point.
+ norm (Bool, optional): Whether to normalize the distance.
+ Default: True.
+
+ Returns:
+ Tensor: (B, N, M) Distance between each pair points.
+ """
+ num_channel = point_feat_a.shape[-1]
+ # [bs, n, 1]
+ a_square = torch.sum(point_feat_a.unsqueeze(dim=2).pow(2), dim=-1)
+ # [bs, 1, m]
+ b_square = torch.sum(point_feat_b.unsqueeze(dim=1).pow(2), dim=-1)
+
+ corr_matrix = torch.matmul(point_feat_a, point_feat_b.transpose(1, 2))
+
+ dist = a_square + b_square - 2 * corr_matrix
+ if norm:
+ dist = torch.sqrt(dist) / num_channel
+ return dist
+
+
+def get_sampler_cls(sampler_type):
+ """Get the type and mode of points sampler.
+
+ Args:
+ sampler_type (str): The type of points sampler.
+ The valid value are "D-FPS", "F-FPS", or "FS".
+
+ Returns:
+ class: Points sampler type.
+ """
+ sampler_mappings = {
+ 'D-FPS': DFPSSampler,
+ 'F-FPS': FFPSSampler,
+ 'FS': FSSampler,
+ }
+ try:
+ return sampler_mappings[sampler_type]
+ except KeyError:
+ raise KeyError(
+ f'Supported `sampler_type` are {sampler_mappings.keys()}, but got \
+ {sampler_type}')
+
+
+class PointsSampler(nn.Module):
+ """Points sampling.
+
+ Args:
+ num_point (list[int]): Number of sample points.
+ fps_mod_list (list[str], optional): Type of FPS method, valid mod
+ ['F-FPS', 'D-FPS', 'FS'], Default: ['D-FPS'].
+ F-FPS: using feature distances for FPS.
+ D-FPS: using Euclidean distances of points for FPS.
+ FS: using F-FPS and D-FPS simultaneously.
+ fps_sample_range_list (list[int], optional):
+ Range of points to apply FPS. Default: [-1].
+ """
+
+ def __init__(self,
+ num_point: List[int],
+ fps_mod_list: List[str] = ['D-FPS'],
+ fps_sample_range_list: List[int] = [-1]):
+ super().__init__()
+ # FPS would be applied to different fps_mod in the list,
+ # so the length of the num_point should be equal to
+ # fps_mod_list and fps_sample_range_list.
+ assert len(num_point) == len(fps_mod_list) == len(
+ fps_sample_range_list)
+ self.num_point = num_point
+ self.fps_sample_range_list = fps_sample_range_list
+ self.samplers = nn.ModuleList()
+ for fps_mod in fps_mod_list:
+ self.samplers.append(get_sampler_cls(fps_mod)())
+ self.fp16_enabled = False
+
+ @force_fp32()
+ def forward(self, points_xyz, features):
+ """
+ Args:
+ points_xyz (Tensor): (B, N, 3) xyz coordinates of the features.
+ features (Tensor): (B, C, N) Descriptors of the features.
+
+ Returns:
+ Tensor: (B, npoint, sample_num) Indices of sampled points.
+ """
+ indices = []
+ last_fps_end_index = 0
+
+ for fps_sample_range, sampler, npoint in zip(
+ self.fps_sample_range_list, self.samplers, self.num_point):
+ assert fps_sample_range < points_xyz.shape[1]
+
+ if fps_sample_range == -1:
+ sample_points_xyz = points_xyz[:, last_fps_end_index:]
+ if features is not None:
+ sample_features = features[:, :, last_fps_end_index:]
+ else:
+ sample_features = None
+ else:
+ sample_points_xyz = \
+ points_xyz[:, last_fps_end_index:fps_sample_range]
+ if features is not None:
+ sample_features = features[:, :, last_fps_end_index:
+ fps_sample_range]
+ else:
+ sample_features = None
+
+ fps_idx = sampler(sample_points_xyz.contiguous(), sample_features,
+ npoint)
+
+ indices.append(fps_idx + last_fps_end_index)
+ last_fps_end_index += fps_sample_range
+ indices = torch.cat(indices, dim=1)
+
+ return indices
+
+
+class DFPSSampler(nn.Module):
+ """Using Euclidean distances of points for FPS."""
+
+ def __init__(self):
+ super().__init__()
+
+ def forward(self, points, features, npoint):
+ """Sampling points with D-FPS."""
+ fps_idx = furthest_point_sample(points.contiguous(), npoint)
+ return fps_idx
+
+
+class FFPSSampler(nn.Module):
+ """Using feature distances for FPS."""
+
+ def __init__(self):
+ super().__init__()
+
+ def forward(self, points, features, npoint):
+ """Sampling points with F-FPS."""
+ assert features is not None, \
+ 'feature input to FFPS_Sampler should not be None'
+ features_for_fps = torch.cat([points, features.transpose(1, 2)], dim=2)
+ features_dist = calc_square_dist(
+ features_for_fps, features_for_fps, norm=False)
+ fps_idx = furthest_point_sample_with_dist(features_dist, npoint)
+ return fps_idx
+
+
+class FSSampler(nn.Module):
+ """Using F-FPS and D-FPS simultaneously."""
+
+ def __init__(self):
+ super().__init__()
+
+ def forward(self, points, features, npoint):
+ """Sampling points with FS_Sampling."""
+ assert features is not None, \
+ 'feature input to FS_Sampler should not be None'
+ ffps_sampler = FFPSSampler()
+ dfps_sampler = DFPSSampler()
+ fps_idx_ffps = ffps_sampler(points, features, npoint)
+ fps_idx_dfps = dfps_sampler(points, features, npoint)
+ fps_idx = torch.cat([fps_idx_ffps, fps_idx_dfps], dim=1)
+ return fps_idx
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/psa_mask.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/psa_mask.py
new file mode 100644
index 0000000000000000000000000000000000000000..cdf14e62b50e8d4dd6856c94333c703bcc4c9ab6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/psa_mask.py
@@ -0,0 +1,92 @@
+# Modified from https://github.com/hszhao/semseg/blob/master/lib/psa
+from torch import nn
+from torch.autograd import Function
+from torch.nn.modules.utils import _pair
+
+from ..utils import ext_loader
+
+ext_module = ext_loader.load_ext('_ext',
+ ['psamask_forward', 'psamask_backward'])
+
+
+class PSAMaskFunction(Function):
+
+ @staticmethod
+ def symbolic(g, input, psa_type, mask_size):
+ return g.op(
+ 'mmcv::MMCVPSAMask',
+ input,
+ psa_type_i=psa_type,
+ mask_size_i=mask_size)
+
+ @staticmethod
+ def forward(ctx, input, psa_type, mask_size):
+ ctx.psa_type = psa_type
+ ctx.mask_size = _pair(mask_size)
+ ctx.save_for_backward(input)
+
+ h_mask, w_mask = ctx.mask_size
+ batch_size, channels, h_feature, w_feature = input.size()
+ assert channels == h_mask * w_mask
+ output = input.new_zeros(
+ (batch_size, h_feature * w_feature, h_feature, w_feature))
+
+ ext_module.psamask_forward(
+ input,
+ output,
+ psa_type=psa_type,
+ num_=batch_size,
+ h_feature=h_feature,
+ w_feature=w_feature,
+ h_mask=h_mask,
+ w_mask=w_mask,
+ half_h_mask=(h_mask - 1) // 2,
+ half_w_mask=(w_mask - 1) // 2)
+ return output
+
+ @staticmethod
+ def backward(ctx, grad_output):
+ input = ctx.saved_tensors[0]
+ psa_type = ctx.psa_type
+ h_mask, w_mask = ctx.mask_size
+ batch_size, channels, h_feature, w_feature = input.size()
+ grad_input = grad_output.new_zeros(
+ (batch_size, channels, h_feature, w_feature))
+ ext_module.psamask_backward(
+ grad_output,
+ grad_input,
+ psa_type=psa_type,
+ num_=batch_size,
+ h_feature=h_feature,
+ w_feature=w_feature,
+ h_mask=h_mask,
+ w_mask=w_mask,
+ half_h_mask=(h_mask - 1) // 2,
+ half_w_mask=(w_mask - 1) // 2)
+ return grad_input, None, None, None
+
+
+psa_mask = PSAMaskFunction.apply
+
+
+class PSAMask(nn.Module):
+
+ def __init__(self, psa_type, mask_size=None):
+ super(PSAMask, self).__init__()
+ assert psa_type in ['collect', 'distribute']
+ if psa_type == 'collect':
+ psa_type_enum = 0
+ else:
+ psa_type_enum = 1
+ self.psa_type_enum = psa_type_enum
+ self.mask_size = mask_size
+ self.psa_type = psa_type
+
+ def forward(self, input):
+ return psa_mask(input, self.psa_type_enum, self.mask_size)
+
+ def __repr__(self):
+ s = self.__class__.__name__
+ s += f'(psa_type={self.psa_type}, '
+ s += f'mask_size={self.mask_size})'
+ return s
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/roi_align.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/roi_align.py
new file mode 100644
index 0000000000000000000000000000000000000000..0755aefc66e67233ceae0f4b77948301c443e9fb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/roi_align.py
@@ -0,0 +1,223 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import torch
+import torch.nn as nn
+from torch.autograd import Function
+from torch.autograd.function import once_differentiable
+from torch.nn.modules.utils import _pair
+
+from ..utils import deprecated_api_warning, ext_loader
+
+ext_module = ext_loader.load_ext('_ext',
+ ['roi_align_forward', 'roi_align_backward'])
+
+
+class RoIAlignFunction(Function):
+
+ @staticmethod
+ def symbolic(g, input, rois, output_size, spatial_scale, sampling_ratio,
+ pool_mode, aligned):
+ from ..onnx import is_custom_op_loaded
+ has_custom_op = is_custom_op_loaded()
+ if has_custom_op:
+ return g.op(
+ 'mmcv::MMCVRoiAlign',
+ input,
+ rois,
+ output_height_i=output_size[0],
+ output_width_i=output_size[1],
+ spatial_scale_f=spatial_scale,
+ sampling_ratio_i=sampling_ratio,
+ mode_s=pool_mode,
+ aligned_i=aligned)
+ else:
+ from torch.onnx.symbolic_opset9 import sub, squeeze
+ from torch.onnx.symbolic_helper import _slice_helper
+ from torch.onnx import TensorProtoDataType
+ # batch_indices = rois[:, 0].long()
+ batch_indices = _slice_helper(
+ g, rois, axes=[1], starts=[0], ends=[1])
+ batch_indices = squeeze(g, batch_indices, 1)
+ batch_indices = g.op(
+ 'Cast', batch_indices, to_i=TensorProtoDataType.INT64)
+ # rois = rois[:, 1:]
+ rois = _slice_helper(g, rois, axes=[1], starts=[1], ends=[5])
+ if aligned:
+ # rois -= 0.5/spatial_scale
+ aligned_offset = g.op(
+ 'Constant',
+ value_t=torch.tensor([0.5 / spatial_scale],
+ dtype=torch.float32))
+ rois = sub(g, rois, aligned_offset)
+ # roi align
+ return g.op(
+ 'RoiAlign',
+ input,
+ rois,
+ batch_indices,
+ output_height_i=output_size[0],
+ output_width_i=output_size[1],
+ spatial_scale_f=spatial_scale,
+ sampling_ratio_i=max(0, sampling_ratio),
+ mode_s=pool_mode)
+
+ @staticmethod
+ def forward(ctx,
+ input,
+ rois,
+ output_size,
+ spatial_scale=1.0,
+ sampling_ratio=0,
+ pool_mode='avg',
+ aligned=True):
+ ctx.output_size = _pair(output_size)
+ ctx.spatial_scale = spatial_scale
+ ctx.sampling_ratio = sampling_ratio
+ assert pool_mode in ('max', 'avg')
+ ctx.pool_mode = 0 if pool_mode == 'max' else 1
+ ctx.aligned = aligned
+ ctx.input_shape = input.size()
+
+ assert rois.size(1) == 5, 'RoI must be (idx, x1, y1, x2, y2)!'
+
+ output_shape = (rois.size(0), input.size(1), ctx.output_size[0],
+ ctx.output_size[1])
+ output = input.new_zeros(output_shape)
+ if ctx.pool_mode == 0:
+ argmax_y = input.new_zeros(output_shape)
+ argmax_x = input.new_zeros(output_shape)
+ else:
+ argmax_y = input.new_zeros(0)
+ argmax_x = input.new_zeros(0)
+
+ ext_module.roi_align_forward(
+ input,
+ rois,
+ output,
+ argmax_y,
+ argmax_x,
+ aligned_height=ctx.output_size[0],
+ aligned_width=ctx.output_size[1],
+ spatial_scale=ctx.spatial_scale,
+ sampling_ratio=ctx.sampling_ratio,
+ pool_mode=ctx.pool_mode,
+ aligned=ctx.aligned)
+
+ ctx.save_for_backward(rois, argmax_y, argmax_x)
+ return output
+
+ @staticmethod
+ @once_differentiable
+ def backward(ctx, grad_output):
+ rois, argmax_y, argmax_x = ctx.saved_tensors
+ grad_input = grad_output.new_zeros(ctx.input_shape)
+ # complex head architecture may cause grad_output uncontiguous.
+ grad_output = grad_output.contiguous()
+ ext_module.roi_align_backward(
+ grad_output,
+ rois,
+ argmax_y,
+ argmax_x,
+ grad_input,
+ aligned_height=ctx.output_size[0],
+ aligned_width=ctx.output_size[1],
+ spatial_scale=ctx.spatial_scale,
+ sampling_ratio=ctx.sampling_ratio,
+ pool_mode=ctx.pool_mode,
+ aligned=ctx.aligned)
+ return grad_input, None, None, None, None, None, None
+
+
+roi_align = RoIAlignFunction.apply
+
+
+class RoIAlign(nn.Module):
+ """RoI align pooling layer.
+
+ Args:
+ output_size (tuple): h, w
+ spatial_scale (float): scale the input boxes by this number
+ sampling_ratio (int): number of inputs samples to take for each
+ output sample. 0 to take samples densely for current models.
+ pool_mode (str, 'avg' or 'max'): pooling mode in each bin.
+ aligned (bool): if False, use the legacy implementation in
+ MMDetection. If True, align the results more perfectly.
+ use_torchvision (bool): whether to use roi_align from torchvision.
+
+ Note:
+ The implementation of RoIAlign when aligned=True is modified from
+ https://github.com/facebookresearch/detectron2/
+
+ The meaning of aligned=True:
+
+ Given a continuous coordinate c, its two neighboring pixel
+ indices (in our pixel model) are computed by floor(c - 0.5) and
+ ceil(c - 0.5). For example, c=1.3 has pixel neighbors with discrete
+ indices [0] and [1] (which are sampled from the underlying signal
+ at continuous coordinates 0.5 and 1.5). But the original roi_align
+ (aligned=False) does not subtract the 0.5 when computing
+ neighboring pixel indices and therefore it uses pixels with a
+ slightly incorrect alignment (relative to our pixel model) when
+ performing bilinear interpolation.
+
+ With `aligned=True`,
+ we first appropriately scale the ROI and then shift it by -0.5
+ prior to calling roi_align. This produces the correct neighbors;
+
+ The difference does not make a difference to the model's
+ performance if ROIAlign is used together with conv layers.
+ """
+
+ @deprecated_api_warning(
+ {
+ 'out_size': 'output_size',
+ 'sample_num': 'sampling_ratio'
+ },
+ cls_name='RoIAlign')
+ def __init__(self,
+ output_size,
+ spatial_scale=1.0,
+ sampling_ratio=0,
+ pool_mode='avg',
+ aligned=True,
+ use_torchvision=False):
+ super(RoIAlign, self).__init__()
+
+ self.output_size = _pair(output_size)
+ self.spatial_scale = float(spatial_scale)
+ self.sampling_ratio = int(sampling_ratio)
+ self.pool_mode = pool_mode
+ self.aligned = aligned
+ self.use_torchvision = use_torchvision
+
+ def forward(self, input, rois):
+ """
+ Args:
+ input: NCHW images
+ rois: Bx5 boxes. First column is the index into N.\
+ The other 4 columns are xyxy.
+ """
+ if self.use_torchvision:
+ from torchvision.ops import roi_align as tv_roi_align
+ if 'aligned' in tv_roi_align.__code__.co_varnames:
+ return tv_roi_align(input, rois, self.output_size,
+ self.spatial_scale, self.sampling_ratio,
+ self.aligned)
+ else:
+ if self.aligned:
+ rois -= rois.new_tensor([0.] +
+ [0.5 / self.spatial_scale] * 4)
+ return tv_roi_align(input, rois, self.output_size,
+ self.spatial_scale, self.sampling_ratio)
+ else:
+ return roi_align(input, rois, self.output_size, self.spatial_scale,
+ self.sampling_ratio, self.pool_mode, self.aligned)
+
+ def __repr__(self):
+ s = self.__class__.__name__
+ s += f'(output_size={self.output_size}, '
+ s += f'spatial_scale={self.spatial_scale}, '
+ s += f'sampling_ratio={self.sampling_ratio}, '
+ s += f'pool_mode={self.pool_mode}, '
+ s += f'aligned={self.aligned}, '
+ s += f'use_torchvision={self.use_torchvision})'
+ return s
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/roi_align_rotated.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/roi_align_rotated.py
new file mode 100644
index 0000000000000000000000000000000000000000..0ce4961a3555d4da8bc3e32f1f7d5ad50036587d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/roi_align_rotated.py
@@ -0,0 +1,177 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import torch.nn as nn
+from torch.autograd import Function
+
+from ..utils import ext_loader
+
+ext_module = ext_loader.load_ext(
+ '_ext', ['roi_align_rotated_forward', 'roi_align_rotated_backward'])
+
+
+class RoIAlignRotatedFunction(Function):
+
+ @staticmethod
+ def symbolic(g, features, rois, out_size, spatial_scale, sample_num,
+ aligned, clockwise):
+ if isinstance(out_size, int):
+ out_h = out_size
+ out_w = out_size
+ elif isinstance(out_size, tuple):
+ assert len(out_size) == 2
+ assert isinstance(out_size[0], int)
+ assert isinstance(out_size[1], int)
+ out_h, out_w = out_size
+ else:
+ raise TypeError(
+ '"out_size" must be an integer or tuple of integers')
+ return g.op(
+ 'mmcv::MMCVRoIAlignRotated',
+ features,
+ rois,
+ output_height_i=out_h,
+ output_width_i=out_h,
+ spatial_scale_f=spatial_scale,
+ sampling_ratio_i=sample_num,
+ aligned_i=aligned,
+ clockwise_i=clockwise)
+
+ @staticmethod
+ def forward(ctx,
+ features,
+ rois,
+ out_size,
+ spatial_scale,
+ sample_num=0,
+ aligned=True,
+ clockwise=False):
+ if isinstance(out_size, int):
+ out_h = out_size
+ out_w = out_size
+ elif isinstance(out_size, tuple):
+ assert len(out_size) == 2
+ assert isinstance(out_size[0], int)
+ assert isinstance(out_size[1], int)
+ out_h, out_w = out_size
+ else:
+ raise TypeError(
+ '"out_size" must be an integer or tuple of integers')
+ ctx.spatial_scale = spatial_scale
+ ctx.sample_num = sample_num
+ ctx.aligned = aligned
+ ctx.clockwise = clockwise
+ ctx.save_for_backward(rois)
+ ctx.feature_size = features.size()
+
+ batch_size, num_channels, data_height, data_width = features.size()
+ num_rois = rois.size(0)
+
+ output = features.new_zeros(num_rois, num_channels, out_h, out_w)
+ ext_module.roi_align_rotated_forward(
+ features,
+ rois,
+ output,
+ pooled_height=out_h,
+ pooled_width=out_w,
+ spatial_scale=spatial_scale,
+ sample_num=sample_num,
+ aligned=aligned,
+ clockwise=clockwise)
+ return output
+
+ @staticmethod
+ def backward(ctx, grad_output):
+ feature_size = ctx.feature_size
+ spatial_scale = ctx.spatial_scale
+ aligned = ctx.aligned
+ clockwise = ctx.clockwise
+ sample_num = ctx.sample_num
+ rois = ctx.saved_tensors[0]
+ assert feature_size is not None
+ batch_size, num_channels, data_height, data_width = feature_size
+
+ out_w = grad_output.size(3)
+ out_h = grad_output.size(2)
+
+ grad_input = grad_rois = None
+
+ if ctx.needs_input_grad[0]:
+ grad_input = rois.new_zeros(batch_size, num_channels, data_height,
+ data_width)
+ ext_module.roi_align_rotated_backward(
+ grad_output.contiguous(),
+ rois,
+ grad_input,
+ pooled_height=out_h,
+ pooled_width=out_w,
+ spatial_scale=spatial_scale,
+ sample_num=sample_num,
+ aligned=aligned,
+ clockwise=clockwise)
+ return grad_input, grad_rois, None, None, None, None, None
+
+
+roi_align_rotated = RoIAlignRotatedFunction.apply
+
+
+class RoIAlignRotated(nn.Module):
+ """RoI align pooling layer for rotated proposals.
+
+ It accepts a feature map of shape (N, C, H, W) and rois with shape
+ (n, 6) with each roi decoded as (batch_index, center_x, center_y,
+ w, h, angle). The angle is in radian.
+
+ Args:
+ out_size (tuple): h, w
+ spatial_scale (float): scale the input boxes by this number
+ sample_num (int): number of inputs samples to take for each
+ output sample. 0 to take samples densely for current models.
+ aligned (bool): if False, use the legacy implementation in
+ MMDetection. If True, align the results more perfectly.
+ Default: True.
+ clockwise (bool): If True, the angle in each proposal follows a
+ clockwise fashion in image space, otherwise, the angle is
+ counterclockwise. Default: False.
+
+ Note:
+ The implementation of RoIAlign when aligned=True is modified from
+ https://github.com/facebookresearch/detectron2/
+
+ The meaning of aligned=True:
+
+ Given a continuous coordinate c, its two neighboring pixel
+ indices (in our pixel model) are computed by floor(c - 0.5) and
+ ceil(c - 0.5). For example, c=1.3 has pixel neighbors with discrete
+ indices [0] and [1] (which are sampled from the underlying signal
+ at continuous coordinates 0.5 and 1.5). But the original roi_align
+ (aligned=False) does not subtract the 0.5 when computing
+ neighboring pixel indices and therefore it uses pixels with a
+ slightly incorrect alignment (relative to our pixel model) when
+ performing bilinear interpolation.
+
+ With `aligned=True`,
+ we first appropriately scale the ROI and then shift it by -0.5
+ prior to calling roi_align. This produces the correct neighbors;
+
+ The difference does not make a difference to the model's
+ performance if ROIAlign is used together with conv layers.
+ """
+
+ def __init__(self,
+ out_size,
+ spatial_scale,
+ sample_num=0,
+ aligned=True,
+ clockwise=False):
+ super(RoIAlignRotated, self).__init__()
+
+ self.out_size = out_size
+ self.spatial_scale = float(spatial_scale)
+ self.sample_num = int(sample_num)
+ self.aligned = aligned
+ self.clockwise = clockwise
+
+ def forward(self, features, rois):
+ return RoIAlignRotatedFunction.apply(features, rois, self.out_size,
+ self.spatial_scale,
+ self.sample_num, self.aligned,
+ self.clockwise)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/roi_pool.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/roi_pool.py
new file mode 100644
index 0000000000000000000000000000000000000000..d339d8f2941eabc1cbe181a9c6c5ab5ff4ff4e5f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/roi_pool.py
@@ -0,0 +1,86 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import torch
+import torch.nn as nn
+from torch.autograd import Function
+from torch.autograd.function import once_differentiable
+from torch.nn.modules.utils import _pair
+
+from ..utils import ext_loader
+
+ext_module = ext_loader.load_ext('_ext',
+ ['roi_pool_forward', 'roi_pool_backward'])
+
+
+class RoIPoolFunction(Function):
+
+ @staticmethod
+ def symbolic(g, input, rois, output_size, spatial_scale):
+ return g.op(
+ 'MaxRoiPool',
+ input,
+ rois,
+ pooled_shape_i=output_size,
+ spatial_scale_f=spatial_scale)
+
+ @staticmethod
+ def forward(ctx, input, rois, output_size, spatial_scale=1.0):
+ ctx.output_size = _pair(output_size)
+ ctx.spatial_scale = spatial_scale
+ ctx.input_shape = input.size()
+
+ assert rois.size(1) == 5, 'RoI must be (idx, x1, y1, x2, y2)!'
+
+ output_shape = (rois.size(0), input.size(1), ctx.output_size[0],
+ ctx.output_size[1])
+ output = input.new_zeros(output_shape)
+ argmax = input.new_zeros(output_shape, dtype=torch.int)
+
+ ext_module.roi_pool_forward(
+ input,
+ rois,
+ output,
+ argmax,
+ pooled_height=ctx.output_size[0],
+ pooled_width=ctx.output_size[1],
+ spatial_scale=ctx.spatial_scale)
+
+ ctx.save_for_backward(rois, argmax)
+ return output
+
+ @staticmethod
+ @once_differentiable
+ def backward(ctx, grad_output):
+ rois, argmax = ctx.saved_tensors
+ grad_input = grad_output.new_zeros(ctx.input_shape)
+
+ ext_module.roi_pool_backward(
+ grad_output,
+ rois,
+ argmax,
+ grad_input,
+ pooled_height=ctx.output_size[0],
+ pooled_width=ctx.output_size[1],
+ spatial_scale=ctx.spatial_scale)
+
+ return grad_input, None, None, None
+
+
+roi_pool = RoIPoolFunction.apply
+
+
+class RoIPool(nn.Module):
+
+ def __init__(self, output_size, spatial_scale=1.0):
+ super(RoIPool, self).__init__()
+
+ self.output_size = _pair(output_size)
+ self.spatial_scale = float(spatial_scale)
+
+ def forward(self, input, rois):
+ return roi_pool(input, rois, self.output_size, self.spatial_scale)
+
+ def __repr__(self):
+ s = self.__class__.__name__
+ s += f'(output_size={self.output_size}, '
+ s += f'spatial_scale={self.spatial_scale})'
+ return s
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/roiaware_pool3d.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/roiaware_pool3d.py
new file mode 100644
index 0000000000000000000000000000000000000000..8191920ca50b388ef58f577dc986da101662ac53
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/roiaware_pool3d.py
@@ -0,0 +1,114 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import torch
+from torch import nn as nn
+from torch.autograd import Function
+
+import annotator.mmpkg.mmcv as mmcv
+from ..utils import ext_loader
+
+ext_module = ext_loader.load_ext(
+ '_ext', ['roiaware_pool3d_forward', 'roiaware_pool3d_backward'])
+
+
+class RoIAwarePool3d(nn.Module):
+ """Encode the geometry-specific features of each 3D proposal.
+
+ Please refer to `PartA2 `_ for more
+ details.
+
+ Args:
+ out_size (int or tuple): The size of output features. n or
+ [n1, n2, n3].
+ max_pts_per_voxel (int, optional): The maximum number of points per
+ voxel. Default: 128.
+ mode (str, optional): Pooling method of RoIAware, 'max' or 'avg'.
+ Default: 'max'.
+ """
+
+ def __init__(self, out_size, max_pts_per_voxel=128, mode='max'):
+ super().__init__()
+
+ self.out_size = out_size
+ self.max_pts_per_voxel = max_pts_per_voxel
+ assert mode in ['max', 'avg']
+ pool_mapping = {'max': 0, 'avg': 1}
+ self.mode = pool_mapping[mode]
+
+ def forward(self, rois, pts, pts_feature):
+ """
+ Args:
+ rois (torch.Tensor): [N, 7], in LiDAR coordinate,
+ (x, y, z) is the bottom center of rois.
+ pts (torch.Tensor): [npoints, 3], coordinates of input points.
+ pts_feature (torch.Tensor): [npoints, C], features of input points.
+
+ Returns:
+ pooled_features (torch.Tensor): [N, out_x, out_y, out_z, C]
+ """
+
+ return RoIAwarePool3dFunction.apply(rois, pts, pts_feature,
+ self.out_size,
+ self.max_pts_per_voxel, self.mode)
+
+
+class RoIAwarePool3dFunction(Function):
+
+ @staticmethod
+ def forward(ctx, rois, pts, pts_feature, out_size, max_pts_per_voxel,
+ mode):
+ """
+ Args:
+ rois (torch.Tensor): [N, 7], in LiDAR coordinate,
+ (x, y, z) is the bottom center of rois.
+ pts (torch.Tensor): [npoints, 3], coordinates of input points.
+ pts_feature (torch.Tensor): [npoints, C], features of input points.
+ out_size (int or tuple): The size of output features. n or
+ [n1, n2, n3].
+ max_pts_per_voxel (int): The maximum number of points per voxel.
+ Default: 128.
+ mode (int): Pooling method of RoIAware, 0 (max pool) or 1 (average
+ pool).
+
+ Returns:
+ pooled_features (torch.Tensor): [N, out_x, out_y, out_z, C], output
+ pooled features.
+ """
+
+ if isinstance(out_size, int):
+ out_x = out_y = out_z = out_size
+ else:
+ assert len(out_size) == 3
+ assert mmcv.is_tuple_of(out_size, int)
+ out_x, out_y, out_z = out_size
+
+ num_rois = rois.shape[0]
+ num_channels = pts_feature.shape[-1]
+ num_pts = pts.shape[0]
+
+ pooled_features = pts_feature.new_zeros(
+ (num_rois, out_x, out_y, out_z, num_channels))
+ argmax = pts_feature.new_zeros(
+ (num_rois, out_x, out_y, out_z, num_channels), dtype=torch.int)
+ pts_idx_of_voxels = pts_feature.new_zeros(
+ (num_rois, out_x, out_y, out_z, max_pts_per_voxel),
+ dtype=torch.int)
+
+ ext_module.roiaware_pool3d_forward(rois, pts, pts_feature, argmax,
+ pts_idx_of_voxels, pooled_features,
+ mode)
+
+ ctx.roiaware_pool3d_for_backward = (pts_idx_of_voxels, argmax, mode,
+ num_pts, num_channels)
+ return pooled_features
+
+ @staticmethod
+ def backward(ctx, grad_out):
+ ret = ctx.roiaware_pool3d_for_backward
+ pts_idx_of_voxels, argmax, mode, num_pts, num_channels = ret
+
+ grad_in = grad_out.new_zeros((num_pts, num_channels))
+ ext_module.roiaware_pool3d_backward(pts_idx_of_voxels, argmax,
+ grad_out.contiguous(), grad_in,
+ mode)
+
+ return None, None, grad_in, None, None, None
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/roipoint_pool3d.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/roipoint_pool3d.py
new file mode 100644
index 0000000000000000000000000000000000000000..0a21412c0728431c04b84245bc2e3109eea9aefc
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/roipoint_pool3d.py
@@ -0,0 +1,77 @@
+from torch import nn as nn
+from torch.autograd import Function
+
+from ..utils import ext_loader
+
+ext_module = ext_loader.load_ext('_ext', ['roipoint_pool3d_forward'])
+
+
+class RoIPointPool3d(nn.Module):
+ """Encode the geometry-specific features of each 3D proposal.
+
+ Please refer to `Paper of PartA2 `_
+ for more details.
+
+ Args:
+ num_sampled_points (int, optional): Number of samples in each roi.
+ Default: 512.
+ """
+
+ def __init__(self, num_sampled_points=512):
+ super().__init__()
+ self.num_sampled_points = num_sampled_points
+
+ def forward(self, points, point_features, boxes3d):
+ """
+ Args:
+ points (torch.Tensor): Input points whose shape is (B, N, C).
+ point_features (torch.Tensor): Features of input points whose shape
+ is (B, N, C).
+ boxes3d (B, M, 7), Input bounding boxes whose shape is (B, M, 7).
+
+ Returns:
+ pooled_features (torch.Tensor): The output pooled features whose
+ shape is (B, M, 512, 3 + C).
+ pooled_empty_flag (torch.Tensor): Empty flag whose shape is (B, M).
+ """
+ return RoIPointPool3dFunction.apply(points, point_features, boxes3d,
+ self.num_sampled_points)
+
+
+class RoIPointPool3dFunction(Function):
+
+ @staticmethod
+ def forward(ctx, points, point_features, boxes3d, num_sampled_points=512):
+ """
+ Args:
+ points (torch.Tensor): Input points whose shape is (B, N, C).
+ point_features (torch.Tensor): Features of input points whose shape
+ is (B, N, C).
+ boxes3d (B, M, 7), Input bounding boxes whose shape is (B, M, 7).
+ num_sampled_points (int, optional): The num of sampled points.
+ Default: 512.
+
+ Returns:
+ pooled_features (torch.Tensor): The output pooled features whose
+ shape is (B, M, 512, 3 + C).
+ pooled_empty_flag (torch.Tensor): Empty flag whose shape is (B, M).
+ """
+ assert len(points.shape) == 3 and points.shape[2] == 3
+ batch_size, boxes_num, feature_len = points.shape[0], boxes3d.shape[
+ 1], point_features.shape[2]
+ pooled_boxes3d = boxes3d.view(batch_size, -1, 7)
+ pooled_features = point_features.new_zeros(
+ (batch_size, boxes_num, num_sampled_points, 3 + feature_len))
+ pooled_empty_flag = point_features.new_zeros(
+ (batch_size, boxes_num)).int()
+
+ ext_module.roipoint_pool3d_forward(points.contiguous(),
+ pooled_boxes3d.contiguous(),
+ point_features.contiguous(),
+ pooled_features, pooled_empty_flag)
+
+ return pooled_features, pooled_empty_flag
+
+ @staticmethod
+ def backward(ctx, grad_out):
+ raise NotImplementedError
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/saconv.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/saconv.py
new file mode 100644
index 0000000000000000000000000000000000000000..9d7be88c428ea2b9af2c32c60a86dddd13988ce8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/saconv.py
@@ -0,0 +1,145 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import torch
+import torch.nn as nn
+import torch.nn.functional as F
+
+from annotator.mmpkg.mmcv.cnn import CONV_LAYERS, ConvAWS2d, constant_init
+from annotator.mmpkg.mmcv.ops.deform_conv import deform_conv2d
+from annotator.mmpkg.mmcv.utils import TORCH_VERSION, digit_version
+
+
+@CONV_LAYERS.register_module(name='SAC')
+class SAConv2d(ConvAWS2d):
+ """SAC (Switchable Atrous Convolution)
+
+ This is an implementation of SAC in DetectoRS
+ (https://arxiv.org/pdf/2006.02334.pdf).
+
+ Args:
+ in_channels (int): Number of channels in the input image
+ out_channels (int): Number of channels produced by the convolution
+ kernel_size (int or tuple): Size of the convolving kernel
+ stride (int or tuple, optional): Stride of the convolution. Default: 1
+ padding (int or tuple, optional): Zero-padding added to both sides of
+ the input. Default: 0
+ padding_mode (string, optional): ``'zeros'``, ``'reflect'``,
+ ``'replicate'`` or ``'circular'``. Default: ``'zeros'``
+ dilation (int or tuple, optional): Spacing between kernel elements.
+ Default: 1
+ groups (int, optional): Number of blocked connections from input
+ channels to output channels. Default: 1
+ bias (bool, optional): If ``True``, adds a learnable bias to the
+ output. Default: ``True``
+ use_deform: If ``True``, replace convolution with deformable
+ convolution. Default: ``False``.
+ """
+
+ def __init__(self,
+ in_channels,
+ out_channels,
+ kernel_size,
+ stride=1,
+ padding=0,
+ dilation=1,
+ groups=1,
+ bias=True,
+ use_deform=False):
+ super().__init__(
+ in_channels,
+ out_channels,
+ kernel_size,
+ stride=stride,
+ padding=padding,
+ dilation=dilation,
+ groups=groups,
+ bias=bias)
+ self.use_deform = use_deform
+ self.switch = nn.Conv2d(
+ self.in_channels, 1, kernel_size=1, stride=stride, bias=True)
+ self.weight_diff = nn.Parameter(torch.Tensor(self.weight.size()))
+ self.pre_context = nn.Conv2d(
+ self.in_channels, self.in_channels, kernel_size=1, bias=True)
+ self.post_context = nn.Conv2d(
+ self.out_channels, self.out_channels, kernel_size=1, bias=True)
+ if self.use_deform:
+ self.offset_s = nn.Conv2d(
+ self.in_channels,
+ 18,
+ kernel_size=3,
+ padding=1,
+ stride=stride,
+ bias=True)
+ self.offset_l = nn.Conv2d(
+ self.in_channels,
+ 18,
+ kernel_size=3,
+ padding=1,
+ stride=stride,
+ bias=True)
+ self.init_weights()
+
+ def init_weights(self):
+ constant_init(self.switch, 0, bias=1)
+ self.weight_diff.data.zero_()
+ constant_init(self.pre_context, 0)
+ constant_init(self.post_context, 0)
+ if self.use_deform:
+ constant_init(self.offset_s, 0)
+ constant_init(self.offset_l, 0)
+
+ def forward(self, x):
+ # pre-context
+ avg_x = F.adaptive_avg_pool2d(x, output_size=1)
+ avg_x = self.pre_context(avg_x)
+ avg_x = avg_x.expand_as(x)
+ x = x + avg_x
+ # switch
+ avg_x = F.pad(x, pad=(2, 2, 2, 2), mode='reflect')
+ avg_x = F.avg_pool2d(avg_x, kernel_size=5, stride=1, padding=0)
+ switch = self.switch(avg_x)
+ # sac
+ weight = self._get_weight(self.weight)
+ zero_bias = torch.zeros(
+ self.out_channels, device=weight.device, dtype=weight.dtype)
+
+ if self.use_deform:
+ offset = self.offset_s(avg_x)
+ out_s = deform_conv2d(x, offset, weight, self.stride, self.padding,
+ self.dilation, self.groups, 1)
+ else:
+ if (TORCH_VERSION == 'parrots'
+ or digit_version(TORCH_VERSION) < digit_version('1.5.0')):
+ out_s = super().conv2d_forward(x, weight)
+ elif digit_version(TORCH_VERSION) >= digit_version('1.8.0'):
+ # bias is a required argument of _conv_forward in torch 1.8.0
+ out_s = super()._conv_forward(x, weight, zero_bias)
+ else:
+ out_s = super()._conv_forward(x, weight)
+ ori_p = self.padding
+ ori_d = self.dilation
+ self.padding = tuple(3 * p for p in self.padding)
+ self.dilation = tuple(3 * d for d in self.dilation)
+ weight = weight + self.weight_diff
+ if self.use_deform:
+ offset = self.offset_l(avg_x)
+ out_l = deform_conv2d(x, offset, weight, self.stride, self.padding,
+ self.dilation, self.groups, 1)
+ else:
+ if (TORCH_VERSION == 'parrots'
+ or digit_version(TORCH_VERSION) < digit_version('1.5.0')):
+ out_l = super().conv2d_forward(x, weight)
+ elif digit_version(TORCH_VERSION) >= digit_version('1.8.0'):
+ # bias is a required argument of _conv_forward in torch 1.8.0
+ out_l = super()._conv_forward(x, weight, zero_bias)
+ else:
+ out_l = super()._conv_forward(x, weight)
+
+ out = switch * out_s + (1 - switch) * out_l
+ self.padding = ori_p
+ self.dilation = ori_d
+ # post-context
+ avg_x = F.adaptive_avg_pool2d(out, output_size=1)
+ avg_x = self.post_context(avg_x)
+ avg_x = avg_x.expand_as(out)
+ out = out + avg_x
+ return out
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/scatter_points.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/scatter_points.py
new file mode 100644
index 0000000000000000000000000000000000000000..2b8aa4169e9f6ca4a6f845ce17d6d1e4db416bb8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/scatter_points.py
@@ -0,0 +1,135 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import torch
+from torch import nn
+from torch.autograd import Function
+
+from ..utils import ext_loader
+
+ext_module = ext_loader.load_ext(
+ '_ext',
+ ['dynamic_point_to_voxel_forward', 'dynamic_point_to_voxel_backward'])
+
+
+class _DynamicScatter(Function):
+
+ @staticmethod
+ def forward(ctx, feats, coors, reduce_type='max'):
+ """convert kitti points(N, >=3) to voxels.
+
+ Args:
+ feats (torch.Tensor): [N, C]. Points features to be reduced
+ into voxels.
+ coors (torch.Tensor): [N, ndim]. Corresponding voxel coordinates
+ (specifically multi-dim voxel index) of each points.
+ reduce_type (str, optional): Reduce op. support 'max', 'sum' and
+ 'mean'. Default: 'max'.
+
+ Returns:
+ voxel_feats (torch.Tensor): [M, C]. Reduced features, input
+ features that shares the same voxel coordinates are reduced to
+ one row.
+ voxel_coors (torch.Tensor): [M, ndim]. Voxel coordinates.
+ """
+ results = ext_module.dynamic_point_to_voxel_forward(
+ feats, coors, reduce_type)
+ (voxel_feats, voxel_coors, point2voxel_map,
+ voxel_points_count) = results
+ ctx.reduce_type = reduce_type
+ ctx.save_for_backward(feats, voxel_feats, point2voxel_map,
+ voxel_points_count)
+ ctx.mark_non_differentiable(voxel_coors)
+ return voxel_feats, voxel_coors
+
+ @staticmethod
+ def backward(ctx, grad_voxel_feats, grad_voxel_coors=None):
+ (feats, voxel_feats, point2voxel_map,
+ voxel_points_count) = ctx.saved_tensors
+ grad_feats = torch.zeros_like(feats)
+ # TODO: whether to use index put or use cuda_backward
+ # To use index put, need point to voxel index
+ ext_module.dynamic_point_to_voxel_backward(
+ grad_feats, grad_voxel_feats.contiguous(), feats, voxel_feats,
+ point2voxel_map, voxel_points_count, ctx.reduce_type)
+ return grad_feats, None, None
+
+
+dynamic_scatter = _DynamicScatter.apply
+
+
+class DynamicScatter(nn.Module):
+ """Scatters points into voxels, used in the voxel encoder with dynamic
+ voxelization.
+
+ Note:
+ The CPU and GPU implementation get the same output, but have numerical
+ difference after summation and division (e.g., 5e-7).
+
+ Args:
+ voxel_size (list): list [x, y, z] size of three dimension.
+ point_cloud_range (list): The coordinate range of points, [x_min,
+ y_min, z_min, x_max, y_max, z_max].
+ average_points (bool): whether to use avg pooling to scatter points
+ into voxel.
+ """
+
+ def __init__(self, voxel_size, point_cloud_range, average_points: bool):
+ super().__init__()
+
+ self.voxel_size = voxel_size
+ self.point_cloud_range = point_cloud_range
+ self.average_points = average_points
+
+ def forward_single(self, points, coors):
+ """Scatters points into voxels.
+
+ Args:
+ points (torch.Tensor): Points to be reduced into voxels.
+ coors (torch.Tensor): Corresponding voxel coordinates (specifically
+ multi-dim voxel index) of each points.
+
+ Returns:
+ voxel_feats (torch.Tensor): Reduced features, input features that
+ shares the same voxel coordinates are reduced to one row.
+ voxel_coors (torch.Tensor): Voxel coordinates.
+ """
+ reduce = 'mean' if self.average_points else 'max'
+ return dynamic_scatter(points.contiguous(), coors.contiguous(), reduce)
+
+ def forward(self, points, coors):
+ """Scatters points/features into voxels.
+
+ Args:
+ points (torch.Tensor): Points to be reduced into voxels.
+ coors (torch.Tensor): Corresponding voxel coordinates (specifically
+ multi-dim voxel index) of each points.
+
+ Returns:
+ voxel_feats (torch.Tensor): Reduced features, input features that
+ shares the same voxel coordinates are reduced to one row.
+ voxel_coors (torch.Tensor): Voxel coordinates.
+ """
+ if coors.size(-1) == 3:
+ return self.forward_single(points, coors)
+ else:
+ batch_size = coors[-1, 0] + 1
+ voxels, voxel_coors = [], []
+ for i in range(batch_size):
+ inds = torch.where(coors[:, 0] == i)
+ voxel, voxel_coor = self.forward_single(
+ points[inds], coors[inds][:, 1:])
+ coor_pad = nn.functional.pad(
+ voxel_coor, (1, 0), mode='constant', value=i)
+ voxel_coors.append(coor_pad)
+ voxels.append(voxel)
+ features = torch.cat(voxels, dim=0)
+ feature_coors = torch.cat(voxel_coors, dim=0)
+
+ return features, feature_coors
+
+ def __repr__(self):
+ s = self.__class__.__name__ + '('
+ s += 'voxel_size=' + str(self.voxel_size)
+ s += ', point_cloud_range=' + str(self.point_cloud_range)
+ s += ', average_points=' + str(self.average_points)
+ s += ')'
+ return s
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/sync_bn.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/sync_bn.py
new file mode 100644
index 0000000000000000000000000000000000000000..46db9200f9eafbad662a04e71f60a099a3178346
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/sync_bn.py
@@ -0,0 +1,279 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import torch
+import torch.distributed as dist
+import torch.nn.functional as F
+from torch.autograd import Function
+from torch.autograd.function import once_differentiable
+from torch.nn.modules.module import Module
+from torch.nn.parameter import Parameter
+
+from annotator.mmpkg.mmcv.cnn import NORM_LAYERS
+from ..utils import ext_loader
+
+ext_module = ext_loader.load_ext('_ext', [
+ 'sync_bn_forward_mean', 'sync_bn_forward_var', 'sync_bn_forward_output',
+ 'sync_bn_backward_param', 'sync_bn_backward_data'
+])
+
+
+class SyncBatchNormFunction(Function):
+
+ @staticmethod
+ def symbolic(g, input, running_mean, running_var, weight, bias, momentum,
+ eps, group, group_size, stats_mode):
+ return g.op(
+ 'mmcv::MMCVSyncBatchNorm',
+ input,
+ running_mean,
+ running_var,
+ weight,
+ bias,
+ momentum_f=momentum,
+ eps_f=eps,
+ group_i=group,
+ group_size_i=group_size,
+ stats_mode=stats_mode)
+
+ @staticmethod
+ def forward(self, input, running_mean, running_var, weight, bias, momentum,
+ eps, group, group_size, stats_mode):
+ self.momentum = momentum
+ self.eps = eps
+ self.group = group
+ self.group_size = group_size
+ self.stats_mode = stats_mode
+
+ assert isinstance(
+ input, (torch.HalfTensor, torch.FloatTensor,
+ torch.cuda.HalfTensor, torch.cuda.FloatTensor)), \
+ f'only support Half or Float Tensor, but {input.type()}'
+ output = torch.zeros_like(input)
+ input3d = input.flatten(start_dim=2)
+ output3d = output.view_as(input3d)
+ num_channels = input3d.size(1)
+
+ # ensure mean/var/norm/std are initialized as zeros
+ # ``torch.empty()`` does not guarantee that
+ mean = torch.zeros(
+ num_channels, dtype=torch.float, device=input3d.device)
+ var = torch.zeros(
+ num_channels, dtype=torch.float, device=input3d.device)
+ norm = torch.zeros_like(
+ input3d, dtype=torch.float, device=input3d.device)
+ std = torch.zeros(
+ num_channels, dtype=torch.float, device=input3d.device)
+
+ batch_size = input3d.size(0)
+ if batch_size > 0:
+ ext_module.sync_bn_forward_mean(input3d, mean)
+ batch_flag = torch.ones([1], device=mean.device, dtype=mean.dtype)
+ else:
+ # skip updating mean and leave it as zeros when the input is empty
+ batch_flag = torch.zeros([1], device=mean.device, dtype=mean.dtype)
+
+ # synchronize mean and the batch flag
+ vec = torch.cat([mean, batch_flag])
+ if self.stats_mode == 'N':
+ vec *= batch_size
+ if self.group_size > 1:
+ dist.all_reduce(vec, group=self.group)
+ total_batch = vec[-1].detach()
+ mean = vec[:num_channels]
+
+ if self.stats_mode == 'default':
+ mean = mean / self.group_size
+ elif self.stats_mode == 'N':
+ mean = mean / total_batch.clamp(min=1)
+ else:
+ raise NotImplementedError
+
+ # leave var as zeros when the input is empty
+ if batch_size > 0:
+ ext_module.sync_bn_forward_var(input3d, mean, var)
+
+ if self.stats_mode == 'N':
+ var *= batch_size
+ if self.group_size > 1:
+ dist.all_reduce(var, group=self.group)
+
+ if self.stats_mode == 'default':
+ var /= self.group_size
+ elif self.stats_mode == 'N':
+ var /= total_batch.clamp(min=1)
+ else:
+ raise NotImplementedError
+
+ # if the total batch size over all the ranks is zero,
+ # we should not update the statistics in the current batch
+ update_flag = total_batch.clamp(max=1)
+ momentum = update_flag * self.momentum
+ ext_module.sync_bn_forward_output(
+ input3d,
+ mean,
+ var,
+ weight,
+ bias,
+ running_mean,
+ running_var,
+ norm,
+ std,
+ output3d,
+ eps=self.eps,
+ momentum=momentum,
+ group_size=self.group_size)
+ self.save_for_backward(norm, std, weight)
+ return output
+
+ @staticmethod
+ @once_differentiable
+ def backward(self, grad_output):
+ norm, std, weight = self.saved_tensors
+ grad_weight = torch.zeros_like(weight)
+ grad_bias = torch.zeros_like(weight)
+ grad_input = torch.zeros_like(grad_output)
+ grad_output3d = grad_output.flatten(start_dim=2)
+ grad_input3d = grad_input.view_as(grad_output3d)
+
+ batch_size = grad_input3d.size(0)
+ if batch_size > 0:
+ ext_module.sync_bn_backward_param(grad_output3d, norm, grad_weight,
+ grad_bias)
+
+ # all reduce
+ if self.group_size > 1:
+ dist.all_reduce(grad_weight, group=self.group)
+ dist.all_reduce(grad_bias, group=self.group)
+ grad_weight /= self.group_size
+ grad_bias /= self.group_size
+
+ if batch_size > 0:
+ ext_module.sync_bn_backward_data(grad_output3d, weight,
+ grad_weight, grad_bias, norm, std,
+ grad_input3d)
+
+ return grad_input, None, None, grad_weight, grad_bias, \
+ None, None, None, None, None
+
+
+@NORM_LAYERS.register_module(name='MMSyncBN')
+class SyncBatchNorm(Module):
+ """Synchronized Batch Normalization.
+
+ Args:
+ num_features (int): number of features/chennels in input tensor
+ eps (float, optional): a value added to the denominator for numerical
+ stability. Defaults to 1e-5.
+ momentum (float, optional): the value used for the running_mean and
+ running_var computation. Defaults to 0.1.
+ affine (bool, optional): whether to use learnable affine parameters.
+ Defaults to True.
+ track_running_stats (bool, optional): whether to track the running
+ mean and variance during training. When set to False, this
+ module does not track such statistics, and initializes statistics
+ buffers ``running_mean`` and ``running_var`` as ``None``. When
+ these buffers are ``None``, this module always uses batch
+ statistics in both training and eval modes. Defaults to True.
+ group (int, optional): synchronization of stats happen within
+ each process group individually. By default it is synchronization
+ across the whole world. Defaults to None.
+ stats_mode (str, optional): The statistical mode. Available options
+ includes ``'default'`` and ``'N'``. Defaults to 'default'.
+ When ``stats_mode=='default'``, it computes the overall statistics
+ using those from each worker with equal weight, i.e., the
+ statistics are synchronized and simply divied by ``group``. This
+ mode will produce inaccurate statistics when empty tensors occur.
+ When ``stats_mode=='N'``, it compute the overall statistics using
+ the total number of batches in each worker ignoring the number of
+ group, i.e., the statistics are synchronized and then divied by
+ the total batch ``N``. This mode is beneficial when empty tensors
+ occur during training, as it average the total mean by the real
+ number of batch.
+ """
+
+ def __init__(self,
+ num_features,
+ eps=1e-5,
+ momentum=0.1,
+ affine=True,
+ track_running_stats=True,
+ group=None,
+ stats_mode='default'):
+ super(SyncBatchNorm, self).__init__()
+ self.num_features = num_features
+ self.eps = eps
+ self.momentum = momentum
+ self.affine = affine
+ self.track_running_stats = track_running_stats
+ group = dist.group.WORLD if group is None else group
+ self.group = group
+ self.group_size = dist.get_world_size(group)
+ assert stats_mode in ['default', 'N'], \
+ f'"stats_mode" only accepts "default" and "N", got "{stats_mode}"'
+ self.stats_mode = stats_mode
+ if self.affine:
+ self.weight = Parameter(torch.Tensor(num_features))
+ self.bias = Parameter(torch.Tensor(num_features))
+ else:
+ self.register_parameter('weight', None)
+ self.register_parameter('bias', None)
+ if self.track_running_stats:
+ self.register_buffer('running_mean', torch.zeros(num_features))
+ self.register_buffer('running_var', torch.ones(num_features))
+ self.register_buffer('num_batches_tracked',
+ torch.tensor(0, dtype=torch.long))
+ else:
+ self.register_buffer('running_mean', None)
+ self.register_buffer('running_var', None)
+ self.register_buffer('num_batches_tracked', None)
+ self.reset_parameters()
+
+ def reset_running_stats(self):
+ if self.track_running_stats:
+ self.running_mean.zero_()
+ self.running_var.fill_(1)
+ self.num_batches_tracked.zero_()
+
+ def reset_parameters(self):
+ self.reset_running_stats()
+ if self.affine:
+ self.weight.data.uniform_() # pytorch use ones_()
+ self.bias.data.zero_()
+
+ def forward(self, input):
+ if input.dim() < 2:
+ raise ValueError(
+ f'expected at least 2D input, got {input.dim()}D input')
+ if self.momentum is None:
+ exponential_average_factor = 0.0
+ else:
+ exponential_average_factor = self.momentum
+
+ if self.training and self.track_running_stats:
+ if self.num_batches_tracked is not None:
+ self.num_batches_tracked += 1
+ if self.momentum is None: # use cumulative moving average
+ exponential_average_factor = 1.0 / float(
+ self.num_batches_tracked)
+ else: # use exponential moving average
+ exponential_average_factor = self.momentum
+
+ if self.training or not self.track_running_stats:
+ return SyncBatchNormFunction.apply(
+ input, self.running_mean, self.running_var, self.weight,
+ self.bias, exponential_average_factor, self.eps, self.group,
+ self.group_size, self.stats_mode)
+ else:
+ return F.batch_norm(input, self.running_mean, self.running_var,
+ self.weight, self.bias, False,
+ exponential_average_factor, self.eps)
+
+ def __repr__(self):
+ s = self.__class__.__name__
+ s += f'({self.num_features}, '
+ s += f'eps={self.eps}, '
+ s += f'momentum={self.momentum}, '
+ s += f'affine={self.affine}, '
+ s += f'track_running_stats={self.track_running_stats}, '
+ s += f'group_size={self.group_size},'
+ s += f'stats_mode={self.stats_mode})'
+ return s
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/three_interpolate.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/three_interpolate.py
new file mode 100644
index 0000000000000000000000000000000000000000..203f47f05d58087e034fb3cd8cd6a09233947b4a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/three_interpolate.py
@@ -0,0 +1,68 @@
+from typing import Tuple
+
+import torch
+from torch.autograd import Function
+
+from ..utils import ext_loader
+
+ext_module = ext_loader.load_ext(
+ '_ext', ['three_interpolate_forward', 'three_interpolate_backward'])
+
+
+class ThreeInterpolate(Function):
+ """Performs weighted linear interpolation on 3 features.
+
+ Please refer to `Paper of PointNet++ `_
+ for more details.
+ """
+
+ @staticmethod
+ def forward(ctx, features: torch.Tensor, indices: torch.Tensor,
+ weight: torch.Tensor) -> torch.Tensor:
+ """
+ Args:
+ features (Tensor): (B, C, M) Features descriptors to be
+ interpolated
+ indices (Tensor): (B, n, 3) index three nearest neighbors
+ of the target features in features
+ weight (Tensor): (B, n, 3) weights of interpolation
+
+ Returns:
+ Tensor: (B, C, N) tensor of the interpolated features
+ """
+ assert features.is_contiguous()
+ assert indices.is_contiguous()
+ assert weight.is_contiguous()
+
+ B, c, m = features.size()
+ n = indices.size(1)
+ ctx.three_interpolate_for_backward = (indices, weight, m)
+ output = torch.cuda.FloatTensor(B, c, n)
+
+ ext_module.three_interpolate_forward(
+ features, indices, weight, output, b=B, c=c, m=m, n=n)
+ return output
+
+ @staticmethod
+ def backward(
+ ctx, grad_out: torch.Tensor
+ ) -> Tuple[torch.Tensor, torch.Tensor, torch.Tensor]:
+ """
+ Args:
+ grad_out (Tensor): (B, C, N) tensor with gradients of outputs
+
+ Returns:
+ Tensor: (B, C, M) tensor with gradients of features
+ """
+ idx, weight, m = ctx.three_interpolate_for_backward
+ B, c, n = grad_out.size()
+
+ grad_features = torch.cuda.FloatTensor(B, c, m).zero_()
+ grad_out_data = grad_out.data.contiguous()
+
+ ext_module.three_interpolate_backward(
+ grad_out_data, idx, weight, grad_features.data, b=B, c=c, n=n, m=m)
+ return grad_features, None, None
+
+
+three_interpolate = ThreeInterpolate.apply
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/three_nn.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/three_nn.py
new file mode 100644
index 0000000000000000000000000000000000000000..2b01047a129989cd5545a0a86f23a487f4a13ce1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/three_nn.py
@@ -0,0 +1,51 @@
+from typing import Tuple
+
+import torch
+from torch.autograd import Function
+
+from ..utils import ext_loader
+
+ext_module = ext_loader.load_ext('_ext', ['three_nn_forward'])
+
+
+class ThreeNN(Function):
+ """Find the top-3 nearest neighbors of the target set from the source set.
+
+ Please refer to `Paper of PointNet++ `_
+ for more details.
+ """
+
+ @staticmethod
+ def forward(ctx, target: torch.Tensor,
+ source: torch.Tensor) -> Tuple[torch.Tensor, torch.Tensor]:
+ """
+ Args:
+ target (Tensor): shape (B, N, 3), points set that needs to
+ find the nearest neighbors.
+ source (Tensor): shape (B, M, 3), points set that is used
+ to find the nearest neighbors of points in target set.
+
+ Returns:
+ Tensor: shape (B, N, 3), L2 distance of each point in target
+ set to their corresponding nearest neighbors.
+ """
+ target = target.contiguous()
+ source = source.contiguous()
+
+ B, N, _ = target.size()
+ m = source.size(1)
+ dist2 = torch.cuda.FloatTensor(B, N, 3)
+ idx = torch.cuda.IntTensor(B, N, 3)
+
+ ext_module.three_nn_forward(target, source, dist2, idx, b=B, n=N, m=m)
+ if torch.__version__ != 'parrots':
+ ctx.mark_non_differentiable(idx)
+
+ return torch.sqrt(dist2), idx
+
+ @staticmethod
+ def backward(ctx, a=None, b=None):
+ return None, None
+
+
+three_nn = ThreeNN.apply
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/tin_shift.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/tin_shift.py
new file mode 100644
index 0000000000000000000000000000000000000000..472c9fcfe45a124e819b7ed5653e585f94a8811e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/tin_shift.py
@@ -0,0 +1,68 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+# Code reference from "Temporal Interlacing Network"
+# https://github.com/deepcs233/TIN/blob/master/cuda_shift/rtc_wrap.py
+# Hao Shao, Shengju Qian, Yu Liu
+# shaoh19@mails.tsinghua.edu.cn, sjqian@cse.cuhk.edu.hk, yuliu@ee.cuhk.edu.hk
+
+import torch
+import torch.nn as nn
+from torch.autograd import Function
+
+from ..utils import ext_loader
+
+ext_module = ext_loader.load_ext('_ext',
+ ['tin_shift_forward', 'tin_shift_backward'])
+
+
+class TINShiftFunction(Function):
+
+ @staticmethod
+ def forward(ctx, input, shift):
+ C = input.size(2)
+ num_segments = shift.size(1)
+ if C // num_segments <= 0 or C % num_segments != 0:
+ raise ValueError('C should be a multiple of num_segments, '
+ f'but got C={C} and num_segments={num_segments}.')
+
+ ctx.save_for_backward(shift)
+
+ out = torch.zeros_like(input)
+ ext_module.tin_shift_forward(input, shift, out)
+
+ return out
+
+ @staticmethod
+ def backward(ctx, grad_output):
+
+ shift = ctx.saved_tensors[0]
+ data_grad_input = grad_output.new(*grad_output.size()).zero_()
+ shift_grad_input = shift.new(*shift.size()).zero_()
+ ext_module.tin_shift_backward(grad_output, shift, data_grad_input)
+
+ return data_grad_input, shift_grad_input
+
+
+tin_shift = TINShiftFunction.apply
+
+
+class TINShift(nn.Module):
+ """Temporal Interlace Shift.
+
+ Temporal Interlace shift is a differentiable temporal-wise frame shifting
+ which is proposed in "Temporal Interlacing Network"
+
+ Please refer to https://arxiv.org/abs/2001.06499 for more details.
+ Code is modified from https://github.com/mit-han-lab/temporal-shift-module
+ """
+
+ def forward(self, input, shift):
+ """Perform temporal interlace shift.
+
+ Args:
+ input (Tensor): Feature map with shape [N, num_segments, C, H * W].
+ shift (Tensor): Shift tensor with shape [N, num_segments].
+
+ Returns:
+ Feature map after temporal interlace shift.
+ """
+ return tin_shift(input, shift)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/upfirdn2d.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/upfirdn2d.py
new file mode 100644
index 0000000000000000000000000000000000000000..751db20a344e1164748d8d4d8b2f775247925eab
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/upfirdn2d.py
@@ -0,0 +1,330 @@
+# modified from https://github.com/rosinality/stylegan2-pytorch/blob/master/op/upfirdn2d.py # noqa:E501
+
+# Copyright (c) 2021, NVIDIA Corporation. All rights reserved.
+# NVIDIA Source Code License for StyleGAN2 with Adaptive Discriminator
+# Augmentation (ADA)
+# =======================================================================
+
+# 1. Definitions
+
+# "Licensor" means any person or entity that distributes its Work.
+
+# "Software" means the original work of authorship made available under
+# this License.
+
+# "Work" means the Software and any additions to or derivative works of
+# the Software that are made available under this License.
+
+# The terms "reproduce," "reproduction," "derivative works," and
+# "distribution" have the meaning as provided under U.S. copyright law;
+# provided, however, that for the purposes of this License, derivative
+# works shall not include works that remain separable from, or merely
+# link (or bind by name) to the interfaces of, the Work.
+
+# Works, including the Software, are "made available" under this License
+# by including in or with the Work either (a) a copyright notice
+# referencing the applicability of this License to the Work, or (b) a
+# copy of this License.
+
+# 2. License Grants
+
+# 2.1 Copyright Grant. Subject to the terms and conditions of this
+# License, each Licensor grants to you a perpetual, worldwide,
+# non-exclusive, royalty-free, copyright license to reproduce,
+# prepare derivative works of, publicly display, publicly perform,
+# sublicense and distribute its Work and any resulting derivative
+# works in any form.
+
+# 3. Limitations
+
+# 3.1 Redistribution. You may reproduce or distribute the Work only
+# if (a) you do so under this License, (b) you include a complete
+# copy of this License with your distribution, and (c) you retain
+# without modification any copyright, patent, trademark, or
+# attribution notices that are present in the Work.
+
+# 3.2 Derivative Works. You may specify that additional or different
+# terms apply to the use, reproduction, and distribution of your
+# derivative works of the Work ("Your Terms") only if (a) Your Terms
+# provide that the use limitation in Section 3.3 applies to your
+# derivative works, and (b) you identify the specific derivative
+# works that are subject to Your Terms. Notwithstanding Your Terms,
+# this License (including the redistribution requirements in Section
+# 3.1) will continue to apply to the Work itself.
+
+# 3.3 Use Limitation. The Work and any derivative works thereof only
+# may be used or intended for use non-commercially. Notwithstanding
+# the foregoing, NVIDIA and its affiliates may use the Work and any
+# derivative works commercially. As used herein, "non-commercially"
+# means for research or evaluation purposes only.
+
+# 3.4 Patent Claims. If you bring or threaten to bring a patent claim
+# against any Licensor (including any claim, cross-claim or
+# counterclaim in a lawsuit) to enforce any patents that you allege
+# are infringed by any Work, then your rights under this License from
+# such Licensor (including the grant in Section 2.1) will terminate
+# immediately.
+
+# 3.5 Trademarks. This License does not grant any rights to use any
+# Licensor’s or its affiliates’ names, logos, or trademarks, except
+# as necessary to reproduce the notices described in this License.
+
+# 3.6 Termination. If you violate any term of this License, then your
+# rights under this License (including the grant in Section 2.1) will
+# terminate immediately.
+
+# 4. Disclaimer of Warranty.
+
+# THE WORK IS PROVIDED "AS IS" WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WARRANTIES OR CONDITIONS OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE OR
+# NON-INFRINGEMENT. YOU BEAR THE RISK OF UNDERTAKING ANY ACTIVITIES UNDER
+# THIS LICENSE.
+
+# 5. Limitation of Liability.
+
+# EXCEPT AS PROHIBITED BY APPLICABLE LAW, IN NO EVENT AND UNDER NO LEGAL
+# THEORY, WHETHER IN TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE
+# SHALL ANY LICENSOR BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY DIRECT,
+# INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF
+# OR RELATED TO THIS LICENSE, THE USE OR INABILITY TO USE THE WORK
+# (INCLUDING BUT NOT LIMITED TO LOSS OF GOODWILL, BUSINESS INTERRUPTION,
+# LOST PROFITS OR DATA, COMPUTER FAILURE OR MALFUNCTION, OR ANY OTHER
+# COMMERCIAL DAMAGES OR LOSSES), EVEN IF THE LICENSOR HAS BEEN ADVISED OF
+# THE POSSIBILITY OF SUCH DAMAGES.
+
+# =======================================================================
+
+import torch
+from torch.autograd import Function
+from torch.nn import functional as F
+
+from annotator.mmpkg.mmcv.utils import to_2tuple
+from ..utils import ext_loader
+
+upfirdn2d_ext = ext_loader.load_ext('_ext', ['upfirdn2d'])
+
+
+class UpFirDn2dBackward(Function):
+
+ @staticmethod
+ def forward(ctx, grad_output, kernel, grad_kernel, up, down, pad, g_pad,
+ in_size, out_size):
+
+ up_x, up_y = up
+ down_x, down_y = down
+ g_pad_x0, g_pad_x1, g_pad_y0, g_pad_y1 = g_pad
+
+ grad_output = grad_output.reshape(-1, out_size[0], out_size[1], 1)
+
+ grad_input = upfirdn2d_ext.upfirdn2d(
+ grad_output,
+ grad_kernel,
+ up_x=down_x,
+ up_y=down_y,
+ down_x=up_x,
+ down_y=up_y,
+ pad_x0=g_pad_x0,
+ pad_x1=g_pad_x1,
+ pad_y0=g_pad_y0,
+ pad_y1=g_pad_y1)
+ grad_input = grad_input.view(in_size[0], in_size[1], in_size[2],
+ in_size[3])
+
+ ctx.save_for_backward(kernel)
+
+ pad_x0, pad_x1, pad_y0, pad_y1 = pad
+
+ ctx.up_x = up_x
+ ctx.up_y = up_y
+ ctx.down_x = down_x
+ ctx.down_y = down_y
+ ctx.pad_x0 = pad_x0
+ ctx.pad_x1 = pad_x1
+ ctx.pad_y0 = pad_y0
+ ctx.pad_y1 = pad_y1
+ ctx.in_size = in_size
+ ctx.out_size = out_size
+
+ return grad_input
+
+ @staticmethod
+ def backward(ctx, gradgrad_input):
+ kernel, = ctx.saved_tensors
+
+ gradgrad_input = gradgrad_input.reshape(-1, ctx.in_size[2],
+ ctx.in_size[3], 1)
+
+ gradgrad_out = upfirdn2d_ext.upfirdn2d(
+ gradgrad_input,
+ kernel,
+ up_x=ctx.up_x,
+ up_y=ctx.up_y,
+ down_x=ctx.down_x,
+ down_y=ctx.down_y,
+ pad_x0=ctx.pad_x0,
+ pad_x1=ctx.pad_x1,
+ pad_y0=ctx.pad_y0,
+ pad_y1=ctx.pad_y1)
+ # gradgrad_out = gradgrad_out.view(ctx.in_size[0], ctx.out_size[0],
+ # ctx.out_size[1], ctx.in_size[3])
+ gradgrad_out = gradgrad_out.view(ctx.in_size[0], ctx.in_size[1],
+ ctx.out_size[0], ctx.out_size[1])
+
+ return gradgrad_out, None, None, None, None, None, None, None, None
+
+
+class UpFirDn2d(Function):
+
+ @staticmethod
+ def forward(ctx, input, kernel, up, down, pad):
+ up_x, up_y = up
+ down_x, down_y = down
+ pad_x0, pad_x1, pad_y0, pad_y1 = pad
+
+ kernel_h, kernel_w = kernel.shape
+ batch, channel, in_h, in_w = input.shape
+ ctx.in_size = input.shape
+
+ input = input.reshape(-1, in_h, in_w, 1)
+
+ ctx.save_for_backward(kernel, torch.flip(kernel, [0, 1]))
+
+ out_h = (in_h * up_y + pad_y0 + pad_y1 - kernel_h) // down_y + 1
+ out_w = (in_w * up_x + pad_x0 + pad_x1 - kernel_w) // down_x + 1
+ ctx.out_size = (out_h, out_w)
+
+ ctx.up = (up_x, up_y)
+ ctx.down = (down_x, down_y)
+ ctx.pad = (pad_x0, pad_x1, pad_y0, pad_y1)
+
+ g_pad_x0 = kernel_w - pad_x0 - 1
+ g_pad_y0 = kernel_h - pad_y0 - 1
+ g_pad_x1 = in_w * up_x - out_w * down_x + pad_x0 - up_x + 1
+ g_pad_y1 = in_h * up_y - out_h * down_y + pad_y0 - up_y + 1
+
+ ctx.g_pad = (g_pad_x0, g_pad_x1, g_pad_y0, g_pad_y1)
+
+ out = upfirdn2d_ext.upfirdn2d(
+ input,
+ kernel,
+ up_x=up_x,
+ up_y=up_y,
+ down_x=down_x,
+ down_y=down_y,
+ pad_x0=pad_x0,
+ pad_x1=pad_x1,
+ pad_y0=pad_y0,
+ pad_y1=pad_y1)
+ # out = out.view(major, out_h, out_w, minor)
+ out = out.view(-1, channel, out_h, out_w)
+
+ return out
+
+ @staticmethod
+ def backward(ctx, grad_output):
+ kernel, grad_kernel = ctx.saved_tensors
+
+ grad_input = UpFirDn2dBackward.apply(
+ grad_output,
+ kernel,
+ grad_kernel,
+ ctx.up,
+ ctx.down,
+ ctx.pad,
+ ctx.g_pad,
+ ctx.in_size,
+ ctx.out_size,
+ )
+
+ return grad_input, None, None, None, None
+
+
+def upfirdn2d(input, kernel, up=1, down=1, pad=(0, 0)):
+ """UpFRIDn for 2d features.
+
+ UpFIRDn is short for upsample, apply FIR filter and downsample. More
+ details can be found in:
+ https://www.mathworks.com/help/signal/ref/upfirdn.html
+
+ Args:
+ input (Tensor): Tensor with shape of (n, c, h, w).
+ kernel (Tensor): Filter kernel.
+ up (int | tuple[int], optional): Upsampling factor. If given a number,
+ we will use this factor for the both height and width side.
+ Defaults to 1.
+ down (int | tuple[int], optional): Downsampling factor. If given a
+ number, we will use this factor for the both height and width side.
+ Defaults to 1.
+ pad (tuple[int], optional): Padding for tensors, (x_pad, y_pad) or
+ (x_pad_0, x_pad_1, y_pad_0, y_pad_1). Defaults to (0, 0).
+
+ Returns:
+ Tensor: Tensor after UpFIRDn.
+ """
+ if input.device.type == 'cpu':
+ if len(pad) == 2:
+ pad = (pad[0], pad[1], pad[0], pad[1])
+
+ up = to_2tuple(up)
+
+ down = to_2tuple(down)
+
+ out = upfirdn2d_native(input, kernel, up[0], up[1], down[0], down[1],
+ pad[0], pad[1], pad[2], pad[3])
+ else:
+ _up = to_2tuple(up)
+
+ _down = to_2tuple(down)
+
+ if len(pad) == 4:
+ _pad = pad
+ elif len(pad) == 2:
+ _pad = (pad[0], pad[1], pad[0], pad[1])
+
+ out = UpFirDn2d.apply(input, kernel, _up, _down, _pad)
+
+ return out
+
+
+def upfirdn2d_native(input, kernel, up_x, up_y, down_x, down_y, pad_x0, pad_x1,
+ pad_y0, pad_y1):
+ _, channel, in_h, in_w = input.shape
+ input = input.reshape(-1, in_h, in_w, 1)
+
+ _, in_h, in_w, minor = input.shape
+ kernel_h, kernel_w = kernel.shape
+
+ out = input.view(-1, in_h, 1, in_w, 1, minor)
+ out = F.pad(out, [0, 0, 0, up_x - 1, 0, 0, 0, up_y - 1])
+ out = out.view(-1, in_h * up_y, in_w * up_x, minor)
+
+ out = F.pad(
+ out,
+ [0, 0,
+ max(pad_x0, 0),
+ max(pad_x1, 0),
+ max(pad_y0, 0),
+ max(pad_y1, 0)])
+ out = out[:,
+ max(-pad_y0, 0):out.shape[1] - max(-pad_y1, 0),
+ max(-pad_x0, 0):out.shape[2] - max(-pad_x1, 0), :, ]
+
+ out = out.permute(0, 3, 1, 2)
+ out = out.reshape(
+ [-1, 1, in_h * up_y + pad_y0 + pad_y1, in_w * up_x + pad_x0 + pad_x1])
+ w = torch.flip(kernel, [0, 1]).view(1, 1, kernel_h, kernel_w)
+ out = F.conv2d(out, w)
+ out = out.reshape(
+ -1,
+ minor,
+ in_h * up_y + pad_y0 + pad_y1 - kernel_h + 1,
+ in_w * up_x + pad_x0 + pad_x1 - kernel_w + 1,
+ )
+ out = out.permute(0, 2, 3, 1)
+ out = out[:, ::down_y, ::down_x, :]
+
+ out_h = (in_h * up_y + pad_y0 + pad_y1 - kernel_h) // down_y + 1
+ out_w = (in_w * up_x + pad_x0 + pad_x1 - kernel_w) // down_x + 1
+
+ return out.view(-1, channel, out_h, out_w)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/voxelize.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/voxelize.py
new file mode 100644
index 0000000000000000000000000000000000000000..ca3226a4fbcbfe58490fa2ea8e1c16b531214121
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/ops/voxelize.py
@@ -0,0 +1,132 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import torch
+from torch import nn
+from torch.autograd import Function
+from torch.nn.modules.utils import _pair
+
+from ..utils import ext_loader
+
+ext_module = ext_loader.load_ext(
+ '_ext', ['dynamic_voxelize_forward', 'hard_voxelize_forward'])
+
+
+class _Voxelization(Function):
+
+ @staticmethod
+ def forward(ctx,
+ points,
+ voxel_size,
+ coors_range,
+ max_points=35,
+ max_voxels=20000):
+ """Convert kitti points(N, >=3) to voxels.
+
+ Args:
+ points (torch.Tensor): [N, ndim]. Points[:, :3] contain xyz points
+ and points[:, 3:] contain other information like reflectivity.
+ voxel_size (tuple or float): The size of voxel with the shape of
+ [3].
+ coors_range (tuple or float): The coordinate range of voxel with
+ the shape of [6].
+ max_points (int, optional): maximum points contained in a voxel. if
+ max_points=-1, it means using dynamic_voxelize. Default: 35.
+ max_voxels (int, optional): maximum voxels this function create.
+ for second, 20000 is a good choice. Users should shuffle points
+ before call this function because max_voxels may drop points.
+ Default: 20000.
+
+ Returns:
+ voxels_out (torch.Tensor): Output voxels with the shape of [M,
+ max_points, ndim]. Only contain points and returned when
+ max_points != -1.
+ coors_out (torch.Tensor): Output coordinates with the shape of
+ [M, 3].
+ num_points_per_voxel_out (torch.Tensor): Num points per voxel with
+ the shape of [M]. Only returned when max_points != -1.
+ """
+ if max_points == -1 or max_voxels == -1:
+ coors = points.new_zeros(size=(points.size(0), 3), dtype=torch.int)
+ ext_module.dynamic_voxelize_forward(points, coors, voxel_size,
+ coors_range, 3)
+ return coors
+ else:
+ voxels = points.new_zeros(
+ size=(max_voxels, max_points, points.size(1)))
+ coors = points.new_zeros(size=(max_voxels, 3), dtype=torch.int)
+ num_points_per_voxel = points.new_zeros(
+ size=(max_voxels, ), dtype=torch.int)
+ voxel_num = ext_module.hard_voxelize_forward(
+ points, voxels, coors, num_points_per_voxel, voxel_size,
+ coors_range, max_points, max_voxels, 3)
+ # select the valid voxels
+ voxels_out = voxels[:voxel_num]
+ coors_out = coors[:voxel_num]
+ num_points_per_voxel_out = num_points_per_voxel[:voxel_num]
+ return voxels_out, coors_out, num_points_per_voxel_out
+
+
+voxelization = _Voxelization.apply
+
+
+class Voxelization(nn.Module):
+ """Convert kitti points(N, >=3) to voxels.
+
+ Please refer to `PVCNN `_ for more
+ details.
+
+ Args:
+ voxel_size (tuple or float): The size of voxel with the shape of [3].
+ point_cloud_range (tuple or float): The coordinate range of voxel with
+ the shape of [6].
+ max_num_points (int): maximum points contained in a voxel. if
+ max_points=-1, it means using dynamic_voxelize.
+ max_voxels (int, optional): maximum voxels this function create.
+ for second, 20000 is a good choice. Users should shuffle points
+ before call this function because max_voxels may drop points.
+ Default: 20000.
+ """
+
+ def __init__(self,
+ voxel_size,
+ point_cloud_range,
+ max_num_points,
+ max_voxels=20000):
+ super().__init__()
+
+ self.voxel_size = voxel_size
+ self.point_cloud_range = point_cloud_range
+ self.max_num_points = max_num_points
+ if isinstance(max_voxels, tuple):
+ self.max_voxels = max_voxels
+ else:
+ self.max_voxels = _pair(max_voxels)
+
+ point_cloud_range = torch.tensor(
+ point_cloud_range, dtype=torch.float32)
+ voxel_size = torch.tensor(voxel_size, dtype=torch.float32)
+ grid_size = (point_cloud_range[3:] -
+ point_cloud_range[:3]) / voxel_size
+ grid_size = torch.round(grid_size).long()
+ input_feat_shape = grid_size[:2]
+ self.grid_size = grid_size
+ # the origin shape is as [x-len, y-len, z-len]
+ # [w, h, d] -> [d, h, w]
+ self.pcd_shape = [*input_feat_shape, 1][::-1]
+
+ def forward(self, input):
+ if self.training:
+ max_voxels = self.max_voxels[0]
+ else:
+ max_voxels = self.max_voxels[1]
+
+ return voxelization(input, self.voxel_size, self.point_cloud_range,
+ self.max_num_points, max_voxels)
+
+ def __repr__(self):
+ s = self.__class__.__name__ + '('
+ s += 'voxel_size=' + str(self.voxel_size)
+ s += ', point_cloud_range=' + str(self.point_cloud_range)
+ s += ', max_num_points=' + str(self.max_num_points)
+ s += ', max_voxels=' + str(self.max_voxels)
+ s += ')'
+ return s
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/parallel/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/parallel/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..2ed2c17ad357742e423beeaf4d35db03fe9af469
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/parallel/__init__.py
@@ -0,0 +1,13 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from .collate import collate
+from .data_container import DataContainer
+from .data_parallel import MMDataParallel
+from .distributed import MMDistributedDataParallel
+from .registry import MODULE_WRAPPERS
+from .scatter_gather import scatter, scatter_kwargs
+from .utils import is_module_wrapper
+
+__all__ = [
+ 'collate', 'DataContainer', 'MMDataParallel', 'MMDistributedDataParallel',
+ 'scatter', 'scatter_kwargs', 'is_module_wrapper', 'MODULE_WRAPPERS'
+]
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/parallel/_functions.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/parallel/_functions.py
new file mode 100644
index 0000000000000000000000000000000000000000..9b5a8a44483ab991411d07122b22a1d027e4be8e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/parallel/_functions.py
@@ -0,0 +1,79 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import torch
+from torch.nn.parallel._functions import _get_stream
+
+
+def scatter(input, devices, streams=None):
+ """Scatters tensor across multiple GPUs."""
+ if streams is None:
+ streams = [None] * len(devices)
+
+ if isinstance(input, list):
+ chunk_size = (len(input) - 1) // len(devices) + 1
+ outputs = [
+ scatter(input[i], [devices[i // chunk_size]],
+ [streams[i // chunk_size]]) for i in range(len(input))
+ ]
+ return outputs
+ elif isinstance(input, torch.Tensor):
+ output = input.contiguous()
+ # TODO: copy to a pinned buffer first (if copying from CPU)
+ stream = streams[0] if output.numel() > 0 else None
+ if devices != [-1]:
+ with torch.cuda.device(devices[0]), torch.cuda.stream(stream):
+ output = output.cuda(devices[0], non_blocking=True)
+ else:
+ # unsqueeze the first dimension thus the tensor's shape is the
+ # same as those scattered with GPU.
+ output = output.unsqueeze(0)
+ return output
+ else:
+ raise Exception(f'Unknown type {type(input)}.')
+
+
+def synchronize_stream(output, devices, streams):
+ if isinstance(output, list):
+ chunk_size = len(output) // len(devices)
+ for i in range(len(devices)):
+ for j in range(chunk_size):
+ synchronize_stream(output[i * chunk_size + j], [devices[i]],
+ [streams[i]])
+ elif isinstance(output, torch.Tensor):
+ if output.numel() != 0:
+ with torch.cuda.device(devices[0]):
+ main_stream = torch.cuda.current_stream()
+ main_stream.wait_stream(streams[0])
+ output.record_stream(main_stream)
+ else:
+ raise Exception(f'Unknown type {type(output)}.')
+
+
+def get_input_device(input):
+ if isinstance(input, list):
+ for item in input:
+ input_device = get_input_device(item)
+ if input_device != -1:
+ return input_device
+ return -1
+ elif isinstance(input, torch.Tensor):
+ return input.get_device() if input.is_cuda else -1
+ else:
+ raise Exception(f'Unknown type {type(input)}.')
+
+
+class Scatter:
+
+ @staticmethod
+ def forward(target_gpus, input):
+ input_device = get_input_device(input)
+ streams = None
+ if input_device == -1 and target_gpus != [-1]:
+ # Perform CPU to GPU copies in a background stream
+ streams = [_get_stream(device) for device in target_gpus]
+
+ outputs = scatter(input, target_gpus, streams)
+ # Synchronize with the copy stream
+ if streams is not None:
+ synchronize_stream(outputs, target_gpus, streams)
+
+ return tuple(outputs)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/parallel/collate.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/parallel/collate.py
new file mode 100644
index 0000000000000000000000000000000000000000..ad749197df21b0d74297548be5f66a696adebf7f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/parallel/collate.py
@@ -0,0 +1,84 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from collections.abc import Mapping, Sequence
+
+import torch
+import torch.nn.functional as F
+from torch.utils.data.dataloader import default_collate
+
+from .data_container import DataContainer
+
+
+def collate(batch, samples_per_gpu=1):
+ """Puts each data field into a tensor/DataContainer with outer dimension
+ batch size.
+
+ Extend default_collate to add support for
+ :type:`~mmcv.parallel.DataContainer`. There are 3 cases.
+
+ 1. cpu_only = True, e.g., meta data
+ 2. cpu_only = False, stack = True, e.g., images tensors
+ 3. cpu_only = False, stack = False, e.g., gt bboxes
+ """
+
+ if not isinstance(batch, Sequence):
+ raise TypeError(f'{batch.dtype} is not supported.')
+
+ if isinstance(batch[0], DataContainer):
+ stacked = []
+ if batch[0].cpu_only:
+ for i in range(0, len(batch), samples_per_gpu):
+ stacked.append(
+ [sample.data for sample in batch[i:i + samples_per_gpu]])
+ return DataContainer(
+ stacked, batch[0].stack, batch[0].padding_value, cpu_only=True)
+ elif batch[0].stack:
+ for i in range(0, len(batch), samples_per_gpu):
+ assert isinstance(batch[i].data, torch.Tensor)
+
+ if batch[i].pad_dims is not None:
+ ndim = batch[i].dim()
+ assert ndim > batch[i].pad_dims
+ max_shape = [0 for _ in range(batch[i].pad_dims)]
+ for dim in range(1, batch[i].pad_dims + 1):
+ max_shape[dim - 1] = batch[i].size(-dim)
+ for sample in batch[i:i + samples_per_gpu]:
+ for dim in range(0, ndim - batch[i].pad_dims):
+ assert batch[i].size(dim) == sample.size(dim)
+ for dim in range(1, batch[i].pad_dims + 1):
+ max_shape[dim - 1] = max(max_shape[dim - 1],
+ sample.size(-dim))
+ padded_samples = []
+ for sample in batch[i:i + samples_per_gpu]:
+ pad = [0 for _ in range(batch[i].pad_dims * 2)]
+ for dim in range(1, batch[i].pad_dims + 1):
+ pad[2 * dim -
+ 1] = max_shape[dim - 1] - sample.size(-dim)
+ padded_samples.append(
+ F.pad(
+ sample.data, pad, value=sample.padding_value))
+ stacked.append(default_collate(padded_samples))
+ elif batch[i].pad_dims is None:
+ stacked.append(
+ default_collate([
+ sample.data
+ for sample in batch[i:i + samples_per_gpu]
+ ]))
+ else:
+ raise ValueError(
+ 'pad_dims should be either None or integers (1-3)')
+
+ else:
+ for i in range(0, len(batch), samples_per_gpu):
+ stacked.append(
+ [sample.data for sample in batch[i:i + samples_per_gpu]])
+ return DataContainer(stacked, batch[0].stack, batch[0].padding_value)
+ elif isinstance(batch[0], Sequence):
+ transposed = zip(*batch)
+ return [collate(samples, samples_per_gpu) for samples in transposed]
+ elif isinstance(batch[0], Mapping):
+ return {
+ key: collate([d[key] for d in batch], samples_per_gpu)
+ for key in batch[0]
+ }
+ else:
+ return default_collate(batch)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/parallel/data_container.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/parallel/data_container.py
new file mode 100644
index 0000000000000000000000000000000000000000..cedb0d32a51a1f575a622b38de2cee3ab4757821
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/parallel/data_container.py
@@ -0,0 +1,89 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import functools
+
+import torch
+
+
+def assert_tensor_type(func):
+
+ @functools.wraps(func)
+ def wrapper(*args, **kwargs):
+ if not isinstance(args[0].data, torch.Tensor):
+ raise AttributeError(
+ f'{args[0].__class__.__name__} has no attribute '
+ f'{func.__name__} for type {args[0].datatype}')
+ return func(*args, **kwargs)
+
+ return wrapper
+
+
+class DataContainer:
+ """A container for any type of objects.
+
+ Typically tensors will be stacked in the collate function and sliced along
+ some dimension in the scatter function. This behavior has some limitations.
+ 1. All tensors have to be the same size.
+ 2. Types are limited (numpy array or Tensor).
+
+ We design `DataContainer` and `MMDataParallel` to overcome these
+ limitations. The behavior can be either of the following.
+
+ - copy to GPU, pad all tensors to the same size and stack them
+ - copy to GPU without stacking
+ - leave the objects as is and pass it to the model
+ - pad_dims specifies the number of last few dimensions to do padding
+ """
+
+ def __init__(self,
+ data,
+ stack=False,
+ padding_value=0,
+ cpu_only=False,
+ pad_dims=2):
+ self._data = data
+ self._cpu_only = cpu_only
+ self._stack = stack
+ self._padding_value = padding_value
+ assert pad_dims in [None, 1, 2, 3]
+ self._pad_dims = pad_dims
+
+ def __repr__(self):
+ return f'{self.__class__.__name__}({repr(self.data)})'
+
+ def __len__(self):
+ return len(self._data)
+
+ @property
+ def data(self):
+ return self._data
+
+ @property
+ def datatype(self):
+ if isinstance(self.data, torch.Tensor):
+ return self.data.type()
+ else:
+ return type(self.data)
+
+ @property
+ def cpu_only(self):
+ return self._cpu_only
+
+ @property
+ def stack(self):
+ return self._stack
+
+ @property
+ def padding_value(self):
+ return self._padding_value
+
+ @property
+ def pad_dims(self):
+ return self._pad_dims
+
+ @assert_tensor_type
+ def size(self, *args, **kwargs):
+ return self.data.size(*args, **kwargs)
+
+ @assert_tensor_type
+ def dim(self):
+ return self.data.dim()
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/parallel/data_parallel.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/parallel/data_parallel.py
new file mode 100644
index 0000000000000000000000000000000000000000..79b5f69b654cf647dc7ae9174223781ab5c607d2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/parallel/data_parallel.py
@@ -0,0 +1,89 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from itertools import chain
+
+from torch.nn.parallel import DataParallel
+
+from .scatter_gather import scatter_kwargs
+
+
+class MMDataParallel(DataParallel):
+ """The DataParallel module that supports DataContainer.
+
+ MMDataParallel has two main differences with PyTorch DataParallel:
+
+ - It supports a custom type :class:`DataContainer` which allows more
+ flexible control of input data during both GPU and CPU inference.
+ - It implement two more APIs ``train_step()`` and ``val_step()``.
+
+ Args:
+ module (:class:`nn.Module`): Module to be encapsulated.
+ device_ids (list[int]): Device IDS of modules to be scattered to.
+ Defaults to None when GPU is not available.
+ output_device (str | int): Device ID for output. Defaults to None.
+ dim (int): Dimension used to scatter the data. Defaults to 0.
+ """
+
+ def __init__(self, *args, dim=0, **kwargs):
+ super(MMDataParallel, self).__init__(*args, dim=dim, **kwargs)
+ self.dim = dim
+
+ def forward(self, *inputs, **kwargs):
+ """Override the original forward function.
+
+ The main difference lies in the CPU inference where the data in
+ :class:`DataContainers` will still be gathered.
+ """
+ if not self.device_ids:
+ # We add the following line thus the module could gather and
+ # convert data containers as those in GPU inference
+ inputs, kwargs = self.scatter(inputs, kwargs, [-1])
+ return self.module(*inputs[0], **kwargs[0])
+ else:
+ return super().forward(*inputs, **kwargs)
+
+ def scatter(self, inputs, kwargs, device_ids):
+ return scatter_kwargs(inputs, kwargs, device_ids, dim=self.dim)
+
+ def train_step(self, *inputs, **kwargs):
+ if not self.device_ids:
+ # We add the following line thus the module could gather and
+ # convert data containers as those in GPU inference
+ inputs, kwargs = self.scatter(inputs, kwargs, [-1])
+ return self.module.train_step(*inputs[0], **kwargs[0])
+
+ assert len(self.device_ids) == 1, \
+ ('MMDataParallel only supports single GPU training, if you need to'
+ ' train with multiple GPUs, please use MMDistributedDataParallel'
+ 'instead.')
+
+ for t in chain(self.module.parameters(), self.module.buffers()):
+ if t.device != self.src_device_obj:
+ raise RuntimeError(
+ 'module must have its parameters and buffers '
+ f'on device {self.src_device_obj} (device_ids[0]) but '
+ f'found one of them on device: {t.device}')
+
+ inputs, kwargs = self.scatter(inputs, kwargs, self.device_ids)
+ return self.module.train_step(*inputs[0], **kwargs[0])
+
+ def val_step(self, *inputs, **kwargs):
+ if not self.device_ids:
+ # We add the following line thus the module could gather and
+ # convert data containers as those in GPU inference
+ inputs, kwargs = self.scatter(inputs, kwargs, [-1])
+ return self.module.val_step(*inputs[0], **kwargs[0])
+
+ assert len(self.device_ids) == 1, \
+ ('MMDataParallel only supports single GPU training, if you need to'
+ ' train with multiple GPUs, please use MMDistributedDataParallel'
+ ' instead.')
+
+ for t in chain(self.module.parameters(), self.module.buffers()):
+ if t.device != self.src_device_obj:
+ raise RuntimeError(
+ 'module must have its parameters and buffers '
+ f'on device {self.src_device_obj} (device_ids[0]) but '
+ f'found one of them on device: {t.device}')
+
+ inputs, kwargs = self.scatter(inputs, kwargs, self.device_ids)
+ return self.module.val_step(*inputs[0], **kwargs[0])
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/parallel/distributed.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/parallel/distributed.py
new file mode 100644
index 0000000000000000000000000000000000000000..929c7a451a7443d715ab0cceef530c53eff44cb9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/parallel/distributed.py
@@ -0,0 +1,112 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import torch
+from torch.nn.parallel.distributed import (DistributedDataParallel,
+ _find_tensors)
+
+from annotator.mmpkg.mmcv import print_log
+from annotator.mmpkg.mmcv.utils import TORCH_VERSION, digit_version
+from .scatter_gather import scatter_kwargs
+
+
+class MMDistributedDataParallel(DistributedDataParallel):
+ """The DDP module that supports DataContainer.
+
+ MMDDP has two main differences with PyTorch DDP:
+
+ - It supports a custom type :class:`DataContainer` which allows more
+ flexible control of input data.
+ - It implement two APIs ``train_step()`` and ``val_step()``.
+ """
+
+ def to_kwargs(self, inputs, kwargs, device_id):
+ # Use `self.to_kwargs` instead of `self.scatter` in pytorch1.8
+ # to move all tensors to device_id
+ return scatter_kwargs(inputs, kwargs, [device_id], dim=self.dim)
+
+ def scatter(self, inputs, kwargs, device_ids):
+ return scatter_kwargs(inputs, kwargs, device_ids, dim=self.dim)
+
+ def train_step(self, *inputs, **kwargs):
+ """train_step() API for module wrapped by DistributedDataParallel.
+
+ This method is basically the same as
+ ``DistributedDataParallel.forward()``, while replacing
+ ``self.module.forward()`` with ``self.module.train_step()``.
+ It is compatible with PyTorch 1.1 - 1.5.
+ """
+
+ # In PyTorch >= 1.7, ``reducer._rebuild_buckets()`` is moved from the
+ # end of backward to the beginning of forward.
+ if ('parrots' not in TORCH_VERSION
+ and digit_version(TORCH_VERSION) >= digit_version('1.7')
+ and self.reducer._rebuild_buckets()):
+ print_log(
+ 'Reducer buckets have been rebuilt in this iteration.',
+ logger='mmcv')
+
+ if getattr(self, 'require_forward_param_sync', True):
+ self._sync_params()
+ if self.device_ids:
+ inputs, kwargs = self.scatter(inputs, kwargs, self.device_ids)
+ if len(self.device_ids) == 1:
+ output = self.module.train_step(*inputs[0], **kwargs[0])
+ else:
+ outputs = self.parallel_apply(
+ self._module_copies[:len(inputs)], inputs, kwargs)
+ output = self.gather(outputs, self.output_device)
+ else:
+ output = self.module.train_step(*inputs, **kwargs)
+
+ if torch.is_grad_enabled() and getattr(
+ self, 'require_backward_grad_sync', True):
+ if self.find_unused_parameters:
+ self.reducer.prepare_for_backward(list(_find_tensors(output)))
+ else:
+ self.reducer.prepare_for_backward([])
+ else:
+ if ('parrots' not in TORCH_VERSION
+ and digit_version(TORCH_VERSION) > digit_version('1.2')):
+ self.require_forward_param_sync = False
+ return output
+
+ def val_step(self, *inputs, **kwargs):
+ """val_step() API for module wrapped by DistributedDataParallel.
+
+ This method is basically the same as
+ ``DistributedDataParallel.forward()``, while replacing
+ ``self.module.forward()`` with ``self.module.val_step()``.
+ It is compatible with PyTorch 1.1 - 1.5.
+ """
+ # In PyTorch >= 1.7, ``reducer._rebuild_buckets()`` is moved from the
+ # end of backward to the beginning of forward.
+ if ('parrots' not in TORCH_VERSION
+ and digit_version(TORCH_VERSION) >= digit_version('1.7')
+ and self.reducer._rebuild_buckets()):
+ print_log(
+ 'Reducer buckets have been rebuilt in this iteration.',
+ logger='mmcv')
+
+ if getattr(self, 'require_forward_param_sync', True):
+ self._sync_params()
+ if self.device_ids:
+ inputs, kwargs = self.scatter(inputs, kwargs, self.device_ids)
+ if len(self.device_ids) == 1:
+ output = self.module.val_step(*inputs[0], **kwargs[0])
+ else:
+ outputs = self.parallel_apply(
+ self._module_copies[:len(inputs)], inputs, kwargs)
+ output = self.gather(outputs, self.output_device)
+ else:
+ output = self.module.val_step(*inputs, **kwargs)
+
+ if torch.is_grad_enabled() and getattr(
+ self, 'require_backward_grad_sync', True):
+ if self.find_unused_parameters:
+ self.reducer.prepare_for_backward(list(_find_tensors(output)))
+ else:
+ self.reducer.prepare_for_backward([])
+ else:
+ if ('parrots' not in TORCH_VERSION
+ and digit_version(TORCH_VERSION) > digit_version('1.2')):
+ self.require_forward_param_sync = False
+ return output
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/parallel/distributed_deprecated.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/parallel/distributed_deprecated.py
new file mode 100644
index 0000000000000000000000000000000000000000..be60a37041fc6a76deae1851dde30448eaff054f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/parallel/distributed_deprecated.py
@@ -0,0 +1,70 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import torch
+import torch.distributed as dist
+import torch.nn as nn
+from torch._utils import (_flatten_dense_tensors, _take_tensors,
+ _unflatten_dense_tensors)
+
+from annotator.mmpkg.mmcv.utils import TORCH_VERSION, digit_version
+from .registry import MODULE_WRAPPERS
+from .scatter_gather import scatter_kwargs
+
+
+@MODULE_WRAPPERS.register_module()
+class MMDistributedDataParallel(nn.Module):
+
+ def __init__(self,
+ module,
+ dim=0,
+ broadcast_buffers=True,
+ bucket_cap_mb=25):
+ super(MMDistributedDataParallel, self).__init__()
+ self.module = module
+ self.dim = dim
+ self.broadcast_buffers = broadcast_buffers
+
+ self.broadcast_bucket_size = bucket_cap_mb * 1024 * 1024
+ self._sync_params()
+
+ def _dist_broadcast_coalesced(self, tensors, buffer_size):
+ for tensors in _take_tensors(tensors, buffer_size):
+ flat_tensors = _flatten_dense_tensors(tensors)
+ dist.broadcast(flat_tensors, 0)
+ for tensor, synced in zip(
+ tensors, _unflatten_dense_tensors(flat_tensors, tensors)):
+ tensor.copy_(synced)
+
+ def _sync_params(self):
+ module_states = list(self.module.state_dict().values())
+ if len(module_states) > 0:
+ self._dist_broadcast_coalesced(module_states,
+ self.broadcast_bucket_size)
+ if self.broadcast_buffers:
+ if (TORCH_VERSION != 'parrots'
+ and digit_version(TORCH_VERSION) < digit_version('1.0')):
+ buffers = [b.data for b in self.module._all_buffers()]
+ else:
+ buffers = [b.data for b in self.module.buffers()]
+ if len(buffers) > 0:
+ self._dist_broadcast_coalesced(buffers,
+ self.broadcast_bucket_size)
+
+ def scatter(self, inputs, kwargs, device_ids):
+ return scatter_kwargs(inputs, kwargs, device_ids, dim=self.dim)
+
+ def forward(self, *inputs, **kwargs):
+ inputs, kwargs = self.scatter(inputs, kwargs,
+ [torch.cuda.current_device()])
+ return self.module(*inputs[0], **kwargs[0])
+
+ def train_step(self, *inputs, **kwargs):
+ inputs, kwargs = self.scatter(inputs, kwargs,
+ [torch.cuda.current_device()])
+ output = self.module.train_step(*inputs[0], **kwargs[0])
+ return output
+
+ def val_step(self, *inputs, **kwargs):
+ inputs, kwargs = self.scatter(inputs, kwargs,
+ [torch.cuda.current_device()])
+ output = self.module.val_step(*inputs[0], **kwargs[0])
+ return output
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/parallel/registry.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/parallel/registry.py
new file mode 100644
index 0000000000000000000000000000000000000000..6ce151e5f890691e8b583e5d50b492801bae82bd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/parallel/registry.py
@@ -0,0 +1,8 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from torch.nn.parallel import DataParallel, DistributedDataParallel
+
+from annotator.mmpkg.mmcv.utils import Registry
+
+MODULE_WRAPPERS = Registry('module wrapper')
+MODULE_WRAPPERS.register_module(module=DataParallel)
+MODULE_WRAPPERS.register_module(module=DistributedDataParallel)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/parallel/scatter_gather.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/parallel/scatter_gather.py
new file mode 100644
index 0000000000000000000000000000000000000000..900ff88566f8f14830590459dc4fd16d4b382e47
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/parallel/scatter_gather.py
@@ -0,0 +1,59 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import torch
+from torch.nn.parallel._functions import Scatter as OrigScatter
+
+from ._functions import Scatter
+from .data_container import DataContainer
+
+
+def scatter(inputs, target_gpus, dim=0):
+ """Scatter inputs to target gpus.
+
+ The only difference from original :func:`scatter` is to add support for
+ :type:`~mmcv.parallel.DataContainer`.
+ """
+
+ def scatter_map(obj):
+ if isinstance(obj, torch.Tensor):
+ if target_gpus != [-1]:
+ return OrigScatter.apply(target_gpus, None, dim, obj)
+ else:
+ # for CPU inference we use self-implemented scatter
+ return Scatter.forward(target_gpus, obj)
+ if isinstance(obj, DataContainer):
+ if obj.cpu_only:
+ return obj.data
+ else:
+ return Scatter.forward(target_gpus, obj.data)
+ if isinstance(obj, tuple) and len(obj) > 0:
+ return list(zip(*map(scatter_map, obj)))
+ if isinstance(obj, list) and len(obj) > 0:
+ out = list(map(list, zip(*map(scatter_map, obj))))
+ return out
+ if isinstance(obj, dict) and len(obj) > 0:
+ out = list(map(type(obj), zip(*map(scatter_map, obj.items()))))
+ return out
+ return [obj for targets in target_gpus]
+
+ # After scatter_map is called, a scatter_map cell will exist. This cell
+ # has a reference to the actual function scatter_map, which has references
+ # to a closure that has a reference to the scatter_map cell (because the
+ # fn is recursive). To avoid this reference cycle, we set the function to
+ # None, clearing the cell
+ try:
+ return scatter_map(inputs)
+ finally:
+ scatter_map = None
+
+
+def scatter_kwargs(inputs, kwargs, target_gpus, dim=0):
+ """Scatter with support for kwargs dictionary."""
+ inputs = scatter(inputs, target_gpus, dim) if inputs else []
+ kwargs = scatter(kwargs, target_gpus, dim) if kwargs else []
+ if len(inputs) < len(kwargs):
+ inputs.extend([() for _ in range(len(kwargs) - len(inputs))])
+ elif len(kwargs) < len(inputs):
+ kwargs.extend([{} for _ in range(len(inputs) - len(kwargs))])
+ inputs = tuple(inputs)
+ kwargs = tuple(kwargs)
+ return inputs, kwargs
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/parallel/utils.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/parallel/utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..0f5712cb42c38a2e8563bf563efb6681383cab9b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/parallel/utils.py
@@ -0,0 +1,20 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from .registry import MODULE_WRAPPERS
+
+
+def is_module_wrapper(module):
+ """Check if a module is a module wrapper.
+
+ The following 3 modules in MMCV (and their subclasses) are regarded as
+ module wrappers: DataParallel, DistributedDataParallel,
+ MMDistributedDataParallel (the deprecated version). You may add you own
+ module wrapper by registering it to mmcv.parallel.MODULE_WRAPPERS.
+
+ Args:
+ module (nn.Module): The module to be checked.
+
+ Returns:
+ bool: True if the input module is a module wrapper.
+ """
+ module_wrappers = tuple(MODULE_WRAPPERS.module_dict.values())
+ return isinstance(module, module_wrappers)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..52e4b48d383a84a055dcd7f6236f6e8e58eab924
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/__init__.py
@@ -0,0 +1,47 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from .base_module import BaseModule, ModuleList, Sequential
+from .base_runner import BaseRunner
+from .builder import RUNNERS, build_runner
+from .checkpoint import (CheckpointLoader, _load_checkpoint,
+ _load_checkpoint_with_prefix, load_checkpoint,
+ load_state_dict, save_checkpoint, weights_to_cpu)
+from .default_constructor import DefaultRunnerConstructor
+from .dist_utils import (allreduce_grads, allreduce_params, get_dist_info,
+ init_dist, master_only)
+from .epoch_based_runner import EpochBasedRunner, Runner
+from .fp16_utils import LossScaler, auto_fp16, force_fp32, wrap_fp16_model
+from .hooks import (HOOKS, CheckpointHook, ClosureHook, DistEvalHook,
+ DistSamplerSeedHook, DvcliveLoggerHook, EMAHook, EvalHook,
+ Fp16OptimizerHook, GradientCumulativeFp16OptimizerHook,
+ GradientCumulativeOptimizerHook, Hook, IterTimerHook,
+ LoggerHook, LrUpdaterHook, MlflowLoggerHook,
+ NeptuneLoggerHook, OptimizerHook, PaviLoggerHook,
+ SyncBuffersHook, TensorboardLoggerHook, TextLoggerHook,
+ WandbLoggerHook)
+from .iter_based_runner import IterBasedRunner, IterLoader
+from .log_buffer import LogBuffer
+from .optimizer import (OPTIMIZER_BUILDERS, OPTIMIZERS,
+ DefaultOptimizerConstructor, build_optimizer,
+ build_optimizer_constructor)
+from .priority import Priority, get_priority
+from .utils import get_host_info, get_time_str, obj_from_dict, set_random_seed
+
+__all__ = [
+ 'BaseRunner', 'Runner', 'EpochBasedRunner', 'IterBasedRunner', 'LogBuffer',
+ 'HOOKS', 'Hook', 'CheckpointHook', 'ClosureHook', 'LrUpdaterHook',
+ 'OptimizerHook', 'IterTimerHook', 'DistSamplerSeedHook', 'LoggerHook',
+ 'PaviLoggerHook', 'TextLoggerHook', 'TensorboardLoggerHook',
+ 'NeptuneLoggerHook', 'WandbLoggerHook', 'MlflowLoggerHook',
+ 'DvcliveLoggerHook', '_load_checkpoint', 'load_state_dict',
+ 'load_checkpoint', 'weights_to_cpu', 'save_checkpoint', 'Priority',
+ 'get_priority', 'get_host_info', 'get_time_str', 'obj_from_dict',
+ 'init_dist', 'get_dist_info', 'master_only', 'OPTIMIZER_BUILDERS',
+ 'OPTIMIZERS', 'DefaultOptimizerConstructor', 'build_optimizer',
+ 'build_optimizer_constructor', 'IterLoader', 'set_random_seed',
+ 'auto_fp16', 'force_fp32', 'wrap_fp16_model', 'Fp16OptimizerHook',
+ 'SyncBuffersHook', 'EMAHook', 'build_runner', 'RUNNERS', 'allreduce_grads',
+ 'allreduce_params', 'LossScaler', 'CheckpointLoader', 'BaseModule',
+ '_load_checkpoint_with_prefix', 'EvalHook', 'DistEvalHook', 'Sequential',
+ 'ModuleList', 'GradientCumulativeOptimizerHook',
+ 'GradientCumulativeFp16OptimizerHook', 'DefaultRunnerConstructor'
+]
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/base_module.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/base_module.py
new file mode 100644
index 0000000000000000000000000000000000000000..72e1164dfc442056cdc386050177f011b4e9900f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/base_module.py
@@ -0,0 +1,195 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import copy
+import warnings
+from abc import ABCMeta
+from collections import defaultdict
+from logging import FileHandler
+
+import torch.nn as nn
+
+from annotator.mmpkg.mmcv.runner.dist_utils import master_only
+from annotator.mmpkg.mmcv.utils.logging import get_logger, logger_initialized, print_log
+
+
+class BaseModule(nn.Module, metaclass=ABCMeta):
+ """Base module for all modules in openmmlab.
+
+ ``BaseModule`` is a wrapper of ``torch.nn.Module`` with additional
+ functionality of parameter initialization. Compared with
+ ``torch.nn.Module``, ``BaseModule`` mainly adds three attributes.
+
+ - ``init_cfg``: the config to control the initialization.
+ - ``init_weights``: The function of parameter
+ initialization and recording initialization
+ information.
+ - ``_params_init_info``: Used to track the parameter
+ initialization information. This attribute only
+ exists during executing the ``init_weights``.
+
+ Args:
+ init_cfg (dict, optional): Initialization config dict.
+ """
+
+ def __init__(self, init_cfg=None):
+ """Initialize BaseModule, inherited from `torch.nn.Module`"""
+
+ # NOTE init_cfg can be defined in different levels, but init_cfg
+ # in low levels has a higher priority.
+
+ super(BaseModule, self).__init__()
+ # define default value of init_cfg instead of hard code
+ # in init_weights() function
+ self._is_init = False
+
+ self.init_cfg = copy.deepcopy(init_cfg)
+
+ # Backward compatibility in derived classes
+ # if pretrained is not None:
+ # warnings.warn('DeprecationWarning: pretrained is a deprecated \
+ # key, please consider using init_cfg')
+ # self.init_cfg = dict(type='Pretrained', checkpoint=pretrained)
+
+ @property
+ def is_init(self):
+ return self._is_init
+
+ def init_weights(self):
+ """Initialize the weights."""
+
+ is_top_level_module = False
+ # check if it is top-level module
+ if not hasattr(self, '_params_init_info'):
+ # The `_params_init_info` is used to record the initialization
+ # information of the parameters
+ # the key should be the obj:`nn.Parameter` of model and the value
+ # should be a dict containing
+ # - init_info (str): The string that describes the initialization.
+ # - tmp_mean_value (FloatTensor): The mean of the parameter,
+ # which indicates whether the parameter has been modified.
+ # this attribute would be deleted after all parameters
+ # is initialized.
+ self._params_init_info = defaultdict(dict)
+ is_top_level_module = True
+
+ # Initialize the `_params_init_info`,
+ # When detecting the `tmp_mean_value` of
+ # the corresponding parameter is changed, update related
+ # initialization information
+ for name, param in self.named_parameters():
+ self._params_init_info[param][
+ 'init_info'] = f'The value is the same before and ' \
+ f'after calling `init_weights` ' \
+ f'of {self.__class__.__name__} '
+ self._params_init_info[param][
+ 'tmp_mean_value'] = param.data.mean()
+
+ # pass `params_init_info` to all submodules
+ # All submodules share the same `params_init_info`,
+ # so it will be updated when parameters are
+ # modified at any level of the model.
+ for sub_module in self.modules():
+ sub_module._params_init_info = self._params_init_info
+
+ # Get the initialized logger, if not exist,
+ # create a logger named `mmcv`
+ logger_names = list(logger_initialized.keys())
+ logger_name = logger_names[0] if logger_names else 'mmcv'
+
+ from ..cnn import initialize
+ from ..cnn.utils.weight_init import update_init_info
+ module_name = self.__class__.__name__
+ if not self._is_init:
+ if self.init_cfg:
+ print_log(
+ f'initialize {module_name} with init_cfg {self.init_cfg}',
+ logger=logger_name)
+ initialize(self, self.init_cfg)
+ if isinstance(self.init_cfg, dict):
+ # prevent the parameters of
+ # the pre-trained model
+ # from being overwritten by
+ # the `init_weights`
+ if self.init_cfg['type'] == 'Pretrained':
+ return
+
+ for m in self.children():
+ if hasattr(m, 'init_weights'):
+ m.init_weights()
+ # users may overload the `init_weights`
+ update_init_info(
+ m,
+ init_info=f'Initialized by '
+ f'user-defined `init_weights`'
+ f' in {m.__class__.__name__} ')
+
+ self._is_init = True
+ else:
+ warnings.warn(f'init_weights of {self.__class__.__name__} has '
+ f'been called more than once.')
+
+ if is_top_level_module:
+ self._dump_init_info(logger_name)
+
+ for sub_module in self.modules():
+ del sub_module._params_init_info
+
+ @master_only
+ def _dump_init_info(self, logger_name):
+ """Dump the initialization information to a file named
+ `initialization.log.json` in workdir.
+
+ Args:
+ logger_name (str): The name of logger.
+ """
+
+ logger = get_logger(logger_name)
+
+ with_file_handler = False
+ # dump the information to the logger file if there is a `FileHandler`
+ for handler in logger.handlers:
+ if isinstance(handler, FileHandler):
+ handler.stream.write(
+ 'Name of parameter - Initialization information\n')
+ for name, param in self.named_parameters():
+ handler.stream.write(
+ f'\n{name} - {param.shape}: '
+ f"\n{self._params_init_info[param]['init_info']} \n")
+ handler.stream.flush()
+ with_file_handler = True
+ if not with_file_handler:
+ for name, param in self.named_parameters():
+ print_log(
+ f'\n{name} - {param.shape}: '
+ f"\n{self._params_init_info[param]['init_info']} \n ",
+ logger=logger_name)
+
+ def __repr__(self):
+ s = super().__repr__()
+ if self.init_cfg:
+ s += f'\ninit_cfg={self.init_cfg}'
+ return s
+
+
+class Sequential(BaseModule, nn.Sequential):
+ """Sequential module in openmmlab.
+
+ Args:
+ init_cfg (dict, optional): Initialization config dict.
+ """
+
+ def __init__(self, *args, init_cfg=None):
+ BaseModule.__init__(self, init_cfg)
+ nn.Sequential.__init__(self, *args)
+
+
+class ModuleList(BaseModule, nn.ModuleList):
+ """ModuleList in openmmlab.
+
+ Args:
+ modules (iterable, optional): an iterable of modules to add.
+ init_cfg (dict, optional): Initialization config dict.
+ """
+
+ def __init__(self, modules=None, init_cfg=None):
+ BaseModule.__init__(self, init_cfg)
+ nn.ModuleList.__init__(self, modules)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/base_runner.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/base_runner.py
new file mode 100644
index 0000000000000000000000000000000000000000..a75a7d5db9f281fda10008636b24e2b98d9336a0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/base_runner.py
@@ -0,0 +1,542 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import copy
+import logging
+import os.path as osp
+import warnings
+from abc import ABCMeta, abstractmethod
+
+import torch
+from torch.optim import Optimizer
+
+import annotator.mmpkg.mmcv as mmcv
+from ..parallel import is_module_wrapper
+from .checkpoint import load_checkpoint
+from .dist_utils import get_dist_info
+from .hooks import HOOKS, Hook
+from .log_buffer import LogBuffer
+from .priority import Priority, get_priority
+from .utils import get_time_str
+
+
+class BaseRunner(metaclass=ABCMeta):
+ """The base class of Runner, a training helper for PyTorch.
+
+ All subclasses should implement the following APIs:
+
+ - ``run()``
+ - ``train()``
+ - ``val()``
+ - ``save_checkpoint()``
+
+ Args:
+ model (:obj:`torch.nn.Module`): The model to be run.
+ batch_processor (callable): A callable method that process a data
+ batch. The interface of this method should be
+ `batch_processor(model, data, train_mode) -> dict`
+ optimizer (dict or :obj:`torch.optim.Optimizer`): It can be either an
+ optimizer (in most cases) or a dict of optimizers (in models that
+ requires more than one optimizer, e.g., GAN).
+ work_dir (str, optional): The working directory to save checkpoints
+ and logs. Defaults to None.
+ logger (:obj:`logging.Logger`): Logger used during training.
+ Defaults to None. (The default value is just for backward
+ compatibility)
+ meta (dict | None): A dict records some import information such as
+ environment info and seed, which will be logged in logger hook.
+ Defaults to None.
+ max_epochs (int, optional): Total training epochs.
+ max_iters (int, optional): Total training iterations.
+ """
+
+ def __init__(self,
+ model,
+ batch_processor=None,
+ optimizer=None,
+ work_dir=None,
+ logger=None,
+ meta=None,
+ max_iters=None,
+ max_epochs=None):
+ if batch_processor is not None:
+ if not callable(batch_processor):
+ raise TypeError('batch_processor must be callable, '
+ f'but got {type(batch_processor)}')
+ warnings.warn('batch_processor is deprecated, please implement '
+ 'train_step() and val_step() in the model instead.')
+ # raise an error is `batch_processor` is not None and
+ # `model.train_step()` exists.
+ if is_module_wrapper(model):
+ _model = model.module
+ else:
+ _model = model
+ if hasattr(_model, 'train_step') or hasattr(_model, 'val_step'):
+ raise RuntimeError(
+ 'batch_processor and model.train_step()/model.val_step() '
+ 'cannot be both available.')
+ else:
+ assert hasattr(model, 'train_step')
+
+ # check the type of `optimizer`
+ if isinstance(optimizer, dict):
+ for name, optim in optimizer.items():
+ if not isinstance(optim, Optimizer):
+ raise TypeError(
+ f'optimizer must be a dict of torch.optim.Optimizers, '
+ f'but optimizer["{name}"] is a {type(optim)}')
+ elif not isinstance(optimizer, Optimizer) and optimizer is not None:
+ raise TypeError(
+ f'optimizer must be a torch.optim.Optimizer object '
+ f'or dict or None, but got {type(optimizer)}')
+
+ # check the type of `logger`
+ if not isinstance(logger, logging.Logger):
+ raise TypeError(f'logger must be a logging.Logger object, '
+ f'but got {type(logger)}')
+
+ # check the type of `meta`
+ if meta is not None and not isinstance(meta, dict):
+ raise TypeError(
+ f'meta must be a dict or None, but got {type(meta)}')
+
+ self.model = model
+ self.batch_processor = batch_processor
+ self.optimizer = optimizer
+ self.logger = logger
+ self.meta = meta
+ # create work_dir
+ if mmcv.is_str(work_dir):
+ self.work_dir = osp.abspath(work_dir)
+ mmcv.mkdir_or_exist(self.work_dir)
+ elif work_dir is None:
+ self.work_dir = None
+ else:
+ raise TypeError('"work_dir" must be a str or None')
+
+ # get model name from the model class
+ if hasattr(self.model, 'module'):
+ self._model_name = self.model.module.__class__.__name__
+ else:
+ self._model_name = self.model.__class__.__name__
+
+ self._rank, self._world_size = get_dist_info()
+ self.timestamp = get_time_str()
+ self.mode = None
+ self._hooks = []
+ self._epoch = 0
+ self._iter = 0
+ self._inner_iter = 0
+
+ if max_epochs is not None and max_iters is not None:
+ raise ValueError(
+ 'Only one of `max_epochs` or `max_iters` can be set.')
+
+ self._max_epochs = max_epochs
+ self._max_iters = max_iters
+ # TODO: Redesign LogBuffer, it is not flexible and elegant enough
+ self.log_buffer = LogBuffer()
+
+ @property
+ def model_name(self):
+ """str: Name of the model, usually the module class name."""
+ return self._model_name
+
+ @property
+ def rank(self):
+ """int: Rank of current process. (distributed training)"""
+ return self._rank
+
+ @property
+ def world_size(self):
+ """int: Number of processes participating in the job.
+ (distributed training)"""
+ return self._world_size
+
+ @property
+ def hooks(self):
+ """list[:obj:`Hook`]: A list of registered hooks."""
+ return self._hooks
+
+ @property
+ def epoch(self):
+ """int: Current epoch."""
+ return self._epoch
+
+ @property
+ def iter(self):
+ """int: Current iteration."""
+ return self._iter
+
+ @property
+ def inner_iter(self):
+ """int: Iteration in an epoch."""
+ return self._inner_iter
+
+ @property
+ def max_epochs(self):
+ """int: Maximum training epochs."""
+ return self._max_epochs
+
+ @property
+ def max_iters(self):
+ """int: Maximum training iterations."""
+ return self._max_iters
+
+ @abstractmethod
+ def train(self):
+ pass
+
+ @abstractmethod
+ def val(self):
+ pass
+
+ @abstractmethod
+ def run(self, data_loaders, workflow, **kwargs):
+ pass
+
+ @abstractmethod
+ def save_checkpoint(self,
+ out_dir,
+ filename_tmpl,
+ save_optimizer=True,
+ meta=None,
+ create_symlink=True):
+ pass
+
+ def current_lr(self):
+ """Get current learning rates.
+
+ Returns:
+ list[float] | dict[str, list[float]]: Current learning rates of all
+ param groups. If the runner has a dict of optimizers, this
+ method will return a dict.
+ """
+ if isinstance(self.optimizer, torch.optim.Optimizer):
+ lr = [group['lr'] for group in self.optimizer.param_groups]
+ elif isinstance(self.optimizer, dict):
+ lr = dict()
+ for name, optim in self.optimizer.items():
+ lr[name] = [group['lr'] for group in optim.param_groups]
+ else:
+ raise RuntimeError(
+ 'lr is not applicable because optimizer does not exist.')
+ return lr
+
+ def current_momentum(self):
+ """Get current momentums.
+
+ Returns:
+ list[float] | dict[str, list[float]]: Current momentums of all
+ param groups. If the runner has a dict of optimizers, this
+ method will return a dict.
+ """
+
+ def _get_momentum(optimizer):
+ momentums = []
+ for group in optimizer.param_groups:
+ if 'momentum' in group.keys():
+ momentums.append(group['momentum'])
+ elif 'betas' in group.keys():
+ momentums.append(group['betas'][0])
+ else:
+ momentums.append(0)
+ return momentums
+
+ if self.optimizer is None:
+ raise RuntimeError(
+ 'momentum is not applicable because optimizer does not exist.')
+ elif isinstance(self.optimizer, torch.optim.Optimizer):
+ momentums = _get_momentum(self.optimizer)
+ elif isinstance(self.optimizer, dict):
+ momentums = dict()
+ for name, optim in self.optimizer.items():
+ momentums[name] = _get_momentum(optim)
+ return momentums
+
+ def register_hook(self, hook, priority='NORMAL'):
+ """Register a hook into the hook list.
+
+ The hook will be inserted into a priority queue, with the specified
+ priority (See :class:`Priority` for details of priorities).
+ For hooks with the same priority, they will be triggered in the same
+ order as they are registered.
+
+ Args:
+ hook (:obj:`Hook`): The hook to be registered.
+ priority (int or str or :obj:`Priority`): Hook priority.
+ Lower value means higher priority.
+ """
+ assert isinstance(hook, Hook)
+ if hasattr(hook, 'priority'):
+ raise ValueError('"priority" is a reserved attribute for hooks')
+ priority = get_priority(priority)
+ hook.priority = priority
+ # insert the hook to a sorted list
+ inserted = False
+ for i in range(len(self._hooks) - 1, -1, -1):
+ if priority >= self._hooks[i].priority:
+ self._hooks.insert(i + 1, hook)
+ inserted = True
+ break
+ if not inserted:
+ self._hooks.insert(0, hook)
+
+ def register_hook_from_cfg(self, hook_cfg):
+ """Register a hook from its cfg.
+
+ Args:
+ hook_cfg (dict): Hook config. It should have at least keys 'type'
+ and 'priority' indicating its type and priority.
+
+ Notes:
+ The specific hook class to register should not use 'type' and
+ 'priority' arguments during initialization.
+ """
+ hook_cfg = hook_cfg.copy()
+ priority = hook_cfg.pop('priority', 'NORMAL')
+ hook = mmcv.build_from_cfg(hook_cfg, HOOKS)
+ self.register_hook(hook, priority=priority)
+
+ def call_hook(self, fn_name):
+ """Call all hooks.
+
+ Args:
+ fn_name (str): The function name in each hook to be called, such as
+ "before_train_epoch".
+ """
+ for hook in self._hooks:
+ getattr(hook, fn_name)(self)
+
+ def get_hook_info(self):
+ # Get hooks info in each stage
+ stage_hook_map = {stage: [] for stage in Hook.stages}
+ for hook in self.hooks:
+ try:
+ priority = Priority(hook.priority).name
+ except ValueError:
+ priority = hook.priority
+ classname = hook.__class__.__name__
+ hook_info = f'({priority:<12}) {classname:<35}'
+ for trigger_stage in hook.get_triggered_stages():
+ stage_hook_map[trigger_stage].append(hook_info)
+
+ stage_hook_infos = []
+ for stage in Hook.stages:
+ hook_infos = stage_hook_map[stage]
+ if len(hook_infos) > 0:
+ info = f'{stage}:\n'
+ info += '\n'.join(hook_infos)
+ info += '\n -------------------- '
+ stage_hook_infos.append(info)
+ return '\n'.join(stage_hook_infos)
+
+ def load_checkpoint(self,
+ filename,
+ map_location='cpu',
+ strict=False,
+ revise_keys=[(r'^module.', '')]):
+ return load_checkpoint(
+ self.model,
+ filename,
+ map_location,
+ strict,
+ self.logger,
+ revise_keys=revise_keys)
+
+ def resume(self,
+ checkpoint,
+ resume_optimizer=True,
+ map_location='default'):
+ if map_location == 'default':
+ if torch.cuda.is_available():
+ device_id = torch.cuda.current_device()
+ checkpoint = self.load_checkpoint(
+ checkpoint,
+ map_location=lambda storage, loc: storage.cuda(device_id))
+ else:
+ checkpoint = self.load_checkpoint(checkpoint)
+ else:
+ checkpoint = self.load_checkpoint(
+ checkpoint, map_location=map_location)
+
+ self._epoch = checkpoint['meta']['epoch']
+ self._iter = checkpoint['meta']['iter']
+ if self.meta is None:
+ self.meta = {}
+ self.meta.setdefault('hook_msgs', {})
+ # load `last_ckpt`, `best_score`, `best_ckpt`, etc. for hook messages
+ self.meta['hook_msgs'].update(checkpoint['meta'].get('hook_msgs', {}))
+
+ # Re-calculate the number of iterations when resuming
+ # models with different number of GPUs
+ if 'config' in checkpoint['meta']:
+ config = mmcv.Config.fromstring(
+ checkpoint['meta']['config'], file_format='.py')
+ previous_gpu_ids = config.get('gpu_ids', None)
+ if previous_gpu_ids and len(previous_gpu_ids) > 0 and len(
+ previous_gpu_ids) != self.world_size:
+ self._iter = int(self._iter * len(previous_gpu_ids) /
+ self.world_size)
+ self.logger.info('the iteration number is changed due to '
+ 'change of GPU number')
+
+ # resume meta information meta
+ self.meta = checkpoint['meta']
+
+ if 'optimizer' in checkpoint and resume_optimizer:
+ if isinstance(self.optimizer, Optimizer):
+ self.optimizer.load_state_dict(checkpoint['optimizer'])
+ elif isinstance(self.optimizer, dict):
+ for k in self.optimizer.keys():
+ self.optimizer[k].load_state_dict(
+ checkpoint['optimizer'][k])
+ else:
+ raise TypeError(
+ 'Optimizer should be dict or torch.optim.Optimizer '
+ f'but got {type(self.optimizer)}')
+
+ self.logger.info('resumed epoch %d, iter %d', self.epoch, self.iter)
+
+ def register_lr_hook(self, lr_config):
+ if lr_config is None:
+ return
+ elif isinstance(lr_config, dict):
+ assert 'policy' in lr_config
+ policy_type = lr_config.pop('policy')
+ # If the type of policy is all in lower case, e.g., 'cyclic',
+ # then its first letter will be capitalized, e.g., to be 'Cyclic'.
+ # This is for the convenient usage of Lr updater.
+ # Since this is not applicable for `
+ # CosineAnnealingLrUpdater`,
+ # the string will not be changed if it contains capital letters.
+ if policy_type == policy_type.lower():
+ policy_type = policy_type.title()
+ hook_type = policy_type + 'LrUpdaterHook'
+ lr_config['type'] = hook_type
+ hook = mmcv.build_from_cfg(lr_config, HOOKS)
+ else:
+ hook = lr_config
+ self.register_hook(hook, priority='VERY_HIGH')
+
+ def register_momentum_hook(self, momentum_config):
+ if momentum_config is None:
+ return
+ if isinstance(momentum_config, dict):
+ assert 'policy' in momentum_config
+ policy_type = momentum_config.pop('policy')
+ # If the type of policy is all in lower case, e.g., 'cyclic',
+ # then its first letter will be capitalized, e.g., to be 'Cyclic'.
+ # This is for the convenient usage of momentum updater.
+ # Since this is not applicable for
+ # `CosineAnnealingMomentumUpdater`,
+ # the string will not be changed if it contains capital letters.
+ if policy_type == policy_type.lower():
+ policy_type = policy_type.title()
+ hook_type = policy_type + 'MomentumUpdaterHook'
+ momentum_config['type'] = hook_type
+ hook = mmcv.build_from_cfg(momentum_config, HOOKS)
+ else:
+ hook = momentum_config
+ self.register_hook(hook, priority='HIGH')
+
+ def register_optimizer_hook(self, optimizer_config):
+ if optimizer_config is None:
+ return
+ if isinstance(optimizer_config, dict):
+ optimizer_config.setdefault('type', 'OptimizerHook')
+ hook = mmcv.build_from_cfg(optimizer_config, HOOKS)
+ else:
+ hook = optimizer_config
+ self.register_hook(hook, priority='ABOVE_NORMAL')
+
+ def register_checkpoint_hook(self, checkpoint_config):
+ if checkpoint_config is None:
+ return
+ if isinstance(checkpoint_config, dict):
+ checkpoint_config.setdefault('type', 'CheckpointHook')
+ hook = mmcv.build_from_cfg(checkpoint_config, HOOKS)
+ else:
+ hook = checkpoint_config
+ self.register_hook(hook, priority='NORMAL')
+
+ def register_logger_hooks(self, log_config):
+ if log_config is None:
+ return
+ log_interval = log_config['interval']
+ for info in log_config['hooks']:
+ logger_hook = mmcv.build_from_cfg(
+ info, HOOKS, default_args=dict(interval=log_interval))
+ self.register_hook(logger_hook, priority='VERY_LOW')
+
+ def register_timer_hook(self, timer_config):
+ if timer_config is None:
+ return
+ if isinstance(timer_config, dict):
+ timer_config_ = copy.deepcopy(timer_config)
+ hook = mmcv.build_from_cfg(timer_config_, HOOKS)
+ else:
+ hook = timer_config
+ self.register_hook(hook, priority='LOW')
+
+ def register_custom_hooks(self, custom_config):
+ if custom_config is None:
+ return
+
+ if not isinstance(custom_config, list):
+ custom_config = [custom_config]
+
+ for item in custom_config:
+ if isinstance(item, dict):
+ self.register_hook_from_cfg(item)
+ else:
+ self.register_hook(item, priority='NORMAL')
+
+ def register_profiler_hook(self, profiler_config):
+ if profiler_config is None:
+ return
+ if isinstance(profiler_config, dict):
+ profiler_config.setdefault('type', 'ProfilerHook')
+ hook = mmcv.build_from_cfg(profiler_config, HOOKS)
+ else:
+ hook = profiler_config
+ self.register_hook(hook)
+
+ def register_training_hooks(self,
+ lr_config,
+ optimizer_config=None,
+ checkpoint_config=None,
+ log_config=None,
+ momentum_config=None,
+ timer_config=dict(type='IterTimerHook'),
+ custom_hooks_config=None):
+ """Register default and custom hooks for training.
+
+ Default and custom hooks include:
+
+ +----------------------+-------------------------+
+ | Hooks | Priority |
+ +======================+=========================+
+ | LrUpdaterHook | VERY_HIGH (10) |
+ +----------------------+-------------------------+
+ | MomentumUpdaterHook | HIGH (30) |
+ +----------------------+-------------------------+
+ | OptimizerStepperHook | ABOVE_NORMAL (40) |
+ +----------------------+-------------------------+
+ | CheckpointSaverHook | NORMAL (50) |
+ +----------------------+-------------------------+
+ | IterTimerHook | LOW (70) |
+ +----------------------+-------------------------+
+ | LoggerHook(s) | VERY_LOW (90) |
+ +----------------------+-------------------------+
+ | CustomHook(s) | defaults to NORMAL (50) |
+ +----------------------+-------------------------+
+
+ If custom hooks have same priority with default hooks, custom hooks
+ will be triggered after default hooks.
+ """
+ self.register_lr_hook(lr_config)
+ self.register_momentum_hook(momentum_config)
+ self.register_optimizer_hook(optimizer_config)
+ self.register_checkpoint_hook(checkpoint_config)
+ self.register_timer_hook(timer_config)
+ self.register_logger_hooks(log_config)
+ self.register_custom_hooks(custom_hooks_config)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/builder.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/builder.py
new file mode 100644
index 0000000000000000000000000000000000000000..77c96ba0b2f30ead9da23f293c5dc84dd3e4a74f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/builder.py
@@ -0,0 +1,24 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import copy
+
+from ..utils import Registry
+
+RUNNERS = Registry('runner')
+RUNNER_BUILDERS = Registry('runner builder')
+
+
+def build_runner_constructor(cfg):
+ return RUNNER_BUILDERS.build(cfg)
+
+
+def build_runner(cfg, default_args=None):
+ runner_cfg = copy.deepcopy(cfg)
+ constructor_type = runner_cfg.pop('constructor',
+ 'DefaultRunnerConstructor')
+ runner_constructor = build_runner_constructor(
+ dict(
+ type=constructor_type,
+ runner_cfg=runner_cfg,
+ default_args=default_args))
+ runner = runner_constructor()
+ return runner
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/checkpoint.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/checkpoint.py
new file mode 100644
index 0000000000000000000000000000000000000000..d690be1dfe70b1b82eaac8fe4db7022b35d5426c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/checkpoint.py
@@ -0,0 +1,707 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import io
+import os
+import os.path as osp
+import pkgutil
+import re
+import time
+import warnings
+from collections import OrderedDict
+from importlib import import_module
+from tempfile import TemporaryDirectory
+
+import torch
+import torchvision
+from torch.optim import Optimizer
+from torch.utils import model_zoo
+
+import annotator.mmpkg.mmcv as mmcv
+from ..fileio import FileClient
+from ..fileio import load as load_file
+from ..parallel import is_module_wrapper
+from ..utils import mkdir_or_exist
+from .dist_utils import get_dist_info
+
+ENV_MMCV_HOME = 'MMCV_HOME'
+ENV_XDG_CACHE_HOME = 'XDG_CACHE_HOME'
+DEFAULT_CACHE_DIR = '~/.cache'
+
+
+def _get_mmcv_home():
+ mmcv_home = os.path.expanduser(
+ os.getenv(
+ ENV_MMCV_HOME,
+ os.path.join(
+ os.getenv(ENV_XDG_CACHE_HOME, DEFAULT_CACHE_DIR), 'mmcv')))
+
+ mkdir_or_exist(mmcv_home)
+ return mmcv_home
+
+
+def load_state_dict(module, state_dict, strict=False, logger=None):
+ """Load state_dict to a module.
+
+ This method is modified from :meth:`torch.nn.Module.load_state_dict`.
+ Default value for ``strict`` is set to ``False`` and the message for
+ param mismatch will be shown even if strict is False.
+
+ Args:
+ module (Module): Module that receives the state_dict.
+ state_dict (OrderedDict): Weights.
+ strict (bool): whether to strictly enforce that the keys
+ in :attr:`state_dict` match the keys returned by this module's
+ :meth:`~torch.nn.Module.state_dict` function. Default: ``False``.
+ logger (:obj:`logging.Logger`, optional): Logger to log the error
+ message. If not specified, print function will be used.
+ """
+ unexpected_keys = []
+ all_missing_keys = []
+ err_msg = []
+
+ metadata = getattr(state_dict, '_metadata', None)
+ state_dict = state_dict.copy()
+ if metadata is not None:
+ state_dict._metadata = metadata
+
+ # use _load_from_state_dict to enable checkpoint version control
+ def load(module, prefix=''):
+ # recursively check parallel module in case that the model has a
+ # complicated structure, e.g., nn.Module(nn.Module(DDP))
+ if is_module_wrapper(module):
+ module = module.module
+ local_metadata = {} if metadata is None else metadata.get(
+ prefix[:-1], {})
+ module._load_from_state_dict(state_dict, prefix, local_metadata, True,
+ all_missing_keys, unexpected_keys,
+ err_msg)
+ for name, child in module._modules.items():
+ if child is not None:
+ load(child, prefix + name + '.')
+
+ load(module)
+ load = None # break load->load reference cycle
+
+ # ignore "num_batches_tracked" of BN layers
+ missing_keys = [
+ key for key in all_missing_keys if 'num_batches_tracked' not in key
+ ]
+
+ if unexpected_keys:
+ err_msg.append('unexpected key in source '
+ f'state_dict: {", ".join(unexpected_keys)}\n')
+ if missing_keys:
+ err_msg.append(
+ f'missing keys in source state_dict: {", ".join(missing_keys)}\n')
+
+ rank, _ = get_dist_info()
+ if len(err_msg) > 0 and rank == 0:
+ err_msg.insert(
+ 0, 'The model and loaded state dict do not match exactly\n')
+ err_msg = '\n'.join(err_msg)
+ if strict:
+ raise RuntimeError(err_msg)
+ elif logger is not None:
+ logger.warning(err_msg)
+ else:
+ print(err_msg)
+
+
+def get_torchvision_models():
+ model_urls = dict()
+ for _, name, ispkg in pkgutil.walk_packages(torchvision.models.__path__):
+ if ispkg:
+ continue
+ _zoo = import_module(f'torchvision.models.{name}')
+ if hasattr(_zoo, 'model_urls'):
+ _urls = getattr(_zoo, 'model_urls')
+ model_urls.update(_urls)
+ return model_urls
+
+
+def get_external_models():
+ mmcv_home = _get_mmcv_home()
+ default_json_path = osp.join(mmcv.__path__[0], 'model_zoo/open_mmlab.json')
+ default_urls = load_file(default_json_path)
+ assert isinstance(default_urls, dict)
+ external_json_path = osp.join(mmcv_home, 'open_mmlab.json')
+ if osp.exists(external_json_path):
+ external_urls = load_file(external_json_path)
+ assert isinstance(external_urls, dict)
+ default_urls.update(external_urls)
+
+ return default_urls
+
+
+def get_mmcls_models():
+ mmcls_json_path = osp.join(mmcv.__path__[0], 'model_zoo/mmcls.json')
+ mmcls_urls = load_file(mmcls_json_path)
+
+ return mmcls_urls
+
+
+def get_deprecated_model_names():
+ deprecate_json_path = osp.join(mmcv.__path__[0],
+ 'model_zoo/deprecated.json')
+ deprecate_urls = load_file(deprecate_json_path)
+ assert isinstance(deprecate_urls, dict)
+
+ return deprecate_urls
+
+
+def _process_mmcls_checkpoint(checkpoint):
+ state_dict = checkpoint['state_dict']
+ new_state_dict = OrderedDict()
+ for k, v in state_dict.items():
+ if k.startswith('backbone.'):
+ new_state_dict[k[9:]] = v
+ new_checkpoint = dict(state_dict=new_state_dict)
+
+ return new_checkpoint
+
+
+class CheckpointLoader:
+ """A general checkpoint loader to manage all schemes."""
+
+ _schemes = {}
+
+ @classmethod
+ def _register_scheme(cls, prefixes, loader, force=False):
+ if isinstance(prefixes, str):
+ prefixes = [prefixes]
+ else:
+ assert isinstance(prefixes, (list, tuple))
+ for prefix in prefixes:
+ if (prefix not in cls._schemes) or force:
+ cls._schemes[prefix] = loader
+ else:
+ raise KeyError(
+ f'{prefix} is already registered as a loader backend, '
+ 'add "force=True" if you want to override it')
+ # sort, longer prefixes take priority
+ cls._schemes = OrderedDict(
+ sorted(cls._schemes.items(), key=lambda t: t[0], reverse=True))
+
+ @classmethod
+ def register_scheme(cls, prefixes, loader=None, force=False):
+ """Register a loader to CheckpointLoader.
+
+ This method can be used as a normal class method or a decorator.
+
+ Args:
+ prefixes (str or list[str] or tuple[str]):
+ The prefix of the registered loader.
+ loader (function, optional): The loader function to be registered.
+ When this method is used as a decorator, loader is None.
+ Defaults to None.
+ force (bool, optional): Whether to override the loader
+ if the prefix has already been registered. Defaults to False.
+ """
+
+ if loader is not None:
+ cls._register_scheme(prefixes, loader, force=force)
+ return
+
+ def _register(loader_cls):
+ cls._register_scheme(prefixes, loader_cls, force=force)
+ return loader_cls
+
+ return _register
+
+ @classmethod
+ def _get_checkpoint_loader(cls, path):
+ """Finds a loader that supports the given path. Falls back to the local
+ loader if no other loader is found.
+
+ Args:
+ path (str): checkpoint path
+
+ Returns:
+ loader (function): checkpoint loader
+ """
+
+ for p in cls._schemes:
+ if path.startswith(p):
+ return cls._schemes[p]
+
+ @classmethod
+ def load_checkpoint(cls, filename, map_location=None, logger=None):
+ """load checkpoint through URL scheme path.
+
+ Args:
+ filename (str): checkpoint file name with given prefix
+ map_location (str, optional): Same as :func:`torch.load`.
+ Default: None
+ logger (:mod:`logging.Logger`, optional): The logger for message.
+ Default: None
+
+ Returns:
+ dict or OrderedDict: The loaded checkpoint.
+ """
+
+ checkpoint_loader = cls._get_checkpoint_loader(filename)
+ class_name = checkpoint_loader.__name__
+ mmcv.print_log(
+ f'load checkpoint from {class_name[10:]} path: {filename}', logger)
+ return checkpoint_loader(filename, map_location)
+
+
+@CheckpointLoader.register_scheme(prefixes='')
+def load_from_local(filename, map_location):
+ """load checkpoint by local file path.
+
+ Args:
+ filename (str): local checkpoint file path
+ map_location (str, optional): Same as :func:`torch.load`.
+
+ Returns:
+ dict or OrderedDict: The loaded checkpoint.
+ """
+
+ if not osp.isfile(filename):
+ raise IOError(f'{filename} is not a checkpoint file')
+ checkpoint = torch.load(filename, map_location=map_location)
+ return checkpoint
+
+
+@CheckpointLoader.register_scheme(prefixes=('http://', 'https://'))
+def load_from_http(filename, map_location=None, model_dir=None):
+ """load checkpoint through HTTP or HTTPS scheme path. In distributed
+ setting, this function only download checkpoint at local rank 0.
+
+ Args:
+ filename (str): checkpoint file path with modelzoo or
+ torchvision prefix
+ map_location (str, optional): Same as :func:`torch.load`.
+ model_dir (string, optional): directory in which to save the object,
+ Default: None
+
+ Returns:
+ dict or OrderedDict: The loaded checkpoint.
+ """
+ rank, world_size = get_dist_info()
+ rank = int(os.environ.get('LOCAL_RANK', rank))
+ if rank == 0:
+ checkpoint = model_zoo.load_url(
+ filename, model_dir=model_dir, map_location=map_location)
+ if world_size > 1:
+ torch.distributed.barrier()
+ if rank > 0:
+ checkpoint = model_zoo.load_url(
+ filename, model_dir=model_dir, map_location=map_location)
+ return checkpoint
+
+
+@CheckpointLoader.register_scheme(prefixes='pavi://')
+def load_from_pavi(filename, map_location=None):
+ """load checkpoint through the file path prefixed with pavi. In distributed
+ setting, this function download ckpt at all ranks to different temporary
+ directories.
+
+ Args:
+ filename (str): checkpoint file path with pavi prefix
+ map_location (str, optional): Same as :func:`torch.load`.
+ Default: None
+
+ Returns:
+ dict or OrderedDict: The loaded checkpoint.
+ """
+ assert filename.startswith('pavi://'), \
+ f'Expected filename startswith `pavi://`, but get {filename}'
+ model_path = filename[7:]
+
+ try:
+ from pavi import modelcloud
+ except ImportError:
+ raise ImportError(
+ 'Please install pavi to load checkpoint from modelcloud.')
+
+ model = modelcloud.get(model_path)
+ with TemporaryDirectory() as tmp_dir:
+ downloaded_file = osp.join(tmp_dir, model.name)
+ model.download(downloaded_file)
+ checkpoint = torch.load(downloaded_file, map_location=map_location)
+ return checkpoint
+
+
+@CheckpointLoader.register_scheme(prefixes='s3://')
+def load_from_ceph(filename, map_location=None, backend='petrel'):
+ """load checkpoint through the file path prefixed with s3. In distributed
+ setting, this function download ckpt at all ranks to different temporary
+ directories.
+
+ Args:
+ filename (str): checkpoint file path with s3 prefix
+ map_location (str, optional): Same as :func:`torch.load`.
+ backend (str, optional): The storage backend type. Options are 'ceph',
+ 'petrel'. Default: 'petrel'.
+
+ .. warning::
+ :class:`mmcv.fileio.file_client.CephBackend` will be deprecated,
+ please use :class:`mmcv.fileio.file_client.PetrelBackend` instead.
+
+ Returns:
+ dict or OrderedDict: The loaded checkpoint.
+ """
+ allowed_backends = ['ceph', 'petrel']
+ if backend not in allowed_backends:
+ raise ValueError(f'Load from Backend {backend} is not supported.')
+
+ if backend == 'ceph':
+ warnings.warn(
+ 'CephBackend will be deprecated, please use PetrelBackend instead')
+
+ # CephClient and PetrelBackend have the same prefix 's3://' and the latter
+ # will be chosen as default. If PetrelBackend can not be instantiated
+ # successfully, the CephClient will be chosen.
+ try:
+ file_client = FileClient(backend=backend)
+ except ImportError:
+ allowed_backends.remove(backend)
+ file_client = FileClient(backend=allowed_backends[0])
+
+ with io.BytesIO(file_client.get(filename)) as buffer:
+ checkpoint = torch.load(buffer, map_location=map_location)
+ return checkpoint
+
+
+@CheckpointLoader.register_scheme(prefixes=('modelzoo://', 'torchvision://'))
+def load_from_torchvision(filename, map_location=None):
+ """load checkpoint through the file path prefixed with modelzoo or
+ torchvision.
+
+ Args:
+ filename (str): checkpoint file path with modelzoo or
+ torchvision prefix
+ map_location (str, optional): Same as :func:`torch.load`.
+
+ Returns:
+ dict or OrderedDict: The loaded checkpoint.
+ """
+ model_urls = get_torchvision_models()
+ if filename.startswith('modelzoo://'):
+ warnings.warn('The URL scheme of "modelzoo://" is deprecated, please '
+ 'use "torchvision://" instead')
+ model_name = filename[11:]
+ else:
+ model_name = filename[14:]
+ return load_from_http(model_urls[model_name], map_location=map_location)
+
+
+@CheckpointLoader.register_scheme(prefixes=('open-mmlab://', 'openmmlab://'))
+def load_from_openmmlab(filename, map_location=None):
+ """load checkpoint through the file path prefixed with open-mmlab or
+ openmmlab.
+
+ Args:
+ filename (str): checkpoint file path with open-mmlab or
+ openmmlab prefix
+ map_location (str, optional): Same as :func:`torch.load`.
+ Default: None
+
+ Returns:
+ dict or OrderedDict: The loaded checkpoint.
+ """
+
+ model_urls = get_external_models()
+ prefix_str = 'open-mmlab://'
+ if filename.startswith(prefix_str):
+ model_name = filename[13:]
+ else:
+ model_name = filename[12:]
+ prefix_str = 'openmmlab://'
+
+ deprecated_urls = get_deprecated_model_names()
+ if model_name in deprecated_urls:
+ warnings.warn(f'{prefix_str}{model_name} is deprecated in favor '
+ f'of {prefix_str}{deprecated_urls[model_name]}')
+ model_name = deprecated_urls[model_name]
+ model_url = model_urls[model_name]
+ # check if is url
+ if model_url.startswith(('http://', 'https://')):
+ checkpoint = load_from_http(model_url, map_location=map_location)
+ else:
+ filename = osp.join(_get_mmcv_home(), model_url)
+ if not osp.isfile(filename):
+ raise IOError(f'{filename} is not a checkpoint file')
+ checkpoint = torch.load(filename, map_location=map_location)
+ return checkpoint
+
+
+@CheckpointLoader.register_scheme(prefixes='mmcls://')
+def load_from_mmcls(filename, map_location=None):
+ """load checkpoint through the file path prefixed with mmcls.
+
+ Args:
+ filename (str): checkpoint file path with mmcls prefix
+ map_location (str, optional): Same as :func:`torch.load`.
+
+ Returns:
+ dict or OrderedDict: The loaded checkpoint.
+ """
+
+ model_urls = get_mmcls_models()
+ model_name = filename[8:]
+ checkpoint = load_from_http(
+ model_urls[model_name], map_location=map_location)
+ checkpoint = _process_mmcls_checkpoint(checkpoint)
+ return checkpoint
+
+
+def _load_checkpoint(filename, map_location=None, logger=None):
+ """Load checkpoint from somewhere (modelzoo, file, url).
+
+ Args:
+ filename (str): Accept local filepath, URL, ``torchvision://xxx``,
+ ``open-mmlab://xxx``. Please refer to ``docs/model_zoo.md`` for
+ details.
+ map_location (str, optional): Same as :func:`torch.load`.
+ Default: None.
+ logger (:mod:`logging.Logger`, optional): The logger for error message.
+ Default: None
+
+ Returns:
+ dict or OrderedDict: The loaded checkpoint. It can be either an
+ OrderedDict storing model weights or a dict containing other
+ information, which depends on the checkpoint.
+ """
+ return CheckpointLoader.load_checkpoint(filename, map_location, logger)
+
+
+def _load_checkpoint_with_prefix(prefix, filename, map_location=None):
+ """Load partial pretrained model with specific prefix.
+
+ Args:
+ prefix (str): The prefix of sub-module.
+ filename (str): Accept local filepath, URL, ``torchvision://xxx``,
+ ``open-mmlab://xxx``. Please refer to ``docs/model_zoo.md`` for
+ details.
+ map_location (str | None): Same as :func:`torch.load`. Default: None.
+
+ Returns:
+ dict or OrderedDict: The loaded checkpoint.
+ """
+
+ checkpoint = _load_checkpoint(filename, map_location=map_location)
+
+ if 'state_dict' in checkpoint:
+ state_dict = checkpoint['state_dict']
+ else:
+ state_dict = checkpoint
+ if not prefix.endswith('.'):
+ prefix += '.'
+ prefix_len = len(prefix)
+
+ state_dict = {
+ k[prefix_len:]: v
+ for k, v in state_dict.items() if k.startswith(prefix)
+ }
+
+ assert state_dict, f'{prefix} is not in the pretrained model'
+ return state_dict
+
+
+def load_checkpoint(model,
+ filename,
+ map_location=None,
+ strict=False,
+ logger=None,
+ revise_keys=[(r'^module\.', '')]):
+ """Load checkpoint from a file or URI.
+
+ Args:
+ model (Module): Module to load checkpoint.
+ filename (str): Accept local filepath, URL, ``torchvision://xxx``,
+ ``open-mmlab://xxx``. Please refer to ``docs/model_zoo.md`` for
+ details.
+ map_location (str): Same as :func:`torch.load`.
+ strict (bool): Whether to allow different params for the model and
+ checkpoint.
+ logger (:mod:`logging.Logger` or None): The logger for error message.
+ revise_keys (list): A list of customized keywords to modify the
+ state_dict in checkpoint. Each item is a (pattern, replacement)
+ pair of the regular expression operations. Default: strip
+ the prefix 'module.' by [(r'^module\\.', '')].
+
+ Returns:
+ dict or OrderedDict: The loaded checkpoint.
+ """
+ checkpoint = _load_checkpoint(filename, map_location, logger)
+ # OrderedDict is a subclass of dict
+ if not isinstance(checkpoint, dict):
+ raise RuntimeError(
+ f'No state_dict found in checkpoint file {filename}')
+ # get state_dict from checkpoint
+ if 'state_dict' in checkpoint:
+ state_dict = checkpoint['state_dict']
+ else:
+ state_dict = checkpoint
+
+ # strip prefix of state_dict
+ metadata = getattr(state_dict, '_metadata', OrderedDict())
+ for p, r in revise_keys:
+ state_dict = OrderedDict(
+ {re.sub(p, r, k): v
+ for k, v in state_dict.items()})
+ # Keep metadata in state_dict
+ state_dict._metadata = metadata
+
+ # load state_dict
+ load_state_dict(model, state_dict, strict, logger)
+ return checkpoint
+
+
+def weights_to_cpu(state_dict):
+ """Copy a model state_dict to cpu.
+
+ Args:
+ state_dict (OrderedDict): Model weights on GPU.
+
+ Returns:
+ OrderedDict: Model weights on GPU.
+ """
+ state_dict_cpu = OrderedDict()
+ for key, val in state_dict.items():
+ state_dict_cpu[key] = val.cpu()
+ # Keep metadata in state_dict
+ state_dict_cpu._metadata = getattr(state_dict, '_metadata', OrderedDict())
+ return state_dict_cpu
+
+
+def _save_to_state_dict(module, destination, prefix, keep_vars):
+ """Saves module state to `destination` dictionary.
+
+ This method is modified from :meth:`torch.nn.Module._save_to_state_dict`.
+
+ Args:
+ module (nn.Module): The module to generate state_dict.
+ destination (dict): A dict where state will be stored.
+ prefix (str): The prefix for parameters and buffers used in this
+ module.
+ """
+ for name, param in module._parameters.items():
+ if param is not None:
+ destination[prefix + name] = param if keep_vars else param.detach()
+ for name, buf in module._buffers.items():
+ # remove check of _non_persistent_buffers_set to allow nn.BatchNorm2d
+ if buf is not None:
+ destination[prefix + name] = buf if keep_vars else buf.detach()
+
+
+def get_state_dict(module, destination=None, prefix='', keep_vars=False):
+ """Returns a dictionary containing a whole state of the module.
+
+ Both parameters and persistent buffers (e.g. running averages) are
+ included. Keys are corresponding parameter and buffer names.
+
+ This method is modified from :meth:`torch.nn.Module.state_dict` to
+ recursively check parallel module in case that the model has a complicated
+ structure, e.g., nn.Module(nn.Module(DDP)).
+
+ Args:
+ module (nn.Module): The module to generate state_dict.
+ destination (OrderedDict): Returned dict for the state of the
+ module.
+ prefix (str): Prefix of the key.
+ keep_vars (bool): Whether to keep the variable property of the
+ parameters. Default: False.
+
+ Returns:
+ dict: A dictionary containing a whole state of the module.
+ """
+ # recursively check parallel module in case that the model has a
+ # complicated structure, e.g., nn.Module(nn.Module(DDP))
+ if is_module_wrapper(module):
+ module = module.module
+
+ # below is the same as torch.nn.Module.state_dict()
+ if destination is None:
+ destination = OrderedDict()
+ destination._metadata = OrderedDict()
+ destination._metadata[prefix[:-1]] = local_metadata = dict(
+ version=module._version)
+ _save_to_state_dict(module, destination, prefix, keep_vars)
+ for name, child in module._modules.items():
+ if child is not None:
+ get_state_dict(
+ child, destination, prefix + name + '.', keep_vars=keep_vars)
+ for hook in module._state_dict_hooks.values():
+ hook_result = hook(module, destination, prefix, local_metadata)
+ if hook_result is not None:
+ destination = hook_result
+ return destination
+
+
+def save_checkpoint(model,
+ filename,
+ optimizer=None,
+ meta=None,
+ file_client_args=None):
+ """Save checkpoint to file.
+
+ The checkpoint will have 3 fields: ``meta``, ``state_dict`` and
+ ``optimizer``. By default ``meta`` will contain version and time info.
+
+ Args:
+ model (Module): Module whose params are to be saved.
+ filename (str): Checkpoint filename.
+ optimizer (:obj:`Optimizer`, optional): Optimizer to be saved.
+ meta (dict, optional): Metadata to be saved in checkpoint.
+ file_client_args (dict, optional): Arguments to instantiate a
+ FileClient. See :class:`mmcv.fileio.FileClient` for details.
+ Default: None.
+ `New in version 1.3.16.`
+ """
+ if meta is None:
+ meta = {}
+ elif not isinstance(meta, dict):
+ raise TypeError(f'meta must be a dict or None, but got {type(meta)}')
+ meta.update(mmcv_version=mmcv.__version__, time=time.asctime())
+
+ if is_module_wrapper(model):
+ model = model.module
+
+ if hasattr(model, 'CLASSES') and model.CLASSES is not None:
+ # save class name to the meta
+ meta.update(CLASSES=model.CLASSES)
+
+ checkpoint = {
+ 'meta': meta,
+ 'state_dict': weights_to_cpu(get_state_dict(model))
+ }
+ # save optimizer state dict in the checkpoint
+ if isinstance(optimizer, Optimizer):
+ checkpoint['optimizer'] = optimizer.state_dict()
+ elif isinstance(optimizer, dict):
+ checkpoint['optimizer'] = {}
+ for name, optim in optimizer.items():
+ checkpoint['optimizer'][name] = optim.state_dict()
+
+ if filename.startswith('pavi://'):
+ if file_client_args is not None:
+ raise ValueError(
+ 'file_client_args should be "None" if filename starts with'
+ f'"pavi://", but got {file_client_args}')
+ try:
+ from pavi import modelcloud
+ from pavi import exception
+ except ImportError:
+ raise ImportError(
+ 'Please install pavi to load checkpoint from modelcloud.')
+ model_path = filename[7:]
+ root = modelcloud.Folder()
+ model_dir, model_name = osp.split(model_path)
+ try:
+ model = modelcloud.get(model_dir)
+ except exception.NodeNotFoundError:
+ model = root.create_training_model(model_dir)
+ with TemporaryDirectory() as tmp_dir:
+ checkpoint_file = osp.join(tmp_dir, model_name)
+ with open(checkpoint_file, 'wb') as f:
+ torch.save(checkpoint, f)
+ f.flush()
+ model.create_file(checkpoint_file, name=model_name)
+ else:
+ file_client = FileClient.infer_client(file_client_args, filename)
+ with io.BytesIO() as f:
+ torch.save(checkpoint, f)
+ file_client.put(f.getvalue(), filename)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/default_constructor.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/default_constructor.py
new file mode 100644
index 0000000000000000000000000000000000000000..bdd7803289d6d70240977fa243d7f4432ccde8f8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/default_constructor.py
@@ -0,0 +1,44 @@
+from .builder import RUNNER_BUILDERS, RUNNERS
+
+
+@RUNNER_BUILDERS.register_module()
+class DefaultRunnerConstructor:
+ """Default constructor for runners.
+
+ Custom existing `Runner` like `EpocBasedRunner` though `RunnerConstructor`.
+ For example, We can inject some new properties and functions for `Runner`.
+
+ Example:
+ >>> from annotator.mmpkg.mmcv.runner import RUNNER_BUILDERS, build_runner
+ >>> # Define a new RunnerReconstructor
+ >>> @RUNNER_BUILDERS.register_module()
+ >>> class MyRunnerConstructor:
+ ... def __init__(self, runner_cfg, default_args=None):
+ ... if not isinstance(runner_cfg, dict):
+ ... raise TypeError('runner_cfg should be a dict',
+ ... f'but got {type(runner_cfg)}')
+ ... self.runner_cfg = runner_cfg
+ ... self.default_args = default_args
+ ...
+ ... def __call__(self):
+ ... runner = RUNNERS.build(self.runner_cfg,
+ ... default_args=self.default_args)
+ ... # Add new properties for existing runner
+ ... runner.my_name = 'my_runner'
+ ... runner.my_function = lambda self: print(self.my_name)
+ ... ...
+ >>> # build your runner
+ >>> runner_cfg = dict(type='EpochBasedRunner', max_epochs=40,
+ ... constructor='MyRunnerConstructor')
+ >>> runner = build_runner(runner_cfg)
+ """
+
+ def __init__(self, runner_cfg, default_args=None):
+ if not isinstance(runner_cfg, dict):
+ raise TypeError('runner_cfg should be a dict',
+ f'but got {type(runner_cfg)}')
+ self.runner_cfg = runner_cfg
+ self.default_args = default_args
+
+ def __call__(self):
+ return RUNNERS.build(self.runner_cfg, default_args=self.default_args)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/dist_utils.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/dist_utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..d3a1ef3fda5ceeb31bf15a73779da1b1903ab0fe
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/dist_utils.py
@@ -0,0 +1,164 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import functools
+import os
+import subprocess
+from collections import OrderedDict
+
+import torch
+import torch.multiprocessing as mp
+from torch import distributed as dist
+from torch._utils import (_flatten_dense_tensors, _take_tensors,
+ _unflatten_dense_tensors)
+
+
+def init_dist(launcher, backend='nccl', **kwargs):
+ if mp.get_start_method(allow_none=True) is None:
+ mp.set_start_method('spawn')
+ if launcher == 'pytorch':
+ _init_dist_pytorch(backend, **kwargs)
+ elif launcher == 'mpi':
+ _init_dist_mpi(backend, **kwargs)
+ elif launcher == 'slurm':
+ _init_dist_slurm(backend, **kwargs)
+ else:
+ raise ValueError(f'Invalid launcher type: {launcher}')
+
+
+def _init_dist_pytorch(backend, **kwargs):
+ # TODO: use local_rank instead of rank % num_gpus
+ rank = int(os.environ['RANK'])
+ num_gpus = torch.cuda.device_count()
+ torch.cuda.set_device(rank % num_gpus)
+ dist.init_process_group(backend=backend, **kwargs)
+
+
+def _init_dist_mpi(backend, **kwargs):
+ # TODO: use local_rank instead of rank % num_gpus
+ rank = int(os.environ['OMPI_COMM_WORLD_RANK'])
+ num_gpus = torch.cuda.device_count()
+ torch.cuda.set_device(rank % num_gpus)
+ dist.init_process_group(backend=backend, **kwargs)
+
+
+def _init_dist_slurm(backend, port=None):
+ """Initialize slurm distributed training environment.
+
+ If argument ``port`` is not specified, then the master port will be system
+ environment variable ``MASTER_PORT``. If ``MASTER_PORT`` is not in system
+ environment variable, then a default port ``29500`` will be used.
+
+ Args:
+ backend (str): Backend of torch.distributed.
+ port (int, optional): Master port. Defaults to None.
+ """
+ proc_id = int(os.environ['SLURM_PROCID'])
+ ntasks = int(os.environ['SLURM_NTASKS'])
+ node_list = os.environ['SLURM_NODELIST']
+ num_gpus = torch.cuda.device_count()
+ torch.cuda.set_device(proc_id % num_gpus)
+ addr = subprocess.getoutput(
+ f'scontrol show hostname {node_list} | head -n1')
+ # specify master port
+ if port is not None:
+ os.environ['MASTER_PORT'] = str(port)
+ elif 'MASTER_PORT' in os.environ:
+ pass # use MASTER_PORT in the environment variable
+ else:
+ # 29500 is torch.distributed default port
+ os.environ['MASTER_PORT'] = '29500'
+ # use MASTER_ADDR in the environment variable if it already exists
+ if 'MASTER_ADDR' not in os.environ:
+ os.environ['MASTER_ADDR'] = addr
+ os.environ['WORLD_SIZE'] = str(ntasks)
+ os.environ['LOCAL_RANK'] = str(proc_id % num_gpus)
+ os.environ['RANK'] = str(proc_id)
+ dist.init_process_group(backend=backend)
+
+
+def get_dist_info():
+ if dist.is_available() and dist.is_initialized():
+ rank = dist.get_rank()
+ world_size = dist.get_world_size()
+ else:
+ rank = 0
+ world_size = 1
+ return rank, world_size
+
+
+def master_only(func):
+
+ @functools.wraps(func)
+ def wrapper(*args, **kwargs):
+ rank, _ = get_dist_info()
+ if rank == 0:
+ return func(*args, **kwargs)
+
+ return wrapper
+
+
+def allreduce_params(params, coalesce=True, bucket_size_mb=-1):
+ """Allreduce parameters.
+
+ Args:
+ params (list[torch.Parameters]): List of parameters or buffers of a
+ model.
+ coalesce (bool, optional): Whether allreduce parameters as a whole.
+ Defaults to True.
+ bucket_size_mb (int, optional): Size of bucket, the unit is MB.
+ Defaults to -1.
+ """
+ _, world_size = get_dist_info()
+ if world_size == 1:
+ return
+ params = [param.data for param in params]
+ if coalesce:
+ _allreduce_coalesced(params, world_size, bucket_size_mb)
+ else:
+ for tensor in params:
+ dist.all_reduce(tensor.div_(world_size))
+
+
+def allreduce_grads(params, coalesce=True, bucket_size_mb=-1):
+ """Allreduce gradients.
+
+ Args:
+ params (list[torch.Parameters]): List of parameters of a model
+ coalesce (bool, optional): Whether allreduce parameters as a whole.
+ Defaults to True.
+ bucket_size_mb (int, optional): Size of bucket, the unit is MB.
+ Defaults to -1.
+ """
+ grads = [
+ param.grad.data for param in params
+ if param.requires_grad and param.grad is not None
+ ]
+ _, world_size = get_dist_info()
+ if world_size == 1:
+ return
+ if coalesce:
+ _allreduce_coalesced(grads, world_size, bucket_size_mb)
+ else:
+ for tensor in grads:
+ dist.all_reduce(tensor.div_(world_size))
+
+
+def _allreduce_coalesced(tensors, world_size, bucket_size_mb=-1):
+ if bucket_size_mb > 0:
+ bucket_size_bytes = bucket_size_mb * 1024 * 1024
+ buckets = _take_tensors(tensors, bucket_size_bytes)
+ else:
+ buckets = OrderedDict()
+ for tensor in tensors:
+ tp = tensor.type()
+ if tp not in buckets:
+ buckets[tp] = []
+ buckets[tp].append(tensor)
+ buckets = buckets.values()
+
+ for bucket in buckets:
+ flat_tensors = _flatten_dense_tensors(bucket)
+ dist.all_reduce(flat_tensors)
+ flat_tensors.div_(world_size)
+ for tensor, synced in zip(
+ bucket, _unflatten_dense_tensors(flat_tensors, bucket)):
+ tensor.copy_(synced)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/epoch_based_runner.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/epoch_based_runner.py
new file mode 100644
index 0000000000000000000000000000000000000000..d4df071e1740baa4aea2951590ac929b3715daa2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/epoch_based_runner.py
@@ -0,0 +1,187 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import os.path as osp
+import platform
+import shutil
+import time
+import warnings
+
+import torch
+
+import annotator.mmpkg.mmcv as mmcv
+from .base_runner import BaseRunner
+from .builder import RUNNERS
+from .checkpoint import save_checkpoint
+from .utils import get_host_info
+
+
+@RUNNERS.register_module()
+class EpochBasedRunner(BaseRunner):
+ """Epoch-based Runner.
+
+ This runner train models epoch by epoch.
+ """
+
+ def run_iter(self, data_batch, train_mode, **kwargs):
+ if self.batch_processor is not None:
+ outputs = self.batch_processor(
+ self.model, data_batch, train_mode=train_mode, **kwargs)
+ elif train_mode:
+ outputs = self.model.train_step(data_batch, self.optimizer,
+ **kwargs)
+ else:
+ outputs = self.model.val_step(data_batch, self.optimizer, **kwargs)
+ if not isinstance(outputs, dict):
+ raise TypeError('"batch_processor()" or "model.train_step()"'
+ 'and "model.val_step()" must return a dict')
+ if 'log_vars' in outputs:
+ self.log_buffer.update(outputs['log_vars'], outputs['num_samples'])
+ self.outputs = outputs
+
+ def train(self, data_loader, **kwargs):
+ self.model.train()
+ self.mode = 'train'
+ self.data_loader = data_loader
+ self._max_iters = self._max_epochs * len(self.data_loader)
+ self.call_hook('before_train_epoch')
+ time.sleep(2) # Prevent possible deadlock during epoch transition
+ for i, data_batch in enumerate(self.data_loader):
+ self._inner_iter = i
+ self.call_hook('before_train_iter')
+ self.run_iter(data_batch, train_mode=True, **kwargs)
+ self.call_hook('after_train_iter')
+ self._iter += 1
+
+ self.call_hook('after_train_epoch')
+ self._epoch += 1
+
+ @torch.no_grad()
+ def val(self, data_loader, **kwargs):
+ self.model.eval()
+ self.mode = 'val'
+ self.data_loader = data_loader
+ self.call_hook('before_val_epoch')
+ time.sleep(2) # Prevent possible deadlock during epoch transition
+ for i, data_batch in enumerate(self.data_loader):
+ self._inner_iter = i
+ self.call_hook('before_val_iter')
+ self.run_iter(data_batch, train_mode=False)
+ self.call_hook('after_val_iter')
+
+ self.call_hook('after_val_epoch')
+
+ def run(self, data_loaders, workflow, max_epochs=None, **kwargs):
+ """Start running.
+
+ Args:
+ data_loaders (list[:obj:`DataLoader`]): Dataloaders for training
+ and validation.
+ workflow (list[tuple]): A list of (phase, epochs) to specify the
+ running order and epochs. E.g, [('train', 2), ('val', 1)] means
+ running 2 epochs for training and 1 epoch for validation,
+ iteratively.
+ """
+ assert isinstance(data_loaders, list)
+ assert mmcv.is_list_of(workflow, tuple)
+ assert len(data_loaders) == len(workflow)
+ if max_epochs is not None:
+ warnings.warn(
+ 'setting max_epochs in run is deprecated, '
+ 'please set max_epochs in runner_config', DeprecationWarning)
+ self._max_epochs = max_epochs
+
+ assert self._max_epochs is not None, (
+ 'max_epochs must be specified during instantiation')
+
+ for i, flow in enumerate(workflow):
+ mode, epochs = flow
+ if mode == 'train':
+ self._max_iters = self._max_epochs * len(data_loaders[i])
+ break
+
+ work_dir = self.work_dir if self.work_dir is not None else 'NONE'
+ self.logger.info('Start running, host: %s, work_dir: %s',
+ get_host_info(), work_dir)
+ self.logger.info('Hooks will be executed in the following order:\n%s',
+ self.get_hook_info())
+ self.logger.info('workflow: %s, max: %d epochs', workflow,
+ self._max_epochs)
+ self.call_hook('before_run')
+
+ while self.epoch < self._max_epochs:
+ for i, flow in enumerate(workflow):
+ mode, epochs = flow
+ if isinstance(mode, str): # self.train()
+ if not hasattr(self, mode):
+ raise ValueError(
+ f'runner has no method named "{mode}" to run an '
+ 'epoch')
+ epoch_runner = getattr(self, mode)
+ else:
+ raise TypeError(
+ 'mode in workflow must be a str, but got {}'.format(
+ type(mode)))
+
+ for _ in range(epochs):
+ if mode == 'train' and self.epoch >= self._max_epochs:
+ break
+ epoch_runner(data_loaders[i], **kwargs)
+
+ time.sleep(1) # wait for some hooks like loggers to finish
+ self.call_hook('after_run')
+
+ def save_checkpoint(self,
+ out_dir,
+ filename_tmpl='epoch_{}.pth',
+ save_optimizer=True,
+ meta=None,
+ create_symlink=True):
+ """Save the checkpoint.
+
+ Args:
+ out_dir (str): The directory that checkpoints are saved.
+ filename_tmpl (str, optional): The checkpoint filename template,
+ which contains a placeholder for the epoch number.
+ Defaults to 'epoch_{}.pth'.
+ save_optimizer (bool, optional): Whether to save the optimizer to
+ the checkpoint. Defaults to True.
+ meta (dict, optional): The meta information to be saved in the
+ checkpoint. Defaults to None.
+ create_symlink (bool, optional): Whether to create a symlink
+ "latest.pth" to point to the latest checkpoint.
+ Defaults to True.
+ """
+ if meta is None:
+ meta = {}
+ elif not isinstance(meta, dict):
+ raise TypeError(
+ f'meta should be a dict or None, but got {type(meta)}')
+ if self.meta is not None:
+ meta.update(self.meta)
+ # Note: meta.update(self.meta) should be done before
+ # meta.update(epoch=self.epoch + 1, iter=self.iter) otherwise
+ # there will be problems with resumed checkpoints.
+ # More details in https://github.com/open-mmlab/mmcv/pull/1108
+ meta.update(epoch=self.epoch + 1, iter=self.iter)
+
+ filename = filename_tmpl.format(self.epoch + 1)
+ filepath = osp.join(out_dir, filename)
+ optimizer = self.optimizer if save_optimizer else None
+ save_checkpoint(self.model, filepath, optimizer=optimizer, meta=meta)
+ # in some environments, `os.symlink` is not supported, you may need to
+ # set `create_symlink` to False
+ if create_symlink:
+ dst_file = osp.join(out_dir, 'latest.pth')
+ if platform.system() != 'Windows':
+ mmcv.symlink(filename, dst_file)
+ else:
+ shutil.copy(filepath, dst_file)
+
+
+@RUNNERS.register_module()
+class Runner(EpochBasedRunner):
+ """Deprecated name of EpochBasedRunner."""
+
+ def __init__(self, *args, **kwargs):
+ warnings.warn(
+ 'Runner was deprecated, please use EpochBasedRunner instead')
+ super().__init__(*args, **kwargs)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/fp16_utils.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/fp16_utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..f6b54886519fd2808360b1632e5bebf6563eced2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/fp16_utils.py
@@ -0,0 +1,410 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import functools
+import warnings
+from collections import abc
+from inspect import getfullargspec
+
+import numpy as np
+import torch
+import torch.nn as nn
+
+from annotator.mmpkg.mmcv.utils import TORCH_VERSION, digit_version
+from .dist_utils import allreduce_grads as _allreduce_grads
+
+try:
+ # If PyTorch version >= 1.6.0, torch.cuda.amp.autocast would be imported
+ # and used; otherwise, auto fp16 will adopt mmcv's implementation.
+ # Note that when PyTorch >= 1.6.0, we still cast tensor types to fp16
+ # manually, so the behavior may not be consistent with real amp.
+ from torch.cuda.amp import autocast
+except ImportError:
+ pass
+
+
+def cast_tensor_type(inputs, src_type, dst_type):
+ """Recursively convert Tensor in inputs from src_type to dst_type.
+
+ Args:
+ inputs: Inputs that to be casted.
+ src_type (torch.dtype): Source type..
+ dst_type (torch.dtype): Destination type.
+
+ Returns:
+ The same type with inputs, but all contained Tensors have been cast.
+ """
+ if isinstance(inputs, nn.Module):
+ return inputs
+ elif isinstance(inputs, torch.Tensor):
+ return inputs.to(dst_type)
+ elif isinstance(inputs, str):
+ return inputs
+ elif isinstance(inputs, np.ndarray):
+ return inputs
+ elif isinstance(inputs, abc.Mapping):
+ return type(inputs)({
+ k: cast_tensor_type(v, src_type, dst_type)
+ for k, v in inputs.items()
+ })
+ elif isinstance(inputs, abc.Iterable):
+ return type(inputs)(
+ cast_tensor_type(item, src_type, dst_type) for item in inputs)
+ else:
+ return inputs
+
+
+def auto_fp16(apply_to=None, out_fp32=False):
+ """Decorator to enable fp16 training automatically.
+
+ This decorator is useful when you write custom modules and want to support
+ mixed precision training. If inputs arguments are fp32 tensors, they will
+ be converted to fp16 automatically. Arguments other than fp32 tensors are
+ ignored. If you are using PyTorch >= 1.6, torch.cuda.amp is used as the
+ backend, otherwise, original mmcv implementation will be adopted.
+
+ Args:
+ apply_to (Iterable, optional): The argument names to be converted.
+ `None` indicates all arguments.
+ out_fp32 (bool): Whether to convert the output back to fp32.
+
+ Example:
+
+ >>> import torch.nn as nn
+ >>> class MyModule1(nn.Module):
+ >>>
+ >>> # Convert x and y to fp16
+ >>> @auto_fp16()
+ >>> def forward(self, x, y):
+ >>> pass
+
+ >>> import torch.nn as nn
+ >>> class MyModule2(nn.Module):
+ >>>
+ >>> # convert pred to fp16
+ >>> @auto_fp16(apply_to=('pred', ))
+ >>> def do_something(self, pred, others):
+ >>> pass
+ """
+
+ def auto_fp16_wrapper(old_func):
+
+ @functools.wraps(old_func)
+ def new_func(*args, **kwargs):
+ # check if the module has set the attribute `fp16_enabled`, if not,
+ # just fallback to the original method.
+ if not isinstance(args[0], torch.nn.Module):
+ raise TypeError('@auto_fp16 can only be used to decorate the '
+ 'method of nn.Module')
+ if not (hasattr(args[0], 'fp16_enabled') and args[0].fp16_enabled):
+ return old_func(*args, **kwargs)
+
+ # get the arg spec of the decorated method
+ args_info = getfullargspec(old_func)
+ # get the argument names to be casted
+ args_to_cast = args_info.args if apply_to is None else apply_to
+ # convert the args that need to be processed
+ new_args = []
+ # NOTE: default args are not taken into consideration
+ if args:
+ arg_names = args_info.args[:len(args)]
+ for i, arg_name in enumerate(arg_names):
+ if arg_name in args_to_cast:
+ new_args.append(
+ cast_tensor_type(args[i], torch.float, torch.half))
+ else:
+ new_args.append(args[i])
+ # convert the kwargs that need to be processed
+ new_kwargs = {}
+ if kwargs:
+ for arg_name, arg_value in kwargs.items():
+ if arg_name in args_to_cast:
+ new_kwargs[arg_name] = cast_tensor_type(
+ arg_value, torch.float, torch.half)
+ else:
+ new_kwargs[arg_name] = arg_value
+ # apply converted arguments to the decorated method
+ if (TORCH_VERSION != 'parrots' and
+ digit_version(TORCH_VERSION) >= digit_version('1.6.0')):
+ with autocast(enabled=True):
+ output = old_func(*new_args, **new_kwargs)
+ else:
+ output = old_func(*new_args, **new_kwargs)
+ # cast the results back to fp32 if necessary
+ if out_fp32:
+ output = cast_tensor_type(output, torch.half, torch.float)
+ return output
+
+ return new_func
+
+ return auto_fp16_wrapper
+
+
+def force_fp32(apply_to=None, out_fp16=False):
+ """Decorator to convert input arguments to fp32 in force.
+
+ This decorator is useful when you write custom modules and want to support
+ mixed precision training. If there are some inputs that must be processed
+ in fp32 mode, then this decorator can handle it. If inputs arguments are
+ fp16 tensors, they will be converted to fp32 automatically. Arguments other
+ than fp16 tensors are ignored. If you are using PyTorch >= 1.6,
+ torch.cuda.amp is used as the backend, otherwise, original mmcv
+ implementation will be adopted.
+
+ Args:
+ apply_to (Iterable, optional): The argument names to be converted.
+ `None` indicates all arguments.
+ out_fp16 (bool): Whether to convert the output back to fp16.
+
+ Example:
+
+ >>> import torch.nn as nn
+ >>> class MyModule1(nn.Module):
+ >>>
+ >>> # Convert x and y to fp32
+ >>> @force_fp32()
+ >>> def loss(self, x, y):
+ >>> pass
+
+ >>> import torch.nn as nn
+ >>> class MyModule2(nn.Module):
+ >>>
+ >>> # convert pred to fp32
+ >>> @force_fp32(apply_to=('pred', ))
+ >>> def post_process(self, pred, others):
+ >>> pass
+ """
+
+ def force_fp32_wrapper(old_func):
+
+ @functools.wraps(old_func)
+ def new_func(*args, **kwargs):
+ # check if the module has set the attribute `fp16_enabled`, if not,
+ # just fallback to the original method.
+ if not isinstance(args[0], torch.nn.Module):
+ raise TypeError('@force_fp32 can only be used to decorate the '
+ 'method of nn.Module')
+ if not (hasattr(args[0], 'fp16_enabled') and args[0].fp16_enabled):
+ return old_func(*args, **kwargs)
+ # get the arg spec of the decorated method
+ args_info = getfullargspec(old_func)
+ # get the argument names to be casted
+ args_to_cast = args_info.args if apply_to is None else apply_to
+ # convert the args that need to be processed
+ new_args = []
+ if args:
+ arg_names = args_info.args[:len(args)]
+ for i, arg_name in enumerate(arg_names):
+ if arg_name in args_to_cast:
+ new_args.append(
+ cast_tensor_type(args[i], torch.half, torch.float))
+ else:
+ new_args.append(args[i])
+ # convert the kwargs that need to be processed
+ new_kwargs = dict()
+ if kwargs:
+ for arg_name, arg_value in kwargs.items():
+ if arg_name in args_to_cast:
+ new_kwargs[arg_name] = cast_tensor_type(
+ arg_value, torch.half, torch.float)
+ else:
+ new_kwargs[arg_name] = arg_value
+ # apply converted arguments to the decorated method
+ if (TORCH_VERSION != 'parrots' and
+ digit_version(TORCH_VERSION) >= digit_version('1.6.0')):
+ with autocast(enabled=False):
+ output = old_func(*new_args, **new_kwargs)
+ else:
+ output = old_func(*new_args, **new_kwargs)
+ # cast the results back to fp32 if necessary
+ if out_fp16:
+ output = cast_tensor_type(output, torch.float, torch.half)
+ return output
+
+ return new_func
+
+ return force_fp32_wrapper
+
+
+def allreduce_grads(params, coalesce=True, bucket_size_mb=-1):
+ warnings.warning(
+ '"mmcv.runner.fp16_utils.allreduce_grads" is deprecated, and will be '
+ 'removed in v2.8. Please switch to "mmcv.runner.allreduce_grads')
+ _allreduce_grads(params, coalesce=coalesce, bucket_size_mb=bucket_size_mb)
+
+
+def wrap_fp16_model(model):
+ """Wrap the FP32 model to FP16.
+
+ If you are using PyTorch >= 1.6, torch.cuda.amp is used as the
+ backend, otherwise, original mmcv implementation will be adopted.
+
+ For PyTorch >= 1.6, this function will
+ 1. Set fp16 flag inside the model to True.
+
+ Otherwise:
+ 1. Convert FP32 model to FP16.
+ 2. Remain some necessary layers to be FP32, e.g., normalization layers.
+ 3. Set `fp16_enabled` flag inside the model to True.
+
+ Args:
+ model (nn.Module): Model in FP32.
+ """
+ if (TORCH_VERSION == 'parrots'
+ or digit_version(TORCH_VERSION) < digit_version('1.6.0')):
+ # convert model to fp16
+ model.half()
+ # patch the normalization layers to make it work in fp32 mode
+ patch_norm_fp32(model)
+ # set `fp16_enabled` flag
+ for m in model.modules():
+ if hasattr(m, 'fp16_enabled'):
+ m.fp16_enabled = True
+
+
+def patch_norm_fp32(module):
+ """Recursively convert normalization layers from FP16 to FP32.
+
+ Args:
+ module (nn.Module): The modules to be converted in FP16.
+
+ Returns:
+ nn.Module: The converted module, the normalization layers have been
+ converted to FP32.
+ """
+ if isinstance(module, (nn.modules.batchnorm._BatchNorm, nn.GroupNorm)):
+ module.float()
+ if isinstance(module, nn.GroupNorm) or torch.__version__ < '1.3':
+ module.forward = patch_forward_method(module.forward, torch.half,
+ torch.float)
+ for child in module.children():
+ patch_norm_fp32(child)
+ return module
+
+
+def patch_forward_method(func, src_type, dst_type, convert_output=True):
+ """Patch the forward method of a module.
+
+ Args:
+ func (callable): The original forward method.
+ src_type (torch.dtype): Type of input arguments to be converted from.
+ dst_type (torch.dtype): Type of input arguments to be converted to.
+ convert_output (bool): Whether to convert the output back to src_type.
+
+ Returns:
+ callable: The patched forward method.
+ """
+
+ def new_forward(*args, **kwargs):
+ output = func(*cast_tensor_type(args, src_type, dst_type),
+ **cast_tensor_type(kwargs, src_type, dst_type))
+ if convert_output:
+ output = cast_tensor_type(output, dst_type, src_type)
+ return output
+
+ return new_forward
+
+
+class LossScaler:
+ """Class that manages loss scaling in mixed precision training which
+ supports both dynamic or static mode.
+
+ The implementation refers to
+ https://github.com/NVIDIA/apex/blob/master/apex/fp16_utils/loss_scaler.py.
+ Indirectly, by supplying ``mode='dynamic'`` for dynamic loss scaling.
+ It's important to understand how :class:`LossScaler` operates.
+ Loss scaling is designed to combat the problem of underflowing
+ gradients encountered at long times when training fp16 networks.
+ Dynamic loss scaling begins by attempting a very high loss
+ scale. Ironically, this may result in OVERflowing gradients.
+ If overflowing gradients are encountered, :class:`FP16_Optimizer` then
+ skips the update step for this particular iteration/minibatch,
+ and :class:`LossScaler` adjusts the loss scale to a lower value.
+ If a certain number of iterations occur without overflowing gradients
+ detected,:class:`LossScaler` increases the loss scale once more.
+ In this way :class:`LossScaler` attempts to "ride the edge" of always
+ using the highest loss scale possible without incurring overflow.
+
+ Args:
+ init_scale (float): Initial loss scale value, default: 2**32.
+ scale_factor (float): Factor used when adjusting the loss scale.
+ Default: 2.
+ mode (str): Loss scaling mode. 'dynamic' or 'static'
+ scale_window (int): Number of consecutive iterations without an
+ overflow to wait before increasing the loss scale. Default: 1000.
+ """
+
+ def __init__(self,
+ init_scale=2**32,
+ mode='dynamic',
+ scale_factor=2.,
+ scale_window=1000):
+ self.cur_scale = init_scale
+ self.cur_iter = 0
+ assert mode in ('dynamic',
+ 'static'), 'mode can only be dynamic or static'
+ self.mode = mode
+ self.last_overflow_iter = -1
+ self.scale_factor = scale_factor
+ self.scale_window = scale_window
+
+ def has_overflow(self, params):
+ """Check if params contain overflow."""
+ if self.mode != 'dynamic':
+ return False
+ for p in params:
+ if p.grad is not None and LossScaler._has_inf_or_nan(p.grad.data):
+ return True
+ return False
+
+ def _has_inf_or_nan(x):
+ """Check if params contain NaN."""
+ try:
+ cpu_sum = float(x.float().sum())
+ except RuntimeError as instance:
+ if 'value cannot be converted' not in instance.args[0]:
+ raise
+ return True
+ else:
+ if cpu_sum == float('inf') or cpu_sum == -float('inf') \
+ or cpu_sum != cpu_sum:
+ return True
+ return False
+
+ def update_scale(self, overflow):
+ """update the current loss scale value when overflow happens."""
+ if self.mode != 'dynamic':
+ return
+ if overflow:
+ self.cur_scale = max(self.cur_scale / self.scale_factor, 1)
+ self.last_overflow_iter = self.cur_iter
+ else:
+ if (self.cur_iter - self.last_overflow_iter) % \
+ self.scale_window == 0:
+ self.cur_scale *= self.scale_factor
+ self.cur_iter += 1
+
+ def state_dict(self):
+ """Returns the state of the scaler as a :class:`dict`."""
+ return dict(
+ cur_scale=self.cur_scale,
+ cur_iter=self.cur_iter,
+ mode=self.mode,
+ last_overflow_iter=self.last_overflow_iter,
+ scale_factor=self.scale_factor,
+ scale_window=self.scale_window)
+
+ def load_state_dict(self, state_dict):
+ """Loads the loss_scaler state dict.
+
+ Args:
+ state_dict (dict): scaler state.
+ """
+ self.cur_scale = state_dict['cur_scale']
+ self.cur_iter = state_dict['cur_iter']
+ self.mode = state_dict['mode']
+ self.last_overflow_iter = state_dict['last_overflow_iter']
+ self.scale_factor = state_dict['scale_factor']
+ self.scale_window = state_dict['scale_window']
+
+ @property
+ def loss_scale(self):
+ return self.cur_scale
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..915af28cefab14a14c1188ed861161080fd138a3
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/__init__.py
@@ -0,0 +1,29 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from .checkpoint import CheckpointHook
+from .closure import ClosureHook
+from .ema import EMAHook
+from .evaluation import DistEvalHook, EvalHook
+from .hook import HOOKS, Hook
+from .iter_timer import IterTimerHook
+from .logger import (DvcliveLoggerHook, LoggerHook, MlflowLoggerHook,
+ NeptuneLoggerHook, PaviLoggerHook, TensorboardLoggerHook,
+ TextLoggerHook, WandbLoggerHook)
+from .lr_updater import LrUpdaterHook
+from .memory import EmptyCacheHook
+from .momentum_updater import MomentumUpdaterHook
+from .optimizer import (Fp16OptimizerHook, GradientCumulativeFp16OptimizerHook,
+ GradientCumulativeOptimizerHook, OptimizerHook)
+from .profiler import ProfilerHook
+from .sampler_seed import DistSamplerSeedHook
+from .sync_buffer import SyncBuffersHook
+
+__all__ = [
+ 'HOOKS', 'Hook', 'CheckpointHook', 'ClosureHook', 'LrUpdaterHook',
+ 'OptimizerHook', 'Fp16OptimizerHook', 'IterTimerHook',
+ 'DistSamplerSeedHook', 'EmptyCacheHook', 'LoggerHook', 'MlflowLoggerHook',
+ 'PaviLoggerHook', 'TextLoggerHook', 'TensorboardLoggerHook',
+ 'NeptuneLoggerHook', 'WandbLoggerHook', 'DvcliveLoggerHook',
+ 'MomentumUpdaterHook', 'SyncBuffersHook', 'EMAHook', 'EvalHook',
+ 'DistEvalHook', 'ProfilerHook', 'GradientCumulativeOptimizerHook',
+ 'GradientCumulativeFp16OptimizerHook'
+]
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/checkpoint.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/checkpoint.py
new file mode 100644
index 0000000000000000000000000000000000000000..877aa8b84ac48bea0a06f9d0733d74f88be2ecfc
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/checkpoint.py
@@ -0,0 +1,167 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import os.path as osp
+import warnings
+
+from annotator.mmpkg.mmcv.fileio import FileClient
+from ..dist_utils import allreduce_params, master_only
+from .hook import HOOKS, Hook
+
+
+@HOOKS.register_module()
+class CheckpointHook(Hook):
+ """Save checkpoints periodically.
+
+ Args:
+ interval (int): The saving period. If ``by_epoch=True``, interval
+ indicates epochs, otherwise it indicates iterations.
+ Default: -1, which means "never".
+ by_epoch (bool): Saving checkpoints by epoch or by iteration.
+ Default: True.
+ save_optimizer (bool): Whether to save optimizer state_dict in the
+ checkpoint. It is usually used for resuming experiments.
+ Default: True.
+ out_dir (str, optional): The root directory to save checkpoints. If not
+ specified, ``runner.work_dir`` will be used by default. If
+ specified, the ``out_dir`` will be the concatenation of ``out_dir``
+ and the last level directory of ``runner.work_dir``.
+ `Changed in version 1.3.16.`
+ max_keep_ckpts (int, optional): The maximum checkpoints to keep.
+ In some cases we want only the latest few checkpoints and would
+ like to delete old ones to save the disk space.
+ Default: -1, which means unlimited.
+ save_last (bool, optional): Whether to force the last checkpoint to be
+ saved regardless of interval. Default: True.
+ sync_buffer (bool, optional): Whether to synchronize buffers in
+ different gpus. Default: False.
+ file_client_args (dict, optional): Arguments to instantiate a
+ FileClient. See :class:`mmcv.fileio.FileClient` for details.
+ Default: None.
+ `New in version 1.3.16.`
+
+ .. warning::
+ Before v1.3.16, the ``out_dir`` argument indicates the path where the
+ checkpoint is stored. However, since v1.3.16, ``out_dir`` indicates the
+ root directory and the final path to save checkpoint is the
+ concatenation of ``out_dir`` and the last level directory of
+ ``runner.work_dir``. Suppose the value of ``out_dir`` is "/path/of/A"
+ and the value of ``runner.work_dir`` is "/path/of/B", then the final
+ path will be "/path/of/A/B".
+ """
+
+ def __init__(self,
+ interval=-1,
+ by_epoch=True,
+ save_optimizer=True,
+ out_dir=None,
+ max_keep_ckpts=-1,
+ save_last=True,
+ sync_buffer=False,
+ file_client_args=None,
+ **kwargs):
+ self.interval = interval
+ self.by_epoch = by_epoch
+ self.save_optimizer = save_optimizer
+ self.out_dir = out_dir
+ self.max_keep_ckpts = max_keep_ckpts
+ self.save_last = save_last
+ self.args = kwargs
+ self.sync_buffer = sync_buffer
+ self.file_client_args = file_client_args
+
+ def before_run(self, runner):
+ if not self.out_dir:
+ self.out_dir = runner.work_dir
+
+ self.file_client = FileClient.infer_client(self.file_client_args,
+ self.out_dir)
+
+ # if `self.out_dir` is not equal to `runner.work_dir`, it means that
+ # `self.out_dir` is set so the final `self.out_dir` is the
+ # concatenation of `self.out_dir` and the last level directory of
+ # `runner.work_dir`
+ if self.out_dir != runner.work_dir:
+ basename = osp.basename(runner.work_dir.rstrip(osp.sep))
+ self.out_dir = self.file_client.join_path(self.out_dir, basename)
+
+ runner.logger.info((f'Checkpoints will be saved to {self.out_dir} by '
+ f'{self.file_client.name}.'))
+
+ # disable the create_symlink option because some file backends do not
+ # allow to create a symlink
+ if 'create_symlink' in self.args:
+ if self.args[
+ 'create_symlink'] and not self.file_client.allow_symlink:
+ self.args['create_symlink'] = False
+ warnings.warn(
+ ('create_symlink is set as True by the user but is changed'
+ 'to be False because creating symbolic link is not '
+ f'allowed in {self.file_client.name}'))
+ else:
+ self.args['create_symlink'] = self.file_client.allow_symlink
+
+ def after_train_epoch(self, runner):
+ if not self.by_epoch:
+ return
+
+ # save checkpoint for following cases:
+ # 1. every ``self.interval`` epochs
+ # 2. reach the last epoch of training
+ if self.every_n_epochs(
+ runner, self.interval) or (self.save_last
+ and self.is_last_epoch(runner)):
+ runner.logger.info(
+ f'Saving checkpoint at {runner.epoch + 1} epochs')
+ if self.sync_buffer:
+ allreduce_params(runner.model.buffers())
+ self._save_checkpoint(runner)
+
+ @master_only
+ def _save_checkpoint(self, runner):
+ """Save the current checkpoint and delete unwanted checkpoint."""
+ runner.save_checkpoint(
+ self.out_dir, save_optimizer=self.save_optimizer, **self.args)
+ if runner.meta is not None:
+ if self.by_epoch:
+ cur_ckpt_filename = self.args.get(
+ 'filename_tmpl', 'epoch_{}.pth').format(runner.epoch + 1)
+ else:
+ cur_ckpt_filename = self.args.get(
+ 'filename_tmpl', 'iter_{}.pth').format(runner.iter + 1)
+ runner.meta.setdefault('hook_msgs', dict())
+ runner.meta['hook_msgs']['last_ckpt'] = self.file_client.join_path(
+ self.out_dir, cur_ckpt_filename)
+ # remove other checkpoints
+ if self.max_keep_ckpts > 0:
+ if self.by_epoch:
+ name = 'epoch_{}.pth'
+ current_ckpt = runner.epoch + 1
+ else:
+ name = 'iter_{}.pth'
+ current_ckpt = runner.iter + 1
+ redundant_ckpts = range(
+ current_ckpt - self.max_keep_ckpts * self.interval, 0,
+ -self.interval)
+ filename_tmpl = self.args.get('filename_tmpl', name)
+ for _step in redundant_ckpts:
+ ckpt_path = self.file_client.join_path(
+ self.out_dir, filename_tmpl.format(_step))
+ if self.file_client.isfile(ckpt_path):
+ self.file_client.remove(ckpt_path)
+ else:
+ break
+
+ def after_train_iter(self, runner):
+ if self.by_epoch:
+ return
+
+ # save checkpoint for following cases:
+ # 1. every ``self.interval`` iterations
+ # 2. reach the last iteration of training
+ if self.every_n_iters(
+ runner, self.interval) or (self.save_last
+ and self.is_last_iter(runner)):
+ runner.logger.info(
+ f'Saving checkpoint at {runner.iter + 1} iterations')
+ if self.sync_buffer:
+ allreduce_params(runner.model.buffers())
+ self._save_checkpoint(runner)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/closure.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/closure.py
new file mode 100644
index 0000000000000000000000000000000000000000..b955f81f425be4ac3e6bb3f4aac653887989e872
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/closure.py
@@ -0,0 +1,11 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from .hook import HOOKS, Hook
+
+
+@HOOKS.register_module()
+class ClosureHook(Hook):
+
+ def __init__(self, fn_name, fn):
+ assert hasattr(self, fn_name)
+ assert callable(fn)
+ setattr(self, fn_name, fn)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/ema.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/ema.py
new file mode 100644
index 0000000000000000000000000000000000000000..15c7e68088f019802a59e7ae41cc1fe0c7f28f96
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/ema.py
@@ -0,0 +1,89 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from ...parallel import is_module_wrapper
+from ..hooks.hook import HOOKS, Hook
+
+
+@HOOKS.register_module()
+class EMAHook(Hook):
+ r"""Exponential Moving Average Hook.
+
+ Use Exponential Moving Average on all parameters of model in training
+ process. All parameters have a ema backup, which update by the formula
+ as below. EMAHook takes priority over EvalHook and CheckpointSaverHook.
+
+ .. math::
+
+ \text{Xema\_{t+1}} = (1 - \text{momentum}) \times
+ \text{Xema\_{t}} + \text{momentum} \times X_t
+
+ Args:
+ momentum (float): The momentum used for updating ema parameter.
+ Defaults to 0.0002.
+ interval (int): Update ema parameter every interval iteration.
+ Defaults to 1.
+ warm_up (int): During first warm_up steps, we may use smaller momentum
+ to update ema parameters more slowly. Defaults to 100.
+ resume_from (str): The checkpoint path. Defaults to None.
+ """
+
+ def __init__(self,
+ momentum=0.0002,
+ interval=1,
+ warm_up=100,
+ resume_from=None):
+ assert isinstance(interval, int) and interval > 0
+ self.warm_up = warm_up
+ self.interval = interval
+ assert momentum > 0 and momentum < 1
+ self.momentum = momentum**interval
+ self.checkpoint = resume_from
+
+ def before_run(self, runner):
+ """To resume model with it's ema parameters more friendly.
+
+ Register ema parameter as ``named_buffer`` to model
+ """
+ model = runner.model
+ if is_module_wrapper(model):
+ model = model.module
+ self.param_ema_buffer = {}
+ self.model_parameters = dict(model.named_parameters(recurse=True))
+ for name, value in self.model_parameters.items():
+ # "." is not allowed in module's buffer name
+ buffer_name = f"ema_{name.replace('.', '_')}"
+ self.param_ema_buffer[name] = buffer_name
+ model.register_buffer(buffer_name, value.data.clone())
+ self.model_buffers = dict(model.named_buffers(recurse=True))
+ if self.checkpoint is not None:
+ runner.resume(self.checkpoint)
+
+ def after_train_iter(self, runner):
+ """Update ema parameter every self.interval iterations."""
+ curr_step = runner.iter
+ # We warm up the momentum considering the instability at beginning
+ momentum = min(self.momentum,
+ (1 + curr_step) / (self.warm_up + curr_step))
+ if curr_step % self.interval != 0:
+ return
+ for name, parameter in self.model_parameters.items():
+ buffer_name = self.param_ema_buffer[name]
+ buffer_parameter = self.model_buffers[buffer_name]
+ buffer_parameter.mul_(1 - momentum).add_(momentum, parameter.data)
+
+ def after_train_epoch(self, runner):
+ """We load parameter values from ema backup to model before the
+ EvalHook."""
+ self._swap_ema_parameters()
+
+ def before_train_epoch(self, runner):
+ """We recover model's parameter from ema backup after last epoch's
+ EvalHook."""
+ self._swap_ema_parameters()
+
+ def _swap_ema_parameters(self):
+ """Swap the parameter of model with parameter in ema_buffer."""
+ for name, value in self.model_parameters.items():
+ temp = value.data.clone()
+ ema_buffer = self.model_buffers[self.param_ema_buffer[name]]
+ value.data.copy_(ema_buffer.data)
+ ema_buffer.data.copy_(temp)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/evaluation.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/evaluation.py
new file mode 100644
index 0000000000000000000000000000000000000000..a1dbdfd593bae505a70534226b79791baec6453e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/evaluation.py
@@ -0,0 +1,509 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import os.path as osp
+import warnings
+from math import inf
+
+import torch.distributed as dist
+from torch.nn.modules.batchnorm import _BatchNorm
+from torch.utils.data import DataLoader
+
+from annotator.mmpkg.mmcv.fileio import FileClient
+from annotator.mmpkg.mmcv.utils import is_seq_of
+from .hook import Hook
+from .logger import LoggerHook
+
+
+class EvalHook(Hook):
+ """Non-Distributed evaluation hook.
+
+ This hook will regularly perform evaluation in a given interval when
+ performing in non-distributed environment.
+
+ Args:
+ dataloader (DataLoader): A PyTorch dataloader, whose dataset has
+ implemented ``evaluate`` function.
+ start (int | None, optional): Evaluation starting epoch. It enables
+ evaluation before the training starts if ``start`` <= the resuming
+ epoch. If None, whether to evaluate is merely decided by
+ ``interval``. Default: None.
+ interval (int): Evaluation interval. Default: 1.
+ by_epoch (bool): Determine perform evaluation by epoch or by iteration.
+ If set to True, it will perform by epoch. Otherwise, by iteration.
+ Default: True.
+ save_best (str, optional): If a metric is specified, it would measure
+ the best checkpoint during evaluation. The information about best
+ checkpoint would be saved in ``runner.meta['hook_msgs']`` to keep
+ best score value and best checkpoint path, which will be also
+ loaded when resume checkpoint. Options are the evaluation metrics
+ on the test dataset. e.g., ``bbox_mAP``, ``segm_mAP`` for bbox
+ detection and instance segmentation. ``AR@100`` for proposal
+ recall. If ``save_best`` is ``auto``, the first key of the returned
+ ``OrderedDict`` result will be used. Default: None.
+ rule (str | None, optional): Comparison rule for best score. If set to
+ None, it will infer a reasonable rule. Keys such as 'acc', 'top'
+ .etc will be inferred by 'greater' rule. Keys contain 'loss' will
+ be inferred by 'less' rule. Options are 'greater', 'less', None.
+ Default: None.
+ test_fn (callable, optional): test a model with samples from a
+ dataloader, and return the test results. If ``None``, the default
+ test function ``mmcv.engine.single_gpu_test`` will be used.
+ (default: ``None``)
+ greater_keys (List[str] | None, optional): Metric keys that will be
+ inferred by 'greater' comparison rule. If ``None``,
+ _default_greater_keys will be used. (default: ``None``)
+ less_keys (List[str] | None, optional): Metric keys that will be
+ inferred by 'less' comparison rule. If ``None``, _default_less_keys
+ will be used. (default: ``None``)
+ out_dir (str, optional): The root directory to save checkpoints. If not
+ specified, `runner.work_dir` will be used by default. If specified,
+ the `out_dir` will be the concatenation of `out_dir` and the last
+ level directory of `runner.work_dir`.
+ `New in version 1.3.16.`
+ file_client_args (dict): Arguments to instantiate a FileClient.
+ See :class:`mmcv.fileio.FileClient` for details. Default: None.
+ `New in version 1.3.16.`
+ **eval_kwargs: Evaluation arguments fed into the evaluate function of
+ the dataset.
+
+ Notes:
+ If new arguments are added for EvalHook, tools/test.py,
+ tools/eval_metric.py may be affected.
+ """
+
+ # Since the key for determine greater or less is related to the downstream
+ # tasks, downstream repos may need to overwrite the following inner
+ # variable accordingly.
+
+ rule_map = {'greater': lambda x, y: x > y, 'less': lambda x, y: x < y}
+ init_value_map = {'greater': -inf, 'less': inf}
+ _default_greater_keys = [
+ 'acc', 'top', 'AR@', 'auc', 'precision', 'mAP', 'mDice', 'mIoU',
+ 'mAcc', 'aAcc'
+ ]
+ _default_less_keys = ['loss']
+
+ def __init__(self,
+ dataloader,
+ start=None,
+ interval=1,
+ by_epoch=True,
+ save_best=None,
+ rule=None,
+ test_fn=None,
+ greater_keys=None,
+ less_keys=None,
+ out_dir=None,
+ file_client_args=None,
+ **eval_kwargs):
+ if not isinstance(dataloader, DataLoader):
+ raise TypeError(f'dataloader must be a pytorch DataLoader, '
+ f'but got {type(dataloader)}')
+
+ if interval <= 0:
+ raise ValueError(f'interval must be a positive number, '
+ f'but got {interval}')
+
+ assert isinstance(by_epoch, bool), '``by_epoch`` should be a boolean'
+
+ if start is not None and start < 0:
+ raise ValueError(f'The evaluation start epoch {start} is smaller '
+ f'than 0')
+
+ self.dataloader = dataloader
+ self.interval = interval
+ self.start = start
+ self.by_epoch = by_epoch
+
+ assert isinstance(save_best, str) or save_best is None, \
+ '""save_best"" should be a str or None ' \
+ f'rather than {type(save_best)}'
+ self.save_best = save_best
+ self.eval_kwargs = eval_kwargs
+ self.initial_flag = True
+
+ if test_fn is None:
+ from annotator.mmpkg.mmcv.engine import single_gpu_test
+ self.test_fn = single_gpu_test
+ else:
+ self.test_fn = test_fn
+
+ if greater_keys is None:
+ self.greater_keys = self._default_greater_keys
+ else:
+ if not isinstance(greater_keys, (list, tuple)):
+ greater_keys = (greater_keys, )
+ assert is_seq_of(greater_keys, str)
+ self.greater_keys = greater_keys
+
+ if less_keys is None:
+ self.less_keys = self._default_less_keys
+ else:
+ if not isinstance(less_keys, (list, tuple)):
+ less_keys = (less_keys, )
+ assert is_seq_of(less_keys, str)
+ self.less_keys = less_keys
+
+ if self.save_best is not None:
+ self.best_ckpt_path = None
+ self._init_rule(rule, self.save_best)
+
+ self.out_dir = out_dir
+ self.file_client_args = file_client_args
+
+ def _init_rule(self, rule, key_indicator):
+ """Initialize rule, key_indicator, comparison_func, and best score.
+
+ Here is the rule to determine which rule is used for key indicator
+ when the rule is not specific (note that the key indicator matching
+ is case-insensitive):
+ 1. If the key indicator is in ``self.greater_keys``, the rule will be
+ specified as 'greater'.
+ 2. Or if the key indicator is in ``self.less_keys``, the rule will be
+ specified as 'less'.
+ 3. Or if the key indicator is equal to the substring in any one item
+ in ``self.greater_keys``, the rule will be specified as 'greater'.
+ 4. Or if the key indicator is equal to the substring in any one item
+ in ``self.less_keys``, the rule will be specified as 'less'.
+
+ Args:
+ rule (str | None): Comparison rule for best score.
+ key_indicator (str | None): Key indicator to determine the
+ comparison rule.
+ """
+ if rule not in self.rule_map and rule is not None:
+ raise KeyError(f'rule must be greater, less or None, '
+ f'but got {rule}.')
+
+ if rule is None:
+ if key_indicator != 'auto':
+ # `_lc` here means we use the lower case of keys for
+ # case-insensitive matching
+ key_indicator_lc = key_indicator.lower()
+ greater_keys = [key.lower() for key in self.greater_keys]
+ less_keys = [key.lower() for key in self.less_keys]
+
+ if key_indicator_lc in greater_keys:
+ rule = 'greater'
+ elif key_indicator_lc in less_keys:
+ rule = 'less'
+ elif any(key in key_indicator_lc for key in greater_keys):
+ rule = 'greater'
+ elif any(key in key_indicator_lc for key in less_keys):
+ rule = 'less'
+ else:
+ raise ValueError(f'Cannot infer the rule for key '
+ f'{key_indicator}, thus a specific rule '
+ f'must be specified.')
+ self.rule = rule
+ self.key_indicator = key_indicator
+ if self.rule is not None:
+ self.compare_func = self.rule_map[self.rule]
+
+ def before_run(self, runner):
+ if not self.out_dir:
+ self.out_dir = runner.work_dir
+
+ self.file_client = FileClient.infer_client(self.file_client_args,
+ self.out_dir)
+
+ # if `self.out_dir` is not equal to `runner.work_dir`, it means that
+ # `self.out_dir` is set so the final `self.out_dir` is the
+ # concatenation of `self.out_dir` and the last level directory of
+ # `runner.work_dir`
+ if self.out_dir != runner.work_dir:
+ basename = osp.basename(runner.work_dir.rstrip(osp.sep))
+ self.out_dir = self.file_client.join_path(self.out_dir, basename)
+ runner.logger.info(
+ (f'The best checkpoint will be saved to {self.out_dir} by '
+ f'{self.file_client.name}'))
+
+ if self.save_best is not None:
+ if runner.meta is None:
+ warnings.warn('runner.meta is None. Creating an empty one.')
+ runner.meta = dict()
+ runner.meta.setdefault('hook_msgs', dict())
+ self.best_ckpt_path = runner.meta['hook_msgs'].get(
+ 'best_ckpt', None)
+
+ def before_train_iter(self, runner):
+ """Evaluate the model only at the start of training by iteration."""
+ if self.by_epoch or not self.initial_flag:
+ return
+ if self.start is not None and runner.iter >= self.start:
+ self.after_train_iter(runner)
+ self.initial_flag = False
+
+ def before_train_epoch(self, runner):
+ """Evaluate the model only at the start of training by epoch."""
+ if not (self.by_epoch and self.initial_flag):
+ return
+ if self.start is not None and runner.epoch >= self.start:
+ self.after_train_epoch(runner)
+ self.initial_flag = False
+
+ def after_train_iter(self, runner):
+ """Called after every training iter to evaluate the results."""
+ if not self.by_epoch and self._should_evaluate(runner):
+ # Because the priority of EvalHook is higher than LoggerHook, the
+ # training log and the evaluating log are mixed. Therefore,
+ # we need to dump the training log and clear it before evaluating
+ # log is generated. In addition, this problem will only appear in
+ # `IterBasedRunner` whose `self.by_epoch` is False, because
+ # `EpochBasedRunner` whose `self.by_epoch` is True calls
+ # `_do_evaluate` in `after_train_epoch` stage, and at this stage
+ # the training log has been printed, so it will not cause any
+ # problem. more details at
+ # https://github.com/open-mmlab/mmsegmentation/issues/694
+ for hook in runner._hooks:
+ if isinstance(hook, LoggerHook):
+ hook.after_train_iter(runner)
+ runner.log_buffer.clear()
+
+ self._do_evaluate(runner)
+
+ def after_train_epoch(self, runner):
+ """Called after every training epoch to evaluate the results."""
+ if self.by_epoch and self._should_evaluate(runner):
+ self._do_evaluate(runner)
+
+ def _do_evaluate(self, runner):
+ """perform evaluation and save ckpt."""
+ results = self.test_fn(runner.model, self.dataloader)
+ runner.log_buffer.output['eval_iter_num'] = len(self.dataloader)
+ key_score = self.evaluate(runner, results)
+ # the key_score may be `None` so it needs to skip the action to save
+ # the best checkpoint
+ if self.save_best and key_score:
+ self._save_ckpt(runner, key_score)
+
+ def _should_evaluate(self, runner):
+ """Judge whether to perform evaluation.
+
+ Here is the rule to judge whether to perform evaluation:
+ 1. It will not perform evaluation during the epoch/iteration interval,
+ which is determined by ``self.interval``.
+ 2. It will not perform evaluation if the start time is larger than
+ current time.
+ 3. It will not perform evaluation when current time is larger than
+ the start time but during epoch/iteration interval.
+
+ Returns:
+ bool: The flag indicating whether to perform evaluation.
+ """
+ if self.by_epoch:
+ current = runner.epoch
+ check_time = self.every_n_epochs
+ else:
+ current = runner.iter
+ check_time = self.every_n_iters
+
+ if self.start is None:
+ if not check_time(runner, self.interval):
+ # No evaluation during the interval.
+ return False
+ elif (current + 1) < self.start:
+ # No evaluation if start is larger than the current time.
+ return False
+ else:
+ # Evaluation only at epochs/iters 3, 5, 7...
+ # if start==3 and interval==2
+ if (current + 1 - self.start) % self.interval:
+ return False
+ return True
+
+ def _save_ckpt(self, runner, key_score):
+ """Save the best checkpoint.
+
+ It will compare the score according to the compare function, write
+ related information (best score, best checkpoint path) and save the
+ best checkpoint into ``work_dir``.
+ """
+ if self.by_epoch:
+ current = f'epoch_{runner.epoch + 1}'
+ cur_type, cur_time = 'epoch', runner.epoch + 1
+ else:
+ current = f'iter_{runner.iter + 1}'
+ cur_type, cur_time = 'iter', runner.iter + 1
+
+ best_score = runner.meta['hook_msgs'].get(
+ 'best_score', self.init_value_map[self.rule])
+ if self.compare_func(key_score, best_score):
+ best_score = key_score
+ runner.meta['hook_msgs']['best_score'] = best_score
+
+ if self.best_ckpt_path and self.file_client.isfile(
+ self.best_ckpt_path):
+ self.file_client.remove(self.best_ckpt_path)
+ runner.logger.info(
+ (f'The previous best checkpoint {self.best_ckpt_path} was '
+ 'removed'))
+
+ best_ckpt_name = f'best_{self.key_indicator}_{current}.pth'
+ self.best_ckpt_path = self.file_client.join_path(
+ self.out_dir, best_ckpt_name)
+ runner.meta['hook_msgs']['best_ckpt'] = self.best_ckpt_path
+
+ runner.save_checkpoint(
+ self.out_dir, best_ckpt_name, create_symlink=False)
+ runner.logger.info(
+ f'Now best checkpoint is saved as {best_ckpt_name}.')
+ runner.logger.info(
+ f'Best {self.key_indicator} is {best_score:0.4f} '
+ f'at {cur_time} {cur_type}.')
+
+ def evaluate(self, runner, results):
+ """Evaluate the results.
+
+ Args:
+ runner (:obj:`mmcv.Runner`): The underlined training runner.
+ results (list): Output results.
+ """
+ eval_res = self.dataloader.dataset.evaluate(
+ results, logger=runner.logger, **self.eval_kwargs)
+
+ for name, val in eval_res.items():
+ runner.log_buffer.output[name] = val
+ runner.log_buffer.ready = True
+
+ if self.save_best is not None:
+ # If the performance of model is pool, the `eval_res` may be an
+ # empty dict and it will raise exception when `self.save_best` is
+ # not None. More details at
+ # https://github.com/open-mmlab/mmdetection/issues/6265.
+ if not eval_res:
+ warnings.warn(
+ 'Since `eval_res` is an empty dict, the behavior to save '
+ 'the best checkpoint will be skipped in this evaluation.')
+ return None
+
+ if self.key_indicator == 'auto':
+ # infer from eval_results
+ self._init_rule(self.rule, list(eval_res.keys())[0])
+ return eval_res[self.key_indicator]
+
+ return None
+
+
+class DistEvalHook(EvalHook):
+ """Distributed evaluation hook.
+
+ This hook will regularly perform evaluation in a given interval when
+ performing in distributed environment.
+
+ Args:
+ dataloader (DataLoader): A PyTorch dataloader, whose dataset has
+ implemented ``evaluate`` function.
+ start (int | None, optional): Evaluation starting epoch. It enables
+ evaluation before the training starts if ``start`` <= the resuming
+ epoch. If None, whether to evaluate is merely decided by
+ ``interval``. Default: None.
+ interval (int): Evaluation interval. Default: 1.
+ by_epoch (bool): Determine perform evaluation by epoch or by iteration.
+ If set to True, it will perform by epoch. Otherwise, by iteration.
+ default: True.
+ save_best (str, optional): If a metric is specified, it would measure
+ the best checkpoint during evaluation. The information about best
+ checkpoint would be saved in ``runner.meta['hook_msgs']`` to keep
+ best score value and best checkpoint path, which will be also
+ loaded when resume checkpoint. Options are the evaluation metrics
+ on the test dataset. e.g., ``bbox_mAP``, ``segm_mAP`` for bbox
+ detection and instance segmentation. ``AR@100`` for proposal
+ recall. If ``save_best`` is ``auto``, the first key of the returned
+ ``OrderedDict`` result will be used. Default: None.
+ rule (str | None, optional): Comparison rule for best score. If set to
+ None, it will infer a reasonable rule. Keys such as 'acc', 'top'
+ .etc will be inferred by 'greater' rule. Keys contain 'loss' will
+ be inferred by 'less' rule. Options are 'greater', 'less', None.
+ Default: None.
+ test_fn (callable, optional): test a model with samples from a
+ dataloader in a multi-gpu manner, and return the test results. If
+ ``None``, the default test function ``mmcv.engine.multi_gpu_test``
+ will be used. (default: ``None``)
+ tmpdir (str | None): Temporary directory to save the results of all
+ processes. Default: None.
+ gpu_collect (bool): Whether to use gpu or cpu to collect results.
+ Default: False.
+ broadcast_bn_buffer (bool): Whether to broadcast the
+ buffer(running_mean and running_var) of rank 0 to other rank
+ before evaluation. Default: True.
+ out_dir (str, optional): The root directory to save checkpoints. If not
+ specified, `runner.work_dir` will be used by default. If specified,
+ the `out_dir` will be the concatenation of `out_dir` and the last
+ level directory of `runner.work_dir`.
+ file_client_args (dict): Arguments to instantiate a FileClient.
+ See :class:`mmcv.fileio.FileClient` for details. Default: None.
+ **eval_kwargs: Evaluation arguments fed into the evaluate function of
+ the dataset.
+ """
+
+ def __init__(self,
+ dataloader,
+ start=None,
+ interval=1,
+ by_epoch=True,
+ save_best=None,
+ rule=None,
+ test_fn=None,
+ greater_keys=None,
+ less_keys=None,
+ broadcast_bn_buffer=True,
+ tmpdir=None,
+ gpu_collect=False,
+ out_dir=None,
+ file_client_args=None,
+ **eval_kwargs):
+
+ if test_fn is None:
+ from annotator.mmpkg.mmcv.engine import multi_gpu_test
+ test_fn = multi_gpu_test
+
+ super().__init__(
+ dataloader,
+ start=start,
+ interval=interval,
+ by_epoch=by_epoch,
+ save_best=save_best,
+ rule=rule,
+ test_fn=test_fn,
+ greater_keys=greater_keys,
+ less_keys=less_keys,
+ out_dir=out_dir,
+ file_client_args=file_client_args,
+ **eval_kwargs)
+
+ self.broadcast_bn_buffer = broadcast_bn_buffer
+ self.tmpdir = tmpdir
+ self.gpu_collect = gpu_collect
+
+ def _do_evaluate(self, runner):
+ """perform evaluation and save ckpt."""
+ # Synchronization of BatchNorm's buffer (running_mean
+ # and running_var) is not supported in the DDP of pytorch,
+ # which may cause the inconsistent performance of models in
+ # different ranks, so we broadcast BatchNorm's buffers
+ # of rank 0 to other ranks to avoid this.
+ if self.broadcast_bn_buffer:
+ model = runner.model
+ for name, module in model.named_modules():
+ if isinstance(module,
+ _BatchNorm) and module.track_running_stats:
+ dist.broadcast(module.running_var, 0)
+ dist.broadcast(module.running_mean, 0)
+
+ tmpdir = self.tmpdir
+ if tmpdir is None:
+ tmpdir = osp.join(runner.work_dir, '.eval_hook')
+
+ results = self.test_fn(
+ runner.model,
+ self.dataloader,
+ tmpdir=tmpdir,
+ gpu_collect=self.gpu_collect)
+ if runner.rank == 0:
+ print('\n')
+ runner.log_buffer.output['eval_iter_num'] = len(self.dataloader)
+ key_score = self.evaluate(runner, results)
+ # the key_score may be `None` so it needs to skip the action to
+ # save the best checkpoint
+ if self.save_best and key_score:
+ self._save_ckpt(runner, key_score)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/hook.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/hook.py
new file mode 100644
index 0000000000000000000000000000000000000000..bd31f985fee739ccb7ac62eefc6cef9f0c0d65d0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/hook.py
@@ -0,0 +1,92 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from annotator.mmpkg.mmcv.utils import Registry, is_method_overridden
+
+HOOKS = Registry('hook')
+
+
+class Hook:
+ stages = ('before_run', 'before_train_epoch', 'before_train_iter',
+ 'after_train_iter', 'after_train_epoch', 'before_val_epoch',
+ 'before_val_iter', 'after_val_iter', 'after_val_epoch',
+ 'after_run')
+
+ def before_run(self, runner):
+ pass
+
+ def after_run(self, runner):
+ pass
+
+ def before_epoch(self, runner):
+ pass
+
+ def after_epoch(self, runner):
+ pass
+
+ def before_iter(self, runner):
+ pass
+
+ def after_iter(self, runner):
+ pass
+
+ def before_train_epoch(self, runner):
+ self.before_epoch(runner)
+
+ def before_val_epoch(self, runner):
+ self.before_epoch(runner)
+
+ def after_train_epoch(self, runner):
+ self.after_epoch(runner)
+
+ def after_val_epoch(self, runner):
+ self.after_epoch(runner)
+
+ def before_train_iter(self, runner):
+ self.before_iter(runner)
+
+ def before_val_iter(self, runner):
+ self.before_iter(runner)
+
+ def after_train_iter(self, runner):
+ self.after_iter(runner)
+
+ def after_val_iter(self, runner):
+ self.after_iter(runner)
+
+ def every_n_epochs(self, runner, n):
+ return (runner.epoch + 1) % n == 0 if n > 0 else False
+
+ def every_n_inner_iters(self, runner, n):
+ return (runner.inner_iter + 1) % n == 0 if n > 0 else False
+
+ def every_n_iters(self, runner, n):
+ return (runner.iter + 1) % n == 0 if n > 0 else False
+
+ def end_of_epoch(self, runner):
+ return runner.inner_iter + 1 == len(runner.data_loader)
+
+ def is_last_epoch(self, runner):
+ return runner.epoch + 1 == runner._max_epochs
+
+ def is_last_iter(self, runner):
+ return runner.iter + 1 == runner._max_iters
+
+ def get_triggered_stages(self):
+ trigger_stages = set()
+ for stage in Hook.stages:
+ if is_method_overridden(stage, Hook, self):
+ trigger_stages.add(stage)
+
+ # some methods will be triggered in multi stages
+ # use this dict to map method to stages.
+ method_stages_map = {
+ 'before_epoch': ['before_train_epoch', 'before_val_epoch'],
+ 'after_epoch': ['after_train_epoch', 'after_val_epoch'],
+ 'before_iter': ['before_train_iter', 'before_val_iter'],
+ 'after_iter': ['after_train_iter', 'after_val_iter'],
+ }
+
+ for method, map_stages in method_stages_map.items():
+ if is_method_overridden(method, Hook, self):
+ trigger_stages.update(map_stages)
+
+ return [stage for stage in Hook.stages if stage in trigger_stages]
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/iter_timer.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/iter_timer.py
new file mode 100644
index 0000000000000000000000000000000000000000..cfd5002fe85ffc6992155ac01003878064a1d9be
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/iter_timer.py
@@ -0,0 +1,18 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import time
+
+from .hook import HOOKS, Hook
+
+
+@HOOKS.register_module()
+class IterTimerHook(Hook):
+
+ def before_epoch(self, runner):
+ self.t = time.time()
+
+ def before_iter(self, runner):
+ runner.log_buffer.update({'data_time': time.time() - self.t})
+
+ def after_iter(self, runner):
+ runner.log_buffer.update({'time': time.time() - self.t})
+ self.t = time.time()
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/logger/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/logger/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..a0b6b345640a895368ac8a647afef6f24333d90e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/logger/__init__.py
@@ -0,0 +1,15 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from .base import LoggerHook
+from .dvclive import DvcliveLoggerHook
+from .mlflow import MlflowLoggerHook
+from .neptune import NeptuneLoggerHook
+from .pavi import PaviLoggerHook
+from .tensorboard import TensorboardLoggerHook
+from .text import TextLoggerHook
+from .wandb import WandbLoggerHook
+
+__all__ = [
+ 'LoggerHook', 'MlflowLoggerHook', 'PaviLoggerHook',
+ 'TensorboardLoggerHook', 'TextLoggerHook', 'WandbLoggerHook',
+ 'NeptuneLoggerHook', 'DvcliveLoggerHook'
+]
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/logger/base.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/logger/base.py
new file mode 100644
index 0000000000000000000000000000000000000000..f845256729458ced821762a1b8ef881e17ff9955
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/logger/base.py
@@ -0,0 +1,166 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import numbers
+from abc import ABCMeta, abstractmethod
+
+import numpy as np
+import torch
+
+from ..hook import Hook
+
+
+class LoggerHook(Hook):
+ """Base class for logger hooks.
+
+ Args:
+ interval (int): Logging interval (every k iterations).
+ ignore_last (bool): Ignore the log of last iterations in each epoch
+ if less than `interval`.
+ reset_flag (bool): Whether to clear the output buffer after logging.
+ by_epoch (bool): Whether EpochBasedRunner is used.
+ """
+
+ __metaclass__ = ABCMeta
+
+ def __init__(self,
+ interval=10,
+ ignore_last=True,
+ reset_flag=False,
+ by_epoch=True):
+ self.interval = interval
+ self.ignore_last = ignore_last
+ self.reset_flag = reset_flag
+ self.by_epoch = by_epoch
+
+ @abstractmethod
+ def log(self, runner):
+ pass
+
+ @staticmethod
+ def is_scalar(val, include_np=True, include_torch=True):
+ """Tell the input variable is a scalar or not.
+
+ Args:
+ val: Input variable.
+ include_np (bool): Whether include 0-d np.ndarray as a scalar.
+ include_torch (bool): Whether include 0-d torch.Tensor as a scalar.
+
+ Returns:
+ bool: True or False.
+ """
+ if isinstance(val, numbers.Number):
+ return True
+ elif include_np and isinstance(val, np.ndarray) and val.ndim == 0:
+ return True
+ elif include_torch and isinstance(val, torch.Tensor) and len(val) == 1:
+ return True
+ else:
+ return False
+
+ def get_mode(self, runner):
+ if runner.mode == 'train':
+ if 'time' in runner.log_buffer.output:
+ mode = 'train'
+ else:
+ mode = 'val'
+ elif runner.mode == 'val':
+ mode = 'val'
+ else:
+ raise ValueError(f"runner mode should be 'train' or 'val', "
+ f'but got {runner.mode}')
+ return mode
+
+ def get_epoch(self, runner):
+ if runner.mode == 'train':
+ epoch = runner.epoch + 1
+ elif runner.mode == 'val':
+ # normal val mode
+ # runner.epoch += 1 has been done before val workflow
+ epoch = runner.epoch
+ else:
+ raise ValueError(f"runner mode should be 'train' or 'val', "
+ f'but got {runner.mode}')
+ return epoch
+
+ def get_iter(self, runner, inner_iter=False):
+ """Get the current training iteration step."""
+ if self.by_epoch and inner_iter:
+ current_iter = runner.inner_iter + 1
+ else:
+ current_iter = runner.iter + 1
+ return current_iter
+
+ def get_lr_tags(self, runner):
+ tags = {}
+ lrs = runner.current_lr()
+ if isinstance(lrs, dict):
+ for name, value in lrs.items():
+ tags[f'learning_rate/{name}'] = value[0]
+ else:
+ tags['learning_rate'] = lrs[0]
+ return tags
+
+ def get_momentum_tags(self, runner):
+ tags = {}
+ momentums = runner.current_momentum()
+ if isinstance(momentums, dict):
+ for name, value in momentums.items():
+ tags[f'momentum/{name}'] = value[0]
+ else:
+ tags['momentum'] = momentums[0]
+ return tags
+
+ def get_loggable_tags(self,
+ runner,
+ allow_scalar=True,
+ allow_text=False,
+ add_mode=True,
+ tags_to_skip=('time', 'data_time')):
+ tags = {}
+ for var, val in runner.log_buffer.output.items():
+ if var in tags_to_skip:
+ continue
+ if self.is_scalar(val) and not allow_scalar:
+ continue
+ if isinstance(val, str) and not allow_text:
+ continue
+ if add_mode:
+ var = f'{self.get_mode(runner)}/{var}'
+ tags[var] = val
+ tags.update(self.get_lr_tags(runner))
+ tags.update(self.get_momentum_tags(runner))
+ return tags
+
+ def before_run(self, runner):
+ for hook in runner.hooks[::-1]:
+ if isinstance(hook, LoggerHook):
+ hook.reset_flag = True
+ break
+
+ def before_epoch(self, runner):
+ runner.log_buffer.clear() # clear logs of last epoch
+
+ def after_train_iter(self, runner):
+ if self.by_epoch and self.every_n_inner_iters(runner, self.interval):
+ runner.log_buffer.average(self.interval)
+ elif not self.by_epoch and self.every_n_iters(runner, self.interval):
+ runner.log_buffer.average(self.interval)
+ elif self.end_of_epoch(runner) and not self.ignore_last:
+ # not precise but more stable
+ runner.log_buffer.average(self.interval)
+
+ if runner.log_buffer.ready:
+ self.log(runner)
+ if self.reset_flag:
+ runner.log_buffer.clear_output()
+
+ def after_train_epoch(self, runner):
+ if runner.log_buffer.ready:
+ self.log(runner)
+ if self.reset_flag:
+ runner.log_buffer.clear_output()
+
+ def after_val_epoch(self, runner):
+ runner.log_buffer.average()
+ self.log(runner)
+ if self.reset_flag:
+ runner.log_buffer.clear_output()
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/logger/dvclive.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/logger/dvclive.py
new file mode 100644
index 0000000000000000000000000000000000000000..687cdc58c0336c92b1e4f9a410ba67ebaab2bc7a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/logger/dvclive.py
@@ -0,0 +1,58 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from ...dist_utils import master_only
+from ..hook import HOOKS
+from .base import LoggerHook
+
+
+@HOOKS.register_module()
+class DvcliveLoggerHook(LoggerHook):
+ """Class to log metrics with dvclive.
+
+ It requires `dvclive`_ to be installed.
+
+ Args:
+ path (str): Directory where dvclive will write TSV log files.
+ interval (int): Logging interval (every k iterations).
+ Default 10.
+ ignore_last (bool): Ignore the log of last iterations in each epoch
+ if less than `interval`.
+ Default: True.
+ reset_flag (bool): Whether to clear the output buffer after logging.
+ Default: True.
+ by_epoch (bool): Whether EpochBasedRunner is used.
+ Default: True.
+
+ .. _dvclive:
+ https://dvc.org/doc/dvclive
+ """
+
+ def __init__(self,
+ path,
+ interval=10,
+ ignore_last=True,
+ reset_flag=True,
+ by_epoch=True):
+
+ super(DvcliveLoggerHook, self).__init__(interval, ignore_last,
+ reset_flag, by_epoch)
+ self.path = path
+ self.import_dvclive()
+
+ def import_dvclive(self):
+ try:
+ import dvclive
+ except ImportError:
+ raise ImportError(
+ 'Please run "pip install dvclive" to install dvclive')
+ self.dvclive = dvclive
+
+ @master_only
+ def before_run(self, runner):
+ self.dvclive.init(self.path)
+
+ @master_only
+ def log(self, runner):
+ tags = self.get_loggable_tags(runner)
+ if tags:
+ for k, v in tags.items():
+ self.dvclive.log(k, v, step=self.get_iter(runner))
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/logger/mlflow.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/logger/mlflow.py
new file mode 100644
index 0000000000000000000000000000000000000000..f9a72592be47b534ce22573775fd5a7e8e86d72d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/logger/mlflow.py
@@ -0,0 +1,78 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from ...dist_utils import master_only
+from ..hook import HOOKS
+from .base import LoggerHook
+
+
+@HOOKS.register_module()
+class MlflowLoggerHook(LoggerHook):
+
+ def __init__(self,
+ exp_name=None,
+ tags=None,
+ log_model=True,
+ interval=10,
+ ignore_last=True,
+ reset_flag=False,
+ by_epoch=True):
+ """Class to log metrics and (optionally) a trained model to MLflow.
+
+ It requires `MLflow`_ to be installed.
+
+ Args:
+ exp_name (str, optional): Name of the experiment to be used.
+ Default None.
+ If not None, set the active experiment.
+ If experiment does not exist, an experiment with provided name
+ will be created.
+ tags (dict of str: str, optional): Tags for the current run.
+ Default None.
+ If not None, set tags for the current run.
+ log_model (bool, optional): Whether to log an MLflow artifact.
+ Default True.
+ If True, log runner.model as an MLflow artifact
+ for the current run.
+ interval (int): Logging interval (every k iterations).
+ ignore_last (bool): Ignore the log of last iterations in each epoch
+ if less than `interval`.
+ reset_flag (bool): Whether to clear the output buffer after logging
+ by_epoch (bool): Whether EpochBasedRunner is used.
+
+ .. _MLflow:
+ https://www.mlflow.org/docs/latest/index.html
+ """
+ super(MlflowLoggerHook, self).__init__(interval, ignore_last,
+ reset_flag, by_epoch)
+ self.import_mlflow()
+ self.exp_name = exp_name
+ self.tags = tags
+ self.log_model = log_model
+
+ def import_mlflow(self):
+ try:
+ import mlflow
+ import mlflow.pytorch as mlflow_pytorch
+ except ImportError:
+ raise ImportError(
+ 'Please run "pip install mlflow" to install mlflow')
+ self.mlflow = mlflow
+ self.mlflow_pytorch = mlflow_pytorch
+
+ @master_only
+ def before_run(self, runner):
+ super(MlflowLoggerHook, self).before_run(runner)
+ if self.exp_name is not None:
+ self.mlflow.set_experiment(self.exp_name)
+ if self.tags is not None:
+ self.mlflow.set_tags(self.tags)
+
+ @master_only
+ def log(self, runner):
+ tags = self.get_loggable_tags(runner)
+ if tags:
+ self.mlflow.log_metrics(tags, step=self.get_iter(runner))
+
+ @master_only
+ def after_run(self, runner):
+ if self.log_model:
+ self.mlflow_pytorch.log_model(runner.model, 'models')
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/logger/neptune.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/logger/neptune.py
new file mode 100644
index 0000000000000000000000000000000000000000..7a38772b0c93a8608f32c6357b8616e77c139dc9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/logger/neptune.py
@@ -0,0 +1,82 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from ...dist_utils import master_only
+from ..hook import HOOKS
+from .base import LoggerHook
+
+
+@HOOKS.register_module()
+class NeptuneLoggerHook(LoggerHook):
+ """Class to log metrics to NeptuneAI.
+
+ It requires `neptune-client` to be installed.
+
+ Args:
+ init_kwargs (dict): a dict contains the initialization keys as below:
+ - project (str): Name of a project in a form of
+ namespace/project_name. If None, the value of
+ NEPTUNE_PROJECT environment variable will be taken.
+ - api_token (str): User’s API token.
+ If None, the value of NEPTUNE_API_TOKEN environment
+ variable will be taken. Note: It is strongly recommended
+ to use NEPTUNE_API_TOKEN environment variable rather than
+ placing your API token in plain text in your source code.
+ - name (str, optional, default is 'Untitled'): Editable name of
+ the run. Name is displayed in the run's Details and in
+ Runs table as a column.
+ Check https://docs.neptune.ai/api-reference/neptune#init for
+ more init arguments.
+ interval (int): Logging interval (every k iterations).
+ ignore_last (bool): Ignore the log of last iterations in each epoch
+ if less than `interval`.
+ reset_flag (bool): Whether to clear the output buffer after logging
+ by_epoch (bool): Whether EpochBasedRunner is used.
+
+ .. _NeptuneAI:
+ https://docs.neptune.ai/you-should-know/logging-metadata
+ """
+
+ def __init__(self,
+ init_kwargs=None,
+ interval=10,
+ ignore_last=True,
+ reset_flag=True,
+ with_step=True,
+ by_epoch=True):
+
+ super(NeptuneLoggerHook, self).__init__(interval, ignore_last,
+ reset_flag, by_epoch)
+ self.import_neptune()
+ self.init_kwargs = init_kwargs
+ self.with_step = with_step
+
+ def import_neptune(self):
+ try:
+ import neptune.new as neptune
+ except ImportError:
+ raise ImportError(
+ 'Please run "pip install neptune-client" to install neptune')
+ self.neptune = neptune
+ self.run = None
+
+ @master_only
+ def before_run(self, runner):
+ if self.init_kwargs:
+ self.run = self.neptune.init(**self.init_kwargs)
+ else:
+ self.run = self.neptune.init()
+
+ @master_only
+ def log(self, runner):
+ tags = self.get_loggable_tags(runner)
+ if tags:
+ for tag_name, tag_value in tags.items():
+ if self.with_step:
+ self.run[tag_name].log(
+ tag_value, step=self.get_iter(runner))
+ else:
+ tags['global_step'] = self.get_iter(runner)
+ self.run[tag_name].log(tags)
+
+ @master_only
+ def after_run(self, runner):
+ self.run.stop()
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/logger/pavi.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/logger/pavi.py
new file mode 100644
index 0000000000000000000000000000000000000000..5d1c4286920361e6b80f135b8d60b250f98f507a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/logger/pavi.py
@@ -0,0 +1,117 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import json
+import os
+import os.path as osp
+
+import torch
+import yaml
+
+import annotator.mmpkg.mmcv as mmcv
+from ....parallel.utils import is_module_wrapper
+from ...dist_utils import master_only
+from ..hook import HOOKS
+from .base import LoggerHook
+
+
+@HOOKS.register_module()
+class PaviLoggerHook(LoggerHook):
+
+ def __init__(self,
+ init_kwargs=None,
+ add_graph=False,
+ add_last_ckpt=False,
+ interval=10,
+ ignore_last=True,
+ reset_flag=False,
+ by_epoch=True,
+ img_key='img_info'):
+ super(PaviLoggerHook, self).__init__(interval, ignore_last, reset_flag,
+ by_epoch)
+ self.init_kwargs = init_kwargs
+ self.add_graph = add_graph
+ self.add_last_ckpt = add_last_ckpt
+ self.img_key = img_key
+
+ @master_only
+ def before_run(self, runner):
+ super(PaviLoggerHook, self).before_run(runner)
+ try:
+ from pavi import SummaryWriter
+ except ImportError:
+ raise ImportError('Please run "pip install pavi" to install pavi.')
+
+ self.run_name = runner.work_dir.split('/')[-1]
+
+ if not self.init_kwargs:
+ self.init_kwargs = dict()
+ self.init_kwargs['name'] = self.run_name
+ self.init_kwargs['model'] = runner._model_name
+ if runner.meta is not None:
+ if 'config_dict' in runner.meta:
+ config_dict = runner.meta['config_dict']
+ assert isinstance(
+ config_dict,
+ dict), ('meta["config_dict"] has to be of a dict, '
+ f'but got {type(config_dict)}')
+ elif 'config_file' in runner.meta:
+ config_file = runner.meta['config_file']
+ config_dict = dict(mmcv.Config.fromfile(config_file))
+ else:
+ config_dict = None
+ if config_dict is not None:
+ # 'max_.*iter' is parsed in pavi sdk as the maximum iterations
+ # to properly set up the progress bar.
+ config_dict = config_dict.copy()
+ config_dict.setdefault('max_iter', runner.max_iters)
+ # non-serializable values are first converted in
+ # mmcv.dump to json
+ config_dict = json.loads(
+ mmcv.dump(config_dict, file_format='json'))
+ session_text = yaml.dump(config_dict)
+ self.init_kwargs['session_text'] = session_text
+ self.writer = SummaryWriter(**self.init_kwargs)
+
+ def get_step(self, runner):
+ """Get the total training step/epoch."""
+ if self.get_mode(runner) == 'val' and self.by_epoch:
+ return self.get_epoch(runner)
+ else:
+ return self.get_iter(runner)
+
+ @master_only
+ def log(self, runner):
+ tags = self.get_loggable_tags(runner, add_mode=False)
+ if tags:
+ self.writer.add_scalars(
+ self.get_mode(runner), tags, self.get_step(runner))
+
+ @master_only
+ def after_run(self, runner):
+ if self.add_last_ckpt:
+ ckpt_path = osp.join(runner.work_dir, 'latest.pth')
+ if osp.islink(ckpt_path):
+ ckpt_path = osp.join(runner.work_dir, os.readlink(ckpt_path))
+
+ if osp.isfile(ckpt_path):
+ # runner.epoch += 1 has been done before `after_run`.
+ iteration = runner.epoch if self.by_epoch else runner.iter
+ return self.writer.add_snapshot_file(
+ tag=self.run_name,
+ snapshot_file_path=ckpt_path,
+ iteration=iteration)
+
+ # flush the buffer and send a task ending signal to Pavi
+ self.writer.close()
+
+ @master_only
+ def before_epoch(self, runner):
+ if runner.epoch == 0 and self.add_graph:
+ if is_module_wrapper(runner.model):
+ _model = runner.model.module
+ else:
+ _model = runner.model
+ device = next(_model.parameters()).device
+ data = next(iter(runner.data_loader))
+ image = data[self.img_key][0:1].to(device)
+ with torch.no_grad():
+ self.writer.add_graph(_model, image)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/logger/tensorboard.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/logger/tensorboard.py
new file mode 100644
index 0000000000000000000000000000000000000000..7c480a560e90f5b06abb4afaf9597aaf7c1eaa82
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/logger/tensorboard.py
@@ -0,0 +1,57 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import os.path as osp
+
+from annotator.mmpkg.mmcv.utils import TORCH_VERSION, digit_version
+from ...dist_utils import master_only
+from ..hook import HOOKS
+from .base import LoggerHook
+
+
+@HOOKS.register_module()
+class TensorboardLoggerHook(LoggerHook):
+
+ def __init__(self,
+ log_dir=None,
+ interval=10,
+ ignore_last=True,
+ reset_flag=False,
+ by_epoch=True):
+ super(TensorboardLoggerHook, self).__init__(interval, ignore_last,
+ reset_flag, by_epoch)
+ self.log_dir = log_dir
+
+ @master_only
+ def before_run(self, runner):
+ super(TensorboardLoggerHook, self).before_run(runner)
+ if (TORCH_VERSION == 'parrots'
+ or digit_version(TORCH_VERSION) < digit_version('1.1')):
+ try:
+ from tensorboardX import SummaryWriter
+ except ImportError:
+ raise ImportError('Please install tensorboardX to use '
+ 'TensorboardLoggerHook.')
+ else:
+ try:
+ from torch.utils.tensorboard import SummaryWriter
+ except ImportError:
+ raise ImportError(
+ 'Please run "pip install future tensorboard" to install '
+ 'the dependencies to use torch.utils.tensorboard '
+ '(applicable to PyTorch 1.1 or higher)')
+
+ if self.log_dir is None:
+ self.log_dir = osp.join(runner.work_dir, 'tf_logs')
+ self.writer = SummaryWriter(self.log_dir)
+
+ @master_only
+ def log(self, runner):
+ tags = self.get_loggable_tags(runner, allow_text=True)
+ for tag, val in tags.items():
+ if isinstance(val, str):
+ self.writer.add_text(tag, val, self.get_iter(runner))
+ else:
+ self.writer.add_scalar(tag, val, self.get_iter(runner))
+
+ @master_only
+ def after_run(self, runner):
+ self.writer.close()
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/logger/text.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/logger/text.py
new file mode 100644
index 0000000000000000000000000000000000000000..0b30577469d5f70e544e1ce73816326e38dadb20
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/logger/text.py
@@ -0,0 +1,256 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import datetime
+import os
+import os.path as osp
+from collections import OrderedDict
+
+import torch
+import torch.distributed as dist
+
+import annotator.mmpkg.mmcv as mmcv
+from annotator.mmpkg.mmcv.fileio.file_client import FileClient
+from annotator.mmpkg.mmcv.utils import is_tuple_of, scandir
+from ..hook import HOOKS
+from .base import LoggerHook
+
+
+@HOOKS.register_module()
+class TextLoggerHook(LoggerHook):
+ """Logger hook in text.
+
+ In this logger hook, the information will be printed on terminal and
+ saved in json file.
+
+ Args:
+ by_epoch (bool, optional): Whether EpochBasedRunner is used.
+ Default: True.
+ interval (int, optional): Logging interval (every k iterations).
+ Default: 10.
+ ignore_last (bool, optional): Ignore the log of last iterations in each
+ epoch if less than :attr:`interval`. Default: True.
+ reset_flag (bool, optional): Whether to clear the output buffer after
+ logging. Default: False.
+ interval_exp_name (int, optional): Logging interval for experiment
+ name. This feature is to help users conveniently get the experiment
+ information from screen or log file. Default: 1000.
+ out_dir (str, optional): Logs are saved in ``runner.work_dir`` default.
+ If ``out_dir`` is specified, logs will be copied to a new directory
+ which is the concatenation of ``out_dir`` and the last level
+ directory of ``runner.work_dir``. Default: None.
+ `New in version 1.3.16.`
+ out_suffix (str or tuple[str], optional): Those filenames ending with
+ ``out_suffix`` will be copied to ``out_dir``.
+ Default: ('.log.json', '.log', '.py').
+ `New in version 1.3.16.`
+ keep_local (bool, optional): Whether to keep local log when
+ :attr:`out_dir` is specified. If False, the local log will be
+ removed. Default: True.
+ `New in version 1.3.16.`
+ file_client_args (dict, optional): Arguments to instantiate a
+ FileClient. See :class:`mmcv.fileio.FileClient` for details.
+ Default: None.
+ `New in version 1.3.16.`
+ """
+
+ def __init__(self,
+ by_epoch=True,
+ interval=10,
+ ignore_last=True,
+ reset_flag=False,
+ interval_exp_name=1000,
+ out_dir=None,
+ out_suffix=('.log.json', '.log', '.py'),
+ keep_local=True,
+ file_client_args=None):
+ super(TextLoggerHook, self).__init__(interval, ignore_last, reset_flag,
+ by_epoch)
+ self.by_epoch = by_epoch
+ self.time_sec_tot = 0
+ self.interval_exp_name = interval_exp_name
+
+ if out_dir is None and file_client_args is not None:
+ raise ValueError(
+ 'file_client_args should be "None" when `out_dir` is not'
+ 'specified.')
+ self.out_dir = out_dir
+
+ if not (out_dir is None or isinstance(out_dir, str)
+ or is_tuple_of(out_dir, str)):
+ raise TypeError('out_dir should be "None" or string or tuple of '
+ 'string, but got {out_dir}')
+ self.out_suffix = out_suffix
+
+ self.keep_local = keep_local
+ self.file_client_args = file_client_args
+ if self.out_dir is not None:
+ self.file_client = FileClient.infer_client(file_client_args,
+ self.out_dir)
+
+ def before_run(self, runner):
+ super(TextLoggerHook, self).before_run(runner)
+
+ if self.out_dir is not None:
+ self.file_client = FileClient.infer_client(self.file_client_args,
+ self.out_dir)
+ # The final `self.out_dir` is the concatenation of `self.out_dir`
+ # and the last level directory of `runner.work_dir`
+ basename = osp.basename(runner.work_dir.rstrip(osp.sep))
+ self.out_dir = self.file_client.join_path(self.out_dir, basename)
+ runner.logger.info(
+ (f'Text logs will be saved to {self.out_dir} by '
+ f'{self.file_client.name} after the training process.'))
+
+ self.start_iter = runner.iter
+ self.json_log_path = osp.join(runner.work_dir,
+ f'{runner.timestamp}.log.json')
+ if runner.meta is not None:
+ self._dump_log(runner.meta, runner)
+
+ def _get_max_memory(self, runner):
+ device = getattr(runner.model, 'output_device', None)
+ mem = torch.cuda.max_memory_allocated(device=device)
+ mem_mb = torch.tensor([mem / (1024 * 1024)],
+ dtype=torch.int,
+ device=device)
+ if runner.world_size > 1:
+ dist.reduce(mem_mb, 0, op=dist.ReduceOp.MAX)
+ return mem_mb.item()
+
+ def _log_info(self, log_dict, runner):
+ # print exp name for users to distinguish experiments
+ # at every ``interval_exp_name`` iterations and the end of each epoch
+ if runner.meta is not None and 'exp_name' in runner.meta:
+ if (self.every_n_iters(runner, self.interval_exp_name)) or (
+ self.by_epoch and self.end_of_epoch(runner)):
+ exp_info = f'Exp name: {runner.meta["exp_name"]}'
+ runner.logger.info(exp_info)
+
+ if log_dict['mode'] == 'train':
+ if isinstance(log_dict['lr'], dict):
+ lr_str = []
+ for k, val in log_dict['lr'].items():
+ lr_str.append(f'lr_{k}: {val:.3e}')
+ lr_str = ' '.join(lr_str)
+ else:
+ lr_str = f'lr: {log_dict["lr"]:.3e}'
+
+ # by epoch: Epoch [4][100/1000]
+ # by iter: Iter [100/100000]
+ if self.by_epoch:
+ log_str = f'Epoch [{log_dict["epoch"]}]' \
+ f'[{log_dict["iter"]}/{len(runner.data_loader)}]\t'
+ else:
+ log_str = f'Iter [{log_dict["iter"]}/{runner.max_iters}]\t'
+ log_str += f'{lr_str}, '
+
+ if 'time' in log_dict.keys():
+ self.time_sec_tot += (log_dict['time'] * self.interval)
+ time_sec_avg = self.time_sec_tot / (
+ runner.iter - self.start_iter + 1)
+ eta_sec = time_sec_avg * (runner.max_iters - runner.iter - 1)
+ eta_str = str(datetime.timedelta(seconds=int(eta_sec)))
+ log_str += f'eta: {eta_str}, '
+ log_str += f'time: {log_dict["time"]:.3f}, ' \
+ f'data_time: {log_dict["data_time"]:.3f}, '
+ # statistic memory
+ if torch.cuda.is_available():
+ log_str += f'memory: {log_dict["memory"]}, '
+ else:
+ # val/test time
+ # here 1000 is the length of the val dataloader
+ # by epoch: Epoch[val] [4][1000]
+ # by iter: Iter[val] [1000]
+ if self.by_epoch:
+ log_str = f'Epoch({log_dict["mode"]}) ' \
+ f'[{log_dict["epoch"]}][{log_dict["iter"]}]\t'
+ else:
+ log_str = f'Iter({log_dict["mode"]}) [{log_dict["iter"]}]\t'
+
+ log_items = []
+ for name, val in log_dict.items():
+ # TODO: resolve this hack
+ # these items have been in log_str
+ if name in [
+ 'mode', 'Epoch', 'iter', 'lr', 'time', 'data_time',
+ 'memory', 'epoch'
+ ]:
+ continue
+ if isinstance(val, float):
+ val = f'{val:.4f}'
+ log_items.append(f'{name}: {val}')
+ log_str += ', '.join(log_items)
+
+ runner.logger.info(log_str)
+
+ def _dump_log(self, log_dict, runner):
+ # dump log in json format
+ json_log = OrderedDict()
+ for k, v in log_dict.items():
+ json_log[k] = self._round_float(v)
+ # only append log at last line
+ if runner.rank == 0:
+ with open(self.json_log_path, 'a+') as f:
+ mmcv.dump(json_log, f, file_format='json')
+ f.write('\n')
+
+ def _round_float(self, items):
+ if isinstance(items, list):
+ return [self._round_float(item) for item in items]
+ elif isinstance(items, float):
+ return round(items, 5)
+ else:
+ return items
+
+ def log(self, runner):
+ if 'eval_iter_num' in runner.log_buffer.output:
+ # this doesn't modify runner.iter and is regardless of by_epoch
+ cur_iter = runner.log_buffer.output.pop('eval_iter_num')
+ else:
+ cur_iter = self.get_iter(runner, inner_iter=True)
+
+ log_dict = OrderedDict(
+ mode=self.get_mode(runner),
+ epoch=self.get_epoch(runner),
+ iter=cur_iter)
+
+ # only record lr of the first param group
+ cur_lr = runner.current_lr()
+ if isinstance(cur_lr, list):
+ log_dict['lr'] = cur_lr[0]
+ else:
+ assert isinstance(cur_lr, dict)
+ log_dict['lr'] = {}
+ for k, lr_ in cur_lr.items():
+ assert isinstance(lr_, list)
+ log_dict['lr'].update({k: lr_[0]})
+
+ if 'time' in runner.log_buffer.output:
+ # statistic memory
+ if torch.cuda.is_available():
+ log_dict['memory'] = self._get_max_memory(runner)
+
+ log_dict = dict(log_dict, **runner.log_buffer.output)
+
+ self._log_info(log_dict, runner)
+ self._dump_log(log_dict, runner)
+ return log_dict
+
+ def after_run(self, runner):
+ # copy or upload logs to self.out_dir
+ if self.out_dir is not None:
+ for filename in scandir(runner.work_dir, self.out_suffix, True):
+ local_filepath = osp.join(runner.work_dir, filename)
+ out_filepath = self.file_client.join_path(
+ self.out_dir, filename)
+ with open(local_filepath, 'r') as f:
+ self.file_client.put_text(f.read(), out_filepath)
+
+ runner.logger.info(
+ (f'The file {local_filepath} has been uploaded to '
+ f'{out_filepath}.'))
+
+ if not self.keep_local:
+ os.remove(local_filepath)
+ runner.logger.info(
+ (f'{local_filepath} was removed due to the '
+ '`self.keep_local=False`'))
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/logger/wandb.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/logger/wandb.py
new file mode 100644
index 0000000000000000000000000000000000000000..9f6808462eb79ab2b04806a5d9f0d3dd079b5ea9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/logger/wandb.py
@@ -0,0 +1,56 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from ...dist_utils import master_only
+from ..hook import HOOKS
+from .base import LoggerHook
+
+
+@HOOKS.register_module()
+class WandbLoggerHook(LoggerHook):
+
+ def __init__(self,
+ init_kwargs=None,
+ interval=10,
+ ignore_last=True,
+ reset_flag=False,
+ commit=True,
+ by_epoch=True,
+ with_step=True):
+ super(WandbLoggerHook, self).__init__(interval, ignore_last,
+ reset_flag, by_epoch)
+ self.import_wandb()
+ self.init_kwargs = init_kwargs
+ self.commit = commit
+ self.with_step = with_step
+
+ def import_wandb(self):
+ try:
+ import wandb
+ except ImportError:
+ raise ImportError(
+ 'Please run "pip install wandb" to install wandb')
+ self.wandb = wandb
+
+ @master_only
+ def before_run(self, runner):
+ super(WandbLoggerHook, self).before_run(runner)
+ if self.wandb is None:
+ self.import_wandb()
+ if self.init_kwargs:
+ self.wandb.init(**self.init_kwargs)
+ else:
+ self.wandb.init()
+
+ @master_only
+ def log(self, runner):
+ tags = self.get_loggable_tags(runner)
+ if tags:
+ if self.with_step:
+ self.wandb.log(
+ tags, step=self.get_iter(runner), commit=self.commit)
+ else:
+ tags['global_step'] = self.get_iter(runner)
+ self.wandb.log(tags, commit=self.commit)
+
+ @master_only
+ def after_run(self, runner):
+ self.wandb.join()
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/lr_updater.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/lr_updater.py
new file mode 100644
index 0000000000000000000000000000000000000000..b9851d2ca3c4e60b95ad734c19a2484b9ca7c708
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/lr_updater.py
@@ -0,0 +1,670 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import numbers
+from math import cos, pi
+
+import annotator.mmpkg.mmcv as mmcv
+from .hook import HOOKS, Hook
+
+
+class LrUpdaterHook(Hook):
+ """LR Scheduler in MMCV.
+
+ Args:
+ by_epoch (bool): LR changes epoch by epoch
+ warmup (string): Type of warmup used. It can be None(use no warmup),
+ 'constant', 'linear' or 'exp'
+ warmup_iters (int): The number of iterations or epochs that warmup
+ lasts
+ warmup_ratio (float): LR used at the beginning of warmup equals to
+ warmup_ratio * initial_lr
+ warmup_by_epoch (bool): When warmup_by_epoch == True, warmup_iters
+ means the number of epochs that warmup lasts, otherwise means the
+ number of iteration that warmup lasts
+ """
+
+ def __init__(self,
+ by_epoch=True,
+ warmup=None,
+ warmup_iters=0,
+ warmup_ratio=0.1,
+ warmup_by_epoch=False):
+ # validate the "warmup" argument
+ if warmup is not None:
+ if warmup not in ['constant', 'linear', 'exp']:
+ raise ValueError(
+ f'"{warmup}" is not a supported type for warming up, valid'
+ ' types are "constant" and "linear"')
+ if warmup is not None:
+ assert warmup_iters > 0, \
+ '"warmup_iters" must be a positive integer'
+ assert 0 < warmup_ratio <= 1.0, \
+ '"warmup_ratio" must be in range (0,1]'
+
+ self.by_epoch = by_epoch
+ self.warmup = warmup
+ self.warmup_iters = warmup_iters
+ self.warmup_ratio = warmup_ratio
+ self.warmup_by_epoch = warmup_by_epoch
+
+ if self.warmup_by_epoch:
+ self.warmup_epochs = self.warmup_iters
+ self.warmup_iters = None
+ else:
+ self.warmup_epochs = None
+
+ self.base_lr = [] # initial lr for all param groups
+ self.regular_lr = [] # expected lr if no warming up is performed
+
+ def _set_lr(self, runner, lr_groups):
+ if isinstance(runner.optimizer, dict):
+ for k, optim in runner.optimizer.items():
+ for param_group, lr in zip(optim.param_groups, lr_groups[k]):
+ param_group['lr'] = lr
+ else:
+ for param_group, lr in zip(runner.optimizer.param_groups,
+ lr_groups):
+ param_group['lr'] = lr
+
+ def get_lr(self, runner, base_lr):
+ raise NotImplementedError
+
+ def get_regular_lr(self, runner):
+ if isinstance(runner.optimizer, dict):
+ lr_groups = {}
+ for k in runner.optimizer.keys():
+ _lr_group = [
+ self.get_lr(runner, _base_lr)
+ for _base_lr in self.base_lr[k]
+ ]
+ lr_groups.update({k: _lr_group})
+
+ return lr_groups
+ else:
+ return [self.get_lr(runner, _base_lr) for _base_lr in self.base_lr]
+
+ def get_warmup_lr(self, cur_iters):
+
+ def _get_warmup_lr(cur_iters, regular_lr):
+ if self.warmup == 'constant':
+ warmup_lr = [_lr * self.warmup_ratio for _lr in regular_lr]
+ elif self.warmup == 'linear':
+ k = (1 - cur_iters / self.warmup_iters) * (1 -
+ self.warmup_ratio)
+ warmup_lr = [_lr * (1 - k) for _lr in regular_lr]
+ elif self.warmup == 'exp':
+ k = self.warmup_ratio**(1 - cur_iters / self.warmup_iters)
+ warmup_lr = [_lr * k for _lr in regular_lr]
+ return warmup_lr
+
+ if isinstance(self.regular_lr, dict):
+ lr_groups = {}
+ for key, regular_lr in self.regular_lr.items():
+ lr_groups[key] = _get_warmup_lr(cur_iters, regular_lr)
+ return lr_groups
+ else:
+ return _get_warmup_lr(cur_iters, self.regular_lr)
+
+ def before_run(self, runner):
+ # NOTE: when resuming from a checkpoint, if 'initial_lr' is not saved,
+ # it will be set according to the optimizer params
+ if isinstance(runner.optimizer, dict):
+ self.base_lr = {}
+ for k, optim in runner.optimizer.items():
+ for group in optim.param_groups:
+ group.setdefault('initial_lr', group['lr'])
+ _base_lr = [
+ group['initial_lr'] for group in optim.param_groups
+ ]
+ self.base_lr.update({k: _base_lr})
+ else:
+ for group in runner.optimizer.param_groups:
+ group.setdefault('initial_lr', group['lr'])
+ self.base_lr = [
+ group['initial_lr'] for group in runner.optimizer.param_groups
+ ]
+
+ def before_train_epoch(self, runner):
+ if self.warmup_iters is None:
+ epoch_len = len(runner.data_loader)
+ self.warmup_iters = self.warmup_epochs * epoch_len
+
+ if not self.by_epoch:
+ return
+
+ self.regular_lr = self.get_regular_lr(runner)
+ self._set_lr(runner, self.regular_lr)
+
+ def before_train_iter(self, runner):
+ cur_iter = runner.iter
+ if not self.by_epoch:
+ self.regular_lr = self.get_regular_lr(runner)
+ if self.warmup is None or cur_iter >= self.warmup_iters:
+ self._set_lr(runner, self.regular_lr)
+ else:
+ warmup_lr = self.get_warmup_lr(cur_iter)
+ self._set_lr(runner, warmup_lr)
+ elif self.by_epoch:
+ if self.warmup is None or cur_iter > self.warmup_iters:
+ return
+ elif cur_iter == self.warmup_iters:
+ self._set_lr(runner, self.regular_lr)
+ else:
+ warmup_lr = self.get_warmup_lr(cur_iter)
+ self._set_lr(runner, warmup_lr)
+
+
+@HOOKS.register_module()
+class FixedLrUpdaterHook(LrUpdaterHook):
+
+ def __init__(self, **kwargs):
+ super(FixedLrUpdaterHook, self).__init__(**kwargs)
+
+ def get_lr(self, runner, base_lr):
+ return base_lr
+
+
+@HOOKS.register_module()
+class StepLrUpdaterHook(LrUpdaterHook):
+ """Step LR scheduler with min_lr clipping.
+
+ Args:
+ step (int | list[int]): Step to decay the LR. If an int value is given,
+ regard it as the decay interval. If a list is given, decay LR at
+ these steps.
+ gamma (float, optional): Decay LR ratio. Default: 0.1.
+ min_lr (float, optional): Minimum LR value to keep. If LR after decay
+ is lower than `min_lr`, it will be clipped to this value. If None
+ is given, we don't perform lr clipping. Default: None.
+ """
+
+ def __init__(self, step, gamma=0.1, min_lr=None, **kwargs):
+ if isinstance(step, list):
+ assert mmcv.is_list_of(step, int)
+ assert all([s > 0 for s in step])
+ elif isinstance(step, int):
+ assert step > 0
+ else:
+ raise TypeError('"step" must be a list or integer')
+ self.step = step
+ self.gamma = gamma
+ self.min_lr = min_lr
+ super(StepLrUpdaterHook, self).__init__(**kwargs)
+
+ def get_lr(self, runner, base_lr):
+ progress = runner.epoch if self.by_epoch else runner.iter
+
+ # calculate exponential term
+ if isinstance(self.step, int):
+ exp = progress // self.step
+ else:
+ exp = len(self.step)
+ for i, s in enumerate(self.step):
+ if progress < s:
+ exp = i
+ break
+
+ lr = base_lr * (self.gamma**exp)
+ if self.min_lr is not None:
+ # clip to a minimum value
+ lr = max(lr, self.min_lr)
+ return lr
+
+
+@HOOKS.register_module()
+class ExpLrUpdaterHook(LrUpdaterHook):
+
+ def __init__(self, gamma, **kwargs):
+ self.gamma = gamma
+ super(ExpLrUpdaterHook, self).__init__(**kwargs)
+
+ def get_lr(self, runner, base_lr):
+ progress = runner.epoch if self.by_epoch else runner.iter
+ return base_lr * self.gamma**progress
+
+
+@HOOKS.register_module()
+class PolyLrUpdaterHook(LrUpdaterHook):
+
+ def __init__(self, power=1., min_lr=0., **kwargs):
+ self.power = power
+ self.min_lr = min_lr
+ super(PolyLrUpdaterHook, self).__init__(**kwargs)
+
+ def get_lr(self, runner, base_lr):
+ if self.by_epoch:
+ progress = runner.epoch
+ max_progress = runner.max_epochs
+ else:
+ progress = runner.iter
+ max_progress = runner.max_iters
+ coeff = (1 - progress / max_progress)**self.power
+ return (base_lr - self.min_lr) * coeff + self.min_lr
+
+
+@HOOKS.register_module()
+class InvLrUpdaterHook(LrUpdaterHook):
+
+ def __init__(self, gamma, power=1., **kwargs):
+ self.gamma = gamma
+ self.power = power
+ super(InvLrUpdaterHook, self).__init__(**kwargs)
+
+ def get_lr(self, runner, base_lr):
+ progress = runner.epoch if self.by_epoch else runner.iter
+ return base_lr * (1 + self.gamma * progress)**(-self.power)
+
+
+@HOOKS.register_module()
+class CosineAnnealingLrUpdaterHook(LrUpdaterHook):
+
+ def __init__(self, min_lr=None, min_lr_ratio=None, **kwargs):
+ assert (min_lr is None) ^ (min_lr_ratio is None)
+ self.min_lr = min_lr
+ self.min_lr_ratio = min_lr_ratio
+ super(CosineAnnealingLrUpdaterHook, self).__init__(**kwargs)
+
+ def get_lr(self, runner, base_lr):
+ if self.by_epoch:
+ progress = runner.epoch
+ max_progress = runner.max_epochs
+ else:
+ progress = runner.iter
+ max_progress = runner.max_iters
+
+ if self.min_lr_ratio is not None:
+ target_lr = base_lr * self.min_lr_ratio
+ else:
+ target_lr = self.min_lr
+ return annealing_cos(base_lr, target_lr, progress / max_progress)
+
+
+@HOOKS.register_module()
+class FlatCosineAnnealingLrUpdaterHook(LrUpdaterHook):
+ """Flat + Cosine lr schedule.
+
+ Modified from https://github.com/fastai/fastai/blob/master/fastai/callback/schedule.py#L128 # noqa: E501
+
+ Args:
+ start_percent (float): When to start annealing the learning rate
+ after the percentage of the total training steps.
+ The value should be in range [0, 1).
+ Default: 0.75
+ min_lr (float, optional): The minimum lr. Default: None.
+ min_lr_ratio (float, optional): The ratio of minimum lr to the base lr.
+ Either `min_lr` or `min_lr_ratio` should be specified.
+ Default: None.
+ """
+
+ def __init__(self,
+ start_percent=0.75,
+ min_lr=None,
+ min_lr_ratio=None,
+ **kwargs):
+ assert (min_lr is None) ^ (min_lr_ratio is None)
+ if start_percent < 0 or start_percent > 1 or not isinstance(
+ start_percent, float):
+ raise ValueError(
+ 'expected float between 0 and 1 start_percent, but '
+ f'got {start_percent}')
+ self.start_percent = start_percent
+ self.min_lr = min_lr
+ self.min_lr_ratio = min_lr_ratio
+ super(FlatCosineAnnealingLrUpdaterHook, self).__init__(**kwargs)
+
+ def get_lr(self, runner, base_lr):
+ if self.by_epoch:
+ start = round(runner.max_epochs * self.start_percent)
+ progress = runner.epoch - start
+ max_progress = runner.max_epochs - start
+ else:
+ start = round(runner.max_iters * self.start_percent)
+ progress = runner.iter - start
+ max_progress = runner.max_iters - start
+
+ if self.min_lr_ratio is not None:
+ target_lr = base_lr * self.min_lr_ratio
+ else:
+ target_lr = self.min_lr
+
+ if progress < 0:
+ return base_lr
+ else:
+ return annealing_cos(base_lr, target_lr, progress / max_progress)
+
+
+@HOOKS.register_module()
+class CosineRestartLrUpdaterHook(LrUpdaterHook):
+ """Cosine annealing with restarts learning rate scheme.
+
+ Args:
+ periods (list[int]): Periods for each cosine anneling cycle.
+ restart_weights (list[float], optional): Restart weights at each
+ restart iteration. Default: [1].
+ min_lr (float, optional): The minimum lr. Default: None.
+ min_lr_ratio (float, optional): The ratio of minimum lr to the base lr.
+ Either `min_lr` or `min_lr_ratio` should be specified.
+ Default: None.
+ """
+
+ def __init__(self,
+ periods,
+ restart_weights=[1],
+ min_lr=None,
+ min_lr_ratio=None,
+ **kwargs):
+ assert (min_lr is None) ^ (min_lr_ratio is None)
+ self.periods = periods
+ self.min_lr = min_lr
+ self.min_lr_ratio = min_lr_ratio
+ self.restart_weights = restart_weights
+ assert (len(self.periods) == len(self.restart_weights)
+ ), 'periods and restart_weights should have the same length.'
+ super(CosineRestartLrUpdaterHook, self).__init__(**kwargs)
+
+ self.cumulative_periods = [
+ sum(self.periods[0:i + 1]) for i in range(0, len(self.periods))
+ ]
+
+ def get_lr(self, runner, base_lr):
+ if self.by_epoch:
+ progress = runner.epoch
+ else:
+ progress = runner.iter
+
+ if self.min_lr_ratio is not None:
+ target_lr = base_lr * self.min_lr_ratio
+ else:
+ target_lr = self.min_lr
+
+ idx = get_position_from_periods(progress, self.cumulative_periods)
+ current_weight = self.restart_weights[idx]
+ nearest_restart = 0 if idx == 0 else self.cumulative_periods[idx - 1]
+ current_periods = self.periods[idx]
+
+ alpha = min((progress - nearest_restart) / current_periods, 1)
+ return annealing_cos(base_lr, target_lr, alpha, current_weight)
+
+
+def get_position_from_periods(iteration, cumulative_periods):
+ """Get the position from a period list.
+
+ It will return the index of the right-closest number in the period list.
+ For example, the cumulative_periods = [100, 200, 300, 400],
+ if iteration == 50, return 0;
+ if iteration == 210, return 2;
+ if iteration == 300, return 3.
+
+ Args:
+ iteration (int): Current iteration.
+ cumulative_periods (list[int]): Cumulative period list.
+
+ Returns:
+ int: The position of the right-closest number in the period list.
+ """
+ for i, period in enumerate(cumulative_periods):
+ if iteration < period:
+ return i
+ raise ValueError(f'Current iteration {iteration} exceeds '
+ f'cumulative_periods {cumulative_periods}')
+
+
+@HOOKS.register_module()
+class CyclicLrUpdaterHook(LrUpdaterHook):
+ """Cyclic LR Scheduler.
+
+ Implement the cyclical learning rate policy (CLR) described in
+ https://arxiv.org/pdf/1506.01186.pdf
+
+ Different from the original paper, we use cosine annealing rather than
+ triangular policy inside a cycle. This improves the performance in the
+ 3D detection area.
+
+ Args:
+ by_epoch (bool): Whether to update LR by epoch.
+ target_ratio (tuple[float]): Relative ratio of the highest LR and the
+ lowest LR to the initial LR.
+ cyclic_times (int): Number of cycles during training
+ step_ratio_up (float): The ratio of the increasing process of LR in
+ the total cycle.
+ anneal_strategy (str): {'cos', 'linear'}
+ Specifies the annealing strategy: 'cos' for cosine annealing,
+ 'linear' for linear annealing. Default: 'cos'.
+ """
+
+ def __init__(self,
+ by_epoch=False,
+ target_ratio=(10, 1e-4),
+ cyclic_times=1,
+ step_ratio_up=0.4,
+ anneal_strategy='cos',
+ **kwargs):
+ if isinstance(target_ratio, float):
+ target_ratio = (target_ratio, target_ratio / 1e5)
+ elif isinstance(target_ratio, tuple):
+ target_ratio = (target_ratio[0], target_ratio[0] / 1e5) \
+ if len(target_ratio) == 1 else target_ratio
+ else:
+ raise ValueError('target_ratio should be either float '
+ f'or tuple, got {type(target_ratio)}')
+
+ assert len(target_ratio) == 2, \
+ '"target_ratio" must be list or tuple of two floats'
+ assert 0 <= step_ratio_up < 1.0, \
+ '"step_ratio_up" must be in range [0,1)'
+
+ self.target_ratio = target_ratio
+ self.cyclic_times = cyclic_times
+ self.step_ratio_up = step_ratio_up
+ self.lr_phases = [] # init lr_phases
+ # validate anneal_strategy
+ if anneal_strategy not in ['cos', 'linear']:
+ raise ValueError('anneal_strategy must be one of "cos" or '
+ f'"linear", instead got {anneal_strategy}')
+ elif anneal_strategy == 'cos':
+ self.anneal_func = annealing_cos
+ elif anneal_strategy == 'linear':
+ self.anneal_func = annealing_linear
+
+ assert not by_epoch, \
+ 'currently only support "by_epoch" = False'
+ super(CyclicLrUpdaterHook, self).__init__(by_epoch, **kwargs)
+
+ def before_run(self, runner):
+ super(CyclicLrUpdaterHook, self).before_run(runner)
+ # initiate lr_phases
+ # total lr_phases are separated as up and down
+ max_iter_per_phase = runner.max_iters // self.cyclic_times
+ iter_up_phase = int(self.step_ratio_up * max_iter_per_phase)
+ self.lr_phases.append(
+ [0, iter_up_phase, max_iter_per_phase, 1, self.target_ratio[0]])
+ self.lr_phases.append([
+ iter_up_phase, max_iter_per_phase, max_iter_per_phase,
+ self.target_ratio[0], self.target_ratio[1]
+ ])
+
+ def get_lr(self, runner, base_lr):
+ curr_iter = runner.iter
+ for (start_iter, end_iter, max_iter_per_phase, start_ratio,
+ end_ratio) in self.lr_phases:
+ curr_iter %= max_iter_per_phase
+ if start_iter <= curr_iter < end_iter:
+ progress = curr_iter - start_iter
+ return self.anneal_func(base_lr * start_ratio,
+ base_lr * end_ratio,
+ progress / (end_iter - start_iter))
+
+
+@HOOKS.register_module()
+class OneCycleLrUpdaterHook(LrUpdaterHook):
+ """One Cycle LR Scheduler.
+
+ The 1cycle learning rate policy changes the learning rate after every
+ batch. The one cycle learning rate policy is described in
+ https://arxiv.org/pdf/1708.07120.pdf
+
+ Args:
+ max_lr (float or list): Upper learning rate boundaries in the cycle
+ for each parameter group.
+ total_steps (int, optional): The total number of steps in the cycle.
+ Note that if a value is not provided here, it will be the max_iter
+ of runner. Default: None.
+ pct_start (float): The percentage of the cycle (in number of steps)
+ spent increasing the learning rate.
+ Default: 0.3
+ anneal_strategy (str): {'cos', 'linear'}
+ Specifies the annealing strategy: 'cos' for cosine annealing,
+ 'linear' for linear annealing.
+ Default: 'cos'
+ div_factor (float): Determines the initial learning rate via
+ initial_lr = max_lr/div_factor
+ Default: 25
+ final_div_factor (float): Determines the minimum learning rate via
+ min_lr = initial_lr/final_div_factor
+ Default: 1e4
+ three_phase (bool): If three_phase is True, use a third phase of the
+ schedule to annihilate the learning rate according to
+ final_div_factor instead of modifying the second phase (the first
+ two phases will be symmetrical about the step indicated by
+ pct_start).
+ Default: False
+ """
+
+ def __init__(self,
+ max_lr,
+ total_steps=None,
+ pct_start=0.3,
+ anneal_strategy='cos',
+ div_factor=25,
+ final_div_factor=1e4,
+ three_phase=False,
+ **kwargs):
+ # validate by_epoch, currently only support by_epoch = False
+ if 'by_epoch' not in kwargs:
+ kwargs['by_epoch'] = False
+ else:
+ assert not kwargs['by_epoch'], \
+ 'currently only support "by_epoch" = False'
+ if not isinstance(max_lr, (numbers.Number, list, dict)):
+ raise ValueError('the type of max_lr must be the one of list or '
+ f'dict, but got {type(max_lr)}')
+ self._max_lr = max_lr
+ if total_steps is not None:
+ if not isinstance(total_steps, int):
+ raise ValueError('the type of total_steps must be int, but'
+ f'got {type(total_steps)}')
+ self.total_steps = total_steps
+ # validate pct_start
+ if pct_start < 0 or pct_start > 1 or not isinstance(pct_start, float):
+ raise ValueError('expected float between 0 and 1 pct_start, but '
+ f'got {pct_start}')
+ self.pct_start = pct_start
+ # validate anneal_strategy
+ if anneal_strategy not in ['cos', 'linear']:
+ raise ValueError('anneal_strategy must be one of "cos" or '
+ f'"linear", instead got {anneal_strategy}')
+ elif anneal_strategy == 'cos':
+ self.anneal_func = annealing_cos
+ elif anneal_strategy == 'linear':
+ self.anneal_func = annealing_linear
+ self.div_factor = div_factor
+ self.final_div_factor = final_div_factor
+ self.three_phase = three_phase
+ self.lr_phases = [] # init lr_phases
+ super(OneCycleLrUpdaterHook, self).__init__(**kwargs)
+
+ def before_run(self, runner):
+ if hasattr(self, 'total_steps'):
+ total_steps = self.total_steps
+ else:
+ total_steps = runner.max_iters
+ if total_steps < runner.max_iters:
+ raise ValueError(
+ 'The total steps must be greater than or equal to max '
+ f'iterations {runner.max_iters} of runner, but total steps '
+ f'is {total_steps}.')
+
+ if isinstance(runner.optimizer, dict):
+ self.base_lr = {}
+ for k, optim in runner.optimizer.items():
+ _max_lr = format_param(k, optim, self._max_lr)
+ self.base_lr[k] = [lr / self.div_factor for lr in _max_lr]
+ for group, lr in zip(optim.param_groups, self.base_lr[k]):
+ group.setdefault('initial_lr', lr)
+ else:
+ k = type(runner.optimizer).__name__
+ _max_lr = format_param(k, runner.optimizer, self._max_lr)
+ self.base_lr = [lr / self.div_factor for lr in _max_lr]
+ for group, lr in zip(runner.optimizer.param_groups, self.base_lr):
+ group.setdefault('initial_lr', lr)
+
+ if self.three_phase:
+ self.lr_phases.append(
+ [float(self.pct_start * total_steps) - 1, 1, self.div_factor])
+ self.lr_phases.append([
+ float(2 * self.pct_start * total_steps) - 2, self.div_factor, 1
+ ])
+ self.lr_phases.append(
+ [total_steps - 1, 1, 1 / self.final_div_factor])
+ else:
+ self.lr_phases.append(
+ [float(self.pct_start * total_steps) - 1, 1, self.div_factor])
+ self.lr_phases.append(
+ [total_steps - 1, self.div_factor, 1 / self.final_div_factor])
+
+ def get_lr(self, runner, base_lr):
+ curr_iter = runner.iter
+ start_iter = 0
+ for i, (end_iter, start_lr, end_lr) in enumerate(self.lr_phases):
+ if curr_iter <= end_iter:
+ pct = (curr_iter - start_iter) / (end_iter - start_iter)
+ lr = self.anneal_func(base_lr * start_lr, base_lr * end_lr,
+ pct)
+ break
+ start_iter = end_iter
+ return lr
+
+
+def annealing_cos(start, end, factor, weight=1):
+ """Calculate annealing cos learning rate.
+
+ Cosine anneal from `weight * start + (1 - weight) * end` to `end` as
+ percentage goes from 0.0 to 1.0.
+
+ Args:
+ start (float): The starting learning rate of the cosine annealing.
+ end (float): The ending learing rate of the cosine annealing.
+ factor (float): The coefficient of `pi` when calculating the current
+ percentage. Range from 0.0 to 1.0.
+ weight (float, optional): The combination factor of `start` and `end`
+ when calculating the actual starting learning rate. Default to 1.
+ """
+ cos_out = cos(pi * factor) + 1
+ return end + 0.5 * weight * (start - end) * cos_out
+
+
+def annealing_linear(start, end, factor):
+ """Calculate annealing linear learning rate.
+
+ Linear anneal from `start` to `end` as percentage goes from 0.0 to 1.0.
+
+ Args:
+ start (float): The starting learning rate of the linear annealing.
+ end (float): The ending learing rate of the linear annealing.
+ factor (float): The coefficient of `pi` when calculating the current
+ percentage. Range from 0.0 to 1.0.
+ """
+ return start + (end - start) * factor
+
+
+def format_param(name, optim, param):
+ if isinstance(param, numbers.Number):
+ return [param] * len(optim.param_groups)
+ elif isinstance(param, (list, tuple)): # multi param groups
+ if len(param) != len(optim.param_groups):
+ raise ValueError(f'expected {len(optim.param_groups)} '
+ f'values for {name}, got {len(param)}')
+ return param
+ else: # multi optimizers
+ if name not in param:
+ raise KeyError(f'{name} is not found in {param.keys()}')
+ return param[name]
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/memory.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/memory.py
new file mode 100644
index 0000000000000000000000000000000000000000..70cf9a838fb314e3bd3c07aadbc00921a81e83ed
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/memory.py
@@ -0,0 +1,25 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import torch
+
+from .hook import HOOKS, Hook
+
+
+@HOOKS.register_module()
+class EmptyCacheHook(Hook):
+
+ def __init__(self, before_epoch=False, after_epoch=True, after_iter=False):
+ self._before_epoch = before_epoch
+ self._after_epoch = after_epoch
+ self._after_iter = after_iter
+
+ def after_iter(self, runner):
+ if self._after_iter:
+ torch.cuda.empty_cache()
+
+ def before_epoch(self, runner):
+ if self._before_epoch:
+ torch.cuda.empty_cache()
+
+ def after_epoch(self, runner):
+ if self._after_epoch:
+ torch.cuda.empty_cache()
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/momentum_updater.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/momentum_updater.py
new file mode 100644
index 0000000000000000000000000000000000000000..cdc70246280c2318f51034bb6b66eade7b478b79
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/momentum_updater.py
@@ -0,0 +1,493 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import annotator.mmpkg.mmcv as mmcv
+from .hook import HOOKS, Hook
+from .lr_updater import annealing_cos, annealing_linear, format_param
+
+
+class MomentumUpdaterHook(Hook):
+
+ def __init__(self,
+ by_epoch=True,
+ warmup=None,
+ warmup_iters=0,
+ warmup_ratio=0.9):
+ # validate the "warmup" argument
+ if warmup is not None:
+ if warmup not in ['constant', 'linear', 'exp']:
+ raise ValueError(
+ f'"{warmup}" is not a supported type for warming up, valid'
+ ' types are "constant" and "linear"')
+ if warmup is not None:
+ assert warmup_iters > 0, \
+ '"warmup_iters" must be a positive integer'
+ assert 0 < warmup_ratio <= 1.0, \
+ '"warmup_momentum" must be in range (0,1]'
+
+ self.by_epoch = by_epoch
+ self.warmup = warmup
+ self.warmup_iters = warmup_iters
+ self.warmup_ratio = warmup_ratio
+
+ self.base_momentum = [] # initial momentum for all param groups
+ self.regular_momentum = [
+ ] # expected momentum if no warming up is performed
+
+ def _set_momentum(self, runner, momentum_groups):
+ if isinstance(runner.optimizer, dict):
+ for k, optim in runner.optimizer.items():
+ for param_group, mom in zip(optim.param_groups,
+ momentum_groups[k]):
+ if 'momentum' in param_group.keys():
+ param_group['momentum'] = mom
+ elif 'betas' in param_group.keys():
+ param_group['betas'] = (mom, param_group['betas'][1])
+ else:
+ for param_group, mom in zip(runner.optimizer.param_groups,
+ momentum_groups):
+ if 'momentum' in param_group.keys():
+ param_group['momentum'] = mom
+ elif 'betas' in param_group.keys():
+ param_group['betas'] = (mom, param_group['betas'][1])
+
+ def get_momentum(self, runner, base_momentum):
+ raise NotImplementedError
+
+ def get_regular_momentum(self, runner):
+ if isinstance(runner.optimizer, dict):
+ momentum_groups = {}
+ for k in runner.optimizer.keys():
+ _momentum_group = [
+ self.get_momentum(runner, _base_momentum)
+ for _base_momentum in self.base_momentum[k]
+ ]
+ momentum_groups.update({k: _momentum_group})
+ return momentum_groups
+ else:
+ return [
+ self.get_momentum(runner, _base_momentum)
+ for _base_momentum in self.base_momentum
+ ]
+
+ def get_warmup_momentum(self, cur_iters):
+
+ def _get_warmup_momentum(cur_iters, regular_momentum):
+ if self.warmup == 'constant':
+ warmup_momentum = [
+ _momentum / self.warmup_ratio
+ for _momentum in self.regular_momentum
+ ]
+ elif self.warmup == 'linear':
+ k = (1 - cur_iters / self.warmup_iters) * (1 -
+ self.warmup_ratio)
+ warmup_momentum = [
+ _momentum / (1 - k) for _momentum in self.regular_mom
+ ]
+ elif self.warmup == 'exp':
+ k = self.warmup_ratio**(1 - cur_iters / self.warmup_iters)
+ warmup_momentum = [
+ _momentum / k for _momentum in self.regular_mom
+ ]
+ return warmup_momentum
+
+ if isinstance(self.regular_momentum, dict):
+ momentum_groups = {}
+ for key, regular_momentum in self.regular_momentum.items():
+ momentum_groups[key] = _get_warmup_momentum(
+ cur_iters, regular_momentum)
+ return momentum_groups
+ else:
+ return _get_warmup_momentum(cur_iters, self.regular_momentum)
+
+ def before_run(self, runner):
+ # NOTE: when resuming from a checkpoint,
+ # if 'initial_momentum' is not saved,
+ # it will be set according to the optimizer params
+ if isinstance(runner.optimizer, dict):
+ self.base_momentum = {}
+ for k, optim in runner.optimizer.items():
+ for group in optim.param_groups:
+ if 'momentum' in group.keys():
+ group.setdefault('initial_momentum', group['momentum'])
+ else:
+ group.setdefault('initial_momentum', group['betas'][0])
+ _base_momentum = [
+ group['initial_momentum'] for group in optim.param_groups
+ ]
+ self.base_momentum.update({k: _base_momentum})
+ else:
+ for group in runner.optimizer.param_groups:
+ if 'momentum' in group.keys():
+ group.setdefault('initial_momentum', group['momentum'])
+ else:
+ group.setdefault('initial_momentum', group['betas'][0])
+ self.base_momentum = [
+ group['initial_momentum']
+ for group in runner.optimizer.param_groups
+ ]
+
+ def before_train_epoch(self, runner):
+ if not self.by_epoch:
+ return
+ self.regular_mom = self.get_regular_momentum(runner)
+ self._set_momentum(runner, self.regular_mom)
+
+ def before_train_iter(self, runner):
+ cur_iter = runner.iter
+ if not self.by_epoch:
+ self.regular_mom = self.get_regular_momentum(runner)
+ if self.warmup is None or cur_iter >= self.warmup_iters:
+ self._set_momentum(runner, self.regular_mom)
+ else:
+ warmup_momentum = self.get_warmup_momentum(cur_iter)
+ self._set_momentum(runner, warmup_momentum)
+ elif self.by_epoch:
+ if self.warmup is None or cur_iter > self.warmup_iters:
+ return
+ elif cur_iter == self.warmup_iters:
+ self._set_momentum(runner, self.regular_mom)
+ else:
+ warmup_momentum = self.get_warmup_momentum(cur_iter)
+ self._set_momentum(runner, warmup_momentum)
+
+
+@HOOKS.register_module()
+class StepMomentumUpdaterHook(MomentumUpdaterHook):
+ """Step momentum scheduler with min value clipping.
+
+ Args:
+ step (int | list[int]): Step to decay the momentum. If an int value is
+ given, regard it as the decay interval. If a list is given, decay
+ momentum at these steps.
+ gamma (float, optional): Decay momentum ratio. Default: 0.5.
+ min_momentum (float, optional): Minimum momentum value to keep. If
+ momentum after decay is lower than this value, it will be clipped
+ accordingly. If None is given, we don't perform lr clipping.
+ Default: None.
+ """
+
+ def __init__(self, step, gamma=0.5, min_momentum=None, **kwargs):
+ if isinstance(step, list):
+ assert mmcv.is_list_of(step, int)
+ assert all([s > 0 for s in step])
+ elif isinstance(step, int):
+ assert step > 0
+ else:
+ raise TypeError('"step" must be a list or integer')
+ self.step = step
+ self.gamma = gamma
+ self.min_momentum = min_momentum
+ super(StepMomentumUpdaterHook, self).__init__(**kwargs)
+
+ def get_momentum(self, runner, base_momentum):
+ progress = runner.epoch if self.by_epoch else runner.iter
+
+ # calculate exponential term
+ if isinstance(self.step, int):
+ exp = progress // self.step
+ else:
+ exp = len(self.step)
+ for i, s in enumerate(self.step):
+ if progress < s:
+ exp = i
+ break
+
+ momentum = base_momentum * (self.gamma**exp)
+ if self.min_momentum is not None:
+ # clip to a minimum value
+ momentum = max(momentum, self.min_momentum)
+ return momentum
+
+
+@HOOKS.register_module()
+class CosineAnnealingMomentumUpdaterHook(MomentumUpdaterHook):
+
+ def __init__(self, min_momentum=None, min_momentum_ratio=None, **kwargs):
+ assert (min_momentum is None) ^ (min_momentum_ratio is None)
+ self.min_momentum = min_momentum
+ self.min_momentum_ratio = min_momentum_ratio
+ super(CosineAnnealingMomentumUpdaterHook, self).__init__(**kwargs)
+
+ def get_momentum(self, runner, base_momentum):
+ if self.by_epoch:
+ progress = runner.epoch
+ max_progress = runner.max_epochs
+ else:
+ progress = runner.iter
+ max_progress = runner.max_iters
+ if self.min_momentum_ratio is not None:
+ target_momentum = base_momentum * self.min_momentum_ratio
+ else:
+ target_momentum = self.min_momentum
+ return annealing_cos(base_momentum, target_momentum,
+ progress / max_progress)
+
+
+@HOOKS.register_module()
+class CyclicMomentumUpdaterHook(MomentumUpdaterHook):
+ """Cyclic momentum Scheduler.
+
+ Implement the cyclical momentum scheduler policy described in
+ https://arxiv.org/pdf/1708.07120.pdf
+
+ This momentum scheduler usually used together with the CyclicLRUpdater
+ to improve the performance in the 3D detection area.
+
+ Attributes:
+ target_ratio (tuple[float]): Relative ratio of the lowest momentum and
+ the highest momentum to the initial momentum.
+ cyclic_times (int): Number of cycles during training
+ step_ratio_up (float): The ratio of the increasing process of momentum
+ in the total cycle.
+ by_epoch (bool): Whether to update momentum by epoch.
+ """
+
+ def __init__(self,
+ by_epoch=False,
+ target_ratio=(0.85 / 0.95, 1),
+ cyclic_times=1,
+ step_ratio_up=0.4,
+ **kwargs):
+ if isinstance(target_ratio, float):
+ target_ratio = (target_ratio, target_ratio / 1e5)
+ elif isinstance(target_ratio, tuple):
+ target_ratio = (target_ratio[0], target_ratio[0] / 1e5) \
+ if len(target_ratio) == 1 else target_ratio
+ else:
+ raise ValueError('target_ratio should be either float '
+ f'or tuple, got {type(target_ratio)}')
+
+ assert len(target_ratio) == 2, \
+ '"target_ratio" must be list or tuple of two floats'
+ assert 0 <= step_ratio_up < 1.0, \
+ '"step_ratio_up" must be in range [0,1)'
+
+ self.target_ratio = target_ratio
+ self.cyclic_times = cyclic_times
+ self.step_ratio_up = step_ratio_up
+ self.momentum_phases = [] # init momentum_phases
+ # currently only support by_epoch=False
+ assert not by_epoch, \
+ 'currently only support "by_epoch" = False'
+ super(CyclicMomentumUpdaterHook, self).__init__(by_epoch, **kwargs)
+
+ def before_run(self, runner):
+ super(CyclicMomentumUpdaterHook, self).before_run(runner)
+ # initiate momentum_phases
+ # total momentum_phases are separated as up and down
+ max_iter_per_phase = runner.max_iters // self.cyclic_times
+ iter_up_phase = int(self.step_ratio_up * max_iter_per_phase)
+ self.momentum_phases.append(
+ [0, iter_up_phase, max_iter_per_phase, 1, self.target_ratio[0]])
+ self.momentum_phases.append([
+ iter_up_phase, max_iter_per_phase, max_iter_per_phase,
+ self.target_ratio[0], self.target_ratio[1]
+ ])
+
+ def get_momentum(self, runner, base_momentum):
+ curr_iter = runner.iter
+ for (start_iter, end_iter, max_iter_per_phase, start_ratio,
+ end_ratio) in self.momentum_phases:
+ curr_iter %= max_iter_per_phase
+ if start_iter <= curr_iter < end_iter:
+ progress = curr_iter - start_iter
+ return annealing_cos(base_momentum * start_ratio,
+ base_momentum * end_ratio,
+ progress / (end_iter - start_iter))
+
+
+@HOOKS.register_module()
+class OneCycleMomentumUpdaterHook(MomentumUpdaterHook):
+ """OneCycle momentum Scheduler.
+
+ This momentum scheduler usually used together with the OneCycleLrUpdater
+ to improve the performance.
+
+ Args:
+ base_momentum (float or list): Lower momentum boundaries in the cycle
+ for each parameter group. Note that momentum is cycled inversely
+ to learning rate; at the peak of a cycle, momentum is
+ 'base_momentum' and learning rate is 'max_lr'.
+ Default: 0.85
+ max_momentum (float or list): Upper momentum boundaries in the cycle
+ for each parameter group. Functionally,
+ it defines the cycle amplitude (max_momentum - base_momentum).
+ Note that momentum is cycled inversely
+ to learning rate; at the start of a cycle, momentum is
+ 'max_momentum' and learning rate is 'base_lr'
+ Default: 0.95
+ pct_start (float): The percentage of the cycle (in number of steps)
+ spent increasing the learning rate.
+ Default: 0.3
+ anneal_strategy (str): {'cos', 'linear'}
+ Specifies the annealing strategy: 'cos' for cosine annealing,
+ 'linear' for linear annealing.
+ Default: 'cos'
+ three_phase (bool): If three_phase is True, use a third phase of the
+ schedule to annihilate the learning rate according to
+ final_div_factor instead of modifying the second phase (the first
+ two phases will be symmetrical about the step indicated by
+ pct_start).
+ Default: False
+ """
+
+ def __init__(self,
+ base_momentum=0.85,
+ max_momentum=0.95,
+ pct_start=0.3,
+ anneal_strategy='cos',
+ three_phase=False,
+ **kwargs):
+ # validate by_epoch, currently only support by_epoch=False
+ if 'by_epoch' not in kwargs:
+ kwargs['by_epoch'] = False
+ else:
+ assert not kwargs['by_epoch'], \
+ 'currently only support "by_epoch" = False'
+ if not isinstance(base_momentum, (float, list, dict)):
+ raise ValueError('base_momentum must be the type among of float,'
+ 'list or dict.')
+ self._base_momentum = base_momentum
+ if not isinstance(max_momentum, (float, list, dict)):
+ raise ValueError('max_momentum must be the type among of float,'
+ 'list or dict.')
+ self._max_momentum = max_momentum
+ # validate pct_start
+ if pct_start < 0 or pct_start > 1 or not isinstance(pct_start, float):
+ raise ValueError('Expected float between 0 and 1 pct_start, but '
+ f'got {pct_start}')
+ self.pct_start = pct_start
+ # validate anneal_strategy
+ if anneal_strategy not in ['cos', 'linear']:
+ raise ValueError('anneal_strategy must by one of "cos" or '
+ f'"linear", instead got {anneal_strategy}')
+ elif anneal_strategy == 'cos':
+ self.anneal_func = annealing_cos
+ elif anneal_strategy == 'linear':
+ self.anneal_func = annealing_linear
+ self.three_phase = three_phase
+ self.momentum_phases = [] # init momentum_phases
+ super(OneCycleMomentumUpdaterHook, self).__init__(**kwargs)
+
+ def before_run(self, runner):
+ if isinstance(runner.optimizer, dict):
+ for k, optim in runner.optimizer.items():
+ if ('momentum' not in optim.defaults
+ and 'betas' not in optim.defaults):
+ raise ValueError('optimizer must support momentum with'
+ 'option enabled')
+ self.use_beta1 = 'betas' in optim.defaults
+ _base_momentum = format_param(k, optim, self._base_momentum)
+ _max_momentum = format_param(k, optim, self._max_momentum)
+ for group, b_momentum, m_momentum in zip(
+ optim.param_groups, _base_momentum, _max_momentum):
+ if self.use_beta1:
+ _, beta2 = group['betas']
+ group['betas'] = (m_momentum, beta2)
+ else:
+ group['momentum'] = m_momentum
+ group['base_momentum'] = b_momentum
+ group['max_momentum'] = m_momentum
+ else:
+ optim = runner.optimizer
+ if ('momentum' not in optim.defaults
+ and 'betas' not in optim.defaults):
+ raise ValueError('optimizer must support momentum with'
+ 'option enabled')
+ self.use_beta1 = 'betas' in optim.defaults
+ k = type(optim).__name__
+ _base_momentum = format_param(k, optim, self._base_momentum)
+ _max_momentum = format_param(k, optim, self._max_momentum)
+ for group, b_momentum, m_momentum in zip(optim.param_groups,
+ _base_momentum,
+ _max_momentum):
+ if self.use_beta1:
+ _, beta2 = group['betas']
+ group['betas'] = (m_momentum, beta2)
+ else:
+ group['momentum'] = m_momentum
+ group['base_momentum'] = b_momentum
+ group['max_momentum'] = m_momentum
+
+ if self.three_phase:
+ self.momentum_phases.append({
+ 'end_iter':
+ float(self.pct_start * runner.max_iters) - 1,
+ 'start_momentum':
+ 'max_momentum',
+ 'end_momentum':
+ 'base_momentum'
+ })
+ self.momentum_phases.append({
+ 'end_iter':
+ float(2 * self.pct_start * runner.max_iters) - 2,
+ 'start_momentum':
+ 'base_momentum',
+ 'end_momentum':
+ 'max_momentum'
+ })
+ self.momentum_phases.append({
+ 'end_iter': runner.max_iters - 1,
+ 'start_momentum': 'max_momentum',
+ 'end_momentum': 'max_momentum'
+ })
+ else:
+ self.momentum_phases.append({
+ 'end_iter':
+ float(self.pct_start * runner.max_iters) - 1,
+ 'start_momentum':
+ 'max_momentum',
+ 'end_momentum':
+ 'base_momentum'
+ })
+ self.momentum_phases.append({
+ 'end_iter': runner.max_iters - 1,
+ 'start_momentum': 'base_momentum',
+ 'end_momentum': 'max_momentum'
+ })
+
+ def _set_momentum(self, runner, momentum_groups):
+ if isinstance(runner.optimizer, dict):
+ for k, optim in runner.optimizer.items():
+ for param_group, mom in zip(optim.param_groups,
+ momentum_groups[k]):
+ if 'momentum' in param_group.keys():
+ param_group['momentum'] = mom
+ elif 'betas' in param_group.keys():
+ param_group['betas'] = (mom, param_group['betas'][1])
+ else:
+ for param_group, mom in zip(runner.optimizer.param_groups,
+ momentum_groups):
+ if 'momentum' in param_group.keys():
+ param_group['momentum'] = mom
+ elif 'betas' in param_group.keys():
+ param_group['betas'] = (mom, param_group['betas'][1])
+
+ def get_momentum(self, runner, param_group):
+ curr_iter = runner.iter
+ start_iter = 0
+ for i, phase in enumerate(self.momentum_phases):
+ end_iter = phase['end_iter']
+ if curr_iter <= end_iter or i == len(self.momentum_phases) - 1:
+ pct = (curr_iter - start_iter) / (end_iter - start_iter)
+ momentum = self.anneal_func(
+ param_group[phase['start_momentum']],
+ param_group[phase['end_momentum']], pct)
+ break
+ start_iter = end_iter
+ return momentum
+
+ def get_regular_momentum(self, runner):
+ if isinstance(runner.optimizer, dict):
+ momentum_groups = {}
+ for k, optim in runner.optimizer.items():
+ _momentum_group = [
+ self.get_momentum(runner, param_group)
+ for param_group in optim.param_groups
+ ]
+ momentum_groups.update({k: _momentum_group})
+ return momentum_groups
+ else:
+ momentum_groups = []
+ for param_group in runner.optimizer.param_groups:
+ momentum_groups.append(self.get_momentum(runner, param_group))
+ return momentum_groups
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/optimizer.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/optimizer.py
new file mode 100644
index 0000000000000000000000000000000000000000..580a183639a5d95c04ecae9c619afb795a169e9e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/optimizer.py
@@ -0,0 +1,508 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import copy
+from collections import defaultdict
+from itertools import chain
+
+from torch.nn.utils import clip_grad
+
+from annotator.mmpkg.mmcv.utils import TORCH_VERSION, _BatchNorm, digit_version
+from ..dist_utils import allreduce_grads
+from ..fp16_utils import LossScaler, wrap_fp16_model
+from .hook import HOOKS, Hook
+
+try:
+ # If PyTorch version >= 1.6.0, torch.cuda.amp.GradScaler would be imported
+ # and used; otherwise, auto fp16 will adopt mmcv's implementation.
+ from torch.cuda.amp import GradScaler
+except ImportError:
+ pass
+
+
+@HOOKS.register_module()
+class OptimizerHook(Hook):
+
+ def __init__(self, grad_clip=None):
+ self.grad_clip = grad_clip
+
+ def clip_grads(self, params):
+ params = list(
+ filter(lambda p: p.requires_grad and p.grad is not None, params))
+ if len(params) > 0:
+ return clip_grad.clip_grad_norm_(params, **self.grad_clip)
+
+ def after_train_iter(self, runner):
+ runner.optimizer.zero_grad()
+ runner.outputs['loss'].backward()
+ if self.grad_clip is not None:
+ grad_norm = self.clip_grads(runner.model.parameters())
+ if grad_norm is not None:
+ # Add grad norm to the logger
+ runner.log_buffer.update({'grad_norm': float(grad_norm)},
+ runner.outputs['num_samples'])
+ runner.optimizer.step()
+
+
+@HOOKS.register_module()
+class GradientCumulativeOptimizerHook(OptimizerHook):
+ """Optimizer Hook implements multi-iters gradient cumulating.
+
+ Args:
+ cumulative_iters (int, optional): Num of gradient cumulative iters.
+ The optimizer will step every `cumulative_iters` iters.
+ Defaults to 1.
+
+ Examples:
+ >>> # Use cumulative_iters to simulate a large batch size
+ >>> # It is helpful when the hardware cannot handle a large batch size.
+ >>> loader = DataLoader(data, batch_size=64)
+ >>> optim_hook = GradientCumulativeOptimizerHook(cumulative_iters=4)
+ >>> # almost equals to
+ >>> loader = DataLoader(data, batch_size=256)
+ >>> optim_hook = OptimizerHook()
+ """
+
+ def __init__(self, cumulative_iters=1, **kwargs):
+ super(GradientCumulativeOptimizerHook, self).__init__(**kwargs)
+
+ assert isinstance(cumulative_iters, int) and cumulative_iters > 0, \
+ f'cumulative_iters only accepts positive int, but got ' \
+ f'{type(cumulative_iters)} instead.'
+
+ self.cumulative_iters = cumulative_iters
+ self.divisible_iters = 0
+ self.remainder_iters = 0
+ self.initialized = False
+
+ def has_batch_norm(self, module):
+ if isinstance(module, _BatchNorm):
+ return True
+ for m in module.children():
+ if self.has_batch_norm(m):
+ return True
+ return False
+
+ def _init(self, runner):
+ if runner.iter % self.cumulative_iters != 0:
+ runner.logger.warning(
+ 'Resume iter number is not divisible by cumulative_iters in '
+ 'GradientCumulativeOptimizerHook, which means the gradient of '
+ 'some iters is lost and the result may be influenced slightly.'
+ )
+
+ if self.has_batch_norm(runner.model) and self.cumulative_iters > 1:
+ runner.logger.warning(
+ 'GradientCumulativeOptimizerHook may slightly decrease '
+ 'performance if the model has BatchNorm layers.')
+
+ residual_iters = runner.max_iters - runner.iter
+
+ self.divisible_iters = (
+ residual_iters // self.cumulative_iters * self.cumulative_iters)
+ self.remainder_iters = residual_iters - self.divisible_iters
+
+ self.initialized = True
+
+ def after_train_iter(self, runner):
+ if not self.initialized:
+ self._init(runner)
+
+ if runner.iter < self.divisible_iters:
+ loss_factor = self.cumulative_iters
+ else:
+ loss_factor = self.remainder_iters
+ loss = runner.outputs['loss']
+ loss = loss / loss_factor
+ loss.backward()
+
+ if (self.every_n_iters(runner, self.cumulative_iters)
+ or self.is_last_iter(runner)):
+
+ if self.grad_clip is not None:
+ grad_norm = self.clip_grads(runner.model.parameters())
+ if grad_norm is not None:
+ # Add grad norm to the logger
+ runner.log_buffer.update({'grad_norm': float(grad_norm)},
+ runner.outputs['num_samples'])
+ runner.optimizer.step()
+ runner.optimizer.zero_grad()
+
+
+if (TORCH_VERSION != 'parrots'
+ and digit_version(TORCH_VERSION) >= digit_version('1.6.0')):
+
+ @HOOKS.register_module()
+ class Fp16OptimizerHook(OptimizerHook):
+ """FP16 optimizer hook (using PyTorch's implementation).
+
+ If you are using PyTorch >= 1.6, torch.cuda.amp is used as the backend,
+ to take care of the optimization procedure.
+
+ Args:
+ loss_scale (float | str | dict): Scale factor configuration.
+ If loss_scale is a float, static loss scaling will be used with
+ the specified scale. If loss_scale is a string, it must be
+ 'dynamic', then dynamic loss scaling will be used.
+ It can also be a dict containing arguments of GradScalar.
+ Defaults to 512. For Pytorch >= 1.6, mmcv uses official
+ implementation of GradScaler. If you use a dict version of
+ loss_scale to create GradScaler, please refer to:
+ https://pytorch.org/docs/stable/amp.html#torch.cuda.amp.GradScaler
+ for the parameters.
+
+ Examples:
+ >>> loss_scale = dict(
+ ... init_scale=65536.0,
+ ... growth_factor=2.0,
+ ... backoff_factor=0.5,
+ ... growth_interval=2000
+ ... )
+ >>> optimizer_hook = Fp16OptimizerHook(loss_scale=loss_scale)
+ """
+
+ def __init__(self,
+ grad_clip=None,
+ coalesce=True,
+ bucket_size_mb=-1,
+ loss_scale=512.,
+ distributed=True):
+ self.grad_clip = grad_clip
+ self.coalesce = coalesce
+ self.bucket_size_mb = bucket_size_mb
+ self.distributed = distributed
+ self._scale_update_param = None
+ if loss_scale == 'dynamic':
+ self.loss_scaler = GradScaler()
+ elif isinstance(loss_scale, float):
+ self._scale_update_param = loss_scale
+ self.loss_scaler = GradScaler(init_scale=loss_scale)
+ elif isinstance(loss_scale, dict):
+ self.loss_scaler = GradScaler(**loss_scale)
+ else:
+ raise ValueError('loss_scale must be of type float, dict, or '
+ f'"dynamic", got {loss_scale}')
+
+ def before_run(self, runner):
+ """Preparing steps before Mixed Precision Training."""
+ # wrap model mode to fp16
+ wrap_fp16_model(runner.model)
+ # resume from state dict
+ if 'fp16' in runner.meta and 'loss_scaler' in runner.meta['fp16']:
+ scaler_state_dict = runner.meta['fp16']['loss_scaler']
+ self.loss_scaler.load_state_dict(scaler_state_dict)
+
+ def copy_grads_to_fp32(self, fp16_net, fp32_weights):
+ """Copy gradients from fp16 model to fp32 weight copy."""
+ for fp32_param, fp16_param in zip(fp32_weights,
+ fp16_net.parameters()):
+ if fp16_param.grad is not None:
+ if fp32_param.grad is None:
+ fp32_param.grad = fp32_param.data.new(
+ fp32_param.size())
+ fp32_param.grad.copy_(fp16_param.grad)
+
+ def copy_params_to_fp16(self, fp16_net, fp32_weights):
+ """Copy updated params from fp32 weight copy to fp16 model."""
+ for fp16_param, fp32_param in zip(fp16_net.parameters(),
+ fp32_weights):
+ fp16_param.data.copy_(fp32_param.data)
+
+ def after_train_iter(self, runner):
+ """Backward optimization steps for Mixed Precision Training. For
+ dynamic loss scaling, please refer to
+ https://pytorch.org/docs/stable/amp.html#torch.cuda.amp.GradScaler.
+
+ 1. Scale the loss by a scale factor.
+ 2. Backward the loss to obtain the gradients.
+ 3. Unscale the optimizer’s gradient tensors.
+ 4. Call optimizer.step() and update scale factor.
+ 5. Save loss_scaler state_dict for resume purpose.
+ """
+ # clear grads of last iteration
+ runner.model.zero_grad()
+ runner.optimizer.zero_grad()
+
+ self.loss_scaler.scale(runner.outputs['loss']).backward()
+ self.loss_scaler.unscale_(runner.optimizer)
+ # grad clip
+ if self.grad_clip is not None:
+ grad_norm = self.clip_grads(runner.model.parameters())
+ if grad_norm is not None:
+ # Add grad norm to the logger
+ runner.log_buffer.update({'grad_norm': float(grad_norm)},
+ runner.outputs['num_samples'])
+ # backward and update scaler
+ self.loss_scaler.step(runner.optimizer)
+ self.loss_scaler.update(self._scale_update_param)
+
+ # save state_dict of loss_scaler
+ runner.meta.setdefault(
+ 'fp16', {})['loss_scaler'] = self.loss_scaler.state_dict()
+
+ @HOOKS.register_module()
+ class GradientCumulativeFp16OptimizerHook(GradientCumulativeOptimizerHook,
+ Fp16OptimizerHook):
+ """Fp16 optimizer Hook (using PyTorch's implementation) implements
+ multi-iters gradient cumulating.
+
+ If you are using PyTorch >= 1.6, torch.cuda.amp is used as the backend,
+ to take care of the optimization procedure.
+ """
+
+ def __init__(self, *args, **kwargs):
+ super(GradientCumulativeFp16OptimizerHook,
+ self).__init__(*args, **kwargs)
+
+ def after_train_iter(self, runner):
+ if not self.initialized:
+ self._init(runner)
+
+ if runner.iter < self.divisible_iters:
+ loss_factor = self.cumulative_iters
+ else:
+ loss_factor = self.remainder_iters
+ loss = runner.outputs['loss']
+ loss = loss / loss_factor
+
+ self.loss_scaler.scale(loss).backward()
+
+ if (self.every_n_iters(runner, self.cumulative_iters)
+ or self.is_last_iter(runner)):
+
+ # copy fp16 grads in the model to fp32 params in the optimizer
+ self.loss_scaler.unscale_(runner.optimizer)
+
+ if self.grad_clip is not None:
+ grad_norm = self.clip_grads(runner.model.parameters())
+ if grad_norm is not None:
+ # Add grad norm to the logger
+ runner.log_buffer.update(
+ {'grad_norm': float(grad_norm)},
+ runner.outputs['num_samples'])
+
+ # backward and update scaler
+ self.loss_scaler.step(runner.optimizer)
+ self.loss_scaler.update(self._scale_update_param)
+
+ # save state_dict of loss_scaler
+ runner.meta.setdefault(
+ 'fp16', {})['loss_scaler'] = self.loss_scaler.state_dict()
+
+ # clear grads
+ runner.model.zero_grad()
+ runner.optimizer.zero_grad()
+
+else:
+
+ @HOOKS.register_module()
+ class Fp16OptimizerHook(OptimizerHook):
+ """FP16 optimizer hook (mmcv's implementation).
+
+ The steps of fp16 optimizer is as follows.
+ 1. Scale the loss value.
+ 2. BP in the fp16 model.
+ 2. Copy gradients from fp16 model to fp32 weights.
+ 3. Update fp32 weights.
+ 4. Copy updated parameters from fp32 weights to fp16 model.
+
+ Refer to https://arxiv.org/abs/1710.03740 for more details.
+
+ Args:
+ loss_scale (float | str | dict): Scale factor configuration.
+ If loss_scale is a float, static loss scaling will be used with
+ the specified scale. If loss_scale is a string, it must be
+ 'dynamic', then dynamic loss scaling will be used.
+ It can also be a dict containing arguments of LossScaler.
+ Defaults to 512.
+ """
+
+ def __init__(self,
+ grad_clip=None,
+ coalesce=True,
+ bucket_size_mb=-1,
+ loss_scale=512.,
+ distributed=True):
+ self.grad_clip = grad_clip
+ self.coalesce = coalesce
+ self.bucket_size_mb = bucket_size_mb
+ self.distributed = distributed
+ if loss_scale == 'dynamic':
+ self.loss_scaler = LossScaler(mode='dynamic')
+ elif isinstance(loss_scale, float):
+ self.loss_scaler = LossScaler(
+ init_scale=loss_scale, mode='static')
+ elif isinstance(loss_scale, dict):
+ self.loss_scaler = LossScaler(**loss_scale)
+ else:
+ raise ValueError('loss_scale must be of type float, dict, or '
+ f'"dynamic", got {loss_scale}')
+
+ def before_run(self, runner):
+ """Preparing steps before Mixed Precision Training.
+
+ 1. Make a master copy of fp32 weights for optimization.
+ 2. Convert the main model from fp32 to fp16.
+ """
+ # keep a copy of fp32 weights
+ old_groups = runner.optimizer.param_groups
+ runner.optimizer.param_groups = copy.deepcopy(
+ runner.optimizer.param_groups)
+ state = defaultdict(dict)
+ p_map = {
+ old_p: p
+ for old_p, p in zip(
+ chain(*(g['params'] for g in old_groups)),
+ chain(*(g['params']
+ for g in runner.optimizer.param_groups)))
+ }
+ for k, v in runner.optimizer.state.items():
+ state[p_map[k]] = v
+ runner.optimizer.state = state
+ # convert model to fp16
+ wrap_fp16_model(runner.model)
+ # resume from state dict
+ if 'fp16' in runner.meta and 'loss_scaler' in runner.meta['fp16']:
+ scaler_state_dict = runner.meta['fp16']['loss_scaler']
+ self.loss_scaler.load_state_dict(scaler_state_dict)
+
+ def copy_grads_to_fp32(self, fp16_net, fp32_weights):
+ """Copy gradients from fp16 model to fp32 weight copy."""
+ for fp32_param, fp16_param in zip(fp32_weights,
+ fp16_net.parameters()):
+ if fp16_param.grad is not None:
+ if fp32_param.grad is None:
+ fp32_param.grad = fp32_param.data.new(
+ fp32_param.size())
+ fp32_param.grad.copy_(fp16_param.grad)
+
+ def copy_params_to_fp16(self, fp16_net, fp32_weights):
+ """Copy updated params from fp32 weight copy to fp16 model."""
+ for fp16_param, fp32_param in zip(fp16_net.parameters(),
+ fp32_weights):
+ fp16_param.data.copy_(fp32_param.data)
+
+ def after_train_iter(self, runner):
+ """Backward optimization steps for Mixed Precision Training. For
+ dynamic loss scaling, please refer `loss_scalar.py`
+
+ 1. Scale the loss by a scale factor.
+ 2. Backward the loss to obtain the gradients (fp16).
+ 3. Copy gradients from the model to the fp32 weight copy.
+ 4. Scale the gradients back and update the fp32 weight copy.
+ 5. Copy back the params from fp32 weight copy to the fp16 model.
+ 6. Save loss_scaler state_dict for resume purpose.
+ """
+ # clear grads of last iteration
+ runner.model.zero_grad()
+ runner.optimizer.zero_grad()
+ # scale the loss value
+ scaled_loss = runner.outputs['loss'] * self.loss_scaler.loss_scale
+ scaled_loss.backward()
+ # copy fp16 grads in the model to fp32 params in the optimizer
+
+ fp32_weights = []
+ for param_group in runner.optimizer.param_groups:
+ fp32_weights += param_group['params']
+ self.copy_grads_to_fp32(runner.model, fp32_weights)
+ # allreduce grads
+ if self.distributed:
+ allreduce_grads(fp32_weights, self.coalesce,
+ self.bucket_size_mb)
+
+ has_overflow = self.loss_scaler.has_overflow(fp32_weights)
+ # if has overflow, skip this iteration
+ if not has_overflow:
+ # scale the gradients back
+ for param in fp32_weights:
+ if param.grad is not None:
+ param.grad.div_(self.loss_scaler.loss_scale)
+ if self.grad_clip is not None:
+ grad_norm = self.clip_grads(fp32_weights)
+ if grad_norm is not None:
+ # Add grad norm to the logger
+ runner.log_buffer.update(
+ {'grad_norm': float(grad_norm)},
+ runner.outputs['num_samples'])
+ # update fp32 params
+ runner.optimizer.step()
+ # copy fp32 params to the fp16 model
+ self.copy_params_to_fp16(runner.model, fp32_weights)
+ self.loss_scaler.update_scale(has_overflow)
+ if has_overflow:
+ runner.logger.warning('Check overflow, downscale loss scale '
+ f'to {self.loss_scaler.cur_scale}')
+
+ # save state_dict of loss_scaler
+ runner.meta.setdefault(
+ 'fp16', {})['loss_scaler'] = self.loss_scaler.state_dict()
+
+ @HOOKS.register_module()
+ class GradientCumulativeFp16OptimizerHook(GradientCumulativeOptimizerHook,
+ Fp16OptimizerHook):
+ """Fp16 optimizer Hook (using mmcv implementation) implements multi-
+ iters gradient cumulating."""
+
+ def __init__(self, *args, **kwargs):
+ super(GradientCumulativeFp16OptimizerHook,
+ self).__init__(*args, **kwargs)
+
+ def after_train_iter(self, runner):
+ if not self.initialized:
+ self._init(runner)
+
+ if runner.iter < self.divisible_iters:
+ loss_factor = self.cumulative_iters
+ else:
+ loss_factor = self.remainder_iters
+
+ loss = runner.outputs['loss']
+ loss = loss / loss_factor
+
+ # scale the loss value
+ scaled_loss = loss * self.loss_scaler.loss_scale
+ scaled_loss.backward()
+
+ if (self.every_n_iters(runner, self.cumulative_iters)
+ or self.is_last_iter(runner)):
+
+ # copy fp16 grads in the model to fp32 params in the optimizer
+ fp32_weights = []
+ for param_group in runner.optimizer.param_groups:
+ fp32_weights += param_group['params']
+ self.copy_grads_to_fp32(runner.model, fp32_weights)
+ # allreduce grads
+ if self.distributed:
+ allreduce_grads(fp32_weights, self.coalesce,
+ self.bucket_size_mb)
+
+ has_overflow = self.loss_scaler.has_overflow(fp32_weights)
+ # if has overflow, skip this iteration
+ if not has_overflow:
+ # scale the gradients back
+ for param in fp32_weights:
+ if param.grad is not None:
+ param.grad.div_(self.loss_scaler.loss_scale)
+ if self.grad_clip is not None:
+ grad_norm = self.clip_grads(fp32_weights)
+ if grad_norm is not None:
+ # Add grad norm to the logger
+ runner.log_buffer.update(
+ {'grad_norm': float(grad_norm)},
+ runner.outputs['num_samples'])
+ # update fp32 params
+ runner.optimizer.step()
+ # copy fp32 params to the fp16 model
+ self.copy_params_to_fp16(runner.model, fp32_weights)
+ else:
+ runner.logger.warning(
+ 'Check overflow, downscale loss scale '
+ f'to {self.loss_scaler.cur_scale}')
+
+ self.loss_scaler.update_scale(has_overflow)
+
+ # save state_dict of loss_scaler
+ runner.meta.setdefault(
+ 'fp16', {})['loss_scaler'] = self.loss_scaler.state_dict()
+
+ # clear grads
+ runner.model.zero_grad()
+ runner.optimizer.zero_grad()
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/profiler.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/profiler.py
new file mode 100644
index 0000000000000000000000000000000000000000..b70236997eec59c2209ef351ae38863b4112d0ec
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/profiler.py
@@ -0,0 +1,180 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import warnings
+from typing import Callable, List, Optional, Union
+
+import torch
+
+from ..dist_utils import master_only
+from .hook import HOOKS, Hook
+
+
+@HOOKS.register_module()
+class ProfilerHook(Hook):
+ """Profiler to analyze performance during training.
+
+ PyTorch Profiler is a tool that allows the collection of the performance
+ metrics during the training. More details on Profiler can be found at
+ https://pytorch.org/docs/1.8.1/profiler.html#torch.profiler.profile
+
+ Args:
+ by_epoch (bool): Profile performance by epoch or by iteration.
+ Default: True.
+ profile_iters (int): Number of iterations for profiling.
+ If ``by_epoch=True``, profile_iters indicates that they are the
+ first profile_iters epochs at the beginning of the
+ training, otherwise it indicates the first profile_iters
+ iterations. Default: 1.
+ activities (list[str]): List of activity groups (CPU, CUDA) to use in
+ profiling. Default: ['cpu', 'cuda'].
+ schedule (dict, optional): Config of generating the callable schedule.
+ if schedule is None, profiler will not add step markers into the
+ trace and table view. Default: None.
+ on_trace_ready (callable, dict): Either a handler or a dict of generate
+ handler. Default: None.
+ record_shapes (bool): Save information about operator's input shapes.
+ Default: False.
+ profile_memory (bool): Track tensor memory allocation/deallocation.
+ Default: False.
+ with_stack (bool): Record source information (file and line number)
+ for the ops. Default: False.
+ with_flops (bool): Use formula to estimate the FLOPS of specific
+ operators (matrix multiplication and 2D convolution).
+ Default: False.
+ json_trace_path (str, optional): Exports the collected trace in Chrome
+ JSON format. Default: None.
+
+ Example:
+ >>> runner = ... # instantiate a Runner
+ >>> # tensorboard trace
+ >>> trace_config = dict(type='tb_trace', dir_name='work_dir')
+ >>> profiler_config = dict(on_trace_ready=trace_config)
+ >>> runner.register_profiler_hook(profiler_config)
+ >>> runner.run(data_loaders=[trainloader], workflow=[('train', 1)])
+ """
+
+ def __init__(self,
+ by_epoch: bool = True,
+ profile_iters: int = 1,
+ activities: List[str] = ['cpu', 'cuda'],
+ schedule: Optional[dict] = None,
+ on_trace_ready: Optional[Union[Callable, dict]] = None,
+ record_shapes: bool = False,
+ profile_memory: bool = False,
+ with_stack: bool = False,
+ with_flops: bool = False,
+ json_trace_path: Optional[str] = None) -> None:
+ try:
+ from torch import profiler # torch version >= 1.8.1
+ except ImportError:
+ raise ImportError('profiler is the new feature of torch1.8.1, '
+ f'but your version is {torch.__version__}')
+
+ assert isinstance(by_epoch, bool), '``by_epoch`` should be a boolean.'
+ self.by_epoch = by_epoch
+
+ if profile_iters < 1:
+ raise ValueError('profile_iters should be greater than 0, but got '
+ f'{profile_iters}')
+ self.profile_iters = profile_iters
+
+ if not isinstance(activities, list):
+ raise ValueError(
+ f'activities should be list, but got {type(activities)}')
+ self.activities = []
+ for activity in activities:
+ activity = activity.lower()
+ if activity == 'cpu':
+ self.activities.append(profiler.ProfilerActivity.CPU)
+ elif activity == 'cuda':
+ self.activities.append(profiler.ProfilerActivity.CUDA)
+ else:
+ raise ValueError(
+ f'activity should be "cpu" or "cuda", but got {activity}')
+
+ if schedule is not None:
+ self.schedule = profiler.schedule(**schedule)
+ else:
+ self.schedule = None
+
+ self.on_trace_ready = on_trace_ready
+ self.record_shapes = record_shapes
+ self.profile_memory = profile_memory
+ self.with_stack = with_stack
+ self.with_flops = with_flops
+ self.json_trace_path = json_trace_path
+
+ @master_only
+ def before_run(self, runner):
+ if self.by_epoch and runner.max_epochs < self.profile_iters:
+ raise ValueError('self.profile_iters should not be greater than '
+ f'{runner.max_epochs}')
+
+ if not self.by_epoch and runner.max_iters < self.profile_iters:
+ raise ValueError('self.profile_iters should not be greater than '
+ f'{runner.max_iters}')
+
+ if callable(self.on_trace_ready): # handler
+ _on_trace_ready = self.on_trace_ready
+ elif isinstance(self.on_trace_ready, dict): # config of handler
+ trace_cfg = self.on_trace_ready.copy()
+ trace_type = trace_cfg.pop('type') # log_trace handler
+ if trace_type == 'log_trace':
+
+ def _log_handler(prof):
+ print(prof.key_averages().table(**trace_cfg))
+
+ _on_trace_ready = _log_handler
+ elif trace_type == 'tb_trace': # tensorboard_trace handler
+ try:
+ import torch_tb_profiler # noqa: F401
+ except ImportError:
+ raise ImportError('please run "pip install '
+ 'torch-tb-profiler" to install '
+ 'torch_tb_profiler')
+ _on_trace_ready = torch.profiler.tensorboard_trace_handler(
+ **trace_cfg)
+ else:
+ raise ValueError('trace_type should be "log_trace" or '
+ f'"tb_trace", but got {trace_type}')
+ elif self.on_trace_ready is None:
+ _on_trace_ready = None # type: ignore
+ else:
+ raise ValueError('on_trace_ready should be handler, dict or None, '
+ f'but got {type(self.on_trace_ready)}')
+
+ if runner.max_epochs > 1:
+ warnings.warn(f'profiler will profile {runner.max_epochs} epochs '
+ 'instead of 1 epoch. Since profiler will slow down '
+ 'the training, it is recommended to train 1 epoch '
+ 'with ProfilerHook and adjust your setting according'
+ ' to the profiler summary. During normal training '
+ '(epoch > 1), you may disable the ProfilerHook.')
+
+ self.profiler = torch.profiler.profile(
+ activities=self.activities,
+ schedule=self.schedule,
+ on_trace_ready=_on_trace_ready,
+ record_shapes=self.record_shapes,
+ profile_memory=self.profile_memory,
+ with_stack=self.with_stack,
+ with_flops=self.with_flops)
+
+ self.profiler.__enter__()
+ runner.logger.info('profiler is profiling...')
+
+ @master_only
+ def after_train_epoch(self, runner):
+ if self.by_epoch and runner.epoch == self.profile_iters - 1:
+ runner.logger.info('profiler may take a few minutes...')
+ self.profiler.__exit__(None, None, None)
+ if self.json_trace_path is not None:
+ self.profiler.export_chrome_trace(self.json_trace_path)
+
+ @master_only
+ def after_train_iter(self, runner):
+ self.profiler.step()
+ if not self.by_epoch and runner.iter == self.profile_iters - 1:
+ runner.logger.info('profiler may take a few minutes...')
+ self.profiler.__exit__(None, None, None)
+ if self.json_trace_path is not None:
+ self.profiler.export_chrome_trace(self.json_trace_path)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/sampler_seed.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/sampler_seed.py
new file mode 100644
index 0000000000000000000000000000000000000000..ee0dc6bdd8df5775857028aaed5444c0f59caf80
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/sampler_seed.py
@@ -0,0 +1,20 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from .hook import HOOKS, Hook
+
+
+@HOOKS.register_module()
+class DistSamplerSeedHook(Hook):
+ """Data-loading sampler for distributed training.
+
+ When distributed training, it is only useful in conjunction with
+ :obj:`EpochBasedRunner`, while :obj:`IterBasedRunner` achieves the same
+ purpose with :obj:`IterLoader`.
+ """
+
+ def before_epoch(self, runner):
+ if hasattr(runner.data_loader.sampler, 'set_epoch'):
+ # in case the data loader uses `SequentialSampler` in Pytorch
+ runner.data_loader.sampler.set_epoch(runner.epoch)
+ elif hasattr(runner.data_loader.batch_sampler.sampler, 'set_epoch'):
+ # batch sampler in pytorch warps the sampler as its attributes.
+ runner.data_loader.batch_sampler.sampler.set_epoch(runner.epoch)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/sync_buffer.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/sync_buffer.py
new file mode 100644
index 0000000000000000000000000000000000000000..6376b7ff894280cb2782243b25e8973650591577
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/hooks/sync_buffer.py
@@ -0,0 +1,22 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from ..dist_utils import allreduce_params
+from .hook import HOOKS, Hook
+
+
+@HOOKS.register_module()
+class SyncBuffersHook(Hook):
+ """Synchronize model buffers such as running_mean and running_var in BN at
+ the end of each epoch.
+
+ Args:
+ distributed (bool): Whether distributed training is used. It is
+ effective only for distributed training. Defaults to True.
+ """
+
+ def __init__(self, distributed=True):
+ self.distributed = distributed
+
+ def after_epoch(self, runner):
+ """All-reduce model buffers at the end of each epoch."""
+ if self.distributed:
+ allreduce_params(runner.model.buffers())
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/iter_based_runner.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/iter_based_runner.py
new file mode 100644
index 0000000000000000000000000000000000000000..e93849ba8a0960d958c76151d5bdd406e4b795a4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/iter_based_runner.py
@@ -0,0 +1,273 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import os.path as osp
+import platform
+import shutil
+import time
+import warnings
+
+import torch
+from torch.optim import Optimizer
+
+import annotator.mmpkg.mmcv as mmcv
+from .base_runner import BaseRunner
+from .builder import RUNNERS
+from .checkpoint import save_checkpoint
+from .hooks import IterTimerHook
+from .utils import get_host_info
+
+
+class IterLoader:
+
+ def __init__(self, dataloader):
+ self._dataloader = dataloader
+ self.iter_loader = iter(self._dataloader)
+ self._epoch = 0
+
+ @property
+ def epoch(self):
+ return self._epoch
+
+ def __next__(self):
+ try:
+ data = next(self.iter_loader)
+ except StopIteration:
+ self._epoch += 1
+ if hasattr(self._dataloader.sampler, 'set_epoch'):
+ self._dataloader.sampler.set_epoch(self._epoch)
+ time.sleep(2) # Prevent possible deadlock during epoch transition
+ self.iter_loader = iter(self._dataloader)
+ data = next(self.iter_loader)
+
+ return data
+
+ def __len__(self):
+ return len(self._dataloader)
+
+
+@RUNNERS.register_module()
+class IterBasedRunner(BaseRunner):
+ """Iteration-based Runner.
+
+ This runner train models iteration by iteration.
+ """
+
+ def train(self, data_loader, **kwargs):
+ self.model.train()
+ self.mode = 'train'
+ self.data_loader = data_loader
+ self._epoch = data_loader.epoch
+ data_batch = next(data_loader)
+ self.call_hook('before_train_iter')
+ outputs = self.model.train_step(data_batch, self.optimizer, **kwargs)
+ if not isinstance(outputs, dict):
+ raise TypeError('model.train_step() must return a dict')
+ if 'log_vars' in outputs:
+ self.log_buffer.update(outputs['log_vars'], outputs['num_samples'])
+ self.outputs = outputs
+ self.call_hook('after_train_iter')
+ self._inner_iter += 1
+ self._iter += 1
+
+ @torch.no_grad()
+ def val(self, data_loader, **kwargs):
+ self.model.eval()
+ self.mode = 'val'
+ self.data_loader = data_loader
+ data_batch = next(data_loader)
+ self.call_hook('before_val_iter')
+ outputs = self.model.val_step(data_batch, **kwargs)
+ if not isinstance(outputs, dict):
+ raise TypeError('model.val_step() must return a dict')
+ if 'log_vars' in outputs:
+ self.log_buffer.update(outputs['log_vars'], outputs['num_samples'])
+ self.outputs = outputs
+ self.call_hook('after_val_iter')
+ self._inner_iter += 1
+
+ def run(self, data_loaders, workflow, max_iters=None, **kwargs):
+ """Start running.
+
+ Args:
+ data_loaders (list[:obj:`DataLoader`]): Dataloaders for training
+ and validation.
+ workflow (list[tuple]): A list of (phase, iters) to specify the
+ running order and iterations. E.g, [('train', 10000),
+ ('val', 1000)] means running 10000 iterations for training and
+ 1000 iterations for validation, iteratively.
+ """
+ assert isinstance(data_loaders, list)
+ assert mmcv.is_list_of(workflow, tuple)
+ assert len(data_loaders) == len(workflow)
+ if max_iters is not None:
+ warnings.warn(
+ 'setting max_iters in run is deprecated, '
+ 'please set max_iters in runner_config', DeprecationWarning)
+ self._max_iters = max_iters
+ assert self._max_iters is not None, (
+ 'max_iters must be specified during instantiation')
+
+ work_dir = self.work_dir if self.work_dir is not None else 'NONE'
+ self.logger.info('Start running, host: %s, work_dir: %s',
+ get_host_info(), work_dir)
+ self.logger.info('Hooks will be executed in the following order:\n%s',
+ self.get_hook_info())
+ self.logger.info('workflow: %s, max: %d iters', workflow,
+ self._max_iters)
+ self.call_hook('before_run')
+
+ iter_loaders = [IterLoader(x) for x in data_loaders]
+
+ self.call_hook('before_epoch')
+
+ while self.iter < self._max_iters:
+ for i, flow in enumerate(workflow):
+ self._inner_iter = 0
+ mode, iters = flow
+ if not isinstance(mode, str) or not hasattr(self, mode):
+ raise ValueError(
+ 'runner has no method named "{}" to run a workflow'.
+ format(mode))
+ iter_runner = getattr(self, mode)
+ for _ in range(iters):
+ if mode == 'train' and self.iter >= self._max_iters:
+ break
+ iter_runner(iter_loaders[i], **kwargs)
+
+ time.sleep(1) # wait for some hooks like loggers to finish
+ self.call_hook('after_epoch')
+ self.call_hook('after_run')
+
+ def resume(self,
+ checkpoint,
+ resume_optimizer=True,
+ map_location='default'):
+ """Resume model from checkpoint.
+
+ Args:
+ checkpoint (str): Checkpoint to resume from.
+ resume_optimizer (bool, optional): Whether resume the optimizer(s)
+ if the checkpoint file includes optimizer(s). Default to True.
+ map_location (str, optional): Same as :func:`torch.load`.
+ Default to 'default'.
+ """
+ if map_location == 'default':
+ device_id = torch.cuda.current_device()
+ checkpoint = self.load_checkpoint(
+ checkpoint,
+ map_location=lambda storage, loc: storage.cuda(device_id))
+ else:
+ checkpoint = self.load_checkpoint(
+ checkpoint, map_location=map_location)
+
+ self._epoch = checkpoint['meta']['epoch']
+ self._iter = checkpoint['meta']['iter']
+ self._inner_iter = checkpoint['meta']['iter']
+ if 'optimizer' in checkpoint and resume_optimizer:
+ if isinstance(self.optimizer, Optimizer):
+ self.optimizer.load_state_dict(checkpoint['optimizer'])
+ elif isinstance(self.optimizer, dict):
+ for k in self.optimizer.keys():
+ self.optimizer[k].load_state_dict(
+ checkpoint['optimizer'][k])
+ else:
+ raise TypeError(
+ 'Optimizer should be dict or torch.optim.Optimizer '
+ f'but got {type(self.optimizer)}')
+
+ self.logger.info(f'resumed from epoch: {self.epoch}, iter {self.iter}')
+
+ def save_checkpoint(self,
+ out_dir,
+ filename_tmpl='iter_{}.pth',
+ meta=None,
+ save_optimizer=True,
+ create_symlink=True):
+ """Save checkpoint to file.
+
+ Args:
+ out_dir (str): Directory to save checkpoint files.
+ filename_tmpl (str, optional): Checkpoint file template.
+ Defaults to 'iter_{}.pth'.
+ meta (dict, optional): Metadata to be saved in checkpoint.
+ Defaults to None.
+ save_optimizer (bool, optional): Whether save optimizer.
+ Defaults to True.
+ create_symlink (bool, optional): Whether create symlink to the
+ latest checkpoint file. Defaults to True.
+ """
+ if meta is None:
+ meta = {}
+ elif not isinstance(meta, dict):
+ raise TypeError(
+ f'meta should be a dict or None, but got {type(meta)}')
+ if self.meta is not None:
+ meta.update(self.meta)
+ # Note: meta.update(self.meta) should be done before
+ # meta.update(epoch=self.epoch + 1, iter=self.iter) otherwise
+ # there will be problems with resumed checkpoints.
+ # More details in https://github.com/open-mmlab/mmcv/pull/1108
+ meta.update(epoch=self.epoch + 1, iter=self.iter)
+
+ filename = filename_tmpl.format(self.iter + 1)
+ filepath = osp.join(out_dir, filename)
+ optimizer = self.optimizer if save_optimizer else None
+ save_checkpoint(self.model, filepath, optimizer=optimizer, meta=meta)
+ # in some environments, `os.symlink` is not supported, you may need to
+ # set `create_symlink` to False
+ if create_symlink:
+ dst_file = osp.join(out_dir, 'latest.pth')
+ if platform.system() != 'Windows':
+ mmcv.symlink(filename, dst_file)
+ else:
+ shutil.copy(filepath, dst_file)
+
+ def register_training_hooks(self,
+ lr_config,
+ optimizer_config=None,
+ checkpoint_config=None,
+ log_config=None,
+ momentum_config=None,
+ custom_hooks_config=None):
+ """Register default hooks for iter-based training.
+
+ Checkpoint hook, optimizer stepper hook and logger hooks will be set to
+ `by_epoch=False` by default.
+
+ Default hooks include:
+
+ +----------------------+-------------------------+
+ | Hooks | Priority |
+ +======================+=========================+
+ | LrUpdaterHook | VERY_HIGH (10) |
+ +----------------------+-------------------------+
+ | MomentumUpdaterHook | HIGH (30) |
+ +----------------------+-------------------------+
+ | OptimizerStepperHook | ABOVE_NORMAL (40) |
+ +----------------------+-------------------------+
+ | CheckpointSaverHook | NORMAL (50) |
+ +----------------------+-------------------------+
+ | IterTimerHook | LOW (70) |
+ +----------------------+-------------------------+
+ | LoggerHook(s) | VERY_LOW (90) |
+ +----------------------+-------------------------+
+ | CustomHook(s) | defaults to NORMAL (50) |
+ +----------------------+-------------------------+
+
+ If custom hooks have same priority with default hooks, custom hooks
+ will be triggered after default hooks.
+ """
+ if checkpoint_config is not None:
+ checkpoint_config.setdefault('by_epoch', False)
+ if lr_config is not None:
+ lr_config.setdefault('by_epoch', False)
+ if log_config is not None:
+ for info in log_config['hooks']:
+ info.setdefault('by_epoch', False)
+ super(IterBasedRunner, self).register_training_hooks(
+ lr_config=lr_config,
+ momentum_config=momentum_config,
+ optimizer_config=optimizer_config,
+ checkpoint_config=checkpoint_config,
+ log_config=log_config,
+ timer_config=IterTimerHook(),
+ custom_hooks_config=custom_hooks_config)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/log_buffer.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/log_buffer.py
new file mode 100644
index 0000000000000000000000000000000000000000..d949e2941c5400088c7cd8a1dc893d8b233ae785
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/log_buffer.py
@@ -0,0 +1,41 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from collections import OrderedDict
+
+import numpy as np
+
+
+class LogBuffer:
+
+ def __init__(self):
+ self.val_history = OrderedDict()
+ self.n_history = OrderedDict()
+ self.output = OrderedDict()
+ self.ready = False
+
+ def clear(self):
+ self.val_history.clear()
+ self.n_history.clear()
+ self.clear_output()
+
+ def clear_output(self):
+ self.output.clear()
+ self.ready = False
+
+ def update(self, vars, count=1):
+ assert isinstance(vars, dict)
+ for key, var in vars.items():
+ if key not in self.val_history:
+ self.val_history[key] = []
+ self.n_history[key] = []
+ self.val_history[key].append(var)
+ self.n_history[key].append(count)
+
+ def average(self, n=0):
+ """Average latest n values or all values."""
+ assert n >= 0
+ for key in self.val_history:
+ values = np.array(self.val_history[key][-n:])
+ nums = np.array(self.n_history[key][-n:])
+ avg = np.sum(values * nums) / np.sum(nums)
+ self.output[key] = avg
+ self.ready = True
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/optimizer/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/optimizer/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..53c34d0470992cbc374f29681fdd00dc0e57968d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/optimizer/__init__.py
@@ -0,0 +1,9 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from .builder import (OPTIMIZER_BUILDERS, OPTIMIZERS, build_optimizer,
+ build_optimizer_constructor)
+from .default_constructor import DefaultOptimizerConstructor
+
+__all__ = [
+ 'OPTIMIZER_BUILDERS', 'OPTIMIZERS', 'DefaultOptimizerConstructor',
+ 'build_optimizer', 'build_optimizer_constructor'
+]
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/optimizer/builder.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/optimizer/builder.py
new file mode 100644
index 0000000000000000000000000000000000000000..f9234eed8f1f186d9d8dfda34562157ee39bdb3a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/optimizer/builder.py
@@ -0,0 +1,44 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import copy
+import inspect
+
+import torch
+
+from ...utils import Registry, build_from_cfg
+
+OPTIMIZERS = Registry('optimizer')
+OPTIMIZER_BUILDERS = Registry('optimizer builder')
+
+
+def register_torch_optimizers():
+ torch_optimizers = []
+ for module_name in dir(torch.optim):
+ if module_name.startswith('__'):
+ continue
+ _optim = getattr(torch.optim, module_name)
+ if inspect.isclass(_optim) and issubclass(_optim,
+ torch.optim.Optimizer):
+ OPTIMIZERS.register_module()(_optim)
+ torch_optimizers.append(module_name)
+ return torch_optimizers
+
+
+TORCH_OPTIMIZERS = register_torch_optimizers()
+
+
+def build_optimizer_constructor(cfg):
+ return build_from_cfg(cfg, OPTIMIZER_BUILDERS)
+
+
+def build_optimizer(model, cfg):
+ optimizer_cfg = copy.deepcopy(cfg)
+ constructor_type = optimizer_cfg.pop('constructor',
+ 'DefaultOptimizerConstructor')
+ paramwise_cfg = optimizer_cfg.pop('paramwise_cfg', None)
+ optim_constructor = build_optimizer_constructor(
+ dict(
+ type=constructor_type,
+ optimizer_cfg=optimizer_cfg,
+ paramwise_cfg=paramwise_cfg))
+ optimizer = optim_constructor(model)
+ return optimizer
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/optimizer/default_constructor.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/optimizer/default_constructor.py
new file mode 100644
index 0000000000000000000000000000000000000000..de2ae39cb6378cc17c098f5324f5d5c321879b91
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/optimizer/default_constructor.py
@@ -0,0 +1,249 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import warnings
+
+import torch
+from torch.nn import GroupNorm, LayerNorm
+
+from annotator.mmpkg.mmcv.utils import _BatchNorm, _InstanceNorm, build_from_cfg, is_list_of
+from annotator.mmpkg.mmcv.utils.ext_loader import check_ops_exist
+from .builder import OPTIMIZER_BUILDERS, OPTIMIZERS
+
+
+@OPTIMIZER_BUILDERS.register_module()
+class DefaultOptimizerConstructor:
+ """Default constructor for optimizers.
+
+ By default each parameter share the same optimizer settings, and we
+ provide an argument ``paramwise_cfg`` to specify parameter-wise settings.
+ It is a dict and may contain the following fields:
+
+ - ``custom_keys`` (dict): Specified parameters-wise settings by keys. If
+ one of the keys in ``custom_keys`` is a substring of the name of one
+ parameter, then the setting of the parameter will be specified by
+ ``custom_keys[key]`` and other setting like ``bias_lr_mult`` etc. will
+ be ignored. It should be noted that the aforementioned ``key`` is the
+ longest key that is a substring of the name of the parameter. If there
+ are multiple matched keys with the same length, then the key with lower
+ alphabet order will be chosen.
+ ``custom_keys[key]`` should be a dict and may contain fields ``lr_mult``
+ and ``decay_mult``. See Example 2 below.
+ - ``bias_lr_mult`` (float): It will be multiplied to the learning
+ rate for all bias parameters (except for those in normalization
+ layers and offset layers of DCN).
+ - ``bias_decay_mult`` (float): It will be multiplied to the weight
+ decay for all bias parameters (except for those in
+ normalization layers, depthwise conv layers, offset layers of DCN).
+ - ``norm_decay_mult`` (float): It will be multiplied to the weight
+ decay for all weight and bias parameters of normalization
+ layers.
+ - ``dwconv_decay_mult`` (float): It will be multiplied to the weight
+ decay for all weight and bias parameters of depthwise conv
+ layers.
+ - ``dcn_offset_lr_mult`` (float): It will be multiplied to the learning
+ rate for parameters of offset layer in the deformable convs
+ of a model.
+ - ``bypass_duplicate`` (bool): If true, the duplicate parameters
+ would not be added into optimizer. Default: False.
+
+ Note:
+ 1. If the option ``dcn_offset_lr_mult`` is used, the constructor will
+ override the effect of ``bias_lr_mult`` in the bias of offset
+ layer. So be careful when using both ``bias_lr_mult`` and
+ ``dcn_offset_lr_mult``. If you wish to apply both of them to the
+ offset layer in deformable convs, set ``dcn_offset_lr_mult``
+ to the original ``dcn_offset_lr_mult`` * ``bias_lr_mult``.
+ 2. If the option ``dcn_offset_lr_mult`` is used, the constructor will
+ apply it to all the DCN layers in the model. So be careful when
+ the model contains multiple DCN layers in places other than
+ backbone.
+
+ Args:
+ model (:obj:`nn.Module`): The model with parameters to be optimized.
+ optimizer_cfg (dict): The config dict of the optimizer.
+ Positional fields are
+
+ - `type`: class name of the optimizer.
+
+ Optional fields are
+
+ - any arguments of the corresponding optimizer type, e.g.,
+ lr, weight_decay, momentum, etc.
+ paramwise_cfg (dict, optional): Parameter-wise options.
+
+ Example 1:
+ >>> model = torch.nn.modules.Conv1d(1, 1, 1)
+ >>> optimizer_cfg = dict(type='SGD', lr=0.01, momentum=0.9,
+ >>> weight_decay=0.0001)
+ >>> paramwise_cfg = dict(norm_decay_mult=0.)
+ >>> optim_builder = DefaultOptimizerConstructor(
+ >>> optimizer_cfg, paramwise_cfg)
+ >>> optimizer = optim_builder(model)
+
+ Example 2:
+ >>> # assume model have attribute model.backbone and model.cls_head
+ >>> optimizer_cfg = dict(type='SGD', lr=0.01, weight_decay=0.95)
+ >>> paramwise_cfg = dict(custom_keys={
+ '.backbone': dict(lr_mult=0.1, decay_mult=0.9)})
+ >>> optim_builder = DefaultOptimizerConstructor(
+ >>> optimizer_cfg, paramwise_cfg)
+ >>> optimizer = optim_builder(model)
+ >>> # Then the `lr` and `weight_decay` for model.backbone is
+ >>> # (0.01 * 0.1, 0.95 * 0.9). `lr` and `weight_decay` for
+ >>> # model.cls_head is (0.01, 0.95).
+ """
+
+ def __init__(self, optimizer_cfg, paramwise_cfg=None):
+ if not isinstance(optimizer_cfg, dict):
+ raise TypeError('optimizer_cfg should be a dict',
+ f'but got {type(optimizer_cfg)}')
+ self.optimizer_cfg = optimizer_cfg
+ self.paramwise_cfg = {} if paramwise_cfg is None else paramwise_cfg
+ self.base_lr = optimizer_cfg.get('lr', None)
+ self.base_wd = optimizer_cfg.get('weight_decay', None)
+ self._validate_cfg()
+
+ def _validate_cfg(self):
+ if not isinstance(self.paramwise_cfg, dict):
+ raise TypeError('paramwise_cfg should be None or a dict, '
+ f'but got {type(self.paramwise_cfg)}')
+
+ if 'custom_keys' in self.paramwise_cfg:
+ if not isinstance(self.paramwise_cfg['custom_keys'], dict):
+ raise TypeError(
+ 'If specified, custom_keys must be a dict, '
+ f'but got {type(self.paramwise_cfg["custom_keys"])}')
+ if self.base_wd is None:
+ for key in self.paramwise_cfg['custom_keys']:
+ if 'decay_mult' in self.paramwise_cfg['custom_keys'][key]:
+ raise ValueError('base_wd should not be None')
+
+ # get base lr and weight decay
+ # weight_decay must be explicitly specified if mult is specified
+ if ('bias_decay_mult' in self.paramwise_cfg
+ or 'norm_decay_mult' in self.paramwise_cfg
+ or 'dwconv_decay_mult' in self.paramwise_cfg):
+ if self.base_wd is None:
+ raise ValueError('base_wd should not be None')
+
+ def _is_in(self, param_group, param_group_list):
+ assert is_list_of(param_group_list, dict)
+ param = set(param_group['params'])
+ param_set = set()
+ for group in param_group_list:
+ param_set.update(set(group['params']))
+
+ return not param.isdisjoint(param_set)
+
+ def add_params(self, params, module, prefix='', is_dcn_module=None):
+ """Add all parameters of module to the params list.
+
+ The parameters of the given module will be added to the list of param
+ groups, with specific rules defined by paramwise_cfg.
+
+ Args:
+ params (list[dict]): A list of param groups, it will be modified
+ in place.
+ module (nn.Module): The module to be added.
+ prefix (str): The prefix of the module
+ is_dcn_module (int|float|None): If the current module is a
+ submodule of DCN, `is_dcn_module` will be passed to
+ control conv_offset layer's learning rate. Defaults to None.
+ """
+ # get param-wise options
+ custom_keys = self.paramwise_cfg.get('custom_keys', {})
+ # first sort with alphabet order and then sort with reversed len of str
+ sorted_keys = sorted(sorted(custom_keys.keys()), key=len, reverse=True)
+
+ bias_lr_mult = self.paramwise_cfg.get('bias_lr_mult', 1.)
+ bias_decay_mult = self.paramwise_cfg.get('bias_decay_mult', 1.)
+ norm_decay_mult = self.paramwise_cfg.get('norm_decay_mult', 1.)
+ dwconv_decay_mult = self.paramwise_cfg.get('dwconv_decay_mult', 1.)
+ bypass_duplicate = self.paramwise_cfg.get('bypass_duplicate', False)
+ dcn_offset_lr_mult = self.paramwise_cfg.get('dcn_offset_lr_mult', 1.)
+
+ # special rules for norm layers and depth-wise conv layers
+ is_norm = isinstance(module,
+ (_BatchNorm, _InstanceNorm, GroupNorm, LayerNorm))
+ is_dwconv = (
+ isinstance(module, torch.nn.Conv2d)
+ and module.in_channels == module.groups)
+
+ for name, param in module.named_parameters(recurse=False):
+ param_group = {'params': [param]}
+ if not param.requires_grad:
+ params.append(param_group)
+ continue
+ if bypass_duplicate and self._is_in(param_group, params):
+ warnings.warn(f'{prefix} is duplicate. It is skipped since '
+ f'bypass_duplicate={bypass_duplicate}')
+ continue
+ # if the parameter match one of the custom keys, ignore other rules
+ is_custom = False
+ for key in sorted_keys:
+ if key in f'{prefix}.{name}':
+ is_custom = True
+ lr_mult = custom_keys[key].get('lr_mult', 1.)
+ param_group['lr'] = self.base_lr * lr_mult
+ if self.base_wd is not None:
+ decay_mult = custom_keys[key].get('decay_mult', 1.)
+ param_group['weight_decay'] = self.base_wd * decay_mult
+ break
+
+ if not is_custom:
+ # bias_lr_mult affects all bias parameters
+ # except for norm.bias dcn.conv_offset.bias
+ if name == 'bias' and not (is_norm or is_dcn_module):
+ param_group['lr'] = self.base_lr * bias_lr_mult
+
+ if (prefix.find('conv_offset') != -1 and is_dcn_module
+ and isinstance(module, torch.nn.Conv2d)):
+ # deal with both dcn_offset's bias & weight
+ param_group['lr'] = self.base_lr * dcn_offset_lr_mult
+
+ # apply weight decay policies
+ if self.base_wd is not None:
+ # norm decay
+ if is_norm:
+ param_group[
+ 'weight_decay'] = self.base_wd * norm_decay_mult
+ # depth-wise conv
+ elif is_dwconv:
+ param_group[
+ 'weight_decay'] = self.base_wd * dwconv_decay_mult
+ # bias lr and decay
+ elif name == 'bias' and not is_dcn_module:
+ # TODO: current bias_decay_mult will have affect on DCN
+ param_group[
+ 'weight_decay'] = self.base_wd * bias_decay_mult
+ params.append(param_group)
+
+ if check_ops_exist():
+ from annotator.mmpkg.mmcv.ops import DeformConv2d, ModulatedDeformConv2d
+ is_dcn_module = isinstance(module,
+ (DeformConv2d, ModulatedDeformConv2d))
+ else:
+ is_dcn_module = False
+ for child_name, child_mod in module.named_children():
+ child_prefix = f'{prefix}.{child_name}' if prefix else child_name
+ self.add_params(
+ params,
+ child_mod,
+ prefix=child_prefix,
+ is_dcn_module=is_dcn_module)
+
+ def __call__(self, model):
+ if hasattr(model, 'module'):
+ model = model.module
+
+ optimizer_cfg = self.optimizer_cfg.copy()
+ # if no paramwise option is specified, just use the global setting
+ if not self.paramwise_cfg:
+ optimizer_cfg['params'] = model.parameters()
+ return build_from_cfg(optimizer_cfg, OPTIMIZERS)
+
+ # set param-wise lr and weight decay recursively
+ params = []
+ self.add_params(params, model)
+ optimizer_cfg['params'] = params
+
+ return build_from_cfg(optimizer_cfg, OPTIMIZERS)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/priority.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/priority.py
new file mode 100644
index 0000000000000000000000000000000000000000..64cc4e3a05f8d5b89ab6eb32461e6e80f1d62e67
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/priority.py
@@ -0,0 +1,60 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from enum import Enum
+
+
+class Priority(Enum):
+ """Hook priority levels.
+
+ +--------------+------------+
+ | Level | Value |
+ +==============+============+
+ | HIGHEST | 0 |
+ +--------------+------------+
+ | VERY_HIGH | 10 |
+ +--------------+------------+
+ | HIGH | 30 |
+ +--------------+------------+
+ | ABOVE_NORMAL | 40 |
+ +--------------+------------+
+ | NORMAL | 50 |
+ +--------------+------------+
+ | BELOW_NORMAL | 60 |
+ +--------------+------------+
+ | LOW | 70 |
+ +--------------+------------+
+ | VERY_LOW | 90 |
+ +--------------+------------+
+ | LOWEST | 100 |
+ +--------------+------------+
+ """
+
+ HIGHEST = 0
+ VERY_HIGH = 10
+ HIGH = 30
+ ABOVE_NORMAL = 40
+ NORMAL = 50
+ BELOW_NORMAL = 60
+ LOW = 70
+ VERY_LOW = 90
+ LOWEST = 100
+
+
+def get_priority(priority):
+ """Get priority value.
+
+ Args:
+ priority (int or str or :obj:`Priority`): Priority.
+
+ Returns:
+ int: The priority value.
+ """
+ if isinstance(priority, int):
+ if priority < 0 or priority > 100:
+ raise ValueError('priority must be between 0 and 100')
+ return priority
+ elif isinstance(priority, Priority):
+ return priority.value
+ elif isinstance(priority, str):
+ return Priority[priority.upper()].value
+ else:
+ raise TypeError('priority must be an integer or Priority enum value')
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/utils.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..11bbc523e9a009119531c5eb903a93fe40cc5bca
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/runner/utils.py
@@ -0,0 +1,93 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import os
+import random
+import sys
+import time
+import warnings
+from getpass import getuser
+from socket import gethostname
+
+import numpy as np
+import torch
+
+import annotator.mmpkg.mmcv as mmcv
+
+
+def get_host_info():
+ """Get hostname and username.
+
+ Return empty string if exception raised, e.g. ``getpass.getuser()`` will
+ lead to error in docker container
+ """
+ host = ''
+ try:
+ host = f'{getuser()}@{gethostname()}'
+ except Exception as e:
+ warnings.warn(f'Host or user not found: {str(e)}')
+ finally:
+ return host
+
+
+def get_time_str():
+ return time.strftime('%Y%m%d_%H%M%S', time.localtime())
+
+
+def obj_from_dict(info, parent=None, default_args=None):
+ """Initialize an object from dict.
+
+ The dict must contain the key "type", which indicates the object type, it
+ can be either a string or type, such as "list" or ``list``. Remaining
+ fields are treated as the arguments for constructing the object.
+
+ Args:
+ info (dict): Object types and arguments.
+ parent (:class:`module`): Module which may containing expected object
+ classes.
+ default_args (dict, optional): Default arguments for initializing the
+ object.
+
+ Returns:
+ any type: Object built from the dict.
+ """
+ assert isinstance(info, dict) and 'type' in info
+ assert isinstance(default_args, dict) or default_args is None
+ args = info.copy()
+ obj_type = args.pop('type')
+ if mmcv.is_str(obj_type):
+ if parent is not None:
+ obj_type = getattr(parent, obj_type)
+ else:
+ obj_type = sys.modules[obj_type]
+ elif not isinstance(obj_type, type):
+ raise TypeError('type must be a str or valid type, but '
+ f'got {type(obj_type)}')
+ if default_args is not None:
+ for name, value in default_args.items():
+ args.setdefault(name, value)
+ return obj_type(**args)
+
+
+def set_random_seed(seed, deterministic=False, use_rank_shift=False):
+ """Set random seed.
+
+ Args:
+ seed (int): Seed to be used.
+ deterministic (bool): Whether to set the deterministic option for
+ CUDNN backend, i.e., set `torch.backends.cudnn.deterministic`
+ to True and `torch.backends.cudnn.benchmark` to False.
+ Default: False.
+ rank_shift (bool): Whether to add rank number to the random seed to
+ have different random seed in different threads. Default: False.
+ """
+ if use_rank_shift:
+ rank, _ = mmcv.runner.get_dist_info()
+ seed += rank
+ random.seed(seed)
+ np.random.seed(seed)
+ torch.manual_seed(seed)
+ torch.cuda.manual_seed(seed)
+ torch.cuda.manual_seed_all(seed)
+ os.environ['PYTHONHASHSEED'] = str(seed)
+ if deterministic:
+ torch.backends.cudnn.deterministic = True
+ torch.backends.cudnn.benchmark = False
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/utils/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/utils/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..378a0068432a371af364de9d73785901c0f83383
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/utils/__init__.py
@@ -0,0 +1,69 @@
+# flake8: noqa
+# Copyright (c) OpenMMLab. All rights reserved.
+from .config import Config, ConfigDict, DictAction
+from .misc import (check_prerequisites, concat_list, deprecated_api_warning,
+ has_method, import_modules_from_strings, is_list_of,
+ is_method_overridden, is_seq_of, is_str, is_tuple_of,
+ iter_cast, list_cast, requires_executable, requires_package,
+ slice_list, to_1tuple, to_2tuple, to_3tuple, to_4tuple,
+ to_ntuple, tuple_cast)
+from .path import (check_file_exist, fopen, is_filepath, mkdir_or_exist,
+ scandir, symlink)
+from .progressbar import (ProgressBar, track_iter_progress,
+ track_parallel_progress, track_progress)
+from .testing import (assert_attrs_equal, assert_dict_contains_subset,
+ assert_dict_has_keys, assert_is_norm_layer,
+ assert_keys_equal, assert_params_all_zeros,
+ check_python_script)
+from .timer import Timer, TimerError, check_time
+from .version_utils import digit_version, get_git_hash
+
+try:
+ import torch
+except ImportError:
+ __all__ = [
+ 'Config', 'ConfigDict', 'DictAction', 'is_str', 'iter_cast',
+ 'list_cast', 'tuple_cast', 'is_seq_of', 'is_list_of', 'is_tuple_of',
+ 'slice_list', 'concat_list', 'check_prerequisites', 'requires_package',
+ 'requires_executable', 'is_filepath', 'fopen', 'check_file_exist',
+ 'mkdir_or_exist', 'symlink', 'scandir', 'ProgressBar',
+ 'track_progress', 'track_iter_progress', 'track_parallel_progress',
+ 'Timer', 'TimerError', 'check_time', 'deprecated_api_warning',
+ 'digit_version', 'get_git_hash', 'import_modules_from_strings',
+ 'assert_dict_contains_subset', 'assert_attrs_equal',
+ 'assert_dict_has_keys', 'assert_keys_equal', 'check_python_script',
+ 'to_1tuple', 'to_2tuple', 'to_3tuple', 'to_4tuple', 'to_ntuple',
+ 'is_method_overridden', 'has_method'
+ ]
+else:
+ from .env import collect_env
+ from .logging import get_logger, print_log
+ from .parrots_jit import jit, skip_no_elena
+ from .parrots_wrapper import (
+ TORCH_VERSION, BuildExtension, CppExtension, CUDAExtension, DataLoader,
+ PoolDataLoader, SyncBatchNorm, _AdaptiveAvgPoolNd, _AdaptiveMaxPoolNd,
+ _AvgPoolNd, _BatchNorm, _ConvNd, _ConvTransposeMixin, _InstanceNorm,
+ _MaxPoolNd, get_build_config, is_rocm_pytorch, _get_cuda_home)
+ from .registry import Registry, build_from_cfg
+ from .trace import is_jit_tracing
+ __all__ = [
+ 'Config', 'ConfigDict', 'DictAction', 'collect_env', 'get_logger',
+ 'print_log', 'is_str', 'iter_cast', 'list_cast', 'tuple_cast',
+ 'is_seq_of', 'is_list_of', 'is_tuple_of', 'slice_list', 'concat_list',
+ 'check_prerequisites', 'requires_package', 'requires_executable',
+ 'is_filepath', 'fopen', 'check_file_exist', 'mkdir_or_exist',
+ 'symlink', 'scandir', 'ProgressBar', 'track_progress',
+ 'track_iter_progress', 'track_parallel_progress', 'Registry',
+ 'build_from_cfg', 'Timer', 'TimerError', 'check_time', 'SyncBatchNorm',
+ '_AdaptiveAvgPoolNd', '_AdaptiveMaxPoolNd', '_AvgPoolNd', '_BatchNorm',
+ '_ConvNd', '_ConvTransposeMixin', '_InstanceNorm', '_MaxPoolNd',
+ 'get_build_config', 'BuildExtension', 'CppExtension', 'CUDAExtension',
+ 'DataLoader', 'PoolDataLoader', 'TORCH_VERSION',
+ 'deprecated_api_warning', 'digit_version', 'get_git_hash',
+ 'import_modules_from_strings', 'jit', 'skip_no_elena',
+ 'assert_dict_contains_subset', 'assert_attrs_equal',
+ 'assert_dict_has_keys', 'assert_keys_equal', 'assert_is_norm_layer',
+ 'assert_params_all_zeros', 'check_python_script',
+ 'is_method_overridden', 'is_jit_tracing', 'is_rocm_pytorch',
+ '_get_cuda_home', 'has_method'
+ ]
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/utils/config.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/utils/config.py
new file mode 100644
index 0000000000000000000000000000000000000000..e2f7551f95cbf5d8ffa225bba7325632b5e7f01b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/utils/config.py
@@ -0,0 +1,688 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import ast
+import copy
+import os
+import os.path as osp
+import platform
+import shutil
+import sys
+import tempfile
+import uuid
+import warnings
+from argparse import Action, ArgumentParser
+from collections import abc
+from importlib import import_module
+
+from addict import Dict
+from yapf.yapflib.yapf_api import FormatCode
+
+from .misc import import_modules_from_strings
+from .path import check_file_exist
+
+if platform.system() == 'Windows':
+ import regex as re
+else:
+ import re
+
+BASE_KEY = '_base_'
+DELETE_KEY = '_delete_'
+DEPRECATION_KEY = '_deprecation_'
+RESERVED_KEYS = ['filename', 'text', 'pretty_text']
+
+
+class ConfigDict(Dict):
+
+ def __missing__(self, name):
+ raise KeyError(name)
+
+ def __getattr__(self, name):
+ try:
+ value = super(ConfigDict, self).__getattr__(name)
+ except KeyError:
+ ex = AttributeError(f"'{self.__class__.__name__}' object has no "
+ f"attribute '{name}'")
+ except Exception as e:
+ ex = e
+ else:
+ return value
+ raise ex
+
+
+def add_args(parser, cfg, prefix=''):
+ for k, v in cfg.items():
+ if isinstance(v, str):
+ parser.add_argument('--' + prefix + k)
+ elif isinstance(v, int):
+ parser.add_argument('--' + prefix + k, type=int)
+ elif isinstance(v, float):
+ parser.add_argument('--' + prefix + k, type=float)
+ elif isinstance(v, bool):
+ parser.add_argument('--' + prefix + k, action='store_true')
+ elif isinstance(v, dict):
+ add_args(parser, v, prefix + k + '.')
+ elif isinstance(v, abc.Iterable):
+ parser.add_argument('--' + prefix + k, type=type(v[0]), nargs='+')
+ else:
+ print(f'cannot parse key {prefix + k} of type {type(v)}')
+ return parser
+
+
+class Config:
+ """A facility for config and config files.
+
+ It supports common file formats as configs: python/json/yaml. The interface
+ is the same as a dict object and also allows access config values as
+ attributes.
+
+ Example:
+ >>> cfg = Config(dict(a=1, b=dict(b1=[0, 1])))
+ >>> cfg.a
+ 1
+ >>> cfg.b
+ {'b1': [0, 1]}
+ >>> cfg.b.b1
+ [0, 1]
+ >>> cfg = Config.fromfile('tests/data/config/a.py')
+ >>> cfg.filename
+ "/home/kchen/projects/mmcv/tests/data/config/a.py"
+ >>> cfg.item4
+ 'test'
+ >>> cfg
+ "Config [path: /home/kchen/projects/mmcv/tests/data/config/a.py]: "
+ "{'item1': [1, 2], 'item2': {'a': 0}, 'item3': True, 'item4': 'test'}"
+ """
+
+ @staticmethod
+ def _validate_py_syntax(filename):
+ with open(filename, 'r', encoding='utf-8') as f:
+ # Setting encoding explicitly to resolve coding issue on windows
+ content = f.read()
+ try:
+ ast.parse(content)
+ except SyntaxError as e:
+ raise SyntaxError('There are syntax errors in config '
+ f'file {filename}: {e}')
+
+ @staticmethod
+ def _substitute_predefined_vars(filename, temp_config_name):
+ file_dirname = osp.dirname(filename)
+ file_basename = osp.basename(filename)
+ file_basename_no_extension = osp.splitext(file_basename)[0]
+ file_extname = osp.splitext(filename)[1]
+ support_templates = dict(
+ fileDirname=file_dirname,
+ fileBasename=file_basename,
+ fileBasenameNoExtension=file_basename_no_extension,
+ fileExtname=file_extname)
+ with open(filename, 'r', encoding='utf-8') as f:
+ # Setting encoding explicitly to resolve coding issue on windows
+ config_file = f.read()
+ for key, value in support_templates.items():
+ regexp = r'\{\{\s*' + str(key) + r'\s*\}\}'
+ value = value.replace('\\', '/')
+ config_file = re.sub(regexp, value, config_file)
+ with open(temp_config_name, 'w', encoding='utf-8') as tmp_config_file:
+ tmp_config_file.write(config_file)
+
+ @staticmethod
+ def _pre_substitute_base_vars(filename, temp_config_name):
+ """Substitute base variable placehoders to string, so that parsing
+ would work."""
+ with open(filename, 'r', encoding='utf-8') as f:
+ # Setting encoding explicitly to resolve coding issue on windows
+ config_file = f.read()
+ base_var_dict = {}
+ regexp = r'\{\{\s*' + BASE_KEY + r'\.([\w\.]+)\s*\}\}'
+ base_vars = set(re.findall(regexp, config_file))
+ for base_var in base_vars:
+ randstr = f'_{base_var}_{uuid.uuid4().hex.lower()[:6]}'
+ base_var_dict[randstr] = base_var
+ regexp = r'\{\{\s*' + BASE_KEY + r'\.' + base_var + r'\s*\}\}'
+ config_file = re.sub(regexp, f'"{randstr}"', config_file)
+ with open(temp_config_name, 'w', encoding='utf-8') as tmp_config_file:
+ tmp_config_file.write(config_file)
+ return base_var_dict
+
+ @staticmethod
+ def _substitute_base_vars(cfg, base_var_dict, base_cfg):
+ """Substitute variable strings to their actual values."""
+ cfg = copy.deepcopy(cfg)
+
+ if isinstance(cfg, dict):
+ for k, v in cfg.items():
+ if isinstance(v, str) and v in base_var_dict:
+ new_v = base_cfg
+ for new_k in base_var_dict[v].split('.'):
+ new_v = new_v[new_k]
+ cfg[k] = new_v
+ elif isinstance(v, (list, tuple, dict)):
+ cfg[k] = Config._substitute_base_vars(
+ v, base_var_dict, base_cfg)
+ elif isinstance(cfg, tuple):
+ cfg = tuple(
+ Config._substitute_base_vars(c, base_var_dict, base_cfg)
+ for c in cfg)
+ elif isinstance(cfg, list):
+ cfg = [
+ Config._substitute_base_vars(c, base_var_dict, base_cfg)
+ for c in cfg
+ ]
+ elif isinstance(cfg, str) and cfg in base_var_dict:
+ new_v = base_cfg
+ for new_k in base_var_dict[cfg].split('.'):
+ new_v = new_v[new_k]
+ cfg = new_v
+
+ return cfg
+
+ @staticmethod
+ def _file2dict(filename, use_predefined_variables=True):
+ filename = osp.abspath(osp.expanduser(filename))
+ check_file_exist(filename)
+ fileExtname = osp.splitext(filename)[1]
+ if fileExtname not in ['.py', '.json', '.yaml', '.yml']:
+ raise IOError('Only py/yml/yaml/json type are supported now!')
+
+ with tempfile.TemporaryDirectory() as temp_config_dir:
+ temp_config_file = tempfile.NamedTemporaryFile(
+ dir=temp_config_dir, suffix=fileExtname)
+ if platform.system() == 'Windows':
+ temp_config_file.close()
+ temp_config_name = osp.basename(temp_config_file.name)
+ # Substitute predefined variables
+ if use_predefined_variables:
+ Config._substitute_predefined_vars(filename,
+ temp_config_file.name)
+ else:
+ shutil.copyfile(filename, temp_config_file.name)
+ # Substitute base variables from placeholders to strings
+ base_var_dict = Config._pre_substitute_base_vars(
+ temp_config_file.name, temp_config_file.name)
+
+ if filename.endswith('.py'):
+ temp_module_name = osp.splitext(temp_config_name)[0]
+ sys.path.insert(0, temp_config_dir)
+ Config._validate_py_syntax(filename)
+ mod = import_module(temp_module_name)
+ sys.path.pop(0)
+ cfg_dict = {
+ name: value
+ for name, value in mod.__dict__.items()
+ if not name.startswith('__')
+ }
+ # delete imported module
+ del sys.modules[temp_module_name]
+ elif filename.endswith(('.yml', '.yaml', '.json')):
+ import annotator.mmpkg.mmcv as mmcv
+ cfg_dict = mmcv.load(temp_config_file.name)
+ # close temp file
+ temp_config_file.close()
+
+ # check deprecation information
+ if DEPRECATION_KEY in cfg_dict:
+ deprecation_info = cfg_dict.pop(DEPRECATION_KEY)
+ warning_msg = f'The config file {filename} will be deprecated ' \
+ 'in the future.'
+ if 'expected' in deprecation_info:
+ warning_msg += f' Please use {deprecation_info["expected"]} ' \
+ 'instead.'
+ if 'reference' in deprecation_info:
+ warning_msg += ' More information can be found at ' \
+ f'{deprecation_info["reference"]}'
+ warnings.warn(warning_msg)
+
+ cfg_text = filename + '\n'
+ with open(filename, 'r', encoding='utf-8') as f:
+ # Setting encoding explicitly to resolve coding issue on windows
+ cfg_text += f.read()
+
+ if BASE_KEY in cfg_dict:
+ cfg_dir = osp.dirname(filename)
+ base_filename = cfg_dict.pop(BASE_KEY)
+ base_filename = base_filename if isinstance(
+ base_filename, list) else [base_filename]
+
+ cfg_dict_list = list()
+ cfg_text_list = list()
+ for f in base_filename:
+ _cfg_dict, _cfg_text = Config._file2dict(osp.join(cfg_dir, f))
+ cfg_dict_list.append(_cfg_dict)
+ cfg_text_list.append(_cfg_text)
+
+ base_cfg_dict = dict()
+ for c in cfg_dict_list:
+ duplicate_keys = base_cfg_dict.keys() & c.keys()
+ if len(duplicate_keys) > 0:
+ raise KeyError('Duplicate key is not allowed among bases. '
+ f'Duplicate keys: {duplicate_keys}')
+ base_cfg_dict.update(c)
+
+ # Substitute base variables from strings to their actual values
+ cfg_dict = Config._substitute_base_vars(cfg_dict, base_var_dict,
+ base_cfg_dict)
+
+ base_cfg_dict = Config._merge_a_into_b(cfg_dict, base_cfg_dict)
+ cfg_dict = base_cfg_dict
+
+ # merge cfg_text
+ cfg_text_list.append(cfg_text)
+ cfg_text = '\n'.join(cfg_text_list)
+
+ return cfg_dict, cfg_text
+
+ @staticmethod
+ def _merge_a_into_b(a, b, allow_list_keys=False):
+ """merge dict ``a`` into dict ``b`` (non-inplace).
+
+ Values in ``a`` will overwrite ``b``. ``b`` is copied first to avoid
+ in-place modifications.
+
+ Args:
+ a (dict): The source dict to be merged into ``b``.
+ b (dict): The origin dict to be fetch keys from ``a``.
+ allow_list_keys (bool): If True, int string keys (e.g. '0', '1')
+ are allowed in source ``a`` and will replace the element of the
+ corresponding index in b if b is a list. Default: False.
+
+ Returns:
+ dict: The modified dict of ``b`` using ``a``.
+
+ Examples:
+ # Normally merge a into b.
+ >>> Config._merge_a_into_b(
+ ... dict(obj=dict(a=2)), dict(obj=dict(a=1)))
+ {'obj': {'a': 2}}
+
+ # Delete b first and merge a into b.
+ >>> Config._merge_a_into_b(
+ ... dict(obj=dict(_delete_=True, a=2)), dict(obj=dict(a=1)))
+ {'obj': {'a': 2}}
+
+ # b is a list
+ >>> Config._merge_a_into_b(
+ ... {'0': dict(a=2)}, [dict(a=1), dict(b=2)], True)
+ [{'a': 2}, {'b': 2}]
+ """
+ b = b.copy()
+ for k, v in a.items():
+ if allow_list_keys and k.isdigit() and isinstance(b, list):
+ k = int(k)
+ if len(b) <= k:
+ raise KeyError(f'Index {k} exceeds the length of list {b}')
+ b[k] = Config._merge_a_into_b(v, b[k], allow_list_keys)
+ elif isinstance(v,
+ dict) and k in b and not v.pop(DELETE_KEY, False):
+ allowed_types = (dict, list) if allow_list_keys else dict
+ if not isinstance(b[k], allowed_types):
+ raise TypeError(
+ f'{k}={v} in child config cannot inherit from base '
+ f'because {k} is a dict in the child config but is of '
+ f'type {type(b[k])} in base config. You may set '
+ f'`{DELETE_KEY}=True` to ignore the base config')
+ b[k] = Config._merge_a_into_b(v, b[k], allow_list_keys)
+ else:
+ b[k] = v
+ return b
+
+ @staticmethod
+ def fromfile(filename,
+ use_predefined_variables=True,
+ import_custom_modules=True):
+ cfg_dict, cfg_text = Config._file2dict(filename,
+ use_predefined_variables)
+ if import_custom_modules and cfg_dict.get('custom_imports', None):
+ import_modules_from_strings(**cfg_dict['custom_imports'])
+ return Config(cfg_dict, cfg_text=cfg_text, filename=filename)
+
+ @staticmethod
+ def fromstring(cfg_str, file_format):
+ """Generate config from config str.
+
+ Args:
+ cfg_str (str): Config str.
+ file_format (str): Config file format corresponding to the
+ config str. Only py/yml/yaml/json type are supported now!
+
+ Returns:
+ obj:`Config`: Config obj.
+ """
+ if file_format not in ['.py', '.json', '.yaml', '.yml']:
+ raise IOError('Only py/yml/yaml/json type are supported now!')
+ if file_format != '.py' and 'dict(' in cfg_str:
+ # check if users specify a wrong suffix for python
+ warnings.warn(
+ 'Please check "file_format", the file format may be .py')
+ with tempfile.NamedTemporaryFile(
+ 'w', encoding='utf-8', suffix=file_format,
+ delete=False) as temp_file:
+ temp_file.write(cfg_str)
+ # on windows, previous implementation cause error
+ # see PR 1077 for details
+ cfg = Config.fromfile(temp_file.name)
+ os.remove(temp_file.name)
+ return cfg
+
+ @staticmethod
+ def auto_argparser(description=None):
+ """Generate argparser from config file automatically (experimental)"""
+ partial_parser = ArgumentParser(description=description)
+ partial_parser.add_argument('config', help='config file path')
+ cfg_file = partial_parser.parse_known_args()[0].config
+ cfg = Config.fromfile(cfg_file)
+ parser = ArgumentParser(description=description)
+ parser.add_argument('config', help='config file path')
+ add_args(parser, cfg)
+ return parser, cfg
+
+ def __init__(self, cfg_dict=None, cfg_text=None, filename=None):
+ if cfg_dict is None:
+ cfg_dict = dict()
+ elif not isinstance(cfg_dict, dict):
+ raise TypeError('cfg_dict must be a dict, but '
+ f'got {type(cfg_dict)}')
+ for key in cfg_dict:
+ if key in RESERVED_KEYS:
+ raise KeyError(f'{key} is reserved for config file')
+
+ super(Config, self).__setattr__('_cfg_dict', ConfigDict(cfg_dict))
+ super(Config, self).__setattr__('_filename', filename)
+ if cfg_text:
+ text = cfg_text
+ elif filename:
+ with open(filename, 'r') as f:
+ text = f.read()
+ else:
+ text = ''
+ super(Config, self).__setattr__('_text', text)
+
+ @property
+ def filename(self):
+ return self._filename
+
+ @property
+ def text(self):
+ return self._text
+
+ @property
+ def pretty_text(self):
+
+ indent = 4
+
+ def _indent(s_, num_spaces):
+ s = s_.split('\n')
+ if len(s) == 1:
+ return s_
+ first = s.pop(0)
+ s = [(num_spaces * ' ') + line for line in s]
+ s = '\n'.join(s)
+ s = first + '\n' + s
+ return s
+
+ def _format_basic_types(k, v, use_mapping=False):
+ if isinstance(v, str):
+ v_str = f"'{v}'"
+ else:
+ v_str = str(v)
+
+ if use_mapping:
+ k_str = f"'{k}'" if isinstance(k, str) else str(k)
+ attr_str = f'{k_str}: {v_str}'
+ else:
+ attr_str = f'{str(k)}={v_str}'
+ attr_str = _indent(attr_str, indent)
+
+ return attr_str
+
+ def _format_list(k, v, use_mapping=False):
+ # check if all items in the list are dict
+ if all(isinstance(_, dict) for _ in v):
+ v_str = '[\n'
+ v_str += '\n'.join(
+ f'dict({_indent(_format_dict(v_), indent)}),'
+ for v_ in v).rstrip(',')
+ if use_mapping:
+ k_str = f"'{k}'" if isinstance(k, str) else str(k)
+ attr_str = f'{k_str}: {v_str}'
+ else:
+ attr_str = f'{str(k)}={v_str}'
+ attr_str = _indent(attr_str, indent) + ']'
+ else:
+ attr_str = _format_basic_types(k, v, use_mapping)
+ return attr_str
+
+ def _contain_invalid_identifier(dict_str):
+ contain_invalid_identifier = False
+ for key_name in dict_str:
+ contain_invalid_identifier |= \
+ (not str(key_name).isidentifier())
+ return contain_invalid_identifier
+
+ def _format_dict(input_dict, outest_level=False):
+ r = ''
+ s = []
+
+ use_mapping = _contain_invalid_identifier(input_dict)
+ if use_mapping:
+ r += '{'
+ for idx, (k, v) in enumerate(input_dict.items()):
+ is_last = idx >= len(input_dict) - 1
+ end = '' if outest_level or is_last else ','
+ if isinstance(v, dict):
+ v_str = '\n' + _format_dict(v)
+ if use_mapping:
+ k_str = f"'{k}'" if isinstance(k, str) else str(k)
+ attr_str = f'{k_str}: dict({v_str}'
+ else:
+ attr_str = f'{str(k)}=dict({v_str}'
+ attr_str = _indent(attr_str, indent) + ')' + end
+ elif isinstance(v, list):
+ attr_str = _format_list(k, v, use_mapping) + end
+ else:
+ attr_str = _format_basic_types(k, v, use_mapping) + end
+
+ s.append(attr_str)
+ r += '\n'.join(s)
+ if use_mapping:
+ r += '}'
+ return r
+
+ cfg_dict = self._cfg_dict.to_dict()
+ text = _format_dict(cfg_dict, outest_level=True)
+ # copied from setup.cfg
+ yapf_style = dict(
+ based_on_style='pep8',
+ blank_line_before_nested_class_or_def=True,
+ split_before_expression_after_opening_paren=True)
+ text, _ = FormatCode(text, style_config=yapf_style, verify=True)
+
+ return text
+
+ def __repr__(self):
+ return f'Config (path: {self.filename}): {self._cfg_dict.__repr__()}'
+
+ def __len__(self):
+ return len(self._cfg_dict)
+
+ def __getattr__(self, name):
+ return getattr(self._cfg_dict, name)
+
+ def __getitem__(self, name):
+ return self._cfg_dict.__getitem__(name)
+
+ def __setattr__(self, name, value):
+ if isinstance(value, dict):
+ value = ConfigDict(value)
+ self._cfg_dict.__setattr__(name, value)
+
+ def __setitem__(self, name, value):
+ if isinstance(value, dict):
+ value = ConfigDict(value)
+ self._cfg_dict.__setitem__(name, value)
+
+ def __iter__(self):
+ return iter(self._cfg_dict)
+
+ def __getstate__(self):
+ return (self._cfg_dict, self._filename, self._text)
+
+ def __setstate__(self, state):
+ _cfg_dict, _filename, _text = state
+ super(Config, self).__setattr__('_cfg_dict', _cfg_dict)
+ super(Config, self).__setattr__('_filename', _filename)
+ super(Config, self).__setattr__('_text', _text)
+
+ def dump(self, file=None):
+ cfg_dict = super(Config, self).__getattribute__('_cfg_dict').to_dict()
+ if self.filename.endswith('.py'):
+ if file is None:
+ return self.pretty_text
+ else:
+ with open(file, 'w', encoding='utf-8') as f:
+ f.write(self.pretty_text)
+ else:
+ import annotator.mmpkg.mmcv as mmcv
+ if file is None:
+ file_format = self.filename.split('.')[-1]
+ return mmcv.dump(cfg_dict, file_format=file_format)
+ else:
+ mmcv.dump(cfg_dict, file)
+
+ def merge_from_dict(self, options, allow_list_keys=True):
+ """Merge list into cfg_dict.
+
+ Merge the dict parsed by MultipleKVAction into this cfg.
+
+ Examples:
+ >>> options = {'model.backbone.depth': 50,
+ ... 'model.backbone.with_cp':True}
+ >>> cfg = Config(dict(model=dict(backbone=dict(type='ResNet'))))
+ >>> cfg.merge_from_dict(options)
+ >>> cfg_dict = super(Config, self).__getattribute__('_cfg_dict')
+ >>> assert cfg_dict == dict(
+ ... model=dict(backbone=dict(depth=50, with_cp=True)))
+
+ # Merge list element
+ >>> cfg = Config(dict(pipeline=[
+ ... dict(type='LoadImage'), dict(type='LoadAnnotations')]))
+ >>> options = dict(pipeline={'0': dict(type='SelfLoadImage')})
+ >>> cfg.merge_from_dict(options, allow_list_keys=True)
+ >>> cfg_dict = super(Config, self).__getattribute__('_cfg_dict')
+ >>> assert cfg_dict == dict(pipeline=[
+ ... dict(type='SelfLoadImage'), dict(type='LoadAnnotations')])
+
+ Args:
+ options (dict): dict of configs to merge from.
+ allow_list_keys (bool): If True, int string keys (e.g. '0', '1')
+ are allowed in ``options`` and will replace the element of the
+ corresponding index in the config if the config is a list.
+ Default: True.
+ """
+ option_cfg_dict = {}
+ for full_key, v in options.items():
+ d = option_cfg_dict
+ key_list = full_key.split('.')
+ for subkey in key_list[:-1]:
+ d.setdefault(subkey, ConfigDict())
+ d = d[subkey]
+ subkey = key_list[-1]
+ d[subkey] = v
+
+ cfg_dict = super(Config, self).__getattribute__('_cfg_dict')
+ super(Config, self).__setattr__(
+ '_cfg_dict',
+ Config._merge_a_into_b(
+ option_cfg_dict, cfg_dict, allow_list_keys=allow_list_keys))
+
+
+class DictAction(Action):
+ """
+ argparse action to split an argument into KEY=VALUE form
+ on the first = and append to a dictionary. List options can
+ be passed as comma separated values, i.e 'KEY=V1,V2,V3', or with explicit
+ brackets, i.e. 'KEY=[V1,V2,V3]'. It also support nested brackets to build
+ list/tuple values. e.g. 'KEY=[(V1,V2),(V3,V4)]'
+ """
+
+ @staticmethod
+ def _parse_int_float_bool(val):
+ try:
+ return int(val)
+ except ValueError:
+ pass
+ try:
+ return float(val)
+ except ValueError:
+ pass
+ if val.lower() in ['true', 'false']:
+ return True if val.lower() == 'true' else False
+ return val
+
+ @staticmethod
+ def _parse_iterable(val):
+ """Parse iterable values in the string.
+
+ All elements inside '()' or '[]' are treated as iterable values.
+
+ Args:
+ val (str): Value string.
+
+ Returns:
+ list | tuple: The expanded list or tuple from the string.
+
+ Examples:
+ >>> DictAction._parse_iterable('1,2,3')
+ [1, 2, 3]
+ >>> DictAction._parse_iterable('[a, b, c]')
+ ['a', 'b', 'c']
+ >>> DictAction._parse_iterable('[(1, 2, 3), [a, b], c]')
+ [(1, 2, 3), ['a', 'b'], 'c']
+ """
+
+ def find_next_comma(string):
+ """Find the position of next comma in the string.
+
+ If no ',' is found in the string, return the string length. All
+ chars inside '()' and '[]' are treated as one element and thus ','
+ inside these brackets are ignored.
+ """
+ assert (string.count('(') == string.count(')')) and (
+ string.count('[') == string.count(']')), \
+ f'Imbalanced brackets exist in {string}'
+ end = len(string)
+ for idx, char in enumerate(string):
+ pre = string[:idx]
+ # The string before this ',' is balanced
+ if ((char == ',') and (pre.count('(') == pre.count(')'))
+ and (pre.count('[') == pre.count(']'))):
+ end = idx
+ break
+ return end
+
+ # Strip ' and " characters and replace whitespace.
+ val = val.strip('\'\"').replace(' ', '')
+ is_tuple = False
+ if val.startswith('(') and val.endswith(')'):
+ is_tuple = True
+ val = val[1:-1]
+ elif val.startswith('[') and val.endswith(']'):
+ val = val[1:-1]
+ elif ',' not in val:
+ # val is a single value
+ return DictAction._parse_int_float_bool(val)
+
+ values = []
+ while len(val) > 0:
+ comma_idx = find_next_comma(val)
+ element = DictAction._parse_iterable(val[:comma_idx])
+ values.append(element)
+ val = val[comma_idx + 1:]
+ if is_tuple:
+ values = tuple(values)
+ return values
+
+ def __call__(self, parser, namespace, values, option_string=None):
+ options = {}
+ for kv in values:
+ key, val = kv.split('=', maxsplit=1)
+ options[key] = self._parse_iterable(val)
+ setattr(namespace, self.dest, options)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/utils/env.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/utils/env.py
new file mode 100644
index 0000000000000000000000000000000000000000..a0c6e64a63f8a3ed813b749c134823a0ef69964c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/utils/env.py
@@ -0,0 +1,95 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+"""This file holding some environment constant for sharing by other files."""
+
+import os.path as osp
+import subprocess
+import sys
+from collections import defaultdict
+
+import cv2
+import torch
+
+import annotator.mmpkg.mmcv as mmcv
+from .parrots_wrapper import get_build_config
+
+
+def collect_env():
+ """Collect the information of the running environments.
+
+ Returns:
+ dict: The environment information. The following fields are contained.
+
+ - sys.platform: The variable of ``sys.platform``.
+ - Python: Python version.
+ - CUDA available: Bool, indicating if CUDA is available.
+ - GPU devices: Device type of each GPU.
+ - CUDA_HOME (optional): The env var ``CUDA_HOME``.
+ - NVCC (optional): NVCC version.
+ - GCC: GCC version, "n/a" if GCC is not installed.
+ - PyTorch: PyTorch version.
+ - PyTorch compiling details: The output of \
+ ``torch.__config__.show()``.
+ - TorchVision (optional): TorchVision version.
+ - OpenCV: OpenCV version.
+ - MMCV: MMCV version.
+ - MMCV Compiler: The GCC version for compiling MMCV ops.
+ - MMCV CUDA Compiler: The CUDA version for compiling MMCV ops.
+ """
+ env_info = {}
+ env_info['sys.platform'] = sys.platform
+ env_info['Python'] = sys.version.replace('\n', '')
+
+ cuda_available = torch.cuda.is_available()
+ env_info['CUDA available'] = cuda_available
+
+ if cuda_available:
+ devices = defaultdict(list)
+ for k in range(torch.cuda.device_count()):
+ devices[torch.cuda.get_device_name(k)].append(str(k))
+ for name, device_ids in devices.items():
+ env_info['GPU ' + ','.join(device_ids)] = name
+
+ from annotator.mmpkg.mmcv.utils.parrots_wrapper import _get_cuda_home
+ CUDA_HOME = _get_cuda_home()
+ env_info['CUDA_HOME'] = CUDA_HOME
+
+ if CUDA_HOME is not None and osp.isdir(CUDA_HOME):
+ try:
+ nvcc = osp.join(CUDA_HOME, 'bin/nvcc')
+ nvcc = subprocess.check_output(
+ f'"{nvcc}" -V | tail -n1', shell=True)
+ nvcc = nvcc.decode('utf-8').strip()
+ except subprocess.SubprocessError:
+ nvcc = 'Not Available'
+ env_info['NVCC'] = nvcc
+
+ try:
+ gcc = subprocess.check_output('gcc --version | head -n1', shell=True)
+ gcc = gcc.decode('utf-8').strip()
+ env_info['GCC'] = gcc
+ except subprocess.CalledProcessError: # gcc is unavailable
+ env_info['GCC'] = 'n/a'
+
+ env_info['PyTorch'] = torch.__version__
+ env_info['PyTorch compiling details'] = get_build_config()
+
+ try:
+ import torchvision
+ env_info['TorchVision'] = torchvision.__version__
+ except ModuleNotFoundError:
+ pass
+
+ env_info['OpenCV'] = cv2.__version__
+
+ env_info['MMCV'] = mmcv.__version__
+
+ try:
+ from annotator.mmpkg.mmcv.ops import get_compiler_version, get_compiling_cuda_version
+ except ModuleNotFoundError:
+ env_info['MMCV Compiler'] = 'n/a'
+ env_info['MMCV CUDA Compiler'] = 'n/a'
+ else:
+ env_info['MMCV Compiler'] = get_compiler_version()
+ env_info['MMCV CUDA Compiler'] = get_compiling_cuda_version()
+
+ return env_info
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/utils/ext_loader.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/utils/ext_loader.py
new file mode 100644
index 0000000000000000000000000000000000000000..08132d2c1b9a1c28880e4bab4d4fa1ba39d9d083
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/utils/ext_loader.py
@@ -0,0 +1,71 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import importlib
+import os
+import pkgutil
+import warnings
+from collections import namedtuple
+
+import torch
+
+if torch.__version__ != 'parrots':
+
+ def load_ext(name, funcs):
+ ext = importlib.import_module('mmcv.' + name)
+ for fun in funcs:
+ assert hasattr(ext, fun), f'{fun} miss in module {name}'
+ return ext
+else:
+ from parrots import extension
+ from parrots.base import ParrotsException
+
+ has_return_value_ops = [
+ 'nms',
+ 'softnms',
+ 'nms_match',
+ 'nms_rotated',
+ 'top_pool_forward',
+ 'top_pool_backward',
+ 'bottom_pool_forward',
+ 'bottom_pool_backward',
+ 'left_pool_forward',
+ 'left_pool_backward',
+ 'right_pool_forward',
+ 'right_pool_backward',
+ 'fused_bias_leakyrelu',
+ 'upfirdn2d',
+ 'ms_deform_attn_forward',
+ 'pixel_group',
+ 'contour_expand',
+ ]
+
+ def get_fake_func(name, e):
+
+ def fake_func(*args, **kwargs):
+ warnings.warn(f'{name} is not supported in parrots now')
+ raise e
+
+ return fake_func
+
+ def load_ext(name, funcs):
+ ExtModule = namedtuple('ExtModule', funcs)
+ ext_list = []
+ lib_root = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
+ for fun in funcs:
+ try:
+ ext_fun = extension.load(fun, name, lib_dir=lib_root)
+ except ParrotsException as e:
+ if 'No element registered' not in e.message:
+ warnings.warn(e.message)
+ ext_fun = get_fake_func(fun, e)
+ ext_list.append(ext_fun)
+ else:
+ if fun in has_return_value_ops:
+ ext_list.append(ext_fun.op)
+ else:
+ ext_list.append(ext_fun.op_)
+ return ExtModule(*ext_list)
+
+
+def check_ops_exist():
+ ext_loader = pkgutil.find_loader('mmcv._ext')
+ return ext_loader is not None
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/utils/logging.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/utils/logging.py
new file mode 100644
index 0000000000000000000000000000000000000000..4aa0e04bb9b3ab2a4bfbc4def50404ccbac2c6e6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/utils/logging.py
@@ -0,0 +1,110 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import logging
+
+import torch.distributed as dist
+
+logger_initialized = {}
+
+
+def get_logger(name, log_file=None, log_level=logging.INFO, file_mode='w'):
+ """Initialize and get a logger by name.
+
+ If the logger has not been initialized, this method will initialize the
+ logger by adding one or two handlers, otherwise the initialized logger will
+ be directly returned. During initialization, a StreamHandler will always be
+ added. If `log_file` is specified and the process rank is 0, a FileHandler
+ will also be added.
+
+ Args:
+ name (str): Logger name.
+ log_file (str | None): The log filename. If specified, a FileHandler
+ will be added to the logger.
+ log_level (int): The logger level. Note that only the process of
+ rank 0 is affected, and other processes will set the level to
+ "Error" thus be silent most of the time.
+ file_mode (str): The file mode used in opening log file.
+ Defaults to 'w'.
+
+ Returns:
+ logging.Logger: The expected logger.
+ """
+ logger = logging.getLogger(name)
+ if name in logger_initialized:
+ return logger
+ # handle hierarchical names
+ # e.g., logger "a" is initialized, then logger "a.b" will skip the
+ # initialization since it is a child of "a".
+ for logger_name in logger_initialized:
+ if name.startswith(logger_name):
+ return logger
+
+ # handle duplicate logs to the console
+ # Starting in 1.8.0, PyTorch DDP attaches a StreamHandler (NOTSET)
+ # to the root logger. As logger.propagate is True by default, this root
+ # level handler causes logging messages from rank>0 processes to
+ # unexpectedly show up on the console, creating much unwanted clutter.
+ # To fix this issue, we set the root logger's StreamHandler, if any, to log
+ # at the ERROR level.
+ for handler in logger.root.handlers:
+ if type(handler) is logging.StreamHandler:
+ handler.setLevel(logging.ERROR)
+
+ stream_handler = logging.StreamHandler()
+ handlers = [stream_handler]
+
+ if dist.is_available() and dist.is_initialized():
+ rank = dist.get_rank()
+ else:
+ rank = 0
+
+ # only rank 0 will add a FileHandler
+ if rank == 0 and log_file is not None:
+ # Here, the default behaviour of the official logger is 'a'. Thus, we
+ # provide an interface to change the file mode to the default
+ # behaviour.
+ file_handler = logging.FileHandler(log_file, file_mode)
+ handlers.append(file_handler)
+
+ formatter = logging.Formatter(
+ '%(asctime)s - %(name)s - %(levelname)s - %(message)s')
+ for handler in handlers:
+ handler.setFormatter(formatter)
+ handler.setLevel(log_level)
+ logger.addHandler(handler)
+
+ if rank == 0:
+ logger.setLevel(log_level)
+ else:
+ logger.setLevel(logging.ERROR)
+
+ logger_initialized[name] = True
+
+ return logger
+
+
+def print_log(msg, logger=None, level=logging.INFO):
+ """Print a log message.
+
+ Args:
+ msg (str): The message to be logged.
+ logger (logging.Logger | str | None): The logger to be used.
+ Some special loggers are:
+ - "silent": no message will be printed.
+ - other str: the logger obtained with `get_root_logger(logger)`.
+ - None: The `print()` method will be used to print log messages.
+ level (int): Logging level. Only available when `logger` is a Logger
+ object or "root".
+ """
+ if logger is None:
+ print(msg)
+ elif isinstance(logger, logging.Logger):
+ logger.log(level, msg)
+ elif logger == 'silent':
+ pass
+ elif isinstance(logger, str):
+ _logger = get_logger(logger)
+ _logger.log(level, msg)
+ else:
+ raise TypeError(
+ 'logger should be either a logging.Logger object, str, '
+ f'"silent" or None, but got {type(logger)}')
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/utils/misc.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/utils/misc.py
new file mode 100644
index 0000000000000000000000000000000000000000..2c58d0d7fee9fe3d4519270ad8c1e998d0d8a18c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/utils/misc.py
@@ -0,0 +1,377 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import collections.abc
+import functools
+import itertools
+import subprocess
+import warnings
+from collections import abc
+from importlib import import_module
+from inspect import getfullargspec
+from itertools import repeat
+
+
+# From PyTorch internals
+def _ntuple(n):
+
+ def parse(x):
+ if isinstance(x, collections.abc.Iterable):
+ return x
+ return tuple(repeat(x, n))
+
+ return parse
+
+
+to_1tuple = _ntuple(1)
+to_2tuple = _ntuple(2)
+to_3tuple = _ntuple(3)
+to_4tuple = _ntuple(4)
+to_ntuple = _ntuple
+
+
+def is_str(x):
+ """Whether the input is an string instance.
+
+ Note: This method is deprecated since python 2 is no longer supported.
+ """
+ return isinstance(x, str)
+
+
+def import_modules_from_strings(imports, allow_failed_imports=False):
+ """Import modules from the given list of strings.
+
+ Args:
+ imports (list | str | None): The given module names to be imported.
+ allow_failed_imports (bool): If True, the failed imports will return
+ None. Otherwise, an ImportError is raise. Default: False.
+
+ Returns:
+ list[module] | module | None: The imported modules.
+
+ Examples:
+ >>> osp, sys = import_modules_from_strings(
+ ... ['os.path', 'sys'])
+ >>> import os.path as osp_
+ >>> import sys as sys_
+ >>> assert osp == osp_
+ >>> assert sys == sys_
+ """
+ if not imports:
+ return
+ single_import = False
+ if isinstance(imports, str):
+ single_import = True
+ imports = [imports]
+ if not isinstance(imports, list):
+ raise TypeError(
+ f'custom_imports must be a list but got type {type(imports)}')
+ imported = []
+ for imp in imports:
+ if not isinstance(imp, str):
+ raise TypeError(
+ f'{imp} is of type {type(imp)} and cannot be imported.')
+ try:
+ imported_tmp = import_module(imp)
+ except ImportError:
+ if allow_failed_imports:
+ warnings.warn(f'{imp} failed to import and is ignored.',
+ UserWarning)
+ imported_tmp = None
+ else:
+ raise ImportError
+ imported.append(imported_tmp)
+ if single_import:
+ imported = imported[0]
+ return imported
+
+
+def iter_cast(inputs, dst_type, return_type=None):
+ """Cast elements of an iterable object into some type.
+
+ Args:
+ inputs (Iterable): The input object.
+ dst_type (type): Destination type.
+ return_type (type, optional): If specified, the output object will be
+ converted to this type, otherwise an iterator.
+
+ Returns:
+ iterator or specified type: The converted object.
+ """
+ if not isinstance(inputs, abc.Iterable):
+ raise TypeError('inputs must be an iterable object')
+ if not isinstance(dst_type, type):
+ raise TypeError('"dst_type" must be a valid type')
+
+ out_iterable = map(dst_type, inputs)
+
+ if return_type is None:
+ return out_iterable
+ else:
+ return return_type(out_iterable)
+
+
+def list_cast(inputs, dst_type):
+ """Cast elements of an iterable object into a list of some type.
+
+ A partial method of :func:`iter_cast`.
+ """
+ return iter_cast(inputs, dst_type, return_type=list)
+
+
+def tuple_cast(inputs, dst_type):
+ """Cast elements of an iterable object into a tuple of some type.
+
+ A partial method of :func:`iter_cast`.
+ """
+ return iter_cast(inputs, dst_type, return_type=tuple)
+
+
+def is_seq_of(seq, expected_type, seq_type=None):
+ """Check whether it is a sequence of some type.
+
+ Args:
+ seq (Sequence): The sequence to be checked.
+ expected_type (type): Expected type of sequence items.
+ seq_type (type, optional): Expected sequence type.
+
+ Returns:
+ bool: Whether the sequence is valid.
+ """
+ if seq_type is None:
+ exp_seq_type = abc.Sequence
+ else:
+ assert isinstance(seq_type, type)
+ exp_seq_type = seq_type
+ if not isinstance(seq, exp_seq_type):
+ return False
+ for item in seq:
+ if not isinstance(item, expected_type):
+ return False
+ return True
+
+
+def is_list_of(seq, expected_type):
+ """Check whether it is a list of some type.
+
+ A partial method of :func:`is_seq_of`.
+ """
+ return is_seq_of(seq, expected_type, seq_type=list)
+
+
+def is_tuple_of(seq, expected_type):
+ """Check whether it is a tuple of some type.
+
+ A partial method of :func:`is_seq_of`.
+ """
+ return is_seq_of(seq, expected_type, seq_type=tuple)
+
+
+def slice_list(in_list, lens):
+ """Slice a list into several sub lists by a list of given length.
+
+ Args:
+ in_list (list): The list to be sliced.
+ lens(int or list): The expected length of each out list.
+
+ Returns:
+ list: A list of sliced list.
+ """
+ if isinstance(lens, int):
+ assert len(in_list) % lens == 0
+ lens = [lens] * int(len(in_list) / lens)
+ if not isinstance(lens, list):
+ raise TypeError('"indices" must be an integer or a list of integers')
+ elif sum(lens) != len(in_list):
+ raise ValueError('sum of lens and list length does not '
+ f'match: {sum(lens)} != {len(in_list)}')
+ out_list = []
+ idx = 0
+ for i in range(len(lens)):
+ out_list.append(in_list[idx:idx + lens[i]])
+ idx += lens[i]
+ return out_list
+
+
+def concat_list(in_list):
+ """Concatenate a list of list into a single list.
+
+ Args:
+ in_list (list): The list of list to be merged.
+
+ Returns:
+ list: The concatenated flat list.
+ """
+ return list(itertools.chain(*in_list))
+
+
+def check_prerequisites(
+ prerequisites,
+ checker,
+ msg_tmpl='Prerequisites "{}" are required in method "{}" but not '
+ 'found, please install them first.'): # yapf: disable
+ """A decorator factory to check if prerequisites are satisfied.
+
+ Args:
+ prerequisites (str of list[str]): Prerequisites to be checked.
+ checker (callable): The checker method that returns True if a
+ prerequisite is meet, False otherwise.
+ msg_tmpl (str): The message template with two variables.
+
+ Returns:
+ decorator: A specific decorator.
+ """
+
+ def wrap(func):
+
+ @functools.wraps(func)
+ def wrapped_func(*args, **kwargs):
+ requirements = [prerequisites] if isinstance(
+ prerequisites, str) else prerequisites
+ missing = []
+ for item in requirements:
+ if not checker(item):
+ missing.append(item)
+ if missing:
+ print(msg_tmpl.format(', '.join(missing), func.__name__))
+ raise RuntimeError('Prerequisites not meet.')
+ else:
+ return func(*args, **kwargs)
+
+ return wrapped_func
+
+ return wrap
+
+
+def _check_py_package(package):
+ try:
+ import_module(package)
+ except ImportError:
+ return False
+ else:
+ return True
+
+
+def _check_executable(cmd):
+ if subprocess.call(f'which {cmd}', shell=True) != 0:
+ return False
+ else:
+ return True
+
+
+def requires_package(prerequisites):
+ """A decorator to check if some python packages are installed.
+
+ Example:
+ >>> @requires_package('numpy')
+ >>> func(arg1, args):
+ >>> return numpy.zeros(1)
+ array([0.])
+ >>> @requires_package(['numpy', 'non_package'])
+ >>> func(arg1, args):
+ >>> return numpy.zeros(1)
+ ImportError
+ """
+ return check_prerequisites(prerequisites, checker=_check_py_package)
+
+
+def requires_executable(prerequisites):
+ """A decorator to check if some executable files are installed.
+
+ Example:
+ >>> @requires_executable('ffmpeg')
+ >>> func(arg1, args):
+ >>> print(1)
+ 1
+ """
+ return check_prerequisites(prerequisites, checker=_check_executable)
+
+
+def deprecated_api_warning(name_dict, cls_name=None):
+ """A decorator to check if some arguments are deprecate and try to replace
+ deprecate src_arg_name to dst_arg_name.
+
+ Args:
+ name_dict(dict):
+ key (str): Deprecate argument names.
+ val (str): Expected argument names.
+
+ Returns:
+ func: New function.
+ """
+
+ def api_warning_wrapper(old_func):
+
+ @functools.wraps(old_func)
+ def new_func(*args, **kwargs):
+ # get the arg spec of the decorated method
+ args_info = getfullargspec(old_func)
+ # get name of the function
+ func_name = old_func.__name__
+ if cls_name is not None:
+ func_name = f'{cls_name}.{func_name}'
+ if args:
+ arg_names = args_info.args[:len(args)]
+ for src_arg_name, dst_arg_name in name_dict.items():
+ if src_arg_name in arg_names:
+ warnings.warn(
+ f'"{src_arg_name}" is deprecated in '
+ f'`{func_name}`, please use "{dst_arg_name}" '
+ 'instead')
+ arg_names[arg_names.index(src_arg_name)] = dst_arg_name
+ if kwargs:
+ for src_arg_name, dst_arg_name in name_dict.items():
+ if src_arg_name in kwargs:
+
+ assert dst_arg_name not in kwargs, (
+ f'The expected behavior is to replace '
+ f'the deprecated key `{src_arg_name}` to '
+ f'new key `{dst_arg_name}`, but got them '
+ f'in the arguments at the same time, which '
+ f'is confusing. `{src_arg_name} will be '
+ f'deprecated in the future, please '
+ f'use `{dst_arg_name}` instead.')
+
+ warnings.warn(
+ f'"{src_arg_name}" is deprecated in '
+ f'`{func_name}`, please use "{dst_arg_name}" '
+ 'instead')
+ kwargs[dst_arg_name] = kwargs.pop(src_arg_name)
+
+ # apply converted arguments to the decorated method
+ output = old_func(*args, **kwargs)
+ return output
+
+ return new_func
+
+ return api_warning_wrapper
+
+
+def is_method_overridden(method, base_class, derived_class):
+ """Check if a method of base class is overridden in derived class.
+
+ Args:
+ method (str): the method name to check.
+ base_class (type): the class of the base class.
+ derived_class (type | Any): the class or instance of the derived class.
+ """
+ assert isinstance(base_class, type), \
+ "base_class doesn't accept instance, Please pass class instead."
+
+ if not isinstance(derived_class, type):
+ derived_class = derived_class.__class__
+
+ base_method = getattr(base_class, method)
+ derived_method = getattr(derived_class, method)
+ return derived_method != base_method
+
+
+def has_method(obj: object, method: str) -> bool:
+ """Check whether the object has a method.
+
+ Args:
+ method (str): The method name to check.
+ obj (object): The object to check.
+
+ Returns:
+ bool: True if the object has the method else False.
+ """
+ return hasattr(obj, method) and callable(getattr(obj, method))
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/utils/parrots_jit.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/utils/parrots_jit.py
new file mode 100644
index 0000000000000000000000000000000000000000..61873f6dbb9b10ed972c90aa8faa321e3cb3249e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/utils/parrots_jit.py
@@ -0,0 +1,41 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import os
+
+from .parrots_wrapper import TORCH_VERSION
+
+parrots_jit_option = os.getenv('PARROTS_JIT_OPTION')
+
+if TORCH_VERSION == 'parrots' and parrots_jit_option == 'ON':
+ from parrots.jit import pat as jit
+else:
+
+ def jit(func=None,
+ check_input=None,
+ full_shape=True,
+ derivate=False,
+ coderize=False,
+ optimize=False):
+
+ def wrapper(func):
+
+ def wrapper_inner(*args, **kargs):
+ return func(*args, **kargs)
+
+ return wrapper_inner
+
+ if func is None:
+ return wrapper
+ else:
+ return func
+
+
+if TORCH_VERSION == 'parrots':
+ from parrots.utils.tester import skip_no_elena
+else:
+
+ def skip_no_elena(func):
+
+ def wrapper(*args, **kargs):
+ return func(*args, **kargs)
+
+ return wrapper
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/utils/parrots_wrapper.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/utils/parrots_wrapper.py
new file mode 100644
index 0000000000000000000000000000000000000000..93c97640d4b9ed088ca82cfe03e6efebfcfa9dbf
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/utils/parrots_wrapper.py
@@ -0,0 +1,107 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from functools import partial
+
+import torch
+
+TORCH_VERSION = torch.__version__
+
+
+def is_rocm_pytorch() -> bool:
+ is_rocm = False
+ if TORCH_VERSION != 'parrots':
+ try:
+ from torch.utils.cpp_extension import ROCM_HOME
+ is_rocm = True if ((torch.version.hip is not None) and
+ (ROCM_HOME is not None)) else False
+ except ImportError:
+ pass
+ return is_rocm
+
+
+def _get_cuda_home():
+ if TORCH_VERSION == 'parrots':
+ from parrots.utils.build_extension import CUDA_HOME
+ else:
+ if is_rocm_pytorch():
+ from torch.utils.cpp_extension import ROCM_HOME
+ CUDA_HOME = ROCM_HOME
+ else:
+ from torch.utils.cpp_extension import CUDA_HOME
+ return CUDA_HOME
+
+
+def get_build_config():
+ if TORCH_VERSION == 'parrots':
+ from parrots.config import get_build_info
+ return get_build_info()
+ else:
+ return torch.__config__.show()
+
+
+def _get_conv():
+ if TORCH_VERSION == 'parrots':
+ from parrots.nn.modules.conv import _ConvNd, _ConvTransposeMixin
+ else:
+ from torch.nn.modules.conv import _ConvNd, _ConvTransposeMixin
+ return _ConvNd, _ConvTransposeMixin
+
+
+def _get_dataloader():
+ if TORCH_VERSION == 'parrots':
+ from torch.utils.data import DataLoader, PoolDataLoader
+ else:
+ from torch.utils.data import DataLoader
+ PoolDataLoader = DataLoader
+ return DataLoader, PoolDataLoader
+
+
+def _get_extension():
+ if TORCH_VERSION == 'parrots':
+ from parrots.utils.build_extension import BuildExtension, Extension
+ CppExtension = partial(Extension, cuda=False)
+ CUDAExtension = partial(Extension, cuda=True)
+ else:
+ from torch.utils.cpp_extension import (BuildExtension, CppExtension,
+ CUDAExtension)
+ return BuildExtension, CppExtension, CUDAExtension
+
+
+def _get_pool():
+ if TORCH_VERSION == 'parrots':
+ from parrots.nn.modules.pool import (_AdaptiveAvgPoolNd,
+ _AdaptiveMaxPoolNd, _AvgPoolNd,
+ _MaxPoolNd)
+ else:
+ from torch.nn.modules.pooling import (_AdaptiveAvgPoolNd,
+ _AdaptiveMaxPoolNd, _AvgPoolNd,
+ _MaxPoolNd)
+ return _AdaptiveAvgPoolNd, _AdaptiveMaxPoolNd, _AvgPoolNd, _MaxPoolNd
+
+
+def _get_norm():
+ if TORCH_VERSION == 'parrots':
+ from parrots.nn.modules.batchnorm import _BatchNorm, _InstanceNorm
+ SyncBatchNorm_ = torch.nn.SyncBatchNorm2d
+ else:
+ from torch.nn.modules.instancenorm import _InstanceNorm
+ from torch.nn.modules.batchnorm import _BatchNorm
+ SyncBatchNorm_ = torch.nn.SyncBatchNorm
+ return _BatchNorm, _InstanceNorm, SyncBatchNorm_
+
+
+_ConvNd, _ConvTransposeMixin = _get_conv()
+DataLoader, PoolDataLoader = _get_dataloader()
+BuildExtension, CppExtension, CUDAExtension = _get_extension()
+_BatchNorm, _InstanceNorm, SyncBatchNorm_ = _get_norm()
+_AdaptiveAvgPoolNd, _AdaptiveMaxPoolNd, _AvgPoolNd, _MaxPoolNd = _get_pool()
+
+
+class SyncBatchNorm(SyncBatchNorm_):
+
+ def _check_input_dim(self, input):
+ if TORCH_VERSION == 'parrots':
+ if input.dim() < 2:
+ raise ValueError(
+ f'expected at least 2D input (got {input.dim()}D input)')
+ else:
+ super()._check_input_dim(input)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/utils/path.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/utils/path.py
new file mode 100644
index 0000000000000000000000000000000000000000..7dab4b3041413b1432b0f434b8b14783097d33c6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/utils/path.py
@@ -0,0 +1,101 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import os
+import os.path as osp
+from pathlib import Path
+
+from .misc import is_str
+
+
+def is_filepath(x):
+ return is_str(x) or isinstance(x, Path)
+
+
+def fopen(filepath, *args, **kwargs):
+ if is_str(filepath):
+ return open(filepath, *args, **kwargs)
+ elif isinstance(filepath, Path):
+ return filepath.open(*args, **kwargs)
+ raise ValueError('`filepath` should be a string or a Path')
+
+
+def check_file_exist(filename, msg_tmpl='file "{}" does not exist'):
+ if not osp.isfile(filename):
+ raise FileNotFoundError(msg_tmpl.format(filename))
+
+
+def mkdir_or_exist(dir_name, mode=0o777):
+ if dir_name == '':
+ return
+ dir_name = osp.expanduser(dir_name)
+ os.makedirs(dir_name, mode=mode, exist_ok=True)
+
+
+def symlink(src, dst, overwrite=True, **kwargs):
+ if os.path.lexists(dst) and overwrite:
+ os.remove(dst)
+ os.symlink(src, dst, **kwargs)
+
+
+def scandir(dir_path, suffix=None, recursive=False, case_sensitive=True):
+ """Scan a directory to find the interested files.
+
+ Args:
+ dir_path (str | obj:`Path`): Path of the directory.
+ suffix (str | tuple(str), optional): File suffix that we are
+ interested in. Default: None.
+ recursive (bool, optional): If set to True, recursively scan the
+ directory. Default: False.
+ case_sensitive (bool, optional) : If set to False, ignore the case of
+ suffix. Default: True.
+
+ Returns:
+ A generator for all the interested files with relative paths.
+ """
+ if isinstance(dir_path, (str, Path)):
+ dir_path = str(dir_path)
+ else:
+ raise TypeError('"dir_path" must be a string or Path object')
+
+ if (suffix is not None) and not isinstance(suffix, (str, tuple)):
+ raise TypeError('"suffix" must be a string or tuple of strings')
+
+ if suffix is not None and not case_sensitive:
+ suffix = suffix.lower() if isinstance(suffix, str) else tuple(
+ item.lower() for item in suffix)
+
+ root = dir_path
+
+ def _scandir(dir_path, suffix, recursive, case_sensitive):
+ for entry in os.scandir(dir_path):
+ if not entry.name.startswith('.') and entry.is_file():
+ rel_path = osp.relpath(entry.path, root)
+ _rel_path = rel_path if case_sensitive else rel_path.lower()
+ if suffix is None or _rel_path.endswith(suffix):
+ yield rel_path
+ elif recursive and os.path.isdir(entry.path):
+ # scan recursively if entry.path is a directory
+ yield from _scandir(entry.path, suffix, recursive,
+ case_sensitive)
+
+ return _scandir(dir_path, suffix, recursive, case_sensitive)
+
+
+def find_vcs_root(path, markers=('.git', )):
+ """Finds the root directory (including itself) of specified markers.
+
+ Args:
+ path (str): Path of directory or file.
+ markers (list[str], optional): List of file or directory names.
+
+ Returns:
+ The directory contained one of the markers or None if not found.
+ """
+ if osp.isfile(path):
+ path = osp.dirname(path)
+
+ prev, cur = None, osp.abspath(osp.expanduser(path))
+ while cur != prev:
+ if any(osp.exists(osp.join(cur, marker)) for marker in markers):
+ return cur
+ prev, cur = cur, osp.split(cur)[0]
+ return None
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/utils/progressbar.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/utils/progressbar.py
new file mode 100644
index 0000000000000000000000000000000000000000..0062f670dd94fa9da559ab26ef85517dcf5211c7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/utils/progressbar.py
@@ -0,0 +1,208 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import sys
+from collections.abc import Iterable
+from multiprocessing import Pool
+from shutil import get_terminal_size
+
+from .timer import Timer
+
+
+class ProgressBar:
+ """A progress bar which can print the progress."""
+
+ def __init__(self, task_num=0, bar_width=50, start=True, file=sys.stdout):
+ self.task_num = task_num
+ self.bar_width = bar_width
+ self.completed = 0
+ self.file = file
+ if start:
+ self.start()
+
+ @property
+ def terminal_width(self):
+ width, _ = get_terminal_size()
+ return width
+
+ def start(self):
+ if self.task_num > 0:
+ self.file.write(f'[{" " * self.bar_width}] 0/{self.task_num}, '
+ 'elapsed: 0s, ETA:')
+ else:
+ self.file.write('completed: 0, elapsed: 0s')
+ self.file.flush()
+ self.timer = Timer()
+
+ def update(self, num_tasks=1):
+ assert num_tasks > 0
+ self.completed += num_tasks
+ elapsed = self.timer.since_start()
+ if elapsed > 0:
+ fps = self.completed / elapsed
+ else:
+ fps = float('inf')
+ if self.task_num > 0:
+ percentage = self.completed / float(self.task_num)
+ eta = int(elapsed * (1 - percentage) / percentage + 0.5)
+ msg = f'\r[{{}}] {self.completed}/{self.task_num}, ' \
+ f'{fps:.1f} task/s, elapsed: {int(elapsed + 0.5)}s, ' \
+ f'ETA: {eta:5}s'
+
+ bar_width = min(self.bar_width,
+ int(self.terminal_width - len(msg)) + 2,
+ int(self.terminal_width * 0.6))
+ bar_width = max(2, bar_width)
+ mark_width = int(bar_width * percentage)
+ bar_chars = '>' * mark_width + ' ' * (bar_width - mark_width)
+ self.file.write(msg.format(bar_chars))
+ else:
+ self.file.write(
+ f'completed: {self.completed}, elapsed: {int(elapsed + 0.5)}s,'
+ f' {fps:.1f} tasks/s')
+ self.file.flush()
+
+
+def track_progress(func, tasks, bar_width=50, file=sys.stdout, **kwargs):
+ """Track the progress of tasks execution with a progress bar.
+
+ Tasks are done with a simple for-loop.
+
+ Args:
+ func (callable): The function to be applied to each task.
+ tasks (list or tuple[Iterable, int]): A list of tasks or
+ (tasks, total num).
+ bar_width (int): Width of progress bar.
+
+ Returns:
+ list: The task results.
+ """
+ if isinstance(tasks, tuple):
+ assert len(tasks) == 2
+ assert isinstance(tasks[0], Iterable)
+ assert isinstance(tasks[1], int)
+ task_num = tasks[1]
+ tasks = tasks[0]
+ elif isinstance(tasks, Iterable):
+ task_num = len(tasks)
+ else:
+ raise TypeError(
+ '"tasks" must be an iterable object or a (iterator, int) tuple')
+ prog_bar = ProgressBar(task_num, bar_width, file=file)
+ results = []
+ for task in tasks:
+ results.append(func(task, **kwargs))
+ prog_bar.update()
+ prog_bar.file.write('\n')
+ return results
+
+
+def init_pool(process_num, initializer=None, initargs=None):
+ if initializer is None:
+ return Pool(process_num)
+ elif initargs is None:
+ return Pool(process_num, initializer)
+ else:
+ if not isinstance(initargs, tuple):
+ raise TypeError('"initargs" must be a tuple')
+ return Pool(process_num, initializer, initargs)
+
+
+def track_parallel_progress(func,
+ tasks,
+ nproc,
+ initializer=None,
+ initargs=None,
+ bar_width=50,
+ chunksize=1,
+ skip_first=False,
+ keep_order=True,
+ file=sys.stdout):
+ """Track the progress of parallel task execution with a progress bar.
+
+ The built-in :mod:`multiprocessing` module is used for process pools and
+ tasks are done with :func:`Pool.map` or :func:`Pool.imap_unordered`.
+
+ Args:
+ func (callable): The function to be applied to each task.
+ tasks (list or tuple[Iterable, int]): A list of tasks or
+ (tasks, total num).
+ nproc (int): Process (worker) number.
+ initializer (None or callable): Refer to :class:`multiprocessing.Pool`
+ for details.
+ initargs (None or tuple): Refer to :class:`multiprocessing.Pool` for
+ details.
+ chunksize (int): Refer to :class:`multiprocessing.Pool` for details.
+ bar_width (int): Width of progress bar.
+ skip_first (bool): Whether to skip the first sample for each worker
+ when estimating fps, since the initialization step may takes
+ longer.
+ keep_order (bool): If True, :func:`Pool.imap` is used, otherwise
+ :func:`Pool.imap_unordered` is used.
+
+ Returns:
+ list: The task results.
+ """
+ if isinstance(tasks, tuple):
+ assert len(tasks) == 2
+ assert isinstance(tasks[0], Iterable)
+ assert isinstance(tasks[1], int)
+ task_num = tasks[1]
+ tasks = tasks[0]
+ elif isinstance(tasks, Iterable):
+ task_num = len(tasks)
+ else:
+ raise TypeError(
+ '"tasks" must be an iterable object or a (iterator, int) tuple')
+ pool = init_pool(nproc, initializer, initargs)
+ start = not skip_first
+ task_num -= nproc * chunksize * int(skip_first)
+ prog_bar = ProgressBar(task_num, bar_width, start, file=file)
+ results = []
+ if keep_order:
+ gen = pool.imap(func, tasks, chunksize)
+ else:
+ gen = pool.imap_unordered(func, tasks, chunksize)
+ for result in gen:
+ results.append(result)
+ if skip_first:
+ if len(results) < nproc * chunksize:
+ continue
+ elif len(results) == nproc * chunksize:
+ prog_bar.start()
+ continue
+ prog_bar.update()
+ prog_bar.file.write('\n')
+ pool.close()
+ pool.join()
+ return results
+
+
+def track_iter_progress(tasks, bar_width=50, file=sys.stdout):
+ """Track the progress of tasks iteration or enumeration with a progress
+ bar.
+
+ Tasks are yielded with a simple for-loop.
+
+ Args:
+ tasks (list or tuple[Iterable, int]): A list of tasks or
+ (tasks, total num).
+ bar_width (int): Width of progress bar.
+
+ Yields:
+ list: The task results.
+ """
+ if isinstance(tasks, tuple):
+ assert len(tasks) == 2
+ assert isinstance(tasks[0], Iterable)
+ assert isinstance(tasks[1], int)
+ task_num = tasks[1]
+ tasks = tasks[0]
+ elif isinstance(tasks, Iterable):
+ task_num = len(tasks)
+ else:
+ raise TypeError(
+ '"tasks" must be an iterable object or a (iterator, int) tuple')
+ prog_bar = ProgressBar(task_num, bar_width, file=file)
+ for task in tasks:
+ yield task
+ prog_bar.update()
+ prog_bar.file.write('\n')
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/utils/registry.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/utils/registry.py
new file mode 100644
index 0000000000000000000000000000000000000000..fa9df39bc9f3d8d568361e7250ab35468f2b74e0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/utils/registry.py
@@ -0,0 +1,315 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import inspect
+import warnings
+from functools import partial
+
+from .misc import is_seq_of
+
+
+def build_from_cfg(cfg, registry, default_args=None):
+ """Build a module from config dict.
+
+ Args:
+ cfg (dict): Config dict. It should at least contain the key "type".
+ registry (:obj:`Registry`): The registry to search the type from.
+ default_args (dict, optional): Default initialization arguments.
+
+ Returns:
+ object: The constructed object.
+ """
+ if not isinstance(cfg, dict):
+ raise TypeError(f'cfg must be a dict, but got {type(cfg)}')
+ if 'type' not in cfg:
+ if default_args is None or 'type' not in default_args:
+ raise KeyError(
+ '`cfg` or `default_args` must contain the key "type", '
+ f'but got {cfg}\n{default_args}')
+ if not isinstance(registry, Registry):
+ raise TypeError('registry must be an mmcv.Registry object, '
+ f'but got {type(registry)}')
+ if not (isinstance(default_args, dict) or default_args is None):
+ raise TypeError('default_args must be a dict or None, '
+ f'but got {type(default_args)}')
+
+ args = cfg.copy()
+
+ if default_args is not None:
+ for name, value in default_args.items():
+ args.setdefault(name, value)
+
+ obj_type = args.pop('type')
+ if isinstance(obj_type, str):
+ obj_cls = registry.get(obj_type)
+ if obj_cls is None:
+ raise KeyError(
+ f'{obj_type} is not in the {registry.name} registry')
+ elif inspect.isclass(obj_type):
+ obj_cls = obj_type
+ else:
+ raise TypeError(
+ f'type must be a str or valid type, but got {type(obj_type)}')
+ try:
+ return obj_cls(**args)
+ except Exception as e:
+ # Normal TypeError does not print class name.
+ raise type(e)(f'{obj_cls.__name__}: {e}')
+
+
+class Registry:
+ """A registry to map strings to classes.
+
+ Registered object could be built from registry.
+ Example:
+ >>> MODELS = Registry('models')
+ >>> @MODELS.register_module()
+ >>> class ResNet:
+ >>> pass
+ >>> resnet = MODELS.build(dict(type='ResNet'))
+
+ Please refer to
+ https://mmcv.readthedocs.io/en/latest/understand_mmcv/registry.html for
+ advanced usage.
+
+ Args:
+ name (str): Registry name.
+ build_func(func, optional): Build function to construct instance from
+ Registry, func:`build_from_cfg` is used if neither ``parent`` or
+ ``build_func`` is specified. If ``parent`` is specified and
+ ``build_func`` is not given, ``build_func`` will be inherited
+ from ``parent``. Default: None.
+ parent (Registry, optional): Parent registry. The class registered in
+ children registry could be built from parent. Default: None.
+ scope (str, optional): The scope of registry. It is the key to search
+ for children registry. If not specified, scope will be the name of
+ the package where class is defined, e.g. mmdet, mmcls, mmseg.
+ Default: None.
+ """
+
+ def __init__(self, name, build_func=None, parent=None, scope=None):
+ self._name = name
+ self._module_dict = dict()
+ self._children = dict()
+ self._scope = self.infer_scope() if scope is None else scope
+
+ # self.build_func will be set with the following priority:
+ # 1. build_func
+ # 2. parent.build_func
+ # 3. build_from_cfg
+ if build_func is None:
+ if parent is not None:
+ self.build_func = parent.build_func
+ else:
+ self.build_func = build_from_cfg
+ else:
+ self.build_func = build_func
+ if parent is not None:
+ assert isinstance(parent, Registry)
+ parent._add_children(self)
+ self.parent = parent
+ else:
+ self.parent = None
+
+ def __len__(self):
+ return len(self._module_dict)
+
+ def __contains__(self, key):
+ return self.get(key) is not None
+
+ def __repr__(self):
+ format_str = self.__class__.__name__ + \
+ f'(name={self._name}, ' \
+ f'items={self._module_dict})'
+ return format_str
+
+ @staticmethod
+ def infer_scope():
+ """Infer the scope of registry.
+
+ The name of the package where registry is defined will be returned.
+
+ Example:
+ # in mmdet/models/backbone/resnet.py
+ >>> MODELS = Registry('models')
+ >>> @MODELS.register_module()
+ >>> class ResNet:
+ >>> pass
+ The scope of ``ResNet`` will be ``mmdet``.
+
+
+ Returns:
+ scope (str): The inferred scope name.
+ """
+ # inspect.stack() trace where this function is called, the index-2
+ # indicates the frame where `infer_scope()` is called
+ filename = inspect.getmodule(inspect.stack()[2][0]).__name__
+ split_filename = filename.split('.')
+ return split_filename[0]
+
+ @staticmethod
+ def split_scope_key(key):
+ """Split scope and key.
+
+ The first scope will be split from key.
+
+ Examples:
+ >>> Registry.split_scope_key('mmdet.ResNet')
+ 'mmdet', 'ResNet'
+ >>> Registry.split_scope_key('ResNet')
+ None, 'ResNet'
+
+ Return:
+ scope (str, None): The first scope.
+ key (str): The remaining key.
+ """
+ split_index = key.find('.')
+ if split_index != -1:
+ return key[:split_index], key[split_index + 1:]
+ else:
+ return None, key
+
+ @property
+ def name(self):
+ return self._name
+
+ @property
+ def scope(self):
+ return self._scope
+
+ @property
+ def module_dict(self):
+ return self._module_dict
+
+ @property
+ def children(self):
+ return self._children
+
+ def get(self, key):
+ """Get the registry record.
+
+ Args:
+ key (str): The class name in string format.
+
+ Returns:
+ class: The corresponding class.
+ """
+ scope, real_key = self.split_scope_key(key)
+ if scope is None or scope == self._scope:
+ # get from self
+ if real_key in self._module_dict:
+ return self._module_dict[real_key]
+ else:
+ # get from self._children
+ if scope in self._children:
+ return self._children[scope].get(real_key)
+ else:
+ # goto root
+ parent = self.parent
+ while parent.parent is not None:
+ parent = parent.parent
+ return parent.get(key)
+
+ def build(self, *args, **kwargs):
+ return self.build_func(*args, **kwargs, registry=self)
+
+ def _add_children(self, registry):
+ """Add children for a registry.
+
+ The ``registry`` will be added as children based on its scope.
+ The parent registry could build objects from children registry.
+
+ Example:
+ >>> models = Registry('models')
+ >>> mmdet_models = Registry('models', parent=models)
+ >>> @mmdet_models.register_module()
+ >>> class ResNet:
+ >>> pass
+ >>> resnet = models.build(dict(type='mmdet.ResNet'))
+ """
+
+ assert isinstance(registry, Registry)
+ assert registry.scope is not None
+ assert registry.scope not in self.children, \
+ f'scope {registry.scope} exists in {self.name} registry'
+ self.children[registry.scope] = registry
+
+ def _register_module(self, module_class, module_name=None, force=False):
+ if not inspect.isclass(module_class):
+ raise TypeError('module must be a class, '
+ f'but got {type(module_class)}')
+
+ if module_name is None:
+ module_name = module_class.__name__
+ if isinstance(module_name, str):
+ module_name = [module_name]
+ for name in module_name:
+ if not force and name in self._module_dict:
+ raise KeyError(f'{name} is already registered '
+ f'in {self.name}')
+ self._module_dict[name] = module_class
+
+ def deprecated_register_module(self, cls=None, force=False):
+ warnings.warn(
+ 'The old API of register_module(module, force=False) '
+ 'is deprecated and will be removed, please use the new API '
+ 'register_module(name=None, force=False, module=None) instead.')
+ if cls is None:
+ return partial(self.deprecated_register_module, force=force)
+ self._register_module(cls, force=force)
+ return cls
+
+ def register_module(self, name=None, force=False, module=None):
+ """Register a module.
+
+ A record will be added to `self._module_dict`, whose key is the class
+ name or the specified name, and value is the class itself.
+ It can be used as a decorator or a normal function.
+
+ Example:
+ >>> backbones = Registry('backbone')
+ >>> @backbones.register_module()
+ >>> class ResNet:
+ >>> pass
+
+ >>> backbones = Registry('backbone')
+ >>> @backbones.register_module(name='mnet')
+ >>> class MobileNet:
+ >>> pass
+
+ >>> backbones = Registry('backbone')
+ >>> class ResNet:
+ >>> pass
+ >>> backbones.register_module(ResNet)
+
+ Args:
+ name (str | None): The module name to be registered. If not
+ specified, the class name will be used.
+ force (bool, optional): Whether to override an existing class with
+ the same name. Default: False.
+ module (type): Module class to be registered.
+ """
+ if not isinstance(force, bool):
+ raise TypeError(f'force must be a boolean, but got {type(force)}')
+ # NOTE: This is a walkaround to be compatible with the old api,
+ # while it may introduce unexpected bugs.
+ if isinstance(name, type):
+ return self.deprecated_register_module(name, force=force)
+
+ # raise the error ahead of time
+ if not (name is None or isinstance(name, str) or is_seq_of(name, str)):
+ raise TypeError(
+ 'name must be either of None, an instance of str or a sequence'
+ f' of str, but got {type(name)}')
+
+ # use it as a normal method: x.register_module(module=SomeClass)
+ if module is not None:
+ self._register_module(
+ module_class=module, module_name=name, force=force)
+ return module
+
+ # use it as a decorator: @x.register_module()
+ def _register(cls):
+ self._register_module(
+ module_class=cls, module_name=name, force=force)
+ return cls
+
+ return _register
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/utils/testing.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/utils/testing.py
new file mode 100644
index 0000000000000000000000000000000000000000..a27f936da8ec14bac18562ede0a79d476d82f797
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/utils/testing.py
@@ -0,0 +1,140 @@
+# Copyright (c) Open-MMLab.
+import sys
+from collections.abc import Iterable
+from runpy import run_path
+from shlex import split
+from typing import Any, Dict, List
+from unittest.mock import patch
+
+
+def check_python_script(cmd):
+ """Run the python cmd script with `__main__`. The difference between
+ `os.system` is that, this function exectues code in the current process, so
+ that it can be tracked by coverage tools. Currently it supports two forms:
+
+ - ./tests/data/scripts/hello.py zz
+ - python tests/data/scripts/hello.py zz
+ """
+ args = split(cmd)
+ if args[0] == 'python':
+ args = args[1:]
+ with patch.object(sys, 'argv', args):
+ run_path(args[0], run_name='__main__')
+
+
+def _any(judge_result):
+ """Since built-in ``any`` works only when the element of iterable is not
+ iterable, implement the function."""
+ if not isinstance(judge_result, Iterable):
+ return judge_result
+
+ try:
+ for element in judge_result:
+ if _any(element):
+ return True
+ except TypeError:
+ # Maybe encounter the case: torch.tensor(True) | torch.tensor(False)
+ if judge_result:
+ return True
+ return False
+
+
+def assert_dict_contains_subset(dict_obj: Dict[Any, Any],
+ expected_subset: Dict[Any, Any]) -> bool:
+ """Check if the dict_obj contains the expected_subset.
+
+ Args:
+ dict_obj (Dict[Any, Any]): Dict object to be checked.
+ expected_subset (Dict[Any, Any]): Subset expected to be contained in
+ dict_obj.
+
+ Returns:
+ bool: Whether the dict_obj contains the expected_subset.
+ """
+
+ for key, value in expected_subset.items():
+ if key not in dict_obj.keys() or _any(dict_obj[key] != value):
+ return False
+ return True
+
+
+def assert_attrs_equal(obj: Any, expected_attrs: Dict[str, Any]) -> bool:
+ """Check if attribute of class object is correct.
+
+ Args:
+ obj (object): Class object to be checked.
+ expected_attrs (Dict[str, Any]): Dict of the expected attrs.
+
+ Returns:
+ bool: Whether the attribute of class object is correct.
+ """
+ for attr, value in expected_attrs.items():
+ if not hasattr(obj, attr) or _any(getattr(obj, attr) != value):
+ return False
+ return True
+
+
+def assert_dict_has_keys(obj: Dict[str, Any],
+ expected_keys: List[str]) -> bool:
+ """Check if the obj has all the expected_keys.
+
+ Args:
+ obj (Dict[str, Any]): Object to be checked.
+ expected_keys (List[str]): Keys expected to contained in the keys of
+ the obj.
+
+ Returns:
+ bool: Whether the obj has the expected keys.
+ """
+ return set(expected_keys).issubset(set(obj.keys()))
+
+
+def assert_keys_equal(result_keys: List[str], target_keys: List[str]) -> bool:
+ """Check if target_keys is equal to result_keys.
+
+ Args:
+ result_keys (List[str]): Result keys to be checked.
+ target_keys (List[str]): Target keys to be checked.
+
+ Returns:
+ bool: Whether target_keys is equal to result_keys.
+ """
+ return set(result_keys) == set(target_keys)
+
+
+def assert_is_norm_layer(module) -> bool:
+ """Check if the module is a norm layer.
+
+ Args:
+ module (nn.Module): The module to be checked.
+
+ Returns:
+ bool: Whether the module is a norm layer.
+ """
+ from .parrots_wrapper import _BatchNorm, _InstanceNorm
+ from torch.nn import GroupNorm, LayerNorm
+ norm_layer_candidates = (_BatchNorm, _InstanceNorm, GroupNorm, LayerNorm)
+ return isinstance(module, norm_layer_candidates)
+
+
+def assert_params_all_zeros(module) -> bool:
+ """Check if the parameters of the module is all zeros.
+
+ Args:
+ module (nn.Module): The module to be checked.
+
+ Returns:
+ bool: Whether the parameters of the module is all zeros.
+ """
+ weight_data = module.weight.data
+ is_weight_zero = weight_data.allclose(
+ weight_data.new_zeros(weight_data.size()))
+
+ if hasattr(module, 'bias') and module.bias is not None:
+ bias_data = module.bias.data
+ is_bias_zero = bias_data.allclose(
+ bias_data.new_zeros(bias_data.size()))
+ else:
+ is_bias_zero = True
+
+ return is_weight_zero and is_bias_zero
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/utils/timer.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/utils/timer.py
new file mode 100644
index 0000000000000000000000000000000000000000..0435c1250ebb63e0d881d7022979a76b2dcc7298
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/utils/timer.py
@@ -0,0 +1,118 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from time import time
+
+
+class TimerError(Exception):
+
+ def __init__(self, message):
+ self.message = message
+ super(TimerError, self).__init__(message)
+
+
+class Timer:
+ """A flexible Timer class.
+
+ :Example:
+
+ >>> import time
+ >>> import annotator.mmpkg.mmcv as mmcv
+ >>> with mmcv.Timer():
+ >>> # simulate a code block that will run for 1s
+ >>> time.sleep(1)
+ 1.000
+ >>> with mmcv.Timer(print_tmpl='it takes {:.1f} seconds'):
+ >>> # simulate a code block that will run for 1s
+ >>> time.sleep(1)
+ it takes 1.0 seconds
+ >>> timer = mmcv.Timer()
+ >>> time.sleep(0.5)
+ >>> print(timer.since_start())
+ 0.500
+ >>> time.sleep(0.5)
+ >>> print(timer.since_last_check())
+ 0.500
+ >>> print(timer.since_start())
+ 1.000
+ """
+
+ def __init__(self, start=True, print_tmpl=None):
+ self._is_running = False
+ self.print_tmpl = print_tmpl if print_tmpl else '{:.3f}'
+ if start:
+ self.start()
+
+ @property
+ def is_running(self):
+ """bool: indicate whether the timer is running"""
+ return self._is_running
+
+ def __enter__(self):
+ self.start()
+ return self
+
+ def __exit__(self, type, value, traceback):
+ print(self.print_tmpl.format(self.since_last_check()))
+ self._is_running = False
+
+ def start(self):
+ """Start the timer."""
+ if not self._is_running:
+ self._t_start = time()
+ self._is_running = True
+ self._t_last = time()
+
+ def since_start(self):
+ """Total time since the timer is started.
+
+ Returns (float): Time in seconds.
+ """
+ if not self._is_running:
+ raise TimerError('timer is not running')
+ self._t_last = time()
+ return self._t_last - self._t_start
+
+ def since_last_check(self):
+ """Time since the last checking.
+
+ Either :func:`since_start` or :func:`since_last_check` is a checking
+ operation.
+
+ Returns (float): Time in seconds.
+ """
+ if not self._is_running:
+ raise TimerError('timer is not running')
+ dur = time() - self._t_last
+ self._t_last = time()
+ return dur
+
+
+_g_timers = {} # global timers
+
+
+def check_time(timer_id):
+ """Add check points in a single line.
+
+ This method is suitable for running a task on a list of items. A timer will
+ be registered when the method is called for the first time.
+
+ :Example:
+
+ >>> import time
+ >>> import annotator.mmpkg.mmcv as mmcv
+ >>> for i in range(1, 6):
+ >>> # simulate a code block
+ >>> time.sleep(i)
+ >>> mmcv.check_time('task1')
+ 2.000
+ 3.000
+ 4.000
+ 5.000
+
+ Args:
+ timer_id (str): Timer identifier.
+ """
+ if timer_id not in _g_timers:
+ _g_timers[timer_id] = Timer()
+ return 0
+ else:
+ return _g_timers[timer_id].since_last_check()
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/utils/trace.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/utils/trace.py
new file mode 100644
index 0000000000000000000000000000000000000000..51f6e3cab4ac7bbdf561583d7463a5f2897960e7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/utils/trace.py
@@ -0,0 +1,23 @@
+import warnings
+
+import torch
+
+from annotator.mmpkg.mmcv.utils import digit_version
+
+
+def is_jit_tracing() -> bool:
+ if (torch.__version__ != 'parrots'
+ and digit_version(torch.__version__) >= digit_version('1.6.0')):
+ on_trace = torch.jit.is_tracing()
+ # In PyTorch 1.6, torch.jit.is_tracing has a bug.
+ # Refers to https://github.com/pytorch/pytorch/issues/42448
+ if isinstance(on_trace, bool):
+ return on_trace
+ else:
+ return torch._C._is_tracing()
+ else:
+ warnings.warn(
+ 'torch.jit.is_tracing is only supported after v1.6.0. '
+ 'Therefore is_tracing returns False automatically. Please '
+ 'set on_trace manually if you are using trace.', UserWarning)
+ return False
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/utils/version_utils.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/utils/version_utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..963c45a2e8a86a88413ab6c18c22481fb9831985
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/utils/version_utils.py
@@ -0,0 +1,90 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import os
+import subprocess
+import warnings
+
+from packaging.version import parse
+
+
+def digit_version(version_str: str, length: int = 4):
+ """Convert a version string into a tuple of integers.
+
+ This method is usually used for comparing two versions. For pre-release
+ versions: alpha < beta < rc.
+
+ Args:
+ version_str (str): The version string.
+ length (int): The maximum number of version levels. Default: 4.
+
+ Returns:
+ tuple[int]: The version info in digits (integers).
+ """
+ assert 'parrots' not in version_str
+ version = parse(version_str)
+ assert version.release, f'failed to parse version {version_str}'
+ release = list(version.release)
+ release = release[:length]
+ if len(release) < length:
+ release = release + [0] * (length - len(release))
+ if version.is_prerelease:
+ mapping = {'a': -3, 'b': -2, 'rc': -1}
+ val = -4
+ # version.pre can be None
+ if version.pre:
+ if version.pre[0] not in mapping:
+ warnings.warn(f'unknown prerelease version {version.pre[0]}, '
+ 'version checking may go wrong')
+ else:
+ val = mapping[version.pre[0]]
+ release.extend([val, version.pre[-1]])
+ else:
+ release.extend([val, 0])
+
+ elif version.is_postrelease:
+ release.extend([1, version.post])
+ else:
+ release.extend([0, 0])
+ return tuple(release)
+
+
+def _minimal_ext_cmd(cmd):
+ # construct minimal environment
+ env = {}
+ for k in ['SYSTEMROOT', 'PATH', 'HOME']:
+ v = os.environ.get(k)
+ if v is not None:
+ env[k] = v
+ # LANGUAGE is used on win32
+ env['LANGUAGE'] = 'C'
+ env['LANG'] = 'C'
+ env['LC_ALL'] = 'C'
+ out = subprocess.Popen(
+ cmd, stdout=subprocess.PIPE, env=env).communicate()[0]
+ return out
+
+
+def get_git_hash(fallback='unknown', digits=None):
+ """Get the git hash of the current repo.
+
+ Args:
+ fallback (str, optional): The fallback string when git hash is
+ unavailable. Defaults to 'unknown'.
+ digits (int, optional): kept digits of the hash. Defaults to None,
+ meaning all digits are kept.
+
+ Returns:
+ str: Git commit hash.
+ """
+
+ if digits is not None and not isinstance(digits, int):
+ raise TypeError('digits must be None or an integer')
+
+ try:
+ out = _minimal_ext_cmd(['git', 'rev-parse', 'HEAD'])
+ sha = out.strip().decode('ascii')
+ if digits is not None:
+ sha = sha[:digits]
+ except OSError:
+ sha = fallback
+
+ return sha
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/version.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/version.py
new file mode 100644
index 0000000000000000000000000000000000000000..1cce4e50bd692d4002e3cac3c545a3fb2efe95d0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/version.py
@@ -0,0 +1,35 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+__version__ = '1.3.17'
+
+
+def parse_version_info(version_str: str, length: int = 4) -> tuple:
+ """Parse a version string into a tuple.
+
+ Args:
+ version_str (str): The version string.
+ length (int): The maximum number of version levels. Default: 4.
+
+ Returns:
+ tuple[int | str]: The version info, e.g., "1.3.0" is parsed into
+ (1, 3, 0, 0, 0, 0), and "2.0.0rc1" is parsed into
+ (2, 0, 0, 0, 'rc', 1) (when length is set to 4).
+ """
+ from packaging.version import parse
+ version = parse(version_str)
+ assert version.release, f'failed to parse version {version_str}'
+ release = list(version.release)
+ release = release[:length]
+ if len(release) < length:
+ release = release + [0] * (length - len(release))
+ if version.is_prerelease:
+ release.extend(list(version.pre))
+ elif version.is_postrelease:
+ release.extend(list(version.post))
+ else:
+ release.extend([0, 0])
+ return tuple(release)
+
+
+version_info = tuple(int(x) for x in __version__.split('.')[:3])
+
+__all__ = ['__version__', 'version_info', 'parse_version_info']
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/video/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/video/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..73199b01dec52820dc6ca0139903536344d5a1eb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/video/__init__.py
@@ -0,0 +1,11 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from .io import Cache, VideoReader, frames2video
+from .optflow import (dequantize_flow, flow_from_bytes, flow_warp, flowread,
+ flowwrite, quantize_flow, sparse_flow_from_bytes)
+from .processing import concat_video, convert_video, cut_video, resize_video
+
+__all__ = [
+ 'Cache', 'VideoReader', 'frames2video', 'convert_video', 'resize_video',
+ 'cut_video', 'concat_video', 'flowread', 'flowwrite', 'quantize_flow',
+ 'dequantize_flow', 'flow_warp', 'flow_from_bytes', 'sparse_flow_from_bytes'
+]
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/video/io.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/video/io.py
new file mode 100644
index 0000000000000000000000000000000000000000..06ae9b8ae4404ec7822fd49c01c183a0be0cbf35
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/video/io.py
@@ -0,0 +1,318 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import os.path as osp
+from collections import OrderedDict
+
+import cv2
+from cv2 import (CAP_PROP_FOURCC, CAP_PROP_FPS, CAP_PROP_FRAME_COUNT,
+ CAP_PROP_FRAME_HEIGHT, CAP_PROP_FRAME_WIDTH,
+ CAP_PROP_POS_FRAMES, VideoWriter_fourcc)
+
+from annotator.mmpkg.mmcv.utils import (check_file_exist, mkdir_or_exist, scandir,
+ track_progress)
+
+
+class Cache:
+
+ def __init__(self, capacity):
+ self._cache = OrderedDict()
+ self._capacity = int(capacity)
+ if capacity <= 0:
+ raise ValueError('capacity must be a positive integer')
+
+ @property
+ def capacity(self):
+ return self._capacity
+
+ @property
+ def size(self):
+ return len(self._cache)
+
+ def put(self, key, val):
+ if key in self._cache:
+ return
+ if len(self._cache) >= self.capacity:
+ self._cache.popitem(last=False)
+ self._cache[key] = val
+
+ def get(self, key, default=None):
+ val = self._cache[key] if key in self._cache else default
+ return val
+
+
+class VideoReader:
+ """Video class with similar usage to a list object.
+
+ This video warpper class provides convenient apis to access frames.
+ There exists an issue of OpenCV's VideoCapture class that jumping to a
+ certain frame may be inaccurate. It is fixed in this class by checking
+ the position after jumping each time.
+ Cache is used when decoding videos. So if the same frame is visited for
+ the second time, there is no need to decode again if it is stored in the
+ cache.
+
+ :Example:
+
+ >>> import annotator.mmpkg.mmcv as mmcv
+ >>> v = mmcv.VideoReader('sample.mp4')
+ >>> len(v) # get the total frame number with `len()`
+ 120
+ >>> for img in v: # v is iterable
+ >>> mmcv.imshow(img)
+ >>> v[5] # get the 6th frame
+ """
+
+ def __init__(self, filename, cache_capacity=10):
+ # Check whether the video path is a url
+ if not filename.startswith(('https://', 'http://')):
+ check_file_exist(filename, 'Video file not found: ' + filename)
+ self._vcap = cv2.VideoCapture(filename)
+ assert cache_capacity > 0
+ self._cache = Cache(cache_capacity)
+ self._position = 0
+ # get basic info
+ self._width = int(self._vcap.get(CAP_PROP_FRAME_WIDTH))
+ self._height = int(self._vcap.get(CAP_PROP_FRAME_HEIGHT))
+ self._fps = self._vcap.get(CAP_PROP_FPS)
+ self._frame_cnt = int(self._vcap.get(CAP_PROP_FRAME_COUNT))
+ self._fourcc = self._vcap.get(CAP_PROP_FOURCC)
+
+ @property
+ def vcap(self):
+ """:obj:`cv2.VideoCapture`: The raw VideoCapture object."""
+ return self._vcap
+
+ @property
+ def opened(self):
+ """bool: Indicate whether the video is opened."""
+ return self._vcap.isOpened()
+
+ @property
+ def width(self):
+ """int: Width of video frames."""
+ return self._width
+
+ @property
+ def height(self):
+ """int: Height of video frames."""
+ return self._height
+
+ @property
+ def resolution(self):
+ """tuple: Video resolution (width, height)."""
+ return (self._width, self._height)
+
+ @property
+ def fps(self):
+ """float: FPS of the video."""
+ return self._fps
+
+ @property
+ def frame_cnt(self):
+ """int: Total frames of the video."""
+ return self._frame_cnt
+
+ @property
+ def fourcc(self):
+ """str: "Four character code" of the video."""
+ return self._fourcc
+
+ @property
+ def position(self):
+ """int: Current cursor position, indicating frame decoded."""
+ return self._position
+
+ def _get_real_position(self):
+ return int(round(self._vcap.get(CAP_PROP_POS_FRAMES)))
+
+ def _set_real_position(self, frame_id):
+ self._vcap.set(CAP_PROP_POS_FRAMES, frame_id)
+ pos = self._get_real_position()
+ for _ in range(frame_id - pos):
+ self._vcap.read()
+ self._position = frame_id
+
+ def read(self):
+ """Read the next frame.
+
+ If the next frame have been decoded before and in the cache, then
+ return it directly, otherwise decode, cache and return it.
+
+ Returns:
+ ndarray or None: Return the frame if successful, otherwise None.
+ """
+ # pos = self._position
+ if self._cache:
+ img = self._cache.get(self._position)
+ if img is not None:
+ ret = True
+ else:
+ if self._position != self._get_real_position():
+ self._set_real_position(self._position)
+ ret, img = self._vcap.read()
+ if ret:
+ self._cache.put(self._position, img)
+ else:
+ ret, img = self._vcap.read()
+ if ret:
+ self._position += 1
+ return img
+
+ def get_frame(self, frame_id):
+ """Get frame by index.
+
+ Args:
+ frame_id (int): Index of the expected frame, 0-based.
+
+ Returns:
+ ndarray or None: Return the frame if successful, otherwise None.
+ """
+ if frame_id < 0 or frame_id >= self._frame_cnt:
+ raise IndexError(
+ f'"frame_id" must be between 0 and {self._frame_cnt - 1}')
+ if frame_id == self._position:
+ return self.read()
+ if self._cache:
+ img = self._cache.get(frame_id)
+ if img is not None:
+ self._position = frame_id + 1
+ return img
+ self._set_real_position(frame_id)
+ ret, img = self._vcap.read()
+ if ret:
+ if self._cache:
+ self._cache.put(self._position, img)
+ self._position += 1
+ return img
+
+ def current_frame(self):
+ """Get the current frame (frame that is just visited).
+
+ Returns:
+ ndarray or None: If the video is fresh, return None, otherwise
+ return the frame.
+ """
+ if self._position == 0:
+ return None
+ return self._cache.get(self._position - 1)
+
+ def cvt2frames(self,
+ frame_dir,
+ file_start=0,
+ filename_tmpl='{:06d}.jpg',
+ start=0,
+ max_num=0,
+ show_progress=True):
+ """Convert a video to frame images.
+
+ Args:
+ frame_dir (str): Output directory to store all the frame images.
+ file_start (int): Filenames will start from the specified number.
+ filename_tmpl (str): Filename template with the index as the
+ placeholder.
+ start (int): The starting frame index.
+ max_num (int): Maximum number of frames to be written.
+ show_progress (bool): Whether to show a progress bar.
+ """
+ mkdir_or_exist(frame_dir)
+ if max_num == 0:
+ task_num = self.frame_cnt - start
+ else:
+ task_num = min(self.frame_cnt - start, max_num)
+ if task_num <= 0:
+ raise ValueError('start must be less than total frame number')
+ if start > 0:
+ self._set_real_position(start)
+
+ def write_frame(file_idx):
+ img = self.read()
+ if img is None:
+ return
+ filename = osp.join(frame_dir, filename_tmpl.format(file_idx))
+ cv2.imwrite(filename, img)
+
+ if show_progress:
+ track_progress(write_frame, range(file_start,
+ file_start + task_num))
+ else:
+ for i in range(task_num):
+ write_frame(file_start + i)
+
+ def __len__(self):
+ return self.frame_cnt
+
+ def __getitem__(self, index):
+ if isinstance(index, slice):
+ return [
+ self.get_frame(i)
+ for i in range(*index.indices(self.frame_cnt))
+ ]
+ # support negative indexing
+ if index < 0:
+ index += self.frame_cnt
+ if index < 0:
+ raise IndexError('index out of range')
+ return self.get_frame(index)
+
+ def __iter__(self):
+ self._set_real_position(0)
+ return self
+
+ def __next__(self):
+ img = self.read()
+ if img is not None:
+ return img
+ else:
+ raise StopIteration
+
+ next = __next__
+
+ def __enter__(self):
+ return self
+
+ def __exit__(self, exc_type, exc_value, traceback):
+ self._vcap.release()
+
+
+def frames2video(frame_dir,
+ video_file,
+ fps=30,
+ fourcc='XVID',
+ filename_tmpl='{:06d}.jpg',
+ start=0,
+ end=0,
+ show_progress=True):
+ """Read the frame images from a directory and join them as a video.
+
+ Args:
+ frame_dir (str): The directory containing video frames.
+ video_file (str): Output filename.
+ fps (float): FPS of the output video.
+ fourcc (str): Fourcc of the output video, this should be compatible
+ with the output file type.
+ filename_tmpl (str): Filename template with the index as the variable.
+ start (int): Starting frame index.
+ end (int): Ending frame index.
+ show_progress (bool): Whether to show a progress bar.
+ """
+ if end == 0:
+ ext = filename_tmpl.split('.')[-1]
+ end = len([name for name in scandir(frame_dir, ext)])
+ first_file = osp.join(frame_dir, filename_tmpl.format(start))
+ check_file_exist(first_file, 'The start frame not found: ' + first_file)
+ img = cv2.imread(first_file)
+ height, width = img.shape[:2]
+ resolution = (width, height)
+ vwriter = cv2.VideoWriter(video_file, VideoWriter_fourcc(*fourcc), fps,
+ resolution)
+
+ def write_frame(file_idx):
+ filename = osp.join(frame_dir, filename_tmpl.format(file_idx))
+ img = cv2.imread(filename)
+ vwriter.write(img)
+
+ if show_progress:
+ track_progress(write_frame, range(start, end))
+ else:
+ for i in range(start, end):
+ write_frame(i)
+ vwriter.release()
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/video/optflow.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/video/optflow.py
new file mode 100644
index 0000000000000000000000000000000000000000..7bd78970dce8faf30bce0d5f2ec278b994fdd623
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/video/optflow.py
@@ -0,0 +1,254 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import warnings
+
+import cv2
+import numpy as np
+
+from annotator.mmpkg.mmcv.arraymisc import dequantize, quantize
+from annotator.mmpkg.mmcv.image import imread, imwrite
+from annotator.mmpkg.mmcv.utils import is_str
+
+
+def flowread(flow_or_path, quantize=False, concat_axis=0, *args, **kwargs):
+ """Read an optical flow map.
+
+ Args:
+ flow_or_path (ndarray or str): A flow map or filepath.
+ quantize (bool): whether to read quantized pair, if set to True,
+ remaining args will be passed to :func:`dequantize_flow`.
+ concat_axis (int): The axis that dx and dy are concatenated,
+ can be either 0 or 1. Ignored if quantize is False.
+
+ Returns:
+ ndarray: Optical flow represented as a (h, w, 2) numpy array
+ """
+ if isinstance(flow_or_path, np.ndarray):
+ if (flow_or_path.ndim != 3) or (flow_or_path.shape[-1] != 2):
+ raise ValueError(f'Invalid flow with shape {flow_or_path.shape}')
+ return flow_or_path
+ elif not is_str(flow_or_path):
+ raise TypeError(f'"flow_or_path" must be a filename or numpy array, '
+ f'not {type(flow_or_path)}')
+
+ if not quantize:
+ with open(flow_or_path, 'rb') as f:
+ try:
+ header = f.read(4).decode('utf-8')
+ except Exception:
+ raise IOError(f'Invalid flow file: {flow_or_path}')
+ else:
+ if header != 'PIEH':
+ raise IOError(f'Invalid flow file: {flow_or_path}, '
+ 'header does not contain PIEH')
+
+ w = np.fromfile(f, np.int32, 1).squeeze()
+ h = np.fromfile(f, np.int32, 1).squeeze()
+ flow = np.fromfile(f, np.float32, w * h * 2).reshape((h, w, 2))
+ else:
+ assert concat_axis in [0, 1]
+ cat_flow = imread(flow_or_path, flag='unchanged')
+ if cat_flow.ndim != 2:
+ raise IOError(
+ f'{flow_or_path} is not a valid quantized flow file, '
+ f'its dimension is {cat_flow.ndim}.')
+ assert cat_flow.shape[concat_axis] % 2 == 0
+ dx, dy = np.split(cat_flow, 2, axis=concat_axis)
+ flow = dequantize_flow(dx, dy, *args, **kwargs)
+
+ return flow.astype(np.float32)
+
+
+def flowwrite(flow, filename, quantize=False, concat_axis=0, *args, **kwargs):
+ """Write optical flow to file.
+
+ If the flow is not quantized, it will be saved as a .flo file losslessly,
+ otherwise a jpeg image which is lossy but of much smaller size. (dx and dy
+ will be concatenated horizontally into a single image if quantize is True.)
+
+ Args:
+ flow (ndarray): (h, w, 2) array of optical flow.
+ filename (str): Output filepath.
+ quantize (bool): Whether to quantize the flow and save it to 2 jpeg
+ images. If set to True, remaining args will be passed to
+ :func:`quantize_flow`.
+ concat_axis (int): The axis that dx and dy are concatenated,
+ can be either 0 or 1. Ignored if quantize is False.
+ """
+ if not quantize:
+ with open(filename, 'wb') as f:
+ f.write('PIEH'.encode('utf-8'))
+ np.array([flow.shape[1], flow.shape[0]], dtype=np.int32).tofile(f)
+ flow = flow.astype(np.float32)
+ flow.tofile(f)
+ f.flush()
+ else:
+ assert concat_axis in [0, 1]
+ dx, dy = quantize_flow(flow, *args, **kwargs)
+ dxdy = np.concatenate((dx, dy), axis=concat_axis)
+ imwrite(dxdy, filename)
+
+
+def quantize_flow(flow, max_val=0.02, norm=True):
+ """Quantize flow to [0, 255].
+
+ After this step, the size of flow will be much smaller, and can be
+ dumped as jpeg images.
+
+ Args:
+ flow (ndarray): (h, w, 2) array of optical flow.
+ max_val (float): Maximum value of flow, values beyond
+ [-max_val, max_val] will be truncated.
+ norm (bool): Whether to divide flow values by image width/height.
+
+ Returns:
+ tuple[ndarray]: Quantized dx and dy.
+ """
+ h, w, _ = flow.shape
+ dx = flow[..., 0]
+ dy = flow[..., 1]
+ if norm:
+ dx = dx / w # avoid inplace operations
+ dy = dy / h
+ # use 255 levels instead of 256 to make sure 0 is 0 after dequantization.
+ flow_comps = [
+ quantize(d, -max_val, max_val, 255, np.uint8) for d in [dx, dy]
+ ]
+ return tuple(flow_comps)
+
+
+def dequantize_flow(dx, dy, max_val=0.02, denorm=True):
+ """Recover from quantized flow.
+
+ Args:
+ dx (ndarray): Quantized dx.
+ dy (ndarray): Quantized dy.
+ max_val (float): Maximum value used when quantizing.
+ denorm (bool): Whether to multiply flow values with width/height.
+
+ Returns:
+ ndarray: Dequantized flow.
+ """
+ assert dx.shape == dy.shape
+ assert dx.ndim == 2 or (dx.ndim == 3 and dx.shape[-1] == 1)
+
+ dx, dy = [dequantize(d, -max_val, max_val, 255) for d in [dx, dy]]
+
+ if denorm:
+ dx *= dx.shape[1]
+ dy *= dx.shape[0]
+ flow = np.dstack((dx, dy))
+ return flow
+
+
+def flow_warp(img, flow, filling_value=0, interpolate_mode='nearest'):
+ """Use flow to warp img.
+
+ Args:
+ img (ndarray, float or uint8): Image to be warped.
+ flow (ndarray, float): Optical Flow.
+ filling_value (int): The missing pixels will be set with filling_value.
+ interpolate_mode (str): bilinear -> Bilinear Interpolation;
+ nearest -> Nearest Neighbor.
+
+ Returns:
+ ndarray: Warped image with the same shape of img
+ """
+ warnings.warn('This function is just for prototyping and cannot '
+ 'guarantee the computational efficiency.')
+ assert flow.ndim == 3, 'Flow must be in 3D arrays.'
+ height = flow.shape[0]
+ width = flow.shape[1]
+ channels = img.shape[2]
+
+ output = np.ones(
+ (height, width, channels), dtype=img.dtype) * filling_value
+
+ grid = np.indices((height, width)).swapaxes(0, 1).swapaxes(1, 2)
+ dx = grid[:, :, 0] + flow[:, :, 1]
+ dy = grid[:, :, 1] + flow[:, :, 0]
+ sx = np.floor(dx).astype(int)
+ sy = np.floor(dy).astype(int)
+ valid = (sx >= 0) & (sx < height - 1) & (sy >= 0) & (sy < width - 1)
+
+ if interpolate_mode == 'nearest':
+ output[valid, :] = img[dx[valid].round().astype(int),
+ dy[valid].round().astype(int), :]
+ elif interpolate_mode == 'bilinear':
+ # dirty walkround for integer positions
+ eps_ = 1e-6
+ dx, dy = dx + eps_, dy + eps_
+ left_top_ = img[np.floor(dx[valid]).astype(int),
+ np.floor(dy[valid]).astype(int), :] * (
+ np.ceil(dx[valid]) - dx[valid])[:, None] * (
+ np.ceil(dy[valid]) - dy[valid])[:, None]
+ left_down_ = img[np.ceil(dx[valid]).astype(int),
+ np.floor(dy[valid]).astype(int), :] * (
+ dx[valid] - np.floor(dx[valid]))[:, None] * (
+ np.ceil(dy[valid]) - dy[valid])[:, None]
+ right_top_ = img[np.floor(dx[valid]).astype(int),
+ np.ceil(dy[valid]).astype(int), :] * (
+ np.ceil(dx[valid]) - dx[valid])[:, None] * (
+ dy[valid] - np.floor(dy[valid]))[:, None]
+ right_down_ = img[np.ceil(dx[valid]).astype(int),
+ np.ceil(dy[valid]).astype(int), :] * (
+ dx[valid] - np.floor(dx[valid]))[:, None] * (
+ dy[valid] - np.floor(dy[valid]))[:, None]
+ output[valid, :] = left_top_ + left_down_ + right_top_ + right_down_
+ else:
+ raise NotImplementedError(
+ 'We only support interpolation modes of nearest and bilinear, '
+ f'but got {interpolate_mode}.')
+ return output.astype(img.dtype)
+
+
+def flow_from_bytes(content):
+ """Read dense optical flow from bytes.
+
+ .. note::
+ This load optical flow function works for FlyingChairs, FlyingThings3D,
+ Sintel, FlyingChairsOcc datasets, but cannot load the data from
+ ChairsSDHom.
+
+ Args:
+ content (bytes): Optical flow bytes got from files or other streams.
+
+ Returns:
+ ndarray: Loaded optical flow with the shape (H, W, 2).
+ """
+
+ # header in first 4 bytes
+ header = content[:4]
+ if header.decode('utf-8') != 'PIEH':
+ raise Exception('Flow file header does not contain PIEH')
+ # width in second 4 bytes
+ width = np.frombuffer(content[4:], np.int32, 1).squeeze()
+ # height in third 4 bytes
+ height = np.frombuffer(content[8:], np.int32, 1).squeeze()
+ # after first 12 bytes, all bytes are flow
+ flow = np.frombuffer(content[12:], np.float32, width * height * 2).reshape(
+ (height, width, 2))
+
+ return flow
+
+
+def sparse_flow_from_bytes(content):
+ """Read the optical flow in KITTI datasets from bytes.
+
+ This function is modified from RAFT load the `KITTI datasets
+ `_.
+
+ Args:
+ content (bytes): Optical flow bytes got from files or other streams.
+
+ Returns:
+ Tuple(ndarray, ndarray): Loaded optical flow with the shape (H, W, 2)
+ and flow valid mask with the shape (H, W).
+ """ # nopa
+
+ content = np.frombuffer(content, np.uint8)
+ flow = cv2.imdecode(content, cv2.IMREAD_ANYDEPTH | cv2.IMREAD_COLOR)
+ flow = flow[:, :, ::-1].astype(np.float32)
+ # flow shape (H, W, 2) valid shape (H, W)
+ flow, valid = flow[:, :, :2], flow[:, :, 2]
+ flow = (flow - 2**15) / 64.0
+ return flow, valid
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/video/processing.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/video/processing.py
new file mode 100644
index 0000000000000000000000000000000000000000..2b93a59215d56b6e5ba05f48bca3527772f0c744
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/video/processing.py
@@ -0,0 +1,160 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import os
+import os.path as osp
+import subprocess
+import tempfile
+
+from annotator.mmpkg.mmcv.utils import requires_executable
+
+
+@requires_executable('ffmpeg')
+def convert_video(in_file,
+ out_file,
+ print_cmd=False,
+ pre_options='',
+ **kwargs):
+ """Convert a video with ffmpeg.
+
+ This provides a general api to ffmpeg, the executed command is::
+
+ `ffmpeg -y -i `
+
+ Options(kwargs) are mapped to ffmpeg commands with the following rules:
+
+ - key=val: "-key val"
+ - key=True: "-key"
+ - key=False: ""
+
+ Args:
+ in_file (str): Input video filename.
+ out_file (str): Output video filename.
+ pre_options (str): Options appears before "-i ".
+ print_cmd (bool): Whether to print the final ffmpeg command.
+ """
+ options = []
+ for k, v in kwargs.items():
+ if isinstance(v, bool):
+ if v:
+ options.append(f'-{k}')
+ elif k == 'log_level':
+ assert v in [
+ 'quiet', 'panic', 'fatal', 'error', 'warning', 'info',
+ 'verbose', 'debug', 'trace'
+ ]
+ options.append(f'-loglevel {v}')
+ else:
+ options.append(f'-{k} {v}')
+ cmd = f'ffmpeg -y {pre_options} -i {in_file} {" ".join(options)} ' \
+ f'{out_file}'
+ if print_cmd:
+ print(cmd)
+ subprocess.call(cmd, shell=True)
+
+
+@requires_executable('ffmpeg')
+def resize_video(in_file,
+ out_file,
+ size=None,
+ ratio=None,
+ keep_ar=False,
+ log_level='info',
+ print_cmd=False):
+ """Resize a video.
+
+ Args:
+ in_file (str): Input video filename.
+ out_file (str): Output video filename.
+ size (tuple): Expected size (w, h), eg, (320, 240) or (320, -1).
+ ratio (tuple or float): Expected resize ratio, (2, 0.5) means
+ (w*2, h*0.5).
+ keep_ar (bool): Whether to keep original aspect ratio.
+ log_level (str): Logging level of ffmpeg.
+ print_cmd (bool): Whether to print the final ffmpeg command.
+ """
+ if size is None and ratio is None:
+ raise ValueError('expected size or ratio must be specified')
+ if size is not None and ratio is not None:
+ raise ValueError('size and ratio cannot be specified at the same time')
+ options = {'log_level': log_level}
+ if size:
+ if not keep_ar:
+ options['vf'] = f'scale={size[0]}:{size[1]}'
+ else:
+ options['vf'] = f'scale=w={size[0]}:h={size[1]}:' \
+ 'force_original_aspect_ratio=decrease'
+ else:
+ if not isinstance(ratio, tuple):
+ ratio = (ratio, ratio)
+ options['vf'] = f'scale="trunc(iw*{ratio[0]}):trunc(ih*{ratio[1]})"'
+ convert_video(in_file, out_file, print_cmd, **options)
+
+
+@requires_executable('ffmpeg')
+def cut_video(in_file,
+ out_file,
+ start=None,
+ end=None,
+ vcodec=None,
+ acodec=None,
+ log_level='info',
+ print_cmd=False):
+ """Cut a clip from a video.
+
+ Args:
+ in_file (str): Input video filename.
+ out_file (str): Output video filename.
+ start (None or float): Start time (in seconds).
+ end (None or float): End time (in seconds).
+ vcodec (None or str): Output video codec, None for unchanged.
+ acodec (None or str): Output audio codec, None for unchanged.
+ log_level (str): Logging level of ffmpeg.
+ print_cmd (bool): Whether to print the final ffmpeg command.
+ """
+ options = {'log_level': log_level}
+ if vcodec is None:
+ options['vcodec'] = 'copy'
+ if acodec is None:
+ options['acodec'] = 'copy'
+ if start:
+ options['ss'] = start
+ else:
+ start = 0
+ if end:
+ options['t'] = end - start
+ convert_video(in_file, out_file, print_cmd, **options)
+
+
+@requires_executable('ffmpeg')
+def concat_video(video_list,
+ out_file,
+ vcodec=None,
+ acodec=None,
+ log_level='info',
+ print_cmd=False):
+ """Concatenate multiple videos into a single one.
+
+ Args:
+ video_list (list): A list of video filenames
+ out_file (str): Output video filename
+ vcodec (None or str): Output video codec, None for unchanged
+ acodec (None or str): Output audio codec, None for unchanged
+ log_level (str): Logging level of ffmpeg.
+ print_cmd (bool): Whether to print the final ffmpeg command.
+ """
+ tmp_filehandler, tmp_filename = tempfile.mkstemp(suffix='.txt', text=True)
+ with open(tmp_filename, 'w') as f:
+ for filename in video_list:
+ f.write(f'file {osp.abspath(filename)}\n')
+ options = {'log_level': log_level}
+ if vcodec is None:
+ options['vcodec'] = 'copy'
+ if acodec is None:
+ options['acodec'] = 'copy'
+ convert_video(
+ tmp_filename,
+ out_file,
+ print_cmd,
+ pre_options='-f concat -safe 0',
+ **options)
+ os.close(tmp_filehandler)
+ os.remove(tmp_filename)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/visualization/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/visualization/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..835df136bdcf69348281d22914d41aa84cdf92b1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/visualization/__init__.py
@@ -0,0 +1,9 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from .color import Color, color_val
+from .image import imshow, imshow_bboxes, imshow_det_bboxes
+from .optflow import flow2rgb, flowshow, make_color_wheel
+
+__all__ = [
+ 'Color', 'color_val', 'imshow', 'imshow_bboxes', 'imshow_det_bboxes',
+ 'flowshow', 'flow2rgb', 'make_color_wheel'
+]
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/visualization/color.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/visualization/color.py
new file mode 100644
index 0000000000000000000000000000000000000000..48379a283e48570f226426510270de8e15323c8d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/visualization/color.py
@@ -0,0 +1,51 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from enum import Enum
+
+import numpy as np
+
+from annotator.mmpkg.mmcv.utils import is_str
+
+
+class Color(Enum):
+ """An enum that defines common colors.
+
+ Contains red, green, blue, cyan, yellow, magenta, white and black.
+ """
+ red = (0, 0, 255)
+ green = (0, 255, 0)
+ blue = (255, 0, 0)
+ cyan = (255, 255, 0)
+ yellow = (0, 255, 255)
+ magenta = (255, 0, 255)
+ white = (255, 255, 255)
+ black = (0, 0, 0)
+
+
+def color_val(color):
+ """Convert various input to color tuples.
+
+ Args:
+ color (:obj:`Color`/str/tuple/int/ndarray): Color inputs
+
+ Returns:
+ tuple[int]: A tuple of 3 integers indicating BGR channels.
+ """
+ if is_str(color):
+ return Color[color].value
+ elif isinstance(color, Color):
+ return color.value
+ elif isinstance(color, tuple):
+ assert len(color) == 3
+ for channel in color:
+ assert 0 <= channel <= 255
+ return color
+ elif isinstance(color, int):
+ assert 0 <= color <= 255
+ return color, color, color
+ elif isinstance(color, np.ndarray):
+ assert color.ndim == 1 and color.size == 3
+ assert np.all((color >= 0) & (color <= 255))
+ color = color.astype(np.uint8)
+ return tuple(color)
+ else:
+ raise TypeError(f'Invalid type for color: {type(color)}')
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/visualization/image.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/visualization/image.py
new file mode 100644
index 0000000000000000000000000000000000000000..378de2104f6554389fcb2e6a3904283345fd74b0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/visualization/image.py
@@ -0,0 +1,152 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+import cv2
+import numpy as np
+
+from annotator.mmpkg.mmcv.image import imread, imwrite
+from .color import color_val
+
+
+def imshow(img, win_name='', wait_time=0):
+ """Show an image.
+
+ Args:
+ img (str or ndarray): The image to be displayed.
+ win_name (str): The window name.
+ wait_time (int): Value of waitKey param.
+ """
+ cv2.imshow(win_name, imread(img))
+ if wait_time == 0: # prevent from hanging if windows was closed
+ while True:
+ ret = cv2.waitKey(1)
+
+ closed = cv2.getWindowProperty(win_name, cv2.WND_PROP_VISIBLE) < 1
+ # if user closed window or if some key pressed
+ if closed or ret != -1:
+ break
+ else:
+ ret = cv2.waitKey(wait_time)
+
+
+def imshow_bboxes(img,
+ bboxes,
+ colors='green',
+ top_k=-1,
+ thickness=1,
+ show=True,
+ win_name='',
+ wait_time=0,
+ out_file=None):
+ """Draw bboxes on an image.
+
+ Args:
+ img (str or ndarray): The image to be displayed.
+ bboxes (list or ndarray): A list of ndarray of shape (k, 4).
+ colors (list[str or tuple or Color]): A list of colors.
+ top_k (int): Plot the first k bboxes only if set positive.
+ thickness (int): Thickness of lines.
+ show (bool): Whether to show the image.
+ win_name (str): The window name.
+ wait_time (int): Value of waitKey param.
+ out_file (str, optional): The filename to write the image.
+
+ Returns:
+ ndarray: The image with bboxes drawn on it.
+ """
+ img = imread(img)
+ img = np.ascontiguousarray(img)
+
+ if isinstance(bboxes, np.ndarray):
+ bboxes = [bboxes]
+ if not isinstance(colors, list):
+ colors = [colors for _ in range(len(bboxes))]
+ colors = [color_val(c) for c in colors]
+ assert len(bboxes) == len(colors)
+
+ for i, _bboxes in enumerate(bboxes):
+ _bboxes = _bboxes.astype(np.int32)
+ if top_k <= 0:
+ _top_k = _bboxes.shape[0]
+ else:
+ _top_k = min(top_k, _bboxes.shape[0])
+ for j in range(_top_k):
+ left_top = (_bboxes[j, 0], _bboxes[j, 1])
+ right_bottom = (_bboxes[j, 2], _bboxes[j, 3])
+ cv2.rectangle(
+ img, left_top, right_bottom, colors[i], thickness=thickness)
+
+ if show:
+ imshow(img, win_name, wait_time)
+ if out_file is not None:
+ imwrite(img, out_file)
+ return img
+
+
+def imshow_det_bboxes(img,
+ bboxes,
+ labels,
+ class_names=None,
+ score_thr=0,
+ bbox_color='green',
+ text_color='green',
+ thickness=1,
+ font_scale=0.5,
+ show=True,
+ win_name='',
+ wait_time=0,
+ out_file=None):
+ """Draw bboxes and class labels (with scores) on an image.
+
+ Args:
+ img (str or ndarray): The image to be displayed.
+ bboxes (ndarray): Bounding boxes (with scores), shaped (n, 4) or
+ (n, 5).
+ labels (ndarray): Labels of bboxes.
+ class_names (list[str]): Names of each classes.
+ score_thr (float): Minimum score of bboxes to be shown.
+ bbox_color (str or tuple or :obj:`Color`): Color of bbox lines.
+ text_color (str or tuple or :obj:`Color`): Color of texts.
+ thickness (int): Thickness of lines.
+ font_scale (float): Font scales of texts.
+ show (bool): Whether to show the image.
+ win_name (str): The window name.
+ wait_time (int): Value of waitKey param.
+ out_file (str or None): The filename to write the image.
+
+ Returns:
+ ndarray: The image with bboxes drawn on it.
+ """
+ assert bboxes.ndim == 2
+ assert labels.ndim == 1
+ assert bboxes.shape[0] == labels.shape[0]
+ assert bboxes.shape[1] == 4 or bboxes.shape[1] == 5
+ img = imread(img)
+ img = np.ascontiguousarray(img)
+
+ if score_thr > 0:
+ assert bboxes.shape[1] == 5
+ scores = bboxes[:, -1]
+ inds = scores > score_thr
+ bboxes = bboxes[inds, :]
+ labels = labels[inds]
+
+ bbox_color = color_val(bbox_color)
+ text_color = color_val(text_color)
+
+ for bbox, label in zip(bboxes, labels):
+ bbox_int = bbox.astype(np.int32)
+ left_top = (bbox_int[0], bbox_int[1])
+ right_bottom = (bbox_int[2], bbox_int[3])
+ cv2.rectangle(
+ img, left_top, right_bottom, bbox_color, thickness=thickness)
+ label_text = class_names[
+ label] if class_names is not None else f'cls {label}'
+ if len(bbox) > 4:
+ label_text += f'|{bbox[-1]:.02f}'
+ cv2.putText(img, label_text, (bbox_int[0], bbox_int[1] - 2),
+ cv2.FONT_HERSHEY_COMPLEX, font_scale, text_color)
+
+ if show:
+ imshow(img, win_name, wait_time)
+ if out_file is not None:
+ imwrite(img, out_file)
+ return img
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/visualization/optflow.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/visualization/optflow.py
new file mode 100644
index 0000000000000000000000000000000000000000..b4c3ce980f9f6c74c85fe714aca1623a08ae7a8d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmcv/visualization/optflow.py
@@ -0,0 +1,112 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+from __future__ import division
+
+import numpy as np
+
+from annotator.mmpkg.mmcv.image import rgb2bgr
+from annotator.mmpkg.mmcv.video import flowread
+from .image import imshow
+
+
+def flowshow(flow, win_name='', wait_time=0):
+ """Show optical flow.
+
+ Args:
+ flow (ndarray or str): The optical flow to be displayed.
+ win_name (str): The window name.
+ wait_time (int): Value of waitKey param.
+ """
+ flow = flowread(flow)
+ flow_img = flow2rgb(flow)
+ imshow(rgb2bgr(flow_img), win_name, wait_time)
+
+
+def flow2rgb(flow, color_wheel=None, unknown_thr=1e6):
+ """Convert flow map to RGB image.
+
+ Args:
+ flow (ndarray): Array of optical flow.
+ color_wheel (ndarray or None): Color wheel used to map flow field to
+ RGB colorspace. Default color wheel will be used if not specified.
+ unknown_thr (str): Values above this threshold will be marked as
+ unknown and thus ignored.
+
+ Returns:
+ ndarray: RGB image that can be visualized.
+ """
+ assert flow.ndim == 3 and flow.shape[-1] == 2
+ if color_wheel is None:
+ color_wheel = make_color_wheel()
+ assert color_wheel.ndim == 2 and color_wheel.shape[1] == 3
+ num_bins = color_wheel.shape[0]
+
+ dx = flow[:, :, 0].copy()
+ dy = flow[:, :, 1].copy()
+
+ ignore_inds = (
+ np.isnan(dx) | np.isnan(dy) | (np.abs(dx) > unknown_thr) |
+ (np.abs(dy) > unknown_thr))
+ dx[ignore_inds] = 0
+ dy[ignore_inds] = 0
+
+ rad = np.sqrt(dx**2 + dy**2)
+ if np.any(rad > np.finfo(float).eps):
+ max_rad = np.max(rad)
+ dx /= max_rad
+ dy /= max_rad
+
+ rad = np.sqrt(dx**2 + dy**2)
+ angle = np.arctan2(-dy, -dx) / np.pi
+
+ bin_real = (angle + 1) / 2 * (num_bins - 1)
+ bin_left = np.floor(bin_real).astype(int)
+ bin_right = (bin_left + 1) % num_bins
+ w = (bin_real - bin_left.astype(np.float32))[..., None]
+ flow_img = (1 -
+ w) * color_wheel[bin_left, :] + w * color_wheel[bin_right, :]
+ small_ind = rad <= 1
+ flow_img[small_ind] = 1 - rad[small_ind, None] * (1 - flow_img[small_ind])
+ flow_img[np.logical_not(small_ind)] *= 0.75
+
+ flow_img[ignore_inds, :] = 0
+
+ return flow_img
+
+
+def make_color_wheel(bins=None):
+ """Build a color wheel.
+
+ Args:
+ bins(list or tuple, optional): Specify the number of bins for each
+ color range, corresponding to six ranges: red -> yellow,
+ yellow -> green, green -> cyan, cyan -> blue, blue -> magenta,
+ magenta -> red. [15, 6, 4, 11, 13, 6] is used for default
+ (see Middlebury).
+
+ Returns:
+ ndarray: Color wheel of shape (total_bins, 3).
+ """
+ if bins is None:
+ bins = [15, 6, 4, 11, 13, 6]
+ assert len(bins) == 6
+
+ RY, YG, GC, CB, BM, MR = tuple(bins)
+
+ ry = [1, np.arange(RY) / RY, 0]
+ yg = [1 - np.arange(YG) / YG, 1, 0]
+ gc = [0, 1, np.arange(GC) / GC]
+ cb = [0, 1 - np.arange(CB) / CB, 1]
+ bm = [np.arange(BM) / BM, 0, 1]
+ mr = [1, 0, 1 - np.arange(MR) / MR]
+
+ num_bins = RY + YG + GC + CB + BM + MR
+
+ color_wheel = np.zeros((3, num_bins), dtype=np.float32)
+
+ col = 0
+ for i, color in enumerate([ry, yg, gc, cb, bm, mr]):
+ for j in range(3):
+ color_wheel[j, col:col + bins[i]] = color[j]
+ col += bins[i]
+
+ return color_wheel.T
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/apis/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/apis/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..170724be38de42daf2bc1a1910e181d68818f165
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/apis/__init__.py
@@ -0,0 +1,9 @@
+from .inference import inference_segmentor, init_segmentor, show_result_pyplot
+from .test import multi_gpu_test, single_gpu_test
+from .train import get_root_logger, set_random_seed, train_segmentor
+
+__all__ = [
+ 'get_root_logger', 'set_random_seed', 'train_segmentor', 'init_segmentor',
+ 'inference_segmentor', 'multi_gpu_test', 'single_gpu_test',
+ 'show_result_pyplot'
+]
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/apis/inference.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/apis/inference.py
new file mode 100644
index 0000000000000000000000000000000000000000..515e459ff6e66e955624fedaf32d2076be750563
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/apis/inference.py
@@ -0,0 +1,138 @@
+import matplotlib.pyplot as plt
+import annotator.mmpkg.mmcv as mmcv
+import torch
+from annotator.mmpkg.mmcv.parallel import collate, scatter
+from annotator.mmpkg.mmcv.runner import load_checkpoint
+
+from annotator.mmpkg.mmseg.datasets.pipelines import Compose
+from annotator.mmpkg.mmseg.models import build_segmentor
+from modules import devices
+
+
+def init_segmentor(config, checkpoint=None, device=devices.get_device_for("controlnet")):
+ """Initialize a segmentor from config file.
+
+ Args:
+ config (str or :obj:`mmcv.Config`): Config file path or the config
+ object.
+ checkpoint (str, optional): Checkpoint path. If left as None, the model
+ will not load any weights.
+ device (str, optional) CPU/CUDA device option. Default 'cuda:0'.
+ Use 'cpu' for loading model on CPU.
+ Returns:
+ nn.Module: The constructed segmentor.
+ """
+ if isinstance(config, str):
+ config = mmcv.Config.fromfile(config)
+ elif not isinstance(config, mmcv.Config):
+ raise TypeError('config must be a filename or Config object, '
+ 'but got {}'.format(type(config)))
+ config.model.pretrained = None
+ config.model.train_cfg = None
+ model = build_segmentor(config.model, test_cfg=config.get('test_cfg'))
+ if checkpoint is not None:
+ checkpoint = load_checkpoint(model, checkpoint, map_location='cpu')
+ model.CLASSES = checkpoint['meta']['CLASSES']
+ model.PALETTE = checkpoint['meta']['PALETTE']
+ model.cfg = config # save the config in the model for convenience
+ model.to(device)
+ model.eval()
+ return model
+
+
+class LoadImage:
+ """A simple pipeline to load image."""
+
+ def __call__(self, results):
+ """Call function to load images into results.
+
+ Args:
+ results (dict): A result dict contains the file name
+ of the image to be read.
+
+ Returns:
+ dict: ``results`` will be returned containing loaded image.
+ """
+
+ if isinstance(results['img'], str):
+ results['filename'] = results['img']
+ results['ori_filename'] = results['img']
+ else:
+ results['filename'] = None
+ results['ori_filename'] = None
+ img = mmcv.imread(results['img'])
+ results['img'] = img
+ results['img_shape'] = img.shape
+ results['ori_shape'] = img.shape
+ return results
+
+
+def inference_segmentor(model, img):
+ """Inference image(s) with the segmentor.
+
+ Args:
+ model (nn.Module): The loaded segmentor.
+ imgs (str/ndarray or list[str/ndarray]): Either image files or loaded
+ images.
+
+ Returns:
+ (list[Tensor]): The segmentation result.
+ """
+ cfg = model.cfg
+ device = next(model.parameters()).device # model device
+ # build the data pipeline
+ test_pipeline = [LoadImage()] + cfg.data.test.pipeline[1:]
+ test_pipeline = Compose(test_pipeline)
+ # prepare data
+ data = dict(img=img)
+ data = test_pipeline(data)
+ data = collate([data], samples_per_gpu=1)
+ if next(model.parameters()).is_cuda:
+ # scatter to specified GPU
+ data = scatter(data, [device])[0]
+ else:
+ data['img'][0] = data['img'][0].to(devices.get_device_for("controlnet"))
+ data['img_metas'] = [i.data[0] for i in data['img_metas']]
+
+ # forward the model
+ with torch.no_grad():
+ result = model(return_loss=False, rescale=True, **data)
+ return result
+
+
+def show_result_pyplot(model,
+ img,
+ result,
+ palette=None,
+ fig_size=(15, 10),
+ opacity=0.5,
+ title='',
+ block=True):
+ """Visualize the segmentation results on the image.
+
+ Args:
+ model (nn.Module): The loaded segmentor.
+ img (str or np.ndarray): Image filename or loaded image.
+ result (list): The segmentation result.
+ palette (list[list[int]]] | None): The palette of segmentation
+ map. If None is given, random palette will be generated.
+ Default: None
+ fig_size (tuple): Figure size of the pyplot figure.
+ opacity(float): Opacity of painted segmentation map.
+ Default 0.5.
+ Must be in (0, 1] range.
+ title (str): The title of pyplot figure.
+ Default is ''.
+ block (bool): Whether to block the pyplot figure.
+ Default is True.
+ """
+ if hasattr(model, 'module'):
+ model = model.module
+ img = model.show_result(
+ img, result, palette=palette, show=False, opacity=opacity)
+ # plt.figure(figsize=fig_size)
+ # plt.imshow(mmcv.bgr2rgb(img))
+ # plt.title(title)
+ # plt.tight_layout()
+ # plt.show(block=block)
+ return mmcv.bgr2rgb(img)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/apis/test.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/apis/test.py
new file mode 100644
index 0000000000000000000000000000000000000000..f9954e6a3709afdbf6a2027b213afcad644c47d7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/apis/test.py
@@ -0,0 +1,238 @@
+import os.path as osp
+import pickle
+import shutil
+import tempfile
+
+import annotator.mmpkg.mmcv as mmcv
+import numpy as np
+import torch
+import torch.distributed as dist
+from annotator.mmpkg.mmcv.image import tensor2imgs
+from annotator.mmpkg.mmcv.runner import get_dist_info
+
+
+def np2tmp(array, temp_file_name=None):
+ """Save ndarray to local numpy file.
+
+ Args:
+ array (ndarray): Ndarray to save.
+ temp_file_name (str): Numpy file name. If 'temp_file_name=None', this
+ function will generate a file name with tempfile.NamedTemporaryFile
+ to save ndarray. Default: None.
+
+ Returns:
+ str: The numpy file name.
+ """
+
+ if temp_file_name is None:
+ temp_file_name = tempfile.NamedTemporaryFile(
+ suffix='.npy', delete=False).name
+ np.save(temp_file_name, array)
+ return temp_file_name
+
+
+def single_gpu_test(model,
+ data_loader,
+ show=False,
+ out_dir=None,
+ efficient_test=False,
+ opacity=0.5):
+ """Test with single GPU.
+
+ Args:
+ model (nn.Module): Model to be tested.
+ data_loader (utils.data.Dataloader): Pytorch data loader.
+ show (bool): Whether show results during inference. Default: False.
+ out_dir (str, optional): If specified, the results will be dumped into
+ the directory to save output results.
+ efficient_test (bool): Whether save the results as local numpy files to
+ save CPU memory during evaluation. Default: False.
+ opacity(float): Opacity of painted segmentation map.
+ Default 0.5.
+ Must be in (0, 1] range.
+ Returns:
+ list: The prediction results.
+ """
+
+ model.eval()
+ results = []
+ dataset = data_loader.dataset
+ prog_bar = mmcv.ProgressBar(len(dataset))
+ for i, data in enumerate(data_loader):
+ with torch.no_grad():
+ result = model(return_loss=False, **data)
+
+ if show or out_dir:
+ img_tensor = data['img'][0]
+ img_metas = data['img_metas'][0].data[0]
+ imgs = tensor2imgs(img_tensor, **img_metas[0]['img_norm_cfg'])
+ assert len(imgs) == len(img_metas)
+
+ for img, img_meta in zip(imgs, img_metas):
+ h, w, _ = img_meta['img_shape']
+ img_show = img[:h, :w, :]
+
+ ori_h, ori_w = img_meta['ori_shape'][:-1]
+ img_show = mmcv.imresize(img_show, (ori_w, ori_h))
+
+ if out_dir:
+ out_file = osp.join(out_dir, img_meta['ori_filename'])
+ else:
+ out_file = None
+
+ model.module.show_result(
+ img_show,
+ result,
+ palette=dataset.PALETTE,
+ show=show,
+ out_file=out_file,
+ opacity=opacity)
+
+ if isinstance(result, list):
+ if efficient_test:
+ result = [np2tmp(_) for _ in result]
+ results.extend(result)
+ else:
+ if efficient_test:
+ result = np2tmp(result)
+ results.append(result)
+
+ batch_size = len(result)
+ for _ in range(batch_size):
+ prog_bar.update()
+ return results
+
+
+def multi_gpu_test(model,
+ data_loader,
+ tmpdir=None,
+ gpu_collect=False,
+ efficient_test=False):
+ """Test model with multiple gpus.
+
+ This method tests model with multiple gpus and collects the results
+ under two different modes: gpu and cpu modes. By setting 'gpu_collect=True'
+ it encodes results to gpu tensors and use gpu communication for results
+ collection. On cpu mode it saves the results on different gpus to 'tmpdir'
+ and collects them by the rank 0 worker.
+
+ Args:
+ model (nn.Module): Model to be tested.
+ data_loader (utils.data.Dataloader): Pytorch data loader.
+ tmpdir (str): Path of directory to save the temporary results from
+ different gpus under cpu mode.
+ gpu_collect (bool): Option to use either gpu or cpu to collect results.
+ efficient_test (bool): Whether save the results as local numpy files to
+ save CPU memory during evaluation. Default: False.
+
+ Returns:
+ list: The prediction results.
+ """
+
+ model.eval()
+ results = []
+ dataset = data_loader.dataset
+ rank, world_size = get_dist_info()
+ if rank == 0:
+ prog_bar = mmcv.ProgressBar(len(dataset))
+ for i, data in enumerate(data_loader):
+ with torch.no_grad():
+ result = model(return_loss=False, rescale=True, **data)
+
+ if isinstance(result, list):
+ if efficient_test:
+ result = [np2tmp(_) for _ in result]
+ results.extend(result)
+ else:
+ if efficient_test:
+ result = np2tmp(result)
+ results.append(result)
+
+ if rank == 0:
+ batch_size = data['img'][0].size(0)
+ for _ in range(batch_size * world_size):
+ prog_bar.update()
+
+ # collect results from all ranks
+ if gpu_collect:
+ results = collect_results_gpu(results, len(dataset))
+ else:
+ results = collect_results_cpu(results, len(dataset), tmpdir)
+ return results
+
+
+def collect_results_cpu(result_part, size, tmpdir=None):
+ """Collect results with CPU."""
+ rank, world_size = get_dist_info()
+ # create a tmp dir if it is not specified
+ if tmpdir is None:
+ MAX_LEN = 512
+ # 32 is whitespace
+ dir_tensor = torch.full((MAX_LEN, ),
+ 32,
+ dtype=torch.uint8,
+ device='cuda')
+ if rank == 0:
+ tmpdir = tempfile.mkdtemp()
+ tmpdir = torch.tensor(
+ bytearray(tmpdir.encode()), dtype=torch.uint8, device='cuda')
+ dir_tensor[:len(tmpdir)] = tmpdir
+ dist.broadcast(dir_tensor, 0)
+ tmpdir = dir_tensor.cpu().numpy().tobytes().decode().rstrip()
+ else:
+ mmcv.mkdir_or_exist(tmpdir)
+ # dump the part result to the dir
+ mmcv.dump(result_part, osp.join(tmpdir, 'part_{}.pkl'.format(rank)))
+ dist.barrier()
+ # collect all parts
+ if rank != 0:
+ return None
+ else:
+ # load results of all parts from tmp dir
+ part_list = []
+ for i in range(world_size):
+ part_file = osp.join(tmpdir, 'part_{}.pkl'.format(i))
+ part_list.append(mmcv.load(part_file))
+ # sort the results
+ ordered_results = []
+ for res in zip(*part_list):
+ ordered_results.extend(list(res))
+ # the dataloader may pad some samples
+ ordered_results = ordered_results[:size]
+ # remove tmp dir
+ shutil.rmtree(tmpdir)
+ return ordered_results
+
+
+def collect_results_gpu(result_part, size):
+ """Collect results with GPU."""
+ rank, world_size = get_dist_info()
+ # dump result part to tensor with pickle
+ part_tensor = torch.tensor(
+ bytearray(pickle.dumps(result_part)), dtype=torch.uint8, device='cuda')
+ # gather all result part tensor shape
+ shape_tensor = torch.tensor(part_tensor.shape, device='cuda')
+ shape_list = [shape_tensor.clone() for _ in range(world_size)]
+ dist.all_gather(shape_list, shape_tensor)
+ # padding result part tensor to max length
+ shape_max = torch.tensor(shape_list).max()
+ part_send = torch.zeros(shape_max, dtype=torch.uint8, device='cuda')
+ part_send[:shape_tensor[0]] = part_tensor
+ part_recv_list = [
+ part_tensor.new_zeros(shape_max) for _ in range(world_size)
+ ]
+ # gather all result part
+ dist.all_gather(part_recv_list, part_send)
+
+ if rank == 0:
+ part_list = []
+ for recv, shape in zip(part_recv_list, shape_list):
+ part_list.append(
+ pickle.loads(recv[:shape[0]].cpu().numpy().tobytes()))
+ # sort the results
+ ordered_results = []
+ for res in zip(*part_list):
+ ordered_results.extend(list(res))
+ # the dataloader may pad some samples
+ ordered_results = ordered_results[:size]
+ return ordered_results
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/apis/train.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/apis/train.py
new file mode 100644
index 0000000000000000000000000000000000000000..f0a87d65c72e4581c96b41aebf879905510c9d22
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/apis/train.py
@@ -0,0 +1,116 @@
+import random
+import warnings
+
+import numpy as np
+import torch
+from annotator.mmpkg.mmcv.parallel import MMDataParallel, MMDistributedDataParallel
+from annotator.mmpkg.mmcv.runner import build_optimizer, build_runner
+
+from annotator.mmpkg.mmseg.core import DistEvalHook, EvalHook
+from annotator.mmpkg.mmseg.datasets import build_dataloader, build_dataset
+from annotator.mmpkg.mmseg.utils import get_root_logger
+
+
+def set_random_seed(seed, deterministic=False):
+ """Set random seed.
+
+ Args:
+ seed (int): Seed to be used.
+ deterministic (bool): Whether to set the deterministic option for
+ CUDNN backend, i.e., set `torch.backends.cudnn.deterministic`
+ to True and `torch.backends.cudnn.benchmark` to False.
+ Default: False.
+ """
+ random.seed(seed)
+ np.random.seed(seed)
+ torch.manual_seed(seed)
+ torch.cuda.manual_seed_all(seed)
+ if deterministic:
+ torch.backends.cudnn.deterministic = True
+ torch.backends.cudnn.benchmark = False
+
+
+def train_segmentor(model,
+ dataset,
+ cfg,
+ distributed=False,
+ validate=False,
+ timestamp=None,
+ meta=None):
+ """Launch segmentor training."""
+ logger = get_root_logger(cfg.log_level)
+
+ # prepare data loaders
+ dataset = dataset if isinstance(dataset, (list, tuple)) else [dataset]
+ data_loaders = [
+ build_dataloader(
+ ds,
+ cfg.data.samples_per_gpu,
+ cfg.data.workers_per_gpu,
+ # cfg.gpus will be ignored if distributed
+ len(cfg.gpu_ids),
+ dist=distributed,
+ seed=cfg.seed,
+ drop_last=True) for ds in dataset
+ ]
+
+ # put model on gpus
+ if distributed:
+ find_unused_parameters = cfg.get('find_unused_parameters', False)
+ # Sets the `find_unused_parameters` parameter in
+ # torch.nn.parallel.DistributedDataParallel
+ model = MMDistributedDataParallel(
+ model.cuda(),
+ device_ids=[torch.cuda.current_device()],
+ broadcast_buffers=False,
+ find_unused_parameters=find_unused_parameters)
+ else:
+ model = MMDataParallel(
+ model.cuda(cfg.gpu_ids[0]), device_ids=cfg.gpu_ids)
+
+ # build runner
+ optimizer = build_optimizer(model, cfg.optimizer)
+
+ if cfg.get('runner') is None:
+ cfg.runner = {'type': 'IterBasedRunner', 'max_iters': cfg.total_iters}
+ warnings.warn(
+ 'config is now expected to have a `runner` section, '
+ 'please set `runner` in your config.', UserWarning)
+
+ runner = build_runner(
+ cfg.runner,
+ default_args=dict(
+ model=model,
+ batch_processor=None,
+ optimizer=optimizer,
+ work_dir=cfg.work_dir,
+ logger=logger,
+ meta=meta))
+
+ # register hooks
+ runner.register_training_hooks(cfg.lr_config, cfg.optimizer_config,
+ cfg.checkpoint_config, cfg.log_config,
+ cfg.get('momentum_config', None))
+
+ # an ugly walkaround to make the .log and .log.json filenames the same
+ runner.timestamp = timestamp
+
+ # register eval hooks
+ if validate:
+ val_dataset = build_dataset(cfg.data.val, dict(test_mode=True))
+ val_dataloader = build_dataloader(
+ val_dataset,
+ samples_per_gpu=1,
+ workers_per_gpu=cfg.data.workers_per_gpu,
+ dist=distributed,
+ shuffle=False)
+ eval_cfg = cfg.get('evaluation', {})
+ eval_cfg['by_epoch'] = cfg.runner['type'] != 'IterBasedRunner'
+ eval_hook = DistEvalHook if distributed else EvalHook
+ runner.register_hook(eval_hook(val_dataloader, **eval_cfg), priority='LOW')
+
+ if cfg.resume_from:
+ runner.resume(cfg.resume_from)
+ elif cfg.load_from:
+ runner.load_checkpoint(cfg.load_from)
+ runner.run(data_loaders, cfg.workflow)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/core/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/core/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..965605587211b7bf0bd6bc3acdbb33dd49cab023
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/core/__init__.py
@@ -0,0 +1,3 @@
+from .evaluation import * # noqa: F401, F403
+from .seg import * # noqa: F401, F403
+from .utils import * # noqa: F401, F403
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/core/evaluation/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/core/evaluation/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..f7cc4b23413a0639e9de00eeb0bf600632d2c6cd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/core/evaluation/__init__.py
@@ -0,0 +1,8 @@
+from .class_names import get_classes, get_palette
+from .eval_hooks import DistEvalHook, EvalHook
+from .metrics import eval_metrics, mean_dice, mean_fscore, mean_iou
+
+__all__ = [
+ 'EvalHook', 'DistEvalHook', 'mean_dice', 'mean_iou', 'mean_fscore',
+ 'eval_metrics', 'get_classes', 'get_palette'
+]
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/core/evaluation/class_names.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/core/evaluation/class_names.py
new file mode 100644
index 0000000000000000000000000000000000000000..532c5fd78946ede66d747ec8e7b72dbb66471aac
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/core/evaluation/class_names.py
@@ -0,0 +1,152 @@
+import annotator.mmpkg.mmcv as mmcv
+
+
+def cityscapes_classes():
+ """Cityscapes class names for external use."""
+ return [
+ 'road', 'sidewalk', 'building', 'wall', 'fence', 'pole',
+ 'traffic light', 'traffic sign', 'vegetation', 'terrain', 'sky',
+ 'person', 'rider', 'car', 'truck', 'bus', 'train', 'motorcycle',
+ 'bicycle'
+ ]
+
+
+def ade_classes():
+ """ADE20K class names for external use."""
+ return [
+ 'wall', 'building', 'sky', 'floor', 'tree', 'ceiling', 'road', 'bed ',
+ 'windowpane', 'grass', 'cabinet', 'sidewalk', 'person', 'earth',
+ 'door', 'table', 'mountain', 'plant', 'curtain', 'chair', 'car',
+ 'water', 'painting', 'sofa', 'shelf', 'house', 'sea', 'mirror', 'rug',
+ 'field', 'armchair', 'seat', 'fence', 'desk', 'rock', 'wardrobe',
+ 'lamp', 'bathtub', 'railing', 'cushion', 'base', 'box', 'column',
+ 'signboard', 'chest of drawers', 'counter', 'sand', 'sink',
+ 'skyscraper', 'fireplace', 'refrigerator', 'grandstand', 'path',
+ 'stairs', 'runway', 'case', 'pool table', 'pillow', 'screen door',
+ 'stairway', 'river', 'bridge', 'bookcase', 'blind', 'coffee table',
+ 'toilet', 'flower', 'book', 'hill', 'bench', 'countertop', 'stove',
+ 'palm', 'kitchen island', 'computer', 'swivel chair', 'boat', 'bar',
+ 'arcade machine', 'hovel', 'bus', 'towel', 'light', 'truck', 'tower',
+ 'chandelier', 'awning', 'streetlight', 'booth', 'television receiver',
+ 'airplane', 'dirt track', 'apparel', 'pole', 'land', 'bannister',
+ 'escalator', 'ottoman', 'bottle', 'buffet', 'poster', 'stage', 'van',
+ 'ship', 'fountain', 'conveyer belt', 'canopy', 'washer', 'plaything',
+ 'swimming pool', 'stool', 'barrel', 'basket', 'waterfall', 'tent',
+ 'bag', 'minibike', 'cradle', 'oven', 'ball', 'food', 'step', 'tank',
+ 'trade name', 'microwave', 'pot', 'animal', 'bicycle', 'lake',
+ 'dishwasher', 'screen', 'blanket', 'sculpture', 'hood', 'sconce',
+ 'vase', 'traffic light', 'tray', 'ashcan', 'fan', 'pier', 'crt screen',
+ 'plate', 'monitor', 'bulletin board', 'shower', 'radiator', 'glass',
+ 'clock', 'flag'
+ ]
+
+
+def voc_classes():
+ """Pascal VOC class names for external use."""
+ return [
+ 'background', 'aeroplane', 'bicycle', 'bird', 'boat', 'bottle', 'bus',
+ 'car', 'cat', 'chair', 'cow', 'diningtable', 'dog', 'horse',
+ 'motorbike', 'person', 'pottedplant', 'sheep', 'sofa', 'train',
+ 'tvmonitor'
+ ]
+
+
+def cityscapes_palette():
+ """Cityscapes palette for external use."""
+ return [[128, 64, 128], [244, 35, 232], [70, 70, 70], [102, 102, 156],
+ [190, 153, 153], [153, 153, 153], [250, 170, 30], [220, 220, 0],
+ [107, 142, 35], [152, 251, 152], [70, 130, 180], [220, 20, 60],
+ [255, 0, 0], [0, 0, 142], [0, 0, 70], [0, 60, 100], [0, 80, 100],
+ [0, 0, 230], [119, 11, 32]]
+
+
+def ade_palette():
+ """ADE20K palette for external use."""
+ return [[120, 120, 120], [180, 120, 120], [6, 230, 230], [80, 50, 50],
+ [4, 200, 3], [120, 120, 80], [140, 140, 140], [204, 5, 255],
+ [230, 230, 230], [4, 250, 7], [224, 5, 255], [235, 255, 7],
+ [150, 5, 61], [120, 120, 70], [8, 255, 51], [255, 6, 82],
+ [143, 255, 140], [204, 255, 4], [255, 51, 7], [204, 70, 3],
+ [0, 102, 200], [61, 230, 250], [255, 6, 51], [11, 102, 255],
+ [255, 7, 71], [255, 9, 224], [9, 7, 230], [220, 220, 220],
+ [255, 9, 92], [112, 9, 255], [8, 255, 214], [7, 255, 224],
+ [255, 184, 6], [10, 255, 71], [255, 41, 10], [7, 255, 255],
+ [224, 255, 8], [102, 8, 255], [255, 61, 6], [255, 194, 7],
+ [255, 122, 8], [0, 255, 20], [255, 8, 41], [255, 5, 153],
+ [6, 51, 255], [235, 12, 255], [160, 150, 20], [0, 163, 255],
+ [140, 140, 140], [250, 10, 15], [20, 255, 0], [31, 255, 0],
+ [255, 31, 0], [255, 224, 0], [153, 255, 0], [0, 0, 255],
+ [255, 71, 0], [0, 235, 255], [0, 173, 255], [31, 0, 255],
+ [11, 200, 200], [255, 82, 0], [0, 255, 245], [0, 61, 255],
+ [0, 255, 112], [0, 255, 133], [255, 0, 0], [255, 163, 0],
+ [255, 102, 0], [194, 255, 0], [0, 143, 255], [51, 255, 0],
+ [0, 82, 255], [0, 255, 41], [0, 255, 173], [10, 0, 255],
+ [173, 255, 0], [0, 255, 153], [255, 92, 0], [255, 0, 255],
+ [255, 0, 245], [255, 0, 102], [255, 173, 0], [255, 0, 20],
+ [255, 184, 184], [0, 31, 255], [0, 255, 61], [0, 71, 255],
+ [255, 0, 204], [0, 255, 194], [0, 255, 82], [0, 10, 255],
+ [0, 112, 255], [51, 0, 255], [0, 194, 255], [0, 122, 255],
+ [0, 255, 163], [255, 153, 0], [0, 255, 10], [255, 112, 0],
+ [143, 255, 0], [82, 0, 255], [163, 255, 0], [255, 235, 0],
+ [8, 184, 170], [133, 0, 255], [0, 255, 92], [184, 0, 255],
+ [255, 0, 31], [0, 184, 255], [0, 214, 255], [255, 0, 112],
+ [92, 255, 0], [0, 224, 255], [112, 224, 255], [70, 184, 160],
+ [163, 0, 255], [153, 0, 255], [71, 255, 0], [255, 0, 163],
+ [255, 204, 0], [255, 0, 143], [0, 255, 235], [133, 255, 0],
+ [255, 0, 235], [245, 0, 255], [255, 0, 122], [255, 245, 0],
+ [10, 190, 212], [214, 255, 0], [0, 204, 255], [20, 0, 255],
+ [255, 255, 0], [0, 153, 255], [0, 41, 255], [0, 255, 204],
+ [41, 0, 255], [41, 255, 0], [173, 0, 255], [0, 245, 255],
+ [71, 0, 255], [122, 0, 255], [0, 255, 184], [0, 92, 255],
+ [184, 255, 0], [0, 133, 255], [255, 214, 0], [25, 194, 194],
+ [102, 255, 0], [92, 0, 255]]
+
+
+def voc_palette():
+ """Pascal VOC palette for external use."""
+ return [[0, 0, 0], [128, 0, 0], [0, 128, 0], [128, 128, 0], [0, 0, 128],
+ [128, 0, 128], [0, 128, 128], [128, 128, 128], [64, 0, 0],
+ [192, 0, 0], [64, 128, 0], [192, 128, 0], [64, 0, 128],
+ [192, 0, 128], [64, 128, 128], [192, 128, 128], [0, 64, 0],
+ [128, 64, 0], [0, 192, 0], [128, 192, 0], [0, 64, 128]]
+
+
+dataset_aliases = {
+ 'cityscapes': ['cityscapes'],
+ 'ade': ['ade', 'ade20k'],
+ 'voc': ['voc', 'pascal_voc', 'voc12', 'voc12aug']
+}
+
+
+def get_classes(dataset):
+ """Get class names of a dataset."""
+ alias2name = {}
+ for name, aliases in dataset_aliases.items():
+ for alias in aliases:
+ alias2name[alias] = name
+
+ if mmcv.is_str(dataset):
+ if dataset in alias2name:
+ labels = eval(alias2name[dataset] + '_classes()')
+ else:
+ raise ValueError(f'Unrecognized dataset: {dataset}')
+ else:
+ raise TypeError(f'dataset must a str, but got {type(dataset)}')
+ return labels
+
+
+def get_palette(dataset):
+ """Get class palette (RGB) of a dataset."""
+ alias2name = {}
+ for name, aliases in dataset_aliases.items():
+ for alias in aliases:
+ alias2name[alias] = name
+
+ if mmcv.is_str(dataset):
+ if dataset in alias2name:
+ labels = eval(alias2name[dataset] + '_palette()')
+ else:
+ raise ValueError(f'Unrecognized dataset: {dataset}')
+ else:
+ raise TypeError(f'dataset must a str, but got {type(dataset)}')
+ return labels
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/core/evaluation/eval_hooks.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/core/evaluation/eval_hooks.py
new file mode 100644
index 0000000000000000000000000000000000000000..408e9670f61d1b118477562b341adc644c52799a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/core/evaluation/eval_hooks.py
@@ -0,0 +1,109 @@
+import os.path as osp
+
+from annotator.mmpkg.mmcv.runner import DistEvalHook as _DistEvalHook
+from annotator.mmpkg.mmcv.runner import EvalHook as _EvalHook
+
+
+class EvalHook(_EvalHook):
+ """Single GPU EvalHook, with efficient test support.
+
+ Args:
+ by_epoch (bool): Determine perform evaluation by epoch or by iteration.
+ If set to True, it will perform by epoch. Otherwise, by iteration.
+ Default: False.
+ efficient_test (bool): Whether save the results as local numpy files to
+ save CPU memory during evaluation. Default: False.
+ Returns:
+ list: The prediction results.
+ """
+
+ greater_keys = ['mIoU', 'mAcc', 'aAcc']
+
+ def __init__(self, *args, by_epoch=False, efficient_test=False, **kwargs):
+ super().__init__(*args, by_epoch=by_epoch, **kwargs)
+ self.efficient_test = efficient_test
+
+ def after_train_iter(self, runner):
+ """After train epoch hook.
+
+ Override default ``single_gpu_test``.
+ """
+ if self.by_epoch or not self.every_n_iters(runner, self.interval):
+ return
+ from annotator.mmpkg.mmseg.apis import single_gpu_test
+ runner.log_buffer.clear()
+ results = single_gpu_test(
+ runner.model,
+ self.dataloader,
+ show=False,
+ efficient_test=self.efficient_test)
+ self.evaluate(runner, results)
+
+ def after_train_epoch(self, runner):
+ """After train epoch hook.
+
+ Override default ``single_gpu_test``.
+ """
+ if not self.by_epoch or not self.every_n_epochs(runner, self.interval):
+ return
+ from annotator.mmpkg.mmseg.apis import single_gpu_test
+ runner.log_buffer.clear()
+ results = single_gpu_test(runner.model, self.dataloader, show=False)
+ self.evaluate(runner, results)
+
+
+class DistEvalHook(_DistEvalHook):
+ """Distributed EvalHook, with efficient test support.
+
+ Args:
+ by_epoch (bool): Determine perform evaluation by epoch or by iteration.
+ If set to True, it will perform by epoch. Otherwise, by iteration.
+ Default: False.
+ efficient_test (bool): Whether save the results as local numpy files to
+ save CPU memory during evaluation. Default: False.
+ Returns:
+ list: The prediction results.
+ """
+
+ greater_keys = ['mIoU', 'mAcc', 'aAcc']
+
+ def __init__(self, *args, by_epoch=False, efficient_test=False, **kwargs):
+ super().__init__(*args, by_epoch=by_epoch, **kwargs)
+ self.efficient_test = efficient_test
+
+ def after_train_iter(self, runner):
+ """After train epoch hook.
+
+ Override default ``multi_gpu_test``.
+ """
+ if self.by_epoch or not self.every_n_iters(runner, self.interval):
+ return
+ from annotator.mmpkg.mmseg.apis import multi_gpu_test
+ runner.log_buffer.clear()
+ results = multi_gpu_test(
+ runner.model,
+ self.dataloader,
+ tmpdir=osp.join(runner.work_dir, '.eval_hook'),
+ gpu_collect=self.gpu_collect,
+ efficient_test=self.efficient_test)
+ if runner.rank == 0:
+ print('\n')
+ self.evaluate(runner, results)
+
+ def after_train_epoch(self, runner):
+ """After train epoch hook.
+
+ Override default ``multi_gpu_test``.
+ """
+ if not self.by_epoch or not self.every_n_epochs(runner, self.interval):
+ return
+ from annotator.mmpkg.mmseg.apis import multi_gpu_test
+ runner.log_buffer.clear()
+ results = multi_gpu_test(
+ runner.model,
+ self.dataloader,
+ tmpdir=osp.join(runner.work_dir, '.eval_hook'),
+ gpu_collect=self.gpu_collect)
+ if runner.rank == 0:
+ print('\n')
+ self.evaluate(runner, results)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/core/evaluation/metrics.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/core/evaluation/metrics.py
new file mode 100644
index 0000000000000000000000000000000000000000..8ede737624a0ba6e6365639f7019ac2527052cfd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/core/evaluation/metrics.py
@@ -0,0 +1,326 @@
+from collections import OrderedDict
+
+import annotator.mmpkg.mmcv as mmcv
+import numpy as np
+import torch
+
+
+def f_score(precision, recall, beta=1):
+ """calcuate the f-score value.
+
+ Args:
+ precision (float | torch.Tensor): The precision value.
+ recall (float | torch.Tensor): The recall value.
+ beta (int): Determines the weight of recall in the combined score.
+ Default: False.
+
+ Returns:
+ [torch.tensor]: The f-score value.
+ """
+ score = (1 + beta**2) * (precision * recall) / (
+ (beta**2 * precision) + recall)
+ return score
+
+
+def intersect_and_union(pred_label,
+ label,
+ num_classes,
+ ignore_index,
+ label_map=dict(),
+ reduce_zero_label=False):
+ """Calculate intersection and Union.
+
+ Args:
+ pred_label (ndarray | str): Prediction segmentation map
+ or predict result filename.
+ label (ndarray | str): Ground truth segmentation map
+ or label filename.
+ num_classes (int): Number of categories.
+ ignore_index (int): Index that will be ignored in evaluation.
+ label_map (dict): Mapping old labels to new labels. The parameter will
+ work only when label is str. Default: dict().
+ reduce_zero_label (bool): Whether ignore zero label. The parameter will
+ work only when label is str. Default: False.
+
+ Returns:
+ torch.Tensor: The intersection of prediction and ground truth
+ histogram on all classes.
+ torch.Tensor: The union of prediction and ground truth histogram on
+ all classes.
+ torch.Tensor: The prediction histogram on all classes.
+ torch.Tensor: The ground truth histogram on all classes.
+ """
+
+ if isinstance(pred_label, str):
+ pred_label = torch.from_numpy(np.load(pred_label))
+ else:
+ pred_label = torch.from_numpy((pred_label))
+
+ if isinstance(label, str):
+ label = torch.from_numpy(
+ mmcv.imread(label, flag='unchanged', backend='pillow'))
+ else:
+ label = torch.from_numpy(label)
+
+ if label_map is not None:
+ for old_id, new_id in label_map.items():
+ label[label == old_id] = new_id
+ if reduce_zero_label:
+ label[label == 0] = 255
+ label = label - 1
+ label[label == 254] = 255
+
+ mask = (label != ignore_index)
+ pred_label = pred_label[mask]
+ label = label[mask]
+
+ intersect = pred_label[pred_label == label]
+ area_intersect = torch.histc(
+ intersect.float(), bins=(num_classes), min=0, max=num_classes - 1)
+ area_pred_label = torch.histc(
+ pred_label.float(), bins=(num_classes), min=0, max=num_classes - 1)
+ area_label = torch.histc(
+ label.float(), bins=(num_classes), min=0, max=num_classes - 1)
+ area_union = area_pred_label + area_label - area_intersect
+ return area_intersect, area_union, area_pred_label, area_label
+
+
+def total_intersect_and_union(results,
+ gt_seg_maps,
+ num_classes,
+ ignore_index,
+ label_map=dict(),
+ reduce_zero_label=False):
+ """Calculate Total Intersection and Union.
+
+ Args:
+ results (list[ndarray] | list[str]): List of prediction segmentation
+ maps or list of prediction result filenames.
+ gt_seg_maps (list[ndarray] | list[str]): list of ground truth
+ segmentation maps or list of label filenames.
+ num_classes (int): Number of categories.
+ ignore_index (int): Index that will be ignored in evaluation.
+ label_map (dict): Mapping old labels to new labels. Default: dict().
+ reduce_zero_label (bool): Whether ignore zero label. Default: False.
+
+ Returns:
+ ndarray: The intersection of prediction and ground truth histogram
+ on all classes.
+ ndarray: The union of prediction and ground truth histogram on all
+ classes.
+ ndarray: The prediction histogram on all classes.
+ ndarray: The ground truth histogram on all classes.
+ """
+ num_imgs = len(results)
+ assert len(gt_seg_maps) == num_imgs
+ total_area_intersect = torch.zeros((num_classes, ), dtype=torch.float64)
+ total_area_union = torch.zeros((num_classes, ), dtype=torch.float64)
+ total_area_pred_label = torch.zeros((num_classes, ), dtype=torch.float64)
+ total_area_label = torch.zeros((num_classes, ), dtype=torch.float64)
+ for i in range(num_imgs):
+ area_intersect, area_union, area_pred_label, area_label = \
+ intersect_and_union(
+ results[i], gt_seg_maps[i], num_classes, ignore_index,
+ label_map, reduce_zero_label)
+ total_area_intersect += area_intersect
+ total_area_union += area_union
+ total_area_pred_label += area_pred_label
+ total_area_label += area_label
+ return total_area_intersect, total_area_union, total_area_pred_label, \
+ total_area_label
+
+
+def mean_iou(results,
+ gt_seg_maps,
+ num_classes,
+ ignore_index,
+ nan_to_num=None,
+ label_map=dict(),
+ reduce_zero_label=False):
+ """Calculate Mean Intersection and Union (mIoU)
+
+ Args:
+ results (list[ndarray] | list[str]): List of prediction segmentation
+ maps or list of prediction result filenames.
+ gt_seg_maps (list[ndarray] | list[str]): list of ground truth
+ segmentation maps or list of label filenames.
+ num_classes (int): Number of categories.
+ ignore_index (int): Index that will be ignored in evaluation.
+ nan_to_num (int, optional): If specified, NaN values will be replaced
+ by the numbers defined by the user. Default: None.
+ label_map (dict): Mapping old labels to new labels. Default: dict().
+ reduce_zero_label (bool): Whether ignore zero label. Default: False.
+
+ Returns:
+ dict[str, float | ndarray]:
+ float: Overall accuracy on all images.
+ ndarray: Per category accuracy, shape (num_classes, ).
+ ndarray: Per category IoU, shape (num_classes, ).
+ """
+ iou_result = eval_metrics(
+ results=results,
+ gt_seg_maps=gt_seg_maps,
+ num_classes=num_classes,
+ ignore_index=ignore_index,
+ metrics=['mIoU'],
+ nan_to_num=nan_to_num,
+ label_map=label_map,
+ reduce_zero_label=reduce_zero_label)
+ return iou_result
+
+
+def mean_dice(results,
+ gt_seg_maps,
+ num_classes,
+ ignore_index,
+ nan_to_num=None,
+ label_map=dict(),
+ reduce_zero_label=False):
+ """Calculate Mean Dice (mDice)
+
+ Args:
+ results (list[ndarray] | list[str]): List of prediction segmentation
+ maps or list of prediction result filenames.
+ gt_seg_maps (list[ndarray] | list[str]): list of ground truth
+ segmentation maps or list of label filenames.
+ num_classes (int): Number of categories.
+ ignore_index (int): Index that will be ignored in evaluation.
+ nan_to_num (int, optional): If specified, NaN values will be replaced
+ by the numbers defined by the user. Default: None.
+ label_map (dict): Mapping old labels to new labels. Default: dict().
+ reduce_zero_label (bool): Whether ignore zero label. Default: False.
+
+ Returns:
+ dict[str, float | ndarray]: Default metrics.
+ float: Overall accuracy on all images.
+ ndarray: Per category accuracy, shape (num_classes, ).
+ ndarray: Per category dice, shape (num_classes, ).
+ """
+
+ dice_result = eval_metrics(
+ results=results,
+ gt_seg_maps=gt_seg_maps,
+ num_classes=num_classes,
+ ignore_index=ignore_index,
+ metrics=['mDice'],
+ nan_to_num=nan_to_num,
+ label_map=label_map,
+ reduce_zero_label=reduce_zero_label)
+ return dice_result
+
+
+def mean_fscore(results,
+ gt_seg_maps,
+ num_classes,
+ ignore_index,
+ nan_to_num=None,
+ label_map=dict(),
+ reduce_zero_label=False,
+ beta=1):
+ """Calculate Mean Intersection and Union (mIoU)
+
+ Args:
+ results (list[ndarray] | list[str]): List of prediction segmentation
+ maps or list of prediction result filenames.
+ gt_seg_maps (list[ndarray] | list[str]): list of ground truth
+ segmentation maps or list of label filenames.
+ num_classes (int): Number of categories.
+ ignore_index (int): Index that will be ignored in evaluation.
+ nan_to_num (int, optional): If specified, NaN values will be replaced
+ by the numbers defined by the user. Default: None.
+ label_map (dict): Mapping old labels to new labels. Default: dict().
+ reduce_zero_label (bool): Whether ignore zero label. Default: False.
+ beta (int): Determines the weight of recall in the combined score.
+ Default: False.
+
+
+ Returns:
+ dict[str, float | ndarray]: Default metrics.
+ float: Overall accuracy on all images.
+ ndarray: Per category recall, shape (num_classes, ).
+ ndarray: Per category precision, shape (num_classes, ).
+ ndarray: Per category f-score, shape (num_classes, ).
+ """
+ fscore_result = eval_metrics(
+ results=results,
+ gt_seg_maps=gt_seg_maps,
+ num_classes=num_classes,
+ ignore_index=ignore_index,
+ metrics=['mFscore'],
+ nan_to_num=nan_to_num,
+ label_map=label_map,
+ reduce_zero_label=reduce_zero_label,
+ beta=beta)
+ return fscore_result
+
+
+def eval_metrics(results,
+ gt_seg_maps,
+ num_classes,
+ ignore_index,
+ metrics=['mIoU'],
+ nan_to_num=None,
+ label_map=dict(),
+ reduce_zero_label=False,
+ beta=1):
+ """Calculate evaluation metrics
+ Args:
+ results (list[ndarray] | list[str]): List of prediction segmentation
+ maps or list of prediction result filenames.
+ gt_seg_maps (list[ndarray] | list[str]): list of ground truth
+ segmentation maps or list of label filenames.
+ num_classes (int): Number of categories.
+ ignore_index (int): Index that will be ignored in evaluation.
+ metrics (list[str] | str): Metrics to be evaluated, 'mIoU' and 'mDice'.
+ nan_to_num (int, optional): If specified, NaN values will be replaced
+ by the numbers defined by the user. Default: None.
+ label_map (dict): Mapping old labels to new labels. Default: dict().
+ reduce_zero_label (bool): Whether ignore zero label. Default: False.
+ Returns:
+ float: Overall accuracy on all images.
+ ndarray: Per category accuracy, shape (num_classes, ).
+ ndarray: Per category evaluation metrics, shape (num_classes, ).
+ """
+ if isinstance(metrics, str):
+ metrics = [metrics]
+ allowed_metrics = ['mIoU', 'mDice', 'mFscore']
+ if not set(metrics).issubset(set(allowed_metrics)):
+ raise KeyError('metrics {} is not supported'.format(metrics))
+
+ total_area_intersect, total_area_union, total_area_pred_label, \
+ total_area_label = total_intersect_and_union(
+ results, gt_seg_maps, num_classes, ignore_index, label_map,
+ reduce_zero_label)
+ all_acc = total_area_intersect.sum() / total_area_label.sum()
+ ret_metrics = OrderedDict({'aAcc': all_acc})
+ for metric in metrics:
+ if metric == 'mIoU':
+ iou = total_area_intersect / total_area_union
+ acc = total_area_intersect / total_area_label
+ ret_metrics['IoU'] = iou
+ ret_metrics['Acc'] = acc
+ elif metric == 'mDice':
+ dice = 2 * total_area_intersect / (
+ total_area_pred_label + total_area_label)
+ acc = total_area_intersect / total_area_label
+ ret_metrics['Dice'] = dice
+ ret_metrics['Acc'] = acc
+ elif metric == 'mFscore':
+ precision = total_area_intersect / total_area_pred_label
+ recall = total_area_intersect / total_area_label
+ f_value = torch.tensor(
+ [f_score(x[0], x[1], beta) for x in zip(precision, recall)])
+ ret_metrics['Fscore'] = f_value
+ ret_metrics['Precision'] = precision
+ ret_metrics['Recall'] = recall
+
+ ret_metrics = {
+ metric: value.numpy()
+ for metric, value in ret_metrics.items()
+ }
+ if nan_to_num is not None:
+ ret_metrics = OrderedDict({
+ metric: np.nan_to_num(metric_value, nan=nan_to_num)
+ for metric, metric_value in ret_metrics.items()
+ })
+ return ret_metrics
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/core/seg/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/core/seg/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..93bc129b685e4a3efca2cc891729981b2865900d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/core/seg/__init__.py
@@ -0,0 +1,4 @@
+from .builder import build_pixel_sampler
+from .sampler import BasePixelSampler, OHEMPixelSampler
+
+__all__ = ['build_pixel_sampler', 'BasePixelSampler', 'OHEMPixelSampler']
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/core/seg/builder.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/core/seg/builder.py
new file mode 100644
index 0000000000000000000000000000000000000000..f8fff6375622282f85b3acf15af1a7d27fb9c426
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/core/seg/builder.py
@@ -0,0 +1,8 @@
+from annotator.mmpkg.mmcv.utils import Registry, build_from_cfg
+
+PIXEL_SAMPLERS = Registry('pixel sampler')
+
+
+def build_pixel_sampler(cfg, **default_args):
+ """Build pixel sampler for segmentation map."""
+ return build_from_cfg(cfg, PIXEL_SAMPLERS, default_args)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/core/seg/sampler/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/core/seg/sampler/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..332b242c03d1c5e80d4577df442a9a037b1816e1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/core/seg/sampler/__init__.py
@@ -0,0 +1,4 @@
+from .base_pixel_sampler import BasePixelSampler
+from .ohem_pixel_sampler import OHEMPixelSampler
+
+__all__ = ['BasePixelSampler', 'OHEMPixelSampler']
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/core/seg/sampler/base_pixel_sampler.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/core/seg/sampler/base_pixel_sampler.py
new file mode 100644
index 0000000000000000000000000000000000000000..b75b1566c9f18169cee51d4b55d75e0357b69c57
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/core/seg/sampler/base_pixel_sampler.py
@@ -0,0 +1,12 @@
+from abc import ABCMeta, abstractmethod
+
+
+class BasePixelSampler(metaclass=ABCMeta):
+ """Base class of pixel sampler."""
+
+ def __init__(self, **kwargs):
+ pass
+
+ @abstractmethod
+ def sample(self, seg_logit, seg_label):
+ """Placeholder for sample function."""
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/core/seg/sampler/ohem_pixel_sampler.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/core/seg/sampler/ohem_pixel_sampler.py
new file mode 100644
index 0000000000000000000000000000000000000000..88bb10d44026ba9f21756eaea9e550841cd59b9f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/core/seg/sampler/ohem_pixel_sampler.py
@@ -0,0 +1,76 @@
+import torch
+import torch.nn.functional as F
+
+from ..builder import PIXEL_SAMPLERS
+from .base_pixel_sampler import BasePixelSampler
+
+
+@PIXEL_SAMPLERS.register_module()
+class OHEMPixelSampler(BasePixelSampler):
+ """Online Hard Example Mining Sampler for segmentation.
+
+ Args:
+ context (nn.Module): The context of sampler, subclass of
+ :obj:`BaseDecodeHead`.
+ thresh (float, optional): The threshold for hard example selection.
+ Below which, are prediction with low confidence. If not
+ specified, the hard examples will be pixels of top ``min_kept``
+ loss. Default: None.
+ min_kept (int, optional): The minimum number of predictions to keep.
+ Default: 100000.
+ """
+
+ def __init__(self, context, thresh=None, min_kept=100000):
+ super(OHEMPixelSampler, self).__init__()
+ self.context = context
+ assert min_kept > 1
+ self.thresh = thresh
+ self.min_kept = min_kept
+
+ def sample(self, seg_logit, seg_label):
+ """Sample pixels that have high loss or with low prediction confidence.
+
+ Args:
+ seg_logit (torch.Tensor): segmentation logits, shape (N, C, H, W)
+ seg_label (torch.Tensor): segmentation label, shape (N, 1, H, W)
+
+ Returns:
+ torch.Tensor: segmentation weight, shape (N, H, W)
+ """
+ with torch.no_grad():
+ assert seg_logit.shape[2:] == seg_label.shape[2:]
+ assert seg_label.shape[1] == 1
+ seg_label = seg_label.squeeze(1).long()
+ batch_kept = self.min_kept * seg_label.size(0)
+ valid_mask = seg_label != self.context.ignore_index
+ seg_weight = seg_logit.new_zeros(size=seg_label.size())
+ valid_seg_weight = seg_weight[valid_mask]
+ if self.thresh is not None:
+ seg_prob = F.softmax(seg_logit, dim=1)
+
+ tmp_seg_label = seg_label.clone().unsqueeze(1)
+ tmp_seg_label[tmp_seg_label == self.context.ignore_index] = 0
+ seg_prob = seg_prob.gather(1, tmp_seg_label).squeeze(1)
+ sort_prob, sort_indices = seg_prob[valid_mask].sort()
+
+ if sort_prob.numel() > 0:
+ min_threshold = sort_prob[min(batch_kept,
+ sort_prob.numel() - 1)]
+ else:
+ min_threshold = 0.0
+ threshold = max(min_threshold, self.thresh)
+ valid_seg_weight[seg_prob[valid_mask] < threshold] = 1.
+ else:
+ losses = self.context.loss_decode(
+ seg_logit,
+ seg_label,
+ weight=None,
+ ignore_index=self.context.ignore_index,
+ reduction_override='none')
+ # faster than topk according to https://github.com/pytorch/pytorch/issues/22812 # noqa
+ _, sort_indices = losses[valid_mask].sort(descending=True)
+ valid_seg_weight[sort_indices[:batch_kept]] = 1.
+
+ seg_weight[valid_mask] = valid_seg_weight
+
+ return seg_weight
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/core/utils/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/core/utils/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..f2678b321c295bcceaef945111ac3524be19d6e4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/core/utils/__init__.py
@@ -0,0 +1,3 @@
+from .misc import add_prefix
+
+__all__ = ['add_prefix']
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/core/utils/misc.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/core/utils/misc.py
new file mode 100644
index 0000000000000000000000000000000000000000..eb862a82bd47c8624db3dd5c6fb6ad8a03b62466
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/core/utils/misc.py
@@ -0,0 +1,17 @@
+def add_prefix(inputs, prefix):
+ """Add prefix for dict.
+
+ Args:
+ inputs (dict): The input dict with str keys.
+ prefix (str): The prefix to add.
+
+ Returns:
+
+ dict: The dict with keys updated with ``prefix``.
+ """
+
+ outputs = dict()
+ for name, value in inputs.items():
+ outputs[f'{prefix}.{name}'] = value
+
+ return outputs
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..ebeaef4a28ef655e43578552a8aef6b77f13a636
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/__init__.py
@@ -0,0 +1,19 @@
+from .ade import ADE20KDataset
+from .builder import DATASETS, PIPELINES, build_dataloader, build_dataset
+from .chase_db1 import ChaseDB1Dataset
+from .cityscapes import CityscapesDataset
+from .custom import CustomDataset
+from .dataset_wrappers import ConcatDataset, RepeatDataset
+from .drive import DRIVEDataset
+from .hrf import HRFDataset
+from .pascal_context import PascalContextDataset, PascalContextDataset59
+from .stare import STAREDataset
+from .voc import PascalVOCDataset
+
+__all__ = [
+ 'CustomDataset', 'build_dataloader', 'ConcatDataset', 'RepeatDataset',
+ 'DATASETS', 'build_dataset', 'PIPELINES', 'CityscapesDataset',
+ 'PascalVOCDataset', 'ADE20KDataset', 'PascalContextDataset',
+ 'PascalContextDataset59', 'ChaseDB1Dataset', 'DRIVEDataset', 'HRFDataset',
+ 'STAREDataset'
+]
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/ade.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/ade.py
new file mode 100644
index 0000000000000000000000000000000000000000..5913e43775ed4920b6934c855eb5a37c54218ebf
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/ade.py
@@ -0,0 +1,84 @@
+from .builder import DATASETS
+from .custom import CustomDataset
+
+
+@DATASETS.register_module()
+class ADE20KDataset(CustomDataset):
+ """ADE20K dataset.
+
+ In segmentation map annotation for ADE20K, 0 stands for background, which
+ is not included in 150 categories. ``reduce_zero_label`` is fixed to True.
+ The ``img_suffix`` is fixed to '.jpg' and ``seg_map_suffix`` is fixed to
+ '.png'.
+ """
+ CLASSES = (
+ 'wall', 'building', 'sky', 'floor', 'tree', 'ceiling', 'road', 'bed ',
+ 'windowpane', 'grass', 'cabinet', 'sidewalk', 'person', 'earth',
+ 'door', 'table', 'mountain', 'plant', 'curtain', 'chair', 'car',
+ 'water', 'painting', 'sofa', 'shelf', 'house', 'sea', 'mirror', 'rug',
+ 'field', 'armchair', 'seat', 'fence', 'desk', 'rock', 'wardrobe',
+ 'lamp', 'bathtub', 'railing', 'cushion', 'base', 'box', 'column',
+ 'signboard', 'chest of drawers', 'counter', 'sand', 'sink',
+ 'skyscraper', 'fireplace', 'refrigerator', 'grandstand', 'path',
+ 'stairs', 'runway', 'case', 'pool table', 'pillow', 'screen door',
+ 'stairway', 'river', 'bridge', 'bookcase', 'blind', 'coffee table',
+ 'toilet', 'flower', 'book', 'hill', 'bench', 'countertop', 'stove',
+ 'palm', 'kitchen island', 'computer', 'swivel chair', 'boat', 'bar',
+ 'arcade machine', 'hovel', 'bus', 'towel', 'light', 'truck', 'tower',
+ 'chandelier', 'awning', 'streetlight', 'booth', 'television receiver',
+ 'airplane', 'dirt track', 'apparel', 'pole', 'land', 'bannister',
+ 'escalator', 'ottoman', 'bottle', 'buffet', 'poster', 'stage', 'van',
+ 'ship', 'fountain', 'conveyer belt', 'canopy', 'washer', 'plaything',
+ 'swimming pool', 'stool', 'barrel', 'basket', 'waterfall', 'tent',
+ 'bag', 'minibike', 'cradle', 'oven', 'ball', 'food', 'step', 'tank',
+ 'trade name', 'microwave', 'pot', 'animal', 'bicycle', 'lake',
+ 'dishwasher', 'screen', 'blanket', 'sculpture', 'hood', 'sconce',
+ 'vase', 'traffic light', 'tray', 'ashcan', 'fan', 'pier', 'crt screen',
+ 'plate', 'monitor', 'bulletin board', 'shower', 'radiator', 'glass',
+ 'clock', 'flag')
+
+ PALETTE = [[120, 120, 120], [180, 120, 120], [6, 230, 230], [80, 50, 50],
+ [4, 200, 3], [120, 120, 80], [140, 140, 140], [204, 5, 255],
+ [230, 230, 230], [4, 250, 7], [224, 5, 255], [235, 255, 7],
+ [150, 5, 61], [120, 120, 70], [8, 255, 51], [255, 6, 82],
+ [143, 255, 140], [204, 255, 4], [255, 51, 7], [204, 70, 3],
+ [0, 102, 200], [61, 230, 250], [255, 6, 51], [11, 102, 255],
+ [255, 7, 71], [255, 9, 224], [9, 7, 230], [220, 220, 220],
+ [255, 9, 92], [112, 9, 255], [8, 255, 214], [7, 255, 224],
+ [255, 184, 6], [10, 255, 71], [255, 41, 10], [7, 255, 255],
+ [224, 255, 8], [102, 8, 255], [255, 61, 6], [255, 194, 7],
+ [255, 122, 8], [0, 255, 20], [255, 8, 41], [255, 5, 153],
+ [6, 51, 255], [235, 12, 255], [160, 150, 20], [0, 163, 255],
+ [140, 140, 140], [250, 10, 15], [20, 255, 0], [31, 255, 0],
+ [255, 31, 0], [255, 224, 0], [153, 255, 0], [0, 0, 255],
+ [255, 71, 0], [0, 235, 255], [0, 173, 255], [31, 0, 255],
+ [11, 200, 200], [255, 82, 0], [0, 255, 245], [0, 61, 255],
+ [0, 255, 112], [0, 255, 133], [255, 0, 0], [255, 163, 0],
+ [255, 102, 0], [194, 255, 0], [0, 143, 255], [51, 255, 0],
+ [0, 82, 255], [0, 255, 41], [0, 255, 173], [10, 0, 255],
+ [173, 255, 0], [0, 255, 153], [255, 92, 0], [255, 0, 255],
+ [255, 0, 245], [255, 0, 102], [255, 173, 0], [255, 0, 20],
+ [255, 184, 184], [0, 31, 255], [0, 255, 61], [0, 71, 255],
+ [255, 0, 204], [0, 255, 194], [0, 255, 82], [0, 10, 255],
+ [0, 112, 255], [51, 0, 255], [0, 194, 255], [0, 122, 255],
+ [0, 255, 163], [255, 153, 0], [0, 255, 10], [255, 112, 0],
+ [143, 255, 0], [82, 0, 255], [163, 255, 0], [255, 235, 0],
+ [8, 184, 170], [133, 0, 255], [0, 255, 92], [184, 0, 255],
+ [255, 0, 31], [0, 184, 255], [0, 214, 255], [255, 0, 112],
+ [92, 255, 0], [0, 224, 255], [112, 224, 255], [70, 184, 160],
+ [163, 0, 255], [153, 0, 255], [71, 255, 0], [255, 0, 163],
+ [255, 204, 0], [255, 0, 143], [0, 255, 235], [133, 255, 0],
+ [255, 0, 235], [245, 0, 255], [255, 0, 122], [255, 245, 0],
+ [10, 190, 212], [214, 255, 0], [0, 204, 255], [20, 0, 255],
+ [255, 255, 0], [0, 153, 255], [0, 41, 255], [0, 255, 204],
+ [41, 0, 255], [41, 255, 0], [173, 0, 255], [0, 245, 255],
+ [71, 0, 255], [122, 0, 255], [0, 255, 184], [0, 92, 255],
+ [184, 255, 0], [0, 133, 255], [255, 214, 0], [25, 194, 194],
+ [102, 255, 0], [92, 0, 255]]
+
+ def __init__(self, **kwargs):
+ super(ADE20KDataset, self).__init__(
+ img_suffix='.jpg',
+ seg_map_suffix='.png',
+ reduce_zero_label=True,
+ **kwargs)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/builder.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/builder.py
new file mode 100644
index 0000000000000000000000000000000000000000..6cf8b4d9d32d4464905507cd54a84eb534f38bb6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/builder.py
@@ -0,0 +1,169 @@
+import copy
+import platform
+import random
+from functools import partial
+
+import numpy as np
+from annotator.mmpkg.mmcv.parallel import collate
+from annotator.mmpkg.mmcv.runner import get_dist_info
+from annotator.mmpkg.mmcv.utils import Registry, build_from_cfg
+from annotator.mmpkg.mmcv.utils.parrots_wrapper import DataLoader, PoolDataLoader
+from torch.utils.data import DistributedSampler
+
+if platform.system() != 'Windows':
+ # https://github.com/pytorch/pytorch/issues/973
+ import resource
+ rlimit = resource.getrlimit(resource.RLIMIT_NOFILE)
+ hard_limit = rlimit[1]
+ soft_limit = min(4096, hard_limit)
+ resource.setrlimit(resource.RLIMIT_NOFILE, (soft_limit, hard_limit))
+
+DATASETS = Registry('dataset')
+PIPELINES = Registry('pipeline')
+
+
+def _concat_dataset(cfg, default_args=None):
+ """Build :obj:`ConcatDataset by."""
+ from .dataset_wrappers import ConcatDataset
+ img_dir = cfg['img_dir']
+ ann_dir = cfg.get('ann_dir', None)
+ split = cfg.get('split', None)
+ num_img_dir = len(img_dir) if isinstance(img_dir, (list, tuple)) else 1
+ if ann_dir is not None:
+ num_ann_dir = len(ann_dir) if isinstance(ann_dir, (list, tuple)) else 1
+ else:
+ num_ann_dir = 0
+ if split is not None:
+ num_split = len(split) if isinstance(split, (list, tuple)) else 1
+ else:
+ num_split = 0
+ if num_img_dir > 1:
+ assert num_img_dir == num_ann_dir or num_ann_dir == 0
+ assert num_img_dir == num_split or num_split == 0
+ else:
+ assert num_split == num_ann_dir or num_ann_dir <= 1
+ num_dset = max(num_split, num_img_dir)
+
+ datasets = []
+ for i in range(num_dset):
+ data_cfg = copy.deepcopy(cfg)
+ if isinstance(img_dir, (list, tuple)):
+ data_cfg['img_dir'] = img_dir[i]
+ if isinstance(ann_dir, (list, tuple)):
+ data_cfg['ann_dir'] = ann_dir[i]
+ if isinstance(split, (list, tuple)):
+ data_cfg['split'] = split[i]
+ datasets.append(build_dataset(data_cfg, default_args))
+
+ return ConcatDataset(datasets)
+
+
+def build_dataset(cfg, default_args=None):
+ """Build datasets."""
+ from .dataset_wrappers import ConcatDataset, RepeatDataset
+ if isinstance(cfg, (list, tuple)):
+ dataset = ConcatDataset([build_dataset(c, default_args) for c in cfg])
+ elif cfg['type'] == 'RepeatDataset':
+ dataset = RepeatDataset(
+ build_dataset(cfg['dataset'], default_args), cfg['times'])
+ elif isinstance(cfg.get('img_dir'), (list, tuple)) or isinstance(
+ cfg.get('split', None), (list, tuple)):
+ dataset = _concat_dataset(cfg, default_args)
+ else:
+ dataset = build_from_cfg(cfg, DATASETS, default_args)
+
+ return dataset
+
+
+def build_dataloader(dataset,
+ samples_per_gpu,
+ workers_per_gpu,
+ num_gpus=1,
+ dist=True,
+ shuffle=True,
+ seed=None,
+ drop_last=False,
+ pin_memory=True,
+ dataloader_type='PoolDataLoader',
+ **kwargs):
+ """Build PyTorch DataLoader.
+
+ In distributed training, each GPU/process has a dataloader.
+ In non-distributed training, there is only one dataloader for all GPUs.
+
+ Args:
+ dataset (Dataset): A PyTorch dataset.
+ samples_per_gpu (int): Number of training samples on each GPU, i.e.,
+ batch size of each GPU.
+ workers_per_gpu (int): How many subprocesses to use for data loading
+ for each GPU.
+ num_gpus (int): Number of GPUs. Only used in non-distributed training.
+ dist (bool): Distributed training/test or not. Default: True.
+ shuffle (bool): Whether to shuffle the data at every epoch.
+ Default: True.
+ seed (int | None): Seed to be used. Default: None.
+ drop_last (bool): Whether to drop the last incomplete batch in epoch.
+ Default: False
+ pin_memory (bool): Whether to use pin_memory in DataLoader.
+ Default: True
+ dataloader_type (str): Type of dataloader. Default: 'PoolDataLoader'
+ kwargs: any keyword argument to be used to initialize DataLoader
+
+ Returns:
+ DataLoader: A PyTorch dataloader.
+ """
+ rank, world_size = get_dist_info()
+ if dist:
+ sampler = DistributedSampler(
+ dataset, world_size, rank, shuffle=shuffle)
+ shuffle = False
+ batch_size = samples_per_gpu
+ num_workers = workers_per_gpu
+ else:
+ sampler = None
+ batch_size = num_gpus * samples_per_gpu
+ num_workers = num_gpus * workers_per_gpu
+
+ init_fn = partial(
+ worker_init_fn, num_workers=num_workers, rank=rank,
+ seed=seed) if seed is not None else None
+
+ assert dataloader_type in (
+ 'DataLoader',
+ 'PoolDataLoader'), f'unsupported dataloader {dataloader_type}'
+
+ if dataloader_type == 'PoolDataLoader':
+ dataloader = PoolDataLoader
+ elif dataloader_type == 'DataLoader':
+ dataloader = DataLoader
+
+ data_loader = dataloader(
+ dataset,
+ batch_size=batch_size,
+ sampler=sampler,
+ num_workers=num_workers,
+ collate_fn=partial(collate, samples_per_gpu=samples_per_gpu),
+ pin_memory=pin_memory,
+ shuffle=shuffle,
+ worker_init_fn=init_fn,
+ drop_last=drop_last,
+ **kwargs)
+
+ return data_loader
+
+
+def worker_init_fn(worker_id, num_workers, rank, seed):
+ """Worker init func for dataloader.
+
+ The seed of each worker equals to num_worker * rank + worker_id + user_seed
+
+ Args:
+ worker_id (int): Worker id.
+ num_workers (int): Number of workers.
+ rank (int): The rank of current process.
+ seed (int): The random seed to use.
+ """
+
+ worker_seed = num_workers * rank + worker_id + seed
+ np.random.seed(worker_seed)
+ random.seed(worker_seed)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/chase_db1.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/chase_db1.py
new file mode 100644
index 0000000000000000000000000000000000000000..8bc29bea14704a4407f83474610cbc3bef32c708
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/chase_db1.py
@@ -0,0 +1,27 @@
+import os.path as osp
+
+from .builder import DATASETS
+from .custom import CustomDataset
+
+
+@DATASETS.register_module()
+class ChaseDB1Dataset(CustomDataset):
+ """Chase_db1 dataset.
+
+ In segmentation map annotation for Chase_db1, 0 stands for background,
+ which is included in 2 categories. ``reduce_zero_label`` is fixed to False.
+ The ``img_suffix`` is fixed to '.png' and ``seg_map_suffix`` is fixed to
+ '_1stHO.png'.
+ """
+
+ CLASSES = ('background', 'vessel')
+
+ PALETTE = [[120, 120, 120], [6, 230, 230]]
+
+ def __init__(self, **kwargs):
+ super(ChaseDB1Dataset, self).__init__(
+ img_suffix='.png',
+ seg_map_suffix='_1stHO.png',
+ reduce_zero_label=False,
+ **kwargs)
+ assert osp.exists(self.img_dir)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/cityscapes.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/cityscapes.py
new file mode 100644
index 0000000000000000000000000000000000000000..38f80e8043d25178cf5dac18911241c74be4e3ac
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/cityscapes.py
@@ -0,0 +1,217 @@
+import os.path as osp
+import tempfile
+
+import annotator.mmpkg.mmcv as mmcv
+import numpy as np
+from annotator.mmpkg.mmcv.utils import print_log
+from PIL import Image
+
+from .builder import DATASETS
+from .custom import CustomDataset
+
+
+@DATASETS.register_module()
+class CityscapesDataset(CustomDataset):
+ """Cityscapes dataset.
+
+ The ``img_suffix`` is fixed to '_leftImg8bit.png' and ``seg_map_suffix`` is
+ fixed to '_gtFine_labelTrainIds.png' for Cityscapes dataset.
+ """
+
+ CLASSES = ('road', 'sidewalk', 'building', 'wall', 'fence', 'pole',
+ 'traffic light', 'traffic sign', 'vegetation', 'terrain', 'sky',
+ 'person', 'rider', 'car', 'truck', 'bus', 'train', 'motorcycle',
+ 'bicycle')
+
+ PALETTE = [[128, 64, 128], [244, 35, 232], [70, 70, 70], [102, 102, 156],
+ [190, 153, 153], [153, 153, 153], [250, 170, 30], [220, 220, 0],
+ [107, 142, 35], [152, 251, 152], [70, 130, 180], [220, 20, 60],
+ [255, 0, 0], [0, 0, 142], [0, 0, 70], [0, 60, 100],
+ [0, 80, 100], [0, 0, 230], [119, 11, 32]]
+
+ def __init__(self, **kwargs):
+ super(CityscapesDataset, self).__init__(
+ img_suffix='_leftImg8bit.png',
+ seg_map_suffix='_gtFine_labelTrainIds.png',
+ **kwargs)
+
+ @staticmethod
+ def _convert_to_label_id(result):
+ """Convert trainId to id for cityscapes."""
+ if isinstance(result, str):
+ result = np.load(result)
+ import cityscapesscripts.helpers.labels as CSLabels
+ result_copy = result.copy()
+ for trainId, label in CSLabels.trainId2label.items():
+ result_copy[result == trainId] = label.id
+
+ return result_copy
+
+ def results2img(self, results, imgfile_prefix, to_label_id):
+ """Write the segmentation results to images.
+
+ Args:
+ results (list[list | tuple | ndarray]): Testing results of the
+ dataset.
+ imgfile_prefix (str): The filename prefix of the png files.
+ If the prefix is "somepath/xxx",
+ the png files will be named "somepath/xxx.png".
+ to_label_id (bool): whether convert output to label_id for
+ submission
+
+ Returns:
+ list[str: str]: result txt files which contains corresponding
+ semantic segmentation images.
+ """
+ mmcv.mkdir_or_exist(imgfile_prefix)
+ result_files = []
+ prog_bar = mmcv.ProgressBar(len(self))
+ for idx in range(len(self)):
+ result = results[idx]
+ if to_label_id:
+ result = self._convert_to_label_id(result)
+ filename = self.img_infos[idx]['filename']
+ basename = osp.splitext(osp.basename(filename))[0]
+
+ png_filename = osp.join(imgfile_prefix, f'{basename}.png')
+
+ output = Image.fromarray(result.astype(np.uint8)).convert('P')
+ import cityscapesscripts.helpers.labels as CSLabels
+ palette = np.zeros((len(CSLabels.id2label), 3), dtype=np.uint8)
+ for label_id, label in CSLabels.id2label.items():
+ palette[label_id] = label.color
+
+ output.putpalette(palette)
+ output.save(png_filename)
+ result_files.append(png_filename)
+ prog_bar.update()
+
+ return result_files
+
+ def format_results(self, results, imgfile_prefix=None, to_label_id=True):
+ """Format the results into dir (standard format for Cityscapes
+ evaluation).
+
+ Args:
+ results (list): Testing results of the dataset.
+ imgfile_prefix (str | None): The prefix of images files. It
+ includes the file path and the prefix of filename, e.g.,
+ "a/b/prefix". If not specified, a temp file will be created.
+ Default: None.
+ to_label_id (bool): whether convert output to label_id for
+ submission. Default: False
+
+ Returns:
+ tuple: (result_files, tmp_dir), result_files is a list containing
+ the image paths, tmp_dir is the temporal directory created
+ for saving json/png files when img_prefix is not specified.
+ """
+
+ assert isinstance(results, list), 'results must be a list'
+ assert len(results) == len(self), (
+ 'The length of results is not equal to the dataset len: '
+ f'{len(results)} != {len(self)}')
+
+ if imgfile_prefix is None:
+ tmp_dir = tempfile.TemporaryDirectory()
+ imgfile_prefix = tmp_dir.name
+ else:
+ tmp_dir = None
+ result_files = self.results2img(results, imgfile_prefix, to_label_id)
+
+ return result_files, tmp_dir
+
+ def evaluate(self,
+ results,
+ metric='mIoU',
+ logger=None,
+ imgfile_prefix=None,
+ efficient_test=False):
+ """Evaluation in Cityscapes/default protocol.
+
+ Args:
+ results (list): Testing results of the dataset.
+ metric (str | list[str]): Metrics to be evaluated.
+ logger (logging.Logger | None | str): Logger used for printing
+ related information during evaluation. Default: None.
+ imgfile_prefix (str | None): The prefix of output image file,
+ for cityscapes evaluation only. It includes the file path and
+ the prefix of filename, e.g., "a/b/prefix".
+ If results are evaluated with cityscapes protocol, it would be
+ the prefix of output png files. The output files would be
+ png images under folder "a/b/prefix/xxx.png", where "xxx" is
+ the image name of cityscapes. If not specified, a temp file
+ will be created for evaluation.
+ Default: None.
+
+ Returns:
+ dict[str, float]: Cityscapes/default metrics.
+ """
+
+ eval_results = dict()
+ metrics = metric.copy() if isinstance(metric, list) else [metric]
+ if 'cityscapes' in metrics:
+ eval_results.update(
+ self._evaluate_cityscapes(results, logger, imgfile_prefix))
+ metrics.remove('cityscapes')
+ if len(metrics) > 0:
+ eval_results.update(
+ super(CityscapesDataset,
+ self).evaluate(results, metrics, logger, efficient_test))
+
+ return eval_results
+
+ def _evaluate_cityscapes(self, results, logger, imgfile_prefix):
+ """Evaluation in Cityscapes protocol.
+
+ Args:
+ results (list): Testing results of the dataset.
+ logger (logging.Logger | str | None): Logger used for printing
+ related information during evaluation. Default: None.
+ imgfile_prefix (str | None): The prefix of output image file
+
+ Returns:
+ dict[str: float]: Cityscapes evaluation results.
+ """
+ try:
+ import cityscapesscripts.evaluation.evalPixelLevelSemanticLabeling as CSEval # noqa
+ except ImportError:
+ raise ImportError('Please run "pip install cityscapesscripts" to '
+ 'install cityscapesscripts first.')
+ msg = 'Evaluating in Cityscapes style'
+ if logger is None:
+ msg = '\n' + msg
+ print_log(msg, logger=logger)
+
+ result_files, tmp_dir = self.format_results(results, imgfile_prefix)
+
+ if tmp_dir is None:
+ result_dir = imgfile_prefix
+ else:
+ result_dir = tmp_dir.name
+
+ eval_results = dict()
+ print_log(f'Evaluating results under {result_dir} ...', logger=logger)
+
+ CSEval.args.evalInstLevelScore = True
+ CSEval.args.predictionPath = osp.abspath(result_dir)
+ CSEval.args.evalPixelAccuracy = True
+ CSEval.args.JSONOutput = False
+
+ seg_map_list = []
+ pred_list = []
+
+ # when evaluating with official cityscapesscripts,
+ # **_gtFine_labelIds.png is used
+ for seg_map in mmcv.scandir(
+ self.ann_dir, 'gtFine_labelIds.png', recursive=True):
+ seg_map_list.append(osp.join(self.ann_dir, seg_map))
+ pred_list.append(CSEval.getPrediction(CSEval.args, seg_map))
+
+ eval_results.update(
+ CSEval.evaluateImgLists(pred_list, seg_map_list, CSEval.args))
+
+ if tmp_dir is not None:
+ tmp_dir.cleanup()
+
+ return eval_results
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/custom.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/custom.py
new file mode 100644
index 0000000000000000000000000000000000000000..3a626976c7fa88c3d1c1e871ef621422acc1be83
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/custom.py
@@ -0,0 +1,403 @@
+import os
+import os.path as osp
+from collections import OrderedDict
+from functools import reduce
+
+import annotator.mmpkg.mmcv as mmcv
+import numpy as np
+from annotator.mmpkg.mmcv.utils import print_log
+from torch.utils.data import Dataset
+
+from annotator.mmpkg.mmseg.core import eval_metrics
+from annotator.mmpkg.mmseg.utils import get_root_logger
+from .builder import DATASETS
+from .pipelines import Compose
+
+
+@DATASETS.register_module()
+class CustomDataset(Dataset):
+ """Custom dataset for semantic segmentation. An example of file structure
+ is as followed.
+
+ .. code-block:: none
+
+ ├── data
+ │ ├── my_dataset
+ │ │ ├── img_dir
+ │ │ │ ├── train
+ │ │ │ │ ├── xxx{img_suffix}
+ │ │ │ │ ├── yyy{img_suffix}
+ │ │ │ │ ├── zzz{img_suffix}
+ │ │ │ ├── val
+ │ │ ├── ann_dir
+ │ │ │ ├── train
+ │ │ │ │ ├── xxx{seg_map_suffix}
+ │ │ │ │ ├── yyy{seg_map_suffix}
+ │ │ │ │ ├── zzz{seg_map_suffix}
+ │ │ │ ├── val
+
+ The img/gt_semantic_seg pair of CustomDataset should be of the same
+ except suffix. A valid img/gt_semantic_seg filename pair should be like
+ ``xxx{img_suffix}`` and ``xxx{seg_map_suffix}`` (extension is also included
+ in the suffix). If split is given, then ``xxx`` is specified in txt file.
+ Otherwise, all files in ``img_dir/``and ``ann_dir`` will be loaded.
+ Please refer to ``docs/tutorials/new_dataset.md`` for more details.
+
+
+ Args:
+ pipeline (list[dict]): Processing pipeline
+ img_dir (str): Path to image directory
+ img_suffix (str): Suffix of images. Default: '.jpg'
+ ann_dir (str, optional): Path to annotation directory. Default: None
+ seg_map_suffix (str): Suffix of segmentation maps. Default: '.png'
+ split (str, optional): Split txt file. If split is specified, only
+ file with suffix in the splits will be loaded. Otherwise, all
+ images in img_dir/ann_dir will be loaded. Default: None
+ data_root (str, optional): Data root for img_dir/ann_dir. Default:
+ None.
+ test_mode (bool): If test_mode=True, gt wouldn't be loaded.
+ ignore_index (int): The label index to be ignored. Default: 255
+ reduce_zero_label (bool): Whether to mark label zero as ignored.
+ Default: False
+ classes (str | Sequence[str], optional): Specify classes to load.
+ If is None, ``cls.CLASSES`` will be used. Default: None.
+ palette (Sequence[Sequence[int]]] | np.ndarray | None):
+ The palette of segmentation map. If None is given, and
+ self.PALETTE is None, random palette will be generated.
+ Default: None
+ """
+
+ CLASSES = None
+
+ PALETTE = None
+
+ def __init__(self,
+ pipeline,
+ img_dir,
+ img_suffix='.jpg',
+ ann_dir=None,
+ seg_map_suffix='.png',
+ split=None,
+ data_root=None,
+ test_mode=False,
+ ignore_index=255,
+ reduce_zero_label=False,
+ classes=None,
+ palette=None):
+ self.pipeline = Compose(pipeline)
+ self.img_dir = img_dir
+ self.img_suffix = img_suffix
+ self.ann_dir = ann_dir
+ self.seg_map_suffix = seg_map_suffix
+ self.split = split
+ self.data_root = data_root
+ self.test_mode = test_mode
+ self.ignore_index = ignore_index
+ self.reduce_zero_label = reduce_zero_label
+ self.label_map = None
+ self.CLASSES, self.PALETTE = self.get_classes_and_palette(
+ classes, palette)
+
+ # join paths if data_root is specified
+ if self.data_root is not None:
+ if not osp.isabs(self.img_dir):
+ self.img_dir = osp.join(self.data_root, self.img_dir)
+ if not (self.ann_dir is None or osp.isabs(self.ann_dir)):
+ self.ann_dir = osp.join(self.data_root, self.ann_dir)
+ if not (self.split is None or osp.isabs(self.split)):
+ self.split = osp.join(self.data_root, self.split)
+
+ # load annotations
+ self.img_infos = self.load_annotations(self.img_dir, self.img_suffix,
+ self.ann_dir,
+ self.seg_map_suffix, self.split)
+
+ def __len__(self):
+ """Total number of samples of data."""
+ return len(self.img_infos)
+
+ def load_annotations(self, img_dir, img_suffix, ann_dir, seg_map_suffix,
+ split):
+ """Load annotation from directory.
+
+ Args:
+ img_dir (str): Path to image directory
+ img_suffix (str): Suffix of images.
+ ann_dir (str|None): Path to annotation directory.
+ seg_map_suffix (str|None): Suffix of segmentation maps.
+ split (str|None): Split txt file. If split is specified, only file
+ with suffix in the splits will be loaded. Otherwise, all images
+ in img_dir/ann_dir will be loaded. Default: None
+
+ Returns:
+ list[dict]: All image info of dataset.
+ """
+
+ img_infos = []
+ if split is not None:
+ with open(split) as f:
+ for line in f:
+ img_name = line.strip()
+ img_info = dict(filename=img_name + img_suffix)
+ if ann_dir is not None:
+ seg_map = img_name + seg_map_suffix
+ img_info['ann'] = dict(seg_map=seg_map)
+ img_infos.append(img_info)
+ else:
+ for img in mmcv.scandir(img_dir, img_suffix, recursive=True):
+ img_info = dict(filename=img)
+ if ann_dir is not None:
+ seg_map = img.replace(img_suffix, seg_map_suffix)
+ img_info['ann'] = dict(seg_map=seg_map)
+ img_infos.append(img_info)
+
+ print_log(f'Loaded {len(img_infos)} images', logger=get_root_logger())
+ return img_infos
+
+ def get_ann_info(self, idx):
+ """Get annotation by index.
+
+ Args:
+ idx (int): Index of data.
+
+ Returns:
+ dict: Annotation info of specified index.
+ """
+
+ return self.img_infos[idx]['ann']
+
+ def pre_pipeline(self, results):
+ """Prepare results dict for pipeline."""
+ results['seg_fields'] = []
+ results['img_prefix'] = self.img_dir
+ results['seg_prefix'] = self.ann_dir
+ if self.custom_classes:
+ results['label_map'] = self.label_map
+
+ def __getitem__(self, idx):
+ """Get training/test data after pipeline.
+
+ Args:
+ idx (int): Index of data.
+
+ Returns:
+ dict: Training/test data (with annotation if `test_mode` is set
+ False).
+ """
+
+ if self.test_mode:
+ return self.prepare_test_img(idx)
+ else:
+ return self.prepare_train_img(idx)
+
+ def prepare_train_img(self, idx):
+ """Get training data and annotations after pipeline.
+
+ Args:
+ idx (int): Index of data.
+
+ Returns:
+ dict: Training data and annotation after pipeline with new keys
+ introduced by pipeline.
+ """
+
+ img_info = self.img_infos[idx]
+ ann_info = self.get_ann_info(idx)
+ results = dict(img_info=img_info, ann_info=ann_info)
+ self.pre_pipeline(results)
+ return self.pipeline(results)
+
+ def prepare_test_img(self, idx):
+ """Get testing data after pipeline.
+
+ Args:
+ idx (int): Index of data.
+
+ Returns:
+ dict: Testing data after pipeline with new keys introduced by
+ pipeline.
+ """
+
+ img_info = self.img_infos[idx]
+ results = dict(img_info=img_info)
+ self.pre_pipeline(results)
+ return self.pipeline(results)
+
+ def format_results(self, results, **kwargs):
+ """Place holder to format result to dataset specific output."""
+
+ def get_gt_seg_maps(self, efficient_test=False):
+ """Get ground truth segmentation maps for evaluation."""
+ gt_seg_maps = []
+ for img_info in self.img_infos:
+ seg_map = osp.join(self.ann_dir, img_info['ann']['seg_map'])
+ if efficient_test:
+ gt_seg_map = seg_map
+ else:
+ gt_seg_map = mmcv.imread(
+ seg_map, flag='unchanged', backend='pillow')
+ gt_seg_maps.append(gt_seg_map)
+ return gt_seg_maps
+
+ def get_classes_and_palette(self, classes=None, palette=None):
+ """Get class names of current dataset.
+
+ Args:
+ classes (Sequence[str] | str | None): If classes is None, use
+ default CLASSES defined by builtin dataset. If classes is a
+ string, take it as a file name. The file contains the name of
+ classes where each line contains one class name. If classes is
+ a tuple or list, override the CLASSES defined by the dataset.
+ palette (Sequence[Sequence[int]]] | np.ndarray | None):
+ The palette of segmentation map. If None is given, random
+ palette will be generated. Default: None
+ """
+ if classes is None:
+ self.custom_classes = False
+ return self.CLASSES, self.PALETTE
+
+ self.custom_classes = True
+ if isinstance(classes, str):
+ # take it as a file path
+ class_names = mmcv.list_from_file(classes)
+ elif isinstance(classes, (tuple, list)):
+ class_names = classes
+ else:
+ raise ValueError(f'Unsupported type {type(classes)} of classes.')
+
+ if self.CLASSES:
+ if not set(classes).issubset(self.CLASSES):
+ raise ValueError('classes is not a subset of CLASSES.')
+
+ # dictionary, its keys are the old label ids and its values
+ # are the new label ids.
+ # used for changing pixel labels in load_annotations.
+ self.label_map = {}
+ for i, c in enumerate(self.CLASSES):
+ if c not in class_names:
+ self.label_map[i] = -1
+ else:
+ self.label_map[i] = classes.index(c)
+
+ palette = self.get_palette_for_custom_classes(class_names, palette)
+
+ return class_names, palette
+
+ def get_palette_for_custom_classes(self, class_names, palette=None):
+
+ if self.label_map is not None:
+ # return subset of palette
+ palette = []
+ for old_id, new_id in sorted(
+ self.label_map.items(), key=lambda x: x[1]):
+ if new_id != -1:
+ palette.append(self.PALETTE[old_id])
+ palette = type(self.PALETTE)(palette)
+
+ elif palette is None:
+ if self.PALETTE is None:
+ palette = np.random.randint(0, 255, size=(len(class_names), 3))
+ else:
+ palette = self.PALETTE
+
+ return palette
+
+ def evaluate(self,
+ results,
+ metric='mIoU',
+ logger=None,
+ efficient_test=False,
+ **kwargs):
+ """Evaluate the dataset.
+
+ Args:
+ results (list): Testing results of the dataset.
+ metric (str | list[str]): Metrics to be evaluated. 'mIoU',
+ 'mDice' and 'mFscore' are supported.
+ logger (logging.Logger | None | str): Logger used for printing
+ related information during evaluation. Default: None.
+
+ Returns:
+ dict[str, float]: Default metrics.
+ """
+
+ if isinstance(metric, str):
+ metric = [metric]
+ allowed_metrics = ['mIoU', 'mDice', 'mFscore']
+ if not set(metric).issubset(set(allowed_metrics)):
+ raise KeyError('metric {} is not supported'.format(metric))
+ eval_results = {}
+ gt_seg_maps = self.get_gt_seg_maps(efficient_test)
+ if self.CLASSES is None:
+ num_classes = len(
+ reduce(np.union1d, [np.unique(_) for _ in gt_seg_maps]))
+ else:
+ num_classes = len(self.CLASSES)
+ ret_metrics = eval_metrics(
+ results,
+ gt_seg_maps,
+ num_classes,
+ self.ignore_index,
+ metric,
+ label_map=self.label_map,
+ reduce_zero_label=self.reduce_zero_label)
+
+ if self.CLASSES is None:
+ class_names = tuple(range(num_classes))
+ else:
+ class_names = self.CLASSES
+
+ # summary table
+ ret_metrics_summary = OrderedDict({
+ ret_metric: np.round(np.nanmean(ret_metric_value) * 100, 2)
+ for ret_metric, ret_metric_value in ret_metrics.items()
+ })
+
+ # each class table
+ ret_metrics.pop('aAcc', None)
+ ret_metrics_class = OrderedDict({
+ ret_metric: np.round(ret_metric_value * 100, 2)
+ for ret_metric, ret_metric_value in ret_metrics.items()
+ })
+ ret_metrics_class.update({'Class': class_names})
+ ret_metrics_class.move_to_end('Class', last=False)
+
+ try:
+ from prettytable import PrettyTable
+ # for logger
+ class_table_data = PrettyTable()
+ for key, val in ret_metrics_class.items():
+ class_table_data.add_column(key, val)
+
+ summary_table_data = PrettyTable()
+ for key, val in ret_metrics_summary.items():
+ if key == 'aAcc':
+ summary_table_data.add_column(key, [val])
+ else:
+ summary_table_data.add_column('m' + key, [val])
+
+ print_log('per class results:', logger)
+ print_log('\n' + class_table_data.get_string(), logger=logger)
+ print_log('Summary:', logger)
+ print_log('\n' + summary_table_data.get_string(), logger=logger)
+ except ImportError: # prettytable is not installed
+ pass
+
+ # each metric dict
+ for key, value in ret_metrics_summary.items():
+ if key == 'aAcc':
+ eval_results[key] = value / 100.0
+ else:
+ eval_results['m' + key] = value / 100.0
+
+ ret_metrics_class.pop('Class', None)
+ for key, value in ret_metrics_class.items():
+ eval_results.update({
+ key + '.' + str(name): value[idx] / 100.0
+ for idx, name in enumerate(class_names)
+ })
+
+ if mmcv.is_list_of(results, str):
+ for file_name in results:
+ os.remove(file_name)
+ return eval_results
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/dataset_wrappers.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/dataset_wrappers.py
new file mode 100644
index 0000000000000000000000000000000000000000..d6a5e957ec3b44465432617cf6e8f0b86a8a5efa
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/dataset_wrappers.py
@@ -0,0 +1,50 @@
+from torch.utils.data.dataset import ConcatDataset as _ConcatDataset
+
+from .builder import DATASETS
+
+
+@DATASETS.register_module()
+class ConcatDataset(_ConcatDataset):
+ """A wrapper of concatenated dataset.
+
+ Same as :obj:`torch.utils.data.dataset.ConcatDataset`, but
+ concat the group flag for image aspect ratio.
+
+ Args:
+ datasets (list[:obj:`Dataset`]): A list of datasets.
+ """
+
+ def __init__(self, datasets):
+ super(ConcatDataset, self).__init__(datasets)
+ self.CLASSES = datasets[0].CLASSES
+ self.PALETTE = datasets[0].PALETTE
+
+
+@DATASETS.register_module()
+class RepeatDataset(object):
+ """A wrapper of repeated dataset.
+
+ The length of repeated dataset will be `times` larger than the original
+ dataset. This is useful when the data loading time is long but the dataset
+ is small. Using RepeatDataset can reduce the data loading time between
+ epochs.
+
+ Args:
+ dataset (:obj:`Dataset`): The dataset to be repeated.
+ times (int): Repeat times.
+ """
+
+ def __init__(self, dataset, times):
+ self.dataset = dataset
+ self.times = times
+ self.CLASSES = dataset.CLASSES
+ self.PALETTE = dataset.PALETTE
+ self._ori_len = len(self.dataset)
+
+ def __getitem__(self, idx):
+ """Get item from original dataset."""
+ return self.dataset[idx % self._ori_len]
+
+ def __len__(self):
+ """The length is multiplied by ``times``"""
+ return self.times * self._ori_len
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/drive.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/drive.py
new file mode 100644
index 0000000000000000000000000000000000000000..3cbfda8ae74bdf26c5aef197ff2866a7c7ad0cfd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/drive.py
@@ -0,0 +1,27 @@
+import os.path as osp
+
+from .builder import DATASETS
+from .custom import CustomDataset
+
+
+@DATASETS.register_module()
+class DRIVEDataset(CustomDataset):
+ """DRIVE dataset.
+
+ In segmentation map annotation for DRIVE, 0 stands for background, which is
+ included in 2 categories. ``reduce_zero_label`` is fixed to False. The
+ ``img_suffix`` is fixed to '.png' and ``seg_map_suffix`` is fixed to
+ '_manual1.png'.
+ """
+
+ CLASSES = ('background', 'vessel')
+
+ PALETTE = [[120, 120, 120], [6, 230, 230]]
+
+ def __init__(self, **kwargs):
+ super(DRIVEDataset, self).__init__(
+ img_suffix='.png',
+ seg_map_suffix='_manual1.png',
+ reduce_zero_label=False,
+ **kwargs)
+ assert osp.exists(self.img_dir)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/hrf.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/hrf.py
new file mode 100644
index 0000000000000000000000000000000000000000..923203b51377f9344277fc561803d7a78bd2c684
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/hrf.py
@@ -0,0 +1,27 @@
+import os.path as osp
+
+from .builder import DATASETS
+from .custom import CustomDataset
+
+
+@DATASETS.register_module()
+class HRFDataset(CustomDataset):
+ """HRF dataset.
+
+ In segmentation map annotation for HRF, 0 stands for background, which is
+ included in 2 categories. ``reduce_zero_label`` is fixed to False. The
+ ``img_suffix`` is fixed to '.png' and ``seg_map_suffix`` is fixed to
+ '.png'.
+ """
+
+ CLASSES = ('background', 'vessel')
+
+ PALETTE = [[120, 120, 120], [6, 230, 230]]
+
+ def __init__(self, **kwargs):
+ super(HRFDataset, self).__init__(
+ img_suffix='.png',
+ seg_map_suffix='.png',
+ reduce_zero_label=False,
+ **kwargs)
+ assert osp.exists(self.img_dir)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/pascal_context.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/pascal_context.py
new file mode 100644
index 0000000000000000000000000000000000000000..541a63c66a13fb16fd52921e755715ad8d078fdd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/pascal_context.py
@@ -0,0 +1,103 @@
+import os.path as osp
+
+from .builder import DATASETS
+from .custom import CustomDataset
+
+
+@DATASETS.register_module()
+class PascalContextDataset(CustomDataset):
+ """PascalContext dataset.
+
+ In segmentation map annotation for PascalContext, 0 stands for background,
+ which is included in 60 categories. ``reduce_zero_label`` is fixed to
+ False. The ``img_suffix`` is fixed to '.jpg' and ``seg_map_suffix`` is
+ fixed to '.png'.
+
+ Args:
+ split (str): Split txt file for PascalContext.
+ """
+
+ CLASSES = ('background', 'aeroplane', 'bag', 'bed', 'bedclothes', 'bench',
+ 'bicycle', 'bird', 'boat', 'book', 'bottle', 'building', 'bus',
+ 'cabinet', 'car', 'cat', 'ceiling', 'chair', 'cloth',
+ 'computer', 'cow', 'cup', 'curtain', 'dog', 'door', 'fence',
+ 'floor', 'flower', 'food', 'grass', 'ground', 'horse',
+ 'keyboard', 'light', 'motorbike', 'mountain', 'mouse', 'person',
+ 'plate', 'platform', 'pottedplant', 'road', 'rock', 'sheep',
+ 'shelves', 'sidewalk', 'sign', 'sky', 'snow', 'sofa', 'table',
+ 'track', 'train', 'tree', 'truck', 'tvmonitor', 'wall', 'water',
+ 'window', 'wood')
+
+ PALETTE = [[120, 120, 120], [180, 120, 120], [6, 230, 230], [80, 50, 50],
+ [4, 200, 3], [120, 120, 80], [140, 140, 140], [204, 5, 255],
+ [230, 230, 230], [4, 250, 7], [224, 5, 255], [235, 255, 7],
+ [150, 5, 61], [120, 120, 70], [8, 255, 51], [255, 6, 82],
+ [143, 255, 140], [204, 255, 4], [255, 51, 7], [204, 70, 3],
+ [0, 102, 200], [61, 230, 250], [255, 6, 51], [11, 102, 255],
+ [255, 7, 71], [255, 9, 224], [9, 7, 230], [220, 220, 220],
+ [255, 9, 92], [112, 9, 255], [8, 255, 214], [7, 255, 224],
+ [255, 184, 6], [10, 255, 71], [255, 41, 10], [7, 255, 255],
+ [224, 255, 8], [102, 8, 255], [255, 61, 6], [255, 194, 7],
+ [255, 122, 8], [0, 255, 20], [255, 8, 41], [255, 5, 153],
+ [6, 51, 255], [235, 12, 255], [160, 150, 20], [0, 163, 255],
+ [140, 140, 140], [250, 10, 15], [20, 255, 0], [31, 255, 0],
+ [255, 31, 0], [255, 224, 0], [153, 255, 0], [0, 0, 255],
+ [255, 71, 0], [0, 235, 255], [0, 173, 255], [31, 0, 255]]
+
+ def __init__(self, split, **kwargs):
+ super(PascalContextDataset, self).__init__(
+ img_suffix='.jpg',
+ seg_map_suffix='.png',
+ split=split,
+ reduce_zero_label=False,
+ **kwargs)
+ assert osp.exists(self.img_dir) and self.split is not None
+
+
+@DATASETS.register_module()
+class PascalContextDataset59(CustomDataset):
+ """PascalContext dataset.
+
+ In segmentation map annotation for PascalContext, 0 stands for background,
+ which is included in 60 categories. ``reduce_zero_label`` is fixed to
+ False. The ``img_suffix`` is fixed to '.jpg' and ``seg_map_suffix`` is
+ fixed to '.png'.
+
+ Args:
+ split (str): Split txt file for PascalContext.
+ """
+
+ CLASSES = ('aeroplane', 'bag', 'bed', 'bedclothes', 'bench', 'bicycle',
+ 'bird', 'boat', 'book', 'bottle', 'building', 'bus', 'cabinet',
+ 'car', 'cat', 'ceiling', 'chair', 'cloth', 'computer', 'cow',
+ 'cup', 'curtain', 'dog', 'door', 'fence', 'floor', 'flower',
+ 'food', 'grass', 'ground', 'horse', 'keyboard', 'light',
+ 'motorbike', 'mountain', 'mouse', 'person', 'plate', 'platform',
+ 'pottedplant', 'road', 'rock', 'sheep', 'shelves', 'sidewalk',
+ 'sign', 'sky', 'snow', 'sofa', 'table', 'track', 'train',
+ 'tree', 'truck', 'tvmonitor', 'wall', 'water', 'window', 'wood')
+
+ PALETTE = [[180, 120, 120], [6, 230, 230], [80, 50, 50], [4, 200, 3],
+ [120, 120, 80], [140, 140, 140], [204, 5, 255], [230, 230, 230],
+ [4, 250, 7], [224, 5, 255], [235, 255, 7], [150, 5, 61],
+ [120, 120, 70], [8, 255, 51], [255, 6, 82], [143, 255, 140],
+ [204, 255, 4], [255, 51, 7], [204, 70, 3], [0, 102, 200],
+ [61, 230, 250], [255, 6, 51], [11, 102, 255], [255, 7, 71],
+ [255, 9, 224], [9, 7, 230], [220, 220, 220], [255, 9, 92],
+ [112, 9, 255], [8, 255, 214], [7, 255, 224], [255, 184, 6],
+ [10, 255, 71], [255, 41, 10], [7, 255, 255], [224, 255, 8],
+ [102, 8, 255], [255, 61, 6], [255, 194, 7], [255, 122, 8],
+ [0, 255, 20], [255, 8, 41], [255, 5, 153], [6, 51, 255],
+ [235, 12, 255], [160, 150, 20], [0, 163, 255], [140, 140, 140],
+ [250, 10, 15], [20, 255, 0], [31, 255, 0], [255, 31, 0],
+ [255, 224, 0], [153, 255, 0], [0, 0, 255], [255, 71, 0],
+ [0, 235, 255], [0, 173, 255], [31, 0, 255]]
+
+ def __init__(self, split, **kwargs):
+ super(PascalContextDataset59, self).__init__(
+ img_suffix='.jpg',
+ seg_map_suffix='.png',
+ split=split,
+ reduce_zero_label=True,
+ **kwargs)
+ assert osp.exists(self.img_dir) and self.split is not None
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/pipelines/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/pipelines/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..8b9046b07bb4ddea7a707a392b42e72db7c9df67
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/pipelines/__init__.py
@@ -0,0 +1,16 @@
+from .compose import Compose
+from .formating import (Collect, ImageToTensor, ToDataContainer, ToTensor,
+ Transpose, to_tensor)
+from .loading import LoadAnnotations, LoadImageFromFile
+from .test_time_aug import MultiScaleFlipAug
+from .transforms import (CLAHE, AdjustGamma, Normalize, Pad,
+ PhotoMetricDistortion, RandomCrop, RandomFlip,
+ RandomRotate, Rerange, Resize, RGB2Gray, SegRescale)
+
+__all__ = [
+ 'Compose', 'to_tensor', 'ToTensor', 'ImageToTensor', 'ToDataContainer',
+ 'Transpose', 'Collect', 'LoadAnnotations', 'LoadImageFromFile',
+ 'MultiScaleFlipAug', 'Resize', 'RandomFlip', 'Pad', 'RandomCrop',
+ 'Normalize', 'SegRescale', 'PhotoMetricDistortion', 'RandomRotate',
+ 'AdjustGamma', 'CLAHE', 'Rerange', 'RGB2Gray'
+]
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/pipelines/compose.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/pipelines/compose.py
new file mode 100644
index 0000000000000000000000000000000000000000..1683e533237ce6420e4a53e477513853d6b33b3e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/pipelines/compose.py
@@ -0,0 +1,51 @@
+import collections
+
+from annotator.mmpkg.mmcv.utils import build_from_cfg
+
+from ..builder import PIPELINES
+
+
+@PIPELINES.register_module()
+class Compose(object):
+ """Compose multiple transforms sequentially.
+
+ Args:
+ transforms (Sequence[dict | callable]): Sequence of transform object or
+ config dict to be composed.
+ """
+
+ def __init__(self, transforms):
+ assert isinstance(transforms, collections.abc.Sequence)
+ self.transforms = []
+ for transform in transforms:
+ if isinstance(transform, dict):
+ transform = build_from_cfg(transform, PIPELINES)
+ self.transforms.append(transform)
+ elif callable(transform):
+ self.transforms.append(transform)
+ else:
+ raise TypeError('transform must be callable or a dict')
+
+ def __call__(self, data):
+ """Call function to apply transforms sequentially.
+
+ Args:
+ data (dict): A result dict contains the data to transform.
+
+ Returns:
+ dict: Transformed data.
+ """
+
+ for t in self.transforms:
+ data = t(data)
+ if data is None:
+ return None
+ return data
+
+ def __repr__(self):
+ format_string = self.__class__.__name__ + '('
+ for t in self.transforms:
+ format_string += '\n'
+ format_string += f' {t}'
+ format_string += '\n)'
+ return format_string
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/pipelines/formating.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/pipelines/formating.py
new file mode 100644
index 0000000000000000000000000000000000000000..82e2e08ff819506bb7a7693be189017d473e677f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/pipelines/formating.py
@@ -0,0 +1,288 @@
+from collections.abc import Sequence
+
+import annotator.mmpkg.mmcv as mmcv
+import numpy as np
+import torch
+from annotator.mmpkg.mmcv.parallel import DataContainer as DC
+
+from ..builder import PIPELINES
+
+
+def to_tensor(data):
+ """Convert objects of various python types to :obj:`torch.Tensor`.
+
+ Supported types are: :class:`numpy.ndarray`, :class:`torch.Tensor`,
+ :class:`Sequence`, :class:`int` and :class:`float`.
+
+ Args:
+ data (torch.Tensor | numpy.ndarray | Sequence | int | float): Data to
+ be converted.
+ """
+
+ if isinstance(data, torch.Tensor):
+ return data
+ elif isinstance(data, np.ndarray):
+ return torch.from_numpy(data)
+ elif isinstance(data, Sequence) and not mmcv.is_str(data):
+ return torch.tensor(data)
+ elif isinstance(data, int):
+ return torch.LongTensor([data])
+ elif isinstance(data, float):
+ return torch.FloatTensor([data])
+ else:
+ raise TypeError(f'type {type(data)} cannot be converted to tensor.')
+
+
+@PIPELINES.register_module()
+class ToTensor(object):
+ """Convert some results to :obj:`torch.Tensor` by given keys.
+
+ Args:
+ keys (Sequence[str]): Keys that need to be converted to Tensor.
+ """
+
+ def __init__(self, keys):
+ self.keys = keys
+
+ def __call__(self, results):
+ """Call function to convert data in results to :obj:`torch.Tensor`.
+
+ Args:
+ results (dict): Result dict contains the data to convert.
+
+ Returns:
+ dict: The result dict contains the data converted
+ to :obj:`torch.Tensor`.
+ """
+
+ for key in self.keys:
+ results[key] = to_tensor(results[key])
+ return results
+
+ def __repr__(self):
+ return self.__class__.__name__ + f'(keys={self.keys})'
+
+
+@PIPELINES.register_module()
+class ImageToTensor(object):
+ """Convert image to :obj:`torch.Tensor` by given keys.
+
+ The dimension order of input image is (H, W, C). The pipeline will convert
+ it to (C, H, W). If only 2 dimension (H, W) is given, the output would be
+ (1, H, W).
+
+ Args:
+ keys (Sequence[str]): Key of images to be converted to Tensor.
+ """
+
+ def __init__(self, keys):
+ self.keys = keys
+
+ def __call__(self, results):
+ """Call function to convert image in results to :obj:`torch.Tensor` and
+ transpose the channel order.
+
+ Args:
+ results (dict): Result dict contains the image data to convert.
+
+ Returns:
+ dict: The result dict contains the image converted
+ to :obj:`torch.Tensor` and transposed to (C, H, W) order.
+ """
+
+ for key in self.keys:
+ img = results[key]
+ if len(img.shape) < 3:
+ img = np.expand_dims(img, -1)
+ results[key] = to_tensor(img.transpose(2, 0, 1))
+ return results
+
+ def __repr__(self):
+ return self.__class__.__name__ + f'(keys={self.keys})'
+
+
+@PIPELINES.register_module()
+class Transpose(object):
+ """Transpose some results by given keys.
+
+ Args:
+ keys (Sequence[str]): Keys of results to be transposed.
+ order (Sequence[int]): Order of transpose.
+ """
+
+ def __init__(self, keys, order):
+ self.keys = keys
+ self.order = order
+
+ def __call__(self, results):
+ """Call function to convert image in results to :obj:`torch.Tensor` and
+ transpose the channel order.
+
+ Args:
+ results (dict): Result dict contains the image data to convert.
+
+ Returns:
+ dict: The result dict contains the image converted
+ to :obj:`torch.Tensor` and transposed to (C, H, W) order.
+ """
+
+ for key in self.keys:
+ results[key] = results[key].transpose(self.order)
+ return results
+
+ def __repr__(self):
+ return self.__class__.__name__ + \
+ f'(keys={self.keys}, order={self.order})'
+
+
+@PIPELINES.register_module()
+class ToDataContainer(object):
+ """Convert results to :obj:`mmcv.DataContainer` by given fields.
+
+ Args:
+ fields (Sequence[dict]): Each field is a dict like
+ ``dict(key='xxx', **kwargs)``. The ``key`` in result will
+ be converted to :obj:`mmcv.DataContainer` with ``**kwargs``.
+ Default: ``(dict(key='img', stack=True),
+ dict(key='gt_semantic_seg'))``.
+ """
+
+ def __init__(self,
+ fields=(dict(key='img',
+ stack=True), dict(key='gt_semantic_seg'))):
+ self.fields = fields
+
+ def __call__(self, results):
+ """Call function to convert data in results to
+ :obj:`mmcv.DataContainer`.
+
+ Args:
+ results (dict): Result dict contains the data to convert.
+
+ Returns:
+ dict: The result dict contains the data converted to
+ :obj:`mmcv.DataContainer`.
+ """
+
+ for field in self.fields:
+ field = field.copy()
+ key = field.pop('key')
+ results[key] = DC(results[key], **field)
+ return results
+
+ def __repr__(self):
+ return self.__class__.__name__ + f'(fields={self.fields})'
+
+
+@PIPELINES.register_module()
+class DefaultFormatBundle(object):
+ """Default formatting bundle.
+
+ It simplifies the pipeline of formatting common fields, including "img"
+ and "gt_semantic_seg". These fields are formatted as follows.
+
+ - img: (1)transpose, (2)to tensor, (3)to DataContainer (stack=True)
+ - gt_semantic_seg: (1)unsqueeze dim-0 (2)to tensor,
+ (3)to DataContainer (stack=True)
+ """
+
+ def __call__(self, results):
+ """Call function to transform and format common fields in results.
+
+ Args:
+ results (dict): Result dict contains the data to convert.
+
+ Returns:
+ dict: The result dict contains the data that is formatted with
+ default bundle.
+ """
+
+ if 'img' in results:
+ img = results['img']
+ if len(img.shape) < 3:
+ img = np.expand_dims(img, -1)
+ img = np.ascontiguousarray(img.transpose(2, 0, 1))
+ results['img'] = DC(to_tensor(img), stack=True)
+ if 'gt_semantic_seg' in results:
+ # convert to long
+ results['gt_semantic_seg'] = DC(
+ to_tensor(results['gt_semantic_seg'][None,
+ ...].astype(np.int64)),
+ stack=True)
+ return results
+
+ def __repr__(self):
+ return self.__class__.__name__
+
+
+@PIPELINES.register_module()
+class Collect(object):
+ """Collect data from the loader relevant to the specific task.
+
+ This is usually the last stage of the data loader pipeline. Typically keys
+ is set to some subset of "img", "gt_semantic_seg".
+
+ The "img_meta" item is always populated. The contents of the "img_meta"
+ dictionary depends on "meta_keys". By default this includes:
+
+ - "img_shape": shape of the image input to the network as a tuple
+ (h, w, c). Note that images may be zero padded on the bottom/right
+ if the batch tensor is larger than this shape.
+
+ - "scale_factor": a float indicating the preprocessing scale
+
+ - "flip": a boolean indicating if image flip transform was used
+
+ - "filename": path to the image file
+
+ - "ori_shape": original shape of the image as a tuple (h, w, c)
+
+ - "pad_shape": image shape after padding
+
+ - "img_norm_cfg": a dict of normalization information:
+ - mean - per channel mean subtraction
+ - std - per channel std divisor
+ - to_rgb - bool indicating if bgr was converted to rgb
+
+ Args:
+ keys (Sequence[str]): Keys of results to be collected in ``data``.
+ meta_keys (Sequence[str], optional): Meta keys to be converted to
+ ``mmcv.DataContainer`` and collected in ``data[img_metas]``.
+ Default: ``('filename', 'ori_filename', 'ori_shape', 'img_shape',
+ 'pad_shape', 'scale_factor', 'flip', 'flip_direction',
+ 'img_norm_cfg')``
+ """
+
+ def __init__(self,
+ keys,
+ meta_keys=('filename', 'ori_filename', 'ori_shape',
+ 'img_shape', 'pad_shape', 'scale_factor', 'flip',
+ 'flip_direction', 'img_norm_cfg')):
+ self.keys = keys
+ self.meta_keys = meta_keys
+
+ def __call__(self, results):
+ """Call function to collect keys in results. The keys in ``meta_keys``
+ will be converted to :obj:mmcv.DataContainer.
+
+ Args:
+ results (dict): Result dict contains the data to collect.
+
+ Returns:
+ dict: The result dict contains the following keys
+ - keys in``self.keys``
+ - ``img_metas``
+ """
+
+ data = {}
+ img_meta = {}
+ for key in self.meta_keys:
+ img_meta[key] = results[key]
+ data['img_metas'] = DC(img_meta, cpu_only=True)
+ for key in self.keys:
+ data[key] = results[key]
+ return data
+
+ def __repr__(self):
+ return self.__class__.__name__ + \
+ f'(keys={self.keys}, meta_keys={self.meta_keys})'
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/pipelines/loading.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/pipelines/loading.py
new file mode 100644
index 0000000000000000000000000000000000000000..3ad8c2cb67cb1d2b593217fb1fb2e0ca5834c24f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/pipelines/loading.py
@@ -0,0 +1,153 @@
+import os.path as osp
+
+import annotator.mmpkg.mmcv as mmcv
+import numpy as np
+
+from ..builder import PIPELINES
+
+
+@PIPELINES.register_module()
+class LoadImageFromFile(object):
+ """Load an image from file.
+
+ Required keys are "img_prefix" and "img_info" (a dict that must contain the
+ key "filename"). Added or updated keys are "filename", "img", "img_shape",
+ "ori_shape" (same as `img_shape`), "pad_shape" (same as `img_shape`),
+ "scale_factor" (1.0) and "img_norm_cfg" (means=0 and stds=1).
+
+ Args:
+ to_float32 (bool): Whether to convert the loaded image to a float32
+ numpy array. If set to False, the loaded image is an uint8 array.
+ Defaults to False.
+ color_type (str): The flag argument for :func:`mmcv.imfrombytes`.
+ Defaults to 'color'.
+ file_client_args (dict): Arguments to instantiate a FileClient.
+ See :class:`mmcv.fileio.FileClient` for details.
+ Defaults to ``dict(backend='disk')``.
+ imdecode_backend (str): Backend for :func:`mmcv.imdecode`. Default:
+ 'cv2'
+ """
+
+ def __init__(self,
+ to_float32=False,
+ color_type='color',
+ file_client_args=dict(backend='disk'),
+ imdecode_backend='cv2'):
+ self.to_float32 = to_float32
+ self.color_type = color_type
+ self.file_client_args = file_client_args.copy()
+ self.file_client = None
+ self.imdecode_backend = imdecode_backend
+
+ def __call__(self, results):
+ """Call functions to load image and get image meta information.
+
+ Args:
+ results (dict): Result dict from :obj:`mmseg.CustomDataset`.
+
+ Returns:
+ dict: The dict contains loaded image and meta information.
+ """
+
+ if self.file_client is None:
+ self.file_client = mmcv.FileClient(**self.file_client_args)
+
+ if results.get('img_prefix') is not None:
+ filename = osp.join(results['img_prefix'],
+ results['img_info']['filename'])
+ else:
+ filename = results['img_info']['filename']
+ img_bytes = self.file_client.get(filename)
+ img = mmcv.imfrombytes(
+ img_bytes, flag=self.color_type, backend=self.imdecode_backend)
+ if self.to_float32:
+ img = img.astype(np.float32)
+
+ results['filename'] = filename
+ results['ori_filename'] = results['img_info']['filename']
+ results['img'] = img
+ results['img_shape'] = img.shape
+ results['ori_shape'] = img.shape
+ # Set initial values for default meta_keys
+ results['pad_shape'] = img.shape
+ results['scale_factor'] = 1.0
+ num_channels = 1 if len(img.shape) < 3 else img.shape[2]
+ results['img_norm_cfg'] = dict(
+ mean=np.zeros(num_channels, dtype=np.float32),
+ std=np.ones(num_channels, dtype=np.float32),
+ to_rgb=False)
+ return results
+
+ def __repr__(self):
+ repr_str = self.__class__.__name__
+ repr_str += f'(to_float32={self.to_float32},'
+ repr_str += f"color_type='{self.color_type}',"
+ repr_str += f"imdecode_backend='{self.imdecode_backend}')"
+ return repr_str
+
+
+@PIPELINES.register_module()
+class LoadAnnotations(object):
+ """Load annotations for semantic segmentation.
+
+ Args:
+ reduce_zero_label (bool): Whether reduce all label value by 1.
+ Usually used for datasets where 0 is background label.
+ Default: False.
+ file_client_args (dict): Arguments to instantiate a FileClient.
+ See :class:`mmcv.fileio.FileClient` for details.
+ Defaults to ``dict(backend='disk')``.
+ imdecode_backend (str): Backend for :func:`mmcv.imdecode`. Default:
+ 'pillow'
+ """
+
+ def __init__(self,
+ reduce_zero_label=False,
+ file_client_args=dict(backend='disk'),
+ imdecode_backend='pillow'):
+ self.reduce_zero_label = reduce_zero_label
+ self.file_client_args = file_client_args.copy()
+ self.file_client = None
+ self.imdecode_backend = imdecode_backend
+
+ def __call__(self, results):
+ """Call function to load multiple types annotations.
+
+ Args:
+ results (dict): Result dict from :obj:`mmseg.CustomDataset`.
+
+ Returns:
+ dict: The dict contains loaded semantic segmentation annotations.
+ """
+
+ if self.file_client is None:
+ self.file_client = mmcv.FileClient(**self.file_client_args)
+
+ if results.get('seg_prefix', None) is not None:
+ filename = osp.join(results['seg_prefix'],
+ results['ann_info']['seg_map'])
+ else:
+ filename = results['ann_info']['seg_map']
+ img_bytes = self.file_client.get(filename)
+ gt_semantic_seg = mmcv.imfrombytes(
+ img_bytes, flag='unchanged',
+ backend=self.imdecode_backend).squeeze().astype(np.uint8)
+ # modify if custom classes
+ if results.get('label_map', None) is not None:
+ for old_id, new_id in results['label_map'].items():
+ gt_semantic_seg[gt_semantic_seg == old_id] = new_id
+ # reduce zero_label
+ if self.reduce_zero_label:
+ # avoid using underflow conversion
+ gt_semantic_seg[gt_semantic_seg == 0] = 255
+ gt_semantic_seg = gt_semantic_seg - 1
+ gt_semantic_seg[gt_semantic_seg == 254] = 255
+ results['gt_semantic_seg'] = gt_semantic_seg
+ results['seg_fields'].append('gt_semantic_seg')
+ return results
+
+ def __repr__(self):
+ repr_str = self.__class__.__name__
+ repr_str += f'(reduce_zero_label={self.reduce_zero_label},'
+ repr_str += f"imdecode_backend='{self.imdecode_backend}')"
+ return repr_str
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/pipelines/test_time_aug.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/pipelines/test_time_aug.py
new file mode 100644
index 0000000000000000000000000000000000000000..fb781d928ed71aceb1abcaef44d3889c00d2261e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/pipelines/test_time_aug.py
@@ -0,0 +1,133 @@
+import warnings
+
+import annotator.mmpkg.mmcv as mmcv
+
+from ..builder import PIPELINES
+from .compose import Compose
+
+
+@PIPELINES.register_module()
+class MultiScaleFlipAug(object):
+ """Test-time augmentation with multiple scales and flipping.
+
+ An example configuration is as followed:
+
+ .. code-block::
+
+ img_scale=(2048, 1024),
+ img_ratios=[0.5, 1.0],
+ flip=True,
+ transforms=[
+ dict(type='Resize', keep_ratio=True),
+ dict(type='RandomFlip'),
+ dict(type='Normalize', **img_norm_cfg),
+ dict(type='Pad', size_divisor=32),
+ dict(type='ImageToTensor', keys=['img']),
+ dict(type='Collect', keys=['img']),
+ ]
+
+ After MultiScaleFLipAug with above configuration, the results are wrapped
+ into lists of the same length as followed:
+
+ .. code-block::
+
+ dict(
+ img=[...],
+ img_shape=[...],
+ scale=[(1024, 512), (1024, 512), (2048, 1024), (2048, 1024)]
+ flip=[False, True, False, True]
+ ...
+ )
+
+ Args:
+ transforms (list[dict]): Transforms to apply in each augmentation.
+ img_scale (None | tuple | list[tuple]): Images scales for resizing.
+ img_ratios (float | list[float]): Image ratios for resizing
+ flip (bool): Whether apply flip augmentation. Default: False.
+ flip_direction (str | list[str]): Flip augmentation directions,
+ options are "horizontal" and "vertical". If flip_direction is list,
+ multiple flip augmentations will be applied.
+ It has no effect when flip == False. Default: "horizontal".
+ """
+
+ def __init__(self,
+ transforms,
+ img_scale,
+ img_ratios=None,
+ flip=False,
+ flip_direction='horizontal'):
+ self.transforms = Compose(transforms)
+ if img_ratios is not None:
+ img_ratios = img_ratios if isinstance(img_ratios,
+ list) else [img_ratios]
+ assert mmcv.is_list_of(img_ratios, float)
+ if img_scale is None:
+ # mode 1: given img_scale=None and a range of image ratio
+ self.img_scale = None
+ assert mmcv.is_list_of(img_ratios, float)
+ elif isinstance(img_scale, tuple) and mmcv.is_list_of(
+ img_ratios, float):
+ assert len(img_scale) == 2
+ # mode 2: given a scale and a range of image ratio
+ self.img_scale = [(int(img_scale[0] * ratio),
+ int(img_scale[1] * ratio))
+ for ratio in img_ratios]
+ else:
+ # mode 3: given multiple scales
+ self.img_scale = img_scale if isinstance(img_scale,
+ list) else [img_scale]
+ assert mmcv.is_list_of(self.img_scale, tuple) or self.img_scale is None
+ self.flip = flip
+ self.img_ratios = img_ratios
+ self.flip_direction = flip_direction if isinstance(
+ flip_direction, list) else [flip_direction]
+ assert mmcv.is_list_of(self.flip_direction, str)
+ if not self.flip and self.flip_direction != ['horizontal']:
+ warnings.warn(
+ 'flip_direction has no effect when flip is set to False')
+ if (self.flip
+ and not any([t['type'] == 'RandomFlip' for t in transforms])):
+ warnings.warn(
+ 'flip has no effect when RandomFlip is not in transforms')
+
+ def __call__(self, results):
+ """Call function to apply test time augment transforms on results.
+
+ Args:
+ results (dict): Result dict contains the data to transform.
+
+ Returns:
+ dict[str: list]: The augmented data, where each value is wrapped
+ into a list.
+ """
+
+ aug_data = []
+ if self.img_scale is None and mmcv.is_list_of(self.img_ratios, float):
+ h, w = results['img'].shape[:2]
+ img_scale = [(int(w * ratio), int(h * ratio))
+ for ratio in self.img_ratios]
+ else:
+ img_scale = self.img_scale
+ flip_aug = [False, True] if self.flip else [False]
+ for scale in img_scale:
+ for flip in flip_aug:
+ for direction in self.flip_direction:
+ _results = results.copy()
+ _results['scale'] = scale
+ _results['flip'] = flip
+ _results['flip_direction'] = direction
+ data = self.transforms(_results)
+ aug_data.append(data)
+ # list of dict to dict of list
+ aug_data_dict = {key: [] for key in aug_data[0]}
+ for data in aug_data:
+ for key, val in data.items():
+ aug_data_dict[key].append(val)
+ return aug_data_dict
+
+ def __repr__(self):
+ repr_str = self.__class__.__name__
+ repr_str += f'(transforms={self.transforms}, '
+ repr_str += f'img_scale={self.img_scale}, flip={self.flip})'
+ repr_str += f'flip_direction={self.flip_direction}'
+ return repr_str
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/pipelines/transforms.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/pipelines/transforms.py
new file mode 100644
index 0000000000000000000000000000000000000000..842763db97685dd9280424204d62ee65993fdd5a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/pipelines/transforms.py
@@ -0,0 +1,889 @@
+import annotator.mmpkg.mmcv as mmcv
+import numpy as np
+from annotator.mmpkg.mmcv.utils import deprecated_api_warning, is_tuple_of
+from numpy import random
+
+from ..builder import PIPELINES
+
+
+@PIPELINES.register_module()
+class Resize(object):
+ """Resize images & seg.
+
+ This transform resizes the input image to some scale. If the input dict
+ contains the key "scale", then the scale in the input dict is used,
+ otherwise the specified scale in the init method is used.
+
+ ``img_scale`` can be None, a tuple (single-scale) or a list of tuple
+ (multi-scale). There are 4 multiscale modes:
+
+ - ``ratio_range is not None``:
+ 1. When img_scale is None, img_scale is the shape of image in results
+ (img_scale = results['img'].shape[:2]) and the image is resized based
+ on the original size. (mode 1)
+ 2. When img_scale is a tuple (single-scale), randomly sample a ratio from
+ the ratio range and multiply it with the image scale. (mode 2)
+
+ - ``ratio_range is None and multiscale_mode == "range"``: randomly sample a
+ scale from the a range. (mode 3)
+
+ - ``ratio_range is None and multiscale_mode == "value"``: randomly sample a
+ scale from multiple scales. (mode 4)
+
+ Args:
+ img_scale (tuple or list[tuple]): Images scales for resizing.
+ multiscale_mode (str): Either "range" or "value".
+ ratio_range (tuple[float]): (min_ratio, max_ratio)
+ keep_ratio (bool): Whether to keep the aspect ratio when resizing the
+ image.
+ """
+
+ def __init__(self,
+ img_scale=None,
+ multiscale_mode='range',
+ ratio_range=None,
+ keep_ratio=True):
+ if img_scale is None:
+ self.img_scale = None
+ else:
+ if isinstance(img_scale, list):
+ self.img_scale = img_scale
+ else:
+ self.img_scale = [img_scale]
+ assert mmcv.is_list_of(self.img_scale, tuple)
+
+ if ratio_range is not None:
+ # mode 1: given img_scale=None and a range of image ratio
+ # mode 2: given a scale and a range of image ratio
+ assert self.img_scale is None or len(self.img_scale) == 1
+ else:
+ # mode 3 and 4: given multiple scales or a range of scales
+ assert multiscale_mode in ['value', 'range']
+
+ self.multiscale_mode = multiscale_mode
+ self.ratio_range = ratio_range
+ self.keep_ratio = keep_ratio
+
+ @staticmethod
+ def random_select(img_scales):
+ """Randomly select an img_scale from given candidates.
+
+ Args:
+ img_scales (list[tuple]): Images scales for selection.
+
+ Returns:
+ (tuple, int): Returns a tuple ``(img_scale, scale_dix)``,
+ where ``img_scale`` is the selected image scale and
+ ``scale_idx`` is the selected index in the given candidates.
+ """
+
+ assert mmcv.is_list_of(img_scales, tuple)
+ scale_idx = np.random.randint(len(img_scales))
+ img_scale = img_scales[scale_idx]
+ return img_scale, scale_idx
+
+ @staticmethod
+ def random_sample(img_scales):
+ """Randomly sample an img_scale when ``multiscale_mode=='range'``.
+
+ Args:
+ img_scales (list[tuple]): Images scale range for sampling.
+ There must be two tuples in img_scales, which specify the lower
+ and upper bound of image scales.
+
+ Returns:
+ (tuple, None): Returns a tuple ``(img_scale, None)``, where
+ ``img_scale`` is sampled scale and None is just a placeholder
+ to be consistent with :func:`random_select`.
+ """
+
+ assert mmcv.is_list_of(img_scales, tuple) and len(img_scales) == 2
+ img_scale_long = [max(s) for s in img_scales]
+ img_scale_short = [min(s) for s in img_scales]
+ long_edge = np.random.randint(
+ min(img_scale_long),
+ max(img_scale_long) + 1)
+ short_edge = np.random.randint(
+ min(img_scale_short),
+ max(img_scale_short) + 1)
+ img_scale = (long_edge, short_edge)
+ return img_scale, None
+
+ @staticmethod
+ def random_sample_ratio(img_scale, ratio_range):
+ """Randomly sample an img_scale when ``ratio_range`` is specified.
+
+ A ratio will be randomly sampled from the range specified by
+ ``ratio_range``. Then it would be multiplied with ``img_scale`` to
+ generate sampled scale.
+
+ Args:
+ img_scale (tuple): Images scale base to multiply with ratio.
+ ratio_range (tuple[float]): The minimum and maximum ratio to scale
+ the ``img_scale``.
+
+ Returns:
+ (tuple, None): Returns a tuple ``(scale, None)``, where
+ ``scale`` is sampled ratio multiplied with ``img_scale`` and
+ None is just a placeholder to be consistent with
+ :func:`random_select`.
+ """
+
+ assert isinstance(img_scale, tuple) and len(img_scale) == 2
+ min_ratio, max_ratio = ratio_range
+ assert min_ratio <= max_ratio
+ ratio = np.random.random_sample() * (max_ratio - min_ratio) + min_ratio
+ scale = int(img_scale[0] * ratio), int(img_scale[1] * ratio)
+ return scale, None
+
+ def _random_scale(self, results):
+ """Randomly sample an img_scale according to ``ratio_range`` and
+ ``multiscale_mode``.
+
+ If ``ratio_range`` is specified, a ratio will be sampled and be
+ multiplied with ``img_scale``.
+ If multiple scales are specified by ``img_scale``, a scale will be
+ sampled according to ``multiscale_mode``.
+ Otherwise, single scale will be used.
+
+ Args:
+ results (dict): Result dict from :obj:`dataset`.
+
+ Returns:
+ dict: Two new keys 'scale` and 'scale_idx` are added into
+ ``results``, which would be used by subsequent pipelines.
+ """
+
+ if self.ratio_range is not None:
+ if self.img_scale is None:
+ h, w = results['img'].shape[:2]
+ scale, scale_idx = self.random_sample_ratio((w, h),
+ self.ratio_range)
+ else:
+ scale, scale_idx = self.random_sample_ratio(
+ self.img_scale[0], self.ratio_range)
+ elif len(self.img_scale) == 1:
+ scale, scale_idx = self.img_scale[0], 0
+ elif self.multiscale_mode == 'range':
+ scale, scale_idx = self.random_sample(self.img_scale)
+ elif self.multiscale_mode == 'value':
+ scale, scale_idx = self.random_select(self.img_scale)
+ else:
+ raise NotImplementedError
+
+ results['scale'] = scale
+ results['scale_idx'] = scale_idx
+
+ def _resize_img(self, results):
+ """Resize images with ``results['scale']``."""
+ if self.keep_ratio:
+ img, scale_factor = mmcv.imrescale(
+ results['img'], results['scale'], return_scale=True)
+ # the w_scale and h_scale has minor difference
+ # a real fix should be done in the mmcv.imrescale in the future
+ new_h, new_w = img.shape[:2]
+ h, w = results['img'].shape[:2]
+ w_scale = new_w / w
+ h_scale = new_h / h
+ else:
+ img, w_scale, h_scale = mmcv.imresize(
+ results['img'], results['scale'], return_scale=True)
+ scale_factor = np.array([w_scale, h_scale, w_scale, h_scale],
+ dtype=np.float32)
+ results['img'] = img
+ results['img_shape'] = img.shape
+ results['pad_shape'] = img.shape # in case that there is no padding
+ results['scale_factor'] = scale_factor
+ results['keep_ratio'] = self.keep_ratio
+
+ def _resize_seg(self, results):
+ """Resize semantic segmentation map with ``results['scale']``."""
+ for key in results.get('seg_fields', []):
+ if self.keep_ratio:
+ gt_seg = mmcv.imrescale(
+ results[key], results['scale'], interpolation='nearest')
+ else:
+ gt_seg = mmcv.imresize(
+ results[key], results['scale'], interpolation='nearest')
+ results[key] = gt_seg
+
+ def __call__(self, results):
+ """Call function to resize images, bounding boxes, masks, semantic
+ segmentation map.
+
+ Args:
+ results (dict): Result dict from loading pipeline.
+
+ Returns:
+ dict: Resized results, 'img_shape', 'pad_shape', 'scale_factor',
+ 'keep_ratio' keys are added into result dict.
+ """
+
+ if 'scale' not in results:
+ self._random_scale(results)
+ self._resize_img(results)
+ self._resize_seg(results)
+ return results
+
+ def __repr__(self):
+ repr_str = self.__class__.__name__
+ repr_str += (f'(img_scale={self.img_scale}, '
+ f'multiscale_mode={self.multiscale_mode}, '
+ f'ratio_range={self.ratio_range}, '
+ f'keep_ratio={self.keep_ratio})')
+ return repr_str
+
+
+@PIPELINES.register_module()
+class RandomFlip(object):
+ """Flip the image & seg.
+
+ If the input dict contains the key "flip", then the flag will be used,
+ otherwise it will be randomly decided by a ratio specified in the init
+ method.
+
+ Args:
+ prob (float, optional): The flipping probability. Default: None.
+ direction(str, optional): The flipping direction. Options are
+ 'horizontal' and 'vertical'. Default: 'horizontal'.
+ """
+
+ @deprecated_api_warning({'flip_ratio': 'prob'}, cls_name='RandomFlip')
+ def __init__(self, prob=None, direction='horizontal'):
+ self.prob = prob
+ self.direction = direction
+ if prob is not None:
+ assert prob >= 0 and prob <= 1
+ assert direction in ['horizontal', 'vertical']
+
+ def __call__(self, results):
+ """Call function to flip bounding boxes, masks, semantic segmentation
+ maps.
+
+ Args:
+ results (dict): Result dict from loading pipeline.
+
+ Returns:
+ dict: Flipped results, 'flip', 'flip_direction' keys are added into
+ result dict.
+ """
+
+ if 'flip' not in results:
+ flip = True if np.random.rand() < self.prob else False
+ results['flip'] = flip
+ if 'flip_direction' not in results:
+ results['flip_direction'] = self.direction
+ if results['flip']:
+ # flip image
+ results['img'] = mmcv.imflip(
+ results['img'], direction=results['flip_direction'])
+
+ # flip segs
+ for key in results.get('seg_fields', []):
+ # use copy() to make numpy stride positive
+ results[key] = mmcv.imflip(
+ results[key], direction=results['flip_direction']).copy()
+ return results
+
+ def __repr__(self):
+ return self.__class__.__name__ + f'(prob={self.prob})'
+
+
+@PIPELINES.register_module()
+class Pad(object):
+ """Pad the image & mask.
+
+ There are two padding modes: (1) pad to a fixed size and (2) pad to the
+ minimum size that is divisible by some number.
+ Added keys are "pad_shape", "pad_fixed_size", "pad_size_divisor",
+
+ Args:
+ size (tuple, optional): Fixed padding size.
+ size_divisor (int, optional): The divisor of padded size.
+ pad_val (float, optional): Padding value. Default: 0.
+ seg_pad_val (float, optional): Padding value of segmentation map.
+ Default: 255.
+ """
+
+ def __init__(self,
+ size=None,
+ size_divisor=None,
+ pad_val=0,
+ seg_pad_val=255):
+ self.size = size
+ self.size_divisor = size_divisor
+ self.pad_val = pad_val
+ self.seg_pad_val = seg_pad_val
+ # only one of size and size_divisor should be valid
+ assert size is not None or size_divisor is not None
+ assert size is None or size_divisor is None
+
+ def _pad_img(self, results):
+ """Pad images according to ``self.size``."""
+ if self.size is not None:
+ padded_img = mmcv.impad(
+ results['img'], shape=self.size, pad_val=self.pad_val)
+ elif self.size_divisor is not None:
+ padded_img = mmcv.impad_to_multiple(
+ results['img'], self.size_divisor, pad_val=self.pad_val)
+ results['img'] = padded_img
+ results['pad_shape'] = padded_img.shape
+ results['pad_fixed_size'] = self.size
+ results['pad_size_divisor'] = self.size_divisor
+
+ def _pad_seg(self, results):
+ """Pad masks according to ``results['pad_shape']``."""
+ for key in results.get('seg_fields', []):
+ results[key] = mmcv.impad(
+ results[key],
+ shape=results['pad_shape'][:2],
+ pad_val=self.seg_pad_val)
+
+ def __call__(self, results):
+ """Call function to pad images, masks, semantic segmentation maps.
+
+ Args:
+ results (dict): Result dict from loading pipeline.
+
+ Returns:
+ dict: Updated result dict.
+ """
+
+ self._pad_img(results)
+ self._pad_seg(results)
+ return results
+
+ def __repr__(self):
+ repr_str = self.__class__.__name__
+ repr_str += f'(size={self.size}, size_divisor={self.size_divisor}, ' \
+ f'pad_val={self.pad_val})'
+ return repr_str
+
+
+@PIPELINES.register_module()
+class Normalize(object):
+ """Normalize the image.
+
+ Added key is "img_norm_cfg".
+
+ Args:
+ mean (sequence): Mean values of 3 channels.
+ std (sequence): Std values of 3 channels.
+ to_rgb (bool): Whether to convert the image from BGR to RGB,
+ default is true.
+ """
+
+ def __init__(self, mean, std, to_rgb=True):
+ self.mean = np.array(mean, dtype=np.float32)
+ self.std = np.array(std, dtype=np.float32)
+ self.to_rgb = to_rgb
+
+ def __call__(self, results):
+ """Call function to normalize images.
+
+ Args:
+ results (dict): Result dict from loading pipeline.
+
+ Returns:
+ dict: Normalized results, 'img_norm_cfg' key is added into
+ result dict.
+ """
+
+ results['img'] = mmcv.imnormalize(results['img'], self.mean, self.std,
+ self.to_rgb)
+ results['img_norm_cfg'] = dict(
+ mean=self.mean, std=self.std, to_rgb=self.to_rgb)
+ return results
+
+ def __repr__(self):
+ repr_str = self.__class__.__name__
+ repr_str += f'(mean={self.mean}, std={self.std}, to_rgb=' \
+ f'{self.to_rgb})'
+ return repr_str
+
+
+@PIPELINES.register_module()
+class Rerange(object):
+ """Rerange the image pixel value.
+
+ Args:
+ min_value (float or int): Minimum value of the reranged image.
+ Default: 0.
+ max_value (float or int): Maximum value of the reranged image.
+ Default: 255.
+ """
+
+ def __init__(self, min_value=0, max_value=255):
+ assert isinstance(min_value, float) or isinstance(min_value, int)
+ assert isinstance(max_value, float) or isinstance(max_value, int)
+ assert min_value < max_value
+ self.min_value = min_value
+ self.max_value = max_value
+
+ def __call__(self, results):
+ """Call function to rerange images.
+
+ Args:
+ results (dict): Result dict from loading pipeline.
+ Returns:
+ dict: Reranged results.
+ """
+
+ img = results['img']
+ img_min_value = np.min(img)
+ img_max_value = np.max(img)
+
+ assert img_min_value < img_max_value
+ # rerange to [0, 1]
+ img = (img - img_min_value) / (img_max_value - img_min_value)
+ # rerange to [min_value, max_value]
+ img = img * (self.max_value - self.min_value) + self.min_value
+ results['img'] = img
+
+ return results
+
+ def __repr__(self):
+ repr_str = self.__class__.__name__
+ repr_str += f'(min_value={self.min_value}, max_value={self.max_value})'
+ return repr_str
+
+
+@PIPELINES.register_module()
+class CLAHE(object):
+ """Use CLAHE method to process the image.
+
+ See `ZUIDERVELD,K. Contrast Limited Adaptive Histogram Equalization[J].
+ Graphics Gems, 1994:474-485.` for more information.
+
+ Args:
+ clip_limit (float): Threshold for contrast limiting. Default: 40.0.
+ tile_grid_size (tuple[int]): Size of grid for histogram equalization.
+ Input image will be divided into equally sized rectangular tiles.
+ It defines the number of tiles in row and column. Default: (8, 8).
+ """
+
+ def __init__(self, clip_limit=40.0, tile_grid_size=(8, 8)):
+ assert isinstance(clip_limit, (float, int))
+ self.clip_limit = clip_limit
+ assert is_tuple_of(tile_grid_size, int)
+ assert len(tile_grid_size) == 2
+ self.tile_grid_size = tile_grid_size
+
+ def __call__(self, results):
+ """Call function to Use CLAHE method process images.
+
+ Args:
+ results (dict): Result dict from loading pipeline.
+
+ Returns:
+ dict: Processed results.
+ """
+
+ for i in range(results['img'].shape[2]):
+ results['img'][:, :, i] = mmcv.clahe(
+ np.array(results['img'][:, :, i], dtype=np.uint8),
+ self.clip_limit, self.tile_grid_size)
+
+ return results
+
+ def __repr__(self):
+ repr_str = self.__class__.__name__
+ repr_str += f'(clip_limit={self.clip_limit}, '\
+ f'tile_grid_size={self.tile_grid_size})'
+ return repr_str
+
+
+@PIPELINES.register_module()
+class RandomCrop(object):
+ """Random crop the image & seg.
+
+ Args:
+ crop_size (tuple): Expected size after cropping, (h, w).
+ cat_max_ratio (float): The maximum ratio that single category could
+ occupy.
+ """
+
+ def __init__(self, crop_size, cat_max_ratio=1., ignore_index=255):
+ assert crop_size[0] > 0 and crop_size[1] > 0
+ self.crop_size = crop_size
+ self.cat_max_ratio = cat_max_ratio
+ self.ignore_index = ignore_index
+
+ def get_crop_bbox(self, img):
+ """Randomly get a crop bounding box."""
+ margin_h = max(img.shape[0] - self.crop_size[0], 0)
+ margin_w = max(img.shape[1] - self.crop_size[1], 0)
+ offset_h = np.random.randint(0, margin_h + 1)
+ offset_w = np.random.randint(0, margin_w + 1)
+ crop_y1, crop_y2 = offset_h, offset_h + self.crop_size[0]
+ crop_x1, crop_x2 = offset_w, offset_w + self.crop_size[1]
+
+ return crop_y1, crop_y2, crop_x1, crop_x2
+
+ def crop(self, img, crop_bbox):
+ """Crop from ``img``"""
+ crop_y1, crop_y2, crop_x1, crop_x2 = crop_bbox
+ img = img[crop_y1:crop_y2, crop_x1:crop_x2, ...]
+ return img
+
+ def __call__(self, results):
+ """Call function to randomly crop images, semantic segmentation maps.
+
+ Args:
+ results (dict): Result dict from loading pipeline.
+
+ Returns:
+ dict: Randomly cropped results, 'img_shape' key in result dict is
+ updated according to crop size.
+ """
+
+ img = results['img']
+ crop_bbox = self.get_crop_bbox(img)
+ if self.cat_max_ratio < 1.:
+ # Repeat 10 times
+ for _ in range(10):
+ seg_temp = self.crop(results['gt_semantic_seg'], crop_bbox)
+ labels, cnt = np.unique(seg_temp, return_counts=True)
+ cnt = cnt[labels != self.ignore_index]
+ if len(cnt) > 1 and np.max(cnt) / np.sum(
+ cnt) < self.cat_max_ratio:
+ break
+ crop_bbox = self.get_crop_bbox(img)
+
+ # crop the image
+ img = self.crop(img, crop_bbox)
+ img_shape = img.shape
+ results['img'] = img
+ results['img_shape'] = img_shape
+
+ # crop semantic seg
+ for key in results.get('seg_fields', []):
+ results[key] = self.crop(results[key], crop_bbox)
+
+ return results
+
+ def __repr__(self):
+ return self.__class__.__name__ + f'(crop_size={self.crop_size})'
+
+
+@PIPELINES.register_module()
+class RandomRotate(object):
+ """Rotate the image & seg.
+
+ Args:
+ prob (float): The rotation probability.
+ degree (float, tuple[float]): Range of degrees to select from. If
+ degree is a number instead of tuple like (min, max),
+ the range of degree will be (``-degree``, ``+degree``)
+ pad_val (float, optional): Padding value of image. Default: 0.
+ seg_pad_val (float, optional): Padding value of segmentation map.
+ Default: 255.
+ center (tuple[float], optional): Center point (w, h) of the rotation in
+ the source image. If not specified, the center of the image will be
+ used. Default: None.
+ auto_bound (bool): Whether to adjust the image size to cover the whole
+ rotated image. Default: False
+ """
+
+ def __init__(self,
+ prob,
+ degree,
+ pad_val=0,
+ seg_pad_val=255,
+ center=None,
+ auto_bound=False):
+ self.prob = prob
+ assert prob >= 0 and prob <= 1
+ if isinstance(degree, (float, int)):
+ assert degree > 0, f'degree {degree} should be positive'
+ self.degree = (-degree, degree)
+ else:
+ self.degree = degree
+ assert len(self.degree) == 2, f'degree {self.degree} should be a ' \
+ f'tuple of (min, max)'
+ self.pal_val = pad_val
+ self.seg_pad_val = seg_pad_val
+ self.center = center
+ self.auto_bound = auto_bound
+
+ def __call__(self, results):
+ """Call function to rotate image, semantic segmentation maps.
+
+ Args:
+ results (dict): Result dict from loading pipeline.
+
+ Returns:
+ dict: Rotated results.
+ """
+
+ rotate = True if np.random.rand() < self.prob else False
+ degree = np.random.uniform(min(*self.degree), max(*self.degree))
+ if rotate:
+ # rotate image
+ results['img'] = mmcv.imrotate(
+ results['img'],
+ angle=degree,
+ border_value=self.pal_val,
+ center=self.center,
+ auto_bound=self.auto_bound)
+
+ # rotate segs
+ for key in results.get('seg_fields', []):
+ results[key] = mmcv.imrotate(
+ results[key],
+ angle=degree,
+ border_value=self.seg_pad_val,
+ center=self.center,
+ auto_bound=self.auto_bound,
+ interpolation='nearest')
+ return results
+
+ def __repr__(self):
+ repr_str = self.__class__.__name__
+ repr_str += f'(prob={self.prob}, ' \
+ f'degree={self.degree}, ' \
+ f'pad_val={self.pal_val}, ' \
+ f'seg_pad_val={self.seg_pad_val}, ' \
+ f'center={self.center}, ' \
+ f'auto_bound={self.auto_bound})'
+ return repr_str
+
+
+@PIPELINES.register_module()
+class RGB2Gray(object):
+ """Convert RGB image to grayscale image.
+
+ This transform calculate the weighted mean of input image channels with
+ ``weights`` and then expand the channels to ``out_channels``. When
+ ``out_channels`` is None, the number of output channels is the same as
+ input channels.
+
+ Args:
+ out_channels (int): Expected number of output channels after
+ transforming. Default: None.
+ weights (tuple[float]): The weights to calculate the weighted mean.
+ Default: (0.299, 0.587, 0.114).
+ """
+
+ def __init__(self, out_channels=None, weights=(0.299, 0.587, 0.114)):
+ assert out_channels is None or out_channels > 0
+ self.out_channels = out_channels
+ assert isinstance(weights, tuple)
+ for item in weights:
+ assert isinstance(item, (float, int))
+ self.weights = weights
+
+ def __call__(self, results):
+ """Call function to convert RGB image to grayscale image.
+
+ Args:
+ results (dict): Result dict from loading pipeline.
+
+ Returns:
+ dict: Result dict with grayscale image.
+ """
+ img = results['img']
+ assert len(img.shape) == 3
+ assert img.shape[2] == len(self.weights)
+ weights = np.array(self.weights).reshape((1, 1, -1))
+ img = (img * weights).sum(2, keepdims=True)
+ if self.out_channels is None:
+ img = img.repeat(weights.shape[2], axis=2)
+ else:
+ img = img.repeat(self.out_channels, axis=2)
+
+ results['img'] = img
+ results['img_shape'] = img.shape
+
+ return results
+
+ def __repr__(self):
+ repr_str = self.__class__.__name__
+ repr_str += f'(out_channels={self.out_channels}, ' \
+ f'weights={self.weights})'
+ return repr_str
+
+
+@PIPELINES.register_module()
+class AdjustGamma(object):
+ """Using gamma correction to process the image.
+
+ Args:
+ gamma (float or int): Gamma value used in gamma correction.
+ Default: 1.0.
+ """
+
+ def __init__(self, gamma=1.0):
+ assert isinstance(gamma, float) or isinstance(gamma, int)
+ assert gamma > 0
+ self.gamma = gamma
+ inv_gamma = 1.0 / gamma
+ self.table = np.array([(i / 255.0)**inv_gamma * 255
+ for i in np.arange(256)]).astype('uint8')
+
+ def __call__(self, results):
+ """Call function to process the image with gamma correction.
+
+ Args:
+ results (dict): Result dict from loading pipeline.
+
+ Returns:
+ dict: Processed results.
+ """
+
+ results['img'] = mmcv.lut_transform(
+ np.array(results['img'], dtype=np.uint8), self.table)
+
+ return results
+
+ def __repr__(self):
+ return self.__class__.__name__ + f'(gamma={self.gamma})'
+
+
+@PIPELINES.register_module()
+class SegRescale(object):
+ """Rescale semantic segmentation maps.
+
+ Args:
+ scale_factor (float): The scale factor of the final output.
+ """
+
+ def __init__(self, scale_factor=1):
+ self.scale_factor = scale_factor
+
+ def __call__(self, results):
+ """Call function to scale the semantic segmentation map.
+
+ Args:
+ results (dict): Result dict from loading pipeline.
+
+ Returns:
+ dict: Result dict with semantic segmentation map scaled.
+ """
+ for key in results.get('seg_fields', []):
+ if self.scale_factor != 1:
+ results[key] = mmcv.imrescale(
+ results[key], self.scale_factor, interpolation='nearest')
+ return results
+
+ def __repr__(self):
+ return self.__class__.__name__ + f'(scale_factor={self.scale_factor})'
+
+
+@PIPELINES.register_module()
+class PhotoMetricDistortion(object):
+ """Apply photometric distortion to image sequentially, every transformation
+ is applied with a probability of 0.5. The position of random contrast is in
+ second or second to last.
+
+ 1. random brightness
+ 2. random contrast (mode 0)
+ 3. convert color from BGR to HSV
+ 4. random saturation
+ 5. random hue
+ 6. convert color from HSV to BGR
+ 7. random contrast (mode 1)
+
+ Args:
+ brightness_delta (int): delta of brightness.
+ contrast_range (tuple): range of contrast.
+ saturation_range (tuple): range of saturation.
+ hue_delta (int): delta of hue.
+ """
+
+ def __init__(self,
+ brightness_delta=32,
+ contrast_range=(0.5, 1.5),
+ saturation_range=(0.5, 1.5),
+ hue_delta=18):
+ self.brightness_delta = brightness_delta
+ self.contrast_lower, self.contrast_upper = contrast_range
+ self.saturation_lower, self.saturation_upper = saturation_range
+ self.hue_delta = hue_delta
+
+ def convert(self, img, alpha=1, beta=0):
+ """Multiple with alpha and add beat with clip."""
+ img = img.astype(np.float32) * alpha + beta
+ img = np.clip(img, 0, 255)
+ return img.astype(np.uint8)
+
+ def brightness(self, img):
+ """Brightness distortion."""
+ if random.randint(2):
+ return self.convert(
+ img,
+ beta=random.uniform(-self.brightness_delta,
+ self.brightness_delta))
+ return img
+
+ def contrast(self, img):
+ """Contrast distortion."""
+ if random.randint(2):
+ return self.convert(
+ img,
+ alpha=random.uniform(self.contrast_lower, self.contrast_upper))
+ return img
+
+ def saturation(self, img):
+ """Saturation distortion."""
+ if random.randint(2):
+ img = mmcv.bgr2hsv(img)
+ img[:, :, 1] = self.convert(
+ img[:, :, 1],
+ alpha=random.uniform(self.saturation_lower,
+ self.saturation_upper))
+ img = mmcv.hsv2bgr(img)
+ return img
+
+ def hue(self, img):
+ """Hue distortion."""
+ if random.randint(2):
+ img = mmcv.bgr2hsv(img)
+ img[:, :,
+ 0] = (img[:, :, 0].astype(int) +
+ random.randint(-self.hue_delta, self.hue_delta)) % 180
+ img = mmcv.hsv2bgr(img)
+ return img
+
+ def __call__(self, results):
+ """Call function to perform photometric distortion on images.
+
+ Args:
+ results (dict): Result dict from loading pipeline.
+
+ Returns:
+ dict: Result dict with images distorted.
+ """
+
+ img = results['img']
+ # random brightness
+ img = self.brightness(img)
+
+ # mode == 0 --> do random contrast first
+ # mode == 1 --> do random contrast last
+ mode = random.randint(2)
+ if mode == 1:
+ img = self.contrast(img)
+
+ # random saturation
+ img = self.saturation(img)
+
+ # random hue
+ img = self.hue(img)
+
+ # random contrast
+ if mode == 0:
+ img = self.contrast(img)
+
+ results['img'] = img
+ return results
+
+ def __repr__(self):
+ repr_str = self.__class__.__name__
+ repr_str += (f'(brightness_delta={self.brightness_delta}, '
+ f'contrast_range=({self.contrast_lower}, '
+ f'{self.contrast_upper}), '
+ f'saturation_range=({self.saturation_lower}, '
+ f'{self.saturation_upper}), '
+ f'hue_delta={self.hue_delta})')
+ return repr_str
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/stare.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/stare.py
new file mode 100644
index 0000000000000000000000000000000000000000..cbd14e0920e7f6a73baff1432e5a32ccfdb0dfae
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/stare.py
@@ -0,0 +1,27 @@
+import os.path as osp
+
+from .builder import DATASETS
+from .custom import CustomDataset
+
+
+@DATASETS.register_module()
+class STAREDataset(CustomDataset):
+ """STARE dataset.
+
+ In segmentation map annotation for STARE, 0 stands for background, which is
+ included in 2 categories. ``reduce_zero_label`` is fixed to False. The
+ ``img_suffix`` is fixed to '.png' and ``seg_map_suffix`` is fixed to
+ '.ah.png'.
+ """
+
+ CLASSES = ('background', 'vessel')
+
+ PALETTE = [[120, 120, 120], [6, 230, 230]]
+
+ def __init__(self, **kwargs):
+ super(STAREDataset, self).__init__(
+ img_suffix='.png',
+ seg_map_suffix='.ah.png',
+ reduce_zero_label=False,
+ **kwargs)
+ assert osp.exists(self.img_dir)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/voc.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/voc.py
new file mode 100644
index 0000000000000000000000000000000000000000..a8855203b14ee0dc4da9099a2945d4aedcffbcd6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/datasets/voc.py
@@ -0,0 +1,29 @@
+import os.path as osp
+
+from .builder import DATASETS
+from .custom import CustomDataset
+
+
+@DATASETS.register_module()
+class PascalVOCDataset(CustomDataset):
+ """Pascal VOC dataset.
+
+ Args:
+ split (str): Split txt file for Pascal VOC.
+ """
+
+ CLASSES = ('background', 'aeroplane', 'bicycle', 'bird', 'boat', 'bottle',
+ 'bus', 'car', 'cat', 'chair', 'cow', 'diningtable', 'dog',
+ 'horse', 'motorbike', 'person', 'pottedplant', 'sheep', 'sofa',
+ 'train', 'tvmonitor')
+
+ PALETTE = [[0, 0, 0], [128, 0, 0], [0, 128, 0], [128, 128, 0], [0, 0, 128],
+ [128, 0, 128], [0, 128, 128], [128, 128, 128], [64, 0, 0],
+ [192, 0, 0], [64, 128, 0], [192, 128, 0], [64, 0, 128],
+ [192, 0, 128], [64, 128, 128], [192, 128, 128], [0, 64, 0],
+ [128, 64, 0], [0, 192, 0], [128, 192, 0], [0, 64, 128]]
+
+ def __init__(self, split, **kwargs):
+ super(PascalVOCDataset, self).__init__(
+ img_suffix='.jpg', seg_map_suffix='.png', split=split, **kwargs)
+ assert osp.exists(self.img_dir) and self.split is not None
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..3cf93f8bec9cf0cef0a3bd76ca3ca92eb188f535
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/__init__.py
@@ -0,0 +1,12 @@
+from .backbones import * # noqa: F401,F403
+from .builder import (BACKBONES, HEADS, LOSSES, SEGMENTORS, build_backbone,
+ build_head, build_loss, build_segmentor)
+from .decode_heads import * # noqa: F401,F403
+from .losses import * # noqa: F401,F403
+from .necks import * # noqa: F401,F403
+from .segmentors import * # noqa: F401,F403
+
+__all__ = [
+ 'BACKBONES', 'HEADS', 'LOSSES', 'SEGMENTORS', 'build_backbone',
+ 'build_head', 'build_loss', 'build_segmentor'
+]
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/backbones/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/backbones/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..a1116c00a17c8bd9ed7f18743baee22b3b7d3f8d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/backbones/__init__.py
@@ -0,0 +1,16 @@
+from .cgnet import CGNet
+# from .fast_scnn import FastSCNN
+from .hrnet import HRNet
+from .mobilenet_v2 import MobileNetV2
+from .mobilenet_v3 import MobileNetV3
+from .resnest import ResNeSt
+from .resnet import ResNet, ResNetV1c, ResNetV1d
+from .resnext import ResNeXt
+from .unet import UNet
+from .vit import VisionTransformer
+
+__all__ = [
+ 'ResNet', 'ResNetV1c', 'ResNetV1d', 'ResNeXt', 'HRNet',
+ 'ResNeSt', 'MobileNetV2', 'UNet', 'CGNet', 'MobileNetV3',
+ 'VisionTransformer'
+]
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/backbones/cgnet.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/backbones/cgnet.py
new file mode 100644
index 0000000000000000000000000000000000000000..45c235e2e7fcef21e933ecb3ff88a37fa953abe6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/backbones/cgnet.py
@@ -0,0 +1,367 @@
+import torch
+import torch.nn as nn
+import torch.utils.checkpoint as cp
+from annotator.mmpkg.mmcv.cnn import (ConvModule, build_conv_layer, build_norm_layer,
+ constant_init, kaiming_init)
+from annotator.mmpkg.mmcv.runner import load_checkpoint
+from annotator.mmpkg.mmcv.utils.parrots_wrapper import _BatchNorm
+
+from annotator.mmpkg.mmseg.utils import get_root_logger
+from ..builder import BACKBONES
+
+
+class GlobalContextExtractor(nn.Module):
+ """Global Context Extractor for CGNet.
+
+ This class is employed to refine the joint feature of both local feature
+ and surrounding context.
+
+ Args:
+ channel (int): Number of input feature channels.
+ reduction (int): Reductions for global context extractor. Default: 16.
+ with_cp (bool): Use checkpoint or not. Using checkpoint will save some
+ memory while slowing down the training speed. Default: False.
+ """
+
+ def __init__(self, channel, reduction=16, with_cp=False):
+ super(GlobalContextExtractor, self).__init__()
+ self.channel = channel
+ self.reduction = reduction
+ assert reduction >= 1 and channel >= reduction
+ self.with_cp = with_cp
+ self.avg_pool = nn.AdaptiveAvgPool2d(1)
+ self.fc = nn.Sequential(
+ nn.Linear(channel, channel // reduction), nn.ReLU(inplace=True),
+ nn.Linear(channel // reduction, channel), nn.Sigmoid())
+
+ def forward(self, x):
+
+ def _inner_forward(x):
+ num_batch, num_channel = x.size()[:2]
+ y = self.avg_pool(x).view(num_batch, num_channel)
+ y = self.fc(y).view(num_batch, num_channel, 1, 1)
+ return x * y
+
+ if self.with_cp and x.requires_grad:
+ out = cp.checkpoint(_inner_forward, x)
+ else:
+ out = _inner_forward(x)
+
+ return out
+
+
+class ContextGuidedBlock(nn.Module):
+ """Context Guided Block for CGNet.
+
+ This class consists of four components: local feature extractor,
+ surrounding feature extractor, joint feature extractor and global
+ context extractor.
+
+ Args:
+ in_channels (int): Number of input feature channels.
+ out_channels (int): Number of output feature channels.
+ dilation (int): Dilation rate for surrounding context extractor.
+ Default: 2.
+ reduction (int): Reduction for global context extractor. Default: 16.
+ skip_connect (bool): Add input to output or not. Default: True.
+ downsample (bool): Downsample the input to 1/2 or not. Default: False.
+ conv_cfg (dict): Config dict for convolution layer.
+ Default: None, which means using conv2d.
+ norm_cfg (dict): Config dict for normalization layer.
+ Default: dict(type='BN', requires_grad=True).
+ act_cfg (dict): Config dict for activation layer.
+ Default: dict(type='PReLU').
+ with_cp (bool): Use checkpoint or not. Using checkpoint will save some
+ memory while slowing down the training speed. Default: False.
+ """
+
+ def __init__(self,
+ in_channels,
+ out_channels,
+ dilation=2,
+ reduction=16,
+ skip_connect=True,
+ downsample=False,
+ conv_cfg=None,
+ norm_cfg=dict(type='BN', requires_grad=True),
+ act_cfg=dict(type='PReLU'),
+ with_cp=False):
+ super(ContextGuidedBlock, self).__init__()
+ self.with_cp = with_cp
+ self.downsample = downsample
+
+ channels = out_channels if downsample else out_channels // 2
+ if 'type' in act_cfg and act_cfg['type'] == 'PReLU':
+ act_cfg['num_parameters'] = channels
+ kernel_size = 3 if downsample else 1
+ stride = 2 if downsample else 1
+ padding = (kernel_size - 1) // 2
+
+ self.conv1x1 = ConvModule(
+ in_channels,
+ channels,
+ kernel_size,
+ stride,
+ padding,
+ conv_cfg=conv_cfg,
+ norm_cfg=norm_cfg,
+ act_cfg=act_cfg)
+
+ self.f_loc = build_conv_layer(
+ conv_cfg,
+ channels,
+ channels,
+ kernel_size=3,
+ padding=1,
+ groups=channels,
+ bias=False)
+ self.f_sur = build_conv_layer(
+ conv_cfg,
+ channels,
+ channels,
+ kernel_size=3,
+ padding=dilation,
+ groups=channels,
+ dilation=dilation,
+ bias=False)
+
+ self.bn = build_norm_layer(norm_cfg, 2 * channels)[1]
+ self.activate = nn.PReLU(2 * channels)
+
+ if downsample:
+ self.bottleneck = build_conv_layer(
+ conv_cfg,
+ 2 * channels,
+ out_channels,
+ kernel_size=1,
+ bias=False)
+
+ self.skip_connect = skip_connect and not downsample
+ self.f_glo = GlobalContextExtractor(out_channels, reduction, with_cp)
+
+ def forward(self, x):
+
+ def _inner_forward(x):
+ out = self.conv1x1(x)
+ loc = self.f_loc(out)
+ sur = self.f_sur(out)
+
+ joi_feat = torch.cat([loc, sur], 1) # the joint feature
+ joi_feat = self.bn(joi_feat)
+ joi_feat = self.activate(joi_feat)
+ if self.downsample:
+ joi_feat = self.bottleneck(joi_feat) # channel = out_channels
+ # f_glo is employed to refine the joint feature
+ out = self.f_glo(joi_feat)
+
+ if self.skip_connect:
+ return x + out
+ else:
+ return out
+
+ if self.with_cp and x.requires_grad:
+ out = cp.checkpoint(_inner_forward, x)
+ else:
+ out = _inner_forward(x)
+
+ return out
+
+
+class InputInjection(nn.Module):
+ """Downsampling module for CGNet."""
+
+ def __init__(self, num_downsampling):
+ super(InputInjection, self).__init__()
+ self.pool = nn.ModuleList()
+ for i in range(num_downsampling):
+ self.pool.append(nn.AvgPool2d(3, stride=2, padding=1))
+
+ def forward(self, x):
+ for pool in self.pool:
+ x = pool(x)
+ return x
+
+
+@BACKBONES.register_module()
+class CGNet(nn.Module):
+ """CGNet backbone.
+
+ A Light-weight Context Guided Network for Semantic Segmentation
+ arXiv: https://arxiv.org/abs/1811.08201
+
+ Args:
+ in_channels (int): Number of input image channels. Normally 3.
+ num_channels (tuple[int]): Numbers of feature channels at each stages.
+ Default: (32, 64, 128).
+ num_blocks (tuple[int]): Numbers of CG blocks at stage 1 and stage 2.
+ Default: (3, 21).
+ dilations (tuple[int]): Dilation rate for surrounding context
+ extractors at stage 1 and stage 2. Default: (2, 4).
+ reductions (tuple[int]): Reductions for global context extractors at
+ stage 1 and stage 2. Default: (8, 16).
+ conv_cfg (dict): Config dict for convolution layer.
+ Default: None, which means using conv2d.
+ norm_cfg (dict): Config dict for normalization layer.
+ Default: dict(type='BN', requires_grad=True).
+ act_cfg (dict): Config dict for activation layer.
+ Default: dict(type='PReLU').
+ norm_eval (bool): Whether to set norm layers to eval mode, namely,
+ freeze running stats (mean and var). Note: Effect on Batch Norm
+ and its variants only. Default: False.
+ with_cp (bool): Use checkpoint or not. Using checkpoint will save some
+ memory while slowing down the training speed. Default: False.
+ """
+
+ def __init__(self,
+ in_channels=3,
+ num_channels=(32, 64, 128),
+ num_blocks=(3, 21),
+ dilations=(2, 4),
+ reductions=(8, 16),
+ conv_cfg=None,
+ norm_cfg=dict(type='BN', requires_grad=True),
+ act_cfg=dict(type='PReLU'),
+ norm_eval=False,
+ with_cp=False):
+
+ super(CGNet, self).__init__()
+ self.in_channels = in_channels
+ self.num_channels = num_channels
+ assert isinstance(self.num_channels, tuple) and len(
+ self.num_channels) == 3
+ self.num_blocks = num_blocks
+ assert isinstance(self.num_blocks, tuple) and len(self.num_blocks) == 2
+ self.dilations = dilations
+ assert isinstance(self.dilations, tuple) and len(self.dilations) == 2
+ self.reductions = reductions
+ assert isinstance(self.reductions, tuple) and len(self.reductions) == 2
+ self.conv_cfg = conv_cfg
+ self.norm_cfg = norm_cfg
+ self.act_cfg = act_cfg
+ if 'type' in self.act_cfg and self.act_cfg['type'] == 'PReLU':
+ self.act_cfg['num_parameters'] = num_channels[0]
+ self.norm_eval = norm_eval
+ self.with_cp = with_cp
+
+ cur_channels = in_channels
+ self.stem = nn.ModuleList()
+ for i in range(3):
+ self.stem.append(
+ ConvModule(
+ cur_channels,
+ num_channels[0],
+ 3,
+ 2 if i == 0 else 1,
+ padding=1,
+ conv_cfg=conv_cfg,
+ norm_cfg=norm_cfg,
+ act_cfg=act_cfg))
+ cur_channels = num_channels[0]
+
+ self.inject_2x = InputInjection(1) # down-sample for Input, factor=2
+ self.inject_4x = InputInjection(2) # down-sample for Input, factor=4
+
+ cur_channels += in_channels
+ self.norm_prelu_0 = nn.Sequential(
+ build_norm_layer(norm_cfg, cur_channels)[1],
+ nn.PReLU(cur_channels))
+
+ # stage 1
+ self.level1 = nn.ModuleList()
+ for i in range(num_blocks[0]):
+ self.level1.append(
+ ContextGuidedBlock(
+ cur_channels if i == 0 else num_channels[1],
+ num_channels[1],
+ dilations[0],
+ reductions[0],
+ downsample=(i == 0),
+ conv_cfg=conv_cfg,
+ norm_cfg=norm_cfg,
+ act_cfg=act_cfg,
+ with_cp=with_cp)) # CG block
+
+ cur_channels = 2 * num_channels[1] + in_channels
+ self.norm_prelu_1 = nn.Sequential(
+ build_norm_layer(norm_cfg, cur_channels)[1],
+ nn.PReLU(cur_channels))
+
+ # stage 2
+ self.level2 = nn.ModuleList()
+ for i in range(num_blocks[1]):
+ self.level2.append(
+ ContextGuidedBlock(
+ cur_channels if i == 0 else num_channels[2],
+ num_channels[2],
+ dilations[1],
+ reductions[1],
+ downsample=(i == 0),
+ conv_cfg=conv_cfg,
+ norm_cfg=norm_cfg,
+ act_cfg=act_cfg,
+ with_cp=with_cp)) # CG block
+
+ cur_channels = 2 * num_channels[2]
+ self.norm_prelu_2 = nn.Sequential(
+ build_norm_layer(norm_cfg, cur_channels)[1],
+ nn.PReLU(cur_channels))
+
+ def forward(self, x):
+ output = []
+
+ # stage 0
+ inp_2x = self.inject_2x(x)
+ inp_4x = self.inject_4x(x)
+ for layer in self.stem:
+ x = layer(x)
+ x = self.norm_prelu_0(torch.cat([x, inp_2x], 1))
+ output.append(x)
+
+ # stage 1
+ for i, layer in enumerate(self.level1):
+ x = layer(x)
+ if i == 0:
+ down1 = x
+ x = self.norm_prelu_1(torch.cat([x, down1, inp_4x], 1))
+ output.append(x)
+
+ # stage 2
+ for i, layer in enumerate(self.level2):
+ x = layer(x)
+ if i == 0:
+ down2 = x
+ x = self.norm_prelu_2(torch.cat([down2, x], 1))
+ output.append(x)
+
+ return output
+
+ def init_weights(self, pretrained=None):
+ """Initialize the weights in backbone.
+
+ Args:
+ pretrained (str, optional): Path to pre-trained weights.
+ Defaults to None.
+ """
+ if isinstance(pretrained, str):
+ logger = get_root_logger()
+ load_checkpoint(self, pretrained, strict=False, logger=logger)
+ elif pretrained is None:
+ for m in self.modules():
+ if isinstance(m, (nn.Conv2d, nn.Linear)):
+ kaiming_init(m)
+ elif isinstance(m, (_BatchNorm, nn.GroupNorm)):
+ constant_init(m, 1)
+ elif isinstance(m, nn.PReLU):
+ constant_init(m, 0)
+ else:
+ raise TypeError('pretrained must be a str or None')
+
+ def train(self, mode=True):
+ """Convert the model into training mode will keeping the normalization
+ layer freezed."""
+ super(CGNet, self).train(mode)
+ if mode and self.norm_eval:
+ for m in self.modules():
+ # trick: eval have effect on BatchNorm only
+ if isinstance(m, _BatchNorm):
+ m.eval()
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/backbones/fast_scnn.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/backbones/fast_scnn.py
new file mode 100644
index 0000000000000000000000000000000000000000..417114417ebc830ea11ae7216aa12d8f7a79e5cb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/backbones/fast_scnn.py
@@ -0,0 +1,375 @@
+import torch
+import torch.nn as nn
+from annotator.mmpkg.mmcv.cnn import (ConvModule, DepthwiseSeparableConvModule, constant_init,
+ kaiming_init)
+from torch.nn.modules.batchnorm import _BatchNorm
+
+from annotator.mmpkg.mmseg.models.decode_heads.psp_head import PPM
+from annotator.mmpkg.mmseg.ops import resize
+from ..builder import BACKBONES
+from ..utils.inverted_residual import InvertedResidual
+
+
+class LearningToDownsample(nn.Module):
+ """Learning to downsample module.
+
+ Args:
+ in_channels (int): Number of input channels.
+ dw_channels (tuple[int]): Number of output channels of the first and
+ the second depthwise conv (dwconv) layers.
+ out_channels (int): Number of output channels of the whole
+ 'learning to downsample' module.
+ conv_cfg (dict | None): Config of conv layers. Default: None
+ norm_cfg (dict | None): Config of norm layers. Default:
+ dict(type='BN')
+ act_cfg (dict): Config of activation layers. Default:
+ dict(type='ReLU')
+ """
+
+ def __init__(self,
+ in_channels,
+ dw_channels,
+ out_channels,
+ conv_cfg=None,
+ norm_cfg=dict(type='BN'),
+ act_cfg=dict(type='ReLU')):
+ super(LearningToDownsample, self).__init__()
+ self.conv_cfg = conv_cfg
+ self.norm_cfg = norm_cfg
+ self.act_cfg = act_cfg
+ dw_channels1 = dw_channels[0]
+ dw_channels2 = dw_channels[1]
+
+ self.conv = ConvModule(
+ in_channels,
+ dw_channels1,
+ 3,
+ stride=2,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg)
+ self.dsconv1 = DepthwiseSeparableConvModule(
+ dw_channels1,
+ dw_channels2,
+ kernel_size=3,
+ stride=2,
+ padding=1,
+ norm_cfg=self.norm_cfg)
+ self.dsconv2 = DepthwiseSeparableConvModule(
+ dw_channels2,
+ out_channels,
+ kernel_size=3,
+ stride=2,
+ padding=1,
+ norm_cfg=self.norm_cfg)
+
+ def forward(self, x):
+ x = self.conv(x)
+ x = self.dsconv1(x)
+ x = self.dsconv2(x)
+ return x
+
+
+class GlobalFeatureExtractor(nn.Module):
+ """Global feature extractor module.
+
+ Args:
+ in_channels (int): Number of input channels of the GFE module.
+ Default: 64
+ block_channels (tuple[int]): Tuple of ints. Each int specifies the
+ number of output channels of each Inverted Residual module.
+ Default: (64, 96, 128)
+ out_channels(int): Number of output channels of the GFE module.
+ Default: 128
+ expand_ratio (int): Adjusts number of channels of the hidden layer
+ in InvertedResidual by this amount.
+ Default: 6
+ num_blocks (tuple[int]): Tuple of ints. Each int specifies the
+ number of times each Inverted Residual module is repeated.
+ The repeated Inverted Residual modules are called a 'group'.
+ Default: (3, 3, 3)
+ strides (tuple[int]): Tuple of ints. Each int specifies
+ the downsampling factor of each 'group'.
+ Default: (2, 2, 1)
+ pool_scales (tuple[int]): Tuple of ints. Each int specifies
+ the parameter required in 'global average pooling' within PPM.
+ Default: (1, 2, 3, 6)
+ conv_cfg (dict | None): Config of conv layers. Default: None
+ norm_cfg (dict | None): Config of norm layers. Default:
+ dict(type='BN')
+ act_cfg (dict): Config of activation layers. Default:
+ dict(type='ReLU')
+ align_corners (bool): align_corners argument of F.interpolate.
+ Default: False
+ """
+
+ def __init__(self,
+ in_channels=64,
+ block_channels=(64, 96, 128),
+ out_channels=128,
+ expand_ratio=6,
+ num_blocks=(3, 3, 3),
+ strides=(2, 2, 1),
+ pool_scales=(1, 2, 3, 6),
+ conv_cfg=None,
+ norm_cfg=dict(type='BN'),
+ act_cfg=dict(type='ReLU'),
+ align_corners=False):
+ super(GlobalFeatureExtractor, self).__init__()
+ self.conv_cfg = conv_cfg
+ self.norm_cfg = norm_cfg
+ self.act_cfg = act_cfg
+ assert len(block_channels) == len(num_blocks) == 3
+ self.bottleneck1 = self._make_layer(in_channels, block_channels[0],
+ num_blocks[0], strides[0],
+ expand_ratio)
+ self.bottleneck2 = self._make_layer(block_channels[0],
+ block_channels[1], num_blocks[1],
+ strides[1], expand_ratio)
+ self.bottleneck3 = self._make_layer(block_channels[1],
+ block_channels[2], num_blocks[2],
+ strides[2], expand_ratio)
+ self.ppm = PPM(
+ pool_scales,
+ block_channels[2],
+ block_channels[2] // 4,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg,
+ align_corners=align_corners)
+ self.out = ConvModule(
+ block_channels[2] * 2,
+ out_channels,
+ 1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg)
+
+ def _make_layer(self,
+ in_channels,
+ out_channels,
+ blocks,
+ stride=1,
+ expand_ratio=6):
+ layers = [
+ InvertedResidual(
+ in_channels,
+ out_channels,
+ stride,
+ expand_ratio,
+ norm_cfg=self.norm_cfg)
+ ]
+ for i in range(1, blocks):
+ layers.append(
+ InvertedResidual(
+ out_channels,
+ out_channels,
+ 1,
+ expand_ratio,
+ norm_cfg=self.norm_cfg))
+ return nn.Sequential(*layers)
+
+ def forward(self, x):
+ x = self.bottleneck1(x)
+ x = self.bottleneck2(x)
+ x = self.bottleneck3(x)
+ x = torch.cat([x, *self.ppm(x)], dim=1)
+ x = self.out(x)
+ return x
+
+
+class FeatureFusionModule(nn.Module):
+ """Feature fusion module.
+
+ Args:
+ higher_in_channels (int): Number of input channels of the
+ higher-resolution branch.
+ lower_in_channels (int): Number of input channels of the
+ lower-resolution branch.
+ out_channels (int): Number of output channels.
+ conv_cfg (dict | None): Config of conv layers. Default: None
+ norm_cfg (dict | None): Config of norm layers. Default:
+ dict(type='BN')
+ act_cfg (dict): Config of activation layers. Default:
+ dict(type='ReLU')
+ align_corners (bool): align_corners argument of F.interpolate.
+ Default: False
+ """
+
+ def __init__(self,
+ higher_in_channels,
+ lower_in_channels,
+ out_channels,
+ conv_cfg=None,
+ norm_cfg=dict(type='BN'),
+ act_cfg=dict(type='ReLU'),
+ align_corners=False):
+ super(FeatureFusionModule, self).__init__()
+ self.conv_cfg = conv_cfg
+ self.norm_cfg = norm_cfg
+ self.act_cfg = act_cfg
+ self.align_corners = align_corners
+ self.dwconv = ConvModule(
+ lower_in_channels,
+ out_channels,
+ 1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg)
+ self.conv_lower_res = ConvModule(
+ out_channels,
+ out_channels,
+ 1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=None)
+ self.conv_higher_res = ConvModule(
+ higher_in_channels,
+ out_channels,
+ 1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=None)
+ self.relu = nn.ReLU(True)
+
+ def forward(self, higher_res_feature, lower_res_feature):
+ lower_res_feature = resize(
+ lower_res_feature,
+ size=higher_res_feature.size()[2:],
+ mode='bilinear',
+ align_corners=self.align_corners)
+ lower_res_feature = self.dwconv(lower_res_feature)
+ lower_res_feature = self.conv_lower_res(lower_res_feature)
+
+ higher_res_feature = self.conv_higher_res(higher_res_feature)
+ out = higher_res_feature + lower_res_feature
+ return self.relu(out)
+
+
+@BACKBONES.register_module()
+class FastSCNN(nn.Module):
+ """Fast-SCNN Backbone.
+
+ Args:
+ in_channels (int): Number of input image channels. Default: 3.
+ downsample_dw_channels (tuple[int]): Number of output channels after
+ the first conv layer & the second conv layer in
+ Learning-To-Downsample (LTD) module.
+ Default: (32, 48).
+ global_in_channels (int): Number of input channels of
+ Global Feature Extractor(GFE).
+ Equal to number of output channels of LTD.
+ Default: 64.
+ global_block_channels (tuple[int]): Tuple of integers that describe
+ the output channels for each of the MobileNet-v2 bottleneck
+ residual blocks in GFE.
+ Default: (64, 96, 128).
+ global_block_strides (tuple[int]): Tuple of integers
+ that describe the strides (downsampling factors) for each of the
+ MobileNet-v2 bottleneck residual blocks in GFE.
+ Default: (2, 2, 1).
+ global_out_channels (int): Number of output channels of GFE.
+ Default: 128.
+ higher_in_channels (int): Number of input channels of the higher
+ resolution branch in FFM.
+ Equal to global_in_channels.
+ Default: 64.
+ lower_in_channels (int): Number of input channels of the lower
+ resolution branch in FFM.
+ Equal to global_out_channels.
+ Default: 128.
+ fusion_out_channels (int): Number of output channels of FFM.
+ Default: 128.
+ out_indices (tuple): Tuple of indices of list
+ [higher_res_features, lower_res_features, fusion_output].
+ Often set to (0,1,2) to enable aux. heads.
+ Default: (0, 1, 2).
+ conv_cfg (dict | None): Config of conv layers. Default: None
+ norm_cfg (dict | None): Config of norm layers. Default:
+ dict(type='BN')
+ act_cfg (dict): Config of activation layers. Default:
+ dict(type='ReLU')
+ align_corners (bool): align_corners argument of F.interpolate.
+ Default: False
+ """
+
+ def __init__(self,
+ in_channels=3,
+ downsample_dw_channels=(32, 48),
+ global_in_channels=64,
+ global_block_channels=(64, 96, 128),
+ global_block_strides=(2, 2, 1),
+ global_out_channels=128,
+ higher_in_channels=64,
+ lower_in_channels=128,
+ fusion_out_channels=128,
+ out_indices=(0, 1, 2),
+ conv_cfg=None,
+ norm_cfg=dict(type='BN'),
+ act_cfg=dict(type='ReLU'),
+ align_corners=False):
+
+ super(FastSCNN, self).__init__()
+ if global_in_channels != higher_in_channels:
+ raise AssertionError('Global Input Channels must be the same \
+ with Higher Input Channels!')
+ elif global_out_channels != lower_in_channels:
+ raise AssertionError('Global Output Channels must be the same \
+ with Lower Input Channels!')
+
+ self.in_channels = in_channels
+ self.downsample_dw_channels1 = downsample_dw_channels[0]
+ self.downsample_dw_channels2 = downsample_dw_channels[1]
+ self.global_in_channels = global_in_channels
+ self.global_block_channels = global_block_channels
+ self.global_block_strides = global_block_strides
+ self.global_out_channels = global_out_channels
+ self.higher_in_channels = higher_in_channels
+ self.lower_in_channels = lower_in_channels
+ self.fusion_out_channels = fusion_out_channels
+ self.out_indices = out_indices
+ self.conv_cfg = conv_cfg
+ self.norm_cfg = norm_cfg
+ self.act_cfg = act_cfg
+ self.align_corners = align_corners
+ self.learning_to_downsample = LearningToDownsample(
+ in_channels,
+ downsample_dw_channels,
+ global_in_channels,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg)
+ self.global_feature_extractor = GlobalFeatureExtractor(
+ global_in_channels,
+ global_block_channels,
+ global_out_channels,
+ strides=self.global_block_strides,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg,
+ align_corners=self.align_corners)
+ self.feature_fusion = FeatureFusionModule(
+ higher_in_channels,
+ lower_in_channels,
+ fusion_out_channels,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg,
+ align_corners=self.align_corners)
+
+ def init_weights(self, pretrained=None):
+ for m in self.modules():
+ if isinstance(m, nn.Conv2d):
+ kaiming_init(m)
+ elif isinstance(m, (_BatchNorm, nn.GroupNorm)):
+ constant_init(m, 1)
+
+ def forward(self, x):
+ higher_res_features = self.learning_to_downsample(x)
+ lower_res_features = self.global_feature_extractor(higher_res_features)
+ fusion_output = self.feature_fusion(higher_res_features,
+ lower_res_features)
+
+ outs = [higher_res_features, lower_res_features, fusion_output]
+ outs = [outs[i] for i in self.out_indices]
+ return tuple(outs)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/backbones/hrnet.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/backbones/hrnet.py
new file mode 100644
index 0000000000000000000000000000000000000000..8d77fd6eadeec25a6b84619f0d7efa7c577b0464
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/backbones/hrnet.py
@@ -0,0 +1,555 @@
+import torch.nn as nn
+from annotator.mmpkg.mmcv.cnn import (build_conv_layer, build_norm_layer, constant_init,
+ kaiming_init)
+from annotator.mmpkg.mmcv.runner import load_checkpoint
+from annotator.mmpkg.mmcv.utils.parrots_wrapper import _BatchNorm
+
+from annotator.mmpkg.mmseg.ops import Upsample, resize
+from annotator.mmpkg.mmseg.utils import get_root_logger
+from ..builder import BACKBONES
+from .resnet import BasicBlock, Bottleneck
+
+
+class HRModule(nn.Module):
+ """High-Resolution Module for HRNet.
+
+ In this module, every branch has 4 BasicBlocks/Bottlenecks. Fusion/Exchange
+ is in this module.
+ """
+
+ def __init__(self,
+ num_branches,
+ blocks,
+ num_blocks,
+ in_channels,
+ num_channels,
+ multiscale_output=True,
+ with_cp=False,
+ conv_cfg=None,
+ norm_cfg=dict(type='BN', requires_grad=True)):
+ super(HRModule, self).__init__()
+ self._check_branches(num_branches, num_blocks, in_channels,
+ num_channels)
+
+ self.in_channels = in_channels
+ self.num_branches = num_branches
+
+ self.multiscale_output = multiscale_output
+ self.norm_cfg = norm_cfg
+ self.conv_cfg = conv_cfg
+ self.with_cp = with_cp
+ self.branches = self._make_branches(num_branches, blocks, num_blocks,
+ num_channels)
+ self.fuse_layers = self._make_fuse_layers()
+ self.relu = nn.ReLU(inplace=False)
+
+ def _check_branches(self, num_branches, num_blocks, in_channels,
+ num_channels):
+ """Check branches configuration."""
+ if num_branches != len(num_blocks):
+ error_msg = f'NUM_BRANCHES({num_branches}) <> NUM_BLOCKS(' \
+ f'{len(num_blocks)})'
+ raise ValueError(error_msg)
+
+ if num_branches != len(num_channels):
+ error_msg = f'NUM_BRANCHES({num_branches}) <> NUM_CHANNELS(' \
+ f'{len(num_channels)})'
+ raise ValueError(error_msg)
+
+ if num_branches != len(in_channels):
+ error_msg = f'NUM_BRANCHES({num_branches}) <> NUM_INCHANNELS(' \
+ f'{len(in_channels)})'
+ raise ValueError(error_msg)
+
+ def _make_one_branch(self,
+ branch_index,
+ block,
+ num_blocks,
+ num_channels,
+ stride=1):
+ """Build one branch."""
+ downsample = None
+ if stride != 1 or \
+ self.in_channels[branch_index] != \
+ num_channels[branch_index] * block.expansion:
+ downsample = nn.Sequential(
+ build_conv_layer(
+ self.conv_cfg,
+ self.in_channels[branch_index],
+ num_channels[branch_index] * block.expansion,
+ kernel_size=1,
+ stride=stride,
+ bias=False),
+ build_norm_layer(self.norm_cfg, num_channels[branch_index] *
+ block.expansion)[1])
+
+ layers = []
+ layers.append(
+ block(
+ self.in_channels[branch_index],
+ num_channels[branch_index],
+ stride,
+ downsample=downsample,
+ with_cp=self.with_cp,
+ norm_cfg=self.norm_cfg,
+ conv_cfg=self.conv_cfg))
+ self.in_channels[branch_index] = \
+ num_channels[branch_index] * block.expansion
+ for i in range(1, num_blocks[branch_index]):
+ layers.append(
+ block(
+ self.in_channels[branch_index],
+ num_channels[branch_index],
+ with_cp=self.with_cp,
+ norm_cfg=self.norm_cfg,
+ conv_cfg=self.conv_cfg))
+
+ return nn.Sequential(*layers)
+
+ def _make_branches(self, num_branches, block, num_blocks, num_channels):
+ """Build multiple branch."""
+ branches = []
+
+ for i in range(num_branches):
+ branches.append(
+ self._make_one_branch(i, block, num_blocks, num_channels))
+
+ return nn.ModuleList(branches)
+
+ def _make_fuse_layers(self):
+ """Build fuse layer."""
+ if self.num_branches == 1:
+ return None
+
+ num_branches = self.num_branches
+ in_channels = self.in_channels
+ fuse_layers = []
+ num_out_branches = num_branches if self.multiscale_output else 1
+ for i in range(num_out_branches):
+ fuse_layer = []
+ for j in range(num_branches):
+ if j > i:
+ fuse_layer.append(
+ nn.Sequential(
+ build_conv_layer(
+ self.conv_cfg,
+ in_channels[j],
+ in_channels[i],
+ kernel_size=1,
+ stride=1,
+ padding=0,
+ bias=False),
+ build_norm_layer(self.norm_cfg, in_channels[i])[1],
+ # we set align_corners=False for HRNet
+ Upsample(
+ scale_factor=2**(j - i),
+ mode='bilinear',
+ align_corners=False)))
+ elif j == i:
+ fuse_layer.append(None)
+ else:
+ conv_downsamples = []
+ for k in range(i - j):
+ if k == i - j - 1:
+ conv_downsamples.append(
+ nn.Sequential(
+ build_conv_layer(
+ self.conv_cfg,
+ in_channels[j],
+ in_channels[i],
+ kernel_size=3,
+ stride=2,
+ padding=1,
+ bias=False),
+ build_norm_layer(self.norm_cfg,
+ in_channels[i])[1]))
+ else:
+ conv_downsamples.append(
+ nn.Sequential(
+ build_conv_layer(
+ self.conv_cfg,
+ in_channels[j],
+ in_channels[j],
+ kernel_size=3,
+ stride=2,
+ padding=1,
+ bias=False),
+ build_norm_layer(self.norm_cfg,
+ in_channels[j])[1],
+ nn.ReLU(inplace=False)))
+ fuse_layer.append(nn.Sequential(*conv_downsamples))
+ fuse_layers.append(nn.ModuleList(fuse_layer))
+
+ return nn.ModuleList(fuse_layers)
+
+ def forward(self, x):
+ """Forward function."""
+ if self.num_branches == 1:
+ return [self.branches[0](x[0])]
+
+ for i in range(self.num_branches):
+ x[i] = self.branches[i](x[i])
+
+ x_fuse = []
+ for i in range(len(self.fuse_layers)):
+ y = 0
+ for j in range(self.num_branches):
+ if i == j:
+ y += x[j]
+ elif j > i:
+ y = y + resize(
+ self.fuse_layers[i][j](x[j]),
+ size=x[i].shape[2:],
+ mode='bilinear',
+ align_corners=False)
+ else:
+ y += self.fuse_layers[i][j](x[j])
+ x_fuse.append(self.relu(y))
+ return x_fuse
+
+
+@BACKBONES.register_module()
+class HRNet(nn.Module):
+ """HRNet backbone.
+
+ High-Resolution Representations for Labeling Pixels and Regions
+ arXiv: https://arxiv.org/abs/1904.04514
+
+ Args:
+ extra (dict): detailed configuration for each stage of HRNet.
+ in_channels (int): Number of input image channels. Normally 3.
+ conv_cfg (dict): dictionary to construct and config conv layer.
+ norm_cfg (dict): dictionary to construct and config norm layer.
+ norm_eval (bool): Whether to set norm layers to eval mode, namely,
+ freeze running stats (mean and var). Note: Effect on Batch Norm
+ and its variants only.
+ with_cp (bool): Use checkpoint or not. Using checkpoint will save some
+ memory while slowing down the training speed.
+ zero_init_residual (bool): whether to use zero init for last norm layer
+ in resblocks to let them behave as identity.
+
+ Example:
+ >>> from annotator.mmpkg.mmseg.models import HRNet
+ >>> import torch
+ >>> extra = dict(
+ >>> stage1=dict(
+ >>> num_modules=1,
+ >>> num_branches=1,
+ >>> block='BOTTLENECK',
+ >>> num_blocks=(4, ),
+ >>> num_channels=(64, )),
+ >>> stage2=dict(
+ >>> num_modules=1,
+ >>> num_branches=2,
+ >>> block='BASIC',
+ >>> num_blocks=(4, 4),
+ >>> num_channels=(32, 64)),
+ >>> stage3=dict(
+ >>> num_modules=4,
+ >>> num_branches=3,
+ >>> block='BASIC',
+ >>> num_blocks=(4, 4, 4),
+ >>> num_channels=(32, 64, 128)),
+ >>> stage4=dict(
+ >>> num_modules=3,
+ >>> num_branches=4,
+ >>> block='BASIC',
+ >>> num_blocks=(4, 4, 4, 4),
+ >>> num_channels=(32, 64, 128, 256)))
+ >>> self = HRNet(extra, in_channels=1)
+ >>> self.eval()
+ >>> inputs = torch.rand(1, 1, 32, 32)
+ >>> level_outputs = self.forward(inputs)
+ >>> for level_out in level_outputs:
+ ... print(tuple(level_out.shape))
+ (1, 32, 8, 8)
+ (1, 64, 4, 4)
+ (1, 128, 2, 2)
+ (1, 256, 1, 1)
+ """
+
+ blocks_dict = {'BASIC': BasicBlock, 'BOTTLENECK': Bottleneck}
+
+ def __init__(self,
+ extra,
+ in_channels=3,
+ conv_cfg=None,
+ norm_cfg=dict(type='BN', requires_grad=True),
+ norm_eval=False,
+ with_cp=False,
+ zero_init_residual=False):
+ super(HRNet, self).__init__()
+ self.extra = extra
+ self.conv_cfg = conv_cfg
+ self.norm_cfg = norm_cfg
+ self.norm_eval = norm_eval
+ self.with_cp = with_cp
+ self.zero_init_residual = zero_init_residual
+
+ # stem net
+ self.norm1_name, norm1 = build_norm_layer(self.norm_cfg, 64, postfix=1)
+ self.norm2_name, norm2 = build_norm_layer(self.norm_cfg, 64, postfix=2)
+
+ self.conv1 = build_conv_layer(
+ self.conv_cfg,
+ in_channels,
+ 64,
+ kernel_size=3,
+ stride=2,
+ padding=1,
+ bias=False)
+
+ self.add_module(self.norm1_name, norm1)
+ self.conv2 = build_conv_layer(
+ self.conv_cfg,
+ 64,
+ 64,
+ kernel_size=3,
+ stride=2,
+ padding=1,
+ bias=False)
+
+ self.add_module(self.norm2_name, norm2)
+ self.relu = nn.ReLU(inplace=True)
+
+ # stage 1
+ self.stage1_cfg = self.extra['stage1']
+ num_channels = self.stage1_cfg['num_channels'][0]
+ block_type = self.stage1_cfg['block']
+ num_blocks = self.stage1_cfg['num_blocks'][0]
+
+ block = self.blocks_dict[block_type]
+ stage1_out_channels = num_channels * block.expansion
+ self.layer1 = self._make_layer(block, 64, num_channels, num_blocks)
+
+ # stage 2
+ self.stage2_cfg = self.extra['stage2']
+ num_channels = self.stage2_cfg['num_channels']
+ block_type = self.stage2_cfg['block']
+
+ block = self.blocks_dict[block_type]
+ num_channels = [channel * block.expansion for channel in num_channels]
+ self.transition1 = self._make_transition_layer([stage1_out_channels],
+ num_channels)
+ self.stage2, pre_stage_channels = self._make_stage(
+ self.stage2_cfg, num_channels)
+
+ # stage 3
+ self.stage3_cfg = self.extra['stage3']
+ num_channels = self.stage3_cfg['num_channels']
+ block_type = self.stage3_cfg['block']
+
+ block = self.blocks_dict[block_type]
+ num_channels = [channel * block.expansion for channel in num_channels]
+ self.transition2 = self._make_transition_layer(pre_stage_channels,
+ num_channels)
+ self.stage3, pre_stage_channels = self._make_stage(
+ self.stage3_cfg, num_channels)
+
+ # stage 4
+ self.stage4_cfg = self.extra['stage4']
+ num_channels = self.stage4_cfg['num_channels']
+ block_type = self.stage4_cfg['block']
+
+ block = self.blocks_dict[block_type]
+ num_channels = [channel * block.expansion for channel in num_channels]
+ self.transition3 = self._make_transition_layer(pre_stage_channels,
+ num_channels)
+ self.stage4, pre_stage_channels = self._make_stage(
+ self.stage4_cfg, num_channels)
+
+ @property
+ def norm1(self):
+ """nn.Module: the normalization layer named "norm1" """
+ return getattr(self, self.norm1_name)
+
+ @property
+ def norm2(self):
+ """nn.Module: the normalization layer named "norm2" """
+ return getattr(self, self.norm2_name)
+
+ def _make_transition_layer(self, num_channels_pre_layer,
+ num_channels_cur_layer):
+ """Make transition layer."""
+ num_branches_cur = len(num_channels_cur_layer)
+ num_branches_pre = len(num_channels_pre_layer)
+
+ transition_layers = []
+ for i in range(num_branches_cur):
+ if i < num_branches_pre:
+ if num_channels_cur_layer[i] != num_channels_pre_layer[i]:
+ transition_layers.append(
+ nn.Sequential(
+ build_conv_layer(
+ self.conv_cfg,
+ num_channels_pre_layer[i],
+ num_channels_cur_layer[i],
+ kernel_size=3,
+ stride=1,
+ padding=1,
+ bias=False),
+ build_norm_layer(self.norm_cfg,
+ num_channels_cur_layer[i])[1],
+ nn.ReLU(inplace=True)))
+ else:
+ transition_layers.append(None)
+ else:
+ conv_downsamples = []
+ for j in range(i + 1 - num_branches_pre):
+ in_channels = num_channels_pre_layer[-1]
+ out_channels = num_channels_cur_layer[i] \
+ if j == i - num_branches_pre else in_channels
+ conv_downsamples.append(
+ nn.Sequential(
+ build_conv_layer(
+ self.conv_cfg,
+ in_channels,
+ out_channels,
+ kernel_size=3,
+ stride=2,
+ padding=1,
+ bias=False),
+ build_norm_layer(self.norm_cfg, out_channels)[1],
+ nn.ReLU(inplace=True)))
+ transition_layers.append(nn.Sequential(*conv_downsamples))
+
+ return nn.ModuleList(transition_layers)
+
+ def _make_layer(self, block, inplanes, planes, blocks, stride=1):
+ """Make each layer."""
+ downsample = None
+ if stride != 1 or inplanes != planes * block.expansion:
+ downsample = nn.Sequential(
+ build_conv_layer(
+ self.conv_cfg,
+ inplanes,
+ planes * block.expansion,
+ kernel_size=1,
+ stride=stride,
+ bias=False),
+ build_norm_layer(self.norm_cfg, planes * block.expansion)[1])
+
+ layers = []
+ layers.append(
+ block(
+ inplanes,
+ planes,
+ stride,
+ downsample=downsample,
+ with_cp=self.with_cp,
+ norm_cfg=self.norm_cfg,
+ conv_cfg=self.conv_cfg))
+ inplanes = planes * block.expansion
+ for i in range(1, blocks):
+ layers.append(
+ block(
+ inplanes,
+ planes,
+ with_cp=self.with_cp,
+ norm_cfg=self.norm_cfg,
+ conv_cfg=self.conv_cfg))
+
+ return nn.Sequential(*layers)
+
+ def _make_stage(self, layer_config, in_channels, multiscale_output=True):
+ """Make each stage."""
+ num_modules = layer_config['num_modules']
+ num_branches = layer_config['num_branches']
+ num_blocks = layer_config['num_blocks']
+ num_channels = layer_config['num_channels']
+ block = self.blocks_dict[layer_config['block']]
+
+ hr_modules = []
+ for i in range(num_modules):
+ # multi_scale_output is only used for the last module
+ if not multiscale_output and i == num_modules - 1:
+ reset_multiscale_output = False
+ else:
+ reset_multiscale_output = True
+
+ hr_modules.append(
+ HRModule(
+ num_branches,
+ block,
+ num_blocks,
+ in_channels,
+ num_channels,
+ reset_multiscale_output,
+ with_cp=self.with_cp,
+ norm_cfg=self.norm_cfg,
+ conv_cfg=self.conv_cfg))
+
+ return nn.Sequential(*hr_modules), in_channels
+
+ def init_weights(self, pretrained=None):
+ """Initialize the weights in backbone.
+
+ Args:
+ pretrained (str, optional): Path to pre-trained weights.
+ Defaults to None.
+ """
+ if isinstance(pretrained, str):
+ logger = get_root_logger()
+ load_checkpoint(self, pretrained, strict=False, logger=logger)
+ elif pretrained is None:
+ for m in self.modules():
+ if isinstance(m, nn.Conv2d):
+ kaiming_init(m)
+ elif isinstance(m, (_BatchNorm, nn.GroupNorm)):
+ constant_init(m, 1)
+
+ if self.zero_init_residual:
+ for m in self.modules():
+ if isinstance(m, Bottleneck):
+ constant_init(m.norm3, 0)
+ elif isinstance(m, BasicBlock):
+ constant_init(m.norm2, 0)
+ else:
+ raise TypeError('pretrained must be a str or None')
+
+ def forward(self, x):
+ """Forward function."""
+
+ x = self.conv1(x)
+ x = self.norm1(x)
+ x = self.relu(x)
+ x = self.conv2(x)
+ x = self.norm2(x)
+ x = self.relu(x)
+ x = self.layer1(x)
+
+ x_list = []
+ for i in range(self.stage2_cfg['num_branches']):
+ if self.transition1[i] is not None:
+ x_list.append(self.transition1[i](x))
+ else:
+ x_list.append(x)
+ y_list = self.stage2(x_list)
+
+ x_list = []
+ for i in range(self.stage3_cfg['num_branches']):
+ if self.transition2[i] is not None:
+ x_list.append(self.transition2[i](y_list[-1]))
+ else:
+ x_list.append(y_list[i])
+ y_list = self.stage3(x_list)
+
+ x_list = []
+ for i in range(self.stage4_cfg['num_branches']):
+ if self.transition3[i] is not None:
+ x_list.append(self.transition3[i](y_list[-1]))
+ else:
+ x_list.append(y_list[i])
+ y_list = self.stage4(x_list)
+
+ return y_list
+
+ def train(self, mode=True):
+ """Convert the model into training mode will keeping the normalization
+ layer freezed."""
+ super(HRNet, self).train(mode)
+ if mode and self.norm_eval:
+ for m in self.modules():
+ # trick: eval have effect on BatchNorm only
+ if isinstance(m, _BatchNorm):
+ m.eval()
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/backbones/mobilenet_v2.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/backbones/mobilenet_v2.py
new file mode 100644
index 0000000000000000000000000000000000000000..7b5b6cd6d04c9da04669550d7f1fd24381460bf3
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/backbones/mobilenet_v2.py
@@ -0,0 +1,180 @@
+import logging
+
+import torch.nn as nn
+from annotator.mmpkg.mmcv.cnn import ConvModule, constant_init, kaiming_init
+from annotator.mmpkg.mmcv.runner import load_checkpoint
+from torch.nn.modules.batchnorm import _BatchNorm
+
+from ..builder import BACKBONES
+from ..utils import InvertedResidual, make_divisible
+
+
+@BACKBONES.register_module()
+class MobileNetV2(nn.Module):
+ """MobileNetV2 backbone.
+
+ Args:
+ widen_factor (float): Width multiplier, multiply number of
+ channels in each layer by this amount. Default: 1.0.
+ strides (Sequence[int], optional): Strides of the first block of each
+ layer. If not specified, default config in ``arch_setting`` will
+ be used.
+ dilations (Sequence[int]): Dilation of each layer.
+ out_indices (None or Sequence[int]): Output from which stages.
+ Default: (7, ).
+ frozen_stages (int): Stages to be frozen (all param fixed).
+ Default: -1, which means not freezing any parameters.
+ conv_cfg (dict): Config dict for convolution layer.
+ Default: None, which means using conv2d.
+ norm_cfg (dict): Config dict for normalization layer.
+ Default: dict(type='BN').
+ act_cfg (dict): Config dict for activation layer.
+ Default: dict(type='ReLU6').
+ norm_eval (bool): Whether to set norm layers to eval mode, namely,
+ freeze running stats (mean and var). Note: Effect on Batch Norm
+ and its variants only. Default: False.
+ with_cp (bool): Use checkpoint or not. Using checkpoint will save some
+ memory while slowing down the training speed. Default: False.
+ """
+
+ # Parameters to build layers. 3 parameters are needed to construct a
+ # layer, from left to right: expand_ratio, channel, num_blocks.
+ arch_settings = [[1, 16, 1], [6, 24, 2], [6, 32, 3], [6, 64, 4],
+ [6, 96, 3], [6, 160, 3], [6, 320, 1]]
+
+ def __init__(self,
+ widen_factor=1.,
+ strides=(1, 2, 2, 2, 1, 2, 1),
+ dilations=(1, 1, 1, 1, 1, 1, 1),
+ out_indices=(1, 2, 4, 6),
+ frozen_stages=-1,
+ conv_cfg=None,
+ norm_cfg=dict(type='BN'),
+ act_cfg=dict(type='ReLU6'),
+ norm_eval=False,
+ with_cp=False):
+ super(MobileNetV2, self).__init__()
+ self.widen_factor = widen_factor
+ self.strides = strides
+ self.dilations = dilations
+ assert len(strides) == len(dilations) == len(self.arch_settings)
+ self.out_indices = out_indices
+ for index in out_indices:
+ if index not in range(0, 7):
+ raise ValueError('the item in out_indices must in '
+ f'range(0, 8). But received {index}')
+
+ if frozen_stages not in range(-1, 7):
+ raise ValueError('frozen_stages must be in range(-1, 7). '
+ f'But received {frozen_stages}')
+ self.out_indices = out_indices
+ self.frozen_stages = frozen_stages
+ self.conv_cfg = conv_cfg
+ self.norm_cfg = norm_cfg
+ self.act_cfg = act_cfg
+ self.norm_eval = norm_eval
+ self.with_cp = with_cp
+
+ self.in_channels = make_divisible(32 * widen_factor, 8)
+
+ self.conv1 = ConvModule(
+ in_channels=3,
+ out_channels=self.in_channels,
+ kernel_size=3,
+ stride=2,
+ padding=1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg)
+
+ self.layers = []
+
+ for i, layer_cfg in enumerate(self.arch_settings):
+ expand_ratio, channel, num_blocks = layer_cfg
+ stride = self.strides[i]
+ dilation = self.dilations[i]
+ out_channels = make_divisible(channel * widen_factor, 8)
+ inverted_res_layer = self.make_layer(
+ out_channels=out_channels,
+ num_blocks=num_blocks,
+ stride=stride,
+ dilation=dilation,
+ expand_ratio=expand_ratio)
+ layer_name = f'layer{i + 1}'
+ self.add_module(layer_name, inverted_res_layer)
+ self.layers.append(layer_name)
+
+ def make_layer(self, out_channels, num_blocks, stride, dilation,
+ expand_ratio):
+ """Stack InvertedResidual blocks to build a layer for MobileNetV2.
+
+ Args:
+ out_channels (int): out_channels of block.
+ num_blocks (int): Number of blocks.
+ stride (int): Stride of the first block.
+ dilation (int): Dilation of the first block.
+ expand_ratio (int): Expand the number of channels of the
+ hidden layer in InvertedResidual by this ratio.
+ """
+ layers = []
+ for i in range(num_blocks):
+ layers.append(
+ InvertedResidual(
+ self.in_channels,
+ out_channels,
+ stride if i == 0 else 1,
+ expand_ratio=expand_ratio,
+ dilation=dilation if i == 0 else 1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg,
+ with_cp=self.with_cp))
+ self.in_channels = out_channels
+
+ return nn.Sequential(*layers)
+
+ def init_weights(self, pretrained=None):
+ if isinstance(pretrained, str):
+ logger = logging.getLogger()
+ load_checkpoint(self, pretrained, strict=False, logger=logger)
+ elif pretrained is None:
+ for m in self.modules():
+ if isinstance(m, nn.Conv2d):
+ kaiming_init(m)
+ elif isinstance(m, (_BatchNorm, nn.GroupNorm)):
+ constant_init(m, 1)
+ else:
+ raise TypeError('pretrained must be a str or None')
+
+ def forward(self, x):
+ x = self.conv1(x)
+
+ outs = []
+ for i, layer_name in enumerate(self.layers):
+ layer = getattr(self, layer_name)
+ x = layer(x)
+ if i in self.out_indices:
+ outs.append(x)
+
+ if len(outs) == 1:
+ return outs[0]
+ else:
+ return tuple(outs)
+
+ def _freeze_stages(self):
+ if self.frozen_stages >= 0:
+ for param in self.conv1.parameters():
+ param.requires_grad = False
+ for i in range(1, self.frozen_stages + 1):
+ layer = getattr(self, f'layer{i}')
+ layer.eval()
+ for param in layer.parameters():
+ param.requires_grad = False
+
+ def train(self, mode=True):
+ super(MobileNetV2, self).train(mode)
+ self._freeze_stages()
+ if mode and self.norm_eval:
+ for m in self.modules():
+ if isinstance(m, _BatchNorm):
+ m.eval()
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/backbones/mobilenet_v3.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/backbones/mobilenet_v3.py
new file mode 100644
index 0000000000000000000000000000000000000000..e3c22bdd22356a600454f14c2ed12e7ef72c8ca1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/backbones/mobilenet_v3.py
@@ -0,0 +1,255 @@
+import logging
+
+import annotator.mmpkg.mmcv as mmcv
+import torch.nn as nn
+from annotator.mmpkg.mmcv.cnn import ConvModule, constant_init, kaiming_init
+from annotator.mmpkg.mmcv.cnn.bricks import Conv2dAdaptivePadding
+from annotator.mmpkg.mmcv.runner import load_checkpoint
+from torch.nn.modules.batchnorm import _BatchNorm
+
+from ..builder import BACKBONES
+from ..utils import InvertedResidualV3 as InvertedResidual
+
+
+@BACKBONES.register_module()
+class MobileNetV3(nn.Module):
+ """MobileNetV3 backbone.
+
+ This backbone is the improved implementation of `Searching for MobileNetV3
+ `_.
+
+ Args:
+ arch (str): Architecture of mobilnetv3, from {'small', 'large'}.
+ Default: 'small'.
+ conv_cfg (dict): Config dict for convolution layer.
+ Default: None, which means using conv2d.
+ norm_cfg (dict): Config dict for normalization layer.
+ Default: dict(type='BN').
+ out_indices (tuple[int]): Output from which layer.
+ Default: (0, 1, 12).
+ frozen_stages (int): Stages to be frozen (all param fixed).
+ Default: -1, which means not freezing any parameters.
+ norm_eval (bool): Whether to set norm layers to eval mode, namely,
+ freeze running stats (mean and var). Note: Effect on Batch Norm
+ and its variants only. Default: False.
+ with_cp (bool): Use checkpoint or not. Using checkpoint will save
+ some memory while slowing down the training speed.
+ Default: False.
+ """
+ # Parameters to build each block:
+ # [kernel size, mid channels, out channels, with_se, act type, stride]
+ arch_settings = {
+ 'small': [[3, 16, 16, True, 'ReLU', 2], # block0 layer1 os=4
+ [3, 72, 24, False, 'ReLU', 2], # block1 layer2 os=8
+ [3, 88, 24, False, 'ReLU', 1],
+ [5, 96, 40, True, 'HSwish', 2], # block2 layer4 os=16
+ [5, 240, 40, True, 'HSwish', 1],
+ [5, 240, 40, True, 'HSwish', 1],
+ [5, 120, 48, True, 'HSwish', 1], # block3 layer7 os=16
+ [5, 144, 48, True, 'HSwish', 1],
+ [5, 288, 96, True, 'HSwish', 2], # block4 layer9 os=32
+ [5, 576, 96, True, 'HSwish', 1],
+ [5, 576, 96, True, 'HSwish', 1]],
+ 'large': [[3, 16, 16, False, 'ReLU', 1], # block0 layer1 os=2
+ [3, 64, 24, False, 'ReLU', 2], # block1 layer2 os=4
+ [3, 72, 24, False, 'ReLU', 1],
+ [5, 72, 40, True, 'ReLU', 2], # block2 layer4 os=8
+ [5, 120, 40, True, 'ReLU', 1],
+ [5, 120, 40, True, 'ReLU', 1],
+ [3, 240, 80, False, 'HSwish', 2], # block3 layer7 os=16
+ [3, 200, 80, False, 'HSwish', 1],
+ [3, 184, 80, False, 'HSwish', 1],
+ [3, 184, 80, False, 'HSwish', 1],
+ [3, 480, 112, True, 'HSwish', 1], # block4 layer11 os=16
+ [3, 672, 112, True, 'HSwish', 1],
+ [5, 672, 160, True, 'HSwish', 2], # block5 layer13 os=32
+ [5, 960, 160, True, 'HSwish', 1],
+ [5, 960, 160, True, 'HSwish', 1]]
+ } # yapf: disable
+
+ def __init__(self,
+ arch='small',
+ conv_cfg=None,
+ norm_cfg=dict(type='BN'),
+ out_indices=(0, 1, 12),
+ frozen_stages=-1,
+ reduction_factor=1,
+ norm_eval=False,
+ with_cp=False):
+ super(MobileNetV3, self).__init__()
+ assert arch in self.arch_settings
+ assert isinstance(reduction_factor, int) and reduction_factor > 0
+ assert mmcv.is_tuple_of(out_indices, int)
+ for index in out_indices:
+ if index not in range(0, len(self.arch_settings[arch]) + 2):
+ raise ValueError(
+ 'the item in out_indices must in '
+ f'range(0, {len(self.arch_settings[arch])+2}). '
+ f'But received {index}')
+
+ if frozen_stages not in range(-1, len(self.arch_settings[arch]) + 2):
+ raise ValueError('frozen_stages must be in range(-1, '
+ f'{len(self.arch_settings[arch])+2}). '
+ f'But received {frozen_stages}')
+ self.arch = arch
+ self.conv_cfg = conv_cfg
+ self.norm_cfg = norm_cfg
+ self.out_indices = out_indices
+ self.frozen_stages = frozen_stages
+ self.reduction_factor = reduction_factor
+ self.norm_eval = norm_eval
+ self.with_cp = with_cp
+ self.layers = self._make_layer()
+
+ def _make_layer(self):
+ layers = []
+
+ # build the first layer (layer0)
+ in_channels = 16
+ layer = ConvModule(
+ in_channels=3,
+ out_channels=in_channels,
+ kernel_size=3,
+ stride=2,
+ padding=1,
+ conv_cfg=dict(type='Conv2dAdaptivePadding'),
+ norm_cfg=self.norm_cfg,
+ act_cfg=dict(type='HSwish'))
+ self.add_module('layer0', layer)
+ layers.append('layer0')
+
+ layer_setting = self.arch_settings[self.arch]
+ for i, params in enumerate(layer_setting):
+ (kernel_size, mid_channels, out_channels, with_se, act,
+ stride) = params
+
+ if self.arch == 'large' and i >= 12 or self.arch == 'small' and \
+ i >= 8:
+ mid_channels = mid_channels // self.reduction_factor
+ out_channels = out_channels // self.reduction_factor
+
+ if with_se:
+ se_cfg = dict(
+ channels=mid_channels,
+ ratio=4,
+ act_cfg=(dict(type='ReLU'),
+ dict(type='HSigmoid', bias=3.0, divisor=6.0)))
+ else:
+ se_cfg = None
+
+ layer = InvertedResidual(
+ in_channels=in_channels,
+ out_channels=out_channels,
+ mid_channels=mid_channels,
+ kernel_size=kernel_size,
+ stride=stride,
+ se_cfg=se_cfg,
+ with_expand_conv=(in_channels != mid_channels),
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=dict(type=act),
+ with_cp=self.with_cp)
+ in_channels = out_channels
+ layer_name = 'layer{}'.format(i + 1)
+ self.add_module(layer_name, layer)
+ layers.append(layer_name)
+
+ # build the last layer
+ # block5 layer12 os=32 for small model
+ # block6 layer16 os=32 for large model
+ layer = ConvModule(
+ in_channels=in_channels,
+ out_channels=576 if self.arch == 'small' else 960,
+ kernel_size=1,
+ stride=1,
+ dilation=4,
+ padding=0,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=dict(type='HSwish'))
+ layer_name = 'layer{}'.format(len(layer_setting) + 1)
+ self.add_module(layer_name, layer)
+ layers.append(layer_name)
+
+ # next, convert backbone MobileNetV3 to a semantic segmentation version
+ if self.arch == 'small':
+ self.layer4.depthwise_conv.conv.stride = (1, 1)
+ self.layer9.depthwise_conv.conv.stride = (1, 1)
+ for i in range(4, len(layers)):
+ layer = getattr(self, layers[i])
+ if isinstance(layer, InvertedResidual):
+ modified_module = layer.depthwise_conv.conv
+ else:
+ modified_module = layer.conv
+
+ if i < 9:
+ modified_module.dilation = (2, 2)
+ pad = 2
+ else:
+ modified_module.dilation = (4, 4)
+ pad = 4
+
+ if not isinstance(modified_module, Conv2dAdaptivePadding):
+ # Adjust padding
+ pad *= (modified_module.kernel_size[0] - 1) // 2
+ modified_module.padding = (pad, pad)
+ else:
+ self.layer7.depthwise_conv.conv.stride = (1, 1)
+ self.layer13.depthwise_conv.conv.stride = (1, 1)
+ for i in range(7, len(layers)):
+ layer = getattr(self, layers[i])
+ if isinstance(layer, InvertedResidual):
+ modified_module = layer.depthwise_conv.conv
+ else:
+ modified_module = layer.conv
+
+ if i < 13:
+ modified_module.dilation = (2, 2)
+ pad = 2
+ else:
+ modified_module.dilation = (4, 4)
+ pad = 4
+
+ if not isinstance(modified_module, Conv2dAdaptivePadding):
+ # Adjust padding
+ pad *= (modified_module.kernel_size[0] - 1) // 2
+ modified_module.padding = (pad, pad)
+
+ return layers
+
+ def init_weights(self, pretrained=None):
+ if isinstance(pretrained, str):
+ logger = logging.getLogger()
+ load_checkpoint(self, pretrained, strict=False, logger=logger)
+ elif pretrained is None:
+ for m in self.modules():
+ if isinstance(m, nn.Conv2d):
+ kaiming_init(m)
+ elif isinstance(m, nn.BatchNorm2d):
+ constant_init(m, 1)
+ else:
+ raise TypeError('pretrained must be a str or None')
+
+ def forward(self, x):
+ outs = []
+ for i, layer_name in enumerate(self.layers):
+ layer = getattr(self, layer_name)
+ x = layer(x)
+ if i in self.out_indices:
+ outs.append(x)
+ return outs
+
+ def _freeze_stages(self):
+ for i in range(self.frozen_stages + 1):
+ layer = getattr(self, f'layer{i}')
+ layer.eval()
+ for param in layer.parameters():
+ param.requires_grad = False
+
+ def train(self, mode=True):
+ super(MobileNetV3, self).train(mode)
+ self._freeze_stages()
+ if mode and self.norm_eval:
+ for m in self.modules():
+ if isinstance(m, _BatchNorm):
+ m.eval()
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/backbones/resnest.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/backbones/resnest.py
new file mode 100644
index 0000000000000000000000000000000000000000..076ef62195bac2a9660261446b5756c3880dfdf2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/backbones/resnest.py
@@ -0,0 +1,314 @@
+import math
+
+import torch
+import torch.nn as nn
+import torch.nn.functional as F
+import torch.utils.checkpoint as cp
+from annotator.mmpkg.mmcv.cnn import build_conv_layer, build_norm_layer
+
+from ..builder import BACKBONES
+from ..utils import ResLayer
+from .resnet import Bottleneck as _Bottleneck
+from .resnet import ResNetV1d
+
+
+class RSoftmax(nn.Module):
+ """Radix Softmax module in ``SplitAttentionConv2d``.
+
+ Args:
+ radix (int): Radix of input.
+ groups (int): Groups of input.
+ """
+
+ def __init__(self, radix, groups):
+ super().__init__()
+ self.radix = radix
+ self.groups = groups
+
+ def forward(self, x):
+ batch = x.size(0)
+ if self.radix > 1:
+ x = x.view(batch, self.groups, self.radix, -1).transpose(1, 2)
+ x = F.softmax(x, dim=1)
+ x = x.reshape(batch, -1)
+ else:
+ x = torch.sigmoid(x)
+ return x
+
+
+class SplitAttentionConv2d(nn.Module):
+ """Split-Attention Conv2d in ResNeSt.
+
+ Args:
+ in_channels (int): Same as nn.Conv2d.
+ out_channels (int): Same as nn.Conv2d.
+ kernel_size (int | tuple[int]): Same as nn.Conv2d.
+ stride (int | tuple[int]): Same as nn.Conv2d.
+ padding (int | tuple[int]): Same as nn.Conv2d.
+ dilation (int | tuple[int]): Same as nn.Conv2d.
+ groups (int): Same as nn.Conv2d.
+ radix (int): Radix of SpltAtConv2d. Default: 2
+ reduction_factor (int): Reduction factor of inter_channels. Default: 4.
+ conv_cfg (dict): Config dict for convolution layer. Default: None,
+ which means using conv2d.
+ norm_cfg (dict): Config dict for normalization layer. Default: None.
+ dcn (dict): Config dict for DCN. Default: None.
+ """
+
+ def __init__(self,
+ in_channels,
+ channels,
+ kernel_size,
+ stride=1,
+ padding=0,
+ dilation=1,
+ groups=1,
+ radix=2,
+ reduction_factor=4,
+ conv_cfg=None,
+ norm_cfg=dict(type='BN'),
+ dcn=None):
+ super(SplitAttentionConv2d, self).__init__()
+ inter_channels = max(in_channels * radix // reduction_factor, 32)
+ self.radix = radix
+ self.groups = groups
+ self.channels = channels
+ self.with_dcn = dcn is not None
+ self.dcn = dcn
+ fallback_on_stride = False
+ if self.with_dcn:
+ fallback_on_stride = self.dcn.pop('fallback_on_stride', False)
+ if self.with_dcn and not fallback_on_stride:
+ assert conv_cfg is None, 'conv_cfg must be None for DCN'
+ conv_cfg = dcn
+ self.conv = build_conv_layer(
+ conv_cfg,
+ in_channels,
+ channels * radix,
+ kernel_size,
+ stride=stride,
+ padding=padding,
+ dilation=dilation,
+ groups=groups * radix,
+ bias=False)
+ self.norm0_name, norm0 = build_norm_layer(
+ norm_cfg, channels * radix, postfix=0)
+ self.add_module(self.norm0_name, norm0)
+ self.relu = nn.ReLU(inplace=True)
+ self.fc1 = build_conv_layer(
+ None, channels, inter_channels, 1, groups=self.groups)
+ self.norm1_name, norm1 = build_norm_layer(
+ norm_cfg, inter_channels, postfix=1)
+ self.add_module(self.norm1_name, norm1)
+ self.fc2 = build_conv_layer(
+ None, inter_channels, channels * radix, 1, groups=self.groups)
+ self.rsoftmax = RSoftmax(radix, groups)
+
+ @property
+ def norm0(self):
+ """nn.Module: the normalization layer named "norm0" """
+ return getattr(self, self.norm0_name)
+
+ @property
+ def norm1(self):
+ """nn.Module: the normalization layer named "norm1" """
+ return getattr(self, self.norm1_name)
+
+ def forward(self, x):
+ x = self.conv(x)
+ x = self.norm0(x)
+ x = self.relu(x)
+
+ batch, rchannel = x.shape[:2]
+ batch = x.size(0)
+ if self.radix > 1:
+ splits = x.view(batch, self.radix, -1, *x.shape[2:])
+ gap = splits.sum(dim=1)
+ else:
+ gap = x
+ gap = F.adaptive_avg_pool2d(gap, 1)
+ gap = self.fc1(gap)
+
+ gap = self.norm1(gap)
+ gap = self.relu(gap)
+
+ atten = self.fc2(gap)
+ atten = self.rsoftmax(atten).view(batch, -1, 1, 1)
+
+ if self.radix > 1:
+ attens = atten.view(batch, self.radix, -1, *atten.shape[2:])
+ out = torch.sum(attens * splits, dim=1)
+ else:
+ out = atten * x
+ return out.contiguous()
+
+
+class Bottleneck(_Bottleneck):
+ """Bottleneck block for ResNeSt.
+
+ Args:
+ inplane (int): Input planes of this block.
+ planes (int): Middle planes of this block.
+ groups (int): Groups of conv2.
+ width_per_group (int): Width per group of conv2. 64x4d indicates
+ ``groups=64, width_per_group=4`` and 32x8d indicates
+ ``groups=32, width_per_group=8``.
+ radix (int): Radix of SpltAtConv2d. Default: 2
+ reduction_factor (int): Reduction factor of inter_channels in
+ SplitAttentionConv2d. Default: 4.
+ avg_down_stride (bool): Whether to use average pool for stride in
+ Bottleneck. Default: True.
+ kwargs (dict): Key word arguments for base class.
+ """
+ expansion = 4
+
+ def __init__(self,
+ inplanes,
+ planes,
+ groups=1,
+ base_width=4,
+ base_channels=64,
+ radix=2,
+ reduction_factor=4,
+ avg_down_stride=True,
+ **kwargs):
+ """Bottleneck block for ResNeSt."""
+ super(Bottleneck, self).__init__(inplanes, planes, **kwargs)
+
+ if groups == 1:
+ width = self.planes
+ else:
+ width = math.floor(self.planes *
+ (base_width / base_channels)) * groups
+
+ self.avg_down_stride = avg_down_stride and self.conv2_stride > 1
+
+ self.norm1_name, norm1 = build_norm_layer(
+ self.norm_cfg, width, postfix=1)
+ self.norm3_name, norm3 = build_norm_layer(
+ self.norm_cfg, self.planes * self.expansion, postfix=3)
+
+ self.conv1 = build_conv_layer(
+ self.conv_cfg,
+ self.inplanes,
+ width,
+ kernel_size=1,
+ stride=self.conv1_stride,
+ bias=False)
+ self.add_module(self.norm1_name, norm1)
+ self.with_modulated_dcn = False
+ self.conv2 = SplitAttentionConv2d(
+ width,
+ width,
+ kernel_size=3,
+ stride=1 if self.avg_down_stride else self.conv2_stride,
+ padding=self.dilation,
+ dilation=self.dilation,
+ groups=groups,
+ radix=radix,
+ reduction_factor=reduction_factor,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ dcn=self.dcn)
+ delattr(self, self.norm2_name)
+
+ if self.avg_down_stride:
+ self.avd_layer = nn.AvgPool2d(3, self.conv2_stride, padding=1)
+
+ self.conv3 = build_conv_layer(
+ self.conv_cfg,
+ width,
+ self.planes * self.expansion,
+ kernel_size=1,
+ bias=False)
+ self.add_module(self.norm3_name, norm3)
+
+ def forward(self, x):
+
+ def _inner_forward(x):
+ identity = x
+
+ out = self.conv1(x)
+ out = self.norm1(out)
+ out = self.relu(out)
+
+ if self.with_plugins:
+ out = self.forward_plugin(out, self.after_conv1_plugin_names)
+
+ out = self.conv2(out)
+
+ if self.avg_down_stride:
+ out = self.avd_layer(out)
+
+ if self.with_plugins:
+ out = self.forward_plugin(out, self.after_conv2_plugin_names)
+
+ out = self.conv3(out)
+ out = self.norm3(out)
+
+ if self.with_plugins:
+ out = self.forward_plugin(out, self.after_conv3_plugin_names)
+
+ if self.downsample is not None:
+ identity = self.downsample(x)
+
+ out += identity
+
+ return out
+
+ if self.with_cp and x.requires_grad:
+ out = cp.checkpoint(_inner_forward, x)
+ else:
+ out = _inner_forward(x)
+
+ out = self.relu(out)
+
+ return out
+
+
+@BACKBONES.register_module()
+class ResNeSt(ResNetV1d):
+ """ResNeSt backbone.
+
+ Args:
+ groups (int): Number of groups of Bottleneck. Default: 1
+ base_width (int): Base width of Bottleneck. Default: 4
+ radix (int): Radix of SpltAtConv2d. Default: 2
+ reduction_factor (int): Reduction factor of inter_channels in
+ SplitAttentionConv2d. Default: 4.
+ avg_down_stride (bool): Whether to use average pool for stride in
+ Bottleneck. Default: True.
+ kwargs (dict): Keyword arguments for ResNet.
+ """
+
+ arch_settings = {
+ 50: (Bottleneck, (3, 4, 6, 3)),
+ 101: (Bottleneck, (3, 4, 23, 3)),
+ 152: (Bottleneck, (3, 8, 36, 3)),
+ 200: (Bottleneck, (3, 24, 36, 3))
+ }
+
+ def __init__(self,
+ groups=1,
+ base_width=4,
+ radix=2,
+ reduction_factor=4,
+ avg_down_stride=True,
+ **kwargs):
+ self.groups = groups
+ self.base_width = base_width
+ self.radix = radix
+ self.reduction_factor = reduction_factor
+ self.avg_down_stride = avg_down_stride
+ super(ResNeSt, self).__init__(**kwargs)
+
+ def make_res_layer(self, **kwargs):
+ """Pack all blocks in a stage into a ``ResLayer``."""
+ return ResLayer(
+ groups=self.groups,
+ base_width=self.base_width,
+ base_channels=self.base_channels,
+ radix=self.radix,
+ reduction_factor=self.reduction_factor,
+ avg_down_stride=self.avg_down_stride,
+ **kwargs)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/backbones/resnet.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/backbones/resnet.py
new file mode 100644
index 0000000000000000000000000000000000000000..b3304dc5238110adcf21fa4c0a4e230158894fea
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/backbones/resnet.py
@@ -0,0 +1,688 @@
+import torch.nn as nn
+import torch.utils.checkpoint as cp
+from annotator.mmpkg.mmcv.cnn import (build_conv_layer, build_norm_layer, build_plugin_layer,
+ constant_init, kaiming_init)
+from annotator.mmpkg.mmcv.runner import load_checkpoint
+from annotator.mmpkg.mmcv.utils.parrots_wrapper import _BatchNorm
+
+from annotator.mmpkg.mmseg.utils import get_root_logger
+from ..builder import BACKBONES
+from ..utils import ResLayer
+
+
+class BasicBlock(nn.Module):
+ """Basic block for ResNet."""
+
+ expansion = 1
+
+ def __init__(self,
+ inplanes,
+ planes,
+ stride=1,
+ dilation=1,
+ downsample=None,
+ style='pytorch',
+ with_cp=False,
+ conv_cfg=None,
+ norm_cfg=dict(type='BN'),
+ dcn=None,
+ plugins=None):
+ super(BasicBlock, self).__init__()
+ assert dcn is None, 'Not implemented yet.'
+ assert plugins is None, 'Not implemented yet.'
+
+ self.norm1_name, norm1 = build_norm_layer(norm_cfg, planes, postfix=1)
+ self.norm2_name, norm2 = build_norm_layer(norm_cfg, planes, postfix=2)
+
+ self.conv1 = build_conv_layer(
+ conv_cfg,
+ inplanes,
+ planes,
+ 3,
+ stride=stride,
+ padding=dilation,
+ dilation=dilation,
+ bias=False)
+ self.add_module(self.norm1_name, norm1)
+ self.conv2 = build_conv_layer(
+ conv_cfg, planes, planes, 3, padding=1, bias=False)
+ self.add_module(self.norm2_name, norm2)
+
+ self.relu = nn.ReLU(inplace=True)
+ self.downsample = downsample
+ self.stride = stride
+ self.dilation = dilation
+ self.with_cp = with_cp
+
+ @property
+ def norm1(self):
+ """nn.Module: normalization layer after the first convolution layer"""
+ return getattr(self, self.norm1_name)
+
+ @property
+ def norm2(self):
+ """nn.Module: normalization layer after the second convolution layer"""
+ return getattr(self, self.norm2_name)
+
+ def forward(self, x):
+ """Forward function."""
+
+ def _inner_forward(x):
+ identity = x
+
+ out = self.conv1(x)
+ out = self.norm1(out)
+ out = self.relu(out)
+
+ out = self.conv2(out)
+ out = self.norm2(out)
+
+ if self.downsample is not None:
+ identity = self.downsample(x)
+
+ out += identity
+
+ return out
+
+ if self.with_cp and x.requires_grad:
+ out = cp.checkpoint(_inner_forward, x)
+ else:
+ out = _inner_forward(x)
+
+ out = self.relu(out)
+
+ return out
+
+
+class Bottleneck(nn.Module):
+ """Bottleneck block for ResNet.
+
+ If style is "pytorch", the stride-two layer is the 3x3 conv layer, if it is
+ "caffe", the stride-two layer is the first 1x1 conv layer.
+ """
+
+ expansion = 4
+
+ def __init__(self,
+ inplanes,
+ planes,
+ stride=1,
+ dilation=1,
+ downsample=None,
+ style='pytorch',
+ with_cp=False,
+ conv_cfg=None,
+ norm_cfg=dict(type='BN'),
+ dcn=None,
+ plugins=None):
+ super(Bottleneck, self).__init__()
+ assert style in ['pytorch', 'caffe']
+ assert dcn is None or isinstance(dcn, dict)
+ assert plugins is None or isinstance(plugins, list)
+ if plugins is not None:
+ allowed_position = ['after_conv1', 'after_conv2', 'after_conv3']
+ assert all(p['position'] in allowed_position for p in plugins)
+
+ self.inplanes = inplanes
+ self.planes = planes
+ self.stride = stride
+ self.dilation = dilation
+ self.style = style
+ self.with_cp = with_cp
+ self.conv_cfg = conv_cfg
+ self.norm_cfg = norm_cfg
+ self.dcn = dcn
+ self.with_dcn = dcn is not None
+ self.plugins = plugins
+ self.with_plugins = plugins is not None
+
+ if self.with_plugins:
+ # collect plugins for conv1/conv2/conv3
+ self.after_conv1_plugins = [
+ plugin['cfg'] for plugin in plugins
+ if plugin['position'] == 'after_conv1'
+ ]
+ self.after_conv2_plugins = [
+ plugin['cfg'] for plugin in plugins
+ if plugin['position'] == 'after_conv2'
+ ]
+ self.after_conv3_plugins = [
+ plugin['cfg'] for plugin in plugins
+ if plugin['position'] == 'after_conv3'
+ ]
+
+ if self.style == 'pytorch':
+ self.conv1_stride = 1
+ self.conv2_stride = stride
+ else:
+ self.conv1_stride = stride
+ self.conv2_stride = 1
+
+ self.norm1_name, norm1 = build_norm_layer(norm_cfg, planes, postfix=1)
+ self.norm2_name, norm2 = build_norm_layer(norm_cfg, planes, postfix=2)
+ self.norm3_name, norm3 = build_norm_layer(
+ norm_cfg, planes * self.expansion, postfix=3)
+
+ self.conv1 = build_conv_layer(
+ conv_cfg,
+ inplanes,
+ planes,
+ kernel_size=1,
+ stride=self.conv1_stride,
+ bias=False)
+ self.add_module(self.norm1_name, norm1)
+ fallback_on_stride = False
+ if self.with_dcn:
+ fallback_on_stride = dcn.pop('fallback_on_stride', False)
+ if not self.with_dcn or fallback_on_stride:
+ self.conv2 = build_conv_layer(
+ conv_cfg,
+ planes,
+ planes,
+ kernel_size=3,
+ stride=self.conv2_stride,
+ padding=dilation,
+ dilation=dilation,
+ bias=False)
+ else:
+ assert self.conv_cfg is None, 'conv_cfg must be None for DCN'
+ self.conv2 = build_conv_layer(
+ dcn,
+ planes,
+ planes,
+ kernel_size=3,
+ stride=self.conv2_stride,
+ padding=dilation,
+ dilation=dilation,
+ bias=False)
+
+ self.add_module(self.norm2_name, norm2)
+ self.conv3 = build_conv_layer(
+ conv_cfg,
+ planes,
+ planes * self.expansion,
+ kernel_size=1,
+ bias=False)
+ self.add_module(self.norm3_name, norm3)
+
+ self.relu = nn.ReLU(inplace=True)
+ self.downsample = downsample
+
+ if self.with_plugins:
+ self.after_conv1_plugin_names = self.make_block_plugins(
+ planes, self.after_conv1_plugins)
+ self.after_conv2_plugin_names = self.make_block_plugins(
+ planes, self.after_conv2_plugins)
+ self.after_conv3_plugin_names = self.make_block_plugins(
+ planes * self.expansion, self.after_conv3_plugins)
+
+ def make_block_plugins(self, in_channels, plugins):
+ """make plugins for block.
+
+ Args:
+ in_channels (int): Input channels of plugin.
+ plugins (list[dict]): List of plugins cfg to build.
+
+ Returns:
+ list[str]: List of the names of plugin.
+ """
+ assert isinstance(plugins, list)
+ plugin_names = []
+ for plugin in plugins:
+ plugin = plugin.copy()
+ name, layer = build_plugin_layer(
+ plugin,
+ in_channels=in_channels,
+ postfix=plugin.pop('postfix', ''))
+ assert not hasattr(self, name), f'duplicate plugin {name}'
+ self.add_module(name, layer)
+ plugin_names.append(name)
+ return plugin_names
+
+ def forward_plugin(self, x, plugin_names):
+ """Forward function for plugins."""
+ out = x
+ for name in plugin_names:
+ out = getattr(self, name)(x)
+ return out
+
+ @property
+ def norm1(self):
+ """nn.Module: normalization layer after the first convolution layer"""
+ return getattr(self, self.norm1_name)
+
+ @property
+ def norm2(self):
+ """nn.Module: normalization layer after the second convolution layer"""
+ return getattr(self, self.norm2_name)
+
+ @property
+ def norm3(self):
+ """nn.Module: normalization layer after the third convolution layer"""
+ return getattr(self, self.norm3_name)
+
+ def forward(self, x):
+ """Forward function."""
+
+ def _inner_forward(x):
+ identity = x
+
+ out = self.conv1(x)
+ out = self.norm1(out)
+ out = self.relu(out)
+
+ if self.with_plugins:
+ out = self.forward_plugin(out, self.after_conv1_plugin_names)
+
+ out = self.conv2(out)
+ out = self.norm2(out)
+ out = self.relu(out)
+
+ if self.with_plugins:
+ out = self.forward_plugin(out, self.after_conv2_plugin_names)
+
+ out = self.conv3(out)
+ out = self.norm3(out)
+
+ if self.with_plugins:
+ out = self.forward_plugin(out, self.after_conv3_plugin_names)
+
+ if self.downsample is not None:
+ identity = self.downsample(x)
+
+ out += identity
+
+ return out
+
+ if self.with_cp and x.requires_grad:
+ out = cp.checkpoint(_inner_forward, x)
+ else:
+ out = _inner_forward(x)
+
+ out = self.relu(out)
+
+ return out
+
+
+@BACKBONES.register_module()
+class ResNet(nn.Module):
+ """ResNet backbone.
+
+ Args:
+ depth (int): Depth of resnet, from {18, 34, 50, 101, 152}.
+ in_channels (int): Number of input image channels. Default" 3.
+ stem_channels (int): Number of stem channels. Default: 64.
+ base_channels (int): Number of base channels of res layer. Default: 64.
+ num_stages (int): Resnet stages, normally 4.
+ strides (Sequence[int]): Strides of the first block of each stage.
+ dilations (Sequence[int]): Dilation of each stage.
+ out_indices (Sequence[int]): Output from which stages.
+ style (str): `pytorch` or `caffe`. If set to "pytorch", the stride-two
+ layer is the 3x3 conv layer, otherwise the stride-two layer is
+ the first 1x1 conv layer.
+ deep_stem (bool): Replace 7x7 conv in input stem with 3 3x3 conv
+ avg_down (bool): Use AvgPool instead of stride conv when
+ downsampling in the bottleneck.
+ frozen_stages (int): Stages to be frozen (stop grad and set eval mode).
+ -1 means not freezing any parameters.
+ norm_cfg (dict): Dictionary to construct and config norm layer.
+ norm_eval (bool): Whether to set norm layers to eval mode, namely,
+ freeze running stats (mean and var). Note: Effect on Batch Norm
+ and its variants only.
+ plugins (list[dict]): List of plugins for stages, each dict contains:
+
+ - cfg (dict, required): Cfg dict to build plugin.
+
+ - position (str, required): Position inside block to insert plugin,
+ options: 'after_conv1', 'after_conv2', 'after_conv3'.
+
+ - stages (tuple[bool], optional): Stages to apply plugin, length
+ should be same as 'num_stages'
+ multi_grid (Sequence[int]|None): Multi grid dilation rates of last
+ stage. Default: None
+ contract_dilation (bool): Whether contract first dilation of each layer
+ Default: False
+ with_cp (bool): Use checkpoint or not. Using checkpoint will save some
+ memory while slowing down the training speed.
+ zero_init_residual (bool): Whether to use zero init for last norm layer
+ in resblocks to let them behave as identity.
+
+ Example:
+ >>> from annotator.mmpkg.mmseg.models import ResNet
+ >>> import torch
+ >>> self = ResNet(depth=18)
+ >>> self.eval()
+ >>> inputs = torch.rand(1, 3, 32, 32)
+ >>> level_outputs = self.forward(inputs)
+ >>> for level_out in level_outputs:
+ ... print(tuple(level_out.shape))
+ (1, 64, 8, 8)
+ (1, 128, 4, 4)
+ (1, 256, 2, 2)
+ (1, 512, 1, 1)
+ """
+
+ arch_settings = {
+ 18: (BasicBlock, (2, 2, 2, 2)),
+ 34: (BasicBlock, (3, 4, 6, 3)),
+ 50: (Bottleneck, (3, 4, 6, 3)),
+ 101: (Bottleneck, (3, 4, 23, 3)),
+ 152: (Bottleneck, (3, 8, 36, 3))
+ }
+
+ def __init__(self,
+ depth,
+ in_channels=3,
+ stem_channels=64,
+ base_channels=64,
+ num_stages=4,
+ strides=(1, 2, 2, 2),
+ dilations=(1, 1, 1, 1),
+ out_indices=(0, 1, 2, 3),
+ style='pytorch',
+ deep_stem=False,
+ avg_down=False,
+ frozen_stages=-1,
+ conv_cfg=None,
+ norm_cfg=dict(type='BN', requires_grad=True),
+ norm_eval=False,
+ dcn=None,
+ stage_with_dcn=(False, False, False, False),
+ plugins=None,
+ multi_grid=None,
+ contract_dilation=False,
+ with_cp=False,
+ zero_init_residual=True):
+ super(ResNet, self).__init__()
+ if depth not in self.arch_settings:
+ raise KeyError(f'invalid depth {depth} for resnet')
+ self.depth = depth
+ self.stem_channels = stem_channels
+ self.base_channels = base_channels
+ self.num_stages = num_stages
+ assert num_stages >= 1 and num_stages <= 4
+ self.strides = strides
+ self.dilations = dilations
+ assert len(strides) == len(dilations) == num_stages
+ self.out_indices = out_indices
+ assert max(out_indices) < num_stages
+ self.style = style
+ self.deep_stem = deep_stem
+ self.avg_down = avg_down
+ self.frozen_stages = frozen_stages
+ self.conv_cfg = conv_cfg
+ self.norm_cfg = norm_cfg
+ self.with_cp = with_cp
+ self.norm_eval = norm_eval
+ self.dcn = dcn
+ self.stage_with_dcn = stage_with_dcn
+ if dcn is not None:
+ assert len(stage_with_dcn) == num_stages
+ self.plugins = plugins
+ self.multi_grid = multi_grid
+ self.contract_dilation = contract_dilation
+ self.zero_init_residual = zero_init_residual
+ self.block, stage_blocks = self.arch_settings[depth]
+ self.stage_blocks = stage_blocks[:num_stages]
+ self.inplanes = stem_channels
+
+ self._make_stem_layer(in_channels, stem_channels)
+
+ self.res_layers = []
+ for i, num_blocks in enumerate(self.stage_blocks):
+ stride = strides[i]
+ dilation = dilations[i]
+ dcn = self.dcn if self.stage_with_dcn[i] else None
+ if plugins is not None:
+ stage_plugins = self.make_stage_plugins(plugins, i)
+ else:
+ stage_plugins = None
+ # multi grid is applied to last layer only
+ stage_multi_grid = multi_grid if i == len(
+ self.stage_blocks) - 1 else None
+ planes = base_channels * 2**i
+ res_layer = self.make_res_layer(
+ block=self.block,
+ inplanes=self.inplanes,
+ planes=planes,
+ num_blocks=num_blocks,
+ stride=stride,
+ dilation=dilation,
+ style=self.style,
+ avg_down=self.avg_down,
+ with_cp=with_cp,
+ conv_cfg=conv_cfg,
+ norm_cfg=norm_cfg,
+ dcn=dcn,
+ plugins=stage_plugins,
+ multi_grid=stage_multi_grid,
+ contract_dilation=contract_dilation)
+ self.inplanes = planes * self.block.expansion
+ layer_name = f'layer{i+1}'
+ self.add_module(layer_name, res_layer)
+ self.res_layers.append(layer_name)
+
+ self._freeze_stages()
+
+ self.feat_dim = self.block.expansion * base_channels * 2**(
+ len(self.stage_blocks) - 1)
+
+ def make_stage_plugins(self, plugins, stage_idx):
+ """make plugins for ResNet 'stage_idx'th stage .
+
+ Currently we support to insert 'context_block',
+ 'empirical_attention_block', 'nonlocal_block' into the backbone like
+ ResNet/ResNeXt. They could be inserted after conv1/conv2/conv3 of
+ Bottleneck.
+
+ An example of plugins format could be :
+ >>> plugins=[
+ ... dict(cfg=dict(type='xxx', arg1='xxx'),
+ ... stages=(False, True, True, True),
+ ... position='after_conv2'),
+ ... dict(cfg=dict(type='yyy'),
+ ... stages=(True, True, True, True),
+ ... position='after_conv3'),
+ ... dict(cfg=dict(type='zzz', postfix='1'),
+ ... stages=(True, True, True, True),
+ ... position='after_conv3'),
+ ... dict(cfg=dict(type='zzz', postfix='2'),
+ ... stages=(True, True, True, True),
+ ... position='after_conv3')
+ ... ]
+ >>> self = ResNet(depth=18)
+ >>> stage_plugins = self.make_stage_plugins(plugins, 0)
+ >>> assert len(stage_plugins) == 3
+
+ Suppose 'stage_idx=0', the structure of blocks in the stage would be:
+ conv1-> conv2->conv3->yyy->zzz1->zzz2
+ Suppose 'stage_idx=1', the structure of blocks in the stage would be:
+ conv1-> conv2->xxx->conv3->yyy->zzz1->zzz2
+
+ If stages is missing, the plugin would be applied to all stages.
+
+ Args:
+ plugins (list[dict]): List of plugins cfg to build. The postfix is
+ required if multiple same type plugins are inserted.
+ stage_idx (int): Index of stage to build
+
+ Returns:
+ list[dict]: Plugins for current stage
+ """
+ stage_plugins = []
+ for plugin in plugins:
+ plugin = plugin.copy()
+ stages = plugin.pop('stages', None)
+ assert stages is None or len(stages) == self.num_stages
+ # whether to insert plugin into current stage
+ if stages is None or stages[stage_idx]:
+ stage_plugins.append(plugin)
+
+ return stage_plugins
+
+ def make_res_layer(self, **kwargs):
+ """Pack all blocks in a stage into a ``ResLayer``."""
+ return ResLayer(**kwargs)
+
+ @property
+ def norm1(self):
+ """nn.Module: the normalization layer named "norm1" """
+ return getattr(self, self.norm1_name)
+
+ def _make_stem_layer(self, in_channels, stem_channels):
+ """Make stem layer for ResNet."""
+ if self.deep_stem:
+ self.stem = nn.Sequential(
+ build_conv_layer(
+ self.conv_cfg,
+ in_channels,
+ stem_channels // 2,
+ kernel_size=3,
+ stride=2,
+ padding=1,
+ bias=False),
+ build_norm_layer(self.norm_cfg, stem_channels // 2)[1],
+ nn.ReLU(inplace=True),
+ build_conv_layer(
+ self.conv_cfg,
+ stem_channels // 2,
+ stem_channels // 2,
+ kernel_size=3,
+ stride=1,
+ padding=1,
+ bias=False),
+ build_norm_layer(self.norm_cfg, stem_channels // 2)[1],
+ nn.ReLU(inplace=True),
+ build_conv_layer(
+ self.conv_cfg,
+ stem_channels // 2,
+ stem_channels,
+ kernel_size=3,
+ stride=1,
+ padding=1,
+ bias=False),
+ build_norm_layer(self.norm_cfg, stem_channels)[1],
+ nn.ReLU(inplace=True))
+ else:
+ self.conv1 = build_conv_layer(
+ self.conv_cfg,
+ in_channels,
+ stem_channels,
+ kernel_size=7,
+ stride=2,
+ padding=3,
+ bias=False)
+ self.norm1_name, norm1 = build_norm_layer(
+ self.norm_cfg, stem_channels, postfix=1)
+ self.add_module(self.norm1_name, norm1)
+ self.relu = nn.ReLU(inplace=True)
+ self.maxpool = nn.MaxPool2d(kernel_size=3, stride=2, padding=1)
+
+ def _freeze_stages(self):
+ """Freeze stages param and norm stats."""
+ if self.frozen_stages >= 0:
+ if self.deep_stem:
+ self.stem.eval()
+ for param in self.stem.parameters():
+ param.requires_grad = False
+ else:
+ self.norm1.eval()
+ for m in [self.conv1, self.norm1]:
+ for param in m.parameters():
+ param.requires_grad = False
+
+ for i in range(1, self.frozen_stages + 1):
+ m = getattr(self, f'layer{i}')
+ m.eval()
+ for param in m.parameters():
+ param.requires_grad = False
+
+ def init_weights(self, pretrained=None):
+ """Initialize the weights in backbone.
+
+ Args:
+ pretrained (str, optional): Path to pre-trained weights.
+ Defaults to None.
+ """
+ if isinstance(pretrained, str):
+ logger = get_root_logger()
+ load_checkpoint(self, pretrained, strict=False, logger=logger)
+ elif pretrained is None:
+ for m in self.modules():
+ if isinstance(m, nn.Conv2d):
+ kaiming_init(m)
+ elif isinstance(m, (_BatchNorm, nn.GroupNorm)):
+ constant_init(m, 1)
+
+ if self.dcn is not None:
+ for m in self.modules():
+ if isinstance(m, Bottleneck) and hasattr(
+ m, 'conv2_offset'):
+ constant_init(m.conv2_offset, 0)
+
+ if self.zero_init_residual:
+ for m in self.modules():
+ if isinstance(m, Bottleneck):
+ constant_init(m.norm3, 0)
+ elif isinstance(m, BasicBlock):
+ constant_init(m.norm2, 0)
+ else:
+ raise TypeError('pretrained must be a str or None')
+
+ def forward(self, x):
+ """Forward function."""
+ if self.deep_stem:
+ x = self.stem(x)
+ else:
+ x = self.conv1(x)
+ x = self.norm1(x)
+ x = self.relu(x)
+ x = self.maxpool(x)
+ outs = []
+ for i, layer_name in enumerate(self.res_layers):
+ res_layer = getattr(self, layer_name)
+ x = res_layer(x)
+ if i in self.out_indices:
+ outs.append(x)
+ return tuple(outs)
+
+ def train(self, mode=True):
+ """Convert the model into training mode while keep normalization layer
+ freezed."""
+ super(ResNet, self).train(mode)
+ self._freeze_stages()
+ if mode and self.norm_eval:
+ for m in self.modules():
+ # trick: eval have effect on BatchNorm only
+ if isinstance(m, _BatchNorm):
+ m.eval()
+
+
+@BACKBONES.register_module()
+class ResNetV1c(ResNet):
+ """ResNetV1c variant described in [1]_.
+
+ Compared with default ResNet(ResNetV1b), ResNetV1c replaces the 7x7 conv
+ in the input stem with three 3x3 convs.
+
+ References:
+ .. [1] https://arxiv.org/pdf/1812.01187.pdf
+ """
+
+ def __init__(self, **kwargs):
+ super(ResNetV1c, self).__init__(
+ deep_stem=True, avg_down=False, **kwargs)
+
+
+@BACKBONES.register_module()
+class ResNetV1d(ResNet):
+ """ResNetV1d variant described in [1]_.
+
+ Compared with default ResNet(ResNetV1b), ResNetV1d replaces the 7x7 conv in
+ the input stem with three 3x3 convs. And in the downsampling block, a 2x2
+ avg_pool with stride 2 is added before conv, whose stride is changed to 1.
+ """
+
+ def __init__(self, **kwargs):
+ super(ResNetV1d, self).__init__(
+ deep_stem=True, avg_down=True, **kwargs)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/backbones/resnext.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/backbones/resnext.py
new file mode 100644
index 0000000000000000000000000000000000000000..be0194da1714e8431309a9dd8a42afebdbc1baf5
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/backbones/resnext.py
@@ -0,0 +1,145 @@
+import math
+
+from annotator.mmpkg.mmcv.cnn import build_conv_layer, build_norm_layer
+
+from ..builder import BACKBONES
+from ..utils import ResLayer
+from .resnet import Bottleneck as _Bottleneck
+from .resnet import ResNet
+
+
+class Bottleneck(_Bottleneck):
+ """Bottleneck block for ResNeXt.
+
+ If style is "pytorch", the stride-two layer is the 3x3 conv layer, if it is
+ "caffe", the stride-two layer is the first 1x1 conv layer.
+ """
+
+ def __init__(self,
+ inplanes,
+ planes,
+ groups=1,
+ base_width=4,
+ base_channels=64,
+ **kwargs):
+ super(Bottleneck, self).__init__(inplanes, planes, **kwargs)
+
+ if groups == 1:
+ width = self.planes
+ else:
+ width = math.floor(self.planes *
+ (base_width / base_channels)) * groups
+
+ self.norm1_name, norm1 = build_norm_layer(
+ self.norm_cfg, width, postfix=1)
+ self.norm2_name, norm2 = build_norm_layer(
+ self.norm_cfg, width, postfix=2)
+ self.norm3_name, norm3 = build_norm_layer(
+ self.norm_cfg, self.planes * self.expansion, postfix=3)
+
+ self.conv1 = build_conv_layer(
+ self.conv_cfg,
+ self.inplanes,
+ width,
+ kernel_size=1,
+ stride=self.conv1_stride,
+ bias=False)
+ self.add_module(self.norm1_name, norm1)
+ fallback_on_stride = False
+ self.with_modulated_dcn = False
+ if self.with_dcn:
+ fallback_on_stride = self.dcn.pop('fallback_on_stride', False)
+ if not self.with_dcn or fallback_on_stride:
+ self.conv2 = build_conv_layer(
+ self.conv_cfg,
+ width,
+ width,
+ kernel_size=3,
+ stride=self.conv2_stride,
+ padding=self.dilation,
+ dilation=self.dilation,
+ groups=groups,
+ bias=False)
+ else:
+ assert self.conv_cfg is None, 'conv_cfg must be None for DCN'
+ self.conv2 = build_conv_layer(
+ self.dcn,
+ width,
+ width,
+ kernel_size=3,
+ stride=self.conv2_stride,
+ padding=self.dilation,
+ dilation=self.dilation,
+ groups=groups,
+ bias=False)
+
+ self.add_module(self.norm2_name, norm2)
+ self.conv3 = build_conv_layer(
+ self.conv_cfg,
+ width,
+ self.planes * self.expansion,
+ kernel_size=1,
+ bias=False)
+ self.add_module(self.norm3_name, norm3)
+
+
+@BACKBONES.register_module()
+class ResNeXt(ResNet):
+ """ResNeXt backbone.
+
+ Args:
+ depth (int): Depth of resnet, from {18, 34, 50, 101, 152}.
+ in_channels (int): Number of input image channels. Normally 3.
+ num_stages (int): Resnet stages, normally 4.
+ groups (int): Group of resnext.
+ base_width (int): Base width of resnext.
+ strides (Sequence[int]): Strides of the first block of each stage.
+ dilations (Sequence[int]): Dilation of each stage.
+ out_indices (Sequence[int]): Output from which stages.
+ style (str): `pytorch` or `caffe`. If set to "pytorch", the stride-two
+ layer is the 3x3 conv layer, otherwise the stride-two layer is
+ the first 1x1 conv layer.
+ frozen_stages (int): Stages to be frozen (all param fixed). -1 means
+ not freezing any parameters.
+ norm_cfg (dict): dictionary to construct and config norm layer.
+ norm_eval (bool): Whether to set norm layers to eval mode, namely,
+ freeze running stats (mean and var). Note: Effect on Batch Norm
+ and its variants only.
+ with_cp (bool): Use checkpoint or not. Using checkpoint will save some
+ memory while slowing down the training speed.
+ zero_init_residual (bool): whether to use zero init for last norm layer
+ in resblocks to let them behave as identity.
+
+ Example:
+ >>> from annotator.mmpkg.mmseg.models import ResNeXt
+ >>> import torch
+ >>> self = ResNeXt(depth=50)
+ >>> self.eval()
+ >>> inputs = torch.rand(1, 3, 32, 32)
+ >>> level_outputs = self.forward(inputs)
+ >>> for level_out in level_outputs:
+ ... print(tuple(level_out.shape))
+ (1, 256, 8, 8)
+ (1, 512, 4, 4)
+ (1, 1024, 2, 2)
+ (1, 2048, 1, 1)
+ """
+
+ arch_settings = {
+ 50: (Bottleneck, (3, 4, 6, 3)),
+ 101: (Bottleneck, (3, 4, 23, 3)),
+ 152: (Bottleneck, (3, 8, 36, 3))
+ }
+
+ def __init__(self, groups=1, base_width=4, **kwargs):
+ self.groups = groups
+ self.base_width = base_width
+ super(ResNeXt, self).__init__(**kwargs)
+
+ def make_res_layer(self, **kwargs):
+ """Pack all blocks in a stage into a ``ResLayer``"""
+ return ResLayer(
+ groups=self.groups,
+ base_width=self.base_width,
+ base_channels=self.base_channels,
+ **kwargs)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/backbones/unet.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/backbones/unet.py
new file mode 100644
index 0000000000000000000000000000000000000000..3d19902ba273af02f8c9ce60f6632634633c1101
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/backbones/unet.py
@@ -0,0 +1,429 @@
+import torch.nn as nn
+import torch.utils.checkpoint as cp
+from annotator.mmpkg.mmcv.cnn import (UPSAMPLE_LAYERS, ConvModule, build_activation_layer,
+ build_norm_layer, constant_init, kaiming_init)
+from annotator.mmpkg.mmcv.runner import load_checkpoint
+from annotator.mmpkg.mmcv.utils.parrots_wrapper import _BatchNorm
+
+from annotator.mmpkg.mmseg.utils import get_root_logger
+from ..builder import BACKBONES
+from ..utils import UpConvBlock
+
+
+class BasicConvBlock(nn.Module):
+ """Basic convolutional block for UNet.
+
+ This module consists of several plain convolutional layers.
+
+ Args:
+ in_channels (int): Number of input channels.
+ out_channels (int): Number of output channels.
+ num_convs (int): Number of convolutional layers. Default: 2.
+ stride (int): Whether use stride convolution to downsample
+ the input feature map. If stride=2, it only uses stride convolution
+ in the first convolutional layer to downsample the input feature
+ map. Options are 1 or 2. Default: 1.
+ dilation (int): Whether use dilated convolution to expand the
+ receptive field. Set dilation rate of each convolutional layer and
+ the dilation rate of the first convolutional layer is always 1.
+ Default: 1.
+ with_cp (bool): Use checkpoint or not. Using checkpoint will save some
+ memory while slowing down the training speed. Default: False.
+ conv_cfg (dict | None): Config dict for convolution layer.
+ Default: None.
+ norm_cfg (dict | None): Config dict for normalization layer.
+ Default: dict(type='BN').
+ act_cfg (dict | None): Config dict for activation layer in ConvModule.
+ Default: dict(type='ReLU').
+ dcn (bool): Use deformable convolution in convolutional layer or not.
+ Default: None.
+ plugins (dict): plugins for convolutional layers. Default: None.
+ """
+
+ def __init__(self,
+ in_channels,
+ out_channels,
+ num_convs=2,
+ stride=1,
+ dilation=1,
+ with_cp=False,
+ conv_cfg=None,
+ norm_cfg=dict(type='BN'),
+ act_cfg=dict(type='ReLU'),
+ dcn=None,
+ plugins=None):
+ super(BasicConvBlock, self).__init__()
+ assert dcn is None, 'Not implemented yet.'
+ assert plugins is None, 'Not implemented yet.'
+
+ self.with_cp = with_cp
+ convs = []
+ for i in range(num_convs):
+ convs.append(
+ ConvModule(
+ in_channels=in_channels if i == 0 else out_channels,
+ out_channels=out_channels,
+ kernel_size=3,
+ stride=stride if i == 0 else 1,
+ dilation=1 if i == 0 else dilation,
+ padding=1 if i == 0 else dilation,
+ conv_cfg=conv_cfg,
+ norm_cfg=norm_cfg,
+ act_cfg=act_cfg))
+
+ self.convs = nn.Sequential(*convs)
+
+ def forward(self, x):
+ """Forward function."""
+
+ if self.with_cp and x.requires_grad:
+ out = cp.checkpoint(self.convs, x)
+ else:
+ out = self.convs(x)
+ return out
+
+
+@UPSAMPLE_LAYERS.register_module()
+class DeconvModule(nn.Module):
+ """Deconvolution upsample module in decoder for UNet (2X upsample).
+
+ This module uses deconvolution to upsample feature map in the decoder
+ of UNet.
+
+ Args:
+ in_channels (int): Number of input channels.
+ out_channels (int): Number of output channels.
+ with_cp (bool): Use checkpoint or not. Using checkpoint will save some
+ memory while slowing down the training speed. Default: False.
+ norm_cfg (dict | None): Config dict for normalization layer.
+ Default: dict(type='BN').
+ act_cfg (dict | None): Config dict for activation layer in ConvModule.
+ Default: dict(type='ReLU').
+ kernel_size (int): Kernel size of the convolutional layer. Default: 4.
+ """
+
+ def __init__(self,
+ in_channels,
+ out_channels,
+ with_cp=False,
+ norm_cfg=dict(type='BN'),
+ act_cfg=dict(type='ReLU'),
+ *,
+ kernel_size=4,
+ scale_factor=2):
+ super(DeconvModule, self).__init__()
+
+ assert (kernel_size - scale_factor >= 0) and\
+ (kernel_size - scale_factor) % 2 == 0,\
+ f'kernel_size should be greater than or equal to scale_factor '\
+ f'and (kernel_size - scale_factor) should be even numbers, '\
+ f'while the kernel size is {kernel_size} and scale_factor is '\
+ f'{scale_factor}.'
+
+ stride = scale_factor
+ padding = (kernel_size - scale_factor) // 2
+ self.with_cp = with_cp
+ deconv = nn.ConvTranspose2d(
+ in_channels,
+ out_channels,
+ kernel_size=kernel_size,
+ stride=stride,
+ padding=padding)
+
+ norm_name, norm = build_norm_layer(norm_cfg, out_channels)
+ activate = build_activation_layer(act_cfg)
+ self.deconv_upsamping = nn.Sequential(deconv, norm, activate)
+
+ def forward(self, x):
+ """Forward function."""
+
+ if self.with_cp and x.requires_grad:
+ out = cp.checkpoint(self.deconv_upsamping, x)
+ else:
+ out = self.deconv_upsamping(x)
+ return out
+
+
+@UPSAMPLE_LAYERS.register_module()
+class InterpConv(nn.Module):
+ """Interpolation upsample module in decoder for UNet.
+
+ This module uses interpolation to upsample feature map in the decoder
+ of UNet. It consists of one interpolation upsample layer and one
+ convolutional layer. It can be one interpolation upsample layer followed
+ by one convolutional layer (conv_first=False) or one convolutional layer
+ followed by one interpolation upsample layer (conv_first=True).
+
+ Args:
+ in_channels (int): Number of input channels.
+ out_channels (int): Number of output channels.
+ with_cp (bool): Use checkpoint or not. Using checkpoint will save some
+ memory while slowing down the training speed. Default: False.
+ norm_cfg (dict | None): Config dict for normalization layer.
+ Default: dict(type='BN').
+ act_cfg (dict | None): Config dict for activation layer in ConvModule.
+ Default: dict(type='ReLU').
+ conv_cfg (dict | None): Config dict for convolution layer.
+ Default: None.
+ conv_first (bool): Whether convolutional layer or interpolation
+ upsample layer first. Default: False. It means interpolation
+ upsample layer followed by one convolutional layer.
+ kernel_size (int): Kernel size of the convolutional layer. Default: 1.
+ stride (int): Stride of the convolutional layer. Default: 1.
+ padding (int): Padding of the convolutional layer. Default: 1.
+ upsample_cfg (dict): Interpolation config of the upsample layer.
+ Default: dict(
+ scale_factor=2, mode='bilinear', align_corners=False).
+ """
+
+ def __init__(self,
+ in_channels,
+ out_channels,
+ with_cp=False,
+ norm_cfg=dict(type='BN'),
+ act_cfg=dict(type='ReLU'),
+ *,
+ conv_cfg=None,
+ conv_first=False,
+ kernel_size=1,
+ stride=1,
+ padding=0,
+ upsample_cfg=dict(
+ scale_factor=2, mode='bilinear', align_corners=False)):
+ super(InterpConv, self).__init__()
+
+ self.with_cp = with_cp
+ conv = ConvModule(
+ in_channels,
+ out_channels,
+ kernel_size=kernel_size,
+ stride=stride,
+ padding=padding,
+ conv_cfg=conv_cfg,
+ norm_cfg=norm_cfg,
+ act_cfg=act_cfg)
+ upsample = nn.Upsample(**upsample_cfg)
+ if conv_first:
+ self.interp_upsample = nn.Sequential(conv, upsample)
+ else:
+ self.interp_upsample = nn.Sequential(upsample, conv)
+
+ def forward(self, x):
+ """Forward function."""
+
+ if self.with_cp and x.requires_grad:
+ out = cp.checkpoint(self.interp_upsample, x)
+ else:
+ out = self.interp_upsample(x)
+ return out
+
+
+@BACKBONES.register_module()
+class UNet(nn.Module):
+ """UNet backbone.
+ U-Net: Convolutional Networks for Biomedical Image Segmentation.
+ https://arxiv.org/pdf/1505.04597.pdf
+
+ Args:
+ in_channels (int): Number of input image channels. Default" 3.
+ base_channels (int): Number of base channels of each stage.
+ The output channels of the first stage. Default: 64.
+ num_stages (int): Number of stages in encoder, normally 5. Default: 5.
+ strides (Sequence[int 1 | 2]): Strides of each stage in encoder.
+ len(strides) is equal to num_stages. Normally the stride of the
+ first stage in encoder is 1. If strides[i]=2, it uses stride
+ convolution to downsample in the correspondence encoder stage.
+ Default: (1, 1, 1, 1, 1).
+ enc_num_convs (Sequence[int]): Number of convolutional layers in the
+ convolution block of the correspondence encoder stage.
+ Default: (2, 2, 2, 2, 2).
+ dec_num_convs (Sequence[int]): Number of convolutional layers in the
+ convolution block of the correspondence decoder stage.
+ Default: (2, 2, 2, 2).
+ downsamples (Sequence[int]): Whether use MaxPool to downsample the
+ feature map after the first stage of encoder
+ (stages: [1, num_stages)). If the correspondence encoder stage use
+ stride convolution (strides[i]=2), it will never use MaxPool to
+ downsample, even downsamples[i-1]=True.
+ Default: (True, True, True, True).
+ enc_dilations (Sequence[int]): Dilation rate of each stage in encoder.
+ Default: (1, 1, 1, 1, 1).
+ dec_dilations (Sequence[int]): Dilation rate of each stage in decoder.
+ Default: (1, 1, 1, 1).
+ with_cp (bool): Use checkpoint or not. Using checkpoint will save some
+ memory while slowing down the training speed. Default: False.
+ conv_cfg (dict | None): Config dict for convolution layer.
+ Default: None.
+ norm_cfg (dict | None): Config dict for normalization layer.
+ Default: dict(type='BN').
+ act_cfg (dict | None): Config dict for activation layer in ConvModule.
+ Default: dict(type='ReLU').
+ upsample_cfg (dict): The upsample config of the upsample module in
+ decoder. Default: dict(type='InterpConv').
+ norm_eval (bool): Whether to set norm layers to eval mode, namely,
+ freeze running stats (mean and var). Note: Effect on Batch Norm
+ and its variants only. Default: False.
+ dcn (bool): Use deformable convolution in convolutional layer or not.
+ Default: None.
+ plugins (dict): plugins for convolutional layers. Default: None.
+
+ Notice:
+ The input image size should be divisible by the whole downsample rate
+ of the encoder. More detail of the whole downsample rate can be found
+ in UNet._check_input_divisible.
+
+ """
+
+ def __init__(self,
+ in_channels=3,
+ base_channels=64,
+ num_stages=5,
+ strides=(1, 1, 1, 1, 1),
+ enc_num_convs=(2, 2, 2, 2, 2),
+ dec_num_convs=(2, 2, 2, 2),
+ downsamples=(True, True, True, True),
+ enc_dilations=(1, 1, 1, 1, 1),
+ dec_dilations=(1, 1, 1, 1),
+ with_cp=False,
+ conv_cfg=None,
+ norm_cfg=dict(type='BN'),
+ act_cfg=dict(type='ReLU'),
+ upsample_cfg=dict(type='InterpConv'),
+ norm_eval=False,
+ dcn=None,
+ plugins=None):
+ super(UNet, self).__init__()
+ assert dcn is None, 'Not implemented yet.'
+ assert plugins is None, 'Not implemented yet.'
+ assert len(strides) == num_stages, \
+ 'The length of strides should be equal to num_stages, '\
+ f'while the strides is {strides}, the length of '\
+ f'strides is {len(strides)}, and the num_stages is '\
+ f'{num_stages}.'
+ assert len(enc_num_convs) == num_stages, \
+ 'The length of enc_num_convs should be equal to num_stages, '\
+ f'while the enc_num_convs is {enc_num_convs}, the length of '\
+ f'enc_num_convs is {len(enc_num_convs)}, and the num_stages is '\
+ f'{num_stages}.'
+ assert len(dec_num_convs) == (num_stages-1), \
+ 'The length of dec_num_convs should be equal to (num_stages-1), '\
+ f'while the dec_num_convs is {dec_num_convs}, the length of '\
+ f'dec_num_convs is {len(dec_num_convs)}, and the num_stages is '\
+ f'{num_stages}.'
+ assert len(downsamples) == (num_stages-1), \
+ 'The length of downsamples should be equal to (num_stages-1), '\
+ f'while the downsamples is {downsamples}, the length of '\
+ f'downsamples is {len(downsamples)}, and the num_stages is '\
+ f'{num_stages}.'
+ assert len(enc_dilations) == num_stages, \
+ 'The length of enc_dilations should be equal to num_stages, '\
+ f'while the enc_dilations is {enc_dilations}, the length of '\
+ f'enc_dilations is {len(enc_dilations)}, and the num_stages is '\
+ f'{num_stages}.'
+ assert len(dec_dilations) == (num_stages-1), \
+ 'The length of dec_dilations should be equal to (num_stages-1), '\
+ f'while the dec_dilations is {dec_dilations}, the length of '\
+ f'dec_dilations is {len(dec_dilations)}, and the num_stages is '\
+ f'{num_stages}.'
+ self.num_stages = num_stages
+ self.strides = strides
+ self.downsamples = downsamples
+ self.norm_eval = norm_eval
+ self.base_channels = base_channels
+
+ self.encoder = nn.ModuleList()
+ self.decoder = nn.ModuleList()
+
+ for i in range(num_stages):
+ enc_conv_block = []
+ if i != 0:
+ if strides[i] == 1 and downsamples[i - 1]:
+ enc_conv_block.append(nn.MaxPool2d(kernel_size=2))
+ upsample = (strides[i] != 1 or downsamples[i - 1])
+ self.decoder.append(
+ UpConvBlock(
+ conv_block=BasicConvBlock,
+ in_channels=base_channels * 2**i,
+ skip_channels=base_channels * 2**(i - 1),
+ out_channels=base_channels * 2**(i - 1),
+ num_convs=dec_num_convs[i - 1],
+ stride=1,
+ dilation=dec_dilations[i - 1],
+ with_cp=with_cp,
+ conv_cfg=conv_cfg,
+ norm_cfg=norm_cfg,
+ act_cfg=act_cfg,
+ upsample_cfg=upsample_cfg if upsample else None,
+ dcn=None,
+ plugins=None))
+
+ enc_conv_block.append(
+ BasicConvBlock(
+ in_channels=in_channels,
+ out_channels=base_channels * 2**i,
+ num_convs=enc_num_convs[i],
+ stride=strides[i],
+ dilation=enc_dilations[i],
+ with_cp=with_cp,
+ conv_cfg=conv_cfg,
+ norm_cfg=norm_cfg,
+ act_cfg=act_cfg,
+ dcn=None,
+ plugins=None))
+ self.encoder.append((nn.Sequential(*enc_conv_block)))
+ in_channels = base_channels * 2**i
+
+ def forward(self, x):
+ self._check_input_divisible(x)
+ enc_outs = []
+ for enc in self.encoder:
+ x = enc(x)
+ enc_outs.append(x)
+ dec_outs = [x]
+ for i in reversed(range(len(self.decoder))):
+ x = self.decoder[i](enc_outs[i], x)
+ dec_outs.append(x)
+
+ return dec_outs
+
+ def train(self, mode=True):
+ """Convert the model into training mode while keep normalization layer
+ freezed."""
+ super(UNet, self).train(mode)
+ if mode and self.norm_eval:
+ for m in self.modules():
+ # trick: eval have effect on BatchNorm only
+ if isinstance(m, _BatchNorm):
+ m.eval()
+
+ def _check_input_divisible(self, x):
+ h, w = x.shape[-2:]
+ whole_downsample_rate = 1
+ for i in range(1, self.num_stages):
+ if self.strides[i] == 2 or self.downsamples[i - 1]:
+ whole_downsample_rate *= 2
+ assert (h % whole_downsample_rate == 0) \
+ and (w % whole_downsample_rate == 0),\
+ f'The input image size {(h, w)} should be divisible by the whole '\
+ f'downsample rate {whole_downsample_rate}, when num_stages is '\
+ f'{self.num_stages}, strides is {self.strides}, and downsamples '\
+ f'is {self.downsamples}.'
+
+ def init_weights(self, pretrained=None):
+ """Initialize the weights in backbone.
+
+ Args:
+ pretrained (str, optional): Path to pre-trained weights.
+ Defaults to None.
+ """
+ if isinstance(pretrained, str):
+ logger = get_root_logger()
+ load_checkpoint(self, pretrained, strict=False, logger=logger)
+ elif pretrained is None:
+ for m in self.modules():
+ if isinstance(m, nn.Conv2d):
+ kaiming_init(m)
+ elif isinstance(m, (_BatchNorm, nn.GroupNorm)):
+ constant_init(m, 1)
+ else:
+ raise TypeError('pretrained must be a str or None')
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/backbones/vit.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/backbones/vit.py
new file mode 100644
index 0000000000000000000000000000000000000000..ab1a393741b21c8185f4204946b751b1913ef98c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/backbones/vit.py
@@ -0,0 +1,459 @@
+"""Modified from https://github.com/rwightman/pytorch-image-
+models/blob/master/timm/models/vision_transformer.py."""
+
+import math
+
+import torch
+import torch.nn as nn
+import torch.nn.functional as F
+import torch.utils.checkpoint as cp
+from annotator.mmpkg.mmcv.cnn import (Conv2d, Linear, build_activation_layer, build_norm_layer,
+ constant_init, kaiming_init, normal_init)
+from annotator.mmpkg.mmcv.runner import _load_checkpoint
+from annotator.mmpkg.mmcv.utils.parrots_wrapper import _BatchNorm
+
+from annotator.mmpkg.mmseg.utils import get_root_logger
+from ..builder import BACKBONES
+from ..utils import DropPath, trunc_normal_
+
+
+class Mlp(nn.Module):
+ """MLP layer for Encoder block.
+
+ Args:
+ in_features(int): Input dimension for the first fully
+ connected layer.
+ hidden_features(int): Output dimension for the first fully
+ connected layer.
+ out_features(int): Output dementsion for the second fully
+ connected layer.
+ act_cfg(dict): Config dict for activation layer.
+ Default: dict(type='GELU').
+ drop(float): Drop rate for the dropout layer. Dropout rate has
+ to be between 0 and 1. Default: 0.
+ """
+
+ def __init__(self,
+ in_features,
+ hidden_features=None,
+ out_features=None,
+ act_cfg=dict(type='GELU'),
+ drop=0.):
+ super(Mlp, self).__init__()
+ out_features = out_features or in_features
+ hidden_features = hidden_features or in_features
+ self.fc1 = Linear(in_features, hidden_features)
+ self.act = build_activation_layer(act_cfg)
+ self.fc2 = Linear(hidden_features, out_features)
+ self.drop = nn.Dropout(drop)
+
+ def forward(self, x):
+ x = self.fc1(x)
+ x = self.act(x)
+ x = self.drop(x)
+ x = self.fc2(x)
+ x = self.drop(x)
+ return x
+
+
+class Attention(nn.Module):
+ """Attention layer for Encoder block.
+
+ Args:
+ dim (int): Dimension for the input vector.
+ num_heads (int): Number of parallel attention heads.
+ qkv_bias (bool): Enable bias for qkv if True. Default: False.
+ qk_scale (float): Override default qk scale of head_dim ** -0.5 if set.
+ attn_drop (float): Drop rate for attention output weights.
+ Default: 0.
+ proj_drop (float): Drop rate for output weights. Default: 0.
+ """
+
+ def __init__(self,
+ dim,
+ num_heads=8,
+ qkv_bias=False,
+ qk_scale=None,
+ attn_drop=0.,
+ proj_drop=0.):
+ super(Attention, self).__init__()
+ self.num_heads = num_heads
+ head_dim = dim // num_heads
+ self.scale = qk_scale or head_dim**-0.5
+
+ self.qkv = nn.Linear(dim, dim * 3, bias=qkv_bias)
+ self.attn_drop = nn.Dropout(attn_drop)
+ self.proj = Linear(dim, dim)
+ self.proj_drop = nn.Dropout(proj_drop)
+
+ def forward(self, x):
+ b, n, c = x.shape
+ qkv = self.qkv(x).reshape(b, n, 3, self.num_heads,
+ c // self.num_heads).permute(2, 0, 3, 1, 4)
+ q, k, v = qkv[0], qkv[1], qkv[2]
+
+ attn = (q @ k.transpose(-2, -1)) * self.scale
+ attn = attn.softmax(dim=-1)
+ attn = self.attn_drop(attn)
+
+ x = (attn @ v).transpose(1, 2).reshape(b, n, c)
+ x = self.proj(x)
+ x = self.proj_drop(x)
+ return x
+
+
+class Block(nn.Module):
+ """Implements encoder block with residual connection.
+
+ Args:
+ dim (int): The feature dimension.
+ num_heads (int): Number of parallel attention heads.
+ mlp_ratio (int): Ratio of mlp hidden dim to embedding dim.
+ qk_scale (float): Override default qk scale of head_dim ** -0.5 if set.
+ drop (float): Drop rate for mlp output weights. Default: 0.
+ attn_drop (float): Drop rate for attention output weights.
+ Default: 0.
+ proj_drop (float): Drop rate for attn layer output weights.
+ Default: 0.
+ drop_path (float): Drop rate for paths of model.
+ Default: 0.
+ act_cfg (dict): Config dict for activation layer.
+ Default: dict(type='GELU').
+ norm_cfg (dict): Config dict for normalization layer.
+ Default: dict(type='LN', requires_grad=True).
+ with_cp (bool): Use checkpoint or not. Using checkpoint will save some
+ memory while slowing down the training speed. Default: False.
+ """
+
+ def __init__(self,
+ dim,
+ num_heads,
+ mlp_ratio=4,
+ qkv_bias=False,
+ qk_scale=None,
+ drop=0.,
+ attn_drop=0.,
+ proj_drop=0.,
+ drop_path=0.,
+ act_cfg=dict(type='GELU'),
+ norm_cfg=dict(type='LN', eps=1e-6),
+ with_cp=False):
+ super(Block, self).__init__()
+ self.with_cp = with_cp
+ _, self.norm1 = build_norm_layer(norm_cfg, dim)
+ self.attn = Attention(dim, num_heads, qkv_bias, qk_scale, attn_drop,
+ proj_drop)
+ self.drop_path = DropPath(
+ drop_path) if drop_path > 0. else nn.Identity()
+ _, self.norm2 = build_norm_layer(norm_cfg, dim)
+ mlp_hidden_dim = int(dim * mlp_ratio)
+ self.mlp = Mlp(
+ in_features=dim,
+ hidden_features=mlp_hidden_dim,
+ act_cfg=act_cfg,
+ drop=drop)
+
+ def forward(self, x):
+
+ def _inner_forward(x):
+ out = x + self.drop_path(self.attn(self.norm1(x)))
+ out = out + self.drop_path(self.mlp(self.norm2(out)))
+ return out
+
+ if self.with_cp and x.requires_grad:
+ out = cp.checkpoint(_inner_forward, x)
+ else:
+ out = _inner_forward(x)
+
+ return out
+
+
+class PatchEmbed(nn.Module):
+ """Image to Patch Embedding.
+
+ Args:
+ img_size (int | tuple): Input image size.
+ default: 224.
+ patch_size (int): Width and height for a patch.
+ default: 16.
+ in_channels (int): Input channels for images. Default: 3.
+ embed_dim (int): The embedding dimension. Default: 768.
+ """
+
+ def __init__(self,
+ img_size=224,
+ patch_size=16,
+ in_channels=3,
+ embed_dim=768):
+ super(PatchEmbed, self).__init__()
+ if isinstance(img_size, int):
+ self.img_size = (img_size, img_size)
+ elif isinstance(img_size, tuple):
+ self.img_size = img_size
+ else:
+ raise TypeError('img_size must be type of int or tuple')
+ h, w = self.img_size
+ self.patch_size = (patch_size, patch_size)
+ self.num_patches = (h // patch_size) * (w // patch_size)
+ self.proj = Conv2d(
+ in_channels, embed_dim, kernel_size=patch_size, stride=patch_size)
+
+ def forward(self, x):
+ return self.proj(x).flatten(2).transpose(1, 2)
+
+
+@BACKBONES.register_module()
+class VisionTransformer(nn.Module):
+ """Vision transformer backbone.
+
+ A PyTorch impl of : `An Image is Worth 16x16 Words: Transformers for
+ Image Recognition at Scale` - https://arxiv.org/abs/2010.11929
+
+ Args:
+ img_size (tuple): input image size. Default: (224, 224).
+ patch_size (int, tuple): patch size. Default: 16.
+ in_channels (int): number of input channels. Default: 3.
+ embed_dim (int): embedding dimension. Default: 768.
+ depth (int): depth of transformer. Default: 12.
+ num_heads (int): number of attention heads. Default: 12.
+ mlp_ratio (int): ratio of mlp hidden dim to embedding dim.
+ Default: 4.
+ out_indices (list | tuple | int): Output from which stages.
+ Default: -1.
+ qkv_bias (bool): enable bias for qkv if True. Default: True.
+ qk_scale (float): override default qk scale of head_dim ** -0.5 if set.
+ drop_rate (float): dropout rate. Default: 0.
+ attn_drop_rate (float): attention dropout rate. Default: 0.
+ drop_path_rate (float): Rate of DropPath. Default: 0.
+ norm_cfg (dict): Config dict for normalization layer.
+ Default: dict(type='LN', eps=1e-6, requires_grad=True).
+ act_cfg (dict): Config dict for activation layer.
+ Default: dict(type='GELU').
+ norm_eval (bool): Whether to set norm layers to eval mode, namely,
+ freeze running stats (mean and var). Note: Effect on Batch Norm
+ and its variants only. Default: False.
+ final_norm (bool): Whether to add a additional layer to normalize
+ final feature map. Default: False.
+ interpolate_mode (str): Select the interpolate mode for position
+ embeding vector resize. Default: bicubic.
+ with_cls_token (bool): If concatenating class token into image tokens
+ as transformer input. Default: True.
+ with_cp (bool): Use checkpoint or not. Using checkpoint
+ will save some memory while slowing down the training speed.
+ Default: False.
+ """
+
+ def __init__(self,
+ img_size=(224, 224),
+ patch_size=16,
+ in_channels=3,
+ embed_dim=768,
+ depth=12,
+ num_heads=12,
+ mlp_ratio=4,
+ out_indices=11,
+ qkv_bias=True,
+ qk_scale=None,
+ drop_rate=0.,
+ attn_drop_rate=0.,
+ drop_path_rate=0.,
+ norm_cfg=dict(type='LN', eps=1e-6, requires_grad=True),
+ act_cfg=dict(type='GELU'),
+ norm_eval=False,
+ final_norm=False,
+ with_cls_token=True,
+ interpolate_mode='bicubic',
+ with_cp=False):
+ super(VisionTransformer, self).__init__()
+ self.img_size = img_size
+ self.patch_size = patch_size
+ self.features = self.embed_dim = embed_dim
+ self.patch_embed = PatchEmbed(
+ img_size=img_size,
+ patch_size=patch_size,
+ in_channels=in_channels,
+ embed_dim=embed_dim)
+
+ self.with_cls_token = with_cls_token
+ self.cls_token = nn.Parameter(torch.zeros(1, 1, self.embed_dim))
+ self.pos_embed = nn.Parameter(
+ torch.zeros(1, self.patch_embed.num_patches + 1, embed_dim))
+ self.pos_drop = nn.Dropout(p=drop_rate)
+
+ if isinstance(out_indices, int):
+ self.out_indices = [out_indices]
+ elif isinstance(out_indices, list) or isinstance(out_indices, tuple):
+ self.out_indices = out_indices
+ else:
+ raise TypeError('out_indices must be type of int, list or tuple')
+
+ dpr = [x.item() for x in torch.linspace(0, drop_path_rate, depth)
+ ] # stochastic depth decay rule
+ self.blocks = nn.ModuleList([
+ Block(
+ dim=embed_dim,
+ num_heads=num_heads,
+ mlp_ratio=mlp_ratio,
+ qkv_bias=qkv_bias,
+ qk_scale=qk_scale,
+ drop=dpr[i],
+ attn_drop=attn_drop_rate,
+ act_cfg=act_cfg,
+ norm_cfg=norm_cfg,
+ with_cp=with_cp) for i in range(depth)
+ ])
+
+ self.interpolate_mode = interpolate_mode
+ self.final_norm = final_norm
+ if final_norm:
+ _, self.norm = build_norm_layer(norm_cfg, embed_dim)
+
+ self.norm_eval = norm_eval
+ self.with_cp = with_cp
+
+ def init_weights(self, pretrained=None):
+ if isinstance(pretrained, str):
+ logger = get_root_logger()
+ checkpoint = _load_checkpoint(pretrained, logger=logger)
+ if 'state_dict' in checkpoint:
+ state_dict = checkpoint['state_dict']
+ else:
+ state_dict = checkpoint
+
+ if 'pos_embed' in state_dict.keys():
+ if self.pos_embed.shape != state_dict['pos_embed'].shape:
+ logger.info(msg=f'Resize the pos_embed shape from \
+{state_dict["pos_embed"].shape} to {self.pos_embed.shape}')
+ h, w = self.img_size
+ pos_size = int(
+ math.sqrt(state_dict['pos_embed'].shape[1] - 1))
+ state_dict['pos_embed'] = self.resize_pos_embed(
+ state_dict['pos_embed'], (h, w), (pos_size, pos_size),
+ self.patch_size, self.interpolate_mode)
+
+ self.load_state_dict(state_dict, False)
+
+ elif pretrained is None:
+ # We only implement the 'jax_impl' initialization implemented at
+ # https://github.com/rwightman/pytorch-image-models/blob/master/timm/models/vision_transformer.py#L353 # noqa: E501
+ trunc_normal_(self.pos_embed, std=.02)
+ trunc_normal_(self.cls_token, std=.02)
+ for n, m in self.named_modules():
+ if isinstance(m, Linear):
+ trunc_normal_(m.weight, std=.02)
+ if m.bias is not None:
+ if 'mlp' in n:
+ normal_init(m.bias, std=1e-6)
+ else:
+ constant_init(m.bias, 0)
+ elif isinstance(m, Conv2d):
+ kaiming_init(m.weight, mode='fan_in')
+ if m.bias is not None:
+ constant_init(m.bias, 0)
+ elif isinstance(m, (_BatchNorm, nn.GroupNorm, nn.LayerNorm)):
+ constant_init(m.bias, 0)
+ constant_init(m.weight, 1.0)
+ else:
+ raise TypeError('pretrained must be a str or None')
+
+ def _pos_embeding(self, img, patched_img, pos_embed):
+ """Positiong embeding method.
+
+ Resize the pos_embed, if the input image size doesn't match
+ the training size.
+ Args:
+ img (torch.Tensor): The inference image tensor, the shape
+ must be [B, C, H, W].
+ patched_img (torch.Tensor): The patched image, it should be
+ shape of [B, L1, C].
+ pos_embed (torch.Tensor): The pos_embed weighs, it should be
+ shape of [B, L2, c].
+ Return:
+ torch.Tensor: The pos encoded image feature.
+ """
+ assert patched_img.ndim == 3 and pos_embed.ndim == 3, \
+ 'the shapes of patched_img and pos_embed must be [B, L, C]'
+ x_len, pos_len = patched_img.shape[1], pos_embed.shape[1]
+ if x_len != pos_len:
+ if pos_len == (self.img_size[0] // self.patch_size) * (
+ self.img_size[1] // self.patch_size) + 1:
+ pos_h = self.img_size[0] // self.patch_size
+ pos_w = self.img_size[1] // self.patch_size
+ else:
+ raise ValueError(
+ 'Unexpected shape of pos_embed, got {}.'.format(
+ pos_embed.shape))
+ pos_embed = self.resize_pos_embed(pos_embed, img.shape[2:],
+ (pos_h, pos_w), self.patch_size,
+ self.interpolate_mode)
+ return self.pos_drop(patched_img + pos_embed)
+
+ @staticmethod
+ def resize_pos_embed(pos_embed, input_shpae, pos_shape, patch_size, mode):
+ """Resize pos_embed weights.
+
+ Resize pos_embed using bicubic interpolate method.
+ Args:
+ pos_embed (torch.Tensor): pos_embed weights.
+ input_shpae (tuple): Tuple for (input_h, intput_w).
+ pos_shape (tuple): Tuple for (pos_h, pos_w).
+ patch_size (int): Patch size.
+ Return:
+ torch.Tensor: The resized pos_embed of shape [B, L_new, C]
+ """
+ assert pos_embed.ndim == 3, 'shape of pos_embed must be [B, L, C]'
+ input_h, input_w = input_shpae
+ pos_h, pos_w = pos_shape
+ cls_token_weight = pos_embed[:, 0]
+ pos_embed_weight = pos_embed[:, (-1 * pos_h * pos_w):]
+ pos_embed_weight = pos_embed_weight.reshape(
+ 1, pos_h, pos_w, pos_embed.shape[2]).permute(0, 3, 1, 2)
+ pos_embed_weight = F.interpolate(
+ pos_embed_weight,
+ size=[input_h // patch_size, input_w // patch_size],
+ align_corners=False,
+ mode=mode)
+ cls_token_weight = cls_token_weight.unsqueeze(1)
+ pos_embed_weight = torch.flatten(pos_embed_weight, 2).transpose(1, 2)
+ pos_embed = torch.cat((cls_token_weight, pos_embed_weight), dim=1)
+ return pos_embed
+
+ def forward(self, inputs):
+ B = inputs.shape[0]
+
+ x = self.patch_embed(inputs)
+
+ cls_tokens = self.cls_token.expand(B, -1, -1)
+ x = torch.cat((cls_tokens, x), dim=1)
+ x = self._pos_embeding(inputs, x, self.pos_embed)
+
+ if not self.with_cls_token:
+ # Remove class token for transformer input
+ x = x[:, 1:]
+
+ outs = []
+ for i, blk in enumerate(self.blocks):
+ x = blk(x)
+ if i == len(self.blocks) - 1:
+ if self.final_norm:
+ x = self.norm(x)
+ if i in self.out_indices:
+ if self.with_cls_token:
+ # Remove class token and reshape token for decoder head
+ out = x[:, 1:]
+ else:
+ out = x
+ B, _, C = out.shape
+ out = out.reshape(B, inputs.shape[2] // self.patch_size,
+ inputs.shape[3] // self.patch_size,
+ C).permute(0, 3, 1, 2)
+ outs.append(out)
+
+ return tuple(outs)
+
+ def train(self, mode=True):
+ super(VisionTransformer, self).train(mode)
+ if mode and self.norm_eval:
+ for m in self.modules():
+ if isinstance(m, nn.LayerNorm):
+ m.eval()
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/builder.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/builder.py
new file mode 100644
index 0000000000000000000000000000000000000000..fd29ff66d523b854c739b580137db6f4155fc550
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/builder.py
@@ -0,0 +1,46 @@
+import warnings
+
+from annotator.mmpkg.mmcv.cnn import MODELS as MMCV_MODELS
+from annotator.mmpkg.mmcv.utils import Registry
+
+MODELS = Registry('models', parent=MMCV_MODELS)
+
+BACKBONES = MODELS
+NECKS = MODELS
+HEADS = MODELS
+LOSSES = MODELS
+SEGMENTORS = MODELS
+
+
+def build_backbone(cfg):
+ """Build backbone."""
+ return BACKBONES.build(cfg)
+
+
+def build_neck(cfg):
+ """Build neck."""
+ return NECKS.build(cfg)
+
+
+def build_head(cfg):
+ """Build head."""
+ return HEADS.build(cfg)
+
+
+def build_loss(cfg):
+ """Build loss."""
+ return LOSSES.build(cfg)
+
+
+def build_segmentor(cfg, train_cfg=None, test_cfg=None):
+ """Build segmentor."""
+ if train_cfg is not None or test_cfg is not None:
+ warnings.warn(
+ 'train_cfg and test_cfg is deprecated, '
+ 'please specify them in model', UserWarning)
+ assert cfg.get('train_cfg') is None or train_cfg is None, \
+ 'train_cfg specified in both outer field and model field '
+ assert cfg.get('test_cfg') is None or test_cfg is None, \
+ 'test_cfg specified in both outer field and model field '
+ return SEGMENTORS.build(
+ cfg, default_args=dict(train_cfg=train_cfg, test_cfg=test_cfg))
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..ac66d3cfe0ea04af45c0f3594bf135841c3812e3
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/__init__.py
@@ -0,0 +1,28 @@
+from .ann_head import ANNHead
+from .apc_head import APCHead
+from .aspp_head import ASPPHead
+from .cc_head import CCHead
+from .da_head import DAHead
+from .dm_head import DMHead
+from .dnl_head import DNLHead
+from .ema_head import EMAHead
+from .enc_head import EncHead
+from .fcn_head import FCNHead
+from .fpn_head import FPNHead
+from .gc_head import GCHead
+from .lraspp_head import LRASPPHead
+from .nl_head import NLHead
+from .ocr_head import OCRHead
+# from .point_head import PointHead
+from .psa_head import PSAHead
+from .psp_head import PSPHead
+from .sep_aspp_head import DepthwiseSeparableASPPHead
+from .sep_fcn_head import DepthwiseSeparableFCNHead
+from .uper_head import UPerHead
+
+__all__ = [
+ 'FCNHead', 'PSPHead', 'ASPPHead', 'PSAHead', 'NLHead', 'GCHead', 'CCHead',
+ 'UPerHead', 'DepthwiseSeparableASPPHead', 'ANNHead', 'DAHead', 'OCRHead',
+ 'EncHead', 'DepthwiseSeparableFCNHead', 'FPNHead', 'EMAHead', 'DNLHead',
+ 'APCHead', 'DMHead', 'LRASPPHead'
+]
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/ann_head.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/ann_head.py
new file mode 100644
index 0000000000000000000000000000000000000000..958c88e0ca4b9acdaf146b836462b9a101b2cdad
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/ann_head.py
@@ -0,0 +1,245 @@
+import torch
+import torch.nn as nn
+from annotator.mmpkg.mmcv.cnn import ConvModule
+
+from ..builder import HEADS
+from ..utils import SelfAttentionBlock as _SelfAttentionBlock
+from .decode_head import BaseDecodeHead
+
+
+class PPMConcat(nn.ModuleList):
+ """Pyramid Pooling Module that only concat the features of each layer.
+
+ Args:
+ pool_scales (tuple[int]): Pooling scales used in Pooling Pyramid
+ Module.
+ """
+
+ def __init__(self, pool_scales=(1, 3, 6, 8)):
+ super(PPMConcat, self).__init__(
+ [nn.AdaptiveAvgPool2d(pool_scale) for pool_scale in pool_scales])
+
+ def forward(self, feats):
+ """Forward function."""
+ ppm_outs = []
+ for ppm in self:
+ ppm_out = ppm(feats)
+ ppm_outs.append(ppm_out.view(*feats.shape[:2], -1))
+ concat_outs = torch.cat(ppm_outs, dim=2)
+ return concat_outs
+
+
+class SelfAttentionBlock(_SelfAttentionBlock):
+ """Make a ANN used SelfAttentionBlock.
+
+ Args:
+ low_in_channels (int): Input channels of lower level feature,
+ which is the key feature for self-attention.
+ high_in_channels (int): Input channels of higher level feature,
+ which is the query feature for self-attention.
+ channels (int): Output channels of key/query transform.
+ out_channels (int): Output channels.
+ share_key_query (bool): Whether share projection weight between key
+ and query projection.
+ query_scale (int): The scale of query feature map.
+ key_pool_scales (tuple[int]): Pooling scales used in Pooling Pyramid
+ Module of key feature.
+ conv_cfg (dict|None): Config of conv layers.
+ norm_cfg (dict|None): Config of norm layers.
+ act_cfg (dict|None): Config of activation layers.
+ """
+
+ def __init__(self, low_in_channels, high_in_channels, channels,
+ out_channels, share_key_query, query_scale, key_pool_scales,
+ conv_cfg, norm_cfg, act_cfg):
+ key_psp = PPMConcat(key_pool_scales)
+ if query_scale > 1:
+ query_downsample = nn.MaxPool2d(kernel_size=query_scale)
+ else:
+ query_downsample = None
+ super(SelfAttentionBlock, self).__init__(
+ key_in_channels=low_in_channels,
+ query_in_channels=high_in_channels,
+ channels=channels,
+ out_channels=out_channels,
+ share_key_query=share_key_query,
+ query_downsample=query_downsample,
+ key_downsample=key_psp,
+ key_query_num_convs=1,
+ key_query_norm=True,
+ value_out_num_convs=1,
+ value_out_norm=False,
+ matmul_norm=True,
+ with_out=True,
+ conv_cfg=conv_cfg,
+ norm_cfg=norm_cfg,
+ act_cfg=act_cfg)
+
+
+class AFNB(nn.Module):
+ """Asymmetric Fusion Non-local Block(AFNB)
+
+ Args:
+ low_in_channels (int): Input channels of lower level feature,
+ which is the key feature for self-attention.
+ high_in_channels (int): Input channels of higher level feature,
+ which is the query feature for self-attention.
+ channels (int): Output channels of key/query transform.
+ out_channels (int): Output channels.
+ and query projection.
+ query_scales (tuple[int]): The scales of query feature map.
+ Default: (1,)
+ key_pool_scales (tuple[int]): Pooling scales used in Pooling Pyramid
+ Module of key feature.
+ conv_cfg (dict|None): Config of conv layers.
+ norm_cfg (dict|None): Config of norm layers.
+ act_cfg (dict|None): Config of activation layers.
+ """
+
+ def __init__(self, low_in_channels, high_in_channels, channels,
+ out_channels, query_scales, key_pool_scales, conv_cfg,
+ norm_cfg, act_cfg):
+ super(AFNB, self).__init__()
+ self.stages = nn.ModuleList()
+ for query_scale in query_scales:
+ self.stages.append(
+ SelfAttentionBlock(
+ low_in_channels=low_in_channels,
+ high_in_channels=high_in_channels,
+ channels=channels,
+ out_channels=out_channels,
+ share_key_query=False,
+ query_scale=query_scale,
+ key_pool_scales=key_pool_scales,
+ conv_cfg=conv_cfg,
+ norm_cfg=norm_cfg,
+ act_cfg=act_cfg))
+ self.bottleneck = ConvModule(
+ out_channels + high_in_channels,
+ out_channels,
+ 1,
+ conv_cfg=conv_cfg,
+ norm_cfg=norm_cfg,
+ act_cfg=None)
+
+ def forward(self, low_feats, high_feats):
+ """Forward function."""
+ priors = [stage(high_feats, low_feats) for stage in self.stages]
+ context = torch.stack(priors, dim=0).sum(dim=0)
+ output = self.bottleneck(torch.cat([context, high_feats], 1))
+ return output
+
+
+class APNB(nn.Module):
+ """Asymmetric Pyramid Non-local Block (APNB)
+
+ Args:
+ in_channels (int): Input channels of key/query feature,
+ which is the key feature for self-attention.
+ channels (int): Output channels of key/query transform.
+ out_channels (int): Output channels.
+ query_scales (tuple[int]): The scales of query feature map.
+ Default: (1,)
+ key_pool_scales (tuple[int]): Pooling scales used in Pooling Pyramid
+ Module of key feature.
+ conv_cfg (dict|None): Config of conv layers.
+ norm_cfg (dict|None): Config of norm layers.
+ act_cfg (dict|None): Config of activation layers.
+ """
+
+ def __init__(self, in_channels, channels, out_channels, query_scales,
+ key_pool_scales, conv_cfg, norm_cfg, act_cfg):
+ super(APNB, self).__init__()
+ self.stages = nn.ModuleList()
+ for query_scale in query_scales:
+ self.stages.append(
+ SelfAttentionBlock(
+ low_in_channels=in_channels,
+ high_in_channels=in_channels,
+ channels=channels,
+ out_channels=out_channels,
+ share_key_query=True,
+ query_scale=query_scale,
+ key_pool_scales=key_pool_scales,
+ conv_cfg=conv_cfg,
+ norm_cfg=norm_cfg,
+ act_cfg=act_cfg))
+ self.bottleneck = ConvModule(
+ 2 * in_channels,
+ out_channels,
+ 1,
+ conv_cfg=conv_cfg,
+ norm_cfg=norm_cfg,
+ act_cfg=act_cfg)
+
+ def forward(self, feats):
+ """Forward function."""
+ priors = [stage(feats, feats) for stage in self.stages]
+ context = torch.stack(priors, dim=0).sum(dim=0)
+ output = self.bottleneck(torch.cat([context, feats], 1))
+ return output
+
+
+@HEADS.register_module()
+class ANNHead(BaseDecodeHead):
+ """Asymmetric Non-local Neural Networks for Semantic Segmentation.
+
+ This head is the implementation of `ANNNet
+ `_.
+
+ Args:
+ project_channels (int): Projection channels for Nonlocal.
+ query_scales (tuple[int]): The scales of query feature map.
+ Default: (1,)
+ key_pool_scales (tuple[int]): The pooling scales of key feature map.
+ Default: (1, 3, 6, 8).
+ """
+
+ def __init__(self,
+ project_channels,
+ query_scales=(1, ),
+ key_pool_scales=(1, 3, 6, 8),
+ **kwargs):
+ super(ANNHead, self).__init__(
+ input_transform='multiple_select', **kwargs)
+ assert len(self.in_channels) == 2
+ low_in_channels, high_in_channels = self.in_channels
+ self.project_channels = project_channels
+ self.fusion = AFNB(
+ low_in_channels=low_in_channels,
+ high_in_channels=high_in_channels,
+ out_channels=high_in_channels,
+ channels=project_channels,
+ query_scales=query_scales,
+ key_pool_scales=key_pool_scales,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg)
+ self.bottleneck = ConvModule(
+ high_in_channels,
+ self.channels,
+ 3,
+ padding=1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg)
+ self.context = APNB(
+ in_channels=self.channels,
+ out_channels=self.channels,
+ channels=project_channels,
+ query_scales=query_scales,
+ key_pool_scales=key_pool_scales,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg)
+
+ def forward(self, inputs):
+ """Forward function."""
+ low_feats, high_feats = self._transform_inputs(inputs)
+ output = self.fusion(low_feats, high_feats)
+ output = self.dropout(output)
+ output = self.bottleneck(output)
+ output = self.context(output)
+ output = self.cls_seg(output)
+
+ return output
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/apc_head.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/apc_head.py
new file mode 100644
index 0000000000000000000000000000000000000000..4f363dba391c3eb6fb5a4d61c145fd4976a5717d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/apc_head.py
@@ -0,0 +1,158 @@
+import torch
+import torch.nn as nn
+import torch.nn.functional as F
+from annotator.mmpkg.mmcv.cnn import ConvModule
+
+from annotator.mmpkg.mmseg.ops import resize
+from ..builder import HEADS
+from .decode_head import BaseDecodeHead
+
+
+class ACM(nn.Module):
+ """Adaptive Context Module used in APCNet.
+
+ Args:
+ pool_scale (int): Pooling scale used in Adaptive Context
+ Module to extract region features.
+ fusion (bool): Add one conv to fuse residual feature.
+ in_channels (int): Input channels.
+ channels (int): Channels after modules, before conv_seg.
+ conv_cfg (dict | None): Config of conv layers.
+ norm_cfg (dict | None): Config of norm layers.
+ act_cfg (dict): Config of activation layers.
+ """
+
+ def __init__(self, pool_scale, fusion, in_channels, channels, conv_cfg,
+ norm_cfg, act_cfg):
+ super(ACM, self).__init__()
+ self.pool_scale = pool_scale
+ self.fusion = fusion
+ self.in_channels = in_channels
+ self.channels = channels
+ self.conv_cfg = conv_cfg
+ self.norm_cfg = norm_cfg
+ self.act_cfg = act_cfg
+ self.pooled_redu_conv = ConvModule(
+ self.in_channels,
+ self.channels,
+ 1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg)
+
+ self.input_redu_conv = ConvModule(
+ self.in_channels,
+ self.channels,
+ 1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg)
+
+ self.global_info = ConvModule(
+ self.channels,
+ self.channels,
+ 1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg)
+
+ self.gla = nn.Conv2d(self.channels, self.pool_scale**2, 1, 1, 0)
+
+ self.residual_conv = ConvModule(
+ self.channels,
+ self.channels,
+ 1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg)
+
+ if self.fusion:
+ self.fusion_conv = ConvModule(
+ self.channels,
+ self.channels,
+ 1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg)
+
+ def forward(self, x):
+ """Forward function."""
+ pooled_x = F.adaptive_avg_pool2d(x, self.pool_scale)
+ # [batch_size, channels, h, w]
+ x = self.input_redu_conv(x)
+ # [batch_size, channels, pool_scale, pool_scale]
+ pooled_x = self.pooled_redu_conv(pooled_x)
+ batch_size = x.size(0)
+ # [batch_size, pool_scale * pool_scale, channels]
+ pooled_x = pooled_x.view(batch_size, self.channels,
+ -1).permute(0, 2, 1).contiguous()
+ # [batch_size, h * w, pool_scale * pool_scale]
+ affinity_matrix = self.gla(x + resize(
+ self.global_info(F.adaptive_avg_pool2d(x, 1)), size=x.shape[2:])
+ ).permute(0, 2, 3, 1).reshape(
+ batch_size, -1, self.pool_scale**2)
+ affinity_matrix = F.sigmoid(affinity_matrix)
+ # [batch_size, h * w, channels]
+ z_out = torch.matmul(affinity_matrix, pooled_x)
+ # [batch_size, channels, h * w]
+ z_out = z_out.permute(0, 2, 1).contiguous()
+ # [batch_size, channels, h, w]
+ z_out = z_out.view(batch_size, self.channels, x.size(2), x.size(3))
+ z_out = self.residual_conv(z_out)
+ z_out = F.relu(z_out + x)
+ if self.fusion:
+ z_out = self.fusion_conv(z_out)
+
+ return z_out
+
+
+@HEADS.register_module()
+class APCHead(BaseDecodeHead):
+ """Adaptive Pyramid Context Network for Semantic Segmentation.
+
+ This head is the implementation of
+ `APCNet `_.
+
+ Args:
+ pool_scales (tuple[int]): Pooling scales used in Adaptive Context
+ Module. Default: (1, 2, 3, 6).
+ fusion (bool): Add one conv to fuse residual feature.
+ """
+
+ def __init__(self, pool_scales=(1, 2, 3, 6), fusion=True, **kwargs):
+ super(APCHead, self).__init__(**kwargs)
+ assert isinstance(pool_scales, (list, tuple))
+ self.pool_scales = pool_scales
+ self.fusion = fusion
+ acm_modules = []
+ for pool_scale in self.pool_scales:
+ acm_modules.append(
+ ACM(pool_scale,
+ self.fusion,
+ self.in_channels,
+ self.channels,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg))
+ self.acm_modules = nn.ModuleList(acm_modules)
+ self.bottleneck = ConvModule(
+ self.in_channels + len(pool_scales) * self.channels,
+ self.channels,
+ 3,
+ padding=1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg)
+
+ def forward(self, inputs):
+ """Forward function."""
+ x = self._transform_inputs(inputs)
+ acm_outs = [x]
+ for acm_module in self.acm_modules:
+ acm_outs.append(acm_module(x))
+ acm_outs = torch.cat(acm_outs, dim=1)
+ output = self.bottleneck(acm_outs)
+ output = self.cls_seg(output)
+ return output
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/aspp_head.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/aspp_head.py
new file mode 100644
index 0000000000000000000000000000000000000000..3c0aadb2b097a604d96ba1c99c05663b7884b6e0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/aspp_head.py
@@ -0,0 +1,107 @@
+import torch
+import torch.nn as nn
+from annotator.mmpkg.mmcv.cnn import ConvModule
+
+from annotator.mmpkg.mmseg.ops import resize
+from ..builder import HEADS
+from .decode_head import BaseDecodeHead
+
+
+class ASPPModule(nn.ModuleList):
+ """Atrous Spatial Pyramid Pooling (ASPP) Module.
+
+ Args:
+ dilations (tuple[int]): Dilation rate of each layer.
+ in_channels (int): Input channels.
+ channels (int): Channels after modules, before conv_seg.
+ conv_cfg (dict|None): Config of conv layers.
+ norm_cfg (dict|None): Config of norm layers.
+ act_cfg (dict): Config of activation layers.
+ """
+
+ def __init__(self, dilations, in_channels, channels, conv_cfg, norm_cfg,
+ act_cfg):
+ super(ASPPModule, self).__init__()
+ self.dilations = dilations
+ self.in_channels = in_channels
+ self.channels = channels
+ self.conv_cfg = conv_cfg
+ self.norm_cfg = norm_cfg
+ self.act_cfg = act_cfg
+ for dilation in dilations:
+ self.append(
+ ConvModule(
+ self.in_channels,
+ self.channels,
+ 1 if dilation == 1 else 3,
+ dilation=dilation,
+ padding=0 if dilation == 1 else dilation,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg))
+
+ def forward(self, x):
+ """Forward function."""
+ aspp_outs = []
+ for aspp_module in self:
+ aspp_outs.append(aspp_module(x))
+
+ return aspp_outs
+
+
+@HEADS.register_module()
+class ASPPHead(BaseDecodeHead):
+ """Rethinking Atrous Convolution for Semantic Image Segmentation.
+
+ This head is the implementation of `DeepLabV3
+ `_.
+
+ Args:
+ dilations (tuple[int]): Dilation rates for ASPP module.
+ Default: (1, 6, 12, 18).
+ """
+
+ def __init__(self, dilations=(1, 6, 12, 18), **kwargs):
+ super(ASPPHead, self).__init__(**kwargs)
+ assert isinstance(dilations, (list, tuple))
+ self.dilations = dilations
+ self.image_pool = nn.Sequential(
+ nn.AdaptiveAvgPool2d(1),
+ ConvModule(
+ self.in_channels,
+ self.channels,
+ 1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg))
+ self.aspp_modules = ASPPModule(
+ dilations,
+ self.in_channels,
+ self.channels,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg)
+ self.bottleneck = ConvModule(
+ (len(dilations) + 1) * self.channels,
+ self.channels,
+ 3,
+ padding=1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg)
+
+ def forward(self, inputs):
+ """Forward function."""
+ x = self._transform_inputs(inputs)
+ aspp_outs = [
+ resize(
+ self.image_pool(x),
+ size=x.size()[2:],
+ mode='bilinear',
+ align_corners=self.align_corners)
+ ]
+ aspp_outs.extend(self.aspp_modules(x))
+ aspp_outs = torch.cat(aspp_outs, dim=1)
+ output = self.bottleneck(aspp_outs)
+ output = self.cls_seg(output)
+ return output
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/cascade_decode_head.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/cascade_decode_head.py
new file mode 100644
index 0000000000000000000000000000000000000000..d02122ca0e68743b1bf7a893afae96042f23838c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/cascade_decode_head.py
@@ -0,0 +1,57 @@
+from abc import ABCMeta, abstractmethod
+
+from .decode_head import BaseDecodeHead
+
+
+class BaseCascadeDecodeHead(BaseDecodeHead, metaclass=ABCMeta):
+ """Base class for cascade decode head used in
+ :class:`CascadeEncoderDecoder."""
+
+ def __init__(self, *args, **kwargs):
+ super(BaseCascadeDecodeHead, self).__init__(*args, **kwargs)
+
+ @abstractmethod
+ def forward(self, inputs, prev_output):
+ """Placeholder of forward function."""
+ pass
+
+ def forward_train(self, inputs, prev_output, img_metas, gt_semantic_seg,
+ train_cfg):
+ """Forward function for training.
+ Args:
+ inputs (list[Tensor]): List of multi-level img features.
+ prev_output (Tensor): The output of previous decode head.
+ img_metas (list[dict]): List of image info dict where each dict
+ has: 'img_shape', 'scale_factor', 'flip', and may also contain
+ 'filename', 'ori_shape', 'pad_shape', and 'img_norm_cfg'.
+ For details on the values of these keys see
+ `mmseg/datasets/pipelines/formatting.py:Collect`.
+ gt_semantic_seg (Tensor): Semantic segmentation masks
+ used if the architecture supports semantic segmentation task.
+ train_cfg (dict): The training config.
+
+ Returns:
+ dict[str, Tensor]: a dictionary of loss components
+ """
+ seg_logits = self.forward(inputs, prev_output)
+ losses = self.losses(seg_logits, gt_semantic_seg)
+
+ return losses
+
+ def forward_test(self, inputs, prev_output, img_metas, test_cfg):
+ """Forward function for testing.
+
+ Args:
+ inputs (list[Tensor]): List of multi-level img features.
+ prev_output (Tensor): The output of previous decode head.
+ img_metas (list[dict]): List of image info dict where each dict
+ has: 'img_shape', 'scale_factor', 'flip', and may also contain
+ 'filename', 'ori_shape', 'pad_shape', and 'img_norm_cfg'.
+ For details on the values of these keys see
+ `mmseg/datasets/pipelines/formatting.py:Collect`.
+ test_cfg (dict): The testing config.
+
+ Returns:
+ Tensor: Output segmentation map.
+ """
+ return self.forward(inputs, prev_output)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/cc_head.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/cc_head.py
new file mode 100644
index 0000000000000000000000000000000000000000..1f4f5b052445a4071952aa04274274da7d897c2c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/cc_head.py
@@ -0,0 +1,45 @@
+import torch
+
+from ..builder import HEADS
+from .fcn_head import FCNHead
+
+try:
+ try:
+ from mmcv.ops import CrissCrossAttention
+ except ImportError:
+ from annotator.mmpkg.mmcv.ops import CrissCrossAttention
+except ModuleNotFoundError:
+ CrissCrossAttention = None
+
+
+@HEADS.register_module()
+class CCHead(FCNHead):
+ """CCNet: Criss-Cross Attention for Semantic Segmentation.
+
+ This head is the implementation of `CCNet
+ `_.
+
+ Args:
+ recurrence (int): Number of recurrence of Criss Cross Attention
+ module. Default: 2.
+ """
+
+ def __init__(self, recurrence=2, **kwargs):
+ if CrissCrossAttention is None:
+ raise RuntimeError('Please install mmcv-full for '
+ 'CrissCrossAttention ops')
+ super(CCHead, self).__init__(num_convs=2, **kwargs)
+ self.recurrence = recurrence
+ self.cca = CrissCrossAttention(self.channels)
+
+ def forward(self, inputs):
+ """Forward function."""
+ x = self._transform_inputs(inputs)
+ output = self.convs[0](x)
+ for _ in range(self.recurrence):
+ output = self.cca(output)
+ output = self.convs[1](output)
+ if self.concat_input:
+ output = self.conv_cat(torch.cat([x, output], dim=1))
+ output = self.cls_seg(output)
+ return output
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/da_head.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/da_head.py
new file mode 100644
index 0000000000000000000000000000000000000000..b0b7616501c04cc0faf92accac9d3fdb6807f9e1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/da_head.py
@@ -0,0 +1,178 @@
+import torch
+import torch.nn.functional as F
+from annotator.mmpkg.mmcv.cnn import ConvModule, Scale
+from torch import nn
+
+from annotator.mmpkg.mmseg.core import add_prefix
+from ..builder import HEADS
+from ..utils import SelfAttentionBlock as _SelfAttentionBlock
+from .decode_head import BaseDecodeHead
+
+
+class PAM(_SelfAttentionBlock):
+ """Position Attention Module (PAM)
+
+ Args:
+ in_channels (int): Input channels of key/query feature.
+ channels (int): Output channels of key/query transform.
+ """
+
+ def __init__(self, in_channels, channels):
+ super(PAM, self).__init__(
+ key_in_channels=in_channels,
+ query_in_channels=in_channels,
+ channels=channels,
+ out_channels=in_channels,
+ share_key_query=False,
+ query_downsample=None,
+ key_downsample=None,
+ key_query_num_convs=1,
+ key_query_norm=False,
+ value_out_num_convs=1,
+ value_out_norm=False,
+ matmul_norm=False,
+ with_out=False,
+ conv_cfg=None,
+ norm_cfg=None,
+ act_cfg=None)
+
+ self.gamma = Scale(0)
+
+ def forward(self, x):
+ """Forward function."""
+ out = super(PAM, self).forward(x, x)
+
+ out = self.gamma(out) + x
+ return out
+
+
+class CAM(nn.Module):
+ """Channel Attention Module (CAM)"""
+
+ def __init__(self):
+ super(CAM, self).__init__()
+ self.gamma = Scale(0)
+
+ def forward(self, x):
+ """Forward function."""
+ batch_size, channels, height, width = x.size()
+ proj_query = x.view(batch_size, channels, -1)
+ proj_key = x.view(batch_size, channels, -1).permute(0, 2, 1)
+ energy = torch.bmm(proj_query, proj_key)
+ energy_new = torch.max(
+ energy, -1, keepdim=True)[0].expand_as(energy) - energy
+ attention = F.softmax(energy_new, dim=-1)
+ proj_value = x.view(batch_size, channels, -1)
+
+ out = torch.bmm(attention, proj_value)
+ out = out.view(batch_size, channels, height, width)
+
+ out = self.gamma(out) + x
+ return out
+
+
+@HEADS.register_module()
+class DAHead(BaseDecodeHead):
+ """Dual Attention Network for Scene Segmentation.
+
+ This head is the implementation of `DANet
+ `_.
+
+ Args:
+ pam_channels (int): The channels of Position Attention Module(PAM).
+ """
+
+ def __init__(self, pam_channels, **kwargs):
+ super(DAHead, self).__init__(**kwargs)
+ self.pam_channels = pam_channels
+ self.pam_in_conv = ConvModule(
+ self.in_channels,
+ self.channels,
+ 3,
+ padding=1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg)
+ self.pam = PAM(self.channels, pam_channels)
+ self.pam_out_conv = ConvModule(
+ self.channels,
+ self.channels,
+ 3,
+ padding=1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg)
+ self.pam_conv_seg = nn.Conv2d(
+ self.channels, self.num_classes, kernel_size=1)
+
+ self.cam_in_conv = ConvModule(
+ self.in_channels,
+ self.channels,
+ 3,
+ padding=1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg)
+ self.cam = CAM()
+ self.cam_out_conv = ConvModule(
+ self.channels,
+ self.channels,
+ 3,
+ padding=1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg)
+ self.cam_conv_seg = nn.Conv2d(
+ self.channels, self.num_classes, kernel_size=1)
+
+ def pam_cls_seg(self, feat):
+ """PAM feature classification."""
+ if self.dropout is not None:
+ feat = self.dropout(feat)
+ output = self.pam_conv_seg(feat)
+ return output
+
+ def cam_cls_seg(self, feat):
+ """CAM feature classification."""
+ if self.dropout is not None:
+ feat = self.dropout(feat)
+ output = self.cam_conv_seg(feat)
+ return output
+
+ def forward(self, inputs):
+ """Forward function."""
+ x = self._transform_inputs(inputs)
+ pam_feat = self.pam_in_conv(x)
+ pam_feat = self.pam(pam_feat)
+ pam_feat = self.pam_out_conv(pam_feat)
+ pam_out = self.pam_cls_seg(pam_feat)
+
+ cam_feat = self.cam_in_conv(x)
+ cam_feat = self.cam(cam_feat)
+ cam_feat = self.cam_out_conv(cam_feat)
+ cam_out = self.cam_cls_seg(cam_feat)
+
+ feat_sum = pam_feat + cam_feat
+ pam_cam_out = self.cls_seg(feat_sum)
+
+ return pam_cam_out, pam_out, cam_out
+
+ def forward_test(self, inputs, img_metas, test_cfg):
+ """Forward function for testing, only ``pam_cam`` is used."""
+ return self.forward(inputs)[0]
+
+ def losses(self, seg_logit, seg_label):
+ """Compute ``pam_cam``, ``pam``, ``cam`` loss."""
+ pam_cam_seg_logit, pam_seg_logit, cam_seg_logit = seg_logit
+ loss = dict()
+ loss.update(
+ add_prefix(
+ super(DAHead, self).losses(pam_cam_seg_logit, seg_label),
+ 'pam_cam'))
+ loss.update(
+ add_prefix(
+ super(DAHead, self).losses(pam_seg_logit, seg_label), 'pam'))
+ loss.update(
+ add_prefix(
+ super(DAHead, self).losses(cam_seg_logit, seg_label), 'cam'))
+ return loss
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/decode_head.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/decode_head.py
new file mode 100644
index 0000000000000000000000000000000000000000..a74c89f2ef1274ffe947995722576ab2c78eaec1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/decode_head.py
@@ -0,0 +1,234 @@
+from abc import ABCMeta, abstractmethod
+
+import torch
+import torch.nn as nn
+from annotator.mmpkg.mmcv.cnn import normal_init
+from annotator.mmpkg.mmcv.runner import auto_fp16, force_fp32
+
+from annotator.mmpkg.mmseg.core import build_pixel_sampler
+from annotator.mmpkg.mmseg.ops import resize
+from ..builder import build_loss
+from ..losses import accuracy
+
+
+class BaseDecodeHead(nn.Module, metaclass=ABCMeta):
+ """Base class for BaseDecodeHead.
+
+ Args:
+ in_channels (int|Sequence[int]): Input channels.
+ channels (int): Channels after modules, before conv_seg.
+ num_classes (int): Number of classes.
+ dropout_ratio (float): Ratio of dropout layer. Default: 0.1.
+ conv_cfg (dict|None): Config of conv layers. Default: None.
+ norm_cfg (dict|None): Config of norm layers. Default: None.
+ act_cfg (dict): Config of activation layers.
+ Default: dict(type='ReLU')
+ in_index (int|Sequence[int]): Input feature index. Default: -1
+ input_transform (str|None): Transformation type of input features.
+ Options: 'resize_concat', 'multiple_select', None.
+ 'resize_concat': Multiple feature maps will be resize to the
+ same size as first one and than concat together.
+ Usually used in FCN head of HRNet.
+ 'multiple_select': Multiple feature maps will be bundle into
+ a list and passed into decode head.
+ None: Only one select feature map is allowed.
+ Default: None.
+ loss_decode (dict): Config of decode loss.
+ Default: dict(type='CrossEntropyLoss').
+ ignore_index (int | None): The label index to be ignored. When using
+ masked BCE loss, ignore_index should be set to None. Default: 255
+ sampler (dict|None): The config of segmentation map sampler.
+ Default: None.
+ align_corners (bool): align_corners argument of F.interpolate.
+ Default: False.
+ """
+
+ def __init__(self,
+ in_channels,
+ channels,
+ *,
+ num_classes,
+ dropout_ratio=0.1,
+ conv_cfg=None,
+ norm_cfg=None,
+ act_cfg=dict(type='ReLU'),
+ in_index=-1,
+ input_transform=None,
+ loss_decode=dict(
+ type='CrossEntropyLoss',
+ use_sigmoid=False,
+ loss_weight=1.0),
+ ignore_index=255,
+ sampler=None,
+ align_corners=False):
+ super(BaseDecodeHead, self).__init__()
+ self._init_inputs(in_channels, in_index, input_transform)
+ self.channels = channels
+ self.num_classes = num_classes
+ self.dropout_ratio = dropout_ratio
+ self.conv_cfg = conv_cfg
+ self.norm_cfg = norm_cfg
+ self.act_cfg = act_cfg
+ self.in_index = in_index
+ self.loss_decode = build_loss(loss_decode)
+ self.ignore_index = ignore_index
+ self.align_corners = align_corners
+ if sampler is not None:
+ self.sampler = build_pixel_sampler(sampler, context=self)
+ else:
+ self.sampler = None
+
+ self.conv_seg = nn.Conv2d(channels, num_classes, kernel_size=1)
+ if dropout_ratio > 0:
+ self.dropout = nn.Dropout2d(dropout_ratio)
+ else:
+ self.dropout = None
+ self.fp16_enabled = False
+
+ def extra_repr(self):
+ """Extra repr."""
+ s = f'input_transform={self.input_transform}, ' \
+ f'ignore_index={self.ignore_index}, ' \
+ f'align_corners={self.align_corners}'
+ return s
+
+ def _init_inputs(self, in_channels, in_index, input_transform):
+ """Check and initialize input transforms.
+
+ The in_channels, in_index and input_transform must match.
+ Specifically, when input_transform is None, only single feature map
+ will be selected. So in_channels and in_index must be of type int.
+ When input_transform
+
+ Args:
+ in_channels (int|Sequence[int]): Input channels.
+ in_index (int|Sequence[int]): Input feature index.
+ input_transform (str|None): Transformation type of input features.
+ Options: 'resize_concat', 'multiple_select', None.
+ 'resize_concat': Multiple feature maps will be resize to the
+ same size as first one and than concat together.
+ Usually used in FCN head of HRNet.
+ 'multiple_select': Multiple feature maps will be bundle into
+ a list and passed into decode head.
+ None: Only one select feature map is allowed.
+ """
+
+ if input_transform is not None:
+ assert input_transform in ['resize_concat', 'multiple_select']
+ self.input_transform = input_transform
+ self.in_index = in_index
+ if input_transform is not None:
+ assert isinstance(in_channels, (list, tuple))
+ assert isinstance(in_index, (list, tuple))
+ assert len(in_channels) == len(in_index)
+ if input_transform == 'resize_concat':
+ self.in_channels = sum(in_channels)
+ else:
+ self.in_channels = in_channels
+ else:
+ assert isinstance(in_channels, int)
+ assert isinstance(in_index, int)
+ self.in_channels = in_channels
+
+ def init_weights(self):
+ """Initialize weights of classification layer."""
+ normal_init(self.conv_seg, mean=0, std=0.01)
+
+ def _transform_inputs(self, inputs):
+ """Transform inputs for decoder.
+
+ Args:
+ inputs (list[Tensor]): List of multi-level img features.
+
+ Returns:
+ Tensor: The transformed inputs
+ """
+
+ if self.input_transform == 'resize_concat':
+ inputs = [inputs[i] for i in self.in_index]
+ upsampled_inputs = [
+ resize(
+ input=x,
+ size=inputs[0].shape[2:],
+ mode='bilinear',
+ align_corners=self.align_corners) for x in inputs
+ ]
+ inputs = torch.cat(upsampled_inputs, dim=1)
+ elif self.input_transform == 'multiple_select':
+ inputs = [inputs[i] for i in self.in_index]
+ else:
+ inputs = inputs[self.in_index]
+
+ return inputs
+
+ @auto_fp16()
+ @abstractmethod
+ def forward(self, inputs):
+ """Placeholder of forward function."""
+ pass
+
+ def forward_train(self, inputs, img_metas, gt_semantic_seg, train_cfg):
+ """Forward function for training.
+ Args:
+ inputs (list[Tensor]): List of multi-level img features.
+ img_metas (list[dict]): List of image info dict where each dict
+ has: 'img_shape', 'scale_factor', 'flip', and may also contain
+ 'filename', 'ori_shape', 'pad_shape', and 'img_norm_cfg'.
+ For details on the values of these keys see
+ `mmseg/datasets/pipelines/formatting.py:Collect`.
+ gt_semantic_seg (Tensor): Semantic segmentation masks
+ used if the architecture supports semantic segmentation task.
+ train_cfg (dict): The training config.
+
+ Returns:
+ dict[str, Tensor]: a dictionary of loss components
+ """
+ seg_logits = self.forward(inputs)
+ losses = self.losses(seg_logits, gt_semantic_seg)
+ return losses
+
+ def forward_test(self, inputs, img_metas, test_cfg):
+ """Forward function for testing.
+
+ Args:
+ inputs (list[Tensor]): List of multi-level img features.
+ img_metas (list[dict]): List of image info dict where each dict
+ has: 'img_shape', 'scale_factor', 'flip', and may also contain
+ 'filename', 'ori_shape', 'pad_shape', and 'img_norm_cfg'.
+ For details on the values of these keys see
+ `mmseg/datasets/pipelines/formatting.py:Collect`.
+ test_cfg (dict): The testing config.
+
+ Returns:
+ Tensor: Output segmentation map.
+ """
+ return self.forward(inputs)
+
+ def cls_seg(self, feat):
+ """Classify each pixel."""
+ if self.dropout is not None:
+ feat = self.dropout(feat)
+ output = self.conv_seg(feat)
+ return output
+
+ @force_fp32(apply_to=('seg_logit', ))
+ def losses(self, seg_logit, seg_label):
+ """Compute segmentation loss."""
+ loss = dict()
+ seg_logit = resize(
+ input=seg_logit,
+ size=seg_label.shape[2:],
+ mode='bilinear',
+ align_corners=self.align_corners)
+ if self.sampler is not None:
+ seg_weight = self.sampler.sample(seg_logit, seg_label)
+ else:
+ seg_weight = None
+ seg_label = seg_label.squeeze(1)
+ loss['loss_seg'] = self.loss_decode(
+ seg_logit,
+ seg_label,
+ weight=seg_weight,
+ ignore_index=self.ignore_index)
+ loss['acc_seg'] = accuracy(seg_logit, seg_label)
+ return loss
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/dm_head.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/dm_head.py
new file mode 100644
index 0000000000000000000000000000000000000000..de6d0f6390d96c1eef4242cdc9aed91ec7714c6a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/dm_head.py
@@ -0,0 +1,140 @@
+import torch
+import torch.nn as nn
+import torch.nn.functional as F
+from annotator.mmpkg.mmcv.cnn import ConvModule, build_activation_layer, build_norm_layer
+
+from ..builder import HEADS
+from .decode_head import BaseDecodeHead
+
+
+class DCM(nn.Module):
+ """Dynamic Convolutional Module used in DMNet.
+
+ Args:
+ filter_size (int): The filter size of generated convolution kernel
+ used in Dynamic Convolutional Module.
+ fusion (bool): Add one conv to fuse DCM output feature.
+ in_channels (int): Input channels.
+ channels (int): Channels after modules, before conv_seg.
+ conv_cfg (dict | None): Config of conv layers.
+ norm_cfg (dict | None): Config of norm layers.
+ act_cfg (dict): Config of activation layers.
+ """
+
+ def __init__(self, filter_size, fusion, in_channels, channels, conv_cfg,
+ norm_cfg, act_cfg):
+ super(DCM, self).__init__()
+ self.filter_size = filter_size
+ self.fusion = fusion
+ self.in_channels = in_channels
+ self.channels = channels
+ self.conv_cfg = conv_cfg
+ self.norm_cfg = norm_cfg
+ self.act_cfg = act_cfg
+ self.filter_gen_conv = nn.Conv2d(self.in_channels, self.channels, 1, 1,
+ 0)
+
+ self.input_redu_conv = ConvModule(
+ self.in_channels,
+ self.channels,
+ 1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg)
+
+ if self.norm_cfg is not None:
+ self.norm = build_norm_layer(self.norm_cfg, self.channels)[1]
+ else:
+ self.norm = None
+ self.activate = build_activation_layer(self.act_cfg)
+
+ if self.fusion:
+ self.fusion_conv = ConvModule(
+ self.channels,
+ self.channels,
+ 1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg)
+
+ def forward(self, x):
+ """Forward function."""
+ generated_filter = self.filter_gen_conv(
+ F.adaptive_avg_pool2d(x, self.filter_size))
+ x = self.input_redu_conv(x)
+ b, c, h, w = x.shape
+ # [1, b * c, h, w], c = self.channels
+ x = x.view(1, b * c, h, w)
+ # [b * c, 1, filter_size, filter_size]
+ generated_filter = generated_filter.view(b * c, 1, self.filter_size,
+ self.filter_size)
+ pad = (self.filter_size - 1) // 2
+ if (self.filter_size - 1) % 2 == 0:
+ p2d = (pad, pad, pad, pad)
+ else:
+ p2d = (pad + 1, pad, pad + 1, pad)
+ x = F.pad(input=x, pad=p2d, mode='constant', value=0)
+ # [1, b * c, h, w]
+ output = F.conv2d(input=x, weight=generated_filter, groups=b * c)
+ # [b, c, h, w]
+ output = output.view(b, c, h, w)
+ if self.norm is not None:
+ output = self.norm(output)
+ output = self.activate(output)
+
+ if self.fusion:
+ output = self.fusion_conv(output)
+
+ return output
+
+
+@HEADS.register_module()
+class DMHead(BaseDecodeHead):
+ """Dynamic Multi-scale Filters for Semantic Segmentation.
+
+ This head is the implementation of
+ `DMNet `_.
+
+ Args:
+ filter_sizes (tuple[int]): The size of generated convolutional filters
+ used in Dynamic Convolutional Module. Default: (1, 3, 5, 7).
+ fusion (bool): Add one conv to fuse DCM output feature.
+ """
+
+ def __init__(self, filter_sizes=(1, 3, 5, 7), fusion=False, **kwargs):
+ super(DMHead, self).__init__(**kwargs)
+ assert isinstance(filter_sizes, (list, tuple))
+ self.filter_sizes = filter_sizes
+ self.fusion = fusion
+ dcm_modules = []
+ for filter_size in self.filter_sizes:
+ dcm_modules.append(
+ DCM(filter_size,
+ self.fusion,
+ self.in_channels,
+ self.channels,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg))
+ self.dcm_modules = nn.ModuleList(dcm_modules)
+ self.bottleneck = ConvModule(
+ self.in_channels + len(filter_sizes) * self.channels,
+ self.channels,
+ 3,
+ padding=1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg)
+
+ def forward(self, inputs):
+ """Forward function."""
+ x = self._transform_inputs(inputs)
+ dcm_outs = [x]
+ for dcm_module in self.dcm_modules:
+ dcm_outs.append(dcm_module(x))
+ dcm_outs = torch.cat(dcm_outs, dim=1)
+ output = self.bottleneck(dcm_outs)
+ output = self.cls_seg(output)
+ return output
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/dnl_head.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/dnl_head.py
new file mode 100644
index 0000000000000000000000000000000000000000..b3bb1de1499ad043cc51b2269b4d970d07c16076
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/dnl_head.py
@@ -0,0 +1,131 @@
+import torch
+from annotator.mmpkg.mmcv.cnn import NonLocal2d
+from torch import nn
+
+from ..builder import HEADS
+from .fcn_head import FCNHead
+
+
+class DisentangledNonLocal2d(NonLocal2d):
+ """Disentangled Non-Local Blocks.
+
+ Args:
+ temperature (float): Temperature to adjust attention. Default: 0.05
+ """
+
+ def __init__(self, *arg, temperature, **kwargs):
+ super().__init__(*arg, **kwargs)
+ self.temperature = temperature
+ self.conv_mask = nn.Conv2d(self.in_channels, 1, kernel_size=1)
+
+ def embedded_gaussian(self, theta_x, phi_x):
+ """Embedded gaussian with temperature."""
+
+ # NonLocal2d pairwise_weight: [N, HxW, HxW]
+ pairwise_weight = torch.matmul(theta_x, phi_x)
+ if self.use_scale:
+ # theta_x.shape[-1] is `self.inter_channels`
+ pairwise_weight /= theta_x.shape[-1]**0.5
+ pairwise_weight /= self.temperature
+ pairwise_weight = pairwise_weight.softmax(dim=-1)
+ return pairwise_weight
+
+ def forward(self, x):
+ # x: [N, C, H, W]
+ n = x.size(0)
+
+ # g_x: [N, HxW, C]
+ g_x = self.g(x).view(n, self.inter_channels, -1)
+ g_x = g_x.permute(0, 2, 1)
+
+ # theta_x: [N, HxW, C], phi_x: [N, C, HxW]
+ if self.mode == 'gaussian':
+ theta_x = x.view(n, self.in_channels, -1)
+ theta_x = theta_x.permute(0, 2, 1)
+ if self.sub_sample:
+ phi_x = self.phi(x).view(n, self.in_channels, -1)
+ else:
+ phi_x = x.view(n, self.in_channels, -1)
+ elif self.mode == 'concatenation':
+ theta_x = self.theta(x).view(n, self.inter_channels, -1, 1)
+ phi_x = self.phi(x).view(n, self.inter_channels, 1, -1)
+ else:
+ theta_x = self.theta(x).view(n, self.inter_channels, -1)
+ theta_x = theta_x.permute(0, 2, 1)
+ phi_x = self.phi(x).view(n, self.inter_channels, -1)
+
+ # subtract mean
+ theta_x -= theta_x.mean(dim=-2, keepdim=True)
+ phi_x -= phi_x.mean(dim=-1, keepdim=True)
+
+ pairwise_func = getattr(self, self.mode)
+ # pairwise_weight: [N, HxW, HxW]
+ pairwise_weight = pairwise_func(theta_x, phi_x)
+
+ # y: [N, HxW, C]
+ y = torch.matmul(pairwise_weight, g_x)
+ # y: [N, C, H, W]
+ y = y.permute(0, 2, 1).contiguous().reshape(n, self.inter_channels,
+ *x.size()[2:])
+
+ # unary_mask: [N, 1, HxW]
+ unary_mask = self.conv_mask(x)
+ unary_mask = unary_mask.view(n, 1, -1)
+ unary_mask = unary_mask.softmax(dim=-1)
+ # unary_x: [N, 1, C]
+ unary_x = torch.matmul(unary_mask, g_x)
+ # unary_x: [N, C, 1, 1]
+ unary_x = unary_x.permute(0, 2, 1).contiguous().reshape(
+ n, self.inter_channels, 1, 1)
+
+ output = x + self.conv_out(y + unary_x)
+
+ return output
+
+
+@HEADS.register_module()
+class DNLHead(FCNHead):
+ """Disentangled Non-Local Neural Networks.
+
+ This head is the implementation of `DNLNet
+ `_.
+
+ Args:
+ reduction (int): Reduction factor of projection transform. Default: 2.
+ use_scale (bool): Whether to scale pairwise_weight by
+ sqrt(1/inter_channels). Default: False.
+ mode (str): The nonlocal mode. Options are 'embedded_gaussian',
+ 'dot_product'. Default: 'embedded_gaussian.'.
+ temperature (float): Temperature to adjust attention. Default: 0.05
+ """
+
+ def __init__(self,
+ reduction=2,
+ use_scale=True,
+ mode='embedded_gaussian',
+ temperature=0.05,
+ **kwargs):
+ super(DNLHead, self).__init__(num_convs=2, **kwargs)
+ self.reduction = reduction
+ self.use_scale = use_scale
+ self.mode = mode
+ self.temperature = temperature
+ self.dnl_block = DisentangledNonLocal2d(
+ in_channels=self.channels,
+ reduction=self.reduction,
+ use_scale=self.use_scale,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ mode=self.mode,
+ temperature=self.temperature)
+
+ def forward(self, inputs):
+ """Forward function."""
+ x = self._transform_inputs(inputs)
+ output = self.convs[0](x)
+ output = self.dnl_block(output)
+ output = self.convs[1](output)
+ if self.concat_input:
+ output = self.conv_cat(torch.cat([x, output], dim=1))
+ output = self.cls_seg(output)
+ return output
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/ema_head.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/ema_head.py
new file mode 100644
index 0000000000000000000000000000000000000000..aaebae7b25579cabcd3967da765568a282869a49
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/ema_head.py
@@ -0,0 +1,168 @@
+import math
+
+import torch
+import torch.distributed as dist
+import torch.nn as nn
+import torch.nn.functional as F
+from annotator.mmpkg.mmcv.cnn import ConvModule
+
+from ..builder import HEADS
+from .decode_head import BaseDecodeHead
+
+
+def reduce_mean(tensor):
+ """Reduce mean when distributed training."""
+ if not (dist.is_available() and dist.is_initialized()):
+ return tensor
+ tensor = tensor.clone()
+ dist.all_reduce(tensor.div_(dist.get_world_size()), op=dist.ReduceOp.SUM)
+ return tensor
+
+
+class EMAModule(nn.Module):
+ """Expectation Maximization Attention Module used in EMANet.
+
+ Args:
+ channels (int): Channels of the whole module.
+ num_bases (int): Number of bases.
+ num_stages (int): Number of the EM iterations.
+ """
+
+ def __init__(self, channels, num_bases, num_stages, momentum):
+ super(EMAModule, self).__init__()
+ assert num_stages >= 1, 'num_stages must be at least 1!'
+ self.num_bases = num_bases
+ self.num_stages = num_stages
+ self.momentum = momentum
+
+ bases = torch.zeros(1, channels, self.num_bases)
+ bases.normal_(0, math.sqrt(2. / self.num_bases))
+ # [1, channels, num_bases]
+ bases = F.normalize(bases, dim=1, p=2)
+ self.register_buffer('bases', bases)
+
+ def forward(self, feats):
+ """Forward function."""
+ batch_size, channels, height, width = feats.size()
+ # [batch_size, channels, height*width]
+ feats = feats.view(batch_size, channels, height * width)
+ # [batch_size, channels, num_bases]
+ bases = self.bases.repeat(batch_size, 1, 1)
+
+ with torch.no_grad():
+ for i in range(self.num_stages):
+ # [batch_size, height*width, num_bases]
+ attention = torch.einsum('bcn,bck->bnk', feats, bases)
+ attention = F.softmax(attention, dim=2)
+ # l1 norm
+ attention_normed = F.normalize(attention, dim=1, p=1)
+ # [batch_size, channels, num_bases]
+ bases = torch.einsum('bcn,bnk->bck', feats, attention_normed)
+ # l2 norm
+ bases = F.normalize(bases, dim=1, p=2)
+
+ feats_recon = torch.einsum('bck,bnk->bcn', bases, attention)
+ feats_recon = feats_recon.view(batch_size, channels, height, width)
+
+ if self.training:
+ bases = bases.mean(dim=0, keepdim=True)
+ bases = reduce_mean(bases)
+ # l2 norm
+ bases = F.normalize(bases, dim=1, p=2)
+ self.bases = (1 -
+ self.momentum) * self.bases + self.momentum * bases
+
+ return feats_recon
+
+
+@HEADS.register_module()
+class EMAHead(BaseDecodeHead):
+ """Expectation Maximization Attention Networks for Semantic Segmentation.
+
+ This head is the implementation of `EMANet
+ `_.
+
+ Args:
+ ema_channels (int): EMA module channels
+ num_bases (int): Number of bases.
+ num_stages (int): Number of the EM iterations.
+ concat_input (bool): Whether concat the input and output of convs
+ before classification layer. Default: True
+ momentum (float): Momentum to update the base. Default: 0.1.
+ """
+
+ def __init__(self,
+ ema_channels,
+ num_bases,
+ num_stages,
+ concat_input=True,
+ momentum=0.1,
+ **kwargs):
+ super(EMAHead, self).__init__(**kwargs)
+ self.ema_channels = ema_channels
+ self.num_bases = num_bases
+ self.num_stages = num_stages
+ self.concat_input = concat_input
+ self.momentum = momentum
+ self.ema_module = EMAModule(self.ema_channels, self.num_bases,
+ self.num_stages, self.momentum)
+
+ self.ema_in_conv = ConvModule(
+ self.in_channels,
+ self.ema_channels,
+ 3,
+ padding=1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg)
+ # project (0, inf) -> (-inf, inf)
+ self.ema_mid_conv = ConvModule(
+ self.ema_channels,
+ self.ema_channels,
+ 1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=None,
+ act_cfg=None)
+ for param in self.ema_mid_conv.parameters():
+ param.requires_grad = False
+
+ self.ema_out_conv = ConvModule(
+ self.ema_channels,
+ self.ema_channels,
+ 1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=None)
+ self.bottleneck = ConvModule(
+ self.ema_channels,
+ self.channels,
+ 3,
+ padding=1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg)
+ if self.concat_input:
+ self.conv_cat = ConvModule(
+ self.in_channels + self.channels,
+ self.channels,
+ kernel_size=3,
+ padding=1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg)
+
+ def forward(self, inputs):
+ """Forward function."""
+ x = self._transform_inputs(inputs)
+ feats = self.ema_in_conv(x)
+ identity = feats
+ feats = self.ema_mid_conv(feats)
+ recon = self.ema_module(feats)
+ recon = F.relu(recon, inplace=True)
+ recon = self.ema_out_conv(recon)
+ output = F.relu(identity + recon, inplace=True)
+ output = self.bottleneck(output)
+ if self.concat_input:
+ output = self.conv_cat(torch.cat([x, output], dim=1))
+ output = self.cls_seg(output)
+ return output
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/enc_head.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/enc_head.py
new file mode 100644
index 0000000000000000000000000000000000000000..4c2a22a90b26f3264f63234694f0f290a7891ea2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/enc_head.py
@@ -0,0 +1,187 @@
+import torch
+import torch.nn as nn
+import torch.nn.functional as F
+from annotator.mmpkg.mmcv.cnn import ConvModule, build_norm_layer
+
+from annotator.mmpkg.mmseg.ops import Encoding, resize
+from ..builder import HEADS, build_loss
+from .decode_head import BaseDecodeHead
+
+
+class EncModule(nn.Module):
+ """Encoding Module used in EncNet.
+
+ Args:
+ in_channels (int): Input channels.
+ num_codes (int): Number of code words.
+ conv_cfg (dict|None): Config of conv layers.
+ norm_cfg (dict|None): Config of norm layers.
+ act_cfg (dict): Config of activation layers.
+ """
+
+ def __init__(self, in_channels, num_codes, conv_cfg, norm_cfg, act_cfg):
+ super(EncModule, self).__init__()
+ self.encoding_project = ConvModule(
+ in_channels,
+ in_channels,
+ 1,
+ conv_cfg=conv_cfg,
+ norm_cfg=norm_cfg,
+ act_cfg=act_cfg)
+ # TODO: resolve this hack
+ # change to 1d
+ if norm_cfg is not None:
+ encoding_norm_cfg = norm_cfg.copy()
+ if encoding_norm_cfg['type'] in ['BN', 'IN']:
+ encoding_norm_cfg['type'] += '1d'
+ else:
+ encoding_norm_cfg['type'] = encoding_norm_cfg['type'].replace(
+ '2d', '1d')
+ else:
+ # fallback to BN1d
+ encoding_norm_cfg = dict(type='BN1d')
+ self.encoding = nn.Sequential(
+ Encoding(channels=in_channels, num_codes=num_codes),
+ build_norm_layer(encoding_norm_cfg, num_codes)[1],
+ nn.ReLU(inplace=True))
+ self.fc = nn.Sequential(
+ nn.Linear(in_channels, in_channels), nn.Sigmoid())
+
+ def forward(self, x):
+ """Forward function."""
+ encoding_projection = self.encoding_project(x)
+ encoding_feat = self.encoding(encoding_projection).mean(dim=1)
+ batch_size, channels, _, _ = x.size()
+ gamma = self.fc(encoding_feat)
+ y = gamma.view(batch_size, channels, 1, 1)
+ output = F.relu_(x + x * y)
+ return encoding_feat, output
+
+
+@HEADS.register_module()
+class EncHead(BaseDecodeHead):
+ """Context Encoding for Semantic Segmentation.
+
+ This head is the implementation of `EncNet
+ `_.
+
+ Args:
+ num_codes (int): Number of code words. Default: 32.
+ use_se_loss (bool): Whether use Semantic Encoding Loss (SE-loss) to
+ regularize the training. Default: True.
+ add_lateral (bool): Whether use lateral connection to fuse features.
+ Default: False.
+ loss_se_decode (dict): Config of decode loss.
+ Default: dict(type='CrossEntropyLoss', use_sigmoid=True).
+ """
+
+ def __init__(self,
+ num_codes=32,
+ use_se_loss=True,
+ add_lateral=False,
+ loss_se_decode=dict(
+ type='CrossEntropyLoss',
+ use_sigmoid=True,
+ loss_weight=0.2),
+ **kwargs):
+ super(EncHead, self).__init__(
+ input_transform='multiple_select', **kwargs)
+ self.use_se_loss = use_se_loss
+ self.add_lateral = add_lateral
+ self.num_codes = num_codes
+ self.bottleneck = ConvModule(
+ self.in_channels[-1],
+ self.channels,
+ 3,
+ padding=1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg)
+ if add_lateral:
+ self.lateral_convs = nn.ModuleList()
+ for in_channels in self.in_channels[:-1]: # skip the last one
+ self.lateral_convs.append(
+ ConvModule(
+ in_channels,
+ self.channels,
+ 1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg))
+ self.fusion = ConvModule(
+ len(self.in_channels) * self.channels,
+ self.channels,
+ 3,
+ padding=1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg)
+ self.enc_module = EncModule(
+ self.channels,
+ num_codes=num_codes,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg)
+ if self.use_se_loss:
+ self.loss_se_decode = build_loss(loss_se_decode)
+ self.se_layer = nn.Linear(self.channels, self.num_classes)
+
+ def forward(self, inputs):
+ """Forward function."""
+ inputs = self._transform_inputs(inputs)
+ feat = self.bottleneck(inputs[-1])
+ if self.add_lateral:
+ laterals = [
+ resize(
+ lateral_conv(inputs[i]),
+ size=feat.shape[2:],
+ mode='bilinear',
+ align_corners=self.align_corners)
+ for i, lateral_conv in enumerate(self.lateral_convs)
+ ]
+ feat = self.fusion(torch.cat([feat, *laterals], 1))
+ encode_feat, output = self.enc_module(feat)
+ output = self.cls_seg(output)
+ if self.use_se_loss:
+ se_output = self.se_layer(encode_feat)
+ return output, se_output
+ else:
+ return output
+
+ def forward_test(self, inputs, img_metas, test_cfg):
+ """Forward function for testing, ignore se_loss."""
+ if self.use_se_loss:
+ return self.forward(inputs)[0]
+ else:
+ return self.forward(inputs)
+
+ @staticmethod
+ def _convert_to_onehot_labels(seg_label, num_classes):
+ """Convert segmentation label to onehot.
+
+ Args:
+ seg_label (Tensor): Segmentation label of shape (N, H, W).
+ num_classes (int): Number of classes.
+
+ Returns:
+ Tensor: Onehot labels of shape (N, num_classes).
+ """
+
+ batch_size = seg_label.size(0)
+ onehot_labels = seg_label.new_zeros((batch_size, num_classes))
+ for i in range(batch_size):
+ hist = seg_label[i].float().histc(
+ bins=num_classes, min=0, max=num_classes - 1)
+ onehot_labels[i] = hist > 0
+ return onehot_labels
+
+ def losses(self, seg_logit, seg_label):
+ """Compute segmentation and semantic encoding loss."""
+ seg_logit, se_seg_logit = seg_logit
+ loss = dict()
+ loss.update(super(EncHead, self).losses(seg_logit, seg_label))
+ se_loss = self.loss_se_decode(
+ se_seg_logit,
+ self._convert_to_onehot_labels(seg_label, self.num_classes))
+ loss['loss_se'] = se_loss
+ return loss
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/fcn_head.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/fcn_head.py
new file mode 100644
index 0000000000000000000000000000000000000000..c4583c57246e8e3b1d15d240b943d046afa5cba5
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/fcn_head.py
@@ -0,0 +1,81 @@
+import torch
+import torch.nn as nn
+from annotator.mmpkg.mmcv.cnn import ConvModule
+
+from ..builder import HEADS
+from .decode_head import BaseDecodeHead
+
+
+@HEADS.register_module()
+class FCNHead(BaseDecodeHead):
+ """Fully Convolution Networks for Semantic Segmentation.
+
+ This head is implemented of `FCNNet `_.
+
+ Args:
+ num_convs (int): Number of convs in the head. Default: 2.
+ kernel_size (int): The kernel size for convs in the head. Default: 3.
+ concat_input (bool): Whether concat the input and output of convs
+ before classification layer.
+ dilation (int): The dilation rate for convs in the head. Default: 1.
+ """
+
+ def __init__(self,
+ num_convs=2,
+ kernel_size=3,
+ concat_input=True,
+ dilation=1,
+ **kwargs):
+ assert num_convs >= 0 and dilation > 0 and isinstance(dilation, int)
+ self.num_convs = num_convs
+ self.concat_input = concat_input
+ self.kernel_size = kernel_size
+ super(FCNHead, self).__init__(**kwargs)
+ if num_convs == 0:
+ assert self.in_channels == self.channels
+
+ conv_padding = (kernel_size // 2) * dilation
+ convs = []
+ convs.append(
+ ConvModule(
+ self.in_channels,
+ self.channels,
+ kernel_size=kernel_size,
+ padding=conv_padding,
+ dilation=dilation,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg))
+ for i in range(num_convs - 1):
+ convs.append(
+ ConvModule(
+ self.channels,
+ self.channels,
+ kernel_size=kernel_size,
+ padding=conv_padding,
+ dilation=dilation,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg))
+ if num_convs == 0:
+ self.convs = nn.Identity()
+ else:
+ self.convs = nn.Sequential(*convs)
+ if self.concat_input:
+ self.conv_cat = ConvModule(
+ self.in_channels + self.channels,
+ self.channels,
+ kernel_size=kernel_size,
+ padding=kernel_size // 2,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg)
+
+ def forward(self, inputs):
+ """Forward function."""
+ x = self._transform_inputs(inputs)
+ output = self.convs(x)
+ if self.concat_input:
+ output = self.conv_cat(torch.cat([x, output], dim=1))
+ output = self.cls_seg(output)
+ return output
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/fpn_head.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/fpn_head.py
new file mode 100644
index 0000000000000000000000000000000000000000..1a9ba39eebc406bfa422dc98eeaa32a800008a83
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/fpn_head.py
@@ -0,0 +1,68 @@
+import numpy as np
+import torch.nn as nn
+from annotator.mmpkg.mmcv.cnn import ConvModule
+
+from annotator.mmpkg.mmseg.ops import resize
+from ..builder import HEADS
+from .decode_head import BaseDecodeHead
+
+
+@HEADS.register_module()
+class FPNHead(BaseDecodeHead):
+ """Panoptic Feature Pyramid Networks.
+
+ This head is the implementation of `Semantic FPN
+ `_.
+
+ Args:
+ feature_strides (tuple[int]): The strides for input feature maps.
+ stack_lateral. All strides suppose to be power of 2. The first
+ one is of largest resolution.
+ """
+
+ def __init__(self, feature_strides, **kwargs):
+ super(FPNHead, self).__init__(
+ input_transform='multiple_select', **kwargs)
+ assert len(feature_strides) == len(self.in_channels)
+ assert min(feature_strides) == feature_strides[0]
+ self.feature_strides = feature_strides
+
+ self.scale_heads = nn.ModuleList()
+ for i in range(len(feature_strides)):
+ head_length = max(
+ 1,
+ int(np.log2(feature_strides[i]) - np.log2(feature_strides[0])))
+ scale_head = []
+ for k in range(head_length):
+ scale_head.append(
+ ConvModule(
+ self.in_channels[i] if k == 0 else self.channels,
+ self.channels,
+ 3,
+ padding=1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg))
+ if feature_strides[i] != feature_strides[0]:
+ scale_head.append(
+ nn.Upsample(
+ scale_factor=2,
+ mode='bilinear',
+ align_corners=self.align_corners))
+ self.scale_heads.append(nn.Sequential(*scale_head))
+
+ def forward(self, inputs):
+
+ x = self._transform_inputs(inputs)
+
+ output = self.scale_heads[0](x[0])
+ for i in range(1, len(self.feature_strides)):
+ # non inplace
+ output = output + resize(
+ self.scale_heads[i](x[i]),
+ size=output.shape[2:],
+ mode='bilinear',
+ align_corners=self.align_corners)
+
+ output = self.cls_seg(output)
+ return output
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/gc_head.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/gc_head.py
new file mode 100644
index 0000000000000000000000000000000000000000..6342811f67e4affac7886c8fc745a28abcc32c55
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/gc_head.py
@@ -0,0 +1,47 @@
+import torch
+from annotator.mmpkg.mmcv.cnn import ContextBlock
+
+from ..builder import HEADS
+from .fcn_head import FCNHead
+
+
+@HEADS.register_module()
+class GCHead(FCNHead):
+ """GCNet: Non-local Networks Meet Squeeze-Excitation Networks and Beyond.
+
+ This head is the implementation of `GCNet
+ `_.
+
+ Args:
+ ratio (float): Multiplier of channels ratio. Default: 1/4.
+ pooling_type (str): The pooling type of context aggregation.
+ Options are 'att', 'avg'. Default: 'avg'.
+ fusion_types (tuple[str]): The fusion type for feature fusion.
+ Options are 'channel_add', 'channel_mul'. Default: ('channel_add',)
+ """
+
+ def __init__(self,
+ ratio=1 / 4.,
+ pooling_type='att',
+ fusion_types=('channel_add', ),
+ **kwargs):
+ super(GCHead, self).__init__(num_convs=2, **kwargs)
+ self.ratio = ratio
+ self.pooling_type = pooling_type
+ self.fusion_types = fusion_types
+ self.gc_block = ContextBlock(
+ in_channels=self.channels,
+ ratio=self.ratio,
+ pooling_type=self.pooling_type,
+ fusion_types=self.fusion_types)
+
+ def forward(self, inputs):
+ """Forward function."""
+ x = self._transform_inputs(inputs)
+ output = self.convs[0](x)
+ output = self.gc_block(output)
+ output = self.convs[1](output)
+ if self.concat_input:
+ output = self.conv_cat(torch.cat([x, output], dim=1))
+ output = self.cls_seg(output)
+ return output
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/lraspp_head.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/lraspp_head.py
new file mode 100644
index 0000000000000000000000000000000000000000..b29d80e77d05cc0c12118e335e266a73bda99ed0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/lraspp_head.py
@@ -0,0 +1,90 @@
+import torch
+import torch.nn as nn
+from annotator.mmpkg.mmcv import is_tuple_of
+from annotator.mmpkg.mmcv.cnn import ConvModule
+
+from annotator.mmpkg.mmseg.ops import resize
+from ..builder import HEADS
+from .decode_head import BaseDecodeHead
+
+
+@HEADS.register_module()
+class LRASPPHead(BaseDecodeHead):
+ """Lite R-ASPP (LRASPP) head is proposed in Searching for MobileNetV3.
+
+ This head is the improved implementation of `Searching for MobileNetV3
+ `_.
+
+ Args:
+ branch_channels (tuple[int]): The number of output channels in every
+ each branch. Default: (32, 64).
+ """
+
+ def __init__(self, branch_channels=(32, 64), **kwargs):
+ super(LRASPPHead, self).__init__(**kwargs)
+ if self.input_transform != 'multiple_select':
+ raise ValueError('in Lite R-ASPP (LRASPP) head, input_transform '
+ f'must be \'multiple_select\'. But received '
+ f'\'{self.input_transform}\'')
+ assert is_tuple_of(branch_channels, int)
+ assert len(branch_channels) == len(self.in_channels) - 1
+ self.branch_channels = branch_channels
+
+ self.convs = nn.Sequential()
+ self.conv_ups = nn.Sequential()
+ for i in range(len(branch_channels)):
+ self.convs.add_module(
+ f'conv{i}',
+ nn.Conv2d(
+ self.in_channels[i], branch_channels[i], 1, bias=False))
+ self.conv_ups.add_module(
+ f'conv_up{i}',
+ ConvModule(
+ self.channels + branch_channels[i],
+ self.channels,
+ 1,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg,
+ bias=False))
+
+ self.conv_up_input = nn.Conv2d(self.channels, self.channels, 1)
+
+ self.aspp_conv = ConvModule(
+ self.in_channels[-1],
+ self.channels,
+ 1,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg,
+ bias=False)
+ self.image_pool = nn.Sequential(
+ nn.AvgPool2d(kernel_size=49, stride=(16, 20)),
+ ConvModule(
+ self.in_channels[2],
+ self.channels,
+ 1,
+ act_cfg=dict(type='Sigmoid'),
+ bias=False))
+
+ def forward(self, inputs):
+ """Forward function."""
+ inputs = self._transform_inputs(inputs)
+
+ x = inputs[-1]
+
+ x = self.aspp_conv(x) * resize(
+ self.image_pool(x),
+ size=x.size()[2:],
+ mode='bilinear',
+ align_corners=self.align_corners)
+ x = self.conv_up_input(x)
+
+ for i in range(len(self.branch_channels) - 1, -1, -1):
+ x = resize(
+ x,
+ size=inputs[i].size()[2:],
+ mode='bilinear',
+ align_corners=self.align_corners)
+ x = torch.cat([x, self.convs[i](inputs[i])], 1)
+ x = self.conv_ups[i](x)
+
+ return self.cls_seg(x)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/nl_head.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/nl_head.py
new file mode 100644
index 0000000000000000000000000000000000000000..5990df1b8b0d57cfa772ec1b6b6be20a8f667ce7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/nl_head.py
@@ -0,0 +1,49 @@
+import torch
+from annotator.mmpkg.mmcv.cnn import NonLocal2d
+
+from ..builder import HEADS
+from .fcn_head import FCNHead
+
+
+@HEADS.register_module()
+class NLHead(FCNHead):
+ """Non-local Neural Networks.
+
+ This head is the implementation of `NLNet
+ `_.
+
+ Args:
+ reduction (int): Reduction factor of projection transform. Default: 2.
+ use_scale (bool): Whether to scale pairwise_weight by
+ sqrt(1/inter_channels). Default: True.
+ mode (str): The nonlocal mode. Options are 'embedded_gaussian',
+ 'dot_product'. Default: 'embedded_gaussian.'.
+ """
+
+ def __init__(self,
+ reduction=2,
+ use_scale=True,
+ mode='embedded_gaussian',
+ **kwargs):
+ super(NLHead, self).__init__(num_convs=2, **kwargs)
+ self.reduction = reduction
+ self.use_scale = use_scale
+ self.mode = mode
+ self.nl_block = NonLocal2d(
+ in_channels=self.channels,
+ reduction=self.reduction,
+ use_scale=self.use_scale,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ mode=self.mode)
+
+ def forward(self, inputs):
+ """Forward function."""
+ x = self._transform_inputs(inputs)
+ output = self.convs[0](x)
+ output = self.nl_block(output)
+ output = self.convs[1](output)
+ if self.concat_input:
+ output = self.conv_cat(torch.cat([x, output], dim=1))
+ output = self.cls_seg(output)
+ return output
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/ocr_head.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/ocr_head.py
new file mode 100644
index 0000000000000000000000000000000000000000..c46d10e5baff54e182af0426a1ecfea9ca190a9f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/ocr_head.py
@@ -0,0 +1,127 @@
+import torch
+import torch.nn as nn
+import torch.nn.functional as F
+from annotator.mmpkg.mmcv.cnn import ConvModule
+
+from annotator.mmpkg.mmseg.ops import resize
+from ..builder import HEADS
+from ..utils import SelfAttentionBlock as _SelfAttentionBlock
+from .cascade_decode_head import BaseCascadeDecodeHead
+
+
+class SpatialGatherModule(nn.Module):
+ """Aggregate the context features according to the initial predicted
+ probability distribution.
+
+ Employ the soft-weighted method to aggregate the context.
+ """
+
+ def __init__(self, scale):
+ super(SpatialGatherModule, self).__init__()
+ self.scale = scale
+
+ def forward(self, feats, probs):
+ """Forward function."""
+ batch_size, num_classes, height, width = probs.size()
+ channels = feats.size(1)
+ probs = probs.view(batch_size, num_classes, -1)
+ feats = feats.view(batch_size, channels, -1)
+ # [batch_size, height*width, num_classes]
+ feats = feats.permute(0, 2, 1)
+ # [batch_size, channels, height*width]
+ probs = F.softmax(self.scale * probs, dim=2)
+ # [batch_size, channels, num_classes]
+ ocr_context = torch.matmul(probs, feats)
+ ocr_context = ocr_context.permute(0, 2, 1).contiguous().unsqueeze(3)
+ return ocr_context
+
+
+class ObjectAttentionBlock(_SelfAttentionBlock):
+ """Make a OCR used SelfAttentionBlock."""
+
+ def __init__(self, in_channels, channels, scale, conv_cfg, norm_cfg,
+ act_cfg):
+ if scale > 1:
+ query_downsample = nn.MaxPool2d(kernel_size=scale)
+ else:
+ query_downsample = None
+ super(ObjectAttentionBlock, self).__init__(
+ key_in_channels=in_channels,
+ query_in_channels=in_channels,
+ channels=channels,
+ out_channels=in_channels,
+ share_key_query=False,
+ query_downsample=query_downsample,
+ key_downsample=None,
+ key_query_num_convs=2,
+ key_query_norm=True,
+ value_out_num_convs=1,
+ value_out_norm=True,
+ matmul_norm=True,
+ with_out=True,
+ conv_cfg=conv_cfg,
+ norm_cfg=norm_cfg,
+ act_cfg=act_cfg)
+ self.bottleneck = ConvModule(
+ in_channels * 2,
+ in_channels,
+ 1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg)
+
+ def forward(self, query_feats, key_feats):
+ """Forward function."""
+ context = super(ObjectAttentionBlock,
+ self).forward(query_feats, key_feats)
+ output = self.bottleneck(torch.cat([context, query_feats], dim=1))
+ if self.query_downsample is not None:
+ output = resize(query_feats)
+
+ return output
+
+
+@HEADS.register_module()
+class OCRHead(BaseCascadeDecodeHead):
+ """Object-Contextual Representations for Semantic Segmentation.
+
+ This head is the implementation of `OCRNet
+ `_.
+
+ Args:
+ ocr_channels (int): The intermediate channels of OCR block.
+ scale (int): The scale of probability map in SpatialGatherModule in
+ Default: 1.
+ """
+
+ def __init__(self, ocr_channels, scale=1, **kwargs):
+ super(OCRHead, self).__init__(**kwargs)
+ self.ocr_channels = ocr_channels
+ self.scale = scale
+ self.object_context_block = ObjectAttentionBlock(
+ self.channels,
+ self.ocr_channels,
+ self.scale,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg)
+ self.spatial_gather_module = SpatialGatherModule(self.scale)
+
+ self.bottleneck = ConvModule(
+ self.in_channels,
+ self.channels,
+ 3,
+ padding=1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg)
+
+ def forward(self, inputs, prev_output):
+ """Forward function."""
+ x = self._transform_inputs(inputs)
+ feats = self.bottleneck(x)
+ context = self.spatial_gather_module(feats, prev_output)
+ object_context = self.object_context_block(feats, context)
+ output = self.cls_seg(object_context)
+
+ return output
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/point_head.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/point_head.py
new file mode 100644
index 0000000000000000000000000000000000000000..c6782763e30386d99115977ebe5a4d9291bae8d9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/point_head.py
@@ -0,0 +1,354 @@
+# Modified from https://github.com/facebookresearch/detectron2/tree/master/projects/PointRend/point_head/point_head.py # noqa
+
+import torch
+import torch.nn as nn
+
+try:
+ from mmcv.cnn import ConvModule, normal_init
+ from mmcv.ops import point_sample
+except ImportError:
+ from annotator.mmpkg.mmcv.cnn import ConvModule, normal_init
+ from annotator.mmpkg.mmcv.ops import point_sample
+
+from annotator.mmpkg.mmseg.models.builder import HEADS
+from annotator.mmpkg.mmseg.ops import resize
+from ..losses import accuracy
+from .cascade_decode_head import BaseCascadeDecodeHead
+
+
+def calculate_uncertainty(seg_logits):
+ """Estimate uncertainty based on seg logits.
+
+ For each location of the prediction ``seg_logits`` we estimate
+ uncertainty as the difference between top first and top second
+ predicted logits.
+
+ Args:
+ seg_logits (Tensor): Semantic segmentation logits,
+ shape (batch_size, num_classes, height, width).
+
+ Returns:
+ scores (Tensor): T uncertainty scores with the most uncertain
+ locations having the highest uncertainty score, shape (
+ batch_size, 1, height, width)
+ """
+ top2_scores = torch.topk(seg_logits, k=2, dim=1)[0]
+ return (top2_scores[:, 1] - top2_scores[:, 0]).unsqueeze(1)
+
+
+@HEADS.register_module()
+class PointHead(BaseCascadeDecodeHead):
+ """A mask point head use in PointRend.
+
+ ``PointHead`` use shared multi-layer perceptron (equivalent to
+ nn.Conv1d) to predict the logit of input points. The fine-grained feature
+ and coarse feature will be concatenate together for predication.
+
+ Args:
+ num_fcs (int): Number of fc layers in the head. Default: 3.
+ in_channels (int): Number of input channels. Default: 256.
+ fc_channels (int): Number of fc channels. Default: 256.
+ num_classes (int): Number of classes for logits. Default: 80.
+ class_agnostic (bool): Whether use class agnostic classification.
+ If so, the output channels of logits will be 1. Default: False.
+ coarse_pred_each_layer (bool): Whether concatenate coarse feature with
+ the output of each fc layer. Default: True.
+ conv_cfg (dict|None): Dictionary to construct and config conv layer.
+ Default: dict(type='Conv1d'))
+ norm_cfg (dict|None): Dictionary to construct and config norm layer.
+ Default: None.
+ loss_point (dict): Dictionary to construct and config loss layer of
+ point head. Default: dict(type='CrossEntropyLoss', use_mask=True,
+ loss_weight=1.0).
+ """
+
+ def __init__(self,
+ num_fcs=3,
+ coarse_pred_each_layer=True,
+ conv_cfg=dict(type='Conv1d'),
+ norm_cfg=None,
+ act_cfg=dict(type='ReLU', inplace=False),
+ **kwargs):
+ super(PointHead, self).__init__(
+ input_transform='multiple_select',
+ conv_cfg=conv_cfg,
+ norm_cfg=norm_cfg,
+ act_cfg=act_cfg,
+ **kwargs)
+
+ self.num_fcs = num_fcs
+ self.coarse_pred_each_layer = coarse_pred_each_layer
+
+ fc_in_channels = sum(self.in_channels) + self.num_classes
+ fc_channels = self.channels
+ self.fcs = nn.ModuleList()
+ for k in range(num_fcs):
+ fc = ConvModule(
+ fc_in_channels,
+ fc_channels,
+ kernel_size=1,
+ stride=1,
+ padding=0,
+ conv_cfg=conv_cfg,
+ norm_cfg=norm_cfg,
+ act_cfg=act_cfg)
+ self.fcs.append(fc)
+ fc_in_channels = fc_channels
+ fc_in_channels += self.num_classes if self.coarse_pred_each_layer \
+ else 0
+ self.fc_seg = nn.Conv1d(
+ fc_in_channels,
+ self.num_classes,
+ kernel_size=1,
+ stride=1,
+ padding=0)
+ if self.dropout_ratio > 0:
+ self.dropout = nn.Dropout(self.dropout_ratio)
+ delattr(self, 'conv_seg')
+
+ def init_weights(self):
+ """Initialize weights of classification layer."""
+ normal_init(self.fc_seg, std=0.001)
+
+ def cls_seg(self, feat):
+ """Classify each pixel with fc."""
+ if self.dropout is not None:
+ feat = self.dropout(feat)
+ output = self.fc_seg(feat)
+ return output
+
+ def forward(self, fine_grained_point_feats, coarse_point_feats):
+ x = torch.cat([fine_grained_point_feats, coarse_point_feats], dim=1)
+ for fc in self.fcs:
+ x = fc(x)
+ if self.coarse_pred_each_layer:
+ x = torch.cat((x, coarse_point_feats), dim=1)
+ return self.cls_seg(x)
+
+ def _get_fine_grained_point_feats(self, x, points):
+ """Sample from fine grained features.
+
+ Args:
+ x (list[Tensor]): Feature pyramid from by neck or backbone.
+ points (Tensor): Point coordinates, shape (batch_size,
+ num_points, 2).
+
+ Returns:
+ fine_grained_feats (Tensor): Sampled fine grained feature,
+ shape (batch_size, sum(channels of x), num_points).
+ """
+
+ fine_grained_feats_list = [
+ point_sample(_, points, align_corners=self.align_corners)
+ for _ in x
+ ]
+ if len(fine_grained_feats_list) > 1:
+ fine_grained_feats = torch.cat(fine_grained_feats_list, dim=1)
+ else:
+ fine_grained_feats = fine_grained_feats_list[0]
+
+ return fine_grained_feats
+
+ def _get_coarse_point_feats(self, prev_output, points):
+ """Sample from fine grained features.
+
+ Args:
+ prev_output (list[Tensor]): Prediction of previous decode head.
+ points (Tensor): Point coordinates, shape (batch_size,
+ num_points, 2).
+
+ Returns:
+ coarse_feats (Tensor): Sampled coarse feature, shape (batch_size,
+ num_classes, num_points).
+ """
+
+ coarse_feats = point_sample(
+ prev_output, points, align_corners=self.align_corners)
+
+ return coarse_feats
+
+ def forward_train(self, inputs, prev_output, img_metas, gt_semantic_seg,
+ train_cfg):
+ """Forward function for training.
+ Args:
+ inputs (list[Tensor]): List of multi-level img features.
+ prev_output (Tensor): The output of previous decode head.
+ img_metas (list[dict]): List of image info dict where each dict
+ has: 'img_shape', 'scale_factor', 'flip', and may also contain
+ 'filename', 'ori_shape', 'pad_shape', and 'img_norm_cfg'.
+ For details on the values of these keys see
+ `mmseg/datasets/pipelines/formatting.py:Collect`.
+ gt_semantic_seg (Tensor): Semantic segmentation masks
+ used if the architecture supports semantic segmentation task.
+ train_cfg (dict): The training config.
+
+ Returns:
+ dict[str, Tensor]: a dictionary of loss components
+ """
+ x = self._transform_inputs(inputs)
+ with torch.no_grad():
+ points = self.get_points_train(
+ prev_output, calculate_uncertainty, cfg=train_cfg)
+ fine_grained_point_feats = self._get_fine_grained_point_feats(
+ x, points)
+ coarse_point_feats = self._get_coarse_point_feats(prev_output, points)
+ point_logits = self.forward(fine_grained_point_feats,
+ coarse_point_feats)
+ point_label = point_sample(
+ gt_semantic_seg.float(),
+ points,
+ mode='nearest',
+ align_corners=self.align_corners)
+ point_label = point_label.squeeze(1).long()
+
+ losses = self.losses(point_logits, point_label)
+
+ return losses
+
+ def forward_test(self, inputs, prev_output, img_metas, test_cfg):
+ """Forward function for testing.
+
+ Args:
+ inputs (list[Tensor]): List of multi-level img features.
+ prev_output (Tensor): The output of previous decode head.
+ img_metas (list[dict]): List of image info dict where each dict
+ has: 'img_shape', 'scale_factor', 'flip', and may also contain
+ 'filename', 'ori_shape', 'pad_shape', and 'img_norm_cfg'.
+ For details on the values of these keys see
+ `mmseg/datasets/pipelines/formatting.py:Collect`.
+ test_cfg (dict): The testing config.
+
+ Returns:
+ Tensor: Output segmentation map.
+ """
+
+ x = self._transform_inputs(inputs)
+ refined_seg_logits = prev_output.clone()
+ for _ in range(test_cfg.subdivision_steps):
+ refined_seg_logits = resize(
+ refined_seg_logits,
+ scale_factor=test_cfg.scale_factor,
+ mode='bilinear',
+ align_corners=self.align_corners)
+ batch_size, channels, height, width = refined_seg_logits.shape
+ point_indices, points = self.get_points_test(
+ refined_seg_logits, calculate_uncertainty, cfg=test_cfg)
+ fine_grained_point_feats = self._get_fine_grained_point_feats(
+ x, points)
+ coarse_point_feats = self._get_coarse_point_feats(
+ prev_output, points)
+ point_logits = self.forward(fine_grained_point_feats,
+ coarse_point_feats)
+
+ point_indices = point_indices.unsqueeze(1).expand(-1, channels, -1)
+ refined_seg_logits = refined_seg_logits.reshape(
+ batch_size, channels, height * width)
+ refined_seg_logits = refined_seg_logits.scatter_(
+ 2, point_indices, point_logits)
+ refined_seg_logits = refined_seg_logits.view(
+ batch_size, channels, height, width)
+
+ return refined_seg_logits
+
+ def losses(self, point_logits, point_label):
+ """Compute segmentation loss."""
+ loss = dict()
+ loss['loss_point'] = self.loss_decode(
+ point_logits, point_label, ignore_index=self.ignore_index)
+ loss['acc_point'] = accuracy(point_logits, point_label)
+ return loss
+
+ def get_points_train(self, seg_logits, uncertainty_func, cfg):
+ """Sample points for training.
+
+ Sample points in [0, 1] x [0, 1] coordinate space based on their
+ uncertainty. The uncertainties are calculated for each point using
+ 'uncertainty_func' function that takes point's logit prediction as
+ input.
+
+ Args:
+ seg_logits (Tensor): Semantic segmentation logits, shape (
+ batch_size, num_classes, height, width).
+ uncertainty_func (func): uncertainty calculation function.
+ cfg (dict): Training config of point head.
+
+ Returns:
+ point_coords (Tensor): A tensor of shape (batch_size, num_points,
+ 2) that contains the coordinates of ``num_points`` sampled
+ points.
+ """
+ num_points = cfg.num_points
+ oversample_ratio = cfg.oversample_ratio
+ importance_sample_ratio = cfg.importance_sample_ratio
+ assert oversample_ratio >= 1
+ assert 0 <= importance_sample_ratio <= 1
+ batch_size = seg_logits.shape[0]
+ num_sampled = int(num_points * oversample_ratio)
+ point_coords = torch.rand(
+ batch_size, num_sampled, 2, device=seg_logits.device)
+ point_logits = point_sample(seg_logits, point_coords)
+ # It is crucial to calculate uncertainty based on the sampled
+ # prediction value for the points. Calculating uncertainties of the
+ # coarse predictions first and sampling them for points leads to
+ # incorrect results. To illustrate this: assume uncertainty func(
+ # logits)=-abs(logits), a sampled point between two coarse
+ # predictions with -1 and 1 logits has 0 logits, and therefore 0
+ # uncertainty value. However, if we calculate uncertainties for the
+ # coarse predictions first, both will have -1 uncertainty,
+ # and sampled point will get -1 uncertainty.
+ point_uncertainties = uncertainty_func(point_logits)
+ num_uncertain_points = int(importance_sample_ratio * num_points)
+ num_random_points = num_points - num_uncertain_points
+ idx = torch.topk(
+ point_uncertainties[:, 0, :], k=num_uncertain_points, dim=1)[1]
+ shift = num_sampled * torch.arange(
+ batch_size, dtype=torch.long, device=seg_logits.device)
+ idx += shift[:, None]
+ point_coords = point_coords.view(-1, 2)[idx.view(-1), :].view(
+ batch_size, num_uncertain_points, 2)
+ if num_random_points > 0:
+ rand_point_coords = torch.rand(
+ batch_size, num_random_points, 2, device=seg_logits.device)
+ point_coords = torch.cat((point_coords, rand_point_coords), dim=1)
+ return point_coords
+
+ def get_points_test(self, seg_logits, uncertainty_func, cfg):
+ """Sample points for testing.
+
+ Find ``num_points`` most uncertain points from ``uncertainty_map``.
+
+ Args:
+ seg_logits (Tensor): A tensor of shape (batch_size, num_classes,
+ height, width) for class-specific or class-agnostic prediction.
+ uncertainty_func (func): uncertainty calculation function.
+ cfg (dict): Testing config of point head.
+
+ Returns:
+ point_indices (Tensor): A tensor of shape (batch_size, num_points)
+ that contains indices from [0, height x width) of the most
+ uncertain points.
+ point_coords (Tensor): A tensor of shape (batch_size, num_points,
+ 2) that contains [0, 1] x [0, 1] normalized coordinates of the
+ most uncertain points from the ``height x width`` grid .
+ """
+
+ num_points = cfg.subdivision_num_points
+ uncertainty_map = uncertainty_func(seg_logits)
+ batch_size, _, height, width = uncertainty_map.shape
+ h_step = 1.0 / height
+ w_step = 1.0 / width
+
+ uncertainty_map = uncertainty_map.view(batch_size, height * width)
+ num_points = min(height * width, num_points)
+ point_indices = uncertainty_map.topk(num_points, dim=1)[1]
+ point_coords = torch.zeros(
+ batch_size,
+ num_points,
+ 2,
+ dtype=torch.float,
+ device=seg_logits.device)
+ point_coords[:, :, 0] = w_step / 2.0 + (point_indices %
+ width).float() * w_step
+ point_coords[:, :, 1] = h_step / 2.0 + (point_indices //
+ width).float() * h_step
+ return point_indices, point_coords
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/psa_head.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/psa_head.py
new file mode 100644
index 0000000000000000000000000000000000000000..ba6fe3a8b8f8dc7c4e4d3b9bc09e9642c0b3732f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/psa_head.py
@@ -0,0 +1,199 @@
+import torch
+import torch.nn as nn
+import torch.nn.functional as F
+from annotator.mmpkg.mmcv.cnn import ConvModule
+
+from annotator.mmpkg.mmseg.ops import resize
+from ..builder import HEADS
+from .decode_head import BaseDecodeHead
+
+try:
+ try:
+ from mmcv.ops import PSAMask
+ except ImportError:
+ from annotator.mmpkg.mmcv.ops import PSAMask
+except ModuleNotFoundError:
+ PSAMask = None
+
+
+@HEADS.register_module()
+class PSAHead(BaseDecodeHead):
+ """Point-wise Spatial Attention Network for Scene Parsing.
+
+ This head is the implementation of `PSANet
+ `_.
+
+ Args:
+ mask_size (tuple[int]): The PSA mask size. It usually equals input
+ size.
+ psa_type (str): The type of psa module. Options are 'collect',
+ 'distribute', 'bi-direction'. Default: 'bi-direction'
+ compact (bool): Whether use compact map for 'collect' mode.
+ Default: True.
+ shrink_factor (int): The downsample factors of psa mask. Default: 2.
+ normalization_factor (float): The normalize factor of attention.
+ psa_softmax (bool): Whether use softmax for attention.
+ """
+
+ def __init__(self,
+ mask_size,
+ psa_type='bi-direction',
+ compact=False,
+ shrink_factor=2,
+ normalization_factor=1.0,
+ psa_softmax=True,
+ **kwargs):
+ if PSAMask is None:
+ raise RuntimeError('Please install mmcv-full for PSAMask ops')
+ super(PSAHead, self).__init__(**kwargs)
+ assert psa_type in ['collect', 'distribute', 'bi-direction']
+ self.psa_type = psa_type
+ self.compact = compact
+ self.shrink_factor = shrink_factor
+ self.mask_size = mask_size
+ mask_h, mask_w = mask_size
+ self.psa_softmax = psa_softmax
+ if normalization_factor is None:
+ normalization_factor = mask_h * mask_w
+ self.normalization_factor = normalization_factor
+
+ self.reduce = ConvModule(
+ self.in_channels,
+ self.channels,
+ kernel_size=1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg)
+ self.attention = nn.Sequential(
+ ConvModule(
+ self.channels,
+ self.channels,
+ kernel_size=1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg),
+ nn.Conv2d(
+ self.channels, mask_h * mask_w, kernel_size=1, bias=False))
+ if psa_type == 'bi-direction':
+ self.reduce_p = ConvModule(
+ self.in_channels,
+ self.channels,
+ kernel_size=1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg)
+ self.attention_p = nn.Sequential(
+ ConvModule(
+ self.channels,
+ self.channels,
+ kernel_size=1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg),
+ nn.Conv2d(
+ self.channels, mask_h * mask_w, kernel_size=1, bias=False))
+ self.psamask_collect = PSAMask('collect', mask_size)
+ self.psamask_distribute = PSAMask('distribute', mask_size)
+ else:
+ self.psamask = PSAMask(psa_type, mask_size)
+ self.proj = ConvModule(
+ self.channels * (2 if psa_type == 'bi-direction' else 1),
+ self.in_channels,
+ kernel_size=1,
+ padding=1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg)
+ self.bottleneck = ConvModule(
+ self.in_channels * 2,
+ self.channels,
+ kernel_size=3,
+ padding=1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg)
+
+ def forward(self, inputs):
+ """Forward function."""
+ x = self._transform_inputs(inputs)
+ identity = x
+ align_corners = self.align_corners
+ if self.psa_type in ['collect', 'distribute']:
+ out = self.reduce(x)
+ n, c, h, w = out.size()
+ if self.shrink_factor != 1:
+ if h % self.shrink_factor and w % self.shrink_factor:
+ h = (h - 1) // self.shrink_factor + 1
+ w = (w - 1) // self.shrink_factor + 1
+ align_corners = True
+ else:
+ h = h // self.shrink_factor
+ w = w // self.shrink_factor
+ align_corners = False
+ out = resize(
+ out,
+ size=(h, w),
+ mode='bilinear',
+ align_corners=align_corners)
+ y = self.attention(out)
+ if self.compact:
+ if self.psa_type == 'collect':
+ y = y.view(n, h * w,
+ h * w).transpose(1, 2).view(n, h * w, h, w)
+ else:
+ y = self.psamask(y)
+ if self.psa_softmax:
+ y = F.softmax(y, dim=1)
+ out = torch.bmm(
+ out.view(n, c, h * w), y.view(n, h * w, h * w)).view(
+ n, c, h, w) * (1.0 / self.normalization_factor)
+ else:
+ x_col = self.reduce(x)
+ x_dis = self.reduce_p(x)
+ n, c, h, w = x_col.size()
+ if self.shrink_factor != 1:
+ if h % self.shrink_factor and w % self.shrink_factor:
+ h = (h - 1) // self.shrink_factor + 1
+ w = (w - 1) // self.shrink_factor + 1
+ align_corners = True
+ else:
+ h = h // self.shrink_factor
+ w = w // self.shrink_factor
+ align_corners = False
+ x_col = resize(
+ x_col,
+ size=(h, w),
+ mode='bilinear',
+ align_corners=align_corners)
+ x_dis = resize(
+ x_dis,
+ size=(h, w),
+ mode='bilinear',
+ align_corners=align_corners)
+ y_col = self.attention(x_col)
+ y_dis = self.attention_p(x_dis)
+ if self.compact:
+ y_dis = y_dis.view(n, h * w,
+ h * w).transpose(1, 2).view(n, h * w, h, w)
+ else:
+ y_col = self.psamask_collect(y_col)
+ y_dis = self.psamask_distribute(y_dis)
+ if self.psa_softmax:
+ y_col = F.softmax(y_col, dim=1)
+ y_dis = F.softmax(y_dis, dim=1)
+ x_col = torch.bmm(
+ x_col.view(n, c, h * w), y_col.view(n, h * w, h * w)).view(
+ n, c, h, w) * (1.0 / self.normalization_factor)
+ x_dis = torch.bmm(
+ x_dis.view(n, c, h * w), y_dis.view(n, h * w, h * w)).view(
+ n, c, h, w) * (1.0 / self.normalization_factor)
+ out = torch.cat([x_col, x_dis], 1)
+ out = self.proj(out)
+ out = resize(
+ out,
+ size=identity.shape[2:],
+ mode='bilinear',
+ align_corners=align_corners)
+ out = self.bottleneck(torch.cat((identity, out), dim=1))
+ out = self.cls_seg(out)
+ return out
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/psp_head.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/psp_head.py
new file mode 100644
index 0000000000000000000000000000000000000000..2a88d807bfe11fe224305f8de745cde3aa739db0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/psp_head.py
@@ -0,0 +1,101 @@
+import torch
+import torch.nn as nn
+from annotator.mmpkg.mmcv.cnn import ConvModule
+
+from annotator.mmpkg.mmseg.ops import resize
+from ..builder import HEADS
+from .decode_head import BaseDecodeHead
+
+
+class PPM(nn.ModuleList):
+ """Pooling Pyramid Module used in PSPNet.
+
+ Args:
+ pool_scales (tuple[int]): Pooling scales used in Pooling Pyramid
+ Module.
+ in_channels (int): Input channels.
+ channels (int): Channels after modules, before conv_seg.
+ conv_cfg (dict|None): Config of conv layers.
+ norm_cfg (dict|None): Config of norm layers.
+ act_cfg (dict): Config of activation layers.
+ align_corners (bool): align_corners argument of F.interpolate.
+ """
+
+ def __init__(self, pool_scales, in_channels, channels, conv_cfg, norm_cfg,
+ act_cfg, align_corners):
+ super(PPM, self).__init__()
+ self.pool_scales = pool_scales
+ self.align_corners = align_corners
+ self.in_channels = in_channels
+ self.channels = channels
+ self.conv_cfg = conv_cfg
+ self.norm_cfg = norm_cfg
+ self.act_cfg = act_cfg
+ for pool_scale in pool_scales:
+ self.append(
+ nn.Sequential(
+ nn.AdaptiveAvgPool2d(pool_scale),
+ ConvModule(
+ self.in_channels,
+ self.channels,
+ 1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg)))
+
+ def forward(self, x):
+ """Forward function."""
+ ppm_outs = []
+ for ppm in self:
+ ppm_out = ppm(x)
+ upsampled_ppm_out = resize(
+ ppm_out,
+ size=x.size()[2:],
+ mode='bilinear',
+ align_corners=self.align_corners)
+ ppm_outs.append(upsampled_ppm_out)
+ return ppm_outs
+
+
+@HEADS.register_module()
+class PSPHead(BaseDecodeHead):
+ """Pyramid Scene Parsing Network.
+
+ This head is the implementation of
+ `PSPNet `_.
+
+ Args:
+ pool_scales (tuple[int]): Pooling scales used in Pooling Pyramid
+ Module. Default: (1, 2, 3, 6).
+ """
+
+ def __init__(self, pool_scales=(1, 2, 3, 6), **kwargs):
+ super(PSPHead, self).__init__(**kwargs)
+ assert isinstance(pool_scales, (list, tuple))
+ self.pool_scales = pool_scales
+ self.psp_modules = PPM(
+ self.pool_scales,
+ self.in_channels,
+ self.channels,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg,
+ align_corners=self.align_corners)
+ self.bottleneck = ConvModule(
+ self.in_channels + len(pool_scales) * self.channels,
+ self.channels,
+ 3,
+ padding=1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg)
+
+ def forward(self, inputs):
+ """Forward function."""
+ x = self._transform_inputs(inputs)
+ psp_outs = [x]
+ psp_outs.extend(self.psp_modules(x))
+ psp_outs = torch.cat(psp_outs, dim=1)
+ output = self.bottleneck(psp_outs)
+ output = self.cls_seg(output)
+ return output
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/sep_aspp_head.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/sep_aspp_head.py
new file mode 100644
index 0000000000000000000000000000000000000000..a23970699df7afd86f483316be3c8d1a34d43c18
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/sep_aspp_head.py
@@ -0,0 +1,101 @@
+import torch
+import torch.nn as nn
+from annotator.mmpkg.mmcv.cnn import ConvModule, DepthwiseSeparableConvModule
+
+from annotator.mmpkg.mmseg.ops import resize
+from ..builder import HEADS
+from .aspp_head import ASPPHead, ASPPModule
+
+
+class DepthwiseSeparableASPPModule(ASPPModule):
+ """Atrous Spatial Pyramid Pooling (ASPP) Module with depthwise separable
+ conv."""
+
+ def __init__(self, **kwargs):
+ super(DepthwiseSeparableASPPModule, self).__init__(**kwargs)
+ for i, dilation in enumerate(self.dilations):
+ if dilation > 1:
+ self[i] = DepthwiseSeparableConvModule(
+ self.in_channels,
+ self.channels,
+ 3,
+ dilation=dilation,
+ padding=dilation,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg)
+
+
+@HEADS.register_module()
+class DepthwiseSeparableASPPHead(ASPPHead):
+ """Encoder-Decoder with Atrous Separable Convolution for Semantic Image
+ Segmentation.
+
+ This head is the implementation of `DeepLabV3+
+ `_.
+
+ Args:
+ c1_in_channels (int): The input channels of c1 decoder. If is 0,
+ the no decoder will be used.
+ c1_channels (int): The intermediate channels of c1 decoder.
+ """
+
+ def __init__(self, c1_in_channels, c1_channels, **kwargs):
+ super(DepthwiseSeparableASPPHead, self).__init__(**kwargs)
+ assert c1_in_channels >= 0
+ self.aspp_modules = DepthwiseSeparableASPPModule(
+ dilations=self.dilations,
+ in_channels=self.in_channels,
+ channels=self.channels,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg)
+ if c1_in_channels > 0:
+ self.c1_bottleneck = ConvModule(
+ c1_in_channels,
+ c1_channels,
+ 1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg)
+ else:
+ self.c1_bottleneck = None
+ self.sep_bottleneck = nn.Sequential(
+ DepthwiseSeparableConvModule(
+ self.channels + c1_channels,
+ self.channels,
+ 3,
+ padding=1,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg),
+ DepthwiseSeparableConvModule(
+ self.channels,
+ self.channels,
+ 3,
+ padding=1,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg))
+
+ def forward(self, inputs):
+ """Forward function."""
+ x = self._transform_inputs(inputs)
+ aspp_outs = [
+ resize(
+ self.image_pool(x),
+ size=x.size()[2:],
+ mode='bilinear',
+ align_corners=self.align_corners)
+ ]
+ aspp_outs.extend(self.aspp_modules(x))
+ aspp_outs = torch.cat(aspp_outs, dim=1)
+ output = self.bottleneck(aspp_outs)
+ if self.c1_bottleneck is not None:
+ c1_output = self.c1_bottleneck(inputs[0])
+ output = resize(
+ input=output,
+ size=c1_output.shape[2:],
+ mode='bilinear',
+ align_corners=self.align_corners)
+ output = torch.cat([output, c1_output], dim=1)
+ output = self.sep_bottleneck(output)
+ output = self.cls_seg(output)
+ return output
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/sep_fcn_head.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/sep_fcn_head.py
new file mode 100644
index 0000000000000000000000000000000000000000..3ea198ab8a96919dfb6974fd73b1476aa488aef2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/sep_fcn_head.py
@@ -0,0 +1,51 @@
+from annotator.mmpkg.mmcv.cnn import DepthwiseSeparableConvModule
+
+from ..builder import HEADS
+from .fcn_head import FCNHead
+
+
+@HEADS.register_module()
+class DepthwiseSeparableFCNHead(FCNHead):
+ """Depthwise-Separable Fully Convolutional Network for Semantic
+ Segmentation.
+
+ This head is implemented according to Fast-SCNN paper.
+ Args:
+ in_channels(int): Number of output channels of FFM.
+ channels(int): Number of middle-stage channels in the decode head.
+ concat_input(bool): Whether to concatenate original decode input into
+ the result of several consecutive convolution layers.
+ Default: True.
+ num_classes(int): Used to determine the dimension of
+ final prediction tensor.
+ in_index(int): Correspond with 'out_indices' in FastSCNN backbone.
+ norm_cfg (dict | None): Config of norm layers.
+ align_corners (bool): align_corners argument of F.interpolate.
+ Default: False.
+ loss_decode(dict): Config of loss type and some
+ relevant additional options.
+ """
+
+ def __init__(self, **kwargs):
+ super(DepthwiseSeparableFCNHead, self).__init__(**kwargs)
+ self.convs[0] = DepthwiseSeparableConvModule(
+ self.in_channels,
+ self.channels,
+ kernel_size=self.kernel_size,
+ padding=self.kernel_size // 2,
+ norm_cfg=self.norm_cfg)
+ for i in range(1, self.num_convs):
+ self.convs[i] = DepthwiseSeparableConvModule(
+ self.channels,
+ self.channels,
+ kernel_size=self.kernel_size,
+ padding=self.kernel_size // 2,
+ norm_cfg=self.norm_cfg)
+
+ if self.concat_input:
+ self.conv_cat = DepthwiseSeparableConvModule(
+ self.in_channels + self.channels,
+ self.channels,
+ kernel_size=self.kernel_size,
+ padding=self.kernel_size // 2,
+ norm_cfg=self.norm_cfg)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/uper_head.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/uper_head.py
new file mode 100644
index 0000000000000000000000000000000000000000..952473578c1f5b903f5fc7f9d13a4e40ea5dec87
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/decode_heads/uper_head.py
@@ -0,0 +1,126 @@
+import torch
+import torch.nn as nn
+from annotator.mmpkg.mmcv.cnn import ConvModule
+
+from annotator.mmpkg.mmseg.ops import resize
+from ..builder import HEADS
+from .decode_head import BaseDecodeHead
+from .psp_head import PPM
+
+
+@HEADS.register_module()
+class UPerHead(BaseDecodeHead):
+ """Unified Perceptual Parsing for Scene Understanding.
+
+ This head is the implementation of `UPerNet
+ `_.
+
+ Args:
+ pool_scales (tuple[int]): Pooling scales used in Pooling Pyramid
+ Module applied on the last feature. Default: (1, 2, 3, 6).
+ """
+
+ def __init__(self, pool_scales=(1, 2, 3, 6), **kwargs):
+ super(UPerHead, self).__init__(
+ input_transform='multiple_select', **kwargs)
+ # PSP Module
+ self.psp_modules = PPM(
+ pool_scales,
+ self.in_channels[-1],
+ self.channels,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg,
+ align_corners=self.align_corners)
+ self.bottleneck = ConvModule(
+ self.in_channels[-1] + len(pool_scales) * self.channels,
+ self.channels,
+ 3,
+ padding=1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg)
+ # FPN Module
+ self.lateral_convs = nn.ModuleList()
+ self.fpn_convs = nn.ModuleList()
+ for in_channels in self.in_channels[:-1]: # skip the top layer
+ l_conv = ConvModule(
+ in_channels,
+ self.channels,
+ 1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg,
+ inplace=False)
+ fpn_conv = ConvModule(
+ self.channels,
+ self.channels,
+ 3,
+ padding=1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg,
+ inplace=False)
+ self.lateral_convs.append(l_conv)
+ self.fpn_convs.append(fpn_conv)
+
+ self.fpn_bottleneck = ConvModule(
+ len(self.in_channels) * self.channels,
+ self.channels,
+ 3,
+ padding=1,
+ conv_cfg=self.conv_cfg,
+ norm_cfg=self.norm_cfg,
+ act_cfg=self.act_cfg)
+
+ def psp_forward(self, inputs):
+ """Forward function of PSP module."""
+ x = inputs[-1]
+ psp_outs = [x]
+ psp_outs.extend(self.psp_modules(x))
+ psp_outs = torch.cat(psp_outs, dim=1)
+ output = self.bottleneck(psp_outs)
+
+ return output
+
+ def forward(self, inputs):
+ """Forward function."""
+
+ inputs = self._transform_inputs(inputs)
+
+ # build laterals
+ laterals = [
+ lateral_conv(inputs[i])
+ for i, lateral_conv in enumerate(self.lateral_convs)
+ ]
+
+ laterals.append(self.psp_forward(inputs))
+
+ # build top-down path
+ used_backbone_levels = len(laterals)
+ for i in range(used_backbone_levels - 1, 0, -1):
+ prev_shape = laterals[i - 1].shape[2:]
+ laterals[i - 1] += resize(
+ laterals[i],
+ size=prev_shape,
+ mode='bilinear',
+ align_corners=self.align_corners)
+
+ # build outputs
+ fpn_outs = [
+ self.fpn_convs[i](laterals[i])
+ for i in range(used_backbone_levels - 1)
+ ]
+ # append psp feature
+ fpn_outs.append(laterals[-1])
+
+ for i in range(used_backbone_levels - 1, 0, -1):
+ fpn_outs[i] = resize(
+ fpn_outs[i],
+ size=fpn_outs[0].shape[2:],
+ mode='bilinear',
+ align_corners=self.align_corners)
+ fpn_outs = torch.cat(fpn_outs, dim=1)
+ output = self.fpn_bottleneck(fpn_outs)
+ output = self.cls_seg(output)
+ return output
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/losses/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/losses/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..beca72045694273d63465bac2f27dbc6672271db
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/losses/__init__.py
@@ -0,0 +1,12 @@
+from .accuracy import Accuracy, accuracy
+from .cross_entropy_loss import (CrossEntropyLoss, binary_cross_entropy,
+ cross_entropy, mask_cross_entropy)
+from .dice_loss import DiceLoss
+from .lovasz_loss import LovaszLoss
+from .utils import reduce_loss, weight_reduce_loss, weighted_loss
+
+__all__ = [
+ 'accuracy', 'Accuracy', 'cross_entropy', 'binary_cross_entropy',
+ 'mask_cross_entropy', 'CrossEntropyLoss', 'reduce_loss',
+ 'weight_reduce_loss', 'weighted_loss', 'LovaszLoss', 'DiceLoss'
+]
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/losses/accuracy.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/losses/accuracy.py
new file mode 100644
index 0000000000000000000000000000000000000000..c0fd2e7e74a0f721c4a814c09d6e453e5956bb38
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/losses/accuracy.py
@@ -0,0 +1,78 @@
+import torch.nn as nn
+
+
+def accuracy(pred, target, topk=1, thresh=None):
+ """Calculate accuracy according to the prediction and target.
+
+ Args:
+ pred (torch.Tensor): The model prediction, shape (N, num_class, ...)
+ target (torch.Tensor): The target of each prediction, shape (N, , ...)
+ topk (int | tuple[int], optional): If the predictions in ``topk``
+ matches the target, the predictions will be regarded as
+ correct ones. Defaults to 1.
+ thresh (float, optional): If not None, predictions with scores under
+ this threshold are considered incorrect. Default to None.
+
+ Returns:
+ float | tuple[float]: If the input ``topk`` is a single integer,
+ the function will return a single float as accuracy. If
+ ``topk`` is a tuple containing multiple integers, the
+ function will return a tuple containing accuracies of
+ each ``topk`` number.
+ """
+ assert isinstance(topk, (int, tuple))
+ if isinstance(topk, int):
+ topk = (topk, )
+ return_single = True
+ else:
+ return_single = False
+
+ maxk = max(topk)
+ if pred.size(0) == 0:
+ accu = [pred.new_tensor(0.) for i in range(len(topk))]
+ return accu[0] if return_single else accu
+ assert pred.ndim == target.ndim + 1
+ assert pred.size(0) == target.size(0)
+ assert maxk <= pred.size(1), \
+ f'maxk {maxk} exceeds pred dimension {pred.size(1)}'
+ pred_value, pred_label = pred.topk(maxk, dim=1)
+ # transpose to shape (maxk, N, ...)
+ pred_label = pred_label.transpose(0, 1)
+ correct = pred_label.eq(target.unsqueeze(0).expand_as(pred_label))
+ if thresh is not None:
+ # Only prediction values larger than thresh are counted as correct
+ correct = correct & (pred_value > thresh).t()
+ res = []
+ for k in topk:
+ correct_k = correct[:k].reshape(-1).float().sum(0, keepdim=True)
+ res.append(correct_k.mul_(100.0 / target.numel()))
+ return res[0] if return_single else res
+
+
+class Accuracy(nn.Module):
+ """Accuracy calculation module."""
+
+ def __init__(self, topk=(1, ), thresh=None):
+ """Module to calculate the accuracy.
+
+ Args:
+ topk (tuple, optional): The criterion used to calculate the
+ accuracy. Defaults to (1,).
+ thresh (float, optional): If not None, predictions with scores
+ under this threshold are considered incorrect. Default to None.
+ """
+ super().__init__()
+ self.topk = topk
+ self.thresh = thresh
+
+ def forward(self, pred, target):
+ """Forward function to calculate accuracy.
+
+ Args:
+ pred (torch.Tensor): Prediction of models.
+ target (torch.Tensor): Target for each prediction.
+
+ Returns:
+ tuple[float]: The accuracies under different topk criterions.
+ """
+ return accuracy(pred, target, self.topk, self.thresh)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/losses/cross_entropy_loss.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/losses/cross_entropy_loss.py
new file mode 100644
index 0000000000000000000000000000000000000000..42c0790c98616bb69621deed55547fc04c7392ef
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/losses/cross_entropy_loss.py
@@ -0,0 +1,198 @@
+import torch
+import torch.nn as nn
+import torch.nn.functional as F
+
+from ..builder import LOSSES
+from .utils import get_class_weight, weight_reduce_loss
+
+
+def cross_entropy(pred,
+ label,
+ weight=None,
+ class_weight=None,
+ reduction='mean',
+ avg_factor=None,
+ ignore_index=-100):
+ """The wrapper function for :func:`F.cross_entropy`"""
+ # class_weight is a manual rescaling weight given to each class.
+ # If given, has to be a Tensor of size C element-wise losses
+ loss = F.cross_entropy(
+ pred,
+ label,
+ weight=class_weight,
+ reduction='none',
+ ignore_index=ignore_index)
+
+ # apply weights and do the reduction
+ if weight is not None:
+ weight = weight.float()
+ loss = weight_reduce_loss(
+ loss, weight=weight, reduction=reduction, avg_factor=avg_factor)
+
+ return loss
+
+
+def _expand_onehot_labels(labels, label_weights, target_shape, ignore_index):
+ """Expand onehot labels to match the size of prediction."""
+ bin_labels = labels.new_zeros(target_shape)
+ valid_mask = (labels >= 0) & (labels != ignore_index)
+ inds = torch.nonzero(valid_mask, as_tuple=True)
+
+ if inds[0].numel() > 0:
+ if labels.dim() == 3:
+ bin_labels[inds[0], labels[valid_mask], inds[1], inds[2]] = 1
+ else:
+ bin_labels[inds[0], labels[valid_mask]] = 1
+
+ valid_mask = valid_mask.unsqueeze(1).expand(target_shape).float()
+ if label_weights is None:
+ bin_label_weights = valid_mask
+ else:
+ bin_label_weights = label_weights.unsqueeze(1).expand(target_shape)
+ bin_label_weights *= valid_mask
+
+ return bin_labels, bin_label_weights
+
+
+def binary_cross_entropy(pred,
+ label,
+ weight=None,
+ reduction='mean',
+ avg_factor=None,
+ class_weight=None,
+ ignore_index=255):
+ """Calculate the binary CrossEntropy loss.
+
+ Args:
+ pred (torch.Tensor): The prediction with shape (N, 1).
+ label (torch.Tensor): The learning label of the prediction.
+ weight (torch.Tensor, optional): Sample-wise loss weight.
+ reduction (str, optional): The method used to reduce the loss.
+ Options are "none", "mean" and "sum".
+ avg_factor (int, optional): Average factor that is used to average
+ the loss. Defaults to None.
+ class_weight (list[float], optional): The weight for each class.
+ ignore_index (int | None): The label index to be ignored. Default: 255
+
+ Returns:
+ torch.Tensor: The calculated loss
+ """
+ if pred.dim() != label.dim():
+ assert (pred.dim() == 2 and label.dim() == 1) or (
+ pred.dim() == 4 and label.dim() == 3), \
+ 'Only pred shape [N, C], label shape [N] or pred shape [N, C, ' \
+ 'H, W], label shape [N, H, W] are supported'
+ label, weight = _expand_onehot_labels(label, weight, pred.shape,
+ ignore_index)
+
+ # weighted element-wise losses
+ if weight is not None:
+ weight = weight.float()
+ loss = F.binary_cross_entropy_with_logits(
+ pred, label.float(), pos_weight=class_weight, reduction='none')
+ # do the reduction for the weighted loss
+ loss = weight_reduce_loss(
+ loss, weight, reduction=reduction, avg_factor=avg_factor)
+
+ return loss
+
+
+def mask_cross_entropy(pred,
+ target,
+ label,
+ reduction='mean',
+ avg_factor=None,
+ class_weight=None,
+ ignore_index=None):
+ """Calculate the CrossEntropy loss for masks.
+
+ Args:
+ pred (torch.Tensor): The prediction with shape (N, C), C is the number
+ of classes.
+ target (torch.Tensor): The learning label of the prediction.
+ label (torch.Tensor): ``label`` indicates the class label of the mask'
+ corresponding object. This will be used to select the mask in the
+ of the class which the object belongs to when the mask prediction
+ if not class-agnostic.
+ reduction (str, optional): The method used to reduce the loss.
+ Options are "none", "mean" and "sum".
+ avg_factor (int, optional): Average factor that is used to average
+ the loss. Defaults to None.
+ class_weight (list[float], optional): The weight for each class.
+ ignore_index (None): Placeholder, to be consistent with other loss.
+ Default: None.
+
+ Returns:
+ torch.Tensor: The calculated loss
+ """
+ assert ignore_index is None, 'BCE loss does not support ignore_index'
+ # TODO: handle these two reserved arguments
+ assert reduction == 'mean' and avg_factor is None
+ num_rois = pred.size()[0]
+ inds = torch.arange(0, num_rois, dtype=torch.long, device=pred.device)
+ pred_slice = pred[inds, label].squeeze(1)
+ return F.binary_cross_entropy_with_logits(
+ pred_slice, target, weight=class_weight, reduction='mean')[None]
+
+
+@LOSSES.register_module()
+class CrossEntropyLoss(nn.Module):
+ """CrossEntropyLoss.
+
+ Args:
+ use_sigmoid (bool, optional): Whether the prediction uses sigmoid
+ of softmax. Defaults to False.
+ use_mask (bool, optional): Whether to use mask cross entropy loss.
+ Defaults to False.
+ reduction (str, optional): . Defaults to 'mean'.
+ Options are "none", "mean" and "sum".
+ class_weight (list[float] | str, optional): Weight of each class. If in
+ str format, read them from a file. Defaults to None.
+ loss_weight (float, optional): Weight of the loss. Defaults to 1.0.
+ """
+
+ def __init__(self,
+ use_sigmoid=False,
+ use_mask=False,
+ reduction='mean',
+ class_weight=None,
+ loss_weight=1.0):
+ super(CrossEntropyLoss, self).__init__()
+ assert (use_sigmoid is False) or (use_mask is False)
+ self.use_sigmoid = use_sigmoid
+ self.use_mask = use_mask
+ self.reduction = reduction
+ self.loss_weight = loss_weight
+ self.class_weight = get_class_weight(class_weight)
+
+ if self.use_sigmoid:
+ self.cls_criterion = binary_cross_entropy
+ elif self.use_mask:
+ self.cls_criterion = mask_cross_entropy
+ else:
+ self.cls_criterion = cross_entropy
+
+ def forward(self,
+ cls_score,
+ label,
+ weight=None,
+ avg_factor=None,
+ reduction_override=None,
+ **kwargs):
+ """Forward function."""
+ assert reduction_override in (None, 'none', 'mean', 'sum')
+ reduction = (
+ reduction_override if reduction_override else self.reduction)
+ if self.class_weight is not None:
+ class_weight = cls_score.new_tensor(self.class_weight)
+ else:
+ class_weight = None
+ loss_cls = self.loss_weight * self.cls_criterion(
+ cls_score,
+ label,
+ weight,
+ class_weight=class_weight,
+ reduction=reduction,
+ avg_factor=avg_factor,
+ **kwargs)
+ return loss_cls
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/losses/dice_loss.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/losses/dice_loss.py
new file mode 100644
index 0000000000000000000000000000000000000000..27a77b962d7d8b3079c7d6cd9db52280c6fb4970
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/losses/dice_loss.py
@@ -0,0 +1,119 @@
+"""Modified from https://github.com/LikeLy-Journey/SegmenTron/blob/master/
+segmentron/solver/loss.py (Apache-2.0 License)"""
+import torch
+import torch.nn as nn
+import torch.nn.functional as F
+
+from ..builder import LOSSES
+from .utils import get_class_weight, weighted_loss
+
+
+@weighted_loss
+def dice_loss(pred,
+ target,
+ valid_mask,
+ smooth=1,
+ exponent=2,
+ class_weight=None,
+ ignore_index=255):
+ assert pred.shape[0] == target.shape[0]
+ total_loss = 0
+ num_classes = pred.shape[1]
+ for i in range(num_classes):
+ if i != ignore_index:
+ dice_loss = binary_dice_loss(
+ pred[:, i],
+ target[..., i],
+ valid_mask=valid_mask,
+ smooth=smooth,
+ exponent=exponent)
+ if class_weight is not None:
+ dice_loss *= class_weight[i]
+ total_loss += dice_loss
+ return total_loss / num_classes
+
+
+@weighted_loss
+def binary_dice_loss(pred, target, valid_mask, smooth=1, exponent=2, **kwards):
+ assert pred.shape[0] == target.shape[0]
+ pred = pred.reshape(pred.shape[0], -1)
+ target = target.reshape(target.shape[0], -1)
+ valid_mask = valid_mask.reshape(valid_mask.shape[0], -1)
+
+ num = torch.sum(torch.mul(pred, target) * valid_mask, dim=1) * 2 + smooth
+ den = torch.sum(pred.pow(exponent) + target.pow(exponent), dim=1) + smooth
+
+ return 1 - num / den
+
+
+@LOSSES.register_module()
+class DiceLoss(nn.Module):
+ """DiceLoss.
+
+ This loss is proposed in `V-Net: Fully Convolutional Neural Networks for
+ Volumetric Medical Image Segmentation `_.
+
+ Args:
+ loss_type (str, optional): Binary or multi-class loss.
+ Default: 'multi_class'. Options are "binary" and "multi_class".
+ smooth (float): A float number to smooth loss, and avoid NaN error.
+ Default: 1
+ exponent (float): An float number to calculate denominator
+ value: \\sum{x^exponent} + \\sum{y^exponent}. Default: 2.
+ reduction (str, optional): The method used to reduce the loss. Options
+ are "none", "mean" and "sum". This parameter only works when
+ per_image is True. Default: 'mean'.
+ class_weight (list[float] | str, optional): Weight of each class. If in
+ str format, read them from a file. Defaults to None.
+ loss_weight (float, optional): Weight of the loss. Default to 1.0.
+ ignore_index (int | None): The label index to be ignored. Default: 255.
+ """
+
+ def __init__(self,
+ smooth=1,
+ exponent=2,
+ reduction='mean',
+ class_weight=None,
+ loss_weight=1.0,
+ ignore_index=255,
+ **kwards):
+ super(DiceLoss, self).__init__()
+ self.smooth = smooth
+ self.exponent = exponent
+ self.reduction = reduction
+ self.class_weight = get_class_weight(class_weight)
+ self.loss_weight = loss_weight
+ self.ignore_index = ignore_index
+
+ def forward(self,
+ pred,
+ target,
+ avg_factor=None,
+ reduction_override=None,
+ **kwards):
+ assert reduction_override in (None, 'none', 'mean', 'sum')
+ reduction = (
+ reduction_override if reduction_override else self.reduction)
+ if self.class_weight is not None:
+ class_weight = pred.new_tensor(self.class_weight)
+ else:
+ class_weight = None
+
+ pred = F.softmax(pred, dim=1)
+ num_classes = pred.shape[1]
+ one_hot_target = F.one_hot(
+ torch.clamp(target.long(), 0, num_classes - 1),
+ num_classes=num_classes)
+ valid_mask = (target != self.ignore_index).long()
+
+ loss = self.loss_weight * dice_loss(
+ pred,
+ one_hot_target,
+ valid_mask=valid_mask,
+ reduction=reduction,
+ avg_factor=avg_factor,
+ smooth=self.smooth,
+ exponent=self.exponent,
+ class_weight=class_weight,
+ ignore_index=self.ignore_index)
+ return loss
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/losses/lovasz_loss.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/losses/lovasz_loss.py
new file mode 100644
index 0000000000000000000000000000000000000000..50f0f70fd432316b081a0114c28df61d320b5a47
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/losses/lovasz_loss.py
@@ -0,0 +1,303 @@
+"""Modified from https://github.com/bermanmaxim/LovaszSoftmax/blob/master/pytor
+ch/lovasz_losses.py Lovasz-Softmax and Jaccard hinge loss in PyTorch Maxim
+Berman 2018 ESAT-PSI KU Leuven (MIT License)"""
+
+import annotator.mmpkg.mmcv as mmcv
+import torch
+import torch.nn as nn
+import torch.nn.functional as F
+
+from ..builder import LOSSES
+from .utils import get_class_weight, weight_reduce_loss
+
+
+def lovasz_grad(gt_sorted):
+ """Computes gradient of the Lovasz extension w.r.t sorted errors.
+
+ See Alg. 1 in paper.
+ """
+ p = len(gt_sorted)
+ gts = gt_sorted.sum()
+ intersection = gts - gt_sorted.float().cumsum(0)
+ union = gts + (1 - gt_sorted).float().cumsum(0)
+ jaccard = 1. - intersection / union
+ if p > 1: # cover 1-pixel case
+ jaccard[1:p] = jaccard[1:p] - jaccard[0:-1]
+ return jaccard
+
+
+def flatten_binary_logits(logits, labels, ignore_index=None):
+ """Flattens predictions in the batch (binary case) Remove labels equal to
+ 'ignore_index'."""
+ logits = logits.view(-1)
+ labels = labels.view(-1)
+ if ignore_index is None:
+ return logits, labels
+ valid = (labels != ignore_index)
+ vlogits = logits[valid]
+ vlabels = labels[valid]
+ return vlogits, vlabels
+
+
+def flatten_probs(probs, labels, ignore_index=None):
+ """Flattens predictions in the batch."""
+ if probs.dim() == 3:
+ # assumes output of a sigmoid layer
+ B, H, W = probs.size()
+ probs = probs.view(B, 1, H, W)
+ B, C, H, W = probs.size()
+ probs = probs.permute(0, 2, 3, 1).contiguous().view(-1, C) # B*H*W, C=P,C
+ labels = labels.view(-1)
+ if ignore_index is None:
+ return probs, labels
+ valid = (labels != ignore_index)
+ vprobs = probs[valid.nonzero().squeeze()]
+ vlabels = labels[valid]
+ return vprobs, vlabels
+
+
+def lovasz_hinge_flat(logits, labels):
+ """Binary Lovasz hinge loss.
+
+ Args:
+ logits (torch.Tensor): [P], logits at each prediction
+ (between -infty and +infty).
+ labels (torch.Tensor): [P], binary ground truth labels (0 or 1).
+
+ Returns:
+ torch.Tensor: The calculated loss.
+ """
+ if len(labels) == 0:
+ # only void pixels, the gradients should be 0
+ return logits.sum() * 0.
+ signs = 2. * labels.float() - 1.
+ errors = (1. - logits * signs)
+ errors_sorted, perm = torch.sort(errors, dim=0, descending=True)
+ perm = perm.data
+ gt_sorted = labels[perm]
+ grad = lovasz_grad(gt_sorted)
+ loss = torch.dot(F.relu(errors_sorted), grad)
+ return loss
+
+
+def lovasz_hinge(logits,
+ labels,
+ classes='present',
+ per_image=False,
+ class_weight=None,
+ reduction='mean',
+ avg_factor=None,
+ ignore_index=255):
+ """Binary Lovasz hinge loss.
+
+ Args:
+ logits (torch.Tensor): [B, H, W], logits at each pixel
+ (between -infty and +infty).
+ labels (torch.Tensor): [B, H, W], binary ground truth masks (0 or 1).
+ classes (str | list[int], optional): Placeholder, to be consistent with
+ other loss. Default: None.
+ per_image (bool, optional): If per_image is True, compute the loss per
+ image instead of per batch. Default: False.
+ class_weight (list[float], optional): Placeholder, to be consistent
+ with other loss. Default: None.
+ reduction (str, optional): The method used to reduce the loss. Options
+ are "none", "mean" and "sum". This parameter only works when
+ per_image is True. Default: 'mean'.
+ avg_factor (int, optional): Average factor that is used to average
+ the loss. This parameter only works when per_image is True.
+ Default: None.
+ ignore_index (int | None): The label index to be ignored. Default: 255.
+
+ Returns:
+ torch.Tensor: The calculated loss.
+ """
+ if per_image:
+ loss = [
+ lovasz_hinge_flat(*flatten_binary_logits(
+ logit.unsqueeze(0), label.unsqueeze(0), ignore_index))
+ for logit, label in zip(logits, labels)
+ ]
+ loss = weight_reduce_loss(
+ torch.stack(loss), None, reduction, avg_factor)
+ else:
+ loss = lovasz_hinge_flat(
+ *flatten_binary_logits(logits, labels, ignore_index))
+ return loss
+
+
+def lovasz_softmax_flat(probs, labels, classes='present', class_weight=None):
+ """Multi-class Lovasz-Softmax loss.
+
+ Args:
+ probs (torch.Tensor): [P, C], class probabilities at each prediction
+ (between 0 and 1).
+ labels (torch.Tensor): [P], ground truth labels (between 0 and C - 1).
+ classes (str | list[int], optional): Classes chosen to calculate loss.
+ 'all' for all classes, 'present' for classes present in labels, or
+ a list of classes to average. Default: 'present'.
+ class_weight (list[float], optional): The weight for each class.
+ Default: None.
+
+ Returns:
+ torch.Tensor: The calculated loss.
+ """
+ if probs.numel() == 0:
+ # only void pixels, the gradients should be 0
+ return probs * 0.
+ C = probs.size(1)
+ losses = []
+ class_to_sum = list(range(C)) if classes in ['all', 'present'] else classes
+ for c in class_to_sum:
+ fg = (labels == c).float() # foreground for class c
+ if (classes == 'present' and fg.sum() == 0):
+ continue
+ if C == 1:
+ if len(classes) > 1:
+ raise ValueError('Sigmoid output possible only with 1 class')
+ class_pred = probs[:, 0]
+ else:
+ class_pred = probs[:, c]
+ errors = (fg - class_pred).abs()
+ errors_sorted, perm = torch.sort(errors, 0, descending=True)
+ perm = perm.data
+ fg_sorted = fg[perm]
+ loss = torch.dot(errors_sorted, lovasz_grad(fg_sorted))
+ if class_weight is not None:
+ loss *= class_weight[c]
+ losses.append(loss)
+ return torch.stack(losses).mean()
+
+
+def lovasz_softmax(probs,
+ labels,
+ classes='present',
+ per_image=False,
+ class_weight=None,
+ reduction='mean',
+ avg_factor=None,
+ ignore_index=255):
+ """Multi-class Lovasz-Softmax loss.
+
+ Args:
+ probs (torch.Tensor): [B, C, H, W], class probabilities at each
+ prediction (between 0 and 1).
+ labels (torch.Tensor): [B, H, W], ground truth labels (between 0 and
+ C - 1).
+ classes (str | list[int], optional): Classes chosen to calculate loss.
+ 'all' for all classes, 'present' for classes present in labels, or
+ a list of classes to average. Default: 'present'.
+ per_image (bool, optional): If per_image is True, compute the loss per
+ image instead of per batch. Default: False.
+ class_weight (list[float], optional): The weight for each class.
+ Default: None.
+ reduction (str, optional): The method used to reduce the loss. Options
+ are "none", "mean" and "sum". This parameter only works when
+ per_image is True. Default: 'mean'.
+ avg_factor (int, optional): Average factor that is used to average
+ the loss. This parameter only works when per_image is True.
+ Default: None.
+ ignore_index (int | None): The label index to be ignored. Default: 255.
+
+ Returns:
+ torch.Tensor: The calculated loss.
+ """
+
+ if per_image:
+ loss = [
+ lovasz_softmax_flat(
+ *flatten_probs(
+ prob.unsqueeze(0), label.unsqueeze(0), ignore_index),
+ classes=classes,
+ class_weight=class_weight)
+ for prob, label in zip(probs, labels)
+ ]
+ loss = weight_reduce_loss(
+ torch.stack(loss), None, reduction, avg_factor)
+ else:
+ loss = lovasz_softmax_flat(
+ *flatten_probs(probs, labels, ignore_index),
+ classes=classes,
+ class_weight=class_weight)
+ return loss
+
+
+@LOSSES.register_module()
+class LovaszLoss(nn.Module):
+ """LovaszLoss.
+
+ This loss is proposed in `The Lovasz-Softmax loss: A tractable surrogate
+ for the optimization of the intersection-over-union measure in neural
+ networks `_.
+
+ Args:
+ loss_type (str, optional): Binary or multi-class loss.
+ Default: 'multi_class'. Options are "binary" and "multi_class".
+ classes (str | list[int], optional): Classes chosen to calculate loss.
+ 'all' for all classes, 'present' for classes present in labels, or
+ a list of classes to average. Default: 'present'.
+ per_image (bool, optional): If per_image is True, compute the loss per
+ image instead of per batch. Default: False.
+ reduction (str, optional): The method used to reduce the loss. Options
+ are "none", "mean" and "sum". This parameter only works when
+ per_image is True. Default: 'mean'.
+ class_weight (list[float] | str, optional): Weight of each class. If in
+ str format, read them from a file. Defaults to None.
+ loss_weight (float, optional): Weight of the loss. Defaults to 1.0.
+ """
+
+ def __init__(self,
+ loss_type='multi_class',
+ classes='present',
+ per_image=False,
+ reduction='mean',
+ class_weight=None,
+ loss_weight=1.0):
+ super(LovaszLoss, self).__init__()
+ assert loss_type in ('binary', 'multi_class'), "loss_type should be \
+ 'binary' or 'multi_class'."
+
+ if loss_type == 'binary':
+ self.cls_criterion = lovasz_hinge
+ else:
+ self.cls_criterion = lovasz_softmax
+ assert classes in ('all', 'present') or mmcv.is_list_of(classes, int)
+ if not per_image:
+ assert reduction == 'none', "reduction should be 'none' when \
+ per_image is False."
+
+ self.classes = classes
+ self.per_image = per_image
+ self.reduction = reduction
+ self.loss_weight = loss_weight
+ self.class_weight = get_class_weight(class_weight)
+
+ def forward(self,
+ cls_score,
+ label,
+ weight=None,
+ avg_factor=None,
+ reduction_override=None,
+ **kwargs):
+ """Forward function."""
+ assert reduction_override in (None, 'none', 'mean', 'sum')
+ reduction = (
+ reduction_override if reduction_override else self.reduction)
+ if self.class_weight is not None:
+ class_weight = cls_score.new_tensor(self.class_weight)
+ else:
+ class_weight = None
+
+ # if multi-class loss, transform logits to probs
+ if self.cls_criterion == lovasz_softmax:
+ cls_score = F.softmax(cls_score, dim=1)
+
+ loss_cls = self.loss_weight * self.cls_criterion(
+ cls_score,
+ label,
+ self.classes,
+ self.per_image,
+ class_weight=class_weight,
+ reduction=reduction,
+ avg_factor=avg_factor,
+ **kwargs)
+ return loss_cls
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/losses/utils.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/losses/utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..2afb477a153ba9dead71066fa66ee024482afd82
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/losses/utils.py
@@ -0,0 +1,121 @@
+import functools
+
+import annotator.mmpkg.mmcv as mmcv
+import numpy as np
+import torch.nn.functional as F
+
+
+def get_class_weight(class_weight):
+ """Get class weight for loss function.
+
+ Args:
+ class_weight (list[float] | str | None): If class_weight is a str,
+ take it as a file name and read from it.
+ """
+ if isinstance(class_weight, str):
+ # take it as a file path
+ if class_weight.endswith('.npy'):
+ class_weight = np.load(class_weight)
+ else:
+ # pkl, json or yaml
+ class_weight = mmcv.load(class_weight)
+
+ return class_weight
+
+
+def reduce_loss(loss, reduction):
+ """Reduce loss as specified.
+
+ Args:
+ loss (Tensor): Elementwise loss tensor.
+ reduction (str): Options are "none", "mean" and "sum".
+
+ Return:
+ Tensor: Reduced loss tensor.
+ """
+ reduction_enum = F._Reduction.get_enum(reduction)
+ # none: 0, elementwise_mean:1, sum: 2
+ if reduction_enum == 0:
+ return loss
+ elif reduction_enum == 1:
+ return loss.mean()
+ elif reduction_enum == 2:
+ return loss.sum()
+
+
+def weight_reduce_loss(loss, weight=None, reduction='mean', avg_factor=None):
+ """Apply element-wise weight and reduce loss.
+
+ Args:
+ loss (Tensor): Element-wise loss.
+ weight (Tensor): Element-wise weights.
+ reduction (str): Same as built-in losses of PyTorch.
+ avg_factor (float): Avarage factor when computing the mean of losses.
+
+ Returns:
+ Tensor: Processed loss values.
+ """
+ # if weight is specified, apply element-wise weight
+ if weight is not None:
+ assert weight.dim() == loss.dim()
+ if weight.dim() > 1:
+ assert weight.size(1) == 1 or weight.size(1) == loss.size(1)
+ loss = loss * weight
+
+ # if avg_factor is not specified, just reduce the loss
+ if avg_factor is None:
+ loss = reduce_loss(loss, reduction)
+ else:
+ # if reduction is mean, then average the loss by avg_factor
+ if reduction == 'mean':
+ loss = loss.sum() / avg_factor
+ # if reduction is 'none', then do nothing, otherwise raise an error
+ elif reduction != 'none':
+ raise ValueError('avg_factor can not be used with reduction="sum"')
+ return loss
+
+
+def weighted_loss(loss_func):
+ """Create a weighted version of a given loss function.
+
+ To use this decorator, the loss function must have the signature like
+ `loss_func(pred, target, **kwargs)`. The function only needs to compute
+ element-wise loss without any reduction. This decorator will add weight
+ and reduction arguments to the function. The decorated function will have
+ the signature like `loss_func(pred, target, weight=None, reduction='mean',
+ avg_factor=None, **kwargs)`.
+
+ :Example:
+
+ >>> import torch
+ >>> @weighted_loss
+ >>> def l1_loss(pred, target):
+ >>> return (pred - target).abs()
+
+ >>> pred = torch.Tensor([0, 2, 3])
+ >>> target = torch.Tensor([1, 1, 1])
+ >>> weight = torch.Tensor([1, 0, 1])
+
+ >>> l1_loss(pred, target)
+ tensor(1.3333)
+ >>> l1_loss(pred, target, weight)
+ tensor(1.)
+ >>> l1_loss(pred, target, reduction='none')
+ tensor([1., 1., 2.])
+ >>> l1_loss(pred, target, weight, avg_factor=2)
+ tensor(1.5000)
+ """
+
+ @functools.wraps(loss_func)
+ def wrapper(pred,
+ target,
+ weight=None,
+ reduction='mean',
+ avg_factor=None,
+ **kwargs):
+ # get element-wise loss
+ loss = loss_func(pred, target, **kwargs)
+ loss = weight_reduce_loss(loss, weight, reduction, avg_factor)
+ return loss
+
+ return wrapper
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/necks/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/necks/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..9b9d3d5b3fe80247642d962edd6fb787537d01d6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/necks/__init__.py
@@ -0,0 +1,4 @@
+from .fpn import FPN
+from .multilevel_neck import MultiLevelNeck
+
+__all__ = ['FPN', 'MultiLevelNeck']
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/necks/fpn.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/necks/fpn.py
new file mode 100644
index 0000000000000000000000000000000000000000..ba47bbe1a0225587315627ac288e5ddf6497a244
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/necks/fpn.py
@@ -0,0 +1,212 @@
+import torch.nn as nn
+import torch.nn.functional as F
+from annotator.mmpkg.mmcv.cnn import ConvModule, xavier_init
+
+from ..builder import NECKS
+
+
+@NECKS.register_module()
+class FPN(nn.Module):
+ """Feature Pyramid Network.
+
+ This is an implementation of - Feature Pyramid Networks for Object
+ Detection (https://arxiv.org/abs/1612.03144)
+
+ Args:
+ in_channels (List[int]): Number of input channels per scale.
+ out_channels (int): Number of output channels (used at each scale)
+ num_outs (int): Number of output scales.
+ start_level (int): Index of the start input backbone level used to
+ build the feature pyramid. Default: 0.
+ end_level (int): Index of the end input backbone level (exclusive) to
+ build the feature pyramid. Default: -1, which means the last level.
+ add_extra_convs (bool | str): If bool, it decides whether to add conv
+ layers on top of the original feature maps. Default to False.
+ If True, its actual mode is specified by `extra_convs_on_inputs`.
+ If str, it specifies the source feature map of the extra convs.
+ Only the following options are allowed
+
+ - 'on_input': Last feat map of neck inputs (i.e. backbone feature).
+ - 'on_lateral': Last feature map after lateral convs.
+ - 'on_output': The last output feature map after fpn convs.
+ extra_convs_on_inputs (bool, deprecated): Whether to apply extra convs
+ on the original feature from the backbone. If True,
+ it is equivalent to `add_extra_convs='on_input'`. If False, it is
+ equivalent to set `add_extra_convs='on_output'`. Default to True.
+ relu_before_extra_convs (bool): Whether to apply relu before the extra
+ conv. Default: False.
+ no_norm_on_lateral (bool): Whether to apply norm on lateral.
+ Default: False.
+ conv_cfg (dict): Config dict for convolution layer. Default: None.
+ norm_cfg (dict): Config dict for normalization layer. Default: None.
+ act_cfg (str): Config dict for activation layer in ConvModule.
+ Default: None.
+ upsample_cfg (dict): Config dict for interpolate layer.
+ Default: `dict(mode='nearest')`
+
+ Example:
+ >>> import torch
+ >>> in_channels = [2, 3, 5, 7]
+ >>> scales = [340, 170, 84, 43]
+ >>> inputs = [torch.rand(1, c, s, s)
+ ... for c, s in zip(in_channels, scales)]
+ >>> self = FPN(in_channels, 11, len(in_channels)).eval()
+ >>> outputs = self.forward(inputs)
+ >>> for i in range(len(outputs)):
+ ... print(f'outputs[{i}].shape = {outputs[i].shape}')
+ outputs[0].shape = torch.Size([1, 11, 340, 340])
+ outputs[1].shape = torch.Size([1, 11, 170, 170])
+ outputs[2].shape = torch.Size([1, 11, 84, 84])
+ outputs[3].shape = torch.Size([1, 11, 43, 43])
+ """
+
+ def __init__(self,
+ in_channels,
+ out_channels,
+ num_outs,
+ start_level=0,
+ end_level=-1,
+ add_extra_convs=False,
+ extra_convs_on_inputs=False,
+ relu_before_extra_convs=False,
+ no_norm_on_lateral=False,
+ conv_cfg=None,
+ norm_cfg=None,
+ act_cfg=None,
+ upsample_cfg=dict(mode='nearest')):
+ super(FPN, self).__init__()
+ assert isinstance(in_channels, list)
+ self.in_channels = in_channels
+ self.out_channels = out_channels
+ self.num_ins = len(in_channels)
+ self.num_outs = num_outs
+ self.relu_before_extra_convs = relu_before_extra_convs
+ self.no_norm_on_lateral = no_norm_on_lateral
+ self.fp16_enabled = False
+ self.upsample_cfg = upsample_cfg.copy()
+
+ if end_level == -1:
+ self.backbone_end_level = self.num_ins
+ assert num_outs >= self.num_ins - start_level
+ else:
+ # if end_level < inputs, no extra level is allowed
+ self.backbone_end_level = end_level
+ assert end_level <= len(in_channels)
+ assert num_outs == end_level - start_level
+ self.start_level = start_level
+ self.end_level = end_level
+ self.add_extra_convs = add_extra_convs
+ assert isinstance(add_extra_convs, (str, bool))
+ if isinstance(add_extra_convs, str):
+ # Extra_convs_source choices: 'on_input', 'on_lateral', 'on_output'
+ assert add_extra_convs in ('on_input', 'on_lateral', 'on_output')
+ elif add_extra_convs: # True
+ if extra_convs_on_inputs:
+ # For compatibility with previous release
+ # TODO: deprecate `extra_convs_on_inputs`
+ self.add_extra_convs = 'on_input'
+ else:
+ self.add_extra_convs = 'on_output'
+
+ self.lateral_convs = nn.ModuleList()
+ self.fpn_convs = nn.ModuleList()
+
+ for i in range(self.start_level, self.backbone_end_level):
+ l_conv = ConvModule(
+ in_channels[i],
+ out_channels,
+ 1,
+ conv_cfg=conv_cfg,
+ norm_cfg=norm_cfg if not self.no_norm_on_lateral else None,
+ act_cfg=act_cfg,
+ inplace=False)
+ fpn_conv = ConvModule(
+ out_channels,
+ out_channels,
+ 3,
+ padding=1,
+ conv_cfg=conv_cfg,
+ norm_cfg=norm_cfg,
+ act_cfg=act_cfg,
+ inplace=False)
+
+ self.lateral_convs.append(l_conv)
+ self.fpn_convs.append(fpn_conv)
+
+ # add extra conv layers (e.g., RetinaNet)
+ extra_levels = num_outs - self.backbone_end_level + self.start_level
+ if self.add_extra_convs and extra_levels >= 1:
+ for i in range(extra_levels):
+ if i == 0 and self.add_extra_convs == 'on_input':
+ in_channels = self.in_channels[self.backbone_end_level - 1]
+ else:
+ in_channels = out_channels
+ extra_fpn_conv = ConvModule(
+ in_channels,
+ out_channels,
+ 3,
+ stride=2,
+ padding=1,
+ conv_cfg=conv_cfg,
+ norm_cfg=norm_cfg,
+ act_cfg=act_cfg,
+ inplace=False)
+ self.fpn_convs.append(extra_fpn_conv)
+
+ # default init_weights for conv(msra) and norm in ConvModule
+ def init_weights(self):
+ for m in self.modules():
+ if isinstance(m, nn.Conv2d):
+ xavier_init(m, distribution='uniform')
+
+ def forward(self, inputs):
+ assert len(inputs) == len(self.in_channels)
+
+ # build laterals
+ laterals = [
+ lateral_conv(inputs[i + self.start_level])
+ for i, lateral_conv in enumerate(self.lateral_convs)
+ ]
+
+ # build top-down path
+ used_backbone_levels = len(laterals)
+ for i in range(used_backbone_levels - 1, 0, -1):
+ # In some cases, fixing `scale factor` (e.g. 2) is preferred, but
+ # it cannot co-exist with `size` in `F.interpolate`.
+ if 'scale_factor' in self.upsample_cfg:
+ laterals[i - 1] += F.interpolate(laterals[i],
+ **self.upsample_cfg)
+ else:
+ prev_shape = laterals[i - 1].shape[2:]
+ laterals[i - 1] += F.interpolate(
+ laterals[i], size=prev_shape, **self.upsample_cfg)
+
+ # build outputs
+ # part 1: from original levels
+ outs = [
+ self.fpn_convs[i](laterals[i]) for i in range(used_backbone_levels)
+ ]
+ # part 2: add extra levels
+ if self.num_outs > len(outs):
+ # use max pool to get more levels on top of outputs
+ # (e.g., Faster R-CNN, Mask R-CNN)
+ if not self.add_extra_convs:
+ for i in range(self.num_outs - used_backbone_levels):
+ outs.append(F.max_pool2d(outs[-1], 1, stride=2))
+ # add conv layers on top of original feature maps (RetinaNet)
+ else:
+ if self.add_extra_convs == 'on_input':
+ extra_source = inputs[self.backbone_end_level - 1]
+ elif self.add_extra_convs == 'on_lateral':
+ extra_source = laterals[-1]
+ elif self.add_extra_convs == 'on_output':
+ extra_source = outs[-1]
+ else:
+ raise NotImplementedError
+ outs.append(self.fpn_convs[used_backbone_levels](extra_source))
+ for i in range(used_backbone_levels + 1, self.num_outs):
+ if self.relu_before_extra_convs:
+ outs.append(self.fpn_convs[i](F.relu(outs[-1])))
+ else:
+ outs.append(self.fpn_convs[i](outs[-1]))
+ return tuple(outs)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/necks/multilevel_neck.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/necks/multilevel_neck.py
new file mode 100644
index 0000000000000000000000000000000000000000..0b86c073cd1a72354d2426846125e80f7ab20dbc
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/necks/multilevel_neck.py
@@ -0,0 +1,70 @@
+import torch.nn as nn
+import torch.nn.functional as F
+from annotator.mmpkg.mmcv.cnn import ConvModule
+
+from ..builder import NECKS
+
+
+@NECKS.register_module()
+class MultiLevelNeck(nn.Module):
+ """MultiLevelNeck.
+
+ A neck structure connect vit backbone and decoder_heads.
+ Args:
+ in_channels (List[int]): Number of input channels per scale.
+ out_channels (int): Number of output channels (used at each scale).
+ scales (List[int]): Scale factors for each input feature map.
+ norm_cfg (dict): Config dict for normalization layer. Default: None.
+ act_cfg (dict): Config dict for activation layer in ConvModule.
+ Default: None.
+ """
+
+ def __init__(self,
+ in_channels,
+ out_channels,
+ scales=[0.5, 1, 2, 4],
+ norm_cfg=None,
+ act_cfg=None):
+ super(MultiLevelNeck, self).__init__()
+ assert isinstance(in_channels, list)
+ self.in_channels = in_channels
+ self.out_channels = out_channels
+ self.scales = scales
+ self.num_outs = len(scales)
+ self.lateral_convs = nn.ModuleList()
+ self.convs = nn.ModuleList()
+ for in_channel in in_channels:
+ self.lateral_convs.append(
+ ConvModule(
+ in_channel,
+ out_channels,
+ kernel_size=1,
+ norm_cfg=norm_cfg,
+ act_cfg=act_cfg))
+ for _ in range(self.num_outs):
+ self.convs.append(
+ ConvModule(
+ out_channels,
+ out_channels,
+ kernel_size=3,
+ padding=1,
+ stride=1,
+ norm_cfg=norm_cfg,
+ act_cfg=act_cfg))
+
+ def forward(self, inputs):
+ assert len(inputs) == len(self.in_channels)
+ print(inputs[0].shape)
+ inputs = [
+ lateral_conv(inputs[i])
+ for i, lateral_conv in enumerate(self.lateral_convs)
+ ]
+ # for len(inputs) not equal to self.num_outs
+ if len(inputs) == 1:
+ inputs = [inputs[0] for _ in range(self.num_outs)]
+ outs = []
+ for i in range(self.num_outs):
+ x_resize = F.interpolate(
+ inputs[i], scale_factor=self.scales[i], mode='bilinear')
+ outs.append(self.convs[i](x_resize))
+ return tuple(outs)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/segmentors/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/segmentors/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..dca2f09405330743c476e190896bee39c45498ea
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/segmentors/__init__.py
@@ -0,0 +1,5 @@
+from .base import BaseSegmentor
+from .cascade_encoder_decoder import CascadeEncoderDecoder
+from .encoder_decoder import EncoderDecoder
+
+__all__ = ['BaseSegmentor', 'EncoderDecoder', 'CascadeEncoderDecoder']
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/segmentors/base.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/segmentors/base.py
new file mode 100644
index 0000000000000000000000000000000000000000..a12d8beb8ea40bfa234197eddb4d3ef40dbfeb6f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/segmentors/base.py
@@ -0,0 +1,273 @@
+import logging
+import warnings
+from abc import ABCMeta, abstractmethod
+from collections import OrderedDict
+
+import annotator.mmpkg.mmcv as mmcv
+import numpy as np
+import torch
+import torch.distributed as dist
+import torch.nn as nn
+from annotator.mmpkg.mmcv.runner import auto_fp16
+
+
+class BaseSegmentor(nn.Module):
+ """Base class for segmentors."""
+
+ __metaclass__ = ABCMeta
+
+ def __init__(self):
+ super(BaseSegmentor, self).__init__()
+ self.fp16_enabled = False
+
+ @property
+ def with_neck(self):
+ """bool: whether the segmentor has neck"""
+ return hasattr(self, 'neck') and self.neck is not None
+
+ @property
+ def with_auxiliary_head(self):
+ """bool: whether the segmentor has auxiliary head"""
+ return hasattr(self,
+ 'auxiliary_head') and self.auxiliary_head is not None
+
+ @property
+ def with_decode_head(self):
+ """bool: whether the segmentor has decode head"""
+ return hasattr(self, 'decode_head') and self.decode_head is not None
+
+ @abstractmethod
+ def extract_feat(self, imgs):
+ """Placeholder for extract features from images."""
+ pass
+
+ @abstractmethod
+ def encode_decode(self, img, img_metas):
+ """Placeholder for encode images with backbone and decode into a
+ semantic segmentation map of the same size as input."""
+ pass
+
+ @abstractmethod
+ def forward_train(self, imgs, img_metas, **kwargs):
+ """Placeholder for Forward function for training."""
+ pass
+
+ @abstractmethod
+ def simple_test(self, img, img_meta, **kwargs):
+ """Placeholder for single image test."""
+ pass
+
+ @abstractmethod
+ def aug_test(self, imgs, img_metas, **kwargs):
+ """Placeholder for augmentation test."""
+ pass
+
+ def init_weights(self, pretrained=None):
+ """Initialize the weights in segmentor.
+
+ Args:
+ pretrained (str, optional): Path to pre-trained weights.
+ Defaults to None.
+ """
+ if pretrained is not None:
+ logger = logging.getLogger()
+ logger.info(f'load model from: {pretrained}')
+
+ def forward_test(self, imgs, img_metas, **kwargs):
+ """
+ Args:
+ imgs (List[Tensor]): the outer list indicates test-time
+ augmentations and inner Tensor should have a shape NxCxHxW,
+ which contains all images in the batch.
+ img_metas (List[List[dict]]): the outer list indicates test-time
+ augs (multiscale, flip, etc.) and the inner list indicates
+ images in a batch.
+ """
+ for var, name in [(imgs, 'imgs'), (img_metas, 'img_metas')]:
+ if not isinstance(var, list):
+ raise TypeError(f'{name} must be a list, but got '
+ f'{type(var)}')
+
+ num_augs = len(imgs)
+ if num_augs != len(img_metas):
+ raise ValueError(f'num of augmentations ({len(imgs)}) != '
+ f'num of image meta ({len(img_metas)})')
+ # all images in the same aug batch all of the same ori_shape and pad
+ # shape
+ for img_meta in img_metas:
+ ori_shapes = [_['ori_shape'] for _ in img_meta]
+ assert all(shape == ori_shapes[0] for shape in ori_shapes)
+ img_shapes = [_['img_shape'] for _ in img_meta]
+ assert all(shape == img_shapes[0] for shape in img_shapes)
+ pad_shapes = [_['pad_shape'] for _ in img_meta]
+ assert all(shape == pad_shapes[0] for shape in pad_shapes)
+
+ if num_augs == 1:
+ return self.simple_test(imgs[0], img_metas[0], **kwargs)
+ else:
+ return self.aug_test(imgs, img_metas, **kwargs)
+
+ @auto_fp16(apply_to=('img', ))
+ def forward(self, img, img_metas, return_loss=True, **kwargs):
+ """Calls either :func:`forward_train` or :func:`forward_test` depending
+ on whether ``return_loss`` is ``True``.
+
+ Note this setting will change the expected inputs. When
+ ``return_loss=True``, img and img_meta are single-nested (i.e. Tensor
+ and List[dict]), and when ``resturn_loss=False``, img and img_meta
+ should be double nested (i.e. List[Tensor], List[List[dict]]), with
+ the outer list indicating test time augmentations.
+ """
+ if return_loss:
+ return self.forward_train(img, img_metas, **kwargs)
+ else:
+ return self.forward_test(img, img_metas, **kwargs)
+
+ def train_step(self, data_batch, optimizer, **kwargs):
+ """The iteration step during training.
+
+ This method defines an iteration step during training, except for the
+ back propagation and optimizer updating, which are done in an optimizer
+ hook. Note that in some complicated cases or models, the whole process
+ including back propagation and optimizer updating is also defined in
+ this method, such as GAN.
+
+ Args:
+ data (dict): The output of dataloader.
+ optimizer (:obj:`torch.optim.Optimizer` | dict): The optimizer of
+ runner is passed to ``train_step()``. This argument is unused
+ and reserved.
+
+ Returns:
+ dict: It should contain at least 3 keys: ``loss``, ``log_vars``,
+ ``num_samples``.
+ ``loss`` is a tensor for back propagation, which can be a
+ weighted sum of multiple losses.
+ ``log_vars`` contains all the variables to be sent to the
+ logger.
+ ``num_samples`` indicates the batch size (when the model is
+ DDP, it means the batch size on each GPU), which is used for
+ averaging the logs.
+ """
+ losses = self(**data_batch)
+ loss, log_vars = self._parse_losses(losses)
+
+ outputs = dict(
+ loss=loss,
+ log_vars=log_vars,
+ num_samples=len(data_batch['img_metas']))
+
+ return outputs
+
+ def val_step(self, data_batch, **kwargs):
+ """The iteration step during validation.
+
+ This method shares the same signature as :func:`train_step`, but used
+ during val epochs. Note that the evaluation after training epochs is
+ not implemented with this method, but an evaluation hook.
+ """
+ output = self(**data_batch, **kwargs)
+ return output
+
+ @staticmethod
+ def _parse_losses(losses):
+ """Parse the raw outputs (losses) of the network.
+
+ Args:
+ losses (dict): Raw output of the network, which usually contain
+ losses and other necessary information.
+
+ Returns:
+ tuple[Tensor, dict]: (loss, log_vars), loss is the loss tensor
+ which may be a weighted sum of all losses, log_vars contains
+ all the variables to be sent to the logger.
+ """
+ log_vars = OrderedDict()
+ for loss_name, loss_value in losses.items():
+ if isinstance(loss_value, torch.Tensor):
+ log_vars[loss_name] = loss_value.mean()
+ elif isinstance(loss_value, list):
+ log_vars[loss_name] = sum(_loss.mean() for _loss in loss_value)
+ else:
+ raise TypeError(
+ f'{loss_name} is not a tensor or list of tensors')
+
+ loss = sum(_value for _key, _value in log_vars.items()
+ if 'loss' in _key)
+
+ log_vars['loss'] = loss
+ for loss_name, loss_value in log_vars.items():
+ # reduce loss when distributed training
+ if dist.is_available() and dist.is_initialized():
+ loss_value = loss_value.data.clone()
+ dist.all_reduce(loss_value.div_(dist.get_world_size()))
+ log_vars[loss_name] = loss_value.item()
+
+ return loss, log_vars
+
+ def show_result(self,
+ img,
+ result,
+ palette=None,
+ win_name='',
+ show=False,
+ wait_time=0,
+ out_file=None,
+ opacity=0.5):
+ """Draw `result` over `img`.
+
+ Args:
+ img (str or Tensor): The image to be displayed.
+ result (Tensor): The semantic segmentation results to draw over
+ `img`.
+ palette (list[list[int]]] | np.ndarray | None): The palette of
+ segmentation map. If None is given, random palette will be
+ generated. Default: None
+ win_name (str): The window name.
+ wait_time (int): Value of waitKey param.
+ Default: 0.
+ show (bool): Whether to show the image.
+ Default: False.
+ out_file (str or None): The filename to write the image.
+ Default: None.
+ opacity(float): Opacity of painted segmentation map.
+ Default 0.5.
+ Must be in (0, 1] range.
+ Returns:
+ img (Tensor): Only if not `show` or `out_file`
+ """
+ img = mmcv.imread(img)
+ img = img.copy()
+ seg = result[0]
+ if palette is None:
+ if self.PALETTE is None:
+ palette = np.random.randint(
+ 0, 255, size=(len(self.CLASSES), 3))
+ else:
+ palette = self.PALETTE
+ palette = np.array(palette)
+ assert palette.shape[0] == len(self.CLASSES)
+ assert palette.shape[1] == 3
+ assert len(palette.shape) == 2
+ assert 0 < opacity <= 1.0
+ color_seg = np.zeros((seg.shape[0], seg.shape[1], 3), dtype=np.uint8)
+ for label, color in enumerate(palette):
+ color_seg[seg == label, :] = color
+ # convert to BGR
+ color_seg = color_seg[..., ::-1]
+
+ img = img * (1 - opacity) + color_seg * opacity
+ img = img.astype(np.uint8)
+ # if out_file specified, do not show image in window
+ if out_file is not None:
+ show = False
+
+ if show:
+ mmcv.imshow(img, win_name, wait_time)
+ if out_file is not None:
+ mmcv.imwrite(img, out_file)
+
+ if not (show or out_file):
+ warnings.warn('show==False and out_file is not specified, only '
+ 'result image will be returned')
+ return img
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/segmentors/cascade_encoder_decoder.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/segmentors/cascade_encoder_decoder.py
new file mode 100644
index 0000000000000000000000000000000000000000..74547f0fb01da9fe32c1d142768eb788b7e8673c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/segmentors/cascade_encoder_decoder.py
@@ -0,0 +1,98 @@
+from torch import nn
+
+from annotator.mmpkg.mmseg.core import add_prefix
+from annotator.mmpkg.mmseg.ops import resize
+from .. import builder
+from ..builder import SEGMENTORS
+from .encoder_decoder import EncoderDecoder
+
+
+@SEGMENTORS.register_module()
+class CascadeEncoderDecoder(EncoderDecoder):
+ """Cascade Encoder Decoder segmentors.
+
+ CascadeEncoderDecoder almost the same as EncoderDecoder, while decoders of
+ CascadeEncoderDecoder are cascaded. The output of previous decoder_head
+ will be the input of next decoder_head.
+ """
+
+ def __init__(self,
+ num_stages,
+ backbone,
+ decode_head,
+ neck=None,
+ auxiliary_head=None,
+ train_cfg=None,
+ test_cfg=None,
+ pretrained=None):
+ self.num_stages = num_stages
+ super(CascadeEncoderDecoder, self).__init__(
+ backbone=backbone,
+ decode_head=decode_head,
+ neck=neck,
+ auxiliary_head=auxiliary_head,
+ train_cfg=train_cfg,
+ test_cfg=test_cfg,
+ pretrained=pretrained)
+
+ def _init_decode_head(self, decode_head):
+ """Initialize ``decode_head``"""
+ assert isinstance(decode_head, list)
+ assert len(decode_head) == self.num_stages
+ self.decode_head = nn.ModuleList()
+ for i in range(self.num_stages):
+ self.decode_head.append(builder.build_head(decode_head[i]))
+ self.align_corners = self.decode_head[-1].align_corners
+ self.num_classes = self.decode_head[-1].num_classes
+
+ def init_weights(self, pretrained=None):
+ """Initialize the weights in backbone and heads.
+
+ Args:
+ pretrained (str, optional): Path to pre-trained weights.
+ Defaults to None.
+ """
+ self.backbone.init_weights(pretrained=pretrained)
+ for i in range(self.num_stages):
+ self.decode_head[i].init_weights()
+ if self.with_auxiliary_head:
+ if isinstance(self.auxiliary_head, nn.ModuleList):
+ for aux_head in self.auxiliary_head:
+ aux_head.init_weights()
+ else:
+ self.auxiliary_head.init_weights()
+
+ def encode_decode(self, img, img_metas):
+ """Encode images with backbone and decode into a semantic segmentation
+ map of the same size as input."""
+ x = self.extract_feat(img)
+ out = self.decode_head[0].forward_test(x, img_metas, self.test_cfg)
+ for i in range(1, self.num_stages):
+ out = self.decode_head[i].forward_test(x, out, img_metas,
+ self.test_cfg)
+ out = resize(
+ input=out,
+ size=img.shape[2:],
+ mode='bilinear',
+ align_corners=self.align_corners)
+ return out
+
+ def _decode_head_forward_train(self, x, img_metas, gt_semantic_seg):
+ """Run forward function and calculate loss for decode head in
+ training."""
+ losses = dict()
+
+ loss_decode = self.decode_head[0].forward_train(
+ x, img_metas, gt_semantic_seg, self.train_cfg)
+
+ losses.update(add_prefix(loss_decode, 'decode_0'))
+
+ for i in range(1, self.num_stages):
+ # forward test again, maybe unnecessary for most methods.
+ prev_outputs = self.decode_head[i - 1].forward_test(
+ x, img_metas, self.test_cfg)
+ loss_decode = self.decode_head[i].forward_train(
+ x, prev_outputs, img_metas, gt_semantic_seg, self.train_cfg)
+ losses.update(add_prefix(loss_decode, f'decode_{i}'))
+
+ return losses
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/segmentors/encoder_decoder.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/segmentors/encoder_decoder.py
new file mode 100644
index 0000000000000000000000000000000000000000..30c25f35a15e65e45f9221a3f19ace8579f73301
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/segmentors/encoder_decoder.py
@@ -0,0 +1,298 @@
+import torch
+import torch.nn as nn
+import torch.nn.functional as F
+
+from annotator.mmpkg.mmseg.core import add_prefix
+from annotator.mmpkg.mmseg.ops import resize
+from .. import builder
+from ..builder import SEGMENTORS
+from .base import BaseSegmentor
+
+
+@SEGMENTORS.register_module()
+class EncoderDecoder(BaseSegmentor):
+ """Encoder Decoder segmentors.
+
+ EncoderDecoder typically consists of backbone, decode_head, auxiliary_head.
+ Note that auxiliary_head is only used for deep supervision during training,
+ which could be dumped during inference.
+ """
+
+ def __init__(self,
+ backbone,
+ decode_head,
+ neck=None,
+ auxiliary_head=None,
+ train_cfg=None,
+ test_cfg=None,
+ pretrained=None):
+ super(EncoderDecoder, self).__init__()
+ self.backbone = builder.build_backbone(backbone)
+ if neck is not None:
+ self.neck = builder.build_neck(neck)
+ self._init_decode_head(decode_head)
+ self._init_auxiliary_head(auxiliary_head)
+
+ self.train_cfg = train_cfg
+ self.test_cfg = test_cfg
+
+ self.init_weights(pretrained=pretrained)
+
+ assert self.with_decode_head
+
+ def _init_decode_head(self, decode_head):
+ """Initialize ``decode_head``"""
+ self.decode_head = builder.build_head(decode_head)
+ self.align_corners = self.decode_head.align_corners
+ self.num_classes = self.decode_head.num_classes
+
+ def _init_auxiliary_head(self, auxiliary_head):
+ """Initialize ``auxiliary_head``"""
+ if auxiliary_head is not None:
+ if isinstance(auxiliary_head, list):
+ self.auxiliary_head = nn.ModuleList()
+ for head_cfg in auxiliary_head:
+ self.auxiliary_head.append(builder.build_head(head_cfg))
+ else:
+ self.auxiliary_head = builder.build_head(auxiliary_head)
+
+ def init_weights(self, pretrained=None):
+ """Initialize the weights in backbone and heads.
+
+ Args:
+ pretrained (str, optional): Path to pre-trained weights.
+ Defaults to None.
+ """
+
+ super(EncoderDecoder, self).init_weights(pretrained)
+ self.backbone.init_weights(pretrained=pretrained)
+ self.decode_head.init_weights()
+ if self.with_auxiliary_head:
+ if isinstance(self.auxiliary_head, nn.ModuleList):
+ for aux_head in self.auxiliary_head:
+ aux_head.init_weights()
+ else:
+ self.auxiliary_head.init_weights()
+
+ def extract_feat(self, img):
+ """Extract features from images."""
+ x = self.backbone(img)
+ if self.with_neck:
+ x = self.neck(x)
+ return x
+
+ def encode_decode(self, img, img_metas):
+ """Encode images with backbone and decode into a semantic segmentation
+ map of the same size as input."""
+ x = self.extract_feat(img)
+ out = self._decode_head_forward_test(x, img_metas)
+ out = resize(
+ input=out,
+ size=img.shape[2:],
+ mode='bilinear',
+ align_corners=self.align_corners)
+ return out
+
+ def _decode_head_forward_train(self, x, img_metas, gt_semantic_seg):
+ """Run forward function and calculate loss for decode head in
+ training."""
+ losses = dict()
+ loss_decode = self.decode_head.forward_train(x, img_metas,
+ gt_semantic_seg,
+ self.train_cfg)
+
+ losses.update(add_prefix(loss_decode, 'decode'))
+ return losses
+
+ def _decode_head_forward_test(self, x, img_metas):
+ """Run forward function and calculate loss for decode head in
+ inference."""
+ seg_logits = self.decode_head.forward_test(x, img_metas, self.test_cfg)
+ return seg_logits
+
+ def _auxiliary_head_forward_train(self, x, img_metas, gt_semantic_seg):
+ """Run forward function and calculate loss for auxiliary head in
+ training."""
+ losses = dict()
+ if isinstance(self.auxiliary_head, nn.ModuleList):
+ for idx, aux_head in enumerate(self.auxiliary_head):
+ loss_aux = aux_head.forward_train(x, img_metas,
+ gt_semantic_seg,
+ self.train_cfg)
+ losses.update(add_prefix(loss_aux, f'aux_{idx}'))
+ else:
+ loss_aux = self.auxiliary_head.forward_train(
+ x, img_metas, gt_semantic_seg, self.train_cfg)
+ losses.update(add_prefix(loss_aux, 'aux'))
+
+ return losses
+
+ def forward_dummy(self, img):
+ """Dummy forward function."""
+ seg_logit = self.encode_decode(img, None)
+
+ return seg_logit
+
+ def forward_train(self, img, img_metas, gt_semantic_seg):
+ """Forward function for training.
+
+ Args:
+ img (Tensor): Input images.
+ img_metas (list[dict]): List of image info dict where each dict
+ has: 'img_shape', 'scale_factor', 'flip', and may also contain
+ 'filename', 'ori_shape', 'pad_shape', and 'img_norm_cfg'.
+ For details on the values of these keys see
+ `mmseg/datasets/pipelines/formatting.py:Collect`.
+ gt_semantic_seg (Tensor): Semantic segmentation masks
+ used if the architecture supports semantic segmentation task.
+
+ Returns:
+ dict[str, Tensor]: a dictionary of loss components
+ """
+
+ x = self.extract_feat(img)
+
+ losses = dict()
+
+ loss_decode = self._decode_head_forward_train(x, img_metas,
+ gt_semantic_seg)
+ losses.update(loss_decode)
+
+ if self.with_auxiliary_head:
+ loss_aux = self._auxiliary_head_forward_train(
+ x, img_metas, gt_semantic_seg)
+ losses.update(loss_aux)
+
+ return losses
+
+ # TODO refactor
+ def slide_inference(self, img, img_meta, rescale):
+ """Inference by sliding-window with overlap.
+
+ If h_crop > h_img or w_crop > w_img, the small patch will be used to
+ decode without padding.
+ """
+
+ h_stride, w_stride = self.test_cfg.stride
+ h_crop, w_crop = self.test_cfg.crop_size
+ batch_size, _, h_img, w_img = img.size()
+ num_classes = self.num_classes
+ h_grids = max(h_img - h_crop + h_stride - 1, 0) // h_stride + 1
+ w_grids = max(w_img - w_crop + w_stride - 1, 0) // w_stride + 1
+ preds = img.new_zeros((batch_size, num_classes, h_img, w_img))
+ count_mat = img.new_zeros((batch_size, 1, h_img, w_img))
+ for h_idx in range(h_grids):
+ for w_idx in range(w_grids):
+ y1 = h_idx * h_stride
+ x1 = w_idx * w_stride
+ y2 = min(y1 + h_crop, h_img)
+ x2 = min(x1 + w_crop, w_img)
+ y1 = max(y2 - h_crop, 0)
+ x1 = max(x2 - w_crop, 0)
+ crop_img = img[:, :, y1:y2, x1:x2]
+ crop_seg_logit = self.encode_decode(crop_img, img_meta)
+ preds += F.pad(crop_seg_logit,
+ (int(x1), int(preds.shape[3] - x2), int(y1),
+ int(preds.shape[2] - y2)))
+
+ count_mat[:, :, y1:y2, x1:x2] += 1
+ assert (count_mat == 0).sum() == 0
+ if torch.onnx.is_in_onnx_export():
+ # cast count_mat to constant while exporting to ONNX
+ count_mat = torch.from_numpy(
+ count_mat.cpu().detach().numpy()).to(device=img.device)
+ preds = preds / count_mat
+ if rescale:
+ preds = resize(
+ preds,
+ size=img_meta[0]['ori_shape'][:2],
+ mode='bilinear',
+ align_corners=self.align_corners,
+ warning=False)
+ return preds
+
+ def whole_inference(self, img, img_meta, rescale):
+ """Inference with full image."""
+
+ seg_logit = self.encode_decode(img, img_meta)
+ if rescale:
+ # support dynamic shape for onnx
+ if torch.onnx.is_in_onnx_export():
+ size = img.shape[2:]
+ else:
+ size = img_meta[0]['ori_shape'][:2]
+ seg_logit = resize(
+ seg_logit,
+ size=size,
+ mode='bilinear',
+ align_corners=self.align_corners,
+ warning=False)
+
+ return seg_logit
+
+ def inference(self, img, img_meta, rescale):
+ """Inference with slide/whole style.
+
+ Args:
+ img (Tensor): The input image of shape (N, 3, H, W).
+ img_meta (dict): Image info dict where each dict has: 'img_shape',
+ 'scale_factor', 'flip', and may also contain
+ 'filename', 'ori_shape', 'pad_shape', and 'img_norm_cfg'.
+ For details on the values of these keys see
+ `mmseg/datasets/pipelines/formatting.py:Collect`.
+ rescale (bool): Whether rescale back to original shape.
+
+ Returns:
+ Tensor: The output segmentation map.
+ """
+
+ assert self.test_cfg.mode in ['slide', 'whole']
+ ori_shape = img_meta[0]['ori_shape']
+ assert all(_['ori_shape'] == ori_shape for _ in img_meta)
+ if self.test_cfg.mode == 'slide':
+ seg_logit = self.slide_inference(img, img_meta, rescale)
+ else:
+ seg_logit = self.whole_inference(img, img_meta, rescale)
+ output = F.softmax(seg_logit, dim=1)
+ flip = img_meta[0]['flip']
+ if flip:
+ flip_direction = img_meta[0]['flip_direction']
+ assert flip_direction in ['horizontal', 'vertical']
+ if flip_direction == 'horizontal':
+ output = output.flip(dims=(3, ))
+ elif flip_direction == 'vertical':
+ output = output.flip(dims=(2, ))
+
+ return output
+
+ def simple_test(self, img, img_meta, rescale=True):
+ """Simple test with single image."""
+ seg_logit = self.inference(img, img_meta, rescale)
+ seg_pred = seg_logit.argmax(dim=1)
+ if torch.onnx.is_in_onnx_export():
+ # our inference backend only support 4D output
+ seg_pred = seg_pred.unsqueeze(0)
+ return seg_pred
+ seg_pred = seg_pred.cpu().numpy()
+ # unravel batch dim
+ seg_pred = list(seg_pred)
+ return seg_pred
+
+ def aug_test(self, imgs, img_metas, rescale=True):
+ """Test with augmentations.
+
+ Only rescale=True is supported.
+ """
+ # aug_test rescale all imgs back to ori_shape for now
+ assert rescale
+ # to save memory, we get augmented seg logit inplace
+ seg_logit = self.inference(imgs[0], img_metas[0], rescale)
+ for i in range(1, len(imgs)):
+ cur_seg_logit = self.inference(imgs[i], img_metas[i], rescale)
+ seg_logit += cur_seg_logit
+ seg_logit /= len(imgs)
+ seg_pred = seg_logit.argmax(dim=1)
+ seg_pred = seg_pred.cpu().numpy()
+ # unravel batch dim
+ seg_pred = list(seg_pred)
+ return seg_pred
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/utils/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/utils/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..3d3bdd349b9f2ae499a2fcb2ac1d2e3c77befebe
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/utils/__init__.py
@@ -0,0 +1,13 @@
+from .drop import DropPath
+from .inverted_residual import InvertedResidual, InvertedResidualV3
+from .make_divisible import make_divisible
+from .res_layer import ResLayer
+from .se_layer import SELayer
+from .self_attention_block import SelfAttentionBlock
+from .up_conv_block import UpConvBlock
+from .weight_init import trunc_normal_
+
+__all__ = [
+ 'ResLayer', 'SelfAttentionBlock', 'make_divisible', 'InvertedResidual',
+ 'UpConvBlock', 'InvertedResidualV3', 'SELayer', 'DropPath', 'trunc_normal_'
+]
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/utils/drop.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/utils/drop.py
new file mode 100644
index 0000000000000000000000000000000000000000..4520b0ff407d2a95a864086bdbca0065f222aa63
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/utils/drop.py
@@ -0,0 +1,31 @@
+"""Modified from https://github.com/rwightman/pytorch-image-
+models/blob/master/timm/models/layers/drop.py."""
+
+import torch
+from torch import nn
+
+
+class DropPath(nn.Module):
+ """Drop paths (Stochastic Depth) per sample (when applied in main path of
+ residual blocks).
+
+ Args:
+ drop_prob (float): Drop rate for paths of model. Dropout rate has
+ to be between 0 and 1. Default: 0.
+ """
+
+ def __init__(self, drop_prob=0.):
+ super(DropPath, self).__init__()
+ self.drop_prob = drop_prob
+ self.keep_prob = 1 - drop_prob
+
+ def forward(self, x):
+ if self.drop_prob == 0. or not self.training:
+ return x
+ shape = (x.shape[0], ) + (1, ) * (
+ x.ndim - 1) # work with diff dim tensors, not just 2D ConvNets
+ random_tensor = self.keep_prob + torch.rand(
+ shape, dtype=x.dtype, device=x.device)
+ random_tensor.floor_() # binarize
+ output = x.div(self.keep_prob) * random_tensor
+ return output
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/utils/inverted_residual.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/utils/inverted_residual.py
new file mode 100644
index 0000000000000000000000000000000000000000..2df5ebd7c94c0a66b0d05ef9e200ddbeabfa79f6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/utils/inverted_residual.py
@@ -0,0 +1,208 @@
+from annotator.mmpkg.mmcv.cnn import ConvModule
+from torch import nn
+from torch.utils import checkpoint as cp
+
+from .se_layer import SELayer
+
+
+class InvertedResidual(nn.Module):
+ """InvertedResidual block for MobileNetV2.
+
+ Args:
+ in_channels (int): The input channels of the InvertedResidual block.
+ out_channels (int): The output channels of the InvertedResidual block.
+ stride (int): Stride of the middle (first) 3x3 convolution.
+ expand_ratio (int): Adjusts number of channels of the hidden layer
+ in InvertedResidual by this amount.
+ dilation (int): Dilation rate of depthwise conv. Default: 1
+ conv_cfg (dict): Config dict for convolution layer.
+ Default: None, which means using conv2d.
+ norm_cfg (dict): Config dict for normalization layer.
+ Default: dict(type='BN').
+ act_cfg (dict): Config dict for activation layer.
+ Default: dict(type='ReLU6').
+ with_cp (bool): Use checkpoint or not. Using checkpoint will save some
+ memory while slowing down the training speed. Default: False.
+
+ Returns:
+ Tensor: The output tensor.
+ """
+
+ def __init__(self,
+ in_channels,
+ out_channels,
+ stride,
+ expand_ratio,
+ dilation=1,
+ conv_cfg=None,
+ norm_cfg=dict(type='BN'),
+ act_cfg=dict(type='ReLU6'),
+ with_cp=False):
+ super(InvertedResidual, self).__init__()
+ self.stride = stride
+ assert stride in [1, 2], f'stride must in [1, 2]. ' \
+ f'But received {stride}.'
+ self.with_cp = with_cp
+ self.use_res_connect = self.stride == 1 and in_channels == out_channels
+ hidden_dim = int(round(in_channels * expand_ratio))
+
+ layers = []
+ if expand_ratio != 1:
+ layers.append(
+ ConvModule(
+ in_channels=in_channels,
+ out_channels=hidden_dim,
+ kernel_size=1,
+ conv_cfg=conv_cfg,
+ norm_cfg=norm_cfg,
+ act_cfg=act_cfg))
+ layers.extend([
+ ConvModule(
+ in_channels=hidden_dim,
+ out_channels=hidden_dim,
+ kernel_size=3,
+ stride=stride,
+ padding=dilation,
+ dilation=dilation,
+ groups=hidden_dim,
+ conv_cfg=conv_cfg,
+ norm_cfg=norm_cfg,
+ act_cfg=act_cfg),
+ ConvModule(
+ in_channels=hidden_dim,
+ out_channels=out_channels,
+ kernel_size=1,
+ conv_cfg=conv_cfg,
+ norm_cfg=norm_cfg,
+ act_cfg=None)
+ ])
+ self.conv = nn.Sequential(*layers)
+
+ def forward(self, x):
+
+ def _inner_forward(x):
+ if self.use_res_connect:
+ return x + self.conv(x)
+ else:
+ return self.conv(x)
+
+ if self.with_cp and x.requires_grad:
+ out = cp.checkpoint(_inner_forward, x)
+ else:
+ out = _inner_forward(x)
+
+ return out
+
+
+class InvertedResidualV3(nn.Module):
+ """Inverted Residual Block for MobileNetV3.
+
+ Args:
+ in_channels (int): The input channels of this Module.
+ out_channels (int): The output channels of this Module.
+ mid_channels (int): The input channels of the depthwise convolution.
+ kernel_size (int): The kernel size of the depthwise convolution.
+ Default: 3.
+ stride (int): The stride of the depthwise convolution. Default: 1.
+ se_cfg (dict): Config dict for se layer. Default: None, which means no
+ se layer.
+ with_expand_conv (bool): Use expand conv or not. If set False,
+ mid_channels must be the same with in_channels. Default: True.
+ conv_cfg (dict): Config dict for convolution layer. Default: None,
+ which means using conv2d.
+ norm_cfg (dict): Config dict for normalization layer.
+ Default: dict(type='BN').
+ act_cfg (dict): Config dict for activation layer.
+ Default: dict(type='ReLU').
+ with_cp (bool): Use checkpoint or not. Using checkpoint will save some
+ memory while slowing down the training speed. Default: False.
+
+ Returns:
+ Tensor: The output tensor.
+ """
+
+ def __init__(self,
+ in_channels,
+ out_channels,
+ mid_channels,
+ kernel_size=3,
+ stride=1,
+ se_cfg=None,
+ with_expand_conv=True,
+ conv_cfg=None,
+ norm_cfg=dict(type='BN'),
+ act_cfg=dict(type='ReLU'),
+ with_cp=False):
+ super(InvertedResidualV3, self).__init__()
+ self.with_res_shortcut = (stride == 1 and in_channels == out_channels)
+ assert stride in [1, 2]
+ self.with_cp = with_cp
+ self.with_se = se_cfg is not None
+ self.with_expand_conv = with_expand_conv
+
+ if self.with_se:
+ assert isinstance(se_cfg, dict)
+ if not self.with_expand_conv:
+ assert mid_channels == in_channels
+
+ if self.with_expand_conv:
+ self.expand_conv = ConvModule(
+ in_channels=in_channels,
+ out_channels=mid_channels,
+ kernel_size=1,
+ stride=1,
+ padding=0,
+ conv_cfg=conv_cfg,
+ norm_cfg=norm_cfg,
+ act_cfg=act_cfg)
+ self.depthwise_conv = ConvModule(
+ in_channels=mid_channels,
+ out_channels=mid_channels,
+ kernel_size=kernel_size,
+ stride=stride,
+ padding=kernel_size // 2,
+ groups=mid_channels,
+ conv_cfg=dict(
+ type='Conv2dAdaptivePadding') if stride == 2 else conv_cfg,
+ norm_cfg=norm_cfg,
+ act_cfg=act_cfg)
+
+ if self.with_se:
+ self.se = SELayer(**se_cfg)
+
+ self.linear_conv = ConvModule(
+ in_channels=mid_channels,
+ out_channels=out_channels,
+ kernel_size=1,
+ stride=1,
+ padding=0,
+ conv_cfg=conv_cfg,
+ norm_cfg=norm_cfg,
+ act_cfg=None)
+
+ def forward(self, x):
+
+ def _inner_forward(x):
+ out = x
+
+ if self.with_expand_conv:
+ out = self.expand_conv(out)
+
+ out = self.depthwise_conv(out)
+
+ if self.with_se:
+ out = self.se(out)
+
+ out = self.linear_conv(out)
+
+ if self.with_res_shortcut:
+ return x + out
+ else:
+ return out
+
+ if self.with_cp and x.requires_grad:
+ out = cp.checkpoint(_inner_forward, x)
+ else:
+ out = _inner_forward(x)
+
+ return out
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/utils/make_divisible.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/utils/make_divisible.py
new file mode 100644
index 0000000000000000000000000000000000000000..75ad756052529f52fe83bb95dd1f0ecfc9a13078
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/utils/make_divisible.py
@@ -0,0 +1,27 @@
+def make_divisible(value, divisor, min_value=None, min_ratio=0.9):
+ """Make divisible function.
+
+ This function rounds the channel number to the nearest value that can be
+ divisible by the divisor. It is taken from the original tf repo. It ensures
+ that all layers have a channel number that is divisible by divisor. It can
+ be seen here: https://github.com/tensorflow/models/blob/master/research/slim/nets/mobilenet/mobilenet.py # noqa
+
+ Args:
+ value (int): The original channel number.
+ divisor (int): The divisor to fully divide the channel number.
+ min_value (int): The minimum value of the output channel.
+ Default: None, means that the minimum value equal to the divisor.
+ min_ratio (float): The minimum ratio of the rounded channel number to
+ the original channel number. Default: 0.9.
+
+ Returns:
+ int: The modified output channel number.
+ """
+
+ if min_value is None:
+ min_value = divisor
+ new_value = max(min_value, int(value + divisor / 2) // divisor * divisor)
+ # Make sure that round down does not go down by more than (1-min_ratio).
+ if new_value < min_ratio * value:
+ new_value += divisor
+ return new_value
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/utils/res_layer.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/utils/res_layer.py
new file mode 100644
index 0000000000000000000000000000000000000000..d41075a57356b4fd802bc4ff199e55e63678b589
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/utils/res_layer.py
@@ -0,0 +1,94 @@
+from annotator.mmpkg.mmcv.cnn import build_conv_layer, build_norm_layer
+from torch import nn as nn
+
+
+class ResLayer(nn.Sequential):
+ """ResLayer to build ResNet style backbone.
+
+ Args:
+ block (nn.Module): block used to build ResLayer.
+ inplanes (int): inplanes of block.
+ planes (int): planes of block.
+ num_blocks (int): number of blocks.
+ stride (int): stride of the first block. Default: 1
+ avg_down (bool): Use AvgPool instead of stride conv when
+ downsampling in the bottleneck. Default: False
+ conv_cfg (dict): dictionary to construct and config conv layer.
+ Default: None
+ norm_cfg (dict): dictionary to construct and config norm layer.
+ Default: dict(type='BN')
+ multi_grid (int | None): Multi grid dilation rates of last
+ stage. Default: None
+ contract_dilation (bool): Whether contract first dilation of each layer
+ Default: False
+ """
+
+ def __init__(self,
+ block,
+ inplanes,
+ planes,
+ num_blocks,
+ stride=1,
+ dilation=1,
+ avg_down=False,
+ conv_cfg=None,
+ norm_cfg=dict(type='BN'),
+ multi_grid=None,
+ contract_dilation=False,
+ **kwargs):
+ self.block = block
+
+ downsample = None
+ if stride != 1 or inplanes != planes * block.expansion:
+ downsample = []
+ conv_stride = stride
+ if avg_down:
+ conv_stride = 1
+ downsample.append(
+ nn.AvgPool2d(
+ kernel_size=stride,
+ stride=stride,
+ ceil_mode=True,
+ count_include_pad=False))
+ downsample.extend([
+ build_conv_layer(
+ conv_cfg,
+ inplanes,
+ planes * block.expansion,
+ kernel_size=1,
+ stride=conv_stride,
+ bias=False),
+ build_norm_layer(norm_cfg, planes * block.expansion)[1]
+ ])
+ downsample = nn.Sequential(*downsample)
+
+ layers = []
+ if multi_grid is None:
+ if dilation > 1 and contract_dilation:
+ first_dilation = dilation // 2
+ else:
+ first_dilation = dilation
+ else:
+ first_dilation = multi_grid[0]
+ layers.append(
+ block(
+ inplanes=inplanes,
+ planes=planes,
+ stride=stride,
+ dilation=first_dilation,
+ downsample=downsample,
+ conv_cfg=conv_cfg,
+ norm_cfg=norm_cfg,
+ **kwargs))
+ inplanes = planes * block.expansion
+ for i in range(1, num_blocks):
+ layers.append(
+ block(
+ inplanes=inplanes,
+ planes=planes,
+ stride=1,
+ dilation=dilation if multi_grid is None else multi_grid[i],
+ conv_cfg=conv_cfg,
+ norm_cfg=norm_cfg,
+ **kwargs))
+ super(ResLayer, self).__init__(*layers)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/utils/se_layer.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/utils/se_layer.py
new file mode 100644
index 0000000000000000000000000000000000000000..42ab005e1fe2211e9ecb651d31de128cf95cfec7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/utils/se_layer.py
@@ -0,0 +1,57 @@
+import annotator.mmpkg.mmcv as mmcv
+import torch.nn as nn
+from annotator.mmpkg.mmcv.cnn import ConvModule
+
+from .make_divisible import make_divisible
+
+
+class SELayer(nn.Module):
+ """Squeeze-and-Excitation Module.
+
+ Args:
+ channels (int): The input (and output) channels of the SE layer.
+ ratio (int): Squeeze ratio in SELayer, the intermediate channel will be
+ ``int(channels/ratio)``. Default: 16.
+ conv_cfg (None or dict): Config dict for convolution layer.
+ Default: None, which means using conv2d.
+ act_cfg (dict or Sequence[dict]): Config dict for activation layer.
+ If act_cfg is a dict, two activation layers will be configured
+ by this dict. If act_cfg is a sequence of dicts, the first
+ activation layer will be configured by the first dict and the
+ second activation layer will be configured by the second dict.
+ Default: (dict(type='ReLU'), dict(type='HSigmoid', bias=3.0,
+ divisor=6.0)).
+ """
+
+ def __init__(self,
+ channels,
+ ratio=16,
+ conv_cfg=None,
+ act_cfg=(dict(type='ReLU'),
+ dict(type='HSigmoid', bias=3.0, divisor=6.0))):
+ super(SELayer, self).__init__()
+ if isinstance(act_cfg, dict):
+ act_cfg = (act_cfg, act_cfg)
+ assert len(act_cfg) == 2
+ assert mmcv.is_tuple_of(act_cfg, dict)
+ self.global_avgpool = nn.AdaptiveAvgPool2d(1)
+ self.conv1 = ConvModule(
+ in_channels=channels,
+ out_channels=make_divisible(channels // ratio, 8),
+ kernel_size=1,
+ stride=1,
+ conv_cfg=conv_cfg,
+ act_cfg=act_cfg[0])
+ self.conv2 = ConvModule(
+ in_channels=make_divisible(channels // ratio, 8),
+ out_channels=channels,
+ kernel_size=1,
+ stride=1,
+ conv_cfg=conv_cfg,
+ act_cfg=act_cfg[1])
+
+ def forward(self, x):
+ out = self.global_avgpool(x)
+ out = self.conv1(out)
+ out = self.conv2(out)
+ return x * out
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/utils/self_attention_block.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/utils/self_attention_block.py
new file mode 100644
index 0000000000000000000000000000000000000000..a342e2b29ad53916c98d0342bde8f0f6cb10197a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/utils/self_attention_block.py
@@ -0,0 +1,159 @@
+import torch
+from annotator.mmpkg.mmcv.cnn import ConvModule, constant_init
+from torch import nn as nn
+from torch.nn import functional as F
+
+
+class SelfAttentionBlock(nn.Module):
+ """General self-attention block/non-local block.
+
+ Please refer to https://arxiv.org/abs/1706.03762 for details about key,
+ query and value.
+
+ Args:
+ key_in_channels (int): Input channels of key feature.
+ query_in_channels (int): Input channels of query feature.
+ channels (int): Output channels of key/query transform.
+ out_channels (int): Output channels.
+ share_key_query (bool): Whether share projection weight between key
+ and query projection.
+ query_downsample (nn.Module): Query downsample module.
+ key_downsample (nn.Module): Key downsample module.
+ key_query_num_convs (int): Number of convs for key/query projection.
+ value_num_convs (int): Number of convs for value projection.
+ matmul_norm (bool): Whether normalize attention map with sqrt of
+ channels
+ with_out (bool): Whether use out projection.
+ conv_cfg (dict|None): Config of conv layers.
+ norm_cfg (dict|None): Config of norm layers.
+ act_cfg (dict|None): Config of activation layers.
+ """
+
+ def __init__(self, key_in_channels, query_in_channels, channels,
+ out_channels, share_key_query, query_downsample,
+ key_downsample, key_query_num_convs, value_out_num_convs,
+ key_query_norm, value_out_norm, matmul_norm, with_out,
+ conv_cfg, norm_cfg, act_cfg):
+ super(SelfAttentionBlock, self).__init__()
+ if share_key_query:
+ assert key_in_channels == query_in_channels
+ self.key_in_channels = key_in_channels
+ self.query_in_channels = query_in_channels
+ self.out_channels = out_channels
+ self.channels = channels
+ self.share_key_query = share_key_query
+ self.conv_cfg = conv_cfg
+ self.norm_cfg = norm_cfg
+ self.act_cfg = act_cfg
+ self.key_project = self.build_project(
+ key_in_channels,
+ channels,
+ num_convs=key_query_num_convs,
+ use_conv_module=key_query_norm,
+ conv_cfg=conv_cfg,
+ norm_cfg=norm_cfg,
+ act_cfg=act_cfg)
+ if share_key_query:
+ self.query_project = self.key_project
+ else:
+ self.query_project = self.build_project(
+ query_in_channels,
+ channels,
+ num_convs=key_query_num_convs,
+ use_conv_module=key_query_norm,
+ conv_cfg=conv_cfg,
+ norm_cfg=norm_cfg,
+ act_cfg=act_cfg)
+ self.value_project = self.build_project(
+ key_in_channels,
+ channels if with_out else out_channels,
+ num_convs=value_out_num_convs,
+ use_conv_module=value_out_norm,
+ conv_cfg=conv_cfg,
+ norm_cfg=norm_cfg,
+ act_cfg=act_cfg)
+ if with_out:
+ self.out_project = self.build_project(
+ channels,
+ out_channels,
+ num_convs=value_out_num_convs,
+ use_conv_module=value_out_norm,
+ conv_cfg=conv_cfg,
+ norm_cfg=norm_cfg,
+ act_cfg=act_cfg)
+ else:
+ self.out_project = None
+
+ self.query_downsample = query_downsample
+ self.key_downsample = key_downsample
+ self.matmul_norm = matmul_norm
+
+ self.init_weights()
+
+ def init_weights(self):
+ """Initialize weight of later layer."""
+ if self.out_project is not None:
+ if not isinstance(self.out_project, ConvModule):
+ constant_init(self.out_project, 0)
+
+ def build_project(self, in_channels, channels, num_convs, use_conv_module,
+ conv_cfg, norm_cfg, act_cfg):
+ """Build projection layer for key/query/value/out."""
+ if use_conv_module:
+ convs = [
+ ConvModule(
+ in_channels,
+ channels,
+ 1,
+ conv_cfg=conv_cfg,
+ norm_cfg=norm_cfg,
+ act_cfg=act_cfg)
+ ]
+ for _ in range(num_convs - 1):
+ convs.append(
+ ConvModule(
+ channels,
+ channels,
+ 1,
+ conv_cfg=conv_cfg,
+ norm_cfg=norm_cfg,
+ act_cfg=act_cfg))
+ else:
+ convs = [nn.Conv2d(in_channels, channels, 1)]
+ for _ in range(num_convs - 1):
+ convs.append(nn.Conv2d(channels, channels, 1))
+ if len(convs) > 1:
+ convs = nn.Sequential(*convs)
+ else:
+ convs = convs[0]
+ return convs
+
+ def forward(self, query_feats, key_feats):
+ """Forward function."""
+ batch_size = query_feats.size(0)
+ query = self.query_project(query_feats)
+ if self.query_downsample is not None:
+ query = self.query_downsample(query)
+ query = query.reshape(*query.shape[:2], -1)
+ query = query.permute(0, 2, 1).contiguous()
+
+ key = self.key_project(key_feats)
+ value = self.value_project(key_feats)
+ if self.key_downsample is not None:
+ key = self.key_downsample(key)
+ value = self.key_downsample(value)
+ key = key.reshape(*key.shape[:2], -1)
+ value = value.reshape(*value.shape[:2], -1)
+ value = value.permute(0, 2, 1).contiguous()
+
+ sim_map = torch.matmul(query, key)
+ if self.matmul_norm:
+ sim_map = (self.channels**-.5) * sim_map
+ sim_map = F.softmax(sim_map, dim=-1)
+
+ context = torch.matmul(sim_map, value)
+ context = context.permute(0, 2, 1).contiguous()
+ context = context.reshape(batch_size, -1, *query_feats.shape[2:])
+ if self.out_project is not None:
+ context = self.out_project(context)
+ return context
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/utils/up_conv_block.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/utils/up_conv_block.py
new file mode 100644
index 0000000000000000000000000000000000000000..86328011a9704d17e9f9d0d54994719ead5caa56
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/utils/up_conv_block.py
@@ -0,0 +1,101 @@
+import torch
+import torch.nn as nn
+from annotator.mmpkg.mmcv.cnn import ConvModule, build_upsample_layer
+
+
+class UpConvBlock(nn.Module):
+ """Upsample convolution block in decoder for UNet.
+
+ This upsample convolution block consists of one upsample module
+ followed by one convolution block. The upsample module expands the
+ high-level low-resolution feature map and the convolution block fuses
+ the upsampled high-level low-resolution feature map and the low-level
+ high-resolution feature map from encoder.
+
+ Args:
+ conv_block (nn.Sequential): Sequential of convolutional layers.
+ in_channels (int): Number of input channels of the high-level
+ skip_channels (int): Number of input channels of the low-level
+ high-resolution feature map from encoder.
+ out_channels (int): Number of output channels.
+ num_convs (int): Number of convolutional layers in the conv_block.
+ Default: 2.
+ stride (int): Stride of convolutional layer in conv_block. Default: 1.
+ dilation (int): Dilation rate of convolutional layer in conv_block.
+ Default: 1.
+ with_cp (bool): Use checkpoint or not. Using checkpoint will save some
+ memory while slowing down the training speed. Default: False.
+ conv_cfg (dict | None): Config dict for convolution layer.
+ Default: None.
+ norm_cfg (dict | None): Config dict for normalization layer.
+ Default: dict(type='BN').
+ act_cfg (dict | None): Config dict for activation layer in ConvModule.
+ Default: dict(type='ReLU').
+ upsample_cfg (dict): The upsample config of the upsample module in
+ decoder. Default: dict(type='InterpConv'). If the size of
+ high-level feature map is the same as that of skip feature map
+ (low-level feature map from encoder), it does not need upsample the
+ high-level feature map and the upsample_cfg is None.
+ dcn (bool): Use deformable convolution in convolutional layer or not.
+ Default: None.
+ plugins (dict): plugins for convolutional layers. Default: None.
+ """
+
+ def __init__(self,
+ conv_block,
+ in_channels,
+ skip_channels,
+ out_channels,
+ num_convs=2,
+ stride=1,
+ dilation=1,
+ with_cp=False,
+ conv_cfg=None,
+ norm_cfg=dict(type='BN'),
+ act_cfg=dict(type='ReLU'),
+ upsample_cfg=dict(type='InterpConv'),
+ dcn=None,
+ plugins=None):
+ super(UpConvBlock, self).__init__()
+ assert dcn is None, 'Not implemented yet.'
+ assert plugins is None, 'Not implemented yet.'
+
+ self.conv_block = conv_block(
+ in_channels=2 * skip_channels,
+ out_channels=out_channels,
+ num_convs=num_convs,
+ stride=stride,
+ dilation=dilation,
+ with_cp=with_cp,
+ conv_cfg=conv_cfg,
+ norm_cfg=norm_cfg,
+ act_cfg=act_cfg,
+ dcn=None,
+ plugins=None)
+ if upsample_cfg is not None:
+ self.upsample = build_upsample_layer(
+ cfg=upsample_cfg,
+ in_channels=in_channels,
+ out_channels=skip_channels,
+ with_cp=with_cp,
+ norm_cfg=norm_cfg,
+ act_cfg=act_cfg)
+ else:
+ self.upsample = ConvModule(
+ in_channels,
+ skip_channels,
+ kernel_size=1,
+ stride=1,
+ padding=0,
+ conv_cfg=conv_cfg,
+ norm_cfg=norm_cfg,
+ act_cfg=act_cfg)
+
+ def forward(self, skip, x):
+ """Forward function."""
+
+ x = self.upsample(x)
+ out = torch.cat([skip, x], dim=1)
+ out = self.conv_block(out)
+
+ return out
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/utils/weight_init.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/utils/weight_init.py
new file mode 100644
index 0000000000000000000000000000000000000000..38141ba3d61f64ddfc0a31574b4648cbad96d7dd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/models/utils/weight_init.py
@@ -0,0 +1,62 @@
+"""Modified from https://github.com/rwightman/pytorch-image-
+models/blob/master/timm/models/layers/drop.py."""
+
+import math
+import warnings
+
+import torch
+
+
+def _no_grad_trunc_normal_(tensor, mean, std, a, b):
+ """Reference: https://people.sc.fsu.edu/~jburkardt/presentations
+ /truncated_normal.pdf"""
+
+ def norm_cdf(x):
+ # Computes standard normal cumulative distribution function
+ return (1. + math.erf(x / math.sqrt(2.))) / 2.
+
+ if (mean < a - 2 * std) or (mean > b + 2 * std):
+ warnings.warn(
+ 'mean is more than 2 std from [a, b] in nn.init.trunc_normal_. '
+ 'The distribution of values may be incorrect.',
+ stacklevel=2)
+
+ with torch.no_grad():
+ # Values are generated by using a truncated uniform distribution and
+ # then using the inverse CDF for the normal distribution.
+ # Get upper and lower cdf values
+ lower_bound = norm_cdf((a - mean) / std)
+ upper_bound = norm_cdf((b - mean) / std)
+
+ # Uniformly fill tensor with values from [l, u], then translate to
+ # [2l-1, 2u-1].
+ tensor.uniform_(2 * lower_bound - 1, 2 * upper_bound - 1)
+
+ # Use inverse cdf transform for normal distribution to get truncated
+ # standard normal
+ tensor.erfinv_()
+
+ # Transform to proper mean, std
+ tensor.mul_(std * math.sqrt(2.))
+ tensor.add_(mean)
+
+ # Clamp to ensure it's in the proper range
+ tensor.clamp_(min=a, max=b)
+ return tensor
+
+
+def trunc_normal_(tensor, mean=0., std=1., a=-2., b=2.):
+ r"""Fills the input Tensor with values drawn from a truncated
+ normal distribution. The values are effectively drawn from the
+ normal distribution :math:`\mathcal{N}(\text{mean}, \text{std}^2)`
+ with values outside :math:`[a, b]` redrawn until they are within
+ the bounds. The method used for generating the random values works
+ best when :math:`a \leq \text{mean} \leq b`.
+ Args:
+ tensor (``torch.Tensor``): an n-dimensional `torch.Tensor`
+ mean (float): the mean of the normal distribution
+ std (float): the standard deviation of the normal distribution
+ a (float): the minimum cutoff value
+ b (float): the maximum cutoff value
+ """
+ return _no_grad_trunc_normal_(tensor, mean, std, a, b)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/ops/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/ops/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..bec51c75b9363a9a19e9fb5c35f4e7dbd6f7751c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/ops/__init__.py
@@ -0,0 +1,4 @@
+from .encoding import Encoding
+from .wrappers import Upsample, resize
+
+__all__ = ['Upsample', 'resize', 'Encoding']
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/ops/encoding.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/ops/encoding.py
new file mode 100644
index 0000000000000000000000000000000000000000..7eb3629a6426550b8e4c537ee1ff4341893e489e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/ops/encoding.py
@@ -0,0 +1,74 @@
+import torch
+from torch import nn
+from torch.nn import functional as F
+
+
+class Encoding(nn.Module):
+ """Encoding Layer: a learnable residual encoder.
+
+ Input is of shape (batch_size, channels, height, width).
+ Output is of shape (batch_size, num_codes, channels).
+
+ Args:
+ channels: dimension of the features or feature channels
+ num_codes: number of code words
+ """
+
+ def __init__(self, channels, num_codes):
+ super(Encoding, self).__init__()
+ # init codewords and smoothing factor
+ self.channels, self.num_codes = channels, num_codes
+ std = 1. / ((num_codes * channels)**0.5)
+ # [num_codes, channels]
+ self.codewords = nn.Parameter(
+ torch.empty(num_codes, channels,
+ dtype=torch.float).uniform_(-std, std),
+ requires_grad=True)
+ # [num_codes]
+ self.scale = nn.Parameter(
+ torch.empty(num_codes, dtype=torch.float).uniform_(-1, 0),
+ requires_grad=True)
+
+ @staticmethod
+ def scaled_l2(x, codewords, scale):
+ num_codes, channels = codewords.size()
+ batch_size = x.size(0)
+ reshaped_scale = scale.view((1, 1, num_codes))
+ expanded_x = x.unsqueeze(2).expand(
+ (batch_size, x.size(1), num_codes, channels))
+ reshaped_codewords = codewords.view((1, 1, num_codes, channels))
+
+ scaled_l2_norm = reshaped_scale * (
+ expanded_x - reshaped_codewords).pow(2).sum(dim=3)
+ return scaled_l2_norm
+
+ @staticmethod
+ def aggregate(assignment_weights, x, codewords):
+ num_codes, channels = codewords.size()
+ reshaped_codewords = codewords.view((1, 1, num_codes, channels))
+ batch_size = x.size(0)
+
+ expanded_x = x.unsqueeze(2).expand(
+ (batch_size, x.size(1), num_codes, channels))
+ encoded_feat = (assignment_weights.unsqueeze(3) *
+ (expanded_x - reshaped_codewords)).sum(dim=1)
+ return encoded_feat
+
+ def forward(self, x):
+ assert x.dim() == 4 and x.size(1) == self.channels
+ # [batch_size, channels, height, width]
+ batch_size = x.size(0)
+ # [batch_size, height x width, channels]
+ x = x.view(batch_size, self.channels, -1).transpose(1, 2).contiguous()
+ # assignment_weights: [batch_size, channels, num_codes]
+ assignment_weights = F.softmax(
+ self.scaled_l2(x, self.codewords, self.scale), dim=2)
+ # aggregate
+ encoded_feat = self.aggregate(assignment_weights, x, self.codewords)
+ return encoded_feat
+
+ def __repr__(self):
+ repr_str = self.__class__.__name__
+ repr_str += f'(Nx{self.channels}xHxW =>Nx{self.num_codes}' \
+ f'x{self.channels})'
+ return repr_str
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/ops/wrappers.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/ops/wrappers.py
new file mode 100644
index 0000000000000000000000000000000000000000..0ed9a0cb8d7c0e0ec2748dd89c652756653cac78
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/ops/wrappers.py
@@ -0,0 +1,50 @@
+import warnings
+
+import torch.nn as nn
+import torch.nn.functional as F
+
+
+def resize(input,
+ size=None,
+ scale_factor=None,
+ mode='nearest',
+ align_corners=None,
+ warning=True):
+ if warning:
+ if size is not None and align_corners:
+ input_h, input_w = tuple(int(x) for x in input.shape[2:])
+ output_h, output_w = tuple(int(x) for x in size)
+ if output_h > input_h or output_w > output_h:
+ if ((output_h > 1 and output_w > 1 and input_h > 1
+ and input_w > 1) and (output_h - 1) % (input_h - 1)
+ and (output_w - 1) % (input_w - 1)):
+ warnings.warn(
+ f'When align_corners={align_corners}, '
+ 'the output would more aligned if '
+ f'input size {(input_h, input_w)} is `x+1` and '
+ f'out size {(output_h, output_w)} is `nx+1`')
+ return F.interpolate(input, size, scale_factor, mode, align_corners)
+
+
+class Upsample(nn.Module):
+
+ def __init__(self,
+ size=None,
+ scale_factor=None,
+ mode='nearest',
+ align_corners=None):
+ super(Upsample, self).__init__()
+ self.size = size
+ if isinstance(scale_factor, tuple):
+ self.scale_factor = tuple(float(factor) for factor in scale_factor)
+ else:
+ self.scale_factor = float(scale_factor) if scale_factor else None
+ self.mode = mode
+ self.align_corners = align_corners
+
+ def forward(self, x):
+ if not self.size:
+ size = [int(t * self.scale_factor) for t in x.shape[-2:]]
+ else:
+ size = self.size
+ return resize(x, size, None, self.mode, self.align_corners)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/utils/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/utils/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..ac489e2dbbc0e6fa87f5088b4edcc20f8cadc1a6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/utils/__init__.py
@@ -0,0 +1,4 @@
+from .collect_env import collect_env
+from .logger import get_root_logger
+
+__all__ = ['get_root_logger', 'collect_env']
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/utils/collect_env.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/utils/collect_env.py
new file mode 100644
index 0000000000000000000000000000000000000000..015d5a6b4f3ff31859cca36584879f646b3864d4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/utils/collect_env.py
@@ -0,0 +1,17 @@
+from annotator.mmpkg.mmcv.utils import collect_env as collect_base_env
+from annotator.mmpkg.mmcv.utils import get_git_hash
+
+import annotator.mmpkg.mmseg as mmseg
+
+
+def collect_env():
+ """Collect the information of the running environments."""
+ env_info = collect_base_env()
+ env_info['MMSegmentation'] = f'{mmseg.__version__}+{get_git_hash()[:7]}'
+
+ return env_info
+
+
+if __name__ == '__main__':
+ for name, val in collect_env().items():
+ print('{}: {}'.format(name, val))
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/utils/logger.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/utils/logger.py
new file mode 100644
index 0000000000000000000000000000000000000000..0c37733358e3e21479b41f54220bfe34b482009c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/mmpkg/mmseg/utils/logger.py
@@ -0,0 +1,27 @@
+import logging
+
+from annotator.mmpkg.mmcv.utils import get_logger
+
+
+def get_root_logger(log_file=None, log_level=logging.INFO):
+ """Get the root logger.
+
+ The logger will be initialized if it has not been initialized. By default a
+ StreamHandler will be added. If `log_file` is specified, a FileHandler will
+ also be added. The name of the root logger is the top-level package name,
+ e.g., "mmseg".
+
+ Args:
+ log_file (str | None): The log filename. If specified, a FileHandler
+ will be added to the root logger.
+ log_level (int): The root logger level. Note that only the process of
+ rank 0 is affected, while other processes will set the level to
+ "Error" and be silent most of the time.
+
+ Returns:
+ logging.Logger: The root logger.
+ """
+
+ logger = get_logger(name='mmseg', log_file=log_file, log_level=log_level)
+
+ return logger
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/LICENSE b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/LICENSE
new file mode 100644
index 0000000000000000000000000000000000000000..16a9d56a3d4c15e4f34ac5426459c58487b01520
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2022 Caroline Chan
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..74a94e1738c775b3754f7087b7ddbc6108c81a46
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/__init__.py
@@ -0,0 +1,81 @@
+import os
+import types
+import torch
+import numpy as np
+
+from einops import rearrange
+from .models.NNET import NNET
+from modules import devices
+from annotator.annotator_path import models_path
+import torchvision.transforms as transforms
+
+
+# load model
+def load_checkpoint(fpath, model):
+ ckpt = torch.load(fpath, map_location='cpu')['model']
+
+ load_dict = {}
+ for k, v in ckpt.items():
+ if k.startswith('module.'):
+ k_ = k.replace('module.', '')
+ load_dict[k_] = v
+ else:
+ load_dict[k] = v
+
+ model.load_state_dict(load_dict)
+ return model
+
+
+class NormalBaeDetector:
+ model_dir = os.path.join(models_path, "normal_bae")
+
+ def __init__(self):
+ self.model = None
+ self.device = devices.get_device_for("controlnet")
+
+ def load_model(self):
+ remote_model_path = "https://huggingface.co/lllyasviel/Annotators/resolve/main/scannet.pt"
+ modelpath = os.path.join(self.model_dir, "scannet.pt")
+ if not os.path.exists(modelpath):
+ from basicsr.utils.download_util import load_file_from_url
+ load_file_from_url(remote_model_path, model_dir=self.model_dir)
+ args = types.SimpleNamespace()
+ args.mode = 'client'
+ args.architecture = 'BN'
+ args.pretrained = 'scannet'
+ args.sampling_ratio = 0.4
+ args.importance_ratio = 0.7
+ model = NNET(args)
+ model = load_checkpoint(modelpath, model)
+ model.eval()
+ self.model = model.to(self.device)
+ self.norm = transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
+
+ def unload_model(self):
+ if self.model is not None:
+ self.model.cpu()
+
+ def __call__(self, input_image):
+ if self.model is None:
+ self.load_model()
+
+ self.model.to(self.device)
+ assert input_image.ndim == 3
+ image_normal = input_image
+ with torch.no_grad():
+ image_normal = torch.from_numpy(image_normal).float().to(self.device)
+ image_normal = image_normal / 255.0
+ image_normal = rearrange(image_normal, 'h w c -> 1 c h w')
+ image_normal = self.norm(image_normal)
+
+ normal = self.model(image_normal)
+ normal = normal[0][-1][:, :3]
+ # d = torch.sum(normal ** 2.0, dim=1, keepdim=True) ** 0.5
+ # d = torch.maximum(d, torch.ones_like(d) * 1e-5)
+ # normal /= d
+ normal = ((normal + 1) * 0.5).clip(0, 1)
+
+ normal = rearrange(normal[0], 'c h w -> h w c').cpu().numpy()
+ normal_image = (normal * 255.0).clip(0, 255).astype(np.uint8)
+
+ return normal_image
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/NNET.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/NNET.py
new file mode 100644
index 0000000000000000000000000000000000000000..3ddbc50c3ac18aa4b7f16779fe3c0133981ecc7a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/NNET.py
@@ -0,0 +1,22 @@
+import torch
+import torch.nn as nn
+import torch.nn.functional as F
+
+from .submodules.encoder import Encoder
+from .submodules.decoder import Decoder
+
+
+class NNET(nn.Module):
+ def __init__(self, args):
+ super(NNET, self).__init__()
+ self.encoder = Encoder()
+ self.decoder = Decoder(args)
+
+ def get_1x_lr_params(self): # lr/10 learning rate
+ return self.encoder.parameters()
+
+ def get_10x_lr_params(self): # lr learning rate
+ return self.decoder.parameters()
+
+ def forward(self, img, **kwargs):
+ return self.decoder(self.encoder(img), **kwargs)
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/baseline.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/baseline.py
new file mode 100644
index 0000000000000000000000000000000000000000..602d0fbdac1acc9ede9bc1f2e10a5df78831ce9d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/baseline.py
@@ -0,0 +1,85 @@
+import torch
+import torch.nn as nn
+import torch.nn.functional as F
+
+from .submodules.submodules import UpSampleBN, norm_normalize
+
+
+# This is the baseline encoder-decoder we used in the ablation study
+class NNET(nn.Module):
+ def __init__(self, args=None):
+ super(NNET, self).__init__()
+ self.encoder = Encoder()
+ self.decoder = Decoder(num_classes=4)
+
+ def forward(self, x, **kwargs):
+ out = self.decoder(self.encoder(x), **kwargs)
+
+ # Bilinearly upsample the output to match the input resolution
+ up_out = F.interpolate(out, size=[x.size(2), x.size(3)], mode='bilinear', align_corners=False)
+
+ # L2-normalize the first three channels / ensure positive value for concentration parameters (kappa)
+ up_out = norm_normalize(up_out)
+ return up_out
+
+ def get_1x_lr_params(self): # lr/10 learning rate
+ return self.encoder.parameters()
+
+ def get_10x_lr_params(self): # lr learning rate
+ modules = [self.decoder]
+ for m in modules:
+ yield from m.parameters()
+
+
+# Encoder
+class Encoder(nn.Module):
+ def __init__(self):
+ super(Encoder, self).__init__()
+
+ basemodel_name = 'tf_efficientnet_b5_ap'
+ basemodel = torch.hub.load('rwightman/gen-efficientnet-pytorch', basemodel_name, pretrained=True)
+
+ # Remove last layer
+ basemodel.global_pool = nn.Identity()
+ basemodel.classifier = nn.Identity()
+
+ self.original_model = basemodel
+
+ def forward(self, x):
+ features = [x]
+ for k, v in self.original_model._modules.items():
+ if (k == 'blocks'):
+ for ki, vi in v._modules.items():
+ features.append(vi(features[-1]))
+ else:
+ features.append(v(features[-1]))
+ return features
+
+
+# Decoder (no pixel-wise MLP, no uncertainty-guided sampling)
+class Decoder(nn.Module):
+ def __init__(self, num_classes=4):
+ super(Decoder, self).__init__()
+ self.conv2 = nn.Conv2d(2048, 2048, kernel_size=1, stride=1, padding=0)
+ self.up1 = UpSampleBN(skip_input=2048 + 176, output_features=1024)
+ self.up2 = UpSampleBN(skip_input=1024 + 64, output_features=512)
+ self.up3 = UpSampleBN(skip_input=512 + 40, output_features=256)
+ self.up4 = UpSampleBN(skip_input=256 + 24, output_features=128)
+ self.conv3 = nn.Conv2d(128, num_classes, kernel_size=3, stride=1, padding=1)
+
+ def forward(self, features):
+ x_block0, x_block1, x_block2, x_block3, x_block4 = features[4], features[5], features[6], features[8], features[11]
+ x_d0 = self.conv2(x_block4)
+ x_d1 = self.up1(x_d0, x_block3)
+ x_d2 = self.up2(x_d1, x_block2)
+ x_d3 = self.up3(x_d2, x_block1)
+ x_d4 = self.up4(x_d3, x_block0)
+ out = self.conv3(x_d4)
+ return out
+
+
+if __name__ == '__main__':
+ model = Baseline()
+ x = torch.rand(2, 3, 480, 640)
+ out = model(x)
+ print(out.shape)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/decoder.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/decoder.py
new file mode 100644
index 0000000000000000000000000000000000000000..993203d1792311f1c492091eaea3c1ac9088187f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/decoder.py
@@ -0,0 +1,202 @@
+import torch
+import torch.nn as nn
+import torch.nn.functional as F
+from .submodules import UpSampleBN, UpSampleGN, norm_normalize, sample_points
+
+
+class Decoder(nn.Module):
+ def __init__(self, args):
+ super(Decoder, self).__init__()
+
+ # hyper-parameter for sampling
+ self.sampling_ratio = args.sampling_ratio
+ self.importance_ratio = args.importance_ratio
+
+ # feature-map
+ self.conv2 = nn.Conv2d(2048, 2048, kernel_size=1, stride=1, padding=0)
+ if args.architecture == 'BN':
+ self.up1 = UpSampleBN(skip_input=2048 + 176, output_features=1024)
+ self.up2 = UpSampleBN(skip_input=1024 + 64, output_features=512)
+ self.up3 = UpSampleBN(skip_input=512 + 40, output_features=256)
+ self.up4 = UpSampleBN(skip_input=256 + 24, output_features=128)
+
+ elif args.architecture == 'GN':
+ self.up1 = UpSampleGN(skip_input=2048 + 176, output_features=1024)
+ self.up2 = UpSampleGN(skip_input=1024 + 64, output_features=512)
+ self.up3 = UpSampleGN(skip_input=512 + 40, output_features=256)
+ self.up4 = UpSampleGN(skip_input=256 + 24, output_features=128)
+
+ else:
+ raise Exception('invalid architecture')
+
+ # produces 1/8 res output
+ self.out_conv_res8 = nn.Conv2d(512, 4, kernel_size=3, stride=1, padding=1)
+
+ # produces 1/4 res output
+ self.out_conv_res4 = nn.Sequential(
+ nn.Conv1d(512 + 4, 128, kernel_size=1), nn.ReLU(),
+ nn.Conv1d(128, 128, kernel_size=1), nn.ReLU(),
+ nn.Conv1d(128, 128, kernel_size=1), nn.ReLU(),
+ nn.Conv1d(128, 4, kernel_size=1),
+ )
+
+ # produces 1/2 res output
+ self.out_conv_res2 = nn.Sequential(
+ nn.Conv1d(256 + 4, 128, kernel_size=1), nn.ReLU(),
+ nn.Conv1d(128, 128, kernel_size=1), nn.ReLU(),
+ nn.Conv1d(128, 128, kernel_size=1), nn.ReLU(),
+ nn.Conv1d(128, 4, kernel_size=1),
+ )
+
+ # produces 1/1 res output
+ self.out_conv_res1 = nn.Sequential(
+ nn.Conv1d(128 + 4, 128, kernel_size=1), nn.ReLU(),
+ nn.Conv1d(128, 128, kernel_size=1), nn.ReLU(),
+ nn.Conv1d(128, 128, kernel_size=1), nn.ReLU(),
+ nn.Conv1d(128, 4, kernel_size=1),
+ )
+
+ def forward(self, features, gt_norm_mask=None, mode='test'):
+ x_block0, x_block1, x_block2, x_block3, x_block4 = features[4], features[5], features[6], features[8], features[11]
+
+ # generate feature-map
+
+ x_d0 = self.conv2(x_block4) # x_d0 : [2, 2048, 15, 20] 1/32 res
+ x_d1 = self.up1(x_d0, x_block3) # x_d1 : [2, 1024, 30, 40] 1/16 res
+ x_d2 = self.up2(x_d1, x_block2) # x_d2 : [2, 512, 60, 80] 1/8 res
+ x_d3 = self.up3(x_d2, x_block1) # x_d3: [2, 256, 120, 160] 1/4 res
+ x_d4 = self.up4(x_d3, x_block0) # x_d4: [2, 128, 240, 320] 1/2 res
+
+ # 1/8 res output
+ out_res8 = self.out_conv_res8(x_d2) # out_res8: [2, 4, 60, 80] 1/8 res output
+ out_res8 = norm_normalize(out_res8) # out_res8: [2, 4, 60, 80] 1/8 res output
+
+ ################################################################################################################
+ # out_res4
+ ################################################################################################################
+
+ if mode == 'train':
+ # upsampling ... out_res8: [2, 4, 60, 80] -> out_res8_res4: [2, 4, 120, 160]
+ out_res8_res4 = F.interpolate(out_res8, scale_factor=2, mode='bilinear', align_corners=True)
+ B, _, H, W = out_res8_res4.shape
+
+ # samples: [B, 1, N, 2]
+ point_coords_res4, rows_int, cols_int = sample_points(out_res8_res4.detach(), gt_norm_mask,
+ sampling_ratio=self.sampling_ratio,
+ beta=self.importance_ratio)
+
+ # output (needed for evaluation / visualization)
+ out_res4 = out_res8_res4
+
+ # grid_sample feature-map
+ feat_res4 = F.grid_sample(x_d2, point_coords_res4, mode='bilinear', align_corners=True) # (B, 512, 1, N)
+ init_pred = F.grid_sample(out_res8, point_coords_res4, mode='bilinear', align_corners=True) # (B, 4, 1, N)
+ feat_res4 = torch.cat([feat_res4, init_pred], dim=1) # (B, 512+4, 1, N)
+
+ # prediction (needed to compute loss)
+ samples_pred_res4 = self.out_conv_res4(feat_res4[:, :, 0, :]) # (B, 4, N)
+ samples_pred_res4 = norm_normalize(samples_pred_res4) # (B, 4, N) - normalized
+
+ for i in range(B):
+ out_res4[i, :, rows_int[i, :], cols_int[i, :]] = samples_pred_res4[i, :, :]
+
+ else:
+ # grid_sample feature-map
+ feat_map = F.interpolate(x_d2, scale_factor=2, mode='bilinear', align_corners=True)
+ init_pred = F.interpolate(out_res8, scale_factor=2, mode='bilinear', align_corners=True)
+ feat_map = torch.cat([feat_map, init_pred], dim=1) # (B, 512+4, H, W)
+ B, _, H, W = feat_map.shape
+
+ # try all pixels
+ out_res4 = self.out_conv_res4(feat_map.view(B, 512 + 4, -1)) # (B, 4, N)
+ out_res4 = norm_normalize(out_res4) # (B, 4, N) - normalized
+ out_res4 = out_res4.view(B, 4, H, W)
+ samples_pred_res4 = point_coords_res4 = None
+
+ ################################################################################################################
+ # out_res2
+ ################################################################################################################
+
+ if mode == 'train':
+
+ # upsampling ... out_res4: [2, 4, 120, 160] -> out_res4_res2: [2, 4, 240, 320]
+ out_res4_res2 = F.interpolate(out_res4, scale_factor=2, mode='bilinear', align_corners=True)
+ B, _, H, W = out_res4_res2.shape
+
+ # samples: [B, 1, N, 2]
+ point_coords_res2, rows_int, cols_int = sample_points(out_res4_res2.detach(), gt_norm_mask,
+ sampling_ratio=self.sampling_ratio,
+ beta=self.importance_ratio)
+
+ # output (needed for evaluation / visualization)
+ out_res2 = out_res4_res2
+
+ # grid_sample feature-map
+ feat_res2 = F.grid_sample(x_d3, point_coords_res2, mode='bilinear', align_corners=True) # (B, 256, 1, N)
+ init_pred = F.grid_sample(out_res4, point_coords_res2, mode='bilinear', align_corners=True) # (B, 4, 1, N)
+ feat_res2 = torch.cat([feat_res2, init_pred], dim=1) # (B, 256+4, 1, N)
+
+ # prediction (needed to compute loss)
+ samples_pred_res2 = self.out_conv_res2(feat_res2[:, :, 0, :]) # (B, 4, N)
+ samples_pred_res2 = norm_normalize(samples_pred_res2) # (B, 4, N) - normalized
+
+ for i in range(B):
+ out_res2[i, :, rows_int[i, :], cols_int[i, :]] = samples_pred_res2[i, :, :]
+
+ else:
+ # grid_sample feature-map
+ feat_map = F.interpolate(x_d3, scale_factor=2, mode='bilinear', align_corners=True)
+ init_pred = F.interpolate(out_res4, scale_factor=2, mode='bilinear', align_corners=True)
+ feat_map = torch.cat([feat_map, init_pred], dim=1) # (B, 512+4, H, W)
+ B, _, H, W = feat_map.shape
+
+ out_res2 = self.out_conv_res2(feat_map.view(B, 256 + 4, -1)) # (B, 4, N)
+ out_res2 = norm_normalize(out_res2) # (B, 4, N) - normalized
+ out_res2 = out_res2.view(B, 4, H, W)
+ samples_pred_res2 = point_coords_res2 = None
+
+ ################################################################################################################
+ # out_res1
+ ################################################################################################################
+
+ if mode == 'train':
+ # upsampling ... out_res4: [2, 4, 120, 160] -> out_res4_res2: [2, 4, 240, 320]
+ out_res2_res1 = F.interpolate(out_res2, scale_factor=2, mode='bilinear', align_corners=True)
+ B, _, H, W = out_res2_res1.shape
+
+ # samples: [B, 1, N, 2]
+ point_coords_res1, rows_int, cols_int = sample_points(out_res2_res1.detach(), gt_norm_mask,
+ sampling_ratio=self.sampling_ratio,
+ beta=self.importance_ratio)
+
+ # output (needed for evaluation / visualization)
+ out_res1 = out_res2_res1
+
+ # grid_sample feature-map
+ feat_res1 = F.grid_sample(x_d4, point_coords_res1, mode='bilinear', align_corners=True) # (B, 128, 1, N)
+ init_pred = F.grid_sample(out_res2, point_coords_res1, mode='bilinear', align_corners=True) # (B, 4, 1, N)
+ feat_res1 = torch.cat([feat_res1, init_pred], dim=1) # (B, 128+4, 1, N)
+
+ # prediction (needed to compute loss)
+ samples_pred_res1 = self.out_conv_res1(feat_res1[:, :, 0, :]) # (B, 4, N)
+ samples_pred_res1 = norm_normalize(samples_pred_res1) # (B, 4, N) - normalized
+
+ for i in range(B):
+ out_res1[i, :, rows_int[i, :], cols_int[i, :]] = samples_pred_res1[i, :, :]
+
+ else:
+ # grid_sample feature-map
+ feat_map = F.interpolate(x_d4, scale_factor=2, mode='bilinear', align_corners=True)
+ init_pred = F.interpolate(out_res2, scale_factor=2, mode='bilinear', align_corners=True)
+ feat_map = torch.cat([feat_map, init_pred], dim=1) # (B, 512+4, H, W)
+ B, _, H, W = feat_map.shape
+
+ out_res1 = self.out_conv_res1(feat_map.view(B, 128 + 4, -1)) # (B, 4, N)
+ out_res1 = norm_normalize(out_res1) # (B, 4, N) - normalized
+ out_res1 = out_res1.view(B, 4, H, W)
+ samples_pred_res1 = point_coords_res1 = None
+
+ return [out_res8, out_res4, out_res2, out_res1], \
+ [out_res8, samples_pred_res4, samples_pred_res2, samples_pred_res1], \
+ [None, point_coords_res4, point_coords_res2, point_coords_res1]
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/.gitignore b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..f04e5fff91094d9b9c662bba977d762bf71516ac
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/.gitignore
@@ -0,0 +1,109 @@
+# Byte-compiled / optimized / DLL files
+__pycache__/
+*.py[cod]
+*$py.class
+
+# C extensions
+*.so
+
+# Distribution / packaging
+.Python
+build/
+develop-eggs/
+dist/
+downloads/
+eggs/
+.eggs/
+lib/
+lib64/
+parts/
+sdist/
+var/
+wheels/
+*.egg-info/
+.installed.cfg
+*.egg
+MANIFEST
+
+# PyInstaller
+# Usually these files are written by a python script from a template
+# before PyInstaller builds the exe, so as to inject date/other infos into it.
+*.manifest
+*.spec
+
+# Installer logs
+pip-log.txt
+pip-delete-this-directory.txt
+
+# Unit test / coverage reports
+htmlcov/
+.tox/
+.coverage
+.coverage.*
+.cache
+nosetests.xml
+coverage.xml
+*.cover
+.hypothesis/
+.pytest_cache/
+
+# Translations
+*.mo
+*.pot
+
+# Django stuff:
+*.log
+local_settings.py
+db.sqlite3
+
+# Flask stuff:
+instance/
+.webassets-cache
+
+# Scrapy stuff:
+.scrapy
+
+# Sphinx documentation
+docs/_build/
+
+# PyBuilder
+target/
+
+# Jupyter Notebook
+.ipynb_checkpoints
+
+# pyenv
+.python-version
+
+# celery beat schedule file
+celerybeat-schedule
+
+# SageMath parsed files
+*.sage.py
+
+# Environments
+.env
+.venv
+env/
+venv/
+ENV/
+env.bak/
+venv.bak/
+
+# Spyder project settings
+.spyderproject
+.spyproject
+
+# Rope project settings
+.ropeproject
+
+# mkdocs documentation
+/site
+
+# pytorch stuff
+*.pth
+*.onnx
+*.pb
+
+trained_models/
+.fuse_hidden*
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/BENCHMARK.md b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/BENCHMARK.md
new file mode 100644
index 0000000000000000000000000000000000000000..6ead7171ce5a5bbd2702f6b5c825dc9808ba5658
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/BENCHMARK.md
@@ -0,0 +1,555 @@
+# Model Performance Benchmarks
+
+All benchmarks run as per:
+
+```
+python onnx_export.py --model mobilenetv3_100 ./mobilenetv3_100.onnx
+python onnx_optimize.py ./mobilenetv3_100.onnx --output mobilenetv3_100-opt.onnx
+python onnx_to_caffe.py ./mobilenetv3_100.onnx --c2-prefix mobilenetv3
+python onnx_to_caffe.py ./mobilenetv3_100-opt.onnx --c2-prefix mobilenetv3-opt
+python caffe2_benchmark.py --c2-init ./mobilenetv3.init.pb --c2-predict ./mobilenetv3.predict.pb
+python caffe2_benchmark.py --c2-init ./mobilenetv3-opt.init.pb --c2-predict ./mobilenetv3-opt.predict.pb
+```
+
+## EfficientNet-B0
+
+### Unoptimized
+```
+Main run finished. Milliseconds per iter: 49.2862. Iters per second: 20.2897
+Time per operator type:
+ 29.7378 ms. 60.5145%. Conv
+ 12.1785 ms. 24.7824%. Sigmoid
+ 3.62811 ms. 7.38297%. SpatialBN
+ 2.98444 ms. 6.07314%. Mul
+ 0.326902 ms. 0.665225%. AveragePool
+ 0.197317 ms. 0.401528%. FC
+ 0.0852877 ms. 0.173555%. Add
+ 0.0032607 ms. 0.00663532%. Squeeze
+ 49.1416 ms in Total
+FLOP per operator type:
+ 0.76907 GFLOP. 95.2696%. Conv
+ 0.0269508 GFLOP. 3.33857%. SpatialBN
+ 0.00846444 GFLOP. 1.04855%. Mul
+ 0.002561 GFLOP. 0.317248%. FC
+ 0.000210112 GFLOP. 0.0260279%. Add
+ 0.807256 GFLOP in Total
+Feature Memory Read per operator type:
+ 58.5253 MB. 43.0891%. Mul
+ 43.2015 MB. 31.807%. Conv
+ 27.2869 MB. 20.0899%. SpatialBN
+ 5.12912 MB. 3.77631%. FC
+ 1.6809 MB. 1.23756%. Add
+ 135.824 MB in Total
+Feature Memory Written per operator type:
+ 33.8578 MB. 38.1965%. Mul
+ 26.9881 MB. 30.4465%. Conv
+ 26.9508 MB. 30.4044%. SpatialBN
+ 0.840448 MB. 0.948147%. Add
+ 0.004 MB. 0.00451258%. FC
+ 88.6412 MB in Total
+Parameter Memory per operator type:
+ 15.8248 MB. 74.9391%. Conv
+ 5.124 MB. 24.265%. FC
+ 0.168064 MB. 0.795877%. SpatialBN
+ 0 MB. 0%. Add
+ 0 MB. 0%. Mul
+ 21.1168 MB in Total
+```
+### Optimized
+```
+Main run finished. Milliseconds per iter: 46.0838. Iters per second: 21.6996
+Time per operator type:
+ 29.776 ms. 65.002%. Conv
+ 12.2803 ms. 26.8084%. Sigmoid
+ 3.15073 ms. 6.87815%. Mul
+ 0.328651 ms. 0.717456%. AveragePool
+ 0.186237 ms. 0.406563%. FC
+ 0.0832429 ms. 0.181722%. Add
+ 0.0026184 ms. 0.00571606%. Squeeze
+ 45.8078 ms in Total
+FLOP per operator type:
+ 0.76907 GFLOP. 98.5601%. Conv
+ 0.00846444 GFLOP. 1.08476%. Mul
+ 0.002561 GFLOP. 0.328205%. FC
+ 0.000210112 GFLOP. 0.0269269%. Add
+ 0.780305 GFLOP in Total
+Feature Memory Read per operator type:
+ 58.5253 MB. 53.8803%. Mul
+ 43.2855 MB. 39.8501%. Conv
+ 5.12912 MB. 4.72204%. FC
+ 1.6809 MB. 1.54749%. Add
+ 108.621 MB in Total
+Feature Memory Written per operator type:
+ 33.8578 MB. 54.8834%. Mul
+ 26.9881 MB. 43.7477%. Conv
+ 0.840448 MB. 1.36237%. Add
+ 0.004 MB. 0.00648399%. FC
+ 61.6904 MB in Total
+Parameter Memory per operator type:
+ 15.8248 MB. 75.5403%. Conv
+ 5.124 MB. 24.4597%. FC
+ 0 MB. 0%. Add
+ 0 MB. 0%. Mul
+ 20.9488 MB in Total
+```
+
+## EfficientNet-B1
+### Optimized
+```
+Main run finished. Milliseconds per iter: 71.8102. Iters per second: 13.9256
+Time per operator type:
+ 45.7915 ms. 66.3206%. Conv
+ 17.8718 ms. 25.8841%. Sigmoid
+ 4.44132 ms. 6.43244%. Mul
+ 0.51001 ms. 0.738658%. AveragePool
+ 0.233283 ms. 0.337868%. Add
+ 0.194986 ms. 0.282402%. FC
+ 0.00268255 ms. 0.00388519%. Squeeze
+ 69.0456 ms in Total
+FLOP per operator type:
+ 1.37105 GFLOP. 98.7673%. Conv
+ 0.0138759 GFLOP. 0.99959%. Mul
+ 0.002561 GFLOP. 0.184489%. FC
+ 0.000674432 GFLOP. 0.0485847%. Add
+ 1.38816 GFLOP in Total
+Feature Memory Read per operator type:
+ 94.624 MB. 54.0789%. Mul
+ 69.8255 MB. 39.9062%. Conv
+ 5.39546 MB. 3.08357%. Add
+ 5.12912 MB. 2.93136%. FC
+ 174.974 MB in Total
+Feature Memory Written per operator type:
+ 55.5035 MB. 54.555%. Mul
+ 43.5333 MB. 42.7894%. Conv
+ 2.69773 MB. 2.65163%. Add
+ 0.004 MB. 0.00393165%. FC
+ 101.739 MB in Total
+Parameter Memory per operator type:
+ 25.7479 MB. 83.4024%. Conv
+ 5.124 MB. 16.5976%. FC
+ 0 MB. 0%. Add
+ 0 MB. 0%. Mul
+ 30.8719 MB in Total
+```
+
+## EfficientNet-B2
+### Optimized
+```
+Main run finished. Milliseconds per iter: 92.28. Iters per second: 10.8366
+Time per operator type:
+ 61.4627 ms. 67.5845%. Conv
+ 22.7458 ms. 25.0113%. Sigmoid
+ 5.59931 ms. 6.15701%. Mul
+ 0.642567 ms. 0.706568%. AveragePool
+ 0.272795 ms. 0.299965%. Add
+ 0.216178 ms. 0.237709%. FC
+ 0.00268895 ms. 0.00295677%. Squeeze
+ 90.942 ms in Total
+FLOP per operator type:
+ 1.98431 GFLOP. 98.9343%. Conv
+ 0.0177039 GFLOP. 0.882686%. Mul
+ 0.002817 GFLOP. 0.140451%. FC
+ 0.000853984 GFLOP. 0.0425782%. Add
+ 2.00568 GFLOP in Total
+Feature Memory Read per operator type:
+ 120.609 MB. 54.9637%. Mul
+ 86.3512 MB. 39.3519%. Conv
+ 6.83187 MB. 3.11341%. Add
+ 5.64163 MB. 2.571%. FC
+ 219.433 MB in Total
+Feature Memory Written per operator type:
+ 70.8155 MB. 54.6573%. Mul
+ 55.3273 MB. 42.7031%. Conv
+ 3.41594 MB. 2.63651%. Add
+ 0.004 MB. 0.00308731%. FC
+ 129.563 MB in Total
+Parameter Memory per operator type:
+ 30.4721 MB. 84.3913%. Conv
+ 5.636 MB. 15.6087%. FC
+ 0 MB. 0%. Add
+ 0 MB. 0%. Mul
+ 36.1081 MB in Total
+```
+
+## MixNet-M
+### Optimized
+```
+Main run finished. Milliseconds per iter: 63.1122. Iters per second: 15.8448
+Time per operator type:
+ 48.1139 ms. 75.2052%. Conv
+ 7.1341 ms. 11.1511%. Sigmoid
+ 2.63706 ms. 4.12189%. SpatialBN
+ 1.73186 ms. 2.70701%. Mul
+ 1.38707 ms. 2.16809%. Split
+ 1.29322 ms. 2.02139%. Concat
+ 1.00093 ms. 1.56452%. Relu
+ 0.235309 ms. 0.367803%. Add
+ 0.221579 ms. 0.346343%. FC
+ 0.219315 ms. 0.342803%. AveragePool
+ 0.00250145 ms. 0.00390993%. Squeeze
+ 63.9768 ms in Total
+FLOP per operator type:
+ 0.675273 GFLOP. 95.5827%. Conv
+ 0.0221072 GFLOP. 3.12921%. SpatialBN
+ 0.00538445 GFLOP. 0.762152%. Mul
+ 0.003073 GFLOP. 0.434973%. FC
+ 0.000642488 GFLOP. 0.0909421%. Add
+ 0 GFLOP. 0%. Concat
+ 0 GFLOP. 0%. Relu
+ 0.70648 GFLOP in Total
+Feature Memory Read per operator type:
+ 46.8424 MB. 30.502%. Conv
+ 36.8626 MB. 24.0036%. Mul
+ 22.3152 MB. 14.5309%. SpatialBN
+ 22.1074 MB. 14.3955%. Concat
+ 14.1496 MB. 9.21372%. Relu
+ 6.15414 MB. 4.00735%. FC
+ 5.1399 MB. 3.34692%. Add
+ 153.571 MB in Total
+Feature Memory Written per operator type:
+ 32.7672 MB. 28.4331%. Conv
+ 22.1072 MB. 19.1831%. Concat
+ 22.1072 MB. 19.1831%. SpatialBN
+ 21.5378 MB. 18.689%. Mul
+ 14.1496 MB. 12.2781%. Relu
+ 2.56995 MB. 2.23003%. Add
+ 0.004 MB. 0.00347092%. FC
+ 115.243 MB in Total
+Parameter Memory per operator type:
+ 13.7059 MB. 68.674%. Conv
+ 6.148 MB. 30.8049%. FC
+ 0.104 MB. 0.521097%. SpatialBN
+ 0 MB. 0%. Add
+ 0 MB. 0%. Concat
+ 0 MB. 0%. Mul
+ 0 MB. 0%. Relu
+ 19.9579 MB in Total
+```
+
+## TF MobileNet-V3 Large 1.0
+
+### Optimized
+```
+Main run finished. Milliseconds per iter: 22.0495. Iters per second: 45.3525
+Time per operator type:
+ 17.437 ms. 80.0087%. Conv
+ 1.27662 ms. 5.8577%. Add
+ 1.12759 ms. 5.17387%. Div
+ 0.701155 ms. 3.21721%. Mul
+ 0.562654 ms. 2.58171%. Relu
+ 0.431144 ms. 1.97828%. Clip
+ 0.156902 ms. 0.719936%. FC
+ 0.0996858 ms. 0.457402%. AveragePool
+ 0.00112455 ms. 0.00515993%. Flatten
+ 21.7939 ms in Total
+FLOP per operator type:
+ 0.43062 GFLOP. 98.1484%. Conv
+ 0.002561 GFLOP. 0.583713%. FC
+ 0.00210867 GFLOP. 0.480616%. Mul
+ 0.00193868 GFLOP. 0.441871%. Add
+ 0.00151532 GFLOP. 0.345377%. Div
+ 0 GFLOP. 0%. Relu
+ 0.438743 GFLOP in Total
+Feature Memory Read per operator type:
+ 34.7967 MB. 43.9391%. Conv
+ 14.496 MB. 18.3046%. Mul
+ 9.44828 MB. 11.9307%. Add
+ 9.26157 MB. 11.6949%. Relu
+ 6.0614 MB. 7.65395%. Div
+ 5.12912 MB. 6.47673%. FC
+ 79.193 MB in Total
+Feature Memory Written per operator type:
+ 17.6247 MB. 35.8656%. Conv
+ 9.26157 MB. 18.847%. Relu
+ 8.43469 MB. 17.1643%. Mul
+ 7.75472 MB. 15.7806%. Add
+ 6.06128 MB. 12.3345%. Div
+ 0.004 MB. 0.00813985%. FC
+ 49.1409 MB in Total
+Parameter Memory per operator type:
+ 16.6851 MB. 76.5052%. Conv
+ 5.124 MB. 23.4948%. FC
+ 0 MB. 0%. Add
+ 0 MB. 0%. Div
+ 0 MB. 0%. Mul
+ 0 MB. 0%. Relu
+ 21.8091 MB in Total
+```
+
+## MobileNet-V3 (RW)
+
+### Unoptimized
+```
+Main run finished. Milliseconds per iter: 24.8316. Iters per second: 40.2712
+Time per operator type:
+ 15.9266 ms. 69.2624%. Conv
+ 2.36551 ms. 10.2873%. SpatialBN
+ 1.39102 ms. 6.04936%. Add
+ 1.30327 ms. 5.66773%. Div
+ 0.737014 ms. 3.20517%. Mul
+ 0.639697 ms. 2.78195%. Relu
+ 0.375681 ms. 1.63378%. Clip
+ 0.153126 ms. 0.665921%. FC
+ 0.0993787 ms. 0.432184%. AveragePool
+ 0.0032632 ms. 0.0141912%. Squeeze
+ 22.9946 ms in Total
+FLOP per operator type:
+ 0.430616 GFLOP. 94.4041%. Conv
+ 0.0175992 GFLOP. 3.85829%. SpatialBN
+ 0.002561 GFLOP. 0.561449%. FC
+ 0.00210961 GFLOP. 0.46249%. Mul
+ 0.00173891 GFLOP. 0.381223%. Add
+ 0.00151626 GFLOP. 0.33241%. Div
+ 0 GFLOP. 0%. Relu
+ 0.456141 GFLOP in Total
+Feature Memory Read per operator type:
+ 34.7354 MB. 36.4363%. Conv
+ 17.7944 MB. 18.6658%. SpatialBN
+ 14.5035 MB. 15.2137%. Mul
+ 9.25778 MB. 9.71113%. Relu
+ 7.84641 MB. 8.23064%. Add
+ 6.06516 MB. 6.36216%. Div
+ 5.12912 MB. 5.38029%. FC
+ 95.3317 MB in Total
+Feature Memory Written per operator type:
+ 17.6246 MB. 26.7264%. Conv
+ 17.5992 MB. 26.6878%. SpatialBN
+ 9.25778 MB. 14.0387%. Relu
+ 8.43843 MB. 12.7962%. Mul
+ 6.95565 MB. 10.5477%. Add
+ 6.06502 MB. 9.19713%. Div
+ 0.004 MB. 0.00606568%. FC
+ 65.9447 MB in Total
+Parameter Memory per operator type:
+ 16.6778 MB. 76.1564%. Conv
+ 5.124 MB. 23.3979%. FC
+ 0.0976 MB. 0.445674%. SpatialBN
+ 0 MB. 0%. Add
+ 0 MB. 0%. Div
+ 0 MB. 0%. Mul
+ 0 MB. 0%. Relu
+ 21.8994 MB in Total
+
+```
+### Optimized
+
+```
+Main run finished. Milliseconds per iter: 22.0981. Iters per second: 45.2527
+Time per operator type:
+ 17.146 ms. 78.8965%. Conv
+ 1.38453 ms. 6.37084%. Add
+ 1.30991 ms. 6.02749%. Div
+ 0.685417 ms. 3.15391%. Mul
+ 0.532589 ms. 2.45068%. Relu
+ 0.418263 ms. 1.92461%. Clip
+ 0.15128 ms. 0.696106%. FC
+ 0.102065 ms. 0.469648%. AveragePool
+ 0.0022143 ms. 0.010189%. Squeeze
+ 21.7323 ms in Total
+FLOP per operator type:
+ 0.430616 GFLOP. 98.1927%. Conv
+ 0.002561 GFLOP. 0.583981%. FC
+ 0.00210961 GFLOP. 0.481051%. Mul
+ 0.00173891 GFLOP. 0.396522%. Add
+ 0.00151626 GFLOP. 0.34575%. Div
+ 0 GFLOP. 0%. Relu
+ 0.438542 GFLOP in Total
+Feature Memory Read per operator type:
+ 34.7842 MB. 44.833%. Conv
+ 14.5035 MB. 18.6934%. Mul
+ 9.25778 MB. 11.9323%. Relu
+ 7.84641 MB. 10.1132%. Add
+ 6.06516 MB. 7.81733%. Div
+ 5.12912 MB. 6.61087%. FC
+ 77.5861 MB in Total
+Feature Memory Written per operator type:
+ 17.6246 MB. 36.4556%. Conv
+ 9.25778 MB. 19.1492%. Relu
+ 8.43843 MB. 17.4544%. Mul
+ 6.95565 MB. 14.3874%. Add
+ 6.06502 MB. 12.5452%. Div
+ 0.004 MB. 0.00827378%. FC
+ 48.3455 MB in Total
+Parameter Memory per operator type:
+ 16.6778 MB. 76.4973%. Conv
+ 5.124 MB. 23.5027%. FC
+ 0 MB. 0%. Add
+ 0 MB. 0%. Div
+ 0 MB. 0%. Mul
+ 0 MB. 0%. Relu
+ 21.8018 MB in Total
+
+```
+
+## MnasNet-A1
+
+### Unoptimized
+```
+Main run finished. Milliseconds per iter: 30.0892. Iters per second: 33.2345
+Time per operator type:
+ 24.4656 ms. 79.0905%. Conv
+ 4.14958 ms. 13.4144%. SpatialBN
+ 1.60598 ms. 5.19169%. Relu
+ 0.295219 ms. 0.95436%. Mul
+ 0.187609 ms. 0.606486%. FC
+ 0.120556 ms. 0.389724%. AveragePool
+ 0.09036 ms. 0.292109%. Add
+ 0.015727 ms. 0.050841%. Sigmoid
+ 0.00306205 ms. 0.00989875%. Squeeze
+ 30.9337 ms in Total
+FLOP per operator type:
+ 0.620598 GFLOP. 95.6434%. Conv
+ 0.0248873 GFLOP. 3.8355%. SpatialBN
+ 0.002561 GFLOP. 0.394688%. FC
+ 0.000597408 GFLOP. 0.0920695%. Mul
+ 0.000222656 GFLOP. 0.0343146%. Add
+ 0 GFLOP. 0%. Relu
+ 0.648867 GFLOP in Total
+Feature Memory Read per operator type:
+ 35.5457 MB. 38.4109%. Conv
+ 25.1552 MB. 27.1829%. SpatialBN
+ 22.5235 MB. 24.339%. Relu
+ 5.12912 MB. 5.54256%. FC
+ 2.40586 MB. 2.59978%. Mul
+ 1.78125 MB. 1.92483%. Add
+ 92.5406 MB in Total
+Feature Memory Written per operator type:
+ 24.9042 MB. 32.9424%. Conv
+ 24.8873 MB. 32.92%. SpatialBN
+ 22.5235 MB. 29.7932%. Relu
+ 2.38963 MB. 3.16092%. Mul
+ 0.890624 MB. 1.17809%. Add
+ 0.004 MB. 0.00529106%. FC
+ 75.5993 MB in Total
+Parameter Memory per operator type:
+ 10.2732 MB. 66.1459%. Conv
+ 5.124 MB. 32.9917%. FC
+ 0.133952 MB. 0.86247%. SpatialBN
+ 0 MB. 0%. Add
+ 0 MB. 0%. Mul
+ 0 MB. 0%. Relu
+ 15.5312 MB in Total
+```
+
+### Optimized
+```
+Main run finished. Milliseconds per iter: 24.2367. Iters per second: 41.2597
+Time per operator type:
+ 22.0547 ms. 91.1375%. Conv
+ 1.49096 ms. 6.16116%. Relu
+ 0.253417 ms. 1.0472%. Mul
+ 0.18506 ms. 0.76473%. FC
+ 0.112942 ms. 0.466717%. AveragePool
+ 0.086769 ms. 0.358559%. Add
+ 0.0127889 ms. 0.0528479%. Sigmoid
+ 0.0027346 ms. 0.0113003%. Squeeze
+ 24.1994 ms in Total
+FLOP per operator type:
+ 0.620598 GFLOP. 99.4581%. Conv
+ 0.002561 GFLOP. 0.41043%. FC
+ 0.000597408 GFLOP. 0.0957417%. Mul
+ 0.000222656 GFLOP. 0.0356832%. Add
+ 0 GFLOP. 0%. Relu
+ 0.623979 GFLOP in Total
+Feature Memory Read per operator type:
+ 35.6127 MB. 52.7968%. Conv
+ 22.5235 MB. 33.3917%. Relu
+ 5.12912 MB. 7.60406%. FC
+ 2.40586 MB. 3.56675%. Mul
+ 1.78125 MB. 2.64075%. Add
+ 67.4524 MB in Total
+Feature Memory Written per operator type:
+ 24.9042 MB. 49.1092%. Conv
+ 22.5235 MB. 44.4145%. Relu
+ 2.38963 MB. 4.71216%. Mul
+ 0.890624 MB. 1.75624%. Add
+ 0.004 MB. 0.00788768%. FC
+ 50.712 MB in Total
+Parameter Memory per operator type:
+ 10.2732 MB. 66.7213%. Conv
+ 5.124 MB. 33.2787%. FC
+ 0 MB. 0%. Add
+ 0 MB. 0%. Mul
+ 0 MB. 0%. Relu
+ 15.3972 MB in Total
+```
+## MnasNet-B1
+
+### Unoptimized
+```
+Main run finished. Milliseconds per iter: 28.3109. Iters per second: 35.322
+Time per operator type:
+ 29.1121 ms. 83.3081%. Conv
+ 4.14959 ms. 11.8746%. SpatialBN
+ 1.35823 ms. 3.88675%. Relu
+ 0.186188 ms. 0.532802%. FC
+ 0.116244 ms. 0.332647%. Add
+ 0.018641 ms. 0.0533437%. AveragePool
+ 0.0040904 ms. 0.0117052%. Squeeze
+ 34.9451 ms in Total
+FLOP per operator type:
+ 0.626272 GFLOP. 96.2088%. Conv
+ 0.0218266 GFLOP. 3.35303%. SpatialBN
+ 0.002561 GFLOP. 0.393424%. FC
+ 0.000291648 GFLOP. 0.0448034%. Add
+ 0 GFLOP. 0%. Relu
+ 0.650951 GFLOP in Total
+Feature Memory Read per operator type:
+ 34.4354 MB. 41.3788%. Conv
+ 22.1299 MB. 26.5921%. SpatialBN
+ 19.1923 MB. 23.0622%. Relu
+ 5.12912 MB. 6.16333%. FC
+ 2.33318 MB. 2.80364%. Add
+ 83.2199 MB in Total
+Feature Memory Written per operator type:
+ 21.8266 MB. 34.0955%. Conv
+ 21.8266 MB. 34.0955%. SpatialBN
+ 19.1923 MB. 29.9805%. Relu
+ 1.16659 MB. 1.82234%. Add
+ 0.004 MB. 0.00624844%. FC
+ 64.016 MB in Total
+Parameter Memory per operator type:
+ 12.2576 MB. 69.9104%. Conv
+ 5.124 MB. 29.2245%. FC
+ 0.15168 MB. 0.865099%. SpatialBN
+ 0 MB. 0%. Add
+ 0 MB. 0%. Relu
+ 17.5332 MB in Total
+```
+
+### Optimized
+```
+Main run finished. Milliseconds per iter: 26.6364. Iters per second: 37.5426
+Time per operator type:
+ 24.9888 ms. 94.0962%. Conv
+ 1.26147 ms. 4.75011%. Relu
+ 0.176234 ms. 0.663619%. FC
+ 0.113309 ms. 0.426672%. Add
+ 0.0138708 ms. 0.0522311%. AveragePool
+ 0.00295685 ms. 0.0111341%. Squeeze
+ 26.5566 ms in Total
+FLOP per operator type:
+ 0.626272 GFLOP. 99.5466%. Conv
+ 0.002561 GFLOP. 0.407074%. FC
+ 0.000291648 GFLOP. 0.0463578%. Add
+ 0 GFLOP. 0%. Relu
+ 0.629124 GFLOP in Total
+Feature Memory Read per operator type:
+ 34.5112 MB. 56.4224%. Conv
+ 19.1923 MB. 31.3775%. Relu
+ 5.12912 MB. 8.3856%. FC
+ 2.33318 MB. 3.81452%. Add
+ 61.1658 MB in Total
+Feature Memory Written per operator type:
+ 21.8266 MB. 51.7346%. Conv
+ 19.1923 MB. 45.4908%. Relu
+ 1.16659 MB. 2.76513%. Add
+ 0.004 MB. 0.00948104%. FC
+ 42.1895 MB in Total
+Parameter Memory per operator type:
+ 12.2576 MB. 70.5205%. Conv
+ 5.124 MB. 29.4795%. FC
+ 0 MB. 0%. Add
+ 0 MB. 0%. Relu
+ 17.3816 MB in Total
+```
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/LICENSE b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/LICENSE
new file mode 100644
index 0000000000000000000000000000000000000000..80e7d15508202f3262a50db27f5198460d7f509f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/LICENSE
@@ -0,0 +1,201 @@
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2020 Ross Wightman
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/README.md b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..463368280d6a5015060eb73d20fe6512f8e04c50
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/README.md
@@ -0,0 +1,323 @@
+# (Generic) EfficientNets for PyTorch
+
+A 'generic' implementation of EfficientNet, MixNet, MobileNetV3, etc. that covers most of the compute/parameter efficient architectures derived from the MobileNet V1/V2 block sequence, including those found via automated neural architecture search.
+
+All models are implemented by GenEfficientNet or MobileNetV3 classes, with string based architecture definitions to configure the block layouts (idea from [here](https://github.com/tensorflow/tpu/blob/master/models/official/mnasnet/mnasnet_models.py))
+
+## What's New
+
+### Aug 19, 2020
+* Add updated PyTorch trained EfficientNet-B3 weights trained by myself with `timm` (82.1 top-1)
+* Add PyTorch trained EfficientNet-Lite0 contributed by [@hal-314](https://github.com/hal-314) (75.5 top-1)
+* Update ONNX and Caffe2 export / utility scripts to work with latest PyTorch / ONNX
+* ONNX runtime based validation script added
+* activations (mostly) brought in sync with `timm` equivalents
+
+
+### April 5, 2020
+* Add some newly trained MobileNet-V2 models trained with latest h-params, rand augment. They compare quite favourably to EfficientNet-Lite
+ * 3.5M param MobileNet-V2 100 @ 73%
+ * 4.5M param MobileNet-V2 110d @ 75%
+ * 6.1M param MobileNet-V2 140 @ 76.5%
+ * 5.8M param MobileNet-V2 120d @ 77.3%
+
+### March 23, 2020
+ * Add EfficientNet-Lite models w/ weights ported from [Tensorflow TPU](https://github.com/tensorflow/tpu/tree/master/models/official/efficientnet/lite)
+ * Add PyTorch trained MobileNet-V3 Large weights with 75.77% top-1
+ * IMPORTANT CHANGE (if training from scratch) - weight init changed to better match Tensorflow impl, set `fix_group_fanout=False` in `initialize_weight_goog` for old behavior
+
+### Feb 12, 2020
+ * Add EfficientNet-L2 and B0-B7 NoisyStudent weights ported from [Tensorflow TPU](https://github.com/tensorflow/tpu/tree/master/models/official/efficientnet)
+ * Port new EfficientNet-B8 (RandAugment) weights from TF TPU, these are different than the B8 AdvProp, different input normalization.
+ * Add RandAugment PyTorch trained EfficientNet-ES (EdgeTPU-Small) weights with 78.1 top-1. Trained by [Andrew Lavin](https://github.com/andravin)
+
+### Jan 22, 2020
+ * Update weights for EfficientNet B0, B2, B3 and MixNet-XL with latest RandAugment trained weights. Trained with (https://github.com/rwightman/pytorch-image-models)
+ * Fix torchscript compatibility for PyTorch 1.4, add torchscript support for MixedConv2d using ModuleDict
+ * Test models, torchscript, onnx export with PyTorch 1.4 -- no issues
+
+### Nov 22, 2019
+ * New top-1 high! Ported official TF EfficientNet AdvProp (https://arxiv.org/abs/1911.09665) weights and B8 model spec. Created a new set of `ap` models since they use a different
+ preprocessing (Inception mean/std) from the original EfficientNet base/AA/RA weights.
+
+### Nov 15, 2019
+ * Ported official TF MobileNet-V3 float32 large/small/minimalistic weights
+ * Modifications to MobileNet-V3 model and components to support some additional config needed for differences between TF MobileNet-V3 and mine
+
+### Oct 30, 2019
+ * Many of the models will now work with torch.jit.script, MixNet being the biggest exception
+ * Improved interface for enabling torchscript or ONNX export compatible modes (via config)
+ * Add JIT optimized mem-efficient Swish/Mish autograd.fn in addition to memory-efficient autgrad.fn
+ * Activation factory to select best version of activation by name or override one globally
+ * Add pretrained checkpoint load helper that handles input conv and classifier changes
+
+### Oct 27, 2019
+ * Add CondConv EfficientNet variants ported from https://github.com/tensorflow/tpu/tree/master/models/official/efficientnet/condconv
+ * Add RandAug weights for TF EfficientNet B5 and B7 from https://github.com/tensorflow/tpu/tree/master/models/official/efficientnet
+ * Bring over MixNet-XL model and depth scaling algo from my pytorch-image-models code base
+ * Switch activations and global pooling to modules
+ * Add memory-efficient Swish/Mish impl
+ * Add as_sequential() method to all models and allow as an argument in entrypoint fns
+ * Move MobileNetV3 into own file since it has a different head
+ * Remove ChamNet, MobileNet V2/V1 since they will likely never be used here
+
+## Models
+
+Implemented models include:
+ * EfficientNet NoisyStudent (B0-B7, L2) (https://arxiv.org/abs/1911.04252)
+ * EfficientNet AdvProp (B0-B8) (https://arxiv.org/abs/1911.09665)
+ * EfficientNet (B0-B8) (https://arxiv.org/abs/1905.11946)
+ * EfficientNet-EdgeTPU (S, M, L) (https://ai.googleblog.com/2019/08/efficientnet-edgetpu-creating.html)
+ * EfficientNet-CondConv (https://arxiv.org/abs/1904.04971)
+ * EfficientNet-Lite (https://github.com/tensorflow/tpu/tree/master/models/official/efficientnet/lite)
+ * MixNet (https://arxiv.org/abs/1907.09595)
+ * MNASNet B1, A1 (Squeeze-Excite), and Small (https://arxiv.org/abs/1807.11626)
+ * MobileNet-V3 (https://arxiv.org/abs/1905.02244)
+ * FBNet-C (https://arxiv.org/abs/1812.03443)
+ * Single-Path NAS (https://arxiv.org/abs/1904.02877)
+
+I originally implemented and trained some these models with code [here](https://github.com/rwightman/pytorch-image-models), this repository contains just the GenEfficientNet models, validation, and associated ONNX/Caffe2 export code.
+
+## Pretrained
+
+I've managed to train several of the models to accuracies close to or above the originating papers and official impl. My training code is here: https://github.com/rwightman/pytorch-image-models
+
+
+|Model | Prec@1 (Err) | Prec@5 (Err) | Param#(M) | MAdds(M) | Image Scaling | Resolution | Crop |
+|---|---|---|---|---|---|---|---|
+| efficientnet_b3 | 82.240 (17.760) | 96.116 (3.884) | 12.23 | TBD | bicubic | 320 | 1.0 |
+| efficientnet_b3 | 82.076 (17.924) | 96.020 (3.980) | 12.23 | TBD | bicubic | 300 | 0.904 |
+| mixnet_xl | 81.074 (18.926) | 95.282 (4.718) | 11.90 | TBD | bicubic | 256 | 1.0 |
+| efficientnet_b2 | 80.612 (19.388) | 95.318 (4.682) | 9.1 | TBD | bicubic | 288 | 1.0 |
+| mixnet_xl | 80.476 (19.524) | 94.936 (5.064) | 11.90 | TBD | bicubic | 224 | 0.875 |
+| efficientnet_b2 | 80.288 (19.712) | 95.166 (4.834) | 9.1 | 1003 | bicubic | 260 | 0.890 |
+| mixnet_l | 78.976 (21.024 | 94.184 (5.816) | 7.33 | TBD | bicubic | 224 | 0.875 |
+| efficientnet_b1 | 78.692 (21.308) | 94.086 (5.914) | 7.8 | 694 | bicubic | 240 | 0.882 |
+| efficientnet_es | 78.066 (21.934) | 93.926 (6.074) | 5.44 | TBD | bicubic | 224 | 0.875 |
+| efficientnet_b0 | 77.698 (22.302) | 93.532 (6.468) | 5.3 | 390 | bicubic | 224 | 0.875 |
+| mobilenetv2_120d | 77.294 (22.706 | 93.502 (6.498) | 5.8 | TBD | bicubic | 224 | 0.875 |
+| mixnet_m | 77.256 (22.744) | 93.418 (6.582) | 5.01 | 353 | bicubic | 224 | 0.875 |
+| mobilenetv2_140 | 76.524 (23.476) | 92.990 (7.010) | 6.1 | TBD | bicubic | 224 | 0.875 |
+| mixnet_s | 75.988 (24.012) | 92.794 (7.206) | 4.13 | TBD | bicubic | 224 | 0.875 |
+| mobilenetv3_large_100 | 75.766 (24.234) | 92.542 (7.458) | 5.5 | TBD | bicubic | 224 | 0.875 |
+| mobilenetv3_rw | 75.634 (24.366) | 92.708 (7.292) | 5.5 | 219 | bicubic | 224 | 0.875 |
+| efficientnet_lite0 | 75.472 (24.528) | 92.520 (7.480) | 4.65 | TBD | bicubic | 224 | 0.875 |
+| mnasnet_a1 | 75.448 (24.552) | 92.604 (7.396) | 3.9 | 312 | bicubic | 224 | 0.875 |
+| fbnetc_100 | 75.124 (24.876) | 92.386 (7.614) | 5.6 | 385 | bilinear | 224 | 0.875 |
+| mobilenetv2_110d | 75.052 (24.948) | 92.180 (7.820) | 4.5 | TBD | bicubic | 224 | 0.875 |
+| mnasnet_b1 | 74.658 (25.342) | 92.114 (7.886) | 4.4 | 315 | bicubic | 224 | 0.875 |
+| spnasnet_100 | 74.084 (25.916) | 91.818 (8.182) | 4.4 | TBD | bilinear | 224 | 0.875 |
+| mobilenetv2_100 | 72.978 (27.022) | 91.016 (8.984) | 3.5 | TBD | bicubic | 224 | 0.875 |
+
+
+More pretrained models to come...
+
+
+## Ported Weights
+
+The weights ported from Tensorflow checkpoints for the EfficientNet models do pretty much match accuracy in Tensorflow once a SAME convolution padding equivalent is added, and the same crop factors, image scaling, etc (see table) are used via cmd line args.
+
+**IMPORTANT:**
+* Tensorflow ported weights for EfficientNet AdvProp (AP), EfficientNet EdgeTPU, EfficientNet-CondConv, EfficientNet-Lite, and MobileNet-V3 models use Inception style (0.5, 0.5, 0.5) for mean and std.
+* Enabling the Tensorflow preprocessing pipeline with `--tf-preprocessing` at validation time will improve scores by 0.1-0.5%, very close to original TF impl.
+
+To run validation for tf_efficientnet_b5:
+`python validate.py /path/to/imagenet/validation/ --model tf_efficientnet_b5 -b 64 --img-size 456 --crop-pct 0.934 --interpolation bicubic`
+
+To run validation w/ TF preprocessing for tf_efficientnet_b5:
+`python validate.py /path/to/imagenet/validation/ --model tf_efficientnet_b5 -b 64 --img-size 456 --tf-preprocessing`
+
+To run validation for a model with Inception preprocessing, ie EfficientNet-B8 AdvProp:
+`python validate.py /path/to/imagenet/validation/ --model tf_efficientnet_b8_ap -b 48 --num-gpu 2 --img-size 672 --crop-pct 0.954 --mean 0.5 --std 0.5`
+
+|Model | Prec@1 (Err) | Prec@5 (Err) | Param # | Image Scaling | Image Size | Crop |
+|---|---|---|---|---|---|---|
+| tf_efficientnet_l2_ns *tfp | 88.352 (11.648) | 98.652 (1.348) | 480 | bicubic | 800 | N/A |
+| tf_efficientnet_l2_ns | TBD | TBD | 480 | bicubic | 800 | 0.961 |
+| tf_efficientnet_l2_ns_475 | 88.234 (11.766) | 98.546 (1.454) | 480 | bicubic | 475 | 0.936 |
+| tf_efficientnet_l2_ns_475 *tfp | 88.172 (11.828) | 98.566 (1.434) | 480 | bicubic | 475 | N/A |
+| tf_efficientnet_b7_ns *tfp | 86.844 (13.156) | 98.084 (1.916) | 66.35 | bicubic | 600 | N/A |
+| tf_efficientnet_b7_ns | 86.840 (13.160) | 98.094 (1.906) | 66.35 | bicubic | 600 | N/A |
+| tf_efficientnet_b6_ns | 86.452 (13.548) | 97.882 (2.118) | 43.04 | bicubic | 528 | N/A |
+| tf_efficientnet_b6_ns *tfp | 86.444 (13.556) | 97.880 (2.120) | 43.04 | bicubic | 528 | N/A |
+| tf_efficientnet_b5_ns *tfp | 86.064 (13.936) | 97.746 (2.254) | 30.39 | bicubic | 456 | N/A |
+| tf_efficientnet_b5_ns | 86.088 (13.912) | 97.752 (2.248) | 30.39 | bicubic | 456 | N/A |
+| tf_efficientnet_b8_ap *tfp | 85.436 (14.564) | 97.272 (2.728) | 87.4 | bicubic | 672 | N/A |
+| tf_efficientnet_b8 *tfp | 85.384 (14.616) | 97.394 (2.606) | 87.4 | bicubic | 672 | N/A |
+| tf_efficientnet_b8 | 85.370 (14.630) | 97.390 (2.610) | 87.4 | bicubic | 672 | 0.954 |
+| tf_efficientnet_b8_ap | 85.368 (14.632) | 97.294 (2.706) | 87.4 | bicubic | 672 | 0.954 |
+| tf_efficientnet_b4_ns *tfp | 85.298 (14.702) | 97.504 (2.496) | 19.34 | bicubic | 380 | N/A |
+| tf_efficientnet_b4_ns | 85.162 (14.838) | 97.470 (2.530) | 19.34 | bicubic | 380 | 0.922 |
+| tf_efficientnet_b7_ap *tfp | 85.154 (14.846) | 97.244 (2.756) | 66.35 | bicubic | 600 | N/A |
+| tf_efficientnet_b7_ap | 85.118 (14.882) | 97.252 (2.748) | 66.35 | bicubic | 600 | 0.949 |
+| tf_efficientnet_b7 *tfp | 84.940 (15.060) | 97.214 (2.786) | 66.35 | bicubic | 600 | N/A |
+| tf_efficientnet_b7 | 84.932 (15.068) | 97.208 (2.792) | 66.35 | bicubic | 600 | 0.949 |
+| tf_efficientnet_b6_ap | 84.786 (15.214) | 97.138 (2.862) | 43.04 | bicubic | 528 | 0.942 |
+| tf_efficientnet_b6_ap *tfp | 84.760 (15.240) | 97.124 (2.876) | 43.04 | bicubic | 528 | N/A |
+| tf_efficientnet_b5_ap *tfp | 84.276 (15.724) | 96.932 (3.068) | 30.39 | bicubic | 456 | N/A |
+| tf_efficientnet_b5_ap | 84.254 (15.746) | 96.976 (3.024) | 30.39 | bicubic | 456 | 0.934 |
+| tf_efficientnet_b6 *tfp | 84.140 (15.860) | 96.852 (3.148) | 43.04 | bicubic | 528 | N/A |
+| tf_efficientnet_b6 | 84.110 (15.890) | 96.886 (3.114) | 43.04 | bicubic | 528 | 0.942 |
+| tf_efficientnet_b3_ns *tfp | 84.054 (15.946) | 96.918 (3.082) | 12.23 | bicubic | 300 | N/A |
+| tf_efficientnet_b3_ns | 84.048 (15.952) | 96.910 (3.090) | 12.23 | bicubic | 300 | .904 |
+| tf_efficientnet_b5 *tfp | 83.822 (16.178) | 96.756 (3.244) | 30.39 | bicubic | 456 | N/A |
+| tf_efficientnet_b5 | 83.812 (16.188) | 96.748 (3.252) | 30.39 | bicubic | 456 | 0.934 |
+| tf_efficientnet_b4_ap *tfp | 83.278 (16.722) | 96.376 (3.624) | 19.34 | bicubic | 380 | N/A |
+| tf_efficientnet_b4_ap | 83.248 (16.752) | 96.388 (3.612) | 19.34 | bicubic | 380 | 0.922 |
+| tf_efficientnet_b4 | 83.022 (16.978) | 96.300 (3.700) | 19.34 | bicubic | 380 | 0.922 |
+| tf_efficientnet_b4 *tfp | 82.948 (17.052) | 96.308 (3.692) | 19.34 | bicubic | 380 | N/A |
+| tf_efficientnet_b2_ns *tfp | 82.436 (17.564) | 96.268 (3.732) | 9.11 | bicubic | 260 | N/A |
+| tf_efficientnet_b2_ns | 82.380 (17.620) | 96.248 (3.752) | 9.11 | bicubic | 260 | 0.89 |
+| tf_efficientnet_b3_ap *tfp | 81.882 (18.118) | 95.662 (4.338) | 12.23 | bicubic | 300 | N/A |
+| tf_efficientnet_b3_ap | 81.828 (18.172) | 95.624 (4.376) | 12.23 | bicubic | 300 | 0.904 |
+| tf_efficientnet_b3 | 81.636 (18.364) | 95.718 (4.282) | 12.23 | bicubic | 300 | 0.904 |
+| tf_efficientnet_b3 *tfp | 81.576 (18.424) | 95.662 (4.338) | 12.23 | bicubic | 300 | N/A |
+| tf_efficientnet_lite4 | 81.528 (18.472) | 95.668 (4.332) | 13.00 | bilinear | 380 | 0.92 |
+| tf_efficientnet_b1_ns *tfp | 81.514 (18.486) | 95.776 (4.224) | 7.79 | bicubic | 240 | N/A |
+| tf_efficientnet_lite4 *tfp | 81.502 (18.498) | 95.676 (4.324) | 13.00 | bilinear | 380 | N/A |
+| tf_efficientnet_b1_ns | 81.388 (18.612) | 95.738 (4.262) | 7.79 | bicubic | 240 | 0.88 |
+| tf_efficientnet_el | 80.534 (19.466) | 95.190 (4.810) | 10.59 | bicubic | 300 | 0.904 |
+| tf_efficientnet_el *tfp | 80.476 (19.524) | 95.200 (4.800) | 10.59 | bicubic | 300 | N/A |
+| tf_efficientnet_b2_ap *tfp | 80.420 (19.580) | 95.040 (4.960) | 9.11 | bicubic | 260 | N/A |
+| tf_efficientnet_b2_ap | 80.306 (19.694) | 95.028 (4.972) | 9.11 | bicubic | 260 | 0.890 |
+| tf_efficientnet_b2 *tfp | 80.188 (19.812) | 94.974 (5.026) | 9.11 | bicubic | 260 | N/A |
+| tf_efficientnet_b2 | 80.086 (19.914) | 94.908 (5.092) | 9.11 | bicubic | 260 | 0.890 |
+| tf_efficientnet_lite3 | 79.812 (20.188) | 94.914 (5.086) | 8.20 | bilinear | 300 | 0.904 |
+| tf_efficientnet_lite3 *tfp | 79.734 (20.266) | 94.838 (5.162) | 8.20 | bilinear | 300 | N/A |
+| tf_efficientnet_b1_ap *tfp | 79.532 (20.468) | 94.378 (5.622) | 7.79 | bicubic | 240 | N/A |
+| tf_efficientnet_cc_b1_8e *tfp | 79.464 (20.536)| 94.492 (5.508) | 39.7 | bicubic | 240 | 0.88 |
+| tf_efficientnet_cc_b1_8e | 79.298 (20.702) | 94.364 (5.636) | 39.7 | bicubic | 240 | 0.88 |
+| tf_efficientnet_b1_ap | 79.278 (20.722) | 94.308 (5.692) | 7.79 | bicubic | 240 | 0.88 |
+| tf_efficientnet_b1 *tfp | 79.172 (20.828) | 94.450 (5.550) | 7.79 | bicubic | 240 | N/A |
+| tf_efficientnet_em *tfp | 78.958 (21.042) | 94.458 (5.542) | 6.90 | bicubic | 240 | N/A |
+| tf_efficientnet_b0_ns *tfp | 78.806 (21.194) | 94.496 (5.504) | 5.29 | bicubic | 224 | N/A |
+| tf_mixnet_l *tfp | 78.846 (21.154) | 94.212 (5.788) | 7.33 | bilinear | 224 | N/A |
+| tf_efficientnet_b1 | 78.826 (21.174) | 94.198 (5.802) | 7.79 | bicubic | 240 | 0.88 |
+| tf_mixnet_l | 78.770 (21.230) | 94.004 (5.996) | 7.33 | bicubic | 224 | 0.875 |
+| tf_efficientnet_em | 78.742 (21.258) | 94.332 (5.668) | 6.90 | bicubic | 240 | 0.875 |
+| tf_efficientnet_b0_ns | 78.658 (21.342) | 94.376 (5.624) | 5.29 | bicubic | 224 | 0.875 |
+| tf_efficientnet_cc_b0_8e *tfp | 78.314 (21.686) | 93.790 (6.210) | 24.0 | bicubic | 224 | 0.875 |
+| tf_efficientnet_cc_b0_8e | 77.908 (22.092) | 93.656 (6.344) | 24.0 | bicubic | 224 | 0.875 |
+| tf_efficientnet_cc_b0_4e *tfp | 77.746 (22.254) | 93.552 (6.448) | 13.3 | bicubic | 224 | 0.875 |
+| tf_efficientnet_cc_b0_4e | 77.304 (22.696) | 93.332 (6.668) | 13.3 | bicubic | 224 | 0.875 |
+| tf_efficientnet_es *tfp | 77.616 (22.384) | 93.750 (6.250) | 5.44 | bicubic | 224 | N/A |
+| tf_efficientnet_lite2 *tfp | 77.544 (22.456) | 93.800 (6.200) | 6.09 | bilinear | 260 | N/A |
+| tf_efficientnet_lite2 | 77.460 (22.540) | 93.746 (6.254) | 6.09 | bicubic | 260 | 0.89 |
+| tf_efficientnet_b0_ap *tfp | 77.514 (22.486) | 93.576 (6.424) | 5.29 | bicubic | 224 | N/A |
+| tf_efficientnet_es | 77.264 (22.736) | 93.600 (6.400) | 5.44 | bicubic | 224 | N/A |
+| tf_efficientnet_b0 *tfp | 77.258 (22.742) | 93.478 (6.522) | 5.29 | bicubic | 224 | N/A |
+| tf_efficientnet_b0_ap | 77.084 (22.916) | 93.254 (6.746) | 5.29 | bicubic | 224 | 0.875 |
+| tf_mixnet_m *tfp | 77.072 (22.928) | 93.368 (6.632) | 5.01 | bilinear | 224 | N/A |
+| tf_mixnet_m | 76.950 (23.050) | 93.156 (6.844) | 5.01 | bicubic | 224 | 0.875 |
+| tf_efficientnet_b0 | 76.848 (23.152) | 93.228 (6.772) | 5.29 | bicubic | 224 | 0.875 |
+| tf_efficientnet_lite1 *tfp | 76.764 (23.236) | 93.326 (6.674) | 5.42 | bilinear | 240 | N/A |
+| tf_efficientnet_lite1 | 76.638 (23.362) | 93.232 (6.768) | 5.42 | bicubic | 240 | 0.882 |
+| tf_mixnet_s *tfp | 75.800 (24.200) | 92.788 (7.212) | 4.13 | bilinear | 224 | N/A |
+| tf_mobilenetv3_large_100 *tfp | 75.768 (24.232) | 92.710 (7.290) | 5.48 | bilinear | 224 | N/A |
+| tf_mixnet_s | 75.648 (24.352) | 92.636 (7.364) | 4.13 | bicubic | 224 | 0.875 |
+| tf_mobilenetv3_large_100 | 75.516 (24.484) | 92.600 (7.400) | 5.48 | bilinear | 224 | 0.875 |
+| tf_efficientnet_lite0 *tfp | 75.074 (24.926) | 92.314 (7.686) | 4.65 | bilinear | 224 | N/A |
+| tf_efficientnet_lite0 | 74.842 (25.158) | 92.170 (7.830) | 4.65 | bicubic | 224 | 0.875 |
+| tf_mobilenetv3_large_075 *tfp | 73.730 (26.270) | 91.616 (8.384) | 3.99 | bilinear | 224 |N/A |
+| tf_mobilenetv3_large_075 | 73.442 (26.558) | 91.352 (8.648) | 3.99 | bilinear | 224 | 0.875 |
+| tf_mobilenetv3_large_minimal_100 *tfp | 72.678 (27.322) | 90.860 (9.140) | 3.92 | bilinear | 224 | N/A |
+| tf_mobilenetv3_large_minimal_100 | 72.244 (27.756) | 90.636 (9.364) | 3.92 | bilinear | 224 | 0.875 |
+| tf_mobilenetv3_small_100 *tfp | 67.918 (32.082) | 87.958 (12.042 | 2.54 | bilinear | 224 | N/A |
+| tf_mobilenetv3_small_100 | 67.918 (32.082) | 87.662 (12.338) | 2.54 | bilinear | 224 | 0.875 |
+| tf_mobilenetv3_small_075 *tfp | 66.142 (33.858) | 86.498 (13.502) | 2.04 | bilinear | 224 | N/A |
+| tf_mobilenetv3_small_075 | 65.718 (34.282) | 86.136 (13.864) | 2.04 | bilinear | 224 | 0.875 |
+| tf_mobilenetv3_small_minimal_100 *tfp | 63.378 (36.622) | 84.802 (15.198) | 2.04 | bilinear | 224 | N/A |
+| tf_mobilenetv3_small_minimal_100 | 62.898 (37.102) | 84.230 (15.770) | 2.04 | bilinear | 224 | 0.875 |
+
+
+*tfp models validated with `tf-preprocessing` pipeline
+
+Google tf and tflite weights ported from official Tensorflow repositories
+* https://github.com/tensorflow/tpu/tree/master/models/official/mnasnet
+* https://github.com/tensorflow/tpu/tree/master/models/official/efficientnet
+* https://github.com/tensorflow/models/tree/master/research/slim/nets/mobilenet
+
+## Usage
+
+### Environment
+
+All development and testing has been done in Conda Python 3 environments on Linux x86-64 systems, specifically Python 3.6.x, 3.7.x, 3.8.x.
+
+Users have reported that a Python 3 Anaconda install in Windows works. I have not verified this myself.
+
+PyTorch versions 1.4, 1.5, 1.6 have been tested with this code.
+
+I've tried to keep the dependencies minimal, the setup is as per the PyTorch default install instructions for Conda:
+```
+conda create -n torch-env
+conda activate torch-env
+conda install -c pytorch pytorch torchvision cudatoolkit=10.2
+```
+
+### PyTorch Hub
+
+Models can be accessed via the PyTorch Hub API
+
+```
+>>> torch.hub.list('rwightman/gen-efficientnet-pytorch')
+['efficientnet_b0', ...]
+>>> model = torch.hub.load('rwightman/gen-efficientnet-pytorch', 'efficientnet_b0', pretrained=True)
+>>> model.eval()
+>>> output = model(torch.randn(1,3,224,224))
+```
+
+### Pip
+This package can be installed via pip.
+
+Install (after conda env/install):
+```
+pip install geffnet
+```
+
+Eval use:
+```
+>>> import geffnet
+>>> m = geffnet.create_model('mobilenetv3_large_100', pretrained=True)
+>>> m.eval()
+```
+
+Train use:
+```
+>>> import geffnet
+>>> # models can also be created by using the entrypoint directly
+>>> m = geffnet.efficientnet_b2(pretrained=True, drop_rate=0.25, drop_connect_rate=0.2)
+>>> m.train()
+```
+
+Create in a nn.Sequential container, for fast.ai, etc:
+```
+>>> import geffnet
+>>> m = geffnet.mixnet_l(pretrained=True, drop_rate=0.25, drop_connect_rate=0.2, as_sequential=True)
+```
+
+### Exporting
+
+Scripts are included to
+* export models to ONNX (`onnx_export.py`)
+* optimized ONNX graph (`onnx_optimize.py` or `onnx_validate.py` w/ `--onnx-output-opt` arg)
+* validate with ONNX runtime (`onnx_validate.py`)
+* convert ONNX model to Caffe2 (`onnx_to_caffe.py`)
+* validate in Caffe2 (`caffe2_validate.py`)
+* benchmark in Caffe2 w/ FLOPs, parameters output (`caffe2_benchmark.py`)
+
+As an example, to export the MobileNet-V3 pretrained model and then run an Imagenet validation:
+```
+python onnx_export.py --model mobilenetv3_large_100 ./mobilenetv3_100.onnx
+python onnx_validate.py /imagenet/validation/ --onnx-input ./mobilenetv3_100.onnx
+```
+
+These scripts were tested to be working as of PyTorch 1.6 and ONNX 1.7 w/ ONNX runtime 1.4. Caffe2 compatible
+export now requires additional args mentioned in the export script (not needed in earlier versions).
+
+#### Export Notes
+1. The TF ported weights with the 'SAME' conv padding activated cannot be exported to ONNX unless `_EXPORTABLE` flag in `config.py` is set to True. Use `config.set_exportable(True)` as in the `onnx_export.py` script.
+2. TF ported models with 'SAME' padding will have the padding fixed at export time to the resolution used for export. Even though dynamic padding is supported in opset >= 11, I can't get it working.
+3. ONNX optimize facility doesn't work reliably in PyTorch 1.6 / ONNX 1.7. Fortunately, the onnxruntime based inference is working very well now and includes on the fly optimization.
+3. ONNX / Caffe2 export/import frequently breaks with different PyTorch and ONNX version releases. Please check their respective issue trackers before filing issues here.
+
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/caffe2_benchmark.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/caffe2_benchmark.py
new file mode 100644
index 0000000000000000000000000000000000000000..93f28a1e63d9f7287ca02997c7991fe66dd0aeb9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/caffe2_benchmark.py
@@ -0,0 +1,65 @@
+""" Caffe2 validation script
+
+This script runs Caffe2 benchmark on exported ONNX model.
+It is a useful tool for reporting model FLOPS.
+
+Copyright 2020 Ross Wightman
+"""
+import argparse
+from caffe2.python import core, workspace, model_helper
+from caffe2.proto import caffe2_pb2
+
+
+parser = argparse.ArgumentParser(description='Caffe2 Model Benchmark')
+parser.add_argument('--c2-prefix', default='', type=str, metavar='NAME',
+ help='caffe2 model pb name prefix')
+parser.add_argument('--c2-init', default='', type=str, metavar='PATH',
+ help='caffe2 model init .pb')
+parser.add_argument('--c2-predict', default='', type=str, metavar='PATH',
+ help='caffe2 model predict .pb')
+parser.add_argument('-b', '--batch-size', default=1, type=int,
+ metavar='N', help='mini-batch size (default: 1)')
+parser.add_argument('--img-size', default=224, type=int,
+ metavar='N', help='Input image dimension, uses model default if empty')
+
+
+def main():
+ args = parser.parse_args()
+ args.gpu_id = 0
+ if args.c2_prefix:
+ args.c2_init = args.c2_prefix + '.init.pb'
+ args.c2_predict = args.c2_prefix + '.predict.pb'
+
+ model = model_helper.ModelHelper(name="le_net", init_params=False)
+
+ # Bring in the init net from init_net.pb
+ init_net_proto = caffe2_pb2.NetDef()
+ with open(args.c2_init, "rb") as f:
+ init_net_proto.ParseFromString(f.read())
+ model.param_init_net = core.Net(init_net_proto)
+
+ # bring in the predict net from predict_net.pb
+ predict_net_proto = caffe2_pb2.NetDef()
+ with open(args.c2_predict, "rb") as f:
+ predict_net_proto.ParseFromString(f.read())
+ model.net = core.Net(predict_net_proto)
+
+ # CUDA performance not impressive
+ #device_opts = core.DeviceOption(caffe2_pb2.PROTO_CUDA, args.gpu_id)
+ #model.net.RunAllOnGPU(gpu_id=args.gpu_id, use_cudnn=True)
+ #model.param_init_net.RunAllOnGPU(gpu_id=args.gpu_id, use_cudnn=True)
+
+ input_blob = model.net.external_inputs[0]
+ model.param_init_net.GaussianFill(
+ [],
+ input_blob.GetUnscopedName(),
+ shape=(args.batch_size, 3, args.img_size, args.img_size),
+ mean=0.0,
+ std=1.0)
+ workspace.RunNetOnce(model.param_init_net)
+ workspace.CreateNet(model.net, overwrite=True)
+ workspace.BenchmarkNet(model.net.Proto().name, 5, 20, True)
+
+
+if __name__ == '__main__':
+ main()
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/caffe2_validate.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/caffe2_validate.py
new file mode 100644
index 0000000000000000000000000000000000000000..7cfaab38c095663fe32e4addbdf06b57bcb53614
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/caffe2_validate.py
@@ -0,0 +1,138 @@
+""" Caffe2 validation script
+
+This script is created to verify exported ONNX models running in Caffe2
+It utilizes the same PyTorch dataloader/processing pipeline for a
+fair comparison against the originals.
+
+Copyright 2020 Ross Wightman
+"""
+import argparse
+import numpy as np
+from caffe2.python import core, workspace, model_helper
+from caffe2.proto import caffe2_pb2
+from data import create_loader, resolve_data_config, Dataset
+from utils import AverageMeter
+import time
+
+parser = argparse.ArgumentParser(description='Caffe2 ImageNet Validation')
+parser.add_argument('data', metavar='DIR',
+ help='path to dataset')
+parser.add_argument('--c2-prefix', default='', type=str, metavar='NAME',
+ help='caffe2 model pb name prefix')
+parser.add_argument('--c2-init', default='', type=str, metavar='PATH',
+ help='caffe2 model init .pb')
+parser.add_argument('--c2-predict', default='', type=str, metavar='PATH',
+ help='caffe2 model predict .pb')
+parser.add_argument('-j', '--workers', default=2, type=int, metavar='N',
+ help='number of data loading workers (default: 2)')
+parser.add_argument('-b', '--batch-size', default=256, type=int,
+ metavar='N', help='mini-batch size (default: 256)')
+parser.add_argument('--img-size', default=None, type=int,
+ metavar='N', help='Input image dimension, uses model default if empty')
+parser.add_argument('--mean', type=float, nargs='+', default=None, metavar='MEAN',
+ help='Override mean pixel value of dataset')
+parser.add_argument('--std', type=float, nargs='+', default=None, metavar='STD',
+ help='Override std deviation of of dataset')
+parser.add_argument('--crop-pct', type=float, default=None, metavar='PCT',
+ help='Override default crop pct of 0.875')
+parser.add_argument('--interpolation', default='', type=str, metavar='NAME',
+ help='Image resize interpolation type (overrides model)')
+parser.add_argument('--tf-preprocessing', dest='tf_preprocessing', action='store_true',
+ help='use tensorflow mnasnet preporcessing')
+parser.add_argument('--print-freq', '-p', default=10, type=int,
+ metavar='N', help='print frequency (default: 10)')
+
+
+def main():
+ args = parser.parse_args()
+ args.gpu_id = 0
+ if args.c2_prefix:
+ args.c2_init = args.c2_prefix + '.init.pb'
+ args.c2_predict = args.c2_prefix + '.predict.pb'
+
+ model = model_helper.ModelHelper(name="validation_net", init_params=False)
+
+ # Bring in the init net from init_net.pb
+ init_net_proto = caffe2_pb2.NetDef()
+ with open(args.c2_init, "rb") as f:
+ init_net_proto.ParseFromString(f.read())
+ model.param_init_net = core.Net(init_net_proto)
+
+ # bring in the predict net from predict_net.pb
+ predict_net_proto = caffe2_pb2.NetDef()
+ with open(args.c2_predict, "rb") as f:
+ predict_net_proto.ParseFromString(f.read())
+ model.net = core.Net(predict_net_proto)
+
+ data_config = resolve_data_config(None, args)
+ loader = create_loader(
+ Dataset(args.data, load_bytes=args.tf_preprocessing),
+ input_size=data_config['input_size'],
+ batch_size=args.batch_size,
+ use_prefetcher=False,
+ interpolation=data_config['interpolation'],
+ mean=data_config['mean'],
+ std=data_config['std'],
+ num_workers=args.workers,
+ crop_pct=data_config['crop_pct'],
+ tensorflow_preprocessing=args.tf_preprocessing)
+
+ # this is so obvious, wonderful interface
+ input_blob = model.net.external_inputs[0]
+ output_blob = model.net.external_outputs[0]
+
+ if True:
+ device_opts = None
+ else:
+ # CUDA is crashing, no idea why, awesome error message, give it a try for kicks
+ device_opts = core.DeviceOption(caffe2_pb2.PROTO_CUDA, args.gpu_id)
+ model.net.RunAllOnGPU(gpu_id=args.gpu_id, use_cudnn=True)
+ model.param_init_net.RunAllOnGPU(gpu_id=args.gpu_id, use_cudnn=True)
+
+ model.param_init_net.GaussianFill(
+ [], input_blob.GetUnscopedName(),
+ shape=(1,) + data_config['input_size'], mean=0.0, std=1.0)
+ workspace.RunNetOnce(model.param_init_net)
+ workspace.CreateNet(model.net, overwrite=True)
+
+ batch_time = AverageMeter()
+ top1 = AverageMeter()
+ top5 = AverageMeter()
+ end = time.time()
+ for i, (input, target) in enumerate(loader):
+ # run the net and return prediction
+ caffe2_in = input.data.numpy()
+ workspace.FeedBlob(input_blob, caffe2_in, device_opts)
+ workspace.RunNet(model.net, num_iter=1)
+ output = workspace.FetchBlob(output_blob)
+
+ # measure accuracy and record loss
+ prec1, prec5 = accuracy_np(output.data, target.numpy())
+ top1.update(prec1.item(), input.size(0))
+ top5.update(prec5.item(), input.size(0))
+
+ # measure elapsed time
+ batch_time.update(time.time() - end)
+ end = time.time()
+
+ if i % args.print_freq == 0:
+ print('Test: [{0}/{1}]\t'
+ 'Time {batch_time.val:.3f} ({batch_time.avg:.3f}, {rate_avg:.3f}/s, {ms_avg:.3f} ms/sample) \t'
+ 'Prec@1 {top1.val:.3f} ({top1.avg:.3f})\t'
+ 'Prec@5 {top5.val:.3f} ({top5.avg:.3f})'.format(
+ i, len(loader), batch_time=batch_time, rate_avg=input.size(0) / batch_time.avg,
+ ms_avg=100 * batch_time.avg / input.size(0), top1=top1, top5=top5))
+
+ print(' * Prec@1 {top1.avg:.3f} ({top1a:.3f}) Prec@5 {top5.avg:.3f} ({top5a:.3f})'.format(
+ top1=top1, top1a=100-top1.avg, top5=top5, top5a=100.-top5.avg))
+
+
+def accuracy_np(output, target):
+ max_indices = np.argsort(output, axis=1)[:, ::-1]
+ top5 = 100 * np.equal(max_indices[:, :5], target[:, np.newaxis]).sum(axis=1).mean()
+ top1 = 100 * np.equal(max_indices[:, 0], target).mean()
+ return top1, top5
+
+
+if __name__ == '__main__':
+ main()
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/geffnet/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/geffnet/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..2e441a5838d1e972823b9668ac8d459445f6f6ce
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/geffnet/__init__.py
@@ -0,0 +1,5 @@
+from .gen_efficientnet import *
+from .mobilenetv3 import *
+from .model_factory import create_model
+from .config import is_exportable, is_scriptable, set_exportable, set_scriptable
+from .activations import *
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/geffnet/activations/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/geffnet/activations/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..813421a743ffc33b8eb53ebf62dd4a03d831b654
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/geffnet/activations/__init__.py
@@ -0,0 +1,137 @@
+from geffnet import config
+from geffnet.activations.activations_me import *
+from geffnet.activations.activations_jit import *
+from geffnet.activations.activations import *
+import torch
+
+_has_silu = 'silu' in dir(torch.nn.functional)
+
+_ACT_FN_DEFAULT = dict(
+ silu=F.silu if _has_silu else swish,
+ swish=F.silu if _has_silu else swish,
+ mish=mish,
+ relu=F.relu,
+ relu6=F.relu6,
+ sigmoid=sigmoid,
+ tanh=tanh,
+ hard_sigmoid=hard_sigmoid,
+ hard_swish=hard_swish,
+)
+
+_ACT_FN_JIT = dict(
+ silu=F.silu if _has_silu else swish_jit,
+ swish=F.silu if _has_silu else swish_jit,
+ mish=mish_jit,
+)
+
+_ACT_FN_ME = dict(
+ silu=F.silu if _has_silu else swish_me,
+ swish=F.silu if _has_silu else swish_me,
+ mish=mish_me,
+ hard_swish=hard_swish_me,
+ hard_sigmoid_jit=hard_sigmoid_me,
+)
+
+_ACT_LAYER_DEFAULT = dict(
+ silu=nn.SiLU if _has_silu else Swish,
+ swish=nn.SiLU if _has_silu else Swish,
+ mish=Mish,
+ relu=nn.ReLU,
+ relu6=nn.ReLU6,
+ sigmoid=Sigmoid,
+ tanh=Tanh,
+ hard_sigmoid=HardSigmoid,
+ hard_swish=HardSwish,
+)
+
+_ACT_LAYER_JIT = dict(
+ silu=nn.SiLU if _has_silu else SwishJit,
+ swish=nn.SiLU if _has_silu else SwishJit,
+ mish=MishJit,
+)
+
+_ACT_LAYER_ME = dict(
+ silu=nn.SiLU if _has_silu else SwishMe,
+ swish=nn.SiLU if _has_silu else SwishMe,
+ mish=MishMe,
+ hard_swish=HardSwishMe,
+ hard_sigmoid=HardSigmoidMe
+)
+
+_OVERRIDE_FN = dict()
+_OVERRIDE_LAYER = dict()
+
+
+def add_override_act_fn(name, fn):
+ global _OVERRIDE_FN
+ _OVERRIDE_FN[name] = fn
+
+
+def update_override_act_fn(overrides):
+ assert isinstance(overrides, dict)
+ global _OVERRIDE_FN
+ _OVERRIDE_FN.update(overrides)
+
+
+def clear_override_act_fn():
+ global _OVERRIDE_FN
+ _OVERRIDE_FN = dict()
+
+
+def add_override_act_layer(name, fn):
+ _OVERRIDE_LAYER[name] = fn
+
+
+def update_override_act_layer(overrides):
+ assert isinstance(overrides, dict)
+ global _OVERRIDE_LAYER
+ _OVERRIDE_LAYER.update(overrides)
+
+
+def clear_override_act_layer():
+ global _OVERRIDE_LAYER
+ _OVERRIDE_LAYER = dict()
+
+
+def get_act_fn(name='relu'):
+ """ Activation Function Factory
+ Fetching activation fns by name with this function allows export or torch script friendly
+ functions to be returned dynamically based on current config.
+ """
+ if name in _OVERRIDE_FN:
+ return _OVERRIDE_FN[name]
+ use_me = not (config.is_exportable() or config.is_scriptable() or config.is_no_jit())
+ if use_me and name in _ACT_FN_ME:
+ # If not exporting or scripting the model, first look for a memory optimized version
+ # activation with custom autograd, then fallback to jit scripted, then a Python or Torch builtin
+ return _ACT_FN_ME[name]
+ if config.is_exportable() and name in ('silu', 'swish'):
+ # FIXME PyTorch SiLU doesn't ONNX export, this is a temp hack
+ return swish
+ use_jit = not (config.is_exportable() or config.is_no_jit())
+ # NOTE: export tracing should work with jit scripted components, but I keep running into issues
+ if use_jit and name in _ACT_FN_JIT: # jit scripted models should be okay for export/scripting
+ return _ACT_FN_JIT[name]
+ return _ACT_FN_DEFAULT[name]
+
+
+def get_act_layer(name='relu'):
+ """ Activation Layer Factory
+ Fetching activation layers by name with this function allows export or torch script friendly
+ functions to be returned dynamically based on current config.
+ """
+ if name in _OVERRIDE_LAYER:
+ return _OVERRIDE_LAYER[name]
+ use_me = not (config.is_exportable() or config.is_scriptable() or config.is_no_jit())
+ if use_me and name in _ACT_LAYER_ME:
+ return _ACT_LAYER_ME[name]
+ if config.is_exportable() and name in ('silu', 'swish'):
+ # FIXME PyTorch SiLU doesn't ONNX export, this is a temp hack
+ return Swish
+ use_jit = not (config.is_exportable() or config.is_no_jit())
+ # NOTE: export tracing should work with jit scripted components, but I keep running into issues
+ if use_jit and name in _ACT_FN_JIT: # jit scripted models should be okay for export/scripting
+ return _ACT_LAYER_JIT[name]
+ return _ACT_LAYER_DEFAULT[name]
+
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/geffnet/activations/activations.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/geffnet/activations/activations.py
new file mode 100644
index 0000000000000000000000000000000000000000..bdea692d1397673b2513d898c33edbcb37d94240
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/geffnet/activations/activations.py
@@ -0,0 +1,102 @@
+""" Activations
+
+A collection of activations fn and modules with a common interface so that they can
+easily be swapped. All have an `inplace` arg even if not used.
+
+Copyright 2020 Ross Wightman
+"""
+from torch import nn as nn
+from torch.nn import functional as F
+
+
+def swish(x, inplace: bool = False):
+ """Swish - Described originally as SiLU (https://arxiv.org/abs/1702.03118v3)
+ and also as Swish (https://arxiv.org/abs/1710.05941).
+
+ TODO Rename to SiLU with addition to PyTorch
+ """
+ return x.mul_(x.sigmoid()) if inplace else x.mul(x.sigmoid())
+
+
+class Swish(nn.Module):
+ def __init__(self, inplace: bool = False):
+ super(Swish, self).__init__()
+ self.inplace = inplace
+
+ def forward(self, x):
+ return swish(x, self.inplace)
+
+
+def mish(x, inplace: bool = False):
+ """Mish: A Self Regularized Non-Monotonic Neural Activation Function - https://arxiv.org/abs/1908.08681
+ """
+ return x.mul(F.softplus(x).tanh())
+
+
+class Mish(nn.Module):
+ def __init__(self, inplace: bool = False):
+ super(Mish, self).__init__()
+ self.inplace = inplace
+
+ def forward(self, x):
+ return mish(x, self.inplace)
+
+
+def sigmoid(x, inplace: bool = False):
+ return x.sigmoid_() if inplace else x.sigmoid()
+
+
+# PyTorch has this, but not with a consistent inplace argmument interface
+class Sigmoid(nn.Module):
+ def __init__(self, inplace: bool = False):
+ super(Sigmoid, self).__init__()
+ self.inplace = inplace
+
+ def forward(self, x):
+ return x.sigmoid_() if self.inplace else x.sigmoid()
+
+
+def tanh(x, inplace: bool = False):
+ return x.tanh_() if inplace else x.tanh()
+
+
+# PyTorch has this, but not with a consistent inplace argmument interface
+class Tanh(nn.Module):
+ def __init__(self, inplace: bool = False):
+ super(Tanh, self).__init__()
+ self.inplace = inplace
+
+ def forward(self, x):
+ return x.tanh_() if self.inplace else x.tanh()
+
+
+def hard_swish(x, inplace: bool = False):
+ inner = F.relu6(x + 3.).div_(6.)
+ return x.mul_(inner) if inplace else x.mul(inner)
+
+
+class HardSwish(nn.Module):
+ def __init__(self, inplace: bool = False):
+ super(HardSwish, self).__init__()
+ self.inplace = inplace
+
+ def forward(self, x):
+ return hard_swish(x, self.inplace)
+
+
+def hard_sigmoid(x, inplace: bool = False):
+ if inplace:
+ return x.add_(3.).clamp_(0., 6.).div_(6.)
+ else:
+ return F.relu6(x + 3.) / 6.
+
+
+class HardSigmoid(nn.Module):
+ def __init__(self, inplace: bool = False):
+ super(HardSigmoid, self).__init__()
+ self.inplace = inplace
+
+ def forward(self, x):
+ return hard_sigmoid(x, self.inplace)
+
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/geffnet/activations/activations_jit.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/geffnet/activations/activations_jit.py
new file mode 100644
index 0000000000000000000000000000000000000000..7176b05e779787528a47f20d55d64d4a0f219360
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/geffnet/activations/activations_jit.py
@@ -0,0 +1,79 @@
+""" Activations (jit)
+
+A collection of jit-scripted activations fn and modules with a common interface so that they can
+easily be swapped. All have an `inplace` arg even if not used.
+
+All jit scripted activations are lacking in-place variations on purpose, scripted kernel fusion does not
+currently work across in-place op boundaries, thus performance is equal to or less than the non-scripted
+versions if they contain in-place ops.
+
+Copyright 2020 Ross Wightman
+"""
+
+import torch
+from torch import nn as nn
+from torch.nn import functional as F
+
+__all__ = ['swish_jit', 'SwishJit', 'mish_jit', 'MishJit',
+ 'hard_sigmoid_jit', 'HardSigmoidJit', 'hard_swish_jit', 'HardSwishJit']
+
+
+@torch.jit.script
+def swish_jit(x, inplace: bool = False):
+ """Swish - Described originally as SiLU (https://arxiv.org/abs/1702.03118v3)
+ and also as Swish (https://arxiv.org/abs/1710.05941).
+
+ TODO Rename to SiLU with addition to PyTorch
+ """
+ return x.mul(x.sigmoid())
+
+
+@torch.jit.script
+def mish_jit(x, _inplace: bool = False):
+ """Mish: A Self Regularized Non-Monotonic Neural Activation Function - https://arxiv.org/abs/1908.08681
+ """
+ return x.mul(F.softplus(x).tanh())
+
+
+class SwishJit(nn.Module):
+ def __init__(self, inplace: bool = False):
+ super(SwishJit, self).__init__()
+
+ def forward(self, x):
+ return swish_jit(x)
+
+
+class MishJit(nn.Module):
+ def __init__(self, inplace: bool = False):
+ super(MishJit, self).__init__()
+
+ def forward(self, x):
+ return mish_jit(x)
+
+
+@torch.jit.script
+def hard_sigmoid_jit(x, inplace: bool = False):
+ # return F.relu6(x + 3.) / 6.
+ return (x + 3).clamp(min=0, max=6).div(6.) # clamp seems ever so slightly faster?
+
+
+class HardSigmoidJit(nn.Module):
+ def __init__(self, inplace: bool = False):
+ super(HardSigmoidJit, self).__init__()
+
+ def forward(self, x):
+ return hard_sigmoid_jit(x)
+
+
+@torch.jit.script
+def hard_swish_jit(x, inplace: bool = False):
+ # return x * (F.relu6(x + 3.) / 6)
+ return x * (x + 3).clamp(min=0, max=6).div(6.) # clamp seems ever so slightly faster?
+
+
+class HardSwishJit(nn.Module):
+ def __init__(self, inplace: bool = False):
+ super(HardSwishJit, self).__init__()
+
+ def forward(self, x):
+ return hard_swish_jit(x)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/geffnet/activations/activations_me.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/geffnet/activations/activations_me.py
new file mode 100644
index 0000000000000000000000000000000000000000..e91df5a50fdbe40bc386e2541a4fda743ad95e9a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/geffnet/activations/activations_me.py
@@ -0,0 +1,174 @@
+""" Activations (memory-efficient w/ custom autograd)
+
+A collection of activations fn and modules with a common interface so that they can
+easily be swapped. All have an `inplace` arg even if not used.
+
+These activations are not compatible with jit scripting or ONNX export of the model, please use either
+the JIT or basic versions of the activations.
+
+Copyright 2020 Ross Wightman
+"""
+
+import torch
+from torch import nn as nn
+from torch.nn import functional as F
+
+
+__all__ = ['swish_me', 'SwishMe', 'mish_me', 'MishMe',
+ 'hard_sigmoid_me', 'HardSigmoidMe', 'hard_swish_me', 'HardSwishMe']
+
+
+@torch.jit.script
+def swish_jit_fwd(x):
+ return x.mul(torch.sigmoid(x))
+
+
+@torch.jit.script
+def swish_jit_bwd(x, grad_output):
+ x_sigmoid = torch.sigmoid(x)
+ return grad_output * (x_sigmoid * (1 + x * (1 - x_sigmoid)))
+
+
+class SwishJitAutoFn(torch.autograd.Function):
+ """ torch.jit.script optimised Swish w/ memory-efficient checkpoint
+ Inspired by conversation btw Jeremy Howard & Adam Pazske
+ https://twitter.com/jeremyphoward/status/1188251041835315200
+
+ Swish - Described originally as SiLU (https://arxiv.org/abs/1702.03118v3)
+ and also as Swish (https://arxiv.org/abs/1710.05941).
+
+ TODO Rename to SiLU with addition to PyTorch
+ """
+
+ @staticmethod
+ def forward(ctx, x):
+ ctx.save_for_backward(x)
+ return swish_jit_fwd(x)
+
+ @staticmethod
+ def backward(ctx, grad_output):
+ x = ctx.saved_tensors[0]
+ return swish_jit_bwd(x, grad_output)
+
+
+def swish_me(x, inplace=False):
+ return SwishJitAutoFn.apply(x)
+
+
+class SwishMe(nn.Module):
+ def __init__(self, inplace: bool = False):
+ super(SwishMe, self).__init__()
+
+ def forward(self, x):
+ return SwishJitAutoFn.apply(x)
+
+
+@torch.jit.script
+def mish_jit_fwd(x):
+ return x.mul(torch.tanh(F.softplus(x)))
+
+
+@torch.jit.script
+def mish_jit_bwd(x, grad_output):
+ x_sigmoid = torch.sigmoid(x)
+ x_tanh_sp = F.softplus(x).tanh()
+ return grad_output.mul(x_tanh_sp + x * x_sigmoid * (1 - x_tanh_sp * x_tanh_sp))
+
+
+class MishJitAutoFn(torch.autograd.Function):
+ """ Mish: A Self Regularized Non-Monotonic Neural Activation Function - https://arxiv.org/abs/1908.08681
+ A memory efficient, jit scripted variant of Mish
+ """
+ @staticmethod
+ def forward(ctx, x):
+ ctx.save_for_backward(x)
+ return mish_jit_fwd(x)
+
+ @staticmethod
+ def backward(ctx, grad_output):
+ x = ctx.saved_tensors[0]
+ return mish_jit_bwd(x, grad_output)
+
+
+def mish_me(x, inplace=False):
+ return MishJitAutoFn.apply(x)
+
+
+class MishMe(nn.Module):
+ def __init__(self, inplace: bool = False):
+ super(MishMe, self).__init__()
+
+ def forward(self, x):
+ return MishJitAutoFn.apply(x)
+
+
+@torch.jit.script
+def hard_sigmoid_jit_fwd(x, inplace: bool = False):
+ return (x + 3).clamp(min=0, max=6).div(6.)
+
+
+@torch.jit.script
+def hard_sigmoid_jit_bwd(x, grad_output):
+ m = torch.ones_like(x) * ((x >= -3.) & (x <= 3.)) / 6.
+ return grad_output * m
+
+
+class HardSigmoidJitAutoFn(torch.autograd.Function):
+ @staticmethod
+ def forward(ctx, x):
+ ctx.save_for_backward(x)
+ return hard_sigmoid_jit_fwd(x)
+
+ @staticmethod
+ def backward(ctx, grad_output):
+ x = ctx.saved_tensors[0]
+ return hard_sigmoid_jit_bwd(x, grad_output)
+
+
+def hard_sigmoid_me(x, inplace: bool = False):
+ return HardSigmoidJitAutoFn.apply(x)
+
+
+class HardSigmoidMe(nn.Module):
+ def __init__(self, inplace: bool = False):
+ super(HardSigmoidMe, self).__init__()
+
+ def forward(self, x):
+ return HardSigmoidJitAutoFn.apply(x)
+
+
+@torch.jit.script
+def hard_swish_jit_fwd(x):
+ return x * (x + 3).clamp(min=0, max=6).div(6.)
+
+
+@torch.jit.script
+def hard_swish_jit_bwd(x, grad_output):
+ m = torch.ones_like(x) * (x >= 3.)
+ m = torch.where((x >= -3.) & (x <= 3.), x / 3. + .5, m)
+ return grad_output * m
+
+
+class HardSwishJitAutoFn(torch.autograd.Function):
+ """A memory efficient, jit-scripted HardSwish activation"""
+ @staticmethod
+ def forward(ctx, x):
+ ctx.save_for_backward(x)
+ return hard_swish_jit_fwd(x)
+
+ @staticmethod
+ def backward(ctx, grad_output):
+ x = ctx.saved_tensors[0]
+ return hard_swish_jit_bwd(x, grad_output)
+
+
+def hard_swish_me(x, inplace=False):
+ return HardSwishJitAutoFn.apply(x)
+
+
+class HardSwishMe(nn.Module):
+ def __init__(self, inplace: bool = False):
+ super(HardSwishMe, self).__init__()
+
+ def forward(self, x):
+ return HardSwishJitAutoFn.apply(x)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/geffnet/config.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/geffnet/config.py
new file mode 100644
index 0000000000000000000000000000000000000000..27d5307fd9ee0246f1e35f41520f17385d23f1dd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/geffnet/config.py
@@ -0,0 +1,123 @@
+""" Global layer config state
+"""
+from typing import Any, Optional
+
+__all__ = [
+ 'is_exportable', 'is_scriptable', 'is_no_jit', 'layer_config_kwargs',
+ 'set_exportable', 'set_scriptable', 'set_no_jit', 'set_layer_config'
+]
+
+# Set to True if prefer to have layers with no jit optimization (includes activations)
+_NO_JIT = False
+
+# Set to True if prefer to have activation layers with no jit optimization
+# NOTE not currently used as no difference between no_jit and no_activation jit as only layers obeying
+# the jit flags so far are activations. This will change as more layers are updated and/or added.
+_NO_ACTIVATION_JIT = False
+
+# Set to True if exporting a model with Same padding via ONNX
+_EXPORTABLE = False
+
+# Set to True if wanting to use torch.jit.script on a model
+_SCRIPTABLE = False
+
+
+def is_no_jit():
+ return _NO_JIT
+
+
+class set_no_jit:
+ def __init__(self, mode: bool) -> None:
+ global _NO_JIT
+ self.prev = _NO_JIT
+ _NO_JIT = mode
+
+ def __enter__(self) -> None:
+ pass
+
+ def __exit__(self, *args: Any) -> bool:
+ global _NO_JIT
+ _NO_JIT = self.prev
+ return False
+
+
+def is_exportable():
+ return _EXPORTABLE
+
+
+class set_exportable:
+ def __init__(self, mode: bool) -> None:
+ global _EXPORTABLE
+ self.prev = _EXPORTABLE
+ _EXPORTABLE = mode
+
+ def __enter__(self) -> None:
+ pass
+
+ def __exit__(self, *args: Any) -> bool:
+ global _EXPORTABLE
+ _EXPORTABLE = self.prev
+ return False
+
+
+def is_scriptable():
+ return _SCRIPTABLE
+
+
+class set_scriptable:
+ def __init__(self, mode: bool) -> None:
+ global _SCRIPTABLE
+ self.prev = _SCRIPTABLE
+ _SCRIPTABLE = mode
+
+ def __enter__(self) -> None:
+ pass
+
+ def __exit__(self, *args: Any) -> bool:
+ global _SCRIPTABLE
+ _SCRIPTABLE = self.prev
+ return False
+
+
+class set_layer_config:
+ """ Layer config context manager that allows setting all layer config flags at once.
+ If a flag arg is None, it will not change the current value.
+ """
+ def __init__(
+ self,
+ scriptable: Optional[bool] = None,
+ exportable: Optional[bool] = None,
+ no_jit: Optional[bool] = None,
+ no_activation_jit: Optional[bool] = None):
+ global _SCRIPTABLE
+ global _EXPORTABLE
+ global _NO_JIT
+ global _NO_ACTIVATION_JIT
+ self.prev = _SCRIPTABLE, _EXPORTABLE, _NO_JIT, _NO_ACTIVATION_JIT
+ if scriptable is not None:
+ _SCRIPTABLE = scriptable
+ if exportable is not None:
+ _EXPORTABLE = exportable
+ if no_jit is not None:
+ _NO_JIT = no_jit
+ if no_activation_jit is not None:
+ _NO_ACTIVATION_JIT = no_activation_jit
+
+ def __enter__(self) -> None:
+ pass
+
+ def __exit__(self, *args: Any) -> bool:
+ global _SCRIPTABLE
+ global _EXPORTABLE
+ global _NO_JIT
+ global _NO_ACTIVATION_JIT
+ _SCRIPTABLE, _EXPORTABLE, _NO_JIT, _NO_ACTIVATION_JIT = self.prev
+ return False
+
+
+def layer_config_kwargs(kwargs):
+ """ Consume config kwargs and return contextmgr obj """
+ return set_layer_config(
+ scriptable=kwargs.pop('scriptable', None),
+ exportable=kwargs.pop('exportable', None),
+ no_jit=kwargs.pop('no_jit', None))
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/geffnet/conv2d_layers.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/geffnet/conv2d_layers.py
new file mode 100644
index 0000000000000000000000000000000000000000..d8467460c4b36e54c83ce2dcd3ebe91d3432cad2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/geffnet/conv2d_layers.py
@@ -0,0 +1,304 @@
+""" Conv2D w/ SAME padding, CondConv, MixedConv
+
+A collection of conv layers and padding helpers needed by EfficientNet, MixNet, and
+MobileNetV3 models that maintain weight compatibility with original Tensorflow models.
+
+Copyright 2020 Ross Wightman
+"""
+import collections.abc
+import math
+from functools import partial
+from itertools import repeat
+from typing import Tuple, Optional
+
+import numpy as np
+import torch
+import torch.nn as nn
+import torch.nn.functional as F
+
+from .config import *
+
+
+# From PyTorch internals
+def _ntuple(n):
+ def parse(x):
+ if isinstance(x, collections.abc.Iterable):
+ return x
+ return tuple(repeat(x, n))
+ return parse
+
+
+_single = _ntuple(1)
+_pair = _ntuple(2)
+_triple = _ntuple(3)
+_quadruple = _ntuple(4)
+
+
+def _is_static_pad(kernel_size, stride=1, dilation=1, **_):
+ return stride == 1 and (dilation * (kernel_size - 1)) % 2 == 0
+
+
+def _get_padding(kernel_size, stride=1, dilation=1, **_):
+ padding = ((stride - 1) + dilation * (kernel_size - 1)) // 2
+ return padding
+
+
+def _calc_same_pad(i: int, k: int, s: int, d: int):
+ return max((-(i // -s) - 1) * s + (k - 1) * d + 1 - i, 0)
+
+
+def _same_pad_arg(input_size, kernel_size, stride, dilation):
+ ih, iw = input_size
+ kh, kw = kernel_size
+ pad_h = _calc_same_pad(ih, kh, stride[0], dilation[0])
+ pad_w = _calc_same_pad(iw, kw, stride[1], dilation[1])
+ return [pad_w // 2, pad_w - pad_w // 2, pad_h // 2, pad_h - pad_h // 2]
+
+
+def _split_channels(num_chan, num_groups):
+ split = [num_chan // num_groups for _ in range(num_groups)]
+ split[0] += num_chan - sum(split)
+ return split
+
+
+def conv2d_same(
+ x, weight: torch.Tensor, bias: Optional[torch.Tensor] = None, stride: Tuple[int, int] = (1, 1),
+ padding: Tuple[int, int] = (0, 0), dilation: Tuple[int, int] = (1, 1), groups: int = 1):
+ ih, iw = x.size()[-2:]
+ kh, kw = weight.size()[-2:]
+ pad_h = _calc_same_pad(ih, kh, stride[0], dilation[0])
+ pad_w = _calc_same_pad(iw, kw, stride[1], dilation[1])
+ x = F.pad(x, [pad_w // 2, pad_w - pad_w // 2, pad_h // 2, pad_h - pad_h // 2])
+ return F.conv2d(x, weight, bias, stride, (0, 0), dilation, groups)
+
+
+class Conv2dSame(nn.Conv2d):
+ """ Tensorflow like 'SAME' convolution wrapper for 2D convolutions
+ """
+
+ # pylint: disable=unused-argument
+ def __init__(self, in_channels, out_channels, kernel_size, stride=1,
+ padding=0, dilation=1, groups=1, bias=True):
+ super(Conv2dSame, self).__init__(
+ in_channels, out_channels, kernel_size, stride, 0, dilation, groups, bias)
+
+ def forward(self, x):
+ return conv2d_same(x, self.weight, self.bias, self.stride, self.padding, self.dilation, self.groups)
+
+
+class Conv2dSameExport(nn.Conv2d):
+ """ ONNX export friendly Tensorflow like 'SAME' convolution wrapper for 2D convolutions
+
+ NOTE: This does not currently work with torch.jit.script
+ """
+
+ # pylint: disable=unused-argument
+ def __init__(self, in_channels, out_channels, kernel_size, stride=1,
+ padding=0, dilation=1, groups=1, bias=True):
+ super(Conv2dSameExport, self).__init__(
+ in_channels, out_channels, kernel_size, stride, 0, dilation, groups, bias)
+ self.pad = None
+ self.pad_input_size = (0, 0)
+
+ def forward(self, x):
+ input_size = x.size()[-2:]
+ if self.pad is None:
+ pad_arg = _same_pad_arg(input_size, self.weight.size()[-2:], self.stride, self.dilation)
+ self.pad = nn.ZeroPad2d(pad_arg)
+ self.pad_input_size = input_size
+
+ if self.pad is not None:
+ x = self.pad(x)
+ return F.conv2d(
+ x, self.weight, self.bias, self.stride, self.padding, self.dilation, self.groups)
+
+
+def get_padding_value(padding, kernel_size, **kwargs):
+ dynamic = False
+ if isinstance(padding, str):
+ # for any string padding, the padding will be calculated for you, one of three ways
+ padding = padding.lower()
+ if padding == 'same':
+ # TF compatible 'SAME' padding, has a performance and GPU memory allocation impact
+ if _is_static_pad(kernel_size, **kwargs):
+ # static case, no extra overhead
+ padding = _get_padding(kernel_size, **kwargs)
+ else:
+ # dynamic padding
+ padding = 0
+ dynamic = True
+ elif padding == 'valid':
+ # 'VALID' padding, same as padding=0
+ padding = 0
+ else:
+ # Default to PyTorch style 'same'-ish symmetric padding
+ padding = _get_padding(kernel_size, **kwargs)
+ return padding, dynamic
+
+
+def create_conv2d_pad(in_chs, out_chs, kernel_size, **kwargs):
+ padding = kwargs.pop('padding', '')
+ kwargs.setdefault('bias', False)
+ padding, is_dynamic = get_padding_value(padding, kernel_size, **kwargs)
+ if is_dynamic:
+ if is_exportable():
+ assert not is_scriptable()
+ return Conv2dSameExport(in_chs, out_chs, kernel_size, **kwargs)
+ else:
+ return Conv2dSame(in_chs, out_chs, kernel_size, **kwargs)
+ else:
+ return nn.Conv2d(in_chs, out_chs, kernel_size, padding=padding, **kwargs)
+
+
+class MixedConv2d(nn.ModuleDict):
+ """ Mixed Grouped Convolution
+ Based on MDConv and GroupedConv in MixNet impl:
+ https://github.com/tensorflow/tpu/blob/master/models/official/mnasnet/mixnet/custom_layers.py
+ """
+
+ def __init__(self, in_channels, out_channels, kernel_size=3,
+ stride=1, padding='', dilation=1, depthwise=False, **kwargs):
+ super(MixedConv2d, self).__init__()
+
+ kernel_size = kernel_size if isinstance(kernel_size, list) else [kernel_size]
+ num_groups = len(kernel_size)
+ in_splits = _split_channels(in_channels, num_groups)
+ out_splits = _split_channels(out_channels, num_groups)
+ self.in_channels = sum(in_splits)
+ self.out_channels = sum(out_splits)
+ for idx, (k, in_ch, out_ch) in enumerate(zip(kernel_size, in_splits, out_splits)):
+ conv_groups = out_ch if depthwise else 1
+ self.add_module(
+ str(idx),
+ create_conv2d_pad(
+ in_ch, out_ch, k, stride=stride,
+ padding=padding, dilation=dilation, groups=conv_groups, **kwargs)
+ )
+ self.splits = in_splits
+
+ def forward(self, x):
+ x_split = torch.split(x, self.splits, 1)
+ x_out = [conv(x_split[i]) for i, conv in enumerate(self.values())]
+ x = torch.cat(x_out, 1)
+ return x
+
+
+def get_condconv_initializer(initializer, num_experts, expert_shape):
+ def condconv_initializer(weight):
+ """CondConv initializer function."""
+ num_params = np.prod(expert_shape)
+ if (len(weight.shape) != 2 or weight.shape[0] != num_experts or
+ weight.shape[1] != num_params):
+ raise (ValueError(
+ 'CondConv variables must have shape [num_experts, num_params]'))
+ for i in range(num_experts):
+ initializer(weight[i].view(expert_shape))
+ return condconv_initializer
+
+
+class CondConv2d(nn.Module):
+ """ Conditional Convolution
+ Inspired by: https://github.com/tensorflow/tpu/blob/master/models/official/efficientnet/condconv/condconv_layers.py
+
+ Grouped convolution hackery for parallel execution of the per-sample kernel filters inspired by this discussion:
+ https://github.com/pytorch/pytorch/issues/17983
+ """
+ __constants__ = ['bias', 'in_channels', 'out_channels', 'dynamic_padding']
+
+ def __init__(self, in_channels, out_channels, kernel_size=3,
+ stride=1, padding='', dilation=1, groups=1, bias=False, num_experts=4):
+ super(CondConv2d, self).__init__()
+
+ self.in_channels = in_channels
+ self.out_channels = out_channels
+ self.kernel_size = _pair(kernel_size)
+ self.stride = _pair(stride)
+ padding_val, is_padding_dynamic = get_padding_value(
+ padding, kernel_size, stride=stride, dilation=dilation)
+ self.dynamic_padding = is_padding_dynamic # if in forward to work with torchscript
+ self.padding = _pair(padding_val)
+ self.dilation = _pair(dilation)
+ self.groups = groups
+ self.num_experts = num_experts
+
+ self.weight_shape = (self.out_channels, self.in_channels // self.groups) + self.kernel_size
+ weight_num_param = 1
+ for wd in self.weight_shape:
+ weight_num_param *= wd
+ self.weight = torch.nn.Parameter(torch.Tensor(self.num_experts, weight_num_param))
+
+ if bias:
+ self.bias_shape = (self.out_channels,)
+ self.bias = torch.nn.Parameter(torch.Tensor(self.num_experts, self.out_channels))
+ else:
+ self.register_parameter('bias', None)
+
+ self.reset_parameters()
+
+ def reset_parameters(self):
+ init_weight = get_condconv_initializer(
+ partial(nn.init.kaiming_uniform_, a=math.sqrt(5)), self.num_experts, self.weight_shape)
+ init_weight(self.weight)
+ if self.bias is not None:
+ fan_in = np.prod(self.weight_shape[1:])
+ bound = 1 / math.sqrt(fan_in)
+ init_bias = get_condconv_initializer(
+ partial(nn.init.uniform_, a=-bound, b=bound), self.num_experts, self.bias_shape)
+ init_bias(self.bias)
+
+ def forward(self, x, routing_weights):
+ B, C, H, W = x.shape
+ weight = torch.matmul(routing_weights, self.weight)
+ new_weight_shape = (B * self.out_channels, self.in_channels // self.groups) + self.kernel_size
+ weight = weight.view(new_weight_shape)
+ bias = None
+ if self.bias is not None:
+ bias = torch.matmul(routing_weights, self.bias)
+ bias = bias.view(B * self.out_channels)
+ # move batch elements with channels so each batch element can be efficiently convolved with separate kernel
+ x = x.view(1, B * C, H, W)
+ if self.dynamic_padding:
+ out = conv2d_same(
+ x, weight, bias, stride=self.stride, padding=self.padding,
+ dilation=self.dilation, groups=self.groups * B)
+ else:
+ out = F.conv2d(
+ x, weight, bias, stride=self.stride, padding=self.padding,
+ dilation=self.dilation, groups=self.groups * B)
+ out = out.permute([1, 0, 2, 3]).view(B, self.out_channels, out.shape[-2], out.shape[-1])
+
+ # Literal port (from TF definition)
+ # x = torch.split(x, 1, 0)
+ # weight = torch.split(weight, 1, 0)
+ # if self.bias is not None:
+ # bias = torch.matmul(routing_weights, self.bias)
+ # bias = torch.split(bias, 1, 0)
+ # else:
+ # bias = [None] * B
+ # out = []
+ # for xi, wi, bi in zip(x, weight, bias):
+ # wi = wi.view(*self.weight_shape)
+ # if bi is not None:
+ # bi = bi.view(*self.bias_shape)
+ # out.append(self.conv_fn(
+ # xi, wi, bi, stride=self.stride, padding=self.padding,
+ # dilation=self.dilation, groups=self.groups))
+ # out = torch.cat(out, 0)
+ return out
+
+
+def select_conv2d(in_chs, out_chs, kernel_size, **kwargs):
+ assert 'groups' not in kwargs # only use 'depthwise' bool arg
+ if isinstance(kernel_size, list):
+ assert 'num_experts' not in kwargs # MixNet + CondConv combo not supported currently
+ # We're going to use only lists for defining the MixedConv2d kernel groups,
+ # ints, tuples, other iterables will continue to pass to normal conv and specify h, w.
+ m = MixedConv2d(in_chs, out_chs, kernel_size, **kwargs)
+ else:
+ depthwise = kwargs.pop('depthwise', False)
+ groups = out_chs if depthwise else 1
+ if 'num_experts' in kwargs and kwargs['num_experts'] > 0:
+ m = CondConv2d(in_chs, out_chs, kernel_size, groups=groups, **kwargs)
+ else:
+ m = create_conv2d_pad(in_chs, out_chs, kernel_size, groups=groups, **kwargs)
+ return m
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/geffnet/efficientnet_builder.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/geffnet/efficientnet_builder.py
new file mode 100644
index 0000000000000000000000000000000000000000..95dd63d400e70d70664c5a433a2772363f865e61
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/geffnet/efficientnet_builder.py
@@ -0,0 +1,683 @@
+""" EfficientNet / MobileNetV3 Blocks and Builder
+
+Copyright 2020 Ross Wightman
+"""
+import re
+from copy import deepcopy
+
+from .conv2d_layers import *
+from geffnet.activations import *
+
+__all__ = ['get_bn_args_tf', 'resolve_bn_args', 'resolve_se_args', 'resolve_act_layer', 'make_divisible',
+ 'round_channels', 'drop_connect', 'SqueezeExcite', 'ConvBnAct', 'DepthwiseSeparableConv',
+ 'InvertedResidual', 'CondConvResidual', 'EdgeResidual', 'EfficientNetBuilder', 'decode_arch_def',
+ 'initialize_weight_default', 'initialize_weight_goog', 'BN_MOMENTUM_TF_DEFAULT', 'BN_EPS_TF_DEFAULT'
+]
+
+# Defaults used for Google/Tensorflow training of mobile networks /w RMSprop as per
+# papers and TF reference implementations. PT momentum equiv for TF decay is (1 - TF decay)
+# NOTE: momentum varies btw .99 and .9997 depending on source
+# .99 in official TF TPU impl
+# .9997 (/w .999 in search space) for paper
+#
+# PyTorch defaults are momentum = .1, eps = 1e-5
+#
+BN_MOMENTUM_TF_DEFAULT = 1 - 0.99
+BN_EPS_TF_DEFAULT = 1e-3
+_BN_ARGS_TF = dict(momentum=BN_MOMENTUM_TF_DEFAULT, eps=BN_EPS_TF_DEFAULT)
+
+
+def get_bn_args_tf():
+ return _BN_ARGS_TF.copy()
+
+
+def resolve_bn_args(kwargs):
+ bn_args = get_bn_args_tf() if kwargs.pop('bn_tf', False) else {}
+ bn_momentum = kwargs.pop('bn_momentum', None)
+ if bn_momentum is not None:
+ bn_args['momentum'] = bn_momentum
+ bn_eps = kwargs.pop('bn_eps', None)
+ if bn_eps is not None:
+ bn_args['eps'] = bn_eps
+ return bn_args
+
+
+_SE_ARGS_DEFAULT = dict(
+ gate_fn=sigmoid,
+ act_layer=None, # None == use containing block's activation layer
+ reduce_mid=False,
+ divisor=1)
+
+
+def resolve_se_args(kwargs, in_chs, act_layer=None):
+ se_kwargs = kwargs.copy() if kwargs is not None else {}
+ # fill in args that aren't specified with the defaults
+ for k, v in _SE_ARGS_DEFAULT.items():
+ se_kwargs.setdefault(k, v)
+ # some models, like MobilNetV3, calculate SE reduction chs from the containing block's mid_ch instead of in_ch
+ if not se_kwargs.pop('reduce_mid'):
+ se_kwargs['reduced_base_chs'] = in_chs
+ # act_layer override, if it remains None, the containing block's act_layer will be used
+ if se_kwargs['act_layer'] is None:
+ assert act_layer is not None
+ se_kwargs['act_layer'] = act_layer
+ return se_kwargs
+
+
+def resolve_act_layer(kwargs, default='relu'):
+ act_layer = kwargs.pop('act_layer', default)
+ if isinstance(act_layer, str):
+ act_layer = get_act_layer(act_layer)
+ return act_layer
+
+
+def make_divisible(v: int, divisor: int = 8, min_value: int = None):
+ min_value = min_value or divisor
+ new_v = max(min_value, int(v + divisor / 2) // divisor * divisor)
+ if new_v < 0.9 * v: # ensure round down does not go down by more than 10%.
+ new_v += divisor
+ return new_v
+
+
+def round_channels(channels, multiplier=1.0, divisor=8, channel_min=None):
+ """Round number of filters based on depth multiplier."""
+ if not multiplier:
+ return channels
+ channels *= multiplier
+ return make_divisible(channels, divisor, channel_min)
+
+
+def drop_connect(inputs, training: bool = False, drop_connect_rate: float = 0.):
+ """Apply drop connect."""
+ if not training:
+ return inputs
+
+ keep_prob = 1 - drop_connect_rate
+ random_tensor = keep_prob + torch.rand(
+ (inputs.size()[0], 1, 1, 1), dtype=inputs.dtype, device=inputs.device)
+ random_tensor.floor_() # binarize
+ output = inputs.div(keep_prob) * random_tensor
+ return output
+
+
+class SqueezeExcite(nn.Module):
+
+ def __init__(self, in_chs, se_ratio=0.25, reduced_base_chs=None, act_layer=nn.ReLU, gate_fn=sigmoid, divisor=1):
+ super(SqueezeExcite, self).__init__()
+ reduced_chs = make_divisible((reduced_base_chs or in_chs) * se_ratio, divisor)
+ self.conv_reduce = nn.Conv2d(in_chs, reduced_chs, 1, bias=True)
+ self.act1 = act_layer(inplace=True)
+ self.conv_expand = nn.Conv2d(reduced_chs, in_chs, 1, bias=True)
+ self.gate_fn = gate_fn
+
+ def forward(self, x):
+ x_se = x.mean((2, 3), keepdim=True)
+ x_se = self.conv_reduce(x_se)
+ x_se = self.act1(x_se)
+ x_se = self.conv_expand(x_se)
+ x = x * self.gate_fn(x_se)
+ return x
+
+
+class ConvBnAct(nn.Module):
+ def __init__(self, in_chs, out_chs, kernel_size,
+ stride=1, pad_type='', act_layer=nn.ReLU, norm_layer=nn.BatchNorm2d, norm_kwargs=None):
+ super(ConvBnAct, self).__init__()
+ assert stride in [1, 2]
+ norm_kwargs = norm_kwargs or {}
+ self.conv = select_conv2d(in_chs, out_chs, kernel_size, stride=stride, padding=pad_type)
+ self.bn1 = norm_layer(out_chs, **norm_kwargs)
+ self.act1 = act_layer(inplace=True)
+
+ def forward(self, x):
+ x = self.conv(x)
+ x = self.bn1(x)
+ x = self.act1(x)
+ return x
+
+
+class DepthwiseSeparableConv(nn.Module):
+ """ DepthwiseSeparable block
+ Used for DS convs in MobileNet-V1 and in the place of IR blocks with an expansion
+ factor of 1.0. This is an alternative to having a IR with optional first pw conv.
+ """
+ def __init__(self, in_chs, out_chs, dw_kernel_size=3,
+ stride=1, pad_type='', act_layer=nn.ReLU, noskip=False,
+ pw_kernel_size=1, pw_act=False, se_ratio=0., se_kwargs=None,
+ norm_layer=nn.BatchNorm2d, norm_kwargs=None, drop_connect_rate=0.):
+ super(DepthwiseSeparableConv, self).__init__()
+ assert stride in [1, 2]
+ norm_kwargs = norm_kwargs or {}
+ self.has_residual = (stride == 1 and in_chs == out_chs) and not noskip
+ self.drop_connect_rate = drop_connect_rate
+
+ self.conv_dw = select_conv2d(
+ in_chs, in_chs, dw_kernel_size, stride=stride, padding=pad_type, depthwise=True)
+ self.bn1 = norm_layer(in_chs, **norm_kwargs)
+ self.act1 = act_layer(inplace=True)
+
+ # Squeeze-and-excitation
+ if se_ratio is not None and se_ratio > 0.:
+ se_kwargs = resolve_se_args(se_kwargs, in_chs, act_layer)
+ self.se = SqueezeExcite(in_chs, se_ratio=se_ratio, **se_kwargs)
+ else:
+ self.se = nn.Identity()
+
+ self.conv_pw = select_conv2d(in_chs, out_chs, pw_kernel_size, padding=pad_type)
+ self.bn2 = norm_layer(out_chs, **norm_kwargs)
+ self.act2 = act_layer(inplace=True) if pw_act else nn.Identity()
+
+ def forward(self, x):
+ residual = x
+
+ x = self.conv_dw(x)
+ x = self.bn1(x)
+ x = self.act1(x)
+
+ x = self.se(x)
+
+ x = self.conv_pw(x)
+ x = self.bn2(x)
+ x = self.act2(x)
+
+ if self.has_residual:
+ if self.drop_connect_rate > 0.:
+ x = drop_connect(x, self.training, self.drop_connect_rate)
+ x += residual
+ return x
+
+
+class InvertedResidual(nn.Module):
+ """ Inverted residual block w/ optional SE"""
+
+ def __init__(self, in_chs, out_chs, dw_kernel_size=3,
+ stride=1, pad_type='', act_layer=nn.ReLU, noskip=False,
+ exp_ratio=1.0, exp_kernel_size=1, pw_kernel_size=1,
+ se_ratio=0., se_kwargs=None, norm_layer=nn.BatchNorm2d, norm_kwargs=None,
+ conv_kwargs=None, drop_connect_rate=0.):
+ super(InvertedResidual, self).__init__()
+ norm_kwargs = norm_kwargs or {}
+ conv_kwargs = conv_kwargs or {}
+ mid_chs: int = make_divisible(in_chs * exp_ratio)
+ self.has_residual = (in_chs == out_chs and stride == 1) and not noskip
+ self.drop_connect_rate = drop_connect_rate
+
+ # Point-wise expansion
+ self.conv_pw = select_conv2d(in_chs, mid_chs, exp_kernel_size, padding=pad_type, **conv_kwargs)
+ self.bn1 = norm_layer(mid_chs, **norm_kwargs)
+ self.act1 = act_layer(inplace=True)
+
+ # Depth-wise convolution
+ self.conv_dw = select_conv2d(
+ mid_chs, mid_chs, dw_kernel_size, stride=stride, padding=pad_type, depthwise=True, **conv_kwargs)
+ self.bn2 = norm_layer(mid_chs, **norm_kwargs)
+ self.act2 = act_layer(inplace=True)
+
+ # Squeeze-and-excitation
+ if se_ratio is not None and se_ratio > 0.:
+ se_kwargs = resolve_se_args(se_kwargs, in_chs, act_layer)
+ self.se = SqueezeExcite(mid_chs, se_ratio=se_ratio, **se_kwargs)
+ else:
+ self.se = nn.Identity() # for jit.script compat
+
+ # Point-wise linear projection
+ self.conv_pwl = select_conv2d(mid_chs, out_chs, pw_kernel_size, padding=pad_type, **conv_kwargs)
+ self.bn3 = norm_layer(out_chs, **norm_kwargs)
+
+ def forward(self, x):
+ residual = x
+
+ # Point-wise expansion
+ x = self.conv_pw(x)
+ x = self.bn1(x)
+ x = self.act1(x)
+
+ # Depth-wise convolution
+ x = self.conv_dw(x)
+ x = self.bn2(x)
+ x = self.act2(x)
+
+ # Squeeze-and-excitation
+ x = self.se(x)
+
+ # Point-wise linear projection
+ x = self.conv_pwl(x)
+ x = self.bn3(x)
+
+ if self.has_residual:
+ if self.drop_connect_rate > 0.:
+ x = drop_connect(x, self.training, self.drop_connect_rate)
+ x += residual
+ return x
+
+
+class CondConvResidual(InvertedResidual):
+ """ Inverted residual block w/ CondConv routing"""
+
+ def __init__(self, in_chs, out_chs, dw_kernel_size=3,
+ stride=1, pad_type='', act_layer=nn.ReLU, noskip=False,
+ exp_ratio=1.0, exp_kernel_size=1, pw_kernel_size=1,
+ se_ratio=0., se_kwargs=None, norm_layer=nn.BatchNorm2d, norm_kwargs=None,
+ num_experts=0, drop_connect_rate=0.):
+
+ self.num_experts = num_experts
+ conv_kwargs = dict(num_experts=self.num_experts)
+
+ super(CondConvResidual, self).__init__(
+ in_chs, out_chs, dw_kernel_size=dw_kernel_size, stride=stride, pad_type=pad_type,
+ act_layer=act_layer, noskip=noskip, exp_ratio=exp_ratio, exp_kernel_size=exp_kernel_size,
+ pw_kernel_size=pw_kernel_size, se_ratio=se_ratio, se_kwargs=se_kwargs,
+ norm_layer=norm_layer, norm_kwargs=norm_kwargs, conv_kwargs=conv_kwargs,
+ drop_connect_rate=drop_connect_rate)
+
+ self.routing_fn = nn.Linear(in_chs, self.num_experts)
+
+ def forward(self, x):
+ residual = x
+
+ # CondConv routing
+ pooled_inputs = F.adaptive_avg_pool2d(x, 1).flatten(1)
+ routing_weights = torch.sigmoid(self.routing_fn(pooled_inputs))
+
+ # Point-wise expansion
+ x = self.conv_pw(x, routing_weights)
+ x = self.bn1(x)
+ x = self.act1(x)
+
+ # Depth-wise convolution
+ x = self.conv_dw(x, routing_weights)
+ x = self.bn2(x)
+ x = self.act2(x)
+
+ # Squeeze-and-excitation
+ x = self.se(x)
+
+ # Point-wise linear projection
+ x = self.conv_pwl(x, routing_weights)
+ x = self.bn3(x)
+
+ if self.has_residual:
+ if self.drop_connect_rate > 0.:
+ x = drop_connect(x, self.training, self.drop_connect_rate)
+ x += residual
+ return x
+
+
+class EdgeResidual(nn.Module):
+ """ EdgeTPU Residual block with expansion convolution followed by pointwise-linear w/ stride"""
+
+ def __init__(self, in_chs, out_chs, exp_kernel_size=3, exp_ratio=1.0, fake_in_chs=0,
+ stride=1, pad_type='', act_layer=nn.ReLU, noskip=False, pw_kernel_size=1,
+ se_ratio=0., se_kwargs=None, norm_layer=nn.BatchNorm2d, norm_kwargs=None, drop_connect_rate=0.):
+ super(EdgeResidual, self).__init__()
+ norm_kwargs = norm_kwargs or {}
+ mid_chs = make_divisible(fake_in_chs * exp_ratio) if fake_in_chs > 0 else make_divisible(in_chs * exp_ratio)
+ self.has_residual = (in_chs == out_chs and stride == 1) and not noskip
+ self.drop_connect_rate = drop_connect_rate
+
+ # Expansion convolution
+ self.conv_exp = select_conv2d(in_chs, mid_chs, exp_kernel_size, padding=pad_type)
+ self.bn1 = norm_layer(mid_chs, **norm_kwargs)
+ self.act1 = act_layer(inplace=True)
+
+ # Squeeze-and-excitation
+ if se_ratio is not None and se_ratio > 0.:
+ se_kwargs = resolve_se_args(se_kwargs, in_chs, act_layer)
+ self.se = SqueezeExcite(mid_chs, se_ratio=se_ratio, **se_kwargs)
+ else:
+ self.se = nn.Identity()
+
+ # Point-wise linear projection
+ self.conv_pwl = select_conv2d(mid_chs, out_chs, pw_kernel_size, stride=stride, padding=pad_type)
+ self.bn2 = nn.BatchNorm2d(out_chs, **norm_kwargs)
+
+ def forward(self, x):
+ residual = x
+
+ # Expansion convolution
+ x = self.conv_exp(x)
+ x = self.bn1(x)
+ x = self.act1(x)
+
+ # Squeeze-and-excitation
+ x = self.se(x)
+
+ # Point-wise linear projection
+ x = self.conv_pwl(x)
+ x = self.bn2(x)
+
+ if self.has_residual:
+ if self.drop_connect_rate > 0.:
+ x = drop_connect(x, self.training, self.drop_connect_rate)
+ x += residual
+
+ return x
+
+
+class EfficientNetBuilder:
+ """ Build Trunk Blocks for Efficient/Mobile Networks
+
+ This ended up being somewhat of a cross between
+ https://github.com/tensorflow/tpu/blob/master/models/official/mnasnet/mnasnet_models.py
+ and
+ https://github.com/facebookresearch/maskrcnn-benchmark/blob/master/maskrcnn_benchmark/modeling/backbone/fbnet_builder.py
+
+ """
+
+ def __init__(self, channel_multiplier=1.0, channel_divisor=8, channel_min=None,
+ pad_type='', act_layer=None, se_kwargs=None,
+ norm_layer=nn.BatchNorm2d, norm_kwargs=None, drop_connect_rate=0.):
+ self.channel_multiplier = channel_multiplier
+ self.channel_divisor = channel_divisor
+ self.channel_min = channel_min
+ self.pad_type = pad_type
+ self.act_layer = act_layer
+ self.se_kwargs = se_kwargs
+ self.norm_layer = norm_layer
+ self.norm_kwargs = norm_kwargs
+ self.drop_connect_rate = drop_connect_rate
+
+ # updated during build
+ self.in_chs = None
+ self.block_idx = 0
+ self.block_count = 0
+
+ def _round_channels(self, chs):
+ return round_channels(chs, self.channel_multiplier, self.channel_divisor, self.channel_min)
+
+ def _make_block(self, ba):
+ bt = ba.pop('block_type')
+ ba['in_chs'] = self.in_chs
+ ba['out_chs'] = self._round_channels(ba['out_chs'])
+ if 'fake_in_chs' in ba and ba['fake_in_chs']:
+ # FIXME this is a hack to work around mismatch in origin impl input filters for EdgeTPU
+ ba['fake_in_chs'] = self._round_channels(ba['fake_in_chs'])
+ ba['norm_layer'] = self.norm_layer
+ ba['norm_kwargs'] = self.norm_kwargs
+ ba['pad_type'] = self.pad_type
+ # block act fn overrides the model default
+ ba['act_layer'] = ba['act_layer'] if ba['act_layer'] is not None else self.act_layer
+ assert ba['act_layer'] is not None
+ if bt == 'ir':
+ ba['drop_connect_rate'] = self.drop_connect_rate * self.block_idx / self.block_count
+ ba['se_kwargs'] = self.se_kwargs
+ if ba.get('num_experts', 0) > 0:
+ block = CondConvResidual(**ba)
+ else:
+ block = InvertedResidual(**ba)
+ elif bt == 'ds' or bt == 'dsa':
+ ba['drop_connect_rate'] = self.drop_connect_rate * self.block_idx / self.block_count
+ ba['se_kwargs'] = self.se_kwargs
+ block = DepthwiseSeparableConv(**ba)
+ elif bt == 'er':
+ ba['drop_connect_rate'] = self.drop_connect_rate * self.block_idx / self.block_count
+ ba['se_kwargs'] = self.se_kwargs
+ block = EdgeResidual(**ba)
+ elif bt == 'cn':
+ block = ConvBnAct(**ba)
+ else:
+ assert False, 'Uknkown block type (%s) while building model.' % bt
+ self.in_chs = ba['out_chs'] # update in_chs for arg of next block
+ return block
+
+ def _make_stack(self, stack_args):
+ blocks = []
+ # each stack (stage) contains a list of block arguments
+ for i, ba in enumerate(stack_args):
+ if i >= 1:
+ # only the first block in any stack can have a stride > 1
+ ba['stride'] = 1
+ block = self._make_block(ba)
+ blocks.append(block)
+ self.block_idx += 1 # incr global idx (across all stacks)
+ return nn.Sequential(*blocks)
+
+ def __call__(self, in_chs, block_args):
+ """ Build the blocks
+ Args:
+ in_chs: Number of input-channels passed to first block
+ block_args: A list of lists, outer list defines stages, inner
+ list contains strings defining block configuration(s)
+ Return:
+ List of block stacks (each stack wrapped in nn.Sequential)
+ """
+ self.in_chs = in_chs
+ self.block_count = sum([len(x) for x in block_args])
+ self.block_idx = 0
+ blocks = []
+ # outer list of block_args defines the stacks ('stages' by some conventions)
+ for stack_idx, stack in enumerate(block_args):
+ assert isinstance(stack, list)
+ stack = self._make_stack(stack)
+ blocks.append(stack)
+ return blocks
+
+
+def _parse_ksize(ss):
+ if ss.isdigit():
+ return int(ss)
+ else:
+ return [int(k) for k in ss.split('.')]
+
+
+def _decode_block_str(block_str):
+ """ Decode block definition string
+
+ Gets a list of block arg (dicts) through a string notation of arguments.
+ E.g. ir_r2_k3_s2_e1_i32_o16_se0.25_noskip
+
+ All args can exist in any order with the exception of the leading string which
+ is assumed to indicate the block type.
+
+ leading string - block type (
+ ir = InvertedResidual, ds = DepthwiseSep, dsa = DeptwhiseSep with pw act, cn = ConvBnAct)
+ r - number of repeat blocks,
+ k - kernel size,
+ s - strides (1-9),
+ e - expansion ratio,
+ c - output channels,
+ se - squeeze/excitation ratio
+ n - activation fn ('re', 'r6', 'hs', or 'sw')
+ Args:
+ block_str: a string representation of block arguments.
+ Returns:
+ A list of block args (dicts)
+ Raises:
+ ValueError: if the string def not properly specified (TODO)
+ """
+ assert isinstance(block_str, str)
+ ops = block_str.split('_')
+ block_type = ops[0] # take the block type off the front
+ ops = ops[1:]
+ options = {}
+ noskip = False
+ for op in ops:
+ # string options being checked on individual basis, combine if they grow
+ if op == 'noskip':
+ noskip = True
+ elif op.startswith('n'):
+ # activation fn
+ key = op[0]
+ v = op[1:]
+ if v == 're':
+ value = get_act_layer('relu')
+ elif v == 'r6':
+ value = get_act_layer('relu6')
+ elif v == 'hs':
+ value = get_act_layer('hard_swish')
+ elif v == 'sw':
+ value = get_act_layer('swish')
+ else:
+ continue
+ options[key] = value
+ else:
+ # all numeric options
+ splits = re.split(r'(\d.*)', op)
+ if len(splits) >= 2:
+ key, value = splits[:2]
+ options[key] = value
+
+ # if act_layer is None, the model default (passed to model init) will be used
+ act_layer = options['n'] if 'n' in options else None
+ exp_kernel_size = _parse_ksize(options['a']) if 'a' in options else 1
+ pw_kernel_size = _parse_ksize(options['p']) if 'p' in options else 1
+ fake_in_chs = int(options['fc']) if 'fc' in options else 0 # FIXME hack to deal with in_chs issue in TPU def
+
+ num_repeat = int(options['r'])
+ # each type of block has different valid arguments, fill accordingly
+ if block_type == 'ir':
+ block_args = dict(
+ block_type=block_type,
+ dw_kernel_size=_parse_ksize(options['k']),
+ exp_kernel_size=exp_kernel_size,
+ pw_kernel_size=pw_kernel_size,
+ out_chs=int(options['c']),
+ exp_ratio=float(options['e']),
+ se_ratio=float(options['se']) if 'se' in options else None,
+ stride=int(options['s']),
+ act_layer=act_layer,
+ noskip=noskip,
+ )
+ if 'cc' in options:
+ block_args['num_experts'] = int(options['cc'])
+ elif block_type == 'ds' or block_type == 'dsa':
+ block_args = dict(
+ block_type=block_type,
+ dw_kernel_size=_parse_ksize(options['k']),
+ pw_kernel_size=pw_kernel_size,
+ out_chs=int(options['c']),
+ se_ratio=float(options['se']) if 'se' in options else None,
+ stride=int(options['s']),
+ act_layer=act_layer,
+ pw_act=block_type == 'dsa',
+ noskip=block_type == 'dsa' or noskip,
+ )
+ elif block_type == 'er':
+ block_args = dict(
+ block_type=block_type,
+ exp_kernel_size=_parse_ksize(options['k']),
+ pw_kernel_size=pw_kernel_size,
+ out_chs=int(options['c']),
+ exp_ratio=float(options['e']),
+ fake_in_chs=fake_in_chs,
+ se_ratio=float(options['se']) if 'se' in options else None,
+ stride=int(options['s']),
+ act_layer=act_layer,
+ noskip=noskip,
+ )
+ elif block_type == 'cn':
+ block_args = dict(
+ block_type=block_type,
+ kernel_size=int(options['k']),
+ out_chs=int(options['c']),
+ stride=int(options['s']),
+ act_layer=act_layer,
+ )
+ else:
+ assert False, 'Unknown block type (%s)' % block_type
+
+ return block_args, num_repeat
+
+
+def _scale_stage_depth(stack_args, repeats, depth_multiplier=1.0, depth_trunc='ceil'):
+ """ Per-stage depth scaling
+ Scales the block repeats in each stage. This depth scaling impl maintains
+ compatibility with the EfficientNet scaling method, while allowing sensible
+ scaling for other models that may have multiple block arg definitions in each stage.
+ """
+
+ # We scale the total repeat count for each stage, there may be multiple
+ # block arg defs per stage so we need to sum.
+ num_repeat = sum(repeats)
+ if depth_trunc == 'round':
+ # Truncating to int by rounding allows stages with few repeats to remain
+ # proportionally smaller for longer. This is a good choice when stage definitions
+ # include single repeat stages that we'd prefer to keep that way as long as possible
+ num_repeat_scaled = max(1, round(num_repeat * depth_multiplier))
+ else:
+ # The default for EfficientNet truncates repeats to int via 'ceil'.
+ # Any multiplier > 1.0 will result in an increased depth for every stage.
+ num_repeat_scaled = int(math.ceil(num_repeat * depth_multiplier))
+
+ # Proportionally distribute repeat count scaling to each block definition in the stage.
+ # Allocation is done in reverse as it results in the first block being less likely to be scaled.
+ # The first block makes less sense to repeat in most of the arch definitions.
+ repeats_scaled = []
+ for r in repeats[::-1]:
+ rs = max(1, round((r / num_repeat * num_repeat_scaled)))
+ repeats_scaled.append(rs)
+ num_repeat -= r
+ num_repeat_scaled -= rs
+ repeats_scaled = repeats_scaled[::-1]
+
+ # Apply the calculated scaling to each block arg in the stage
+ sa_scaled = []
+ for ba, rep in zip(stack_args, repeats_scaled):
+ sa_scaled.extend([deepcopy(ba) for _ in range(rep)])
+ return sa_scaled
+
+
+def decode_arch_def(arch_def, depth_multiplier=1.0, depth_trunc='ceil', experts_multiplier=1, fix_first_last=False):
+ arch_args = []
+ for stack_idx, block_strings in enumerate(arch_def):
+ assert isinstance(block_strings, list)
+ stack_args = []
+ repeats = []
+ for block_str in block_strings:
+ assert isinstance(block_str, str)
+ ba, rep = _decode_block_str(block_str)
+ if ba.get('num_experts', 0) > 0 and experts_multiplier > 1:
+ ba['num_experts'] *= experts_multiplier
+ stack_args.append(ba)
+ repeats.append(rep)
+ if fix_first_last and (stack_idx == 0 or stack_idx == len(arch_def) - 1):
+ arch_args.append(_scale_stage_depth(stack_args, repeats, 1.0, depth_trunc))
+ else:
+ arch_args.append(_scale_stage_depth(stack_args, repeats, depth_multiplier, depth_trunc))
+ return arch_args
+
+
+def initialize_weight_goog(m, n='', fix_group_fanout=True):
+ # weight init as per Tensorflow Official impl
+ # https://github.com/tensorflow/tpu/blob/master/models/official/mnasnet/mnasnet_model.py
+ if isinstance(m, CondConv2d):
+ fan_out = m.kernel_size[0] * m.kernel_size[1] * m.out_channels
+ if fix_group_fanout:
+ fan_out //= m.groups
+ init_weight_fn = get_condconv_initializer(
+ lambda w: w.data.normal_(0, math.sqrt(2.0 / fan_out)), m.num_experts, m.weight_shape)
+ init_weight_fn(m.weight)
+ if m.bias is not None:
+ m.bias.data.zero_()
+ elif isinstance(m, nn.Conv2d):
+ fan_out = m.kernel_size[0] * m.kernel_size[1] * m.out_channels
+ if fix_group_fanout:
+ fan_out //= m.groups
+ m.weight.data.normal_(0, math.sqrt(2.0 / fan_out))
+ if m.bias is not None:
+ m.bias.data.zero_()
+ elif isinstance(m, nn.BatchNorm2d):
+ m.weight.data.fill_(1.0)
+ m.bias.data.zero_()
+ elif isinstance(m, nn.Linear):
+ fan_out = m.weight.size(0) # fan-out
+ fan_in = 0
+ if 'routing_fn' in n:
+ fan_in = m.weight.size(1)
+ init_range = 1.0 / math.sqrt(fan_in + fan_out)
+ m.weight.data.uniform_(-init_range, init_range)
+ m.bias.data.zero_()
+
+
+def initialize_weight_default(m, n=''):
+ if isinstance(m, CondConv2d):
+ init_fn = get_condconv_initializer(partial(
+ nn.init.kaiming_normal_, mode='fan_out', nonlinearity='relu'), m.num_experts, m.weight_shape)
+ init_fn(m.weight)
+ elif isinstance(m, nn.Conv2d):
+ nn.init.kaiming_normal_(m.weight, mode='fan_out', nonlinearity='relu')
+ elif isinstance(m, nn.BatchNorm2d):
+ m.weight.data.fill_(1.0)
+ m.bias.data.zero_()
+ elif isinstance(m, nn.Linear):
+ nn.init.kaiming_uniform_(m.weight, mode='fan_in', nonlinearity='linear')
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/geffnet/gen_efficientnet.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/geffnet/gen_efficientnet.py
new file mode 100644
index 0000000000000000000000000000000000000000..cd170d4cc5bed6ca82b61539902b470d3320c691
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/geffnet/gen_efficientnet.py
@@ -0,0 +1,1450 @@
+""" Generic Efficient Networks
+
+A generic MobileNet class with building blocks to support a variety of models:
+
+* EfficientNet (B0-B8, L2 + Tensorflow pretrained AutoAug/RandAug/AdvProp/NoisyStudent ports)
+ - EfficientNet: Rethinking Model Scaling for CNNs - https://arxiv.org/abs/1905.11946
+ - CondConv: Conditionally Parameterized Convolutions for Efficient Inference - https://arxiv.org/abs/1904.04971
+ - Adversarial Examples Improve Image Recognition - https://arxiv.org/abs/1911.09665
+ - Self-training with Noisy Student improves ImageNet classification - https://arxiv.org/abs/1911.04252
+
+* EfficientNet-Lite
+
+* MixNet (Small, Medium, and Large)
+ - MixConv: Mixed Depthwise Convolutional Kernels - https://arxiv.org/abs/1907.09595
+
+* MNasNet B1, A1 (SE), Small
+ - MnasNet: Platform-Aware Neural Architecture Search for Mobile - https://arxiv.org/abs/1807.11626
+
+* FBNet-C
+ - FBNet: Hardware-Aware Efficient ConvNet Design via Differentiable NAS - https://arxiv.org/abs/1812.03443
+
+* Single-Path NAS Pixel1
+ - Single-Path NAS: Designing Hardware-Efficient ConvNets - https://arxiv.org/abs/1904.02877
+
+* And likely more...
+
+Hacked together by / Copyright 2020 Ross Wightman
+"""
+import torch.nn as nn
+import torch.nn.functional as F
+
+from .config import layer_config_kwargs, is_scriptable
+from .conv2d_layers import select_conv2d
+from .helpers import load_pretrained
+from .efficientnet_builder import *
+
+__all__ = ['GenEfficientNet', 'mnasnet_050', 'mnasnet_075', 'mnasnet_100', 'mnasnet_b1', 'mnasnet_140',
+ 'semnasnet_050', 'semnasnet_075', 'semnasnet_100', 'mnasnet_a1', 'semnasnet_140', 'mnasnet_small',
+ 'mobilenetv2_100', 'mobilenetv2_140', 'mobilenetv2_110d', 'mobilenetv2_120d',
+ 'fbnetc_100', 'spnasnet_100', 'efficientnet_b0', 'efficientnet_b1', 'efficientnet_b2', 'efficientnet_b3',
+ 'efficientnet_b4', 'efficientnet_b5', 'efficientnet_b6', 'efficientnet_b7', 'efficientnet_b8',
+ 'efficientnet_l2', 'efficientnet_es', 'efficientnet_em', 'efficientnet_el',
+ 'efficientnet_cc_b0_4e', 'efficientnet_cc_b0_8e', 'efficientnet_cc_b1_8e',
+ 'efficientnet_lite0', 'efficientnet_lite1', 'efficientnet_lite2', 'efficientnet_lite3', 'efficientnet_lite4',
+ 'tf_efficientnet_b0', 'tf_efficientnet_b1', 'tf_efficientnet_b2', 'tf_efficientnet_b3',
+ 'tf_efficientnet_b4', 'tf_efficientnet_b5', 'tf_efficientnet_b6', 'tf_efficientnet_b7', 'tf_efficientnet_b8',
+ 'tf_efficientnet_b0_ap', 'tf_efficientnet_b1_ap', 'tf_efficientnet_b2_ap', 'tf_efficientnet_b3_ap',
+ 'tf_efficientnet_b4_ap', 'tf_efficientnet_b5_ap', 'tf_efficientnet_b6_ap', 'tf_efficientnet_b7_ap',
+ 'tf_efficientnet_b8_ap', 'tf_efficientnet_b0_ns', 'tf_efficientnet_b1_ns', 'tf_efficientnet_b2_ns',
+ 'tf_efficientnet_b3_ns', 'tf_efficientnet_b4_ns', 'tf_efficientnet_b5_ns', 'tf_efficientnet_b6_ns',
+ 'tf_efficientnet_b7_ns', 'tf_efficientnet_l2_ns', 'tf_efficientnet_l2_ns_475',
+ 'tf_efficientnet_es', 'tf_efficientnet_em', 'tf_efficientnet_el',
+ 'tf_efficientnet_cc_b0_4e', 'tf_efficientnet_cc_b0_8e', 'tf_efficientnet_cc_b1_8e',
+ 'tf_efficientnet_lite0', 'tf_efficientnet_lite1', 'tf_efficientnet_lite2', 'tf_efficientnet_lite3',
+ 'tf_efficientnet_lite4',
+ 'mixnet_s', 'mixnet_m', 'mixnet_l', 'mixnet_xl', 'tf_mixnet_s', 'tf_mixnet_m', 'tf_mixnet_l']
+
+
+model_urls = {
+ 'mnasnet_050': None,
+ 'mnasnet_075': None,
+ 'mnasnet_100':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/mnasnet_b1-74cb7081.pth',
+ 'mnasnet_140': None,
+ 'mnasnet_small': None,
+
+ 'semnasnet_050': None,
+ 'semnasnet_075': None,
+ 'semnasnet_100':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/mnasnet_a1-d9418771.pth',
+ 'semnasnet_140': None,
+
+ 'mobilenetv2_100':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/mobilenetv2_100_ra-b33bc2c4.pth',
+ 'mobilenetv2_110d':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/mobilenetv2_110d_ra-77090ade.pth',
+ 'mobilenetv2_120d':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/mobilenetv2_120d_ra-5987e2ed.pth',
+ 'mobilenetv2_140':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/mobilenetv2_140_ra-21a4e913.pth',
+
+ 'fbnetc_100':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/fbnetc_100-c345b898.pth',
+ 'spnasnet_100':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/spnasnet_100-048bc3f4.pth',
+
+ 'efficientnet_b0':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/efficientnet_b0_ra-3dd342df.pth',
+ 'efficientnet_b1':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/efficientnet_b1-533bc792.pth',
+ 'efficientnet_b2':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/efficientnet_b2_ra-bcdf34b7.pth',
+ 'efficientnet_b3':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/efficientnet_b3_ra2-cf984f9c.pth',
+ 'efficientnet_b4': None,
+ 'efficientnet_b5': None,
+ 'efficientnet_b6': None,
+ 'efficientnet_b7': None,
+ 'efficientnet_b8': None,
+ 'efficientnet_l2': None,
+
+ 'efficientnet_es':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/efficientnet_es_ra-f111e99c.pth',
+ 'efficientnet_em': None,
+ 'efficientnet_el': None,
+
+ 'efficientnet_cc_b0_4e': None,
+ 'efficientnet_cc_b0_8e': None,
+ 'efficientnet_cc_b1_8e': None,
+
+ 'efficientnet_lite0': 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/efficientnet_lite0_ra-37913777.pth',
+ 'efficientnet_lite1': None,
+ 'efficientnet_lite2': None,
+ 'efficientnet_lite3': None,
+ 'efficientnet_lite4': None,
+
+ 'tf_efficientnet_b0':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_efficientnet_b0_aa-827b6e33.pth',
+ 'tf_efficientnet_b1':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_efficientnet_b1_aa-ea7a6ee0.pth',
+ 'tf_efficientnet_b2':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_efficientnet_b2_aa-60c94f97.pth',
+ 'tf_efficientnet_b3':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_efficientnet_b3_aa-84b4657e.pth',
+ 'tf_efficientnet_b4':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_efficientnet_b4_aa-818f208c.pth',
+ 'tf_efficientnet_b5':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_efficientnet_b5_ra-9a3e5369.pth',
+ 'tf_efficientnet_b6':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_efficientnet_b6_aa-80ba17e4.pth',
+ 'tf_efficientnet_b7':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_efficientnet_b7_ra-6c08e654.pth',
+ 'tf_efficientnet_b8':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_efficientnet_b8_ra-572d5dd9.pth',
+
+ 'tf_efficientnet_b0_ap':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_efficientnet_b0_ap-f262efe1.pth',
+ 'tf_efficientnet_b1_ap':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_efficientnet_b1_ap-44ef0a3d.pth',
+ 'tf_efficientnet_b2_ap':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_efficientnet_b2_ap-2f8e7636.pth',
+ 'tf_efficientnet_b3_ap':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_efficientnet_b3_ap-aad25bdd.pth',
+ 'tf_efficientnet_b4_ap':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_efficientnet_b4_ap-dedb23e6.pth',
+ 'tf_efficientnet_b5_ap':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_efficientnet_b5_ap-9e82fae8.pth',
+ 'tf_efficientnet_b6_ap':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_efficientnet_b6_ap-4ffb161f.pth',
+ 'tf_efficientnet_b7_ap':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_efficientnet_b7_ap-ddb28fec.pth',
+ 'tf_efficientnet_b8_ap':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_efficientnet_b8_ap-00e169fa.pth',
+
+ 'tf_efficientnet_b0_ns':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_efficientnet_b0_ns-c0e6a31c.pth',
+ 'tf_efficientnet_b1_ns':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_efficientnet_b1_ns-99dd0c41.pth',
+ 'tf_efficientnet_b2_ns':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_efficientnet_b2_ns-00306e48.pth',
+ 'tf_efficientnet_b3_ns':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_efficientnet_b3_ns-9d44bf68.pth',
+ 'tf_efficientnet_b4_ns':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_efficientnet_b4_ns-d6313a46.pth',
+ 'tf_efficientnet_b5_ns':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_efficientnet_b5_ns-6f26d0cf.pth',
+ 'tf_efficientnet_b6_ns':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_efficientnet_b6_ns-51548356.pth',
+ 'tf_efficientnet_b7_ns':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_efficientnet_b7_ns-1dbc32de.pth',
+ 'tf_efficientnet_l2_ns_475':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_efficientnet_l2_ns_475-bebbd00a.pth',
+ 'tf_efficientnet_l2_ns':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_efficientnet_l2_ns-df73bb44.pth',
+
+ 'tf_efficientnet_es':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_efficientnet_es-ca1afbfe.pth',
+ 'tf_efficientnet_em':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_efficientnet_em-e78cfe58.pth',
+ 'tf_efficientnet_el':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_efficientnet_el-5143854e.pth',
+
+ 'tf_efficientnet_cc_b0_4e':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_efficientnet_cc_b0_4e-4362b6b2.pth',
+ 'tf_efficientnet_cc_b0_8e':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_efficientnet_cc_b0_8e-66184a25.pth',
+ 'tf_efficientnet_cc_b1_8e':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_efficientnet_cc_b1_8e-f7c79ae1.pth',
+
+ 'tf_efficientnet_lite0':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_efficientnet_lite0-0aa007d2.pth',
+ 'tf_efficientnet_lite1':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_efficientnet_lite1-bde8b488.pth',
+ 'tf_efficientnet_lite2':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_efficientnet_lite2-dcccb7df.pth',
+ 'tf_efficientnet_lite3':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_efficientnet_lite3-b733e338.pth',
+ 'tf_efficientnet_lite4':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_efficientnet_lite4-741542c3.pth',
+
+ 'mixnet_s': 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/mixnet_s-a907afbc.pth',
+ 'mixnet_m': 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/mixnet_m-4647fc68.pth',
+ 'mixnet_l': 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/mixnet_l-5a9a2ed8.pth',
+ 'mixnet_xl': 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/mixnet_xl_ra-aac3c00c.pth',
+
+ 'tf_mixnet_s':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_mixnet_s-89d3354b.pth',
+ 'tf_mixnet_m':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_mixnet_m-0f4d8805.pth',
+ 'tf_mixnet_l':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_mixnet_l-6c92e0c8.pth',
+}
+
+
+class GenEfficientNet(nn.Module):
+ """ Generic EfficientNets
+
+ An implementation of mobile optimized networks that covers:
+ * EfficientNet (B0-B8, L2, CondConv, EdgeTPU)
+ * MixNet (Small, Medium, and Large, XL)
+ * MNASNet A1, B1, and small
+ * FBNet C
+ * Single-Path NAS Pixel1
+ """
+
+ def __init__(self, block_args, num_classes=1000, in_chans=3, num_features=1280, stem_size=32, fix_stem=False,
+ channel_multiplier=1.0, channel_divisor=8, channel_min=None,
+ pad_type='', act_layer=nn.ReLU, drop_rate=0., drop_connect_rate=0.,
+ se_kwargs=None, norm_layer=nn.BatchNorm2d, norm_kwargs=None,
+ weight_init='goog'):
+ super(GenEfficientNet, self).__init__()
+ self.drop_rate = drop_rate
+
+ if not fix_stem:
+ stem_size = round_channels(stem_size, channel_multiplier, channel_divisor, channel_min)
+ self.conv_stem = select_conv2d(in_chans, stem_size, 3, stride=2, padding=pad_type)
+ self.bn1 = norm_layer(stem_size, **norm_kwargs)
+ self.act1 = act_layer(inplace=True)
+ in_chs = stem_size
+
+ builder = EfficientNetBuilder(
+ channel_multiplier, channel_divisor, channel_min,
+ pad_type, act_layer, se_kwargs, norm_layer, norm_kwargs, drop_connect_rate)
+ self.blocks = nn.Sequential(*builder(in_chs, block_args))
+ in_chs = builder.in_chs
+
+ self.conv_head = select_conv2d(in_chs, num_features, 1, padding=pad_type)
+ self.bn2 = norm_layer(num_features, **norm_kwargs)
+ self.act2 = act_layer(inplace=True)
+ self.global_pool = nn.AdaptiveAvgPool2d(1)
+ self.classifier = nn.Linear(num_features, num_classes)
+
+ for n, m in self.named_modules():
+ if weight_init == 'goog':
+ initialize_weight_goog(m, n)
+ else:
+ initialize_weight_default(m, n)
+
+ def features(self, x):
+ x = self.conv_stem(x)
+ x = self.bn1(x)
+ x = self.act1(x)
+ x = self.blocks(x)
+ x = self.conv_head(x)
+ x = self.bn2(x)
+ x = self.act2(x)
+ return x
+
+ def as_sequential(self):
+ layers = [self.conv_stem, self.bn1, self.act1]
+ layers.extend(self.blocks)
+ layers.extend([
+ self.conv_head, self.bn2, self.act2,
+ self.global_pool, nn.Flatten(), nn.Dropout(self.drop_rate), self.classifier])
+ return nn.Sequential(*layers)
+
+ def forward(self, x):
+ x = self.features(x)
+ x = self.global_pool(x)
+ x = x.flatten(1)
+ if self.drop_rate > 0.:
+ x = F.dropout(x, p=self.drop_rate, training=self.training)
+ return self.classifier(x)
+
+
+def _create_model(model_kwargs, variant, pretrained=False):
+ as_sequential = model_kwargs.pop('as_sequential', False)
+ model = GenEfficientNet(**model_kwargs)
+ if pretrained:
+ load_pretrained(model, model_urls[variant])
+ if as_sequential:
+ model = model.as_sequential()
+ return model
+
+
+def _gen_mnasnet_a1(variant, channel_multiplier=1.0, pretrained=False, **kwargs):
+ """Creates a mnasnet-a1 model.
+
+ Ref impl: https://github.com/tensorflow/tpu/tree/master/models/official/mnasnet
+ Paper: https://arxiv.org/pdf/1807.11626.pdf.
+
+ Args:
+ channel_multiplier: multiplier to number of channels per layer.
+ """
+ arch_def = [
+ # stage 0, 112x112 in
+ ['ds_r1_k3_s1_e1_c16_noskip'],
+ # stage 1, 112x112 in
+ ['ir_r2_k3_s2_e6_c24'],
+ # stage 2, 56x56 in
+ ['ir_r3_k5_s2_e3_c40_se0.25'],
+ # stage 3, 28x28 in
+ ['ir_r4_k3_s2_e6_c80'],
+ # stage 4, 14x14in
+ ['ir_r2_k3_s1_e6_c112_se0.25'],
+ # stage 5, 14x14in
+ ['ir_r3_k5_s2_e6_c160_se0.25'],
+ # stage 6, 7x7 in
+ ['ir_r1_k3_s1_e6_c320'],
+ ]
+ with layer_config_kwargs(kwargs):
+ model_kwargs = dict(
+ block_args=decode_arch_def(arch_def),
+ stem_size=32,
+ channel_multiplier=channel_multiplier,
+ act_layer=resolve_act_layer(kwargs, 'relu'),
+ norm_kwargs=resolve_bn_args(kwargs),
+ **kwargs
+ )
+ model = _create_model(model_kwargs, variant, pretrained)
+ return model
+
+
+def _gen_mnasnet_b1(variant, channel_multiplier=1.0, pretrained=False, **kwargs):
+ """Creates a mnasnet-b1 model.
+
+ Ref impl: https://github.com/tensorflow/tpu/tree/master/models/official/mnasnet
+ Paper: https://arxiv.org/pdf/1807.11626.pdf.
+
+ Args:
+ channel_multiplier: multiplier to number of channels per layer.
+ """
+ arch_def = [
+ # stage 0, 112x112 in
+ ['ds_r1_k3_s1_c16_noskip'],
+ # stage 1, 112x112 in
+ ['ir_r3_k3_s2_e3_c24'],
+ # stage 2, 56x56 in
+ ['ir_r3_k5_s2_e3_c40'],
+ # stage 3, 28x28 in
+ ['ir_r3_k5_s2_e6_c80'],
+ # stage 4, 14x14in
+ ['ir_r2_k3_s1_e6_c96'],
+ # stage 5, 14x14in
+ ['ir_r4_k5_s2_e6_c192'],
+ # stage 6, 7x7 in
+ ['ir_r1_k3_s1_e6_c320_noskip']
+ ]
+ with layer_config_kwargs(kwargs):
+ model_kwargs = dict(
+ block_args=decode_arch_def(arch_def),
+ stem_size=32,
+ channel_multiplier=channel_multiplier,
+ act_layer=resolve_act_layer(kwargs, 'relu'),
+ norm_kwargs=resolve_bn_args(kwargs),
+ **kwargs
+ )
+ model = _create_model(model_kwargs, variant, pretrained)
+ return model
+
+
+def _gen_mnasnet_small(variant, channel_multiplier=1.0, pretrained=False, **kwargs):
+ """Creates a mnasnet-b1 model.
+
+ Ref impl: https://github.com/tensorflow/tpu/tree/master/models/official/mnasnet
+ Paper: https://arxiv.org/pdf/1807.11626.pdf.
+
+ Args:
+ channel_multiplier: multiplier to number of channels per layer.
+ """
+ arch_def = [
+ ['ds_r1_k3_s1_c8'],
+ ['ir_r1_k3_s2_e3_c16'],
+ ['ir_r2_k3_s2_e6_c16'],
+ ['ir_r4_k5_s2_e6_c32_se0.25'],
+ ['ir_r3_k3_s1_e6_c32_se0.25'],
+ ['ir_r3_k5_s2_e6_c88_se0.25'],
+ ['ir_r1_k3_s1_e6_c144']
+ ]
+ with layer_config_kwargs(kwargs):
+ model_kwargs = dict(
+ block_args=decode_arch_def(arch_def),
+ stem_size=8,
+ channel_multiplier=channel_multiplier,
+ act_layer=resolve_act_layer(kwargs, 'relu'),
+ norm_kwargs=resolve_bn_args(kwargs),
+ **kwargs
+ )
+ model = _create_model(model_kwargs, variant, pretrained)
+ return model
+
+
+def _gen_mobilenet_v2(
+ variant, channel_multiplier=1.0, depth_multiplier=1.0, fix_stem_head=False, pretrained=False, **kwargs):
+ """ Generate MobileNet-V2 network
+ Ref impl: https://github.com/tensorflow/models/blob/master/research/slim/nets/mobilenet/mobilenet_v2.py
+ Paper: https://arxiv.org/abs/1801.04381
+ """
+ arch_def = [
+ ['ds_r1_k3_s1_c16'],
+ ['ir_r2_k3_s2_e6_c24'],
+ ['ir_r3_k3_s2_e6_c32'],
+ ['ir_r4_k3_s2_e6_c64'],
+ ['ir_r3_k3_s1_e6_c96'],
+ ['ir_r3_k3_s2_e6_c160'],
+ ['ir_r1_k3_s1_e6_c320'],
+ ]
+ with layer_config_kwargs(kwargs):
+ model_kwargs = dict(
+ block_args=decode_arch_def(arch_def, depth_multiplier=depth_multiplier, fix_first_last=fix_stem_head),
+ num_features=1280 if fix_stem_head else round_channels(1280, channel_multiplier, 8, None),
+ stem_size=32,
+ fix_stem=fix_stem_head,
+ channel_multiplier=channel_multiplier,
+ norm_kwargs=resolve_bn_args(kwargs),
+ act_layer=nn.ReLU6,
+ **kwargs
+ )
+ model = _create_model(model_kwargs, variant, pretrained)
+ return model
+
+
+def _gen_fbnetc(variant, channel_multiplier=1.0, pretrained=False, **kwargs):
+ """ FBNet-C
+
+ Paper: https://arxiv.org/abs/1812.03443
+ Ref Impl: https://github.com/facebookresearch/maskrcnn-benchmark/blob/master/maskrcnn_benchmark/modeling/backbone/fbnet_modeldef.py
+
+ NOTE: the impl above does not relate to the 'C' variant here, that was derived from paper,
+ it was used to confirm some building block details
+ """
+ arch_def = [
+ ['ir_r1_k3_s1_e1_c16'],
+ ['ir_r1_k3_s2_e6_c24', 'ir_r2_k3_s1_e1_c24'],
+ ['ir_r1_k5_s2_e6_c32', 'ir_r1_k5_s1_e3_c32', 'ir_r1_k5_s1_e6_c32', 'ir_r1_k3_s1_e6_c32'],
+ ['ir_r1_k5_s2_e6_c64', 'ir_r1_k5_s1_e3_c64', 'ir_r2_k5_s1_e6_c64'],
+ ['ir_r3_k5_s1_e6_c112', 'ir_r1_k5_s1_e3_c112'],
+ ['ir_r4_k5_s2_e6_c184'],
+ ['ir_r1_k3_s1_e6_c352'],
+ ]
+ with layer_config_kwargs(kwargs):
+ model_kwargs = dict(
+ block_args=decode_arch_def(arch_def),
+ stem_size=16,
+ num_features=1984, # paper suggests this, but is not 100% clear
+ channel_multiplier=channel_multiplier,
+ act_layer=resolve_act_layer(kwargs, 'relu'),
+ norm_kwargs=resolve_bn_args(kwargs),
+ **kwargs
+ )
+ model = _create_model(model_kwargs, variant, pretrained)
+ return model
+
+
+def _gen_spnasnet(variant, channel_multiplier=1.0, pretrained=False, **kwargs):
+ """Creates the Single-Path NAS model from search targeted for Pixel1 phone.
+
+ Paper: https://arxiv.org/abs/1904.02877
+
+ Args:
+ channel_multiplier: multiplier to number of channels per layer.
+ """
+ arch_def = [
+ # stage 0, 112x112 in
+ ['ds_r1_k3_s1_c16_noskip'],
+ # stage 1, 112x112 in
+ ['ir_r3_k3_s2_e3_c24'],
+ # stage 2, 56x56 in
+ ['ir_r1_k5_s2_e6_c40', 'ir_r3_k3_s1_e3_c40'],
+ # stage 3, 28x28 in
+ ['ir_r1_k5_s2_e6_c80', 'ir_r3_k3_s1_e3_c80'],
+ # stage 4, 14x14in
+ ['ir_r1_k5_s1_e6_c96', 'ir_r3_k5_s1_e3_c96'],
+ # stage 5, 14x14in
+ ['ir_r4_k5_s2_e6_c192'],
+ # stage 6, 7x7 in
+ ['ir_r1_k3_s1_e6_c320_noskip']
+ ]
+ with layer_config_kwargs(kwargs):
+ model_kwargs = dict(
+ block_args=decode_arch_def(arch_def),
+ stem_size=32,
+ channel_multiplier=channel_multiplier,
+ act_layer=resolve_act_layer(kwargs, 'relu'),
+ norm_kwargs=resolve_bn_args(kwargs),
+ **kwargs
+ )
+ model = _create_model(model_kwargs, variant, pretrained)
+ return model
+
+
+def _gen_efficientnet(variant, channel_multiplier=1.0, depth_multiplier=1.0, pretrained=False, **kwargs):
+ """Creates an EfficientNet model.
+
+ Ref impl: https://github.com/tensorflow/tpu/blob/master/models/official/efficientnet/efficientnet_model.py
+ Paper: https://arxiv.org/abs/1905.11946
+
+ EfficientNet params
+ name: (channel_multiplier, depth_multiplier, resolution, dropout_rate)
+ 'efficientnet-b0': (1.0, 1.0, 224, 0.2),
+ 'efficientnet-b1': (1.0, 1.1, 240, 0.2),
+ 'efficientnet-b2': (1.1, 1.2, 260, 0.3),
+ 'efficientnet-b3': (1.2, 1.4, 300, 0.3),
+ 'efficientnet-b4': (1.4, 1.8, 380, 0.4),
+ 'efficientnet-b5': (1.6, 2.2, 456, 0.4),
+ 'efficientnet-b6': (1.8, 2.6, 528, 0.5),
+ 'efficientnet-b7': (2.0, 3.1, 600, 0.5),
+ 'efficientnet-b8': (2.2, 3.6, 672, 0.5),
+
+ Args:
+ channel_multiplier: multiplier to number of channels per layer
+ depth_multiplier: multiplier to number of repeats per stage
+
+ """
+ arch_def = [
+ ['ds_r1_k3_s1_e1_c16_se0.25'],
+ ['ir_r2_k3_s2_e6_c24_se0.25'],
+ ['ir_r2_k5_s2_e6_c40_se0.25'],
+ ['ir_r3_k3_s2_e6_c80_se0.25'],
+ ['ir_r3_k5_s1_e6_c112_se0.25'],
+ ['ir_r4_k5_s2_e6_c192_se0.25'],
+ ['ir_r1_k3_s1_e6_c320_se0.25'],
+ ]
+ with layer_config_kwargs(kwargs):
+ model_kwargs = dict(
+ block_args=decode_arch_def(arch_def, depth_multiplier),
+ num_features=round_channels(1280, channel_multiplier, 8, None),
+ stem_size=32,
+ channel_multiplier=channel_multiplier,
+ act_layer=resolve_act_layer(kwargs, 'swish'),
+ norm_kwargs=resolve_bn_args(kwargs),
+ **kwargs,
+ )
+ model = _create_model(model_kwargs, variant, pretrained)
+ return model
+
+
+def _gen_efficientnet_edge(variant, channel_multiplier=1.0, depth_multiplier=1.0, pretrained=False, **kwargs):
+ arch_def = [
+ # NOTE `fc` is present to override a mismatch between stem channels and in chs not
+ # present in other models
+ ['er_r1_k3_s1_e4_c24_fc24_noskip'],
+ ['er_r2_k3_s2_e8_c32'],
+ ['er_r4_k3_s2_e8_c48'],
+ ['ir_r5_k5_s2_e8_c96'],
+ ['ir_r4_k5_s1_e8_c144'],
+ ['ir_r2_k5_s2_e8_c192'],
+ ]
+ with layer_config_kwargs(kwargs):
+ model_kwargs = dict(
+ block_args=decode_arch_def(arch_def, depth_multiplier),
+ num_features=round_channels(1280, channel_multiplier, 8, None),
+ stem_size=32,
+ channel_multiplier=channel_multiplier,
+ act_layer=resolve_act_layer(kwargs, 'relu'),
+ norm_kwargs=resolve_bn_args(kwargs),
+ **kwargs,
+ )
+ model = _create_model(model_kwargs, variant, pretrained)
+ return model
+
+
+def _gen_efficientnet_condconv(
+ variant, channel_multiplier=1.0, depth_multiplier=1.0, experts_multiplier=1, pretrained=False, **kwargs):
+ """Creates an efficientnet-condconv model."""
+ arch_def = [
+ ['ds_r1_k3_s1_e1_c16_se0.25'],
+ ['ir_r2_k3_s2_e6_c24_se0.25'],
+ ['ir_r2_k5_s2_e6_c40_se0.25'],
+ ['ir_r3_k3_s2_e6_c80_se0.25'],
+ ['ir_r3_k5_s1_e6_c112_se0.25_cc4'],
+ ['ir_r4_k5_s2_e6_c192_se0.25_cc4'],
+ ['ir_r1_k3_s1_e6_c320_se0.25_cc4'],
+ ]
+ with layer_config_kwargs(kwargs):
+ model_kwargs = dict(
+ block_args=decode_arch_def(arch_def, depth_multiplier, experts_multiplier=experts_multiplier),
+ num_features=round_channels(1280, channel_multiplier, 8, None),
+ stem_size=32,
+ channel_multiplier=channel_multiplier,
+ act_layer=resolve_act_layer(kwargs, 'swish'),
+ norm_kwargs=resolve_bn_args(kwargs),
+ **kwargs,
+ )
+ model = _create_model(model_kwargs, variant, pretrained)
+ return model
+
+
+def _gen_efficientnet_lite(variant, channel_multiplier=1.0, depth_multiplier=1.0, pretrained=False, **kwargs):
+ """Creates an EfficientNet-Lite model.
+
+ Ref impl: https://github.com/tensorflow/tpu/tree/master/models/official/efficientnet/lite
+ Paper: https://arxiv.org/abs/1905.11946
+
+ EfficientNet params
+ name: (channel_multiplier, depth_multiplier, resolution, dropout_rate)
+ 'efficientnet-lite0': (1.0, 1.0, 224, 0.2),
+ 'efficientnet-lite1': (1.0, 1.1, 240, 0.2),
+ 'efficientnet-lite2': (1.1, 1.2, 260, 0.3),
+ 'efficientnet-lite3': (1.2, 1.4, 280, 0.3),
+ 'efficientnet-lite4': (1.4, 1.8, 300, 0.3),
+
+ Args:
+ channel_multiplier: multiplier to number of channels per layer
+ depth_multiplier: multiplier to number of repeats per stage
+ """
+ arch_def = [
+ ['ds_r1_k3_s1_e1_c16'],
+ ['ir_r2_k3_s2_e6_c24'],
+ ['ir_r2_k5_s2_e6_c40'],
+ ['ir_r3_k3_s2_e6_c80'],
+ ['ir_r3_k5_s1_e6_c112'],
+ ['ir_r4_k5_s2_e6_c192'],
+ ['ir_r1_k3_s1_e6_c320'],
+ ]
+ with layer_config_kwargs(kwargs):
+ model_kwargs = dict(
+ block_args=decode_arch_def(arch_def, depth_multiplier, fix_first_last=True),
+ num_features=1280,
+ stem_size=32,
+ fix_stem=True,
+ channel_multiplier=channel_multiplier,
+ act_layer=nn.ReLU6,
+ norm_kwargs=resolve_bn_args(kwargs),
+ **kwargs,
+ )
+ model = _create_model(model_kwargs, variant, pretrained)
+ return model
+
+
+def _gen_mixnet_s(variant, channel_multiplier=1.0, pretrained=False, **kwargs):
+ """Creates a MixNet Small model.
+
+ Ref impl: https://github.com/tensorflow/tpu/tree/master/models/official/mnasnet/mixnet
+ Paper: https://arxiv.org/abs/1907.09595
+ """
+ arch_def = [
+ # stage 0, 112x112 in
+ ['ds_r1_k3_s1_e1_c16'], # relu
+ # stage 1, 112x112 in
+ ['ir_r1_k3_a1.1_p1.1_s2_e6_c24', 'ir_r1_k3_a1.1_p1.1_s1_e3_c24'], # relu
+ # stage 2, 56x56 in
+ ['ir_r1_k3.5.7_s2_e6_c40_se0.5_nsw', 'ir_r3_k3.5_a1.1_p1.1_s1_e6_c40_se0.5_nsw'], # swish
+ # stage 3, 28x28 in
+ ['ir_r1_k3.5.7_p1.1_s2_e6_c80_se0.25_nsw', 'ir_r2_k3.5_p1.1_s1_e6_c80_se0.25_nsw'], # swish
+ # stage 4, 14x14in
+ ['ir_r1_k3.5.7_a1.1_p1.1_s1_e6_c120_se0.5_nsw', 'ir_r2_k3.5.7.9_a1.1_p1.1_s1_e3_c120_se0.5_nsw'], # swish
+ # stage 5, 14x14in
+ ['ir_r1_k3.5.7.9.11_s2_e6_c200_se0.5_nsw', 'ir_r2_k3.5.7.9_p1.1_s1_e6_c200_se0.5_nsw'], # swish
+ # 7x7
+ ]
+ with layer_config_kwargs(kwargs):
+ model_kwargs = dict(
+ block_args=decode_arch_def(arch_def),
+ num_features=1536,
+ stem_size=16,
+ channel_multiplier=channel_multiplier,
+ act_layer=resolve_act_layer(kwargs, 'relu'),
+ norm_kwargs=resolve_bn_args(kwargs),
+ **kwargs
+ )
+ model = _create_model(model_kwargs, variant, pretrained)
+ return model
+
+
+def _gen_mixnet_m(variant, channel_multiplier=1.0, depth_multiplier=1.0, pretrained=False, **kwargs):
+ """Creates a MixNet Medium-Large model.
+
+ Ref impl: https://github.com/tensorflow/tpu/tree/master/models/official/mnasnet/mixnet
+ Paper: https://arxiv.org/abs/1907.09595
+ """
+ arch_def = [
+ # stage 0, 112x112 in
+ ['ds_r1_k3_s1_e1_c24'], # relu
+ # stage 1, 112x112 in
+ ['ir_r1_k3.5.7_a1.1_p1.1_s2_e6_c32', 'ir_r1_k3_a1.1_p1.1_s1_e3_c32'], # relu
+ # stage 2, 56x56 in
+ ['ir_r1_k3.5.7.9_s2_e6_c40_se0.5_nsw', 'ir_r3_k3.5_a1.1_p1.1_s1_e6_c40_se0.5_nsw'], # swish
+ # stage 3, 28x28 in
+ ['ir_r1_k3.5.7_s2_e6_c80_se0.25_nsw', 'ir_r3_k3.5.7.9_a1.1_p1.1_s1_e6_c80_se0.25_nsw'], # swish
+ # stage 4, 14x14in
+ ['ir_r1_k3_s1_e6_c120_se0.5_nsw', 'ir_r3_k3.5.7.9_a1.1_p1.1_s1_e3_c120_se0.5_nsw'], # swish
+ # stage 5, 14x14in
+ ['ir_r1_k3.5.7.9_s2_e6_c200_se0.5_nsw', 'ir_r3_k3.5.7.9_p1.1_s1_e6_c200_se0.5_nsw'], # swish
+ # 7x7
+ ]
+ with layer_config_kwargs(kwargs):
+ model_kwargs = dict(
+ block_args=decode_arch_def(arch_def, depth_multiplier, depth_trunc='round'),
+ num_features=1536,
+ stem_size=24,
+ channel_multiplier=channel_multiplier,
+ act_layer=resolve_act_layer(kwargs, 'relu'),
+ norm_kwargs=resolve_bn_args(kwargs),
+ **kwargs
+ )
+ model = _create_model(model_kwargs, variant, pretrained)
+ return model
+
+
+def mnasnet_050(pretrained=False, **kwargs):
+ """ MNASNet B1, depth multiplier of 0.5. """
+ model = _gen_mnasnet_b1('mnasnet_050', 0.5, pretrained=pretrained, **kwargs)
+ return model
+
+
+def mnasnet_075(pretrained=False, **kwargs):
+ """ MNASNet B1, depth multiplier of 0.75. """
+ model = _gen_mnasnet_b1('mnasnet_075', 0.75, pretrained=pretrained, **kwargs)
+ return model
+
+
+def mnasnet_100(pretrained=False, **kwargs):
+ """ MNASNet B1, depth multiplier of 1.0. """
+ model = _gen_mnasnet_b1('mnasnet_100', 1.0, pretrained=pretrained, **kwargs)
+ return model
+
+
+def mnasnet_b1(pretrained=False, **kwargs):
+ """ MNASNet B1, depth multiplier of 1.0. """
+ return mnasnet_100(pretrained, **kwargs)
+
+
+def mnasnet_140(pretrained=False, **kwargs):
+ """ MNASNet B1, depth multiplier of 1.4 """
+ model = _gen_mnasnet_b1('mnasnet_140', 1.4, pretrained=pretrained, **kwargs)
+ return model
+
+
+def semnasnet_050(pretrained=False, **kwargs):
+ """ MNASNet A1 (w/ SE), depth multiplier of 0.5 """
+ model = _gen_mnasnet_a1('semnasnet_050', 0.5, pretrained=pretrained, **kwargs)
+ return model
+
+
+def semnasnet_075(pretrained=False, **kwargs):
+ """ MNASNet A1 (w/ SE), depth multiplier of 0.75. """
+ model = _gen_mnasnet_a1('semnasnet_075', 0.75, pretrained=pretrained, **kwargs)
+ return model
+
+
+def semnasnet_100(pretrained=False, **kwargs):
+ """ MNASNet A1 (w/ SE), depth multiplier of 1.0. """
+ model = _gen_mnasnet_a1('semnasnet_100', 1.0, pretrained=pretrained, **kwargs)
+ return model
+
+
+def mnasnet_a1(pretrained=False, **kwargs):
+ """ MNASNet A1 (w/ SE), depth multiplier of 1.0. """
+ return semnasnet_100(pretrained, **kwargs)
+
+
+def semnasnet_140(pretrained=False, **kwargs):
+ """ MNASNet A1 (w/ SE), depth multiplier of 1.4. """
+ model = _gen_mnasnet_a1('semnasnet_140', 1.4, pretrained=pretrained, **kwargs)
+ return model
+
+
+def mnasnet_small(pretrained=False, **kwargs):
+ """ MNASNet Small, depth multiplier of 1.0. """
+ model = _gen_mnasnet_small('mnasnet_small', 1.0, pretrained=pretrained, **kwargs)
+ return model
+
+
+def mobilenetv2_100(pretrained=False, **kwargs):
+ """ MobileNet V2 w/ 1.0 channel multiplier """
+ model = _gen_mobilenet_v2('mobilenetv2_100', 1.0, pretrained=pretrained, **kwargs)
+ return model
+
+
+def mobilenetv2_140(pretrained=False, **kwargs):
+ """ MobileNet V2 w/ 1.4 channel multiplier """
+ model = _gen_mobilenet_v2('mobilenetv2_140', 1.4, pretrained=pretrained, **kwargs)
+ return model
+
+
+def mobilenetv2_110d(pretrained=False, **kwargs):
+ """ MobileNet V2 w/ 1.1 channel, 1.2 depth multipliers"""
+ model = _gen_mobilenet_v2(
+ 'mobilenetv2_110d', 1.1, depth_multiplier=1.2, fix_stem_head=True, pretrained=pretrained, **kwargs)
+ return model
+
+
+def mobilenetv2_120d(pretrained=False, **kwargs):
+ """ MobileNet V2 w/ 1.2 channel, 1.4 depth multipliers """
+ model = _gen_mobilenet_v2(
+ 'mobilenetv2_120d', 1.2, depth_multiplier=1.4, fix_stem_head=True, pretrained=pretrained, **kwargs)
+ return model
+
+
+def fbnetc_100(pretrained=False, **kwargs):
+ """ FBNet-C """
+ if pretrained:
+ # pretrained model trained with non-default BN epsilon
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ model = _gen_fbnetc('fbnetc_100', 1.0, pretrained=pretrained, **kwargs)
+ return model
+
+
+def spnasnet_100(pretrained=False, **kwargs):
+ """ Single-Path NAS Pixel1"""
+ model = _gen_spnasnet('spnasnet_100', 1.0, pretrained=pretrained, **kwargs)
+ return model
+
+
+def efficientnet_b0(pretrained=False, **kwargs):
+ """ EfficientNet-B0 """
+ # NOTE for train set drop_rate=0.2, drop_connect_rate=0.2
+ model = _gen_efficientnet(
+ 'efficientnet_b0', channel_multiplier=1.0, depth_multiplier=1.0, pretrained=pretrained, **kwargs)
+ return model
+
+
+def efficientnet_b1(pretrained=False, **kwargs):
+ """ EfficientNet-B1 """
+ # NOTE for train set drop_rate=0.2, drop_connect_rate=0.2
+ model = _gen_efficientnet(
+ 'efficientnet_b1', channel_multiplier=1.0, depth_multiplier=1.1, pretrained=pretrained, **kwargs)
+ return model
+
+
+def efficientnet_b2(pretrained=False, **kwargs):
+ """ EfficientNet-B2 """
+ # NOTE for train set drop_rate=0.3, drop_connect_rate=0.2
+ model = _gen_efficientnet(
+ 'efficientnet_b2', channel_multiplier=1.1, depth_multiplier=1.2, pretrained=pretrained, **kwargs)
+ return model
+
+
+def efficientnet_b3(pretrained=False, **kwargs):
+ """ EfficientNet-B3 """
+ # NOTE for train set drop_rate=0.3, drop_connect_rate=0.2
+ model = _gen_efficientnet(
+ 'efficientnet_b3', channel_multiplier=1.2, depth_multiplier=1.4, pretrained=pretrained, **kwargs)
+ return model
+
+
+def efficientnet_b4(pretrained=False, **kwargs):
+ """ EfficientNet-B4 """
+ # NOTE for train set drop_rate=0.4, drop_connect_rate=0.2
+ model = _gen_efficientnet(
+ 'efficientnet_b4', channel_multiplier=1.4, depth_multiplier=1.8, pretrained=pretrained, **kwargs)
+ return model
+
+
+def efficientnet_b5(pretrained=False, **kwargs):
+ """ EfficientNet-B5 """
+ # NOTE for train set drop_rate=0.4, drop_connect_rate=0.2
+ model = _gen_efficientnet(
+ 'efficientnet_b5', channel_multiplier=1.6, depth_multiplier=2.2, pretrained=pretrained, **kwargs)
+ return model
+
+
+def efficientnet_b6(pretrained=False, **kwargs):
+ """ EfficientNet-B6 """
+ # NOTE for train set drop_rate=0.5, drop_connect_rate=0.2
+ model = _gen_efficientnet(
+ 'efficientnet_b6', channel_multiplier=1.8, depth_multiplier=2.6, pretrained=pretrained, **kwargs)
+ return model
+
+
+def efficientnet_b7(pretrained=False, **kwargs):
+ """ EfficientNet-B7 """
+ # NOTE for train set drop_rate=0.5, drop_connect_rate=0.2
+ model = _gen_efficientnet(
+ 'efficientnet_b7', channel_multiplier=2.0, depth_multiplier=3.1, pretrained=pretrained, **kwargs)
+ return model
+
+
+def efficientnet_b8(pretrained=False, **kwargs):
+ """ EfficientNet-B8 """
+ # NOTE for train set drop_rate=0.5, drop_connect_rate=0.2
+ model = _gen_efficientnet(
+ 'efficientnet_b8', channel_multiplier=2.2, depth_multiplier=3.6, pretrained=pretrained, **kwargs)
+ return model
+
+
+def efficientnet_l2(pretrained=False, **kwargs):
+ """ EfficientNet-L2. """
+ # NOTE for train, drop_rate should be 0.5
+ model = _gen_efficientnet(
+ 'efficientnet_l2', channel_multiplier=4.3, depth_multiplier=5.3, pretrained=pretrained, **kwargs)
+ return model
+
+
+def efficientnet_es(pretrained=False, **kwargs):
+ """ EfficientNet-Edge Small. """
+ model = _gen_efficientnet_edge(
+ 'efficientnet_es', channel_multiplier=1.0, depth_multiplier=1.0, pretrained=pretrained, **kwargs)
+ return model
+
+
+def efficientnet_em(pretrained=False, **kwargs):
+ """ EfficientNet-Edge-Medium. """
+ model = _gen_efficientnet_edge(
+ 'efficientnet_em', channel_multiplier=1.0, depth_multiplier=1.1, pretrained=pretrained, **kwargs)
+ return model
+
+
+def efficientnet_el(pretrained=False, **kwargs):
+ """ EfficientNet-Edge-Large. """
+ model = _gen_efficientnet_edge(
+ 'efficientnet_el', channel_multiplier=1.2, depth_multiplier=1.4, pretrained=pretrained, **kwargs)
+ return model
+
+
+def efficientnet_cc_b0_4e(pretrained=False, **kwargs):
+ """ EfficientNet-CondConv-B0 w/ 8 Experts """
+ # NOTE for train set drop_rate=0.25, drop_connect_rate=0.2
+ model = _gen_efficientnet_condconv(
+ 'efficientnet_cc_b0_4e', channel_multiplier=1.0, depth_multiplier=1.0, pretrained=pretrained, **kwargs)
+ return model
+
+
+def efficientnet_cc_b0_8e(pretrained=False, **kwargs):
+ """ EfficientNet-CondConv-B0 w/ 8 Experts """
+ # NOTE for train set drop_rate=0.25, drop_connect_rate=0.2
+ model = _gen_efficientnet_condconv(
+ 'efficientnet_cc_b0_8e', channel_multiplier=1.0, depth_multiplier=1.0, experts_multiplier=2,
+ pretrained=pretrained, **kwargs)
+ return model
+
+
+def efficientnet_cc_b1_8e(pretrained=False, **kwargs):
+ """ EfficientNet-CondConv-B1 w/ 8 Experts """
+ # NOTE for train set drop_rate=0.25, drop_connect_rate=0.2
+ model = _gen_efficientnet_condconv(
+ 'efficientnet_cc_b1_8e', channel_multiplier=1.0, depth_multiplier=1.1, experts_multiplier=2,
+ pretrained=pretrained, **kwargs)
+ return model
+
+
+def efficientnet_lite0(pretrained=False, **kwargs):
+ """ EfficientNet-Lite0 """
+ model = _gen_efficientnet_lite(
+ 'efficientnet_lite0', channel_multiplier=1.0, depth_multiplier=1.0, pretrained=pretrained, **kwargs)
+ return model
+
+
+def efficientnet_lite1(pretrained=False, **kwargs):
+ """ EfficientNet-Lite1 """
+ model = _gen_efficientnet_lite(
+ 'efficientnet_lite1', channel_multiplier=1.0, depth_multiplier=1.1, pretrained=pretrained, **kwargs)
+ return model
+
+
+def efficientnet_lite2(pretrained=False, **kwargs):
+ """ EfficientNet-Lite2 """
+ model = _gen_efficientnet_lite(
+ 'efficientnet_lite2', channel_multiplier=1.1, depth_multiplier=1.2, pretrained=pretrained, **kwargs)
+ return model
+
+
+def efficientnet_lite3(pretrained=False, **kwargs):
+ """ EfficientNet-Lite3 """
+ model = _gen_efficientnet_lite(
+ 'efficientnet_lite3', channel_multiplier=1.2, depth_multiplier=1.4, pretrained=pretrained, **kwargs)
+ return model
+
+
+def efficientnet_lite4(pretrained=False, **kwargs):
+ """ EfficientNet-Lite4 """
+ model = _gen_efficientnet_lite(
+ 'efficientnet_lite4', channel_multiplier=1.4, depth_multiplier=1.8, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_efficientnet_b0(pretrained=False, **kwargs):
+ """ EfficientNet-B0 AutoAug. Tensorflow compatible variant """
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_efficientnet(
+ 'tf_efficientnet_b0', channel_multiplier=1.0, depth_multiplier=1.0, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_efficientnet_b1(pretrained=False, **kwargs):
+ """ EfficientNet-B1 AutoAug. Tensorflow compatible variant """
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_efficientnet(
+ 'tf_efficientnet_b1', channel_multiplier=1.0, depth_multiplier=1.1, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_efficientnet_b2(pretrained=False, **kwargs):
+ """ EfficientNet-B2 AutoAug. Tensorflow compatible variant """
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_efficientnet(
+ 'tf_efficientnet_b2', channel_multiplier=1.1, depth_multiplier=1.2, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_efficientnet_b3(pretrained=False, **kwargs):
+ """ EfficientNet-B3 AutoAug. Tensorflow compatible variant """
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_efficientnet(
+ 'tf_efficientnet_b3', channel_multiplier=1.2, depth_multiplier=1.4, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_efficientnet_b4(pretrained=False, **kwargs):
+ """ EfficientNet-B4 AutoAug. Tensorflow compatible variant """
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_efficientnet(
+ 'tf_efficientnet_b4', channel_multiplier=1.4, depth_multiplier=1.8, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_efficientnet_b5(pretrained=False, **kwargs):
+ """ EfficientNet-B5 RandAug. Tensorflow compatible variant """
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_efficientnet(
+ 'tf_efficientnet_b5', channel_multiplier=1.6, depth_multiplier=2.2, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_efficientnet_b6(pretrained=False, **kwargs):
+ """ EfficientNet-B6 AutoAug. Tensorflow compatible variant """
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_efficientnet(
+ 'tf_efficientnet_b6', channel_multiplier=1.8, depth_multiplier=2.6, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_efficientnet_b7(pretrained=False, **kwargs):
+ """ EfficientNet-B7 RandAug. Tensorflow compatible variant """
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_efficientnet(
+ 'tf_efficientnet_b7', channel_multiplier=2.0, depth_multiplier=3.1, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_efficientnet_b8(pretrained=False, **kwargs):
+ """ EfficientNet-B8 RandAug. Tensorflow compatible variant """
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_efficientnet(
+ 'tf_efficientnet_b8', channel_multiplier=2.2, depth_multiplier=3.6, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_efficientnet_b0_ap(pretrained=False, **kwargs):
+ """ EfficientNet-B0 AdvProp. Tensorflow compatible variant
+ Paper: Adversarial Examples Improve Image Recognition (https://arxiv.org/abs/1911.09665)
+ """
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_efficientnet(
+ 'tf_efficientnet_b0_ap', channel_multiplier=1.0, depth_multiplier=1.0, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_efficientnet_b1_ap(pretrained=False, **kwargs):
+ """ EfficientNet-B1 AdvProp. Tensorflow compatible variant
+ Paper: Adversarial Examples Improve Image Recognition (https://arxiv.org/abs/1911.09665)
+ """
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_efficientnet(
+ 'tf_efficientnet_b1_ap', channel_multiplier=1.0, depth_multiplier=1.1, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_efficientnet_b2_ap(pretrained=False, **kwargs):
+ """ EfficientNet-B2 AdvProp. Tensorflow compatible variant
+ Paper: Adversarial Examples Improve Image Recognition (https://arxiv.org/abs/1911.09665)
+ """
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_efficientnet(
+ 'tf_efficientnet_b2_ap', channel_multiplier=1.1, depth_multiplier=1.2, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_efficientnet_b3_ap(pretrained=False, **kwargs):
+ """ EfficientNet-B3 AdvProp. Tensorflow compatible variant
+ Paper: Adversarial Examples Improve Image Recognition (https://arxiv.org/abs/1911.09665)
+ """
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_efficientnet(
+ 'tf_efficientnet_b3_ap', channel_multiplier=1.2, depth_multiplier=1.4, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_efficientnet_b4_ap(pretrained=False, **kwargs):
+ """ EfficientNet-B4 AdvProp. Tensorflow compatible variant
+ Paper: Adversarial Examples Improve Image Recognition (https://arxiv.org/abs/1911.09665)
+ """
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_efficientnet(
+ 'tf_efficientnet_b4_ap', channel_multiplier=1.4, depth_multiplier=1.8, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_efficientnet_b5_ap(pretrained=False, **kwargs):
+ """ EfficientNet-B5 AdvProp. Tensorflow compatible variant
+ Paper: Adversarial Examples Improve Image Recognition (https://arxiv.org/abs/1911.09665)
+ """
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_efficientnet(
+ 'tf_efficientnet_b5_ap', channel_multiplier=1.6, depth_multiplier=2.2, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_efficientnet_b6_ap(pretrained=False, **kwargs):
+ """ EfficientNet-B6 AdvProp. Tensorflow compatible variant
+ Paper: Adversarial Examples Improve Image Recognition (https://arxiv.org/abs/1911.09665)
+ """
+ # NOTE for train, drop_rate should be 0.5
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_efficientnet(
+ 'tf_efficientnet_b6_ap', channel_multiplier=1.8, depth_multiplier=2.6, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_efficientnet_b7_ap(pretrained=False, **kwargs):
+ """ EfficientNet-B7 AdvProp. Tensorflow compatible variant
+ Paper: Adversarial Examples Improve Image Recognition (https://arxiv.org/abs/1911.09665)
+ """
+ # NOTE for train, drop_rate should be 0.5
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_efficientnet(
+ 'tf_efficientnet_b7_ap', channel_multiplier=2.0, depth_multiplier=3.1, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_efficientnet_b8_ap(pretrained=False, **kwargs):
+ """ EfficientNet-B8 AdvProp. Tensorflow compatible variant
+ Paper: Adversarial Examples Improve Image Recognition (https://arxiv.org/abs/1911.09665)
+ """
+ # NOTE for train, drop_rate should be 0.5
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_efficientnet(
+ 'tf_efficientnet_b8_ap', channel_multiplier=2.2, depth_multiplier=3.6, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_efficientnet_b0_ns(pretrained=False, **kwargs):
+ """ EfficientNet-B0 NoisyStudent. Tensorflow compatible variant
+ Paper: Self-training with Noisy Student improves ImageNet classification (https://arxiv.org/abs/1911.04252)
+ """
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_efficientnet(
+ 'tf_efficientnet_b0_ns', channel_multiplier=1.0, depth_multiplier=1.0, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_efficientnet_b1_ns(pretrained=False, **kwargs):
+ """ EfficientNet-B1 NoisyStudent. Tensorflow compatible variant
+ Paper: Self-training with Noisy Student improves ImageNet classification (https://arxiv.org/abs/1911.04252)
+ """
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_efficientnet(
+ 'tf_efficientnet_b1_ns', channel_multiplier=1.0, depth_multiplier=1.1, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_efficientnet_b2_ns(pretrained=False, **kwargs):
+ """ EfficientNet-B2 NoisyStudent. Tensorflow compatible variant
+ Paper: Self-training with Noisy Student improves ImageNet classification (https://arxiv.org/abs/1911.04252)
+ """
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_efficientnet(
+ 'tf_efficientnet_b2_ns', channel_multiplier=1.1, depth_multiplier=1.2, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_efficientnet_b3_ns(pretrained=False, **kwargs):
+ """ EfficientNet-B3 NoisyStudent. Tensorflow compatible variant
+ Paper: Self-training with Noisy Student improves ImageNet classification (https://arxiv.org/abs/1911.04252)
+ """
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_efficientnet(
+ 'tf_efficientnet_b3_ns', channel_multiplier=1.2, depth_multiplier=1.4, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_efficientnet_b4_ns(pretrained=False, **kwargs):
+ """ EfficientNet-B4 NoisyStudent. Tensorflow compatible variant
+ Paper: Self-training with Noisy Student improves ImageNet classification (https://arxiv.org/abs/1911.04252)
+ """
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_efficientnet(
+ 'tf_efficientnet_b4_ns', channel_multiplier=1.4, depth_multiplier=1.8, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_efficientnet_b5_ns(pretrained=False, **kwargs):
+ """ EfficientNet-B5 NoisyStudent. Tensorflow compatible variant
+ Paper: Self-training with Noisy Student improves ImageNet classification (https://arxiv.org/abs/1911.04252)
+ """
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_efficientnet(
+ 'tf_efficientnet_b5_ns', channel_multiplier=1.6, depth_multiplier=2.2, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_efficientnet_b6_ns(pretrained=False, **kwargs):
+ """ EfficientNet-B6 NoisyStudent. Tensorflow compatible variant
+ Paper: Self-training with Noisy Student improves ImageNet classification (https://arxiv.org/abs/1911.04252)
+ """
+ # NOTE for train, drop_rate should be 0.5
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_efficientnet(
+ 'tf_efficientnet_b6_ns', channel_multiplier=1.8, depth_multiplier=2.6, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_efficientnet_b7_ns(pretrained=False, **kwargs):
+ """ EfficientNet-B7 NoisyStudent. Tensorflow compatible variant
+ Paper: Self-training with Noisy Student improves ImageNet classification (https://arxiv.org/abs/1911.04252)
+ """
+ # NOTE for train, drop_rate should be 0.5
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_efficientnet(
+ 'tf_efficientnet_b7_ns', channel_multiplier=2.0, depth_multiplier=3.1, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_efficientnet_l2_ns_475(pretrained=False, **kwargs):
+ """ EfficientNet-L2 NoisyStudent @ 475x475. Tensorflow compatible variant
+ Paper: Self-training with Noisy Student improves ImageNet classification (https://arxiv.org/abs/1911.04252)
+ """
+ # NOTE for train, drop_rate should be 0.5
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_efficientnet(
+ 'tf_efficientnet_l2_ns_475', channel_multiplier=4.3, depth_multiplier=5.3, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_efficientnet_l2_ns(pretrained=False, **kwargs):
+ """ EfficientNet-L2 NoisyStudent. Tensorflow compatible variant
+ Paper: Self-training with Noisy Student improves ImageNet classification (https://arxiv.org/abs/1911.04252)
+ """
+ # NOTE for train, drop_rate should be 0.5
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_efficientnet(
+ 'tf_efficientnet_l2_ns', channel_multiplier=4.3, depth_multiplier=5.3, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_efficientnet_es(pretrained=False, **kwargs):
+ """ EfficientNet-Edge Small. Tensorflow compatible variant """
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_efficientnet_edge(
+ 'tf_efficientnet_es', channel_multiplier=1.0, depth_multiplier=1.0, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_efficientnet_em(pretrained=False, **kwargs):
+ """ EfficientNet-Edge-Medium. Tensorflow compatible variant """
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_efficientnet_edge(
+ 'tf_efficientnet_em', channel_multiplier=1.0, depth_multiplier=1.1, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_efficientnet_el(pretrained=False, **kwargs):
+ """ EfficientNet-Edge-Large. Tensorflow compatible variant """
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_efficientnet_edge(
+ 'tf_efficientnet_el', channel_multiplier=1.2, depth_multiplier=1.4, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_efficientnet_cc_b0_4e(pretrained=False, **kwargs):
+ """ EfficientNet-CondConv-B0 w/ 4 Experts """
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_efficientnet_condconv(
+ 'tf_efficientnet_cc_b0_4e', channel_multiplier=1.0, depth_multiplier=1.0, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_efficientnet_cc_b0_8e(pretrained=False, **kwargs):
+ """ EfficientNet-CondConv-B0 w/ 8 Experts """
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_efficientnet_condconv(
+ 'tf_efficientnet_cc_b0_8e', channel_multiplier=1.0, depth_multiplier=1.0, experts_multiplier=2,
+ pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_efficientnet_cc_b1_8e(pretrained=False, **kwargs):
+ """ EfficientNet-CondConv-B1 w/ 8 Experts """
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_efficientnet_condconv(
+ 'tf_efficientnet_cc_b1_8e', channel_multiplier=1.0, depth_multiplier=1.1, experts_multiplier=2,
+ pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_efficientnet_lite0(pretrained=False, **kwargs):
+ """ EfficientNet-Lite0. Tensorflow compatible variant """
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_efficientnet_lite(
+ 'tf_efficientnet_lite0', channel_multiplier=1.0, depth_multiplier=1.0, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_efficientnet_lite1(pretrained=False, **kwargs):
+ """ EfficientNet-Lite1. Tensorflow compatible variant """
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_efficientnet_lite(
+ 'tf_efficientnet_lite1', channel_multiplier=1.0, depth_multiplier=1.1, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_efficientnet_lite2(pretrained=False, **kwargs):
+ """ EfficientNet-Lite2. Tensorflow compatible variant """
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_efficientnet_lite(
+ 'tf_efficientnet_lite2', channel_multiplier=1.1, depth_multiplier=1.2, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_efficientnet_lite3(pretrained=False, **kwargs):
+ """ EfficientNet-Lite3. Tensorflow compatible variant """
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_efficientnet_lite(
+ 'tf_efficientnet_lite3', channel_multiplier=1.2, depth_multiplier=1.4, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_efficientnet_lite4(pretrained=False, **kwargs):
+ """ EfficientNet-Lite4. Tensorflow compatible variant """
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_efficientnet_lite(
+ 'tf_efficientnet_lite4', channel_multiplier=1.4, depth_multiplier=1.8, pretrained=pretrained, **kwargs)
+ return model
+
+
+def mixnet_s(pretrained=False, **kwargs):
+ """Creates a MixNet Small model.
+ """
+ # NOTE for train set drop_rate=0.2
+ model = _gen_mixnet_s(
+ 'mixnet_s', channel_multiplier=1.0, pretrained=pretrained, **kwargs)
+ return model
+
+
+def mixnet_m(pretrained=False, **kwargs):
+ """Creates a MixNet Medium model.
+ """
+ # NOTE for train set drop_rate=0.25
+ model = _gen_mixnet_m(
+ 'mixnet_m', channel_multiplier=1.0, pretrained=pretrained, **kwargs)
+ return model
+
+
+def mixnet_l(pretrained=False, **kwargs):
+ """Creates a MixNet Large model.
+ """
+ # NOTE for train set drop_rate=0.25
+ model = _gen_mixnet_m(
+ 'mixnet_l', channel_multiplier=1.3, pretrained=pretrained, **kwargs)
+ return model
+
+
+def mixnet_xl(pretrained=False, **kwargs):
+ """Creates a MixNet Extra-Large model.
+ Not a paper spec, experimental def by RW w/ depth scaling.
+ """
+ # NOTE for train set drop_rate=0.25, drop_connect_rate=0.2
+ model = _gen_mixnet_m(
+ 'mixnet_xl', channel_multiplier=1.6, depth_multiplier=1.2, pretrained=pretrained, **kwargs)
+ return model
+
+
+def mixnet_xxl(pretrained=False, **kwargs):
+ """Creates a MixNet Double Extra Large model.
+ Not a paper spec, experimental def by RW w/ depth scaling.
+ """
+ # NOTE for train set drop_rate=0.3, drop_connect_rate=0.2
+ model = _gen_mixnet_m(
+ 'mixnet_xxl', channel_multiplier=2.4, depth_multiplier=1.3, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_mixnet_s(pretrained=False, **kwargs):
+ """Creates a MixNet Small model. Tensorflow compatible variant
+ """
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_mixnet_s(
+ 'tf_mixnet_s', channel_multiplier=1.0, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_mixnet_m(pretrained=False, **kwargs):
+ """Creates a MixNet Medium model. Tensorflow compatible variant
+ """
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_mixnet_m(
+ 'tf_mixnet_m', channel_multiplier=1.0, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_mixnet_l(pretrained=False, **kwargs):
+ """Creates a MixNet Large model. Tensorflow compatible variant
+ """
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_mixnet_m(
+ 'tf_mixnet_l', channel_multiplier=1.3, pretrained=pretrained, **kwargs)
+ return model
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/geffnet/helpers.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/geffnet/helpers.py
new file mode 100644
index 0000000000000000000000000000000000000000..3f83a07d690c7ad681c777c19b1e7a5bb95da007
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/geffnet/helpers.py
@@ -0,0 +1,71 @@
+""" Checkpoint loading / state_dict helpers
+Copyright 2020 Ross Wightman
+"""
+import torch
+import os
+from collections import OrderedDict
+try:
+ from torch.hub import load_state_dict_from_url
+except ImportError:
+ from torch.utils.model_zoo import load_url as load_state_dict_from_url
+
+
+def load_checkpoint(model, checkpoint_path):
+ if checkpoint_path and os.path.isfile(checkpoint_path):
+ print("=> Loading checkpoint '{}'".format(checkpoint_path))
+ checkpoint = torch.load(checkpoint_path)
+ if isinstance(checkpoint, dict) and 'state_dict' in checkpoint:
+ new_state_dict = OrderedDict()
+ for k, v in checkpoint['state_dict'].items():
+ if k.startswith('module'):
+ name = k[7:] # remove `module.`
+ else:
+ name = k
+ new_state_dict[name] = v
+ model.load_state_dict(new_state_dict)
+ else:
+ model.load_state_dict(checkpoint)
+ print("=> Loaded checkpoint '{}'".format(checkpoint_path))
+ else:
+ print("=> Error: No checkpoint found at '{}'".format(checkpoint_path))
+ raise FileNotFoundError()
+
+
+def load_pretrained(model, url, filter_fn=None, strict=True):
+ if not url:
+ print("=> Warning: Pretrained model URL is empty, using random initialization.")
+ return
+
+ state_dict = load_state_dict_from_url(url, progress=False, map_location='cpu')
+
+ input_conv = 'conv_stem'
+ classifier = 'classifier'
+ in_chans = getattr(model, input_conv).weight.shape[1]
+ num_classes = getattr(model, classifier).weight.shape[0]
+
+ input_conv_weight = input_conv + '.weight'
+ pretrained_in_chans = state_dict[input_conv_weight].shape[1]
+ if in_chans != pretrained_in_chans:
+ if in_chans == 1:
+ print('=> Converting pretrained input conv {} from {} to 1 channel'.format(
+ input_conv_weight, pretrained_in_chans))
+ conv1_weight = state_dict[input_conv_weight]
+ state_dict[input_conv_weight] = conv1_weight.sum(dim=1, keepdim=True)
+ else:
+ print('=> Discarding pretrained input conv {} since input channel count != {}'.format(
+ input_conv_weight, pretrained_in_chans))
+ del state_dict[input_conv_weight]
+ strict = False
+
+ classifier_weight = classifier + '.weight'
+ pretrained_num_classes = state_dict[classifier_weight].shape[0]
+ if num_classes != pretrained_num_classes:
+ print('=> Discarding pretrained classifier since num_classes != {}'.format(pretrained_num_classes))
+ del state_dict[classifier_weight]
+ del state_dict[classifier + '.bias']
+ strict = False
+
+ if filter_fn is not None:
+ state_dict = filter_fn(state_dict)
+
+ model.load_state_dict(state_dict, strict=strict)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/geffnet/mobilenetv3.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/geffnet/mobilenetv3.py
new file mode 100644
index 0000000000000000000000000000000000000000..b5966c28f7207e98ee50745b1bc8f3663c650f9d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/geffnet/mobilenetv3.py
@@ -0,0 +1,364 @@
+""" MobileNet-V3
+
+A PyTorch impl of MobileNet-V3, compatible with TF weights from official impl.
+
+Paper: Searching for MobileNetV3 - https://arxiv.org/abs/1905.02244
+
+Hacked together by / Copyright 2020 Ross Wightman
+"""
+import torch.nn as nn
+import torch.nn.functional as F
+
+from .activations import get_act_fn, get_act_layer, HardSwish
+from .config import layer_config_kwargs
+from .conv2d_layers import select_conv2d
+from .helpers import load_pretrained
+from .efficientnet_builder import *
+
+__all__ = ['mobilenetv3_rw', 'mobilenetv3_large_075', 'mobilenetv3_large_100', 'mobilenetv3_large_minimal_100',
+ 'mobilenetv3_small_075', 'mobilenetv3_small_100', 'mobilenetv3_small_minimal_100',
+ 'tf_mobilenetv3_large_075', 'tf_mobilenetv3_large_100', 'tf_mobilenetv3_large_minimal_100',
+ 'tf_mobilenetv3_small_075', 'tf_mobilenetv3_small_100', 'tf_mobilenetv3_small_minimal_100']
+
+model_urls = {
+ 'mobilenetv3_rw':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/mobilenetv3_100-35495452.pth',
+ 'mobilenetv3_large_075': None,
+ 'mobilenetv3_large_100':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/mobilenetv3_large_100_ra-f55367f5.pth',
+ 'mobilenetv3_large_minimal_100': None,
+ 'mobilenetv3_small_075': None,
+ 'mobilenetv3_small_100': None,
+ 'mobilenetv3_small_minimal_100': None,
+ 'tf_mobilenetv3_large_075':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_mobilenetv3_large_075-150ee8b0.pth',
+ 'tf_mobilenetv3_large_100':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_mobilenetv3_large_100-427764d5.pth',
+ 'tf_mobilenetv3_large_minimal_100':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_mobilenetv3_large_minimal_100-8596ae28.pth',
+ 'tf_mobilenetv3_small_075':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_mobilenetv3_small_075-da427f52.pth',
+ 'tf_mobilenetv3_small_100':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_mobilenetv3_small_100-37f49e2b.pth',
+ 'tf_mobilenetv3_small_minimal_100':
+ 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_mobilenetv3_small_minimal_100-922a7843.pth',
+}
+
+
+class MobileNetV3(nn.Module):
+ """ MobileNet-V3
+
+ A this model utilizes the MobileNet-v3 specific 'efficient head', where global pooling is done before the
+ head convolution without a final batch-norm layer before the classifier.
+
+ Paper: https://arxiv.org/abs/1905.02244
+ """
+
+ def __init__(self, block_args, num_classes=1000, in_chans=3, stem_size=16, num_features=1280, head_bias=True,
+ channel_multiplier=1.0, pad_type='', act_layer=HardSwish, drop_rate=0., drop_connect_rate=0.,
+ se_kwargs=None, norm_layer=nn.BatchNorm2d, norm_kwargs=None, weight_init='goog'):
+ super(MobileNetV3, self).__init__()
+ self.drop_rate = drop_rate
+
+ stem_size = round_channels(stem_size, channel_multiplier)
+ self.conv_stem = select_conv2d(in_chans, stem_size, 3, stride=2, padding=pad_type)
+ self.bn1 = nn.BatchNorm2d(stem_size, **norm_kwargs)
+ self.act1 = act_layer(inplace=True)
+ in_chs = stem_size
+
+ builder = EfficientNetBuilder(
+ channel_multiplier, pad_type=pad_type, act_layer=act_layer, se_kwargs=se_kwargs,
+ norm_layer=norm_layer, norm_kwargs=norm_kwargs, drop_connect_rate=drop_connect_rate)
+ self.blocks = nn.Sequential(*builder(in_chs, block_args))
+ in_chs = builder.in_chs
+
+ self.global_pool = nn.AdaptiveAvgPool2d(1)
+ self.conv_head = select_conv2d(in_chs, num_features, 1, padding=pad_type, bias=head_bias)
+ self.act2 = act_layer(inplace=True)
+ self.classifier = nn.Linear(num_features, num_classes)
+
+ for m in self.modules():
+ if weight_init == 'goog':
+ initialize_weight_goog(m)
+ else:
+ initialize_weight_default(m)
+
+ def as_sequential(self):
+ layers = [self.conv_stem, self.bn1, self.act1]
+ layers.extend(self.blocks)
+ layers.extend([
+ self.global_pool, self.conv_head, self.act2,
+ nn.Flatten(), nn.Dropout(self.drop_rate), self.classifier])
+ return nn.Sequential(*layers)
+
+ def features(self, x):
+ x = self.conv_stem(x)
+ x = self.bn1(x)
+ x = self.act1(x)
+ x = self.blocks(x)
+ x = self.global_pool(x)
+ x = self.conv_head(x)
+ x = self.act2(x)
+ return x
+
+ def forward(self, x):
+ x = self.features(x)
+ x = x.flatten(1)
+ if self.drop_rate > 0.:
+ x = F.dropout(x, p=self.drop_rate, training=self.training)
+ return self.classifier(x)
+
+
+def _create_model(model_kwargs, variant, pretrained=False):
+ as_sequential = model_kwargs.pop('as_sequential', False)
+ model = MobileNetV3(**model_kwargs)
+ if pretrained and model_urls[variant]:
+ load_pretrained(model, model_urls[variant])
+ if as_sequential:
+ model = model.as_sequential()
+ return model
+
+
+def _gen_mobilenet_v3_rw(variant, channel_multiplier=1.0, pretrained=False, **kwargs):
+ """Creates a MobileNet-V3 model (RW variant).
+
+ Paper: https://arxiv.org/abs/1905.02244
+
+ This was my first attempt at reproducing the MobileNet-V3 from paper alone. It came close to the
+ eventual Tensorflow reference impl but has a few differences:
+ 1. This model has no bias on the head convolution
+ 2. This model forces no residual (noskip) on the first DWS block, this is different than MnasNet
+ 3. This model always uses ReLU for the SE activation layer, other models in the family inherit their act layer
+ from their parent block
+ 4. This model does not enforce divisible by 8 limitation on the SE reduction channel count
+
+ Overall the changes are fairly minor and result in a very small parameter count difference and no
+ top-1/5
+
+ Args:
+ channel_multiplier: multiplier to number of channels per layer.
+ """
+ arch_def = [
+ # stage 0, 112x112 in
+ ['ds_r1_k3_s1_e1_c16_nre_noskip'], # relu
+ # stage 1, 112x112 in
+ ['ir_r1_k3_s2_e4_c24_nre', 'ir_r1_k3_s1_e3_c24_nre'], # relu
+ # stage 2, 56x56 in
+ ['ir_r3_k5_s2_e3_c40_se0.25_nre'], # relu
+ # stage 3, 28x28 in
+ ['ir_r1_k3_s2_e6_c80', 'ir_r1_k3_s1_e2.5_c80', 'ir_r2_k3_s1_e2.3_c80'], # hard-swish
+ # stage 4, 14x14in
+ ['ir_r2_k3_s1_e6_c112_se0.25'], # hard-swish
+ # stage 5, 14x14in
+ ['ir_r3_k5_s2_e6_c160_se0.25'], # hard-swish
+ # stage 6, 7x7 in
+ ['cn_r1_k1_s1_c960'], # hard-swish
+ ]
+ with layer_config_kwargs(kwargs):
+ model_kwargs = dict(
+ block_args=decode_arch_def(arch_def),
+ head_bias=False, # one of my mistakes
+ channel_multiplier=channel_multiplier,
+ act_layer=resolve_act_layer(kwargs, 'hard_swish'),
+ se_kwargs=dict(gate_fn=get_act_fn('hard_sigmoid'), reduce_mid=True),
+ norm_kwargs=resolve_bn_args(kwargs),
+ **kwargs,
+ )
+ model = _create_model(model_kwargs, variant, pretrained)
+ return model
+
+
+def _gen_mobilenet_v3(variant, channel_multiplier=1.0, pretrained=False, **kwargs):
+ """Creates a MobileNet-V3 large/small/minimal models.
+
+ Ref impl: https://github.com/tensorflow/models/blob/master/research/slim/nets/mobilenet/mobilenet_v3.py
+ Paper: https://arxiv.org/abs/1905.02244
+
+ Args:
+ channel_multiplier: multiplier to number of channels per layer.
+ """
+ if 'small' in variant:
+ num_features = 1024
+ if 'minimal' in variant:
+ act_layer = 'relu'
+ arch_def = [
+ # stage 0, 112x112 in
+ ['ds_r1_k3_s2_e1_c16'],
+ # stage 1, 56x56 in
+ ['ir_r1_k3_s2_e4.5_c24', 'ir_r1_k3_s1_e3.67_c24'],
+ # stage 2, 28x28 in
+ ['ir_r1_k3_s2_e4_c40', 'ir_r2_k3_s1_e6_c40'],
+ # stage 3, 14x14 in
+ ['ir_r2_k3_s1_e3_c48'],
+ # stage 4, 14x14in
+ ['ir_r3_k3_s2_e6_c96'],
+ # stage 6, 7x7 in
+ ['cn_r1_k1_s1_c576'],
+ ]
+ else:
+ act_layer = 'hard_swish'
+ arch_def = [
+ # stage 0, 112x112 in
+ ['ds_r1_k3_s2_e1_c16_se0.25_nre'], # relu
+ # stage 1, 56x56 in
+ ['ir_r1_k3_s2_e4.5_c24_nre', 'ir_r1_k3_s1_e3.67_c24_nre'], # relu
+ # stage 2, 28x28 in
+ ['ir_r1_k5_s2_e4_c40_se0.25', 'ir_r2_k5_s1_e6_c40_se0.25'], # hard-swish
+ # stage 3, 14x14 in
+ ['ir_r2_k5_s1_e3_c48_se0.25'], # hard-swish
+ # stage 4, 14x14in
+ ['ir_r3_k5_s2_e6_c96_se0.25'], # hard-swish
+ # stage 6, 7x7 in
+ ['cn_r1_k1_s1_c576'], # hard-swish
+ ]
+ else:
+ num_features = 1280
+ if 'minimal' in variant:
+ act_layer = 'relu'
+ arch_def = [
+ # stage 0, 112x112 in
+ ['ds_r1_k3_s1_e1_c16'],
+ # stage 1, 112x112 in
+ ['ir_r1_k3_s2_e4_c24', 'ir_r1_k3_s1_e3_c24'],
+ # stage 2, 56x56 in
+ ['ir_r3_k3_s2_e3_c40'],
+ # stage 3, 28x28 in
+ ['ir_r1_k3_s2_e6_c80', 'ir_r1_k3_s1_e2.5_c80', 'ir_r2_k3_s1_e2.3_c80'],
+ # stage 4, 14x14in
+ ['ir_r2_k3_s1_e6_c112'],
+ # stage 5, 14x14in
+ ['ir_r3_k3_s2_e6_c160'],
+ # stage 6, 7x7 in
+ ['cn_r1_k1_s1_c960'],
+ ]
+ else:
+ act_layer = 'hard_swish'
+ arch_def = [
+ # stage 0, 112x112 in
+ ['ds_r1_k3_s1_e1_c16_nre'], # relu
+ # stage 1, 112x112 in
+ ['ir_r1_k3_s2_e4_c24_nre', 'ir_r1_k3_s1_e3_c24_nre'], # relu
+ # stage 2, 56x56 in
+ ['ir_r3_k5_s2_e3_c40_se0.25_nre'], # relu
+ # stage 3, 28x28 in
+ ['ir_r1_k3_s2_e6_c80', 'ir_r1_k3_s1_e2.5_c80', 'ir_r2_k3_s1_e2.3_c80'], # hard-swish
+ # stage 4, 14x14in
+ ['ir_r2_k3_s1_e6_c112_se0.25'], # hard-swish
+ # stage 5, 14x14in
+ ['ir_r3_k5_s2_e6_c160_se0.25'], # hard-swish
+ # stage 6, 7x7 in
+ ['cn_r1_k1_s1_c960'], # hard-swish
+ ]
+ with layer_config_kwargs(kwargs):
+ model_kwargs = dict(
+ block_args=decode_arch_def(arch_def),
+ num_features=num_features,
+ stem_size=16,
+ channel_multiplier=channel_multiplier,
+ act_layer=resolve_act_layer(kwargs, act_layer),
+ se_kwargs=dict(
+ act_layer=get_act_layer('relu'), gate_fn=get_act_fn('hard_sigmoid'), reduce_mid=True, divisor=8),
+ norm_kwargs=resolve_bn_args(kwargs),
+ **kwargs,
+ )
+ model = _create_model(model_kwargs, variant, pretrained)
+ return model
+
+
+def mobilenetv3_rw(pretrained=False, **kwargs):
+ """ MobileNet-V3 RW
+ Attn: See note in gen function for this variant.
+ """
+ # NOTE for train set drop_rate=0.2
+ if pretrained:
+ # pretrained model trained with non-default BN epsilon
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ model = _gen_mobilenet_v3_rw('mobilenetv3_rw', 1.0, pretrained=pretrained, **kwargs)
+ return model
+
+
+def mobilenetv3_large_075(pretrained=False, **kwargs):
+ """ MobileNet V3 Large 0.75"""
+ # NOTE for train set drop_rate=0.2
+ model = _gen_mobilenet_v3('mobilenetv3_large_075', 0.75, pretrained=pretrained, **kwargs)
+ return model
+
+
+def mobilenetv3_large_100(pretrained=False, **kwargs):
+ """ MobileNet V3 Large 1.0 """
+ # NOTE for train set drop_rate=0.2
+ model = _gen_mobilenet_v3('mobilenetv3_large_100', 1.0, pretrained=pretrained, **kwargs)
+ return model
+
+
+def mobilenetv3_large_minimal_100(pretrained=False, **kwargs):
+ """ MobileNet V3 Large (Minimalistic) 1.0 """
+ # NOTE for train set drop_rate=0.2
+ model = _gen_mobilenet_v3('mobilenetv3_large_minimal_100', 1.0, pretrained=pretrained, **kwargs)
+ return model
+
+
+def mobilenetv3_small_075(pretrained=False, **kwargs):
+ """ MobileNet V3 Small 0.75 """
+ model = _gen_mobilenet_v3('mobilenetv3_small_075', 0.75, pretrained=pretrained, **kwargs)
+ return model
+
+
+def mobilenetv3_small_100(pretrained=False, **kwargs):
+ """ MobileNet V3 Small 1.0 """
+ model = _gen_mobilenet_v3('mobilenetv3_small_100', 1.0, pretrained=pretrained, **kwargs)
+ return model
+
+
+def mobilenetv3_small_minimal_100(pretrained=False, **kwargs):
+ """ MobileNet V3 Small (Minimalistic) 1.0 """
+ model = _gen_mobilenet_v3('mobilenetv3_small_minimal_100', 1.0, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_mobilenetv3_large_075(pretrained=False, **kwargs):
+ """ MobileNet V3 Large 0.75. Tensorflow compat variant. """
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_mobilenet_v3('tf_mobilenetv3_large_075', 0.75, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_mobilenetv3_large_100(pretrained=False, **kwargs):
+ """ MobileNet V3 Large 1.0. Tensorflow compat variant. """
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_mobilenet_v3('tf_mobilenetv3_large_100', 1.0, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_mobilenetv3_large_minimal_100(pretrained=False, **kwargs):
+ """ MobileNet V3 Large Minimalistic 1.0. Tensorflow compat variant. """
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_mobilenet_v3('tf_mobilenetv3_large_minimal_100', 1.0, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_mobilenetv3_small_075(pretrained=False, **kwargs):
+ """ MobileNet V3 Small 0.75. Tensorflow compat variant. """
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_mobilenet_v3('tf_mobilenetv3_small_075', 0.75, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_mobilenetv3_small_100(pretrained=False, **kwargs):
+ """ MobileNet V3 Small 1.0. Tensorflow compat variant."""
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_mobilenet_v3('tf_mobilenetv3_small_100', 1.0, pretrained=pretrained, **kwargs)
+ return model
+
+
+def tf_mobilenetv3_small_minimal_100(pretrained=False, **kwargs):
+ """ MobileNet V3 Small Minimalistic 1.0. Tensorflow compat variant. """
+ kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
+ kwargs['pad_type'] = 'same'
+ model = _gen_mobilenet_v3('tf_mobilenetv3_small_minimal_100', 1.0, pretrained=pretrained, **kwargs)
+ return model
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/geffnet/model_factory.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/geffnet/model_factory.py
new file mode 100644
index 0000000000000000000000000000000000000000..4d46ea8baedaf3d787826eb3bb314b4230514647
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/geffnet/model_factory.py
@@ -0,0 +1,27 @@
+from .config import set_layer_config
+from .helpers import load_checkpoint
+
+from .gen_efficientnet import *
+from .mobilenetv3 import *
+
+
+def create_model(
+ model_name='mnasnet_100',
+ pretrained=None,
+ num_classes=1000,
+ in_chans=3,
+ checkpoint_path='',
+ **kwargs):
+
+ model_kwargs = dict(num_classes=num_classes, in_chans=in_chans, pretrained=pretrained, **kwargs)
+
+ if model_name in globals():
+ create_fn = globals()[model_name]
+ model = create_fn(**model_kwargs)
+ else:
+ raise RuntimeError('Unknown model (%s)' % model_name)
+
+ if checkpoint_path and not pretrained:
+ load_checkpoint(model, checkpoint_path)
+
+ return model
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/geffnet/version.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/geffnet/version.py
new file mode 100644
index 0000000000000000000000000000000000000000..a6221b3de7b1490c5e712e8b5fcc94c3d9d04295
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/geffnet/version.py
@@ -0,0 +1 @@
+__version__ = '1.0.2'
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/hubconf.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/hubconf.py
new file mode 100644
index 0000000000000000000000000000000000000000..45b17b99bbeba34596569e6e50f6e8a2ebc45c54
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/hubconf.py
@@ -0,0 +1,84 @@
+dependencies = ['torch', 'math']
+
+from geffnet import efficientnet_b0
+from geffnet import efficientnet_b1
+from geffnet import efficientnet_b2
+from geffnet import efficientnet_b3
+
+from geffnet import efficientnet_es
+
+from geffnet import efficientnet_lite0
+
+from geffnet import mixnet_s
+from geffnet import mixnet_m
+from geffnet import mixnet_l
+from geffnet import mixnet_xl
+
+from geffnet import mobilenetv2_100
+from geffnet import mobilenetv2_110d
+from geffnet import mobilenetv2_120d
+from geffnet import mobilenetv2_140
+
+from geffnet import mobilenetv3_large_100
+from geffnet import mobilenetv3_rw
+from geffnet import mnasnet_a1
+from geffnet import mnasnet_b1
+from geffnet import fbnetc_100
+from geffnet import spnasnet_100
+
+from geffnet import tf_efficientnet_b0
+from geffnet import tf_efficientnet_b1
+from geffnet import tf_efficientnet_b2
+from geffnet import tf_efficientnet_b3
+from geffnet import tf_efficientnet_b4
+from geffnet import tf_efficientnet_b5
+from geffnet import tf_efficientnet_b6
+from geffnet import tf_efficientnet_b7
+from geffnet import tf_efficientnet_b8
+
+from geffnet import tf_efficientnet_b0_ap
+from geffnet import tf_efficientnet_b1_ap
+from geffnet import tf_efficientnet_b2_ap
+from geffnet import tf_efficientnet_b3_ap
+from geffnet import tf_efficientnet_b4_ap
+from geffnet import tf_efficientnet_b5_ap
+from geffnet import tf_efficientnet_b6_ap
+from geffnet import tf_efficientnet_b7_ap
+from geffnet import tf_efficientnet_b8_ap
+
+from geffnet import tf_efficientnet_b0_ns
+from geffnet import tf_efficientnet_b1_ns
+from geffnet import tf_efficientnet_b2_ns
+from geffnet import tf_efficientnet_b3_ns
+from geffnet import tf_efficientnet_b4_ns
+from geffnet import tf_efficientnet_b5_ns
+from geffnet import tf_efficientnet_b6_ns
+from geffnet import tf_efficientnet_b7_ns
+from geffnet import tf_efficientnet_l2_ns_475
+from geffnet import tf_efficientnet_l2_ns
+
+from geffnet import tf_efficientnet_es
+from geffnet import tf_efficientnet_em
+from geffnet import tf_efficientnet_el
+
+from geffnet import tf_efficientnet_cc_b0_4e
+from geffnet import tf_efficientnet_cc_b0_8e
+from geffnet import tf_efficientnet_cc_b1_8e
+
+from geffnet import tf_efficientnet_lite0
+from geffnet import tf_efficientnet_lite1
+from geffnet import tf_efficientnet_lite2
+from geffnet import tf_efficientnet_lite3
+from geffnet import tf_efficientnet_lite4
+
+from geffnet import tf_mixnet_s
+from geffnet import tf_mixnet_m
+from geffnet import tf_mixnet_l
+
+from geffnet import tf_mobilenetv3_large_075
+from geffnet import tf_mobilenetv3_large_100
+from geffnet import tf_mobilenetv3_large_minimal_100
+from geffnet import tf_mobilenetv3_small_075
+from geffnet import tf_mobilenetv3_small_100
+from geffnet import tf_mobilenetv3_small_minimal_100
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/onnx_export.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/onnx_export.py
new file mode 100644
index 0000000000000000000000000000000000000000..7a5162ce214830df501bdb81edb66c095122f69d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/onnx_export.py
@@ -0,0 +1,120 @@
+""" ONNX export script
+
+Export PyTorch models as ONNX graphs.
+
+This export script originally started as an adaptation of code snippets found at
+https://pytorch.org/tutorials/advanced/super_resolution_with_onnxruntime.html
+
+The default parameters work with PyTorch 1.6 and ONNX 1.7 and produce an optimal ONNX graph
+for hosting in the ONNX runtime (see onnx_validate.py). To export an ONNX model compatible
+with caffe2 (see caffe2_benchmark.py and caffe2_validate.py), the --keep-init and --aten-fallback
+flags are currently required.
+
+Older versions of PyTorch/ONNX (tested PyTorch 1.4, ONNX 1.5) do not need extra flags for
+caffe2 compatibility, but they produce a model that isn't as fast running on ONNX runtime.
+
+Most new release of PyTorch and ONNX cause some sort of breakage in the export / usage of ONNX models.
+Please do your research and search ONNX and PyTorch issue tracker before asking me. Thanks.
+
+Copyright 2020 Ross Wightman
+"""
+import argparse
+import torch
+import numpy as np
+
+import onnx
+import geffnet
+
+parser = argparse.ArgumentParser(description='PyTorch ImageNet Validation')
+parser.add_argument('output', metavar='ONNX_FILE',
+ help='output model filename')
+parser.add_argument('--model', '-m', metavar='MODEL', default='mobilenetv3_large_100',
+ help='model architecture (default: mobilenetv3_large_100)')
+parser.add_argument('--opset', type=int, default=10,
+ help='ONNX opset to use (default: 10)')
+parser.add_argument('--keep-init', action='store_true', default=False,
+ help='Keep initializers as input. Needed for Caffe2 compatible export in newer PyTorch/ONNX.')
+parser.add_argument('--aten-fallback', action='store_true', default=False,
+ help='Fallback to ATEN ops. Helps fix AdaptiveAvgPool issue with Caffe2 in newer PyTorch/ONNX.')
+parser.add_argument('--dynamic-size', action='store_true', default=False,
+ help='Export model width dynamic width/height. Not recommended for "tf" models with SAME padding.')
+parser.add_argument('-b', '--batch-size', default=1, type=int,
+ metavar='N', help='mini-batch size (default: 1)')
+parser.add_argument('--img-size', default=None, type=int,
+ metavar='N', help='Input image dimension, uses model default if empty')
+parser.add_argument('--mean', type=float, nargs='+', default=None, metavar='MEAN',
+ help='Override mean pixel value of dataset')
+parser.add_argument('--std', type=float, nargs='+', default=None, metavar='STD',
+ help='Override std deviation of of dataset')
+parser.add_argument('--num-classes', type=int, default=1000,
+ help='Number classes in dataset')
+parser.add_argument('--checkpoint', default='', type=str, metavar='PATH',
+ help='path to checkpoint (default: none)')
+
+
+def main():
+ args = parser.parse_args()
+
+ args.pretrained = True
+ if args.checkpoint:
+ args.pretrained = False
+
+ print("==> Creating PyTorch {} model".format(args.model))
+ # NOTE exportable=True flag disables autofn/jit scripted activations and uses Conv2dSameExport layers
+ # for models using SAME padding
+ model = geffnet.create_model(
+ args.model,
+ num_classes=args.num_classes,
+ in_chans=3,
+ pretrained=args.pretrained,
+ checkpoint_path=args.checkpoint,
+ exportable=True)
+
+ model.eval()
+
+ example_input = torch.randn((args.batch_size, 3, args.img_size or 224, args.img_size or 224), requires_grad=True)
+
+ # Run model once before export trace, sets padding for models with Conv2dSameExport. This means
+ # that the padding for models with Conv2dSameExport (most models with tf_ prefix) is fixed for
+ # the input img_size specified in this script.
+ # Opset >= 11 should allow for dynamic padding, however I cannot get it to work due to
+ # issues in the tracing of the dynamic padding or errors attempting to export the model after jit
+ # scripting it (an approach that should work). Perhaps in a future PyTorch or ONNX versions...
+ model(example_input)
+
+ print("==> Exporting model to ONNX format at '{}'".format(args.output))
+ input_names = ["input0"]
+ output_names = ["output0"]
+ dynamic_axes = {'input0': {0: 'batch'}, 'output0': {0: 'batch'}}
+ if args.dynamic_size:
+ dynamic_axes['input0'][2] = 'height'
+ dynamic_axes['input0'][3] = 'width'
+ if args.aten_fallback:
+ export_type = torch.onnx.OperatorExportTypes.ONNX_ATEN_FALLBACK
+ else:
+ export_type = torch.onnx.OperatorExportTypes.ONNX
+
+ torch_out = torch.onnx._export(
+ model, example_input, args.output, export_params=True, verbose=True, input_names=input_names,
+ output_names=output_names, keep_initializers_as_inputs=args.keep_init, dynamic_axes=dynamic_axes,
+ opset_version=args.opset, operator_export_type=export_type)
+
+ print("==> Loading and checking exported model from '{}'".format(args.output))
+ onnx_model = onnx.load(args.output)
+ onnx.checker.check_model(onnx_model) # assuming throw on error
+ print("==> Passed")
+
+ if args.keep_init and args.aten_fallback:
+ import caffe2.python.onnx.backend as onnx_caffe2
+ # Caffe2 loading only works properly in newer PyTorch/ONNX combos when
+ # keep_initializers_as_inputs and aten_fallback are set to True.
+ print("==> Loading model into Caffe2 backend and comparing forward pass.".format(args.output))
+ caffe2_backend = onnx_caffe2.prepare(onnx_model)
+ B = {onnx_model.graph.input[0].name: x.data.numpy()}
+ c2_out = caffe2_backend.run(B)[0]
+ np.testing.assert_almost_equal(torch_out.data.numpy(), c2_out, decimal=5)
+ print("==> Passed")
+
+
+if __name__ == '__main__':
+ main()
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/onnx_optimize.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/onnx_optimize.py
new file mode 100644
index 0000000000000000000000000000000000000000..ee20bbf9f0f9473370489512eb96ca0b570b5388
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/onnx_optimize.py
@@ -0,0 +1,84 @@
+""" ONNX optimization script
+
+Run ONNX models through the optimizer to prune unneeded nodes, fuse batchnorm layers into conv, etc.
+
+NOTE: This isn't working consistently in recent PyTorch/ONNX combos (ie PyTorch 1.6 and ONNX 1.7),
+it seems time to switch to using the onnxruntime online optimizer (can also be saved for offline).
+
+Copyright 2020 Ross Wightman
+"""
+import argparse
+import warnings
+
+import onnx
+from onnx import optimizer
+
+
+parser = argparse.ArgumentParser(description="Optimize ONNX model")
+
+parser.add_argument("model", help="The ONNX model")
+parser.add_argument("--output", required=True, help="The optimized model output filename")
+
+
+def traverse_graph(graph, prefix=''):
+ content = []
+ indent = prefix + ' '
+ graphs = []
+ num_nodes = 0
+ for node in graph.node:
+ pn, gs = onnx.helper.printable_node(node, indent, subgraphs=True)
+ assert isinstance(gs, list)
+ content.append(pn)
+ graphs.extend(gs)
+ num_nodes += 1
+ for g in graphs:
+ g_count, g_str = traverse_graph(g)
+ content.append('\n' + g_str)
+ num_nodes += g_count
+ return num_nodes, '\n'.join(content)
+
+
+def main():
+ args = parser.parse_args()
+ onnx_model = onnx.load(args.model)
+ num_original_nodes, original_graph_str = traverse_graph(onnx_model.graph)
+
+ # Optimizer passes to perform
+ passes = [
+ #'eliminate_deadend',
+ 'eliminate_identity',
+ 'eliminate_nop_dropout',
+ 'eliminate_nop_pad',
+ 'eliminate_nop_transpose',
+ 'eliminate_unused_initializer',
+ 'extract_constant_to_initializer',
+ 'fuse_add_bias_into_conv',
+ 'fuse_bn_into_conv',
+ 'fuse_consecutive_concats',
+ 'fuse_consecutive_reduce_unsqueeze',
+ 'fuse_consecutive_squeezes',
+ 'fuse_consecutive_transposes',
+ #'fuse_matmul_add_bias_into_gemm',
+ 'fuse_pad_into_conv',
+ #'fuse_transpose_into_gemm',
+ #'lift_lexical_references',
+ ]
+
+ # Apply the optimization on the original serialized model
+ # WARNING I've had issues with optimizer in recent versions of PyTorch / ONNX causing
+ # 'duplicate definition of name' errors, see: https://github.com/onnx/onnx/issues/2401
+ # It may be better to rely on onnxruntime optimizations, see onnx_validate.py script.
+ warnings.warn("I've had issues with optimizer in recent versions of PyTorch / ONNX."
+ "Try onnxruntime optimization if this doesn't work.")
+ optimized_model = optimizer.optimize(onnx_model, passes)
+
+ num_optimized_nodes, optimzied_graph_str = traverse_graph(optimized_model.graph)
+ print('==> The model after optimization:\n{}\n'.format(optimzied_graph_str))
+ print('==> The optimized model has {} nodes, the original had {}.'.format(num_optimized_nodes, num_original_nodes))
+
+ # Save the ONNX model
+ onnx.save(optimized_model, args.output)
+
+
+if __name__ == "__main__":
+ main()
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/onnx_to_caffe.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/onnx_to_caffe.py
new file mode 100644
index 0000000000000000000000000000000000000000..44399aafababcdf6b84147a0613eb0909730db4b
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/onnx_to_caffe.py
@@ -0,0 +1,27 @@
+import argparse
+
+import onnx
+from caffe2.python.onnx.backend import Caffe2Backend
+
+
+parser = argparse.ArgumentParser(description="Convert ONNX to Caffe2")
+
+parser.add_argument("model", help="The ONNX model")
+parser.add_argument("--c2-prefix", required=True,
+ help="The output file prefix for the caffe2 model init and predict file. ")
+
+
+def main():
+ args = parser.parse_args()
+ onnx_model = onnx.load(args.model)
+ caffe2_init, caffe2_predict = Caffe2Backend.onnx_graph_to_caffe2_net(onnx_model)
+ caffe2_init_str = caffe2_init.SerializeToString()
+ with open(args.c2_prefix + '.init.pb', "wb") as f:
+ f.write(caffe2_init_str)
+ caffe2_predict_str = caffe2_predict.SerializeToString()
+ with open(args.c2_prefix + '.predict.pb', "wb") as f:
+ f.write(caffe2_predict_str)
+
+
+if __name__ == "__main__":
+ main()
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/onnx_validate.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/onnx_validate.py
new file mode 100644
index 0000000000000000000000000000000000000000..ab3e4fb141b6ef660dcc5b447fd9f368a2ea19a0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/onnx_validate.py
@@ -0,0 +1,112 @@
+""" ONNX-runtime validation script
+
+This script was created to verify accuracy and performance of exported ONNX
+models running with the onnxruntime. It utilizes the PyTorch dataloader/processing
+pipeline for a fair comparison against the originals.
+
+Copyright 2020 Ross Wightman
+"""
+import argparse
+import numpy as np
+import onnxruntime
+from data import create_loader, resolve_data_config, Dataset
+from utils import AverageMeter
+import time
+
+parser = argparse.ArgumentParser(description='Caffe2 ImageNet Validation')
+parser.add_argument('data', metavar='DIR',
+ help='path to dataset')
+parser.add_argument('--onnx-input', default='', type=str, metavar='PATH',
+ help='path to onnx model/weights file')
+parser.add_argument('--onnx-output-opt', default='', type=str, metavar='PATH',
+ help='path to output optimized onnx graph')
+parser.add_argument('--profile', action='store_true', default=False,
+ help='Enable profiler output.')
+parser.add_argument('-j', '--workers', default=2, type=int, metavar='N',
+ help='number of data loading workers (default: 2)')
+parser.add_argument('-b', '--batch-size', default=256, type=int,
+ metavar='N', help='mini-batch size (default: 256)')
+parser.add_argument('--img-size', default=None, type=int,
+ metavar='N', help='Input image dimension, uses model default if empty')
+parser.add_argument('--mean', type=float, nargs='+', default=None, metavar='MEAN',
+ help='Override mean pixel value of dataset')
+parser.add_argument('--std', type=float, nargs='+', default=None, metavar='STD',
+ help='Override std deviation of of dataset')
+parser.add_argument('--crop-pct', type=float, default=None, metavar='PCT',
+ help='Override default crop pct of 0.875')
+parser.add_argument('--interpolation', default='', type=str, metavar='NAME',
+ help='Image resize interpolation type (overrides model)')
+parser.add_argument('--tf-preprocessing', dest='tf_preprocessing', action='store_true',
+ help='use tensorflow mnasnet preporcessing')
+parser.add_argument('--print-freq', '-p', default=10, type=int,
+ metavar='N', help='print frequency (default: 10)')
+
+
+def main():
+ args = parser.parse_args()
+ args.gpu_id = 0
+
+ # Set graph optimization level
+ sess_options = onnxruntime.SessionOptions()
+ sess_options.graph_optimization_level = onnxruntime.GraphOptimizationLevel.ORT_ENABLE_ALL
+ if args.profile:
+ sess_options.enable_profiling = True
+ if args.onnx_output_opt:
+ sess_options.optimized_model_filepath = args.onnx_output_opt
+
+ session = onnxruntime.InferenceSession(args.onnx_input, sess_options)
+
+ data_config = resolve_data_config(None, args)
+ loader = create_loader(
+ Dataset(args.data, load_bytes=args.tf_preprocessing),
+ input_size=data_config['input_size'],
+ batch_size=args.batch_size,
+ use_prefetcher=False,
+ interpolation=data_config['interpolation'],
+ mean=data_config['mean'],
+ std=data_config['std'],
+ num_workers=args.workers,
+ crop_pct=data_config['crop_pct'],
+ tensorflow_preprocessing=args.tf_preprocessing)
+
+ input_name = session.get_inputs()[0].name
+
+ batch_time = AverageMeter()
+ top1 = AverageMeter()
+ top5 = AverageMeter()
+ end = time.time()
+ for i, (input, target) in enumerate(loader):
+ # run the net and return prediction
+ output = session.run([], {input_name: input.data.numpy()})
+ output = output[0]
+
+ # measure accuracy and record loss
+ prec1, prec5 = accuracy_np(output, target.numpy())
+ top1.update(prec1.item(), input.size(0))
+ top5.update(prec5.item(), input.size(0))
+
+ # measure elapsed time
+ batch_time.update(time.time() - end)
+ end = time.time()
+
+ if i % args.print_freq == 0:
+ print('Test: [{0}/{1}]\t'
+ 'Time {batch_time.val:.3f} ({batch_time.avg:.3f}, {rate_avg:.3f}/s, {ms_avg:.3f} ms/sample) \t'
+ 'Prec@1 {top1.val:.3f} ({top1.avg:.3f})\t'
+ 'Prec@5 {top5.val:.3f} ({top5.avg:.3f})'.format(
+ i, len(loader), batch_time=batch_time, rate_avg=input.size(0) / batch_time.avg,
+ ms_avg=100 * batch_time.avg / input.size(0), top1=top1, top5=top5))
+
+ print(' * Prec@1 {top1.avg:.3f} ({top1a:.3f}) Prec@5 {top5.avg:.3f} ({top5a:.3f})'.format(
+ top1=top1, top1a=100-top1.avg, top5=top5, top5a=100.-top5.avg))
+
+
+def accuracy_np(output, target):
+ max_indices = np.argsort(output, axis=1)[:, ::-1]
+ top5 = 100 * np.equal(max_indices[:, :5], target[:, np.newaxis]).sum(axis=1).mean()
+ top1 = 100 * np.equal(max_indices[:, 0], target).mean()
+ return top1, top5
+
+
+if __name__ == '__main__':
+ main()
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/requirements.txt b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/requirements.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ac3ffc13bae15f9b11f7cbe3705760056ecd7f13
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/requirements.txt
@@ -0,0 +1,2 @@
+torch>=1.2.0
+torchvision>=0.4.0
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/setup.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/setup.py
new file mode 100644
index 0000000000000000000000000000000000000000..023e4c30f98164595964423e3a83eefaf7ffdad6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/setup.py
@@ -0,0 +1,47 @@
+""" Setup
+"""
+from setuptools import setup, find_packages
+from codecs import open
+from os import path
+
+here = path.abspath(path.dirname(__file__))
+
+# Get the long description from the README file
+with open(path.join(here, 'README.md'), encoding='utf-8') as f:
+ long_description = f.read()
+
+exec(open('geffnet/version.py').read())
+setup(
+ name='geffnet',
+ version=__version__,
+ description='(Generic) EfficientNets for PyTorch',
+ long_description=long_description,
+ long_description_content_type='text/markdown',
+ url='https://github.com/rwightman/gen-efficientnet-pytorch',
+ author='Ross Wightman',
+ author_email='hello@rwightman.com',
+ classifiers=[
+ # How mature is this project? Common values are
+ # 3 - Alpha
+ # 4 - Beta
+ # 5 - Production/Stable
+ 'Development Status :: 3 - Alpha',
+ 'Intended Audience :: Education',
+ 'Intended Audience :: Science/Research',
+ 'License :: OSI Approved :: Apache Software License',
+ 'Programming Language :: Python :: 3.6',
+ 'Programming Language :: Python :: 3.7',
+ 'Programming Language :: Python :: 3.8',
+ 'Topic :: Scientific/Engineering',
+ 'Topic :: Scientific/Engineering :: Artificial Intelligence',
+ 'Topic :: Software Development',
+ 'Topic :: Software Development :: Libraries',
+ 'Topic :: Software Development :: Libraries :: Python Modules',
+ ],
+
+ # Note that this is a string of words separated by whitespace, not a list.
+ keywords='pytorch pretrained models efficientnet mixnet mobilenetv3 mnasnet',
+ packages=find_packages(exclude=['data']),
+ install_requires=['torch >= 1.4', 'torchvision'],
+ python_requires='>=3.6',
+)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/utils.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..d327e8bd8120c5cd09ae6c15c3991ccbe27f6c1f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/utils.py
@@ -0,0 +1,52 @@
+import os
+
+
+class AverageMeter:
+ """Computes and stores the average and current value"""
+ def __init__(self):
+ self.reset()
+
+ def reset(self):
+ self.val = 0
+ self.avg = 0
+ self.sum = 0
+ self.count = 0
+
+ def update(self, val, n=1):
+ self.val = val
+ self.sum += val * n
+ self.count += n
+ self.avg = self.sum / self.count
+
+
+def accuracy(output, target, topk=(1,)):
+ """Computes the precision@k for the specified values of k"""
+ maxk = max(topk)
+ batch_size = target.size(0)
+
+ _, pred = output.topk(maxk, 1, True, True)
+ pred = pred.t()
+ correct = pred.eq(target.view(1, -1).expand_as(pred))
+
+ res = []
+ for k in topk:
+ correct_k = correct[:k].reshape(-1).float().sum(0)
+ res.append(correct_k.mul_(100.0 / batch_size))
+ return res
+
+
+def get_outdir(path, *paths, inc=False):
+ outdir = os.path.join(path, *paths)
+ if not os.path.exists(outdir):
+ os.makedirs(outdir)
+ elif inc:
+ count = 1
+ outdir_inc = outdir + '-' + str(count)
+ while os.path.exists(outdir_inc):
+ count = count + 1
+ outdir_inc = outdir + '-' + str(count)
+ assert count < 100
+ outdir = outdir_inc
+ os.makedirs(outdir)
+ return outdir
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/validate.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/validate.py
new file mode 100644
index 0000000000000000000000000000000000000000..5fd44fbb3165ef81ef81251b6299f6aaa80bf2c2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/efficientnet_repo/validate.py
@@ -0,0 +1,166 @@
+from __future__ import absolute_import
+from __future__ import division
+from __future__ import print_function
+
+import argparse
+import time
+import torch
+import torch.nn as nn
+import torch.nn.parallel
+from contextlib import suppress
+
+import geffnet
+from data import Dataset, create_loader, resolve_data_config
+from utils import accuracy, AverageMeter
+
+has_native_amp = False
+try:
+ if getattr(torch.cuda.amp, 'autocast') is not None:
+ has_native_amp = True
+except AttributeError:
+ pass
+
+torch.backends.cudnn.benchmark = True
+
+parser = argparse.ArgumentParser(description='PyTorch ImageNet Validation')
+parser.add_argument('data', metavar='DIR',
+ help='path to dataset')
+parser.add_argument('--model', '-m', metavar='MODEL', default='spnasnet1_00',
+ help='model architecture (default: dpn92)')
+parser.add_argument('-j', '--workers', default=4, type=int, metavar='N',
+ help='number of data loading workers (default: 2)')
+parser.add_argument('-b', '--batch-size', default=256, type=int,
+ metavar='N', help='mini-batch size (default: 256)')
+parser.add_argument('--img-size', default=None, type=int,
+ metavar='N', help='Input image dimension, uses model default if empty')
+parser.add_argument('--mean', type=float, nargs='+', default=None, metavar='MEAN',
+ help='Override mean pixel value of dataset')
+parser.add_argument('--std', type=float, nargs='+', default=None, metavar='STD',
+ help='Override std deviation of of dataset')
+parser.add_argument('--crop-pct', type=float, default=None, metavar='PCT',
+ help='Override default crop pct of 0.875')
+parser.add_argument('--interpolation', default='', type=str, metavar='NAME',
+ help='Image resize interpolation type (overrides model)')
+parser.add_argument('--num-classes', type=int, default=1000,
+ help='Number classes in dataset')
+parser.add_argument('--print-freq', '-p', default=10, type=int,
+ metavar='N', help='print frequency (default: 10)')
+parser.add_argument('--checkpoint', default='', type=str, metavar='PATH',
+ help='path to latest checkpoint (default: none)')
+parser.add_argument('--pretrained', dest='pretrained', action='store_true',
+ help='use pre-trained model')
+parser.add_argument('--torchscript', dest='torchscript', action='store_true',
+ help='convert model torchscript for inference')
+parser.add_argument('--num-gpu', type=int, default=1,
+ help='Number of GPUS to use')
+parser.add_argument('--tf-preprocessing', dest='tf_preprocessing', action='store_true',
+ help='use tensorflow mnasnet preporcessing')
+parser.add_argument('--no-cuda', dest='no_cuda', action='store_true',
+ help='')
+parser.add_argument('--channels-last', action='store_true', default=False,
+ help='Use channels_last memory layout')
+parser.add_argument('--amp', action='store_true', default=False,
+ help='Use native Torch AMP mixed precision.')
+
+
+def main():
+ args = parser.parse_args()
+
+ if not args.checkpoint and not args.pretrained:
+ args.pretrained = True
+
+ amp_autocast = suppress # do nothing
+ if args.amp:
+ if not has_native_amp:
+ print("Native Torch AMP is not available (requires torch >= 1.6), using FP32.")
+ else:
+ amp_autocast = torch.cuda.amp.autocast
+
+ # create model
+ model = geffnet.create_model(
+ args.model,
+ num_classes=args.num_classes,
+ in_chans=3,
+ pretrained=args.pretrained,
+ checkpoint_path=args.checkpoint,
+ scriptable=args.torchscript)
+
+ if args.channels_last:
+ model = model.to(memory_format=torch.channels_last)
+
+ if args.torchscript:
+ torch.jit.optimized_execution(True)
+ model = torch.jit.script(model)
+
+ print('Model %s created, param count: %d' %
+ (args.model, sum([m.numel() for m in model.parameters()])))
+
+ data_config = resolve_data_config(model, args)
+
+ criterion = nn.CrossEntropyLoss()
+
+ if not args.no_cuda:
+ if args.num_gpu > 1:
+ model = torch.nn.DataParallel(model, device_ids=list(range(args.num_gpu))).cuda()
+ else:
+ model = model.cuda()
+ criterion = criterion.cuda()
+
+ loader = create_loader(
+ Dataset(args.data, load_bytes=args.tf_preprocessing),
+ input_size=data_config['input_size'],
+ batch_size=args.batch_size,
+ use_prefetcher=not args.no_cuda,
+ interpolation=data_config['interpolation'],
+ mean=data_config['mean'],
+ std=data_config['std'],
+ num_workers=args.workers,
+ crop_pct=data_config['crop_pct'],
+ tensorflow_preprocessing=args.tf_preprocessing)
+
+ batch_time = AverageMeter()
+ losses = AverageMeter()
+ top1 = AverageMeter()
+ top5 = AverageMeter()
+
+ model.eval()
+ end = time.time()
+ with torch.no_grad():
+ for i, (input, target) in enumerate(loader):
+ if not args.no_cuda:
+ target = target.cuda()
+ input = input.cuda()
+ if args.channels_last:
+ input = input.contiguous(memory_format=torch.channels_last)
+
+ # compute output
+ with amp_autocast():
+ output = model(input)
+ loss = criterion(output, target)
+
+ # measure accuracy and record loss
+ prec1, prec5 = accuracy(output.data, target, topk=(1, 5))
+ losses.update(loss.item(), input.size(0))
+ top1.update(prec1.item(), input.size(0))
+ top5.update(prec5.item(), input.size(0))
+
+ # measure elapsed time
+ batch_time.update(time.time() - end)
+ end = time.time()
+
+ if i % args.print_freq == 0:
+ print('Test: [{0}/{1}]\t'
+ 'Time {batch_time.val:.3f} ({batch_time.avg:.3f}, {rate_avg:.3f}/s) \t'
+ 'Loss {loss.val:.4f} ({loss.avg:.4f})\t'
+ 'Prec@1 {top1.val:.3f} ({top1.avg:.3f})\t'
+ 'Prec@5 {top5.val:.3f} ({top5.avg:.3f})'.format(
+ i, len(loader), batch_time=batch_time,
+ rate_avg=input.size(0) / batch_time.avg,
+ loss=losses, top1=top1, top5=top5))
+
+ print(' * Prec@1 {top1.avg:.3f} ({top1a:.3f}) Prec@5 {top5.avg:.3f} ({top5a:.3f})'.format(
+ top1=top1, top1a=100-top1.avg, top5=top5, top5a=100.-top5.avg))
+
+
+if __name__ == '__main__':
+ main()
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/encoder.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/encoder.py
new file mode 100644
index 0000000000000000000000000000000000000000..7f7149ca3c0cf2b6e019105af7e645cfbb3eda11
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/encoder.py
@@ -0,0 +1,34 @@
+import os
+import torch
+import torch.nn as nn
+import torch.nn.functional as F
+
+
+class Encoder(nn.Module):
+ def __init__(self):
+ super(Encoder, self).__init__()
+
+ basemodel_name = 'tf_efficientnet_b5_ap'
+ print('Loading base model ()...'.format(basemodel_name), end='')
+ repo_path = os.path.join(os.path.dirname(__file__), 'efficientnet_repo')
+ basemodel = torch.hub.load(repo_path, basemodel_name, pretrained=False, source='local')
+ print('Done.')
+
+ # Remove last layer
+ print('Removing last two layers (global_pool & classifier).')
+ basemodel.global_pool = nn.Identity()
+ basemodel.classifier = nn.Identity()
+
+ self.original_model = basemodel
+
+ def forward(self, x):
+ features = [x]
+ for k, v in self.original_model._modules.items():
+ if (k == 'blocks'):
+ for ki, vi in v._modules.items():
+ features.append(vi(features[-1]))
+ else:
+ features.append(v(features[-1]))
+ return features
+
+
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/submodules.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/submodules.py
new file mode 100644
index 0000000000000000000000000000000000000000..409733351bd6ab5d191c800aff1bc05bfa4cb6f8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/normalbae/models/submodules/submodules.py
@@ -0,0 +1,140 @@
+import torch
+import torch.nn as nn
+import torch.nn.functional as F
+
+
+########################################################################################################################
+
+
+# Upsample + BatchNorm
+class UpSampleBN(nn.Module):
+ def __init__(self, skip_input, output_features):
+ super(UpSampleBN, self).__init__()
+
+ self._net = nn.Sequential(nn.Conv2d(skip_input, output_features, kernel_size=3, stride=1, padding=1),
+ nn.BatchNorm2d(output_features),
+ nn.LeakyReLU(),
+ nn.Conv2d(output_features, output_features, kernel_size=3, stride=1, padding=1),
+ nn.BatchNorm2d(output_features),
+ nn.LeakyReLU())
+
+ def forward(self, x, concat_with):
+ up_x = F.interpolate(x, size=[concat_with.size(2), concat_with.size(3)], mode='bilinear', align_corners=True)
+ f = torch.cat([up_x, concat_with], dim=1)
+ return self._net(f)
+
+
+# Upsample + GroupNorm + Weight Standardization
+class UpSampleGN(nn.Module):
+ def __init__(self, skip_input, output_features):
+ super(UpSampleGN, self).__init__()
+
+ self._net = nn.Sequential(Conv2d(skip_input, output_features, kernel_size=3, stride=1, padding=1),
+ nn.GroupNorm(8, output_features),
+ nn.LeakyReLU(),
+ Conv2d(output_features, output_features, kernel_size=3, stride=1, padding=1),
+ nn.GroupNorm(8, output_features),
+ nn.LeakyReLU())
+
+ def forward(self, x, concat_with):
+ up_x = F.interpolate(x, size=[concat_with.size(2), concat_with.size(3)], mode='bilinear', align_corners=True)
+ f = torch.cat([up_x, concat_with], dim=1)
+ return self._net(f)
+
+
+# Conv2d with weight standardization
+class Conv2d(nn.Conv2d):
+ def __init__(self, in_channels, out_channels, kernel_size, stride=1,
+ padding=0, dilation=1, groups=1, bias=True):
+ super(Conv2d, self).__init__(in_channels, out_channels, kernel_size, stride,
+ padding, dilation, groups, bias)
+
+ def forward(self, x):
+ weight = self.weight
+ weight_mean = weight.mean(dim=1, keepdim=True).mean(dim=2,
+ keepdim=True).mean(dim=3, keepdim=True)
+ weight = weight - weight_mean
+ std = weight.view(weight.size(0), -1).std(dim=1).view(-1, 1, 1, 1) + 1e-5
+ weight = weight / std.expand_as(weight)
+ return F.conv2d(x, weight, self.bias, self.stride,
+ self.padding, self.dilation, self.groups)
+
+
+# normalize
+def norm_normalize(norm_out):
+ min_kappa = 0.01
+ norm_x, norm_y, norm_z, kappa = torch.split(norm_out, 1, dim=1)
+ norm = torch.sqrt(norm_x ** 2.0 + norm_y ** 2.0 + norm_z ** 2.0) + 1e-10
+ kappa = F.elu(kappa) + 1.0 + min_kappa
+ final_out = torch.cat([norm_x / norm, norm_y / norm, norm_z / norm, kappa], dim=1)
+ return final_out
+
+
+# uncertainty-guided sampling (only used during training)
+@torch.no_grad()
+def sample_points(init_normal, gt_norm_mask, sampling_ratio, beta):
+ device = init_normal.device
+ B, _, H, W = init_normal.shape
+ N = int(sampling_ratio * H * W)
+ beta = beta
+
+ # uncertainty map
+ uncertainty_map = -1 * init_normal[:, 3, :, :] # B, H, W
+
+ # gt_invalid_mask (B, H, W)
+ if gt_norm_mask is not None:
+ gt_invalid_mask = F.interpolate(gt_norm_mask.float(), size=[H, W], mode='nearest')
+ gt_invalid_mask = gt_invalid_mask[:, 0, :, :] < 0.5
+ uncertainty_map[gt_invalid_mask] = -1e4
+
+ # (B, H*W)
+ _, idx = uncertainty_map.view(B, -1).sort(1, descending=True)
+
+ # importance sampling
+ if int(beta * N) > 0:
+ importance = idx[:, :int(beta * N)] # B, beta*N
+
+ # remaining
+ remaining = idx[:, int(beta * N):] # B, H*W - beta*N
+
+ # coverage
+ num_coverage = N - int(beta * N)
+
+ if num_coverage <= 0:
+ samples = importance
+ else:
+ coverage_list = []
+ for i in range(B):
+ idx_c = torch.randperm(remaining.size()[1]) # shuffles "H*W - beta*N"
+ coverage_list.append(remaining[i, :][idx_c[:num_coverage]].view(1, -1)) # 1, N-beta*N
+ coverage = torch.cat(coverage_list, dim=0) # B, N-beta*N
+ samples = torch.cat((importance, coverage), dim=1) # B, N
+
+ else:
+ # remaining
+ remaining = idx[:, :] # B, H*W
+
+ # coverage
+ num_coverage = N
+
+ coverage_list = []
+ for i in range(B):
+ idx_c = torch.randperm(remaining.size()[1]) # shuffles "H*W - beta*N"
+ coverage_list.append(remaining[i, :][idx_c[:num_coverage]].view(1, -1)) # 1, N-beta*N
+ coverage = torch.cat(coverage_list, dim=0) # B, N-beta*N
+ samples = coverage
+
+ # point coordinates
+ rows_int = samples // W # 0 for first row, H-1 for last row
+ rows_float = rows_int / float(H-1) # 0 to 1.0
+ rows_float = (rows_float * 2.0) - 1.0 # -1.0 to 1.0
+
+ cols_int = samples % W # 0 for first column, W-1 for last column
+ cols_float = cols_int / float(W-1) # 0 to 1.0
+ cols_float = (cols_float * 2.0) - 1.0 # -1.0 to 1.0
+
+ point_coords = torch.zeros(B, 1, N, 2)
+ point_coords[:, 0, :, 0] = cols_float # x coord
+ point_coords[:, 0, :, 1] = rows_float # y coord
+ point_coords = point_coords.to(device)
+ return point_coords, rows_int, cols_int
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/LICENSE b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/LICENSE
new file mode 100644
index 0000000000000000000000000000000000000000..16a9d56a3d4c15e4f34ac5426459c58487b01520
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2022 Caroline Chan
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..49eb9ec3490917a13c1a93d63c8b8ad44244926e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/__init__.py
@@ -0,0 +1,45 @@
+import os
+from modules import devices
+from annotator.annotator_path import models_path
+from .api import make_detectron2_model, semantic_run
+
+
+class OneformerDetector:
+ model_dir = os.path.join(models_path, "oneformer")
+ configs = {
+ "coco": {
+ "name": "150_16_swin_l_oneformer_coco_100ep.pth",
+ "config": 'configs/coco/oneformer_swin_large_IN21k_384_bs16_100ep.yaml'
+ },
+ "ade20k": {
+ "name": "250_16_swin_l_oneformer_ade20k_160k.pth",
+ "config": 'configs/ade20k/oneformer_swin_large_IN21k_384_bs16_160k.yaml'
+ }
+ }
+
+ def __init__(self, config):
+ self.model = None
+ self.metadata = None
+ self.config = config
+ self.device = devices.get_device_for("controlnet")
+
+ def load_model(self):
+ remote_model_path = "https://huggingface.co/lllyasviel/Annotators/resolve/main/" + self.config["name"]
+ modelpath = os.path.join(self.model_dir, self.config["name"])
+ if not os.path.exists(modelpath):
+ from basicsr.utils.download_util import load_file_from_url
+ load_file_from_url(remote_model_path, model_dir=self.model_dir)
+ config = os.path.join(os.path.dirname(__file__), self.config["config"])
+ model, self.metadata = make_detectron2_model(config, modelpath)
+ self.model = model
+
+ def unload_model(self):
+ if self.model is not None:
+ self.model.model.cpu()
+
+ def __call__(self, img):
+ if self.model is None:
+ self.load_model()
+
+ self.model.model.to(self.device)
+ return semantic_run(img, self.model, self.metadata)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/api.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/api.py
new file mode 100644
index 0000000000000000000000000000000000000000..59e4439f10d537949180b8a9d1b2a0ee347b8ff3
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/api.py
@@ -0,0 +1,39 @@
+import os
+os.environ["KMP_DUPLICATE_LIB_OK"] = "TRUE"
+
+import torch
+
+from annotator.oneformer.detectron2.config import get_cfg
+from annotator.oneformer.detectron2.projects.deeplab import add_deeplab_config
+from annotator.oneformer.detectron2.data import MetadataCatalog
+
+from annotator.oneformer.oneformer import (
+ add_oneformer_config,
+ add_common_config,
+ add_swin_config,
+ add_dinat_config,
+)
+
+from annotator.oneformer.oneformer.demo.defaults import DefaultPredictor
+from annotator.oneformer.oneformer.demo.visualizer import Visualizer, ColorMode
+
+
+def make_detectron2_model(config_path, ckpt_path):
+ cfg = get_cfg()
+ add_deeplab_config(cfg)
+ add_common_config(cfg)
+ add_swin_config(cfg)
+ add_oneformer_config(cfg)
+ add_dinat_config(cfg)
+ cfg.merge_from_file(config_path)
+ cfg.MODEL.WEIGHTS = ckpt_path
+ cfg.freeze()
+ metadata = MetadataCatalog.get(cfg.DATASETS.TEST_PANOPTIC[0] if len(cfg.DATASETS.TEST_PANOPTIC) else "__unused")
+ return DefaultPredictor(cfg), metadata
+
+
+def semantic_run(img, predictor, metadata):
+ predictions = predictor(img[:, :, ::-1], "semantic") # Predictor of OneFormer must use BGR image !!!
+ visualizer_map = Visualizer(img, is_img=False, metadata=metadata, instance_mode=ColorMode.IMAGE)
+ out_map = visualizer_map.draw_sem_seg(predictions["sem_seg"].argmax(dim=0).cpu(), alpha=1, is_text=False).get_image()
+ return out_map
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/configs/ade20k/Base-ADE20K-UnifiedSegmentation.yaml b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/configs/ade20k/Base-ADE20K-UnifiedSegmentation.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..31eab45b878433fc844a13dbdd54f97c936d9b89
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/configs/ade20k/Base-ADE20K-UnifiedSegmentation.yaml
@@ -0,0 +1,68 @@
+MODEL:
+ BACKBONE:
+ FREEZE_AT: 0
+ NAME: "build_resnet_backbone"
+ WEIGHTS: "detectron2://ImageNetPretrained/torchvision/R-50.pkl"
+ PIXEL_MEAN: [123.675, 116.280, 103.530]
+ PIXEL_STD: [58.395, 57.120, 57.375]
+ RESNETS:
+ DEPTH: 50
+ STEM_TYPE: "basic" # not used
+ STEM_OUT_CHANNELS: 64
+ STRIDE_IN_1X1: False
+ OUT_FEATURES: ["res2", "res3", "res4", "res5"]
+ # NORM: "SyncBN"
+ RES5_MULTI_GRID: [1, 1, 1] # not used
+DATASETS:
+ TRAIN: ("ade20k_panoptic_train",)
+ TEST_PANOPTIC: ("ade20k_panoptic_val",)
+ TEST_INSTANCE: ("ade20k_instance_val",)
+ TEST_SEMANTIC: ("ade20k_sem_seg_val",)
+SOLVER:
+ IMS_PER_BATCH: 16
+ BASE_LR: 0.0001
+ MAX_ITER: 160000
+ WARMUP_FACTOR: 1.0
+ WARMUP_ITERS: 0
+ WEIGHT_DECAY: 0.05
+ OPTIMIZER: "ADAMW"
+ LR_SCHEDULER_NAME: "WarmupPolyLR"
+ BACKBONE_MULTIPLIER: 0.1
+ CLIP_GRADIENTS:
+ ENABLED: True
+ CLIP_TYPE: "full_model"
+ CLIP_VALUE: 0.01
+ NORM_TYPE: 2.0
+ AMP:
+ ENABLED: True
+INPUT:
+ MIN_SIZE_TRAIN: !!python/object/apply:eval ["[int(x * 0.1 * 512) for x in range(5, 21)]"]
+ MIN_SIZE_TRAIN_SAMPLING: "choice"
+ MIN_SIZE_TEST: 512
+ MAX_SIZE_TRAIN: 2048
+ MAX_SIZE_TEST: 2048
+ CROP:
+ ENABLED: True
+ TYPE: "absolute"
+ SIZE: (512, 512)
+ SINGLE_CATEGORY_MAX_AREA: 1.0
+ COLOR_AUG_SSD: True
+ SIZE_DIVISIBILITY: 512 # used in dataset mapper
+ FORMAT: "RGB"
+ DATASET_MAPPER_NAME: "oneformer_unified"
+ MAX_SEQ_LEN: 77
+ TASK_SEQ_LEN: 77
+ TASK_PROB:
+ SEMANTIC: 0.33
+ INSTANCE: 0.66
+TEST:
+ EVAL_PERIOD: 5000
+ AUG:
+ ENABLED: False
+ MIN_SIZES: [256, 384, 512, 640, 768, 896]
+ MAX_SIZE: 3584
+ FLIP: True
+DATALOADER:
+ FILTER_EMPTY_ANNOTATIONS: True
+ NUM_WORKERS: 4
+VERSION: 2
\ No newline at end of file
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/configs/ade20k/oneformer_R50_bs16_160k.yaml b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/configs/ade20k/oneformer_R50_bs16_160k.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..770ffc81907f8d7c7520e079b1c46060707254b8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/configs/ade20k/oneformer_R50_bs16_160k.yaml
@@ -0,0 +1,58 @@
+_BASE_: Base-ADE20K-UnifiedSegmentation.yaml
+MODEL:
+ META_ARCHITECTURE: "OneFormer"
+ SEM_SEG_HEAD:
+ NAME: "OneFormerHead"
+ IGNORE_VALUE: 255
+ NUM_CLASSES: 150
+ LOSS_WEIGHT: 1.0
+ CONVS_DIM: 256
+ MASK_DIM: 256
+ NORM: "GN"
+ # pixel decoder
+ PIXEL_DECODER_NAME: "MSDeformAttnPixelDecoder"
+ IN_FEATURES: ["res2", "res3", "res4", "res5"]
+ DEFORMABLE_TRANSFORMER_ENCODER_IN_FEATURES: ["res3", "res4", "res5"]
+ COMMON_STRIDE: 4
+ TRANSFORMER_ENC_LAYERS: 6
+ ONE_FORMER:
+ TRANSFORMER_DECODER_NAME: "ContrastiveMultiScaleMaskedTransformerDecoder"
+ TRANSFORMER_IN_FEATURE: "multi_scale_pixel_decoder"
+ DEEP_SUPERVISION: True
+ NO_OBJECT_WEIGHT: 0.1
+ CLASS_WEIGHT: 2.0
+ MASK_WEIGHT: 5.0
+ DICE_WEIGHT: 5.0
+ CONTRASTIVE_WEIGHT: 0.5
+ CONTRASTIVE_TEMPERATURE: 0.07
+ HIDDEN_DIM: 256
+ NUM_OBJECT_QUERIES: 150
+ USE_TASK_NORM: True
+ NHEADS: 8
+ DROPOUT: 0.1
+ DIM_FEEDFORWARD: 2048
+ ENC_LAYERS: 0
+ PRE_NORM: False
+ ENFORCE_INPUT_PROJ: False
+ SIZE_DIVISIBILITY: 32
+ CLASS_DEC_LAYERS: 2
+ DEC_LAYERS: 10 # 9 decoder layers, add one for the loss on learnable query
+ TRAIN_NUM_POINTS: 12544
+ OVERSAMPLE_RATIO: 3.0
+ IMPORTANCE_SAMPLE_RATIO: 0.75
+ TEXT_ENCODER:
+ WIDTH: 256
+ CONTEXT_LENGTH: 77
+ NUM_LAYERS: 6
+ VOCAB_SIZE: 49408
+ PROJ_NUM_LAYERS: 2
+ N_CTX: 16
+ TEST:
+ SEMANTIC_ON: True
+ INSTANCE_ON: True
+ PANOPTIC_ON: True
+ OVERLAP_THRESHOLD: 0.8
+ OBJECT_MASK_THRESHOLD: 0.8
+ TASK: "panoptic"
+TEST:
+ DETECTIONS_PER_IMAGE: 150
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/configs/ade20k/oneformer_swin_large_IN21k_384_bs16_160k.yaml b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/configs/ade20k/oneformer_swin_large_IN21k_384_bs16_160k.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..69c44ade144e4504077c0fe04fa8bb3491a679ed
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/configs/ade20k/oneformer_swin_large_IN21k_384_bs16_160k.yaml
@@ -0,0 +1,40 @@
+_BASE_: oneformer_R50_bs16_160k.yaml
+MODEL:
+ BACKBONE:
+ NAME: "D2SwinTransformer"
+ SWIN:
+ EMBED_DIM: 192
+ DEPTHS: [2, 2, 18, 2]
+ NUM_HEADS: [6, 12, 24, 48]
+ WINDOW_SIZE: 12
+ APE: False
+ DROP_PATH_RATE: 0.3
+ PATCH_NORM: True
+ PRETRAIN_IMG_SIZE: 384
+ WEIGHTS: "swin_large_patch4_window12_384_22k.pkl"
+ PIXEL_MEAN: [123.675, 116.280, 103.530]
+ PIXEL_STD: [58.395, 57.120, 57.375]
+ ONE_FORMER:
+ NUM_OBJECT_QUERIES: 250
+INPUT:
+ MIN_SIZE_TRAIN: !!python/object/apply:eval ["[int(x * 0.1 * 640) for x in range(5, 21)]"]
+ MIN_SIZE_TRAIN_SAMPLING: "choice"
+ MIN_SIZE_TEST: 640
+ MAX_SIZE_TRAIN: 2560
+ MAX_SIZE_TEST: 2560
+ CROP:
+ ENABLED: True
+ TYPE: "absolute"
+ SIZE: (640, 640)
+ SINGLE_CATEGORY_MAX_AREA: 1.0
+ COLOR_AUG_SSD: True
+ SIZE_DIVISIBILITY: 640 # used in dataset mapper
+ FORMAT: "RGB"
+TEST:
+ DETECTIONS_PER_IMAGE: 250
+ EVAL_PERIOD: 5000
+ AUG:
+ ENABLED: False
+ MIN_SIZES: [320, 480, 640, 800, 960, 1120]
+ MAX_SIZE: 4480
+ FLIP: True
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/configs/coco/Base-COCO-UnifiedSegmentation.yaml b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/configs/coco/Base-COCO-UnifiedSegmentation.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..ccd24f348f9bc7d60dcdc4b74d887708e57cb8a8
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/configs/coco/Base-COCO-UnifiedSegmentation.yaml
@@ -0,0 +1,54 @@
+MODEL:
+ BACKBONE:
+ FREEZE_AT: 0
+ NAME: "build_resnet_backbone"
+ WEIGHTS: "detectron2://ImageNetPretrained/torchvision/R-50.pkl"
+ PIXEL_MEAN: [123.675, 116.280, 103.530]
+ PIXEL_STD: [58.395, 57.120, 57.375]
+ RESNETS:
+ DEPTH: 50
+ STEM_TYPE: "basic" # not used
+ STEM_OUT_CHANNELS: 64
+ STRIDE_IN_1X1: False
+ OUT_FEATURES: ["res2", "res3", "res4", "res5"]
+ # NORM: "SyncBN"
+ RES5_MULTI_GRID: [1, 1, 1] # not used
+DATASETS:
+ TRAIN: ("coco_2017_train_panoptic_with_sem_seg",)
+ TEST_PANOPTIC: ("coco_2017_val_panoptic_with_sem_seg",) # to evaluate instance and semantic performance as well
+ TEST_INSTANCE: ("coco_2017_val",)
+ TEST_SEMANTIC: ("coco_2017_val_panoptic_with_sem_seg",)
+SOLVER:
+ IMS_PER_BATCH: 16
+ BASE_LR: 0.0001
+ STEPS: (327778, 355092)
+ MAX_ITER: 368750
+ WARMUP_FACTOR: 1.0
+ WARMUP_ITERS: 10
+ WEIGHT_DECAY: 0.05
+ OPTIMIZER: "ADAMW"
+ BACKBONE_MULTIPLIER: 0.1
+ CLIP_GRADIENTS:
+ ENABLED: True
+ CLIP_TYPE: "full_model"
+ CLIP_VALUE: 0.01
+ NORM_TYPE: 2.0
+ AMP:
+ ENABLED: True
+INPUT:
+ IMAGE_SIZE: 1024
+ MIN_SCALE: 0.1
+ MAX_SCALE: 2.0
+ FORMAT: "RGB"
+ DATASET_MAPPER_NAME: "coco_unified_lsj"
+ MAX_SEQ_LEN: 77
+ TASK_SEQ_LEN: 77
+ TASK_PROB:
+ SEMANTIC: 0.33
+ INSTANCE: 0.66
+TEST:
+ EVAL_PERIOD: 5000
+DATALOADER:
+ FILTER_EMPTY_ANNOTATIONS: True
+ NUM_WORKERS: 4
+VERSION: 2
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/configs/coco/oneformer_R50_bs16_50ep.yaml b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/configs/coco/oneformer_R50_bs16_50ep.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..f768c8fa8b5e4fc1121e65e050053e0d8870cd73
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/configs/coco/oneformer_R50_bs16_50ep.yaml
@@ -0,0 +1,59 @@
+_BASE_: Base-COCO-UnifiedSegmentation.yaml
+MODEL:
+ META_ARCHITECTURE: "OneFormer"
+ SEM_SEG_HEAD:
+ NAME: "OneFormerHead"
+ IGNORE_VALUE: 255
+ NUM_CLASSES: 133
+ LOSS_WEIGHT: 1.0
+ CONVS_DIM: 256
+ MASK_DIM: 256
+ NORM: "GN"
+ # pixel decoder
+ PIXEL_DECODER_NAME: "MSDeformAttnPixelDecoder"
+ IN_FEATURES: ["res2", "res3", "res4", "res5"]
+ DEFORMABLE_TRANSFORMER_ENCODER_IN_FEATURES: ["res3", "res4", "res5"]
+ COMMON_STRIDE: 4
+ TRANSFORMER_ENC_LAYERS: 6
+ ONE_FORMER:
+ TRANSFORMER_DECODER_NAME: "ContrastiveMultiScaleMaskedTransformerDecoder"
+ TRANSFORMER_IN_FEATURE: "multi_scale_pixel_decoder"
+ DEEP_SUPERVISION: True
+ NO_OBJECT_WEIGHT: 0.1
+ CLASS_WEIGHT: 2.0
+ MASK_WEIGHT: 5.0
+ DICE_WEIGHT: 5.0
+ CONTRASTIVE_WEIGHT: 0.5
+ CONTRASTIVE_TEMPERATURE: 0.07
+ HIDDEN_DIM: 256
+ NUM_OBJECT_QUERIES: 150
+ USE_TASK_NORM: True
+ NHEADS: 8
+ DROPOUT: 0.1
+ DIM_FEEDFORWARD: 2048
+ ENC_LAYERS: 0
+ PRE_NORM: False
+ ENFORCE_INPUT_PROJ: False
+ SIZE_DIVISIBILITY: 32
+ CLASS_DEC_LAYERS: 2
+ DEC_LAYERS: 10 # 9 decoder layers, add one for the loss on learnable query
+ TRAIN_NUM_POINTS: 12544
+ OVERSAMPLE_RATIO: 3.0
+ IMPORTANCE_SAMPLE_RATIO: 0.75
+ TEXT_ENCODER:
+ WIDTH: 256
+ CONTEXT_LENGTH: 77
+ NUM_LAYERS: 6
+ VOCAB_SIZE: 49408
+ PROJ_NUM_LAYERS: 2
+ N_CTX: 16
+ TEST:
+ SEMANTIC_ON: True
+ INSTANCE_ON: True
+ PANOPTIC_ON: True
+ DETECTION_ON: False
+ OVERLAP_THRESHOLD: 0.8
+ OBJECT_MASK_THRESHOLD: 0.8
+ TASK: "panoptic"
+TEST:
+ DETECTIONS_PER_IMAGE: 150
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/configs/coco/oneformer_swin_large_IN21k_384_bs16_100ep.yaml b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/configs/coco/oneformer_swin_large_IN21k_384_bs16_100ep.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..faae655317c52d90b9f756417f8b1a1adcbe78f2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/configs/coco/oneformer_swin_large_IN21k_384_bs16_100ep.yaml
@@ -0,0 +1,25 @@
+_BASE_: oneformer_R50_bs16_50ep.yaml
+MODEL:
+ BACKBONE:
+ NAME: "D2SwinTransformer"
+ SWIN:
+ EMBED_DIM: 192
+ DEPTHS: [2, 2, 18, 2]
+ NUM_HEADS: [6, 12, 24, 48]
+ WINDOW_SIZE: 12
+ APE: False
+ DROP_PATH_RATE: 0.3
+ PATCH_NORM: True
+ PRETRAIN_IMG_SIZE: 384
+ WEIGHTS: "swin_large_patch4_window12_384_22k.pkl"
+ PIXEL_MEAN: [123.675, 116.280, 103.530]
+ PIXEL_STD: [58.395, 57.120, 57.375]
+ ONE_FORMER:
+ NUM_OBJECT_QUERIES: 150
+SOLVER:
+ STEPS: (655556, 735184)
+ MAX_ITER: 737500
+ AMP:
+ ENABLED: False
+TEST:
+ DETECTIONS_PER_IMAGE: 150
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..bdd994b49294485c27610772f97f177741f5518f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/__init__.py
@@ -0,0 +1,10 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+
+from .utils.env import setup_environment
+
+setup_environment()
+
+
+# This line will be programatically read/write by setup.py.
+# Leave them at the bottom of this file and don't touch them.
+__version__ = "0.6"
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/checkpoint/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/checkpoint/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..99da0469ae7e169d8970e4b642fed3f870076860
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/checkpoint/__init__.py
@@ -0,0 +1,10 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) Facebook, Inc. and its affiliates.
+# File:
+
+
+from . import catalog as _UNUSED # register the handler
+from .detection_checkpoint import DetectionCheckpointer
+from fvcore.common.checkpoint import Checkpointer, PeriodicCheckpointer
+
+__all__ = ["Checkpointer", "PeriodicCheckpointer", "DetectionCheckpointer"]
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/checkpoint/c2_model_loading.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/checkpoint/c2_model_loading.py
new file mode 100644
index 0000000000000000000000000000000000000000..c6de2a3c830089aa7a0d27df96bb4a45fc5a7b0d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/checkpoint/c2_model_loading.py
@@ -0,0 +1,412 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+import copy
+import logging
+import re
+from typing import Dict, List
+import torch
+from tabulate import tabulate
+
+
+def convert_basic_c2_names(original_keys):
+ """
+ Apply some basic name conversion to names in C2 weights.
+ It only deals with typical backbone models.
+
+ Args:
+ original_keys (list[str]):
+ Returns:
+ list[str]: The same number of strings matching those in original_keys.
+ """
+ layer_keys = copy.deepcopy(original_keys)
+ layer_keys = [
+ {"pred_b": "linear_b", "pred_w": "linear_w"}.get(k, k) for k in layer_keys
+ ] # some hard-coded mappings
+
+ layer_keys = [k.replace("_", ".") for k in layer_keys]
+ layer_keys = [re.sub("\\.b$", ".bias", k) for k in layer_keys]
+ layer_keys = [re.sub("\\.w$", ".weight", k) for k in layer_keys]
+ # Uniform both bn and gn names to "norm"
+ layer_keys = [re.sub("bn\\.s$", "norm.weight", k) for k in layer_keys]
+ layer_keys = [re.sub("bn\\.bias$", "norm.bias", k) for k in layer_keys]
+ layer_keys = [re.sub("bn\\.rm", "norm.running_mean", k) for k in layer_keys]
+ layer_keys = [re.sub("bn\\.running.mean$", "norm.running_mean", k) for k in layer_keys]
+ layer_keys = [re.sub("bn\\.riv$", "norm.running_var", k) for k in layer_keys]
+ layer_keys = [re.sub("bn\\.running.var$", "norm.running_var", k) for k in layer_keys]
+ layer_keys = [re.sub("bn\\.gamma$", "norm.weight", k) for k in layer_keys]
+ layer_keys = [re.sub("bn\\.beta$", "norm.bias", k) for k in layer_keys]
+ layer_keys = [re.sub("gn\\.s$", "norm.weight", k) for k in layer_keys]
+ layer_keys = [re.sub("gn\\.bias$", "norm.bias", k) for k in layer_keys]
+
+ # stem
+ layer_keys = [re.sub("^res\\.conv1\\.norm\\.", "conv1.norm.", k) for k in layer_keys]
+ # to avoid mis-matching with "conv1" in other components (e.g. detection head)
+ layer_keys = [re.sub("^conv1\\.", "stem.conv1.", k) for k in layer_keys]
+
+ # layer1-4 is used by torchvision, however we follow the C2 naming strategy (res2-5)
+ # layer_keys = [re.sub("^res2.", "layer1.", k) for k in layer_keys]
+ # layer_keys = [re.sub("^res3.", "layer2.", k) for k in layer_keys]
+ # layer_keys = [re.sub("^res4.", "layer3.", k) for k in layer_keys]
+ # layer_keys = [re.sub("^res5.", "layer4.", k) for k in layer_keys]
+
+ # blocks
+ layer_keys = [k.replace(".branch1.", ".shortcut.") for k in layer_keys]
+ layer_keys = [k.replace(".branch2a.", ".conv1.") for k in layer_keys]
+ layer_keys = [k.replace(".branch2b.", ".conv2.") for k in layer_keys]
+ layer_keys = [k.replace(".branch2c.", ".conv3.") for k in layer_keys]
+
+ # DensePose substitutions
+ layer_keys = [re.sub("^body.conv.fcn", "body_conv_fcn", k) for k in layer_keys]
+ layer_keys = [k.replace("AnnIndex.lowres", "ann_index_lowres") for k in layer_keys]
+ layer_keys = [k.replace("Index.UV.lowres", "index_uv_lowres") for k in layer_keys]
+ layer_keys = [k.replace("U.lowres", "u_lowres") for k in layer_keys]
+ layer_keys = [k.replace("V.lowres", "v_lowres") for k in layer_keys]
+ return layer_keys
+
+
+def convert_c2_detectron_names(weights):
+ """
+ Map Caffe2 Detectron weight names to Detectron2 names.
+
+ Args:
+ weights (dict): name -> tensor
+
+ Returns:
+ dict: detectron2 names -> tensor
+ dict: detectron2 names -> C2 names
+ """
+ logger = logging.getLogger(__name__)
+ logger.info("Renaming Caffe2 weights ......")
+ original_keys = sorted(weights.keys())
+ layer_keys = copy.deepcopy(original_keys)
+
+ layer_keys = convert_basic_c2_names(layer_keys)
+
+ # --------------------------------------------------------------------------
+ # RPN hidden representation conv
+ # --------------------------------------------------------------------------
+ # FPN case
+ # In the C2 model, the RPN hidden layer conv is defined for FPN level 2 and then
+ # shared for all other levels, hence the appearance of "fpn2"
+ layer_keys = [
+ k.replace("conv.rpn.fpn2", "proposal_generator.rpn_head.conv") for k in layer_keys
+ ]
+ # Non-FPN case
+ layer_keys = [k.replace("conv.rpn", "proposal_generator.rpn_head.conv") for k in layer_keys]
+
+ # --------------------------------------------------------------------------
+ # RPN box transformation conv
+ # --------------------------------------------------------------------------
+ # FPN case (see note above about "fpn2")
+ layer_keys = [
+ k.replace("rpn.bbox.pred.fpn2", "proposal_generator.rpn_head.anchor_deltas")
+ for k in layer_keys
+ ]
+ layer_keys = [
+ k.replace("rpn.cls.logits.fpn2", "proposal_generator.rpn_head.objectness_logits")
+ for k in layer_keys
+ ]
+ # Non-FPN case
+ layer_keys = [
+ k.replace("rpn.bbox.pred", "proposal_generator.rpn_head.anchor_deltas") for k in layer_keys
+ ]
+ layer_keys = [
+ k.replace("rpn.cls.logits", "proposal_generator.rpn_head.objectness_logits")
+ for k in layer_keys
+ ]
+
+ # --------------------------------------------------------------------------
+ # Fast R-CNN box head
+ # --------------------------------------------------------------------------
+ layer_keys = [re.sub("^bbox\\.pred", "bbox_pred", k) for k in layer_keys]
+ layer_keys = [re.sub("^cls\\.score", "cls_score", k) for k in layer_keys]
+ layer_keys = [re.sub("^fc6\\.", "box_head.fc1.", k) for k in layer_keys]
+ layer_keys = [re.sub("^fc7\\.", "box_head.fc2.", k) for k in layer_keys]
+ # 4conv1fc head tensor names: head_conv1_w, head_conv1_gn_s
+ layer_keys = [re.sub("^head\\.conv", "box_head.conv", k) for k in layer_keys]
+
+ # --------------------------------------------------------------------------
+ # FPN lateral and output convolutions
+ # --------------------------------------------------------------------------
+ def fpn_map(name):
+ """
+ Look for keys with the following patterns:
+ 1) Starts with "fpn.inner."
+ Example: "fpn.inner.res2.2.sum.lateral.weight"
+ Meaning: These are lateral pathway convolutions
+ 2) Starts with "fpn.res"
+ Example: "fpn.res2.2.sum.weight"
+ Meaning: These are FPN output convolutions
+ """
+ splits = name.split(".")
+ norm = ".norm" if "norm" in splits else ""
+ if name.startswith("fpn.inner."):
+ # splits example: ['fpn', 'inner', 'res2', '2', 'sum', 'lateral', 'weight']
+ stage = int(splits[2][len("res") :])
+ return "fpn_lateral{}{}.{}".format(stage, norm, splits[-1])
+ elif name.startswith("fpn.res"):
+ # splits example: ['fpn', 'res2', '2', 'sum', 'weight']
+ stage = int(splits[1][len("res") :])
+ return "fpn_output{}{}.{}".format(stage, norm, splits[-1])
+ return name
+
+ layer_keys = [fpn_map(k) for k in layer_keys]
+
+ # --------------------------------------------------------------------------
+ # Mask R-CNN mask head
+ # --------------------------------------------------------------------------
+ # roi_heads.StandardROIHeads case
+ layer_keys = [k.replace(".[mask].fcn", "mask_head.mask_fcn") for k in layer_keys]
+ layer_keys = [re.sub("^\\.mask\\.fcn", "mask_head.mask_fcn", k) for k in layer_keys]
+ layer_keys = [k.replace("mask.fcn.logits", "mask_head.predictor") for k in layer_keys]
+ # roi_heads.Res5ROIHeads case
+ layer_keys = [k.replace("conv5.mask", "mask_head.deconv") for k in layer_keys]
+
+ # --------------------------------------------------------------------------
+ # Keypoint R-CNN head
+ # --------------------------------------------------------------------------
+ # interestingly, the keypoint head convs have blob names that are simply "conv_fcnX"
+ layer_keys = [k.replace("conv.fcn", "roi_heads.keypoint_head.conv_fcn") for k in layer_keys]
+ layer_keys = [
+ k.replace("kps.score.lowres", "roi_heads.keypoint_head.score_lowres") for k in layer_keys
+ ]
+ layer_keys = [k.replace("kps.score.", "roi_heads.keypoint_head.score.") for k in layer_keys]
+
+ # --------------------------------------------------------------------------
+ # Done with replacements
+ # --------------------------------------------------------------------------
+ assert len(set(layer_keys)) == len(layer_keys)
+ assert len(original_keys) == len(layer_keys)
+
+ new_weights = {}
+ new_keys_to_original_keys = {}
+ for orig, renamed in zip(original_keys, layer_keys):
+ new_keys_to_original_keys[renamed] = orig
+ if renamed.startswith("bbox_pred.") or renamed.startswith("mask_head.predictor."):
+ # remove the meaningless prediction weight for background class
+ new_start_idx = 4 if renamed.startswith("bbox_pred.") else 1
+ new_weights[renamed] = weights[orig][new_start_idx:]
+ logger.info(
+ "Remove prediction weight for background class in {}. The shape changes from "
+ "{} to {}.".format(
+ renamed, tuple(weights[orig].shape), tuple(new_weights[renamed].shape)
+ )
+ )
+ elif renamed.startswith("cls_score."):
+ # move weights of bg class from original index 0 to last index
+ logger.info(
+ "Move classification weights for background class in {} from index 0 to "
+ "index {}.".format(renamed, weights[orig].shape[0] - 1)
+ )
+ new_weights[renamed] = torch.cat([weights[orig][1:], weights[orig][:1]])
+ else:
+ new_weights[renamed] = weights[orig]
+
+ return new_weights, new_keys_to_original_keys
+
+
+# Note the current matching is not symmetric.
+# it assumes model_state_dict will have longer names.
+def align_and_update_state_dicts(model_state_dict, ckpt_state_dict, c2_conversion=True):
+ """
+ Match names between the two state-dict, and returns a new chkpt_state_dict with names
+ converted to match model_state_dict with heuristics. The returned dict can be later
+ loaded with fvcore checkpointer.
+ If `c2_conversion==True`, `ckpt_state_dict` is assumed to be a Caffe2
+ model and will be renamed at first.
+
+ Strategy: suppose that the models that we will create will have prefixes appended
+ to each of its keys, for example due to an extra level of nesting that the original
+ pre-trained weights from ImageNet won't contain. For example, model.state_dict()
+ might return backbone[0].body.res2.conv1.weight, while the pre-trained model contains
+ res2.conv1.weight. We thus want to match both parameters together.
+ For that, we look for each model weight, look among all loaded keys if there is one
+ that is a suffix of the current weight name, and use it if that's the case.
+ If multiple matches exist, take the one with longest size
+ of the corresponding name. For example, for the same model as before, the pretrained
+ weight file can contain both res2.conv1.weight, as well as conv1.weight. In this case,
+ we want to match backbone[0].body.conv1.weight to conv1.weight, and
+ backbone[0].body.res2.conv1.weight to res2.conv1.weight.
+ """
+ model_keys = sorted(model_state_dict.keys())
+ if c2_conversion:
+ ckpt_state_dict, original_keys = convert_c2_detectron_names(ckpt_state_dict)
+ # original_keys: the name in the original dict (before renaming)
+ else:
+ original_keys = {x: x for x in ckpt_state_dict.keys()}
+ ckpt_keys = sorted(ckpt_state_dict.keys())
+
+ def match(a, b):
+ # Matched ckpt_key should be a complete (starts with '.') suffix.
+ # For example, roi_heads.mesh_head.whatever_conv1 does not match conv1,
+ # but matches whatever_conv1 or mesh_head.whatever_conv1.
+ return a == b or a.endswith("." + b)
+
+ # get a matrix of string matches, where each (i, j) entry correspond to the size of the
+ # ckpt_key string, if it matches
+ match_matrix = [len(j) if match(i, j) else 0 for i in model_keys for j in ckpt_keys]
+ match_matrix = torch.as_tensor(match_matrix).view(len(model_keys), len(ckpt_keys))
+ # use the matched one with longest size in case of multiple matches
+ max_match_size, idxs = match_matrix.max(1)
+ # remove indices that correspond to no-match
+ idxs[max_match_size == 0] = -1
+
+ logger = logging.getLogger(__name__)
+ # matched_pairs (matched checkpoint key --> matched model key)
+ matched_keys = {}
+ result_state_dict = {}
+ for idx_model, idx_ckpt in enumerate(idxs.tolist()):
+ if idx_ckpt == -1:
+ continue
+ key_model = model_keys[idx_model]
+ key_ckpt = ckpt_keys[idx_ckpt]
+ value_ckpt = ckpt_state_dict[key_ckpt]
+ shape_in_model = model_state_dict[key_model].shape
+
+ if shape_in_model != value_ckpt.shape:
+ logger.warning(
+ "Shape of {} in checkpoint is {}, while shape of {} in model is {}.".format(
+ key_ckpt, value_ckpt.shape, key_model, shape_in_model
+ )
+ )
+ logger.warning(
+ "{} will not be loaded. Please double check and see if this is desired.".format(
+ key_ckpt
+ )
+ )
+ continue
+
+ assert key_model not in result_state_dict
+ result_state_dict[key_model] = value_ckpt
+ if key_ckpt in matched_keys: # already added to matched_keys
+ logger.error(
+ "Ambiguity found for {} in checkpoint!"
+ "It matches at least two keys in the model ({} and {}).".format(
+ key_ckpt, key_model, matched_keys[key_ckpt]
+ )
+ )
+ raise ValueError("Cannot match one checkpoint key to multiple keys in the model.")
+
+ matched_keys[key_ckpt] = key_model
+
+ # logging:
+ matched_model_keys = sorted(matched_keys.values())
+ if len(matched_model_keys) == 0:
+ logger.warning("No weights in checkpoint matched with model.")
+ return ckpt_state_dict
+ common_prefix = _longest_common_prefix(matched_model_keys)
+ rev_matched_keys = {v: k for k, v in matched_keys.items()}
+ original_keys = {k: original_keys[rev_matched_keys[k]] for k in matched_model_keys}
+
+ model_key_groups = _group_keys_by_module(matched_model_keys, original_keys)
+ table = []
+ memo = set()
+ for key_model in matched_model_keys:
+ if key_model in memo:
+ continue
+ if key_model in model_key_groups:
+ group = model_key_groups[key_model]
+ memo |= set(group)
+ shapes = [tuple(model_state_dict[k].shape) for k in group]
+ table.append(
+ (
+ _longest_common_prefix([k[len(common_prefix) :] for k in group]) + "*",
+ _group_str([original_keys[k] for k in group]),
+ " ".join([str(x).replace(" ", "") for x in shapes]),
+ )
+ )
+ else:
+ key_checkpoint = original_keys[key_model]
+ shape = str(tuple(model_state_dict[key_model].shape))
+ table.append((key_model[len(common_prefix) :], key_checkpoint, shape))
+ table_str = tabulate(
+ table, tablefmt="pipe", headers=["Names in Model", "Names in Checkpoint", "Shapes"]
+ )
+ logger.info(
+ "Following weights matched with "
+ + (f"submodule {common_prefix[:-1]}" if common_prefix else "model")
+ + ":\n"
+ + table_str
+ )
+
+ unmatched_ckpt_keys = [k for k in ckpt_keys if k not in set(matched_keys.keys())]
+ for k in unmatched_ckpt_keys:
+ result_state_dict[k] = ckpt_state_dict[k]
+ return result_state_dict
+
+
+def _group_keys_by_module(keys: List[str], original_names: Dict[str, str]):
+ """
+ Params in the same submodule are grouped together.
+
+ Args:
+ keys: names of all parameters
+ original_names: mapping from parameter name to their name in the checkpoint
+
+ Returns:
+ dict[name -> all other names in the same group]
+ """
+
+ def _submodule_name(key):
+ pos = key.rfind(".")
+ if pos < 0:
+ return None
+ prefix = key[: pos + 1]
+ return prefix
+
+ all_submodules = [_submodule_name(k) for k in keys]
+ all_submodules = [x for x in all_submodules if x]
+ all_submodules = sorted(all_submodules, key=len)
+
+ ret = {}
+ for prefix in all_submodules:
+ group = [k for k in keys if k.startswith(prefix)]
+ if len(group) <= 1:
+ continue
+ original_name_lcp = _longest_common_prefix_str([original_names[k] for k in group])
+ if len(original_name_lcp) == 0:
+ # don't group weights if original names don't share prefix
+ continue
+
+ for k in group:
+ if k in ret:
+ continue
+ ret[k] = group
+ return ret
+
+
+def _longest_common_prefix(names: List[str]) -> str:
+ """
+ ["abc.zfg", "abc.zef"] -> "abc."
+ """
+ names = [n.split(".") for n in names]
+ m1, m2 = min(names), max(names)
+ ret = [a for a, b in zip(m1, m2) if a == b]
+ ret = ".".join(ret) + "." if len(ret) else ""
+ return ret
+
+
+def _longest_common_prefix_str(names: List[str]) -> str:
+ m1, m2 = min(names), max(names)
+ lcp = []
+ for a, b in zip(m1, m2):
+ if a == b:
+ lcp.append(a)
+ else:
+ break
+ lcp = "".join(lcp)
+ return lcp
+
+
+def _group_str(names: List[str]) -> str:
+ """
+ Turn "common1", "common2", "common3" into "common{1,2,3}"
+ """
+ lcp = _longest_common_prefix_str(names)
+ rest = [x[len(lcp) :] for x in names]
+ rest = "{" + ",".join(rest) + "}"
+ ret = lcp + rest
+
+ # add some simplification for BN specifically
+ ret = ret.replace("bn_{beta,running_mean,running_var,gamma}", "bn_*")
+ ret = ret.replace("bn_beta,bn_running_mean,bn_running_var,bn_gamma", "bn_*")
+ return ret
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/checkpoint/catalog.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/checkpoint/catalog.py
new file mode 100644
index 0000000000000000000000000000000000000000..b5641858fea4936ad10b07a4237faba78dda77ff
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/checkpoint/catalog.py
@@ -0,0 +1,115 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+import logging
+
+from annotator.oneformer.detectron2.utils.file_io import PathHandler, PathManager
+
+
+class ModelCatalog(object):
+ """
+ Store mappings from names to third-party models.
+ """
+
+ S3_C2_DETECTRON_PREFIX = "https://dl.fbaipublicfiles.com/detectron"
+
+ # MSRA models have STRIDE_IN_1X1=True. False otherwise.
+ # NOTE: all BN models here have fused BN into an affine layer.
+ # As a result, you should only load them to a model with "FrozenBN".
+ # Loading them to a model with regular BN or SyncBN is wrong.
+ # Even when loaded to FrozenBN, it is still different from affine by an epsilon,
+ # which should be negligible for training.
+ # NOTE: all models here uses PIXEL_STD=[1,1,1]
+ # NOTE: Most of the BN models here are no longer used. We use the
+ # re-converted pre-trained models under detectron2 model zoo instead.
+ C2_IMAGENET_MODELS = {
+ "MSRA/R-50": "ImageNetPretrained/MSRA/R-50.pkl",
+ "MSRA/R-101": "ImageNetPretrained/MSRA/R-101.pkl",
+ "FAIR/R-50-GN": "ImageNetPretrained/47261647/R-50-GN.pkl",
+ "FAIR/R-101-GN": "ImageNetPretrained/47592356/R-101-GN.pkl",
+ "FAIR/X-101-32x8d": "ImageNetPretrained/20171220/X-101-32x8d.pkl",
+ "FAIR/X-101-64x4d": "ImageNetPretrained/FBResNeXt/X-101-64x4d.pkl",
+ "FAIR/X-152-32x8d-IN5k": "ImageNetPretrained/25093814/X-152-32x8d-IN5k.pkl",
+ }
+
+ C2_DETECTRON_PATH_FORMAT = (
+ "{prefix}/{url}/output/train/{dataset}/{type}/model_final.pkl" # noqa B950
+ )
+
+ C2_DATASET_COCO = "coco_2014_train%3Acoco_2014_valminusminival"
+ C2_DATASET_COCO_KEYPOINTS = "keypoints_coco_2014_train%3Akeypoints_coco_2014_valminusminival"
+
+ # format: {model_name} -> part of the url
+ C2_DETECTRON_MODELS = {
+ "35857197/e2e_faster_rcnn_R-50-C4_1x": "35857197/12_2017_baselines/e2e_faster_rcnn_R-50-C4_1x.yaml.01_33_49.iAX0mXvW", # noqa B950
+ "35857345/e2e_faster_rcnn_R-50-FPN_1x": "35857345/12_2017_baselines/e2e_faster_rcnn_R-50-FPN_1x.yaml.01_36_30.cUF7QR7I", # noqa B950
+ "35857890/e2e_faster_rcnn_R-101-FPN_1x": "35857890/12_2017_baselines/e2e_faster_rcnn_R-101-FPN_1x.yaml.01_38_50.sNxI7sX7", # noqa B950
+ "36761737/e2e_faster_rcnn_X-101-32x8d-FPN_1x": "36761737/12_2017_baselines/e2e_faster_rcnn_X-101-32x8d-FPN_1x.yaml.06_31_39.5MIHi1fZ", # noqa B950
+ "35858791/e2e_mask_rcnn_R-50-C4_1x": "35858791/12_2017_baselines/e2e_mask_rcnn_R-50-C4_1x.yaml.01_45_57.ZgkA7hPB", # noqa B950
+ "35858933/e2e_mask_rcnn_R-50-FPN_1x": "35858933/12_2017_baselines/e2e_mask_rcnn_R-50-FPN_1x.yaml.01_48_14.DzEQe4wC", # noqa B950
+ "35861795/e2e_mask_rcnn_R-101-FPN_1x": "35861795/12_2017_baselines/e2e_mask_rcnn_R-101-FPN_1x.yaml.02_31_37.KqyEK4tT", # noqa B950
+ "36761843/e2e_mask_rcnn_X-101-32x8d-FPN_1x": "36761843/12_2017_baselines/e2e_mask_rcnn_X-101-32x8d-FPN_1x.yaml.06_35_59.RZotkLKI", # noqa B950
+ "48616381/e2e_mask_rcnn_R-50-FPN_2x_gn": "GN/48616381/04_2018_gn_baselines/e2e_mask_rcnn_R-50-FPN_2x_gn_0416.13_23_38.bTlTI97Q", # noqa B950
+ "37697547/e2e_keypoint_rcnn_R-50-FPN_1x": "37697547/12_2017_baselines/e2e_keypoint_rcnn_R-50-FPN_1x.yaml.08_42_54.kdzV35ao", # noqa B950
+ "35998355/rpn_R-50-C4_1x": "35998355/12_2017_baselines/rpn_R-50-C4_1x.yaml.08_00_43.njH5oD9L", # noqa B950
+ "35998814/rpn_R-50-FPN_1x": "35998814/12_2017_baselines/rpn_R-50-FPN_1x.yaml.08_06_03.Axg0r179", # noqa B950
+ "36225147/fast_R-50-FPN_1x": "36225147/12_2017_baselines/fast_rcnn_R-50-FPN_1x.yaml.08_39_09.L3obSdQ2", # noqa B950
+ }
+
+ @staticmethod
+ def get(name):
+ if name.startswith("Caffe2Detectron/COCO"):
+ return ModelCatalog._get_c2_detectron_baseline(name)
+ if name.startswith("ImageNetPretrained/"):
+ return ModelCatalog._get_c2_imagenet_pretrained(name)
+ raise RuntimeError("model not present in the catalog: {}".format(name))
+
+ @staticmethod
+ def _get_c2_imagenet_pretrained(name):
+ prefix = ModelCatalog.S3_C2_DETECTRON_PREFIX
+ name = name[len("ImageNetPretrained/") :]
+ name = ModelCatalog.C2_IMAGENET_MODELS[name]
+ url = "/".join([prefix, name])
+ return url
+
+ @staticmethod
+ def _get_c2_detectron_baseline(name):
+ name = name[len("Caffe2Detectron/COCO/") :]
+ url = ModelCatalog.C2_DETECTRON_MODELS[name]
+ if "keypoint_rcnn" in name:
+ dataset = ModelCatalog.C2_DATASET_COCO_KEYPOINTS
+ else:
+ dataset = ModelCatalog.C2_DATASET_COCO
+
+ if "35998355/rpn_R-50-C4_1x" in name:
+ # this one model is somehow different from others ..
+ type = "rpn"
+ else:
+ type = "generalized_rcnn"
+
+ # Detectron C2 models are stored in the structure defined in `C2_DETECTRON_PATH_FORMAT`.
+ url = ModelCatalog.C2_DETECTRON_PATH_FORMAT.format(
+ prefix=ModelCatalog.S3_C2_DETECTRON_PREFIX, url=url, type=type, dataset=dataset
+ )
+ return url
+
+
+class ModelCatalogHandler(PathHandler):
+ """
+ Resolve URL like catalog://.
+ """
+
+ PREFIX = "catalog://"
+
+ def _get_supported_prefixes(self):
+ return [self.PREFIX]
+
+ def _get_local_path(self, path, **kwargs):
+ logger = logging.getLogger(__name__)
+ catalog_path = ModelCatalog.get(path[len(self.PREFIX) :])
+ logger.info("Catalog entry {} points to {}".format(path, catalog_path))
+ return PathManager.get_local_path(catalog_path, **kwargs)
+
+ def _open(self, path, mode="r", **kwargs):
+ return PathManager.open(self._get_local_path(path), mode, **kwargs)
+
+
+PathManager.register_handler(ModelCatalogHandler())
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/checkpoint/detection_checkpoint.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/checkpoint/detection_checkpoint.py
new file mode 100644
index 0000000000000000000000000000000000000000..7d411e54bd5e004504423ba052db6f85ec511f72
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/checkpoint/detection_checkpoint.py
@@ -0,0 +1,145 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+import logging
+import os
+import pickle
+from urllib.parse import parse_qs, urlparse
+import torch
+from fvcore.common.checkpoint import Checkpointer
+from torch.nn.parallel import DistributedDataParallel
+
+import annotator.oneformer.detectron2.utils.comm as comm
+from annotator.oneformer.detectron2.utils.file_io import PathManager
+
+from .c2_model_loading import align_and_update_state_dicts
+
+
+class DetectionCheckpointer(Checkpointer):
+ """
+ Same as :class:`Checkpointer`, but is able to:
+ 1. handle models in detectron & detectron2 model zoo, and apply conversions for legacy models.
+ 2. correctly load checkpoints that are only available on the master worker
+ """
+
+ def __init__(self, model, save_dir="", *, save_to_disk=None, **checkpointables):
+ is_main_process = comm.is_main_process()
+ super().__init__(
+ model,
+ save_dir,
+ save_to_disk=is_main_process if save_to_disk is None else save_to_disk,
+ **checkpointables,
+ )
+ self.path_manager = PathManager
+ self._parsed_url_during_load = None
+
+ def load(self, path, *args, **kwargs):
+ assert self._parsed_url_during_load is None
+ need_sync = False
+ logger = logging.getLogger(__name__)
+ logger.info("[DetectionCheckpointer] Loading from {} ...".format(path))
+
+ if path and isinstance(self.model, DistributedDataParallel):
+ path = self.path_manager.get_local_path(path)
+ has_file = os.path.isfile(path)
+ all_has_file = comm.all_gather(has_file)
+ if not all_has_file[0]:
+ raise OSError(f"File {path} not found on main worker.")
+ if not all(all_has_file):
+ logger.warning(
+ f"Not all workers can read checkpoint {path}. "
+ "Training may fail to fully resume."
+ )
+ # TODO: broadcast the checkpoint file contents from main
+ # worker, and load from it instead.
+ need_sync = True
+ if not has_file:
+ path = None # don't load if not readable
+
+ if path:
+ parsed_url = urlparse(path)
+ self._parsed_url_during_load = parsed_url
+ path = parsed_url._replace(query="").geturl() # remove query from filename
+ path = self.path_manager.get_local_path(path)
+
+ self.logger.setLevel('CRITICAL')
+ ret = super().load(path, *args, **kwargs)
+
+ if need_sync:
+ logger.info("Broadcasting model states from main worker ...")
+ self.model._sync_params_and_buffers()
+ self._parsed_url_during_load = None # reset to None
+ return ret
+
+ def _load_file(self, filename):
+ if filename.endswith(".pkl"):
+ with PathManager.open(filename, "rb") as f:
+ data = pickle.load(f, encoding="latin1")
+ if "model" in data and "__author__" in data:
+ # file is in Detectron2 model zoo format
+ self.logger.info("Reading a file from '{}'".format(data["__author__"]))
+ return data
+ else:
+ # assume file is from Caffe2 / Detectron1 model zoo
+ if "blobs" in data:
+ # Detection models have "blobs", but ImageNet models don't
+ data = data["blobs"]
+ data = {k: v for k, v in data.items() if not k.endswith("_momentum")}
+ return {"model": data, "__author__": "Caffe2", "matching_heuristics": True}
+ elif filename.endswith(".pyth"):
+ # assume file is from pycls; no one else seems to use the ".pyth" extension
+ with PathManager.open(filename, "rb") as f:
+ data = torch.load(f)
+ assert (
+ "model_state" in data
+ ), f"Cannot load .pyth file {filename}; pycls checkpoints must contain 'model_state'."
+ model_state = {
+ k: v
+ for k, v in data["model_state"].items()
+ if not k.endswith("num_batches_tracked")
+ }
+ return {"model": model_state, "__author__": "pycls", "matching_heuristics": True}
+
+ loaded = self._torch_load(filename)
+ if "model" not in loaded:
+ loaded = {"model": loaded}
+ assert self._parsed_url_during_load is not None, "`_load_file` must be called inside `load`"
+ parsed_url = self._parsed_url_during_load
+ queries = parse_qs(parsed_url.query)
+ if queries.pop("matching_heuristics", "False") == ["True"]:
+ loaded["matching_heuristics"] = True
+ if len(queries) > 0:
+ raise ValueError(
+ f"Unsupported query remaining: f{queries}, orginal filename: {parsed_url.geturl()}"
+ )
+ return loaded
+
+ def _torch_load(self, f):
+ return super()._load_file(f)
+
+ def _load_model(self, checkpoint):
+ if checkpoint.get("matching_heuristics", False):
+ self._convert_ndarray_to_tensor(checkpoint["model"])
+ # convert weights by name-matching heuristics
+ checkpoint["model"] = align_and_update_state_dicts(
+ self.model.state_dict(),
+ checkpoint["model"],
+ c2_conversion=checkpoint.get("__author__", None) == "Caffe2",
+ )
+ # for non-caffe2 models, use standard ways to load it
+ incompatible = super()._load_model(checkpoint)
+
+ model_buffers = dict(self.model.named_buffers(recurse=False))
+ for k in ["pixel_mean", "pixel_std"]:
+ # Ignore missing key message about pixel_mean/std.
+ # Though they may be missing in old checkpoints, they will be correctly
+ # initialized from config anyway.
+ if k in model_buffers:
+ try:
+ incompatible.missing_keys.remove(k)
+ except ValueError:
+ pass
+ for k in incompatible.unexpected_keys[:]:
+ # Ignore unexpected keys about cell anchors. They exist in old checkpoints
+ # but now they are non-persistent buffers and will not be in new checkpoints.
+ if "anchor_generator.cell_anchors" in k:
+ incompatible.unexpected_keys.remove(k)
+ return incompatible
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/config/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/config/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..a78ed118685fcfd869f7a72caf6b94621530196a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/config/__init__.py
@@ -0,0 +1,24 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+from .compat import downgrade_config, upgrade_config
+from .config import CfgNode, get_cfg, global_cfg, set_global_cfg, configurable
+from .instantiate import instantiate
+from .lazy import LazyCall, LazyConfig
+
+__all__ = [
+ "CfgNode",
+ "get_cfg",
+ "global_cfg",
+ "set_global_cfg",
+ "downgrade_config",
+ "upgrade_config",
+ "configurable",
+ "instantiate",
+ "LazyCall",
+ "LazyConfig",
+]
+
+
+from annotator.oneformer.detectron2.utils.env import fixup_module_metadata
+
+fixup_module_metadata(__name__, globals(), __all__)
+del fixup_module_metadata
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/config/compat.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/config/compat.py
new file mode 100644
index 0000000000000000000000000000000000000000..11a08c439bf14defd880e37a938fab8a08e68eeb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/config/compat.py
@@ -0,0 +1,229 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+"""
+Backward compatibility of configs.
+
+Instructions to bump version:
++ It's not needed to bump version if new keys are added.
+ It's only needed when backward-incompatible changes happen
+ (i.e., some existing keys disappear, or the meaning of a key changes)
++ To bump version, do the following:
+ 1. Increment _C.VERSION in defaults.py
+ 2. Add a converter in this file.
+
+ Each ConverterVX has a function "upgrade" which in-place upgrades config from X-1 to X,
+ and a function "downgrade" which in-place downgrades config from X to X-1
+
+ In each function, VERSION is left unchanged.
+
+ Each converter assumes that its input has the relevant keys
+ (i.e., the input is not a partial config).
+ 3. Run the tests (test_config.py) to make sure the upgrade & downgrade
+ functions are consistent.
+"""
+
+import logging
+from typing import List, Optional, Tuple
+
+from .config import CfgNode as CN
+from .defaults import _C
+
+__all__ = ["upgrade_config", "downgrade_config"]
+
+
+def upgrade_config(cfg: CN, to_version: Optional[int] = None) -> CN:
+ """
+ Upgrade a config from its current version to a newer version.
+
+ Args:
+ cfg (CfgNode):
+ to_version (int): defaults to the latest version.
+ """
+ cfg = cfg.clone()
+ if to_version is None:
+ to_version = _C.VERSION
+
+ assert cfg.VERSION <= to_version, "Cannot upgrade from v{} to v{}!".format(
+ cfg.VERSION, to_version
+ )
+ for k in range(cfg.VERSION, to_version):
+ converter = globals()["ConverterV" + str(k + 1)]
+ converter.upgrade(cfg)
+ cfg.VERSION = k + 1
+ return cfg
+
+
+def downgrade_config(cfg: CN, to_version: int) -> CN:
+ """
+ Downgrade a config from its current version to an older version.
+
+ Args:
+ cfg (CfgNode):
+ to_version (int):
+
+ Note:
+ A general downgrade of arbitrary configs is not always possible due to the
+ different functionalities in different versions.
+ The purpose of downgrade is only to recover the defaults in old versions,
+ allowing it to load an old partial yaml config.
+ Therefore, the implementation only needs to fill in the default values
+ in the old version when a general downgrade is not possible.
+ """
+ cfg = cfg.clone()
+ assert cfg.VERSION >= to_version, "Cannot downgrade from v{} to v{}!".format(
+ cfg.VERSION, to_version
+ )
+ for k in range(cfg.VERSION, to_version, -1):
+ converter = globals()["ConverterV" + str(k)]
+ converter.downgrade(cfg)
+ cfg.VERSION = k - 1
+ return cfg
+
+
+def guess_version(cfg: CN, filename: str) -> int:
+ """
+ Guess the version of a partial config where the VERSION field is not specified.
+ Returns the version, or the latest if cannot make a guess.
+
+ This makes it easier for users to migrate.
+ """
+ logger = logging.getLogger(__name__)
+
+ def _has(name: str) -> bool:
+ cur = cfg
+ for n in name.split("."):
+ if n not in cur:
+ return False
+ cur = cur[n]
+ return True
+
+ # Most users' partial configs have "MODEL.WEIGHT", so guess on it
+ ret = None
+ if _has("MODEL.WEIGHT") or _has("TEST.AUG_ON"):
+ ret = 1
+
+ if ret is not None:
+ logger.warning("Config '{}' has no VERSION. Assuming it to be v{}.".format(filename, ret))
+ else:
+ ret = _C.VERSION
+ logger.warning(
+ "Config '{}' has no VERSION. Assuming it to be compatible with latest v{}.".format(
+ filename, ret
+ )
+ )
+ return ret
+
+
+def _rename(cfg: CN, old: str, new: str) -> None:
+ old_keys = old.split(".")
+ new_keys = new.split(".")
+
+ def _set(key_seq: List[str], val: str) -> None:
+ cur = cfg
+ for k in key_seq[:-1]:
+ if k not in cur:
+ cur[k] = CN()
+ cur = cur[k]
+ cur[key_seq[-1]] = val
+
+ def _get(key_seq: List[str]) -> CN:
+ cur = cfg
+ for k in key_seq:
+ cur = cur[k]
+ return cur
+
+ def _del(key_seq: List[str]) -> None:
+ cur = cfg
+ for k in key_seq[:-1]:
+ cur = cur[k]
+ del cur[key_seq[-1]]
+ if len(cur) == 0 and len(key_seq) > 1:
+ _del(key_seq[:-1])
+
+ _set(new_keys, _get(old_keys))
+ _del(old_keys)
+
+
+class _RenameConverter:
+ """
+ A converter that handles simple rename.
+ """
+
+ RENAME: List[Tuple[str, str]] = [] # list of tuples of (old name, new name)
+
+ @classmethod
+ def upgrade(cls, cfg: CN) -> None:
+ for old, new in cls.RENAME:
+ _rename(cfg, old, new)
+
+ @classmethod
+ def downgrade(cls, cfg: CN) -> None:
+ for old, new in cls.RENAME[::-1]:
+ _rename(cfg, new, old)
+
+
+class ConverterV1(_RenameConverter):
+ RENAME = [("MODEL.RPN_HEAD.NAME", "MODEL.RPN.HEAD_NAME")]
+
+
+class ConverterV2(_RenameConverter):
+ """
+ A large bulk of rename, before public release.
+ """
+
+ RENAME = [
+ ("MODEL.WEIGHT", "MODEL.WEIGHTS"),
+ ("MODEL.PANOPTIC_FPN.SEMANTIC_LOSS_SCALE", "MODEL.SEM_SEG_HEAD.LOSS_WEIGHT"),
+ ("MODEL.PANOPTIC_FPN.RPN_LOSS_SCALE", "MODEL.RPN.LOSS_WEIGHT"),
+ ("MODEL.PANOPTIC_FPN.INSTANCE_LOSS_SCALE", "MODEL.PANOPTIC_FPN.INSTANCE_LOSS_WEIGHT"),
+ ("MODEL.PANOPTIC_FPN.COMBINE_ON", "MODEL.PANOPTIC_FPN.COMBINE.ENABLED"),
+ (
+ "MODEL.PANOPTIC_FPN.COMBINE_OVERLAP_THRESHOLD",
+ "MODEL.PANOPTIC_FPN.COMBINE.OVERLAP_THRESH",
+ ),
+ (
+ "MODEL.PANOPTIC_FPN.COMBINE_STUFF_AREA_LIMIT",
+ "MODEL.PANOPTIC_FPN.COMBINE.STUFF_AREA_LIMIT",
+ ),
+ (
+ "MODEL.PANOPTIC_FPN.COMBINE_INSTANCES_CONFIDENCE_THRESHOLD",
+ "MODEL.PANOPTIC_FPN.COMBINE.INSTANCES_CONFIDENCE_THRESH",
+ ),
+ ("MODEL.ROI_HEADS.SCORE_THRESH", "MODEL.ROI_HEADS.SCORE_THRESH_TEST"),
+ ("MODEL.ROI_HEADS.NMS", "MODEL.ROI_HEADS.NMS_THRESH_TEST"),
+ ("MODEL.RETINANET.INFERENCE_SCORE_THRESHOLD", "MODEL.RETINANET.SCORE_THRESH_TEST"),
+ ("MODEL.RETINANET.INFERENCE_TOPK_CANDIDATES", "MODEL.RETINANET.TOPK_CANDIDATES_TEST"),
+ ("MODEL.RETINANET.INFERENCE_NMS_THRESHOLD", "MODEL.RETINANET.NMS_THRESH_TEST"),
+ ("TEST.DETECTIONS_PER_IMG", "TEST.DETECTIONS_PER_IMAGE"),
+ ("TEST.AUG_ON", "TEST.AUG.ENABLED"),
+ ("TEST.AUG_MIN_SIZES", "TEST.AUG.MIN_SIZES"),
+ ("TEST.AUG_MAX_SIZE", "TEST.AUG.MAX_SIZE"),
+ ("TEST.AUG_FLIP", "TEST.AUG.FLIP"),
+ ]
+
+ @classmethod
+ def upgrade(cls, cfg: CN) -> None:
+ super().upgrade(cfg)
+
+ if cfg.MODEL.META_ARCHITECTURE == "RetinaNet":
+ _rename(
+ cfg, "MODEL.RETINANET.ANCHOR_ASPECT_RATIOS", "MODEL.ANCHOR_GENERATOR.ASPECT_RATIOS"
+ )
+ _rename(cfg, "MODEL.RETINANET.ANCHOR_SIZES", "MODEL.ANCHOR_GENERATOR.SIZES")
+ del cfg["MODEL"]["RPN"]["ANCHOR_SIZES"]
+ del cfg["MODEL"]["RPN"]["ANCHOR_ASPECT_RATIOS"]
+ else:
+ _rename(cfg, "MODEL.RPN.ANCHOR_ASPECT_RATIOS", "MODEL.ANCHOR_GENERATOR.ASPECT_RATIOS")
+ _rename(cfg, "MODEL.RPN.ANCHOR_SIZES", "MODEL.ANCHOR_GENERATOR.SIZES")
+ del cfg["MODEL"]["RETINANET"]["ANCHOR_SIZES"]
+ del cfg["MODEL"]["RETINANET"]["ANCHOR_ASPECT_RATIOS"]
+ del cfg["MODEL"]["RETINANET"]["ANCHOR_STRIDES"]
+
+ @classmethod
+ def downgrade(cls, cfg: CN) -> None:
+ super().downgrade(cfg)
+
+ _rename(cfg, "MODEL.ANCHOR_GENERATOR.ASPECT_RATIOS", "MODEL.RPN.ANCHOR_ASPECT_RATIOS")
+ _rename(cfg, "MODEL.ANCHOR_GENERATOR.SIZES", "MODEL.RPN.ANCHOR_SIZES")
+ cfg.MODEL.RETINANET.ANCHOR_ASPECT_RATIOS = cfg.MODEL.RPN.ANCHOR_ASPECT_RATIOS
+ cfg.MODEL.RETINANET.ANCHOR_SIZES = cfg.MODEL.RPN.ANCHOR_SIZES
+ cfg.MODEL.RETINANET.ANCHOR_STRIDES = [] # this is not used anywhere in any version
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/config/config.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/config/config.py
new file mode 100644
index 0000000000000000000000000000000000000000..c5b1303422481dc7adb3ee5221377770e0c01a81
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/config/config.py
@@ -0,0 +1,265 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) Facebook, Inc. and its affiliates.
+
+import functools
+import inspect
+import logging
+from fvcore.common.config import CfgNode as _CfgNode
+
+from annotator.oneformer.detectron2.utils.file_io import PathManager
+
+
+class CfgNode(_CfgNode):
+ """
+ The same as `fvcore.common.config.CfgNode`, but different in:
+
+ 1. Use unsafe yaml loading by default.
+ Note that this may lead to arbitrary code execution: you must not
+ load a config file from untrusted sources before manually inspecting
+ the content of the file.
+ 2. Support config versioning.
+ When attempting to merge an old config, it will convert the old config automatically.
+
+ .. automethod:: clone
+ .. automethod:: freeze
+ .. automethod:: defrost
+ .. automethod:: is_frozen
+ .. automethod:: load_yaml_with_base
+ .. automethod:: merge_from_list
+ .. automethod:: merge_from_other_cfg
+ """
+
+ @classmethod
+ def _open_cfg(cls, filename):
+ return PathManager.open(filename, "r")
+
+ # Note that the default value of allow_unsafe is changed to True
+ def merge_from_file(self, cfg_filename: str, allow_unsafe: bool = True) -> None:
+ """
+ Load content from the given config file and merge it into self.
+
+ Args:
+ cfg_filename: config filename
+ allow_unsafe: allow unsafe yaml syntax
+ """
+ assert PathManager.isfile(cfg_filename), f"Config file '{cfg_filename}' does not exist!"
+ loaded_cfg = self.load_yaml_with_base(cfg_filename, allow_unsafe=allow_unsafe)
+ loaded_cfg = type(self)(loaded_cfg)
+
+ # defaults.py needs to import CfgNode
+ from .defaults import _C
+
+ latest_ver = _C.VERSION
+ assert (
+ latest_ver == self.VERSION
+ ), "CfgNode.merge_from_file is only allowed on a config object of latest version!"
+
+ logger = logging.getLogger(__name__)
+
+ loaded_ver = loaded_cfg.get("VERSION", None)
+ if loaded_ver is None:
+ from .compat import guess_version
+
+ loaded_ver = guess_version(loaded_cfg, cfg_filename)
+ assert loaded_ver <= self.VERSION, "Cannot merge a v{} config into a v{} config.".format(
+ loaded_ver, self.VERSION
+ )
+
+ if loaded_ver == self.VERSION:
+ self.merge_from_other_cfg(loaded_cfg)
+ else:
+ # compat.py needs to import CfgNode
+ from .compat import upgrade_config, downgrade_config
+
+ logger.warning(
+ "Loading an old v{} config file '{}' by automatically upgrading to v{}. "
+ "See docs/CHANGELOG.md for instructions to update your files.".format(
+ loaded_ver, cfg_filename, self.VERSION
+ )
+ )
+ # To convert, first obtain a full config at an old version
+ old_self = downgrade_config(self, to_version=loaded_ver)
+ old_self.merge_from_other_cfg(loaded_cfg)
+ new_config = upgrade_config(old_self)
+ self.clear()
+ self.update(new_config)
+
+ def dump(self, *args, **kwargs):
+ """
+ Returns:
+ str: a yaml string representation of the config
+ """
+ # to make it show up in docs
+ return super().dump(*args, **kwargs)
+
+
+global_cfg = CfgNode()
+
+
+def get_cfg() -> CfgNode:
+ """
+ Get a copy of the default config.
+
+ Returns:
+ a detectron2 CfgNode instance.
+ """
+ from .defaults import _C
+
+ return _C.clone()
+
+
+def set_global_cfg(cfg: CfgNode) -> None:
+ """
+ Let the global config point to the given cfg.
+
+ Assume that the given "cfg" has the key "KEY", after calling
+ `set_global_cfg(cfg)`, the key can be accessed by:
+ ::
+ from annotator.oneformer.detectron2.config import global_cfg
+ print(global_cfg.KEY)
+
+ By using a hacky global config, you can access these configs anywhere,
+ without having to pass the config object or the values deep into the code.
+ This is a hacky feature introduced for quick prototyping / research exploration.
+ """
+ global global_cfg
+ global_cfg.clear()
+ global_cfg.update(cfg)
+
+
+def configurable(init_func=None, *, from_config=None):
+ """
+ Decorate a function or a class's __init__ method so that it can be called
+ with a :class:`CfgNode` object using a :func:`from_config` function that translates
+ :class:`CfgNode` to arguments.
+
+ Examples:
+ ::
+ # Usage 1: Decorator on __init__:
+ class A:
+ @configurable
+ def __init__(self, a, b=2, c=3):
+ pass
+
+ @classmethod
+ def from_config(cls, cfg): # 'cfg' must be the first argument
+ # Returns kwargs to be passed to __init__
+ return {"a": cfg.A, "b": cfg.B}
+
+ a1 = A(a=1, b=2) # regular construction
+ a2 = A(cfg) # construct with a cfg
+ a3 = A(cfg, b=3, c=4) # construct with extra overwrite
+
+ # Usage 2: Decorator on any function. Needs an extra from_config argument:
+ @configurable(from_config=lambda cfg: {"a: cfg.A, "b": cfg.B})
+ def a_func(a, b=2, c=3):
+ pass
+
+ a1 = a_func(a=1, b=2) # regular call
+ a2 = a_func(cfg) # call with a cfg
+ a3 = a_func(cfg, b=3, c=4) # call with extra overwrite
+
+ Args:
+ init_func (callable): a class's ``__init__`` method in usage 1. The
+ class must have a ``from_config`` classmethod which takes `cfg` as
+ the first argument.
+ from_config (callable): the from_config function in usage 2. It must take `cfg`
+ as its first argument.
+ """
+
+ if init_func is not None:
+ assert (
+ inspect.isfunction(init_func)
+ and from_config is None
+ and init_func.__name__ == "__init__"
+ ), "Incorrect use of @configurable. Check API documentation for examples."
+
+ @functools.wraps(init_func)
+ def wrapped(self, *args, **kwargs):
+ try:
+ from_config_func = type(self).from_config
+ except AttributeError as e:
+ raise AttributeError(
+ "Class with @configurable must have a 'from_config' classmethod."
+ ) from e
+ if not inspect.ismethod(from_config_func):
+ raise TypeError("Class with @configurable must have a 'from_config' classmethod.")
+
+ if _called_with_cfg(*args, **kwargs):
+ explicit_args = _get_args_from_config(from_config_func, *args, **kwargs)
+ init_func(self, **explicit_args)
+ else:
+ init_func(self, *args, **kwargs)
+
+ return wrapped
+
+ else:
+ if from_config is None:
+ return configurable # @configurable() is made equivalent to @configurable
+ assert inspect.isfunction(
+ from_config
+ ), "from_config argument of configurable must be a function!"
+
+ def wrapper(orig_func):
+ @functools.wraps(orig_func)
+ def wrapped(*args, **kwargs):
+ if _called_with_cfg(*args, **kwargs):
+ explicit_args = _get_args_from_config(from_config, *args, **kwargs)
+ return orig_func(**explicit_args)
+ else:
+ return orig_func(*args, **kwargs)
+
+ wrapped.from_config = from_config
+ return wrapped
+
+ return wrapper
+
+
+def _get_args_from_config(from_config_func, *args, **kwargs):
+ """
+ Use `from_config` to obtain explicit arguments.
+
+ Returns:
+ dict: arguments to be used for cls.__init__
+ """
+ signature = inspect.signature(from_config_func)
+ if list(signature.parameters.keys())[0] != "cfg":
+ if inspect.isfunction(from_config_func):
+ name = from_config_func.__name__
+ else:
+ name = f"{from_config_func.__self__}.from_config"
+ raise TypeError(f"{name} must take 'cfg' as the first argument!")
+ support_var_arg = any(
+ param.kind in [param.VAR_POSITIONAL, param.VAR_KEYWORD]
+ for param in signature.parameters.values()
+ )
+ if support_var_arg: # forward all arguments to from_config, if from_config accepts them
+ ret = from_config_func(*args, **kwargs)
+ else:
+ # forward supported arguments to from_config
+ supported_arg_names = set(signature.parameters.keys())
+ extra_kwargs = {}
+ for name in list(kwargs.keys()):
+ if name not in supported_arg_names:
+ extra_kwargs[name] = kwargs.pop(name)
+ ret = from_config_func(*args, **kwargs)
+ # forward the other arguments to __init__
+ ret.update(extra_kwargs)
+ return ret
+
+
+def _called_with_cfg(*args, **kwargs):
+ """
+ Returns:
+ bool: whether the arguments contain CfgNode and should be considered
+ forwarded to from_config.
+ """
+ from omegaconf import DictConfig
+
+ if len(args) and isinstance(args[0], (_CfgNode, DictConfig)):
+ return True
+ if isinstance(kwargs.pop("cfg", None), (_CfgNode, DictConfig)):
+ return True
+ # `from_config`'s first argument is forced to be "cfg".
+ # So the above check covers all cases.
+ return False
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/config/defaults.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/config/defaults.py
new file mode 100644
index 0000000000000000000000000000000000000000..ffb79e763f076c9ae982c727309e19b8e0ef170f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/config/defaults.py
@@ -0,0 +1,650 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+from .config import CfgNode as CN
+
+# NOTE: given the new config system
+# (https://detectron2.readthedocs.io/en/latest/tutorials/lazyconfigs.html),
+# we will stop adding new functionalities to default CfgNode.
+
+# -----------------------------------------------------------------------------
+# Convention about Training / Test specific parameters
+# -----------------------------------------------------------------------------
+# Whenever an argument can be either used for training or for testing, the
+# corresponding name will be post-fixed by a _TRAIN for a training parameter,
+# or _TEST for a test-specific parameter.
+# For example, the number of images during training will be
+# IMAGES_PER_BATCH_TRAIN, while the number of images for testing will be
+# IMAGES_PER_BATCH_TEST
+
+# -----------------------------------------------------------------------------
+# Config definition
+# -----------------------------------------------------------------------------
+
+_C = CN()
+
+# The version number, to upgrade from old configs to new ones if any
+# changes happen. It's recommended to keep a VERSION in your config file.
+_C.VERSION = 2
+
+_C.MODEL = CN()
+_C.MODEL.LOAD_PROPOSALS = False
+_C.MODEL.MASK_ON = False
+_C.MODEL.KEYPOINT_ON = False
+_C.MODEL.DEVICE = "cuda"
+_C.MODEL.META_ARCHITECTURE = "GeneralizedRCNN"
+
+# Path (a file path, or URL like detectron2://.., https://..) to a checkpoint file
+# to be loaded to the model. You can find available models in the model zoo.
+_C.MODEL.WEIGHTS = ""
+
+# Values to be used for image normalization (BGR order, since INPUT.FORMAT defaults to BGR).
+# To train on images of different number of channels, just set different mean & std.
+# Default values are the mean pixel value from ImageNet: [103.53, 116.28, 123.675]
+_C.MODEL.PIXEL_MEAN = [103.530, 116.280, 123.675]
+# When using pre-trained models in Detectron1 or any MSRA models,
+# std has been absorbed into its conv1 weights, so the std needs to be set 1.
+# Otherwise, you can use [57.375, 57.120, 58.395] (ImageNet std)
+_C.MODEL.PIXEL_STD = [1.0, 1.0, 1.0]
+
+
+# -----------------------------------------------------------------------------
+# INPUT
+# -----------------------------------------------------------------------------
+_C.INPUT = CN()
+# By default, {MIN,MAX}_SIZE options are used in transforms.ResizeShortestEdge.
+# Please refer to ResizeShortestEdge for detailed definition.
+# Size of the smallest side of the image during training
+_C.INPUT.MIN_SIZE_TRAIN = (800,)
+# Sample size of smallest side by choice or random selection from range give by
+# INPUT.MIN_SIZE_TRAIN
+_C.INPUT.MIN_SIZE_TRAIN_SAMPLING = "choice"
+# Maximum size of the side of the image during training
+_C.INPUT.MAX_SIZE_TRAIN = 1333
+# Size of the smallest side of the image during testing. Set to zero to disable resize in testing.
+_C.INPUT.MIN_SIZE_TEST = 800
+# Maximum size of the side of the image during testing
+_C.INPUT.MAX_SIZE_TEST = 1333
+# Mode for flipping images used in data augmentation during training
+# choose one of ["horizontal, "vertical", "none"]
+_C.INPUT.RANDOM_FLIP = "horizontal"
+
+# `True` if cropping is used for data augmentation during training
+_C.INPUT.CROP = CN({"ENABLED": False})
+# Cropping type. See documentation of `detectron2.data.transforms.RandomCrop` for explanation.
+_C.INPUT.CROP.TYPE = "relative_range"
+# Size of crop in range (0, 1] if CROP.TYPE is "relative" or "relative_range" and in number of
+# pixels if CROP.TYPE is "absolute"
+_C.INPUT.CROP.SIZE = [0.9, 0.9]
+
+
+# Whether the model needs RGB, YUV, HSV etc.
+# Should be one of the modes defined here, as we use PIL to read the image:
+# https://pillow.readthedocs.io/en/stable/handbook/concepts.html#concept-modes
+# with BGR being the one exception. One can set image format to BGR, we will
+# internally use RGB for conversion and flip the channels over
+_C.INPUT.FORMAT = "BGR"
+# The ground truth mask format that the model will use.
+# Mask R-CNN supports either "polygon" or "bitmask" as ground truth.
+_C.INPUT.MASK_FORMAT = "polygon" # alternative: "bitmask"
+
+
+# -----------------------------------------------------------------------------
+# Dataset
+# -----------------------------------------------------------------------------
+_C.DATASETS = CN()
+# List of the dataset names for training. Must be registered in DatasetCatalog
+# Samples from these datasets will be merged and used as one dataset.
+_C.DATASETS.TRAIN = ()
+# List of the pre-computed proposal files for training, which must be consistent
+# with datasets listed in DATASETS.TRAIN.
+_C.DATASETS.PROPOSAL_FILES_TRAIN = ()
+# Number of top scoring precomputed proposals to keep for training
+_C.DATASETS.PRECOMPUTED_PROPOSAL_TOPK_TRAIN = 2000
+# List of the dataset names for testing. Must be registered in DatasetCatalog
+_C.DATASETS.TEST = ()
+# List of the pre-computed proposal files for test, which must be consistent
+# with datasets listed in DATASETS.TEST.
+_C.DATASETS.PROPOSAL_FILES_TEST = ()
+# Number of top scoring precomputed proposals to keep for test
+_C.DATASETS.PRECOMPUTED_PROPOSAL_TOPK_TEST = 1000
+
+# -----------------------------------------------------------------------------
+# DataLoader
+# -----------------------------------------------------------------------------
+_C.DATALOADER = CN()
+# Number of data loading threads
+_C.DATALOADER.NUM_WORKERS = 4
+# If True, each batch should contain only images for which the aspect ratio
+# is compatible. This groups portrait images together, and landscape images
+# are not batched with portrait images.
+_C.DATALOADER.ASPECT_RATIO_GROUPING = True
+# Options: TrainingSampler, RepeatFactorTrainingSampler
+_C.DATALOADER.SAMPLER_TRAIN = "TrainingSampler"
+# Repeat threshold for RepeatFactorTrainingSampler
+_C.DATALOADER.REPEAT_THRESHOLD = 0.0
+# Tf True, when working on datasets that have instance annotations, the
+# training dataloader will filter out images without associated annotations
+_C.DATALOADER.FILTER_EMPTY_ANNOTATIONS = True
+
+# ---------------------------------------------------------------------------- #
+# Backbone options
+# ---------------------------------------------------------------------------- #
+_C.MODEL.BACKBONE = CN()
+
+_C.MODEL.BACKBONE.NAME = "build_resnet_backbone"
+# Freeze the first several stages so they are not trained.
+# There are 5 stages in ResNet. The first is a convolution, and the following
+# stages are each group of residual blocks.
+_C.MODEL.BACKBONE.FREEZE_AT = 2
+
+
+# ---------------------------------------------------------------------------- #
+# FPN options
+# ---------------------------------------------------------------------------- #
+_C.MODEL.FPN = CN()
+# Names of the input feature maps to be used by FPN
+# They must have contiguous power of 2 strides
+# e.g., ["res2", "res3", "res4", "res5"]
+_C.MODEL.FPN.IN_FEATURES = []
+_C.MODEL.FPN.OUT_CHANNELS = 256
+
+# Options: "" (no norm), "GN"
+_C.MODEL.FPN.NORM = ""
+
+# Types for fusing the FPN top-down and lateral features. Can be either "sum" or "avg"
+_C.MODEL.FPN.FUSE_TYPE = "sum"
+
+
+# ---------------------------------------------------------------------------- #
+# Proposal generator options
+# ---------------------------------------------------------------------------- #
+_C.MODEL.PROPOSAL_GENERATOR = CN()
+# Current proposal generators include "RPN", "RRPN" and "PrecomputedProposals"
+_C.MODEL.PROPOSAL_GENERATOR.NAME = "RPN"
+# Proposal height and width both need to be greater than MIN_SIZE
+# (a the scale used during training or inference)
+_C.MODEL.PROPOSAL_GENERATOR.MIN_SIZE = 0
+
+
+# ---------------------------------------------------------------------------- #
+# Anchor generator options
+# ---------------------------------------------------------------------------- #
+_C.MODEL.ANCHOR_GENERATOR = CN()
+# The generator can be any name in the ANCHOR_GENERATOR registry
+_C.MODEL.ANCHOR_GENERATOR.NAME = "DefaultAnchorGenerator"
+# Anchor sizes (i.e. sqrt of area) in absolute pixels w.r.t. the network input.
+# Format: list[list[float]]. SIZES[i] specifies the list of sizes to use for
+# IN_FEATURES[i]; len(SIZES) must be equal to len(IN_FEATURES) or 1.
+# When len(SIZES) == 1, SIZES[0] is used for all IN_FEATURES.
+_C.MODEL.ANCHOR_GENERATOR.SIZES = [[32, 64, 128, 256, 512]]
+# Anchor aspect ratios. For each area given in `SIZES`, anchors with different aspect
+# ratios are generated by an anchor generator.
+# Format: list[list[float]]. ASPECT_RATIOS[i] specifies the list of aspect ratios (H/W)
+# to use for IN_FEATURES[i]; len(ASPECT_RATIOS) == len(IN_FEATURES) must be true,
+# or len(ASPECT_RATIOS) == 1 is true and aspect ratio list ASPECT_RATIOS[0] is used
+# for all IN_FEATURES.
+_C.MODEL.ANCHOR_GENERATOR.ASPECT_RATIOS = [[0.5, 1.0, 2.0]]
+# Anchor angles.
+# list[list[float]], the angle in degrees, for each input feature map.
+# ANGLES[i] specifies the list of angles for IN_FEATURES[i].
+_C.MODEL.ANCHOR_GENERATOR.ANGLES = [[-90, 0, 90]]
+# Relative offset between the center of the first anchor and the top-left corner of the image
+# Value has to be in [0, 1). Recommend to use 0.5, which means half stride.
+# The value is not expected to affect model accuracy.
+_C.MODEL.ANCHOR_GENERATOR.OFFSET = 0.0
+
+# ---------------------------------------------------------------------------- #
+# RPN options
+# ---------------------------------------------------------------------------- #
+_C.MODEL.RPN = CN()
+_C.MODEL.RPN.HEAD_NAME = "StandardRPNHead" # used by RPN_HEAD_REGISTRY
+
+# Names of the input feature maps to be used by RPN
+# e.g., ["p2", "p3", "p4", "p5", "p6"] for FPN
+_C.MODEL.RPN.IN_FEATURES = ["res4"]
+# Remove RPN anchors that go outside the image by BOUNDARY_THRESH pixels
+# Set to -1 or a large value, e.g. 100000, to disable pruning anchors
+_C.MODEL.RPN.BOUNDARY_THRESH = -1
+# IOU overlap ratios [BG_IOU_THRESHOLD, FG_IOU_THRESHOLD]
+# Minimum overlap required between an anchor and ground-truth box for the
+# (anchor, gt box) pair to be a positive example (IoU >= FG_IOU_THRESHOLD
+# ==> positive RPN example: 1)
+# Maximum overlap allowed between an anchor and ground-truth box for the
+# (anchor, gt box) pair to be a negative examples (IoU < BG_IOU_THRESHOLD
+# ==> negative RPN example: 0)
+# Anchors with overlap in between (BG_IOU_THRESHOLD <= IoU < FG_IOU_THRESHOLD)
+# are ignored (-1)
+_C.MODEL.RPN.IOU_THRESHOLDS = [0.3, 0.7]
+_C.MODEL.RPN.IOU_LABELS = [0, -1, 1]
+# Number of regions per image used to train RPN
+_C.MODEL.RPN.BATCH_SIZE_PER_IMAGE = 256
+# Target fraction of foreground (positive) examples per RPN minibatch
+_C.MODEL.RPN.POSITIVE_FRACTION = 0.5
+# Options are: "smooth_l1", "giou", "diou", "ciou"
+_C.MODEL.RPN.BBOX_REG_LOSS_TYPE = "smooth_l1"
+_C.MODEL.RPN.BBOX_REG_LOSS_WEIGHT = 1.0
+# Weights on (dx, dy, dw, dh) for normalizing RPN anchor regression targets
+_C.MODEL.RPN.BBOX_REG_WEIGHTS = (1.0, 1.0, 1.0, 1.0)
+# The transition point from L1 to L2 loss. Set to 0.0 to make the loss simply L1.
+_C.MODEL.RPN.SMOOTH_L1_BETA = 0.0
+_C.MODEL.RPN.LOSS_WEIGHT = 1.0
+# Number of top scoring RPN proposals to keep before applying NMS
+# When FPN is used, this is *per FPN level* (not total)
+_C.MODEL.RPN.PRE_NMS_TOPK_TRAIN = 12000
+_C.MODEL.RPN.PRE_NMS_TOPK_TEST = 6000
+# Number of top scoring RPN proposals to keep after applying NMS
+# When FPN is used, this limit is applied per level and then again to the union
+# of proposals from all levels
+# NOTE: When FPN is used, the meaning of this config is different from Detectron1.
+# It means per-batch topk in Detectron1, but per-image topk here.
+# See the "find_top_rpn_proposals" function for details.
+_C.MODEL.RPN.POST_NMS_TOPK_TRAIN = 2000
+_C.MODEL.RPN.POST_NMS_TOPK_TEST = 1000
+# NMS threshold used on RPN proposals
+_C.MODEL.RPN.NMS_THRESH = 0.7
+# Set this to -1 to use the same number of output channels as input channels.
+_C.MODEL.RPN.CONV_DIMS = [-1]
+
+# ---------------------------------------------------------------------------- #
+# ROI HEADS options
+# ---------------------------------------------------------------------------- #
+_C.MODEL.ROI_HEADS = CN()
+_C.MODEL.ROI_HEADS.NAME = "Res5ROIHeads"
+# Number of foreground classes
+_C.MODEL.ROI_HEADS.NUM_CLASSES = 80
+# Names of the input feature maps to be used by ROI heads
+# Currently all heads (box, mask, ...) use the same input feature map list
+# e.g., ["p2", "p3", "p4", "p5"] is commonly used for FPN
+_C.MODEL.ROI_HEADS.IN_FEATURES = ["res4"]
+# IOU overlap ratios [IOU_THRESHOLD]
+# Overlap threshold for an RoI to be considered background (if < IOU_THRESHOLD)
+# Overlap threshold for an RoI to be considered foreground (if >= IOU_THRESHOLD)
+_C.MODEL.ROI_HEADS.IOU_THRESHOLDS = [0.5]
+_C.MODEL.ROI_HEADS.IOU_LABELS = [0, 1]
+# RoI minibatch size *per image* (number of regions of interest [ROIs]) during training
+# Total number of RoIs per training minibatch =
+# ROI_HEADS.BATCH_SIZE_PER_IMAGE * SOLVER.IMS_PER_BATCH
+# E.g., a common configuration is: 512 * 16 = 8192
+_C.MODEL.ROI_HEADS.BATCH_SIZE_PER_IMAGE = 512
+# Target fraction of RoI minibatch that is labeled foreground (i.e. class > 0)
+_C.MODEL.ROI_HEADS.POSITIVE_FRACTION = 0.25
+
+# Only used on test mode
+
+# Minimum score threshold (assuming scores in a [0, 1] range); a value chosen to
+# balance obtaining high recall with not having too many low precision
+# detections that will slow down inference post processing steps (like NMS)
+# A default threshold of 0.0 increases AP by ~0.2-0.3 but significantly slows down
+# inference.
+_C.MODEL.ROI_HEADS.SCORE_THRESH_TEST = 0.05
+# Overlap threshold used for non-maximum suppression (suppress boxes with
+# IoU >= this threshold)
+_C.MODEL.ROI_HEADS.NMS_THRESH_TEST = 0.5
+# If True, augment proposals with ground-truth boxes before sampling proposals to
+# train ROI heads.
+_C.MODEL.ROI_HEADS.PROPOSAL_APPEND_GT = True
+
+# ---------------------------------------------------------------------------- #
+# Box Head
+# ---------------------------------------------------------------------------- #
+_C.MODEL.ROI_BOX_HEAD = CN()
+# C4 don't use head name option
+# Options for non-C4 models: FastRCNNConvFCHead,
+_C.MODEL.ROI_BOX_HEAD.NAME = ""
+# Options are: "smooth_l1", "giou", "diou", "ciou"
+_C.MODEL.ROI_BOX_HEAD.BBOX_REG_LOSS_TYPE = "smooth_l1"
+# The final scaling coefficient on the box regression loss, used to balance the magnitude of its
+# gradients with other losses in the model. See also `MODEL.ROI_KEYPOINT_HEAD.LOSS_WEIGHT`.
+_C.MODEL.ROI_BOX_HEAD.BBOX_REG_LOSS_WEIGHT = 1.0
+# Default weights on (dx, dy, dw, dh) for normalizing bbox regression targets
+# These are empirically chosen to approximately lead to unit variance targets
+_C.MODEL.ROI_BOX_HEAD.BBOX_REG_WEIGHTS = (10.0, 10.0, 5.0, 5.0)
+# The transition point from L1 to L2 loss. Set to 0.0 to make the loss simply L1.
+_C.MODEL.ROI_BOX_HEAD.SMOOTH_L1_BETA = 0.0
+_C.MODEL.ROI_BOX_HEAD.POOLER_RESOLUTION = 14
+_C.MODEL.ROI_BOX_HEAD.POOLER_SAMPLING_RATIO = 0
+# Type of pooling operation applied to the incoming feature map for each RoI
+_C.MODEL.ROI_BOX_HEAD.POOLER_TYPE = "ROIAlignV2"
+
+_C.MODEL.ROI_BOX_HEAD.NUM_FC = 0
+# Hidden layer dimension for FC layers in the RoI box head
+_C.MODEL.ROI_BOX_HEAD.FC_DIM = 1024
+_C.MODEL.ROI_BOX_HEAD.NUM_CONV = 0
+# Channel dimension for Conv layers in the RoI box head
+_C.MODEL.ROI_BOX_HEAD.CONV_DIM = 256
+# Normalization method for the convolution layers.
+# Options: "" (no norm), "GN", "SyncBN".
+_C.MODEL.ROI_BOX_HEAD.NORM = ""
+# Whether to use class agnostic for bbox regression
+_C.MODEL.ROI_BOX_HEAD.CLS_AGNOSTIC_BBOX_REG = False
+# If true, RoI heads use bounding boxes predicted by the box head rather than proposal boxes.
+_C.MODEL.ROI_BOX_HEAD.TRAIN_ON_PRED_BOXES = False
+
+# Federated loss can be used to improve the training of LVIS
+_C.MODEL.ROI_BOX_HEAD.USE_FED_LOSS = False
+# Sigmoid cross entrophy is used with federated loss
+_C.MODEL.ROI_BOX_HEAD.USE_SIGMOID_CE = False
+# The power value applied to image_count when calcualting frequency weight
+_C.MODEL.ROI_BOX_HEAD.FED_LOSS_FREQ_WEIGHT_POWER = 0.5
+# Number of classes to keep in total
+_C.MODEL.ROI_BOX_HEAD.FED_LOSS_NUM_CLASSES = 50
+
+# ---------------------------------------------------------------------------- #
+# Cascaded Box Head
+# ---------------------------------------------------------------------------- #
+_C.MODEL.ROI_BOX_CASCADE_HEAD = CN()
+# The number of cascade stages is implicitly defined by the length of the following two configs.
+_C.MODEL.ROI_BOX_CASCADE_HEAD.BBOX_REG_WEIGHTS = (
+ (10.0, 10.0, 5.0, 5.0),
+ (20.0, 20.0, 10.0, 10.0),
+ (30.0, 30.0, 15.0, 15.0),
+)
+_C.MODEL.ROI_BOX_CASCADE_HEAD.IOUS = (0.5, 0.6, 0.7)
+
+
+# ---------------------------------------------------------------------------- #
+# Mask Head
+# ---------------------------------------------------------------------------- #
+_C.MODEL.ROI_MASK_HEAD = CN()
+_C.MODEL.ROI_MASK_HEAD.NAME = "MaskRCNNConvUpsampleHead"
+_C.MODEL.ROI_MASK_HEAD.POOLER_RESOLUTION = 14
+_C.MODEL.ROI_MASK_HEAD.POOLER_SAMPLING_RATIO = 0
+_C.MODEL.ROI_MASK_HEAD.NUM_CONV = 0 # The number of convs in the mask head
+_C.MODEL.ROI_MASK_HEAD.CONV_DIM = 256
+# Normalization method for the convolution layers.
+# Options: "" (no norm), "GN", "SyncBN".
+_C.MODEL.ROI_MASK_HEAD.NORM = ""
+# Whether to use class agnostic for mask prediction
+_C.MODEL.ROI_MASK_HEAD.CLS_AGNOSTIC_MASK = False
+# Type of pooling operation applied to the incoming feature map for each RoI
+_C.MODEL.ROI_MASK_HEAD.POOLER_TYPE = "ROIAlignV2"
+
+
+# ---------------------------------------------------------------------------- #
+# Keypoint Head
+# ---------------------------------------------------------------------------- #
+_C.MODEL.ROI_KEYPOINT_HEAD = CN()
+_C.MODEL.ROI_KEYPOINT_HEAD.NAME = "KRCNNConvDeconvUpsampleHead"
+_C.MODEL.ROI_KEYPOINT_HEAD.POOLER_RESOLUTION = 14
+_C.MODEL.ROI_KEYPOINT_HEAD.POOLER_SAMPLING_RATIO = 0
+_C.MODEL.ROI_KEYPOINT_HEAD.CONV_DIMS = tuple(512 for _ in range(8))
+_C.MODEL.ROI_KEYPOINT_HEAD.NUM_KEYPOINTS = 17 # 17 is the number of keypoints in COCO.
+
+# Images with too few (or no) keypoints are excluded from training.
+_C.MODEL.ROI_KEYPOINT_HEAD.MIN_KEYPOINTS_PER_IMAGE = 1
+# Normalize by the total number of visible keypoints in the minibatch if True.
+# Otherwise, normalize by the total number of keypoints that could ever exist
+# in the minibatch.
+# The keypoint softmax loss is only calculated on visible keypoints.
+# Since the number of visible keypoints can vary significantly between
+# minibatches, this has the effect of up-weighting the importance of
+# minibatches with few visible keypoints. (Imagine the extreme case of
+# only one visible keypoint versus N: in the case of N, each one
+# contributes 1/N to the gradient compared to the single keypoint
+# determining the gradient direction). Instead, we can normalize the
+# loss by the total number of keypoints, if it were the case that all
+# keypoints were visible in a full minibatch. (Returning to the example,
+# this means that the one visible keypoint contributes as much as each
+# of the N keypoints.)
+_C.MODEL.ROI_KEYPOINT_HEAD.NORMALIZE_LOSS_BY_VISIBLE_KEYPOINTS = True
+# Multi-task loss weight to use for keypoints
+# Recommended values:
+# - use 1.0 if NORMALIZE_LOSS_BY_VISIBLE_KEYPOINTS is True
+# - use 4.0 if NORMALIZE_LOSS_BY_VISIBLE_KEYPOINTS is False
+_C.MODEL.ROI_KEYPOINT_HEAD.LOSS_WEIGHT = 1.0
+# Type of pooling operation applied to the incoming feature map for each RoI
+_C.MODEL.ROI_KEYPOINT_HEAD.POOLER_TYPE = "ROIAlignV2"
+
+# ---------------------------------------------------------------------------- #
+# Semantic Segmentation Head
+# ---------------------------------------------------------------------------- #
+_C.MODEL.SEM_SEG_HEAD = CN()
+_C.MODEL.SEM_SEG_HEAD.NAME = "SemSegFPNHead"
+_C.MODEL.SEM_SEG_HEAD.IN_FEATURES = ["p2", "p3", "p4", "p5"]
+# Label in the semantic segmentation ground truth that is ignored, i.e., no loss is calculated for
+# the correposnding pixel.
+_C.MODEL.SEM_SEG_HEAD.IGNORE_VALUE = 255
+# Number of classes in the semantic segmentation head
+_C.MODEL.SEM_SEG_HEAD.NUM_CLASSES = 54
+# Number of channels in the 3x3 convs inside semantic-FPN heads.
+_C.MODEL.SEM_SEG_HEAD.CONVS_DIM = 128
+# Outputs from semantic-FPN heads are up-scaled to the COMMON_STRIDE stride.
+_C.MODEL.SEM_SEG_HEAD.COMMON_STRIDE = 4
+# Normalization method for the convolution layers. Options: "" (no norm), "GN".
+_C.MODEL.SEM_SEG_HEAD.NORM = "GN"
+_C.MODEL.SEM_SEG_HEAD.LOSS_WEIGHT = 1.0
+
+_C.MODEL.PANOPTIC_FPN = CN()
+# Scaling of all losses from instance detection / segmentation head.
+_C.MODEL.PANOPTIC_FPN.INSTANCE_LOSS_WEIGHT = 1.0
+
+# options when combining instance & semantic segmentation outputs
+_C.MODEL.PANOPTIC_FPN.COMBINE = CN({"ENABLED": True}) # "COMBINE.ENABLED" is deprecated & not used
+_C.MODEL.PANOPTIC_FPN.COMBINE.OVERLAP_THRESH = 0.5
+_C.MODEL.PANOPTIC_FPN.COMBINE.STUFF_AREA_LIMIT = 4096
+_C.MODEL.PANOPTIC_FPN.COMBINE.INSTANCES_CONFIDENCE_THRESH = 0.5
+
+
+# ---------------------------------------------------------------------------- #
+# RetinaNet Head
+# ---------------------------------------------------------------------------- #
+_C.MODEL.RETINANET = CN()
+
+# This is the number of foreground classes.
+_C.MODEL.RETINANET.NUM_CLASSES = 80
+
+_C.MODEL.RETINANET.IN_FEATURES = ["p3", "p4", "p5", "p6", "p7"]
+
+# Convolutions to use in the cls and bbox tower
+# NOTE: this doesn't include the last conv for logits
+_C.MODEL.RETINANET.NUM_CONVS = 4
+
+# IoU overlap ratio [bg, fg] for labeling anchors.
+# Anchors with < bg are labeled negative (0)
+# Anchors with >= bg and < fg are ignored (-1)
+# Anchors with >= fg are labeled positive (1)
+_C.MODEL.RETINANET.IOU_THRESHOLDS = [0.4, 0.5]
+_C.MODEL.RETINANET.IOU_LABELS = [0, -1, 1]
+
+# Prior prob for rare case (i.e. foreground) at the beginning of training.
+# This is used to set the bias for the logits layer of the classifier subnet.
+# This improves training stability in the case of heavy class imbalance.
+_C.MODEL.RETINANET.PRIOR_PROB = 0.01
+
+# Inference cls score threshold, only anchors with score > INFERENCE_TH are
+# considered for inference (to improve speed)
+_C.MODEL.RETINANET.SCORE_THRESH_TEST = 0.05
+# Select topk candidates before NMS
+_C.MODEL.RETINANET.TOPK_CANDIDATES_TEST = 1000
+_C.MODEL.RETINANET.NMS_THRESH_TEST = 0.5
+
+# Weights on (dx, dy, dw, dh) for normalizing Retinanet anchor regression targets
+_C.MODEL.RETINANET.BBOX_REG_WEIGHTS = (1.0, 1.0, 1.0, 1.0)
+
+# Loss parameters
+_C.MODEL.RETINANET.FOCAL_LOSS_GAMMA = 2.0
+_C.MODEL.RETINANET.FOCAL_LOSS_ALPHA = 0.25
+_C.MODEL.RETINANET.SMOOTH_L1_LOSS_BETA = 0.1
+# Options are: "smooth_l1", "giou", "diou", "ciou"
+_C.MODEL.RETINANET.BBOX_REG_LOSS_TYPE = "smooth_l1"
+
+# One of BN, SyncBN, FrozenBN, GN
+# Only supports GN until unshared norm is implemented
+_C.MODEL.RETINANET.NORM = ""
+
+
+# ---------------------------------------------------------------------------- #
+# ResNe[X]t options (ResNets = {ResNet, ResNeXt}
+# Note that parts of a resnet may be used for both the backbone and the head
+# These options apply to both
+# ---------------------------------------------------------------------------- #
+_C.MODEL.RESNETS = CN()
+
+_C.MODEL.RESNETS.DEPTH = 50
+_C.MODEL.RESNETS.OUT_FEATURES = ["res4"] # res4 for C4 backbone, res2..5 for FPN backbone
+
+# Number of groups to use; 1 ==> ResNet; > 1 ==> ResNeXt
+_C.MODEL.RESNETS.NUM_GROUPS = 1
+
+# Options: FrozenBN, GN, "SyncBN", "BN"
+_C.MODEL.RESNETS.NORM = "FrozenBN"
+
+# Baseline width of each group.
+# Scaling this parameters will scale the width of all bottleneck layers.
+_C.MODEL.RESNETS.WIDTH_PER_GROUP = 64
+
+# Place the stride 2 conv on the 1x1 filter
+# Use True only for the original MSRA ResNet; use False for C2 and Torch models
+_C.MODEL.RESNETS.STRIDE_IN_1X1 = True
+
+# Apply dilation in stage "res5"
+_C.MODEL.RESNETS.RES5_DILATION = 1
+
+# Output width of res2. Scaling this parameters will scale the width of all 1x1 convs in ResNet
+# For R18 and R34, this needs to be set to 64
+_C.MODEL.RESNETS.RES2_OUT_CHANNELS = 256
+_C.MODEL.RESNETS.STEM_OUT_CHANNELS = 64
+
+# Apply Deformable Convolution in stages
+# Specify if apply deform_conv on Res2, Res3, Res4, Res5
+_C.MODEL.RESNETS.DEFORM_ON_PER_STAGE = [False, False, False, False]
+# Use True to use modulated deform_conv (DeformableV2, https://arxiv.org/abs/1811.11168);
+# Use False for DeformableV1.
+_C.MODEL.RESNETS.DEFORM_MODULATED = False
+# Number of groups in deformable conv.
+_C.MODEL.RESNETS.DEFORM_NUM_GROUPS = 1
+
+
+# ---------------------------------------------------------------------------- #
+# Solver
+# ---------------------------------------------------------------------------- #
+_C.SOLVER = CN()
+
+# Options: WarmupMultiStepLR, WarmupCosineLR.
+# See detectron2/solver/build.py for definition.
+_C.SOLVER.LR_SCHEDULER_NAME = "WarmupMultiStepLR"
+
+_C.SOLVER.MAX_ITER = 40000
+
+_C.SOLVER.BASE_LR = 0.001
+# The end lr, only used by WarmupCosineLR
+_C.SOLVER.BASE_LR_END = 0.0
+
+_C.SOLVER.MOMENTUM = 0.9
+
+_C.SOLVER.NESTEROV = False
+
+_C.SOLVER.WEIGHT_DECAY = 0.0001
+# The weight decay that's applied to parameters of normalization layers
+# (typically the affine transformation)
+_C.SOLVER.WEIGHT_DECAY_NORM = 0.0
+
+_C.SOLVER.GAMMA = 0.1
+# The iteration number to decrease learning rate by GAMMA.
+_C.SOLVER.STEPS = (30000,)
+# Number of decays in WarmupStepWithFixedGammaLR schedule
+_C.SOLVER.NUM_DECAYS = 3
+
+_C.SOLVER.WARMUP_FACTOR = 1.0 / 1000
+_C.SOLVER.WARMUP_ITERS = 1000
+_C.SOLVER.WARMUP_METHOD = "linear"
+# Whether to rescale the interval for the learning schedule after warmup
+_C.SOLVER.RESCALE_INTERVAL = False
+
+# Save a checkpoint after every this number of iterations
+_C.SOLVER.CHECKPOINT_PERIOD = 5000
+
+# Number of images per batch across all machines. This is also the number
+# of training images per step (i.e. per iteration). If we use 16 GPUs
+# and IMS_PER_BATCH = 32, each GPU will see 2 images per batch.
+# May be adjusted automatically if REFERENCE_WORLD_SIZE is set.
+_C.SOLVER.IMS_PER_BATCH = 16
+
+# The reference number of workers (GPUs) this config is meant to train with.
+# It takes no effect when set to 0.
+# With a non-zero value, it will be used by DefaultTrainer to compute a desired
+# per-worker batch size, and then scale the other related configs (total batch size,
+# learning rate, etc) to match the per-worker batch size.
+# See documentation of `DefaultTrainer.auto_scale_workers` for details:
+_C.SOLVER.REFERENCE_WORLD_SIZE = 0
+
+# Detectron v1 (and previous detection code) used a 2x higher LR and 0 WD for
+# biases. This is not useful (at least for recent models). You should avoid
+# changing these and they exist only to reproduce Detectron v1 training if
+# desired.
+_C.SOLVER.BIAS_LR_FACTOR = 1.0
+_C.SOLVER.WEIGHT_DECAY_BIAS = None # None means following WEIGHT_DECAY
+
+# Gradient clipping
+_C.SOLVER.CLIP_GRADIENTS = CN({"ENABLED": False})
+# Type of gradient clipping, currently 2 values are supported:
+# - "value": the absolute values of elements of each gradients are clipped
+# - "norm": the norm of the gradient for each parameter is clipped thus
+# affecting all elements in the parameter
+_C.SOLVER.CLIP_GRADIENTS.CLIP_TYPE = "value"
+# Maximum absolute value used for clipping gradients
+_C.SOLVER.CLIP_GRADIENTS.CLIP_VALUE = 1.0
+# Floating point number p for L-p norm to be used with the "norm"
+# gradient clipping type; for L-inf, please specify .inf
+_C.SOLVER.CLIP_GRADIENTS.NORM_TYPE = 2.0
+
+# Enable automatic mixed precision for training
+# Note that this does not change model's inference behavior.
+# To use AMP in inference, run inference under autocast()
+_C.SOLVER.AMP = CN({"ENABLED": False})
+
+# ---------------------------------------------------------------------------- #
+# Specific test options
+# ---------------------------------------------------------------------------- #
+_C.TEST = CN()
+# For end-to-end tests to verify the expected accuracy.
+# Each item is [task, metric, value, tolerance]
+# e.g.: [['bbox', 'AP', 38.5, 0.2]]
+_C.TEST.EXPECTED_RESULTS = []
+# The period (in terms of steps) to evaluate the model during training.
+# Set to 0 to disable.
+_C.TEST.EVAL_PERIOD = 0
+# The sigmas used to calculate keypoint OKS. See http://cocodataset.org/#keypoints-eval
+# When empty, it will use the defaults in COCO.
+# Otherwise it should be a list[float] with the same length as ROI_KEYPOINT_HEAD.NUM_KEYPOINTS.
+_C.TEST.KEYPOINT_OKS_SIGMAS = []
+# Maximum number of detections to return per image during inference (100 is
+# based on the limit established for the COCO dataset).
+_C.TEST.DETECTIONS_PER_IMAGE = 100
+
+_C.TEST.AUG = CN({"ENABLED": False})
+_C.TEST.AUG.MIN_SIZES = (400, 500, 600, 700, 800, 900, 1000, 1100, 1200)
+_C.TEST.AUG.MAX_SIZE = 4000
+_C.TEST.AUG.FLIP = True
+
+_C.TEST.PRECISE_BN = CN({"ENABLED": False})
+_C.TEST.PRECISE_BN.NUM_ITER = 200
+
+# ---------------------------------------------------------------------------- #
+# Misc options
+# ---------------------------------------------------------------------------- #
+# Directory where output files are written
+_C.OUTPUT_DIR = "./output"
+# Set seed to negative to fully randomize everything.
+# Set seed to positive to use a fixed seed. Note that a fixed seed increases
+# reproducibility but does not guarantee fully deterministic behavior.
+# Disabling all parallelism further increases reproducibility.
+_C.SEED = -1
+# Benchmark different cudnn algorithms.
+# If input images have very different sizes, this option will have large overhead
+# for about 10k iterations. It usually hurts total time, but can benefit for certain models.
+# If input images have the same or similar sizes, benchmark is often helpful.
+_C.CUDNN_BENCHMARK = False
+# The period (in terms of steps) for minibatch visualization at train time.
+# Set to 0 to disable.
+_C.VIS_PERIOD = 0
+
+# global config is for quick hack purposes.
+# You can set them in command line or config files,
+# and access it with:
+#
+# from annotator.oneformer.detectron2.config import global_cfg
+# print(global_cfg.HACK)
+#
+# Do not commit any configs into it.
+_C.GLOBAL = CN()
+_C.GLOBAL.HACK = 1.0
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/config/instantiate.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/config/instantiate.py
new file mode 100644
index 0000000000000000000000000000000000000000..26d191b03f800dae5620128957d137cd4fdb1728
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/config/instantiate.py
@@ -0,0 +1,88 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+
+import collections.abc as abc
+import dataclasses
+import logging
+from typing import Any
+
+from annotator.oneformer.detectron2.utils.registry import _convert_target_to_string, locate
+
+__all__ = ["dump_dataclass", "instantiate"]
+
+
+def dump_dataclass(obj: Any):
+ """
+ Dump a dataclass recursively into a dict that can be later instantiated.
+
+ Args:
+ obj: a dataclass object
+
+ Returns:
+ dict
+ """
+ assert dataclasses.is_dataclass(obj) and not isinstance(
+ obj, type
+ ), "dump_dataclass() requires an instance of a dataclass."
+ ret = {"_target_": _convert_target_to_string(type(obj))}
+ for f in dataclasses.fields(obj):
+ v = getattr(obj, f.name)
+ if dataclasses.is_dataclass(v):
+ v = dump_dataclass(v)
+ if isinstance(v, (list, tuple)):
+ v = [dump_dataclass(x) if dataclasses.is_dataclass(x) else x for x in v]
+ ret[f.name] = v
+ return ret
+
+
+def instantiate(cfg):
+ """
+ Recursively instantiate objects defined in dictionaries by
+ "_target_" and arguments.
+
+ Args:
+ cfg: a dict-like object with "_target_" that defines the caller, and
+ other keys that define the arguments
+
+ Returns:
+ object instantiated by cfg
+ """
+ from omegaconf import ListConfig, DictConfig, OmegaConf
+
+ if isinstance(cfg, ListConfig):
+ lst = [instantiate(x) for x in cfg]
+ return ListConfig(lst, flags={"allow_objects": True})
+ if isinstance(cfg, list):
+ # Specialize for list, because many classes take
+ # list[objects] as arguments, such as ResNet, DatasetMapper
+ return [instantiate(x) for x in cfg]
+
+ # If input is a DictConfig backed by dataclasses (i.e. omegaconf's structured config),
+ # instantiate it to the actual dataclass.
+ if isinstance(cfg, DictConfig) and dataclasses.is_dataclass(cfg._metadata.object_type):
+ return OmegaConf.to_object(cfg)
+
+ if isinstance(cfg, abc.Mapping) and "_target_" in cfg:
+ # conceptually equivalent to hydra.utils.instantiate(cfg) with _convert_=all,
+ # but faster: https://github.com/facebookresearch/hydra/issues/1200
+ cfg = {k: instantiate(v) for k, v in cfg.items()}
+ cls = cfg.pop("_target_")
+ cls = instantiate(cls)
+
+ if isinstance(cls, str):
+ cls_name = cls
+ cls = locate(cls_name)
+ assert cls is not None, cls_name
+ else:
+ try:
+ cls_name = cls.__module__ + "." + cls.__qualname__
+ except Exception:
+ # target could be anything, so the above could fail
+ cls_name = str(cls)
+ assert callable(cls), f"_target_ {cls} does not define a callable object"
+ try:
+ return cls(**cfg)
+ except TypeError:
+ logger = logging.getLogger(__name__)
+ logger.error(f"Error when instantiating {cls_name}!")
+ raise
+ return cfg # return as-is if don't know what to do
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/config/lazy.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/config/lazy.py
new file mode 100644
index 0000000000000000000000000000000000000000..72a3e5c036f9f78a2cdf3ef0975639da3299d694
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/config/lazy.py
@@ -0,0 +1,435 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+
+import ast
+import builtins
+import collections.abc as abc
+import importlib
+import inspect
+import logging
+import os
+import uuid
+from contextlib import contextmanager
+from copy import deepcopy
+from dataclasses import is_dataclass
+from typing import List, Tuple, Union
+import yaml
+from omegaconf import DictConfig, ListConfig, OmegaConf, SCMode
+
+from annotator.oneformer.detectron2.utils.file_io import PathManager
+from annotator.oneformer.detectron2.utils.registry import _convert_target_to_string
+
+__all__ = ["LazyCall", "LazyConfig"]
+
+
+class LazyCall:
+ """
+ Wrap a callable so that when it's called, the call will not be executed,
+ but returns a dict that describes the call.
+
+ LazyCall object has to be called with only keyword arguments. Positional
+ arguments are not yet supported.
+
+ Examples:
+ ::
+ from annotator.oneformer.detectron2.config import instantiate, LazyCall
+
+ layer_cfg = LazyCall(nn.Conv2d)(in_channels=32, out_channels=32)
+ layer_cfg.out_channels = 64 # can edit it afterwards
+ layer = instantiate(layer_cfg)
+ """
+
+ def __init__(self, target):
+ if not (callable(target) or isinstance(target, (str, abc.Mapping))):
+ raise TypeError(
+ f"target of LazyCall must be a callable or defines a callable! Got {target}"
+ )
+ self._target = target
+
+ def __call__(self, **kwargs):
+ if is_dataclass(self._target):
+ # omegaconf object cannot hold dataclass type
+ # https://github.com/omry/omegaconf/issues/784
+ target = _convert_target_to_string(self._target)
+ else:
+ target = self._target
+ kwargs["_target_"] = target
+
+ return DictConfig(content=kwargs, flags={"allow_objects": True})
+
+
+def _visit_dict_config(cfg, func):
+ """
+ Apply func recursively to all DictConfig in cfg.
+ """
+ if isinstance(cfg, DictConfig):
+ func(cfg)
+ for v in cfg.values():
+ _visit_dict_config(v, func)
+ elif isinstance(cfg, ListConfig):
+ for v in cfg:
+ _visit_dict_config(v, func)
+
+
+def _validate_py_syntax(filename):
+ # see also https://github.com/open-mmlab/mmcv/blob/master/mmcv/utils/config.py
+ with PathManager.open(filename, "r") as f:
+ content = f.read()
+ try:
+ ast.parse(content)
+ except SyntaxError as e:
+ raise SyntaxError(f"Config file {filename} has syntax error!") from e
+
+
+def _cast_to_config(obj):
+ # if given a dict, return DictConfig instead
+ if isinstance(obj, dict):
+ return DictConfig(obj, flags={"allow_objects": True})
+ return obj
+
+
+_CFG_PACKAGE_NAME = "detectron2._cfg_loader"
+"""
+A namespace to put all imported config into.
+"""
+
+
+def _random_package_name(filename):
+ # generate a random package name when loading config files
+ return _CFG_PACKAGE_NAME + str(uuid.uuid4())[:4] + "." + os.path.basename(filename)
+
+
+@contextmanager
+def _patch_import():
+ """
+ Enhance relative import statements in config files, so that they:
+ 1. locate files purely based on relative location, regardless of packages.
+ e.g. you can import file without having __init__
+ 2. do not cache modules globally; modifications of module states has no side effect
+ 3. support other storage system through PathManager, so config files can be in the cloud
+ 4. imported dict are turned into omegaconf.DictConfig automatically
+ """
+ old_import = builtins.__import__
+
+ def find_relative_file(original_file, relative_import_path, level):
+ # NOTE: "from . import x" is not handled. Because then it's unclear
+ # if such import should produce `x` as a python module or DictConfig.
+ # This can be discussed further if needed.
+ relative_import_err = """
+Relative import of directories is not allowed within config files.
+Within a config file, relative import can only import other config files.
+""".replace(
+ "\n", " "
+ )
+ if not len(relative_import_path):
+ raise ImportError(relative_import_err)
+
+ cur_file = os.path.dirname(original_file)
+ for _ in range(level - 1):
+ cur_file = os.path.dirname(cur_file)
+ cur_name = relative_import_path.lstrip(".")
+ for part in cur_name.split("."):
+ cur_file = os.path.join(cur_file, part)
+ if not cur_file.endswith(".py"):
+ cur_file += ".py"
+ if not PathManager.isfile(cur_file):
+ cur_file_no_suffix = cur_file[: -len(".py")]
+ if PathManager.isdir(cur_file_no_suffix):
+ raise ImportError(f"Cannot import from {cur_file_no_suffix}." + relative_import_err)
+ else:
+ raise ImportError(
+ f"Cannot import name {relative_import_path} from "
+ f"{original_file}: {cur_file} does not exist."
+ )
+ return cur_file
+
+ def new_import(name, globals=None, locals=None, fromlist=(), level=0):
+ if (
+ # Only deal with relative imports inside config files
+ level != 0
+ and globals is not None
+ and (globals.get("__package__", "") or "").startswith(_CFG_PACKAGE_NAME)
+ ):
+ cur_file = find_relative_file(globals["__file__"], name, level)
+ _validate_py_syntax(cur_file)
+ spec = importlib.machinery.ModuleSpec(
+ _random_package_name(cur_file), None, origin=cur_file
+ )
+ module = importlib.util.module_from_spec(spec)
+ module.__file__ = cur_file
+ with PathManager.open(cur_file) as f:
+ content = f.read()
+ exec(compile(content, cur_file, "exec"), module.__dict__)
+ for name in fromlist: # turn imported dict into DictConfig automatically
+ val = _cast_to_config(module.__dict__[name])
+ module.__dict__[name] = val
+ return module
+ return old_import(name, globals, locals, fromlist=fromlist, level=level)
+
+ builtins.__import__ = new_import
+ yield new_import
+ builtins.__import__ = old_import
+
+
+class LazyConfig:
+ """
+ Provide methods to save, load, and overrides an omegaconf config object
+ which may contain definition of lazily-constructed objects.
+ """
+
+ @staticmethod
+ def load_rel(filename: str, keys: Union[None, str, Tuple[str, ...]] = None):
+ """
+ Similar to :meth:`load()`, but load path relative to the caller's
+ source file.
+
+ This has the same functionality as a relative import, except that this method
+ accepts filename as a string, so more characters are allowed in the filename.
+ """
+ caller_frame = inspect.stack()[1]
+ caller_fname = caller_frame[0].f_code.co_filename
+ assert caller_fname != "", "load_rel Unable to find caller"
+ caller_dir = os.path.dirname(caller_fname)
+ filename = os.path.join(caller_dir, filename)
+ return LazyConfig.load(filename, keys)
+
+ @staticmethod
+ def load(filename: str, keys: Union[None, str, Tuple[str, ...]] = None):
+ """
+ Load a config file.
+
+ Args:
+ filename: absolute path or relative path w.r.t. the current working directory
+ keys: keys to load and return. If not given, return all keys
+ (whose values are config objects) in a dict.
+ """
+ has_keys = keys is not None
+ filename = filename.replace("/./", "/") # redundant
+ if os.path.splitext(filename)[1] not in [".py", ".yaml", ".yml"]:
+ raise ValueError(f"Config file {filename} has to be a python or yaml file.")
+ if filename.endswith(".py"):
+ _validate_py_syntax(filename)
+
+ with _patch_import():
+ # Record the filename
+ module_namespace = {
+ "__file__": filename,
+ "__package__": _random_package_name(filename),
+ }
+ with PathManager.open(filename) as f:
+ content = f.read()
+ # Compile first with filename to:
+ # 1. make filename appears in stacktrace
+ # 2. make load_rel able to find its parent's (possibly remote) location
+ exec(compile(content, filename, "exec"), module_namespace)
+
+ ret = module_namespace
+ else:
+ with PathManager.open(filename) as f:
+ obj = yaml.unsafe_load(f)
+ ret = OmegaConf.create(obj, flags={"allow_objects": True})
+
+ if has_keys:
+ if isinstance(keys, str):
+ return _cast_to_config(ret[keys])
+ else:
+ return tuple(_cast_to_config(ret[a]) for a in keys)
+ else:
+ if filename.endswith(".py"):
+ # when not specified, only load those that are config objects
+ ret = DictConfig(
+ {
+ name: _cast_to_config(value)
+ for name, value in ret.items()
+ if isinstance(value, (DictConfig, ListConfig, dict))
+ and not name.startswith("_")
+ },
+ flags={"allow_objects": True},
+ )
+ return ret
+
+ @staticmethod
+ def save(cfg, filename: str):
+ """
+ Save a config object to a yaml file.
+ Note that when the config dictionary contains complex objects (e.g. lambda),
+ it can't be saved to yaml. In that case we will print an error and
+ attempt to save to a pkl file instead.
+
+ Args:
+ cfg: an omegaconf config object
+ filename: yaml file name to save the config file
+ """
+ logger = logging.getLogger(__name__)
+ try:
+ cfg = deepcopy(cfg)
+ except Exception:
+ pass
+ else:
+ # if it's deep-copyable, then...
+ def _replace_type_by_name(x):
+ if "_target_" in x and callable(x._target_):
+ try:
+ x._target_ = _convert_target_to_string(x._target_)
+ except AttributeError:
+ pass
+
+ # not necessary, but makes yaml looks nicer
+ _visit_dict_config(cfg, _replace_type_by_name)
+
+ save_pkl = False
+ try:
+ dict = OmegaConf.to_container(
+ cfg,
+ # Do not resolve interpolation when saving, i.e. do not turn ${a} into
+ # actual values when saving.
+ resolve=False,
+ # Save structures (dataclasses) in a format that can be instantiated later.
+ # Without this option, the type information of the dataclass will be erased.
+ structured_config_mode=SCMode.INSTANTIATE,
+ )
+ dumped = yaml.dump(dict, default_flow_style=None, allow_unicode=True, width=9999)
+ with PathManager.open(filename, "w") as f:
+ f.write(dumped)
+
+ try:
+ _ = yaml.unsafe_load(dumped) # test that it is loadable
+ except Exception:
+ logger.warning(
+ "The config contains objects that cannot serialize to a valid yaml. "
+ f"{filename} is human-readable but cannot be loaded."
+ )
+ save_pkl = True
+ except Exception:
+ logger.exception("Unable to serialize the config to yaml. Error:")
+ save_pkl = True
+
+ if save_pkl:
+ new_filename = filename + ".pkl"
+ # try:
+ # # retry by pickle
+ # with PathManager.open(new_filename, "wb") as f:
+ # cloudpickle.dump(cfg, f)
+ # logger.warning(f"Config is saved using cloudpickle at {new_filename}.")
+ # except Exception:
+ # pass
+
+ @staticmethod
+ def apply_overrides(cfg, overrides: List[str]):
+ """
+ In-place override contents of cfg.
+
+ Args:
+ cfg: an omegaconf config object
+ overrides: list of strings in the format of "a=b" to override configs.
+ See https://hydra.cc/docs/next/advanced/override_grammar/basic/
+ for syntax.
+
+ Returns:
+ the cfg object
+ """
+
+ def safe_update(cfg, key, value):
+ parts = key.split(".")
+ for idx in range(1, len(parts)):
+ prefix = ".".join(parts[:idx])
+ v = OmegaConf.select(cfg, prefix, default=None)
+ if v is None:
+ break
+ if not OmegaConf.is_config(v):
+ raise KeyError(
+ f"Trying to update key {key}, but {prefix} "
+ f"is not a config, but has type {type(v)}."
+ )
+ OmegaConf.update(cfg, key, value, merge=True)
+
+ try:
+ from hydra.core.override_parser.overrides_parser import OverridesParser
+
+ has_hydra = True
+ except ImportError:
+ has_hydra = False
+
+ if has_hydra:
+ parser = OverridesParser.create()
+ overrides = parser.parse_overrides(overrides)
+ for o in overrides:
+ key = o.key_or_group
+ value = o.value()
+ if o.is_delete():
+ # TODO support this
+ raise NotImplementedError("deletion is not yet a supported override")
+ safe_update(cfg, key, value)
+ else:
+ # Fallback. Does not support all the features and error checking like hydra.
+ for o in overrides:
+ key, value = o.split("=")
+ try:
+ value = eval(value, {})
+ except NameError:
+ pass
+ safe_update(cfg, key, value)
+ return cfg
+
+ # @staticmethod
+ # def to_py(cfg, prefix: str = "cfg."):
+ # """
+ # Try to convert a config object into Python-like psuedo code.
+ #
+ # Note that perfect conversion is not always possible. So the returned
+ # results are mainly meant to be human-readable, and not meant to be executed.
+ #
+ # Args:
+ # cfg: an omegaconf config object
+ # prefix: root name for the resulting code (default: "cfg.")
+ #
+ #
+ # Returns:
+ # str of formatted Python code
+ # """
+ # import black
+ #
+ # cfg = OmegaConf.to_container(cfg, resolve=True)
+ #
+ # def _to_str(obj, prefix=None, inside_call=False):
+ # if prefix is None:
+ # prefix = []
+ # if isinstance(obj, abc.Mapping) and "_target_" in obj:
+ # # Dict representing a function call
+ # target = _convert_target_to_string(obj.pop("_target_"))
+ # args = []
+ # for k, v in sorted(obj.items()):
+ # args.append(f"{k}={_to_str(v, inside_call=True)}")
+ # args = ", ".join(args)
+ # call = f"{target}({args})"
+ # return "".join(prefix) + call
+ # elif isinstance(obj, abc.Mapping) and not inside_call:
+ # # Dict that is not inside a call is a list of top-level config objects that we
+ # # render as one object per line with dot separated prefixes
+ # key_list = []
+ # for k, v in sorted(obj.items()):
+ # if isinstance(v, abc.Mapping) and "_target_" not in v:
+ # key_list.append(_to_str(v, prefix=prefix + [k + "."]))
+ # else:
+ # key = "".join(prefix) + k
+ # key_list.append(f"{key}={_to_str(v)}")
+ # return "\n".join(key_list)
+ # elif isinstance(obj, abc.Mapping):
+ # # Dict that is inside a call is rendered as a regular dict
+ # return (
+ # "{"
+ # + ",".join(
+ # f"{repr(k)}: {_to_str(v, inside_call=inside_call)}"
+ # for k, v in sorted(obj.items())
+ # )
+ # + "}"
+ # )
+ # elif isinstance(obj, list):
+ # return "[" + ",".join(_to_str(x, inside_call=inside_call) for x in obj) + "]"
+ # else:
+ # return repr(obj)
+ #
+ # py_str = _to_str(cfg, prefix=[prefix])
+ # try:
+ # return black.format_str(py_str, mode=black.Mode())
+ # except black.InvalidInput:
+ # return py_str
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..259f669b78bd05815cb8d3351fd6c5fc9a1b85a1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/__init__.py
@@ -0,0 +1,19 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+from . import transforms # isort:skip
+
+from .build import (
+ build_batch_data_loader,
+ build_detection_test_loader,
+ build_detection_train_loader,
+ get_detection_dataset_dicts,
+ load_proposals_into_dataset,
+ print_instances_class_histogram,
+)
+from .catalog import DatasetCatalog, MetadataCatalog, Metadata
+from .common import DatasetFromList, MapDataset, ToIterableDataset
+from .dataset_mapper import DatasetMapper
+
+# ensure the builtin datasets are registered
+from . import datasets, samplers # isort:skip
+
+__all__ = [k for k in globals().keys() if not k.startswith("_")]
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/benchmark.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/benchmark.py
new file mode 100644
index 0000000000000000000000000000000000000000..bfd650582c83cd032b4fe76303517cdfd9a2a8b4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/benchmark.py
@@ -0,0 +1,225 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+import logging
+import numpy as np
+from itertools import count
+from typing import List, Tuple
+import torch
+import tqdm
+from fvcore.common.timer import Timer
+
+from annotator.oneformer.detectron2.utils import comm
+
+from .build import build_batch_data_loader
+from .common import DatasetFromList, MapDataset
+from .samplers import TrainingSampler
+
+logger = logging.getLogger(__name__)
+
+
+class _EmptyMapDataset(torch.utils.data.Dataset):
+ """
+ Map anything to emptiness.
+ """
+
+ def __init__(self, dataset):
+ self.ds = dataset
+
+ def __len__(self):
+ return len(self.ds)
+
+ def __getitem__(self, idx):
+ _ = self.ds[idx]
+ return [0]
+
+
+def iter_benchmark(
+ iterator, num_iter: int, warmup: int = 5, max_time_seconds: float = 60
+) -> Tuple[float, List[float]]:
+ """
+ Benchmark an iterator/iterable for `num_iter` iterations with an extra
+ `warmup` iterations of warmup.
+ End early if `max_time_seconds` time is spent on iterations.
+
+ Returns:
+ float: average time (seconds) per iteration
+ list[float]: time spent on each iteration. Sometimes useful for further analysis.
+ """
+ num_iter, warmup = int(num_iter), int(warmup)
+
+ iterator = iter(iterator)
+ for _ in range(warmup):
+ next(iterator)
+ timer = Timer()
+ all_times = []
+ for curr_iter in tqdm.trange(num_iter):
+ start = timer.seconds()
+ if start > max_time_seconds:
+ num_iter = curr_iter
+ break
+ next(iterator)
+ all_times.append(timer.seconds() - start)
+ avg = timer.seconds() / num_iter
+ return avg, all_times
+
+
+class DataLoaderBenchmark:
+ """
+ Some common benchmarks that help understand perf bottleneck of a standard dataloader
+ made of dataset, mapper and sampler.
+ """
+
+ def __init__(
+ self,
+ dataset,
+ *,
+ mapper,
+ sampler=None,
+ total_batch_size,
+ num_workers=0,
+ max_time_seconds: int = 90,
+ ):
+ """
+ Args:
+ max_time_seconds (int): maximum time to spent for each benchmark
+ other args: same as in `build.py:build_detection_train_loader`
+ """
+ if isinstance(dataset, list):
+ dataset = DatasetFromList(dataset, copy=False, serialize=True)
+ if sampler is None:
+ sampler = TrainingSampler(len(dataset))
+
+ self.dataset = dataset
+ self.mapper = mapper
+ self.sampler = sampler
+ self.total_batch_size = total_batch_size
+ self.num_workers = num_workers
+ self.per_gpu_batch_size = self.total_batch_size // comm.get_world_size()
+
+ self.max_time_seconds = max_time_seconds
+
+ def _benchmark(self, iterator, num_iter, warmup, msg=None):
+ avg, all_times = iter_benchmark(iterator, num_iter, warmup, self.max_time_seconds)
+ if msg is not None:
+ self._log_time(msg, avg, all_times)
+ return avg, all_times
+
+ def _log_time(self, msg, avg, all_times, distributed=False):
+ percentiles = [np.percentile(all_times, k, interpolation="nearest") for k in [1, 5, 95, 99]]
+ if not distributed:
+ logger.info(
+ f"{msg}: avg={1.0/avg:.1f} it/s, "
+ f"p1={percentiles[0]:.2g}s, p5={percentiles[1]:.2g}s, "
+ f"p95={percentiles[2]:.2g}s, p99={percentiles[3]:.2g}s."
+ )
+ return
+ avg_per_gpu = comm.all_gather(avg)
+ percentiles_per_gpu = comm.all_gather(percentiles)
+ if comm.get_rank() > 0:
+ return
+ for idx, avg, percentiles in zip(count(), avg_per_gpu, percentiles_per_gpu):
+ logger.info(
+ f"GPU{idx} {msg}: avg={1.0/avg:.1f} it/s, "
+ f"p1={percentiles[0]:.2g}s, p5={percentiles[1]:.2g}s, "
+ f"p95={percentiles[2]:.2g}s, p99={percentiles[3]:.2g}s."
+ )
+
+ def benchmark_dataset(self, num_iter, warmup=5):
+ """
+ Benchmark the speed of taking raw samples from the dataset.
+ """
+
+ def loader():
+ while True:
+ for k in self.sampler:
+ yield self.dataset[k]
+
+ self._benchmark(loader(), num_iter, warmup, "Dataset Alone")
+
+ def benchmark_mapper(self, num_iter, warmup=5):
+ """
+ Benchmark the speed of taking raw samples from the dataset and map
+ them in a single process.
+ """
+
+ def loader():
+ while True:
+ for k in self.sampler:
+ yield self.mapper(self.dataset[k])
+
+ self._benchmark(loader(), num_iter, warmup, "Single Process Mapper (sec/sample)")
+
+ def benchmark_workers(self, num_iter, warmup=10):
+ """
+ Benchmark the dataloader by tuning num_workers to [0, 1, self.num_workers].
+ """
+ candidates = [0, 1]
+ if self.num_workers not in candidates:
+ candidates.append(self.num_workers)
+
+ dataset = MapDataset(self.dataset, self.mapper)
+ for n in candidates:
+ loader = build_batch_data_loader(
+ dataset,
+ self.sampler,
+ self.total_batch_size,
+ num_workers=n,
+ )
+ self._benchmark(
+ iter(loader),
+ num_iter * max(n, 1),
+ warmup * max(n, 1),
+ f"DataLoader ({n} workers, bs={self.per_gpu_batch_size})",
+ )
+ del loader
+
+ def benchmark_IPC(self, num_iter, warmup=10):
+ """
+ Benchmark the dataloader where each worker outputs nothing. This
+ eliminates the IPC overhead compared to the regular dataloader.
+
+ PyTorch multiprocessing's IPC only optimizes for torch tensors.
+ Large numpy arrays or other data structure may incur large IPC overhead.
+ """
+ n = self.num_workers
+ dataset = _EmptyMapDataset(MapDataset(self.dataset, self.mapper))
+ loader = build_batch_data_loader(
+ dataset, self.sampler, self.total_batch_size, num_workers=n
+ )
+ self._benchmark(
+ iter(loader),
+ num_iter * max(n, 1),
+ warmup * max(n, 1),
+ f"DataLoader ({n} workers, bs={self.per_gpu_batch_size}) w/o comm",
+ )
+
+ def benchmark_distributed(self, num_iter, warmup=10):
+ """
+ Benchmark the dataloader in each distributed worker, and log results of
+ all workers. This helps understand the final performance as well as
+ the variances among workers.
+
+ It also prints startup time (first iter) of the dataloader.
+ """
+ gpu = comm.get_world_size()
+ dataset = MapDataset(self.dataset, self.mapper)
+ n = self.num_workers
+ loader = build_batch_data_loader(
+ dataset, self.sampler, self.total_batch_size, num_workers=n
+ )
+
+ timer = Timer()
+ loader = iter(loader)
+ next(loader)
+ startup_time = timer.seconds()
+ logger.info("Dataloader startup time: {:.2f} seconds".format(startup_time))
+
+ comm.synchronize()
+
+ avg, all_times = self._benchmark(loader, num_iter * max(n, 1), warmup * max(n, 1))
+ del loader
+ self._log_time(
+ f"DataLoader ({gpu} GPUs x {n} workers, total bs={self.total_batch_size})",
+ avg,
+ all_times,
+ True,
+ )
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/build.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/build.py
new file mode 100644
index 0000000000000000000000000000000000000000..d03137a9aabfc4a056dd671d4c3d0ba6f349fe03
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/build.py
@@ -0,0 +1,556 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+import itertools
+import logging
+import numpy as np
+import operator
+import pickle
+from typing import Any, Callable, Dict, List, Optional, Union
+import torch
+import torch.utils.data as torchdata
+from tabulate import tabulate
+from termcolor import colored
+
+from annotator.oneformer.detectron2.config import configurable
+from annotator.oneformer.detectron2.structures import BoxMode
+from annotator.oneformer.detectron2.utils.comm import get_world_size
+from annotator.oneformer.detectron2.utils.env import seed_all_rng
+from annotator.oneformer.detectron2.utils.file_io import PathManager
+from annotator.oneformer.detectron2.utils.logger import _log_api_usage, log_first_n
+
+from .catalog import DatasetCatalog, MetadataCatalog
+from .common import AspectRatioGroupedDataset, DatasetFromList, MapDataset, ToIterableDataset
+from .dataset_mapper import DatasetMapper
+from .detection_utils import check_metadata_consistency
+from .samplers import (
+ InferenceSampler,
+ RandomSubsetTrainingSampler,
+ RepeatFactorTrainingSampler,
+ TrainingSampler,
+)
+
+"""
+This file contains the default logic to build a dataloader for training or testing.
+"""
+
+__all__ = [
+ "build_batch_data_loader",
+ "build_detection_train_loader",
+ "build_detection_test_loader",
+ "get_detection_dataset_dicts",
+ "load_proposals_into_dataset",
+ "print_instances_class_histogram",
+]
+
+
+def filter_images_with_only_crowd_annotations(dataset_dicts):
+ """
+ Filter out images with none annotations or only crowd annotations
+ (i.e., images without non-crowd annotations).
+ A common training-time preprocessing on COCO dataset.
+
+ Args:
+ dataset_dicts (list[dict]): annotations in Detectron2 Dataset format.
+
+ Returns:
+ list[dict]: the same format, but filtered.
+ """
+ num_before = len(dataset_dicts)
+
+ def valid(anns):
+ for ann in anns:
+ if ann.get("iscrowd", 0) == 0:
+ return True
+ return False
+
+ dataset_dicts = [x for x in dataset_dicts if valid(x["annotations"])]
+ num_after = len(dataset_dicts)
+ logger = logging.getLogger(__name__)
+ logger.info(
+ "Removed {} images with no usable annotations. {} images left.".format(
+ num_before - num_after, num_after
+ )
+ )
+ return dataset_dicts
+
+
+def filter_images_with_few_keypoints(dataset_dicts, min_keypoints_per_image):
+ """
+ Filter out images with too few number of keypoints.
+
+ Args:
+ dataset_dicts (list[dict]): annotations in Detectron2 Dataset format.
+
+ Returns:
+ list[dict]: the same format as dataset_dicts, but filtered.
+ """
+ num_before = len(dataset_dicts)
+
+ def visible_keypoints_in_image(dic):
+ # Each keypoints field has the format [x1, y1, v1, ...], where v is visibility
+ annotations = dic["annotations"]
+ return sum(
+ (np.array(ann["keypoints"][2::3]) > 0).sum()
+ for ann in annotations
+ if "keypoints" in ann
+ )
+
+ dataset_dicts = [
+ x for x in dataset_dicts if visible_keypoints_in_image(x) >= min_keypoints_per_image
+ ]
+ num_after = len(dataset_dicts)
+ logger = logging.getLogger(__name__)
+ logger.info(
+ "Removed {} images with fewer than {} keypoints.".format(
+ num_before - num_after, min_keypoints_per_image
+ )
+ )
+ return dataset_dicts
+
+
+def load_proposals_into_dataset(dataset_dicts, proposal_file):
+ """
+ Load precomputed object proposals into the dataset.
+
+ The proposal file should be a pickled dict with the following keys:
+
+ - "ids": list[int] or list[str], the image ids
+ - "boxes": list[np.ndarray], each is an Nx4 array of boxes corresponding to the image id
+ - "objectness_logits": list[np.ndarray], each is an N sized array of objectness scores
+ corresponding to the boxes.
+ - "bbox_mode": the BoxMode of the boxes array. Defaults to ``BoxMode.XYXY_ABS``.
+
+ Args:
+ dataset_dicts (list[dict]): annotations in Detectron2 Dataset format.
+ proposal_file (str): file path of pre-computed proposals, in pkl format.
+
+ Returns:
+ list[dict]: the same format as dataset_dicts, but added proposal field.
+ """
+ logger = logging.getLogger(__name__)
+ logger.info("Loading proposals from: {}".format(proposal_file))
+
+ with PathManager.open(proposal_file, "rb") as f:
+ proposals = pickle.load(f, encoding="latin1")
+
+ # Rename the key names in D1 proposal files
+ rename_keys = {"indexes": "ids", "scores": "objectness_logits"}
+ for key in rename_keys:
+ if key in proposals:
+ proposals[rename_keys[key]] = proposals.pop(key)
+
+ # Fetch the indexes of all proposals that are in the dataset
+ # Convert image_id to str since they could be int.
+ img_ids = set({str(record["image_id"]) for record in dataset_dicts})
+ id_to_index = {str(id): i for i, id in enumerate(proposals["ids"]) if str(id) in img_ids}
+
+ # Assuming default bbox_mode of precomputed proposals are 'XYXY_ABS'
+ bbox_mode = BoxMode(proposals["bbox_mode"]) if "bbox_mode" in proposals else BoxMode.XYXY_ABS
+
+ for record in dataset_dicts:
+ # Get the index of the proposal
+ i = id_to_index[str(record["image_id"])]
+
+ boxes = proposals["boxes"][i]
+ objectness_logits = proposals["objectness_logits"][i]
+ # Sort the proposals in descending order of the scores
+ inds = objectness_logits.argsort()[::-1]
+ record["proposal_boxes"] = boxes[inds]
+ record["proposal_objectness_logits"] = objectness_logits[inds]
+ record["proposal_bbox_mode"] = bbox_mode
+
+ return dataset_dicts
+
+
+def print_instances_class_histogram(dataset_dicts, class_names):
+ """
+ Args:
+ dataset_dicts (list[dict]): list of dataset dicts.
+ class_names (list[str]): list of class names (zero-indexed).
+ """
+ num_classes = len(class_names)
+ hist_bins = np.arange(num_classes + 1)
+ histogram = np.zeros((num_classes,), dtype=np.int)
+ for entry in dataset_dicts:
+ annos = entry["annotations"]
+ classes = np.asarray(
+ [x["category_id"] for x in annos if not x.get("iscrowd", 0)], dtype=np.int
+ )
+ if len(classes):
+ assert classes.min() >= 0, f"Got an invalid category_id={classes.min()}"
+ assert (
+ classes.max() < num_classes
+ ), f"Got an invalid category_id={classes.max()} for a dataset of {num_classes} classes"
+ histogram += np.histogram(classes, bins=hist_bins)[0]
+
+ N_COLS = min(6, len(class_names) * 2)
+
+ def short_name(x):
+ # make long class names shorter. useful for lvis
+ if len(x) > 13:
+ return x[:11] + ".."
+ return x
+
+ data = list(
+ itertools.chain(*[[short_name(class_names[i]), int(v)] for i, v in enumerate(histogram)])
+ )
+ total_num_instances = sum(data[1::2])
+ data.extend([None] * (N_COLS - (len(data) % N_COLS)))
+ if num_classes > 1:
+ data.extend(["total", total_num_instances])
+ data = itertools.zip_longest(*[data[i::N_COLS] for i in range(N_COLS)])
+ table = tabulate(
+ data,
+ headers=["category", "#instances"] * (N_COLS // 2),
+ tablefmt="pipe",
+ numalign="left",
+ stralign="center",
+ )
+ log_first_n(
+ logging.INFO,
+ "Distribution of instances among all {} categories:\n".format(num_classes)
+ + colored(table, "cyan"),
+ key="message",
+ )
+
+
+def get_detection_dataset_dicts(
+ names,
+ filter_empty=True,
+ min_keypoints=0,
+ proposal_files=None,
+ check_consistency=True,
+):
+ """
+ Load and prepare dataset dicts for instance detection/segmentation and semantic segmentation.
+
+ Args:
+ names (str or list[str]): a dataset name or a list of dataset names
+ filter_empty (bool): whether to filter out images without instance annotations
+ min_keypoints (int): filter out images with fewer keypoints than
+ `min_keypoints`. Set to 0 to do nothing.
+ proposal_files (list[str]): if given, a list of object proposal files
+ that match each dataset in `names`.
+ check_consistency (bool): whether to check if datasets have consistent metadata.
+
+ Returns:
+ list[dict]: a list of dicts following the standard dataset dict format.
+ """
+ if isinstance(names, str):
+ names = [names]
+ assert len(names), names
+ dataset_dicts = [DatasetCatalog.get(dataset_name) for dataset_name in names]
+
+ if isinstance(dataset_dicts[0], torchdata.Dataset):
+ if len(dataset_dicts) > 1:
+ # ConcatDataset does not work for iterable style dataset.
+ # We could support concat for iterable as well, but it's often
+ # not a good idea to concat iterables anyway.
+ return torchdata.ConcatDataset(dataset_dicts)
+ return dataset_dicts[0]
+
+ for dataset_name, dicts in zip(names, dataset_dicts):
+ assert len(dicts), "Dataset '{}' is empty!".format(dataset_name)
+
+ if proposal_files is not None:
+ assert len(names) == len(proposal_files)
+ # load precomputed proposals from proposal files
+ dataset_dicts = [
+ load_proposals_into_dataset(dataset_i_dicts, proposal_file)
+ for dataset_i_dicts, proposal_file in zip(dataset_dicts, proposal_files)
+ ]
+
+ dataset_dicts = list(itertools.chain.from_iterable(dataset_dicts))
+
+ has_instances = "annotations" in dataset_dicts[0]
+ if filter_empty and has_instances:
+ dataset_dicts = filter_images_with_only_crowd_annotations(dataset_dicts)
+ if min_keypoints > 0 and has_instances:
+ dataset_dicts = filter_images_with_few_keypoints(dataset_dicts, min_keypoints)
+
+ if check_consistency and has_instances:
+ try:
+ class_names = MetadataCatalog.get(names[0]).thing_classes
+ check_metadata_consistency("thing_classes", names)
+ print_instances_class_histogram(dataset_dicts, class_names)
+ except AttributeError: # class names are not available for this dataset
+ pass
+
+ assert len(dataset_dicts), "No valid data found in {}.".format(",".join(names))
+ return dataset_dicts
+
+
+def build_batch_data_loader(
+ dataset,
+ sampler,
+ total_batch_size,
+ *,
+ aspect_ratio_grouping=False,
+ num_workers=0,
+ collate_fn=None,
+):
+ """
+ Build a batched dataloader. The main differences from `torch.utils.data.DataLoader` are:
+ 1. support aspect ratio grouping options
+ 2. use no "batch collation", because this is common for detection training
+
+ Args:
+ dataset (torch.utils.data.Dataset): a pytorch map-style or iterable dataset.
+ sampler (torch.utils.data.sampler.Sampler or None): a sampler that produces indices.
+ Must be provided iff. ``dataset`` is a map-style dataset.
+ total_batch_size, aspect_ratio_grouping, num_workers, collate_fn: see
+ :func:`build_detection_train_loader`.
+
+ Returns:
+ iterable[list]. Length of each list is the batch size of the current
+ GPU. Each element in the list comes from the dataset.
+ """
+ world_size = get_world_size()
+ assert (
+ total_batch_size > 0 and total_batch_size % world_size == 0
+ ), "Total batch size ({}) must be divisible by the number of gpus ({}).".format(
+ total_batch_size, world_size
+ )
+ batch_size = total_batch_size // world_size
+
+ if isinstance(dataset, torchdata.IterableDataset):
+ assert sampler is None, "sampler must be None if dataset is IterableDataset"
+ else:
+ dataset = ToIterableDataset(dataset, sampler)
+
+ if aspect_ratio_grouping:
+ data_loader = torchdata.DataLoader(
+ dataset,
+ num_workers=num_workers,
+ collate_fn=operator.itemgetter(0), # don't batch, but yield individual elements
+ worker_init_fn=worker_init_reset_seed,
+ ) # yield individual mapped dict
+ data_loader = AspectRatioGroupedDataset(data_loader, batch_size)
+ if collate_fn is None:
+ return data_loader
+ return MapDataset(data_loader, collate_fn)
+ else:
+ return torchdata.DataLoader(
+ dataset,
+ batch_size=batch_size,
+ drop_last=True,
+ num_workers=num_workers,
+ collate_fn=trivial_batch_collator if collate_fn is None else collate_fn,
+ worker_init_fn=worker_init_reset_seed,
+ )
+
+
+def _train_loader_from_config(cfg, mapper=None, *, dataset=None, sampler=None):
+ if dataset is None:
+ dataset = get_detection_dataset_dicts(
+ cfg.DATASETS.TRAIN,
+ filter_empty=cfg.DATALOADER.FILTER_EMPTY_ANNOTATIONS,
+ min_keypoints=cfg.MODEL.ROI_KEYPOINT_HEAD.MIN_KEYPOINTS_PER_IMAGE
+ if cfg.MODEL.KEYPOINT_ON
+ else 0,
+ proposal_files=cfg.DATASETS.PROPOSAL_FILES_TRAIN if cfg.MODEL.LOAD_PROPOSALS else None,
+ )
+ _log_api_usage("dataset." + cfg.DATASETS.TRAIN[0])
+
+ if mapper is None:
+ mapper = DatasetMapper(cfg, True)
+
+ if sampler is None:
+ sampler_name = cfg.DATALOADER.SAMPLER_TRAIN
+ logger = logging.getLogger(__name__)
+ if isinstance(dataset, torchdata.IterableDataset):
+ logger.info("Not using any sampler since the dataset is IterableDataset.")
+ sampler = None
+ else:
+ logger.info("Using training sampler {}".format(sampler_name))
+ if sampler_name == "TrainingSampler":
+ sampler = TrainingSampler(len(dataset))
+ elif sampler_name == "RepeatFactorTrainingSampler":
+ repeat_factors = RepeatFactorTrainingSampler.repeat_factors_from_category_frequency(
+ dataset, cfg.DATALOADER.REPEAT_THRESHOLD
+ )
+ sampler = RepeatFactorTrainingSampler(repeat_factors)
+ elif sampler_name == "RandomSubsetTrainingSampler":
+ sampler = RandomSubsetTrainingSampler(
+ len(dataset), cfg.DATALOADER.RANDOM_SUBSET_RATIO
+ )
+ else:
+ raise ValueError("Unknown training sampler: {}".format(sampler_name))
+
+ return {
+ "dataset": dataset,
+ "sampler": sampler,
+ "mapper": mapper,
+ "total_batch_size": cfg.SOLVER.IMS_PER_BATCH,
+ "aspect_ratio_grouping": cfg.DATALOADER.ASPECT_RATIO_GROUPING,
+ "num_workers": cfg.DATALOADER.NUM_WORKERS,
+ }
+
+
+@configurable(from_config=_train_loader_from_config)
+def build_detection_train_loader(
+ dataset,
+ *,
+ mapper,
+ sampler=None,
+ total_batch_size,
+ aspect_ratio_grouping=True,
+ num_workers=0,
+ collate_fn=None,
+):
+ """
+ Build a dataloader for object detection with some default features.
+
+ Args:
+ dataset (list or torch.utils.data.Dataset): a list of dataset dicts,
+ or a pytorch dataset (either map-style or iterable). It can be obtained
+ by using :func:`DatasetCatalog.get` or :func:`get_detection_dataset_dicts`.
+ mapper (callable): a callable which takes a sample (dict) from dataset and
+ returns the format to be consumed by the model.
+ When using cfg, the default choice is ``DatasetMapper(cfg, is_train=True)``.
+ sampler (torch.utils.data.sampler.Sampler or None): a sampler that produces
+ indices to be applied on ``dataset``.
+ If ``dataset`` is map-style, the default sampler is a :class:`TrainingSampler`,
+ which coordinates an infinite random shuffle sequence across all workers.
+ Sampler must be None if ``dataset`` is iterable.
+ total_batch_size (int): total batch size across all workers.
+ aspect_ratio_grouping (bool): whether to group images with similar
+ aspect ratio for efficiency. When enabled, it requires each
+ element in dataset be a dict with keys "width" and "height".
+ num_workers (int): number of parallel data loading workers
+ collate_fn: a function that determines how to do batching, same as the argument of
+ `torch.utils.data.DataLoader`. Defaults to do no collation and return a list of
+ data. No collation is OK for small batch size and simple data structures.
+ If your batch size is large and each sample contains too many small tensors,
+ it's more efficient to collate them in data loader.
+
+ Returns:
+ torch.utils.data.DataLoader:
+ a dataloader. Each output from it is a ``list[mapped_element]`` of length
+ ``total_batch_size / num_workers``, where ``mapped_element`` is produced
+ by the ``mapper``.
+ """
+ if isinstance(dataset, list):
+ dataset = DatasetFromList(dataset, copy=False)
+ if mapper is not None:
+ dataset = MapDataset(dataset, mapper)
+
+ if isinstance(dataset, torchdata.IterableDataset):
+ assert sampler is None, "sampler must be None if dataset is IterableDataset"
+ else:
+ if sampler is None:
+ sampler = TrainingSampler(len(dataset))
+ assert isinstance(sampler, torchdata.Sampler), f"Expect a Sampler but got {type(sampler)}"
+ return build_batch_data_loader(
+ dataset,
+ sampler,
+ total_batch_size,
+ aspect_ratio_grouping=aspect_ratio_grouping,
+ num_workers=num_workers,
+ collate_fn=collate_fn,
+ )
+
+
+def _test_loader_from_config(cfg, dataset_name, mapper=None):
+ """
+ Uses the given `dataset_name` argument (instead of the names in cfg), because the
+ standard practice is to evaluate each test set individually (not combining them).
+ """
+ if isinstance(dataset_name, str):
+ dataset_name = [dataset_name]
+
+ dataset = get_detection_dataset_dicts(
+ dataset_name,
+ filter_empty=False,
+ proposal_files=[
+ cfg.DATASETS.PROPOSAL_FILES_TEST[list(cfg.DATASETS.TEST).index(x)] for x in dataset_name
+ ]
+ if cfg.MODEL.LOAD_PROPOSALS
+ else None,
+ )
+ if mapper is None:
+ mapper = DatasetMapper(cfg, False)
+ return {
+ "dataset": dataset,
+ "mapper": mapper,
+ "num_workers": cfg.DATALOADER.NUM_WORKERS,
+ "sampler": InferenceSampler(len(dataset))
+ if not isinstance(dataset, torchdata.IterableDataset)
+ else None,
+ }
+
+
+@configurable(from_config=_test_loader_from_config)
+def build_detection_test_loader(
+ dataset: Union[List[Any], torchdata.Dataset],
+ *,
+ mapper: Callable[[Dict[str, Any]], Any],
+ sampler: Optional[torchdata.Sampler] = None,
+ batch_size: int = 1,
+ num_workers: int = 0,
+ collate_fn: Optional[Callable[[List[Any]], Any]] = None,
+) -> torchdata.DataLoader:
+ """
+ Similar to `build_detection_train_loader`, with default batch size = 1,
+ and sampler = :class:`InferenceSampler`. This sampler coordinates all workers
+ to produce the exact set of all samples.
+
+ Args:
+ dataset: a list of dataset dicts,
+ or a pytorch dataset (either map-style or iterable). They can be obtained
+ by using :func:`DatasetCatalog.get` or :func:`get_detection_dataset_dicts`.
+ mapper: a callable which takes a sample (dict) from dataset
+ and returns the format to be consumed by the model.
+ When using cfg, the default choice is ``DatasetMapper(cfg, is_train=False)``.
+ sampler: a sampler that produces
+ indices to be applied on ``dataset``. Default to :class:`InferenceSampler`,
+ which splits the dataset across all workers. Sampler must be None
+ if `dataset` is iterable.
+ batch_size: the batch size of the data loader to be created.
+ Default to 1 image per worker since this is the standard when reporting
+ inference time in papers.
+ num_workers: number of parallel data loading workers
+ collate_fn: same as the argument of `torch.utils.data.DataLoader`.
+ Defaults to do no collation and return a list of data.
+
+ Returns:
+ DataLoader: a torch DataLoader, that loads the given detection
+ dataset, with test-time transformation and batching.
+
+ Examples:
+ ::
+ data_loader = build_detection_test_loader(
+ DatasetRegistry.get("my_test"),
+ mapper=DatasetMapper(...))
+
+ # or, instantiate with a CfgNode:
+ data_loader = build_detection_test_loader(cfg, "my_test")
+ """
+ if isinstance(dataset, list):
+ dataset = DatasetFromList(dataset, copy=False)
+ if mapper is not None:
+ dataset = MapDataset(dataset, mapper)
+ if isinstance(dataset, torchdata.IterableDataset):
+ assert sampler is None, "sampler must be None if dataset is IterableDataset"
+ else:
+ if sampler is None:
+ sampler = InferenceSampler(len(dataset))
+ return torchdata.DataLoader(
+ dataset,
+ batch_size=batch_size,
+ sampler=sampler,
+ drop_last=False,
+ num_workers=num_workers,
+ collate_fn=trivial_batch_collator if collate_fn is None else collate_fn,
+ )
+
+
+def trivial_batch_collator(batch):
+ """
+ A batch collator that does nothing.
+ """
+ return batch
+
+
+def worker_init_reset_seed(worker_id):
+ initial_seed = torch.initial_seed() % 2**31
+ seed_all_rng(initial_seed + worker_id)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/catalog.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/catalog.py
new file mode 100644
index 0000000000000000000000000000000000000000..4f5209b5583d01258437bdc9b52a3dd716bdbbf6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/catalog.py
@@ -0,0 +1,236 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+import copy
+import logging
+import types
+from collections import UserDict
+from typing import List
+
+from annotator.oneformer.detectron2.utils.logger import log_first_n
+
+__all__ = ["DatasetCatalog", "MetadataCatalog", "Metadata"]
+
+
+class _DatasetCatalog(UserDict):
+ """
+ A global dictionary that stores information about the datasets and how to obtain them.
+
+ It contains a mapping from strings
+ (which are names that identify a dataset, e.g. "coco_2014_train")
+ to a function which parses the dataset and returns the samples in the
+ format of `list[dict]`.
+
+ The returned dicts should be in Detectron2 Dataset format (See DATASETS.md for details)
+ if used with the data loader functionalities in `data/build.py,data/detection_transform.py`.
+
+ The purpose of having this catalog is to make it easy to choose
+ different datasets, by just using the strings in the config.
+ """
+
+ def register(self, name, func):
+ """
+ Args:
+ name (str): the name that identifies a dataset, e.g. "coco_2014_train".
+ func (callable): a callable which takes no arguments and returns a list of dicts.
+ It must return the same results if called multiple times.
+ """
+ assert callable(func), "You must register a function with `DatasetCatalog.register`!"
+ assert name not in self, "Dataset '{}' is already registered!".format(name)
+ self[name] = func
+
+ def get(self, name):
+ """
+ Call the registered function and return its results.
+
+ Args:
+ name (str): the name that identifies a dataset, e.g. "coco_2014_train".
+
+ Returns:
+ list[dict]: dataset annotations.
+ """
+ try:
+ f = self[name]
+ except KeyError as e:
+ raise KeyError(
+ "Dataset '{}' is not registered! Available datasets are: {}".format(
+ name, ", ".join(list(self.keys()))
+ )
+ ) from e
+ return f()
+
+ def list(self) -> List[str]:
+ """
+ List all registered datasets.
+
+ Returns:
+ list[str]
+ """
+ return list(self.keys())
+
+ def remove(self, name):
+ """
+ Alias of ``pop``.
+ """
+ self.pop(name)
+
+ def __str__(self):
+ return "DatasetCatalog(registered datasets: {})".format(", ".join(self.keys()))
+
+ __repr__ = __str__
+
+
+DatasetCatalog = _DatasetCatalog()
+DatasetCatalog.__doc__ = (
+ _DatasetCatalog.__doc__
+ + """
+ .. automethod:: detectron2.data.catalog.DatasetCatalog.register
+ .. automethod:: detectron2.data.catalog.DatasetCatalog.get
+"""
+)
+
+
+class Metadata(types.SimpleNamespace):
+ """
+ A class that supports simple attribute setter/getter.
+ It is intended for storing metadata of a dataset and make it accessible globally.
+
+ Examples:
+ ::
+ # somewhere when you load the data:
+ MetadataCatalog.get("mydataset").thing_classes = ["person", "dog"]
+
+ # somewhere when you print statistics or visualize:
+ classes = MetadataCatalog.get("mydataset").thing_classes
+ """
+
+ # the name of the dataset
+ # set default to N/A so that `self.name` in the errors will not trigger getattr again
+ name: str = "N/A"
+
+ _RENAMED = {
+ "class_names": "thing_classes",
+ "dataset_id_to_contiguous_id": "thing_dataset_id_to_contiguous_id",
+ "stuff_class_names": "stuff_classes",
+ }
+
+ def __getattr__(self, key):
+ if key in self._RENAMED:
+ log_first_n(
+ logging.WARNING,
+ "Metadata '{}' was renamed to '{}'!".format(key, self._RENAMED[key]),
+ n=10,
+ )
+ return getattr(self, self._RENAMED[key])
+
+ # "name" exists in every metadata
+ if len(self.__dict__) > 1:
+ raise AttributeError(
+ "Attribute '{}' does not exist in the metadata of dataset '{}'. Available "
+ "keys are {}.".format(key, self.name, str(self.__dict__.keys()))
+ )
+ else:
+ raise AttributeError(
+ f"Attribute '{key}' does not exist in the metadata of dataset '{self.name}': "
+ "metadata is empty."
+ )
+
+ def __setattr__(self, key, val):
+ if key in self._RENAMED:
+ log_first_n(
+ logging.WARNING,
+ "Metadata '{}' was renamed to '{}'!".format(key, self._RENAMED[key]),
+ n=10,
+ )
+ setattr(self, self._RENAMED[key], val)
+
+ # Ensure that metadata of the same name stays consistent
+ try:
+ oldval = getattr(self, key)
+ assert oldval == val, (
+ "Attribute '{}' in the metadata of '{}' cannot be set "
+ "to a different value!\n{} != {}".format(key, self.name, oldval, val)
+ )
+ except AttributeError:
+ super().__setattr__(key, val)
+
+ def as_dict(self):
+ """
+ Returns all the metadata as a dict.
+ Note that modifications to the returned dict will not reflect on the Metadata object.
+ """
+ return copy.copy(self.__dict__)
+
+ def set(self, **kwargs):
+ """
+ Set multiple metadata with kwargs.
+ """
+ for k, v in kwargs.items():
+ setattr(self, k, v)
+ return self
+
+ def get(self, key, default=None):
+ """
+ Access an attribute and return its value if exists.
+ Otherwise return default.
+ """
+ try:
+ return getattr(self, key)
+ except AttributeError:
+ return default
+
+
+class _MetadataCatalog(UserDict):
+ """
+ MetadataCatalog is a global dictionary that provides access to
+ :class:`Metadata` of a given dataset.
+
+ The metadata associated with a certain name is a singleton: once created, the
+ metadata will stay alive and will be returned by future calls to ``get(name)``.
+
+ It's like global variables, so don't abuse it.
+ It's meant for storing knowledge that's constant and shared across the execution
+ of the program, e.g.: the class names in COCO.
+ """
+
+ def get(self, name):
+ """
+ Args:
+ name (str): name of a dataset (e.g. coco_2014_train).
+
+ Returns:
+ Metadata: The :class:`Metadata` instance associated with this name,
+ or create an empty one if none is available.
+ """
+ assert len(name)
+ r = super().get(name, None)
+ if r is None:
+ r = self[name] = Metadata(name=name)
+ return r
+
+ def list(self):
+ """
+ List all registered metadata.
+
+ Returns:
+ list[str]: keys (names of datasets) of all registered metadata
+ """
+ return list(self.keys())
+
+ def remove(self, name):
+ """
+ Alias of ``pop``.
+ """
+ self.pop(name)
+
+ def __str__(self):
+ return "MetadataCatalog(registered metadata: {})".format(", ".join(self.keys()))
+
+ __repr__ = __str__
+
+
+MetadataCatalog = _MetadataCatalog()
+MetadataCatalog.__doc__ = (
+ _MetadataCatalog.__doc__
+ + """
+ .. automethod:: detectron2.data.catalog.MetadataCatalog.get
+"""
+)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/common.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/common.py
new file mode 100644
index 0000000000000000000000000000000000000000..aa69a6a6546030aee818b195a0fbb399d5b776f6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/common.py
@@ -0,0 +1,301 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+import contextlib
+import copy
+import itertools
+import logging
+import numpy as np
+import pickle
+import random
+from typing import Callable, Union
+import torch
+import torch.utils.data as data
+from torch.utils.data.sampler import Sampler
+
+from annotator.oneformer.detectron2.utils.serialize import PicklableWrapper
+
+__all__ = ["MapDataset", "DatasetFromList", "AspectRatioGroupedDataset", "ToIterableDataset"]
+
+logger = logging.getLogger(__name__)
+
+
+def _shard_iterator_dataloader_worker(iterable):
+ # Shard the iterable if we're currently inside pytorch dataloader worker.
+ worker_info = data.get_worker_info()
+ if worker_info is None or worker_info.num_workers == 1:
+ # do nothing
+ yield from iterable
+ else:
+ yield from itertools.islice(iterable, worker_info.id, None, worker_info.num_workers)
+
+
+class _MapIterableDataset(data.IterableDataset):
+ """
+ Map a function over elements in an IterableDataset.
+
+ Similar to pytorch's MapIterDataPipe, but support filtering when map_func
+ returns None.
+
+ This class is not public-facing. Will be called by `MapDataset`.
+ """
+
+ def __init__(self, dataset, map_func):
+ self._dataset = dataset
+ self._map_func = PicklableWrapper(map_func) # wrap so that a lambda will work
+
+ def __len__(self):
+ return len(self._dataset)
+
+ def __iter__(self):
+ for x in map(self._map_func, self._dataset):
+ if x is not None:
+ yield x
+
+
+class MapDataset(data.Dataset):
+ """
+ Map a function over the elements in a dataset.
+ """
+
+ def __init__(self, dataset, map_func):
+ """
+ Args:
+ dataset: a dataset where map function is applied. Can be either
+ map-style or iterable dataset. When given an iterable dataset,
+ the returned object will also be an iterable dataset.
+ map_func: a callable which maps the element in dataset. map_func can
+ return None to skip the data (e.g. in case of errors).
+ How None is handled depends on the style of `dataset`.
+ If `dataset` is map-style, it randomly tries other elements.
+ If `dataset` is iterable, it skips the data and tries the next.
+ """
+ self._dataset = dataset
+ self._map_func = PicklableWrapper(map_func) # wrap so that a lambda will work
+
+ self._rng = random.Random(42)
+ self._fallback_candidates = set(range(len(dataset)))
+
+ def __new__(cls, dataset, map_func):
+ is_iterable = isinstance(dataset, data.IterableDataset)
+ if is_iterable:
+ return _MapIterableDataset(dataset, map_func)
+ else:
+ return super().__new__(cls)
+
+ def __getnewargs__(self):
+ return self._dataset, self._map_func
+
+ def __len__(self):
+ return len(self._dataset)
+
+ def __getitem__(self, idx):
+ retry_count = 0
+ cur_idx = int(idx)
+
+ while True:
+ data = self._map_func(self._dataset[cur_idx])
+ if data is not None:
+ self._fallback_candidates.add(cur_idx)
+ return data
+
+ # _map_func fails for this idx, use a random new index from the pool
+ retry_count += 1
+ self._fallback_candidates.discard(cur_idx)
+ cur_idx = self._rng.sample(self._fallback_candidates, k=1)[0]
+
+ if retry_count >= 3:
+ logger = logging.getLogger(__name__)
+ logger.warning(
+ "Failed to apply `_map_func` for idx: {}, retry count: {}".format(
+ idx, retry_count
+ )
+ )
+
+
+class _TorchSerializedList(object):
+ """
+ A list-like object whose items are serialized and stored in a torch tensor. When
+ launching a process that uses TorchSerializedList with "fork" start method,
+ the subprocess can read the same buffer without triggering copy-on-access. When
+ launching a process that uses TorchSerializedList with "spawn/forkserver" start
+ method, the list will be pickled by a special ForkingPickler registered by PyTorch
+ that moves data to shared memory. In both cases, this allows parent and child
+ processes to share RAM for the list data, hence avoids the issue in
+ https://github.com/pytorch/pytorch/issues/13246.
+
+ See also https://ppwwyyxx.com/blog/2022/Demystify-RAM-Usage-in-Multiprocess-DataLoader/
+ on how it works.
+ """
+
+ def __init__(self, lst: list):
+ self._lst = lst
+
+ def _serialize(data):
+ buffer = pickle.dumps(data, protocol=-1)
+ return np.frombuffer(buffer, dtype=np.uint8)
+
+ logger.info(
+ "Serializing {} elements to byte tensors and concatenating them all ...".format(
+ len(self._lst)
+ )
+ )
+ self._lst = [_serialize(x) for x in self._lst]
+ self._addr = np.asarray([len(x) for x in self._lst], dtype=np.int64)
+ self._addr = torch.from_numpy(np.cumsum(self._addr))
+ self._lst = torch.from_numpy(np.concatenate(self._lst))
+ logger.info("Serialized dataset takes {:.2f} MiB".format(len(self._lst) / 1024**2))
+
+ def __len__(self):
+ return len(self._addr)
+
+ def __getitem__(self, idx):
+ start_addr = 0 if idx == 0 else self._addr[idx - 1].item()
+ end_addr = self._addr[idx].item()
+ bytes = memoryview(self._lst[start_addr:end_addr].numpy())
+
+ # @lint-ignore PYTHONPICKLEISBAD
+ return pickle.loads(bytes)
+
+
+_DEFAULT_DATASET_FROM_LIST_SERIALIZE_METHOD = _TorchSerializedList
+
+
+@contextlib.contextmanager
+def set_default_dataset_from_list_serialize_method(new):
+ """
+ Context manager for using custom serialize function when creating DatasetFromList
+ """
+
+ global _DEFAULT_DATASET_FROM_LIST_SERIALIZE_METHOD
+ orig = _DEFAULT_DATASET_FROM_LIST_SERIALIZE_METHOD
+ _DEFAULT_DATASET_FROM_LIST_SERIALIZE_METHOD = new
+ yield
+ _DEFAULT_DATASET_FROM_LIST_SERIALIZE_METHOD = orig
+
+
+class DatasetFromList(data.Dataset):
+ """
+ Wrap a list to a torch Dataset. It produces elements of the list as data.
+ """
+
+ def __init__(
+ self,
+ lst: list,
+ copy: bool = True,
+ serialize: Union[bool, Callable] = True,
+ ):
+ """
+ Args:
+ lst (list): a list which contains elements to produce.
+ copy (bool): whether to deepcopy the element when producing it,
+ so that the result can be modified in place without affecting the
+ source in the list.
+ serialize (bool or callable): whether to serialize the stroage to other
+ backend. If `True`, the default serialize method will be used, if given
+ a callable, the callable will be used as serialize method.
+ """
+ self._lst = lst
+ self._copy = copy
+ if not isinstance(serialize, (bool, Callable)):
+ raise TypeError(f"Unsupported type for argument `serailzie`: {serialize}")
+ self._serialize = serialize is not False
+
+ if self._serialize:
+ serialize_method = (
+ serialize
+ if isinstance(serialize, Callable)
+ else _DEFAULT_DATASET_FROM_LIST_SERIALIZE_METHOD
+ )
+ logger.info(f"Serializing the dataset using: {serialize_method}")
+ self._lst = serialize_method(self._lst)
+
+ def __len__(self):
+ return len(self._lst)
+
+ def __getitem__(self, idx):
+ if self._copy and not self._serialize:
+ return copy.deepcopy(self._lst[idx])
+ else:
+ return self._lst[idx]
+
+
+class ToIterableDataset(data.IterableDataset):
+ """
+ Convert an old indices-based (also called map-style) dataset
+ to an iterable-style dataset.
+ """
+
+ def __init__(self, dataset: data.Dataset, sampler: Sampler, shard_sampler: bool = True):
+ """
+ Args:
+ dataset: an old-style dataset with ``__getitem__``
+ sampler: a cheap iterable that produces indices to be applied on ``dataset``.
+ shard_sampler: whether to shard the sampler based on the current pytorch data loader
+ worker id. When an IterableDataset is forked by pytorch's DataLoader into multiple
+ workers, it is responsible for sharding its data based on worker id so that workers
+ don't produce identical data.
+
+ Most samplers (like our TrainingSampler) do not shard based on dataloader worker id
+ and this argument should be set to True. But certain samplers may be already
+ sharded, in that case this argument should be set to False.
+ """
+ assert not isinstance(dataset, data.IterableDataset), dataset
+ assert isinstance(sampler, Sampler), sampler
+ self.dataset = dataset
+ self.sampler = sampler
+ self.shard_sampler = shard_sampler
+
+ def __iter__(self):
+ if not self.shard_sampler:
+ sampler = self.sampler
+ else:
+ # With map-style dataset, `DataLoader(dataset, sampler)` runs the
+ # sampler in main process only. But `DataLoader(ToIterableDataset(dataset, sampler))`
+ # will run sampler in every of the N worker. So we should only keep 1/N of the ids on
+ # each worker. The assumption is that sampler is cheap to iterate so it's fine to
+ # discard ids in workers.
+ sampler = _shard_iterator_dataloader_worker(self.sampler)
+ for idx in sampler:
+ yield self.dataset[idx]
+
+ def __len__(self):
+ return len(self.sampler)
+
+
+class AspectRatioGroupedDataset(data.IterableDataset):
+ """
+ Batch data that have similar aspect ratio together.
+ In this implementation, images whose aspect ratio < (or >) 1 will
+ be batched together.
+ This improves training speed because the images then need less padding
+ to form a batch.
+
+ It assumes the underlying dataset produces dicts with "width" and "height" keys.
+ It will then produce a list of original dicts with length = batch_size,
+ all with similar aspect ratios.
+ """
+
+ def __init__(self, dataset, batch_size):
+ """
+ Args:
+ dataset: an iterable. Each element must be a dict with keys
+ "width" and "height", which will be used to batch data.
+ batch_size (int):
+ """
+ self.dataset = dataset
+ self.batch_size = batch_size
+ self._buckets = [[] for _ in range(2)]
+ # Hard-coded two aspect ratio groups: w > h and w < h.
+ # Can add support for more aspect ratio groups, but doesn't seem useful
+
+ def __iter__(self):
+ for d in self.dataset:
+ w, h = d["width"], d["height"]
+ bucket_id = 0 if w > h else 1
+ bucket = self._buckets[bucket_id]
+ bucket.append(d)
+ if len(bucket) == self.batch_size:
+ data = bucket[:]
+ # Clear bucket first, because code after yield is not
+ # guaranteed to execute
+ del bucket[:]
+ yield data
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/dataset_mapper.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/dataset_mapper.py
new file mode 100644
index 0000000000000000000000000000000000000000..3bb6bb1057a68bfb12e55872f391065f02023ed3
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/dataset_mapper.py
@@ -0,0 +1,191 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+import copy
+import logging
+import numpy as np
+from typing import List, Optional, Union
+import torch
+
+from annotator.oneformer.detectron2.config import configurable
+
+from . import detection_utils as utils
+from . import transforms as T
+
+"""
+This file contains the default mapping that's applied to "dataset dicts".
+"""
+
+__all__ = ["DatasetMapper"]
+
+
+class DatasetMapper:
+ """
+ A callable which takes a dataset dict in Detectron2 Dataset format,
+ and map it into a format used by the model.
+
+ This is the default callable to be used to map your dataset dict into training data.
+ You may need to follow it to implement your own one for customized logic,
+ such as a different way to read or transform images.
+ See :doc:`/tutorials/data_loading` for details.
+
+ The callable currently does the following:
+
+ 1. Read the image from "file_name"
+ 2. Applies cropping/geometric transforms to the image and annotations
+ 3. Prepare data and annotations to Tensor and :class:`Instances`
+ """
+
+ @configurable
+ def __init__(
+ self,
+ is_train: bool,
+ *,
+ augmentations: List[Union[T.Augmentation, T.Transform]],
+ image_format: str,
+ use_instance_mask: bool = False,
+ use_keypoint: bool = False,
+ instance_mask_format: str = "polygon",
+ keypoint_hflip_indices: Optional[np.ndarray] = None,
+ precomputed_proposal_topk: Optional[int] = None,
+ recompute_boxes: bool = False,
+ ):
+ """
+ NOTE: this interface is experimental.
+
+ Args:
+ is_train: whether it's used in training or inference
+ augmentations: a list of augmentations or deterministic transforms to apply
+ image_format: an image format supported by :func:`detection_utils.read_image`.
+ use_instance_mask: whether to process instance segmentation annotations, if available
+ use_keypoint: whether to process keypoint annotations if available
+ instance_mask_format: one of "polygon" or "bitmask". Process instance segmentation
+ masks into this format.
+ keypoint_hflip_indices: see :func:`detection_utils.create_keypoint_hflip_indices`
+ precomputed_proposal_topk: if given, will load pre-computed
+ proposals from dataset_dict and keep the top k proposals for each image.
+ recompute_boxes: whether to overwrite bounding box annotations
+ by computing tight bounding boxes from instance mask annotations.
+ """
+ if recompute_boxes:
+ assert use_instance_mask, "recompute_boxes requires instance masks"
+ # fmt: off
+ self.is_train = is_train
+ self.augmentations = T.AugmentationList(augmentations)
+ self.image_format = image_format
+ self.use_instance_mask = use_instance_mask
+ self.instance_mask_format = instance_mask_format
+ self.use_keypoint = use_keypoint
+ self.keypoint_hflip_indices = keypoint_hflip_indices
+ self.proposal_topk = precomputed_proposal_topk
+ self.recompute_boxes = recompute_boxes
+ # fmt: on
+ logger = logging.getLogger(__name__)
+ mode = "training" if is_train else "inference"
+ logger.info(f"[DatasetMapper] Augmentations used in {mode}: {augmentations}")
+
+ @classmethod
+ def from_config(cls, cfg, is_train: bool = True):
+ augs = utils.build_augmentation(cfg, is_train)
+ if cfg.INPUT.CROP.ENABLED and is_train:
+ augs.insert(0, T.RandomCrop(cfg.INPUT.CROP.TYPE, cfg.INPUT.CROP.SIZE))
+ recompute_boxes = cfg.MODEL.MASK_ON
+ else:
+ recompute_boxes = False
+
+ ret = {
+ "is_train": is_train,
+ "augmentations": augs,
+ "image_format": cfg.INPUT.FORMAT,
+ "use_instance_mask": cfg.MODEL.MASK_ON,
+ "instance_mask_format": cfg.INPUT.MASK_FORMAT,
+ "use_keypoint": cfg.MODEL.KEYPOINT_ON,
+ "recompute_boxes": recompute_boxes,
+ }
+
+ if cfg.MODEL.KEYPOINT_ON:
+ ret["keypoint_hflip_indices"] = utils.create_keypoint_hflip_indices(cfg.DATASETS.TRAIN)
+
+ if cfg.MODEL.LOAD_PROPOSALS:
+ ret["precomputed_proposal_topk"] = (
+ cfg.DATASETS.PRECOMPUTED_PROPOSAL_TOPK_TRAIN
+ if is_train
+ else cfg.DATASETS.PRECOMPUTED_PROPOSAL_TOPK_TEST
+ )
+ return ret
+
+ def _transform_annotations(self, dataset_dict, transforms, image_shape):
+ # USER: Modify this if you want to keep them for some reason.
+ for anno in dataset_dict["annotations"]:
+ if not self.use_instance_mask:
+ anno.pop("segmentation", None)
+ if not self.use_keypoint:
+ anno.pop("keypoints", None)
+
+ # USER: Implement additional transformations if you have other types of data
+ annos = [
+ utils.transform_instance_annotations(
+ obj, transforms, image_shape, keypoint_hflip_indices=self.keypoint_hflip_indices
+ )
+ for obj in dataset_dict.pop("annotations")
+ if obj.get("iscrowd", 0) == 0
+ ]
+ instances = utils.annotations_to_instances(
+ annos, image_shape, mask_format=self.instance_mask_format
+ )
+
+ # After transforms such as cropping are applied, the bounding box may no longer
+ # tightly bound the object. As an example, imagine a triangle object
+ # [(0,0), (2,0), (0,2)] cropped by a box [(1,0),(2,2)] (XYXY format). The tight
+ # bounding box of the cropped triangle should be [(1,0),(2,1)], which is not equal to
+ # the intersection of original bounding box and the cropping box.
+ if self.recompute_boxes:
+ instances.gt_boxes = instances.gt_masks.get_bounding_boxes()
+ dataset_dict["instances"] = utils.filter_empty_instances(instances)
+
+ def __call__(self, dataset_dict):
+ """
+ Args:
+ dataset_dict (dict): Metadata of one image, in Detectron2 Dataset format.
+
+ Returns:
+ dict: a format that builtin models in detectron2 accept
+ """
+ dataset_dict = copy.deepcopy(dataset_dict) # it will be modified by code below
+ # USER: Write your own image loading if it's not from a file
+ image = utils.read_image(dataset_dict["file_name"], format=self.image_format)
+ utils.check_image_size(dataset_dict, image)
+
+ # USER: Remove if you don't do semantic/panoptic segmentation.
+ if "sem_seg_file_name" in dataset_dict:
+ sem_seg_gt = utils.read_image(dataset_dict.pop("sem_seg_file_name"), "L").squeeze(2)
+ else:
+ sem_seg_gt = None
+
+ aug_input = T.AugInput(image, sem_seg=sem_seg_gt)
+ transforms = self.augmentations(aug_input)
+ image, sem_seg_gt = aug_input.image, aug_input.sem_seg
+
+ image_shape = image.shape[:2] # h, w
+ # Pytorch's dataloader is efficient on torch.Tensor due to shared-memory,
+ # but not efficient on large generic data structures due to the use of pickle & mp.Queue.
+ # Therefore it's important to use torch.Tensor.
+ dataset_dict["image"] = torch.as_tensor(np.ascontiguousarray(image.transpose(2, 0, 1)))
+ if sem_seg_gt is not None:
+ dataset_dict["sem_seg"] = torch.as_tensor(sem_seg_gt.astype("long"))
+
+ # USER: Remove if you don't use pre-computed proposals.
+ # Most users would not need this feature.
+ if self.proposal_topk is not None:
+ utils.transform_proposals(
+ dataset_dict, image_shape, transforms, proposal_topk=self.proposal_topk
+ )
+
+ if not self.is_train:
+ # USER: Modify this if you want to keep them for some reason.
+ dataset_dict.pop("annotations", None)
+ dataset_dict.pop("sem_seg_file_name", None)
+ return dataset_dict
+
+ if "annotations" in dataset_dict:
+ self._transform_annotations(dataset_dict, transforms, image_shape)
+
+ return dataset_dict
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/datasets/README.md b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/datasets/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..9fb3e4f7afec17137c95c78be6ef06d520ec8032
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/datasets/README.md
@@ -0,0 +1,9 @@
+
+
+### Common Datasets
+
+The dataset implemented here do not need to load the data into the final format.
+It should provide the minimal data structure needed to use the dataset, so it can be very efficient.
+
+For example, for an image dataset, just provide the file names and labels, but don't read the images.
+Let the downstream decide how to read.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/datasets/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/datasets/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..a44bedc15e5f0e762fc4d77efd6f1b07c6ff77d0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/datasets/__init__.py
@@ -0,0 +1,9 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+from .coco import load_coco_json, load_sem_seg, register_coco_instances, convert_to_coco_json
+from .coco_panoptic import register_coco_panoptic, register_coco_panoptic_separated
+from .lvis import load_lvis_json, register_lvis_instances, get_lvis_instances_meta
+from .pascal_voc import load_voc_instances, register_pascal_voc
+from . import builtin as _builtin # ensure the builtin datasets are registered
+
+
+__all__ = [k for k in globals().keys() if not k.startswith("_")]
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/datasets/builtin.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/datasets/builtin.py
new file mode 100644
index 0000000000000000000000000000000000000000..39bbb1feec64f76705ba32c46f19f89f71be2ca7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/datasets/builtin.py
@@ -0,0 +1,259 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) Facebook, Inc. and its affiliates.
+
+
+"""
+This file registers pre-defined datasets at hard-coded paths, and their metadata.
+
+We hard-code metadata for common datasets. This will enable:
+1. Consistency check when loading the datasets
+2. Use models on these standard datasets directly and run demos,
+ without having to download the dataset annotations
+
+We hard-code some paths to the dataset that's assumed to
+exist in "./datasets/".
+
+Users SHOULD NOT use this file to create new dataset / metadata for new dataset.
+To add new dataset, refer to the tutorial "docs/DATASETS.md".
+"""
+
+import os
+
+from annotator.oneformer.detectron2.data import DatasetCatalog, MetadataCatalog
+
+from .builtin_meta import ADE20K_SEM_SEG_CATEGORIES, _get_builtin_metadata
+from .cityscapes import load_cityscapes_instances, load_cityscapes_semantic
+from .cityscapes_panoptic import register_all_cityscapes_panoptic
+from .coco import load_sem_seg, register_coco_instances
+from .coco_panoptic import register_coco_panoptic, register_coco_panoptic_separated
+from .lvis import get_lvis_instances_meta, register_lvis_instances
+from .pascal_voc import register_pascal_voc
+
+# ==== Predefined datasets and splits for COCO ==========
+
+_PREDEFINED_SPLITS_COCO = {}
+_PREDEFINED_SPLITS_COCO["coco"] = {
+ "coco_2014_train": ("coco/train2014", "coco/annotations/instances_train2014.json"),
+ "coco_2014_val": ("coco/val2014", "coco/annotations/instances_val2014.json"),
+ "coco_2014_minival": ("coco/val2014", "coco/annotations/instances_minival2014.json"),
+ "coco_2014_valminusminival": (
+ "coco/val2014",
+ "coco/annotations/instances_valminusminival2014.json",
+ ),
+ "coco_2017_train": ("coco/train2017", "coco/annotations/instances_train2017.json"),
+ "coco_2017_val": ("coco/val2017", "coco/annotations/instances_val2017.json"),
+ "coco_2017_test": ("coco/test2017", "coco/annotations/image_info_test2017.json"),
+ "coco_2017_test-dev": ("coco/test2017", "coco/annotations/image_info_test-dev2017.json"),
+ "coco_2017_val_100": ("coco/val2017", "coco/annotations/instances_val2017_100.json"),
+}
+
+_PREDEFINED_SPLITS_COCO["coco_person"] = {
+ "keypoints_coco_2014_train": (
+ "coco/train2014",
+ "coco/annotations/person_keypoints_train2014.json",
+ ),
+ "keypoints_coco_2014_val": ("coco/val2014", "coco/annotations/person_keypoints_val2014.json"),
+ "keypoints_coco_2014_minival": (
+ "coco/val2014",
+ "coco/annotations/person_keypoints_minival2014.json",
+ ),
+ "keypoints_coco_2014_valminusminival": (
+ "coco/val2014",
+ "coco/annotations/person_keypoints_valminusminival2014.json",
+ ),
+ "keypoints_coco_2017_train": (
+ "coco/train2017",
+ "coco/annotations/person_keypoints_train2017.json",
+ ),
+ "keypoints_coco_2017_val": ("coco/val2017", "coco/annotations/person_keypoints_val2017.json"),
+ "keypoints_coco_2017_val_100": (
+ "coco/val2017",
+ "coco/annotations/person_keypoints_val2017_100.json",
+ ),
+}
+
+
+_PREDEFINED_SPLITS_COCO_PANOPTIC = {
+ "coco_2017_train_panoptic": (
+ # This is the original panoptic annotation directory
+ "coco/panoptic_train2017",
+ "coco/annotations/panoptic_train2017.json",
+ # This directory contains semantic annotations that are
+ # converted from panoptic annotations.
+ # It is used by PanopticFPN.
+ # You can use the script at detectron2/datasets/prepare_panoptic_fpn.py
+ # to create these directories.
+ "coco/panoptic_stuff_train2017",
+ ),
+ "coco_2017_val_panoptic": (
+ "coco/panoptic_val2017",
+ "coco/annotations/panoptic_val2017.json",
+ "coco/panoptic_stuff_val2017",
+ ),
+ "coco_2017_val_100_panoptic": (
+ "coco/panoptic_val2017_100",
+ "coco/annotations/panoptic_val2017_100.json",
+ "coco/panoptic_stuff_val2017_100",
+ ),
+}
+
+
+def register_all_coco(root):
+ for dataset_name, splits_per_dataset in _PREDEFINED_SPLITS_COCO.items():
+ for key, (image_root, json_file) in splits_per_dataset.items():
+ # Assume pre-defined datasets live in `./datasets`.
+ register_coco_instances(
+ key,
+ _get_builtin_metadata(dataset_name),
+ os.path.join(root, json_file) if "://" not in json_file else json_file,
+ os.path.join(root, image_root),
+ )
+
+ for (
+ prefix,
+ (panoptic_root, panoptic_json, semantic_root),
+ ) in _PREDEFINED_SPLITS_COCO_PANOPTIC.items():
+ prefix_instances = prefix[: -len("_panoptic")]
+ instances_meta = MetadataCatalog.get(prefix_instances)
+ image_root, instances_json = instances_meta.image_root, instances_meta.json_file
+ # The "separated" version of COCO panoptic segmentation dataset,
+ # e.g. used by Panoptic FPN
+ register_coco_panoptic_separated(
+ prefix,
+ _get_builtin_metadata("coco_panoptic_separated"),
+ image_root,
+ os.path.join(root, panoptic_root),
+ os.path.join(root, panoptic_json),
+ os.path.join(root, semantic_root),
+ instances_json,
+ )
+ # The "standard" version of COCO panoptic segmentation dataset,
+ # e.g. used by Panoptic-DeepLab
+ register_coco_panoptic(
+ prefix,
+ _get_builtin_metadata("coco_panoptic_standard"),
+ image_root,
+ os.path.join(root, panoptic_root),
+ os.path.join(root, panoptic_json),
+ instances_json,
+ )
+
+
+# ==== Predefined datasets and splits for LVIS ==========
+
+
+_PREDEFINED_SPLITS_LVIS = {
+ "lvis_v1": {
+ "lvis_v1_train": ("coco/", "lvis/lvis_v1_train.json"),
+ "lvis_v1_val": ("coco/", "lvis/lvis_v1_val.json"),
+ "lvis_v1_test_dev": ("coco/", "lvis/lvis_v1_image_info_test_dev.json"),
+ "lvis_v1_test_challenge": ("coco/", "lvis/lvis_v1_image_info_test_challenge.json"),
+ },
+ "lvis_v0.5": {
+ "lvis_v0.5_train": ("coco/", "lvis/lvis_v0.5_train.json"),
+ "lvis_v0.5_val": ("coco/", "lvis/lvis_v0.5_val.json"),
+ "lvis_v0.5_val_rand_100": ("coco/", "lvis/lvis_v0.5_val_rand_100.json"),
+ "lvis_v0.5_test": ("coco/", "lvis/lvis_v0.5_image_info_test.json"),
+ },
+ "lvis_v0.5_cocofied": {
+ "lvis_v0.5_train_cocofied": ("coco/", "lvis/lvis_v0.5_train_cocofied.json"),
+ "lvis_v0.5_val_cocofied": ("coco/", "lvis/lvis_v0.5_val_cocofied.json"),
+ },
+}
+
+
+def register_all_lvis(root):
+ for dataset_name, splits_per_dataset in _PREDEFINED_SPLITS_LVIS.items():
+ for key, (image_root, json_file) in splits_per_dataset.items():
+ register_lvis_instances(
+ key,
+ get_lvis_instances_meta(dataset_name),
+ os.path.join(root, json_file) if "://" not in json_file else json_file,
+ os.path.join(root, image_root),
+ )
+
+
+# ==== Predefined splits for raw cityscapes images ===========
+_RAW_CITYSCAPES_SPLITS = {
+ "cityscapes_fine_{task}_train": ("cityscapes/leftImg8bit/train/", "cityscapes/gtFine/train/"),
+ "cityscapes_fine_{task}_val": ("cityscapes/leftImg8bit/val/", "cityscapes/gtFine/val/"),
+ "cityscapes_fine_{task}_test": ("cityscapes/leftImg8bit/test/", "cityscapes/gtFine/test/"),
+}
+
+
+def register_all_cityscapes(root):
+ for key, (image_dir, gt_dir) in _RAW_CITYSCAPES_SPLITS.items():
+ meta = _get_builtin_metadata("cityscapes")
+ image_dir = os.path.join(root, image_dir)
+ gt_dir = os.path.join(root, gt_dir)
+
+ inst_key = key.format(task="instance_seg")
+ DatasetCatalog.register(
+ inst_key,
+ lambda x=image_dir, y=gt_dir: load_cityscapes_instances(
+ x, y, from_json=True, to_polygons=True
+ ),
+ )
+ MetadataCatalog.get(inst_key).set(
+ image_dir=image_dir, gt_dir=gt_dir, evaluator_type="cityscapes_instance", **meta
+ )
+
+ sem_key = key.format(task="sem_seg")
+ DatasetCatalog.register(
+ sem_key, lambda x=image_dir, y=gt_dir: load_cityscapes_semantic(x, y)
+ )
+ MetadataCatalog.get(sem_key).set(
+ image_dir=image_dir,
+ gt_dir=gt_dir,
+ evaluator_type="cityscapes_sem_seg",
+ ignore_label=255,
+ **meta,
+ )
+
+
+# ==== Predefined splits for PASCAL VOC ===========
+def register_all_pascal_voc(root):
+ SPLITS = [
+ ("voc_2007_trainval", "VOC2007", "trainval"),
+ ("voc_2007_train", "VOC2007", "train"),
+ ("voc_2007_val", "VOC2007", "val"),
+ ("voc_2007_test", "VOC2007", "test"),
+ ("voc_2012_trainval", "VOC2012", "trainval"),
+ ("voc_2012_train", "VOC2012", "train"),
+ ("voc_2012_val", "VOC2012", "val"),
+ ]
+ for name, dirname, split in SPLITS:
+ year = 2007 if "2007" in name else 2012
+ register_pascal_voc(name, os.path.join(root, dirname), split, year)
+ MetadataCatalog.get(name).evaluator_type = "pascal_voc"
+
+
+def register_all_ade20k(root):
+ root = os.path.join(root, "ADEChallengeData2016")
+ for name, dirname in [("train", "training"), ("val", "validation")]:
+ image_dir = os.path.join(root, "images", dirname)
+ gt_dir = os.path.join(root, "annotations_detectron2", dirname)
+ name = f"ade20k_sem_seg_{name}"
+ DatasetCatalog.register(
+ name, lambda x=image_dir, y=gt_dir: load_sem_seg(y, x, gt_ext="png", image_ext="jpg")
+ )
+ MetadataCatalog.get(name).set(
+ stuff_classes=ADE20K_SEM_SEG_CATEGORIES[:],
+ image_root=image_dir,
+ sem_seg_root=gt_dir,
+ evaluator_type="sem_seg",
+ ignore_label=255,
+ )
+
+
+# True for open source;
+# Internally at fb, we register them elsewhere
+if __name__.endswith(".builtin"):
+ # Assume pre-defined datasets live in `./datasets`.
+ _root = os.path.expanduser(os.getenv("DETECTRON2_DATASETS", "datasets"))
+ register_all_coco(_root)
+ register_all_lvis(_root)
+ register_all_cityscapes(_root)
+ register_all_cityscapes_panoptic(_root)
+ register_all_pascal_voc(_root)
+ register_all_ade20k(_root)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/datasets/builtin_meta.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/datasets/builtin_meta.py
new file mode 100644
index 0000000000000000000000000000000000000000..63c7a1a31b31dd89b82011effee26471faccacf5
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/datasets/builtin_meta.py
@@ -0,0 +1,350 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) Facebook, Inc. and its affiliates.
+
+"""
+Note:
+For your custom dataset, there is no need to hard-code metadata anywhere in the code.
+For example, for COCO-format dataset, metadata will be obtained automatically
+when calling `load_coco_json`. For other dataset, metadata may also be obtained in other ways
+during loading.
+
+However, we hard-coded metadata for a few common dataset here.
+The only goal is to allow users who don't have these dataset to use pre-trained models.
+Users don't have to download a COCO json (which contains metadata), in order to visualize a
+COCO model (with correct class names and colors).
+"""
+
+
+# All coco categories, together with their nice-looking visualization colors
+# It's from https://github.com/cocodataset/panopticapi/blob/master/panoptic_coco_categories.json
+COCO_CATEGORIES = [
+ {"color": [220, 20, 60], "isthing": 1, "id": 1, "name": "person"},
+ {"color": [119, 11, 32], "isthing": 1, "id": 2, "name": "bicycle"},
+ {"color": [0, 0, 142], "isthing": 1, "id": 3, "name": "car"},
+ {"color": [0, 0, 230], "isthing": 1, "id": 4, "name": "motorcycle"},
+ {"color": [106, 0, 228], "isthing": 1, "id": 5, "name": "airplane"},
+ {"color": [0, 60, 100], "isthing": 1, "id": 6, "name": "bus"},
+ {"color": [0, 80, 100], "isthing": 1, "id": 7, "name": "train"},
+ {"color": [0, 0, 70], "isthing": 1, "id": 8, "name": "truck"},
+ {"color": [0, 0, 192], "isthing": 1, "id": 9, "name": "boat"},
+ {"color": [250, 170, 30], "isthing": 1, "id": 10, "name": "traffic light"},
+ {"color": [100, 170, 30], "isthing": 1, "id": 11, "name": "fire hydrant"},
+ {"color": [220, 220, 0], "isthing": 1, "id": 13, "name": "stop sign"},
+ {"color": [175, 116, 175], "isthing": 1, "id": 14, "name": "parking meter"},
+ {"color": [250, 0, 30], "isthing": 1, "id": 15, "name": "bench"},
+ {"color": [165, 42, 42], "isthing": 1, "id": 16, "name": "bird"},
+ {"color": [255, 77, 255], "isthing": 1, "id": 17, "name": "cat"},
+ {"color": [0, 226, 252], "isthing": 1, "id": 18, "name": "dog"},
+ {"color": [182, 182, 255], "isthing": 1, "id": 19, "name": "horse"},
+ {"color": [0, 82, 0], "isthing": 1, "id": 20, "name": "sheep"},
+ {"color": [120, 166, 157], "isthing": 1, "id": 21, "name": "cow"},
+ {"color": [110, 76, 0], "isthing": 1, "id": 22, "name": "elephant"},
+ {"color": [174, 57, 255], "isthing": 1, "id": 23, "name": "bear"},
+ {"color": [199, 100, 0], "isthing": 1, "id": 24, "name": "zebra"},
+ {"color": [72, 0, 118], "isthing": 1, "id": 25, "name": "giraffe"},
+ {"color": [255, 179, 240], "isthing": 1, "id": 27, "name": "backpack"},
+ {"color": [0, 125, 92], "isthing": 1, "id": 28, "name": "umbrella"},
+ {"color": [209, 0, 151], "isthing": 1, "id": 31, "name": "handbag"},
+ {"color": [188, 208, 182], "isthing": 1, "id": 32, "name": "tie"},
+ {"color": [0, 220, 176], "isthing": 1, "id": 33, "name": "suitcase"},
+ {"color": [255, 99, 164], "isthing": 1, "id": 34, "name": "frisbee"},
+ {"color": [92, 0, 73], "isthing": 1, "id": 35, "name": "skis"},
+ {"color": [133, 129, 255], "isthing": 1, "id": 36, "name": "snowboard"},
+ {"color": [78, 180, 255], "isthing": 1, "id": 37, "name": "sports ball"},
+ {"color": [0, 228, 0], "isthing": 1, "id": 38, "name": "kite"},
+ {"color": [174, 255, 243], "isthing": 1, "id": 39, "name": "baseball bat"},
+ {"color": [45, 89, 255], "isthing": 1, "id": 40, "name": "baseball glove"},
+ {"color": [134, 134, 103], "isthing": 1, "id": 41, "name": "skateboard"},
+ {"color": [145, 148, 174], "isthing": 1, "id": 42, "name": "surfboard"},
+ {"color": [255, 208, 186], "isthing": 1, "id": 43, "name": "tennis racket"},
+ {"color": [197, 226, 255], "isthing": 1, "id": 44, "name": "bottle"},
+ {"color": [171, 134, 1], "isthing": 1, "id": 46, "name": "wine glass"},
+ {"color": [109, 63, 54], "isthing": 1, "id": 47, "name": "cup"},
+ {"color": [207, 138, 255], "isthing": 1, "id": 48, "name": "fork"},
+ {"color": [151, 0, 95], "isthing": 1, "id": 49, "name": "knife"},
+ {"color": [9, 80, 61], "isthing": 1, "id": 50, "name": "spoon"},
+ {"color": [84, 105, 51], "isthing": 1, "id": 51, "name": "bowl"},
+ {"color": [74, 65, 105], "isthing": 1, "id": 52, "name": "banana"},
+ {"color": [166, 196, 102], "isthing": 1, "id": 53, "name": "apple"},
+ {"color": [208, 195, 210], "isthing": 1, "id": 54, "name": "sandwich"},
+ {"color": [255, 109, 65], "isthing": 1, "id": 55, "name": "orange"},
+ {"color": [0, 143, 149], "isthing": 1, "id": 56, "name": "broccoli"},
+ {"color": [179, 0, 194], "isthing": 1, "id": 57, "name": "carrot"},
+ {"color": [209, 99, 106], "isthing": 1, "id": 58, "name": "hot dog"},
+ {"color": [5, 121, 0], "isthing": 1, "id": 59, "name": "pizza"},
+ {"color": [227, 255, 205], "isthing": 1, "id": 60, "name": "donut"},
+ {"color": [147, 186, 208], "isthing": 1, "id": 61, "name": "cake"},
+ {"color": [153, 69, 1], "isthing": 1, "id": 62, "name": "chair"},
+ {"color": [3, 95, 161], "isthing": 1, "id": 63, "name": "couch"},
+ {"color": [163, 255, 0], "isthing": 1, "id": 64, "name": "potted plant"},
+ {"color": [119, 0, 170], "isthing": 1, "id": 65, "name": "bed"},
+ {"color": [0, 182, 199], "isthing": 1, "id": 67, "name": "dining table"},
+ {"color": [0, 165, 120], "isthing": 1, "id": 70, "name": "toilet"},
+ {"color": [183, 130, 88], "isthing": 1, "id": 72, "name": "tv"},
+ {"color": [95, 32, 0], "isthing": 1, "id": 73, "name": "laptop"},
+ {"color": [130, 114, 135], "isthing": 1, "id": 74, "name": "mouse"},
+ {"color": [110, 129, 133], "isthing": 1, "id": 75, "name": "remote"},
+ {"color": [166, 74, 118], "isthing": 1, "id": 76, "name": "keyboard"},
+ {"color": [219, 142, 185], "isthing": 1, "id": 77, "name": "cell phone"},
+ {"color": [79, 210, 114], "isthing": 1, "id": 78, "name": "microwave"},
+ {"color": [178, 90, 62], "isthing": 1, "id": 79, "name": "oven"},
+ {"color": [65, 70, 15], "isthing": 1, "id": 80, "name": "toaster"},
+ {"color": [127, 167, 115], "isthing": 1, "id": 81, "name": "sink"},
+ {"color": [59, 105, 106], "isthing": 1, "id": 82, "name": "refrigerator"},
+ {"color": [142, 108, 45], "isthing": 1, "id": 84, "name": "book"},
+ {"color": [196, 172, 0], "isthing": 1, "id": 85, "name": "clock"},
+ {"color": [95, 54, 80], "isthing": 1, "id": 86, "name": "vase"},
+ {"color": [128, 76, 255], "isthing": 1, "id": 87, "name": "scissors"},
+ {"color": [201, 57, 1], "isthing": 1, "id": 88, "name": "teddy bear"},
+ {"color": [246, 0, 122], "isthing": 1, "id": 89, "name": "hair drier"},
+ {"color": [191, 162, 208], "isthing": 1, "id": 90, "name": "toothbrush"},
+ {"color": [255, 255, 128], "isthing": 0, "id": 92, "name": "banner"},
+ {"color": [147, 211, 203], "isthing": 0, "id": 93, "name": "blanket"},
+ {"color": [150, 100, 100], "isthing": 0, "id": 95, "name": "bridge"},
+ {"color": [168, 171, 172], "isthing": 0, "id": 100, "name": "cardboard"},
+ {"color": [146, 112, 198], "isthing": 0, "id": 107, "name": "counter"},
+ {"color": [210, 170, 100], "isthing": 0, "id": 109, "name": "curtain"},
+ {"color": [92, 136, 89], "isthing": 0, "id": 112, "name": "door-stuff"},
+ {"color": [218, 88, 184], "isthing": 0, "id": 118, "name": "floor-wood"},
+ {"color": [241, 129, 0], "isthing": 0, "id": 119, "name": "flower"},
+ {"color": [217, 17, 255], "isthing": 0, "id": 122, "name": "fruit"},
+ {"color": [124, 74, 181], "isthing": 0, "id": 125, "name": "gravel"},
+ {"color": [70, 70, 70], "isthing": 0, "id": 128, "name": "house"},
+ {"color": [255, 228, 255], "isthing": 0, "id": 130, "name": "light"},
+ {"color": [154, 208, 0], "isthing": 0, "id": 133, "name": "mirror-stuff"},
+ {"color": [193, 0, 92], "isthing": 0, "id": 138, "name": "net"},
+ {"color": [76, 91, 113], "isthing": 0, "id": 141, "name": "pillow"},
+ {"color": [255, 180, 195], "isthing": 0, "id": 144, "name": "platform"},
+ {"color": [106, 154, 176], "isthing": 0, "id": 145, "name": "playingfield"},
+ {"color": [230, 150, 140], "isthing": 0, "id": 147, "name": "railroad"},
+ {"color": [60, 143, 255], "isthing": 0, "id": 148, "name": "river"},
+ {"color": [128, 64, 128], "isthing": 0, "id": 149, "name": "road"},
+ {"color": [92, 82, 55], "isthing": 0, "id": 151, "name": "roof"},
+ {"color": [254, 212, 124], "isthing": 0, "id": 154, "name": "sand"},
+ {"color": [73, 77, 174], "isthing": 0, "id": 155, "name": "sea"},
+ {"color": [255, 160, 98], "isthing": 0, "id": 156, "name": "shelf"},
+ {"color": [255, 255, 255], "isthing": 0, "id": 159, "name": "snow"},
+ {"color": [104, 84, 109], "isthing": 0, "id": 161, "name": "stairs"},
+ {"color": [169, 164, 131], "isthing": 0, "id": 166, "name": "tent"},
+ {"color": [225, 199, 255], "isthing": 0, "id": 168, "name": "towel"},
+ {"color": [137, 54, 74], "isthing": 0, "id": 171, "name": "wall-brick"},
+ {"color": [135, 158, 223], "isthing": 0, "id": 175, "name": "wall-stone"},
+ {"color": [7, 246, 231], "isthing": 0, "id": 176, "name": "wall-tile"},
+ {"color": [107, 255, 200], "isthing": 0, "id": 177, "name": "wall-wood"},
+ {"color": [58, 41, 149], "isthing": 0, "id": 178, "name": "water-other"},
+ {"color": [183, 121, 142], "isthing": 0, "id": 180, "name": "window-blind"},
+ {"color": [255, 73, 97], "isthing": 0, "id": 181, "name": "window-other"},
+ {"color": [107, 142, 35], "isthing": 0, "id": 184, "name": "tree-merged"},
+ {"color": [190, 153, 153], "isthing": 0, "id": 185, "name": "fence-merged"},
+ {"color": [146, 139, 141], "isthing": 0, "id": 186, "name": "ceiling-merged"},
+ {"color": [70, 130, 180], "isthing": 0, "id": 187, "name": "sky-other-merged"},
+ {"color": [134, 199, 156], "isthing": 0, "id": 188, "name": "cabinet-merged"},
+ {"color": [209, 226, 140], "isthing": 0, "id": 189, "name": "table-merged"},
+ {"color": [96, 36, 108], "isthing": 0, "id": 190, "name": "floor-other-merged"},
+ {"color": [96, 96, 96], "isthing": 0, "id": 191, "name": "pavement-merged"},
+ {"color": [64, 170, 64], "isthing": 0, "id": 192, "name": "mountain-merged"},
+ {"color": [152, 251, 152], "isthing": 0, "id": 193, "name": "grass-merged"},
+ {"color": [208, 229, 228], "isthing": 0, "id": 194, "name": "dirt-merged"},
+ {"color": [206, 186, 171], "isthing": 0, "id": 195, "name": "paper-merged"},
+ {"color": [152, 161, 64], "isthing": 0, "id": 196, "name": "food-other-merged"},
+ {"color": [116, 112, 0], "isthing": 0, "id": 197, "name": "building-other-merged"},
+ {"color": [0, 114, 143], "isthing": 0, "id": 198, "name": "rock-merged"},
+ {"color": [102, 102, 156], "isthing": 0, "id": 199, "name": "wall-other-merged"},
+ {"color": [250, 141, 255], "isthing": 0, "id": 200, "name": "rug-merged"},
+]
+
+# fmt: off
+COCO_PERSON_KEYPOINT_NAMES = (
+ "nose",
+ "left_eye", "right_eye",
+ "left_ear", "right_ear",
+ "left_shoulder", "right_shoulder",
+ "left_elbow", "right_elbow",
+ "left_wrist", "right_wrist",
+ "left_hip", "right_hip",
+ "left_knee", "right_knee",
+ "left_ankle", "right_ankle",
+)
+# fmt: on
+
+# Pairs of keypoints that should be exchanged under horizontal flipping
+COCO_PERSON_KEYPOINT_FLIP_MAP = (
+ ("left_eye", "right_eye"),
+ ("left_ear", "right_ear"),
+ ("left_shoulder", "right_shoulder"),
+ ("left_elbow", "right_elbow"),
+ ("left_wrist", "right_wrist"),
+ ("left_hip", "right_hip"),
+ ("left_knee", "right_knee"),
+ ("left_ankle", "right_ankle"),
+)
+
+# rules for pairs of keypoints to draw a line between, and the line color to use.
+KEYPOINT_CONNECTION_RULES = [
+ # face
+ ("left_ear", "left_eye", (102, 204, 255)),
+ ("right_ear", "right_eye", (51, 153, 255)),
+ ("left_eye", "nose", (102, 0, 204)),
+ ("nose", "right_eye", (51, 102, 255)),
+ # upper-body
+ ("left_shoulder", "right_shoulder", (255, 128, 0)),
+ ("left_shoulder", "left_elbow", (153, 255, 204)),
+ ("right_shoulder", "right_elbow", (128, 229, 255)),
+ ("left_elbow", "left_wrist", (153, 255, 153)),
+ ("right_elbow", "right_wrist", (102, 255, 224)),
+ # lower-body
+ ("left_hip", "right_hip", (255, 102, 0)),
+ ("left_hip", "left_knee", (255, 255, 77)),
+ ("right_hip", "right_knee", (153, 255, 204)),
+ ("left_knee", "left_ankle", (191, 255, 128)),
+ ("right_knee", "right_ankle", (255, 195, 77)),
+]
+
+# All Cityscapes categories, together with their nice-looking visualization colors
+# It's from https://github.com/mcordts/cityscapesScripts/blob/master/cityscapesscripts/helpers/labels.py # noqa
+CITYSCAPES_CATEGORIES = [
+ {"color": (128, 64, 128), "isthing": 0, "id": 7, "trainId": 0, "name": "road"},
+ {"color": (244, 35, 232), "isthing": 0, "id": 8, "trainId": 1, "name": "sidewalk"},
+ {"color": (70, 70, 70), "isthing": 0, "id": 11, "trainId": 2, "name": "building"},
+ {"color": (102, 102, 156), "isthing": 0, "id": 12, "trainId": 3, "name": "wall"},
+ {"color": (190, 153, 153), "isthing": 0, "id": 13, "trainId": 4, "name": "fence"},
+ {"color": (153, 153, 153), "isthing": 0, "id": 17, "trainId": 5, "name": "pole"},
+ {"color": (250, 170, 30), "isthing": 0, "id": 19, "trainId": 6, "name": "traffic light"},
+ {"color": (220, 220, 0), "isthing": 0, "id": 20, "trainId": 7, "name": "traffic sign"},
+ {"color": (107, 142, 35), "isthing": 0, "id": 21, "trainId": 8, "name": "vegetation"},
+ {"color": (152, 251, 152), "isthing": 0, "id": 22, "trainId": 9, "name": "terrain"},
+ {"color": (70, 130, 180), "isthing": 0, "id": 23, "trainId": 10, "name": "sky"},
+ {"color": (220, 20, 60), "isthing": 1, "id": 24, "trainId": 11, "name": "person"},
+ {"color": (255, 0, 0), "isthing": 1, "id": 25, "trainId": 12, "name": "rider"},
+ {"color": (0, 0, 142), "isthing": 1, "id": 26, "trainId": 13, "name": "car"},
+ {"color": (0, 0, 70), "isthing": 1, "id": 27, "trainId": 14, "name": "truck"},
+ {"color": (0, 60, 100), "isthing": 1, "id": 28, "trainId": 15, "name": "bus"},
+ {"color": (0, 80, 100), "isthing": 1, "id": 31, "trainId": 16, "name": "train"},
+ {"color": (0, 0, 230), "isthing": 1, "id": 32, "trainId": 17, "name": "motorcycle"},
+ {"color": (119, 11, 32), "isthing": 1, "id": 33, "trainId": 18, "name": "bicycle"},
+]
+
+# fmt: off
+ADE20K_SEM_SEG_CATEGORIES = [
+ "wall", "building", "sky", "floor", "tree", "ceiling", "road, route", "bed", "window ", "grass", "cabinet", "sidewalk, pavement", "person", "earth, ground", "door", "table", "mountain, mount", "plant", "curtain", "chair", "car", "water", "painting, picture", "sofa", "shelf", "house", "sea", "mirror", "rug", "field", "armchair", "seat", "fence", "desk", "rock, stone", "wardrobe, closet, press", "lamp", "tub", "rail", "cushion", "base, pedestal, stand", "box", "column, pillar", "signboard, sign", "chest of drawers, chest, bureau, dresser", "counter", "sand", "sink", "skyscraper", "fireplace", "refrigerator, icebox", "grandstand, covered stand", "path", "stairs", "runway", "case, display case, showcase, vitrine", "pool table, billiard table, snooker table", "pillow", "screen door, screen", "stairway, staircase", "river", "bridge, span", "bookcase", "blind, screen", "coffee table", "toilet, can, commode, crapper, pot, potty, stool, throne", "flower", "book", "hill", "bench", "countertop", "stove", "palm, palm tree", "kitchen island", "computer", "swivel chair", "boat", "bar", "arcade machine", "hovel, hut, hutch, shack, shanty", "bus", "towel", "light", "truck", "tower", "chandelier", "awning, sunshade, sunblind", "street lamp", "booth", "tv", "plane", "dirt track", "clothes", "pole", "land, ground, soil", "bannister, banister, balustrade, balusters, handrail", "escalator, moving staircase, moving stairway", "ottoman, pouf, pouffe, puff, hassock", "bottle", "buffet, counter, sideboard", "poster, posting, placard, notice, bill, card", "stage", "van", "ship", "fountain", "conveyer belt, conveyor belt, conveyer, conveyor, transporter", "canopy", "washer, automatic washer, washing machine", "plaything, toy", "pool", "stool", "barrel, cask", "basket, handbasket", "falls", "tent", "bag", "minibike, motorbike", "cradle", "oven", "ball", "food, solid food", "step, stair", "tank, storage tank", "trade name", "microwave", "pot", "animal", "bicycle", "lake", "dishwasher", "screen", "blanket, cover", "sculpture", "hood, exhaust hood", "sconce", "vase", "traffic light", "tray", "trash can", "fan", "pier", "crt screen", "plate", "monitor", "bulletin board", "shower", "radiator", "glass, drinking glass", "clock", "flag", # noqa
+]
+# After processed by `prepare_ade20k_sem_seg.py`, id 255 means ignore
+# fmt: on
+
+
+def _get_coco_instances_meta():
+ thing_ids = [k["id"] for k in COCO_CATEGORIES if k["isthing"] == 1]
+ thing_colors = [k["color"] for k in COCO_CATEGORIES if k["isthing"] == 1]
+ assert len(thing_ids) == 80, len(thing_ids)
+ # Mapping from the incontiguous COCO category id to an id in [0, 79]
+ thing_dataset_id_to_contiguous_id = {k: i for i, k in enumerate(thing_ids)}
+ thing_classes = [k["name"] for k in COCO_CATEGORIES if k["isthing"] == 1]
+ ret = {
+ "thing_dataset_id_to_contiguous_id": thing_dataset_id_to_contiguous_id,
+ "thing_classes": thing_classes,
+ "thing_colors": thing_colors,
+ }
+ return ret
+
+
+def _get_coco_panoptic_separated_meta():
+ """
+ Returns metadata for "separated" version of the panoptic segmentation dataset.
+ """
+ stuff_ids = [k["id"] for k in COCO_CATEGORIES if k["isthing"] == 0]
+ assert len(stuff_ids) == 53, len(stuff_ids)
+
+ # For semantic segmentation, this mapping maps from contiguous stuff id
+ # (in [0, 53], used in models) to ids in the dataset (used for processing results)
+ # The id 0 is mapped to an extra category "thing".
+ stuff_dataset_id_to_contiguous_id = {k: i + 1 for i, k in enumerate(stuff_ids)}
+ # When converting COCO panoptic annotations to semantic annotations
+ # We label the "thing" category to 0
+ stuff_dataset_id_to_contiguous_id[0] = 0
+
+ # 54 names for COCO stuff categories (including "things")
+ stuff_classes = ["things"] + [
+ k["name"].replace("-other", "").replace("-merged", "")
+ for k in COCO_CATEGORIES
+ if k["isthing"] == 0
+ ]
+
+ # NOTE: I randomly picked a color for things
+ stuff_colors = [[82, 18, 128]] + [k["color"] for k in COCO_CATEGORIES if k["isthing"] == 0]
+ ret = {
+ "stuff_dataset_id_to_contiguous_id": stuff_dataset_id_to_contiguous_id,
+ "stuff_classes": stuff_classes,
+ "stuff_colors": stuff_colors,
+ }
+ ret.update(_get_coco_instances_meta())
+ return ret
+
+
+def _get_builtin_metadata(dataset_name):
+ if dataset_name == "coco":
+ return _get_coco_instances_meta()
+ if dataset_name == "coco_panoptic_separated":
+ return _get_coco_panoptic_separated_meta()
+ elif dataset_name == "coco_panoptic_standard":
+ meta = {}
+ # The following metadata maps contiguous id from [0, #thing categories +
+ # #stuff categories) to their names and colors. We have to replica of the
+ # same name and color under "thing_*" and "stuff_*" because the current
+ # visualization function in D2 handles thing and class classes differently
+ # due to some heuristic used in Panoptic FPN. We keep the same naming to
+ # enable reusing existing visualization functions.
+ thing_classes = [k["name"] for k in COCO_CATEGORIES]
+ thing_colors = [k["color"] for k in COCO_CATEGORIES]
+ stuff_classes = [k["name"] for k in COCO_CATEGORIES]
+ stuff_colors = [k["color"] for k in COCO_CATEGORIES]
+
+ meta["thing_classes"] = thing_classes
+ meta["thing_colors"] = thing_colors
+ meta["stuff_classes"] = stuff_classes
+ meta["stuff_colors"] = stuff_colors
+
+ # Convert category id for training:
+ # category id: like semantic segmentation, it is the class id for each
+ # pixel. Since there are some classes not used in evaluation, the category
+ # id is not always contiguous and thus we have two set of category ids:
+ # - original category id: category id in the original dataset, mainly
+ # used for evaluation.
+ # - contiguous category id: [0, #classes), in order to train the linear
+ # softmax classifier.
+ thing_dataset_id_to_contiguous_id = {}
+ stuff_dataset_id_to_contiguous_id = {}
+
+ for i, cat in enumerate(COCO_CATEGORIES):
+ if cat["isthing"]:
+ thing_dataset_id_to_contiguous_id[cat["id"]] = i
+ else:
+ stuff_dataset_id_to_contiguous_id[cat["id"]] = i
+
+ meta["thing_dataset_id_to_contiguous_id"] = thing_dataset_id_to_contiguous_id
+ meta["stuff_dataset_id_to_contiguous_id"] = stuff_dataset_id_to_contiguous_id
+
+ return meta
+ elif dataset_name == "coco_person":
+ return {
+ "thing_classes": ["person"],
+ "keypoint_names": COCO_PERSON_KEYPOINT_NAMES,
+ "keypoint_flip_map": COCO_PERSON_KEYPOINT_FLIP_MAP,
+ "keypoint_connection_rules": KEYPOINT_CONNECTION_RULES,
+ }
+ elif dataset_name == "cityscapes":
+ # fmt: off
+ CITYSCAPES_THING_CLASSES = [
+ "person", "rider", "car", "truck",
+ "bus", "train", "motorcycle", "bicycle",
+ ]
+ CITYSCAPES_STUFF_CLASSES = [
+ "road", "sidewalk", "building", "wall", "fence", "pole", "traffic light",
+ "traffic sign", "vegetation", "terrain", "sky", "person", "rider", "car",
+ "truck", "bus", "train", "motorcycle", "bicycle",
+ ]
+ # fmt: on
+ return {
+ "thing_classes": CITYSCAPES_THING_CLASSES,
+ "stuff_classes": CITYSCAPES_STUFF_CLASSES,
+ }
+ raise KeyError("No built-in metadata for dataset {}".format(dataset_name))
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/datasets/cityscapes.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/datasets/cityscapes.py
new file mode 100644
index 0000000000000000000000000000000000000000..f646be9da15914c2ea5e34e478fda3cfb5fb309f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/datasets/cityscapes.py
@@ -0,0 +1,329 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+import functools
+import json
+import logging
+import multiprocessing as mp
+import numpy as np
+import os
+from itertools import chain
+import annotator.oneformer.pycocotools.mask as mask_util
+from PIL import Image
+
+from annotator.oneformer.detectron2.structures import BoxMode
+from annotator.oneformer.detectron2.utils.comm import get_world_size
+from annotator.oneformer.detectron2.utils.file_io import PathManager
+from annotator.oneformer.detectron2.utils.logger import setup_logger
+
+try:
+ import cv2 # noqa
+except ImportError:
+ # OpenCV is an optional dependency at the moment
+ pass
+
+
+logger = logging.getLogger(__name__)
+
+
+def _get_cityscapes_files(image_dir, gt_dir):
+ files = []
+ # scan through the directory
+ cities = PathManager.ls(image_dir)
+ logger.info(f"{len(cities)} cities found in '{image_dir}'.")
+ for city in cities:
+ city_img_dir = os.path.join(image_dir, city)
+ city_gt_dir = os.path.join(gt_dir, city)
+ for basename in PathManager.ls(city_img_dir):
+ image_file = os.path.join(city_img_dir, basename)
+
+ suffix = "leftImg8bit.png"
+ assert basename.endswith(suffix), basename
+ basename = basename[: -len(suffix)]
+
+ instance_file = os.path.join(city_gt_dir, basename + "gtFine_instanceIds.png")
+ label_file = os.path.join(city_gt_dir, basename + "gtFine_labelIds.png")
+ json_file = os.path.join(city_gt_dir, basename + "gtFine_polygons.json")
+
+ files.append((image_file, instance_file, label_file, json_file))
+ assert len(files), "No images found in {}".format(image_dir)
+ for f in files[0]:
+ assert PathManager.isfile(f), f
+ return files
+
+
+def load_cityscapes_instances(image_dir, gt_dir, from_json=True, to_polygons=True):
+ """
+ Args:
+ image_dir (str): path to the raw dataset. e.g., "~/cityscapes/leftImg8bit/train".
+ gt_dir (str): path to the raw annotations. e.g., "~/cityscapes/gtFine/train".
+ from_json (bool): whether to read annotations from the raw json file or the png files.
+ to_polygons (bool): whether to represent the segmentation as polygons
+ (COCO's format) instead of masks (cityscapes's format).
+
+ Returns:
+ list[dict]: a list of dicts in Detectron2 standard format. (See
+ `Using Custom Datasets `_ )
+ """
+ if from_json:
+ assert to_polygons, (
+ "Cityscapes's json annotations are in polygon format. "
+ "Converting to mask format is not supported now."
+ )
+ files = _get_cityscapes_files(image_dir, gt_dir)
+
+ logger.info("Preprocessing cityscapes annotations ...")
+ # This is still not fast: all workers will execute duplicate works and will
+ # take up to 10m on a 8GPU server.
+ pool = mp.Pool(processes=max(mp.cpu_count() // get_world_size() // 2, 4))
+
+ ret = pool.map(
+ functools.partial(_cityscapes_files_to_dict, from_json=from_json, to_polygons=to_polygons),
+ files,
+ )
+ logger.info("Loaded {} images from {}".format(len(ret), image_dir))
+
+ # Map cityscape ids to contiguous ids
+ from cityscapesscripts.helpers.labels import labels
+
+ labels = [l for l in labels if l.hasInstances and not l.ignoreInEval]
+ dataset_id_to_contiguous_id = {l.id: idx for idx, l in enumerate(labels)}
+ for dict_per_image in ret:
+ for anno in dict_per_image["annotations"]:
+ anno["category_id"] = dataset_id_to_contiguous_id[anno["category_id"]]
+ return ret
+
+
+def load_cityscapes_semantic(image_dir, gt_dir):
+ """
+ Args:
+ image_dir (str): path to the raw dataset. e.g., "~/cityscapes/leftImg8bit/train".
+ gt_dir (str): path to the raw annotations. e.g., "~/cityscapes/gtFine/train".
+
+ Returns:
+ list[dict]: a list of dict, each has "file_name" and
+ "sem_seg_file_name".
+ """
+ ret = []
+ # gt_dir is small and contain many small files. make sense to fetch to local first
+ gt_dir = PathManager.get_local_path(gt_dir)
+ for image_file, _, label_file, json_file in _get_cityscapes_files(image_dir, gt_dir):
+ label_file = label_file.replace("labelIds", "labelTrainIds")
+
+ with PathManager.open(json_file, "r") as f:
+ jsonobj = json.load(f)
+ ret.append(
+ {
+ "file_name": image_file,
+ "sem_seg_file_name": label_file,
+ "height": jsonobj["imgHeight"],
+ "width": jsonobj["imgWidth"],
+ }
+ )
+ assert len(ret), f"No images found in {image_dir}!"
+ assert PathManager.isfile(
+ ret[0]["sem_seg_file_name"]
+ ), "Please generate labelTrainIds.png with cityscapesscripts/preparation/createTrainIdLabelImgs.py" # noqa
+ return ret
+
+
+def _cityscapes_files_to_dict(files, from_json, to_polygons):
+ """
+ Parse cityscapes annotation files to a instance segmentation dataset dict.
+
+ Args:
+ files (tuple): consists of (image_file, instance_id_file, label_id_file, json_file)
+ from_json (bool): whether to read annotations from the raw json file or the png files.
+ to_polygons (bool): whether to represent the segmentation as polygons
+ (COCO's format) instead of masks (cityscapes's format).
+
+ Returns:
+ A dict in Detectron2 Dataset format.
+ """
+ from cityscapesscripts.helpers.labels import id2label, name2label
+
+ image_file, instance_id_file, _, json_file = files
+
+ annos = []
+
+ if from_json:
+ from shapely.geometry import MultiPolygon, Polygon
+
+ with PathManager.open(json_file, "r") as f:
+ jsonobj = json.load(f)
+ ret = {
+ "file_name": image_file,
+ "image_id": os.path.basename(image_file),
+ "height": jsonobj["imgHeight"],
+ "width": jsonobj["imgWidth"],
+ }
+
+ # `polygons_union` contains the union of all valid polygons.
+ polygons_union = Polygon()
+
+ # CityscapesScripts draw the polygons in sequential order
+ # and each polygon *overwrites* existing ones. See
+ # (https://github.com/mcordts/cityscapesScripts/blob/master/cityscapesscripts/preparation/json2instanceImg.py) # noqa
+ # We use reverse order, and each polygon *avoids* early ones.
+ # This will resolve the ploygon overlaps in the same way as CityscapesScripts.
+ for obj in jsonobj["objects"][::-1]:
+ if "deleted" in obj: # cityscapes data format specific
+ continue
+ label_name = obj["label"]
+
+ try:
+ label = name2label[label_name]
+ except KeyError:
+ if label_name.endswith("group"): # crowd area
+ label = name2label[label_name[: -len("group")]]
+ else:
+ raise
+ if label.id < 0: # cityscapes data format
+ continue
+
+ # Cityscapes's raw annotations uses integer coordinates
+ # Therefore +0.5 here
+ poly_coord = np.asarray(obj["polygon"], dtype="f4") + 0.5
+ # CityscapesScript uses PIL.ImageDraw.polygon to rasterize
+ # polygons for evaluation. This function operates in integer space
+ # and draws each pixel whose center falls into the polygon.
+ # Therefore it draws a polygon which is 0.5 "fatter" in expectation.
+ # We therefore dilate the input polygon by 0.5 as our input.
+ poly = Polygon(poly_coord).buffer(0.5, resolution=4)
+
+ if not label.hasInstances or label.ignoreInEval:
+ # even if we won't store the polygon it still contributes to overlaps resolution
+ polygons_union = polygons_union.union(poly)
+ continue
+
+ # Take non-overlapping part of the polygon
+ poly_wo_overlaps = poly.difference(polygons_union)
+ if poly_wo_overlaps.is_empty:
+ continue
+ polygons_union = polygons_union.union(poly)
+
+ anno = {}
+ anno["iscrowd"] = label_name.endswith("group")
+ anno["category_id"] = label.id
+
+ if isinstance(poly_wo_overlaps, Polygon):
+ poly_list = [poly_wo_overlaps]
+ elif isinstance(poly_wo_overlaps, MultiPolygon):
+ poly_list = poly_wo_overlaps.geoms
+ else:
+ raise NotImplementedError("Unknown geometric structure {}".format(poly_wo_overlaps))
+
+ poly_coord = []
+ for poly_el in poly_list:
+ # COCO API can work only with exterior boundaries now, hence we store only them.
+ # TODO: store both exterior and interior boundaries once other parts of the
+ # codebase support holes in polygons.
+ poly_coord.append(list(chain(*poly_el.exterior.coords)))
+ anno["segmentation"] = poly_coord
+ (xmin, ymin, xmax, ymax) = poly_wo_overlaps.bounds
+
+ anno["bbox"] = (xmin, ymin, xmax, ymax)
+ anno["bbox_mode"] = BoxMode.XYXY_ABS
+
+ annos.append(anno)
+ else:
+ # See also the official annotation parsing scripts at
+ # https://github.com/mcordts/cityscapesScripts/blob/master/cityscapesscripts/evaluation/instances2dict.py # noqa
+ with PathManager.open(instance_id_file, "rb") as f:
+ inst_image = np.asarray(Image.open(f), order="F")
+ # ids < 24 are stuff labels (filtering them first is about 5% faster)
+ flattened_ids = np.unique(inst_image[inst_image >= 24])
+
+ ret = {
+ "file_name": image_file,
+ "image_id": os.path.basename(image_file),
+ "height": inst_image.shape[0],
+ "width": inst_image.shape[1],
+ }
+
+ for instance_id in flattened_ids:
+ # For non-crowd annotations, instance_id // 1000 is the label_id
+ # Crowd annotations have <1000 instance ids
+ label_id = instance_id // 1000 if instance_id >= 1000 else instance_id
+ label = id2label[label_id]
+ if not label.hasInstances or label.ignoreInEval:
+ continue
+
+ anno = {}
+ anno["iscrowd"] = instance_id < 1000
+ anno["category_id"] = label.id
+
+ mask = np.asarray(inst_image == instance_id, dtype=np.uint8, order="F")
+
+ inds = np.nonzero(mask)
+ ymin, ymax = inds[0].min(), inds[0].max()
+ xmin, xmax = inds[1].min(), inds[1].max()
+ anno["bbox"] = (xmin, ymin, xmax, ymax)
+ if xmax <= xmin or ymax <= ymin:
+ continue
+ anno["bbox_mode"] = BoxMode.XYXY_ABS
+ if to_polygons:
+ # This conversion comes from D4809743 and D5171122,
+ # when Mask-RCNN was first developed.
+ contours = cv2.findContours(mask.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)[
+ -2
+ ]
+ polygons = [c.reshape(-1).tolist() for c in contours if len(c) >= 3]
+ # opencv's can produce invalid polygons
+ if len(polygons) == 0:
+ continue
+ anno["segmentation"] = polygons
+ else:
+ anno["segmentation"] = mask_util.encode(mask[:, :, None])[0]
+ annos.append(anno)
+ ret["annotations"] = annos
+ return ret
+
+
+if __name__ == "__main__":
+ """
+ Test the cityscapes dataset loader.
+
+ Usage:
+ python -m detectron2.data.datasets.cityscapes \
+ cityscapes/leftImg8bit/train cityscapes/gtFine/train
+ """
+ import argparse
+
+ parser = argparse.ArgumentParser()
+ parser.add_argument("image_dir")
+ parser.add_argument("gt_dir")
+ parser.add_argument("--type", choices=["instance", "semantic"], default="instance")
+ args = parser.parse_args()
+ from annotator.oneformer.detectron2.data.catalog import Metadata
+ from annotator.oneformer.detectron2.utils.visualizer import Visualizer
+ from cityscapesscripts.helpers.labels import labels
+
+ logger = setup_logger(name=__name__)
+
+ dirname = "cityscapes-data-vis"
+ os.makedirs(dirname, exist_ok=True)
+
+ if args.type == "instance":
+ dicts = load_cityscapes_instances(
+ args.image_dir, args.gt_dir, from_json=True, to_polygons=True
+ )
+ logger.info("Done loading {} samples.".format(len(dicts)))
+
+ thing_classes = [k.name for k in labels if k.hasInstances and not k.ignoreInEval]
+ meta = Metadata().set(thing_classes=thing_classes)
+
+ else:
+ dicts = load_cityscapes_semantic(args.image_dir, args.gt_dir)
+ logger.info("Done loading {} samples.".format(len(dicts)))
+
+ stuff_classes = [k.name for k in labels if k.trainId != 255]
+ stuff_colors = [k.color for k in labels if k.trainId != 255]
+ meta = Metadata().set(stuff_classes=stuff_classes, stuff_colors=stuff_colors)
+
+ for d in dicts:
+ img = np.array(Image.open(PathManager.open(d["file_name"], "rb")))
+ visualizer = Visualizer(img, metadata=meta)
+ vis = visualizer.draw_dataset_dict(d)
+ # cv2.imshow("a", vis.get_image()[:, :, ::-1])
+ # cv2.waitKey()
+ fpath = os.path.join(dirname, os.path.basename(d["file_name"]))
+ vis.save(fpath)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/datasets/cityscapes_panoptic.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/datasets/cityscapes_panoptic.py
new file mode 100644
index 0000000000000000000000000000000000000000..7ce9ec48f673dadf3f5b4ae0592fc82415d9f925
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/datasets/cityscapes_panoptic.py
@@ -0,0 +1,187 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+import json
+import logging
+import os
+
+from annotator.oneformer.detectron2.data import DatasetCatalog, MetadataCatalog
+from annotator.oneformer.detectron2.data.datasets.builtin_meta import CITYSCAPES_CATEGORIES
+from annotator.oneformer.detectron2.utils.file_io import PathManager
+
+"""
+This file contains functions to register the Cityscapes panoptic dataset to the DatasetCatalog.
+"""
+
+
+logger = logging.getLogger(__name__)
+
+
+def get_cityscapes_panoptic_files(image_dir, gt_dir, json_info):
+ files = []
+ # scan through the directory
+ cities = PathManager.ls(image_dir)
+ logger.info(f"{len(cities)} cities found in '{image_dir}'.")
+ image_dict = {}
+ for city in cities:
+ city_img_dir = os.path.join(image_dir, city)
+ for basename in PathManager.ls(city_img_dir):
+ image_file = os.path.join(city_img_dir, basename)
+
+ suffix = "_leftImg8bit.png"
+ assert basename.endswith(suffix), basename
+ basename = os.path.basename(basename)[: -len(suffix)]
+
+ image_dict[basename] = image_file
+
+ for ann in json_info["annotations"]:
+ image_file = image_dict.get(ann["image_id"], None)
+ assert image_file is not None, "No image {} found for annotation {}".format(
+ ann["image_id"], ann["file_name"]
+ )
+ label_file = os.path.join(gt_dir, ann["file_name"])
+ segments_info = ann["segments_info"]
+
+ files.append((image_file, label_file, segments_info))
+
+ assert len(files), "No images found in {}".format(image_dir)
+ assert PathManager.isfile(files[0][0]), files[0][0]
+ assert PathManager.isfile(files[0][1]), files[0][1]
+ return files
+
+
+def load_cityscapes_panoptic(image_dir, gt_dir, gt_json, meta):
+ """
+ Args:
+ image_dir (str): path to the raw dataset. e.g., "~/cityscapes/leftImg8bit/train".
+ gt_dir (str): path to the raw annotations. e.g.,
+ "~/cityscapes/gtFine/cityscapes_panoptic_train".
+ gt_json (str): path to the json file. e.g.,
+ "~/cityscapes/gtFine/cityscapes_panoptic_train.json".
+ meta (dict): dictionary containing "thing_dataset_id_to_contiguous_id"
+ and "stuff_dataset_id_to_contiguous_id" to map category ids to
+ contiguous ids for training.
+
+ Returns:
+ list[dict]: a list of dicts in Detectron2 standard format. (See
+ `Using Custom Datasets `_ )
+ """
+
+ def _convert_category_id(segment_info, meta):
+ if segment_info["category_id"] in meta["thing_dataset_id_to_contiguous_id"]:
+ segment_info["category_id"] = meta["thing_dataset_id_to_contiguous_id"][
+ segment_info["category_id"]
+ ]
+ else:
+ segment_info["category_id"] = meta["stuff_dataset_id_to_contiguous_id"][
+ segment_info["category_id"]
+ ]
+ return segment_info
+
+ assert os.path.exists(
+ gt_json
+ ), "Please run `python cityscapesscripts/preparation/createPanopticImgs.py` to generate label files." # noqa
+ with open(gt_json) as f:
+ json_info = json.load(f)
+ files = get_cityscapes_panoptic_files(image_dir, gt_dir, json_info)
+ ret = []
+ for image_file, label_file, segments_info in files:
+ sem_label_file = (
+ image_file.replace("leftImg8bit", "gtFine").split(".")[0] + "_labelTrainIds.png"
+ )
+ segments_info = [_convert_category_id(x, meta) for x in segments_info]
+ ret.append(
+ {
+ "file_name": image_file,
+ "image_id": "_".join(
+ os.path.splitext(os.path.basename(image_file))[0].split("_")[:3]
+ ),
+ "sem_seg_file_name": sem_label_file,
+ "pan_seg_file_name": label_file,
+ "segments_info": segments_info,
+ }
+ )
+ assert len(ret), f"No images found in {image_dir}!"
+ assert PathManager.isfile(
+ ret[0]["sem_seg_file_name"]
+ ), "Please generate labelTrainIds.png with cityscapesscripts/preparation/createTrainIdLabelImgs.py" # noqa
+ assert PathManager.isfile(
+ ret[0]["pan_seg_file_name"]
+ ), "Please generate panoptic annotation with python cityscapesscripts/preparation/createPanopticImgs.py" # noqa
+ return ret
+
+
+_RAW_CITYSCAPES_PANOPTIC_SPLITS = {
+ "cityscapes_fine_panoptic_train": (
+ "cityscapes/leftImg8bit/train",
+ "cityscapes/gtFine/cityscapes_panoptic_train",
+ "cityscapes/gtFine/cityscapes_panoptic_train.json",
+ ),
+ "cityscapes_fine_panoptic_val": (
+ "cityscapes/leftImg8bit/val",
+ "cityscapes/gtFine/cityscapes_panoptic_val",
+ "cityscapes/gtFine/cityscapes_panoptic_val.json",
+ ),
+ # "cityscapes_fine_panoptic_test": not supported yet
+}
+
+
+def register_all_cityscapes_panoptic(root):
+ meta = {}
+ # The following metadata maps contiguous id from [0, #thing categories +
+ # #stuff categories) to their names and colors. We have to replica of the
+ # same name and color under "thing_*" and "stuff_*" because the current
+ # visualization function in D2 handles thing and class classes differently
+ # due to some heuristic used in Panoptic FPN. We keep the same naming to
+ # enable reusing existing visualization functions.
+ thing_classes = [k["name"] for k in CITYSCAPES_CATEGORIES]
+ thing_colors = [k["color"] for k in CITYSCAPES_CATEGORIES]
+ stuff_classes = [k["name"] for k in CITYSCAPES_CATEGORIES]
+ stuff_colors = [k["color"] for k in CITYSCAPES_CATEGORIES]
+
+ meta["thing_classes"] = thing_classes
+ meta["thing_colors"] = thing_colors
+ meta["stuff_classes"] = stuff_classes
+ meta["stuff_colors"] = stuff_colors
+
+ # There are three types of ids in cityscapes panoptic segmentation:
+ # (1) category id: like semantic segmentation, it is the class id for each
+ # pixel. Since there are some classes not used in evaluation, the category
+ # id is not always contiguous and thus we have two set of category ids:
+ # - original category id: category id in the original dataset, mainly
+ # used for evaluation.
+ # - contiguous category id: [0, #classes), in order to train the classifier
+ # (2) instance id: this id is used to differentiate different instances from
+ # the same category. For "stuff" classes, the instance id is always 0; for
+ # "thing" classes, the instance id starts from 1 and 0 is reserved for
+ # ignored instances (e.g. crowd annotation).
+ # (3) panoptic id: this is the compact id that encode both category and
+ # instance id by: category_id * 1000 + instance_id.
+ thing_dataset_id_to_contiguous_id = {}
+ stuff_dataset_id_to_contiguous_id = {}
+
+ for k in CITYSCAPES_CATEGORIES:
+ if k["isthing"] == 1:
+ thing_dataset_id_to_contiguous_id[k["id"]] = k["trainId"]
+ else:
+ stuff_dataset_id_to_contiguous_id[k["id"]] = k["trainId"]
+
+ meta["thing_dataset_id_to_contiguous_id"] = thing_dataset_id_to_contiguous_id
+ meta["stuff_dataset_id_to_contiguous_id"] = stuff_dataset_id_to_contiguous_id
+
+ for key, (image_dir, gt_dir, gt_json) in _RAW_CITYSCAPES_PANOPTIC_SPLITS.items():
+ image_dir = os.path.join(root, image_dir)
+ gt_dir = os.path.join(root, gt_dir)
+ gt_json = os.path.join(root, gt_json)
+
+ DatasetCatalog.register(
+ key, lambda x=image_dir, y=gt_dir, z=gt_json: load_cityscapes_panoptic(x, y, z, meta)
+ )
+ MetadataCatalog.get(key).set(
+ panoptic_root=gt_dir,
+ image_root=image_dir,
+ panoptic_json=gt_json,
+ gt_dir=gt_dir.replace("cityscapes_panoptic_", ""),
+ evaluator_type="cityscapes_panoptic_seg",
+ ignore_label=255,
+ label_divisor=1000,
+ **meta,
+ )
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/datasets/coco.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/datasets/coco.py
new file mode 100644
index 0000000000000000000000000000000000000000..1a7cdba855979f9453904b1d6f0aedd47dd81200
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/datasets/coco.py
@@ -0,0 +1,539 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+import contextlib
+import datetime
+import io
+import json
+import logging
+import numpy as np
+import os
+import shutil
+import annotator.oneformer.pycocotools.mask as mask_util
+from fvcore.common.timer import Timer
+from iopath.common.file_io import file_lock
+from PIL import Image
+
+from annotator.oneformer.detectron2.structures import Boxes, BoxMode, PolygonMasks, RotatedBoxes
+from annotator.oneformer.detectron2.utils.file_io import PathManager
+
+from .. import DatasetCatalog, MetadataCatalog
+
+"""
+This file contains functions to parse COCO-format annotations into dicts in "Detectron2 format".
+"""
+
+
+logger = logging.getLogger(__name__)
+
+__all__ = ["load_coco_json", "load_sem_seg", "convert_to_coco_json", "register_coco_instances"]
+
+
+def load_coco_json(json_file, image_root, dataset_name=None, extra_annotation_keys=None):
+ """
+ Load a json file with COCO's instances annotation format.
+ Currently supports instance detection, instance segmentation,
+ and person keypoints annotations.
+
+ Args:
+ json_file (str): full path to the json file in COCO instances annotation format.
+ image_root (str or path-like): the directory where the images in this json file exists.
+ dataset_name (str or None): the name of the dataset (e.g., coco_2017_train).
+ When provided, this function will also do the following:
+
+ * Put "thing_classes" into the metadata associated with this dataset.
+ * Map the category ids into a contiguous range (needed by standard dataset format),
+ and add "thing_dataset_id_to_contiguous_id" to the metadata associated
+ with this dataset.
+
+ This option should usually be provided, unless users need to load
+ the original json content and apply more processing manually.
+ extra_annotation_keys (list[str]): list of per-annotation keys that should also be
+ loaded into the dataset dict (besides "iscrowd", "bbox", "keypoints",
+ "category_id", "segmentation"). The values for these keys will be returned as-is.
+ For example, the densepose annotations are loaded in this way.
+
+ Returns:
+ list[dict]: a list of dicts in Detectron2 standard dataset dicts format (See
+ `Using Custom Datasets `_ ) when `dataset_name` is not None.
+ If `dataset_name` is None, the returned `category_ids` may be
+ incontiguous and may not conform to the Detectron2 standard format.
+
+ Notes:
+ 1. This function does not read the image files.
+ The results do not have the "image" field.
+ """
+ from annotator.oneformer.pycocotools.coco import COCO
+
+ timer = Timer()
+ json_file = PathManager.get_local_path(json_file)
+ with contextlib.redirect_stdout(io.StringIO()):
+ coco_api = COCO(json_file)
+ if timer.seconds() > 1:
+ logger.info("Loading {} takes {:.2f} seconds.".format(json_file, timer.seconds()))
+
+ id_map = None
+ if dataset_name is not None:
+ meta = MetadataCatalog.get(dataset_name)
+ cat_ids = sorted(coco_api.getCatIds())
+ cats = coco_api.loadCats(cat_ids)
+ # The categories in a custom json file may not be sorted.
+ thing_classes = [c["name"] for c in sorted(cats, key=lambda x: x["id"])]
+ meta.thing_classes = thing_classes
+
+ # In COCO, certain category ids are artificially removed,
+ # and by convention they are always ignored.
+ # We deal with COCO's id issue and translate
+ # the category ids to contiguous ids in [0, 80).
+
+ # It works by looking at the "categories" field in the json, therefore
+ # if users' own json also have incontiguous ids, we'll
+ # apply this mapping as well but print a warning.
+ if not (min(cat_ids) == 1 and max(cat_ids) == len(cat_ids)):
+ if "coco" not in dataset_name:
+ logger.warning(
+ """
+Category ids in annotations are not in [1, #categories]! We'll apply a mapping for you.
+"""
+ )
+ id_map = {v: i for i, v in enumerate(cat_ids)}
+ meta.thing_dataset_id_to_contiguous_id = id_map
+
+ # sort indices for reproducible results
+ img_ids = sorted(coco_api.imgs.keys())
+ # imgs is a list of dicts, each looks something like:
+ # {'license': 4,
+ # 'url': 'http://farm6.staticflickr.com/5454/9413846304_881d5e5c3b_z.jpg',
+ # 'file_name': 'COCO_val2014_000000001268.jpg',
+ # 'height': 427,
+ # 'width': 640,
+ # 'date_captured': '2013-11-17 05:57:24',
+ # 'id': 1268}
+ imgs = coco_api.loadImgs(img_ids)
+ # anns is a list[list[dict]], where each dict is an annotation
+ # record for an object. The inner list enumerates the objects in an image
+ # and the outer list enumerates over images. Example of anns[0]:
+ # [{'segmentation': [[192.81,
+ # 247.09,
+ # ...
+ # 219.03,
+ # 249.06]],
+ # 'area': 1035.749,
+ # 'iscrowd': 0,
+ # 'image_id': 1268,
+ # 'bbox': [192.81, 224.8, 74.73, 33.43],
+ # 'category_id': 16,
+ # 'id': 42986},
+ # ...]
+ anns = [coco_api.imgToAnns[img_id] for img_id in img_ids]
+ total_num_valid_anns = sum([len(x) for x in anns])
+ total_num_anns = len(coco_api.anns)
+ if total_num_valid_anns < total_num_anns:
+ logger.warning(
+ f"{json_file} contains {total_num_anns} annotations, but only "
+ f"{total_num_valid_anns} of them match to images in the file."
+ )
+
+ if "minival" not in json_file:
+ # The popular valminusminival & minival annotations for COCO2014 contain this bug.
+ # However the ratio of buggy annotations there is tiny and does not affect accuracy.
+ # Therefore we explicitly white-list them.
+ ann_ids = [ann["id"] for anns_per_image in anns for ann in anns_per_image]
+ assert len(set(ann_ids)) == len(ann_ids), "Annotation ids in '{}' are not unique!".format(
+ json_file
+ )
+
+ imgs_anns = list(zip(imgs, anns))
+ logger.info("Loaded {} images in COCO format from {}".format(len(imgs_anns), json_file))
+
+ dataset_dicts = []
+
+ ann_keys = ["iscrowd", "bbox", "keypoints", "category_id"] + (extra_annotation_keys or [])
+
+ num_instances_without_valid_segmentation = 0
+
+ for (img_dict, anno_dict_list) in imgs_anns:
+ record = {}
+ record["file_name"] = os.path.join(image_root, img_dict["file_name"])
+ record["height"] = img_dict["height"]
+ record["width"] = img_dict["width"]
+ image_id = record["image_id"] = img_dict["id"]
+
+ objs = []
+ for anno in anno_dict_list:
+ # Check that the image_id in this annotation is the same as
+ # the image_id we're looking at.
+ # This fails only when the data parsing logic or the annotation file is buggy.
+
+ # The original COCO valminusminival2014 & minival2014 annotation files
+ # actually contains bugs that, together with certain ways of using COCO API,
+ # can trigger this assertion.
+ assert anno["image_id"] == image_id
+
+ assert anno.get("ignore", 0) == 0, '"ignore" in COCO json file is not supported.'
+
+ obj = {key: anno[key] for key in ann_keys if key in anno}
+ if "bbox" in obj and len(obj["bbox"]) == 0:
+ raise ValueError(
+ f"One annotation of image {image_id} contains empty 'bbox' value! "
+ "This json does not have valid COCO format."
+ )
+
+ segm = anno.get("segmentation", None)
+ if segm: # either list[list[float]] or dict(RLE)
+ if isinstance(segm, dict):
+ if isinstance(segm["counts"], list):
+ # convert to compressed RLE
+ segm = mask_util.frPyObjects(segm, *segm["size"])
+ else:
+ # filter out invalid polygons (< 3 points)
+ segm = [poly for poly in segm if len(poly) % 2 == 0 and len(poly) >= 6]
+ if len(segm) == 0:
+ num_instances_without_valid_segmentation += 1
+ continue # ignore this instance
+ obj["segmentation"] = segm
+
+ keypts = anno.get("keypoints", None)
+ if keypts: # list[int]
+ for idx, v in enumerate(keypts):
+ if idx % 3 != 2:
+ # COCO's segmentation coordinates are floating points in [0, H or W],
+ # but keypoint coordinates are integers in [0, H-1 or W-1]
+ # Therefore we assume the coordinates are "pixel indices" and
+ # add 0.5 to convert to floating point coordinates.
+ keypts[idx] = v + 0.5
+ obj["keypoints"] = keypts
+
+ obj["bbox_mode"] = BoxMode.XYWH_ABS
+ if id_map:
+ annotation_category_id = obj["category_id"]
+ try:
+ obj["category_id"] = id_map[annotation_category_id]
+ except KeyError as e:
+ raise KeyError(
+ f"Encountered category_id={annotation_category_id} "
+ "but this id does not exist in 'categories' of the json file."
+ ) from e
+ objs.append(obj)
+ record["annotations"] = objs
+ dataset_dicts.append(record)
+
+ if num_instances_without_valid_segmentation > 0:
+ logger.warning(
+ "Filtered out {} instances without valid segmentation. ".format(
+ num_instances_without_valid_segmentation
+ )
+ + "There might be issues in your dataset generation process. Please "
+ "check https://detectron2.readthedocs.io/en/latest/tutorials/datasets.html carefully"
+ )
+ return dataset_dicts
+
+
+def load_sem_seg(gt_root, image_root, gt_ext="png", image_ext="jpg"):
+ """
+ Load semantic segmentation datasets. All files under "gt_root" with "gt_ext" extension are
+ treated as ground truth annotations and all files under "image_root" with "image_ext" extension
+ as input images. Ground truth and input images are matched using file paths relative to
+ "gt_root" and "image_root" respectively without taking into account file extensions.
+ This works for COCO as well as some other datasets.
+
+ Args:
+ gt_root (str): full path to ground truth semantic segmentation files. Semantic segmentation
+ annotations are stored as images with integer values in pixels that represent
+ corresponding semantic labels.
+ image_root (str): the directory where the input images are.
+ gt_ext (str): file extension for ground truth annotations.
+ image_ext (str): file extension for input images.
+
+ Returns:
+ list[dict]:
+ a list of dicts in detectron2 standard format without instance-level
+ annotation.
+
+ Notes:
+ 1. This function does not read the image and ground truth files.
+ The results do not have the "image" and "sem_seg" fields.
+ """
+
+ # We match input images with ground truth based on their relative filepaths (without file
+ # extensions) starting from 'image_root' and 'gt_root' respectively.
+ def file2id(folder_path, file_path):
+ # extract relative path starting from `folder_path`
+ image_id = os.path.normpath(os.path.relpath(file_path, start=folder_path))
+ # remove file extension
+ image_id = os.path.splitext(image_id)[0]
+ return image_id
+
+ input_files = sorted(
+ (os.path.join(image_root, f) for f in PathManager.ls(image_root) if f.endswith(image_ext)),
+ key=lambda file_path: file2id(image_root, file_path),
+ )
+ gt_files = sorted(
+ (os.path.join(gt_root, f) for f in PathManager.ls(gt_root) if f.endswith(gt_ext)),
+ key=lambda file_path: file2id(gt_root, file_path),
+ )
+
+ assert len(gt_files) > 0, "No annotations found in {}.".format(gt_root)
+
+ # Use the intersection, so that val2017_100 annotations can run smoothly with val2017 images
+ if len(input_files) != len(gt_files):
+ logger.warn(
+ "Directory {} and {} has {} and {} files, respectively.".format(
+ image_root, gt_root, len(input_files), len(gt_files)
+ )
+ )
+ input_basenames = [os.path.basename(f)[: -len(image_ext)] for f in input_files]
+ gt_basenames = [os.path.basename(f)[: -len(gt_ext)] for f in gt_files]
+ intersect = list(set(input_basenames) & set(gt_basenames))
+ # sort, otherwise each worker may obtain a list[dict] in different order
+ intersect = sorted(intersect)
+ logger.warn("Will use their intersection of {} files.".format(len(intersect)))
+ input_files = [os.path.join(image_root, f + image_ext) for f in intersect]
+ gt_files = [os.path.join(gt_root, f + gt_ext) for f in intersect]
+
+ logger.info(
+ "Loaded {} images with semantic segmentation from {}".format(len(input_files), image_root)
+ )
+
+ dataset_dicts = []
+ for (img_path, gt_path) in zip(input_files, gt_files):
+ record = {}
+ record["file_name"] = img_path
+ record["sem_seg_file_name"] = gt_path
+ dataset_dicts.append(record)
+
+ return dataset_dicts
+
+
+def convert_to_coco_dict(dataset_name):
+ """
+ Convert an instance detection/segmentation or keypoint detection dataset
+ in detectron2's standard format into COCO json format.
+
+ Generic dataset description can be found here:
+ https://detectron2.readthedocs.io/tutorials/datasets.html#register-a-dataset
+
+ COCO data format description can be found here:
+ http://cocodataset.org/#format-data
+
+ Args:
+ dataset_name (str):
+ name of the source dataset
+ Must be registered in DatastCatalog and in detectron2's standard format.
+ Must have corresponding metadata "thing_classes"
+ Returns:
+ coco_dict: serializable dict in COCO json format
+ """
+
+ dataset_dicts = DatasetCatalog.get(dataset_name)
+ metadata = MetadataCatalog.get(dataset_name)
+
+ # unmap the category mapping ids for COCO
+ if hasattr(metadata, "thing_dataset_id_to_contiguous_id"):
+ reverse_id_mapping = {v: k for k, v in metadata.thing_dataset_id_to_contiguous_id.items()}
+ reverse_id_mapper = lambda contiguous_id: reverse_id_mapping[contiguous_id] # noqa
+ else:
+ reverse_id_mapper = lambda contiguous_id: contiguous_id # noqa
+
+ categories = [
+ {"id": reverse_id_mapper(id), "name": name}
+ for id, name in enumerate(metadata.thing_classes)
+ ]
+
+ logger.info("Converting dataset dicts into COCO format")
+ coco_images = []
+ coco_annotations = []
+
+ for image_id, image_dict in enumerate(dataset_dicts):
+ coco_image = {
+ "id": image_dict.get("image_id", image_id),
+ "width": int(image_dict["width"]),
+ "height": int(image_dict["height"]),
+ "file_name": str(image_dict["file_name"]),
+ }
+ coco_images.append(coco_image)
+
+ anns_per_image = image_dict.get("annotations", [])
+ for annotation in anns_per_image:
+ # create a new dict with only COCO fields
+ coco_annotation = {}
+
+ # COCO requirement: XYWH box format for axis-align and XYWHA for rotated
+ bbox = annotation["bbox"]
+ if isinstance(bbox, np.ndarray):
+ if bbox.ndim != 1:
+ raise ValueError(f"bbox has to be 1-dimensional. Got shape={bbox.shape}.")
+ bbox = bbox.tolist()
+ if len(bbox) not in [4, 5]:
+ raise ValueError(f"bbox has to has length 4 or 5. Got {bbox}.")
+ from_bbox_mode = annotation["bbox_mode"]
+ to_bbox_mode = BoxMode.XYWH_ABS if len(bbox) == 4 else BoxMode.XYWHA_ABS
+ bbox = BoxMode.convert(bbox, from_bbox_mode, to_bbox_mode)
+
+ # COCO requirement: instance area
+ if "segmentation" in annotation:
+ # Computing areas for instances by counting the pixels
+ segmentation = annotation["segmentation"]
+ # TODO: check segmentation type: RLE, BinaryMask or Polygon
+ if isinstance(segmentation, list):
+ polygons = PolygonMasks([segmentation])
+ area = polygons.area()[0].item()
+ elif isinstance(segmentation, dict): # RLE
+ area = mask_util.area(segmentation).item()
+ else:
+ raise TypeError(f"Unknown segmentation type {type(segmentation)}!")
+ else:
+ # Computing areas using bounding boxes
+ if to_bbox_mode == BoxMode.XYWH_ABS:
+ bbox_xy = BoxMode.convert(bbox, to_bbox_mode, BoxMode.XYXY_ABS)
+ area = Boxes([bbox_xy]).area()[0].item()
+ else:
+ area = RotatedBoxes([bbox]).area()[0].item()
+
+ if "keypoints" in annotation:
+ keypoints = annotation["keypoints"] # list[int]
+ for idx, v in enumerate(keypoints):
+ if idx % 3 != 2:
+ # COCO's segmentation coordinates are floating points in [0, H or W],
+ # but keypoint coordinates are integers in [0, H-1 or W-1]
+ # For COCO format consistency we substract 0.5
+ # https://github.com/facebookresearch/detectron2/pull/175#issuecomment-551202163
+ keypoints[idx] = v - 0.5
+ if "num_keypoints" in annotation:
+ num_keypoints = annotation["num_keypoints"]
+ else:
+ num_keypoints = sum(kp > 0 for kp in keypoints[2::3])
+
+ # COCO requirement:
+ # linking annotations to images
+ # "id" field must start with 1
+ coco_annotation["id"] = len(coco_annotations) + 1
+ coco_annotation["image_id"] = coco_image["id"]
+ coco_annotation["bbox"] = [round(float(x), 3) for x in bbox]
+ coco_annotation["area"] = float(area)
+ coco_annotation["iscrowd"] = int(annotation.get("iscrowd", 0))
+ coco_annotation["category_id"] = int(reverse_id_mapper(annotation["category_id"]))
+
+ # Add optional fields
+ if "keypoints" in annotation:
+ coco_annotation["keypoints"] = keypoints
+ coco_annotation["num_keypoints"] = num_keypoints
+
+ if "segmentation" in annotation:
+ seg = coco_annotation["segmentation"] = annotation["segmentation"]
+ if isinstance(seg, dict): # RLE
+ counts = seg["counts"]
+ if not isinstance(counts, str):
+ # make it json-serializable
+ seg["counts"] = counts.decode("ascii")
+
+ coco_annotations.append(coco_annotation)
+
+ logger.info(
+ "Conversion finished, "
+ f"#images: {len(coco_images)}, #annotations: {len(coco_annotations)}"
+ )
+
+ info = {
+ "date_created": str(datetime.datetime.now()),
+ "description": "Automatically generated COCO json file for Detectron2.",
+ }
+ coco_dict = {"info": info, "images": coco_images, "categories": categories, "licenses": None}
+ if len(coco_annotations) > 0:
+ coco_dict["annotations"] = coco_annotations
+ return coco_dict
+
+
+def convert_to_coco_json(dataset_name, output_file, allow_cached=True):
+ """
+ Converts dataset into COCO format and saves it to a json file.
+ dataset_name must be registered in DatasetCatalog and in detectron2's standard format.
+
+ Args:
+ dataset_name:
+ reference from the config file to the catalogs
+ must be registered in DatasetCatalog and in detectron2's standard format
+ output_file: path of json file that will be saved to
+ allow_cached: if json file is already present then skip conversion
+ """
+
+ # TODO: The dataset or the conversion script *may* change,
+ # a checksum would be useful for validating the cached data
+
+ PathManager.mkdirs(os.path.dirname(output_file))
+ with file_lock(output_file):
+ if PathManager.exists(output_file) and allow_cached:
+ logger.warning(
+ f"Using previously cached COCO format annotations at '{output_file}'. "
+ "You need to clear the cache file if your dataset has been modified."
+ )
+ else:
+ logger.info(f"Converting annotations of dataset '{dataset_name}' to COCO format ...)")
+ coco_dict = convert_to_coco_dict(dataset_name)
+
+ logger.info(f"Caching COCO format annotations at '{output_file}' ...")
+ tmp_file = output_file + ".tmp"
+ with PathManager.open(tmp_file, "w") as f:
+ json.dump(coco_dict, f)
+ shutil.move(tmp_file, output_file)
+
+
+def register_coco_instances(name, metadata, json_file, image_root):
+ """
+ Register a dataset in COCO's json annotation format for
+ instance detection, instance segmentation and keypoint detection.
+ (i.e., Type 1 and 2 in http://cocodataset.org/#format-data.
+ `instances*.json` and `person_keypoints*.json` in the dataset).
+
+ This is an example of how to register a new dataset.
+ You can do something similar to this function, to register new datasets.
+
+ Args:
+ name (str): the name that identifies a dataset, e.g. "coco_2014_train".
+ metadata (dict): extra metadata associated with this dataset. You can
+ leave it as an empty dict.
+ json_file (str): path to the json instance annotation file.
+ image_root (str or path-like): directory which contains all the images.
+ """
+ assert isinstance(name, str), name
+ assert isinstance(json_file, (str, os.PathLike)), json_file
+ assert isinstance(image_root, (str, os.PathLike)), image_root
+ # 1. register a function which returns dicts
+ DatasetCatalog.register(name, lambda: load_coco_json(json_file, image_root, name))
+
+ # 2. Optionally, add metadata about this dataset,
+ # since they might be useful in evaluation, visualization or logging
+ MetadataCatalog.get(name).set(
+ json_file=json_file, image_root=image_root, evaluator_type="coco", **metadata
+ )
+
+
+if __name__ == "__main__":
+ """
+ Test the COCO json dataset loader.
+
+ Usage:
+ python -m detectron2.data.datasets.coco \
+ path/to/json path/to/image_root dataset_name
+
+ "dataset_name" can be "coco_2014_minival_100", or other
+ pre-registered ones
+ """
+ from annotator.oneformer.detectron2.utils.logger import setup_logger
+ from annotator.oneformer.detectron2.utils.visualizer import Visualizer
+ import annotator.oneformer.detectron2.data.datasets # noqa # add pre-defined metadata
+ import sys
+
+ logger = setup_logger(name=__name__)
+ assert sys.argv[3] in DatasetCatalog.list()
+ meta = MetadataCatalog.get(sys.argv[3])
+
+ dicts = load_coco_json(sys.argv[1], sys.argv[2], sys.argv[3])
+ logger.info("Done loading {} samples.".format(len(dicts)))
+
+ dirname = "coco-data-vis"
+ os.makedirs(dirname, exist_ok=True)
+ for d in dicts:
+ img = np.array(Image.open(d["file_name"]))
+ visualizer = Visualizer(img, metadata=meta)
+ vis = visualizer.draw_dataset_dict(d)
+ fpath = os.path.join(dirname, os.path.basename(d["file_name"]))
+ vis.save(fpath)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/datasets/coco_panoptic.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/datasets/coco_panoptic.py
new file mode 100644
index 0000000000000000000000000000000000000000..a7180df512c29665222b1a90323ccfa7e7623137
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/datasets/coco_panoptic.py
@@ -0,0 +1,228 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+import copy
+import json
+import os
+
+from annotator.oneformer.detectron2.data import DatasetCatalog, MetadataCatalog
+from annotator.oneformer.detectron2.utils.file_io import PathManager
+
+from .coco import load_coco_json, load_sem_seg
+
+__all__ = ["register_coco_panoptic", "register_coco_panoptic_separated"]
+
+
+def load_coco_panoptic_json(json_file, image_dir, gt_dir, meta):
+ """
+ Args:
+ image_dir (str): path to the raw dataset. e.g., "~/coco/train2017".
+ gt_dir (str): path to the raw annotations. e.g., "~/coco/panoptic_train2017".
+ json_file (str): path to the json file. e.g., "~/coco/annotations/panoptic_train2017.json".
+
+ Returns:
+ list[dict]: a list of dicts in Detectron2 standard format. (See
+ `Using Custom Datasets `_ )
+ """
+
+ def _convert_category_id(segment_info, meta):
+ if segment_info["category_id"] in meta["thing_dataset_id_to_contiguous_id"]:
+ segment_info["category_id"] = meta["thing_dataset_id_to_contiguous_id"][
+ segment_info["category_id"]
+ ]
+ segment_info["isthing"] = True
+ else:
+ segment_info["category_id"] = meta["stuff_dataset_id_to_contiguous_id"][
+ segment_info["category_id"]
+ ]
+ segment_info["isthing"] = False
+ return segment_info
+
+ with PathManager.open(json_file) as f:
+ json_info = json.load(f)
+
+ ret = []
+ for ann in json_info["annotations"]:
+ image_id = int(ann["image_id"])
+ # TODO: currently we assume image and label has the same filename but
+ # different extension, and images have extension ".jpg" for COCO. Need
+ # to make image extension a user-provided argument if we extend this
+ # function to support other COCO-like datasets.
+ image_file = os.path.join(image_dir, os.path.splitext(ann["file_name"])[0] + ".jpg")
+ label_file = os.path.join(gt_dir, ann["file_name"])
+ segments_info = [_convert_category_id(x, meta) for x in ann["segments_info"]]
+ ret.append(
+ {
+ "file_name": image_file,
+ "image_id": image_id,
+ "pan_seg_file_name": label_file,
+ "segments_info": segments_info,
+ }
+ )
+ assert len(ret), f"No images found in {image_dir}!"
+ assert PathManager.isfile(ret[0]["file_name"]), ret[0]["file_name"]
+ assert PathManager.isfile(ret[0]["pan_seg_file_name"]), ret[0]["pan_seg_file_name"]
+ return ret
+
+
+def register_coco_panoptic(
+ name, metadata, image_root, panoptic_root, panoptic_json, instances_json=None
+):
+ """
+ Register a "standard" version of COCO panoptic segmentation dataset named `name`.
+ The dictionaries in this registered dataset follows detectron2's standard format.
+ Hence it's called "standard".
+
+ Args:
+ name (str): the name that identifies a dataset,
+ e.g. "coco_2017_train_panoptic"
+ metadata (dict): extra metadata associated with this dataset.
+ image_root (str): directory which contains all the images
+ panoptic_root (str): directory which contains panoptic annotation images in COCO format
+ panoptic_json (str): path to the json panoptic annotation file in COCO format
+ sem_seg_root (none): not used, to be consistent with
+ `register_coco_panoptic_separated`.
+ instances_json (str): path to the json instance annotation file
+ """
+ panoptic_name = name
+ DatasetCatalog.register(
+ panoptic_name,
+ lambda: load_coco_panoptic_json(panoptic_json, image_root, panoptic_root, metadata),
+ )
+ MetadataCatalog.get(panoptic_name).set(
+ panoptic_root=panoptic_root,
+ image_root=image_root,
+ panoptic_json=panoptic_json,
+ json_file=instances_json,
+ evaluator_type="coco_panoptic_seg",
+ ignore_label=255,
+ label_divisor=1000,
+ **metadata,
+ )
+
+
+def register_coco_panoptic_separated(
+ name, metadata, image_root, panoptic_root, panoptic_json, sem_seg_root, instances_json
+):
+ """
+ Register a "separated" version of COCO panoptic segmentation dataset named `name`.
+ The annotations in this registered dataset will contain both instance annotations and
+ semantic annotations, each with its own contiguous ids. Hence it's called "separated".
+
+ It follows the setting used by the PanopticFPN paper:
+
+ 1. The instance annotations directly come from polygons in the COCO
+ instances annotation task, rather than from the masks in the COCO panoptic annotations.
+
+ The two format have small differences:
+ Polygons in the instance annotations may have overlaps.
+ The mask annotations are produced by labeling the overlapped polygons
+ with depth ordering.
+
+ 2. The semantic annotations are converted from panoptic annotations, where
+ all "things" are assigned a semantic id of 0.
+ All semantic categories will therefore have ids in contiguous
+ range [1, #stuff_categories].
+
+ This function will also register a pure semantic segmentation dataset
+ named ``name + '_stuffonly'``.
+
+ Args:
+ name (str): the name that identifies a dataset,
+ e.g. "coco_2017_train_panoptic"
+ metadata (dict): extra metadata associated with this dataset.
+ image_root (str): directory which contains all the images
+ panoptic_root (str): directory which contains panoptic annotation images
+ panoptic_json (str): path to the json panoptic annotation file
+ sem_seg_root (str): directory which contains all the ground truth segmentation annotations.
+ instances_json (str): path to the json instance annotation file
+ """
+ panoptic_name = name + "_separated"
+ DatasetCatalog.register(
+ panoptic_name,
+ lambda: merge_to_panoptic(
+ load_coco_json(instances_json, image_root, panoptic_name),
+ load_sem_seg(sem_seg_root, image_root),
+ ),
+ )
+ MetadataCatalog.get(panoptic_name).set(
+ panoptic_root=panoptic_root,
+ image_root=image_root,
+ panoptic_json=panoptic_json,
+ sem_seg_root=sem_seg_root,
+ json_file=instances_json, # TODO rename
+ evaluator_type="coco_panoptic_seg",
+ ignore_label=255,
+ **metadata,
+ )
+
+ semantic_name = name + "_stuffonly"
+ DatasetCatalog.register(semantic_name, lambda: load_sem_seg(sem_seg_root, image_root))
+ MetadataCatalog.get(semantic_name).set(
+ sem_seg_root=sem_seg_root,
+ image_root=image_root,
+ evaluator_type="sem_seg",
+ ignore_label=255,
+ **metadata,
+ )
+
+
+def merge_to_panoptic(detection_dicts, sem_seg_dicts):
+ """
+ Create dataset dicts for panoptic segmentation, by
+ merging two dicts using "file_name" field to match their entries.
+
+ Args:
+ detection_dicts (list[dict]): lists of dicts for object detection or instance segmentation.
+ sem_seg_dicts (list[dict]): lists of dicts for semantic segmentation.
+
+ Returns:
+ list[dict] (one per input image): Each dict contains all (key, value) pairs from dicts in
+ both detection_dicts and sem_seg_dicts that correspond to the same image.
+ The function assumes that the same key in different dicts has the same value.
+ """
+ results = []
+ sem_seg_file_to_entry = {x["file_name"]: x for x in sem_seg_dicts}
+ assert len(sem_seg_file_to_entry) > 0
+
+ for det_dict in detection_dicts:
+ dic = copy.copy(det_dict)
+ dic.update(sem_seg_file_to_entry[dic["file_name"]])
+ results.append(dic)
+ return results
+
+
+if __name__ == "__main__":
+ """
+ Test the COCO panoptic dataset loader.
+
+ Usage:
+ python -m detectron2.data.datasets.coco_panoptic \
+ path/to/image_root path/to/panoptic_root path/to/panoptic_json dataset_name 10
+
+ "dataset_name" can be "coco_2017_train_panoptic", or other
+ pre-registered ones
+ """
+ from annotator.oneformer.detectron2.utils.logger import setup_logger
+ from annotator.oneformer.detectron2.utils.visualizer import Visualizer
+ import annotator.oneformer.detectron2.data.datasets # noqa # add pre-defined metadata
+ import sys
+ from PIL import Image
+ import numpy as np
+
+ logger = setup_logger(name=__name__)
+ assert sys.argv[4] in DatasetCatalog.list()
+ meta = MetadataCatalog.get(sys.argv[4])
+
+ dicts = load_coco_panoptic_json(sys.argv[3], sys.argv[1], sys.argv[2], meta.as_dict())
+ logger.info("Done loading {} samples.".format(len(dicts)))
+
+ dirname = "coco-data-vis"
+ os.makedirs(dirname, exist_ok=True)
+ num_imgs_to_vis = int(sys.argv[5])
+ for i, d in enumerate(dicts):
+ img = np.array(Image.open(d["file_name"]))
+ visualizer = Visualizer(img, metadata=meta)
+ vis = visualizer.draw_dataset_dict(d)
+ fpath = os.path.join(dirname, os.path.basename(d["file_name"]))
+ vis.save(fpath)
+ if i + 1 >= num_imgs_to_vis:
+ break
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/datasets/lvis.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/datasets/lvis.py
new file mode 100644
index 0000000000000000000000000000000000000000..6e1e6ecc657e83d6df57da342b0655177402c514
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/datasets/lvis.py
@@ -0,0 +1,241 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+import logging
+import os
+from fvcore.common.timer import Timer
+
+from annotator.oneformer.detectron2.data import DatasetCatalog, MetadataCatalog
+from annotator.oneformer.detectron2.structures import BoxMode
+from annotator.oneformer.detectron2.utils.file_io import PathManager
+
+from .builtin_meta import _get_coco_instances_meta
+from .lvis_v0_5_categories import LVIS_CATEGORIES as LVIS_V0_5_CATEGORIES
+from .lvis_v1_categories import LVIS_CATEGORIES as LVIS_V1_CATEGORIES
+from .lvis_v1_category_image_count import LVIS_CATEGORY_IMAGE_COUNT as LVIS_V1_CATEGORY_IMAGE_COUNT
+
+"""
+This file contains functions to parse LVIS-format annotations into dicts in the
+"Detectron2 format".
+"""
+
+logger = logging.getLogger(__name__)
+
+__all__ = ["load_lvis_json", "register_lvis_instances", "get_lvis_instances_meta"]
+
+
+def register_lvis_instances(name, metadata, json_file, image_root):
+ """
+ Register a dataset in LVIS's json annotation format for instance detection and segmentation.
+
+ Args:
+ name (str): a name that identifies the dataset, e.g. "lvis_v0.5_train".
+ metadata (dict): extra metadata associated with this dataset. It can be an empty dict.
+ json_file (str): path to the json instance annotation file.
+ image_root (str or path-like): directory which contains all the images.
+ """
+ DatasetCatalog.register(name, lambda: load_lvis_json(json_file, image_root, name))
+ MetadataCatalog.get(name).set(
+ json_file=json_file, image_root=image_root, evaluator_type="lvis", **metadata
+ )
+
+
+def load_lvis_json(json_file, image_root, dataset_name=None, extra_annotation_keys=None):
+ """
+ Load a json file in LVIS's annotation format.
+
+ Args:
+ json_file (str): full path to the LVIS json annotation file.
+ image_root (str): the directory where the images in this json file exists.
+ dataset_name (str): the name of the dataset (e.g., "lvis_v0.5_train").
+ If provided, this function will put "thing_classes" into the metadata
+ associated with this dataset.
+ extra_annotation_keys (list[str]): list of per-annotation keys that should also be
+ loaded into the dataset dict (besides "bbox", "bbox_mode", "category_id",
+ "segmentation"). The values for these keys will be returned as-is.
+
+ Returns:
+ list[dict]: a list of dicts in Detectron2 standard format. (See
+ `Using Custom Datasets `_ )
+
+ Notes:
+ 1. This function does not read the image files.
+ The results do not have the "image" field.
+ """
+ from lvis import LVIS
+
+ json_file = PathManager.get_local_path(json_file)
+
+ timer = Timer()
+ lvis_api = LVIS(json_file)
+ if timer.seconds() > 1:
+ logger.info("Loading {} takes {:.2f} seconds.".format(json_file, timer.seconds()))
+
+ if dataset_name is not None:
+ meta = get_lvis_instances_meta(dataset_name)
+ MetadataCatalog.get(dataset_name).set(**meta)
+
+ # sort indices for reproducible results
+ img_ids = sorted(lvis_api.imgs.keys())
+ # imgs is a list of dicts, each looks something like:
+ # {'license': 4,
+ # 'url': 'http://farm6.staticflickr.com/5454/9413846304_881d5e5c3b_z.jpg',
+ # 'file_name': 'COCO_val2014_000000001268.jpg',
+ # 'height': 427,
+ # 'width': 640,
+ # 'date_captured': '2013-11-17 05:57:24',
+ # 'id': 1268}
+ imgs = lvis_api.load_imgs(img_ids)
+ # anns is a list[list[dict]], where each dict is an annotation
+ # record for an object. The inner list enumerates the objects in an image
+ # and the outer list enumerates over images. Example of anns[0]:
+ # [{'segmentation': [[192.81,
+ # 247.09,
+ # ...
+ # 219.03,
+ # 249.06]],
+ # 'area': 1035.749,
+ # 'image_id': 1268,
+ # 'bbox': [192.81, 224.8, 74.73, 33.43],
+ # 'category_id': 16,
+ # 'id': 42986},
+ # ...]
+ anns = [lvis_api.img_ann_map[img_id] for img_id in img_ids]
+
+ # Sanity check that each annotation has a unique id
+ ann_ids = [ann["id"] for anns_per_image in anns for ann in anns_per_image]
+ assert len(set(ann_ids)) == len(ann_ids), "Annotation ids in '{}' are not unique".format(
+ json_file
+ )
+
+ imgs_anns = list(zip(imgs, anns))
+
+ logger.info("Loaded {} images in the LVIS format from {}".format(len(imgs_anns), json_file))
+
+ if extra_annotation_keys:
+ logger.info(
+ "The following extra annotation keys will be loaded: {} ".format(extra_annotation_keys)
+ )
+ else:
+ extra_annotation_keys = []
+
+ def get_file_name(img_root, img_dict):
+ # Determine the path including the split folder ("train2017", "val2017", "test2017") from
+ # the coco_url field. Example:
+ # 'coco_url': 'http://images.cocodataset.org/train2017/000000155379.jpg'
+ split_folder, file_name = img_dict["coco_url"].split("/")[-2:]
+ return os.path.join(img_root + split_folder, file_name)
+
+ dataset_dicts = []
+
+ for (img_dict, anno_dict_list) in imgs_anns:
+ record = {}
+ record["file_name"] = get_file_name(image_root, img_dict)
+ record["height"] = img_dict["height"]
+ record["width"] = img_dict["width"]
+ record["not_exhaustive_category_ids"] = img_dict.get("not_exhaustive_category_ids", [])
+ record["neg_category_ids"] = img_dict.get("neg_category_ids", [])
+ image_id = record["image_id"] = img_dict["id"]
+
+ objs = []
+ for anno in anno_dict_list:
+ # Check that the image_id in this annotation is the same as
+ # the image_id we're looking at.
+ # This fails only when the data parsing logic or the annotation file is buggy.
+ assert anno["image_id"] == image_id
+ obj = {"bbox": anno["bbox"], "bbox_mode": BoxMode.XYWH_ABS}
+ # LVIS data loader can be used to load COCO dataset categories. In this case `meta`
+ # variable will have a field with COCO-specific category mapping.
+ if dataset_name is not None and "thing_dataset_id_to_contiguous_id" in meta:
+ obj["category_id"] = meta["thing_dataset_id_to_contiguous_id"][anno["category_id"]]
+ else:
+ obj["category_id"] = anno["category_id"] - 1 # Convert 1-indexed to 0-indexed
+ segm = anno["segmentation"] # list[list[float]]
+ # filter out invalid polygons (< 3 points)
+ valid_segm = [poly for poly in segm if len(poly) % 2 == 0 and len(poly) >= 6]
+ assert len(segm) == len(
+ valid_segm
+ ), "Annotation contains an invalid polygon with < 3 points"
+ assert len(segm) > 0
+ obj["segmentation"] = segm
+ for extra_ann_key in extra_annotation_keys:
+ obj[extra_ann_key] = anno[extra_ann_key]
+ objs.append(obj)
+ record["annotations"] = objs
+ dataset_dicts.append(record)
+
+ return dataset_dicts
+
+
+def get_lvis_instances_meta(dataset_name):
+ """
+ Load LVIS metadata.
+
+ Args:
+ dataset_name (str): LVIS dataset name without the split name (e.g., "lvis_v0.5").
+
+ Returns:
+ dict: LVIS metadata with keys: thing_classes
+ """
+ if "cocofied" in dataset_name:
+ return _get_coco_instances_meta()
+ if "v0.5" in dataset_name:
+ return _get_lvis_instances_meta_v0_5()
+ elif "v1" in dataset_name:
+ return _get_lvis_instances_meta_v1()
+ raise ValueError("No built-in metadata for dataset {}".format(dataset_name))
+
+
+def _get_lvis_instances_meta_v0_5():
+ assert len(LVIS_V0_5_CATEGORIES) == 1230
+ cat_ids = [k["id"] for k in LVIS_V0_5_CATEGORIES]
+ assert min(cat_ids) == 1 and max(cat_ids) == len(
+ cat_ids
+ ), "Category ids are not in [1, #categories], as expected"
+ # Ensure that the category list is sorted by id
+ lvis_categories = sorted(LVIS_V0_5_CATEGORIES, key=lambda x: x["id"])
+ thing_classes = [k["synonyms"][0] for k in lvis_categories]
+ meta = {"thing_classes": thing_classes}
+ return meta
+
+
+def _get_lvis_instances_meta_v1():
+ assert len(LVIS_V1_CATEGORIES) == 1203
+ cat_ids = [k["id"] for k in LVIS_V1_CATEGORIES]
+ assert min(cat_ids) == 1 and max(cat_ids) == len(
+ cat_ids
+ ), "Category ids are not in [1, #categories], as expected"
+ # Ensure that the category list is sorted by id
+ lvis_categories = sorted(LVIS_V1_CATEGORIES, key=lambda x: x["id"])
+ thing_classes = [k["synonyms"][0] for k in lvis_categories]
+ meta = {"thing_classes": thing_classes, "class_image_count": LVIS_V1_CATEGORY_IMAGE_COUNT}
+ return meta
+
+
+if __name__ == "__main__":
+ """
+ Test the LVIS json dataset loader.
+
+ Usage:
+ python -m detectron2.data.datasets.lvis \
+ path/to/json path/to/image_root dataset_name vis_limit
+ """
+ import sys
+ import numpy as np
+ from annotator.oneformer.detectron2.utils.logger import setup_logger
+ from PIL import Image
+ import annotator.oneformer.detectron2.data.datasets # noqa # add pre-defined metadata
+ from annotator.oneformer.detectron2.utils.visualizer import Visualizer
+
+ logger = setup_logger(name=__name__)
+ meta = MetadataCatalog.get(sys.argv[3])
+
+ dicts = load_lvis_json(sys.argv[1], sys.argv[2], sys.argv[3])
+ logger.info("Done loading {} samples.".format(len(dicts)))
+
+ dirname = "lvis-data-vis"
+ os.makedirs(dirname, exist_ok=True)
+ for d in dicts[: int(sys.argv[4])]:
+ img = np.array(Image.open(d["file_name"]))
+ visualizer = Visualizer(img, metadata=meta)
+ vis = visualizer.draw_dataset_dict(d)
+ fpath = os.path.join(dirname, os.path.basename(d["file_name"]))
+ vis.save(fpath)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/datasets/lvis_v0_5_categories.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/datasets/lvis_v0_5_categories.py
new file mode 100644
index 0000000000000000000000000000000000000000..d3dab6198da614937b08682f4c9edf52bdf1d236
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/datasets/lvis_v0_5_categories.py
@@ -0,0 +1,13 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+# Autogen with
+# with open("lvis_v0.5_val.json", "r") as f:
+# a = json.load(f)
+# c = a["categories"]
+# for x in c:
+# del x["image_count"]
+# del x["instance_count"]
+# LVIS_CATEGORIES = repr(c) + " # noqa"
+
+# fmt: off
+LVIS_CATEGORIES = [{'frequency': 'r', 'id': 1, 'synset': 'acorn.n.01', 'synonyms': ['acorn'], 'def': 'nut from an oak tree', 'name': 'acorn'}, {'frequency': 'c', 'id': 2, 'synset': 'aerosol.n.02', 'synonyms': ['aerosol_can', 'spray_can'], 'def': 'a dispenser that holds a substance under pressure', 'name': 'aerosol_can'}, {'frequency': 'f', 'id': 3, 'synset': 'air_conditioner.n.01', 'synonyms': ['air_conditioner'], 'def': 'a machine that keeps air cool and dry', 'name': 'air_conditioner'}, {'frequency': 'f', 'id': 4, 'synset': 'airplane.n.01', 'synonyms': ['airplane', 'aeroplane'], 'def': 'an aircraft that has a fixed wing and is powered by propellers or jets', 'name': 'airplane'}, {'frequency': 'c', 'id': 5, 'synset': 'alarm_clock.n.01', 'synonyms': ['alarm_clock'], 'def': 'a clock that wakes a sleeper at some preset time', 'name': 'alarm_clock'}, {'frequency': 'c', 'id': 6, 'synset': 'alcohol.n.01', 'synonyms': ['alcohol', 'alcoholic_beverage'], 'def': 'a liquor or brew containing alcohol as the active agent', 'name': 'alcohol'}, {'frequency': 'r', 'id': 7, 'synset': 'alligator.n.02', 'synonyms': ['alligator', 'gator'], 'def': 'amphibious reptiles related to crocodiles but with shorter broader snouts', 'name': 'alligator'}, {'frequency': 'c', 'id': 8, 'synset': 'almond.n.02', 'synonyms': ['almond'], 'def': 'oval-shaped edible seed of the almond tree', 'name': 'almond'}, {'frequency': 'c', 'id': 9, 'synset': 'ambulance.n.01', 'synonyms': ['ambulance'], 'def': 'a vehicle that takes people to and from hospitals', 'name': 'ambulance'}, {'frequency': 'r', 'id': 10, 'synset': 'amplifier.n.01', 'synonyms': ['amplifier'], 'def': 'electronic equipment that increases strength of signals', 'name': 'amplifier'}, {'frequency': 'c', 'id': 11, 'synset': 'anklet.n.03', 'synonyms': ['anklet', 'ankle_bracelet'], 'def': 'an ornament worn around the ankle', 'name': 'anklet'}, {'frequency': 'f', 'id': 12, 'synset': 'antenna.n.01', 'synonyms': ['antenna', 'aerial', 'transmitting_aerial'], 'def': 'an electrical device that sends or receives radio or television signals', 'name': 'antenna'}, {'frequency': 'f', 'id': 13, 'synset': 'apple.n.01', 'synonyms': ['apple'], 'def': 'fruit with red or yellow or green skin and sweet to tart crisp whitish flesh', 'name': 'apple'}, {'frequency': 'r', 'id': 14, 'synset': 'apple_juice.n.01', 'synonyms': ['apple_juice'], 'def': 'the juice of apples', 'name': 'apple_juice'}, {'frequency': 'r', 'id': 15, 'synset': 'applesauce.n.01', 'synonyms': ['applesauce'], 'def': 'puree of stewed apples usually sweetened and spiced', 'name': 'applesauce'}, {'frequency': 'r', 'id': 16, 'synset': 'apricot.n.02', 'synonyms': ['apricot'], 'def': 'downy yellow to rosy-colored fruit resembling a small peach', 'name': 'apricot'}, {'frequency': 'f', 'id': 17, 'synset': 'apron.n.01', 'synonyms': ['apron'], 'def': 'a garment of cloth that is tied about the waist and worn to protect clothing', 'name': 'apron'}, {'frequency': 'c', 'id': 18, 'synset': 'aquarium.n.01', 'synonyms': ['aquarium', 'fish_tank'], 'def': 'a tank/pool/bowl filled with water for keeping live fish and underwater animals', 'name': 'aquarium'}, {'frequency': 'c', 'id': 19, 'synset': 'armband.n.02', 'synonyms': ['armband'], 'def': 'a band worn around the upper arm', 'name': 'armband'}, {'frequency': 'f', 'id': 20, 'synset': 'armchair.n.01', 'synonyms': ['armchair'], 'def': 'chair with a support on each side for arms', 'name': 'armchair'}, {'frequency': 'r', 'id': 21, 'synset': 'armoire.n.01', 'synonyms': ['armoire'], 'def': 'a large wardrobe or cabinet', 'name': 'armoire'}, {'frequency': 'r', 'id': 22, 'synset': 'armor.n.01', 'synonyms': ['armor', 'armour'], 'def': 'protective covering made of metal and used in combat', 'name': 'armor'}, {'frequency': 'c', 'id': 23, 'synset': 'artichoke.n.02', 'synonyms': ['artichoke'], 'def': 'a thistlelike flower head with edible fleshy leaves and heart', 'name': 'artichoke'}, {'frequency': 'f', 'id': 24, 'synset': 'ashcan.n.01', 'synonyms': ['trash_can', 'garbage_can', 'wastebin', 'dustbin', 'trash_barrel', 'trash_bin'], 'def': 'a bin that holds rubbish until it is collected', 'name': 'trash_can'}, {'frequency': 'c', 'id': 25, 'synset': 'ashtray.n.01', 'synonyms': ['ashtray'], 'def': "a receptacle for the ash from smokers' cigars or cigarettes", 'name': 'ashtray'}, {'frequency': 'c', 'id': 26, 'synset': 'asparagus.n.02', 'synonyms': ['asparagus'], 'def': 'edible young shoots of the asparagus plant', 'name': 'asparagus'}, {'frequency': 'c', 'id': 27, 'synset': 'atomizer.n.01', 'synonyms': ['atomizer', 'atomiser', 'spray', 'sprayer', 'nebulizer', 'nebuliser'], 'def': 'a dispenser that turns a liquid (such as perfume) into a fine mist', 'name': 'atomizer'}, {'frequency': 'c', 'id': 28, 'synset': 'avocado.n.01', 'synonyms': ['avocado'], 'def': 'a pear-shaped fruit with green or blackish skin and rich yellowish pulp enclosing a single large seed', 'name': 'avocado'}, {'frequency': 'c', 'id': 29, 'synset': 'award.n.02', 'synonyms': ['award', 'accolade'], 'def': 'a tangible symbol signifying approval or distinction', 'name': 'award'}, {'frequency': 'f', 'id': 30, 'synset': 'awning.n.01', 'synonyms': ['awning'], 'def': 'a canopy made of canvas to shelter people or things from rain or sun', 'name': 'awning'}, {'frequency': 'r', 'id': 31, 'synset': 'ax.n.01', 'synonyms': ['ax', 'axe'], 'def': 'an edge tool with a heavy bladed head mounted across a handle', 'name': 'ax'}, {'frequency': 'f', 'id': 32, 'synset': 'baby_buggy.n.01', 'synonyms': ['baby_buggy', 'baby_carriage', 'perambulator', 'pram', 'stroller'], 'def': 'a small vehicle with four wheels in which a baby or child is pushed around', 'name': 'baby_buggy'}, {'frequency': 'c', 'id': 33, 'synset': 'backboard.n.01', 'synonyms': ['basketball_backboard'], 'def': 'a raised vertical board with basket attached; used to play basketball', 'name': 'basketball_backboard'}, {'frequency': 'f', 'id': 34, 'synset': 'backpack.n.01', 'synonyms': ['backpack', 'knapsack', 'packsack', 'rucksack', 'haversack'], 'def': 'a bag carried by a strap on your back or shoulder', 'name': 'backpack'}, {'frequency': 'f', 'id': 35, 'synset': 'bag.n.04', 'synonyms': ['handbag', 'purse', 'pocketbook'], 'def': 'a container used for carrying money and small personal items or accessories', 'name': 'handbag'}, {'frequency': 'f', 'id': 36, 'synset': 'bag.n.06', 'synonyms': ['suitcase', 'baggage', 'luggage'], 'def': 'cases used to carry belongings when traveling', 'name': 'suitcase'}, {'frequency': 'c', 'id': 37, 'synset': 'bagel.n.01', 'synonyms': ['bagel', 'beigel'], 'def': 'glazed yeast-raised doughnut-shaped roll with hard crust', 'name': 'bagel'}, {'frequency': 'r', 'id': 38, 'synset': 'bagpipe.n.01', 'synonyms': ['bagpipe'], 'def': 'a tubular wind instrument; the player blows air into a bag and squeezes it out', 'name': 'bagpipe'}, {'frequency': 'r', 'id': 39, 'synset': 'baguet.n.01', 'synonyms': ['baguet', 'baguette'], 'def': 'narrow French stick loaf', 'name': 'baguet'}, {'frequency': 'r', 'id': 40, 'synset': 'bait.n.02', 'synonyms': ['bait', 'lure'], 'def': 'something used to lure fish or other animals into danger so they can be trapped or killed', 'name': 'bait'}, {'frequency': 'f', 'id': 41, 'synset': 'ball.n.06', 'synonyms': ['ball'], 'def': 'a spherical object used as a plaything', 'name': 'ball'}, {'frequency': 'r', 'id': 42, 'synset': 'ballet_skirt.n.01', 'synonyms': ['ballet_skirt', 'tutu'], 'def': 'very short skirt worn by ballerinas', 'name': 'ballet_skirt'}, {'frequency': 'f', 'id': 43, 'synset': 'balloon.n.01', 'synonyms': ['balloon'], 'def': 'large tough nonrigid bag filled with gas or heated air', 'name': 'balloon'}, {'frequency': 'c', 'id': 44, 'synset': 'bamboo.n.02', 'synonyms': ['bamboo'], 'def': 'woody tropical grass having hollow woody stems', 'name': 'bamboo'}, {'frequency': 'f', 'id': 45, 'synset': 'banana.n.02', 'synonyms': ['banana'], 'def': 'elongated crescent-shaped yellow fruit with soft sweet flesh', 'name': 'banana'}, {'frequency': 'r', 'id': 46, 'synset': 'band_aid.n.01', 'synonyms': ['Band_Aid'], 'def': 'trade name for an adhesive bandage to cover small cuts or blisters', 'name': 'Band_Aid'}, {'frequency': 'c', 'id': 47, 'synset': 'bandage.n.01', 'synonyms': ['bandage'], 'def': 'a piece of soft material that covers and protects an injured part of the body', 'name': 'bandage'}, {'frequency': 'c', 'id': 48, 'synset': 'bandanna.n.01', 'synonyms': ['bandanna', 'bandana'], 'def': 'large and brightly colored handkerchief; often used as a neckerchief', 'name': 'bandanna'}, {'frequency': 'r', 'id': 49, 'synset': 'banjo.n.01', 'synonyms': ['banjo'], 'def': 'a stringed instrument of the guitar family with a long neck and circular body', 'name': 'banjo'}, {'frequency': 'f', 'id': 50, 'synset': 'banner.n.01', 'synonyms': ['banner', 'streamer'], 'def': 'long strip of cloth or paper used for decoration or advertising', 'name': 'banner'}, {'frequency': 'r', 'id': 51, 'synset': 'barbell.n.01', 'synonyms': ['barbell'], 'def': 'a bar to which heavy discs are attached at each end; used in weightlifting', 'name': 'barbell'}, {'frequency': 'r', 'id': 52, 'synset': 'barge.n.01', 'synonyms': ['barge'], 'def': 'a flatbottom boat for carrying heavy loads (especially on canals)', 'name': 'barge'}, {'frequency': 'f', 'id': 53, 'synset': 'barrel.n.02', 'synonyms': ['barrel', 'cask'], 'def': 'a cylindrical container that holds liquids', 'name': 'barrel'}, {'frequency': 'c', 'id': 54, 'synset': 'barrette.n.01', 'synonyms': ['barrette'], 'def': "a pin for holding women's hair in place", 'name': 'barrette'}, {'frequency': 'c', 'id': 55, 'synset': 'barrow.n.03', 'synonyms': ['barrow', 'garden_cart', 'lawn_cart', 'wheelbarrow'], 'def': 'a cart for carrying small loads; has handles and one or more wheels', 'name': 'barrow'}, {'frequency': 'f', 'id': 56, 'synset': 'base.n.03', 'synonyms': ['baseball_base'], 'def': 'a place that the runner must touch before scoring', 'name': 'baseball_base'}, {'frequency': 'f', 'id': 57, 'synset': 'baseball.n.02', 'synonyms': ['baseball'], 'def': 'a ball used in playing baseball', 'name': 'baseball'}, {'frequency': 'f', 'id': 58, 'synset': 'baseball_bat.n.01', 'synonyms': ['baseball_bat'], 'def': 'an implement used in baseball by the batter', 'name': 'baseball_bat'}, {'frequency': 'f', 'id': 59, 'synset': 'baseball_cap.n.01', 'synonyms': ['baseball_cap', 'jockey_cap', 'golf_cap'], 'def': 'a cap with a bill', 'name': 'baseball_cap'}, {'frequency': 'f', 'id': 60, 'synset': 'baseball_glove.n.01', 'synonyms': ['baseball_glove', 'baseball_mitt'], 'def': 'the handwear used by fielders in playing baseball', 'name': 'baseball_glove'}, {'frequency': 'f', 'id': 61, 'synset': 'basket.n.01', 'synonyms': ['basket', 'handbasket'], 'def': 'a container that is usually woven and has handles', 'name': 'basket'}, {'frequency': 'c', 'id': 62, 'synset': 'basket.n.03', 'synonyms': ['basketball_hoop'], 'def': 'metal hoop supporting a net through which players try to throw the basketball', 'name': 'basketball_hoop'}, {'frequency': 'c', 'id': 63, 'synset': 'basketball.n.02', 'synonyms': ['basketball'], 'def': 'an inflated ball used in playing basketball', 'name': 'basketball'}, {'frequency': 'r', 'id': 64, 'synset': 'bass_horn.n.01', 'synonyms': ['bass_horn', 'sousaphone', 'tuba'], 'def': 'the lowest brass wind instrument', 'name': 'bass_horn'}, {'frequency': 'r', 'id': 65, 'synset': 'bat.n.01', 'synonyms': ['bat_(animal)'], 'def': 'nocturnal mouselike mammal with forelimbs modified to form membranous wings', 'name': 'bat_(animal)'}, {'frequency': 'f', 'id': 66, 'synset': 'bath_mat.n.01', 'synonyms': ['bath_mat'], 'def': 'a heavy towel or mat to stand on while drying yourself after a bath', 'name': 'bath_mat'}, {'frequency': 'f', 'id': 67, 'synset': 'bath_towel.n.01', 'synonyms': ['bath_towel'], 'def': 'a large towel; to dry yourself after a bath', 'name': 'bath_towel'}, {'frequency': 'c', 'id': 68, 'synset': 'bathrobe.n.01', 'synonyms': ['bathrobe'], 'def': 'a loose-fitting robe of towelling; worn after a bath or swim', 'name': 'bathrobe'}, {'frequency': 'f', 'id': 69, 'synset': 'bathtub.n.01', 'synonyms': ['bathtub', 'bathing_tub'], 'def': 'a large open container that you fill with water and use to wash the body', 'name': 'bathtub'}, {'frequency': 'r', 'id': 70, 'synset': 'batter.n.02', 'synonyms': ['batter_(food)'], 'def': 'a liquid or semiliquid mixture, as of flour, eggs, and milk, used in cooking', 'name': 'batter_(food)'}, {'frequency': 'c', 'id': 71, 'synset': 'battery.n.02', 'synonyms': ['battery'], 'def': 'a portable device that produces electricity', 'name': 'battery'}, {'frequency': 'r', 'id': 72, 'synset': 'beach_ball.n.01', 'synonyms': ['beachball'], 'def': 'large and light ball; for play at the seaside', 'name': 'beachball'}, {'frequency': 'c', 'id': 73, 'synset': 'bead.n.01', 'synonyms': ['bead'], 'def': 'a small ball with a hole through the middle used for ornamentation, jewellery, etc.', 'name': 'bead'}, {'frequency': 'r', 'id': 74, 'synset': 'beaker.n.01', 'synonyms': ['beaker'], 'def': 'a flatbottomed jar made of glass or plastic; used for chemistry', 'name': 'beaker'}, {'frequency': 'c', 'id': 75, 'synset': 'bean_curd.n.01', 'synonyms': ['bean_curd', 'tofu'], 'def': 'cheeselike food made of curdled soybean milk', 'name': 'bean_curd'}, {'frequency': 'c', 'id': 76, 'synset': 'beanbag.n.01', 'synonyms': ['beanbag'], 'def': 'a bag filled with dried beans or similar items; used in games or to sit on', 'name': 'beanbag'}, {'frequency': 'f', 'id': 77, 'synset': 'beanie.n.01', 'synonyms': ['beanie', 'beany'], 'def': 'a small skullcap; formerly worn by schoolboys and college freshmen', 'name': 'beanie'}, {'frequency': 'f', 'id': 78, 'synset': 'bear.n.01', 'synonyms': ['bear'], 'def': 'large carnivorous or omnivorous mammals with shaggy coats and claws', 'name': 'bear'}, {'frequency': 'f', 'id': 79, 'synset': 'bed.n.01', 'synonyms': ['bed'], 'def': 'a piece of furniture that provides a place to sleep', 'name': 'bed'}, {'frequency': 'c', 'id': 80, 'synset': 'bedspread.n.01', 'synonyms': ['bedspread', 'bedcover', 'bed_covering', 'counterpane', 'spread'], 'def': 'decorative cover for a bed', 'name': 'bedspread'}, {'frequency': 'f', 'id': 81, 'synset': 'beef.n.01', 'synonyms': ['cow'], 'def': 'cattle that are reared for their meat', 'name': 'cow'}, {'frequency': 'c', 'id': 82, 'synset': 'beef.n.02', 'synonyms': ['beef_(food)', 'boeuf_(food)'], 'def': 'meat from an adult domestic bovine', 'name': 'beef_(food)'}, {'frequency': 'r', 'id': 83, 'synset': 'beeper.n.01', 'synonyms': ['beeper', 'pager'], 'def': 'an device that beeps when the person carrying it is being paged', 'name': 'beeper'}, {'frequency': 'f', 'id': 84, 'synset': 'beer_bottle.n.01', 'synonyms': ['beer_bottle'], 'def': 'a bottle that holds beer', 'name': 'beer_bottle'}, {'frequency': 'c', 'id': 85, 'synset': 'beer_can.n.01', 'synonyms': ['beer_can'], 'def': 'a can that holds beer', 'name': 'beer_can'}, {'frequency': 'r', 'id': 86, 'synset': 'beetle.n.01', 'synonyms': ['beetle'], 'def': 'insect with hard wing covers', 'name': 'beetle'}, {'frequency': 'f', 'id': 87, 'synset': 'bell.n.01', 'synonyms': ['bell'], 'def': 'a hollow device made of metal that makes a ringing sound when struck', 'name': 'bell'}, {'frequency': 'f', 'id': 88, 'synset': 'bell_pepper.n.02', 'synonyms': ['bell_pepper', 'capsicum'], 'def': 'large bell-shaped sweet pepper in green or red or yellow or orange or black varieties', 'name': 'bell_pepper'}, {'frequency': 'f', 'id': 89, 'synset': 'belt.n.02', 'synonyms': ['belt'], 'def': 'a band to tie or buckle around the body (usually at the waist)', 'name': 'belt'}, {'frequency': 'f', 'id': 90, 'synset': 'belt_buckle.n.01', 'synonyms': ['belt_buckle'], 'def': 'the buckle used to fasten a belt', 'name': 'belt_buckle'}, {'frequency': 'f', 'id': 91, 'synset': 'bench.n.01', 'synonyms': ['bench'], 'def': 'a long seat for more than one person', 'name': 'bench'}, {'frequency': 'c', 'id': 92, 'synset': 'beret.n.01', 'synonyms': ['beret'], 'def': 'a cap with no brim or bill; made of soft cloth', 'name': 'beret'}, {'frequency': 'c', 'id': 93, 'synset': 'bib.n.02', 'synonyms': ['bib'], 'def': 'a napkin tied under the chin of a child while eating', 'name': 'bib'}, {'frequency': 'r', 'id': 94, 'synset': 'bible.n.01', 'synonyms': ['Bible'], 'def': 'the sacred writings of the Christian religions', 'name': 'Bible'}, {'frequency': 'f', 'id': 95, 'synset': 'bicycle.n.01', 'synonyms': ['bicycle', 'bike_(bicycle)'], 'def': 'a wheeled vehicle that has two wheels and is moved by foot pedals', 'name': 'bicycle'}, {'frequency': 'f', 'id': 96, 'synset': 'bill.n.09', 'synonyms': ['visor', 'vizor'], 'def': 'a brim that projects to the front to shade the eyes', 'name': 'visor'}, {'frequency': 'c', 'id': 97, 'synset': 'binder.n.03', 'synonyms': ['binder', 'ring-binder'], 'def': 'holds loose papers or magazines', 'name': 'binder'}, {'frequency': 'c', 'id': 98, 'synset': 'binoculars.n.01', 'synonyms': ['binoculars', 'field_glasses', 'opera_glasses'], 'def': 'an optical instrument designed for simultaneous use by both eyes', 'name': 'binoculars'}, {'frequency': 'f', 'id': 99, 'synset': 'bird.n.01', 'synonyms': ['bird'], 'def': 'animal characterized by feathers and wings', 'name': 'bird'}, {'frequency': 'r', 'id': 100, 'synset': 'bird_feeder.n.01', 'synonyms': ['birdfeeder'], 'def': 'an outdoor device that supplies food for wild birds', 'name': 'birdfeeder'}, {'frequency': 'r', 'id': 101, 'synset': 'birdbath.n.01', 'synonyms': ['birdbath'], 'def': 'an ornamental basin (usually in a garden) for birds to bathe in', 'name': 'birdbath'}, {'frequency': 'c', 'id': 102, 'synset': 'birdcage.n.01', 'synonyms': ['birdcage'], 'def': 'a cage in which a bird can be kept', 'name': 'birdcage'}, {'frequency': 'c', 'id': 103, 'synset': 'birdhouse.n.01', 'synonyms': ['birdhouse'], 'def': 'a shelter for birds', 'name': 'birdhouse'}, {'frequency': 'f', 'id': 104, 'synset': 'birthday_cake.n.01', 'synonyms': ['birthday_cake'], 'def': 'decorated cake served at a birthday party', 'name': 'birthday_cake'}, {'frequency': 'r', 'id': 105, 'synset': 'birthday_card.n.01', 'synonyms': ['birthday_card'], 'def': 'a card expressing a birthday greeting', 'name': 'birthday_card'}, {'frequency': 'r', 'id': 106, 'synset': 'biscuit.n.01', 'synonyms': ['biscuit_(bread)'], 'def': 'small round bread leavened with baking-powder or soda', 'name': 'biscuit_(bread)'}, {'frequency': 'r', 'id': 107, 'synset': 'black_flag.n.01', 'synonyms': ['pirate_flag'], 'def': 'a flag usually bearing a white skull and crossbones on a black background', 'name': 'pirate_flag'}, {'frequency': 'c', 'id': 108, 'synset': 'black_sheep.n.02', 'synonyms': ['black_sheep'], 'def': 'sheep with a black coat', 'name': 'black_sheep'}, {'frequency': 'c', 'id': 109, 'synset': 'blackboard.n.01', 'synonyms': ['blackboard', 'chalkboard'], 'def': 'sheet of slate; for writing with chalk', 'name': 'blackboard'}, {'frequency': 'f', 'id': 110, 'synset': 'blanket.n.01', 'synonyms': ['blanket'], 'def': 'bedding that keeps a person warm in bed', 'name': 'blanket'}, {'frequency': 'c', 'id': 111, 'synset': 'blazer.n.01', 'synonyms': ['blazer', 'sport_jacket', 'sport_coat', 'sports_jacket', 'sports_coat'], 'def': 'lightweight jacket; often striped in the colors of a club or school', 'name': 'blazer'}, {'frequency': 'f', 'id': 112, 'synset': 'blender.n.01', 'synonyms': ['blender', 'liquidizer', 'liquidiser'], 'def': 'an electrically powered mixer that mix or chop or liquefy foods', 'name': 'blender'}, {'frequency': 'r', 'id': 113, 'synset': 'blimp.n.02', 'synonyms': ['blimp'], 'def': 'a small nonrigid airship used for observation or as a barrage balloon', 'name': 'blimp'}, {'frequency': 'c', 'id': 114, 'synset': 'blinker.n.01', 'synonyms': ['blinker', 'flasher'], 'def': 'a light that flashes on and off; used as a signal or to send messages', 'name': 'blinker'}, {'frequency': 'c', 'id': 115, 'synset': 'blueberry.n.02', 'synonyms': ['blueberry'], 'def': 'sweet edible dark-blue berries of blueberry plants', 'name': 'blueberry'}, {'frequency': 'r', 'id': 116, 'synset': 'boar.n.02', 'synonyms': ['boar'], 'def': 'an uncastrated male hog', 'name': 'boar'}, {'frequency': 'r', 'id': 117, 'synset': 'board.n.09', 'synonyms': ['gameboard'], 'def': 'a flat portable surface (usually rectangular) designed for board games', 'name': 'gameboard'}, {'frequency': 'f', 'id': 118, 'synset': 'boat.n.01', 'synonyms': ['boat', 'ship_(boat)'], 'def': 'a vessel for travel on water', 'name': 'boat'}, {'frequency': 'c', 'id': 119, 'synset': 'bobbin.n.01', 'synonyms': ['bobbin', 'spool', 'reel'], 'def': 'a thing around which thread/tape/film or other flexible materials can be wound', 'name': 'bobbin'}, {'frequency': 'r', 'id': 120, 'synset': 'bobby_pin.n.01', 'synonyms': ['bobby_pin', 'hairgrip'], 'def': 'a flat wire hairpin used to hold bobbed hair in place', 'name': 'bobby_pin'}, {'frequency': 'c', 'id': 121, 'synset': 'boiled_egg.n.01', 'synonyms': ['boiled_egg', 'coddled_egg'], 'def': 'egg cooked briefly in the shell in gently boiling water', 'name': 'boiled_egg'}, {'frequency': 'r', 'id': 122, 'synset': 'bolo_tie.n.01', 'synonyms': ['bolo_tie', 'bolo', 'bola_tie', 'bola'], 'def': 'a cord fastened around the neck with an ornamental clasp and worn as a necktie', 'name': 'bolo_tie'}, {'frequency': 'c', 'id': 123, 'synset': 'bolt.n.03', 'synonyms': ['deadbolt'], 'def': 'the part of a lock that is engaged or withdrawn with a key', 'name': 'deadbolt'}, {'frequency': 'f', 'id': 124, 'synset': 'bolt.n.06', 'synonyms': ['bolt'], 'def': 'a screw that screws into a nut to form a fastener', 'name': 'bolt'}, {'frequency': 'r', 'id': 125, 'synset': 'bonnet.n.01', 'synonyms': ['bonnet'], 'def': 'a hat tied under the chin', 'name': 'bonnet'}, {'frequency': 'f', 'id': 126, 'synset': 'book.n.01', 'synonyms': ['book'], 'def': 'a written work or composition that has been published', 'name': 'book'}, {'frequency': 'r', 'id': 127, 'synset': 'book_bag.n.01', 'synonyms': ['book_bag'], 'def': 'a bag in which students carry their books', 'name': 'book_bag'}, {'frequency': 'c', 'id': 128, 'synset': 'bookcase.n.01', 'synonyms': ['bookcase'], 'def': 'a piece of furniture with shelves for storing books', 'name': 'bookcase'}, {'frequency': 'c', 'id': 129, 'synset': 'booklet.n.01', 'synonyms': ['booklet', 'brochure', 'leaflet', 'pamphlet'], 'def': 'a small book usually having a paper cover', 'name': 'booklet'}, {'frequency': 'r', 'id': 130, 'synset': 'bookmark.n.01', 'synonyms': ['bookmark', 'bookmarker'], 'def': 'a marker (a piece of paper or ribbon) placed between the pages of a book', 'name': 'bookmark'}, {'frequency': 'r', 'id': 131, 'synset': 'boom.n.04', 'synonyms': ['boom_microphone', 'microphone_boom'], 'def': 'a pole carrying an overhead microphone projected over a film or tv set', 'name': 'boom_microphone'}, {'frequency': 'f', 'id': 132, 'synset': 'boot.n.01', 'synonyms': ['boot'], 'def': 'footwear that covers the whole foot and lower leg', 'name': 'boot'}, {'frequency': 'f', 'id': 133, 'synset': 'bottle.n.01', 'synonyms': ['bottle'], 'def': 'a glass or plastic vessel used for storing drinks or other liquids', 'name': 'bottle'}, {'frequency': 'c', 'id': 134, 'synset': 'bottle_opener.n.01', 'synonyms': ['bottle_opener'], 'def': 'an opener for removing caps or corks from bottles', 'name': 'bottle_opener'}, {'frequency': 'c', 'id': 135, 'synset': 'bouquet.n.01', 'synonyms': ['bouquet'], 'def': 'an arrangement of flowers that is usually given as a present', 'name': 'bouquet'}, {'frequency': 'r', 'id': 136, 'synset': 'bow.n.04', 'synonyms': ['bow_(weapon)'], 'def': 'a weapon for shooting arrows', 'name': 'bow_(weapon)'}, {'frequency': 'f', 'id': 137, 'synset': 'bow.n.08', 'synonyms': ['bow_(decorative_ribbons)'], 'def': 'a decorative interlacing of ribbons', 'name': 'bow_(decorative_ribbons)'}, {'frequency': 'f', 'id': 138, 'synset': 'bow_tie.n.01', 'synonyms': ['bow-tie', 'bowtie'], 'def': "a man's tie that ties in a bow", 'name': 'bow-tie'}, {'frequency': 'f', 'id': 139, 'synset': 'bowl.n.03', 'synonyms': ['bowl'], 'def': 'a dish that is round and open at the top for serving foods', 'name': 'bowl'}, {'frequency': 'r', 'id': 140, 'synset': 'bowl.n.08', 'synonyms': ['pipe_bowl'], 'def': 'a small round container that is open at the top for holding tobacco', 'name': 'pipe_bowl'}, {'frequency': 'c', 'id': 141, 'synset': 'bowler_hat.n.01', 'synonyms': ['bowler_hat', 'bowler', 'derby_hat', 'derby', 'plug_hat'], 'def': 'a felt hat that is round and hard with a narrow brim', 'name': 'bowler_hat'}, {'frequency': 'r', 'id': 142, 'synset': 'bowling_ball.n.01', 'synonyms': ['bowling_ball'], 'def': 'a large ball with finger holes used in the sport of bowling', 'name': 'bowling_ball'}, {'frequency': 'r', 'id': 143, 'synset': 'bowling_pin.n.01', 'synonyms': ['bowling_pin'], 'def': 'a club-shaped wooden object used in bowling', 'name': 'bowling_pin'}, {'frequency': 'r', 'id': 144, 'synset': 'boxing_glove.n.01', 'synonyms': ['boxing_glove'], 'def': 'large glove coverings the fists of a fighter worn for the sport of boxing', 'name': 'boxing_glove'}, {'frequency': 'c', 'id': 145, 'synset': 'brace.n.06', 'synonyms': ['suspenders'], 'def': 'elastic straps that hold trousers up (usually used in the plural)', 'name': 'suspenders'}, {'frequency': 'f', 'id': 146, 'synset': 'bracelet.n.02', 'synonyms': ['bracelet', 'bangle'], 'def': 'jewelry worn around the wrist for decoration', 'name': 'bracelet'}, {'frequency': 'r', 'id': 147, 'synset': 'brass.n.07', 'synonyms': ['brass_plaque'], 'def': 'a memorial made of brass', 'name': 'brass_plaque'}, {'frequency': 'c', 'id': 148, 'synset': 'brassiere.n.01', 'synonyms': ['brassiere', 'bra', 'bandeau'], 'def': 'an undergarment worn by women to support their breasts', 'name': 'brassiere'}, {'frequency': 'c', 'id': 149, 'synset': 'bread-bin.n.01', 'synonyms': ['bread-bin', 'breadbox'], 'def': 'a container used to keep bread or cake in', 'name': 'bread-bin'}, {'frequency': 'r', 'id': 150, 'synset': 'breechcloth.n.01', 'synonyms': ['breechcloth', 'breechclout', 'loincloth'], 'def': 'a garment that provides covering for the loins', 'name': 'breechcloth'}, {'frequency': 'c', 'id': 151, 'synset': 'bridal_gown.n.01', 'synonyms': ['bridal_gown', 'wedding_gown', 'wedding_dress'], 'def': 'a gown worn by the bride at a wedding', 'name': 'bridal_gown'}, {'frequency': 'c', 'id': 152, 'synset': 'briefcase.n.01', 'synonyms': ['briefcase'], 'def': 'a case with a handle; for carrying papers or files or books', 'name': 'briefcase'}, {'frequency': 'c', 'id': 153, 'synset': 'bristle_brush.n.01', 'synonyms': ['bristle_brush'], 'def': 'a brush that is made with the short stiff hairs of an animal or plant', 'name': 'bristle_brush'}, {'frequency': 'f', 'id': 154, 'synset': 'broccoli.n.01', 'synonyms': ['broccoli'], 'def': 'plant with dense clusters of tight green flower buds', 'name': 'broccoli'}, {'frequency': 'r', 'id': 155, 'synset': 'brooch.n.01', 'synonyms': ['broach'], 'def': 'a decorative pin worn by women', 'name': 'broach'}, {'frequency': 'c', 'id': 156, 'synset': 'broom.n.01', 'synonyms': ['broom'], 'def': 'bundle of straws or twigs attached to a long handle; used for cleaning', 'name': 'broom'}, {'frequency': 'c', 'id': 157, 'synset': 'brownie.n.03', 'synonyms': ['brownie'], 'def': 'square or bar of very rich chocolate cake usually with nuts', 'name': 'brownie'}, {'frequency': 'c', 'id': 158, 'synset': 'brussels_sprouts.n.01', 'synonyms': ['brussels_sprouts'], 'def': 'the small edible cabbage-like buds growing along a stalk', 'name': 'brussels_sprouts'}, {'frequency': 'r', 'id': 159, 'synset': 'bubble_gum.n.01', 'synonyms': ['bubble_gum'], 'def': 'a kind of chewing gum that can be blown into bubbles', 'name': 'bubble_gum'}, {'frequency': 'f', 'id': 160, 'synset': 'bucket.n.01', 'synonyms': ['bucket', 'pail'], 'def': 'a roughly cylindrical vessel that is open at the top', 'name': 'bucket'}, {'frequency': 'r', 'id': 161, 'synset': 'buggy.n.01', 'synonyms': ['horse_buggy'], 'def': 'a small lightweight carriage; drawn by a single horse', 'name': 'horse_buggy'}, {'frequency': 'c', 'id': 162, 'synset': 'bull.n.11', 'synonyms': ['bull'], 'def': 'mature male cow', 'name': 'bull'}, {'frequency': 'r', 'id': 163, 'synset': 'bulldog.n.01', 'synonyms': ['bulldog'], 'def': 'a thickset short-haired dog with a large head and strong undershot lower jaw', 'name': 'bulldog'}, {'frequency': 'r', 'id': 164, 'synset': 'bulldozer.n.01', 'synonyms': ['bulldozer', 'dozer'], 'def': 'large powerful tractor; a large blade in front flattens areas of ground', 'name': 'bulldozer'}, {'frequency': 'c', 'id': 165, 'synset': 'bullet_train.n.01', 'synonyms': ['bullet_train'], 'def': 'a high-speed passenger train', 'name': 'bullet_train'}, {'frequency': 'c', 'id': 166, 'synset': 'bulletin_board.n.02', 'synonyms': ['bulletin_board', 'notice_board'], 'def': 'a board that hangs on a wall; displays announcements', 'name': 'bulletin_board'}, {'frequency': 'r', 'id': 167, 'synset': 'bulletproof_vest.n.01', 'synonyms': ['bulletproof_vest'], 'def': 'a vest capable of resisting the impact of a bullet', 'name': 'bulletproof_vest'}, {'frequency': 'c', 'id': 168, 'synset': 'bullhorn.n.01', 'synonyms': ['bullhorn', 'megaphone'], 'def': 'a portable loudspeaker with built-in microphone and amplifier', 'name': 'bullhorn'}, {'frequency': 'r', 'id': 169, 'synset': 'bully_beef.n.01', 'synonyms': ['corned_beef', 'corn_beef'], 'def': 'beef cured or pickled in brine', 'name': 'corned_beef'}, {'frequency': 'f', 'id': 170, 'synset': 'bun.n.01', 'synonyms': ['bun', 'roll'], 'def': 'small rounded bread either plain or sweet', 'name': 'bun'}, {'frequency': 'c', 'id': 171, 'synset': 'bunk_bed.n.01', 'synonyms': ['bunk_bed'], 'def': 'beds built one above the other', 'name': 'bunk_bed'}, {'frequency': 'f', 'id': 172, 'synset': 'buoy.n.01', 'synonyms': ['buoy'], 'def': 'a float attached by rope to the seabed to mark channels in a harbor or underwater hazards', 'name': 'buoy'}, {'frequency': 'r', 'id': 173, 'synset': 'burrito.n.01', 'synonyms': ['burrito'], 'def': 'a flour tortilla folded around a filling', 'name': 'burrito'}, {'frequency': 'f', 'id': 174, 'synset': 'bus.n.01', 'synonyms': ['bus_(vehicle)', 'autobus', 'charabanc', 'double-decker', 'motorbus', 'motorcoach'], 'def': 'a vehicle carrying many passengers; used for public transport', 'name': 'bus_(vehicle)'}, {'frequency': 'c', 'id': 175, 'synset': 'business_card.n.01', 'synonyms': ['business_card'], 'def': "a card on which are printed the person's name and business affiliation", 'name': 'business_card'}, {'frequency': 'c', 'id': 176, 'synset': 'butcher_knife.n.01', 'synonyms': ['butcher_knife'], 'def': 'a large sharp knife for cutting or trimming meat', 'name': 'butcher_knife'}, {'frequency': 'c', 'id': 177, 'synset': 'butter.n.01', 'synonyms': ['butter'], 'def': 'an edible emulsion of fat globules made by churning milk or cream; for cooking and table use', 'name': 'butter'}, {'frequency': 'c', 'id': 178, 'synset': 'butterfly.n.01', 'synonyms': ['butterfly'], 'def': 'insect typically having a slender body with knobbed antennae and broad colorful wings', 'name': 'butterfly'}, {'frequency': 'f', 'id': 179, 'synset': 'button.n.01', 'synonyms': ['button'], 'def': 'a round fastener sewn to shirts and coats etc to fit through buttonholes', 'name': 'button'}, {'frequency': 'f', 'id': 180, 'synset': 'cab.n.03', 'synonyms': ['cab_(taxi)', 'taxi', 'taxicab'], 'def': 'a car that takes passengers where they want to go in exchange for money', 'name': 'cab_(taxi)'}, {'frequency': 'r', 'id': 181, 'synset': 'cabana.n.01', 'synonyms': ['cabana'], 'def': 'a small tent used as a dressing room beside the sea or a swimming pool', 'name': 'cabana'}, {'frequency': 'r', 'id': 182, 'synset': 'cabin_car.n.01', 'synonyms': ['cabin_car', 'caboose'], 'def': 'a car on a freight train for use of the train crew; usually the last car on the train', 'name': 'cabin_car'}, {'frequency': 'f', 'id': 183, 'synset': 'cabinet.n.01', 'synonyms': ['cabinet'], 'def': 'a piece of furniture resembling a cupboard with doors and shelves and drawers', 'name': 'cabinet'}, {'frequency': 'r', 'id': 184, 'synset': 'cabinet.n.03', 'synonyms': ['locker', 'storage_locker'], 'def': 'a storage compartment for clothes and valuables; usually it has a lock', 'name': 'locker'}, {'frequency': 'f', 'id': 185, 'synset': 'cake.n.03', 'synonyms': ['cake'], 'def': 'baked goods made from or based on a mixture of flour, sugar, eggs, and fat', 'name': 'cake'}, {'frequency': 'c', 'id': 186, 'synset': 'calculator.n.02', 'synonyms': ['calculator'], 'def': 'a small machine that is used for mathematical calculations', 'name': 'calculator'}, {'frequency': 'f', 'id': 187, 'synset': 'calendar.n.02', 'synonyms': ['calendar'], 'def': 'a list or register of events (appointments/social events/court cases, etc)', 'name': 'calendar'}, {'frequency': 'c', 'id': 188, 'synset': 'calf.n.01', 'synonyms': ['calf'], 'def': 'young of domestic cattle', 'name': 'calf'}, {'frequency': 'c', 'id': 189, 'synset': 'camcorder.n.01', 'synonyms': ['camcorder'], 'def': 'a portable television camera and videocassette recorder', 'name': 'camcorder'}, {'frequency': 'c', 'id': 190, 'synset': 'camel.n.01', 'synonyms': ['camel'], 'def': 'cud-chewing mammal used as a draft or saddle animal in desert regions', 'name': 'camel'}, {'frequency': 'f', 'id': 191, 'synset': 'camera.n.01', 'synonyms': ['camera'], 'def': 'equipment for taking photographs', 'name': 'camera'}, {'frequency': 'c', 'id': 192, 'synset': 'camera_lens.n.01', 'synonyms': ['camera_lens'], 'def': 'a lens that focuses the image in a camera', 'name': 'camera_lens'}, {'frequency': 'c', 'id': 193, 'synset': 'camper.n.02', 'synonyms': ['camper_(vehicle)', 'camping_bus', 'motor_home'], 'def': 'a recreational vehicle equipped for camping out while traveling', 'name': 'camper_(vehicle)'}, {'frequency': 'f', 'id': 194, 'synset': 'can.n.01', 'synonyms': ['can', 'tin_can'], 'def': 'airtight sealed metal container for food or drink or paint etc.', 'name': 'can'}, {'frequency': 'c', 'id': 195, 'synset': 'can_opener.n.01', 'synonyms': ['can_opener', 'tin_opener'], 'def': 'a device for cutting cans open', 'name': 'can_opener'}, {'frequency': 'r', 'id': 196, 'synset': 'candelabrum.n.01', 'synonyms': ['candelabrum', 'candelabra'], 'def': 'branched candlestick; ornamental; has several lights', 'name': 'candelabrum'}, {'frequency': 'f', 'id': 197, 'synset': 'candle.n.01', 'synonyms': ['candle', 'candlestick'], 'def': 'stick of wax with a wick in the middle', 'name': 'candle'}, {'frequency': 'f', 'id': 198, 'synset': 'candlestick.n.01', 'synonyms': ['candle_holder'], 'def': 'a holder with sockets for candles', 'name': 'candle_holder'}, {'frequency': 'r', 'id': 199, 'synset': 'candy_bar.n.01', 'synonyms': ['candy_bar'], 'def': 'a candy shaped as a bar', 'name': 'candy_bar'}, {'frequency': 'c', 'id': 200, 'synset': 'candy_cane.n.01', 'synonyms': ['candy_cane'], 'def': 'a hard candy in the shape of a rod (usually with stripes)', 'name': 'candy_cane'}, {'frequency': 'c', 'id': 201, 'synset': 'cane.n.01', 'synonyms': ['walking_cane'], 'def': 'a stick that people can lean on to help them walk', 'name': 'walking_cane'}, {'frequency': 'c', 'id': 202, 'synset': 'canister.n.02', 'synonyms': ['canister', 'cannister'], 'def': 'metal container for storing dry foods such as tea or flour', 'name': 'canister'}, {'frequency': 'r', 'id': 203, 'synset': 'cannon.n.02', 'synonyms': ['cannon'], 'def': 'heavy gun fired from a tank', 'name': 'cannon'}, {'frequency': 'c', 'id': 204, 'synset': 'canoe.n.01', 'synonyms': ['canoe'], 'def': 'small and light boat; pointed at both ends; propelled with a paddle', 'name': 'canoe'}, {'frequency': 'r', 'id': 205, 'synset': 'cantaloup.n.02', 'synonyms': ['cantaloup', 'cantaloupe'], 'def': 'the fruit of a cantaloup vine; small to medium-sized melon with yellowish flesh', 'name': 'cantaloup'}, {'frequency': 'r', 'id': 206, 'synset': 'canteen.n.01', 'synonyms': ['canteen'], 'def': 'a flask for carrying water; used by soldiers or travelers', 'name': 'canteen'}, {'frequency': 'c', 'id': 207, 'synset': 'cap.n.01', 'synonyms': ['cap_(headwear)'], 'def': 'a tight-fitting headwear', 'name': 'cap_(headwear)'}, {'frequency': 'f', 'id': 208, 'synset': 'cap.n.02', 'synonyms': ['bottle_cap', 'cap_(container_lid)'], 'def': 'a top (as for a bottle)', 'name': 'bottle_cap'}, {'frequency': 'r', 'id': 209, 'synset': 'cape.n.02', 'synonyms': ['cape'], 'def': 'a sleeveless garment like a cloak but shorter', 'name': 'cape'}, {'frequency': 'c', 'id': 210, 'synset': 'cappuccino.n.01', 'synonyms': ['cappuccino', 'coffee_cappuccino'], 'def': 'equal parts of espresso and steamed milk', 'name': 'cappuccino'}, {'frequency': 'f', 'id': 211, 'synset': 'car.n.01', 'synonyms': ['car_(automobile)', 'auto_(automobile)', 'automobile'], 'def': 'a motor vehicle with four wheels', 'name': 'car_(automobile)'}, {'frequency': 'f', 'id': 212, 'synset': 'car.n.02', 'synonyms': ['railcar_(part_of_a_train)', 'railway_car_(part_of_a_train)', 'railroad_car_(part_of_a_train)'], 'def': 'a wheeled vehicle adapted to the rails of railroad', 'name': 'railcar_(part_of_a_train)'}, {'frequency': 'r', 'id': 213, 'synset': 'car.n.04', 'synonyms': ['elevator_car'], 'def': 'where passengers ride up and down', 'name': 'elevator_car'}, {'frequency': 'r', 'id': 214, 'synset': 'car_battery.n.01', 'synonyms': ['car_battery', 'automobile_battery'], 'def': 'a battery in a motor vehicle', 'name': 'car_battery'}, {'frequency': 'c', 'id': 215, 'synset': 'card.n.02', 'synonyms': ['identity_card'], 'def': 'a card certifying the identity of the bearer', 'name': 'identity_card'}, {'frequency': 'c', 'id': 216, 'synset': 'card.n.03', 'synonyms': ['card'], 'def': 'a rectangular piece of paper used to send messages (e.g. greetings or pictures)', 'name': 'card'}, {'frequency': 'r', 'id': 217, 'synset': 'cardigan.n.01', 'synonyms': ['cardigan'], 'def': 'knitted jacket that is fastened up the front with buttons or a zipper', 'name': 'cardigan'}, {'frequency': 'r', 'id': 218, 'synset': 'cargo_ship.n.01', 'synonyms': ['cargo_ship', 'cargo_vessel'], 'def': 'a ship designed to carry cargo', 'name': 'cargo_ship'}, {'frequency': 'r', 'id': 219, 'synset': 'carnation.n.01', 'synonyms': ['carnation'], 'def': 'plant with pink to purple-red spice-scented usually double flowers', 'name': 'carnation'}, {'frequency': 'c', 'id': 220, 'synset': 'carriage.n.02', 'synonyms': ['horse_carriage'], 'def': 'a vehicle with wheels drawn by one or more horses', 'name': 'horse_carriage'}, {'frequency': 'f', 'id': 221, 'synset': 'carrot.n.01', 'synonyms': ['carrot'], 'def': 'deep orange edible root of the cultivated carrot plant', 'name': 'carrot'}, {'frequency': 'c', 'id': 222, 'synset': 'carryall.n.01', 'synonyms': ['tote_bag'], 'def': 'a capacious bag or basket', 'name': 'tote_bag'}, {'frequency': 'c', 'id': 223, 'synset': 'cart.n.01', 'synonyms': ['cart'], 'def': 'a heavy open wagon usually having two wheels and drawn by an animal', 'name': 'cart'}, {'frequency': 'c', 'id': 224, 'synset': 'carton.n.02', 'synonyms': ['carton'], 'def': 'a box made of cardboard; opens by flaps on top', 'name': 'carton'}, {'frequency': 'c', 'id': 225, 'synset': 'cash_register.n.01', 'synonyms': ['cash_register', 'register_(for_cash_transactions)'], 'def': 'a cashbox with an adding machine to register transactions', 'name': 'cash_register'}, {'frequency': 'r', 'id': 226, 'synset': 'casserole.n.01', 'synonyms': ['casserole'], 'def': 'food cooked and served in a casserole', 'name': 'casserole'}, {'frequency': 'r', 'id': 227, 'synset': 'cassette.n.01', 'synonyms': ['cassette'], 'def': 'a container that holds a magnetic tape used for recording or playing sound or video', 'name': 'cassette'}, {'frequency': 'c', 'id': 228, 'synset': 'cast.n.05', 'synonyms': ['cast', 'plaster_cast', 'plaster_bandage'], 'def': 'bandage consisting of a firm covering that immobilizes broken bones while they heal', 'name': 'cast'}, {'frequency': 'f', 'id': 229, 'synset': 'cat.n.01', 'synonyms': ['cat'], 'def': 'a domestic house cat', 'name': 'cat'}, {'frequency': 'c', 'id': 230, 'synset': 'cauliflower.n.02', 'synonyms': ['cauliflower'], 'def': 'edible compact head of white undeveloped flowers', 'name': 'cauliflower'}, {'frequency': 'r', 'id': 231, 'synset': 'caviar.n.01', 'synonyms': ['caviar', 'caviare'], 'def': "salted roe of sturgeon or other large fish; usually served as an hors d'oeuvre", 'name': 'caviar'}, {'frequency': 'c', 'id': 232, 'synset': 'cayenne.n.02', 'synonyms': ['cayenne_(spice)', 'cayenne_pepper_(spice)', 'red_pepper_(spice)'], 'def': 'ground pods and seeds of pungent red peppers of the genus Capsicum', 'name': 'cayenne_(spice)'}, {'frequency': 'c', 'id': 233, 'synset': 'cd_player.n.01', 'synonyms': ['CD_player'], 'def': 'electronic equipment for playing compact discs (CDs)', 'name': 'CD_player'}, {'frequency': 'c', 'id': 234, 'synset': 'celery.n.01', 'synonyms': ['celery'], 'def': 'widely cultivated herb with aromatic leaf stalks that are eaten raw or cooked', 'name': 'celery'}, {'frequency': 'f', 'id': 235, 'synset': 'cellular_telephone.n.01', 'synonyms': ['cellular_telephone', 'cellular_phone', 'cellphone', 'mobile_phone', 'smart_phone'], 'def': 'a hand-held mobile telephone', 'name': 'cellular_telephone'}, {'frequency': 'r', 'id': 236, 'synset': 'chain_mail.n.01', 'synonyms': ['chain_mail', 'ring_mail', 'chain_armor', 'chain_armour', 'ring_armor', 'ring_armour'], 'def': '(Middle Ages) flexible armor made of interlinked metal rings', 'name': 'chain_mail'}, {'frequency': 'f', 'id': 237, 'synset': 'chair.n.01', 'synonyms': ['chair'], 'def': 'a seat for one person, with a support for the back', 'name': 'chair'}, {'frequency': 'r', 'id': 238, 'synset': 'chaise_longue.n.01', 'synonyms': ['chaise_longue', 'chaise', 'daybed'], 'def': 'a long chair; for reclining', 'name': 'chaise_longue'}, {'frequency': 'r', 'id': 239, 'synset': 'champagne.n.01', 'synonyms': ['champagne'], 'def': 'a white sparkling wine produced in Champagne or resembling that produced there', 'name': 'champagne'}, {'frequency': 'f', 'id': 240, 'synset': 'chandelier.n.01', 'synonyms': ['chandelier'], 'def': 'branched lighting fixture; often ornate; hangs from the ceiling', 'name': 'chandelier'}, {'frequency': 'r', 'id': 241, 'synset': 'chap.n.04', 'synonyms': ['chap'], 'def': 'leather leggings without a seat; worn over trousers by cowboys to protect their legs', 'name': 'chap'}, {'frequency': 'r', 'id': 242, 'synset': 'checkbook.n.01', 'synonyms': ['checkbook', 'chequebook'], 'def': 'a book issued to holders of checking accounts', 'name': 'checkbook'}, {'frequency': 'r', 'id': 243, 'synset': 'checkerboard.n.01', 'synonyms': ['checkerboard'], 'def': 'a board having 64 squares of two alternating colors', 'name': 'checkerboard'}, {'frequency': 'c', 'id': 244, 'synset': 'cherry.n.03', 'synonyms': ['cherry'], 'def': 'a red fruit with a single hard stone', 'name': 'cherry'}, {'frequency': 'r', 'id': 245, 'synset': 'chessboard.n.01', 'synonyms': ['chessboard'], 'def': 'a checkerboard used to play chess', 'name': 'chessboard'}, {'frequency': 'r', 'id': 246, 'synset': 'chest_of_drawers.n.01', 'synonyms': ['chest_of_drawers_(furniture)', 'bureau_(furniture)', 'chest_(furniture)'], 'def': 'furniture with drawers for keeping clothes', 'name': 'chest_of_drawers_(furniture)'}, {'frequency': 'c', 'id': 247, 'synset': 'chicken.n.02', 'synonyms': ['chicken_(animal)'], 'def': 'a domestic fowl bred for flesh or eggs', 'name': 'chicken_(animal)'}, {'frequency': 'c', 'id': 248, 'synset': 'chicken_wire.n.01', 'synonyms': ['chicken_wire'], 'def': 'a galvanized wire network with a hexagonal mesh; used to build fences', 'name': 'chicken_wire'}, {'frequency': 'r', 'id': 249, 'synset': 'chickpea.n.01', 'synonyms': ['chickpea', 'garbanzo'], 'def': 'the seed of the chickpea plant; usually dried', 'name': 'chickpea'}, {'frequency': 'r', 'id': 250, 'synset': 'chihuahua.n.03', 'synonyms': ['Chihuahua'], 'def': 'an old breed of tiny short-haired dog with protruding eyes from Mexico', 'name': 'Chihuahua'}, {'frequency': 'r', 'id': 251, 'synset': 'chili.n.02', 'synonyms': ['chili_(vegetable)', 'chili_pepper_(vegetable)', 'chilli_(vegetable)', 'chilly_(vegetable)', 'chile_(vegetable)'], 'def': 'very hot and finely tapering pepper of special pungency', 'name': 'chili_(vegetable)'}, {'frequency': 'r', 'id': 252, 'synset': 'chime.n.01', 'synonyms': ['chime', 'gong'], 'def': 'an instrument consisting of a set of bells that are struck with a hammer', 'name': 'chime'}, {'frequency': 'r', 'id': 253, 'synset': 'chinaware.n.01', 'synonyms': ['chinaware'], 'def': 'dishware made of high quality porcelain', 'name': 'chinaware'}, {'frequency': 'c', 'id': 254, 'synset': 'chip.n.04', 'synonyms': ['crisp_(potato_chip)', 'potato_chip'], 'def': 'a thin crisp slice of potato fried in deep fat', 'name': 'crisp_(potato_chip)'}, {'frequency': 'r', 'id': 255, 'synset': 'chip.n.06', 'synonyms': ['poker_chip'], 'def': 'a small disk-shaped counter used to represent money when gambling', 'name': 'poker_chip'}, {'frequency': 'c', 'id': 256, 'synset': 'chocolate_bar.n.01', 'synonyms': ['chocolate_bar'], 'def': 'a bar of chocolate candy', 'name': 'chocolate_bar'}, {'frequency': 'c', 'id': 257, 'synset': 'chocolate_cake.n.01', 'synonyms': ['chocolate_cake'], 'def': 'cake containing chocolate', 'name': 'chocolate_cake'}, {'frequency': 'r', 'id': 258, 'synset': 'chocolate_milk.n.01', 'synonyms': ['chocolate_milk'], 'def': 'milk flavored with chocolate syrup', 'name': 'chocolate_milk'}, {'frequency': 'r', 'id': 259, 'synset': 'chocolate_mousse.n.01', 'synonyms': ['chocolate_mousse'], 'def': 'dessert mousse made with chocolate', 'name': 'chocolate_mousse'}, {'frequency': 'f', 'id': 260, 'synset': 'choker.n.03', 'synonyms': ['choker', 'collar', 'neckband'], 'def': 'necklace that fits tightly around the neck', 'name': 'choker'}, {'frequency': 'f', 'id': 261, 'synset': 'chopping_board.n.01', 'synonyms': ['chopping_board', 'cutting_board', 'chopping_block'], 'def': 'a wooden board where meats or vegetables can be cut', 'name': 'chopping_board'}, {'frequency': 'c', 'id': 262, 'synset': 'chopstick.n.01', 'synonyms': ['chopstick'], 'def': 'one of a pair of slender sticks used as oriental tableware to eat food with', 'name': 'chopstick'}, {'frequency': 'f', 'id': 263, 'synset': 'christmas_tree.n.05', 'synonyms': ['Christmas_tree'], 'def': 'an ornamented evergreen used as a Christmas decoration', 'name': 'Christmas_tree'}, {'frequency': 'c', 'id': 264, 'synset': 'chute.n.02', 'synonyms': ['slide'], 'def': 'sloping channel through which things can descend', 'name': 'slide'}, {'frequency': 'r', 'id': 265, 'synset': 'cider.n.01', 'synonyms': ['cider', 'cyder'], 'def': 'a beverage made from juice pressed from apples', 'name': 'cider'}, {'frequency': 'r', 'id': 266, 'synset': 'cigar_box.n.01', 'synonyms': ['cigar_box'], 'def': 'a box for holding cigars', 'name': 'cigar_box'}, {'frequency': 'c', 'id': 267, 'synset': 'cigarette.n.01', 'synonyms': ['cigarette'], 'def': 'finely ground tobacco wrapped in paper; for smoking', 'name': 'cigarette'}, {'frequency': 'c', 'id': 268, 'synset': 'cigarette_case.n.01', 'synonyms': ['cigarette_case', 'cigarette_pack'], 'def': 'a small flat case for holding cigarettes', 'name': 'cigarette_case'}, {'frequency': 'f', 'id': 269, 'synset': 'cistern.n.02', 'synonyms': ['cistern', 'water_tank'], 'def': 'a tank that holds the water used to flush a toilet', 'name': 'cistern'}, {'frequency': 'r', 'id': 270, 'synset': 'clarinet.n.01', 'synonyms': ['clarinet'], 'def': 'a single-reed instrument with a straight tube', 'name': 'clarinet'}, {'frequency': 'r', 'id': 271, 'synset': 'clasp.n.01', 'synonyms': ['clasp'], 'def': 'a fastener (as a buckle or hook) that is used to hold two things together', 'name': 'clasp'}, {'frequency': 'c', 'id': 272, 'synset': 'cleansing_agent.n.01', 'synonyms': ['cleansing_agent', 'cleanser', 'cleaner'], 'def': 'a preparation used in cleaning something', 'name': 'cleansing_agent'}, {'frequency': 'r', 'id': 273, 'synset': 'clementine.n.01', 'synonyms': ['clementine'], 'def': 'a variety of mandarin orange', 'name': 'clementine'}, {'frequency': 'c', 'id': 274, 'synset': 'clip.n.03', 'synonyms': ['clip'], 'def': 'any of various small fasteners used to hold loose articles together', 'name': 'clip'}, {'frequency': 'c', 'id': 275, 'synset': 'clipboard.n.01', 'synonyms': ['clipboard'], 'def': 'a small writing board with a clip at the top for holding papers', 'name': 'clipboard'}, {'frequency': 'f', 'id': 276, 'synset': 'clock.n.01', 'synonyms': ['clock', 'timepiece', 'timekeeper'], 'def': 'a timepiece that shows the time of day', 'name': 'clock'}, {'frequency': 'f', 'id': 277, 'synset': 'clock_tower.n.01', 'synonyms': ['clock_tower'], 'def': 'a tower with a large clock visible high up on an outside face', 'name': 'clock_tower'}, {'frequency': 'c', 'id': 278, 'synset': 'clothes_hamper.n.01', 'synonyms': ['clothes_hamper', 'laundry_basket', 'clothes_basket'], 'def': 'a hamper that holds dirty clothes to be washed or wet clothes to be dried', 'name': 'clothes_hamper'}, {'frequency': 'c', 'id': 279, 'synset': 'clothespin.n.01', 'synonyms': ['clothespin', 'clothes_peg'], 'def': 'wood or plastic fastener; for holding clothes on a clothesline', 'name': 'clothespin'}, {'frequency': 'r', 'id': 280, 'synset': 'clutch_bag.n.01', 'synonyms': ['clutch_bag'], 'def': "a woman's strapless purse that is carried in the hand", 'name': 'clutch_bag'}, {'frequency': 'f', 'id': 281, 'synset': 'coaster.n.03', 'synonyms': ['coaster'], 'def': 'a covering (plate or mat) that protects the surface of a table', 'name': 'coaster'}, {'frequency': 'f', 'id': 282, 'synset': 'coat.n.01', 'synonyms': ['coat'], 'def': 'an outer garment that has sleeves and covers the body from shoulder down', 'name': 'coat'}, {'frequency': 'c', 'id': 283, 'synset': 'coat_hanger.n.01', 'synonyms': ['coat_hanger', 'clothes_hanger', 'dress_hanger'], 'def': "a hanger that is shaped like a person's shoulders", 'name': 'coat_hanger'}, {'frequency': 'r', 'id': 284, 'synset': 'coatrack.n.01', 'synonyms': ['coatrack', 'hatrack'], 'def': 'a rack with hooks for temporarily holding coats and hats', 'name': 'coatrack'}, {'frequency': 'c', 'id': 285, 'synset': 'cock.n.04', 'synonyms': ['cock', 'rooster'], 'def': 'adult male chicken', 'name': 'cock'}, {'frequency': 'c', 'id': 286, 'synset': 'coconut.n.02', 'synonyms': ['coconut', 'cocoanut'], 'def': 'large hard-shelled brown oval nut with a fibrous husk', 'name': 'coconut'}, {'frequency': 'r', 'id': 287, 'synset': 'coffee_filter.n.01', 'synonyms': ['coffee_filter'], 'def': 'filter (usually of paper) that passes the coffee and retains the coffee grounds', 'name': 'coffee_filter'}, {'frequency': 'f', 'id': 288, 'synset': 'coffee_maker.n.01', 'synonyms': ['coffee_maker', 'coffee_machine'], 'def': 'a kitchen appliance for brewing coffee automatically', 'name': 'coffee_maker'}, {'frequency': 'f', 'id': 289, 'synset': 'coffee_table.n.01', 'synonyms': ['coffee_table', 'cocktail_table'], 'def': 'low table where magazines can be placed and coffee or cocktails are served', 'name': 'coffee_table'}, {'frequency': 'c', 'id': 290, 'synset': 'coffeepot.n.01', 'synonyms': ['coffeepot'], 'def': 'tall pot in which coffee is brewed', 'name': 'coffeepot'}, {'frequency': 'r', 'id': 291, 'synset': 'coil.n.05', 'synonyms': ['coil'], 'def': 'tubing that is wound in a spiral', 'name': 'coil'}, {'frequency': 'c', 'id': 292, 'synset': 'coin.n.01', 'synonyms': ['coin'], 'def': 'a flat metal piece (usually a disc) used as money', 'name': 'coin'}, {'frequency': 'r', 'id': 293, 'synset': 'colander.n.01', 'synonyms': ['colander', 'cullender'], 'def': 'bowl-shaped strainer; used to wash or drain foods', 'name': 'colander'}, {'frequency': 'c', 'id': 294, 'synset': 'coleslaw.n.01', 'synonyms': ['coleslaw', 'slaw'], 'def': 'basically shredded cabbage', 'name': 'coleslaw'}, {'frequency': 'r', 'id': 295, 'synset': 'coloring_material.n.01', 'synonyms': ['coloring_material', 'colouring_material'], 'def': 'any material used for its color', 'name': 'coloring_material'}, {'frequency': 'r', 'id': 296, 'synset': 'combination_lock.n.01', 'synonyms': ['combination_lock'], 'def': 'lock that can be opened only by turning dials in a special sequence', 'name': 'combination_lock'}, {'frequency': 'c', 'id': 297, 'synset': 'comforter.n.04', 'synonyms': ['pacifier', 'teething_ring'], 'def': 'device used for an infant to suck or bite on', 'name': 'pacifier'}, {'frequency': 'r', 'id': 298, 'synset': 'comic_book.n.01', 'synonyms': ['comic_book'], 'def': 'a magazine devoted to comic strips', 'name': 'comic_book'}, {'frequency': 'f', 'id': 299, 'synset': 'computer_keyboard.n.01', 'synonyms': ['computer_keyboard', 'keyboard_(computer)'], 'def': 'a keyboard that is a data input device for computers', 'name': 'computer_keyboard'}, {'frequency': 'r', 'id': 300, 'synset': 'concrete_mixer.n.01', 'synonyms': ['concrete_mixer', 'cement_mixer'], 'def': 'a machine with a large revolving drum in which cement/concrete is mixed', 'name': 'concrete_mixer'}, {'frequency': 'f', 'id': 301, 'synset': 'cone.n.01', 'synonyms': ['cone', 'traffic_cone'], 'def': 'a cone-shaped object used to direct traffic', 'name': 'cone'}, {'frequency': 'f', 'id': 302, 'synset': 'control.n.09', 'synonyms': ['control', 'controller'], 'def': 'a mechanism that controls the operation of a machine', 'name': 'control'}, {'frequency': 'r', 'id': 303, 'synset': 'convertible.n.01', 'synonyms': ['convertible_(automobile)'], 'def': 'a car that has top that can be folded or removed', 'name': 'convertible_(automobile)'}, {'frequency': 'r', 'id': 304, 'synset': 'convertible.n.03', 'synonyms': ['sofa_bed'], 'def': 'a sofa that can be converted into a bed', 'name': 'sofa_bed'}, {'frequency': 'c', 'id': 305, 'synset': 'cookie.n.01', 'synonyms': ['cookie', 'cooky', 'biscuit_(cookie)'], 'def': "any of various small flat sweet cakes (`biscuit' is the British term)", 'name': 'cookie'}, {'frequency': 'r', 'id': 306, 'synset': 'cookie_jar.n.01', 'synonyms': ['cookie_jar', 'cooky_jar'], 'def': 'a jar in which cookies are kept (and sometimes money is hidden)', 'name': 'cookie_jar'}, {'frequency': 'r', 'id': 307, 'synset': 'cooking_utensil.n.01', 'synonyms': ['cooking_utensil'], 'def': 'a kitchen utensil made of material that does not melt easily; used for cooking', 'name': 'cooking_utensil'}, {'frequency': 'f', 'id': 308, 'synset': 'cooler.n.01', 'synonyms': ['cooler_(for_food)', 'ice_chest'], 'def': 'an insulated box for storing food often with ice', 'name': 'cooler_(for_food)'}, {'frequency': 'c', 'id': 309, 'synset': 'cork.n.04', 'synonyms': ['cork_(bottle_plug)', 'bottle_cork'], 'def': 'the plug in the mouth of a bottle (especially a wine bottle)', 'name': 'cork_(bottle_plug)'}, {'frequency': 'r', 'id': 310, 'synset': 'corkboard.n.01', 'synonyms': ['corkboard'], 'def': 'a sheet consisting of cork granules', 'name': 'corkboard'}, {'frequency': 'r', 'id': 311, 'synset': 'corkscrew.n.01', 'synonyms': ['corkscrew', 'bottle_screw'], 'def': 'a bottle opener that pulls corks', 'name': 'corkscrew'}, {'frequency': 'c', 'id': 312, 'synset': 'corn.n.03', 'synonyms': ['edible_corn', 'corn', 'maize'], 'def': 'ears of corn that can be prepared and served for human food', 'name': 'edible_corn'}, {'frequency': 'r', 'id': 313, 'synset': 'cornbread.n.01', 'synonyms': ['cornbread'], 'def': 'bread made primarily of cornmeal', 'name': 'cornbread'}, {'frequency': 'c', 'id': 314, 'synset': 'cornet.n.01', 'synonyms': ['cornet', 'horn', 'trumpet'], 'def': 'a brass musical instrument with a narrow tube and a flared bell and many valves', 'name': 'cornet'}, {'frequency': 'c', 'id': 315, 'synset': 'cornice.n.01', 'synonyms': ['cornice', 'valance', 'valance_board', 'pelmet'], 'def': 'a decorative framework to conceal curtain fixtures at the top of a window casing', 'name': 'cornice'}, {'frequency': 'r', 'id': 316, 'synset': 'cornmeal.n.01', 'synonyms': ['cornmeal'], 'def': 'coarsely ground corn', 'name': 'cornmeal'}, {'frequency': 'r', 'id': 317, 'synset': 'corset.n.01', 'synonyms': ['corset', 'girdle'], 'def': "a woman's close-fitting foundation garment", 'name': 'corset'}, {'frequency': 'r', 'id': 318, 'synset': 'cos.n.02', 'synonyms': ['romaine_lettuce'], 'def': 'lettuce with long dark-green leaves in a loosely packed elongated head', 'name': 'romaine_lettuce'}, {'frequency': 'c', 'id': 319, 'synset': 'costume.n.04', 'synonyms': ['costume'], 'def': 'the attire characteristic of a country or a time or a social class', 'name': 'costume'}, {'frequency': 'r', 'id': 320, 'synset': 'cougar.n.01', 'synonyms': ['cougar', 'puma', 'catamount', 'mountain_lion', 'panther'], 'def': 'large American feline resembling a lion', 'name': 'cougar'}, {'frequency': 'r', 'id': 321, 'synset': 'coverall.n.01', 'synonyms': ['coverall'], 'def': 'a loose-fitting protective garment that is worn over other clothing', 'name': 'coverall'}, {'frequency': 'r', 'id': 322, 'synset': 'cowbell.n.01', 'synonyms': ['cowbell'], 'def': 'a bell hung around the neck of cow so that the cow can be easily located', 'name': 'cowbell'}, {'frequency': 'f', 'id': 323, 'synset': 'cowboy_hat.n.01', 'synonyms': ['cowboy_hat', 'ten-gallon_hat'], 'def': 'a hat with a wide brim and a soft crown; worn by American ranch hands', 'name': 'cowboy_hat'}, {'frequency': 'r', 'id': 324, 'synset': 'crab.n.01', 'synonyms': ['crab_(animal)'], 'def': 'decapod having eyes on short stalks and a broad flattened shell and pincers', 'name': 'crab_(animal)'}, {'frequency': 'c', 'id': 325, 'synset': 'cracker.n.01', 'synonyms': ['cracker'], 'def': 'a thin crisp wafer', 'name': 'cracker'}, {'frequency': 'r', 'id': 326, 'synset': 'crape.n.01', 'synonyms': ['crape', 'crepe', 'French_pancake'], 'def': 'small very thin pancake', 'name': 'crape'}, {'frequency': 'f', 'id': 327, 'synset': 'crate.n.01', 'synonyms': ['crate'], 'def': 'a rugged box (usually made of wood); used for shipping', 'name': 'crate'}, {'frequency': 'r', 'id': 328, 'synset': 'crayon.n.01', 'synonyms': ['crayon', 'wax_crayon'], 'def': 'writing or drawing implement made of a colored stick of composition wax', 'name': 'crayon'}, {'frequency': 'r', 'id': 329, 'synset': 'cream_pitcher.n.01', 'synonyms': ['cream_pitcher'], 'def': 'a small pitcher for serving cream', 'name': 'cream_pitcher'}, {'frequency': 'r', 'id': 330, 'synset': 'credit_card.n.01', 'synonyms': ['credit_card', 'charge_card', 'debit_card'], 'def': 'a card, usually plastic, used to pay for goods and services', 'name': 'credit_card'}, {'frequency': 'c', 'id': 331, 'synset': 'crescent_roll.n.01', 'synonyms': ['crescent_roll', 'croissant'], 'def': 'very rich flaky crescent-shaped roll', 'name': 'crescent_roll'}, {'frequency': 'c', 'id': 332, 'synset': 'crib.n.01', 'synonyms': ['crib', 'cot'], 'def': 'baby bed with high sides made of slats', 'name': 'crib'}, {'frequency': 'c', 'id': 333, 'synset': 'crock.n.03', 'synonyms': ['crock_pot', 'earthenware_jar'], 'def': 'an earthen jar (made of baked clay)', 'name': 'crock_pot'}, {'frequency': 'f', 'id': 334, 'synset': 'crossbar.n.01', 'synonyms': ['crossbar'], 'def': 'a horizontal bar that goes across something', 'name': 'crossbar'}, {'frequency': 'r', 'id': 335, 'synset': 'crouton.n.01', 'synonyms': ['crouton'], 'def': 'a small piece of toasted or fried bread; served in soup or salads', 'name': 'crouton'}, {'frequency': 'r', 'id': 336, 'synset': 'crow.n.01', 'synonyms': ['crow'], 'def': 'black birds having a raucous call', 'name': 'crow'}, {'frequency': 'c', 'id': 337, 'synset': 'crown.n.04', 'synonyms': ['crown'], 'def': 'an ornamental jeweled headdress signifying sovereignty', 'name': 'crown'}, {'frequency': 'c', 'id': 338, 'synset': 'crucifix.n.01', 'synonyms': ['crucifix'], 'def': 'representation of the cross on which Jesus died', 'name': 'crucifix'}, {'frequency': 'c', 'id': 339, 'synset': 'cruise_ship.n.01', 'synonyms': ['cruise_ship', 'cruise_liner'], 'def': 'a passenger ship used commercially for pleasure cruises', 'name': 'cruise_ship'}, {'frequency': 'c', 'id': 340, 'synset': 'cruiser.n.01', 'synonyms': ['police_cruiser', 'patrol_car', 'police_car', 'squad_car'], 'def': 'a car in which policemen cruise the streets', 'name': 'police_cruiser'}, {'frequency': 'c', 'id': 341, 'synset': 'crumb.n.03', 'synonyms': ['crumb'], 'def': 'small piece of e.g. bread or cake', 'name': 'crumb'}, {'frequency': 'r', 'id': 342, 'synset': 'crutch.n.01', 'synonyms': ['crutch'], 'def': 'a wooden or metal staff that fits under the armpit and reaches to the ground', 'name': 'crutch'}, {'frequency': 'c', 'id': 343, 'synset': 'cub.n.03', 'synonyms': ['cub_(animal)'], 'def': 'the young of certain carnivorous mammals such as the bear or wolf or lion', 'name': 'cub_(animal)'}, {'frequency': 'r', 'id': 344, 'synset': 'cube.n.05', 'synonyms': ['cube', 'square_block'], 'def': 'a block in the (approximate) shape of a cube', 'name': 'cube'}, {'frequency': 'f', 'id': 345, 'synset': 'cucumber.n.02', 'synonyms': ['cucumber', 'cuke'], 'def': 'cylindrical green fruit with thin green rind and white flesh eaten as a vegetable', 'name': 'cucumber'}, {'frequency': 'c', 'id': 346, 'synset': 'cufflink.n.01', 'synonyms': ['cufflink'], 'def': 'jewelry consisting of linked buttons used to fasten the cuffs of a shirt', 'name': 'cufflink'}, {'frequency': 'f', 'id': 347, 'synset': 'cup.n.01', 'synonyms': ['cup'], 'def': 'a small open container usually used for drinking; usually has a handle', 'name': 'cup'}, {'frequency': 'c', 'id': 348, 'synset': 'cup.n.08', 'synonyms': ['trophy_cup'], 'def': 'a metal vessel with handles that is awarded as a trophy to a competition winner', 'name': 'trophy_cup'}, {'frequency': 'c', 'id': 349, 'synset': 'cupcake.n.01', 'synonyms': ['cupcake'], 'def': 'small cake baked in a muffin tin', 'name': 'cupcake'}, {'frequency': 'r', 'id': 350, 'synset': 'curler.n.01', 'synonyms': ['hair_curler', 'hair_roller', 'hair_crimper'], 'def': 'a cylindrical tube around which the hair is wound to curl it', 'name': 'hair_curler'}, {'frequency': 'r', 'id': 351, 'synset': 'curling_iron.n.01', 'synonyms': ['curling_iron'], 'def': 'a cylindrical home appliance that heats hair that has been curled around it', 'name': 'curling_iron'}, {'frequency': 'f', 'id': 352, 'synset': 'curtain.n.01', 'synonyms': ['curtain', 'drapery'], 'def': 'hanging cloth used as a blind (especially for a window)', 'name': 'curtain'}, {'frequency': 'f', 'id': 353, 'synset': 'cushion.n.03', 'synonyms': ['cushion'], 'def': 'a soft bag filled with air or padding such as feathers or foam rubber', 'name': 'cushion'}, {'frequency': 'r', 'id': 354, 'synset': 'custard.n.01', 'synonyms': ['custard'], 'def': 'sweetened mixture of milk and eggs baked or boiled or frozen', 'name': 'custard'}, {'frequency': 'c', 'id': 355, 'synset': 'cutter.n.06', 'synonyms': ['cutting_tool'], 'def': 'a cutting implement; a tool for cutting', 'name': 'cutting_tool'}, {'frequency': 'r', 'id': 356, 'synset': 'cylinder.n.04', 'synonyms': ['cylinder'], 'def': 'a cylindrical container', 'name': 'cylinder'}, {'frequency': 'r', 'id': 357, 'synset': 'cymbal.n.01', 'synonyms': ['cymbal'], 'def': 'a percussion instrument consisting of a concave brass disk', 'name': 'cymbal'}, {'frequency': 'r', 'id': 358, 'synset': 'dachshund.n.01', 'synonyms': ['dachshund', 'dachsie', 'badger_dog'], 'def': 'small long-bodied short-legged breed of dog having a short sleek coat and long drooping ears', 'name': 'dachshund'}, {'frequency': 'r', 'id': 359, 'synset': 'dagger.n.01', 'synonyms': ['dagger'], 'def': 'a short knife with a pointed blade used for piercing or stabbing', 'name': 'dagger'}, {'frequency': 'r', 'id': 360, 'synset': 'dartboard.n.01', 'synonyms': ['dartboard'], 'def': 'a circular board of wood or cork used as the target in the game of darts', 'name': 'dartboard'}, {'frequency': 'r', 'id': 361, 'synset': 'date.n.08', 'synonyms': ['date_(fruit)'], 'def': 'sweet edible fruit of the date palm with a single long woody seed', 'name': 'date_(fruit)'}, {'frequency': 'f', 'id': 362, 'synset': 'deck_chair.n.01', 'synonyms': ['deck_chair', 'beach_chair'], 'def': 'a folding chair for use outdoors; a wooden frame supports a length of canvas', 'name': 'deck_chair'}, {'frequency': 'c', 'id': 363, 'synset': 'deer.n.01', 'synonyms': ['deer', 'cervid'], 'def': "distinguished from Bovidae by the male's having solid deciduous antlers", 'name': 'deer'}, {'frequency': 'c', 'id': 364, 'synset': 'dental_floss.n.01', 'synonyms': ['dental_floss', 'floss'], 'def': 'a soft thread for cleaning the spaces between the teeth', 'name': 'dental_floss'}, {'frequency': 'f', 'id': 365, 'synset': 'desk.n.01', 'synonyms': ['desk'], 'def': 'a piece of furniture with a writing surface and usually drawers or other compartments', 'name': 'desk'}, {'frequency': 'r', 'id': 366, 'synset': 'detergent.n.01', 'synonyms': ['detergent'], 'def': 'a surface-active chemical widely used in industry and laundering', 'name': 'detergent'}, {'frequency': 'c', 'id': 367, 'synset': 'diaper.n.01', 'synonyms': ['diaper'], 'def': 'garment consisting of a folded cloth drawn up between the legs and fastened at the waist', 'name': 'diaper'}, {'frequency': 'r', 'id': 368, 'synset': 'diary.n.01', 'synonyms': ['diary', 'journal'], 'def': 'a daily written record of (usually personal) experiences and observations', 'name': 'diary'}, {'frequency': 'r', 'id': 369, 'synset': 'die.n.01', 'synonyms': ['die', 'dice'], 'def': 'a small cube with 1 to 6 spots on the six faces; used in gambling', 'name': 'die'}, {'frequency': 'r', 'id': 370, 'synset': 'dinghy.n.01', 'synonyms': ['dinghy', 'dory', 'rowboat'], 'def': 'a small boat of shallow draft with seats and oars with which it is propelled', 'name': 'dinghy'}, {'frequency': 'f', 'id': 371, 'synset': 'dining_table.n.01', 'synonyms': ['dining_table'], 'def': 'a table at which meals are served', 'name': 'dining_table'}, {'frequency': 'r', 'id': 372, 'synset': 'dinner_jacket.n.01', 'synonyms': ['tux', 'tuxedo'], 'def': 'semiformal evening dress for men', 'name': 'tux'}, {'frequency': 'c', 'id': 373, 'synset': 'dish.n.01', 'synonyms': ['dish'], 'def': 'a piece of dishware normally used as a container for holding or serving food', 'name': 'dish'}, {'frequency': 'c', 'id': 374, 'synset': 'dish.n.05', 'synonyms': ['dish_antenna'], 'def': 'directional antenna consisting of a parabolic reflector', 'name': 'dish_antenna'}, {'frequency': 'c', 'id': 375, 'synset': 'dishrag.n.01', 'synonyms': ['dishrag', 'dishcloth'], 'def': 'a cloth for washing dishes', 'name': 'dishrag'}, {'frequency': 'c', 'id': 376, 'synset': 'dishtowel.n.01', 'synonyms': ['dishtowel', 'tea_towel'], 'def': 'a towel for drying dishes', 'name': 'dishtowel'}, {'frequency': 'f', 'id': 377, 'synset': 'dishwasher.n.01', 'synonyms': ['dishwasher', 'dishwashing_machine'], 'def': 'a machine for washing dishes', 'name': 'dishwasher'}, {'frequency': 'r', 'id': 378, 'synset': 'dishwasher_detergent.n.01', 'synonyms': ['dishwasher_detergent', 'dishwashing_detergent', 'dishwashing_liquid'], 'def': 'a low-sudsing detergent designed for use in dishwashers', 'name': 'dishwasher_detergent'}, {'frequency': 'r', 'id': 379, 'synset': 'diskette.n.01', 'synonyms': ['diskette', 'floppy', 'floppy_disk'], 'def': 'a small plastic magnetic disk enclosed in a stiff envelope used to store data', 'name': 'diskette'}, {'frequency': 'c', 'id': 380, 'synset': 'dispenser.n.01', 'synonyms': ['dispenser'], 'def': 'a container so designed that the contents can be used in prescribed amounts', 'name': 'dispenser'}, {'frequency': 'c', 'id': 381, 'synset': 'dixie_cup.n.01', 'synonyms': ['Dixie_cup', 'paper_cup'], 'def': 'a disposable cup made of paper; for holding drinks', 'name': 'Dixie_cup'}, {'frequency': 'f', 'id': 382, 'synset': 'dog.n.01', 'synonyms': ['dog'], 'def': 'a common domesticated dog', 'name': 'dog'}, {'frequency': 'f', 'id': 383, 'synset': 'dog_collar.n.01', 'synonyms': ['dog_collar'], 'def': 'a collar for a dog', 'name': 'dog_collar'}, {'frequency': 'c', 'id': 384, 'synset': 'doll.n.01', 'synonyms': ['doll'], 'def': 'a toy replica of a HUMAN (NOT AN ANIMAL)', 'name': 'doll'}, {'frequency': 'r', 'id': 385, 'synset': 'dollar.n.02', 'synonyms': ['dollar', 'dollar_bill', 'one_dollar_bill'], 'def': 'a piece of paper money worth one dollar', 'name': 'dollar'}, {'frequency': 'r', 'id': 386, 'synset': 'dolphin.n.02', 'synonyms': ['dolphin'], 'def': 'any of various small toothed whales with a beaklike snout; larger than porpoises', 'name': 'dolphin'}, {'frequency': 'c', 'id': 387, 'synset': 'domestic_ass.n.01', 'synonyms': ['domestic_ass', 'donkey'], 'def': 'domestic beast of burden descended from the African wild ass; patient but stubborn', 'name': 'domestic_ass'}, {'frequency': 'r', 'id': 388, 'synset': 'domino.n.03', 'synonyms': ['eye_mask'], 'def': 'a mask covering the upper part of the face but with holes for the eyes', 'name': 'eye_mask'}, {'frequency': 'r', 'id': 389, 'synset': 'doorbell.n.01', 'synonyms': ['doorbell', 'buzzer'], 'def': 'a button at an outer door that gives a ringing or buzzing signal when pushed', 'name': 'doorbell'}, {'frequency': 'f', 'id': 390, 'synset': 'doorknob.n.01', 'synonyms': ['doorknob', 'doorhandle'], 'def': "a knob used to open a door (often called `doorhandle' in Great Britain)", 'name': 'doorknob'}, {'frequency': 'c', 'id': 391, 'synset': 'doormat.n.02', 'synonyms': ['doormat', 'welcome_mat'], 'def': 'a mat placed outside an exterior door for wiping the shoes before entering', 'name': 'doormat'}, {'frequency': 'f', 'id': 392, 'synset': 'doughnut.n.02', 'synonyms': ['doughnut', 'donut'], 'def': 'a small ring-shaped friedcake', 'name': 'doughnut'}, {'frequency': 'r', 'id': 393, 'synset': 'dove.n.01', 'synonyms': ['dove'], 'def': 'any of numerous small pigeons', 'name': 'dove'}, {'frequency': 'r', 'id': 394, 'synset': 'dragonfly.n.01', 'synonyms': ['dragonfly'], 'def': 'slender-bodied non-stinging insect having iridescent wings that are outspread at rest', 'name': 'dragonfly'}, {'frequency': 'f', 'id': 395, 'synset': 'drawer.n.01', 'synonyms': ['drawer'], 'def': 'a boxlike container in a piece of furniture; made so as to slide in and out', 'name': 'drawer'}, {'frequency': 'c', 'id': 396, 'synset': 'drawers.n.01', 'synonyms': ['underdrawers', 'boxers', 'boxershorts'], 'def': 'underpants worn by men', 'name': 'underdrawers'}, {'frequency': 'f', 'id': 397, 'synset': 'dress.n.01', 'synonyms': ['dress', 'frock'], 'def': 'a one-piece garment for a woman; has skirt and bodice', 'name': 'dress'}, {'frequency': 'c', 'id': 398, 'synset': 'dress_hat.n.01', 'synonyms': ['dress_hat', 'high_hat', 'opera_hat', 'silk_hat', 'top_hat'], 'def': "a man's hat with a tall crown; usually covered with silk or with beaver fur", 'name': 'dress_hat'}, {'frequency': 'c', 'id': 399, 'synset': 'dress_suit.n.01', 'synonyms': ['dress_suit'], 'def': 'formalwear consisting of full evening dress for men', 'name': 'dress_suit'}, {'frequency': 'c', 'id': 400, 'synset': 'dresser.n.05', 'synonyms': ['dresser'], 'def': 'a cabinet with shelves', 'name': 'dresser'}, {'frequency': 'c', 'id': 401, 'synset': 'drill.n.01', 'synonyms': ['drill'], 'def': 'a tool with a sharp rotating point for making holes in hard materials', 'name': 'drill'}, {'frequency': 'r', 'id': 402, 'synset': 'drinking_fountain.n.01', 'synonyms': ['drinking_fountain'], 'def': 'a public fountain to provide a jet of drinking water', 'name': 'drinking_fountain'}, {'frequency': 'r', 'id': 403, 'synset': 'drone.n.04', 'synonyms': ['drone'], 'def': 'an aircraft without a pilot that is operated by remote control', 'name': 'drone'}, {'frequency': 'r', 'id': 404, 'synset': 'dropper.n.01', 'synonyms': ['dropper', 'eye_dropper'], 'def': 'pipet consisting of a small tube with a vacuum bulb at one end for drawing liquid in and releasing it a drop at a time', 'name': 'dropper'}, {'frequency': 'c', 'id': 405, 'synset': 'drum.n.01', 'synonyms': ['drum_(musical_instrument)'], 'def': 'a musical percussion instrument; usually consists of a hollow cylinder with a membrane stretched across each end', 'name': 'drum_(musical_instrument)'}, {'frequency': 'r', 'id': 406, 'synset': 'drumstick.n.02', 'synonyms': ['drumstick'], 'def': 'a stick used for playing a drum', 'name': 'drumstick'}, {'frequency': 'f', 'id': 407, 'synset': 'duck.n.01', 'synonyms': ['duck'], 'def': 'small web-footed broad-billed swimming bird', 'name': 'duck'}, {'frequency': 'r', 'id': 408, 'synset': 'duckling.n.02', 'synonyms': ['duckling'], 'def': 'young duck', 'name': 'duckling'}, {'frequency': 'c', 'id': 409, 'synset': 'duct_tape.n.01', 'synonyms': ['duct_tape'], 'def': 'a wide silvery adhesive tape', 'name': 'duct_tape'}, {'frequency': 'f', 'id': 410, 'synset': 'duffel_bag.n.01', 'synonyms': ['duffel_bag', 'duffle_bag', 'duffel', 'duffle'], 'def': 'a large cylindrical bag of heavy cloth', 'name': 'duffel_bag'}, {'frequency': 'r', 'id': 411, 'synset': 'dumbbell.n.01', 'synonyms': ['dumbbell'], 'def': 'an exercising weight with two ball-like ends connected by a short handle', 'name': 'dumbbell'}, {'frequency': 'c', 'id': 412, 'synset': 'dumpster.n.01', 'synonyms': ['dumpster'], 'def': 'a container designed to receive and transport and dump waste', 'name': 'dumpster'}, {'frequency': 'r', 'id': 413, 'synset': 'dustpan.n.02', 'synonyms': ['dustpan'], 'def': 'a short-handled receptacle into which dust can be swept', 'name': 'dustpan'}, {'frequency': 'r', 'id': 414, 'synset': 'dutch_oven.n.02', 'synonyms': ['Dutch_oven'], 'def': 'iron or earthenware cooking pot; used for stews', 'name': 'Dutch_oven'}, {'frequency': 'c', 'id': 415, 'synset': 'eagle.n.01', 'synonyms': ['eagle'], 'def': 'large birds of prey noted for their broad wings and strong soaring flight', 'name': 'eagle'}, {'frequency': 'f', 'id': 416, 'synset': 'earphone.n.01', 'synonyms': ['earphone', 'earpiece', 'headphone'], 'def': 'device for listening to audio that is held over or inserted into the ear', 'name': 'earphone'}, {'frequency': 'r', 'id': 417, 'synset': 'earplug.n.01', 'synonyms': ['earplug'], 'def': 'a soft plug that is inserted into the ear canal to block sound', 'name': 'earplug'}, {'frequency': 'f', 'id': 418, 'synset': 'earring.n.01', 'synonyms': ['earring'], 'def': 'jewelry to ornament the ear', 'name': 'earring'}, {'frequency': 'c', 'id': 419, 'synset': 'easel.n.01', 'synonyms': ['easel'], 'def': "an upright tripod for displaying something (usually an artist's canvas)", 'name': 'easel'}, {'frequency': 'r', 'id': 420, 'synset': 'eclair.n.01', 'synonyms': ['eclair'], 'def': 'oblong cream puff', 'name': 'eclair'}, {'frequency': 'r', 'id': 421, 'synset': 'eel.n.01', 'synonyms': ['eel'], 'def': 'an elongate fish with fatty flesh', 'name': 'eel'}, {'frequency': 'f', 'id': 422, 'synset': 'egg.n.02', 'synonyms': ['egg', 'eggs'], 'def': 'oval reproductive body of a fowl (especially a hen) used as food', 'name': 'egg'}, {'frequency': 'r', 'id': 423, 'synset': 'egg_roll.n.01', 'synonyms': ['egg_roll', 'spring_roll'], 'def': 'minced vegetables and meat wrapped in a pancake and fried', 'name': 'egg_roll'}, {'frequency': 'c', 'id': 424, 'synset': 'egg_yolk.n.01', 'synonyms': ['egg_yolk', 'yolk_(egg)'], 'def': 'the yellow spherical part of an egg', 'name': 'egg_yolk'}, {'frequency': 'c', 'id': 425, 'synset': 'eggbeater.n.02', 'synonyms': ['eggbeater', 'eggwhisk'], 'def': 'a mixer for beating eggs or whipping cream', 'name': 'eggbeater'}, {'frequency': 'c', 'id': 426, 'synset': 'eggplant.n.01', 'synonyms': ['eggplant', 'aubergine'], 'def': 'egg-shaped vegetable having a shiny skin typically dark purple', 'name': 'eggplant'}, {'frequency': 'r', 'id': 427, 'synset': 'electric_chair.n.01', 'synonyms': ['electric_chair'], 'def': 'a chair-shaped instrument of execution by electrocution', 'name': 'electric_chair'}, {'frequency': 'f', 'id': 428, 'synset': 'electric_refrigerator.n.01', 'synonyms': ['refrigerator'], 'def': 'a refrigerator in which the coolant is pumped around by an electric motor', 'name': 'refrigerator'}, {'frequency': 'f', 'id': 429, 'synset': 'elephant.n.01', 'synonyms': ['elephant'], 'def': 'a common elephant', 'name': 'elephant'}, {'frequency': 'r', 'id': 430, 'synset': 'elk.n.01', 'synonyms': ['elk', 'moose'], 'def': 'large northern deer with enormous flattened antlers in the male', 'name': 'elk'}, {'frequency': 'c', 'id': 431, 'synset': 'envelope.n.01', 'synonyms': ['envelope'], 'def': 'a flat (usually rectangular) container for a letter, thin package, etc.', 'name': 'envelope'}, {'frequency': 'c', 'id': 432, 'synset': 'eraser.n.01', 'synonyms': ['eraser'], 'def': 'an implement used to erase something', 'name': 'eraser'}, {'frequency': 'r', 'id': 433, 'synset': 'escargot.n.01', 'synonyms': ['escargot'], 'def': 'edible snail usually served in the shell with a sauce of melted butter and garlic', 'name': 'escargot'}, {'frequency': 'r', 'id': 434, 'synset': 'eyepatch.n.01', 'synonyms': ['eyepatch'], 'def': 'a protective cloth covering for an injured eye', 'name': 'eyepatch'}, {'frequency': 'r', 'id': 435, 'synset': 'falcon.n.01', 'synonyms': ['falcon'], 'def': 'birds of prey having long pointed powerful wings adapted for swift flight', 'name': 'falcon'}, {'frequency': 'f', 'id': 436, 'synset': 'fan.n.01', 'synonyms': ['fan'], 'def': 'a device for creating a current of air by movement of a surface or surfaces', 'name': 'fan'}, {'frequency': 'f', 'id': 437, 'synset': 'faucet.n.01', 'synonyms': ['faucet', 'spigot', 'tap'], 'def': 'a regulator for controlling the flow of a liquid from a reservoir', 'name': 'faucet'}, {'frequency': 'r', 'id': 438, 'synset': 'fedora.n.01', 'synonyms': ['fedora'], 'def': 'a hat made of felt with a creased crown', 'name': 'fedora'}, {'frequency': 'r', 'id': 439, 'synset': 'ferret.n.02', 'synonyms': ['ferret'], 'def': 'domesticated albino variety of the European polecat bred for hunting rats and rabbits', 'name': 'ferret'}, {'frequency': 'c', 'id': 440, 'synset': 'ferris_wheel.n.01', 'synonyms': ['Ferris_wheel'], 'def': 'a large wheel with suspended seats that remain upright as the wheel rotates', 'name': 'Ferris_wheel'}, {'frequency': 'r', 'id': 441, 'synset': 'ferry.n.01', 'synonyms': ['ferry', 'ferryboat'], 'def': 'a boat that transports people or vehicles across a body of water and operates on a regular schedule', 'name': 'ferry'}, {'frequency': 'r', 'id': 442, 'synset': 'fig.n.04', 'synonyms': ['fig_(fruit)'], 'def': 'fleshy sweet pear-shaped yellowish or purple fruit eaten fresh or preserved or dried', 'name': 'fig_(fruit)'}, {'frequency': 'c', 'id': 443, 'synset': 'fighter.n.02', 'synonyms': ['fighter_jet', 'fighter_aircraft', 'attack_aircraft'], 'def': 'a high-speed military or naval airplane designed to destroy enemy targets', 'name': 'fighter_jet'}, {'frequency': 'f', 'id': 444, 'synset': 'figurine.n.01', 'synonyms': ['figurine'], 'def': 'a small carved or molded figure', 'name': 'figurine'}, {'frequency': 'c', 'id': 445, 'synset': 'file.n.03', 'synonyms': ['file_cabinet', 'filing_cabinet'], 'def': 'office furniture consisting of a container for keeping papers in order', 'name': 'file_cabinet'}, {'frequency': 'r', 'id': 446, 'synset': 'file.n.04', 'synonyms': ['file_(tool)'], 'def': 'a steel hand tool with small sharp teeth on some or all of its surfaces; used for smoothing wood or metal', 'name': 'file_(tool)'}, {'frequency': 'f', 'id': 447, 'synset': 'fire_alarm.n.02', 'synonyms': ['fire_alarm', 'smoke_alarm'], 'def': 'an alarm that is tripped off by fire or smoke', 'name': 'fire_alarm'}, {'frequency': 'c', 'id': 448, 'synset': 'fire_engine.n.01', 'synonyms': ['fire_engine', 'fire_truck'], 'def': 'large trucks that carry firefighters and equipment to the site of a fire', 'name': 'fire_engine'}, {'frequency': 'c', 'id': 449, 'synset': 'fire_extinguisher.n.01', 'synonyms': ['fire_extinguisher', 'extinguisher'], 'def': 'a manually operated device for extinguishing small fires', 'name': 'fire_extinguisher'}, {'frequency': 'c', 'id': 450, 'synset': 'fire_hose.n.01', 'synonyms': ['fire_hose'], 'def': 'a large hose that carries water from a fire hydrant to the site of the fire', 'name': 'fire_hose'}, {'frequency': 'f', 'id': 451, 'synset': 'fireplace.n.01', 'synonyms': ['fireplace'], 'def': 'an open recess in a wall at the base of a chimney where a fire can be built', 'name': 'fireplace'}, {'frequency': 'f', 'id': 452, 'synset': 'fireplug.n.01', 'synonyms': ['fireplug', 'fire_hydrant', 'hydrant'], 'def': 'an upright hydrant for drawing water to use in fighting a fire', 'name': 'fireplug'}, {'frequency': 'c', 'id': 453, 'synset': 'fish.n.01', 'synonyms': ['fish'], 'def': 'any of various mostly cold-blooded aquatic vertebrates usually having scales and breathing through gills', 'name': 'fish'}, {'frequency': 'r', 'id': 454, 'synset': 'fish.n.02', 'synonyms': ['fish_(food)'], 'def': 'the flesh of fish used as food', 'name': 'fish_(food)'}, {'frequency': 'r', 'id': 455, 'synset': 'fishbowl.n.02', 'synonyms': ['fishbowl', 'goldfish_bowl'], 'def': 'a transparent bowl in which small fish are kept', 'name': 'fishbowl'}, {'frequency': 'r', 'id': 456, 'synset': 'fishing_boat.n.01', 'synonyms': ['fishing_boat', 'fishing_vessel'], 'def': 'a vessel for fishing', 'name': 'fishing_boat'}, {'frequency': 'c', 'id': 457, 'synset': 'fishing_rod.n.01', 'synonyms': ['fishing_rod', 'fishing_pole'], 'def': 'a rod that is used in fishing to extend the fishing line', 'name': 'fishing_rod'}, {'frequency': 'f', 'id': 458, 'synset': 'flag.n.01', 'synonyms': ['flag'], 'def': 'emblem usually consisting of a rectangular piece of cloth of distinctive design (do not include pole)', 'name': 'flag'}, {'frequency': 'f', 'id': 459, 'synset': 'flagpole.n.02', 'synonyms': ['flagpole', 'flagstaff'], 'def': 'a tall staff or pole on which a flag is raised', 'name': 'flagpole'}, {'frequency': 'c', 'id': 460, 'synset': 'flamingo.n.01', 'synonyms': ['flamingo'], 'def': 'large pink web-footed bird with down-bent bill', 'name': 'flamingo'}, {'frequency': 'c', 'id': 461, 'synset': 'flannel.n.01', 'synonyms': ['flannel'], 'def': 'a soft light woolen fabric; used for clothing', 'name': 'flannel'}, {'frequency': 'r', 'id': 462, 'synset': 'flash.n.10', 'synonyms': ['flash', 'flashbulb'], 'def': 'a lamp for providing momentary light to take a photograph', 'name': 'flash'}, {'frequency': 'c', 'id': 463, 'synset': 'flashlight.n.01', 'synonyms': ['flashlight', 'torch'], 'def': 'a small portable battery-powered electric lamp', 'name': 'flashlight'}, {'frequency': 'r', 'id': 464, 'synset': 'fleece.n.03', 'synonyms': ['fleece'], 'def': 'a soft bulky fabric with deep pile; used chiefly for clothing', 'name': 'fleece'}, {'frequency': 'f', 'id': 465, 'synset': 'flip-flop.n.02', 'synonyms': ['flip-flop_(sandal)'], 'def': 'a backless sandal held to the foot by a thong between two toes', 'name': 'flip-flop_(sandal)'}, {'frequency': 'c', 'id': 466, 'synset': 'flipper.n.01', 'synonyms': ['flipper_(footwear)', 'fin_(footwear)'], 'def': 'a shoe to aid a person in swimming', 'name': 'flipper_(footwear)'}, {'frequency': 'f', 'id': 467, 'synset': 'flower_arrangement.n.01', 'synonyms': ['flower_arrangement', 'floral_arrangement'], 'def': 'a decorative arrangement of flowers', 'name': 'flower_arrangement'}, {'frequency': 'c', 'id': 468, 'synset': 'flute.n.02', 'synonyms': ['flute_glass', 'champagne_flute'], 'def': 'a tall narrow wineglass', 'name': 'flute_glass'}, {'frequency': 'r', 'id': 469, 'synset': 'foal.n.01', 'synonyms': ['foal'], 'def': 'a young horse', 'name': 'foal'}, {'frequency': 'c', 'id': 470, 'synset': 'folding_chair.n.01', 'synonyms': ['folding_chair'], 'def': 'a chair that can be folded flat for storage', 'name': 'folding_chair'}, {'frequency': 'c', 'id': 471, 'synset': 'food_processor.n.01', 'synonyms': ['food_processor'], 'def': 'a kitchen appliance for shredding, blending, chopping, or slicing food', 'name': 'food_processor'}, {'frequency': 'c', 'id': 472, 'synset': 'football.n.02', 'synonyms': ['football_(American)'], 'def': 'the inflated oblong ball used in playing American football', 'name': 'football_(American)'}, {'frequency': 'r', 'id': 473, 'synset': 'football_helmet.n.01', 'synonyms': ['football_helmet'], 'def': 'a padded helmet with a face mask to protect the head of football players', 'name': 'football_helmet'}, {'frequency': 'c', 'id': 474, 'synset': 'footstool.n.01', 'synonyms': ['footstool', 'footrest'], 'def': 'a low seat or a stool to rest the feet of a seated person', 'name': 'footstool'}, {'frequency': 'f', 'id': 475, 'synset': 'fork.n.01', 'synonyms': ['fork'], 'def': 'cutlery used for serving and eating food', 'name': 'fork'}, {'frequency': 'r', 'id': 476, 'synset': 'forklift.n.01', 'synonyms': ['forklift'], 'def': 'an industrial vehicle with a power operated fork in front that can be inserted under loads to lift and move them', 'name': 'forklift'}, {'frequency': 'r', 'id': 477, 'synset': 'freight_car.n.01', 'synonyms': ['freight_car'], 'def': 'a railway car that carries freight', 'name': 'freight_car'}, {'frequency': 'r', 'id': 478, 'synset': 'french_toast.n.01', 'synonyms': ['French_toast'], 'def': 'bread slice dipped in egg and milk and fried', 'name': 'French_toast'}, {'frequency': 'c', 'id': 479, 'synset': 'freshener.n.01', 'synonyms': ['freshener', 'air_freshener'], 'def': 'anything that freshens', 'name': 'freshener'}, {'frequency': 'f', 'id': 480, 'synset': 'frisbee.n.01', 'synonyms': ['frisbee'], 'def': 'a light, plastic disk propelled with a flip of the wrist for recreation or competition', 'name': 'frisbee'}, {'frequency': 'c', 'id': 481, 'synset': 'frog.n.01', 'synonyms': ['frog', 'toad', 'toad_frog'], 'def': 'a tailless stout-bodied amphibians with long hind limbs for leaping', 'name': 'frog'}, {'frequency': 'c', 'id': 482, 'synset': 'fruit_juice.n.01', 'synonyms': ['fruit_juice'], 'def': 'drink produced by squeezing or crushing fruit', 'name': 'fruit_juice'}, {'frequency': 'r', 'id': 483, 'synset': 'fruit_salad.n.01', 'synonyms': ['fruit_salad'], 'def': 'salad composed of fruits', 'name': 'fruit_salad'}, {'frequency': 'c', 'id': 484, 'synset': 'frying_pan.n.01', 'synonyms': ['frying_pan', 'frypan', 'skillet'], 'def': 'a pan used for frying foods', 'name': 'frying_pan'}, {'frequency': 'r', 'id': 485, 'synset': 'fudge.n.01', 'synonyms': ['fudge'], 'def': 'soft creamy candy', 'name': 'fudge'}, {'frequency': 'r', 'id': 486, 'synset': 'funnel.n.02', 'synonyms': ['funnel'], 'def': 'a cone-shaped utensil used to channel a substance into a container with a small mouth', 'name': 'funnel'}, {'frequency': 'c', 'id': 487, 'synset': 'futon.n.01', 'synonyms': ['futon'], 'def': 'a pad that is used for sleeping on the floor or on a raised frame', 'name': 'futon'}, {'frequency': 'r', 'id': 488, 'synset': 'gag.n.02', 'synonyms': ['gag', 'muzzle'], 'def': "restraint put into a person's mouth to prevent speaking or shouting", 'name': 'gag'}, {'frequency': 'r', 'id': 489, 'synset': 'garbage.n.03', 'synonyms': ['garbage'], 'def': 'a receptacle where waste can be discarded', 'name': 'garbage'}, {'frequency': 'c', 'id': 490, 'synset': 'garbage_truck.n.01', 'synonyms': ['garbage_truck'], 'def': 'a truck for collecting domestic refuse', 'name': 'garbage_truck'}, {'frequency': 'c', 'id': 491, 'synset': 'garden_hose.n.01', 'synonyms': ['garden_hose'], 'def': 'a hose used for watering a lawn or garden', 'name': 'garden_hose'}, {'frequency': 'c', 'id': 492, 'synset': 'gargle.n.01', 'synonyms': ['gargle', 'mouthwash'], 'def': 'a medicated solution used for gargling and rinsing the mouth', 'name': 'gargle'}, {'frequency': 'r', 'id': 493, 'synset': 'gargoyle.n.02', 'synonyms': ['gargoyle'], 'def': 'an ornament consisting of a grotesquely carved figure of a person or animal', 'name': 'gargoyle'}, {'frequency': 'c', 'id': 494, 'synset': 'garlic.n.02', 'synonyms': ['garlic', 'ail'], 'def': 'aromatic bulb used as seasoning', 'name': 'garlic'}, {'frequency': 'r', 'id': 495, 'synset': 'gasmask.n.01', 'synonyms': ['gasmask', 'respirator', 'gas_helmet'], 'def': 'a protective face mask with a filter', 'name': 'gasmask'}, {'frequency': 'r', 'id': 496, 'synset': 'gazelle.n.01', 'synonyms': ['gazelle'], 'def': 'small swift graceful antelope of Africa and Asia having lustrous eyes', 'name': 'gazelle'}, {'frequency': 'c', 'id': 497, 'synset': 'gelatin.n.02', 'synonyms': ['gelatin', 'jelly'], 'def': 'an edible jelly made with gelatin and used as a dessert or salad base or a coating for foods', 'name': 'gelatin'}, {'frequency': 'r', 'id': 498, 'synset': 'gem.n.02', 'synonyms': ['gemstone'], 'def': 'a crystalline rock that can be cut and polished for jewelry', 'name': 'gemstone'}, {'frequency': 'c', 'id': 499, 'synset': 'giant_panda.n.01', 'synonyms': ['giant_panda', 'panda', 'panda_bear'], 'def': 'large black-and-white herbivorous mammal of bamboo forests of China and Tibet', 'name': 'giant_panda'}, {'frequency': 'c', 'id': 500, 'synset': 'gift_wrap.n.01', 'synonyms': ['gift_wrap'], 'def': 'attractive wrapping paper suitable for wrapping gifts', 'name': 'gift_wrap'}, {'frequency': 'c', 'id': 501, 'synset': 'ginger.n.03', 'synonyms': ['ginger', 'gingerroot'], 'def': 'the root of the common ginger plant; used fresh as a seasoning', 'name': 'ginger'}, {'frequency': 'f', 'id': 502, 'synset': 'giraffe.n.01', 'synonyms': ['giraffe'], 'def': 'tall animal having a spotted coat and small horns and very long neck and legs', 'name': 'giraffe'}, {'frequency': 'c', 'id': 503, 'synset': 'girdle.n.02', 'synonyms': ['cincture', 'sash', 'waistband', 'waistcloth'], 'def': 'a band of material around the waist that strengthens a skirt or trousers', 'name': 'cincture'}, {'frequency': 'f', 'id': 504, 'synset': 'glass.n.02', 'synonyms': ['glass_(drink_container)', 'drinking_glass'], 'def': 'a container for holding liquids while drinking', 'name': 'glass_(drink_container)'}, {'frequency': 'c', 'id': 505, 'synset': 'globe.n.03', 'synonyms': ['globe'], 'def': 'a sphere on which a map (especially of the earth) is represented', 'name': 'globe'}, {'frequency': 'f', 'id': 506, 'synset': 'glove.n.02', 'synonyms': ['glove'], 'def': 'handwear covering the hand', 'name': 'glove'}, {'frequency': 'c', 'id': 507, 'synset': 'goat.n.01', 'synonyms': ['goat'], 'def': 'a common goat', 'name': 'goat'}, {'frequency': 'f', 'id': 508, 'synset': 'goggles.n.01', 'synonyms': ['goggles'], 'def': 'tight-fitting spectacles worn to protect the eyes', 'name': 'goggles'}, {'frequency': 'r', 'id': 509, 'synset': 'goldfish.n.01', 'synonyms': ['goldfish'], 'def': 'small golden or orange-red freshwater fishes used as pond or aquarium pets', 'name': 'goldfish'}, {'frequency': 'r', 'id': 510, 'synset': 'golf_club.n.02', 'synonyms': ['golf_club', 'golf-club'], 'def': 'golf equipment used by a golfer to hit a golf ball', 'name': 'golf_club'}, {'frequency': 'c', 'id': 511, 'synset': 'golfcart.n.01', 'synonyms': ['golfcart'], 'def': 'a small motor vehicle in which golfers can ride between shots', 'name': 'golfcart'}, {'frequency': 'r', 'id': 512, 'synset': 'gondola.n.02', 'synonyms': ['gondola_(boat)'], 'def': 'long narrow flat-bottomed boat propelled by sculling; traditionally used on canals of Venice', 'name': 'gondola_(boat)'}, {'frequency': 'c', 'id': 513, 'synset': 'goose.n.01', 'synonyms': ['goose'], 'def': 'loud, web-footed long-necked aquatic birds usually larger than ducks', 'name': 'goose'}, {'frequency': 'r', 'id': 514, 'synset': 'gorilla.n.01', 'synonyms': ['gorilla'], 'def': 'largest ape', 'name': 'gorilla'}, {'frequency': 'r', 'id': 515, 'synset': 'gourd.n.02', 'synonyms': ['gourd'], 'def': 'any of numerous inedible fruits with hard rinds', 'name': 'gourd'}, {'frequency': 'r', 'id': 516, 'synset': 'gown.n.04', 'synonyms': ['surgical_gown', 'scrubs_(surgical_clothing)'], 'def': 'protective garment worn by surgeons during operations', 'name': 'surgical_gown'}, {'frequency': 'f', 'id': 517, 'synset': 'grape.n.01', 'synonyms': ['grape'], 'def': 'any of various juicy fruit with green or purple skins; grow in clusters', 'name': 'grape'}, {'frequency': 'r', 'id': 518, 'synset': 'grasshopper.n.01', 'synonyms': ['grasshopper'], 'def': 'plant-eating insect with hind legs adapted for leaping', 'name': 'grasshopper'}, {'frequency': 'c', 'id': 519, 'synset': 'grater.n.01', 'synonyms': ['grater'], 'def': 'utensil with sharp perforations for shredding foods (as vegetables or cheese)', 'name': 'grater'}, {'frequency': 'c', 'id': 520, 'synset': 'gravestone.n.01', 'synonyms': ['gravestone', 'headstone', 'tombstone'], 'def': 'a stone that is used to mark a grave', 'name': 'gravestone'}, {'frequency': 'r', 'id': 521, 'synset': 'gravy_boat.n.01', 'synonyms': ['gravy_boat', 'gravy_holder'], 'def': 'a dish (often boat-shaped) for serving gravy or sauce', 'name': 'gravy_boat'}, {'frequency': 'c', 'id': 522, 'synset': 'green_bean.n.02', 'synonyms': ['green_bean'], 'def': 'a common bean plant cultivated for its slender green edible pods', 'name': 'green_bean'}, {'frequency': 'c', 'id': 523, 'synset': 'green_onion.n.01', 'synonyms': ['green_onion', 'spring_onion', 'scallion'], 'def': 'a young onion before the bulb has enlarged', 'name': 'green_onion'}, {'frequency': 'r', 'id': 524, 'synset': 'griddle.n.01', 'synonyms': ['griddle'], 'def': 'cooking utensil consisting of a flat heated surface on which food is cooked', 'name': 'griddle'}, {'frequency': 'r', 'id': 525, 'synset': 'grillroom.n.01', 'synonyms': ['grillroom', 'grill_(restaurant)'], 'def': 'a restaurant where food is cooked on a grill', 'name': 'grillroom'}, {'frequency': 'r', 'id': 526, 'synset': 'grinder.n.04', 'synonyms': ['grinder_(tool)'], 'def': 'a machine tool that polishes metal', 'name': 'grinder_(tool)'}, {'frequency': 'r', 'id': 527, 'synset': 'grits.n.01', 'synonyms': ['grits', 'hominy_grits'], 'def': 'coarsely ground corn boiled as a breakfast dish', 'name': 'grits'}, {'frequency': 'c', 'id': 528, 'synset': 'grizzly.n.01', 'synonyms': ['grizzly', 'grizzly_bear'], 'def': 'powerful brownish-yellow bear of the uplands of western North America', 'name': 'grizzly'}, {'frequency': 'c', 'id': 529, 'synset': 'grocery_bag.n.01', 'synonyms': ['grocery_bag'], 'def': "a sack for holding customer's groceries", 'name': 'grocery_bag'}, {'frequency': 'r', 'id': 530, 'synset': 'guacamole.n.01', 'synonyms': ['guacamole'], 'def': 'a dip made of mashed avocado mixed with chopped onions and other seasonings', 'name': 'guacamole'}, {'frequency': 'f', 'id': 531, 'synset': 'guitar.n.01', 'synonyms': ['guitar'], 'def': 'a stringed instrument usually having six strings; played by strumming or plucking', 'name': 'guitar'}, {'frequency': 'c', 'id': 532, 'synset': 'gull.n.02', 'synonyms': ['gull', 'seagull'], 'def': 'mostly white aquatic bird having long pointed wings and short legs', 'name': 'gull'}, {'frequency': 'c', 'id': 533, 'synset': 'gun.n.01', 'synonyms': ['gun'], 'def': 'a weapon that discharges a bullet at high velocity from a metal tube', 'name': 'gun'}, {'frequency': 'r', 'id': 534, 'synset': 'hair_spray.n.01', 'synonyms': ['hair_spray'], 'def': 'substance sprayed on the hair to hold it in place', 'name': 'hair_spray'}, {'frequency': 'c', 'id': 535, 'synset': 'hairbrush.n.01', 'synonyms': ['hairbrush'], 'def': "a brush used to groom a person's hair", 'name': 'hairbrush'}, {'frequency': 'c', 'id': 536, 'synset': 'hairnet.n.01', 'synonyms': ['hairnet'], 'def': 'a small net that someone wears over their hair to keep it in place', 'name': 'hairnet'}, {'frequency': 'c', 'id': 537, 'synset': 'hairpin.n.01', 'synonyms': ['hairpin'], 'def': "a double pronged pin used to hold women's hair in place", 'name': 'hairpin'}, {'frequency': 'f', 'id': 538, 'synset': 'ham.n.01', 'synonyms': ['ham', 'jambon', 'gammon'], 'def': 'meat cut from the thigh of a hog (usually smoked)', 'name': 'ham'}, {'frequency': 'c', 'id': 539, 'synset': 'hamburger.n.01', 'synonyms': ['hamburger', 'beefburger', 'burger'], 'def': 'a sandwich consisting of a patty of minced beef served on a bun', 'name': 'hamburger'}, {'frequency': 'c', 'id': 540, 'synset': 'hammer.n.02', 'synonyms': ['hammer'], 'def': 'a hand tool with a heavy head and a handle; used to deliver an impulsive force by striking', 'name': 'hammer'}, {'frequency': 'r', 'id': 541, 'synset': 'hammock.n.02', 'synonyms': ['hammock'], 'def': 'a hanging bed of canvas or rope netting (usually suspended between two trees)', 'name': 'hammock'}, {'frequency': 'r', 'id': 542, 'synset': 'hamper.n.02', 'synonyms': ['hamper'], 'def': 'a basket usually with a cover', 'name': 'hamper'}, {'frequency': 'r', 'id': 543, 'synset': 'hamster.n.01', 'synonyms': ['hamster'], 'def': 'short-tailed burrowing rodent with large cheek pouches', 'name': 'hamster'}, {'frequency': 'c', 'id': 544, 'synset': 'hand_blower.n.01', 'synonyms': ['hair_dryer'], 'def': 'a hand-held electric blower that can blow warm air onto the hair', 'name': 'hair_dryer'}, {'frequency': 'r', 'id': 545, 'synset': 'hand_glass.n.01', 'synonyms': ['hand_glass', 'hand_mirror'], 'def': 'a mirror intended to be held in the hand', 'name': 'hand_glass'}, {'frequency': 'f', 'id': 546, 'synset': 'hand_towel.n.01', 'synonyms': ['hand_towel', 'face_towel'], 'def': 'a small towel used to dry the hands or face', 'name': 'hand_towel'}, {'frequency': 'c', 'id': 547, 'synset': 'handcart.n.01', 'synonyms': ['handcart', 'pushcart', 'hand_truck'], 'def': 'wheeled vehicle that can be pushed by a person', 'name': 'handcart'}, {'frequency': 'r', 'id': 548, 'synset': 'handcuff.n.01', 'synonyms': ['handcuff'], 'def': 'shackle that consists of a metal loop that can be locked around the wrist', 'name': 'handcuff'}, {'frequency': 'c', 'id': 549, 'synset': 'handkerchief.n.01', 'synonyms': ['handkerchief'], 'def': 'a square piece of cloth used for wiping the eyes or nose or as a costume accessory', 'name': 'handkerchief'}, {'frequency': 'f', 'id': 550, 'synset': 'handle.n.01', 'synonyms': ['handle', 'grip', 'handgrip'], 'def': 'the appendage to an object that is designed to be held in order to use or move it', 'name': 'handle'}, {'frequency': 'r', 'id': 551, 'synset': 'handsaw.n.01', 'synonyms': ['handsaw', "carpenter's_saw"], 'def': 'a saw used with one hand for cutting wood', 'name': 'handsaw'}, {'frequency': 'r', 'id': 552, 'synset': 'hardback.n.01', 'synonyms': ['hardback_book', 'hardcover_book'], 'def': 'a book with cardboard or cloth or leather covers', 'name': 'hardback_book'}, {'frequency': 'r', 'id': 553, 'synset': 'harmonium.n.01', 'synonyms': ['harmonium', 'organ_(musical_instrument)', 'reed_organ_(musical_instrument)'], 'def': 'a free-reed instrument in which air is forced through the reeds by bellows', 'name': 'harmonium'}, {'frequency': 'f', 'id': 554, 'synset': 'hat.n.01', 'synonyms': ['hat'], 'def': 'headwear that protects the head from bad weather, sun, or worn for fashion', 'name': 'hat'}, {'frequency': 'r', 'id': 555, 'synset': 'hatbox.n.01', 'synonyms': ['hatbox'], 'def': 'a round piece of luggage for carrying hats', 'name': 'hatbox'}, {'frequency': 'r', 'id': 556, 'synset': 'hatch.n.03', 'synonyms': ['hatch'], 'def': 'a movable barrier covering a hatchway', 'name': 'hatch'}, {'frequency': 'c', 'id': 557, 'synset': 'head_covering.n.01', 'synonyms': ['veil'], 'def': 'a garment that covers the head and face', 'name': 'veil'}, {'frequency': 'f', 'id': 558, 'synset': 'headband.n.01', 'synonyms': ['headband'], 'def': 'a band worn around or over the head', 'name': 'headband'}, {'frequency': 'f', 'id': 559, 'synset': 'headboard.n.01', 'synonyms': ['headboard'], 'def': 'a vertical board or panel forming the head of a bedstead', 'name': 'headboard'}, {'frequency': 'f', 'id': 560, 'synset': 'headlight.n.01', 'synonyms': ['headlight', 'headlamp'], 'def': 'a powerful light with reflector; attached to the front of an automobile or locomotive', 'name': 'headlight'}, {'frequency': 'c', 'id': 561, 'synset': 'headscarf.n.01', 'synonyms': ['headscarf'], 'def': 'a kerchief worn over the head and tied under the chin', 'name': 'headscarf'}, {'frequency': 'r', 'id': 562, 'synset': 'headset.n.01', 'synonyms': ['headset'], 'def': 'receiver consisting of a pair of headphones', 'name': 'headset'}, {'frequency': 'c', 'id': 563, 'synset': 'headstall.n.01', 'synonyms': ['headstall_(for_horses)', 'headpiece_(for_horses)'], 'def': "the band that is the part of a bridle that fits around a horse's head", 'name': 'headstall_(for_horses)'}, {'frequency': 'r', 'id': 564, 'synset': 'hearing_aid.n.02', 'synonyms': ['hearing_aid'], 'def': 'an acoustic device used to direct sound to the ear of a hearing-impaired person', 'name': 'hearing_aid'}, {'frequency': 'c', 'id': 565, 'synset': 'heart.n.02', 'synonyms': ['heart'], 'def': 'a muscular organ; its contractions move the blood through the body', 'name': 'heart'}, {'frequency': 'c', 'id': 566, 'synset': 'heater.n.01', 'synonyms': ['heater', 'warmer'], 'def': 'device that heats water or supplies warmth to a room', 'name': 'heater'}, {'frequency': 'c', 'id': 567, 'synset': 'helicopter.n.01', 'synonyms': ['helicopter'], 'def': 'an aircraft without wings that obtains its lift from the rotation of overhead blades', 'name': 'helicopter'}, {'frequency': 'f', 'id': 568, 'synset': 'helmet.n.02', 'synonyms': ['helmet'], 'def': 'a protective headgear made of hard material to resist blows', 'name': 'helmet'}, {'frequency': 'r', 'id': 569, 'synset': 'heron.n.02', 'synonyms': ['heron'], 'def': 'grey or white wading bird with long neck and long legs and (usually) long bill', 'name': 'heron'}, {'frequency': 'c', 'id': 570, 'synset': 'highchair.n.01', 'synonyms': ['highchair', 'feeding_chair'], 'def': 'a chair for feeding a very young child', 'name': 'highchair'}, {'frequency': 'f', 'id': 571, 'synset': 'hinge.n.01', 'synonyms': ['hinge'], 'def': 'a joint that holds two parts together so that one can swing relative to the other', 'name': 'hinge'}, {'frequency': 'r', 'id': 572, 'synset': 'hippopotamus.n.01', 'synonyms': ['hippopotamus'], 'def': 'massive thick-skinned animal living in or around rivers of tropical Africa', 'name': 'hippopotamus'}, {'frequency': 'r', 'id': 573, 'synset': 'hockey_stick.n.01', 'synonyms': ['hockey_stick'], 'def': 'sports implement consisting of a stick used by hockey players to move the puck', 'name': 'hockey_stick'}, {'frequency': 'c', 'id': 574, 'synset': 'hog.n.03', 'synonyms': ['hog', 'pig'], 'def': 'domestic swine', 'name': 'hog'}, {'frequency': 'f', 'id': 575, 'synset': 'home_plate.n.01', 'synonyms': ['home_plate_(baseball)', 'home_base_(baseball)'], 'def': '(baseball) a rubber slab where the batter stands; it must be touched by a base runner in order to score', 'name': 'home_plate_(baseball)'}, {'frequency': 'c', 'id': 576, 'synset': 'honey.n.01', 'synonyms': ['honey'], 'def': 'a sweet yellow liquid produced by bees', 'name': 'honey'}, {'frequency': 'f', 'id': 577, 'synset': 'hood.n.06', 'synonyms': ['fume_hood', 'exhaust_hood'], 'def': 'metal covering leading to a vent that exhausts smoke or fumes', 'name': 'fume_hood'}, {'frequency': 'f', 'id': 578, 'synset': 'hook.n.05', 'synonyms': ['hook'], 'def': 'a curved or bent implement for suspending or pulling something', 'name': 'hook'}, {'frequency': 'f', 'id': 579, 'synset': 'horse.n.01', 'synonyms': ['horse'], 'def': 'a common horse', 'name': 'horse'}, {'frequency': 'f', 'id': 580, 'synset': 'hose.n.03', 'synonyms': ['hose', 'hosepipe'], 'def': 'a flexible pipe for conveying a liquid or gas', 'name': 'hose'}, {'frequency': 'r', 'id': 581, 'synset': 'hot-air_balloon.n.01', 'synonyms': ['hot-air_balloon'], 'def': 'balloon for travel through the air in a basket suspended below a large bag of heated air', 'name': 'hot-air_balloon'}, {'frequency': 'r', 'id': 582, 'synset': 'hot_plate.n.01', 'synonyms': ['hotplate'], 'def': 'a portable electric appliance for heating or cooking or keeping food warm', 'name': 'hotplate'}, {'frequency': 'c', 'id': 583, 'synset': 'hot_sauce.n.01', 'synonyms': ['hot_sauce'], 'def': 'a pungent peppery sauce', 'name': 'hot_sauce'}, {'frequency': 'r', 'id': 584, 'synset': 'hourglass.n.01', 'synonyms': ['hourglass'], 'def': 'a sandglass timer that runs for sixty minutes', 'name': 'hourglass'}, {'frequency': 'r', 'id': 585, 'synset': 'houseboat.n.01', 'synonyms': ['houseboat'], 'def': 'a barge that is designed and equipped for use as a dwelling', 'name': 'houseboat'}, {'frequency': 'r', 'id': 586, 'synset': 'hummingbird.n.01', 'synonyms': ['hummingbird'], 'def': 'tiny American bird having brilliant iridescent plumage and long slender bills', 'name': 'hummingbird'}, {'frequency': 'r', 'id': 587, 'synset': 'hummus.n.01', 'synonyms': ['hummus', 'humus', 'hommos', 'hoummos', 'humous'], 'def': 'a thick spread made from mashed chickpeas', 'name': 'hummus'}, {'frequency': 'c', 'id': 588, 'synset': 'ice_bear.n.01', 'synonyms': ['polar_bear'], 'def': 'white bear of Arctic regions', 'name': 'polar_bear'}, {'frequency': 'c', 'id': 589, 'synset': 'ice_cream.n.01', 'synonyms': ['icecream'], 'def': 'frozen dessert containing cream and sugar and flavoring', 'name': 'icecream'}, {'frequency': 'r', 'id': 590, 'synset': 'ice_lolly.n.01', 'synonyms': ['popsicle'], 'def': 'ice cream or water ice on a small wooden stick', 'name': 'popsicle'}, {'frequency': 'c', 'id': 591, 'synset': 'ice_maker.n.01', 'synonyms': ['ice_maker'], 'def': 'an appliance included in some electric refrigerators for making ice cubes', 'name': 'ice_maker'}, {'frequency': 'r', 'id': 592, 'synset': 'ice_pack.n.01', 'synonyms': ['ice_pack', 'ice_bag'], 'def': 'a waterproof bag filled with ice: applied to the body (especially the head) to cool or reduce swelling', 'name': 'ice_pack'}, {'frequency': 'r', 'id': 593, 'synset': 'ice_skate.n.01', 'synonyms': ['ice_skate'], 'def': 'skate consisting of a boot with a steel blade fitted to the sole', 'name': 'ice_skate'}, {'frequency': 'r', 'id': 594, 'synset': 'ice_tea.n.01', 'synonyms': ['ice_tea', 'iced_tea'], 'def': 'strong tea served over ice', 'name': 'ice_tea'}, {'frequency': 'c', 'id': 595, 'synset': 'igniter.n.01', 'synonyms': ['igniter', 'ignitor', 'lighter'], 'def': 'a substance or device used to start a fire', 'name': 'igniter'}, {'frequency': 'r', 'id': 596, 'synset': 'incense.n.01', 'synonyms': ['incense'], 'def': 'a substance that produces a fragrant odor when burned', 'name': 'incense'}, {'frequency': 'r', 'id': 597, 'synset': 'inhaler.n.01', 'synonyms': ['inhaler', 'inhalator'], 'def': 'a dispenser that produces a chemical vapor to be inhaled through mouth or nose', 'name': 'inhaler'}, {'frequency': 'c', 'id': 598, 'synset': 'ipod.n.01', 'synonyms': ['iPod'], 'def': 'a pocket-sized device used to play music files', 'name': 'iPod'}, {'frequency': 'c', 'id': 599, 'synset': 'iron.n.04', 'synonyms': ['iron_(for_clothing)', 'smoothing_iron_(for_clothing)'], 'def': 'home appliance consisting of a flat metal base that is heated and used to smooth cloth', 'name': 'iron_(for_clothing)'}, {'frequency': 'r', 'id': 600, 'synset': 'ironing_board.n.01', 'synonyms': ['ironing_board'], 'def': 'narrow padded board on collapsible supports; used for ironing clothes', 'name': 'ironing_board'}, {'frequency': 'f', 'id': 601, 'synset': 'jacket.n.01', 'synonyms': ['jacket'], 'def': 'a waist-length coat', 'name': 'jacket'}, {'frequency': 'r', 'id': 602, 'synset': 'jam.n.01', 'synonyms': ['jam'], 'def': 'preserve of crushed fruit', 'name': 'jam'}, {'frequency': 'f', 'id': 603, 'synset': 'jean.n.01', 'synonyms': ['jean', 'blue_jean', 'denim'], 'def': '(usually plural) close-fitting trousers of heavy denim for manual work or casual wear', 'name': 'jean'}, {'frequency': 'c', 'id': 604, 'synset': 'jeep.n.01', 'synonyms': ['jeep', 'landrover'], 'def': 'a car suitable for traveling over rough terrain', 'name': 'jeep'}, {'frequency': 'r', 'id': 605, 'synset': 'jelly_bean.n.01', 'synonyms': ['jelly_bean', 'jelly_egg'], 'def': 'sugar-glazed jellied candy', 'name': 'jelly_bean'}, {'frequency': 'f', 'id': 606, 'synset': 'jersey.n.03', 'synonyms': ['jersey', 'T-shirt', 'tee_shirt'], 'def': 'a close-fitting pullover shirt', 'name': 'jersey'}, {'frequency': 'c', 'id': 607, 'synset': 'jet.n.01', 'synonyms': ['jet_plane', 'jet-propelled_plane'], 'def': 'an airplane powered by one or more jet engines', 'name': 'jet_plane'}, {'frequency': 'c', 'id': 608, 'synset': 'jewelry.n.01', 'synonyms': ['jewelry', 'jewellery'], 'def': 'an adornment (as a bracelet or ring or necklace) made of precious metals and set with gems (or imitation gems)', 'name': 'jewelry'}, {'frequency': 'r', 'id': 609, 'synset': 'joystick.n.02', 'synonyms': ['joystick'], 'def': 'a control device for computers consisting of a vertical handle that can move freely in two directions', 'name': 'joystick'}, {'frequency': 'r', 'id': 610, 'synset': 'jump_suit.n.01', 'synonyms': ['jumpsuit'], 'def': "one-piece garment fashioned after a parachutist's uniform", 'name': 'jumpsuit'}, {'frequency': 'c', 'id': 611, 'synset': 'kayak.n.01', 'synonyms': ['kayak'], 'def': 'a small canoe consisting of a light frame made watertight with animal skins', 'name': 'kayak'}, {'frequency': 'r', 'id': 612, 'synset': 'keg.n.02', 'synonyms': ['keg'], 'def': 'small cask or barrel', 'name': 'keg'}, {'frequency': 'r', 'id': 613, 'synset': 'kennel.n.01', 'synonyms': ['kennel', 'doghouse'], 'def': 'outbuilding that serves as a shelter for a dog', 'name': 'kennel'}, {'frequency': 'c', 'id': 614, 'synset': 'kettle.n.01', 'synonyms': ['kettle', 'boiler'], 'def': 'a metal pot for stewing or boiling; usually has a lid', 'name': 'kettle'}, {'frequency': 'f', 'id': 615, 'synset': 'key.n.01', 'synonyms': ['key'], 'def': 'metal instrument used to unlock a lock', 'name': 'key'}, {'frequency': 'r', 'id': 616, 'synset': 'keycard.n.01', 'synonyms': ['keycard'], 'def': 'a plastic card used to gain access typically to a door', 'name': 'keycard'}, {'frequency': 'r', 'id': 617, 'synset': 'kilt.n.01', 'synonyms': ['kilt'], 'def': 'a knee-length pleated tartan skirt worn by men as part of the traditional dress in the Highlands of northern Scotland', 'name': 'kilt'}, {'frequency': 'c', 'id': 618, 'synset': 'kimono.n.01', 'synonyms': ['kimono'], 'def': 'a loose robe; imitated from robes originally worn by Japanese', 'name': 'kimono'}, {'frequency': 'f', 'id': 619, 'synset': 'kitchen_sink.n.01', 'synonyms': ['kitchen_sink'], 'def': 'a sink in a kitchen', 'name': 'kitchen_sink'}, {'frequency': 'c', 'id': 620, 'synset': 'kitchen_table.n.01', 'synonyms': ['kitchen_table'], 'def': 'a table in the kitchen', 'name': 'kitchen_table'}, {'frequency': 'f', 'id': 621, 'synset': 'kite.n.03', 'synonyms': ['kite'], 'def': 'plaything consisting of a light frame covered with tissue paper; flown in wind at end of a string', 'name': 'kite'}, {'frequency': 'c', 'id': 622, 'synset': 'kitten.n.01', 'synonyms': ['kitten', 'kitty'], 'def': 'young domestic cat', 'name': 'kitten'}, {'frequency': 'c', 'id': 623, 'synset': 'kiwi.n.03', 'synonyms': ['kiwi_fruit'], 'def': 'fuzzy brown egg-shaped fruit with slightly tart green flesh', 'name': 'kiwi_fruit'}, {'frequency': 'f', 'id': 624, 'synset': 'knee_pad.n.01', 'synonyms': ['knee_pad'], 'def': 'protective garment consisting of a pad worn by football or baseball or hockey players', 'name': 'knee_pad'}, {'frequency': 'f', 'id': 625, 'synset': 'knife.n.01', 'synonyms': ['knife'], 'def': 'tool with a blade and point used as a cutting instrument', 'name': 'knife'}, {'frequency': 'r', 'id': 626, 'synset': 'knight.n.02', 'synonyms': ['knight_(chess_piece)', 'horse_(chess_piece)'], 'def': 'a chess game piece shaped to resemble the head of a horse', 'name': 'knight_(chess_piece)'}, {'frequency': 'r', 'id': 627, 'synset': 'knitting_needle.n.01', 'synonyms': ['knitting_needle'], 'def': 'needle consisting of a slender rod with pointed ends; usually used in pairs', 'name': 'knitting_needle'}, {'frequency': 'f', 'id': 628, 'synset': 'knob.n.02', 'synonyms': ['knob'], 'def': 'a round handle often found on a door', 'name': 'knob'}, {'frequency': 'r', 'id': 629, 'synset': 'knocker.n.05', 'synonyms': ['knocker_(on_a_door)', 'doorknocker'], 'def': 'a device (usually metal and ornamental) attached by a hinge to a door', 'name': 'knocker_(on_a_door)'}, {'frequency': 'r', 'id': 630, 'synset': 'koala.n.01', 'synonyms': ['koala', 'koala_bear'], 'def': 'sluggish tailless Australian marsupial with grey furry ears and coat', 'name': 'koala'}, {'frequency': 'r', 'id': 631, 'synset': 'lab_coat.n.01', 'synonyms': ['lab_coat', 'laboratory_coat'], 'def': 'a light coat worn to protect clothing from substances used while working in a laboratory', 'name': 'lab_coat'}, {'frequency': 'f', 'id': 632, 'synset': 'ladder.n.01', 'synonyms': ['ladder'], 'def': 'steps consisting of two parallel members connected by rungs', 'name': 'ladder'}, {'frequency': 'c', 'id': 633, 'synset': 'ladle.n.01', 'synonyms': ['ladle'], 'def': 'a spoon-shaped vessel with a long handle frequently used to transfer liquids', 'name': 'ladle'}, {'frequency': 'r', 'id': 634, 'synset': 'ladybug.n.01', 'synonyms': ['ladybug', 'ladybeetle', 'ladybird_beetle'], 'def': 'small round bright-colored and spotted beetle, typically red and black', 'name': 'ladybug'}, {'frequency': 'c', 'id': 635, 'synset': 'lamb.n.01', 'synonyms': ['lamb_(animal)'], 'def': 'young sheep', 'name': 'lamb_(animal)'}, {'frequency': 'r', 'id': 636, 'synset': 'lamb_chop.n.01', 'synonyms': ['lamb-chop', 'lambchop'], 'def': 'chop cut from a lamb', 'name': 'lamb-chop'}, {'frequency': 'f', 'id': 637, 'synset': 'lamp.n.02', 'synonyms': ['lamp'], 'def': 'a piece of furniture holding one or more electric light bulbs', 'name': 'lamp'}, {'frequency': 'f', 'id': 638, 'synset': 'lamppost.n.01', 'synonyms': ['lamppost'], 'def': 'a metal post supporting an outdoor lamp (such as a streetlight)', 'name': 'lamppost'}, {'frequency': 'f', 'id': 639, 'synset': 'lampshade.n.01', 'synonyms': ['lampshade'], 'def': 'a protective ornamental shade used to screen a light bulb from direct view', 'name': 'lampshade'}, {'frequency': 'c', 'id': 640, 'synset': 'lantern.n.01', 'synonyms': ['lantern'], 'def': 'light in a transparent protective case', 'name': 'lantern'}, {'frequency': 'f', 'id': 641, 'synset': 'lanyard.n.02', 'synonyms': ['lanyard', 'laniard'], 'def': 'a cord worn around the neck to hold a knife or whistle, etc.', 'name': 'lanyard'}, {'frequency': 'f', 'id': 642, 'synset': 'laptop.n.01', 'synonyms': ['laptop_computer', 'notebook_computer'], 'def': 'a portable computer small enough to use in your lap', 'name': 'laptop_computer'}, {'frequency': 'r', 'id': 643, 'synset': 'lasagna.n.01', 'synonyms': ['lasagna', 'lasagne'], 'def': 'baked dish of layers of lasagna pasta with sauce and cheese and meat or vegetables', 'name': 'lasagna'}, {'frequency': 'c', 'id': 644, 'synset': 'latch.n.02', 'synonyms': ['latch'], 'def': 'a bar that can be lowered or slid into a groove to fasten a door or gate', 'name': 'latch'}, {'frequency': 'r', 'id': 645, 'synset': 'lawn_mower.n.01', 'synonyms': ['lawn_mower'], 'def': 'garden tool for mowing grass on lawns', 'name': 'lawn_mower'}, {'frequency': 'r', 'id': 646, 'synset': 'leather.n.01', 'synonyms': ['leather'], 'def': 'an animal skin made smooth and flexible by removing the hair and then tanning', 'name': 'leather'}, {'frequency': 'c', 'id': 647, 'synset': 'legging.n.01', 'synonyms': ['legging_(clothing)', 'leging_(clothing)', 'leg_covering'], 'def': 'a garment covering the leg (usually extending from the knee to the ankle)', 'name': 'legging_(clothing)'}, {'frequency': 'c', 'id': 648, 'synset': 'lego.n.01', 'synonyms': ['Lego', 'Lego_set'], 'def': "a child's plastic construction set for making models from blocks", 'name': 'Lego'}, {'frequency': 'f', 'id': 649, 'synset': 'lemon.n.01', 'synonyms': ['lemon'], 'def': 'yellow oval fruit with juicy acidic flesh', 'name': 'lemon'}, {'frequency': 'r', 'id': 650, 'synset': 'lemonade.n.01', 'synonyms': ['lemonade'], 'def': 'sweetened beverage of diluted lemon juice', 'name': 'lemonade'}, {'frequency': 'f', 'id': 651, 'synset': 'lettuce.n.02', 'synonyms': ['lettuce'], 'def': 'leafy plant commonly eaten in salad or on sandwiches', 'name': 'lettuce'}, {'frequency': 'f', 'id': 652, 'synset': 'license_plate.n.01', 'synonyms': ['license_plate', 'numberplate'], 'def': "a plate mounted on the front and back of car and bearing the car's registration number", 'name': 'license_plate'}, {'frequency': 'f', 'id': 653, 'synset': 'life_buoy.n.01', 'synonyms': ['life_buoy', 'lifesaver', 'life_belt', 'life_ring'], 'def': 'a ring-shaped life preserver used to prevent drowning (NOT a life-jacket or vest)', 'name': 'life_buoy'}, {'frequency': 'f', 'id': 654, 'synset': 'life_jacket.n.01', 'synonyms': ['life_jacket', 'life_vest'], 'def': 'life preserver consisting of a sleeveless jacket of buoyant or inflatable design', 'name': 'life_jacket'}, {'frequency': 'f', 'id': 655, 'synset': 'light_bulb.n.01', 'synonyms': ['lightbulb'], 'def': 'glass bulb or tube shaped electric device that emits light (DO NOT MARK LAMPS AS A WHOLE)', 'name': 'lightbulb'}, {'frequency': 'r', 'id': 656, 'synset': 'lightning_rod.n.02', 'synonyms': ['lightning_rod', 'lightning_conductor'], 'def': 'a metallic conductor that is attached to a high point and leads to the ground', 'name': 'lightning_rod'}, {'frequency': 'c', 'id': 657, 'synset': 'lime.n.06', 'synonyms': ['lime'], 'def': 'the green acidic fruit of any of various lime trees', 'name': 'lime'}, {'frequency': 'r', 'id': 658, 'synset': 'limousine.n.01', 'synonyms': ['limousine'], 'def': 'long luxurious car; usually driven by a chauffeur', 'name': 'limousine'}, {'frequency': 'r', 'id': 659, 'synset': 'linen.n.02', 'synonyms': ['linen_paper'], 'def': 'a high-quality paper made of linen fibers or with a linen finish', 'name': 'linen_paper'}, {'frequency': 'c', 'id': 660, 'synset': 'lion.n.01', 'synonyms': ['lion'], 'def': 'large gregarious predatory cat of Africa and India', 'name': 'lion'}, {'frequency': 'c', 'id': 661, 'synset': 'lip_balm.n.01', 'synonyms': ['lip_balm'], 'def': 'a balm applied to the lips', 'name': 'lip_balm'}, {'frequency': 'c', 'id': 662, 'synset': 'lipstick.n.01', 'synonyms': ['lipstick', 'lip_rouge'], 'def': 'makeup that is used to color the lips', 'name': 'lipstick'}, {'frequency': 'r', 'id': 663, 'synset': 'liquor.n.01', 'synonyms': ['liquor', 'spirits', 'hard_liquor', 'liqueur', 'cordial'], 'def': 'an alcoholic beverage that is distilled rather than fermented', 'name': 'liquor'}, {'frequency': 'r', 'id': 664, 'synset': 'lizard.n.01', 'synonyms': ['lizard'], 'def': 'a reptile with usually two pairs of legs and a tapering tail', 'name': 'lizard'}, {'frequency': 'r', 'id': 665, 'synset': 'loafer.n.02', 'synonyms': ['Loafer_(type_of_shoe)'], 'def': 'a low leather step-in shoe', 'name': 'Loafer_(type_of_shoe)'}, {'frequency': 'f', 'id': 666, 'synset': 'log.n.01', 'synonyms': ['log'], 'def': 'a segment of the trunk of a tree when stripped of branches', 'name': 'log'}, {'frequency': 'c', 'id': 667, 'synset': 'lollipop.n.02', 'synonyms': ['lollipop'], 'def': 'hard candy on a stick', 'name': 'lollipop'}, {'frequency': 'c', 'id': 668, 'synset': 'lotion.n.01', 'synonyms': ['lotion'], 'def': 'any of various cosmetic preparations that are applied to the skin', 'name': 'lotion'}, {'frequency': 'f', 'id': 669, 'synset': 'loudspeaker.n.01', 'synonyms': ['speaker_(stero_equipment)'], 'def': 'electronic device that produces sound often as part of a stereo system', 'name': 'speaker_(stero_equipment)'}, {'frequency': 'c', 'id': 670, 'synset': 'love_seat.n.01', 'synonyms': ['loveseat'], 'def': 'small sofa that seats two people', 'name': 'loveseat'}, {'frequency': 'r', 'id': 671, 'synset': 'machine_gun.n.01', 'synonyms': ['machine_gun'], 'def': 'a rapidly firing automatic gun', 'name': 'machine_gun'}, {'frequency': 'f', 'id': 672, 'synset': 'magazine.n.02', 'synonyms': ['magazine'], 'def': 'a paperback periodic publication', 'name': 'magazine'}, {'frequency': 'f', 'id': 673, 'synset': 'magnet.n.01', 'synonyms': ['magnet'], 'def': 'a device that attracts iron and produces a magnetic field', 'name': 'magnet'}, {'frequency': 'r', 'id': 674, 'synset': 'mail_slot.n.01', 'synonyms': ['mail_slot'], 'def': 'a slot (usually in a door) through which mail can be delivered', 'name': 'mail_slot'}, {'frequency': 'c', 'id': 675, 'synset': 'mailbox.n.01', 'synonyms': ['mailbox_(at_home)', 'letter_box_(at_home)'], 'def': 'a private box for delivery of mail', 'name': 'mailbox_(at_home)'}, {'frequency': 'r', 'id': 676, 'synset': 'mallet.n.01', 'synonyms': ['mallet'], 'def': 'a sports implement with a long handle and a hammer-like head used to hit a ball', 'name': 'mallet'}, {'frequency': 'r', 'id': 677, 'synset': 'mammoth.n.01', 'synonyms': ['mammoth'], 'def': 'any of numerous extinct elephants widely distributed in the Pleistocene', 'name': 'mammoth'}, {'frequency': 'c', 'id': 678, 'synset': 'mandarin.n.05', 'synonyms': ['mandarin_orange'], 'def': 'a somewhat flat reddish-orange loose skinned citrus of China', 'name': 'mandarin_orange'}, {'frequency': 'c', 'id': 679, 'synset': 'manger.n.01', 'synonyms': ['manger', 'trough'], 'def': 'a container (usually in a barn or stable) from which cattle or horses feed', 'name': 'manger'}, {'frequency': 'f', 'id': 680, 'synset': 'manhole.n.01', 'synonyms': ['manhole'], 'def': 'a hole (usually with a flush cover) through which a person can gain access to an underground structure', 'name': 'manhole'}, {'frequency': 'c', 'id': 681, 'synset': 'map.n.01', 'synonyms': ['map'], 'def': "a diagrammatic representation of the earth's surface (or part of it)", 'name': 'map'}, {'frequency': 'c', 'id': 682, 'synset': 'marker.n.03', 'synonyms': ['marker'], 'def': 'a writing implement for making a mark', 'name': 'marker'}, {'frequency': 'r', 'id': 683, 'synset': 'martini.n.01', 'synonyms': ['martini'], 'def': 'a cocktail made of gin (or vodka) with dry vermouth', 'name': 'martini'}, {'frequency': 'r', 'id': 684, 'synset': 'mascot.n.01', 'synonyms': ['mascot'], 'def': 'a person or animal that is adopted by a team or other group as a symbolic figure', 'name': 'mascot'}, {'frequency': 'c', 'id': 685, 'synset': 'mashed_potato.n.01', 'synonyms': ['mashed_potato'], 'def': 'potato that has been peeled and boiled and then mashed', 'name': 'mashed_potato'}, {'frequency': 'r', 'id': 686, 'synset': 'masher.n.02', 'synonyms': ['masher'], 'def': 'a kitchen utensil used for mashing (e.g. potatoes)', 'name': 'masher'}, {'frequency': 'f', 'id': 687, 'synset': 'mask.n.04', 'synonyms': ['mask', 'facemask'], 'def': 'a protective covering worn over the face', 'name': 'mask'}, {'frequency': 'f', 'id': 688, 'synset': 'mast.n.01', 'synonyms': ['mast'], 'def': 'a vertical spar for supporting sails', 'name': 'mast'}, {'frequency': 'c', 'id': 689, 'synset': 'mat.n.03', 'synonyms': ['mat_(gym_equipment)', 'gym_mat'], 'def': 'sports equipment consisting of a piece of thick padding on the floor for gymnastics', 'name': 'mat_(gym_equipment)'}, {'frequency': 'r', 'id': 690, 'synset': 'matchbox.n.01', 'synonyms': ['matchbox'], 'def': 'a box for holding matches', 'name': 'matchbox'}, {'frequency': 'f', 'id': 691, 'synset': 'mattress.n.01', 'synonyms': ['mattress'], 'def': 'a thick pad filled with resilient material used as a bed or part of a bed', 'name': 'mattress'}, {'frequency': 'c', 'id': 692, 'synset': 'measuring_cup.n.01', 'synonyms': ['measuring_cup'], 'def': 'graduated cup used to measure liquid or granular ingredients', 'name': 'measuring_cup'}, {'frequency': 'c', 'id': 693, 'synset': 'measuring_stick.n.01', 'synonyms': ['measuring_stick', 'ruler_(measuring_stick)', 'measuring_rod'], 'def': 'measuring instrument having a sequence of marks at regular intervals', 'name': 'measuring_stick'}, {'frequency': 'c', 'id': 694, 'synset': 'meatball.n.01', 'synonyms': ['meatball'], 'def': 'ground meat formed into a ball and fried or simmered in broth', 'name': 'meatball'}, {'frequency': 'c', 'id': 695, 'synset': 'medicine.n.02', 'synonyms': ['medicine'], 'def': 'something that treats or prevents or alleviates the symptoms of disease', 'name': 'medicine'}, {'frequency': 'r', 'id': 696, 'synset': 'melon.n.01', 'synonyms': ['melon'], 'def': 'fruit of the gourd family having a hard rind and sweet juicy flesh', 'name': 'melon'}, {'frequency': 'f', 'id': 697, 'synset': 'microphone.n.01', 'synonyms': ['microphone'], 'def': 'device for converting sound waves into electrical energy', 'name': 'microphone'}, {'frequency': 'r', 'id': 698, 'synset': 'microscope.n.01', 'synonyms': ['microscope'], 'def': 'magnifier of the image of small objects', 'name': 'microscope'}, {'frequency': 'f', 'id': 699, 'synset': 'microwave.n.02', 'synonyms': ['microwave_oven'], 'def': 'kitchen appliance that cooks food by passing an electromagnetic wave through it', 'name': 'microwave_oven'}, {'frequency': 'r', 'id': 700, 'synset': 'milestone.n.01', 'synonyms': ['milestone', 'milepost'], 'def': 'stone post at side of a road to show distances', 'name': 'milestone'}, {'frequency': 'c', 'id': 701, 'synset': 'milk.n.01', 'synonyms': ['milk'], 'def': 'a white nutritious liquid secreted by mammals and used as food by human beings', 'name': 'milk'}, {'frequency': 'f', 'id': 702, 'synset': 'minivan.n.01', 'synonyms': ['minivan'], 'def': 'a small box-shaped passenger van', 'name': 'minivan'}, {'frequency': 'r', 'id': 703, 'synset': 'mint.n.05', 'synonyms': ['mint_candy'], 'def': 'a candy that is flavored with a mint oil', 'name': 'mint_candy'}, {'frequency': 'f', 'id': 704, 'synset': 'mirror.n.01', 'synonyms': ['mirror'], 'def': 'polished surface that forms images by reflecting light', 'name': 'mirror'}, {'frequency': 'c', 'id': 705, 'synset': 'mitten.n.01', 'synonyms': ['mitten'], 'def': 'glove that encases the thumb separately and the other four fingers together', 'name': 'mitten'}, {'frequency': 'c', 'id': 706, 'synset': 'mixer.n.04', 'synonyms': ['mixer_(kitchen_tool)', 'stand_mixer'], 'def': 'a kitchen utensil that is used for mixing foods', 'name': 'mixer_(kitchen_tool)'}, {'frequency': 'c', 'id': 707, 'synset': 'money.n.03', 'synonyms': ['money'], 'def': 'the official currency issued by a government or national bank', 'name': 'money'}, {'frequency': 'f', 'id': 708, 'synset': 'monitor.n.04', 'synonyms': ['monitor_(computer_equipment) computer_monitor'], 'def': 'a computer monitor', 'name': 'monitor_(computer_equipment) computer_monitor'}, {'frequency': 'c', 'id': 709, 'synset': 'monkey.n.01', 'synonyms': ['monkey'], 'def': 'any of various long-tailed primates', 'name': 'monkey'}, {'frequency': 'f', 'id': 710, 'synset': 'motor.n.01', 'synonyms': ['motor'], 'def': 'machine that converts other forms of energy into mechanical energy and so imparts motion', 'name': 'motor'}, {'frequency': 'f', 'id': 711, 'synset': 'motor_scooter.n.01', 'synonyms': ['motor_scooter', 'scooter'], 'def': 'a wheeled vehicle with small wheels and a low-powered engine', 'name': 'motor_scooter'}, {'frequency': 'r', 'id': 712, 'synset': 'motor_vehicle.n.01', 'synonyms': ['motor_vehicle', 'automotive_vehicle'], 'def': 'a self-propelled wheeled vehicle that does not run on rails', 'name': 'motor_vehicle'}, {'frequency': 'r', 'id': 713, 'synset': 'motorboat.n.01', 'synonyms': ['motorboat', 'powerboat'], 'def': 'a boat propelled by an internal-combustion engine', 'name': 'motorboat'}, {'frequency': 'f', 'id': 714, 'synset': 'motorcycle.n.01', 'synonyms': ['motorcycle'], 'def': 'a motor vehicle with two wheels and a strong frame', 'name': 'motorcycle'}, {'frequency': 'f', 'id': 715, 'synset': 'mound.n.01', 'synonyms': ['mound_(baseball)', "pitcher's_mound"], 'def': '(baseball) the slight elevation on which the pitcher stands', 'name': 'mound_(baseball)'}, {'frequency': 'r', 'id': 716, 'synset': 'mouse.n.01', 'synonyms': ['mouse_(animal_rodent)'], 'def': 'a small rodent with pointed snouts and small ears on elongated bodies with slender usually hairless tails', 'name': 'mouse_(animal_rodent)'}, {'frequency': 'f', 'id': 717, 'synset': 'mouse.n.04', 'synonyms': ['mouse_(computer_equipment)', 'computer_mouse'], 'def': 'a computer input device that controls an on-screen pointer', 'name': 'mouse_(computer_equipment)'}, {'frequency': 'f', 'id': 718, 'synset': 'mousepad.n.01', 'synonyms': ['mousepad'], 'def': 'a small portable pad that provides an operating surface for a computer mouse', 'name': 'mousepad'}, {'frequency': 'c', 'id': 719, 'synset': 'muffin.n.01', 'synonyms': ['muffin'], 'def': 'a sweet quick bread baked in a cup-shaped pan', 'name': 'muffin'}, {'frequency': 'f', 'id': 720, 'synset': 'mug.n.04', 'synonyms': ['mug'], 'def': 'with handle and usually cylindrical', 'name': 'mug'}, {'frequency': 'f', 'id': 721, 'synset': 'mushroom.n.02', 'synonyms': ['mushroom'], 'def': 'a common mushroom', 'name': 'mushroom'}, {'frequency': 'r', 'id': 722, 'synset': 'music_stool.n.01', 'synonyms': ['music_stool', 'piano_stool'], 'def': 'a stool for piano players; usually adjustable in height', 'name': 'music_stool'}, {'frequency': 'r', 'id': 723, 'synset': 'musical_instrument.n.01', 'synonyms': ['musical_instrument', 'instrument_(musical)'], 'def': 'any of various devices or contrivances that can be used to produce musical tones or sounds', 'name': 'musical_instrument'}, {'frequency': 'r', 'id': 724, 'synset': 'nailfile.n.01', 'synonyms': ['nailfile'], 'def': 'a small flat file for shaping the nails', 'name': 'nailfile'}, {'frequency': 'r', 'id': 725, 'synset': 'nameplate.n.01', 'synonyms': ['nameplate'], 'def': 'a plate bearing a name', 'name': 'nameplate'}, {'frequency': 'f', 'id': 726, 'synset': 'napkin.n.01', 'synonyms': ['napkin', 'table_napkin', 'serviette'], 'def': 'a small piece of table linen or paper that is used to wipe the mouth and to cover the lap in order to protect clothing', 'name': 'napkin'}, {'frequency': 'r', 'id': 727, 'synset': 'neckerchief.n.01', 'synonyms': ['neckerchief'], 'def': 'a kerchief worn around the neck', 'name': 'neckerchief'}, {'frequency': 'f', 'id': 728, 'synset': 'necklace.n.01', 'synonyms': ['necklace'], 'def': 'jewelry consisting of a cord or chain (often bearing gems) worn about the neck as an ornament', 'name': 'necklace'}, {'frequency': 'f', 'id': 729, 'synset': 'necktie.n.01', 'synonyms': ['necktie', 'tie_(necktie)'], 'def': 'neckwear consisting of a long narrow piece of material worn under a collar and tied in knot at the front', 'name': 'necktie'}, {'frequency': 'r', 'id': 730, 'synset': 'needle.n.03', 'synonyms': ['needle'], 'def': 'a sharp pointed implement (usually metal)', 'name': 'needle'}, {'frequency': 'c', 'id': 731, 'synset': 'nest.n.01', 'synonyms': ['nest'], 'def': 'a structure in which animals lay eggs or give birth to their young', 'name': 'nest'}, {'frequency': 'r', 'id': 732, 'synset': 'newsstand.n.01', 'synonyms': ['newsstand'], 'def': 'a stall where newspapers and other periodicals are sold', 'name': 'newsstand'}, {'frequency': 'c', 'id': 733, 'synset': 'nightwear.n.01', 'synonyms': ['nightshirt', 'nightwear', 'sleepwear', 'nightclothes'], 'def': 'garments designed to be worn in bed', 'name': 'nightshirt'}, {'frequency': 'r', 'id': 734, 'synset': 'nosebag.n.01', 'synonyms': ['nosebag_(for_animals)', 'feedbag'], 'def': 'a canvas bag that is used to feed an animal (such as a horse); covers the muzzle and fastens at the top of the head', 'name': 'nosebag_(for_animals)'}, {'frequency': 'r', 'id': 735, 'synset': 'noseband.n.01', 'synonyms': ['noseband_(for_animals)', 'nosepiece_(for_animals)'], 'def': "a strap that is the part of a bridle that goes over the animal's nose", 'name': 'noseband_(for_animals)'}, {'frequency': 'f', 'id': 736, 'synset': 'notebook.n.01', 'synonyms': ['notebook'], 'def': 'a book with blank pages for recording notes or memoranda', 'name': 'notebook'}, {'frequency': 'c', 'id': 737, 'synset': 'notepad.n.01', 'synonyms': ['notepad'], 'def': 'a pad of paper for keeping notes', 'name': 'notepad'}, {'frequency': 'c', 'id': 738, 'synset': 'nut.n.03', 'synonyms': ['nut'], 'def': 'a small metal block (usually square or hexagonal) with internal screw thread to be fitted onto a bolt', 'name': 'nut'}, {'frequency': 'r', 'id': 739, 'synset': 'nutcracker.n.01', 'synonyms': ['nutcracker'], 'def': 'a hand tool used to crack nuts open', 'name': 'nutcracker'}, {'frequency': 'c', 'id': 740, 'synset': 'oar.n.01', 'synonyms': ['oar'], 'def': 'an implement used to propel or steer a boat', 'name': 'oar'}, {'frequency': 'r', 'id': 741, 'synset': 'octopus.n.01', 'synonyms': ['octopus_(food)'], 'def': 'tentacles of octopus prepared as food', 'name': 'octopus_(food)'}, {'frequency': 'r', 'id': 742, 'synset': 'octopus.n.02', 'synonyms': ['octopus_(animal)'], 'def': 'bottom-living cephalopod having a soft oval body with eight long tentacles', 'name': 'octopus_(animal)'}, {'frequency': 'c', 'id': 743, 'synset': 'oil_lamp.n.01', 'synonyms': ['oil_lamp', 'kerosene_lamp', 'kerosine_lamp'], 'def': 'a lamp that burns oil (as kerosine) for light', 'name': 'oil_lamp'}, {'frequency': 'c', 'id': 744, 'synset': 'olive_oil.n.01', 'synonyms': ['olive_oil'], 'def': 'oil from olives', 'name': 'olive_oil'}, {'frequency': 'r', 'id': 745, 'synset': 'omelet.n.01', 'synonyms': ['omelet', 'omelette'], 'def': 'beaten eggs cooked until just set; may be folded around e.g. ham or cheese or jelly', 'name': 'omelet'}, {'frequency': 'f', 'id': 746, 'synset': 'onion.n.01', 'synonyms': ['onion'], 'def': 'the bulb of an onion plant', 'name': 'onion'}, {'frequency': 'f', 'id': 747, 'synset': 'orange.n.01', 'synonyms': ['orange_(fruit)'], 'def': 'orange (FRUIT of an orange tree)', 'name': 'orange_(fruit)'}, {'frequency': 'c', 'id': 748, 'synset': 'orange_juice.n.01', 'synonyms': ['orange_juice'], 'def': 'bottled or freshly squeezed juice of oranges', 'name': 'orange_juice'}, {'frequency': 'r', 'id': 749, 'synset': 'oregano.n.01', 'synonyms': ['oregano', 'marjoram'], 'def': 'aromatic Eurasian perennial herb used in cooking and baking', 'name': 'oregano'}, {'frequency': 'c', 'id': 750, 'synset': 'ostrich.n.02', 'synonyms': ['ostrich'], 'def': 'fast-running African flightless bird with two-toed feet; largest living bird', 'name': 'ostrich'}, {'frequency': 'c', 'id': 751, 'synset': 'ottoman.n.03', 'synonyms': ['ottoman', 'pouf', 'pouffe', 'hassock'], 'def': 'thick cushion used as a seat', 'name': 'ottoman'}, {'frequency': 'c', 'id': 752, 'synset': 'overall.n.01', 'synonyms': ['overalls_(clothing)'], 'def': 'work clothing consisting of denim trousers usually with a bib and shoulder straps', 'name': 'overalls_(clothing)'}, {'frequency': 'c', 'id': 753, 'synset': 'owl.n.01', 'synonyms': ['owl'], 'def': 'nocturnal bird of prey with hawk-like beak and claws and large head with front-facing eyes', 'name': 'owl'}, {'frequency': 'c', 'id': 754, 'synset': 'packet.n.03', 'synonyms': ['packet'], 'def': 'a small package or bundle', 'name': 'packet'}, {'frequency': 'r', 'id': 755, 'synset': 'pad.n.03', 'synonyms': ['inkpad', 'inking_pad', 'stamp_pad'], 'def': 'absorbent material saturated with ink used to transfer ink evenly to a rubber stamp', 'name': 'inkpad'}, {'frequency': 'c', 'id': 756, 'synset': 'pad.n.04', 'synonyms': ['pad'], 'def': 'a flat mass of soft material used for protection, stuffing, or comfort', 'name': 'pad'}, {'frequency': 'c', 'id': 757, 'synset': 'paddle.n.04', 'synonyms': ['paddle', 'boat_paddle'], 'def': 'a short light oar used without an oarlock to propel a canoe or small boat', 'name': 'paddle'}, {'frequency': 'c', 'id': 758, 'synset': 'padlock.n.01', 'synonyms': ['padlock'], 'def': 'a detachable, portable lock', 'name': 'padlock'}, {'frequency': 'r', 'id': 759, 'synset': 'paintbox.n.01', 'synonyms': ['paintbox'], 'def': "a box containing a collection of cubes or tubes of artists' paint", 'name': 'paintbox'}, {'frequency': 'c', 'id': 760, 'synset': 'paintbrush.n.01', 'synonyms': ['paintbrush'], 'def': 'a brush used as an applicator to apply paint', 'name': 'paintbrush'}, {'frequency': 'f', 'id': 761, 'synset': 'painting.n.01', 'synonyms': ['painting'], 'def': 'graphic art consisting of an artistic composition made by applying paints to a surface', 'name': 'painting'}, {'frequency': 'c', 'id': 762, 'synset': 'pajama.n.02', 'synonyms': ['pajamas', 'pyjamas'], 'def': 'loose-fitting nightclothes worn for sleeping or lounging', 'name': 'pajamas'}, {'frequency': 'c', 'id': 763, 'synset': 'palette.n.02', 'synonyms': ['palette', 'pallet'], 'def': 'board that provides a flat surface on which artists mix paints and the range of colors used', 'name': 'palette'}, {'frequency': 'f', 'id': 764, 'synset': 'pan.n.01', 'synonyms': ['pan_(for_cooking)', 'cooking_pan'], 'def': 'cooking utensil consisting of a wide metal vessel', 'name': 'pan_(for_cooking)'}, {'frequency': 'r', 'id': 765, 'synset': 'pan.n.03', 'synonyms': ['pan_(metal_container)'], 'def': 'shallow container made of metal', 'name': 'pan_(metal_container)'}, {'frequency': 'c', 'id': 766, 'synset': 'pancake.n.01', 'synonyms': ['pancake'], 'def': 'a flat cake of thin batter fried on both sides on a griddle', 'name': 'pancake'}, {'frequency': 'r', 'id': 767, 'synset': 'pantyhose.n.01', 'synonyms': ['pantyhose'], 'def': "a woman's tights consisting of underpants and stockings", 'name': 'pantyhose'}, {'frequency': 'r', 'id': 768, 'synset': 'papaya.n.02', 'synonyms': ['papaya'], 'def': 'large oval melon-like tropical fruit with yellowish flesh', 'name': 'papaya'}, {'frequency': 'r', 'id': 769, 'synset': 'paper_clip.n.01', 'synonyms': ['paperclip'], 'def': 'a wire or plastic clip for holding sheets of paper together', 'name': 'paperclip'}, {'frequency': 'f', 'id': 770, 'synset': 'paper_plate.n.01', 'synonyms': ['paper_plate'], 'def': 'a disposable plate made of cardboard', 'name': 'paper_plate'}, {'frequency': 'f', 'id': 771, 'synset': 'paper_towel.n.01', 'synonyms': ['paper_towel'], 'def': 'a disposable towel made of absorbent paper', 'name': 'paper_towel'}, {'frequency': 'r', 'id': 772, 'synset': 'paperback_book.n.01', 'synonyms': ['paperback_book', 'paper-back_book', 'softback_book', 'soft-cover_book'], 'def': 'a book with paper covers', 'name': 'paperback_book'}, {'frequency': 'r', 'id': 773, 'synset': 'paperweight.n.01', 'synonyms': ['paperweight'], 'def': 'a weight used to hold down a stack of papers', 'name': 'paperweight'}, {'frequency': 'c', 'id': 774, 'synset': 'parachute.n.01', 'synonyms': ['parachute'], 'def': 'rescue equipment consisting of a device that fills with air and retards your fall', 'name': 'parachute'}, {'frequency': 'r', 'id': 775, 'synset': 'parakeet.n.01', 'synonyms': ['parakeet', 'parrakeet', 'parroket', 'paraquet', 'paroquet', 'parroquet'], 'def': 'any of numerous small slender long-tailed parrots', 'name': 'parakeet'}, {'frequency': 'c', 'id': 776, 'synset': 'parasail.n.01', 'synonyms': ['parasail_(sports)'], 'def': 'parachute that will lift a person up into the air when it is towed by a motorboat or a car', 'name': 'parasail_(sports)'}, {'frequency': 'r', 'id': 777, 'synset': 'parchment.n.01', 'synonyms': ['parchment'], 'def': 'a superior paper resembling sheepskin', 'name': 'parchment'}, {'frequency': 'r', 'id': 778, 'synset': 'parka.n.01', 'synonyms': ['parka', 'anorak'], 'def': "a kind of heavy jacket (`windcheater' is a British term)", 'name': 'parka'}, {'frequency': 'f', 'id': 779, 'synset': 'parking_meter.n.01', 'synonyms': ['parking_meter'], 'def': 'a coin-operated timer located next to a parking space', 'name': 'parking_meter'}, {'frequency': 'c', 'id': 780, 'synset': 'parrot.n.01', 'synonyms': ['parrot'], 'def': 'usually brightly colored tropical birds with short hooked beaks and the ability to mimic sounds', 'name': 'parrot'}, {'frequency': 'c', 'id': 781, 'synset': 'passenger_car.n.01', 'synonyms': ['passenger_car_(part_of_a_train)', 'coach_(part_of_a_train)'], 'def': 'a railcar where passengers ride', 'name': 'passenger_car_(part_of_a_train)'}, {'frequency': 'r', 'id': 782, 'synset': 'passenger_ship.n.01', 'synonyms': ['passenger_ship'], 'def': 'a ship built to carry passengers', 'name': 'passenger_ship'}, {'frequency': 'r', 'id': 783, 'synset': 'passport.n.02', 'synonyms': ['passport'], 'def': 'a document issued by a country to a citizen allowing that person to travel abroad and re-enter the home country', 'name': 'passport'}, {'frequency': 'f', 'id': 784, 'synset': 'pastry.n.02', 'synonyms': ['pastry'], 'def': 'any of various baked foods made of dough or batter', 'name': 'pastry'}, {'frequency': 'r', 'id': 785, 'synset': 'patty.n.01', 'synonyms': ['patty_(food)'], 'def': 'small flat mass of chopped food', 'name': 'patty_(food)'}, {'frequency': 'c', 'id': 786, 'synset': 'pea.n.01', 'synonyms': ['pea_(food)'], 'def': 'seed of a pea plant used for food', 'name': 'pea_(food)'}, {'frequency': 'c', 'id': 787, 'synset': 'peach.n.03', 'synonyms': ['peach'], 'def': 'downy juicy fruit with sweet yellowish or whitish flesh', 'name': 'peach'}, {'frequency': 'c', 'id': 788, 'synset': 'peanut_butter.n.01', 'synonyms': ['peanut_butter'], 'def': 'a spread made from ground peanuts', 'name': 'peanut_butter'}, {'frequency': 'c', 'id': 789, 'synset': 'pear.n.01', 'synonyms': ['pear'], 'def': 'sweet juicy gritty-textured fruit available in many varieties', 'name': 'pear'}, {'frequency': 'r', 'id': 790, 'synset': 'peeler.n.03', 'synonyms': ['peeler_(tool_for_fruit_and_vegetables)'], 'def': 'a device for peeling vegetables or fruits', 'name': 'peeler_(tool_for_fruit_and_vegetables)'}, {'frequency': 'r', 'id': 791, 'synset': 'pegboard.n.01', 'synonyms': ['pegboard'], 'def': 'a board perforated with regularly spaced holes into which pegs can be fitted', 'name': 'pegboard'}, {'frequency': 'c', 'id': 792, 'synset': 'pelican.n.01', 'synonyms': ['pelican'], 'def': 'large long-winged warm-water seabird having a large bill with a distensible pouch for fish', 'name': 'pelican'}, {'frequency': 'f', 'id': 793, 'synset': 'pen.n.01', 'synonyms': ['pen'], 'def': 'a writing implement with a point from which ink flows', 'name': 'pen'}, {'frequency': 'c', 'id': 794, 'synset': 'pencil.n.01', 'synonyms': ['pencil'], 'def': 'a thin cylindrical pointed writing implement made of wood and graphite', 'name': 'pencil'}, {'frequency': 'r', 'id': 795, 'synset': 'pencil_box.n.01', 'synonyms': ['pencil_box', 'pencil_case'], 'def': 'a box for holding pencils', 'name': 'pencil_box'}, {'frequency': 'r', 'id': 796, 'synset': 'pencil_sharpener.n.01', 'synonyms': ['pencil_sharpener'], 'def': 'a rotary implement for sharpening the point on pencils', 'name': 'pencil_sharpener'}, {'frequency': 'r', 'id': 797, 'synset': 'pendulum.n.01', 'synonyms': ['pendulum'], 'def': 'an apparatus consisting of an object mounted so that it swings freely under the influence of gravity', 'name': 'pendulum'}, {'frequency': 'c', 'id': 798, 'synset': 'penguin.n.01', 'synonyms': ['penguin'], 'def': 'short-legged flightless birds of cold southern regions having webbed feet and wings modified as flippers', 'name': 'penguin'}, {'frequency': 'r', 'id': 799, 'synset': 'pennant.n.02', 'synonyms': ['pennant'], 'def': 'a flag longer than it is wide (and often tapering)', 'name': 'pennant'}, {'frequency': 'r', 'id': 800, 'synset': 'penny.n.02', 'synonyms': ['penny_(coin)'], 'def': 'a coin worth one-hundredth of the value of the basic unit', 'name': 'penny_(coin)'}, {'frequency': 'c', 'id': 801, 'synset': 'pepper.n.03', 'synonyms': ['pepper', 'peppercorn'], 'def': 'pungent seasoning from the berry of the common pepper plant; whole or ground', 'name': 'pepper'}, {'frequency': 'c', 'id': 802, 'synset': 'pepper_mill.n.01', 'synonyms': ['pepper_mill', 'pepper_grinder'], 'def': 'a mill for grinding pepper', 'name': 'pepper_mill'}, {'frequency': 'c', 'id': 803, 'synset': 'perfume.n.02', 'synonyms': ['perfume'], 'def': 'a toiletry that emits and diffuses a fragrant odor', 'name': 'perfume'}, {'frequency': 'r', 'id': 804, 'synset': 'persimmon.n.02', 'synonyms': ['persimmon'], 'def': 'orange fruit resembling a plum; edible when fully ripe', 'name': 'persimmon'}, {'frequency': 'f', 'id': 805, 'synset': 'person.n.01', 'synonyms': ['baby', 'child', 'boy', 'girl', 'man', 'woman', 'person', 'human'], 'def': 'a human being', 'name': 'baby'}, {'frequency': 'r', 'id': 806, 'synset': 'pet.n.01', 'synonyms': ['pet'], 'def': 'a domesticated animal kept for companionship or amusement', 'name': 'pet'}, {'frequency': 'r', 'id': 807, 'synset': 'petfood.n.01', 'synonyms': ['petfood', 'pet-food'], 'def': 'food prepared for animal pets', 'name': 'petfood'}, {'frequency': 'r', 'id': 808, 'synset': 'pew.n.01', 'synonyms': ['pew_(church_bench)', 'church_bench'], 'def': 'long bench with backs; used in church by the congregation', 'name': 'pew_(church_bench)'}, {'frequency': 'r', 'id': 809, 'synset': 'phonebook.n.01', 'synonyms': ['phonebook', 'telephone_book', 'telephone_directory'], 'def': 'a directory containing an alphabetical list of telephone subscribers and their telephone numbers', 'name': 'phonebook'}, {'frequency': 'c', 'id': 810, 'synset': 'phonograph_record.n.01', 'synonyms': ['phonograph_record', 'phonograph_recording', 'record_(phonograph_recording)'], 'def': 'sound recording consisting of a typically black disk with a continuous groove', 'name': 'phonograph_record'}, {'frequency': 'c', 'id': 811, 'synset': 'piano.n.01', 'synonyms': ['piano'], 'def': 'a keyboard instrument that is played by depressing keys that cause hammers to strike tuned strings and produce sounds', 'name': 'piano'}, {'frequency': 'f', 'id': 812, 'synset': 'pickle.n.01', 'synonyms': ['pickle'], 'def': 'vegetables (especially cucumbers) preserved in brine or vinegar', 'name': 'pickle'}, {'frequency': 'f', 'id': 813, 'synset': 'pickup.n.01', 'synonyms': ['pickup_truck'], 'def': 'a light truck with an open body and low sides and a tailboard', 'name': 'pickup_truck'}, {'frequency': 'c', 'id': 814, 'synset': 'pie.n.01', 'synonyms': ['pie'], 'def': 'dish baked in pastry-lined pan often with a pastry top', 'name': 'pie'}, {'frequency': 'c', 'id': 815, 'synset': 'pigeon.n.01', 'synonyms': ['pigeon'], 'def': 'wild and domesticated birds having a heavy body and short legs', 'name': 'pigeon'}, {'frequency': 'r', 'id': 816, 'synset': 'piggy_bank.n.01', 'synonyms': ['piggy_bank', 'penny_bank'], 'def': "a child's coin bank (often shaped like a pig)", 'name': 'piggy_bank'}, {'frequency': 'f', 'id': 817, 'synset': 'pillow.n.01', 'synonyms': ['pillow'], 'def': 'a cushion to support the head of a sleeping person', 'name': 'pillow'}, {'frequency': 'r', 'id': 818, 'synset': 'pin.n.09', 'synonyms': ['pin_(non_jewelry)'], 'def': 'a small slender (often pointed) piece of wood or metal used to support or fasten or attach things', 'name': 'pin_(non_jewelry)'}, {'frequency': 'f', 'id': 819, 'synset': 'pineapple.n.02', 'synonyms': ['pineapple'], 'def': 'large sweet fleshy tropical fruit with a tuft of stiff leaves', 'name': 'pineapple'}, {'frequency': 'c', 'id': 820, 'synset': 'pinecone.n.01', 'synonyms': ['pinecone'], 'def': 'the seed-producing cone of a pine tree', 'name': 'pinecone'}, {'frequency': 'r', 'id': 821, 'synset': 'ping-pong_ball.n.01', 'synonyms': ['ping-pong_ball'], 'def': 'light hollow ball used in playing table tennis', 'name': 'ping-pong_ball'}, {'frequency': 'r', 'id': 822, 'synset': 'pinwheel.n.03', 'synonyms': ['pinwheel'], 'def': 'a toy consisting of vanes of colored paper or plastic that is pinned to a stick and spins when it is pointed into the wind', 'name': 'pinwheel'}, {'frequency': 'r', 'id': 823, 'synset': 'pipe.n.01', 'synonyms': ['tobacco_pipe'], 'def': 'a tube with a small bowl at one end; used for smoking tobacco', 'name': 'tobacco_pipe'}, {'frequency': 'f', 'id': 824, 'synset': 'pipe.n.02', 'synonyms': ['pipe', 'piping'], 'def': 'a long tube made of metal or plastic that is used to carry water or oil or gas etc.', 'name': 'pipe'}, {'frequency': 'r', 'id': 825, 'synset': 'pistol.n.01', 'synonyms': ['pistol', 'handgun'], 'def': 'a firearm that is held and fired with one hand', 'name': 'pistol'}, {'frequency': 'r', 'id': 826, 'synset': 'pita.n.01', 'synonyms': ['pita_(bread)', 'pocket_bread'], 'def': 'usually small round bread that can open into a pocket for filling', 'name': 'pita_(bread)'}, {'frequency': 'f', 'id': 827, 'synset': 'pitcher.n.02', 'synonyms': ['pitcher_(vessel_for_liquid)', 'ewer'], 'def': 'an open vessel with a handle and a spout for pouring', 'name': 'pitcher_(vessel_for_liquid)'}, {'frequency': 'r', 'id': 828, 'synset': 'pitchfork.n.01', 'synonyms': ['pitchfork'], 'def': 'a long-handled hand tool with sharp widely spaced prongs for lifting and pitching hay', 'name': 'pitchfork'}, {'frequency': 'f', 'id': 829, 'synset': 'pizza.n.01', 'synonyms': ['pizza'], 'def': 'Italian open pie made of thin bread dough spread with a spiced mixture of e.g. tomato sauce and cheese', 'name': 'pizza'}, {'frequency': 'f', 'id': 830, 'synset': 'place_mat.n.01', 'synonyms': ['place_mat'], 'def': 'a mat placed on a table for an individual place setting', 'name': 'place_mat'}, {'frequency': 'f', 'id': 831, 'synset': 'plate.n.04', 'synonyms': ['plate'], 'def': 'dish on which food is served or from which food is eaten', 'name': 'plate'}, {'frequency': 'c', 'id': 832, 'synset': 'platter.n.01', 'synonyms': ['platter'], 'def': 'a large shallow dish used for serving food', 'name': 'platter'}, {'frequency': 'r', 'id': 833, 'synset': 'playing_card.n.01', 'synonyms': ['playing_card'], 'def': 'one of a pack of cards that are used to play card games', 'name': 'playing_card'}, {'frequency': 'r', 'id': 834, 'synset': 'playpen.n.01', 'synonyms': ['playpen'], 'def': 'a portable enclosure in which babies may be left to play', 'name': 'playpen'}, {'frequency': 'c', 'id': 835, 'synset': 'pliers.n.01', 'synonyms': ['pliers', 'plyers'], 'def': 'a gripping hand tool with two hinged arms and (usually) serrated jaws', 'name': 'pliers'}, {'frequency': 'r', 'id': 836, 'synset': 'plow.n.01', 'synonyms': ['plow_(farm_equipment)', 'plough_(farm_equipment)'], 'def': 'a farm tool having one or more heavy blades to break the soil and cut a furrow prior to sowing', 'name': 'plow_(farm_equipment)'}, {'frequency': 'r', 'id': 837, 'synset': 'pocket_watch.n.01', 'synonyms': ['pocket_watch'], 'def': 'a watch that is carried in a small watch pocket', 'name': 'pocket_watch'}, {'frequency': 'c', 'id': 838, 'synset': 'pocketknife.n.01', 'synonyms': ['pocketknife'], 'def': 'a knife with a blade that folds into the handle; suitable for carrying in the pocket', 'name': 'pocketknife'}, {'frequency': 'c', 'id': 839, 'synset': 'poker.n.01', 'synonyms': ['poker_(fire_stirring_tool)', 'stove_poker', 'fire_hook'], 'def': 'fire iron consisting of a metal rod with a handle; used to stir a fire', 'name': 'poker_(fire_stirring_tool)'}, {'frequency': 'f', 'id': 840, 'synset': 'pole.n.01', 'synonyms': ['pole', 'post'], 'def': 'a long (usually round) rod of wood or metal or plastic', 'name': 'pole'}, {'frequency': 'r', 'id': 841, 'synset': 'police_van.n.01', 'synonyms': ['police_van', 'police_wagon', 'paddy_wagon', 'patrol_wagon'], 'def': 'van used by police to transport prisoners', 'name': 'police_van'}, {'frequency': 'f', 'id': 842, 'synset': 'polo_shirt.n.01', 'synonyms': ['polo_shirt', 'sport_shirt'], 'def': 'a shirt with short sleeves designed for comfort and casual wear', 'name': 'polo_shirt'}, {'frequency': 'r', 'id': 843, 'synset': 'poncho.n.01', 'synonyms': ['poncho'], 'def': 'a blanket-like cloak with a hole in the center for the head', 'name': 'poncho'}, {'frequency': 'c', 'id': 844, 'synset': 'pony.n.05', 'synonyms': ['pony'], 'def': 'any of various breeds of small gentle horses usually less than five feet high at the shoulder', 'name': 'pony'}, {'frequency': 'r', 'id': 845, 'synset': 'pool_table.n.01', 'synonyms': ['pool_table', 'billiard_table', 'snooker_table'], 'def': 'game equipment consisting of a heavy table on which pool is played', 'name': 'pool_table'}, {'frequency': 'f', 'id': 846, 'synset': 'pop.n.02', 'synonyms': ['pop_(soda)', 'soda_(pop)', 'tonic', 'soft_drink'], 'def': 'a sweet drink containing carbonated water and flavoring', 'name': 'pop_(soda)'}, {'frequency': 'r', 'id': 847, 'synset': 'portrait.n.02', 'synonyms': ['portrait', 'portrayal'], 'def': 'any likeness of a person, in any medium', 'name': 'portrait'}, {'frequency': 'c', 'id': 848, 'synset': 'postbox.n.01', 'synonyms': ['postbox_(public)', 'mailbox_(public)'], 'def': 'public box for deposit of mail', 'name': 'postbox_(public)'}, {'frequency': 'c', 'id': 849, 'synset': 'postcard.n.01', 'synonyms': ['postcard', 'postal_card', 'mailing-card'], 'def': 'a card for sending messages by post without an envelope', 'name': 'postcard'}, {'frequency': 'f', 'id': 850, 'synset': 'poster.n.01', 'synonyms': ['poster', 'placard'], 'def': 'a sign posted in a public place as an advertisement', 'name': 'poster'}, {'frequency': 'f', 'id': 851, 'synset': 'pot.n.01', 'synonyms': ['pot'], 'def': 'metal or earthenware cooking vessel that is usually round and deep; often has a handle and lid', 'name': 'pot'}, {'frequency': 'f', 'id': 852, 'synset': 'pot.n.04', 'synonyms': ['flowerpot'], 'def': 'a container in which plants are cultivated', 'name': 'flowerpot'}, {'frequency': 'f', 'id': 853, 'synset': 'potato.n.01', 'synonyms': ['potato'], 'def': 'an edible tuber native to South America', 'name': 'potato'}, {'frequency': 'c', 'id': 854, 'synset': 'potholder.n.01', 'synonyms': ['potholder'], 'def': 'an insulated pad for holding hot pots', 'name': 'potholder'}, {'frequency': 'c', 'id': 855, 'synset': 'pottery.n.01', 'synonyms': ['pottery', 'clayware'], 'def': 'ceramic ware made from clay and baked in a kiln', 'name': 'pottery'}, {'frequency': 'c', 'id': 856, 'synset': 'pouch.n.01', 'synonyms': ['pouch'], 'def': 'a small or medium size container for holding or carrying things', 'name': 'pouch'}, {'frequency': 'r', 'id': 857, 'synset': 'power_shovel.n.01', 'synonyms': ['power_shovel', 'excavator', 'digger'], 'def': 'a machine for excavating', 'name': 'power_shovel'}, {'frequency': 'c', 'id': 858, 'synset': 'prawn.n.01', 'synonyms': ['prawn', 'shrimp'], 'def': 'any of various edible decapod crustaceans', 'name': 'prawn'}, {'frequency': 'f', 'id': 859, 'synset': 'printer.n.03', 'synonyms': ['printer', 'printing_machine'], 'def': 'a machine that prints', 'name': 'printer'}, {'frequency': 'c', 'id': 860, 'synset': 'projectile.n.01', 'synonyms': ['projectile_(weapon)', 'missile'], 'def': 'a weapon that is forcibly thrown or projected at a targets', 'name': 'projectile_(weapon)'}, {'frequency': 'c', 'id': 861, 'synset': 'projector.n.02', 'synonyms': ['projector'], 'def': 'an optical instrument that projects an enlarged image onto a screen', 'name': 'projector'}, {'frequency': 'f', 'id': 862, 'synset': 'propeller.n.01', 'synonyms': ['propeller', 'propellor'], 'def': 'a mechanical device that rotates to push against air or water', 'name': 'propeller'}, {'frequency': 'r', 'id': 863, 'synset': 'prune.n.01', 'synonyms': ['prune'], 'def': 'dried plum', 'name': 'prune'}, {'frequency': 'r', 'id': 864, 'synset': 'pudding.n.01', 'synonyms': ['pudding'], 'def': 'any of various soft thick unsweetened baked dishes', 'name': 'pudding'}, {'frequency': 'r', 'id': 865, 'synset': 'puffer.n.02', 'synonyms': ['puffer_(fish)', 'pufferfish', 'blowfish', 'globefish'], 'def': 'fishes whose elongated spiny body can inflate itself with water or air to form a globe', 'name': 'puffer_(fish)'}, {'frequency': 'r', 'id': 866, 'synset': 'puffin.n.01', 'synonyms': ['puffin'], 'def': 'seabirds having short necks and brightly colored compressed bills', 'name': 'puffin'}, {'frequency': 'r', 'id': 867, 'synset': 'pug.n.01', 'synonyms': ['pug-dog'], 'def': 'small compact smooth-coated breed of Asiatic origin having a tightly curled tail and broad flat wrinkled muzzle', 'name': 'pug-dog'}, {'frequency': 'c', 'id': 868, 'synset': 'pumpkin.n.02', 'synonyms': ['pumpkin'], 'def': 'usually large pulpy deep-yellow round fruit of the squash family maturing in late summer or early autumn', 'name': 'pumpkin'}, {'frequency': 'r', 'id': 869, 'synset': 'punch.n.03', 'synonyms': ['puncher'], 'def': 'a tool for making holes or indentations', 'name': 'puncher'}, {'frequency': 'r', 'id': 870, 'synset': 'puppet.n.01', 'synonyms': ['puppet', 'marionette'], 'def': 'a small figure of a person operated from above with strings by a puppeteer', 'name': 'puppet'}, {'frequency': 'r', 'id': 871, 'synset': 'puppy.n.01', 'synonyms': ['puppy'], 'def': 'a young dog', 'name': 'puppy'}, {'frequency': 'r', 'id': 872, 'synset': 'quesadilla.n.01', 'synonyms': ['quesadilla'], 'def': 'a tortilla that is filled with cheese and heated', 'name': 'quesadilla'}, {'frequency': 'r', 'id': 873, 'synset': 'quiche.n.02', 'synonyms': ['quiche'], 'def': 'a tart filled with rich unsweetened custard; often contains other ingredients (as cheese or ham or seafood or vegetables)', 'name': 'quiche'}, {'frequency': 'f', 'id': 874, 'synset': 'quilt.n.01', 'synonyms': ['quilt', 'comforter'], 'def': 'bedding made of two layers of cloth filled with stuffing and stitched together', 'name': 'quilt'}, {'frequency': 'c', 'id': 875, 'synset': 'rabbit.n.01', 'synonyms': ['rabbit'], 'def': 'any of various burrowing animals of the family Leporidae having long ears and short tails', 'name': 'rabbit'}, {'frequency': 'r', 'id': 876, 'synset': 'racer.n.02', 'synonyms': ['race_car', 'racing_car'], 'def': 'a fast car that competes in races', 'name': 'race_car'}, {'frequency': 'c', 'id': 877, 'synset': 'racket.n.04', 'synonyms': ['racket', 'racquet'], 'def': 'a sports implement used to strike a ball in various games', 'name': 'racket'}, {'frequency': 'r', 'id': 878, 'synset': 'radar.n.01', 'synonyms': ['radar'], 'def': 'measuring instrument in which the echo of a pulse of microwave radiation is used to detect and locate distant objects', 'name': 'radar'}, {'frequency': 'c', 'id': 879, 'synset': 'radiator.n.03', 'synonyms': ['radiator'], 'def': 'a mechanism consisting of a metal honeycomb through which hot fluids circulate', 'name': 'radiator'}, {'frequency': 'c', 'id': 880, 'synset': 'radio_receiver.n.01', 'synonyms': ['radio_receiver', 'radio_set', 'radio', 'tuner_(radio)'], 'def': 'an electronic receiver that detects and demodulates and amplifies transmitted radio signals', 'name': 'radio_receiver'}, {'frequency': 'c', 'id': 881, 'synset': 'radish.n.03', 'synonyms': ['radish', 'daikon'], 'def': 'pungent edible root of any of various cultivated radish plants', 'name': 'radish'}, {'frequency': 'c', 'id': 882, 'synset': 'raft.n.01', 'synonyms': ['raft'], 'def': 'a flat float (usually made of logs or planks) that can be used for transport or as a platform for swimmers', 'name': 'raft'}, {'frequency': 'r', 'id': 883, 'synset': 'rag_doll.n.01', 'synonyms': ['rag_doll'], 'def': 'a cloth doll that is stuffed and (usually) painted', 'name': 'rag_doll'}, {'frequency': 'c', 'id': 884, 'synset': 'raincoat.n.01', 'synonyms': ['raincoat', 'waterproof_jacket'], 'def': 'a water-resistant coat', 'name': 'raincoat'}, {'frequency': 'c', 'id': 885, 'synset': 'ram.n.05', 'synonyms': ['ram_(animal)'], 'def': 'uncastrated adult male sheep', 'name': 'ram_(animal)'}, {'frequency': 'c', 'id': 886, 'synset': 'raspberry.n.02', 'synonyms': ['raspberry'], 'def': 'red or black edible aggregate berries usually smaller than the related blackberries', 'name': 'raspberry'}, {'frequency': 'r', 'id': 887, 'synset': 'rat.n.01', 'synonyms': ['rat'], 'def': 'any of various long-tailed rodents similar to but larger than a mouse', 'name': 'rat'}, {'frequency': 'c', 'id': 888, 'synset': 'razorblade.n.01', 'synonyms': ['razorblade'], 'def': 'a blade that has very sharp edge', 'name': 'razorblade'}, {'frequency': 'c', 'id': 889, 'synset': 'reamer.n.01', 'synonyms': ['reamer_(juicer)', 'juicer', 'juice_reamer'], 'def': 'a squeezer with a conical ridged center that is used for squeezing juice from citrus fruit', 'name': 'reamer_(juicer)'}, {'frequency': 'f', 'id': 890, 'synset': 'rearview_mirror.n.01', 'synonyms': ['rearview_mirror'], 'def': 'car mirror that reflects the view out of the rear window', 'name': 'rearview_mirror'}, {'frequency': 'c', 'id': 891, 'synset': 'receipt.n.02', 'synonyms': ['receipt'], 'def': 'an acknowledgment (usually tangible) that payment has been made', 'name': 'receipt'}, {'frequency': 'c', 'id': 892, 'synset': 'recliner.n.01', 'synonyms': ['recliner', 'reclining_chair', 'lounger_(chair)'], 'def': 'an armchair whose back can be lowered and foot can be raised to allow the sitter to recline in it', 'name': 'recliner'}, {'frequency': 'r', 'id': 893, 'synset': 'record_player.n.01', 'synonyms': ['record_player', 'phonograph_(record_player)', 'turntable'], 'def': 'machine in which rotating records cause a stylus to vibrate and the vibrations are amplified acoustically or electronically', 'name': 'record_player'}, {'frequency': 'r', 'id': 894, 'synset': 'red_cabbage.n.02', 'synonyms': ['red_cabbage'], 'def': 'compact head of purplish-red leaves', 'name': 'red_cabbage'}, {'frequency': 'f', 'id': 895, 'synset': 'reflector.n.01', 'synonyms': ['reflector'], 'def': 'device that reflects light, radiation, etc.', 'name': 'reflector'}, {'frequency': 'f', 'id': 896, 'synset': 'remote_control.n.01', 'synonyms': ['remote_control'], 'def': 'a device that can be used to control a machine or apparatus from a distance', 'name': 'remote_control'}, {'frequency': 'c', 'id': 897, 'synset': 'rhinoceros.n.01', 'synonyms': ['rhinoceros'], 'def': 'massive powerful herbivorous odd-toed ungulate of southeast Asia and Africa having very thick skin and one or two horns on the snout', 'name': 'rhinoceros'}, {'frequency': 'r', 'id': 898, 'synset': 'rib.n.03', 'synonyms': ['rib_(food)'], 'def': 'cut of meat including one or more ribs', 'name': 'rib_(food)'}, {'frequency': 'r', 'id': 899, 'synset': 'rifle.n.01', 'synonyms': ['rifle'], 'def': 'a shoulder firearm with a long barrel', 'name': 'rifle'}, {'frequency': 'f', 'id': 900, 'synset': 'ring.n.08', 'synonyms': ['ring'], 'def': 'jewelry consisting of a circlet of precious metal (often set with jewels) worn on the finger', 'name': 'ring'}, {'frequency': 'r', 'id': 901, 'synset': 'river_boat.n.01', 'synonyms': ['river_boat'], 'def': 'a boat used on rivers or to ply a river', 'name': 'river_boat'}, {'frequency': 'r', 'id': 902, 'synset': 'road_map.n.02', 'synonyms': ['road_map'], 'def': '(NOT A ROAD) a MAP showing roads (for automobile travel)', 'name': 'road_map'}, {'frequency': 'c', 'id': 903, 'synset': 'robe.n.01', 'synonyms': ['robe'], 'def': 'any loose flowing garment', 'name': 'robe'}, {'frequency': 'c', 'id': 904, 'synset': 'rocking_chair.n.01', 'synonyms': ['rocking_chair'], 'def': 'a chair mounted on rockers', 'name': 'rocking_chair'}, {'frequency': 'r', 'id': 905, 'synset': 'roller_skate.n.01', 'synonyms': ['roller_skate'], 'def': 'a shoe with pairs of rollers (small hard wheels) fixed to the sole', 'name': 'roller_skate'}, {'frequency': 'r', 'id': 906, 'synset': 'rollerblade.n.01', 'synonyms': ['Rollerblade'], 'def': 'an in-line variant of a roller skate', 'name': 'Rollerblade'}, {'frequency': 'c', 'id': 907, 'synset': 'rolling_pin.n.01', 'synonyms': ['rolling_pin'], 'def': 'utensil consisting of a cylinder (usually of wood) with a handle at each end; used to roll out dough', 'name': 'rolling_pin'}, {'frequency': 'r', 'id': 908, 'synset': 'root_beer.n.01', 'synonyms': ['root_beer'], 'def': 'carbonated drink containing extracts of roots and herbs', 'name': 'root_beer'}, {'frequency': 'c', 'id': 909, 'synset': 'router.n.02', 'synonyms': ['router_(computer_equipment)'], 'def': 'a device that forwards data packets between computer networks', 'name': 'router_(computer_equipment)'}, {'frequency': 'f', 'id': 910, 'synset': 'rubber_band.n.01', 'synonyms': ['rubber_band', 'elastic_band'], 'def': 'a narrow band of elastic rubber used to hold things (such as papers) together', 'name': 'rubber_band'}, {'frequency': 'c', 'id': 911, 'synset': 'runner.n.08', 'synonyms': ['runner_(carpet)'], 'def': 'a long narrow carpet', 'name': 'runner_(carpet)'}, {'frequency': 'f', 'id': 912, 'synset': 'sack.n.01', 'synonyms': ['plastic_bag', 'paper_bag'], 'def': "a bag made of paper or plastic for holding customer's purchases", 'name': 'plastic_bag'}, {'frequency': 'f', 'id': 913, 'synset': 'saddle.n.01', 'synonyms': ['saddle_(on_an_animal)'], 'def': 'a seat for the rider of a horse or camel', 'name': 'saddle_(on_an_animal)'}, {'frequency': 'f', 'id': 914, 'synset': 'saddle_blanket.n.01', 'synonyms': ['saddle_blanket', 'saddlecloth', 'horse_blanket'], 'def': 'stable gear consisting of a blanket placed under the saddle', 'name': 'saddle_blanket'}, {'frequency': 'c', 'id': 915, 'synset': 'saddlebag.n.01', 'synonyms': ['saddlebag'], 'def': 'a large bag (or pair of bags) hung over a saddle', 'name': 'saddlebag'}, {'frequency': 'r', 'id': 916, 'synset': 'safety_pin.n.01', 'synonyms': ['safety_pin'], 'def': 'a pin in the form of a clasp; has a guard so the point of the pin will not stick the user', 'name': 'safety_pin'}, {'frequency': 'c', 'id': 917, 'synset': 'sail.n.01', 'synonyms': ['sail'], 'def': 'a large piece of fabric by means of which wind is used to propel a sailing vessel', 'name': 'sail'}, {'frequency': 'c', 'id': 918, 'synset': 'salad.n.01', 'synonyms': ['salad'], 'def': 'food mixtures either arranged on a plate or tossed and served with a moist dressing; usually consisting of or including greens', 'name': 'salad'}, {'frequency': 'r', 'id': 919, 'synset': 'salad_plate.n.01', 'synonyms': ['salad_plate', 'salad_bowl'], 'def': 'a plate or bowl for individual servings of salad', 'name': 'salad_plate'}, {'frequency': 'r', 'id': 920, 'synset': 'salami.n.01', 'synonyms': ['salami'], 'def': 'highly seasoned fatty sausage of pork and beef usually dried', 'name': 'salami'}, {'frequency': 'r', 'id': 921, 'synset': 'salmon.n.01', 'synonyms': ['salmon_(fish)'], 'def': 'any of various large food and game fishes of northern waters', 'name': 'salmon_(fish)'}, {'frequency': 'r', 'id': 922, 'synset': 'salmon.n.03', 'synonyms': ['salmon_(food)'], 'def': 'flesh of any of various marine or freshwater fish of the family Salmonidae', 'name': 'salmon_(food)'}, {'frequency': 'r', 'id': 923, 'synset': 'salsa.n.01', 'synonyms': ['salsa'], 'def': 'spicy sauce of tomatoes and onions and chili peppers to accompany Mexican foods', 'name': 'salsa'}, {'frequency': 'f', 'id': 924, 'synset': 'saltshaker.n.01', 'synonyms': ['saltshaker'], 'def': 'a shaker with a perforated top for sprinkling salt', 'name': 'saltshaker'}, {'frequency': 'f', 'id': 925, 'synset': 'sandal.n.01', 'synonyms': ['sandal_(type_of_shoe)'], 'def': 'a shoe consisting of a sole fastened by straps to the foot', 'name': 'sandal_(type_of_shoe)'}, {'frequency': 'f', 'id': 926, 'synset': 'sandwich.n.01', 'synonyms': ['sandwich'], 'def': 'two (or more) slices of bread with a filling between them', 'name': 'sandwich'}, {'frequency': 'r', 'id': 927, 'synset': 'satchel.n.01', 'synonyms': ['satchel'], 'def': 'luggage consisting of a small case with a flat bottom and (usually) a shoulder strap', 'name': 'satchel'}, {'frequency': 'r', 'id': 928, 'synset': 'saucepan.n.01', 'synonyms': ['saucepan'], 'def': 'a deep pan with a handle; used for stewing or boiling', 'name': 'saucepan'}, {'frequency': 'f', 'id': 929, 'synset': 'saucer.n.02', 'synonyms': ['saucer'], 'def': 'a small shallow dish for holding a cup at the table', 'name': 'saucer'}, {'frequency': 'f', 'id': 930, 'synset': 'sausage.n.01', 'synonyms': ['sausage'], 'def': 'highly seasoned minced meat stuffed in casings', 'name': 'sausage'}, {'frequency': 'r', 'id': 931, 'synset': 'sawhorse.n.01', 'synonyms': ['sawhorse', 'sawbuck'], 'def': 'a framework for holding wood that is being sawed', 'name': 'sawhorse'}, {'frequency': 'r', 'id': 932, 'synset': 'sax.n.02', 'synonyms': ['saxophone'], 'def': "a wind instrument with a `J'-shaped form typically made of brass", 'name': 'saxophone'}, {'frequency': 'f', 'id': 933, 'synset': 'scale.n.07', 'synonyms': ['scale_(measuring_instrument)'], 'def': 'a measuring instrument for weighing; shows amount of mass', 'name': 'scale_(measuring_instrument)'}, {'frequency': 'r', 'id': 934, 'synset': 'scarecrow.n.01', 'synonyms': ['scarecrow', 'strawman'], 'def': 'an effigy in the shape of a man to frighten birds away from seeds', 'name': 'scarecrow'}, {'frequency': 'f', 'id': 935, 'synset': 'scarf.n.01', 'synonyms': ['scarf'], 'def': 'a garment worn around the head or neck or shoulders for warmth or decoration', 'name': 'scarf'}, {'frequency': 'c', 'id': 936, 'synset': 'school_bus.n.01', 'synonyms': ['school_bus'], 'def': 'a bus used to transport children to or from school', 'name': 'school_bus'}, {'frequency': 'f', 'id': 937, 'synset': 'scissors.n.01', 'synonyms': ['scissors'], 'def': 'a tool having two crossed pivoting blades with looped handles', 'name': 'scissors'}, {'frequency': 'c', 'id': 938, 'synset': 'scoreboard.n.01', 'synonyms': ['scoreboard'], 'def': 'a large board for displaying the score of a contest (and some other information)', 'name': 'scoreboard'}, {'frequency': 'c', 'id': 939, 'synset': 'scrambled_eggs.n.01', 'synonyms': ['scrambled_eggs'], 'def': 'eggs beaten and cooked to a soft firm consistency while stirring', 'name': 'scrambled_eggs'}, {'frequency': 'r', 'id': 940, 'synset': 'scraper.n.01', 'synonyms': ['scraper'], 'def': 'any of various hand tools for scraping', 'name': 'scraper'}, {'frequency': 'r', 'id': 941, 'synset': 'scratcher.n.03', 'synonyms': ['scratcher'], 'def': 'a device used for scratching', 'name': 'scratcher'}, {'frequency': 'c', 'id': 942, 'synset': 'screwdriver.n.01', 'synonyms': ['screwdriver'], 'def': 'a hand tool for driving screws; has a tip that fits into the head of a screw', 'name': 'screwdriver'}, {'frequency': 'c', 'id': 943, 'synset': 'scrub_brush.n.01', 'synonyms': ['scrubbing_brush'], 'def': 'a brush with short stiff bristles for heavy cleaning', 'name': 'scrubbing_brush'}, {'frequency': 'c', 'id': 944, 'synset': 'sculpture.n.01', 'synonyms': ['sculpture'], 'def': 'a three-dimensional work of art', 'name': 'sculpture'}, {'frequency': 'r', 'id': 945, 'synset': 'seabird.n.01', 'synonyms': ['seabird', 'seafowl'], 'def': 'a bird that frequents coastal waters and the open ocean: gulls; pelicans; gannets; cormorants; albatrosses; petrels; etc.', 'name': 'seabird'}, {'frequency': 'r', 'id': 946, 'synset': 'seahorse.n.02', 'synonyms': ['seahorse'], 'def': 'small fish with horse-like heads bent sharply downward and curled tails', 'name': 'seahorse'}, {'frequency': 'r', 'id': 947, 'synset': 'seaplane.n.01', 'synonyms': ['seaplane', 'hydroplane'], 'def': 'an airplane that can land on or take off from water', 'name': 'seaplane'}, {'frequency': 'c', 'id': 948, 'synset': 'seashell.n.01', 'synonyms': ['seashell'], 'def': 'the shell of a marine organism', 'name': 'seashell'}, {'frequency': 'r', 'id': 949, 'synset': 'seedling.n.01', 'synonyms': ['seedling'], 'def': 'young plant or tree grown from a seed', 'name': 'seedling'}, {'frequency': 'c', 'id': 950, 'synset': 'serving_dish.n.01', 'synonyms': ['serving_dish'], 'def': 'a dish used for serving food', 'name': 'serving_dish'}, {'frequency': 'r', 'id': 951, 'synset': 'sewing_machine.n.01', 'synonyms': ['sewing_machine'], 'def': 'a textile machine used as a home appliance for sewing', 'name': 'sewing_machine'}, {'frequency': 'r', 'id': 952, 'synset': 'shaker.n.03', 'synonyms': ['shaker'], 'def': 'a container in which something can be shaken', 'name': 'shaker'}, {'frequency': 'c', 'id': 953, 'synset': 'shampoo.n.01', 'synonyms': ['shampoo'], 'def': 'cleansing agent consisting of soaps or detergents used for washing the hair', 'name': 'shampoo'}, {'frequency': 'r', 'id': 954, 'synset': 'shark.n.01', 'synonyms': ['shark'], 'def': 'typically large carnivorous fishes with sharpe teeth', 'name': 'shark'}, {'frequency': 'r', 'id': 955, 'synset': 'sharpener.n.01', 'synonyms': ['sharpener'], 'def': 'any implement that is used to make something (an edge or a point) sharper', 'name': 'sharpener'}, {'frequency': 'r', 'id': 956, 'synset': 'sharpie.n.03', 'synonyms': ['Sharpie'], 'def': 'a pen with indelible ink that will write on any surface', 'name': 'Sharpie'}, {'frequency': 'r', 'id': 957, 'synset': 'shaver.n.03', 'synonyms': ['shaver_(electric)', 'electric_shaver', 'electric_razor'], 'def': 'a razor powered by an electric motor', 'name': 'shaver_(electric)'}, {'frequency': 'c', 'id': 958, 'synset': 'shaving_cream.n.01', 'synonyms': ['shaving_cream', 'shaving_soap'], 'def': 'toiletry consisting that forms a rich lather for softening the beard before shaving', 'name': 'shaving_cream'}, {'frequency': 'r', 'id': 959, 'synset': 'shawl.n.01', 'synonyms': ['shawl'], 'def': 'cloak consisting of an oblong piece of cloth used to cover the head and shoulders', 'name': 'shawl'}, {'frequency': 'r', 'id': 960, 'synset': 'shears.n.01', 'synonyms': ['shears'], 'def': 'large scissors with strong blades', 'name': 'shears'}, {'frequency': 'f', 'id': 961, 'synset': 'sheep.n.01', 'synonyms': ['sheep'], 'def': 'woolly usually horned ruminant mammal related to the goat', 'name': 'sheep'}, {'frequency': 'r', 'id': 962, 'synset': 'shepherd_dog.n.01', 'synonyms': ['shepherd_dog', 'sheepdog'], 'def': 'any of various usually long-haired breeds of dog reared to herd and guard sheep', 'name': 'shepherd_dog'}, {'frequency': 'r', 'id': 963, 'synset': 'sherbert.n.01', 'synonyms': ['sherbert', 'sherbet'], 'def': 'a frozen dessert made primarily of fruit juice and sugar', 'name': 'sherbert'}, {'frequency': 'r', 'id': 964, 'synset': 'shield.n.02', 'synonyms': ['shield'], 'def': 'armor carried on the arm to intercept blows', 'name': 'shield'}, {'frequency': 'f', 'id': 965, 'synset': 'shirt.n.01', 'synonyms': ['shirt'], 'def': 'a garment worn on the upper half of the body', 'name': 'shirt'}, {'frequency': 'f', 'id': 966, 'synset': 'shoe.n.01', 'synonyms': ['shoe', 'sneaker_(type_of_shoe)', 'tennis_shoe'], 'def': 'common footwear covering the foot', 'name': 'shoe'}, {'frequency': 'c', 'id': 967, 'synset': 'shopping_bag.n.01', 'synonyms': ['shopping_bag'], 'def': 'a bag made of plastic or strong paper (often with handles); used to transport goods after shopping', 'name': 'shopping_bag'}, {'frequency': 'c', 'id': 968, 'synset': 'shopping_cart.n.01', 'synonyms': ['shopping_cart'], 'def': 'a handcart that holds groceries or other goods while shopping', 'name': 'shopping_cart'}, {'frequency': 'f', 'id': 969, 'synset': 'short_pants.n.01', 'synonyms': ['short_pants', 'shorts_(clothing)', 'trunks_(clothing)'], 'def': 'trousers that end at or above the knee', 'name': 'short_pants'}, {'frequency': 'r', 'id': 970, 'synset': 'shot_glass.n.01', 'synonyms': ['shot_glass'], 'def': 'a small glass adequate to hold a single swallow of whiskey', 'name': 'shot_glass'}, {'frequency': 'c', 'id': 971, 'synset': 'shoulder_bag.n.01', 'synonyms': ['shoulder_bag'], 'def': 'a large handbag that can be carried by a strap looped over the shoulder', 'name': 'shoulder_bag'}, {'frequency': 'c', 'id': 972, 'synset': 'shovel.n.01', 'synonyms': ['shovel'], 'def': 'a hand tool for lifting loose material such as snow, dirt, etc.', 'name': 'shovel'}, {'frequency': 'f', 'id': 973, 'synset': 'shower.n.01', 'synonyms': ['shower_head'], 'def': 'a plumbing fixture that sprays water over you', 'name': 'shower_head'}, {'frequency': 'f', 'id': 974, 'synset': 'shower_curtain.n.01', 'synonyms': ['shower_curtain'], 'def': 'a curtain that keeps water from splashing out of the shower area', 'name': 'shower_curtain'}, {'frequency': 'r', 'id': 975, 'synset': 'shredder.n.01', 'synonyms': ['shredder_(for_paper)'], 'def': 'a device that shreds documents', 'name': 'shredder_(for_paper)'}, {'frequency': 'r', 'id': 976, 'synset': 'sieve.n.01', 'synonyms': ['sieve', 'screen_(sieve)'], 'def': 'a strainer for separating lumps from powdered material or grading particles', 'name': 'sieve'}, {'frequency': 'f', 'id': 977, 'synset': 'signboard.n.01', 'synonyms': ['signboard'], 'def': 'structure displaying a board on which advertisements can be posted', 'name': 'signboard'}, {'frequency': 'c', 'id': 978, 'synset': 'silo.n.01', 'synonyms': ['silo'], 'def': 'a cylindrical tower used for storing goods', 'name': 'silo'}, {'frequency': 'f', 'id': 979, 'synset': 'sink.n.01', 'synonyms': ['sink'], 'def': 'plumbing fixture consisting of a water basin fixed to a wall or floor and having a drainpipe', 'name': 'sink'}, {'frequency': 'f', 'id': 980, 'synset': 'skateboard.n.01', 'synonyms': ['skateboard'], 'def': 'a board with wheels that is ridden in a standing or crouching position and propelled by foot', 'name': 'skateboard'}, {'frequency': 'c', 'id': 981, 'synset': 'skewer.n.01', 'synonyms': ['skewer'], 'def': 'a long pin for holding meat in position while it is being roasted', 'name': 'skewer'}, {'frequency': 'f', 'id': 982, 'synset': 'ski.n.01', 'synonyms': ['ski'], 'def': 'sports equipment for skiing on snow', 'name': 'ski'}, {'frequency': 'f', 'id': 983, 'synset': 'ski_boot.n.01', 'synonyms': ['ski_boot'], 'def': 'a stiff boot that is fastened to a ski with a ski binding', 'name': 'ski_boot'}, {'frequency': 'f', 'id': 984, 'synset': 'ski_parka.n.01', 'synonyms': ['ski_parka', 'ski_jacket'], 'def': 'a parka to be worn while skiing', 'name': 'ski_parka'}, {'frequency': 'f', 'id': 985, 'synset': 'ski_pole.n.01', 'synonyms': ['ski_pole'], 'def': 'a pole with metal points used as an aid in skiing', 'name': 'ski_pole'}, {'frequency': 'f', 'id': 986, 'synset': 'skirt.n.02', 'synonyms': ['skirt'], 'def': 'a garment hanging from the waist; worn mainly by girls and women', 'name': 'skirt'}, {'frequency': 'c', 'id': 987, 'synset': 'sled.n.01', 'synonyms': ['sled', 'sledge', 'sleigh'], 'def': 'a vehicle or flat object for transportation over snow by sliding or pulled by dogs, etc.', 'name': 'sled'}, {'frequency': 'c', 'id': 988, 'synset': 'sleeping_bag.n.01', 'synonyms': ['sleeping_bag'], 'def': 'large padded bag designed to be slept in outdoors', 'name': 'sleeping_bag'}, {'frequency': 'r', 'id': 989, 'synset': 'sling.n.05', 'synonyms': ['sling_(bandage)', 'triangular_bandage'], 'def': 'bandage to support an injured forearm; slung over the shoulder or neck', 'name': 'sling_(bandage)'}, {'frequency': 'c', 'id': 990, 'synset': 'slipper.n.01', 'synonyms': ['slipper_(footwear)', 'carpet_slipper_(footwear)'], 'def': 'low footwear that can be slipped on and off easily; usually worn indoors', 'name': 'slipper_(footwear)'}, {'frequency': 'r', 'id': 991, 'synset': 'smoothie.n.02', 'synonyms': ['smoothie'], 'def': 'a thick smooth drink consisting of fresh fruit pureed with ice cream or yoghurt or milk', 'name': 'smoothie'}, {'frequency': 'r', 'id': 992, 'synset': 'snake.n.01', 'synonyms': ['snake', 'serpent'], 'def': 'limbless scaly elongate reptile; some are venomous', 'name': 'snake'}, {'frequency': 'f', 'id': 993, 'synset': 'snowboard.n.01', 'synonyms': ['snowboard'], 'def': 'a board that resembles a broad ski or a small surfboard; used in a standing position to slide down snow-covered slopes', 'name': 'snowboard'}, {'frequency': 'c', 'id': 994, 'synset': 'snowman.n.01', 'synonyms': ['snowman'], 'def': 'a figure of a person made of packed snow', 'name': 'snowman'}, {'frequency': 'c', 'id': 995, 'synset': 'snowmobile.n.01', 'synonyms': ['snowmobile'], 'def': 'tracked vehicle for travel on snow having skis in front', 'name': 'snowmobile'}, {'frequency': 'f', 'id': 996, 'synset': 'soap.n.01', 'synonyms': ['soap'], 'def': 'a cleansing agent made from the salts of vegetable or animal fats', 'name': 'soap'}, {'frequency': 'f', 'id': 997, 'synset': 'soccer_ball.n.01', 'synonyms': ['soccer_ball'], 'def': "an inflated ball used in playing soccer (called `football' outside of the United States)", 'name': 'soccer_ball'}, {'frequency': 'f', 'id': 998, 'synset': 'sock.n.01', 'synonyms': ['sock'], 'def': 'cloth covering for the foot; worn inside the shoe; reaches to between the ankle and the knee', 'name': 'sock'}, {'frequency': 'r', 'id': 999, 'synset': 'soda_fountain.n.02', 'synonyms': ['soda_fountain'], 'def': 'an apparatus for dispensing soda water', 'name': 'soda_fountain'}, {'frequency': 'r', 'id': 1000, 'synset': 'soda_water.n.01', 'synonyms': ['carbonated_water', 'club_soda', 'seltzer', 'sparkling_water'], 'def': 'effervescent beverage artificially charged with carbon dioxide', 'name': 'carbonated_water'}, {'frequency': 'f', 'id': 1001, 'synset': 'sofa.n.01', 'synonyms': ['sofa', 'couch', 'lounge'], 'def': 'an upholstered seat for more than one person', 'name': 'sofa'}, {'frequency': 'r', 'id': 1002, 'synset': 'softball.n.01', 'synonyms': ['softball'], 'def': 'ball used in playing softball', 'name': 'softball'}, {'frequency': 'c', 'id': 1003, 'synset': 'solar_array.n.01', 'synonyms': ['solar_array', 'solar_battery', 'solar_panel'], 'def': 'electrical device consisting of a large array of connected solar cells', 'name': 'solar_array'}, {'frequency': 'r', 'id': 1004, 'synset': 'sombrero.n.02', 'synonyms': ['sombrero'], 'def': 'a straw hat with a tall crown and broad brim; worn in American southwest and in Mexico', 'name': 'sombrero'}, {'frequency': 'c', 'id': 1005, 'synset': 'soup.n.01', 'synonyms': ['soup'], 'def': 'liquid food especially of meat or fish or vegetable stock often containing pieces of solid food', 'name': 'soup'}, {'frequency': 'r', 'id': 1006, 'synset': 'soup_bowl.n.01', 'synonyms': ['soup_bowl'], 'def': 'a bowl for serving soup', 'name': 'soup_bowl'}, {'frequency': 'c', 'id': 1007, 'synset': 'soupspoon.n.01', 'synonyms': ['soupspoon'], 'def': 'a spoon with a rounded bowl for eating soup', 'name': 'soupspoon'}, {'frequency': 'c', 'id': 1008, 'synset': 'sour_cream.n.01', 'synonyms': ['sour_cream', 'soured_cream'], 'def': 'soured light cream', 'name': 'sour_cream'}, {'frequency': 'r', 'id': 1009, 'synset': 'soya_milk.n.01', 'synonyms': ['soya_milk', 'soybean_milk', 'soymilk'], 'def': 'a milk substitute containing soybean flour and water; used in some infant formulas and in making tofu', 'name': 'soya_milk'}, {'frequency': 'r', 'id': 1010, 'synset': 'space_shuttle.n.01', 'synonyms': ['space_shuttle'], 'def': "a reusable spacecraft with wings for a controlled descent through the Earth's atmosphere", 'name': 'space_shuttle'}, {'frequency': 'r', 'id': 1011, 'synset': 'sparkler.n.02', 'synonyms': ['sparkler_(fireworks)'], 'def': 'a firework that burns slowly and throws out a shower of sparks', 'name': 'sparkler_(fireworks)'}, {'frequency': 'f', 'id': 1012, 'synset': 'spatula.n.02', 'synonyms': ['spatula'], 'def': 'a hand tool with a thin flexible blade used to mix or spread soft substances', 'name': 'spatula'}, {'frequency': 'r', 'id': 1013, 'synset': 'spear.n.01', 'synonyms': ['spear', 'lance'], 'def': 'a long pointed rod used as a tool or weapon', 'name': 'spear'}, {'frequency': 'f', 'id': 1014, 'synset': 'spectacles.n.01', 'synonyms': ['spectacles', 'specs', 'eyeglasses', 'glasses'], 'def': 'optical instrument consisting of a frame that holds a pair of lenses for correcting defective vision', 'name': 'spectacles'}, {'frequency': 'c', 'id': 1015, 'synset': 'spice_rack.n.01', 'synonyms': ['spice_rack'], 'def': 'a rack for displaying containers filled with spices', 'name': 'spice_rack'}, {'frequency': 'r', 'id': 1016, 'synset': 'spider.n.01', 'synonyms': ['spider'], 'def': 'predatory arachnid with eight legs, two poison fangs, two feelers, and usually two silk-spinning organs at the back end of the body', 'name': 'spider'}, {'frequency': 'c', 'id': 1017, 'synset': 'sponge.n.01', 'synonyms': ['sponge'], 'def': 'a porous mass usable to absorb water typically used for cleaning', 'name': 'sponge'}, {'frequency': 'f', 'id': 1018, 'synset': 'spoon.n.01', 'synonyms': ['spoon'], 'def': 'a piece of cutlery with a shallow bowl-shaped container and a handle', 'name': 'spoon'}, {'frequency': 'c', 'id': 1019, 'synset': 'sportswear.n.01', 'synonyms': ['sportswear', 'athletic_wear', 'activewear'], 'def': 'attire worn for sport or for casual wear', 'name': 'sportswear'}, {'frequency': 'c', 'id': 1020, 'synset': 'spotlight.n.02', 'synonyms': ['spotlight'], 'def': 'a lamp that produces a strong beam of light to illuminate a restricted area; used to focus attention of a stage performer', 'name': 'spotlight'}, {'frequency': 'r', 'id': 1021, 'synset': 'squirrel.n.01', 'synonyms': ['squirrel'], 'def': 'a kind of arboreal rodent having a long bushy tail', 'name': 'squirrel'}, {'frequency': 'c', 'id': 1022, 'synset': 'stapler.n.01', 'synonyms': ['stapler_(stapling_machine)'], 'def': 'a machine that inserts staples into sheets of paper in order to fasten them together', 'name': 'stapler_(stapling_machine)'}, {'frequency': 'r', 'id': 1023, 'synset': 'starfish.n.01', 'synonyms': ['starfish', 'sea_star'], 'def': 'echinoderms characterized by five arms extending from a central disk', 'name': 'starfish'}, {'frequency': 'f', 'id': 1024, 'synset': 'statue.n.01', 'synonyms': ['statue_(sculpture)'], 'def': 'a sculpture representing a human or animal', 'name': 'statue_(sculpture)'}, {'frequency': 'c', 'id': 1025, 'synset': 'steak.n.01', 'synonyms': ['steak_(food)'], 'def': 'a slice of meat cut from the fleshy part of an animal or large fish', 'name': 'steak_(food)'}, {'frequency': 'r', 'id': 1026, 'synset': 'steak_knife.n.01', 'synonyms': ['steak_knife'], 'def': 'a sharp table knife used in eating steak', 'name': 'steak_knife'}, {'frequency': 'r', 'id': 1027, 'synset': 'steamer.n.02', 'synonyms': ['steamer_(kitchen_appliance)'], 'def': 'a cooking utensil that can be used to cook food by steaming it', 'name': 'steamer_(kitchen_appliance)'}, {'frequency': 'f', 'id': 1028, 'synset': 'steering_wheel.n.01', 'synonyms': ['steering_wheel'], 'def': 'a handwheel that is used for steering', 'name': 'steering_wheel'}, {'frequency': 'r', 'id': 1029, 'synset': 'stencil.n.01', 'synonyms': ['stencil'], 'def': 'a sheet of material (metal, plastic, etc.) that has been perforated with a pattern; ink or paint can pass through the perforations to create the printed pattern on the surface below', 'name': 'stencil'}, {'frequency': 'r', 'id': 1030, 'synset': 'step_ladder.n.01', 'synonyms': ['stepladder'], 'def': 'a folding portable ladder hinged at the top', 'name': 'stepladder'}, {'frequency': 'c', 'id': 1031, 'synset': 'step_stool.n.01', 'synonyms': ['step_stool'], 'def': 'a stool that has one or two steps that fold under the seat', 'name': 'step_stool'}, {'frequency': 'c', 'id': 1032, 'synset': 'stereo.n.01', 'synonyms': ['stereo_(sound_system)'], 'def': 'electronic device for playing audio', 'name': 'stereo_(sound_system)'}, {'frequency': 'r', 'id': 1033, 'synset': 'stew.n.02', 'synonyms': ['stew'], 'def': 'food prepared by stewing especially meat or fish with vegetables', 'name': 'stew'}, {'frequency': 'r', 'id': 1034, 'synset': 'stirrer.n.02', 'synonyms': ['stirrer'], 'def': 'an implement used for stirring', 'name': 'stirrer'}, {'frequency': 'f', 'id': 1035, 'synset': 'stirrup.n.01', 'synonyms': ['stirrup'], 'def': "support consisting of metal loops into which rider's feet go", 'name': 'stirrup'}, {'frequency': 'c', 'id': 1036, 'synset': 'stocking.n.01', 'synonyms': ['stockings_(leg_wear)'], 'def': 'close-fitting hosiery to cover the foot and leg; come in matched pairs', 'name': 'stockings_(leg_wear)'}, {'frequency': 'f', 'id': 1037, 'synset': 'stool.n.01', 'synonyms': ['stool'], 'def': 'a simple seat without a back or arms', 'name': 'stool'}, {'frequency': 'f', 'id': 1038, 'synset': 'stop_sign.n.01', 'synonyms': ['stop_sign'], 'def': 'a traffic sign to notify drivers that they must come to a complete stop', 'name': 'stop_sign'}, {'frequency': 'f', 'id': 1039, 'synset': 'stoplight.n.01', 'synonyms': ['brake_light'], 'def': 'a red light on the rear of a motor vehicle that signals when the brakes are applied', 'name': 'brake_light'}, {'frequency': 'f', 'id': 1040, 'synset': 'stove.n.01', 'synonyms': ['stove', 'kitchen_stove', 'range_(kitchen_appliance)', 'kitchen_range', 'cooking_stove'], 'def': 'a kitchen appliance used for cooking food', 'name': 'stove'}, {'frequency': 'c', 'id': 1041, 'synset': 'strainer.n.01', 'synonyms': ['strainer'], 'def': 'a filter to retain larger pieces while smaller pieces and liquids pass through', 'name': 'strainer'}, {'frequency': 'f', 'id': 1042, 'synset': 'strap.n.01', 'synonyms': ['strap'], 'def': 'an elongated strip of material for binding things together or holding', 'name': 'strap'}, {'frequency': 'f', 'id': 1043, 'synset': 'straw.n.04', 'synonyms': ['straw_(for_drinking)', 'drinking_straw'], 'def': 'a thin paper or plastic tube used to suck liquids into the mouth', 'name': 'straw_(for_drinking)'}, {'frequency': 'f', 'id': 1044, 'synset': 'strawberry.n.01', 'synonyms': ['strawberry'], 'def': 'sweet fleshy red fruit', 'name': 'strawberry'}, {'frequency': 'f', 'id': 1045, 'synset': 'street_sign.n.01', 'synonyms': ['street_sign'], 'def': 'a sign visible from the street', 'name': 'street_sign'}, {'frequency': 'f', 'id': 1046, 'synset': 'streetlight.n.01', 'synonyms': ['streetlight', 'street_lamp'], 'def': 'a lamp supported on a lamppost; for illuminating a street', 'name': 'streetlight'}, {'frequency': 'r', 'id': 1047, 'synset': 'string_cheese.n.01', 'synonyms': ['string_cheese'], 'def': 'cheese formed in long strings twisted together', 'name': 'string_cheese'}, {'frequency': 'r', 'id': 1048, 'synset': 'stylus.n.02', 'synonyms': ['stylus'], 'def': 'a pointed tool for writing or drawing or engraving', 'name': 'stylus'}, {'frequency': 'r', 'id': 1049, 'synset': 'subwoofer.n.01', 'synonyms': ['subwoofer'], 'def': 'a loudspeaker that is designed to reproduce very low bass frequencies', 'name': 'subwoofer'}, {'frequency': 'r', 'id': 1050, 'synset': 'sugar_bowl.n.01', 'synonyms': ['sugar_bowl'], 'def': 'a dish in which sugar is served', 'name': 'sugar_bowl'}, {'frequency': 'r', 'id': 1051, 'synset': 'sugarcane.n.01', 'synonyms': ['sugarcane_(plant)'], 'def': 'juicy canes whose sap is a source of molasses and commercial sugar; fresh canes are sometimes chewed for the juice', 'name': 'sugarcane_(plant)'}, {'frequency': 'c', 'id': 1052, 'synset': 'suit.n.01', 'synonyms': ['suit_(clothing)'], 'def': 'a set of garments (usually including a jacket and trousers or skirt) for outerwear all of the same fabric and color', 'name': 'suit_(clothing)'}, {'frequency': 'c', 'id': 1053, 'synset': 'sunflower.n.01', 'synonyms': ['sunflower'], 'def': 'any plant of the genus Helianthus having large flower heads with dark disk florets and showy yellow rays', 'name': 'sunflower'}, {'frequency': 'f', 'id': 1054, 'synset': 'sunglasses.n.01', 'synonyms': ['sunglasses'], 'def': 'spectacles that are darkened or polarized to protect the eyes from the glare of the sun', 'name': 'sunglasses'}, {'frequency': 'c', 'id': 1055, 'synset': 'sunhat.n.01', 'synonyms': ['sunhat'], 'def': 'a hat with a broad brim that protects the face from direct exposure to the sun', 'name': 'sunhat'}, {'frequency': 'r', 'id': 1056, 'synset': 'sunscreen.n.01', 'synonyms': ['sunscreen', 'sunblock'], 'def': 'a cream spread on the skin; contains a chemical to filter out ultraviolet light and so protect from sunburn', 'name': 'sunscreen'}, {'frequency': 'f', 'id': 1057, 'synset': 'surfboard.n.01', 'synonyms': ['surfboard'], 'def': 'a narrow buoyant board for riding surf', 'name': 'surfboard'}, {'frequency': 'c', 'id': 1058, 'synset': 'sushi.n.01', 'synonyms': ['sushi'], 'def': 'rice (with raw fish) wrapped in seaweed', 'name': 'sushi'}, {'frequency': 'c', 'id': 1059, 'synset': 'swab.n.02', 'synonyms': ['mop'], 'def': 'cleaning implement consisting of absorbent material fastened to a handle; for cleaning floors', 'name': 'mop'}, {'frequency': 'c', 'id': 1060, 'synset': 'sweat_pants.n.01', 'synonyms': ['sweat_pants'], 'def': 'loose-fitting trousers with elastic cuffs; worn by athletes', 'name': 'sweat_pants'}, {'frequency': 'c', 'id': 1061, 'synset': 'sweatband.n.02', 'synonyms': ['sweatband'], 'def': 'a band of material tied around the forehead or wrist to absorb sweat', 'name': 'sweatband'}, {'frequency': 'f', 'id': 1062, 'synset': 'sweater.n.01', 'synonyms': ['sweater'], 'def': 'a crocheted or knitted garment covering the upper part of the body', 'name': 'sweater'}, {'frequency': 'f', 'id': 1063, 'synset': 'sweatshirt.n.01', 'synonyms': ['sweatshirt'], 'def': 'cotton knit pullover with long sleeves worn during athletic activity', 'name': 'sweatshirt'}, {'frequency': 'c', 'id': 1064, 'synset': 'sweet_potato.n.02', 'synonyms': ['sweet_potato'], 'def': 'the edible tuberous root of the sweet potato vine', 'name': 'sweet_potato'}, {'frequency': 'f', 'id': 1065, 'synset': 'swimsuit.n.01', 'synonyms': ['swimsuit', 'swimwear', 'bathing_suit', 'swimming_costume', 'bathing_costume', 'swimming_trunks', 'bathing_trunks'], 'def': 'garment worn for swimming', 'name': 'swimsuit'}, {'frequency': 'c', 'id': 1066, 'synset': 'sword.n.01', 'synonyms': ['sword'], 'def': 'a cutting or thrusting weapon that has a long metal blade', 'name': 'sword'}, {'frequency': 'r', 'id': 1067, 'synset': 'syringe.n.01', 'synonyms': ['syringe'], 'def': 'a medical instrument used to inject or withdraw fluids', 'name': 'syringe'}, {'frequency': 'r', 'id': 1068, 'synset': 'tabasco.n.02', 'synonyms': ['Tabasco_sauce'], 'def': 'very spicy sauce (trade name Tabasco) made from fully-aged red peppers', 'name': 'Tabasco_sauce'}, {'frequency': 'r', 'id': 1069, 'synset': 'table-tennis_table.n.01', 'synonyms': ['table-tennis_table', 'ping-pong_table'], 'def': 'a table used for playing table tennis', 'name': 'table-tennis_table'}, {'frequency': 'f', 'id': 1070, 'synset': 'table.n.02', 'synonyms': ['table'], 'def': 'a piece of furniture having a smooth flat top that is usually supported by one or more vertical legs', 'name': 'table'}, {'frequency': 'c', 'id': 1071, 'synset': 'table_lamp.n.01', 'synonyms': ['table_lamp'], 'def': 'a lamp that sits on a table', 'name': 'table_lamp'}, {'frequency': 'f', 'id': 1072, 'synset': 'tablecloth.n.01', 'synonyms': ['tablecloth'], 'def': 'a covering spread over a dining table', 'name': 'tablecloth'}, {'frequency': 'r', 'id': 1073, 'synset': 'tachometer.n.01', 'synonyms': ['tachometer'], 'def': 'measuring instrument for indicating speed of rotation', 'name': 'tachometer'}, {'frequency': 'r', 'id': 1074, 'synset': 'taco.n.02', 'synonyms': ['taco'], 'def': 'a small tortilla cupped around a filling', 'name': 'taco'}, {'frequency': 'f', 'id': 1075, 'synset': 'tag.n.02', 'synonyms': ['tag'], 'def': 'a label associated with something for the purpose of identification or information', 'name': 'tag'}, {'frequency': 'f', 'id': 1076, 'synset': 'taillight.n.01', 'synonyms': ['taillight', 'rear_light'], 'def': 'lamp (usually red) mounted at the rear of a motor vehicle', 'name': 'taillight'}, {'frequency': 'r', 'id': 1077, 'synset': 'tambourine.n.01', 'synonyms': ['tambourine'], 'def': 'a shallow drum with a single drumhead and with metallic disks in the sides', 'name': 'tambourine'}, {'frequency': 'r', 'id': 1078, 'synset': 'tank.n.01', 'synonyms': ['army_tank', 'armored_combat_vehicle', 'armoured_combat_vehicle'], 'def': 'an enclosed armored military vehicle; has a cannon and moves on caterpillar treads', 'name': 'army_tank'}, {'frequency': 'c', 'id': 1079, 'synset': 'tank.n.02', 'synonyms': ['tank_(storage_vessel)', 'storage_tank'], 'def': 'a large (usually metallic) vessel for holding gases or liquids', 'name': 'tank_(storage_vessel)'}, {'frequency': 'f', 'id': 1080, 'synset': 'tank_top.n.01', 'synonyms': ['tank_top_(clothing)'], 'def': 'a tight-fitting sleeveless shirt with wide shoulder straps and low neck and no front opening', 'name': 'tank_top_(clothing)'}, {'frequency': 'c', 'id': 1081, 'synset': 'tape.n.01', 'synonyms': ['tape_(sticky_cloth_or_paper)'], 'def': 'a long thin piece of cloth or paper as used for binding or fastening', 'name': 'tape_(sticky_cloth_or_paper)'}, {'frequency': 'c', 'id': 1082, 'synset': 'tape.n.04', 'synonyms': ['tape_measure', 'measuring_tape'], 'def': 'measuring instrument consisting of a narrow strip (cloth or metal) marked in inches or centimeters and used for measuring lengths', 'name': 'tape_measure'}, {'frequency': 'c', 'id': 1083, 'synset': 'tapestry.n.02', 'synonyms': ['tapestry'], 'def': 'a heavy textile with a woven design; used for curtains and upholstery', 'name': 'tapestry'}, {'frequency': 'f', 'id': 1084, 'synset': 'tarpaulin.n.01', 'synonyms': ['tarp'], 'def': 'waterproofed canvas', 'name': 'tarp'}, {'frequency': 'c', 'id': 1085, 'synset': 'tartan.n.01', 'synonyms': ['tartan', 'plaid'], 'def': 'a cloth having a crisscross design', 'name': 'tartan'}, {'frequency': 'c', 'id': 1086, 'synset': 'tassel.n.01', 'synonyms': ['tassel'], 'def': 'adornment consisting of a bunch of cords fastened at one end', 'name': 'tassel'}, {'frequency': 'r', 'id': 1087, 'synset': 'tea_bag.n.01', 'synonyms': ['tea_bag'], 'def': 'a measured amount of tea in a bag for an individual serving of tea', 'name': 'tea_bag'}, {'frequency': 'c', 'id': 1088, 'synset': 'teacup.n.02', 'synonyms': ['teacup'], 'def': 'a cup from which tea is drunk', 'name': 'teacup'}, {'frequency': 'c', 'id': 1089, 'synset': 'teakettle.n.01', 'synonyms': ['teakettle'], 'def': 'kettle for boiling water to make tea', 'name': 'teakettle'}, {'frequency': 'c', 'id': 1090, 'synset': 'teapot.n.01', 'synonyms': ['teapot'], 'def': 'pot for brewing tea; usually has a spout and handle', 'name': 'teapot'}, {'frequency': 'f', 'id': 1091, 'synset': 'teddy.n.01', 'synonyms': ['teddy_bear'], 'def': "plaything consisting of a child's toy bear (usually plush and stuffed with soft materials)", 'name': 'teddy_bear'}, {'frequency': 'f', 'id': 1092, 'synset': 'telephone.n.01', 'synonyms': ['telephone', 'phone', 'telephone_set'], 'def': 'electronic device for communicating by voice over long distances', 'name': 'telephone'}, {'frequency': 'c', 'id': 1093, 'synset': 'telephone_booth.n.01', 'synonyms': ['telephone_booth', 'phone_booth', 'call_box', 'telephone_box', 'telephone_kiosk'], 'def': 'booth for using a telephone', 'name': 'telephone_booth'}, {'frequency': 'f', 'id': 1094, 'synset': 'telephone_pole.n.01', 'synonyms': ['telephone_pole', 'telegraph_pole', 'telegraph_post'], 'def': 'tall pole supporting telephone wires', 'name': 'telephone_pole'}, {'frequency': 'r', 'id': 1095, 'synset': 'telephoto_lens.n.01', 'synonyms': ['telephoto_lens', 'zoom_lens'], 'def': 'a camera lens that magnifies the image', 'name': 'telephoto_lens'}, {'frequency': 'c', 'id': 1096, 'synset': 'television_camera.n.01', 'synonyms': ['television_camera', 'tv_camera'], 'def': 'television equipment for capturing and recording video', 'name': 'television_camera'}, {'frequency': 'f', 'id': 1097, 'synset': 'television_receiver.n.01', 'synonyms': ['television_set', 'tv', 'tv_set'], 'def': 'an electronic device that receives television signals and displays them on a screen', 'name': 'television_set'}, {'frequency': 'f', 'id': 1098, 'synset': 'tennis_ball.n.01', 'synonyms': ['tennis_ball'], 'def': 'ball about the size of a fist used in playing tennis', 'name': 'tennis_ball'}, {'frequency': 'f', 'id': 1099, 'synset': 'tennis_racket.n.01', 'synonyms': ['tennis_racket'], 'def': 'a racket used to play tennis', 'name': 'tennis_racket'}, {'frequency': 'r', 'id': 1100, 'synset': 'tequila.n.01', 'synonyms': ['tequila'], 'def': 'Mexican liquor made from fermented juices of an agave plant', 'name': 'tequila'}, {'frequency': 'c', 'id': 1101, 'synset': 'thermometer.n.01', 'synonyms': ['thermometer'], 'def': 'measuring instrument for measuring temperature', 'name': 'thermometer'}, {'frequency': 'c', 'id': 1102, 'synset': 'thermos.n.01', 'synonyms': ['thermos_bottle'], 'def': 'vacuum flask that preserves temperature of hot or cold drinks', 'name': 'thermos_bottle'}, {'frequency': 'c', 'id': 1103, 'synset': 'thermostat.n.01', 'synonyms': ['thermostat'], 'def': 'a regulator for automatically regulating temperature by starting or stopping the supply of heat', 'name': 'thermostat'}, {'frequency': 'r', 'id': 1104, 'synset': 'thimble.n.02', 'synonyms': ['thimble'], 'def': 'a small metal cap to protect the finger while sewing; can be used as a small container', 'name': 'thimble'}, {'frequency': 'c', 'id': 1105, 'synset': 'thread.n.01', 'synonyms': ['thread', 'yarn'], 'def': 'a fine cord of twisted fibers (of cotton or silk or wool or nylon etc.) used in sewing and weaving', 'name': 'thread'}, {'frequency': 'c', 'id': 1106, 'synset': 'thumbtack.n.01', 'synonyms': ['thumbtack', 'drawing_pin', 'pushpin'], 'def': 'a tack for attaching papers to a bulletin board or drawing board', 'name': 'thumbtack'}, {'frequency': 'c', 'id': 1107, 'synset': 'tiara.n.01', 'synonyms': ['tiara'], 'def': 'a jeweled headdress worn by women on formal occasions', 'name': 'tiara'}, {'frequency': 'c', 'id': 1108, 'synset': 'tiger.n.02', 'synonyms': ['tiger'], 'def': 'large feline of forests in most of Asia having a tawny coat with black stripes', 'name': 'tiger'}, {'frequency': 'c', 'id': 1109, 'synset': 'tights.n.01', 'synonyms': ['tights_(clothing)', 'leotards'], 'def': 'skintight knit hose covering the body from the waist to the feet worn by acrobats and dancers and as stockings by women and girls', 'name': 'tights_(clothing)'}, {'frequency': 'c', 'id': 1110, 'synset': 'timer.n.01', 'synonyms': ['timer', 'stopwatch'], 'def': 'a timepiece that measures a time interval and signals its end', 'name': 'timer'}, {'frequency': 'f', 'id': 1111, 'synset': 'tinfoil.n.01', 'synonyms': ['tinfoil'], 'def': 'foil made of tin or an alloy of tin and lead', 'name': 'tinfoil'}, {'frequency': 'r', 'id': 1112, 'synset': 'tinsel.n.01', 'synonyms': ['tinsel'], 'def': 'a showy decoration that is basically valueless', 'name': 'tinsel'}, {'frequency': 'f', 'id': 1113, 'synset': 'tissue.n.02', 'synonyms': ['tissue_paper'], 'def': 'a soft thin (usually translucent) paper', 'name': 'tissue_paper'}, {'frequency': 'c', 'id': 1114, 'synset': 'toast.n.01', 'synonyms': ['toast_(food)'], 'def': 'slice of bread that has been toasted', 'name': 'toast_(food)'}, {'frequency': 'f', 'id': 1115, 'synset': 'toaster.n.02', 'synonyms': ['toaster'], 'def': 'a kitchen appliance (usually electric) for toasting bread', 'name': 'toaster'}, {'frequency': 'c', 'id': 1116, 'synset': 'toaster_oven.n.01', 'synonyms': ['toaster_oven'], 'def': 'kitchen appliance consisting of a small electric oven for toasting or warming food', 'name': 'toaster_oven'}, {'frequency': 'f', 'id': 1117, 'synset': 'toilet.n.02', 'synonyms': ['toilet'], 'def': 'a plumbing fixture for defecation and urination', 'name': 'toilet'}, {'frequency': 'f', 'id': 1118, 'synset': 'toilet_tissue.n.01', 'synonyms': ['toilet_tissue', 'toilet_paper', 'bathroom_tissue'], 'def': 'a soft thin absorbent paper for use in toilets', 'name': 'toilet_tissue'}, {'frequency': 'f', 'id': 1119, 'synset': 'tomato.n.01', 'synonyms': ['tomato'], 'def': 'mildly acid red or yellow pulpy fruit eaten as a vegetable', 'name': 'tomato'}, {'frequency': 'c', 'id': 1120, 'synset': 'tongs.n.01', 'synonyms': ['tongs'], 'def': 'any of various devices for taking hold of objects; usually have two hinged legs with handles above and pointed hooks below', 'name': 'tongs'}, {'frequency': 'c', 'id': 1121, 'synset': 'toolbox.n.01', 'synonyms': ['toolbox'], 'def': 'a box or chest or cabinet for holding hand tools', 'name': 'toolbox'}, {'frequency': 'f', 'id': 1122, 'synset': 'toothbrush.n.01', 'synonyms': ['toothbrush'], 'def': 'small brush; has long handle; used to clean teeth', 'name': 'toothbrush'}, {'frequency': 'f', 'id': 1123, 'synset': 'toothpaste.n.01', 'synonyms': ['toothpaste'], 'def': 'a dentifrice in the form of a paste', 'name': 'toothpaste'}, {'frequency': 'c', 'id': 1124, 'synset': 'toothpick.n.01', 'synonyms': ['toothpick'], 'def': 'pick consisting of a small strip of wood or plastic; used to pick food from between the teeth', 'name': 'toothpick'}, {'frequency': 'c', 'id': 1125, 'synset': 'top.n.09', 'synonyms': ['cover'], 'def': 'covering for a hole (especially a hole in the top of a container)', 'name': 'cover'}, {'frequency': 'c', 'id': 1126, 'synset': 'tortilla.n.01', 'synonyms': ['tortilla'], 'def': 'thin unleavened pancake made from cornmeal or wheat flour', 'name': 'tortilla'}, {'frequency': 'c', 'id': 1127, 'synset': 'tow_truck.n.01', 'synonyms': ['tow_truck'], 'def': 'a truck equipped to hoist and pull wrecked cars (or to remove cars from no-parking zones)', 'name': 'tow_truck'}, {'frequency': 'f', 'id': 1128, 'synset': 'towel.n.01', 'synonyms': ['towel'], 'def': 'a rectangular piece of absorbent cloth (or paper) for drying or wiping', 'name': 'towel'}, {'frequency': 'f', 'id': 1129, 'synset': 'towel_rack.n.01', 'synonyms': ['towel_rack', 'towel_rail', 'towel_bar'], 'def': 'a rack consisting of one or more bars on which towels can be hung', 'name': 'towel_rack'}, {'frequency': 'f', 'id': 1130, 'synset': 'toy.n.03', 'synonyms': ['toy'], 'def': 'a device regarded as providing amusement', 'name': 'toy'}, {'frequency': 'c', 'id': 1131, 'synset': 'tractor.n.01', 'synonyms': ['tractor_(farm_equipment)'], 'def': 'a wheeled vehicle with large wheels; used in farming and other applications', 'name': 'tractor_(farm_equipment)'}, {'frequency': 'f', 'id': 1132, 'synset': 'traffic_light.n.01', 'synonyms': ['traffic_light'], 'def': 'a device to control vehicle traffic often consisting of three or more lights', 'name': 'traffic_light'}, {'frequency': 'r', 'id': 1133, 'synset': 'trail_bike.n.01', 'synonyms': ['dirt_bike'], 'def': 'a lightweight motorcycle equipped with rugged tires and suspension for off-road use', 'name': 'dirt_bike'}, {'frequency': 'c', 'id': 1134, 'synset': 'trailer_truck.n.01', 'synonyms': ['trailer_truck', 'tractor_trailer', 'trucking_rig', 'articulated_lorry', 'semi_truck'], 'def': 'a truck consisting of a tractor and trailer together', 'name': 'trailer_truck'}, {'frequency': 'f', 'id': 1135, 'synset': 'train.n.01', 'synonyms': ['train_(railroad_vehicle)', 'railroad_train'], 'def': 'public or private transport provided by a line of railway cars coupled together and drawn by a locomotive', 'name': 'train_(railroad_vehicle)'}, {'frequency': 'r', 'id': 1136, 'synset': 'trampoline.n.01', 'synonyms': ['trampoline'], 'def': 'gymnastic apparatus consisting of a strong canvas sheet attached with springs to a metal frame', 'name': 'trampoline'}, {'frequency': 'f', 'id': 1137, 'synset': 'tray.n.01', 'synonyms': ['tray'], 'def': 'an open receptacle for holding or displaying or serving articles or food', 'name': 'tray'}, {'frequency': 'r', 'id': 1138, 'synset': 'tree_house.n.01', 'synonyms': ['tree_house'], 'def': '(NOT A TREE) a PLAYHOUSE built in the branches of a tree', 'name': 'tree_house'}, {'frequency': 'r', 'id': 1139, 'synset': 'trench_coat.n.01', 'synonyms': ['trench_coat'], 'def': 'a military style raincoat; belted with deep pockets', 'name': 'trench_coat'}, {'frequency': 'r', 'id': 1140, 'synset': 'triangle.n.05', 'synonyms': ['triangle_(musical_instrument)'], 'def': 'a percussion instrument consisting of a metal bar bent in the shape of an open triangle', 'name': 'triangle_(musical_instrument)'}, {'frequency': 'r', 'id': 1141, 'synset': 'tricycle.n.01', 'synonyms': ['tricycle'], 'def': 'a vehicle with three wheels that is moved by foot pedals', 'name': 'tricycle'}, {'frequency': 'c', 'id': 1142, 'synset': 'tripod.n.01', 'synonyms': ['tripod'], 'def': 'a three-legged rack used for support', 'name': 'tripod'}, {'frequency': 'f', 'id': 1143, 'synset': 'trouser.n.01', 'synonyms': ['trousers', 'pants_(clothing)'], 'def': 'a garment extending from the waist to the knee or ankle, covering each leg separately', 'name': 'trousers'}, {'frequency': 'f', 'id': 1144, 'synset': 'truck.n.01', 'synonyms': ['truck'], 'def': 'an automotive vehicle suitable for hauling', 'name': 'truck'}, {'frequency': 'r', 'id': 1145, 'synset': 'truffle.n.03', 'synonyms': ['truffle_(chocolate)', 'chocolate_truffle'], 'def': 'creamy chocolate candy', 'name': 'truffle_(chocolate)'}, {'frequency': 'c', 'id': 1146, 'synset': 'trunk.n.02', 'synonyms': ['trunk'], 'def': 'luggage consisting of a large strong case used when traveling or for storage', 'name': 'trunk'}, {'frequency': 'r', 'id': 1147, 'synset': 'tub.n.02', 'synonyms': ['vat'], 'def': 'a large open vessel for holding or storing liquids', 'name': 'vat'}, {'frequency': 'c', 'id': 1148, 'synset': 'turban.n.01', 'synonyms': ['turban'], 'def': 'a traditional headdress consisting of a long scarf wrapped around the head', 'name': 'turban'}, {'frequency': 'r', 'id': 1149, 'synset': 'turkey.n.01', 'synonyms': ['turkey_(bird)'], 'def': 'large gallinaceous bird with fan-shaped tail; widely domesticated for food', 'name': 'turkey_(bird)'}, {'frequency': 'c', 'id': 1150, 'synset': 'turkey.n.04', 'synonyms': ['turkey_(food)'], 'def': 'flesh of large domesticated fowl usually roasted', 'name': 'turkey_(food)'}, {'frequency': 'r', 'id': 1151, 'synset': 'turnip.n.01', 'synonyms': ['turnip'], 'def': 'widely cultivated plant having a large fleshy edible white or yellow root', 'name': 'turnip'}, {'frequency': 'c', 'id': 1152, 'synset': 'turtle.n.02', 'synonyms': ['turtle'], 'def': 'any of various aquatic and land reptiles having a bony shell and flipper-like limbs for swimming', 'name': 'turtle'}, {'frequency': 'r', 'id': 1153, 'synset': 'turtleneck.n.01', 'synonyms': ['turtleneck_(clothing)', 'polo-neck'], 'def': 'a sweater or jersey with a high close-fitting collar', 'name': 'turtleneck_(clothing)'}, {'frequency': 'r', 'id': 1154, 'synset': 'typewriter.n.01', 'synonyms': ['typewriter'], 'def': 'hand-operated character printer for printing written messages one character at a time', 'name': 'typewriter'}, {'frequency': 'f', 'id': 1155, 'synset': 'umbrella.n.01', 'synonyms': ['umbrella'], 'def': 'a lightweight handheld collapsible canopy', 'name': 'umbrella'}, {'frequency': 'c', 'id': 1156, 'synset': 'underwear.n.01', 'synonyms': ['underwear', 'underclothes', 'underclothing', 'underpants'], 'def': 'undergarment worn next to the skin and under the outer garments', 'name': 'underwear'}, {'frequency': 'r', 'id': 1157, 'synset': 'unicycle.n.01', 'synonyms': ['unicycle'], 'def': 'a vehicle with a single wheel that is driven by pedals', 'name': 'unicycle'}, {'frequency': 'c', 'id': 1158, 'synset': 'urinal.n.01', 'synonyms': ['urinal'], 'def': 'a plumbing fixture (usually attached to the wall) used by men to urinate', 'name': 'urinal'}, {'frequency': 'r', 'id': 1159, 'synset': 'urn.n.01', 'synonyms': ['urn'], 'def': 'a large vase that usually has a pedestal or feet', 'name': 'urn'}, {'frequency': 'c', 'id': 1160, 'synset': 'vacuum.n.04', 'synonyms': ['vacuum_cleaner'], 'def': 'an electrical home appliance that cleans by suction', 'name': 'vacuum_cleaner'}, {'frequency': 'c', 'id': 1161, 'synset': 'valve.n.03', 'synonyms': ['valve'], 'def': 'control consisting of a mechanical device for controlling the flow of a fluid', 'name': 'valve'}, {'frequency': 'f', 'id': 1162, 'synset': 'vase.n.01', 'synonyms': ['vase'], 'def': 'an open jar of glass or porcelain used as an ornament or to hold flowers', 'name': 'vase'}, {'frequency': 'c', 'id': 1163, 'synset': 'vending_machine.n.01', 'synonyms': ['vending_machine'], 'def': 'a slot machine for selling goods', 'name': 'vending_machine'}, {'frequency': 'f', 'id': 1164, 'synset': 'vent.n.01', 'synonyms': ['vent', 'blowhole', 'air_vent'], 'def': 'a hole for the escape of gas or air', 'name': 'vent'}, {'frequency': 'c', 'id': 1165, 'synset': 'videotape.n.01', 'synonyms': ['videotape'], 'def': 'a video recording made on magnetic tape', 'name': 'videotape'}, {'frequency': 'r', 'id': 1166, 'synset': 'vinegar.n.01', 'synonyms': ['vinegar'], 'def': 'sour-tasting liquid produced usually by oxidation of the alcohol in wine or cider and used as a condiment or food preservative', 'name': 'vinegar'}, {'frequency': 'r', 'id': 1167, 'synset': 'violin.n.01', 'synonyms': ['violin', 'fiddle'], 'def': 'bowed stringed instrument that is the highest member of the violin family', 'name': 'violin'}, {'frequency': 'r', 'id': 1168, 'synset': 'vodka.n.01', 'synonyms': ['vodka'], 'def': 'unaged colorless liquor originating in Russia', 'name': 'vodka'}, {'frequency': 'r', 'id': 1169, 'synset': 'volleyball.n.02', 'synonyms': ['volleyball'], 'def': 'an inflated ball used in playing volleyball', 'name': 'volleyball'}, {'frequency': 'r', 'id': 1170, 'synset': 'vulture.n.01', 'synonyms': ['vulture'], 'def': 'any of various large birds of prey having naked heads and weak claws and feeding chiefly on carrion', 'name': 'vulture'}, {'frequency': 'c', 'id': 1171, 'synset': 'waffle.n.01', 'synonyms': ['waffle'], 'def': 'pancake batter baked in a waffle iron', 'name': 'waffle'}, {'frequency': 'r', 'id': 1172, 'synset': 'waffle_iron.n.01', 'synonyms': ['waffle_iron'], 'def': 'a kitchen appliance for baking waffles', 'name': 'waffle_iron'}, {'frequency': 'c', 'id': 1173, 'synset': 'wagon.n.01', 'synonyms': ['wagon'], 'def': 'any of various kinds of wheeled vehicles drawn by an animal or a tractor', 'name': 'wagon'}, {'frequency': 'c', 'id': 1174, 'synset': 'wagon_wheel.n.01', 'synonyms': ['wagon_wheel'], 'def': 'a wheel of a wagon', 'name': 'wagon_wheel'}, {'frequency': 'c', 'id': 1175, 'synset': 'walking_stick.n.01', 'synonyms': ['walking_stick'], 'def': 'a stick carried in the hand for support in walking', 'name': 'walking_stick'}, {'frequency': 'c', 'id': 1176, 'synset': 'wall_clock.n.01', 'synonyms': ['wall_clock'], 'def': 'a clock mounted on a wall', 'name': 'wall_clock'}, {'frequency': 'f', 'id': 1177, 'synset': 'wall_socket.n.01', 'synonyms': ['wall_socket', 'wall_plug', 'electric_outlet', 'electrical_outlet', 'outlet', 'electric_receptacle'], 'def': 'receptacle providing a place in a wiring system where current can be taken to run electrical devices', 'name': 'wall_socket'}, {'frequency': 'c', 'id': 1178, 'synset': 'wallet.n.01', 'synonyms': ['wallet', 'billfold'], 'def': 'a pocket-size case for holding papers and paper money', 'name': 'wallet'}, {'frequency': 'r', 'id': 1179, 'synset': 'walrus.n.01', 'synonyms': ['walrus'], 'def': 'either of two large northern marine mammals having ivory tusks and tough hide over thick blubber', 'name': 'walrus'}, {'frequency': 'r', 'id': 1180, 'synset': 'wardrobe.n.01', 'synonyms': ['wardrobe'], 'def': 'a tall piece of furniture that provides storage space for clothes; has a door and rails or hooks for hanging clothes', 'name': 'wardrobe'}, {'frequency': 'r', 'id': 1181, 'synset': 'wasabi.n.02', 'synonyms': ['wasabi'], 'def': 'the thick green root of the wasabi plant that the Japanese use in cooking and that tastes like strong horseradish', 'name': 'wasabi'}, {'frequency': 'c', 'id': 1182, 'synset': 'washer.n.03', 'synonyms': ['automatic_washer', 'washing_machine'], 'def': 'a home appliance for washing clothes and linens automatically', 'name': 'automatic_washer'}, {'frequency': 'f', 'id': 1183, 'synset': 'watch.n.01', 'synonyms': ['watch', 'wristwatch'], 'def': 'a small, portable timepiece', 'name': 'watch'}, {'frequency': 'f', 'id': 1184, 'synset': 'water_bottle.n.01', 'synonyms': ['water_bottle'], 'def': 'a bottle for holding water', 'name': 'water_bottle'}, {'frequency': 'c', 'id': 1185, 'synset': 'water_cooler.n.01', 'synonyms': ['water_cooler'], 'def': 'a device for cooling and dispensing drinking water', 'name': 'water_cooler'}, {'frequency': 'c', 'id': 1186, 'synset': 'water_faucet.n.01', 'synonyms': ['water_faucet', 'water_tap', 'tap_(water_faucet)'], 'def': 'a faucet for drawing water from a pipe or cask', 'name': 'water_faucet'}, {'frequency': 'r', 'id': 1187, 'synset': 'water_filter.n.01', 'synonyms': ['water_filter'], 'def': 'a filter to remove impurities from the water supply', 'name': 'water_filter'}, {'frequency': 'r', 'id': 1188, 'synset': 'water_heater.n.01', 'synonyms': ['water_heater', 'hot-water_heater'], 'def': 'a heater and storage tank to supply heated water', 'name': 'water_heater'}, {'frequency': 'r', 'id': 1189, 'synset': 'water_jug.n.01', 'synonyms': ['water_jug'], 'def': 'a jug that holds water', 'name': 'water_jug'}, {'frequency': 'r', 'id': 1190, 'synset': 'water_pistol.n.01', 'synonyms': ['water_gun', 'squirt_gun'], 'def': 'plaything consisting of a toy pistol that squirts water', 'name': 'water_gun'}, {'frequency': 'c', 'id': 1191, 'synset': 'water_scooter.n.01', 'synonyms': ['water_scooter', 'sea_scooter', 'jet_ski'], 'def': 'a motorboat resembling a motor scooter (NOT A SURFBOARD OR WATER SKI)', 'name': 'water_scooter'}, {'frequency': 'c', 'id': 1192, 'synset': 'water_ski.n.01', 'synonyms': ['water_ski'], 'def': 'broad ski for skimming over water towed by a speedboat (DO NOT MARK WATER)', 'name': 'water_ski'}, {'frequency': 'c', 'id': 1193, 'synset': 'water_tower.n.01', 'synonyms': ['water_tower'], 'def': 'a large reservoir for water', 'name': 'water_tower'}, {'frequency': 'c', 'id': 1194, 'synset': 'watering_can.n.01', 'synonyms': ['watering_can'], 'def': 'a container with a handle and a spout with a perforated nozzle; used to sprinkle water over plants', 'name': 'watering_can'}, {'frequency': 'c', 'id': 1195, 'synset': 'watermelon.n.02', 'synonyms': ['watermelon'], 'def': 'large oblong or roundish melon with a hard green rind and sweet watery red or occasionally yellowish pulp', 'name': 'watermelon'}, {'frequency': 'f', 'id': 1196, 'synset': 'weathervane.n.01', 'synonyms': ['weathervane', 'vane_(weathervane)', 'wind_vane'], 'def': 'mechanical device attached to an elevated structure; rotates freely to show the direction of the wind', 'name': 'weathervane'}, {'frequency': 'c', 'id': 1197, 'synset': 'webcam.n.01', 'synonyms': ['webcam'], 'def': 'a digital camera designed to take digital photographs and transmit them over the internet', 'name': 'webcam'}, {'frequency': 'c', 'id': 1198, 'synset': 'wedding_cake.n.01', 'synonyms': ['wedding_cake', 'bridecake'], 'def': 'a rich cake with two or more tiers and covered with frosting and decorations; served at a wedding reception', 'name': 'wedding_cake'}, {'frequency': 'c', 'id': 1199, 'synset': 'wedding_ring.n.01', 'synonyms': ['wedding_ring', 'wedding_band'], 'def': 'a ring given to the bride and/or groom at the wedding', 'name': 'wedding_ring'}, {'frequency': 'f', 'id': 1200, 'synset': 'wet_suit.n.01', 'synonyms': ['wet_suit'], 'def': 'a close-fitting garment made of a permeable material; worn in cold water to retain body heat', 'name': 'wet_suit'}, {'frequency': 'f', 'id': 1201, 'synset': 'wheel.n.01', 'synonyms': ['wheel'], 'def': 'a circular frame with spokes (or a solid disc) that can rotate on a shaft or axle', 'name': 'wheel'}, {'frequency': 'c', 'id': 1202, 'synset': 'wheelchair.n.01', 'synonyms': ['wheelchair'], 'def': 'a movable chair mounted on large wheels', 'name': 'wheelchair'}, {'frequency': 'c', 'id': 1203, 'synset': 'whipped_cream.n.01', 'synonyms': ['whipped_cream'], 'def': 'cream that has been beaten until light and fluffy', 'name': 'whipped_cream'}, {'frequency': 'r', 'id': 1204, 'synset': 'whiskey.n.01', 'synonyms': ['whiskey'], 'def': 'a liquor made from fermented mash of grain', 'name': 'whiskey'}, {'frequency': 'r', 'id': 1205, 'synset': 'whistle.n.03', 'synonyms': ['whistle'], 'def': 'a small wind instrument that produces a whistling sound by blowing into it', 'name': 'whistle'}, {'frequency': 'r', 'id': 1206, 'synset': 'wick.n.02', 'synonyms': ['wick'], 'def': 'a loosely woven cord in a candle or oil lamp that is lit on fire', 'name': 'wick'}, {'frequency': 'c', 'id': 1207, 'synset': 'wig.n.01', 'synonyms': ['wig'], 'def': 'hairpiece covering the head and made of real or synthetic hair', 'name': 'wig'}, {'frequency': 'c', 'id': 1208, 'synset': 'wind_chime.n.01', 'synonyms': ['wind_chime'], 'def': 'a decorative arrangement of pieces of metal or glass or pottery that hang together loosely so the wind can cause them to tinkle', 'name': 'wind_chime'}, {'frequency': 'c', 'id': 1209, 'synset': 'windmill.n.01', 'synonyms': ['windmill'], 'def': 'a mill that is powered by the wind', 'name': 'windmill'}, {'frequency': 'c', 'id': 1210, 'synset': 'window_box.n.01', 'synonyms': ['window_box_(for_plants)'], 'def': 'a container for growing plants on a windowsill', 'name': 'window_box_(for_plants)'}, {'frequency': 'f', 'id': 1211, 'synset': 'windshield_wiper.n.01', 'synonyms': ['windshield_wiper', 'windscreen_wiper', 'wiper_(for_windshield/screen)'], 'def': 'a mechanical device that cleans the windshield', 'name': 'windshield_wiper'}, {'frequency': 'c', 'id': 1212, 'synset': 'windsock.n.01', 'synonyms': ['windsock', 'air_sock', 'air-sleeve', 'wind_sleeve', 'wind_cone'], 'def': 'a truncated cloth cone mounted on a mast/pole; shows wind direction', 'name': 'windsock'}, {'frequency': 'f', 'id': 1213, 'synset': 'wine_bottle.n.01', 'synonyms': ['wine_bottle'], 'def': 'a bottle for holding wine', 'name': 'wine_bottle'}, {'frequency': 'r', 'id': 1214, 'synset': 'wine_bucket.n.01', 'synonyms': ['wine_bucket', 'wine_cooler'], 'def': 'a bucket of ice used to chill a bottle of wine', 'name': 'wine_bucket'}, {'frequency': 'f', 'id': 1215, 'synset': 'wineglass.n.01', 'synonyms': ['wineglass'], 'def': 'a glass that has a stem and in which wine is served', 'name': 'wineglass'}, {'frequency': 'r', 'id': 1216, 'synset': 'wing_chair.n.01', 'synonyms': ['wing_chair'], 'def': 'easy chair having wings on each side of a high back', 'name': 'wing_chair'}, {'frequency': 'c', 'id': 1217, 'synset': 'winker.n.02', 'synonyms': ['blinder_(for_horses)'], 'def': 'blinds that prevent a horse from seeing something on either side', 'name': 'blinder_(for_horses)'}, {'frequency': 'c', 'id': 1218, 'synset': 'wok.n.01', 'synonyms': ['wok'], 'def': 'pan with a convex bottom; used for frying in Chinese cooking', 'name': 'wok'}, {'frequency': 'r', 'id': 1219, 'synset': 'wolf.n.01', 'synonyms': ['wolf'], 'def': 'a wild carnivorous mammal of the dog family, living and hunting in packs', 'name': 'wolf'}, {'frequency': 'c', 'id': 1220, 'synset': 'wooden_spoon.n.02', 'synonyms': ['wooden_spoon'], 'def': 'a spoon made of wood', 'name': 'wooden_spoon'}, {'frequency': 'c', 'id': 1221, 'synset': 'wreath.n.01', 'synonyms': ['wreath'], 'def': 'an arrangement of flowers, leaves, or stems fastened in a ring', 'name': 'wreath'}, {'frequency': 'c', 'id': 1222, 'synset': 'wrench.n.03', 'synonyms': ['wrench', 'spanner'], 'def': 'a hand tool that is used to hold or twist a nut or bolt', 'name': 'wrench'}, {'frequency': 'c', 'id': 1223, 'synset': 'wristband.n.01', 'synonyms': ['wristband'], 'def': 'band consisting of a part of a sleeve that covers the wrist', 'name': 'wristband'}, {'frequency': 'f', 'id': 1224, 'synset': 'wristlet.n.01', 'synonyms': ['wristlet', 'wrist_band'], 'def': 'a band or bracelet worn around the wrist', 'name': 'wristlet'}, {'frequency': 'r', 'id': 1225, 'synset': 'yacht.n.01', 'synonyms': ['yacht'], 'def': 'an expensive vessel propelled by sail or power and used for cruising or racing', 'name': 'yacht'}, {'frequency': 'r', 'id': 1226, 'synset': 'yak.n.02', 'synonyms': ['yak'], 'def': 'large long-haired wild ox of Tibet often domesticated', 'name': 'yak'}, {'frequency': 'c', 'id': 1227, 'synset': 'yogurt.n.01', 'synonyms': ['yogurt', 'yoghurt', 'yoghourt'], 'def': 'a custard-like food made from curdled milk', 'name': 'yogurt'}, {'frequency': 'r', 'id': 1228, 'synset': 'yoke.n.07', 'synonyms': ['yoke_(animal_equipment)'], 'def': 'gear joining two animals at the neck; NOT egg yolk', 'name': 'yoke_(animal_equipment)'}, {'frequency': 'f', 'id': 1229, 'synset': 'zebra.n.01', 'synonyms': ['zebra'], 'def': 'any of several fleet black-and-white striped African equines', 'name': 'zebra'}, {'frequency': 'c', 'id': 1230, 'synset': 'zucchini.n.02', 'synonyms': ['zucchini', 'courgette'], 'def': 'small cucumber-shaped vegetable marrow; typically dark green', 'name': 'zucchini'}] # noqa
+# fmt: on
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/datasets/lvis_v1_categories.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/datasets/lvis_v1_categories.py
new file mode 100644
index 0000000000000000000000000000000000000000..7374e6968bb006f5d8c49e75d9d3b31ea3d77d05
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/datasets/lvis_v1_categories.py
@@ -0,0 +1,16 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+# Autogen with
+# with open("lvis_v1_val.json", "r") as f:
+# a = json.load(f)
+# c = a["categories"]
+# for x in c:
+# del x["image_count"]
+# del x["instance_count"]
+# LVIS_CATEGORIES = repr(c) + " # noqa"
+# with open("/tmp/lvis_categories.py", "wt") as f:
+# f.write(f"LVIS_CATEGORIES = {LVIS_CATEGORIES}")
+# Then paste the contents of that file below
+
+# fmt: off
+LVIS_CATEGORIES = [{'frequency': 'c', 'synset': 'aerosol.n.02', 'synonyms': ['aerosol_can', 'spray_can'], 'id': 1, 'def': 'a dispenser that holds a substance under pressure', 'name': 'aerosol_can'}, {'frequency': 'f', 'synset': 'air_conditioner.n.01', 'synonyms': ['air_conditioner'], 'id': 2, 'def': 'a machine that keeps air cool and dry', 'name': 'air_conditioner'}, {'frequency': 'f', 'synset': 'airplane.n.01', 'synonyms': ['airplane', 'aeroplane'], 'id': 3, 'def': 'an aircraft that has a fixed wing and is powered by propellers or jets', 'name': 'airplane'}, {'frequency': 'f', 'synset': 'alarm_clock.n.01', 'synonyms': ['alarm_clock'], 'id': 4, 'def': 'a clock that wakes a sleeper at some preset time', 'name': 'alarm_clock'}, {'frequency': 'c', 'synset': 'alcohol.n.01', 'synonyms': ['alcohol', 'alcoholic_beverage'], 'id': 5, 'def': 'a liquor or brew containing alcohol as the active agent', 'name': 'alcohol'}, {'frequency': 'c', 'synset': 'alligator.n.02', 'synonyms': ['alligator', 'gator'], 'id': 6, 'def': 'amphibious reptiles related to crocodiles but with shorter broader snouts', 'name': 'alligator'}, {'frequency': 'c', 'synset': 'almond.n.02', 'synonyms': ['almond'], 'id': 7, 'def': 'oval-shaped edible seed of the almond tree', 'name': 'almond'}, {'frequency': 'c', 'synset': 'ambulance.n.01', 'synonyms': ['ambulance'], 'id': 8, 'def': 'a vehicle that takes people to and from hospitals', 'name': 'ambulance'}, {'frequency': 'c', 'synset': 'amplifier.n.01', 'synonyms': ['amplifier'], 'id': 9, 'def': 'electronic equipment that increases strength of signals', 'name': 'amplifier'}, {'frequency': 'c', 'synset': 'anklet.n.03', 'synonyms': ['anklet', 'ankle_bracelet'], 'id': 10, 'def': 'an ornament worn around the ankle', 'name': 'anklet'}, {'frequency': 'f', 'synset': 'antenna.n.01', 'synonyms': ['antenna', 'aerial', 'transmitting_aerial'], 'id': 11, 'def': 'an electrical device that sends or receives radio or television signals', 'name': 'antenna'}, {'frequency': 'f', 'synset': 'apple.n.01', 'synonyms': ['apple'], 'id': 12, 'def': 'fruit with red or yellow or green skin and sweet to tart crisp whitish flesh', 'name': 'apple'}, {'frequency': 'r', 'synset': 'applesauce.n.01', 'synonyms': ['applesauce'], 'id': 13, 'def': 'puree of stewed apples usually sweetened and spiced', 'name': 'applesauce'}, {'frequency': 'r', 'synset': 'apricot.n.02', 'synonyms': ['apricot'], 'id': 14, 'def': 'downy yellow to rosy-colored fruit resembling a small peach', 'name': 'apricot'}, {'frequency': 'f', 'synset': 'apron.n.01', 'synonyms': ['apron'], 'id': 15, 'def': 'a garment of cloth that is tied about the waist and worn to protect clothing', 'name': 'apron'}, {'frequency': 'c', 'synset': 'aquarium.n.01', 'synonyms': ['aquarium', 'fish_tank'], 'id': 16, 'def': 'a tank/pool/bowl filled with water for keeping live fish and underwater animals', 'name': 'aquarium'}, {'frequency': 'r', 'synset': 'arctic.n.02', 'synonyms': ['arctic_(type_of_shoe)', 'galosh', 'golosh', 'rubber_(type_of_shoe)', 'gumshoe'], 'id': 17, 'def': 'a waterproof overshoe that protects shoes from water or snow', 'name': 'arctic_(type_of_shoe)'}, {'frequency': 'c', 'synset': 'armband.n.02', 'synonyms': ['armband'], 'id': 18, 'def': 'a band worn around the upper arm', 'name': 'armband'}, {'frequency': 'f', 'synset': 'armchair.n.01', 'synonyms': ['armchair'], 'id': 19, 'def': 'chair with a support on each side for arms', 'name': 'armchair'}, {'frequency': 'r', 'synset': 'armoire.n.01', 'synonyms': ['armoire'], 'id': 20, 'def': 'a large wardrobe or cabinet', 'name': 'armoire'}, {'frequency': 'r', 'synset': 'armor.n.01', 'synonyms': ['armor', 'armour'], 'id': 21, 'def': 'protective covering made of metal and used in combat', 'name': 'armor'}, {'frequency': 'c', 'synset': 'artichoke.n.02', 'synonyms': ['artichoke'], 'id': 22, 'def': 'a thistlelike flower head with edible fleshy leaves and heart', 'name': 'artichoke'}, {'frequency': 'f', 'synset': 'ashcan.n.01', 'synonyms': ['trash_can', 'garbage_can', 'wastebin', 'dustbin', 'trash_barrel', 'trash_bin'], 'id': 23, 'def': 'a bin that holds rubbish until it is collected', 'name': 'trash_can'}, {'frequency': 'c', 'synset': 'ashtray.n.01', 'synonyms': ['ashtray'], 'id': 24, 'def': "a receptacle for the ash from smokers' cigars or cigarettes", 'name': 'ashtray'}, {'frequency': 'c', 'synset': 'asparagus.n.02', 'synonyms': ['asparagus'], 'id': 25, 'def': 'edible young shoots of the asparagus plant', 'name': 'asparagus'}, {'frequency': 'c', 'synset': 'atomizer.n.01', 'synonyms': ['atomizer', 'atomiser', 'spray', 'sprayer', 'nebulizer', 'nebuliser'], 'id': 26, 'def': 'a dispenser that turns a liquid (such as perfume) into a fine mist', 'name': 'atomizer'}, {'frequency': 'f', 'synset': 'avocado.n.01', 'synonyms': ['avocado'], 'id': 27, 'def': 'a pear-shaped fruit with green or blackish skin and rich yellowish pulp enclosing a single large seed', 'name': 'avocado'}, {'frequency': 'c', 'synset': 'award.n.02', 'synonyms': ['award', 'accolade'], 'id': 28, 'def': 'a tangible symbol signifying approval or distinction', 'name': 'award'}, {'frequency': 'f', 'synset': 'awning.n.01', 'synonyms': ['awning'], 'id': 29, 'def': 'a canopy made of canvas to shelter people or things from rain or sun', 'name': 'awning'}, {'frequency': 'r', 'synset': 'ax.n.01', 'synonyms': ['ax', 'axe'], 'id': 30, 'def': 'an edge tool with a heavy bladed head mounted across a handle', 'name': 'ax'}, {'frequency': 'r', 'synset': 'baboon.n.01', 'synonyms': ['baboon'], 'id': 31, 'def': 'large terrestrial monkeys having doglike muzzles', 'name': 'baboon'}, {'frequency': 'f', 'synset': 'baby_buggy.n.01', 'synonyms': ['baby_buggy', 'baby_carriage', 'perambulator', 'pram', 'stroller'], 'id': 32, 'def': 'a small vehicle with four wheels in which a baby or child is pushed around', 'name': 'baby_buggy'}, {'frequency': 'c', 'synset': 'backboard.n.01', 'synonyms': ['basketball_backboard'], 'id': 33, 'def': 'a raised vertical board with basket attached; used to play basketball', 'name': 'basketball_backboard'}, {'frequency': 'f', 'synset': 'backpack.n.01', 'synonyms': ['backpack', 'knapsack', 'packsack', 'rucksack', 'haversack'], 'id': 34, 'def': 'a bag carried by a strap on your back or shoulder', 'name': 'backpack'}, {'frequency': 'f', 'synset': 'bag.n.04', 'synonyms': ['handbag', 'purse', 'pocketbook'], 'id': 35, 'def': 'a container used for carrying money and small personal items or accessories', 'name': 'handbag'}, {'frequency': 'f', 'synset': 'bag.n.06', 'synonyms': ['suitcase', 'baggage', 'luggage'], 'id': 36, 'def': 'cases used to carry belongings when traveling', 'name': 'suitcase'}, {'frequency': 'c', 'synset': 'bagel.n.01', 'synonyms': ['bagel', 'beigel'], 'id': 37, 'def': 'glazed yeast-raised doughnut-shaped roll with hard crust', 'name': 'bagel'}, {'frequency': 'r', 'synset': 'bagpipe.n.01', 'synonyms': ['bagpipe'], 'id': 38, 'def': 'a tubular wind instrument; the player blows air into a bag and squeezes it out', 'name': 'bagpipe'}, {'frequency': 'r', 'synset': 'baguet.n.01', 'synonyms': ['baguet', 'baguette'], 'id': 39, 'def': 'narrow French stick loaf', 'name': 'baguet'}, {'frequency': 'r', 'synset': 'bait.n.02', 'synonyms': ['bait', 'lure'], 'id': 40, 'def': 'something used to lure fish or other animals into danger so they can be trapped or killed', 'name': 'bait'}, {'frequency': 'f', 'synset': 'ball.n.06', 'synonyms': ['ball'], 'id': 41, 'def': 'a spherical object used as a plaything', 'name': 'ball'}, {'frequency': 'r', 'synset': 'ballet_skirt.n.01', 'synonyms': ['ballet_skirt', 'tutu'], 'id': 42, 'def': 'very short skirt worn by ballerinas', 'name': 'ballet_skirt'}, {'frequency': 'f', 'synset': 'balloon.n.01', 'synonyms': ['balloon'], 'id': 43, 'def': 'large tough nonrigid bag filled with gas or heated air', 'name': 'balloon'}, {'frequency': 'c', 'synset': 'bamboo.n.02', 'synonyms': ['bamboo'], 'id': 44, 'def': 'woody tropical grass having hollow woody stems', 'name': 'bamboo'}, {'frequency': 'f', 'synset': 'banana.n.02', 'synonyms': ['banana'], 'id': 45, 'def': 'elongated crescent-shaped yellow fruit with soft sweet flesh', 'name': 'banana'}, {'frequency': 'c', 'synset': 'band_aid.n.01', 'synonyms': ['Band_Aid'], 'id': 46, 'def': 'trade name for an adhesive bandage to cover small cuts or blisters', 'name': 'Band_Aid'}, {'frequency': 'c', 'synset': 'bandage.n.01', 'synonyms': ['bandage'], 'id': 47, 'def': 'a piece of soft material that covers and protects an injured part of the body', 'name': 'bandage'}, {'frequency': 'f', 'synset': 'bandanna.n.01', 'synonyms': ['bandanna', 'bandana'], 'id': 48, 'def': 'large and brightly colored handkerchief; often used as a neckerchief', 'name': 'bandanna'}, {'frequency': 'r', 'synset': 'banjo.n.01', 'synonyms': ['banjo'], 'id': 49, 'def': 'a stringed instrument of the guitar family with a long neck and circular body', 'name': 'banjo'}, {'frequency': 'f', 'synset': 'banner.n.01', 'synonyms': ['banner', 'streamer'], 'id': 50, 'def': 'long strip of cloth or paper used for decoration or advertising', 'name': 'banner'}, {'frequency': 'r', 'synset': 'barbell.n.01', 'synonyms': ['barbell'], 'id': 51, 'def': 'a bar to which heavy discs are attached at each end; used in weightlifting', 'name': 'barbell'}, {'frequency': 'r', 'synset': 'barge.n.01', 'synonyms': ['barge'], 'id': 52, 'def': 'a flatbottom boat for carrying heavy loads (especially on canals)', 'name': 'barge'}, {'frequency': 'f', 'synset': 'barrel.n.02', 'synonyms': ['barrel', 'cask'], 'id': 53, 'def': 'a cylindrical container that holds liquids', 'name': 'barrel'}, {'frequency': 'c', 'synset': 'barrette.n.01', 'synonyms': ['barrette'], 'id': 54, 'def': "a pin for holding women's hair in place", 'name': 'barrette'}, {'frequency': 'c', 'synset': 'barrow.n.03', 'synonyms': ['barrow', 'garden_cart', 'lawn_cart', 'wheelbarrow'], 'id': 55, 'def': 'a cart for carrying small loads; has handles and one or more wheels', 'name': 'barrow'}, {'frequency': 'f', 'synset': 'base.n.03', 'synonyms': ['baseball_base'], 'id': 56, 'def': 'a place that the runner must touch before scoring', 'name': 'baseball_base'}, {'frequency': 'f', 'synset': 'baseball.n.02', 'synonyms': ['baseball'], 'id': 57, 'def': 'a ball used in playing baseball', 'name': 'baseball'}, {'frequency': 'f', 'synset': 'baseball_bat.n.01', 'synonyms': ['baseball_bat'], 'id': 58, 'def': 'an implement used in baseball by the batter', 'name': 'baseball_bat'}, {'frequency': 'f', 'synset': 'baseball_cap.n.01', 'synonyms': ['baseball_cap', 'jockey_cap', 'golf_cap'], 'id': 59, 'def': 'a cap with a bill', 'name': 'baseball_cap'}, {'frequency': 'f', 'synset': 'baseball_glove.n.01', 'synonyms': ['baseball_glove', 'baseball_mitt'], 'id': 60, 'def': 'the handwear used by fielders in playing baseball', 'name': 'baseball_glove'}, {'frequency': 'f', 'synset': 'basket.n.01', 'synonyms': ['basket', 'handbasket'], 'id': 61, 'def': 'a container that is usually woven and has handles', 'name': 'basket'}, {'frequency': 'c', 'synset': 'basketball.n.02', 'synonyms': ['basketball'], 'id': 62, 'def': 'an inflated ball used in playing basketball', 'name': 'basketball'}, {'frequency': 'r', 'synset': 'bass_horn.n.01', 'synonyms': ['bass_horn', 'sousaphone', 'tuba'], 'id': 63, 'def': 'the lowest brass wind instrument', 'name': 'bass_horn'}, {'frequency': 'c', 'synset': 'bat.n.01', 'synonyms': ['bat_(animal)'], 'id': 64, 'def': 'nocturnal mouselike mammal with forelimbs modified to form membranous wings', 'name': 'bat_(animal)'}, {'frequency': 'f', 'synset': 'bath_mat.n.01', 'synonyms': ['bath_mat'], 'id': 65, 'def': 'a heavy towel or mat to stand on while drying yourself after a bath', 'name': 'bath_mat'}, {'frequency': 'f', 'synset': 'bath_towel.n.01', 'synonyms': ['bath_towel'], 'id': 66, 'def': 'a large towel; to dry yourself after a bath', 'name': 'bath_towel'}, {'frequency': 'c', 'synset': 'bathrobe.n.01', 'synonyms': ['bathrobe'], 'id': 67, 'def': 'a loose-fitting robe of towelling; worn after a bath or swim', 'name': 'bathrobe'}, {'frequency': 'f', 'synset': 'bathtub.n.01', 'synonyms': ['bathtub', 'bathing_tub'], 'id': 68, 'def': 'a large open container that you fill with water and use to wash the body', 'name': 'bathtub'}, {'frequency': 'r', 'synset': 'batter.n.02', 'synonyms': ['batter_(food)'], 'id': 69, 'def': 'a liquid or semiliquid mixture, as of flour, eggs, and milk, used in cooking', 'name': 'batter_(food)'}, {'frequency': 'c', 'synset': 'battery.n.02', 'synonyms': ['battery'], 'id': 70, 'def': 'a portable device that produces electricity', 'name': 'battery'}, {'frequency': 'r', 'synset': 'beach_ball.n.01', 'synonyms': ['beachball'], 'id': 71, 'def': 'large and light ball; for play at the seaside', 'name': 'beachball'}, {'frequency': 'c', 'synset': 'bead.n.01', 'synonyms': ['bead'], 'id': 72, 'def': 'a small ball with a hole through the middle used for ornamentation, jewellery, etc.', 'name': 'bead'}, {'frequency': 'c', 'synset': 'bean_curd.n.01', 'synonyms': ['bean_curd', 'tofu'], 'id': 73, 'def': 'cheeselike food made of curdled soybean milk', 'name': 'bean_curd'}, {'frequency': 'c', 'synset': 'beanbag.n.01', 'synonyms': ['beanbag'], 'id': 74, 'def': 'a bag filled with dried beans or similar items; used in games or to sit on', 'name': 'beanbag'}, {'frequency': 'f', 'synset': 'beanie.n.01', 'synonyms': ['beanie', 'beany'], 'id': 75, 'def': 'a small skullcap; formerly worn by schoolboys and college freshmen', 'name': 'beanie'}, {'frequency': 'f', 'synset': 'bear.n.01', 'synonyms': ['bear'], 'id': 76, 'def': 'large carnivorous or omnivorous mammals with shaggy coats and claws', 'name': 'bear'}, {'frequency': 'f', 'synset': 'bed.n.01', 'synonyms': ['bed'], 'id': 77, 'def': 'a piece of furniture that provides a place to sleep', 'name': 'bed'}, {'frequency': 'r', 'synset': 'bedpan.n.01', 'synonyms': ['bedpan'], 'id': 78, 'def': 'a shallow vessel used by a bedridden patient for defecation and urination', 'name': 'bedpan'}, {'frequency': 'f', 'synset': 'bedspread.n.01', 'synonyms': ['bedspread', 'bedcover', 'bed_covering', 'counterpane', 'spread'], 'id': 79, 'def': 'decorative cover for a bed', 'name': 'bedspread'}, {'frequency': 'f', 'synset': 'beef.n.01', 'synonyms': ['cow'], 'id': 80, 'def': 'cattle/cow', 'name': 'cow'}, {'frequency': 'f', 'synset': 'beef.n.02', 'synonyms': ['beef_(food)', 'boeuf_(food)'], 'id': 81, 'def': 'meat from an adult domestic bovine', 'name': 'beef_(food)'}, {'frequency': 'r', 'synset': 'beeper.n.01', 'synonyms': ['beeper', 'pager'], 'id': 82, 'def': 'an device that beeps when the person carrying it is being paged', 'name': 'beeper'}, {'frequency': 'f', 'synset': 'beer_bottle.n.01', 'synonyms': ['beer_bottle'], 'id': 83, 'def': 'a bottle that holds beer', 'name': 'beer_bottle'}, {'frequency': 'c', 'synset': 'beer_can.n.01', 'synonyms': ['beer_can'], 'id': 84, 'def': 'a can that holds beer', 'name': 'beer_can'}, {'frequency': 'r', 'synset': 'beetle.n.01', 'synonyms': ['beetle'], 'id': 85, 'def': 'insect with hard wing covers', 'name': 'beetle'}, {'frequency': 'f', 'synset': 'bell.n.01', 'synonyms': ['bell'], 'id': 86, 'def': 'a hollow device made of metal that makes a ringing sound when struck', 'name': 'bell'}, {'frequency': 'f', 'synset': 'bell_pepper.n.02', 'synonyms': ['bell_pepper', 'capsicum'], 'id': 87, 'def': 'large bell-shaped sweet pepper in green or red or yellow or orange or black varieties', 'name': 'bell_pepper'}, {'frequency': 'f', 'synset': 'belt.n.02', 'synonyms': ['belt'], 'id': 88, 'def': 'a band to tie or buckle around the body (usually at the waist)', 'name': 'belt'}, {'frequency': 'f', 'synset': 'belt_buckle.n.01', 'synonyms': ['belt_buckle'], 'id': 89, 'def': 'the buckle used to fasten a belt', 'name': 'belt_buckle'}, {'frequency': 'f', 'synset': 'bench.n.01', 'synonyms': ['bench'], 'id': 90, 'def': 'a long seat for more than one person', 'name': 'bench'}, {'frequency': 'c', 'synset': 'beret.n.01', 'synonyms': ['beret'], 'id': 91, 'def': 'a cap with no brim or bill; made of soft cloth', 'name': 'beret'}, {'frequency': 'c', 'synset': 'bib.n.02', 'synonyms': ['bib'], 'id': 92, 'def': 'a napkin tied under the chin of a child while eating', 'name': 'bib'}, {'frequency': 'r', 'synset': 'bible.n.01', 'synonyms': ['Bible'], 'id': 93, 'def': 'the sacred writings of the Christian religions', 'name': 'Bible'}, {'frequency': 'f', 'synset': 'bicycle.n.01', 'synonyms': ['bicycle', 'bike_(bicycle)'], 'id': 94, 'def': 'a wheeled vehicle that has two wheels and is moved by foot pedals', 'name': 'bicycle'}, {'frequency': 'f', 'synset': 'bill.n.09', 'synonyms': ['visor', 'vizor'], 'id': 95, 'def': 'a brim that projects to the front to shade the eyes', 'name': 'visor'}, {'frequency': 'f', 'synset': 'billboard.n.01', 'synonyms': ['billboard'], 'id': 96, 'def': 'large outdoor signboard', 'name': 'billboard'}, {'frequency': 'c', 'synset': 'binder.n.03', 'synonyms': ['binder', 'ring-binder'], 'id': 97, 'def': 'holds loose papers or magazines', 'name': 'binder'}, {'frequency': 'c', 'synset': 'binoculars.n.01', 'synonyms': ['binoculars', 'field_glasses', 'opera_glasses'], 'id': 98, 'def': 'an optical instrument designed for simultaneous use by both eyes', 'name': 'binoculars'}, {'frequency': 'f', 'synset': 'bird.n.01', 'synonyms': ['bird'], 'id': 99, 'def': 'animal characterized by feathers and wings', 'name': 'bird'}, {'frequency': 'c', 'synset': 'bird_feeder.n.01', 'synonyms': ['birdfeeder'], 'id': 100, 'def': 'an outdoor device that supplies food for wild birds', 'name': 'birdfeeder'}, {'frequency': 'c', 'synset': 'birdbath.n.01', 'synonyms': ['birdbath'], 'id': 101, 'def': 'an ornamental basin (usually in a garden) for birds to bathe in', 'name': 'birdbath'}, {'frequency': 'c', 'synset': 'birdcage.n.01', 'synonyms': ['birdcage'], 'id': 102, 'def': 'a cage in which a bird can be kept', 'name': 'birdcage'}, {'frequency': 'c', 'synset': 'birdhouse.n.01', 'synonyms': ['birdhouse'], 'id': 103, 'def': 'a shelter for birds', 'name': 'birdhouse'}, {'frequency': 'f', 'synset': 'birthday_cake.n.01', 'synonyms': ['birthday_cake'], 'id': 104, 'def': 'decorated cake served at a birthday party', 'name': 'birthday_cake'}, {'frequency': 'r', 'synset': 'birthday_card.n.01', 'synonyms': ['birthday_card'], 'id': 105, 'def': 'a card expressing a birthday greeting', 'name': 'birthday_card'}, {'frequency': 'r', 'synset': 'black_flag.n.01', 'synonyms': ['pirate_flag'], 'id': 106, 'def': 'a flag usually bearing a white skull and crossbones on a black background', 'name': 'pirate_flag'}, {'frequency': 'c', 'synset': 'black_sheep.n.02', 'synonyms': ['black_sheep'], 'id': 107, 'def': 'sheep with a black coat', 'name': 'black_sheep'}, {'frequency': 'c', 'synset': 'blackberry.n.01', 'synonyms': ['blackberry'], 'id': 108, 'def': 'large sweet black or very dark purple edible aggregate fruit', 'name': 'blackberry'}, {'frequency': 'f', 'synset': 'blackboard.n.01', 'synonyms': ['blackboard', 'chalkboard'], 'id': 109, 'def': 'sheet of slate; for writing with chalk', 'name': 'blackboard'}, {'frequency': 'f', 'synset': 'blanket.n.01', 'synonyms': ['blanket'], 'id': 110, 'def': 'bedding that keeps a person warm in bed', 'name': 'blanket'}, {'frequency': 'c', 'synset': 'blazer.n.01', 'synonyms': ['blazer', 'sport_jacket', 'sport_coat', 'sports_jacket', 'sports_coat'], 'id': 111, 'def': 'lightweight jacket; often striped in the colors of a club or school', 'name': 'blazer'}, {'frequency': 'f', 'synset': 'blender.n.01', 'synonyms': ['blender', 'liquidizer', 'liquidiser'], 'id': 112, 'def': 'an electrically powered mixer that mix or chop or liquefy foods', 'name': 'blender'}, {'frequency': 'r', 'synset': 'blimp.n.02', 'synonyms': ['blimp'], 'id': 113, 'def': 'a small nonrigid airship used for observation or as a barrage balloon', 'name': 'blimp'}, {'frequency': 'f', 'synset': 'blinker.n.01', 'synonyms': ['blinker', 'flasher'], 'id': 114, 'def': 'a light that flashes on and off; used as a signal or to send messages', 'name': 'blinker'}, {'frequency': 'f', 'synset': 'blouse.n.01', 'synonyms': ['blouse'], 'id': 115, 'def': 'a top worn by women', 'name': 'blouse'}, {'frequency': 'f', 'synset': 'blueberry.n.02', 'synonyms': ['blueberry'], 'id': 116, 'def': 'sweet edible dark-blue berries of blueberry plants', 'name': 'blueberry'}, {'frequency': 'r', 'synset': 'board.n.09', 'synonyms': ['gameboard'], 'id': 117, 'def': 'a flat portable surface (usually rectangular) designed for board games', 'name': 'gameboard'}, {'frequency': 'f', 'synset': 'boat.n.01', 'synonyms': ['boat', 'ship_(boat)'], 'id': 118, 'def': 'a vessel for travel on water', 'name': 'boat'}, {'frequency': 'r', 'synset': 'bob.n.05', 'synonyms': ['bob', 'bobber', 'bobfloat'], 'id': 119, 'def': 'a small float usually made of cork; attached to a fishing line', 'name': 'bob'}, {'frequency': 'c', 'synset': 'bobbin.n.01', 'synonyms': ['bobbin', 'spool', 'reel'], 'id': 120, 'def': 'a thing around which thread/tape/film or other flexible materials can be wound', 'name': 'bobbin'}, {'frequency': 'c', 'synset': 'bobby_pin.n.01', 'synonyms': ['bobby_pin', 'hairgrip'], 'id': 121, 'def': 'a flat wire hairpin used to hold bobbed hair in place', 'name': 'bobby_pin'}, {'frequency': 'c', 'synset': 'boiled_egg.n.01', 'synonyms': ['boiled_egg', 'coddled_egg'], 'id': 122, 'def': 'egg cooked briefly in the shell in gently boiling water', 'name': 'boiled_egg'}, {'frequency': 'r', 'synset': 'bolo_tie.n.01', 'synonyms': ['bolo_tie', 'bolo', 'bola_tie', 'bola'], 'id': 123, 'def': 'a cord fastened around the neck with an ornamental clasp and worn as a necktie', 'name': 'bolo_tie'}, {'frequency': 'c', 'synset': 'bolt.n.03', 'synonyms': ['deadbolt'], 'id': 124, 'def': 'the part of a lock that is engaged or withdrawn with a key', 'name': 'deadbolt'}, {'frequency': 'f', 'synset': 'bolt.n.06', 'synonyms': ['bolt'], 'id': 125, 'def': 'a screw that screws into a nut to form a fastener', 'name': 'bolt'}, {'frequency': 'r', 'synset': 'bonnet.n.01', 'synonyms': ['bonnet'], 'id': 126, 'def': 'a hat tied under the chin', 'name': 'bonnet'}, {'frequency': 'f', 'synset': 'book.n.01', 'synonyms': ['book'], 'id': 127, 'def': 'a written work or composition that has been published', 'name': 'book'}, {'frequency': 'c', 'synset': 'bookcase.n.01', 'synonyms': ['bookcase'], 'id': 128, 'def': 'a piece of furniture with shelves for storing books', 'name': 'bookcase'}, {'frequency': 'c', 'synset': 'booklet.n.01', 'synonyms': ['booklet', 'brochure', 'leaflet', 'pamphlet'], 'id': 129, 'def': 'a small book usually having a paper cover', 'name': 'booklet'}, {'frequency': 'r', 'synset': 'bookmark.n.01', 'synonyms': ['bookmark', 'bookmarker'], 'id': 130, 'def': 'a marker (a piece of paper or ribbon) placed between the pages of a book', 'name': 'bookmark'}, {'frequency': 'r', 'synset': 'boom.n.04', 'synonyms': ['boom_microphone', 'microphone_boom'], 'id': 131, 'def': 'a pole carrying an overhead microphone projected over a film or tv set', 'name': 'boom_microphone'}, {'frequency': 'f', 'synset': 'boot.n.01', 'synonyms': ['boot'], 'id': 132, 'def': 'footwear that covers the whole foot and lower leg', 'name': 'boot'}, {'frequency': 'f', 'synset': 'bottle.n.01', 'synonyms': ['bottle'], 'id': 133, 'def': 'a glass or plastic vessel used for storing drinks or other liquids', 'name': 'bottle'}, {'frequency': 'c', 'synset': 'bottle_opener.n.01', 'synonyms': ['bottle_opener'], 'id': 134, 'def': 'an opener for removing caps or corks from bottles', 'name': 'bottle_opener'}, {'frequency': 'c', 'synset': 'bouquet.n.01', 'synonyms': ['bouquet'], 'id': 135, 'def': 'an arrangement of flowers that is usually given as a present', 'name': 'bouquet'}, {'frequency': 'r', 'synset': 'bow.n.04', 'synonyms': ['bow_(weapon)'], 'id': 136, 'def': 'a weapon for shooting arrows', 'name': 'bow_(weapon)'}, {'frequency': 'f', 'synset': 'bow.n.08', 'synonyms': ['bow_(decorative_ribbons)'], 'id': 137, 'def': 'a decorative interlacing of ribbons', 'name': 'bow_(decorative_ribbons)'}, {'frequency': 'f', 'synset': 'bow_tie.n.01', 'synonyms': ['bow-tie', 'bowtie'], 'id': 138, 'def': "a man's tie that ties in a bow", 'name': 'bow-tie'}, {'frequency': 'f', 'synset': 'bowl.n.03', 'synonyms': ['bowl'], 'id': 139, 'def': 'a dish that is round and open at the top for serving foods', 'name': 'bowl'}, {'frequency': 'r', 'synset': 'bowl.n.08', 'synonyms': ['pipe_bowl'], 'id': 140, 'def': 'a small round container that is open at the top for holding tobacco', 'name': 'pipe_bowl'}, {'frequency': 'c', 'synset': 'bowler_hat.n.01', 'synonyms': ['bowler_hat', 'bowler', 'derby_hat', 'derby', 'plug_hat'], 'id': 141, 'def': 'a felt hat that is round and hard with a narrow brim', 'name': 'bowler_hat'}, {'frequency': 'r', 'synset': 'bowling_ball.n.01', 'synonyms': ['bowling_ball'], 'id': 142, 'def': 'a large ball with finger holes used in the sport of bowling', 'name': 'bowling_ball'}, {'frequency': 'f', 'synset': 'box.n.01', 'synonyms': ['box'], 'id': 143, 'def': 'a (usually rectangular) container; may have a lid', 'name': 'box'}, {'frequency': 'r', 'synset': 'boxing_glove.n.01', 'synonyms': ['boxing_glove'], 'id': 144, 'def': 'large glove coverings the fists of a fighter worn for the sport of boxing', 'name': 'boxing_glove'}, {'frequency': 'c', 'synset': 'brace.n.06', 'synonyms': ['suspenders'], 'id': 145, 'def': 'elastic straps that hold trousers up (usually used in the plural)', 'name': 'suspenders'}, {'frequency': 'f', 'synset': 'bracelet.n.02', 'synonyms': ['bracelet', 'bangle'], 'id': 146, 'def': 'jewelry worn around the wrist for decoration', 'name': 'bracelet'}, {'frequency': 'r', 'synset': 'brass.n.07', 'synonyms': ['brass_plaque'], 'id': 147, 'def': 'a memorial made of brass', 'name': 'brass_plaque'}, {'frequency': 'c', 'synset': 'brassiere.n.01', 'synonyms': ['brassiere', 'bra', 'bandeau'], 'id': 148, 'def': 'an undergarment worn by women to support their breasts', 'name': 'brassiere'}, {'frequency': 'c', 'synset': 'bread-bin.n.01', 'synonyms': ['bread-bin', 'breadbox'], 'id': 149, 'def': 'a container used to keep bread or cake in', 'name': 'bread-bin'}, {'frequency': 'f', 'synset': 'bread.n.01', 'synonyms': ['bread'], 'id': 150, 'def': 'food made from dough of flour or meal and usually raised with yeast or baking powder and then baked', 'name': 'bread'}, {'frequency': 'r', 'synset': 'breechcloth.n.01', 'synonyms': ['breechcloth', 'breechclout', 'loincloth'], 'id': 151, 'def': 'a garment that provides covering for the loins', 'name': 'breechcloth'}, {'frequency': 'f', 'synset': 'bridal_gown.n.01', 'synonyms': ['bridal_gown', 'wedding_gown', 'wedding_dress'], 'id': 152, 'def': 'a gown worn by the bride at a wedding', 'name': 'bridal_gown'}, {'frequency': 'c', 'synset': 'briefcase.n.01', 'synonyms': ['briefcase'], 'id': 153, 'def': 'a case with a handle; for carrying papers or files or books', 'name': 'briefcase'}, {'frequency': 'f', 'synset': 'broccoli.n.01', 'synonyms': ['broccoli'], 'id': 154, 'def': 'plant with dense clusters of tight green flower buds', 'name': 'broccoli'}, {'frequency': 'r', 'synset': 'brooch.n.01', 'synonyms': ['broach'], 'id': 155, 'def': 'a decorative pin worn by women', 'name': 'broach'}, {'frequency': 'c', 'synset': 'broom.n.01', 'synonyms': ['broom'], 'id': 156, 'def': 'bundle of straws or twigs attached to a long handle; used for cleaning', 'name': 'broom'}, {'frequency': 'c', 'synset': 'brownie.n.03', 'synonyms': ['brownie'], 'id': 157, 'def': 'square or bar of very rich chocolate cake usually with nuts', 'name': 'brownie'}, {'frequency': 'c', 'synset': 'brussels_sprouts.n.01', 'synonyms': ['brussels_sprouts'], 'id': 158, 'def': 'the small edible cabbage-like buds growing along a stalk', 'name': 'brussels_sprouts'}, {'frequency': 'r', 'synset': 'bubble_gum.n.01', 'synonyms': ['bubble_gum'], 'id': 159, 'def': 'a kind of chewing gum that can be blown into bubbles', 'name': 'bubble_gum'}, {'frequency': 'f', 'synset': 'bucket.n.01', 'synonyms': ['bucket', 'pail'], 'id': 160, 'def': 'a roughly cylindrical vessel that is open at the top', 'name': 'bucket'}, {'frequency': 'r', 'synset': 'buggy.n.01', 'synonyms': ['horse_buggy'], 'id': 161, 'def': 'a small lightweight carriage; drawn by a single horse', 'name': 'horse_buggy'}, {'frequency': 'c', 'synset': 'bull.n.11', 'synonyms': ['horned_cow'], 'id': 162, 'def': 'a cow with horns', 'name': 'bull'}, {'frequency': 'c', 'synset': 'bulldog.n.01', 'synonyms': ['bulldog'], 'id': 163, 'def': 'a thickset short-haired dog with a large head and strong undershot lower jaw', 'name': 'bulldog'}, {'frequency': 'r', 'synset': 'bulldozer.n.01', 'synonyms': ['bulldozer', 'dozer'], 'id': 164, 'def': 'large powerful tractor; a large blade in front flattens areas of ground', 'name': 'bulldozer'}, {'frequency': 'c', 'synset': 'bullet_train.n.01', 'synonyms': ['bullet_train'], 'id': 165, 'def': 'a high-speed passenger train', 'name': 'bullet_train'}, {'frequency': 'c', 'synset': 'bulletin_board.n.02', 'synonyms': ['bulletin_board', 'notice_board'], 'id': 166, 'def': 'a board that hangs on a wall; displays announcements', 'name': 'bulletin_board'}, {'frequency': 'r', 'synset': 'bulletproof_vest.n.01', 'synonyms': ['bulletproof_vest'], 'id': 167, 'def': 'a vest capable of resisting the impact of a bullet', 'name': 'bulletproof_vest'}, {'frequency': 'c', 'synset': 'bullhorn.n.01', 'synonyms': ['bullhorn', 'megaphone'], 'id': 168, 'def': 'a portable loudspeaker with built-in microphone and amplifier', 'name': 'bullhorn'}, {'frequency': 'f', 'synset': 'bun.n.01', 'synonyms': ['bun', 'roll'], 'id': 169, 'def': 'small rounded bread either plain or sweet', 'name': 'bun'}, {'frequency': 'c', 'synset': 'bunk_bed.n.01', 'synonyms': ['bunk_bed'], 'id': 170, 'def': 'beds built one above the other', 'name': 'bunk_bed'}, {'frequency': 'f', 'synset': 'buoy.n.01', 'synonyms': ['buoy'], 'id': 171, 'def': 'a float attached by rope to the seabed to mark channels in a harbor or underwater hazards', 'name': 'buoy'}, {'frequency': 'r', 'synset': 'burrito.n.01', 'synonyms': ['burrito'], 'id': 172, 'def': 'a flour tortilla folded around a filling', 'name': 'burrito'}, {'frequency': 'f', 'synset': 'bus.n.01', 'synonyms': ['bus_(vehicle)', 'autobus', 'charabanc', 'double-decker', 'motorbus', 'motorcoach'], 'id': 173, 'def': 'a vehicle carrying many passengers; used for public transport', 'name': 'bus_(vehicle)'}, {'frequency': 'c', 'synset': 'business_card.n.01', 'synonyms': ['business_card'], 'id': 174, 'def': "a card on which are printed the person's name and business affiliation", 'name': 'business_card'}, {'frequency': 'f', 'synset': 'butter.n.01', 'synonyms': ['butter'], 'id': 175, 'def': 'an edible emulsion of fat globules made by churning milk or cream; for cooking and table use', 'name': 'butter'}, {'frequency': 'c', 'synset': 'butterfly.n.01', 'synonyms': ['butterfly'], 'id': 176, 'def': 'insect typically having a slender body with knobbed antennae and broad colorful wings', 'name': 'butterfly'}, {'frequency': 'f', 'synset': 'button.n.01', 'synonyms': ['button'], 'id': 177, 'def': 'a round fastener sewn to shirts and coats etc to fit through buttonholes', 'name': 'button'}, {'frequency': 'f', 'synset': 'cab.n.03', 'synonyms': ['cab_(taxi)', 'taxi', 'taxicab'], 'id': 178, 'def': 'a car that takes passengers where they want to go in exchange for money', 'name': 'cab_(taxi)'}, {'frequency': 'r', 'synset': 'cabana.n.01', 'synonyms': ['cabana'], 'id': 179, 'def': 'a small tent used as a dressing room beside the sea or a swimming pool', 'name': 'cabana'}, {'frequency': 'c', 'synset': 'cabin_car.n.01', 'synonyms': ['cabin_car', 'caboose'], 'id': 180, 'def': 'a car on a freight train for use of the train crew; usually the last car on the train', 'name': 'cabin_car'}, {'frequency': 'f', 'synset': 'cabinet.n.01', 'synonyms': ['cabinet'], 'id': 181, 'def': 'a piece of furniture resembling a cupboard with doors and shelves and drawers', 'name': 'cabinet'}, {'frequency': 'r', 'synset': 'cabinet.n.03', 'synonyms': ['locker', 'storage_locker'], 'id': 182, 'def': 'a storage compartment for clothes and valuables; usually it has a lock', 'name': 'locker'}, {'frequency': 'f', 'synset': 'cake.n.03', 'synonyms': ['cake'], 'id': 183, 'def': 'baked goods made from or based on a mixture of flour, sugar, eggs, and fat', 'name': 'cake'}, {'frequency': 'c', 'synset': 'calculator.n.02', 'synonyms': ['calculator'], 'id': 184, 'def': 'a small machine that is used for mathematical calculations', 'name': 'calculator'}, {'frequency': 'f', 'synset': 'calendar.n.02', 'synonyms': ['calendar'], 'id': 185, 'def': 'a list or register of events (appointments/social events/court cases, etc)', 'name': 'calendar'}, {'frequency': 'c', 'synset': 'calf.n.01', 'synonyms': ['calf'], 'id': 186, 'def': 'young of domestic cattle', 'name': 'calf'}, {'frequency': 'c', 'synset': 'camcorder.n.01', 'synonyms': ['camcorder'], 'id': 187, 'def': 'a portable television camera and videocassette recorder', 'name': 'camcorder'}, {'frequency': 'c', 'synset': 'camel.n.01', 'synonyms': ['camel'], 'id': 188, 'def': 'cud-chewing mammal used as a draft or saddle animal in desert regions', 'name': 'camel'}, {'frequency': 'f', 'synset': 'camera.n.01', 'synonyms': ['camera'], 'id': 189, 'def': 'equipment for taking photographs', 'name': 'camera'}, {'frequency': 'c', 'synset': 'camera_lens.n.01', 'synonyms': ['camera_lens'], 'id': 190, 'def': 'a lens that focuses the image in a camera', 'name': 'camera_lens'}, {'frequency': 'c', 'synset': 'camper.n.02', 'synonyms': ['camper_(vehicle)', 'camping_bus', 'motor_home'], 'id': 191, 'def': 'a recreational vehicle equipped for camping out while traveling', 'name': 'camper_(vehicle)'}, {'frequency': 'f', 'synset': 'can.n.01', 'synonyms': ['can', 'tin_can'], 'id': 192, 'def': 'airtight sealed metal container for food or drink or paint etc.', 'name': 'can'}, {'frequency': 'c', 'synset': 'can_opener.n.01', 'synonyms': ['can_opener', 'tin_opener'], 'id': 193, 'def': 'a device for cutting cans open', 'name': 'can_opener'}, {'frequency': 'f', 'synset': 'candle.n.01', 'synonyms': ['candle', 'candlestick'], 'id': 194, 'def': 'stick of wax with a wick in the middle', 'name': 'candle'}, {'frequency': 'f', 'synset': 'candlestick.n.01', 'synonyms': ['candle_holder'], 'id': 195, 'def': 'a holder with sockets for candles', 'name': 'candle_holder'}, {'frequency': 'r', 'synset': 'candy_bar.n.01', 'synonyms': ['candy_bar'], 'id': 196, 'def': 'a candy shaped as a bar', 'name': 'candy_bar'}, {'frequency': 'c', 'synset': 'candy_cane.n.01', 'synonyms': ['candy_cane'], 'id': 197, 'def': 'a hard candy in the shape of a rod (usually with stripes)', 'name': 'candy_cane'}, {'frequency': 'c', 'synset': 'cane.n.01', 'synonyms': ['walking_cane'], 'id': 198, 'def': 'a stick that people can lean on to help them walk', 'name': 'walking_cane'}, {'frequency': 'c', 'synset': 'canister.n.02', 'synonyms': ['canister', 'cannister'], 'id': 199, 'def': 'metal container for storing dry foods such as tea or flour', 'name': 'canister'}, {'frequency': 'c', 'synset': 'canoe.n.01', 'synonyms': ['canoe'], 'id': 200, 'def': 'small and light boat; pointed at both ends; propelled with a paddle', 'name': 'canoe'}, {'frequency': 'c', 'synset': 'cantaloup.n.02', 'synonyms': ['cantaloup', 'cantaloupe'], 'id': 201, 'def': 'the fruit of a cantaloup vine; small to medium-sized melon with yellowish flesh', 'name': 'cantaloup'}, {'frequency': 'r', 'synset': 'canteen.n.01', 'synonyms': ['canteen'], 'id': 202, 'def': 'a flask for carrying water; used by soldiers or travelers', 'name': 'canteen'}, {'frequency': 'f', 'synset': 'cap.n.01', 'synonyms': ['cap_(headwear)'], 'id': 203, 'def': 'a tight-fitting headwear', 'name': 'cap_(headwear)'}, {'frequency': 'f', 'synset': 'cap.n.02', 'synonyms': ['bottle_cap', 'cap_(container_lid)'], 'id': 204, 'def': 'a top (as for a bottle)', 'name': 'bottle_cap'}, {'frequency': 'c', 'synset': 'cape.n.02', 'synonyms': ['cape'], 'id': 205, 'def': 'a sleeveless garment like a cloak but shorter', 'name': 'cape'}, {'frequency': 'c', 'synset': 'cappuccino.n.01', 'synonyms': ['cappuccino', 'coffee_cappuccino'], 'id': 206, 'def': 'equal parts of espresso and steamed milk', 'name': 'cappuccino'}, {'frequency': 'f', 'synset': 'car.n.01', 'synonyms': ['car_(automobile)', 'auto_(automobile)', 'automobile'], 'id': 207, 'def': 'a motor vehicle with four wheels', 'name': 'car_(automobile)'}, {'frequency': 'f', 'synset': 'car.n.02', 'synonyms': ['railcar_(part_of_a_train)', 'railway_car_(part_of_a_train)', 'railroad_car_(part_of_a_train)'], 'id': 208, 'def': 'a wheeled vehicle adapted to the rails of railroad (mark each individual railcar separately)', 'name': 'railcar_(part_of_a_train)'}, {'frequency': 'r', 'synset': 'car.n.04', 'synonyms': ['elevator_car'], 'id': 209, 'def': 'where passengers ride up and down', 'name': 'elevator_car'}, {'frequency': 'r', 'synset': 'car_battery.n.01', 'synonyms': ['car_battery', 'automobile_battery'], 'id': 210, 'def': 'a battery in a motor vehicle', 'name': 'car_battery'}, {'frequency': 'c', 'synset': 'card.n.02', 'synonyms': ['identity_card'], 'id': 211, 'def': 'a card certifying the identity of the bearer', 'name': 'identity_card'}, {'frequency': 'c', 'synset': 'card.n.03', 'synonyms': ['card'], 'id': 212, 'def': 'a rectangular piece of paper used to send messages (e.g. greetings or pictures)', 'name': 'card'}, {'frequency': 'c', 'synset': 'cardigan.n.01', 'synonyms': ['cardigan'], 'id': 213, 'def': 'knitted jacket that is fastened up the front with buttons or a zipper', 'name': 'cardigan'}, {'frequency': 'r', 'synset': 'cargo_ship.n.01', 'synonyms': ['cargo_ship', 'cargo_vessel'], 'id': 214, 'def': 'a ship designed to carry cargo', 'name': 'cargo_ship'}, {'frequency': 'r', 'synset': 'carnation.n.01', 'synonyms': ['carnation'], 'id': 215, 'def': 'plant with pink to purple-red spice-scented usually double flowers', 'name': 'carnation'}, {'frequency': 'c', 'synset': 'carriage.n.02', 'synonyms': ['horse_carriage'], 'id': 216, 'def': 'a vehicle with wheels drawn by one or more horses', 'name': 'horse_carriage'}, {'frequency': 'f', 'synset': 'carrot.n.01', 'synonyms': ['carrot'], 'id': 217, 'def': 'deep orange edible root of the cultivated carrot plant', 'name': 'carrot'}, {'frequency': 'f', 'synset': 'carryall.n.01', 'synonyms': ['tote_bag'], 'id': 218, 'def': 'a capacious bag or basket', 'name': 'tote_bag'}, {'frequency': 'c', 'synset': 'cart.n.01', 'synonyms': ['cart'], 'id': 219, 'def': 'a heavy open wagon usually having two wheels and drawn by an animal', 'name': 'cart'}, {'frequency': 'c', 'synset': 'carton.n.02', 'synonyms': ['carton'], 'id': 220, 'def': 'a container made of cardboard for holding food or drink', 'name': 'carton'}, {'frequency': 'c', 'synset': 'cash_register.n.01', 'synonyms': ['cash_register', 'register_(for_cash_transactions)'], 'id': 221, 'def': 'a cashbox with an adding machine to register transactions', 'name': 'cash_register'}, {'frequency': 'r', 'synset': 'casserole.n.01', 'synonyms': ['casserole'], 'id': 222, 'def': 'food cooked and served in a casserole', 'name': 'casserole'}, {'frequency': 'r', 'synset': 'cassette.n.01', 'synonyms': ['cassette'], 'id': 223, 'def': 'a container that holds a magnetic tape used for recording or playing sound or video', 'name': 'cassette'}, {'frequency': 'c', 'synset': 'cast.n.05', 'synonyms': ['cast', 'plaster_cast', 'plaster_bandage'], 'id': 224, 'def': 'bandage consisting of a firm covering that immobilizes broken bones while they heal', 'name': 'cast'}, {'frequency': 'f', 'synset': 'cat.n.01', 'synonyms': ['cat'], 'id': 225, 'def': 'a domestic house cat', 'name': 'cat'}, {'frequency': 'f', 'synset': 'cauliflower.n.02', 'synonyms': ['cauliflower'], 'id': 226, 'def': 'edible compact head of white undeveloped flowers', 'name': 'cauliflower'}, {'frequency': 'c', 'synset': 'cayenne.n.02', 'synonyms': ['cayenne_(spice)', 'cayenne_pepper_(spice)', 'red_pepper_(spice)'], 'id': 227, 'def': 'ground pods and seeds of pungent red peppers of the genus Capsicum', 'name': 'cayenne_(spice)'}, {'frequency': 'c', 'synset': 'cd_player.n.01', 'synonyms': ['CD_player'], 'id': 228, 'def': 'electronic equipment for playing compact discs (CDs)', 'name': 'CD_player'}, {'frequency': 'f', 'synset': 'celery.n.01', 'synonyms': ['celery'], 'id': 229, 'def': 'widely cultivated herb with aromatic leaf stalks that are eaten raw or cooked', 'name': 'celery'}, {'frequency': 'f', 'synset': 'cellular_telephone.n.01', 'synonyms': ['cellular_telephone', 'cellular_phone', 'cellphone', 'mobile_phone', 'smart_phone'], 'id': 230, 'def': 'a hand-held mobile telephone', 'name': 'cellular_telephone'}, {'frequency': 'r', 'synset': 'chain_mail.n.01', 'synonyms': ['chain_mail', 'ring_mail', 'chain_armor', 'chain_armour', 'ring_armor', 'ring_armour'], 'id': 231, 'def': '(Middle Ages) flexible armor made of interlinked metal rings', 'name': 'chain_mail'}, {'frequency': 'f', 'synset': 'chair.n.01', 'synonyms': ['chair'], 'id': 232, 'def': 'a seat for one person, with a support for the back', 'name': 'chair'}, {'frequency': 'r', 'synset': 'chaise_longue.n.01', 'synonyms': ['chaise_longue', 'chaise', 'daybed'], 'id': 233, 'def': 'a long chair; for reclining', 'name': 'chaise_longue'}, {'frequency': 'r', 'synset': 'chalice.n.01', 'synonyms': ['chalice'], 'id': 234, 'def': 'a bowl-shaped drinking vessel; especially the Eucharistic cup', 'name': 'chalice'}, {'frequency': 'f', 'synset': 'chandelier.n.01', 'synonyms': ['chandelier'], 'id': 235, 'def': 'branched lighting fixture; often ornate; hangs from the ceiling', 'name': 'chandelier'}, {'frequency': 'r', 'synset': 'chap.n.04', 'synonyms': ['chap'], 'id': 236, 'def': 'leather leggings without a seat; worn over trousers by cowboys to protect their legs', 'name': 'chap'}, {'frequency': 'r', 'synset': 'checkbook.n.01', 'synonyms': ['checkbook', 'chequebook'], 'id': 237, 'def': 'a book issued to holders of checking accounts', 'name': 'checkbook'}, {'frequency': 'r', 'synset': 'checkerboard.n.01', 'synonyms': ['checkerboard'], 'id': 238, 'def': 'a board having 64 squares of two alternating colors', 'name': 'checkerboard'}, {'frequency': 'c', 'synset': 'cherry.n.03', 'synonyms': ['cherry'], 'id': 239, 'def': 'a red fruit with a single hard stone', 'name': 'cherry'}, {'frequency': 'r', 'synset': 'chessboard.n.01', 'synonyms': ['chessboard'], 'id': 240, 'def': 'a checkerboard used to play chess', 'name': 'chessboard'}, {'frequency': 'c', 'synset': 'chicken.n.02', 'synonyms': ['chicken_(animal)'], 'id': 241, 'def': 'a domestic fowl bred for flesh or eggs', 'name': 'chicken_(animal)'}, {'frequency': 'c', 'synset': 'chickpea.n.01', 'synonyms': ['chickpea', 'garbanzo'], 'id': 242, 'def': 'the seed of the chickpea plant; usually dried', 'name': 'chickpea'}, {'frequency': 'c', 'synset': 'chili.n.02', 'synonyms': ['chili_(vegetable)', 'chili_pepper_(vegetable)', 'chilli_(vegetable)', 'chilly_(vegetable)', 'chile_(vegetable)'], 'id': 243, 'def': 'very hot and finely tapering pepper of special pungency', 'name': 'chili_(vegetable)'}, {'frequency': 'r', 'synset': 'chime.n.01', 'synonyms': ['chime', 'gong'], 'id': 244, 'def': 'an instrument consisting of a set of bells that are struck with a hammer', 'name': 'chime'}, {'frequency': 'r', 'synset': 'chinaware.n.01', 'synonyms': ['chinaware'], 'id': 245, 'def': 'dishware made of high quality porcelain', 'name': 'chinaware'}, {'frequency': 'c', 'synset': 'chip.n.04', 'synonyms': ['crisp_(potato_chip)', 'potato_chip'], 'id': 246, 'def': 'a thin crisp slice of potato fried in deep fat', 'name': 'crisp_(potato_chip)'}, {'frequency': 'r', 'synset': 'chip.n.06', 'synonyms': ['poker_chip'], 'id': 247, 'def': 'a small disk-shaped counter used to represent money when gambling', 'name': 'poker_chip'}, {'frequency': 'c', 'synset': 'chocolate_bar.n.01', 'synonyms': ['chocolate_bar'], 'id': 248, 'def': 'a bar of chocolate candy', 'name': 'chocolate_bar'}, {'frequency': 'c', 'synset': 'chocolate_cake.n.01', 'synonyms': ['chocolate_cake'], 'id': 249, 'def': 'cake containing chocolate', 'name': 'chocolate_cake'}, {'frequency': 'r', 'synset': 'chocolate_milk.n.01', 'synonyms': ['chocolate_milk'], 'id': 250, 'def': 'milk flavored with chocolate syrup', 'name': 'chocolate_milk'}, {'frequency': 'r', 'synset': 'chocolate_mousse.n.01', 'synonyms': ['chocolate_mousse'], 'id': 251, 'def': 'dessert mousse made with chocolate', 'name': 'chocolate_mousse'}, {'frequency': 'f', 'synset': 'choker.n.03', 'synonyms': ['choker', 'collar', 'neckband'], 'id': 252, 'def': 'shirt collar, animal collar, or tight-fitting necklace', 'name': 'choker'}, {'frequency': 'f', 'synset': 'chopping_board.n.01', 'synonyms': ['chopping_board', 'cutting_board', 'chopping_block'], 'id': 253, 'def': 'a wooden board where meats or vegetables can be cut', 'name': 'chopping_board'}, {'frequency': 'f', 'synset': 'chopstick.n.01', 'synonyms': ['chopstick'], 'id': 254, 'def': 'one of a pair of slender sticks used as oriental tableware to eat food with', 'name': 'chopstick'}, {'frequency': 'f', 'synset': 'christmas_tree.n.05', 'synonyms': ['Christmas_tree'], 'id': 255, 'def': 'an ornamented evergreen used as a Christmas decoration', 'name': 'Christmas_tree'}, {'frequency': 'c', 'synset': 'chute.n.02', 'synonyms': ['slide'], 'id': 256, 'def': 'sloping channel through which things can descend', 'name': 'slide'}, {'frequency': 'r', 'synset': 'cider.n.01', 'synonyms': ['cider', 'cyder'], 'id': 257, 'def': 'a beverage made from juice pressed from apples', 'name': 'cider'}, {'frequency': 'r', 'synset': 'cigar_box.n.01', 'synonyms': ['cigar_box'], 'id': 258, 'def': 'a box for holding cigars', 'name': 'cigar_box'}, {'frequency': 'f', 'synset': 'cigarette.n.01', 'synonyms': ['cigarette'], 'id': 259, 'def': 'finely ground tobacco wrapped in paper; for smoking', 'name': 'cigarette'}, {'frequency': 'c', 'synset': 'cigarette_case.n.01', 'synonyms': ['cigarette_case', 'cigarette_pack'], 'id': 260, 'def': 'a small flat case for holding cigarettes', 'name': 'cigarette_case'}, {'frequency': 'f', 'synset': 'cistern.n.02', 'synonyms': ['cistern', 'water_tank'], 'id': 261, 'def': 'a tank that holds the water used to flush a toilet', 'name': 'cistern'}, {'frequency': 'r', 'synset': 'clarinet.n.01', 'synonyms': ['clarinet'], 'id': 262, 'def': 'a single-reed instrument with a straight tube', 'name': 'clarinet'}, {'frequency': 'c', 'synset': 'clasp.n.01', 'synonyms': ['clasp'], 'id': 263, 'def': 'a fastener (as a buckle or hook) that is used to hold two things together', 'name': 'clasp'}, {'frequency': 'c', 'synset': 'cleansing_agent.n.01', 'synonyms': ['cleansing_agent', 'cleanser', 'cleaner'], 'id': 264, 'def': 'a preparation used in cleaning something', 'name': 'cleansing_agent'}, {'frequency': 'r', 'synset': 'cleat.n.02', 'synonyms': ['cleat_(for_securing_rope)'], 'id': 265, 'def': 'a fastener (usually with two projecting horns) around which a rope can be secured', 'name': 'cleat_(for_securing_rope)'}, {'frequency': 'r', 'synset': 'clementine.n.01', 'synonyms': ['clementine'], 'id': 266, 'def': 'a variety of mandarin orange', 'name': 'clementine'}, {'frequency': 'c', 'synset': 'clip.n.03', 'synonyms': ['clip'], 'id': 267, 'def': 'any of various small fasteners used to hold loose articles together', 'name': 'clip'}, {'frequency': 'c', 'synset': 'clipboard.n.01', 'synonyms': ['clipboard'], 'id': 268, 'def': 'a small writing board with a clip at the top for holding papers', 'name': 'clipboard'}, {'frequency': 'r', 'synset': 'clipper.n.03', 'synonyms': ['clippers_(for_plants)'], 'id': 269, 'def': 'shears for cutting grass or shrubbery (often used in the plural)', 'name': 'clippers_(for_plants)'}, {'frequency': 'r', 'synset': 'cloak.n.02', 'synonyms': ['cloak'], 'id': 270, 'def': 'a loose outer garment', 'name': 'cloak'}, {'frequency': 'f', 'synset': 'clock.n.01', 'synonyms': ['clock', 'timepiece', 'timekeeper'], 'id': 271, 'def': 'a timepiece that shows the time of day', 'name': 'clock'}, {'frequency': 'f', 'synset': 'clock_tower.n.01', 'synonyms': ['clock_tower'], 'id': 272, 'def': 'a tower with a large clock visible high up on an outside face', 'name': 'clock_tower'}, {'frequency': 'c', 'synset': 'clothes_hamper.n.01', 'synonyms': ['clothes_hamper', 'laundry_basket', 'clothes_basket'], 'id': 273, 'def': 'a hamper that holds dirty clothes to be washed or wet clothes to be dried', 'name': 'clothes_hamper'}, {'frequency': 'c', 'synset': 'clothespin.n.01', 'synonyms': ['clothespin', 'clothes_peg'], 'id': 274, 'def': 'wood or plastic fastener; for holding clothes on a clothesline', 'name': 'clothespin'}, {'frequency': 'r', 'synset': 'clutch_bag.n.01', 'synonyms': ['clutch_bag'], 'id': 275, 'def': "a woman's strapless purse that is carried in the hand", 'name': 'clutch_bag'}, {'frequency': 'f', 'synset': 'coaster.n.03', 'synonyms': ['coaster'], 'id': 276, 'def': 'a covering (plate or mat) that protects the surface of a table', 'name': 'coaster'}, {'frequency': 'f', 'synset': 'coat.n.01', 'synonyms': ['coat'], 'id': 277, 'def': 'an outer garment that has sleeves and covers the body from shoulder down', 'name': 'coat'}, {'frequency': 'c', 'synset': 'coat_hanger.n.01', 'synonyms': ['coat_hanger', 'clothes_hanger', 'dress_hanger'], 'id': 278, 'def': "a hanger that is shaped like a person's shoulders", 'name': 'coat_hanger'}, {'frequency': 'c', 'synset': 'coatrack.n.01', 'synonyms': ['coatrack', 'hatrack'], 'id': 279, 'def': 'a rack with hooks for temporarily holding coats and hats', 'name': 'coatrack'}, {'frequency': 'c', 'synset': 'cock.n.04', 'synonyms': ['cock', 'rooster'], 'id': 280, 'def': 'adult male chicken', 'name': 'cock'}, {'frequency': 'r', 'synset': 'cockroach.n.01', 'synonyms': ['cockroach'], 'id': 281, 'def': 'any of numerous chiefly nocturnal insects; some are domestic pests', 'name': 'cockroach'}, {'frequency': 'r', 'synset': 'cocoa.n.01', 'synonyms': ['cocoa_(beverage)', 'hot_chocolate_(beverage)', 'drinking_chocolate'], 'id': 282, 'def': 'a beverage made from cocoa powder and milk and sugar; usually drunk hot', 'name': 'cocoa_(beverage)'}, {'frequency': 'c', 'synset': 'coconut.n.02', 'synonyms': ['coconut', 'cocoanut'], 'id': 283, 'def': 'large hard-shelled brown oval nut with a fibrous husk', 'name': 'coconut'}, {'frequency': 'f', 'synset': 'coffee_maker.n.01', 'synonyms': ['coffee_maker', 'coffee_machine'], 'id': 284, 'def': 'a kitchen appliance for brewing coffee automatically', 'name': 'coffee_maker'}, {'frequency': 'f', 'synset': 'coffee_table.n.01', 'synonyms': ['coffee_table', 'cocktail_table'], 'id': 285, 'def': 'low table where magazines can be placed and coffee or cocktails are served', 'name': 'coffee_table'}, {'frequency': 'c', 'synset': 'coffeepot.n.01', 'synonyms': ['coffeepot'], 'id': 286, 'def': 'tall pot in which coffee is brewed', 'name': 'coffeepot'}, {'frequency': 'r', 'synset': 'coil.n.05', 'synonyms': ['coil'], 'id': 287, 'def': 'tubing that is wound in a spiral', 'name': 'coil'}, {'frequency': 'c', 'synset': 'coin.n.01', 'synonyms': ['coin'], 'id': 288, 'def': 'a flat metal piece (usually a disc) used as money', 'name': 'coin'}, {'frequency': 'c', 'synset': 'colander.n.01', 'synonyms': ['colander', 'cullender'], 'id': 289, 'def': 'bowl-shaped strainer; used to wash or drain foods', 'name': 'colander'}, {'frequency': 'c', 'synset': 'coleslaw.n.01', 'synonyms': ['coleslaw', 'slaw'], 'id': 290, 'def': 'basically shredded cabbage', 'name': 'coleslaw'}, {'frequency': 'r', 'synset': 'coloring_material.n.01', 'synonyms': ['coloring_material', 'colouring_material'], 'id': 291, 'def': 'any material used for its color', 'name': 'coloring_material'}, {'frequency': 'r', 'synset': 'combination_lock.n.01', 'synonyms': ['combination_lock'], 'id': 292, 'def': 'lock that can be opened only by turning dials in a special sequence', 'name': 'combination_lock'}, {'frequency': 'c', 'synset': 'comforter.n.04', 'synonyms': ['pacifier', 'teething_ring'], 'id': 293, 'def': 'device used for an infant to suck or bite on', 'name': 'pacifier'}, {'frequency': 'r', 'synset': 'comic_book.n.01', 'synonyms': ['comic_book'], 'id': 294, 'def': 'a magazine devoted to comic strips', 'name': 'comic_book'}, {'frequency': 'r', 'synset': 'compass.n.01', 'synonyms': ['compass'], 'id': 295, 'def': 'navigational instrument for finding directions', 'name': 'compass'}, {'frequency': 'f', 'synset': 'computer_keyboard.n.01', 'synonyms': ['computer_keyboard', 'keyboard_(computer)'], 'id': 296, 'def': 'a keyboard that is a data input device for computers', 'name': 'computer_keyboard'}, {'frequency': 'f', 'synset': 'condiment.n.01', 'synonyms': ['condiment'], 'id': 297, 'def': 'a preparation (a sauce or relish or spice) to enhance flavor or enjoyment', 'name': 'condiment'}, {'frequency': 'f', 'synset': 'cone.n.01', 'synonyms': ['cone', 'traffic_cone'], 'id': 298, 'def': 'a cone-shaped object used to direct traffic', 'name': 'cone'}, {'frequency': 'f', 'synset': 'control.n.09', 'synonyms': ['control', 'controller'], 'id': 299, 'def': 'a mechanism that controls the operation of a machine', 'name': 'control'}, {'frequency': 'r', 'synset': 'convertible.n.01', 'synonyms': ['convertible_(automobile)'], 'id': 300, 'def': 'a car that has top that can be folded or removed', 'name': 'convertible_(automobile)'}, {'frequency': 'r', 'synset': 'convertible.n.03', 'synonyms': ['sofa_bed'], 'id': 301, 'def': 'a sofa that can be converted into a bed', 'name': 'sofa_bed'}, {'frequency': 'r', 'synset': 'cooker.n.01', 'synonyms': ['cooker'], 'id': 302, 'def': 'a utensil for cooking', 'name': 'cooker'}, {'frequency': 'f', 'synset': 'cookie.n.01', 'synonyms': ['cookie', 'cooky', 'biscuit_(cookie)'], 'id': 303, 'def': "any of various small flat sweet cakes (`biscuit' is the British term)", 'name': 'cookie'}, {'frequency': 'r', 'synset': 'cooking_utensil.n.01', 'synonyms': ['cooking_utensil'], 'id': 304, 'def': 'a kitchen utensil made of material that does not melt easily; used for cooking', 'name': 'cooking_utensil'}, {'frequency': 'f', 'synset': 'cooler.n.01', 'synonyms': ['cooler_(for_food)', 'ice_chest'], 'id': 305, 'def': 'an insulated box for storing food often with ice', 'name': 'cooler_(for_food)'}, {'frequency': 'f', 'synset': 'cork.n.04', 'synonyms': ['cork_(bottle_plug)', 'bottle_cork'], 'id': 306, 'def': 'the plug in the mouth of a bottle (especially a wine bottle)', 'name': 'cork_(bottle_plug)'}, {'frequency': 'r', 'synset': 'corkboard.n.01', 'synonyms': ['corkboard'], 'id': 307, 'def': 'a sheet consisting of cork granules', 'name': 'corkboard'}, {'frequency': 'c', 'synset': 'corkscrew.n.01', 'synonyms': ['corkscrew', 'bottle_screw'], 'id': 308, 'def': 'a bottle opener that pulls corks', 'name': 'corkscrew'}, {'frequency': 'f', 'synset': 'corn.n.03', 'synonyms': ['edible_corn', 'corn', 'maize'], 'id': 309, 'def': 'ears or kernels of corn that can be prepared and served for human food (only mark individual ears or kernels)', 'name': 'edible_corn'}, {'frequency': 'r', 'synset': 'cornbread.n.01', 'synonyms': ['cornbread'], 'id': 310, 'def': 'bread made primarily of cornmeal', 'name': 'cornbread'}, {'frequency': 'c', 'synset': 'cornet.n.01', 'synonyms': ['cornet', 'horn', 'trumpet'], 'id': 311, 'def': 'a brass musical instrument with a narrow tube and a flared bell and many valves', 'name': 'cornet'}, {'frequency': 'c', 'synset': 'cornice.n.01', 'synonyms': ['cornice', 'valance', 'valance_board', 'pelmet'], 'id': 312, 'def': 'a decorative framework to conceal curtain fixtures at the top of a window casing', 'name': 'cornice'}, {'frequency': 'r', 'synset': 'cornmeal.n.01', 'synonyms': ['cornmeal'], 'id': 313, 'def': 'coarsely ground corn', 'name': 'cornmeal'}, {'frequency': 'c', 'synset': 'corset.n.01', 'synonyms': ['corset', 'girdle'], 'id': 314, 'def': "a woman's close-fitting foundation garment", 'name': 'corset'}, {'frequency': 'c', 'synset': 'costume.n.04', 'synonyms': ['costume'], 'id': 315, 'def': 'the attire characteristic of a country or a time or a social class', 'name': 'costume'}, {'frequency': 'r', 'synset': 'cougar.n.01', 'synonyms': ['cougar', 'puma', 'catamount', 'mountain_lion', 'panther'], 'id': 316, 'def': 'large American feline resembling a lion', 'name': 'cougar'}, {'frequency': 'r', 'synset': 'coverall.n.01', 'synonyms': ['coverall'], 'id': 317, 'def': 'a loose-fitting protective garment that is worn over other clothing', 'name': 'coverall'}, {'frequency': 'c', 'synset': 'cowbell.n.01', 'synonyms': ['cowbell'], 'id': 318, 'def': 'a bell hung around the neck of cow so that the cow can be easily located', 'name': 'cowbell'}, {'frequency': 'f', 'synset': 'cowboy_hat.n.01', 'synonyms': ['cowboy_hat', 'ten-gallon_hat'], 'id': 319, 'def': 'a hat with a wide brim and a soft crown; worn by American ranch hands', 'name': 'cowboy_hat'}, {'frequency': 'c', 'synset': 'crab.n.01', 'synonyms': ['crab_(animal)'], 'id': 320, 'def': 'decapod having eyes on short stalks and a broad flattened shell and pincers', 'name': 'crab_(animal)'}, {'frequency': 'r', 'synset': 'crab.n.05', 'synonyms': ['crabmeat'], 'id': 321, 'def': 'the edible flesh of any of various crabs', 'name': 'crabmeat'}, {'frequency': 'c', 'synset': 'cracker.n.01', 'synonyms': ['cracker'], 'id': 322, 'def': 'a thin crisp wafer', 'name': 'cracker'}, {'frequency': 'r', 'synset': 'crape.n.01', 'synonyms': ['crape', 'crepe', 'French_pancake'], 'id': 323, 'def': 'small very thin pancake', 'name': 'crape'}, {'frequency': 'f', 'synset': 'crate.n.01', 'synonyms': ['crate'], 'id': 324, 'def': 'a rugged box (usually made of wood); used for shipping', 'name': 'crate'}, {'frequency': 'c', 'synset': 'crayon.n.01', 'synonyms': ['crayon', 'wax_crayon'], 'id': 325, 'def': 'writing or drawing implement made of a colored stick of composition wax', 'name': 'crayon'}, {'frequency': 'r', 'synset': 'cream_pitcher.n.01', 'synonyms': ['cream_pitcher'], 'id': 326, 'def': 'a small pitcher for serving cream', 'name': 'cream_pitcher'}, {'frequency': 'c', 'synset': 'crescent_roll.n.01', 'synonyms': ['crescent_roll', 'croissant'], 'id': 327, 'def': 'very rich flaky crescent-shaped roll', 'name': 'crescent_roll'}, {'frequency': 'c', 'synset': 'crib.n.01', 'synonyms': ['crib', 'cot'], 'id': 328, 'def': 'baby bed with high sides made of slats', 'name': 'crib'}, {'frequency': 'c', 'synset': 'crock.n.03', 'synonyms': ['crock_pot', 'earthenware_jar'], 'id': 329, 'def': 'an earthen jar (made of baked clay) or a modern electric crockpot', 'name': 'crock_pot'}, {'frequency': 'f', 'synset': 'crossbar.n.01', 'synonyms': ['crossbar'], 'id': 330, 'def': 'a horizontal bar that goes across something', 'name': 'crossbar'}, {'frequency': 'r', 'synset': 'crouton.n.01', 'synonyms': ['crouton'], 'id': 331, 'def': 'a small piece of toasted or fried bread; served in soup or salads', 'name': 'crouton'}, {'frequency': 'c', 'synset': 'crow.n.01', 'synonyms': ['crow'], 'id': 332, 'def': 'black birds having a raucous call', 'name': 'crow'}, {'frequency': 'r', 'synset': 'crowbar.n.01', 'synonyms': ['crowbar', 'wrecking_bar', 'pry_bar'], 'id': 333, 'def': 'a heavy iron lever with one end forged into a wedge', 'name': 'crowbar'}, {'frequency': 'c', 'synset': 'crown.n.04', 'synonyms': ['crown'], 'id': 334, 'def': 'an ornamental jeweled headdress signifying sovereignty', 'name': 'crown'}, {'frequency': 'c', 'synset': 'crucifix.n.01', 'synonyms': ['crucifix'], 'id': 335, 'def': 'representation of the cross on which Jesus died', 'name': 'crucifix'}, {'frequency': 'c', 'synset': 'cruise_ship.n.01', 'synonyms': ['cruise_ship', 'cruise_liner'], 'id': 336, 'def': 'a passenger ship used commercially for pleasure cruises', 'name': 'cruise_ship'}, {'frequency': 'c', 'synset': 'cruiser.n.01', 'synonyms': ['police_cruiser', 'patrol_car', 'police_car', 'squad_car'], 'id': 337, 'def': 'a car in which policemen cruise the streets', 'name': 'police_cruiser'}, {'frequency': 'f', 'synset': 'crumb.n.03', 'synonyms': ['crumb'], 'id': 338, 'def': 'small piece of e.g. bread or cake', 'name': 'crumb'}, {'frequency': 'c', 'synset': 'crutch.n.01', 'synonyms': ['crutch'], 'id': 339, 'def': 'a wooden or metal staff that fits under the armpit and reaches to the ground', 'name': 'crutch'}, {'frequency': 'c', 'synset': 'cub.n.03', 'synonyms': ['cub_(animal)'], 'id': 340, 'def': 'the young of certain carnivorous mammals such as the bear or wolf or lion', 'name': 'cub_(animal)'}, {'frequency': 'c', 'synset': 'cube.n.05', 'synonyms': ['cube', 'square_block'], 'id': 341, 'def': 'a block in the (approximate) shape of a cube', 'name': 'cube'}, {'frequency': 'f', 'synset': 'cucumber.n.02', 'synonyms': ['cucumber', 'cuke'], 'id': 342, 'def': 'cylindrical green fruit with thin green rind and white flesh eaten as a vegetable', 'name': 'cucumber'}, {'frequency': 'c', 'synset': 'cufflink.n.01', 'synonyms': ['cufflink'], 'id': 343, 'def': 'jewelry consisting of linked buttons used to fasten the cuffs of a shirt', 'name': 'cufflink'}, {'frequency': 'f', 'synset': 'cup.n.01', 'synonyms': ['cup'], 'id': 344, 'def': 'a small open container usually used for drinking; usually has a handle', 'name': 'cup'}, {'frequency': 'c', 'synset': 'cup.n.08', 'synonyms': ['trophy_cup'], 'id': 345, 'def': 'a metal award or cup-shaped vessel with handles that is awarded as a trophy to a competition winner', 'name': 'trophy_cup'}, {'frequency': 'f', 'synset': 'cupboard.n.01', 'synonyms': ['cupboard', 'closet'], 'id': 346, 'def': 'a small room (or recess) or cabinet used for storage space', 'name': 'cupboard'}, {'frequency': 'f', 'synset': 'cupcake.n.01', 'synonyms': ['cupcake'], 'id': 347, 'def': 'small cake baked in a muffin tin', 'name': 'cupcake'}, {'frequency': 'r', 'synset': 'curler.n.01', 'synonyms': ['hair_curler', 'hair_roller', 'hair_crimper'], 'id': 348, 'def': 'a cylindrical tube around which the hair is wound to curl it', 'name': 'hair_curler'}, {'frequency': 'r', 'synset': 'curling_iron.n.01', 'synonyms': ['curling_iron'], 'id': 349, 'def': 'a cylindrical home appliance that heats hair that has been curled around it', 'name': 'curling_iron'}, {'frequency': 'f', 'synset': 'curtain.n.01', 'synonyms': ['curtain', 'drapery'], 'id': 350, 'def': 'hanging cloth used as a blind (especially for a window)', 'name': 'curtain'}, {'frequency': 'f', 'synset': 'cushion.n.03', 'synonyms': ['cushion'], 'id': 351, 'def': 'a soft bag filled with air or padding such as feathers or foam rubber', 'name': 'cushion'}, {'frequency': 'r', 'synset': 'cylinder.n.04', 'synonyms': ['cylinder'], 'id': 352, 'def': 'a cylindrical container', 'name': 'cylinder'}, {'frequency': 'r', 'synset': 'cymbal.n.01', 'synonyms': ['cymbal'], 'id': 353, 'def': 'a percussion instrument consisting of a concave brass disk', 'name': 'cymbal'}, {'frequency': 'r', 'synset': 'dagger.n.01', 'synonyms': ['dagger'], 'id': 354, 'def': 'a short knife with a pointed blade used for piercing or stabbing', 'name': 'dagger'}, {'frequency': 'r', 'synset': 'dalmatian.n.02', 'synonyms': ['dalmatian'], 'id': 355, 'def': 'a large breed having a smooth white coat with black or brown spots', 'name': 'dalmatian'}, {'frequency': 'c', 'synset': 'dartboard.n.01', 'synonyms': ['dartboard'], 'id': 356, 'def': 'a circular board of wood or cork used as the target in the game of darts', 'name': 'dartboard'}, {'frequency': 'r', 'synset': 'date.n.08', 'synonyms': ['date_(fruit)'], 'id': 357, 'def': 'sweet edible fruit of the date palm with a single long woody seed', 'name': 'date_(fruit)'}, {'frequency': 'f', 'synset': 'deck_chair.n.01', 'synonyms': ['deck_chair', 'beach_chair'], 'id': 358, 'def': 'a folding chair for use outdoors; a wooden frame supports a length of canvas', 'name': 'deck_chair'}, {'frequency': 'c', 'synset': 'deer.n.01', 'synonyms': ['deer', 'cervid'], 'id': 359, 'def': "distinguished from Bovidae by the male's having solid deciduous antlers", 'name': 'deer'}, {'frequency': 'c', 'synset': 'dental_floss.n.01', 'synonyms': ['dental_floss', 'floss'], 'id': 360, 'def': 'a soft thread for cleaning the spaces between the teeth', 'name': 'dental_floss'}, {'frequency': 'f', 'synset': 'desk.n.01', 'synonyms': ['desk'], 'id': 361, 'def': 'a piece of furniture with a writing surface and usually drawers or other compartments', 'name': 'desk'}, {'frequency': 'r', 'synset': 'detergent.n.01', 'synonyms': ['detergent'], 'id': 362, 'def': 'a surface-active chemical widely used in industry and laundering', 'name': 'detergent'}, {'frequency': 'c', 'synset': 'diaper.n.01', 'synonyms': ['diaper'], 'id': 363, 'def': 'garment consisting of a folded cloth drawn up between the legs and fastened at the waist', 'name': 'diaper'}, {'frequency': 'r', 'synset': 'diary.n.01', 'synonyms': ['diary', 'journal'], 'id': 364, 'def': 'yearly planner book', 'name': 'diary'}, {'frequency': 'r', 'synset': 'die.n.01', 'synonyms': ['die', 'dice'], 'id': 365, 'def': 'a small cube with 1 to 6 spots on the six faces; used in gambling', 'name': 'die'}, {'frequency': 'r', 'synset': 'dinghy.n.01', 'synonyms': ['dinghy', 'dory', 'rowboat'], 'id': 366, 'def': 'a small boat of shallow draft with seats and oars with which it is propelled', 'name': 'dinghy'}, {'frequency': 'f', 'synset': 'dining_table.n.01', 'synonyms': ['dining_table'], 'id': 367, 'def': 'a table at which meals are served', 'name': 'dining_table'}, {'frequency': 'r', 'synset': 'dinner_jacket.n.01', 'synonyms': ['tux', 'tuxedo'], 'id': 368, 'def': 'semiformal evening dress for men', 'name': 'tux'}, {'frequency': 'f', 'synset': 'dish.n.01', 'synonyms': ['dish'], 'id': 369, 'def': 'a piece of dishware normally used as a container for holding or serving food', 'name': 'dish'}, {'frequency': 'c', 'synset': 'dish.n.05', 'synonyms': ['dish_antenna'], 'id': 370, 'def': 'directional antenna consisting of a parabolic reflector', 'name': 'dish_antenna'}, {'frequency': 'c', 'synset': 'dishrag.n.01', 'synonyms': ['dishrag', 'dishcloth'], 'id': 371, 'def': 'a cloth for washing dishes or cleaning in general', 'name': 'dishrag'}, {'frequency': 'f', 'synset': 'dishtowel.n.01', 'synonyms': ['dishtowel', 'tea_towel'], 'id': 372, 'def': 'a towel for drying dishes', 'name': 'dishtowel'}, {'frequency': 'f', 'synset': 'dishwasher.n.01', 'synonyms': ['dishwasher', 'dishwashing_machine'], 'id': 373, 'def': 'a machine for washing dishes', 'name': 'dishwasher'}, {'frequency': 'r', 'synset': 'dishwasher_detergent.n.01', 'synonyms': ['dishwasher_detergent', 'dishwashing_detergent', 'dishwashing_liquid', 'dishsoap'], 'id': 374, 'def': 'dishsoap or dish detergent designed for use in dishwashers', 'name': 'dishwasher_detergent'}, {'frequency': 'f', 'synset': 'dispenser.n.01', 'synonyms': ['dispenser'], 'id': 375, 'def': 'a container so designed that the contents can be used in prescribed amounts', 'name': 'dispenser'}, {'frequency': 'r', 'synset': 'diving_board.n.01', 'synonyms': ['diving_board'], 'id': 376, 'def': 'a springboard from which swimmers can dive', 'name': 'diving_board'}, {'frequency': 'f', 'synset': 'dixie_cup.n.01', 'synonyms': ['Dixie_cup', 'paper_cup'], 'id': 377, 'def': 'a disposable cup made of paper; for holding drinks', 'name': 'Dixie_cup'}, {'frequency': 'f', 'synset': 'dog.n.01', 'synonyms': ['dog'], 'id': 378, 'def': 'a common domesticated dog', 'name': 'dog'}, {'frequency': 'f', 'synset': 'dog_collar.n.01', 'synonyms': ['dog_collar'], 'id': 379, 'def': 'a collar for a dog', 'name': 'dog_collar'}, {'frequency': 'f', 'synset': 'doll.n.01', 'synonyms': ['doll'], 'id': 380, 'def': 'a toy replica of a HUMAN (NOT AN ANIMAL)', 'name': 'doll'}, {'frequency': 'r', 'synset': 'dollar.n.02', 'synonyms': ['dollar', 'dollar_bill', 'one_dollar_bill'], 'id': 381, 'def': 'a piece of paper money worth one dollar', 'name': 'dollar'}, {'frequency': 'r', 'synset': 'dollhouse.n.01', 'synonyms': ['dollhouse', "doll's_house"], 'id': 382, 'def': "a house so small that it is likened to a child's plaything", 'name': 'dollhouse'}, {'frequency': 'c', 'synset': 'dolphin.n.02', 'synonyms': ['dolphin'], 'id': 383, 'def': 'any of various small toothed whales with a beaklike snout; larger than porpoises', 'name': 'dolphin'}, {'frequency': 'c', 'synset': 'domestic_ass.n.01', 'synonyms': ['domestic_ass', 'donkey'], 'id': 384, 'def': 'domestic beast of burden descended from the African wild ass; patient but stubborn', 'name': 'domestic_ass'}, {'frequency': 'f', 'synset': 'doorknob.n.01', 'synonyms': ['doorknob', 'doorhandle'], 'id': 385, 'def': "a knob used to open a door (often called `doorhandle' in Great Britain)", 'name': 'doorknob'}, {'frequency': 'c', 'synset': 'doormat.n.02', 'synonyms': ['doormat', 'welcome_mat'], 'id': 386, 'def': 'a mat placed outside an exterior door for wiping the shoes before entering', 'name': 'doormat'}, {'frequency': 'f', 'synset': 'doughnut.n.02', 'synonyms': ['doughnut', 'donut'], 'id': 387, 'def': 'a small ring-shaped friedcake', 'name': 'doughnut'}, {'frequency': 'r', 'synset': 'dove.n.01', 'synonyms': ['dove'], 'id': 388, 'def': 'any of numerous small pigeons', 'name': 'dove'}, {'frequency': 'r', 'synset': 'dragonfly.n.01', 'synonyms': ['dragonfly'], 'id': 389, 'def': 'slender-bodied non-stinging insect having iridescent wings that are outspread at rest', 'name': 'dragonfly'}, {'frequency': 'f', 'synset': 'drawer.n.01', 'synonyms': ['drawer'], 'id': 390, 'def': 'a boxlike container in a piece of furniture; made so as to slide in and out', 'name': 'drawer'}, {'frequency': 'c', 'synset': 'drawers.n.01', 'synonyms': ['underdrawers', 'boxers', 'boxershorts'], 'id': 391, 'def': 'underpants worn by men', 'name': 'underdrawers'}, {'frequency': 'f', 'synset': 'dress.n.01', 'synonyms': ['dress', 'frock'], 'id': 392, 'def': 'a one-piece garment for a woman; has skirt and bodice', 'name': 'dress'}, {'frequency': 'c', 'synset': 'dress_hat.n.01', 'synonyms': ['dress_hat', 'high_hat', 'opera_hat', 'silk_hat', 'top_hat'], 'id': 393, 'def': "a man's hat with a tall crown; usually covered with silk or with beaver fur", 'name': 'dress_hat'}, {'frequency': 'f', 'synset': 'dress_suit.n.01', 'synonyms': ['dress_suit'], 'id': 394, 'def': 'formalwear consisting of full evening dress for men', 'name': 'dress_suit'}, {'frequency': 'f', 'synset': 'dresser.n.05', 'synonyms': ['dresser'], 'id': 395, 'def': 'a cabinet with shelves', 'name': 'dresser'}, {'frequency': 'c', 'synset': 'drill.n.01', 'synonyms': ['drill'], 'id': 396, 'def': 'a tool with a sharp rotating point for making holes in hard materials', 'name': 'drill'}, {'frequency': 'r', 'synset': 'drone.n.04', 'synonyms': ['drone'], 'id': 397, 'def': 'an aircraft without a pilot that is operated by remote control', 'name': 'drone'}, {'frequency': 'r', 'synset': 'dropper.n.01', 'synonyms': ['dropper', 'eye_dropper'], 'id': 398, 'def': 'pipet consisting of a small tube with a vacuum bulb at one end for drawing liquid in and releasing it a drop at a time', 'name': 'dropper'}, {'frequency': 'c', 'synset': 'drum.n.01', 'synonyms': ['drum_(musical_instrument)'], 'id': 399, 'def': 'a musical percussion instrument; usually consists of a hollow cylinder with a membrane stretched across each end', 'name': 'drum_(musical_instrument)'}, {'frequency': 'r', 'synset': 'drumstick.n.02', 'synonyms': ['drumstick'], 'id': 400, 'def': 'a stick used for playing a drum', 'name': 'drumstick'}, {'frequency': 'f', 'synset': 'duck.n.01', 'synonyms': ['duck'], 'id': 401, 'def': 'small web-footed broad-billed swimming bird', 'name': 'duck'}, {'frequency': 'c', 'synset': 'duckling.n.02', 'synonyms': ['duckling'], 'id': 402, 'def': 'young duck', 'name': 'duckling'}, {'frequency': 'c', 'synset': 'duct_tape.n.01', 'synonyms': ['duct_tape'], 'id': 403, 'def': 'a wide silvery adhesive tape', 'name': 'duct_tape'}, {'frequency': 'f', 'synset': 'duffel_bag.n.01', 'synonyms': ['duffel_bag', 'duffle_bag', 'duffel', 'duffle'], 'id': 404, 'def': 'a large cylindrical bag of heavy cloth (does not include suitcases)', 'name': 'duffel_bag'}, {'frequency': 'r', 'synset': 'dumbbell.n.01', 'synonyms': ['dumbbell'], 'id': 405, 'def': 'an exercising weight with two ball-like ends connected by a short handle', 'name': 'dumbbell'}, {'frequency': 'c', 'synset': 'dumpster.n.01', 'synonyms': ['dumpster'], 'id': 406, 'def': 'a container designed to receive and transport and dump waste', 'name': 'dumpster'}, {'frequency': 'r', 'synset': 'dustpan.n.02', 'synonyms': ['dustpan'], 'id': 407, 'def': 'a short-handled receptacle into which dust can be swept', 'name': 'dustpan'}, {'frequency': 'c', 'synset': 'eagle.n.01', 'synonyms': ['eagle'], 'id': 408, 'def': 'large birds of prey noted for their broad wings and strong soaring flight', 'name': 'eagle'}, {'frequency': 'f', 'synset': 'earphone.n.01', 'synonyms': ['earphone', 'earpiece', 'headphone'], 'id': 409, 'def': 'device for listening to audio that is held over or inserted into the ear', 'name': 'earphone'}, {'frequency': 'r', 'synset': 'earplug.n.01', 'synonyms': ['earplug'], 'id': 410, 'def': 'a soft plug that is inserted into the ear canal to block sound', 'name': 'earplug'}, {'frequency': 'f', 'synset': 'earring.n.01', 'synonyms': ['earring'], 'id': 411, 'def': 'jewelry to ornament the ear', 'name': 'earring'}, {'frequency': 'c', 'synset': 'easel.n.01', 'synonyms': ['easel'], 'id': 412, 'def': "an upright tripod for displaying something (usually an artist's canvas)", 'name': 'easel'}, {'frequency': 'r', 'synset': 'eclair.n.01', 'synonyms': ['eclair'], 'id': 413, 'def': 'oblong cream puff', 'name': 'eclair'}, {'frequency': 'r', 'synset': 'eel.n.01', 'synonyms': ['eel'], 'id': 414, 'def': 'an elongate fish with fatty flesh', 'name': 'eel'}, {'frequency': 'f', 'synset': 'egg.n.02', 'synonyms': ['egg', 'eggs'], 'id': 415, 'def': 'oval reproductive body of a fowl (especially a hen) used as food', 'name': 'egg'}, {'frequency': 'r', 'synset': 'egg_roll.n.01', 'synonyms': ['egg_roll', 'spring_roll'], 'id': 416, 'def': 'minced vegetables and meat wrapped in a pancake and fried', 'name': 'egg_roll'}, {'frequency': 'c', 'synset': 'egg_yolk.n.01', 'synonyms': ['egg_yolk', 'yolk_(egg)'], 'id': 417, 'def': 'the yellow spherical part of an egg', 'name': 'egg_yolk'}, {'frequency': 'c', 'synset': 'eggbeater.n.02', 'synonyms': ['eggbeater', 'eggwhisk'], 'id': 418, 'def': 'a mixer for beating eggs or whipping cream', 'name': 'eggbeater'}, {'frequency': 'c', 'synset': 'eggplant.n.01', 'synonyms': ['eggplant', 'aubergine'], 'id': 419, 'def': 'egg-shaped vegetable having a shiny skin typically dark purple', 'name': 'eggplant'}, {'frequency': 'r', 'synset': 'electric_chair.n.01', 'synonyms': ['electric_chair'], 'id': 420, 'def': 'a chair-shaped instrument of execution by electrocution', 'name': 'electric_chair'}, {'frequency': 'f', 'synset': 'electric_refrigerator.n.01', 'synonyms': ['refrigerator'], 'id': 421, 'def': 'a refrigerator in which the coolant is pumped around by an electric motor', 'name': 'refrigerator'}, {'frequency': 'f', 'synset': 'elephant.n.01', 'synonyms': ['elephant'], 'id': 422, 'def': 'a common elephant', 'name': 'elephant'}, {'frequency': 'c', 'synset': 'elk.n.01', 'synonyms': ['elk', 'moose'], 'id': 423, 'def': 'large northern deer with enormous flattened antlers in the male', 'name': 'elk'}, {'frequency': 'c', 'synset': 'envelope.n.01', 'synonyms': ['envelope'], 'id': 424, 'def': 'a flat (usually rectangular) container for a letter, thin package, etc.', 'name': 'envelope'}, {'frequency': 'c', 'synset': 'eraser.n.01', 'synonyms': ['eraser'], 'id': 425, 'def': 'an implement used to erase something', 'name': 'eraser'}, {'frequency': 'r', 'synset': 'escargot.n.01', 'synonyms': ['escargot'], 'id': 426, 'def': 'edible snail usually served in the shell with a sauce of melted butter and garlic', 'name': 'escargot'}, {'frequency': 'r', 'synset': 'eyepatch.n.01', 'synonyms': ['eyepatch'], 'id': 427, 'def': 'a protective cloth covering for an injured eye', 'name': 'eyepatch'}, {'frequency': 'r', 'synset': 'falcon.n.01', 'synonyms': ['falcon'], 'id': 428, 'def': 'birds of prey having long pointed powerful wings adapted for swift flight', 'name': 'falcon'}, {'frequency': 'f', 'synset': 'fan.n.01', 'synonyms': ['fan'], 'id': 429, 'def': 'a device for creating a current of air by movement of a surface or surfaces', 'name': 'fan'}, {'frequency': 'f', 'synset': 'faucet.n.01', 'synonyms': ['faucet', 'spigot', 'tap'], 'id': 430, 'def': 'a regulator for controlling the flow of a liquid from a reservoir', 'name': 'faucet'}, {'frequency': 'r', 'synset': 'fedora.n.01', 'synonyms': ['fedora'], 'id': 431, 'def': 'a hat made of felt with a creased crown', 'name': 'fedora'}, {'frequency': 'r', 'synset': 'ferret.n.02', 'synonyms': ['ferret'], 'id': 432, 'def': 'domesticated albino variety of the European polecat bred for hunting rats and rabbits', 'name': 'ferret'}, {'frequency': 'c', 'synset': 'ferris_wheel.n.01', 'synonyms': ['Ferris_wheel'], 'id': 433, 'def': 'a large wheel with suspended seats that remain upright as the wheel rotates', 'name': 'Ferris_wheel'}, {'frequency': 'c', 'synset': 'ferry.n.01', 'synonyms': ['ferry', 'ferryboat'], 'id': 434, 'def': 'a boat that transports people or vehicles across a body of water and operates on a regular schedule', 'name': 'ferry'}, {'frequency': 'r', 'synset': 'fig.n.04', 'synonyms': ['fig_(fruit)'], 'id': 435, 'def': 'fleshy sweet pear-shaped yellowish or purple fruit eaten fresh or preserved or dried', 'name': 'fig_(fruit)'}, {'frequency': 'c', 'synset': 'fighter.n.02', 'synonyms': ['fighter_jet', 'fighter_aircraft', 'attack_aircraft'], 'id': 436, 'def': 'a high-speed military or naval airplane designed to destroy enemy targets', 'name': 'fighter_jet'}, {'frequency': 'f', 'synset': 'figurine.n.01', 'synonyms': ['figurine'], 'id': 437, 'def': 'a small carved or molded figure', 'name': 'figurine'}, {'frequency': 'c', 'synset': 'file.n.03', 'synonyms': ['file_cabinet', 'filing_cabinet'], 'id': 438, 'def': 'office furniture consisting of a container for keeping papers in order', 'name': 'file_cabinet'}, {'frequency': 'r', 'synset': 'file.n.04', 'synonyms': ['file_(tool)'], 'id': 439, 'def': 'a steel hand tool with small sharp teeth on some or all of its surfaces; used for smoothing wood or metal', 'name': 'file_(tool)'}, {'frequency': 'f', 'synset': 'fire_alarm.n.02', 'synonyms': ['fire_alarm', 'smoke_alarm'], 'id': 440, 'def': 'an alarm that is tripped off by fire or smoke', 'name': 'fire_alarm'}, {'frequency': 'f', 'synset': 'fire_engine.n.01', 'synonyms': ['fire_engine', 'fire_truck'], 'id': 441, 'def': 'large trucks that carry firefighters and equipment to the site of a fire', 'name': 'fire_engine'}, {'frequency': 'f', 'synset': 'fire_extinguisher.n.01', 'synonyms': ['fire_extinguisher', 'extinguisher'], 'id': 442, 'def': 'a manually operated device for extinguishing small fires', 'name': 'fire_extinguisher'}, {'frequency': 'c', 'synset': 'fire_hose.n.01', 'synonyms': ['fire_hose'], 'id': 443, 'def': 'a large hose that carries water from a fire hydrant to the site of the fire', 'name': 'fire_hose'}, {'frequency': 'f', 'synset': 'fireplace.n.01', 'synonyms': ['fireplace'], 'id': 444, 'def': 'an open recess in a wall at the base of a chimney where a fire can be built', 'name': 'fireplace'}, {'frequency': 'f', 'synset': 'fireplug.n.01', 'synonyms': ['fireplug', 'fire_hydrant', 'hydrant'], 'id': 445, 'def': 'an upright hydrant for drawing water to use in fighting a fire', 'name': 'fireplug'}, {'frequency': 'r', 'synset': 'first-aid_kit.n.01', 'synonyms': ['first-aid_kit'], 'id': 446, 'def': 'kit consisting of a set of bandages and medicines for giving first aid', 'name': 'first-aid_kit'}, {'frequency': 'f', 'synset': 'fish.n.01', 'synonyms': ['fish'], 'id': 447, 'def': 'any of various mostly cold-blooded aquatic vertebrates usually having scales and breathing through gills', 'name': 'fish'}, {'frequency': 'c', 'synset': 'fish.n.02', 'synonyms': ['fish_(food)'], 'id': 448, 'def': 'the flesh of fish used as food', 'name': 'fish_(food)'}, {'frequency': 'r', 'synset': 'fishbowl.n.02', 'synonyms': ['fishbowl', 'goldfish_bowl'], 'id': 449, 'def': 'a transparent bowl in which small fish are kept', 'name': 'fishbowl'}, {'frequency': 'c', 'synset': 'fishing_rod.n.01', 'synonyms': ['fishing_rod', 'fishing_pole'], 'id': 450, 'def': 'a rod that is used in fishing to extend the fishing line', 'name': 'fishing_rod'}, {'frequency': 'f', 'synset': 'flag.n.01', 'synonyms': ['flag'], 'id': 451, 'def': 'emblem usually consisting of a rectangular piece of cloth of distinctive design (do not include pole)', 'name': 'flag'}, {'frequency': 'f', 'synset': 'flagpole.n.02', 'synonyms': ['flagpole', 'flagstaff'], 'id': 452, 'def': 'a tall staff or pole on which a flag is raised', 'name': 'flagpole'}, {'frequency': 'c', 'synset': 'flamingo.n.01', 'synonyms': ['flamingo'], 'id': 453, 'def': 'large pink web-footed bird with down-bent bill', 'name': 'flamingo'}, {'frequency': 'c', 'synset': 'flannel.n.01', 'synonyms': ['flannel'], 'id': 454, 'def': 'a soft light woolen fabric; used for clothing', 'name': 'flannel'}, {'frequency': 'c', 'synset': 'flap.n.01', 'synonyms': ['flap'], 'id': 455, 'def': 'any broad thin covering attached at one edge, such as a mud flap next to a wheel or a flap on an airplane wing', 'name': 'flap'}, {'frequency': 'r', 'synset': 'flash.n.10', 'synonyms': ['flash', 'flashbulb'], 'id': 456, 'def': 'a lamp for providing momentary light to take a photograph', 'name': 'flash'}, {'frequency': 'c', 'synset': 'flashlight.n.01', 'synonyms': ['flashlight', 'torch'], 'id': 457, 'def': 'a small portable battery-powered electric lamp', 'name': 'flashlight'}, {'frequency': 'r', 'synset': 'fleece.n.03', 'synonyms': ['fleece'], 'id': 458, 'def': 'a soft bulky fabric with deep pile; used chiefly for clothing', 'name': 'fleece'}, {'frequency': 'f', 'synset': 'flip-flop.n.02', 'synonyms': ['flip-flop_(sandal)'], 'id': 459, 'def': 'a backless sandal held to the foot by a thong between two toes', 'name': 'flip-flop_(sandal)'}, {'frequency': 'c', 'synset': 'flipper.n.01', 'synonyms': ['flipper_(footwear)', 'fin_(footwear)'], 'id': 460, 'def': 'a shoe to aid a person in swimming', 'name': 'flipper_(footwear)'}, {'frequency': 'f', 'synset': 'flower_arrangement.n.01', 'synonyms': ['flower_arrangement', 'floral_arrangement'], 'id': 461, 'def': 'a decorative arrangement of flowers', 'name': 'flower_arrangement'}, {'frequency': 'c', 'synset': 'flute.n.02', 'synonyms': ['flute_glass', 'champagne_flute'], 'id': 462, 'def': 'a tall narrow wineglass', 'name': 'flute_glass'}, {'frequency': 'c', 'synset': 'foal.n.01', 'synonyms': ['foal'], 'id': 463, 'def': 'a young horse', 'name': 'foal'}, {'frequency': 'c', 'synset': 'folding_chair.n.01', 'synonyms': ['folding_chair'], 'id': 464, 'def': 'a chair that can be folded flat for storage', 'name': 'folding_chair'}, {'frequency': 'c', 'synset': 'food_processor.n.01', 'synonyms': ['food_processor'], 'id': 465, 'def': 'a kitchen appliance for shredding, blending, chopping, or slicing food', 'name': 'food_processor'}, {'frequency': 'c', 'synset': 'football.n.02', 'synonyms': ['football_(American)'], 'id': 466, 'def': 'the inflated oblong ball used in playing American football', 'name': 'football_(American)'}, {'frequency': 'r', 'synset': 'football_helmet.n.01', 'synonyms': ['football_helmet'], 'id': 467, 'def': 'a padded helmet with a face mask to protect the head of football players', 'name': 'football_helmet'}, {'frequency': 'c', 'synset': 'footstool.n.01', 'synonyms': ['footstool', 'footrest'], 'id': 468, 'def': 'a low seat or a stool to rest the feet of a seated person', 'name': 'footstool'}, {'frequency': 'f', 'synset': 'fork.n.01', 'synonyms': ['fork'], 'id': 469, 'def': 'cutlery used for serving and eating food', 'name': 'fork'}, {'frequency': 'c', 'synset': 'forklift.n.01', 'synonyms': ['forklift'], 'id': 470, 'def': 'an industrial vehicle with a power operated fork in front that can be inserted under loads to lift and move them', 'name': 'forklift'}, {'frequency': 'c', 'synset': 'freight_car.n.01', 'synonyms': ['freight_car'], 'id': 471, 'def': 'a railway car that carries freight', 'name': 'freight_car'}, {'frequency': 'c', 'synset': 'french_toast.n.01', 'synonyms': ['French_toast'], 'id': 472, 'def': 'bread slice dipped in egg and milk and fried', 'name': 'French_toast'}, {'frequency': 'c', 'synset': 'freshener.n.01', 'synonyms': ['freshener', 'air_freshener'], 'id': 473, 'def': 'anything that freshens air by removing or covering odor', 'name': 'freshener'}, {'frequency': 'f', 'synset': 'frisbee.n.01', 'synonyms': ['frisbee'], 'id': 474, 'def': 'a light, plastic disk propelled with a flip of the wrist for recreation or competition', 'name': 'frisbee'}, {'frequency': 'c', 'synset': 'frog.n.01', 'synonyms': ['frog', 'toad', 'toad_frog'], 'id': 475, 'def': 'a tailless stout-bodied amphibians with long hind limbs for leaping', 'name': 'frog'}, {'frequency': 'c', 'synset': 'fruit_juice.n.01', 'synonyms': ['fruit_juice'], 'id': 476, 'def': 'drink produced by squeezing or crushing fruit', 'name': 'fruit_juice'}, {'frequency': 'f', 'synset': 'frying_pan.n.01', 'synonyms': ['frying_pan', 'frypan', 'skillet'], 'id': 477, 'def': 'a pan used for frying foods', 'name': 'frying_pan'}, {'frequency': 'r', 'synset': 'fudge.n.01', 'synonyms': ['fudge'], 'id': 478, 'def': 'soft creamy candy', 'name': 'fudge'}, {'frequency': 'r', 'synset': 'funnel.n.02', 'synonyms': ['funnel'], 'id': 479, 'def': 'a cone-shaped utensil used to channel a substance into a container with a small mouth', 'name': 'funnel'}, {'frequency': 'r', 'synset': 'futon.n.01', 'synonyms': ['futon'], 'id': 480, 'def': 'a pad that is used for sleeping on the floor or on a raised frame', 'name': 'futon'}, {'frequency': 'r', 'synset': 'gag.n.02', 'synonyms': ['gag', 'muzzle'], 'id': 481, 'def': "restraint put into a person's mouth to prevent speaking or shouting", 'name': 'gag'}, {'frequency': 'r', 'synset': 'garbage.n.03', 'synonyms': ['garbage'], 'id': 482, 'def': 'a receptacle where waste can be discarded', 'name': 'garbage'}, {'frequency': 'c', 'synset': 'garbage_truck.n.01', 'synonyms': ['garbage_truck'], 'id': 483, 'def': 'a truck for collecting domestic refuse', 'name': 'garbage_truck'}, {'frequency': 'c', 'synset': 'garden_hose.n.01', 'synonyms': ['garden_hose'], 'id': 484, 'def': 'a hose used for watering a lawn or garden', 'name': 'garden_hose'}, {'frequency': 'c', 'synset': 'gargle.n.01', 'synonyms': ['gargle', 'mouthwash'], 'id': 485, 'def': 'a medicated solution used for gargling and rinsing the mouth', 'name': 'gargle'}, {'frequency': 'r', 'synset': 'gargoyle.n.02', 'synonyms': ['gargoyle'], 'id': 486, 'def': 'an ornament consisting of a grotesquely carved figure of a person or animal', 'name': 'gargoyle'}, {'frequency': 'c', 'synset': 'garlic.n.02', 'synonyms': ['garlic', 'ail'], 'id': 487, 'def': 'aromatic bulb used as seasoning', 'name': 'garlic'}, {'frequency': 'r', 'synset': 'gasmask.n.01', 'synonyms': ['gasmask', 'respirator', 'gas_helmet'], 'id': 488, 'def': 'a protective face mask with a filter', 'name': 'gasmask'}, {'frequency': 'c', 'synset': 'gazelle.n.01', 'synonyms': ['gazelle'], 'id': 489, 'def': 'small swift graceful antelope of Africa and Asia having lustrous eyes', 'name': 'gazelle'}, {'frequency': 'c', 'synset': 'gelatin.n.02', 'synonyms': ['gelatin', 'jelly'], 'id': 490, 'def': 'an edible jelly made with gelatin and used as a dessert or salad base or a coating for foods', 'name': 'gelatin'}, {'frequency': 'r', 'synset': 'gem.n.02', 'synonyms': ['gemstone'], 'id': 491, 'def': 'a crystalline rock that can be cut and polished for jewelry', 'name': 'gemstone'}, {'frequency': 'r', 'synset': 'generator.n.02', 'synonyms': ['generator'], 'id': 492, 'def': 'engine that converts mechanical energy into electrical energy by electromagnetic induction', 'name': 'generator'}, {'frequency': 'c', 'synset': 'giant_panda.n.01', 'synonyms': ['giant_panda', 'panda', 'panda_bear'], 'id': 493, 'def': 'large black-and-white herbivorous mammal of bamboo forests of China and Tibet', 'name': 'giant_panda'}, {'frequency': 'c', 'synset': 'gift_wrap.n.01', 'synonyms': ['gift_wrap'], 'id': 494, 'def': 'attractive wrapping paper suitable for wrapping gifts', 'name': 'gift_wrap'}, {'frequency': 'c', 'synset': 'ginger.n.03', 'synonyms': ['ginger', 'gingerroot'], 'id': 495, 'def': 'the root of the common ginger plant; used fresh as a seasoning', 'name': 'ginger'}, {'frequency': 'f', 'synset': 'giraffe.n.01', 'synonyms': ['giraffe'], 'id': 496, 'def': 'tall animal having a spotted coat and small horns and very long neck and legs', 'name': 'giraffe'}, {'frequency': 'c', 'synset': 'girdle.n.02', 'synonyms': ['cincture', 'sash', 'waistband', 'waistcloth'], 'id': 497, 'def': 'a band of material around the waist that strengthens a skirt or trousers', 'name': 'cincture'}, {'frequency': 'f', 'synset': 'glass.n.02', 'synonyms': ['glass_(drink_container)', 'drinking_glass'], 'id': 498, 'def': 'a container for holding liquids while drinking', 'name': 'glass_(drink_container)'}, {'frequency': 'c', 'synset': 'globe.n.03', 'synonyms': ['globe'], 'id': 499, 'def': 'a sphere on which a map (especially of the earth) is represented', 'name': 'globe'}, {'frequency': 'f', 'synset': 'glove.n.02', 'synonyms': ['glove'], 'id': 500, 'def': 'handwear covering the hand', 'name': 'glove'}, {'frequency': 'c', 'synset': 'goat.n.01', 'synonyms': ['goat'], 'id': 501, 'def': 'a common goat', 'name': 'goat'}, {'frequency': 'f', 'synset': 'goggles.n.01', 'synonyms': ['goggles'], 'id': 502, 'def': 'tight-fitting spectacles worn to protect the eyes', 'name': 'goggles'}, {'frequency': 'r', 'synset': 'goldfish.n.01', 'synonyms': ['goldfish'], 'id': 503, 'def': 'small golden or orange-red freshwater fishes used as pond or aquarium pets', 'name': 'goldfish'}, {'frequency': 'c', 'synset': 'golf_club.n.02', 'synonyms': ['golf_club', 'golf-club'], 'id': 504, 'def': 'golf equipment used by a golfer to hit a golf ball', 'name': 'golf_club'}, {'frequency': 'c', 'synset': 'golfcart.n.01', 'synonyms': ['golfcart'], 'id': 505, 'def': 'a small motor vehicle in which golfers can ride between shots', 'name': 'golfcart'}, {'frequency': 'r', 'synset': 'gondola.n.02', 'synonyms': ['gondola_(boat)'], 'id': 506, 'def': 'long narrow flat-bottomed boat propelled by sculling; traditionally used on canals of Venice', 'name': 'gondola_(boat)'}, {'frequency': 'c', 'synset': 'goose.n.01', 'synonyms': ['goose'], 'id': 507, 'def': 'loud, web-footed long-necked aquatic birds usually larger than ducks', 'name': 'goose'}, {'frequency': 'r', 'synset': 'gorilla.n.01', 'synonyms': ['gorilla'], 'id': 508, 'def': 'largest ape', 'name': 'gorilla'}, {'frequency': 'r', 'synset': 'gourd.n.02', 'synonyms': ['gourd'], 'id': 509, 'def': 'any of numerous inedible fruits with hard rinds', 'name': 'gourd'}, {'frequency': 'f', 'synset': 'grape.n.01', 'synonyms': ['grape'], 'id': 510, 'def': 'any of various juicy fruit with green or purple skins; grow in clusters', 'name': 'grape'}, {'frequency': 'c', 'synset': 'grater.n.01', 'synonyms': ['grater'], 'id': 511, 'def': 'utensil with sharp perforations for shredding foods (as vegetables or cheese)', 'name': 'grater'}, {'frequency': 'c', 'synset': 'gravestone.n.01', 'synonyms': ['gravestone', 'headstone', 'tombstone'], 'id': 512, 'def': 'a stone that is used to mark a grave', 'name': 'gravestone'}, {'frequency': 'r', 'synset': 'gravy_boat.n.01', 'synonyms': ['gravy_boat', 'gravy_holder'], 'id': 513, 'def': 'a dish (often boat-shaped) for serving gravy or sauce', 'name': 'gravy_boat'}, {'frequency': 'f', 'synset': 'green_bean.n.02', 'synonyms': ['green_bean'], 'id': 514, 'def': 'a common bean plant cultivated for its slender green edible pods', 'name': 'green_bean'}, {'frequency': 'f', 'synset': 'green_onion.n.01', 'synonyms': ['green_onion', 'spring_onion', 'scallion'], 'id': 515, 'def': 'a young onion before the bulb has enlarged', 'name': 'green_onion'}, {'frequency': 'r', 'synset': 'griddle.n.01', 'synonyms': ['griddle'], 'id': 516, 'def': 'cooking utensil consisting of a flat heated surface on which food is cooked', 'name': 'griddle'}, {'frequency': 'f', 'synset': 'grill.n.02', 'synonyms': ['grill', 'grille', 'grillwork', 'radiator_grille'], 'id': 517, 'def': 'a framework of metal bars used as a partition or a grate', 'name': 'grill'}, {'frequency': 'r', 'synset': 'grits.n.01', 'synonyms': ['grits', 'hominy_grits'], 'id': 518, 'def': 'coarsely ground corn boiled as a breakfast dish', 'name': 'grits'}, {'frequency': 'c', 'synset': 'grizzly.n.01', 'synonyms': ['grizzly', 'grizzly_bear'], 'id': 519, 'def': 'powerful brownish-yellow bear of the uplands of western North America', 'name': 'grizzly'}, {'frequency': 'c', 'synset': 'grocery_bag.n.01', 'synonyms': ['grocery_bag'], 'id': 520, 'def': "a sack for holding customer's groceries", 'name': 'grocery_bag'}, {'frequency': 'f', 'synset': 'guitar.n.01', 'synonyms': ['guitar'], 'id': 521, 'def': 'a stringed instrument usually having six strings; played by strumming or plucking', 'name': 'guitar'}, {'frequency': 'c', 'synset': 'gull.n.02', 'synonyms': ['gull', 'seagull'], 'id': 522, 'def': 'mostly white aquatic bird having long pointed wings and short legs', 'name': 'gull'}, {'frequency': 'c', 'synset': 'gun.n.01', 'synonyms': ['gun'], 'id': 523, 'def': 'a weapon that discharges a bullet at high velocity from a metal tube', 'name': 'gun'}, {'frequency': 'f', 'synset': 'hairbrush.n.01', 'synonyms': ['hairbrush'], 'id': 524, 'def': "a brush used to groom a person's hair", 'name': 'hairbrush'}, {'frequency': 'c', 'synset': 'hairnet.n.01', 'synonyms': ['hairnet'], 'id': 525, 'def': 'a small net that someone wears over their hair to keep it in place', 'name': 'hairnet'}, {'frequency': 'c', 'synset': 'hairpin.n.01', 'synonyms': ['hairpin'], 'id': 526, 'def': "a double pronged pin used to hold women's hair in place", 'name': 'hairpin'}, {'frequency': 'r', 'synset': 'halter.n.03', 'synonyms': ['halter_top'], 'id': 527, 'def': "a woman's top that fastens behind the back and neck leaving the back and arms uncovered", 'name': 'halter_top'}, {'frequency': 'f', 'synset': 'ham.n.01', 'synonyms': ['ham', 'jambon', 'gammon'], 'id': 528, 'def': 'meat cut from the thigh of a hog (usually smoked)', 'name': 'ham'}, {'frequency': 'c', 'synset': 'hamburger.n.01', 'synonyms': ['hamburger', 'beefburger', 'burger'], 'id': 529, 'def': 'a sandwich consisting of a patty of minced beef served on a bun', 'name': 'hamburger'}, {'frequency': 'c', 'synset': 'hammer.n.02', 'synonyms': ['hammer'], 'id': 530, 'def': 'a hand tool with a heavy head and a handle; used to deliver an impulsive force by striking', 'name': 'hammer'}, {'frequency': 'c', 'synset': 'hammock.n.02', 'synonyms': ['hammock'], 'id': 531, 'def': 'a hanging bed of canvas or rope netting (usually suspended between two trees)', 'name': 'hammock'}, {'frequency': 'r', 'synset': 'hamper.n.02', 'synonyms': ['hamper'], 'id': 532, 'def': 'a basket usually with a cover', 'name': 'hamper'}, {'frequency': 'c', 'synset': 'hamster.n.01', 'synonyms': ['hamster'], 'id': 533, 'def': 'short-tailed burrowing rodent with large cheek pouches', 'name': 'hamster'}, {'frequency': 'f', 'synset': 'hand_blower.n.01', 'synonyms': ['hair_dryer'], 'id': 534, 'def': 'a hand-held electric blower that can blow warm air onto the hair', 'name': 'hair_dryer'}, {'frequency': 'r', 'synset': 'hand_glass.n.01', 'synonyms': ['hand_glass', 'hand_mirror'], 'id': 535, 'def': 'a mirror intended to be held in the hand', 'name': 'hand_glass'}, {'frequency': 'f', 'synset': 'hand_towel.n.01', 'synonyms': ['hand_towel', 'face_towel'], 'id': 536, 'def': 'a small towel used to dry the hands or face', 'name': 'hand_towel'}, {'frequency': 'c', 'synset': 'handcart.n.01', 'synonyms': ['handcart', 'pushcart', 'hand_truck'], 'id': 537, 'def': 'wheeled vehicle that can be pushed by a person', 'name': 'handcart'}, {'frequency': 'r', 'synset': 'handcuff.n.01', 'synonyms': ['handcuff'], 'id': 538, 'def': 'shackle that consists of a metal loop that can be locked around the wrist', 'name': 'handcuff'}, {'frequency': 'c', 'synset': 'handkerchief.n.01', 'synonyms': ['handkerchief'], 'id': 539, 'def': 'a square piece of cloth used for wiping the eyes or nose or as a costume accessory', 'name': 'handkerchief'}, {'frequency': 'f', 'synset': 'handle.n.01', 'synonyms': ['handle', 'grip', 'handgrip'], 'id': 540, 'def': 'the appendage to an object that is designed to be held in order to use or move it', 'name': 'handle'}, {'frequency': 'r', 'synset': 'handsaw.n.01', 'synonyms': ['handsaw', "carpenter's_saw"], 'id': 541, 'def': 'a saw used with one hand for cutting wood', 'name': 'handsaw'}, {'frequency': 'r', 'synset': 'hardback.n.01', 'synonyms': ['hardback_book', 'hardcover_book'], 'id': 542, 'def': 'a book with cardboard or cloth or leather covers', 'name': 'hardback_book'}, {'frequency': 'r', 'synset': 'harmonium.n.01', 'synonyms': ['harmonium', 'organ_(musical_instrument)', 'reed_organ_(musical_instrument)'], 'id': 543, 'def': 'a free-reed instrument in which air is forced through the reeds by bellows', 'name': 'harmonium'}, {'frequency': 'f', 'synset': 'hat.n.01', 'synonyms': ['hat'], 'id': 544, 'def': 'headwear that protects the head from bad weather, sun, or worn for fashion', 'name': 'hat'}, {'frequency': 'r', 'synset': 'hatbox.n.01', 'synonyms': ['hatbox'], 'id': 545, 'def': 'a round piece of luggage for carrying hats', 'name': 'hatbox'}, {'frequency': 'c', 'synset': 'head_covering.n.01', 'synonyms': ['veil'], 'id': 546, 'def': 'a garment that covers the head OR face', 'name': 'veil'}, {'frequency': 'f', 'synset': 'headband.n.01', 'synonyms': ['headband'], 'id': 547, 'def': 'a band worn around or over the head', 'name': 'headband'}, {'frequency': 'f', 'synset': 'headboard.n.01', 'synonyms': ['headboard'], 'id': 548, 'def': 'a vertical board or panel forming the head of a bedstead', 'name': 'headboard'}, {'frequency': 'f', 'synset': 'headlight.n.01', 'synonyms': ['headlight', 'headlamp'], 'id': 549, 'def': 'a powerful light with reflector; attached to the front of an automobile or locomotive', 'name': 'headlight'}, {'frequency': 'c', 'synset': 'headscarf.n.01', 'synonyms': ['headscarf'], 'id': 550, 'def': 'a kerchief worn over the head and tied under the chin', 'name': 'headscarf'}, {'frequency': 'r', 'synset': 'headset.n.01', 'synonyms': ['headset'], 'id': 551, 'def': 'receiver consisting of a pair of headphones', 'name': 'headset'}, {'frequency': 'c', 'synset': 'headstall.n.01', 'synonyms': ['headstall_(for_horses)', 'headpiece_(for_horses)'], 'id': 552, 'def': "the band that is the part of a bridle that fits around a horse's head", 'name': 'headstall_(for_horses)'}, {'frequency': 'c', 'synset': 'heart.n.02', 'synonyms': ['heart'], 'id': 553, 'def': 'a muscular organ; its contractions move the blood through the body', 'name': 'heart'}, {'frequency': 'c', 'synset': 'heater.n.01', 'synonyms': ['heater', 'warmer'], 'id': 554, 'def': 'device that heats water or supplies warmth to a room', 'name': 'heater'}, {'frequency': 'c', 'synset': 'helicopter.n.01', 'synonyms': ['helicopter'], 'id': 555, 'def': 'an aircraft without wings that obtains its lift from the rotation of overhead blades', 'name': 'helicopter'}, {'frequency': 'f', 'synset': 'helmet.n.02', 'synonyms': ['helmet'], 'id': 556, 'def': 'a protective headgear made of hard material to resist blows', 'name': 'helmet'}, {'frequency': 'r', 'synset': 'heron.n.02', 'synonyms': ['heron'], 'id': 557, 'def': 'grey or white wading bird with long neck and long legs and (usually) long bill', 'name': 'heron'}, {'frequency': 'c', 'synset': 'highchair.n.01', 'synonyms': ['highchair', 'feeding_chair'], 'id': 558, 'def': 'a chair for feeding a very young child', 'name': 'highchair'}, {'frequency': 'f', 'synset': 'hinge.n.01', 'synonyms': ['hinge'], 'id': 559, 'def': 'a joint that holds two parts together so that one can swing relative to the other', 'name': 'hinge'}, {'frequency': 'r', 'synset': 'hippopotamus.n.01', 'synonyms': ['hippopotamus'], 'id': 560, 'def': 'massive thick-skinned animal living in or around rivers of tropical Africa', 'name': 'hippopotamus'}, {'frequency': 'r', 'synset': 'hockey_stick.n.01', 'synonyms': ['hockey_stick'], 'id': 561, 'def': 'sports implement consisting of a stick used by hockey players to move the puck', 'name': 'hockey_stick'}, {'frequency': 'c', 'synset': 'hog.n.03', 'synonyms': ['hog', 'pig'], 'id': 562, 'def': 'domestic swine', 'name': 'hog'}, {'frequency': 'f', 'synset': 'home_plate.n.01', 'synonyms': ['home_plate_(baseball)', 'home_base_(baseball)'], 'id': 563, 'def': '(baseball) a rubber slab where the batter stands; it must be touched by a base runner in order to score', 'name': 'home_plate_(baseball)'}, {'frequency': 'c', 'synset': 'honey.n.01', 'synonyms': ['honey'], 'id': 564, 'def': 'a sweet yellow liquid produced by bees', 'name': 'honey'}, {'frequency': 'f', 'synset': 'hood.n.06', 'synonyms': ['fume_hood', 'exhaust_hood'], 'id': 565, 'def': 'metal covering leading to a vent that exhausts smoke or fumes', 'name': 'fume_hood'}, {'frequency': 'f', 'synset': 'hook.n.05', 'synonyms': ['hook'], 'id': 566, 'def': 'a curved or bent implement for suspending or pulling something', 'name': 'hook'}, {'frequency': 'r', 'synset': 'hookah.n.01', 'synonyms': ['hookah', 'narghile', 'nargileh', 'sheesha', 'shisha', 'water_pipe'], 'id': 567, 'def': 'a tobacco pipe with a long flexible tube connected to a container where the smoke is cooled by passing through water', 'name': 'hookah'}, {'frequency': 'r', 'synset': 'hornet.n.01', 'synonyms': ['hornet'], 'id': 568, 'def': 'large stinging wasp', 'name': 'hornet'}, {'frequency': 'f', 'synset': 'horse.n.01', 'synonyms': ['horse'], 'id': 569, 'def': 'a common horse', 'name': 'horse'}, {'frequency': 'f', 'synset': 'hose.n.03', 'synonyms': ['hose', 'hosepipe'], 'id': 570, 'def': 'a flexible pipe for conveying a liquid or gas', 'name': 'hose'}, {'frequency': 'r', 'synset': 'hot-air_balloon.n.01', 'synonyms': ['hot-air_balloon'], 'id': 571, 'def': 'balloon for travel through the air in a basket suspended below a large bag of heated air', 'name': 'hot-air_balloon'}, {'frequency': 'r', 'synset': 'hot_plate.n.01', 'synonyms': ['hotplate'], 'id': 572, 'def': 'a portable electric appliance for heating or cooking or keeping food warm', 'name': 'hotplate'}, {'frequency': 'c', 'synset': 'hot_sauce.n.01', 'synonyms': ['hot_sauce'], 'id': 573, 'def': 'a pungent peppery sauce', 'name': 'hot_sauce'}, {'frequency': 'r', 'synset': 'hourglass.n.01', 'synonyms': ['hourglass'], 'id': 574, 'def': 'a sandglass timer that runs for sixty minutes', 'name': 'hourglass'}, {'frequency': 'r', 'synset': 'houseboat.n.01', 'synonyms': ['houseboat'], 'id': 575, 'def': 'a barge that is designed and equipped for use as a dwelling', 'name': 'houseboat'}, {'frequency': 'c', 'synset': 'hummingbird.n.01', 'synonyms': ['hummingbird'], 'id': 576, 'def': 'tiny American bird having brilliant iridescent plumage and long slender bills', 'name': 'hummingbird'}, {'frequency': 'r', 'synset': 'hummus.n.01', 'synonyms': ['hummus', 'humus', 'hommos', 'hoummos', 'humous'], 'id': 577, 'def': 'a thick spread made from mashed chickpeas', 'name': 'hummus'}, {'frequency': 'f', 'synset': 'ice_bear.n.01', 'synonyms': ['polar_bear'], 'id': 578, 'def': 'white bear of Arctic regions', 'name': 'polar_bear'}, {'frequency': 'c', 'synset': 'ice_cream.n.01', 'synonyms': ['icecream'], 'id': 579, 'def': 'frozen dessert containing cream and sugar and flavoring', 'name': 'icecream'}, {'frequency': 'r', 'synset': 'ice_lolly.n.01', 'synonyms': ['popsicle'], 'id': 580, 'def': 'ice cream or water ice on a small wooden stick', 'name': 'popsicle'}, {'frequency': 'c', 'synset': 'ice_maker.n.01', 'synonyms': ['ice_maker'], 'id': 581, 'def': 'an appliance included in some electric refrigerators for making ice cubes', 'name': 'ice_maker'}, {'frequency': 'r', 'synset': 'ice_pack.n.01', 'synonyms': ['ice_pack', 'ice_bag'], 'id': 582, 'def': 'a waterproof bag filled with ice: applied to the body (especially the head) to cool or reduce swelling', 'name': 'ice_pack'}, {'frequency': 'r', 'synset': 'ice_skate.n.01', 'synonyms': ['ice_skate'], 'id': 583, 'def': 'skate consisting of a boot with a steel blade fitted to the sole', 'name': 'ice_skate'}, {'frequency': 'c', 'synset': 'igniter.n.01', 'synonyms': ['igniter', 'ignitor', 'lighter'], 'id': 584, 'def': 'a substance or device used to start a fire', 'name': 'igniter'}, {'frequency': 'r', 'synset': 'inhaler.n.01', 'synonyms': ['inhaler', 'inhalator'], 'id': 585, 'def': 'a dispenser that produces a chemical vapor to be inhaled through mouth or nose', 'name': 'inhaler'}, {'frequency': 'f', 'synset': 'ipod.n.01', 'synonyms': ['iPod'], 'id': 586, 'def': 'a pocket-sized device used to play music files', 'name': 'iPod'}, {'frequency': 'c', 'synset': 'iron.n.04', 'synonyms': ['iron_(for_clothing)', 'smoothing_iron_(for_clothing)'], 'id': 587, 'def': 'home appliance consisting of a flat metal base that is heated and used to smooth cloth', 'name': 'iron_(for_clothing)'}, {'frequency': 'c', 'synset': 'ironing_board.n.01', 'synonyms': ['ironing_board'], 'id': 588, 'def': 'narrow padded board on collapsible supports; used for ironing clothes', 'name': 'ironing_board'}, {'frequency': 'f', 'synset': 'jacket.n.01', 'synonyms': ['jacket'], 'id': 589, 'def': 'a waist-length coat', 'name': 'jacket'}, {'frequency': 'c', 'synset': 'jam.n.01', 'synonyms': ['jam'], 'id': 590, 'def': 'preserve of crushed fruit', 'name': 'jam'}, {'frequency': 'f', 'synset': 'jar.n.01', 'synonyms': ['jar'], 'id': 591, 'def': 'a vessel (usually cylindrical) with a wide mouth and without handles', 'name': 'jar'}, {'frequency': 'f', 'synset': 'jean.n.01', 'synonyms': ['jean', 'blue_jean', 'denim'], 'id': 592, 'def': '(usually plural) close-fitting trousers of heavy denim for manual work or casual wear', 'name': 'jean'}, {'frequency': 'c', 'synset': 'jeep.n.01', 'synonyms': ['jeep', 'landrover'], 'id': 593, 'def': 'a car suitable for traveling over rough terrain', 'name': 'jeep'}, {'frequency': 'r', 'synset': 'jelly_bean.n.01', 'synonyms': ['jelly_bean', 'jelly_egg'], 'id': 594, 'def': 'sugar-glazed jellied candy', 'name': 'jelly_bean'}, {'frequency': 'f', 'synset': 'jersey.n.03', 'synonyms': ['jersey', 'T-shirt', 'tee_shirt'], 'id': 595, 'def': 'a close-fitting pullover shirt', 'name': 'jersey'}, {'frequency': 'c', 'synset': 'jet.n.01', 'synonyms': ['jet_plane', 'jet-propelled_plane'], 'id': 596, 'def': 'an airplane powered by one or more jet engines', 'name': 'jet_plane'}, {'frequency': 'r', 'synset': 'jewel.n.01', 'synonyms': ['jewel', 'gem', 'precious_stone'], 'id': 597, 'def': 'a precious or semiprecious stone incorporated into a piece of jewelry', 'name': 'jewel'}, {'frequency': 'c', 'synset': 'jewelry.n.01', 'synonyms': ['jewelry', 'jewellery'], 'id': 598, 'def': 'an adornment (as a bracelet or ring or necklace) made of precious metals and set with gems (or imitation gems)', 'name': 'jewelry'}, {'frequency': 'r', 'synset': 'joystick.n.02', 'synonyms': ['joystick'], 'id': 599, 'def': 'a control device for computers consisting of a vertical handle that can move freely in two directions', 'name': 'joystick'}, {'frequency': 'c', 'synset': 'jump_suit.n.01', 'synonyms': ['jumpsuit'], 'id': 600, 'def': "one-piece garment fashioned after a parachutist's uniform", 'name': 'jumpsuit'}, {'frequency': 'c', 'synset': 'kayak.n.01', 'synonyms': ['kayak'], 'id': 601, 'def': 'a small canoe consisting of a light frame made watertight with animal skins', 'name': 'kayak'}, {'frequency': 'r', 'synset': 'keg.n.02', 'synonyms': ['keg'], 'id': 602, 'def': 'small cask or barrel', 'name': 'keg'}, {'frequency': 'r', 'synset': 'kennel.n.01', 'synonyms': ['kennel', 'doghouse'], 'id': 603, 'def': 'outbuilding that serves as a shelter for a dog', 'name': 'kennel'}, {'frequency': 'c', 'synset': 'kettle.n.01', 'synonyms': ['kettle', 'boiler'], 'id': 604, 'def': 'a metal pot for stewing or boiling; usually has a lid', 'name': 'kettle'}, {'frequency': 'f', 'synset': 'key.n.01', 'synonyms': ['key'], 'id': 605, 'def': 'metal instrument used to unlock a lock', 'name': 'key'}, {'frequency': 'r', 'synset': 'keycard.n.01', 'synonyms': ['keycard'], 'id': 606, 'def': 'a plastic card used to gain access typically to a door', 'name': 'keycard'}, {'frequency': 'c', 'synset': 'kilt.n.01', 'synonyms': ['kilt'], 'id': 607, 'def': 'a knee-length pleated tartan skirt worn by men as part of the traditional dress in the Highlands of northern Scotland', 'name': 'kilt'}, {'frequency': 'c', 'synset': 'kimono.n.01', 'synonyms': ['kimono'], 'id': 608, 'def': 'a loose robe; imitated from robes originally worn by Japanese', 'name': 'kimono'}, {'frequency': 'f', 'synset': 'kitchen_sink.n.01', 'synonyms': ['kitchen_sink'], 'id': 609, 'def': 'a sink in a kitchen', 'name': 'kitchen_sink'}, {'frequency': 'r', 'synset': 'kitchen_table.n.01', 'synonyms': ['kitchen_table'], 'id': 610, 'def': 'a table in the kitchen', 'name': 'kitchen_table'}, {'frequency': 'f', 'synset': 'kite.n.03', 'synonyms': ['kite'], 'id': 611, 'def': 'plaything consisting of a light frame covered with tissue paper; flown in wind at end of a string', 'name': 'kite'}, {'frequency': 'c', 'synset': 'kitten.n.01', 'synonyms': ['kitten', 'kitty'], 'id': 612, 'def': 'young domestic cat', 'name': 'kitten'}, {'frequency': 'c', 'synset': 'kiwi.n.03', 'synonyms': ['kiwi_fruit'], 'id': 613, 'def': 'fuzzy brown egg-shaped fruit with slightly tart green flesh', 'name': 'kiwi_fruit'}, {'frequency': 'f', 'synset': 'knee_pad.n.01', 'synonyms': ['knee_pad'], 'id': 614, 'def': 'protective garment consisting of a pad worn by football or baseball or hockey players', 'name': 'knee_pad'}, {'frequency': 'f', 'synset': 'knife.n.01', 'synonyms': ['knife'], 'id': 615, 'def': 'tool with a blade and point used as a cutting instrument', 'name': 'knife'}, {'frequency': 'r', 'synset': 'knitting_needle.n.01', 'synonyms': ['knitting_needle'], 'id': 616, 'def': 'needle consisting of a slender rod with pointed ends; usually used in pairs', 'name': 'knitting_needle'}, {'frequency': 'f', 'synset': 'knob.n.02', 'synonyms': ['knob'], 'id': 617, 'def': 'a round handle often found on a door', 'name': 'knob'}, {'frequency': 'r', 'synset': 'knocker.n.05', 'synonyms': ['knocker_(on_a_door)', 'doorknocker'], 'id': 618, 'def': 'a device (usually metal and ornamental) attached by a hinge to a door', 'name': 'knocker_(on_a_door)'}, {'frequency': 'r', 'synset': 'koala.n.01', 'synonyms': ['koala', 'koala_bear'], 'id': 619, 'def': 'sluggish tailless Australian marsupial with grey furry ears and coat', 'name': 'koala'}, {'frequency': 'r', 'synset': 'lab_coat.n.01', 'synonyms': ['lab_coat', 'laboratory_coat'], 'id': 620, 'def': 'a light coat worn to protect clothing from substances used while working in a laboratory', 'name': 'lab_coat'}, {'frequency': 'f', 'synset': 'ladder.n.01', 'synonyms': ['ladder'], 'id': 621, 'def': 'steps consisting of two parallel members connected by rungs', 'name': 'ladder'}, {'frequency': 'c', 'synset': 'ladle.n.01', 'synonyms': ['ladle'], 'id': 622, 'def': 'a spoon-shaped vessel with a long handle frequently used to transfer liquids', 'name': 'ladle'}, {'frequency': 'c', 'synset': 'ladybug.n.01', 'synonyms': ['ladybug', 'ladybeetle', 'ladybird_beetle'], 'id': 623, 'def': 'small round bright-colored and spotted beetle, typically red and black', 'name': 'ladybug'}, {'frequency': 'f', 'synset': 'lamb.n.01', 'synonyms': ['lamb_(animal)'], 'id': 624, 'def': 'young sheep', 'name': 'lamb_(animal)'}, {'frequency': 'r', 'synset': 'lamb_chop.n.01', 'synonyms': ['lamb-chop', 'lambchop'], 'id': 625, 'def': 'chop cut from a lamb', 'name': 'lamb-chop'}, {'frequency': 'f', 'synset': 'lamp.n.02', 'synonyms': ['lamp'], 'id': 626, 'def': 'a piece of furniture holding one or more electric light bulbs', 'name': 'lamp'}, {'frequency': 'f', 'synset': 'lamppost.n.01', 'synonyms': ['lamppost'], 'id': 627, 'def': 'a metal post supporting an outdoor lamp (such as a streetlight)', 'name': 'lamppost'}, {'frequency': 'f', 'synset': 'lampshade.n.01', 'synonyms': ['lampshade'], 'id': 628, 'def': 'a protective ornamental shade used to screen a light bulb from direct view', 'name': 'lampshade'}, {'frequency': 'c', 'synset': 'lantern.n.01', 'synonyms': ['lantern'], 'id': 629, 'def': 'light in a transparent protective case', 'name': 'lantern'}, {'frequency': 'f', 'synset': 'lanyard.n.02', 'synonyms': ['lanyard', 'laniard'], 'id': 630, 'def': 'a cord worn around the neck to hold a knife or whistle, etc.', 'name': 'lanyard'}, {'frequency': 'f', 'synset': 'laptop.n.01', 'synonyms': ['laptop_computer', 'notebook_computer'], 'id': 631, 'def': 'a portable computer small enough to use in your lap', 'name': 'laptop_computer'}, {'frequency': 'r', 'synset': 'lasagna.n.01', 'synonyms': ['lasagna', 'lasagne'], 'id': 632, 'def': 'baked dish of layers of lasagna pasta with sauce and cheese and meat or vegetables', 'name': 'lasagna'}, {'frequency': 'f', 'synset': 'latch.n.02', 'synonyms': ['latch'], 'id': 633, 'def': 'a bar that can be lowered or slid into a groove to fasten a door or gate', 'name': 'latch'}, {'frequency': 'r', 'synset': 'lawn_mower.n.01', 'synonyms': ['lawn_mower'], 'id': 634, 'def': 'garden tool for mowing grass on lawns', 'name': 'lawn_mower'}, {'frequency': 'r', 'synset': 'leather.n.01', 'synonyms': ['leather'], 'id': 635, 'def': 'an animal skin made smooth and flexible by removing the hair and then tanning', 'name': 'leather'}, {'frequency': 'c', 'synset': 'legging.n.01', 'synonyms': ['legging_(clothing)', 'leging_(clothing)', 'leg_covering'], 'id': 636, 'def': 'a garment covering the leg (usually extending from the knee to the ankle)', 'name': 'legging_(clothing)'}, {'frequency': 'c', 'synset': 'lego.n.01', 'synonyms': ['Lego', 'Lego_set'], 'id': 637, 'def': "a child's plastic construction set for making models from blocks", 'name': 'Lego'}, {'frequency': 'r', 'synset': 'legume.n.02', 'synonyms': ['legume'], 'id': 638, 'def': 'the fruit or seed of bean or pea plants', 'name': 'legume'}, {'frequency': 'f', 'synset': 'lemon.n.01', 'synonyms': ['lemon'], 'id': 639, 'def': 'yellow oval fruit with juicy acidic flesh', 'name': 'lemon'}, {'frequency': 'r', 'synset': 'lemonade.n.01', 'synonyms': ['lemonade'], 'id': 640, 'def': 'sweetened beverage of diluted lemon juice', 'name': 'lemonade'}, {'frequency': 'f', 'synset': 'lettuce.n.02', 'synonyms': ['lettuce'], 'id': 641, 'def': 'leafy plant commonly eaten in salad or on sandwiches', 'name': 'lettuce'}, {'frequency': 'f', 'synset': 'license_plate.n.01', 'synonyms': ['license_plate', 'numberplate'], 'id': 642, 'def': "a plate mounted on the front and back of car and bearing the car's registration number", 'name': 'license_plate'}, {'frequency': 'f', 'synset': 'life_buoy.n.01', 'synonyms': ['life_buoy', 'lifesaver', 'life_belt', 'life_ring'], 'id': 643, 'def': 'a ring-shaped life preserver used to prevent drowning (NOT a life-jacket or vest)', 'name': 'life_buoy'}, {'frequency': 'f', 'synset': 'life_jacket.n.01', 'synonyms': ['life_jacket', 'life_vest'], 'id': 644, 'def': 'life preserver consisting of a sleeveless jacket of buoyant or inflatable design', 'name': 'life_jacket'}, {'frequency': 'f', 'synset': 'light_bulb.n.01', 'synonyms': ['lightbulb'], 'id': 645, 'def': 'lightblub/source of light', 'name': 'lightbulb'}, {'frequency': 'r', 'synset': 'lightning_rod.n.02', 'synonyms': ['lightning_rod', 'lightning_conductor'], 'id': 646, 'def': 'a metallic conductor that is attached to a high point and leads to the ground', 'name': 'lightning_rod'}, {'frequency': 'f', 'synset': 'lime.n.06', 'synonyms': ['lime'], 'id': 647, 'def': 'the green acidic fruit of any of various lime trees', 'name': 'lime'}, {'frequency': 'r', 'synset': 'limousine.n.01', 'synonyms': ['limousine'], 'id': 648, 'def': 'long luxurious car; usually driven by a chauffeur', 'name': 'limousine'}, {'frequency': 'c', 'synset': 'lion.n.01', 'synonyms': ['lion'], 'id': 649, 'def': 'large gregarious predatory cat of Africa and India', 'name': 'lion'}, {'frequency': 'c', 'synset': 'lip_balm.n.01', 'synonyms': ['lip_balm'], 'id': 650, 'def': 'a balm applied to the lips', 'name': 'lip_balm'}, {'frequency': 'r', 'synset': 'liquor.n.01', 'synonyms': ['liquor', 'spirits', 'hard_liquor', 'liqueur', 'cordial'], 'id': 651, 'def': 'liquor or beer', 'name': 'liquor'}, {'frequency': 'c', 'synset': 'lizard.n.01', 'synonyms': ['lizard'], 'id': 652, 'def': 'a reptile with usually two pairs of legs and a tapering tail', 'name': 'lizard'}, {'frequency': 'f', 'synset': 'log.n.01', 'synonyms': ['log'], 'id': 653, 'def': 'a segment of the trunk of a tree when stripped of branches', 'name': 'log'}, {'frequency': 'c', 'synset': 'lollipop.n.02', 'synonyms': ['lollipop'], 'id': 654, 'def': 'hard candy on a stick', 'name': 'lollipop'}, {'frequency': 'f', 'synset': 'loudspeaker.n.01', 'synonyms': ['speaker_(stero_equipment)'], 'id': 655, 'def': 'electronic device that produces sound often as part of a stereo system', 'name': 'speaker_(stero_equipment)'}, {'frequency': 'c', 'synset': 'love_seat.n.01', 'synonyms': ['loveseat'], 'id': 656, 'def': 'small sofa that seats two people', 'name': 'loveseat'}, {'frequency': 'r', 'synset': 'machine_gun.n.01', 'synonyms': ['machine_gun'], 'id': 657, 'def': 'a rapidly firing automatic gun', 'name': 'machine_gun'}, {'frequency': 'f', 'synset': 'magazine.n.02', 'synonyms': ['magazine'], 'id': 658, 'def': 'a paperback periodic publication', 'name': 'magazine'}, {'frequency': 'f', 'synset': 'magnet.n.01', 'synonyms': ['magnet'], 'id': 659, 'def': 'a device that attracts iron and produces a magnetic field', 'name': 'magnet'}, {'frequency': 'c', 'synset': 'mail_slot.n.01', 'synonyms': ['mail_slot'], 'id': 660, 'def': 'a slot (usually in a door) through which mail can be delivered', 'name': 'mail_slot'}, {'frequency': 'f', 'synset': 'mailbox.n.01', 'synonyms': ['mailbox_(at_home)', 'letter_box_(at_home)'], 'id': 661, 'def': 'a private box for delivery of mail', 'name': 'mailbox_(at_home)'}, {'frequency': 'r', 'synset': 'mallard.n.01', 'synonyms': ['mallard'], 'id': 662, 'def': 'wild dabbling duck from which domestic ducks are descended', 'name': 'mallard'}, {'frequency': 'r', 'synset': 'mallet.n.01', 'synonyms': ['mallet'], 'id': 663, 'def': 'a sports implement with a long handle and a hammer-like head used to hit a ball', 'name': 'mallet'}, {'frequency': 'r', 'synset': 'mammoth.n.01', 'synonyms': ['mammoth'], 'id': 664, 'def': 'any of numerous extinct elephants widely distributed in the Pleistocene', 'name': 'mammoth'}, {'frequency': 'r', 'synset': 'manatee.n.01', 'synonyms': ['manatee'], 'id': 665, 'def': 'sirenian mammal of tropical coastal waters of America', 'name': 'manatee'}, {'frequency': 'c', 'synset': 'mandarin.n.05', 'synonyms': ['mandarin_orange'], 'id': 666, 'def': 'a somewhat flat reddish-orange loose skinned citrus of China', 'name': 'mandarin_orange'}, {'frequency': 'c', 'synset': 'manger.n.01', 'synonyms': ['manger', 'trough'], 'id': 667, 'def': 'a container (usually in a barn or stable) from which cattle or horses feed', 'name': 'manger'}, {'frequency': 'f', 'synset': 'manhole.n.01', 'synonyms': ['manhole'], 'id': 668, 'def': 'a hole (usually with a flush cover) through which a person can gain access to an underground structure', 'name': 'manhole'}, {'frequency': 'f', 'synset': 'map.n.01', 'synonyms': ['map'], 'id': 669, 'def': "a diagrammatic representation of the earth's surface (or part of it)", 'name': 'map'}, {'frequency': 'f', 'synset': 'marker.n.03', 'synonyms': ['marker'], 'id': 670, 'def': 'a writing implement for making a mark', 'name': 'marker'}, {'frequency': 'r', 'synset': 'martini.n.01', 'synonyms': ['martini'], 'id': 671, 'def': 'a cocktail made of gin (or vodka) with dry vermouth', 'name': 'martini'}, {'frequency': 'r', 'synset': 'mascot.n.01', 'synonyms': ['mascot'], 'id': 672, 'def': 'a person or animal that is adopted by a team or other group as a symbolic figure', 'name': 'mascot'}, {'frequency': 'c', 'synset': 'mashed_potato.n.01', 'synonyms': ['mashed_potato'], 'id': 673, 'def': 'potato that has been peeled and boiled and then mashed', 'name': 'mashed_potato'}, {'frequency': 'r', 'synset': 'masher.n.02', 'synonyms': ['masher'], 'id': 674, 'def': 'a kitchen utensil used for mashing (e.g. potatoes)', 'name': 'masher'}, {'frequency': 'f', 'synset': 'mask.n.04', 'synonyms': ['mask', 'facemask'], 'id': 675, 'def': 'a protective covering worn over the face', 'name': 'mask'}, {'frequency': 'f', 'synset': 'mast.n.01', 'synonyms': ['mast'], 'id': 676, 'def': 'a vertical spar for supporting sails', 'name': 'mast'}, {'frequency': 'c', 'synset': 'mat.n.03', 'synonyms': ['mat_(gym_equipment)', 'gym_mat'], 'id': 677, 'def': 'sports equipment consisting of a piece of thick padding on the floor for gymnastics', 'name': 'mat_(gym_equipment)'}, {'frequency': 'r', 'synset': 'matchbox.n.01', 'synonyms': ['matchbox'], 'id': 678, 'def': 'a box for holding matches', 'name': 'matchbox'}, {'frequency': 'f', 'synset': 'mattress.n.01', 'synonyms': ['mattress'], 'id': 679, 'def': 'a thick pad filled with resilient material used as a bed or part of a bed', 'name': 'mattress'}, {'frequency': 'c', 'synset': 'measuring_cup.n.01', 'synonyms': ['measuring_cup'], 'id': 680, 'def': 'graduated cup used to measure liquid or granular ingredients', 'name': 'measuring_cup'}, {'frequency': 'c', 'synset': 'measuring_stick.n.01', 'synonyms': ['measuring_stick', 'ruler_(measuring_stick)', 'measuring_rod'], 'id': 681, 'def': 'measuring instrument having a sequence of marks at regular intervals', 'name': 'measuring_stick'}, {'frequency': 'c', 'synset': 'meatball.n.01', 'synonyms': ['meatball'], 'id': 682, 'def': 'ground meat formed into a ball and fried or simmered in broth', 'name': 'meatball'}, {'frequency': 'c', 'synset': 'medicine.n.02', 'synonyms': ['medicine'], 'id': 683, 'def': 'something that treats or prevents or alleviates the symptoms of disease', 'name': 'medicine'}, {'frequency': 'c', 'synset': 'melon.n.01', 'synonyms': ['melon'], 'id': 684, 'def': 'fruit of the gourd family having a hard rind and sweet juicy flesh', 'name': 'melon'}, {'frequency': 'f', 'synset': 'microphone.n.01', 'synonyms': ['microphone'], 'id': 685, 'def': 'device for converting sound waves into electrical energy', 'name': 'microphone'}, {'frequency': 'r', 'synset': 'microscope.n.01', 'synonyms': ['microscope'], 'id': 686, 'def': 'magnifier of the image of small objects', 'name': 'microscope'}, {'frequency': 'f', 'synset': 'microwave.n.02', 'synonyms': ['microwave_oven'], 'id': 687, 'def': 'kitchen appliance that cooks food by passing an electromagnetic wave through it', 'name': 'microwave_oven'}, {'frequency': 'r', 'synset': 'milestone.n.01', 'synonyms': ['milestone', 'milepost'], 'id': 688, 'def': 'stone post at side of a road to show distances', 'name': 'milestone'}, {'frequency': 'f', 'synset': 'milk.n.01', 'synonyms': ['milk'], 'id': 689, 'def': 'a white nutritious liquid secreted by mammals and used as food by human beings', 'name': 'milk'}, {'frequency': 'r', 'synset': 'milk_can.n.01', 'synonyms': ['milk_can'], 'id': 690, 'def': 'can for transporting milk', 'name': 'milk_can'}, {'frequency': 'r', 'synset': 'milkshake.n.01', 'synonyms': ['milkshake'], 'id': 691, 'def': 'frothy drink of milk and flavoring and sometimes fruit or ice cream', 'name': 'milkshake'}, {'frequency': 'f', 'synset': 'minivan.n.01', 'synonyms': ['minivan'], 'id': 692, 'def': 'a small box-shaped passenger van', 'name': 'minivan'}, {'frequency': 'r', 'synset': 'mint.n.05', 'synonyms': ['mint_candy'], 'id': 693, 'def': 'a candy that is flavored with a mint oil', 'name': 'mint_candy'}, {'frequency': 'f', 'synset': 'mirror.n.01', 'synonyms': ['mirror'], 'id': 694, 'def': 'polished surface that forms images by reflecting light', 'name': 'mirror'}, {'frequency': 'c', 'synset': 'mitten.n.01', 'synonyms': ['mitten'], 'id': 695, 'def': 'glove that encases the thumb separately and the other four fingers together', 'name': 'mitten'}, {'frequency': 'c', 'synset': 'mixer.n.04', 'synonyms': ['mixer_(kitchen_tool)', 'stand_mixer'], 'id': 696, 'def': 'a kitchen utensil that is used for mixing foods', 'name': 'mixer_(kitchen_tool)'}, {'frequency': 'c', 'synset': 'money.n.03', 'synonyms': ['money'], 'id': 697, 'def': 'the official currency issued by a government or national bank', 'name': 'money'}, {'frequency': 'f', 'synset': 'monitor.n.04', 'synonyms': ['monitor_(computer_equipment) computer_monitor'], 'id': 698, 'def': 'a computer monitor', 'name': 'monitor_(computer_equipment) computer_monitor'}, {'frequency': 'c', 'synset': 'monkey.n.01', 'synonyms': ['monkey'], 'id': 699, 'def': 'any of various long-tailed primates', 'name': 'monkey'}, {'frequency': 'f', 'synset': 'motor.n.01', 'synonyms': ['motor'], 'id': 700, 'def': 'machine that converts other forms of energy into mechanical energy and so imparts motion', 'name': 'motor'}, {'frequency': 'f', 'synset': 'motor_scooter.n.01', 'synonyms': ['motor_scooter', 'scooter'], 'id': 701, 'def': 'a wheeled vehicle with small wheels and a low-powered engine', 'name': 'motor_scooter'}, {'frequency': 'r', 'synset': 'motor_vehicle.n.01', 'synonyms': ['motor_vehicle', 'automotive_vehicle'], 'id': 702, 'def': 'a self-propelled wheeled vehicle that does not run on rails', 'name': 'motor_vehicle'}, {'frequency': 'f', 'synset': 'motorcycle.n.01', 'synonyms': ['motorcycle'], 'id': 703, 'def': 'a motor vehicle with two wheels and a strong frame', 'name': 'motorcycle'}, {'frequency': 'f', 'synset': 'mound.n.01', 'synonyms': ['mound_(baseball)', "pitcher's_mound"], 'id': 704, 'def': '(baseball) the slight elevation on which the pitcher stands', 'name': 'mound_(baseball)'}, {'frequency': 'f', 'synset': 'mouse.n.04', 'synonyms': ['mouse_(computer_equipment)', 'computer_mouse'], 'id': 705, 'def': 'a computer input device that controls an on-screen pointer (does not include trackpads / touchpads)', 'name': 'mouse_(computer_equipment)'}, {'frequency': 'f', 'synset': 'mousepad.n.01', 'synonyms': ['mousepad'], 'id': 706, 'def': 'a small portable pad that provides an operating surface for a computer mouse', 'name': 'mousepad'}, {'frequency': 'c', 'synset': 'muffin.n.01', 'synonyms': ['muffin'], 'id': 707, 'def': 'a sweet quick bread baked in a cup-shaped pan', 'name': 'muffin'}, {'frequency': 'f', 'synset': 'mug.n.04', 'synonyms': ['mug'], 'id': 708, 'def': 'with handle and usually cylindrical', 'name': 'mug'}, {'frequency': 'f', 'synset': 'mushroom.n.02', 'synonyms': ['mushroom'], 'id': 709, 'def': 'a common mushroom', 'name': 'mushroom'}, {'frequency': 'r', 'synset': 'music_stool.n.01', 'synonyms': ['music_stool', 'piano_stool'], 'id': 710, 'def': 'a stool for piano players; usually adjustable in height', 'name': 'music_stool'}, {'frequency': 'c', 'synset': 'musical_instrument.n.01', 'synonyms': ['musical_instrument', 'instrument_(musical)'], 'id': 711, 'def': 'any of various devices or contrivances that can be used to produce musical tones or sounds', 'name': 'musical_instrument'}, {'frequency': 'r', 'synset': 'nailfile.n.01', 'synonyms': ['nailfile'], 'id': 712, 'def': 'a small flat file for shaping the nails', 'name': 'nailfile'}, {'frequency': 'f', 'synset': 'napkin.n.01', 'synonyms': ['napkin', 'table_napkin', 'serviette'], 'id': 713, 'def': 'a small piece of table linen or paper that is used to wipe the mouth and to cover the lap in order to protect clothing', 'name': 'napkin'}, {'frequency': 'r', 'synset': 'neckerchief.n.01', 'synonyms': ['neckerchief'], 'id': 714, 'def': 'a kerchief worn around the neck', 'name': 'neckerchief'}, {'frequency': 'f', 'synset': 'necklace.n.01', 'synonyms': ['necklace'], 'id': 715, 'def': 'jewelry consisting of a cord or chain (often bearing gems) worn about the neck as an ornament', 'name': 'necklace'}, {'frequency': 'f', 'synset': 'necktie.n.01', 'synonyms': ['necktie', 'tie_(necktie)'], 'id': 716, 'def': 'neckwear consisting of a long narrow piece of material worn under a collar and tied in knot at the front', 'name': 'necktie'}, {'frequency': 'c', 'synset': 'needle.n.03', 'synonyms': ['needle'], 'id': 717, 'def': 'a sharp pointed implement (usually metal)', 'name': 'needle'}, {'frequency': 'c', 'synset': 'nest.n.01', 'synonyms': ['nest'], 'id': 718, 'def': 'a structure in which animals lay eggs or give birth to their young', 'name': 'nest'}, {'frequency': 'f', 'synset': 'newspaper.n.01', 'synonyms': ['newspaper', 'paper_(newspaper)'], 'id': 719, 'def': 'a daily or weekly publication on folded sheets containing news, articles, and advertisements', 'name': 'newspaper'}, {'frequency': 'c', 'synset': 'newsstand.n.01', 'synonyms': ['newsstand'], 'id': 720, 'def': 'a stall where newspapers and other periodicals are sold', 'name': 'newsstand'}, {'frequency': 'c', 'synset': 'nightwear.n.01', 'synonyms': ['nightshirt', 'nightwear', 'sleepwear', 'nightclothes'], 'id': 721, 'def': 'garments designed to be worn in bed', 'name': 'nightshirt'}, {'frequency': 'r', 'synset': 'nosebag.n.01', 'synonyms': ['nosebag_(for_animals)', 'feedbag'], 'id': 722, 'def': 'a canvas bag that is used to feed an animal (such as a horse); covers the muzzle and fastens at the top of the head', 'name': 'nosebag_(for_animals)'}, {'frequency': 'c', 'synset': 'noseband.n.01', 'synonyms': ['noseband_(for_animals)', 'nosepiece_(for_animals)'], 'id': 723, 'def': "a strap that is the part of a bridle that goes over the animal's nose", 'name': 'noseband_(for_animals)'}, {'frequency': 'f', 'synset': 'notebook.n.01', 'synonyms': ['notebook'], 'id': 724, 'def': 'a book with blank pages for recording notes or memoranda', 'name': 'notebook'}, {'frequency': 'c', 'synset': 'notepad.n.01', 'synonyms': ['notepad'], 'id': 725, 'def': 'a pad of paper for keeping notes', 'name': 'notepad'}, {'frequency': 'f', 'synset': 'nut.n.03', 'synonyms': ['nut'], 'id': 726, 'def': 'a small metal block (usually square or hexagonal) with internal screw thread to be fitted onto a bolt', 'name': 'nut'}, {'frequency': 'r', 'synset': 'nutcracker.n.01', 'synonyms': ['nutcracker'], 'id': 727, 'def': 'a hand tool used to crack nuts open', 'name': 'nutcracker'}, {'frequency': 'f', 'synset': 'oar.n.01', 'synonyms': ['oar'], 'id': 728, 'def': 'an implement used to propel or steer a boat', 'name': 'oar'}, {'frequency': 'r', 'synset': 'octopus.n.01', 'synonyms': ['octopus_(food)'], 'id': 729, 'def': 'tentacles of octopus prepared as food', 'name': 'octopus_(food)'}, {'frequency': 'r', 'synset': 'octopus.n.02', 'synonyms': ['octopus_(animal)'], 'id': 730, 'def': 'bottom-living cephalopod having a soft oval body with eight long tentacles', 'name': 'octopus_(animal)'}, {'frequency': 'c', 'synset': 'oil_lamp.n.01', 'synonyms': ['oil_lamp', 'kerosene_lamp', 'kerosine_lamp'], 'id': 731, 'def': 'a lamp that burns oil (as kerosine) for light', 'name': 'oil_lamp'}, {'frequency': 'c', 'synset': 'olive_oil.n.01', 'synonyms': ['olive_oil'], 'id': 732, 'def': 'oil from olives', 'name': 'olive_oil'}, {'frequency': 'r', 'synset': 'omelet.n.01', 'synonyms': ['omelet', 'omelette'], 'id': 733, 'def': 'beaten eggs cooked until just set; may be folded around e.g. ham or cheese or jelly', 'name': 'omelet'}, {'frequency': 'f', 'synset': 'onion.n.01', 'synonyms': ['onion'], 'id': 734, 'def': 'the bulb of an onion plant', 'name': 'onion'}, {'frequency': 'f', 'synset': 'orange.n.01', 'synonyms': ['orange_(fruit)'], 'id': 735, 'def': 'orange (FRUIT of an orange tree)', 'name': 'orange_(fruit)'}, {'frequency': 'c', 'synset': 'orange_juice.n.01', 'synonyms': ['orange_juice'], 'id': 736, 'def': 'bottled or freshly squeezed juice of oranges', 'name': 'orange_juice'}, {'frequency': 'c', 'synset': 'ostrich.n.02', 'synonyms': ['ostrich'], 'id': 737, 'def': 'fast-running African flightless bird with two-toed feet; largest living bird', 'name': 'ostrich'}, {'frequency': 'f', 'synset': 'ottoman.n.03', 'synonyms': ['ottoman', 'pouf', 'pouffe', 'hassock'], 'id': 738, 'def': 'a thick standalone cushion used as a seat or footrest, often next to a chair', 'name': 'ottoman'}, {'frequency': 'f', 'synset': 'oven.n.01', 'synonyms': ['oven'], 'id': 739, 'def': 'kitchen appliance used for baking or roasting', 'name': 'oven'}, {'frequency': 'c', 'synset': 'overall.n.01', 'synonyms': ['overalls_(clothing)'], 'id': 740, 'def': 'work clothing consisting of denim trousers usually with a bib and shoulder straps', 'name': 'overalls_(clothing)'}, {'frequency': 'c', 'synset': 'owl.n.01', 'synonyms': ['owl'], 'id': 741, 'def': 'nocturnal bird of prey with hawk-like beak and claws and large head with front-facing eyes', 'name': 'owl'}, {'frequency': 'c', 'synset': 'packet.n.03', 'synonyms': ['packet'], 'id': 742, 'def': 'a small package or bundle', 'name': 'packet'}, {'frequency': 'r', 'synset': 'pad.n.03', 'synonyms': ['inkpad', 'inking_pad', 'stamp_pad'], 'id': 743, 'def': 'absorbent material saturated with ink used to transfer ink evenly to a rubber stamp', 'name': 'inkpad'}, {'frequency': 'c', 'synset': 'pad.n.04', 'synonyms': ['pad'], 'id': 744, 'def': 'mostly arm/knee pads labeled', 'name': 'pad'}, {'frequency': 'f', 'synset': 'paddle.n.04', 'synonyms': ['paddle', 'boat_paddle'], 'id': 745, 'def': 'a short light oar used without an oarlock to propel a canoe or small boat', 'name': 'paddle'}, {'frequency': 'c', 'synset': 'padlock.n.01', 'synonyms': ['padlock'], 'id': 746, 'def': 'a detachable, portable lock', 'name': 'padlock'}, {'frequency': 'c', 'synset': 'paintbrush.n.01', 'synonyms': ['paintbrush'], 'id': 747, 'def': 'a brush used as an applicator to apply paint', 'name': 'paintbrush'}, {'frequency': 'f', 'synset': 'painting.n.01', 'synonyms': ['painting'], 'id': 748, 'def': 'graphic art consisting of an artistic composition made by applying paints to a surface', 'name': 'painting'}, {'frequency': 'f', 'synset': 'pajama.n.02', 'synonyms': ['pajamas', 'pyjamas'], 'id': 749, 'def': 'loose-fitting nightclothes worn for sleeping or lounging', 'name': 'pajamas'}, {'frequency': 'c', 'synset': 'palette.n.02', 'synonyms': ['palette', 'pallet'], 'id': 750, 'def': 'board that provides a flat surface on which artists mix paints and the range of colors used', 'name': 'palette'}, {'frequency': 'f', 'synset': 'pan.n.01', 'synonyms': ['pan_(for_cooking)', 'cooking_pan'], 'id': 751, 'def': 'cooking utensil consisting of a wide metal vessel', 'name': 'pan_(for_cooking)'}, {'frequency': 'r', 'synset': 'pan.n.03', 'synonyms': ['pan_(metal_container)'], 'id': 752, 'def': 'shallow container made of metal', 'name': 'pan_(metal_container)'}, {'frequency': 'c', 'synset': 'pancake.n.01', 'synonyms': ['pancake'], 'id': 753, 'def': 'a flat cake of thin batter fried on both sides on a griddle', 'name': 'pancake'}, {'frequency': 'r', 'synset': 'pantyhose.n.01', 'synonyms': ['pantyhose'], 'id': 754, 'def': "a woman's tights consisting of underpants and stockings", 'name': 'pantyhose'}, {'frequency': 'r', 'synset': 'papaya.n.02', 'synonyms': ['papaya'], 'id': 755, 'def': 'large oval melon-like tropical fruit with yellowish flesh', 'name': 'papaya'}, {'frequency': 'f', 'synset': 'paper_plate.n.01', 'synonyms': ['paper_plate'], 'id': 756, 'def': 'a disposable plate made of cardboard', 'name': 'paper_plate'}, {'frequency': 'f', 'synset': 'paper_towel.n.01', 'synonyms': ['paper_towel'], 'id': 757, 'def': 'a disposable towel made of absorbent paper', 'name': 'paper_towel'}, {'frequency': 'r', 'synset': 'paperback_book.n.01', 'synonyms': ['paperback_book', 'paper-back_book', 'softback_book', 'soft-cover_book'], 'id': 758, 'def': 'a book with paper covers', 'name': 'paperback_book'}, {'frequency': 'r', 'synset': 'paperweight.n.01', 'synonyms': ['paperweight'], 'id': 759, 'def': 'a weight used to hold down a stack of papers', 'name': 'paperweight'}, {'frequency': 'c', 'synset': 'parachute.n.01', 'synonyms': ['parachute'], 'id': 760, 'def': 'rescue equipment consisting of a device that fills with air and retards your fall', 'name': 'parachute'}, {'frequency': 'c', 'synset': 'parakeet.n.01', 'synonyms': ['parakeet', 'parrakeet', 'parroket', 'paraquet', 'paroquet', 'parroquet'], 'id': 761, 'def': 'any of numerous small slender long-tailed parrots', 'name': 'parakeet'}, {'frequency': 'c', 'synset': 'parasail.n.01', 'synonyms': ['parasail_(sports)'], 'id': 762, 'def': 'parachute that will lift a person up into the air when it is towed by a motorboat or a car', 'name': 'parasail_(sports)'}, {'frequency': 'c', 'synset': 'parasol.n.01', 'synonyms': ['parasol', 'sunshade'], 'id': 763, 'def': 'a handheld collapsible source of shade', 'name': 'parasol'}, {'frequency': 'r', 'synset': 'parchment.n.01', 'synonyms': ['parchment'], 'id': 764, 'def': 'a superior paper resembling sheepskin', 'name': 'parchment'}, {'frequency': 'c', 'synset': 'parka.n.01', 'synonyms': ['parka', 'anorak'], 'id': 765, 'def': "a kind of heavy jacket (`windcheater' is a British term)", 'name': 'parka'}, {'frequency': 'f', 'synset': 'parking_meter.n.01', 'synonyms': ['parking_meter'], 'id': 766, 'def': 'a coin-operated timer located next to a parking space', 'name': 'parking_meter'}, {'frequency': 'c', 'synset': 'parrot.n.01', 'synonyms': ['parrot'], 'id': 767, 'def': 'usually brightly colored tropical birds with short hooked beaks and the ability to mimic sounds', 'name': 'parrot'}, {'frequency': 'c', 'synset': 'passenger_car.n.01', 'synonyms': ['passenger_car_(part_of_a_train)', 'coach_(part_of_a_train)'], 'id': 768, 'def': 'a railcar where passengers ride', 'name': 'passenger_car_(part_of_a_train)'}, {'frequency': 'r', 'synset': 'passenger_ship.n.01', 'synonyms': ['passenger_ship'], 'id': 769, 'def': 'a ship built to carry passengers', 'name': 'passenger_ship'}, {'frequency': 'c', 'synset': 'passport.n.02', 'synonyms': ['passport'], 'id': 770, 'def': 'a document issued by a country to a citizen allowing that person to travel abroad and re-enter the home country', 'name': 'passport'}, {'frequency': 'f', 'synset': 'pastry.n.02', 'synonyms': ['pastry'], 'id': 771, 'def': 'any of various baked foods made of dough or batter', 'name': 'pastry'}, {'frequency': 'r', 'synset': 'patty.n.01', 'synonyms': ['patty_(food)'], 'id': 772, 'def': 'small flat mass of chopped food', 'name': 'patty_(food)'}, {'frequency': 'c', 'synset': 'pea.n.01', 'synonyms': ['pea_(food)'], 'id': 773, 'def': 'seed of a pea plant used for food', 'name': 'pea_(food)'}, {'frequency': 'c', 'synset': 'peach.n.03', 'synonyms': ['peach'], 'id': 774, 'def': 'downy juicy fruit with sweet yellowish or whitish flesh', 'name': 'peach'}, {'frequency': 'c', 'synset': 'peanut_butter.n.01', 'synonyms': ['peanut_butter'], 'id': 775, 'def': 'a spread made from ground peanuts', 'name': 'peanut_butter'}, {'frequency': 'f', 'synset': 'pear.n.01', 'synonyms': ['pear'], 'id': 776, 'def': 'sweet juicy gritty-textured fruit available in many varieties', 'name': 'pear'}, {'frequency': 'c', 'synset': 'peeler.n.03', 'synonyms': ['peeler_(tool_for_fruit_and_vegetables)'], 'id': 777, 'def': 'a device for peeling vegetables or fruits', 'name': 'peeler_(tool_for_fruit_and_vegetables)'}, {'frequency': 'r', 'synset': 'peg.n.04', 'synonyms': ['wooden_leg', 'pegleg'], 'id': 778, 'def': 'a prosthesis that replaces a missing leg', 'name': 'wooden_leg'}, {'frequency': 'r', 'synset': 'pegboard.n.01', 'synonyms': ['pegboard'], 'id': 779, 'def': 'a board perforated with regularly spaced holes into which pegs can be fitted', 'name': 'pegboard'}, {'frequency': 'c', 'synset': 'pelican.n.01', 'synonyms': ['pelican'], 'id': 780, 'def': 'large long-winged warm-water seabird having a large bill with a distensible pouch for fish', 'name': 'pelican'}, {'frequency': 'f', 'synset': 'pen.n.01', 'synonyms': ['pen'], 'id': 781, 'def': 'a writing implement with a point from which ink flows', 'name': 'pen'}, {'frequency': 'f', 'synset': 'pencil.n.01', 'synonyms': ['pencil'], 'id': 782, 'def': 'a thin cylindrical pointed writing implement made of wood and graphite', 'name': 'pencil'}, {'frequency': 'r', 'synset': 'pencil_box.n.01', 'synonyms': ['pencil_box', 'pencil_case'], 'id': 783, 'def': 'a box for holding pencils', 'name': 'pencil_box'}, {'frequency': 'r', 'synset': 'pencil_sharpener.n.01', 'synonyms': ['pencil_sharpener'], 'id': 784, 'def': 'a rotary implement for sharpening the point on pencils', 'name': 'pencil_sharpener'}, {'frequency': 'r', 'synset': 'pendulum.n.01', 'synonyms': ['pendulum'], 'id': 785, 'def': 'an apparatus consisting of an object mounted so that it swings freely under the influence of gravity', 'name': 'pendulum'}, {'frequency': 'c', 'synset': 'penguin.n.01', 'synonyms': ['penguin'], 'id': 786, 'def': 'short-legged flightless birds of cold southern regions having webbed feet and wings modified as flippers', 'name': 'penguin'}, {'frequency': 'r', 'synset': 'pennant.n.02', 'synonyms': ['pennant'], 'id': 787, 'def': 'a flag longer than it is wide (and often tapering)', 'name': 'pennant'}, {'frequency': 'r', 'synset': 'penny.n.02', 'synonyms': ['penny_(coin)'], 'id': 788, 'def': 'a coin worth one-hundredth of the value of the basic unit', 'name': 'penny_(coin)'}, {'frequency': 'f', 'synset': 'pepper.n.03', 'synonyms': ['pepper', 'peppercorn'], 'id': 789, 'def': 'pungent seasoning from the berry of the common pepper plant; whole or ground', 'name': 'pepper'}, {'frequency': 'c', 'synset': 'pepper_mill.n.01', 'synonyms': ['pepper_mill', 'pepper_grinder'], 'id': 790, 'def': 'a mill for grinding pepper', 'name': 'pepper_mill'}, {'frequency': 'c', 'synset': 'perfume.n.02', 'synonyms': ['perfume'], 'id': 791, 'def': 'a toiletry that emits and diffuses a fragrant odor', 'name': 'perfume'}, {'frequency': 'r', 'synset': 'persimmon.n.02', 'synonyms': ['persimmon'], 'id': 792, 'def': 'orange fruit resembling a plum; edible when fully ripe', 'name': 'persimmon'}, {'frequency': 'f', 'synset': 'person.n.01', 'synonyms': ['person', 'baby', 'child', 'boy', 'girl', 'man', 'woman', 'human'], 'id': 793, 'def': 'a human being', 'name': 'person'}, {'frequency': 'c', 'synset': 'pet.n.01', 'synonyms': ['pet'], 'id': 794, 'def': 'a domesticated animal kept for companionship or amusement', 'name': 'pet'}, {'frequency': 'c', 'synset': 'pew.n.01', 'synonyms': ['pew_(church_bench)', 'church_bench'], 'id': 795, 'def': 'long bench with backs; used in church by the congregation', 'name': 'pew_(church_bench)'}, {'frequency': 'r', 'synset': 'phonebook.n.01', 'synonyms': ['phonebook', 'telephone_book', 'telephone_directory'], 'id': 796, 'def': 'a directory containing an alphabetical list of telephone subscribers and their telephone numbers', 'name': 'phonebook'}, {'frequency': 'c', 'synset': 'phonograph_record.n.01', 'synonyms': ['phonograph_record', 'phonograph_recording', 'record_(phonograph_recording)'], 'id': 797, 'def': 'sound recording consisting of a typically black disk with a continuous groove', 'name': 'phonograph_record'}, {'frequency': 'f', 'synset': 'piano.n.01', 'synonyms': ['piano'], 'id': 798, 'def': 'a keyboard instrument that is played by depressing keys that cause hammers to strike tuned strings and produce sounds', 'name': 'piano'}, {'frequency': 'f', 'synset': 'pickle.n.01', 'synonyms': ['pickle'], 'id': 799, 'def': 'vegetables (especially cucumbers) preserved in brine or vinegar', 'name': 'pickle'}, {'frequency': 'f', 'synset': 'pickup.n.01', 'synonyms': ['pickup_truck'], 'id': 800, 'def': 'a light truck with an open body and low sides and a tailboard', 'name': 'pickup_truck'}, {'frequency': 'c', 'synset': 'pie.n.01', 'synonyms': ['pie'], 'id': 801, 'def': 'dish baked in pastry-lined pan often with a pastry top', 'name': 'pie'}, {'frequency': 'c', 'synset': 'pigeon.n.01', 'synonyms': ['pigeon'], 'id': 802, 'def': 'wild and domesticated birds having a heavy body and short legs', 'name': 'pigeon'}, {'frequency': 'r', 'synset': 'piggy_bank.n.01', 'synonyms': ['piggy_bank', 'penny_bank'], 'id': 803, 'def': "a child's coin bank (often shaped like a pig)", 'name': 'piggy_bank'}, {'frequency': 'f', 'synset': 'pillow.n.01', 'synonyms': ['pillow'], 'id': 804, 'def': 'a cushion to support the head of a sleeping person', 'name': 'pillow'}, {'frequency': 'r', 'synset': 'pin.n.09', 'synonyms': ['pin_(non_jewelry)'], 'id': 805, 'def': 'a small slender (often pointed) piece of wood or metal used to support or fasten or attach things', 'name': 'pin_(non_jewelry)'}, {'frequency': 'f', 'synset': 'pineapple.n.02', 'synonyms': ['pineapple'], 'id': 806, 'def': 'large sweet fleshy tropical fruit with a tuft of stiff leaves', 'name': 'pineapple'}, {'frequency': 'c', 'synset': 'pinecone.n.01', 'synonyms': ['pinecone'], 'id': 807, 'def': 'the seed-producing cone of a pine tree', 'name': 'pinecone'}, {'frequency': 'r', 'synset': 'ping-pong_ball.n.01', 'synonyms': ['ping-pong_ball'], 'id': 808, 'def': 'light hollow ball used in playing table tennis', 'name': 'ping-pong_ball'}, {'frequency': 'r', 'synset': 'pinwheel.n.03', 'synonyms': ['pinwheel'], 'id': 809, 'def': 'a toy consisting of vanes of colored paper or plastic that is pinned to a stick and spins when it is pointed into the wind', 'name': 'pinwheel'}, {'frequency': 'r', 'synset': 'pipe.n.01', 'synonyms': ['tobacco_pipe'], 'id': 810, 'def': 'a tube with a small bowl at one end; used for smoking tobacco', 'name': 'tobacco_pipe'}, {'frequency': 'f', 'synset': 'pipe.n.02', 'synonyms': ['pipe', 'piping'], 'id': 811, 'def': 'a long tube made of metal or plastic that is used to carry water or oil or gas etc.', 'name': 'pipe'}, {'frequency': 'r', 'synset': 'pistol.n.01', 'synonyms': ['pistol', 'handgun'], 'id': 812, 'def': 'a firearm that is held and fired with one hand', 'name': 'pistol'}, {'frequency': 'c', 'synset': 'pita.n.01', 'synonyms': ['pita_(bread)', 'pocket_bread'], 'id': 813, 'def': 'usually small round bread that can open into a pocket for filling', 'name': 'pita_(bread)'}, {'frequency': 'f', 'synset': 'pitcher.n.02', 'synonyms': ['pitcher_(vessel_for_liquid)', 'ewer'], 'id': 814, 'def': 'an open vessel with a handle and a spout for pouring', 'name': 'pitcher_(vessel_for_liquid)'}, {'frequency': 'r', 'synset': 'pitchfork.n.01', 'synonyms': ['pitchfork'], 'id': 815, 'def': 'a long-handled hand tool with sharp widely spaced prongs for lifting and pitching hay', 'name': 'pitchfork'}, {'frequency': 'f', 'synset': 'pizza.n.01', 'synonyms': ['pizza'], 'id': 816, 'def': 'Italian open pie made of thin bread dough spread with a spiced mixture of e.g. tomato sauce and cheese', 'name': 'pizza'}, {'frequency': 'f', 'synset': 'place_mat.n.01', 'synonyms': ['place_mat'], 'id': 817, 'def': 'a mat placed on a table for an individual place setting', 'name': 'place_mat'}, {'frequency': 'f', 'synset': 'plate.n.04', 'synonyms': ['plate'], 'id': 818, 'def': 'dish on which food is served or from which food is eaten', 'name': 'plate'}, {'frequency': 'c', 'synset': 'platter.n.01', 'synonyms': ['platter'], 'id': 819, 'def': 'a large shallow dish used for serving food', 'name': 'platter'}, {'frequency': 'r', 'synset': 'playpen.n.01', 'synonyms': ['playpen'], 'id': 820, 'def': 'a portable enclosure in which babies may be left to play', 'name': 'playpen'}, {'frequency': 'c', 'synset': 'pliers.n.01', 'synonyms': ['pliers', 'plyers'], 'id': 821, 'def': 'a gripping hand tool with two hinged arms and (usually) serrated jaws', 'name': 'pliers'}, {'frequency': 'r', 'synset': 'plow.n.01', 'synonyms': ['plow_(farm_equipment)', 'plough_(farm_equipment)'], 'id': 822, 'def': 'a farm tool having one or more heavy blades to break the soil and cut a furrow prior to sowing', 'name': 'plow_(farm_equipment)'}, {'frequency': 'r', 'synset': 'plume.n.02', 'synonyms': ['plume'], 'id': 823, 'def': 'a feather or cluster of feathers worn as an ornament', 'name': 'plume'}, {'frequency': 'r', 'synset': 'pocket_watch.n.01', 'synonyms': ['pocket_watch'], 'id': 824, 'def': 'a watch that is carried in a small watch pocket', 'name': 'pocket_watch'}, {'frequency': 'c', 'synset': 'pocketknife.n.01', 'synonyms': ['pocketknife'], 'id': 825, 'def': 'a knife with a blade that folds into the handle; suitable for carrying in the pocket', 'name': 'pocketknife'}, {'frequency': 'c', 'synset': 'poker.n.01', 'synonyms': ['poker_(fire_stirring_tool)', 'stove_poker', 'fire_hook'], 'id': 826, 'def': 'fire iron consisting of a metal rod with a handle; used to stir a fire', 'name': 'poker_(fire_stirring_tool)'}, {'frequency': 'f', 'synset': 'pole.n.01', 'synonyms': ['pole', 'post'], 'id': 827, 'def': 'a long (usually round) rod of wood or metal or plastic', 'name': 'pole'}, {'frequency': 'f', 'synset': 'polo_shirt.n.01', 'synonyms': ['polo_shirt', 'sport_shirt'], 'id': 828, 'def': 'a shirt with short sleeves designed for comfort and casual wear', 'name': 'polo_shirt'}, {'frequency': 'r', 'synset': 'poncho.n.01', 'synonyms': ['poncho'], 'id': 829, 'def': 'a blanket-like cloak with a hole in the center for the head', 'name': 'poncho'}, {'frequency': 'c', 'synset': 'pony.n.05', 'synonyms': ['pony'], 'id': 830, 'def': 'any of various breeds of small gentle horses usually less than five feet high at the shoulder', 'name': 'pony'}, {'frequency': 'r', 'synset': 'pool_table.n.01', 'synonyms': ['pool_table', 'billiard_table', 'snooker_table'], 'id': 831, 'def': 'game equipment consisting of a heavy table on which pool is played', 'name': 'pool_table'}, {'frequency': 'f', 'synset': 'pop.n.02', 'synonyms': ['pop_(soda)', 'soda_(pop)', 'tonic', 'soft_drink'], 'id': 832, 'def': 'a sweet drink containing carbonated water and flavoring', 'name': 'pop_(soda)'}, {'frequency': 'c', 'synset': 'postbox.n.01', 'synonyms': ['postbox_(public)', 'mailbox_(public)'], 'id': 833, 'def': 'public box for deposit of mail', 'name': 'postbox_(public)'}, {'frequency': 'c', 'synset': 'postcard.n.01', 'synonyms': ['postcard', 'postal_card', 'mailing-card'], 'id': 834, 'def': 'a card for sending messages by post without an envelope', 'name': 'postcard'}, {'frequency': 'f', 'synset': 'poster.n.01', 'synonyms': ['poster', 'placard'], 'id': 835, 'def': 'a sign posted in a public place as an advertisement', 'name': 'poster'}, {'frequency': 'f', 'synset': 'pot.n.01', 'synonyms': ['pot'], 'id': 836, 'def': 'metal or earthenware cooking vessel that is usually round and deep; often has a handle and lid', 'name': 'pot'}, {'frequency': 'f', 'synset': 'pot.n.04', 'synonyms': ['flowerpot'], 'id': 837, 'def': 'a container in which plants are cultivated', 'name': 'flowerpot'}, {'frequency': 'f', 'synset': 'potato.n.01', 'synonyms': ['potato'], 'id': 838, 'def': 'an edible tuber native to South America', 'name': 'potato'}, {'frequency': 'c', 'synset': 'potholder.n.01', 'synonyms': ['potholder'], 'id': 839, 'def': 'an insulated pad for holding hot pots', 'name': 'potholder'}, {'frequency': 'c', 'synset': 'pottery.n.01', 'synonyms': ['pottery', 'clayware'], 'id': 840, 'def': 'ceramic ware made from clay and baked in a kiln', 'name': 'pottery'}, {'frequency': 'c', 'synset': 'pouch.n.01', 'synonyms': ['pouch'], 'id': 841, 'def': 'a small or medium size container for holding or carrying things', 'name': 'pouch'}, {'frequency': 'c', 'synset': 'power_shovel.n.01', 'synonyms': ['power_shovel', 'excavator', 'digger'], 'id': 842, 'def': 'a machine for excavating', 'name': 'power_shovel'}, {'frequency': 'c', 'synset': 'prawn.n.01', 'synonyms': ['prawn', 'shrimp'], 'id': 843, 'def': 'any of various edible decapod crustaceans', 'name': 'prawn'}, {'frequency': 'c', 'synset': 'pretzel.n.01', 'synonyms': ['pretzel'], 'id': 844, 'def': 'glazed and salted cracker typically in the shape of a loose knot', 'name': 'pretzel'}, {'frequency': 'f', 'synset': 'printer.n.03', 'synonyms': ['printer', 'printing_machine'], 'id': 845, 'def': 'a machine that prints', 'name': 'printer'}, {'frequency': 'c', 'synset': 'projectile.n.01', 'synonyms': ['projectile_(weapon)', 'missile'], 'id': 846, 'def': 'a weapon that is forcibly thrown or projected at a targets', 'name': 'projectile_(weapon)'}, {'frequency': 'c', 'synset': 'projector.n.02', 'synonyms': ['projector'], 'id': 847, 'def': 'an optical instrument that projects an enlarged image onto a screen', 'name': 'projector'}, {'frequency': 'f', 'synset': 'propeller.n.01', 'synonyms': ['propeller', 'propellor'], 'id': 848, 'def': 'a mechanical device that rotates to push against air or water', 'name': 'propeller'}, {'frequency': 'r', 'synset': 'prune.n.01', 'synonyms': ['prune'], 'id': 849, 'def': 'dried plum', 'name': 'prune'}, {'frequency': 'r', 'synset': 'pudding.n.01', 'synonyms': ['pudding'], 'id': 850, 'def': 'any of various soft thick unsweetened baked dishes', 'name': 'pudding'}, {'frequency': 'r', 'synset': 'puffer.n.02', 'synonyms': ['puffer_(fish)', 'pufferfish', 'blowfish', 'globefish'], 'id': 851, 'def': 'fishes whose elongated spiny body can inflate itself with water or air to form a globe', 'name': 'puffer_(fish)'}, {'frequency': 'r', 'synset': 'puffin.n.01', 'synonyms': ['puffin'], 'id': 852, 'def': 'seabirds having short necks and brightly colored compressed bills', 'name': 'puffin'}, {'frequency': 'r', 'synset': 'pug.n.01', 'synonyms': ['pug-dog'], 'id': 853, 'def': 'small compact smooth-coated breed of Asiatic origin having a tightly curled tail and broad flat wrinkled muzzle', 'name': 'pug-dog'}, {'frequency': 'c', 'synset': 'pumpkin.n.02', 'synonyms': ['pumpkin'], 'id': 854, 'def': 'usually large pulpy deep-yellow round fruit of the squash family maturing in late summer or early autumn', 'name': 'pumpkin'}, {'frequency': 'r', 'synset': 'punch.n.03', 'synonyms': ['puncher'], 'id': 855, 'def': 'a tool for making holes or indentations', 'name': 'puncher'}, {'frequency': 'r', 'synset': 'puppet.n.01', 'synonyms': ['puppet', 'marionette'], 'id': 856, 'def': 'a small figure of a person operated from above with strings by a puppeteer', 'name': 'puppet'}, {'frequency': 'c', 'synset': 'puppy.n.01', 'synonyms': ['puppy'], 'id': 857, 'def': 'a young dog', 'name': 'puppy'}, {'frequency': 'r', 'synset': 'quesadilla.n.01', 'synonyms': ['quesadilla'], 'id': 858, 'def': 'a tortilla that is filled with cheese and heated', 'name': 'quesadilla'}, {'frequency': 'r', 'synset': 'quiche.n.02', 'synonyms': ['quiche'], 'id': 859, 'def': 'a tart filled with rich unsweetened custard; often contains other ingredients (as cheese or ham or seafood or vegetables)', 'name': 'quiche'}, {'frequency': 'f', 'synset': 'quilt.n.01', 'synonyms': ['quilt', 'comforter'], 'id': 860, 'def': 'bedding made of two layers of cloth filled with stuffing and stitched together', 'name': 'quilt'}, {'frequency': 'c', 'synset': 'rabbit.n.01', 'synonyms': ['rabbit'], 'id': 861, 'def': 'any of various burrowing animals of the family Leporidae having long ears and short tails', 'name': 'rabbit'}, {'frequency': 'r', 'synset': 'racer.n.02', 'synonyms': ['race_car', 'racing_car'], 'id': 862, 'def': 'a fast car that competes in races', 'name': 'race_car'}, {'frequency': 'c', 'synset': 'racket.n.04', 'synonyms': ['racket', 'racquet'], 'id': 863, 'def': 'a sports implement used to strike a ball in various games', 'name': 'racket'}, {'frequency': 'r', 'synset': 'radar.n.01', 'synonyms': ['radar'], 'id': 864, 'def': 'measuring instrument in which the echo of a pulse of microwave radiation is used to detect and locate distant objects', 'name': 'radar'}, {'frequency': 'f', 'synset': 'radiator.n.03', 'synonyms': ['radiator'], 'id': 865, 'def': 'a mechanism consisting of a metal honeycomb through which hot fluids circulate', 'name': 'radiator'}, {'frequency': 'c', 'synset': 'radio_receiver.n.01', 'synonyms': ['radio_receiver', 'radio_set', 'radio', 'tuner_(radio)'], 'id': 866, 'def': 'an electronic receiver that detects and demodulates and amplifies transmitted radio signals', 'name': 'radio_receiver'}, {'frequency': 'c', 'synset': 'radish.n.03', 'synonyms': ['radish', 'daikon'], 'id': 867, 'def': 'pungent edible root of any of various cultivated radish plants', 'name': 'radish'}, {'frequency': 'c', 'synset': 'raft.n.01', 'synonyms': ['raft'], 'id': 868, 'def': 'a flat float (usually made of logs or planks) that can be used for transport or as a platform for swimmers', 'name': 'raft'}, {'frequency': 'r', 'synset': 'rag_doll.n.01', 'synonyms': ['rag_doll'], 'id': 869, 'def': 'a cloth doll that is stuffed and (usually) painted', 'name': 'rag_doll'}, {'frequency': 'c', 'synset': 'raincoat.n.01', 'synonyms': ['raincoat', 'waterproof_jacket'], 'id': 870, 'def': 'a water-resistant coat', 'name': 'raincoat'}, {'frequency': 'c', 'synset': 'ram.n.05', 'synonyms': ['ram_(animal)'], 'id': 871, 'def': 'uncastrated adult male sheep', 'name': 'ram_(animal)'}, {'frequency': 'c', 'synset': 'raspberry.n.02', 'synonyms': ['raspberry'], 'id': 872, 'def': 'red or black edible aggregate berries usually smaller than the related blackberries', 'name': 'raspberry'}, {'frequency': 'r', 'synset': 'rat.n.01', 'synonyms': ['rat'], 'id': 873, 'def': 'any of various long-tailed rodents similar to but larger than a mouse', 'name': 'rat'}, {'frequency': 'c', 'synset': 'razorblade.n.01', 'synonyms': ['razorblade'], 'id': 874, 'def': 'a blade that has very sharp edge', 'name': 'razorblade'}, {'frequency': 'c', 'synset': 'reamer.n.01', 'synonyms': ['reamer_(juicer)', 'juicer', 'juice_reamer'], 'id': 875, 'def': 'a squeezer with a conical ridged center that is used for squeezing juice from citrus fruit', 'name': 'reamer_(juicer)'}, {'frequency': 'f', 'synset': 'rearview_mirror.n.01', 'synonyms': ['rearview_mirror'], 'id': 876, 'def': 'vehicle mirror (side or rearview)', 'name': 'rearview_mirror'}, {'frequency': 'c', 'synset': 'receipt.n.02', 'synonyms': ['receipt'], 'id': 877, 'def': 'an acknowledgment (usually tangible) that payment has been made', 'name': 'receipt'}, {'frequency': 'c', 'synset': 'recliner.n.01', 'synonyms': ['recliner', 'reclining_chair', 'lounger_(chair)'], 'id': 878, 'def': 'an armchair whose back can be lowered and foot can be raised to allow the sitter to recline in it', 'name': 'recliner'}, {'frequency': 'c', 'synset': 'record_player.n.01', 'synonyms': ['record_player', 'phonograph_(record_player)', 'turntable'], 'id': 879, 'def': 'machine in which rotating records cause a stylus to vibrate and the vibrations are amplified acoustically or electronically', 'name': 'record_player'}, {'frequency': 'f', 'synset': 'reflector.n.01', 'synonyms': ['reflector'], 'id': 880, 'def': 'device that reflects light, radiation, etc.', 'name': 'reflector'}, {'frequency': 'f', 'synset': 'remote_control.n.01', 'synonyms': ['remote_control'], 'id': 881, 'def': 'a device that can be used to control a machine or apparatus from a distance', 'name': 'remote_control'}, {'frequency': 'c', 'synset': 'rhinoceros.n.01', 'synonyms': ['rhinoceros'], 'id': 882, 'def': 'massive powerful herbivorous odd-toed ungulate of southeast Asia and Africa having very thick skin and one or two horns on the snout', 'name': 'rhinoceros'}, {'frequency': 'r', 'synset': 'rib.n.03', 'synonyms': ['rib_(food)'], 'id': 883, 'def': 'cut of meat including one or more ribs', 'name': 'rib_(food)'}, {'frequency': 'c', 'synset': 'rifle.n.01', 'synonyms': ['rifle'], 'id': 884, 'def': 'a shoulder firearm with a long barrel', 'name': 'rifle'}, {'frequency': 'f', 'synset': 'ring.n.08', 'synonyms': ['ring'], 'id': 885, 'def': 'jewelry consisting of a circlet of precious metal (often set with jewels) worn on the finger', 'name': 'ring'}, {'frequency': 'r', 'synset': 'river_boat.n.01', 'synonyms': ['river_boat'], 'id': 886, 'def': 'a boat used on rivers or to ply a river', 'name': 'river_boat'}, {'frequency': 'r', 'synset': 'road_map.n.02', 'synonyms': ['road_map'], 'id': 887, 'def': '(NOT A ROAD) a MAP showing roads (for automobile travel)', 'name': 'road_map'}, {'frequency': 'c', 'synset': 'robe.n.01', 'synonyms': ['robe'], 'id': 888, 'def': 'any loose flowing garment', 'name': 'robe'}, {'frequency': 'c', 'synset': 'rocking_chair.n.01', 'synonyms': ['rocking_chair'], 'id': 889, 'def': 'a chair mounted on rockers', 'name': 'rocking_chair'}, {'frequency': 'r', 'synset': 'rodent.n.01', 'synonyms': ['rodent'], 'id': 890, 'def': 'relatively small placental mammals having a single pair of constantly growing incisor teeth specialized for gnawing', 'name': 'rodent'}, {'frequency': 'r', 'synset': 'roller_skate.n.01', 'synonyms': ['roller_skate'], 'id': 891, 'def': 'a shoe with pairs of rollers (small hard wheels) fixed to the sole', 'name': 'roller_skate'}, {'frequency': 'r', 'synset': 'rollerblade.n.01', 'synonyms': ['Rollerblade'], 'id': 892, 'def': 'an in-line variant of a roller skate', 'name': 'Rollerblade'}, {'frequency': 'c', 'synset': 'rolling_pin.n.01', 'synonyms': ['rolling_pin'], 'id': 893, 'def': 'utensil consisting of a cylinder (usually of wood) with a handle at each end; used to roll out dough', 'name': 'rolling_pin'}, {'frequency': 'r', 'synset': 'root_beer.n.01', 'synonyms': ['root_beer'], 'id': 894, 'def': 'carbonated drink containing extracts of roots and herbs', 'name': 'root_beer'}, {'frequency': 'c', 'synset': 'router.n.02', 'synonyms': ['router_(computer_equipment)'], 'id': 895, 'def': 'a device that forwards data packets between computer networks', 'name': 'router_(computer_equipment)'}, {'frequency': 'f', 'synset': 'rubber_band.n.01', 'synonyms': ['rubber_band', 'elastic_band'], 'id': 896, 'def': 'a narrow band of elastic rubber used to hold things (such as papers) together', 'name': 'rubber_band'}, {'frequency': 'c', 'synset': 'runner.n.08', 'synonyms': ['runner_(carpet)'], 'id': 897, 'def': 'a long narrow carpet', 'name': 'runner_(carpet)'}, {'frequency': 'f', 'synset': 'sack.n.01', 'synonyms': ['plastic_bag', 'paper_bag'], 'id': 898, 'def': "a bag made of paper or plastic for holding customer's purchases", 'name': 'plastic_bag'}, {'frequency': 'f', 'synset': 'saddle.n.01', 'synonyms': ['saddle_(on_an_animal)'], 'id': 899, 'def': 'a seat for the rider of a horse or camel', 'name': 'saddle_(on_an_animal)'}, {'frequency': 'f', 'synset': 'saddle_blanket.n.01', 'synonyms': ['saddle_blanket', 'saddlecloth', 'horse_blanket'], 'id': 900, 'def': 'stable gear consisting of a blanket placed under the saddle', 'name': 'saddle_blanket'}, {'frequency': 'c', 'synset': 'saddlebag.n.01', 'synonyms': ['saddlebag'], 'id': 901, 'def': 'a large bag (or pair of bags) hung over a saddle', 'name': 'saddlebag'}, {'frequency': 'r', 'synset': 'safety_pin.n.01', 'synonyms': ['safety_pin'], 'id': 902, 'def': 'a pin in the form of a clasp; has a guard so the point of the pin will not stick the user', 'name': 'safety_pin'}, {'frequency': 'f', 'synset': 'sail.n.01', 'synonyms': ['sail'], 'id': 903, 'def': 'a large piece of fabric by means of which wind is used to propel a sailing vessel', 'name': 'sail'}, {'frequency': 'f', 'synset': 'salad.n.01', 'synonyms': ['salad'], 'id': 904, 'def': 'food mixtures either arranged on a plate or tossed and served with a moist dressing; usually consisting of or including greens', 'name': 'salad'}, {'frequency': 'r', 'synset': 'salad_plate.n.01', 'synonyms': ['salad_plate', 'salad_bowl'], 'id': 905, 'def': 'a plate or bowl for individual servings of salad', 'name': 'salad_plate'}, {'frequency': 'c', 'synset': 'salami.n.01', 'synonyms': ['salami'], 'id': 906, 'def': 'highly seasoned fatty sausage of pork and beef usually dried', 'name': 'salami'}, {'frequency': 'c', 'synset': 'salmon.n.01', 'synonyms': ['salmon_(fish)'], 'id': 907, 'def': 'any of various large food and game fishes of northern waters', 'name': 'salmon_(fish)'}, {'frequency': 'r', 'synset': 'salmon.n.03', 'synonyms': ['salmon_(food)'], 'id': 908, 'def': 'flesh of any of various marine or freshwater fish of the family Salmonidae', 'name': 'salmon_(food)'}, {'frequency': 'c', 'synset': 'salsa.n.01', 'synonyms': ['salsa'], 'id': 909, 'def': 'spicy sauce of tomatoes and onions and chili peppers to accompany Mexican foods', 'name': 'salsa'}, {'frequency': 'f', 'synset': 'saltshaker.n.01', 'synonyms': ['saltshaker'], 'id': 910, 'def': 'a shaker with a perforated top for sprinkling salt', 'name': 'saltshaker'}, {'frequency': 'f', 'synset': 'sandal.n.01', 'synonyms': ['sandal_(type_of_shoe)'], 'id': 911, 'def': 'a shoe consisting of a sole fastened by straps to the foot', 'name': 'sandal_(type_of_shoe)'}, {'frequency': 'f', 'synset': 'sandwich.n.01', 'synonyms': ['sandwich'], 'id': 912, 'def': 'two (or more) slices of bread with a filling between them', 'name': 'sandwich'}, {'frequency': 'r', 'synset': 'satchel.n.01', 'synonyms': ['satchel'], 'id': 913, 'def': 'luggage consisting of a small case with a flat bottom and (usually) a shoulder strap', 'name': 'satchel'}, {'frequency': 'r', 'synset': 'saucepan.n.01', 'synonyms': ['saucepan'], 'id': 914, 'def': 'a deep pan with a handle; used for stewing or boiling', 'name': 'saucepan'}, {'frequency': 'f', 'synset': 'saucer.n.02', 'synonyms': ['saucer'], 'id': 915, 'def': 'a small shallow dish for holding a cup at the table', 'name': 'saucer'}, {'frequency': 'f', 'synset': 'sausage.n.01', 'synonyms': ['sausage'], 'id': 916, 'def': 'highly seasoned minced meat stuffed in casings', 'name': 'sausage'}, {'frequency': 'r', 'synset': 'sawhorse.n.01', 'synonyms': ['sawhorse', 'sawbuck'], 'id': 917, 'def': 'a framework for holding wood that is being sawed', 'name': 'sawhorse'}, {'frequency': 'r', 'synset': 'sax.n.02', 'synonyms': ['saxophone'], 'id': 918, 'def': "a wind instrument with a `J'-shaped form typically made of brass", 'name': 'saxophone'}, {'frequency': 'f', 'synset': 'scale.n.07', 'synonyms': ['scale_(measuring_instrument)'], 'id': 919, 'def': 'a measuring instrument for weighing; shows amount of mass', 'name': 'scale_(measuring_instrument)'}, {'frequency': 'r', 'synset': 'scarecrow.n.01', 'synonyms': ['scarecrow', 'strawman'], 'id': 920, 'def': 'an effigy in the shape of a man to frighten birds away from seeds', 'name': 'scarecrow'}, {'frequency': 'f', 'synset': 'scarf.n.01', 'synonyms': ['scarf'], 'id': 921, 'def': 'a garment worn around the head or neck or shoulders for warmth or decoration', 'name': 'scarf'}, {'frequency': 'c', 'synset': 'school_bus.n.01', 'synonyms': ['school_bus'], 'id': 922, 'def': 'a bus used to transport children to or from school', 'name': 'school_bus'}, {'frequency': 'f', 'synset': 'scissors.n.01', 'synonyms': ['scissors'], 'id': 923, 'def': 'a tool having two crossed pivoting blades with looped handles', 'name': 'scissors'}, {'frequency': 'f', 'synset': 'scoreboard.n.01', 'synonyms': ['scoreboard'], 'id': 924, 'def': 'a large board for displaying the score of a contest (and some other information)', 'name': 'scoreboard'}, {'frequency': 'r', 'synset': 'scraper.n.01', 'synonyms': ['scraper'], 'id': 925, 'def': 'any of various hand tools for scraping', 'name': 'scraper'}, {'frequency': 'c', 'synset': 'screwdriver.n.01', 'synonyms': ['screwdriver'], 'id': 926, 'def': 'a hand tool for driving screws; has a tip that fits into the head of a screw', 'name': 'screwdriver'}, {'frequency': 'f', 'synset': 'scrub_brush.n.01', 'synonyms': ['scrubbing_brush'], 'id': 927, 'def': 'a brush with short stiff bristles for heavy cleaning', 'name': 'scrubbing_brush'}, {'frequency': 'c', 'synset': 'sculpture.n.01', 'synonyms': ['sculpture'], 'id': 928, 'def': 'a three-dimensional work of art', 'name': 'sculpture'}, {'frequency': 'c', 'synset': 'seabird.n.01', 'synonyms': ['seabird', 'seafowl'], 'id': 929, 'def': 'a bird that frequents coastal waters and the open ocean: gulls; pelicans; gannets; cormorants; albatrosses; petrels; etc.', 'name': 'seabird'}, {'frequency': 'c', 'synset': 'seahorse.n.02', 'synonyms': ['seahorse'], 'id': 930, 'def': 'small fish with horse-like heads bent sharply downward and curled tails', 'name': 'seahorse'}, {'frequency': 'r', 'synset': 'seaplane.n.01', 'synonyms': ['seaplane', 'hydroplane'], 'id': 931, 'def': 'an airplane that can land on or take off from water', 'name': 'seaplane'}, {'frequency': 'c', 'synset': 'seashell.n.01', 'synonyms': ['seashell'], 'id': 932, 'def': 'the shell of a marine organism', 'name': 'seashell'}, {'frequency': 'c', 'synset': 'sewing_machine.n.01', 'synonyms': ['sewing_machine'], 'id': 933, 'def': 'a textile machine used as a home appliance for sewing', 'name': 'sewing_machine'}, {'frequency': 'c', 'synset': 'shaker.n.03', 'synonyms': ['shaker'], 'id': 934, 'def': 'a container in which something can be shaken', 'name': 'shaker'}, {'frequency': 'c', 'synset': 'shampoo.n.01', 'synonyms': ['shampoo'], 'id': 935, 'def': 'cleansing agent consisting of soaps or detergents used for washing the hair', 'name': 'shampoo'}, {'frequency': 'c', 'synset': 'shark.n.01', 'synonyms': ['shark'], 'id': 936, 'def': 'typically large carnivorous fishes with sharpe teeth', 'name': 'shark'}, {'frequency': 'r', 'synset': 'sharpener.n.01', 'synonyms': ['sharpener'], 'id': 937, 'def': 'any implement that is used to make something (an edge or a point) sharper', 'name': 'sharpener'}, {'frequency': 'r', 'synset': 'sharpie.n.03', 'synonyms': ['Sharpie'], 'id': 938, 'def': 'a pen with indelible ink that will write on any surface', 'name': 'Sharpie'}, {'frequency': 'r', 'synset': 'shaver.n.03', 'synonyms': ['shaver_(electric)', 'electric_shaver', 'electric_razor'], 'id': 939, 'def': 'a razor powered by an electric motor', 'name': 'shaver_(electric)'}, {'frequency': 'c', 'synset': 'shaving_cream.n.01', 'synonyms': ['shaving_cream', 'shaving_soap'], 'id': 940, 'def': 'toiletry consisting that forms a rich lather for softening the beard before shaving', 'name': 'shaving_cream'}, {'frequency': 'r', 'synset': 'shawl.n.01', 'synonyms': ['shawl'], 'id': 941, 'def': 'cloak consisting of an oblong piece of cloth used to cover the head and shoulders', 'name': 'shawl'}, {'frequency': 'r', 'synset': 'shears.n.01', 'synonyms': ['shears'], 'id': 942, 'def': 'large scissors with strong blades', 'name': 'shears'}, {'frequency': 'f', 'synset': 'sheep.n.01', 'synonyms': ['sheep'], 'id': 943, 'def': 'woolly usually horned ruminant mammal related to the goat', 'name': 'sheep'}, {'frequency': 'r', 'synset': 'shepherd_dog.n.01', 'synonyms': ['shepherd_dog', 'sheepdog'], 'id': 944, 'def': 'any of various usually long-haired breeds of dog reared to herd and guard sheep', 'name': 'shepherd_dog'}, {'frequency': 'r', 'synset': 'sherbert.n.01', 'synonyms': ['sherbert', 'sherbet'], 'id': 945, 'def': 'a frozen dessert made primarily of fruit juice and sugar', 'name': 'sherbert'}, {'frequency': 'c', 'synset': 'shield.n.02', 'synonyms': ['shield'], 'id': 946, 'def': 'armor carried on the arm to intercept blows', 'name': 'shield'}, {'frequency': 'f', 'synset': 'shirt.n.01', 'synonyms': ['shirt'], 'id': 947, 'def': 'a garment worn on the upper half of the body', 'name': 'shirt'}, {'frequency': 'f', 'synset': 'shoe.n.01', 'synonyms': ['shoe', 'sneaker_(type_of_shoe)', 'tennis_shoe'], 'id': 948, 'def': 'common footwear covering the foot', 'name': 'shoe'}, {'frequency': 'f', 'synset': 'shopping_bag.n.01', 'synonyms': ['shopping_bag'], 'id': 949, 'def': 'a bag made of plastic or strong paper (often with handles); used to transport goods after shopping', 'name': 'shopping_bag'}, {'frequency': 'c', 'synset': 'shopping_cart.n.01', 'synonyms': ['shopping_cart'], 'id': 950, 'def': 'a handcart that holds groceries or other goods while shopping', 'name': 'shopping_cart'}, {'frequency': 'f', 'synset': 'short_pants.n.01', 'synonyms': ['short_pants', 'shorts_(clothing)', 'trunks_(clothing)'], 'id': 951, 'def': 'trousers that end at or above the knee', 'name': 'short_pants'}, {'frequency': 'r', 'synset': 'shot_glass.n.01', 'synonyms': ['shot_glass'], 'id': 952, 'def': 'a small glass adequate to hold a single swallow of whiskey', 'name': 'shot_glass'}, {'frequency': 'f', 'synset': 'shoulder_bag.n.01', 'synonyms': ['shoulder_bag'], 'id': 953, 'def': 'a large handbag that can be carried by a strap looped over the shoulder', 'name': 'shoulder_bag'}, {'frequency': 'c', 'synset': 'shovel.n.01', 'synonyms': ['shovel'], 'id': 954, 'def': 'a hand tool for lifting loose material such as snow, dirt, etc.', 'name': 'shovel'}, {'frequency': 'f', 'synset': 'shower.n.01', 'synonyms': ['shower_head'], 'id': 955, 'def': 'a plumbing fixture that sprays water over you', 'name': 'shower_head'}, {'frequency': 'r', 'synset': 'shower_cap.n.01', 'synonyms': ['shower_cap'], 'id': 956, 'def': 'a tight cap worn to keep hair dry while showering', 'name': 'shower_cap'}, {'frequency': 'f', 'synset': 'shower_curtain.n.01', 'synonyms': ['shower_curtain'], 'id': 957, 'def': 'a curtain that keeps water from splashing out of the shower area', 'name': 'shower_curtain'}, {'frequency': 'r', 'synset': 'shredder.n.01', 'synonyms': ['shredder_(for_paper)'], 'id': 958, 'def': 'a device that shreds documents', 'name': 'shredder_(for_paper)'}, {'frequency': 'f', 'synset': 'signboard.n.01', 'synonyms': ['signboard'], 'id': 959, 'def': 'structure displaying a board on which advertisements can be posted', 'name': 'signboard'}, {'frequency': 'c', 'synset': 'silo.n.01', 'synonyms': ['silo'], 'id': 960, 'def': 'a cylindrical tower used for storing goods', 'name': 'silo'}, {'frequency': 'f', 'synset': 'sink.n.01', 'synonyms': ['sink'], 'id': 961, 'def': 'plumbing fixture consisting of a water basin fixed to a wall or floor and having a drainpipe', 'name': 'sink'}, {'frequency': 'f', 'synset': 'skateboard.n.01', 'synonyms': ['skateboard'], 'id': 962, 'def': 'a board with wheels that is ridden in a standing or crouching position and propelled by foot', 'name': 'skateboard'}, {'frequency': 'c', 'synset': 'skewer.n.01', 'synonyms': ['skewer'], 'id': 963, 'def': 'a long pin for holding meat in position while it is being roasted', 'name': 'skewer'}, {'frequency': 'f', 'synset': 'ski.n.01', 'synonyms': ['ski'], 'id': 964, 'def': 'sports equipment for skiing on snow', 'name': 'ski'}, {'frequency': 'f', 'synset': 'ski_boot.n.01', 'synonyms': ['ski_boot'], 'id': 965, 'def': 'a stiff boot that is fastened to a ski with a ski binding', 'name': 'ski_boot'}, {'frequency': 'f', 'synset': 'ski_parka.n.01', 'synonyms': ['ski_parka', 'ski_jacket'], 'id': 966, 'def': 'a parka to be worn while skiing', 'name': 'ski_parka'}, {'frequency': 'f', 'synset': 'ski_pole.n.01', 'synonyms': ['ski_pole'], 'id': 967, 'def': 'a pole with metal points used as an aid in skiing', 'name': 'ski_pole'}, {'frequency': 'f', 'synset': 'skirt.n.02', 'synonyms': ['skirt'], 'id': 968, 'def': 'a garment hanging from the waist; worn mainly by girls and women', 'name': 'skirt'}, {'frequency': 'r', 'synset': 'skullcap.n.01', 'synonyms': ['skullcap'], 'id': 969, 'def': 'rounded brimless cap fitting the crown of the head', 'name': 'skullcap'}, {'frequency': 'c', 'synset': 'sled.n.01', 'synonyms': ['sled', 'sledge', 'sleigh'], 'id': 970, 'def': 'a vehicle or flat object for transportation over snow by sliding or pulled by dogs, etc.', 'name': 'sled'}, {'frequency': 'c', 'synset': 'sleeping_bag.n.01', 'synonyms': ['sleeping_bag'], 'id': 971, 'def': 'large padded bag designed to be slept in outdoors', 'name': 'sleeping_bag'}, {'frequency': 'r', 'synset': 'sling.n.05', 'synonyms': ['sling_(bandage)', 'triangular_bandage'], 'id': 972, 'def': 'bandage to support an injured forearm; slung over the shoulder or neck', 'name': 'sling_(bandage)'}, {'frequency': 'c', 'synset': 'slipper.n.01', 'synonyms': ['slipper_(footwear)', 'carpet_slipper_(footwear)'], 'id': 973, 'def': 'low footwear that can be slipped on and off easily; usually worn indoors', 'name': 'slipper_(footwear)'}, {'frequency': 'r', 'synset': 'smoothie.n.02', 'synonyms': ['smoothie'], 'id': 974, 'def': 'a thick smooth drink consisting of fresh fruit pureed with ice cream or yoghurt or milk', 'name': 'smoothie'}, {'frequency': 'r', 'synset': 'snake.n.01', 'synonyms': ['snake', 'serpent'], 'id': 975, 'def': 'limbless scaly elongate reptile; some are venomous', 'name': 'snake'}, {'frequency': 'f', 'synset': 'snowboard.n.01', 'synonyms': ['snowboard'], 'id': 976, 'def': 'a board that resembles a broad ski or a small surfboard; used in a standing position to slide down snow-covered slopes', 'name': 'snowboard'}, {'frequency': 'c', 'synset': 'snowman.n.01', 'synonyms': ['snowman'], 'id': 977, 'def': 'a figure of a person made of packed snow', 'name': 'snowman'}, {'frequency': 'c', 'synset': 'snowmobile.n.01', 'synonyms': ['snowmobile'], 'id': 978, 'def': 'tracked vehicle for travel on snow having skis in front', 'name': 'snowmobile'}, {'frequency': 'f', 'synset': 'soap.n.01', 'synonyms': ['soap'], 'id': 979, 'def': 'a cleansing agent made from the salts of vegetable or animal fats', 'name': 'soap'}, {'frequency': 'f', 'synset': 'soccer_ball.n.01', 'synonyms': ['soccer_ball'], 'id': 980, 'def': "an inflated ball used in playing soccer (called `football' outside of the United States)", 'name': 'soccer_ball'}, {'frequency': 'f', 'synset': 'sock.n.01', 'synonyms': ['sock'], 'id': 981, 'def': 'cloth covering for the foot; worn inside the shoe; reaches to between the ankle and the knee', 'name': 'sock'}, {'frequency': 'f', 'synset': 'sofa.n.01', 'synonyms': ['sofa', 'couch', 'lounge'], 'id': 982, 'def': 'an upholstered seat for more than one person', 'name': 'sofa'}, {'frequency': 'r', 'synset': 'softball.n.01', 'synonyms': ['softball'], 'id': 983, 'def': 'ball used in playing softball', 'name': 'softball'}, {'frequency': 'c', 'synset': 'solar_array.n.01', 'synonyms': ['solar_array', 'solar_battery', 'solar_panel'], 'id': 984, 'def': 'electrical device consisting of a large array of connected solar cells', 'name': 'solar_array'}, {'frequency': 'r', 'synset': 'sombrero.n.02', 'synonyms': ['sombrero'], 'id': 985, 'def': 'a straw hat with a tall crown and broad brim; worn in American southwest and in Mexico', 'name': 'sombrero'}, {'frequency': 'f', 'synset': 'soup.n.01', 'synonyms': ['soup'], 'id': 986, 'def': 'liquid food especially of meat or fish or vegetable stock often containing pieces of solid food', 'name': 'soup'}, {'frequency': 'r', 'synset': 'soup_bowl.n.01', 'synonyms': ['soup_bowl'], 'id': 987, 'def': 'a bowl for serving soup', 'name': 'soup_bowl'}, {'frequency': 'c', 'synset': 'soupspoon.n.01', 'synonyms': ['soupspoon'], 'id': 988, 'def': 'a spoon with a rounded bowl for eating soup', 'name': 'soupspoon'}, {'frequency': 'c', 'synset': 'sour_cream.n.01', 'synonyms': ['sour_cream', 'soured_cream'], 'id': 989, 'def': 'soured light cream', 'name': 'sour_cream'}, {'frequency': 'r', 'synset': 'soya_milk.n.01', 'synonyms': ['soya_milk', 'soybean_milk', 'soymilk'], 'id': 990, 'def': 'a milk substitute containing soybean flour and water; used in some infant formulas and in making tofu', 'name': 'soya_milk'}, {'frequency': 'r', 'synset': 'space_shuttle.n.01', 'synonyms': ['space_shuttle'], 'id': 991, 'def': "a reusable spacecraft with wings for a controlled descent through the Earth's atmosphere", 'name': 'space_shuttle'}, {'frequency': 'r', 'synset': 'sparkler.n.02', 'synonyms': ['sparkler_(fireworks)'], 'id': 992, 'def': 'a firework that burns slowly and throws out a shower of sparks', 'name': 'sparkler_(fireworks)'}, {'frequency': 'f', 'synset': 'spatula.n.02', 'synonyms': ['spatula'], 'id': 993, 'def': 'a hand tool with a thin flexible blade used to mix or spread soft substances', 'name': 'spatula'}, {'frequency': 'r', 'synset': 'spear.n.01', 'synonyms': ['spear', 'lance'], 'id': 994, 'def': 'a long pointed rod used as a tool or weapon', 'name': 'spear'}, {'frequency': 'f', 'synset': 'spectacles.n.01', 'synonyms': ['spectacles', 'specs', 'eyeglasses', 'glasses'], 'id': 995, 'def': 'optical instrument consisting of a frame that holds a pair of lenses for correcting defective vision', 'name': 'spectacles'}, {'frequency': 'c', 'synset': 'spice_rack.n.01', 'synonyms': ['spice_rack'], 'id': 996, 'def': 'a rack for displaying containers filled with spices', 'name': 'spice_rack'}, {'frequency': 'c', 'synset': 'spider.n.01', 'synonyms': ['spider'], 'id': 997, 'def': 'predatory arachnid with eight legs, two poison fangs, two feelers, and usually two silk-spinning organs at the back end of the body', 'name': 'spider'}, {'frequency': 'r', 'synset': 'spiny_lobster.n.02', 'synonyms': ['crawfish', 'crayfish'], 'id': 998, 'def': 'large edible marine crustacean having a spiny carapace but lacking the large pincers of true lobsters', 'name': 'crawfish'}, {'frequency': 'c', 'synset': 'sponge.n.01', 'synonyms': ['sponge'], 'id': 999, 'def': 'a porous mass usable to absorb water typically used for cleaning', 'name': 'sponge'}, {'frequency': 'f', 'synset': 'spoon.n.01', 'synonyms': ['spoon'], 'id': 1000, 'def': 'a piece of cutlery with a shallow bowl-shaped container and a handle', 'name': 'spoon'}, {'frequency': 'c', 'synset': 'sportswear.n.01', 'synonyms': ['sportswear', 'athletic_wear', 'activewear'], 'id': 1001, 'def': 'attire worn for sport or for casual wear', 'name': 'sportswear'}, {'frequency': 'c', 'synset': 'spotlight.n.02', 'synonyms': ['spotlight'], 'id': 1002, 'def': 'a lamp that produces a strong beam of light to illuminate a restricted area; used to focus attention of a stage performer', 'name': 'spotlight'}, {'frequency': 'r', 'synset': 'squid.n.01', 'synonyms': ['squid_(food)', 'calamari', 'calamary'], 'id': 1003, 'def': '(Italian cuisine) squid prepared as food', 'name': 'squid_(food)'}, {'frequency': 'c', 'synset': 'squirrel.n.01', 'synonyms': ['squirrel'], 'id': 1004, 'def': 'a kind of arboreal rodent having a long bushy tail', 'name': 'squirrel'}, {'frequency': 'r', 'synset': 'stagecoach.n.01', 'synonyms': ['stagecoach'], 'id': 1005, 'def': 'a large coach-and-four formerly used to carry passengers and mail on regular routes between towns', 'name': 'stagecoach'}, {'frequency': 'c', 'synset': 'stapler.n.01', 'synonyms': ['stapler_(stapling_machine)'], 'id': 1006, 'def': 'a machine that inserts staples into sheets of paper in order to fasten them together', 'name': 'stapler_(stapling_machine)'}, {'frequency': 'c', 'synset': 'starfish.n.01', 'synonyms': ['starfish', 'sea_star'], 'id': 1007, 'def': 'echinoderms characterized by five arms extending from a central disk', 'name': 'starfish'}, {'frequency': 'f', 'synset': 'statue.n.01', 'synonyms': ['statue_(sculpture)'], 'id': 1008, 'def': 'a sculpture representing a human or animal', 'name': 'statue_(sculpture)'}, {'frequency': 'c', 'synset': 'steak.n.01', 'synonyms': ['steak_(food)'], 'id': 1009, 'def': 'a slice of meat cut from the fleshy part of an animal or large fish', 'name': 'steak_(food)'}, {'frequency': 'r', 'synset': 'steak_knife.n.01', 'synonyms': ['steak_knife'], 'id': 1010, 'def': 'a sharp table knife used in eating steak', 'name': 'steak_knife'}, {'frequency': 'f', 'synset': 'steering_wheel.n.01', 'synonyms': ['steering_wheel'], 'id': 1011, 'def': 'a handwheel that is used for steering', 'name': 'steering_wheel'}, {'frequency': 'r', 'synset': 'step_ladder.n.01', 'synonyms': ['stepladder'], 'id': 1012, 'def': 'a folding portable ladder hinged at the top', 'name': 'stepladder'}, {'frequency': 'c', 'synset': 'step_stool.n.01', 'synonyms': ['step_stool'], 'id': 1013, 'def': 'a stool that has one or two steps that fold under the seat', 'name': 'step_stool'}, {'frequency': 'c', 'synset': 'stereo.n.01', 'synonyms': ['stereo_(sound_system)'], 'id': 1014, 'def': 'electronic device for playing audio', 'name': 'stereo_(sound_system)'}, {'frequency': 'r', 'synset': 'stew.n.02', 'synonyms': ['stew'], 'id': 1015, 'def': 'food prepared by stewing especially meat or fish with vegetables', 'name': 'stew'}, {'frequency': 'r', 'synset': 'stirrer.n.02', 'synonyms': ['stirrer'], 'id': 1016, 'def': 'an implement used for stirring', 'name': 'stirrer'}, {'frequency': 'f', 'synset': 'stirrup.n.01', 'synonyms': ['stirrup'], 'id': 1017, 'def': "support consisting of metal loops into which rider's feet go", 'name': 'stirrup'}, {'frequency': 'f', 'synset': 'stool.n.01', 'synonyms': ['stool'], 'id': 1018, 'def': 'a simple seat without a back or arms', 'name': 'stool'}, {'frequency': 'f', 'synset': 'stop_sign.n.01', 'synonyms': ['stop_sign'], 'id': 1019, 'def': 'a traffic sign to notify drivers that they must come to a complete stop', 'name': 'stop_sign'}, {'frequency': 'f', 'synset': 'stoplight.n.01', 'synonyms': ['brake_light'], 'id': 1020, 'def': 'a red light on the rear of a motor vehicle that signals when the brakes are applied', 'name': 'brake_light'}, {'frequency': 'f', 'synset': 'stove.n.01', 'synonyms': ['stove', 'kitchen_stove', 'range_(kitchen_appliance)', 'kitchen_range', 'cooking_stove'], 'id': 1021, 'def': 'a kitchen appliance used for cooking food', 'name': 'stove'}, {'frequency': 'c', 'synset': 'strainer.n.01', 'synonyms': ['strainer'], 'id': 1022, 'def': 'a filter to retain larger pieces while smaller pieces and liquids pass through', 'name': 'strainer'}, {'frequency': 'f', 'synset': 'strap.n.01', 'synonyms': ['strap'], 'id': 1023, 'def': 'an elongated strip of material for binding things together or holding', 'name': 'strap'}, {'frequency': 'f', 'synset': 'straw.n.04', 'synonyms': ['straw_(for_drinking)', 'drinking_straw'], 'id': 1024, 'def': 'a thin paper or plastic tube used to suck liquids into the mouth', 'name': 'straw_(for_drinking)'}, {'frequency': 'f', 'synset': 'strawberry.n.01', 'synonyms': ['strawberry'], 'id': 1025, 'def': 'sweet fleshy red fruit', 'name': 'strawberry'}, {'frequency': 'f', 'synset': 'street_sign.n.01', 'synonyms': ['street_sign'], 'id': 1026, 'def': 'a sign visible from the street', 'name': 'street_sign'}, {'frequency': 'f', 'synset': 'streetlight.n.01', 'synonyms': ['streetlight', 'street_lamp'], 'id': 1027, 'def': 'a lamp supported on a lamppost; for illuminating a street', 'name': 'streetlight'}, {'frequency': 'r', 'synset': 'string_cheese.n.01', 'synonyms': ['string_cheese'], 'id': 1028, 'def': 'cheese formed in long strings twisted together', 'name': 'string_cheese'}, {'frequency': 'r', 'synset': 'stylus.n.02', 'synonyms': ['stylus'], 'id': 1029, 'def': 'a pointed tool for writing or drawing or engraving, including pens', 'name': 'stylus'}, {'frequency': 'r', 'synset': 'subwoofer.n.01', 'synonyms': ['subwoofer'], 'id': 1030, 'def': 'a loudspeaker that is designed to reproduce very low bass frequencies', 'name': 'subwoofer'}, {'frequency': 'r', 'synset': 'sugar_bowl.n.01', 'synonyms': ['sugar_bowl'], 'id': 1031, 'def': 'a dish in which sugar is served', 'name': 'sugar_bowl'}, {'frequency': 'r', 'synset': 'sugarcane.n.01', 'synonyms': ['sugarcane_(plant)'], 'id': 1032, 'def': 'juicy canes whose sap is a source of molasses and commercial sugar; fresh canes are sometimes chewed for the juice', 'name': 'sugarcane_(plant)'}, {'frequency': 'f', 'synset': 'suit.n.01', 'synonyms': ['suit_(clothing)'], 'id': 1033, 'def': 'a set of garments (usually including a jacket and trousers or skirt) for outerwear all of the same fabric and color', 'name': 'suit_(clothing)'}, {'frequency': 'c', 'synset': 'sunflower.n.01', 'synonyms': ['sunflower'], 'id': 1034, 'def': 'any plant of the genus Helianthus having large flower heads with dark disk florets and showy yellow rays', 'name': 'sunflower'}, {'frequency': 'f', 'synset': 'sunglasses.n.01', 'synonyms': ['sunglasses'], 'id': 1035, 'def': 'spectacles that are darkened or polarized to protect the eyes from the glare of the sun', 'name': 'sunglasses'}, {'frequency': 'c', 'synset': 'sunhat.n.01', 'synonyms': ['sunhat'], 'id': 1036, 'def': 'a hat with a broad brim that protects the face from direct exposure to the sun', 'name': 'sunhat'}, {'frequency': 'f', 'synset': 'surfboard.n.01', 'synonyms': ['surfboard'], 'id': 1037, 'def': 'a narrow buoyant board for riding surf', 'name': 'surfboard'}, {'frequency': 'c', 'synset': 'sushi.n.01', 'synonyms': ['sushi'], 'id': 1038, 'def': 'rice (with raw fish) wrapped in seaweed', 'name': 'sushi'}, {'frequency': 'c', 'synset': 'swab.n.02', 'synonyms': ['mop'], 'id': 1039, 'def': 'cleaning implement consisting of absorbent material fastened to a handle; for cleaning floors', 'name': 'mop'}, {'frequency': 'c', 'synset': 'sweat_pants.n.01', 'synonyms': ['sweat_pants'], 'id': 1040, 'def': 'loose-fitting trousers with elastic cuffs; worn by athletes', 'name': 'sweat_pants'}, {'frequency': 'c', 'synset': 'sweatband.n.02', 'synonyms': ['sweatband'], 'id': 1041, 'def': 'a band of material tied around the forehead or wrist to absorb sweat', 'name': 'sweatband'}, {'frequency': 'f', 'synset': 'sweater.n.01', 'synonyms': ['sweater'], 'id': 1042, 'def': 'a crocheted or knitted garment covering the upper part of the body', 'name': 'sweater'}, {'frequency': 'f', 'synset': 'sweatshirt.n.01', 'synonyms': ['sweatshirt'], 'id': 1043, 'def': 'cotton knit pullover with long sleeves worn during athletic activity', 'name': 'sweatshirt'}, {'frequency': 'c', 'synset': 'sweet_potato.n.02', 'synonyms': ['sweet_potato'], 'id': 1044, 'def': 'the edible tuberous root of the sweet potato vine', 'name': 'sweet_potato'}, {'frequency': 'f', 'synset': 'swimsuit.n.01', 'synonyms': ['swimsuit', 'swimwear', 'bathing_suit', 'swimming_costume', 'bathing_costume', 'swimming_trunks', 'bathing_trunks'], 'id': 1045, 'def': 'garment worn for swimming', 'name': 'swimsuit'}, {'frequency': 'c', 'synset': 'sword.n.01', 'synonyms': ['sword'], 'id': 1046, 'def': 'a cutting or thrusting weapon that has a long metal blade', 'name': 'sword'}, {'frequency': 'r', 'synset': 'syringe.n.01', 'synonyms': ['syringe'], 'id': 1047, 'def': 'a medical instrument used to inject or withdraw fluids', 'name': 'syringe'}, {'frequency': 'r', 'synset': 'tabasco.n.02', 'synonyms': ['Tabasco_sauce'], 'id': 1048, 'def': 'very spicy sauce (trade name Tabasco) made from fully-aged red peppers', 'name': 'Tabasco_sauce'}, {'frequency': 'r', 'synset': 'table-tennis_table.n.01', 'synonyms': ['table-tennis_table', 'ping-pong_table'], 'id': 1049, 'def': 'a table used for playing table tennis', 'name': 'table-tennis_table'}, {'frequency': 'f', 'synset': 'table.n.02', 'synonyms': ['table'], 'id': 1050, 'def': 'a piece of furniture having a smooth flat top that is usually supported by one or more vertical legs', 'name': 'table'}, {'frequency': 'c', 'synset': 'table_lamp.n.01', 'synonyms': ['table_lamp'], 'id': 1051, 'def': 'a lamp that sits on a table', 'name': 'table_lamp'}, {'frequency': 'f', 'synset': 'tablecloth.n.01', 'synonyms': ['tablecloth'], 'id': 1052, 'def': 'a covering spread over a dining table', 'name': 'tablecloth'}, {'frequency': 'r', 'synset': 'tachometer.n.01', 'synonyms': ['tachometer'], 'id': 1053, 'def': 'measuring instrument for indicating speed of rotation', 'name': 'tachometer'}, {'frequency': 'r', 'synset': 'taco.n.02', 'synonyms': ['taco'], 'id': 1054, 'def': 'a small tortilla cupped around a filling', 'name': 'taco'}, {'frequency': 'f', 'synset': 'tag.n.02', 'synonyms': ['tag'], 'id': 1055, 'def': 'a label associated with something for the purpose of identification or information', 'name': 'tag'}, {'frequency': 'f', 'synset': 'taillight.n.01', 'synonyms': ['taillight', 'rear_light'], 'id': 1056, 'def': 'lamp (usually red) mounted at the rear of a motor vehicle', 'name': 'taillight'}, {'frequency': 'r', 'synset': 'tambourine.n.01', 'synonyms': ['tambourine'], 'id': 1057, 'def': 'a shallow drum with a single drumhead and with metallic disks in the sides', 'name': 'tambourine'}, {'frequency': 'r', 'synset': 'tank.n.01', 'synonyms': ['army_tank', 'armored_combat_vehicle', 'armoured_combat_vehicle'], 'id': 1058, 'def': 'an enclosed armored military vehicle; has a cannon and moves on caterpillar treads', 'name': 'army_tank'}, {'frequency': 'f', 'synset': 'tank.n.02', 'synonyms': ['tank_(storage_vessel)', 'storage_tank'], 'id': 1059, 'def': 'a large (usually metallic) vessel for holding gases or liquids', 'name': 'tank_(storage_vessel)'}, {'frequency': 'f', 'synset': 'tank_top.n.01', 'synonyms': ['tank_top_(clothing)'], 'id': 1060, 'def': 'a tight-fitting sleeveless shirt with wide shoulder straps and low neck and no front opening', 'name': 'tank_top_(clothing)'}, {'frequency': 'f', 'synset': 'tape.n.01', 'synonyms': ['tape_(sticky_cloth_or_paper)'], 'id': 1061, 'def': 'a long thin piece of cloth or paper as used for binding or fastening', 'name': 'tape_(sticky_cloth_or_paper)'}, {'frequency': 'c', 'synset': 'tape.n.04', 'synonyms': ['tape_measure', 'measuring_tape'], 'id': 1062, 'def': 'measuring instrument consisting of a narrow strip (cloth or metal) marked in inches or centimeters and used for measuring lengths', 'name': 'tape_measure'}, {'frequency': 'c', 'synset': 'tapestry.n.02', 'synonyms': ['tapestry'], 'id': 1063, 'def': 'a heavy textile with a woven design; used for curtains and upholstery', 'name': 'tapestry'}, {'frequency': 'f', 'synset': 'tarpaulin.n.01', 'synonyms': ['tarp'], 'id': 1064, 'def': 'waterproofed canvas', 'name': 'tarp'}, {'frequency': 'c', 'synset': 'tartan.n.01', 'synonyms': ['tartan', 'plaid'], 'id': 1065, 'def': 'a cloth having a crisscross design', 'name': 'tartan'}, {'frequency': 'c', 'synset': 'tassel.n.01', 'synonyms': ['tassel'], 'id': 1066, 'def': 'adornment consisting of a bunch of cords fastened at one end', 'name': 'tassel'}, {'frequency': 'c', 'synset': 'tea_bag.n.01', 'synonyms': ['tea_bag'], 'id': 1067, 'def': 'a measured amount of tea in a bag for an individual serving of tea', 'name': 'tea_bag'}, {'frequency': 'c', 'synset': 'teacup.n.02', 'synonyms': ['teacup'], 'id': 1068, 'def': 'a cup from which tea is drunk', 'name': 'teacup'}, {'frequency': 'c', 'synset': 'teakettle.n.01', 'synonyms': ['teakettle'], 'id': 1069, 'def': 'kettle for boiling water to make tea', 'name': 'teakettle'}, {'frequency': 'f', 'synset': 'teapot.n.01', 'synonyms': ['teapot'], 'id': 1070, 'def': 'pot for brewing tea; usually has a spout and handle', 'name': 'teapot'}, {'frequency': 'f', 'synset': 'teddy.n.01', 'synonyms': ['teddy_bear'], 'id': 1071, 'def': "plaything consisting of a child's toy bear (usually plush and stuffed with soft materials)", 'name': 'teddy_bear'}, {'frequency': 'f', 'synset': 'telephone.n.01', 'synonyms': ['telephone', 'phone', 'telephone_set'], 'id': 1072, 'def': 'electronic device for communicating by voice over long distances (includes wired and wireless/cell phones)', 'name': 'telephone'}, {'frequency': 'c', 'synset': 'telephone_booth.n.01', 'synonyms': ['telephone_booth', 'phone_booth', 'call_box', 'telephone_box', 'telephone_kiosk'], 'id': 1073, 'def': 'booth for using a telephone', 'name': 'telephone_booth'}, {'frequency': 'f', 'synset': 'telephone_pole.n.01', 'synonyms': ['telephone_pole', 'telegraph_pole', 'telegraph_post'], 'id': 1074, 'def': 'tall pole supporting telephone wires', 'name': 'telephone_pole'}, {'frequency': 'r', 'synset': 'telephoto_lens.n.01', 'synonyms': ['telephoto_lens', 'zoom_lens'], 'id': 1075, 'def': 'a camera lens that magnifies the image', 'name': 'telephoto_lens'}, {'frequency': 'c', 'synset': 'television_camera.n.01', 'synonyms': ['television_camera', 'tv_camera'], 'id': 1076, 'def': 'television equipment for capturing and recording video', 'name': 'television_camera'}, {'frequency': 'f', 'synset': 'television_receiver.n.01', 'synonyms': ['television_set', 'tv', 'tv_set'], 'id': 1077, 'def': 'an electronic device that receives television signals and displays them on a screen', 'name': 'television_set'}, {'frequency': 'f', 'synset': 'tennis_ball.n.01', 'synonyms': ['tennis_ball'], 'id': 1078, 'def': 'ball about the size of a fist used in playing tennis', 'name': 'tennis_ball'}, {'frequency': 'f', 'synset': 'tennis_racket.n.01', 'synonyms': ['tennis_racket'], 'id': 1079, 'def': 'a racket used to play tennis', 'name': 'tennis_racket'}, {'frequency': 'r', 'synset': 'tequila.n.01', 'synonyms': ['tequila'], 'id': 1080, 'def': 'Mexican liquor made from fermented juices of an agave plant', 'name': 'tequila'}, {'frequency': 'c', 'synset': 'thermometer.n.01', 'synonyms': ['thermometer'], 'id': 1081, 'def': 'measuring instrument for measuring temperature', 'name': 'thermometer'}, {'frequency': 'c', 'synset': 'thermos.n.01', 'synonyms': ['thermos_bottle'], 'id': 1082, 'def': 'vacuum flask that preserves temperature of hot or cold drinks', 'name': 'thermos_bottle'}, {'frequency': 'f', 'synset': 'thermostat.n.01', 'synonyms': ['thermostat'], 'id': 1083, 'def': 'a regulator for automatically regulating temperature by starting or stopping the supply of heat', 'name': 'thermostat'}, {'frequency': 'r', 'synset': 'thimble.n.02', 'synonyms': ['thimble'], 'id': 1084, 'def': 'a small metal cap to protect the finger while sewing; can be used as a small container', 'name': 'thimble'}, {'frequency': 'c', 'synset': 'thread.n.01', 'synonyms': ['thread', 'yarn'], 'id': 1085, 'def': 'a fine cord of twisted fibers (of cotton or silk or wool or nylon etc.) used in sewing and weaving', 'name': 'thread'}, {'frequency': 'c', 'synset': 'thumbtack.n.01', 'synonyms': ['thumbtack', 'drawing_pin', 'pushpin'], 'id': 1086, 'def': 'a tack for attaching papers to a bulletin board or drawing board', 'name': 'thumbtack'}, {'frequency': 'c', 'synset': 'tiara.n.01', 'synonyms': ['tiara'], 'id': 1087, 'def': 'a jeweled headdress worn by women on formal occasions', 'name': 'tiara'}, {'frequency': 'c', 'synset': 'tiger.n.02', 'synonyms': ['tiger'], 'id': 1088, 'def': 'large feline of forests in most of Asia having a tawny coat with black stripes', 'name': 'tiger'}, {'frequency': 'c', 'synset': 'tights.n.01', 'synonyms': ['tights_(clothing)', 'leotards'], 'id': 1089, 'def': 'skintight knit hose covering the body from the waist to the feet worn by acrobats and dancers and as stockings by women and girls', 'name': 'tights_(clothing)'}, {'frequency': 'c', 'synset': 'timer.n.01', 'synonyms': ['timer', 'stopwatch'], 'id': 1090, 'def': 'a timepiece that measures a time interval and signals its end', 'name': 'timer'}, {'frequency': 'f', 'synset': 'tinfoil.n.01', 'synonyms': ['tinfoil'], 'id': 1091, 'def': 'foil made of tin or an alloy of tin and lead', 'name': 'tinfoil'}, {'frequency': 'c', 'synset': 'tinsel.n.01', 'synonyms': ['tinsel'], 'id': 1092, 'def': 'a showy decoration that is basically valueless', 'name': 'tinsel'}, {'frequency': 'f', 'synset': 'tissue.n.02', 'synonyms': ['tissue_paper'], 'id': 1093, 'def': 'a soft thin (usually translucent) paper', 'name': 'tissue_paper'}, {'frequency': 'c', 'synset': 'toast.n.01', 'synonyms': ['toast_(food)'], 'id': 1094, 'def': 'slice of bread that has been toasted', 'name': 'toast_(food)'}, {'frequency': 'f', 'synset': 'toaster.n.02', 'synonyms': ['toaster'], 'id': 1095, 'def': 'a kitchen appliance (usually electric) for toasting bread', 'name': 'toaster'}, {'frequency': 'f', 'synset': 'toaster_oven.n.01', 'synonyms': ['toaster_oven'], 'id': 1096, 'def': 'kitchen appliance consisting of a small electric oven for toasting or warming food', 'name': 'toaster_oven'}, {'frequency': 'f', 'synset': 'toilet.n.02', 'synonyms': ['toilet'], 'id': 1097, 'def': 'a plumbing fixture for defecation and urination', 'name': 'toilet'}, {'frequency': 'f', 'synset': 'toilet_tissue.n.01', 'synonyms': ['toilet_tissue', 'toilet_paper', 'bathroom_tissue'], 'id': 1098, 'def': 'a soft thin absorbent paper for use in toilets', 'name': 'toilet_tissue'}, {'frequency': 'f', 'synset': 'tomato.n.01', 'synonyms': ['tomato'], 'id': 1099, 'def': 'mildly acid red or yellow pulpy fruit eaten as a vegetable', 'name': 'tomato'}, {'frequency': 'f', 'synset': 'tongs.n.01', 'synonyms': ['tongs'], 'id': 1100, 'def': 'any of various devices for taking hold of objects; usually have two hinged legs with handles above and pointed hooks below', 'name': 'tongs'}, {'frequency': 'c', 'synset': 'toolbox.n.01', 'synonyms': ['toolbox'], 'id': 1101, 'def': 'a box or chest or cabinet for holding hand tools', 'name': 'toolbox'}, {'frequency': 'f', 'synset': 'toothbrush.n.01', 'synonyms': ['toothbrush'], 'id': 1102, 'def': 'small brush; has long handle; used to clean teeth', 'name': 'toothbrush'}, {'frequency': 'f', 'synset': 'toothpaste.n.01', 'synonyms': ['toothpaste'], 'id': 1103, 'def': 'a dentifrice in the form of a paste', 'name': 'toothpaste'}, {'frequency': 'f', 'synset': 'toothpick.n.01', 'synonyms': ['toothpick'], 'id': 1104, 'def': 'pick consisting of a small strip of wood or plastic; used to pick food from between the teeth', 'name': 'toothpick'}, {'frequency': 'f', 'synset': 'top.n.09', 'synonyms': ['cover'], 'id': 1105, 'def': 'covering for a hole (especially a hole in the top of a container)', 'name': 'cover'}, {'frequency': 'c', 'synset': 'tortilla.n.01', 'synonyms': ['tortilla'], 'id': 1106, 'def': 'thin unleavened pancake made from cornmeal or wheat flour', 'name': 'tortilla'}, {'frequency': 'c', 'synset': 'tow_truck.n.01', 'synonyms': ['tow_truck'], 'id': 1107, 'def': 'a truck equipped to hoist and pull wrecked cars (or to remove cars from no-parking zones)', 'name': 'tow_truck'}, {'frequency': 'f', 'synset': 'towel.n.01', 'synonyms': ['towel'], 'id': 1108, 'def': 'a rectangular piece of absorbent cloth (or paper) for drying or wiping', 'name': 'towel'}, {'frequency': 'f', 'synset': 'towel_rack.n.01', 'synonyms': ['towel_rack', 'towel_rail', 'towel_bar'], 'id': 1109, 'def': 'a rack consisting of one or more bars on which towels can be hung', 'name': 'towel_rack'}, {'frequency': 'f', 'synset': 'toy.n.03', 'synonyms': ['toy'], 'id': 1110, 'def': 'a device regarded as providing amusement', 'name': 'toy'}, {'frequency': 'c', 'synset': 'tractor.n.01', 'synonyms': ['tractor_(farm_equipment)'], 'id': 1111, 'def': 'a wheeled vehicle with large wheels; used in farming and other applications', 'name': 'tractor_(farm_equipment)'}, {'frequency': 'f', 'synset': 'traffic_light.n.01', 'synonyms': ['traffic_light'], 'id': 1112, 'def': 'a device to control vehicle traffic often consisting of three or more lights', 'name': 'traffic_light'}, {'frequency': 'c', 'synset': 'trail_bike.n.01', 'synonyms': ['dirt_bike'], 'id': 1113, 'def': 'a lightweight motorcycle equipped with rugged tires and suspension for off-road use', 'name': 'dirt_bike'}, {'frequency': 'f', 'synset': 'trailer_truck.n.01', 'synonyms': ['trailer_truck', 'tractor_trailer', 'trucking_rig', 'articulated_lorry', 'semi_truck'], 'id': 1114, 'def': 'a truck consisting of a tractor and trailer together', 'name': 'trailer_truck'}, {'frequency': 'f', 'synset': 'train.n.01', 'synonyms': ['train_(railroad_vehicle)', 'railroad_train'], 'id': 1115, 'def': 'public or private transport provided by a line of railway cars coupled together and drawn by a locomotive', 'name': 'train_(railroad_vehicle)'}, {'frequency': 'r', 'synset': 'trampoline.n.01', 'synonyms': ['trampoline'], 'id': 1116, 'def': 'gymnastic apparatus consisting of a strong canvas sheet attached with springs to a metal frame', 'name': 'trampoline'}, {'frequency': 'f', 'synset': 'tray.n.01', 'synonyms': ['tray'], 'id': 1117, 'def': 'an open receptacle for holding or displaying or serving articles or food', 'name': 'tray'}, {'frequency': 'r', 'synset': 'trench_coat.n.01', 'synonyms': ['trench_coat'], 'id': 1118, 'def': 'a military style raincoat; belted with deep pockets', 'name': 'trench_coat'}, {'frequency': 'r', 'synset': 'triangle.n.05', 'synonyms': ['triangle_(musical_instrument)'], 'id': 1119, 'def': 'a percussion instrument consisting of a metal bar bent in the shape of an open triangle', 'name': 'triangle_(musical_instrument)'}, {'frequency': 'c', 'synset': 'tricycle.n.01', 'synonyms': ['tricycle'], 'id': 1120, 'def': 'a vehicle with three wheels that is moved by foot pedals', 'name': 'tricycle'}, {'frequency': 'f', 'synset': 'tripod.n.01', 'synonyms': ['tripod'], 'id': 1121, 'def': 'a three-legged rack used for support', 'name': 'tripod'}, {'frequency': 'f', 'synset': 'trouser.n.01', 'synonyms': ['trousers', 'pants_(clothing)'], 'id': 1122, 'def': 'a garment extending from the waist to the knee or ankle, covering each leg separately', 'name': 'trousers'}, {'frequency': 'f', 'synset': 'truck.n.01', 'synonyms': ['truck'], 'id': 1123, 'def': 'an automotive vehicle suitable for hauling', 'name': 'truck'}, {'frequency': 'r', 'synset': 'truffle.n.03', 'synonyms': ['truffle_(chocolate)', 'chocolate_truffle'], 'id': 1124, 'def': 'creamy chocolate candy', 'name': 'truffle_(chocolate)'}, {'frequency': 'c', 'synset': 'trunk.n.02', 'synonyms': ['trunk'], 'id': 1125, 'def': 'luggage consisting of a large strong case used when traveling or for storage', 'name': 'trunk'}, {'frequency': 'r', 'synset': 'tub.n.02', 'synonyms': ['vat'], 'id': 1126, 'def': 'a large vessel for holding or storing liquids', 'name': 'vat'}, {'frequency': 'c', 'synset': 'turban.n.01', 'synonyms': ['turban'], 'id': 1127, 'def': 'a traditional headdress consisting of a long scarf wrapped around the head', 'name': 'turban'}, {'frequency': 'c', 'synset': 'turkey.n.04', 'synonyms': ['turkey_(food)'], 'id': 1128, 'def': 'flesh of large domesticated fowl usually roasted', 'name': 'turkey_(food)'}, {'frequency': 'r', 'synset': 'turnip.n.01', 'synonyms': ['turnip'], 'id': 1129, 'def': 'widely cultivated plant having a large fleshy edible white or yellow root', 'name': 'turnip'}, {'frequency': 'c', 'synset': 'turtle.n.02', 'synonyms': ['turtle'], 'id': 1130, 'def': 'any of various aquatic and land reptiles having a bony shell and flipper-like limbs for swimming', 'name': 'turtle'}, {'frequency': 'c', 'synset': 'turtleneck.n.01', 'synonyms': ['turtleneck_(clothing)', 'polo-neck'], 'id': 1131, 'def': 'a sweater or jersey with a high close-fitting collar', 'name': 'turtleneck_(clothing)'}, {'frequency': 'c', 'synset': 'typewriter.n.01', 'synonyms': ['typewriter'], 'id': 1132, 'def': 'hand-operated character printer for printing written messages one character at a time', 'name': 'typewriter'}, {'frequency': 'f', 'synset': 'umbrella.n.01', 'synonyms': ['umbrella'], 'id': 1133, 'def': 'a lightweight handheld collapsible canopy', 'name': 'umbrella'}, {'frequency': 'f', 'synset': 'underwear.n.01', 'synonyms': ['underwear', 'underclothes', 'underclothing', 'underpants'], 'id': 1134, 'def': 'undergarment worn next to the skin and under the outer garments', 'name': 'underwear'}, {'frequency': 'r', 'synset': 'unicycle.n.01', 'synonyms': ['unicycle'], 'id': 1135, 'def': 'a vehicle with a single wheel that is driven by pedals', 'name': 'unicycle'}, {'frequency': 'f', 'synset': 'urinal.n.01', 'synonyms': ['urinal'], 'id': 1136, 'def': 'a plumbing fixture (usually attached to the wall) used by men to urinate', 'name': 'urinal'}, {'frequency': 'c', 'synset': 'urn.n.01', 'synonyms': ['urn'], 'id': 1137, 'def': 'a large vase that usually has a pedestal or feet', 'name': 'urn'}, {'frequency': 'c', 'synset': 'vacuum.n.04', 'synonyms': ['vacuum_cleaner'], 'id': 1138, 'def': 'an electrical home appliance that cleans by suction', 'name': 'vacuum_cleaner'}, {'frequency': 'f', 'synset': 'vase.n.01', 'synonyms': ['vase'], 'id': 1139, 'def': 'an open jar of glass or porcelain used as an ornament or to hold flowers', 'name': 'vase'}, {'frequency': 'c', 'synset': 'vending_machine.n.01', 'synonyms': ['vending_machine'], 'id': 1140, 'def': 'a slot machine for selling goods', 'name': 'vending_machine'}, {'frequency': 'f', 'synset': 'vent.n.01', 'synonyms': ['vent', 'blowhole', 'air_vent'], 'id': 1141, 'def': 'a hole for the escape of gas or air', 'name': 'vent'}, {'frequency': 'f', 'synset': 'vest.n.01', 'synonyms': ['vest', 'waistcoat'], 'id': 1142, 'def': "a man's sleeveless garment worn underneath a coat", 'name': 'vest'}, {'frequency': 'c', 'synset': 'videotape.n.01', 'synonyms': ['videotape'], 'id': 1143, 'def': 'a video recording made on magnetic tape', 'name': 'videotape'}, {'frequency': 'r', 'synset': 'vinegar.n.01', 'synonyms': ['vinegar'], 'id': 1144, 'def': 'sour-tasting liquid produced usually by oxidation of the alcohol in wine or cider and used as a condiment or food preservative', 'name': 'vinegar'}, {'frequency': 'r', 'synset': 'violin.n.01', 'synonyms': ['violin', 'fiddle'], 'id': 1145, 'def': 'bowed stringed instrument that is the highest member of the violin family', 'name': 'violin'}, {'frequency': 'r', 'synset': 'vodka.n.01', 'synonyms': ['vodka'], 'id': 1146, 'def': 'unaged colorless liquor originating in Russia', 'name': 'vodka'}, {'frequency': 'c', 'synset': 'volleyball.n.02', 'synonyms': ['volleyball'], 'id': 1147, 'def': 'an inflated ball used in playing volleyball', 'name': 'volleyball'}, {'frequency': 'r', 'synset': 'vulture.n.01', 'synonyms': ['vulture'], 'id': 1148, 'def': 'any of various large birds of prey having naked heads and weak claws and feeding chiefly on carrion', 'name': 'vulture'}, {'frequency': 'c', 'synset': 'waffle.n.01', 'synonyms': ['waffle'], 'id': 1149, 'def': 'pancake batter baked in a waffle iron', 'name': 'waffle'}, {'frequency': 'r', 'synset': 'waffle_iron.n.01', 'synonyms': ['waffle_iron'], 'id': 1150, 'def': 'a kitchen appliance for baking waffles', 'name': 'waffle_iron'}, {'frequency': 'c', 'synset': 'wagon.n.01', 'synonyms': ['wagon'], 'id': 1151, 'def': 'any of various kinds of wheeled vehicles drawn by an animal or a tractor', 'name': 'wagon'}, {'frequency': 'c', 'synset': 'wagon_wheel.n.01', 'synonyms': ['wagon_wheel'], 'id': 1152, 'def': 'a wheel of a wagon', 'name': 'wagon_wheel'}, {'frequency': 'c', 'synset': 'walking_stick.n.01', 'synonyms': ['walking_stick'], 'id': 1153, 'def': 'a stick carried in the hand for support in walking', 'name': 'walking_stick'}, {'frequency': 'c', 'synset': 'wall_clock.n.01', 'synonyms': ['wall_clock'], 'id': 1154, 'def': 'a clock mounted on a wall', 'name': 'wall_clock'}, {'frequency': 'f', 'synset': 'wall_socket.n.01', 'synonyms': ['wall_socket', 'wall_plug', 'electric_outlet', 'electrical_outlet', 'outlet', 'electric_receptacle'], 'id': 1155, 'def': 'receptacle providing a place in a wiring system where current can be taken to run electrical devices', 'name': 'wall_socket'}, {'frequency': 'f', 'synset': 'wallet.n.01', 'synonyms': ['wallet', 'billfold'], 'id': 1156, 'def': 'a pocket-size case for holding papers and paper money', 'name': 'wallet'}, {'frequency': 'r', 'synset': 'walrus.n.01', 'synonyms': ['walrus'], 'id': 1157, 'def': 'either of two large northern marine mammals having ivory tusks and tough hide over thick blubber', 'name': 'walrus'}, {'frequency': 'r', 'synset': 'wardrobe.n.01', 'synonyms': ['wardrobe'], 'id': 1158, 'def': 'a tall piece of furniture that provides storage space for clothes; has a door and rails or hooks for hanging clothes', 'name': 'wardrobe'}, {'frequency': 'r', 'synset': 'washbasin.n.01', 'synonyms': ['washbasin', 'basin_(for_washing)', 'washbowl', 'washstand', 'handbasin'], 'id': 1159, 'def': 'a bathroom sink that is permanently installed and connected to a water supply and drainpipe; where you can wash your hands and face', 'name': 'washbasin'}, {'frequency': 'c', 'synset': 'washer.n.03', 'synonyms': ['automatic_washer', 'washing_machine'], 'id': 1160, 'def': 'a home appliance for washing clothes and linens automatically', 'name': 'automatic_washer'}, {'frequency': 'f', 'synset': 'watch.n.01', 'synonyms': ['watch', 'wristwatch'], 'id': 1161, 'def': 'a small, portable timepiece', 'name': 'watch'}, {'frequency': 'f', 'synset': 'water_bottle.n.01', 'synonyms': ['water_bottle'], 'id': 1162, 'def': 'a bottle for holding water', 'name': 'water_bottle'}, {'frequency': 'c', 'synset': 'water_cooler.n.01', 'synonyms': ['water_cooler'], 'id': 1163, 'def': 'a device for cooling and dispensing drinking water', 'name': 'water_cooler'}, {'frequency': 'c', 'synset': 'water_faucet.n.01', 'synonyms': ['water_faucet', 'water_tap', 'tap_(water_faucet)'], 'id': 1164, 'def': 'a faucet for drawing water from a pipe or cask', 'name': 'water_faucet'}, {'frequency': 'r', 'synset': 'water_heater.n.01', 'synonyms': ['water_heater', 'hot-water_heater'], 'id': 1165, 'def': 'a heater and storage tank to supply heated water', 'name': 'water_heater'}, {'frequency': 'c', 'synset': 'water_jug.n.01', 'synonyms': ['water_jug'], 'id': 1166, 'def': 'a jug that holds water', 'name': 'water_jug'}, {'frequency': 'r', 'synset': 'water_pistol.n.01', 'synonyms': ['water_gun', 'squirt_gun'], 'id': 1167, 'def': 'plaything consisting of a toy pistol that squirts water', 'name': 'water_gun'}, {'frequency': 'c', 'synset': 'water_scooter.n.01', 'synonyms': ['water_scooter', 'sea_scooter', 'jet_ski'], 'id': 1168, 'def': 'a motorboat resembling a motor scooter (NOT A SURFBOARD OR WATER SKI)', 'name': 'water_scooter'}, {'frequency': 'c', 'synset': 'water_ski.n.01', 'synonyms': ['water_ski'], 'id': 1169, 'def': 'broad ski for skimming over water towed by a speedboat (DO NOT MARK WATER)', 'name': 'water_ski'}, {'frequency': 'c', 'synset': 'water_tower.n.01', 'synonyms': ['water_tower'], 'id': 1170, 'def': 'a large reservoir for water', 'name': 'water_tower'}, {'frequency': 'c', 'synset': 'watering_can.n.01', 'synonyms': ['watering_can'], 'id': 1171, 'def': 'a container with a handle and a spout with a perforated nozzle; used to sprinkle water over plants', 'name': 'watering_can'}, {'frequency': 'f', 'synset': 'watermelon.n.02', 'synonyms': ['watermelon'], 'id': 1172, 'def': 'large oblong or roundish melon with a hard green rind and sweet watery red or occasionally yellowish pulp', 'name': 'watermelon'}, {'frequency': 'f', 'synset': 'weathervane.n.01', 'synonyms': ['weathervane', 'vane_(weathervane)', 'wind_vane'], 'id': 1173, 'def': 'mechanical device attached to an elevated structure; rotates freely to show the direction of the wind', 'name': 'weathervane'}, {'frequency': 'c', 'synset': 'webcam.n.01', 'synonyms': ['webcam'], 'id': 1174, 'def': 'a digital camera designed to take digital photographs and transmit them over the internet', 'name': 'webcam'}, {'frequency': 'c', 'synset': 'wedding_cake.n.01', 'synonyms': ['wedding_cake', 'bridecake'], 'id': 1175, 'def': 'a rich cake with two or more tiers and covered with frosting and decorations; served at a wedding reception', 'name': 'wedding_cake'}, {'frequency': 'c', 'synset': 'wedding_ring.n.01', 'synonyms': ['wedding_ring', 'wedding_band'], 'id': 1176, 'def': 'a ring given to the bride and/or groom at the wedding', 'name': 'wedding_ring'}, {'frequency': 'f', 'synset': 'wet_suit.n.01', 'synonyms': ['wet_suit'], 'id': 1177, 'def': 'a close-fitting garment made of a permeable material; worn in cold water to retain body heat', 'name': 'wet_suit'}, {'frequency': 'f', 'synset': 'wheel.n.01', 'synonyms': ['wheel'], 'id': 1178, 'def': 'a circular frame with spokes (or a solid disc) that can rotate on a shaft or axle', 'name': 'wheel'}, {'frequency': 'c', 'synset': 'wheelchair.n.01', 'synonyms': ['wheelchair'], 'id': 1179, 'def': 'a movable chair mounted on large wheels', 'name': 'wheelchair'}, {'frequency': 'c', 'synset': 'whipped_cream.n.01', 'synonyms': ['whipped_cream'], 'id': 1180, 'def': 'cream that has been beaten until light and fluffy', 'name': 'whipped_cream'}, {'frequency': 'c', 'synset': 'whistle.n.03', 'synonyms': ['whistle'], 'id': 1181, 'def': 'a small wind instrument that produces a whistling sound by blowing into it', 'name': 'whistle'}, {'frequency': 'c', 'synset': 'wig.n.01', 'synonyms': ['wig'], 'id': 1182, 'def': 'hairpiece covering the head and made of real or synthetic hair', 'name': 'wig'}, {'frequency': 'c', 'synset': 'wind_chime.n.01', 'synonyms': ['wind_chime'], 'id': 1183, 'def': 'a decorative arrangement of pieces of metal or glass or pottery that hang together loosely so the wind can cause them to tinkle', 'name': 'wind_chime'}, {'frequency': 'c', 'synset': 'windmill.n.01', 'synonyms': ['windmill'], 'id': 1184, 'def': 'A mill or turbine that is powered by wind', 'name': 'windmill'}, {'frequency': 'c', 'synset': 'window_box.n.01', 'synonyms': ['window_box_(for_plants)'], 'id': 1185, 'def': 'a container for growing plants on a windowsill', 'name': 'window_box_(for_plants)'}, {'frequency': 'f', 'synset': 'windshield_wiper.n.01', 'synonyms': ['windshield_wiper', 'windscreen_wiper', 'wiper_(for_windshield/screen)'], 'id': 1186, 'def': 'a mechanical device that cleans the windshield', 'name': 'windshield_wiper'}, {'frequency': 'c', 'synset': 'windsock.n.01', 'synonyms': ['windsock', 'air_sock', 'air-sleeve', 'wind_sleeve', 'wind_cone'], 'id': 1187, 'def': 'a truncated cloth cone mounted on a mast/pole; shows wind direction', 'name': 'windsock'}, {'frequency': 'f', 'synset': 'wine_bottle.n.01', 'synonyms': ['wine_bottle'], 'id': 1188, 'def': 'a bottle for holding wine', 'name': 'wine_bottle'}, {'frequency': 'c', 'synset': 'wine_bucket.n.01', 'synonyms': ['wine_bucket', 'wine_cooler'], 'id': 1189, 'def': 'a bucket of ice used to chill a bottle of wine', 'name': 'wine_bucket'}, {'frequency': 'f', 'synset': 'wineglass.n.01', 'synonyms': ['wineglass'], 'id': 1190, 'def': 'a glass that has a stem and in which wine is served', 'name': 'wineglass'}, {'frequency': 'f', 'synset': 'winker.n.02', 'synonyms': ['blinder_(for_horses)'], 'id': 1191, 'def': 'blinds that prevent a horse from seeing something on either side', 'name': 'blinder_(for_horses)'}, {'frequency': 'c', 'synset': 'wok.n.01', 'synonyms': ['wok'], 'id': 1192, 'def': 'pan with a convex bottom; used for frying in Chinese cooking', 'name': 'wok'}, {'frequency': 'r', 'synset': 'wolf.n.01', 'synonyms': ['wolf'], 'id': 1193, 'def': 'a wild carnivorous mammal of the dog family, living and hunting in packs', 'name': 'wolf'}, {'frequency': 'c', 'synset': 'wooden_spoon.n.02', 'synonyms': ['wooden_spoon'], 'id': 1194, 'def': 'a spoon made of wood', 'name': 'wooden_spoon'}, {'frequency': 'c', 'synset': 'wreath.n.01', 'synonyms': ['wreath'], 'id': 1195, 'def': 'an arrangement of flowers, leaves, or stems fastened in a ring', 'name': 'wreath'}, {'frequency': 'c', 'synset': 'wrench.n.03', 'synonyms': ['wrench', 'spanner'], 'id': 1196, 'def': 'a hand tool that is used to hold or twist a nut or bolt', 'name': 'wrench'}, {'frequency': 'f', 'synset': 'wristband.n.01', 'synonyms': ['wristband'], 'id': 1197, 'def': 'band consisting of a part of a sleeve that covers the wrist', 'name': 'wristband'}, {'frequency': 'f', 'synset': 'wristlet.n.01', 'synonyms': ['wristlet', 'wrist_band'], 'id': 1198, 'def': 'a band or bracelet worn around the wrist', 'name': 'wristlet'}, {'frequency': 'c', 'synset': 'yacht.n.01', 'synonyms': ['yacht'], 'id': 1199, 'def': 'an expensive vessel propelled by sail or power and used for cruising or racing', 'name': 'yacht'}, {'frequency': 'c', 'synset': 'yogurt.n.01', 'synonyms': ['yogurt', 'yoghurt', 'yoghourt'], 'id': 1200, 'def': 'a custard-like food made from curdled milk', 'name': 'yogurt'}, {'frequency': 'c', 'synset': 'yoke.n.07', 'synonyms': ['yoke_(animal_equipment)'], 'id': 1201, 'def': 'gear joining two animals at the neck; NOT egg yolk', 'name': 'yoke_(animal_equipment)'}, {'frequency': 'f', 'synset': 'zebra.n.01', 'synonyms': ['zebra'], 'id': 1202, 'def': 'any of several fleet black-and-white striped African equines', 'name': 'zebra'}, {'frequency': 'c', 'synset': 'zucchini.n.02', 'synonyms': ['zucchini', 'courgette'], 'id': 1203, 'def': 'small cucumber-shaped vegetable marrow; typically dark green', 'name': 'zucchini'}] # noqa
+# fmt: on
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/datasets/lvis_v1_category_image_count.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/datasets/lvis_v1_category_image_count.py
new file mode 100644
index 0000000000000000000000000000000000000000..31bf0cfcd5096ab87835db86a28671d474514c40
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/datasets/lvis_v1_category_image_count.py
@@ -0,0 +1,20 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+# Autogen with
+# with open("lvis_v1_train.json", "r") as f:
+# a = json.load(f)
+# c = a["categories"]
+# for x in c:
+# del x["name"]
+# del x["instance_count"]
+# del x["def"]
+# del x["synonyms"]
+# del x["frequency"]
+# del x["synset"]
+# LVIS_CATEGORY_IMAGE_COUNT = repr(c) + " # noqa"
+# with open("/tmp/lvis_category_image_count.py", "wt") as f:
+# f.write(f"LVIS_CATEGORY_IMAGE_COUNT = {LVIS_CATEGORY_IMAGE_COUNT}")
+# Then paste the contents of that file below
+
+# fmt: off
+LVIS_CATEGORY_IMAGE_COUNT = [{'id': 1, 'image_count': 64}, {'id': 2, 'image_count': 364}, {'id': 3, 'image_count': 1911}, {'id': 4, 'image_count': 149}, {'id': 5, 'image_count': 29}, {'id': 6, 'image_count': 26}, {'id': 7, 'image_count': 59}, {'id': 8, 'image_count': 22}, {'id': 9, 'image_count': 12}, {'id': 10, 'image_count': 28}, {'id': 11, 'image_count': 505}, {'id': 12, 'image_count': 1207}, {'id': 13, 'image_count': 4}, {'id': 14, 'image_count': 10}, {'id': 15, 'image_count': 500}, {'id': 16, 'image_count': 33}, {'id': 17, 'image_count': 3}, {'id': 18, 'image_count': 44}, {'id': 19, 'image_count': 561}, {'id': 20, 'image_count': 8}, {'id': 21, 'image_count': 9}, {'id': 22, 'image_count': 33}, {'id': 23, 'image_count': 1883}, {'id': 24, 'image_count': 98}, {'id': 25, 'image_count': 70}, {'id': 26, 'image_count': 46}, {'id': 27, 'image_count': 117}, {'id': 28, 'image_count': 41}, {'id': 29, 'image_count': 1395}, {'id': 30, 'image_count': 7}, {'id': 31, 'image_count': 1}, {'id': 32, 'image_count': 314}, {'id': 33, 'image_count': 31}, {'id': 34, 'image_count': 1905}, {'id': 35, 'image_count': 1859}, {'id': 36, 'image_count': 1623}, {'id': 37, 'image_count': 47}, {'id': 38, 'image_count': 3}, {'id': 39, 'image_count': 3}, {'id': 40, 'image_count': 1}, {'id': 41, 'image_count': 305}, {'id': 42, 'image_count': 6}, {'id': 43, 'image_count': 210}, {'id': 44, 'image_count': 36}, {'id': 45, 'image_count': 1787}, {'id': 46, 'image_count': 17}, {'id': 47, 'image_count': 51}, {'id': 48, 'image_count': 138}, {'id': 49, 'image_count': 3}, {'id': 50, 'image_count': 1470}, {'id': 51, 'image_count': 3}, {'id': 52, 'image_count': 2}, {'id': 53, 'image_count': 186}, {'id': 54, 'image_count': 76}, {'id': 55, 'image_count': 26}, {'id': 56, 'image_count': 303}, {'id': 57, 'image_count': 738}, {'id': 58, 'image_count': 1799}, {'id': 59, 'image_count': 1934}, {'id': 60, 'image_count': 1609}, {'id': 61, 'image_count': 1622}, {'id': 62, 'image_count': 41}, {'id': 63, 'image_count': 4}, {'id': 64, 'image_count': 11}, {'id': 65, 'image_count': 270}, {'id': 66, 'image_count': 349}, {'id': 67, 'image_count': 42}, {'id': 68, 'image_count': 823}, {'id': 69, 'image_count': 6}, {'id': 70, 'image_count': 48}, {'id': 71, 'image_count': 3}, {'id': 72, 'image_count': 42}, {'id': 73, 'image_count': 24}, {'id': 74, 'image_count': 16}, {'id': 75, 'image_count': 605}, {'id': 76, 'image_count': 646}, {'id': 77, 'image_count': 1765}, {'id': 78, 'image_count': 2}, {'id': 79, 'image_count': 125}, {'id': 80, 'image_count': 1420}, {'id': 81, 'image_count': 140}, {'id': 82, 'image_count': 4}, {'id': 83, 'image_count': 322}, {'id': 84, 'image_count': 60}, {'id': 85, 'image_count': 2}, {'id': 86, 'image_count': 231}, {'id': 87, 'image_count': 333}, {'id': 88, 'image_count': 1941}, {'id': 89, 'image_count': 367}, {'id': 90, 'image_count': 1922}, {'id': 91, 'image_count': 18}, {'id': 92, 'image_count': 81}, {'id': 93, 'image_count': 1}, {'id': 94, 'image_count': 1852}, {'id': 95, 'image_count': 430}, {'id': 96, 'image_count': 247}, {'id': 97, 'image_count': 94}, {'id': 98, 'image_count': 21}, {'id': 99, 'image_count': 1821}, {'id': 100, 'image_count': 16}, {'id': 101, 'image_count': 12}, {'id': 102, 'image_count': 25}, {'id': 103, 'image_count': 41}, {'id': 104, 'image_count': 244}, {'id': 105, 'image_count': 7}, {'id': 106, 'image_count': 1}, {'id': 107, 'image_count': 40}, {'id': 108, 'image_count': 40}, {'id': 109, 'image_count': 104}, {'id': 110, 'image_count': 1671}, {'id': 111, 'image_count': 49}, {'id': 112, 'image_count': 243}, {'id': 113, 'image_count': 2}, {'id': 114, 'image_count': 242}, {'id': 115, 'image_count': 271}, {'id': 116, 'image_count': 104}, {'id': 117, 'image_count': 8}, {'id': 118, 'image_count': 1758}, {'id': 119, 'image_count': 1}, {'id': 120, 'image_count': 48}, {'id': 121, 'image_count': 14}, {'id': 122, 'image_count': 40}, {'id': 123, 'image_count': 1}, {'id': 124, 'image_count': 37}, {'id': 125, 'image_count': 1510}, {'id': 126, 'image_count': 6}, {'id': 127, 'image_count': 1903}, {'id': 128, 'image_count': 70}, {'id': 129, 'image_count': 86}, {'id': 130, 'image_count': 7}, {'id': 131, 'image_count': 5}, {'id': 132, 'image_count': 1406}, {'id': 133, 'image_count': 1901}, {'id': 134, 'image_count': 15}, {'id': 135, 'image_count': 28}, {'id': 136, 'image_count': 6}, {'id': 137, 'image_count': 494}, {'id': 138, 'image_count': 234}, {'id': 139, 'image_count': 1922}, {'id': 140, 'image_count': 1}, {'id': 141, 'image_count': 35}, {'id': 142, 'image_count': 5}, {'id': 143, 'image_count': 1828}, {'id': 144, 'image_count': 8}, {'id': 145, 'image_count': 63}, {'id': 146, 'image_count': 1668}, {'id': 147, 'image_count': 4}, {'id': 148, 'image_count': 95}, {'id': 149, 'image_count': 17}, {'id': 150, 'image_count': 1567}, {'id': 151, 'image_count': 2}, {'id': 152, 'image_count': 103}, {'id': 153, 'image_count': 50}, {'id': 154, 'image_count': 1309}, {'id': 155, 'image_count': 6}, {'id': 156, 'image_count': 92}, {'id': 157, 'image_count': 19}, {'id': 158, 'image_count': 37}, {'id': 159, 'image_count': 4}, {'id': 160, 'image_count': 709}, {'id': 161, 'image_count': 9}, {'id': 162, 'image_count': 82}, {'id': 163, 'image_count': 15}, {'id': 164, 'image_count': 3}, {'id': 165, 'image_count': 61}, {'id': 166, 'image_count': 51}, {'id': 167, 'image_count': 5}, {'id': 168, 'image_count': 13}, {'id': 169, 'image_count': 642}, {'id': 170, 'image_count': 24}, {'id': 171, 'image_count': 255}, {'id': 172, 'image_count': 9}, {'id': 173, 'image_count': 1808}, {'id': 174, 'image_count': 31}, {'id': 175, 'image_count': 158}, {'id': 176, 'image_count': 80}, {'id': 177, 'image_count': 1884}, {'id': 178, 'image_count': 158}, {'id': 179, 'image_count': 2}, {'id': 180, 'image_count': 12}, {'id': 181, 'image_count': 1659}, {'id': 182, 'image_count': 7}, {'id': 183, 'image_count': 834}, {'id': 184, 'image_count': 57}, {'id': 185, 'image_count': 174}, {'id': 186, 'image_count': 95}, {'id': 187, 'image_count': 27}, {'id': 188, 'image_count': 22}, {'id': 189, 'image_count': 1391}, {'id': 190, 'image_count': 90}, {'id': 191, 'image_count': 40}, {'id': 192, 'image_count': 445}, {'id': 193, 'image_count': 21}, {'id': 194, 'image_count': 1132}, {'id': 195, 'image_count': 177}, {'id': 196, 'image_count': 4}, {'id': 197, 'image_count': 17}, {'id': 198, 'image_count': 84}, {'id': 199, 'image_count': 55}, {'id': 200, 'image_count': 30}, {'id': 201, 'image_count': 25}, {'id': 202, 'image_count': 2}, {'id': 203, 'image_count': 125}, {'id': 204, 'image_count': 1135}, {'id': 205, 'image_count': 19}, {'id': 206, 'image_count': 72}, {'id': 207, 'image_count': 1926}, {'id': 208, 'image_count': 159}, {'id': 209, 'image_count': 7}, {'id': 210, 'image_count': 1}, {'id': 211, 'image_count': 13}, {'id': 212, 'image_count': 35}, {'id': 213, 'image_count': 18}, {'id': 214, 'image_count': 8}, {'id': 215, 'image_count': 6}, {'id': 216, 'image_count': 35}, {'id': 217, 'image_count': 1222}, {'id': 218, 'image_count': 103}, {'id': 219, 'image_count': 28}, {'id': 220, 'image_count': 63}, {'id': 221, 'image_count': 28}, {'id': 222, 'image_count': 5}, {'id': 223, 'image_count': 7}, {'id': 224, 'image_count': 14}, {'id': 225, 'image_count': 1918}, {'id': 226, 'image_count': 133}, {'id': 227, 'image_count': 16}, {'id': 228, 'image_count': 27}, {'id': 229, 'image_count': 110}, {'id': 230, 'image_count': 1895}, {'id': 231, 'image_count': 4}, {'id': 232, 'image_count': 1927}, {'id': 233, 'image_count': 8}, {'id': 234, 'image_count': 1}, {'id': 235, 'image_count': 263}, {'id': 236, 'image_count': 10}, {'id': 237, 'image_count': 2}, {'id': 238, 'image_count': 3}, {'id': 239, 'image_count': 87}, {'id': 240, 'image_count': 9}, {'id': 241, 'image_count': 71}, {'id': 242, 'image_count': 13}, {'id': 243, 'image_count': 18}, {'id': 244, 'image_count': 2}, {'id': 245, 'image_count': 5}, {'id': 246, 'image_count': 45}, {'id': 247, 'image_count': 1}, {'id': 248, 'image_count': 23}, {'id': 249, 'image_count': 32}, {'id': 250, 'image_count': 4}, {'id': 251, 'image_count': 1}, {'id': 252, 'image_count': 858}, {'id': 253, 'image_count': 661}, {'id': 254, 'image_count': 168}, {'id': 255, 'image_count': 210}, {'id': 256, 'image_count': 65}, {'id': 257, 'image_count': 4}, {'id': 258, 'image_count': 2}, {'id': 259, 'image_count': 159}, {'id': 260, 'image_count': 31}, {'id': 261, 'image_count': 811}, {'id': 262, 'image_count': 1}, {'id': 263, 'image_count': 42}, {'id': 264, 'image_count': 27}, {'id': 265, 'image_count': 2}, {'id': 266, 'image_count': 5}, {'id': 267, 'image_count': 95}, {'id': 268, 'image_count': 32}, {'id': 269, 'image_count': 1}, {'id': 270, 'image_count': 1}, {'id': 271, 'image_count': 1844}, {'id': 272, 'image_count': 897}, {'id': 273, 'image_count': 31}, {'id': 274, 'image_count': 23}, {'id': 275, 'image_count': 1}, {'id': 276, 'image_count': 202}, {'id': 277, 'image_count': 746}, {'id': 278, 'image_count': 44}, {'id': 279, 'image_count': 14}, {'id': 280, 'image_count': 26}, {'id': 281, 'image_count': 1}, {'id': 282, 'image_count': 2}, {'id': 283, 'image_count': 25}, {'id': 284, 'image_count': 238}, {'id': 285, 'image_count': 592}, {'id': 286, 'image_count': 26}, {'id': 287, 'image_count': 5}, {'id': 288, 'image_count': 42}, {'id': 289, 'image_count': 13}, {'id': 290, 'image_count': 46}, {'id': 291, 'image_count': 1}, {'id': 292, 'image_count': 8}, {'id': 293, 'image_count': 34}, {'id': 294, 'image_count': 5}, {'id': 295, 'image_count': 1}, {'id': 296, 'image_count': 1871}, {'id': 297, 'image_count': 717}, {'id': 298, 'image_count': 1010}, {'id': 299, 'image_count': 679}, {'id': 300, 'image_count': 3}, {'id': 301, 'image_count': 4}, {'id': 302, 'image_count': 1}, {'id': 303, 'image_count': 166}, {'id': 304, 'image_count': 2}, {'id': 305, 'image_count': 266}, {'id': 306, 'image_count': 101}, {'id': 307, 'image_count': 6}, {'id': 308, 'image_count': 14}, {'id': 309, 'image_count': 133}, {'id': 310, 'image_count': 2}, {'id': 311, 'image_count': 38}, {'id': 312, 'image_count': 95}, {'id': 313, 'image_count': 1}, {'id': 314, 'image_count': 12}, {'id': 315, 'image_count': 49}, {'id': 316, 'image_count': 5}, {'id': 317, 'image_count': 5}, {'id': 318, 'image_count': 16}, {'id': 319, 'image_count': 216}, {'id': 320, 'image_count': 12}, {'id': 321, 'image_count': 1}, {'id': 322, 'image_count': 54}, {'id': 323, 'image_count': 5}, {'id': 324, 'image_count': 245}, {'id': 325, 'image_count': 12}, {'id': 326, 'image_count': 7}, {'id': 327, 'image_count': 35}, {'id': 328, 'image_count': 36}, {'id': 329, 'image_count': 32}, {'id': 330, 'image_count': 1027}, {'id': 331, 'image_count': 10}, {'id': 332, 'image_count': 12}, {'id': 333, 'image_count': 1}, {'id': 334, 'image_count': 67}, {'id': 335, 'image_count': 71}, {'id': 336, 'image_count': 30}, {'id': 337, 'image_count': 48}, {'id': 338, 'image_count': 249}, {'id': 339, 'image_count': 13}, {'id': 340, 'image_count': 29}, {'id': 341, 'image_count': 14}, {'id': 342, 'image_count': 236}, {'id': 343, 'image_count': 15}, {'id': 344, 'image_count': 1521}, {'id': 345, 'image_count': 25}, {'id': 346, 'image_count': 249}, {'id': 347, 'image_count': 139}, {'id': 348, 'image_count': 2}, {'id': 349, 'image_count': 2}, {'id': 350, 'image_count': 1890}, {'id': 351, 'image_count': 1240}, {'id': 352, 'image_count': 1}, {'id': 353, 'image_count': 9}, {'id': 354, 'image_count': 1}, {'id': 355, 'image_count': 3}, {'id': 356, 'image_count': 11}, {'id': 357, 'image_count': 4}, {'id': 358, 'image_count': 236}, {'id': 359, 'image_count': 44}, {'id': 360, 'image_count': 19}, {'id': 361, 'image_count': 1100}, {'id': 362, 'image_count': 7}, {'id': 363, 'image_count': 69}, {'id': 364, 'image_count': 2}, {'id': 365, 'image_count': 8}, {'id': 366, 'image_count': 5}, {'id': 367, 'image_count': 227}, {'id': 368, 'image_count': 6}, {'id': 369, 'image_count': 106}, {'id': 370, 'image_count': 81}, {'id': 371, 'image_count': 17}, {'id': 372, 'image_count': 134}, {'id': 373, 'image_count': 312}, {'id': 374, 'image_count': 8}, {'id': 375, 'image_count': 271}, {'id': 376, 'image_count': 2}, {'id': 377, 'image_count': 103}, {'id': 378, 'image_count': 1938}, {'id': 379, 'image_count': 574}, {'id': 380, 'image_count': 120}, {'id': 381, 'image_count': 2}, {'id': 382, 'image_count': 2}, {'id': 383, 'image_count': 13}, {'id': 384, 'image_count': 29}, {'id': 385, 'image_count': 1710}, {'id': 386, 'image_count': 66}, {'id': 387, 'image_count': 1008}, {'id': 388, 'image_count': 1}, {'id': 389, 'image_count': 3}, {'id': 390, 'image_count': 1942}, {'id': 391, 'image_count': 19}, {'id': 392, 'image_count': 1488}, {'id': 393, 'image_count': 46}, {'id': 394, 'image_count': 106}, {'id': 395, 'image_count': 115}, {'id': 396, 'image_count': 19}, {'id': 397, 'image_count': 2}, {'id': 398, 'image_count': 1}, {'id': 399, 'image_count': 28}, {'id': 400, 'image_count': 9}, {'id': 401, 'image_count': 192}, {'id': 402, 'image_count': 12}, {'id': 403, 'image_count': 21}, {'id': 404, 'image_count': 247}, {'id': 405, 'image_count': 6}, {'id': 406, 'image_count': 64}, {'id': 407, 'image_count': 7}, {'id': 408, 'image_count': 40}, {'id': 409, 'image_count': 542}, {'id': 410, 'image_count': 2}, {'id': 411, 'image_count': 1898}, {'id': 412, 'image_count': 36}, {'id': 413, 'image_count': 4}, {'id': 414, 'image_count': 1}, {'id': 415, 'image_count': 191}, {'id': 416, 'image_count': 6}, {'id': 417, 'image_count': 41}, {'id': 418, 'image_count': 39}, {'id': 419, 'image_count': 46}, {'id': 420, 'image_count': 1}, {'id': 421, 'image_count': 1451}, {'id': 422, 'image_count': 1878}, {'id': 423, 'image_count': 11}, {'id': 424, 'image_count': 82}, {'id': 425, 'image_count': 18}, {'id': 426, 'image_count': 1}, {'id': 427, 'image_count': 7}, {'id': 428, 'image_count': 3}, {'id': 429, 'image_count': 575}, {'id': 430, 'image_count': 1907}, {'id': 431, 'image_count': 8}, {'id': 432, 'image_count': 4}, {'id': 433, 'image_count': 32}, {'id': 434, 'image_count': 11}, {'id': 435, 'image_count': 4}, {'id': 436, 'image_count': 54}, {'id': 437, 'image_count': 202}, {'id': 438, 'image_count': 32}, {'id': 439, 'image_count': 3}, {'id': 440, 'image_count': 130}, {'id': 441, 'image_count': 119}, {'id': 442, 'image_count': 141}, {'id': 443, 'image_count': 29}, {'id': 444, 'image_count': 525}, {'id': 445, 'image_count': 1323}, {'id': 446, 'image_count': 2}, {'id': 447, 'image_count': 113}, {'id': 448, 'image_count': 16}, {'id': 449, 'image_count': 7}, {'id': 450, 'image_count': 35}, {'id': 451, 'image_count': 1908}, {'id': 452, 'image_count': 353}, {'id': 453, 'image_count': 18}, {'id': 454, 'image_count': 14}, {'id': 455, 'image_count': 77}, {'id': 456, 'image_count': 8}, {'id': 457, 'image_count': 37}, {'id': 458, 'image_count': 1}, {'id': 459, 'image_count': 346}, {'id': 460, 'image_count': 19}, {'id': 461, 'image_count': 1779}, {'id': 462, 'image_count': 23}, {'id': 463, 'image_count': 25}, {'id': 464, 'image_count': 67}, {'id': 465, 'image_count': 19}, {'id': 466, 'image_count': 28}, {'id': 467, 'image_count': 4}, {'id': 468, 'image_count': 27}, {'id': 469, 'image_count': 1861}, {'id': 470, 'image_count': 11}, {'id': 471, 'image_count': 13}, {'id': 472, 'image_count': 13}, {'id': 473, 'image_count': 32}, {'id': 474, 'image_count': 1767}, {'id': 475, 'image_count': 42}, {'id': 476, 'image_count': 17}, {'id': 477, 'image_count': 128}, {'id': 478, 'image_count': 1}, {'id': 479, 'image_count': 9}, {'id': 480, 'image_count': 10}, {'id': 481, 'image_count': 4}, {'id': 482, 'image_count': 9}, {'id': 483, 'image_count': 18}, {'id': 484, 'image_count': 41}, {'id': 485, 'image_count': 28}, {'id': 486, 'image_count': 3}, {'id': 487, 'image_count': 65}, {'id': 488, 'image_count': 9}, {'id': 489, 'image_count': 23}, {'id': 490, 'image_count': 24}, {'id': 491, 'image_count': 1}, {'id': 492, 'image_count': 2}, {'id': 493, 'image_count': 59}, {'id': 494, 'image_count': 48}, {'id': 495, 'image_count': 17}, {'id': 496, 'image_count': 1877}, {'id': 497, 'image_count': 18}, {'id': 498, 'image_count': 1920}, {'id': 499, 'image_count': 50}, {'id': 500, 'image_count': 1890}, {'id': 501, 'image_count': 99}, {'id': 502, 'image_count': 1530}, {'id': 503, 'image_count': 3}, {'id': 504, 'image_count': 11}, {'id': 505, 'image_count': 19}, {'id': 506, 'image_count': 3}, {'id': 507, 'image_count': 63}, {'id': 508, 'image_count': 5}, {'id': 509, 'image_count': 6}, {'id': 510, 'image_count': 233}, {'id': 511, 'image_count': 54}, {'id': 512, 'image_count': 36}, {'id': 513, 'image_count': 10}, {'id': 514, 'image_count': 124}, {'id': 515, 'image_count': 101}, {'id': 516, 'image_count': 3}, {'id': 517, 'image_count': 363}, {'id': 518, 'image_count': 3}, {'id': 519, 'image_count': 30}, {'id': 520, 'image_count': 18}, {'id': 521, 'image_count': 199}, {'id': 522, 'image_count': 97}, {'id': 523, 'image_count': 32}, {'id': 524, 'image_count': 121}, {'id': 525, 'image_count': 16}, {'id': 526, 'image_count': 12}, {'id': 527, 'image_count': 2}, {'id': 528, 'image_count': 214}, {'id': 529, 'image_count': 48}, {'id': 530, 'image_count': 26}, {'id': 531, 'image_count': 13}, {'id': 532, 'image_count': 4}, {'id': 533, 'image_count': 11}, {'id': 534, 'image_count': 123}, {'id': 535, 'image_count': 7}, {'id': 536, 'image_count': 200}, {'id': 537, 'image_count': 91}, {'id': 538, 'image_count': 9}, {'id': 539, 'image_count': 72}, {'id': 540, 'image_count': 1886}, {'id': 541, 'image_count': 4}, {'id': 542, 'image_count': 1}, {'id': 543, 'image_count': 1}, {'id': 544, 'image_count': 1932}, {'id': 545, 'image_count': 4}, {'id': 546, 'image_count': 56}, {'id': 547, 'image_count': 854}, {'id': 548, 'image_count': 755}, {'id': 549, 'image_count': 1843}, {'id': 550, 'image_count': 96}, {'id': 551, 'image_count': 7}, {'id': 552, 'image_count': 74}, {'id': 553, 'image_count': 66}, {'id': 554, 'image_count': 57}, {'id': 555, 'image_count': 44}, {'id': 556, 'image_count': 1905}, {'id': 557, 'image_count': 4}, {'id': 558, 'image_count': 90}, {'id': 559, 'image_count': 1635}, {'id': 560, 'image_count': 8}, {'id': 561, 'image_count': 5}, {'id': 562, 'image_count': 50}, {'id': 563, 'image_count': 545}, {'id': 564, 'image_count': 20}, {'id': 565, 'image_count': 193}, {'id': 566, 'image_count': 285}, {'id': 567, 'image_count': 3}, {'id': 568, 'image_count': 1}, {'id': 569, 'image_count': 1904}, {'id': 570, 'image_count': 294}, {'id': 571, 'image_count': 3}, {'id': 572, 'image_count': 5}, {'id': 573, 'image_count': 24}, {'id': 574, 'image_count': 2}, {'id': 575, 'image_count': 2}, {'id': 576, 'image_count': 16}, {'id': 577, 'image_count': 8}, {'id': 578, 'image_count': 154}, {'id': 579, 'image_count': 66}, {'id': 580, 'image_count': 1}, {'id': 581, 'image_count': 24}, {'id': 582, 'image_count': 1}, {'id': 583, 'image_count': 4}, {'id': 584, 'image_count': 75}, {'id': 585, 'image_count': 6}, {'id': 586, 'image_count': 126}, {'id': 587, 'image_count': 24}, {'id': 588, 'image_count': 22}, {'id': 589, 'image_count': 1872}, {'id': 590, 'image_count': 16}, {'id': 591, 'image_count': 423}, {'id': 592, 'image_count': 1927}, {'id': 593, 'image_count': 38}, {'id': 594, 'image_count': 3}, {'id': 595, 'image_count': 1945}, {'id': 596, 'image_count': 35}, {'id': 597, 'image_count': 1}, {'id': 598, 'image_count': 13}, {'id': 599, 'image_count': 9}, {'id': 600, 'image_count': 14}, {'id': 601, 'image_count': 37}, {'id': 602, 'image_count': 3}, {'id': 603, 'image_count': 4}, {'id': 604, 'image_count': 100}, {'id': 605, 'image_count': 195}, {'id': 606, 'image_count': 1}, {'id': 607, 'image_count': 12}, {'id': 608, 'image_count': 24}, {'id': 609, 'image_count': 489}, {'id': 610, 'image_count': 10}, {'id': 611, 'image_count': 1689}, {'id': 612, 'image_count': 42}, {'id': 613, 'image_count': 81}, {'id': 614, 'image_count': 894}, {'id': 615, 'image_count': 1868}, {'id': 616, 'image_count': 7}, {'id': 617, 'image_count': 1567}, {'id': 618, 'image_count': 10}, {'id': 619, 'image_count': 8}, {'id': 620, 'image_count': 7}, {'id': 621, 'image_count': 629}, {'id': 622, 'image_count': 89}, {'id': 623, 'image_count': 15}, {'id': 624, 'image_count': 134}, {'id': 625, 'image_count': 4}, {'id': 626, 'image_count': 1802}, {'id': 627, 'image_count': 595}, {'id': 628, 'image_count': 1210}, {'id': 629, 'image_count': 48}, {'id': 630, 'image_count': 418}, {'id': 631, 'image_count': 1846}, {'id': 632, 'image_count': 5}, {'id': 633, 'image_count': 221}, {'id': 634, 'image_count': 10}, {'id': 635, 'image_count': 7}, {'id': 636, 'image_count': 76}, {'id': 637, 'image_count': 22}, {'id': 638, 'image_count': 10}, {'id': 639, 'image_count': 341}, {'id': 640, 'image_count': 1}, {'id': 641, 'image_count': 705}, {'id': 642, 'image_count': 1900}, {'id': 643, 'image_count': 188}, {'id': 644, 'image_count': 227}, {'id': 645, 'image_count': 861}, {'id': 646, 'image_count': 6}, {'id': 647, 'image_count': 115}, {'id': 648, 'image_count': 5}, {'id': 649, 'image_count': 43}, {'id': 650, 'image_count': 14}, {'id': 651, 'image_count': 6}, {'id': 652, 'image_count': 15}, {'id': 653, 'image_count': 1167}, {'id': 654, 'image_count': 15}, {'id': 655, 'image_count': 994}, {'id': 656, 'image_count': 28}, {'id': 657, 'image_count': 2}, {'id': 658, 'image_count': 338}, {'id': 659, 'image_count': 334}, {'id': 660, 'image_count': 15}, {'id': 661, 'image_count': 102}, {'id': 662, 'image_count': 1}, {'id': 663, 'image_count': 8}, {'id': 664, 'image_count': 1}, {'id': 665, 'image_count': 1}, {'id': 666, 'image_count': 28}, {'id': 667, 'image_count': 91}, {'id': 668, 'image_count': 260}, {'id': 669, 'image_count': 131}, {'id': 670, 'image_count': 128}, {'id': 671, 'image_count': 3}, {'id': 672, 'image_count': 10}, {'id': 673, 'image_count': 39}, {'id': 674, 'image_count': 2}, {'id': 675, 'image_count': 925}, {'id': 676, 'image_count': 354}, {'id': 677, 'image_count': 31}, {'id': 678, 'image_count': 10}, {'id': 679, 'image_count': 215}, {'id': 680, 'image_count': 71}, {'id': 681, 'image_count': 43}, {'id': 682, 'image_count': 28}, {'id': 683, 'image_count': 34}, {'id': 684, 'image_count': 16}, {'id': 685, 'image_count': 273}, {'id': 686, 'image_count': 2}, {'id': 687, 'image_count': 999}, {'id': 688, 'image_count': 4}, {'id': 689, 'image_count': 107}, {'id': 690, 'image_count': 2}, {'id': 691, 'image_count': 1}, {'id': 692, 'image_count': 454}, {'id': 693, 'image_count': 9}, {'id': 694, 'image_count': 1901}, {'id': 695, 'image_count': 61}, {'id': 696, 'image_count': 91}, {'id': 697, 'image_count': 46}, {'id': 698, 'image_count': 1402}, {'id': 699, 'image_count': 74}, {'id': 700, 'image_count': 421}, {'id': 701, 'image_count': 226}, {'id': 702, 'image_count': 10}, {'id': 703, 'image_count': 1720}, {'id': 704, 'image_count': 261}, {'id': 705, 'image_count': 1337}, {'id': 706, 'image_count': 293}, {'id': 707, 'image_count': 62}, {'id': 708, 'image_count': 814}, {'id': 709, 'image_count': 407}, {'id': 710, 'image_count': 6}, {'id': 711, 'image_count': 16}, {'id': 712, 'image_count': 7}, {'id': 713, 'image_count': 1791}, {'id': 714, 'image_count': 2}, {'id': 715, 'image_count': 1915}, {'id': 716, 'image_count': 1940}, {'id': 717, 'image_count': 13}, {'id': 718, 'image_count': 16}, {'id': 719, 'image_count': 448}, {'id': 720, 'image_count': 12}, {'id': 721, 'image_count': 18}, {'id': 722, 'image_count': 4}, {'id': 723, 'image_count': 71}, {'id': 724, 'image_count': 189}, {'id': 725, 'image_count': 74}, {'id': 726, 'image_count': 103}, {'id': 727, 'image_count': 3}, {'id': 728, 'image_count': 110}, {'id': 729, 'image_count': 5}, {'id': 730, 'image_count': 9}, {'id': 731, 'image_count': 15}, {'id': 732, 'image_count': 25}, {'id': 733, 'image_count': 7}, {'id': 734, 'image_count': 647}, {'id': 735, 'image_count': 824}, {'id': 736, 'image_count': 100}, {'id': 737, 'image_count': 47}, {'id': 738, 'image_count': 121}, {'id': 739, 'image_count': 731}, {'id': 740, 'image_count': 73}, {'id': 741, 'image_count': 49}, {'id': 742, 'image_count': 23}, {'id': 743, 'image_count': 4}, {'id': 744, 'image_count': 62}, {'id': 745, 'image_count': 118}, {'id': 746, 'image_count': 99}, {'id': 747, 'image_count': 40}, {'id': 748, 'image_count': 1036}, {'id': 749, 'image_count': 105}, {'id': 750, 'image_count': 21}, {'id': 751, 'image_count': 229}, {'id': 752, 'image_count': 7}, {'id': 753, 'image_count': 72}, {'id': 754, 'image_count': 9}, {'id': 755, 'image_count': 10}, {'id': 756, 'image_count': 328}, {'id': 757, 'image_count': 468}, {'id': 758, 'image_count': 1}, {'id': 759, 'image_count': 2}, {'id': 760, 'image_count': 24}, {'id': 761, 'image_count': 11}, {'id': 762, 'image_count': 72}, {'id': 763, 'image_count': 17}, {'id': 764, 'image_count': 10}, {'id': 765, 'image_count': 17}, {'id': 766, 'image_count': 489}, {'id': 767, 'image_count': 47}, {'id': 768, 'image_count': 93}, {'id': 769, 'image_count': 1}, {'id': 770, 'image_count': 12}, {'id': 771, 'image_count': 228}, {'id': 772, 'image_count': 5}, {'id': 773, 'image_count': 76}, {'id': 774, 'image_count': 71}, {'id': 775, 'image_count': 30}, {'id': 776, 'image_count': 109}, {'id': 777, 'image_count': 14}, {'id': 778, 'image_count': 1}, {'id': 779, 'image_count': 8}, {'id': 780, 'image_count': 26}, {'id': 781, 'image_count': 339}, {'id': 782, 'image_count': 153}, {'id': 783, 'image_count': 2}, {'id': 784, 'image_count': 3}, {'id': 785, 'image_count': 8}, {'id': 786, 'image_count': 47}, {'id': 787, 'image_count': 8}, {'id': 788, 'image_count': 6}, {'id': 789, 'image_count': 116}, {'id': 790, 'image_count': 69}, {'id': 791, 'image_count': 13}, {'id': 792, 'image_count': 6}, {'id': 793, 'image_count': 1928}, {'id': 794, 'image_count': 79}, {'id': 795, 'image_count': 14}, {'id': 796, 'image_count': 7}, {'id': 797, 'image_count': 20}, {'id': 798, 'image_count': 114}, {'id': 799, 'image_count': 221}, {'id': 800, 'image_count': 502}, {'id': 801, 'image_count': 62}, {'id': 802, 'image_count': 87}, {'id': 803, 'image_count': 4}, {'id': 804, 'image_count': 1912}, {'id': 805, 'image_count': 7}, {'id': 806, 'image_count': 186}, {'id': 807, 'image_count': 18}, {'id': 808, 'image_count': 4}, {'id': 809, 'image_count': 3}, {'id': 810, 'image_count': 7}, {'id': 811, 'image_count': 1413}, {'id': 812, 'image_count': 7}, {'id': 813, 'image_count': 12}, {'id': 814, 'image_count': 248}, {'id': 815, 'image_count': 4}, {'id': 816, 'image_count': 1881}, {'id': 817, 'image_count': 529}, {'id': 818, 'image_count': 1932}, {'id': 819, 'image_count': 50}, {'id': 820, 'image_count': 3}, {'id': 821, 'image_count': 28}, {'id': 822, 'image_count': 10}, {'id': 823, 'image_count': 5}, {'id': 824, 'image_count': 5}, {'id': 825, 'image_count': 18}, {'id': 826, 'image_count': 14}, {'id': 827, 'image_count': 1890}, {'id': 828, 'image_count': 660}, {'id': 829, 'image_count': 8}, {'id': 830, 'image_count': 25}, {'id': 831, 'image_count': 10}, {'id': 832, 'image_count': 218}, {'id': 833, 'image_count': 36}, {'id': 834, 'image_count': 16}, {'id': 835, 'image_count': 808}, {'id': 836, 'image_count': 479}, {'id': 837, 'image_count': 1404}, {'id': 838, 'image_count': 307}, {'id': 839, 'image_count': 57}, {'id': 840, 'image_count': 28}, {'id': 841, 'image_count': 80}, {'id': 842, 'image_count': 11}, {'id': 843, 'image_count': 92}, {'id': 844, 'image_count': 20}, {'id': 845, 'image_count': 194}, {'id': 846, 'image_count': 23}, {'id': 847, 'image_count': 52}, {'id': 848, 'image_count': 673}, {'id': 849, 'image_count': 2}, {'id': 850, 'image_count': 2}, {'id': 851, 'image_count': 1}, {'id': 852, 'image_count': 2}, {'id': 853, 'image_count': 8}, {'id': 854, 'image_count': 80}, {'id': 855, 'image_count': 3}, {'id': 856, 'image_count': 3}, {'id': 857, 'image_count': 15}, {'id': 858, 'image_count': 2}, {'id': 859, 'image_count': 10}, {'id': 860, 'image_count': 386}, {'id': 861, 'image_count': 65}, {'id': 862, 'image_count': 3}, {'id': 863, 'image_count': 35}, {'id': 864, 'image_count': 5}, {'id': 865, 'image_count': 180}, {'id': 866, 'image_count': 99}, {'id': 867, 'image_count': 49}, {'id': 868, 'image_count': 28}, {'id': 869, 'image_count': 1}, {'id': 870, 'image_count': 52}, {'id': 871, 'image_count': 36}, {'id': 872, 'image_count': 70}, {'id': 873, 'image_count': 6}, {'id': 874, 'image_count': 29}, {'id': 875, 'image_count': 24}, {'id': 876, 'image_count': 1115}, {'id': 877, 'image_count': 61}, {'id': 878, 'image_count': 18}, {'id': 879, 'image_count': 18}, {'id': 880, 'image_count': 665}, {'id': 881, 'image_count': 1096}, {'id': 882, 'image_count': 29}, {'id': 883, 'image_count': 8}, {'id': 884, 'image_count': 14}, {'id': 885, 'image_count': 1622}, {'id': 886, 'image_count': 2}, {'id': 887, 'image_count': 3}, {'id': 888, 'image_count': 32}, {'id': 889, 'image_count': 55}, {'id': 890, 'image_count': 1}, {'id': 891, 'image_count': 10}, {'id': 892, 'image_count': 10}, {'id': 893, 'image_count': 47}, {'id': 894, 'image_count': 3}, {'id': 895, 'image_count': 29}, {'id': 896, 'image_count': 342}, {'id': 897, 'image_count': 25}, {'id': 898, 'image_count': 1469}, {'id': 899, 'image_count': 521}, {'id': 900, 'image_count': 347}, {'id': 901, 'image_count': 35}, {'id': 902, 'image_count': 7}, {'id': 903, 'image_count': 207}, {'id': 904, 'image_count': 108}, {'id': 905, 'image_count': 2}, {'id': 906, 'image_count': 34}, {'id': 907, 'image_count': 12}, {'id': 908, 'image_count': 10}, {'id': 909, 'image_count': 13}, {'id': 910, 'image_count': 361}, {'id': 911, 'image_count': 1023}, {'id': 912, 'image_count': 782}, {'id': 913, 'image_count': 2}, {'id': 914, 'image_count': 5}, {'id': 915, 'image_count': 247}, {'id': 916, 'image_count': 221}, {'id': 917, 'image_count': 4}, {'id': 918, 'image_count': 8}, {'id': 919, 'image_count': 158}, {'id': 920, 'image_count': 3}, {'id': 921, 'image_count': 752}, {'id': 922, 'image_count': 64}, {'id': 923, 'image_count': 707}, {'id': 924, 'image_count': 143}, {'id': 925, 'image_count': 1}, {'id': 926, 'image_count': 49}, {'id': 927, 'image_count': 126}, {'id': 928, 'image_count': 76}, {'id': 929, 'image_count': 11}, {'id': 930, 'image_count': 11}, {'id': 931, 'image_count': 4}, {'id': 932, 'image_count': 39}, {'id': 933, 'image_count': 11}, {'id': 934, 'image_count': 13}, {'id': 935, 'image_count': 91}, {'id': 936, 'image_count': 14}, {'id': 937, 'image_count': 5}, {'id': 938, 'image_count': 3}, {'id': 939, 'image_count': 10}, {'id': 940, 'image_count': 18}, {'id': 941, 'image_count': 9}, {'id': 942, 'image_count': 6}, {'id': 943, 'image_count': 951}, {'id': 944, 'image_count': 2}, {'id': 945, 'image_count': 1}, {'id': 946, 'image_count': 19}, {'id': 947, 'image_count': 1942}, {'id': 948, 'image_count': 1916}, {'id': 949, 'image_count': 139}, {'id': 950, 'image_count': 43}, {'id': 951, 'image_count': 1969}, {'id': 952, 'image_count': 5}, {'id': 953, 'image_count': 134}, {'id': 954, 'image_count': 74}, {'id': 955, 'image_count': 381}, {'id': 956, 'image_count': 1}, {'id': 957, 'image_count': 381}, {'id': 958, 'image_count': 6}, {'id': 959, 'image_count': 1826}, {'id': 960, 'image_count': 28}, {'id': 961, 'image_count': 1635}, {'id': 962, 'image_count': 1967}, {'id': 963, 'image_count': 16}, {'id': 964, 'image_count': 1926}, {'id': 965, 'image_count': 1789}, {'id': 966, 'image_count': 401}, {'id': 967, 'image_count': 1968}, {'id': 968, 'image_count': 1167}, {'id': 969, 'image_count': 1}, {'id': 970, 'image_count': 56}, {'id': 971, 'image_count': 17}, {'id': 972, 'image_count': 1}, {'id': 973, 'image_count': 58}, {'id': 974, 'image_count': 9}, {'id': 975, 'image_count': 8}, {'id': 976, 'image_count': 1124}, {'id': 977, 'image_count': 31}, {'id': 978, 'image_count': 16}, {'id': 979, 'image_count': 491}, {'id': 980, 'image_count': 432}, {'id': 981, 'image_count': 1945}, {'id': 982, 'image_count': 1899}, {'id': 983, 'image_count': 5}, {'id': 984, 'image_count': 28}, {'id': 985, 'image_count': 7}, {'id': 986, 'image_count': 146}, {'id': 987, 'image_count': 1}, {'id': 988, 'image_count': 25}, {'id': 989, 'image_count': 22}, {'id': 990, 'image_count': 1}, {'id': 991, 'image_count': 10}, {'id': 992, 'image_count': 9}, {'id': 993, 'image_count': 308}, {'id': 994, 'image_count': 4}, {'id': 995, 'image_count': 1969}, {'id': 996, 'image_count': 45}, {'id': 997, 'image_count': 12}, {'id': 998, 'image_count': 1}, {'id': 999, 'image_count': 85}, {'id': 1000, 'image_count': 1127}, {'id': 1001, 'image_count': 11}, {'id': 1002, 'image_count': 60}, {'id': 1003, 'image_count': 1}, {'id': 1004, 'image_count': 16}, {'id': 1005, 'image_count': 1}, {'id': 1006, 'image_count': 65}, {'id': 1007, 'image_count': 13}, {'id': 1008, 'image_count': 655}, {'id': 1009, 'image_count': 51}, {'id': 1010, 'image_count': 1}, {'id': 1011, 'image_count': 673}, {'id': 1012, 'image_count': 5}, {'id': 1013, 'image_count': 36}, {'id': 1014, 'image_count': 54}, {'id': 1015, 'image_count': 5}, {'id': 1016, 'image_count': 8}, {'id': 1017, 'image_count': 305}, {'id': 1018, 'image_count': 297}, {'id': 1019, 'image_count': 1053}, {'id': 1020, 'image_count': 223}, {'id': 1021, 'image_count': 1037}, {'id': 1022, 'image_count': 63}, {'id': 1023, 'image_count': 1881}, {'id': 1024, 'image_count': 507}, {'id': 1025, 'image_count': 333}, {'id': 1026, 'image_count': 1911}, {'id': 1027, 'image_count': 1765}, {'id': 1028, 'image_count': 1}, {'id': 1029, 'image_count': 5}, {'id': 1030, 'image_count': 1}, {'id': 1031, 'image_count': 9}, {'id': 1032, 'image_count': 2}, {'id': 1033, 'image_count': 151}, {'id': 1034, 'image_count': 82}, {'id': 1035, 'image_count': 1931}, {'id': 1036, 'image_count': 41}, {'id': 1037, 'image_count': 1895}, {'id': 1038, 'image_count': 24}, {'id': 1039, 'image_count': 22}, {'id': 1040, 'image_count': 35}, {'id': 1041, 'image_count': 69}, {'id': 1042, 'image_count': 962}, {'id': 1043, 'image_count': 588}, {'id': 1044, 'image_count': 21}, {'id': 1045, 'image_count': 825}, {'id': 1046, 'image_count': 52}, {'id': 1047, 'image_count': 5}, {'id': 1048, 'image_count': 5}, {'id': 1049, 'image_count': 5}, {'id': 1050, 'image_count': 1860}, {'id': 1051, 'image_count': 56}, {'id': 1052, 'image_count': 1582}, {'id': 1053, 'image_count': 7}, {'id': 1054, 'image_count': 2}, {'id': 1055, 'image_count': 1562}, {'id': 1056, 'image_count': 1885}, {'id': 1057, 'image_count': 1}, {'id': 1058, 'image_count': 5}, {'id': 1059, 'image_count': 137}, {'id': 1060, 'image_count': 1094}, {'id': 1061, 'image_count': 134}, {'id': 1062, 'image_count': 29}, {'id': 1063, 'image_count': 22}, {'id': 1064, 'image_count': 522}, {'id': 1065, 'image_count': 50}, {'id': 1066, 'image_count': 68}, {'id': 1067, 'image_count': 16}, {'id': 1068, 'image_count': 40}, {'id': 1069, 'image_count': 35}, {'id': 1070, 'image_count': 135}, {'id': 1071, 'image_count': 1413}, {'id': 1072, 'image_count': 772}, {'id': 1073, 'image_count': 50}, {'id': 1074, 'image_count': 1015}, {'id': 1075, 'image_count': 1}, {'id': 1076, 'image_count': 65}, {'id': 1077, 'image_count': 1900}, {'id': 1078, 'image_count': 1302}, {'id': 1079, 'image_count': 1977}, {'id': 1080, 'image_count': 2}, {'id': 1081, 'image_count': 29}, {'id': 1082, 'image_count': 36}, {'id': 1083, 'image_count': 138}, {'id': 1084, 'image_count': 4}, {'id': 1085, 'image_count': 67}, {'id': 1086, 'image_count': 26}, {'id': 1087, 'image_count': 25}, {'id': 1088, 'image_count': 33}, {'id': 1089, 'image_count': 37}, {'id': 1090, 'image_count': 50}, {'id': 1091, 'image_count': 270}, {'id': 1092, 'image_count': 12}, {'id': 1093, 'image_count': 316}, {'id': 1094, 'image_count': 41}, {'id': 1095, 'image_count': 224}, {'id': 1096, 'image_count': 105}, {'id': 1097, 'image_count': 1925}, {'id': 1098, 'image_count': 1021}, {'id': 1099, 'image_count': 1213}, {'id': 1100, 'image_count': 172}, {'id': 1101, 'image_count': 28}, {'id': 1102, 'image_count': 745}, {'id': 1103, 'image_count': 187}, {'id': 1104, 'image_count': 147}, {'id': 1105, 'image_count': 136}, {'id': 1106, 'image_count': 34}, {'id': 1107, 'image_count': 41}, {'id': 1108, 'image_count': 636}, {'id': 1109, 'image_count': 570}, {'id': 1110, 'image_count': 1149}, {'id': 1111, 'image_count': 61}, {'id': 1112, 'image_count': 1890}, {'id': 1113, 'image_count': 18}, {'id': 1114, 'image_count': 143}, {'id': 1115, 'image_count': 1517}, {'id': 1116, 'image_count': 7}, {'id': 1117, 'image_count': 943}, {'id': 1118, 'image_count': 6}, {'id': 1119, 'image_count': 1}, {'id': 1120, 'image_count': 11}, {'id': 1121, 'image_count': 101}, {'id': 1122, 'image_count': 1909}, {'id': 1123, 'image_count': 800}, {'id': 1124, 'image_count': 1}, {'id': 1125, 'image_count': 44}, {'id': 1126, 'image_count': 3}, {'id': 1127, 'image_count': 44}, {'id': 1128, 'image_count': 31}, {'id': 1129, 'image_count': 7}, {'id': 1130, 'image_count': 20}, {'id': 1131, 'image_count': 11}, {'id': 1132, 'image_count': 13}, {'id': 1133, 'image_count': 1924}, {'id': 1134, 'image_count': 113}, {'id': 1135, 'image_count': 2}, {'id': 1136, 'image_count': 139}, {'id': 1137, 'image_count': 12}, {'id': 1138, 'image_count': 37}, {'id': 1139, 'image_count': 1866}, {'id': 1140, 'image_count': 47}, {'id': 1141, 'image_count': 1468}, {'id': 1142, 'image_count': 729}, {'id': 1143, 'image_count': 24}, {'id': 1144, 'image_count': 1}, {'id': 1145, 'image_count': 10}, {'id': 1146, 'image_count': 3}, {'id': 1147, 'image_count': 14}, {'id': 1148, 'image_count': 4}, {'id': 1149, 'image_count': 29}, {'id': 1150, 'image_count': 4}, {'id': 1151, 'image_count': 70}, {'id': 1152, 'image_count': 46}, {'id': 1153, 'image_count': 14}, {'id': 1154, 'image_count': 48}, {'id': 1155, 'image_count': 1855}, {'id': 1156, 'image_count': 113}, {'id': 1157, 'image_count': 1}, {'id': 1158, 'image_count': 1}, {'id': 1159, 'image_count': 10}, {'id': 1160, 'image_count': 54}, {'id': 1161, 'image_count': 1923}, {'id': 1162, 'image_count': 630}, {'id': 1163, 'image_count': 31}, {'id': 1164, 'image_count': 69}, {'id': 1165, 'image_count': 7}, {'id': 1166, 'image_count': 11}, {'id': 1167, 'image_count': 1}, {'id': 1168, 'image_count': 30}, {'id': 1169, 'image_count': 50}, {'id': 1170, 'image_count': 45}, {'id': 1171, 'image_count': 28}, {'id': 1172, 'image_count': 114}, {'id': 1173, 'image_count': 193}, {'id': 1174, 'image_count': 21}, {'id': 1175, 'image_count': 91}, {'id': 1176, 'image_count': 31}, {'id': 1177, 'image_count': 1469}, {'id': 1178, 'image_count': 1924}, {'id': 1179, 'image_count': 87}, {'id': 1180, 'image_count': 77}, {'id': 1181, 'image_count': 11}, {'id': 1182, 'image_count': 47}, {'id': 1183, 'image_count': 21}, {'id': 1184, 'image_count': 47}, {'id': 1185, 'image_count': 70}, {'id': 1186, 'image_count': 1838}, {'id': 1187, 'image_count': 19}, {'id': 1188, 'image_count': 531}, {'id': 1189, 'image_count': 11}, {'id': 1190, 'image_count': 941}, {'id': 1191, 'image_count': 113}, {'id': 1192, 'image_count': 26}, {'id': 1193, 'image_count': 5}, {'id': 1194, 'image_count': 56}, {'id': 1195, 'image_count': 73}, {'id': 1196, 'image_count': 32}, {'id': 1197, 'image_count': 128}, {'id': 1198, 'image_count': 623}, {'id': 1199, 'image_count': 12}, {'id': 1200, 'image_count': 52}, {'id': 1201, 'image_count': 11}, {'id': 1202, 'image_count': 1674}, {'id': 1203, 'image_count': 81}] # noqa
+# fmt: on
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/datasets/pascal_voc.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/datasets/pascal_voc.py
new file mode 100644
index 0000000000000000000000000000000000000000..919cc4920394d3cb87ad5232adcbedc250e4db26
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/datasets/pascal_voc.py
@@ -0,0 +1,82 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) Facebook, Inc. and its affiliates.
+
+import numpy as np
+import os
+import xml.etree.ElementTree as ET
+from typing import List, Tuple, Union
+
+from annotator.oneformer.detectron2.data import DatasetCatalog, MetadataCatalog
+from annotator.oneformer.detectron2.structures import BoxMode
+from annotator.oneformer.detectron2.utils.file_io import PathManager
+
+__all__ = ["load_voc_instances", "register_pascal_voc"]
+
+
+# fmt: off
+CLASS_NAMES = (
+ "aeroplane", "bicycle", "bird", "boat", "bottle", "bus", "car", "cat",
+ "chair", "cow", "diningtable", "dog", "horse", "motorbike", "person",
+ "pottedplant", "sheep", "sofa", "train", "tvmonitor"
+)
+# fmt: on
+
+
+def load_voc_instances(dirname: str, split: str, class_names: Union[List[str], Tuple[str, ...]]):
+ """
+ Load Pascal VOC detection annotations to Detectron2 format.
+
+ Args:
+ dirname: Contain "Annotations", "ImageSets", "JPEGImages"
+ split (str): one of "train", "test", "val", "trainval"
+ class_names: list or tuple of class names
+ """
+ with PathManager.open(os.path.join(dirname, "ImageSets", "Main", split + ".txt")) as f:
+ fileids = np.loadtxt(f, dtype=np.str)
+
+ # Needs to read many small annotation files. Makes sense at local
+ annotation_dirname = PathManager.get_local_path(os.path.join(dirname, "Annotations/"))
+ dicts = []
+ for fileid in fileids:
+ anno_file = os.path.join(annotation_dirname, fileid + ".xml")
+ jpeg_file = os.path.join(dirname, "JPEGImages", fileid + ".jpg")
+
+ with PathManager.open(anno_file) as f:
+ tree = ET.parse(f)
+
+ r = {
+ "file_name": jpeg_file,
+ "image_id": fileid,
+ "height": int(tree.findall("./size/height")[0].text),
+ "width": int(tree.findall("./size/width")[0].text),
+ }
+ instances = []
+
+ for obj in tree.findall("object"):
+ cls = obj.find("name").text
+ # We include "difficult" samples in training.
+ # Based on limited experiments, they don't hurt accuracy.
+ # difficult = int(obj.find("difficult").text)
+ # if difficult == 1:
+ # continue
+ bbox = obj.find("bndbox")
+ bbox = [float(bbox.find(x).text) for x in ["xmin", "ymin", "xmax", "ymax"]]
+ # Original annotations are integers in the range [1, W or H]
+ # Assuming they mean 1-based pixel indices (inclusive),
+ # a box with annotation (xmin=1, xmax=W) covers the whole image.
+ # In coordinate space this is represented by (xmin=0, xmax=W)
+ bbox[0] -= 1.0
+ bbox[1] -= 1.0
+ instances.append(
+ {"category_id": class_names.index(cls), "bbox": bbox, "bbox_mode": BoxMode.XYXY_ABS}
+ )
+ r["annotations"] = instances
+ dicts.append(r)
+ return dicts
+
+
+def register_pascal_voc(name, dirname, split, year, class_names=CLASS_NAMES):
+ DatasetCatalog.register(name, lambda: load_voc_instances(dirname, split, class_names))
+ MetadataCatalog.get(name).set(
+ thing_classes=list(class_names), dirname=dirname, year=year, split=split
+ )
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/datasets/register_coco.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/datasets/register_coco.py
new file mode 100644
index 0000000000000000000000000000000000000000..e564438d5bf016bcdbb65b4bbdc215d79f579f8a
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/datasets/register_coco.py
@@ -0,0 +1,3 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+from .coco import register_coco_instances # noqa
+from .coco_panoptic import register_coco_panoptic_separated # noqa
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/detection_utils.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/detection_utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..b00ca9126d22ecde050d0bb8501871b2cf8f13ff
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/detection_utils.py
@@ -0,0 +1,659 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) Facebook, Inc. and its affiliates.
+
+"""
+Common data processing utilities that are used in a
+typical object detection data pipeline.
+"""
+import logging
+import numpy as np
+from typing import List, Union
+import annotator.oneformer.pycocotools.mask as mask_util
+import torch
+from PIL import Image
+
+from annotator.oneformer.detectron2.structures import (
+ BitMasks,
+ Boxes,
+ BoxMode,
+ Instances,
+ Keypoints,
+ PolygonMasks,
+ RotatedBoxes,
+ polygons_to_bitmask,
+)
+from annotator.oneformer.detectron2.utils.file_io import PathManager
+
+from . import transforms as T
+from .catalog import MetadataCatalog
+
+__all__ = [
+ "SizeMismatchError",
+ "convert_image_to_rgb",
+ "check_image_size",
+ "transform_proposals",
+ "transform_instance_annotations",
+ "annotations_to_instances",
+ "annotations_to_instances_rotated",
+ "build_augmentation",
+ "build_transform_gen",
+ "create_keypoint_hflip_indices",
+ "filter_empty_instances",
+ "read_image",
+]
+
+
+class SizeMismatchError(ValueError):
+ """
+ When loaded image has difference width/height compared with annotation.
+ """
+
+
+# https://en.wikipedia.org/wiki/YUV#SDTV_with_BT.601
+_M_RGB2YUV = [[0.299, 0.587, 0.114], [-0.14713, -0.28886, 0.436], [0.615, -0.51499, -0.10001]]
+_M_YUV2RGB = [[1.0, 0.0, 1.13983], [1.0, -0.39465, -0.58060], [1.0, 2.03211, 0.0]]
+
+# https://www.exiv2.org/tags.html
+_EXIF_ORIENT = 274 # exif 'Orientation' tag
+
+
+def convert_PIL_to_numpy(image, format):
+ """
+ Convert PIL image to numpy array of target format.
+
+ Args:
+ image (PIL.Image): a PIL image
+ format (str): the format of output image
+
+ Returns:
+ (np.ndarray): also see `read_image`
+ """
+ if format is not None:
+ # PIL only supports RGB, so convert to RGB and flip channels over below
+ conversion_format = format
+ if format in ["BGR", "YUV-BT.601"]:
+ conversion_format = "RGB"
+ image = image.convert(conversion_format)
+ image = np.asarray(image)
+ # PIL squeezes out the channel dimension for "L", so make it HWC
+ if format == "L":
+ image = np.expand_dims(image, -1)
+
+ # handle formats not supported by PIL
+ elif format == "BGR":
+ # flip channels if needed
+ image = image[:, :, ::-1]
+ elif format == "YUV-BT.601":
+ image = image / 255.0
+ image = np.dot(image, np.array(_M_RGB2YUV).T)
+
+ return image
+
+
+def convert_image_to_rgb(image, format):
+ """
+ Convert an image from given format to RGB.
+
+ Args:
+ image (np.ndarray or Tensor): an HWC image
+ format (str): the format of input image, also see `read_image`
+
+ Returns:
+ (np.ndarray): (H,W,3) RGB image in 0-255 range, can be either float or uint8
+ """
+ if isinstance(image, torch.Tensor):
+ image = image.cpu().numpy()
+ if format == "BGR":
+ image = image[:, :, [2, 1, 0]]
+ elif format == "YUV-BT.601":
+ image = np.dot(image, np.array(_M_YUV2RGB).T)
+ image = image * 255.0
+ else:
+ if format == "L":
+ image = image[:, :, 0]
+ image = image.astype(np.uint8)
+ image = np.asarray(Image.fromarray(image, mode=format).convert("RGB"))
+ return image
+
+
+def _apply_exif_orientation(image):
+ """
+ Applies the exif orientation correctly.
+
+ This code exists per the bug:
+ https://github.com/python-pillow/Pillow/issues/3973
+ with the function `ImageOps.exif_transpose`. The Pillow source raises errors with
+ various methods, especially `tobytes`
+
+ Function based on:
+ https://github.com/wkentaro/labelme/blob/v4.5.4/labelme/utils/image.py#L59
+ https://github.com/python-pillow/Pillow/blob/7.1.2/src/PIL/ImageOps.py#L527
+
+ Args:
+ image (PIL.Image): a PIL image
+
+ Returns:
+ (PIL.Image): the PIL image with exif orientation applied, if applicable
+ """
+ if not hasattr(image, "getexif"):
+ return image
+
+ try:
+ exif = image.getexif()
+ except Exception: # https://github.com/facebookresearch/detectron2/issues/1885
+ exif = None
+
+ if exif is None:
+ return image
+
+ orientation = exif.get(_EXIF_ORIENT)
+
+ method = {
+ 2: Image.FLIP_LEFT_RIGHT,
+ 3: Image.ROTATE_180,
+ 4: Image.FLIP_TOP_BOTTOM,
+ 5: Image.TRANSPOSE,
+ 6: Image.ROTATE_270,
+ 7: Image.TRANSVERSE,
+ 8: Image.ROTATE_90,
+ }.get(orientation)
+
+ if method is not None:
+ return image.transpose(method)
+ return image
+
+
+def read_image(file_name, format=None):
+ """
+ Read an image into the given format.
+ Will apply rotation and flipping if the image has such exif information.
+
+ Args:
+ file_name (str): image file path
+ format (str): one of the supported image modes in PIL, or "BGR" or "YUV-BT.601".
+
+ Returns:
+ image (np.ndarray):
+ an HWC image in the given format, which is 0-255, uint8 for
+ supported image modes in PIL or "BGR"; float (0-1 for Y) for YUV-BT.601.
+ """
+ with PathManager.open(file_name, "rb") as f:
+ image = Image.open(f)
+
+ # work around this bug: https://github.com/python-pillow/Pillow/issues/3973
+ image = _apply_exif_orientation(image)
+ return convert_PIL_to_numpy(image, format)
+
+
+def check_image_size(dataset_dict, image):
+ """
+ Raise an error if the image does not match the size specified in the dict.
+ """
+ if "width" in dataset_dict or "height" in dataset_dict:
+ image_wh = (image.shape[1], image.shape[0])
+ expected_wh = (dataset_dict["width"], dataset_dict["height"])
+ if not image_wh == expected_wh:
+ raise SizeMismatchError(
+ "Mismatched image shape{}, got {}, expect {}.".format(
+ " for image " + dataset_dict["file_name"]
+ if "file_name" in dataset_dict
+ else "",
+ image_wh,
+ expected_wh,
+ )
+ + " Please check the width/height in your annotation."
+ )
+
+ # To ensure bbox always remap to original image size
+ if "width" not in dataset_dict:
+ dataset_dict["width"] = image.shape[1]
+ if "height" not in dataset_dict:
+ dataset_dict["height"] = image.shape[0]
+
+
+def transform_proposals(dataset_dict, image_shape, transforms, *, proposal_topk, min_box_size=0):
+ """
+ Apply transformations to the proposals in dataset_dict, if any.
+
+ Args:
+ dataset_dict (dict): a dict read from the dataset, possibly
+ contains fields "proposal_boxes", "proposal_objectness_logits", "proposal_bbox_mode"
+ image_shape (tuple): height, width
+ transforms (TransformList):
+ proposal_topk (int): only keep top-K scoring proposals
+ min_box_size (int): proposals with either side smaller than this
+ threshold are removed
+
+ The input dict is modified in-place, with abovementioned keys removed. A new
+ key "proposals" will be added. Its value is an `Instances`
+ object which contains the transformed proposals in its field
+ "proposal_boxes" and "objectness_logits".
+ """
+ if "proposal_boxes" in dataset_dict:
+ # Transform proposal boxes
+ boxes = transforms.apply_box(
+ BoxMode.convert(
+ dataset_dict.pop("proposal_boxes"),
+ dataset_dict.pop("proposal_bbox_mode"),
+ BoxMode.XYXY_ABS,
+ )
+ )
+ boxes = Boxes(boxes)
+ objectness_logits = torch.as_tensor(
+ dataset_dict.pop("proposal_objectness_logits").astype("float32")
+ )
+
+ boxes.clip(image_shape)
+ keep = boxes.nonempty(threshold=min_box_size)
+ boxes = boxes[keep]
+ objectness_logits = objectness_logits[keep]
+
+ proposals = Instances(image_shape)
+ proposals.proposal_boxes = boxes[:proposal_topk]
+ proposals.objectness_logits = objectness_logits[:proposal_topk]
+ dataset_dict["proposals"] = proposals
+
+
+def get_bbox(annotation):
+ """
+ Get bbox from data
+ Args:
+ annotation (dict): dict of instance annotations for a single instance.
+ Returns:
+ bbox (ndarray): x1, y1, x2, y2 coordinates
+ """
+ # bbox is 1d (per-instance bounding box)
+ bbox = BoxMode.convert(annotation["bbox"], annotation["bbox_mode"], BoxMode.XYXY_ABS)
+ return bbox
+
+
+def transform_instance_annotations(
+ annotation, transforms, image_size, *, keypoint_hflip_indices=None
+):
+ """
+ Apply transforms to box, segmentation and keypoints annotations of a single instance.
+
+ It will use `transforms.apply_box` for the box, and
+ `transforms.apply_coords` for segmentation polygons & keypoints.
+ If you need anything more specially designed for each data structure,
+ you'll need to implement your own version of this function or the transforms.
+
+ Args:
+ annotation (dict): dict of instance annotations for a single instance.
+ It will be modified in-place.
+ transforms (TransformList or list[Transform]):
+ image_size (tuple): the height, width of the transformed image
+ keypoint_hflip_indices (ndarray[int]): see `create_keypoint_hflip_indices`.
+
+ Returns:
+ dict:
+ the same input dict with fields "bbox", "segmentation", "keypoints"
+ transformed according to `transforms`.
+ The "bbox_mode" field will be set to XYXY_ABS.
+ """
+ if isinstance(transforms, (tuple, list)):
+ transforms = T.TransformList(transforms)
+ # bbox is 1d (per-instance bounding box)
+ bbox = BoxMode.convert(annotation["bbox"], annotation["bbox_mode"], BoxMode.XYXY_ABS)
+ # clip transformed bbox to image size
+ bbox = transforms.apply_box(np.array([bbox]))[0].clip(min=0)
+ annotation["bbox"] = np.minimum(bbox, list(image_size + image_size)[::-1])
+ annotation["bbox_mode"] = BoxMode.XYXY_ABS
+
+ if "segmentation" in annotation:
+ # each instance contains 1 or more polygons
+ segm = annotation["segmentation"]
+ if isinstance(segm, list):
+ # polygons
+ polygons = [np.asarray(p).reshape(-1, 2) for p in segm]
+ annotation["segmentation"] = [
+ p.reshape(-1) for p in transforms.apply_polygons(polygons)
+ ]
+ elif isinstance(segm, dict):
+ # RLE
+ mask = mask_util.decode(segm)
+ mask = transforms.apply_segmentation(mask)
+ assert tuple(mask.shape[:2]) == image_size
+ annotation["segmentation"] = mask
+ else:
+ raise ValueError(
+ "Cannot transform segmentation of type '{}'!"
+ "Supported types are: polygons as list[list[float] or ndarray],"
+ " COCO-style RLE as a dict.".format(type(segm))
+ )
+
+ if "keypoints" in annotation:
+ keypoints = transform_keypoint_annotations(
+ annotation["keypoints"], transforms, image_size, keypoint_hflip_indices
+ )
+ annotation["keypoints"] = keypoints
+
+ return annotation
+
+
+def transform_keypoint_annotations(keypoints, transforms, image_size, keypoint_hflip_indices=None):
+ """
+ Transform keypoint annotations of an image.
+ If a keypoint is transformed out of image boundary, it will be marked "unlabeled" (visibility=0)
+
+ Args:
+ keypoints (list[float]): Nx3 float in Detectron2's Dataset format.
+ Each point is represented by (x, y, visibility).
+ transforms (TransformList):
+ image_size (tuple): the height, width of the transformed image
+ keypoint_hflip_indices (ndarray[int]): see `create_keypoint_hflip_indices`.
+ When `transforms` includes horizontal flip, will use the index
+ mapping to flip keypoints.
+ """
+ # (N*3,) -> (N, 3)
+ keypoints = np.asarray(keypoints, dtype="float64").reshape(-1, 3)
+ keypoints_xy = transforms.apply_coords(keypoints[:, :2])
+
+ # Set all out-of-boundary points to "unlabeled"
+ inside = (keypoints_xy >= np.array([0, 0])) & (keypoints_xy <= np.array(image_size[::-1]))
+ inside = inside.all(axis=1)
+ keypoints[:, :2] = keypoints_xy
+ keypoints[:, 2][~inside] = 0
+
+ # This assumes that HorizFlipTransform is the only one that does flip
+ do_hflip = sum(isinstance(t, T.HFlipTransform) for t in transforms.transforms) % 2 == 1
+
+ # Alternative way: check if probe points was horizontally flipped.
+ # probe = np.asarray([[0.0, 0.0], [image_width, 0.0]])
+ # probe_aug = transforms.apply_coords(probe.copy())
+ # do_hflip = np.sign(probe[1][0] - probe[0][0]) != np.sign(probe_aug[1][0] - probe_aug[0][0]) # noqa
+
+ # If flipped, swap each keypoint with its opposite-handed equivalent
+ if do_hflip:
+ if keypoint_hflip_indices is None:
+ raise ValueError("Cannot flip keypoints without providing flip indices!")
+ if len(keypoints) != len(keypoint_hflip_indices):
+ raise ValueError(
+ "Keypoint data has {} points, but metadata "
+ "contains {} points!".format(len(keypoints), len(keypoint_hflip_indices))
+ )
+ keypoints = keypoints[np.asarray(keypoint_hflip_indices, dtype=np.int32), :]
+
+ # Maintain COCO convention that if visibility == 0 (unlabeled), then x, y = 0
+ keypoints[keypoints[:, 2] == 0] = 0
+ return keypoints
+
+
+def annotations_to_instances(annos, image_size, mask_format="polygon"):
+ """
+ Create an :class:`Instances` object used by the models,
+ from instance annotations in the dataset dict.
+
+ Args:
+ annos (list[dict]): a list of instance annotations in one image, each
+ element for one instance.
+ image_size (tuple): height, width
+
+ Returns:
+ Instances:
+ It will contain fields "gt_boxes", "gt_classes",
+ "gt_masks", "gt_keypoints", if they can be obtained from `annos`.
+ This is the format that builtin models expect.
+ """
+ boxes = (
+ np.stack(
+ [BoxMode.convert(obj["bbox"], obj["bbox_mode"], BoxMode.XYXY_ABS) for obj in annos]
+ )
+ if len(annos)
+ else np.zeros((0, 4))
+ )
+ target = Instances(image_size)
+ target.gt_boxes = Boxes(boxes)
+
+ classes = [int(obj["category_id"]) for obj in annos]
+ classes = torch.tensor(classes, dtype=torch.int64)
+ target.gt_classes = classes
+
+ if len(annos) and "segmentation" in annos[0]:
+ segms = [obj["segmentation"] for obj in annos]
+ if mask_format == "polygon":
+ try:
+ masks = PolygonMasks(segms)
+ except ValueError as e:
+ raise ValueError(
+ "Failed to use mask_format=='polygon' from the given annotations!"
+ ) from e
+ else:
+ assert mask_format == "bitmask", mask_format
+ masks = []
+ for segm in segms:
+ if isinstance(segm, list):
+ # polygon
+ masks.append(polygons_to_bitmask(segm, *image_size))
+ elif isinstance(segm, dict):
+ # COCO RLE
+ masks.append(mask_util.decode(segm))
+ elif isinstance(segm, np.ndarray):
+ assert segm.ndim == 2, "Expect segmentation of 2 dimensions, got {}.".format(
+ segm.ndim
+ )
+ # mask array
+ masks.append(segm)
+ else:
+ raise ValueError(
+ "Cannot convert segmentation of type '{}' to BitMasks!"
+ "Supported types are: polygons as list[list[float] or ndarray],"
+ " COCO-style RLE as a dict, or a binary segmentation mask "
+ " in a 2D numpy array of shape HxW.".format(type(segm))
+ )
+ # torch.from_numpy does not support array with negative stride.
+ masks = BitMasks(
+ torch.stack([torch.from_numpy(np.ascontiguousarray(x)) for x in masks])
+ )
+ target.gt_masks = masks
+
+ if len(annos) and "keypoints" in annos[0]:
+ kpts = [obj.get("keypoints", []) for obj in annos]
+ target.gt_keypoints = Keypoints(kpts)
+
+ return target
+
+
+def annotations_to_instances_rotated(annos, image_size):
+ """
+ Create an :class:`Instances` object used by the models,
+ from instance annotations in the dataset dict.
+ Compared to `annotations_to_instances`, this function is for rotated boxes only
+
+ Args:
+ annos (list[dict]): a list of instance annotations in one image, each
+ element for one instance.
+ image_size (tuple): height, width
+
+ Returns:
+ Instances:
+ Containing fields "gt_boxes", "gt_classes",
+ if they can be obtained from `annos`.
+ This is the format that builtin models expect.
+ """
+ boxes = [obj["bbox"] for obj in annos]
+ target = Instances(image_size)
+ boxes = target.gt_boxes = RotatedBoxes(boxes)
+ boxes.clip(image_size)
+
+ classes = [obj["category_id"] for obj in annos]
+ classes = torch.tensor(classes, dtype=torch.int64)
+ target.gt_classes = classes
+
+ return target
+
+
+def filter_empty_instances(
+ instances, by_box=True, by_mask=True, box_threshold=1e-5, return_mask=False
+):
+ """
+ Filter out empty instances in an `Instances` object.
+
+ Args:
+ instances (Instances):
+ by_box (bool): whether to filter out instances with empty boxes
+ by_mask (bool): whether to filter out instances with empty masks
+ box_threshold (float): minimum width and height to be considered non-empty
+ return_mask (bool): whether to return boolean mask of filtered instances
+
+ Returns:
+ Instances: the filtered instances.
+ tensor[bool], optional: boolean mask of filtered instances
+ """
+ assert by_box or by_mask
+ r = []
+ if by_box:
+ r.append(instances.gt_boxes.nonempty(threshold=box_threshold))
+ if instances.has("gt_masks") and by_mask:
+ r.append(instances.gt_masks.nonempty())
+
+ # TODO: can also filter visible keypoints
+
+ if not r:
+ return instances
+ m = r[0]
+ for x in r[1:]:
+ m = m & x
+ if return_mask:
+ return instances[m], m
+ return instances[m]
+
+
+def create_keypoint_hflip_indices(dataset_names: Union[str, List[str]]) -> List[int]:
+ """
+ Args:
+ dataset_names: list of dataset names
+
+ Returns:
+ list[int]: a list of size=#keypoints, storing the
+ horizontally-flipped keypoint indices.
+ """
+ if isinstance(dataset_names, str):
+ dataset_names = [dataset_names]
+
+ check_metadata_consistency("keypoint_names", dataset_names)
+ check_metadata_consistency("keypoint_flip_map", dataset_names)
+
+ meta = MetadataCatalog.get(dataset_names[0])
+ names = meta.keypoint_names
+ # TODO flip -> hflip
+ flip_map = dict(meta.keypoint_flip_map)
+ flip_map.update({v: k for k, v in flip_map.items()})
+ flipped_names = [i if i not in flip_map else flip_map[i] for i in names]
+ flip_indices = [names.index(i) for i in flipped_names]
+ return flip_indices
+
+
+def get_fed_loss_cls_weights(dataset_names: Union[str, List[str]], freq_weight_power=1.0):
+ """
+ Get frequency weight for each class sorted by class id.
+ We now calcualte freqency weight using image_count to the power freq_weight_power.
+
+ Args:
+ dataset_names: list of dataset names
+ freq_weight_power: power value
+ """
+ if isinstance(dataset_names, str):
+ dataset_names = [dataset_names]
+
+ check_metadata_consistency("class_image_count", dataset_names)
+
+ meta = MetadataCatalog.get(dataset_names[0])
+ class_freq_meta = meta.class_image_count
+ class_freq = torch.tensor(
+ [c["image_count"] for c in sorted(class_freq_meta, key=lambda x: x["id"])]
+ )
+ class_freq_weight = class_freq.float() ** freq_weight_power
+ return class_freq_weight
+
+
+def gen_crop_transform_with_instance(crop_size, image_size, instance):
+ """
+ Generate a CropTransform so that the cropping region contains
+ the center of the given instance.
+
+ Args:
+ crop_size (tuple): h, w in pixels
+ image_size (tuple): h, w
+ instance (dict): an annotation dict of one instance, in Detectron2's
+ dataset format.
+ """
+ crop_size = np.asarray(crop_size, dtype=np.int32)
+ bbox = BoxMode.convert(instance["bbox"], instance["bbox_mode"], BoxMode.XYXY_ABS)
+ center_yx = (bbox[1] + bbox[3]) * 0.5, (bbox[0] + bbox[2]) * 0.5
+ assert (
+ image_size[0] >= center_yx[0] and image_size[1] >= center_yx[1]
+ ), "The annotation bounding box is outside of the image!"
+ assert (
+ image_size[0] >= crop_size[0] and image_size[1] >= crop_size[1]
+ ), "Crop size is larger than image size!"
+
+ min_yx = np.maximum(np.floor(center_yx).astype(np.int32) - crop_size, 0)
+ max_yx = np.maximum(np.asarray(image_size, dtype=np.int32) - crop_size, 0)
+ max_yx = np.minimum(max_yx, np.ceil(center_yx).astype(np.int32))
+
+ y0 = np.random.randint(min_yx[0], max_yx[0] + 1)
+ x0 = np.random.randint(min_yx[1], max_yx[1] + 1)
+ return T.CropTransform(x0, y0, crop_size[1], crop_size[0])
+
+
+def check_metadata_consistency(key, dataset_names):
+ """
+ Check that the datasets have consistent metadata.
+
+ Args:
+ key (str): a metadata key
+ dataset_names (list[str]): a list of dataset names
+
+ Raises:
+ AttributeError: if the key does not exist in the metadata
+ ValueError: if the given datasets do not have the same metadata values defined by key
+ """
+ if len(dataset_names) == 0:
+ return
+ logger = logging.getLogger(__name__)
+ entries_per_dataset = [getattr(MetadataCatalog.get(d), key) for d in dataset_names]
+ for idx, entry in enumerate(entries_per_dataset):
+ if entry != entries_per_dataset[0]:
+ logger.error(
+ "Metadata '{}' for dataset '{}' is '{}'".format(key, dataset_names[idx], str(entry))
+ )
+ logger.error(
+ "Metadata '{}' for dataset '{}' is '{}'".format(
+ key, dataset_names[0], str(entries_per_dataset[0])
+ )
+ )
+ raise ValueError("Datasets have different metadata '{}'!".format(key))
+
+
+def build_augmentation(cfg, is_train):
+ """
+ Create a list of default :class:`Augmentation` from config.
+ Now it includes resizing and flipping.
+
+ Returns:
+ list[Augmentation]
+ """
+ if is_train:
+ min_size = cfg.INPUT.MIN_SIZE_TRAIN
+ max_size = cfg.INPUT.MAX_SIZE_TRAIN
+ sample_style = cfg.INPUT.MIN_SIZE_TRAIN_SAMPLING
+ else:
+ min_size = cfg.INPUT.MIN_SIZE_TEST
+ max_size = cfg.INPUT.MAX_SIZE_TEST
+ sample_style = "choice"
+ augmentation = [T.ResizeShortestEdge(min_size, max_size, sample_style)]
+ if is_train and cfg.INPUT.RANDOM_FLIP != "none":
+ augmentation.append(
+ T.RandomFlip(
+ horizontal=cfg.INPUT.RANDOM_FLIP == "horizontal",
+ vertical=cfg.INPUT.RANDOM_FLIP == "vertical",
+ )
+ )
+ return augmentation
+
+
+build_transform_gen = build_augmentation
+"""
+Alias for backward-compatibility.
+"""
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/samplers/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/samplers/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..85c9f1a9df8a4038fbd4246239b699402e382309
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/samplers/__init__.py
@@ -0,0 +1,17 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+from .distributed_sampler import (
+ InferenceSampler,
+ RandomSubsetTrainingSampler,
+ RepeatFactorTrainingSampler,
+ TrainingSampler,
+)
+
+from .grouped_batch_sampler import GroupedBatchSampler
+
+__all__ = [
+ "GroupedBatchSampler",
+ "TrainingSampler",
+ "RandomSubsetTrainingSampler",
+ "InferenceSampler",
+ "RepeatFactorTrainingSampler",
+]
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/samplers/distributed_sampler.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/samplers/distributed_sampler.py
new file mode 100644
index 0000000000000000000000000000000000000000..cd4724eac8fbff2456bd26f95e6fea5e914b73e2
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/samplers/distributed_sampler.py
@@ -0,0 +1,278 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+import itertools
+import logging
+import math
+from collections import defaultdict
+from typing import Optional
+import torch
+from torch.utils.data.sampler import Sampler
+
+from annotator.oneformer.detectron2.utils import comm
+
+logger = logging.getLogger(__name__)
+
+
+class TrainingSampler(Sampler):
+ """
+ In training, we only care about the "infinite stream" of training data.
+ So this sampler produces an infinite stream of indices and
+ all workers cooperate to correctly shuffle the indices and sample different indices.
+
+ The samplers in each worker effectively produces `indices[worker_id::num_workers]`
+ where `indices` is an infinite stream of indices consisting of
+ `shuffle(range(size)) + shuffle(range(size)) + ...` (if shuffle is True)
+ or `range(size) + range(size) + ...` (if shuffle is False)
+
+ Note that this sampler does not shard based on pytorch DataLoader worker id.
+ A sampler passed to pytorch DataLoader is used only with map-style dataset
+ and will not be executed inside workers.
+ But if this sampler is used in a way that it gets execute inside a dataloader
+ worker, then extra work needs to be done to shard its outputs based on worker id.
+ This is required so that workers don't produce identical data.
+ :class:`ToIterableDataset` implements this logic.
+ This note is true for all samplers in detectron2.
+ """
+
+ def __init__(self, size: int, shuffle: bool = True, seed: Optional[int] = None):
+ """
+ Args:
+ size (int): the total number of data of the underlying dataset to sample from
+ shuffle (bool): whether to shuffle the indices or not
+ seed (int): the initial seed of the shuffle. Must be the same
+ across all workers. If None, will use a random seed shared
+ among workers (require synchronization among all workers).
+ """
+ if not isinstance(size, int):
+ raise TypeError(f"TrainingSampler(size=) expects an int. Got type {type(size)}.")
+ if size <= 0:
+ raise ValueError(f"TrainingSampler(size=) expects a positive int. Got {size}.")
+ self._size = size
+ self._shuffle = shuffle
+ if seed is None:
+ seed = comm.shared_random_seed()
+ self._seed = int(seed)
+
+ self._rank = comm.get_rank()
+ self._world_size = comm.get_world_size()
+
+ def __iter__(self):
+ start = self._rank
+ yield from itertools.islice(self._infinite_indices(), start, None, self._world_size)
+
+ def _infinite_indices(self):
+ g = torch.Generator()
+ g.manual_seed(self._seed)
+ while True:
+ if self._shuffle:
+ yield from torch.randperm(self._size, generator=g).tolist()
+ else:
+ yield from torch.arange(self._size).tolist()
+
+
+class RandomSubsetTrainingSampler(TrainingSampler):
+ """
+ Similar to TrainingSampler, but only sample a random subset of indices.
+ This is useful when you want to estimate the accuracy vs data-number curves by
+ training the model with different subset_ratio.
+ """
+
+ def __init__(
+ self,
+ size: int,
+ subset_ratio: float,
+ shuffle: bool = True,
+ seed_shuffle: Optional[int] = None,
+ seed_subset: Optional[int] = None,
+ ):
+ """
+ Args:
+ size (int): the total number of data of the underlying dataset to sample from
+ subset_ratio (float): the ratio of subset data to sample from the underlying dataset
+ shuffle (bool): whether to shuffle the indices or not
+ seed_shuffle (int): the initial seed of the shuffle. Must be the same
+ across all workers. If None, will use a random seed shared
+ among workers (require synchronization among all workers).
+ seed_subset (int): the seed to randomize the subset to be sampled.
+ Must be the same across all workers. If None, will use a random seed shared
+ among workers (require synchronization among all workers).
+ """
+ super().__init__(size=size, shuffle=shuffle, seed=seed_shuffle)
+
+ assert 0.0 < subset_ratio <= 1.0
+ self._size_subset = int(size * subset_ratio)
+ assert self._size_subset > 0
+ if seed_subset is None:
+ seed_subset = comm.shared_random_seed()
+ self._seed_subset = int(seed_subset)
+
+ # randomly generate the subset indexes to be sampled from
+ g = torch.Generator()
+ g.manual_seed(self._seed_subset)
+ indexes_randperm = torch.randperm(self._size, generator=g)
+ self._indexes_subset = indexes_randperm[: self._size_subset]
+
+ logger.info("Using RandomSubsetTrainingSampler......")
+ logger.info(f"Randomly sample {self._size_subset} data from the original {self._size} data")
+
+ def _infinite_indices(self):
+ g = torch.Generator()
+ g.manual_seed(self._seed) # self._seed equals seed_shuffle from __init__()
+ while True:
+ if self._shuffle:
+ # generate a random permutation to shuffle self._indexes_subset
+ randperm = torch.randperm(self._size_subset, generator=g)
+ yield from self._indexes_subset[randperm].tolist()
+ else:
+ yield from self._indexes_subset.tolist()
+
+
+class RepeatFactorTrainingSampler(Sampler):
+ """
+ Similar to TrainingSampler, but a sample may appear more times than others based
+ on its "repeat factor". This is suitable for training on class imbalanced datasets like LVIS.
+ """
+
+ def __init__(self, repeat_factors, *, shuffle=True, seed=None):
+ """
+ Args:
+ repeat_factors (Tensor): a float vector, the repeat factor for each indice. When it's
+ full of ones, it is equivalent to ``TrainingSampler(len(repeat_factors), ...)``.
+ shuffle (bool): whether to shuffle the indices or not
+ seed (int): the initial seed of the shuffle. Must be the same
+ across all workers. If None, will use a random seed shared
+ among workers (require synchronization among all workers).
+ """
+ self._shuffle = shuffle
+ if seed is None:
+ seed = comm.shared_random_seed()
+ self._seed = int(seed)
+
+ self._rank = comm.get_rank()
+ self._world_size = comm.get_world_size()
+
+ # Split into whole number (_int_part) and fractional (_frac_part) parts.
+ self._int_part = torch.trunc(repeat_factors)
+ self._frac_part = repeat_factors - self._int_part
+
+ @staticmethod
+ def repeat_factors_from_category_frequency(dataset_dicts, repeat_thresh):
+ """
+ Compute (fractional) per-image repeat factors based on category frequency.
+ The repeat factor for an image is a function of the frequency of the rarest
+ category labeled in that image. The "frequency of category c" in [0, 1] is defined
+ as the fraction of images in the training set (without repeats) in which category c
+ appears.
+ See :paper:`lvis` (>= v2) Appendix B.2.
+
+ Args:
+ dataset_dicts (list[dict]): annotations in Detectron2 dataset format.
+ repeat_thresh (float): frequency threshold below which data is repeated.
+ If the frequency is half of `repeat_thresh`, the image will be
+ repeated twice.
+
+ Returns:
+ torch.Tensor:
+ the i-th element is the repeat factor for the dataset image at index i.
+ """
+ # 1. For each category c, compute the fraction of images that contain it: f(c)
+ category_freq = defaultdict(int)
+ for dataset_dict in dataset_dicts: # For each image (without repeats)
+ cat_ids = {ann["category_id"] for ann in dataset_dict["annotations"]}
+ for cat_id in cat_ids:
+ category_freq[cat_id] += 1
+ num_images = len(dataset_dicts)
+ for k, v in category_freq.items():
+ category_freq[k] = v / num_images
+
+ # 2. For each category c, compute the category-level repeat factor:
+ # r(c) = max(1, sqrt(t / f(c)))
+ category_rep = {
+ cat_id: max(1.0, math.sqrt(repeat_thresh / cat_freq))
+ for cat_id, cat_freq in category_freq.items()
+ }
+
+ # 3. For each image I, compute the image-level repeat factor:
+ # r(I) = max_{c in I} r(c)
+ rep_factors = []
+ for dataset_dict in dataset_dicts:
+ cat_ids = {ann["category_id"] for ann in dataset_dict["annotations"]}
+ rep_factor = max({category_rep[cat_id] for cat_id in cat_ids}, default=1.0)
+ rep_factors.append(rep_factor)
+
+ return torch.tensor(rep_factors, dtype=torch.float32)
+
+ def _get_epoch_indices(self, generator):
+ """
+ Create a list of dataset indices (with repeats) to use for one epoch.
+
+ Args:
+ generator (torch.Generator): pseudo random number generator used for
+ stochastic rounding.
+
+ Returns:
+ torch.Tensor: list of dataset indices to use in one epoch. Each index
+ is repeated based on its calculated repeat factor.
+ """
+ # Since repeat factors are fractional, we use stochastic rounding so
+ # that the target repeat factor is achieved in expectation over the
+ # course of training
+ rands = torch.rand(len(self._frac_part), generator=generator)
+ rep_factors = self._int_part + (rands < self._frac_part).float()
+ # Construct a list of indices in which we repeat images as specified
+ indices = []
+ for dataset_index, rep_factor in enumerate(rep_factors):
+ indices.extend([dataset_index] * int(rep_factor.item()))
+ return torch.tensor(indices, dtype=torch.int64)
+
+ def __iter__(self):
+ start = self._rank
+ yield from itertools.islice(self._infinite_indices(), start, None, self._world_size)
+
+ def _infinite_indices(self):
+ g = torch.Generator()
+ g.manual_seed(self._seed)
+ while True:
+ # Sample indices with repeats determined by stochastic rounding; each
+ # "epoch" may have a slightly different size due to the rounding.
+ indices = self._get_epoch_indices(g)
+ if self._shuffle:
+ randperm = torch.randperm(len(indices), generator=g)
+ yield from indices[randperm].tolist()
+ else:
+ yield from indices.tolist()
+
+
+class InferenceSampler(Sampler):
+ """
+ Produce indices for inference across all workers.
+ Inference needs to run on the __exact__ set of samples,
+ therefore when the total number of samples is not divisible by the number of workers,
+ this sampler produces different number of samples on different workers.
+ """
+
+ def __init__(self, size: int):
+ """
+ Args:
+ size (int): the total number of data of the underlying dataset to sample from
+ """
+ self._size = size
+ assert size > 0
+ self._rank = comm.get_rank()
+ self._world_size = comm.get_world_size()
+ self._local_indices = self._get_local_indices(size, self._world_size, self._rank)
+
+ @staticmethod
+ def _get_local_indices(total_size, world_size, rank):
+ shard_size = total_size // world_size
+ left = total_size % world_size
+ shard_sizes = [shard_size + int(r < left) for r in range(world_size)]
+
+ begin = sum(shard_sizes[:rank])
+ end = min(sum(shard_sizes[: rank + 1]), total_size)
+ return range(begin, end)
+
+ def __iter__(self):
+ yield from self._local_indices
+
+ def __len__(self):
+ return len(self._local_indices)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/samplers/grouped_batch_sampler.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/samplers/grouped_batch_sampler.py
new file mode 100644
index 0000000000000000000000000000000000000000..5b247730aacd04dd0c752664acde3257c4eddd71
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/samplers/grouped_batch_sampler.py
@@ -0,0 +1,47 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+import numpy as np
+from torch.utils.data.sampler import BatchSampler, Sampler
+
+
+class GroupedBatchSampler(BatchSampler):
+ """
+ Wraps another sampler to yield a mini-batch of indices.
+ It enforces that the batch only contain elements from the same group.
+ It also tries to provide mini-batches which follows an ordering which is
+ as close as possible to the ordering from the original sampler.
+ """
+
+ def __init__(self, sampler, group_ids, batch_size):
+ """
+ Args:
+ sampler (Sampler): Base sampler.
+ group_ids (list[int]): If the sampler produces indices in range [0, N),
+ `group_ids` must be a list of `N` ints which contains the group id of each sample.
+ The group ids must be a set of integers in the range [0, num_groups).
+ batch_size (int): Size of mini-batch.
+ """
+ if not isinstance(sampler, Sampler):
+ raise ValueError(
+ "sampler should be an instance of "
+ "torch.utils.data.Sampler, but got sampler={}".format(sampler)
+ )
+ self.sampler = sampler
+ self.group_ids = np.asarray(group_ids)
+ assert self.group_ids.ndim == 1
+ self.batch_size = batch_size
+ groups = np.unique(self.group_ids).tolist()
+
+ # buffer the indices of each group until batch size is reached
+ self.buffer_per_group = {k: [] for k in groups}
+
+ def __iter__(self):
+ for idx in self.sampler:
+ group_id = self.group_ids[idx]
+ group_buffer = self.buffer_per_group[group_id]
+ group_buffer.append(idx)
+ if len(group_buffer) == self.batch_size:
+ yield group_buffer[:] # yield a copy of the list
+ del group_buffer[:]
+
+ def __len__(self):
+ raise NotImplementedError("len() of GroupedBatchSampler is not well-defined.")
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/transforms/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/transforms/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e91c6cdfacd6992a7a1e80c7d2e4b38b2cf7dcde
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/transforms/__init__.py
@@ -0,0 +1,14 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+from fvcore.transforms.transform import Transform, TransformList # order them first
+from fvcore.transforms.transform import *
+from .transform import *
+from .augmentation import *
+from .augmentation_impl import *
+
+__all__ = [k for k in globals().keys() if not k.startswith("_")]
+
+
+from annotator.oneformer.detectron2.utils.env import fixup_module_metadata
+
+fixup_module_metadata(__name__, globals(), __all__)
+del fixup_module_metadata
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/transforms/augmentation.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/transforms/augmentation.py
new file mode 100644
index 0000000000000000000000000000000000000000..63dd41aef658c9b51c7246880399405a029c5580
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/transforms/augmentation.py
@@ -0,0 +1,380 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) Facebook, Inc. and its affiliates.
+
+import inspect
+import numpy as np
+import pprint
+from typing import Any, List, Optional, Tuple, Union
+from fvcore.transforms.transform import Transform, TransformList
+
+"""
+See "Data Augmentation" tutorial for an overview of the system:
+https://detectron2.readthedocs.io/tutorials/augmentation.html
+"""
+
+
+__all__ = [
+ "Augmentation",
+ "AugmentationList",
+ "AugInput",
+ "TransformGen",
+ "apply_transform_gens",
+ "StandardAugInput",
+ "apply_augmentations",
+]
+
+
+def _check_img_dtype(img):
+ assert isinstance(img, np.ndarray), "[Augmentation] Needs an numpy array, but got a {}!".format(
+ type(img)
+ )
+ assert not isinstance(img.dtype, np.integer) or (
+ img.dtype == np.uint8
+ ), "[Augmentation] Got image of type {}, use uint8 or floating points instead!".format(
+ img.dtype
+ )
+ assert img.ndim in [2, 3], img.ndim
+
+
+def _get_aug_input_args(aug, aug_input) -> List[Any]:
+ """
+ Get the arguments to be passed to ``aug.get_transform`` from the input ``aug_input``.
+ """
+ if aug.input_args is None:
+ # Decide what attributes are needed automatically
+ prms = list(inspect.signature(aug.get_transform).parameters.items())
+ # The default behavior is: if there is one parameter, then its "image"
+ # (work automatically for majority of use cases, and also avoid BC breaking),
+ # Otherwise, use the argument names.
+ if len(prms) == 1:
+ names = ("image",)
+ else:
+ names = []
+ for name, prm in prms:
+ if prm.kind in (
+ inspect.Parameter.VAR_POSITIONAL,
+ inspect.Parameter.VAR_KEYWORD,
+ ):
+ raise TypeError(
+ f""" \
+The default implementation of `{type(aug)}.__call__` does not allow \
+`{type(aug)}.get_transform` to use variable-length arguments (*args, **kwargs)! \
+If arguments are unknown, reimplement `__call__` instead. \
+"""
+ )
+ names.append(name)
+ aug.input_args = tuple(names)
+
+ args = []
+ for f in aug.input_args:
+ try:
+ args.append(getattr(aug_input, f))
+ except AttributeError as e:
+ raise AttributeError(
+ f"{type(aug)}.get_transform needs input attribute '{f}', "
+ f"but it is not an attribute of {type(aug_input)}!"
+ ) from e
+ return args
+
+
+class Augmentation:
+ """
+ Augmentation defines (often random) policies/strategies to generate :class:`Transform`
+ from data. It is often used for pre-processing of input data.
+
+ A "policy" that generates a :class:`Transform` may, in the most general case,
+ need arbitrary information from input data in order to determine what transforms
+ to apply. Therefore, each :class:`Augmentation` instance defines the arguments
+ needed by its :meth:`get_transform` method. When called with the positional arguments,
+ the :meth:`get_transform` method executes the policy.
+
+ Note that :class:`Augmentation` defines the policies to create a :class:`Transform`,
+ but not how to execute the actual transform operations to those data.
+ Its :meth:`__call__` method will use :meth:`AugInput.transform` to execute the transform.
+
+ The returned `Transform` object is meant to describe deterministic transformation, which means
+ it can be re-applied on associated data, e.g. the geometry of an image and its segmentation
+ masks need to be transformed together.
+ (If such re-application is not needed, then determinism is not a crucial requirement.)
+ """
+
+ input_args: Optional[Tuple[str]] = None
+ """
+ Stores the attribute names needed by :meth:`get_transform`, e.g. ``("image", "sem_seg")``.
+ By default, it is just a tuple of argument names in :meth:`self.get_transform`, which often only
+ contain "image". As long as the argument name convention is followed, there is no need for
+ users to touch this attribute.
+ """
+
+ def _init(self, params=None):
+ if params:
+ for k, v in params.items():
+ if k != "self" and not k.startswith("_"):
+ setattr(self, k, v)
+
+ def get_transform(self, *args) -> Transform:
+ """
+ Execute the policy based on input data, and decide what transform to apply to inputs.
+
+ Args:
+ args: Any fixed-length positional arguments. By default, the name of the arguments
+ should exist in the :class:`AugInput` to be used.
+
+ Returns:
+ Transform: Returns the deterministic transform to apply to the input.
+
+ Examples:
+ ::
+ class MyAug:
+ # if a policy needs to know both image and semantic segmentation
+ def get_transform(image, sem_seg) -> T.Transform:
+ pass
+ tfm: Transform = MyAug().get_transform(image, sem_seg)
+ new_image = tfm.apply_image(image)
+
+ Notes:
+ Users can freely use arbitrary new argument names in custom
+ :meth:`get_transform` method, as long as they are available in the
+ input data. In detectron2 we use the following convention:
+
+ * image: (H,W) or (H,W,C) ndarray of type uint8 in range [0, 255], or
+ floating point in range [0, 1] or [0, 255].
+ * boxes: (N,4) ndarray of float32. It represents the instance bounding boxes
+ of N instances. Each is in XYXY format in unit of absolute coordinates.
+ * sem_seg: (H,W) ndarray of type uint8. Each element is an integer label of pixel.
+
+ We do not specify convention for other types and do not include builtin
+ :class:`Augmentation` that uses other types in detectron2.
+ """
+ raise NotImplementedError
+
+ def __call__(self, aug_input) -> Transform:
+ """
+ Augment the given `aug_input` **in-place**, and return the transform that's used.
+
+ This method will be called to apply the augmentation. In most augmentation, it
+ is enough to use the default implementation, which calls :meth:`get_transform`
+ using the inputs. But a subclass can overwrite it to have more complicated logic.
+
+ Args:
+ aug_input (AugInput): an object that has attributes needed by this augmentation
+ (defined by ``self.get_transform``). Its ``transform`` method will be called
+ to in-place transform it.
+
+ Returns:
+ Transform: the transform that is applied on the input.
+ """
+ args = _get_aug_input_args(self, aug_input)
+ tfm = self.get_transform(*args)
+ assert isinstance(tfm, (Transform, TransformList)), (
+ f"{type(self)}.get_transform must return an instance of Transform! "
+ f"Got {type(tfm)} instead."
+ )
+ aug_input.transform(tfm)
+ return tfm
+
+ def _rand_range(self, low=1.0, high=None, size=None):
+ """
+ Uniform float random number between low and high.
+ """
+ if high is None:
+ low, high = 0, low
+ if size is None:
+ size = []
+ return np.random.uniform(low, high, size)
+
+ def __repr__(self):
+ """
+ Produce something like:
+ "MyAugmentation(field1={self.field1}, field2={self.field2})"
+ """
+ try:
+ sig = inspect.signature(self.__init__)
+ classname = type(self).__name__
+ argstr = []
+ for name, param in sig.parameters.items():
+ assert (
+ param.kind != param.VAR_POSITIONAL and param.kind != param.VAR_KEYWORD
+ ), "The default __repr__ doesn't support *args or **kwargs"
+ assert hasattr(self, name), (
+ "Attribute {} not found! "
+ "Default __repr__ only works if attributes match the constructor.".format(name)
+ )
+ attr = getattr(self, name)
+ default = param.default
+ if default is attr:
+ continue
+ attr_str = pprint.pformat(attr)
+ if "\n" in attr_str:
+ # don't show it if pformat decides to use >1 lines
+ attr_str = "..."
+ argstr.append("{}={}".format(name, attr_str))
+ return "{}({})".format(classname, ", ".join(argstr))
+ except AssertionError:
+ return super().__repr__()
+
+ __str__ = __repr__
+
+
+class _TransformToAug(Augmentation):
+ def __init__(self, tfm: Transform):
+ self.tfm = tfm
+
+ def get_transform(self, *args):
+ return self.tfm
+
+ def __repr__(self):
+ return repr(self.tfm)
+
+ __str__ = __repr__
+
+
+def _transform_to_aug(tfm_or_aug):
+ """
+ Wrap Transform into Augmentation.
+ Private, used internally to implement augmentations.
+ """
+ assert isinstance(tfm_or_aug, (Transform, Augmentation)), tfm_or_aug
+ if isinstance(tfm_or_aug, Augmentation):
+ return tfm_or_aug
+ else:
+ return _TransformToAug(tfm_or_aug)
+
+
+class AugmentationList(Augmentation):
+ """
+ Apply a sequence of augmentations.
+
+ It has ``__call__`` method to apply the augmentations.
+
+ Note that :meth:`get_transform` method is impossible (will throw error if called)
+ for :class:`AugmentationList`, because in order to apply a sequence of augmentations,
+ the kth augmentation must be applied first, to provide inputs needed by the (k+1)th
+ augmentation.
+ """
+
+ def __init__(self, augs):
+ """
+ Args:
+ augs (list[Augmentation or Transform]):
+ """
+ super().__init__()
+ self.augs = [_transform_to_aug(x) for x in augs]
+
+ def __call__(self, aug_input) -> TransformList:
+ tfms = []
+ for x in self.augs:
+ tfm = x(aug_input)
+ tfms.append(tfm)
+ return TransformList(tfms)
+
+ def __repr__(self):
+ msgs = [str(x) for x in self.augs]
+ return "AugmentationList[{}]".format(", ".join(msgs))
+
+ __str__ = __repr__
+
+
+class AugInput:
+ """
+ Input that can be used with :meth:`Augmentation.__call__`.
+ This is a standard implementation for the majority of use cases.
+ This class provides the standard attributes **"image", "boxes", "sem_seg"**
+ defined in :meth:`__init__` and they may be needed by different augmentations.
+ Most augmentation policies do not need attributes beyond these three.
+
+ After applying augmentations to these attributes (using :meth:`AugInput.transform`),
+ the returned transforms can then be used to transform other data structures that users have.
+
+ Examples:
+ ::
+ input = AugInput(image, boxes=boxes)
+ tfms = augmentation(input)
+ transformed_image = input.image
+ transformed_boxes = input.boxes
+ transformed_other_data = tfms.apply_other(other_data)
+
+ An extended project that works with new data types may implement augmentation policies
+ that need other inputs. An algorithm may need to transform inputs in a way different
+ from the standard approach defined in this class. In those rare situations, users can
+ implement a class similar to this class, that satify the following condition:
+
+ * The input must provide access to these data in the form of attribute access
+ (``getattr``). For example, if an :class:`Augmentation` to be applied needs "image"
+ and "sem_seg" arguments, its input must have the attribute "image" and "sem_seg".
+ * The input must have a ``transform(tfm: Transform) -> None`` method which
+ in-place transforms all its attributes.
+ """
+
+ # TODO maybe should support more builtin data types here
+ def __init__(
+ self,
+ image: np.ndarray,
+ *,
+ boxes: Optional[np.ndarray] = None,
+ sem_seg: Optional[np.ndarray] = None,
+ ):
+ """
+ Args:
+ image (ndarray): (H,W) or (H,W,C) ndarray of type uint8 in range [0, 255], or
+ floating point in range [0, 1] or [0, 255]. The meaning of C is up
+ to users.
+ boxes (ndarray or None): Nx4 float32 boxes in XYXY_ABS mode
+ sem_seg (ndarray or None): HxW uint8 semantic segmentation mask. Each element
+ is an integer label of pixel.
+ """
+ _check_img_dtype(image)
+ self.image = image
+ self.boxes = boxes
+ self.sem_seg = sem_seg
+
+ def transform(self, tfm: Transform) -> None:
+ """
+ In-place transform all attributes of this class.
+
+ By "in-place", it means after calling this method, accessing an attribute such
+ as ``self.image`` will return transformed data.
+ """
+ self.image = tfm.apply_image(self.image)
+ if self.boxes is not None:
+ self.boxes = tfm.apply_box(self.boxes)
+ if self.sem_seg is not None:
+ self.sem_seg = tfm.apply_segmentation(self.sem_seg)
+
+ def apply_augmentations(
+ self, augmentations: List[Union[Augmentation, Transform]]
+ ) -> TransformList:
+ """
+ Equivalent of ``AugmentationList(augmentations)(self)``
+ """
+ return AugmentationList(augmentations)(self)
+
+
+def apply_augmentations(augmentations: List[Union[Transform, Augmentation]], inputs):
+ """
+ Use ``T.AugmentationList(augmentations)(inputs)`` instead.
+ """
+ if isinstance(inputs, np.ndarray):
+ # handle the common case of image-only Augmentation, also for backward compatibility
+ image_only = True
+ inputs = AugInput(inputs)
+ else:
+ image_only = False
+ tfms = inputs.apply_augmentations(augmentations)
+ return inputs.image if image_only else inputs, tfms
+
+
+apply_transform_gens = apply_augmentations
+"""
+Alias for backward-compatibility.
+"""
+
+TransformGen = Augmentation
+"""
+Alias for Augmentation, since it is something that generates :class:`Transform`s
+"""
+
+StandardAugInput = AugInput
+"""
+Alias for compatibility. It's not worth the complexity to have two classes.
+"""
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/transforms/augmentation_impl.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/transforms/augmentation_impl.py
new file mode 100644
index 0000000000000000000000000000000000000000..965f0a947d7c3ff03b0990f1a645703d470227de
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/transforms/augmentation_impl.py
@@ -0,0 +1,736 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) Facebook, Inc. and its affiliates.
+"""
+Implement many useful :class:`Augmentation`.
+"""
+import numpy as np
+import sys
+from numpy import random
+from typing import Tuple
+import torch
+from fvcore.transforms.transform import (
+ BlendTransform,
+ CropTransform,
+ HFlipTransform,
+ NoOpTransform,
+ PadTransform,
+ Transform,
+ TransformList,
+ VFlipTransform,
+)
+from PIL import Image
+
+from annotator.oneformer.detectron2.structures import Boxes, pairwise_iou
+
+from .augmentation import Augmentation, _transform_to_aug
+from .transform import ExtentTransform, ResizeTransform, RotationTransform
+
+__all__ = [
+ "FixedSizeCrop",
+ "RandomApply",
+ "RandomBrightness",
+ "RandomContrast",
+ "RandomCrop",
+ "RandomExtent",
+ "RandomFlip",
+ "RandomSaturation",
+ "RandomLighting",
+ "RandomRotation",
+ "Resize",
+ "ResizeScale",
+ "ResizeShortestEdge",
+ "RandomCrop_CategoryAreaConstraint",
+ "RandomResize",
+ "MinIoURandomCrop",
+]
+
+
+class RandomApply(Augmentation):
+ """
+ Randomly apply an augmentation with a given probability.
+ """
+
+ def __init__(self, tfm_or_aug, prob=0.5):
+ """
+ Args:
+ tfm_or_aug (Transform, Augmentation): the transform or augmentation
+ to be applied. It can either be a `Transform` or `Augmentation`
+ instance.
+ prob (float): probability between 0.0 and 1.0 that
+ the wrapper transformation is applied
+ """
+ super().__init__()
+ self.aug = _transform_to_aug(tfm_or_aug)
+ assert 0.0 <= prob <= 1.0, f"Probablity must be between 0.0 and 1.0 (given: {prob})"
+ self.prob = prob
+
+ def get_transform(self, *args):
+ do = self._rand_range() < self.prob
+ if do:
+ return self.aug.get_transform(*args)
+ else:
+ return NoOpTransform()
+
+ def __call__(self, aug_input):
+ do = self._rand_range() < self.prob
+ if do:
+ return self.aug(aug_input)
+ else:
+ return NoOpTransform()
+
+
+class RandomFlip(Augmentation):
+ """
+ Flip the image horizontally or vertically with the given probability.
+ """
+
+ def __init__(self, prob=0.5, *, horizontal=True, vertical=False):
+ """
+ Args:
+ prob (float): probability of flip.
+ horizontal (boolean): whether to apply horizontal flipping
+ vertical (boolean): whether to apply vertical flipping
+ """
+ super().__init__()
+
+ if horizontal and vertical:
+ raise ValueError("Cannot do both horiz and vert. Please use two Flip instead.")
+ if not horizontal and not vertical:
+ raise ValueError("At least one of horiz or vert has to be True!")
+ self._init(locals())
+
+ def get_transform(self, image):
+ h, w = image.shape[:2]
+ do = self._rand_range() < self.prob
+ if do:
+ if self.horizontal:
+ return HFlipTransform(w)
+ elif self.vertical:
+ return VFlipTransform(h)
+ else:
+ return NoOpTransform()
+
+
+class Resize(Augmentation):
+ """Resize image to a fixed target size"""
+
+ def __init__(self, shape, interp=Image.BILINEAR):
+ """
+ Args:
+ shape: (h, w) tuple or a int
+ interp: PIL interpolation method
+ """
+ if isinstance(shape, int):
+ shape = (shape, shape)
+ shape = tuple(shape)
+ self._init(locals())
+
+ def get_transform(self, image):
+ return ResizeTransform(
+ image.shape[0], image.shape[1], self.shape[0], self.shape[1], self.interp
+ )
+
+
+class ResizeShortestEdge(Augmentation):
+ """
+ Resize the image while keeping the aspect ratio unchanged.
+ It attempts to scale the shorter edge to the given `short_edge_length`,
+ as long as the longer edge does not exceed `max_size`.
+ If `max_size` is reached, then downscale so that the longer edge does not exceed max_size.
+ """
+
+ @torch.jit.unused
+ def __init__(
+ self, short_edge_length, max_size=sys.maxsize, sample_style="range", interp=Image.BILINEAR
+ ):
+ """
+ Args:
+ short_edge_length (list[int]): If ``sample_style=="range"``,
+ a [min, max] interval from which to sample the shortest edge length.
+ If ``sample_style=="choice"``, a list of shortest edge lengths to sample from.
+ max_size (int): maximum allowed longest edge length.
+ sample_style (str): either "range" or "choice".
+ """
+ super().__init__()
+ assert sample_style in ["range", "choice"], sample_style
+
+ self.is_range = sample_style == "range"
+ if isinstance(short_edge_length, int):
+ short_edge_length = (short_edge_length, short_edge_length)
+ if self.is_range:
+ assert len(short_edge_length) == 2, (
+ "short_edge_length must be two values using 'range' sample style."
+ f" Got {short_edge_length}!"
+ )
+ self._init(locals())
+
+ @torch.jit.unused
+ def get_transform(self, image):
+ h, w = image.shape[:2]
+ if self.is_range:
+ size = np.random.randint(self.short_edge_length[0], self.short_edge_length[1] + 1)
+ else:
+ size = np.random.choice(self.short_edge_length)
+ if size == 0:
+ return NoOpTransform()
+
+ newh, neww = ResizeShortestEdge.get_output_shape(h, w, size, self.max_size)
+ return ResizeTransform(h, w, newh, neww, self.interp)
+
+ @staticmethod
+ def get_output_shape(
+ oldh: int, oldw: int, short_edge_length: int, max_size: int
+ ) -> Tuple[int, int]:
+ """
+ Compute the output size given input size and target short edge length.
+ """
+ h, w = oldh, oldw
+ size = short_edge_length * 1.0
+ scale = size / min(h, w)
+ if h < w:
+ newh, neww = size, scale * w
+ else:
+ newh, neww = scale * h, size
+ if max(newh, neww) > max_size:
+ scale = max_size * 1.0 / max(newh, neww)
+ newh = newh * scale
+ neww = neww * scale
+ neww = int(neww + 0.5)
+ newh = int(newh + 0.5)
+ return (newh, neww)
+
+
+class ResizeScale(Augmentation):
+ """
+ Takes target size as input and randomly scales the given target size between `min_scale`
+ and `max_scale`. It then scales the input image such that it fits inside the scaled target
+ box, keeping the aspect ratio constant.
+ This implements the resize part of the Google's 'resize_and_crop' data augmentation:
+ https://github.com/tensorflow/tpu/blob/master/models/official/detection/utils/input_utils.py#L127
+ """
+
+ def __init__(
+ self,
+ min_scale: float,
+ max_scale: float,
+ target_height: int,
+ target_width: int,
+ interp: int = Image.BILINEAR,
+ ):
+ """
+ Args:
+ min_scale: minimum image scale range.
+ max_scale: maximum image scale range.
+ target_height: target image height.
+ target_width: target image width.
+ interp: image interpolation method.
+ """
+ super().__init__()
+ self._init(locals())
+
+ def _get_resize(self, image: np.ndarray, scale: float) -> Transform:
+ input_size = image.shape[:2]
+
+ # Compute new target size given a scale.
+ target_size = (self.target_height, self.target_width)
+ target_scale_size = np.multiply(target_size, scale)
+
+ # Compute actual rescaling applied to input image and output size.
+ output_scale = np.minimum(
+ target_scale_size[0] / input_size[0], target_scale_size[1] / input_size[1]
+ )
+ output_size = np.round(np.multiply(input_size, output_scale)).astype(int)
+
+ return ResizeTransform(
+ input_size[0], input_size[1], output_size[0], output_size[1], self.interp
+ )
+
+ def get_transform(self, image: np.ndarray) -> Transform:
+ random_scale = np.random.uniform(self.min_scale, self.max_scale)
+ return self._get_resize(image, random_scale)
+
+
+class RandomRotation(Augmentation):
+ """
+ This method returns a copy of this image, rotated the given
+ number of degrees counter clockwise around the given center.
+ """
+
+ def __init__(self, angle, expand=True, center=None, sample_style="range", interp=None):
+ """
+ Args:
+ angle (list[float]): If ``sample_style=="range"``,
+ a [min, max] interval from which to sample the angle (in degrees).
+ If ``sample_style=="choice"``, a list of angles to sample from
+ expand (bool): choose if the image should be resized to fit the whole
+ rotated image (default), or simply cropped
+ center (list[[float, float]]): If ``sample_style=="range"``,
+ a [[minx, miny], [maxx, maxy]] relative interval from which to sample the center,
+ [0, 0] being the top left of the image and [1, 1] the bottom right.
+ If ``sample_style=="choice"``, a list of centers to sample from
+ Default: None, which means that the center of rotation is the center of the image
+ center has no effect if expand=True because it only affects shifting
+ """
+ super().__init__()
+ assert sample_style in ["range", "choice"], sample_style
+ self.is_range = sample_style == "range"
+ if isinstance(angle, (float, int)):
+ angle = (angle, angle)
+ if center is not None and isinstance(center[0], (float, int)):
+ center = (center, center)
+ self._init(locals())
+
+ def get_transform(self, image):
+ h, w = image.shape[:2]
+ center = None
+ if self.is_range:
+ angle = np.random.uniform(self.angle[0], self.angle[1])
+ if self.center is not None:
+ center = (
+ np.random.uniform(self.center[0][0], self.center[1][0]),
+ np.random.uniform(self.center[0][1], self.center[1][1]),
+ )
+ else:
+ angle = np.random.choice(self.angle)
+ if self.center is not None:
+ center = np.random.choice(self.center)
+
+ if center is not None:
+ center = (w * center[0], h * center[1]) # Convert to absolute coordinates
+
+ if angle % 360 == 0:
+ return NoOpTransform()
+
+ return RotationTransform(h, w, angle, expand=self.expand, center=center, interp=self.interp)
+
+
+class FixedSizeCrop(Augmentation):
+ """
+ If `crop_size` is smaller than the input image size, then it uses a random crop of
+ the crop size. If `crop_size` is larger than the input image size, then it pads
+ the right and the bottom of the image to the crop size if `pad` is True, otherwise
+ it returns the smaller image.
+ """
+
+ def __init__(
+ self,
+ crop_size: Tuple[int],
+ pad: bool = True,
+ pad_value: float = 128.0,
+ seg_pad_value: int = 255,
+ ):
+ """
+ Args:
+ crop_size: target image (height, width).
+ pad: if True, will pad images smaller than `crop_size` up to `crop_size`
+ pad_value: the padding value to the image.
+ seg_pad_value: the padding value to the segmentation mask.
+ """
+ super().__init__()
+ self._init(locals())
+
+ def _get_crop(self, image: np.ndarray) -> Transform:
+ # Compute the image scale and scaled size.
+ input_size = image.shape[:2]
+ output_size = self.crop_size
+
+ # Add random crop if the image is scaled up.
+ max_offset = np.subtract(input_size, output_size)
+ max_offset = np.maximum(max_offset, 0)
+ offset = np.multiply(max_offset, np.random.uniform(0.0, 1.0))
+ offset = np.round(offset).astype(int)
+ return CropTransform(
+ offset[1], offset[0], output_size[1], output_size[0], input_size[1], input_size[0]
+ )
+
+ def _get_pad(self, image: np.ndarray) -> Transform:
+ # Compute the image scale and scaled size.
+ input_size = image.shape[:2]
+ output_size = self.crop_size
+
+ # Add padding if the image is scaled down.
+ pad_size = np.subtract(output_size, input_size)
+ pad_size = np.maximum(pad_size, 0)
+ original_size = np.minimum(input_size, output_size)
+ return PadTransform(
+ 0,
+ 0,
+ pad_size[1],
+ pad_size[0],
+ original_size[1],
+ original_size[0],
+ self.pad_value,
+ self.seg_pad_value,
+ )
+
+ def get_transform(self, image: np.ndarray) -> TransformList:
+ transforms = [self._get_crop(image)]
+ if self.pad:
+ transforms.append(self._get_pad(image))
+ return TransformList(transforms)
+
+
+class RandomCrop(Augmentation):
+ """
+ Randomly crop a rectangle region out of an image.
+ """
+
+ def __init__(self, crop_type: str, crop_size):
+ """
+ Args:
+ crop_type (str): one of "relative_range", "relative", "absolute", "absolute_range".
+ crop_size (tuple[float, float]): two floats, explained below.
+
+ - "relative": crop a (H * crop_size[0], W * crop_size[1]) region from an input image of
+ size (H, W). crop size should be in (0, 1]
+ - "relative_range": uniformly sample two values from [crop_size[0], 1]
+ and [crop_size[1]], 1], and use them as in "relative" crop type.
+ - "absolute" crop a (crop_size[0], crop_size[1]) region from input image.
+ crop_size must be smaller than the input image size.
+ - "absolute_range", for an input of size (H, W), uniformly sample H_crop in
+ [crop_size[0], min(H, crop_size[1])] and W_crop in [crop_size[0], min(W, crop_size[1])].
+ Then crop a region (H_crop, W_crop).
+ """
+ # TODO style of relative_range and absolute_range are not consistent:
+ # one takes (h, w) but another takes (min, max)
+ super().__init__()
+ assert crop_type in ["relative_range", "relative", "absolute", "absolute_range"]
+ self._init(locals())
+
+ def get_transform(self, image):
+ h, w = image.shape[:2]
+ croph, cropw = self.get_crop_size((h, w))
+ assert h >= croph and w >= cropw, "Shape computation in {} has bugs.".format(self)
+ h0 = np.random.randint(h - croph + 1)
+ w0 = np.random.randint(w - cropw + 1)
+ return CropTransform(w0, h0, cropw, croph)
+
+ def get_crop_size(self, image_size):
+ """
+ Args:
+ image_size (tuple): height, width
+
+ Returns:
+ crop_size (tuple): height, width in absolute pixels
+ """
+ h, w = image_size
+ if self.crop_type == "relative":
+ ch, cw = self.crop_size
+ return int(h * ch + 0.5), int(w * cw + 0.5)
+ elif self.crop_type == "relative_range":
+ crop_size = np.asarray(self.crop_size, dtype=np.float32)
+ ch, cw = crop_size + np.random.rand(2) * (1 - crop_size)
+ return int(h * ch + 0.5), int(w * cw + 0.5)
+ elif self.crop_type == "absolute":
+ return (min(self.crop_size[0], h), min(self.crop_size[1], w))
+ elif self.crop_type == "absolute_range":
+ assert self.crop_size[0] <= self.crop_size[1]
+ ch = np.random.randint(min(h, self.crop_size[0]), min(h, self.crop_size[1]) + 1)
+ cw = np.random.randint(min(w, self.crop_size[0]), min(w, self.crop_size[1]) + 1)
+ return ch, cw
+ else:
+ raise NotImplementedError("Unknown crop type {}".format(self.crop_type))
+
+
+class RandomCrop_CategoryAreaConstraint(Augmentation):
+ """
+ Similar to :class:`RandomCrop`, but find a cropping window such that no single category
+ occupies a ratio of more than `single_category_max_area` in semantic segmentation ground
+ truth, which can cause unstability in training. The function attempts to find such a valid
+ cropping window for at most 10 times.
+ """
+
+ def __init__(
+ self,
+ crop_type: str,
+ crop_size,
+ single_category_max_area: float = 1.0,
+ ignored_category: int = None,
+ ):
+ """
+ Args:
+ crop_type, crop_size: same as in :class:`RandomCrop`
+ single_category_max_area: the maximum allowed area ratio of a
+ category. Set to 1.0 to disable
+ ignored_category: allow this category in the semantic segmentation
+ ground truth to exceed the area ratio. Usually set to the category
+ that's ignored in training.
+ """
+ self.crop_aug = RandomCrop(crop_type, crop_size)
+ self._init(locals())
+
+ def get_transform(self, image, sem_seg):
+ if self.single_category_max_area >= 1.0:
+ return self.crop_aug.get_transform(image)
+ else:
+ h, w = sem_seg.shape
+ for _ in range(10):
+ crop_size = self.crop_aug.get_crop_size((h, w))
+ y0 = np.random.randint(h - crop_size[0] + 1)
+ x0 = np.random.randint(w - crop_size[1] + 1)
+ sem_seg_temp = sem_seg[y0 : y0 + crop_size[0], x0 : x0 + crop_size[1]]
+ labels, cnt = np.unique(sem_seg_temp, return_counts=True)
+ if self.ignored_category is not None:
+ cnt = cnt[labels != self.ignored_category]
+ if len(cnt) > 1 and np.max(cnt) < np.sum(cnt) * self.single_category_max_area:
+ break
+ crop_tfm = CropTransform(x0, y0, crop_size[1], crop_size[0])
+ return crop_tfm
+
+
+class RandomExtent(Augmentation):
+ """
+ Outputs an image by cropping a random "subrect" of the source image.
+
+ The subrect can be parameterized to include pixels outside the source image,
+ in which case they will be set to zeros (i.e. black). The size of the output
+ image will vary with the size of the random subrect.
+ """
+
+ def __init__(self, scale_range, shift_range):
+ """
+ Args:
+ output_size (h, w): Dimensions of output image
+ scale_range (l, h): Range of input-to-output size scaling factor
+ shift_range (x, y): Range of shifts of the cropped subrect. The rect
+ is shifted by [w / 2 * Uniform(-x, x), h / 2 * Uniform(-y, y)],
+ where (w, h) is the (width, height) of the input image. Set each
+ component to zero to crop at the image's center.
+ """
+ super().__init__()
+ self._init(locals())
+
+ def get_transform(self, image):
+ img_h, img_w = image.shape[:2]
+
+ # Initialize src_rect to fit the input image.
+ src_rect = np.array([-0.5 * img_w, -0.5 * img_h, 0.5 * img_w, 0.5 * img_h])
+
+ # Apply a random scaling to the src_rect.
+ src_rect *= np.random.uniform(self.scale_range[0], self.scale_range[1])
+
+ # Apply a random shift to the coordinates origin.
+ src_rect[0::2] += self.shift_range[0] * img_w * (np.random.rand() - 0.5)
+ src_rect[1::2] += self.shift_range[1] * img_h * (np.random.rand() - 0.5)
+
+ # Map src_rect coordinates into image coordinates (center at corner).
+ src_rect[0::2] += 0.5 * img_w
+ src_rect[1::2] += 0.5 * img_h
+
+ return ExtentTransform(
+ src_rect=(src_rect[0], src_rect[1], src_rect[2], src_rect[3]),
+ output_size=(int(src_rect[3] - src_rect[1]), int(src_rect[2] - src_rect[0])),
+ )
+
+
+class RandomContrast(Augmentation):
+ """
+ Randomly transforms image contrast.
+
+ Contrast intensity is uniformly sampled in (intensity_min, intensity_max).
+ - intensity < 1 will reduce contrast
+ - intensity = 1 will preserve the input image
+ - intensity > 1 will increase contrast
+
+ See: https://pillow.readthedocs.io/en/3.0.x/reference/ImageEnhance.html
+ """
+
+ def __init__(self, intensity_min, intensity_max):
+ """
+ Args:
+ intensity_min (float): Minimum augmentation
+ intensity_max (float): Maximum augmentation
+ """
+ super().__init__()
+ self._init(locals())
+
+ def get_transform(self, image):
+ w = np.random.uniform(self.intensity_min, self.intensity_max)
+ return BlendTransform(src_image=image.mean(), src_weight=1 - w, dst_weight=w)
+
+
+class RandomBrightness(Augmentation):
+ """
+ Randomly transforms image brightness.
+
+ Brightness intensity is uniformly sampled in (intensity_min, intensity_max).
+ - intensity < 1 will reduce brightness
+ - intensity = 1 will preserve the input image
+ - intensity > 1 will increase brightness
+
+ See: https://pillow.readthedocs.io/en/3.0.x/reference/ImageEnhance.html
+ """
+
+ def __init__(self, intensity_min, intensity_max):
+ """
+ Args:
+ intensity_min (float): Minimum augmentation
+ intensity_max (float): Maximum augmentation
+ """
+ super().__init__()
+ self._init(locals())
+
+ def get_transform(self, image):
+ w = np.random.uniform(self.intensity_min, self.intensity_max)
+ return BlendTransform(src_image=0, src_weight=1 - w, dst_weight=w)
+
+
+class RandomSaturation(Augmentation):
+ """
+ Randomly transforms saturation of an RGB image.
+ Input images are assumed to have 'RGB' channel order.
+
+ Saturation intensity is uniformly sampled in (intensity_min, intensity_max).
+ - intensity < 1 will reduce saturation (make the image more grayscale)
+ - intensity = 1 will preserve the input image
+ - intensity > 1 will increase saturation
+
+ See: https://pillow.readthedocs.io/en/3.0.x/reference/ImageEnhance.html
+ """
+
+ def __init__(self, intensity_min, intensity_max):
+ """
+ Args:
+ intensity_min (float): Minimum augmentation (1 preserves input).
+ intensity_max (float): Maximum augmentation (1 preserves input).
+ """
+ super().__init__()
+ self._init(locals())
+
+ def get_transform(self, image):
+ assert image.shape[-1] == 3, "RandomSaturation only works on RGB images"
+ w = np.random.uniform(self.intensity_min, self.intensity_max)
+ grayscale = image.dot([0.299, 0.587, 0.114])[:, :, np.newaxis]
+ return BlendTransform(src_image=grayscale, src_weight=1 - w, dst_weight=w)
+
+
+class RandomLighting(Augmentation):
+ """
+ The "lighting" augmentation described in AlexNet, using fixed PCA over ImageNet.
+ Input images are assumed to have 'RGB' channel order.
+
+ The degree of color jittering is randomly sampled via a normal distribution,
+ with standard deviation given by the scale parameter.
+ """
+
+ def __init__(self, scale):
+ """
+ Args:
+ scale (float): Standard deviation of principal component weighting.
+ """
+ super().__init__()
+ self._init(locals())
+ self.eigen_vecs = np.array(
+ [[-0.5675, 0.7192, 0.4009], [-0.5808, -0.0045, -0.8140], [-0.5836, -0.6948, 0.4203]]
+ )
+ self.eigen_vals = np.array([0.2175, 0.0188, 0.0045])
+
+ def get_transform(self, image):
+ assert image.shape[-1] == 3, "RandomLighting only works on RGB images"
+ weights = np.random.normal(scale=self.scale, size=3)
+ return BlendTransform(
+ src_image=self.eigen_vecs.dot(weights * self.eigen_vals), src_weight=1.0, dst_weight=1.0
+ )
+
+
+class RandomResize(Augmentation):
+ """Randomly resize image to a target size in shape_list"""
+
+ def __init__(self, shape_list, interp=Image.BILINEAR):
+ """
+ Args:
+ shape_list: a list of shapes in (h, w)
+ interp: PIL interpolation method
+ """
+ self.shape_list = shape_list
+ self._init(locals())
+
+ def get_transform(self, image):
+ shape_idx = np.random.randint(low=0, high=len(self.shape_list))
+ h, w = self.shape_list[shape_idx]
+ return ResizeTransform(image.shape[0], image.shape[1], h, w, self.interp)
+
+
+class MinIoURandomCrop(Augmentation):
+ """Random crop the image & bboxes, the cropped patches have minimum IoU
+ requirement with original image & bboxes, the IoU threshold is randomly
+ selected from min_ious.
+
+ Args:
+ min_ious (tuple): minimum IoU threshold for all intersections with
+ bounding boxes
+ min_crop_size (float): minimum crop's size (i.e. h,w := a*h, a*w,
+ where a >= min_crop_size)
+ mode_trials: number of trials for sampling min_ious threshold
+ crop_trials: number of trials for sampling crop_size after cropping
+ """
+
+ def __init__(
+ self,
+ min_ious=(0.1, 0.3, 0.5, 0.7, 0.9),
+ min_crop_size=0.3,
+ mode_trials=1000,
+ crop_trials=50,
+ ):
+ self.min_ious = min_ious
+ self.sample_mode = (1, *min_ious, 0)
+ self.min_crop_size = min_crop_size
+ self.mode_trials = mode_trials
+ self.crop_trials = crop_trials
+
+ def get_transform(self, image, boxes):
+ """Call function to crop images and bounding boxes with minimum IoU
+ constraint.
+
+ Args:
+ boxes: ground truth boxes in (x1, y1, x2, y2) format
+ """
+ if boxes is None:
+ return NoOpTransform()
+ h, w, c = image.shape
+ for _ in range(self.mode_trials):
+ mode = random.choice(self.sample_mode)
+ self.mode = mode
+ if mode == 1:
+ return NoOpTransform()
+
+ min_iou = mode
+ for _ in range(self.crop_trials):
+ new_w = random.uniform(self.min_crop_size * w, w)
+ new_h = random.uniform(self.min_crop_size * h, h)
+
+ # h / w in [0.5, 2]
+ if new_h / new_w < 0.5 or new_h / new_w > 2:
+ continue
+
+ left = random.uniform(w - new_w)
+ top = random.uniform(h - new_h)
+
+ patch = np.array((int(left), int(top), int(left + new_w), int(top + new_h)))
+ # Line or point crop is not allowed
+ if patch[2] == patch[0] or patch[3] == patch[1]:
+ continue
+ overlaps = pairwise_iou(
+ Boxes(patch.reshape(-1, 4)), Boxes(boxes.reshape(-1, 4))
+ ).reshape(-1)
+ if len(overlaps) > 0 and overlaps.min() < min_iou:
+ continue
+
+ # center of boxes should inside the crop img
+ # only adjust boxes and instance masks when the gt is not empty
+ if len(overlaps) > 0:
+ # adjust boxes
+ def is_center_of_bboxes_in_patch(boxes, patch):
+ center = (boxes[:, :2] + boxes[:, 2:]) / 2
+ mask = (
+ (center[:, 0] > patch[0])
+ * (center[:, 1] > patch[1])
+ * (center[:, 0] < patch[2])
+ * (center[:, 1] < patch[3])
+ )
+ return mask
+
+ mask = is_center_of_bboxes_in_patch(boxes, patch)
+ if not mask.any():
+ continue
+ return CropTransform(int(left), int(top), int(new_w), int(new_h))
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/transforms/transform.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/transforms/transform.py
new file mode 100644
index 0000000000000000000000000000000000000000..de44b991d7ab0d920ffb769e1402f08e358d37f7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/data/transforms/transform.py
@@ -0,0 +1,351 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) Facebook, Inc. and its affiliates.
+
+"""
+See "Data Augmentation" tutorial for an overview of the system:
+https://detectron2.readthedocs.io/tutorials/augmentation.html
+"""
+
+import numpy as np
+import torch
+import torch.nn.functional as F
+from fvcore.transforms.transform import (
+ CropTransform,
+ HFlipTransform,
+ NoOpTransform,
+ Transform,
+ TransformList,
+)
+from PIL import Image
+
+try:
+ import cv2 # noqa
+except ImportError:
+ # OpenCV is an optional dependency at the moment
+ pass
+
+__all__ = [
+ "ExtentTransform",
+ "ResizeTransform",
+ "RotationTransform",
+ "ColorTransform",
+ "PILColorTransform",
+]
+
+
+class ExtentTransform(Transform):
+ """
+ Extracts a subregion from the source image and scales it to the output size.
+
+ The fill color is used to map pixels from the source rect that fall outside
+ the source image.
+
+ See: https://pillow.readthedocs.io/en/latest/PIL.html#PIL.ImageTransform.ExtentTransform
+ """
+
+ def __init__(self, src_rect, output_size, interp=Image.LINEAR, fill=0):
+ """
+ Args:
+ src_rect (x0, y0, x1, y1): src coordinates
+ output_size (h, w): dst image size
+ interp: PIL interpolation methods
+ fill: Fill color used when src_rect extends outside image
+ """
+ super().__init__()
+ self._set_attributes(locals())
+
+ def apply_image(self, img, interp=None):
+ h, w = self.output_size
+ if len(img.shape) > 2 and img.shape[2] == 1:
+ pil_image = Image.fromarray(img[:, :, 0], mode="L")
+ else:
+ pil_image = Image.fromarray(img)
+ pil_image = pil_image.transform(
+ size=(w, h),
+ method=Image.EXTENT,
+ data=self.src_rect,
+ resample=interp if interp else self.interp,
+ fill=self.fill,
+ )
+ ret = np.asarray(pil_image)
+ if len(img.shape) > 2 and img.shape[2] == 1:
+ ret = np.expand_dims(ret, -1)
+ return ret
+
+ def apply_coords(self, coords):
+ # Transform image center from source coordinates into output coordinates
+ # and then map the new origin to the corner of the output image.
+ h, w = self.output_size
+ x0, y0, x1, y1 = self.src_rect
+ new_coords = coords.astype(np.float32)
+ new_coords[:, 0] -= 0.5 * (x0 + x1)
+ new_coords[:, 1] -= 0.5 * (y0 + y1)
+ new_coords[:, 0] *= w / (x1 - x0)
+ new_coords[:, 1] *= h / (y1 - y0)
+ new_coords[:, 0] += 0.5 * w
+ new_coords[:, 1] += 0.5 * h
+ return new_coords
+
+ def apply_segmentation(self, segmentation):
+ segmentation = self.apply_image(segmentation, interp=Image.NEAREST)
+ return segmentation
+
+
+class ResizeTransform(Transform):
+ """
+ Resize the image to a target size.
+ """
+
+ def __init__(self, h, w, new_h, new_w, interp=None):
+ """
+ Args:
+ h, w (int): original image size
+ new_h, new_w (int): new image size
+ interp: PIL interpolation methods, defaults to bilinear.
+ """
+ # TODO decide on PIL vs opencv
+ super().__init__()
+ if interp is None:
+ interp = Image.BILINEAR
+ self._set_attributes(locals())
+
+ def apply_image(self, img, interp=None):
+ assert img.shape[:2] == (self.h, self.w)
+ assert len(img.shape) <= 4
+ interp_method = interp if interp is not None else self.interp
+
+ if img.dtype == np.uint8:
+ if len(img.shape) > 2 and img.shape[2] == 1:
+ pil_image = Image.fromarray(img[:, :, 0], mode="L")
+ else:
+ pil_image = Image.fromarray(img)
+ pil_image = pil_image.resize((self.new_w, self.new_h), interp_method)
+ ret = np.asarray(pil_image)
+ if len(img.shape) > 2 and img.shape[2] == 1:
+ ret = np.expand_dims(ret, -1)
+ else:
+ # PIL only supports uint8
+ if any(x < 0 for x in img.strides):
+ img = np.ascontiguousarray(img)
+ img = torch.from_numpy(img)
+ shape = list(img.shape)
+ shape_4d = shape[:2] + [1] * (4 - len(shape)) + shape[2:]
+ img = img.view(shape_4d).permute(2, 3, 0, 1) # hw(c) -> nchw
+ _PIL_RESIZE_TO_INTERPOLATE_MODE = {
+ Image.NEAREST: "nearest",
+ Image.BILINEAR: "bilinear",
+ Image.BICUBIC: "bicubic",
+ }
+ mode = _PIL_RESIZE_TO_INTERPOLATE_MODE[interp_method]
+ align_corners = None if mode == "nearest" else False
+ img = F.interpolate(
+ img, (self.new_h, self.new_w), mode=mode, align_corners=align_corners
+ )
+ shape[:2] = (self.new_h, self.new_w)
+ ret = img.permute(2, 3, 0, 1).view(shape).numpy() # nchw -> hw(c)
+
+ return ret
+
+ def apply_coords(self, coords):
+ coords[:, 0] = coords[:, 0] * (self.new_w * 1.0 / self.w)
+ coords[:, 1] = coords[:, 1] * (self.new_h * 1.0 / self.h)
+ return coords
+
+ def apply_segmentation(self, segmentation):
+ segmentation = self.apply_image(segmentation, interp=Image.NEAREST)
+ return segmentation
+
+ def inverse(self):
+ return ResizeTransform(self.new_h, self.new_w, self.h, self.w, self.interp)
+
+
+class RotationTransform(Transform):
+ """
+ This method returns a copy of this image, rotated the given
+ number of degrees counter clockwise around its center.
+ """
+
+ def __init__(self, h, w, angle, expand=True, center=None, interp=None):
+ """
+ Args:
+ h, w (int): original image size
+ angle (float): degrees for rotation
+ expand (bool): choose if the image should be resized to fit the whole
+ rotated image (default), or simply cropped
+ center (tuple (width, height)): coordinates of the rotation center
+ if left to None, the center will be fit to the center of each image
+ center has no effect if expand=True because it only affects shifting
+ interp: cv2 interpolation method, default cv2.INTER_LINEAR
+ """
+ super().__init__()
+ image_center = np.array((w / 2, h / 2))
+ if center is None:
+ center = image_center
+ if interp is None:
+ interp = cv2.INTER_LINEAR
+ abs_cos, abs_sin = (abs(np.cos(np.deg2rad(angle))), abs(np.sin(np.deg2rad(angle))))
+ if expand:
+ # find the new width and height bounds
+ bound_w, bound_h = np.rint(
+ [h * abs_sin + w * abs_cos, h * abs_cos + w * abs_sin]
+ ).astype(int)
+ else:
+ bound_w, bound_h = w, h
+
+ self._set_attributes(locals())
+ self.rm_coords = self.create_rotation_matrix()
+ # Needed because of this problem https://github.com/opencv/opencv/issues/11784
+ self.rm_image = self.create_rotation_matrix(offset=-0.5)
+
+ def apply_image(self, img, interp=None):
+ """
+ img should be a numpy array, formatted as Height * Width * Nchannels
+ """
+ if len(img) == 0 or self.angle % 360 == 0:
+ return img
+ assert img.shape[:2] == (self.h, self.w)
+ interp = interp if interp is not None else self.interp
+ return cv2.warpAffine(img, self.rm_image, (self.bound_w, self.bound_h), flags=interp)
+
+ def apply_coords(self, coords):
+ """
+ coords should be a N * 2 array-like, containing N couples of (x, y) points
+ """
+ coords = np.asarray(coords, dtype=float)
+ if len(coords) == 0 or self.angle % 360 == 0:
+ return coords
+ return cv2.transform(coords[:, np.newaxis, :], self.rm_coords)[:, 0, :]
+
+ def apply_segmentation(self, segmentation):
+ segmentation = self.apply_image(segmentation, interp=cv2.INTER_NEAREST)
+ return segmentation
+
+ def create_rotation_matrix(self, offset=0):
+ center = (self.center[0] + offset, self.center[1] + offset)
+ rm = cv2.getRotationMatrix2D(tuple(center), self.angle, 1)
+ if self.expand:
+ # Find the coordinates of the center of rotation in the new image
+ # The only point for which we know the future coordinates is the center of the image
+ rot_im_center = cv2.transform(self.image_center[None, None, :] + offset, rm)[0, 0, :]
+ new_center = np.array([self.bound_w / 2, self.bound_h / 2]) + offset - rot_im_center
+ # shift the rotation center to the new coordinates
+ rm[:, 2] += new_center
+ return rm
+
+ def inverse(self):
+ """
+ The inverse is to rotate it back with expand, and crop to get the original shape.
+ """
+ if not self.expand: # Not possible to inverse if a part of the image is lost
+ raise NotImplementedError()
+ rotation = RotationTransform(
+ self.bound_h, self.bound_w, -self.angle, True, None, self.interp
+ )
+ crop = CropTransform(
+ (rotation.bound_w - self.w) // 2, (rotation.bound_h - self.h) // 2, self.w, self.h
+ )
+ return TransformList([rotation, crop])
+
+
+class ColorTransform(Transform):
+ """
+ Generic wrapper for any photometric transforms.
+ These transformations should only affect the color space and
+ not the coordinate space of the image (e.g. annotation
+ coordinates such as bounding boxes should not be changed)
+ """
+
+ def __init__(self, op):
+ """
+ Args:
+ op (Callable): operation to be applied to the image,
+ which takes in an ndarray and returns an ndarray.
+ """
+ if not callable(op):
+ raise ValueError("op parameter should be callable")
+ super().__init__()
+ self._set_attributes(locals())
+
+ def apply_image(self, img):
+ return self.op(img)
+
+ def apply_coords(self, coords):
+ return coords
+
+ def inverse(self):
+ return NoOpTransform()
+
+ def apply_segmentation(self, segmentation):
+ return segmentation
+
+
+class PILColorTransform(ColorTransform):
+ """
+ Generic wrapper for PIL Photometric image transforms,
+ which affect the color space and not the coordinate
+ space of the image
+ """
+
+ def __init__(self, op):
+ """
+ Args:
+ op (Callable): operation to be applied to the image,
+ which takes in a PIL Image and returns a transformed
+ PIL Image.
+ For reference on possible operations see:
+ - https://pillow.readthedocs.io/en/stable/
+ """
+ if not callable(op):
+ raise ValueError("op parameter should be callable")
+ super().__init__(op)
+
+ def apply_image(self, img):
+ img = Image.fromarray(img)
+ return np.asarray(super().apply_image(img))
+
+
+def HFlip_rotated_box(transform, rotated_boxes):
+ """
+ Apply the horizontal flip transform on rotated boxes.
+
+ Args:
+ rotated_boxes (ndarray): Nx5 floating point array of
+ (x_center, y_center, width, height, angle_degrees) format
+ in absolute coordinates.
+ """
+ # Transform x_center
+ rotated_boxes[:, 0] = transform.width - rotated_boxes[:, 0]
+ # Transform angle
+ rotated_boxes[:, 4] = -rotated_boxes[:, 4]
+ return rotated_boxes
+
+
+def Resize_rotated_box(transform, rotated_boxes):
+ """
+ Apply the resizing transform on rotated boxes. For details of how these (approximation)
+ formulas are derived, please refer to :meth:`RotatedBoxes.scale`.
+
+ Args:
+ rotated_boxes (ndarray): Nx5 floating point array of
+ (x_center, y_center, width, height, angle_degrees) format
+ in absolute coordinates.
+ """
+ scale_factor_x = transform.new_w * 1.0 / transform.w
+ scale_factor_y = transform.new_h * 1.0 / transform.h
+ rotated_boxes[:, 0] *= scale_factor_x
+ rotated_boxes[:, 1] *= scale_factor_y
+ theta = rotated_boxes[:, 4] * np.pi / 180.0
+ c = np.cos(theta)
+ s = np.sin(theta)
+ rotated_boxes[:, 2] *= np.sqrt(np.square(scale_factor_x * c) + np.square(scale_factor_y * s))
+ rotated_boxes[:, 3] *= np.sqrt(np.square(scale_factor_x * s) + np.square(scale_factor_y * c))
+ rotated_boxes[:, 4] = np.arctan2(scale_factor_x * s, scale_factor_y * c) * 180 / np.pi
+
+ return rotated_boxes
+
+
+HFlipTransform.register_type("rotated_box", HFlip_rotated_box)
+ResizeTransform.register_type("rotated_box", Resize_rotated_box)
+
+# not necessary any more with latest fvcore
+NoOpTransform.register_type("rotated_box", lambda t, x: x)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/engine/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/engine/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..08a61572b4c7d09c8d400e903a96cbf5b2cc4763
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/engine/__init__.py
@@ -0,0 +1,12 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+
+from .launch import *
+from .train_loop import *
+
+__all__ = [k for k in globals().keys() if not k.startswith("_")]
+
+
+# prefer to let hooks and defaults live in separate namespaces (therefore not in __all__)
+# but still make them available here
+from .hooks import *
+from .defaults import *
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/engine/defaults.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/engine/defaults.py
new file mode 100644
index 0000000000000000000000000000000000000000..51d49148ca7b048402a63490bf7df83a43c65d9f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/engine/defaults.py
@@ -0,0 +1,715 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) Facebook, Inc. and its affiliates.
+
+"""
+This file contains components with some default boilerplate logic user may need
+in training / testing. They will not work for everyone, but many users may find them useful.
+
+The behavior of functions/classes in this file is subject to change,
+since they are meant to represent the "common default behavior" people need in their projects.
+"""
+
+import argparse
+import logging
+import os
+import sys
+import weakref
+from collections import OrderedDict
+from typing import Optional
+import torch
+from fvcore.nn.precise_bn import get_bn_modules
+from omegaconf import OmegaConf
+from torch.nn.parallel import DistributedDataParallel
+
+import annotator.oneformer.detectron2.data.transforms as T
+from annotator.oneformer.detectron2.checkpoint import DetectionCheckpointer
+from annotator.oneformer.detectron2.config import CfgNode, LazyConfig
+from annotator.oneformer.detectron2.data import (
+ MetadataCatalog,
+ build_detection_test_loader,
+ build_detection_train_loader,
+)
+from annotator.oneformer.detectron2.evaluation import (
+ DatasetEvaluator,
+ inference_on_dataset,
+ print_csv_format,
+ verify_results,
+)
+from annotator.oneformer.detectron2.modeling import build_model
+from annotator.oneformer.detectron2.solver import build_lr_scheduler, build_optimizer
+from annotator.oneformer.detectron2.utils import comm
+from annotator.oneformer.detectron2.utils.collect_env import collect_env_info
+from annotator.oneformer.detectron2.utils.env import seed_all_rng
+from annotator.oneformer.detectron2.utils.events import CommonMetricPrinter, JSONWriter, TensorboardXWriter
+from annotator.oneformer.detectron2.utils.file_io import PathManager
+from annotator.oneformer.detectron2.utils.logger import setup_logger
+
+from . import hooks
+from .train_loop import AMPTrainer, SimpleTrainer, TrainerBase
+
+__all__ = [
+ "create_ddp_model",
+ "default_argument_parser",
+ "default_setup",
+ "default_writers",
+ "DefaultPredictor",
+ "DefaultTrainer",
+]
+
+
+def create_ddp_model(model, *, fp16_compression=False, **kwargs):
+ """
+ Create a DistributedDataParallel model if there are >1 processes.
+
+ Args:
+ model: a torch.nn.Module
+ fp16_compression: add fp16 compression hooks to the ddp object.
+ See more at https://pytorch.org/docs/stable/ddp_comm_hooks.html#torch.distributed.algorithms.ddp_comm_hooks.default_hooks.fp16_compress_hook
+ kwargs: other arguments of :module:`torch.nn.parallel.DistributedDataParallel`.
+ """ # noqa
+ if comm.get_world_size() == 1:
+ return model
+ if "device_ids" not in kwargs:
+ kwargs["device_ids"] = [comm.get_local_rank()]
+ ddp = DistributedDataParallel(model, **kwargs)
+ if fp16_compression:
+ from torch.distributed.algorithms.ddp_comm_hooks import default as comm_hooks
+
+ ddp.register_comm_hook(state=None, hook=comm_hooks.fp16_compress_hook)
+ return ddp
+
+
+def default_argument_parser(epilog=None):
+ """
+ Create a parser with some common arguments used by detectron2 users.
+
+ Args:
+ epilog (str): epilog passed to ArgumentParser describing the usage.
+
+ Returns:
+ argparse.ArgumentParser:
+ """
+ parser = argparse.ArgumentParser(
+ epilog=epilog
+ or f"""
+Examples:
+
+Run on single machine:
+ $ {sys.argv[0]} --num-gpus 8 --config-file cfg.yaml
+
+Change some config options:
+ $ {sys.argv[0]} --config-file cfg.yaml MODEL.WEIGHTS /path/to/weight.pth SOLVER.BASE_LR 0.001
+
+Run on multiple machines:
+ (machine0)$ {sys.argv[0]} --machine-rank 0 --num-machines 2 --dist-url [--other-flags]
+ (machine1)$ {sys.argv[0]} --machine-rank 1 --num-machines 2 --dist-url [--other-flags]
+""",
+ formatter_class=argparse.RawDescriptionHelpFormatter,
+ )
+ parser.add_argument("--config-file", default="", metavar="FILE", help="path to config file")
+ parser.add_argument(
+ "--resume",
+ action="store_true",
+ help="Whether to attempt to resume from the checkpoint directory. "
+ "See documentation of `DefaultTrainer.resume_or_load()` for what it means.",
+ )
+ parser.add_argument("--eval-only", action="store_true", help="perform evaluation only")
+ parser.add_argument("--num-gpus", type=int, default=1, help="number of gpus *per machine*")
+ parser.add_argument("--num-machines", type=int, default=1, help="total number of machines")
+ parser.add_argument(
+ "--machine-rank", type=int, default=0, help="the rank of this machine (unique per machine)"
+ )
+
+ # PyTorch still may leave orphan processes in multi-gpu training.
+ # Therefore we use a deterministic way to obtain port,
+ # so that users are aware of orphan processes by seeing the port occupied.
+ port = 2**15 + 2**14 + hash(os.getuid() if sys.platform != "win32" else 1) % 2**14
+ parser.add_argument(
+ "--dist-url",
+ default="tcp://127.0.0.1:{}".format(port),
+ help="initialization URL for pytorch distributed backend. See "
+ "https://pytorch.org/docs/stable/distributed.html for details.",
+ )
+ parser.add_argument(
+ "opts",
+ help="""
+Modify config options at the end of the command. For Yacs configs, use
+space-separated "PATH.KEY VALUE" pairs.
+For python-based LazyConfig, use "path.key=value".
+ """.strip(),
+ default=None,
+ nargs=argparse.REMAINDER,
+ )
+ return parser
+
+
+def _try_get_key(cfg, *keys, default=None):
+ """
+ Try select keys from cfg until the first key that exists. Otherwise return default.
+ """
+ if isinstance(cfg, CfgNode):
+ cfg = OmegaConf.create(cfg.dump())
+ for k in keys:
+ none = object()
+ p = OmegaConf.select(cfg, k, default=none)
+ if p is not none:
+ return p
+ return default
+
+
+def _highlight(code, filename):
+ try:
+ import pygments
+ except ImportError:
+ return code
+
+ from pygments.lexers import Python3Lexer, YamlLexer
+ from pygments.formatters import Terminal256Formatter
+
+ lexer = Python3Lexer() if filename.endswith(".py") else YamlLexer()
+ code = pygments.highlight(code, lexer, Terminal256Formatter(style="monokai"))
+ return code
+
+
+def default_setup(cfg, args):
+ """
+ Perform some basic common setups at the beginning of a job, including:
+
+ 1. Set up the detectron2 logger
+ 2. Log basic information about environment, cmdline arguments, and config
+ 3. Backup the config to the output directory
+
+ Args:
+ cfg (CfgNode or omegaconf.DictConfig): the full config to be used
+ args (argparse.NameSpace): the command line arguments to be logged
+ """
+ output_dir = _try_get_key(cfg, "OUTPUT_DIR", "output_dir", "train.output_dir")
+ if comm.is_main_process() and output_dir:
+ PathManager.mkdirs(output_dir)
+
+ rank = comm.get_rank()
+ setup_logger(output_dir, distributed_rank=rank, name="fvcore")
+ logger = setup_logger(output_dir, distributed_rank=rank)
+
+ logger.info("Rank of current process: {}. World size: {}".format(rank, comm.get_world_size()))
+ logger.info("Environment info:\n" + collect_env_info())
+
+ logger.info("Command line arguments: " + str(args))
+ if hasattr(args, "config_file") and args.config_file != "":
+ logger.info(
+ "Contents of args.config_file={}:\n{}".format(
+ args.config_file,
+ _highlight(PathManager.open(args.config_file, "r").read(), args.config_file),
+ )
+ )
+
+ if comm.is_main_process() and output_dir:
+ # Note: some of our scripts may expect the existence of
+ # config.yaml in output directory
+ path = os.path.join(output_dir, "config.yaml")
+ if isinstance(cfg, CfgNode):
+ logger.info("Running with full config:\n{}".format(_highlight(cfg.dump(), ".yaml")))
+ with PathManager.open(path, "w") as f:
+ f.write(cfg.dump())
+ else:
+ LazyConfig.save(cfg, path)
+ logger.info("Full config saved to {}".format(path))
+
+ # make sure each worker has a different, yet deterministic seed if specified
+ seed = _try_get_key(cfg, "SEED", "train.seed", default=-1)
+ seed_all_rng(None if seed < 0 else seed + rank)
+
+ # cudnn benchmark has large overhead. It shouldn't be used considering the small size of
+ # typical validation set.
+ if not (hasattr(args, "eval_only") and args.eval_only):
+ torch.backends.cudnn.benchmark = _try_get_key(
+ cfg, "CUDNN_BENCHMARK", "train.cudnn_benchmark", default=False
+ )
+
+
+def default_writers(output_dir: str, max_iter: Optional[int] = None):
+ """
+ Build a list of :class:`EventWriter` to be used.
+ It now consists of a :class:`CommonMetricPrinter`,
+ :class:`TensorboardXWriter` and :class:`JSONWriter`.
+
+ Args:
+ output_dir: directory to store JSON metrics and tensorboard events
+ max_iter: the total number of iterations
+
+ Returns:
+ list[EventWriter]: a list of :class:`EventWriter` objects.
+ """
+ PathManager.mkdirs(output_dir)
+ return [
+ # It may not always print what you want to see, since it prints "common" metrics only.
+ CommonMetricPrinter(max_iter),
+ JSONWriter(os.path.join(output_dir, "metrics.json")),
+ TensorboardXWriter(output_dir),
+ ]
+
+
+class DefaultPredictor:
+ """
+ Create a simple end-to-end predictor with the given config that runs on
+ single device for a single input image.
+
+ Compared to using the model directly, this class does the following additions:
+
+ 1. Load checkpoint from `cfg.MODEL.WEIGHTS`.
+ 2. Always take BGR image as the input and apply conversion defined by `cfg.INPUT.FORMAT`.
+ 3. Apply resizing defined by `cfg.INPUT.{MIN,MAX}_SIZE_TEST`.
+ 4. Take one input image and produce a single output, instead of a batch.
+
+ This is meant for simple demo purposes, so it does the above steps automatically.
+ This is not meant for benchmarks or running complicated inference logic.
+ If you'd like to do anything more complicated, please refer to its source code as
+ examples to build and use the model manually.
+
+ Attributes:
+ metadata (Metadata): the metadata of the underlying dataset, obtained from
+ cfg.DATASETS.TEST.
+
+ Examples:
+ ::
+ pred = DefaultPredictor(cfg)
+ inputs = cv2.imread("input.jpg")
+ outputs = pred(inputs)
+ """
+
+ def __init__(self, cfg):
+ self.cfg = cfg.clone() # cfg can be modified by model
+ self.model = build_model(self.cfg)
+ self.model.eval()
+ if len(cfg.DATASETS.TEST):
+ self.metadata = MetadataCatalog.get(cfg.DATASETS.TEST[0])
+
+ checkpointer = DetectionCheckpointer(self.model)
+ checkpointer.load(cfg.MODEL.WEIGHTS)
+
+ self.aug = T.ResizeShortestEdge(
+ [cfg.INPUT.MIN_SIZE_TEST, cfg.INPUT.MIN_SIZE_TEST], cfg.INPUT.MAX_SIZE_TEST
+ )
+
+ self.input_format = cfg.INPUT.FORMAT
+ assert self.input_format in ["RGB", "BGR"], self.input_format
+
+ def __call__(self, original_image):
+ """
+ Args:
+ original_image (np.ndarray): an image of shape (H, W, C) (in BGR order).
+
+ Returns:
+ predictions (dict):
+ the output of the model for one image only.
+ See :doc:`/tutorials/models` for details about the format.
+ """
+ with torch.no_grad(): # https://github.com/sphinx-doc/sphinx/issues/4258
+ # Apply pre-processing to image.
+ if self.input_format == "RGB":
+ # whether the model expects BGR inputs or RGB
+ original_image = original_image[:, :, ::-1]
+ height, width = original_image.shape[:2]
+ image = self.aug.get_transform(original_image).apply_image(original_image)
+ image = torch.as_tensor(image.astype("float32").transpose(2, 0, 1))
+
+ inputs = {"image": image, "height": height, "width": width}
+ predictions = self.model([inputs])[0]
+ return predictions
+
+
+class DefaultTrainer(TrainerBase):
+ """
+ A trainer with default training logic. It does the following:
+
+ 1. Create a :class:`SimpleTrainer` using model, optimizer, dataloader
+ defined by the given config. Create a LR scheduler defined by the config.
+ 2. Load the last checkpoint or `cfg.MODEL.WEIGHTS`, if exists, when
+ `resume_or_load` is called.
+ 3. Register a few common hooks defined by the config.
+
+ It is created to simplify the **standard model training workflow** and reduce code boilerplate
+ for users who only need the standard training workflow, with standard features.
+ It means this class makes *many assumptions* about your training logic that
+ may easily become invalid in a new research. In fact, any assumptions beyond those made in the
+ :class:`SimpleTrainer` are too much for research.
+
+ The code of this class has been annotated about restrictive assumptions it makes.
+ When they do not work for you, you're encouraged to:
+
+ 1. Overwrite methods of this class, OR:
+ 2. Use :class:`SimpleTrainer`, which only does minimal SGD training and
+ nothing else. You can then add your own hooks if needed. OR:
+ 3. Write your own training loop similar to `tools/plain_train_net.py`.
+
+ See the :doc:`/tutorials/training` tutorials for more details.
+
+ Note that the behavior of this class, like other functions/classes in
+ this file, is not stable, since it is meant to represent the "common default behavior".
+ It is only guaranteed to work well with the standard models and training workflow in detectron2.
+ To obtain more stable behavior, write your own training logic with other public APIs.
+
+ Examples:
+ ::
+ trainer = DefaultTrainer(cfg)
+ trainer.resume_or_load() # load last checkpoint or MODEL.WEIGHTS
+ trainer.train()
+
+ Attributes:
+ scheduler:
+ checkpointer (DetectionCheckpointer):
+ cfg (CfgNode):
+ """
+
+ def __init__(self, cfg):
+ """
+ Args:
+ cfg (CfgNode):
+ """
+ super().__init__()
+ logger = logging.getLogger("detectron2")
+ if not logger.isEnabledFor(logging.INFO): # setup_logger is not called for d2
+ setup_logger()
+ cfg = DefaultTrainer.auto_scale_workers(cfg, comm.get_world_size())
+
+ # Assume these objects must be constructed in this order.
+ model = self.build_model(cfg)
+ optimizer = self.build_optimizer(cfg, model)
+ data_loader = self.build_train_loader(cfg)
+
+ model = create_ddp_model(model, broadcast_buffers=False)
+ self._trainer = (AMPTrainer if cfg.SOLVER.AMP.ENABLED else SimpleTrainer)(
+ model, data_loader, optimizer
+ )
+
+ self.scheduler = self.build_lr_scheduler(cfg, optimizer)
+ self.checkpointer = DetectionCheckpointer(
+ # Assume you want to save checkpoints together with logs/statistics
+ model,
+ cfg.OUTPUT_DIR,
+ trainer=weakref.proxy(self),
+ )
+ self.start_iter = 0
+ self.max_iter = cfg.SOLVER.MAX_ITER
+ self.cfg = cfg
+
+ self.register_hooks(self.build_hooks())
+
+ def resume_or_load(self, resume=True):
+ """
+ If `resume==True` and `cfg.OUTPUT_DIR` contains the last checkpoint (defined by
+ a `last_checkpoint` file), resume from the file. Resuming means loading all
+ available states (eg. optimizer and scheduler) and update iteration counter
+ from the checkpoint. ``cfg.MODEL.WEIGHTS`` will not be used.
+
+ Otherwise, this is considered as an independent training. The method will load model
+ weights from the file `cfg.MODEL.WEIGHTS` (but will not load other states) and start
+ from iteration 0.
+
+ Args:
+ resume (bool): whether to do resume or not
+ """
+ self.checkpointer.resume_or_load(self.cfg.MODEL.WEIGHTS, resume=resume)
+ if resume and self.checkpointer.has_checkpoint():
+ # The checkpoint stores the training iteration that just finished, thus we start
+ # at the next iteration
+ self.start_iter = self.iter + 1
+
+ def build_hooks(self):
+ """
+ Build a list of default hooks, including timing, evaluation,
+ checkpointing, lr scheduling, precise BN, writing events.
+
+ Returns:
+ list[HookBase]:
+ """
+ cfg = self.cfg.clone()
+ cfg.defrost()
+ cfg.DATALOADER.NUM_WORKERS = 0 # save some memory and time for PreciseBN
+
+ ret = [
+ hooks.IterationTimer(),
+ hooks.LRScheduler(),
+ hooks.PreciseBN(
+ # Run at the same freq as (but before) evaluation.
+ cfg.TEST.EVAL_PERIOD,
+ self.model,
+ # Build a new data loader to not affect training
+ self.build_train_loader(cfg),
+ cfg.TEST.PRECISE_BN.NUM_ITER,
+ )
+ if cfg.TEST.PRECISE_BN.ENABLED and get_bn_modules(self.model)
+ else None,
+ ]
+
+ # Do PreciseBN before checkpointer, because it updates the model and need to
+ # be saved by checkpointer.
+ # This is not always the best: if checkpointing has a different frequency,
+ # some checkpoints may have more precise statistics than others.
+ if comm.is_main_process():
+ ret.append(hooks.PeriodicCheckpointer(self.checkpointer, cfg.SOLVER.CHECKPOINT_PERIOD))
+
+ def test_and_save_results():
+ self._last_eval_results = self.test(self.cfg, self.model)
+ return self._last_eval_results
+
+ # Do evaluation after checkpointer, because then if it fails,
+ # we can use the saved checkpoint to debug.
+ ret.append(hooks.EvalHook(cfg.TEST.EVAL_PERIOD, test_and_save_results))
+
+ if comm.is_main_process():
+ # Here the default print/log frequency of each writer is used.
+ # run writers in the end, so that evaluation metrics are written
+ ret.append(hooks.PeriodicWriter(self.build_writers(), period=20))
+ return ret
+
+ def build_writers(self):
+ """
+ Build a list of writers to be used using :func:`default_writers()`.
+ If you'd like a different list of writers, you can overwrite it in
+ your trainer.
+
+ Returns:
+ list[EventWriter]: a list of :class:`EventWriter` objects.
+ """
+ return default_writers(self.cfg.OUTPUT_DIR, self.max_iter)
+
+ def train(self):
+ """
+ Run training.
+
+ Returns:
+ OrderedDict of results, if evaluation is enabled. Otherwise None.
+ """
+ super().train(self.start_iter, self.max_iter)
+ if len(self.cfg.TEST.EXPECTED_RESULTS) and comm.is_main_process():
+ assert hasattr(
+ self, "_last_eval_results"
+ ), "No evaluation results obtained during training!"
+ verify_results(self.cfg, self._last_eval_results)
+ return self._last_eval_results
+
+ def run_step(self):
+ self._trainer.iter = self.iter
+ self._trainer.run_step()
+
+ def state_dict(self):
+ ret = super().state_dict()
+ ret["_trainer"] = self._trainer.state_dict()
+ return ret
+
+ def load_state_dict(self, state_dict):
+ super().load_state_dict(state_dict)
+ self._trainer.load_state_dict(state_dict["_trainer"])
+
+ @classmethod
+ def build_model(cls, cfg):
+ """
+ Returns:
+ torch.nn.Module:
+
+ It now calls :func:`detectron2.modeling.build_model`.
+ Overwrite it if you'd like a different model.
+ """
+ model = build_model(cfg)
+ logger = logging.getLogger(__name__)
+ logger.info("Model:\n{}".format(model))
+ return model
+
+ @classmethod
+ def build_optimizer(cls, cfg, model):
+ """
+ Returns:
+ torch.optim.Optimizer:
+
+ It now calls :func:`detectron2.solver.build_optimizer`.
+ Overwrite it if you'd like a different optimizer.
+ """
+ return build_optimizer(cfg, model)
+
+ @classmethod
+ def build_lr_scheduler(cls, cfg, optimizer):
+ """
+ It now calls :func:`detectron2.solver.build_lr_scheduler`.
+ Overwrite it if you'd like a different scheduler.
+ """
+ return build_lr_scheduler(cfg, optimizer)
+
+ @classmethod
+ def build_train_loader(cls, cfg):
+ """
+ Returns:
+ iterable
+
+ It now calls :func:`detectron2.data.build_detection_train_loader`.
+ Overwrite it if you'd like a different data loader.
+ """
+ return build_detection_train_loader(cfg)
+
+ @classmethod
+ def build_test_loader(cls, cfg, dataset_name):
+ """
+ Returns:
+ iterable
+
+ It now calls :func:`detectron2.data.build_detection_test_loader`.
+ Overwrite it if you'd like a different data loader.
+ """
+ return build_detection_test_loader(cfg, dataset_name)
+
+ @classmethod
+ def build_evaluator(cls, cfg, dataset_name):
+ """
+ Returns:
+ DatasetEvaluator or None
+
+ It is not implemented by default.
+ """
+ raise NotImplementedError(
+ """
+If you want DefaultTrainer to automatically run evaluation,
+please implement `build_evaluator()` in subclasses (see train_net.py for example).
+Alternatively, you can call evaluation functions yourself (see Colab balloon tutorial for example).
+"""
+ )
+
+ @classmethod
+ def test(cls, cfg, model, evaluators=None):
+ """
+ Evaluate the given model. The given model is expected to already contain
+ weights to evaluate.
+
+ Args:
+ cfg (CfgNode):
+ model (nn.Module):
+ evaluators (list[DatasetEvaluator] or None): if None, will call
+ :meth:`build_evaluator`. Otherwise, must have the same length as
+ ``cfg.DATASETS.TEST``.
+
+ Returns:
+ dict: a dict of result metrics
+ """
+ logger = logging.getLogger(__name__)
+ if isinstance(evaluators, DatasetEvaluator):
+ evaluators = [evaluators]
+ if evaluators is not None:
+ assert len(cfg.DATASETS.TEST) == len(evaluators), "{} != {}".format(
+ len(cfg.DATASETS.TEST), len(evaluators)
+ )
+
+ results = OrderedDict()
+ for idx, dataset_name in enumerate(cfg.DATASETS.TEST):
+ data_loader = cls.build_test_loader(cfg, dataset_name)
+ # When evaluators are passed in as arguments,
+ # implicitly assume that evaluators can be created before data_loader.
+ if evaluators is not None:
+ evaluator = evaluators[idx]
+ else:
+ try:
+ evaluator = cls.build_evaluator(cfg, dataset_name)
+ except NotImplementedError:
+ logger.warn(
+ "No evaluator found. Use `DefaultTrainer.test(evaluators=)`, "
+ "or implement its `build_evaluator` method."
+ )
+ results[dataset_name] = {}
+ continue
+ results_i = inference_on_dataset(model, data_loader, evaluator)
+ results[dataset_name] = results_i
+ if comm.is_main_process():
+ assert isinstance(
+ results_i, dict
+ ), "Evaluator must return a dict on the main process. Got {} instead.".format(
+ results_i
+ )
+ logger.info("Evaluation results for {} in csv format:".format(dataset_name))
+ print_csv_format(results_i)
+
+ if len(results) == 1:
+ results = list(results.values())[0]
+ return results
+
+ @staticmethod
+ def auto_scale_workers(cfg, num_workers: int):
+ """
+ When the config is defined for certain number of workers (according to
+ ``cfg.SOLVER.REFERENCE_WORLD_SIZE``) that's different from the number of
+ workers currently in use, returns a new cfg where the total batch size
+ is scaled so that the per-GPU batch size stays the same as the
+ original ``IMS_PER_BATCH // REFERENCE_WORLD_SIZE``.
+
+ Other config options are also scaled accordingly:
+ * training steps and warmup steps are scaled inverse proportionally.
+ * learning rate are scaled proportionally, following :paper:`ImageNet in 1h`.
+
+ For example, with the original config like the following:
+
+ .. code-block:: yaml
+
+ IMS_PER_BATCH: 16
+ BASE_LR: 0.1
+ REFERENCE_WORLD_SIZE: 8
+ MAX_ITER: 5000
+ STEPS: (4000,)
+ CHECKPOINT_PERIOD: 1000
+
+ When this config is used on 16 GPUs instead of the reference number 8,
+ calling this method will return a new config with:
+
+ .. code-block:: yaml
+
+ IMS_PER_BATCH: 32
+ BASE_LR: 0.2
+ REFERENCE_WORLD_SIZE: 16
+ MAX_ITER: 2500
+ STEPS: (2000,)
+ CHECKPOINT_PERIOD: 500
+
+ Note that both the original config and this new config can be trained on 16 GPUs.
+ It's up to user whether to enable this feature (by setting ``REFERENCE_WORLD_SIZE``).
+
+ Returns:
+ CfgNode: a new config. Same as original if ``cfg.SOLVER.REFERENCE_WORLD_SIZE==0``.
+ """
+ old_world_size = cfg.SOLVER.REFERENCE_WORLD_SIZE
+ if old_world_size == 0 or old_world_size == num_workers:
+ return cfg
+ cfg = cfg.clone()
+ frozen = cfg.is_frozen()
+ cfg.defrost()
+
+ assert (
+ cfg.SOLVER.IMS_PER_BATCH % old_world_size == 0
+ ), "Invalid REFERENCE_WORLD_SIZE in config!"
+ scale = num_workers / old_world_size
+ bs = cfg.SOLVER.IMS_PER_BATCH = int(round(cfg.SOLVER.IMS_PER_BATCH * scale))
+ lr = cfg.SOLVER.BASE_LR = cfg.SOLVER.BASE_LR * scale
+ max_iter = cfg.SOLVER.MAX_ITER = int(round(cfg.SOLVER.MAX_ITER / scale))
+ warmup_iter = cfg.SOLVER.WARMUP_ITERS = int(round(cfg.SOLVER.WARMUP_ITERS / scale))
+ cfg.SOLVER.STEPS = tuple(int(round(s / scale)) for s in cfg.SOLVER.STEPS)
+ cfg.TEST.EVAL_PERIOD = int(round(cfg.TEST.EVAL_PERIOD / scale))
+ cfg.SOLVER.CHECKPOINT_PERIOD = int(round(cfg.SOLVER.CHECKPOINT_PERIOD / scale))
+ cfg.SOLVER.REFERENCE_WORLD_SIZE = num_workers # maintain invariant
+ logger = logging.getLogger(__name__)
+ logger.info(
+ f"Auto-scaling the config to batch_size={bs}, learning_rate={lr}, "
+ f"max_iter={max_iter}, warmup={warmup_iter}."
+ )
+
+ if frozen:
+ cfg.freeze()
+ return cfg
+
+
+# Access basic attributes from the underlying trainer
+for _attr in ["model", "data_loader", "optimizer"]:
+ setattr(
+ DefaultTrainer,
+ _attr,
+ property(
+ # getter
+ lambda self, x=_attr: getattr(self._trainer, x),
+ # setter
+ lambda self, value, x=_attr: setattr(self._trainer, x, value),
+ ),
+ )
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/engine/hooks.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/engine/hooks.py
new file mode 100644
index 0000000000000000000000000000000000000000..7dd43ac77068c908bc13263f1697fa2e3332d7c9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/engine/hooks.py
@@ -0,0 +1,690 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) Facebook, Inc. and its affiliates.
+
+import datetime
+import itertools
+import logging
+import math
+import operator
+import os
+import tempfile
+import time
+import warnings
+from collections import Counter
+import torch
+from fvcore.common.checkpoint import Checkpointer
+from fvcore.common.checkpoint import PeriodicCheckpointer as _PeriodicCheckpointer
+from fvcore.common.param_scheduler import ParamScheduler
+from fvcore.common.timer import Timer
+from fvcore.nn.precise_bn import get_bn_modules, update_bn_stats
+
+import annotator.oneformer.detectron2.utils.comm as comm
+from annotator.oneformer.detectron2.evaluation.testing import flatten_results_dict
+from annotator.oneformer.detectron2.solver import LRMultiplier
+from annotator.oneformer.detectron2.solver import LRScheduler as _LRScheduler
+from annotator.oneformer.detectron2.utils.events import EventStorage, EventWriter
+from annotator.oneformer.detectron2.utils.file_io import PathManager
+
+from .train_loop import HookBase
+
+__all__ = [
+ "CallbackHook",
+ "IterationTimer",
+ "PeriodicWriter",
+ "PeriodicCheckpointer",
+ "BestCheckpointer",
+ "LRScheduler",
+ "AutogradProfiler",
+ "EvalHook",
+ "PreciseBN",
+ "TorchProfiler",
+ "TorchMemoryStats",
+]
+
+
+"""
+Implement some common hooks.
+"""
+
+
+class CallbackHook(HookBase):
+ """
+ Create a hook using callback functions provided by the user.
+ """
+
+ def __init__(self, *, before_train=None, after_train=None, before_step=None, after_step=None):
+ """
+ Each argument is a function that takes one argument: the trainer.
+ """
+ self._before_train = before_train
+ self._before_step = before_step
+ self._after_step = after_step
+ self._after_train = after_train
+
+ def before_train(self):
+ if self._before_train:
+ self._before_train(self.trainer)
+
+ def after_train(self):
+ if self._after_train:
+ self._after_train(self.trainer)
+ # The functions may be closures that hold reference to the trainer
+ # Therefore, delete them to avoid circular reference.
+ del self._before_train, self._after_train
+ del self._before_step, self._after_step
+
+ def before_step(self):
+ if self._before_step:
+ self._before_step(self.trainer)
+
+ def after_step(self):
+ if self._after_step:
+ self._after_step(self.trainer)
+
+
+class IterationTimer(HookBase):
+ """
+ Track the time spent for each iteration (each run_step call in the trainer).
+ Print a summary in the end of training.
+
+ This hook uses the time between the call to its :meth:`before_step`
+ and :meth:`after_step` methods.
+ Under the convention that :meth:`before_step` of all hooks should only
+ take negligible amount of time, the :class:`IterationTimer` hook should be
+ placed at the beginning of the list of hooks to obtain accurate timing.
+ """
+
+ def __init__(self, warmup_iter=3):
+ """
+ Args:
+ warmup_iter (int): the number of iterations at the beginning to exclude
+ from timing.
+ """
+ self._warmup_iter = warmup_iter
+ self._step_timer = Timer()
+ self._start_time = time.perf_counter()
+ self._total_timer = Timer()
+
+ def before_train(self):
+ self._start_time = time.perf_counter()
+ self._total_timer.reset()
+ self._total_timer.pause()
+
+ def after_train(self):
+ logger = logging.getLogger(__name__)
+ total_time = time.perf_counter() - self._start_time
+ total_time_minus_hooks = self._total_timer.seconds()
+ hook_time = total_time - total_time_minus_hooks
+
+ num_iter = self.trainer.storage.iter + 1 - self.trainer.start_iter - self._warmup_iter
+
+ if num_iter > 0 and total_time_minus_hooks > 0:
+ # Speed is meaningful only after warmup
+ # NOTE this format is parsed by grep in some scripts
+ logger.info(
+ "Overall training speed: {} iterations in {} ({:.4f} s / it)".format(
+ num_iter,
+ str(datetime.timedelta(seconds=int(total_time_minus_hooks))),
+ total_time_minus_hooks / num_iter,
+ )
+ )
+
+ logger.info(
+ "Total training time: {} ({} on hooks)".format(
+ str(datetime.timedelta(seconds=int(total_time))),
+ str(datetime.timedelta(seconds=int(hook_time))),
+ )
+ )
+
+ def before_step(self):
+ self._step_timer.reset()
+ self._total_timer.resume()
+
+ def after_step(self):
+ # +1 because we're in after_step, the current step is done
+ # but not yet counted
+ iter_done = self.trainer.storage.iter - self.trainer.start_iter + 1
+ if iter_done >= self._warmup_iter:
+ sec = self._step_timer.seconds()
+ self.trainer.storage.put_scalars(time=sec)
+ else:
+ self._start_time = time.perf_counter()
+ self._total_timer.reset()
+
+ self._total_timer.pause()
+
+
+class PeriodicWriter(HookBase):
+ """
+ Write events to EventStorage (by calling ``writer.write()``) periodically.
+
+ It is executed every ``period`` iterations and after the last iteration.
+ Note that ``period`` does not affect how data is smoothed by each writer.
+ """
+
+ def __init__(self, writers, period=20):
+ """
+ Args:
+ writers (list[EventWriter]): a list of EventWriter objects
+ period (int):
+ """
+ self._writers = writers
+ for w in writers:
+ assert isinstance(w, EventWriter), w
+ self._period = period
+
+ def after_step(self):
+ if (self.trainer.iter + 1) % self._period == 0 or (
+ self.trainer.iter == self.trainer.max_iter - 1
+ ):
+ for writer in self._writers:
+ writer.write()
+
+ def after_train(self):
+ for writer in self._writers:
+ # If any new data is found (e.g. produced by other after_train),
+ # write them before closing
+ writer.write()
+ writer.close()
+
+
+class PeriodicCheckpointer(_PeriodicCheckpointer, HookBase):
+ """
+ Same as :class:`detectron2.checkpoint.PeriodicCheckpointer`, but as a hook.
+
+ Note that when used as a hook,
+ it is unable to save additional data other than what's defined
+ by the given `checkpointer`.
+
+ It is executed every ``period`` iterations and after the last iteration.
+ """
+
+ def before_train(self):
+ self.max_iter = self.trainer.max_iter
+
+ def after_step(self):
+ # No way to use **kwargs
+ self.step(self.trainer.iter)
+
+
+class BestCheckpointer(HookBase):
+ """
+ Checkpoints best weights based off given metric.
+
+ This hook should be used in conjunction to and executed after the hook
+ that produces the metric, e.g. `EvalHook`.
+ """
+
+ def __init__(
+ self,
+ eval_period: int,
+ checkpointer: Checkpointer,
+ val_metric: str,
+ mode: str = "max",
+ file_prefix: str = "model_best",
+ ) -> None:
+ """
+ Args:
+ eval_period (int): the period `EvalHook` is set to run.
+ checkpointer: the checkpointer object used to save checkpoints.
+ val_metric (str): validation metric to track for best checkpoint, e.g. "bbox/AP50"
+ mode (str): one of {'max', 'min'}. controls whether the chosen val metric should be
+ maximized or minimized, e.g. for "bbox/AP50" it should be "max"
+ file_prefix (str): the prefix of checkpoint's filename, defaults to "model_best"
+ """
+ self._logger = logging.getLogger(__name__)
+ self._period = eval_period
+ self._val_metric = val_metric
+ assert mode in [
+ "max",
+ "min",
+ ], f'Mode "{mode}" to `BestCheckpointer` is unknown. It should be one of {"max", "min"}.'
+ if mode == "max":
+ self._compare = operator.gt
+ else:
+ self._compare = operator.lt
+ self._checkpointer = checkpointer
+ self._file_prefix = file_prefix
+ self.best_metric = None
+ self.best_iter = None
+
+ def _update_best(self, val, iteration):
+ if math.isnan(val) or math.isinf(val):
+ return False
+ self.best_metric = val
+ self.best_iter = iteration
+ return True
+
+ def _best_checking(self):
+ metric_tuple = self.trainer.storage.latest().get(self._val_metric)
+ if metric_tuple is None:
+ self._logger.warning(
+ f"Given val metric {self._val_metric} does not seem to be computed/stored."
+ "Will not be checkpointing based on it."
+ )
+ return
+ else:
+ latest_metric, metric_iter = metric_tuple
+
+ if self.best_metric is None:
+ if self._update_best(latest_metric, metric_iter):
+ additional_state = {"iteration": metric_iter}
+ self._checkpointer.save(f"{self._file_prefix}", **additional_state)
+ self._logger.info(
+ f"Saved first model at {self.best_metric:0.5f} @ {self.best_iter} steps"
+ )
+ elif self._compare(latest_metric, self.best_metric):
+ additional_state = {"iteration": metric_iter}
+ self._checkpointer.save(f"{self._file_prefix}", **additional_state)
+ self._logger.info(
+ f"Saved best model as latest eval score for {self._val_metric} is "
+ f"{latest_metric:0.5f}, better than last best score "
+ f"{self.best_metric:0.5f} @ iteration {self.best_iter}."
+ )
+ self._update_best(latest_metric, metric_iter)
+ else:
+ self._logger.info(
+ f"Not saving as latest eval score for {self._val_metric} is {latest_metric:0.5f}, "
+ f"not better than best score {self.best_metric:0.5f} @ iteration {self.best_iter}."
+ )
+
+ def after_step(self):
+ # same conditions as `EvalHook`
+ next_iter = self.trainer.iter + 1
+ if (
+ self._period > 0
+ and next_iter % self._period == 0
+ and next_iter != self.trainer.max_iter
+ ):
+ self._best_checking()
+
+ def after_train(self):
+ # same conditions as `EvalHook`
+ if self.trainer.iter + 1 >= self.trainer.max_iter:
+ self._best_checking()
+
+
+class LRScheduler(HookBase):
+ """
+ A hook which executes a torch builtin LR scheduler and summarizes the LR.
+ It is executed after every iteration.
+ """
+
+ def __init__(self, optimizer=None, scheduler=None):
+ """
+ Args:
+ optimizer (torch.optim.Optimizer):
+ scheduler (torch.optim.LRScheduler or fvcore.common.param_scheduler.ParamScheduler):
+ if a :class:`ParamScheduler` object, it defines the multiplier over the base LR
+ in the optimizer.
+
+ If any argument is not given, will try to obtain it from the trainer.
+ """
+ self._optimizer = optimizer
+ self._scheduler = scheduler
+
+ def before_train(self):
+ self._optimizer = self._optimizer or self.trainer.optimizer
+ if isinstance(self.scheduler, ParamScheduler):
+ self._scheduler = LRMultiplier(
+ self._optimizer,
+ self.scheduler,
+ self.trainer.max_iter,
+ last_iter=self.trainer.iter - 1,
+ )
+ self._best_param_group_id = LRScheduler.get_best_param_group_id(self._optimizer)
+
+ @staticmethod
+ def get_best_param_group_id(optimizer):
+ # NOTE: some heuristics on what LR to summarize
+ # summarize the param group with most parameters
+ largest_group = max(len(g["params"]) for g in optimizer.param_groups)
+
+ if largest_group == 1:
+ # If all groups have one parameter,
+ # then find the most common initial LR, and use it for summary
+ lr_count = Counter([g["lr"] for g in optimizer.param_groups])
+ lr = lr_count.most_common()[0][0]
+ for i, g in enumerate(optimizer.param_groups):
+ if g["lr"] == lr:
+ return i
+ else:
+ for i, g in enumerate(optimizer.param_groups):
+ if len(g["params"]) == largest_group:
+ return i
+
+ def after_step(self):
+ lr = self._optimizer.param_groups[self._best_param_group_id]["lr"]
+ self.trainer.storage.put_scalar("lr", lr, smoothing_hint=False)
+ self.scheduler.step()
+
+ @property
+ def scheduler(self):
+ return self._scheduler or self.trainer.scheduler
+
+ def state_dict(self):
+ if isinstance(self.scheduler, _LRScheduler):
+ return self.scheduler.state_dict()
+ return {}
+
+ def load_state_dict(self, state_dict):
+ if isinstance(self.scheduler, _LRScheduler):
+ logger = logging.getLogger(__name__)
+ logger.info("Loading scheduler from state_dict ...")
+ self.scheduler.load_state_dict(state_dict)
+
+
+class TorchProfiler(HookBase):
+ """
+ A hook which runs `torch.profiler.profile`.
+
+ Examples:
+ ::
+ hooks.TorchProfiler(
+ lambda trainer: 10 < trainer.iter < 20, self.cfg.OUTPUT_DIR
+ )
+
+ The above example will run the profiler for iteration 10~20 and dump
+ results to ``OUTPUT_DIR``. We did not profile the first few iterations
+ because they are typically slower than the rest.
+ The result files can be loaded in the ``chrome://tracing`` page in chrome browser,
+ and the tensorboard visualizations can be visualized using
+ ``tensorboard --logdir OUTPUT_DIR/log``
+ """
+
+ def __init__(self, enable_predicate, output_dir, *, activities=None, save_tensorboard=True):
+ """
+ Args:
+ enable_predicate (callable[trainer -> bool]): a function which takes a trainer,
+ and returns whether to enable the profiler.
+ It will be called once every step, and can be used to select which steps to profile.
+ output_dir (str): the output directory to dump tracing files.
+ activities (iterable): same as in `torch.profiler.profile`.
+ save_tensorboard (bool): whether to save tensorboard visualizations at (output_dir)/log/
+ """
+ self._enable_predicate = enable_predicate
+ self._activities = activities
+ self._output_dir = output_dir
+ self._save_tensorboard = save_tensorboard
+
+ def before_step(self):
+ if self._enable_predicate(self.trainer):
+ if self._save_tensorboard:
+ on_trace_ready = torch.profiler.tensorboard_trace_handler(
+ os.path.join(
+ self._output_dir,
+ "log",
+ "profiler-tensorboard-iter{}".format(self.trainer.iter),
+ ),
+ f"worker{comm.get_rank()}",
+ )
+ else:
+ on_trace_ready = None
+ self._profiler = torch.profiler.profile(
+ activities=self._activities,
+ on_trace_ready=on_trace_ready,
+ record_shapes=True,
+ profile_memory=True,
+ with_stack=True,
+ with_flops=True,
+ )
+ self._profiler.__enter__()
+ else:
+ self._profiler = None
+
+ def after_step(self):
+ if self._profiler is None:
+ return
+ self._profiler.__exit__(None, None, None)
+ if not self._save_tensorboard:
+ PathManager.mkdirs(self._output_dir)
+ out_file = os.path.join(
+ self._output_dir, "profiler-trace-iter{}.json".format(self.trainer.iter)
+ )
+ if "://" not in out_file:
+ self._profiler.export_chrome_trace(out_file)
+ else:
+ # Support non-posix filesystems
+ with tempfile.TemporaryDirectory(prefix="detectron2_profiler") as d:
+ tmp_file = os.path.join(d, "tmp.json")
+ self._profiler.export_chrome_trace(tmp_file)
+ with open(tmp_file) as f:
+ content = f.read()
+ with PathManager.open(out_file, "w") as f:
+ f.write(content)
+
+
+class AutogradProfiler(TorchProfiler):
+ """
+ A hook which runs `torch.autograd.profiler.profile`.
+
+ Examples:
+ ::
+ hooks.AutogradProfiler(
+ lambda trainer: 10 < trainer.iter < 20, self.cfg.OUTPUT_DIR
+ )
+
+ The above example will run the profiler for iteration 10~20 and dump
+ results to ``OUTPUT_DIR``. We did not profile the first few iterations
+ because they are typically slower than the rest.
+ The result files can be loaded in the ``chrome://tracing`` page in chrome browser.
+
+ Note:
+ When used together with NCCL on older version of GPUs,
+ autograd profiler may cause deadlock because it unnecessarily allocates
+ memory on every device it sees. The memory management calls, if
+ interleaved with NCCL calls, lead to deadlock on GPUs that do not
+ support ``cudaLaunchCooperativeKernelMultiDevice``.
+ """
+
+ def __init__(self, enable_predicate, output_dir, *, use_cuda=True):
+ """
+ Args:
+ enable_predicate (callable[trainer -> bool]): a function which takes a trainer,
+ and returns whether to enable the profiler.
+ It will be called once every step, and can be used to select which steps to profile.
+ output_dir (str): the output directory to dump tracing files.
+ use_cuda (bool): same as in `torch.autograd.profiler.profile`.
+ """
+ warnings.warn("AutogradProfiler has been deprecated in favor of TorchProfiler.")
+ self._enable_predicate = enable_predicate
+ self._use_cuda = use_cuda
+ self._output_dir = output_dir
+
+ def before_step(self):
+ if self._enable_predicate(self.trainer):
+ self._profiler = torch.autograd.profiler.profile(use_cuda=self._use_cuda)
+ self._profiler.__enter__()
+ else:
+ self._profiler = None
+
+
+class EvalHook(HookBase):
+ """
+ Run an evaluation function periodically, and at the end of training.
+
+ It is executed every ``eval_period`` iterations and after the last iteration.
+ """
+
+ def __init__(self, eval_period, eval_function, eval_after_train=True):
+ """
+ Args:
+ eval_period (int): the period to run `eval_function`. Set to 0 to
+ not evaluate periodically (but still evaluate after the last iteration
+ if `eval_after_train` is True).
+ eval_function (callable): a function which takes no arguments, and
+ returns a nested dict of evaluation metrics.
+ eval_after_train (bool): whether to evaluate after the last iteration
+
+ Note:
+ This hook must be enabled in all or none workers.
+ If you would like only certain workers to perform evaluation,
+ give other workers a no-op function (`eval_function=lambda: None`).
+ """
+ self._period = eval_period
+ self._func = eval_function
+ self._eval_after_train = eval_after_train
+
+ def _do_eval(self):
+ results = self._func()
+
+ if results:
+ assert isinstance(
+ results, dict
+ ), "Eval function must return a dict. Got {} instead.".format(results)
+
+ flattened_results = flatten_results_dict(results)
+ for k, v in flattened_results.items():
+ try:
+ v = float(v)
+ except Exception as e:
+ raise ValueError(
+ "[EvalHook] eval_function should return a nested dict of float. "
+ "Got '{}: {}' instead.".format(k, v)
+ ) from e
+ self.trainer.storage.put_scalars(**flattened_results, smoothing_hint=False)
+
+ # Evaluation may take different time among workers.
+ # A barrier make them start the next iteration together.
+ comm.synchronize()
+
+ def after_step(self):
+ next_iter = self.trainer.iter + 1
+ if self._period > 0 and next_iter % self._period == 0:
+ # do the last eval in after_train
+ if next_iter != self.trainer.max_iter:
+ self._do_eval()
+
+ def after_train(self):
+ # This condition is to prevent the eval from running after a failed training
+ if self._eval_after_train and self.trainer.iter + 1 >= self.trainer.max_iter:
+ self._do_eval()
+ # func is likely a closure that holds reference to the trainer
+ # therefore we clean it to avoid circular reference in the end
+ del self._func
+
+
+class PreciseBN(HookBase):
+ """
+ The standard implementation of BatchNorm uses EMA in inference, which is
+ sometimes suboptimal.
+ This class computes the true average of statistics rather than the moving average,
+ and put true averages to every BN layer in the given model.
+
+ It is executed every ``period`` iterations and after the last iteration.
+ """
+
+ def __init__(self, period, model, data_loader, num_iter):
+ """
+ Args:
+ period (int): the period this hook is run, or 0 to not run during training.
+ The hook will always run in the end of training.
+ model (nn.Module): a module whose all BN layers in training mode will be
+ updated by precise BN.
+ Note that user is responsible for ensuring the BN layers to be
+ updated are in training mode when this hook is triggered.
+ data_loader (iterable): it will produce data to be run by `model(data)`.
+ num_iter (int): number of iterations used to compute the precise
+ statistics.
+ """
+ self._logger = logging.getLogger(__name__)
+ if len(get_bn_modules(model)) == 0:
+ self._logger.info(
+ "PreciseBN is disabled because model does not contain BN layers in training mode."
+ )
+ self._disabled = True
+ return
+
+ self._model = model
+ self._data_loader = data_loader
+ self._num_iter = num_iter
+ self._period = period
+ self._disabled = False
+
+ self._data_iter = None
+
+ def after_step(self):
+ next_iter = self.trainer.iter + 1
+ is_final = next_iter == self.trainer.max_iter
+ if is_final or (self._period > 0 and next_iter % self._period == 0):
+ self.update_stats()
+
+ def update_stats(self):
+ """
+ Update the model with precise statistics. Users can manually call this method.
+ """
+ if self._disabled:
+ return
+
+ if self._data_iter is None:
+ self._data_iter = iter(self._data_loader)
+
+ def data_loader():
+ for num_iter in itertools.count(1):
+ if num_iter % 100 == 0:
+ self._logger.info(
+ "Running precise-BN ... {}/{} iterations.".format(num_iter, self._num_iter)
+ )
+ # This way we can reuse the same iterator
+ yield next(self._data_iter)
+
+ with EventStorage(): # capture events in a new storage to discard them
+ self._logger.info(
+ "Running precise-BN for {} iterations... ".format(self._num_iter)
+ + "Note that this could produce different statistics every time."
+ )
+ update_bn_stats(self._model, data_loader(), self._num_iter)
+
+
+class TorchMemoryStats(HookBase):
+ """
+ Writes pytorch's cuda memory statistics periodically.
+ """
+
+ def __init__(self, period=20, max_runs=10):
+ """
+ Args:
+ period (int): Output stats each 'period' iterations
+ max_runs (int): Stop the logging after 'max_runs'
+ """
+
+ self._logger = logging.getLogger(__name__)
+ self._period = period
+ self._max_runs = max_runs
+ self._runs = 0
+
+ def after_step(self):
+ if self._runs > self._max_runs:
+ return
+
+ if (self.trainer.iter + 1) % self._period == 0 or (
+ self.trainer.iter == self.trainer.max_iter - 1
+ ):
+ if torch.cuda.is_available():
+ max_reserved_mb = torch.cuda.max_memory_reserved() / 1024.0 / 1024.0
+ reserved_mb = torch.cuda.memory_reserved() / 1024.0 / 1024.0
+ max_allocated_mb = torch.cuda.max_memory_allocated() / 1024.0 / 1024.0
+ allocated_mb = torch.cuda.memory_allocated() / 1024.0 / 1024.0
+
+ self._logger.info(
+ (
+ " iter: {} "
+ " max_reserved_mem: {:.0f}MB "
+ " reserved_mem: {:.0f}MB "
+ " max_allocated_mem: {:.0f}MB "
+ " allocated_mem: {:.0f}MB "
+ ).format(
+ self.trainer.iter,
+ max_reserved_mb,
+ reserved_mb,
+ max_allocated_mb,
+ allocated_mb,
+ )
+ )
+
+ self._runs += 1
+ if self._runs == self._max_runs:
+ mem_summary = torch.cuda.memory_summary()
+ self._logger.info("\n" + mem_summary)
+
+ torch.cuda.reset_peak_memory_stats()
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/engine/launch.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/engine/launch.py
new file mode 100644
index 0000000000000000000000000000000000000000..0a2d6bcdb5f1906d3eedb04b5aa939f8269f0344
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/engine/launch.py
@@ -0,0 +1,123 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+import logging
+from datetime import timedelta
+import torch
+import torch.distributed as dist
+import torch.multiprocessing as mp
+
+from annotator.oneformer.detectron2.utils import comm
+
+__all__ = ["DEFAULT_TIMEOUT", "launch"]
+
+DEFAULT_TIMEOUT = timedelta(minutes=30)
+
+
+def _find_free_port():
+ import socket
+
+ sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+ # Binding to port 0 will cause the OS to find an available port for us
+ sock.bind(("", 0))
+ port = sock.getsockname()[1]
+ sock.close()
+ # NOTE: there is still a chance the port could be taken by other processes.
+ return port
+
+
+def launch(
+ main_func,
+ # Should be num_processes_per_machine, but kept for compatibility.
+ num_gpus_per_machine,
+ num_machines=1,
+ machine_rank=0,
+ dist_url=None,
+ args=(),
+ timeout=DEFAULT_TIMEOUT,
+):
+ """
+ Launch multi-process or distributed training.
+ This function must be called on all machines involved in the training.
+ It will spawn child processes (defined by ``num_gpus_per_machine``) on each machine.
+
+ Args:
+ main_func: a function that will be called by `main_func(*args)`
+ num_gpus_per_machine (int): number of processes per machine. When
+ using GPUs, this should be the number of GPUs.
+ num_machines (int): the total number of machines
+ machine_rank (int): the rank of this machine
+ dist_url (str): url to connect to for distributed jobs, including protocol
+ e.g. "tcp://127.0.0.1:8686".
+ Can be set to "auto" to automatically select a free port on localhost
+ timeout (timedelta): timeout of the distributed workers
+ args (tuple): arguments passed to main_func
+ """
+ world_size = num_machines * num_gpus_per_machine
+ if world_size > 1:
+ # https://github.com/pytorch/pytorch/pull/14391
+ # TODO prctl in spawned processes
+
+ if dist_url == "auto":
+ assert num_machines == 1, "dist_url=auto not supported in multi-machine jobs."
+ port = _find_free_port()
+ dist_url = f"tcp://127.0.0.1:{port}"
+ if num_machines > 1 and dist_url.startswith("file://"):
+ logger = logging.getLogger(__name__)
+ logger.warning(
+ "file:// is not a reliable init_method in multi-machine jobs. Prefer tcp://"
+ )
+
+ mp.start_processes(
+ _distributed_worker,
+ nprocs=num_gpus_per_machine,
+ args=(
+ main_func,
+ world_size,
+ num_gpus_per_machine,
+ machine_rank,
+ dist_url,
+ args,
+ timeout,
+ ),
+ daemon=False,
+ )
+ else:
+ main_func(*args)
+
+
+def _distributed_worker(
+ local_rank,
+ main_func,
+ world_size,
+ num_gpus_per_machine,
+ machine_rank,
+ dist_url,
+ args,
+ timeout=DEFAULT_TIMEOUT,
+):
+ has_gpu = torch.cuda.is_available()
+ if has_gpu:
+ assert num_gpus_per_machine <= torch.cuda.device_count()
+ global_rank = machine_rank * num_gpus_per_machine + local_rank
+ try:
+ dist.init_process_group(
+ backend="NCCL" if has_gpu else "GLOO",
+ init_method=dist_url,
+ world_size=world_size,
+ rank=global_rank,
+ timeout=timeout,
+ )
+ except Exception as e:
+ logger = logging.getLogger(__name__)
+ logger.error("Process group URL: {}".format(dist_url))
+ raise e
+
+ # Setup the local process group.
+ comm.create_local_process_group(num_gpus_per_machine)
+ if has_gpu:
+ torch.cuda.set_device(local_rank)
+
+ # synchronize is needed here to prevent a possible timeout after calling init_process_group
+ # See: https://github.com/facebookresearch/maskrcnn-benchmark/issues/172
+ comm.synchronize()
+
+ main_func(*args)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/engine/train_loop.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/engine/train_loop.py
new file mode 100644
index 0000000000000000000000000000000000000000..0c24c5af94e8f9367a5d577a617ec426292d3f89
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/engine/train_loop.py
@@ -0,0 +1,469 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) Facebook, Inc. and its affiliates.
+
+import logging
+import numpy as np
+import time
+import weakref
+from typing import List, Mapping, Optional
+import torch
+from torch.nn.parallel import DataParallel, DistributedDataParallel
+
+import annotator.oneformer.detectron2.utils.comm as comm
+from annotator.oneformer.detectron2.utils.events import EventStorage, get_event_storage
+from annotator.oneformer.detectron2.utils.logger import _log_api_usage
+
+__all__ = ["HookBase", "TrainerBase", "SimpleTrainer", "AMPTrainer"]
+
+
+class HookBase:
+ """
+ Base class for hooks that can be registered with :class:`TrainerBase`.
+
+ Each hook can implement 4 methods. The way they are called is demonstrated
+ in the following snippet:
+ ::
+ hook.before_train()
+ for iter in range(start_iter, max_iter):
+ hook.before_step()
+ trainer.run_step()
+ hook.after_step()
+ iter += 1
+ hook.after_train()
+
+ Notes:
+ 1. In the hook method, users can access ``self.trainer`` to access more
+ properties about the context (e.g., model, current iteration, or config
+ if using :class:`DefaultTrainer`).
+
+ 2. A hook that does something in :meth:`before_step` can often be
+ implemented equivalently in :meth:`after_step`.
+ If the hook takes non-trivial time, it is strongly recommended to
+ implement the hook in :meth:`after_step` instead of :meth:`before_step`.
+ The convention is that :meth:`before_step` should only take negligible time.
+
+ Following this convention will allow hooks that do care about the difference
+ between :meth:`before_step` and :meth:`after_step` (e.g., timer) to
+ function properly.
+
+ """
+
+ trainer: "TrainerBase" = None
+ """
+ A weak reference to the trainer object. Set by the trainer when the hook is registered.
+ """
+
+ def before_train(self):
+ """
+ Called before the first iteration.
+ """
+ pass
+
+ def after_train(self):
+ """
+ Called after the last iteration.
+ """
+ pass
+
+ def before_step(self):
+ """
+ Called before each iteration.
+ """
+ pass
+
+ def after_backward(self):
+ """
+ Called after the backward pass of each iteration.
+ """
+ pass
+
+ def after_step(self):
+ """
+ Called after each iteration.
+ """
+ pass
+
+ def state_dict(self):
+ """
+ Hooks are stateless by default, but can be made checkpointable by
+ implementing `state_dict` and `load_state_dict`.
+ """
+ return {}
+
+
+class TrainerBase:
+ """
+ Base class for iterative trainer with hooks.
+
+ The only assumption we made here is: the training runs in a loop.
+ A subclass can implement what the loop is.
+ We made no assumptions about the existence of dataloader, optimizer, model, etc.
+
+ Attributes:
+ iter(int): the current iteration.
+
+ start_iter(int): The iteration to start with.
+ By convention the minimum possible value is 0.
+
+ max_iter(int): The iteration to end training.
+
+ storage(EventStorage): An EventStorage that's opened during the course of training.
+ """
+
+ def __init__(self) -> None:
+ self._hooks: List[HookBase] = []
+ self.iter: int = 0
+ self.start_iter: int = 0
+ self.max_iter: int
+ self.storage: EventStorage
+ _log_api_usage("trainer." + self.__class__.__name__)
+
+ def register_hooks(self, hooks: List[Optional[HookBase]]) -> None:
+ """
+ Register hooks to the trainer. The hooks are executed in the order
+ they are registered.
+
+ Args:
+ hooks (list[Optional[HookBase]]): list of hooks
+ """
+ hooks = [h for h in hooks if h is not None]
+ for h in hooks:
+ assert isinstance(h, HookBase)
+ # To avoid circular reference, hooks and trainer cannot own each other.
+ # This normally does not matter, but will cause memory leak if the
+ # involved objects contain __del__:
+ # See http://engineering.hearsaysocial.com/2013/06/16/circular-references-in-python/
+ h.trainer = weakref.proxy(self)
+ self._hooks.extend(hooks)
+
+ def train(self, start_iter: int, max_iter: int):
+ """
+ Args:
+ start_iter, max_iter (int): See docs above
+ """
+ logger = logging.getLogger(__name__)
+ logger.info("Starting training from iteration {}".format(start_iter))
+
+ self.iter = self.start_iter = start_iter
+ self.max_iter = max_iter
+
+ with EventStorage(start_iter) as self.storage:
+ try:
+ self.before_train()
+ for self.iter in range(start_iter, max_iter):
+ self.before_step()
+ self.run_step()
+ self.after_step()
+ # self.iter == max_iter can be used by `after_train` to
+ # tell whether the training successfully finished or failed
+ # due to exceptions.
+ self.iter += 1
+ except Exception:
+ logger.exception("Exception during training:")
+ raise
+ finally:
+ self.after_train()
+
+ def before_train(self):
+ for h in self._hooks:
+ h.before_train()
+
+ def after_train(self):
+ self.storage.iter = self.iter
+ for h in self._hooks:
+ h.after_train()
+
+ def before_step(self):
+ # Maintain the invariant that storage.iter == trainer.iter
+ # for the entire execution of each step
+ self.storage.iter = self.iter
+
+ for h in self._hooks:
+ h.before_step()
+
+ def after_backward(self):
+ for h in self._hooks:
+ h.after_backward()
+
+ def after_step(self):
+ for h in self._hooks:
+ h.after_step()
+
+ def run_step(self):
+ raise NotImplementedError
+
+ def state_dict(self):
+ ret = {"iteration": self.iter}
+ hooks_state = {}
+ for h in self._hooks:
+ sd = h.state_dict()
+ if sd:
+ name = type(h).__qualname__
+ if name in hooks_state:
+ # TODO handle repetitive stateful hooks
+ continue
+ hooks_state[name] = sd
+ if hooks_state:
+ ret["hooks"] = hooks_state
+ return ret
+
+ def load_state_dict(self, state_dict):
+ logger = logging.getLogger(__name__)
+ self.iter = state_dict["iteration"]
+ for key, value in state_dict.get("hooks", {}).items():
+ for h in self._hooks:
+ try:
+ name = type(h).__qualname__
+ except AttributeError:
+ continue
+ if name == key:
+ h.load_state_dict(value)
+ break
+ else:
+ logger.warning(f"Cannot find the hook '{key}', its state_dict is ignored.")
+
+
+class SimpleTrainer(TrainerBase):
+ """
+ A simple trainer for the most common type of task:
+ single-cost single-optimizer single-data-source iterative optimization,
+ optionally using data-parallelism.
+ It assumes that every step, you:
+
+ 1. Compute the loss with a data from the data_loader.
+ 2. Compute the gradients with the above loss.
+ 3. Update the model with the optimizer.
+
+ All other tasks during training (checkpointing, logging, evaluation, LR schedule)
+ are maintained by hooks, which can be registered by :meth:`TrainerBase.register_hooks`.
+
+ If you want to do anything fancier than this,
+ either subclass TrainerBase and implement your own `run_step`,
+ or write your own training loop.
+ """
+
+ def __init__(self, model, data_loader, optimizer, gather_metric_period=1):
+ """
+ Args:
+ model: a torch Module. Takes a data from data_loader and returns a
+ dict of losses.
+ data_loader: an iterable. Contains data to be used to call model.
+ optimizer: a torch optimizer.
+ gather_metric_period: an int. Every gather_metric_period iterations
+ the metrics are gathered from all the ranks to rank 0 and logged.
+ """
+ super().__init__()
+
+ """
+ We set the model to training mode in the trainer.
+ However it's valid to train a model that's in eval mode.
+ If you want your model (or a submodule of it) to behave
+ like evaluation during training, you can overwrite its train() method.
+ """
+ model.train()
+
+ self.model = model
+ self.data_loader = data_loader
+ # to access the data loader iterator, call `self._data_loader_iter`
+ self._data_loader_iter_obj = None
+ self.optimizer = optimizer
+ self.gather_metric_period = gather_metric_period
+
+ def run_step(self):
+ """
+ Implement the standard training logic described above.
+ """
+ assert self.model.training, "[SimpleTrainer] model was changed to eval mode!"
+ start = time.perf_counter()
+ """
+ If you want to do something with the data, you can wrap the dataloader.
+ """
+ data = next(self._data_loader_iter)
+ data_time = time.perf_counter() - start
+
+ """
+ If you want to do something with the losses, you can wrap the model.
+ """
+ loss_dict = self.model(data)
+ if isinstance(loss_dict, torch.Tensor):
+ losses = loss_dict
+ loss_dict = {"total_loss": loss_dict}
+ else:
+ losses = sum(loss_dict.values())
+
+ """
+ If you need to accumulate gradients or do something similar, you can
+ wrap the optimizer with your custom `zero_grad()` method.
+ """
+ self.optimizer.zero_grad()
+ losses.backward()
+
+ self.after_backward()
+
+ self._write_metrics(loss_dict, data_time)
+
+ """
+ If you need gradient clipping/scaling or other processing, you can
+ wrap the optimizer with your custom `step()` method. But it is
+ suboptimal as explained in https://arxiv.org/abs/2006.15704 Sec 3.2.4
+ """
+ self.optimizer.step()
+
+ @property
+ def _data_loader_iter(self):
+ # only create the data loader iterator when it is used
+ if self._data_loader_iter_obj is None:
+ self._data_loader_iter_obj = iter(self.data_loader)
+ return self._data_loader_iter_obj
+
+ def reset_data_loader(self, data_loader_builder):
+ """
+ Delete and replace the current data loader with a new one, which will be created
+ by calling `data_loader_builder` (without argument).
+ """
+ del self.data_loader
+ data_loader = data_loader_builder()
+ self.data_loader = data_loader
+ self._data_loader_iter_obj = None
+
+ def _write_metrics(
+ self,
+ loss_dict: Mapping[str, torch.Tensor],
+ data_time: float,
+ prefix: str = "",
+ ) -> None:
+ if (self.iter + 1) % self.gather_metric_period == 0:
+ SimpleTrainer.write_metrics(loss_dict, data_time, prefix)
+
+ @staticmethod
+ def write_metrics(
+ loss_dict: Mapping[str, torch.Tensor],
+ data_time: float,
+ prefix: str = "",
+ ) -> None:
+ """
+ Args:
+ loss_dict (dict): dict of scalar losses
+ data_time (float): time taken by the dataloader iteration
+ prefix (str): prefix for logging keys
+ """
+ metrics_dict = {k: v.detach().cpu().item() for k, v in loss_dict.items()}
+ metrics_dict["data_time"] = data_time
+
+ # Gather metrics among all workers for logging
+ # This assumes we do DDP-style training, which is currently the only
+ # supported method in detectron2.
+ all_metrics_dict = comm.gather(metrics_dict)
+
+ if comm.is_main_process():
+ storage = get_event_storage()
+
+ # data_time among workers can have high variance. The actual latency
+ # caused by data_time is the maximum among workers.
+ data_time = np.max([x.pop("data_time") for x in all_metrics_dict])
+ storage.put_scalar("data_time", data_time)
+
+ # average the rest metrics
+ metrics_dict = {
+ k: np.mean([x[k] for x in all_metrics_dict]) for k in all_metrics_dict[0].keys()
+ }
+ total_losses_reduced = sum(metrics_dict.values())
+ if not np.isfinite(total_losses_reduced):
+ raise FloatingPointError(
+ f"Loss became infinite or NaN at iteration={storage.iter}!\n"
+ f"loss_dict = {metrics_dict}"
+ )
+
+ storage.put_scalar("{}total_loss".format(prefix), total_losses_reduced)
+ if len(metrics_dict) > 1:
+ storage.put_scalars(**metrics_dict)
+
+ def state_dict(self):
+ ret = super().state_dict()
+ ret["optimizer"] = self.optimizer.state_dict()
+ return ret
+
+ def load_state_dict(self, state_dict):
+ super().load_state_dict(state_dict)
+ self.optimizer.load_state_dict(state_dict["optimizer"])
+
+
+class AMPTrainer(SimpleTrainer):
+ """
+ Like :class:`SimpleTrainer`, but uses PyTorch's native automatic mixed precision
+ in the training loop.
+ """
+
+ def __init__(
+ self,
+ model,
+ data_loader,
+ optimizer,
+ gather_metric_period=1,
+ grad_scaler=None,
+ precision: torch.dtype = torch.float16,
+ log_grad_scaler: bool = False,
+ ):
+ """
+ Args:
+ model, data_loader, optimizer, gather_metric_period: same as in :class:`SimpleTrainer`.
+ grad_scaler: torch GradScaler to automatically scale gradients.
+ precision: torch.dtype as the target precision to cast to in computations
+ """
+ unsupported = "AMPTrainer does not support single-process multi-device training!"
+ if isinstance(model, DistributedDataParallel):
+ assert not (model.device_ids and len(model.device_ids) > 1), unsupported
+ assert not isinstance(model, DataParallel), unsupported
+
+ super().__init__(model, data_loader, optimizer, gather_metric_period)
+
+ if grad_scaler is None:
+ from torch.cuda.amp import GradScaler
+
+ grad_scaler = GradScaler()
+ self.grad_scaler = grad_scaler
+ self.precision = precision
+ self.log_grad_scaler = log_grad_scaler
+
+ def run_step(self):
+ """
+ Implement the AMP training logic.
+ """
+ assert self.model.training, "[AMPTrainer] model was changed to eval mode!"
+ assert torch.cuda.is_available(), "[AMPTrainer] CUDA is required for AMP training!"
+ from torch.cuda.amp import autocast
+
+ start = time.perf_counter()
+ data = next(self._data_loader_iter)
+ data_time = time.perf_counter() - start
+
+ with autocast(dtype=self.precision):
+ loss_dict = self.model(data)
+ if isinstance(loss_dict, torch.Tensor):
+ losses = loss_dict
+ loss_dict = {"total_loss": loss_dict}
+ else:
+ losses = sum(loss_dict.values())
+
+ self.optimizer.zero_grad()
+ self.grad_scaler.scale(losses).backward()
+
+ if self.log_grad_scaler:
+ storage = get_event_storage()
+ storage.put_scalar("[metric]grad_scaler", self.grad_scaler.get_scale())
+
+ self.after_backward()
+
+ self._write_metrics(loss_dict, data_time)
+
+ self.grad_scaler.step(self.optimizer)
+ self.grad_scaler.update()
+
+ def state_dict(self):
+ ret = super().state_dict()
+ ret["grad_scaler"] = self.grad_scaler.state_dict()
+ return ret
+
+ def load_state_dict(self, state_dict):
+ super().load_state_dict(state_dict)
+ self.grad_scaler.load_state_dict(state_dict["grad_scaler"])
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/evaluation/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/evaluation/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..d96609e8f2261a6800fe85fcf3e1eaeaa44455c6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/evaluation/__init__.py
@@ -0,0 +1,12 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+from .cityscapes_evaluation import CityscapesInstanceEvaluator, CityscapesSemSegEvaluator
+from .coco_evaluation import COCOEvaluator
+from .rotated_coco_evaluation import RotatedCOCOEvaluator
+from .evaluator import DatasetEvaluator, DatasetEvaluators, inference_context, inference_on_dataset
+from .lvis_evaluation import LVISEvaluator
+from .panoptic_evaluation import COCOPanopticEvaluator
+from .pascal_voc_evaluation import PascalVOCDetectionEvaluator
+from .sem_seg_evaluation import SemSegEvaluator
+from .testing import print_csv_format, verify_results
+
+__all__ = [k for k in globals().keys() if not k.startswith("_")]
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/evaluation/cityscapes_evaluation.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/evaluation/cityscapes_evaluation.py
new file mode 100644
index 0000000000000000000000000000000000000000..f5be637dc87b5ca8645563a4a921144f6c5fd877
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/evaluation/cityscapes_evaluation.py
@@ -0,0 +1,197 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+import glob
+import logging
+import numpy as np
+import os
+import tempfile
+from collections import OrderedDict
+import torch
+from PIL import Image
+
+from annotator.oneformer.detectron2.data import MetadataCatalog
+from annotator.oneformer.detectron2.utils import comm
+from annotator.oneformer.detectron2.utils.file_io import PathManager
+
+from .evaluator import DatasetEvaluator
+
+
+class CityscapesEvaluator(DatasetEvaluator):
+ """
+ Base class for evaluation using cityscapes API.
+ """
+
+ def __init__(self, dataset_name):
+ """
+ Args:
+ dataset_name (str): the name of the dataset.
+ It must have the following metadata associated with it:
+ "thing_classes", "gt_dir".
+ """
+ self._metadata = MetadataCatalog.get(dataset_name)
+ self._cpu_device = torch.device("cpu")
+ self._logger = logging.getLogger(__name__)
+
+ def reset(self):
+ self._working_dir = tempfile.TemporaryDirectory(prefix="cityscapes_eval_")
+ self._temp_dir = self._working_dir.name
+ # All workers will write to the same results directory
+ # TODO this does not work in distributed training
+ assert (
+ comm.get_local_size() == comm.get_world_size()
+ ), "CityscapesEvaluator currently do not work with multiple machines."
+ self._temp_dir = comm.all_gather(self._temp_dir)[0]
+ if self._temp_dir != self._working_dir.name:
+ self._working_dir.cleanup()
+ self._logger.info(
+ "Writing cityscapes results to temporary directory {} ...".format(self._temp_dir)
+ )
+
+
+class CityscapesInstanceEvaluator(CityscapesEvaluator):
+ """
+ Evaluate instance segmentation results on cityscapes dataset using cityscapes API.
+
+ Note:
+ * It does not work in multi-machine distributed training.
+ * It contains a synchronization, therefore has to be used on all ranks.
+ * Only the main process runs evaluation.
+ """
+
+ def process(self, inputs, outputs):
+ from cityscapesscripts.helpers.labels import name2label
+
+ for input, output in zip(inputs, outputs):
+ file_name = input["file_name"]
+ basename = os.path.splitext(os.path.basename(file_name))[0]
+ pred_txt = os.path.join(self._temp_dir, basename + "_pred.txt")
+
+ if "instances" in output:
+ output = output["instances"].to(self._cpu_device)
+ num_instances = len(output)
+ with open(pred_txt, "w") as fout:
+ for i in range(num_instances):
+ pred_class = output.pred_classes[i]
+ classes = self._metadata.thing_classes[pred_class]
+ class_id = name2label[classes].id
+ score = output.scores[i]
+ mask = output.pred_masks[i].numpy().astype("uint8")
+ png_filename = os.path.join(
+ self._temp_dir, basename + "_{}_{}.png".format(i, classes)
+ )
+
+ Image.fromarray(mask * 255).save(png_filename)
+ fout.write(
+ "{} {} {}\n".format(os.path.basename(png_filename), class_id, score)
+ )
+ else:
+ # Cityscapes requires a prediction file for every ground truth image.
+ with open(pred_txt, "w") as fout:
+ pass
+
+ def evaluate(self):
+ """
+ Returns:
+ dict: has a key "segm", whose value is a dict of "AP" and "AP50".
+ """
+ comm.synchronize()
+ if comm.get_rank() > 0:
+ return
+ import cityscapesscripts.evaluation.evalInstanceLevelSemanticLabeling as cityscapes_eval
+
+ self._logger.info("Evaluating results under {} ...".format(self._temp_dir))
+
+ # set some global states in cityscapes evaluation API, before evaluating
+ cityscapes_eval.args.predictionPath = os.path.abspath(self._temp_dir)
+ cityscapes_eval.args.predictionWalk = None
+ cityscapes_eval.args.JSONOutput = False
+ cityscapes_eval.args.colorized = False
+ cityscapes_eval.args.gtInstancesFile = os.path.join(self._temp_dir, "gtInstances.json")
+
+ # These lines are adopted from
+ # https://github.com/mcordts/cityscapesScripts/blob/master/cityscapesscripts/evaluation/evalInstanceLevelSemanticLabeling.py # noqa
+ gt_dir = PathManager.get_local_path(self._metadata.gt_dir)
+ groundTruthImgList = glob.glob(os.path.join(gt_dir, "*", "*_gtFine_instanceIds.png"))
+ assert len(
+ groundTruthImgList
+ ), "Cannot find any ground truth images to use for evaluation. Searched for: {}".format(
+ cityscapes_eval.args.groundTruthSearch
+ )
+ predictionImgList = []
+ for gt in groundTruthImgList:
+ predictionImgList.append(cityscapes_eval.getPrediction(gt, cityscapes_eval.args))
+ results = cityscapes_eval.evaluateImgLists(
+ predictionImgList, groundTruthImgList, cityscapes_eval.args
+ )["averages"]
+
+ ret = OrderedDict()
+ ret["segm"] = {"AP": results["allAp"] * 100, "AP50": results["allAp50%"] * 100}
+ self._working_dir.cleanup()
+ return ret
+
+
+class CityscapesSemSegEvaluator(CityscapesEvaluator):
+ """
+ Evaluate semantic segmentation results on cityscapes dataset using cityscapes API.
+
+ Note:
+ * It does not work in multi-machine distributed training.
+ * It contains a synchronization, therefore has to be used on all ranks.
+ * Only the main process runs evaluation.
+ """
+
+ def process(self, inputs, outputs):
+ from cityscapesscripts.helpers.labels import trainId2label
+
+ for input, output in zip(inputs, outputs):
+ file_name = input["file_name"]
+ basename = os.path.splitext(os.path.basename(file_name))[0]
+ pred_filename = os.path.join(self._temp_dir, basename + "_pred.png")
+
+ output = output["sem_seg"].argmax(dim=0).to(self._cpu_device).numpy()
+ pred = 255 * np.ones(output.shape, dtype=np.uint8)
+ for train_id, label in trainId2label.items():
+ if label.ignoreInEval:
+ continue
+ pred[output == train_id] = label.id
+ Image.fromarray(pred).save(pred_filename)
+
+ def evaluate(self):
+ comm.synchronize()
+ if comm.get_rank() > 0:
+ return
+ # Load the Cityscapes eval script *after* setting the required env var,
+ # since the script reads CITYSCAPES_DATASET into global variables at load time.
+ import cityscapesscripts.evaluation.evalPixelLevelSemanticLabeling as cityscapes_eval
+
+ self._logger.info("Evaluating results under {} ...".format(self._temp_dir))
+
+ # set some global states in cityscapes evaluation API, before evaluating
+ cityscapes_eval.args.predictionPath = os.path.abspath(self._temp_dir)
+ cityscapes_eval.args.predictionWalk = None
+ cityscapes_eval.args.JSONOutput = False
+ cityscapes_eval.args.colorized = False
+
+ # These lines are adopted from
+ # https://github.com/mcordts/cityscapesScripts/blob/master/cityscapesscripts/evaluation/evalPixelLevelSemanticLabeling.py # noqa
+ gt_dir = PathManager.get_local_path(self._metadata.gt_dir)
+ groundTruthImgList = glob.glob(os.path.join(gt_dir, "*", "*_gtFine_labelIds.png"))
+ assert len(
+ groundTruthImgList
+ ), "Cannot find any ground truth images to use for evaluation. Searched for: {}".format(
+ cityscapes_eval.args.groundTruthSearch
+ )
+ predictionImgList = []
+ for gt in groundTruthImgList:
+ predictionImgList.append(cityscapes_eval.getPrediction(cityscapes_eval.args, gt))
+ results = cityscapes_eval.evaluateImgLists(
+ predictionImgList, groundTruthImgList, cityscapes_eval.args
+ )
+ ret = OrderedDict()
+ ret["sem_seg"] = {
+ "IoU": 100.0 * results["averageScoreClasses"],
+ "iIoU": 100.0 * results["averageScoreInstClasses"],
+ "IoU_sup": 100.0 * results["averageScoreCategories"],
+ "iIoU_sup": 100.0 * results["averageScoreInstCategories"],
+ }
+ self._working_dir.cleanup()
+ return ret
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/evaluation/coco_evaluation.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/evaluation/coco_evaluation.py
new file mode 100644
index 0000000000000000000000000000000000000000..fdc41798537d3b2e6fc7096c9f4bebd724f1e395
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/evaluation/coco_evaluation.py
@@ -0,0 +1,722 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+import contextlib
+import copy
+import io
+import itertools
+import json
+import logging
+import numpy as np
+import os
+import pickle
+from collections import OrderedDict
+import annotator.oneformer.pycocotools.mask as mask_util
+import torch
+from annotator.oneformer.pycocotools.coco import COCO
+from annotator.oneformer.pycocotools.cocoeval import COCOeval
+from tabulate import tabulate
+
+import annotator.oneformer.detectron2.utils.comm as comm
+from annotator.oneformer.detectron2.config import CfgNode
+from annotator.oneformer.detectron2.data import MetadataCatalog
+from annotator.oneformer.detectron2.data.datasets.coco import convert_to_coco_json
+from annotator.oneformer.detectron2.structures import Boxes, BoxMode, pairwise_iou
+from annotator.oneformer.detectron2.utils.file_io import PathManager
+from annotator.oneformer.detectron2.utils.logger import create_small_table
+
+from .evaluator import DatasetEvaluator
+
+try:
+ from annotator.oneformer.detectron2.evaluation.fast_eval_api import COCOeval_opt
+except ImportError:
+ COCOeval_opt = COCOeval
+
+
+class COCOEvaluator(DatasetEvaluator):
+ """
+ Evaluate AR for object proposals, AP for instance detection/segmentation, AP
+ for keypoint detection outputs using COCO's metrics.
+ See http://cocodataset.org/#detection-eval and
+ http://cocodataset.org/#keypoints-eval to understand its metrics.
+ The metrics range from 0 to 100 (instead of 0 to 1), where a -1 or NaN means
+ the metric cannot be computed (e.g. due to no predictions made).
+
+ In addition to COCO, this evaluator is able to support any bounding box detection,
+ instance segmentation, or keypoint detection dataset.
+ """
+
+ def __init__(
+ self,
+ dataset_name,
+ tasks=None,
+ distributed=True,
+ output_dir=None,
+ *,
+ max_dets_per_image=None,
+ use_fast_impl=True,
+ kpt_oks_sigmas=(),
+ allow_cached_coco=True,
+ ):
+ """
+ Args:
+ dataset_name (str): name of the dataset to be evaluated.
+ It must have either the following corresponding metadata:
+
+ "json_file": the path to the COCO format annotation
+
+ Or it must be in detectron2's standard dataset format
+ so it can be converted to COCO format automatically.
+ tasks (tuple[str]): tasks that can be evaluated under the given
+ configuration. A task is one of "bbox", "segm", "keypoints".
+ By default, will infer this automatically from predictions.
+ distributed (True): if True, will collect results from all ranks and run evaluation
+ in the main process.
+ Otherwise, will only evaluate the results in the current process.
+ output_dir (str): optional, an output directory to dump all
+ results predicted on the dataset. The dump contains two files:
+
+ 1. "instances_predictions.pth" a file that can be loaded with `torch.load` and
+ contains all the results in the format they are produced by the model.
+ 2. "coco_instances_results.json" a json file in COCO's result format.
+ max_dets_per_image (int): limit on the maximum number of detections per image.
+ By default in COCO, this limit is to 100, but this can be customized
+ to be greater, as is needed in evaluation metrics AP fixed and AP pool
+ (see https://arxiv.org/pdf/2102.01066.pdf)
+ This doesn't affect keypoint evaluation.
+ use_fast_impl (bool): use a fast but **unofficial** implementation to compute AP.
+ Although the results should be very close to the official implementation in COCO
+ API, it is still recommended to compute results with the official API for use in
+ papers. The faster implementation also uses more RAM.
+ kpt_oks_sigmas (list[float]): The sigmas used to calculate keypoint OKS.
+ See http://cocodataset.org/#keypoints-eval
+ When empty, it will use the defaults in COCO.
+ Otherwise it should be the same length as ROI_KEYPOINT_HEAD.NUM_KEYPOINTS.
+ allow_cached_coco (bool): Whether to use cached coco json from previous validation
+ runs. You should set this to False if you need to use different validation data.
+ Defaults to True.
+ """
+ self._logger = logging.getLogger(__name__)
+ self._distributed = distributed
+ self._output_dir = output_dir
+
+ if use_fast_impl and (COCOeval_opt is COCOeval):
+ self._logger.info("Fast COCO eval is not built. Falling back to official COCO eval.")
+ use_fast_impl = False
+ self._use_fast_impl = use_fast_impl
+
+ # COCOeval requires the limit on the number of detections per image (maxDets) to be a list
+ # with at least 3 elements. The default maxDets in COCOeval is [1, 10, 100], in which the
+ # 3rd element (100) is used as the limit on the number of detections per image when
+ # evaluating AP. COCOEvaluator expects an integer for max_dets_per_image, so for COCOeval,
+ # we reformat max_dets_per_image into [1, 10, max_dets_per_image], based on the defaults.
+ if max_dets_per_image is None:
+ max_dets_per_image = [1, 10, 100]
+ else:
+ max_dets_per_image = [1, 10, max_dets_per_image]
+ self._max_dets_per_image = max_dets_per_image
+
+ if tasks is not None and isinstance(tasks, CfgNode):
+ kpt_oks_sigmas = (
+ tasks.TEST.KEYPOINT_OKS_SIGMAS if not kpt_oks_sigmas else kpt_oks_sigmas
+ )
+ self._logger.warn(
+ "COCO Evaluator instantiated using config, this is deprecated behavior."
+ " Please pass in explicit arguments instead."
+ )
+ self._tasks = None # Infering it from predictions should be better
+ else:
+ self._tasks = tasks
+
+ self._cpu_device = torch.device("cpu")
+
+ self._metadata = MetadataCatalog.get(dataset_name)
+ if not hasattr(self._metadata, "json_file"):
+ if output_dir is None:
+ raise ValueError(
+ "output_dir must be provided to COCOEvaluator "
+ "for datasets not in COCO format."
+ )
+ self._logger.info(f"Trying to convert '{dataset_name}' to COCO format ...")
+
+ cache_path = os.path.join(output_dir, f"{dataset_name}_coco_format.json")
+ self._metadata.json_file = cache_path
+ convert_to_coco_json(dataset_name, cache_path, allow_cached=allow_cached_coco)
+
+ json_file = PathManager.get_local_path(self._metadata.json_file)
+ with contextlib.redirect_stdout(io.StringIO()):
+ self._coco_api = COCO(json_file)
+
+ # Test set json files do not contain annotations (evaluation must be
+ # performed using the COCO evaluation server).
+ self._do_evaluation = "annotations" in self._coco_api.dataset
+ if self._do_evaluation:
+ self._kpt_oks_sigmas = kpt_oks_sigmas
+
+ def reset(self):
+ self._predictions = []
+
+ def process(self, inputs, outputs):
+ """
+ Args:
+ inputs: the inputs to a COCO model (e.g., GeneralizedRCNN).
+ It is a list of dict. Each dict corresponds to an image and
+ contains keys like "height", "width", "file_name", "image_id".
+ outputs: the outputs of a COCO model. It is a list of dicts with key
+ "instances" that contains :class:`Instances`.
+ """
+ for input, output in zip(inputs, outputs):
+ prediction = {"image_id": input["image_id"]}
+
+ if "instances" in output:
+ instances = output["instances"].to(self._cpu_device)
+ prediction["instances"] = instances_to_coco_json(instances, input["image_id"])
+ if "proposals" in output:
+ prediction["proposals"] = output["proposals"].to(self._cpu_device)
+ if len(prediction) > 1:
+ self._predictions.append(prediction)
+
+ def evaluate(self, img_ids=None):
+ """
+ Args:
+ img_ids: a list of image IDs to evaluate on. Default to None for the whole dataset
+ """
+ if self._distributed:
+ comm.synchronize()
+ predictions = comm.gather(self._predictions, dst=0)
+ predictions = list(itertools.chain(*predictions))
+
+ if not comm.is_main_process():
+ return {}
+ else:
+ predictions = self._predictions
+
+ if len(predictions) == 0:
+ self._logger.warning("[COCOEvaluator] Did not receive valid predictions.")
+ return {}
+
+ if self._output_dir:
+ PathManager.mkdirs(self._output_dir)
+ file_path = os.path.join(self._output_dir, "instances_predictions.pth")
+ with PathManager.open(file_path, "wb") as f:
+ torch.save(predictions, f)
+
+ self._results = OrderedDict()
+ if "proposals" in predictions[0]:
+ self._eval_box_proposals(predictions)
+ if "instances" in predictions[0]:
+ self._eval_predictions(predictions, img_ids=img_ids)
+ # Copy so the caller can do whatever with results
+ return copy.deepcopy(self._results)
+
+ def _tasks_from_predictions(self, predictions):
+ """
+ Get COCO API "tasks" (i.e. iou_type) from COCO-format predictions.
+ """
+ tasks = {"bbox"}
+ for pred in predictions:
+ if "segmentation" in pred:
+ tasks.add("segm")
+ if "keypoints" in pred:
+ tasks.add("keypoints")
+ return sorted(tasks)
+
+ def _eval_predictions(self, predictions, img_ids=None):
+ """
+ Evaluate predictions. Fill self._results with the metrics of the tasks.
+ """
+ self._logger.info("Preparing results for COCO format ...")
+ coco_results = list(itertools.chain(*[x["instances"] for x in predictions]))
+ tasks = self._tasks or self._tasks_from_predictions(coco_results)
+
+ # unmap the category ids for COCO
+ if hasattr(self._metadata, "thing_dataset_id_to_contiguous_id"):
+ dataset_id_to_contiguous_id = self._metadata.thing_dataset_id_to_contiguous_id
+ all_contiguous_ids = list(dataset_id_to_contiguous_id.values())
+ num_classes = len(all_contiguous_ids)
+ assert min(all_contiguous_ids) == 0 and max(all_contiguous_ids) == num_classes - 1
+
+ reverse_id_mapping = {v: k for k, v in dataset_id_to_contiguous_id.items()}
+ for result in coco_results:
+ category_id = result["category_id"]
+ assert category_id < num_classes, (
+ f"A prediction has class={category_id}, "
+ f"but the dataset only has {num_classes} classes and "
+ f"predicted class id should be in [0, {num_classes - 1}]."
+ )
+ result["category_id"] = reverse_id_mapping[category_id]
+
+ if self._output_dir:
+ file_path = os.path.join(self._output_dir, "coco_instances_results.json")
+ self._logger.info("Saving results to {}".format(file_path))
+ with PathManager.open(file_path, "w") as f:
+ f.write(json.dumps(coco_results))
+ f.flush()
+
+ if not self._do_evaluation:
+ self._logger.info("Annotations are not available for evaluation.")
+ return
+
+ self._logger.info(
+ "Evaluating predictions with {} COCO API...".format(
+ "unofficial" if self._use_fast_impl else "official"
+ )
+ )
+ for task in sorted(tasks):
+ assert task in {"bbox", "segm", "keypoints"}, f"Got unknown task: {task}!"
+ coco_eval = (
+ _evaluate_predictions_on_coco(
+ self._coco_api,
+ coco_results,
+ task,
+ kpt_oks_sigmas=self._kpt_oks_sigmas,
+ cocoeval_fn=COCOeval_opt if self._use_fast_impl else COCOeval,
+ img_ids=img_ids,
+ max_dets_per_image=self._max_dets_per_image,
+ )
+ if len(coco_results) > 0
+ else None # cocoapi does not handle empty results very well
+ )
+
+ res = self._derive_coco_results(
+ coco_eval, task, class_names=self._metadata.get("thing_classes")
+ )
+ self._results[task] = res
+
+ def _eval_box_proposals(self, predictions):
+ """
+ Evaluate the box proposals in predictions.
+ Fill self._results with the metrics for "box_proposals" task.
+ """
+ if self._output_dir:
+ # Saving generated box proposals to file.
+ # Predicted box_proposals are in XYXY_ABS mode.
+ bbox_mode = BoxMode.XYXY_ABS.value
+ ids, boxes, objectness_logits = [], [], []
+ for prediction in predictions:
+ ids.append(prediction["image_id"])
+ boxes.append(prediction["proposals"].proposal_boxes.tensor.numpy())
+ objectness_logits.append(prediction["proposals"].objectness_logits.numpy())
+
+ proposal_data = {
+ "boxes": boxes,
+ "objectness_logits": objectness_logits,
+ "ids": ids,
+ "bbox_mode": bbox_mode,
+ }
+ with PathManager.open(os.path.join(self._output_dir, "box_proposals.pkl"), "wb") as f:
+ pickle.dump(proposal_data, f)
+
+ if not self._do_evaluation:
+ self._logger.info("Annotations are not available for evaluation.")
+ return
+
+ self._logger.info("Evaluating bbox proposals ...")
+ res = {}
+ areas = {"all": "", "small": "s", "medium": "m", "large": "l"}
+ for limit in [100, 1000]:
+ for area, suffix in areas.items():
+ stats = _evaluate_box_proposals(predictions, self._coco_api, area=area, limit=limit)
+ key = "AR{}@{:d}".format(suffix, limit)
+ res[key] = float(stats["ar"].item() * 100)
+ self._logger.info("Proposal metrics: \n" + create_small_table(res))
+ self._results["box_proposals"] = res
+
+ def _derive_coco_results(self, coco_eval, iou_type, class_names=None):
+ """
+ Derive the desired score numbers from summarized COCOeval.
+
+ Args:
+ coco_eval (None or COCOEval): None represents no predictions from model.
+ iou_type (str):
+ class_names (None or list[str]): if provided, will use it to predict
+ per-category AP.
+
+ Returns:
+ a dict of {metric name: score}
+ """
+
+ metrics = {
+ "bbox": ["AP", "AP50", "AP75", "APs", "APm", "APl"],
+ "segm": ["AP", "AP50", "AP75", "APs", "APm", "APl"],
+ "keypoints": ["AP", "AP50", "AP75", "APm", "APl"],
+ }[iou_type]
+
+ if coco_eval is None:
+ self._logger.warn("No predictions from the model!")
+ return {metric: float("nan") for metric in metrics}
+
+ # the standard metrics
+ results = {
+ metric: float(coco_eval.stats[idx] * 100 if coco_eval.stats[idx] >= 0 else "nan")
+ for idx, metric in enumerate(metrics)
+ }
+ self._logger.info(
+ "Evaluation results for {}: \n".format(iou_type) + create_small_table(results)
+ )
+ if not np.isfinite(sum(results.values())):
+ self._logger.info("Some metrics cannot be computed and is shown as NaN.")
+
+ if class_names is None or len(class_names) <= 1:
+ return results
+ # Compute per-category AP
+ # from https://github.com/facebookresearch/Detectron/blob/a6a835f5b8208c45d0dce217ce9bbda915f44df7/detectron/datasets/json_dataset_evaluator.py#L222-L252 # noqa
+ precisions = coco_eval.eval["precision"]
+ # precision has dims (iou, recall, cls, area range, max dets)
+ assert len(class_names) == precisions.shape[2]
+
+ results_per_category = []
+ for idx, name in enumerate(class_names):
+ # area range index 0: all area ranges
+ # max dets index -1: typically 100 per image
+ precision = precisions[:, :, idx, 0, -1]
+ precision = precision[precision > -1]
+ ap = np.mean(precision) if precision.size else float("nan")
+ results_per_category.append(("{}".format(name), float(ap * 100)))
+
+ # tabulate it
+ N_COLS = min(6, len(results_per_category) * 2)
+ results_flatten = list(itertools.chain(*results_per_category))
+ results_2d = itertools.zip_longest(*[results_flatten[i::N_COLS] for i in range(N_COLS)])
+ table = tabulate(
+ results_2d,
+ tablefmt="pipe",
+ floatfmt=".3f",
+ headers=["category", "AP"] * (N_COLS // 2),
+ numalign="left",
+ )
+ self._logger.info("Per-category {} AP: \n".format(iou_type) + table)
+
+ results.update({"AP-" + name: ap for name, ap in results_per_category})
+ return results
+
+
+def instances_to_coco_json(instances, img_id):
+ """
+ Dump an "Instances" object to a COCO-format json that's used for evaluation.
+
+ Args:
+ instances (Instances):
+ img_id (int): the image id
+
+ Returns:
+ list[dict]: list of json annotations in COCO format.
+ """
+ num_instance = len(instances)
+ if num_instance == 0:
+ return []
+
+ boxes = instances.pred_boxes.tensor.numpy()
+ boxes = BoxMode.convert(boxes, BoxMode.XYXY_ABS, BoxMode.XYWH_ABS)
+ boxes = boxes.tolist()
+ scores = instances.scores.tolist()
+ classes = instances.pred_classes.tolist()
+
+ has_mask = instances.has("pred_masks")
+ if has_mask:
+ # use RLE to encode the masks, because they are too large and takes memory
+ # since this evaluator stores outputs of the entire dataset
+ rles = [
+ mask_util.encode(np.array(mask[:, :, None], order="F", dtype="uint8"))[0]
+ for mask in instances.pred_masks
+ ]
+ for rle in rles:
+ # "counts" is an array encoded by mask_util as a byte-stream. Python3's
+ # json writer which always produces strings cannot serialize a bytestream
+ # unless you decode it. Thankfully, utf-8 works out (which is also what
+ # the annotator.oneformer.pycocotools/_mask.pyx does).
+ rle["counts"] = rle["counts"].decode("utf-8")
+
+ has_keypoints = instances.has("pred_keypoints")
+ if has_keypoints:
+ keypoints = instances.pred_keypoints
+
+ results = []
+ for k in range(num_instance):
+ result = {
+ "image_id": img_id,
+ "category_id": classes[k],
+ "bbox": boxes[k],
+ "score": scores[k],
+ }
+ if has_mask:
+ result["segmentation"] = rles[k]
+ if has_keypoints:
+ # In COCO annotations,
+ # keypoints coordinates are pixel indices.
+ # However our predictions are floating point coordinates.
+ # Therefore we subtract 0.5 to be consistent with the annotation format.
+ # This is the inverse of data loading logic in `datasets/coco.py`.
+ keypoints[k][:, :2] -= 0.5
+ result["keypoints"] = keypoints[k].flatten().tolist()
+ results.append(result)
+ return results
+
+
+# inspired from Detectron:
+# https://github.com/facebookresearch/Detectron/blob/a6a835f5b8208c45d0dce217ce9bbda915f44df7/detectron/datasets/json_dataset_evaluator.py#L255 # noqa
+def _evaluate_box_proposals(dataset_predictions, coco_api, thresholds=None, area="all", limit=None):
+ """
+ Evaluate detection proposal recall metrics. This function is a much
+ faster alternative to the official COCO API recall evaluation code. However,
+ it produces slightly different results.
+ """
+ # Record max overlap value for each gt box
+ # Return vector of overlap values
+ areas = {
+ "all": 0,
+ "small": 1,
+ "medium": 2,
+ "large": 3,
+ "96-128": 4,
+ "128-256": 5,
+ "256-512": 6,
+ "512-inf": 7,
+ }
+ area_ranges = [
+ [0**2, 1e5**2], # all
+ [0**2, 32**2], # small
+ [32**2, 96**2], # medium
+ [96**2, 1e5**2], # large
+ [96**2, 128**2], # 96-128
+ [128**2, 256**2], # 128-256
+ [256**2, 512**2], # 256-512
+ [512**2, 1e5**2],
+ ] # 512-inf
+ assert area in areas, "Unknown area range: {}".format(area)
+ area_range = area_ranges[areas[area]]
+ gt_overlaps = []
+ num_pos = 0
+
+ for prediction_dict in dataset_predictions:
+ predictions = prediction_dict["proposals"]
+
+ # sort predictions in descending order
+ # TODO maybe remove this and make it explicit in the documentation
+ inds = predictions.objectness_logits.sort(descending=True)[1]
+ predictions = predictions[inds]
+
+ ann_ids = coco_api.getAnnIds(imgIds=prediction_dict["image_id"])
+ anno = coco_api.loadAnns(ann_ids)
+ gt_boxes = [
+ BoxMode.convert(obj["bbox"], BoxMode.XYWH_ABS, BoxMode.XYXY_ABS)
+ for obj in anno
+ if obj["iscrowd"] == 0
+ ]
+ gt_boxes = torch.as_tensor(gt_boxes).reshape(-1, 4) # guard against no boxes
+ gt_boxes = Boxes(gt_boxes)
+ gt_areas = torch.as_tensor([obj["area"] for obj in anno if obj["iscrowd"] == 0])
+
+ if len(gt_boxes) == 0 or len(predictions) == 0:
+ continue
+
+ valid_gt_inds = (gt_areas >= area_range[0]) & (gt_areas <= area_range[1])
+ gt_boxes = gt_boxes[valid_gt_inds]
+
+ num_pos += len(gt_boxes)
+
+ if len(gt_boxes) == 0:
+ continue
+
+ if limit is not None and len(predictions) > limit:
+ predictions = predictions[:limit]
+
+ overlaps = pairwise_iou(predictions.proposal_boxes, gt_boxes)
+
+ _gt_overlaps = torch.zeros(len(gt_boxes))
+ for j in range(min(len(predictions), len(gt_boxes))):
+ # find which proposal box maximally covers each gt box
+ # and get the iou amount of coverage for each gt box
+ max_overlaps, argmax_overlaps = overlaps.max(dim=0)
+
+ # find which gt box is 'best' covered (i.e. 'best' = most iou)
+ gt_ovr, gt_ind = max_overlaps.max(dim=0)
+ assert gt_ovr >= 0
+ # find the proposal box that covers the best covered gt box
+ box_ind = argmax_overlaps[gt_ind]
+ # record the iou coverage of this gt box
+ _gt_overlaps[j] = overlaps[box_ind, gt_ind]
+ assert _gt_overlaps[j] == gt_ovr
+ # mark the proposal box and the gt box as used
+ overlaps[box_ind, :] = -1
+ overlaps[:, gt_ind] = -1
+
+ # append recorded iou coverage level
+ gt_overlaps.append(_gt_overlaps)
+ gt_overlaps = (
+ torch.cat(gt_overlaps, dim=0) if len(gt_overlaps) else torch.zeros(0, dtype=torch.float32)
+ )
+ gt_overlaps, _ = torch.sort(gt_overlaps)
+
+ if thresholds is None:
+ step = 0.05
+ thresholds = torch.arange(0.5, 0.95 + 1e-5, step, dtype=torch.float32)
+ recalls = torch.zeros_like(thresholds)
+ # compute recall for each iou threshold
+ for i, t in enumerate(thresholds):
+ recalls[i] = (gt_overlaps >= t).float().sum() / float(num_pos)
+ # ar = 2 * np.trapz(recalls, thresholds)
+ ar = recalls.mean()
+ return {
+ "ar": ar,
+ "recalls": recalls,
+ "thresholds": thresholds,
+ "gt_overlaps": gt_overlaps,
+ "num_pos": num_pos,
+ }
+
+
+def _evaluate_predictions_on_coco(
+ coco_gt,
+ coco_results,
+ iou_type,
+ kpt_oks_sigmas=None,
+ cocoeval_fn=COCOeval_opt,
+ img_ids=None,
+ max_dets_per_image=None,
+):
+ """
+ Evaluate the coco results using COCOEval API.
+ """
+ assert len(coco_results) > 0
+
+ if iou_type == "segm":
+ coco_results = copy.deepcopy(coco_results)
+ # When evaluating mask AP, if the results contain bbox, cocoapi will
+ # use the box area as the area of the instance, instead of the mask area.
+ # This leads to a different definition of small/medium/large.
+ # We remove the bbox field to let mask AP use mask area.
+ for c in coco_results:
+ c.pop("bbox", None)
+
+ coco_dt = coco_gt.loadRes(coco_results)
+ coco_eval = cocoeval_fn(coco_gt, coco_dt, iou_type)
+ # For COCO, the default max_dets_per_image is [1, 10, 100].
+ if max_dets_per_image is None:
+ max_dets_per_image = [1, 10, 100] # Default from COCOEval
+ else:
+ assert (
+ len(max_dets_per_image) >= 3
+ ), "COCOeval requires maxDets (and max_dets_per_image) to have length at least 3"
+ # In the case that user supplies a custom input for max_dets_per_image,
+ # apply COCOevalMaxDets to evaluate AP with the custom input.
+ if max_dets_per_image[2] != 100:
+ coco_eval = COCOevalMaxDets(coco_gt, coco_dt, iou_type)
+ if iou_type != "keypoints":
+ coco_eval.params.maxDets = max_dets_per_image
+
+ if img_ids is not None:
+ coco_eval.params.imgIds = img_ids
+
+ if iou_type == "keypoints":
+ # Use the COCO default keypoint OKS sigmas unless overrides are specified
+ if kpt_oks_sigmas:
+ assert hasattr(coco_eval.params, "kpt_oks_sigmas"), "annotator.oneformer.pycocotools is too old!"
+ coco_eval.params.kpt_oks_sigmas = np.array(kpt_oks_sigmas)
+ # COCOAPI requires every detection and every gt to have keypoints, so
+ # we just take the first entry from both
+ num_keypoints_dt = len(coco_results[0]["keypoints"]) // 3
+ num_keypoints_gt = len(next(iter(coco_gt.anns.values()))["keypoints"]) // 3
+ num_keypoints_oks = len(coco_eval.params.kpt_oks_sigmas)
+ assert num_keypoints_oks == num_keypoints_dt == num_keypoints_gt, (
+ f"[COCOEvaluator] Prediction contain {num_keypoints_dt} keypoints. "
+ f"Ground truth contains {num_keypoints_gt} keypoints. "
+ f"The length of cfg.TEST.KEYPOINT_OKS_SIGMAS is {num_keypoints_oks}. "
+ "They have to agree with each other. For meaning of OKS, please refer to "
+ "http://cocodataset.org/#keypoints-eval."
+ )
+
+ coco_eval.evaluate()
+ coco_eval.accumulate()
+ coco_eval.summarize()
+
+ return coco_eval
+
+
+class COCOevalMaxDets(COCOeval):
+ """
+ Modified version of COCOeval for evaluating AP with a custom
+ maxDets (by default for COCO, maxDets is 100)
+ """
+
+ def summarize(self):
+ """
+ Compute and display summary metrics for evaluation results given
+ a custom value for max_dets_per_image
+ """
+
+ def _summarize(ap=1, iouThr=None, areaRng="all", maxDets=100):
+ p = self.params
+ iStr = " {:<18} {} @[ IoU={:<9} | area={:>6s} | maxDets={:>3d} ] = {:0.3f}"
+ titleStr = "Average Precision" if ap == 1 else "Average Recall"
+ typeStr = "(AP)" if ap == 1 else "(AR)"
+ iouStr = (
+ "{:0.2f}:{:0.2f}".format(p.iouThrs[0], p.iouThrs[-1])
+ if iouThr is None
+ else "{:0.2f}".format(iouThr)
+ )
+
+ aind = [i for i, aRng in enumerate(p.areaRngLbl) if aRng == areaRng]
+ mind = [i for i, mDet in enumerate(p.maxDets) if mDet == maxDets]
+ if ap == 1:
+ # dimension of precision: [TxRxKxAxM]
+ s = self.eval["precision"]
+ # IoU
+ if iouThr is not None:
+ t = np.where(iouThr == p.iouThrs)[0]
+ s = s[t]
+ s = s[:, :, :, aind, mind]
+ else:
+ # dimension of recall: [TxKxAxM]
+ s = self.eval["recall"]
+ if iouThr is not None:
+ t = np.where(iouThr == p.iouThrs)[0]
+ s = s[t]
+ s = s[:, :, aind, mind]
+ if len(s[s > -1]) == 0:
+ mean_s = -1
+ else:
+ mean_s = np.mean(s[s > -1])
+ print(iStr.format(titleStr, typeStr, iouStr, areaRng, maxDets, mean_s))
+ return mean_s
+
+ def _summarizeDets():
+ stats = np.zeros((12,))
+ # Evaluate AP using the custom limit on maximum detections per image
+ stats[0] = _summarize(1, maxDets=self.params.maxDets[2])
+ stats[1] = _summarize(1, iouThr=0.5, maxDets=self.params.maxDets[2])
+ stats[2] = _summarize(1, iouThr=0.75, maxDets=self.params.maxDets[2])
+ stats[3] = _summarize(1, areaRng="small", maxDets=self.params.maxDets[2])
+ stats[4] = _summarize(1, areaRng="medium", maxDets=self.params.maxDets[2])
+ stats[5] = _summarize(1, areaRng="large", maxDets=self.params.maxDets[2])
+ stats[6] = _summarize(0, maxDets=self.params.maxDets[0])
+ stats[7] = _summarize(0, maxDets=self.params.maxDets[1])
+ stats[8] = _summarize(0, maxDets=self.params.maxDets[2])
+ stats[9] = _summarize(0, areaRng="small", maxDets=self.params.maxDets[2])
+ stats[10] = _summarize(0, areaRng="medium", maxDets=self.params.maxDets[2])
+ stats[11] = _summarize(0, areaRng="large", maxDets=self.params.maxDets[2])
+ return stats
+
+ def _summarizeKps():
+ stats = np.zeros((10,))
+ stats[0] = _summarize(1, maxDets=20)
+ stats[1] = _summarize(1, maxDets=20, iouThr=0.5)
+ stats[2] = _summarize(1, maxDets=20, iouThr=0.75)
+ stats[3] = _summarize(1, maxDets=20, areaRng="medium")
+ stats[4] = _summarize(1, maxDets=20, areaRng="large")
+ stats[5] = _summarize(0, maxDets=20)
+ stats[6] = _summarize(0, maxDets=20, iouThr=0.5)
+ stats[7] = _summarize(0, maxDets=20, iouThr=0.75)
+ stats[8] = _summarize(0, maxDets=20, areaRng="medium")
+ stats[9] = _summarize(0, maxDets=20, areaRng="large")
+ return stats
+
+ if not self.eval:
+ raise Exception("Please run accumulate() first")
+ iouType = self.params.iouType
+ if iouType == "segm" or iouType == "bbox":
+ summarize = _summarizeDets
+ elif iouType == "keypoints":
+ summarize = _summarizeKps
+ self.stats = summarize()
+
+ def __str__(self):
+ self.summarize()
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/evaluation/evaluator.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/evaluation/evaluator.py
new file mode 100644
index 0000000000000000000000000000000000000000..9cddc296432cbb6f11caf3c3be98833a50778ffb
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/evaluation/evaluator.py
@@ -0,0 +1,224 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+import datetime
+import logging
+import time
+from collections import OrderedDict, abc
+from contextlib import ExitStack, contextmanager
+from typing import List, Union
+import torch
+from torch import nn
+
+from annotator.oneformer.detectron2.utils.comm import get_world_size, is_main_process
+from annotator.oneformer.detectron2.utils.logger import log_every_n_seconds
+
+
+class DatasetEvaluator:
+ """
+ Base class for a dataset evaluator.
+
+ The function :func:`inference_on_dataset` runs the model over
+ all samples in the dataset, and have a DatasetEvaluator to process the inputs/outputs.
+
+ This class will accumulate information of the inputs/outputs (by :meth:`process`),
+ and produce evaluation results in the end (by :meth:`evaluate`).
+ """
+
+ def reset(self):
+ """
+ Preparation for a new round of evaluation.
+ Should be called before starting a round of evaluation.
+ """
+ pass
+
+ def process(self, inputs, outputs):
+ """
+ Process the pair of inputs and outputs.
+ If they contain batches, the pairs can be consumed one-by-one using `zip`:
+
+ .. code-block:: python
+
+ for input_, output in zip(inputs, outputs):
+ # do evaluation on single input/output pair
+ ...
+
+ Args:
+ inputs (list): the inputs that's used to call the model.
+ outputs (list): the return value of `model(inputs)`
+ """
+ pass
+
+ def evaluate(self):
+ """
+ Evaluate/summarize the performance, after processing all input/output pairs.
+
+ Returns:
+ dict:
+ A new evaluator class can return a dict of arbitrary format
+ as long as the user can process the results.
+ In our train_net.py, we expect the following format:
+
+ * key: the name of the task (e.g., bbox)
+ * value: a dict of {metric name: score}, e.g.: {"AP50": 80}
+ """
+ pass
+
+
+class DatasetEvaluators(DatasetEvaluator):
+ """
+ Wrapper class to combine multiple :class:`DatasetEvaluator` instances.
+
+ This class dispatches every evaluation call to
+ all of its :class:`DatasetEvaluator`.
+ """
+
+ def __init__(self, evaluators):
+ """
+ Args:
+ evaluators (list): the evaluators to combine.
+ """
+ super().__init__()
+ self._evaluators = evaluators
+
+ def reset(self):
+ for evaluator in self._evaluators:
+ evaluator.reset()
+
+ def process(self, inputs, outputs):
+ for evaluator in self._evaluators:
+ evaluator.process(inputs, outputs)
+
+ def evaluate(self):
+ results = OrderedDict()
+ for evaluator in self._evaluators:
+ result = evaluator.evaluate()
+ if is_main_process() and result is not None:
+ for k, v in result.items():
+ assert (
+ k not in results
+ ), "Different evaluators produce results with the same key {}".format(k)
+ results[k] = v
+ return results
+
+
+def inference_on_dataset(
+ model, data_loader, evaluator: Union[DatasetEvaluator, List[DatasetEvaluator], None]
+):
+ """
+ Run model on the data_loader and evaluate the metrics with evaluator.
+ Also benchmark the inference speed of `model.__call__` accurately.
+ The model will be used in eval mode.
+
+ Args:
+ model (callable): a callable which takes an object from
+ `data_loader` and returns some outputs.
+
+ If it's an nn.Module, it will be temporarily set to `eval` mode.
+ If you wish to evaluate a model in `training` mode instead, you can
+ wrap the given model and override its behavior of `.eval()` and `.train()`.
+ data_loader: an iterable object with a length.
+ The elements it generates will be the inputs to the model.
+ evaluator: the evaluator(s) to run. Use `None` if you only want to benchmark,
+ but don't want to do any evaluation.
+
+ Returns:
+ The return value of `evaluator.evaluate()`
+ """
+ num_devices = get_world_size()
+ logger = logging.getLogger(__name__)
+ logger.info("Start inference on {} batches".format(len(data_loader)))
+
+ total = len(data_loader) # inference data loader must have a fixed length
+ if evaluator is None:
+ # create a no-op evaluator
+ evaluator = DatasetEvaluators([])
+ if isinstance(evaluator, abc.MutableSequence):
+ evaluator = DatasetEvaluators(evaluator)
+ evaluator.reset()
+
+ num_warmup = min(5, total - 1)
+ start_time = time.perf_counter()
+ total_data_time = 0
+ total_compute_time = 0
+ total_eval_time = 0
+ with ExitStack() as stack:
+ if isinstance(model, nn.Module):
+ stack.enter_context(inference_context(model))
+ stack.enter_context(torch.no_grad())
+
+ start_data_time = time.perf_counter()
+ for idx, inputs in enumerate(data_loader):
+ total_data_time += time.perf_counter() - start_data_time
+ if idx == num_warmup:
+ start_time = time.perf_counter()
+ total_data_time = 0
+ total_compute_time = 0
+ total_eval_time = 0
+
+ start_compute_time = time.perf_counter()
+ outputs = model(inputs)
+ if torch.cuda.is_available():
+ torch.cuda.synchronize()
+ total_compute_time += time.perf_counter() - start_compute_time
+
+ start_eval_time = time.perf_counter()
+ evaluator.process(inputs, outputs)
+ total_eval_time += time.perf_counter() - start_eval_time
+
+ iters_after_start = idx + 1 - num_warmup * int(idx >= num_warmup)
+ data_seconds_per_iter = total_data_time / iters_after_start
+ compute_seconds_per_iter = total_compute_time / iters_after_start
+ eval_seconds_per_iter = total_eval_time / iters_after_start
+ total_seconds_per_iter = (time.perf_counter() - start_time) / iters_after_start
+ if idx >= num_warmup * 2 or compute_seconds_per_iter > 5:
+ eta = datetime.timedelta(seconds=int(total_seconds_per_iter * (total - idx - 1)))
+ log_every_n_seconds(
+ logging.INFO,
+ (
+ f"Inference done {idx + 1}/{total}. "
+ f"Dataloading: {data_seconds_per_iter:.4f} s/iter. "
+ f"Inference: {compute_seconds_per_iter:.4f} s/iter. "
+ f"Eval: {eval_seconds_per_iter:.4f} s/iter. "
+ f"Total: {total_seconds_per_iter:.4f} s/iter. "
+ f"ETA={eta}"
+ ),
+ n=5,
+ )
+ start_data_time = time.perf_counter()
+
+ # Measure the time only for this worker (before the synchronization barrier)
+ total_time = time.perf_counter() - start_time
+ total_time_str = str(datetime.timedelta(seconds=total_time))
+ # NOTE this format is parsed by grep
+ logger.info(
+ "Total inference time: {} ({:.6f} s / iter per device, on {} devices)".format(
+ total_time_str, total_time / (total - num_warmup), num_devices
+ )
+ )
+ total_compute_time_str = str(datetime.timedelta(seconds=int(total_compute_time)))
+ logger.info(
+ "Total inference pure compute time: {} ({:.6f} s / iter per device, on {} devices)".format(
+ total_compute_time_str, total_compute_time / (total - num_warmup), num_devices
+ )
+ )
+
+ results = evaluator.evaluate()
+ # An evaluator may return None when not in main process.
+ # Replace it by an empty dict instead to make it easier for downstream code to handle
+ if results is None:
+ results = {}
+ return results
+
+
+@contextmanager
+def inference_context(model):
+ """
+ A context where the model is temporarily changed to eval mode,
+ and restored to previous mode afterwards.
+
+ Args:
+ model: a torch Module
+ """
+ training_mode = model.training
+ model.eval()
+ yield
+ model.train(training_mode)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/evaluation/fast_eval_api.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/evaluation/fast_eval_api.py
new file mode 100644
index 0000000000000000000000000000000000000000..ad1a8f82350098bafe56f6d9481626e812717052
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/evaluation/fast_eval_api.py
@@ -0,0 +1,121 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+import copy
+import logging
+import numpy as np
+import time
+from annotator.oneformer.pycocotools.cocoeval import COCOeval
+
+from annotator.oneformer.detectron2 import _C
+
+logger = logging.getLogger(__name__)
+
+
+class COCOeval_opt(COCOeval):
+ """
+ This is a slightly modified version of the original COCO API, where the functions evaluateImg()
+ and accumulate() are implemented in C++ to speedup evaluation
+ """
+
+ def evaluate(self):
+ """
+ Run per image evaluation on given images and store results in self.evalImgs_cpp, a
+ datastructure that isn't readable from Python but is used by a c++ implementation of
+ accumulate(). Unlike the original COCO PythonAPI, we don't populate the datastructure
+ self.evalImgs because this datastructure is a computational bottleneck.
+ :return: None
+ """
+ tic = time.time()
+
+ p = self.params
+ # add backward compatibility if useSegm is specified in params
+ if p.useSegm is not None:
+ p.iouType = "segm" if p.useSegm == 1 else "bbox"
+ logger.info("Evaluate annotation type *{}*".format(p.iouType))
+ p.imgIds = list(np.unique(p.imgIds))
+ if p.useCats:
+ p.catIds = list(np.unique(p.catIds))
+ p.maxDets = sorted(p.maxDets)
+ self.params = p
+
+ self._prepare() # bottleneck
+
+ # loop through images, area range, max detection number
+ catIds = p.catIds if p.useCats else [-1]
+
+ if p.iouType == "segm" or p.iouType == "bbox":
+ computeIoU = self.computeIoU
+ elif p.iouType == "keypoints":
+ computeIoU = self.computeOks
+ self.ious = {
+ (imgId, catId): computeIoU(imgId, catId) for imgId in p.imgIds for catId in catIds
+ } # bottleneck
+
+ maxDet = p.maxDets[-1]
+
+ # <<<< Beginning of code differences with original COCO API
+ def convert_instances_to_cpp(instances, is_det=False):
+ # Convert annotations for a list of instances in an image to a format that's fast
+ # to access in C++
+ instances_cpp = []
+ for instance in instances:
+ instance_cpp = _C.InstanceAnnotation(
+ int(instance["id"]),
+ instance["score"] if is_det else instance.get("score", 0.0),
+ instance["area"],
+ bool(instance.get("iscrowd", 0)),
+ bool(instance.get("ignore", 0)),
+ )
+ instances_cpp.append(instance_cpp)
+ return instances_cpp
+
+ # Convert GT annotations, detections, and IOUs to a format that's fast to access in C++
+ ground_truth_instances = [
+ [convert_instances_to_cpp(self._gts[imgId, catId]) for catId in p.catIds]
+ for imgId in p.imgIds
+ ]
+ detected_instances = [
+ [convert_instances_to_cpp(self._dts[imgId, catId], is_det=True) for catId in p.catIds]
+ for imgId in p.imgIds
+ ]
+ ious = [[self.ious[imgId, catId] for catId in catIds] for imgId in p.imgIds]
+
+ if not p.useCats:
+ # For each image, flatten per-category lists into a single list
+ ground_truth_instances = [[[o for c in i for o in c]] for i in ground_truth_instances]
+ detected_instances = [[[o for c in i for o in c]] for i in detected_instances]
+
+ # Call C++ implementation of self.evaluateImgs()
+ self._evalImgs_cpp = _C.COCOevalEvaluateImages(
+ p.areaRng, maxDet, p.iouThrs, ious, ground_truth_instances, detected_instances
+ )
+ self._evalImgs = None
+
+ self._paramsEval = copy.deepcopy(self.params)
+ toc = time.time()
+ logger.info("COCOeval_opt.evaluate() finished in {:0.2f} seconds.".format(toc - tic))
+ # >>>> End of code differences with original COCO API
+
+ def accumulate(self):
+ """
+ Accumulate per image evaluation results and store the result in self.eval. Does not
+ support changing parameter settings from those used by self.evaluate()
+ """
+ logger.info("Accumulating evaluation results...")
+ tic = time.time()
+ assert hasattr(
+ self, "_evalImgs_cpp"
+ ), "evaluate() must be called before accmulate() is called."
+
+ self.eval = _C.COCOevalAccumulate(self._paramsEval, self._evalImgs_cpp)
+
+ # recall is num_iou_thresholds X num_categories X num_area_ranges X num_max_detections
+ self.eval["recall"] = np.array(self.eval["recall"]).reshape(
+ self.eval["counts"][:1] + self.eval["counts"][2:]
+ )
+
+ # precision and scores are num_iou_thresholds X num_recall_thresholds X num_categories X
+ # num_area_ranges X num_max_detections
+ self.eval["precision"] = np.array(self.eval["precision"]).reshape(self.eval["counts"])
+ self.eval["scores"] = np.array(self.eval["scores"]).reshape(self.eval["counts"])
+ toc = time.time()
+ logger.info("COCOeval_opt.accumulate() finished in {:0.2f} seconds.".format(toc - tic))
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/evaluation/lvis_evaluation.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/evaluation/lvis_evaluation.py
new file mode 100644
index 0000000000000000000000000000000000000000..7d712ef262789edb85392cb54577c3a6b15e223e
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/evaluation/lvis_evaluation.py
@@ -0,0 +1,380 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+import copy
+import itertools
+import json
+import logging
+import os
+import pickle
+from collections import OrderedDict
+import torch
+
+import annotator.oneformer.detectron2.utils.comm as comm
+from annotator.oneformer.detectron2.config import CfgNode
+from annotator.oneformer.detectron2.data import MetadataCatalog
+from annotator.oneformer.detectron2.structures import Boxes, BoxMode, pairwise_iou
+from annotator.oneformer.detectron2.utils.file_io import PathManager
+from annotator.oneformer.detectron2.utils.logger import create_small_table
+
+from .coco_evaluation import instances_to_coco_json
+from .evaluator import DatasetEvaluator
+
+
+class LVISEvaluator(DatasetEvaluator):
+ """
+ Evaluate object proposal and instance detection/segmentation outputs using
+ LVIS's metrics and evaluation API.
+ """
+
+ def __init__(
+ self,
+ dataset_name,
+ tasks=None,
+ distributed=True,
+ output_dir=None,
+ *,
+ max_dets_per_image=None,
+ ):
+ """
+ Args:
+ dataset_name (str): name of the dataset to be evaluated.
+ It must have the following corresponding metadata:
+ "json_file": the path to the LVIS format annotation
+ tasks (tuple[str]): tasks that can be evaluated under the given
+ configuration. A task is one of "bbox", "segm".
+ By default, will infer this automatically from predictions.
+ distributed (True): if True, will collect results from all ranks for evaluation.
+ Otherwise, will evaluate the results in the current process.
+ output_dir (str): optional, an output directory to dump results.
+ max_dets_per_image (None or int): limit on maximum detections per image in evaluating AP
+ This limit, by default of the LVIS dataset, is 300.
+ """
+ from lvis import LVIS
+
+ self._logger = logging.getLogger(__name__)
+
+ if tasks is not None and isinstance(tasks, CfgNode):
+ self._logger.warn(
+ "COCO Evaluator instantiated using config, this is deprecated behavior."
+ " Please pass in explicit arguments instead."
+ )
+ self._tasks = None # Infering it from predictions should be better
+ else:
+ self._tasks = tasks
+
+ self._distributed = distributed
+ self._output_dir = output_dir
+ self._max_dets_per_image = max_dets_per_image
+
+ self._cpu_device = torch.device("cpu")
+
+ self._metadata = MetadataCatalog.get(dataset_name)
+ json_file = PathManager.get_local_path(self._metadata.json_file)
+ self._lvis_api = LVIS(json_file)
+ # Test set json files do not contain annotations (evaluation must be
+ # performed using the LVIS evaluation server).
+ self._do_evaluation = len(self._lvis_api.get_ann_ids()) > 0
+
+ def reset(self):
+ self._predictions = []
+
+ def process(self, inputs, outputs):
+ """
+ Args:
+ inputs: the inputs to a LVIS model (e.g., GeneralizedRCNN).
+ It is a list of dict. Each dict corresponds to an image and
+ contains keys like "height", "width", "file_name", "image_id".
+ outputs: the outputs of a LVIS model. It is a list of dicts with key
+ "instances" that contains :class:`Instances`.
+ """
+ for input, output in zip(inputs, outputs):
+ prediction = {"image_id": input["image_id"]}
+
+ if "instances" in output:
+ instances = output["instances"].to(self._cpu_device)
+ prediction["instances"] = instances_to_coco_json(instances, input["image_id"])
+ if "proposals" in output:
+ prediction["proposals"] = output["proposals"].to(self._cpu_device)
+ self._predictions.append(prediction)
+
+ def evaluate(self):
+ if self._distributed:
+ comm.synchronize()
+ predictions = comm.gather(self._predictions, dst=0)
+ predictions = list(itertools.chain(*predictions))
+
+ if not comm.is_main_process():
+ return
+ else:
+ predictions = self._predictions
+
+ if len(predictions) == 0:
+ self._logger.warning("[LVISEvaluator] Did not receive valid predictions.")
+ return {}
+
+ if self._output_dir:
+ PathManager.mkdirs(self._output_dir)
+ file_path = os.path.join(self._output_dir, "instances_predictions.pth")
+ with PathManager.open(file_path, "wb") as f:
+ torch.save(predictions, f)
+
+ self._results = OrderedDict()
+ if "proposals" in predictions[0]:
+ self._eval_box_proposals(predictions)
+ if "instances" in predictions[0]:
+ self._eval_predictions(predictions)
+ # Copy so the caller can do whatever with results
+ return copy.deepcopy(self._results)
+
+ def _tasks_from_predictions(self, predictions):
+ for pred in predictions:
+ if "segmentation" in pred:
+ return ("bbox", "segm")
+ return ("bbox",)
+
+ def _eval_predictions(self, predictions):
+ """
+ Evaluate predictions. Fill self._results with the metrics of the tasks.
+
+ Args:
+ predictions (list[dict]): list of outputs from the model
+ """
+ self._logger.info("Preparing results in the LVIS format ...")
+ lvis_results = list(itertools.chain(*[x["instances"] for x in predictions]))
+ tasks = self._tasks or self._tasks_from_predictions(lvis_results)
+
+ # LVIS evaluator can be used to evaluate results for COCO dataset categories.
+ # In this case `_metadata` variable will have a field with COCO-specific category mapping.
+ if hasattr(self._metadata, "thing_dataset_id_to_contiguous_id"):
+ reverse_id_mapping = {
+ v: k for k, v in self._metadata.thing_dataset_id_to_contiguous_id.items()
+ }
+ for result in lvis_results:
+ result["category_id"] = reverse_id_mapping[result["category_id"]]
+ else:
+ # unmap the category ids for LVIS (from 0-indexed to 1-indexed)
+ for result in lvis_results:
+ result["category_id"] += 1
+
+ if self._output_dir:
+ file_path = os.path.join(self._output_dir, "lvis_instances_results.json")
+ self._logger.info("Saving results to {}".format(file_path))
+ with PathManager.open(file_path, "w") as f:
+ f.write(json.dumps(lvis_results))
+ f.flush()
+
+ if not self._do_evaluation:
+ self._logger.info("Annotations are not available for evaluation.")
+ return
+
+ self._logger.info("Evaluating predictions ...")
+ for task in sorted(tasks):
+ res = _evaluate_predictions_on_lvis(
+ self._lvis_api,
+ lvis_results,
+ task,
+ max_dets_per_image=self._max_dets_per_image,
+ class_names=self._metadata.get("thing_classes"),
+ )
+ self._results[task] = res
+
+ def _eval_box_proposals(self, predictions):
+ """
+ Evaluate the box proposals in predictions.
+ Fill self._results with the metrics for "box_proposals" task.
+ """
+ if self._output_dir:
+ # Saving generated box proposals to file.
+ # Predicted box_proposals are in XYXY_ABS mode.
+ bbox_mode = BoxMode.XYXY_ABS.value
+ ids, boxes, objectness_logits = [], [], []
+ for prediction in predictions:
+ ids.append(prediction["image_id"])
+ boxes.append(prediction["proposals"].proposal_boxes.tensor.numpy())
+ objectness_logits.append(prediction["proposals"].objectness_logits.numpy())
+
+ proposal_data = {
+ "boxes": boxes,
+ "objectness_logits": objectness_logits,
+ "ids": ids,
+ "bbox_mode": bbox_mode,
+ }
+ with PathManager.open(os.path.join(self._output_dir, "box_proposals.pkl"), "wb") as f:
+ pickle.dump(proposal_data, f)
+
+ if not self._do_evaluation:
+ self._logger.info("Annotations are not available for evaluation.")
+ return
+
+ self._logger.info("Evaluating bbox proposals ...")
+ res = {}
+ areas = {"all": "", "small": "s", "medium": "m", "large": "l"}
+ for limit in [100, 1000]:
+ for area, suffix in areas.items():
+ stats = _evaluate_box_proposals(predictions, self._lvis_api, area=area, limit=limit)
+ key = "AR{}@{:d}".format(suffix, limit)
+ res[key] = float(stats["ar"].item() * 100)
+ self._logger.info("Proposal metrics: \n" + create_small_table(res))
+ self._results["box_proposals"] = res
+
+
+# inspired from Detectron:
+# https://github.com/facebookresearch/Detectron/blob/a6a835f5b8208c45d0dce217ce9bbda915f44df7/detectron/datasets/json_dataset_evaluator.py#L255 # noqa
+def _evaluate_box_proposals(dataset_predictions, lvis_api, thresholds=None, area="all", limit=None):
+ """
+ Evaluate detection proposal recall metrics. This function is a much
+ faster alternative to the official LVIS API recall evaluation code. However,
+ it produces slightly different results.
+ """
+ # Record max overlap value for each gt box
+ # Return vector of overlap values
+ areas = {
+ "all": 0,
+ "small": 1,
+ "medium": 2,
+ "large": 3,
+ "96-128": 4,
+ "128-256": 5,
+ "256-512": 6,
+ "512-inf": 7,
+ }
+ area_ranges = [
+ [0**2, 1e5**2], # all
+ [0**2, 32**2], # small
+ [32**2, 96**2], # medium
+ [96**2, 1e5**2], # large
+ [96**2, 128**2], # 96-128
+ [128**2, 256**2], # 128-256
+ [256**2, 512**2], # 256-512
+ [512**2, 1e5**2],
+ ] # 512-inf
+ assert area in areas, "Unknown area range: {}".format(area)
+ area_range = area_ranges[areas[area]]
+ gt_overlaps = []
+ num_pos = 0
+
+ for prediction_dict in dataset_predictions:
+ predictions = prediction_dict["proposals"]
+
+ # sort predictions in descending order
+ # TODO maybe remove this and make it explicit in the documentation
+ inds = predictions.objectness_logits.sort(descending=True)[1]
+ predictions = predictions[inds]
+
+ ann_ids = lvis_api.get_ann_ids(img_ids=[prediction_dict["image_id"]])
+ anno = lvis_api.load_anns(ann_ids)
+ gt_boxes = [
+ BoxMode.convert(obj["bbox"], BoxMode.XYWH_ABS, BoxMode.XYXY_ABS) for obj in anno
+ ]
+ gt_boxes = torch.as_tensor(gt_boxes).reshape(-1, 4) # guard against no boxes
+ gt_boxes = Boxes(gt_boxes)
+ gt_areas = torch.as_tensor([obj["area"] for obj in anno])
+
+ if len(gt_boxes) == 0 or len(predictions) == 0:
+ continue
+
+ valid_gt_inds = (gt_areas >= area_range[0]) & (gt_areas <= area_range[1])
+ gt_boxes = gt_boxes[valid_gt_inds]
+
+ num_pos += len(gt_boxes)
+
+ if len(gt_boxes) == 0:
+ continue
+
+ if limit is not None and len(predictions) > limit:
+ predictions = predictions[:limit]
+
+ overlaps = pairwise_iou(predictions.proposal_boxes, gt_boxes)
+
+ _gt_overlaps = torch.zeros(len(gt_boxes))
+ for j in range(min(len(predictions), len(gt_boxes))):
+ # find which proposal box maximally covers each gt box
+ # and get the iou amount of coverage for each gt box
+ max_overlaps, argmax_overlaps = overlaps.max(dim=0)
+
+ # find which gt box is 'best' covered (i.e. 'best' = most iou)
+ gt_ovr, gt_ind = max_overlaps.max(dim=0)
+ assert gt_ovr >= 0
+ # find the proposal box that covers the best covered gt box
+ box_ind = argmax_overlaps[gt_ind]
+ # record the iou coverage of this gt box
+ _gt_overlaps[j] = overlaps[box_ind, gt_ind]
+ assert _gt_overlaps[j] == gt_ovr
+ # mark the proposal box and the gt box as used
+ overlaps[box_ind, :] = -1
+ overlaps[:, gt_ind] = -1
+
+ # append recorded iou coverage level
+ gt_overlaps.append(_gt_overlaps)
+ gt_overlaps = (
+ torch.cat(gt_overlaps, dim=0) if len(gt_overlaps) else torch.zeros(0, dtype=torch.float32)
+ )
+ gt_overlaps, _ = torch.sort(gt_overlaps)
+
+ if thresholds is None:
+ step = 0.05
+ thresholds = torch.arange(0.5, 0.95 + 1e-5, step, dtype=torch.float32)
+ recalls = torch.zeros_like(thresholds)
+ # compute recall for each iou threshold
+ for i, t in enumerate(thresholds):
+ recalls[i] = (gt_overlaps >= t).float().sum() / float(num_pos)
+ # ar = 2 * np.trapz(recalls, thresholds)
+ ar = recalls.mean()
+ return {
+ "ar": ar,
+ "recalls": recalls,
+ "thresholds": thresholds,
+ "gt_overlaps": gt_overlaps,
+ "num_pos": num_pos,
+ }
+
+
+def _evaluate_predictions_on_lvis(
+ lvis_gt, lvis_results, iou_type, max_dets_per_image=None, class_names=None
+):
+ """
+ Args:
+ iou_type (str):
+ max_dets_per_image (None or int): limit on maximum detections per image in evaluating AP
+ This limit, by default of the LVIS dataset, is 300.
+ class_names (None or list[str]): if provided, will use it to predict
+ per-category AP.
+
+ Returns:
+ a dict of {metric name: score}
+ """
+ metrics = {
+ "bbox": ["AP", "AP50", "AP75", "APs", "APm", "APl", "APr", "APc", "APf"],
+ "segm": ["AP", "AP50", "AP75", "APs", "APm", "APl", "APr", "APc", "APf"],
+ }[iou_type]
+
+ logger = logging.getLogger(__name__)
+
+ if len(lvis_results) == 0: # TODO: check if needed
+ logger.warn("No predictions from the model!")
+ return {metric: float("nan") for metric in metrics}
+
+ if iou_type == "segm":
+ lvis_results = copy.deepcopy(lvis_results)
+ # When evaluating mask AP, if the results contain bbox, LVIS API will
+ # use the box area as the area of the instance, instead of the mask area.
+ # This leads to a different definition of small/medium/large.
+ # We remove the bbox field to let mask AP use mask area.
+ for c in lvis_results:
+ c.pop("bbox", None)
+
+ if max_dets_per_image is None:
+ max_dets_per_image = 300 # Default for LVIS dataset
+
+ from lvis import LVISEval, LVISResults
+
+ logger.info(f"Evaluating with max detections per image = {max_dets_per_image}")
+ lvis_results = LVISResults(lvis_gt, lvis_results, max_dets=max_dets_per_image)
+ lvis_eval = LVISEval(lvis_gt, lvis_results, iou_type)
+ lvis_eval.run()
+ lvis_eval.print_results()
+
+ # Pull the standard metrics from the LVIS results
+ results = lvis_eval.get_results()
+ results = {metric: float(results[metric] * 100) for metric in metrics}
+ logger.info("Evaluation results for {}: \n".format(iou_type) + create_small_table(results))
+ return results
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/evaluation/panoptic_evaluation.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/evaluation/panoptic_evaluation.py
new file mode 100644
index 0000000000000000000000000000000000000000..bf77fe061291f44381f8417e82e8b2bc7c5a60c6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/evaluation/panoptic_evaluation.py
@@ -0,0 +1,199 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+import contextlib
+import io
+import itertools
+import json
+import logging
+import numpy as np
+import os
+import tempfile
+from collections import OrderedDict
+from typing import Optional
+from PIL import Image
+from tabulate import tabulate
+
+from annotator.oneformer.detectron2.data import MetadataCatalog
+from annotator.oneformer.detectron2.utils import comm
+from annotator.oneformer.detectron2.utils.file_io import PathManager
+
+from .evaluator import DatasetEvaluator
+
+logger = logging.getLogger(__name__)
+
+
+class COCOPanopticEvaluator(DatasetEvaluator):
+ """
+ Evaluate Panoptic Quality metrics on COCO using PanopticAPI.
+ It saves panoptic segmentation prediction in `output_dir`
+
+ It contains a synchronize call and has to be called from all workers.
+ """
+
+ def __init__(self, dataset_name: str, output_dir: Optional[str] = None):
+ """
+ Args:
+ dataset_name: name of the dataset
+ output_dir: output directory to save results for evaluation.
+ """
+ self._metadata = MetadataCatalog.get(dataset_name)
+ self._thing_contiguous_id_to_dataset_id = {
+ v: k for k, v in self._metadata.thing_dataset_id_to_contiguous_id.items()
+ }
+ self._stuff_contiguous_id_to_dataset_id = {
+ v: k for k, v in self._metadata.stuff_dataset_id_to_contiguous_id.items()
+ }
+
+ self._output_dir = output_dir
+ if self._output_dir is not None:
+ PathManager.mkdirs(self._output_dir)
+
+ def reset(self):
+ self._predictions = []
+
+ def _convert_category_id(self, segment_info):
+ isthing = segment_info.pop("isthing", None)
+ if isthing is None:
+ # the model produces panoptic category id directly. No more conversion needed
+ return segment_info
+ if isthing is True:
+ segment_info["category_id"] = self._thing_contiguous_id_to_dataset_id[
+ segment_info["category_id"]
+ ]
+ else:
+ segment_info["category_id"] = self._stuff_contiguous_id_to_dataset_id[
+ segment_info["category_id"]
+ ]
+ return segment_info
+
+ def process(self, inputs, outputs):
+ from panopticapi.utils import id2rgb
+
+ for input, output in zip(inputs, outputs):
+ panoptic_img, segments_info = output["panoptic_seg"]
+ panoptic_img = panoptic_img.cpu().numpy()
+ if segments_info is None:
+ # If "segments_info" is None, we assume "panoptic_img" is a
+ # H*W int32 image storing the panoptic_id in the format of
+ # category_id * label_divisor + instance_id. We reserve -1 for
+ # VOID label, and add 1 to panoptic_img since the official
+ # evaluation script uses 0 for VOID label.
+ label_divisor = self._metadata.label_divisor
+ segments_info = []
+ for panoptic_label in np.unique(panoptic_img):
+ if panoptic_label == -1:
+ # VOID region.
+ continue
+ pred_class = panoptic_label // label_divisor
+ isthing = (
+ pred_class in self._metadata.thing_dataset_id_to_contiguous_id.values()
+ )
+ segments_info.append(
+ {
+ "id": int(panoptic_label) + 1,
+ "category_id": int(pred_class),
+ "isthing": bool(isthing),
+ }
+ )
+ # Official evaluation script uses 0 for VOID label.
+ panoptic_img += 1
+
+ file_name = os.path.basename(input["file_name"])
+ file_name_png = os.path.splitext(file_name)[0] + ".png"
+ with io.BytesIO() as out:
+ Image.fromarray(id2rgb(panoptic_img)).save(out, format="PNG")
+ segments_info = [self._convert_category_id(x) for x in segments_info]
+ self._predictions.append(
+ {
+ "image_id": input["image_id"],
+ "file_name": file_name_png,
+ "png_string": out.getvalue(),
+ "segments_info": segments_info,
+ }
+ )
+
+ def evaluate(self):
+ comm.synchronize()
+
+ self._predictions = comm.gather(self._predictions)
+ self._predictions = list(itertools.chain(*self._predictions))
+ if not comm.is_main_process():
+ return
+
+ # PanopticApi requires local files
+ gt_json = PathManager.get_local_path(self._metadata.panoptic_json)
+ gt_folder = PathManager.get_local_path(self._metadata.panoptic_root)
+
+ with tempfile.TemporaryDirectory(prefix="panoptic_eval") as pred_dir:
+ logger.info("Writing all panoptic predictions to {} ...".format(pred_dir))
+ for p in self._predictions:
+ with open(os.path.join(pred_dir, p["file_name"]), "wb") as f:
+ f.write(p.pop("png_string"))
+
+ with open(gt_json, "r") as f:
+ json_data = json.load(f)
+ json_data["annotations"] = self._predictions
+
+ output_dir = self._output_dir or pred_dir
+ predictions_json = os.path.join(output_dir, "predictions.json")
+ with PathManager.open(predictions_json, "w") as f:
+ f.write(json.dumps(json_data))
+
+ from panopticapi.evaluation import pq_compute
+
+ with contextlib.redirect_stdout(io.StringIO()):
+ pq_res = pq_compute(
+ gt_json,
+ PathManager.get_local_path(predictions_json),
+ gt_folder=gt_folder,
+ pred_folder=pred_dir,
+ )
+
+ res = {}
+ res["PQ"] = 100 * pq_res["All"]["pq"]
+ res["SQ"] = 100 * pq_res["All"]["sq"]
+ res["RQ"] = 100 * pq_res["All"]["rq"]
+ res["PQ_th"] = 100 * pq_res["Things"]["pq"]
+ res["SQ_th"] = 100 * pq_res["Things"]["sq"]
+ res["RQ_th"] = 100 * pq_res["Things"]["rq"]
+ res["PQ_st"] = 100 * pq_res["Stuff"]["pq"]
+ res["SQ_st"] = 100 * pq_res["Stuff"]["sq"]
+ res["RQ_st"] = 100 * pq_res["Stuff"]["rq"]
+
+ results = OrderedDict({"panoptic_seg": res})
+ _print_panoptic_results(pq_res)
+
+ return results
+
+
+def _print_panoptic_results(pq_res):
+ headers = ["", "PQ", "SQ", "RQ", "#categories"]
+ data = []
+ for name in ["All", "Things", "Stuff"]:
+ row = [name] + [pq_res[name][k] * 100 for k in ["pq", "sq", "rq"]] + [pq_res[name]["n"]]
+ data.append(row)
+ table = tabulate(
+ data, headers=headers, tablefmt="pipe", floatfmt=".3f", stralign="center", numalign="center"
+ )
+ logger.info("Panoptic Evaluation Results:\n" + table)
+
+
+if __name__ == "__main__":
+ from annotator.oneformer.detectron2.utils.logger import setup_logger
+
+ logger = setup_logger()
+ import argparse
+
+ parser = argparse.ArgumentParser()
+ parser.add_argument("--gt-json")
+ parser.add_argument("--gt-dir")
+ parser.add_argument("--pred-json")
+ parser.add_argument("--pred-dir")
+ args = parser.parse_args()
+
+ from panopticapi.evaluation import pq_compute
+
+ with contextlib.redirect_stdout(io.StringIO()):
+ pq_res = pq_compute(
+ args.gt_json, args.pred_json, gt_folder=args.gt_dir, pred_folder=args.pred_dir
+ )
+ _print_panoptic_results(pq_res)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/evaluation/pascal_voc_evaluation.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/evaluation/pascal_voc_evaluation.py
new file mode 100644
index 0000000000000000000000000000000000000000..b2963e5dc5b6ed471f0c37056b35a350ea4cf020
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/evaluation/pascal_voc_evaluation.py
@@ -0,0 +1,300 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) Facebook, Inc. and its affiliates.
+
+import logging
+import numpy as np
+import os
+import tempfile
+import xml.etree.ElementTree as ET
+from collections import OrderedDict, defaultdict
+from functools import lru_cache
+import torch
+
+from annotator.oneformer.detectron2.data import MetadataCatalog
+from annotator.oneformer.detectron2.utils import comm
+from annotator.oneformer.detectron2.utils.file_io import PathManager
+
+from .evaluator import DatasetEvaluator
+
+
+class PascalVOCDetectionEvaluator(DatasetEvaluator):
+ """
+ Evaluate Pascal VOC style AP for Pascal VOC dataset.
+ It contains a synchronization, therefore has to be called from all ranks.
+
+ Note that the concept of AP can be implemented in different ways and may not
+ produce identical results. This class mimics the implementation of the official
+ Pascal VOC Matlab API, and should produce similar but not identical results to the
+ official API.
+ """
+
+ def __init__(self, dataset_name):
+ """
+ Args:
+ dataset_name (str): name of the dataset, e.g., "voc_2007_test"
+ """
+ self._dataset_name = dataset_name
+ meta = MetadataCatalog.get(dataset_name)
+
+ # Too many tiny files, download all to local for speed.
+ annotation_dir_local = PathManager.get_local_path(
+ os.path.join(meta.dirname, "Annotations/")
+ )
+ self._anno_file_template = os.path.join(annotation_dir_local, "{}.xml")
+ self._image_set_path = os.path.join(meta.dirname, "ImageSets", "Main", meta.split + ".txt")
+ self._class_names = meta.thing_classes
+ assert meta.year in [2007, 2012], meta.year
+ self._is_2007 = meta.year == 2007
+ self._cpu_device = torch.device("cpu")
+ self._logger = logging.getLogger(__name__)
+
+ def reset(self):
+ self._predictions = defaultdict(list) # class name -> list of prediction strings
+
+ def process(self, inputs, outputs):
+ for input, output in zip(inputs, outputs):
+ image_id = input["image_id"]
+ instances = output["instances"].to(self._cpu_device)
+ boxes = instances.pred_boxes.tensor.numpy()
+ scores = instances.scores.tolist()
+ classes = instances.pred_classes.tolist()
+ for box, score, cls in zip(boxes, scores, classes):
+ xmin, ymin, xmax, ymax = box
+ # The inverse of data loading logic in `datasets/pascal_voc.py`
+ xmin += 1
+ ymin += 1
+ self._predictions[cls].append(
+ f"{image_id} {score:.3f} {xmin:.1f} {ymin:.1f} {xmax:.1f} {ymax:.1f}"
+ )
+
+ def evaluate(self):
+ """
+ Returns:
+ dict: has a key "segm", whose value is a dict of "AP", "AP50", and "AP75".
+ """
+ all_predictions = comm.gather(self._predictions, dst=0)
+ if not comm.is_main_process():
+ return
+ predictions = defaultdict(list)
+ for predictions_per_rank in all_predictions:
+ for clsid, lines in predictions_per_rank.items():
+ predictions[clsid].extend(lines)
+ del all_predictions
+
+ self._logger.info(
+ "Evaluating {} using {} metric. "
+ "Note that results do not use the official Matlab API.".format(
+ self._dataset_name, 2007 if self._is_2007 else 2012
+ )
+ )
+
+ with tempfile.TemporaryDirectory(prefix="pascal_voc_eval_") as dirname:
+ res_file_template = os.path.join(dirname, "{}.txt")
+
+ aps = defaultdict(list) # iou -> ap per class
+ for cls_id, cls_name in enumerate(self._class_names):
+ lines = predictions.get(cls_id, [""])
+
+ with open(res_file_template.format(cls_name), "w") as f:
+ f.write("\n".join(lines))
+
+ for thresh in range(50, 100, 5):
+ rec, prec, ap = voc_eval(
+ res_file_template,
+ self._anno_file_template,
+ self._image_set_path,
+ cls_name,
+ ovthresh=thresh / 100.0,
+ use_07_metric=self._is_2007,
+ )
+ aps[thresh].append(ap * 100)
+
+ ret = OrderedDict()
+ mAP = {iou: np.mean(x) for iou, x in aps.items()}
+ ret["bbox"] = {"AP": np.mean(list(mAP.values())), "AP50": mAP[50], "AP75": mAP[75]}
+ return ret
+
+
+##############################################################################
+#
+# Below code is modified from
+# https://github.com/rbgirshick/py-faster-rcnn/blob/master/lib/datasets/voc_eval.py
+# --------------------------------------------------------
+# Fast/er R-CNN
+# Licensed under The MIT License [see LICENSE for details]
+# Written by Bharath Hariharan
+# --------------------------------------------------------
+
+"""Python implementation of the PASCAL VOC devkit's AP evaluation code."""
+
+
+@lru_cache(maxsize=None)
+def parse_rec(filename):
+ """Parse a PASCAL VOC xml file."""
+ with PathManager.open(filename) as f:
+ tree = ET.parse(f)
+ objects = []
+ for obj in tree.findall("object"):
+ obj_struct = {}
+ obj_struct["name"] = obj.find("name").text
+ obj_struct["pose"] = obj.find("pose").text
+ obj_struct["truncated"] = int(obj.find("truncated").text)
+ obj_struct["difficult"] = int(obj.find("difficult").text)
+ bbox = obj.find("bndbox")
+ obj_struct["bbox"] = [
+ int(bbox.find("xmin").text),
+ int(bbox.find("ymin").text),
+ int(bbox.find("xmax").text),
+ int(bbox.find("ymax").text),
+ ]
+ objects.append(obj_struct)
+
+ return objects
+
+
+def voc_ap(rec, prec, use_07_metric=False):
+ """Compute VOC AP given precision and recall. If use_07_metric is true, uses
+ the VOC 07 11-point method (default:False).
+ """
+ if use_07_metric:
+ # 11 point metric
+ ap = 0.0
+ for t in np.arange(0.0, 1.1, 0.1):
+ if np.sum(rec >= t) == 0:
+ p = 0
+ else:
+ p = np.max(prec[rec >= t])
+ ap = ap + p / 11.0
+ else:
+ # correct AP calculation
+ # first append sentinel values at the end
+ mrec = np.concatenate(([0.0], rec, [1.0]))
+ mpre = np.concatenate(([0.0], prec, [0.0]))
+
+ # compute the precision envelope
+ for i in range(mpre.size - 1, 0, -1):
+ mpre[i - 1] = np.maximum(mpre[i - 1], mpre[i])
+
+ # to calculate area under PR curve, look for points
+ # where X axis (recall) changes value
+ i = np.where(mrec[1:] != mrec[:-1])[0]
+
+ # and sum (\Delta recall) * prec
+ ap = np.sum((mrec[i + 1] - mrec[i]) * mpre[i + 1])
+ return ap
+
+
+def voc_eval(detpath, annopath, imagesetfile, classname, ovthresh=0.5, use_07_metric=False):
+ """rec, prec, ap = voc_eval(detpath,
+ annopath,
+ imagesetfile,
+ classname,
+ [ovthresh],
+ [use_07_metric])
+
+ Top level function that does the PASCAL VOC evaluation.
+
+ detpath: Path to detections
+ detpath.format(classname) should produce the detection results file.
+ annopath: Path to annotations
+ annopath.format(imagename) should be the xml annotations file.
+ imagesetfile: Text file containing the list of images, one image per line.
+ classname: Category name (duh)
+ [ovthresh]: Overlap threshold (default = 0.5)
+ [use_07_metric]: Whether to use VOC07's 11 point AP computation
+ (default False)
+ """
+ # assumes detections are in detpath.format(classname)
+ # assumes annotations are in annopath.format(imagename)
+ # assumes imagesetfile is a text file with each line an image name
+
+ # first load gt
+ # read list of images
+ with PathManager.open(imagesetfile, "r") as f:
+ lines = f.readlines()
+ imagenames = [x.strip() for x in lines]
+
+ # load annots
+ recs = {}
+ for imagename in imagenames:
+ recs[imagename] = parse_rec(annopath.format(imagename))
+
+ # extract gt objects for this class
+ class_recs = {}
+ npos = 0
+ for imagename in imagenames:
+ R = [obj for obj in recs[imagename] if obj["name"] == classname]
+ bbox = np.array([x["bbox"] for x in R])
+ difficult = np.array([x["difficult"] for x in R]).astype(bool)
+ # difficult = np.array([False for x in R]).astype(bool) # treat all "difficult" as GT
+ det = [False] * len(R)
+ npos = npos + sum(~difficult)
+ class_recs[imagename] = {"bbox": bbox, "difficult": difficult, "det": det}
+
+ # read dets
+ detfile = detpath.format(classname)
+ with open(detfile, "r") as f:
+ lines = f.readlines()
+
+ splitlines = [x.strip().split(" ") for x in lines]
+ image_ids = [x[0] for x in splitlines]
+ confidence = np.array([float(x[1]) for x in splitlines])
+ BB = np.array([[float(z) for z in x[2:]] for x in splitlines]).reshape(-1, 4)
+
+ # sort by confidence
+ sorted_ind = np.argsort(-confidence)
+ BB = BB[sorted_ind, :]
+ image_ids = [image_ids[x] for x in sorted_ind]
+
+ # go down dets and mark TPs and FPs
+ nd = len(image_ids)
+ tp = np.zeros(nd)
+ fp = np.zeros(nd)
+ for d in range(nd):
+ R = class_recs[image_ids[d]]
+ bb = BB[d, :].astype(float)
+ ovmax = -np.inf
+ BBGT = R["bbox"].astype(float)
+
+ if BBGT.size > 0:
+ # compute overlaps
+ # intersection
+ ixmin = np.maximum(BBGT[:, 0], bb[0])
+ iymin = np.maximum(BBGT[:, 1], bb[1])
+ ixmax = np.minimum(BBGT[:, 2], bb[2])
+ iymax = np.minimum(BBGT[:, 3], bb[3])
+ iw = np.maximum(ixmax - ixmin + 1.0, 0.0)
+ ih = np.maximum(iymax - iymin + 1.0, 0.0)
+ inters = iw * ih
+
+ # union
+ uni = (
+ (bb[2] - bb[0] + 1.0) * (bb[3] - bb[1] + 1.0)
+ + (BBGT[:, 2] - BBGT[:, 0] + 1.0) * (BBGT[:, 3] - BBGT[:, 1] + 1.0)
+ - inters
+ )
+
+ overlaps = inters / uni
+ ovmax = np.max(overlaps)
+ jmax = np.argmax(overlaps)
+
+ if ovmax > ovthresh:
+ if not R["difficult"][jmax]:
+ if not R["det"][jmax]:
+ tp[d] = 1.0
+ R["det"][jmax] = 1
+ else:
+ fp[d] = 1.0
+ else:
+ fp[d] = 1.0
+
+ # compute precision recall
+ fp = np.cumsum(fp)
+ tp = np.cumsum(tp)
+ rec = tp / float(npos)
+ # avoid divide by zero in case the first detection matches a difficult
+ # ground truth
+ prec = tp / np.maximum(tp + fp, np.finfo(np.float64).eps)
+ ap = voc_ap(rec, prec, use_07_metric)
+
+ return rec, prec, ap
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/evaluation/rotated_coco_evaluation.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/evaluation/rotated_coco_evaluation.py
new file mode 100644
index 0000000000000000000000000000000000000000..0d5306c3a0601ed555c7bef20e0ac4ca64264442
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/evaluation/rotated_coco_evaluation.py
@@ -0,0 +1,207 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+import itertools
+import json
+import numpy as np
+import os
+import torch
+from annotator.oneformer.pycocotools.cocoeval import COCOeval, maskUtils
+
+from annotator.oneformer.detectron2.structures import BoxMode, RotatedBoxes, pairwise_iou_rotated
+from annotator.oneformer.detectron2.utils.file_io import PathManager
+
+from .coco_evaluation import COCOEvaluator
+
+
+class RotatedCOCOeval(COCOeval):
+ @staticmethod
+ def is_rotated(box_list):
+ if type(box_list) == np.ndarray:
+ return box_list.shape[1] == 5
+ elif type(box_list) == list:
+ if box_list == []: # cannot decide the box_dim
+ return False
+ return np.all(
+ np.array(
+ [
+ (len(obj) == 5) and ((type(obj) == list) or (type(obj) == np.ndarray))
+ for obj in box_list
+ ]
+ )
+ )
+ return False
+
+ @staticmethod
+ def boxlist_to_tensor(boxlist, output_box_dim):
+ if type(boxlist) == np.ndarray:
+ box_tensor = torch.from_numpy(boxlist)
+ elif type(boxlist) == list:
+ if boxlist == []:
+ return torch.zeros((0, output_box_dim), dtype=torch.float32)
+ else:
+ box_tensor = torch.FloatTensor(boxlist)
+ else:
+ raise Exception("Unrecognized boxlist type")
+
+ input_box_dim = box_tensor.shape[1]
+ if input_box_dim != output_box_dim:
+ if input_box_dim == 4 and output_box_dim == 5:
+ box_tensor = BoxMode.convert(box_tensor, BoxMode.XYWH_ABS, BoxMode.XYWHA_ABS)
+ else:
+ raise Exception(
+ "Unable to convert from {}-dim box to {}-dim box".format(
+ input_box_dim, output_box_dim
+ )
+ )
+ return box_tensor
+
+ def compute_iou_dt_gt(self, dt, gt, is_crowd):
+ if self.is_rotated(dt) or self.is_rotated(gt):
+ # TODO: take is_crowd into consideration
+ assert all(c == 0 for c in is_crowd)
+ dt = RotatedBoxes(self.boxlist_to_tensor(dt, output_box_dim=5))
+ gt = RotatedBoxes(self.boxlist_to_tensor(gt, output_box_dim=5))
+ return pairwise_iou_rotated(dt, gt)
+ else:
+ # This is the same as the classical COCO evaluation
+ return maskUtils.iou(dt, gt, is_crowd)
+
+ def computeIoU(self, imgId, catId):
+ p = self.params
+ if p.useCats:
+ gt = self._gts[imgId, catId]
+ dt = self._dts[imgId, catId]
+ else:
+ gt = [_ for cId in p.catIds for _ in self._gts[imgId, cId]]
+ dt = [_ for cId in p.catIds for _ in self._dts[imgId, cId]]
+ if len(gt) == 0 and len(dt) == 0:
+ return []
+ inds = np.argsort([-d["score"] for d in dt], kind="mergesort")
+ dt = [dt[i] for i in inds]
+ if len(dt) > p.maxDets[-1]:
+ dt = dt[0 : p.maxDets[-1]]
+
+ assert p.iouType == "bbox", "unsupported iouType for iou computation"
+
+ g = [g["bbox"] for g in gt]
+ d = [d["bbox"] for d in dt]
+
+ # compute iou between each dt and gt region
+ iscrowd = [int(o["iscrowd"]) for o in gt]
+
+ # Note: this function is copied from cocoeval.py in cocoapi
+ # and the major difference is here.
+ ious = self.compute_iou_dt_gt(d, g, iscrowd)
+ return ious
+
+
+class RotatedCOCOEvaluator(COCOEvaluator):
+ """
+ Evaluate object proposal/instance detection outputs using COCO-like metrics and APIs,
+ with rotated boxes support.
+ Note: this uses IOU only and does not consider angle differences.
+ """
+
+ def process(self, inputs, outputs):
+ """
+ Args:
+ inputs: the inputs to a COCO model (e.g., GeneralizedRCNN).
+ It is a list of dict. Each dict corresponds to an image and
+ contains keys like "height", "width", "file_name", "image_id".
+ outputs: the outputs of a COCO model. It is a list of dicts with key
+ "instances" that contains :class:`Instances`.
+ """
+ for input, output in zip(inputs, outputs):
+ prediction = {"image_id": input["image_id"]}
+
+ if "instances" in output:
+ instances = output["instances"].to(self._cpu_device)
+
+ prediction["instances"] = self.instances_to_json(instances, input["image_id"])
+ if "proposals" in output:
+ prediction["proposals"] = output["proposals"].to(self._cpu_device)
+ self._predictions.append(prediction)
+
+ def instances_to_json(self, instances, img_id):
+ num_instance = len(instances)
+ if num_instance == 0:
+ return []
+
+ boxes = instances.pred_boxes.tensor.numpy()
+ if boxes.shape[1] == 4:
+ boxes = BoxMode.convert(boxes, BoxMode.XYXY_ABS, BoxMode.XYWH_ABS)
+ boxes = boxes.tolist()
+ scores = instances.scores.tolist()
+ classes = instances.pred_classes.tolist()
+
+ results = []
+ for k in range(num_instance):
+ result = {
+ "image_id": img_id,
+ "category_id": classes[k],
+ "bbox": boxes[k],
+ "score": scores[k],
+ }
+
+ results.append(result)
+ return results
+
+ def _eval_predictions(self, predictions, img_ids=None): # img_ids: unused
+ """
+ Evaluate predictions on the given tasks.
+ Fill self._results with the metrics of the tasks.
+ """
+ self._logger.info("Preparing results for COCO format ...")
+ coco_results = list(itertools.chain(*[x["instances"] for x in predictions]))
+
+ # unmap the category ids for COCO
+ if hasattr(self._metadata, "thing_dataset_id_to_contiguous_id"):
+ reverse_id_mapping = {
+ v: k for k, v in self._metadata.thing_dataset_id_to_contiguous_id.items()
+ }
+ for result in coco_results:
+ result["category_id"] = reverse_id_mapping[result["category_id"]]
+
+ if self._output_dir:
+ file_path = os.path.join(self._output_dir, "coco_instances_results.json")
+ self._logger.info("Saving results to {}".format(file_path))
+ with PathManager.open(file_path, "w") as f:
+ f.write(json.dumps(coco_results))
+ f.flush()
+
+ if not self._do_evaluation:
+ self._logger.info("Annotations are not available for evaluation.")
+ return
+
+ self._logger.info("Evaluating predictions ...")
+
+ assert self._tasks is None or set(self._tasks) == {
+ "bbox"
+ }, "[RotatedCOCOEvaluator] Only bbox evaluation is supported"
+ coco_eval = (
+ self._evaluate_predictions_on_coco(self._coco_api, coco_results)
+ if len(coco_results) > 0
+ else None # cocoapi does not handle empty results very well
+ )
+
+ task = "bbox"
+ res = self._derive_coco_results(
+ coco_eval, task, class_names=self._metadata.get("thing_classes")
+ )
+ self._results[task] = res
+
+ def _evaluate_predictions_on_coco(self, coco_gt, coco_results):
+ """
+ Evaluate the coco results using COCOEval API.
+ """
+ assert len(coco_results) > 0
+
+ coco_dt = coco_gt.loadRes(coco_results)
+
+ # Only bbox is supported for now
+ coco_eval = RotatedCOCOeval(coco_gt, coco_dt, iouType="bbox")
+
+ coco_eval.evaluate()
+ coco_eval.accumulate()
+ coco_eval.summarize()
+
+ return coco_eval
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/evaluation/sem_seg_evaluation.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/evaluation/sem_seg_evaluation.py
new file mode 100644
index 0000000000000000000000000000000000000000..1c2f3f5a659bc270d313efb053908d9b1e942f44
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/evaluation/sem_seg_evaluation.py
@@ -0,0 +1,265 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+import itertools
+import json
+import logging
+import numpy as np
+import os
+from collections import OrderedDict
+from typing import Optional, Union
+import annotator.oneformer.pycocotools.mask as mask_util
+import torch
+from PIL import Image
+
+from annotator.oneformer.detectron2.data import DatasetCatalog, MetadataCatalog
+from annotator.oneformer.detectron2.utils.comm import all_gather, is_main_process, synchronize
+from annotator.oneformer.detectron2.utils.file_io import PathManager
+
+from .evaluator import DatasetEvaluator
+
+_CV2_IMPORTED = True
+try:
+ import cv2 # noqa
+except ImportError:
+ # OpenCV is an optional dependency at the moment
+ _CV2_IMPORTED = False
+
+
+def load_image_into_numpy_array(
+ filename: str,
+ copy: bool = False,
+ dtype: Optional[Union[np.dtype, str]] = None,
+) -> np.ndarray:
+ with PathManager.open(filename, "rb") as f:
+ array = np.array(Image.open(f), copy=copy, dtype=dtype)
+ return array
+
+
+class SemSegEvaluator(DatasetEvaluator):
+ """
+ Evaluate semantic segmentation metrics.
+ """
+
+ def __init__(
+ self,
+ dataset_name,
+ distributed=True,
+ output_dir=None,
+ *,
+ sem_seg_loading_fn=load_image_into_numpy_array,
+ num_classes=None,
+ ignore_label=None,
+ ):
+ """
+ Args:
+ dataset_name (str): name of the dataset to be evaluated.
+ distributed (bool): if True, will collect results from all ranks for evaluation.
+ Otherwise, will evaluate the results in the current process.
+ output_dir (str): an output directory to dump results.
+ sem_seg_loading_fn: function to read sem seg file and load into numpy array.
+ Default provided, but projects can customize.
+ num_classes, ignore_label: deprecated argument
+ """
+ self._logger = logging.getLogger(__name__)
+ if num_classes is not None:
+ self._logger.warn(
+ "SemSegEvaluator(num_classes) is deprecated! It should be obtained from metadata."
+ )
+ if ignore_label is not None:
+ self._logger.warn(
+ "SemSegEvaluator(ignore_label) is deprecated! It should be obtained from metadata."
+ )
+ self._dataset_name = dataset_name
+ self._distributed = distributed
+ self._output_dir = output_dir
+
+ self._cpu_device = torch.device("cpu")
+
+ self.input_file_to_gt_file = {
+ dataset_record["file_name"]: dataset_record["sem_seg_file_name"]
+ for dataset_record in DatasetCatalog.get(dataset_name)
+ }
+
+ meta = MetadataCatalog.get(dataset_name)
+ # Dict that maps contiguous training ids to COCO category ids
+ try:
+ c2d = meta.stuff_dataset_id_to_contiguous_id
+ self._contiguous_id_to_dataset_id = {v: k for k, v in c2d.items()}
+ except AttributeError:
+ self._contiguous_id_to_dataset_id = None
+ self._class_names = meta.stuff_classes
+ self.sem_seg_loading_fn = sem_seg_loading_fn
+ self._num_classes = len(meta.stuff_classes)
+ if num_classes is not None:
+ assert self._num_classes == num_classes, f"{self._num_classes} != {num_classes}"
+ self._ignore_label = ignore_label if ignore_label is not None else meta.ignore_label
+
+ # This is because cv2.erode did not work for int datatype. Only works for uint8.
+ self._compute_boundary_iou = True
+ if not _CV2_IMPORTED:
+ self._compute_boundary_iou = False
+ self._logger.warn(
+ """Boundary IoU calculation requires OpenCV. B-IoU metrics are
+ not going to be computed because OpenCV is not available to import."""
+ )
+ if self._num_classes >= np.iinfo(np.uint8).max:
+ self._compute_boundary_iou = False
+ self._logger.warn(
+ f"""SemSegEvaluator(num_classes) is more than supported value for Boundary IoU calculation!
+ B-IoU metrics are not going to be computed. Max allowed value (exclusive)
+ for num_classes for calculating Boundary IoU is {np.iinfo(np.uint8).max}.
+ The number of classes of dataset {self._dataset_name} is {self._num_classes}"""
+ )
+
+ def reset(self):
+ self._conf_matrix = np.zeros((self._num_classes + 1, self._num_classes + 1), dtype=np.int64)
+ self._b_conf_matrix = np.zeros(
+ (self._num_classes + 1, self._num_classes + 1), dtype=np.int64
+ )
+ self._predictions = []
+
+ def process(self, inputs, outputs):
+ """
+ Args:
+ inputs: the inputs to a model.
+ It is a list of dicts. Each dict corresponds to an image and
+ contains keys like "height", "width", "file_name".
+ outputs: the outputs of a model. It is either list of semantic segmentation predictions
+ (Tensor [H, W]) or list of dicts with key "sem_seg" that contains semantic
+ segmentation prediction in the same format.
+ """
+ for input, output in zip(inputs, outputs):
+ output = output["sem_seg"].argmax(dim=0).to(self._cpu_device)
+ pred = np.array(output, dtype=np.int)
+ gt_filename = self.input_file_to_gt_file[input["file_name"]]
+ gt = self.sem_seg_loading_fn(gt_filename, dtype=np.int)
+
+ gt[gt == self._ignore_label] = self._num_classes
+
+ self._conf_matrix += np.bincount(
+ (self._num_classes + 1) * pred.reshape(-1) + gt.reshape(-1),
+ minlength=self._conf_matrix.size,
+ ).reshape(self._conf_matrix.shape)
+
+ if self._compute_boundary_iou:
+ b_gt = self._mask_to_boundary(gt.astype(np.uint8))
+ b_pred = self._mask_to_boundary(pred.astype(np.uint8))
+
+ self._b_conf_matrix += np.bincount(
+ (self._num_classes + 1) * b_pred.reshape(-1) + b_gt.reshape(-1),
+ minlength=self._conf_matrix.size,
+ ).reshape(self._conf_matrix.shape)
+
+ self._predictions.extend(self.encode_json_sem_seg(pred, input["file_name"]))
+
+ def evaluate(self):
+ """
+ Evaluates standard semantic segmentation metrics (http://cocodataset.org/#stuff-eval):
+
+ * Mean intersection-over-union averaged across classes (mIoU)
+ * Frequency Weighted IoU (fwIoU)
+ * Mean pixel accuracy averaged across classes (mACC)
+ * Pixel Accuracy (pACC)
+ """
+ if self._distributed:
+ synchronize()
+ conf_matrix_list = all_gather(self._conf_matrix)
+ b_conf_matrix_list = all_gather(self._b_conf_matrix)
+ self._predictions = all_gather(self._predictions)
+ self._predictions = list(itertools.chain(*self._predictions))
+ if not is_main_process():
+ return
+
+ self._conf_matrix = np.zeros_like(self._conf_matrix)
+ for conf_matrix in conf_matrix_list:
+ self._conf_matrix += conf_matrix
+
+ self._b_conf_matrix = np.zeros_like(self._b_conf_matrix)
+ for b_conf_matrix in b_conf_matrix_list:
+ self._b_conf_matrix += b_conf_matrix
+
+ if self._output_dir:
+ PathManager.mkdirs(self._output_dir)
+ file_path = os.path.join(self._output_dir, "sem_seg_predictions.json")
+ with PathManager.open(file_path, "w") as f:
+ f.write(json.dumps(self._predictions))
+
+ acc = np.full(self._num_classes, np.nan, dtype=np.float)
+ iou = np.full(self._num_classes, np.nan, dtype=np.float)
+ tp = self._conf_matrix.diagonal()[:-1].astype(np.float)
+ pos_gt = np.sum(self._conf_matrix[:-1, :-1], axis=0).astype(np.float)
+ class_weights = pos_gt / np.sum(pos_gt)
+ pos_pred = np.sum(self._conf_matrix[:-1, :-1], axis=1).astype(np.float)
+ acc_valid = pos_gt > 0
+ acc[acc_valid] = tp[acc_valid] / pos_gt[acc_valid]
+ union = pos_gt + pos_pred - tp
+ iou_valid = np.logical_and(acc_valid, union > 0)
+ iou[iou_valid] = tp[iou_valid] / union[iou_valid]
+ macc = np.sum(acc[acc_valid]) / np.sum(acc_valid)
+ miou = np.sum(iou[iou_valid]) / np.sum(iou_valid)
+ fiou = np.sum(iou[iou_valid] * class_weights[iou_valid])
+ pacc = np.sum(tp) / np.sum(pos_gt)
+
+ if self._compute_boundary_iou:
+ b_iou = np.full(self._num_classes, np.nan, dtype=np.float)
+ b_tp = self._b_conf_matrix.diagonal()[:-1].astype(np.float)
+ b_pos_gt = np.sum(self._b_conf_matrix[:-1, :-1], axis=0).astype(np.float)
+ b_pos_pred = np.sum(self._b_conf_matrix[:-1, :-1], axis=1).astype(np.float)
+ b_union = b_pos_gt + b_pos_pred - b_tp
+ b_iou_valid = b_union > 0
+ b_iou[b_iou_valid] = b_tp[b_iou_valid] / b_union[b_iou_valid]
+
+ res = {}
+ res["mIoU"] = 100 * miou
+ res["fwIoU"] = 100 * fiou
+ for i, name in enumerate(self._class_names):
+ res[f"IoU-{name}"] = 100 * iou[i]
+ if self._compute_boundary_iou:
+ res[f"BoundaryIoU-{name}"] = 100 * b_iou[i]
+ res[f"min(IoU, B-Iou)-{name}"] = 100 * min(iou[i], b_iou[i])
+ res["mACC"] = 100 * macc
+ res["pACC"] = 100 * pacc
+ for i, name in enumerate(self._class_names):
+ res[f"ACC-{name}"] = 100 * acc[i]
+
+ if self._output_dir:
+ file_path = os.path.join(self._output_dir, "sem_seg_evaluation.pth")
+ with PathManager.open(file_path, "wb") as f:
+ torch.save(res, f)
+ results = OrderedDict({"sem_seg": res})
+ self._logger.info(results)
+ return results
+
+ def encode_json_sem_seg(self, sem_seg, input_file_name):
+ """
+ Convert semantic segmentation to COCO stuff format with segments encoded as RLEs.
+ See http://cocodataset.org/#format-results
+ """
+ json_list = []
+ for label in np.unique(sem_seg):
+ if self._contiguous_id_to_dataset_id is not None:
+ assert (
+ label in self._contiguous_id_to_dataset_id
+ ), "Label {} is not in the metadata info for {}".format(label, self._dataset_name)
+ dataset_id = self._contiguous_id_to_dataset_id[label]
+ else:
+ dataset_id = int(label)
+ mask = (sem_seg == label).astype(np.uint8)
+ mask_rle = mask_util.encode(np.array(mask[:, :, None], order="F"))[0]
+ mask_rle["counts"] = mask_rle["counts"].decode("utf-8")
+ json_list.append(
+ {"file_name": input_file_name, "category_id": dataset_id, "segmentation": mask_rle}
+ )
+ return json_list
+
+ def _mask_to_boundary(self, mask: np.ndarray, dilation_ratio=0.02):
+ assert mask.ndim == 2, "mask_to_boundary expects a 2-dimensional image"
+ h, w = mask.shape
+ diag_len = np.sqrt(h**2 + w**2)
+ dilation = max(1, int(round(dilation_ratio * diag_len)))
+ kernel = np.ones((3, 3), dtype=np.uint8)
+
+ padded_mask = cv2.copyMakeBorder(mask, 1, 1, 1, 1, cv2.BORDER_CONSTANT, value=0)
+ eroded_mask_with_padding = cv2.erode(padded_mask, kernel, iterations=dilation)
+ eroded_mask = eroded_mask_with_padding[1:-1, 1:-1]
+ boundary = mask - eroded_mask
+ return boundary
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/evaluation/testing.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/evaluation/testing.py
new file mode 100644
index 0000000000000000000000000000000000000000..9e5ae625bb0593fc20739dd3ea549157e4df4f3d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/evaluation/testing.py
@@ -0,0 +1,85 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+import logging
+import numpy as np
+import pprint
+import sys
+from collections.abc import Mapping
+
+
+def print_csv_format(results):
+ """
+ Print main metrics in a format similar to Detectron,
+ so that they are easy to copypaste into a spreadsheet.
+
+ Args:
+ results (OrderedDict[dict]): task_name -> {metric -> score}
+ unordered dict can also be printed, but in arbitrary order
+ """
+ assert isinstance(results, Mapping) or not len(results), results
+ logger = logging.getLogger(__name__)
+ for task, res in results.items():
+ if isinstance(res, Mapping):
+ # Don't print "AP-category" metrics since they are usually not tracked.
+ important_res = [(k, v) for k, v in res.items() if "-" not in k]
+ logger.info("copypaste: Task: {}".format(task))
+ logger.info("copypaste: " + ",".join([k[0] for k in important_res]))
+ logger.info("copypaste: " + ",".join(["{0:.4f}".format(k[1]) for k in important_res]))
+ else:
+ logger.info(f"copypaste: {task}={res}")
+
+
+def verify_results(cfg, results):
+ """
+ Args:
+ results (OrderedDict[dict]): task_name -> {metric -> score}
+
+ Returns:
+ bool: whether the verification succeeds or not
+ """
+ expected_results = cfg.TEST.EXPECTED_RESULTS
+ if not len(expected_results):
+ return True
+
+ ok = True
+ for task, metric, expected, tolerance in expected_results:
+ actual = results[task].get(metric, None)
+ if actual is None:
+ ok = False
+ continue
+ if not np.isfinite(actual):
+ ok = False
+ continue
+ diff = abs(actual - expected)
+ if diff > tolerance:
+ ok = False
+
+ logger = logging.getLogger(__name__)
+ if not ok:
+ logger.error("Result verification failed!")
+ logger.error("Expected Results: " + str(expected_results))
+ logger.error("Actual Results: " + pprint.pformat(results))
+
+ sys.exit(1)
+ else:
+ logger.info("Results verification passed.")
+ return ok
+
+
+def flatten_results_dict(results):
+ """
+ Expand a hierarchical dict of scalars into a flat dict of scalars.
+ If results[k1][k2][k3] = v, the returned dict will have the entry
+ {"k1/k2/k3": v}.
+
+ Args:
+ results (dict):
+ """
+ r = {}
+ for k, v in results.items():
+ if isinstance(v, Mapping):
+ v = flatten_results_dict(v)
+ for kk, vv in v.items():
+ r[k + "/" + kk] = vv
+ else:
+ r[k] = v
+ return r
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/export/README.md b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/export/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..c86ff62516f4e8e4b1a6c1f33f11192933cf3861
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/export/README.md
@@ -0,0 +1,15 @@
+
+This directory contains code to prepare a detectron2 model for deployment.
+Currently it supports exporting a detectron2 model to TorchScript, ONNX, or (deprecated) Caffe2 format.
+
+Please see [documentation](https://detectron2.readthedocs.io/tutorials/deployment.html) for its usage.
+
+
+### Acknowledgements
+
+Thanks to Mobile Vision team at Facebook for developing the Caffe2 conversion tools.
+
+Thanks to Computing Platform Department - PAI team at Alibaba Group (@bddpqq, @chenbohua3) who
+help export Detectron2 models to TorchScript.
+
+Thanks to ONNX Converter team at Microsoft who help export Detectron2 models to ONNX.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/export/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/export/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..5a58758f64aae6071fa688be4400622ce6036efa
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/export/__init__.py
@@ -0,0 +1,30 @@
+# -*- coding: utf-8 -*-
+
+import warnings
+
+from .flatten import TracingAdapter
+from .torchscript import dump_torchscript_IR, scripting_with_instances
+
+try:
+ from caffe2.proto import caffe2_pb2 as _tmp
+ from caffe2.python import core
+
+ # caffe2 is optional
+except ImportError:
+ pass
+else:
+ from .api import *
+
+
+# TODO: Update ONNX Opset version and run tests when a newer PyTorch is supported
+STABLE_ONNX_OPSET_VERSION = 11
+
+
+def add_export_config(cfg):
+ warnings.warn(
+ "add_export_config has been deprecated and behaves as no-op function.", DeprecationWarning
+ )
+ return cfg
+
+
+__all__ = [k for k in globals().keys() if not k.startswith("_")]
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/export/api.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/export/api.py
new file mode 100644
index 0000000000000000000000000000000000000000..cf1a27a4806ca83d97f5cd8c27726ec29f4e7e50
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/export/api.py
@@ -0,0 +1,230 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+import copy
+import logging
+import os
+import torch
+from caffe2.proto import caffe2_pb2
+from torch import nn
+
+from annotator.oneformer.detectron2.config import CfgNode
+from annotator.oneformer.detectron2.utils.file_io import PathManager
+
+from .caffe2_inference import ProtobufDetectionModel
+from .caffe2_modeling import META_ARCH_CAFFE2_EXPORT_TYPE_MAP, convert_batched_inputs_to_c2_format
+from .shared import get_pb_arg_vali, get_pb_arg_vals, save_graph
+
+__all__ = [
+ "Caffe2Model",
+ "Caffe2Tracer",
+]
+
+
+class Caffe2Tracer:
+ """
+ Make a detectron2 model traceable with Caffe2 operators.
+ This class creates a traceable version of a detectron2 model which:
+
+ 1. Rewrite parts of the model using ops in Caffe2. Note that some ops do
+ not have GPU implementation in Caffe2.
+ 2. Remove post-processing and only produce raw layer outputs
+
+ After making a traceable model, the class provide methods to export such a
+ model to different deployment formats.
+ Exported graph produced by this class take two input tensors:
+
+ 1. (1, C, H, W) float "data" which is an image (usually in [0, 255]).
+ (H, W) often has to be padded to multiple of 32 (depend on the model
+ architecture).
+ 2. 1x3 float "im_info", each row of which is (height, width, 1.0).
+ Height and width are true image shapes before padding.
+
+ The class currently only supports models using builtin meta architectures.
+ Batch inference is not supported, and contributions are welcome.
+ """
+
+ def __init__(self, cfg: CfgNode, model: nn.Module, inputs):
+ """
+ Args:
+ cfg (CfgNode): a detectron2 config used to construct caffe2-compatible model.
+ model (nn.Module): An original pytorch model. Must be among a few official models
+ in detectron2 that can be converted to become caffe2-compatible automatically.
+ Weights have to be already loaded to this model.
+ inputs: sample inputs that the given model takes for inference.
+ Will be used to trace the model. For most models, random inputs with
+ no detected objects will not work as they lead to wrong traces.
+ """
+ assert isinstance(cfg, CfgNode), cfg
+ assert isinstance(model, torch.nn.Module), type(model)
+
+ # TODO make it support custom models, by passing in c2 model directly
+ C2MetaArch = META_ARCH_CAFFE2_EXPORT_TYPE_MAP[cfg.MODEL.META_ARCHITECTURE]
+ self.traceable_model = C2MetaArch(cfg, copy.deepcopy(model))
+ self.inputs = inputs
+ self.traceable_inputs = self.traceable_model.get_caffe2_inputs(inputs)
+
+ def export_caffe2(self):
+ """
+ Export the model to Caffe2's protobuf format.
+ The returned object can be saved with its :meth:`.save_protobuf()` method.
+ The result can be loaded and executed using Caffe2 runtime.
+
+ Returns:
+ :class:`Caffe2Model`
+ """
+ from .caffe2_export import export_caffe2_detection_model
+
+ predict_net, init_net = export_caffe2_detection_model(
+ self.traceable_model, self.traceable_inputs
+ )
+ return Caffe2Model(predict_net, init_net)
+
+ def export_onnx(self):
+ """
+ Export the model to ONNX format.
+ Note that the exported model contains custom ops only available in caffe2, therefore it
+ cannot be directly executed by other runtime (such as onnxruntime or TensorRT).
+ Post-processing or transformation passes may be applied on the model to accommodate
+ different runtimes, but we currently do not provide support for them.
+
+ Returns:
+ onnx.ModelProto: an onnx model.
+ """
+ from .caffe2_export import export_onnx_model as export_onnx_model_impl
+
+ return export_onnx_model_impl(self.traceable_model, (self.traceable_inputs,))
+
+ def export_torchscript(self):
+ """
+ Export the model to a ``torch.jit.TracedModule`` by tracing.
+ The returned object can be saved to a file by ``.save()``.
+
+ Returns:
+ torch.jit.TracedModule: a torch TracedModule
+ """
+ logger = logging.getLogger(__name__)
+ logger.info("Tracing the model with torch.jit.trace ...")
+ with torch.no_grad():
+ return torch.jit.trace(self.traceable_model, (self.traceable_inputs,))
+
+
+class Caffe2Model(nn.Module):
+ """
+ A wrapper around the traced model in Caffe2's protobuf format.
+ The exported graph has different inputs/outputs from the original Pytorch
+ model, as explained in :class:`Caffe2Tracer`. This class wraps around the
+ exported graph to simulate the same interface as the original Pytorch model.
+ It also provides functions to save/load models in Caffe2's format.'
+
+ Examples:
+ ::
+ c2_model = Caffe2Tracer(cfg, torch_model, inputs).export_caffe2()
+ inputs = [{"image": img_tensor_CHW}]
+ outputs = c2_model(inputs)
+ orig_outputs = torch_model(inputs)
+ """
+
+ def __init__(self, predict_net, init_net):
+ super().__init__()
+ self.eval() # always in eval mode
+ self._predict_net = predict_net
+ self._init_net = init_net
+ self._predictor = None
+
+ __init__.__HIDE_SPHINX_DOC__ = True
+
+ @property
+ def predict_net(self):
+ """
+ caffe2.core.Net: the underlying caffe2 predict net
+ """
+ return self._predict_net
+
+ @property
+ def init_net(self):
+ """
+ caffe2.core.Net: the underlying caffe2 init net
+ """
+ return self._init_net
+
+ def save_protobuf(self, output_dir):
+ """
+ Save the model as caffe2's protobuf format.
+ It saves the following files:
+
+ * "model.pb": definition of the graph. Can be visualized with
+ tools like `netron `_.
+ * "model_init.pb": model parameters
+ * "model.pbtxt": human-readable definition of the graph. Not
+ needed for deployment.
+
+ Args:
+ output_dir (str): the output directory to save protobuf files.
+ """
+ logger = logging.getLogger(__name__)
+ logger.info("Saving model to {} ...".format(output_dir))
+ if not PathManager.exists(output_dir):
+ PathManager.mkdirs(output_dir)
+
+ with PathManager.open(os.path.join(output_dir, "model.pb"), "wb") as f:
+ f.write(self._predict_net.SerializeToString())
+ with PathManager.open(os.path.join(output_dir, "model.pbtxt"), "w") as f:
+ f.write(str(self._predict_net))
+ with PathManager.open(os.path.join(output_dir, "model_init.pb"), "wb") as f:
+ f.write(self._init_net.SerializeToString())
+
+ def save_graph(self, output_file, inputs=None):
+ """
+ Save the graph as SVG format.
+
+ Args:
+ output_file (str): a SVG file
+ inputs: optional inputs given to the model.
+ If given, the inputs will be used to run the graph to record
+ shape of every tensor. The shape information will be
+ saved together with the graph.
+ """
+ from .caffe2_export import run_and_save_graph
+
+ if inputs is None:
+ save_graph(self._predict_net, output_file, op_only=False)
+ else:
+ size_divisibility = get_pb_arg_vali(self._predict_net, "size_divisibility", 0)
+ device = get_pb_arg_vals(self._predict_net, "device", b"cpu").decode("ascii")
+ inputs = convert_batched_inputs_to_c2_format(inputs, size_divisibility, device)
+ inputs = [x.cpu().numpy() for x in inputs]
+ run_and_save_graph(self._predict_net, self._init_net, inputs, output_file)
+
+ @staticmethod
+ def load_protobuf(dir):
+ """
+ Args:
+ dir (str): a directory used to save Caffe2Model with
+ :meth:`save_protobuf`.
+ The files "model.pb" and "model_init.pb" are needed.
+
+ Returns:
+ Caffe2Model: the caffe2 model loaded from this directory.
+ """
+ predict_net = caffe2_pb2.NetDef()
+ with PathManager.open(os.path.join(dir, "model.pb"), "rb") as f:
+ predict_net.ParseFromString(f.read())
+
+ init_net = caffe2_pb2.NetDef()
+ with PathManager.open(os.path.join(dir, "model_init.pb"), "rb") as f:
+ init_net.ParseFromString(f.read())
+
+ return Caffe2Model(predict_net, init_net)
+
+ def __call__(self, inputs):
+ """
+ An interface that wraps around a Caffe2 model and mimics detectron2's models'
+ input/output format. See details about the format at :doc:`/tutorials/models`.
+ This is used to compare the outputs of caffe2 model with its original torch model.
+
+ Due to the extra conversion between Pytorch/Caffe2, this method is not meant for
+ benchmark. Because of the conversion, this method also has dependency
+ on detectron2 in order to convert to detectron2's output format.
+ """
+ if self._predictor is None:
+ self._predictor = ProtobufDetectionModel(self._predict_net, self._init_net)
+ return self._predictor(inputs)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/export/c10.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/export/c10.py
new file mode 100644
index 0000000000000000000000000000000000000000..fde3fb71189e6f1061e83b878bfdd16add7d8350
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/export/c10.py
@@ -0,0 +1,557 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+
+import math
+from typing import Dict
+import torch
+import torch.nn.functional as F
+
+from annotator.oneformer.detectron2.layers import ShapeSpec, cat
+from annotator.oneformer.detectron2.layers.roi_align_rotated import ROIAlignRotated
+from annotator.oneformer.detectron2.modeling import poolers
+from annotator.oneformer.detectron2.modeling.proposal_generator import rpn
+from annotator.oneformer.detectron2.modeling.roi_heads.mask_head import mask_rcnn_inference
+from annotator.oneformer.detectron2.structures import Boxes, ImageList, Instances, Keypoints, RotatedBoxes
+
+from .shared import alias, to_device
+
+
+"""
+This file contains caffe2-compatible implementation of several detectron2 components.
+"""
+
+
+class Caffe2Boxes(Boxes):
+ """
+ Representing a list of detectron2.structures.Boxes from minibatch, each box
+ is represented by a 5d vector (batch index + 4 coordinates), or a 6d vector
+ (batch index + 5 coordinates) for RotatedBoxes.
+ """
+
+ def __init__(self, tensor):
+ assert isinstance(tensor, torch.Tensor)
+ assert tensor.dim() == 2 and tensor.size(-1) in [4, 5, 6], tensor.size()
+ # TODO: make tensor immutable when dim is Nx5 for Boxes,
+ # and Nx6 for RotatedBoxes?
+ self.tensor = tensor
+
+
+# TODO clean up this class, maybe just extend Instances
+class InstancesList(object):
+ """
+ Tensor representation of a list of Instances object for a batch of images.
+
+ When dealing with a batch of images with Caffe2 ops, a list of bboxes
+ (instances) are usually represented by single Tensor with size
+ (sigma(Ni), 5) or (sigma(Ni), 4) plus a batch split Tensor. This class is
+ for providing common functions to convert between these two representations.
+ """
+
+ def __init__(self, im_info, indices, extra_fields=None):
+ # [N, 3] -> (H, W, Scale)
+ self.im_info = im_info
+ # [N,] -> indice of batch to which the instance belongs
+ self.indices = indices
+ # [N, ...]
+ self.batch_extra_fields = extra_fields or {}
+
+ self.image_size = self.im_info
+
+ def get_fields(self):
+ """like `get_fields` in the Instances object,
+ but return each field in tensor representations"""
+ ret = {}
+ for k, v in self.batch_extra_fields.items():
+ # if isinstance(v, torch.Tensor):
+ # tensor_rep = v
+ # elif isinstance(v, (Boxes, Keypoints)):
+ # tensor_rep = v.tensor
+ # else:
+ # raise ValueError("Can't find tensor representation for: {}".format())
+ ret[k] = v
+ return ret
+
+ def has(self, name):
+ return name in self.batch_extra_fields
+
+ def set(self, name, value):
+ # len(tensor) is a bad practice that generates ONNX constants during tracing.
+ # Although not a problem for the `assert` statement below, torch ONNX exporter
+ # still raises a misleading warning as it does not this call comes from `assert`
+ if isinstance(value, Boxes):
+ data_len = value.tensor.shape[0]
+ elif isinstance(value, torch.Tensor):
+ data_len = value.shape[0]
+ else:
+ data_len = len(value)
+ if len(self.batch_extra_fields):
+ assert (
+ len(self) == data_len
+ ), "Adding a field of length {} to a Instances of length {}".format(data_len, len(self))
+ self.batch_extra_fields[name] = value
+
+ def __getattr__(self, name):
+ if name not in self.batch_extra_fields:
+ raise AttributeError("Cannot find field '{}' in the given Instances!".format(name))
+ return self.batch_extra_fields[name]
+
+ def __len__(self):
+ return len(self.indices)
+
+ def flatten(self):
+ ret = []
+ for _, v in self.batch_extra_fields.items():
+ if isinstance(v, (Boxes, Keypoints)):
+ ret.append(v.tensor)
+ else:
+ ret.append(v)
+ return ret
+
+ @staticmethod
+ def to_d2_instances_list(instances_list):
+ """
+ Convert InstancesList to List[Instances]. The input `instances_list` can
+ also be a List[Instances], in this case this method is a non-op.
+ """
+ if not isinstance(instances_list, InstancesList):
+ assert all(isinstance(x, Instances) for x in instances_list)
+ return instances_list
+
+ ret = []
+ for i, info in enumerate(instances_list.im_info):
+ instances = Instances(torch.Size([int(info[0].item()), int(info[1].item())]))
+
+ ids = instances_list.indices == i
+ for k, v in instances_list.batch_extra_fields.items():
+ if isinstance(v, torch.Tensor):
+ instances.set(k, v[ids])
+ continue
+ elif isinstance(v, Boxes):
+ instances.set(k, v[ids, -4:])
+ continue
+
+ target_type, tensor_source = v
+ assert isinstance(tensor_source, torch.Tensor)
+ assert tensor_source.shape[0] == instances_list.indices.shape[0]
+ tensor_source = tensor_source[ids]
+
+ if issubclass(target_type, Boxes):
+ instances.set(k, Boxes(tensor_source[:, -4:]))
+ elif issubclass(target_type, Keypoints):
+ instances.set(k, Keypoints(tensor_source))
+ elif issubclass(target_type, torch.Tensor):
+ instances.set(k, tensor_source)
+ else:
+ raise ValueError("Can't handle targe type: {}".format(target_type))
+
+ ret.append(instances)
+ return ret
+
+
+class Caffe2Compatible(object):
+ """
+ A model can inherit this class to indicate that it can be traced and deployed with caffe2.
+ """
+
+ def _get_tensor_mode(self):
+ return self._tensor_mode
+
+ def _set_tensor_mode(self, v):
+ self._tensor_mode = v
+
+ tensor_mode = property(_get_tensor_mode, _set_tensor_mode)
+ """
+ If true, the model expects C2-style tensor only inputs/outputs format.
+ """
+
+
+class Caffe2RPN(Caffe2Compatible, rpn.RPN):
+ @classmethod
+ def from_config(cls, cfg, input_shape: Dict[str, ShapeSpec]):
+ ret = super(Caffe2Compatible, cls).from_config(cfg, input_shape)
+ assert tuple(cfg.MODEL.RPN.BBOX_REG_WEIGHTS) == (1.0, 1.0, 1.0, 1.0) or tuple(
+ cfg.MODEL.RPN.BBOX_REG_WEIGHTS
+ ) == (1.0, 1.0, 1.0, 1.0, 1.0)
+ return ret
+
+ def _generate_proposals(
+ self, images, objectness_logits_pred, anchor_deltas_pred, gt_instances=None
+ ):
+ assert isinstance(images, ImageList)
+ if self.tensor_mode:
+ im_info = images.image_sizes
+ else:
+ im_info = torch.tensor([[im_sz[0], im_sz[1], 1.0] for im_sz in images.image_sizes]).to(
+ images.tensor.device
+ )
+ assert isinstance(im_info, torch.Tensor)
+
+ rpn_rois_list = []
+ rpn_roi_probs_list = []
+ for scores, bbox_deltas, cell_anchors_tensor, feat_stride in zip(
+ objectness_logits_pred,
+ anchor_deltas_pred,
+ [b for (n, b) in self.anchor_generator.cell_anchors.named_buffers()],
+ self.anchor_generator.strides,
+ ):
+ scores = scores.detach()
+ bbox_deltas = bbox_deltas.detach()
+
+ rpn_rois, rpn_roi_probs = torch.ops._caffe2.GenerateProposals(
+ scores,
+ bbox_deltas,
+ im_info,
+ cell_anchors_tensor,
+ spatial_scale=1.0 / feat_stride,
+ pre_nms_topN=self.pre_nms_topk[self.training],
+ post_nms_topN=self.post_nms_topk[self.training],
+ nms_thresh=self.nms_thresh,
+ min_size=self.min_box_size,
+ # correct_transform_coords=True, # deprecated argument
+ angle_bound_on=True, # Default
+ angle_bound_lo=-180,
+ angle_bound_hi=180,
+ clip_angle_thresh=1.0, # Default
+ legacy_plus_one=False,
+ )
+ rpn_rois_list.append(rpn_rois)
+ rpn_roi_probs_list.append(rpn_roi_probs)
+
+ # For FPN in D2, in RPN all proposals from different levels are concated
+ # together, ranked and picked by top post_nms_topk. Then in ROIPooler
+ # it calculates level_assignments and calls the RoIAlign from
+ # the corresponding level.
+
+ if len(objectness_logits_pred) == 1:
+ rpn_rois = rpn_rois_list[0]
+ rpn_roi_probs = rpn_roi_probs_list[0]
+ else:
+ assert len(rpn_rois_list) == len(rpn_roi_probs_list)
+ rpn_post_nms_topN = self.post_nms_topk[self.training]
+
+ device = rpn_rois_list[0].device
+ input_list = [to_device(x, "cpu") for x in (rpn_rois_list + rpn_roi_probs_list)]
+
+ # TODO remove this after confirming rpn_max_level/rpn_min_level
+ # is not needed in CollectRpnProposals.
+ feature_strides = list(self.anchor_generator.strides)
+ rpn_min_level = int(math.log2(feature_strides[0]))
+ rpn_max_level = int(math.log2(feature_strides[-1]))
+ assert (rpn_max_level - rpn_min_level + 1) == len(
+ rpn_rois_list
+ ), "CollectRpnProposals requires continuous levels"
+
+ rpn_rois = torch.ops._caffe2.CollectRpnProposals(
+ input_list,
+ # NOTE: in current implementation, rpn_max_level and rpn_min_level
+ # are not needed, only the subtraction of two matters and it
+ # can be infer from the number of inputs. Keep them now for
+ # consistency.
+ rpn_max_level=2 + len(rpn_rois_list) - 1,
+ rpn_min_level=2,
+ rpn_post_nms_topN=rpn_post_nms_topN,
+ )
+ rpn_rois = to_device(rpn_rois, device)
+ rpn_roi_probs = []
+
+ proposals = self.c2_postprocess(im_info, rpn_rois, rpn_roi_probs, self.tensor_mode)
+ return proposals, {}
+
+ def forward(self, images, features, gt_instances=None):
+ assert not self.training
+ features = [features[f] for f in self.in_features]
+ objectness_logits_pred, anchor_deltas_pred = self.rpn_head(features)
+ return self._generate_proposals(
+ images,
+ objectness_logits_pred,
+ anchor_deltas_pred,
+ gt_instances,
+ )
+
+ @staticmethod
+ def c2_postprocess(im_info, rpn_rois, rpn_roi_probs, tensor_mode):
+ proposals = InstancesList(
+ im_info=im_info,
+ indices=rpn_rois[:, 0],
+ extra_fields={
+ "proposal_boxes": Caffe2Boxes(rpn_rois),
+ "objectness_logits": (torch.Tensor, rpn_roi_probs),
+ },
+ )
+ if not tensor_mode:
+ proposals = InstancesList.to_d2_instances_list(proposals)
+ else:
+ proposals = [proposals]
+ return proposals
+
+
+class Caffe2ROIPooler(Caffe2Compatible, poolers.ROIPooler):
+ @staticmethod
+ def c2_preprocess(box_lists):
+ assert all(isinstance(x, Boxes) for x in box_lists)
+ if all(isinstance(x, Caffe2Boxes) for x in box_lists):
+ # input is pure-tensor based
+ assert len(box_lists) == 1
+ pooler_fmt_boxes = box_lists[0].tensor
+ else:
+ pooler_fmt_boxes = poolers.convert_boxes_to_pooler_format(box_lists)
+ return pooler_fmt_boxes
+
+ def forward(self, x, box_lists):
+ assert not self.training
+
+ pooler_fmt_boxes = self.c2_preprocess(box_lists)
+ num_level_assignments = len(self.level_poolers)
+
+ if num_level_assignments == 1:
+ if isinstance(self.level_poolers[0], ROIAlignRotated):
+ c2_roi_align = torch.ops._caffe2.RoIAlignRotated
+ aligned = True
+ else:
+ c2_roi_align = torch.ops._caffe2.RoIAlign
+ aligned = self.level_poolers[0].aligned
+
+ x0 = x[0]
+ if x0.is_quantized:
+ x0 = x0.dequantize()
+
+ out = c2_roi_align(
+ x0,
+ pooler_fmt_boxes,
+ order="NCHW",
+ spatial_scale=float(self.level_poolers[0].spatial_scale),
+ pooled_h=int(self.output_size[0]),
+ pooled_w=int(self.output_size[1]),
+ sampling_ratio=int(self.level_poolers[0].sampling_ratio),
+ aligned=aligned,
+ )
+ return out
+
+ device = pooler_fmt_boxes.device
+ assert (
+ self.max_level - self.min_level + 1 == 4
+ ), "Currently DistributeFpnProposals only support 4 levels"
+ fpn_outputs = torch.ops._caffe2.DistributeFpnProposals(
+ to_device(pooler_fmt_boxes, "cpu"),
+ roi_canonical_scale=self.canonical_box_size,
+ roi_canonical_level=self.canonical_level,
+ roi_max_level=self.max_level,
+ roi_min_level=self.min_level,
+ legacy_plus_one=False,
+ )
+ fpn_outputs = [to_device(x, device) for x in fpn_outputs]
+
+ rois_fpn_list = fpn_outputs[:-1]
+ rois_idx_restore_int32 = fpn_outputs[-1]
+
+ roi_feat_fpn_list = []
+ for roi_fpn, x_level, pooler in zip(rois_fpn_list, x, self.level_poolers):
+ if isinstance(pooler, ROIAlignRotated):
+ c2_roi_align = torch.ops._caffe2.RoIAlignRotated
+ aligned = True
+ else:
+ c2_roi_align = torch.ops._caffe2.RoIAlign
+ aligned = bool(pooler.aligned)
+
+ if x_level.is_quantized:
+ x_level = x_level.dequantize()
+
+ roi_feat_fpn = c2_roi_align(
+ x_level,
+ roi_fpn,
+ order="NCHW",
+ spatial_scale=float(pooler.spatial_scale),
+ pooled_h=int(self.output_size[0]),
+ pooled_w=int(self.output_size[1]),
+ sampling_ratio=int(pooler.sampling_ratio),
+ aligned=aligned,
+ )
+ roi_feat_fpn_list.append(roi_feat_fpn)
+
+ roi_feat_shuffled = cat(roi_feat_fpn_list, dim=0)
+ assert roi_feat_shuffled.numel() > 0 and rois_idx_restore_int32.numel() > 0, (
+ "Caffe2 export requires tracing with a model checkpoint + input that can produce valid"
+ " detections. But no detections were obtained with the given checkpoint and input!"
+ )
+ roi_feat = torch.ops._caffe2.BatchPermutation(roi_feat_shuffled, rois_idx_restore_int32)
+ return roi_feat
+
+
+class Caffe2FastRCNNOutputsInference:
+ def __init__(self, tensor_mode):
+ self.tensor_mode = tensor_mode # whether the output is caffe2 tensor mode
+
+ def __call__(self, box_predictor, predictions, proposals):
+ """equivalent to FastRCNNOutputLayers.inference"""
+ num_classes = box_predictor.num_classes
+ score_thresh = box_predictor.test_score_thresh
+ nms_thresh = box_predictor.test_nms_thresh
+ topk_per_image = box_predictor.test_topk_per_image
+ is_rotated = len(box_predictor.box2box_transform.weights) == 5
+
+ if is_rotated:
+ box_dim = 5
+ assert box_predictor.box2box_transform.weights[4] == 1, (
+ "The weights for Rotated BBoxTransform in C2 have only 4 dimensions,"
+ + " thus enforcing the angle weight to be 1 for now"
+ )
+ box2box_transform_weights = box_predictor.box2box_transform.weights[:4]
+ else:
+ box_dim = 4
+ box2box_transform_weights = box_predictor.box2box_transform.weights
+
+ class_logits, box_regression = predictions
+ if num_classes + 1 == class_logits.shape[1]:
+ class_prob = F.softmax(class_logits, -1)
+ else:
+ assert num_classes == class_logits.shape[1]
+ class_prob = F.sigmoid(class_logits)
+ # BoxWithNMSLimit will infer num_classes from the shape of the class_prob
+ # So append a zero column as placeholder for the background class
+ class_prob = torch.cat((class_prob, torch.zeros(class_prob.shape[0], 1)), dim=1)
+
+ assert box_regression.shape[1] % box_dim == 0
+ cls_agnostic_bbox_reg = box_regression.shape[1] // box_dim == 1
+
+ input_tensor_mode = proposals[0].proposal_boxes.tensor.shape[1] == box_dim + 1
+
+ proposal_boxes = proposals[0].proposal_boxes
+ if isinstance(proposal_boxes, Caffe2Boxes):
+ rois = Caffe2Boxes.cat([p.proposal_boxes for p in proposals])
+ elif isinstance(proposal_boxes, RotatedBoxes):
+ rois = RotatedBoxes.cat([p.proposal_boxes for p in proposals])
+ elif isinstance(proposal_boxes, Boxes):
+ rois = Boxes.cat([p.proposal_boxes for p in proposals])
+ else:
+ raise NotImplementedError(
+ 'Expected proposals[0].proposal_boxes to be type "Boxes", '
+ f"instead got {type(proposal_boxes)}"
+ )
+
+ device, dtype = rois.tensor.device, rois.tensor.dtype
+ if input_tensor_mode:
+ im_info = proposals[0].image_size
+ rois = rois.tensor
+ else:
+ im_info = torch.tensor(
+ [[sz[0], sz[1], 1.0] for sz in [x.image_size for x in proposals]]
+ )
+ batch_ids = cat(
+ [
+ torch.full((b, 1), i, dtype=dtype, device=device)
+ for i, b in enumerate(len(p) for p in proposals)
+ ],
+ dim=0,
+ )
+ rois = torch.cat([batch_ids, rois.tensor], dim=1)
+
+ roi_pred_bbox, roi_batch_splits = torch.ops._caffe2.BBoxTransform(
+ to_device(rois, "cpu"),
+ to_device(box_regression, "cpu"),
+ to_device(im_info, "cpu"),
+ weights=box2box_transform_weights,
+ apply_scale=True,
+ rotated=is_rotated,
+ angle_bound_on=True,
+ angle_bound_lo=-180,
+ angle_bound_hi=180,
+ clip_angle_thresh=1.0,
+ legacy_plus_one=False,
+ )
+ roi_pred_bbox = to_device(roi_pred_bbox, device)
+ roi_batch_splits = to_device(roi_batch_splits, device)
+
+ nms_outputs = torch.ops._caffe2.BoxWithNMSLimit(
+ to_device(class_prob, "cpu"),
+ to_device(roi_pred_bbox, "cpu"),
+ to_device(roi_batch_splits, "cpu"),
+ score_thresh=float(score_thresh),
+ nms=float(nms_thresh),
+ detections_per_im=int(topk_per_image),
+ soft_nms_enabled=False,
+ soft_nms_method="linear",
+ soft_nms_sigma=0.5,
+ soft_nms_min_score_thres=0.001,
+ rotated=is_rotated,
+ cls_agnostic_bbox_reg=cls_agnostic_bbox_reg,
+ input_boxes_include_bg_cls=False,
+ output_classes_include_bg_cls=False,
+ legacy_plus_one=False,
+ )
+ roi_score_nms = to_device(nms_outputs[0], device)
+ roi_bbox_nms = to_device(nms_outputs[1], device)
+ roi_class_nms = to_device(nms_outputs[2], device)
+ roi_batch_splits_nms = to_device(nms_outputs[3], device)
+ roi_keeps_nms = to_device(nms_outputs[4], device)
+ roi_keeps_size_nms = to_device(nms_outputs[5], device)
+ if not self.tensor_mode:
+ roi_class_nms = roi_class_nms.to(torch.int64)
+
+ roi_batch_ids = cat(
+ [
+ torch.full((b, 1), i, dtype=dtype, device=device)
+ for i, b in enumerate(int(x.item()) for x in roi_batch_splits_nms)
+ ],
+ dim=0,
+ )
+
+ roi_class_nms = alias(roi_class_nms, "class_nms")
+ roi_score_nms = alias(roi_score_nms, "score_nms")
+ roi_bbox_nms = alias(roi_bbox_nms, "bbox_nms")
+ roi_batch_splits_nms = alias(roi_batch_splits_nms, "batch_splits_nms")
+ roi_keeps_nms = alias(roi_keeps_nms, "keeps_nms")
+ roi_keeps_size_nms = alias(roi_keeps_size_nms, "keeps_size_nms")
+
+ results = InstancesList(
+ im_info=im_info,
+ indices=roi_batch_ids[:, 0],
+ extra_fields={
+ "pred_boxes": Caffe2Boxes(roi_bbox_nms),
+ "scores": roi_score_nms,
+ "pred_classes": roi_class_nms,
+ },
+ )
+
+ if not self.tensor_mode:
+ results = InstancesList.to_d2_instances_list(results)
+ batch_splits = roi_batch_splits_nms.int().tolist()
+ kept_indices = list(roi_keeps_nms.to(torch.int64).split(batch_splits))
+ else:
+ results = [results]
+ kept_indices = [roi_keeps_nms]
+
+ return results, kept_indices
+
+
+class Caffe2MaskRCNNInference:
+ def __call__(self, pred_mask_logits, pred_instances):
+ """equivalent to mask_head.mask_rcnn_inference"""
+ if all(isinstance(x, InstancesList) for x in pred_instances):
+ assert len(pred_instances) == 1
+ mask_probs_pred = pred_mask_logits.sigmoid()
+ mask_probs_pred = alias(mask_probs_pred, "mask_fcn_probs")
+ pred_instances[0].set("pred_masks", mask_probs_pred)
+ else:
+ mask_rcnn_inference(pred_mask_logits, pred_instances)
+
+
+class Caffe2KeypointRCNNInference:
+ def __init__(self, use_heatmap_max_keypoint):
+ self.use_heatmap_max_keypoint = use_heatmap_max_keypoint
+
+ def __call__(self, pred_keypoint_logits, pred_instances):
+ # just return the keypoint heatmap for now,
+ # there will be option to call HeatmapMaxKeypointOp
+ output = alias(pred_keypoint_logits, "kps_score")
+ if all(isinstance(x, InstancesList) for x in pred_instances):
+ assert len(pred_instances) == 1
+ if self.use_heatmap_max_keypoint:
+ device = output.device
+ output = torch.ops._caffe2.HeatmapMaxKeypoint(
+ to_device(output, "cpu"),
+ pred_instances[0].pred_boxes.tensor,
+ should_output_softmax=True, # worth make it configerable?
+ )
+ output = to_device(output, device)
+ output = alias(output, "keypoints_out")
+ pred_instances[0].set("pred_keypoints", output)
+ return pred_keypoint_logits
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/export/caffe2_export.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/export/caffe2_export.py
new file mode 100644
index 0000000000000000000000000000000000000000..d609c27c7deb396352967dbcbc79b1e00f2a2de1
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/export/caffe2_export.py
@@ -0,0 +1,203 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+
+import copy
+import io
+import logging
+import numpy as np
+from typing import List
+import onnx
+import onnx.optimizer
+import torch
+from caffe2.proto import caffe2_pb2
+from caffe2.python import core
+from caffe2.python.onnx.backend import Caffe2Backend
+from tabulate import tabulate
+from termcolor import colored
+from torch.onnx import OperatorExportTypes
+
+from .shared import (
+ ScopedWS,
+ construct_init_net_from_params,
+ fuse_alias_placeholder,
+ fuse_copy_between_cpu_and_gpu,
+ get_params_from_init_net,
+ group_norm_replace_aten_with_caffe2,
+ infer_device_type,
+ remove_dead_end_ops,
+ remove_reshape_for_fc,
+ save_graph,
+)
+
+logger = logging.getLogger(__name__)
+
+
+def export_onnx_model(model, inputs):
+ """
+ Trace and export a model to onnx format.
+
+ Args:
+ model (nn.Module):
+ inputs (tuple[args]): the model will be called by `model(*inputs)`
+
+ Returns:
+ an onnx model
+ """
+ assert isinstance(model, torch.nn.Module)
+
+ # make sure all modules are in eval mode, onnx may change the training state
+ # of the module if the states are not consistent
+ def _check_eval(module):
+ assert not module.training
+
+ model.apply(_check_eval)
+
+ # Export the model to ONNX
+ with torch.no_grad():
+ with io.BytesIO() as f:
+ torch.onnx.export(
+ model,
+ inputs,
+ f,
+ operator_export_type=OperatorExportTypes.ONNX_ATEN_FALLBACK,
+ # verbose=True, # NOTE: uncomment this for debugging
+ # export_params=True,
+ )
+ onnx_model = onnx.load_from_string(f.getvalue())
+
+ return onnx_model
+
+
+def _op_stats(net_def):
+ type_count = {}
+ for t in [op.type for op in net_def.op]:
+ type_count[t] = type_count.get(t, 0) + 1
+ type_count_list = sorted(type_count.items(), key=lambda kv: kv[0]) # alphabet
+ type_count_list = sorted(type_count_list, key=lambda kv: -kv[1]) # count
+ return "\n".join("{:>4}x {}".format(count, name) for name, count in type_count_list)
+
+
+def _assign_device_option(
+ predict_net: caffe2_pb2.NetDef, init_net: caffe2_pb2.NetDef, tensor_inputs: List[torch.Tensor]
+):
+ """
+ ONNX exported network doesn't have concept of device, assign necessary
+ device option for each op in order to make it runable on GPU runtime.
+ """
+
+ def _get_device_type(torch_tensor):
+ assert torch_tensor.device.type in ["cpu", "cuda"]
+ assert torch_tensor.device.index == 0
+ return torch_tensor.device.type
+
+ def _assign_op_device_option(net_proto, net_ssa, blob_device_types):
+ for op, ssa_i in zip(net_proto.op, net_ssa):
+ if op.type in ["CopyCPUToGPU", "CopyGPUToCPU"]:
+ op.device_option.CopyFrom(core.DeviceOption(caffe2_pb2.CUDA, 0))
+ else:
+ devices = [blob_device_types[b] for b in ssa_i[0] + ssa_i[1]]
+ assert all(d == devices[0] for d in devices)
+ if devices[0] == "cuda":
+ op.device_option.CopyFrom(core.DeviceOption(caffe2_pb2.CUDA, 0))
+
+ # update ops in predict_net
+ predict_net_input_device_types = {
+ (name, 0): _get_device_type(tensor)
+ for name, tensor in zip(predict_net.external_input, tensor_inputs)
+ }
+ predict_net_device_types = infer_device_type(
+ predict_net, known_status=predict_net_input_device_types, device_name_style="pytorch"
+ )
+ predict_net_ssa, _ = core.get_ssa(predict_net)
+ _assign_op_device_option(predict_net, predict_net_ssa, predict_net_device_types)
+
+ # update ops in init_net
+ init_net_ssa, versions = core.get_ssa(init_net)
+ init_net_output_device_types = {
+ (name, versions[name]): predict_net_device_types[(name, 0)]
+ for name in init_net.external_output
+ }
+ init_net_device_types = infer_device_type(
+ init_net, known_status=init_net_output_device_types, device_name_style="pytorch"
+ )
+ _assign_op_device_option(init_net, init_net_ssa, init_net_device_types)
+
+
+def export_caffe2_detection_model(model: torch.nn.Module, tensor_inputs: List[torch.Tensor]):
+ """
+ Export a caffe2-compatible Detectron2 model to caffe2 format via ONNX.
+
+ Arg:
+ model: a caffe2-compatible version of detectron2 model, defined in caffe2_modeling.py
+ tensor_inputs: a list of tensors that caffe2 model takes as input.
+ """
+ model = copy.deepcopy(model)
+ assert isinstance(model, torch.nn.Module)
+ assert hasattr(model, "encode_additional_info")
+
+ # Export via ONNX
+ logger.info(
+ "Exporting a {} model via ONNX ...".format(type(model).__name__)
+ + " Some warnings from ONNX are expected and are usually not to worry about."
+ )
+ onnx_model = export_onnx_model(model, (tensor_inputs,))
+ # Convert ONNX model to Caffe2 protobuf
+ init_net, predict_net = Caffe2Backend.onnx_graph_to_caffe2_net(onnx_model)
+ ops_table = [[op.type, op.input, op.output] for op in predict_net.op]
+ table = tabulate(ops_table, headers=["type", "input", "output"], tablefmt="pipe")
+ logger.info(
+ "ONNX export Done. Exported predict_net (before optimizations):\n" + colored(table, "cyan")
+ )
+
+ # Apply protobuf optimization
+ fuse_alias_placeholder(predict_net, init_net)
+ if any(t.device.type != "cpu" for t in tensor_inputs):
+ fuse_copy_between_cpu_and_gpu(predict_net)
+ remove_dead_end_ops(init_net)
+ _assign_device_option(predict_net, init_net, tensor_inputs)
+ params, device_options = get_params_from_init_net(init_net)
+ predict_net, params = remove_reshape_for_fc(predict_net, params)
+ init_net = construct_init_net_from_params(params, device_options)
+ group_norm_replace_aten_with_caffe2(predict_net)
+
+ # Record necessary information for running the pb model in Detectron2 system.
+ model.encode_additional_info(predict_net, init_net)
+
+ logger.info("Operators used in predict_net: \n{}".format(_op_stats(predict_net)))
+ logger.info("Operators used in init_net: \n{}".format(_op_stats(init_net)))
+
+ return predict_net, init_net
+
+
+def run_and_save_graph(predict_net, init_net, tensor_inputs, graph_save_path):
+ """
+ Run the caffe2 model on given inputs, recording the shape and draw the graph.
+
+ predict_net/init_net: caffe2 model.
+ tensor_inputs: a list of tensors that caffe2 model takes as input.
+ graph_save_path: path for saving graph of exported model.
+ """
+
+ logger.info("Saving graph of ONNX exported model to {} ...".format(graph_save_path))
+ save_graph(predict_net, graph_save_path, op_only=False)
+
+ # Run the exported Caffe2 net
+ logger.info("Running ONNX exported model ...")
+ with ScopedWS("__ws_tmp__", True) as ws:
+ ws.RunNetOnce(init_net)
+ initialized_blobs = set(ws.Blobs())
+ uninitialized = [inp for inp in predict_net.external_input if inp not in initialized_blobs]
+ for name, blob in zip(uninitialized, tensor_inputs):
+ ws.FeedBlob(name, blob)
+
+ try:
+ ws.RunNetOnce(predict_net)
+ except RuntimeError as e:
+ logger.warning("Encountered RuntimeError: \n{}".format(str(e)))
+
+ ws_blobs = {b: ws.FetchBlob(b) for b in ws.Blobs()}
+ blob_sizes = {b: ws_blobs[b].shape for b in ws_blobs if isinstance(ws_blobs[b], np.ndarray)}
+
+ logger.info("Saving graph with blob shapes to {} ...".format(graph_save_path))
+ save_graph(predict_net, graph_save_path, op_only=False, blob_sizes=blob_sizes)
+
+ return ws_blobs
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/export/caffe2_inference.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/export/caffe2_inference.py
new file mode 100644
index 0000000000000000000000000000000000000000..deb886c0417285ed1d5ad85eb941fa1ac757cdab
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/export/caffe2_inference.py
@@ -0,0 +1,161 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+
+import logging
+import numpy as np
+from itertools import count
+import torch
+from caffe2.proto import caffe2_pb2
+from caffe2.python import core
+
+from .caffe2_modeling import META_ARCH_CAFFE2_EXPORT_TYPE_MAP, convert_batched_inputs_to_c2_format
+from .shared import ScopedWS, get_pb_arg_vali, get_pb_arg_vals, infer_device_type
+
+logger = logging.getLogger(__name__)
+
+
+# ===== ref: mobile-vision predictor's 'Caffe2Wrapper' class ======
+class ProtobufModel(torch.nn.Module):
+ """
+ Wrapper of a caffe2's protobuf model.
+ It works just like nn.Module, but running caffe2 under the hood.
+ Input/Output are tuple[tensor] that match the caffe2 net's external_input/output.
+ """
+
+ _ids = count(0)
+
+ def __init__(self, predict_net, init_net):
+ logger.info(f"Initializing ProtobufModel for: {predict_net.name} ...")
+ super().__init__()
+ assert isinstance(predict_net, caffe2_pb2.NetDef)
+ assert isinstance(init_net, caffe2_pb2.NetDef)
+ # create unique temporary workspace for each instance
+ self.ws_name = "__tmp_ProtobufModel_{}__".format(next(self._ids))
+ self.net = core.Net(predict_net)
+
+ logger.info("Running init_net once to fill the parameters ...")
+ with ScopedWS(self.ws_name, is_reset=True, is_cleanup=False) as ws:
+ ws.RunNetOnce(init_net)
+ uninitialized_external_input = []
+ for blob in self.net.Proto().external_input:
+ if blob not in ws.Blobs():
+ uninitialized_external_input.append(blob)
+ ws.CreateBlob(blob)
+ ws.CreateNet(self.net)
+
+ self._error_msgs = set()
+ self._input_blobs = uninitialized_external_input
+
+ def _infer_output_devices(self, inputs):
+ """
+ Returns:
+ list[str]: list of device for each external output
+ """
+
+ def _get_device_type(torch_tensor):
+ assert torch_tensor.device.type in ["cpu", "cuda"]
+ assert torch_tensor.device.index == 0
+ return torch_tensor.device.type
+
+ predict_net = self.net.Proto()
+ input_device_types = {
+ (name, 0): _get_device_type(tensor) for name, tensor in zip(self._input_blobs, inputs)
+ }
+ device_type_map = infer_device_type(
+ predict_net, known_status=input_device_types, device_name_style="pytorch"
+ )
+ ssa, versions = core.get_ssa(predict_net)
+ versioned_outputs = [(name, versions[name]) for name in predict_net.external_output]
+ output_devices = [device_type_map[outp] for outp in versioned_outputs]
+ return output_devices
+
+ def forward(self, inputs):
+ """
+ Args:
+ inputs (tuple[torch.Tensor])
+
+ Returns:
+ tuple[torch.Tensor]
+ """
+ assert len(inputs) == len(self._input_blobs), (
+ f"Length of inputs ({len(inputs)}) "
+ f"doesn't match the required input blobs: {self._input_blobs}"
+ )
+
+ with ScopedWS(self.ws_name, is_reset=False, is_cleanup=False) as ws:
+ for b, tensor in zip(self._input_blobs, inputs):
+ ws.FeedBlob(b, tensor)
+
+ try:
+ ws.RunNet(self.net.Proto().name)
+ except RuntimeError as e:
+ if not str(e) in self._error_msgs:
+ self._error_msgs.add(str(e))
+ logger.warning("Encountered new RuntimeError: \n{}".format(str(e)))
+ logger.warning("Catch the error and use partial results.")
+
+ c2_outputs = [ws.FetchBlob(b) for b in self.net.Proto().external_output]
+ # Remove outputs of current run, this is necessary in order to
+ # prevent fetching the result from previous run if the model fails
+ # in the middle.
+ for b in self.net.Proto().external_output:
+ # Needs to create uninitialized blob to make the net runable.
+ # This is "equivalent" to: ws.RemoveBlob(b) then ws.CreateBlob(b),
+ # but there'no such API.
+ ws.FeedBlob(b, f"{b}, a C++ native class of type nullptr (uninitialized).")
+
+ # Cast output to torch.Tensor on the desired device
+ output_devices = (
+ self._infer_output_devices(inputs)
+ if any(t.device.type != "cpu" for t in inputs)
+ else ["cpu" for _ in self.net.Proto().external_output]
+ )
+
+ outputs = []
+ for name, c2_output, device in zip(
+ self.net.Proto().external_output, c2_outputs, output_devices
+ ):
+ if not isinstance(c2_output, np.ndarray):
+ raise RuntimeError(
+ "Invalid output for blob {}, received: {}".format(name, c2_output)
+ )
+ outputs.append(torch.tensor(c2_output).to(device=device))
+ return tuple(outputs)
+
+
+class ProtobufDetectionModel(torch.nn.Module):
+ """
+ A class works just like a pytorch meta arch in terms of inference, but running
+ caffe2 model under the hood.
+ """
+
+ def __init__(self, predict_net, init_net, *, convert_outputs=None):
+ """
+ Args:
+ predict_net, init_net (core.Net): caffe2 nets
+ convert_outptus (callable): a function that converts caffe2
+ outputs to the same format of the original pytorch model.
+ By default, use the one defined in the caffe2 meta_arch.
+ """
+ super().__init__()
+ self.protobuf_model = ProtobufModel(predict_net, init_net)
+ self.size_divisibility = get_pb_arg_vali(predict_net, "size_divisibility", 0)
+ self.device = get_pb_arg_vals(predict_net, "device", b"cpu").decode("ascii")
+
+ if convert_outputs is None:
+ meta_arch = get_pb_arg_vals(predict_net, "meta_architecture", b"GeneralizedRCNN")
+ meta_arch = META_ARCH_CAFFE2_EXPORT_TYPE_MAP[meta_arch.decode("ascii")]
+ self._convert_outputs = meta_arch.get_outputs_converter(predict_net, init_net)
+ else:
+ self._convert_outputs = convert_outputs
+
+ def _convert_inputs(self, batched_inputs):
+ # currently all models convert inputs in the same way
+ return convert_batched_inputs_to_c2_format(
+ batched_inputs, self.size_divisibility, self.device
+ )
+
+ def forward(self, batched_inputs):
+ c2_inputs = self._convert_inputs(batched_inputs)
+ c2_results = self.protobuf_model(c2_inputs)
+ c2_results = dict(zip(self.protobuf_model.net.Proto().external_output, c2_results))
+ return self._convert_outputs(batched_inputs, c2_inputs, c2_results)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/export/caffe2_modeling.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/export/caffe2_modeling.py
new file mode 100644
index 0000000000000000000000000000000000000000..e0128e4672bc08eb2983d3d382614c6381baefd9
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/export/caffe2_modeling.py
@@ -0,0 +1,419 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+
+import functools
+import io
+import struct
+import types
+import torch
+
+from annotator.oneformer.detectron2.modeling import meta_arch
+from annotator.oneformer.detectron2.modeling.box_regression import Box2BoxTransform
+from annotator.oneformer.detectron2.modeling.roi_heads import keypoint_head
+from annotator.oneformer.detectron2.structures import Boxes, ImageList, Instances, RotatedBoxes
+
+from .c10 import Caffe2Compatible
+from .caffe2_patch import ROIHeadsPatcher, patch_generalized_rcnn
+from .shared import (
+ alias,
+ check_set_pb_arg,
+ get_pb_arg_floats,
+ get_pb_arg_valf,
+ get_pb_arg_vali,
+ get_pb_arg_vals,
+ mock_torch_nn_functional_interpolate,
+)
+
+
+def assemble_rcnn_outputs_by_name(image_sizes, tensor_outputs, force_mask_on=False):
+ """
+ A function to assemble caffe2 model's outputs (i.e. Dict[str, Tensor])
+ to detectron2's format (i.e. list of Instances instance).
+ This only works when the model follows the Caffe2 detectron's naming convention.
+
+ Args:
+ image_sizes (List[List[int, int]]): [H, W] of every image.
+ tensor_outputs (Dict[str, Tensor]): external_output to its tensor.
+
+ force_mask_on (Bool): if true, the it make sure there'll be pred_masks even
+ if the mask is not found from tensor_outputs (usually due to model crash)
+ """
+
+ results = [Instances(image_size) for image_size in image_sizes]
+
+ batch_splits = tensor_outputs.get("batch_splits", None)
+ if batch_splits:
+ raise NotImplementedError()
+ assert len(image_sizes) == 1
+ result = results[0]
+
+ bbox_nms = tensor_outputs["bbox_nms"]
+ score_nms = tensor_outputs["score_nms"]
+ class_nms = tensor_outputs["class_nms"]
+ # Detection will always success because Conv support 0-batch
+ assert bbox_nms is not None
+ assert score_nms is not None
+ assert class_nms is not None
+ if bbox_nms.shape[1] == 5:
+ result.pred_boxes = RotatedBoxes(bbox_nms)
+ else:
+ result.pred_boxes = Boxes(bbox_nms)
+ result.scores = score_nms
+ result.pred_classes = class_nms.to(torch.int64)
+
+ mask_fcn_probs = tensor_outputs.get("mask_fcn_probs", None)
+ if mask_fcn_probs is not None:
+ # finish the mask pred
+ mask_probs_pred = mask_fcn_probs
+ num_masks = mask_probs_pred.shape[0]
+ class_pred = result.pred_classes
+ indices = torch.arange(num_masks, device=class_pred.device)
+ mask_probs_pred = mask_probs_pred[indices, class_pred][:, None]
+ result.pred_masks = mask_probs_pred
+ elif force_mask_on:
+ # NOTE: there's no way to know the height/width of mask here, it won't be
+ # used anyway when batch size is 0, so just set them to 0.
+ result.pred_masks = torch.zeros([0, 1, 0, 0], dtype=torch.uint8)
+
+ keypoints_out = tensor_outputs.get("keypoints_out", None)
+ kps_score = tensor_outputs.get("kps_score", None)
+ if keypoints_out is not None:
+ # keypoints_out: [N, 4, #kypoints], where 4 is in order of (x, y, score, prob)
+ keypoints_tensor = keypoints_out
+ # NOTE: it's possible that prob is not calculated if "should_output_softmax"
+ # is set to False in HeatmapMaxKeypoint, so just using raw score, seems
+ # it doesn't affect mAP. TODO: check more carefully.
+ keypoint_xyp = keypoints_tensor.transpose(1, 2)[:, :, [0, 1, 2]]
+ result.pred_keypoints = keypoint_xyp
+ elif kps_score is not None:
+ # keypoint heatmap to sparse data structure
+ pred_keypoint_logits = kps_score
+ keypoint_head.keypoint_rcnn_inference(pred_keypoint_logits, [result])
+
+ return results
+
+
+def _cast_to_f32(f64):
+ return struct.unpack("f", struct.pack("f", f64))[0]
+
+
+def set_caffe2_compatible_tensor_mode(model, enable=True):
+ def _fn(m):
+ if isinstance(m, Caffe2Compatible):
+ m.tensor_mode = enable
+
+ model.apply(_fn)
+
+
+def convert_batched_inputs_to_c2_format(batched_inputs, size_divisibility, device):
+ """
+ See get_caffe2_inputs() below.
+ """
+ assert all(isinstance(x, dict) for x in batched_inputs)
+ assert all(x["image"].dim() == 3 for x in batched_inputs)
+
+ images = [x["image"] for x in batched_inputs]
+ images = ImageList.from_tensors(images, size_divisibility)
+
+ im_info = []
+ for input_per_image, image_size in zip(batched_inputs, images.image_sizes):
+ target_height = input_per_image.get("height", image_size[0])
+ target_width = input_per_image.get("width", image_size[1]) # noqa
+ # NOTE: The scale inside im_info is kept as convention and for providing
+ # post-processing information if further processing is needed. For
+ # current Caffe2 model definitions that don't include post-processing inside
+ # the model, this number is not used.
+ # NOTE: There can be a slight difference between width and height
+ # scales, using a single number can results in numerical difference
+ # compared with D2's post-processing.
+ scale = target_height / image_size[0]
+ im_info.append([image_size[0], image_size[1], scale])
+ im_info = torch.Tensor(im_info)
+
+ return images.tensor.to(device), im_info.to(device)
+
+
+class Caffe2MetaArch(Caffe2Compatible, torch.nn.Module):
+ """
+ Base class for caffe2-compatible implementation of a meta architecture.
+ The forward is traceable and its traced graph can be converted to caffe2
+ graph through ONNX.
+ """
+
+ def __init__(self, cfg, torch_model):
+ """
+ Args:
+ cfg (CfgNode):
+ torch_model (nn.Module): the detectron2 model (meta_arch) to be
+ converted.
+ """
+ super().__init__()
+ self._wrapped_model = torch_model
+ self.eval()
+ set_caffe2_compatible_tensor_mode(self, True)
+
+ def get_caffe2_inputs(self, batched_inputs):
+ """
+ Convert pytorch-style structured inputs to caffe2-style inputs that
+ are tuples of tensors.
+
+ Args:
+ batched_inputs (list[dict]): inputs to a detectron2 model
+ in its standard format. Each dict has "image" (CHW tensor), and optionally
+ "height" and "width".
+
+ Returns:
+ tuple[Tensor]:
+ tuple of tensors that will be the inputs to the
+ :meth:`forward` method. For existing models, the first
+ is an NCHW tensor (padded and batched); the second is
+ a im_info Nx3 tensor, where the rows are
+ (height, width, unused legacy parameter)
+ """
+ return convert_batched_inputs_to_c2_format(
+ batched_inputs,
+ self._wrapped_model.backbone.size_divisibility,
+ self._wrapped_model.device,
+ )
+
+ def encode_additional_info(self, predict_net, init_net):
+ """
+ Save extra metadata that will be used by inference in the output protobuf.
+ """
+ pass
+
+ def forward(self, inputs):
+ """
+ Run the forward in caffe2-style. It has to use caffe2-compatible ops
+ and the method will be used for tracing.
+
+ Args:
+ inputs (tuple[Tensor]): inputs defined by :meth:`get_caffe2_input`.
+ They will be the inputs of the converted caffe2 graph.
+
+ Returns:
+ tuple[Tensor]: output tensors. They will be the outputs of the
+ converted caffe2 graph.
+ """
+ raise NotImplementedError
+
+ def _caffe2_preprocess_image(self, inputs):
+ """
+ Caffe2 implementation of preprocess_image, which is called inside each MetaArch's forward.
+ It normalizes the input images, and the final caffe2 graph assumes the
+ inputs have been batched already.
+ """
+ data, im_info = inputs
+ data = alias(data, "data")
+ im_info = alias(im_info, "im_info")
+ mean, std = self._wrapped_model.pixel_mean, self._wrapped_model.pixel_std
+ normalized_data = (data - mean) / std
+ normalized_data = alias(normalized_data, "normalized_data")
+
+ # Pack (data, im_info) into ImageList which is recognized by self.inference.
+ images = ImageList(tensor=normalized_data, image_sizes=im_info)
+ return images
+
+ @staticmethod
+ def get_outputs_converter(predict_net, init_net):
+ """
+ Creates a function that converts outputs of the caffe2 model to
+ detectron2's standard format.
+ The function uses information in `predict_net` and `init_net` that are
+ available at inferene time. Therefore the function logic can be used in inference.
+
+ The returned function has the following signature:
+
+ def convert(batched_inputs, c2_inputs, c2_results) -> detectron2_outputs
+
+ Where
+
+ * batched_inputs (list[dict]): the original input format of the meta arch
+ * c2_inputs (tuple[Tensor]): the caffe2 inputs.
+ * c2_results (dict[str, Tensor]): the caffe2 output format,
+ corresponding to the outputs of the :meth:`forward` function.
+ * detectron2_outputs: the original output format of the meta arch.
+
+ This function can be used to compare the outputs of the original meta arch and
+ the converted caffe2 graph.
+
+ Returns:
+ callable: a callable of the above signature.
+ """
+ raise NotImplementedError
+
+
+class Caffe2GeneralizedRCNN(Caffe2MetaArch):
+ def __init__(self, cfg, torch_model):
+ assert isinstance(torch_model, meta_arch.GeneralizedRCNN)
+ torch_model = patch_generalized_rcnn(torch_model)
+ super().__init__(cfg, torch_model)
+
+ try:
+ use_heatmap_max_keypoint = cfg.EXPORT_CAFFE2.USE_HEATMAP_MAX_KEYPOINT
+ except AttributeError:
+ use_heatmap_max_keypoint = False
+ self.roi_heads_patcher = ROIHeadsPatcher(
+ self._wrapped_model.roi_heads, use_heatmap_max_keypoint
+ )
+
+ def encode_additional_info(self, predict_net, init_net):
+ size_divisibility = self._wrapped_model.backbone.size_divisibility
+ check_set_pb_arg(predict_net, "size_divisibility", "i", size_divisibility)
+ check_set_pb_arg(
+ predict_net, "device", "s", str.encode(str(self._wrapped_model.device), "ascii")
+ )
+ check_set_pb_arg(predict_net, "meta_architecture", "s", b"GeneralizedRCNN")
+
+ @mock_torch_nn_functional_interpolate()
+ def forward(self, inputs):
+ if not self.tensor_mode:
+ return self._wrapped_model.inference(inputs)
+ images = self._caffe2_preprocess_image(inputs)
+ features = self._wrapped_model.backbone(images.tensor)
+ proposals, _ = self._wrapped_model.proposal_generator(images, features)
+ with self.roi_heads_patcher.mock_roi_heads():
+ detector_results, _ = self._wrapped_model.roi_heads(images, features, proposals)
+ return tuple(detector_results[0].flatten())
+
+ @staticmethod
+ def get_outputs_converter(predict_net, init_net):
+ def f(batched_inputs, c2_inputs, c2_results):
+ _, im_info = c2_inputs
+ image_sizes = [[int(im[0]), int(im[1])] for im in im_info]
+ results = assemble_rcnn_outputs_by_name(image_sizes, c2_results)
+ return meta_arch.GeneralizedRCNN._postprocess(results, batched_inputs, image_sizes)
+
+ return f
+
+
+class Caffe2RetinaNet(Caffe2MetaArch):
+ def __init__(self, cfg, torch_model):
+ assert isinstance(torch_model, meta_arch.RetinaNet)
+ super().__init__(cfg, torch_model)
+
+ @mock_torch_nn_functional_interpolate()
+ def forward(self, inputs):
+ assert self.tensor_mode
+ images = self._caffe2_preprocess_image(inputs)
+
+ # explicitly return the images sizes to avoid removing "im_info" by ONNX
+ # since it's not used in the forward path
+ return_tensors = [images.image_sizes]
+
+ features = self._wrapped_model.backbone(images.tensor)
+ features = [features[f] for f in self._wrapped_model.head_in_features]
+ for i, feature_i in enumerate(features):
+ features[i] = alias(feature_i, "feature_{}".format(i), is_backward=True)
+ return_tensors.append(features[i])
+
+ pred_logits, pred_anchor_deltas = self._wrapped_model.head(features)
+ for i, (box_cls_i, box_delta_i) in enumerate(zip(pred_logits, pred_anchor_deltas)):
+ return_tensors.append(alias(box_cls_i, "box_cls_{}".format(i)))
+ return_tensors.append(alias(box_delta_i, "box_delta_{}".format(i)))
+
+ return tuple(return_tensors)
+
+ def encode_additional_info(self, predict_net, init_net):
+ size_divisibility = self._wrapped_model.backbone.size_divisibility
+ check_set_pb_arg(predict_net, "size_divisibility", "i", size_divisibility)
+ check_set_pb_arg(
+ predict_net, "device", "s", str.encode(str(self._wrapped_model.device), "ascii")
+ )
+ check_set_pb_arg(predict_net, "meta_architecture", "s", b"RetinaNet")
+
+ # Inference parameters:
+ check_set_pb_arg(
+ predict_net, "score_threshold", "f", _cast_to_f32(self._wrapped_model.test_score_thresh)
+ )
+ check_set_pb_arg(
+ predict_net, "topk_candidates", "i", self._wrapped_model.test_topk_candidates
+ )
+ check_set_pb_arg(
+ predict_net, "nms_threshold", "f", _cast_to_f32(self._wrapped_model.test_nms_thresh)
+ )
+ check_set_pb_arg(
+ predict_net,
+ "max_detections_per_image",
+ "i",
+ self._wrapped_model.max_detections_per_image,
+ )
+
+ check_set_pb_arg(
+ predict_net,
+ "bbox_reg_weights",
+ "floats",
+ [_cast_to_f32(w) for w in self._wrapped_model.box2box_transform.weights],
+ )
+ self._encode_anchor_generator_cfg(predict_net)
+
+ def _encode_anchor_generator_cfg(self, predict_net):
+ # serialize anchor_generator for future use
+ serialized_anchor_generator = io.BytesIO()
+ torch.save(self._wrapped_model.anchor_generator, serialized_anchor_generator)
+ # Ideally we can put anchor generating inside the model, then we don't
+ # need to store this information.
+ bytes = serialized_anchor_generator.getvalue()
+ check_set_pb_arg(predict_net, "serialized_anchor_generator", "s", bytes)
+
+ @staticmethod
+ def get_outputs_converter(predict_net, init_net):
+ self = types.SimpleNamespace()
+ serialized_anchor_generator = io.BytesIO(
+ get_pb_arg_vals(predict_net, "serialized_anchor_generator", None)
+ )
+ self.anchor_generator = torch.load(serialized_anchor_generator)
+ bbox_reg_weights = get_pb_arg_floats(predict_net, "bbox_reg_weights", None)
+ self.box2box_transform = Box2BoxTransform(weights=tuple(bbox_reg_weights))
+ self.test_score_thresh = get_pb_arg_valf(predict_net, "score_threshold", None)
+ self.test_topk_candidates = get_pb_arg_vali(predict_net, "topk_candidates", None)
+ self.test_nms_thresh = get_pb_arg_valf(predict_net, "nms_threshold", None)
+ self.max_detections_per_image = get_pb_arg_vali(
+ predict_net, "max_detections_per_image", None
+ )
+
+ # hack to reuse inference code from RetinaNet
+ for meth in [
+ "forward_inference",
+ "inference_single_image",
+ "_transpose_dense_predictions",
+ "_decode_multi_level_predictions",
+ "_decode_per_level_predictions",
+ ]:
+ setattr(self, meth, functools.partial(getattr(meta_arch.RetinaNet, meth), self))
+
+ def f(batched_inputs, c2_inputs, c2_results):
+ _, im_info = c2_inputs
+ image_sizes = [[int(im[0]), int(im[1])] for im in im_info]
+ dummy_images = ImageList(
+ torch.randn(
+ (
+ len(im_info),
+ 3,
+ )
+ + tuple(image_sizes[0])
+ ),
+ image_sizes,
+ )
+
+ num_features = len([x for x in c2_results.keys() if x.startswith("box_cls_")])
+ pred_logits = [c2_results["box_cls_{}".format(i)] for i in range(num_features)]
+ pred_anchor_deltas = [c2_results["box_delta_{}".format(i)] for i in range(num_features)]
+
+ # For each feature level, feature should have the same batch size and
+ # spatial dimension as the box_cls and box_delta.
+ dummy_features = [x.clone()[:, 0:0, :, :] for x in pred_logits]
+ # self.num_classess can be inferred
+ self.num_classes = pred_logits[0].shape[1] // (pred_anchor_deltas[0].shape[1] // 4)
+
+ results = self.forward_inference(
+ dummy_images, dummy_features, [pred_logits, pred_anchor_deltas]
+ )
+ return meta_arch.GeneralizedRCNN._postprocess(results, batched_inputs, image_sizes)
+
+ return f
+
+
+META_ARCH_CAFFE2_EXPORT_TYPE_MAP = {
+ "GeneralizedRCNN": Caffe2GeneralizedRCNN,
+ "RetinaNet": Caffe2RetinaNet,
+}
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/export/caffe2_patch.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/export/caffe2_patch.py
new file mode 100644
index 0000000000000000000000000000000000000000..9c197cac1e7d5f665b6cbda46268716b1222f217
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/export/caffe2_patch.py
@@ -0,0 +1,152 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+
+import contextlib
+from unittest import mock
+import torch
+
+from annotator.oneformer.detectron2.modeling import poolers
+from annotator.oneformer.detectron2.modeling.proposal_generator import rpn
+from annotator.oneformer.detectron2.modeling.roi_heads import keypoint_head, mask_head
+from annotator.oneformer.detectron2.modeling.roi_heads.fast_rcnn import FastRCNNOutputLayers
+
+from .c10 import (
+ Caffe2Compatible,
+ Caffe2FastRCNNOutputsInference,
+ Caffe2KeypointRCNNInference,
+ Caffe2MaskRCNNInference,
+ Caffe2ROIPooler,
+ Caffe2RPN,
+)
+
+
+class GenericMixin(object):
+ pass
+
+
+class Caffe2CompatibleConverter(object):
+ """
+ A GenericUpdater which implements the `create_from` interface, by modifying
+ module object and assign it with another class replaceCls.
+ """
+
+ def __init__(self, replaceCls):
+ self.replaceCls = replaceCls
+
+ def create_from(self, module):
+ # update module's class to the new class
+ assert isinstance(module, torch.nn.Module)
+ if issubclass(self.replaceCls, GenericMixin):
+ # replaceCls should act as mixin, create a new class on-the-fly
+ new_class = type(
+ "{}MixedWith{}".format(self.replaceCls.__name__, module.__class__.__name__),
+ (self.replaceCls, module.__class__),
+ {}, # {"new_method": lambda self: ...},
+ )
+ module.__class__ = new_class
+ else:
+ # replaceCls is complete class, this allow arbitrary class swap
+ module.__class__ = self.replaceCls
+
+ # initialize Caffe2Compatible
+ if isinstance(module, Caffe2Compatible):
+ module.tensor_mode = False
+
+ return module
+
+
+def patch(model, target, updater, *args, **kwargs):
+ """
+ recursively (post-order) update all modules with the target type and its
+ subclasses, make a initialization/composition/inheritance/... via the
+ updater.create_from.
+ """
+ for name, module in model.named_children():
+ model._modules[name] = patch(module, target, updater, *args, **kwargs)
+ if isinstance(model, target):
+ return updater.create_from(model, *args, **kwargs)
+ return model
+
+
+def patch_generalized_rcnn(model):
+ ccc = Caffe2CompatibleConverter
+ model = patch(model, rpn.RPN, ccc(Caffe2RPN))
+ model = patch(model, poolers.ROIPooler, ccc(Caffe2ROIPooler))
+
+ return model
+
+
+@contextlib.contextmanager
+def mock_fastrcnn_outputs_inference(
+ tensor_mode, check=True, box_predictor_type=FastRCNNOutputLayers
+):
+ with mock.patch.object(
+ box_predictor_type,
+ "inference",
+ autospec=True,
+ side_effect=Caffe2FastRCNNOutputsInference(tensor_mode),
+ ) as mocked_func:
+ yield
+ if check:
+ assert mocked_func.call_count > 0
+
+
+@contextlib.contextmanager
+def mock_mask_rcnn_inference(tensor_mode, patched_module, check=True):
+ with mock.patch(
+ "{}.mask_rcnn_inference".format(patched_module), side_effect=Caffe2MaskRCNNInference()
+ ) as mocked_func:
+ yield
+ if check:
+ assert mocked_func.call_count > 0
+
+
+@contextlib.contextmanager
+def mock_keypoint_rcnn_inference(tensor_mode, patched_module, use_heatmap_max_keypoint, check=True):
+ with mock.patch(
+ "{}.keypoint_rcnn_inference".format(patched_module),
+ side_effect=Caffe2KeypointRCNNInference(use_heatmap_max_keypoint),
+ ) as mocked_func:
+ yield
+ if check:
+ assert mocked_func.call_count > 0
+
+
+class ROIHeadsPatcher:
+ def __init__(self, heads, use_heatmap_max_keypoint):
+ self.heads = heads
+ self.use_heatmap_max_keypoint = use_heatmap_max_keypoint
+
+ @contextlib.contextmanager
+ def mock_roi_heads(self, tensor_mode=True):
+ """
+ Patching several inference functions inside ROIHeads and its subclasses
+
+ Args:
+ tensor_mode (bool): whether the inputs/outputs are caffe2's tensor
+ format or not. Default to True.
+ """
+ # NOTE: this requries the `keypoint_rcnn_inference` and `mask_rcnn_inference`
+ # are called inside the same file as BaseXxxHead due to using mock.patch.
+ kpt_heads_mod = keypoint_head.BaseKeypointRCNNHead.__module__
+ mask_head_mod = mask_head.BaseMaskRCNNHead.__module__
+
+ mock_ctx_managers = [
+ mock_fastrcnn_outputs_inference(
+ tensor_mode=tensor_mode,
+ check=True,
+ box_predictor_type=type(self.heads.box_predictor),
+ )
+ ]
+ if getattr(self.heads, "keypoint_on", False):
+ mock_ctx_managers += [
+ mock_keypoint_rcnn_inference(
+ tensor_mode, kpt_heads_mod, self.use_heatmap_max_keypoint
+ )
+ ]
+ if getattr(self.heads, "mask_on", False):
+ mock_ctx_managers += [mock_mask_rcnn_inference(tensor_mode, mask_head_mod)]
+
+ with contextlib.ExitStack() as stack: # python 3.3+
+ for mgr in mock_ctx_managers:
+ stack.enter_context(mgr)
+ yield
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/export/flatten.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/export/flatten.py
new file mode 100644
index 0000000000000000000000000000000000000000..3fcb2bf49a0adad2798a10781a42accd9571218f
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/export/flatten.py
@@ -0,0 +1,330 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+import collections
+from dataclasses import dataclass
+from typing import Callable, List, Optional, Tuple
+import torch
+from torch import nn
+
+from annotator.oneformer.detectron2.structures import Boxes, Instances, ROIMasks
+from annotator.oneformer.detectron2.utils.registry import _convert_target_to_string, locate
+
+from .torchscript_patch import patch_builtin_len
+
+
+@dataclass
+class Schema:
+ """
+ A Schema defines how to flatten a possibly hierarchical object into tuple of
+ primitive objects, so it can be used as inputs/outputs of PyTorch's tracing.
+
+ PyTorch does not support tracing a function that produces rich output
+ structures (e.g. dict, Instances, Boxes). To trace such a function, we
+ flatten the rich object into tuple of tensors, and return this tuple of tensors
+ instead. Meanwhile, we also need to know how to "rebuild" the original object
+ from the flattened results, so we can evaluate the flattened results.
+ A Schema defines how to flatten an object, and while flattening it, it records
+ necessary schemas so that the object can be rebuilt using the flattened outputs.
+
+ The flattened object and the schema object is returned by ``.flatten`` classmethod.
+ Then the original object can be rebuilt with the ``__call__`` method of schema.
+
+ A Schema is a dataclass that can be serialized easily.
+ """
+
+ # inspired by FetchMapper in tensorflow/python/client/session.py
+
+ @classmethod
+ def flatten(cls, obj):
+ raise NotImplementedError
+
+ def __call__(self, values):
+ raise NotImplementedError
+
+ @staticmethod
+ def _concat(values):
+ ret = ()
+ sizes = []
+ for v in values:
+ assert isinstance(v, tuple), "Flattened results must be a tuple"
+ ret = ret + v
+ sizes.append(len(v))
+ return ret, sizes
+
+ @staticmethod
+ def _split(values, sizes):
+ if len(sizes):
+ expected_len = sum(sizes)
+ assert (
+ len(values) == expected_len
+ ), f"Values has length {len(values)} but expect length {expected_len}."
+ ret = []
+ for k in range(len(sizes)):
+ begin, end = sum(sizes[:k]), sum(sizes[: k + 1])
+ ret.append(values[begin:end])
+ return ret
+
+
+@dataclass
+class ListSchema(Schema):
+ schemas: List[Schema] # the schemas that define how to flatten each element in the list
+ sizes: List[int] # the flattened length of each element
+
+ def __call__(self, values):
+ values = self._split(values, self.sizes)
+ if len(values) != len(self.schemas):
+ raise ValueError(
+ f"Values has length {len(values)} but schemas " f"has length {len(self.schemas)}!"
+ )
+ values = [m(v) for m, v in zip(self.schemas, values)]
+ return list(values)
+
+ @classmethod
+ def flatten(cls, obj):
+ res = [flatten_to_tuple(k) for k in obj]
+ values, sizes = cls._concat([k[0] for k in res])
+ return values, cls([k[1] for k in res], sizes)
+
+
+@dataclass
+class TupleSchema(ListSchema):
+ def __call__(self, values):
+ return tuple(super().__call__(values))
+
+
+@dataclass
+class IdentitySchema(Schema):
+ def __call__(self, values):
+ return values[0]
+
+ @classmethod
+ def flatten(cls, obj):
+ return (obj,), cls()
+
+
+@dataclass
+class DictSchema(ListSchema):
+ keys: List[str]
+
+ def __call__(self, values):
+ values = super().__call__(values)
+ return dict(zip(self.keys, values))
+
+ @classmethod
+ def flatten(cls, obj):
+ for k in obj.keys():
+ if not isinstance(k, str):
+ raise KeyError("Only support flattening dictionaries if keys are str.")
+ keys = sorted(obj.keys())
+ values = [obj[k] for k in keys]
+ ret, schema = ListSchema.flatten(values)
+ return ret, cls(schema.schemas, schema.sizes, keys)
+
+
+@dataclass
+class InstancesSchema(DictSchema):
+ def __call__(self, values):
+ image_size, fields = values[-1], values[:-1]
+ fields = super().__call__(fields)
+ return Instances(image_size, **fields)
+
+ @classmethod
+ def flatten(cls, obj):
+ ret, schema = super().flatten(obj.get_fields())
+ size = obj.image_size
+ if not isinstance(size, torch.Tensor):
+ size = torch.tensor(size)
+ return ret + (size,), schema
+
+
+@dataclass
+class TensorWrapSchema(Schema):
+ """
+ For classes that are simple wrapper of tensors, e.g.
+ Boxes, RotatedBoxes, BitMasks
+ """
+
+ class_name: str
+
+ def __call__(self, values):
+ return locate(self.class_name)(values[0])
+
+ @classmethod
+ def flatten(cls, obj):
+ return (obj.tensor,), cls(_convert_target_to_string(type(obj)))
+
+
+# if more custom structures needed in the future, can allow
+# passing in extra schemas for custom types
+def flatten_to_tuple(obj):
+ """
+ Flatten an object so it can be used for PyTorch tracing.
+ Also returns how to rebuild the original object from the flattened outputs.
+
+ Returns:
+ res (tuple): the flattened results that can be used as tracing outputs
+ schema: an object with a ``__call__`` method such that ``schema(res) == obj``.
+ It is a pure dataclass that can be serialized.
+ """
+ schemas = [
+ ((str, bytes), IdentitySchema),
+ (list, ListSchema),
+ (tuple, TupleSchema),
+ (collections.abc.Mapping, DictSchema),
+ (Instances, InstancesSchema),
+ ((Boxes, ROIMasks), TensorWrapSchema),
+ ]
+ for klass, schema in schemas:
+ if isinstance(obj, klass):
+ F = schema
+ break
+ else:
+ F = IdentitySchema
+
+ return F.flatten(obj)
+
+
+class TracingAdapter(nn.Module):
+ """
+ A model may take rich input/output format (e.g. dict or custom classes),
+ but `torch.jit.trace` requires tuple of tensors as input/output.
+ This adapter flattens input/output format of a model so it becomes traceable.
+
+ It also records the necessary schema to rebuild model's inputs/outputs from flattened
+ inputs/outputs.
+
+ Example:
+ ::
+ outputs = model(inputs) # inputs/outputs may be rich structure
+ adapter = TracingAdapter(model, inputs)
+
+ # can now trace the model, with adapter.flattened_inputs, or another
+ # tuple of tensors with the same length and meaning
+ traced = torch.jit.trace(adapter, adapter.flattened_inputs)
+
+ # traced model can only produce flattened outputs (tuple of tensors)
+ flattened_outputs = traced(*adapter.flattened_inputs)
+ # adapter knows the schema to convert it back (new_outputs == outputs)
+ new_outputs = adapter.outputs_schema(flattened_outputs)
+ """
+
+ flattened_inputs: Tuple[torch.Tensor] = None
+ """
+ Flattened version of inputs given to this class's constructor.
+ """
+
+ inputs_schema: Schema = None
+ """
+ Schema of the inputs given to this class's constructor.
+ """
+
+ outputs_schema: Schema = None
+ """
+ Schema of the output produced by calling the given model with inputs.
+ """
+
+ def __init__(
+ self,
+ model: nn.Module,
+ inputs,
+ inference_func: Optional[Callable] = None,
+ allow_non_tensor: bool = False,
+ ):
+ """
+ Args:
+ model: an nn.Module
+ inputs: An input argument or a tuple of input arguments used to call model.
+ After flattening, it has to only consist of tensors.
+ inference_func: a callable that takes (model, *inputs), calls the
+ model with inputs, and return outputs. By default it
+ is ``lambda model, *inputs: model(*inputs)``. Can be override
+ if you need to call the model differently.
+ allow_non_tensor: allow inputs/outputs to contain non-tensor objects.
+ This option will filter out non-tensor objects to make the
+ model traceable, but ``inputs_schema``/``outputs_schema`` cannot be
+ used anymore because inputs/outputs cannot be rebuilt from pure tensors.
+ This is useful when you're only interested in the single trace of
+ execution (e.g. for flop count), but not interested in
+ generalizing the traced graph to new inputs.
+ """
+ super().__init__()
+ if isinstance(model, (nn.parallel.distributed.DistributedDataParallel, nn.DataParallel)):
+ model = model.module
+ self.model = model
+ if not isinstance(inputs, tuple):
+ inputs = (inputs,)
+ self.inputs = inputs
+ self.allow_non_tensor = allow_non_tensor
+
+ if inference_func is None:
+ inference_func = lambda model, *inputs: model(*inputs) # noqa
+ self.inference_func = inference_func
+
+ self.flattened_inputs, self.inputs_schema = flatten_to_tuple(inputs)
+
+ if all(isinstance(x, torch.Tensor) for x in self.flattened_inputs):
+ return
+ if self.allow_non_tensor:
+ self.flattened_inputs = tuple(
+ [x for x in self.flattened_inputs if isinstance(x, torch.Tensor)]
+ )
+ self.inputs_schema = None
+ else:
+ for input in self.flattened_inputs:
+ if not isinstance(input, torch.Tensor):
+ raise ValueError(
+ "Inputs for tracing must only contain tensors. "
+ f"Got a {type(input)} instead."
+ )
+
+ def forward(self, *args: torch.Tensor):
+ with torch.no_grad(), patch_builtin_len():
+ if self.inputs_schema is not None:
+ inputs_orig_format = self.inputs_schema(args)
+ else:
+ if len(args) != len(self.flattened_inputs) or any(
+ x is not y for x, y in zip(args, self.flattened_inputs)
+ ):
+ raise ValueError(
+ "TracingAdapter does not contain valid inputs_schema."
+ " So it cannot generalize to other inputs and must be"
+ " traced with `.flattened_inputs`."
+ )
+ inputs_orig_format = self.inputs
+
+ outputs = self.inference_func(self.model, *inputs_orig_format)
+ flattened_outputs, schema = flatten_to_tuple(outputs)
+
+ flattened_output_tensors = tuple(
+ [x for x in flattened_outputs if isinstance(x, torch.Tensor)]
+ )
+ if len(flattened_output_tensors) < len(flattened_outputs):
+ if self.allow_non_tensor:
+ flattened_outputs = flattened_output_tensors
+ self.outputs_schema = None
+ else:
+ raise ValueError(
+ "Model cannot be traced because some model outputs "
+ "cannot flatten to tensors."
+ )
+ else: # schema is valid
+ if self.outputs_schema is None:
+ self.outputs_schema = schema
+ else:
+ assert self.outputs_schema == schema, (
+ "Model should always return outputs with the same "
+ "structure so it can be traced!"
+ )
+ return flattened_outputs
+
+ def _create_wrapper(self, traced_model):
+ """
+ Return a function that has an input/output interface the same as the
+ original model, but it calls the given traced model under the hood.
+ """
+
+ def forward(*args):
+ flattened_inputs, _ = flatten_to_tuple(args)
+ flattened_outputs = traced_model(*flattened_inputs)
+ return self.outputs_schema(flattened_outputs)
+
+ return forward
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/export/shared.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/export/shared.py
new file mode 100644
index 0000000000000000000000000000000000000000..53ba9335e26819f9381115eba17bbbe3816b469c
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/export/shared.py
@@ -0,0 +1,1039 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+
+import collections
+import copy
+import functools
+import logging
+import numpy as np
+import os
+from typing import Any, Callable, Dict, List, Optional, Tuple, Union
+from unittest import mock
+import caffe2.python.utils as putils
+import torch
+import torch.nn.functional as F
+from caffe2.proto import caffe2_pb2
+from caffe2.python import core, net_drawer, workspace
+from torch.nn.functional import interpolate as interp
+
+logger = logging.getLogger(__name__)
+
+
+# ==== torch/utils_toffee/cast.py =======================================
+
+
+def to_device(t, device_str):
+ """
+ This function is a replacement of .to(another_device) such that it allows the
+ casting to be traced properly by explicitly calling the underlying copy ops.
+ It also avoids introducing unncessary op when casting to the same device.
+ """
+ src = t.device
+ dst = torch.device(device_str)
+
+ if src == dst:
+ return t
+ elif src.type == "cuda" and dst.type == "cpu":
+ return torch.ops._caffe2.CopyGPUToCPU(t)
+ elif src.type == "cpu" and dst.type == "cuda":
+ return torch.ops._caffe2.CopyCPUToGPU(t)
+ else:
+ raise RuntimeError("Can't cast tensor from device {} to device {}".format(src, dst))
+
+
+# ==== torch/utils_toffee/interpolate.py =======================================
+
+
+# Note: borrowed from vision/detection/fair/detectron/detectron/modeling/detector.py
+def BilinearInterpolation(tensor_in, up_scale):
+ assert up_scale % 2 == 0, "Scale should be even"
+
+ def upsample_filt(size):
+ factor = (size + 1) // 2
+ if size % 2 == 1:
+ center = factor - 1
+ else:
+ center = factor - 0.5
+
+ og = np.ogrid[:size, :size]
+ return (1 - abs(og[0] - center) / factor) * (1 - abs(og[1] - center) / factor)
+
+ kernel_size = int(up_scale) * 2
+ bil_filt = upsample_filt(kernel_size)
+
+ dim = int(tensor_in.shape[1])
+ kernel = np.zeros((dim, dim, kernel_size, kernel_size), dtype=np.float32)
+ kernel[range(dim), range(dim), :, :] = bil_filt
+
+ tensor_out = F.conv_transpose2d(
+ tensor_in,
+ weight=to_device(torch.Tensor(kernel), tensor_in.device),
+ bias=None,
+ stride=int(up_scale),
+ padding=int(up_scale / 2),
+ )
+
+ return tensor_out
+
+
+# NOTE: ONNX is incompatible with traced torch.nn.functional.interpolate if
+# using dynamic `scale_factor` rather than static `size`. (T43166860)
+# NOTE: Caffe2 Int8 conversion might not be able to quantize `size` properly.
+def onnx_compatibale_interpolate(
+ input, size=None, scale_factor=None, mode="nearest", align_corners=None
+):
+ # NOTE: The input dimensions are interpreted in the form:
+ # `mini-batch x channels x [optional depth] x [optional height] x width`.
+ if size is None and scale_factor is not None:
+ if input.dim() == 4:
+ if isinstance(scale_factor, (int, float)):
+ height_scale, width_scale = (scale_factor, scale_factor)
+ else:
+ assert isinstance(scale_factor, (tuple, list))
+ assert len(scale_factor) == 2
+ height_scale, width_scale = scale_factor
+
+ assert not align_corners, "No matching C2 op for align_corners == True"
+ if mode == "nearest":
+ return torch.ops._caffe2.ResizeNearest(
+ input, order="NCHW", width_scale=width_scale, height_scale=height_scale
+ )
+ elif mode == "bilinear":
+ logger.warning(
+ "Use F.conv_transpose2d for bilinear interpolate"
+ " because there's no such C2 op, this may cause significant"
+ " slowdown and the boundary pixels won't be as same as"
+ " using F.interpolate due to padding."
+ )
+ assert height_scale == width_scale
+ return BilinearInterpolation(input, up_scale=height_scale)
+ logger.warning("Output size is not static, it might cause ONNX conversion issue")
+
+ return interp(input, size, scale_factor, mode, align_corners)
+
+
+def mock_torch_nn_functional_interpolate():
+ def decorator(func):
+ @functools.wraps(func)
+ def _mock_torch_nn_functional_interpolate(*args, **kwargs):
+ if torch.onnx.is_in_onnx_export():
+ with mock.patch(
+ "torch.nn.functional.interpolate", side_effect=onnx_compatibale_interpolate
+ ):
+ return func(*args, **kwargs)
+ else:
+ return func(*args, **kwargs)
+
+ return _mock_torch_nn_functional_interpolate
+
+ return decorator
+
+
+# ==== torch/utils_caffe2/ws_utils.py ==========================================
+
+
+class ScopedWS(object):
+ def __init__(self, ws_name, is_reset, is_cleanup=False):
+ self.ws_name = ws_name
+ self.is_reset = is_reset
+ self.is_cleanup = is_cleanup
+ self.org_ws = ""
+
+ def __enter__(self):
+ self.org_ws = workspace.CurrentWorkspace()
+ if self.ws_name is not None:
+ workspace.SwitchWorkspace(self.ws_name, True)
+ if self.is_reset:
+ workspace.ResetWorkspace()
+
+ return workspace
+
+ def __exit__(self, *args):
+ if self.is_cleanup:
+ workspace.ResetWorkspace()
+ if self.ws_name is not None:
+ workspace.SwitchWorkspace(self.org_ws)
+
+
+def fetch_any_blob(name):
+ bb = None
+ try:
+ bb = workspace.FetchBlob(name)
+ except TypeError:
+ bb = workspace.FetchInt8Blob(name)
+ except Exception as e:
+ logger.error("Get blob {} error: {}".format(name, e))
+
+ return bb
+
+
+# ==== torch/utils_caffe2/protobuf.py ==========================================
+
+
+def get_pb_arg(pb, arg_name):
+ for x in pb.arg:
+ if x.name == arg_name:
+ return x
+ return None
+
+
+def get_pb_arg_valf(pb, arg_name, default_val):
+ arg = get_pb_arg(pb, arg_name)
+ return arg.f if arg is not None else default_val
+
+
+def get_pb_arg_floats(pb, arg_name, default_val):
+ arg = get_pb_arg(pb, arg_name)
+ return list(map(float, arg.floats)) if arg is not None else default_val
+
+
+def get_pb_arg_ints(pb, arg_name, default_val):
+ arg = get_pb_arg(pb, arg_name)
+ return list(map(int, arg.ints)) if arg is not None else default_val
+
+
+def get_pb_arg_vali(pb, arg_name, default_val):
+ arg = get_pb_arg(pb, arg_name)
+ return arg.i if arg is not None else default_val
+
+
+def get_pb_arg_vals(pb, arg_name, default_val):
+ arg = get_pb_arg(pb, arg_name)
+ return arg.s if arg is not None else default_val
+
+
+def get_pb_arg_valstrings(pb, arg_name, default_val):
+ arg = get_pb_arg(pb, arg_name)
+ return list(arg.strings) if arg is not None else default_val
+
+
+def check_set_pb_arg(pb, arg_name, arg_attr, arg_value, allow_override=False):
+ arg = get_pb_arg(pb, arg_name)
+ if arg is None:
+ arg = putils.MakeArgument(arg_name, arg_value)
+ assert hasattr(arg, arg_attr)
+ pb.arg.extend([arg])
+ if allow_override and getattr(arg, arg_attr) != arg_value:
+ logger.warning(
+ "Override argument {}: {} -> {}".format(arg_name, getattr(arg, arg_attr), arg_value)
+ )
+ setattr(arg, arg_attr, arg_value)
+ else:
+ assert arg is not None
+ assert getattr(arg, arg_attr) == arg_value, "Existing value {}, new value {}".format(
+ getattr(arg, arg_attr), arg_value
+ )
+
+
+def _create_const_fill_op_from_numpy(name, tensor, device_option=None):
+ assert type(tensor) == np.ndarray
+ kTypeNameMapper = {
+ np.dtype("float32"): "GivenTensorFill",
+ np.dtype("int32"): "GivenTensorIntFill",
+ np.dtype("int64"): "GivenTensorInt64Fill",
+ np.dtype("uint8"): "GivenTensorStringFill",
+ }
+
+ args_dict = {}
+ if tensor.dtype == np.dtype("uint8"):
+ args_dict.update({"values": [str(tensor.data)], "shape": [1]})
+ else:
+ args_dict.update({"values": tensor, "shape": tensor.shape})
+
+ if device_option is not None:
+ args_dict["device_option"] = device_option
+
+ return core.CreateOperator(kTypeNameMapper[tensor.dtype], [], [name], **args_dict)
+
+
+def _create_const_fill_op_from_c2_int8_tensor(name, int8_tensor):
+ assert type(int8_tensor) == workspace.Int8Tensor
+ kTypeNameMapper = {
+ np.dtype("int32"): "Int8GivenIntTensorFill",
+ np.dtype("uint8"): "Int8GivenTensorFill",
+ }
+
+ tensor = int8_tensor.data
+ assert tensor.dtype in [np.dtype("uint8"), np.dtype("int32")]
+ values = tensor.tobytes() if tensor.dtype == np.dtype("uint8") else tensor
+
+ return core.CreateOperator(
+ kTypeNameMapper[tensor.dtype],
+ [],
+ [name],
+ values=values,
+ shape=tensor.shape,
+ Y_scale=int8_tensor.scale,
+ Y_zero_point=int8_tensor.zero_point,
+ )
+
+
+def create_const_fill_op(
+ name: str,
+ blob: Union[np.ndarray, workspace.Int8Tensor],
+ device_option: Optional[caffe2_pb2.DeviceOption] = None,
+) -> caffe2_pb2.OperatorDef:
+ """
+ Given a blob object, return the Caffe2 operator that creates this blob
+ as constant. Currently support NumPy tensor and Caffe2 Int8Tensor.
+ """
+
+ tensor_type = type(blob)
+ assert tensor_type in [
+ np.ndarray,
+ workspace.Int8Tensor,
+ ], 'Error when creating const fill op for "{}", unsupported blob type: {}'.format(
+ name, type(blob)
+ )
+
+ if tensor_type == np.ndarray:
+ return _create_const_fill_op_from_numpy(name, blob, device_option)
+ elif tensor_type == workspace.Int8Tensor:
+ assert device_option is None
+ return _create_const_fill_op_from_c2_int8_tensor(name, blob)
+
+
+def construct_init_net_from_params(
+ params: Dict[str, Any], device_options: Optional[Dict[str, caffe2_pb2.DeviceOption]] = None
+) -> caffe2_pb2.NetDef:
+ """
+ Construct the init_net from params dictionary
+ """
+ init_net = caffe2_pb2.NetDef()
+ device_options = device_options or {}
+ for name, blob in params.items():
+ if isinstance(blob, str):
+ logger.warning(
+ (
+ "Blob {} with type {} is not supported in generating init net,"
+ " skipped.".format(name, type(blob))
+ )
+ )
+ continue
+ init_net.op.extend(
+ [create_const_fill_op(name, blob, device_option=device_options.get(name, None))]
+ )
+ init_net.external_output.append(name)
+ return init_net
+
+
+def get_producer_map(ssa):
+ """
+ Return dict from versioned blob to (i, j),
+ where i is index of producer op, j is the index of output of that op.
+ """
+ producer_map = {}
+ for i in range(len(ssa)):
+ outputs = ssa[i][1]
+ for j, outp in enumerate(outputs):
+ producer_map[outp] = (i, j)
+ return producer_map
+
+
+def get_consumer_map(ssa):
+ """
+ Return dict from versioned blob to list of (i, j),
+ where i is index of consumer op, j is the index of input of that op.
+ """
+ consumer_map = collections.defaultdict(list)
+ for i in range(len(ssa)):
+ inputs = ssa[i][0]
+ for j, inp in enumerate(inputs):
+ consumer_map[inp].append((i, j))
+ return consumer_map
+
+
+def get_params_from_init_net(
+ init_net: caffe2_pb2.NetDef,
+) -> [Dict[str, Any], Dict[str, caffe2_pb2.DeviceOption]]:
+ """
+ Take the output blobs from init_net by running it.
+ Outputs:
+ params: dict from blob name to numpy array
+ device_options: dict from blob name to the device option of its creating op
+ """
+ # NOTE: this assumes that the params is determined by producer op with the
+ # only exception be CopyGPUToCPU which is CUDA op but returns CPU tensor.
+ def _get_device_option(producer_op):
+ if producer_op.type == "CopyGPUToCPU":
+ return caffe2_pb2.DeviceOption()
+ else:
+ return producer_op.device_option
+
+ with ScopedWS("__get_params_from_init_net__", is_reset=True, is_cleanup=True) as ws:
+ ws.RunNetOnce(init_net)
+ params = {b: fetch_any_blob(b) for b in init_net.external_output}
+ ssa, versions = core.get_ssa(init_net)
+ producer_map = get_producer_map(ssa)
+ device_options = {
+ b: _get_device_option(init_net.op[producer_map[(b, versions[b])][0]])
+ for b in init_net.external_output
+ }
+ return params, device_options
+
+
+def _updater_raise(op, input_types, output_types):
+ raise RuntimeError(
+ "Failed to apply updater for op {} given input_types {} and"
+ " output_types {}".format(op, input_types, output_types)
+ )
+
+
+def _generic_status_identifier(
+ predict_net: caffe2_pb2.NetDef,
+ status_updater: Callable,
+ known_status: Dict[Tuple[str, int], Any],
+) -> Dict[Tuple[str, int], Any]:
+ """
+ Statically infer the status of each blob, the status can be such as device type
+ (CPU/GPU), layout (NCHW/NHWC), data type (float32/int8), etc. "Blob" here
+ is versioned blob (Tuple[str, int]) in the format compatible with ssa.
+ Inputs:
+ predict_net: the caffe2 network
+ status_updater: a callable, given an op and the status of its input/output,
+ it returns the updated status of input/output. `None` is used for
+ representing unknown status.
+ known_status: a dict containing known status, used as initialization.
+ Outputs:
+ A dict mapping from versioned blob to its status
+ """
+ ssa, versions = core.get_ssa(predict_net)
+ versioned_ext_input = [(b, 0) for b in predict_net.external_input]
+ versioned_ext_output = [(b, versions[b]) for b in predict_net.external_output]
+ all_versioned_blobs = set().union(*[set(x[0] + x[1]) for x in ssa])
+
+ allowed_vbs = all_versioned_blobs.union(versioned_ext_input).union(versioned_ext_output)
+ assert all(k in allowed_vbs for k in known_status)
+ assert all(v is not None for v in known_status.values())
+ _known_status = copy.deepcopy(known_status)
+
+ def _check_and_update(key, value):
+ assert value is not None
+ if key in _known_status:
+ if not _known_status[key] == value:
+ raise RuntimeError(
+ "Confilict status for {}, existing status {}, new status {}".format(
+ key, _known_status[key], value
+ )
+ )
+ _known_status[key] = value
+
+ def _update_i(op, ssa_i):
+ versioned_inputs = ssa_i[0]
+ versioned_outputs = ssa_i[1]
+
+ inputs_status = [_known_status.get(b, None) for b in versioned_inputs]
+ outputs_status = [_known_status.get(b, None) for b in versioned_outputs]
+
+ new_inputs_status, new_outputs_status = status_updater(op, inputs_status, outputs_status)
+
+ for versioned_blob, status in zip(
+ versioned_inputs + versioned_outputs, new_inputs_status + new_outputs_status
+ ):
+ if status is not None:
+ _check_and_update(versioned_blob, status)
+
+ for op, ssa_i in zip(predict_net.op, ssa):
+ _update_i(op, ssa_i)
+ for op, ssa_i in zip(reversed(predict_net.op), reversed(ssa)):
+ _update_i(op, ssa_i)
+
+ # NOTE: This strictly checks all the blob from predict_net must be assgined
+ # a known status. However sometimes it's impossible (eg. having deadend op),
+ # we may relax this constraint if
+ for k in all_versioned_blobs:
+ if k not in _known_status:
+ raise NotImplementedError(
+ "Can not infer the status for {}. Currently only support the case where"
+ " a single forward and backward pass can identify status for all blobs.".format(k)
+ )
+
+ return _known_status
+
+
+def infer_device_type(
+ predict_net: caffe2_pb2.NetDef,
+ known_status: Dict[Tuple[str, int], Any],
+ device_name_style: str = "caffe2",
+) -> Dict[Tuple[str, int], str]:
+ """Return the device type ("cpu" or "gpu"/"cuda") of each (versioned) blob"""
+
+ assert device_name_style in ["caffe2", "pytorch"]
+ _CPU_STR = "cpu"
+ _GPU_STR = "gpu" if device_name_style == "caffe2" else "cuda"
+
+ def _copy_cpu_to_gpu_updater(op, input_types, output_types):
+ if input_types[0] == _GPU_STR or output_types[0] == _CPU_STR:
+ _updater_raise(op, input_types, output_types)
+ return ([_CPU_STR], [_GPU_STR])
+
+ def _copy_gpu_to_cpu_updater(op, input_types, output_types):
+ if input_types[0] == _CPU_STR or output_types[0] == _GPU_STR:
+ _updater_raise(op, input_types, output_types)
+ return ([_GPU_STR], [_CPU_STR])
+
+ def _other_ops_updater(op, input_types, output_types):
+ non_none_types = [x for x in input_types + output_types if x is not None]
+ if len(non_none_types) > 0:
+ the_type = non_none_types[0]
+ if not all(x == the_type for x in non_none_types):
+ _updater_raise(op, input_types, output_types)
+ else:
+ the_type = None
+ return ([the_type for _ in op.input], [the_type for _ in op.output])
+
+ def _device_updater(op, *args, **kwargs):
+ return {
+ "CopyCPUToGPU": _copy_cpu_to_gpu_updater,
+ "CopyGPUToCPU": _copy_gpu_to_cpu_updater,
+ }.get(op.type, _other_ops_updater)(op, *args, **kwargs)
+
+ return _generic_status_identifier(predict_net, _device_updater, known_status)
+
+
+# ==== torch/utils_caffe2/vis.py ===============================================
+
+
+def _modify_blob_names(ops, blob_rename_f):
+ ret = []
+
+ def _replace_list(blob_list, replaced_list):
+ del blob_list[:]
+ blob_list.extend(replaced_list)
+
+ for x in ops:
+ cur = copy.deepcopy(x)
+ _replace_list(cur.input, list(map(blob_rename_f, cur.input)))
+ _replace_list(cur.output, list(map(blob_rename_f, cur.output)))
+ ret.append(cur)
+
+ return ret
+
+
+def _rename_blob(name, blob_sizes, blob_ranges):
+ def _list_to_str(bsize):
+ ret = ", ".join([str(x) for x in bsize])
+ ret = "[" + ret + "]"
+ return ret
+
+ ret = name
+ if blob_sizes is not None and name in blob_sizes:
+ ret += "\n" + _list_to_str(blob_sizes[name])
+ if blob_ranges is not None and name in blob_ranges:
+ ret += "\n" + _list_to_str(blob_ranges[name])
+
+ return ret
+
+
+# graph_name could not contain word 'graph'
+def save_graph(net, file_name, graph_name="net", op_only=True, blob_sizes=None, blob_ranges=None):
+ blob_rename_f = functools.partial(_rename_blob, blob_sizes=blob_sizes, blob_ranges=blob_ranges)
+ return save_graph_base(net, file_name, graph_name, op_only, blob_rename_f)
+
+
+def save_graph_base(net, file_name, graph_name="net", op_only=True, blob_rename_func=None):
+ graph = None
+ ops = net.op
+ if blob_rename_func is not None:
+ ops = _modify_blob_names(ops, blob_rename_func)
+ if not op_only:
+ graph = net_drawer.GetPydotGraph(ops, graph_name, rankdir="TB")
+ else:
+ graph = net_drawer.GetPydotGraphMinimal(
+ ops, graph_name, rankdir="TB", minimal_dependency=True
+ )
+
+ try:
+ par_dir = os.path.dirname(file_name)
+ if not os.path.exists(par_dir):
+ os.makedirs(par_dir)
+
+ format = os.path.splitext(os.path.basename(file_name))[-1]
+ if format == ".png":
+ graph.write_png(file_name)
+ elif format == ".pdf":
+ graph.write_pdf(file_name)
+ elif format == ".svg":
+ graph.write_svg(file_name)
+ else:
+ print("Incorrect format {}".format(format))
+ except Exception as e:
+ print("Error when writing graph to image {}".format(e))
+
+ return graph
+
+
+# ==== torch/utils_toffee/aten_to_caffe2.py ====================================
+
+
+def group_norm_replace_aten_with_caffe2(predict_net: caffe2_pb2.NetDef):
+ """
+ For ONNX exported model, GroupNorm will be represented as ATen op,
+ this can be a drop in replacement from ATen to GroupNorm
+ """
+ count = 0
+ for op in predict_net.op:
+ if op.type == "ATen":
+ op_name = get_pb_arg_vals(op, "operator", None) # return byte in py3
+ if op_name and op_name.decode() == "group_norm":
+ op.arg.remove(get_pb_arg(op, "operator"))
+
+ if get_pb_arg_vali(op, "cudnn_enabled", None):
+ op.arg.remove(get_pb_arg(op, "cudnn_enabled"))
+
+ num_groups = get_pb_arg_vali(op, "num_groups", None)
+ if num_groups is not None:
+ op.arg.remove(get_pb_arg(op, "num_groups"))
+ check_set_pb_arg(op, "group", "i", num_groups)
+
+ op.type = "GroupNorm"
+ count += 1
+ if count > 1:
+ logger.info("Replaced {} ATen operator to GroupNormOp".format(count))
+
+
+# ==== torch/utils_toffee/alias.py =============================================
+
+
+def alias(x, name, is_backward=False):
+ if not torch.onnx.is_in_onnx_export():
+ return x
+ assert isinstance(x, torch.Tensor)
+ return torch.ops._caffe2.AliasWithName(x, name, is_backward=is_backward)
+
+
+def fuse_alias_placeholder(predict_net, init_net):
+ """Remove AliasWithName placeholder and rename the input/output of it"""
+ # First we finish all the re-naming
+ for i, op in enumerate(predict_net.op):
+ if op.type == "AliasWithName":
+ assert len(op.input) == 1
+ assert len(op.output) == 1
+ name = get_pb_arg_vals(op, "name", None).decode()
+ is_backward = bool(get_pb_arg_vali(op, "is_backward", 0))
+ rename_op_input(predict_net, init_net, i, 0, name, from_producer=is_backward)
+ rename_op_output(predict_net, i, 0, name)
+
+ # Remove AliasWithName, should be very safe since it's a non-op
+ new_ops = []
+ for op in predict_net.op:
+ if op.type != "AliasWithName":
+ new_ops.append(op)
+ else:
+ # safety check
+ assert op.input == op.output
+ assert op.input[0] == op.arg[0].s.decode()
+ del predict_net.op[:]
+ predict_net.op.extend(new_ops)
+
+
+# ==== torch/utils_caffe2/graph_transform.py ===================================
+
+
+class IllegalGraphTransformError(ValueError):
+ """When a graph transform function call can't be executed."""
+
+
+def _rename_versioned_blob_in_proto(
+ proto: caffe2_pb2.NetDef,
+ old_name: str,
+ new_name: str,
+ version: int,
+ ssa: List[Tuple[List[Tuple[str, int]], List[Tuple[str, int]]]],
+ start_versions: Dict[str, int],
+ end_versions: Dict[str, int],
+):
+ """In given proto, rename all blobs with matched version"""
+ # Operater list
+ for op, i_th_ssa in zip(proto.op, ssa):
+ versioned_inputs, versioned_outputs = i_th_ssa
+ for i in range(len(op.input)):
+ if versioned_inputs[i] == (old_name, version):
+ op.input[i] = new_name
+ for i in range(len(op.output)):
+ if versioned_outputs[i] == (old_name, version):
+ op.output[i] = new_name
+ # external_input
+ if start_versions.get(old_name, 0) == version:
+ for i in range(len(proto.external_input)):
+ if proto.external_input[i] == old_name:
+ proto.external_input[i] = new_name
+ # external_output
+ if end_versions.get(old_name, 0) == version:
+ for i in range(len(proto.external_output)):
+ if proto.external_output[i] == old_name:
+ proto.external_output[i] = new_name
+
+
+def rename_op_input(
+ predict_net: caffe2_pb2.NetDef,
+ init_net: caffe2_pb2.NetDef,
+ op_id: int,
+ input_id: int,
+ new_name: str,
+ from_producer: bool = False,
+):
+ """
+ Rename the op_id-th operator in predict_net, change it's input_id-th input's
+ name to the new_name. It also does automatic re-route and change
+ external_input and init_net if necessary.
+ - It requires the input is only consumed by this op.
+ - This function modifies predict_net and init_net in-place.
+ - When from_producer is enable, this also updates other operators that consumes
+ the same input. Be cautious because may trigger unintended behavior.
+ """
+ assert isinstance(predict_net, caffe2_pb2.NetDef)
+ assert isinstance(init_net, caffe2_pb2.NetDef)
+
+ init_net_ssa, init_net_versions = core.get_ssa(init_net)
+ predict_net_ssa, predict_net_versions = core.get_ssa(
+ predict_net, copy.deepcopy(init_net_versions)
+ )
+
+ versioned_inputs, versioned_outputs = predict_net_ssa[op_id]
+ old_name, version = versioned_inputs[input_id]
+
+ if from_producer:
+ producer_map = get_producer_map(predict_net_ssa)
+ if not (old_name, version) in producer_map:
+ raise NotImplementedError(
+ "Can't find producer, the input {} is probably from"
+ " init_net, this is not supported yet.".format(old_name)
+ )
+ producer = producer_map[(old_name, version)]
+ rename_op_output(predict_net, producer[0], producer[1], new_name)
+ return
+
+ def contain_targets(op_ssa):
+ return (old_name, version) in op_ssa[0]
+
+ is_consumer = [contain_targets(op_ssa) for op_ssa in predict_net_ssa]
+ if sum(is_consumer) > 1:
+ raise IllegalGraphTransformError(
+ (
+ "Input '{}' of operator(#{}) are consumed by other ops, please use"
+ + " rename_op_output on the producer instead. Offending op: \n{}"
+ ).format(old_name, op_id, predict_net.op[op_id])
+ )
+
+ # update init_net
+ _rename_versioned_blob_in_proto(
+ init_net, old_name, new_name, version, init_net_ssa, {}, init_net_versions
+ )
+ # update predict_net
+ _rename_versioned_blob_in_proto(
+ predict_net,
+ old_name,
+ new_name,
+ version,
+ predict_net_ssa,
+ init_net_versions,
+ predict_net_versions,
+ )
+
+
+def rename_op_output(predict_net: caffe2_pb2.NetDef, op_id: int, output_id: int, new_name: str):
+ """
+ Rename the op_id-th operator in predict_net, change it's output_id-th input's
+ name to the new_name. It also does automatic re-route and change
+ external_output and if necessary.
+ - It allows multiple consumers of its output.
+ - This function modifies predict_net in-place, doesn't need init_net.
+ """
+ assert isinstance(predict_net, caffe2_pb2.NetDef)
+
+ ssa, blob_versions = core.get_ssa(predict_net)
+
+ versioned_inputs, versioned_outputs = ssa[op_id]
+ old_name, version = versioned_outputs[output_id]
+
+ # update predict_net
+ _rename_versioned_blob_in_proto(
+ predict_net, old_name, new_name, version, ssa, {}, blob_versions
+ )
+
+
+def get_sub_graph_external_input_output(
+ predict_net: caffe2_pb2.NetDef, sub_graph_op_indices: List[int]
+) -> Tuple[List[Tuple[str, int]], List[Tuple[str, int]]]:
+ """
+ Return the list of external input/output of sub-graph,
+ each element is tuple of the name and corresponding version in predict_net.
+
+ external input/output is defined the same way as caffe2 NetDef.
+ """
+ ssa, versions = core.get_ssa(predict_net)
+
+ all_inputs = []
+ all_outputs = []
+ for op_id in sub_graph_op_indices:
+ all_inputs += [inp for inp in ssa[op_id][0] if inp not in all_inputs]
+ all_outputs += list(ssa[op_id][1]) # ssa output won't repeat
+
+ # for versioned blobs, external inputs are just those blob in all_inputs
+ # but not in all_outputs
+ ext_inputs = [inp for inp in all_inputs if inp not in all_outputs]
+
+ # external outputs are essentially outputs of this subgraph that are used
+ # outside of this sub-graph (including predict_net.external_output)
+ all_other_inputs = sum(
+ (ssa[i][0] for i in range(len(ssa)) if i not in sub_graph_op_indices),
+ [(outp, versions[outp]) for outp in predict_net.external_output],
+ )
+ ext_outputs = [outp for outp in all_outputs if outp in set(all_other_inputs)]
+
+ return ext_inputs, ext_outputs
+
+
+class DiGraph:
+ """A DAG representation of caffe2 graph, each vertice is a versioned blob."""
+
+ def __init__(self):
+ self.vertices = set()
+ self.graph = collections.defaultdict(list)
+
+ def add_edge(self, u, v):
+ self.graph[u].append(v)
+ self.vertices.add(u)
+ self.vertices.add(v)
+
+ # grab from https://www.geeksforgeeks.org/find-paths-given-source-destination/
+ def get_all_paths(self, s, d):
+ visited = {k: False for k in self.vertices}
+ path = []
+ all_paths = []
+
+ def _get_all_paths_util(graph, u, d, visited, path):
+ visited[u] = True
+ path.append(u)
+ if u == d:
+ all_paths.append(copy.deepcopy(path))
+ else:
+ for i in graph[u]:
+ if not visited[i]:
+ _get_all_paths_util(graph, i, d, visited, path)
+ path.pop()
+ visited[u] = False
+
+ _get_all_paths_util(self.graph, s, d, visited, path)
+ return all_paths
+
+ @staticmethod
+ def from_ssa(ssa):
+ graph = DiGraph()
+ for op_id in range(len(ssa)):
+ for inp in ssa[op_id][0]:
+ for outp in ssa[op_id][1]:
+ graph.add_edge(inp, outp)
+ return graph
+
+
+def _get_dependency_chain(ssa, versioned_target, versioned_source):
+ """
+ Return the index list of relevant operator to produce target blob from source blob,
+ if there's no dependency, return empty list.
+ """
+
+ # finding all paths between nodes can be O(N!), thus we can only search
+ # in the subgraph using the op starting from the first consumer of source blob
+ # to the producer of the target blob.
+ consumer_map = get_consumer_map(ssa)
+ producer_map = get_producer_map(ssa)
+ start_op = min(x[0] for x in consumer_map[versioned_source]) - 15
+ end_op = (
+ producer_map[versioned_target][0] + 15 if versioned_target in producer_map else start_op
+ )
+ sub_graph_ssa = ssa[start_op : end_op + 1]
+ if len(sub_graph_ssa) > 30:
+ logger.warning(
+ "Subgraph bebetween {} and {} is large (from op#{} to op#{}), it"
+ " might take non-trival time to find all paths between them.".format(
+ versioned_source, versioned_target, start_op, end_op
+ )
+ )
+
+ dag = DiGraph.from_ssa(sub_graph_ssa)
+ paths = dag.get_all_paths(versioned_source, versioned_target) # include two ends
+ ops_in_paths = [[producer_map[blob][0] for blob in path[1:]] for path in paths]
+ return sorted(set().union(*[set(ops) for ops in ops_in_paths]))
+
+
+def identify_reshape_sub_graph(predict_net: caffe2_pb2.NetDef) -> List[List[int]]:
+ """
+ Idenfity the reshape sub-graph in a protobuf.
+ The reshape sub-graph is defined as matching the following pattern:
+
+ (input_blob) -> Op_1 -> ... -> Op_N -> (new_shape) -─┐
+ └-------------------------------------------> Reshape -> (output_blob)
+
+ Return:
+ List of sub-graphs, each sub-graph is represented as a list of indices
+ of the relavent ops, [Op_1, Op_2, ..., Op_N, Reshape]
+ """
+
+ ssa, _ = core.get_ssa(predict_net)
+
+ ret = []
+ for i, op in enumerate(predict_net.op):
+ if op.type == "Reshape":
+ assert len(op.input) == 2
+ input_ssa = ssa[i][0]
+ data_source = input_ssa[0]
+ shape_source = input_ssa[1]
+ op_indices = _get_dependency_chain(ssa, shape_source, data_source)
+ ret.append(op_indices + [i])
+ return ret
+
+
+def remove_reshape_for_fc(predict_net, params):
+ """
+ In PyTorch nn.Linear has to take 2D tensor, this often leads to reshape
+ a 4D tensor to 2D by calling .view(). However this (dynamic) reshaping
+ doesn't work well with ONNX and Int8 tools, and cause using extra
+ ops (eg. ExpandDims) that might not be available on mobile.
+ Luckily Caffe2 supports 4D tensor for FC, so we can remove those reshape
+ after exporting ONNX model.
+ """
+ from caffe2.python import core
+
+ # find all reshape sub-graph that can be removed, which is now all Reshape
+ # sub-graph whose output is only consumed by FC.
+ # TODO: to make it safer, we may need the actually value to better determine
+ # if a Reshape before FC is removable.
+ reshape_sub_graphs = identify_reshape_sub_graph(predict_net)
+ sub_graphs_to_remove = []
+ for reshape_sub_graph in reshape_sub_graphs:
+ reshape_op_id = reshape_sub_graph[-1]
+ assert predict_net.op[reshape_op_id].type == "Reshape"
+ ssa, _ = core.get_ssa(predict_net)
+ reshape_output = ssa[reshape_op_id][1][0]
+ consumers = [i for i in range(len(ssa)) if reshape_output in ssa[i][0]]
+ if all(predict_net.op[consumer].type == "FC" for consumer in consumers):
+ # safety check if the sub-graph is isolated, for this reshape sub-graph,
+ # it means it has one non-param external input and one external output.
+ ext_inputs, ext_outputs = get_sub_graph_external_input_output(
+ predict_net, reshape_sub_graph
+ )
+ non_params_ext_inputs = [inp for inp in ext_inputs if inp[1] != 0]
+ if len(non_params_ext_inputs) == 1 and len(ext_outputs) == 1:
+ sub_graphs_to_remove.append(reshape_sub_graph)
+
+ # perform removing subgraph by:
+ # 1: rename the Reshape's output to its input, then the graph can be
+ # seen as in-place itentify, meaning whose external input/output are the same.
+ # 2: simply remove those ops.
+ remove_op_ids = []
+ params_to_remove = []
+ for sub_graph in sub_graphs_to_remove:
+ logger.info(
+ "Remove Reshape sub-graph:\n{}".format(
+ "".join(["(#{:>4})\n{}".format(i, predict_net.op[i]) for i in sub_graph])
+ )
+ )
+ reshape_op_id = sub_graph[-1]
+ new_reshap_output = predict_net.op[reshape_op_id].input[0]
+ rename_op_output(predict_net, reshape_op_id, 0, new_reshap_output)
+ ext_inputs, ext_outputs = get_sub_graph_external_input_output(predict_net, sub_graph)
+ non_params_ext_inputs = [inp for inp in ext_inputs if inp[1] != 0]
+ params_ext_inputs = [inp for inp in ext_inputs if inp[1] == 0]
+ assert len(non_params_ext_inputs) == 1 and len(ext_outputs) == 1
+ assert ext_outputs[0][0] == non_params_ext_inputs[0][0]
+ assert ext_outputs[0][1] == non_params_ext_inputs[0][1] + 1
+ remove_op_ids.extend(sub_graph)
+ params_to_remove.extend(params_ext_inputs)
+
+ predict_net = copy.deepcopy(predict_net)
+ new_ops = [op for i, op in enumerate(predict_net.op) if i not in remove_op_ids]
+ del predict_net.op[:]
+ predict_net.op.extend(new_ops)
+ for versioned_params in params_to_remove:
+ name = versioned_params[0]
+ logger.info("Remove params: {} from init_net and predict_net.external_input".format(name))
+ del params[name]
+ predict_net.external_input.remove(name)
+
+ return predict_net, params
+
+
+def fuse_copy_between_cpu_and_gpu(predict_net: caffe2_pb2.NetDef):
+ """
+ In-place fuse extra copy ops between cpu/gpu for the following case:
+ a -CopyAToB-> b -CopyBToA> c1 -NextOp1-> d1
+ -CopyBToA> c2 -NextOp2-> d2
+ The fused network will look like:
+ a -NextOp1-> d1
+ -NextOp2-> d2
+ """
+
+ _COPY_OPS = ["CopyCPUToGPU", "CopyGPUToCPU"]
+
+ def _fuse_once(predict_net):
+ ssa, blob_versions = core.get_ssa(predict_net)
+ consumer_map = get_consumer_map(ssa)
+ versioned_external_output = [
+ (name, blob_versions[name]) for name in predict_net.external_output
+ ]
+
+ for op_id, op in enumerate(predict_net.op):
+ if op.type in _COPY_OPS:
+ fw_copy_versioned_output = ssa[op_id][1][0]
+ consumer_ids = [x[0] for x in consumer_map[fw_copy_versioned_output]]
+ reverse_op_type = _COPY_OPS[1 - _COPY_OPS.index(op.type)]
+
+ is_fusable = (
+ len(consumer_ids) > 0
+ and fw_copy_versioned_output not in versioned_external_output
+ and all(
+ predict_net.op[_op_id].type == reverse_op_type
+ and ssa[_op_id][1][0] not in versioned_external_output
+ for _op_id in consumer_ids
+ )
+ )
+
+ if is_fusable:
+ for rv_copy_op_id in consumer_ids:
+ # making each NextOp uses "a" directly and removing Copy ops
+ rs_copy_versioned_output = ssa[rv_copy_op_id][1][0]
+ next_op_id, inp_id = consumer_map[rs_copy_versioned_output][0]
+ predict_net.op[next_op_id].input[inp_id] = op.input[0]
+ # remove CopyOps
+ new_ops = [
+ op
+ for i, op in enumerate(predict_net.op)
+ if i != op_id and i not in consumer_ids
+ ]
+ del predict_net.op[:]
+ predict_net.op.extend(new_ops)
+ return True
+
+ return False
+
+ # _fuse_once returns False is nothing can be fused
+ while _fuse_once(predict_net):
+ pass
+
+
+def remove_dead_end_ops(net_def: caffe2_pb2.NetDef):
+ """remove ops if its output is not used or not in external_output"""
+ ssa, versions = core.get_ssa(net_def)
+ versioned_external_output = [(name, versions[name]) for name in net_def.external_output]
+ consumer_map = get_consumer_map(ssa)
+ removed_op_ids = set()
+
+ def _is_dead_end(versioned_blob):
+ return not (
+ versioned_blob in versioned_external_output
+ or (
+ len(consumer_map[versioned_blob]) > 0
+ and all(x[0] not in removed_op_ids for x in consumer_map[versioned_blob])
+ )
+ )
+
+ for i, ssa_i in reversed(list(enumerate(ssa))):
+ versioned_outputs = ssa_i[1]
+ if all(_is_dead_end(outp) for outp in versioned_outputs):
+ removed_op_ids.add(i)
+
+ # simply removing those deadend ops should have no effect to external_output
+ new_ops = [op for i, op in enumerate(net_def.op) if i not in removed_op_ids]
+ del net_def.op[:]
+ net_def.op.extend(new_ops)
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/export/torchscript.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/export/torchscript.py
new file mode 100644
index 0000000000000000000000000000000000000000..8ce1c81e1b7abb65415055ae0d1d4b83e1ae111d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/export/torchscript.py
@@ -0,0 +1,132 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+
+import os
+import torch
+
+from annotator.oneformer.detectron2.utils.file_io import PathManager
+
+from .torchscript_patch import freeze_training_mode, patch_instances
+
+__all__ = ["scripting_with_instances", "dump_torchscript_IR"]
+
+
+def scripting_with_instances(model, fields):
+ """
+ Run :func:`torch.jit.script` on a model that uses the :class:`Instances` class. Since
+ attributes of :class:`Instances` are "dynamically" added in eager mode,it is difficult
+ for scripting to support it out of the box. This function is made to support scripting
+ a model that uses :class:`Instances`. It does the following:
+
+ 1. Create a scriptable ``new_Instances`` class which behaves similarly to ``Instances``,
+ but with all attributes been "static".
+ The attributes need to be statically declared in the ``fields`` argument.
+ 2. Register ``new_Instances``, and force scripting compiler to
+ use it when trying to compile ``Instances``.
+
+ After this function, the process will be reverted. User should be able to script another model
+ using different fields.
+
+ Example:
+ Assume that ``Instances`` in the model consist of two attributes named
+ ``proposal_boxes`` and ``objectness_logits`` with type :class:`Boxes` and
+ :class:`Tensor` respectively during inference. You can call this function like:
+ ::
+ fields = {"proposal_boxes": Boxes, "objectness_logits": torch.Tensor}
+ torchscipt_model = scripting_with_instances(model, fields)
+
+ Note:
+ It only support models in evaluation mode.
+
+ Args:
+ model (nn.Module): The input model to be exported by scripting.
+ fields (Dict[str, type]): Attribute names and corresponding type that
+ ``Instances`` will use in the model. Note that all attributes used in ``Instances``
+ need to be added, regardless of whether they are inputs/outputs of the model.
+ Data type not defined in detectron2 is not supported for now.
+
+ Returns:
+ torch.jit.ScriptModule: the model in torchscript format
+ """
+ assert (
+ not model.training
+ ), "Currently we only support exporting models in evaluation mode to torchscript"
+
+ with freeze_training_mode(model), patch_instances(fields):
+ scripted_model = torch.jit.script(model)
+ return scripted_model
+
+
+# alias for old name
+export_torchscript_with_instances = scripting_with_instances
+
+
+def dump_torchscript_IR(model, dir):
+ """
+ Dump IR of a TracedModule/ScriptModule/Function in various format (code, graph,
+ inlined graph). Useful for debugging.
+
+ Args:
+ model (TracedModule/ScriptModule/ScriptFUnction): traced or scripted module
+ dir (str): output directory to dump files.
+ """
+ dir = os.path.expanduser(dir)
+ PathManager.mkdirs(dir)
+
+ def _get_script_mod(mod):
+ if isinstance(mod, torch.jit.TracedModule):
+ return mod._actual_script_module
+ return mod
+
+ # Dump pretty-printed code: https://pytorch.org/docs/stable/jit.html#inspecting-code
+ with PathManager.open(os.path.join(dir, "model_ts_code.txt"), "w") as f:
+
+ def get_code(mod):
+ # Try a few ways to get code using private attributes.
+ try:
+ # This contains more information than just `mod.code`
+ return _get_script_mod(mod)._c.code
+ except AttributeError:
+ pass
+ try:
+ return mod.code
+ except AttributeError:
+ return None
+
+ def dump_code(prefix, mod):
+ code = get_code(mod)
+ name = prefix or "root model"
+ if code is None:
+ f.write(f"Could not found code for {name} (type={mod.original_name})\n")
+ f.write("\n")
+ else:
+ f.write(f"\nCode for {name}, type={mod.original_name}:\n")
+ f.write(code)
+ f.write("\n")
+ f.write("-" * 80)
+
+ for name, m in mod.named_children():
+ dump_code(prefix + "." + name, m)
+
+ if isinstance(model, torch.jit.ScriptFunction):
+ f.write(get_code(model))
+ else:
+ dump_code("", model)
+
+ def _get_graph(model):
+ try:
+ # Recursively dump IR of all modules
+ return _get_script_mod(model)._c.dump_to_str(True, False, False)
+ except AttributeError:
+ return model.graph.str()
+
+ with PathManager.open(os.path.join(dir, "model_ts_IR.txt"), "w") as f:
+ f.write(_get_graph(model))
+
+ # Dump IR of the entire graph (all submodules inlined)
+ with PathManager.open(os.path.join(dir, "model_ts_IR_inlined.txt"), "w") as f:
+ f.write(str(model.inlined_graph))
+
+ if not isinstance(model, torch.jit.ScriptFunction):
+ # Dump the model structure in pytorch style
+ with PathManager.open(os.path.join(dir, "model.txt"), "w") as f:
+ f.write(str(model))
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/export/torchscript_patch.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/export/torchscript_patch.py
new file mode 100644
index 0000000000000000000000000000000000000000..24c69b25dbec19221bcd8fc2e928a8393dd3aaf6
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/export/torchscript_patch.py
@@ -0,0 +1,406 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+
+import os
+import sys
+import tempfile
+from contextlib import ExitStack, contextmanager
+from copy import deepcopy
+from unittest import mock
+import torch
+from torch import nn
+
+# need some explicit imports due to https://github.com/pytorch/pytorch/issues/38964
+import annotator.oneformer.detectron2 # noqa F401
+from annotator.oneformer.detectron2.structures import Boxes, Instances
+from annotator.oneformer.detectron2.utils.env import _import_file
+
+_counter = 0
+
+
+def _clear_jit_cache():
+ from torch.jit._recursive import concrete_type_store
+ from torch.jit._state import _jit_caching_layer
+
+ concrete_type_store.type_store.clear() # for modules
+ _jit_caching_layer.clear() # for free functions
+
+
+def _add_instances_conversion_methods(newInstances):
+ """
+ Add from_instances methods to the scripted Instances class.
+ """
+ cls_name = newInstances.__name__
+
+ @torch.jit.unused
+ def from_instances(instances: Instances):
+ """
+ Create scripted Instances from original Instances
+ """
+ fields = instances.get_fields()
+ image_size = instances.image_size
+ ret = newInstances(image_size)
+ for name, val in fields.items():
+ assert hasattr(ret, f"_{name}"), f"No attribute named {name} in {cls_name}"
+ setattr(ret, name, deepcopy(val))
+ return ret
+
+ newInstances.from_instances = from_instances
+
+
+@contextmanager
+def patch_instances(fields):
+ """
+ A contextmanager, under which the Instances class in detectron2 is replaced
+ by a statically-typed scriptable class, defined by `fields`.
+ See more in `scripting_with_instances`.
+ """
+
+ with tempfile.TemporaryDirectory(prefix="detectron2") as dir, tempfile.NamedTemporaryFile(
+ mode="w", encoding="utf-8", suffix=".py", dir=dir, delete=False
+ ) as f:
+ try:
+ # Objects that use Instances should not reuse previously-compiled
+ # results in cache, because `Instances` could be a new class each time.
+ _clear_jit_cache()
+
+ cls_name, s = _gen_instance_module(fields)
+ f.write(s)
+ f.flush()
+ f.close()
+
+ module = _import(f.name)
+ new_instances = getattr(module, cls_name)
+ _ = torch.jit.script(new_instances)
+ # let torchscript think Instances was scripted already
+ Instances.__torch_script_class__ = True
+ # let torchscript find new_instances when looking for the jit type of Instances
+ Instances._jit_override_qualname = torch._jit_internal._qualified_name(new_instances)
+
+ _add_instances_conversion_methods(new_instances)
+ yield new_instances
+ finally:
+ try:
+ del Instances.__torch_script_class__
+ del Instances._jit_override_qualname
+ except AttributeError:
+ pass
+ sys.modules.pop(module.__name__)
+
+
+def _gen_instance_class(fields):
+ """
+ Args:
+ fields (dict[name: type])
+ """
+
+ class _FieldType:
+ def __init__(self, name, type_):
+ assert isinstance(name, str), f"Field name must be str, got {name}"
+ self.name = name
+ self.type_ = type_
+ self.annotation = f"{type_.__module__}.{type_.__name__}"
+
+ fields = [_FieldType(k, v) for k, v in fields.items()]
+
+ def indent(level, s):
+ return " " * 4 * level + s
+
+ lines = []
+
+ global _counter
+ _counter += 1
+
+ cls_name = "ScriptedInstances{}".format(_counter)
+
+ field_names = tuple(x.name for x in fields)
+ extra_args = ", ".join([f"{f.name}: Optional[{f.annotation}] = None" for f in fields])
+ lines.append(
+ f"""
+class {cls_name}:
+ def __init__(self, image_size: Tuple[int, int], {extra_args}):
+ self.image_size = image_size
+ self._field_names = {field_names}
+"""
+ )
+
+ for f in fields:
+ lines.append(
+ indent(2, f"self._{f.name} = torch.jit.annotate(Optional[{f.annotation}], {f.name})")
+ )
+
+ for f in fields:
+ lines.append(
+ f"""
+ @property
+ def {f.name}(self) -> {f.annotation}:
+ # has to use a local for type refinement
+ # https://pytorch.org/docs/stable/jit_language_reference.html#optional-type-refinement
+ t = self._{f.name}
+ assert t is not None, "{f.name} is None and cannot be accessed!"
+ return t
+
+ @{f.name}.setter
+ def {f.name}(self, value: {f.annotation}) -> None:
+ self._{f.name} = value
+"""
+ )
+
+ # support method `__len__`
+ lines.append(
+ """
+ def __len__(self) -> int:
+"""
+ )
+ for f in fields:
+ lines.append(
+ f"""
+ t = self._{f.name}
+ if t is not None:
+ return len(t)
+"""
+ )
+ lines.append(
+ """
+ raise NotImplementedError("Empty Instances does not support __len__!")
+"""
+ )
+
+ # support method `has`
+ lines.append(
+ """
+ def has(self, name: str) -> bool:
+"""
+ )
+ for f in fields:
+ lines.append(
+ f"""
+ if name == "{f.name}":
+ return self._{f.name} is not None
+"""
+ )
+ lines.append(
+ """
+ return False
+"""
+ )
+
+ # support method `to`
+ none_args = ", None" * len(fields)
+ lines.append(
+ f"""
+ def to(self, device: torch.device) -> "{cls_name}":
+ ret = {cls_name}(self.image_size{none_args})
+"""
+ )
+ for f in fields:
+ if hasattr(f.type_, "to"):
+ lines.append(
+ f"""
+ t = self._{f.name}
+ if t is not None:
+ ret._{f.name} = t.to(device)
+"""
+ )
+ else:
+ # For now, ignore fields that cannot be moved to devices.
+ # Maybe can support other tensor-like classes (e.g. __torch_function__)
+ pass
+ lines.append(
+ """
+ return ret
+"""
+ )
+
+ # support method `getitem`
+ none_args = ", None" * len(fields)
+ lines.append(
+ f"""
+ def __getitem__(self, item) -> "{cls_name}":
+ ret = {cls_name}(self.image_size{none_args})
+"""
+ )
+ for f in fields:
+ lines.append(
+ f"""
+ t = self._{f.name}
+ if t is not None:
+ ret._{f.name} = t[item]
+"""
+ )
+ lines.append(
+ """
+ return ret
+"""
+ )
+
+ # support method `cat`
+ # this version does not contain checks that all instances have same size and fields
+ none_args = ", None" * len(fields)
+ lines.append(
+ f"""
+ def cat(self, instances: List["{cls_name}"]) -> "{cls_name}":
+ ret = {cls_name}(self.image_size{none_args})
+"""
+ )
+ for f in fields:
+ lines.append(
+ f"""
+ t = self._{f.name}
+ if t is not None:
+ values: List[{f.annotation}] = [x.{f.name} for x in instances]
+ if torch.jit.isinstance(t, torch.Tensor):
+ ret._{f.name} = torch.cat(values, dim=0)
+ else:
+ ret._{f.name} = t.cat(values)
+"""
+ )
+ lines.append(
+ """
+ return ret"""
+ )
+
+ # support method `get_fields()`
+ lines.append(
+ """
+ def get_fields(self) -> Dict[str, Tensor]:
+ ret = {}
+ """
+ )
+ for f in fields:
+ if f.type_ == Boxes:
+ stmt = "t.tensor"
+ elif f.type_ == torch.Tensor:
+ stmt = "t"
+ else:
+ stmt = f'assert False, "unsupported type {str(f.type_)}"'
+ lines.append(
+ f"""
+ t = self._{f.name}
+ if t is not None:
+ ret["{f.name}"] = {stmt}
+ """
+ )
+ lines.append(
+ """
+ return ret"""
+ )
+ return cls_name, os.linesep.join(lines)
+
+
+def _gen_instance_module(fields):
+ # TODO: find a more automatic way to enable import of other classes
+ s = """
+from copy import deepcopy
+import torch
+from torch import Tensor
+import typing
+from typing import *
+
+import annotator.oneformer.detectron2
+from annotator.oneformer.detectron2.structures import Boxes, Instances
+
+"""
+
+ cls_name, cls_def = _gen_instance_class(fields)
+ s += cls_def
+ return cls_name, s
+
+
+def _import(path):
+ return _import_file(
+ "{}{}".format(sys.modules[__name__].__name__, _counter), path, make_importable=True
+ )
+
+
+@contextmanager
+def patch_builtin_len(modules=()):
+ """
+ Patch the builtin len() function of a few detectron2 modules
+ to use __len__ instead, because __len__ does not convert values to
+ integers and therefore is friendly to tracing.
+
+ Args:
+ modules (list[stsr]): names of extra modules to patch len(), in
+ addition to those in detectron2.
+ """
+
+ def _new_len(obj):
+ return obj.__len__()
+
+ with ExitStack() as stack:
+ MODULES = [
+ "detectron2.modeling.roi_heads.fast_rcnn",
+ "detectron2.modeling.roi_heads.mask_head",
+ "detectron2.modeling.roi_heads.keypoint_head",
+ ] + list(modules)
+ ctxs = [stack.enter_context(mock.patch(mod + ".len")) for mod in MODULES]
+ for m in ctxs:
+ m.side_effect = _new_len
+ yield
+
+
+def patch_nonscriptable_classes():
+ """
+ Apply patches on a few nonscriptable detectron2 classes.
+ Should not have side-effects on eager usage.
+ """
+ # __prepare_scriptable__ can also be added to models for easier maintenance.
+ # But it complicates the clean model code.
+
+ from annotator.oneformer.detectron2.modeling.backbone import ResNet, FPN
+
+ # Due to https://github.com/pytorch/pytorch/issues/36061,
+ # we change backbone to use ModuleList for scripting.
+ # (note: this changes param names in state_dict)
+
+ def prepare_resnet(self):
+ ret = deepcopy(self)
+ ret.stages = nn.ModuleList(ret.stages)
+ for k in self.stage_names:
+ delattr(ret, k)
+ return ret
+
+ ResNet.__prepare_scriptable__ = prepare_resnet
+
+ def prepare_fpn(self):
+ ret = deepcopy(self)
+ ret.lateral_convs = nn.ModuleList(ret.lateral_convs)
+ ret.output_convs = nn.ModuleList(ret.output_convs)
+ for name, _ in self.named_children():
+ if name.startswith("fpn_"):
+ delattr(ret, name)
+ return ret
+
+ FPN.__prepare_scriptable__ = prepare_fpn
+
+ # Annotate some attributes to be constants for the purpose of scripting,
+ # even though they are not constants in eager mode.
+ from annotator.oneformer.detectron2.modeling.roi_heads import StandardROIHeads
+
+ if hasattr(StandardROIHeads, "__annotations__"):
+ # copy first to avoid editing annotations of base class
+ StandardROIHeads.__annotations__ = deepcopy(StandardROIHeads.__annotations__)
+ StandardROIHeads.__annotations__["mask_on"] = torch.jit.Final[bool]
+ StandardROIHeads.__annotations__["keypoint_on"] = torch.jit.Final[bool]
+
+
+# These patches are not supposed to have side-effects.
+patch_nonscriptable_classes()
+
+
+@contextmanager
+def freeze_training_mode(model):
+ """
+ A context manager that annotates the "training" attribute of every submodule
+ to constant, so that the training codepath in these modules can be
+ meta-compiled away. Upon exiting, the annotations are reverted.
+ """
+ classes = {type(x) for x in model.modules()}
+ # __constants__ is the old way to annotate constants and not compatible
+ # with __annotations__ .
+ classes = {x for x in classes if not hasattr(x, "__constants__")}
+ for cls in classes:
+ cls.__annotations__["training"] = torch.jit.Final[bool]
+ yield
+ for cls in classes:
+ cls.__annotations__["training"] = bool
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/layers/__init__.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/layers/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..761a3d1c7afa049e9779ee9fc4d299e9aae38cad
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/layers/__init__.py
@@ -0,0 +1,26 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+from .batch_norm import FrozenBatchNorm2d, get_norm, NaiveSyncBatchNorm, CycleBatchNormList
+from .deform_conv import DeformConv, ModulatedDeformConv
+from .mask_ops import paste_masks_in_image
+from .nms import batched_nms, batched_nms_rotated, nms, nms_rotated
+from .roi_align import ROIAlign, roi_align
+from .roi_align_rotated import ROIAlignRotated, roi_align_rotated
+from .shape_spec import ShapeSpec
+from .wrappers import (
+ BatchNorm2d,
+ Conv2d,
+ ConvTranspose2d,
+ cat,
+ interpolate,
+ Linear,
+ nonzero_tuple,
+ cross_entropy,
+ empty_input_loss_func_wrapper,
+ shapes_to_tensor,
+ move_device_like,
+)
+from .blocks import CNNBlockBase, DepthwiseSeparableConv2d
+from .aspp import ASPP
+from .losses import ciou_loss, diou_loss
+
+__all__ = [k for k in globals().keys() if not k.startswith("_")]
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/layers/aspp.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/layers/aspp.py
new file mode 100644
index 0000000000000000000000000000000000000000..14861aa9ede4fea6a69a49f189bcab997b558148
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/layers/aspp.py
@@ -0,0 +1,144 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+
+from copy import deepcopy
+import fvcore.nn.weight_init as weight_init
+import torch
+from torch import nn
+from torch.nn import functional as F
+
+from .batch_norm import get_norm
+from .blocks import DepthwiseSeparableConv2d
+from .wrappers import Conv2d
+
+
+class ASPP(nn.Module):
+ """
+ Atrous Spatial Pyramid Pooling (ASPP).
+ """
+
+ def __init__(
+ self,
+ in_channels,
+ out_channels,
+ dilations,
+ *,
+ norm,
+ activation,
+ pool_kernel_size=None,
+ dropout: float = 0.0,
+ use_depthwise_separable_conv=False,
+ ):
+ """
+ Args:
+ in_channels (int): number of input channels for ASPP.
+ out_channels (int): number of output channels.
+ dilations (list): a list of 3 dilations in ASPP.
+ norm (str or callable): normalization for all conv layers.
+ See :func:`layers.get_norm` for supported format. norm is
+ applied to all conv layers except the conv following
+ global average pooling.
+ activation (callable): activation function.
+ pool_kernel_size (tuple, list): the average pooling size (kh, kw)
+ for image pooling layer in ASPP. If set to None, it always
+ performs global average pooling. If not None, it must be
+ divisible by the shape of inputs in forward(). It is recommended
+ to use a fixed input feature size in training, and set this
+ option to match this size, so that it performs global average
+ pooling in training, and the size of the pooling window stays
+ consistent in inference.
+ dropout (float): apply dropout on the output of ASPP. It is used in
+ the official DeepLab implementation with a rate of 0.1:
+ https://github.com/tensorflow/models/blob/21b73d22f3ed05b650e85ac50849408dd36de32e/research/deeplab/model.py#L532 # noqa
+ use_depthwise_separable_conv (bool): use DepthwiseSeparableConv2d
+ for 3x3 convs in ASPP, proposed in :paper:`DeepLabV3+`.
+ """
+ super(ASPP, self).__init__()
+ assert len(dilations) == 3, "ASPP expects 3 dilations, got {}".format(len(dilations))
+ self.pool_kernel_size = pool_kernel_size
+ self.dropout = dropout
+ use_bias = norm == ""
+ self.convs = nn.ModuleList()
+ # conv 1x1
+ self.convs.append(
+ Conv2d(
+ in_channels,
+ out_channels,
+ kernel_size=1,
+ bias=use_bias,
+ norm=get_norm(norm, out_channels),
+ activation=deepcopy(activation),
+ )
+ )
+ weight_init.c2_xavier_fill(self.convs[-1])
+ # atrous convs
+ for dilation in dilations:
+ if use_depthwise_separable_conv:
+ self.convs.append(
+ DepthwiseSeparableConv2d(
+ in_channels,
+ out_channels,
+ kernel_size=3,
+ padding=dilation,
+ dilation=dilation,
+ norm1=norm,
+ activation1=deepcopy(activation),
+ norm2=norm,
+ activation2=deepcopy(activation),
+ )
+ )
+ else:
+ self.convs.append(
+ Conv2d(
+ in_channels,
+ out_channels,
+ kernel_size=3,
+ padding=dilation,
+ dilation=dilation,
+ bias=use_bias,
+ norm=get_norm(norm, out_channels),
+ activation=deepcopy(activation),
+ )
+ )
+ weight_init.c2_xavier_fill(self.convs[-1])
+ # image pooling
+ # We do not add BatchNorm because the spatial resolution is 1x1,
+ # the original TF implementation has BatchNorm.
+ if pool_kernel_size is None:
+ image_pooling = nn.Sequential(
+ nn.AdaptiveAvgPool2d(1),
+ Conv2d(in_channels, out_channels, 1, bias=True, activation=deepcopy(activation)),
+ )
+ else:
+ image_pooling = nn.Sequential(
+ nn.AvgPool2d(kernel_size=pool_kernel_size, stride=1),
+ Conv2d(in_channels, out_channels, 1, bias=True, activation=deepcopy(activation)),
+ )
+ weight_init.c2_xavier_fill(image_pooling[1])
+ self.convs.append(image_pooling)
+
+ self.project = Conv2d(
+ 5 * out_channels,
+ out_channels,
+ kernel_size=1,
+ bias=use_bias,
+ norm=get_norm(norm, out_channels),
+ activation=deepcopy(activation),
+ )
+ weight_init.c2_xavier_fill(self.project)
+
+ def forward(self, x):
+ size = x.shape[-2:]
+ if self.pool_kernel_size is not None:
+ if size[0] % self.pool_kernel_size[0] or size[1] % self.pool_kernel_size[1]:
+ raise ValueError(
+ "`pool_kernel_size` must be divisible by the shape of inputs. "
+ "Input size: {} `pool_kernel_size`: {}".format(size, self.pool_kernel_size)
+ )
+ res = []
+ for conv in self.convs:
+ res.append(conv(x))
+ res[-1] = F.interpolate(res[-1], size=size, mode="bilinear", align_corners=False)
+ res = torch.cat(res, dim=1)
+ res = self.project(res)
+ res = F.dropout(res, self.dropout, training=self.training) if self.dropout > 0 else res
+ return res
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/layers/batch_norm.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/layers/batch_norm.py
new file mode 100644
index 0000000000000000000000000000000000000000..32a1e05470065e75b6caad18d36211d27af8eec0
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/layers/batch_norm.py
@@ -0,0 +1,300 @@
+# Copyright (c) Facebook, Inc. and its affiliates.
+import torch
+import torch.distributed as dist
+from fvcore.nn.distributed import differentiable_all_reduce
+from torch import nn
+from torch.nn import functional as F
+
+from annotator.oneformer.detectron2.utils import comm, env
+
+from .wrappers import BatchNorm2d
+
+
+class FrozenBatchNorm2d(nn.Module):
+ """
+ BatchNorm2d where the batch statistics and the affine parameters are fixed.
+
+ It contains non-trainable buffers called
+ "weight" and "bias", "running_mean", "running_var",
+ initialized to perform identity transformation.
+
+ The pre-trained backbone models from Caffe2 only contain "weight" and "bias",
+ which are computed from the original four parameters of BN.
+ The affine transform `x * weight + bias` will perform the equivalent
+ computation of `(x - running_mean) / sqrt(running_var) * weight + bias`.
+ When loading a backbone model from Caffe2, "running_mean" and "running_var"
+ will be left unchanged as identity transformation.
+
+ Other pre-trained backbone models may contain all 4 parameters.
+
+ The forward is implemented by `F.batch_norm(..., training=False)`.
+ """
+
+ _version = 3
+
+ def __init__(self, num_features, eps=1e-5):
+ super().__init__()
+ self.num_features = num_features
+ self.eps = eps
+ self.register_buffer("weight", torch.ones(num_features))
+ self.register_buffer("bias", torch.zeros(num_features))
+ self.register_buffer("running_mean", torch.zeros(num_features))
+ self.register_buffer("running_var", torch.ones(num_features) - eps)
+
+ def forward(self, x):
+ if x.requires_grad:
+ # When gradients are needed, F.batch_norm will use extra memory
+ # because its backward op computes gradients for weight/bias as well.
+ scale = self.weight * (self.running_var + self.eps).rsqrt()
+ bias = self.bias - self.running_mean * scale
+ scale = scale.reshape(1, -1, 1, 1)
+ bias = bias.reshape(1, -1, 1, 1)
+ out_dtype = x.dtype # may be half
+ return x * scale.to(out_dtype) + bias.to(out_dtype)
+ else:
+ # When gradients are not needed, F.batch_norm is a single fused op
+ # and provide more optimization opportunities.
+ return F.batch_norm(
+ x,
+ self.running_mean,
+ self.running_var,
+ self.weight,
+ self.bias,
+ training=False,
+ eps=self.eps,
+ )
+
+ def _load_from_state_dict(
+ self, state_dict, prefix, local_metadata, strict, missing_keys, unexpected_keys, error_msgs
+ ):
+ version = local_metadata.get("version", None)
+
+ if version is None or version < 2:
+ # No running_mean/var in early versions
+ # This will silent the warnings
+ if prefix + "running_mean" not in state_dict:
+ state_dict[prefix + "running_mean"] = torch.zeros_like(self.running_mean)
+ if prefix + "running_var" not in state_dict:
+ state_dict[prefix + "running_var"] = torch.ones_like(self.running_var)
+
+ super()._load_from_state_dict(
+ state_dict, prefix, local_metadata, strict, missing_keys, unexpected_keys, error_msgs
+ )
+
+ def __repr__(self):
+ return "FrozenBatchNorm2d(num_features={}, eps={})".format(self.num_features, self.eps)
+
+ @classmethod
+ def convert_frozen_batchnorm(cls, module):
+ """
+ Convert all BatchNorm/SyncBatchNorm in module into FrozenBatchNorm.
+
+ Args:
+ module (torch.nn.Module):
+
+ Returns:
+ If module is BatchNorm/SyncBatchNorm, returns a new module.
+ Otherwise, in-place convert module and return it.
+
+ Similar to convert_sync_batchnorm in
+ https://github.com/pytorch/pytorch/blob/master/torch/nn/modules/batchnorm.py
+ """
+ bn_module = nn.modules.batchnorm
+ bn_module = (bn_module.BatchNorm2d, bn_module.SyncBatchNorm)
+ res = module
+ if isinstance(module, bn_module):
+ res = cls(module.num_features)
+ if module.affine:
+ res.weight.data = module.weight.data.clone().detach()
+ res.bias.data = module.bias.data.clone().detach()
+ res.running_mean.data = module.running_mean.data
+ res.running_var.data = module.running_var.data
+ res.eps = module.eps
+ else:
+ for name, child in module.named_children():
+ new_child = cls.convert_frozen_batchnorm(child)
+ if new_child is not child:
+ res.add_module(name, new_child)
+ return res
+
+
+def get_norm(norm, out_channels):
+ """
+ Args:
+ norm (str or callable): either one of BN, SyncBN, FrozenBN, GN;
+ or a callable that takes a channel number and returns
+ the normalization layer as a nn.Module.
+
+ Returns:
+ nn.Module or None: the normalization layer
+ """
+ if norm is None:
+ return None
+ if isinstance(norm, str):
+ if len(norm) == 0:
+ return None
+ norm = {
+ "BN": BatchNorm2d,
+ # Fixed in https://github.com/pytorch/pytorch/pull/36382
+ "SyncBN": NaiveSyncBatchNorm if env.TORCH_VERSION <= (1, 5) else nn.SyncBatchNorm,
+ "FrozenBN": FrozenBatchNorm2d,
+ "GN": lambda channels: nn.GroupNorm(32, channels),
+ # for debugging:
+ "nnSyncBN": nn.SyncBatchNorm,
+ "naiveSyncBN": NaiveSyncBatchNorm,
+ # expose stats_mode N as an option to caller, required for zero-len inputs
+ "naiveSyncBN_N": lambda channels: NaiveSyncBatchNorm(channels, stats_mode="N"),
+ "LN": lambda channels: LayerNorm(channels),
+ }[norm]
+ return norm(out_channels)
+
+
+class NaiveSyncBatchNorm(BatchNorm2d):
+ """
+ In PyTorch<=1.5, ``nn.SyncBatchNorm`` has incorrect gradient
+ when the batch size on each worker is different.
+ (e.g., when scale augmentation is used, or when it is applied to mask head).
+
+ This is a slower but correct alternative to `nn.SyncBatchNorm`.
+
+ Note:
+ There isn't a single definition of Sync BatchNorm.
+
+ When ``stats_mode==""``, this module computes overall statistics by using
+ statistics of each worker with equal weight. The result is true statistics
+ of all samples (as if they are all on one worker) only when all workers
+ have the same (N, H, W). This mode does not support inputs with zero batch size.
+
+ When ``stats_mode=="N"``, this module computes overall statistics by weighting
+ the statistics of each worker by their ``N``. The result is true statistics
+ of all samples (as if they are all on one worker) only when all workers
+ have the same (H, W). It is slower than ``stats_mode==""``.
+
+ Even though the result of this module may not be the true statistics of all samples,
+ it may still be reasonable because it might be preferrable to assign equal weights
+ to all workers, regardless of their (H, W) dimension, instead of putting larger weight
+ on larger images. From preliminary experiments, little difference is found between such
+ a simplified implementation and an accurate computation of overall mean & variance.
+ """
+
+ def __init__(self, *args, stats_mode="", **kwargs):
+ super().__init__(*args, **kwargs)
+ assert stats_mode in ["", "N"]
+ self._stats_mode = stats_mode
+
+ def forward(self, input):
+ if comm.get_world_size() == 1 or not self.training:
+ return super().forward(input)
+
+ B, C = input.shape[0], input.shape[1]
+
+ half_input = input.dtype == torch.float16
+ if half_input:
+ # fp16 does not have good enough numerics for the reduction here
+ input = input.float()
+ mean = torch.mean(input, dim=[0, 2, 3])
+ meansqr = torch.mean(input * input, dim=[0, 2, 3])
+
+ if self._stats_mode == "":
+ assert B > 0, 'SyncBatchNorm(stats_mode="") does not support zero batch size.'
+ vec = torch.cat([mean, meansqr], dim=0)
+ vec = differentiable_all_reduce(vec) * (1.0 / dist.get_world_size())
+ mean, meansqr = torch.split(vec, C)
+ momentum = self.momentum
+ else:
+ if B == 0:
+ vec = torch.zeros([2 * C + 1], device=mean.device, dtype=mean.dtype)
+ vec = vec + input.sum() # make sure there is gradient w.r.t input
+ else:
+ vec = torch.cat(
+ [mean, meansqr, torch.ones([1], device=mean.device, dtype=mean.dtype)], dim=0
+ )
+ vec = differentiable_all_reduce(vec * B)
+
+ total_batch = vec[-1].detach()
+ momentum = total_batch.clamp(max=1) * self.momentum # no update if total_batch is 0
+ mean, meansqr, _ = torch.split(vec / total_batch.clamp(min=1), C) # avoid div-by-zero
+
+ var = meansqr - mean * mean
+ invstd = torch.rsqrt(var + self.eps)
+ scale = self.weight * invstd
+ bias = self.bias - mean * scale
+ scale = scale.reshape(1, -1, 1, 1)
+ bias = bias.reshape(1, -1, 1, 1)
+
+ self.running_mean += momentum * (mean.detach() - self.running_mean)
+ self.running_var += momentum * (var.detach() - self.running_var)
+ ret = input * scale + bias
+ if half_input:
+ ret = ret.half()
+ return ret
+
+
+class CycleBatchNormList(nn.ModuleList):
+ """
+ Implement domain-specific BatchNorm by cycling.
+
+ When a BatchNorm layer is used for multiple input domains or input
+ features, it might need to maintain a separate test-time statistics
+ for each domain. See Sec 5.2 in :paper:`rethinking-batchnorm`.
+
+ This module implements it by using N separate BN layers
+ and it cycles through them every time a forward() is called.
+
+ NOTE: The caller of this module MUST guarantee to always call
+ this module by multiple of N times. Otherwise its test-time statistics
+ will be incorrect.
+ """
+
+ def __init__(self, length: int, bn_class=nn.BatchNorm2d, **kwargs):
+ """
+ Args:
+ length: number of BatchNorm layers to cycle.
+ bn_class: the BatchNorm class to use
+ kwargs: arguments of the BatchNorm class, such as num_features.
+ """
+ self._affine = kwargs.pop("affine", True)
+ super().__init__([bn_class(**kwargs, affine=False) for k in range(length)])
+ if self._affine:
+ # shared affine, domain-specific BN
+ channels = self[0].num_features
+ self.weight = nn.Parameter(torch.ones(channels))
+ self.bias = nn.Parameter(torch.zeros(channels))
+ self._pos = 0
+
+ def forward(self, x):
+ ret = self[self._pos](x)
+ self._pos = (self._pos + 1) % len(self)
+
+ if self._affine:
+ w = self.weight.reshape(1, -1, 1, 1)
+ b = self.bias.reshape(1, -1, 1, 1)
+ return ret * w + b
+ else:
+ return ret
+
+ def extra_repr(self):
+ return f"affine={self._affine}"
+
+
+class LayerNorm(nn.Module):
+ """
+ A LayerNorm variant, popularized by Transformers, that performs point-wise mean and
+ variance normalization over the channel dimension for inputs that have shape
+ (batch_size, channels, height, width).
+ https://github.com/facebookresearch/ConvNeXt/blob/d1fa8f6fef0a165b27399986cc2bdacc92777e40/models/convnext.py#L119 # noqa B950
+ """
+
+ def __init__(self, normalized_shape, eps=1e-6):
+ super().__init__()
+ self.weight = nn.Parameter(torch.ones(normalized_shape))
+ self.bias = nn.Parameter(torch.zeros(normalized_shape))
+ self.eps = eps
+ self.normalized_shape = (normalized_shape,)
+
+ def forward(self, x):
+ u = x.mean(1, keepdim=True)
+ s = (x - u).pow(2).mean(1, keepdim=True)
+ x = (x - u) / torch.sqrt(s + self.eps)
+ x = self.weight[:, None, None] * x + self.bias[:, None, None]
+ return x
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/layers/blocks.py b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/layers/blocks.py
new file mode 100644
index 0000000000000000000000000000000000000000..1995a4bf7339e8deb7eaaffda4f819dda55e7ac7
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/layers/blocks.py
@@ -0,0 +1,111 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) Facebook, Inc. and its affiliates.
+
+import fvcore.nn.weight_init as weight_init
+from torch import nn
+
+from .batch_norm import FrozenBatchNorm2d, get_norm
+from .wrappers import Conv2d
+
+
+"""
+CNN building blocks.
+"""
+
+
+class CNNBlockBase(nn.Module):
+ """
+ A CNN block is assumed to have input channels, output channels and a stride.
+ The input and output of `forward()` method must be NCHW tensors.
+ The method can perform arbitrary computation but must match the given
+ channels and stride specification.
+
+ Attribute:
+ in_channels (int):
+ out_channels (int):
+ stride (int):
+ """
+
+ def __init__(self, in_channels, out_channels, stride):
+ """
+ The `__init__` method of any subclass should also contain these arguments.
+
+ Args:
+ in_channels (int):
+ out_channels (int):
+ stride (int):
+ """
+ super().__init__()
+ self.in_channels = in_channels
+ self.out_channels = out_channels
+ self.stride = stride
+
+ def freeze(self):
+ """
+ Make this block not trainable.
+ This method sets all parameters to `requires_grad=False`,
+ and convert all BatchNorm layers to FrozenBatchNorm
+
+ Returns:
+ the block itself
+ """
+ for p in self.parameters():
+ p.requires_grad = False
+ FrozenBatchNorm2d.convert_frozen_batchnorm(self)
+ return self
+
+
+class DepthwiseSeparableConv2d(nn.Module):
+ """
+ A kxk depthwise convolution + a 1x1 convolution.
+
+ In :paper:`xception`, norm & activation are applied on the second conv.
+ :paper:`mobilenet` uses norm & activation on both convs.
+ """
+
+ def __init__(
+ self,
+ in_channels,
+ out_channels,
+ kernel_size=3,
+ padding=1,
+ dilation=1,
+ *,
+ norm1=None,
+ activation1=None,
+ norm2=None,
+ activation2=None,
+ ):
+ """
+ Args:
+ norm1, norm2 (str or callable): normalization for the two conv layers.
+ activation1, activation2 (callable(Tensor) -> Tensor): activation
+ function for the two conv layers.
+ """
+ super().__init__()
+ self.depthwise = Conv2d(
+ in_channels,
+ in_channels,
+ kernel_size=kernel_size,
+ padding=padding,
+ dilation=dilation,
+ groups=in_channels,
+ bias=not norm1,
+ norm=get_norm(norm1, in_channels),
+ activation=activation1,
+ )
+ self.pointwise = Conv2d(
+ in_channels,
+ out_channels,
+ kernel_size=1,
+ bias=not norm2,
+ norm=get_norm(norm2, out_channels),
+ activation=activation2,
+ )
+
+ # default initialization
+ weight_init.c2_msra_fill(self.depthwise)
+ weight_init.c2_msra_fill(self.pointwise)
+
+ def forward(self, x):
+ return self.pointwise(self.depthwise(x))
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/layers/csrc/README.md b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/layers/csrc/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..778ed3da0bae89820831bcd8a72ff7b9cad8d4dd
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/layers/csrc/README.md
@@ -0,0 +1,7 @@
+
+
+To add a new Op:
+
+1. Create a new directory
+2. Implement new ops there
+3. Delcare its Python interface in `vision.cpp`.
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/layers/csrc/ROIAlignRotated/ROIAlignRotated.h b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/layers/csrc/ROIAlignRotated/ROIAlignRotated.h
new file mode 100644
index 0000000000000000000000000000000000000000..03f4211003f42f601f0cfcf4a690f5da4a0a1f67
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/layers/csrc/ROIAlignRotated/ROIAlignRotated.h
@@ -0,0 +1,115 @@
+// Copyright (c) Facebook, Inc. and its affiliates.
+#pragma once
+#include
+
+namespace detectron2 {
+
+at::Tensor ROIAlignRotated_forward_cpu(
+ const at::Tensor& input,
+ const at::Tensor& rois,
+ const float spatial_scale,
+ const int pooled_height,
+ const int pooled_width,
+ const int sampling_ratio);
+
+at::Tensor ROIAlignRotated_backward_cpu(
+ const at::Tensor& grad,
+ const at::Tensor& rois,
+ const float spatial_scale,
+ const int pooled_height,
+ const int pooled_width,
+ const int batch_size,
+ const int channels,
+ const int height,
+ const int width,
+ const int sampling_ratio);
+
+#if defined(WITH_CUDA) || defined(WITH_HIP)
+at::Tensor ROIAlignRotated_forward_cuda(
+ const at::Tensor& input,
+ const at::Tensor& rois,
+ const float spatial_scale,
+ const int pooled_height,
+ const int pooled_width,
+ const int sampling_ratio);
+
+at::Tensor ROIAlignRotated_backward_cuda(
+ const at::Tensor& grad,
+ const at::Tensor& rois,
+ const float spatial_scale,
+ const int pooled_height,
+ const int pooled_width,
+ const int batch_size,
+ const int channels,
+ const int height,
+ const int width,
+ const int sampling_ratio);
+#endif
+
+// Interface for Python
+inline at::Tensor ROIAlignRotated_forward(
+ const at::Tensor& input,
+ const at::Tensor& rois,
+ const double spatial_scale,
+ const int64_t pooled_height,
+ const int64_t pooled_width,
+ const int64_t sampling_ratio) {
+ if (input.is_cuda()) {
+#if defined(WITH_CUDA) || defined(WITH_HIP)
+ return ROIAlignRotated_forward_cuda(
+ input,
+ rois,
+ spatial_scale,
+ pooled_height,
+ pooled_width,
+ sampling_ratio);
+#else
+ AT_ERROR("Detectron2 is not compiled with GPU support!");
+#endif
+ }
+ return ROIAlignRotated_forward_cpu(
+ input, rois, spatial_scale, pooled_height, pooled_width, sampling_ratio);
+}
+
+inline at::Tensor ROIAlignRotated_backward(
+ const at::Tensor& grad,
+ const at::Tensor& rois,
+ const double spatial_scale,
+ const int64_t pooled_height,
+ const int64_t pooled_width,
+ const int64_t batch_size,
+ const int64_t channels,
+ const int64_t height,
+ const int64_t width,
+ const int64_t sampling_ratio) {
+ if (grad.is_cuda()) {
+#if defined(WITH_CUDA) || defined(WITH_HIP)
+ return ROIAlignRotated_backward_cuda(
+ grad,
+ rois,
+ spatial_scale,
+ pooled_height,
+ pooled_width,
+ batch_size,
+ channels,
+ height,
+ width,
+ sampling_ratio);
+#else
+ AT_ERROR("Detectron2 is not compiled with GPU support!");
+#endif
+ }
+ return ROIAlignRotated_backward_cpu(
+ grad,
+ rois,
+ spatial_scale,
+ pooled_height,
+ pooled_width,
+ batch_size,
+ channels,
+ height,
+ width,
+ sampling_ratio);
+}
+
+} // namespace detectron2
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/layers/csrc/ROIAlignRotated/ROIAlignRotated_cpu.cpp b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/layers/csrc/ROIAlignRotated/ROIAlignRotated_cpu.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..2a3d3056cc71a4acaafb570739a9dd247a7eb1ed
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/layers/csrc/ROIAlignRotated/ROIAlignRotated_cpu.cpp
@@ -0,0 +1,522 @@
+// Copyright (c) Facebook, Inc. and its affiliates.
+#include
+#include "ROIAlignRotated.h"
+
+// Note: this implementation originates from the Caffe2 ROIAlignRotated Op
+// and PyTorch ROIAlign (non-rotated) Op implementations.
+// The key difference between this implementation and those ones is
+// we don't do "legacy offset" in this version, as there aren't many previous
+// works, if any, using the "legacy" ROIAlignRotated Op.
+// This would make the interface a bit cleaner.
+
+namespace detectron2 {
+
+namespace {
+template
+struct PreCalc {
+ int pos1;
+ int pos2;
+ int pos3;
+ int pos4;
+ T w1;
+ T w2;
+ T w3;
+ T w4;
+};
+
+template
+void pre_calc_for_bilinear_interpolate(
+ const int height,
+ const int width,
+ const int pooled_height,
+ const int pooled_width,
+ const int iy_upper,
+ const int ix_upper,
+ T roi_start_h,
+ T roi_start_w,
+ T bin_size_h,
+ T bin_size_w,
+ int roi_bin_grid_h,
+ int roi_bin_grid_w,
+ T roi_center_h,
+ T roi_center_w,
+ T cos_theta,
+ T sin_theta,
+ std::vector>& pre_calc) {
+ int pre_calc_index = 0;
+ for (int ph = 0; ph < pooled_height; ph++) {
+ for (int pw = 0; pw < pooled_width; pw++) {
+ for (int iy = 0; iy < iy_upper; iy++) {
+ const T yy = roi_start_h + ph * bin_size_h +
+ static_cast(iy + .5f) * bin_size_h /
+ static_cast(roi_bin_grid_h); // e.g., 0.5, 1.5
+ for (int ix = 0; ix < ix_upper; ix++) {
+ const T xx = roi_start_w + pw * bin_size_w +
+ static_cast(ix + .5f) * bin_size_w /
+ static_cast(roi_bin_grid_w);
+
+ // Rotate by theta around the center and translate
+ // In image space, (y, x) is the order for Right Handed System,
+ // and this is essentially multiplying the point by a rotation matrix
+ // to rotate it counterclockwise through angle theta.
+ T y = yy * cos_theta - xx * sin_theta + roi_center_h;
+ T x = yy * sin_theta + xx * cos_theta + roi_center_w;
+ // deal with: inverse elements are out of feature map boundary
+ if (y < -1.0 || y > height || x < -1.0 || x > width) {
+ // empty
+ PreCalc pc;
+ pc.pos1 = 0;
+ pc.pos2 = 0;
+ pc.pos3 = 0;
+ pc.pos4 = 0;
+ pc.w1 = 0;
+ pc.w2 = 0;
+ pc.w3 = 0;
+ pc.w4 = 0;
+ pre_calc[pre_calc_index] = pc;
+ pre_calc_index += 1;
+ continue;
+ }
+
+ if (y < 0) {
+ y = 0;
+ }
+ if (x < 0) {
+ x = 0;
+ }
+
+ int y_low = (int)y;
+ int x_low = (int)x;
+ int y_high;
+ int x_high;
+
+ if (y_low >= height - 1) {
+ y_high = y_low = height - 1;
+ y = (T)y_low;
+ } else {
+ y_high = y_low + 1;
+ }
+
+ if (x_low >= width - 1) {
+ x_high = x_low = width - 1;
+ x = (T)x_low;
+ } else {
+ x_high = x_low + 1;
+ }
+
+ T ly = y - y_low;
+ T lx = x - x_low;
+ T hy = 1. - ly, hx = 1. - lx;
+ T w1 = hy * hx, w2 = hy * lx, w3 = ly * hx, w4 = ly * lx;
+
+ // save weights and indices
+ PreCalc pc;
+ pc.pos1 = y_low * width + x_low;
+ pc.pos2 = y_low * width + x_high;
+ pc.pos3 = y_high * width + x_low;
+ pc.pos4 = y_high * width + x_high;
+ pc.w1 = w1;
+ pc.w2 = w2;
+ pc.w3 = w3;
+ pc.w4 = w4;
+ pre_calc[pre_calc_index] = pc;
+
+ pre_calc_index += 1;
+ }
+ }
+ }
+ }
+}
+
+template
+void bilinear_interpolate_gradient(
+ const int height,
+ const int width,
+ T y,
+ T x,
+ T& w1,
+ T& w2,
+ T& w3,
+ T& w4,
+ int& x_low,
+ int& x_high,
+ int& y_low,
+ int& y_high) {
+ // deal with cases that inverse elements are out of feature map boundary
+ if (y < -1.0 || y > height || x < -1.0 || x > width) {
+ // empty
+ w1 = w2 = w3 = w4 = 0.;
+ x_low = x_high = y_low = y_high = -1;
+ return;
+ }
+
+ if (y < 0) {
+ y = 0;
+ }
+
+ if (x < 0) {
+ x = 0;
+ }
+
+ y_low = (int)y;
+ x_low = (int)x;
+
+ if (y_low >= height - 1) {
+ y_high = y_low = height - 1;
+ y = (T)y_low;
+ } else {
+ y_high = y_low + 1;
+ }
+
+ if (x_low >= width - 1) {
+ x_high = x_low = width - 1;
+ x = (T)x_low;
+ } else {
+ x_high = x_low + 1;
+ }
+
+ T ly = y - y_low;
+ T lx = x - x_low;
+ T hy = 1. - ly, hx = 1. - lx;
+
+ // reference in forward
+ // T v1 = input[y_low * width + x_low];
+ // T v2 = input[y_low * width + x_high];
+ // T v3 = input[y_high * width + x_low];
+ // T v4 = input[y_high * width + x_high];
+ // T val = (w1 * v1 + w2 * v2 + w3 * v3 + w4 * v4);
+
+ w1 = hy * hx, w2 = hy * lx, w3 = ly * hx, w4 = ly * lx;
+
+ return;
+}
+
+template
+inline void add(T* address, const T& val) {
+ *address += val;
+}
+
+} // namespace
+
+template
+void ROIAlignRotatedForward(
+ const int nthreads,
+ const T* input,
+ const T& spatial_scale,
+ const int channels,
+ const int height,
+ const int width,
+ const int pooled_height,
+ const int pooled_width,
+ const int sampling_ratio,
+ const T* rois,
+ T* output) {
+ int n_rois = nthreads / channels / pooled_width / pooled_height;
+ // (n, c, ph, pw) is an element in the pooled output
+ // can be parallelized using omp
+ // #pragma omp parallel for num_threads(32)
+ for (int n = 0; n < n_rois; n++) {
+ int index_n = n * channels * pooled_width * pooled_height;
+
+ const T* current_roi = rois + n * 6;
+ int roi_batch_ind = current_roi[0];
+
+ // Do not use rounding; this implementation detail is critical
+ // ROIAlignRotated supports align == true, i.e., continuous coordinate
+ // by default, thus the 0.5 offset
+ T offset = (T)0.5;
+ T roi_center_w = current_roi[1] * spatial_scale - offset;
+ T roi_center_h = current_roi[2] * spatial_scale - offset;
+ T roi_width = current_roi[3] * spatial_scale;
+ T roi_height = current_roi[4] * spatial_scale;
+ T theta = current_roi[5] * M_PI / 180.0;
+ T cos_theta = cos(theta);
+ T sin_theta = sin(theta);
+
+ AT_ASSERTM(
+ roi_width >= 0 && roi_height >= 0,
+ "ROIs in ROIAlignRotated do not have non-negative size!");
+
+ T bin_size_h = static_cast(roi_height) / static_cast(pooled_height);
+ T bin_size_w = static_cast(roi_width) / static_cast(pooled_width);
+
+ // We use roi_bin_grid to sample the grid and mimic integral
+ int roi_bin_grid_h = (sampling_ratio > 0)
+ ? sampling_ratio
+ : ceil(roi_height / pooled_height); // e.g., = 2
+ int roi_bin_grid_w =
+ (sampling_ratio > 0) ? sampling_ratio : ceil(roi_width / pooled_width);
+
+ // We do average (integral) pooling inside a bin
+ const T count = std::max(roi_bin_grid_h * roi_bin_grid_w, 1); // e.g. = 4
+
+ // we want to precalculate indices and weights shared by all channels,
+ // this is the key point of optimization
+ std::vector> pre_calc(
+ roi_bin_grid_h * roi_bin_grid_w * pooled_width * pooled_height);
+
+ // roi_start_h and roi_start_w are computed wrt the center of RoI (x, y).
+ // Appropriate translation needs to be applied after.
+ T roi_start_h = -roi_height / 2.0;
+ T roi_start_w = -roi_width / 2.0;
+
+ pre_calc_for_bilinear_interpolate(
+ height,
+ width,
+ pooled_height,
+ pooled_width,
+ roi_bin_grid_h,
+ roi_bin_grid_w,
+ roi_start_h,
+ roi_start_w,
+ bin_size_h,
+ bin_size_w,
+ roi_bin_grid_h,
+ roi_bin_grid_w,
+ roi_center_h,
+ roi_center_w,
+ cos_theta,
+ sin_theta,
+ pre_calc);
+
+ for (int c = 0; c < channels; c++) {
+ int index_n_c = index_n + c * pooled_width * pooled_height;
+ const T* offset_input =
+ input + (roi_batch_ind * channels + c) * height * width;
+ int pre_calc_index = 0;
+
+ for (int ph = 0; ph < pooled_height; ph++) {
+ for (int pw = 0; pw < pooled_width; pw++) {
+ int index = index_n_c + ph * pooled_width + pw;
+
+ T output_val = 0.;
+ for (int iy = 0; iy < roi_bin_grid_h; iy++) {
+ for (int ix = 0; ix < roi_bin_grid_w; ix++) {
+ PreCalc pc = pre_calc[pre_calc_index];
+ output_val += pc.w1 * offset_input[pc.pos1] +
+ pc.w2 * offset_input[pc.pos2] +
+ pc.w3 * offset_input[pc.pos3] + pc.w4 * offset_input[pc.pos4];
+
+ pre_calc_index += 1;
+ }
+ }
+ output_val /= count;
+
+ output[index] = output_val;
+ } // for pw
+ } // for ph
+ } // for c
+ } // for n
+}
+
+template
+void ROIAlignRotatedBackward(
+ const int nthreads,
+ // may not be contiguous. should index using n_stride, etc
+ const T* grad_output,
+ const T& spatial_scale,
+ const int channels,
+ const int height,
+ const int width,
+ const int pooled_height,
+ const int pooled_width,
+ const int sampling_ratio,
+ T* grad_input,
+ const T* rois,
+ const int n_stride,
+ const int c_stride,
+ const int h_stride,
+ const int w_stride) {
+ for (int index = 0; index < nthreads; index++) {
+ // (n, c, ph, pw) is an element in the pooled output
+ int pw = index % pooled_width;
+ int ph = (index / pooled_width) % pooled_height;
+ int c = (index / pooled_width / pooled_height) % channels;
+ int n = index / pooled_width / pooled_height / channels;
+
+ const T* current_roi = rois + n * 6;
+ int roi_batch_ind = current_roi[0];
+
+ // Do not use rounding; this implementation detail is critical
+ // ROIAlignRotated supports align == true, i.e., continuous coordinate
+ // by default, thus the 0.5 offset
+ T offset = (T)0.5;
+ T roi_center_w = current_roi[1] * spatial_scale - offset;
+ T roi_center_h = current_roi[2] * spatial_scale - offset;
+ T roi_width = current_roi[3] * spatial_scale;
+ T roi_height = current_roi[4] * spatial_scale;
+ T theta = current_roi[5] * M_PI / 180.0;
+ T cos_theta = cos(theta);
+ T sin_theta = sin(theta);
+
+ AT_ASSERTM(
+ roi_width >= 0 && roi_height >= 0,
+ "ROIs in ROIAlignRotated do not have non-negative size!");
+
+ T bin_size_h = static_cast(roi_height) / static_cast(pooled_height);
+ T bin_size_w = static_cast(roi_width) / static_cast(pooled_width);
+
+ T* offset_grad_input =
+ grad_input + ((roi_batch_ind * channels + c) * height * width);
+
+ int output_offset = n * n_stride + c * c_stride;
+ const T* offset_grad_output = grad_output + output_offset;
+ const T grad_output_this_bin =
+ offset_grad_output[ph * h_stride + pw * w_stride];
+
+ // We use roi_bin_grid to sample the grid and mimic integral
+ int roi_bin_grid_h = (sampling_ratio > 0)
+ ? sampling_ratio
+ : ceil(roi_height / pooled_height); // e.g., = 2
+ int roi_bin_grid_w =
+ (sampling_ratio > 0) ? sampling_ratio : ceil(roi_width / pooled_width);
+
+ // roi_start_h and roi_start_w are computed wrt the center of RoI (x, y).
+ // Appropriate translation needs to be applied after.
+ T roi_start_h = -roi_height / 2.0;
+ T roi_start_w = -roi_width / 2.0;
+
+ // We do average (integral) pooling inside a bin
+ const T count = roi_bin_grid_h * roi_bin_grid_w; // e.g. = 4
+
+ for (int iy = 0; iy < roi_bin_grid_h; iy++) {
+ const T yy = roi_start_h + ph * bin_size_h +
+ static_cast(iy + .5f) * bin_size_h /
+ static_cast(roi_bin_grid_h); // e.g., 0.5, 1.5
+ for (int ix = 0; ix < roi_bin_grid_w; ix++) {
+ const T xx = roi_start_w + pw * bin_size_w +
+ static_cast(ix + .5f) * bin_size_w /
+ static_cast(roi_bin_grid_w);
+
+ // Rotate by theta around the center and translate
+ T y = yy * cos_theta - xx * sin_theta + roi_center_h;
+ T x = yy * sin_theta + xx * cos_theta + roi_center_w;
+
+ T w1, w2, w3, w4;
+ int x_low, x_high, y_low, y_high;
+
+ bilinear_interpolate_gradient(
+ height, width, y, x, w1, w2, w3, w4, x_low, x_high, y_low, y_high);
+
+ T g1 = grad_output_this_bin * w1 / count;
+ T g2 = grad_output_this_bin * w2 / count;
+ T g3 = grad_output_this_bin * w3 / count;
+ T g4 = grad_output_this_bin * w4 / count;
+
+ if (x_low >= 0 && x_high >= 0 && y_low >= 0 && y_high >= 0) {
+ // atomic add is not needed for now since it is single threaded
+ add(offset_grad_input + y_low * width + x_low, static_cast(g1));
+ add(offset_grad_input + y_low * width + x_high, static_cast(g2));
+ add(offset_grad_input + y_high * width + x_low, static_cast(g3));
+ add(offset_grad_input + y_high * width + x_high, static_cast(g4));
+ } // if
+ } // ix
+ } // iy
+ } // for
+} // ROIAlignRotatedBackward
+
+at::Tensor ROIAlignRotated_forward_cpu(
+ const at::Tensor& input,
+ const at::Tensor& rois,
+ const float spatial_scale,
+ const int pooled_height,
+ const int pooled_width,
+ const int sampling_ratio) {
+ AT_ASSERTM(input.device().is_cpu(), "input must be a CPU tensor");
+ AT_ASSERTM(rois.device().is_cpu(), "rois must be a CPU tensor");
+
+ at::TensorArg input_t{input, "input", 1}, rois_t{rois, "rois", 2};
+
+ at::CheckedFrom c = "ROIAlign_forward_cpu";
+ at::checkAllSameType(c, {input_t, rois_t});
+
+ auto num_rois = rois.size(0);
+ auto channels = input.size(1);
+ auto height = input.size(2);
+ auto width = input.size(3);
+
+ at::Tensor output = at::zeros(
+ {num_rois, channels, pooled_height, pooled_width}, input.options());
+
+ auto output_size = num_rois * pooled_height * pooled_width * channels;
+
+ if (output.numel() == 0) {
+ return output;
+ }
+
+ auto input_ = input.contiguous(), rois_ = rois.contiguous();
+ AT_DISPATCH_FLOATING_TYPES_AND_HALF(
+ input.scalar_type(), "ROIAlignRotated_forward", [&] {
+ ROIAlignRotatedForward(
+ output_size,
+ input_.data_ptr(),
+ spatial_scale,
+ channels,
+ height,
+ width,
+ pooled_height,
+ pooled_width,
+ sampling_ratio,
+ rois_.data_ptr(),
+ output.data_ptr());
+ });
+ return output;
+}
+
+at::Tensor ROIAlignRotated_backward_cpu(
+ const at::Tensor& grad,
+ const at::Tensor& rois,
+ const float spatial_scale,
+ const int pooled_height,
+ const int pooled_width,
+ const int batch_size,
+ const int channels,
+ const int height,
+ const int width,
+ const int sampling_ratio) {
+ AT_ASSERTM(grad.device().is_cpu(), "grad must be a CPU tensor");
+ AT_ASSERTM(rois.device().is_cpu(), "rois must be a CPU tensor");
+
+ at::TensorArg grad_t{grad, "grad", 1}, rois_t{rois, "rois", 2};
+
+ at::CheckedFrom c = "ROIAlignRotated_backward_cpu";
+ at::checkAllSameType(c, {grad_t, rois_t});
+
+ at::Tensor grad_input =
+ at::zeros({batch_size, channels, height, width}, grad.options());
+
+ // handle possibly empty gradients
+ if (grad.numel() == 0) {
+ return grad_input;
+ }
+
+ // get stride values to ensure indexing into gradients is correct.
+ int n_stride = grad.stride(0);
+ int c_stride = grad.stride(1);
+ int h_stride = grad.stride(2);
+ int w_stride = grad.stride(3);
+
+ auto rois_ = rois.contiguous();
+ AT_DISPATCH_FLOATING_TYPES_AND_HALF(
+ grad.scalar_type(), "ROIAlignRotated_forward", [&] {
+ ROIAlignRotatedBackward(
+ grad.numel(),
+ grad.data_ptr(),
+ spatial_scale,
+ channels,
+ height,
+ width,
+ pooled_height,
+ pooled_width,
+ sampling_ratio,
+ grad_input.data_ptr(),
+ rois_.data_ptr(),
+ n_stride,
+ c_stride,
+ h_stride,
+ w_stride);
+ });
+ return grad_input;
+}
+
+} // namespace detectron2
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/layers/csrc/ROIAlignRotated/ROIAlignRotated_cuda.cu b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/layers/csrc/ROIAlignRotated/ROIAlignRotated_cuda.cu
new file mode 100644
index 0000000000000000000000000000000000000000..fca186519143b168a912c880a4cf495a0a5a9322
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/layers/csrc/ROIAlignRotated/ROIAlignRotated_cuda.cu
@@ -0,0 +1,443 @@
+// Copyright (c) Facebook, Inc. and its affiliates.
+#include
+#include
+#include
+#include
+
+// TODO make it in a common file
+#define CUDA_1D_KERNEL_LOOP(i, n) \
+ for (int i = blockIdx.x * blockDim.x + threadIdx.x; i < n; \
+ i += blockDim.x * gridDim.x)
+
+// Note: this implementation originates from the Caffe2 ROIAlignRotated Op
+// and PyTorch ROIAlign (non-rotated) Op implementations.
+// The key difference between this implementation and those ones is
+// we don't do "legacy offset" in this version, as there aren't many previous
+// works, if any, using the "legacy" ROIAlignRotated Op.
+// This would make the interface a bit cleaner.
+
+namespace detectron2 {
+
+namespace {
+
+template
+__device__ T bilinear_interpolate(
+ const T* input,
+ const int height,
+ const int width,
+ T y,
+ T x) {
+ // deal with cases that inverse elements are out of feature map boundary
+ if (y < -1.0 || y > height || x < -1.0 || x > width) {
+ // empty
+ return 0;
+ }
+
+ if (y < 0) {
+ y = 0;
+ }
+
+ if (x < 0) {
+ x = 0;
+ }
+
+ int y_low = (int)y;
+ int x_low = (int)x;
+ int y_high;
+ int x_high;
+
+ if (y_low >= height - 1) {
+ y_high = y_low = height - 1;
+ y = (T)y_low;
+ } else {
+ y_high = y_low + 1;
+ }
+
+ if (x_low >= width - 1) {
+ x_high = x_low = width - 1;
+ x = (T)x_low;
+ } else {
+ x_high = x_low + 1;
+ }
+
+ T ly = y - y_low;
+ T lx = x - x_low;
+ T hy = 1. - ly, hx = 1. - lx;
+ // do bilinear interpolation
+ T v1 = input[y_low * width + x_low];
+ T v2 = input[y_low * width + x_high];
+ T v3 = input[y_high * width + x_low];
+ T v4 = input[y_high * width + x_high];
+ T w1 = hy * hx, w2 = hy * lx, w3 = ly * hx, w4 = ly * lx;
+
+ T val = (w1 * v1 + w2 * v2 + w3 * v3 + w4 * v4);
+
+ return val;
+}
+
+template
+__device__ void bilinear_interpolate_gradient(
+ const int height,
+ const int width,
+ T y,
+ T x,
+ T& w1,
+ T& w2,
+ T& w3,
+ T& w4,
+ int& x_low,
+ int& x_high,
+ int& y_low,
+ int& y_high) {
+ // deal with cases that inverse elements are out of feature map boundary
+ if (y < -1.0 || y > height || x < -1.0 || x > width) {
+ // empty
+ w1 = w2 = w3 = w4 = 0.;
+ x_low = x_high = y_low = y_high = -1;
+ return;
+ }
+
+ if (y < 0) {
+ y = 0;
+ }
+
+ if (x < 0) {
+ x = 0;
+ }
+
+ y_low = (int)y;
+ x_low = (int)x;
+
+ if (y_low >= height - 1) {
+ y_high = y_low = height - 1;
+ y = (T)y_low;
+ } else {
+ y_high = y_low + 1;
+ }
+
+ if (x_low >= width - 1) {
+ x_high = x_low = width - 1;
+ x = (T)x_low;
+ } else {
+ x_high = x_low + 1;
+ }
+
+ T ly = y - y_low;
+ T lx = x - x_low;
+ T hy = 1. - ly, hx = 1. - lx;
+
+ // reference in forward
+ // T v1 = input[y_low * width + x_low];
+ // T v2 = input[y_low * width + x_high];
+ // T v3 = input[y_high * width + x_low];
+ // T v4 = input[y_high * width + x_high];
+ // T val = (w1 * v1 + w2 * v2 + w3 * v3 + w4 * v4);
+
+ w1 = hy * hx, w2 = hy * lx, w3 = ly * hx, w4 = ly * lx;
+
+ return;
+}
+
+} // namespace
+
+template
+__global__ void RoIAlignRotatedForward(
+ const int nthreads,
+ const T* input,
+ const T spatial_scale,
+ const int channels,
+ const int height,
+ const int width,
+ const int pooled_height,
+ const int pooled_width,
+ const int sampling_ratio,
+ const T* rois,
+ T* top_data) {
+ CUDA_1D_KERNEL_LOOP(index, nthreads) {
+ // (n, c, ph, pw) is an element in the pooled output
+ int pw = index % pooled_width;
+ int ph = (index / pooled_width) % pooled_height;
+ int c = (index / pooled_width / pooled_height) % channels;
+ int n = index / pooled_width / pooled_height / channels;
+
+ const T* current_roi = rois + n * 6;
+ int roi_batch_ind = current_roi[0];
+
+ // Do not use rounding; this implementation detail is critical
+ // ROIAlignRotated supports align == true, i.e., continuous coordinate
+ // by default, thus the 0.5 offset
+ T offset = (T)0.5;
+ T roi_center_w = current_roi[1] * spatial_scale - offset;
+ T roi_center_h = current_roi[2] * spatial_scale - offset;
+ T roi_width = current_roi[3] * spatial_scale;
+ T roi_height = current_roi[4] * spatial_scale;
+ T theta = current_roi[5] * M_PI / 180.0;
+ T cos_theta = cos(theta);
+ T sin_theta = sin(theta);
+
+ T bin_size_h = static_cast(roi_height) / static_cast(pooled_height);
+ T bin_size_w = static_cast(roi_width) / static_cast(pooled_width);
+
+ const T* offset_input =
+ input + (roi_batch_ind * channels + c) * height * width;
+
+ // We use roi_bin_grid to sample the grid and mimic integral
+ int roi_bin_grid_h = (sampling_ratio > 0)
+ ? sampling_ratio
+ : ceil(roi_height / pooled_height); // e.g., = 2
+ int roi_bin_grid_w =
+ (sampling_ratio > 0) ? sampling_ratio : ceil(roi_width / pooled_width);
+
+ // roi_start_h and roi_start_w are computed wrt the center of RoI (x, y).
+ // Appropriate translation needs to be applied after.
+ T roi_start_h = -roi_height / 2.0;
+ T roi_start_w = -roi_width / 2.0;
+
+ // We do average (inte gral) pooling inside a bin
+ const T count = max(roi_bin_grid_h * roi_bin_grid_w, 1); // e.g. = 4
+
+ T output_val = 0.;
+ for (int iy = 0; iy < roi_bin_grid_h; iy++) // e.g., iy = 0, 1
+ {
+ const T yy = roi_start_h + ph * bin_size_h +
+ static_cast(iy + .5f) * bin_size_h /
+ static_cast(roi_bin_grid_h); // e.g., 0.5, 1.5
+ for (int ix = 0; ix < roi_bin_grid_w; ix++) {
+ const T xx = roi_start_w + pw * bin_size_w +
+ static_cast(ix + .5f) * bin_size_w /
+ static_cast(roi_bin_grid_w);
+
+ // Rotate by theta around the center and translate
+ T y = yy * cos_theta - xx * sin_theta + roi_center_h;
+ T x = yy * sin_theta + xx * cos_theta + roi_center_w;
+
+ T val = bilinear_interpolate(offset_input, height, width, y, x);
+ output_val += val;
+ }
+ }
+ output_val /= count;
+
+ top_data[index] = output_val;
+ }
+}
+
+template
+__global__ void RoIAlignRotatedBackwardFeature(
+ const int nthreads,
+ const T* top_diff,
+ const int num_rois,
+ const T spatial_scale,
+ const int channels,
+ const int height,
+ const int width,
+ const int pooled_height,
+ const int pooled_width,
+ const int sampling_ratio,
+ T* bottom_diff,
+ const T* rois) {
+ CUDA_1D_KERNEL_LOOP(index, nthreads) {
+ // (n, c, ph, pw) is an element in the pooled output
+ int pw = index % pooled_width;
+ int ph = (index / pooled_width) % pooled_height;
+ int c = (index / pooled_width / pooled_height) % channels;
+ int n = index / pooled_width / pooled_height / channels;
+
+ const T* current_roi = rois + n * 6;
+ int roi_batch_ind = current_roi[0];
+
+ // Do not use rounding; this implementation detail is critical
+ // ROIAlignRotated supports align == true, i.e., continuous coordinate
+ // by default, thus the 0.5 offset
+ T offset = (T)0.5;
+ T roi_center_w = current_roi[1] * spatial_scale - offset;
+ T roi_center_h = current_roi[2] * spatial_scale - offset;
+ T roi_width = current_roi[3] * spatial_scale;
+ T roi_height = current_roi[4] * spatial_scale;
+ T theta = current_roi[5] * M_PI / 180.0;
+ T cos_theta = cos(theta);
+ T sin_theta = sin(theta);
+
+ T bin_size_h = static_cast(roi_height) / static_cast(pooled_height);
+ T bin_size_w = static_cast(roi_width) / static_cast(pooled_width);
+
+ T* offset_bottom_diff =
+ bottom_diff + (roi_batch_ind * channels + c) * height * width;
+
+ int top_offset = (n * channels + c) * pooled_height * pooled_width;
+ const T* offset_top_diff = top_diff + top_offset;
+ const T top_diff_this_bin = offset_top_diff[ph * pooled_width + pw];
+
+ // We use roi_bin_grid to sample the grid and mimic integral
+ int roi_bin_grid_h = (sampling_ratio > 0)
+ ? sampling_ratio
+ : ceil(roi_height / pooled_height); // e.g., = 2
+ int roi_bin_grid_w =
+ (sampling_ratio > 0) ? sampling_ratio : ceil(roi_width / pooled_width);
+
+ // roi_start_h and roi_start_w are computed wrt the center of RoI (x, y).
+ // Appropriate translation needs to be applied after.
+ T roi_start_h = -roi_height / 2.0;
+ T roi_start_w = -roi_width / 2.0;
+
+ // We do average (integral) pooling inside a bin
+ const T count = roi_bin_grid_h * roi_bin_grid_w; // e.g. = 4
+
+ for (int iy = 0; iy < roi_bin_grid_h; iy++) // e.g., iy = 0, 1
+ {
+ const T yy = roi_start_h + ph * bin_size_h +
+ static_cast(iy + .5f) * bin_size_h /
+ static_cast(roi_bin_grid_h); // e.g., 0.5, 1.5
+ for (int ix = 0; ix < roi_bin_grid_w; ix++) {
+ const T xx = roi_start_w + pw * bin_size_w +
+ static_cast(ix + .5f) * bin_size_w /
+ static_cast(roi_bin_grid_w);
+
+ // Rotate by theta around the center and translate
+ T y = yy * cos_theta - xx * sin_theta + roi_center_h;
+ T x = yy * sin_theta + xx * cos_theta + roi_center_w;
+
+ T w1, w2, w3, w4;
+ int x_low, x_high, y_low, y_high;
+
+ bilinear_interpolate_gradient(
+ height, width, y, x, w1, w2, w3, w4, x_low, x_high, y_low, y_high);
+
+ T g1 = top_diff_this_bin * w1 / count;
+ T g2 = top_diff_this_bin * w2 / count;
+ T g3 = top_diff_this_bin * w3 / count;
+ T g4 = top_diff_this_bin * w4 / count;
+
+ if (x_low >= 0 && x_high >= 0 && y_low >= 0 && y_high >= 0) {
+ atomicAdd(
+ offset_bottom_diff + y_low * width + x_low, static_cast(g1));
+ atomicAdd(
+ offset_bottom_diff + y_low * width + x_high, static_cast(g2));
+ atomicAdd(
+ offset_bottom_diff + y_high * width + x_low, static_cast(g3));
+ atomicAdd(
+ offset_bottom_diff + y_high * width + x_high, static_cast(g4));
+ } // if
+ } // ix
+ } // iy
+ } // CUDA_1D_KERNEL_LOOP
+} // RoIAlignRotatedBackward
+
+at::Tensor ROIAlignRotated_forward_cuda(
+ const at::Tensor& input,
+ const at::Tensor& rois,
+ const float spatial_scale,
+ const int pooled_height,
+ const int pooled_width,
+ const int sampling_ratio) {
+ AT_ASSERTM(input.device().is_cuda(), "input must be a CUDA tensor");
+ AT_ASSERTM(rois.device().is_cuda(), "rois must be a CUDA tensor");
+ at::TensorArg input_t{input, "input", 1}, rois_t{rois, "rois", 2};
+
+ at::CheckedFrom c = "ROIAlignRotated_forward_cuda";
+ at::checkAllSameGPU(c, {input_t, rois_t});
+ at::checkAllSameType(c, {input_t, rois_t});
+ at::cuda::CUDAGuard device_guard(input.device());
+
+ auto num_rois = rois.size(0);
+ auto channels = input.size(1);
+ auto height = input.size(2);
+ auto width = input.size(3);
+
+ auto output = at::empty(
+ {num_rois, channels, pooled_height, pooled_width}, input.options());
+ auto output_size = num_rois * pooled_height * pooled_width * channels;
+ cudaStream_t stream = at::cuda::getCurrentCUDAStream();
+
+ dim3 grid(std::min(
+ at::cuda::ATenCeilDiv(
+ static_cast(output_size), static_cast(512)),
+ static_cast(4096)));
+ dim3 block(512);
+
+ if (output.numel() == 0) {
+ AT_CUDA_CHECK(cudaGetLastError());
+ return output;
+ }
+
+ auto input_ = input.contiguous(), rois_ = rois.contiguous();
+ AT_DISPATCH_FLOATING_TYPES(
+ input.scalar_type(), "ROIAlignRotated_forward", [&] {
+ RoIAlignRotatedForward<<>>(
+ output_size,
+ input_.data_ptr(),
+ spatial_scale,
+ channels,
+ height,
+ width,
+ pooled_height,
+ pooled_width,
+ sampling_ratio,
+ rois_.data_ptr(),
+ output.data_ptr());
+ });
+ cudaDeviceSynchronize();
+ AT_CUDA_CHECK(cudaGetLastError());
+ return output;
+}
+
+// TODO remove the dependency on input and use instead its sizes -> save memory
+at::Tensor ROIAlignRotated_backward_cuda(
+ const at::Tensor& grad,
+ const at::Tensor& rois,
+ const float spatial_scale,
+ const int pooled_height,
+ const int pooled_width,
+ const int batch_size,
+ const int channels,
+ const int height,
+ const int width,
+ const int sampling_ratio) {
+ AT_ASSERTM(grad.device().is_cuda(), "grad must be a CUDA tensor");
+ AT_ASSERTM(rois.device().is_cuda(), "rois must be a CUDA tensor");
+
+ at::TensorArg grad_t{grad, "grad", 1}, rois_t{rois, "rois", 2};
+ at::CheckedFrom c = "ROIAlign_backward_cuda";
+ at::checkAllSameGPU(c, {grad_t, rois_t});
+ at::checkAllSameType(c, {grad_t, rois_t});
+ at::cuda::CUDAGuard device_guard(grad.device());
+
+ auto num_rois = rois.size(0);
+ auto grad_input =
+ at::zeros({batch_size, channels, height, width}, grad.options());
+
+ cudaStream_t stream = at::cuda::getCurrentCUDAStream();
+
+ dim3 grid(std::min(
+ at::cuda::ATenCeilDiv(
+ static_cast(grad.numel()), static_cast(512)),
+ static_cast(4096)));
+ dim3 block(512);
+
+ // handle possibly empty gradients
+ if (grad.numel() == 0) {
+ AT_CUDA_CHECK(cudaGetLastError());
+ return grad_input;
+ }
+
+ auto grad_ = grad.contiguous(), rois_ = rois.contiguous();
+ AT_DISPATCH_FLOATING_TYPES(
+ grad.scalar_type(), "ROIAlignRotated_backward", [&] {
+ RoIAlignRotatedBackwardFeature<<>>(
+ grad.numel(),
+ grad_.data_ptr(),
+ num_rois,
+ spatial_scale,
+ channels,
+ height,
+ width,
+ pooled_height,
+ pooled_width,
+ sampling_ratio,
+ grad_input.data_ptr(),
+ rois_.data_ptr());
+ });
+ AT_CUDA_CHECK(cudaGetLastError());
+ return grad_input;
+}
+
+} // namespace detectron2
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/layers/csrc/box_iou_rotated/box_iou_rotated.h b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/layers/csrc/box_iou_rotated/box_iou_rotated.h
new file mode 100644
index 0000000000000000000000000000000000000000..3bf383b8ed9b358b5313d433a9682c294dfb77e4
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/layers/csrc/box_iou_rotated/box_iou_rotated.h
@@ -0,0 +1,35 @@
+// Copyright (c) Facebook, Inc. and its affiliates.
+#pragma once
+#include
+
+namespace detectron2 {
+
+at::Tensor box_iou_rotated_cpu(
+ const at::Tensor& boxes1,
+ const at::Tensor& boxes2);
+
+#if defined(WITH_CUDA) || defined(WITH_HIP)
+at::Tensor box_iou_rotated_cuda(
+ const at::Tensor& boxes1,
+ const at::Tensor& boxes2);
+#endif
+
+// Interface for Python
+// inline is needed to prevent multiple function definitions when this header is
+// included by different cpps
+inline at::Tensor box_iou_rotated(
+ const at::Tensor& boxes1,
+ const at::Tensor& boxes2) {
+ assert(boxes1.device().is_cuda() == boxes2.device().is_cuda());
+ if (boxes1.device().is_cuda()) {
+#if defined(WITH_CUDA) || defined(WITH_HIP)
+ return box_iou_rotated_cuda(boxes1.contiguous(), boxes2.contiguous());
+#else
+ AT_ERROR("Detectron2 is not compiled with GPU support!");
+#endif
+ }
+
+ return box_iou_rotated_cpu(boxes1.contiguous(), boxes2.contiguous());
+}
+
+} // namespace detectron2
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/layers/csrc/box_iou_rotated/box_iou_rotated_cpu.cpp b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/layers/csrc/box_iou_rotated/box_iou_rotated_cpu.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..c843487b5fa4e8077dd27402ec99009266ddda8d
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/layers/csrc/box_iou_rotated/box_iou_rotated_cpu.cpp
@@ -0,0 +1,39 @@
+// Copyright (c) Facebook, Inc. and its affiliates.
+#include "box_iou_rotated.h"
+#include "box_iou_rotated_utils.h"
+
+namespace detectron2 {
+
+template
+void box_iou_rotated_cpu_kernel(
+ const at::Tensor& boxes1,
+ const at::Tensor& boxes2,
+ at::Tensor& ious) {
+ auto num_boxes1 = boxes1.size(0);
+ auto num_boxes2 = boxes2.size(0);
+
+ for (int i = 0; i < num_boxes1; i++) {
+ for (int j = 0; j < num_boxes2; j++) {
+ ious[i * num_boxes2 + j] = single_box_iou_rotated(
+ boxes1[i].data_ptr(), boxes2[j].data_ptr());
+ }
+ }
+}
+
+at::Tensor box_iou_rotated_cpu(
+ // input must be contiguous:
+ const at::Tensor& boxes1,
+ const at::Tensor& boxes2) {
+ auto num_boxes1 = boxes1.size(0);
+ auto num_boxes2 = boxes2.size(0);
+ at::Tensor ious =
+ at::empty({num_boxes1 * num_boxes2}, boxes1.options().dtype(at::kFloat));
+
+ box_iou_rotated_cpu_kernel(boxes1, boxes2, ious);
+
+ // reshape from 1d array to 2d array
+ auto shape = std::vector{num_boxes1, num_boxes2};
+ return ious.reshape(shape);
+}
+
+} // namespace detectron2
diff --git a/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/layers/csrc/box_iou_rotated/box_iou_rotated_cuda.cu b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/layers/csrc/box_iou_rotated/box_iou_rotated_cuda.cu
new file mode 100644
index 0000000000000000000000000000000000000000..952710e53041187907fbd113f8d0d0fa24134a86
--- /dev/null
+++ b/AiAF/Backup-SD-Extensions-Folder/sd-webui-controlnet/annotator/oneformer/detectron2/layers/csrc/box_iou_rotated/box_iou_rotated_cuda.cu
@@ -0,0 +1,130 @@
+// Copyright (c) Facebook, Inc. and its affiliates.
+#include
+#include
+#include
+#include
+#include "box_iou_rotated_utils.h"
+
+namespace detectron2 {
+
+// 2D block with 32 * 16 = 512 threads per block
+const int BLOCK_DIM_X = 32;
+const int BLOCK_DIM_Y = 16;
+
+template
+__global__ void box_iou_rotated_cuda_kernel(
+ const int n_boxes1,
+ const int n_boxes2,
+ const T* dev_boxes1,
+ const T* dev_boxes2,
+ T* dev_ious) {
+ const int row_start = blockIdx.x * blockDim.x;
+ const int col_start = blockIdx.y * blockDim.y;
+
+ const int row_size = min(n_boxes1 - row_start, blockDim.x);
+ const int col_size = min(n_boxes2 - col_start, blockDim.y);
+
+ __shared__ float block_boxes1[BLOCK_DIM_X * 5];
+ __shared__ float block_boxes2[BLOCK_DIM_Y * 5];
+
+ // It's safe to copy using threadIdx.x since BLOCK_DIM_X >= BLOCK_DIM_Y
+ if (threadIdx.x < row_size && threadIdx.y == 0) {
+ block_boxes1[threadIdx.x * 5 + 0] =
+ dev_boxes1[(row_start + threadIdx.x) * 5 + 0];
+ block_boxes1[threadIdx.x * 5 + 1] =
+ dev_boxes1[(row_start + threadIdx.x) * 5 + 1];
+ block_boxes1[threadIdx.x * 5 + 2] =
+ dev_boxes1[(row_start + threadIdx.x) * 5 + 2];
+ block_boxes1[threadIdx.x * 5 + 3] =
+ dev_boxes1[(row_start + threadIdx.x) * 5 + 3];
+ block_boxes1[threadIdx.x * 5 + 4] =
+ dev_boxes1[(row_start + threadIdx.x) * 5 + 4];
+ }
+
+ if (threadIdx.x < col_size && threadIdx.y == 0) {
+ block_boxes2[threadIdx.x * 5 + 0] =
+ dev_boxes2[(col_start + threadIdx.x) * 5 + 0];
+ block_boxes2[threadIdx.x * 5 + 1] =
+ dev_boxes2[(col_start + threadIdx.x) * 5 + 1];
+ block_boxes2[threadIdx.x * 5 + 2] =
+ dev_boxes2[(col_start + threadIdx.x) * 5 + 2];
+ block_boxes2[threadIdx.x * 5 + 3] =
+ dev_boxes2[(col_start + threadIdx.x) * 5 + 3];
+ block_boxes2[threadIdx.x * 5 + 4] =
+ dev_boxes2[(col_start + threadIdx.x) * 5 + 4];
+ }
+ __syncthreads();
+
+ if (threadIdx.x < row_size && threadIdx.y < col_size) {
+ int offset = (row_start + threadIdx.x) * n_boxes2 + col_start + threadIdx.y;
+ dev_ious[offset] = single_box_iou_rotated(
+ block_boxes1 + threadIdx.x * 5, block_boxes2 + threadIdx.y * 5);
+ }
+}
+
+at::Tensor box_iou_rotated_cuda(
+ // input must be contiguous
+ const at::Tensor& boxes1,
+ const at::Tensor& boxes2) {
+ using scalar_t = float;
+ AT_ASSERTM(
+ boxes1.scalar_type() == at::kFloat, "boxes1 must be a float tensor");
+ AT_ASSERTM(
+ boxes2.scalar_type() == at::kFloat, "boxes2 must be a float tensor");
+ AT_ASSERTM(boxes1.is_cuda(), "boxes1 must be a CUDA tensor");
+ AT_ASSERTM(boxes2.is_cuda(), "boxes2 must be a CUDA tensor");
+ at::cuda::CUDAGuard device_guard(boxes1.device());
+
+ auto num_boxes1 = boxes1.size(0);
+ auto num_boxes2 = boxes2.size(0);
+
+ at::Tensor ious =
+ at::empty({num_boxes1 * num_boxes2}, boxes1.options().dtype(at::kFloat));
+
+ bool transpose = false;
+ if (num_boxes1 > 0 && num_boxes2 > 0) {
+ scalar_t *data1 = boxes1.data_ptr(),
+ *data2 = boxes2.data_ptr